<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>TinyMCE</name>
	<version>3.1.3</version>
  <mincmsversion>2.1.1</mincmsversion>
	<help><![CDATA[CjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD4KCVRoaXMgbW9kdWxlIGVtYmVkcyB0aGUgZnVsbCBUaW55TUNFIFdZU0lXWUcgZWRpdG9yIHZlcnNpb24gaW4gQ01TIE1hZGUgU2ltcGxlLiBJdCB3b3JrcyB3aXRoIGNvbnRlbnQgYmxvY2tzIGluIENNU01TIGNvbnRlbnQgcGFnZXMgKHdoZW4gYSBXWVNJV1lHIGhhcyBiZWVuIGFsbG93ZWQpLCBpbiBtb2R1bGUgQWRtaW4gZm9ybXMgd2hlcmUgV1lTSVdZRyBlZGl0b3JzIGFyZSBhbGxvd2VkLCBhbmQgYWxsb3dzIHJlc3RyaWN0ZWQgY2FwYWJpbGl0aWVzIGZvciBlZGl0aW5nIGh0bWwgYmxvY2tzIG9uIGZyb250ZW5kIHBhZ2VzLgo8L3A+CjxwPkluIG9yZGVyIGZvciBUaW55TUNFIHRvIGJlIHVzZWQgYXMgdGhlIFdZU0lXWUcgZWRpdG9yIGluIHRoZSBBZG1pbiBjb25zb2xlIHRoZSBUaW55TUNFIFdZU0lXWUcgRWRpdG9yIG5lZWRzIHRvIGJlIHNlbGVjdGVkIGluIHRoZSB1c2VycyBwcmVmZXJlbmNlcy4gIFBsZWFzZSBzZWxlY3QgJnF1b3Q7VGlueU1DRSZxdW90OyBpbiB0aGUgJnF1b3Q7U2VsZWN0IFdZU0lXWUcgdG8gVXNlJnF1b3Q7IG9wdGlvbiB1bmRlciAmcXVvdDtNeSBQcmVmZXJlbmNlcyAmZ3Q7Jmd0OyBVc2VyIFByZWZlcmVuY2VzJnF1b3Q7IGluIHRoZSBDTVNNUyBBZG1pbiBwYW5lbC4gIEFkZGl0aW9uYWwgb3B0aW9ucyBpbiB2YXJpb3VzIG1vZHVsZXMgb3IgaW4gY29udGVudCBwYWdlIHRlbXBsYXRlcywgYW5kIGNvbnRlbnQgcGFnZXMgdGhlbXNlbHZlcyBjYW4gY29udHJvbCB3aGV0aGVyIGEgdGV4dCBhcmVhIG9yIGEgV1lTSVdZRyBmaWVsZCBpcyBwcm92aWRlZCBpbiB2YXJpb3VzIGVkaXQgZm9ybXMuPC9wPgo8cD5Gb3IgRnJvbnRlbmQgZWRpdGluZyBjYXBhYmlsaXRpZXMgVGlueU1DRSBtdXN0IGJlIHNlbGVjdGVkIGFzIHRoZSAmcXVvdDtGcm9udGVuZCBXWVNJV1lHJnF1b3Q7IGluIHRoZSBnbG9iYWwgc2V0dGluZ3MgcGFnZSBvZiB0aGUgQ01TTVMgYWRtaW4gY29uc29sZS48L3A+Cgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgoJPGxpPkZ1bGwgbmF0aXZlIDxhIGhyZWY9Imh0dHA6Ly93d3cudGlueW1jZS5jb20iIHRhcmdldD0iX2JsYW5rIj5UaW55TUNFIGVkaXRvcjwvYT4gaXMgYXZhaWxhYmxlLjwvbGk+Cgk8bGk+Q29uZmlndXJhdGlvbiBwcm9maWxlcyBhbmQgYmFja2VuZCBncm91cHMgYXR0cmlidXRpb24uPC9saT4KCTxsaT5Mb3RzIG9mIGN1c3RvbWl6YXRpb24gb3B0aW9uczogdG9vbGJhciwgbWVudWJhciwgZXh0ZXJuYWwgbW9kdWxlcywgY3VzdG9tIHN0eWxlcywgLi4uPC9saT4KCTxsaT5Vc2VzIHRoZSBpbnRlcm5hbCBwYWdlIGxpbmtlciBmcm9tIHRoZSBNaWNyb1RpbnkgbW9kdWxlLjwvbGk+Cgk8bGk+RW1iZWRzIHRoZSBwb3dlcmZ1bCA8YSBocmVmPSJodHRwOi8vd3d3LnJlc3BvbnNpdmVmaWxlbWFuYWdlci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+UmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXI8L2E+IHRoYW5rcyB0byBpdHMgYXV0aG9yIEFsYmVydG8gUGVyaXBvbGxpLiBOb3RlOiBmb3Igc2VjdXJpdHkgcmVhc29ucywgdGhlIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHdpbGwgbm90IGJlIGF2YWlsYWJsZSB0byB0aGUgZnJvbnRlbmQgdXNlcnM8L2xpPgoJPGxpPkFiaWxpdHkgdG8gdXNlIGFuIGV4dGVybmFsIGphdmFzY3JpcHQgdGVtcGxhdGUgZmlsZSBmcm9tIHRoZSBEZXNpZ25NYW5hZ2VyIGluc3RlYWQgb2YgdGhlIHN0b2NrIEpTIGZpbGUgLSBUaGlzIHBlcm1pdHMgYSBjb21wbGV0ZSBjdXN0b21pemF0aW9uIG9mIHRoZSBpbml0IHNjcmlwdC48L2xpPgoJPGxpPkN1c3RvbWl6YWJsZSBhcHBlYXJhbmNlIGJ5IHNwZWNpZnlpbmcgYSBkZXNpZ24gdG8gdXNlIGZvciB0aGUgZWRpdG9yLjwvbGk+CjwvdWw+Cgo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4KPHVsPgoJPGxpPkluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgbW9kdWxlPC9saT4KCTxsaT48c3Ryb25nIHN0eWxlPSJjb2xvcjogcmVkIj5JbXBvcnRhbnQ6PC9zdHJvbmc+IGlmIHlvdSdyZSB1c2luZyBVUkwgUmV3cml0aW5nLCB5b3UgbXVzdCB1cGRhdGUgeW91ciAuaHRhY2Nlc3MgZmlsZSBhbmQgcmVwbGFjZToKCQk8dWw+CgkJCTxsaT48Y29kZT5SZWRpcmVjdE1hdGNoIDQwMyBeLiovbW9kdWxlcy8oLiopXC5waHA8L2NvZGU+JCZuYnNwO3dpdGg6PC9saT4KCQkJPGxpPjxjb2RlPlJlZGlyZWN0TWF0Y2ggNDAzIF4uKi9tb2R1bGVzLyg/IVRpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci8pLipcLnBocCQ8L2NvZGU+PC9saT4KCQkJPGxpPi4uLiBpbiBvcmRlciB0byBtYWtlIHRoZSBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciB3b3JrIC0gSWYgeW91IGFscmVhZHkgZGlkIHNvbWUgY2hhbmdlcyBvbiB0aGF0IGxpbmUsIHBsZWFzZSB1cGRhdGUgdGhlIHJ1bGUgYWNjb3JkaW5nbHk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPkNyZWF0ZSBhbmQgY29uZmlndXJlIHRoZSBhcHByb3ByaWF0ZSBwcm9maWxlcyBpbiA8ZW0+RXh0ZW5zaW9uczwvZW0+IC8gPGVtPlRpbnlNQ0UgV1lTSVdZRyBlZGl0b3I8L2VtPjwvbGk+Cgk8bGk+RG9uJ3QgZm9yZ2V0IHRvIGxpbmsgcHJvZmlsZXMgd2l0aCBiYWNrZW5kIHVzZXIgZ3JvdXBzIChvciBmcm9udGVuZCkgaW4gdGhlIFRpbnlNQ0UgcHJvZmlsZTwvbGk+Cgk8bGk+U2V0IFRpbnlNQ0UgYXMgeW91ciBXWVNJV1lHIGVkaXRvciBvZiBjaG9pY2UgaW4gJnF1b3Q7TXkgUHJlZmVyZW5jZXMmcXVvdDs8L2xpPgo8L3VsPgoKPHA+CglOb3RlIGFib3V0IHByb2ZpbGUgZWRpdGlvbjogdGhlIGJhY2tlbmQgdXNlciA8c3Ryb25nPm11c3QgaGF2ZTwvc3Ryb25nPiB0aGUgPGVtPk1hbmFnZSBUaW55TUNFIHByb2ZpbGVzPC9lbT4gcGVybWlzc2lvbiB0byBnZXQgdGhlIFRpbnlNQ0UgQWRtaW4gcGFnZS4KPC9wPgoKPGgzPkNhY2hpbmc6PC9oMz4KPHA+SW4gYW4gZWZmb3J0IHRvIGltcHJvdmUgcGVyZm9ybWFuY2UsIFRpbnlNQ0Ugd2lsbCBhdHRlbXB0IHRvIGNhY2hlIHRoZSBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBmaWxlcyB1bmxlc3Mgc29tZXRoaW5nIGhhcyBjaGFuZ2VkLiBTYXZpbmcgYSBwcm9maWxlIG9yIGNsZWFyaW5nIHRoZSBDTVMgTWFkZSBTaW1wbGUgY2FjaGUgd2lsbCBhbHdheXMgcmVzZXQgdGhlIEpTIGNhY2hlIGZpbGUuPC9wPgoKPGgzPk1vZHVsZSBkZXZlbG9wZXJzOiBob3cgdG8gY3JlYXRlIGEgbmV3IGJ1dHRvbiBmb3IgbXkgbW9kdWxlIGluIFRpbnlNQ0U/PC9oMz4KPHA+CglZb3UgbXVzdCBhZGQgdGhyZWUgZnVuY3Rpb25zIHRvIHlvdXIgbWFpbiBtb2R1bGUgY2xhc3MgLSBFeGFtcGxlIGZvciB0aGUgR2FsbGVyeSBtb2R1bGU6CjwvcD4KCjxjb2RlPjxwcmU+CglmdW5jdGlvbiBIYXNDYXBhYmlsaXR5KCYjMzY7Y2FwYWJpbGl0eSwgJiMzNjtwYXJhbXM9YXJyYXkoKSkgewoJCWlmICgmIzM2O2NhcGFiaWxpdHk9PSdXWVNJV1lHSXRlbXMnKSByZXR1cm4gdHJ1ZTsKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJZnVuY3Rpb24gR2V0V1lTSVdZR0J0bk5hbWUoKQoJewoJCXJldHVybiAnbW9kdWxlX2dhbGxlcnknOwoJfQoKCWZ1bmN0aW9uIEdldFdZU0lXWUdCdG4oJiMzNjt3eXNpd3lnX21vZHVsZSkKCXsKCQkvLyBURVNUIEFSUkFZIEVYQU1QTEUKCQkmIzM2O2l0ZW1zID0gYXJyYXkoCgkJCWFycmF5KAoJCQkJJ21lbnVfdGV4dCcgPT4gJ0dhbGxlcnkgMScsCgkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nZGlyMSd9IiwgLy8gRW1wdHkgPSBubyBhY3Rpb24gb24gY2xpY2sKCQkJCSdjaGlsZHJlbicgPT4gYXJyYXkoCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDEuMScsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIxMSd9IgoJCQkJCQknY2hpbGRyZW4nID0+IGFycmF5KCkgLy8gWW91IGNhbiBoYXZlIGFzIG1hbnkgc3VibGV2ZWxzIGFzIHlvdSBuZWVkCgkJCQkJKSwKCQkJCQlhcnJheSgKCQkJCQkJJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMS4yJywKCQkJCQkJJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjEyJ30iCgkJCQkJKSwKCQkJCQlhcnJheSgKCQkJCQkJJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMS4zJywKCQkJCQkJJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjEzJ30iCgkJCQkJKQoJCQkJKQoJCQkpLAoJCQlhcnJheSgKCQkJCSdtZW51X3RleHQnID0+ICdHYWxsZXJ5IDInLAoJCQkJJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J2RpcjInfSIsIC8vIEVtcHR5ID0gbm8gYWN0aW9uIG9uIGNsaWNrCgkJCQknY2hpbGRyZW4nID0+IGFycmF5KAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAyLjEnLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMjEnfSIKCQkJCQkpLAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAyLjInLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMjInfSIKCQkJCQkpLAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAyLjMnLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMjMnfSIKCQkJCQkpCgkJCQkpCgkJCSkKCQkpOwoKCQkvLyBCVUlMRCBUSEUgQlVUVE9OIE9CSkVDVCBVU0VEIEJZIFRIRSBUaW55TUNFIE1PRFVMRQoJCWlmICgmIzM2O3d5c2l3eWdfbW9kdWxlID09ICdUaW55TUNFJykKCQl7CgkJCSYjMzY7b2JqID0gbmV3IHRpbnltY2VfbW9kdWxlbWVudTsKCQkJJiMzNjtvYmotPm1vZHVsZV9uYW1lID0gJiMzNjt0aGlzLT5HZXROYW1lKCk7CgkJCSYjMzY7b2JqLT5idXR0b25fbmFtZSA9ICYjMzY7dGhpcy0+R2V0V1lTSVdZR0J0bk5hbWUoKTsKCQkJJiMzNjtvYmotPnRpdGxlID0gJiMzNjt0aGlzLT5MYW5nKCd0aW55bWNlX2J1dHRvbl9waWNrZXInKTsKCQkJJiMzNjtvYmotPnRvb2x0aXAgPSAmIzM2O3RoaXMtPkxhbmcoJ3RpbnltY2VfZGVzY3JpcHRpb25fcGlja2VyJyk7CgkJCSYjMzY7b2JqLT5pY29uID0gJ2ltYWdlJzsKCQkJJiMzNjtvYmotPmltYWdlID0gJiMzNjt0aGlzLT5HZXRNb2R1bGVVUkxQYXRoKCkgLiAnL2ltYWdlcy9pY29uLmdpZic7CgkJCSYjMzY7b2JqLT5tZW51X2VudHJpZXMgPSAmIzM2O2l0ZW1zOwoJCQkmIzM2O29iai0+bWVudV9zZWN0aW9uID0gJ2luc2VydCc7CgoJCQlyZXR1cm4gJiMzNjtvYmo7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KPC9wcmU+PC9jb2RlPgoKPHA+CglUaGUgPHN0cm9uZz5HZXRXWVNJV1lHQnRuKCk8L3N0cm9uZz4gZnVuY3Rpb24gbXVzdCByZXR1cm4gYSA8c3Ryb25nPnRpbnltY2VfbW9kdWxlbWVudTwvc3Ryb25nPiBvYmplY3Qgd2l0aCBhbiBhcnJheSA8ZW0+bWVudV9lbnRyaWVzPC9lbT4gcHJvcGVydHkuCjwvcD4KPGJyPgoKPGgzPkxpY2Vuc2UgaW5mb3JtYXRpb25zPC9oMz4KPHA+VGhpcyBtb2R1bGUgaXMgZnJlZSBzb2Z0d2FyZSAtIHlvdSBjYW4gdXNlIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgMiBvciBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPjxzdHJvbmc+SG93ZXZlcjwvc3Ryb25nPiwgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5SZXNwb25zaXZlIEZpbGVNYW5hZ2VyPC9hPiBpcyBsaWNlbnNlZCB1bmRlciBhIDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLzMuMC8iIHRhcmdldD0iX2JsYW5rIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwgMy4wIFVucG9ydGVkIExpY2Vuc2U8L2E+LiBUaGUgVGlueU1DRSBtb2R1bGUgaW5jbHVkZXMgaXQgPHN0cm9uZz53aXRoIHRoZSBwZXJtaXNzaW9uIGZyb20gQWxiZXJ0byBQZXJpcG9sbGk8L3N0cm9uZz4gZ2l2ZW4gb24gMjAxNi0wMS0xOS4gVGhhbmsgeW91IEFsYmVydG8hIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5JZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoYXQgcHJvamVjdCwgcGxlYXNlIGNoZWNrIHRoaXMgcGFnZSBhbmQgbWFrZSBhIGZyZWUgZG9uYXRpb24uPC9hPjwvcD4KCjxoMz5IZWxwIGFuZCBzdXBwb3J0PC9oMz4KPHA+V2UgdHJpZWQgdG8gZXhwbGFpbiBlYWNoIGNvbmZpZ3VyYXRpb24gb3B0aW9uIG9uIHRoZSBwcm9maWxlIGVkaXRpb24gQWRtaW4gcGFnZS4gUGxlYXNlIHVzZSB0aGUgIj8iIGJ1dHRvbnMgbmVhciBlYWNoIG9wdGlvbiB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbnMuPC9wPgoKPGgzPkJ1ZyByZXBvcnQgb3IgZmVhdHVyZSByZXF1ZXN0PC9oMz4KPHA+CglDaGVja291dCB0aGUgQ01TIE1hZGUgU2ltcGxlIGZvcmdlOiA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3RpbnltY2UiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3RpbnltY2U8L2E+CjwvcD4KCjxoMz5BdXRob3JzPC9oMz4KPHVsPgoJPGxpPk1vcnRlbiBQb3Vsc2VuOiA8YSBocmVmPSJtYWlsdG86bW9ydGVuQHBvdWxzZW4ub3JnIj5tb3J0ZW5AcG91bHNlbi5vcmc8L2E+PC9saT4KCTxsaT5Sb2xmIFRqYXNzZW5zOiA8YSBocmVmPSJtYWlsdG86cm9sZkBjbXNtYWRlc2ltcGxlLm9yZyI+cm9sZkBjbXNtYWRlc2ltcGxlLm9yZzwvYT48L2xpPgoJPGxpPk1hdGhpZXUgTXV0aHM6IDxhIGhyZWY9Im1haWx0bzpjb250YWN0QGFpcmVsaWJyZS5mciI+Y29udGFjdEBhaXJlbGlicmUuZnI8L2E+PC9saT4KPC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBNb3J0ZW4gUG91bHNlbiAoc2lsbWFyaWxsaW9uKSwgUm9sZiBUamFzc2VucyAocm9sZiksIE1hdGhpZXUgTXV0aHMgKGFpcmVsaWJyZSkgJmx0O2NvbnRhY3RAYWlyZWxpYnJlLmZyJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDMuMS4zPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PGgzPlZlcnNpb25zIGZvciBDTVMgTWFkZSBTaW1wbGUgMi4qIHdpdGggVGlueU1DRSA0KzwvaDM+Cjx1bD4KICA8bGk+CiAgICA8cD4KICAgICAgPHN0cm9uZz5WZXJzaW9uIDMuMS4zPC9zdHJvbmc+CiAgICA8L3A+CiAgICA8dWw+CiAgICAgIDxsaT5GaXhlZCBzb21lIGJ1Z3MgYW5kIHNlY3VyaXR5IGlzc3VlczwvbGk+CiAgICAgIDxsaT5GaXhlZCBidWcgMTEwMDUgOiBUaW55TUNFIGphdmFzY3JpcHQgZmlsZSBpcyByZWdlbmVyYXRlZCB3aGVuIGEgc3R5bHNoZWV0IGhhcyBiZWVuIHVwZGF0ZWQ8L2xpPgogICAgICA8bGk+VXBkYXRlZCBUaW55TUNFIHRvIDQuMy4xMTwvbGk+CiAgICAgIDxsaT5VcGRhdGVkIFJlc3BvbnNpdmVGaWxlTWFuYWdlciB0byB2ZXJzaW9uIDkuMTAuMTwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDMuMS4yPC9zdHJvbmc+PC9wPgogICAgPHVsPgogICAgICA8bGk+SW1wcm92ZWQgUmVzcG9uc2l2ZSBmaWxlIG1hbmFnZXIgY29uZmlndXJhdGlvbiBvbiBzdWJkaXIgaW5zdGFsbHMgKHRoYW5rcyB0byBBbGJlcnRvIFBlcmlwb2xsaSkuIEF2aWFyeSBzaG91bGQgbm93IHdvcmsgb24gbG9jYWxob3N0IGluc3RhbGxzLjwvbGk+CiAgICAgIDxsaT5Db3JyZWN0ZWQgY2hhbmdlbG9nIHZlcnNpb25zIGVycm9yPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMy4xLjE8L3N0cm9uZz48L3A+CiAgICA8dWw+CiAgICAgIDxsaT5CdWcgZml4IHJlZ2FyZGluZyB0byBBdmlhcnkgd2hlbiBDTVMgTWFkZSBTaW1wbGUgaXMgaW5zdGFsbGVkIGluIGEgc3ViZGlyPC9saT4KICAgICAgPGxpPlVwZ3JhZGVkIHRvIFRpbnlNQ0UgNC4zLjQ8L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAzLjE8L3N0cm9uZz48L3A+CiAgICA8dWw+CiAgICAgIDxsaT5VcGdyYWRlZCB0byBUaW55TUNFIDQuMy4zPC9saT4KICAgICAgPGxpPkFkZCBhbiBvcHRpb24gdG8gdXNlIHJlbGF0aXZlIG9yIGFic29sdXRlIFVSTHMgZm9yIGltYWdlcyBvciBsaW5rczwvbGk+CiAgICAgIDxsaT5BZGQgYW4gb3B0aW9uIHRvIHVzZSB0aGUgaW1hZ2UgYWR2YW5jZWQgdGFiIGZvciBzdHlsZSwgYm9yZGVyIG9yIHNwYWNpbmcuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMy4wPC9zdHJvbmc+PC9wPgogICAgPHA+Q29tcGxldGUgcmV3cml0ZSBmb3IgQ01TIE1hZGUgU2ltcGxlIDIuMSBhbmQgdGhlIG5ldyBUaW55TUNFIHZlcnNpb24gNDwvcD4KICAgIDxwPlBsZWFzZSBub3RlIHRoYXQgPHN0cm9uZyBzdHlsZT0iY29sb3I6ICNlMDAiPnRoZSB1cGdyYWRlIHNjcmlwdCB3aWxsIHRyeSB0byBrZWVwIHNvbWUgb2YgeW91ciBwcmV2aW91cyBUaW55TUNFIHByZWZlcmVuY2VzLCBidXQgd2lsbCByZW1vdmUgc29tZSBvdGhlcnM8L3N0cm9uZz4uIDxzdHJvbmcgc3R5bGU9ImNvbG9yOiAjZTAwIj5Zb3UgTVVTVCBjb25maWd1cmUgdGhlIGVkaXRvciBwcm9maWxlcyByaWdodCBhZnRlciB0aGUgdXBncmFkZSBhbmQgbWFrZSBzb21lIHVzZXIgdGVzdHM8L3N0cm9uZz4uPC9wPgogICAgPHA+UGxlYXNlIGJhY2t1cCB5b3VyIGZpbGVzIGFuZCBkYXRhYmFzZSBiZWZvcmUgdXBncmFkaW5nLjwvcD4KCiAgICA8aDM+V2hhdCBkaWQgY2hhbmdlPzwvaDM+CiAgICA8cD4KICAgICAgRXZlcnl0aGluZy4uLiB3ZSBkaWQgd3JpdGUgdGhhdCBuZXcgdmVyc2lvbiBmcm9tIHNjcmF0Y2guIFdoYXQgeW91J2xsIGZpbmQgaW5zaWRlOgogICAgICA8dWw+CiAgICAgICAgPGxpPlByb2ZpbGUgbWFuYWdlbWVudDogY3JlYXRlIGFzIG11Y2ggcHJvZmlsZXMgYXMgeW91IHdhbnQsIGFuZCBsaW5rIHRoZW0gdG8geW91IHVzZXJzIGdyb3VwcyBhbmQvb3IgdG8gZnJvbnRlbmQgdXNlcnM8L2xpPgogICAgICAgIDxsaT5Mb3RzIG9mIGN1c3RvbWl6YXRpb24gb3B0aW9uczogdG9vbGJhciwgbWVudWJhciwgZXh0ZXJuYWwgbW9kdWxlcywgY3VzdG9tIHN0eWxlcywgLi4uPC9saT4KICAgICAgICA8bGk+VXNlcyB0aGUgaW50ZXJuYWwgcGFnZSBsaW5rZXIgZnJvbSB0aGUgTWljcm9UaW55IG1vZHVsZS48L2xpPgogICAgICAgIDxsaT5FbWJlZHMgdGhlIHBvd2VyZnVsIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5SZXNwb25zaXZlIEZpbGUgTWFuYWdlcjwvYT4gdGhhbmtzIHRvIGl0cyBhdXRob3IgQWxiZXJ0byBQZXJpcG9sbGkuIE5vdGU6IGZvciBzZWN1cml0eSByZWFzb25zLCB0aGUgUmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXIgd2lsbCBub3QgYmUgYXZhaWxhYmxlIHRvIHRoZSBmcm9udGVuZCB1c2VyczwvbGk+CiAgICAgICAgPGxpPkFiaWxpdHkgdG8gdXNlIGFuIGV4dGVybmFsIGphdmFzY3JpcHQgdGVtcGxhdGUgZmlsZSBmcm9tIHRoZSBEZXNpZ25NYW5hZ2VyIGluc3RlYWQgb2YgdGhlIHN0b2NrIEpTIGZpbGUgLSBUaGlzIHBlcm1pdHMgYSBjb21wbGV0ZSBjdXN0b21pemF0aW9uIG9mIHRoZSBpbml0IHNjcmlwdC48L2xpPgogICAgICAgIDxsaT5DdXN0b21pemFibGUgYXBwZWFyYW5jZSBieSBzcGVjaWZ5aW5nIGEgQ1NTIGRlc2lnbiB0byB1c2UgZm9yIHRoZSBlZGl0b3IuPC9saT4KICAgICAgPC91bD4KICAgIDwvcD4KICAgIDxwPgogICAgICBIb3BlIHlvdSdsbCBlbmpveSBpdCA6KQogICAgPC9wPgoKICAgIDxwPgogICAgICBXZSBuZWVkIGhlbHAgdG8gdGVzdCB0aGUgbW9kdWxlIGFuZCBpbXByb3ZlIGl0LiBQbGVhc2UgZ2l2ZSB1cyBmZWVkYmFjayB0aHJvdWdoIHRoZSBDTVNNUyBidWcgcmVwb3J0IHN5c3RlbSAoPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTI8L2E+KQogICAgPC9wPgogICAgPHA+CiAgICAgIER1cmluZyB0aGUgdXBncmFkZSBwcm9jZXNzLCB0aGUgbW9kdWxlIHdpbGwgcmVtb3ZlIHlvdXIgb2xkIFRpbnlNQ0Ugb3B0aW9ucy9jb25maWd1cmF0aW9ucy4gUGxlYXNlIGtlZXAgYSBiYWNrdXAgaWYgeW91IG5lZWQgdG8gY2hlY2sgeW91ciBvbGQgY29uZmlndXJhdGlvbiBsYXRlci4KICAgIDwvcD4KICAgIDxwPgogICAgICBXZSB3aWxsIG5vdCBiZSByZXNwb25zaWJsZSBvZiBhbnkgZGF0YSBsb3NzLiBQbGVhc2UgYWx3YXlzIGRvIGJhY2t1cCB5b3VyIG9sZCBmaWxlcyBiZWZvcmUgdXBncmFkaW5nLgogICAgPC9wPgoKICA8L2xpPgo8L3VsPgo8YnI+PGJyPgoKPGhyPgo8aDM+T2xkZXIgdmVyc2lvbnMgZm9yIENNUyBNYWRlIFNpbXBsZSAxLiogc2VyaWVzPC9oMz4KPHVsPgo8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjEyPC9zdHJvbmc+PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNS44PC9wPgo8L2xpPgo8bGk+Cgk8cD48c3Ryb25nPlZlcnNpb24gMi45LjExPC9zdHJvbmc+PC9wPgoJPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNS42PC9wPgoJPHA+UmVzdG9yZWQgdGhlIE5ld2xpbmUtc3R5bGUgb3B0aW9uICZsdDtwJmd0OyBvciAmbHQ7YnImZ3Q7PC9wPgo8L2xpPgo8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjEwLjE8L3N0cm9uZz48L3A+CiAgICA8cD5GaXhlZCBzdHVwaWQgY29uZmlnLWVycm9yczwvcD4KPC9saT4KPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4xMDwvc3Ryb25nPjwvcD4KICAgIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjUuNTwvcD4KICAgIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjUuNC4xIChmaXhpbmcgc2hpZnQtQSk8L3A+CiAgICA8cD5SZW1vdmVkIGNvZGUgcmVsYXRlZCB0byB0aGUgb2Jzb2xldGUgZm9yY2VfcC9icl9uZXdsaW5lczwvcD4KICAgIDxwPkFkZGVkIGFuIG9wdGlvbiB0byB1c2UgdGhlIGh0bWw1IHNjaGVtZTwvcD4KPC9saT4KPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS45PC9zdHJvbmc+PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNS40PC9wPgogICAgPHA+PC9wPgogICAgPHA+PC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS44PC9zdHJvbmc+PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjQuOTwvcD4KICA8cD5NYWRlIGZpbGVwaWNrZXIgd29yayB3aXRoIGRvdHMgaW4gdGhlIG5hbWUsIGZpeGVzICM3NzUyLCB0aGFua3MhPC9wPgogIDxwPlN0cmlwcyBvZmYgc29tZSBwaHAgcHV0IGludG8gdGhlIHN0eWxlc2hlZXQgYnkgc21hcnR5LCBiYWQgc21hcnR5ISAjNzYzNjwvcD4KICA8cD5GaXhlZCBzb20gbm90aWNlczwvcD4KCjwvbGk+CjxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuNzwvc3Ryb25nPjwvcD4KICAgIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjQuODwvcD4KPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjY8L3N0cm9uZz48L3A+CiAgICA8cD5CdWdyZXBvcnQgIzc0MjUgLSBTbWFydHkgZXJyb3JzIGluICZxdW90ZTtBYm91dCB0aGUgVGlueU1DRSBtb2R1bGUmcXVvdGU7PC9wPgogICAgPHA+Rml4ZWQgRmlsZVBpY2tlci1idWdzLi4uIHdlbGNvbWUgYmFjayB0byBhIHdvcmtpbmcgc3RhdGUhPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS41PC9zdHJvbmc+PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNC43PC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS40PC9zdHJvbmc+PC9wPgogICAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuNC42PC9wPgogICAgPHA+TW9yZSAxLjEwLWZpeGVzIChvbmx5IHVzYWJsZSB3aXRoIDEuMTAgb3IgbGF0ZXIgbm93KTwvcD4KICAgIDxwPlJlbW92ZWQgc3RhcnQvc3RvcEV4cGFuZC1zdHVmZiBhcyB0aGV5IGFyZSBub3QgaW4gdGhlcmUgYW55bW9yZS48L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjM8L3N0cm9uZz48L3A+CiAgICA8cD5GaXhlcyB0byAxLjEwLWNvbXBhdGliaWxpdHkgKG1vZHVsZWxpc3QgdHJhdmVyc2VsKTwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMjwvc3Ryb25nPjwvcD4KICAgIDxwPlRpbnlNQ0UgdXBkYXRlZCB0byAzLjQuNDwvcD4KICAgIDxwPjwvcD4KICAgIDxwPjwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMTwvc3Ryb25nPjwvcD4KICAgIDxwPlRpbnlNQ0UgdXBkYXRlZCB0byAzLjQuMy4yPC9wPgogICAgPHA+Rml4ZWQgdXJscyB0byBwbHVnaW4tZG9jczwvcD4KICAgIDxwPjwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMDwvc3Ryb25nPjwvcD4KICAgIDxwPlRpbnlNQ0UgdXBkYXRlZCB0byAzLjQuMjwvcD4KICAgIDxwPmNtc19zZWxmbGluay1zdHlsZSBsaW5rcyBzaG91bGQgbm93IHdvcmsgYmV0dGVyPC9wPgogICAgPHA+Rml4ZWQgYSBidWcgd2l0aCBpbWFnZXMgY29udGFpbmluZyBmb3JlaWduIGNoYXJzICgjNDU4NSkgdGhhbmtzIHRvIGN2b2d0PC9wPgogIDwvbGk+CgogIDxsaT4KCiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOC4zPC9zdHJvbmc+PC9wPgogIDxwPlJlbW92ZSBjb21tZW50cyBmcm9tIHN0dWZmIGluamVjdGVkIGludG8gaGVhZC48L3A+CiAgPHA+Rml4ZWQgYSBidWcgaW4gR2VybWFuIGxhbmcgZmlsZSBicmVha2luZyBhZHZhbmNlZCBmb3JtPC9wPgogIDxwPjwvcD4KICA8L2xpPgoKICA8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOC4yPC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIHRoZSB0cnVuY2F0aW9uIG9mIHV0ZjgtZW5jb2RlZCBtZW51dGV4dHMgaW4gY21zbGlua2VyPC9wPgogIDwvbGk+CiAgPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjguMTwvc3Ryb25nPjwvcD4KICA8cD5NaW5vciBmaXggaW4gZXhwcmVzc2lvbiB1c2VkIHRvIHRlc3QgaWYgZnJvbnRlbmQgd3lzaXd5ZyB3YXMgYWN0aXZlLjwvcD4KICA8L2xpPgogIDxsaT4KICA8cD5GaXhlZCB0aGF0IGFkbWluLXRlbXBsYXRlIHdhcyBzaG93biBhZnRlciB1c2luZyBmaWxlb3BzIGluIGZpbGVwaWNrZXI8L3A+CiAgPHA+U29tZSBmaXhlcyB0byBjbXNsaW5rZXIgZHJvcGRvd24gd2hlbiBlbnRyaWVzIGhhZCBub24tVVMgY2hhcnM8L3A+CiAgPHA+UmVpbnRyb2R1Y2VkIHN0eWxlc2hlZXQucGhwIGVudHJ5cG9pbnQgYXMgdGlueSBkb2VzIG5vdCBzdXBwb3J0IGxvYWRpbmcgZnJvbSB1cmxzIHdpdGggY29tbWFzIGluIHRoZW0uLi48L3A+CiAgPHA+UmVtb3ZlZCBzb21lIGRlYnVnZ2lub3V0cHV0IGluIGZpbGVwaWNrZXI8L3A+CiAgPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjguMDwvc3Ryb25nPjwvcD4KICA8cD5SZXdyb3RlIHRlc3QtZWRpdG9yLiBNdWNoIG5pY2VyIEkgdGhpbmsuPC9wPgogIDxwPlJlbW92ZWQgbGFzdCBub24tY21zIGVudHJ5cG9pbnQsIGZpbGVwaWNrZXI8L3A+CiAgPHA+SW1hZ2V1cGxvYWRpbmcgbm93IGhvbmVycyB0aGUgc2l0ZS10aHVtYm5haWxzaXplIHNldHRpbmc8L3A+CiAgPHA+VXBsb2FkaW4gbm9uLWltYWdlcyB3aGVuIGluIGltYWdlc2VsZWN0b3Igbm93IHdvcmtzPC9wPgogIDxwPkdlbmVyYXRpb24gdGh1bWJuYWlscyB3aGVuIHVwbG9hZGluZyBpbWFnZXMgcmlnaHQgYWZ0ZXIgaW5zdGFsbGF0aW9uIGZpeGVkPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMuOS4yPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNy40PC9zdHJvbmc+PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMuOTwvcD4KICA8cD5QcmVwYXJlZCBtb2R1bGUgZm9yIDEuOS1zZXJpZXM8L3A+CiAgPHA+R2VuZXJhbCBjb2RlLWNsZWFudXBzPC9wPgogIDxwPkFkZGVkIGFuIG9wdGlvbiB0byBhdm9pZCBUaW55J3MgbGlua2NvbnZlcnNpb24sIG1ha2VzIHNtYXJ0eSBpbiB1cmxzIHBvc3NpYmxlPC9wPgogIDxwPkFkZGVkIGFuIG9wdGlvbmFsIGFkZGl0aW9uIHRvIHRoZSBvdXRwdXQgb2YgdGhlIENNU0xpbmtlciwgYm90aCBpbiBzZWxmbGluayBvciBocmVmIG1ldGhvZDwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjcuMzwvc3Ryb25nPjwvcD4KICA8cD5Ob3cgaGFuZGxlcyB0aGUgU21hcnR5LXByb2Nlc3NlZCBmZWF0dXJlcyBvZiB0aGUgbmV3IGNtc19zdHlsZXNoZWV0LXN0eWxlIHRhZzwvcD4KICA8cD5GaXhlcyBwYXRocyB3aGVuIHVzaW5nIGludGVybmFsIHByZXR0eSB1cmxzPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNy4yPC9zdHJvbmc+PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMuODwvcD4KICA8cD5BZGRlZCBhIG1pc3NpbmcgbGFuZ3N0cmluZzwvcD4KICA8cD5NYWRlIHN0YXRpYyBjb25maWcgdGhlIGRlZmF1bHQgYW5kIG1hZGUgc3VyZSBpdCBnZXRzIHJld3JpdHRlbiBldmVyeSB0aW1lLjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjcuMTwvc3Ryb25nPjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLjUuMTwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjcuMDwvc3Ryb25nPjwvcD4KICA8cD5JbXBsZW1lbnRlZCBhIHBsdWdpbi1zeXN0ZW0sIHNvIG90aGVyIG1vZHVsZXMgY2FuIHJlZ2lzdGVyIHBsdWdpbnMgaW4gVGlueSBhbGxvd2luZyBzdHVmZiBsaWtlIHZlcnkgZWFzeSBpbnNlcnRpb24gb2YgdGFncyBldGMuPC9wPgogIDxwPkltcGxlbWVudGVkIGFuIG9wdGlvbiB0byBhbGxvdyBpbnBsYWNlIHJlc2l6aW5nIG9mIHRoZSBlZGl0b3IgZmllbGQ8L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy4zPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi42PC9zdHJvbmc+PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMuMjwvcD4KICA8cD5GaXhlcyBpbnRlcm5hbCBsaW5rZXIgc28gaXQgaG9uZXJzIHVzZV9oaWVyYXJjaHk9ZmFsc2U8L3A+CiAgPHA+Rml4ZWQgZGVmYXVsdCB2YWx1ZSBmb3IgY21zbGlua2Vyc3R5bGU8L3A+CiAgPHA+TmV3bGluZSBpbiBtZW51dGV4dCBubyBsb25nZXIgYnJlYWtzIHRpbnkgKGNvdWxkIGNvbWUgZnJvbSBwYXN0ZXMpPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi41PC9zdHJvbmc+PC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMuMTwvcD4KICA8cD5OZXcgb3B0aW9uIHRvIGFsbG93IGJhc2ljIEZNIG9wZXJhdGlvbnMgZXZlbiBpZiBNb2RpZnkgRmlsZXMgcGVybWlzc2lvbiBpcyBub3QgY2hlY2tlZDwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuNDwvc3Ryb25nPjwvcD4KICA8cD5Ob3cgbm90IGRlcGVuZGluZyBvbiBhZG1pbi10aGVtZSdzIGFjb25zIGFueW1vcmUuIFRoYW5rcyBOdW5vPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMtZmluYWw8L3A+CiAgPHA+Rml4ZWQgc3BlbGxjaGVja2VyIHdoaWNoIGJyb2tlIGluIDIuNi4zLiBTb3JyeSEgTXkgZmF1bHQuLi48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjM8L3N0cm9uZz48L3A+CiAgPHA+QWRkZWQgYW4gb3B0aW9uIHRvIGdlbmVyYXRlIGNtcy1jb21wYXRpYmxlIHRodW1ibmFpbHMgd2hlbiB1cGxvYWRpbmcgZmlsZXMgdGhvdWdoIHRoZSBmaWxlcGlja2VyLjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zcmMxPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi4yPC9zdHJvbmc+PC9wPgogIDxwPkNoYW5nZWQgdGhlIHdheSAtc3R5bGUgaW50ZXJuYWwgbGlua3Mgd2FzIHJlbmRlcmVkLiBGaXhlZCB0aGUgPGltZz4tc2l0dWF0aW9uLiBUaGFua3MgZm9yIHRoZSBzb2x1dGlvbiBDYWxndXkhPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMtYmV0YTI8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjEuMTwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCBwcmVzZW50YXRpb24gb2YgdGhlIG5ld2x5IHNhdmVkIHJlc3RyaWN0IGRpciBvcHRpb248L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjE8L3N0cm9uZz48L3A+CiAgPHA+SW1wbGVtZW50ZWQgcmVzdHJpY3RpbmcgdXNlcnMgb2YgYmFzaWMgcHJvZmlsZSB0byBhIGRpciBjYWxsZWQgYnkgdGhlaXIgdXNlcm5hbWU8L3A+CiAgPHA+UmVuYW1lZCBhIGNvdXBsZSBvZiBmaWxlcyB0byBwcm9maWxlcyBpbnN0ZWFkIG9mIHRvb2xiYXJzLiBTZWVtZWQgbW9yZSBsb2dpY2FsIG5vdy48L3A+CiAgPHA+SW1wbGVtZW50ZWQgZGVsZXRpb24gb2YgKGVtcHR5LW9ubHkpIHN1YmRpcnMgaW4gZmlsZXBpY2tlcjwvcD4KICA8cD5SZXdyb3RlIGV4dHJhY29uZmlnIGxvZ2ljIHNvIG11bHRpbGluZS1zdHVmZiBhcmUgcG9zc2libGU8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjA8L3N0cm9uZz48L3A+CiAgPHA+Tm93IGluY2x1ZGVzIHNwZWxsY2hlY2tlciBmdW5jdGlvbmFsaXR5LCB0aGFua3MgTnVubyE8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS42PC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIHRoZSBjbXNsaW5rZXJzdHlsZSBvcHRpb24sIHNvIGl0IGRvZXMgd2hhdCBpdCBzaG91bGQ8L3A+CiAgPHA+UmVlbmFibGVkIExpdGhhdW5pYW4gbGFuZ3VhZ2U8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS41IChjYWxndXkxMDAwKTwvc3Ryb25nPjwvcD4KICA8cD5Nb2RpZmllZCB0byB3b3JrIHdpdGggc2Vzc2lvbi51c2VfY29va2llcyA9IDA8L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMi43LCBidWdmaXhpbiByZWxlYXNlIChzaWxtYXJpbGxpb24pPC9wPgogIDxwPk5vdyBjaGVjayBmb3IgaWxsZWdhbCBjaGFycyBpbiBmaWxlbmFtZSB3aGVuIHVwbG9hZGluZyBmaWxlcy48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS40PC9zdHJvbmc+PC9wPgogIDxwPlJldmlzZWQgZ2xvYmFsICRjbXMsIHByZXBhcmluZyBmb3IgMS43LWFwaTwvcD4KICA8cD5GaXhlZCBidWcgZGlzYWJsaW5nIHRoZSB3eXNpd3lnIHRvZ2dsZWJveCB1cG9uIHNhdmluZyB0aGUgYmFzaWMgdG9vbGJhciBwcm9maWxlPC9wPgogIDxwPkZpeGVkIGJ1ZyB3aXRoIHRydW5jYXRlZCBtZW51dGV4dHMgd2l0aCBxdW90ZXMgaW4gdGhlbSBub3QgZ2V0dGluZyBwcm9wZXJseSBlc2NhcGVkLCBicmVha2luZyBjb25maWc8L3A+CiAgPHA+VXBkYXRlZCB0byBsYXRlc3QgVGlueU1DRSAzLjIuNiwgaW50cm9kdWNpbmcgYSB3b3JkY291bnQtcGx1Z2luPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMzwvc3Ryb25nPjwvcD4KICA8cD5SZXdyb3RlIGZyb250ZW5kIGZ1bmN0aW9uYWxpdHkgdG8gdXNlIGV2ZW50cyBpbnN0ZWFkIG9mIGNhbGxiYWNrcywgcHJlcGFyaW5nIGZvciAxLjctYXBpPC9wPgogIDxwPjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjI8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgd3JvbmcgcGF0aCB0byBkZWxldGUgaWNvbiBpbiBmaWxlcGlja2VyIHdoZW4gdXNpbmcgY3VzdG9taXplZCBhZG1pbiBkaXIgKHRoYW5rcyBNZWlSaWVNKTwvcD4KICA8cD5SZW1vdmVkIHRoZSBjbGVhbiBvbiBwYXN0ZSBmb3Igbm93LCBsZWF2aW5nIGl0IGVuYWJsZWQuIFNlZW1lZCB0byBkbyBubyBkaWZmZXJlbmNlIGZvciBtb3N0IHBlb3BsZS4uLjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjE8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuMi41IGFuZCB1cGRhdGVkIHRyYW5zbGF0aW9ucyBhcyB3ZWxsPC9wPgogIDxwPkZpeGVkIGV4dHJhY29uZmlnPC9wPgogIDxwPjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjA8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgYSBzbWFsbCBzeW50YXgtZXJyb3IgaW4gY29uZmlnIGZpbGUgYnJlYWtpbmcgdGlueSBpbiBmcm9udGVuZCBpbiBJRTwvcD4KICA8cD5GaXhlZCBhIHByb2JsZW0gY29uY2VybmluZyByZXNldHRpbmcgc2V0dGluZ3MgdG8gZGVmYXVsdCB2YWx1ZXMgKGludHJvZHVjZWQgZHVlIHRoZSBuZWVkIG9mIHVuaXF1ZSBpZCdzIG9mIHN1Ym1pdGJ1dHRvbnMpPC9wPgogIDxwPkZpeGVkIGEgY291cGxlIG9mIHR5cG9zPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMC1iZXRhMzwvc3Ryb25nPjwvcD4KICA8cD5IYWQgdG8gbW92ZSB0b2dnbGUgYnV0dG9uIG9wdGlvbiB0byBhZHZhbmNlZCBwYWdlIGluc3RlYWQgb2YgcHJvZmlsZXMuIE5vdCBwb3NzaWJsZSB0byBjb250cm9sIHByZXNlbnRseS48L3A+CiAgPHA+UmV3cm90ZSBmcm9udC9iYWNrZW5kIGRldGVjdGlvbi4gU2hvdWxkIGJlIGEgbG90IG1vcmUgc3RhYmxlLjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4yLjMsIHNob3VsZCBoYXZlIGEgbmV3IGFuZCBpbXByb3ZlIFBhc3RlIGxvZ2ljIGF1dG9tYWdpY2FsbHkgZGV0ZWN0aW5nIFdvcmQtcGFzdGVzIGFuZCBjbGVhbmluZzwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjAtYmV0YTI8L3N0cm9uZz48L3A+CiAgPHA+TWFkZSBzdXJyb3VuZGluZyBzZWxlY3RlZCB0ZXh0IHdpdGggc29tZXRoaW5nIHBvc3NpYmxlIGluIHRoZSBjdXN0b20tZHJvcGRvd248L3A+CiAgPHA+Rml4ZWQgcmVzZXR0aW5nIGFkdmFuY2VkLXByb2ZpbGU8L3A+CiAgPHA+Rml4ZWQgdGFibGUgY29udHJvbHMgd2hlbiBvbmx5IGVuYWJsZWQgaW4gYWR2YW5jZWQgcHJvZmlsZTwvcD4KICA8cD5GaXhlZCBhIGxvdCBvZiB2YWxpZGF0aW9uIGlzc3VlczwvcD4KICA8cD5JbXBsZW1lbnRlZCBmaWxlIGRlbGV0aW9uPC9wPgogIDxwPlJldmFtcGVkIHBlcm1pc3Npb24tcG9saWNpZXMgdG8gdGFrZSBNb2RpZnkgRmlsZXMgaW50byBhY2NvdW50IG1vcmU8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS4wLWJldGExPC9zdHJvbmc+PC9wPgogIDxwPkltcGxlbWVudGVkIG9udGhlZmx5LXJlc2l6aW5nIG9mIHVwbG9hZGVkIGltYWdlczwvcD4KICA8cD5SZXdyb3RlIHRvb2xiYXJzIGludG8gcHJvZmlsZXMgYWxsb3dpbmcgYSBzZXBlcmF0ZSBhZHZhbmNlZCBwcm9maWxlIGZvciBzZWxlY3RlZCB1c2VyczwvcD4KICA8cD5NYWRlIHN0eWxlc2hlZXQgaW5jbHVkZSBzY3JlZW4tY3NzIGV2ZW4gaWYgb3RoZXIgY2F0ZWdvcmllcyB3YXMgYWxzbyBzZWxlY3RlZCAoYW5kIHRoZSBzY3JlZW4tb25seSBvcHRpb24gd2FzIGVuYWJsZWQsIHRoYXQgaXMpPC9wPgogIDxwPkZpeGVkIGEgc21hbGwgYnVnIHdoZW4gdHJ5aW5nIHRvIG1ha2UgaW50ZXJuYWwgbGlua3Mgb3V0IG9mIGltYWdlczwvcD4KICA8cD5VcGRhdGVkIHRpbnkgdG8gMy4yLjI8L3A+CjwvbGk+Cgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMTM8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgcmVzZXR0aW5nIHRvb2xiYXJzPC9wPgo8L2xpPgoKPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjEyPC9zdHJvbmc+PC9wPgogIDxwPkFkZGVkIHN1cHBvcnQgZm9yIGNvbmZpZ3VyaW5nIHRoZSB0aGlyZCB0b29sYmFyPC9wPgogIDxwPkFkZGVkIG9wdGlvbiB0byBzaG93IGFjdHVhbCB0aHVtYm5haWwtZmlsZXM8L3A+CiAgPHA+Rml4ZWQgZmlsZXR5cGUgaWNvbnMgaW4gRmlsZVBpY2tlcjwvcD4KICA8cD5SZXN0cnVjdHVyZWQgdGFiLWNvbnRlbnQgaW50byBzZXBlcmF0IGZpbGVzIGZvciBlYXNpZXIgbWFpbnRlbmFuY2U8L3A+CiAgPHA+SW1wbGVtZW50ZWQgfCBhcyBzZXBlcmF0b3IgaW4gdG9vbGJhcnM8L3A+CiAgPHA+Rml4ZWQgZnJvbnRlbmQtdG9vbGJhcnM8L3A+CjwvbGk+Cgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMTE8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgc21hbGwgcG90ZW50aW9uIHdhcm5pbmcgb24gc3RhdCgpLXVzYWdlIGluIEZpbGVwaWNrZXI8L3A+CiAgPHA+QWRkZWQgc3VwcG9ydCBmb3IgbmV3IEhhc0NhcGFiaWxpdHkgYXBpLWNhbGw8L3A+CjwvbGk+CgogIDxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNC4xMDwvc3Ryb25nPjwvcD4KICA8cD5Tb3JyeSBJIGZvcmdvdC4uLjwvcD4KCTwvbGk+CgoJPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi40Ljk8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgRmlsZVBpY2tlciB3aXRoIHJlZ2FyZHMgdG8gbmV3IHhzcy1zZWN1cml0eTwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy4yLjE8L3A+Cgk8L2xpPgoKCTxsaT4KCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40Ljg8L3N0cm9uZz48L3A+Cgk8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy4yLjAuMTwvcD4KCTxwPkZpeGVkIHVzaW5nIHByb3BlciBoaWVyYXJjaHkgZm9yIHByZXR0eSB1cmxzPC9wPgoJPHA+QWRkZWQgYWR2YW5jZWQgb3B0aW9uIHRvIHN0YXJ0dXAgZWRpdG9ycyBpbiBkaXNhYmxlZCBzdGF0ZTwvcD4KCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40Ljc8L3N0cm9uZz48L3A+CgkJPHA+UmVtb3ZlZCBzaW1wbGVwYXN0ZSBwbHVnaW4gYW5kIHJlaW5zZXJ0ZWQgc3RvY2sgcGFzdGUuIFRoYXQgb3RoZXIgc29sdXRpb24gY29uZnVzZWQgcGVvcGxlLjwvcD4KCQk8cD5BZGRlZCBtdWx0aXBsZSAqYm94IGVudHJpZXMgdG8gZHJvcGRvd24gaW4gYWR2IGxpbms8L3A+CgkJPHA+Rml4ZWQgZmlsZXBpY2tlciB3aGVuIHVzZWQgb24gaHR0cHMtc2l0ZXM8L3A+CgkJPHA+Tm93IHJld3JpdGluZyBjb25maWctZmlsZSB3aXRoIGV2ZXJ5IHNob3dpbmcgd2hlbiB1c2luZyBzdGF0aWMgY29uZmlnLCBmaXhpbmcgdGhlIHJldmVyc2VkIHRvZ2dsZS1ib3ggYnVnPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjU8L3N0cm9uZz48L3A+CgkJPHA+Rml4ZWQgcHJvYmxlbSB3aXRoIGNtc2xpbmtlciBub3QgYWxsb3dpbmcgdG8gc2VsZWN0IHBhcmVudHBhZ2VzIFNvcnJ5IGd1eXMsIHRoYXQgd2FzIGEgbmV3bHkgaW50cm9kdWNlZCBwcm9ibGVtPC9wPgoJCTxwPkZpeGVkIGEgc21hbGwgYnVnIHdoaWNoIGNvdWxkIGNhdXNlIHJlbGF0aXZlIHVybHMgdG8gZ2VuZXJhdGUgc29tZXRoaW5nIGluY2x1ZGluZyB0aGUgaG9zdC1uYW1lPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjQ8L3N0cm9uZz48L3A+CgkJPHA+Tm93IG9wdGlvbmFsbHkgb25seSBpbmNsdWRlcyBzdHlsZXNoZWV0cyB0YWdnZWQgYXMgJ3NjcmVlbicgb3IgJ2FsbCcgd2hlbiByZWFkaW5nIHN0eWxlczwvcD4KCQk8cD5Nb3ZlZCBjaGFuZ2Vsb2cgdG8gdGVtcGxhdGUuIEl0IHdhcyBodXV1Z2UuLi48L3A+CgkJPHA+VXBkYXRlZCBzaW1wbGVwYXN0ZS1wbHVnaW48L3A+CgkJPHA+QWRkZWQgYW4gaW5wdXQgZmllbGQgd2l0aCBzdHVmZiBhZGRlZCB0byBzdHlsZXNoZWV0PC9wPgoJCTxwPkRpZCBhbiBvcHRpb24gdG8gdXNlIGEgc3RhdGljPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjM8L3N0cm9uZz48L3A+CgkJPHA+SW1wbGVtZW50ZWQgYW5vdGhlciB0cmljayB0byBwcmV2ZW50IHN0eWxlc2hlZXQgY29udGVudCBmcm9tIGJlaW5nIGNhY2hlZDwvcD4KCQk8cD5Ob3cgb3JkZXJzIHRoZSBzdHlsZXNoZWV0IGFmdGVyIGFzc29jX29yZGVyIGluc3RlYWQgb2YgZGF0ZTwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC4yPC9zdHJvbmc+PC9wPgoJCTxwPkZpeGVkIG9ubHkgc2hvd2luZyBpbWFnZXMgZXZlbiBpZiBsaW5rIHRvIGFsbCBmaWxldHlwZXMgc2hvdWxkIGJhIHBvc3NpYmxlPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAzLjEuMC4xPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjE8L3N0cm9uZz48L3A+CgkJPHA+Rml4ZWQgYnVnIGNhdXNpbmcgdGlueSB0byBicmVhayBpZiB1c2luZyBjdXN0b20gY3NzLXN0eWxlczwvcD4KCQk8cD5SZWltcGxlbWVudGVkIGZpbGUgdXBsb2FkL2Rpci1jcmVhdGlvbiBpbiBGaWxlUGlja2VyPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAzLjAuOTwvcD4KCQk8cD5JbXBsZW1lbnRlZCBwcmV0dHkgdXJscyBmb3IgaHJlZi1zdHlsZSBsaW5rcyB3aGVuIGVuYWJsZWQgaW4gY29uZmlnLnBocDwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC4wPC9zdHJvbmc+PC9wPgoJCTxwPkRpc3RyaWJ1dGVkIHdpdGggQ01TTVMgMS4zPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYjU8L3A+CgkJPHA+QWRkZWQgaGVscCBmb3IgdG9vbGJhcjwvcD4KCQk8cD5BZGRlZCBjbXNsaW5rZXItc3R5bGU8L3A+CgkJPHA+QWRkZWQgRmlsZXBpY2tlci1zdHlsZTwvcD4KCQk8cD5GaXhlZCB0aGUgYnVnIHdoZXJlIGNvbnRlbnQgY2hhbmdlcyB3YXMgdW5kb24gd2hlbiB3eXNpd3lnIHdhcyBkaXNhYmxlZCB3aXRoIHRoZSBjaGVjayBib3g8L3A+CgkJPHA+QWRkZWQgb3B0aW9uIHRvIHR1cm4gcmVsZXRpdmUtdXJscyBvZmY8L3A+CgkJPHA+TnVubyByZWRlc2lnbmVkIGZpbGVwaWNrZXIgZGlhbG9ndWU8L3A+CgkJPHA+QWRkZWQgY3VzdG9taXphYmxlIGRpbWVuc2lvbnMgb2YgRmlsZVBpY2tlcjwvcD4KCQk8cD5OdW1lcm91cyBidWcgZml4ZXM8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBiNDwvcD4KCQk8cD5FbmFibGVkIGV4dHJhY29uZmlnLW9wdGlvbjwvcD4KCQk8cD5JbXBsZW1lbnRlZCBvcHRpb24gZm9yIGZvcmNlZF9yb290X2Jsb2NrPC9wPgoJCTxwPldvcmsgb24gc3VwcG9ydGVkIHByZXR0eS11cmxzLCB0aGFua3MgTnVubyE8L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDMuMC44PC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYjM8L3A+CgkJPHA+Rml4ZWQgZnJvbnRlbmQgdXNhZ2U8L3A+CgkJPHA+YWRkZWQgYSBjb3VwbGUgb2YgdXBncmFkZXMgZnJvbSBjbXNtc2xpbmstcGx1Z2luIHRvIGNtc2xpbmtlcjwvcD4KCQk8cD5BZGRlZCBsaW5rcyBmb3IgcGx1Z2luaGVscDwvcD4KCQk8cD5GaXhlZCBqcy1lcnJvciBicmVha2luZyBlZGl0b3IgaW4gSUU8L3A+CgkJPHA+QWRkZWQgYnV0dG9ucyBmb3IgcmVzZXR0aW5nIHRvIGRlZmF1bHQgdmFsdWVzPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYjI8L3A+CgkJPHA+RGlkIHByZXR0aWVyIGRlZmF1bHQgdmFsdWUgZm9yIGN1c3RvbW1lbnU8L3A+CgkJPHA+Rml4ZWQgaHRtbGVudGl0eSBwcm9ibGVtcyBpbiBjbXNsaW5rZXItcGFydCBjcmFzaGluZyB3aG9sZSBlZGl0b3I8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBiMTwvcD4KCQk8cD48L3A+CgkJPHA+VXBncmFkZWQgdG8gbGF0ZXN0IFRpbnlNQ0U8L3A+CgkJPHA+Q21zbXMtbGlua2VyIHJlaW1wbGVtZW50ZWQ8L3A+CgkJPHA+Q3VzdG9tIGRyb3Bkb3dubWVudSBpbXBsZW1lbnRlZDwvcD4KCQk8cD5GaWxlcGlja2VyIGJ1Z3MgZml4ZWQsIGxpbmtlIHVzaW5nIGl0IGZvciBsaW5raW5nIHRvIG5vbi1pbWFnZS1maWxlczwvcD4KCQk8cD5zdHlsZXNoZWV0IGNvZGUgcmV3cml0dGVuIHVzaW5nIGFkb2RiIGluc3RlYWQgb2YgcGxhaW4gbXlzcWwvcGdzcWwuIHNob3VsZCBiZSBsb3RzIHNhZmVyIG5vdzwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjQuMGEyPC9wPgoJCTxwPjwvcD4KCQk8cD5VcGdyYWRlZCB0byBsYXRlc3QgVGlueU1DRTwvcD4KCQk8cD5Ub29sYmFycyBmb3IgZnJvbnRlbmQvYmFja2VuZCBjYW4gbm93IGJlIGNvbmZpZ3VyZWQgc2VwZXJhdGVseTwvcD4KCQk8cD5GaWxlcGlja2VyIHJlaW1wbGVtZW50ZWQsIHNpbXBsZSBmb3Igbm93LCBidXQgd29ya3M8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBhMTwvcD4KCQk8cD48L3A+CgkJPHA+VXBncmFkZWQgdG8gVGlueU1DRSAzLjA8L3A+CgkJPHA+U3RvcHBlZCB0aGUgc3R1cGlkIHNlcGVyYXRpb24gYmV0d2VlbiBhZHZhbmNlZCBhbmQgYmFzaWMgdmVyc2lvbi4gTm93IG9ubHkgdGhpcyBvbmUgaXMgaW4gZGV2ZWxvcG1lbnQsIGtlcHQgYXMgdHJpbSBhcyBwb3NzaWJsZSwgYnV0IHdpdGggbG90cyBvZiBwbHVnaW5zPC9wPgoJCTxwPlN0YXJ0ZWQgb3JnYW5pemluZyBhZG1pbi1zZXR0aW5ncyBsb2dpY2FsbHk8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjc8L3A+CgkJPHA+Rml4ZWQgaW5qZWN0aW9uIHZ1bG5lcmFiaWxpdHkgaW4gY29udGVudF9jc3MucGhwPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMi42PC9wPgoJCTxwPk1hZGUgZmlsZSB1cGxvYWRpbmcgdGhyb3VnaCBzaW1wbGVicm93c2VyIGhvbm9yIGRlZmF1bHRfdXBsb2FkX3Blcm1pc3Npb248L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjU8L3A+CgkJPHA+TWFkZSB0aGUgZW50aXR5ZW5jb2RpbmcgYSBwcmVmZXJlbmNlPC9wPgoJCTxwPk1hZGUgVGlueSB3b3JrIGFzIGZyb250ZW5kIHd5c2l3eWcgbW9kdWxlPC9wPgoJCTxwPkZpeGVkIG1pc3NpbmcgYmxvY2tmb3JtYXQgZGVmYXVsdCB1cG9uIG5ldyBpbnN0YWxsYXRpb24gKHRoYW5rcyBVdHRlciBmb3Igbm90aWNpbmcpPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMi40PC9wPgoJCTxwPkZpeGVkIHRoZSBJRSB0b2dnbGUgYnVnPC9wPgoJCTxwPlNwZWVkZWQgdXAgdHVybmluZyBlZGl0b3Igb24vb2ZmIHF1aXRlIGEgYml0ICh1c2luZyBtY2VUb2dnbGVFZGl0b3IgaW4gc3RlYWQgb2YgbG9hZGluZy91bmxvYWRpbmcgd2hvbGUgc3lzdGVtKTwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuMzwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgdmVyc2lvbiAyLjEuMiwgZml4ZXMgdHVybmluZyB3eXNpd3lnIG9uL29mZiBvbiBwYWdlcyBjb250YWluaW5nIG11bHRpcGxlIHRleHRhcmVhczwvcD4KCQk8cD5GaXhlZCBhIGJ1ZyBtYWtpbmcgeW91IGVuZCB1cCBpbiB3cm9uZyB0YWIgd2hlbiBzYXZpbmcgdG9vbGJhcjwvcD4KCQk8cD48L3A+CgkJPC9saT4KICAgIDxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuMjwvcD4KCQk8cD5OdW1lcmVvdXMgc21hbGxlciB0d2Vla3MuPC9wPgogICAgPHA+Rml4ZWQgcHJvYmxlbSB3aXRoIGNoYW5naW5nIGJldHdlZW4gcGFnZXMgd2l0aCBUaW55IGFuZCBFZGl0QXJlYS48L3A+CiAgICA8cD5TZXNzaW9uaXplZCB0aGUgbGl2ZSBsYW5ndWFnZS48L3A+CiAgICA8cD5BZGRlZCBjaGFybWFwIHRvIGRlZmF1bHQgdG9vbGJhci48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjE8L3A+CgkJPHA+Rml4ZWQgYmxvY2tmb3JtYXQgZHJvcGRvd24gbm93IGFjdHVhbGx5IHJlZmxlY3RpbmcgdGhlIHZhbHVlcyBpbiB0aGUgZWRpdCBib3g8L3A+CgkJPHA+UmV3cm90ZSB0ZXh0YXJlYSBtYW5hZ2VtZW50IHRvIHVzaW5nIHNlc3Npb25zLiBTaG91bGQgZml4IHRoZSBkb3VibGUtdGlueXMgYXBwZWFyaW5nIHJhbmRvbWx5LjwvcD4KCQk8L2xpPgogICAgPGxpPgoJCTxwPlZlcnNpb246IDIuMi4wPC9wPgoJCTxwPlNwbGl0IFRpbnlNQ0UgaW50byAyIG1vZHVsZXMsIG9uZSBmb3IgaW5jbHVzaW9uIGluIGRpc3RyaWJ1dGlvbiBhbmQgb25lIGZvciBtb3JlIGFkdmFuY2VkIHVzZS4gVGhpcyBpcyB0aGUgQmFzaWMgdmVyc2lvbi48L3A+CgkJPHA+TWFkZSB0YWJsZSBvcGVyYXRpb25zIGFuIG9wdGlvbjwvcD4KCQk8cD5SZW1vdmVkIHRoZSBub253b3JraW5nICdyZXBsYWNlIGNtcy1saW5rcyB3aGlsZSB3cml0aW5nJzwvcD4KCQk8cD5HZW5lcmFsbHkgdHJpbW1lZCBkb3duIHRoZSBtb2R1bGUgdG8gYSBzaXplIGFjY2VwdGFibGUgZm9yIHRoZSBtYWluIGRpc3RyaWJ1dGlvbjwvcD4KCQk8L2xpPgogICAgPGxpPgoJCTxwPlZlcnNpb246IDIuMC42PC9wPgoJCTxwPk1hZGUgaXQgcG9zc2libGUgdG8gYWRkIHNvbWV0aGluZyBleHRyYSB0byB0aGUgY29uZmlndXJhdGlvbjwvcD4KCQk8cD5BZGRlZCBwYXN0ZSBhcyBwbGFpbiB0ZXh0IHBsdWdpbjwvcD4KCQk8cD5BZGRlZCBhbiBvcHRpb24gdG8gc2hvdyBhIGJ1dHRvbiB0dXJuaW5nIHRoZSB3eXNpd3lnLWZ1bmN0aW9uYWxpdHkgb24vb2ZmPC9wPgoJCTxwPkdlbmVyYWwgc3BlZWQgaW1wcm92ZW1lbnRzPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAyLjEuMSwgVGlueUNvbXByZXNzZWQgMS4xLjAgYW5kIFNwZWxsQ2hlY2tlciAxLjAuNDwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuNTwvcD4KCQk8cD5BZGRlZCBhIHhodG1sLWVsZW1lbnRzIG9ubHkgb3B0aW9uPC9wPgoJCTxwPk1vdmVkIGphdmFzY3JpcHQgY29uZmlnIGludG8gYW4gZXh0ZXJuYWwgZmlsZTwvcD4KCQk8cD5BZGRlZCBzZWxlY3RpbmcgcCBvciBici8gc3R5bGUgbmV3bGluZXM8L3A+CgkJPHA+VXBkYXRlZCB0byBuZXcgY29tcHJlc3Npb24gZW5naW5lLiBTaG91bGQgZml4IHNvbWUgYnVncyByZWxhdGVkIHRvIHRoaXM8L3A+CgkJPHA+QWRkZWQgcGx1Z2luIGRlc2NyaXB0aW9ucyBmcm9tIGRvY3M8L3A+CgkJPHA+Rml4ZWQgc2hvd2luZyBvZiBjb3JyZWN0IHRlc3RhcmVhIGV2ZW4gaWYgYW5vdGhlciB3eXNpd3lnIGlzIGNob3NlbjwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnkgMi4xLjA8L3A+CgkJPHA+QWRkZWQgdGh1bWJuYWlsIHByZXZpZXdzIGluIGltYWdlIGJyb3dzZXIuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC40PC9wPgoJCTxwPkZpeGVkIGN1c3RvbWl6ZWQgdGV4dGFyZWEgd2lkdGg8L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDIuMC43PC9wPgoJCTxwPlJldmVyc2VkIGNoYW5nZWxvZyBjb250ZW50IChmcm9tIG5vdyBvbiBhdCBsZWFzdCkgOy0pPC9wPgoJCTxwPjwvcD4KCQk8L2xpPgoKCQk8bGk+CgkJPHA+VmVyc2lvbjogMS4wPC9wPgoJCTxwPk9yaWdpbmFsIG1vZHVsZSBjb2RlIGZvciBUaW55TUNFIFdZU0lXWUcgdGV4dGFyZWEgcmVwbGFjZW1lbnQgdG9vbC48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+QXV0aG9yOiBTaW1vbiBCcm93biAmbHQ7c2ltb25AdXB0b2VsZXZlbi53cyZndDs8L3A+CgkJPHA+VmVyc2lvbjogMS4xPC9wPgoJCTxwPkNvbnZlcnRlZCBmb3IgdXNlIHdpdGggbmV3IENNUyBNb2R1bGUgYXJjaGl0ZWN0dXJlLjwvcD4KCQk8cD5VcGdyYWRlZCBUaW55TUNFIHRvIHZlcnNpb24gMS40Mi48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMS4yPC9wPgoJCTxwPkZpeGVkIGJ1ZyB3aXRoIHBhdGhzIGJlaW5nIGNyZWF0ZWQgd3Jvbmcgb24gaW1hZ2UgaW5zZXJ0LjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuMDwvcD4KCQk8cD5BdXRob3I6IFN0ZWZhbiBSJm91bWw7bGxpbjwvcD4KCQk8cD5VUERBVEVEIHRvIHZlcnNpb24gMi4wLjUuMSBvZiBUaW55TUNFIGVkaXRvci48L3A+CgkJPHA+QUREIHBsdWdpbnMgc2ltcGxlYnJvd3NlciwgY21zbXNsaW5rIDwvcD4KCQk8cD5BREQgc29tZSBjb25maWd1cmF0aW9uIG9wdGlvbnMuPC9wPgoJCTxwPkFERCBwZXJtaXNzaW9uIHRvIG1vZGlmeSBzZXR0aW5ncy48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjE8L3A+CgkJPHA+VVBEQVRFRCB0byB2ZXJzaW9uIDIuMC42LjEgb2YgVGlueU1DRSBlZGl0b3IuPC9wPgoJCTxwPkFERCBjb25maWd1cmF0aW9uIG9wdGlvbnM6IGxhbmd1YWdlIGFuZCBzb3VyY2VfZm9ybWF0dGluZy48L3A+CgkJPHA+SW1wcm92ZWQgcGx1Z2luIGNvbmZpZ3VyYXRpb24uPC9wPgoJCTxwPkFERCBtb3JlIGxhbmd1YWdlcy48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjI8L3A+CgkJPHA+RklYIGZpbGVicm93c2VyPC9wPgoJCTxwPkZJWCBzZWN1cml0eSBmbGF3IGluIGZpbGVicm93c2VyPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4zPC9wPgoJCTxwPkNvbnZlcnRlZCB0byBuZXcgZmV0Y2gtbWV0aG9kIG9mIGNvbnRlbnRfYXJyYXk8L3A+CgkJPHA+RklYIHNlY3VyaXR5IGZsYXcgaW4gZmlsZWJyb3dzZXI8L3A+CgkJPHA+QWRkZWQgbG9jYWxpemF0aW9uIG9mIHRlc3RhcmVhLXRleHQ8L3A+CgkJPC9saT4KCQk8L3VsPgo8YnIgLz4=]]></about>
	<description><![CDATA[A full featured WYSIWYG-editor providing file management and image management functionality]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_copyprofile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKCmlmICghaXNzZXQoJHBhcmFtc1snaWRfcHJvZmlsZSddKSkgZXhpdDsKCiRwcm9maWxlID0gbmV3IHRpbnltY2VfcHJvZmlsZSgoaW50KSRwYXJhbXNbJ2lkX3Byb2ZpbGUnXSk7CgokbmV3X3Byb2ZpbGUgPSBjbG9uZSAkcHJvZmlsZTsKCiRuZXdfcHJvZmlsZS0+c2F2ZSgpOwoKJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoInByb2ZpbGVfY29waWVkIikpKTsKCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteprofile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKCmlmICghaXNzZXQoJHBhcmFtc1snaWRfcHJvZmlsZSddKSkgZXhpdDsKCiRwcm9maWxlID0gbmV3IHRpbnltY2VfcHJvZmlsZSgoaW50KSRwYXJhbXNbJ2lkX3Byb2ZpbGUnXSk7CgokZGVmYXVsdF9wcm9maWxlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lkX2RlZmF1bHRfcHJvZmlsZScpOwoKCmlmICgkcHJvZmlsZS0+aWRfcHJvZmlsZSAhPSAkZGVmYXVsdF9wcm9maWxlKQp7CglpZiAoJHByb2ZpbGUtPmRlbGV0ZV9mcm9tX2RiKCkpCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoInByb2ZpbGVfZGVsZXRlZCIpKSk7CgllbHNlCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoImVycm9yX2RlbGV0ZV9wcm9maWxlIikpKTsKfQplbHNlCnsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLGFycmF5KCJtb2R1bGVfZXJyb3IiPT4kdGhpcy0+TGFuZygiZXJyb3JfY2Fubm90X2RlbGV0ZV9kZWZhdWx0X3Byb2ZpbGUiKSkpOwp9CgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_editprofile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKaWYgKCFpc3NldCgkcGFyYW1zWydpZF9wcm9maWxlJ10pKQp7CgkkbW9kZSA9ICdhZGQnOwoJJHByb2ZpbGUgPSBuZXcgdGlueW1jZV9wcm9maWxlKCk7Cn0KZWxzZQp7CgkkbW9kZSA9ICdlZGl0JzsKCSRwcm9maWxlID0gbmV3IHRpbnltY2VfcHJvZmlsZSgoaW50KSRwYXJhbXNbJ2lkX3Byb2ZpbGUnXSk7Cn0KCgovLyBTVUJNSVQgLyBTQVZFCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCk7CmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snYXBwbHknXSkpCnsKCSRwcm9maWxlLT5sb2FkX3Byb2ZpbGVfZnJvbV9hcnJheSgkcGFyYW1zKTsKCglpZiAoJHByb2ZpbGUtPnNhdmUoKSkKCXsKCQkvLyBDbGVhciBKUyBjYWNoZSBzbyB3ZSBjYW4gcmUtZ2VuZXJhdGUgaXQgYWZ0ZXIgc2F2aW5nCgkJdGlueW1jZV91dGlsczo6Y2xlYXJfdGlueW1jZV9jYWNoZSgpOwoKCQlpZiAoaXNzZXQoJHBhcmFtc1snYXBwbHknXSkpCgkJewoJCQkkbW9kZSA9ICdlZGl0JzsKCQkJJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCdwcm9maWxlX3NhdmVkJykpOwoJCX0KCQllbHNlIC8vIHN1Ym1pdCBhbmQgZ28gdG8gZGVmYXVsdCBhZG1pbgoJCXsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoInByb2ZpbGVfc2F2ZWQiKSkpOwoJCX0KCX0KCWVsc2UgewoJCSR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3Jfc2F2aW5nX3Byb2ZpbGUnKSk7Cgl9Cn0KCi8vIExvYWQgdGhlIEpTIGFuZCByZS1nZW5lcmF0ZSB0aGUgY2FjaGUgZmlsZQplY2hvICR0aGlzLT5XWVNJV1lHR2VuZXJhdGVIZWFkZXIobnVsbCwgbnVsbCwgJHByb2ZpbGUsIHRydWUpOwoKCi8vIEFERElUSU9OQUwgREFUQQoKLy8gRXh0ZXJuYWwgY2FwYWJsZSBtb2R1bGVzCiRhc3NpZ25bJ2V4dGVybmFsX21vZHVsZXMnXSA9IHRpbnltY2VfdXRpbHM6OmdldF93eXNpd3lnaXRlbXNfbW9kdWxlcygpOwoKLy8gVXNlcnMgZ3JvdXBzCiR1c2VyX2dyb3VwcyA9IHRpbnltY2VfdXRpbHM6OmdldF91c2VyX2dyb3VwcygpOwokdXNlcl9ncm91cHNfc21hcnR5ID0gYXJyYXkoKTsKZm9yZWFjaCAoJHVzZXJfZ3JvdXBzIGFzICRncm91cCkKCSR1c2VyX2dyb3Vwc19zbWFydHlbJGdyb3VwLT5pZF0gPSAkZ3JvdXAtPm5hbWU7CgovLyBBZGQgZnJvbnRlbmQKJHVzZXJfZ3JvdXBzX3NtYXJ0eVstMV0gPSAnLSAnLiR0aGlzLT5MYW5nKCdncm91cF9mcm9udGVuZCcpLicgLSc7CgovLyBEZXNpZ25NYW5nZXIgVGVtcGxhdGUgbGlua2VkIHRvIHRoYXQgcHJvZmlsZQokdGVtcGxhdGVzID0gdGlueW1jZV91dGlsczo6bG9hZF90ZW1wbGF0ZXNfYnlfdHlwZSgnanMnKTsKCi8vIExpbmsgYSBkZXNpZ24gZm9yIENTUwokZGVzaWducyA9IENtc0xheW91dENvbGxlY3Rpb246OmdldF9hbGwoKTsKCgoKLy8gQVNTSUdOIEZPUiBTTUFSVFkKJGFzc2lnblsnbW9kZSddID0gJG1vZGU7CiRhc3NpZ25bJ3Byb2ZpbGUnXSA9ICRwcm9maWxlOwoKJGFzc2lnblsndXNlcmdyb3VwcyddID0gJHVzZXJfZ3JvdXBzX3NtYXJ0eTsKCiRhc3NpZ25bJ3RlbXBsYXRlcyddID0gJHRlbXBsYXRlczsKJGFzc2lnblsnZGVzaWducyddID0gJGRlc2lnbnM7CgokdXNlcmlkID0gZ2V0X3VzZXJpZCgpOwokZGVmYXVsdF9jbXNfbGFuZ3VhZ2UgPSBjbXNfdXNlcnByZWZzOjpnZXRfZm9yX3VzZXIoJHVzZXJpZCwgJ2RlZmF1bHRfY21zX2xhbmd1YWdlJyk7CgoKLy8gRElTUExBWQpjbXNtcygpLT5HZXRTbWFydHkoKS0+YXNzaWduKCRhc3NpZ24pOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRwcm9maWxlLnRwbCcpOwoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_setdefaultprofile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKCmlmICghaXNzZXQoJHBhcmFtc1snaWRfcHJvZmlsZSddKSkgZXhpdDsKCi8vIFByb2ZpbGUgZXhpc3RzID8KaWYgKCRwcm9maWxlID0gbmV3IHRpbnltY2VfcHJvZmlsZSgoaW50KSRwYXJhbXNbJ2lkX3Byb2ZpbGUnXSkpCnsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpZF9kZWZhdWx0X3Byb2ZpbGUnLCAkcHJvZmlsZS0+aWRfcHJvZmlsZSk7CgoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoImRlZmF1bHRfcHJvZmlsZV9zZXQiKSkpOwp9CgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.ajax_getpages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhY2hlY2tfbG9naW4oRkFMU0UpICkgZXhpdDsgLy8gYWRtaW4gb25seS4uLi4gYnV0IGFueSBhZG1pbgoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOwpmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKJG91dCA9IG51bGw7CiR0ZXJtID0gdHJpbShzdHJpcF90YWdzKGdldF9wYXJhbWV0ZXJfdmFsdWUoJF9SRVFVRVNULCd0ZXJtJykpKTsKJGFsaWFzID0gdHJpbShzdHJpcF90YWdzKGdldF9wYXJhbWV0ZXJfdmFsdWUoJF9SRVFVRVNULCdhbGlhcycpKSk7CgppZiggJGFsaWFzICkgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2lkLGNvbnRlbnRfbmFtZSxtZW51X3RleHQsY29udGVudF9hbGlhcyxpZF9oaWVyYXJjaHkgRlJPTSAnLkNNU19EQl9QUkVGSVguJ2NvbnRlbnQKICAgICAgICAgICAgICBXSEVSRSBjb250ZW50X2FsaWFzID0gPyBBTkQgYWN0aXZlID0gMSc7CiAgICAkZGJyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRhbGlhcykpOwogICAgaWYoIGlzX2FycmF5KCRkYnIpICYmIGNvdW50KCRkYnIpICkgewogICAgICAgICRsYmwgPSAieyRkYnJbJ2NvbnRlbnRfbmFtZSddfSAoeyRkYnJbJ2lkX2hpZXJhcmNoeSddfSkiOwogICAgICAgICRvdXQgPSBhcnJheSgnbGFiZWwnPT4kbGJsLCAndmFsdWUnPT4kZGJyWydjb250ZW50X2FsaWFzJ10pOwogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoJG91dCk7CiAgICB9Cn0KZWxzZSBpZiggJHRlcm0gKSB7CiAgICAkdGVybSA9ICIleyR0ZXJtfSUiOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2lkLGNvbnRlbnRfbmFtZSxtZW51X3RleHQsY29udGVudF9hbGlhcyxpZF9oaWVyYXJjaHkgRlJPTSAnLkNNU19EQl9QUkVGSVguJ2NvbnRlbnQKICAgICAgICAgICAgV0hFUkUgKGNvbnRlbnRfbmFtZSBMSUtFID8gT1IgbWVudV90ZXh0IExJS0UgPyBPUiBjb250ZW50X2FsaWFzIExJS0UgPykKICAgICAgICAgICAgICBBTkQgYWN0aXZlID0gMQogICAgICAgICAgICBPUkRFUiBCWSBkZWZhdWx0X2NvbnRlbnQgREVTQywgaGllcmFyY2h5IEFTQyc7CiAgICAkZGJyID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHRlcm0sJHRlcm0sJHRlcm0pKTsKICAgIGlmKCBpc19hcnJheSgkZGJyKSAmJiBjb3VudCgkZGJyKSApIHsKICAgICAgICAvLyBmb3VuZCBzb21lIHBhZ2VzIHRvIG1hdGNoCiAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgLy8gbG9hZCB0aGUgY29udGVudCBvYmplY3RzCiAgICAgICAgZm9yZWFjaCggJGRiciBhcyAkcm93ICkgewogICAgICAgICAgICAkbGJsID0gInskcm93Wydjb250ZW50X25hbWUnXX0gKHskcm93WydpZF9oaWVyYXJjaHknXX0pIjsKICAgICAgICAgICAgJG91dFtdID0gYXJyYXkoJ2xhYmVsJz0+JGxibCwgJ3ZhbHVlJz0+JHJvd1snY29udGVudF9hbGlhcyddKTsKICAgICAgICB9CiAgICAgICAgZWNobyBqc29uX2VuY29kZSgkb3V0KTsKICAgIH0KfQoKZXhpdDsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLyogbm90aGluZyBoZXJlICovID8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWNtc21zKCkgKSBleGl0OwppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpICkgcmV0dXJuOwoKCi8vIEdldCBwcm9maWxlcyB0byBkaXNwbGF5IHRoZSBsaXN0CiRhc3NpZ25bJ3Byb2ZpbGVzJ10gPSB0aW55bWNlX3V0aWxzOjpnZXRfYWxsX3Byb2ZpbGVzX2Zvcl9hZG1pbl9saXN0KCk7CiRhc3NpZ25bJ2lkX2RlZmF1bHRfcHJvZmlsZSddID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lkX2RlZmF1bHRfcHJvZmlsZScsIDApOwoKY21zbXMoKS0+R2V0U21hcnR5KCktPmFzc2lnbigkYXNzaWduKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZGVmYXVsdGFkbWluLnRwbCcpOwoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/customdropdown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAVAOeZAAAAAAICAAMCAAgGAQkGAAgHAwsJBhQSChgSAiYcAisgAjQuHUlCLVpDBl9PIXlbC31dCIFfBotmAnxnLZyGSdCaCNKbCMOcNKmooeanAOaoAuaoBOapBuapB+apCOaqCOaqCeaqCueqCeeqCueqC+erC+erDOerDeesDuesD+esEOetEeetEuitEOetE+iuFOiuFdqvPOivFuivF+iwGeawH+iwHOixG+ixHOmxG+mxHemxINyyQumyH+izIOmzIuqzIOm0Jum0KOq2Leu3K+q3Luq4Luu4L+q5M+u5M+u5Ney6NOq7N+u7OOy7Nuu7Oey8Oey8POu9Puy9Puy9QO29P+y+P+y+QOy+Q+zARe3ARe3BTO3DTu7EUe7EU+3FVO7HWu7HXO7HXu7IXO7IX+/KY+/LZ+/Mae/MavDMafDMavDNbPHNcPDObfDQePLRfPLTf/LTgfPUhPHVgfLVhvLWiPLXh/LXivPYjfPYjvPZj/PZkfPak/PalfTalPTdnfTen/TeovXfo/XgpfXhp/biqfbjrfbltffltffovfjou/jpvfjsyPnsx/jtzPnty/ntzPnuzvnv0/rz3Pr15Pv47vz+/v3+/v3//v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEKAP8ALAAAAAAVABUAQAj+AP8JHEiwoMF/Wq58+bPIyQoPJkJ8MDFiRqGD/56AOIEixYojMQYAUJAiAQACPDAOhHKjBIsgeVQKvCNEDqYFAABgSFRJYE4AMgn+DFoQDR2VlvwAUZFCBRErU7KMeTOop8E9A9Ws0ECGipc4W3IYgaRSkp4pKDrUQABAgIUSFQIAMGAQjxsxUoogYXIhZ4GcRAleCkzwkR0fM87IROQlCphIi7Bs6NHlzkWDfMJkEHGkCYwVL2TQsPGjCiWDa8wINKSjxBMcQ5RkCKFCkcwyJ3YAasOFkKM0c4IeYsNoEoWcDOoEanQAMME+JFysMJFkyYOcEVJAyDmhIJwWGjgSjAixYkaDnBJyOhBE+KdzgQEBADs=]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlh3ADCAOebAICA/4D//yRkrSRtrSRttiNqsCNquRtmqRtqsRpiqB1mrxhYmBhYmxhbmxhbnhhboRheoRhepBtepBthpBthpxthqhtkqhtkrRtnsBtnsx5nsB5nsx5qsx5qth5quR5tuR5tvB5wvB5wvx5wwh5zwh5zxSFzwiFzxSNgnCt6yBtlrRtlrxplqxpnsBljqRljqxllrRllrxtjqxtlqxtlrRtlrxtnrxhiqRhkqxtkqxhjqhhlrhpjqhpjrBplrBplrhZWlRZWlxZYlxZYmRZamRZamxZanRZcnRZcnxhamxhanRhcnRhcnxhcoRhenxheoRheoxhgoxhgpRhgpxhipxpgpRpgpxpipxpiqRpiqxpkqRpkqxpkrRpmrRpmrxpmsRposRxmrRxmrxxmsRxosRxosxxqsxxqtRxqtxxstxxsuRxsuxxuux5stx5suR5sux5uuR5uux5uvR5wvR5wvx5wwR5ywR5ywyBywSBywyB0wyB0xVyPw1yPxVyRxWyVv2yVwWyXwWyXw2yZw2yZxW6Zw26ZxW6Zx26bx26byW6dyW6dy26dzW6fzXCdy3CfzXCfz3Chz3Ch0XCh03Cj03Cj1XCj13Kj1XKj13Kl13Kl2f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAP8ALAAAAADcAMIAAAj+AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIC3m2ROypMmTKFMS3KNnD0mVMGPKnJnwTp48NvXQ3Mmz58c7evTk0ZPTp9GjSBsKxXmTaZ6kUKMexWmTqtM7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]]></data>
	</file>
	<file>
	  <filename>/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gQQokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ0EgZnVsbCBmZWF0dXJlZCBXWVNJV1lHLWVkaXRvciBwcm92aWRpbmcgZmlsZSBtYW5hZ2VtZW50IGFuZCBpbWFnZSBtYW5hZ2VtZW50IGZ1bmN0aW9uYWxpdHknOwokbGFuZ1snYWR2YW5jZWRfbWVudSddID0gJ0FkdmFuY2VkIG1lbnUnOwokbGFuZ1snYXBwbHknXSA9ICdBcHBseSc7CiRsYW5nWydhdXRvcmVzaXplJ10gPSAnQXV0byByZXNpemUnOwoKLy8gQgokbGFuZ1snYmxvY2tfZm9ybWF0cyddID0gJ0F2YWlsYWJsZSBmb3JtYXRzJzsKJGxhbmdbJ2J1dHRvbl9uYW1lJ10gPSAnQnV0dG9uIG5hbWUnOwoKLy8gQwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2Ntc21zX2xpbmtlciddID0gJ0xpbmsgdG8gY29udGVudCBwYWdlJzsKJGxhbmdbJ2NvbnRleHRtZW51J10gPSAnQ29udGV4dCBtZW51JzsKJGxhbmdbJ2NvbnRleHRtZW51X2NvbnRlbnQnXSA9ICdDb250ZXh0IG1lbnUgY29udGVudCc7CiRsYW5nWydjb3B5J10gPSAnY29weSc7CiRsYW5nWydjb3B5X3Byb2ZpbGUnXSA9ICdDb3B5IHByb2ZpbGUnOwokbGFuZ1snY3NzX2NsYXNzZXMnXSA9ICdDU1MgY2xhc3Nlcyc7CiRsYW5nWydjdXN0b21fZHJvcGRvd24nXSA9ICdDdXN0b20gZHJvcGRvd24nOwokbGFuZ1snY3VzdG9tX2Ryb3Bkb3duX3RpdGxlJ10gPSAnQ3VzdG9tIGRyb3Bkb3duIHRpdGxlJzsKCi8vIEQKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsKJGxhbmdbJ2RlZmF1bHRfZGVzaWdubWFuYWdlcl90ZW1wbGF0ZSddID0gJ0RlZmF1bHQgdGVtcGxhdGUgZnJvbSB0aGUgRGVzaWduTWFuYWdlcic7CiRsYW5nWydkZWZhdWx0X3Byb2ZpbGVfc2V0J10gPSAnRGVmYXVsdCBwcm9maWxlIHN1Y2Nlc3NmdWxseSBjaGFuZ2VkJzsKJGxhbmdbJ2RlbGV0ZV9wcm9maWxlJ10gPSAnRGVsZXRlIHByb2ZpbGUnOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGVfY29uZmlybSddPSdBcmUgeW91IHN1cmUgdGhpcyBwcm9maWxlIHNob3VsZCBiZSBkZWxldGVkPyc7CiRsYW5nWydkZXNpZ25fY3NzJ10gPSAnRGVzaWduIHRvIHVzZSBmb3IgQ1NTIHN0eWxlc2hlZXRzJzsKJGxhbmdbJ2RvY3VtZW50YXRpb24nXSA9ICdEb2N1bWVudGF0aW9uJzsKCi8vIEUKJGxhbmdbJ2VkaXRfcHJvZmlsZSddID0gJ0VkaXQgcHJvZmlsZSc7CiRsYW5nWydlbmFibGVfY29udGV4dG1lbnUnXSA9ICdFbmFibGUgY29udGV4dCBtZW51IChyaWdodC1jbGljayBtZW51KSc7CiRsYW5nWydlbmFibGVfY3VzdG9tX2Ryb3Bkb3duJ10gPSAnRW5hYmxlIGN1c3RvbSBkcm9wZG93bic7CiRsYW5nWydlbmFibGVfbGlua2VyJ10gPSAnTG9hZCB0aGUgQ01TTVMgbGlua2VyIHBsdWdpbiAobGlua3MgdG8gY29udGVudCBwYWdlcyknOwokbGFuZ1snZW5hYmxlX3VzZXJfdGVtcGxhdGVzJ10gPSAnRW5hYmxlIHVzZXIgdGVtcGxhdGVzJzsKJGxhbmdbJ2Vycm9yX2RlbGV0ZV9wcm9maWxlJ10gPSAnQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBkZWxldGUgcHJvY2Vzcyc7CiRsYW5nWydlcnJvcl9jYW5ub3RfZGVsZXRlX2RlZmF1bHRfcHJvZmlsZSddID0gJ0Vycm9yOiB0aGUgZGVmYXVsdCBwcm9maWxlIGNhbm5vdCBiZSBkZWxldGVkJzsKJGxhbmdbJ2Vycm9yX3NhdmluZ19wcm9maWxlJ10gPSAnQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBzYXZlIHByb2Nlc3MnOwokbGFuZ1snZXh0ZXJuYWxfbW9kdWxlcyddID0gJ0V4dGVybmFsIG1vZHVsZXMnOwokbGFuZ1snZXh0ZXJuYWxfbW9kdWxlc19zaG93X21lbnV0ZXh0J10gPSAnU2hvdyB0aGUgYnV0dG9uIHRleHQgb24gdGhlIHRvb2xiYXIgLSB1bmNoZWNrZWQgPSBpY29uIG9ubHknOwokbGFuZ1snZXh0cmFfanMnXSA9ICdFeHRyYSBKYXZhU2NyaXB0IG9wdGlvbnMgZm9yIHRoZSBpbml0IHNjcmlwdCc7CgovLyBGCiRsYW5nWydmaWxlbWFuYWdlciddID0gJ0ZpbGUgbWFuYWdlcic7CiRsYW5nWydmaWxlbWFuYWdlcl9hdmlhcnlfYWN0aXZlJ10gPSAnRW5hYmxlIHRoZSBBdmlhcnkgcGhvdG8gZWRpdG9yJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2F2aWFyeV9hcGlLZXknXSA9ICdBdmlhcnkgQVBJIGtleSc7CiRsYW5nWydmaWxlbWFuYWdlcl9jaG1vZF9kaXJzJ10gPSAnQ0hNT0QgZGlyZWN0b3JpZXMnOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMnXSA9ICdDSE1PRCBmaWxlcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jb3B5X2N1dF9kaXJzJ10gPSAnQ29weSBhbmQgY3V0IGRpcmVjdG9yaWVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NvcHlfY3V0X2ZpbGVzJ10gPSAnQ29weSBhbmQgY3V0IGZpbGVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NyZWF0ZV9mb2xkZXJzJ10gPSAnQ3JlYXRlIGZvbGRlcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfY3JlYXRlX3RleHRfZmlsZXMnXSA9ICdDcmVhdGUgdGV4dCBmaWxlcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9kZWxldGVfZmlsZXMnXSA9ICdEZWxldGUgZmlsZXMnOwokbGFuZ1snZmlsZW1hbmFnZXJfZGVsZXRlX2ZvbGRlcnMnXSA9ICdEZWxldGUgZm9sZGVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9kdXBsaWNhdGVfZmlsZXMnXSA9ICdEdXBsaWNhdGUgZmlsZXMnOwokbGFuZ1snZmlsZW1hbmFnZXJfZWRpdF90ZXh0X2ZpbGVzJ10gPSAnRWRpdCB0ZXh0IGZpbGVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nJ10gPSAnQXV0b21hdGljYWxseSByZXNpemUgaW1hZ2VzIGFmdGVyIHVwbG9hZCc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ190aXRsZSddID0gJ0F1dG9tYXRpYyBpbWFnZSByZXNpemluZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ19oZWlnaHQnXSA9ICdNYXggaW1hZ2UgaGVpZ2h0IGFmdGVyIHJlc2l6aW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoJ10gPSAnTWF4IGltYWdlIHdpZHRoIGFmdGVyIHJlc2l6aW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3Bob3RvX2VkaXRvciddID0gJ0F2aWFyeSBwaG90byBlZGl0b3InOwokbGFuZ1snZmlsZW1hbmFnZXJfcHJldmlld190ZXh0X2ZpbGVzJ10gPSAnUHJldmlldyB0ZXh0IGZpbGVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyddID0gJ1JlbmFtZSBmaWxlcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9yZW5hbWVfZm9sZGVycyddID0gJ1JlbmFtZSBmb2xkZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcyddID0gJ1VwbG9hZCBmaWxlcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9vcHRpb25zJ10gPSAnRmlsZSBtYW5hZ2VyIG9wdGlvbnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfdXNlJ10gPSAnRW5hYmxlIHRoZSBmaWxlIG1hbmFnZXInOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVGlueU1DRSBXWVNJV1lHIGVkaXRvcic7CiRsYW5nWydmb3JjZWRfcm9vdF9ibG9jayddID0gJ0ZvcmNlIHBhcmFncmFwaCBvbiBsaW5lIGJyZWFrJzsKCi8vIEcKJGxhbmdbJ2dlbmVyYWwnXSA9ICdHZW5lcmFsJzsKJGxhbmdbJ2dsb2JhbF9zZXR0aW5ncyddID0gJ0dsb2JhbCBzZXR0aW5ncyc7CiRsYW5nWydncm91cF9mcm9udGVuZCddID0gJ0Zyb250ZW5kIHVzZXJzJzsKCi8vIEgKJGxhbmdbJ2hlbHBfYWR2YW5jZWRfbWVudSddID0gJ0lmIHlvdSBhcmUgbG9va2luZyBmb3IgYW4gYWR2YW5jZWQgbWVudSBjdXN0b21pemF0aW9uLCB5b3VyIGNhbiB0dXJuIHRoaXMgb3B0aW9uIG9uLiBFZGl0IHRoZSBtZW51IGVudHJpZXMgaW4gdGhlIGZpZWxkIGJlbG93LiBVc2luZyB0aGF0IG9wdGlvbiB3aWxsIGRpc2FibGUgdGhlIHN0YW5kYXJkIG1lbnUuJzsKJGxhbmdbJ2hlbHBfYXV0b3Jlc2l6ZSddID0gJ0VuYWJsZSB0aGUgPGVtPmF1dG9yZXNpemU8L2VtPiBwbHVnaW4gdG8gYXV0b21hdGljYWxseSByZXNpemUgdGhlIGVkaXRvciBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSBjb250ZW50IHNpemUnOwokbGFuZ1snaGVscF9hdmlhcnknXSA9ICdBdmlhcnkgZWRpdG9yIGlzIGFuIGV4dGVybmFsIGltYWdlIGVkaXRpbmcgdG9vbCBwcm92aWRlZCBieSBBZG9iZS4nOwokbGFuZ1snaGVscF9kZXNpZ25fY3NzJ10gPSAnVGlueU1DRSBjYW4gbG9hZCBhIHNldCBvZiBzdHlsZXNoZWV0cyBmcm9tIGEgZGVzaWduIGRlZmluZWQgaW4gdGhlIERlc2lnbiBNYW5hZ2VyIGluIG9yZGVyIHRvIGltcHJvdmUgdGhlIHZpc3VhbCBleHBlcmllbmNlLiBOb3RlIHRoYXQgaWYgdGhlIHtjb250ZW50fSB0YWcgaGFzIGEgPGVtPmNzc25hbWU8L2VtPiBwYXJhbWV0ZXIsIHRoaXMgcHJlZmVyZW5jZSB3aWxsIGJlIGlnbm9yZWQgaW4gdGhlIGRlZmF1bHQgSlMgdGVtcGxhdGUgKGJ1dCB5b3UgY2FuIGNyZWF0ZSBhIG5ldyBKUyB0ZW1wbGF0ZSB0byBjaGFuZ2UgdGhhdCBiZWhhdmlvcikuPGJyPjxicj48c3Ryb25nPkltcG9ydGFudDo8L3N0cm9uZz4gaWYgeW91XCdyZSB1c2luZyB0aGF0IGZlYXR1cmUsIHlvdSBtdXN0IGNsZWFyIHRoZSBDTVMgY2FjaGUgYWZ0ZXIgZXZlcnkgc3R5bGVzaGVldCBjaGFuZ2UgaW4gb3JkZXIgdG8gc2VlIGl0IGluIFRpbnlNQ0UuJzsKJGxhbmdbJ2hlbHBfZW5hYmxlX2N1c3RvbV9kcm9wZG93biddID0gJ0FkZHMgYSBzcGVjaWFsIGJ1dHRvbiBzbyB0aGUgZWRpdG9ycyBjYW4gYWRkIHNvbWUgc25pcHBldHMgKFNtYXJ0eSB0YWdzIG9yIG5vdCkgdG8gdGhlaXIgY29udGVudC4gRG9uXCd0IGZvcmdldCB0byBhZGQgdGhlIDxlbT48c3Ryb25nPmN1c3RvbWRyb3Bkb3duPC9zdHJvbmc+PC9lbT4gYnV0dG9uIHRvIHlvdXIgdG9vbGJhci4gVGhlIDxlbT5JbnNlcnQ8L2VtPiBtZW51IHNob3dzIGl0IHRvby4nOwokbGFuZ1snaGVscF9leHRlcm5hbF9tb2R1bGVzJ10gPSAnU29tZSB0aGlyZC1wYXJ0eSBtb2R1bGVzIGNhbiBnaXZlIHRvIFRpbnlNQ0UgYSBtZW51IHRvIGluY2x1ZGUgaXRlbXMuIFBsZWFzZSBzZWxlY3Qgd2hpY2ggbW9kdWxlIHNob3VsZCBiZSBsb2FkZWQuIERvblwndCBmb3JnZXQgdG8gYWRkIHRoZSBtb2R1bGUgYnV0dG9uIHRvIHRoZSB0b29sYmFyIGlmIHlvdSB3YW50IGl0IGhlcmUuIFRoZSA8ZW0+SW5zZXJ0PC9lbT4gbWVudSB3aWxsIHNob3cgaXQgdG9vLic7CiRsYW5nWydoZWxwX2V4dHJhX2pzJ10gPSAnU29tZSBKYXZhU2NyaXB0IGNvZGUgeW91IGNhbiBhZGQgdG8gdGhlIGluaXRpYWxpemF0aW9uIHNjcmlwdCB0byBhZGQgY3VzdG9tIG9wdGlvbnMgb3IgYmVoYXZpb3IuIFBsZWFzZSBzZXBhcmF0ZSBldmVyeSBvcHRpb24gd2l0aCBhIGNvbW1hLiBDaGVjayB0aGUgVGlueU1DRSBjb25maWd1cmF0aW9ucyBvcHRpb25zIHRvIHNlZSB3aGF0IHlvdSBjYW4gdXNlLic7CiRsYW5nWydoZWxwX2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nJ10gPSAnQWZ0ZXIgYW4gaW1hZ2UgdXBsb2FkLCB0aGUgZmlsZSBtYW5hZ2VyIGNhbiBhdXRvbWF0aWNhbGx5IHJlc2l6ZSB0aGUgaW1hZ2UgdG8gdGhlIGRlc2lyZWQgbWF4aW11bSBkaW1lbnNpb25zLiBVc2VmdWwgdG8gcHJldmVudCB1c2VycyBmcm9tIGluY2x1ZGluZyB0b28gYmlnL2xhcmdlIGltYWdlcyBpbiB0aGVpciBwYWdlcy4nOwokbGFuZ1snaGVscF9maWxlbWFuYWdlcl91c2UnXSA9ICdFbmFibGUgdGhlIGZpbGVtYW5hZ2VyIC0gTm90ZSB0aGF0IGZvciBzZWN1cml0eSByZWFzb25zLCB0aGUgZmlsZW1hbmFnZXIgd2lsbCBuZXZlciBiZSBsb2FkZWQgb24gdGhlIGZyb250ZW5kLjxicj48YnI+VGhlIGZpbGUgbWFuYWdlciB3aWxsIGJlIGxvYWRlZCBpbiB0aGUgPGVtPmFkZCBsaW5rPC9lbT4gYW5kIDxlbT5pbnNlcnQgaW1hZ2U8L2VtPiBkaWFsb2dzLCBidXQgeW91IGNhbiBhZGQgYSBidXR0b24gdG8geW91ciB0b29sYmFyIHRvbyB3aXRoIHRoZSBidXR0b246IDxlbT5yZXNwb25zaXZlZmlsZW1hbmFnZXI8L2VtPi4nOwokbGFuZ1snaGVscF9mb3JjZWRfcm9vdF9ibG9jayddID0gJ1RoaXMgb3B0aW9uIGVuYWJsZXMgeW91IHRvIG1ha2Ugc3VyZSB0aGF0IGFueSBub24gYmxvY2sgZWxlbWVudHMgb3IgdGV4dCBub2RlcyBhcmUgd3JhcHBlZCBpbiBibG9jayAocCkgZWxlbWVudHMuIEZvciBleGFtcGxlIDxzdHJvbmc+c29tZXRoaW5nPC9zdHJvbmc+IHdpbGwgcmVzdWx0IGluIG91dHB1dCBsaWtlOiAmbHQ7cCZndDs8c3Ryb25nPnNvbWV0aGluZzwvc3Ryb25nPiZsdDsvcCZndDsuPGJyPjxicj5JZiB1bmNoZWNrZWQsIHRoZSBlZGl0b3Igd2lsbCBuZXZlciBwcm9kdWNlIDxzdHJvbmc+Jmx0O3AmZ3Q7PC9zdHJvbmc+IHRhZ3Mgb24gZW50ZXIsIG9ubHkgYSA8c3Ryb25nPiZsdDticiZndDs8L3N0cm9uZz4uIFlvdSB3aWxsIGhhdmUgdG8gdXNlIFNoaWZ0K0VudGVyIHRvIHByb2R1Y2UgYSA8c3Ryb25nPiZsdDtwJmd0Ozwvc3Ryb25nPiB0YWcuJzsKJGxhbmdbJ2hlbHBfaW1hZ2VfY2xhc3NlcyddID0gJ0hlcmUgeW91IGNhbiB0ZWxsIFRpbnlNQ0Ugd2hpY2ggY2xhc3NlcyBjYW4gYmUgYXBwbGllZCB0byBhbiBpbWFnZS4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNob29zZSBpdCBmcm9tIHRoZSBhZGQvZWRpdCBpbWFnZSB3aW5kb3cuIFRoaXMgY2hvaWNlIHdpbGwgbm90IGJlIG1hbmRhdG9yeSBmb3IgdGhlIHVzZXIuJzsKJGxhbmdbJ2hlbHBfbGlua19jbGFzc2VzJ10gPSAnSGVyZSB5b3UgY2FuIHRlbGwgVGlueU1DRSB3aGljaCBjbGFzc2VzIGNhbiBiZSBhcHBsaWVkIHRvIGEgbGluay4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNob29zZSBpdCBmcm9tIHRoZSBhZGQvZWRpdCBsaW5rIHdpbmRvdy4gVGhpcyBjaG9pY2Ugd2lsbCBub3QgYmUgbWFuZGF0b3J5IGZvciB0aGUgdXNlci4nOwokbGFuZ1snaGVscF9qc190ZW1wbGF0ZSddID0gJ1RoZSBUaW55TUNFIG1vZHVsZSBjYW4gdXNlIGEgc3BlY2lmaWMgSmF2YVNjcmlwdCB0ZW1wbGF0ZS4gVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdhbnQgdG8gY29tcGxldGVseSBjdXN0b21pemUgdGhlIEphdmFTY3JpcHQgdGhhdCBjb25maWd1cmVzIFRpbnlNQ0UuPGJyPjxicj5JZiB5b3Ugd2FudCB0byBmb2xsb3cgdGhlIGxhdGVzdCBKUyBjb25maWd1cmF0aW9uIHRlbXBsYXRlIHNoaXBwZWQgd2l0aCB0aGUgbW9kdWxlLCBzZWxlY3QgdGhlIDxlbT5PcmlnaW5hbCB0ZW1wbGF0ZSBzaGlwcGVkIHdpdGggdGhlIG1vZHVsZTwvZW0+Ljxicj48YnI+SWYgeW91IGFyZSBhIGRldmVsb3BlciwgeW91ciBjYW4gY2hhbmdlIHRoaXMgcGFyYW1ldGVyIHRvIHVzZSBhIHRlbXBsYXRlIGZyb20gdGhlIERlc2lnbk1hbmFnZXIgYW5kIGN1c3RvbWl6ZSBpdC4gQmUgYXdhcmUgdGhhdCB5b3UgbWF5IGhhdmUgdG8gZWRpdCB5b3VyIGN1c3RvbSBKUyBjb25maWd1cmF0aW9uIG9uIGEgbmV3IG1vZHVsZSByZWxlYXNlIHRvIHVzZSBuZXcgZmVhdHVyZXMuJzsKJGxhbmdbJ2hlbHBfbWVudWJhciddID0gJ1NldCB3aGljaCBtZW51cyBhcmUgZGlzcGxheWVkIHRvIHRoZSBlZGl0b3IsIGFuZCBpbiB3aGljaCBwb3NpdGlvbi4gVGFrZSBhIGxvb2sgYXQgdGhlIGRvY3VtZW50YXRpb24gdG8gc2VlIHdoaWNoIG9wdGlvbnMgeW91IGNhbiB1c2UuJzsKJGxhbmdbJ2hlbHBfcGx1Z2lucyddID0gJ1RpbnlNQ0UgY2FuIGluY2x1ZGUgZXh0ZXJuYWwgcGx1Z2lucyB0byBleHRlbmQgaXRzIGZ1bmN0aW9ucy4gQmVmb3JlIGFkZGluZyBhbnkgYnV0dG9uIHRvIHRoZSBtZW51IG9yIHRvb2xiYXIsIHlvdSBtYXkgaGF2ZSB0byBpbmNsdWRlIGl0IGhlcmUuIE5vdGUgdGhhdCB0aGUgPGVtPmNtc21zX2xpbmtlcjwvZW0+LCA8ZW0+dGVtcGxhdGU8L2VtPiwgPGVtPmNvbnRleHRtZW51PC9lbT4gYW5kIDxlbT5yZXNwb25zaXZlZmlsZW1hbmFnZXI8L2VtPiBwbHVnaW5zIGFyZSBhdXRvbWF0aWNhbGx5IGluY2x1ZGVkLjxicj5SZWFkIHRoZSBkb2N1bWVudGF0aW9uIHRvIGdldCBhIGNvbXBsZXRlIGxpc3Qgb2YgYXZhaWxhYmxlIHBsdWdpbnMuJzsKJGxhbmdbJ2hlbHBfcHJpb3JpdHknXSA9ICdUaGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGNob29zZSB3aGljaCBwcm9maWxlIGhhcyB0aGUgcHJpb3JpdHkgd2hlbiBhIHVzZXIgaXMgaW4gbXVsdGlwbGUgdXNlciBncm91cHMgdGhhdCBoYXZlIHZhcmlvdXMgVGlueU1DRSBwcm9maWxlcy4gTG93ZXIgaXMgYmV0dGVyLjxicj48YnI+Rm9yIGluc3RhbmNlOiB1c2VyIDEgaXMgbGlua2VkIHRvICBncm91cHMgQSBhbmQgQy4gR3JvdXAgQSBoYXMgdGhlIFRpbnlNQ0UgcHJvZmlsZSBZLCBncm91cCBDIHRoZSBaLiBUaGUgcHJvZmlsZSB0aGUgdXNlciB3aWxsIGdldCB3aGVuIHVzaW5nIFRpbnlNQ0UgaXMgdGhlIG9uZSB0aGF0IGhhcyB0aGUgbG93ZXIgcHJpb3JpdHkgbnVtYmVyIGJldHdlZW4gWSBhbmQgWi4nOwokbGFuZ1snaGVscF9yZWxhdGl2ZV91cmxzJ10gPSAnSWYgY2hlY2tlZCwgYWxsIHRoZSBpbWFnZXMvZmlsZXMgdXJscyB3aWxsIGJlIGRlZmluZWQgcmVsYXRpdmUgdG8gdGhlIHJvb3QgdXJsIChleGFtcGxlOiA8ZW0+L3VwbG9hZHMvaW1hZ2VzL215aW1hZ2UuanBnPC9lbT4pLjxicj48YnI+SWYgdW5jaGVja2VkLCB0aGUgcm9vdCB1cmwgd2lsbCBhbHdheXMgYmUgaW5jbHVkZWQgaW4gdGhlIHNvdXJjZSBjb2RlIChleGFtcGxlOiA8ZW0+aHR0cDovL3d3dy5teS13ZWJzaXRlLmNvbS91cGxvYWRzL2ltYWdlcy9teWltYWdlLmpwZzwvZW0+KS4nOwokbGFuZ1snaGVscF9zaG93X3N0YXR1c2JhciddID0gJ1Nob3cgb3IgaGlkZSB0aGUgZWRpdG9yIHN0YXR1c2Jhci4gUGxlYXNlIG5vdGUgdGhhdCBlbmFibGluZyB0aGUgcmVzaXplIGZ1bmN0aW9uIHdpbGwgZm9yY2UgdGhlIHN0YXR1c2JhciB0byBiZSBzaG93bi4nOwokbGFuZ1snaGVscF9zdHlsZV9mb3JtYXRzJ10gPSAnVGhlIGVkaXRvciB1c2VycyBjYW4gaW5zZXJ0IGZvcm1hdHRlZCB0YWdzIHRvIGNvbnRlbnQgd2l0aCB0aGUgPGVtPkZvcm1hdHM8L2VtPiBkcm9wZG93biBtZW51LiBIZXJlIHlvdSBjYW4gZGVmaW5lIHdoaWNoIHN0eWxlIHdpbGwgYmUgYXZhaWxhYmxlIGluIHRoZSBkcm9wZG93bi4gTm90ZSB0aGF0IHRoaXMgd2lsbCBub3QgZGVmaW5lIGFueSB2aXN1YWwgc3R5bGVzIGZvciBDU1MgY2xhc3Nlcywgb25seSBnaXZlIHRoZSBjbGFzcyBuYW1lIHRoZSB0YWcuIFlvdSBtdXN0IGFkZCB0aGUgcHJvcGVyIENTUyBydWxlcyBpbiB5b3VyIENTUyBmaWxlKHMpIHRvIGdldCBhIHZpc3VhbCByZW5kZXIuIFRha2UgYSBsb29rIGF0IHRoZSBUaW55TUNFIGRvY3VtZW50YXRpb24gdG8gY29uZmlndXJlIHRoYXQgb3B0aW9uLjxicj48YnI+RG9uXCd0IGZvcmdldCB0byBhZGQgdGhlIDxlbT5zdHlsZXNlbGVjdDwvZW0+IGJ1dHRvbiB0byB5b3VyIHRvb2xiYXIgaWYgeW91IHdhbnQgaXQgaGVyZSc7CgokbGFuZ1snaGVscF90b29sYmFyJ10gPSAnRGVmaW5lIGFsbCB0aGUgYnV0dG9ucyB5b3Ugd2FudCB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIHRvb2xiYXIgKHRoZSBpY29ucyBiYXIpLiBOb3RlIHRoYXQgeW91IHdpbGwgbmVlZCB0byBsb2FkIHRoZSBhcHByb3ByaWF0ZSBwbHVnaW5zIGZvciBzb21lIGJ1dHRvbnMuJzsKJGxhbmdbJ2hlbHBfdXNlX2N1c3RvbV9ibG9ja19mb3JtYXRzJ10gPSAnQ3VzdG9taXplIHRoZSBmb3JtYXRzIGRyb3Bkb3duIHRvIGdpdmUgeW91ciB1c2VycyBvbmx5IHRoZSBmb3JtYXRzIHlvdSB3YW50IHRoZW0gdG8gdXNlLiBUaGlzIHdpbGwgb25seSB3b3JrIHdpdGggdGhlIDxlbT5mb3JtYXRzZWxlY3Q8L2VtPiBidXR0b24sIGFuZCB3aXRoIGJsb2NrLWxldmVsIHRhZyB0eXBlcyAoaDEuLjYsIGRpdiwgcHJlLCAuLi4pJzsKJGxhbmdbJ2hlbHBfdXNlcl90ZW1wbGF0ZXMnXSA9ICdVc2VyIHRlbXBsYXRlcyBhcmUgSFRNTCB0ZW1wbGF0ZXMvYmxvY2tzIHRoYXQgVGlueU1DRSB1c2VycyBjYW4gZWFzaWx5IGluY2x1ZGUgaW4gdGhlIGNvbnRlbnQgdXNpbmcgdGhlIDxlbT50ZW1wbGF0ZTwvZW0+IHBsdWdpbi4gWW91IGNhbiBjcmVhdGUgYXMgbWFueSB1c2VyIHRlbXBsYXRlcyBhcyB5b3Ugd2FudCBpbiB0aGUgQ01TTVMgRGVzaWduIE1hbmFnZXIgKHRlbXBsYXRlIHR5cGU6IDxlbT5UaW55TUNFIHVzZXIgdGVtcGxhdGU8L2VtPikuPGJyPjxicj5PbmNlIGVuYWJsZWQsIGRvblwndCBmb3JnZXQgdG8gYWRkIHRoZSA8ZW0+dGVtcGxhdGU8L2VtPiBidXR0b24gdG8geW91IHRvb2xiYXIsIGlmIG5lZWRlZC4gSXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBtZW51YmFyLic7CiRsYW5nWydoZWxwX3VzZXJncm91cHMnXSA9ICdTZWxlY3Qgd2hpY2ggdXNlciBncm91cHMgd2lsbCB1c2UgdGhlIGN1cnJlbnQgVGlueU1DRSBwcm9maWxlLiBOb3RlIHRoYXQgc2VsZWN0aW5nIGEgdXNlciBncm91cCB0aGF0IGlzIGN1cnJlbnRseSBsaW5rZWQgdG8gYW5vdGhlciBwcm9maWxlIHdpbGwgcmVtb3ZlIHRoZSBjdXJyZW50IGFzc29jaWF0aW9uLiBJZiBubyBwcm9maWxlIGlzIGZvdW5kIGZvciBhIHVzZXIgZ3JvdXAsIHRoZSBkZWZhdWx0IHByb2ZpbGUgd2lsbCBiZSB1c2VkLic7CgovLyBJCiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdlX2FkdnRhYiddID0gJ0VuYWJsZSB0aGUgYWR2YW5jZWQgdGFiIGZvciBpbWFnZXMgKHN0eWxlLCBzcGFjaW5nLCBib3JkZXIpJzsKJGxhbmdbJ2ltYWdlX2NsYXNzZXMnXSA9ICdDU1MgY2xhc3NlcyB0aGF0IGNhbiBiZSB1c2VkIGZvciBpbWFnZXMnOwokbGFuZ1snaW1hZ2VfY2xhc3Nlc19pbmZvJ10gPSAnT25lIGNsYXNzIHBlciBsaW5lLCBleGFtcGxlOiA8Y29kZT48ZW0+Qm9yZGVyZWQgaW1hZ2U9Ym9yZGVyZWQgYm9yZGVyLXJvdW5kPC9lbT48L2NvZGU+JzsKJGxhbmdbJ2ltYWdlX3BsdWdpbiddID0gJ0ltYWdlIHBsdWdpbiBvcHRpb25zJzsKJGxhbmdbJ2luZm9fbGlua2VyX2F1dG9jb21wbGV0ZSddID0gJ1RoaXMgaXMgYW4gYXV0byBjb21wbGV0ZSBmaWVsZC4gQmVnaW4gYnkgdHlwaW5nIGEgZmV3IGNoYXJhY3RlcnMgb2YgdGhlIGRlc2lyZWQgcGFnZSBhbGlhcywgbWVudSB0ZXh0LCBvciB0aXRsZS4gQW55IG1hdGNoaW5nIGl0ZW1zIHdpbGwgYmUgZGlzcGxheWVkIGluIGEgbGlzdC4nOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2FkbWluJ10gPSAnQWRtaW5pc3RyYXRvcnMnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2FkdmFuY2VkJ10gPSAnQWR2YW5jZWQnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2Zyb250ZW5kJ10gPSAnRnJvbnRlbmQnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX21pbmltYWwnXSA9ICdNaW5pbWFsJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9zdGFuZGFyZCddID0gJ1N0YW5kYXJkJzsKCi8vIEoKJGxhbmdbJ2pzX3RlbXBsYXRlJ10gPSAnSmF2YVNjcmlwdCB0ZW1wbGF0ZSc7CgovLyBMCiRsYW5nWydsaW5rX2NsYXNzZXMnXSA9ICdDU1MgY2xhc3NlcyB0aGF0IGNhbiBiZSB1c2VkIGZvciBsaW5rcyc7CiRsYW5nWydsaW5rX2NsYXNzZXNfaW5mbyddID0gJ09uZSBjbGFzcyBwZXIgbGluZSwgZXhhbXBsZTogPGNvZGU+PGVtPkJsdWUgYnV0dG9uPWJ0biBidG4tYmx1ZTwvZW0+PC9jb2RlPic7CiRsYW5nWydsb2FkaW5nX2luZm8nXSA9ICdMb2FkaW5nLi4uJzsKCi8vIE0KJGxhbmdbJ21lbnViYXInXSA9ICdNZW51YmFyJzsKCi8vIE4KJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25ld19wcm9maWxlJ10gPSAnQ3JlYXRlIGEgbmV3IHByb2ZpbGUnOwokbGFuZ1snbmV3d2luZG93J10gPSAnTmV3IHdpbmRvdyc7CiRsYW5nWydub19kZXNpZ25fbGlua2VkJ10gPSAnTm8gZGVzaWduJzsKJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKCi8vIE8KJGxhbmdbJ29yaWdfanNfdGVtcGxhdGVfZmlsZSddID0gJ09yaWdpbmFsIHRlbXBsYXRlIHNoaXBwZWQgd2l0aCB0aGUgbW9kdWxlJzsKCi8vIFAKJGxhbmdbJ3BsdWdpbnMnXSA9ICdQbHVnaW5zJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIFRpbnlNQ0UgZWRpdG9yIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuIDxzdHJvbmc+SW1wb3J0YW50Ojwvc3Ryb25nPiBpZiB5b3VcJ3JlIHVzaW5nIFVSTCBSZXdyaXRpbmcsIHBsZWFzZSB1cGRhdGUgeW91ciAuaHRhY2Nlc3MgZmlsZSAoc2VlIHRoZSBUaW55TUNFIGhlbHAgcGFnZSknOwokbGFuZ1sncHJpb3JpdHknXSA9ICdQcmlvcml0eSc7CiRsYW5nWydwcm9maWxlX2NvcGllZCddID0gJ1RoZSBwcm9maWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkdXBsaWNhdGVkJzsKJGxhbmdbJ3Byb2ZpbGVfZGVsZXRlZCddID0gJ1RoZSBwcm9maWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ3Byb2ZpbGVfbmFtZSddID0gJ1Byb2ZpbGUgbmFtZSc7CiRsYW5nWydwcm9maWxlX3NhdmVkJ10gPSAnUHJvZmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQnOwokbGFuZ1sncHJvZmlsZXMnXSA9ICdQcm9maWxlcyc7CiRsYW5nWydwcm9tcHRfbGlua2VyJ10gPSAnRW50ZXIgUGFnZSB0aXRsZSc7CiRsYW5nWydwcm9tcHRfcHJvZmlsZXMnXSA9ICdQcm9maWxlcyc7CiRsYW5nWydwcm9tcHRfc2VsZWN0ZWRhbGlhcyddID0gJ1NlbGVjdGVkIFBhZ2UgYWxpYXMnOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ3Byb21wdF90YXJnZXQnXSA9ICdUYXJnZXQnOwokbGFuZ1sncHJvbXB0X2NsYXNzJ10gPSAnQ2xhc3MgYXR0cmlidXRlJzsKJGxhbmdbJ3Byb21wdF9yZWwnXSA9ICdSZWwgYXR0cmlidXRlJzsKJGxhbmdbJ3Byb21wdF90ZXh0dG9kaXNwbGF5J10gPSAnVGV4dCB0byBkaXNwbGF5JzsKCi8vIFIKJGxhbmdbJ3JlbGF0aXZlX3VybHMnXSA9ICdVc2UgcmVsYXRpdmUgVVJMcyc7CiRsYW5nWydyZXNpemUnXSA9JyBSZXNpemUnOwokbGFuZ1sncmVzaXplX25vJ10gPSAnRG8gbm90IGFsbG93IHRvIHJlc2l6ZSc7CiRsYW5nWydyZXNpemVfdmVydGljYWwnXSA9ICdBbGxvdyB2ZXJ0aWNhbCByZXNpemluZyc7CiRsYW5nWydyZXNpemVfYm90aCddID0gJ0FsbG93IHZlcnRpY2FsIGFuZCBob3Jpem9udGFsIHJlc2l6aW5nJzsKCi8vIFMKJGxhbmdbJ3Nob3dfbWVudWJhciddID0gJ1Nob3cgbWVudWJhcic7CiRsYW5nWydzaG93X3N0YXR1c2JhciddID0gJ1Nob3cgc3RhdHVzYmFyJzsKJGxhbmdbJ3Nob3dfdG9vbGJhciddID0gJ1Nob3cgdG9vbGJhcic7CiRsYW5nWydzdHlsZV9mb3JtYXRzJ10gPSAnU3R5bGUgZm9ybWF0cyc7CiRsYW5nWydzdHlsZV9mb3JtYXRzX2luZm8nXSA9ICdPbmUgcnVsZSBwZXIgbGluZSwgZXhhbXBsZTogPGNvZGU+PGVtPnRpdGxlOiBcJ1JlZCB0aXRsZVwnLCBibG9jazogXCdoMlwnLCBjbGFzc2VzOiBcJ3RleHQtcmVkXCc8L2VtPjwvY29kZT4nOwokbGFuZ1snc3ViaGVscF9jb250ZXh0bWVudV9jb250ZW50J10gPSAnU3ludGF4OiA8ZW0+Y21zbXNfbGlua2VyIGxpbmsgaW1hZ2UgfCBpbnNlcnR0YWJsZSBjZWxsPC9lbT4nOwokbGFuZ1snc3ViaGVscF9jdXN0b21fYmxvY2tfZm9ybWF0cyddID0gJ1N5bnRheDogPGVtPlBhcmFncmFwaD1wO0hlYWRlciAxPWgxO0hlYWRlciAyPWgyPC9lbT4nOwokbGFuZ1snc3ViaGVscF90b29sYmFyJ10gPSAnU3ludGF4OiA8ZW0+dW5kbyByZWRvIHwgY3V0IGNvcHkgcGFzdGUgfCBib2xkIGl0YWxpYzwvZW0+PGJyPlNwZWNpYWwgQ01TTVMgYnV0dG9uczogPGVtPmN1c3RvbWRyb3Bkb3duPC9lbT4sIDxlbT5jbXNtc19saW5rZXI8L2VtPiwgPGVtPnJlc3BvbnNpdmVmaWxlbWFuYWdlcjwvZW0+JzsKJGxhbmdbJ3N1YmhlbHBfY3VzdG9tX2Ryb3Bkb3duJ10gPSAnU3ludGF4OiA8ZW0+SXRlbSB0aXRsZXxjb250ZW50IHRvIGFkZDwvZW0+IG9yIDxlbT5JdGVtIHRpdGxlfG9wZW5pbmcgY29udGVudHxlbmQgY29udGVudDwvZW0+IHRvIGFkZCA8ZW0+b3BlbmluZyBjb250ZW50PC9lbT4gYmVmb3JlIHNlbGVjdGlvbiwgYW5kIDxlbT5lbmQgY29udGVudDwvZW0+IGFmdGVyIGl0Ljxicj5Eb25cJ3QgZm9yZ2V0IHRvIGFkZCA8ZW0+PHN0cm9uZz5jdXN0b21kcm9wZG93bjwvc3Ryb25nPjwvZW0+IHRvIHlvdXIgdG9vbGJhciBidXR0b25zJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CgovLyBUCiRsYW5nWyd0YWJfZ2VuZXJhbF90aXRsZSddID0gJ0dlbmVyYWwnOwokbGFuZ1sndGFiX2FkdmFuY2VkX3RpdGxlJ10gPSAnQWR2YW5jZWQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMnOwokbGFuZ1sndGl0bGVfY21zbXNfbGlua2VyJ10gPSAnQ3JlYXRlIGEgbGluayB0byBhIGNvbnRlbnQgcGFnZSc7CiRsYW5nWyd0b29sYmFyJ10gPSAnVG9vbGJhcic7CiRsYW5nWyd0b29sYmFyMSddID0gJ1Rvb2xiYXIgLSAxc3QgbGluZSc7CiRsYW5nWyd0b29sYmFyMiddID0gJ1Rvb2xiYXIgLSAybmQgbGluZSc7CiRsYW5nWyd0b29sdGlwX3NlbGVjdGVkYWxpYXMnXSA9ICdUaGlzIGZpZWxkIGlzIHJlYWQgb25seSc7CiRsYW5nWyd0eXBlX1RpbnlNQ0UnXSA9ICdUaW55TUNFJzsKJGxhbmdbJ3R5cGVfanMnXSA9ICdKYXZhU2NyaXB0JzsKJGxhbmdbJ3R5cGVfanNfZGVzY3JpcHRpb24nXSA9ICdKYXZhU2NyaXB0IHNjcmlwdCB0aGF0IHJ1bnMgVGlueU1DRSAtIFVzaW5nIGEgdGVtcGxhdGUgZ2l2ZXMgeW91IGZ1bGwgY29udHJvbCB0byBjb21wbGV0ZWx5IGN1c3RvbWl6ZSBUaW55TUNFIGZvciBlYWNoIHByb2ZpbGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgVGlueU1DRSBkb2N1bWVudGF0aW9uIChodHRwczovL3d3dy50aW55bWNlLmNvbS9kb2NzLykgdG8gc2VlIGhvdyB0byBlZGl0IHRoYXQgc2NyaXB0Lic7CiRsYW5nWyd0eXBlX3VzZXJ0ZW1wbGF0ZSddID0gJ1RpbnlNQ0UgdXNlciB0ZW1wbGF0ZSc7CiRsYW5nWyd0eXBlX3VzZXJ0ZW1wbGF0ZV9kZXNjcmlwdGlvbiddID0gJ1lvdSBjYW4gdXNlIHRoYXQgdHlwZSBvZiB0ZW1wbGF0ZSB0byBjcmVhdGUgbWFueSBIVE1MIGJsb2NrcyB0aGUgVGlueU1DRSB1c2VycyBjYW4gaW5jbHVkZSBpbiB0aGVpciBjb250ZW50IHRocm91Z2ggdGhlIDxlbT50ZW1wbGF0ZXM8L2VtPiBUaW55TUNFIHBsdWdpbic7CgovLyBVCiRsYW5nWyd1c2VfYWR2YW5jZWRfbWVudSddID0gJ1VzZSBhZHZhbmNlZCBtZW51JzsKJGxhbmdbJ3VzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyddID0gJ1VzZSBhIGN1c3RvbSBmb3JtYXRzIGRyb3Bkb3duJzsKJGxhbmdbJ3VzZXJncm91cHMnXSA9ICdVc2VycyBncm91cHMnOwoKCgokbGFuZ1snaGVscCddID0gIDw8PEVPVAoKPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPgoJVGhpcyBtb2R1bGUgZW1iZWRzIHRoZSBmdWxsIFRpbnlNQ0UgV1lTSVdZRyBlZGl0b3IgdmVyc2lvbiBpbiBDTVMgTWFkZSBTaW1wbGUuIEl0IHdvcmtzIHdpdGggY29udGVudCBibG9ja3MgaW4gQ01TTVMgY29udGVudCBwYWdlcyAod2hlbiBhIFdZU0lXWUcgaGFzIGJlZW4gYWxsb3dlZCksIGluIG1vZHVsZSBBZG1pbiBmb3JtcyB3aGVyZSBXWVNJV1lHIGVkaXRvcnMgYXJlIGFsbG93ZWQsIGFuZCBhbGxvd3MgcmVzdHJpY3RlZCBjYXBhYmlsaXRpZXMgZm9yIGVkaXRpbmcgaHRtbCBibG9ja3Mgb24gZnJvbnRlbmQgcGFnZXMuCjwvcD4KPHA+SW4gb3JkZXIgZm9yIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyB0aGUgV1lTSVdZRyBlZGl0b3IgaW4gdGhlIEFkbWluIGNvbnNvbGUgdGhlIFRpbnlNQ0UgV1lTSVdZRyBFZGl0b3IgbmVlZHMgdG8gYmUgc2VsZWN0ZWQgaW4gdGhlIHVzZXJzIHByZWZlcmVuY2VzLiAgUGxlYXNlIHNlbGVjdCAmcXVvdDtUaW55TUNFJnF1b3Q7IGluIHRoZSAmcXVvdDtTZWxlY3QgV1lTSVdZRyB0byBVc2UmcXVvdDsgb3B0aW9uIHVuZGVyICZxdW90O015IFByZWZlcmVuY2VzICZndDsmZ3Q7IFVzZXIgUHJlZmVyZW5jZXMmcXVvdDsgaW4gdGhlIENNU01TIEFkbWluIHBhbmVsLiAgQWRkaXRpb25hbCBvcHRpb25zIGluIHZhcmlvdXMgbW9kdWxlcyBvciBpbiBjb250ZW50IHBhZ2UgdGVtcGxhdGVzLCBhbmQgY29udGVudCBwYWdlcyB0aGVtc2VsdmVzIGNhbiBjb250cm9sIHdoZXRoZXIgYSB0ZXh0IGFyZWEgb3IgYSBXWVNJV1lHIGZpZWxkIGlzIHByb3ZpZGVkIGluIHZhcmlvdXMgZWRpdCBmb3Jtcy48L3A+CjxwPkZvciBGcm9udGVuZCBlZGl0aW5nIGNhcGFiaWxpdGllcyBUaW55TUNFIG11c3QgYmUgc2VsZWN0ZWQgYXMgdGhlICZxdW90O0Zyb250ZW5kIFdZU0lXWUcmcXVvdDsgaW4gdGhlIGdsb2JhbCBzZXR0aW5ncyBwYWdlIG9mIHRoZSBDTVNNUyBhZG1pbiBjb25zb2xlLjwvcD4KCjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+Cgk8bGk+RnVsbCBuYXRpdmUgPGEgaHJlZj0iaHR0cDovL3d3dy50aW55bWNlLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPlRpbnlNQ0UgZWRpdG9yPC9hPiBpcyBhdmFpbGFibGUuPC9saT4KCTxsaT5Db25maWd1cmF0aW9uIHByb2ZpbGVzIGFuZCBiYWNrZW5kIGdyb3VwcyBhdHRyaWJ1dGlvbi48L2xpPgoJPGxpPkxvdHMgb2YgY3VzdG9taXphdGlvbiBvcHRpb25zOiB0b29sYmFyLCBtZW51YmFyLCBleHRlcm5hbCBtb2R1bGVzLCBjdXN0b20gc3R5bGVzLCAuLi48L2xpPgoJPGxpPlVzZXMgdGhlIGludGVybmFsIHBhZ2UgbGlua2VyIGZyb20gdGhlIE1pY3JvVGlueSBtb2R1bGUuPC9saT4KCTxsaT5FbWJlZHMgdGhlIHBvd2VyZnVsIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5SZXNwb25zaXZlIEZpbGUgTWFuYWdlcjwvYT4gdGhhbmtzIHRvIGl0cyBhdXRob3IgQWxiZXJ0byBQZXJpcG9sbGkuIE5vdGU6IGZvciBzZWN1cml0eSByZWFzb25zLCB0aGUgUmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXIgd2lsbCBub3QgYmUgYXZhaWxhYmxlIHRvIHRoZSBmcm9udGVuZCB1c2VyczwvbGk+Cgk8bGk+QWJpbGl0eSB0byB1c2UgYW4gZXh0ZXJuYWwgamF2YXNjcmlwdCB0ZW1wbGF0ZSBmaWxlIGZyb20gdGhlIERlc2lnbk1hbmFnZXIgaW5zdGVhZCBvZiB0aGUgc3RvY2sgSlMgZmlsZSAtIFRoaXMgcGVybWl0cyBhIGNvbXBsZXRlIGN1c3RvbWl6YXRpb24gb2YgdGhlIGluaXQgc2NyaXB0LjwvbGk+Cgk8bGk+Q3VzdG9taXphYmxlIGFwcGVhcmFuY2UgYnkgc3BlY2lmeWluZyBhIGRlc2lnbiB0byB1c2UgZm9yIHRoZSBlZGl0b3IuPC9saT4KPC91bD4KCjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPgo8dWw+Cgk8bGk+SW5zdGFsbCBhbmQgY29uZmlndXJlIHRoZSBtb2R1bGU8L2xpPgoJPGxpPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiByZWQiPkltcG9ydGFudDo8L3N0cm9uZz4gaWYgeW91J3JlIHVzaW5nIFVSTCBSZXdyaXRpbmcsIHlvdSBtdXN0IHVwZGF0ZSB5b3VyIC5odGFjY2VzcyBmaWxlIGFuZCByZXBsYWNlOgoJCTx1bD4KCQkJPGxpPjxjb2RlPlJlZGlyZWN0TWF0Y2ggNDAzIF4uKi9tb2R1bGVzLyguKilcLnBocDwvY29kZT4kJm5ic3A7d2l0aDo8L2xpPgoJCQk8bGk+PGNvZGU+UmVkaXJlY3RNYXRjaCA0MDMgXi4qL21vZHVsZXMvKD8hVGlueU1DRS9yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyL2ZpbGVtYW5hZ2VyLykuKlwucGhwJDwvY29kZT48L2xpPgoJCQk8bGk+Li4uIGluIG9yZGVyIHRvIG1ha2UgdGhlIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHdvcmsgLSBJZiB5b3UgYWxyZWFkeSBkaWQgc29tZSBjaGFuZ2VzIG9uIHRoYXQgbGluZSwgcGxlYXNlIHVwZGF0ZSB0aGUgcnVsZSBhY2NvcmRpbmdseTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+Q3JlYXRlIGFuZCBjb25maWd1cmUgdGhlIGFwcHJvcHJpYXRlIHByb2ZpbGVzIGluIDxlbT5FeHRlbnNpb25zPC9lbT4gLyA8ZW0+VGlueU1DRSBXWVNJV1lHIGVkaXRvcjwvZW0+PC9saT4KCTxsaT5Eb24ndCBmb3JnZXQgdG8gbGluayBwcm9maWxlcyB3aXRoIGJhY2tlbmQgdXNlciBncm91cHMgKG9yIGZyb250ZW5kKSBpbiB0aGUgVGlueU1DRSBwcm9maWxlPC9saT4KCTxsaT5TZXQgVGlueU1DRSBhcyB5b3VyIFdZU0lXWUcgZWRpdG9yIG9mIGNob2ljZSBpbiAmcXVvdDtNeSBQcmVmZXJlbmNlcyZxdW90OzwvbGk+CjwvdWw+Cgo8cD4KCU5vdGUgYWJvdXQgcHJvZmlsZSBlZGl0aW9uOiB0aGUgYmFja2VuZCB1c2VyIDxzdHJvbmc+bXVzdCBoYXZlPC9zdHJvbmc+IHRoZSA8ZW0+TWFuYWdlIFRpbnlNQ0UgcHJvZmlsZXM8L2VtPiBwZXJtaXNzaW9uIHRvIGdldCB0aGUgVGlueU1DRSBBZG1pbiBwYWdlLgo8L3A+Cgo8aDM+Q2FjaGluZzo8L2gzPgo8cD5JbiBhbiBlZmZvcnQgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSwgVGlueU1DRSB3aWxsIGF0dGVtcHQgdG8gY2FjaGUgdGhlIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGZpbGVzIHVubGVzcyBzb21ldGhpbmcgaGFzIGNoYW5nZWQuIFNhdmluZyBhIHByb2ZpbGUgb3IgY2xlYXJpbmcgdGhlIENNUyBNYWRlIFNpbXBsZSBjYWNoZSB3aWxsIGFsd2F5cyByZXNldCB0aGUgSlMgY2FjaGUgZmlsZS48L3A+Cgo8aDM+TW9kdWxlIGRldmVsb3BlcnM6IGhvdyB0byBjcmVhdGUgYSBuZXcgYnV0dG9uIGZvciBteSBtb2R1bGUgaW4gVGlueU1DRT88L2gzPgo8cD4KCVlvdSBtdXN0IGFkZCB0aHJlZSBmdW5jdGlvbnMgdG8geW91ciBtYWluIG1vZHVsZSBjbGFzcyAtIEV4YW1wbGUgZm9yIHRoZSBHYWxsZXJ5IG1vZHVsZToKPC9wPgoKPGNvZGU+PHByZT4KCWZ1bmN0aW9uIEhhc0NhcGFiaWxpdHkoJiMzNjtjYXBhYmlsaXR5LCAmIzM2O3BhcmFtcz1hcnJheSgpKSB7CgkJaWYgKCYjMzY7Y2FwYWJpbGl0eT09J1dZU0lXWUdJdGVtcycpIHJldHVybiB0cnVlOwoJCXJldHVybiBmYWxzZTsKCX0KCglmdW5jdGlvbiBHZXRXWVNJV1lHQnRuTmFtZSgpCgl7CgkJcmV0dXJuICdtb2R1bGVfZ2FsbGVyeSc7Cgl9CgoJZnVuY3Rpb24gR2V0V1lTSVdZR0J0bigmIzM2O3d5c2l3eWdfbW9kdWxlKQoJewoJCS8vIFRFU1QgQVJSQVkgRVhBTVBMRQoJCSYjMzY7aXRlbXMgPSBhcnJheSgKCQkJYXJyYXkoCgkJCQknbWVudV90ZXh0JyA9PiAnR2FsbGVyeSAxJywKCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdkaXIxJ30iLCAvLyBFbXB0eSA9IG5vIGFjdGlvbiBvbiBjbGljawoJCQkJJ2NoaWxkcmVuJyA9PiBhcnJheSgKCQkJCQlhcnJheSgKCQkJCQkJJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMS4xJywKCQkJCQkJJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjExJ30iCgkJCQkJCSdjaGlsZHJlbicgPT4gYXJyYXkoKSAvLyBZb3UgY2FuIGhhdmUgYXMgbWFueSBzdWJsZXZlbHMgYXMgeW91IG5lZWQKCQkJCQkpLAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAxLjInLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMTInfSIKCQkJCQkpLAoJCQkJCWFycmF5KAoJCQkJCQknbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAxLjMnLAoJCQkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMTMnfSIKCQkJCQkpCgkJCQkpCgkJCSksCgkJCWFycmF5KAoJCQkJJ21lbnVfdGV4dCcgPT4gJ0dhbGxlcnkgMicsCgkJCQknY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nZGlyMid9IiwgLy8gRW1wdHkgPSBubyBhY3Rpb24gb24gY2xpY2sKCQkJCSdjaGlsZHJlbicgPT4gYXJyYXkoCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMScsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMSd9IgoJCQkJCSksCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMicsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMid9IgoJCQkJCSksCgkJCQkJYXJyYXkoCgkJCQkJCSdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMycsCgkJCQkJCSdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMyd9IgoJCQkJCSkKCQkJCSkKCQkJKQoJCSk7CgoJCS8vIEJVSUxEIFRIRSBCVVRUT04gT0JKRUNUIFVTRUQgQlkgVEhFIFRpbnlNQ0UgTU9EVUxFCgkJaWYgKCYjMzY7d3lzaXd5Z19tb2R1bGUgPT0gJ1RpbnlNQ0UnKQoJCXsKCQkJJiMzNjtvYmogPSBuZXcgdGlueW1jZV9tb2R1bGVtZW51OwoJCQkmIzM2O29iai0+bW9kdWxlX25hbWUgPSAmIzM2O3RoaXMtPkdldE5hbWUoKTsKCQkJJiMzNjtvYmotPmJ1dHRvbl9uYW1lID0gJiMzNjt0aGlzLT5HZXRXWVNJV1lHQnRuTmFtZSgpOwoJCQkmIzM2O29iai0+dGl0bGUgPSAmIzM2O3RoaXMtPkxhbmcoJ3RpbnltY2VfYnV0dG9uX3BpY2tlcicpOwoJCQkmIzM2O29iai0+dG9vbHRpcCA9ICYjMzY7dGhpcy0+TGFuZygndGlueW1jZV9kZXNjcmlwdGlvbl9waWNrZXInKTsKCQkJJiMzNjtvYmotPmljb24gPSAnaW1hZ2UnOwoJCQkmIzM2O29iai0+aW1hZ2UgPSAmIzM2O3RoaXMtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvaW1hZ2VzL2ljb24uZ2lmJzsKCQkJJiMzNjtvYmotPm1lbnVfZW50cmllcyA9ICYjMzY7aXRlbXM7CgkJCSYjMzY7b2JqLT5tZW51X3NlY3Rpb24gPSAnaW5zZXJ0JzsKCgkJCXJldHVybiAmIzM2O29iajsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQo8L3ByZT48L2NvZGU+Cgo8cD4KCVRoZSA8c3Ryb25nPkdldFdZU0lXWUdCdG4oKTwvc3Ryb25nPiBmdW5jdGlvbiBtdXN0IHJldHVybiBhIDxzdHJvbmc+dGlueW1jZV9tb2R1bGVtZW51PC9zdHJvbmc+IG9iamVjdCB3aXRoIGFuIGFycmF5IDxlbT5tZW51X2VudHJpZXM8L2VtPiBwcm9wZXJ0eS4KPC9wPgo8YnI+Cgo8aDM+TGljZW5zZSBpbmZvcm1hdGlvbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSBpcyBmcmVlIHNvZnR3YXJlIC0geW91IGNhbiB1c2UgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAyIG9yIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+PHN0cm9uZz5Ib3dldmVyPC9zdHJvbmc+LCB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPlJlc3BvbnNpdmUgRmlsZU1hbmFnZXI8L2E+IGlzIGxpY2Vuc2VkIHVuZGVyIGEgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmMvMy4wLyIgdGFyZ2V0PSJfYmxhbmsiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjAgVW5wb3J0ZWQgTGljZW5zZTwvYT4uIFRoZSBUaW55TUNFIG1vZHVsZSBpbmNsdWRlcyBpdCA8c3Ryb25nPndpdGggdGhlIHBlcm1pc3Npb24gZnJvbSBBbGJlcnRvIFBlcmlwb2xsaTwvc3Ryb25nPiBnaXZlbiBvbiAyMDE2LTAxLTE5LiBUaGFuayB5b3UgQWxiZXJ0byEgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPklmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhhdCBwcm9qZWN0LCBwbGVhc2UgY2hlY2sgdGhpcyBwYWdlIGFuZCBtYWtlIGEgZnJlZSBkb25hdGlvbi48L2E+PC9wPgoKPGgzPkhlbHAgYW5kIHN1cHBvcnQ8L2gzPgo8cD5XZSB0cmllZCB0byBleHBsYWluIGVhY2ggY29uZmlndXJhdGlvbiBvcHRpb24gb24gdGhlIHByb2ZpbGUgZWRpdGlvbiBBZG1pbiBwYWdlLiBQbGVhc2UgdXNlIHRoZSAiPyIgYnV0dG9ucyBuZWFyIGVhY2ggb3B0aW9uIHRvIGdldCBtb3JlIGluZm9ybWF0aW9ucy48L3A+Cgo8aDM+QnVnIHJlcG9ydCBvciBmZWF0dXJlIHJlcXVlc3Q8L2gzPgo8cD4KCUNoZWNrb3V0IHRoZSBDTVMgTWFkZSBTaW1wbGUgZm9yZ2U6IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvdGlueW1jZSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvdGlueW1jZTwvYT4KPC9wPgoKPGgzPkF1dGhvcnM8L2gzPgo8dWw+Cgk8bGk+TW9ydGVuIFBvdWxzZW46IDxhIGhyZWY9Im1haWx0bzptb3J0ZW5AcG91bHNlbi5vcmciPm1vcnRlbkBwb3Vsc2VuLm9yZzwvYT48L2xpPgoJPGxpPlJvbGYgVGphc3NlbnM6IDxhIGhyZWY9Im1haWx0bzpyb2xmQGNtc21hZGVzaW1wbGUub3JnIj5yb2xmQGNtc21hZGVzaW1wbGUub3JnPC9hPjwvbGk+Cgk8bGk+TWF0aGlldSBNdXRoczogPGEgaHJlZj0ibWFpbHRvOmNvbnRhY3RAYWlyZWxpYnJlLmZyIj5jb250YWN0QGFpcmVsaWJyZS5mcjwvYT48L2xpPgo8L3VsPgpFT1Q7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/ar_AR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3dzIG1haW5seSBjb250ZW50LCBidXQgcG9zc2libHkgYWxzbyBvdGhlciBraW5kcyBvZiBkYXRhLCB0byBiZSBlZGl0ZWQgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBwb3dlcmVkIGJ5IHRoZSBUaW55TUNFIHByb2plY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdTdHJpcCBCYWNrZ3JvdW5kIFRhZ3MgRnJvbSBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1RoaXMgb3B0aW9ucyB0cmllcyB0byByZW1vdmUgYmFja2dyb3VuZC10eXBlIHNldHRpbmdzIGZyb20gdGhlIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICdBcHBseSBzb3VyY2UgZm9ybWF0dGluZyB0byB0aGUgb3V0cHV0IEhUTUwnOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2NrZm9ybWF0cyBpbiBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnQWxsb3cgdGFibGUgb3BlcmF0aW9ucyc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ05ld2xpbmUtc3R5bGUnOwokbGFuZ1sncHN0eWxlJ10gPSAnPHA+LXN0eWxlJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICc8YnIvPi1zdHlsZSc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdVc2UgZ3ogY29tcHJlc3Npb24nOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnVGhpcyBjYW4gc3BlZWQgdXAgbG9hZGluZyBUaW55TUNFLCBidXQgY2FuIGFsc28gcHJldmVudCBpdCBmcm9tIGxvYWRpbmcgb24gc29tZSBzeXN0ZW1zLiBVc2Ugd2l0aCBjYXV0aW9uLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnRm9yY2UgPHA+IHJvb3RibG9jayc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnRm9yY2VzIHRoZSByZXR1cm5lZCBjb250ZW50IHRvIGF0IGxlYXN0IGJlIGVuY2xvc2VkIGluIGEgPHA+LXRhZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdGaWxlcGlja2VyIHN0eWxlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRmlsZXBpY2tlciBzaXplJzsKJGxhbmdbJ2FsbG93dXBsb2FkdGV4dCddID0gJ0FsbG93IHVwbG9hZCBhbmQgY3JlYXRpbmcgZGlycyBpbiBGaWxlUGlja2VyJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICdBbGxvdyBvbi10aGUtZmx5IHJlc2l6aW5nIG9mIHVwbG9hZGVkIGltYWdlcyc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdEZWZhdWx0IGRpbWVuc2lvbnMnOwokbGFuZ1sncmVzaXpldG8nXSA9ICdSZXNpemUgdG86JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdNYWtlIGEgdGh1bWJuYWlsIHdoZW4gdXBsb2FkaW5nIGltYWdlcyc7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdVc2UgYWR2YW5jZWQgVGlueU1DRS1wcm9maWxlJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAnU2F2ZSBwcm9maWxlJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1RoZSBwcm9maWxlIHdhcyBzYXZlZCc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxlcyc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQWR2YW5jZWQgYmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICdTYXZlIHN0eWxlcyc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ0FsbG93IHVzYWdlIG9mIGFkdmFuY2VkIHByb2ZpbGUgaW4gVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IG9wdGlvbnMnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgaW4gb3B0aW9ucyBsaWtlIHVwbG9hZCwgbWFrZSBkaXIgYW5kIGZpbGUgZGVsZXRpb24gaW4gRmlsZVBpY2tlciwgaWYgdGhlIHVzZXIgaXMgYWxsb3dlZCB0byBwZXJmb3JtIHRoZXNlLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdSZXN0cmljdCB1c2VyJiMwMzk7cyBkaXIgYWNjZXNzJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUaGlzIHdpbGwgcmVzdHJpY3QgdGhlIGZpbGVtYW5hZ2VtZW50LWNhcGFiaWxpdGllcyBvZiB0aGUgdXNlciB0byBhIHN1YmRpciB0byAmIzAzOTt1cGxvYWRzJiMwMzk7IHdoaWNoIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgdXNlciYjMDM5O3MgbG9naW4uIElmIHRoZSBzdWJkaXIgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgcG9zc2libHkgYmUgY3JlYXRlZC4gUGxlYXNlIG5vdGUsIHRoaXMgY3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCB0aGUgc3RhbmRhcmQgZGlybmFtZXMsIHVwbG9hZHMvaW1hZ2VzLiBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgZmlsZSBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ2NvdWxkIG5vdCBiZSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcmZhaWxlZCddID0gJ2NvdWxkIG5vdCBiZSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgZW1wdHkgc3ViZGlyIHNob3VsZCBiZSBkZWxldGVkPyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdEZWxldGUgZW1wdHkgc3ViZGlyJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdEZWxldGUgRmlsZSc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnQ2Fubm90IHJlYWQgdGhlIGZpbGUgdGlueWNvbmZpZy5waHAgZGlyZWN0bHkgc28gVGlueU1DRSB3aWxsIHByb2JhYmx5IG5vdCB3b3JrLiBZb3Ugc2hvdWxkIGNoZWNrIHRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBhbmQgb2YgdGhlIHBhcmVudCBkaXJzLCB3aGljaCBzaG91bGQgYmUgcmVhZGFibGUgZm9yIGFsbCBidXQgb25seSB3cml0YWJsZSBmb3Igb3duZXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1Nob3cgZmlsZW5hbWVzJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnU2hvdyB0aHVtYm5haWxzJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdTaG93IHRodW1ibmFpbC1maWxlcyBhcyByZWd1bGFyIGZpbGVzJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1Nob3cgYm90aCBmaWxlbmFtZXMgYW5kIHRodW1ibmFpbHMnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2tpbic7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1NraW4gdmFyaWF0aW9uJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+UGxlYXNlIG5vdGUhPGJyLz5DaGFuZ2luZyB0aGVzZSBzZXR0aW5ncyBjYW4gY2F1c2UgVGlueU1DRSB0byBzdG9wIHdvcmtpbmcgb3IgdGhlIGdlbmVyYXRlZCBjb2RlIHRvIGJlIHdyb25nIGluIHNvbWUgd2F5LiBPbmx5IGVkaXQgdGhpcyBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchIFBsZWFzZSBjb25zdWx0IHRoZSBUaW55TUNFIHdlYnNpdGUgYmVmb3JlIHBsYXlpbmcgd2l0aCB0aGlzLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnRW5jb2Rpbmcgb2YgZW50aXRpZXMnOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSYXcgZW5jb2RpbmcgKGZhc3Rlc3QsIHdvcmtzIGluIG1vc3QgY2FzZXMpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOYW1lZCBlbmNvZGluZyAobGlrZSAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ051bWVyaWMgZW5jb2RpbmcgKGxpa2UgJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdTaG93IHRoZSBwYXRoIG9mIHRoZSBlbGVtZW50IGF0IHRoZSBib3R0b20gb2YgdGhlIGVkaXRvcic7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ1Rvb2xiYXInOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnVGhlc2Ugb3B0aW9ucyBzaG91bGQgY29udGFpbiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGJ1dHRvbi9jb250cm9sIG5hbWVzIHRvIGluc2VydCBpbnRvIHRoZSB0b29sYmFyLiBUaGUgY2hhciB8IGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIHdvcmQgJiMwMzk7c2VwYXJhdG9yJiMwMzk7JzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ1Rvb2xiYXInOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnQ2xpY2sgaGVyZSB0byB2aWV3IHRvb2xiYXItaW5zdHJ1Y3Rpb25zIGluIFRpbnlNQ0Utd2lraS4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICdXaWR0aCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnSGVpZ2h0IG9mIGVkaXRvciBmaWVsZCc7CiRsYW5nWydhdXRvJ10gPSAnQXV0byc7CiRsYW5nWydvciddID0gJ29yJzsKJGxhbmdbJ3Rlc3RhcmVhX3RhYiddID0gJ1Rlc3RpbmcgYXJlYSc7CiRsYW5nWydzaG93dGVzdGluZ291dHB1dCddID0gJ1Nob3cgdGVzdGluZyBvdXRwdXQnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN0aW5nIGFyZWEgZWRpdG9yJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnVGVzdGluZyBhcmVhIG91dHB1dCc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dHNvdXJjZSddID0gJ1Rlc3RpbmcgYXJlYSBzb3VyY2UnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ0FsbG93IGlucGxhY2UgcmVzaXppbmcgb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdEbyBub3QgYWxsb3cgcmVzaXppbmcnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ0FsbG93IHJlc2l6aW5nIGluIGJvdGggZGlyZWN0aW9ucyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdBbGxvdyByZXNpemluZyBvZiBoZWlnaHQgb25seSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0ZS9UaW1lIGZvcm1hdCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpbWUnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRlJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGljayBoZXJlIGZvciBoZWxwIG9uIGhvdyB0byBmb3JtYXQgdGhlIGRhdGUvdGltZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdPbmUgc3RhdGVtZW50IHBlciBsaW5lLCBjb21tYXMgd2lsbCBiZSBhZGRlZCBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgY29udGVudC4gQ2hlY2sgVGlueU1DRS13aWtpIGZvciBpbnN0cnVjdGlvbnMuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ0N1c3RvbSBkcm9wZG93bic7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdJbnNlcnRzIGN1c3RvbWl6YWJsZSBzbmlwcGV0cyBvZiBjb2RlL3RleHQgYnkgc2VsZWN0aW9uIGluIGEgZHJvcGRvd24gbWVudS4gDQpPYnZpb3VzIHVzZXMgYXJlIGVhc3kgYWNjZXNzIHRvIHRhZyYjMDM5O3MgZXRjLiBUaGUgbWVudSBpcyBpbnNlcnRlZCBpbnRvIHRvb2xiYXIgdXNpbmcgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydHVwIGVuYWJsZWQnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ1VuY2hlY2tpbmcgdGhpcyBzdGFydHMgdXAgVGlueS1lZGl0b3JzIGluIGEgZGlzYWJsZWQgc3RhdGUuIFNob3VsZCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIHRvZ2dsZSBidXR0b24uJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnTG9hZCB0aGUgQ01TLWxpbmtlcic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ1RoaXMgZ2VuZXJhdGVzIHRoZSBqYXZhc2NyaXB0LWNvZGUgbmVlZGVkIHRvIGFsbG93ICYjMDM5O2Ntc2xpbmtlciYjMDM5OyB0byBiZSBhZGRlZCB0byBhIHRvb2xiYXIuJzsKJGxhbmdbJ2Ntc2xpbmtlcnN0eWxldGV4dCddID0gJ0NNUy1saW5rZXIgbGluay1zdHlsZSc7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30tc3R5bGUnOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzxhIGhyZWY+LXN0eWxlJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHN0ZXh0J10gPSAnQ01TLWxpbmtlciBhZGRpdGlvbnMnOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdUaGlzIGFsbG93cyB5b3UgdG8gYWRkIHN0dWZmIHRvIGVpdGhlciB0aGUgPGEgaHJlZj4tdGFnIG9yIHtjbXNfc2VsZmxpbmt9LCB3aGVuIGdlbmVyYXRlZCBieSBDTVMtbGlua2VyLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ0F2b2lkIGxpbmsgY29udmVyc2lvbic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9uaGVscCddID0gJ1R1cm5zIFRpbnlNQ0UmIzAzOTtzIGJ1aWx0aW4gbGluayBjb252ZXJzaW9uIGxvZ2ljIG9mZi4gTWFrZXMge3NtYXJ0eX0tdXNhZ2UgaW4gdXJscyBwb3NzaWJsZS4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyYXRlIHJlbGF0aXZlIHVybHMnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ0ZvcmNlIGNsZWFuIG9uIHBhc3RlJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdUaGlzIHNob3VsZCBiZSBlbmFibGVkIHRvIHJlbW92ZSBzdHJhbmdlIGZvcm1hdHRpbmcgY29kZXMgd2hlbiBwYXN0aW5nIGZyb20gV29yZCBldGMuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHkgdGFnIENTUyc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICdXaWxsIGJlIGFkZGVkIHRvIHRoZSBjc3MgYm9keS1kZWZpbml0aW9uLiBIaW50OiBCYWNrZ3JvdW5kLWNvbG9yIGNhbiBiZSBzZXQgdG8gd2hpdGUgdXNpbmcgJnF1b3Q7YmFja2dyb3VuZC1jb2xvcjogd2hpdGUmcXVvdDsnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfdGV4dCddID0gJ0luY2x1ZGUgb25seSBzY3JlZW4gQ1NTJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdTZWxlY3RpbmcgdGhpcyBhbGxvd3Mgb25seSBhdHRhY2hlZCBzdHlsZXNoZWV0cyB3aXRoIHRoZSBzY3JlZW4tbWVkaWF0eXBlIHNlbGVjdGVkIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBzdHlsZXMgVGlueU1DRSBoYW5kbGVzLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVXNlIHN0YXRpYyBjb25maWcgZmlsZSc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAnVGhpcyBjYW4gaGVscCBnZXR0aW5nIHRpbnkgdG8gd29yayBvbiBzeXN0ZW1zIHdoZXJlIHRoZSBob3N0aW5nIGZhY2lsaXR5IGFkZHMgc3R1ZmYgbGlrZSBzdGF0aXN0aWNzIGV0Yy4gdG8gYWxsIG91dHB1dCwgYnJlYWtpbmcgZHluYW1pY2FsbHkgY3JlYXRlZCBqYXZhc2NyaXB0IGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3dhcm5pbmcnXSA9ICdXYXJuaW5nISBZb3UgaGF2ZSB0aGUgc3RhdGljIGNvbmZpZy1maWxlIG9wdGlvbiBlbmFibGVkIGJ1dCB5b3VyIC90bXAvIGRpciBpcyBub3Qgd3JpdGFibGUuIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBtb2R1bGUgZnJvbSBzYXZpbmcgdGhlIHN0YXRpYyBjb25maWctZmlsZSBhbmQgd2lsbCBtb3N0IHByb2JhYmx5IHJlbmRlciBUaW55TUNFIGlub3BlcmF0aW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yZSB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnV2FybmluZyEgVGhpcyBhbGxvd3Mgc29tZSBmaWxlLWFsdGVyaW5nIG9wZXJhdGlvbnMgZXZlbiBpZiB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gaXMgbm90IHNldCBmb3IgdGhlIGN1cnJlbnQgdXNlcmdyb3VwLiBUaGlzIGNhbiBlZmZlY3RpdmVseSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIG9wdGlvbiB0byByZXN0cmljdCB1c2VyJiMwMzk7cyBkaXJlY3RvcnkgYWNjZXNzLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdTaG93IGNoZWNrYm94IHRvIHR1cm4gd3lzaXd5ZyBvbi9vZmYnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1R1cm4gV1lTSVdZRyBvbi9vZmYnOwokbGFuZ1snc3R5bGVzX3RhYiddID0gJ0NTUyBTdHlsZXMnOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgIElmIHlvdSBsZWF2ZSB0aGUgZmllbGQgZW1wdHksIFRpbnlNQ0Ugd2lsbCBwYXJzZSB5b3VyIENTUyBmaWxlIGFuZCBsaXN0IHRoZSBjbGFzcyBzdHlsZXMgY29udGFpbmVkIGluIGl0IHRvIHRoZSB1c2VyLiANCiAgSWYgeW91IHdhbnQgb25seSBzb21lIHN0eWxlcyBwcmVzZW50ZWQgdG8gdGhlIHVzZXIsIHNwZWNpZnkgdGhlbSBpbiB0aGUgZm9ybSAmcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywgDQogICZxdW90O3N0eWxlMSZxdW90OyBiZWluZyBhIGNsYXNzIGNhbGwgaW4geW91ciBzdHlsZXNoZWV0IGFuZCB5b3UgZG9uJiMwMzk7dCBwdXQgdGhlIC4gDQogIG5vcm1hbGx5IHVzZWQgZm9yIGNsYXNzIGNhbGxzIGFzIGl0IGlzIGFscmVhZHkgaW4geW91ciBDU1MsIGl0IHdpbGwgbG9vayBsaWtlIHRoaXMgPHNwYW4gY2xhc3M9JnF1b3Q7c3R5bGUxJnF1b3Q7PnRleHQ8L3NwYW4+LCANCiAgaW4gdGhlIGZpcnN0IGZpZWxkIGJlbG93LiANCic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICdTdHlsZXMnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ9iq2YLYr9mK2YUnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ9it2YHYuCDYp9mE2KXYudiv2KfYr9in2KonOwokbGFuZ1snc2V0dGluZ3MnXSA9ICfYpdi52K/Yp9iv2KfYqic7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnU2V0dGluZ3Mgd2VyZSBzYXZlZCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiBEb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdTYXZlIHBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lucyBzYXZlZCc7CiRsYW5nWydwbHVnaW5zX21vZHVsZSddID0gJ01vZHVsZSBQbHVnaW5zJzsKJGxhbmdbJ3BsdWdpbnNfY29tbW9uJ10gPSAnQ29tbW9uIFBsdWdpbnMnOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxlJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1sncGx1Z2luJ10gPSAnUGx1Z2luJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ1lvdSBhcmUgaW4nOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTG9hZCBzdHlsZXNoZWV0IGZvciBjb250ZW50IChyZWNvbW1lbmRlZCknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnQWRkaXRpb25zIHRvIHN0eWxlc2hlZXQnOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTIGVudGVyZWQgaGVyZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzdHlsZXNoZWV0IHJlYWQgYnkgVGlueU1DRSBhZnRlciBpdCByZWNpZXZlcyB0aGUgQ01TbXMgc3R5bGVzJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOZXcgZmlsZSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnVXBsb2FkJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ05ldyBkaXInOwokbGFuZ1snY3JlYXRlZGlyJ10gPSAnQ3JlYXRlJzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ05vIGRpcm5hbWUgcHJvdmlkZWQnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnRGlybmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTmV3IGRpciBzdWNjZXNzZnVsbHkgY3JlYXRlZCc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdBbiBlcnJvciBvY2N1cmVkIHRyeWluZyB0byBjcmVhdGUgZGlyJzsKJGxhbmdbJ25vZmlsZSddID0gJ05vIGZpbGUgd2FzIHVwbG9hZGVkJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdVcGxvYWRlZCBmaWxlIGlzIHRvbyBiaWcnOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdGaWxlbmFtZSBjb250YWlucyBvbmUgb3IgbW9yZSBpbGxlZ2FsIGNoYXJhY3RlcnMgKCYjMDM5OywmcXVvdDssKywqLFwsLywmYW1wOywkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdFcnJvciBtb3ZpbmcgdXBsb2FkZWQgZmlsZSBpbnRvIHBsYWNlJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0ZpbGUgc3VjY2Vzc2Z1bGx5IHVwbG9hZGVkJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICdUaGUgdXBsb2FkZWQgZmlsZSBpcyBub3QgYW4gaW1hZ2UnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSBGaWxlIFNlbGVjdGlvbic7CiRsYW5nWydzdWNjZXNzJ10gPSAnU3VjY2Vzcyc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbGUgb3BlcmF0aW9ucyc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ9it2KzZhSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnV3hIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0FkdmFuY2VkJzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPg0KCTxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPg0KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4NCiAgPHA+QXMgb2YgdmVyc2lvbiAyLjYuMCwgVGlueU1DRSBpbmNsdWRlcyBhbiBvbmxpbmUgc3BlbGxjaGVja2VyLiBQbGVhc2Ugbm90aWNlIHRoYXQgU1NMIG11c3QgYmUgdHVybmVkIG9uIGluIHlvdXIgc2VydmVyLWNvbmZpZ3VyYXRpb24gaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yay4gT24gc29tZSBzZXR1cHMgdGhpcyBvcHRpb24gaXMgY2FsbGVkIHBocF9vcGVuc3NsIGJ1dCB0aGF0IG1heSB2YXJ5PC9wPg0KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPg0KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIA0KCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0Lg0KCTxici8+DQoJPHVsPg0KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQ0KCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyDQoJPC91bD4NCgk8YnIvPg0KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4NCiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydA0KICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0DQogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4NCgkJDQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My40Nzg5MTg3MTAuMTMxMTE3ODYwNS4xMzExMTc4NjA1LjEzMTExNzg2MDUuMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMTExNzg2MDUuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xMzkzMjQ2ODU1LTEzMDQ0OTg4NDIzNjQnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ca_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ00mb2dyYXZlO2RpbCBkZXNpbnN0YWwubGF0JzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0luc3RhbC5sYWRhIGxhIHZlcnNpJm9hY3V0ZTsgJXMgZGVsIG0mb2dyYXZlO2R1bCc7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnRWxpbWluYXQgZWxzIHRhZ3MgZGUgZm9ucyBkZWwgQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdUaGlzIG9wdGlvbnMgdHJpZXMgdG8gcmVtb3ZlIGJhY2tncm91bmQtdHlwZSBzZXR0aW5ncyBmcm9tIHRoZSBzdHlsZXNoZWV0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnQXBwbHkgc291cmNlIGZvcm1hdHRpbmcgdG8gdGhlIG91dHB1dCBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ja2Zvcm1hdHMgaW4gZHJvcGRvd24tbWVudSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1Blcm1ldCBvcGVyYWNpb25zIGRlIHRhdWxhJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnRXN0aWwgZGUgTm92YSBsJmlhY3V0ZTtuaWEnOwokbGFuZ1sncHN0eWxlJ10gPSAnZXN0aWwgZGUgPHA+JzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICdlc3RpbCBkZSA8YnIvPic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdVdGlsaXR6YSBjb21wcmVzc2kmb2FjdXRlOyBneic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdUaGlzIGNhbiBzcGVlZCB1cCBsb2FkaW5nIFRpbnlNQ0UsIGJ1dCBjYW4gYWxzbyBwcmV2ZW50IGl0IGZyb20gbG9hZGluZyBvbiBzb21lIHN5c3RlbXMuIFVzZSB3aXRoIGNhdXRpb24uJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdGb3JjZSA8cD4gcm9vdGJsb2NrJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3JjZXMgdGhlIHJldHVybmVkIGNvbnRlbnQgdG8gYXQgbGVhc3QgYmUgZW5jbG9zZWQgaW4gYSA8cD4tdGFnJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ0RlZmF1bHQgZGltZW5zaW9ucyc7CiRsYW5nWydyZXNpemV0byddID0gJ1Jlc2l6ZSB0bzonOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnVXNlIGFkdmFuY2VkIFRpbnlNQ0UtcHJvZmlsZSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1NhdmUgcHJvZmlsZSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdUaGUgcHJvZmlsZSB3YXMgc2F2ZWQnOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsZXMnOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ0FkdmFuY2VkIGJhY2tlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU2F2ZSBzdHlsZXMnOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdBbGxvdyB1c2FnZSBvZiBhZHZhbmNlZCBwcm9maWxlIGluIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBvcHRpb25zJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IGluIG9wdGlvbnMgbGlrZSB1cGxvYWQsIG1ha2UgZGlyIGFuZCBmaWxlIGRlbGV0aW9uIGluIEZpbGVQaWNrZXIsIGlmIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gcGVyZm9ybSB0aGVzZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgZmlsZSBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZmlsZWZpbGEnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnQ2Fubm90IHJlYWQgdGhlIGZpbGUgdGlueWNvbmZpZy5waHAgZGlyZWN0bHkgc28gVGlueU1DRSB3aWxsIHByb2JhYmx5IG5vdCB3b3JrLiBZb3Ugc2hvdWxkIGNoZWNrIHRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBhbmQgb2YgdGhlIHBhcmVudCBkaXJzLCB3aGljaCBzaG91bGQgYmUgcmVhZGFibGUgZm9yIGFsbCBidXQgb25seSB3cml0YWJsZSBmb3Igb3duZXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1Nob3cgZmlsZW5hbWVzJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnU2hvdyB0aHVtYm5haWxzJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdTaG93IHRodW1ibmFpbC1maWxlcyBpbiBsaXN0cyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdTaG93IGJvdGggZmlsZW5hbWVzIGFuZCB0aHVtYm5haWxzJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4nOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2luIHZhcmlhdGlvbic7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0VuY29kaW5nIG9mIGVudGl0aWVzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGVuY29kaW5nIChmYXN0ZXN0LCB3b3JrcyBpbiBtb3N0IGNhc2VzKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmFtZWQgZW5jb2RpbmcgKGxpa2UgJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmljIGVuY29kaW5nIChsaWtlICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnU2hvdyB0aGUgcGF0aCBvZiB0aGUgZWxlbWVudCBhdCB0aGUgYm90dG9tIG9mIHRoZSBlZGl0b3InOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RoZXNlIG9wdGlvbnMgc2hvdWxkIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidXR0b24vY29udHJvbCBuYW1lcyB0byBpbnNlcnQgaW50byB0aGUgdG9vbGJhci4gVGhlIGNoYXIgfCBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3b3JkICYjMDM5O3NlcGFyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0NsaWNrIGhlcmUgdG8gdmlldyB0b29sYmFyLWluc3RydWN0aW9ucyBpbiBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnV2lkdGggb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0ZS9UaW1lIGZvcm1hdCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpbWUnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRlJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGljayBoZXJlIGZvciBoZWxwIG9uIGhvdyB0byBmb3JtYXQgdGhlIGRhdGUvdGltZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscCddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIG5vIGNvbW1hcywgcGxlYXNlLiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQ3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhdGUgcmVsYXRpdmUgdXJscyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yY2UgY2xlYW4gb24gcGFzdGUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RoaXMgc2hvdWxkIGJlIGVuYWJsZWQgdG8gcmVtb3ZlIHN0cmFuZ2UgZm9ybWF0dGluZyBjb2RlcyB3aGVuIHBhc3RpbmcgZnJvbSBXb3JkIGV0Yy4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQm9keSB0YWcgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ1dpbGwgYmUgYWRkZWQgdG8gdGhlIGNzcyBib2R5LWRlZmluaXRpb24uIEhpbnQ6IEJhY2tncm91bmQtY29sb3IgY2FuIGJlIHNldCB0byB3aGl0ZSB1c2luZyAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnU2hvdyBjaGVja2JveCB0byB0dXJuIHd5c2l3eWcgb24vb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdUdXJuIFdZU0lXWUcgb24vb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bGVzJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnICBJZiB5b3UgbGVhdmUgdGhlIGZpZWxkIGVtcHR5LCBUaW55TUNFIHdpbGwgcGFyc2UgeW91ciBDU1MgZmlsZSBhbmQgbGlzdCB0aGUgY2xhc3Mgc3R5bGVzIGNvbnRhaW5lZCBpbiBpdCB0byB0aGUgdXNlci4gCiAgSWYgeW91IHdhbnQgb25seSBzb21lIHN0eWxlcyBwcmVzZW50ZWQgdG8gdGhlIHVzZXIsIHNwZWNpZnkgdGhlbSBpbiB0aGUgZm9ybSAmcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywgCiAgJnF1b3Q7c3R5bGUxJnF1b3Q7IGJlaW5nIGEgY2xhc3MgY2FsbCBpbiB5b3VyIHN0eWxlc2hlZXQgYW5kIHlvdSBkb24mIzAzOTt0IHB1dCB0aGUgLiAKICBub3JtYWxseSB1c2VkIGZvciBjbGFzcyBjYWxscyBhcyBpdCBpcyBhbHJlYWR5IGluIHlvdXIgQ1NTLCBpdCB3aWxsIGxvb2sgbGlrZSB0aGlzIDxzcGFuIGNsYXNzPSZxdW90O3N0eWxlMSZxdW90Oz50ZXh0PC9zcGFuPiwgCiAgaW4gdGhlIGZpcnN0IGZpZWxkIGJlbG93LiAKJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0eWxlcyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdTYXZlIHNldHRpbmdzJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHdhcyBzYXZlZCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiBEb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdTYXZlIHBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lucyBzYXZlZCc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdZb3UgYXJlIGluJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTmV3IGZpbGUnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOZXcgZGlyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWF0ZSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05vdSBkaXJlY3RvcmkgY3JlYXQgYW1iICZlZ3JhdmU7eGl0JzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ0hpIGhhIGhhZ3V0IHVuIGVycm9yIG1pcmFudCBkZSBjcmVhciB1biBkaXJlY3RvcmknOwokbGFuZ1snbm9maWxlJ10gPSAnTm8gcyYjMDM5O2hhIHB1amF0IGNhcCBhcnhpdSc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnQXJ4aXUgcHVqYXQgbWFzc2EgZ3Jvcyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0VsIG5vbSBkJiMwMzk7YXJ4aXUgY29udCZlYWN1dGU7IHVuIG8gbSZlYWN1dGU7cyBjYXImYWdyYXZlO2N0ZXJzIGlsLmxlZ2FscyAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm9yIG1vdmVudCBhbCBzZXUgbGxvYyBsJiMwMzk7YXJ4aXUgcHVqYXQgJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0FyeGl1IHB1amF0IGFtYiAmZWdyYXZlO3hpdCc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdTZWxlY2NpJm9hY3V0ZTsgZCYjMDM5O2FyeGl1cyBkZSBDTVNNYWRlU2ltcGxlJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICcmRWdyYXZlO3hpdCc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ09wZXJhY2lvbnMgZCYjMDM5O2FyeGl1JzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCc7CiRsYW5nWydzaXplJ10gPSAnTWlkYSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnV3hIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0F2YW4mY2NlZGlsO2F0JzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+Cgk8cD5FbmFibGVzIGEgVGlueU1DRSB0byBiZSB1c2VkIGFzIGEgV1lTSVdZRy48L3A+Cgk8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+Cgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPgoJPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+CglTb21lIHBlb3BsZSBoYXZlIHRyb3VibGUgd2l0aCB0aW55IG5vdCBzaG93aW5nIHVwIHVwb24gaW5zdGFsbGF0aW9uIG9yIHVwZ3JhZGluZy4gSGVyZSBpcyBhIGNoZWNrbGlzdCBvZiAKCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0LgoJPGJyLz4KCTx1bD4KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+Cgk8bGk+Mi4gVHJ5IHRvIHN3aXRjaCBvbiB0aGUgU3RhdGljIENvbmZpZyBvcHRpb24uIE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzIHlvdXIgL3RtcC8tZGlyIHRvIGJlIHdyaXRhYmxlIGJ5IHRoZSB3ZWJzZXJ2ZXI8L2xpPgoJPGxpPjMuIElmIHVwZ3JhZGluZywgcGxlYXNlIHRyeSB0byByZXNldCBhbGwgc2V0dGluZ3MuIE5vdCBuaWNlIGlmIHlvdSYjMDM5O3ZlIGRvbmUgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiwgSSBrbm93LCBidXQgYSBsb3Qgb2YgdGhpbmdzIGNoYW5nZXMgZnJvbSAyLjMueCB0byAyLjQueCBzZXJpZXMgb2YgdGhlIG1vZHVsZS4KCTxsaT40LiBUcnkgZW5hYmxpbmcgdGhlIHN0YXRpYyBjb25maWcgb3B0aW9uIGluIGFkdmFuY2VkIHNldHRpbmdzLiBUaGlzIHdvcmtzIGJldHRlciBvbiBzb21lIHN5c3RlbXMgKGxpa2UgQ0dJLWJhc2VkKQoJPC91bD4KCTxici8+CgkJCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjMxMDkxNDU5Nzc1MzMyNDc1MDAuMTIyNTMxMTMxMi4xMjU5MjE2ODU3LjEyNTkyNjYwNzAuNDgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjU0MDg4NzU3LjM1LjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPTY2LjE0Ny4yNDQuMTU1fHV0bWNjdD0vfmNsdWJjb2NjL2Ntc21hZGVzaW1wbGUvaW5zdGFsbC9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTg5NDQ1MTEwOC0xMjUwNDU1ODIzODIwJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBlZGl0b3InOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCBvZGluc3RhbG92JmFhY3V0ZTtuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsIHZlcnplICVzIGJ5bCBuYWluc3RhbG92JmFhY3V0ZTtuLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnT8WZZXphdCB0YWd5IHBvemFkJmlhY3V0ZTsgeiBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1RhdG8gdm9sYmEgc2UgcG9rdXMmaWFjdXRlOyBvZHN0cmFuaXQgbmFzdGF2ZW4mZWFjdXRlOyBDU1Mgdmxhc3Rub3N0aSB0eXB1IEJBQ0tHUk9VTkQgKGJhY2tncm91bmQtaW1hZ2UsIGJhY2tncm91bmQsIGNvbG9yLCBhdGQuKSc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnUG91xb4maWFjdXRlO3QgZm9ybSZhYWN1dGU7dG92JmFhY3V0ZTtuJmlhY3V0ZTsgemRyb2plIHZlIHYmeWFjdXRlO2Nob3omaWFjdXRlO20gSFRNTCc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnQmxva292JmVhY3V0ZTsgZm9ybSZhYWN1dGU7dHkgdiByb3piYWxvdmFjJmlhY3V0ZTttIG1lbnUnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdQb3ZvbGl0IHByJmFhY3V0ZTtjaSBzIHRhYnVsa2FtaSc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ1N0eWwgbm92JnlhY3V0ZTtjaCDFmSZhYWN1dGU7ZGvFryc7CiRsYW5nWydwc3R5bGUnXSA9ICdwIHN0eWwnOwokbGFuZ1snYnJzdHlsZSddID0gJ2JyIHN0eWwnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnUG91xb4maWFjdXRlO3QgZ3ppcCBrb21wcmVzaSc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdUYXRvIHZvbGJhIG3Fr8W+ZSB6cnljaGxpdCBuYcSNJmlhY3V0ZTt0JmFhY3V0ZTtuJmlhY3V0ZTsgVGlueU1DRSwgYWxlIG5hIG7Em2t0ZXImeWFjdXRlO2NoIHN5c3QmZWFjdXRlO21lY2ggbcWvxb5lIHDFr3NvYml0IHByb2JsJmVhY3V0ZTtteS4gUG91xb4maWFjdXRlO3ZlanRlIG9wYXRybsSbLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnRm9yY2UgPHA+IHJvb3RibG9jayc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnRm9yY2VzIHRoZSByZXR1cm5lZCBjb250ZW50IHRvIGF0IGxlYXN0IGJlIGVuY2xvc2VkIGluIGEgPHA+LXRhZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdTdHlsIHYmeWFjdXRlO2LEm3J1IHNvdWJvcsWvJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnVmVsaWtvc3QgdiZ5YWN1dGU7YsSbcnUgc291Ym9yxa8nOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnUG92b2xpdCBuYWhyJmFhY3V0ZTt2JmFhY3V0ZTtuJmlhY3V0ZTsgc291Ym9yxa8gYSB2eXR2JmFhY3V0ZTvFmWVuJmlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZxa8gcMWZJmlhY3V0ZTttbyBwb21vYyZpYWN1dGU7IFYmeWFjdXRlO2LEm3J1IHNvdWJvcsWvJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICdQb3ZvbGl0IHptxJtudSByb3ptxJtyxa8gb2JyJmFhY3V0ZTt6a8WvIGLEm2hlbSB1cGxvYWR1JzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ1YmeWFjdXRlO2Nob3omaWFjdXRlOyByb3ptxJtyeSBvYnImYWFjdXRlO3prxa8nOwokbGFuZ1sncmVzaXpldG8nXSA9ICdabcSbbml0IHJvem3Em3J5IG5hOic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdQb3XFviZpYWN1dGU7dCBwb2tyb8SNaWwmeWFjdXRlOyBUaW55TUNFIHByb2ZpbCc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1Vsb8W+aXQgcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbCBieWwgdWxvxb5lbic7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWx5JzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdOYXN0YXZlbiZpYWN1dGU7IHBva3JvxI1pbCZlYWN1dGU7aG8gcHJvZmlsdSB2IGFkbWluaXN0cmFjaSc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnVWxvxb5pdCBzdHlseSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ1Bvdm9saXQgcG91xb4maWFjdXRlO3YmYWFjdXRlO24maWFjdXRlOyBwb2tyb8SNaWwmZWFjdXRlO2hvIHByb2ZpbHUgdiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1Bvdm9saXQgdm9sYnkgcHJvIHByJmFhY3V0ZTtjaSBzZSBzb3Vib3J5JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdab2JyYXomaWFjdXRlOyB2b2xieSBhIG4mYWFjdXRlO3N0cm9qZSBwcm8gcHImYWFjdXRlO2NpIHNlIHNvdWJvcnkgamFrbyBuYXDFmS4gdXBsb2FkLCB2eXR2JmFhY3V0ZTvFmWVuJmlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZxa8gYSBtYXomYWFjdXRlO24maWFjdXRlOyBzb3Vib3LFrywgcG9rdWQgbSZhYWN1dGU7IGsgdG9tdSB1xb5pdmF0ZWwgcG90xZllYm4mYWFjdXRlOyBwciZhYWN1dGU7dmEuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ09wcmF2ZHUgc2kgcMWZZWpldGUgdGVudG8gc291Ym9yIHNtYXphdD8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdieWwgJnVhY3V0ZTtzcMSbJnNjYXJvbjtuxJsgdnltYXomYWFjdXRlO24nOwokbGFuZ1snZGVsZXRlZmlsZWZpbGEnXSA9ICduZW3Fr8W+ZSBiJnlhY3V0ZTt0IHZ5bWF6JmFhY3V0ZTtuJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdOZWx6ZSDEjSZpYWN1dGU7c3Qgc291Ym9yIHRpbnljb25maWcucGhwIHDFmSZpYWN1dGU7bW8sIHByb3RvIG5lYnVkZSBUaW55TUNFIHByYXZkxJtwb2RvYm7EmyBwcmFjb3ZhdC4gWmtvbnRyb2x1anRlIG9wciZhYWN1dGU7dm7Em24maWFjdXRlOyBzb3Vib3J1IGEgamVobyByb2RpxI1vdnNrJmVhY3V0ZTtobyBhZHJlcyZhYWN1dGU7xZllLCBrdGVyJmVhY3V0ZTsgbWFqJmlhY3V0ZTsgYiZ5YWN1dGU7dCDEjWl0ZWxuJmVhY3V0ZTsgdiZzY2Fyb247ZW1pIGEgemFwaXNvdmF0ZWxuJmVhY3V0ZTsgcG91emUgdmxhc3RuJmlhY3V0ZTtrZW0uJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1VrJmFhY3V0ZTt6YXQgam0mZWFjdXRlO25hIHNvdWJvcsWvJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnVWsmYWFjdXRlO3phdCBuJmFhY3V0ZTtobGVkeSc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXN0ZXh0J10gPSAnWm9icmF6aXQgc291Ym9yeSBuJmFhY3V0ZTtobGVkxa8gdiBzZXpuYW11JzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1pvYnJheml0IGptJmVhY3V0ZTtuYSBzb3Vib3LFryBpIG4mYWFjdXRlO2hsZWR5JzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4gJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnVmFyaWFjZSBza2ludSc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlByb3MmaWFjdXRlO20gdmVtdGUgbmEgdsSbZG9tJmlhY3V0ZTssIMW+ZSB6bcSbbmEgdMSbY2h0byBuYXN0YXZlbiZpYWN1dGU7IG3Fr8W+ZSB6cMWvc29iaXQgbmVmdW5rxI1ub3N0IGVkaXRvcnUgVGlueU1DRS4gVXByYXZ1anRlIGplIHBvdXplIHRlaGR5IHpuJmFhY3V0ZTt0ZS1saSBqZWppY2ggJnVhY3V0ZTvEjWlua3kuIERva3VtZW50YWNlIGplIGsgZGlzcG96aWNpIG5hIHN0ciZhYWN1dGU7bmsmYWFjdXRlO2NoIFRpbnlNQ0UuPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdLJm9hY3V0ZTtkb3YmYWFjdXRlO24maWFjdXRlOyBlbnRpdCc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ1JhdyBlbmsmb2FjdXRlO2RvdiZhYWN1dGU7biZpYWN1dGU7IChyeWNobGVqJnNjYXJvbjsmaWFjdXRlOywgdmUgdsSbdCZzY2Fyb247aW7EmyBwxZkmaWFjdXRlO3BhZMWvIGZ1bmd1amUpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdKbWVubiZlYWN1dGU7IGVuayZvYWN1dGU7ZG92JmFhY3V0ZTtuJmlhY3V0ZTsgKGpha28gJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmljayZlYWN1dGU7IGVuayZvYWN1dGU7ZG92JmFhY3V0ZTtuJmlhY3V0ZTsgKGpha28gJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdab2JyYXpvdmF0IGNlc3R1IGsgZWxlbWVudHUgbmEgc3BvZG4maWFjdXRlOyBzdHJhbsSbIGVkaXRvcnUuJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnTiZhYWN1dGU7c3Ryb2pvdiZhYWN1dGU7IGxpJnNjYXJvbjt0YSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdUeXRvIHZvbGJ5IGJ5IG3Em2x5IG9ic2Fob3ZhdCBzZXpuYW0gam1lbiB0bGHEjSZpYWN1dGU7dGVrL292bGFkYcSNxa8gcHJvIHZsb8W+ZW4maWFjdXRlOyBkbyBuJmFhY3V0ZTtzdHJvam92JmVhY3V0ZTsgbGkmc2Nhcm9uO3R5Lic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdOJmFhY3V0ZTtzdHJvam92JmFhY3V0ZTsgbGkmc2Nhcm9uO3RhJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0tsaWtudXQmaWFjdXRlO20gemRlIHpvYnJheiZpYWN1dGU7dGUgaW5zdHJ1a2NlIHBybyBuYXN0YXZlbiZpYWN1dGU7IHRvb2xiYXJ1IHYgVGlueU1DRSB3aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJyZTY2Fyb247JmlhY3V0ZTvFmWthIHBvbGUgcyBlZGl0b3JlbSc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdWJnlhY3V0ZTsmc2Nhcm9uO2thIHBvbGUgcyBlZGl0b3JlbSc7CiRsYW5nWydhdXRvJ10gPSAnQXV0b21hdGlja3knOwokbGFuZ1snb3InXSA9ICduZWJvJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdGb3JtJmFhY3V0ZTt0IGRhdGEgYSDEjWFzdSc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ8SMYXMnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2xpa27Em3RlIHNlbSBwcm8gbiZhYWN1dGU7cG92xJtkdSwgamFrIG5hc3Rhdml0IGRhdHVtIGEgxI1hcy4nOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnU3BlY2kmYWFjdXRlO2xuJmlhY3V0ZTsga29uZmlndXJhY2UnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwJ10gPSAnWmtvbnRyb2x1anRlIFRpbnlNQ0Utd2lraSBwcm8gaW5zdHJ1a2NlJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ1ZsYXN0biZpYWN1dGU7IG1lbnUnOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnVmtsJmFhY3V0ZTtkJmFhY3V0ZTsgdXByYXZpdGVsbiZlYWN1dGU7IGtvdXNreSBrJm9hY3V0ZTtkdS90ZXh0dSB2JnlhY3V0ZTtixJtyZW0gdiBkcm9wZG93biBtZW51LiAKWsWZZWptJmVhY3V0ZTsgcG91xb5pdCZpYWN1dGU7IGplIHBybyBqZWRub2R1Y2gmeWFjdXRlOyBwxZkmaWFjdXRlO3N0dXAgayB0YWfFr20gYXRkLiBNZW51IGplIHZsb8W+ZW5vIGRvIG4mYWFjdXRlO3N0cm9qb3YmZWFjdXRlOyBsaSZzY2Fyb247dHkgcMWZZXMgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydCBwb3ZvbGVuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdPZCZzY2Fyb247a3J0bnV0JmlhY3V0ZTsgdCZlYWN1dGU7dG8gdm9sYnkgc3B1c3QmaWFjdXRlOyBUaW55IGVkaXRvciB2IHphayZhYWN1dGU7emFuJmVhY3V0ZTttIHN0YXZ1LiBQb3XFviZpYWN1dGU7diZhYWN1dGU7IHNlIHNwb2xlxI1uxJsgcyBwxZllcCZpYWN1dGU7bmFjJmlhY3V0ZTttIHRsYcSNJmlhY3V0ZTt0a2VtLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ05haHImYWFjdXRlO3QgQ01TLWxpbmtlcic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ0dlbmVydWplIGphdmFzY3JpcHQgayZvYWN1dGU7ZCBwb3TFmWVibiZ5YWN1dGU7IHBybyBwb3ZvbGVuJmlhY3V0ZTsgdmxvxb5lbiZpYWN1dGU7ICYjMDM5O2Ntc2xpbmtlciYjMDM5OyBkbyBuJmFhY3V0ZTtzdHJvam92JmVhY3V0ZTsgbGkmc2Nhcm9uO3R5Lic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIHN0eWwgb2RrYXp1JzsKJGxhbmdbJ2Ntc3NlbGZsaW5rc3R5bGUnXSA9ICd7Y21zX3NlbGZsaW5rfS1zdHlsZSAnOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJyZhbXA7bHQ7YSBocmVmJmFtcDtndDstc3R5bGUnOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVydWplIHJla3Vyeml2biZpYWN1dGU7IHJlbGF0aXZuJmlhY3V0ZTsgb2RrYXp5JzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdWeW51dCZpYWN1dGU7IHZ5xI1pJnNjYXJvbjt0xJtuJmlhY3V0ZTsgcMWZaSB2bG/FvmVuJmlhY3V0ZTsnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RvdG8gbSZhYWN1dGU7IGImeWFjdXRlO3QgcG92b2xlbm8gcHJvIG9kc3RyYW7Em24maWFjdXRlOyBocm96biZlYWN1dGU7aG8gZm9ybSZhYWN1dGU7dG92JmFhY3V0ZTtuJmlhY3V0ZTsgcMWZaSB2a2wmYWFjdXRlO2QmYWFjdXRlO24maWFjdXRlOyB6IFdvcmR1IGF0ZC4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQ1NTIHRhZ3UgYm9keSc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICdCdWRlIHZsb8W+ZW5vIGRvIGNzcyBkZWZpbmljZSB0YWd1IGJvZHkuIE4mYWFjdXRlO3BvdsSbZGE6IFBybyBuYXN0YXZlbiZpYWN1dGU7IGImaWFjdXRlO2wmZWFjdXRlO2hvIHBvemFkJmlhY3V0ZTsgdmxvxb50ZSAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnVmxvxb5pdCBwb3V6ZSBzY3JlZW4gQ1NTJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdWJnlhY3V0ZTtixJtyZW0gdCZlYWN1dGU7dG8gdm9sYnkgcG92b2wmaWFjdXRlO3RlIHDFmWlwb2plbiZpYWN1dGU7IHBvdXplIHN0eWx1IHMgbWVkaWF0eXBlbSBzY3JlZW4gZG8gb3ZsYWRhxI1lIHN0eWzFryBUaW55TUNFLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnUG91xb4maWFjdXRlO3Qgc3RhdGljayZ5YWN1dGU7IGtvbmZpZ3VyYcSNbiZpYWN1dGU7IHNvdWJvcic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAnVG90byBtxa/FvmUgcG9tb2NpIHRpbnkgcHJhY292YXQgbmEgc3lzdCZlYWN1dGU7bWVjaCBrZGUgaG9zdGluZyB2a2wmYWFjdXRlO2QmYWFjdXRlOyByZWtsYW1uJmlhY3V0ZTsgdsSbY2ksIGpha28gbmFwxZkuIHN0YXRpc3Rpa3kgYXRkLiBkbyB2JnNjYXJvbjtlaG8gdiZ5YWN1dGU7c3R1cHUsIHBvJnNjYXJvbjtrb3p1aiZpYWN1dGU7YyZpYWN1dGU7IGR5bmFtaWNreSB2eXR2JmFhY3V0ZTvFmWVuJnlhY3V0ZTsgamF2YXNjcmlwdCBrb25maWd1cmHEjW4maWFjdXRlOyBzb3Vib3InOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1Zhcm92JmFhY3V0ZTtuJmlhY3V0ZTshIE0mYWFjdXRlO3RlIHBvdm9sZW4meWFjdXRlOyBzdGF0aWNrJnlhY3V0ZTsga29uZmlndXJhxI1uJmlhY3V0ZTsgc291Ym9yLCBhbGUgViZhYWN1dGU7JnNjYXJvbjsgYWRyZXMmYWFjdXRlO8WZIC90bXAvIG5lbiZpYWN1dGU7IHphcGlzb3ZhdGVsbiZ5YWN1dGU7LiBUb3RvIHphayZhYWN1dGU7emUgbW9kdWx1IHVrbCZhYWN1dGU7ZGF0IHN0YXRpY2smeWFjdXRlOyBrb25maWd1cmHEjW4maWFjdXRlOyBzb3Vib3IgYSBwcmF2ZMSbcG9kb2JuxJsgem5lZnVua8SNbiZpYWN1dGU7IFRpbnlNQ0UuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1pvYnJheml0IGNoZWNrYm94IHBybyB2eXBudXQmaWFjdXRlOy96YXBudXQmaWFjdXRlOyBXWVNJV1lHIGVkaXRvcnUnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1phcG5vdXQvdnlwbm91dCBXWVNJV1lHJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bHknOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICdQb2t1ZCB0b3RvIHBvbGUgbmVjaCZhYWN1dGU7dGUgcHImYWFjdXRlO3pkbiZlYWN1dGU7LCBUaW55TUNFIHpwcmFjdWplIFZhJnNjYXJvbjtlIENTUyBzb3Vib3J5IGEgbmFiJmlhY3V0ZTtkbmUgc3R5bHkgdcW+aXZhdGVsaS4gUG9rdWQgY2hjZXRlIHXFvml2YXRlbGkgbmFiJmlhY3V0ZTtkbm91dCBqZW4gbsSba3RlciZlYWN1dGU7IHN0eWx5LCBzcGVjaWZpa3VqdGUgamUgZm9ybW91IFwmcXVvdDtTdHlsZSAxPXN0eWxlMTsgU3R5bGUgMj1zdHlsZTJcJnF1b3Q7IHYgcHJ2biZpYWN1dGU7bSBuJmFhY3V0ZTtzbGVkdWomaWFjdXRlO2MmaWFjdXRlO20gcG9saS4gVmUgemImeWFjdXRlO3ZhaiZpYWN1dGU7YyZpYWN1dGU7Y2ggcG9sJmlhY3V0ZTtjaCBsemUgc3BlY2lmaWtvdmF0IENTUyBzdHlseSBwcm8gdGFidWxreSwgxZkmYWFjdXRlO2RreSBhbmQgYnXFiGt5LCBrdGVyJmVhY3V0ZTsganNvdSBwb3XFvml0eSB2IHNvdXZpc2VqJmlhY3V0ZTtjJmlhY3V0ZTtjaCBkaWFsb3omaWFjdXRlO2NoLiBQcm8gcHImYWFjdXRlO3pkbiZhYWN1dGU7IHBvbGUgYnVkb3UgcG91xb5pdHkgcGFyYW1ldHJ5IHogaGxhdm4maWFjdXRlO2NoIHN0eWzFry4nOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnSGxhdm4maWFjdXRlOyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQxZkmaWFjdXRlO3N0dXAgemFrJmFhY3V0ZTt6JmFhY3V0ZTtuLiBaa29udHJvbHVqdGUgcHJvcyZpYWN1dGU7bSBzdm9qZSBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTsuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ09kZXNsYXQnOwokbGFuZ1sndXBkYXRlJ10gPSAnQWt0dWFsaXpvdmF0JzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ1Vsb8W+aXQgbmFzdGF2ZW4maWFjdXRlOyc7CiRsYW5nWydzZXR0aW5ncyddID0gJ05hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1ptxJtueSBieWx5IHVsb8W+ZW55JzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ1Vsb8W+aXQgcG9rcm/EjSZpYWN1dGU7bCZlYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ1Bva3JvxI1pbCZhYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTsgdWxvxb5lbmEnOwokbGFuZ1sndG9vbGJhcnNhdmVkJ10gPSAnTiZhYWN1dGU7c3Ryb2pvdiZhYWN1dGU7IGxpJnNjYXJvbjt0YSBieWxhIHVsb8W+ZW5hJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnU3R5bHkgYnlseSB1bG/FvmVueSc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5aa3Umc2Nhcm9uO2VibiZpYWN1dGU7IG9ibGFzdCwgbmljIG5lYnVkZSBuYXJ1JnNjYXJvbjtlbm8gem3Em25hbWkgdiBuJmlhY3V0ZTsuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzZXQgbmEgdiZ5YWN1dGU7Y2hveiZpYWN1dGU7JzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXRvdmF0IHYmc2Nhcm9uO2VjaG5hIG5hc3RhdmVuJmlhY3V0ZTsgbmEgdiZ5YWN1dGU7Y2hveiZpYWN1dGU7JzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ09wcmF2ZHUgY2hjZXRlIHJlc2V0b3ZhdCB0eXRvIG5hc3RhdmVuJmlhY3V0ZTsgbmEgdiZ5YWN1dGU7Y2hveiZpYWN1dGU7IGhvZG5vdHk/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ09wcmF2ZHUgY2hjZXRlIHJlc2V0b3ZhdCBWJlNjYXJvbjtFQ0hOQSBuYXN0YXZlbiZpYWN1dGU7IG5hIHYmeWFjdXRlO2Nob3omaWFjdXRlOyBob2Rub3R5Pyc7CiRsYW5nWydzZXR0aW5nc3Jlc2V0J10gPSAnVGF0byBuYXN0YXZlbiZpYWN1dGU7IGJ5bGEgJnVhY3V0ZTtzcMSbJnNjYXJvbjtuxJsgcmVzZXRvdiZhYWN1dGU7bmEgbmEgdiZ5YWN1dGU7Y2hveiZpYWN1dGU7IGhvZG5vdHknOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ1Ymc2Nhcm9uO2VjaG5hIG5hc3RhdmVuJmlhY3V0ZTsgYnlsYSAmdWFjdXRlO3NwxJsmc2Nhcm9uO27EmyByZXNldG92JmFhY3V0ZTtuYSBuYSB2JnlhY3V0ZTtjaG96JmlhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2J5bCBha3R1YWxpem92JmFhY3V0ZTtuIG5hIHZlcnppICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnVmxhc3RuJmlhY3V0ZTsgZHJvcGRvd24gbWVudSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ1Zsb8W+aXQgb2RrYXogbmEgc3RyJmFhY3V0ZTtua3UgY21zbXMnOwokbGFuZ1snYmFja2VuZF90b29sYmFycyddID0gJ0JhY2tlbmQgbmFzdGF2ZW4maWFjdXRlOyBuJmFhY3V0ZTtzdHJvam92JmVhY3V0ZTsgbGkmc2Nhcm9uO3R5JzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgbmFzdGF2ZW4maWFjdXRlOyBuJmFhY3V0ZTtzdHJvam92JmVhY3V0ZTsgbGkmc2Nhcm9uO3R5JzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGx1Z2lueSc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdWeWJlcnRlIHBsdWdpbiwga3RlciZ5YWN1dGU7IGNoY2V0ZSBha3Rpdm92YXQuIERvY3VtZW50YWNpIGx6ZSBuYWomaWFjdXRlO3QgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj56ZGU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnknOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdVbG/Fvml0IHBsdWdpbnknOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lueSB1bG/FvmVueSc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdKc3RlIG5hJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ05haHImYWFjdXRlO3Qgc3R5bCBvYnNhaHUgKGRvcG9ydcSNZW5vKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdQxZkmaWFjdXRlO2Rhdmt5IGRvIHN0eWx1JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyB2bG/FvmVuJnlhY3V0ZTsgemRlIGJ1ZGUgdmxvxb5lbiBkbyBzdHlsdSwga3RlciZ5YWN1dGU7IMSNdGUgVGlueU1DRSBwbyBvYmRyxb5lbiZpYWN1dGU7IENNU21zIHN0eWx1JzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOb3YmeWFjdXRlOyBzb3Vib3InOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ05haHImYWFjdXRlO3QnOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnTm92JnlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1Z5dHZvxZlpdCc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdKbSZlYWN1dGU7bm8gYWRyZXMmYWFjdXRlO8WZZSBuZWRvZCZhYWN1dGU7bm8nOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnSm0mZWFjdXRlO25vIGFkcmVzJmFhY3V0ZTvFmWUgamnFviBleGlzdHVqZSc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTm92JnlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZICZ1YWN1dGU7c3DEmyZzY2Fyb247bsSbIHZ5dHZvxZllbic7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdQxZlpIHZ5dHYmYWFjdXRlO8WZZW4maWFjdXRlOyBhZHJlcyZhYWN1dGU7xZllIHNlIHZ5c2t5dGxhIGNoeWJhJzsKJGxhbmdbJ25vZmlsZSddID0gJ05lYnlsIG5haHImYWFjdXRlO24gxb4mYWFjdXRlO2RuJnlhY3V0ZTsgc291Ym9yJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICduYWhyJmFhY3V0ZTt2YW4meWFjdXRlOyBzb3Vib3IgamUgbW9jIHZlbGsmeWFjdXRlOyc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdDaHliYSBwxZlpIHDFmWVzdW51IG5haHJhbiZlYWN1dGU7aG8gc291Ym9ydSBuYSBtJmlhY3V0ZTtzdG8nOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnU291Ym9yIG5haHImYWFjdXRlO24gJnVhY3V0ZTtzcMSbJnNjYXJvbjtuxJsnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSB2JnlhY3V0ZTtixJtyIHNvdWJvcsWvJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICcmVWFjdXRlO3NwxJtjaCc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ09wZXJhY2Ugc2Ugc291Ym9yeSc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ3NpemUnXSA9ICdWZWxpa29zdCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnSHhXJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ1Bva3JvxI1pbCZlYWN1dGU7JzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPkNvIGTEm2wmYWFjdXRlOyB0ZW50byBtb2R1bD88L2gzPgoJPHA+VW1vxb5uJmlhY3V0ZTsgcG91xb4maWFjdXRlO3ZhdCBUaW55TUNFIFdZU0lXWUcgZWRpdG9yIHBybyAmdWFjdXRlO3ByYXZ1IG9ic2FodS48L3A+Cgk8aDM+SmFrIHRvIHBvdcW+JmlhY3V0ZTt0PzwvaDM+Cgk8cD5OYWluc3RhbG92YXQsIHBvdCZlYWN1dGU7IGomaWFjdXRlO3QgZG8gVcW+aXZhdGVsc2smeWFjdXRlO2NoIG5hc3RhdmVuJmlhY3V0ZTssIGEgbmFzdGF2aXQgVGlueU1DRSBqYWtvIFYmYWFjdXRlOyZzY2Fyb247IFdZU0lXWUcgZWRpdG9yLjwvcD4KCTxoMz7FmGUmc2Nhcm9uO2VuJmlhY3V0ZTsgcHJvYmwmZWFjdXRlO23FrzwvaDM+CgluxJtrZG8gbcSbbCBwcm9ibCZlYWN1dGU7bXkgcyBuZXpvYnJhem92JmFhY3V0ZTtuJmlhY3V0ZTttIHRpbnkgcG8gaW5zdGFsYWNpIG5lYm8gYWt0dWFsaXphY2kuIFpkZSBqZSBzZXpuYW0gdsSbYyZpYWN1dGU7LCBrdGVyJmVhY3V0ZTsgYnlzdGUgbcSbbGkgemt1c2l0IGTFmSZpYWN1dGU7dmUgbmXFviBtxJsga29udGFrdHVqZXRlIHBybyBwb2Rwb3J1LgoJPGJyLz4KCTx1bD4KCTxsaT4xLiBQcm9zJmlhY3V0ZTttLCBwcm9zJmlhY3V0ZTttLCB6a3VzdGUgem5vdnUgbmFociZhYWN1dGU7dCBhZHJlcyZhYWN1dGU7xZkgbW9kdWxlcy9UaW55TUNFIG5hIFYmYWFjdXRlOyZzY2Fyb247IHNlcnZlcnIuIEJ1ZGV0ZSBwxZlla3ZhcGVuaSwga29saWtyJmFhY3V0ZTt0IHRvIGxpZGVtIHBvbW9obG8uPC9saT4KCTxsaT4yLiBaa3VzdGUgem3Em25pdCBuYSB2b2xidSBzdGF0aWNrJmVhY3V0ZTsga29uZmlndXJhY2UuIFRvdG8gdnnFvmFkdWplLCBhYnkgYnlsIFYmYWFjdXRlOyZzY2Fyb247IGFkcmVzJmFhY3V0ZTvFmSAvdG1wLyB6YXBpc292YXRlbG4meWFjdXRlOyB3ZWJvdiZ5YWN1dGU7bSBzZXJ2ZXJlbTwvbGk+Cgk8bGk+My4gUMWZaSBha3R1YWxpemFjaSB6a3VzdGUgcHJvcyZpYWN1dGU7bSB6cmVzZXRvdmF0IHYmc2Nhcm9uO2VjaG5hIG5hc3RhdmVuJmlhY3V0ZTsuIEplIHRvIG5lbWlsJmVhY3V0ZTsgcG9rdWQgbSZhYWN1dGU7dGUgbW5vaG8gJnVhY3V0ZTtwcmF2LCBhbGUgbW5vaG8gdsSbYyZpYWN1dGU7IHNlIHptxJtuaWxvIHDFmWkgcMWZZWNob2R1IHogMi4zLnggZG8gMi40LnggcyZlYWN1dGU7cmllIG1vZHVsdS4KCTxsaT40LiB6a3VzdGUgcG92b2xpdCBzdGF0aWNrb3Uga29uZmlndXJhY2kgdiByb3omc2Nhcm9uOyZpYWN1dGU7xZllbiZ5YWN1dGU7Y2ggbmFzdGFmZW4maWFjdXRlO2NoLiBUb3RvIGZ1bmd1amUgbCZlYWN1dGU7cGUgbmEgbsSba3RlciZ5YWN1dGU7Y2ggc3lzdCZlYWN1dGU7bWVjaCAobmFwxZkuIENHSS1iYXNlZCkKCTwvdWw+Cgk8YnIvPgonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yNzI4MTc5ODMzNzg3MzI2MDAwLjEyNDc4NDQ3OTkuMTI0OTE0MzA2Mi4xMjQ5MTQ1ODMyLjI0JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI0OTExODQ3MS4xNy4xNC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vZmVhdHVyZV9yZXF1ZXN0L2xpc3QvNjA1fHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBtb2R1bCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnRGV0dGUgbW9kdWxlIGdpdmVyIGFkZ2FuZyB0aWwgcmVkaWdlcmUgYiZhcmluZztkZSBpbmRob2xkLCBtZW4gb2dzJmFyaW5nOyBhbmRyZSB0eXBlciBkYXRhLCBnZW5uZW0gZGV0IGJydWdlcnZlbmxpZ2UgVGlueU1DRS1zeXN0ZW0uJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxldCBibGV2IGFmaW5zdGFsbGVyZXQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2lvbiAlcyBibGV2IGluc3RhbGxlcmV0JzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdGamVybiBCYWdncnVuZHMtVGFncyBmcmEgQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdEZXR0ZSBmb3JzJm9zbGFzaDtnZXIgYXQgZmplcm5lIGJhZ2dydW5kc2luZHN0aWxsaW5nZXIgZnJhIHN0eWxlc2hlZXQmIzAzOTtldC4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ0Zvcm1hdCZlYWN1dGU7ciBIVE1MLWtvZGVuJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ja2Zvcm1hdGVyaW5nICBpIGRyb3Bkb3duLW1lbnUnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdUaWxsYWQgdGFiZWwgZnVua3Rpb25lcic7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ055IGxpbmllLW1ldG9kZSc7CiRsYW5nWydwc3R5bGUnXSA9ICc8IHAgPiBtZXRvZGUnOwokbGFuZ1snYnJzdHlsZSddID0gJzwgYnIvID4gbWV0b2RlJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ0Jlbnl0IGd6IGtvbXByZXNzaW9uJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ0RldHRlIGthbiBnJm9zbGFzaDtyZSBpbmRsJmFlbGlnO3NuaW5nZW4gYWYgVGlueU1DRSBodXJ0aWdlcmUsIG1lbiBvZ3MmYXJpbmc7IGZvcmhpbmRyZSBrb3JyZWt0IGluZGwmYWVsaWc7c25pbmcgcCZhcmluZzsgbm9nbGUgc3lzdGVtZXIuIEJlbnl0IGt1biBodmlzIGR1IHZlZCBodmFkIGR1IGcmb3NsYXNoO3IuJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdUdmluZyA8IHAgPi1ncnVuZC1ibG9rJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdUdmluZ2VyIGRldCByZXR1cm5lcmVkZSBpbmRob2xkIHRpbCBpIGRldCBtaW5kc3RlIGFmIHYmYWVsaWc7cmUgb21rcmFuc2V0IGFmIGVuIDwgcCA+LXRhZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdGaWx2JmFlbGlnO2xnZXItc3RpbCc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ0ZpbHYmYWVsaWc7bGdlciBzdCZvc2xhc2g7cnJlbHNlJzsKJGxhbmdbJ2FsbG93dXBsb2FkdGV4dCddID0gJ1RpbGxhZCB1cGxvYWQgb2cgbWFwcGUtb3ByZXR0ZWxzZSBpIEZpbHYmYWVsaWc7bGdlcic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnVGlsbGFkIG9uLXRoZS1mbHkgc2thbGVyaW5nIGFmIHVwbG9hZCYjMDM5O2VkZSBiaWxsZWRlcic7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdTdGFuZGFyZCBkaW1lbnNpb25lcic7CiRsYW5nWydyZXNpemV0byddID0gJ1NrYWwmZWFjdXRlO3IgdGlsOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTGF2IGJpbGxlZGVrc2VtcGVsIG4mYXJpbmc7ciBldCBiaWxsZWRlIHVwbG9hZCYjMDM5O2VzJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1RpbGxhZCBhdmFuY2VyZXQgVGlueU1DRS1wcm9maWwnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdHZW0gcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbGVuIGJsZXYgZ2VtdCc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxlcic7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQXZhbmNlcmV0IGJhY2tlbmQgcHJvZmlsIGluZHN0aWxsaW5nZXInOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ0dlbSBzdGlsYXJ0ZXInOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdUaWxsYWQgYnJ1ZyBhZiBkZW4gYXZhbmNlcmVkZSBwcm9maWwgaSBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1ZpcyBmaWxoJmFyaW5nO25kdGVyaW5ncyBtdWxpZ2hlZGVyJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdWaXNlciBmaWxoJmFyaW5nO25kdGVyaW5nIG11bGlnaGVkZXIgcyZhcmluZztzb20gdXBsb2FkLCBta2RpciBvZyBzbGV0bmluZyBhZiBmaWxlciBpIEZpbFYmYWVsaWc7bGdlcmVuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ0JlZ3ImYWVsaWc7bnMgYnJ1Z2VyZXMgbWFwcGUgYWRnYW5nJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdEZXR0ZSB2aWwgYmVnciZhZWxpZztuc2UgZGUgZmlsaCZhcmluZztuZHRlcmluZ3MgbXVsaWdoZWRlciBlbiBicnVnZXIgaGFyIHRpbCBrdW4gYXQgZCZhZWxpZztra2UgZW4gdW5kZXJtYXBwZSB0aWwgJiMwMzk7dXBsb2FkcyYjMDM5OyBzb20gaGFyIGRldCBzYW1tZSBuYXZuIHNvbSBicnVnZXJlbnMgbG9naW4uIEh2aXMgbWFwcGVuIGlra2UgZWtzaXN0ZXJlciB2aWwgZGVuIGJsaXZlIG9wcmV0dGV0LiBCZW0mYWVsaWc7cmsgYXQgZGV0dGUga3VuIHZpcmtlciBtZWQgc3RhbmRhcmQgbWFwcGVuYXZuZW5lLCB1cGxvYWRzL2ltYWdlcy4gRGV0dGUgJmFlbGlnO25kcmVzIG11bGlndmlzIGkgZnJlbXRpZGVuLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgZGVubmUgZmlsIHNrYWwgc2xldHRlcz8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdibGV2IHNsZXR0ZXQnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ2t1bm5lIGlra2Ugc2xldHRlcyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdrdW5uZSBpa2tlIHNsZXR0ZXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ2JsZXYgc2xldHRldHMnOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGRlbm5lIHRvbW1lIG1hcHBlIHNrYWwgc2xldHRlcz8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnU2xldCB0b20gbWFwcGUnOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ1NsZXQgZmlsJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdLYW4gaWtrZSBsJmFlbGlnO3NlIHRpbnljb25maWcucGhwIGRpcmVrdGUsIHMmYXJpbmc7IFRpbnlNQ0UgdmlsIGZvcm1lbnRsaWcgaWtrZSB2aXJrZS4gRHUgc2thbCBrb250cm9sbGVyZSByZXR0aWdoZWRlciBwJmFyaW5nOyBkZW5uZSBmaWwgb2cgbWFwcGVuIGRlbiBsaWdnZXIgaSwgZGlzc2UgYiZvc2xhc2g7ciB0aWxsYWRlIGwmYWVsaWc7c25pbmcsIG1lbiBrdW4gc2tyaXZuaW5nIGZvciBlamVyZW4uJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1ZpcyBmaWxuYXZuZSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1ZpcyBiaWxsZWRlZWtzZW1wbGVyJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdWaXMgYmlsbGVkZWtzZW1wbGVyIGkgbGlzdGVybmUnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnVmlzIGImYXJpbmc7ZGUgZmlsbmF2bmUgb2cgYmlsbGVkZWtzZW1wbGVyJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1Vkc2VlbmRlJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnVmFyaWF0aW9uIGFmIHVkc2VlbmRlJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+QWR2YXJzZWwhPGJyLz5WZWQgYXQgJmFlbGlnO25kcmUgZGlzc2UgaW5kc3RpbGxpbmdlciByaXNpa2VyZXIgZHUgYXQgIFRpbnlNQ0UgaG9sZGUgb3AgbWVkIGF0IHZpcmtlciBlbGxlciBhdCBkZW4gcmVzdWx0ZXJlbmRlIGtvZGUgaWtrZSBlciBrb3JyZWt0LiBMYXYga3VuICZhZWxpZztuZHJpbmdlciBoZXIgaHZpcyBkdSB2ZWQgaHZhZCBkdSBnJm9zbGFzaDtyLiBPZyBsJmFlbGlnO3MgdmVubGlnc3QgcCZhcmluZzsgVGlueU1DRSYjMDM5O3Mgd2ViIHNpdGUgZiZvc2xhc2g7ciBkdSBsYXZlciAmYWVsaWc7bmRyaW5nZXIuPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdLb2RuaW5nIGFmIHNwZWNpZWxsZSBrYXJha3RlcmVyJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGtvZG5pbmcgKGh1cnRpZ3RzdCwgdmlya2VyIGkgZGUgZmxlc3RlIHRpbGYmYWVsaWc7bGRlKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmF2bmdpdmVuIGtvZG5pbmcgKHNvbSAmYW1wOyBuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpc2sga29kbmluZyAoc29tICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnVmlzIHN0aWVuIHRpbCBlbGVtZW50ZXQgaSBidW5kZW4gYWYgZWRpdG9yZW4nOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdWJmFlbGlnO3JrdCZvc2xhc2g7anNsaW5pZSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdEaXNzZSB2YWxnbXVsaWdoZWRlciBza3VsbGUgaW5kZWhvbGRlIGVuIGtvbW1hc2VwYXJlcmV0IGxpc3RlIGFmIGJ1dHRvbi9jb250cm9sIG5hdm5lIHRpbCBhdCBpbmRzJmFlbGlnO3R0ZSBpIHRvb2xiYXJlbi4gRHUga2FuIGJlbnl0dGUgfCB0ZWduZXQgaSBzdGVkZXQgZm9yIG9yZGV0ICYjMDM5O3NlcGVyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdWJmFlbGlnO3JrdCZvc2xhc2g7anNsaW5pZSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdLbGlrIGhlciBmb3IgYXQgc2UgdiZhZWxpZztya3Qmb3NsYXNoO2pzbGluaWUtdmVqbGVkbmluZ2VuIGkgVGlueU1DRS13aWtpJiMwMzk7ZW4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICdFZGl0b3IgZmVsdGV0cyBicmVkZGUnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnRWRpdG9yIGZlbHRldHMgaCZvc2xhc2g7amRlJzsKJGxhbmdbJ2F1dG8nXSA9ICdBdXRvbWF0aXNrJzsKJGxhbmdbJ29yJ10gPSAnZWxsZXInOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnVGVzdCBvbXImYXJpbmc7ZGUnOwokbGFuZ1snc2hvd3Rlc3RpbmdvdXRwdXQnXSA9ICdWaXMgdGVzdCBvdXRwdXQnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN0IGVkaXRvcic7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3Qgb21yJmFyaW5nO2RlIG91dHB1dCc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dHNvdXJjZSddID0gJ1Rlc3Qgb21yJmFyaW5nO2RlIGtpbGRlJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdUaWxsYWQgYXQgZWRpdG9yIGZlbHRldHMgc3Qmb3NsYXNoO3JyZWxzZSBrYW4gJmFlbGlnO25kcmVzJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdUaWxsYWQgaWtrZSAmYWVsaWc7bmRyaW5nIGFmIHN0Jm9zbGFzaDtycmVsc2VuJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdUaWxsYWQgJmFlbGlnO25kcmluZ2VyIGFmIHN0Jm9zbGFzaDtycmVsc2VuIGkgYmVnZ2UgcmV0bmluZ2VyJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ1RpbGxhZCBrdW4gJmFlbGlnO25kcmluZyBhZiBoJm9zbGFzaDtqZGVuJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdEYXRvL1RpZCBmb3JtYXQnOwokbGFuZ1sndGltZXRleHQnXSA9ICdUaWQnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRvJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdLbGlrIGhlciBmb3IgYXQgaHZvcmRhbiBkYXRvL3RpZCBmb3JtYXRlcmVzJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0Vrc3RyYSBrb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdFbiBrb21tYW5kbyBwci4gbGluaWUsIGtvbW1hZXIgdmlsIGJsaXZlIHRpbGYmb3NsYXNoO2plIGYmb3NsYXNoO3Igb2cgZWZ0ZXIgZGV0dGUgaW5kaG9sZC4gU2UgIFRpbnlNQ0Utd2lraSYjMDM5O2VuIGZvciBuJmFlbGlnO3JtZXJlIGluc3RydWt0aW9uZXIuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ0JydWdlcmRlZmluZXJldCBtZW51JzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0dpdmVyIG11bGlnaGVkIGZvciBhdCBicnVnZXJkZWZpbmVyZWRlIHN0dW1wZXIga29kZSBrYW4gaW5kcyZhZWxpZzt0dGVzIHZlZCBhdCB2JmFlbGlnO2xnZSBpIGVuIG1lbnUuIE1hbiBrdW5uZSBmb3JzdGlsbGUgc2lnIG5lbSBpbmRzJmFlbGlnO3R0ZWxzZSBhZiB0YWdzIG1tLiBNZW51ZW4gcGxhY2VyZXMgaSB2JmFlbGlnO3JrdCZvc2xhc2g7anNsaW5pZW4gdmVkIGF0IGluZHMmYWVsaWc7dHRlICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU2wmYXJpbmc7ZXQgdGlsIGZyYSBzdGFydGVuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdIdmlzIGRldHRlIHNsJmFyaW5nO3MgZnJhIHN0YXJ0ZXMgVGlueS1lZGl0b3JlbmUgc29tIHNsJmFyaW5nO2V0IGZyYS4gRGV0dGUgYiZvc2xhc2g7ciBicnVnZXMgc2FtbWVuIG1lZCBrbmFwcGVuIHRpbCBhdCBzbCZhcmluZzsgZGVtIHRpbCBvZyBmcmEgZHluYW1pc2suJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnSW5kbCZhZWxpZztzIENNU21zLWxpbmsmIzAzOTtlcmVuJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnRGV0dGUgZ2VuZXJlcmVyIGRlbiBuJm9zbGFzaDtkdmVuZGlnZSBqYXZhc2NyaXB0LWtvZGUgZGVyIHNrYWwgdGlsIGZvciBhdCBnaXZlIG11bGlnaGVkIGZvciBhdCB0aWxmJm9zbGFzaDtqZSAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdGlsIHYmYWVsaWc7cmt0Jm9zbGFzaDtqc2xpbmllbi4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciBsaW5rLXN0aWwnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0aWwnOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzwgYSBocmVmID4tc3RpbCc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgdGlsZiZvc2xhc2g7amVsc2VyJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnRGV0dGUgZ2l2ZXIgZGlnIG11bGlnaGVkIGZvciBhdCB0aWxmJm9zbGFzaDtqZSB0aW5nIHRpbCBlbnRlbiA8IGEgaHJlZiA+LXRhZ2dlbiBlbGxlciB7Y21zX3NlbGZsaW5rfSwgbiZhcmluZztyIGRldCBlciBDTVMtbGlua2VyJiMwMzk7ZW4gZGVyIGxhdmVyIGxpbmtldC4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdVbmRnJmFyaW5nO3IgbGluayBrb252ZXJ0ZXJpbmcnOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdEZXR0ZSBzbCZhcmluZztyIFRpbnlNQ0UmIzAzOTtzIGluZGJ5Z2dlZGUgbGluayBrb252ZXJ0ZXJpbmcgZnJhLiBEZXR0ZSBnJm9zbGFzaDtyIGJsYS4gYnJ1Z2VuIGFmIHtzbWFydHl9LXRhZ3MgaSB1cmwmIzAzOTtlciBtdWxpZ3QuJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdMYXYgcmVsYXRpdmUtc3RpZXInOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1R2aW5nIHJlbnNuaW5nIHZlZCBpbmRzJmFlbGlnO3RuaW5nJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdEZXR0ZSBza2FsIHYmYWVsaWc7cmUgc2wmYXJpbmc7ZXQgdGlsIGZvciBhdCBpbmRzYXQgaW5kaG9sZCByZW5zZXMgZm9yIHMmYWVsaWc7cmUga29kZSBmcmEgZi5la3MuIFdvcmQnOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQm9keSB0YWcgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ0xhZCBzdCZhcmluZzsgdG9tIGVsbGVyIHMmYWVsaWc7dCB0aWwgZGVmYXVsdCBmb3IgYXQgYnJ1Z2UgUEFHRSBDU1MuIE5vdGU6IEJhZ2dydW5kc2ZhcnZlbiBzJmFlbGlnO3R0ZXMgdGlsIGh2aWQsIHZlZCBhdCBpbmRzJmFlbGlnO3R0ZSBmJm9zbGFzaDtsZ2VuZGU6IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5rbHVkJmVhY3V0ZTtyIGt1biBzayZhZWxpZztybS1DU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ0h2aXMgZGV0dGUgZXIgc2wmYXJpbmc7ZXQgdGlsIGlua2x1ZGVyZXMga3VuIHN0eWxlc2hlZXRzIGZvcmJ1bmRldCBtZWQgc2smYWVsaWc7cm0tbWVkaWV0eXBlbiBpIGRlIHN0eWxlcyBzb20gVGlueU1DRSBoJmFyaW5nO25kdGVyZXIuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdCZW55dCBzdGF0aXNrIGtvbmZpZ3VyYXRpb24nOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ0RldHRlIGthbiBoaiZhZWxpZztscGUgbWVkIGF0IGYmYXJpbmc7IFRpbnkgdGlsIGF0IHZpcmtlIHAmYXJpbmc7IHN5c3RlbWVyIGh2b3IgaG9zdGluZyYjMDM5O2VuIGF1dG9tYXRpc2sgdGlsZiZvc2xhc2g7amVyIHRpbmcgdGlsIGZpbGVybmUsIGh2aWxrZXQga2FuICZvc2xhc2g7ZGVsJmFlbGlnO2dnZSBmLmVrcy4gZHluYW1pc2sgZ2VuZXJlcmVkZSBqYXZhc2NyaXB0LWZpbGVyLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnQWR2YXJzZWwhIER1IGhhciBzdGF0aXNrIGtvbmZpZ3VyYXRpb24gc2wmYXJpbmc7ZXQgdGlsIG1lbiBkZXIga2FuIGlra2Ugc2tyaXZlcyB0aWwgL3RtcC8uIERldHRlIGcmb3NsYXNoO3IgZGV0IHVtdWxpZ3QgZm9yIG1vZGVsZXQgYXQgZ2VtbWUgZGVuIHN0YXRpc3RrIGtvbmZpZ3VyYXRpb25zLWZpbCBvZyB2aWwgaCZvc2xhc2g7anN0IHNhbmRzeW5saWd0IGcmb3NsYXNoO3JlIGF0IFRpbnlNQ0UgaWtrZSB2aXJrZXIuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yJmVhY3V0ZTtyICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyB0aWxsYWRlbHNlbiBmb3IgRmlsViZhZWxpZztsZ2VyZW4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnQWR2YXJzZWwhIERldHRlIGdpdmVyIG11bGlnaGVkIGZvciBub2dsZSBmaWwtJmFlbGlnO25kcmVuZGUgaGFuZGxpbmdlciBzZWx2IG9tICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyB0aWxsYWRlbHNlbiBpa2tlIGVyIHNhdCBmb3IgZGVuIGFrdHVlbGxlIGJydWdlcmdydXBwZS4gRGV0dGUgZXIgaXMmYWVsaWc7ciBicnVnYmFydCBzYW1tZW4gbWVkIG11bGlnaGVkZW4gZm9yIGF0IGJlZ3ImYWVsaWc7bnNlIGJydWdlcmVucyBhZGdhbmcgdGlsIHNpbiBlZ2VuIG1hcHBlLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdWaXMgY2hlY2tib3ggdGlsIGF0IHNsJmFyaW5nOyB3eXNpd3lnIHRpbC9mcmEnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1NsJmFyaW5nOyBXWVNJV1lHIHRpbC9mcmEnOwokbGFuZ1snc3R5bGVzX3RhYiddID0gJ0NTUyBzdGlsYXJ0ZXInOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICdIdmlzIGR1IGxhZGVyIGRldHRlIGZlbHQgdiZhZWxpZztyZSB0b210LCB2aWwgVGlueU1DRSBpbmRsJmFlbGlnO3NlIGRpbiBjc3MtZmlsIG9nIHZpc2Ugc3RpbGFydGVybmUgZnJhIGRlbiBwJmFyaW5nOyBzdGlsLWxpc3Rlbi4gSHZpcyBkdSBrdW4gJm9zbGFzaDtuc2tlciBlbmtlbHRlIHN0aWxhcnRlciB2aXN0LCBrYW4gZGUgc2tyaXZlcyBoZXJ1bmRlciBpIGZvcm1hdGV0ICZxdW90O01pblN0aWwxPXN0aWxhcnQxOyBNaW5TdGlsMj1zdGlsYXJ0MiZxdW90Oy4nOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnR2VuZXJlbHQnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWRnYW5nIG4mYWVsaWc7Z3RldC4gQ2hlY2sgZGluZSB0aWxsYWRlbHNlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWpsJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NlbmQnOwokbGFuZ1sndXBkYXRlJ10gPSAnT3BkYXRlcic7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdHZW0gaW5kc3RpbGxpbmdlcic7CiRsYW5nWydzZXR0aW5ncyddID0gJ0luZHN0aWxsaW5nZXInOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ0luZHN0aWxsaW5nZXIgYmxldiBnZW10JzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ0dlbSBhdmFuY2VyZWRlIGluZHN0aWxsaW5nZXInOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0F2YW5jZXJlZGUgaW5kc3RpbGxpbmdlciBnZW10JzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ1YmYWVsaWc7cmt0Jm9zbGFzaDtqc2xpbmllbiBibGV2IGdlbXQnOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdTdHlsZXMgYmxldiBnZW10JzsKJGxhbmdbJ3Rlc3RhcmVhdGV4dCddID0gJzxwPlRlc3Qgb21yJmFyaW5nO2RlLCBpbnRldCBpbmRob2xkIHZpbCBibGl2ZSBza2FkZXQgdmVkIGF0IGxlZ2UgaGVyLi4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICdHZW5za2FiIHN0YW5kYXJkaW5kc3RpbGxpbmdlcic7CiRsYW5nWydyZXNldGFsbCddID0gJ0dlbnNrYWIgYWxsZSBzdGFuZGFyZGluZHN0aWxsaW5nZXInOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGR1IHZpbCBnZW5za2FiZSBkaXNzZSBzdGFuZGFyZGluZHN0aWxsaW5nZXI/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBkdSB2aWwgZ2Vuc2thYmUgQUxMRSBzdGFuZGFyZGluZHN0aWxsaW5nZXI/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdTdGFuZGFyZGluZHN0aWxsaW5nZXJuZSBibGV2IGdlbnNrYWJ0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGxlIHN0YW5kYXJkaW5kc3RpbGxpbmdlciBibGV2IGdlbnNrYWJ0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnZXIgYmxldmV0IG9wZ3JhZGVyZXQgdGlsJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnQnJ1Z2VyZGVmaW5lcmV0IG1lbnUnOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdJbmRzJmFlbGlnO3QgbGluayB0aWwgY21zbXMtc2lkZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWwgaW5kc3RpbGxpbmdlcic7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ0Zyb250ZW5kIHByb2ZpbCBpbmRzdGlsbGluZ2VyJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnVWR2aWRlbHNlcic7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdWJmFlbGlnO2xnIGRlIHVkdmlkZWxzZXIgZHUgJm9zbGFzaDtuc2tlciBhdCBha3RpdmVyZS4gRG9rdW1lbnRhdGlvbiBrYW4gZmluZGVzICA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcjwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnVWR2aWRlbHNlcic7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ0dlbSB1ZHZpZGVsc2VyJzsKJGxhbmdbJ3BsdWdpbnNzYXZlZCddID0gJ1VkdmlkZWxzZXIgYmxldiBnZW10JzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWwgdWR2aWRlbHNlcic7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ0FsbWluZGVsaWdlIHVkdmlkZWxzZXInOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWwnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdCZXNrcml2ZWxzZSc7CiRsYW5nWydwbHVnaW4nXSA9ICdVZHZpZGVsc2UnOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnRHUgZXIgaSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdJbmRsJmFlbGlnO3Mgc3R5bGVzaGVldCBmb3IgaW5kaG9sZGV0IChhbmJlZmFsZXQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ1RpbGYmb3NsYXNoO2plbHNlciB0aWwgc3R5bGVzaGVldCc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdDU1MgZGVyIHNrcml2ZXMgaGVyIHRpbGYmb3NsYXNoO2plcyB0aWwgZGV0IHN0eWxlc2hlZXQgVGlueU1DRSBsJmFlbGlnO3NlciwgZWZ0ZXIgZGUgc3R5bGVzIHNvbSBkZW4gZiZhcmluZztyIGZyYSBDTVNtcy4nOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ055IGZpbCc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnVXBsb2FkJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ055IG1hcHBlJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ09wcmV0JzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ0ludGV0IG1hcHBlbmF2biBnaXZldCc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdNYXBwZW4gZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTWFwcGVuIGJsZXYgb3ByZXR0ZXQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnRGVyIHNrZXRlIGVuIGZlamwgdmVkIG9wcmV0dGVsc2UgYWYgbWFwcGVuJzsKJGxhbmdbJ25vZmlsZSddID0gJ0luZ2VuIGZpbCBibGV2IHVwbG9hZCYjMDM5O2V0JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdEZW4gdXBsb2FkJiMwMzk7ZWRlIGZpbCBlciBmb3Igc3Rvcic7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbG5hdm5ldCBpbmRlaG9sZGVyIGV0IGVsbGVyIGZsZXJlIHVneWxkaWdlIHRlZ24gKCYjMDM5OywmcXVvdDssKywqLFwsLywmYW1wOywkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdEZXIgc2tldGUgZW4gZmVqbCB2ZWQgZmx5dG5pbmcgYWYgZGVuIHVwbG9hZCYjMDM5O2VkZSBmaWwnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmlsZW4gYmxldiB1cGxvYWQmIzAzOTtldCc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnRGVuIHVwbG9hZCYjMDM5O2VkZSBmaWwgZXIgaWtrZSBldCBiaWxsZWRlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ0NNUyBNYWRlU2ltcGxlIEZpbCBWJmFlbGlnO2xnZXInOwokbGFuZ1snc3VjY2VzcyddID0gJ1N1Y2Nlcyc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbCBvcGVyYXRpb25lcic7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ1N0ci4nOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0J4SCc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdBdmFuY2VyZXQnOwokbGFuZ1snaGVscCddID0gJwk8aDM+SHZhZCBnJm9zbGFzaDtyIGRldHRlIG1vZHVsPzwvaDM+Cgk8cD5UaWxsYWRlciBhdCBUaW55TUNFIGthbiBicnVnZXMgc29tIFdZU0lXWUctZWRpdG9yLjwvcD4KCTxoMz5Idm9yZGFuIGJydWdlciBqZWcgZGV0Pz88L2gzPgoJPHA+SW5zdGFsbCZlYWN1dGU7ciBkZXQsIGcmYXJpbmc7IHRpbCBicnVnZXIgaW5kc3RpbGxpbmdlciBvZyB2JmFlbGlnO2xnIFRpbnlNQ0Ugc29tIGRldCAmb3NsYXNoO25za2VkZSBXWVNJV1lHLXN5c3RlbS48L3A+CiAgPGgzPlNwZWxsY2hlY2tlcjwvaDM+CiAgPHA+RnJhIG9nIG1lZCB2ZXJzaW9uIDIuNi4wLCBoYXIgVGlueU1DRSBmJmFyaW5nO2V0IGVuIG9ubGluZSBzdGF2ZWtvbnRyb2wuIE1lbiBiZW0mYWVsaWc7cmsgdmVubGlnc3QgYXQgU1NMIHNrYWwgdiZhZWxpZztyZSBzbCZhcmluZztldCB0aWwgcCZhcmluZzsgc2VydmVyZW4gZm9yIGF0IGRldHRlIHZpcmtlci4gUCZhcmluZzsgbm9nbGUgaW5zdGFsbGF0aW9uZXIgaGVkZGVyIGRlbm4ga29uZmlndXJhdGlvbiBwaHBfb3BlbnNzbCBtZW4gZGV0IGthbiB2JmFlbGlnO3JlIGFuZGVybGVkZXMuPC9wPgoKPGgzPlByb2JsZW1sJm9zbGFzaDtzbmluZzwvaDM+CglOb2dsZSBicnVnZXJlIGhhciBwcm9ibGVtZXIgbWVkIGF0IFRpbnkgaWtrZSB2aXNlciBzaWcgZWZ0ZXIgaW5zdGFsbGF0aW9uIGVsbGVyIG9wZ3JhZGVyaW5nLiBIZXIgZXIgZW4gbGlzdGUgYWYgdGluZyBkZXIga2FuIHByJm9zbGFzaDt2ZXMgZiZvc2xhc2g7ciB1ZHZpa2xlcm5lIGtvbnRha3Rlcy4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUHImb3NsYXNoO3YgdmVubGlnc3QgYXQgdXBsb2FkJiMwMzk7ZSBtb2R1bGVzL1RpbnlNQ0UtbWFwcGVuIHRpbCBkaW4gc2VydmVyIGlnZW4uIEkgZm9yYmF2c2VuZGUgbWFuZ2UgdGlsZiZhZWxpZztsZGUgaGFyIHByb2JsZW1ldCB2JmFlbGlnO3JldCBtYW5nbGVuZGUgZmlsZXIgcGdhLiBmZWpsIGkgdXBsb2FkLjwvbGk+Cgk8bGk+Mi4gUHImb3NsYXNoO3YgYXQgc2wmYXJpbmc7IFN0YXRpc2sga29uZmlndXJhdGlvbiB0aWwuIEJlbSZhZWxpZztyayBhdCBkZXR0ZSBrciZhZWxpZzt2ZXIgYXQgZHUgaGFyIHNrcml2ZXJldHRpZ2hlZGVyIHRpbCAvdG1wLy1tYXBwZW4gcCZhcmluZzsgc2VydmVyZW48L2xpPgoJPGxpPjMuIEh2aXMgZHUgbGlnZSBoYXIgb3BncmFkZXJldCwgcyZhcmluZzsgbnVsc3RpbCBhbGxlIGluZHN0aWxsaW5nZXIuIERldHRlIGVyIGlra2UgcmFydCwgaHZpcyBkdSBoYXIga29uZmlndXJlcmV0IGVuIG1hc3NlLCBkZXQgdmVkIGplZywgbWVuIGRlciBlciBza2V0IGVuIHYmYWVsaWc7bGRpZyBtYXNzZSAmYWVsaWc7bmRyaW5nZXIgZnJhIDIuMy54IHRpbCAyLjQueCB2ZXJzaW9uZXJuZSBhZiBtb2R1bGV0Lgo8bGk+NC4gUHImb3NsYXNoO3YgYXQgc2wmYXJpbmc7IGZ1bmt0aW9uZW4gc3RhdGlzayBrb25maWd1cmF0aW9uIHRpbC4gRGV0dGUgdmlya2VyIGJlZHJlIHAmYXJpbmc7IG5vZ2xlIHN5c3RlbWVyIChDR0ktUEhQIGYuZWtzLikKCTwvdWw+Cgk8YnIvPgoJCTxoMz5VZHZpZGVsc2VzIHVkdmlrbGluZzwvaDM+CiAgRnJhIG9nIG1lZCB2ZXJzaW9uIDIuNy4wIGdpdmVyIFRpbnlNQ0UtbW9kdWxldCBtdWxpZ2hlZCBmb3IgYXQgYW5kcmUgbW9kdWxlciBrYW4gcmVnaXN0cmVyZSB1ZHZpZGVsc2VyIGkgZGV0dGUuIERldCBrdW5uZSB2JmFlbGlnO3JlIGVuIG55IGlrb24gdGlsIGF0IGluZHMmYWVsaWc7dHRlIGluZGhvbGQgZnJhIG1vZHVsZSwgIHMmYXJpbmc7c29tIGV0IGdhbGxlcmkgZWwuIGxpZ24uIERldCBlciByaW1lbGlnIHRla25pc2sgYXQgZiZhcmluZzsgZGV0dGUgdGlsIGF0IHZpcmtlLCBtZW4gaHZpcyBkdSBlciBtb2R1bC11ZHZpa2xlciBvZyBrdW5uZSB0JmFlbGlnO25rZSBkaWcgYXQga2lnZ2UgbiZhZWxpZztybWVyZSBwJmFyaW5nOyBkZXQsIHMmYXJpbmc7IGtpZyB2ZW5saWdzdCBpIFRpbnlNQ0UvZG9jcy1kaXIgZm9yIHlkZXJsaWdlcmUgaW5mb3JtYXRpb25lci4KCQkKJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMjAzOTg4NjU4NS4xMjMxNzEzNjE4LjEyODgzNDc3NDYuMTI4ODYyODQ1Ni4xNjcnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjg2ODc5ODM3LjE2Mi41MC51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwL2JvYXJkLDY0LjAuaHRtbCc7CiRsYW5nWydxY2EnXSA9ICcxMjI5NjAxNzkwLTg1MjQzMTk3LTQzMjYwNzEzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdNaXQgZGllc2VtIE1vZHVsIGvDtm5uZW4gaGF1cHRzw6RjaGxpY2ggSW5oYWx0ZSwgYWJlciBhdWNoIGFsbGUgYW5kZXJlbiBBcnRlbiB2b24gRGF0ZW4gw7xiZXIgZGVuIFdZU0lXWUctRWRpdG9yIGRlcyBUaW55TUNFLVByb2pla3RzIGJlYXJiZWl0ZXQgd2VyZGVuLic7CiRsYW5nWydhZHZhbmNlZF9tZW51J10gPSAnRXJ3ZWl0ZXJ0ZXMgTWVuw7wnOwokbGFuZ1snYXBwbHknXSA9ICdBbndlbmRlbic7CiRsYW5nWydhdXRvcmVzaXplJ10gPSAnQXV0b21hdGlzY2hlIEdyw7bDn2VuYW5wYXNzdW5nJzsKJGxhbmdbJ2Jsb2NrX2Zvcm1hdHMnXSA9ICdWZXJmw7xnYmFyZSBGb3JtYXRlJzsKJGxhbmdbJ2J1dHRvbl9uYW1lJ10gPSAnTmFtZSBkZXMgS25vcGZzJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FiYnJlY2hlbic7CiRsYW5nWydjbXNtc19saW5rZXInXSA9ICdWZXJrbsO8cGZ1bmcgenVyIEluaGFsdHNzZWl0ZSc7CiRsYW5nWydjb250ZXh0bWVudSddID0gJ0tvbnRleHRtZW7DvCc7CiRsYW5nWydjb250ZXh0bWVudV9jb250ZW50J10gPSAnSW5oYWx0IGRlcyBLb250ZXh0bWVuw7xzJzsKJGxhbmdbJ2NvcHknXSA9ICdLb3BpZXJlbic7CiRsYW5nWydjb3B5X3Byb2ZpbGUnXSA9ICdQcm9maWwga29waWVyZW4nOwokbGFuZ1snY3NzX2NsYXNzZXMnXSA9ICdDU1MtS2xhc3Nlbic7CiRsYW5nWydjdXN0b21fZHJvcGRvd24nXSA9ICdFaWdlbmVzIEF1ZmtsYXBwbWVuw7wnOwokbGFuZ1snY3VzdG9tX2Ryb3Bkb3duX3RpdGxlJ10gPSAnVGl0ZWwgZGVzIGVpZ2VuZW4gQXVma2xhcHBtZW7DvHMnOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ2RlZmF1bHRfZGVzaWdubWFuYWdlcl90ZW1wbGF0ZSddID0gJ1N0YW5kYXJkdm9ybGFnZSBhdXMgZGVtIERlc2lnbi1NYW5hZ2VyJzsKJGxhbmdbJ2RlZmF1bHRfcHJvZmlsZV9zZXQnXSA9ICdTdGFuZGFyZHByb2ZpbCB3dXJkZSBnZcOkbmRlcnQnOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGUnXSA9ICdQcm9maWwgbMO2c2NoZW4nOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGVfY29uZmlybSddID0gJ1NvbGwgZGllc2VzIFByb2ZpbCB3aXJrbGljaCBnZWzDtnNjaHQgd2VyZGVuPyc7CiRsYW5nWydkZXNpZ25fY3NzJ10gPSAnRGVzaWduIGbDvHIgU3R5bGVzaGVldHMnOwokbGFuZ1snZG9jdW1lbnRhdGlvbiddID0gJ0Rva3VtZW50YXRpb24nOwokbGFuZ1snZWRpdF9wcm9maWxlJ10gPSAnUHJvZmlsIGJlYXJiZWl0ZW4nOwokbGFuZ1snZW5hYmxlX2NvbnRleHRtZW51J10gPSAnS29udGV4dG1lbsO8IGVybGF1YmVuJzsKJGxhbmdbJ2VuYWJsZV9jdXN0b21fZHJvcGRvd24nXSA9ICdFaWdlbmVzIEF1ZmtsYXBwbWVuw7wgZXJsYXViZW4nOwokbGFuZ1snZW5hYmxlX2xpbmtlciddID0gJ0RpZSBDTVNNUy1MaW5rZXItRXJ3ZWl0ZXJ1bmcgbGFkZW4nOwokbGFuZ1snZW5hYmxlX3VzZXJfdGVtcGxhdGVzJ10gPSAnQmVudXR6ZXJ2b3JsYWdlbiBlcmxhdWJlbic7CiRsYW5nWydlcnJvcl9kZWxldGVfcHJvZmlsZSddID0gJ0JlaW0gTMO2c2NoZW4gdHJhdCBsZWlkZXIgZWluIEZlaGxlciBhdWYnOwokbGFuZ1snZXJyb3JfY2Fubm90X2RlbGV0ZV9kZWZhdWx0X3Byb2ZpbGUnXSA9ICdEYXMgU3RhbmRhcmRwcm9maWwga2FubiBuaWNodCBnZWzDtnNjaHQgd2VyZGVuJzsKJGxhbmdbJ2V4dGVybmFsX21vZHVsZXMnXSA9ICdFeHRlcm5lIE1vZHVsZSc7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzX3Nob3dfbWVudXRleHQnXSA9ICdLbm9wZi1UZXh0IGluIGRlciBXZXJremV1Z2xlaXN0ZSBhbnplaWdlbiDigJMgd2VubiBuaWNodCBha3RpdmllcnQgd2lyZCBudXIgZGFzIFBpa3RvZ3JhbW0gYW5nZXplaWd0JzsKJGxhbmdbJ2V4dHJhX2pzJ10gPSAnRXh0cmEgSmF2YVNjcmlwdC1PcHRpb25lbiBmw7xyIGRhcyBJbml0aWFsaXNpZXJ1bmdzc2tyaXB0JzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyJ10gPSAnRGF0ZWl2ZXJ3YWx0dW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2F2aWFyeV9hY3RpdmUnXSA9ICdBdmlhcnktRm90b2VkaXRvciBlcmxhdWJlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9hdmlhcnlfYXBpS2V5J10gPSAnQXZpYXJ5LUFQSS1TY2hsw7xzc2VsJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NobW9kX2RpcnMnXSA9ICdDSE1PRCBmw7xyIFZlcnplaWNobmlzc2UnOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMnXSA9ICdDSE1PRCBmw7xyIERhdGVpZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY3JlYXRlX2ZvbGRlcnMnXSA9ICdWZXJ6ZWljaG5pc3NlIGVyc3RlbGxlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcyddID0gJ1RleHRkYXRlaWVuIGVyc3RlbGxlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9kZWxldGVfZmlsZXMnXSA9ICdEYXRlaWVuIGzDtnNjaGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9mb2xkZXJzJ10gPSAnVmVyemVpY2huaXNzZSBsw7ZzY2hlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9kdXBsaWNhdGVfZmlsZXMnXSA9ICdEYXRlaWVuIGR1cGxpemllcmVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2VkaXRfdGV4dF9maWxlcyddID0gJ1RleHRkYXRlaWVuIGJlYXJiZWl0ZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmcnXSA9ICdCaWxkZXIgbmFjaCBkZW0gSG9jaGxhZGVuIGF1dG9tYXRpc2NoIHNrYWxpZXJlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ190aXRsZSddID0gJ0F1dG9tYXRpc2NoZSBCaWxkc2thbGllcnVuZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ19oZWlnaHQnXSA9ICdNYXhpbWFsZSBCaWxkaMO2aGUgbmFjaCBkZXIgU2thbGllcnVuZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ193aWR0aCddID0gJ01heGltYWxlIEJpbGRicmVpdGUgbmFjaCBkZXIgU2thbGllcnVuZyc7CiRsYW5nWydmaWxlbWFuYWdlcl9waG90b19lZGl0b3InXSA9ICdBdmlhcnkgRm90b2VkaXRvcic7CiRsYW5nWydmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMnXSA9ICdUZXh0ZGF0ZWllbi1Wb3JzY2hhdSc7CiRsYW5nWydmaWxlbWFuYWdlcl9yZW5hbWVfZmlsZXMnXSA9ICdEYXRlaWVuIHVtYmVuZW5uZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMnXSA9ICdWZXJ6ZWljaG5pc3NlIHVtYmVuZW5uZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfdXBsb2FkX2ZpbGVzJ10gPSAnRGF0ZWllbiBob2NobGFkZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfb3B0aW9ucyddID0gJ0RhdGVpdmVyd2FsdHVuZ3NvcHRpb25lbic7CiRsYW5nWydmaWxlbWFuYWdlcl91c2UnXSA9ICdEYXRlaXZlcndhbHR1bmcgZXJsYXViZW4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVGlueU1DRSBXWVNJV1lHLUVkaXRvcic7CiRsYW5nWydmb3JjZWRfcm9vdF9ibG9jayddID0gJ0JlaSBaZWlsZW51bWJydWNoIEFic2F0eiBlcnp3aW5nZW4nOwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsbGdlbWVpbic7CiRsYW5nWydnbG9iYWxfc2V0dGluZ3MnXSA9ICdHbG9iYWxlIEVpbnN0ZWxsdW5nZW4nOwokbGFuZ1snZ3JvdXBfZnJvbnRlbmQnXSA9ICfDlmZmZW50bGljaGUgQmVudXR6ZXInOwokbGFuZ1snaGVscF9hdmlhcnknXSA9ICdBdmlhcnkgaXN0IGVpbmUgZXh0ZXJuZXMgQmlsZGJlYXJiZWl0dW5nc3Byb2dyYW1tIHZvbiBBZG9iZSc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWRtaW4nXSA9ICdBZG1pbmlzdHJhdG9yZW4nOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2FkdmFuY2VkJ10gPSAnRXJ3ZWl0ZXJ0JzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9mcm9udGVuZCddID0gJ8OWZmZlbnRsaWNoJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9taW5pbWFsJ10gPSAnTWluaW1hbCc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfc3RhbmRhcmQnXSA9ICdTdGFuZGFyZCc7CiRsYW5nWydqc190ZW1wbGF0ZSddID0gJ0phdmFTY3JpcHQtVm9ybGFnZSc7CiRsYW5nWydsaW5rX2NsYXNzZXMnXSA9ICdDU1MtS2xhc3NlbiwgZGllIGbDvHIgTGlua3MgdmVyd2VuZGV0IHdlcmRlbiBrw7ZubmVuJzsKJGxhbmdbJ2xpbmtfY2xhc3Nlc19pbmZvJ10gPSAnRWluZSBLbGFzc2UgcHJvIFplaWxlLCB6LiBCLjogPGNvZGU+Z3Jvw59lciBLbm9wZj1rbm9wZiBzdGlsMTwvY29kZT4nOwokbGFuZ1snbG9hZGluZ19pbmZvJ10gPSAnTGFkZW7igKYnOwokbGFuZ1snbWVudWJhciddID0gJ01lbsO8bGVpc3RlJzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25ld19wcm9maWxlJ10gPSAnTmV1ZXMgUHJvZmlsIGVyc3RlbGxlbic7CiRsYW5nWyduZXd3aW5kb3cnXSA9ICdOZXVlcyBGZW5zdGVyJzsKJGxhbmdbJ25vX2Rlc2lnbl9saW5rZWQnXSA9ICdLZWluIERlc2lnbic7CiRsYW5nWydub25lJ10gPSAnbmljaHRzJzsKJGxhbmdbJ29yaWdfanNfdGVtcGxhdGVfZmlsZSddID0gJ01pdCBkZW0gTW9kdWwgZ2VsaWVmZXJ0ZSBPcmlnaW5hbHZvcmxhZ2UnOwokbGFuZ1sncGx1Z2lucyddID0gJ0Vyd2VpdGVydW5nZW4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEZXIgVGlueU1DRS1FZGl0b3Igd3VyZGUgaW5zdGFsbGllcnQuIDxzdHJvbmc+V2ljaHRpZzo8L3N0cm9uZz4gU29sbHRlIFVSTC1SZXdyaXRpbmcgdmVyd2VuZGV0IHdlcmRlbiwgYml0dGUgZGllIC5odGFjY2Vzcy1EYXRlaSBha3R1YWxpc2llcmVuIChzaWVoZSBIaWxmZXNlaXRlIGRlcyBUaW55TUNFLU1vZHVscyknOwokbGFuZ1sncHJpb3JpdHknXSA9ICdQcmlvcml0w6R0JzsKJGxhbmdbJ3Byb2ZpbGVfY29waWVkJ10gPSAnRGFzIFByb2ZpbCB3dXJkZSBkdXBsaXppZXJ0JzsKJGxhbmdbJ3Byb2ZpbGVfZGVsZXRlZCddID0gJ0RhcyBQcm9maWwgd3VyZGUgZ2Vsw7ZzY2h0JzsKJGxhbmdbJ3Byb2ZpbGVfbmFtZSddID0gJ1Byb2ZpbG5hbWUnOwokbGFuZ1sncHJvZmlsZV9zYXZlZCddID0gJ0RhcyBQcm9maWwgd3VyZGUgZ2VzcGVpY2hlcnQnOwokbGFuZ1sncHJvZmlsZXMnXSA9ICdQcm9maWxlJzsKJGxhbmdbJ3Byb21wdF9saW5rZXInXSA9ICdTZWl0ZW50aXRlbCBlaW5nZWJlbic7CiRsYW5nWydwcm9tcHRfcHJvZmlsZXMnXSA9ICdQcm9maWxlJzsKJGxhbmdbJ3Byb21wdF9zZWxlY3RlZGFsaWFzJ10gPSAnZ2V3w6RobHRlcyBTZWl0ZW5hbGlhcyc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hbWUnOwokbGFuZ1sncHJvbXB0X3RhcmdldCddID0gJ1ppZWwnOwokbGFuZ1sncHJvbXB0X2NsYXNzJ10gPSAnY2xhc3MtQXR0cmlidXQnOwokbGFuZ1sncHJvbXB0X3JlbCddID0gJ3JlbC1BdHRyaWJ1dCc7CiRsYW5nWydwcm9tcHRfdGV4dHRvZGlzcGxheSddID0gJ2FuenV6ZWlnZW5kZXIgVGV4dCc7CiRsYW5nWydyZXNpemUnXSA9ICdHcsO2w59lIMOkbmRlcm4nOwokbGFuZ1sncmVzaXplX25vJ10gPSAnR3LDtsOfZW7DpG5kZXJ1bmcgbmljaHQgZXJsYXViZW4nOwokbGFuZ1sncmVzaXplX3ZlcnRpY2FsJ10gPSAnVmVydGlrYWxlIEdyw7bDn2Vuw6RuZGVydW5nIGVybGF1YmVuJzsKJGxhbmdbJ3Jlc2l6ZV9ib3RoJ10gPSAnVmVydGlrYWxlIHVuZCBob3Jpem9udGFsZSBHcsO2w59lbsOkbmRlcnVuZyBlcmxhdWJlbic7CiRsYW5nWydzaG93X21lbnViYXInXSA9ICdNZW7DvGxlaXN0ZSBhbnplaWdlbic7CiRsYW5nWydzaG93X3N0YXR1c2JhciddID0gJ1N0YXR1c2xlaXN0ZSBhbnplaWdlbic7CiRsYW5nWydzaG93X3Rvb2xiYXInXSA9ICdXZXJremV1Z2xlaXN0ZSBhbnplaWdlbic7CiRsYW5nWydzdHlsZV9mb3JtYXRzJ10gPSAnU3RpbGZvcm1hdGUnOwokbGFuZ1snc3VibWl0J10gPSAnU3BlaWNoZXJuJzsKJGxhbmdbJ3RhYl9nZW5lcmFsX3RpdGxlJ10gPSAnQWxsZ2VtZWluJzsKJGxhbmdbJ3RhYl9hZHZhbmNlZF90aXRsZSddID0gJ0Vyd2VpdGVydCc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1ZvcmxhZ2UnOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnVm9ybGFnZW4nOwokbGFuZ1sndGl0bGVfY21zbXNfbGlua2VyJ10gPSAnTGluayB6dXIgSW5oYWx0c3NlaXRlIGVyc3RlbGxlbic7CiRsYW5nWyd0b29sYmFyJ10gPSAnV2Vya3pldWdsZWlzdGUnOwokbGFuZ1sndG9vbGJhcjEnXSA9ICdXZXJremV1Z2xlaXN0ZSDigJMgZXJzdGUgWmVpbGUnOwokbGFuZ1sndG9vbGJhcjInXSA9ICdXZXJremV1Z2xlaXN0ZSDigJMgendlaXRlIFplaWxlJzsKJGxhbmdbJ3Rvb2x0aXBfc2VsZWN0ZWRhbGlhcyddID0gJ0RpZXNlcyBGZWxkIGthbm4gbnVyIGF1c2dlbGVzZW4gd2VyZGVuJzsKJGxhbmdbJ3R5cGVfVGlueU1DRSddID0gJ1RpbnlNQ0UnOwokbGFuZ1sndHlwZV9qcyddID0gJ0phdmFTY3JpcHQnOwokbGFuZ1sndHlwZV91c2VydGVtcGxhdGUnXSA9ICdUaW55TUNFLUJlbnV0emVydm9ybGFnZSc7CiRsYW5nWyd1c2VfYWR2YW5jZWRfbWVudSddID0gJ0Vyd2VpdGVydGVzIE1lbsO8IHZlcndlbmRlbic7CiRsYW5nWyd1c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMnXSA9ICdBdWZrbGFwcG1lbsO8IGbDvHIgZWlnZW5lIEZvcm1hdGUgdmVyd2VuZGVuJzsKJGxhbmdbJ3VzZXJncm91cHMnXSA9ICdCZW51dHplcmdydXBwZW4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQoJPHA+RXMgc3RlbGx0IGRlbiBUaW55TUNFIGFscyBXWVNJV1lHLUVkaXRvciB6dXIgVmVyZsO8Z3VuZy48L3A+DQoJPGgzPldpZSB3aXJkIGVzIGJlbnV0enQ/PC9oMz4NCgk8cD5OYWNoIGRlciBJbnN0YWxsYXRpb24ga8O2bm5lbiBTaWUgaW4gZGVyIEFkbWluaXN0cmF0aW9uIGltIE1lbsO8IOKAnk1laW5lIEVpbnN0ZWxsdW5nZW4gLT4gQmVudXR6ZXJzcGV6aWZpc2NoZSBFaW5zdGVsbHVuZ2Vu4oCcIFRpbnlNQ0UgYWxzIFdZU0lXWUctRWRpdG9yIGF1c3fDpGhsZW4uPC9wPg0KICA8aDM+U3ByYWNocHLDvGZ1bmc8L2gzPg0KICA8cD5TZWl0IFZlcnNpb24gMi42LjAgZW50aMOkbHQgVGlueU1DRSBlaW5lIG9ubGluZS1TcHJhY2hwcsO8ZnVuZy4gQml0dGUgYmVhY2h0ZW4gU2llLCBkYXNzIGluIElocmVyIFNlcnZlci1Lb25maWd1cmF0aW9uIFNTTCBha3RpdmllcnQgc2VpbiBtdXNzLCBkYW1pdCBkaWVzIGZ1bmt0aW9uaWVydC4gQmVpIGVpbmlnZW4gSW5zdGFsbGF0aW9uZW4gd2lyZCBkaWVzZSBPcHRpb24gcGhwX29wZW5zc2wgZ2VuYW5udCwgZGllcyBrYW5uIGFiZXIgYXVjaCBkYXZvbiBhYndlaWNoZW4uPC9wPg0KCTxoMz5GZWhsZXJzdWNoZTwvaDM+DQoJPHA+RWluaWdlIEFud2VuZGVyIGhhYmVuIFByb2JsZW1lIG1pdCBkZXIgQW56ZWlnZSBkZXMgVGlueU1DRSBuYWNoIGRlciBJbnN0YWxsYXRpb24gb2RlciBBa3R1YWxpc2llcnVuZy4gSW0gZm9sZ2VuZGVuIGZpbmRlbiBTaWUgZWluZSBDaGVja2xpc3RlLCANCglkaWUgU2llIGFiYXJiZWl0ZW4gc29sbHRlbiwgYmV2b3IgU2llIG1pY2ggdW0gVW50ZXJzdMO8dHp1bmcgYml0dGVuLjwvcD4NCgk8b2w+DQoJPGxpPkJpdHRlLCBiaXR0ZSB2ZXJzdWNoZW4gU2llLCBkYXMgVGlueU1DRS1WZXJ6ZWljaG5pcyBub2NobWFscyBpbiBkZW4gL21vZHVsZXMtT3JkbmVyIGhvY2h6dWxhZGVuLiBTaWUgd8OkcmVuIMO8YmVycmFzY2h0LCB3ZW5uIFNpZSB3w7xzc3Rlbiwgd2llIG9mdCBkaWVzIGJlcmVpdHMgYW5kZXJlbiBBbndlbmRlcm4gZ2Vob2xmZW4gaGF0LjwvbGk+DQoJPGxpPlZlcnN1Y2hlbiBTaWUsIGRpZSBPcHRpb24gZsO8ciBlaW5lIHN0YXRpc2NoZSBLb25maWd1cmF0aW9uc2RhdGVpIHp1IHZlcndlbmRlbi4gQml0dGUgYmVhY2h0ZW4gU2llLCBkYXNzIGRhZsO8ciBpaHIgL3RtcC1WZXJ6ZWljaG5pcyBkdXJjaCBkZW4gV2Vic2VydmVyIGJlc2NocmVpYmJhciBzZWluIG11c3MuPC9saT4NCgk8bGk+RmFsbHMgU2llIGRhcyBNb2R1bCBha3R1YWxpc2llcnQgaGFiZW4sIHZlcnN1Y2hlbiBTaWUsIHPDpG10bGljaGUgRWluc3RlbGx1bmdlbiBhdWYgZGllIHByb2dyYW1tc2VpdGlnZW4gVm9yZ2FiZW4genVyw7xja3p1c2V0emVuLiBJY2ggd2Vpw58sIGRhc3MgZGFzIG5pY2h0IGdlcmFkZSBzY2jDtm4gaXN0LCB3ZW5uIFNpZSBUaW55TUNFIGJlcmVpdHMgaW5kaXZpZHVlbGwgYW5nZXBhc3N0IGhhdHRlbiwgYWJlciBtaXQgZGVyIFVtc3RlbGx1bmcgZGVzIE1vZHVscyB2b24gMi4zLnggYXVmIDIuNC54IHNpbmQgZWluZSBNZW5nZSDDhG5kZXJ1bmdlbiBlcmZvbGd0LjwvbGk+DQoJPGxpPlZlcnN1Y2hlbiBTaWUsIGluIGRlciBSZWdpc3RlcmthcnRlIOKAnldlaXRlcmUgT3B0aW9uZW7igJwgZGllIE9wdGlvbiB6dXIgVmVyd2VuZHVuZyBlaW5lciBzdGF0aXNjaGVuIEtvbmZpZ3VyYXRpb25zZGF0ZWkgenUgdmVyd2VuZGVuLiBBdWYgbWFuY2hlbiAoQ0dJLWJhc2llcnRlbikgU3lzdGVtZW4gZnVua3Rpb25pZXJ0IGRpZXMgYmVzc2VyLiBCaXR0ZSBiZWFjaHRlbiBTaWUsIGRhc3MgZGFmw7xyIGRhcyBWZXJ6ZWljaG5pcyAvdG1wLyBkdXJjaCBkZW4gV2Vic2VydmVyIGJlc2NocmVpYmJhciBzZWluIG11c3MuPC9saT4NCgk8L29sPg0KICA8aDM+UGx1Z2luLVByb2dyYW1taWVydW5nPC9oMz4NCiAgPHA+QWIgVmVyc2lvbiAyLjcuMCBkZXMgVGlueU1DRS1Nb2R1bHMga2FubiBhbmRlcmVuIE1vZHVsZW4gZXJsYXVidCB3ZXJkZW4sIEVyd2VpdGVydW5nZW4gZsO8ciBkaWVzZSB6dSByZWdpc3RyaWVyZW4uIERpZXMga8O2bm50ZSB6dW0gQmVpc3BpZWwgZWluIGJlbnV0emVyZGVmaW5pZXJ0ZXMgSWtvbiBzZWluLCBtaXQgZGVtIEluaGFsdGUgdm9uIGFuZGVyZW4gTW9kdWxlIGVpbmdlZsO8Z3Qgd2VyZGVuIGvDtm5uZW4sIHdpZSB6dW0gQmVpc3BpZWwgZWluZSBCaWxkZXJnYWxlcmllLiBXZW5uIFNpZSBlaW4gTW9kdWwtUHJvZ3JhbW1pZXJlciBzaW5kIHVuZCBtZWhyIMO8YmVyIGRpZSB0ZWNobmlzY2hlbiBIaW50ZXJncsO8bmRlIGVyZmFocmVuIG3DtmNodGVuLCBmaW5kZW4gU2llIGltIFZlcnplaWNobmlzIFRpbnlNQ0UvZG9jcyB3ZWl0ZXJlIEluZm9ybWF0aW9uZW4uJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/es_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdFc3RlIG3Ds2R1bG8gcGVybWl0ZSBmdW5kYW1lbnRhbG1lbnRlIGVkaXRhciBlbCBjb250ZW5pZG8sIGF1bnF1ZSBwb3NpYmxlbWVudGUgdGFtYmnDqW4gb3RybyB0aXBvIGRlIGluZm9ybWFjacOzbiwgbWVkaWFudGUgZWwgZWRpdG9yIFdZU0lXWUcgaW1wdWxzYWRvIHBvciBlbCBwcm95ZWN0byBUaW55TUNFLic7CiRsYW5nWydhZHZhbmNlZF9tZW51J10gPSAnTWVuw7ogYXZhbnphZG8nOwokbGFuZ1snYXBwbHknXSA9ICdBcGxpY2FyJzsKJGxhbmdbJ2F1dG9yZXNpemUnXSA9ICdBdXRvIGFqdXN0YXInOwokbGFuZ1snYmxvY2tfZm9ybWF0cyddID0gJ0Zvcm1hdG9zIGRpc3BvbmlibGVzJzsKJGxhbmdbJ2J1dHRvbl9uYW1lJ10gPSAnTm9tYnJlIGRlbCBib3TDs24nOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsYXInOwokbGFuZ1snY21zbXNfbGlua2VyJ10gPSAnRW5sYWNlIGEgcMOhZ2luYSBkZSBjb250ZW5pZG8nOwokbGFuZ1snY29udGV4dG1lbnUnXSA9ICdNZW7DuiBjb250ZXh0dWFsJzsKJGxhbmdbJ2NvbnRleHRtZW51X2NvbnRlbnQnXSA9ICdDb250ZW5pZG8gZGVsIG1lbsO6IGNvbnRleHR1YWwnOwokbGFuZ1snY29weSddID0gJ2NvcGlhcic7CiRsYW5nWydjb3B5X3Byb2ZpbGUnXSA9ICdDb3BpYXIgcGVyZmlsJzsKJGxhbmdbJ2Nzc19jbGFzc2VzJ10gPSAnQ2xhc2VzIENTUyc7CiRsYW5nWydjdXN0b21fZHJvcGRvd24nXSA9ICdNZW7DuiBkZXNwbGVnYWJsZSBwZXJzb25hbGl6YWRvJzsKJGxhbmdbJ2N1c3RvbV9kcm9wZG93bl90aXRsZSddID0gJ1TDrXR1bG8gZGVsIG1lbsO6IGRlc3BsZWdhYmxlIHBlcnNvbmFsaXphZG8nOwokbGFuZ1snZGVmYXVsdCddID0gJ1ZhbG9yIHBvciBkZWZlY3RvJzsKJGxhbmdbJ2RlZmF1bHRfZGVzaWdubWFuYWdlcl90ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBwb3IgZGVmZWN0byc7CiRsYW5nWydkZWZhdWx0X3Byb2ZpbGVfc2V0J10gPSAnUGVyZmlsIHBvciBkZWZlY3RvIGNhbWJpYWRvIGV4aXRvc2FtZW50ZSc7CiRsYW5nWydkZWxldGVfcHJvZmlsZSddID0gJ0JvcnJhciBwZXJmaWwnOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGVfY29uZmlybSddID0gJ8K/RXN0w6Egc2VndXJvIGRlIHF1ZXJlciBib3JyYXIgZXN0ZSBwZXJmaWw/JzsKJGxhbmdbJ2Rlc2lnbl9jc3MnXSA9ICdEaXNlw7FvIGEgdXNhciBwYXJhIGhvamFzIENTUyc7CiRsYW5nWydkb2N1bWVudGF0aW9uJ10gPSAnRG9jdW1lbnRhY2nDs24nOwokbGFuZ1snZWRpdF9wcm9maWxlJ10gPSAnRWRpdGFyIHBlcmZpbCc7CiRsYW5nWydlbmFibGVfY29udGV4dG1lbnUnXSA9ICdBY3RpdmFyIG1lbsO6IGNvbnRleHR1YWwgKGNsaWMgZGVyZWNobyknOwokbGFuZ1snZW5hYmxlX2N1c3RvbV9kcm9wZG93biddID0gJ0FjdGl2YXIgbWVuw7ogZGVzcGxlZ2FibGUgcGVyc29uYWxpemFkbyc7CiRsYW5nWydlbmFibGVfbGlua2VyJ10gPSAnQ2FyZ2FyIGVsIHBsdWdpbiBkZSBlbmxhY2VzIGEgcMOhZ2luYXMgQ01TTVMgKGVubGF6YSBhIHDDoWdpbmFzIGVuIHN1IHNpdGlvKSc7CiRsYW5nWydlbmFibGVfdXNlcl90ZW1wbGF0ZXMnXSA9ICdBY3RpdmFyIHBsYW50aWxsYXMgZGUgdXN1YXJpbyc7CiRsYW5nWydlcnJvcl9kZWxldGVfcHJvZmlsZSddID0gJ0Vycm9yIGFsIHRyYXRhciBkZSBib3JyYXInOwokbGFuZ1snZXJyb3JfY2Fubm90X2RlbGV0ZV9kZWZhdWx0X3Byb2ZpbGUnXSA9ICdFcnJvcjogZWwgcGVyZmlsIHBvciBkZWZlY3RvIG5vIHNlIHB1ZWRlIGJvcnJhcic7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzJ10gPSAnTcOzZHVsb3MgZXh0ZXJub3MnOwokbGFuZ1snZXh0ZXJuYWxfbW9kdWxlc19zaG93X21lbnV0ZXh0J10gPSAnTW9zdGFyIGVsIGJvdMOzbiBjb24gdGV4dG8gZW4gbGEgYmFycmEgZGUgaGVycmFtaWVudGFzIChzaW4gY2hlcXVlLCBtdWVzdHJhIMOtY29ubyBzb2xhbWVudGUpJzsKJGxhbmdbJ2V4dHJhX2pzJ10gPSAnT3BjaW9uZXMgZXh0cmFzIHBhcmEgSmF2YXNjcmlwdCBlbiBlbCBzY3JpcHQgZGUgaW5pY2lhbGl6YWNpw7NuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyJ10gPSAnR2VzdG9yIGRlIGFyY2hpdm9zJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2F2aWFyeV9hY3RpdmUnXSA9ICdBY3RpdmFyIGVkaXRvciBkZSBmb3RvcyBBdmlhcnknOwokbGFuZ1snZmlsZW1hbmFnZXJfYXZpYXJ5X2FwaUtleSddID0gJ0xhIGxsYXZlIEFQSSBkZSBBdmlhcnknOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZGlycyddID0gJ0RpcmVjdG9yaW9zIENITU9EJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NobW9kX2ZpbGVzJ10gPSAnQXJjaGl2b3MgQ0hNT0QnOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZGlycyddID0gJ0NvcGlhciB5IHBlZ2FyIGRpcmVjdG9yaW9zJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NvcHlfY3V0X2ZpbGVzJ10gPSAnQ29waWFyIHkgcGVnYXIgYXJjaGl2b3MnOwokbGFuZ1snZmlsZW1hbmFnZXJfY3JlYXRlX2ZvbGRlcnMnXSA9ICdDcmVhciBjYXJwZXRhcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcyddID0gJ0NyZWFyIGFyY2hpdm9zIGRlIHRleHRvJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9maWxlcyddID0gJ0JvcnJhciBhcmNoaXZvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9kZWxldGVfZm9sZGVycyddID0gJ0JvcnJhciBjYXJwZXRhcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9kdXBsaWNhdGVfZmlsZXMnXSA9ICdEdXBsaWNhciBhcmNoaXZvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9lZGl0X3RleHRfZmlsZXMnXSA9ICdFZGl0YXIgYXJjaGl2b3MgZGUgdGV4dG8nOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmcnXSA9ICdBdXRvIGFqdXN0YXIgdGFtYcOxbyBkZSBpbcOhZ2VuZXMgYWwgc3ViaXJsYXMnOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfdGl0bGUnXSA9ICdBanVzdGUgYXV0b23DoXRpY28gZGUgaW3DoWdlbmVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCddID0gJ0FsdHVyYSBtw6F4aW1hIHBhcmEgaW3DoWdlbmVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoJ10gPSAnQW5jaHVyYSBtw6F4aW1hIHBhcmEgaW3DoWdlbmVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3Bob3RvX2VkaXRvciddID0gJ0VkaXRvciBkZSBmb3RvcyBBdmlhcnknOwokbGFuZ1snZmlsZW1hbmFnZXJfcHJldmlld190ZXh0X2ZpbGVzJ10gPSAnVmVyIGFyY2hpdm9zIGRlIHRleHRvJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyddID0gJ1Jlbm9tYnJhciBhcmNoaXZvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9yZW5hbWVfZm9sZGVycyddID0gJ1Jlbm9tYnJhciBjYXJwZXRhcyc7CiRsYW5nWydmaWxlbWFuYWdlcl91cGxvYWRfZmlsZXMnXSA9ICdTdWJpciBhcmNoaWNvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl9vcHRpb25zJ10gPSAnT3BjaW9uZXMgZGVsIGdlc3RvciBkZSBhcmNoaXZvcyc7CiRsYW5nWydmaWxlbWFuYWdlcl91c2UnXSA9ICdBY3RpdmFyIGVsIGdlc3RvciBkZSBhcmNoaXZvcyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdFZGl0b3IgV1lTSVdZRyBUaW55TUNFJzsKJGxhbmdbJ2ZvcmNlZF9yb290X2Jsb2NrJ10gPSAnRm9yemFyIHVuIHDDoXJyYWZvIGRlc3B1w6lzIGRlIHVuIHNhbHRvIGRlIGzDrW5lYSc7CiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJhbGlkYWRlcyc7CiRsYW5nWydnbG9iYWxfc2V0dGluZ3MnXSA9ICdBanVzdGVzIGdsb2JhbGVzJzsKJGxhbmdbJ2dyb3VwX2Zyb250ZW5kJ10gPSAnVXN1YXJpb3MgZGUgcMOhZ2luYXMgZnJvbnRhbGVzJzsKJGxhbmdbJ2hlbHBfYWR2YW5jZWRfbWVudSddID0gJ0VzdGEgb3BjacOzbiBwZXJtaXRlIHBlcnNvbmFsaXphciBlbCBtZW7DuiBhdmFuemFkby4gU2kgc2UgdXNhIGVzdGUgbWVuw7osIGVsIG1lbsO6IGVzdMOhbmRhciBzZXJhIGRlc2FjdGl2YWRvLic7CiRsYW5nWydoZWxwX2F1dG9yZXNpemUnXSA9ICdBbCBhY3RpdmFyIGVsIHBsdWdpbiBkZSBhanVzdGUgYXV0b21hdGljbyBkZSB0YW1hw7FvLCBjYW1iaWEgZWwgdGFtYcOxbyBkZWwgZWRpdG9yIGRlcGVuZGllbmRvIGRlbCB0YW1hw7FvIGRlbCBjb250ZW5pZG8uJzsKJGxhbmdbJ2hlbHBfYXZpYXJ5J10gPSAnQXZpYXJ5IGVzIHVuIGVkaXRvciBkZSBpbcOhZ2VuZXMgcHJvcG9yY2lvbmFkbyBwb3IgQWRvYmUnOwokbGFuZ1snaGVscF9kZXNpZ25fY3NzJ10gPSAnVGlueU1DRSBwdWVkZSBjYXJnYXIgdW4gY29uanVudG8gZGUgaG9qYXMgZGUgZXN0aWxvcyBkZSB1biBkaXNlw7FvIGRlZmluaWRvIGVuIGVsIEdlc3RvciBkZSBEaXNlw7FvcyBwYXJhIG1lam9yYXIgbGEgZXhwZXJpZW5jaWEgdmlzdWFsLiBOb3RhOiBzaSBsYSBldGlxdWV0YSB7Y29udGVudH0gdGllbmUgdW4gcGFyw6FtZXRybyBcJ2Nzc25hbWVcJyBlc3RhIHByZWZlcmVuY2lhIHNlcsOhIGlnbm9yYWRhIGVuIGxhIHBsYW50aWxsYSBKYXZhc2NyaXB0IHBvciBkZWZlY3RvLCBwZXJvIHNlIHB1ZWRlIGNyZWFyIHVuYSBudWV2YSBwbGFudGlsbGEgSmF2YXNjcmlwdCBwYXJhIGNhbWJpYXIgZXN0ZSBjb21wb3J0YW1pZW50by4gPGJyPjxicj48Yj5JbXBvcnRhbnRlITwvYj5TaSB1c2EgZXN0YSBjYXJhY3RlcsOtc3RpY2EsIGRlYmUgYm9ycmFyIGVsIGNhY2hlIGRlIENNUyBkZXNwdcOpIGRlIGNhbWJpb3MgZW4gbGFzIGhvamFzIGRlIGVzdGlsbyBwYXJhIHF1ZSBzZWFuIHZpc2libGVzIGVuIFRpbnlNQ0UuJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2VfYWR2dGFiJ10gPSAnQWN0aXZhciBsYSBwZXN0YcOxYSBhdmFuemFkYSBwYXJhIGltw6FnZW5lcyAoZXN0aWxvcywgZXNwYWNpb3MsIGJvcmRlcyknOwokbGFuZ1snaW1hZ2VfY2xhc3NlcyddID0gJ0NsYXNlcyBDU1MgcXVlIHB1ZWRlbiBzZXIgdXNhZGFzIGNvbiBsYXMgaW3DoWdlbmVzJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9hZG1pbiddID0gJ0FkbWluaXN0cmFkb3Jlcyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWR2YW5jZWQnXSA9ICdBdmFuemFkbyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfZnJvbnRlbmQnXSA9ICdQw6FnaW5hcyBmcm9udGFsZXMnOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX21pbmltYWwnXSA9ICdNw61uaW1vJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9zdGFuZGFyZCddID0gJ0VzdMOhbmRhcic7CiRsYW5nWydqc190ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBKYXZhc2NyaXB0JzsKJGxhbmdbJ2xpbmtfY2xhc3NlcyddID0gJ0NsYXNzZXMgQ1NTIHF1ZSBwdWVkZW4gc2VyIHVzYWRhcyBwYXJhIGVubGFuY2VzJzsKJGxhbmdbJ2xpbmtfY2xhc3Nlc19pbmZvJ10gPSAnVW5hIGNsYXNlIHBvciBsw61uZWEsIGVqZW1wbG86IDxjb2RlPjxlbT5BenVsIGJ1dHRvbj0gYnRuIGJ0bi1ibHVlPC9lbT48L2NvZGU+JzsKJGxhbmdbJ2xvYWRpbmdfaW5mbyddID0gJ0NhcmdhbmRvLi4uJzsKJGxhbmdbJ21lbnViYXInXSA9ICdCYXJyYSBkZSBtZW7Duic7CiRsYW5nWyduYW1lJ10gPSAnTm9tYnJlJzsKJGxhbmdbJ25ld19wcm9maWxlJ10gPSAnQ3JlYXIgbnVldm8gcGVyZmlsJzsKJGxhbmdbJ25ld3dpbmRvdyddID0gJ051ZXZhIHZlbnRhbmEnOwokbGFuZ1snbm9fZGVzaWduX2xpbmtlZCddID0gJ1NpbiBkaXNlw7FvJzsKJGxhbmdbJ25vbmUnXSA9ICdOYWRhJzsKJGxhbmdbJ29yaWdfanNfdGVtcGxhdGVfZmlsZSddID0gJ1BsYW50aWxsYSBvcmlnaW5hbCBwcm92aXN0YSBjb24gZWwgbcOzZHVsbyc7CiRsYW5nWydwbHVnaW5zJ10gPSAnUGx1Z2lucyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0VsIGVkaXRvciBUaW55TUNFIGhhIHNpZG8gaW5zdGFsYWRvIGV4aXRvc2FtZW50ZS4gPGI+SW1wb3J0YW50ZTwvYj4gU2kgZXN0w6EgdXNhbmRvIGxhIHJlLWVzY3JpdHVyYSBkZSBVUkxTLCBwb3IgZmF2b3IgYWN0dWFsaXphciBlbCBhcmNoaXZvIC5odGFjY2VzcyAodmVyIGxhIHNlY2Npw7NuIGRlIGF5dWRhIGRlIFRpbnlNQ0UpLic7CiRsYW5nWydwcmlvcml0eSddID0gJ1ByaW9yaWRhZCc7CiRsYW5nWydwcm9maWxlX2NvcGllZCddID0gJ0VsIHBlcmZpbCBmdWUgZHVwbGljYWRvIGV4aXRvc2FtZW50ZSc7CiRsYW5nWydwcm9maWxlX2RlbGV0ZWQnXSA9ICdFbCBwZXJmaWwgZnVlIGJvcnJhZG8gZXhpdG9zYW1lbnRlJzsKJGxhbmdbJ3Byb2ZpbGVfbmFtZSddID0gJ05vbWJyZSBkZSBwZXJmaWwnOwokbGFuZ1sncHJvZmlsZV9zYXZlZCddID0gJ1BlcmZpbCBndWFyZGFkbyBleGl0b3NhbWVudGUnOwokbGFuZ1sncHJvZmlsZXMnXSA9ICdQZXJmaWxlcyc7CiRsYW5nWydwcm9tcHRfbGlua2VyJ10gPSAnVMOtdHVsbyBkZSBsYSBww6FnaW5hJzsKJGxhbmdbJ3Byb21wdF9wcm9maWxlcyddID0gJ1BlcmZpbGVzJzsKJGxhbmdbJ3Byb21wdF9zZWxlY3RlZGFsaWFzJ10gPSAnQWxpYXMgZGUgbGEgcMOhZ2luYSBzZWxlY2Npb25hZGEnOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOb21icmUnOwokbGFuZ1sncHJvbXB0X3RhcmdldCddID0gJ09iamV0aXZvJzsKJGxhbmdbJ3Byb21wdF9jbGFzcyddID0gJ0F0cmlidXRvIFwnY2xhc3NcJyc7CiRsYW5nWydwcm9tcHRfcmVsJ10gPSAnQXRyaWJ1dG8gXCdyZWxcJyc7CiRsYW5nWydwcm9tcHRfdGV4dHRvZGlzcGxheSddID0gJ1RleHRvIGEgbW9zdHJhcic7CiRsYW5nWydyZWxhdGl2ZV91cmxzJ10gPSAnVXNhciBVUkxzIHJlbGF0aXZhcyc7CiRsYW5nWydyZXNpemUnXSA9ICdDYW1iaWFyIHRhbWHDsW8nOwokbGFuZ1sncmVzaXplX25vJ10gPSAnTm8gcGVybWl0aXIgY2FtYmlvIGRlIHRhbWHDsW8nOwokbGFuZ1sncmVzaXplX3ZlcnRpY2FsJ10gPSAnUGVybWl0aXIgYWp1c3RlIHZlcnRpY2FsJzsKJGxhbmdbJ3Jlc2l6ZV9ib3RoJ10gPSAnUGVybWl0aXIgYWp1c3RlcyB2ZXJ0aWNhbCB5IGhvcml6b250YWwnOwokbGFuZ1snc2hvd19tZW51YmFyJ10gPSAnTW9zdHJhciBiYXJyYSBkZSBtZcOxdSc7CiRsYW5nWydzaG93X3N0YXR1c2JhciddID0gJ01vc3RyYXIgYmFycmEgZGUgZXN0YXR1cyc7CiRsYW5nWydzaG93X3Rvb2xiYXInXSA9ICdNb3N0cmFyIGJhcnJhIGRlIGhlcnJhbWllbnRhcyc7CiRsYW5nWydzdHlsZV9mb3JtYXRzJ10gPSAnRm9ybWF0b3MgZGUgZXN0aWxvcyc7CiRsYW5nWydzdHlsZV9mb3JtYXRzX2luZm8nXSA9ICdVbmEgcmVnbGEgcG9yIGzDrW5lYSwgZWplbXBsbzogPGNvZGU+PGVtPnRpdGxlOiBcJ1JlZCB0aXRsZVwnLCBibG9jazogXCdoMlwnLCBjbGFzc2VzOiBcJ3RleHQtcmVkXCc8L2VtPjwvY29kZT4nOwokbGFuZ1snc3VibWl0J10gPSAnRW52aWFyJzsKJGxhbmdbJ3RhYl9nZW5lcmFsX3RpdGxlJ10gPSAnR2VuZXJhbGlkYWRlcyc7CiRsYW5nWyd0YWJfYWR2YW5jZWRfdGl0bGUnXSA9ICdBdmFuemFkbyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICdQbGFudGlsbGFzJzsKJGxhbmdbJ3RpdGxlX2Ntc21zX2xpbmtlciddID0gJ0NyZWFyIGVubGFjZSBhIHDDoWdpbmEgZGUgY29udGVuaWRvJzsKJGxhbmdbJ3Rvb2xiYXInXSA9ICdCYXJyYSBkZSBoZXJyYW1pZW50YXMnOwokbGFuZ1sndG9vbGJhcjEnXSA9ICdCYXJyYSBkZSBoZXJyYW1pZW50YXMgLSAxZXJhIGzDrW5lYSc7CiRsYW5nWyd0b29sYmFyMiddID0gJ0JhcnJhIGRlIGhlcnJhbWllbnRhcyAtIDJkYSBsw61uZWEnOwokbGFuZ1sndG9vbHRpcF9zZWxlY3RlZGFsaWFzJ10gPSAnRXN0ZSBjYW1wbyBlcyBkZSBsZWN0dXJhIHVuaWNhbWVudGUnOwokbGFuZ1sndHlwZV9UaW55TUNFJ10gPSAnVGlueU1DRSc7CiRsYW5nWyd0eXBlX2pzJ10gPSAnSmF2YXNjcmlwdCc7CiRsYW5nWyd0eXBlX3VzZXJ0ZW1wbGF0ZSddID0gJ1BsYW50aWxsYSBkZSB1c3VhcmlvIFRpbnlNQ0UnOwokbGFuZ1sndXNlX2FkdmFuY2VkX21lbnUnXSA9ICdVc2FyIG1lbsO6IGF2YW56YWRvJzsKJGxhbmdbJ3VzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyddID0gJ1VzYXIgbWVuw7ogZGVzcGxlZ2FibGUgZGUgZm9ybWF0b3MgcGVyc29uYWxpemFkb3MnOwokbGFuZ1sndXNlcmdyb3VwcyddID0gJ0dydXBvcyBkZSB1c3Vhcmlvcyc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPsK/UXVlIGhhY2UgZXN0bz88L2gzPg0KCTxwPlBlcm1pdGUgcXVlIFRpbnlNQ0Ugc2UgdXRpbGljZSBjb21vIGVkaXRvciBXWVNJV1lHLjwvcD4NCgk8aDM+wr9Db21vIGxvIHVzbz88L2gzPg0KCTxwPkluc3RhbGUgZWwgbcOzZHVsbywgbHVlZ28gdmF5YSBhIHByZWZlcmVuY2lhcyBkZSB1c3VhcmlvIHkgc2VsZWNjaW9uZSBUaW55TUNFIGNvbW8gZWRpdG9yIHd5c2l3eWc8L3A+DQo8aDM+Q29ycmVjdG9yIE9ydG9ncsOhZmljbzwvaDM+DQogIDxwPkEgcGFydGlyIGRlIGxhIHZlcnNpw7NuIDIuNi4wLCBUaW55TUNFIGluY2x1eWUgdW4gY29ycmVjdG9yIG9ydG9ncsOhZmljbyBlbiBsw61uZWEuIFRlbmdhIGVuIGN1ZW50YSBxdWUgU1NMIGRlYmUgZXN0YXIgYWN0aXZhZG8gZW4gbGEgY29uZmlndXJhY2nDs24gZGUgc3Ugc2Vydmlkb3IgcGFyYSBxdWUgZXN0byBmdW5jaW9uZS4gRW4gYWxndW5hcyBjb25maWd1cmFjaW9uZXMgZXN0YSBvcGNpw7NuIHNlIGxsYW1hIHBocF9vcGVuc3NsLCBwZXJvIHB1ZWRlIHZhcmlhci48L3A+DQoJPGgzPlNvbHVjacOzbiBkZSBwcm9ibGVtYXM8L2gzPg0KCUFsZ3VuYXMgcGVyc29uYXMgaGFuIHRlbmlkbyBlbCBwcm9ibGVtYSBkZSBxdWUgdGlueSBubyBzZSBoYSBtb3N0cmFkbyB0cmFzIHVuYSBpbnN0YWxhY2nDs24gbyBhY3R1YWxpemFjacOzbi4gQXF1w60gdGllbmUgdW5hIGxpc3RhIGRlIGFjY2lvbmVzIHF1ZSBwdWVkZSBpbnRlbnRhciBhbnRlcyBkZSBjb250YWN0YXIgY29ubWlnby4NCgk8YnIvPg0KCTx1bD4NCgk8bGk+MS4gUG9yIGZhdm9yLCBwb3IgZmF2b3IsIHBydWViZSBhIHN1YmlyIGRlIG51ZXZvIGVsIGRpcmVjdG9yaW8gbW9kdWxlcy9UaW55TUNFIGFsIHNlcnZpZG9yLiBMZSBzb3JwcmVuZGVyw61hIHNhYmVyIGN1w6FudGFzIHZlY2VzIGVzdG8gaGEgc29sdWNpb25hZG8gZWwgcHJvYmxlbWEuPC9saT4JDQoJPGxpPjIuIFNpIGhhIGFjdHVhbGl6YWRvLCBwcnVlYmUgYSByZXN0YXVyYXIgYSBsYXMgY29uZmlndXJhY2lvbmVzIHBvciBkZWZlY3RvLiBTw6kgcXVlIG5vIGVzIGFncmFkYWJsZSBzaSBoYSByZWFsaXphZG8gbXVjaG9zIGFqdXN0ZXMsIHBlcm8gaGFuIGNhbWJpYWRvIG11Y2hhcyBjb3NhcyBkZSBsYSBzZXJpZSAyLjMueCBhIGxhIDIuNC54Lg0KCTxsaT4zLiBQcnVlYmUgYSBoYWJpbGl0YXIgbGEgb3BjacOzbiBkZSBjb25maWd1cmFjacOzbiBlc3TDoXRpY2EgZW4gbGEgcGVzdGHDsWEgZGUgY29uZmlndXJhY2lvbmVzIGF2YW56YWRhcy4gRXN0byBmdW5jaW9uYSBtZWpvciBlbiBhbGd1bm9zIHNpc3RlbWFzIChjb21vIGxvcyBiYXNhZG9zIGVuIENHSSkuIFRlbmdhIGVuIGN1ZW50YSBxdWUgcmVxdWllcmUgcXVlIGVsIGRpcmVjdG9yaW8gL3RtcCB0ZW5nYSBwZXJtaXNvcyBkZSBlc2NyaXR1cmEgcGFyYSBlbCBzZXJ2aWRvciB3ZWINCgk8L3VsPg0KCTxici8+DQogIDxoMz5EZXNhcnJvbGxvIGRlIHBsdWdpbjwvaDM+DQo8cD5EZXNkZSBsYSB2ZXJzacOzbiAyLjcuMCBlbCBtw7NkdWxvIFRpbnlNQ0UgdGllbmUgbGEgaGFiaWxpZGFkIGRlIHBlcm1pdGlyIHF1ZSBvdHJvcyBtw7NkdWxvIHJlZ2lzdHJlbiBleHRlbnNpb25lcyBwYXJhIMOpbC4gUG9kcsOtYSBzZXIgdW4gaWNvbm8gcGVyc29uYWxpemFkbyBxdWUgbGUgcGVybWl0aWVyYSBpbnNlcnRhciBjb250ZW5pZG8gZGVzZGUgb3Ryb3MgbcOzZHVsb3MgY29tbyBHYWxsZXJ5LCBldGMuIExhIGZvcm1hIGRlIGhhY2VybG8gcmVxdWllcmUgY29ub2NpbWllbnRvcyB0w6ljbmljb3MsIHBlcm8gc2kgZXMgdW4gZGVzYXJyb2xsYWRvciBkZSBtw7NkdWxvcyB5IGVzdMOhIGludGVyZXNhZG8sIG1pcmUgZWwgZGlyZWN0b3JpbyBUaW55TUNFL2RvY3MgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLg0KPC9wPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vb2R1bCBlZW1hbGRhdHVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb29kdWwgdmVyc2lvb25pZ2EgJXMgcGFpZ2FsZGF0dWQuJzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdFZW1hbGRhIHRhdXN0YSB0YWhpc2VkIENTUy1pc3QnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1NlZSB2YWxpayBwcm9vdmliIGVlbWFsZGFkYSB0YXVzdGEgdCZ1dW1sOyZ1dW1sO3BpIHNlYWRlaWQgc3RpaWxpbGVoZWx0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnUmFrZW5kYSBsJmF1bWw7aHRla29vZGkgZm9ybWF0ZWVyaW1pc3QgdiZhdW1sO2xqdW5kIEhUTUwtaWxlJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdQbG9raWZvcm1hYWRpZCByaXBwbWVuJnV1bWw7JnV1bWw7c3QnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdMdWJhIHRhYmVsaSBvcGVyYXRzaW9vbmlkJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnVXVlIHJlYSBzdGlpbCc7CiRsYW5nWydwc3R5bGUnXSA9ICc8cD4tc3RpaWwnOwokbGFuZ1snYnJzdHlsZSddID0gJzxici8+LXN0aWlsJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ0thc3V0YSBneiBrb21wcmVzc2lvb25pJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ1NlZSB2Jm90aWxkZTtpYiBraWlyZW5kYWRhIFRpbnlNQ0UgbGFhZGltaXN0LCBhZ2EgdiZvdGlsZGU7aWIga2EgdiZhdW1sO2x0aWRhIGxhYWRpbWFzdCBtJm90aWxkZTtuZSBzJnV1bWw7c3RlZW1pIHBlYWwuIEthc3V0YSBldHRldmFhdGxpa3VsdC4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ1N1bm5pIDxwPiBqdXVycGxva2tpJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdTdW5uaWIgdGFnYXN0YXR1ZCBzaXN1bCBvbGVtYSBzdWxldHVkIHYmYXVtbDtoZW1hbHQgPHA+LXQmYXVtbDtoaXN0ZWdhJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ0RlZmF1bHQgZGltZW5zaW9ucyc7CiRsYW5nWydyZXNpemV0byddID0gJ1Jlc2l6ZSB0bzonOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnVXNlIGFkdmFuY2VkIFRpbnlNQ0UtcHJvZmlsZSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1NhdmUgcHJvZmlsZSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdUaGUgcHJvZmlsZSB3YXMgc2F2ZWQnOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsZXMnOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ0FkdmFuY2VkIGJhY2tlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU2F2ZSBzdHlsZXMnOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdBbGxvdyB1c2FnZSBvZiBhZHZhbmNlZCBwcm9maWxlIGluIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBvcHRpb25zJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IGluIG9wdGlvbnMgbGlrZSB1cGxvYWQsIG1ha2UgZGlyIGFuZCBmaWxlIGRlbGV0aW9uIGluIEZpbGVQaWNrZXIsIGlmIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gcGVyZm9ybSB0aGVzZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnQXJlIHlvdSBzdXJlIHRoaXMgZmlsZSBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZmlsZWZpbGEnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnQ2Fubm90IHJlYWQgdGhlIGZpbGUgdGlueWNvbmZpZy5waHAgZGlyZWN0bHkgc28gVGlueU1DRSB3aWxsIHByb2JhYmx5IG5vdCB3b3JrLiBZb3Ugc2hvdWxkIGNoZWNrIHRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBhbmQgb2YgdGhlIHBhcmVudCBkaXJzLCB3aGljaCBzaG91bGQgYmUgcmVhZGFibGUgZm9yIGFsbCBidXQgb25seSB3cml0YWJsZSBmb3Igb3duZXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1Nob3cgZmlsZW5hbWVzJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnU2hvdyB0aHVtYm5haWxzJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdTaG93IHRodW1ibmFpbC1maWxlcyBpbiBsaXN0cyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdTaG93IGJvdGggZmlsZW5hbWVzIGFuZCB0aHVtYm5haWxzJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4nOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2luIHZhcmlhdGlvbic7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0VuY29kaW5nIG9mIGVudGl0aWVzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGVuY29kaW5nIChmYXN0ZXN0LCB3b3JrcyBpbiBtb3N0IGNhc2VzKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmFtZWQgZW5jb2RpbmcgKGxpa2UgJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmljIGVuY29kaW5nIChsaWtlICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnU2hvdyB0aGUgcGF0aCBvZiB0aGUgZWxlbWVudCBhdCB0aGUgYm90dG9tIG9mIHRoZSBlZGl0b3InOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RoZXNlIG9wdGlvbnMgc2hvdWxkIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidXR0b24vY29udHJvbCBuYW1lcyB0byBpbnNlcnQgaW50byB0aGUgdG9vbGJhci4gVGhlIGNoYXIgfCBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3b3JkICYjMDM5O3NlcGFyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0NsaWNrIGhlcmUgdG8gdmlldyB0b29sYmFyLWluc3RydWN0aW9ucyBpbiBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnV2lkdGggb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0ZS9UaW1lIGZvcm1hdCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpbWUnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRlJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGljayBoZXJlIGZvciBoZWxwIG9uIGhvdyB0byBmb3JtYXQgdGhlIGRhdGUvdGltZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscCddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIG5vIGNvbW1hcywgcGxlYXNlLiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQ3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhdGUgcmVsYXRpdmUgdXJscyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yY2UgY2xlYW4gb24gcGFzdGUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RoaXMgc2hvdWxkIGJlIGVuYWJsZWQgdG8gcmVtb3ZlIHN0cmFuZ2UgZm9ybWF0dGluZyBjb2RlcyB3aGVuIHBhc3RpbmcgZnJvbSBXb3JkIGV0Yy4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQm9keSB0YWcgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ1dpbGwgYmUgYWRkZWQgdG8gdGhlIGNzcyBib2R5LWRlZmluaXRpb24uIEhpbnQ6IEJhY2tncm91bmQtY29sb3IgY2FuIGJlIHNldCB0byB3aGl0ZSB1c2luZyAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnU2hvdyBjaGVja2JveCB0byB0dXJuIHd5c2l3eWcgb24vb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdUdXJuIFdZU0lXWUcgb24vb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bGVzJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnICBJZiB5b3UgbGVhdmUgdGhlIGZpZWxkIGVtcHR5LCBUaW55TUNFIHdpbGwgcGFyc2UgeW91ciBDU1MgZmlsZSBhbmQgbGlzdCB0aGUgY2xhc3Mgc3R5bGVzIGNvbnRhaW5lZCBpbiBpdCB0byB0aGUgdXNlci4gCiAgSWYgeW91IHdhbnQgb25seSBzb21lIHN0eWxlcyBwcmVzZW50ZWQgdG8gdGhlIHVzZXIsIHNwZWNpZnkgdGhlbSBpbiB0aGUgZm9ybSAmcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywgCiAgJnF1b3Q7c3R5bGUxJnF1b3Q7IGJlaW5nIGEgY2xhc3MgY2FsbCBpbiB5b3VyIHN0eWxlc2hlZXQgYW5kIHlvdSBkb24mIzAzOTt0IHB1dCB0aGUgLiAKICBub3JtYWxseSB1c2VkIGZvciBjbGFzcyBjYWxscyBhcyBpdCBpcyBhbHJlYWR5IGluIHlvdXIgQ1NTLCBpdCB3aWxsIGxvb2sgbGlrZSB0aGlzIDxzcGFuIGNsYXNzPSZxdW90O3N0eWxlMSZxdW90Oz50ZXh0PC9zcGFuPiwgCiAgaW4gdGhlIGZpcnN0IGZpZWxkIGJlbG93LiAKJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0eWxlcyc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdTYXZlIHNldHRpbmdzJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHdhcyBzYXZlZCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiBEb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdTYXZlIHBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lucyBzYXZlZCc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdZb3UgYXJlIGluJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTmV3IGZpbGUnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOZXcgZGlyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWF0ZSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIHdhcyB1cGxvYWRlZCc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnVXBsb2FkZWQgZmlsZSBpcyB0b28gYmlnJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm9yIG1vdmluZyB1cGxvYWRlZCBmaWxlIGludG8gcGxhY2UnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmlsZSBzdWNjZXNzZnVsbHkgdXBsb2FkZWQnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSBGaWxlIFNlbGVjdGlvbic7CiRsYW5nWydzdWNjZXNzJ10gPSAnU3VjY2Vzcyc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbGUgb3BlcmF0aW9ucyc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ1NpemUnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ1d4SCc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdBZHZhbmNlZCc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgoJPGxpPjIuIFRyeSB0byBzd2l0Y2ggb24gdGhlIFN0YXRpYyBDb25maWcgb3B0aW9uLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyPC9saT4KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8bGk+NC4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCkKCTwvdWw+Cgk8YnIvPgoJCQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zMjE1NTQ1MjY2NzMyMDE5MDAwLjEyNDEwOTE3ODcuMTI1NDEyNTMzNC4xMjU0MTI4ODc1LjEzNyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNTM4ODg2MzguMTMyLjI3LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAvdG9waWMsMzczNjAuMC5odG1sJzsKJGxhbmdbJ3FjYSddID0gJzEyNDA2ODM2MTUtNTg0MDk5NzMtNzk5MTUzMDMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI1NDEyODg3NSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fa_FA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3dzIG1haW5seSBjb250ZW50LCBidXQgcG9zc2libHkgYWxzbyBvdGhlciBraW5kcyBvZiBkYXRhLCB0byBiZSBlZGl0ZWQgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBwb3dlcmVkIGJ5IHRoZSBUaW55TUNFIHByb2plY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAn2K3YsNmBINmF2KfamNmI2YQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAn2YXYp9qY2YjZhCDZhti12Kgg2LTYryc7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAn2KrZh9uMINqp2LHYr9mGINiy2YXbjNmG2Ycg2KraryDZh9inINin2LIgQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICfYp9uM2YYg2q/YstuM2YbZhyDYs9i524wg2YXbjCDaqdmG2K8g2KrZhti424zZhdin2Kog2YbZiNi5INiy2YXbjNmG2Ycg2LHYpyDYp9iyc3R5bGVzaGVldCDYrdiw2YEg2YbZhdin24zYryc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAn2KfZgdiy2YjYr9mGINmB2LHZhdiqINin2LXZhNuMINio2YcgaHRtbCDYrtix2YjYrNuMJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICfZgdix2YXYqiDYqNmE2YjaqdmH2Kcg2K/YsSDZhdmG2YjbjCDaqdi02YjbjNuMJzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAn2LPYt9itINiv2LPYqtix2LPbjCDYqNix2KfbjCDYudmF2YTbjNin2Kog2YXYsdiq2KjYtyDYqNinINis2K/Yp9mI2YQnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICfZgtin2YTYqCDYrti3INis2K/bjNivJzsKJGxhbmdbJ3BzdHlsZSddID0gJzxwPi1zdHlsZSc7CiRsYW5nWydicnN0eWxlJ10gPSAnPGJyLz4tc3R5bGUnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAn2KfYs9iq2YHYp9iv2Ycg2KfYsiDZgdi02LHYr9mHINiz2KfYstuMIGd6JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ9in24zZhiDYudmF2YQg2YXbjCDYqtmI2KfZhtivINiz2LHYudiqINio2KfYsdqv2LDYp9ix24wgdGlueW1jZSDYsdinINin2YHYstin24zYtCDYr9mH2K8g2YjZhNuMINmF2YXaqdmGINin2LPYqiDYp9iyINio2KfYsdqv2LDYp9ix24wg2KLZhiDYr9ixINio2LHYrtuMINiz24zYs9iq2YUg2YfYpyDZhdmF2KfZhti52Kog2YbZhdin24zYry4g2KjZhtin2KjYsdin24zZhiDYqNinINin2K3YqtuM2KfYtyDYp9iyINii2YYg2KfYs9iq2YHYp9iv2Ycg2YbZhdin24zbjNivJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdGb3JjZSA8cD4gcm9vdGJsb2NrJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3JjZXMgdGhlIHJldHVybmVkIGNvbnRlbnQgdG8gYXQgbGVhc3QgYmUgZW5jbG9zZWQgaW4gYSA8cD4tdGFnJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ9in2KjYudin2K8g2b7bjNi0INmB2LHYtic7CiRsYW5nWydyZXNpemV0byddID0gJ9iq2LrbjNuM2LEg2LPYp9uM2LIg2KjZhyc7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTWFrZSBhIHRodW1ibmFpbCB3aGVuIHVwbG9hZGluZyBpbWFnZXMnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAn2KfYs9iq2YHYp9iv2Ycg2KfYsiDZvtix2YjZgdin24zZhCDZvtuM2LTYsdmB2KrZhyB0aW55bWNlJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAn2LDYrtuM2LHZhyDZvtix2YjZgdin24zZhCc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICfZvtix2YjZgdin24zZhCDYsNiu24zYsdmHINi02K8nOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAn2b7YsdmI2YHYp9uM2YQg2YfYpyc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAn2KrZhti424zZhdin2Kog2b7bjNi02LHZgdiq2Ycg2b7YsdmI2YHYp9uM2YQnOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ9iw2K7bjNix2Ycg2LPYqNqpJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAn2KfYrNin2LLZhyDYp9iz2KrZgdin2K/ZhyDYp9iyINm+2LHZiNmB2KfbjNmEINm+24zYtNix2YHYqtmHINiv2LEgdGlueW1jZSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICfYp9iz2KrZgdin2K/ZhyDYp9iyINqv2LLbjNmG2Ycg2YfYp9uMINmF2K/bjNix24zYqiDZgdin24zZhCc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBpbiBvcHRpb25zIGxpa2UgdXBsb2FkLCBtYWtlIGRpciBhbmQgZmlsZSBkZWxldGlvbiBpbiBGaWxlUGlja2VyLCBpZiB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIHBlcmZvcm0gdGhlc2UuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ1Jlc3RyaWN0IHVzZXImIzAzOTtzIGRpciBhY2Nlc3MnOwokbGFuZ1sncmVzdHJpY3RkaXJzaGVscCddID0gJ1RoaXMgd2lsbCByZXN0cmljdCB0aGUgZmlsZW1hbmFnZW1lbnQtY2FwYWJpbGl0aWVzIG9mIHRoZSB1c2VyIHRvIGEgc3ViZGlyIHRvICYjMDM5O3VwbG9hZHMmIzAzOTsgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSB1c2VyJiMwMzk7cyBsb2dpbi4gSWYgdGhlIHN1YmRpciBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBwb3NzaWJseSBiZSBjcmVhdGVkLiBQbGVhc2Ugbm90ZSwgdGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyB3aXRoIHRoZSBzdGFuZGFyZCBkaXJuYW1lcywgdXBsb2Fkcy9pbWFnZXMuIFRoaXMgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICfYotuM2Kcg2YXYt9mF2KbZhtuM2K8g2YXbjCDYrtmI2KfZh9uM2K8g2KfbjNmGINmB2KfbjNmEINix2Kcg2K3YsNmBINmG2YXYp9uM24zYr9ifJzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAn2K3YsNmBINio2Kcg2YXZiNmB2YLbjNiqINin2YbYrNin2YUg2LTYryc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnY291bGQgbm90IGJlIGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAnY291bGQgbm90IGJlIGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3dhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdBcmUgeW91IHN1cmUgdGhpcyBlbXB0eSBzdWJkaXIgc2hvdWxkIGJlIGRlbGV0ZWQ/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJ0RlbGV0ZSBlbXB0eSBzdWJkaXInOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ0RlbGV0ZSBGaWxlJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdDYW5ub3QgcmVhZCB0aGUgZmlsZSB0aW55Y29uZmlnLnBocCBkaXJlY3RseSBzbyBUaW55TUNFIHdpbGwgcHJvYmFibHkgbm90IHdvcmsuIFlvdSBzaG91bGQgY2hlY2sgdGhlIHBlcm1pc3Npb25zIG9mIHRoZSBmaWxlIGFuZCBvZiB0aGUgcGFyZW50IGRpcnMsIHdoaWNoIHNob3VsZCBiZSByZWFkYWJsZSBmb3IgYWxsIGJ1dCBvbmx5IHdyaXRhYmxlIGZvciBvd25lci4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAn2YbZhdin24zYtCDZhtin2YUg2YHYp9uM2YQnOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICfZhtmF2KfbjNi0INio2Ycg2LXZiNix2KogdGh1bWJuYWlsJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICfZhtmF2KfbjNi0INmB2KfbjNmEINmH2KfbjHRodW1ibmFpbCDYr9ixINmE24zYs9iqJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ9mG2YXYp9uM2LQg2YHYp9uM2YQg2KjZhyDYtdmI2LHYqnRodW1ibmFpbCDYqNmHINmH2YXYsdin2Ycg2YbYp9mFINmB2KfbjNmEJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ9m+2YjYs9iq2YcnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICfYqti624zbjNix2KfYqiDZvtmI2LPYqtmHJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+UGxlYXNlIG5vdGUhPGJyLz5DaGFuZ2luZyB0aGVzZSBzZXR0aW5ncyBjYW4gY2F1c2UgVGlueU1DRSB0byBzdG9wIHdvcmtpbmcgb3IgdGhlIGdlbmVyYXRlZCBjb2RlIHRvIGJlIHdyb25nIGluIHNvbWUgd2F5LiBPbmx5IGVkaXQgdGhpcyBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchIFBsZWFzZSBjb25zdWx0IHRoZSBUaW55TUNFIHdlYnNpdGUgYmVmb3JlIHBsYXlpbmcgd2l0aCB0aGlzLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAn2LHZhdiy2qnYsdiv2YYg2YXZiNis2YjYr9uM2Kog2YfYpyc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ9ix2YXYsiDaqdix2K/ZhiDYsdiv24zZgSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAn2LHZhdiy2qnYsdiv2YYg2YbYp9mF2q/YsNin2LHbjCc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICfYsdmF2LIg2qnYsdiv2YYg2LnYr9iv24wnOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICfZhtmF2KfbjNi0INmF2LPbjNixINiv2LEg2KfZhtiq2YfYp9uMINmI24zYsdin24zYtNqv2LEnOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICfZhtmI2KfYsSDYp9uM2LLYp9ixJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ9in24zZhiDar9iy24zZhtmHINmH2Kcg2YXbjCDYqNin24zYs9iqINuM2qkg2qnYp9mF2Kcg2KjYudmG2YjYp9mGINis2K/Yp9qv2KfZhtmHINio2LHYp9uMINmI2LHZiNivINio2Ycg2YbZiNin2LEg2KfYqNiy2KfYsSDYr9in2LTYqtmHINio2KfYtNmG2K8nOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAn2YbZiNin2LEg2KfbjNiy2KfYsSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICfYqNix2KfbjCDZhtmF2KfbjNi0INiv2LPYqtmI2LHYp9mE2LnZhdmEINmH2KfbjCB0aW55bWNl2KfbjNmG2KzYpyDaqdmE24zaqSDaqdmG24zYryc7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ9i52LHYtiDZgduM2YTYryDZiNuM2LHYp9uM2LTar9ixJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICdUZXN0aW5nIGFyZWEnOwokbGFuZ1snc2hvd3Rlc3RpbmdvdXRwdXQnXSA9ICdTaG93IHRlc3Rpbmcgb3V0cHV0JzsKJGxhbmdbJ3Rlc3RhcmVhZWRpdG9yJ10gPSAnVGVzdGluZyBhcmVhIGVkaXRvcic7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3RpbmcgYXJlYSBvdXRwdXQnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICdUZXN0aW5nIGFyZWEgc291cmNlJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdBbGxvdyBpbnBsYWNlIHJlc2l6aW5nIG9mIGVkaXRvciBmaWVsZCc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnRG8gbm90IGFsbG93IHJlc2l6aW5nJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdBbGxvdyByZXNpemluZyBpbiBib3RoIGRpcmVjdGlvbnMnOwokbGFuZ1sncmVzaXplaGVpZ2h0J10gPSAnQWxsb3cgcmVzaXppbmcgb2YgaGVpZ2h0IG9ubHknOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfdGV4dCddID0gJ0RhdGUvVGltZSBmb3JtYXQnOwokbGFuZ1sndGltZXRleHQnXSA9ICdUaW1lJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAnRGF0ZSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnQ2xpY2sgaGVyZSBmb3IgaGVscCBvbiBob3cgdG8gZm9ybWF0IHRoZSBkYXRlL3RpbWUnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnRXh0cmEgY29uZmlndXJhdGlvbic7CiRsYW5nWydleHRyYWNvbmZpZ2hlbHAyJ10gPSAnT25lIHN0YXRlbWVudCBwZXIgbGluZSwgY29tbWFzIHdpbGwgYmUgYWRkZWQgYmVmb3JlIGFuZCBhZnRlciB0aGlzIGNvbnRlbnQuIENoZWNrIFRpbnlNQ0Utd2lraSBmb3IgaW5zdHJ1Y3Rpb25zLic7CiRsYW5nWydjdXN0b21kcm9wZG93bnRleHQnXSA9ICdDdXN0b20gZHJvcGRvd24nOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnSW5zZXJ0cyBjdXN0b21pemFibGUgc25pcHBldHMgb2YgY29kZS90ZXh0IGJ5IHNlbGVjdGlvbiBpbiBhIGRyb3Bkb3duIG1lbnUuIA0KT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgYWRkaXRpb25zJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnVGhpcyBhbGxvd3MgeW91IHRvIGFkZCBzdHVmZiB0byBlaXRoZXIgdGhlIDxhIGhyZWY+LXRhZyBvciB7Y21zX3NlbGZsaW5rfSwgd2hlbiBnZW5lcmF0ZWQgYnkgQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdBdm9pZCBsaW5rIGNvbnZlcnNpb24nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdUdXJucyBUaW55TUNFJiMwMzk7cyBidWlsdGluIGxpbmsgY29udmVyc2lvbiBsb2dpYyBvZmYuIE1ha2VzIHtzbWFydHl9LXVzYWdlIGluIHVybHMgcG9zc2libGUuJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdHZW5lcmF0ZSByZWxhdGl2ZSB1cmxzJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdGb3JjZSBjbGVhbiBvbiBwYXN0ZSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAnVGhpcyBzaG91bGQgYmUgZW5hYmxlZCB0byByZW1vdmUgc3RyYW5nZSBmb3JtYXR0aW5nIGNvZGVzIHdoZW4gcGFzdGluZyBmcm9tIFdvcmQgZXRjLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5IHRhZyBDU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnV2lsbCBiZSBhZGRlZCB0byB0aGUgY3NzIGJvZHktZGVmaW5pdGlvbi4gSGludDogQmFja2dyb3VuZC1jb2xvciBjYW4gYmUgc2V0IHRvIHdoaXRlIHVzaW5nICZxdW90O2JhY2tncm91bmQtY29sb3I6IHdoaXRlJnF1b3Q7JzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICdJbmNsdWRlIG9ubHkgc2NyZWVuIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnU2VsZWN0aW5nIHRoaXMgYWxsb3dzIG9ubHkgYXR0YWNoZWQgc3R5bGVzaGVldHMgd2l0aCB0aGUgc2NyZWVuLW1lZGlhdHlwZSBzZWxlY3RlZCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgc3R5bGVzIFRpbnlNQ0UgaGFuZGxlcy4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ1VzZSBzdGF0aWMgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1RoaXMgY2FuIGhlbHAgZ2V0dGluZyB0aW55IHRvIHdvcmsgb24gc3lzdGVtcyB3aGVyZSB0aGUgaG9zdGluZyBmYWNpbGl0eSBhZGRzIHN0dWZmIGxpa2Ugc3RhdGlzdGljcyBldGMuIHRvIGFsbCBvdXRwdXQsIGJyZWFraW5nIGR5bmFtaWNhbGx5IGNyZWF0ZWQgamF2YXNjcmlwdCBjb25maWcgZmlsZSc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnV2FybmluZyEgWW91IGhhdmUgdGhlIHN0YXRpYyBjb25maWctZmlsZSBvcHRpb24gZW5hYmxlZCBidXQgeW91ciAvdG1wLyBkaXIgaXMgbm90IHdyaXRhYmxlLiBUaGlzIHdpbGwgcHJldmVudCB0aGUgbW9kdWxlIGZyb20gc2F2aW5nIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgYW5kIHdpbGwgbW9zdCBwcm9iYWJseSByZW5kZXIgVGlueU1DRSBpbm9wZXJhdGlvbmFsLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICdJZ25vcmUgdGhlICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyBwZXJtaXNzaW9uIGZvciBGaWxlUGlja2VyJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzaGVscCddID0gJ1dhcm5pbmchIFRoaXMgYWxsb3dzIHNvbWUgZmlsZS1hbHRlcmluZyBvcGVyYXRpb25zIGV2ZW4gaWYgdGhlICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBjdXJyZW50IHVzZXJncm91cC4gVGhpcyBjYW4gZWZmZWN0aXZlbHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSBvcHRpb24gdG8gcmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyZWN0b3J5IGFjY2Vzcy4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnU2hvdyBjaGVja2JveCB0byB0dXJuIHd5c2l3eWcgb24vb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdUdXJuIFdZU0lXWUcgb24vb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bGVzJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnICBJZiB5b3UgbGVhdmUgdGhlIGZpZWxkIGVtcHR5LCBUaW55TUNFIHdpbGwgcGFyc2UgeW91ciBDU1MgZmlsZSBhbmQgbGlzdCB0aGUgY2xhc3Mgc3R5bGVzIGNvbnRhaW5lZCBpbiBpdCB0byB0aGUgdXNlci4gDQogIElmIHlvdSB3YW50IG9ubHkgc29tZSBzdHlsZXMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBzcGVjaWZ5IHRoZW0gaW4gdGhlIGZvcm0gJnF1b3Q7Q3VzdG9tTmFtZTE9c3R5bGUxOyBDdXN0b21OYW1lMj1zdHlsZTImcXVvdDssIA0KICAmcXVvdDtzdHlsZTEmcXVvdDsgYmVpbmcgYSBjbGFzcyBjYWxsIGluIHlvdXIgc3R5bGVzaGVldCBhbmQgeW91IGRvbiYjMDM5O3QgcHV0IHRoZSAuIA0KICBub3JtYWxseSB1c2VkIGZvciBjbGFzcyBjYWxscyBhcyBpdCBpcyBhbHJlYWR5IGluIHlvdXIgQ1NTLCBpdCB3aWxsIGxvb2sgbGlrZSB0aGlzIDxzcGFuIGNsYXNzPSZxdW90O3N0eWxlMSZxdW90Oz50ZXh0PC9zcGFuPiwgDQogIGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gDQonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3R5bGVzJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1sndXBkYXRlJ10gPSAn2KjYsdmI2LLYsdiz2KfZhtuMJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ9iw2K7bjNix2Ycg2KrZhti424zZhdin2KonOwokbGFuZ1snc2V0dGluZ3MnXSA9ICfYqtmG2LjbjNmF2KfYqic7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAn2KrZhti424zZhdin2Kog2LDYrtuM2LHZhyDYtNivJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ9iw2K7bjNix2Ycg2KrZhti424zZhdin2Kog2b7bjNi02LHZgdiq2YcnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ9iq2YbYuNuM2YXYp9iqINm+24zYtNix2YHYqtmHINiw2K7bjNix2Ycg2LTYryc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAn2KjYsdqv2LHYr9in2YbYr9mGINiq2YXYp9mFINiq2YbYuNuM2YXYp9iqINio2Ycg2K3Yp9mE2Kog2b7bjNi02YHYsdi2JzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ9ii24zYpyDZhdi32YXYptmGINmH2LPYqtuM2K8g2qnZhyDZhduM2K7ZiNin2YfbjNivINin24zZhiDYqtmG2LjbjNmF2KfYqiDYsdinINio2Ycg2K3Yp9mE2Kog2KfZiNmE24zZhyDYqNin2LIg2q/Ysdiv2KfZhtuM2K/Ynyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICfYotuM2Kcg2YXYt9mF2KbZhiDZh9iz2KrbjNivINqp2Ycg2YXbjNiu2YjYp9mH24zYryDYqtmF2KfZhduMINiq2YbYuNuM2YXYp9iqINix2Kcg2KjZhyDYrdin2YTYqiDYp9mI2YTbjNmHINio2KfYsiDar9ix2K/Yp9mG24zYr9ifJzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICfYp9uM2YYg2KrZhti424zZhdin2Kog2KjZhyDYrdin2YTYqiDZvtuM2LTZgdix2LYg2KjYp9iy2q/Ysdiv2KfZhtiv2Ycg2LTYry4nOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ9iq2YXYp9mFINiq2YbYuNuM2YXYp9iqINio2Ycg2K3Yp9mE2Kog2b7bjNi02YHYsdi2INio2KfYstqv2LHYr9in2YbYr9mHINi02K8uJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ9m+2YTYp9qv24zZhiDZh9inJzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ0Nob29zZSB0aGUgcGx1Z2lucyB5b3Ugd2FudCB0byBhY3RpdmF0ZS4gRG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICfZvtmE2Kfar9uM2YYg2YfYpyc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ9iw2K7bjNix2Ycg2b7ZhNin2q/bjNmGINmH2KcnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAn2b7ZhNin2q/bjNmGINmH2Kcg2LDYrtuM2LHZhyDYtNivJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWxlIFBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICdDb21tb24gUGx1Z2lucyc7CiRsYW5nWydtb2R1bGUnXSA9ICfZhdin2pjZiNmEJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1sncGx1Z2luJ10gPSAn2b7ZhNin2q/bjNmGJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ1lvdSBhcmUgaW4nOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTG9hZCBzdHlsZXNoZWV0IGZvciBjb250ZW50IChyZWNvbW1lbmRlZCknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnQWRkaXRpb25zIHRvIHN0eWxlc2hlZXQnOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTIGVudGVyZWQgaGVyZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzdHlsZXNoZWV0IHJlYWQgYnkgVGlueU1DRSBhZnRlciBpdCByZWNpZXZlcyB0aGUgQ01TbXMgc3R5bGVzJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOZXcgZmlsZSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAn2KLZvtmE2YjYryc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOZXcgZGlyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWF0ZSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICfZh9uM2oYg2YHYp9uM2YTbjCDYotm+2YTZiNivINmG2LTYryc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnVXBsb2FkZWQgZmlsZSBpcyB0b28gYmlnJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3IgbW92aW5nIHVwbG9hZGVkIGZpbGUgaW50byBwbGFjZSc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWxlIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnVGhlIHVwbG9hZGVkIGZpbGUgaXMgbm90IGFuIGltYWdlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ0NNU01hZGVTaW1wbGUgRmlsZSBTZWxlY3Rpb24nOwokbGFuZ1snc3VjY2VzcyddID0gJ1N1Y2Nlc3MnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdGaWxlIG9wZXJhdGlvbnMnOwokbGFuZ1sndGhvdXNhbmRkZWxpbWl0ZXInXSA9ICcsJzsKJGxhbmdbJ3NpemUnXSA9ICdTaXplJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdXeEgnOwokbGFuZ1snYWR2YW5jZWRfdGFiJ10gPSAn2b7bjNi02LHZgdiq2YcnOwokbGFuZ1snaGVscCddID0gJwk8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCgk8cD5FbmFibGVzIGEgVGlueU1DRSB0byBiZSB1c2VkIGFzIGEgV1lTSVdZRy48L3A+DQoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KCTxwPkluc3RhbGwgaXQsIHRoZW4gZ28gdG8gVXNlciBQcmVmZXJlbmNlcyBhbmQgU2V0IFRpbnlNQ0UgdG8gYmUgeW91ciB3eXNpd3lnIG9mIGNob2ljZS48L3A+DQoJPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgDQoJdGhpbmdzIHlvdSBjYW4gdHJ5IGJlZm9yZSBjb250YWN0aW5nIG1lIGZvciBmdXJ0aGVyIHN1cHBvcnQuDQoJPGJyLz4NCgk8dWw+DQoJPGxpPjEuIFBsZWFzZSwgcGxlYXNlLCB0cnkgdG8gcmV1cGxvYWQgdGhlIG1vZHVsZXMvVGlueU1DRSBkaXIgdG8geW91ciBzZXJ2ZXIuIFlvdSYjMDM5O2QgYmUgYW1hemVkIGhvdyBtYW55IHRpbWVzIHRoaXMgaGFzIGhlbHBlZCBwZW9wbGUuPC9saT4NCgk8bGk+Mi4gVHJ5IHRvIHN3aXRjaCBvbiB0aGUgU3RhdGljIENvbmZpZyBvcHRpb24uIE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzIHlvdXIgL3RtcC8tZGlyIHRvIGJlIHdyaXRhYmxlIGJ5IHRoZSB3ZWJzZXJ2ZXI8L2xpPg0KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjQuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpDQoJPC91bD4NCgk8YnIvPg0KCQkNCic7CiRsYW5nWydxY2EnXSA9ICdQMC0xMzA2MTMwMDkzLTEzMTQ3Njk2OTkwMTInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzE2ODAwNjc4LjEwLjUudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1tYWRlc2ltcGxlJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTkzOTA5MzQyLjEzMTA3MjgwNTAuMTMxNjgwMzMzNy4xMzE2ODg5NTgzLjEyJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyAtcGVydXNtb2R1dWxpJzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdUJmF1bWw7bSZhdW1sOyBtb2R1dWxpIHNhbGxpaSBwJmF1bWw7JmF1bWw7YXNpYXNzYSBzaXMmYXVtbDtsbCZvdW1sO24sIG11dHRhIG1haGRvbGxpc2VzdGkgbXkmb3VtbDtzIG11dW5raW4gZGF0YW4gbXVva2thYW1pc2VuIFdZU0lXWUcgZWRpdG9yaWxsYS4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1dWxpIHBvaXN0ZXR0dS4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdXVsaW4gdmVyc2lvICVzIGFzZW5uZXR0dS4nOwokbGFuZ1snc3RyaXBiYWNrZ3JvdW5kdGFncyddID0gJ1BvaXN0YSB0YXVzdGF0YWdpdCBDU1M6c3QmYXVtbDsnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IGFzZXR1cyB5cml0dCZhdW1sOyZhdW1sOyBwb2lzdGFhIGJhY2tncm91bmQtdHl5cHBpc2V0IGFzZXR1a3NldCB0eXlsaXRpZWRvc3RvaXN0YS4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ011b3RvaWxlIHR1bG9zdGV0dGF2YWEgSFRNTDomYXVtbDsmYXVtbDsnOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2NrZm9ybWF0cyBhbGFzdmV0b3ZhbGlrb3NzYSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1NhbGxpIHRhdWx1a2tvLW9wZXJhYXRpb3QnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdVdWRlbiByaXZpbiB0eXlsaSc7CiRsYW5nWydwc3R5bGUnXSA9ICdwLXR5eWxpJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICdici10eXlsaSc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdLJmF1bWw7eXQmYXVtbDsgZ3otcGFra2F1c3RhJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IHZvaSBub3BldXR0YWEgVGlueU1DRTpuIGxhdGF1dHVtaXN0YSwgbXV0dGEgdm9pIG15Jm91bWw7cyBqb2lzc2FpbiBqJmF1bWw7cmplc3RlbG1pc3MmYXVtbDsgZXN0JmF1bWw7JmF1bWw7IHNlbiBsYXRhdXR1bWlzZW4uIEsmYXVtbDt5dCZhdW1sOyB2YXJvZW4uJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdQYWtvdGEgJmFtcDtsdDtwJmFtcDtndDsganV1cmllbGVtZW50dGknOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NraGVscCddID0gJ1Bha290dGFhIHBhbGF1dGV0dW4gc2lzJmF1bWw7bGwmb3VtbDtuIG9sZXZhbiBhaW5ha2luIHN1bGpldHR1bmEgJmFtcDtsdDtwJmFtcDtndDstdGFnaWluJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1RpZWRvc3RvdmFsaXRzZW1lbiB0eXlsaSc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ1RpZWRvc3RvdmFsaXRzZW1lbiBrb2tvJzsKJGxhbmdbJ2FsbG93dXBsb2FkdGV4dCddID0gJ1NhbGxpIHRpZWRvc3RvamVuIGwmYXVtbDtoZXR0JmF1bWw7bWluZW4gamEgaGFrZW1pc3RvamVuIGx1b21pbmVuIFRpZWRvc3RvdmFsaXRzZW1hc3NhJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICdTYWxsaSBsJmF1bWw7aGV0ZXR0eWplbiBrdXZpZW4ga29vbiBtdXV0dGFtaW5lbiBsZW5ub3NzYSc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdPbGV0dXNrb2tvJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnTXV1dGEga29va3NpOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTHVvIHBpZW5vaXNrdXZhLCBrdW4ga3V2YSBsJmF1bWw7aGV0ZXQmYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ0smYXVtbDt5dCZhdW1sOyBtb25pcHVvbGlzZW1wYWEgVGlueU1DRS1wcm9maWlsaWEnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdUYWxsZW5uYSBwcm9maWlsaSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdQcm9maWlsaSB0YWxsZW5uZXR0dSc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWlsaXQnOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ01vbmlwdW9saXNlbW1hdCB0YXVzdGFwcm9maWlsaWVuIGFzZXR1a3NldCc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnVGFsbGVubmEgdHl5bGl0JzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnU2FsbGkgbW9uaXB1b2xpc2VtcGllbiBwcm9maWlsaWVuIGsmYXVtbDt5dHQmYXVtbDttaW5lbiBUaW55TUNFOnNzJmF1bWw7JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ04mYXVtbDt5dCZhdW1sOyB0aWVkb3N0b25oYWxsaW5uYW4gYXNldHVrc2V0JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdOJmF1bWw7eXQmYXVtbDsgdGllZG9zdG9uaGFsbGludGEgYXNldHVrc2lzc2EsIGt1dGVuIHRpZWRvc3RvamVuIGwmYXVtbDtoZXR5cywgaGFrZW1pc3RvamVuIGx1b21pbmVuIGphIHRpZWRvc3RvamVuIHBvaXN0YW1pbmVuIFRpZWRvc3RvdmFsaXRzZW1hc3NhLCBqb3MgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtsbCZhdW1sOyBvbiBsdXBhIHN1b3JpdHRhYSBuJmF1bWw7aXQmYXVtbDsgdG9pbWludG9qYS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmFqb2l0YSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gcCZhdW1sOyZhdW1sO3N5JmF1bWw7IGhha2VtaXN0b2loaW4nOwokbGFuZ1sncmVzdHJpY3RkaXJzaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IHJham9pdHRhYSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gcCZhdW1sOyZhdW1sO3N5biB0aWVkb3N0b25oYWxsaW5uYXNzIGFpbm9hc3RhYW4gdXBsb2Fkcy1oYWtlbWlzdG9uIGFsaWhha2VtaXN0b29uLCBqb2thIG9uIHNhbWFuIG5pbWluZW4ga3VpbiBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdHVubnVzLiBKb3MgaGFrZW1pc3RvYSBlaSBvbGUgb2xlbWFzc2EsIHZvaWRhYW4gc2UgbHVvZGEuIEh1b21hYSwgZXR0JmF1bWw7IHQmYXVtbDttJmF1bWw7IHRvaW1paSB0JmF1bWw7bGwmYXVtbDsgaGV0a2VsbCZhdW1sOyBhaW5vYXN0YWFuIG9sZXR1c2hha2VtaXN0b3N0b2lzc2EsIHVwbG9hZHMvaW1hZ2VzLiBUJmF1bWw7bSZhdW1sOyB2b2kgbXV1dHR1YSB0dWxldmFpc3V1ZGVzc2EuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ09sZXRrbyB2YXJtYSwgZXR0JmF1bWw7IGhhbHVhdCBwb2lzdGFhIHRpZWRvc3Rvbj8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdwb2lzdGV0dGlpbiBvbm5pc3R1bmVlc3RpJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICdlaSB2b2l0dSBwb2lzdGFhJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcmZhaWxlZCddID0gJ2VpIHZvaXR1IHBvaXN0YWEnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3BvaXN0ZXR0aWluIG9ubmlzdHVuZWVzdGknOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnT2xldGtvIHZhcm1hLCBldHQmYXVtbDsgdCZhdW1sO20mYXVtbDsgdHloaiZhdW1sOyBoYWtlbWlzdG8gcG9pc3RldGFhbj8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnUG9pc3RhIHR5aGomYXVtbDsgYWxpaGFrZW1pc3RvJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdQb2lzdGEgdGllZG9zdG8nOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0VpIHZvaWRhIGx1a2VhIHRpZWRvc3RvYSB0aW55Y29uZmlnLnBocCwgam90ZW4gVGlueU1DRSBlaSB0b2Rlbm4mYXVtbDtrJm91bWw7aXNlc3RpIHRvaW1pLiBTaW51biB0dWxpc2kgdGFya2lzdGFhIHRpZWRvc3RvbiBqYSB5bCZhdW1sO2hha2VtaXN0b2plbiBvaWtldWRldCwgam9pZGVuIHBpdCZhdW1sO2lzaSBvbGxhIGthaWtraWVuIGx1ZXR0YXZpc3NhLCBtdXR0YSBvbWlzdGFqYW4ga2lyam9pdGV0dGF2aXNzYS4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnTiZhdW1sO3l0JmF1bWw7IHRpZWRvc3RvbmltZXQnOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICdOJmF1bWw7eXQmYXVtbDsgcGllbm9pc2t1dmF0JzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdOJmF1bWw7eXQmYXVtbDsgcGllbm9pc2t1dmF0IHRhdmFsbGlzaW5hIHRpZWRvc3RvaW5hJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ04mYXVtbDt5dCZhdW1sOyBzZWsmYXVtbDsgdGllZG9zdG9uaW1ldCBldHQmYXVtbDsgcGllbm9pc2t1dmF0JzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1Vsa29hc3UnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdVbGtvYXN1biBtdXVubm9zJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+SHVvbWFhITxici8+TiZhdW1sO2lkZW4gYXNldHVzdGVuIG11dXR0YW1pbmVuIHZvaSBlc3QmYXVtbDsmYXVtbDsgVGlueU1DRTpuIHRvaW1pbm5hbiB0YWkgbHVvdHUga29vZGkgdm9pIG9sbGEgdmlyaGVlbGxpc3QmYXVtbDsuIE11b2trYWEgYWlub2FzdGFhbiwgam9zIHRpZWQmYXVtbDt0IG1pdCZhdW1sOyB0ZWV0ISBLYXRzbyBsaXMmYXVtbDt0aWV0b2EgVGlueU1DRTpuIGtvdGlzaXZ1aWx0YSBlbm5lbiBrdWluIGphdGthdC48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ01lcmtraWVuIG11dW5ub2tzZXQnOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSYWFrYSBtdXVubm9zIChub3BlaW4sIHRvaW1paSB1c2VpbW1pc3NhIHRhcGF1a3Npc3NhKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmltZXR0eSBtdXVubm9zIChrdXRlbiAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ051bWVlcmluZW4gbXV1bm5vcyAoa3V0ZW4gJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdOJmF1bWw7eXQmYXVtbDsgZWxlbWVudGluIHBvbGt1IGVkaXRvcmluIGFsYW9zYXNzYS4nOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUeSZvdW1sO2thbHVwYWxra2knOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnTiZhdW1sO2lkZW4gdHVsaXNpIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHBpbGt1bGxhIGVyb3RldHR1IGxpc3RhIHBhaW5pa2tlaWRlbi9rb250cm9sbGllbiBuaW1pc3QmYXVtbDssIGpvdGthIHNpam9pdGV0YWFuIHR5Jm91bWw7a2FsdXBhbGtraWluLic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUeSZvdW1sO2thbHVwYWxra2knOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnS2xpa2thYSB0JmF1bWw7c3QmYXVtbDsgbiZhdW1sO2hkJmF1bWw7a3Nlc2kgdHkmb3VtbDtrYWx1cGFsa2luIG9oamVldCBUaW55TUNFOm4gd2lraXNzJmF1bWw7Lic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ0VkaXRvcmlrZW50JmF1bWw7biBsZXZleXMnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnRWRpdG9yaWtlbnQmYXVtbDtuIGtvcmtldXMnOwokbGFuZ1snYXV0byddID0gJ0F1dG9tYWF0dGluZW4nOwokbGFuZ1snb3InXSA9ICd0YWknOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnVGVzdGF1cyBhbHVlJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnTiZhdW1sO3l0JmF1bWw7IHRlc3RhdXMgdHVsb2tzZXQnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN0YXVzIGFsdWVlbiBlZGl0b3JpJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnVGVzdGF1cyBhbHVlZW4gdHVsb2tzZXQnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICdUZXN0YXVzIGFsdWVlbiBsJmF1bWw7aGRlJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdTYWxsaSBlZGl0b2ludGlrZW50JmF1bWw7biBrb29uIG11dXR0YW1pbmVuIHBhaWthbGxhYW4nOwokbGFuZ1sncmVzaXplbm9uZSddID0gJyZBdW1sO2wmYXVtbDsgc2FsbGkga29vbiBtdXV0dGFtaXN0YSc7CiRsYW5nWydyZXNpemVib3RoJ10gPSAnU2FsbGkga29vbiBtdXV0dHRhbWluZW4gbW9sZW1waWluIHN1dW50aWluJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ1NhbGxpIHZhaW4ga29ya2V1ZGVuIG11dXR0YW1pbmVuJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdQJmF1bWw7aXYmYXVtbDttJmF1bWw7JmF1bWw7ciZhdW1sOy0gamEgYWlrYW11b3RvJzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnQWlrYSc7CiRsYW5nWydkYXRldGV4dCddID0gJ1AmYXVtbDtpdiZhdW1sO20mYXVtbDsmYXVtbDtyJmF1bWw7JzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdLbGlra2FhIHQmYXVtbDtzdCZhdW1sOywgam9zIGhhbHVhdCBvaGplaXRhIHAmYXVtbDtpdiZhdW1sO20mYXVtbDsmYXVtbDtyJmF1bWw7LSBqYSBhaWthbXVvdG9paGluJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0xpcyZhdW1sO2FzZXR1a3NldCc7CiRsYW5nWydleHRyYWNvbmZpZ2hlbHAyJ10gPSAnWWtzaSBtJmF1bWw7JmF1bWw7cml0eXMgcGVyIHJpdmksIHBpbGt1dCBsaXMmYXVtbDt0JmF1bWw7JmF1bWw7biBlbm5lbiBqYSBqJmF1bWw7bGtlZW4gc2lzJmF1bWw7bHQmb3VtbDsmYXVtbDsuIEthdHNvIFRpbnlNQ0U6biB3aWtpc3QmYXVtbDsgbGlzJmF1bWw7b2hqZWl0YS4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnT21hIHB1ZG90dXN2YWxpa2tvJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0xpcyZhdW1sOyZhdW1sOyBvbWlhIHAmYXVtbDt0a2kmYXVtbDsga29vZGlhL3Rla3N0aSZhdW1sOyBwdWRvdHVzdmFsaWtrb29uLiBTZWxrZWluIGsmYXVtbDt5dHQmb3VtbDtrb2hkZSBvbiBoZWxwcG8gdGFnaWVuIGsmYXVtbDt5dHQmYXVtbDttaW5lbi4gVmFsaWtrbyBsaXMmYXVtbDt0JmF1bWw7JmF1bWw7biB0eSZvdW1sO2thbHVwYWxra2lpbiBrJmF1bWw7eXR0JmF1bWw7ZW4gJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTstYXNldHVzdGEuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdLJmF1bWw7eW5uaXN0eXMgcCZhdW1sOyZhdW1sO2xsJmF1bWw7JzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdUJmF1bWw7bSZhdW1sO24gb3R0YW1pbmVuIHBvaXMgayZhdW1sO3l0Jm91bWw7c3QmYXVtbDsgayZhdW1sO3lubmlzdCZhdW1sOyZhdW1sOyBUaW55TUNFOm4gcG9pc3NhIGsmYXVtbDt5dCZvdW1sO3N0JmF1bWw7LiBUJmF1bWw7dCZhdW1sOyB0dWxpc2kgayZhdW1sO3l0dCZhdW1sOyZhdW1sOyB5aGRlc3MmYXVtbDsgcCZhdW1sOyZhdW1sO2xsZS9wb2lzLXBhaW5pa2tlZW4ga2Fuc3NhLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xhdGFhIENNUy1saW5raXR0JmF1bWw7aiZhdW1sOyc7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IGx1byBKYXZhU2NyaXB0LWtvb2Rpbiwgam9rYSBzYWxsaWkgY21zbGlua2VyaW4gbGlzJmF1bWw7JmF1bWw7bWlzZW4gdHkmb3VtbDtrYWx1cGFsa2tpaW4uJzsKJGxhbmdbJ2Ntc2xpbmtlcnN0eWxldGV4dCddID0gJ0NNUy1saW5raXR0JmF1bWw7aiZhdW1sO24gbGlua2tpdHl5bGknOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXR5eWxpJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi10eXlsaSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgbGlzJmF1bWw7eWtzZXQnOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdUJmF1bWw7bSZhdW1sOyBtYWhkb2xsaXN0YWEgcGFyYW1ldHJpZW4gbGlzJmF1bWw7JmF1bWw7bWlzZW4gJmFtcDtsdDthIGhyZWYmYW1wO2d0OyB0YWkge2Ntc19zZWxmbGlua30gLXRhZ2lpbiwga3VuIGdlbmVyb2lkYWFuIENNUy1saW5rZXJpbGwmYXVtbDsuJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb250ZXh0J10gPSAnViZhdW1sO2x0JmF1bWw7IGxpbmtraSBtdXVubm9rc2lhJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb25oZWxwJ10gPSAnUG9pc3RhYSBrJmF1bWw7eXQmb3VtbDtzdCZhdW1sOyBUaW55TUNFOm4gb21hbiBsaW5ra2kgY29udmVydHRlcmluLiBNYWhkb2xsaXN0YWEge3NtYXJ0eX06biBrJmF1bWw7eXQmb3VtbDtuIHVybGVpc3NhLic7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnTHVvIHJlbGF0aWl2aXNldCB1cmwtb3NvaXR0ZWV0JzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdQYWtvdGEga29vZGluIHNpaXN0aW1pbmVuIGxpaXR0JmF1bWw7bWlzZXNzJmF1bWw7JzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdUJmF1bWw7bSZhdW1sOyB0dWxpc2kgb2xsYSBwJmF1bWw7JmF1bWw7bGwmYXVtbDssIGpvdHRhIG91ZG90IG11b3RvaWx1dCBwb2lzdGV0YWFuIGtvb2Rpc3RhLCBrdW4gbGlpdGV0JmF1bWw7JmF1bWw7biB0ZWtzdGkmYXVtbDsgZXNpbWVya2lrc2kgV29yZGlzdGEuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHktdGFnaW4gQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ0omYXVtbDt0JmF1bWw7IHR5aGomYXVtbDtrc2kgdGFpIGFzZXRhIG9sZXR1cyBrJmF1bWw7eXR0JmF1bWw7JmF1bWw7a3Nlc2kgc2l2dW4gQ1NTOiZhdW1sOyZhdW1sOy4gSHVvbWFhOiBBc2V0dGFha3Nlc2kgZWRpdG9yaW4gdGF1c3RhdiZhdW1sO3JpbiB2YWxrb2lzZWtzaSwgYW5uYSBzZXVyYWF2YSBhcnZvOiBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnU2lzJmF1bWw7bGx5dCZhdW1sOyBhaW5vYXN0YWFuIG4mYXVtbDt5dHQmb3VtbDsgQ1NTJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdUJmF1bWw7bSZhdW1sO24gdmFsaXRzZW1pbmVuIGFpbm9hc3RhYW4gdHl5bGl0aWVkb3N0b2plbiBsaWl0dCZhdW1sO21pc2VuIFRpbnlNQ0U6aGVuLCBqb2lsbGEgb24gbWVkaWF0eXlwcGkgc2NyZWVuIHZhbGl0dHVuYS4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ0smYXVtbDt5dCZhdW1sOyBzdGFhdHRpc3RhIGtvbmZpZ3VyYWF0aW90aWVkb3N0b2EnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1QmYXVtbDttJmF1bWw7IHZvaSBoZWxwb3R0YWEgVGlueU1DRTpuIHNhYW1pc3RhIHRvaW1pbnRhYW4gc2VsbGFpc2Vzc2EgeW1wJmF1bWw7cmlzdCZvdW1sO3NzJmF1bWw7LCBqb3NzYSBwYWx2ZWx1bnRhcmpvYWphIGxpcyZhdW1sOyZhdW1sOyBwYWx2ZWx1amEga3V0ZW4gdGlsYXN0b2phIGthaWtrZWVuIHVsb3NtZW5ldiZhdW1sOyZhdW1sO24gdGlldG9vbiwgam9rYSByaWtrb28gZHluYWFtaXNlc3RpIGx1b2R1biBKYXZhU2NyaXB0IGtvbmZpZ3VyYWF0aW90aWVkb3N0b24nOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1Zhcm9pdHVzISBTaW51bGxhIG9uIHN0YWF0dGluZW4ga29uZmlndXJhYXRpb3RpZWRvc3RvIGsmYXVtbDt5dCZvdW1sO3NzJmF1bWw7LCBtdXR0YSBoYWtlbWlzdG8gL3RtcC8gZWkgb2xlIGtpcmpvaXRldHRhdmlzc2EuIFQmYXVtbDttJmF1bWw7IGVzdCZhdW1sOyZhdW1sOyBtb2R1dWxpYSB0YWxsZW50YW1hc3RhIHN0YWF0dGlzdGEga29uZmlndXJhYXRpb3RpZWRvc3RvYSBqYSBlc3QmYXVtbDsmYXVtbDsgVGlueU1DRTpuIHRvaW1pbm5hbi4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnJkF1bWw7bCZhdW1sOyB2JmF1bWw7bGl0JmF1bWw7ICYjMDM5O011b2thdGEgdGllZG9zdG9qYSYjMDM5Oy1vaWtldWRlc3RhIFRpZWRvc3RvdmFsaXRzaW1lc3NhLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICdWYXJvaXR1cyEgVCZhdW1sO20mYXVtbDsgc2FsbGlpIGpvaWRlbmtpbiB0aWVkb3N0b2plbiBtdW9ra2F1c3RvaW1pbnRvamVuIHRla2VtaXNlbiwgdmFpa2thIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7cnlobSZhdW1sO2xsJmF1bWw7IGVpIG9sZSAmIzAzOTtNdW9rYXRhIHRpZWRvc3RvamEmIzAzOTstb2lrZXV0dGEuIFQmYXVtbDt0JmF1bWw7IHZvaSB0ZWhva2thYXN0aSBrJmF1bWw7eXR0JmF1bWw7JmF1bWw7IGFzZXR1a3NlbiBrYW5zc2EsIGpva2EgcmFqb2l0dGFhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBoYWtlbWlzdG9paGluIHAmYXVtbDsmYXVtbDtzeSZhdW1sOy4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnTiZhdW1sO3l0JmF1bWw7IHd5c2l3eWcgcCZhdW1sOyZhdW1sO2xsZS9wb2lzLXBhaW5pa2UnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1dZU0lXWUcgcCZhdW1sOyZhdW1sO2xsZS9wb2lzJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MtdHl5bGl0JzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnSm9zIGomYXVtbDt0JmF1bWw7dCBlbnNpbW0mYXVtbDtpc2VuIGtlbnQmYXVtbDtuIHR5aGomYXVtbDtrc2ksIFRpbnlNQ0UgayZhdW1sO3NpdHRlbGVlIENTUy10aWVkb3N0b3NpIGphIGxpc3RhYSBzZW4gc2lzJmF1bWw7bHQmYXVtbDttJmF1bWw7dCB0eXlsaXQgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtsbGUuIEpvcyBoYWx1YXQgdmFpbiBqb2lkZW5raW4gdHl5bGllbiBuJmF1bWw7a3l2JmF1bWw7biBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSwgbSZhdW1sOyZhdW1sO3JpdHRlbGUgbmUgdCZhdW1sO2gmYXVtbDtuIHRhcGFhbjogXCZxdW90O1N0eWxlIDE9c3R5bGUxOyBTdHlsZSAyPXN0eWxlMlwmcXVvdDsgZW5zaW1tJmF1bWw7aXNlc3MmYXVtbDsgYWxsYSBvbGV2YXNzYSBrZW50JmF1bWw7c3MmYXVtbDsuIE11aXNzYSBrZW50aXNzJmF1bWw7IHZvaXQgbSZhdW1sOyZhdW1sO3JpdGVsbCZhdW1sOyBDU1MtdHl5bGVqJmF1bWw7IHRhdWx1a29pbGxlLCByaXZlaWxsZSBqYSBzb2x1aWxsZSwgam9pdGEgayZhdW1sO3l0ZXQmYXVtbDsmYXVtbDtuIHZhc3RhYXZpc3NhIGRpYWxvZ2Vpc3NhLiBKb3Mga2VudHQmYXVtbDsgb24gdHloaiZhdW1sOywgayZhdW1sO3l0ZXQmYXVtbDsmYXVtbDtuIHlsZWlzaSZhdW1sOyB0eXlsZWomYXVtbDsnOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnVHl5bGl0JzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1AmYXVtbDsmYXVtbDtzeSBlc3RldHR5LiBUYXJraXN0YSBvaWtldWRldC4nOwokbGFuZ1snZXJyb3InXSA9ICdWaXJoZSEnOwokbGFuZ1snc3VibWl0J10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWyd1cGRhdGUnXSA9ICdQJmF1bWw7aXZpdCZhdW1sOyc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdUYWxsZXRhIGFzZXR1a3NldCc7CiRsYW5nWydzZXR0aW5ncyddID0gJ0FzZXR1a3NldCc7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnQXNldHVrc2V0IHRhbGxlbm5ldHR1JzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ1RhbGxldGEgbW9uaXB1b2xpc2V0IGFzZXR1a3NldCc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnTW9uaXB1b2xpc2V0IGFzZXR1a3NldCB0YWxsZW5uZXR0dSc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUeSZvdW1sO2thbHVwYWxra2kgdGFsbGVubmV0dHUnOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdUeXlsaXQgdGFsbGVubmV0dHUnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdGlhbHVlLCBzaXMmYXVtbDtsdCZvdW1sOyBlaSBzb3RrZWVubnUgdCZhdW1sO3QmYXVtbDsgbXVva2F0ZXNzYS4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICdQYWxhdXRhIG9sZXR1a3NldCc7CiRsYW5nWydyZXNldGFsbCddID0gJ1BhbGF1dGEga2Fpa2tpIGFzZXR1a3NldCBvbGV0dWtzaWluJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ09sZXRrbyB2YXJtYSwgZXR0JmF1bWw7IGhhbHVhdCBwYWxhdXR0YWEgbiZhdW1sO20mYXVtbDsgYXNldHVrc2V0IG9sZXR1a3NpaW4/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ09sZXRrbyB2YXJtYSwgZXR0JmF1bWw7IGhhbHVhdCBwYWxhdXR0YWEgS0FJS0tJIGFzZXR1a3NldCBvbGV0dWtzaWluPyc7CiRsYW5nWydzZXR0aW5nc3Jlc2V0J10gPSAnTiZhdW1sO20mYXVtbDsgYXNldHVrc2V0IHBhbGF1dGV0dGlpbiBvbGV0dWtzaWluJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdLYWlra2kgYXNldHVrc2V0IHBhbGF1dGV0dGlpbiBvbGV0dWtzaWluJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnb24gcCZhdW1sO2l2aXRldHR5IHZlcnNpb29uICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnT21hIHB1ZG90dXN2YWxpa2tvJzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnTGlzJmF1bWw7JmF1bWw7IGxpbmtraSBjbXNtcy1zaXZ1bGxlJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdIYWxsaW50YXBhbmVlbGluIHByb2ZpaWxpYXNldHVrc2V0JzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnSnVsa2lzZW4gc2l2dW4gcHJvZmlpbGlhc2V0dWtzZXQnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdMaXMmYXVtbDtvc2F0JzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ1ZhbGl0c2UsIG1pdGsmYXVtbDsgbGlzJmF1bWw7b3NhdCBoYWx1YXQgYWt0aXZvaWRhLiBEb2t1bWVudGFhdGlvIGwmb3VtbDt5dHl5IDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+dCZhdW1sOyZhdW1sO2x0JmF1bWw7PC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdMaXMmYXVtbDtvc2F0JzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnVGFsbGVubmEgbGlzJmF1bWw7b3NhdCc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdMaXMmYXVtbDtvc2F0IHRhbGxlbm5ldHR1JzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdXVsaW4gbGlzJmF1bWw7b3NhdCc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1lsZWlzZXQgbGlzJmF1bWw7b3NhdCc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1dWxpJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnS3V2YXVzJzsKJGxhbmdbJ3BsdWdpbiddID0gJ0xpcyZhdW1sO29zYSc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdPbGV0IGtvaGRhc3NhJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xhdGFhIHR5eWxpdGllZG9zdG8gc2lzJmF1bWw7bGwmb3VtbDtsbGUgKHN1b3NpdGVsdHVhKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdMaXMmYXVtbDt5a3NldCB0eXlsaXRpZWRvc3RvaWhpbic7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdUJmF1bWw7aCZhdW1sO24gbGlzJmF1bWw7dHR5IENTUyBsaXMmYXVtbDt0JmF1bWw7JmF1bWw7biB0eXlsaXRpZWRvc3Rvb24sIGpvbmthIFRpbnlNQ0UgbHVrZWUsIGt1biBoYWtlZSBDTVNNUzpuIHR5eWxpdCc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnVXVzaSB0aWVkb3N0byc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdVdXNpIGhha2VtaXN0byc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdMdW8nOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnRWkgaGFrZW1pc3RvbiBuaW1lJmF1bWw7IGFubmV0dHVuYSc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdIYWtlbWlzdG9uIG5pbWkgb24gam8gb2xlbWFzc2EnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ1V1c2kgaGFrZW1pc3RvIGx1b3R1IG9ubmlzdHVuZWVzdGknOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnVGFwYWh0dWkgdmlyaGUgaGFrZW1pc3RvYSBsdW90YWVzc2EnOwokbGFuZ1snbm9maWxlJ10gPSAnVGllZG9zdG9hIGVpIGwmYXVtbDtoZXRldHR5JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdMJmF1bWw7aGV0ZXR0JmF1bWw7diZhdW1sOyB0aWVkb3N0byBvbiBsaWlhbiBzdXVyaSc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ1RpZWRvc3RvbiBuaW1pIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHloZGVuIHRhaSB1c2VhbW1hbiBraWVsbGV0eW4gbWVya2luICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnVmlyaGUgbCZhdW1sO2hldGV0eW4gdGllZG9zdG9uIHNpaXJ0JmF1bWw7bWlzZXNzJmF1bWw7JzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ1RpZWRvc3RvIGwmYXVtbDtoZXRldHRpaW4gb25uaXN0dW5lZXN0aSc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnTCZhdW1sO2hldGV0dCZhdW1sO3YmYXVtbDsgdGllZG9zdG8gZWkgb2xlIGt1dmEnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSB0aWVkb3N0b24gdmFsaXRzZW1pbmVuJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdPbm5pc3R1aSc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ1RpZWRvc3RvdHlvaW1pbm5vdCc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJyAnOwokbGFuZ1snc2l6ZSddID0gJ0tva28nOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0x4Syc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdNb25pcHVvbGluZW4nOwokbGFuZ1snaGVscCddID0gJzxoMz5NaXQmYXVtbDsgdCZhdW1sO20mYXVtbDsgdGVrZWU/PC9oMz4KCTxwPkFzZXR0YWEgayZhdW1sO3l0dCZvdW1sOyZvdW1sO24gVGlueU1DRTpuIGsmYXVtbDt5dHQmYXVtbDttaXNlbiBXWVNJV1lHLWVkaXRvcmluYS48L3A+Cgk8aDM+S3VpbmthIGsmYXVtbDt5dCZhdW1sO24gc2l0JmF1bWw7PzwvaDM+Cgk8cD5Bc2VubmEgc2UsIG1lbmUgc2VuIGomYXVtbDtsa2VlbiBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gYXNldHVrc2lpbiBqYSB2YWxpdHNlIG9ua28gVGlueU1DRSBrJmF1bWw7eXQmb3VtbDtzcyZhdW1sOy48L3A+CiAgPGgzPktpZWxlbnRhcmtpc3R1czwvaDM+CiAgPHA+VmVyc2lvc3RhIDIuNi4wIGwmYXVtbDtodGllbiBUaW55TUNFIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHZlcmtvc3NhIG9sZXZhbiBraWVsZW50YXJraXN0dWtzZW4uIEh1b21hYSwgZXR0JmF1bWw7IHBhbHZlbGltZW4gYXNldHVrc2lzc2EgdCZhdW1sO3l0eXkgb2xsYSBTU0wgcCZhdW1sOyZhdW1sO2xsZSwgam90dGEgdCZhdW1sO20mYXVtbDsgdG9pbWlzaS4gSm9pc3NhaW4gYXNlbm51a3Npc3NhIG9uIHZhaWh0b2VodG8gbmltZWx0JmF1bWw7IHBocF9vcGVuc3NsLCBtdXR0YSBzZSB2b2kgdmFpaGRlbGxhPC9wPgoJPGgzPk9uZ2VsbWllbiBldHNpbWluZW48L2gzPgoJT3NhbGxhIGlobWlzaXN0JmF1bWw7IG9uIG9uZ2VsbWlhIHNhYWRhIFRpbnlNQ0UgbiZhdW1sO2t5bSZhdW1sOyZhdW1sO24gYXNlbm51a3NlbiB0YWkgcCZhdW1sO2l2aXR5a3NlbiBqJmF1bWw7bGtlZW4uIFQmYXVtbDtzcyZhdW1sOyBvbiB0YXJraXN0dXNsaXN0YSwgam9ua2Egdm9pdCBrJmF1bWw7eWQmYXVtbDsgbCZhdW1sO3BpIGVubmVuIGt1aW4ga3lzeXQgYXB1YS4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gT2xlIGtpbHR0aSBqYSB5cml0JmF1bWw7IGwmYXVtbDtoZXR0JmF1bWw7JmF1bWw7IG1vZHVsZXMvVGlueU1DRSBoYWtlbWlzdG8gcGFsdmVsaW1lbGxlc2kuIEV0IHVza28sIGt1aW5rYSB1c2VpbiB0JmF1bWw7bSZhdW1sOyBvbiBhdXR0YW51dCBpaG1pc2kmYXVtbDsuLjwvbGk+CQoJPGxpPjIuIEpvcyBwJmF1bWw7aXZpdGl0IHV1dGVlbiB2ZXJzaW9vbiwgeXJpdCZhdW1sOyBwYWxhdXR0YWEgb2xldHVzYXNldHVrc2V0LiBUJmF1bWw7bSZhdW1sOyBlaSBvbGUgbXVrYXZhYSwgam9zIG9sZXQgdGVobnl0IHBhbGpvbiBtdXV0b2tzaWEsIG11dHRhIHZlcnNpb2lkZW4gMi4zLnggamEgMi40LnggdiZhdW1sO2xpbGwmYXVtbDsgb24gdGFwYWh0dW51dCBwYWxqb24gbXV1dG9rc2lhIG1vZHV1bGlpbi4KCTxsaT4zLiBZcml0JmF1bWw7IGxhaXR0YWEgcCZhdW1sOyZhdW1sO2xsZSBzdGFhdHRpbmVuIGtvbmZpZ3VyYWF0aW90aWVkb3N0byBtb25pcHVvbGlzaXNzYSBhc2V0dWtzc3NhLiBUJmF1bWw7bSZhdW1sOyB0b2ltaWkgb3Nhc3NhIGomYXVtbDtyamVzdGVsbWlzdCZhdW1sOyBwYXJlbW1pbiAoa3V0ZW4gQ0dJLXBvaGphaXNpc3NhKS4gSHVvbWFhLCBldHQmYXVtbDsgL3RtcC8taGFrZW1pc3Rvb24gdCZhdW1sO3l0eXkgcHlzdHkmYXVtbDsga2lyam9pdHRhbWFhbi4KCTwvdWw+Cgk8YnIvPgogIDxoMz5MaXMmYXVtbDtvc2FuIGtlaGl0dCZhdW1sO21pbmVuPC9oMz4KIFZlcnNpb3N0YSAyLjcuMCBsJmF1bWw7aHRpZW4gVGlueU1DRS1tb2R1dWxpc3NhIG9uIG1haGRvbGxpc3RhIG11aWRlbiBtb2R1dWxpZW4gcmVraXN0ZXImb3VtbDtpZCZhdW1sOyBsaXMmYXVtbDt5a3NpJmF1bWw7IHNpaWhlbi4gU2Ugdm9pIGVzaW1lcmtpa3NpIG9tYSBpa29uaSwgam9rYSBzYWxsaWkgc2lzJmF1bWw7bHQmb3VtbDtqZW4gbGlzJmF1bWw7JmF1bWw7bWlzZW4gdG9pc2VzdGEgbW9kdXVsaXN0YSwgZXNpbWVya2lrc2kgR2FsbGVyaWFzdGEuIFQmYXVtbDttJmF1bWw7biB0ZWtlbWluZW4gb24gc3VodGVlbGxpc2VuIHRla25pc3QmYXVtbDsgdGlldG9hLCBtdXR0YSBqb3Mgb2xldCBtb2R1dWxpbiBrZWhpdHQmYXVtbDtqJmF1bWw7IGphIG9sZXQga2lpbm5vc3R1bnV0IHQmYXVtbDtzdCZhdW1sOywgb2xlIGh5diZhdW1sOyBqYSBrYXRzbyBsaXMmYXVtbDt0aWV0b2EgVGlueU1DRS9kb2NzIC1oYWtlbWlzdG9zdGEuJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuOTEzNTc3MTU3LjEyOTI4NzAwMDcuMTMwNzUyMzM4NS4xMzA3NTI2MTIzLjE2JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMwMjU0NjY0My4xMC41LnV0bWNzcj1mZWVkYnVybmVyfHV0bWNjbj1GZWVkOiBjbXNtYWRlc2ltcGxlL2Jsb2cgKENNUyBNYWRlIFNpbXBsZSl8dXRtY21kPWZlZWQnOwokbGFuZ1sncWNhJ10gPSAnUDAtNTg0Mzc2OTI4LTEyOTI4NzAwMDY2NjcnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdVbiDDqWRpdGV1ciBXWVNJV1lHIGNvbXBsZXQgZXQgcGVyc29ubmFsaXNhYmxlJzsKJGxhbmdbJ2FkdmFuY2VkX21lbnUnXSA9ICdNZW51IGF2YW5jw6knOwokbGFuZ1snYXBwbHknXSA9ICdBcHBsaXF1ZXInOwokbGFuZ1snYXV0b3Jlc2l6ZSddID0gJ1JlZGltZW5zaW9ubmVtZW50IGF1dG9tYXRpcXVlJzsKJGxhbmdbJ2Jsb2NrX2Zvcm1hdHMnXSA9ICdGb3JtYXRzIGRpc3BvbmlibGVzJzsKJGxhbmdbJ2J1dHRvbl9uYW1lJ10gPSAnTm9tIGR1IGJvdXRvbic7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGVyJzsKJGxhbmdbJ2Ntc21zX2xpbmtlciddID0gJ0xpZW4gdmVycyB1bmUgcGFnZSBkZSBjb250ZW51JzsKJGxhbmdbJ2NvbnRleHRtZW51J10gPSAnTWVudSBjb250ZXh0dWVsJzsKJGxhbmdbJ2NvbnRleHRtZW51X2NvbnRlbnQnXSA9ICdDb250ZW51IGR1IG1lbnUgY29udGV4dHVlbCc7CiRsYW5nWydjb3B5J10gPSAnY29waWVyJzsKJGxhbmdbJ2NvcHlfcHJvZmlsZSddID0gJ0R1cGxpcXVlciBsZSBwcm9maWwnOwokbGFuZ1snY3NzX2NsYXNzZXMnXSA9ICdDbGFzc2VzIENTUyc7CiRsYW5nWydjdXN0b21fZHJvcGRvd24nXSA9ICdNZW51IHBlcnNvbm5hbGlzw6knOwokbGFuZ1snY3VzdG9tX2Ryb3Bkb3duX3RpdGxlJ10gPSAnVGl0cmUgZHUgbWVudSBwZXJzb25uYWxpc8OpJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEw6lmYXV0JzsKJGxhbmdbJ2RlZmF1bHRfZGVzaWdubWFuYWdlcl90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGTDqWZhdXQgZHUgbW9kdWxlIGRlIGdlc3Rpb24gZHUgZGVzaWduJzsKJGxhbmdbJ2RlZmF1bHRfcHJvZmlsZV9zZXQnXSA9ICdQcm9maWwgcGFyIGTDqWZhdXQgbW9kaWZpw6knOwokbGFuZ1snZGVsZXRlX3Byb2ZpbGUnXSA9ICdTdXBwcmltZXIgbGUgcHJvZmlsJzsKJGxhbmdbJ2RlbGV0ZV9wcm9maWxlX2NvbmZpcm0nXSA9ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBzdXBwcmltZXIgY2UgcHJvZmlsID8nOwokbGFuZ1snZGVzaWduX2NzcyddID0gJ0Rlc2lnbiDDoCB1dGlsaXNlciBwb3VyIGxlcyBmZXVpbGxlcyBkZSBzdHlsZXMnOwokbGFuZ1snZG9jdW1lbnRhdGlvbiddID0gJ0RvY3VtZW50YXRpb24mbmJzcDsnOwokbGFuZ1snZWRpdF9wcm9maWxlJ10gPSAnTW9kaWZpZXIgbGUgcHJvZmlsJzsKJGxhbmdbJ2VuYWJsZV9jb250ZXh0bWVudSddID0gJ0FjdGl2ZXIgbGUgbWVudSBjb250ZXh0dWVsIChjbGljIGRyb2l0KSc7CiRsYW5nWydlbmFibGVfY3VzdG9tX2Ryb3Bkb3duJ10gPSAnQWN0aXZlciBsZSBtZW51IHBlcnNvbm5hbGlzw6knOwokbGFuZ1snZW5hYmxlX2xpbmtlciddID0gJ0NoYXJnZXIgbGUgcGx1Z2luIGRlIGxpZW5zIGludGVybmVzJzsKJGxhbmdbJ2VuYWJsZV91c2VyX3RlbXBsYXRlcyddID0gJ0FjdGl2ZXIgbGVzIGdhYmFyaXRzIHV0aWxpc2F0ZXVycyc7CiRsYW5nWydlcnJvcl9kZWxldGVfcHJvZmlsZSddID0gJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZGUgbGEgc3VwcHJlc3Npb24gZHUgcHJvZmlsJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfZGVmYXVsdF9wcm9maWxlJ10gPSAnRXJyZXVyIDogbGUgcHJvZmlsIHBhciBkw6lmYXV0IG5lIHBldXQgcGFzIMOqdHJlIHN1cHByaW3DqSc7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzJ10gPSAnTW9kdWxlcyBleHRlcm5lcyc7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzX3Nob3dfbWVudXRleHQnXSA9ICdBZmZpY2hlciBsZSB0aXRyZSBkdSBib3V0b24gZGFucyBsYSBiYXJyZSBkXCdvdXRpbHMgLSBkw6ljb2Now6kgPSBpY8O0bmUgc2V1bGUnOwokbGFuZ1snZXh0cmFfanMnXSA9ICdDb2RlIGphdmFzY3JpcHQgc3VwcGzDqW1lbnRhaXJlIChhcHBlbMOpIGRhbnMgbGUgc2NyaXB0IDxlbT5pbml0KCk8L2VtPiknOwokbGFuZ1snZmlsZW1hbmFnZXInXSA9ICdHZXN0aW9ubmFpcmUgZGUgZmljaGllcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfYXZpYXJ5X2FjdGl2ZSddID0gJ0FjdGl2ZXIgbFwnw6lkaXRldXIgZFwnaW1hZ2VzIEF2aWFyeSc7CiRsYW5nWydmaWxlbWFuYWdlcl9hdmlhcnlfYXBpS2V5J10gPSAnQ2zDqSBBUEkgQXZpYXJ5JzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NobW9kX2RpcnMnXSA9ICdDSE1PRCBkb3NzaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jaG1vZF9maWxlcyddID0gJ0NITU9EIGZpY2hpZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NvcHlfY3V0X2RpcnMnXSA9ICdDb3VwZXIgZXQgY29waWVyIGRlcyBkb3NzaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jb3B5X2N1dF9maWxlcyddID0gJ0NvdXBlciBldCBjb3BpZXIgZGVzIGZpY2hpZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NyZWF0ZV9mb2xkZXJzJ10gPSAnQ3LDqWVyIGRlcyBkb3NzaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcyddID0gJ0Nyw6llciBkZXMgZmljaGllcnMgdGV4dGUnOwokbGFuZ1snZmlsZW1hbmFnZXJfZGVsZXRlX2ZpbGVzJ10gPSAnU3VwcHJpbWVyIGRlcyBmaWNoaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9kZWxldGVfZm9sZGVycyddID0gJ1N1cHByaW1lciBkZXMgZG9zc2llcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfZHVwbGljYXRlX2ZpbGVzJ10gPSAnRHVwbGlxdWVyIGRlcyBmaWNoaWVycyc7CiRsYW5nWydmaWxlbWFuYWdlcl9lZGl0X3RleHRfZmlsZXMnXSA9ICdFZGl0ZXIgbGVzIGZpY2hpZXJzIHRleHRlJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nJ10gPSAnUmVkaW1lbnNpb25uZXIgYXV0b21hdGlxdWVtZW50IGxlcyBpbWFnZXMgYXByw6hzIHTDqWzDqXZlcnNlbWVudCc7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ190aXRsZSddID0gJ1JlZGltZW5zaW9ubmVtZW50IGF1dG9tYXRpcXVlIGRlcyBpbWFnZXMnOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfaGVpZ2h0J10gPSAnSGF1dGV1ciBtYXggZGVzIGltYWdlcyBhcHLDqHMgcmVkaW1lbnNpb25uZW1lbnQnOwokbGFuZ1snZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfd2lkdGgnXSA9ICdMYXJnZXVyIG1heCBkZXMgaW1hZ2VzIGFwcsOocyByZWRpbWVuc2lvbm5lbWVudCc7CiRsYW5nWydmaWxlbWFuYWdlcl9waG90b19lZGl0b3InXSA9ICdFZGl0ZXVyIHBob3RvIEF2aWFyeSc7CiRsYW5nWydmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMnXSA9ICdQcsOpdmlzdWFsaXNhdGlvbiBkZXMgZmljaGllcnMgdGV4dGUnOwokbGFuZ1snZmlsZW1hbmFnZXJfcmVuYW1lX2ZpbGVzJ10gPSAnUmVub21tZXIgbGVzIGZpY2hpZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9mb2xkZXJzJ10gPSAnUmVub21tZXIgbGVzIGRvc3NpZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcyddID0gJ1TDqWzDqXZlcnNlciBkZXMgZmljaGllcnMnOwokbGFuZ1snZmlsZW1hbmFnZXJfb3B0aW9ucyddID0gJ09wdGlvbnMgZHUgZ2VzdGlvbm5haXJlIGRlIGZpY2hpZXJzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VzZSddID0gJ0FjdGl2ZXIgbGUgZ2VzdGlvbm5haXJlIGRlIGZpY2hpZXJzJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0VkaXRldXIgV1lTSVdZRyBUaW55TUNFJzsKJGxhbmdbJ2ZvcmNlZF9yb290X2Jsb2NrJ10gPSAnRm9yY2VyIGxlIHNhdXQgZGUgbGlnbmUgZHUgcGFyYWdyYXBoZSc7CiRsYW5nWydnZW5lcmFsJ10gPSAnR8OpbsOpcmFsJzsKJGxhbmdbJ2dsb2JhbF9zZXR0aW5ncyddID0gJ1BhcmFtw6h0cmVzIGdsb2JhdXgnOwokbGFuZ1snZ3JvdXBfZnJvbnRlbmQnXSA9ICdVdGlsaXNhdGV1ciBkdSBzaXRlJzsKJGxhbmdbJ2hlbHBfYWR2YW5jZWRfbWVudSddID0gJ1ZvdXMgcG91dmV6IGFjdGl2ZXIgY2V0dGUgb3B0aW9uIHNpIHZvdXMgc291aGFpdGV6IGFsbGVyIHBsdXMgbG9pbiBkYW5zIGxhIHBlcnNvbm5hbGlzYXRpb24gZHUgbWVudS4gTW9kaWZpZXogbGUgbWVudSBncsOiY2UgYXUgY2hhbXAgZm91cm5pLiBMXCdhY3RpdmF0aW9uIGRlIGNldHRlIG9wdGlvbiBkw6lzYWN0aXZlcmEgbGUgbWVudSBwYXIgZMOpZmF1dCc7CiRsYW5nWydoZWxwX2F1dG9yZXNpemUnXSA9ICdBY3RpdmUgbGUgcGx1Z2luIDxlbT5hdXRvcmVzaXplPC9lbT4gcGVybWV0dGFudCDDoCBsXCfDqWRpdGV1ciBkZSBtb2RpZmllciBzYSBoYXV0ZXVyIGVuIGZvbmN0aW9uIGR1IGNvbnRlbnUnOwokbGFuZ1snaGVscF9hdmlhcnknXSA9ICdMXCfDqWRpdGV1ciBBdmlhcnkgZXN0IHVuIMOpZGl0ZXVyIGRcJ2ltYWdlcyBleHRlcm5lIGZvdXJuaSBwYXIgQWRvYmUuJzsKJGxhbmdbJ2hlbHBfZGVzaWduX2NzcyddID0gJ1RpbnlNQ0UgcGV1dCBjaGFyZ2VyIHVuIGpldSBkZSBmZXVpbGxlcyBkZSBzdHlsZXMgYXR0YWNow6llcyDDoCB1biBkZXNpZ24gKHZpYSBsZSBHZXN0aW9ubmFpcmUgZHUgZGVzaWduKSBhZmluIGRcJ2Ftw6lsaW9yZXIgbGUgcmVuZHUgZ3JhcGhpcXVlLjxicj48YnI+RGFucyBsZSBnYWJhcml0IGphdmFzY3JpcHQgcGFyIGTDqWZhdXQsIGNlIHBhcmFtw6h0cmUgZXN0IGlnbm9yw6kgc2kgbGEgYmFsaXNlIHtjb250ZW50fSBxdWkgZ8OocmUgbGVzIGJsb2NzIGNvbXByZW5kIHVuIHBhcmFtw6h0cmUgPGVtPmNzc25hbWU8L2VtPi4gQ2UgY29tcG9ydGVtZW50IHBldXQgw6p0cmUgbW9kaWZpw6kgYXZlYyB1biBnYWJhcml0IGphdmFzY3JpcHQgc3VyIG1lc3VyZS48YnI+PGJyPjxzdHJvbmc+SW1wb3J0YW50IDo8L3N0cm9uZz4gc2kgdm91cyB1dGlsaXNleiBjZXR0ZSBmb25jdGlvbiwgdm91cyBkZXZyZXogdmlkZXIgbGUgY2FjaGUgZHUgQ01TIGFwcsOocyBjaGFxdWUgY2hhbmdlbWVudCBzdXIgbGVzIGZldWlsbGVzIGRlIHN0eWxlcyBhc3NvY2nDqWVzLic7CiRsYW5nWydoZWxwX2VuYWJsZV9jdXN0b21fZHJvcGRvd24nXSA9ICdBam91dGUgdW4gbWVudSBzdXIgbWVzdXJlIHBlcm1ldHRhbnQgbFwnYWpvdXQgZGUgcGV0aXRzIG1vcmNlYXV4IGRlIGNvZGVzIGF1IGNvbnRlbnUuIE5cJ291YmxpZXogcGFzIGRcJ2Fqb3V0ZXIgbGUgYm91dG9uIDxlbT48c3Ryb25nPmN1c3RvbWRyb3Bkb3duPC9zdHJvbmc+PC9lbT4gw6AgbGEgYmFycmUgZFwnb3V0aWxzIHNpIHZvdXMgc291aGFpdGV6IHF1XCdpbCB5IGFwcGFyYWlzc2UuIExlIG1lbnUgPGVtPkluc8OpcmVyPC9lbT4gbFwnYWZmaWNoZXJhIGRhbnMgdG91cyBsZXMgY2FzJzsKJGxhbmdbJ2hlbHBfZXh0ZXJuYWxfbW9kdWxlcyddID0gJ0NlcnRhaW5zIG1vZHVsZXMgQ01TIE1hZGUgU2ltcGxlIHBldXZlbnQgZ8OpbsOpcmVyIHVuIG1lbnUgcG91ciBsXCfDqWRpdGV1ciBUaW55TUNFLiBNZXJjaSBkZSBzw6lsZWN0aW9ubmVyIHF1ZWxzIG1vZHVsZXMgZXh0ZXJuZXMgZG9pdmVudCDDqnRyZSBjaGFyZ8Opcy4gTlwnb3VibGlleiBwYXMgZFwnYWpvdXRlciBsZSBib3V0b24gYXNzb2Npw6kgYXUgbW9kdWxlIGRhbnMgbGEgYmFyZSBkXCdvdXRpbHMuIExlIG1lbnUgPGVtPkluc8OpcmVyPC9lbT4gYWZmaWNoZXJhIMOpZ2FsZW1lbnQgbGUgbWVudS4nOwokbGFuZ1snaGVscF9leHRyYV9qcyddID0gJ1ZvdXMgcG91dmV6IGluc8OpcmVyIGR1IGNvZGUgamF2YXNjcmlwdCBwb3VyIGxhIGNvbmZpZ3VyYXRpb24gZGUgVGlueU1DRS4gTWVyY2kgZGUgc8OpcGFyZXIgY2hhcXVlIGVudHLDqWUgYXZlYyB1bmUgdmlyZ3VsZS4gQ29uc3VsdGV6IGxhIGRvY3VtZW50YXRpb24gZGUgVGlueU1DRSBwb3VyIGVuIHNhdm9pciBwbHVzLic7CiRsYW5nWydoZWxwX2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nJ10gPSAnQXByw6hzIGxlIHTDqWzDqXZlcnNlbWVudCBkXCd1bmUgaW1hZ2UsIGxlIGdlc3Rpb25uYWlyZSBkZSBmaWNoaWVycyBwZXV0IGF1dG9tYXRpcXVlbWVudCBsYSByZWRpbWVuc2lvbm5lciBhdXggZGltZW5zaW9ucyBtYXhpbWFsZXMgaW5kaXF1w6llcy4gVXRpbGUgcG91ciDDqXZpdGVyIGRlIGNvbnNlcnZlciBkZXMgaW1hZ2VzIHRyb3AgZ3JhbmRlcyBldCBsb3VyZGVzIGRhbnMgbGVzIHBhZ2VzLic7CiRsYW5nWydoZWxwX2ZpbGVtYW5hZ2VyX3VzZSddID0gJ0FjdGl2ZXIgbGUgZ2VzdGlvbm5haXJlIGRlIGZpY2hpZXJzIC0gTm90ZXogcXVlIHBvdXIgcmFpc29uIGRlIHPDqWN1cml0w6ksIGxlIGdlc3Rpb25uYWlyZSBkZSBmaWNoaWVycyBuZSBzZXJhIGphbWFpcyBjaGFyZ8OpIGhvcnMgZGUgbFwnYWRtaW5pc3RyYXRpb248YnI+PGJyPkxlIGdlc3Rpb25uYWlyZSBkZSBmaWNoaWVycyBzZXJhIGluY2x1cyBkYW5zIGxlcyBib2l0ZXMgZGUgZGlhbG9ndWUgPGVtPkluc8OpcmVyIHVuIGxpZW48L2VtPiBldCA8ZW0+SW5zw6lyZXIgdW5lIGltYWdlPC9lbT4sIG1haXMgdm91cyBwb3V2ZXogw6lnYWxlbWVudCBham91dGVyIGxlIGJvdXRvbiA8ZW0+cmVzcG9uc2l2ZWZpbGVtYW5hZ2VyPC9lbT4gw6Agdm90cmUgYmFycmUgZFwnb3V0aWxzIHBvdXIgdW4gYWNjw6hzIGRpcmVjdC4nOwokbGFuZ1snaGVscF9mb3JjZWRfcm9vdF9ibG9jayddID0gJ0NldHRlIG9wdGlvbiB2b3VzIHBlcm1ldCBkZSB2b3VzIGFzc3VyZXIgcXVlIGxlIHRleHRlIG91IGxlcyDDqWzDqW1lbnRzIG5vbi1ibG9jcyBzb2llbnQgdG91am91cnMgaW5jbHVzIGRhbnMgdW5lIGJhbGlzZSA8cD4uIFBhciBleGVtcGxlLCA8c3Ryb25nPnRleHRlPC9zdHJvbmc+IHNlcmEgdHJhZHVpdCBlbiA8cD48c3Ryb25nPnRleHRlPC9zdHJvbmc+PC9wPi48YnI+PGJyPlNpIGNldHRlIG9wdGlvbiBlc3QgZMOpY29jaMOpZSwgbFwnw6lkaXRldXIgblwnYWpvdXRlcmEgamFtYWlzIGRlIGJhbGlzZSA8c3Ryb25nPjxwPjwvc3Ryb25nPiBsb3JzIGRcJ3VuIHNhdXQgZGUgbGlnbmUsIHNldWxlbWVudCA8c3Ryb25nPjxicj48L3N0cm9uZz4uIFZvdXMgZGV2cmV6IGFsb3JzIHV0aWxpc2VyIGxhIGNvbWJpbmFpc29uIFNoaWZ0K0VudHLDqWUgcG91ciBwcm9kdWlyZSB1bmUgYmFsaXNlIDxzdHJvbmc+PHA+PC9zdHJvbmc+Lic7CiRsYW5nWydoZWxwX2ltYWdlX2NsYXNzZXMnXSA9ICdJbmRpcXVleiBxdWVsbGVzIGNsYXNzZXMgQ1NTIGxlcyB1dGlsaXNhdGV1cnMgcG91cnJvbnQgYXBwbGlxdWVyIMOgIHVuZSBpbWFnZS4gU1wnaWwgbGUgc291aGFpdGUsIGxcJ3V0aWxpc2F0ZXVyIHBvdXJyYSBjaG9pc2lyIGxhIGNsYXNzZSBsb3JzIGRlIGxcJ2Fqb3V0L8OpZGl0aW9uIGRcJ3VuZSBpbWFnZS4nOwokbGFuZ1snaGVscF9saW5rX2NsYXNzZXMnXSA9ICdJbmRpcXVleiBxdWVsbGVzIGNsYXNzZXMgQ1NTIGxlcyB1dGlsaXNhdGV1cnMgcG91cnJvbnQgYXBwbGlxdWVyIMOgIHVuIGxpZW4uIFNcJ2lsIGxlIHNvdWhhaXRlLCBsXCd1dGlsaXNhdGV1ciBwb3VycmEgY2hvaXNpciBsYSBjbGFzc2UgbG9ycyBkZSBsXCdham91dC/DqWRpdGlvbiBkXCd1biBsaWVuLic7CiRsYW5nWydoZWxwX2pzX3RlbXBsYXRlJ10gPSAnTGUgbW9kdWxlIFRpbnlNQ0UgcGV1dCB1dGlsaXNlciB1biBnYWJhcml0IGphdmFzY3JpcHQgc3VyIG1lc3VyZS4gRGUgY2V0dGUgbWFuacOocmUsIHZvdXMgcG91dmV6IHRvdGFsZW1lbnQgYWRhcHRlciBsZSBjb21wb3J0ZW1lbnQgZGUgVGlueU1DRSDDoCB2b3MgYmVzb2lucy48YnI+PGJyPlNpIHZvdXMgc291aGFpdGV6IHV0aWxpc2VyIGxlIGZpY2hpZXIgZm91cm5pIGF2ZWMgbGUgbW9kdWxlLCBjaG9pc2lzc2V6IDxlbT5HYWJhcml0IG9yaWdpbmFsIGZvdXJuaSBhdmVjIGxlIG1vZHVsZTwvZW0+Ljxicj48YnI+U2kgdm91cyDDqnRlcyBkw6l2ZWxvcHBldXIsIHZvdXMgcG91dmV6IGNob2lzaXIgZFwndXRpbGlzZXIgdW4gZ2FiYXJpdCBpc3N1IGR1IGdlc3Rpb25uYWlyZSBkZSBkZXNpZ24uIFNveWV6IGNvbnNjaWVudHMgY2VwZW5kYW50IGR1IGZhaXQgcXVlIHZvdXMgZGV2cmV6IHByb2JhYmxlbWVudCBtZXR0cmUgw6Agam91ciB2b3RyZSBmaWNoaWVyIMOgIGNoYXF1ZSBub3V2ZWxsZSB2ZXJzaW9uIGR1IG1vZHVsZSBUaW55TUNFLic7CiRsYW5nWydoZWxwX21lbnViYXInXSA9ICdJbmRpcXVleiBsZXMgZW50csOpZXMgZGUgbWVudSDDoCBhZmZpY2hlci4gQ29uc3VsdGV6IGxhIGRvY3VtZW50YXRpb24gcG91ciBlbiBzYXZvaXIgcGx1cy4nOwokbGFuZ1snaGVscF9wbHVnaW5zJ10gPSAnVGlueU1DRSBpbmNsdXMgdW4gY2VydGFpbiBub21icmUgZGUgPGVtPnBsdWdpbnM8L2VtPiBhZmluIGRcJ8OpdGVuZHJlIHNlcyBwb3NzaWJpbGl0w6lzLiBBdmFudCBkXCdham91dGVyIHVuIGJvdXRvbiDDoCBsYSBiYXJyZSBkXCdvdXRpbHMgb3UgYXUgbWVudSwgdm91cyBkZXZyZXogcHJvYmFsZW1lbnQgbFwnYWpvdXRlciBpY2kuIE5vdGV6IHF1ZSBsZXMgcGx1Z2lucyA8ZW0+Y21zbXNfbGlua2VyPC9lbT4sIDxlbT50ZW1wbGF0ZTwvZW0+LCA8ZW0+Y29udGV4dG1lbnU8L2VtPiBldCA8ZW0+cmVzcG9uc2l2ZWZpbGVtYW5hZ2VyPC9lbT4gc29udCBjaGFyZ8OpcyBhdXRvbWF0aXF1ZW1lbnQuPGJyPkNvbnN1bHRleiBsYSBkb2N1bWVudGF0aW9uIHBvdXIgYXZvaXIgbGEgbGlzdGUgY29tcGzDqHRlIGRlcyBwbHVnaW5zIGRpc3BvbmlibGVzLic7CiRsYW5nWydoZWxwX3ByaW9yaXR5J10gPSAnQ2UgcGFyYW3DqHRyZSBlc3QgdXRpbGlzw6kgcG91ciBkw6l0ZXJtaW5lciBxdWVsIHByb2ZpbCBkb2l0IMOqdHJlIGNoYXJnw6kgZW4gcHJpb3JpdMOpIHF1YW5kIHVuIHV0aWxpc2F0ZXVyIGVzdCByYXR0YWNow6kgw6AgcGx1c2lldXJzIGdyb3VwZXMgY29ycmVzcG9uZGFudCDDoCBwbHVzaWV1cnMgcHJvZmlscyBUaW55TUNFLiBMZSBub21icmUgbGUgcGx1cyBwZXRpdCBhIGxhIHByaW9yaXTDqSBsYSBwbHVzIMOpbGV2w6llLjxicj48YnI+RXhlbXBsZSA6IGxcJ3V0aWxpc2F0ZXVyIDEgZXN0IHJhdHRhY2jDqSBhdXggZ3JvdXBlcyBBIGV0IEMuIExlIGdyb3VwZSBBIGEgbGUgcHJvZmlsIFRpbnlNQ0UgWSwgbGUgQyBsZSBaLiBMZSBwcm9maWwgcXVlIGxcJ3V0aWxpc2F0ZXVyIHZlcnJhIHNcJ2FmZmljaGVyIHNlcmEgY2VsdWkgcXVpIGEgbGEgcHJpb3JpdMOpIGxhIHBsdXMgYmFzc2UgZW50cmUgWSBldCBaLic7CiRsYW5nWydoZWxwX3JlbGF0aXZlX3VybHMnXSA9ICdTaSBjZXR0ZSBvcHRpb24gZXN0IGNvY2jDqWUsIHRvdXRlcyBsZXMgVVJMcyBkXCdpbWFnZXMvbGllbnMgc2Vyb250IGTDqWZpbmllcyByZWxhdGl2ZW1lbnQgw6AgbFwndXJsIHByaW5jaXBhbGUgZHUgc2l0ZSAoZXhlbXBsZSA6IDxlbT4vdXBsb2Fkcy9pbWFnZXMvbW9uLWltYWdlLmpwZzwvZW0+KS48YnI+PGJyPlNpIGTDqWNvY2jDqWUsIGxlcyB1cmxzIGRlcyBpbWFnZXMgZXQgbGllbnMgc2Vyb250IGTDqWZpbmllcyBkZSBtYW5pw6hyZSBhYnNvbHVlIGRhbnMgbGUgY29kZSBzb3VyY2UgKGV4ZW1wbGUgOiA8ZW0+aHR0cDovL3d3dy5tb24tc2l0ZS5jb20vdXBsb2Fkcy9pbWFnZXMvbW9uLWltYWdlLmpwZzwvZW0+KS4nOwokbGFuZ1snaGVscF9zaG93X3N0YXR1c2JhciddID0gJ0FmZmljaGVyIG91IG1hc3F1ZXIgbGEgYmFycmUgZGUgc3RhdHV0LiBMXCdhY3RpdmF0aW9uIGRlIGxcJ29wdGlvbiBkZSByZWRpbWVuc2lvbm5lbWVudCBhZmZpY2hlcmEgY2V0dGUgYmFycmUgZGFucyB0b3VzIGxlcyBjYXMnOwokbGFuZ1snaGVscF9zdHlsZV9mb3JtYXRzJ10gPSAnTGVzIHV0aWxpc2F0ZXVycyBwZXV2ZW50IGluc8OpcmVyIGRlcyBiYWxpc2VzIHByw6ktZm9ybWF0w6llcyBhdmVjIHVuIG1lbnUgPGVtPkZvcm1hdHM8L2VtPi4gVm91cyBwb3V2ZXogaWNpIGNob2lzaXIgcXVlbHMgc3R5bGVzIHNlcm9udCBkaXNwb25pYmxlcyBkYW5zIGNlIG1lbnUuIE5vdGV6IHF1ZSBkYW5zIGxlIGNhcyBkZXMgY2xhc3Nlcywgdm91cyBkZXZyZXogYWpvdXRlciBsZXMgcsOoZ2xlcyBDU1MgZGFucyBsZXMgZmV1aWxsZXMgZGUgc3R5bGVzIGFwcHJvcHJpw6llcyBzaSB2b3VzIHNvdWhhaXRleiB1biByZW5kdSBncmFwaGlxdWUgZGlmZsOpcmVudC4gQ29uc3VsdGV6IGxhIGRvY3VtZW50YXRpb24gcG91ciBlbiBzYXZvaXIgcGx1cy48YnI+PGJyPk5cJ291YmxpZXogcGFzIGRcJ2Fqb3V0ZXIgbGUgYm91dG9uIDxlbT5zdHlsZXNlbGVjdDwvZW0+IMOgIGxhIGJhcnJlIGRcJ291dGlscyBzaSB2b3VzIGxlIHNvdWhhaXRlei4nOwokbGFuZ1snaGVscF90b29sYmFyJ10gPSAnSW5kaXF1ZXogcXVlbHMgYm91dG9ucyBhZmZpY2hlciBkYW5zIGxhIGJhcnJlIGRcJ291dGlscyBzb3VzIGZvcm1lIGRcJ2ljw7RuZXMuIE5cJ291YmxpZXogcGFzIGRlIGNoYXJnZXIgbGVzIHBsdWdpbnMgYXBwcm9wcmnDqXMgc2kgYmVzb2luLic7CiRsYW5nWydoZWxwX3VzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyddID0gJ1PDqWxlY3Rpb25uZXogbGVzIGZvcm1hdHMgcXVlIGxlcyB1dGlsaXNhdGV1cnMgcG91cnJvbnQgc8OpbGVjdGlvbm5lci4gQ2V0dGUgb3B0aW9uIG5lIGZvbmN0aW9ubmUgcXVcJ2F2ZWMgbGUgYm91dG9uIDxlbT5mb3JtYXRzZWxlY3Q8L2VtPiBldCBwb3VyIGxlcyDDqWzDqW1lbnRzIGRlIHR5cGUgYmxvYyAoaDEuLi42LCBkaXYsIHByZXYsIC4uLiknOwokbGFuZ1snaGVscF91c2VyX3RlbXBsYXRlcyddID0gJ0xlcyBnYWJhcml0cyB1dGlsaXNhdGV1ciBzb250IGRlcyBnYWJhcml0cyBIVE1MIHF1ZSBsXCd1dGlsaXNhdGV1ciBwZXV0IGluY2x1cmUgZGFucyBsZSBjb250ZW51IGdyw6JjZSBhdSBwbHVnaW4gPGVtPnRlbXBsYXRlPC9lbT4uIFZvdXMgcG91dmV6IGNyw6llciBhdXRhbnQgZGUgZ2FiYXJpdHMgcXVlIG7DqWNlc3NhaXJlIGRhbnMgbGUgZ2VzdGlvbm5haXJlIGRlIGRlc2lnbiBkdSBDTVMgKHR5cGUgZHUgZ2FiYXJpdCA6IEdhYmFyaXQgdXRpbGlzYXRldXIgVGlueU1DRSkuPGJyPjxicj5VbmUgZm9pcyBjZXR0ZSBvcHRpb24gYWN0aXbDqWUsIHZvdXMgcG91dmV6IGFqb3V0ZXIgbGUgYm91dG9uIDxlbT50ZW1wbGF0ZTwvZW0+IMOgIHZvdHJlIGJhcnJlIGRcJ291dGlscy4gSWwgc2VyYSDDqWdhbGVtZW50IGF1dG9tYXRpcXVlbWVudCBham91dMOpIMOgIGxhIGJhcnJlIGRlIG1lbnUuJzsKJGxhbmdbJ2hlbHBfdXNlcmdyb3VwcyddID0gJ1PDqWxlY3Rpb25uZXogcXVlbCBncm91cGUgZFwndXRpbGlzYXRldXJzIHV0aWxpc2VyYSBjZSBwcm9maWwuIE5vdGV6IHF1ZSBsZSBmYWl0IGRlIGNob2lzaXIgdW4gZ3JvdXAgZMOpasOgIGFmZmVjdMOpIHBhciBhaWxsZXVycyBsZSBkw6lsaWVyYSBkdSBwcsOpY8OpZGVudCBwcm9maWwuIFNpIGF1Y3VuIHByb2ZpbCBuXCdlc3QgcmF0dGFjaMOpIMOgIHVuIGdyb3VwZSBkXCd1dGlsaXNhdGV1cnMsIGxlIHByb2ZpbCBwYXIgZMOpZmF1dCBzZXJhIGNoYXJnw6kuJzsKJGxhbmdbJ2lkJ10gPSAnSUQmbmJzcDsnOwokbGFuZ1snaW1hZ2VfYWR2dGFiJ10gPSAnQWN0aXZlciBsZXMgb3B0aW9ucyBhdmFuY8OpZXMgcG91ciBsZXMgaW1hZ2VzIChzdHlsZSwgYm9yZHVyZSwgZXNwYWNlbWVudCknOwokbGFuZ1snaW1hZ2VfY2xhc3NlcyddID0gJ0NsYXNzZXMgQ1NTIHBvdXZhbnQgw6p0cmUgYXBwbGlxdcOpZXMgYXV4IGltYWdlcyc7CiRsYW5nWydpbWFnZV9jbGFzc2VzX2luZm8nXSA9ICdVbmUgY2xhc3NlIHBhciBsaWduZSwgZXhlbXBsZSA6IDxjb2RlPjxlbT5JbWFnZSBhdmVjIGJvcmR1cmU9Ym9yZGVyZWQgYm9yZGVyLXJvdW5kPC9lbT48L2NvZGU+JzsKJGxhbmdbJ2ltYWdlX3BsdWdpbiddID0gJ09wdGlvbnMgZHUgcGx1Z2luIEltYWdlJzsKJGxhbmdbJ2luZm9fbGlua2VyX2F1dG9jb21wbGV0ZSddID0gJ0NvbW1lbmNleiBwYXIgdGFwZXIgcXVlbHF1ZXMgY2FyYWN0w6hyZXMgZHUgbm9tIGRlIGxhIHBhZ2Ugb3UgZGUgc29uIGFsaWFzLiBUb3VzIGxlcyBub21zIGNvcnJlc3BvbmRhbnRzIHNlcm9udCBhZmZpY2jDqXMgZGFucyB1bmUgbGlzdGUuJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9hZG1pbiddID0gJ0FkbWluaXN0cmF0ZXVycyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWR2YW5jZWQnXSA9ICdBdmFuY8OpJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9mcm9udGVuZCddID0gJ1V0aWxpc2F0ZXVycyBzaXRlJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9taW5pbWFsJ10gPSAnTWluaW1hbCZuYnNwOyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfc3RhbmRhcmQnXSA9ICdTdGFuZGFyZCZuYnNwOyc7CiRsYW5nWydqc190ZW1wbGF0ZSddID0gJ0dhYmFyaXQgSmF2YXNjcmlwdCc7CiRsYW5nWydsaW5rX2NsYXNzZXMnXSA9ICdDbGFzc2VzIENTUyBwb3V2YW50IMOqdHJlIGFwcGxpcXXDqWVzIGF1eCBsaWVucyc7CiRsYW5nWydsaW5rX2NsYXNzZXNfaW5mbyddID0gJ1VuZSBjbGFzc2UgcGFyIGxpZ25lLCBleGVtcGxlIDogPGNvZGU+PGVtPkJvdXRvbiBibGV1PWJ0biBidG4tYmx1ZTwvZW0+PC9jb2RlPic7CiRsYW5nWydsb2FkaW5nX2luZm8nXSA9ICdDaGFyZ2VtZW50Li4uJzsKJGxhbmdbJ21lbnViYXInXSA9ICdCYXJyZSBkZSBtZW51JzsKJGxhbmdbJ25hbWUnXSA9ICdOb20nOwokbGFuZ1snbmV3X3Byb2ZpbGUnXSA9ICdDcsOpZXIgdW4gbm91dmVhdSBwcm9maWwnOwokbGFuZ1snbmV3d2luZG93J10gPSAnTm91dmVsbGUgZmVuw6p0cmUnOwokbGFuZ1snbm9fZGVzaWduX2xpbmtlZCddID0gJ0F1Y3VuIGRlc2lnbic7CiRsYW5nWydub25lJ10gPSAnQXVjdW4nOwokbGFuZ1snb3JpZ19qc190ZW1wbGF0ZV9maWxlJ10gPSAnR2FiYXJpdCBvcmlnaW5hbCBmb3VybmkgYXZlYyBsZSBtb2R1bGUnOwokbGFuZ1sncGx1Z2lucyddID0gJ1BsdWdpbnMmbmJzcDsnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdMXCfDqWRpdGV1ciBUaW55TUNFIGEgw6l0w6kgaW5zdGFsbMOpIGF2ZWMgc3VjY8Oocy4gPHN0cm9uZz5JbXBvcnRhbnQgOjwvc3Ryb25nPiBzaSB2b3VzIHV0aWxpc2V6IGxhIHLDqcOpY3JpdHVyZSBkXCdVUkwsIHZvdXMgZGV2ZXogbWV0dHJlIMOgIGpvdXIgdm90cmUgZmljaGllciAuaHRhY2Nlc3MgKGNvbnN1bHRleiBsYSBwYWdlIGRcJ2FpZGUgcG91ciBlbiBzYXZvaXIgcGx1cyknOwokbGFuZ1sncHJpb3JpdHknXSA9ICdQcmlvcml0w6knOwokbGFuZ1sncHJvZmlsZV9jb3BpZWQnXSA9ICdMZSBwcm9maWwgYSDDqXTDqSBkdXBsaXF1w6kgYXZlYyBzdWNjw6hzJzsKJGxhbmdbJ3Byb2ZpbGVfZGVsZXRlZCddID0gJ0xlIHByb2ZpbCBhIMOpdMOpIHN1cHByaW3DqSBhdmVjIHN1Y2PDqHMnOwokbGFuZ1sncHJvZmlsZV9uYW1lJ10gPSAnTm9tIGR1IHByb2ZpbCc7CiRsYW5nWydwcm9maWxlX3NhdmVkJ10gPSAnUHJvZmlsIHNhdXbDqSBhdmVjIHN1Y2PDqHMnOwokbGFuZ1sncHJvZmlsZXMnXSA9ICdQcm9maWxzJzsKJGxhbmdbJ3Byb21wdF9saW5rZXInXSA9ICdFbnRyZXogbGUgdGl0cmUgZGUgbGEgcGFnZSc7CiRsYW5nWydwcm9tcHRfcHJvZmlsZXMnXSA9ICdQcm9maWxzJzsKJGxhbmdbJ3Byb21wdF9zZWxlY3RlZGFsaWFzJ10gPSAnQWxpYXMgZGUgcGFnZSBzw6lsZWN0aW9ubsOpJzsKJGxhbmdbJ3Byb21wdF9uYW1lJ10gPSAnTm9tJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF90YXJnZXQnXSA9ICdDaWJsZSc7CiRsYW5nWydwcm9tcHRfY2xhc3MnXSA9ICdDbGFzc2UgQ1NTJzsKJGxhbmdbJ3Byb21wdF9yZWwnXSA9ICdBdHRyaWJ1dCByZWwgKHR5cGUgZGUgcmVsYXRpb24pJzsKJGxhbmdbJ3Byb21wdF90ZXh0dG9kaXNwbGF5J10gPSAnVGV4dGUgw6AgYWZmaWNoZXInOwokbGFuZ1sncmVsYXRpdmVfdXJscyddID0gJ0fDqW7DqXJlciBkZXMgVVJMcyByZWxhdGl2ZXMnOwokbGFuZ1sncmVzaXplJ10gPSAnUmVkaW1lbnNpb25uZW1lbnQnOwokbGFuZ1sncmVzaXplX25vJ10gPSAnTmUgcGFzIHBlcm1ldHRyZSBsZSByZWRpbWVuc2lvbm5lbWVudCc7CiRsYW5nWydyZXNpemVfdmVydGljYWwnXSA9ICdQZXJtZXR0cmUgbGUgcmVkaW1lbnNpb25uZW1lbnQgZW4gaGF1dGV1cic7CiRsYW5nWydyZXNpemVfYm90aCddID0gJ1Blcm1ldHRyZSBsZSByZWRpbWVuc2lvbm5lbWVudCBlbiBoYXV0ZXVyIGV0IGxhcmdldXInOwokbGFuZ1snc2hvd19tZW51YmFyJ10gPSAnQWZmaWNoZXIgbGEgYmFycmUgZGUgbWVudSc7CiRsYW5nWydzaG93X3N0YXR1c2JhciddID0gJ0FmZmljaGVyIGxhIGJhcnJlIGRlIHN0YXR1dCc7CiRsYW5nWydzaG93X3Rvb2xiYXInXSA9ICdBZmZpY2hlciBsYSBiYXJyZSBkXCdvdXRpbHMgKMOuY29uZXMpJzsKJGxhbmdbJ3N0eWxlX2Zvcm1hdHMnXSA9ICdGb3JtYXRzIGRlIHN0eWxlJzsKJGxhbmdbJ3N0eWxlX2Zvcm1hdHNfaW5mbyddID0gJ1VuZSByw6hnbGUgcGFyIGxpZ25lLCBleGVtcGxlIDogPGNvZGU+PGVtPnRpdGxlOiBcJ1RpdHJlIHJvdWdlXCcsIGJsb2NrOiBcJ2gyXCcsIGNsYXNzZXM6IFwndGV4dC1yZWRcJzwvZW0+PC9jb2RlPic7CiRsYW5nWydzdWJoZWxwX2NvbnRleHRtZW51X2NvbnRlbnQnXSA9ICdTeW50YXhlIDogPGVtPmNtc21zX2xpbmtlciBsaW5rIGltYWdlIHwgaW5zZXJ0dGFibGUgY2VsbDwvZW0+JzsKJGxhbmdbJ3N1YmhlbHBfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMnXSA9ICdTeW50YXhlIDogPGVtPlBhcmFncmFwaD1wO0hlYWRlciAxPWgxO0hlYWRlciAyPWgyPC9lbT4nOwokbGFuZ1snc3ViaGVscF90b29sYmFyJ10gPSAnU3ludGF4ZSA6IDxlbT51bmRvIHJlZG8gfCBjdXQgY29weSBwYXN0ZSB8IGJvbGQgaXRhbGljPC9lbT48YnI+Qm91dG9ucyBzcMOpY2lhdXggQ01TTVMgOiA8ZW0+Y3VzdG9tZHJvcGRvd248L2VtPiwgPGVtPmNtc21zX2xpbmtlcjwvZW0+LCA8ZW0+cmVzcG9uc2l2ZWZpbGVtYW5hZ2VyPC9lbT4nOwokbGFuZ1snc3ViaGVscF9jdXN0b21fZHJvcGRvd24nXSA9ICdTeW50YXhlIDogPGVtPlRpdHJlfGNvbnRlbnUgw6AgaW5zw6lyZXI8L2VtPiBvdSA8ZW0+VGl0cmV8Y29udGVudSBhdSBkw6lidXR8Y29udGVudSDDoCBsYSBmaW48L2VtPiBwb3VyIGFqb3V0ZXIgPGVtPmNvbnRlbnUgYXUgZMOpYnV0PC9lbT4gYXZhbnQgbGEgc8OpbGVjdGlvbiwgZXQgPGVtPmNvbnRlbnUgw6AgbGEgZmluPC9lbT4gYXByw6hzLjxicj5OXCdvdWJsaWV6IHBhcyBkXCdham91dGVyIGxlIGJvdXRvbiA8ZW0+PHN0cm9uZz5jdXN0b21kcm9wZG93bjwvc3Ryb25nPjwvZW0+IMOgIHZvdHJlIGJhcnJlIGRcJ291dGlscy4nOwokbGFuZ1snc3VibWl0J10gPSAnRW52b3llcic7CiRsYW5nWyd0YWJfZ2VuZXJhbF90aXRsZSddID0gJ0fDqW7DqXJhbCc7CiRsYW5nWyd0YWJfYWR2YW5jZWRfdGl0bGUnXSA9ICdBdmFuY8OpJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnR2FiYXJpdCc7CiRsYW5nWyd0ZW1wbGF0ZXMnXSA9ICdHYWJhcml0cyc7CiRsYW5nWyd0aXRsZV9jbXNtc19saW5rZXInXSA9ICdDcsOpZXIgdW4gbGllbiB2ZXJzIHVuZSBwYWdlIGRlIGNvbnRlbnUnOwokbGFuZ1sndG9vbGJhciddID0gJ0JhcnJlIGRcJ291dGlscyc7CiRsYW5nWyd0b29sYmFyMSddID0gJ0JhcnJlIGRcJ291dGlscyAtIDHDqHJlIGxpZ25lJzsKJGxhbmdbJ3Rvb2xiYXIyJ10gPSAnQmFycmUgZFwnb3V0aWxzIC0gMsOobWUgbGlnbmUnOwokbGFuZ1sndG9vbHRpcF9zZWxlY3RlZGFsaWFzJ10gPSAnQ2UgY2hhbXAgZXN0IGVuIGxlY3R1cmUgc2V1bCc7CiRsYW5nWyd0eXBlX1RpbnlNQ0UnXSA9ICdUaW55TUNFJm5ic3A7JzsKJGxhbmdbJ3R5cGVfanMnXSA9ICcmbmJzcDtKYXZhc2NyaXB0JzsKJGxhbmdbJ3R5cGVfanNfZGVzY3JpcHRpb24nXSA9ICdTY3JpcHQgSmF2YXNjcmlwdCBkXCdpbml0aWFsaXNhdGlvbiBkZSBUaW55TUNFIC0gTGEgcGVyc29ubmFsaXNhdGlvbiBkZSBjZSBzY3JpcHQgdm91cyBvZmZyZSB1biBjb250csO0bGUgY29tcGxldCBzdXIgbGUgbGFuY2VtZW50IGRlIGxcJ8OpZGl0ZXVyLiBDb25zdWx0ZXogbGEgZG9jdW1lbnRhdGlvbiBkZSBUaW55TUNFIHBvdXIgZW4gc2F2b2lyIHBsdXMgKGh0dHBzOi8vd3d3LnRpbnltY2UuY29tL2RvY3MvKSc7CiRsYW5nWyd0eXBlX3VzZXJ0ZW1wbGF0ZSddID0gJyZuYnNwO0dhYmFyaXQgdXRpbGlzYXRldXIgVGlueU1DRSc7CiRsYW5nWyd0eXBlX3VzZXJ0ZW1wbGF0ZV9kZXNjcmlwdGlvbiddID0gJ1ZvdXMgcG91dmV6IHV0aWxpc2VyIGNlIHR5cGUgZGUgZ2FiYXJpdCBwb3VyIGNyw6llciBkZXMgYmxvY3MgSFRNTCBxdWUgbGVzIHV0aWxpc2F0ZXVycyBkZSBsXCfDqWRpdGV1ciBUaW55TUNFIHBvdXJyb250IGluc8OpcmVyIGRhbnMgbGV1ciBjb250ZW51IGdyw6JjZSBhdSBwbHVnaW4gPGVtPnRlbXBsYXRlPC9lbT4nOwokbGFuZ1sndXNlX2FkdmFuY2VkX21lbnUnXSA9ICdVdGlsaXNlciBsZSBtZW51IGF2YW5jw6knOwokbGFuZ1sndXNlX2N1c3RvbV9ibG9ja19mb3JtYXRzJ10gPSAnVXRpbGlzZXIgdW5lIGxpc3RlIGRlIGZvcm1hdHMgcGVyc29ubmFsaXPDqWUnOwokbGFuZ1sndXNlcmdyb3VwcyddID0gJ0dyb3VwZXMgdXRpbGlzYXRldXJzJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPg0KCVRoaXMgbW9kdWxlIGVtYmVkcyB0aGUgZnVsbCBUaW55TUNFIFdZU0lXWUcgZWRpdG9yIHZlcnNpb24gaW4gQ01TIE1hZGUgU2ltcGxlLiBJdCB3b3JrcyB3aXRoIGNvbnRlbnQgYmxvY2tzIGluIENNU01TIGNvbnRlbnQgcGFnZXMgKHdoZW4gYSBXWVNJV1lHIGhhcyBiZWVuIGFsbG93ZWQpLCBpbiBtb2R1bGUgQWRtaW4gZm9ybXMgd2hlcmUgV1lTSVdZRyBlZGl0b3JzIGFyZSBhbGxvd2VkLCBhbmQgYWxsb3dzIHJlc3RyaWN0ZWQgY2FwYWJpbGl0aWVzIGZvciBlZGl0aW5nIGh0bWwgYmxvY2tzIG9uIGZyb250ZW5kIHBhZ2VzLg0KPC9wPg0KPHA+SW4gb3JkZXIgZm9yIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyB0aGUgV1lTSVdZRyBlZGl0b3IgaW4gdGhlIEFkbWluIGNvbnNvbGUgdGhlIFRpbnlNQ0UgV1lTSVdZRyBFZGl0b3IgbmVlZHMgdG8gYmUgc2VsZWN0ZWQgaW4gdGhlIHVzZXJzIHByZWZlcmVuY2VzLiAgUGxlYXNlIHNlbGVjdCAiVGlueU1DRSIgaW4gdGhlICJTZWxlY3QgV1lTSVdZRyB0byBVc2UiIG9wdGlvbiB1bmRlciAiTXkgUHJlZmVyZW5jZXMgPj4gVXNlciBQcmVmZXJlbmNlcyIgaW4gdGhlIENNU01TIEFkbWluIHBhbmVsLiAgQWRkaXRpb25hbCBvcHRpb25zIGluIHZhcmlvdXMgbW9kdWxlcyBvciBpbiBjb250ZW50IHBhZ2UgdGVtcGxhdGVzLCBhbmQgY29udGVudCBwYWdlcyB0aGVtc2VsdmVzIGNhbiBjb250cm9sIHdoZXRoZXIgYSB0ZXh0IGFyZWEgb3IgYSBXWVNJV1lHIGZpZWxkIGlzIHByb3ZpZGVkIGluIHZhcmlvdXMgZWRpdCBmb3Jtcy48L3A+DQo8cD5Gb3IgRnJvbnRlbmQgZWRpdGluZyBjYXBhYmlsaXRpZXMgVGlueU1DRSBtdXN0IGJlIHNlbGVjdGVkIGFzIHRoZSAiRnJvbnRlbmQgV1lTSVdZRyIgaW4gdGhlIGdsb2JhbCBzZXR0aW5ncyBwYWdlIG9mIHRoZSBDTVNNUyBhZG1pbiBjb25zb2xlLjwvcD4NCg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQoJPGxpPkZ1bGwgbmF0aXZlIDxhIGhyZWY9Imh0dHA6Ly93d3cudGlueW1jZS5jb20iIHRhcmdldD0iX2JsYW5rIj5UaW55TUNFIGVkaXRvcjwvYT4gaXMgYXZhaWxhYmxlLjwvbGk+DQoJPGxpPkNvbmZpZ3VyYXRpb24gcHJvZmlsZXMgYW5kIGJhY2tlbmQgZ3JvdXBzIGF0dHJpYnV0aW9uLjwvbGk+DQoJPGxpPkxvdHMgb2YgY3VzdG9taXphdGlvbiBvcHRpb25zOiB0b29sYmFyLCBtZW51YmFyLCBleHRlcm5hbCBtb2R1bGVzLCBjdXN0b20gc3R5bGVzLCAuLi48L2xpPg0KCTxsaT5Vc2VzIHRoZSBpbnRlcm5hbCBwYWdlIGxpbmtlciBmcm9tIHRoZSBNaWNyb1RpbnkgbW9kdWxlLjwvbGk+DQoJPGxpPkVtYmVkcyB0aGUgcG93ZXJmdWwgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPlJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyPC9hPiB0aGFua3MgdG8gaXRzIGF1dGhvciBBbGJlcnRvIFBlcmlwb2xsaS4gTm90ZTogZm9yIHNlY3VyaXR5IHJlYXNvbnMsIHRoZSBSZXNwb25zaXZlIEZpbGUgTWFuYWdlciB3aWxsIG5vdCBiZSBhdmFpbGFibGUgdG8gdGhlIGZyb250ZW5kIHVzZXJzPC9saT4NCgk8bGk+QWJpbGl0eSB0byB1c2UgYW4gZXh0ZXJuYWwgamF2YXNjcmlwdCB0ZW1wbGF0ZSBmaWxlIGZyb20gdGhlIERlc2lnbk1hbmFnZXIgaW5zdGVhZCBvZiB0aGUgc3RvY2sgSlMgZmlsZSAtIFRoaXMgcGVybWl0cyBhIGNvbXBsZXRlIGN1c3RvbWl6YXRpb24gb2YgdGhlIGluaXQgc2NyaXB0LjwvbGk+DQoJPGxpPkN1c3RvbWl6YWJsZSBhcHBlYXJhbmNlIGJ5IHNwZWNpZnlpbmcgYSBkZXNpZ24gdG8gdXNlIGZvciB0aGUgZWRpdG9yLjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4NCjx1bD4NCgk8bGk+SW5zdGFsbCBhbmQgY29uZmlndXJlIHRoZSBtb2R1bGU8L2xpPg0KCTxsaT48c3Ryb25nIHN0eWxlPSJjb2xvcjogcmVkIj5JbXBvcnRhbnQ6PC9zdHJvbmc+IGlmIHlvdVwncmUgdXNpbmcgVVJMIFJld3JpdGluZywgeW91IG11c3QgdXBkYXRlIHlvdXIgLmh0YWNjZXNzIGZpbGUgYW5kIHJlcGxhY2U6DQoJCTx1bD4NCgkJCTxsaT48Y29kZT5SZWRpcmVjdE1hdGNoIDQwMyBeLiovbW9kdWxlcy8oLiopXC5waHA8L2NvZGU+JMKgd2l0aDo8L2xpPg0KCQkJPGxpPjxjb2RlPlJlZGlyZWN0TWF0Y2ggNDAzIF4uKi9tb2R1bGVzLyg/IVRpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci8pLipcLnBocCQ8L2NvZGU+PC9saT4NCgkJCTxsaT4uLi4gaW4gb3JkZXIgdG8gbWFrZSB0aGUgUmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXIgd29yayAtIElmIHlvdSBhbHJlYWR5IGRpZCBzb21lIGNoYW5nZXMgb24gdGhhdCBsaW5lLCBwbGVhc2UgdXBkYXRlIHRoZSBydWxlIGFjY29yZGluZ2x5PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT5DcmVhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgYXBwcm9wcmlhdGUgcHJvZmlsZXMgaW4gPGVtPkV4dGVuc2lvbnM8L2VtPiAvIDxlbT5UaW55TUNFIFdZU0lXWUcgZWRpdG9yPC9lbT48L2xpPg0KCTxsaT5Eb25cJ3QgZm9yZ2V0IHRvIGxpbmsgcHJvZmlsZXMgd2l0aCBiYWNrZW5kIHVzZXIgZ3JvdXBzIChvciBmcm9udGVuZCkgaW4gdGhlIFRpbnlNQ0UgcHJvZmlsZTwvbGk+DQoJPGxpPlNldCBUaW55TUNFIGFzIHlvdXIgV1lTSVdZRyBlZGl0b3Igb2YgY2hvaWNlIGluICJNeSBQcmVmZXJlbmNlcyI8L2xpPg0KPC91bD4NCg0KPHA+DQoJTm90ZSBhYm91dCBwcm9maWxlIGVkaXRpb246IHRoZSBiYWNrZW5kIHVzZXIgPHN0cm9uZz5tdXN0IGhhdmU8L3N0cm9uZz4gdGhlIDxlbT5NYW5hZ2UgVGlueU1DRSBwcm9maWxlczwvZW0+IHBlcm1pc3Npb24gdG8gZ2V0IHRoZSBUaW55TUNFIEFkbWluIHBhZ2UuDQo8L3A+DQoNCjxoMz5DYWNoaW5nOjwvaDM+DQo8cD5JbiBhbiBlZmZvcnQgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSwgVGlueU1DRSB3aWxsIGF0dGVtcHQgdG8gY2FjaGUgdGhlIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGZpbGVzIHVubGVzcyBzb21ldGhpbmcgaGFzIGNoYW5nZWQuIFNhdmluZyBhIHByb2ZpbGUgb3IgY2xlYXJpbmcgdGhlIENNUyBNYWRlIFNpbXBsZSBjYWNoZSB3aWxsIGFsd2F5cyByZXNldCB0aGUgSlMgY2FjaGUgZmlsZS48L3A+DQoNCjxoMz5Nb2R1bGUgZGV2ZWxvcGVyczogaG93IHRvIGNyZWF0ZSBhIG5ldyBidXR0b24gZm9yIG15IG1vZHVsZSBpbiBUaW55TUNFPzwvaDM+DQo8cD4NCglZb3UgbXVzdCBhZGQgdGhyZWUgZnVuY3Rpb25zIHRvIHlvdXIgbWFpbiBtb2R1bGUgY2xhc3MgLSBFeGFtcGxlIGZvciB0aGUgR2FsbGVyeSBtb2R1bGU6DQo8L3A+DQoNCjxjb2RlPjxwcmU+DQoJZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcz1hcnJheSgpKSB7DQoJCWlmICgkY2FwYWJpbGl0eT09XCdXWVNJV1lHSXRlbXNcJykgcmV0dXJuIHRydWU7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoNCglmdW5jdGlvbiBHZXRXWVNJV1lHQnRuTmFtZSgpDQoJew0KCQlyZXR1cm4gXCdtb2R1bGVfZ2FsbGVyeVwnOw0KCX0NCg0KCWZ1bmN0aW9uIEdldFdZU0lXWUdCdG4oJHd5c2l3eWdfbW9kdWxlKQ0KCXsNCgkJLy8gVEVTVCBBUlJBWSBFWEFNUExFDQoJCSRpdGVtcyA9IGFycmF5KA0KCQkJYXJyYXkoDQoJCQkJXCdtZW51X3RleHRcJyA9PiBcJ0dhbGxlcnkgMVwnLA0KCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdkaXIxXCd9IiwgLy8gRW1wdHkgPSBubyBhY3Rpb24gb24gY2xpY2sNCgkJCQlcJ2NoaWxkcmVuXCcgPT4gYXJyYXkoDQoJCQkJCWFycmF5KA0KCQkJCQkJXCdtZW51X3RleHRcJyA9PiBcJ1N1YkdhbGxlcnkgMS4xXCcsDQoJCQkJCQlcJ2NvbnRlbnRcJyA9PiAie0dhbGxlcnkgZGlyPVwnc3ViZGlyMTFcJ30iDQoJCQkJCQlcJ2NoaWxkcmVuXCcgPT4gYXJyYXkoKSAvLyBZb3UgY2FuIGhhdmUgYXMgbWFueSBzdWJsZXZlbHMgYXMgeW91IG5lZWQNCgkJCQkJKSwNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAxLjJcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIxMlwnfSINCgkJCQkJKSwNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAxLjNcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIxM1wnfSINCgkJCQkJKQ0KCQkJCSkNCgkJCSksDQoJCQlhcnJheSgNCgkJCQlcJ21lbnVfdGV4dFwnID0+IFwnR2FsbGVyeSAyXCcsDQoJCQkJXCdjb250ZW50XCcgPT4gIntHYWxsZXJ5IGRpcj1cJ2RpcjJcJ30iLCAvLyBFbXB0eSA9IG5vIGFjdGlvbiBvbiBjbGljaw0KCQkJCVwnY2hpbGRyZW5cJyA9PiBhcnJheSgNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAyLjFcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIyMVwnfSINCgkJCQkJKSwNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAyLjJcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIyMlwnfSINCgkJCQkJKSwNCgkJCQkJYXJyYXkoDQoJCQkJCQlcJ21lbnVfdGV4dFwnID0+IFwnU3ViR2FsbGVyeSAyLjNcJywNCgkJCQkJCVwnY29udGVudFwnID0+ICJ7R2FsbGVyeSBkaXI9XCdzdWJkaXIyM1wnfSINCgkJCQkJKQ0KCQkJCSkNCgkJCSkNCgkJKTsNCg0KCQkvLyBCVUlMRCBUSEUgQlVUVE9OIE9CSkVDVCBVU0VEIEJZIFRIRSBUaW55TUNFIE1PRFVMRQ0KCQlpZiAoJHd5c2l3eWdfbW9kdWxlID09IFwnVGlueU1DRVwnKQ0KCQl7DQoJCQkkb2JqID0gbmV3IHRpbnltY2VfbW9kdWxlbWVudTsNCgkJCSRvYmotPm1vZHVsZV9uYW1lID0gJHRoaXMtPkdldE5hbWUoKTsNCgkJCSRvYmotPmJ1dHRvbl9uYW1lID0gJHRoaXMtPkdldFdZU0lXWUdCdG5OYW1lKCk7DQoJCQkkb2JqLT50aXRsZSA9ICR0aGlzLT5MYW5nKFwndGlueW1jZV9idXR0b25fcGlja2VyXCcpOw0KCQkJJG9iai0+dG9vbHRpcCA9ICR0aGlzLT5MYW5nKFwndGlueW1jZV9kZXNjcmlwdGlvbl9waWNrZXJcJyk7DQoJCQkkb2JqLT5pY29uID0gXCdpbWFnZVwnOw0KCQkJJG9iai0+aW1hZ2UgPSAkdGhpcy0+R2V0TW9kdWxlVVJMUGF0aCgpIC4gXCcvaW1hZ2VzL2ljb24uZ2lmXCc7DQoJCQkkb2JqLT5tZW51X2VudHJpZXMgPSAkaXRlbXM7DQoJCQkkb2JqLT5tZW51X3NlY3Rpb24gPSBcJ2luc2VydFwnOw0KDQoJCQlyZXR1cm4gJG9iajsNCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KPC9wcmU+PC9jb2RlPg0KDQo8cD4NCglUaGUgPHN0cm9uZz5HZXRXWVNJV1lHQnRuKCk8L3N0cm9uZz4gZnVuY3Rpb24gbXVzdCByZXR1cm4gYSA8c3Ryb25nPnRpbnltY2VfbW9kdWxlbWVudTwvc3Ryb25nPiBvYmplY3Qgd2l0aCBhbiBhcnJheSA8ZW0+bWVudV9lbnRyaWVzPC9lbT4gcHJvcGVydHkuDQo8L3A+DQo8YnI+DQoNCjxoMz5MaWNlbnNlIGluZm9ybWF0aW9uczwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBmcmVlIHNvZnR3YXJlIC0geW91IGNhbiB1c2UgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAyIG9yIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPjxzdHJvbmc+SG93ZXZlcjwvc3Ryb25nPiwgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5SZXNwb25zaXZlIEZpbGVNYW5hZ2VyPC9hPiBpcyBsaWNlbnNlZCB1bmRlciBhIDxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLzMuMC8iIHRhcmdldD0iX2JsYW5rIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwgMy4wIFVucG9ydGVkIExpY2Vuc2U8L2E+LiBUaGUgVGlueU1DRSBtb2R1bGUgaW5jbHVkZXMgaXQgPHN0cm9uZz53aXRoIHRoZSBwZXJtaXNzaW9uIGZyb20gQWxiZXJ0byBQZXJpcG9sbGk8L3N0cm9uZz4gZ2l2ZW4gb24gMjAxNi0wMS0xOS4gVGhhbmsgeW91IEFsYmVydG8hIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5JZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoYXQgcHJvamVjdCwgcGxlYXNlIGNoZWNrIHRoaXMgcGFnZSBhbmQgbWFrZSBhIGZyZWUgZG9uYXRpb24uPC9hPjwvcD4NCg0KPGgzPkhlbHAgYW5kIHN1cHBvcnQ8L2gzPg0KPHA+V2UgdHJpZWQgdG8gZXhwbGFpbiBlYWNoIGNvbmZpZ3VyYXRpb24gb3B0aW9uIG9uIHRoZSBwcm9maWxlIGVkaXRpb24gQWRtaW4gcGFnZS4gUGxlYXNlIHVzZSB0aGUgIj8iIGJ1dHRvbnMgbmVhciBlYWNoIG9wdGlvbiB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbnMuPC9wPg0KDQo8aDM+QnVnIHJlcG9ydCBvciBmZWF0dXJlIHJlcXVlc3Q8L2gzPg0KPHA+DQoJQ2hlY2tvdXQgdGhlIENNUyBNYWRlIFNpbXBsZSBmb3JnZTogPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy90aW55bWNlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy90aW55bWNlPC9hPg0KPC9wPg0KDQo8aDM+QXV0aG9yczwvaDM+DQo8dWw+DQoJPGxpPk1vcnRlbiBQb3Vsc2VuOiA8YSBocmVmPSJtYWlsdG86bW9ydGVuQHBvdWxzZW4ub3JnIj5tb3J0ZW5AcG91bHNlbi5vcmc8L2E+PC9saT4NCgk8bGk+Um9sZiBUamFzc2VuczogPGEgaHJlZj0ibWFpbHRvOnJvbGZAY21zbWFkZXNpbXBsZS5vcmciPnJvbGZAY21zbWFkZXNpbXBsZS5vcmc8L2E+PC9saT4NCgk8bGk+TWF0aGlldSBNdXRoczogPGEgaHJlZj0ibWFpbHRvOmNvbnRhY3RAYWlyZWxpYnJlLmZyIj5jb250YWN0QGFpcmVsaWJyZS5mcjwvYT48L2xpPg0KPC91bD4nOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/hu_HU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBtb2R1bCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3dzIG1haW5seSBjb250ZW50LCBidXQgcG9zc2libHkgYWxzbyBvdGhlciBraW5kcyBvZiBkYXRhLCB0byBiZSBlZGl0ZWQgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBwb3dlcmVkIGJ5IHRoZSBUaW55TUNFIHByb2plY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnQSBtb2R1bCBlbHQmYWFjdXRlO3ZvbCZpYWN1dGU7dCZhYWN1dGU7c2EgbWVndCZvdW1sO3J0JmVhY3V0ZTtudC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnQSBtb2R1bGImb2FjdXRlO2wgYSh6KSAlcyB2ZXJ6aSZvYWN1dGU7IHZhbiB0ZWxlcCZpYWN1dGU7dHZlLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnQmFja2dyb3VuZCBUYWctb2sga2l2JmVhY3V0ZTt0ZWxlIGEgQ1NTLWLFkWwnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1RoaXMgb3B0aW9ucyB0cmllcyB0byByZW1vdmUgYmFja2dyb3VuZC10eXBlIHNldHRpbmdzIGZyb20gdGhlIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICdGb3JyJmFhY3V0ZTtzZm9ybSZhYWN1dGU7eiZhYWN1dGU7cyBhbGthbG1heiZhYWN1dGU7c2EgYSBraW1lbmV0aSBIVE1MLWVuJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9jayBmb3JtJmFhY3V0ZTt0dW1vayBhIGxlbnkmaWFjdXRlO2wmb2FjdXRlOyBtZW4mdXVtbDtrYmVuJzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnVCZhYWN1dGU7YmwmYWFjdXRlO3phdCBtxbF2ZWxldGVrIGVuZ2VkJmVhY3V0ZTtseWV6JmVhY3V0ZTtzZSc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJyZVYWN1dGU7anNvciBzdCZpYWN1dGU7bHVzJzsKJGxhbmdbJ3BzdHlsZSddID0gJzxwPiBzdCZpYWN1dGU7bHVzJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICc8YnIgLz4gc3QmaWFjdXRlO2x1cyc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdBIGd6IHQmb3VtbDttJm91bWw7ciZpYWN1dGU7dCZlYWN1dGU7cyBoYXN6biZhYWN1dGU7bGF0YSc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdFeiBtZWdneW9ycyZpYWN1dGU7dGhhdGphIGEgVGluZU1DRSBiZXQmb3VtbDtsdCZlYWN1dGU7cyZlYWN1dGU7dCwgZGUgbWVnIGlzIGFrYWQmYWFjdXRlO2x5b3poYXRqYSBhIG3FsWsmb3VtbDtkJmVhY3V0ZTtzJmVhY3V0ZTt0IGJpem9ueW9zIHJlbmRzemVyZWtlbi4gSyZvdW1sO3ImdXVtbDtsdGVraW50JmVhY3V0ZTtzc2VsIGhhc3puJmFhY3V0ZTtsZC4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJzxwPiBhbGFwYmxva2sgaGFzem4mYWFjdXRlO2xhdCZhYWN1dGU7bmFrIGtpayZlYWN1dGU7bnlzemVyJmlhY3V0ZTt0JmVhY3V0ZTtzZSc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnS2lrJmVhY3V0ZTtueXN6ZXImaWFjdXRlO3RpLCBob2d5IGEgdGFydGFsb20gbGVnYWwmYWFjdXRlO2JiIDxwPi10YWdvayBrJm91bWw7eiZlYWN1dGU7IGxlZ3llbiB6JmFhY3V0ZTtydmEnOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRiZhYWN1dGU7amx2JmFhY3V0ZTtsYXN6dCZvYWN1dGU7IHN0JmlhY3V0ZTtsdXNhJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRiZhYWN1dGU7amx2JmFhY3V0ZTtsYXN6dCZvYWN1dGU7IG0mZWFjdXRlO3JldGUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ0FsYXAmZWFjdXRlO3J0ZWxtZXpldHQgbSZlYWN1dGU7cmV0JzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnJkFhY3V0ZTt0bSZlYWN1dGU7cmV0ZXomZWFjdXRlO3M6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdNaW5pYXTFsXIgayZlYWN1dGU7c3omaWFjdXRlO3QmZWFjdXRlO3NlIGsmZWFjdXRlO3BmZWx0Jm91bWw7bHQmZWFjdXRlO3Nrb3InOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnSGFsYWQmb2FjdXRlOyBUaW55TUNFLXByb2ZpbCBoYXN6biZhYWN1dGU7bGF0YSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1Byb2ZpbCBtZW50JmVhY3V0ZTtzZSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdBIHByb2ZpbCBlbCBsZXR0IG1lbnR2ZSc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxvayc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnSGFsYWQmb2FjdXRlOyBoJmFhY3V0ZTt0dCZlYWN1dGU7ciBwcm9maWwgYmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzb2snOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ1N0JmlhY3V0ZTtsdXNvayBtZW50JmVhY3V0ZTtzZSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ0FsbG93IHVzYWdlIG9mIGFkdmFuY2VkIHByb2ZpbGUgaW4gVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdGJmFhY3V0ZTtqbCBrZXplbCZlYWN1dGU7c2kgbGVoZXTFkXMmZWFjdXRlO2dlayBtdXRhdCZhYWN1dGU7c2EnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgaW4gb3B0aW9ucyBsaWtlIHVwbG9hZCwgbWFrZSBkaXIgYW5kIGZpbGUgZGVsZXRpb24gaW4gRmlsZVBpY2tlciwgaWYgdGhlIHVzZXIgaXMgYWxsb3dlZCB0byBwZXJmb3JtIHRoZXNlLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdSZXN0cmljdCB1c2VyJiMwMzk7cyBkaXIgYWNjZXNzJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUaGlzIHdpbGwgcmVzdHJpY3QgdGhlIGZpbGVtYW5hZ2VtZW50LWNhcGFiaWxpdGllcyBvZiB0aGUgdXNlciB0byBhIHN1YmRpciB0byAmIzAzOTt1cGxvYWRzJiMwMzk7IHdoaWNoIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgdXNlciYjMDM5O3MgbG9naW4uIElmIHRoZSBzdWJkaXIgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgcG9zc2libHkgYmUgY3JlYXRlZC4gUGxlYXNlIG5vdGUsIHRoaXMgY3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCB0aGUgc3RhbmRhcmQgZGlybmFtZXMsIHVwbG9hZHMvaW1hZ2VzLiBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnQml6dG9zIHZhZ3kgYmVubmUsIGhvZ3kgZXp0IGEgZiZhYWN1dGU7amx0IGtpIGFrYXJvZCB0Jm91bWw7ciZvdW1sO2xuaT8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdzaWtlcmVzZW4gdCZvdW1sO3Imb3VtbDtsdmUnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ25lbSBsZWhldCB0Jm91bWw7ciZvdW1sO2xuaSc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduZW0gbGVoZXQgdCZvdW1sO3Imb3VtbDtsbmknOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3Npa2VyZXNlbiB0Jm91bWw7ciZvdW1sO2x2ZSc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdCaXp0b3MgdmFneSBiZW5uZSwgaG9neSBlenQgYXogJnV1bWw7cmVzIGFsayZvdW1sO255dnQmYWFjdXRlO3JhdCB0Jm91bWw7ciZvdW1sO2xuaSBha2Fyb2Q/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJyZVdW1sO3JlcyBhbGsmb3VtbDtueXZ0JmFhY3V0ZTtyIHQmb3VtbDtybCZlYWN1dGU7c2UnOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ0YmYWFjdXRlO2psIHQmb3VtbDtybCZlYWN1dGU7c2UnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0Nhbm5vdCByZWFkIHRoZSBmaWxlIHRpbnljb25maWcucGhwIGRpcmVjdGx5IHNvIFRpbnlNQ0Ugd2lsbCBwcm9iYWJseSBub3Qgd29yay4gWW91IHNob3VsZCBjaGVjayB0aGUgcGVybWlzc2lvbnMgb2YgdGhlIGZpbGUgYW5kIG9mIHRoZSBwYXJlbnQgZGlycywgd2hpY2ggc2hvdWxkIGJlIHJlYWRhYmxlIGZvciBhbGwgYnV0IG9ubHkgd3JpdGFibGUgZm9yIG93bmVyLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdGJmFhY3V0ZTtqbG5ldmVrIG11dGF0JmFhY3V0ZTtzYSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ01pbmlhdMWxciZvdW1sO2sgbXV0YXQmYWFjdXRlO3NhJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdBIG1pbmlhdMWxciBrJmVhY3V0ZTtwZWsgbWVnamVsZW4maWFjdXRlO3QmZWFjdXRlO3NlIHJlbmRlcyBmJmFhY3V0ZTtqbG9rayZlYWN1dGU7bnQnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnRiZhYWN1dGU7amxuZXZlayAmZWFjdXRlO3MgbWluaWF0xbFyJm91bWw7ayBtdXRhdCZhYWN1dGU7c2EnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2tpbic7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1NraW4gdmFyaSZhYWN1dGU7Y2kmb2FjdXRlOyc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0VsZW1layBrJm9hY3V0ZTtkb2wmYWFjdXRlO3NhJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnRWd5c3plcsWxIGsmb2FjdXRlO2RvbCZhYWN1dGU7cyAoYSBsZWdneW9yc2FiYiwgYSBsZWd0Jm91bWw7YiBlc2V0YmVuIG3FsWsmb3VtbDtkaWspJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOJmVhY3V0ZTt2IGFsYXAmdWFjdXRlOyBrJm9hY3V0ZTtkb2wmYWFjdXRlO3MgKHBsLiBtaW50ICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpa3VzIGsmb2FjdXRlO2RvbCZhYWN1dGU7cyAocGwuIG1pbnQgJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdBeiBlbGVtICZ1YWN1dGU7dHZvbmFsJmFhY3V0ZTtuYWsgbXV0YXQmYWFjdXRlO3NhIGEgc3plcmtlc3p0xZEgZmVsJnV1bWw7bGV0IGFsaiZhYWN1dGU7bi4nOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdFc3prJm91bWw7enQmYWFjdXRlO3InOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnRXplayBheiBvcGNpJm9hY3V0ZTtrIGVneSB2ZXNzesWRdmVsIGVsdiZhYWN1dGU7bGFzenRvdHQgbGlzdCZhYWN1dGU7YmFuIHRhcnRhbG1henomYWFjdXRlO2sgYXogZXN6ayZvdW1sO3p0JmFhY3V0ZTtyb24gaGFzem4mYWFjdXRlO2xuaSBrJmlhY3V0ZTt2JmFhY3V0ZTtudCBnb21ib2svdmV6JmVhY3V0ZTtybMWRIGVsZW1layBuZXYmZWFjdXRlO3QuJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ0Vzemsmb3VtbDt6dCZhYWN1dGU7cic7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdLYXR0aW50cyBpZGUgYSBUaW55TUNFLXdpa2kgbWVndGVraW50JmVhY3V0ZTtzJmVhY3V0ZTtoZXosIHRvdiZhYWN1dGU7YmJpIGVzemsmb3VtbDt6dCZhYWN1dGU7ci1pbnN0cnVrY2kmb2FjdXRlO2tob3ouJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnQSBzemVya2VzenTFkSBtZXrFkSBzeiZlYWN1dGU7bGVzcyZlYWN1dGU7Z2UnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnQSBzemVya2VzenTFkSBtZXrFkSBtYWdhc3MmYWFjdXRlO2dhJzsKJGxhbmdbJ2F1dG8nXSA9ICdBdXRvbWF0aWt1cyc7CiRsYW5nWydvciddID0gJ3ZhZ3knOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnVGVzenQgdGVyJnV1bWw7bGV0JzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnVGVzenQga2ltZW5ldCBtdXRhdCZhYWN1dGU7c2EnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN6dCB0ZXImdXVtbDtsZXQgc3plcmtlc3p0xZEnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXQnXSA9ICdUZXN6dCB0ZXImdXVtbDtsZXQga2ltZW5ldCc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dHNvdXJjZSddID0gJ1Rlc3RpbmcgYXJlYSBzb3VyY2UnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ0FsbG93IGlucGxhY2UgcmVzaXppbmcgb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdEbyBub3QgYWxsb3cgcmVzaXppbmcnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ0FsbG93IHJlc2l6aW5nIGluIGJvdGggZGlyZWN0aW9ucyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdBbGxvdyByZXNpemluZyBvZiBoZWlnaHQgb25seSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRCZhYWN1dGU7dHVtL2lkxZEgZm9ybSZhYWN1dGU7dHVtJzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnSWTFkSc7CiRsYW5nWydkYXRldGV4dCddID0gJ0QmYWFjdXRlO3R1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2F0dGludHMgaWRlIGEgZm9ybSZhYWN1dGU7dHVtIHMmdWFjdXRlO2cmb2FjdXRlO2hveic7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBiZSZhYWN1dGU7bGwmaWFjdXRlO3QmYWFjdXRlO3MnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIGNvbW1hcyB3aWxsIGJlIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjb250ZW50LiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnRWd5ZWRpIGxlZyZvdW1sO3JkJnV1bWw7bMWRIGxpc3RhJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgYWRkaXRpb25zJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnVGhpcyBhbGxvd3MgeW91IHRvIGFkZCBzdHVmZiB0byBlaXRoZXIgdGhlIDxhIGhyZWY+LXRhZyBvciB7Y21zX3NlbGZsaW5rfSwgd2hlbiBnZW5lcmF0ZWQgYnkgQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdBdm9pZCBsaW5rIGNvbnZlcnNpb24nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdUdXJucyBUaW55TUNFJiMwMzk7cyBidWlsdGluIGxpbmsgY29udmVyc2lvbiBsb2dpYyBvZmYuIE1ha2VzIHtzbWFydHl9LXVzYWdlIGluIHVybHMgcG9zc2libGUuJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdHZW5lcmF0ZSByZWxhdGl2ZSB1cmxzJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdGb3JjZSBjbGVhbiBvbiBwYXN0ZSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAnVGhpcyBzaG91bGQgYmUgZW5hYmxlZCB0byByZW1vdmUgc3RyYW5nZSBmb3JtYXR0aW5nIGNvZGVzIHdoZW4gcGFzdGluZyBmcm9tIFdvcmQgZXRjLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5IHRhZyBDU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnaGFneWQgJiMwMzk7QkxBTksmIzAzOTstb24gdmFneSAmYWFjdXRlO2xsJmlhY3V0ZTt0c2QgJiMwMzk7REVGQVVMVCYjMDM5Oy1yYSBheiBvbGRhbCBhbGFwJmVhY3V0ZTtydGVsbWV6ZXR0IHN0JmlhY3V0ZTtsdXMmYWFjdXRlO25hayAoJiMwMzk7UEFHRSBDU1MmIzAzOTspIGhhc3puJmFhY3V0ZTtsYXQmYWFjdXRlO2hveic7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljY2FsbHkgY3JlYXRlZCBqYXZhc2NyaXB0IGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3dhcm5pbmcnXSA9ICdXYXJuaW5nISBZb3UgaGF2ZSB0aGUgc3RhdGljIGNvbmZpZy1maWxlIG9wdGlvbiBlbmFibGVkIGJ1dCB5b3VyIC90bXAvIGRpciBpcyBub3Qgd3JpdGFibGUuIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBtb2R1bGUgZnJvbSBzYXZpbmcgdGhlIHN0YXRpYyBjb25maWctZmlsZSBhbmQgd2lsbCBtb3N0IHByb2JhYmx5IHJlbmRlciBUaW55TUNFIGlub3BlcmF0aW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yZSB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnV2FybmluZyEgVGhpcyBhbGxvd3Mgc29tZSBmaWxlLWFsdGVyaW5nIG9wZXJhdGlvbnMgZXZlbiBpZiB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gaXMgbm90IHNldCBmb3IgdGhlIGN1cnJlbnQgdXNlcmdyb3VwLiBUaGlzIGNhbiBlZmZlY3RpdmVseSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIG9wdGlvbiB0byByZXN0cmljdCB1c2VyJiMwMzk7cyBkaXJlY3RvcnkgYWNjZXNzLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdBIFdZU0lXWUcga2ktL2Jla2FwY3NvbCZhYWN1dGU7c2EgZ29tYiBtdXRhdCZhYWN1dGU7c2EnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1dZU0lXWUcga2ktL2Jla2FwY3NvbCZhYWN1dGU7c2EnOwokbGFuZ1snc3R5bGVzX3RhYiddID0gJ0NTUyBTdCZpYWN1dGU7bHVzb2snOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICdIYSBlenQgYSBtZXrFkXQgJnV1bWw7cmVzZW4gaGFneW9kLCBha2tvciBhIFRpbnlNQ0UgZmVsZG9sZ296emEgYSBDU1MgZmlsZS10ICZlYWN1dGU7cyBraWxpc3QmYWFjdXRlO3p6YSBhIHN0JmlhY3V0ZTtsdXNva2F0IGEgZmVsaGFzem4mYWFjdXRlO2wmb2FjdXRlO25hay4gSGEgY3NhayBiaXpvbnlvc2FrYXQgYWthcnN6IG1lZ211dGF0bmksIGFkZCBtZWcgxZFrZXQgJnF1b3Q7U3R5bGUgMT1zdGx5ZTE7IFN0eWxlIDI9c3RseWUyJnF1b3Q7IGZvcm0mYWFjdXRlO2JhbiBheiBhbCZhYWN1dGU7YmJpIG1lesWRYmVuLiBBIG1hcmFkJmVhY3V0ZTtrIG1lesWRa2JlbiBtZWdhZGhhdG9kIGEgQ1NTIHN0JmlhY3V0ZTtsdXN0IHQmYWFjdXRlO2JsJmFhY3V0ZTt6YXRvaywgc29yb2sgJmVhY3V0ZTtzIGNlbGwmYWFjdXRlO2sgc3omYWFjdXRlO20mYWFjdXRlO3JhLiAmVXVtbDtyZXMgbWV6xZEgZXNldCZlYWN1dGU7biBheiAmYWFjdXRlO2x0YWwmYWFjdXRlO25vcyBzdCZpYWN1dGU7bHVzYiZvYWN1dGU7bCAmb3VtbDtyJm91bWw7ayZvdW1sO2x0IHN0JmlhY3V0ZTtsdXNvayBsZXN6bmVrIGhhc3puJmFhY3V0ZTtsdmEuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJyZBYWN1dGU7bHRhbCZhYWN1dGU7bm9zJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0EgaG96eiZhYWN1dGU7ZiZlYWN1dGU7ciZlYWN1dGU7cyBtZWd0YWdhZHZhLiBLJmVhY3V0ZTtyZW0sIGVsbGVuxZFyaXp6ZSBhIGpvZ29zdWx0cyZhYWN1dGU7Z29rYXQuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnSGliYSEnOwokbGFuZ1snc3VibWl0J10gPSAnRWxrJnV1bWw7bGQnOwokbGFuZ1sndXBkYXRlJ10gPSAnRnJpc3MmaWFjdXRlO3QmZWFjdXRlO3MnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnQmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzb2sgbWVudCZlYWN1dGU7c2UnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdCZSZhYWN1dGU7bGwmaWFjdXRlO3QmYWFjdXRlO3Nvayc7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnQSBiZSZhYWN1dGU7bGwmaWFjdXRlO3QmYWFjdXRlO3Nva2F0IG1lbnRldHQmdXVtbDtrJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ0hhbGFkJm9hY3V0ZTsgYmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzb2sgbWVudCZlYWN1dGU7c2UnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0hhbGFkJm9hY3V0ZTsgYmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzb2thdCBtZW50ZXR0JnV1bWw7ayc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdBeiBlc3prJm91bWw7enQmYWFjdXRlO3JhdCBtZW50ZXR0JnV1bWw7ayc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ0Egc3QmaWFjdXRlO2x1c29rYXQgbWVudGV0dCZ1dW1sO2snOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzenQgdGVyJnV1bWw7bGV0LCBhIHRhcnRhbG1hdCBuZW0gZm9namEgYiZhYWN1dGU7bnRhbmksIGhhIGl0dCBwciZvYWN1dGU7YiZhYWN1dGU7bGtvem9sLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ0F6IGFsYXAmZWFjdXRlO3J0ZWxtZXpldHQgJmVhY3V0ZTtydCZlYWN1dGU7a2VrIHZpc3N6YSZhYWN1dGU7bGwmaWFjdXRlO3QmYWFjdXRlO3NhJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnTWluZGVuIGJlJmFhY3V0ZTtsbGwmaWFjdXRlO3QmYWFjdXRlO3Mgdmlzc3phJmFhY3V0ZTtsbCZpYWN1dGU7dCZhYWN1dGU7c2EgYWxhcCZlYWN1dGU7cnRlbG1lemV0dHJlJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2FzIHJlc2V0IHRvIGRlZmF1bHQnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdoYXMgYmVlbiB1cGdyYWRlZCB0byB2ZXJzaW9uICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnQ3VzdG9tIGRyb3Bkb3duLW1lbnUnOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdJbnNlcnQgbGluayB0byBjbXNtcy1wYWdlJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdCYWNrZW5kIHRvb2xiYXIgc2V0dGluZ3MnOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdGcm9udGVuZCB0b29sYmFyIHNldHRpbmdzJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdDaG9vc2UgdGhlIHBsdWdpbnMgeW91IHdhbnQgdG8gYWN0aXZhdGUuIERvY3VtZW50YXRpb24gY2FuIGJlIGZvdW5kIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnUGx1Z2lucyc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NhdmUgcGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW5zIHNhdmVkJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWxlIFBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICdDb21tb24gUGx1Z2lucyc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bGUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydwbHVnaW4nXSA9ICdQbHVnaW4nOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnWW91IGFyZSBpbic7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdMb2FkIHN0eWxlc2hlZXQgZm9yIGNvbnRlbnQgKHJlY29tbWVuZGVkKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdBZGRpdGlvbnMgdG8gc3R5bGVzaGVldCc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdDU1MgZW50ZXJlZCBoZXJlIHdpbGwgYmUgYWRkZWQgdG8gdGhlIHN0eWxlc2hlZXQgcmVhZCBieSBUaW55TUNFIGFmdGVyIGl0IHJlY2lldmVzIHRoZSBDTVNtcyBzdHlsZXMnOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJyZVYWN1dGU7aiBmJmFhY3V0ZTtqbCc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnRmVsdCZvdW1sO2x0JmVhY3V0ZTtzJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJyZVYWN1dGU7aiBrJm91bWw7bnl2dCZhYWN1dGU7cic7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdMJmVhY3V0ZTt0cmVob3omYWFjdXRlO3MnOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTm8gZGlybmFtZSBwcm92aWRlZCc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdEaXJuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOZXcgZGlyIHN1Y2Nlc3NmdWxseSBjcmVhdGVkJzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ0FuIGVycm9yIG9jY3VyZWQgdHJ5aW5nIHRvIGNyZWF0ZSBkaXInOwokbGFuZ1snbm9maWxlJ10gPSAnTm8gZmlsZSB3YXMgdXBsb2FkZWQnOwokbGFuZ1snZmlsZXRvb2JpZyddID0gJ1VwbG9hZGVkIGZpbGUgaXMgdG9vIGJpZyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbGVuYW1lIGNvbnRhaW5zIG9uZSBvciBtb3JlIGlsbGVnYWwgY2hhcmFjdGVycyAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm9yIG1vdmluZyB1cGxvYWRlZCBmaWxlIGludG8gcGxhY2UnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmlsZSBzdWNjZXNzZnVsbHkgdXBsb2FkZWQnOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ1RoZSB1cGxvYWRlZCBmaWxlIGlzIG5vdCBhbiBpbWFnZSc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlIEZpbGUgU2VsZWN0aW9uJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdTaWtlcic7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbGUgb3BlcmF0aW9ucyc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ00mZWFjdXRlO3JldCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnV3hIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0hhbGFkJm9hY3V0ZTsnOwokbGFuZ1snaGVscCddID0gJwk8aDM+RXogbWl0IGVyZWRtJmVhY3V0ZTtueWV6PzwvaDM+Cgk8cD5MZWhldMWRdiZlYWN1dGU7IHRlc3ppLCBob2d5IGEgVGlueU1DRS10IGhhc3puJmFhY3V0ZTtsZCBXWVNJV1lHIHN6ZXJrZXN6dMWRayZlYWN1dGU7bnQuPC9wPgoJPGgzPkhvZ3lhbiBoYXN6biZhYWN1dGU7bGhhdG9tPzwvaDM+Cgk8cD5UZWxlcCZpYWN1dGU7dHNkLCBtYWpkIGEgRmVsaGFzem4mYWFjdXRlO2wmb2FjdXRlO2kgUHJlZmVyZW5jaSZhYWN1dGU7ayBrJm91bWw7eiZvdW1sO3R0IHYmYWFjdXRlO2xhc3pkIHd5c2l3eWcgc3plcmtlc3p0xZFuZWsuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjI1MTkwODA5Mi4xMzAwMTg2MzY1LjEzMDAxODYzNjUuMTMwMDE4NjM2NS4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMDAxODYzNjUuMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1jbXNtYWRlc2ltcGxlLmh1fHV0bWNjdD0vZm9ydW0vaW5kZXgucGhwL3RvcGljLDQ3Ny4xNS5odG1sfHV0bWNtZD1yZWZlcnJhbCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsbyBXWVNJV1lHIFRpbnlNQ0UnOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1F1ZXN0byBtb2R1bG8gcGVybWV0dGUgbGEgbW9kaWZpY2EgcHJpbmNpcGFsbWVudGUgZGkgY29udGVudXRvLCBtYSBldmVudHVhbG1lbnRlIGFuY2hlIGFsdHJpIHRpcGkgZGkgZGF0aSwgdXRpbGl6emFuZG8gdW4gZWRpdG9yIFdZU0lXWUcgZWRpdG9yIHN2aWx1cHBhdG8gZGFsIHByb2dldHRvIFRpbnlNQ0UuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxvIGRpc2luc3RhbGxhdG8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ1ZlcnNpb25lIGRlbCBtb2R1bG8gJXMgaW5zdGFsbGF0YSc7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnVG9nbGkgaSB0YWcgYmFja2dyb3VuZCBkYSBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ1F1ZXN0YSBvcHppb25lIGNlcmNhIGRpIHJpbXVvdmVyZSBsZSBpbXBvc3RhemlvbmkgZGkgYmFja2dyb3VuZCBkYWkgZm9nbGkgZGkgc3RpbGUuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICdBcHBsaWNhIGxhIGZvcm1hdHRhemlvbmUgZGVsIHNvcmdlbnRlIGFsIEhUTUwgZGkgdXNjaXRhJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdGb3JtYXRpIG5lbCBtZW51IGEgdGVuZGluYSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1Blcm1ldHRldGUgb3BlcmF6aW9uaSBzdWxsZSB0YWJlbGxlJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnU3RpbGUgZGkgdW4gSW52aW8nOwokbGFuZ1sncHN0eWxlJ10gPSAnc3RpbGUgJmFtcDtsdDtwJmFtcDtndDsnOwokbGFuZ1snYnJzdHlsZSddID0gJ3N0aWxlICZhbXA7bHQ7YnIgLyZhbXA7Z3Q7JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ1VzYSBsYSBjb21wcmVzc2lvbmUgZ3onOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnUXVlc3RvIHB1Jm9ncmF2ZTsgdmVsb2NpenphcmUgaWwgY2FyaWNhbWVudG8gZGkgVGlueU1DRSwgbWEgcHUmb2dyYXZlOyBhbmNoZSBpbXBlZGlybmUgaWwgY2FyaWNhbWVudG8gc3UgYWxjdW5pIHNpc3RlbWkuIFVzYXRlIGNvbiBjYXV0ZWxhLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnRm9yemEgaWwgdGFnICZhbXA7bHQ7cCZhbXA7Z3Q7IGluaXppYWxlL2ZpbmFsZSBuZWwgYmxvY2NvJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3J6YSBsYSBwcmVzZW56YSBkaSBhbG1lbm8gdW4gdGFnICZhbXA7bHQ7cCZhbXA7Z3Q7IGF0dG9ybiBvIGFsIGNvbnRlbnV0byBpbnZpYXRvJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1N0aWxlIGRlbCBGaWxlcGlja2VyJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRGltZW5zaW9uZSBkZWwgRmlsZXBpY2tlcic7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdQZXJtZXR0ZSBpbCBjYXJpY2FtZW50byBlIGxhIGNyZWF6aW9uZSBkaSBkaXJlY3RvcnkgaW4gRmlsZVBpY2tlcic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnUGVybWV0dGUgaWwgcmlkaW1lbnNpb25hbWVudG8gYWwgdm9sbyBkZWxsZSBpbW1hZ2luaSBjYXJpY2F0ZSc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdEaW1lbnNpb25pIHByZWRlZmluaXRlJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnUmlkaW1lbnNpb25hIGE6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdDcmVhIHVuYSBtaW5pYXR1cmEgcXVhbmRvIHNpIGNhcmljYW5vIGltbWFnaW5pJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1VzYSBpbCBwcm9maWxvIFRpbnlNQ0UgYXZhbnphdG8nOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdTYWx2YSBpbCBwcm9maWxvJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ0lsIHByb2ZpbG8gJmVncmF2ZTsgc3RhdG8gc2FsdmF0byc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxpJzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdQcm9maWxpIGRpIGNvbmZpZ3VyYXppb25lIGF2YW56YXRpIHBlciBpbCBwYW5uZWxsbyBkaSBhbW1pbmlzdHJhemlvbmUnOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ1NhbHZhIGdsaSBTdGlsaSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ1Blcm1ldHRpIGwmIzAzOTt1c28gZGkgcHJvZmlsaSBhdmFuemF0aSBpbiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ01vc3RyYSBvcHppb25pIGRpIGdlc3Rpb25lIGZpbGUnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ01vc3RyYSBnZXN0aW9uZSBkaSBmaWxlIGluIG9wemlvbmkgY29tZSB1cGxvYWQsIGNyZWEgY2FydGVsbGUgZSBjYW5jZWxsYXppb25lIGZpbGUgaW4gRmlsZVBpY2tlciwgc2UgYWxsJiMwMzk7dXRlbnRlICZlZ3JhdmU7IHBlcm1lc3NvLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdMaW1pdGEgYWNjZXNzbyBhbGxhIGNhcnRlbGxhIHV0ZW50ZSc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnUXVlc3RhIGZ1bnppb25lIGxpbWl0ZXImYWdyYXZlOyBsZSBwb3NzaWJpbGl0JmFncmF2ZTsgZGkgZ2VzdGlvbmUgZGVpIGZpbGUgZGVsbCYjMDM5O3V0ZW50ZSBhZCB1bmEgc290dG9jYXJ0ZWxsYSBkaSAmIzAzOTt1cGxvYWRzJiMwMzk7IGNvbiBsbyBzdGVzc28gbm9tZSBkaSBhY2Nlc3NvIGRlbGwmIzAzOTt1dGVudGUuIFNlIGxhIHNvdHRvY2FydGVsbGEgbm9uIGVzaXN0ZSBuZSB2ZXJyJmFncmF2ZTsgdGVudGF0YSBsYSBjcmVhemlvbmUuIFF1ZXN0YSBmdW56aW9uZSBhdHR1YWxtZW50ZSBmdW56aW9uYSBzb2xvIGNvbiBsZSBjYXJ0ZWxsZSBzdGFuZGFyZCwgdXBsb2FkL2ltYWdlcy4gUG90cmViYmUgZXNzZXJlIG1vZGlmaWNhdG8gaW4gZnV0dXJvLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdTaWV0ZSBzaWN1cmkgZGkgdm9sZXIgY2FuY2VsbGFyZSBxdWVzdG8gZmlsZT8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICcmZWdyYXZlOyBzdGF0byBjYW5jZWxsYXRvIGNvcnJldHRhbWVudGUnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ25vbiBwdSZvZ3JhdmU7IGVzc2VyZSBjYW5jZWxsYXRvJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcmZhaWxlZCddID0gJ25vbiBwdSZvZ3JhdmU7IGVzc2VyZSBjYW5jZWxsYXRvJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICcmZWdyYXZlOyBzdGF0byBjYW5jZWxsYXRvIGNvcnJldHRhbWVudGUnOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnU2lldGUgY2VydGkgY2hlIHF1ZXN0YSBzb3R0b2NhcnRlbGxhIHZ1b3RhIGRlYmJhIGVzc2VyZSBlbGltaW5hdGE/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJ0VsaW1pbmEgc290dG9jYXJ0ZWxsYSB2dW90YSc7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAnRWxpbWluYSBGaWxlJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdOb24gcmllc2NvIGEgbGVnZ2VyZSBpbCBmaWxlIHRpbnljb25maWcucGhwIGRpcmV0dGFtZW50ZSwgcGVyY2kmb2dyYXZlOyAmZWdyYXZlOyBwb3NzaWJpbGUgY2hlIFRpbnlNQ0Ugbm9uIGZ1bnppb25pLiBEb3ZyZXN0ZSBjb250cm9sbGFyZSBpIHBlcm1lc3NpIGRlbCBmaWxlIGUgZGVsbGUgY2FydGVsbGUgc3VwZXJpb3JpLCBjaGUgZG92cmViYmVybyBlc3NlcmUgbGVnZ2liaWxpIHBlciB0dXR0aSBtYSBzY3JpdmliaWxpIHNvbG8gcGVyIGlsIHByb3ByaWV0YXJpby4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnTW9zdHJhIG5vbWkgZmlsZSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ01vc3RyYSBtaW5pYXR1cmUnOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ01vc3RyYSBpIGZpbGUgbWluaWF0dXJhIGNvbWUgbm9ybWFsaSBmaWxlJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ01vc3RyYSBzaWEgaSBub21pIGZpbGUgY2hlIGxlIG1pbmlhdHVyZSc7CiRsYW5nWydza2luc3RleHQnXSA9ICdTa2luICc7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ0NhbWJpbyBTa2luJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+Tm90YSBiZW5lITxici8+Q2FtYmlhcmUgcXVlc3RlIGNvbmZpZ3VyYXppb25pIHB1Jm9ncmF2ZTsgY2F1c2FyZSBpbCBub24gZnVuemlvbmFtZW50byBkaSBUaW55TUNFIG8gbGEgY3JlYXppb25lIGRpIGNvZGljZSBlcnJhdG8gaW4gcXVhbGNoZSBtb2RvLiBNb2RpZmljYXRlIHF1ZXN0aSBwYXJhbWV0cmkgc29sbyBzZSBzYXBldGUgcXVlbGxvIGNoZSBzdGF0ZSBmYWNlbmRvISBWaSBjb25zaWdsaWFtbyBkaSBjb25zdWx0YXJlIGlsIHNpdG8gZGkgVGlueU1DRSBwcmltYSBkaSBnaW9jYXJlIGNvbiBxdWVzdGkgdmFsb3JpLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnQ29kaWZpY2EgZGVsbGUgZW50aXQmYWdyYXZlOyc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ0NvZGlmaWNhIGdyZXp6YSAocGkmdWdyYXZlOyB2ZWxvY2UsIGxhdm9yYSBuZWxsYSBtYWdnaW9yYW56YSBkZWkgY2FzaSknOwokbGFuZ1snbmFtZWRlbmNvZGluZyddID0gJ0NvZGlmaWNhIG5vbWluYWxlIChjb21lICZhbXA7YW1wO25ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdDb2RpZmljYSBudW1lcmljYSAoY29tZSAmYW1wO2FtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdNb3N0cmEgaWwgcGVyY29yc28gZGVsbCYjMDM5O2VsZW1lbnRvIHNvdHRvIGFsbCYjMDM5O2VkaXRvcic7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ0JhcnJhIGRlZ2xpIFN0cnVtZW50aSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdRdWVzdGUgb3B6aW9uaSBkb3ZyZWJiZXJvIGNvbnRlbmVyZSB1bmEgbGlzdGEgZGkgbm9taSBkaSBwdWxzYW50aS9jb250cm9sbGkgc2VwYXJhdGkgZGEgdmlyZ29sYSwgZGEgaW5zZXJpcmUgbmVsbGEgYmFycmEgZGVnbGkgc3RydW1lbnRpLiBJbCBjYXJhdHRlcmUgfCBwdSZvZ3JhdmU7IGVzc2VyZSB1c2F0byBpbnZlY2UgZGVsbGEgcGFyb2xhICYjMDM5O3NlcGFyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdCYXJyYSBkZWdsaSBTdHJ1bWVudGknOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnQ2xpY2NhdGUgcXVpIHBlciB2ZWRlcmUgbGUgaXN0cnV6aW9uaSBwZXIgbGEgYmFycmEgZGVnbGkgc3RydW1lbnRpIG5lbCBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnTGFyZ2hlenphIGRlbCBjYW1wbyBkaSBtb2RpZmljYSc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdBbHRlenphIGRlbCBjYW1wbyBkaSBtb2RpZmljYSc7CiRsYW5nWydhdXRvJ10gPSAnQXV0b21hdGljbyc7CiRsYW5nWydvciddID0gJ28nOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnQXJlYSBkaSBwcm92YSc7CiRsYW5nWydzaG93dGVzdGluZ291dHB1dCddID0gJ01vc3RyYSBsJiMwMzk7b3V0cHV0IGRpIHByb3ZhJzsKJGxhbmdbJ3Rlc3RhcmVhZWRpdG9yJ10gPSAnRWRpdG9yIGRlbGwmIzAzOTthcmVhIGRpIHByb3ZhJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnT3V0cHV0IGRlbGwmIzAzOTthcmVhIGRpIHByb3ZhJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnQ29kaWNlIGRlbGwmIzAzOTthcmVhIGRpIHByb3ZhJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdQZXJtZXR0ZSBpbCByaWRpbWVuc2lvbmFtZW50byBuZWwgY2FtcG8gZGVsbCYjMDM5O2VkaXRvcic7CiRsYW5nWydyZXNpemVub25lJ10gPSAnTm9uIHBlcm1ldHRlIGlsIHJpZGltZW5zaW9uYW1lbnRvJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdQZXJtZXR0ZSBpbCByaWRpbWVuc2lvbmFtZW50byBpbiBlbnRyYW1iZSBsZSBkaXJlemlvbmknOwokbGFuZ1sncmVzaXplaGVpZ2h0J10gPSAnUGVybWV0dGUgaWwgcmlkaW1lbnNpb25hbWVudG8gZGVsbGEgc29sYSBhbHRlenphJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdGb3JtYXRvIERhdGEvT3JhJzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnT3JhJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAnRGF0YSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnQ2xpY2NhdGUgcXVpIHBlciBsJiMwMzk7YWl1dG8gc3UgY29tZSBmb3JtYXR0YXJlIGxhIGRhdGEvb3JhJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0NvbmZpZ3VyYXppb25lIEV4dHJhJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdVbmEgZnJhc2UgcGVyIGxpbmVhLCBsZSB2aXJnb2xlIHNhcmFubm8gYWdnaXVudGUgcHJpbWEgZSBkb3BvIHF1ZXN0byBjb21tZW50by4gUGVyIGxlIGlzdHJ1emlvbmkgY29uc3VsdGF0ZSBpbCBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ1RlbmRpbmEgcGVyc29uYWxpenphdGEnOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnSW5zZXJpc2NlIHNuaXBwZXRzIGRpIGNvZGljZS90ZXN0byBwZXJzb25hbGl6emF0aSBpbiB1biBtZW51IGEgdGVuZGluYS4gDQpVdGlsaXp6aSBjb25zdWV0aSBwb3Nzb25vIGVzc2VyZSB1biBhY2Nlc3NvIHJhcGlkbyBhIHRhZywgcGx1Z2luLCBldGMuIElsIG1lbnUgJmVncmF2ZTsgaW5zZXJpdG8gbmVsbGEgYmFycmEgZGVnbGkgc3RydW1lbnRpIHVzYW5kbyAmIzAzOTtjdXN0b21kcm9wZG93biYjMDM5Oy4nOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ0F2dmlvIGFiaWxpdGF0byc7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnRGVzZWxlemlvbmFyZSBxdWVzdGEgY2FzZWxsYSBjYXVzZXImYWdyYXZlOyBsJiMwMzk7YXZ2aW8gZGVnbGkgZWRpdG9yIFRpbnkgaW4gbW9kYWxpbHQmYWdyYXZlOyAmcXVvdDtkaXNhYmlsaXRhdG8mcXVvdDsuIERvdnJlYmJlIGVzc2VyZSB1dGlsaXp6YXRvIGluIGNvbmdpdW56aW9uZSBjb24gaWwgcHVsc2FudGUgZGkgYXR0aXZhemlvbmUuJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnQ2FyaWNhIGlsIENNU21zbGlua2VyJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnUXVlc3RvIGdlbmVyYSBpbCBjb2RpY2UgamF2YXNjcmlwdCBuZWNlc3NhcmlvIHBlciBwZXJtZXR0ZXJlIGFsIGNtc21zbGlua2VyIGRpIGVzc2VyZSBhZ2dpdW50byBhbGxhIGJhcnJhIGRlZ2xpIHN0cnVtZW50aS4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnU3RpbGUgZGVpIGxpbmsgcGVyIENNUy1saW5rZXInOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ1N0aWxlIHtjbXNfc2VsZmxpbmt9JzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICdTdGlsZSAmYW1wO2x0O2EgaHJlZiZhbXA7Z3Q7JzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHN0ZXh0J10gPSAnQWdnaXVudGUgYWwgQ01TLWxpbmtlcic7CiRsYW5nWydjbXNsaW5rZXJhZGRzaGVscCddID0gJ1ZpIHBlcm1ldHRlIGRpIGFnZ2l1bmdlcmUgaW5mb3JtYXppb25pIGFsIHRhZyAmYW1wO2x0O2EgaHJlZiZhbXA7Z3Q7IG8ge2Ntc19zZWxmbGlua30gcXVhbmRvIHZlbmdvbm8gZ2VuZXJhdGkgZGEgQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdOb24gcGVybWV0dGVyZSBsYSBjb252ZXJzaW9uZSBkaSBjb2xsZWdhbWVudGknOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdEaXNhdHRpdmEgbGEgbG9naWNhIGRpIGNvbnZlcnNpb25lIGRlaSBjb2xsZWdhbWVudGkgZGkgVGlueU1DRS4gUmVuZGUgcG9zc2liaWxlIGwmIzAzOTt1c28gZGkge3NtYXJ0eX0gbmVnbGkgdXJsLic7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhIFVSTCByZWxhdGl2aSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yemEgbGEgcHVsaXppYSBkZWwgY29kaWNlIHN1bGwmIzAzOTtpbmNvbGxhJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdRdWVzdG8gcGFyYW1ldHJvIGRvdnJlYmJlIGVzc2VyZSBhYmlsaXRhdG8gcGVyIHJpbXVvdmVyZSBzdHJhbmUgZm9ybWF0dGF6aW9uaSBkaSBjb2RpY2UgcXVhbmRvIHNpIGluY29sbGEgZGEgV29yZCwgZXRjLi4uJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0ZvZ2xpbyBkaSBTdGlsZSAoQ1NTKSBkZWwgdGFnIEJvZHknOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnU2FyJmFncmF2ZTsgYWdnaXVudG8gYWxsYSBkZWZpbml6aW9uZSBkZWxsbyBTdGlsZSBDU1MgZGVsIGJvZHkuIFN1Z2dlcmltZW50bzogaWwgY29sb3JlIGRpIHNmb25kbyBwdSZvZ3JhdmU7IGVzc2VyZSBpbXBvc3RhdG8gYSBiaWFuY28gdXRpbGl6emFuZG8gJnF1b3Q7YmFja2dyb3VuZC1jb2xvcjogd2hpdGUmcXVvdDsgJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICdJbmNsdWRlIHNvbG8gZ2xpIFN0aWxpIENTUyBkaSB0aXBvIHNjcmVlbic7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnU2VsZXppb25hbmRvIHF1ZXN0byBzaSBwZXJtZXR0ZSBzb2xvIGFnbGkgc3RpbGkgQ1NTIGNvbiBpbCBtZWRpYXR5cGUgZGkgdGlwbyBzY3JlZW4gY29sbGdhdGkgZGkgZXNzZXJlIGluY2x1c2kgbmVnbGkgc3RpbGkgZ2VzdGl0aSBkYSBUaW55TUNFLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVXNhIGZpbGUgY29uZmlnIHN0YXRpY28nOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1B1Jm9ncmF2ZTsgYWl1dGFyZSBhIGZhciBmdW56aW9uYXJlIHRpbnkgc3Ugc2lzdGVtaSBpbiBjdWkgY3VpIGkgc2Vydml6aSBkaSBob3N0aW5nIGFnZ2l1bmdvbm8gYSB0dXR0aSBnbGkgb3V0cHV0IGNvc2UgY29tZSBzdGF0aXN0aWNoZSwgZXRjLiwgaW50ZXJyb21wZW5kbyBmaWxlIGRpIGNvbmZpZ3VyYXppb25lIGphdmFzY3JpcHQgY3JlYXRpIGRpbmFtaWNhbWVudGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ0F0dGVuemlvbmUhIEF2ZXRlIGFiaWxpdGF0byBsJiMwMzk7b3B6aW9uZSBkaSBmaWxlIGNvbmZpZyBzdGF0aWNvIG1hIGxhIHZvc3RyYSBkaXJlY3RvcnkgdG1wLyBub24gJmVncmF2ZTsgc2NyaXZpYmlsZS4gUXVlc3RvIGltcGVkaXImYWdyYXZlOyBhbCBtb2R1bG8gZGkgc2FsdmFyZSBpbCBmaWxlIGNvbmZpZyBzdGF0aWNvIGUgbW9sdG8gcHJvYmFiaWxtZW50ZSByZW5kZXImYWdyYXZlOyBpbm9wZXJhdGl2byBUaW55TUNFLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICdJZ25vcmEgaSBwZXJtZXNzaSAmIzAzOTtNb2RpZmljYSBGaWxlJiMwMzk7IHBlciBGaWxlUGlja2VyJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzaGVscCddID0gJ0F0dGVuemlvbmUhIFF1ZXN0byBwYXJhbWV0cm8gcGVybWV0dGVyJmFncmF2ZTsgb3BlcmF6aW9uaSBkaSBhbHRlcmF6aW9uZSBkaSBmaWxlIGFuY2hlIHNlIGwmIzAzOTthdHR1YWxlIGdydXBwbyBkaSB1dGVudGkgbm9uIHBvc3NpZWRlIGkgcGVybWVzc2kgJiMwMzk7TW9kaWZpY2EgRmlsZSYjMDM5Oy4gUXVlc3RhIG9wemlvbmUgcHUmb2dyYXZlOyBlc3NlcmUgdXRpbGl6emF0YSBlZmZpY2FjZW1lbnRlIGNvbiBsJiMwMzk7b3B6aW9uZSBkaSByZXN0cml6aW9uZSBkJiMwMzk7YWNjZXNzbyBhbGxhIGNhcnRlbGxhIHV0ZW50ZS4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnTW9zdHJhIGNhc2VsbGEgcGVyIGF0dGl2YXJlL2Rpc2F0dGl2YXJlIGwmIzAzOTtlZGl0b3IgV1lTSVdZRyc7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnQXR0aXZhL2Rpc2F0dGl2YSBlZGl0b3IgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnU3RpbGkgQ1NTJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnU2UgbGFzY2lhdGUgaWwgcHJpbW8gY2FtcG8gdnVvdG8sIFRpbnlNQ0UgZXNhbWluZXImYWdyYXZlOyBpbCB2b3N0cm8gRm9nbGlvIGRpIFN0aWxlIGVkIGVsZW5jaGVyJmFncmF2ZTsgYWxsJiMwMzk7dXRlbnRlIGdsaSBzdGlsaSBjb250ZW51dGkuDQpTZSB2b2xldGUgY2hlIHZlbmdhbm8gdmlzdWFsaXp6YXRpIGFsbCYjMDM5O3V0ZW50ZSBzb2xvIGFsY3VuaSBzdGlsaSwgc3BlY2lmaWNhdGVsaSBuZWxsYSBmb3JtYSAmcXVvdDtNaW9TdGlsZTE9c3R5bGUxOyBNaW9TdGlsZTI9c3R5bGUyJnF1b3Q7IG5lbCBwcmltbyBjYW1wbyBzb3R0by4NCk5vdGEgYmVuZTogTWlvU3RpbGUxPXN0eWxlMSBzaWduaWZpY2EgVW5Wb3N0cm9Ob21lZGVsbG9TdGlsZUNTUyA9IE5vbWVWRVJPZGVsbG9TdGlsZUNTUy4NCk5laSBjYW1waSByaW1hbmVudGkgcG90ZXRlIHNwZWNpZmljYXJlIHN0aWxpIENTUyBwZXIgVGFiZWxsZSwgUmlnaGUgZSBDZWxsZSBjaGUgdmVuZ29ubyB1dGlsaXp6YXRlIG5lbGxlIGNhc2VsbGUgY29ycmlzcG9uZGVudGkuIA0KUGVyIGkgY2FtcGkgdnVvdGkgdmVycmFubm8gdXRpbGl6emF0aSBnbGkgc3RpbGkgZ2VuZXJpY2kuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0aWxpJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2Vzc28gTmVnYXRvLiBTaSBwcmVnYSBkaSBjb250cm9sbGFyZSBpIHZvc3RyaSBwZXJtZXNzaS4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvcmUhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0ludmlhJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ0FnZ2lvcm5hJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ1NhbHZhIGltcG9zdGF6aW9uaSc7CiRsYW5nWydzZXR0aW5ncyddID0gJ0ltcG9zdGF6aW9uaSc7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnTGUgaW1wb3N0YXppb25pIHNvbm8gc3RhdGUgc2FsdmF0ZSc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYWx2YSBpbXBvc3RhemlvbmkgYXZhbnphdGUnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0ltcG9zdGF6aW9uaSBhdmFuemF0ZSBzYWx2YXRlJzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ0JhcnJhIGRlZ2xpIHN0cnVtZW50aSBzYWx2YXRhJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnU3RpbGkgc2FsdmF0aSc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5BcmVhIGRpIHRlc3QsIG5lc3N1biBjb250ZW51dG8gdmVyciZhZ3JhdmU7IG1vZGlmaWNhdG8gZmFjZW5kbyBwcm92ZSBxdWkuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmlwcmlzdGluYSB2YWxvcmkgcHJlZGVmaW5pdGknOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdSaXByaXN0aW5hIHR1dHRpIGkgdmFsb3JpIHByZWRlZmluaXRpJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ1NpZXRlIHNpY3VyaSBkaSB2b2xlciByaXByaXN0aW5hcmUgcXVlc3RlIGltcG9zdGF6aW9uaSBhaSB2YWxvcmkgcHJlZGVmaW5pdGk/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ1NpZXRlIHNpY3VyaSBkaSB2b2xlciByaXByaXN0aW5hcmUgVFVUVEUgbGUgaW1wb3N0YXppb25pIGFpIHZhbG9yaSBwcmVkZWZpbml0aT8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1F1ZXN0ZSBpbXBvc3Rhemlvbmkgc29ubyBzdGF0ZSByaXByaXN0aW5hdGUgYWkgdmFsb3JpIHByZWRlZmluaXRpJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdUdXR0ZSBsZSBpbXBvc3Rhemlvbmkgc29ubyBzdGF0ZSByaXByaXN0aW5hdGUgYWkgdmFsb3JpIHByZWRlZmluaXRpJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnJmVncmF2ZTsgc3RhdG8gYWdnaW9ybmF0byBhbGxhIHZlcnNpb25lICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnTWVudSBhIFRlbmRpbmEgcGVyc29uYWxpenphdG8nOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdJbnNlcmlzY2UgdW4gbGluayBhbGxlIHBhZ2luZSBjbXNtcyc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnSW1wb3N0YXppb25pIGRlbCBwcm9maWxvIGxhdG8gYW1taW5pc3RyYXRvcmUnOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdJbXBvc3RhemlvbmkgZGVsIHByb2ZpbG8gbGF0byB1dGVudGUnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW4nOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnU2NlZ2xpZXRlIGkgcGx1Z2luIGNoZSB2b2xldGUgYXR0aXZhcmUuIExhIGRvY3VtZW50YXppb25lIHB1Jm9ncmF2ZTsgZXNzZXJlIHRyb3ZhdGEgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5xdWk8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbic7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NhbHZhIHBsdWdpbic7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW5zIHNhbHZhdGknOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdQbHVnaW4gZGVsIG1vZHVsbyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1BsdWdpbiBjb211bmknOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWxvJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpemlvbmUnOwokbGFuZ1sncGx1Z2luJ10gPSAnUGx1Z2luICc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdWb2kgc2lldGUgaW4nOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnQ2FyaWNhIGlsIGZvZ2xpbyBkaSBzdGlsZSBwZXIgaWwgY29udGVudXRvIChyYWNjb21hbmRhdG8pJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FnZ2l1bnRlIGFsIGZvZ2xpbyBkaSBzdGlsZSc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdTdGlsaSBDU1MgaW5zZXJpdGkgcXVpIHNhcmFubm8gYWdnaXVudGkgYWdsaSBTdGlsaSBDU1MgbGV0dGkgZGEgVGlueU1DRSBkb3BvIHF1ZWxsaSByaWNldnV0aSBkYSBDTVNtcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTnVvdm8gZmlsZSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnQ2FyaWNhJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ051b3ZhIGNhcnRlbGxhJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWEnOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTmVzc3VuIG5vbWUgZGkgY2FydGVsbGEgaW5zZXJpdG8nOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnSWwgbm9tZSBkZWxsYSBjYXJ0ZWxsYSBlc2lzdGUgZ2kmYWdyYXZlOyc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTnVvdmEgY2FydGVsbGEgY3JlYXRhIGNvbiBzdWNjZXNzbyc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdFJiMwMzk7IGF2dmVudXRvIHVuIGVycm9yZSBkdXJhbnRlIGxhIGNyZWF6aW9uZSBkZWxsYSBjYXJ0ZWxsYSc7CiRsYW5nWydub2ZpbGUnXSA9ICdOZXNzdW4gZmlsZSBjYXJpY2F0byc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnSWwgZmlsZSBjYXJpY2F0byAmZWdyYXZlOyB0cm9wcG8gZ3JhbmRlJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnSWwgbm9tZSBkZWwgZmlsZSBjb250aWVuZSB1bm8gbyBwaSZ1Z3JhdmU7IGNhcmF0dGVyaSB2aWV0YXRpICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3JlIG5lbGxvIHNwb3N0YW1lbnRvIGEgZGVzdGluYXppb25lIGRlbCBmaWxlIGNhcmljYXRvJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0ZpbGUgY2FyaWNhdG8gY29uIHN1Y2Nlc3NvJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICdJbCBmaWxlIGNhcmljYXRvIG5vbiAmZWdyYXZlOyB1biYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ1NlbGV6aW9uZSBGaWxlIENNU01hZGVTaW1wbGUnOwokbGFuZ1snc3VjY2VzcyddID0gJ1N1Y2Nlc3NvJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnT3BlcmF6aW9uaSBzdWkgRmlsZSc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ3NpemUnXSA9ICdEaW1lbnNpb25lJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdMYXJnaGV6emEgeCBBbHRlenphJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0F2YW56YXRlJzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPg0KCTxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPg0KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4NCiAgPHA+QXMgb2YgdmVyc2lvbiAyLjYuMCwgVGlueU1DRSBpbmNsdWRlcyBhbiBvbmxpbmUgc3BlbGxjaGVja2VyLiBQbGVhc2Ugbm90aWNlIHRoYXQgU1NMIG11c3QgYmUgdHVybmVkIG9uIGluIHlvdXIgc2VydmVyLWNvbmZpZ3VyYXRpb24gaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yay4gT24gc29tZSBzZXR1cHMgdGhpcyBvcHRpb24gaXMgY2FsbGVkIHBocF9vcGVuc3NsIGJ1dCB0aGF0IG1heSB2YXJ5PC9wPg0KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPg0KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIA0KCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0Lg0KCTxici8+DQoJPHVsPg0KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQ0KCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyDQoJPC91bD4NCgk8YnIvPg0KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4NCiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydA0KICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0DQogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMzA5Njg3NDQ3LjEzMjY3MTczMDEuMTMyNjcxNzMwMS4xMzI2NzE3MzAxLjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzI2NzE3MzAxLjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sncWNhJ10gPSAnUDAtMTIyMjkzNjYzNi0xMzIwMjI0MDI5NDE1JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/iw_IL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyAnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfXlNee15XXk9eV15wg15TXldeh16guJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ9ee15XXk9eV15wgJXMg15TXkteZ16jXodeUINeU157Xldeq16fXoNeqLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAn16jXpteV16LXqiDXqteS15nXldeqINeU16jXp9eiIENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAn15bXlCDXkNek16nXqNeV15nXldeqINee16DXodeUINec15TXodeZ16gg15DXqiDXlNeS15PXqNeV16og16HXldeSINeU16jXp9eiLCDXntefIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICfXlNeX15wg15TXnten15XXqCDXoteZ16bXldeRINek15zXmCDXlC1IVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ja2Zvcm1hdHMg16LXnCDXlNeq16TXqNeZ15gg15TXoNek16rXlywnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICfXkNek16nXqCDXpNei15XXnNeV16og15jXkdec15QnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdOZXdsaW5lLdeh15LXoNeV158nOwokbGFuZ1sncHN0eWxlJ10gPSAnPHA+Ldeh15LXoNeV158nOwokbGFuZ1snYnJzdHlsZSddID0gJzxici8+Ldeh15LXoNeV158nOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAn15TXqdeq157XqSDXk9eX15nXodeUIGd6JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ9eW15Qg15nXm9eV15wg15zXlteo15Yg15DXqiDXmNei15nXoNeqIFRpbnlNQ0UsINeQ15HXnCDXmdeb15XXnCDXktedINec157XoNeV16Ig16LXldee16Eg16LXnCDXntei16jXm9eV16og157XodeV15nXnteV16ouINeU16nXqtee16kg15HXlteU15nXqNeV16ouJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICfXl9eZ15wgcm9vdGJsb2NrIDxwPic7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAn15vXldeX15XXqiDXlNeq15XXm9efINeX15bXqCDXnNek15fXldeqINec15TXmdeV16og157Xlden16Mg16rXki08cD4nOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRmlsZXBpY2tlciDXodeS16DXldefJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRmlsZXBpY2tlciDXkteV15PXnCc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICfXkNek16nXqCDXnNeU16LXnNeV16og15XXmdem15nXqNeqINeq15nXp9eZ15XXqiDXkSBGaWxlUGlja2VyJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICfXkNek16nXqCBvbi10aGUtZmx5INep15nXoNeV15kg15LXldeT15wg16nXnCDXqtee15XXoNeV16og16nXlNeV16LXnNeVJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ9eR16jXmdeo16og15TXnteX15PXnCDXqdecINee15nXk9eV16onOwokbGFuZ1sncmVzaXpldG8nXSA9ICfXqdeZ16DXldeZINeS15XXk9ecINecOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAn15HXpteiINeU16rXnteV16DXldeqINeR16LXqiDXlNei15zXkNeqINeq157Xldeg15XXqic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICfXqdeZ157XldepINee16rXp9eT150gVGlueU1DRSDXpNeo15XXpNeZ15wnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICfXqdee15XXqCDXpNeo15XXpNeZ15wnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAn16TXqNeV16TXmdecINeg15nXptecJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ9ek16jXldek15nXnNeZ150nOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ9ee16rXp9eT150gYmFja2VuZCDXlNeS15PXqNeV16og16TXqNeV16TXmdecJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICfXqdee15XXqCDXodeS16DXldeg15XXqic7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ9ee15DXpNep16jXmdedINep15nXnteV16kg15HXpNeo15XXpNeZ15wg157Xqten15PXnteZ150gVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICfXlNem15Ig15TXp9eV15HXpSDXkNek16nXqNeV15nXldeqINeg15nXlNeV15wnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ9eU16bXkiDXlNen15XXkdelINeV16DXmdeU15XXnCDXqdecINeQ16TXqdeo15XXmdeV16og15vXnteVINec15jXoteV158sINec16LXqdeV16ogZGlyINeVINen15XXkdelINeU157Xl9eZ16fXlCDXqdecIEZpbGVQaWNrZXIsINeQ150g15TXntep16rXntepINeo16nXkNeZINec15HXpteiINek16LXldec15XXqiDXkNec15QuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ9eU15LXkdecINeS15nXqdeUINec16rXmden15nXldeqINee16nXqtee16nXmdedJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICfXlteUINeZ15LXkdeZ15wg15DXqiBmaWxlbWFuYWdlbWVudCDXlNeZ15vXldec15XXqiDXqdecINeU157Xqdeq157XqSBzdWJkaXIg15vXk9eZICLXp9eR16bXmdedIiwg15DXqdeoINeZ16kg16nXnSDXlteU15Qg15TXm9eg15nXodeUINep15wg15TXntep16rXntepLiDXkNedIHN1YmRpciDXnNeQINen15nXmdedLCDXlteUINeZ15TXmdeUINec15TXmdeV16og16nXoNeV16bXqC4g16nXmdedINec15EsINeW15Qg16LXldeR15Mg15vXqNeS16Ig16jXpyDXotedIGRpcm5hbWVzINeo15LXmdecLCDXp9eR16bXmdedIC8g16rXnteV16DXldeqLiDXlteUINei16nXldeZINec15TXqdeq16DXldeqINeR16LXqteZ15MnOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXm9eZINen15XXkdelINeW15Qg16bXqNeZ15og15zXlNeZ15XXqiDXoNee15fXpz8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICfXoNee15fXpyDXkdeU16bXnNeX15QnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ9ec15Ag15nXm9eV15wg15zXlNeZ15XXqiDXqdeg157Xl9en15UnOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAn15zXkCDXmdeb15XXnCDXnNeU15nXldeqINep16DXnteX16fXlSc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAn16DXnteX16cg15HXlNem15zXl9eUJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ9eQ16rXlCDXkdeY15XXlyDXqdeW15Qgc3ViZGlyINeo15nXpyDXpteo15nXmiDXnNeU15nXnteX16c/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJ9ee15fXpyDXqNeZ16cgc3ViZGlyICc7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAn157Xl9eZ16fXqiDXp9eV15HXpSc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAn15DXmdefINeQ16TXqdeo15XXqiDXnNen16jXldeQINeQ16og15TXp9eV15HXpSDXmdep15nXqNeV16ogdGlueWNvbmZpZy5waHAg15vXmiBUaW55TUNFINeb16DXqNeQ15Qg15zXkCDXoteV15HXky4g15DXqteUINem16jXmdeaINec15HXk9eV16cg15DXqiDXlNeU16jXqdeQ15XXqiDXqdecINeU16fXldeR16Ug16nXnCBkaXJzINeU15XXqNeULCDXqdeQ157XldeoINec15TXmdeV16og16fXqNeZ15Ag16LXkdeV16gg15vXldec150sINeQ15HXnCDXnNeb16rXmdeR15Qg16jXpyDXoteR15XXqCDXlNeR16LXnNeZ150uJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ9eU16bXkiDXp9eR16bXmdedJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAn15TXpteSINeq157Xldeg15XXqiDXntee15XXltei16jXldeqJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICfXlNem15Ig15DXqiDXlNeq157Xldeg15XXqiwg16fXkdem15kg15vXnteVINen15HXpteZ150g16jXkteZ15zXmdedJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ9eU16bXkiDXqdeg15kg16fXkdem15nXnSDXldeq157Xldeg15XXqiDXntee15XXltei16jXldeqJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ9ei15XXqCc7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ9ei15XXqCDXqdeV16DXldeqJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+INep15nXnSDXnNeRISA8YnIvPiDXqdeZ16DXldeZINeU15LXk9eo15XXqiDXkNec15Qg15nXm9eV15zXmdedINec15LXqNeV150gVGlueU1DRSDXnNeU16TXodeZ16cg15zXoteR15XXkyDXkNeVINeQ16og15TXp9eV15Mg15zXmNei15XXqiDXkdeT16jXmiDXm9ec16nXlNeZLiDXqNenINec16LXqNeV15og15DXqiDXlteUINeQ150g15DXqteUINeZ15XXk9eiINee15Qg15DXqteUINei15XXqdeUISDXoNeQINec16LXmdeZ158g15HXkNeq16ggVGlueU1DRSDXnNek16DXmSDXntep15fXpyDXotedINeW15QuIDwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAn16fXmdeT15XXkyDXqdecINeS15XXpNeZ150nOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICfXp9eZ15PXldeTINeS15zXnSAo15TXnteU15nXqNeUINeR15nXldeq16gsINei15XXkdeTINeR16jXldeRINeU157Xp9eo15nXnSknOwokbGFuZ1snbmFtZWRlbmNvZGluZyddID0gJ9eR16nXnSDXp9eZ15PXldeTIChsaWtlICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAn157Xodek16jXmdeZ150g16fXmdeT15XXkyAobGlrZSDCoCknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICfXlNem15Ig15DXqiDXlNeg16rXmdeRINep15wg15DXnNee16DXmCDXkdeq15fXqteZ16og15TXoteV16jXmic7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ9eh16jXktecINeU15vXnNeZ150nOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAn15DXpNep16jXldeZ15XXqiDXkNec15Ug15nXm9eZ15zXlSDXpNeh15nXpyDXqNep15nXnteUINee15XXpNeo15PXqiDXotecINeb16TXqteV16ggLyDXqdec15nXmNeqINep157XldeqINec15TXm9eg15nXoSDXnNeq15XXmiDXodeo15LXnCDXlNeb15zXmdedLiB8IENoYXIg16DXmdeq158g15zXlNep16rXntepINeR157Xp9eV150g15TXnteZ15zXlCDXntek16jXmdeTICInOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAn16HXqNeS15wg15TXm9ec15nXnSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICfXnNeX16Ug15vXkNefINeb15PXmSDXnNeU16bXmdeSINeQ16og16HXqNeS15wg15TXm9ec15nXnSDXkS3XlNeV16jXkNeV16ogVGlueU1DRS13aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ9eo15XXl9eRINep15wg16LXldeo15og16nXk9eUJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ9eS15XXkdeUINep15wg16LXldeo15og16nXk9eUJzsKJGxhbmdbJ2F1dG8nXSA9ICfXkNeV15jXldee15jXmSc7CiRsYW5nWydvciddID0gJ9eQ15UnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ9eQ16TXqdeoIGlucGxhY2Ug15LXldeT15wg16nXnCDXoteV16jXmiDXqdeT15QnOwokbGFuZ1sncmVzaXplbm9uZSddID0gJ9eQ15wg16rXkNek16nXqCDXqdeZ16DXldeZINeS15XXk9ecJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICfXkNek16nXqCDXkteV15PXnCDXkdep16DXmSDXlNeb15nXldeV16DXmdedJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ9eQ16TXqdeoINep15nXoNeV15kg15LXldeT15wg16nXnCDXkteV15HXlCDXkdec15HXkyc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAn16rXkNeo15nXmiAvINeW157XnyDXnNei16bXkSc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ9eW157Xnyc7CiRsYW5nWydkYXRldGV4dCddID0gJ9eq15DXqNeZ15onOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ9ec15fXpSDXm9eQ158g15zXoteW16jXlCDXotecINeq15HXoNeZ16og15DXmdeaINeU16rXkNeo15nXmiAvINep16LXlCc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICfXqteV16HXpNeqINeq16bXldeo15QnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ9ee16nXpNeYINeQ15fXkyDXkdeb15wg16nXldeo15QsINek16HXmden15nXnSDXmdeq15XXldeh16TXlSDXnNek16DXmSDXldeQ15fXqNeZINeq15XXm9efINeW15QuINeR15PXldenIFRpbnlNQ0Utd2lraSDXoteR15XXqCDXlNeU15XXqNeQ15XXqi4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAn15DXmdep15nXqiDXlNeg16TXqteXJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ9eU15XXodek16og16fXmNei15kg15zXlNeq15DXnteUINeQ15nXqdeZ16og16nXnCDXlNen15XXkyAvINeY16fXodeYINei15wg15nXk9eZINeR15fXmdeo15Qg157XqteV15og15TXqtek16jXmdeYINeU16DXpNeq15cuCtee16nXqtee16kg157XkNec15nXlSDXlNedINeS15nXqdeUINeg15XXl9eUINep15wg16rXkiDXldeb15Ug15TXqtek16jXmdeYINee15XXm9eg16Eg15zXqteV15og16HXqNeS15wg15TXm9ec15nXnSDXkdeQ157Xptei15XXqiAiY3VzdG9tZHJvcGRvd24iLic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAn15TXlNek16LXnNeUINee15XXpNei15wnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ9eR15nXmNeV15wg15TXodeZ157XldefINeU15bXlCDXnteq15fXmdecINeW16LXmdeo15nXnSwg16LXldeo15vXmSDXkdee16bXkSDXnNeQINeW157XmdefLiDXmdepINec15TXqdeq157XqSDXmdeX15Mg16LXnSDXm9ek16rXldeoINec16LXkdeV16guJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAn15jXotefINeV15TXnten16nXqC1DTVMnOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICfXlteUINeZ15XXpteoINeULUphdmFTY3JpcHQg15TXp9eV15Mg15TXk9eo15XXqSDXm9eT15kg15zXkNek16nXqCAiY21zbGlua2VyIFwn15vXk9eZINec15TXldeh15nXoyDXnNeh16jXktecINeU15vXnNeZ150uJzsKJGxhbmdbJ2Ntc2xpbmtlcnN0eWxldGV4dCddID0gJ0NNUy1saW5rZXIgbGluay3XodeS16DXldefJzsKJGxhbmdbJ2Ntc3NlbGZsaW5rc3R5bGUnXSA9ICd7Y21zX3NlbGZsaW5rfS3XodeS16DXldefJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi3XodeS16DXldefJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICfXkNeq16gg15nXl9eh15nXqiDXpteV16gnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ9eX15nXnCDXoNen15kg16LXnCDXlNeT15HXpyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAn15bXlCDXpteo15nXmiDXnNeU15nXldeqINee15XXpNei15wg15vXk9eZINec15TXodeZ16gg15DXqiDXp9eV15PXmSDXoteZ16bXldeRINee15XXlteoINeb15DXqdeoINeU15TXk9eR16fXlCDXni13b3JkINeV15vXlSBcJyc7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5INeq15IgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ9eq16rXldeV16HXoyDXlNeS15PXqNeqIENTUyDXlNeS15XXoy4g16jXnteWOiDXqNen16Ig16bXkdei15nXnSDXoNeZ16rXnyDXnNeU15LXk9eZ16gg15zXkdefINeR15DXntem16LXldeqImJhY2tncm91bmQtY29sb3I6IHdoaXRlIic7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAn15vXnNeV15wg15DXqiDXlNee16HXmiDXqNenIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAn15HXl9eZ16jXlCDXlteVINee15DXpNep16jXqiDXkteZ15zXmdeV16DXldeq16HXkteg15XXnyDXlNee16bXldeo16TXqiDXqNenINei150gbWVkaWF0eXBlINeU157XodeaLCDXqdeg15HXl9eo15Ug15zXlNeZ15vXnNecINeh15LXoNeV16DXldeqIFRpbnlNQ0Ug157XmNek15wuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICfXlNep16rXntepINeU16fXldeR16UgY29uZmlnINeh15jXmNeZJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICfXlteUINeZ15vXldecINec16LXlteV16gg15zXlNeS15nXoiDXltei15nXqNeZ150g15zXoteR15XXkyDXkdee16LXqNeb15XXqiDXqdeR15TXnyDXnteq16fXnyDXkNeZ16jXldeXINee15XXodeZ16Mg15PXkdeo15nXnSDXm9ee15Ug16HXmNeY15nXodeY15nXp9eV16og15XXm9eVINek15zXmCDXm9ecLCDXqdeR15nXqNeqIEphdmFTY3JpcHQg16DXldem16gg15HXkNeV16TXnyDXk9eZ16DXnteZINen15XXkdelINeq16bXldeo15QnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ9eQ15bXlNeo15QhINeZ16kg15zXmiDXkNeqINeU15DXpNep16jXldeqINeh15jXmNeZINeU16fXldeR16UgY29uZmlnINee15XXpNei15zXqiDXkNeaIHRtcCAvINep15zXmiAvIGRpciDXkNeZ16DXlSDXoNeZ16rXnyDXnNeb16rXmdeR15QuINeW15Qg15nXnteg16Ig15DXqiDXlNee15XXk9eV15wg157XqteV15og16nXnteZ16jXqiDXlNen15XXkdelINeh15jXmNeZLWNvbmZpZyDXldeZ15TXmdeUINeb15vXnCDXlNeg16jXkNeUINec15HXnNeq15kgVGlueU1DRSBpbm9wZXJhdGlvbmFsLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICfXlNeq16LXnNedICLXkNeZ16nXldeoINep15nXoNeV15kiINen15HXpteZ150g16LXkdeV16ggRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICfXkNeW15TXqNeUISDXlteUINee15DXpNep16gg15vXnteUINen15HXpteZ150g15zXqdeg15XXqiDXpNei15XXnNeV16og15LXnSDXkNedICLXkNeZ16nXldeoINep15nXoNeV15kiINen15HXpteZ150g15zXkCDXnteV15LXk9eo16og16LXkdeV16gg16fXkdeV16bXqiDXlNee16nXqtee16nXmdedINeU16DXldeb15fXmS4g15bXlCDXmdeb15XXnCDXnNep157XqSDXkdeZ16LXmdec15XXqiDXmdeX15Mg16LXnSDXkNek16nXqNeV16og15zXlNeS15HXmdecINeQ16og15TXkteZ16nXlCDXqdecINeU157Xk9eo15nXmiDXnNee16nXqtee16kuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ9eq15nXkdeqINeU16HXmdee15XXnyDXlNem15Ig15zXlNek15XXmiBXWVNJV1lHIG9uIC8gb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICfXlNek16LXnCBXWVNJV1lHIG9uIC8gb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1Mg16HXkteg15XXoNeV16onOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgIElmIHlvdSBsZWF2ZSB0aGUgZmllbGQgZW1wdHksIFRpbnlNQ0Ugd2lsbCBwYXJzZSB5b3VyIENTUyBmaWxlIGFuZCBsaXN0IHRoZSBjbGFzcyBzdHlsZXMgY29udGFpbmVkIGluIGl0IHRvIHRoZSB1c2VyLiAKICBJZiB5b3Ugd2FudCBvbmx5IHNvbWUgc3R5bGVzIHByZXNlbnRlZCB0byB0aGUgdXNlciwgc3BlY2lmeSB0aGVtIGluIHRoZSBmb3JtICJDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiIsIAogICJzdHlsZTEiIGJlaW5nIGEgY2xhc3MgY2FsbCBpbiB5b3VyIHN0eWxlc2hlZXQgYW5kIHlvdSBkb25cJ3QgcHV0IHRoZSAuIAogIG5vcm1hbGx5IHVzZWQgZm9yIGNsYXNzIGNhbGxzIGFzIGl0IGlzIGFscmVhZHkgaW4geW91ciBDU1MsIGl0IHdpbGwgbG9vayBsaWtlIHRoaXMgPHNwYW4gY2xhc3M9InN0eWxlMSI+dGV4dDwvc3Bhbj4sIAogIGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gCic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICfXodeS16DXldeg15XXqic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICfXlNeS15nXqdeUINeg15PXl9eq15QuINeQ16DXkCDXkdeT15XXpyDXkNeqINeU15TXqNep15DXldeqINep15zXmi4nOwokbGFuZ1snZXJyb3InXSA9ICfXqdeS15nXkNeUISc7CiRsYW5nWydzdWJtaXQnXSA9ICfXqdec15cnOwokbGFuZ1sndXBkYXRlJ10gPSAn15zXoteT15vXnyc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICfXqdee15XXqCDXlNeS15PXqNeV16onOwokbGFuZ1snc2V0dGluZ3MnXSA9ICfXlNeS15PXqNeV16onOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ9eU15LXk9eo15XXqiDXoNep157XqNeVJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ9ep157XldeoINeU15LXk9eo15XXqiDXnteq16fXk9ee15XXqic7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAn15TXkteT16jXldeqINee16rXp9eT157XldeqINeg16nXnteo15UnOwokbGFuZ1sndG9vbGJhcnNhdmVkJ10gPSAn16HXqNeS15wg15TXm9ec15nXnSDXoNep157XqCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ9eh15LXoNeV16DXldeqINeg16nXnteo15UnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAn15DXlteV16ggPHA+INee15HXl9efLCDXlNeq15XXm9efINec15Ag15nXmdek15LXoteVINec16nXl9enINei150g15bXlCAuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAn15DXmdek15XXoSDXkdeo15nXqNeV16og157Xl9eT15wnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICfXkNek16Eg15DXqiDXm9ecINeU15LXk9eo15XXqiDXkdeo15nXqNeqINeU157Xl9eT15wnOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXqdeQ16rXlCDXqNeV16bXlCDXnNeQ16TXoSDXkNeqINeU15TXkteT16jXldeqINeU15DXnNeUINeU157Xl9eT15wg16nXnNeU150/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ9eU15DXnSDXkNeq15Qg15HXmNeV15cg16nXkNeq15Qg16jXldem15Qg15zXkNek16Eg15DXqiDXm9ecINeU15LXk9eo15XXqiDXkdeo15nXqNeqINeU157Xl9eT15wg16nXnNeU150/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICfXlNeS15PXqNeV16og15DXnNeUINeU15nXlCDXnNeQ16TXoSDXkNeqINeR16jXmdeo16og15TXnteX15PXnCc7CiRsYW5nWydhbGxzZXR0aW5nc3Jlc2V0J10gPSAn15vXnCDXlNeU15LXk9eo15XXqiDXlNeZ15Ug15zXkNek16Eg15DXqiDXkdeo15nXqNeqINeU157Xl9eT15wnOwokbGFuZ1sndXBncmFkZWQnXSA9ICfXqdeV15PXqNeSINec15LXqNeh15QgJXMnOwokbGFuZ1snY3VzdG9tZHJvcGRvd24nXSA9ICfXkNeZ16nXmdeqLCDXlNeq16TXqNeZ15gg15TXoNek16rXlyc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ9eU15XXodek16og16fXmdep15XXqCBjbXNtcyDXotee15XXk9eZ150nOwokbGFuZ1snYmFja2VuZF90b29sYmFycyddID0gJ0JhY2tlbmQg15TXkteT16jXldeqINek16jXldek15nXnCc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ9eU16fXk9ee15kg16nXnCDXlNeS15PXqNeV16og16TXqNeV16TXmdecJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAn16TXnNeS15nXoNeZ150nOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAn15HXl9eoIHBsdWdpbnMg16nXkdeo16bXldeg15og15zXlNek16LXmdecLiDXqteZ16LXldeTINeg15nXqtefINec157XpteV15AgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICfXpNec15LXmdeg15nXnSc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ9ep157XldeoINek15zXkteZ16DXmdedJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAn157XldeT15XXnCDXqteV16HXpNeZ150nOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICdDb21tb24g16rXldeh16TXmdedJzsKJGxhbmdbJ21vZHVsZSddID0gJ9ee15XXk9eV15wnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICfXqteQ15XXqCc7CiRsYW5nWydwbHVnaW4nXSA9ICfXpNec15LXmdefJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ9eQ16rXlCDXoNee16bXkCDXkSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdzdHlsZXNoZWV0INeY16LXnyDXnNeq15XXm9efICjXnteV157XnNelKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICfXqteV16HXpNeV16ogc3R5bGVzaGVldCc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdDU1Mg16DXm9eg16Eg15vXkNefINeZ16rXldeV16HXpNeVIHN0eWxlc2hlZXQg16DXm9eq15Eg16LXnCDXmdeT15kgVGlueU1DRSDXnNeQ15fXqCDXp9eR15zXqiDXodeS16DXldeg15XXqiBDTVNtcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAn16fXldeR16Ug15fXk9epJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICfXlNei15zXkNeUJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ9eq15nXp9eZ15Qg15fXk9ep15QnOwokbGFuZ1snY3JlYXRlZGlyJ10gPSAn16bXldeoJzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ9eQ15nXnyDXqdedINeU16rXmden15nXmdeUJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ2ZvbGRlciBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOZXcgZm9sZGVyIHN1Y2Nlc3NmdWxseSBjcmVhdGVkJzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ0FuIGVycm9yIG9jY3VyZWQgdHJ5aW5nIHRvIGNyZWF0ZSBmb2xkZXInOwokbGFuZ1snbm9maWxlJ10gPSAn15TXp9eV15HXpSDXnNeQINeg15jXotefJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICfXlNen15XXkdelINep15TXldei15zXlCDXlNeV15Ag15LXk9eV15wg157Xk9eZJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAn15TXp9eV15HXpSDXnteb15nXnCDXkNeX15Mg15DXlSDXmdeV16rXqCDXqteV15XXmdedINec15Ag15fXlden15nXmdedIChcJywiLCssKiwgXFwgLC8sJiwkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICfXqdeS15nXkNeUINeg16Ig15TXp9eV15HXpSDXoNeY16LXnyDXnNeq15XXmiDXlNee16fXldedJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ9en15XXkdelINeg15jXotefINeR15TXptec15fXlCc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlINeR15fXmdeo16og16fXldeR16UnOwokbGFuZ1snc3VjY2VzcyddID0gJ9eU16bXnNeX15QnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICfXp9eV15HXpSDXlNek16LXmdec15XXqic7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ3NpemUnXSA9ICfXkteV15PXnCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAn16h415InOwokbGFuZ1snYWR2YW5jZWRfdGFiJ10gPSAn157Xqten15PXnSc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4KICA8cD5BcyBvZiB2ZXJzaW9uIDIuNi4wLCBUaW55TUNFIGluY2x1ZGVzIGFuIG9ubGluZSBzcGVsbGNoZWNrZXIuIFBsZWFzZSBub3RpY2UgdGhhdCBTU0wgbXVzdCBiZSB0dXJuZWQgb24gaW4geW91ciBzZXJ2ZXItY29uZmlndXJhdGlvbiBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrLiBPbiBzb21lIHNldHVwcyB0aGlzIG9wdGlvbiBpcyBjYWxsZWQgcGhwX29wZW5zc2wgYnV0IHRoYXQgbWF5IHZhcnk8L3A+Cgk8aDM+VHJvdWJsZXNob290aW5nPC9oMz4KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIAoJdGhpbmdzIHlvdSBjYW4gdHJ5IGJlZm9yZSBjb250YWN0aW5nIG1lIGZvciBmdXJ0aGVyIHN1cHBvcnQuCgk8YnIvPgoJPHVsPgoJPGxpPjEuIFBsZWFzZSwgcGxlYXNlLCB0cnkgdG8gcmV1cGxvYWQgdGhlIG1vZHVsZXMvVGlueU1DRSBkaXIgdG8geW91ciBzZXJ2ZXIuIFlvdVwnZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgkKCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3VcJ3ZlIGRvbmUgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiwgSSBrbm93LCBidXQgYSBsb3Qgb2YgdGhpbmdzIGNoYW5nZWQgZnJvbSAyLjMueCB0byAyLjQueCBzZXJpZXMgb2YgdGhlIG1vZHVsZS4KCTxsaT4zLiBUcnkgZW5hYmxpbmcgdGhlIHN0YXRpYyBjb25maWcgb3B0aW9uIGluIGFkdmFuY2VkIHNldHRpbmdzLiBUaGlzIHdvcmtzIGJldHRlciBvbiBzb21lIHN5c3RlbXMgKGxpa2UgQ0dJLWJhc2VkKSwgTm90ZSB0aGF0IHRoaXMgcmVxdWlyZXMgeW91ciAvdG1wLy1kaXIgdG8gYmUgd3JpdGFibGUgYnkgdGhlIHdlYnNlcnZlcgoJPC91bD4KCTxici8+CiAgPGgzPlBsdWdpbiBkZXZlbG9wbWVudDwvaDM+CiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydAogIGNvbnRlbnQgZnJvbSBzb21lIG1vZHVsZSwgbGlrZSBHYWxsZXJ5IGV0Yy4gSG93IHRvIGRvIHRoaXMgaXMgcHJldHR5IHRlY2ggc3R1ZmYsIGJ1dCBpZiB5b3UgYXJlIGEgbW9kdWxlIGRldmVsb3BlciBhbmQgaW50ZXJlc3RlZCBpbiBjaGVja2luZyBpdCBvdXQKICBwbGVhc2UgbG9vayBpbiB0aGUgVGlueU1DRS9kb2NzLWRpciBmb3IgZnVydGhlciBpbnN0cnVjdGlvbnMuCgkJCic7CiRsYW5nWydxY2EnXSA9ICdQMC0xMDQ1Njk4Mjk2LTEyNTQ5ODQyMTU4MDInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjcyODA2MTQ5LjEzLjYudXRtY3NyPTR4NmhwLm5ldHx1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9tYWluL2FkbWluL2xpc3Rtb2R1bGVzLnBocCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4Mjg3NDcxMjguMTI1NDk4NDIxNi4xMjczMTU2MjU1LjEyNzM0NzYxNDIuMjInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI3MzQ3NjE0Mic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ja_JP.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdDU1PjgYvjgonjga7og4zmma/jgr/jgrDjgpLlpJbjgZfjgb7jgZnjgIInOwokbGFuZ1snZmFsc2UnXSA9ICfjgYTjgYTjgYgnOwokbGFuZ1sndHJ1ZSddID0gJ+OBr+OBhCc7CiRsYW5nWydzdWJtaXQnXSA9ICfpgIHkv6EnOwokbGFuZ1snaGVscCddID0gPDw8RU9GCgk8aDM+5L2V44GM44Gn44GN44KL44Gu44Gn44GX44KH44GG44GLPzwvaDM+Cgk8cD5UaW55TUNF44KS44Km44Kj44K444Km44Kj44Kw44Ko44OH44Kj44K/44Go44GX44Gm5Yip55So44Gn44GN44G+44GZ44CCPC9wPgoJPGgzPuS9v+eUqOaWueazlTwvaDM+Cgk8cD7jgqTjg7Pjgrnjg4jjg7zjg6vjgZfjgIHjg6bjg7zjgrbjg7znlLvpnaLoqK3lrprjgYvjgonjgIFUaW55TUNF44KS44Km44Kj44K444Km44Kj44Kw44Ko44OH44Kj44K/44Go44GX44Gm6YG45oqe44GX44G+44GZ44CCPC9wPgpFT0Y7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgIFdZU0lXWUcnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGlzIGkmc2Nhcm9uO2RpZWd0YXMnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxpbyAlcyB2ZXJzaWphIMSvZGllZ3RhLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnSSZzY2Fyb247aW10aSBCYWNrZ3JvdW5kIMW+eW1lcyBpJnNjYXJvbjsgQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdUaGlzIG9wdGlvbnMgdHJpZXMgdG8gcmVtb3ZlIGJhY2tncm91bmQtdHlwZSBzZXR0aW5ncyBmcm9tIHRoZSBzdHlsZXNoZWV0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnUHJpdGFpa3l0aSBrb2RvIGZvcm1hdGF2aW3EhSBIVE1MIHZhaXpkYXZpbXVpJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdOZWxlaWTFvmlhbWkgZm9ybWF0YWkgaSZzY2Fyb247JnNjYXJvbjtva2FuxI1pYW0gcGFzaXJlbmthbWFtIG1lbml1JzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnTGVpc3RpIGxlbnRlbGnFsyBuYXVkb2ppbcSFJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnTmF1am9zIGVpbHV0xJdzIHN0aWxpdXMnOwokbGFuZ1sncHN0eWxlJ10gPSAncCBzdGlsaXVzJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICdiciBzdGlsaXVzJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ05hdWRvdGkgZ3ogc3VzcGF1ZGltxIUnOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnVGFpIGdhbGkgcGFncmVpdGludGkgIFRpbnlNQ0UsIGJldCBrYWkga3VyaW9zZSBzaXN0ZW1vc2UgZ2FsaSBuZXXFvmtyYXV0aS4gTmF1ZG9raXRlIGF0c2FyZ2lhaS4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ1ByaXZlcnN0aW5pcyA8cD4gbmF1ZG9qaW1hcyc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnUHJpdmVyc3RpIHBhc3RyYWlwYXMgbmF1ZG90aSA8cD4tdGFnJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0J5bMWzIHBhc2lyaW5raW1vIHN0aWxpdXMnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdCeWzFsyBwYXNpcmlua2ltbyBkeWRpcyc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdBbGxvdyB1cGxvYWQgYW5kIGNyZWF0aW5nIGRpcnMgaW4gRmlsZVBpY2tlcic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnQWxsb3cgb24tdGhlLWZseSByZXNpemluZyBvZiB1cGxvYWRlZCBpbWFnZXMnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnTnVtYXR5dG9zIGRpbWVuc2lqb3MnOwokbGFuZ1sncmVzaXpldG8nXSA9ICdQYWtlaXN0aSBkeWTEryDEryc7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTWFrZSBhIHRodW1ibmFpbCB3aGVuIHVwbG9hZGluZyBpbWFnZXMnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnVXNlIGFkdmFuY2VkIFRpbnlNQ0UtcHJvZmlsZSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1NhdWdvdGkgcHJvZmlsxK8nOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnUHJvZmlsaXMgYnV2byBpJnNjYXJvbjtzYXVnb3Rhcyc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxpYWknOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ0FkdmFuY2VkIGJhY2tlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU2F1Z290aSBzdGlsaXVzJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnQWxsb3cgdXNhZ2Ugb2YgYWR2YW5jZWQgcHJvZmlsZSBpbiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBpbiBvcHRpb25zIGxpa2UgdXBsb2FkLCBtYWtlIGRpciBhbmQgZmlsZSBkZWxldGlvbiBpbiBGaWxlUGlja2VyLCBpZiB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIHBlcmZvcm0gdGhlc2UuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ1Jlc3RyaWN0IHVzZXImIzAzOTtzIGRpciBhY2Nlc3MnOwokbGFuZ1sncmVzdHJpY3RkaXJzaGVscCddID0gJ1RoaXMgd2lsbCByZXN0cmljdCB0aGUgZmlsZW1hbmFnZW1lbnQtY2FwYWJpbGl0aWVzIG9mIHRoZSB1c2VyIHRvIGEgc3ViZGlyIHRvICYjMDM5O3VwbG9hZHMmIzAzOTsgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSB1c2VyJiMwMzk7cyBsb2dpbi4gSWYgdGhlIHN1YmRpciBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBwb3NzaWJseSBiZSBjcmVhdGVkLiBQbGVhc2Ugbm90ZSwgdGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyB3aXRoIHRoZSBzdGFuZGFyZCBkaXJuYW1lcywgdXBsb2Fkcy9pbWFnZXMuIFRoaXMgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdBciB0aWtyYWkgbm9yaXRlIGkmc2Nhcm9uO3RyaW50aSAmc2Nhcm9uO8SvIGZhaWzEhT8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdidXZvIHPEl2ttaW5nYWkgaSZzY2Fyb247dHJpbnRhcyc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnbmVnYWxpIGLFq3RpIGkmc2Nhcm9uO3RyaW50YXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAnbmVnYWxpIGLFq3RpIGkmc2Nhcm9uO3RyaW50YXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ2J1dm8gc8SXa21pbmdhaSBpJnNjYXJvbjt0cmludGFzJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGVtcHR5IHN1YmRpciBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnVHJpbnRpIHR1JnNjYXJvbjvEjWnEhSBzdWIta2F0YWxvZ8SFJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdUcmludGkgZmFpbMSFJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdDYW5ub3QgcmVhZCB0aGUgZmlsZSB0aW55Y29uZmlnLnBocCBkaXJlY3RseSBzbyBUaW55TUNFIHdpbGwgcHJvYmFibHkgbm90IHdvcmsuIFlvdSBzaG91bGQgY2hlY2sgdGhlIHBlcm1pc3Npb25zIG9mIHRoZSBmaWxlIGFuZCBvZiB0aGUgcGFyZW50IGRpcnMsIHdoaWNoIHNob3VsZCBiZSByZWFkYWJsZSBmb3IgYWxsIGJ1dCBvbmx5IHdyaXRhYmxlIGZvciBvd25lci4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnUm9keXRpIHBhdmFkaW5pbXVzJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnUm9keXRpIG1pbmlhdGnFq3Jhcyc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXN0ZXh0J10gPSAnU2hvdyB0aHVtYm5haWwtZmlsZXMgaW4gbGlzdHMnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnUm9keXRpIHRpZWsgbWluaWF0acWrcmFzIHRpZWsgcGF2YWRpbmltdXMnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnT2RhJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnT2RvcyB2YXJpYWNpamEnOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5QcmEmc2Nhcm9uO29tZSBhdG1pbnRpITxici8+ClBha2Vpc2RhbWkgJnNjYXJvbjtpYXMgbnVvc3RhdGFzIFRpbnlNQ0UgZ2FsaSBuZWJldmVpa3RpIGFyIGdlbmVydW90aSBrb2TEhSBuZXRlaXNpbmdhaS4gxIxpYSByZWRhZ3Vva2l0ZSBqZWkgxb5pbm90ZSBrxIUgZGFyb3RlLiBQcmEmc2Nhcm9uO29tZSBwYXNpa29uc3VsdHVvdGkgVGlueU1DRSBzdmV0YWluxJdqZSBwcmllJnNjYXJvbjsga2VpxI1pYW50Ljwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnS29kYXZpbWFzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUGF2aXImc2Nhcm9uO3V0aW5pcyBrb2RhdmltYXMgKGdyZWnEjWlhdXNpYXMsIHZlaWtpYSBkYXVnZWxpdSBhdHZlanUpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdQYXZhZGludGFzIGtvZGF2aW1hcyAoa2FpcCAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ1NrYWl0aW5pcyBrb2RhdmltYXMgKGthaXAgJmFtcDthbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnUm9keXRpIGVsZW1lbnRvIGtlbGlhIHJlZGFrdG9yaWF1cyBhcGHEjWlvamUnOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICfErnJhbmtpbsSXICc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICcmU2Nhcm9uO2lvcyBudW9zdGF0b3MgdHVyxJd0xbMgYsWrdCBzdWRhcnl0b3MgaSZzY2Fyb247IGthYmxlbGl1IGF0c2tpcnTFsyBteWd0dWvFsyBwYXZhZGluaW3Fsy4nOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAnxK5yYW5raW7ElyAnOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnU3BhdXNraXRlIMSNaWEgamVpIG5vcml0ZSBwZXLFvmnFq3LEl3RpIFRpbnlNQ0UgxK9yYW5raW7El3MgaW5zdHJpa2NpamEuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnUmVkYWt0b3JpYXVzIGxhdWtvIHBsb3Rpcyc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdSZWRha3RvcmlhdXMgbGF1a28gYXVrJnNjYXJvbjt0aXMnOwokbGFuZ1snYXV0byddID0gJ0F1dG9tYXRpbmlzJzsKJGxhbmdbJ29yJ10gPSAnYXInOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ0FsbG93IGlucGxhY2UgcmVzaXppbmcgb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdEbyBub3QgYWxsb3cgcmVzaXppbmcnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ0FsbG93IHJlc2l6aW5nIGluIGJvdGggZGlyZWN0aW9ucyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdBbGxvdyByZXNpemluZyBvZiBoZWlnaHQgb25seSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0b3MvTGFpa28gZm9ybWF0YXMnOwokbGFuZ1sndGltZXRleHQnXSA9ICdMYWlrYXMnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRhJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdTcGF1c2tpdGUgxI1pYSBqZWkgbm9yaXRlIHBhZ2FsYm9zIGTEl2wgbGFpa28gZGF0b3MgZm9ybWF0YXZpbW8nOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnUGFwaWxkb21pIG51c3RhdHltYWknOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIGNvbW1hcyB3aWxsIGJlIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjb250ZW50LiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnU2F2aXRhcyBpJnNjYXJvbjtza2xlaWTFvmlhbWFzaXMgbWVuaXUnOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnxK50ZXJwaWEgc2F2aXR1cyBrb2RvIHRla3N0byBmcmFnbWVudHVzIMSvIGkmc2Nhcm9uO3NrbGVpZMW+aWFtxIVqxK8gbWVuaXUuIE5hdWRvamFtYSBwYXByYXN0ZXNuaWFtIMW+eW1pxbMgbmF1ZG9qaW11aS4gTWVuaXUgxK90ZXJwaWFtYXMgxK8gxK9yYW5raW7EmSBuYXVkb2phbnQgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuCic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ1XFvmtyYXV0aSBDTVMtbGlua2VyJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnVGFpIHN1Z2VuZXJ1b2phIGphdmFzY3JpcHQta29kxIUgcmVpa2FsaW5nxIUgcHJpZMSXdGkgxK8gxK9yYW5raW7EmQonOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciBudW9yb2TFsyBzdGlsaXVzJzsKJGxhbmdbJ2Ntc3NlbGZsaW5rc3R5bGUnXSA9ICd7Y21zX3NlbGZsaW5rfS1zdGlsaXVzIChwYWxhaWtvICZzY2Fyb247dmFyaXVzIHVybCknOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzxhIGhyZWY+LXN0aWxpdXMgKG5lcGFsYWlrbyAmc2Nhcm9uO3ZhcmnFsyB1cmwpJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdHZW5lcnVvdGkgZ2ltaW5pbmd1cyB1cmwnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1ByaXZlcnN0aW5pcyAmc2Nhcm9uO3ZhcnVzIMSvdGVycGltYXMgKHBhc3RlKSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAnVGFpIHR1csSXdMWzIGLFq3QgxK9qdW5ndGEgamVpIG5vcml0ZSBwYSZzY2Fyb247YWxpbnRpIGtlaXN0xIUgV29yZCBmb3JtYXRhdmltxIUga2FpIMSvdGVycGlhbWFzIHRla3N0YXMuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHkgdGFnJiMwMzk7YXMgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ0J1cyBwcmlkxJd0YXMgxK8gY3NzIGJvZHktYXBpYnLEl8W+aW3EhSc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdOYXVkb3RpIHN0YXRpbsSZIGtvbmZpZ3VyYWNpam9zIGJ5bMSFJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBmb3IgRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICdXYXJuaW5nISBUaGlzIGFsbG93cyBzb21lIGZpbGUtYWx0ZXJpbmcgb3BlcmF0aW9ucyBldmVuIGlmIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBub3Qgc2V0IGZvciB0aGUgY3VycmVudCB1c2VyZ3JvdXAuIFRoaXMgY2FuIGVmZmVjdGl2ZWx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCB0aGUgb3B0aW9uIHRvIHJlc3RyaWN0IHVzZXImIzAzOTtzIGRpcmVjdG9yeSBhY2Nlc3MuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1JvZHl0aSDFvnltaW7EhSBsYXVrZWzEryBpJnNjYXJvbjtqdW5ndGkvxK9qdW5ndGkgIFdZU0lXWUcnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ8SuanVuZ3RpL2kmc2Nhcm9uO2p1bmd0aSBXWVNJV1lHJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3RpbGlhaSc7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJ0plaSBwYWxpa3NpdGUgdHUmc2Nhcm9uO8SNaWEsIFRpbnlNQ0UgbmF1ZG9zIENTUyBieWzEhSBpciBzdGlsaXVzIGVzYW7EjWl1cyBqb2plLiBKZWkgbm9yaXRlIGxlaXN0aSBuYXJpYW1zIG5hdWRvdGkgdGlrIHRhbSB0aWtydXMgc3RpbGl1cyBudXJvZHlraXRlIGp1b3MgZm9ybWEgJnF1b3Q7U2F2aXRhc1BhdmFkaW5pbWFzMT1zdGlsaXVzMTsgU2F2aXRhc1BhdmFkaW5pbWFzMj10aWxpdXMyJnF1b3Q7IHBpcm1hbWUgbGF1a2VseWplJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0aWxpYWknOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUHJpZWlnYSB1xb5kcmF1c3RhLiBQYXNpdGlyaW5raXRlIGxlaWRpbXVzLic7CiRsYW5nWydlcnJvciddID0gJ0tsYWlkYSEnOwokbGFuZ1snc3VibWl0J10gPSAnUGF0ZWlrdGknOwokbGFuZ1sndXBkYXRlJ10gPSAnQXRuYXVqaW50aSc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdTYXVnb3RpIG51c3RhdHltdXMnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdOdW9zdGF0b3MnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ051b3N0YXRvcyBpJnNjYXJvbjtzYXVnb3Rvcyc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXVnb3RpIGkmc2Nhcm9uO3BsxJdzdHVvc2l1cyBudXN0YXR5bXVzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdQYcW+YW5nZXNuxJdzIG51b3N0YXRvcyBpJnNjYXJvbjtzYXVnb3Rvcyc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICfErnJhbmtpbsSXIGkmc2Nhcm9uO3NhdWdvdGknOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdTdGlsaWFpIGkmc2Nhcm9uO3NhdWdvdGknOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdGF2aW1vIGVyZHbElywgam9rcyB0ZWtzdGFzIG5lYnVzIGkmc2Nhcm9uO3NhdWdvdGFzIHRlc3RhdmltbyBtZXR1Li4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ0F0c3RhdHl0aSDEryBwcmFkaW5pdXMnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdOdXN0YXR5dGkgdmlzYXMgbnVvc3RhdGFzIMSvIHByYWRpbmVzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyIHRpa3JhaSBub3JpdGUgYXRzdGF0eXRpIG51b3N0YXRhcyDEryBwcmFkaW5pZXM/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ0FyIHRpa3JhaSBub3JpdGUgYXRzdGF0eXRpIFZJU0FTIG51b3N0YXRhcyDEryBwcmFkaW5pZXM/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdOdW9zdGF0b3MgYXRzdGF0eXRvcyc7CiRsYW5nWydhbGxzZXR0aW5nc3Jlc2V0J10gPSAnVmlzb3MgbnVvc3RhdG9zIGF0c3RhdHl0b3MnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdidXZvIGF0bmF1amludGEgxK8gdmVyc2lqYSc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ1Nhdml0YXMgaSZzY2Fyb247c2tsZWlkxb5pYW1hc2lzIG1lbml1JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnxK50ZXJwdGkgbnVvcm9kxIUgxK8gY21zbXMtcHVzbGFwxK8nOwokbGFuZ1snYmFja2VuZF90b29sYmFycyddID0gJ0FkbWluaXN0cmF0b3JpYXVzIMSvcmFua2luxJdzIG51b3N0YXRvcyc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ1ByaWUmc2Nhcm9uO2FraW7El3MgxK9yYW5raW7El3MgbnVvc3RhdG9zJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGzEl3RpbmlhaSc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdQYXNpcmlua2l0ZSBrb2tpdXMgcGzEl3Rpbml1cyBub3JpdGUgYWt0eXZ1b3RpLiBEb2t1bWVudGFjaWphIHJhc2l0ZSA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPsSNaWE8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsxJd0aW5pYWknOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdJJnNjYXJvbjtzYXVnb3RpIHBsxJd0aW5pdXMnOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bGUgUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ0NvbW1vbiBQbHVnaW5zJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsaXMnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdBcHJhJnNjYXJvbjt5bWFzJzsKJGxhbmdbJ3BsdWdpbiddID0gJ1BsdWdpbic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdKxatzIGVzYXRlJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTmF1amEgYnlsYSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnxK5rZWx0aSc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOYXVqYXMga2F0YWxvZ2FzJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1N1a3VydGknOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTmVwYXRlaWt0YXMga2F0YWxvZ28gcGF2YWRpbmltYXMnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnS2F0YWxvZ2FzIHRva2l1IHBhdmFkaW51bXUgamF1IGVnemlzdHVvamEnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05hdWphcyBrYXRhbG9nYXMgc8SXa21pbmdhaSBzdWt1cnRhcyc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICfErnZ5a28ga2xhaWRhIGt1cmlhbnQga2F0YWxvZ8SFJzsKJGxhbmdbJ25vZmlsZSddID0gJ0J5bGEgbmVidXZvIMSva2VsdGEnOwokbGFuZ1snZmlsZXRvb2JpZyddID0gJ8Sua2VsdGEgYnlsYSB5cmEgcGVyIGRpZGVsxJcnOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdGaWxlbmFtZSBjb250YWlucyBvbmUgb3IgbW9yZSBpbGxlZ2FsIGNoYXJhY3RlcnMgKCYjMDM5OywmcXVvdDssKywqLFwsLywmYW1wOywkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdLbGFpZGEgIHBlcmtlbGlhbnQgxK9rZWx0xIUgYnlsxIUnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnQnlsYSBzxJdrbWluZ2FpIMSva2VsdGEnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSBCeWzFsyBwYXNpcmlua2ltYXMnOwokbGFuZ1snc3VjY2VzcyddID0gJ1PEl2ttxJcnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdWZWlrc21haSBzdSBieWxvbWlzJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCAnOwokbGFuZ1snc2l6ZSddID0gJ0R5ZGlzJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdoeHcnOwokbGFuZ1snYWR2YW5jZWRfdGFiJ10gPSAnUGFwaWxkb21haSc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5LxIUgamlzIGRhcm8/PC9oMz4KCTxwPk5hdWRvamEgVGlueU1DRSBrYWlwIFdZU0lXWUcgaHRtbCByZWRha3RvcmnFsy48L3A+Cgk8aDM+S2FpcCBqxK8gbmF1ZG90aT88L2gzPgoJPHA+xK5kaWVnaXRlIGrErywgbnVlaWtpdGUgxK8gVmFydG90b2pvIE51c3RhdHltdXMgaXIgcGHFvnltxJdraXRlLCBrYWQgbm9yaXRlIG5hdWRvdGkgVGlueU1DRSBrYWlwIFdZU0lXWUcgcmVkYWt0b3JpxbMuPC9wPgoKCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgoJPGxpPjIuIFRyeSB0byBzd2l0Y2ggb24gdGhlIFN0YXRpYyBDb25maWcgb3B0aW9uLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyPC9saT4KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8bGk+NC4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCkKCTwvdWw+Cgk8YnIvPic7CiRsYW5nWydxY2EnXSA9ICdQMC0zOTcwMjEzMTktMTI1OTkyNDQxMDgzMCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjQ5OTcxMjM1My4xMjYwMTE2Njg3LjEyNzIxMjU2NTcuMTI3MjkyNTM3MS42NSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNzI5MjUzNzEuNjUuNDkudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyAnOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ0Rlbm5lIG1vZHVsZW4gdGlsbGF0ZXIgaG92ZWRzYWtsaWcgYXQgaW5uaG9sZCwgbWVuIG9ncyZhcmluZzsgYW5kcmUgdHlwZXIgZGF0YSwga2FuIHJlZGlnZXJlcyB2ZWQgYnJ1ayBhdiBlbiBXWVNJV1lHIHJlZGlnZXJlciB1dHZpa2xldCBhdiBUaW55TUNFIHByb3NqZWt0ZXQuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgYXZpbnN0YWxsZXJ0Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bHZlcnNqb24gJXMgZXIgaW5zdGFsbGVydCc7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnRmplcm4gYmFrZ3J1bm5zdGFnZ2VyIGZyYSBzdGlsYXJrKENTUyknOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ0Rpc3NlIHZhbGdlbmUgZm9ycyZvc2xhc2g7a2VyICZhcmluZzsgZmplcm5lIGlubnN0aWxsaW5nZXIgYXYgdHlwZW4gYmFja2dyb3VuZCBmcmEgc3RpbGFya2V0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnQmVueXR0IGtpbGRlZm9ybWF0ZXJpbmcgZm9yIGRlbiB2aXN0ZSBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ra2Zvcm1hdGVyIGkgbmVkdHJla2tzbWVueSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1RpbGxhdCB0YWJlbGwgZnVua3Nqb25lcic7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ1N0aWwgZm9yIG55IGxpbmplJzsKJGxhbmdbJ3BzdHlsZSddID0gJ3Agc3RpbCc7CiRsYW5nWydicnN0eWxlJ10gPSAnYnIgc3RpbCc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdCZW55dHQgZ3oga29tcHJpbWVyaW5nJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ0RldHRlIGthbiBmb3JiZWRyZSBsYXN0aW5nZW4gYXYgVGlueU1DRSwgbWVuIGthbiBvZ3MmYXJpbmc7IGhpbmRyZSBkZW4gJmFyaW5nOyBsYXN0ZSBwJmFyaW5nOyBlbmtlbHRlIHN5c3RlbWVyLiBCZW55dHQgbWVkIGZvcnNpa3RpZ2hldC4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ1R2aW5nICAgcCAgcm9vdGJsb2trJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdUdmluZ2VyIGRldCByZXR1cm5lcnRlIGlubmhvbGRldCB0aWwgaSBkZXQgbWluc3RlICZhcmluZzsgdiZhZWxpZztyZSBvbXNsdXR0ZXQgYXYgZW4gIHAgLXRhZ2cnOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRmlsdmVsZ2VyIHN0aWwnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWx2ZWxnZXIgc3Qmb3NsYXNoO3JyZWxzZSc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdUaWxsYXQgb3BwbGFzdGluZyBvZyBvcHByZXR0aW5nIGF2IGthdGFsb2dlciBpIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ1RpbGxhdCBlbmRyaW5nIGF2IHN0Jm9zbGFzaDtycmVsc2UgcCZhcmluZzsgb3BwbGFzdGVkZSBmaWxlciBvbi10aGUtZmx5JzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ1N0YW5kYXJkIGRpbWVuc2pvbmVyJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnRW5kcmUgc3Qmb3NsYXNoO3JyZWxzZSB0aWw6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdPcHByZXR0IG1pbmlhdHlyYmlsZGUgbiZhcmluZztyIGJpbGRlIGxhc3RlcyBvcHAnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnQmVueXR0IGF2YW5zZXJ0IFRpbnlNQ0UtcHJvZmlsJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAnTGFncmUgcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbGVuIGJsZSBsYWdyZXQnOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsZXInOwokbGFuZ1snYWR2YW5jZWRfYmFja2VuZF90b29sYmFycyddID0gJ0F2YW5zZXJ0ZSBiYWNrZW5kIHByb2ZpbGlubnN0aWxsaW5nZXInOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ0xhZ3JlIHN0aWxlcic7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ1RpbGxhdCBicnVrIGF2IGF2YW5zZXJ0ZSBwcm9maWxlciBpIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnVmlzIGZpbGJlaGFuZGxpbmdzdmFsZyc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnVmlzIGZpbGJlaGFuZGxpbmdzdmFsZyBzb20gb3BwbGFzdGluZywgb3BwcmV0dGUga2F0YWxvZyBvZyBzbGV0dGluZyBhdiBmaWwgaSBGaWxlUGlja2VyLCBvbSBicnVrZXJlbiBoYXIgdGlsbGF0ZWxzZSB0aWwgJmFyaW5nOyB1dGYmb3NsYXNoO3JlIGRpc3NlLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdCZWdyZW5zIGJydWtlcnMgdGlsZ2FuZyB0aWwga2F0YWxvZ2VyJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdEZXR0ZSB2aWwgYmVncmVuc2UgZmlsYmVoYW5kbGluZ3NlZ2Vuc2thcGVuZSB0aWwgYnJ1a2VyZW4gdGlsIGt1biBlbiB1bmRlcmthdGFsb2cgYXYgJnF1b3Q7dXBsb2FkcyZxdW90OyBzb20gaGFyIHNhbW1lIG5hdm4gc29tIGJydWtlcmVucyBwJmFyaW5nO2xvZ2dpbmdzbmF2bi4gSHZpcyB1bmRlcmthdGFsb2dlbiBpa2tlIGVrc2lzdGVyZXIsIHZpbCBkZW4gb20gbXVsaWcgYmxpIG9wcHJldHRldC4gViZhZWxpZztyIG9wcG1lcmtzb20gcCZhcmluZzsgYXQgZGV0dGUgZm9yZWwmb3NsYXNoO3BpZyBiYXJlIGZ1bmdlcmVyIG1lZCBzdGFuZGFyZCBrYXRhbG9nbmF2biwgdXBsb2FkcyAvIGltYWdlcy4gRGV0dGUga2FuIGVuZHJlIHNlZyBpIGZyZW10aWRlbi4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGRlbm5lIGZpbGVuIHNrYWwgc2xldHRlcz8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdibGUgdmVsbHlra2V0IHNsZXR0ZXQnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ2t1bm5lIGlra2Ugc2xldHRlcyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdrdW5uZSBpa2tlIHNsZXR0ZXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ2JsZSB2ZWxseWtrZXQgc2xldHRldCc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZGVubmUgdG9tbWUgdW5kZXJrYXRhbG9nZW4gc2thbCBzbGV0dGVzPyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdTbGV0dCBlb20gdW5kZXJrYXRhbG9nJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdTbGV0dCBmaWwnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0tsYXJlciBpa2tlICZhcmluZzsgbGVzZSBmaWxlbiB0aW55Y29uZmlnLnBocCBkaXJla3RlIHMmYXJpbmc7IHNhbm5zeW5saWd2aXMgdmlsIGlra2UgVGlueU1DRSBmdW5nZXJlLiBEdSBiJm9zbGFzaDtyIHNqZWtrZSByZXR0aWdoZXRlbmUgcCZhcmluZzsgZmlsYSBvZyBmb3JlbGRyZW1hcHBlbmUsIHNvbSBiJm9zbGFzaDtyIHYmYWVsaWc7cmUgbGVzYmFyIGZvciBhbGxlIG1lbiBrdW4gc2tyaXZiYXIgZm9yIGVpZXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1ZpcyBmaWxuYXZuJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnVmlzIG1pbmlhdHlyYmlsZGVyJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdWaXMgbWluaWF0eXJiaWxkZSh0aHVtYm5haWwpLWZpbGVyIGkgbGlzdGVuJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1ZpcyBiJmFyaW5nO2RlIGZpbG5hdm4gb2cgbWluaWF0eXJiaWxkZXInOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2thbGwnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2FsbCB2YXJpYXNqb24nOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5WZW5ubGlnc3QgYmVtZXJrITxici8+JkFyaW5nOyBlbmRyZSBkaXNzZSBpbm5zdGlsbGluZ2VuZSBrYW4gZiZhcmluZzsgVGlueU1DRSB0aWwgJmFyaW5nOyBzbHV0dGUgJmFyaW5nOyB2aXJrZSBlbGxlciBkZW4gZ2VuZXJlcnRlIGtvZGVuIGthbiBibGkgZmVpbCBwJmFyaW5nOyBlbiBlbGxlciBhbm5lbiBtJmFyaW5nO3RlLiBSZWRpZ2VyIGRldHRlIGJhcmUgb20gZHUgdmV0IGh2YSBkdSBnaiZvc2xhc2g7ciEgVmVubmxpZ3N0IGtvbnN1bHRlciBUaW55TUNFIG5ldHRzaWRlbiBmJm9zbGFzaDtyIGR1IGxla2VyIGRlZyBtZWQgZGV0dGUuPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdFbmtvZGluZyBhdiBlbnRpdGV0ZXInOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSYXcgZW5rb2RpbmcgKHJhc2tlc3QsIGZ1bmdlcmVyIGkgZGUgZmxlc3RlIHRpbGZlbGxlciknOwokbGFuZ1snbmFtZWRlbmNvZGluZyddID0gJ05hdm5naXR0IGVua29kaW5nIChzb20gJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmlzayBlbmtvZGluZyAoc29tICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnVmlzIHN0aWVuIHRpbCBldCBlbGVtZW50IG5lZGVyc3QgaSBlZGl0b3Jlbi4nOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdWZXJrdCZvc2xhc2g7eWxpbmplJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ0Rpc3NlIHZhbGdlbmUgc2thbCBpbm5laG9sZGUgZW4ga29tbWFzZXBhcmVydCBsaXN0ZSBtZWQgbmF2biBwJmFyaW5nOyBrbmFwcGVyIHNvbSBza2FsIHZpc2VzIGkgdmVya3Qmb3NsYXNoO3lsaW5qZW4uIFRlZ25ldCAgMSAga2FuIGJlbnl0dGVzIGkgc3RlZGV0IGZvciBvcmRldCAmIzAzOTtzZXBhcmF0b3ImIzAzOTsnOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAnVmVya3Qmb3NsYXNoO3lsaW5qZSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdLbGlrayBoZXIgZm9yICZhcmluZzsgc2UgaW5zdHJ1a3Nqb25lciBmb3IgdmVya3Qmb3NsYXNoO3lsaW5qZXIgaSBUaW55TUNFLXdpa2kmIzAzOTtlbi4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICdCcmVkZGUgcCZhcmluZzsgcmVkaWdlcmluZ3NmZWx0JzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0gmb3NsYXNoO3lkZSBwJmFyaW5nOyByZWRpZ2VyaW5nc2ZlbHQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8gJzsKJGxhbmdbJ29yJ10gPSAnZWxsZXInOwokbGFuZ1sndXNlaHRtbDVzY2hlbWV0ZXh0J10gPSAnQmVueXR0IGh0bWw1LXNramVtYSwgaSBzdGVkZXQgZm9yIGh0bWw0JzsKJGxhbmdbJ3Rlc3RhcmVhX3RhYiddID0gJ1Rlc3RvbXImYXJpbmc7ZGUnOwokbGFuZ1snc2hvd3Rlc3RpbmdvdXRwdXQnXSA9ICdWaXMgdGVzdCB1dGRhdGEnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdUZXN0b21yJmFyaW5nO2RlIHJlZGlnZXJlcic7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3RvbXImYXJpbmc7ZGUgdXRkYXRhJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnVGVzdG9tciZhcmluZztkZSBraWxkZWtvZGUnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ1RpbGxhdCBwJmFyaW5nOy1zdGVkZXQgc3Qmb3NsYXNoO3JyZWxlc3NlbmRyaW5nIGF2IHJlZGlnZXJpbmdzZmVsdGV0JzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdJa2tlIHRpbGxhdCBzdCZvc2xhc2g7cnJlbHNlc2VuZHJpbmcnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ1RpbGxhdCBzdCZvc2xhc2g7cnJlbHNlc2VuZHJpbmcgaSBiZWdnZSByZXRuaW5nZXInOwokbGFuZ1sncmVzaXplaGVpZ2h0J10gPSAnVGlsbGF0IHN0Jm9zbGFzaDtycmVsc2VzZW5kcmluZyBhdiBrdW4gaCZvc2xhc2g7eWRlbic7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRGF0by9UaWRzIGZvcm1hdCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpZCc7CiRsYW5nWydkYXRldGV4dCddID0gJ0RhdG8nOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ0tsaWtrIGhlciBmb3IgJmFyaW5nOyBmJmFyaW5nOyBoamVscCBvbSBmb3JtYXRldCBmb3IgZGF0by90aWQnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnRWtzdHJhIGtvbmZpZ3VyYXNqb24nOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJyZFYWN1dGU7biB1dHRhbGVsc2UgcGVyIGxpbmplLCBrb21tYSB2aWwgYmxpIGxhZ3QgdGlsIGYmb3NsYXNoO3Igb2cgZXR0ZXIgZGV0dGUgaW5uaG9sZGV0LiBTamVrayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWtzam9uZXIuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ1RpbHBhc3NldCBuZWR0cmVrayc7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdTZXR0ZXIgaW5uIHNtJmFyaW5nOyBzbnV0dGVyIHNvbSBhdiBrb2RlL3Rla3N0IHNvbSBrYW4gdGlscGFzc2VzIHZlZCAmYXJpbmc7IHZlbGdlIGZyYSBlbiBuZWR0cmVra3NtZW55LiANCk11bGlnIGJydWsgZXIgbGV0dCB0aWxnYW5nIHRpbCB0YWdnZXIgb3N2LiBNZW55ZW4gc2V0dGVzIGlubiBpIHZlcmt0Jm9zbGFzaDt5bGluamVuIHZlZCAmYXJpbmc7IGJydWtlICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnUCZhcmluZztzbCZhcmluZzt0dCB2ZWQgc3RhcnQnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ1ZlZCAmYXJpbmc7IGZqZXJuZSBhdmtyeXNuaW5nZW4gdmlsIFRpbnktdGVrc3RyZWRpZ2VyZXJlbiBzdGFydGUgb3BwIGkgYXZzbCZhcmluZzt0dCBtb2R1cy4gQmVueXR0ZXMgc2FtbWVuIG1lZCB2ZWtzbGUta25hcHBlbi4nOwokbGFuZ1snbG9hZGNtc2xpbmtlcnRleHQnXSA9ICdMYXN0IENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdEZXR0ZSBnZW5lcmVyZXIgamF2YXNjcmlwdCBrb2RlbiBzb20gdHJlbmdzIGZvciAmYXJpbmc7IHRpbGxhdGUgY21zbGlua2VyICZhcmluZzsgYmxpIGxhZ3QgdGlsIHZlcmt0Jm9zbGFzaDt5bGluamVuLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxlbmtlc3RpbCc7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30tc3RpbCAoc3Qmb3NsYXNoO3R0ZXIgdmFrcmUgdXJsJiMwMzk7ZXIpJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICdhIGhyZWYtc3RpbCAoc3Qmb3NsYXNoO3R0ZXIgaWtrZSB2YWtyZSB1cmwmIzAzOTtlciknOwokbGFuZ1snY21zbGlua2VyYWRkc3RleHQnXSA9ICdDTVMtbGVua2VyIHRpbGxlZ2cnOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdEZXR0ZSB0aWxsYXRlciBkZWcgJmFyaW5nOyBsZWdnZSB0aWwgc3RvZmYgdGlsIGVudGVuICZhbXA7bHQ7YSBocmVmJmFtcDtndDstdGFnZ2VuIGVsbGVyIHRpbCB7Y21zX3NlbGZsaW5rfSwgbiZhcmluZztyIGRlIGdlbmVyZXJlcyBhdiBDTVMtbGVua2VyLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ1VubmcmYXJpbmc7IGxlbmtlLWtvbnZlcnRlcmluZyc7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9uaGVscCddID0gJ1NsJmFyaW5nO3IgZGVuIGlubmVieWdkZSBUaW55TUNFIGxlbmtla29udmVydGVyZXIgbG9naWtrZW4gYXYuIERldHRlIGdqJm9zbGFzaDtyIGF0IHtzbWFydHl9LWJydWsgaSBsZW5rZXIgYmxpciBtdWxpZy4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyZXIgcmVsYXRpdmUgdXJsJiMwMzk7ZXInOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1R2aW5nIHJlbiBpbm5saW1pbmcnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ0RldHRlIGImb3NsYXNoO3IgdiZhZWxpZztyZSBzbCZhcmluZzt0dCBwJmFyaW5nOyBmb3IgJmFyaW5nOyBmamVybmUgcmFyZSBmb3JtYXRlcmluZ3Nrb2RlciBuJmFyaW5nO3IgbWFuIGxpbWVyIGlubiBmcmEgZi5la3MuIFdvcmQuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHkgdGFnZyBzdGlsc2V0dC9DU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnVmlsIGJsaSBsYWd0IHRpbCBjc3MgYm9keSBkZWZpbmlzam9uZW4uIEhpbnQ6IEJhY2tncm91bmQtY29sb3Iga2FuIHNldHRlcyB0aWwgaHZpdCB2ZWQgJmFyaW5nOyBiZW55dHRlICZxdW90O2JhY2tncm91bmQtY29sb3I6IHdoaXRlJnF1b3Q7JzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICdJbmtsdWRlciBrdW4gc2NyZWVuKHNramVybSkgQ1NTJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdWZWQgJmFyaW5nOyB2ZWxnZSBkZXR0ZSB0aWxsYXRlciBkdSBhdCBrdW4gZGUgdGlsa255dHRlZGUgc3RpbGFyayBzb20gaGFyIGF2a3J5c3NldCBzY3JlZW4tbWVkaWF0eXBlICZhcmluZzsgYmxpIGlua2x1ZGVydCBpIGRlIHN0aWxlbmUgVGlueU1DRSBoJmFyaW5nO25kdGVyZXIuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdCZW55dHQgc3RhdGlzayBjb25maWcgZmlsJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdEZXR0ZSBrYW4gaGplbHBlIG1lZCAmYXJpbmc7IGYmYXJpbmc7IGRpbiBUaW55IHRpbCAmYXJpbmc7IGZ1bmdlcmUgcCZhcmluZzsgc3lzdGVtZXIgaHZvciB2ZXJ0c3lzdGVtZXQgbGVnZ2VyIHRpbCBzdG9mZiBzb20gZi5la3MuIHN0YXRpc3Rpa2sgdGlsIGFsbGUgdmlzdGUgc2lkZXIsIHNvbSAmb3NsYXNoO2RlbGVnZ2VyIGRlbiBkeW5hbWlzayBvcHByZXR0ZWRlIGphdmFzY3JpcHQgY29uZmlnIGZpbGVuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3dhcm5pbmcnXSA9ICdBZHZhcnNlbCEgRHUgaGFyIHNsJmFyaW5nO3R0IHAmYXJpbmc7IGlubnN0aWxsaW5nZW4gZm9yIHN0YXRpc2sgY29uZmlnLWZpbCBtZW4gZGluIC90bXAvIGthdGFsb2cgZXIgaWtrZSBza3JpdmJhci4gRGV0dGUgdmlsIGZvcmhpbmRyZSBtb2R1bGVuIGkgJmFyaW5nOyBsYWdyZSBkZW4gc3RhdGlza2UgY29uZmlnLWZpbGVuIG9nIHZpbCBtZXN0IHNhbm5zeW5saWcgcmVuZGVyZSBUaW55TUNFIHRpbCBpa2tlICZhcmluZzsgZnVuZ2VyZS4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlciAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgdGlsbGF0ZWxzZW4gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnQWR2YXJzZWwhIERldHRlIHRpbGxhdGVyIG5vZW4gZmlsYmVoYW5kbGluZ3NvcGVyYXNqb25lciBzZWx2IG9tDQomIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgdGlsbGF0ZWxzZW4gaWtrZSBlciBzYXR0IGZvciBkZW4gYWt0dWVsbGUgYnJ1a2VyZ3J1cHBlbi4gRGV0dGUga2FuIHYmYWVsaWc7cmUga2pla3QgJmFyaW5nOyBiZW55dHRlIHNhbW1lbiBtZWQgbXVsaWdoZXRlbiB0aWwgJmFyaW5nOyBiZWdyZW5zZSBicnVrZXJlbnMga2F0YWxvZ3RpbGdhbmcuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1ZpcyBhdmtyeXNzbmluZ3Nib2tzIGZvciAmYXJpbmc7IHNsJmFyaW5nOyB3eXNpd3lnIHAmYXJpbmc7L2F2JzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdTbCZhcmluZzsgV1lTSVdZRyBwJmFyaW5nOy9hdic7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTIHN0aWxlcic7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJyAgSHZpcyBkdSBsYXIgZGV0dGUgZmVsdGV0IHRvbXQsIHZpbCBUaW55TUNFIHRvbGtlIGRpbmUgQ1NTIGZpbGVyIG9nIHZpc2Ugc3RpbGVuZSBpIGRpc3NlIHRpbCBicnVrZXJlbi4gDQogIEh2aXMgZHUgYmFyZSAmb3NsYXNoO25za2VyICZhcmluZzsgcHJlc2VudGVyZSBub2VuIHN0aWxlciB0aWwgYnJ1a2VybmUsIGthbiBkdSBzcGVzaWZpc2VyZSBkZW0gcCZhcmluZzsgZm9ybWVuDQomcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywNCiAgJnF1b3Q7c3R5bGUxJnF1b3Q7IGVyIGV0IGtsYXNzZSBrYWxsIGkgZGl0dCBzdGlsYXJrIG9nIGR1IGhvcHBlciBvdmVyICAgIC4gICANCiAgbm9ybWFsdCBiZW55dHRlcyBkZXR0ZSBmb3Iga2xhc3NlIGthbGwoY2xhc3MgY2FsbHMpIGRhIGRldHRlIGFsbGVyZWRlIGVyIGkgZGluIENTUywgZGV0IHZpbCBzZSBzbGlrIHV0IDwgc3BhbiBjbGFzcz0mcXVvdDtzdHlsZTEmcXVvdDs+dGVrc3Q8IC9zcGFuPiwgDQogaSBkZXQgZiZvc2xhc2g7cnN0ZSBmZWx0ZXQgbmVkZW5mb3IuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ1N0aWxlcic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdJa2tlIHRpbGdhbmcuIFNqZWtrIG9tIGR1IGhhciByZXR0aWdoZXRlciB0aWwgZGV0dGUuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVpbCEnOwokbGFuZ1snc3VibWl0J10gPSAnVXRmJm9zbGFzaDtyJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ09wcGRhdGVyJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ0xhZ3JlIGlubnN0aWxsaW5nZXInOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdJbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdJbm5zdGlsbGluZ2VyIGxhZ3JldCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdMYWdyZSBhdmFuc2VydGUgaW5uc3RpbGxpbmdlcic7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnQXZhbnNlcnRlIGlubnN0aWxsaW5nZXIgbGFncmV0JzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ1Zlcmt0Jm9zbGFzaDt5bGluamVuIGJsZSBsYWdyZXQnOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdTdGlsZXIgYmxlIGxhZ3JldCc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5UZXN0b21yJmFyaW5nO2RlLCBuZXR0c3RlZGV0cyBpbm5ob2xkIHZpbCBpa2tlIGJsaSBiZXImb3NsYXNoO3J0IG4mYXJpbmc7ciBkdSByb3RlciBoZXIuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnVGlsYmFrZXN0aWxsIHRpbCBzdGFuZGFyZCc7CiRsYW5nWydyZXNldGFsbCddID0gJ1RpbGJha2VzdGlsbCBhbGxlIGlubnN0aWxsaW5nZXIgdGlsIHN0YW5kYXJkJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0VyIGR1IHZpcmtlbGlnIHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgdGlsYmFrZXN0aWxsZSBkaXNzZSBmdW5rc2pvbmVuZSB0aWwgZGVyZXMgc3RhbmRhcmQ/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgdGlsYmFrZXN0aWxsZSBBTExFIGlubnN0aWxsaW5nZXIgdGlsIGRlcmVzIHN0YW5kYXJkPyc7CiRsYW5nWydzZXR0aW5nc3Jlc2V0J10gPSAnRGlzc2UgaW5uc3RpbGxpbmdlbmUgYmxlIHRpbGJha2VzdGlsdCB0aWwgc3RhbmRhcmQnOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ0FsbGUgaW5uc3RpbGxpbmdlciBibGUgdGlsYmFrZXN0aWx0IHRpbCBzdGFuZGFyZCc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2hhciBibGl0dCBvcHBncmFkZXJ0IHRpbCB2ZXJzam9uICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnVGlscGFzc2V0IG5lZHRyZWtrc21lbnknOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdTZXR0IGlubiBsZW5rZSB0aWwgY21zbXMgc2lkZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCB2ZXJrdCZvc2xhc2g7eWxpbmplIGlubnN0aWxsaW5nZXInOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdGcm9udGVuZCB2ZXJrdCZvc2xhc2g7eWxpbmplIGlubnN0aWxsaW5nZXInOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW5zICc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdWZWxnIGRlIHBsdWdpbnMgZHUgdmlsIGFrdGl2ZXJlLiBEb2t1bWVudGFzam9uIGthbiBkdSBmaW5uZSA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcjwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnUGx1Z2lucyAnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdMYWdyZSBwbHVnaW5zJzsKJGxhbmdbJ3BsdWdpbnNzYXZlZCddID0gJ1BsdWdpbnMgbGFncmV0JzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWwgUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1ZhbmxpZ2UgUGx1Z2lucyc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZlbHNlJzsKJGxhbmdbJ3BsdWdpbiddID0gJ1BsdWdpbiAnOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnRHUgZXIgaSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdMYXN0IHN0aWxhcmsgZm9yIGlubmhvbGQgKGFuYmVmYWx0KSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdUaWxsZWdnIHRpbCBzdGlsYXJrJzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBkdSBzZXR0ZXIgaW5uIGhlciB2aWwgYmxpIGxhZ3QgdGlsIHN0aWxhcmtldCBzb20gbGVzZXMgYXYgVGlueU1DRSAtIGV0dGVyIFRpbnlNQ0UgbW90dGFyIENNU01TLXN0aWxhcmtlbmUnOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ055IGZpbCc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnTGFzdCBvcHAnOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnTnkga2F0YWxvZyc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdPcHByZXR0JzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ0luZ2VuIGthdGFsb2duYXZuIG9wcGdpdHQnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnS2F0YWxvZ25hdm4gZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTnkga2F0YWxvZyBvcHByZXR0ZXQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnRmVpbCBvcHBzdG9kIHZlZCBmb3JzJm9zbGFzaDtrIHAmYXJpbmc7ICZhcmluZzsgb3BwcmV0dGUga2F0YWxvZyc7CiRsYW5nWydub2ZpbGUnXSA9ICdJbmdlbiBmaWwgYmxlIGxhc3RldCBvcHAnOwokbGFuZ1snZmlsZXRvb2JpZyddID0gJ09wcGxhc3RldCBmaWwgZXIgZm9yIHN0b3InOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdGaWxuYXZuZXQgaW5uZWhvbGRlciBldCBlbGxlciBmbGVyZSB1Z3lsZGlnZSB0ZWduICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRmVpbCB2ZWQgZmx5dHRpbmcgYXYgb3BwbGFzdGV0IGZpbCB0aWwgc2luIHBsYXNzZXJpbmcnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmlsbCB2ZWxseWtrZXQgbGFzdGV0IG9wcCc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnRGVuIG9wcGxhc3RlZGUgZmlsZW4gZXIgaWtrZSBldCBiaWxkZSc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlIEZpbC12ZWxnZXInOwokbGFuZ1snc3VjY2VzcyddID0gJ1ZlbGx5a2tldCc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbG9wZXJhc2pvbmVyJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnICc7CiRsYW5nWydzaXplJ10gPSAnU3Qmb3NsYXNoO3JyZWxzZSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnQnhIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0F2YW5zZXJ0JzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPg0KCTxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPg0KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4NCiAgPHA+QXMgb2YgdmVyc2lvbiAyLjYuMCwgVGlueU1DRSBpbmNsdWRlcyBhbiBvbmxpbmUgc3BlbGxjaGVja2VyLiBQbGVhc2Ugbm90aWNlIHRoYXQgU1NMIG11c3QgYmUgdHVybmVkIG9uIGluIHlvdXIgc2VydmVyLWNvbmZpZ3VyYXRpb24gaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yay4gT24gc29tZSBzZXR1cHMgdGhpcyBvcHRpb24gaXMgY2FsbGVkIHBocF9vcGVuc3NsIGJ1dCB0aGF0IG1heSB2YXJ5PC9wPg0KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPg0KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIA0KCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0Lg0KCTxici8+DQoJPHVsPg0KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQ0KCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyDQoJPC91bD4NCgk8YnIvPg0KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4NCiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydA0KICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0DQogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4nOwokbGFuZ1sncWNhJ10gPSAnUDAtNTM2ODQ5MTE1LTEzMDc5ODM0OTUyMTAnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41Nzg0NTc4NzcuMTM0NTg0NjQ3NS4xMzQ2MDkxMzQ3LjEzNDYwOTczMTUuMTQnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzQ1ODQ2NDc1LjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdNZXQgZGV6ZSBtb2R1bGUga3VudCB1IGRvb3IgbWlkZGVsIHZhbiBlZW4gV1lTSVdZRyBlZGl0b3IgcGFnaW5hIGluaG91ZCwgbWFhciBtb2dlbGlqayBvb2sgYW5kZXJlIHZvcm1lbiB2YW4gZGF0YSB2ZXJ3ZXJrZW4uIE1ldCBkYW5rIGFhbiBoZXQgVGlueU1DRSBwcm9qZWN0Lic7CiRsYW5nWydhZHZhbmNlZF9tZW51J10gPSAnR2VhdmFuY2VlcmQgTWVudSc7CiRsYW5nWydhcHBseSddID0gJ1RvZXBhc3Nlbic7CiRsYW5nWydhdXRvcmVzaXplJ10gPSAnQXV0b21hdGlzY2ggdmVyc2NoYWxlbic7CiRsYW5nWydibG9ja19mb3JtYXRzJ10gPSAnQmVzY2hpa2JhcmUgZm9ybWF0ZW4nOwokbGFuZ1snYnV0dG9uX25hbWUnXSA9ICdUb2V0cyBOYWFtJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZWVyJzsKJGxhbmdbJ2Ntc21zX2xpbmtlciddID0gJ1ZlcndpanppbmcgbmFhciBwYWdpbmEnOwokbGFuZ1snY29weSddID0gJ2tvcGllZXInOwokbGFuZ1snY29weV9wcm9maWxlJ10gPSAnS29waWVlciBQcm9maWVsJzsKJGxhbmdbJ2Nzc19jbGFzc2VzJ10gPSAnQ1NTIENsYXNzZXMnOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYWFyZCc7CiRsYW5nWydkZWxldGVfcHJvZmlsZSddID0gJ1Byb2ZpZWwgVmVyd2lqZGVyZW4nOwokbGFuZ1snZG9jdW1lbnRhdGlvbiddID0gJ0RvY3VtZW50YXRpZSc7CiRsYW5nWydlZGl0X3Byb2ZpbGUnXSA9ICdQcm9maWVsIEFhbnBhc3Nlbic7CiRsYW5nWydleHRlcm5hbF9tb2R1bGVzJ10gPSAnRXh0ZXJuZSBNb2R1bGVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyJ10gPSAnQmVzdGFuZHNiZWhlZXInOwokbGFuZ1snZmlsZW1hbmFnZXJfYXZpYXJ5X2FjdGl2ZSddID0gJ0F2aWFyeSBmb3RvIGVkaXRvciBpbnNjaGFrZWxlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9hdmlhcnlfYXBpS2V5J10gPSAnQXZpYXJ5IEFQSSBzbGV1dGVsJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NobW9kX2RpcnMnXSA9ICdDSE1PRCBtYXBwZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMnXSA9ICdDSE1PRCBiZXN0YW5kZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZGlycyddID0gJ0tvcGllZXIgZW4ga25pcCBtYXBwZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfY29weV9jdXRfZmlsZXMnXSA9ICdLb3BpZWVyIGVuIGtuaXAgYmVzdGFuZGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2NyZWF0ZV9mb2xkZXJzJ10gPSAnRm9sZGVycyBhYW5tYWtlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9jcmVhdGVfdGV4dF9maWxlcyddID0gJ1Rla3N0YmVzdGFuZGVuIGFhbm1ha2VuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9maWxlcyddID0gJ1ZlcndpamRlciBiZXN0YW5kZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfZGVsZXRlX2ZvbGRlcnMnXSA9ICdWZXJ3aWpkZXIgbWFwcGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2R1cGxpY2F0ZV9maWxlcyddID0gJ0R1cGxpY2VlciBiZXN0YW5kZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfZWRpdF90ZXh0X2ZpbGVzJ10gPSAnV2lqemlnIHRla3N0YmVzdGFuZGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nJ10gPSAnQXV0b21hdGlzY2ggdmVyc2NoYWxlbiB2YW4gYWZiZWVsZGluZ2VuIG5hIGhldCB1cGxvYWRlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ190aXRsZSddID0gJ0F1dG9tYXRpc2NoZSBhZmJlZWxkaW5nIHZlcnNjaGFsaW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCddID0gJ01heGltYWxlIGFmYmVlbGRpbmcgaG9vZ3RlIG5hIHZlcnNjaGFsaW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoJ10gPSAnTWF4aW1hbGUgYWZiZWVsZGluZyBicmVlZHRlIG5hIHZlcnNjaGFsaW5nJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3Bob3RvX2VkaXRvciddID0gJ0F2aWFyeSBmb3RvIGVkaXRvcic7CiRsYW5nWydmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMnXSA9ICdQcmV2aWV3IHRla3N0YmVzdGFuZGVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9maWxlcyddID0gJ0Jlc3RhbmRlbiBlZW4gYW5kZXJlIG5hYW0gZ2V2ZW4nOwokbGFuZ1snZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMnXSA9ICdNYXBwZW4gZWVuIGFuZGVyZSBuYWFtIGdldmVuJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcyddID0gJ0Jlc3RhbmRlbiB1cGxvYWRlbic7CiRsYW5nWydmaWxlbWFuYWdlcl9vcHRpb25zJ10gPSAnQmVzdGFuZHNiZWhlZXIgb3B0aWVzJzsKJGxhbmdbJ2ZpbGVtYW5hZ2VyX3VzZSddID0gJ0Jlc3RhbmRzYmVoZWVyIGluc2NoYWtlbGVuJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBFZGl0b3InOwokbGFuZ1snZm9yY2VkX3Jvb3RfYmxvY2snXSA9ICdGb3JjZWVyIFBhcmFncmFhZiBiaWogZWVuIHJlZ2VsZWluZGUnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsZ2VtZWVuJzsKJGxhbmdbJ2dsb2JhbF9zZXR0aW5ncyddID0gJ0FsZ2VtZW5lIGluc3RlbGxpbmdlbic7CiRsYW5nWydncm91cF9mcm9udGVuZCddID0gJ0Zyb250ZW5kIGdlYnJ1aWtlcnMnOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWydpbWFnZV9jbGFzc2VzJ10gPSAnQ1NTIGNsYXNzZW4gZGllIGdlYnJ1aWt0IGt1bm5lbiB3b3JkZW4gdm9vciBhZmJlZWxkaW5nZW4nOwokbGFuZ1snaW1hZ2VfY2xhc3Nlc19pbmZvJ10gPSAnRWVuIGNsYXNzIHBlciByZWdlbCwgYmlqdm9vcmJlZWxkOiA8Y29kZT48ZW0+T21saWpuZGUgYWZiZWVsZGluZz1ib3JkZXJlZCBib3JkZXItcm91bmQ8L2VtPjwvY29kZT4nOwokbGFuZ1snaW5zdGFsbF9wcm9maWxlX2FkbWluJ10gPSAnQmVoZWVyZGVycyc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfYWR2YW5jZWQnXSA9ICdHZWF2YW5jZWVyZCc7CiRsYW5nWydpbnN0YWxsX3Byb2ZpbGVfbWluaW1hbCddID0gJ01pbmltYWFsJzsKJGxhbmdbJ2luc3RhbGxfcHJvZmlsZV9zdGFuZGFyZCddID0gJ1N0YW5kYWFyZCc7CiRsYW5nWydqc190ZW1wbGF0ZSddID0gJ0phdmFTY3JpcHQgU2phYmxvb24nOwokbGFuZ1snbGlua19jbGFzc2VzJ10gPSAnQ1NTIGNsYXNzZW4gZGllIGdlYnJ1aWt0IGt1bm5lbiB3b3JkZW4gdm9vciBsaW5rcyc7CiRsYW5nWydsaW5rX2NsYXNzZXNfaW5mbyddID0gJ0VlbiBjbGFzcyBwZXIgcmVnZWwsIGJpanZvb3JiZWVsZDogPGNvZGU+PGVtPkJsYXV3ZSBrbm9wPWJ0biBidG4tYmx1ZTwvZW0+PC9jb2RlPic7CiRsYW5nWydsb2FkaW5nX2luZm8nXSA9ICdMYWRlbi4uLic7CiRsYW5nWydtZW51YmFyJ10gPSAnTWVudWJhbGsnOwokbGFuZ1snbmFtZSddID0gJ05hYW0nOwokbGFuZ1snbmV3X3Byb2ZpbGUnXSA9ICdFZW4gbmlldXcgcHJvZmllbCBhYW5tYWtlbic7CiRsYW5nWyduZXd3aW5kb3cnXSA9ICdOaWV1dyBzY2hlcm0nOwokbGFuZ1snbm9fZGVzaWduX2xpbmtlZCddID0gJ0dlZW4gZGVzaWduJzsKJGxhbmdbJ25vbmUnXSA9ICdHZWVuJzsKJGxhbmdbJ29yaWdfanNfdGVtcGxhdGVfZmlsZSddID0gJ09yaWdpbmVsZSBzamFibG9vbiB2YW4gZGV6ZSBtb2R1bGUnOwokbGFuZ1sncGx1Z2lucyddID0gJ1BsdWctaW5zJzsKJGxhbmdbJ3ByaW9yaXR5J10gPSAnUHJpb3JpdGVpdCc7CiRsYW5nWydwcm9maWxlX2NvcGllZCddID0gJ0hldCBwcm9maWVsIGlzIGdla29waWVlcmQnOwokbGFuZ1sncHJvZmlsZV9kZWxldGVkJ10gPSAnSGV0IHByb2ZpZWwgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWydwcm9maWxlX25hbWUnXSA9ICdQcm9maWVsbmFhbSc7CiRsYW5nWydwcm9maWxlX3NhdmVkJ10gPSAnUHJvZmllbCBvcGdlc2xhZ2VuJzsKJGxhbmdbJ3Byb2ZpbGVzJ10gPSAnUHJvZmllbGVuJzsKJGxhbmdbJ3Byb21wdF9saW5rZXInXSA9ICdWb29yIGVlbiBwYWdpbmF0aXRlbCBpbic7CiRsYW5nWydwcm9tcHRfcHJvZmlsZXMnXSA9ICdQcm9maWVsZW4nOwokbGFuZ1sncHJvbXB0X3NlbGVjdGVkYWxpYXMnXSA9ICdTZWxlY3RlZXIgZWVuIHBhZ2luYSBhbGlhcyc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hYW0nOwokbGFuZ1sncHJvbXB0X3RhcmdldCddID0gJ0RvZWwnOwokbGFuZ1sncHJvbXB0X2NsYXNzJ10gPSAnQ2xhc3MgYXR0cmlidXV0JzsKJGxhbmdbJ3Byb21wdF9yZWwnXSA9ICdSZWwgYXR0cmlidXV0JzsKJGxhbmdbJ3Byb21wdF90ZXh0dG9kaXNwbGF5J10gPSAnVGUgdG9uZW4gdGVrc3QnOwokbGFuZ1sncmVzaXplJ10gPSAnVmVyc2NoYWxlbic7CiRsYW5nWydyZXNpemVfbm8nXSA9ICdWZXJzY2hhbGVuIG5pZXQgdG9lc3RhYW4nOwokbGFuZ1sncmVzaXplX3ZlcnRpY2FsJ10gPSAnVmVydGljYWxlIHZlcnNjaGFsaW5nIHRvZXN0YWFuJzsKJGxhbmdbJ3Jlc2l6ZV9ib3RoJ10gPSAnSG9yaXpvbnRhbGUgZW4gdmVydGljYWxlIHZlcnNjaGFsaW5nIHRvZXN0YWFuJzsKJGxhbmdbJ3Nob3dfbWVudWJhciddID0gJ1Rvb24gbWVudWJhbGsnOwokbGFuZ1snc2hvd19zdGF0dXNiYXInXSA9ICdUb29uIHN0YXR1c2JhbGsnOwokbGFuZ1snc2hvd190b29sYmFyJ10gPSAnVG9vbiBnZXJlZWRzY2hhcHBlbmJhbGsnOwokbGFuZ1snc3R5bGVfZm9ybWF0cyddID0gJ1N0aWpsIGZvcm1hdGVuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZlcnN0dXJlbic7CiRsYW5nWyd0YWJfZ2VuZXJhbF90aXRsZSddID0gJ0FsZ2VtZWVuJzsKJGxhbmdbJ3RhYl9hZHZhbmNlZF90aXRsZSddID0gJ0dlYXZhbmNlZXJkJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1sndGVtcGxhdGVzJ10gPSAnU2phYmxvbmVuJzsKJGxhbmdbJ3RpdGxlX2Ntc21zX2xpbmtlciddID0gJ01hYWsgZWVuIHZlcndpanppbmcgbmFhciBlZW4gcGFnaW5hJzsKJGxhbmdbJ3Rvb2xiYXInXSA9ICdHZXJlZWRzY2hhcHBlbmJhbGsnOwokbGFuZ1sndG9vbGJhcjEnXSA9ICcxZSByZWdlbCc7CiRsYW5nWyd0b29sYmFyMiddID0gJzJlIHJlZ2VsJzsKJGxhbmdbJ3Rvb2x0aXBfc2VsZWN0ZWRhbGlhcyddID0gJ0RpdCB2ZWxkIGthbiBuaWV0IGdld2lqemlnZCB3b3JkZW4nOwokbGFuZ1sndHlwZV91c2VydGVtcGxhdGUnXSA9ICdUaW55TUNFIGdlYnJ1aWtlciBzamFibG9uZW4nOwokbGFuZ1sndXNlX2FkdmFuY2VkX21lbnUnXSA9ICdHZWJydWlrIGVlbiBnZWF2YW5jZWVyZCBtZW51JzsKJGxhbmdbJ3VzZXJncm91cHMnXSA9ICdHZWJydWlrZXJzZ3JvZXBlbic7CiRsYW5nWydnYSddID0gJ0dBMS4yLjIyOTMyNzgzNi4xNDM1Mzk5MzMzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBQb2RzdGF3b3d5IChCYXNpYyknOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1RlbiBtb2R1xYIgcG96d2FsYSwgxbxlYnkgZ8WCJm9hY3V0ZTt3bmllIHRyZcWbY2ksIGFsZSByJm9hY3V0ZTt3bmllxbwgaW5uZSByb2R6YWplIGRhbnljaCAoYmxvayZvYWN1dGU7dyBkYW55Y2gpIC0gYnnFgnkgZWR5dG93YWxuZSBwcnpleiBhcGxpa2FjasSZIFdZU0lXWUcsIGVkeXRvciBkbyDFgmF0d2VnbyB3cGlzeXdhbmlhIC0gcHJvamVrdHUgVGlueU1DRS4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1xYIgb2RpbnN0YWxvd2FueSc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdXZXJzamEgJXMgbW9kdcWCdSB6YWluc3RhbG93YW5hLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnT2N6ecWbxIcgQ1NTIHplIHpuYWN6bmlrJm9hY3V0ZTt3IHTFgmEuJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdUYSBvcGNqYSBwciZvYWN1dGU7YnVqZSB1c3VuxIXEhyB1c3Rhd2llbmlhIHTFgmEgKGJhY2tncm91bmQpIHogYXJrdXN6YSBzdHlsdSc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnWmFzdG9zdWogZm9ybWF0b3dhbmllIGtvZHUgxbpyJm9hY3V0ZTtkxYJvd2VnbyBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdGb3JtYXR5IGJsb2tvd2UgdyByb3p3aWphbnltIG1lbnUnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIG9wZXJhY2plIG5hIHRhYmVsa2FjaCc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ1N0eWwgbm93ZWotbGluaWknOwokbGFuZ1sncHN0eWxlJ10gPSAnU3R5bCBha2FwaXR1IChwKSc7CiRsYW5nWydicnN0eWxlJ10gPSAnU3R5bCBsaW5paSAoYnIpJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9udGV4dCddID0gJ1XFvHl3YWoga29tcHJlc2ppIGd6JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ1RvIG1vxbxlIHByenlzcGllc3p5xIcgxYJhZG93YW5pZSBzacSZIFRpbnlNQ0UsIGFsZSByJm9hY3V0ZTt3bmllxbwgbW/FvGUgc3Bvd29kb3dhxIcsIMW8ZSBuYSBuaWVrdCZvYWN1dGU7cnljaCBzeXN0ZW1hY2ggVGlueU1DRSBuaWUgYsSZZHppZSBzacSZIMWCYWRvd2HFgiB3IG9nJm9hY3V0ZTtsZS4gVcW8eXdhaiB6IHV3YWfEhSBpIHVwZXduaWogc2nEmSwgxbzEmSBrb21wcmVzamEgZ3ogamVzdCB3xYLEhWN6b25hLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnV3ltdcWbIGJsb2tpIHR5cHUgLXAtICh6bmFjem5payBwYXJhZ3JhZnUpJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdXeW11c3phIHdwcm93YWR6b27EhSB0cmXFm8SHLCDFvGVieSBiecWCYSB6YW1rbmnEmXRhIGNvIG5ham1uaWVqIHcgem5hY3puaWt1IGFrYXBpdHUgLXAtJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1N0eWwgb2tuYSB6IHd5Ym9yZW0gcGxpayZvYWN1dGU7dyc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ1Jvem1pYXIgb2tuYSB6IHd5Ym9yZW0gcGxpayZvYWN1dGU7dyc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIHdncnl3YW5pZSBwbGlrJm9hY3V0ZTt3IGkgdHdvcnplbmllIGthdGFsb2cmb2FjdXRlO3cgdyBGaWxlUGlja2VyIChva2llbmt1IHd5Ym9ydSBwbGlrJm9hY3V0ZTt3KSc7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnUG96dyZvYWN1dGU7bCBuYSB6bWlhbsSZIHcgbG9jaWUgcm96bWlhciZvYWN1dGU7dyB3Y3p5dHl3YW55Y2ggb2JyYXomb2FjdXRlO3cnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnRG9tecWbbG5lIHd5bWlhcnknOwokbGFuZ1sncmVzaXpldG8nXSA9ICdQcnplc2thbHVqIGRvOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnVHcmb2FjdXRlO3J6IG1pbmlhdHVyxJkgdyBjemFzaWUgd2N6eXR5d2FuaWEgb2JyYXprYSc7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdVxbx5aiB6YWF3YW5zb3dhbmVnbyBwcm9maWx1IFRpbnlNQ0UnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdaYXBpc3ogcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbCB6b3N0YcWCIHphcGlzYW55JzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1Byb2ZpbCc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnWmFhd2Fuc293YW5lIHVzdGF3aWVuaWEgcHJvZmlsdSB1xbx5dGtvd25pa2EgJnF1b3Q7YmFja2VuZCZxdW90Oyc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnWmFwaXN6IHN0eWxlJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnUG96dyZvYWN1dGU7bCBuYSB1xbx5d2FuaWUgemFhd2Fuc293YW5lZ28gcHJvZmlsdSB3IFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnUG9rYcW8IG9wY2plIHphcnrEhWR6YW5pYSBwbGlrYW1pJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdQb2thxbwgb3BjamUgemFyesSFZHphbmlhIHBsaWthbWkgdGFraWUgamFrIHdjenl0eXdhbmllLCB0d29yemVuaWUga2F0YWxvZyZvYWN1dGU7dyBpIGthc293YW5pZSBwbGlrJm9hY3V0ZTt3IHcgb2tuaWUgRmlsZVBpY2tlciwgamXFm2xpIHXFvHl0a293bmlrIG1hIHVwcmF3bmllbmlhIGRvIGljaCB3eWtvbnl3YW5pYS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnT2dyYW5pY3ogdcW8eXRrb3duaWtvd2kgZG9zdMSZcCBkbyBrYXRhbG9nJm9hY3V0ZTt3JzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUaGlzIHdpbGwgcmVzdHJpY3QgdGhlIGZpbGVtYW5hZ2VtZW50LWNhcGFiaWxpdGllcyBvZiB0aGUgdXNlciB0byBhIHN1YmRpciB0byAmIzAzOTt1cGxvYWRzJiMwMzk7IHdoaWNoIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgdXNlciYjMDM5O3MgbG9naW4uIElmIHRoZSBzdWJkaXIgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgcG9zc2libHkgYmUgY3JlYXRlZC4gUGxlYXNlIG5vdGUsIHRoaXMgY3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCB0aGUgc3RhbmRhcmQgZGlybmFtZXMsIHVwbG9hZHMvaW1hZ2VzLiBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnSmVzdGXFmyBwZXdpZW4sIMW8ZSBwbGlrIHBvd2luaWVuIGJ5xIcgc2thc293YW55Pyc7CiRsYW5nWydkZWxldGVmaWxlc3VjY2VzcyddID0gJ3pvc3RhxYIgcG9tecWbbG5pZSB1c3VuacSZdHknOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ25pZSBtb8W8ZSBiecSHIHVzdW5pxJl0eSc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduaWUgbW/FvGUgYnnEhyB1c3VuacSZdHknOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3pvc3RhxYIgcG9tecWbbG5pZSB1c3VuacSZdHknOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnQ3p5IG5hIHBld25vIHRlbiBwdXN0eSBwb2RrYXRhbG9nIHBvd2luaWVuIHpvc3RhxIcgc2thc293YW55Pyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdTa2FzdWogcHVzdHkgcG9ka2F0YWxvZyc7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAnU2thc3VqIHBsaWsnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0Nhbm5vdCByZWFkIHRoZSBmaWxlIHRpbnljb25maWcucGhwIGRpcmVjdGx5IHNvIFRpbnlNQ0Ugd2lsbCBwcm9iYWJseSBub3Qgd29yay4gWW91IHNob3VsZCBjaGVjayB0aGUgcGVybWlzc2lvbnMgb2YgdGhlIGZpbGUgYW5kIG9mIHRoZSBwYXJlbnQgZGlycywgd2hpY2ggc2hvdWxkIGJlIHJlYWRhYmxlIGZvciBhbGwgYnV0IG9ubHkgd3JpdGFibGUgZm9yIG93bmVyLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdQb2thxbwgbmF6d3kgcGxpayZvYWN1dGU7dyc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1Bva2HFvCBtaW5pYXR1cmtpJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdQb2thxbwgcGxpa2kgbWluaWF0dXJlayB3IGxpxZtjaWUgcGxpayZvYWN1dGU7dyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdQb2thxbwgemFyJm9hY3V0ZTt3bm8gcGxpa2ksIGphayBpIHBsaWtpIG1pbmlhdHVyZWsnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2smb2FjdXRlO3JrYSc7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1dhcmlhbnQgc2smb2FjdXRlO3JraSc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0tvZG93YW5pZSBlbmNqaSc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ0tvZG93YW5pZSBwb2RzdGF3b3dlIChuYWpzenlic3plIHcgd2nEmWtzem/Fm2NpIHByenlwYWRrJm9hY3V0ZTt3KSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnS29kb3dhbmllIHpuYWsmb2FjdXRlO3cgbmF6d2FtaSAobnAuICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnS29kb3dhbmllIHpuYWsmb2FjdXRlO3cgc3ltYm9sYW1pIG51bWVyeWN6bnltaSAobnAuICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnUG9rYXp1aiDFm2NpZcW8a8SZIGRvIGRhbmVnbyBlbGVtZW50dSBuYSBkb2xlIGVkeXRvcmEuJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnUGFzZWsgbmFyesSZZHppJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RlIHBvbGEgcG93aW5ueSB6YXdpZXJhxIcgbGlzdMSZIG5hencgcHJ6eWNpc2smb2FjdXRlO3cva29udHJvbGVrIG9kZHppZWxvbnljaCBtacSZZHp5IHNvYsSFIHByemVjaW5rYW1pLCBrdCZvYWN1dGU7cmUgbWFqxIUgYnnEhyB3xYLEhWN6b25lIHcgZWR5dG9yemUuJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ1Bhc2VrIG5hcnrEmWR6aSc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdDbGljayBoZXJlIHRvIHZpZXcgdG9vbGJhci1pbnN0cnVjdGlvbnMgaW4gVGlueU1DRS13aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ1N6ZXJva2/Fm8SHIHBvbGEgZWR5Y2ppJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ1d5c29rb8WbxIcgcG9sYSBlZHljamknOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdsdWInOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnxZpyb2Rvd2lza28gdGVzdG93ZSc7CiRsYW5nWydzaG93dGVzdGluZ291dHB1dCddID0gJ1Bva2HFvCBrb2Qgd3lqxZtjaW93eSB0ZXN0b3dlZ28gxZtyb2Rvd2lza2EnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdFZHl0b3IgdyDFm3JvZG93aXNrdSB0ZXN0b3d5bSc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3RpbmcgYXJlYSBvdXRwdXQnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICdUZXN0aW5nIGFyZWEgc291cmNlJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdBbGxvdyBpbnBsYWNlIHJlc2l6aW5nIG9mIGVkaXRvciBmaWVsZCc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnRG8gbm90IGFsbG93IHJlc2l6aW5nJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdBbGxvdyByZXNpemluZyBpbiBib3RoIGRpcmVjdGlvbnMnOwokbGFuZ1sncmVzaXplaGVpZ2h0J10gPSAnQWxsb3cgcmVzaXppbmcgb2YgaGVpZ2h0IG9ubHknOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfdGV4dCddID0gJ0Zvcm1hdCBkYXR5L2N6YXN1JzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnQ3phcyc7CiRsYW5nWydkYXRldGV4dCddID0gJ0RhdGEnOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ0NsaWNrIGhlcmUgZm9yIGhlbHAgb24gaG93IHRvIGZvcm1hdCB0aGUgZGF0ZS90aW1lJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0RvZGF0a293YSBrb25maWd1cmFjamEnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIGNvbW1hcyB3aWxsIGJlIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjb250ZW50LiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQ3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ1phxYJhZHVqIENNUy1MaW5rZXJhJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnVG8gd3lnZW5lcnVqZSBrb2QgamF2YXNjcmlwdCwgcG90cnplYm55IGRvIHVha3R5d25pZW5pYSB3dHljemtpICYjMDM5O2Ntc2xpbmtlciYjMDM5OyB3IHBhc2t1IG5hcnrEmWR6aSc7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdTdHlsIGxpbmsmb2FjdXRlO3cgYSYjMDM5O2xhIENNUy1saW5rZXInOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ1N0eWwgbGluayZvYWN1dGU7dyB7Y21zX3NlbGZsaW5rfSc7CiRsYW5nWydhaHJlZnN0eWxlJ10gPSAnU3R5bCAmIzAzOTthIGhyZWYmIzAzOTsnOwokbGFuZ1snY21zbGlua2VyYWRkc3RleHQnXSA9ICdEb2RhdGtpIENNUy1saW5rZXInOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdUbyBwb3p3YWxhIGRvZGF3YcSHIHJ6ZWN6eSBkbyB6bmFjem5pa2EgLWEgaHJlZi0gbHViIHtjbXNfc2VsZmxpbmt9LCBraWVkeSBnZW5lcnVqZSBzacSZIGtvZCB6IENNUy1saW5rZXJhLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ0F2b2lkIGxpbmsgY29udmVyc2lvbic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9uaGVscCddID0gJ1R1cm5zIFRpbnlNQ0UmIzAzOTtzIGJ1aWx0aW4gbGluayBjb252ZXJzaW9uIGxvZ2ljIG9mZi4gTWFrZXMge3NtYXJ0eX0tdXNhZ2UgaW4gdXJscyBwb3NzaWJsZS4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyYXRlIHJlbGF0aXZlIHVybHMnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1d5bXVzemFqIGN6eXN6Y3plbmllIHByenkgd2tsZWphbml1IChwYXN0ZSknOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RhIG9wY2phIHBvd2lubmEgYnnEhyB6YXpuYWN6b25hLCBieSB1c3VuxIXEhyBkeml3bmUgZm9ybWF0b3dhbmllIGkga29keSwgbnAuIHBvZGN6YXMgd2tsZWphbmlhIHogV29yZC1hIGl0cC4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQ1NTIHpuYWN6bmlrYSBib2R5JzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ3Bvem9zdGF3IHRvIHBvbGUgcHVzdGUgbHViIHdwaXN6IERFRkFVTFQgYWJ5IHXFvHnEhyBhcmt1c3phIHN0eWxpIGJpZcW8xIVjZWogc3Ryb255JzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICdEb8WCxIVjeiBqZWR5bmllIGVrcmFub3dlIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnWmF6bmFjemFqxIVjIHRvLCB0eWxrbyBkb8WCxIVjem9uZSBzdHlsZSB6IHphem5hY3pveW0gdHlwZW0gbWVkaWE6IHNjcmVlbiBixJlkxIUgZG/FgsSFY3phbmUgZG8gc3R5bGksIGt0Jm9hY3V0ZTtyeW1pIHJvenBvcnrEhWR6YSBUaW55TUNFLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVcW8eWogc3RhdHljem5lZ28gcGxpa3Uga29uZmlndXJhY3lqbmVnbyAoc3RhdGljIGNvbmZpZyknOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1RhIG9wY2phIG1vxbxlIHBvbSZvYWN1dGU7YyB3IHVydWNob21pZW5pdSBUaW55TUNFIG5hIHN5c3RlbWFjaCwgZ2R6aWUgb3Byb2dyYW1vd2FuaWUgaG9zdGluZ3UgZG9kYWplIHJ6ZWN6eSB0YWtpZSBqYWsgc3RhdHlzdHlraSBkbyB3c3p5c3RpY2ggc3Ryb24sIHptaWVuaWFqxIVjIGkgcHN1asSFYyBkeW5hbWljem5pZSB0d29yem9uZSBqYXZhc2NyaXB0b3dlIHBsaWtpIGtvbmZpZ3VyYWN5am5lLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnV2FybmluZyEgWW91IGhhdmUgdGhlIHN0YXRpYyBjb25maWctZmlsZSBvcHRpb24gZW5hYmxlZCBidXQgeW91ciAvdG1wLyBkaXIgaXMgbm90IHdyaXRhYmxlLiBUaGlzIHdpbGwgcHJldmVudCB0aGUgbW9kdWxlIGZyb20gc2F2aW5nIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgYW5kIHdpbGwgbW9zdCBwcm9iYWJseSByZW5kZXIgVGlueU1DRSBpbm9wZXJhdGlvbmFsLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICdaaWdub3J1aiB1cHJhd25pZW5pZSAmIzAzOTtNb2R5Zmlrb3dhbmllIFBsaWsmb2FjdXRlO3cmIzAzOTsgKCYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OykgIGRsYSBkb2RhdGt1IEZpbGVQaWNrZXIgKHd5YmllcmFuaWEgcGxpayZvYWN1dGU7dykuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzaGVscCddID0gJ1dhcm5pbmchIFRoaXMgYWxsb3dzIHNvbWUgZmlsZS1hbHRlcmluZyBvcGVyYXRpb25zIGV2ZW4gaWYgdGhlICYjMDM5O01vZGlmeSBGaWxlcyYjMDM5OyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBjdXJyZW50IHVzZXJncm91cC4gVGhpcyBjYW4gZWZmZWN0aXZlbHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSBvcHRpb24gdG8gcmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyZWN0b3J5IGFjY2Vzcy4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnUG9rYcW8IGNoZWNrYm94IHByemXFgsSFY3phasSFY3kgdHJ5YiBXWVNJV0lHJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdQcnplxYLEhWN6IHRyeWIgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnU3R5bGUgQ1NTJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnSWYgeW91IGxlYXZlIHRoZSBmaWVsZCBlbXB0eSwgVGlueU1DRSB3aWxsIHBhcnNlIHlvdXIgQ1NTIGZpbGUgYW5kIGxpc3QgdGhlIHN0eWxlcyBjb250YWluZWQgaW4gaXQgdG8gdGhlIHVzZXIuIElmIHlvdSB3YW50IG9ubHkgc29tZSBzdHlsZXMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBzcGVjaWZ5IHRoZW0gaW4gdGhlIGZvcm0gJnF1b3Q7U3R5bGUgMT1zdHlsZTE7IFN0eWxlIDI9c3R5bGUyJnF1b3Q7IGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gSW4gdGhlIHJlbWFpbmluZyBmaWVsZHMsIHlvdSBjYW4gc3BlY2lmeSBDU1Mgc3R5bGVzIGZvciBUYWJsZXMsIFJvd3MgYW5kIENlbGwgd2hpY2ggYXJlIHVzZWQgaW4gdGhlIGNvcnJlcHNvbmRpbmcgZGlhbG9ncy4gRm9yIGFuIGVtcHR5IGZpZWxkLCB0aGUgc3R5bGVzIGZyb20gdGhlIGdlbmVyYWwgc3R5bGVzIGFyZSB1c2VkLic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICdPZyZvYWN1dGU7bG5lJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0Rvc3TEmXAgemFicm9uaW9ueS4gU3ByYXdkxbogc3dvamUgdXByYXduaWVuaWEuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQsWCxIVkISc7CiRsYW5nWydzdWJtaXQnXSA9ICdXecWbbGlqJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1Vha3R1YWxuaWonOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnWmFwaXN6IHVzdGF3aWVuaWEnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdVc3Rhd2llbmlhJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdVc3Rhd2llbmlhIHpvc3RhxYJ5IHphcGlzYW5lJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ1phcGlzeiB6YWF3YW5zb3dhbmUgdXN0YXdpZW5pYSc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnWmFwaXNhbm8gemFhd2Fuc293YW5lIHVzdGF3aWVuaWEnOwokbGFuZ1sndG9vbGJhcnNhdmVkJ10gPSAnUGFzZWsgbmFyesSZZHppIHpvc3RhxYIgemFwaXNhbnknOwokbGFuZ1snc3R5bGVzc2F2ZWQnXSA9ICdTdHlsZSB6b3N0YcWCeSB6YXBpc2FuZSc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5UbyB0ZXN0b3dlIG9raWVua287IHdwaXN1asSFYyB0dXRhaiB0ZWtzdCBuaWUgd3DFgnl3YXN6IG5hIHRyZcWbxIcgc2Vyd2lzdS48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnV3ljennFm8SHIHdhcnRvxZtjaSBkb215xZtsbmUnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdXeWN6ecWbxIcgd3N6eXN0a2llIHdhcnRvxZtjaSBkbyBkb215xZtsbnljaCc7CiRsYW5nWydjb25maXJtcmVzZXQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVzZXQgdGhlc2Ugc2V0dGluZ3MgdG8gdGhlaXIgZGVmYXVsdHM/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCBBTEwgc2V0dGluZ3MgdG8gdGhlaXIgZGVmYXVsdHM/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdUaGVzZSBzZXR0aW5ncyB3YXMgcmVzZXQgdG8gZGVmYXVsdCc7CiRsYW5nWydhbGxzZXR0aW5nc3Jlc2V0J10gPSAnQWxsIHNldHRpbmdzIHdlcmUgcmVzZXQgdG8gZGVmYXVsdCc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2hhcyBiZWVuIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMnOwokbGFuZ1snY3VzdG9tZHJvcGRvd24nXSA9ICdDdXN0b20gZHJvcGRvd24tbWVudSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ0luc2VydCBsaW5rIHRvIGNtc21zLXBhZ2UnOwokbGFuZ1snYmFja2VuZF90b29sYmFycyddID0gJ0JhY2tlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ0Zyb250ZW5kIHByb2ZpbGUgc2V0dGluZ3MnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdXdHljemtpJzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ0Nob29zZSB0aGUgcGx1Z2lucyB5b3Ugd2FudCB0byBhY3RpdmF0ZS4gRG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdQbHVnaW55JzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnWmFwaXN6IHBsdWdpbnknOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lueSB6YXBpc2FuZSc7CiRsYW5nWydwbHVnaW5zX21vZHVsZSddID0gJ1BsdWdpbnkgbW9kdcWCdSc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1BvcHVsYXJuZSBwbHVnaW55JzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHXFgic7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09waXMnOwokbGFuZ1sncGx1Z2luJ10gPSAnV3R5Y3prYSAocGx1Z2luKSc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdKZXN0ZcWbIHcnOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTG9hZCBzdHlsZXNoZWV0IGZvciBjb250ZW50IChyZWNvbW1lbmRlZCknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnQWRkaXRpb25zIHRvIHN0eWxlc2hlZXQnOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTIGVudGVyZWQgaGVyZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzdHlsZXNoZWV0IHJlYWQgYnkgVGlueU1DRSBhZnRlciBpdCByZWNpZXZlcyB0aGUgQ01TbXMgc3R5bGVzJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOb3d5IHBsaWsnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1dncmFqJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ05vd3kgZm9sZGVyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1N0dyZvYWN1dGU7cnonOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTmllIHBvZGFubyBuYXp3eSBrYXRhbG9ndSc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdLYXRhbG9nIGp1xbwgaXN0bmllamUnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05vd3kga2F0YWxvZyB6b3N0YcWCIHV0d29yem9ueSc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdXeXN0xIVwacWCIGLFgsSFZCBwcnp5IHR3b3J6ZW5pdSBrYXRhbG9ndSc7CiRsYW5nWydub2ZpbGUnXSA9ICdQbGlrIG5pZSB6b3N0YcWCIHdncmFueSc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnV2dyeXdhbnkgcGxpayBqZXN0IHphIGR1xbx5JzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3IgbW92aW5nIHVwbG9hZGVkIGZpbGUgaW50byBwbGFjZSc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdQbGlrIHpvc3RhxYIgcG9wcmF3bmllIHdncmFueSc7CiRsYW5nWydub3RhbmltYWdlJ10gPSAnV2dyeXdhbnkgcGxpayBuaWUgamVzdCBwbGlraWVtIGdyYWZpY3pueW0nOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSB3eWImb2FjdXRlO3IgcGxpayc7CiRsYW5nWydzdWNjZXNzJ10gPSAnU3VrY2VzJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnT3BlcmFjamUgbmEgcGxpa2FjaCc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snc2l6ZSddID0gJ1Jvem1pYXInOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ1N6ZXJ4V3lzJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ1phYXdhbnNvd2FuZSc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5EbyBjemVnbyB0byBzxYJ1xbx5PzwvaDM+Cgk8cD5aZXp3YWxhIG5hIHXFvHljaWUgVGlueU1DRSBqYWtvIGVkeXRvcmEgV1lTSVdZRy48L3A+Cgk8aDM+SmFrIHNpxJkgdGVnbyB1xbx5d2E/PC9oMz4KCTxwPlphaW5zdGFsdWogVGlueU1DRSwgcHJ6ZWpkxbogZG8gUHJlZmVyZW5jamkgVcW8eXRrb3duaWthIGkgdXN0YXcgVGlueU1DRSBqYWtvIGVkeXRvciBXWVNJV1lHLiBVc3RhdyBvZHBvd2llZG5pZSB1cHJhd25pZW5pYS48L3A+CgogIDxoMz5TcGVsbGNoZWNrZXIgLSBTxYJvd25pazwvaDM+CiAgPHA+QXMgb2YgdmVyc2lvbiAyLjYuMCwgVGlueU1DRSBpbmNsdWRlcyBhbiBvbmxpbmUgc3BlbGxjaGVja2VyLiBQbGVhc2Ugbm90aWNlIHRoYXQgU1NMIG11c3QgYmUgdHVybmVkIG9uIGluIHlvdXIgc2VydmVyLWNvbmZpZ3VyYXRpb24gaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yay4gT24gc29tZSBzZXR1cHMgdGhpcyBvcHRpb24gaXMgY2FsbGVkIHBocF9vcGVuc3NsIGJ1dCB0aGF0IG1heSB2YXJ5PC9wPgoJPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+CglTb21lIHBlb3BsZSBoYXZlIHRyb3VibGUgd2l0aCB0aW55IG5vdCBzaG93aW5nIHVwIHVwb24gaW5zdGFsbGF0aW9uIG9yIHVwZ3JhZGluZy4gSGVyZSBpcyBhIGNoZWNrbGlzdCBvZiAKCXRoaW5ncyB5b3UgY2FuIHRyeSBiZWZvcmUgY29udGFjdGluZyBtZSBmb3IgZnVydGhlciBzdXBwb3J0LgoJPGJyLz4KCTx1bD4KCTxsaT4xLiBQbGVhc2UsIHBsZWFzZSwgdHJ5IHRvIHJldXBsb2FkIHRoZSBtb2R1bGVzL1RpbnlNQ0UgZGlyIHRvIHlvdXIgc2VydmVyLiBZb3UmIzAzOTtkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQoJPGxpPjIuIElmIHVwZ3JhZGluZywgcGxlYXNlIHRyeSB0byByZXNldCBhbGwgc2V0dGluZ3MuIE5vdCBuaWNlIGlmIHlvdSYjMDM5O3ZlIGRvbmUgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiwgSSBrbm93LCBidXQgYSBsb3Qgb2YgdGhpbmdzIGNoYW5nZWQgZnJvbSAyLjMueCB0byAyLjQueCBzZXJpZXMgb2YgdGhlIG1vZHVsZS4KCTxsaT4zLiBUcnkgZW5hYmxpbmcgdGhlIHN0YXRpYyBjb25maWcgb3B0aW9uIGluIGFkdmFuY2VkIHNldHRpbmdzLiBUaGlzIHdvcmtzIGJldHRlciBvbiBzb21lIHN5c3RlbXMgKGxpa2UgQ0dJLWJhc2VkKSwgTm90ZSB0aGF0IHRoaXMgcmVxdWlyZXMgeW91ciAvdG1wLy1kaXIgdG8gYmUgd3JpdGFibGUgYnkgdGhlIHdlYnNlcnZlcgoJPC91bD4KCTxici8+CiAgPGgzPlBsdWdpbiBkZXZlbG9wbWVudDwvaDM+CiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydAogIGNvbnRlbnQgZnJvbSBzb21lIG1vZHVsZSwgbGlrZSBHYWxsZXJ5IGV0Yy4gSG93IHRvIGRvIHRoaXMgaXMgcHJldHR5IHRlY2ggc3R1ZmYsIGJ1dCBpZiB5b3UgYXJlIGEgbW9kdWxlIGRldmVsb3BlciBhbmQgaW50ZXJlc3RlZCBpbiBjaGVja2luZyBpdCBvdXQKICBwbGVhc2UgbG9vayBpbiB0aGUgVGlueU1DRS9kb2NzLWRpciBmb3IgZnVydGhlciBpbnN0cnVjdGlvbnMuCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEwODM3NTYwMS4xMjk1NjEwOTUzLjEyOTgxMjgxNTEuMTI5ODM4NDY1OC4xMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTU2MTA5NTMuMS4xLnV0bWNzcj0oZGlyZWN0KXx1dG1jY249KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNDgzNDEzMzU0LTEyOTU2MTA5NTU2MTcnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgRWRpdG9yJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTSZvYWN1dGU7ZHVsbyBEZXNpbnN0YWxhZG8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ00mb2FjdXRlO2R1bG8gdmVycyZhdGlsZGU7byAlcyBpbnN0YWxhZG8uJzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdTdHJpcCB0YWdzIGZ1bmRvIGRhIENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAnRXN0YSBvcCZjY2VkaWw7JmF0aWxkZTtvIHRlbnRhIHJlbW92ZXIgbyBmdW5kbyBkYXMgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIGEgcGFydGlyIGRhIGZvbGhhIGRlIGVzdGlsby4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ0FwbGljYXIgZm9ybWF0YSZjY2VkaWw7JmF0aWxkZTtvIG5hIHNhJmlhY3V0ZTtkYSBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdGb3JtYXRvIEJsb2NvIG5vIG1lbnUtZHJvcGRvd24nOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdQZXJtaXRpciBvcGVyYSZjY2VkaWw7Jm90aWxkZTtlcyBkZSB0YWJlbGFzICc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ05vdmEgbGluaGEgZGUgZXN0aWxvJzsKJGxhbmdbJ3BzdHlsZSddID0gJ2VzdGlsbyBwJzsKJGxhbmdbJ2Jyc3R5bGUnXSA9ICdlc3RpbG8gYnInOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnVXNlIGNvbXByZXNzJmF0aWxkZTtvIGd6JzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ0lzdG8gcG9kZSBhY2VsZXJhciBhIGNhcnJlZ2FtZW50byBkbyBUaW55TUNFLCBtYXMgdGFtYiZlYWN1dGU7bSBwb2RlIGltcGVkaS1sbyBlbSBhbGd1bnMgc2lzdGVtYXMuIFVzZSBjb20gY3VpZGFkby4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ0ZvciZjY2VkaWw7YXIgJnF1b3Q7cCZxdW90OyByb290YmxvY2snOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NraGVscCddID0gJ0ZvciZjY2VkaWw7YXIgbm8gY29udGUmdWFjdXRlO2RvLCBubyBtJmlhY3V0ZTtuaW1vLCBhIHNlciBpbmNsdSZpYWN1dGU7ZGEgZW0gdW0gJnF1b3Q7cC10YWcmcXVvdDsnOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRXN0aWxvIGRvIEZpbGVwaWNrZXInOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIFRhbWFuaG8nOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnUGVybWl0aXIgbyBjYXJyZWdhbWVudG8gZGUgaW1hZ2VucywgYmVtIGNvbW8sIGNyaWFyIG5vdmFzIHBhc3RhcyBubyBHZXN0b3IgZGUgRm90b3MnOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ1Blcm1pdGlyIGF1dG9tJmFhY3V0ZTt0aWNhbWVudGUgcmVkaW1lbnNpb25hbWVudG8gZGUgaW1hZ2Vucyc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdEaW1lbnMmb3RpbGRlO2VzIHBhZHImYXRpbGRlO28nOwokbGFuZ1sncmVzaXpldG8nXSA9ICdSZWRpbWVuc2lvbmFyIHBhcmE6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdGYXplciB1bWEgbWluaWF0dXJhIHF1YW5kbyBjYXJyZWdhciBpbWFnZW5zJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1VzYXIgUGVyZmlzIGRvIFRpbnlNQ0UgYXZhbiZjY2VkaWw7YWRvcyc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ0d1YXJkYXIgUGVyZmlsZSc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdPIFBlcmZpbGUgZmlvIGd1YXJkYWRvJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1BlcmZpcyc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQ29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIGRlIHBlcmZpbCBhdmFuJmNjZWRpbDthZGFzIG5vIGFkbWluIHBhaW5lbCc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnR3VhcmRhciBlc3RpbG9zJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnUGVybWl0aXIgbyB1c28gZGUgcGVyZmlzIGF2YW4mY2NlZGlsO2Fkb3Mgbm8gVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdNb3N0cmFyIG9wJmNjZWRpbDsmb3RpbGRlO2VzIG5vIGdlc3RvciBkZSBmaWNoZWlyb3MnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ01vc3RyYXIgbm8gZ2VzdG9yIGRlIGZpY2hlaXJvcyAgb3AmY2NlZGlsOyZvdGlsZGU7ZXMgY29tbyBjYXJyZWdhciBmaWNoZWlyb3MsIGUgZmF6ZXIgYSBlbGltaW5hJmNjZWRpbDsmYXRpbGRlO28gZGUgcGFzdGFzIGUgZmljaGVpcm9zIG5vIEdlc3RvciBkZSBGaWNoZWlyb3MsIHNlIG8gdXRpbGl6YWRvciBlc3RpdmVyIGF1dG9yaXphZG8gYSBleGVjdXRhciBhcyBtZXNtYXMuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ1Jlc3RyaWN0byBvIGFjZXNzbyAmYWdyYXZlOyBkaXJlY3RvcmlhIGRvIHVzZXJuYW1lJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdJc3RvIHZhaSByZXN0cmluZ2lyIG8gR2VzdG9yIGRlIEZpY2hlaXJvcyAgZG8gdXN1JmFhY3V0ZTtyaW8gcGFyYSB1bSB2ZXIgZGVudHJvIGRvcyAmcXVvdDsvdXBsb2FkcyZxdW90OywgcXVlIHRlbSBvIG1lc21vIG5vbWUgZGUgbG9naW4gZG8gdXNlcm5hbWUuIFNlIG8gc3ViZGlyZXQmb2FjdXRlO3JpbyBuJmF0aWxkZTtvIGV4aXN0aXIsIHNlciZhYWN1dGU7LCBjcmlhZG8uIFBvciBmYXZvciBub3RlIHF1ZSAgdHJhYmFsaGEgYWN0dWFsbWVudGUgYXBlbmFzIGNvbSBvIG5vbWUgZG8gZGlyZWN0Jm9hY3V0ZTtyaW8gcGFkciZhdGlsZGU7bywgdXBsb2Fkcy9pbWFnZW5zLiBJc3RvIHBvZGUgbXVkYXIgbm8gZnV0dXJvLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdUZW0gY2VydGV6YSBkZSBxdWUgbyBhcnF1aXZvIGRldmUgc2VyIGFwYWdhZG8/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnZm9pIGVsaW1pbmFkbyBjb20gc3VjZXNzbyc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnbiZhdGlsZGU7byBwJm9jaXJjO2RlIHNlciBleGNsdSZpYWN1dGU7ZG8nOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAnbiZhdGlsZGU7byBwJm9jaXJjO2RlIHNlciBleGNsdSZpYWN1dGU7ZG8nOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ2ZvaSByZW1vdmlkbyBjb20gc3VjZXNzbyc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdUZW0gY2VydGV6YSBxdWUgb3Mgc3ViIGRpcmVjdCZvYWN1dGU7cmlvcyB2YXppb3MgZGV2ZW0gc2VyIGV4Y2x1JmlhY3V0ZTtkb3M/JzsKJGxhbmdbJ2RlbGV0ZWRpciddID0gJ0V4Y2x1aXIgc3ViIGRpcmVjdCZvYWN1dGU7cmlvIHZhemlvJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdFbGltaW5hciBmaWNoZWlybyc7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnTiZhdGlsZGU7byAmZWFjdXRlOyBwb3NzJmlhY3V0ZTt2ZWwgbGVyIG8gYXJxdWl2byAgdGlueWNvbmZpZy5waHAgZGlyZWN0YW1lbnRlIG8gVGlueU1DRSBwcm92YXZlbG1lbnRlIG4mYXRpbGRlO28gZnVuY2lvbmFyJmFhY3V0ZTsuIERldmUgdmVyaWZpY2FyIGFzIHBlcm1pc3Mmb3RpbGRlO2VzIGRvIGFycXVpdm8gZSBkYSByb290IGRpcnMsIHF1ZSBkZXZlcmlhIHNlciBsaWRvIHBvciB0b2RvcywgbWFzIGFwZW5hcyBwYXJhIG8gcHJvcHJpZXQmYWFjdXRlO3JpbyBkZSBlc2NyaXRhLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdNb3N0cmFyIG5vbWVzIGRvcyBmaWNoZWlyb3MnOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICdNb3N0cmFyIG1pbmlhdHVyYXMnOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ01vc3RyYXIgbWluaWF0dXJhcyBudW1hIGxpc3RhJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ01vc3RyYXIgYW1ib3MsIG5vbWVzIGRvcyBmaWNoZWlyb3MgZSBtaW5pYXR1cmFzJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4gKHRlbWEpJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnVmFyaWEmY2NlZGlsOyZvdGlsZGU7ZXMgZGUgU2tpbic7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPiBQb3IgZmF2b3IgTm90ZSEgPGJyLz4gQWx0ZXJhciBlc3NhcyBjb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMgcG9kZW0gY2F1c2FyIHVtYSBmYWxoYSBubyBUaW55TUNFIGUgZGVpeGFyIGRlIHRyYWJhbGhhciwgb3UsIG8gYyZvYWN1dGU7ZGlnbyBnZXJhZG8gcG9kZSBzZXIgZXJyYWRvLCBkZSBhbGd1bWEgZm9ybWEuIFMmb2FjdXRlOyBlZGl0ZSAgc2Ugc291YmVyIG8gcXVlIGVzdCZhYWN1dGU7IGEgZmF6ZXIhIFBvciBmYXZvciBjb25zdWx0ZSBvIHdlYnNpdGUgVGlueU1DRSBhbnRlcyBkZSBvIGZhemVyLiA8L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0NvZGlmaWNhJmNjZWRpbDsmYXRpbGRlO28gZGUgZW50aWRhZGVzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGNvZGlmaWNhJmNjZWRpbDsmYXRpbGRlO28gKG1haXMgciZhYWN1dGU7cGlkbywgZnVuY2lvbmEgbmEgbWFpb3JpYSBkb3MgY2Fzb3MpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdDb2RpZmljYSZjY2VkaWw7JmF0aWxkZTtvIChjb21vOiAmYW1wO2FtcDtuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnQ29kaWZpY2EmY2NlZGlsOyZhdGlsZGU7byBOdW0mZWFjdXRlO3JpY2EgKGxpa2UgJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdNb3N0cmFyIG8gY2FtaW5obyBkbyBlbGVtZW50byBuYSBwYXJ0ZSBpbmZlcmlvciBkbyBlZGl0b3IuJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnQmFycmEgZGUgRmVycmFtZW50YXMnOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnRXN0YXMgb3AmY2NlZGlsOyZvdGlsZGU7ZXMgZGV2ZW0gY29udGVyIHVtYSBsaXN0YSBzZXBhcmFkYSBwb3IgdiZpYWN1dGU7cmd1bGFzIGRvIGJvdCZhdGlsZGU7by9jb250cm9sbywgbm9tZXMgcGFyYSBpbnNlcmlyIG5hIGJhcnJhIGRlIGZlcnJhbWVudGFzLic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdCYXJyYSBkZSBGZXJyYW1lbnRhcyc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdDbGlxdWUgYXF1aSBwYXJhIHZlciBpbnN0cnUmY2NlZGlsOyZvdGlsZGU7ZXMgbmEgQmFycmEtVGlueU1DRS13aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ0xhcmd1cmEgZG8gZWRpdG9yJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0FsdHVyYSBkbyBlZGl0b3InOwokbGFuZ1snYXV0byddID0gJ0F1dG9tJmFhY3V0ZTt0aWNvJzsKJGxhbmdbJ29yJ10gPSAnb3UnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ1Blcm1pdGlyIHJlZGltZW5zaW9uYW1lbnRvIG5vIGx1Z2FyIGRlIGVkaXRvciBkZSBjYW1wbyc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnTiZhdGlsZGU7byBwZXJtaXRpciBvIHJlZGltZW5zaW9uYW1lbnRvJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdQZXJtaXRpciByZWRpbWVuc2lvbmFtZW50byBlbSBhbWJvcyBvcyBzZW50aWRvcyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdQZXJtaXRpciByZWRpbWVuc2lvbmFtZW50byBhcGVuYXMgZGEgYWx0dXJhJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdEYXRhL0hvcmEgZm9ybWF0byc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ0hvcmEnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXRhJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGlxdWUgYXF1aSBwYXJhIG9idGVyIGFqdWRhIHNvYnJlIGNvbW8gZm9ybWF0YXIgYSBkYXRhL2hvcmEnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnQ29uZmlndXJhJmNjZWRpbDsmYXRpbGRlO28gZXh0cmEnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ1VtYSBkZWNsYXJhJmNjZWRpbDsmYXRpbGRlO28gcG9yIGxpbmhhLCB1bWEgdiZpYWN1dGU7cmd1bGEgc2VyJmFhY3V0ZTsgYWRpY2lvbmFkYSBhbnRlcyBlIGFwJm9hY3V0ZTtzIGVzc2UgY29udGUmdWFjdXRlO2RvLiBWZXJpZmlxdWUgVGlueU1DRS13aWtpIHBhcmEgb2J0ZXIgbWFpcyBpbnN0cnUmY2NlZGlsOyZvdGlsZGU7ZXMuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ01lbnUgU3VzcGVuc28gUGVyc29uYWxpemFkbyc7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdJbnNlcmUgcGVkYSZjY2VkaWw7b3MgZGUgYyZvYWN1dGU7ZGlnby90ZXh0byBwZXJzb25hbGl6JmFhY3V0ZTt2ZWlzIG5hIHNlbGVjJmNjZWRpbDsmYXRpbGRlO28gZW0gdW0gbWVudSBzdXNwZW5zby4KQWNlc3NvIGEgdGFnJiMwMzk7cyBldGMuIE8gbWVudSAmZWFjdXRlOyBpbnNlcmlkbyBuYSBiYXJyYSB1c2FuZG8gJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdBcnJhbnF1ZSBhY3RpdmFkbyc7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnRGVzbWFyY2FyIEFycmFucXVlIG5vIFRpbnkgIGVtIHVtIGVzdGFkbyBkZXNhYmlsaXRhZG8uIERldmUgc2VyIHV0aWxpemFkbyBqdW50YW1lbnRlIGNvbSBvIGJvdCZhdGlsZGU7byBhbHRlcm5hci4nOwokbGFuZ1snbG9hZGNtc2xpbmtlcnRleHQnXSA9ICdDYXJyZWdhIG8gQ01TbXNsaW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdHZXJhIG8gYyZvYWN1dGU7ZGlnbyBqYXZhc2NyaXB0IG5lY2VzcyZhYWN1dGU7cmlvIHBhcmEgcGVybWl0aXIgYSBjbXNtc2xpbmtlciBhIHNlciBhZGljaW9uYWRvIGEgdW1hIGJhcnJhIGRlIGZlcnJhbWVudGFzLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstZXN0aWxvJzsKJGxhbmdbJ2Ntc3NlbGZsaW5rc3R5bGUnXSA9ICd7Y21zX3NlbGZsaW5rfS1lc3RpbG8nOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJ2EgaHJlZi1zdHlsZS1lc3RpbG8gJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdHZXJhciB1cmxzIHJlbGF0aXZhcyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yJmNjZWRpbDthciBsaW1wZXphIG5hIGNvbGFnZW0nOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ0lzdG8gZGV2ZSBzZXIgYWN0aXZhZG8gcGFyYSByZW1vdmVyIGMmb2FjdXRlO2RpZ28gZXN0cmFuaG8gZGUgZm9ybWF0YSZjY2VkaWw7JmF0aWxkZTtvIGFvIGNvbGFyIGRvIFdvcmQgZXRjLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5VGFnIENTUyc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICdTZXImYWFjdXRlOyBwYXJhIGFkaWNpb25hciBjc3MgYW8gYm9keS10YWcnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfdGV4dCddID0gJ0luY2x1aXIgdW5pY2FtZW50ZSBDU1MgcGFyYSBtb25pdG9yZXMgKHNjcmVlbiknOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ0VzdGEgc2VsZWMmY2NlZGlsOyZhdGlsZGU7byBzJm9hY3V0ZTsgcGVybWl0ZSBxdWUgYWNvbXBhbmhhciBlc3RlIGVzdGlsbyBjb20gbyBtb25pdG9yLW1lZGlhdHlwZSBzZWxlY2Npb25hZG9zIHBhcmEgc2VyZW0gaW5jbHUmaWFjdXRlO2RvcyBubyBlc3RpbG9zIFRpbnlNQ0UgLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVXNlIGFycXVpdm8gZXN0JmFhY3V0ZTt0aWNvIGRlIGNvbmZpZyc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAnSXNzbyBwb2RlIGFqdWRhciBvIFRpbnkgYSB0cmFiYWxoYXIgZW0gc2lzdGVtYXMgb25kZSB0ZW0gYSBpbnN0YWxhJmNjZWRpbDsmYXRpbGRlO28gZGUgaG9zcGVkYWdlbSwgYWNyZXNjZW50YSB2YXJpYXMgcGUmY2NlZGlsO2FzIGNvbW8gIHRvZGFzIGFzIGVzdGF0JmlhY3V0ZTtzdGljYXMgZGUgcHJvZHUmY2NlZGlsOyZhdGlsZGU7byBldGMuLCBxdWVicmFuZG8gZGluYW1pY2FtZW50ZSBvIGNyaWFkbyBhcnF1aXZvIGRlIGNvbmZpZy1qYXZhc2NyaXB0JzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3dhcm5pbmcnXSA9ICdBdGVuJmNjZWRpbDsmYXRpbGRlO28hIFRlbSBhIG9wJmNjZWRpbDsmYXRpbGRlO28gZXN0JmFhY3V0ZTt0aWNhIGNvbmZpZy1maWxlIGhhYmlsaXRhZG8gbWFzIHNldSAvdG1wL2RpciBuJmF0aWxkZTtvIHRlbSBwZXJtaXNzJm90aWxkZTtlcyBkZSBlc2NyaXRhLiBJc3NvIGlyJmFhY3V0ZTsgZXZpdGFyIHF1ZSBvIG0mb2FjdXRlO2R1bG8gcG9zc2Egc2FsdmFyIG5vIGFycXVpdm8gY29uZmlnLWVzdCZhYWN1dGU7dGljbyBlIG11aXRvIHByb3ZhdmVsbWVudGUgaXImYWFjdXRlOyB0b3JuYXIgbyBUaW55TUNFIGlub3BlcmFjaW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yYXIgYSAmcXVvdDtwZXJtaXNzJmF0aWxkZTtvIE1vZGlmaWNhciBGaWNoZWlyb3MmcXVvdDsgcGFyYSBvIEZpbGVwaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnQXRlbiZjY2VkaWw7JmF0aWxkZTtvISBJc3NvIHBlcm1pdGUgcXVlIHNlIGFsdGVyZSBhbGd1bSBhcnF1aXZvLCBtZXNtbyBxdWUgYSAmcXVvdDtwZXJtaXNzJmF0aWxkZTtvIE1vZGlmaWNhciBGaWNoZWlyb3MgJiMwMzk7biZhdGlsZGU7byBlc3RpdmVyIGRlZmluaWRvIHBhcmEgbyBncnVwbyBkZSB1c2VybmFtZXMgYWN0dWFpcy4gSXNzbyBwb2RlIGVmZXRpdmFtZW50ZSBzZXIgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbSBhIG9wJmNjZWRpbDsmYXRpbGRlO28gZGUgcmVzdHJpbmdpciBvIGFjZXNzbyBkbyB1c3UmYWFjdXRlO3JpbyBkbyBkaXJldCZvYWN1dGU7cmlvLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdNb3N0cmFyIGNoZWNrYm94IHBhcmEgY29sb2NhciB3eXNpd3lnIG9uL29mZic7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnQ29sb2NhciBFZGl0b3Igb24vb2ZmJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdFc3RpbG9zIENTUyc7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJ1NlIGRlaXhhciBvIGNhbXBvIGVtIGJyYW5jbywgVGlueU1DRSBpciZhYWN1dGU7IGFuYWxpc2FyIHNldSBhcnF1aXZvIENTUyBlIGxpc3RhIG9zIGVzdGlsb3MgY29udGlkb3MgbmVsZSBwYXJhIG8gdXN1JmFhY3V0ZTtyaW8uIFNlIHF1aXNlciBxdWUgYXBlbmFzIGFsZ3VucyBlc3RpbG9zIHNlamFtIGFwcmVzZW50YWRvcyBhbyB1c3UmYWFjdXRlO3JpbywgZXNwZWNpZmlxdWUtb3Mgc29iIGEgZm9ybWEgJnF1b3Q7RXN0aWxvIDEgPSBzdHlsZTE7IEVzdGlsbyAyID0gc3R5bGUyJnF1b3Q7IG5vIHByaW1laXJvIGNhbXBvIGFiYWl4by4gTm9zIHJlc3RhbnRlcyBkb20maWFjdXRlO25pb3MsIHBvZGUgZXNwZWNpZmljYXIgZXN0aWxvcyBDU1MgcGFyYSBhcyB0YWJlbGFzLCBMaW5oYXMgZSBDJmVhY3V0ZTtsdWxhcyBxdWUgcyZhdGlsZGU7byB1dGlsaXphZG9zIG5vIGNvcnJlc3BvbmRlbnRlcyBkaSZhYWN1dGU7bG9nb3MuIFBhcmEgdW0gY2FtcG8gdmF6aW8sIG9zIGVzdGlsb3MgcyZhdGlsZGU7byB1c2Fkb3MgZW0gZ2VyYWwuCgkKCQknOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnR2VyYWwnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNlc3NvIE5lZ2FkbyEnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvISc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtZXRlcic7CiRsYW5nWyd1cGRhdGUnXSA9ICdBY3R1YWxpemFyJzsKJGxhbmdbJ3NhdmVzZXR0aW5ncyddID0gJ0d1YXJkYXIgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnQ29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdDb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMgU2FsdmFzJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ0d1YXJkYXIgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIGF2YW4mY2NlZGlsO2FkYXMnOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0NvbmZpZ3VyYSZjY2VkaWw7Jm90aWxkZTtlcyBhdmFuJmNjZWRpbDthZGFzIGd1YXJkYWRhcyc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdCYXJyYSBkZSBGZXJyYW1lbnRhcyBndWFyZGFkYSc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ0VzdGlsb3MgZ3VhcmRhZG9zJzsKJGxhbmdbJ3Rlc3RhcmVhdGV4dCddID0gJzxwPlRlc3RlLCBzZW0gY29udGUmdWFjdXRlO2RvLCAmZWFjdXRlOyBzaW1wbGVzbWVudGUgdGVzdGUuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVkZWZpbmlyIHBhZHImYXRpbGRlO28nOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdSZWRlZmluaXIgdG9kYXMgYXMgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIHBhcmEgYXMgb3JpZ2luYWlzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ1RlbSBjZXJ0ZXphIGRlIHF1ZSBkZXNlamEgcmVkZWZpbmlyIGVzc2FzIGNvbmZpZ3VyYSZjY2VkaWw7Jm90aWxkZTtlcyBwYXJhIHNldXMgdmFsb3JlcyBwcmVkZWZpbmlkb3M/JzsKJGxhbmdbJ2NvbmZpcm1yZXNldGFsbCddID0gJ1RlbSBjZXJ0ZXphIGRlIHF1ZSBkZXNlamEgcmVkZWZpbmlyIHRvZGFzIGFzIGNvbmZpZ3VyYSZjY2VkaWw7Jm90aWxkZTtlcyBkb3Mgc2V1cyBwYWRyJm90aWxkZTtlcz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ0VzdGFzIGRlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBmb3JhbSByZWRlZmluaWRhcyBwYXJhIHBhZHImYXRpbGRlO28nOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ1RvZG9zIG9zIGFqdXN0ZXMgZm9yYW0gcmVwb3N0b3MnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdGb2kgYWN0dWFsaXphZG8nOwokbGFuZ1snY3VzdG9tZHJvcGRvd24nXSA9ICdNZW51IHN1c3BlbnNvIHBlcnNvbmFsaXphZG8nOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdJbnNlcmlyIGxpbmsgcGFyYSB1bWEgcCZhYWN1dGU7Z2luYSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBCYXJyYSBjb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMnOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdGcm9udGVuZCBCYXJyYSBjb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW5zIChleHRyYXMpJzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ0VzY29saGEgb3MgcGx1Z2lucyBxdWUgcHJldGVuZGUgYWN0aXZhci4gRG9jdW1lbnRhJmNjZWRpbDsmYXRpbGRlO28gcG9kZSBzZXIgZW5jb250cmFkYSBlbSAlcyc7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdQbHVnaW5zIChleHRyYXMpJzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnU2FsdmFyIFBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2lucyBndWFyZGFkb3MnOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bG8gUGx1Z2lucyAnOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICdQbHVnaW5zIENvbXVucyc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bG8nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmkmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydwbHVnaW4nXSA9ICdQbHVnaW4gJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ0VzdCZhYWN1dGU7IGxvY2FsaXphZG8gZW0nOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnQ2FyZ2FyIGNzcyBkbyBjb250ZSZ1YWN1dGU7ZG8gKHJlY29tZW5kYWRvKSc7CiRsYW5nWydleHRyYXN0eWxlc3RleHQnXSA9ICdBZGkmY2NlZGlsOyZvdGlsZGU7ZXMgYW8gZXN0aWxvJzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBhZGljaW9uYWRvcyBhcXVpIHNlciZhdGlsZGU7byBhZGljaW9uYWRvcyBhbyBlc3RpbG8gbGlkbyBwZWxvIFRpbnlNQ0UgZGVwb2lzIGRlIHJlY2ViZXIgb3MgZXN0aWxvcyBkbyBDTVNtcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTm92byBmaWNoZWlybyc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnQ2FycmVnYXInOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnTm92YSBQYXN0YSc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdDcmlhcic7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdBIHBhc3RhIG4mYXRpbGRlO28gdGVtIHVtIG5vbWUgdiZhYWN1dGU7bGlkbyc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdKJmFhY3V0ZTsgZXhpc3RlIHVtIG5vbWUgcGFyYSBlc3RhIHBhc3RhJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdQYXN0YSBjcmlhZGEgY29tIHN1Y2Vzc28nOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnT2NvcnJldSB1bSBlcnJvIGFvIGNyaWFyIGEgcGFzdGEnOwokbGFuZ1snbm9maWxlJ10gPSAnTiZhdGlsZGU7byBmb2kgY2FycmVnYWRvIG5lbmh1bSBmaWNoZWlybyc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnTyB0YW1hbmhvIGRvIGZpY2hlaXJvIHVsdHJhcGFzc2EgbyBwZXJtaXRpZG8nOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdOb21lIGRvIGFycXVpdm8gY29udCZlYWN1dGU7bSB1bSBvdSBtYWlzIGNhcmFjdGVyZXMgaWxlZ2FpcyAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm8gYW8gdGVudGFyIG1vdmVyIHBhcmEgZXN0ZSBsb2NhbCc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWNoZWlybyBjYXJyZWdhZG8gY29tIHN1Y2Vzc28nOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TIFNlbGVjJmNjZWRpbDsmYXRpbGRlO28gZGUgRmljaGVpcm9zJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdTdWNlc3NvJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnT3BlcmEmY2NlZGlsOyZvdGlsZGU7ZXMgZGUgRmljaGVpcm9zJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCAnOwokbGFuZ1snc2l6ZSddID0gJ1RhbWFuaG8nOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0EgeCBMJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0F2YW4mY2NlZGlsO2Fkbyc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KICA8aDM+U3BlbGxjaGVja2VyPC9oMz4KICA8cD5BcyBvZiB2ZXJzaW9uIDIuNi4wLCBUaW55TUNFIGluY2x1ZGVzIGFuIG9ubGluZSBzcGVsbGNoZWNrZXIuIFBsZWFzZSBub3RpY2UgdGhhdCBTU0wgbXVzdCBiZSB0dXJuZWQgb24gaW4geW91ciBzZXJ2ZXItY29uZmlndXJhdGlvbiBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrLiBPbiBzb21lIHNldHVwcyB0aGlzIG9wdGlvbiBpcyBjYWxsZWQgcGhwX29wZW5zc2wgYnV0IHRoYXQgbWF5IHZhcnk8L3A+Cgk8aDM+VHJvdWJsZXNob290aW5nPC9oMz4KCVNvbWUgcGVvcGxlIGhhdmUgdHJvdWJsZSB3aXRoIHRpbnkgbm90IHNob3dpbmcgdXAgdXBvbiBpbnN0YWxsYXRpb24gb3IgdXBncmFkaW5nLiBIZXJlIGlzIGEgY2hlY2tsaXN0IG9mIAoJdGhpbmdzIHlvdSBjYW4gdHJ5IGJlZm9yZSBjb250YWN0aW5nIG1lIGZvciBmdXJ0aGVyIHN1cHBvcnQuCgk8YnIvPgoJPHVsPgoJPGxpPjEuIFBsZWFzZSwgcGxlYXNlLCB0cnkgdG8gcmV1cGxvYWQgdGhlIG1vZHVsZXMvVGlueU1DRSBkaXIgdG8geW91ciBzZXJ2ZXIuIFlvdSYjMDM5O2QgYmUgYW1hemVkIGhvdyBtYW55IHRpbWVzIHRoaXMgaGFzIGhlbHBlZCBwZW9wbGUuPC9saT4JCgk8bGk+Mi4gSWYgdXBncmFkaW5nLCBwbGVhc2UgdHJ5IHRvIHJlc2V0IGFsbCBzZXR0aW5ncy4gTm90IG5pY2UgaWYgeW91JiMwMzk7dmUgZG9uZSBhIGxvdCBvZiBjdXN0b21pemF0aW9uLCBJIGtub3csIGJ1dCBhIGxvdCBvZiB0aGluZ3MgY2hhbmdlZCBmcm9tIDIuMy54IHRvIDIuNC54IHNlcmllcyBvZiB0aGUgbW9kdWxlLgoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyCgk8L3VsPgoJPGJyLz4KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4KICBBcyBvZiB2ZXJzaW9uIDIuNy4wIHRoZSBUaW55TUNFLW1vZHVsZSBoYXMgdGhlIGFiaWxpdHkgdG8gYWxsb3cgb3RoZXIgbW9kdWxlcyB0byByZWdpc3RlciBleHRlbnNpb25zIGZvciBpdC4gQ291bGQgYmUgYSBjdXN0b20gaWNvbiBhbGxvd2luZyB5b3UgdG8gaW5zZXJ0CiAgY29udGVudCBmcm9tIHNvbWUgbW9kdWxlLCBsaWtlIEdhbGxlcnkgZXRjLiBIb3cgdG8gZG8gdGhpcyBpcyBwcmV0dHkgdGVjaCBzdHVmZiwgYnV0IGlmIHlvdSBhcmUgYSBtb2R1bGUgZGV2ZWxvcGVyIGFuZCBpbnRlcmVzdGVkIGluIGNoZWNraW5nIGl0IG91dAogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4KCgk8YnIvPgoJCQonOwokbGFuZ1sncWNhJ10gPSAnUDAtMTIzNjg0MjAxNi0xMjc2OTc1NTY3MTYzJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTEyNzk2MzM2OS4xMjc3MzExNTk3LjEyNzgwNzIyMjAuMTI3ODE4ODg3Ni4yMyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNzc4NTgxNjkuMTcuNS51dG1jc3I9ZmVlZGJ1cm5lcnx1dG1jY249RmVlZDogY21zbWFkZXNpbXBsZS9ibG9nIChDTVMgTWFkZSBTaW1wbGUpfHV0bWNtZD1mZWVkJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjc4MTg4ODc2JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0VkaXRvcnVsIFRpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnQWNlc3QgbW9kdWwgcGVybWl0ZSBlZGl0YXJlYSBpbiBwcmluY2lwYWwgYSBjb250aW51dHVsdWksIHBvc2liaWwgc2kgYSBhbHRvciBmb3JtZSBkZSBkYXRlLCBmb2xvc2luZCB1biBlZGl0b3IgV1lTSVdZRyBUaW55TUNFLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGEgZm9zdCBkZXppbnN0YWxhdC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2l1bmVhICVzIGEgZm9zdCBpbnN0YWxhdC4nOwokbGFuZ1snc3RyaXBiYWNrZ3JvdW5kdGFncyddID0gJ1Njb2F0ZXJlIHRhZ3VyaSBiYWNrZ3JvdW5kIGRpbiBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ0FjZWFzdGEgb3B0aXVuZSBpbmNlYXJjYSBzYSBpbmxhdHVyZSBzZXRhcmlsZSBwZW50cnUgYmFja2dyb3VuZCBkaW4gc3R5bGVzaGVldC4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ0FwbGljYXJlIGZvcm1hdGFyZSBzdXJzYSBsYSBIVE1MIG91dHB1dCc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnRm9ybWF0ZSBibG9jIGluIG1lbml1IGRyb3Bkb3duJzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnU2UgcGVybWl0IG9wZXJhdGl1bmkgdGFiZWxlJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnU3RpbCBsaW5pZSBub3VhJzsKJGxhbmdbJ3BzdHlsZSddID0gJ3N0aWwgLSA8cD4nOwokbGFuZ1snYnJzdHlsZSddID0gJ3N0aWwgLSA8YnIvPic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdGb2xvc2lyZSBjb21wcmVzaWUgZ3onOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnQWNlYXN0YSBzZXRhcmUgcG9hdGUgZ3JhYmkgaW5jYXJjYXJlYSBUaW55TUNFLCBkYXIgcG9hdGUgc2kgc2kgZmFjYSBzYSBudSBzZSBtYWkgaW5jYXJjZSBwZSB1bmVsZSBzaXN0ZW1lLiBGb2xvc2l0aSBjdSBwcmVjYXV0aWUuJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdGb3J0YXJlIGJsb2MgcmFkYWNpbmEgPHA+JzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3J0ZWF6YSBjYSwgY29udGludXR1bCByZXR1cm5hdCBzYSBmaWUgaW5jYWRyYXQgY2VsIHB1dGluIGludHItdW4gdGFnIDxwPic7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdTdGlsIHNlbGVjdG9yIGZpc2llcmUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdEaW1lbnNpdW5lIHNlbGVjdG9yIGZpc2llcmUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnU2UgcGVybWl0ZSB1cGxvYWR1bCBzaSBjcmVhcmVhIGRlIGZvbGRlcmUgaW4gc2VsZWN0b3J1bCBkZSBmaXNpZXJlJzsKJGxhbmdbJ2FsbG93c2NhbGluZ3RleHQnXSA9ICdTZSBwZXJtaXRlIHJlZGltbmVzaW9uYXJlYSBvbi10aGUtZmx5IGEgaW1hZ2luaWxvciB1cGxvYWRhdGUnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnRGltZW5zaXVuaSBpbXBsaWNpdGUnOwokbGFuZ1sncmVzaXpldG8nXSA9ICdSZWRpbWVuc2lvbmFyZSBsYTonOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ0NyZWFyZSBtaW5pYXR1cmEgbGEgdXBsb2FkdWwgaW1hZ2luaWxvcic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdGb2xvc2lyZSBwcm9maWwgYXZhbnNhdCBUaW55TUNFJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAnU2FsdmFyZSBwcm9maWwnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnUHJvZmlsdWwgYSBmb3N0IHNhbHZhdCc7CiRsYW5nWydwcm9maWxlc190YWInXSA9ICdQcm9maWxlJzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdTZXRhcmkgYXZhbnNhdGUgcHJvZmlsZSBiYWNrZW5kJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICdTYWx2YXJlIHN0aWx1cmknOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdTZSBwZXJtaXRlIGZvbG9zaXJlYSBwcm9maWx1bHVsdWkgYXZhbnNhdCBpbiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ0FmaXNhcmUgb3B0aXVuaSBtYW5hZ2VtZW50IGZpc2llcmUnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1NlIGFmaXNlYXphIG9wdGl1bmlsZSBkZSBtYW5uYWdlbWVudCBmaXNpZXJlIGN1bSBhciBmaSB1cGxvYWQsIGNyZWFyZSBmb2xkZXIgc2kgc3RlcmdlcmUgZmlzaWVyZSBpbiBTZWxlY3RvciBGaXNpZXJlLCBkYWNhIHV0aWxpemF0b3J1bCBhcmUgcGVybWlzaXVuaWxlIG5lY2VzYXJlIHBlbnRydSBhY2VzdGUgb3BlcmF0aXVuaS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyIGFjY2Vzcyc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnVGhpcyB3aWxsIHJlc3RyaWN0IHRoZSBmaWxlbWFuYWdlbWVudC1jYXBhYmlsaXRpZXMgb2YgdGhlIHVzZXIgdG8gYSBzdWJkaXIgdG8gJiMwMzk7dXBsb2FkcyYjMDM5OyB3aGljaCBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHVzZXImIzAzOTtzIGxvZ2luLiBJZiB0aGUgc3ViZGlyIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIHBvc3NpYmx5IGJlIGNyZWF0ZWQuIFBsZWFzZSBub3RlLCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlIHN0YW5kYXJkIGRpcm5hbWVzLCB1cGxvYWRzL2ltYWdlcy4gVGhpcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ1N1bnRldGkgc2lndXIgY2EgYWNlc3QgZmlzaWVyIHRyZWJ1aWUgc3RlcnM/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnYSBmb3N0IHN0ZXJzIGN1IHN1Y2Nlcyc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnbnUgYSBwdXR1dCBmaSBzdGVycyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdudSBhIHB1dHV0IGZpIHN0ZXJzJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICdhIGZvc3Qgc3RlcnMgY3Ugc3VjY2VzJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ1N1bnRldGkgc2lndXIgY2EgYWNlc3Qgc3ViZm9sZGVyIGdvbCBhciB0cmVidWkgc2EgZmllIHN0ZXJzPyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdTdGVyZ2VyZSBzdWJmb2xkZXIgZ29sJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdTdGVyZ2VyZSBmaXNpZXInOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ051IHMtYSBwdXR1dCBjaXRpIGZpc2llcnVsIHRpbnljb25maWcucGhwIGRpcmVjdCBhc2EgY2EgVGlueU1DRSBwcm9iYWJpbCBudSB2YSBmdW5jdGlvbmEuIEFyIHRyZWJ1aSBzYSB2ZXJpZmljYXRpIHBlcm1pc2l1bmlsZSBwZW50cnUgZmlzaWVyIHNpIHBlbnRydSBmb2xkZXJlbGUgcGFyaW50ZSwgY2FyZSBhciB0cmVidWkgc2EgZmllIGRlIGNpdGlyZSBwZW50cnUgdG90aSBzaSBjdSBwZXJtaXNpdW5pIGRlIHNjcmllcmUgcGVudHJ1IHByb3ByaWV0YXIuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ0FmaXNhcmUgbnVtZSBmaXNpZXJlJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnQWZpc2FyZSBtaW5pYXR1cmknOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ0FmaXNhcmUgZmlzaWVyZSBtaW5pYXR1cmkgaW4gbGlzdGUnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnQWZpc2FyZSBzaSBudW1lIGZpc2llcmUgc2kgbWluaWF0dXJpJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1RlbWEnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdWYXJpYXRpZSB0ZW1hJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+QXRlbnRpZSE8YnIvPkRhY2Egc2NoaW1iYXRpIGFjZXN0ZSBzZXRhcmkgcHV0ZXRpIGZhY2UgY2EgVGlueU1DRSBzYSBudSBtYWkgbWVhcmdhIHNhdSBjb2R1bCBnZW5lcmF0IHNhIGZpZSBncmVzaXQuIEVkaXRhdGkgbnVtYWkgZGFjYSBzdGl0aSBjZSBmYWNldGkhIENvbnN1bHRhdGkgc2l0ZS11bCBUaW55TUNFIGluYWludGUgZGUgYSB2YSBqdWNhIGN1IGFjZXN0ZSBzZXRhcmkuPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdFbmNvZGFyZSBlbnRpdGF0aSc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ0VuY29kYXJlIHJhdyAoY2VhIG1haSByYXBpZGEsIGZ1bmN0aW9uZWF6YSBpbiBjZWxlIG1haSBtdWx0ZSBjYXp1cmkpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdFbmNvZGFyZSBudW1lIChnZW4gJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdFbmNvZGFyZSBudW1lcmljYSAoZ2VuICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnQWZpc2FyZSBjYWxlIGVsZW1lbnQgaW4gam9zdWwgZWRpdG9ydWx1aSc7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ0JhcmEgZGUgdW5lbHRlJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ0FjZXN0ZSBvcHRpdW5pIGFyIHRyZWJ1aSBzYSBjb250aW5hIG8gbGlzdGEgZGUgYnV0b2FuZSAvIG51bWUgZGUgY29udHJvYWxlIHNlcGFyYXRlIHByaW4gdmlyZ3VsYSBjYXJlIHNlIHZvciBpbnNlcmEgaW4gYmFyYSBkZSB1bmVsdGUuIENhcmFjdGVydWwgfCBwb2F0ZSBmaSBmb2xvc2l0IGluIGxvYyBkZSBjdXZhbnR1bCAmIzAzOTtzZXBhcmF0b3ImIzAzOTsnOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAnQmFyYSBkZSB1bmVsdGUnOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnQ2xpYyBhaWNpIHBlbnRydSBhIHZlZGVhIGluc3RydWN0aXVuaSByZWZlcml0b2FyZSBsYSBiYXJhIGRlIHVuZWx0ZSBpbiBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnTGF0aW1lIGNhbXAgZWRpdG9yJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0luYWx0aW1lIGNhbXAgZWRpdG9yJzsKJGxhbmdbJ2F1dG8nXSA9ICdBdXRvICc7CiRsYW5nWydvciddID0gJ3NhdSc7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICdab25hIHBlbnRydSB0ZXN0YXJlJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnQXJhdGEgcmV6dWx0YXR1bCB0ZXN0YXJpaSc7CiRsYW5nWyd0ZXN0YXJlYWVkaXRvciddID0gJ0VkaXRvciBkZSB0ZXN0YXJlJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnWm9uYSBpZXNpcmUgdGVzdGFyZSc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dHNvdXJjZSddID0gJ1N1cnNhIHpvbmVpIHRlc3RhcmlpJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdTZSBwZXJtaXRlIHJlZGltZW5zaW9uYXJlYSBjYW1wdWx1aSBlZGl0b3J1bHVpIGluIGxvY3VsIGluIGNhcmUgc2UgYWZsYSc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnTnUgc2UgcGVybWl0ZSByZWRpbWVuc2lvbmFyZWEnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ1NlIHBlcm1pdGUgcmVkaW1lbnNpb25hcmVhIGluIGFtYmVsZSBkaXJlY3RpaSc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdTZSBwZXJtaXRlIG51bWFpIHJlZGltZW5zaW9uYXJlYSBpbmFsdGltaWknOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfdGV4dCddID0gJ0Zvcm1hdCBkYXRhL3RpbXAnOwokbGFuZ1sndGltZXRleHQnXSA9ICdUaW1wJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAnRGF0YSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnQ2xpYyBhaWNpIHBlbnRydSBhIHByaW1pIGFqdXRvciBkZXNwcmUgY3VtIHNlIGZvcm1hdGVhemEgZGF0YS90aW1wdWwnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnRXh0cmEgY29uZmlndXJhcmUnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ08gc2luZ3VyYSBkZWNsYXJhdGllIHBlciBsaW5pZSwgdmlyZ3VsZWxlIHZvciBmaSBhZGF1Z2F0ZSBpbmFpbnRlIHNpIGR1cGEgYWNlc3QgY29udGludXQuIFZlZGV0aSBpbiBUaW55TUNFLXdpa2kgcGVudHJ1IGluc3RydWN0aXVuaS4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnRHJvcGRvd24gY3VzdG9tJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VyZWF6YSBidWNhdGkgY3VzdG9taXphYmlsZSBkZSBjb2QvdGV4dCBwcmluIHNlbGVjdGlhIGxvciBkaW50ci11biBtZW5pdSBkcm9wZG93bi4gDQpVdGlsaXphcmkgZXZpZGVudGUgc3VudCBwZW50cnUgYWNjY2VzIGZhY2lsIGxhIHRhZ3VyaSBldGMuIE1lbml1bCBlc3RlIGluc2VyYXQgaW4gYmFyYSBkZSB1bmxldGUgZm9sb3NpbmQgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydHVwIGFjdGl2YXQnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ0RlYmlmYW5kIGFjZWFzdGEgY2FzdXRhIHNlIHBvcm5lc2MgZWRpdG9hcmVsZSBUaW55IGludHItbyBzdGFyZSBkZXphY3RpdmF0YS4gQXIgdHJlYnVpIHNhIGZpZSBmb2xvc2l0YSBpbXByZXVuYSBjdSBidXRvbnVsIGRlIHN0YXJlLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0luY2FyY2FyZSBDTVMtbGlua2VyJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnQWNlYXN0YSBzZXRhcmUgZ2VuZXJlYXphIGNvZHVsIGphdmFzY3JpcHQgZGUgY2FyZSBlc3RlIG5ldm9pZSBwZW50cnUgYSBwZXJtaXRlICYjMDM5O2Ntc2xpbmtlciYjMDM5OyBzYSBmaWUgYWRhdWdhdCBsYSBiYXJhIGRlIHVuZWx0ZS4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnU3RpbCBsaW5rIENNUy1saW5rZXInOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ1N0aWwge2Ntc19zZWxmbGlua30nOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJ3N0aWwtPGEgaHJlZj4nOwokbGFuZ1snY21zbGlua2VyYWRkc3RleHQnXSA9ICdBZGF1Z2lyaSBwZW50cnUgQ01TLWxpbmtlcic7CiRsYW5nWydjbXNsaW5rZXJhZGRzaGVscCddID0gJ1RoaXMgYWxsb3dzIHlvdSB0byBhZGQgc3R1ZmYgdG8gZWl0aGVyIHRoZSA8YSBocmVmPi10YWcgb3Ige2Ntc19zZWxmbGlua30sIHdoZW4gZ2VuZXJhdGVkIGJ5IENNUy1saW5rZXIuJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb250ZXh0J10gPSAnRXZpdGFyZSBjb252ZXJ0aXJlIGxlZ2F0dXJpJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb25oZWxwJ10gPSAnVHVybnMgVGlueU1DRSYjMDM5O3MgYnVpbHRpbiBsaW5rIGNvbnZlcnNpb24gbG9naWMgb2ZmLiBNYWtlcyB7c21hcnR5fS11c2FnZSBpbiB1cmxzIHBvc3NpYmxlLic7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhcmUgdXJsLXVyaSByZWxhdGl2ZSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9ydGFyZSBjdXJhdGFyZSBsYSBsaXBpcmUgKHBhc3RlKSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAnQWNlYXN0YSBzZXRhcmUgYXIgdHJlYnVpIHNhIGZpZSBhY3RpdmF0ZSBwZW50cnUgYSBpbmxhdHVyYSBjb2R1cmlsZSBjaXVkYXRlIGRlIGZvcm1hdGFyZSBjYW5kIHNlIGxpcGVzdGUgZGluIFdvcmQgZXRjLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdDU1MgdGFnIGJvZHknOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnVmEgZmkgYWRhdWdhdCBsYSBkZWZpbml0aWEgY3NzIGEgZWxlbWVudHVsdWkgYm9keS4gSGludDogQ3Vsb2FyZWEgZGUgZnVuZGFsIHBvYXRlIGZpIHNldGF0YSBmb2xvc2luZCAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBudW1haSBDU1Mgc2NyZWVuJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX2hlbHAnXSA9ICdEYWNhIHNlIHNlbGVjdGVhemEgYWNlYXN0YSBvcHRpdW5lIG51bWFpIHN0eWxlc2hlZXQtdXJpbGUgYXRhc2F0ZSBjdSBtZWRpYXR5cGU6IHNjcmVlbiB2b3IgZmkgaW5jbHVzZSBpbiBzdGlsdXJpbGUgcGUgY2FyZSBUaW55TUNFIGxlIGdlc3Rpb25lYXphLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnRm9sb3NpcmUgZmlzaWVyIGNvbmZpZ3VyYXJlIHN0YXRpYyc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAnQWNlYXN0YSBzZXRhcmUgcG9hdGUgYWp1dGEgc2EgbWVhcmdhIFRpbnlNQ0UgcGUgc2lzdGVtZWxlIHVuZGUgaG9zdGluZ3VsIGFkYXVnYSBzdGF0aXN0aWNpIGV0Yy4gbGEgb3JpY2Ugb3V0cHV0LCBzdHJpY2FuZCBmaXNpZXJ1bCBkZSBjb25maWd1cmFyZSBqYXZhc2NyaXB0IGNyZWF0IGRpbmFtaWMnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ0F0ZW50aWUhIEF2ZXRpIG9wdGl1bmVhIGRlIGZpc2llciBkZSBjb25maWd1cmFyZSBzdGF0aWMgYWN0aXZhdGEgZGFyIGZvbGRlcnVsIC90bXAvIG51IGFyZSBwZXJtaXNpdW5pIGRlIHNjcmllcmUuIEFjZXN0IGx1Y3J1IHZhIGltcGllZGljYSBtb2R1bHVsIHNhIHNhbHZlemUgZmlzaWVydWwgc3RhdGljIGRlIGNvbmZpZ3VyYXJlIHNpIHN1bnQgc2Fuc2UgZm9hcnRlIG1hcmkgY2EgVGlueU1DRSBzYSBOVSBmaWUgb3BlcmF0aW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yYSAmIzAzOTtNb2RpZmljYSBGaXNpZXJ1bCYjMDM5OyBwZXJtaXNpdW5lIHBlbnRydSBGaWxlUGlja2VyJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzaGVscCddID0gJ0F0ZW50aWUhIEFjZWFzdGEgcGVybWl0ZSBvIGFudW1pdGEgb3BlcmF0aXVuZSBmaXNpZXItbW9kaWZpY2EgIGNoaWFyIGRhY2EgcGVybWlzaXVuZWEgJiMwMzk7TW9maWNhIEZpc2llciYjMDM5OyBudSBlc3RlIHNldGF0YSBwZW50cnUgZ3J1cHVsIGRlIHV0aWxpemF0b3JpIGN1cmVudC4gQWNlc3RhIHBvYXRlIGZpIGVmZWN0aXYgZm9sb3NpdCBpbXByZXVuYSBjdSBvcHRpdW5lYSBwZW50cnUgcmVzdHJpY3Rpb25hcmVhICBhY2Nlc3VsdWkgYSBkaXJlY3RvcnVsdWkgdW50aWxhemF0b3InOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAnQWZpc2FyZSBjaGVja2JveCBwZW50cnUgcG9ybmlyZS9vcHJpcmUgd3lzaXd5Zyc7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnUG9ybmlyZS9vcHJpcmUgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnU3RpbHVyaSBDU1MnOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgRGFjYSBsYXNhdGkgY2FtcHVsIGdvbCwgVGlueU1DRSB2YSBwYXJzYSBzdGlsZXNoZWV0LXVyaWxlIENTUyBzaSB2YSBsaXN0YSBjbGFzZWxlIGRlIHN0aWx1cmkgcGUgY2FyZSBsZSBjb250aW4uIA0KICBEYWNhIGRvcml0aSBjYSBudW1haSB1bmVsZSBzdGlsdXJpIHNhIGZpZSBhZmlzYXRlIHV0aWxpemF0b3J1bHVpLCBzcGVjaWZpY2F0aS1sZSBpbiBmb3JtYSAmcXVvdDtDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiZxdW90OywgDQogICZxdW90O3N0eWxlMSZxdW90OyBmaWluZCBvIGNsYXNhIGRpbiBzdHlsZXNoZWV0IHNpIG51IHB1bmV0aSAuIChwdW5jdHVsKSBmb2xvc2l0IGluIG1vZCBub3JtYWwgcGVudHJ1IHNlbGVjdG9yaWkgZGUgY2xhc2UgcGVudHJ1IGV4aXN0YSBkZWphIGluIENTUywgdmEgYXJhdGEgYXNhIDxzcGFuIGNsYXNzPSZxdW90O3N0eWxlMSZxdW90Oz50ZXh0PC9zcGFuPiwgaW4gcHJpbXVsIGNhbXAgZGUgbWFpIGpvcy4gDQonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3RpbHVyaSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2NlcyBJbnRlcnppcy4gVmVyaWZpY2F0aSBwZXJtaXNpdW5pbGUuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJvYXJlISc7CiRsYW5nWydzdWJtaXQnXSA9ICdUcmltaXRlcmUnOwokbGFuZ1sndXBkYXRlJ10gPSAnQWN0dWFsaXphcmUnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnU2FsdmFyZSBzZXRhcmknOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdTZXRhcmknOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldGFyaWxlIGF1IGZvc3Qgc2FsdmF0ZSc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYWx2YXJlIHNldGFyaSBhdmFuc2F0ZSc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnU2V0YXJpbGUgYXZhbnNhdGUgYXUgZm9zdCBzYWx2YXRlJzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ0JhcmEgZGUgdW5lbHRlIGEgZm9zdCBzYWx2YXRhJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnU3RpbHVyaWxlIGF1IGZvc3Qgc2FsdmF0ZSc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5BcmllIGRlIHRlc3QsIG5pY2kgdW4gZmVsIGRlIGNvbnRpbnV0IG51IHZhIGZpIHN0cmljYXQgZGFjYSB2YSBqdWNhdGkgYWljaS4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldGFyZSBsYSBzZXRhcmlsZSBpbXBsaWNpdGUnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdSZXNldGF0aSB0b2F0ZSBzZXRhcmlsZSBsYSB2YWxvcmlsZSBpbXBsaWNpdGUnOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnU3VudGV0aSBzaWd1ciBjYSBkb3JpdGkgc2EgcmVzZXRhdGkgYWNlc3RlIHNldGFyaSBsYSB2YWxvcmlsZSBsb3IgaW1wbGljaXRlPyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICdTdW50ZXRpIHNpZ3VyIGNhIGRvcml0aSBzYSByZXNldGF0aSBUT0FURSBzZXRhcmlsZSBsYSB2YWxvcmlsZSBpbXBsaWNpdGU/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdBY2VzdGUgc2V0YXJpIGF1IGZvc3QgcmVzZXRhdGUgbGEgdmFsb3JpbGUgaW1wbGljaXRlJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdUb2F0ZSBzZXRhcmlsZSBhdSBmb3N0IHJlc2V0YXRlIGxhIHZhbG9yaWxlIGltcGxpY2l0ZSc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2EgZm9zdCBhY3R1YWxpemF0IGxhIHZlcnNpdW5lYSAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ01lbml1IGRyb3Bkb3duIGN1c3RvbSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ0luc2VyYXJlIGxpbmsgY2F0cmUgcGFnaW5hIGNtc21zJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdTZXRhcmkgcHJvZmlsIGFyaWUgYWRtaW5pc3RyYXJlJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnU2V0YXJyaSBwcm9maWwgZnJvbnRlbmQnOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW4tdXJpJzsKJGxhbmdbJ3BsdWdpbnNfaGVscCddID0gJ0FsZWdldGkgcGx1Z2luLXVyaWxlIHBlIGNhcmUgZG9yaXRpIHNhIGxlIGFjdGl2YXRpLiBEb2N1bWVudGF0aWEgcG9hdGUgZmkgZ2FzaXRhIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+YWljaTwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnUGx1Z2luLXVyaSc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NhbHZhcmUgcGx1Z2luLXVyaSc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW4tdXJpbGUgYXUgZm9zdCBzYWx2YXRlJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnUGx1Z2luLXVyaSBNb2R1bCc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1BsdWdpbi11cmkgQ29tdW5lJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpZXJlJzsKJGxhbmdbJ3BsdWdpbiddID0gJ1BsdWdpbiAnOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnU3VudGV0aSBsYSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdJbmNhcmNhcmUgc3R5bGVzaGVldCBwZW50cnUgY29udGludXQgKHJlY29tYW5kYXQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkYXVnaXJpIGxhIHN0eWxlc2hlZXQnOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTLXVsIGludHJvZHVzIGFpY2kgdmEgZmkgYWRhdWdhdCBsYSBzdHlsZXNoZWV0LXVsIGNpdGl0IGRlIFRpbnlNQ0UgZHVwYSBjZSBwcmltZXN0ZSBzdGlsdXJpbGUgQ01TbXMnOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ0Zpc2llciBub3UnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCAnOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnRm9sZGVyIG5vdSc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdDcmVhcmUnOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnTnUgYSBmb3N0IGRhdCB1biBudW1lIGRlIGZvbGRlcic7CiRsYW5nWydkaXJleGlzdHMnXSA9ICdOdW1lbGUgZGUgZm9sZGVyIGV4aXN0YSBkZWphJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdGb2xkZXJ1bCBub3UgYSBmb3N0IGNyZWF0JzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ08gZXJvYXJlIGEgYXBhcnV0IGxhIGNyZWFyZSBmb2xkZXInOwokbGFuZ1snbm9maWxlJ10gPSAnTmljaSB1biBmaXNpZXIgbnUgYSBmb3N0IHVwbG9hZGF0JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdGaXNpZXJ1bCB1cGxvYWRhdCBlc3RlIHByZWEgbWFyZSc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ051bWVsZSBmaXNpZXJ1bHVpIGNvbnRpbmUgdW51bCBzYXUgbWFpIG11bHRlIGNhcmFjdGVyZSBpbGVnYWxlICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJvYXJlIGxhIG11dGFyZSBmaXNpZXIgdXBsb2FkYXQgbGEgbG9jdWwgbHVpJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0Zpc2llciB1cGxvYWRhdCBjdSBzdWNjZXMnOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ0Zpc2llcnVsIGluY2FyY2F0IG51IGVzdGUgbyBpbWFnaW5lJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ1NlbGVjdGllIGZpc2llciBDTVNNYWRlU2ltcGxlJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdTdWNjZXMnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdPcGVyYXRpdW5pIGZpc2llcmUnOwokbGFuZ1sndGhvdXNhbmRkZWxpbWl0ZXInXSA9ICcsICc7CiRsYW5nWydzaXplJ10gPSAnRGltZW5zaXVuZSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnTHhIICc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdBdmFuc2F0JzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPkNlIGZhY2UgYWNlc3RhPzwvaDM+DQoJPHA+UGVybWl0ZSBmb2xvc2lyZWEgVGlueU1DRSBjYSBlZGl0b3IgV1lTSVdZRy48L3A+DQoJPGgzPkN1bSBzZSBmb2xvc2VzdGU/PC9oMz4NCgk8cD5JbnN0YWxhdGktbCwgYXBvaSBtZXJnZXRpIGxhIFByZWZlcmludGUgdXRpbGl6YXRvciBzaSBzZXRhdGkgVGlueU1DRSBjYSBlZGl0b3Igd3lzaXd5ZyBwcmVmZXJhdC48L3A+DQoJPGgzPlByb2JsZW1lPC9oMz4NCgl1bmlpIHV0aWxpemF0b3JpIGF1IHByb2JsZW1lIGN1IFRpbnkgbGEgbW9kdSBjYSBudSBzZSBhZmlzZWF6YSBkdXBhIGluc3RhbGFyZSBzYXUgYWN0dWFsaXphcmUuIEFpY2kgZXN0ZSB1biBjaGVja2xpc3QgZGUgbHVjcnVyaSBwZSBjYXJlIGxlIHB1dGV0aSBpbmNlcmNhIGluYWludGUgZGUgYSBjZXJlIGFqdXRvciBtYWkgZGVwYXJ0ZS4NCgk8YnIvPg0KCTx1bD4NCgk8bGk+MS4gVmEgcnVnYW0sIFZBIFJVR0FNLCBpbmNlcmNhdGkgc2EgcmUtdXBsb2FkYXRpIGZvbGRlcnVsIG1vZHVsZXMvVGlueU1DRSBwZSBzZXJ2ZXIuIEF0aSBmaSB1aW1pdGkgc2EgYWZsYXRpIGRlIGNhdGUgb3JpIGFjZXN0IGx1Y3J1IGEgc2FsdmF0IHNpdHVhdGlhLjwvbGk+DQoJPGxpPjIuIEluY2VyY2F0aSBzYSBhY3RpdmF0aSBvcHRpdW5lYSBkZSBmaXNpZXIgY29uZmlndXJhcmUgc3RhdGljLiBOb3RhdGkgY2EgYWNlc3QgbHVjcnUgY2VyZSBjYSBmb2xkZXJ1bCAvdG1wLyBzYSBhaWJhIHBlcm1pc2l1bmkgZGUgc2NyaWVyZSBwZW50cnUgd2Vic2VydmVyPC9saT4NCgk8bGk+My4gRGFjYSBhY3R1YWxpemF0aSwgaW5jZXJjYXRpIHNhIHJlc2V0YXRpIHRvYXRlIHNldGFyaWxlLiBOdSBlIGZydW1vcyBkYWNhIGF0aSBmYWN1dCBvIG11bHRpbWUgZGUgbW9kaWZpY2FyaSwgc3RpbSwgZGFyIG8gbXVsdGltZSBkZSBsdWNydXJpIHNlIHBvdCBzY2hpbWJhIGRlIGxhIHZlcnNpdW5lIGxhIHZlcnNpdW5lLjwvbGk+DQoJPC91bD4NCgk8YnIvPg0KCQkNCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjg3OTQ1NjMzNy4xMzI4MjU4MjQxLjEzMjgyNTgyNDEuMTMyODI1ODI0MS4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMzI4MjU4MjQxJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzI4MjU4MjQxLjEuMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtc21zJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0Ug0JLQuNC30YPQsNC70YzQvdGL0Lkg0YDQtdC00LDQutGC0L7RgCc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAn0K3RgtC+0YIg0LzQvtC00YPQu9GMINC/0L7Qt9Cy0L7Qu9GP0LXRgiDRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQutC+0L3RgtC10L3RgiDQuNC70Lgg0LTRgNGD0LPQuNC1INCy0LjQtNGLINC00LDQvdC90YvRhS4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfQnNC+0LTRg9C70Ywg0YPQtNCw0LvQtdC9Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICfQnNC+0LTRg9C70Ywg0LLQtdGA0YHQuNC4ICVzINGD0YHRgtCw0L3QvtCy0LvQtdC9Lic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAn0KPQtNCw0LvQuNGC0Ywg0YLQtdCz0Lgg0YTQvtC90LAg0LjQtyBDU1MnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ9Cj0LTQsNC70LjRgtGMINGE0L7QvSDRgdCw0LnRgtCwINC40Lcg0YDQtdC00LDQutGC0L7RgNCwLic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAn0J/RgNC40LzQtdC90LjRgtGMINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40LUg0LTQu9GPINCy0YvQstC+0LTQsCBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICfQpNC+0YDQvNCw0YLRiyDQsdC70L7QutC+0LIg0LIg0LLRi9C/0LDQtNCw0Y7RidC10Lwg0LzQtdC90Y4nOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICfQlNC+0LHQsNCy0LjRgtGMINC+0L/QtdGA0LDRhtC40Lgg0YEg0YLQsNCx0LvQuNGG0LDQvNC4JzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAn0KHRgtC40LvRjCDQtNC70Y8g0L3QvtCy0L7QuSDRgdGC0YDQvtC60LgnOwokbGFuZ1sncHN0eWxlJ10gPSAn0L/QsNGA0LDQs9GA0LDRhCAoSFRNTCDRgtC10LMgcCknOwokbGFuZ1snYnJzdHlsZSddID0gJ9C/0LXRgNC10L3QvtGBIChIVE1MINGC0LXQsyBiciknOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAn0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0LbQsNGC0LjQtSBneic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICfQrdGC0L4g0L/QvtC30LLQvtC70Y/QtdGCINGD0LLQtdC70LjRh9C40YLRjCDRgdC60L7RgNC+0YHRgtGMINC30LDQs9GA0YPQt9C60LggVGlueU1DRSwg0J3QniDRgtCw0LrQttC1INC80L7QttC10YIg0L/QvtC80LXRiNCw0YLRjCDQtdCz0L4g0LfQsNCz0YDRg9C30LrQtSDQvdCwINC90LXQutC+0YLQvtGA0YvRhSDRgdC40YHRgtC10LzQsNGFLiDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGBINC+0YHRgtC+0YDQvtC20L3QvtGB0YLRjNGOLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAn0JLRgdC10LPQtNCwINC00L7QsdCw0LLQu9GP0YLRjCBIVE1MINGC0LXQsyBwLCDQutCw0Log0L/QtdGA0LLRi9C5INC4INC+0YHQvdC+0LLQvdC+0Lkg0LIg0LrQvtC90YLQtdC90YLQtS4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NraGVscCddID0gJ9CS0YHQtdCz0LTQsCDQt9Cw0LrQu9GO0YfQsNGC0Ywg0YLQtdC60YHRgiDQsdC10Lcg0YLQtdCz0L7QsiDQsiBIVE1MINGC0LXQsyBwJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0PRgtC40LvRjCBGaWxlcGlja2VyJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAn0KDQsNC30LzQtdGAIEZpbGVwaWNrZXInOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAn0KDQsNC30YDQtdGI0LjRgtGMINC30LDQs9GA0YPQt9C60YMg0YTQsNC50LvQvtCyINC4INGB0L7Qt9C00LDQvdC40LUg0L/QsNC/0L7QuiDRh9C10YDQtdC3IEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ9Cg0LDQt9GA0LXRiNC40YLRjCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtC1INC40LfQvNC10L3QtdC90LjQtSDRgNCw0LfQvNC10YDQvtCyINC30LDQs9GA0YPQttC10L3QvdGL0YUg0LrQsNGA0YLQuNC90L7Quic7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICfQoNCw0LfQvNC10YDRiyDQv9C+LdGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydyZXNpemV0byddID0gJ9CY0LfQvNC10L3QuNGC0Ywg0YDQsNC30YDQtdGI0LXQvdC40LUg0L3QsDonOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ9Ch0L7Qt9C00LDQstCw0YLRjCDRjdGB0LrQuNC3INCy0L4g0LLRgNC10LzRjyDQt9Cw0LPRgNGD0LfQutC4INGE0LDQudC70L7Qsic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICfQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YPQu9GD0YfRiNC10L3QvdGL0Lkg0L/RgNC+0YTQuNC70YwgVGlueU1DRSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ9Ch0L7RhdGA0LDQvdC40YLRjCDQv9GA0L7RhNC40LvRjCc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICfQn9GA0L7RhNC40LvRjCDRgdC+0YXRgNCw0L3QtdC9JzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ9Cf0YDQvtGE0LjQu9C4JzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICfQn9Cw0L3QtdC70Ywg0LjQvdGB0YLRgNGD0LzQtdC90YLQvtCyINC00LvRjyDQsNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgNC+0LInOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ9Ch0L7RhdGA0LDQvdC40YLRjCDQvdCw0YHRgtGA0L7QudC60LgnOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICfQoNCw0LfRgNC10YjQuNGC0Ywg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YDQsNGB0YjQuNGA0LXQvdC90L7Qs9C+INC/0YDQvtGE0LjQu9GPIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAn0J/QvtC60LDQt9Cw0YLRjCDQvtC/0YbQuNC4INGD0L/RgNCw0LLQu9C10L3QuNGPINGE0LDQudC70LDQvNC4JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICfQn9C+0LrQsNC30LDRgtGMINGD0L/RgNCw0LLQu9C10L3QuNC1INGE0LDQudC70LDQvNC4ICjQt9Cw0LPRgNGD0LfQutCwLCDRgdC+0LfQtNCw0L3QuNC1INC/0LDQv9C60Lgg0Lgg0YPQtNCw0LvQtdC90LjQtSDRhNCw0LnQu9CwKSAg0LIgRmlsZVBpY2tlciwg0LXRgdC70Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC+0LHQu9Cw0LTQsNC10YIg0LTQvtGB0YLQsNGC0L7Rh9C90YvQvNC4INC/0YDQsNCy0LDQvNC4JzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ9Ce0LPRgNCw0L3QuNGH0LXQvdC40LUg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICfQrdGC0LAg0L3QsNGB0YLRgNC+0LnQutCwINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQvtCz0YDQsNC90LjRh9C40YLRjCDRg9C/0YDQsNCy0LvQtdC90LjRjyDRhNCw0LnQu9Cw0LzQuCDQvdCwINC/0L7QtNC60LDRgtCw0LvQvtCzINCyINC/0LDQv9C60LUgdXBsb2Fkcywg0LrQvtGC0L7RgNGL0Lkg0LjQvNC10LXRgiDRgtC+INC20LUg0L3QsNC30LLQsNC90LjQtSwg0YfRgtC+INC4INC70L7Qs9C40L0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLiDQldGB0LvQuCDRgtCw0LrQvtC5INC/0L7QtNC60LDRgtCw0LvQvtCzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIsINC+0L0g0LHRg9C00LXRgiDRgdC+0LfQtNCw0L0uINCf0L7QttCw0LvRg9C50YHRgtCwLCDQvtCx0YDQsNGC0LjRgtC1INCy0L3QuNC80LDQvdC40LUsINGN0YLQviDQsiDQvdCw0YHRgtC+0Y/RidC10LUg0LLRgNC10LzRjyDRjdGC0L4g0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDRgNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQsiDQutCw0YLQsNC70L7Qs9C1IHVwbG9hZHMvaW1hZ2VzLiDQrdGC0L4g0LzQvtC20LXRgiDQuNC30LzQtdC90LjRgtGM0YHRjyDQsiDQsdGD0LTRg9GJ0LXQvC4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAn0JLRiyDRg9Cy0LXRgNC10L3RiyDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLQvtGCINGE0LDQudC7PyAnOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICfQsdGL0Lsg0YPRgdC/0LXRiNC90L4g0YPQtNCw0LvQtdC9JzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICfQvdC10LLQvtC30LzQvtC20L3QviDRg9C00LDQu9C40YLRjCc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICfQvdC10LLQvtC30LzQvtC20L3QviDRg9C00LDQu9C40YLRjCc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAn0YPRgdC/0LXRiNC90L4g0YPQtNCw0LvQtdC90L4nOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0YMg0L/Rg9GB0YLRg9GOINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNGOPyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICfQo9C00LDQu9C40YLRjCDQv9GD0YHRgtGD0Y4g0L/QvtC00LTQuNGA0LXQutGC0L7RgNC40Y4nOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ9Cj0LTQsNC70LjRgtGMINGE0LDQudC7JzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICfQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C10YHRgtGMINGE0LDQudC7IHRpbnljb25maWcucGhwLCDQstC+0LfQvNC+0LbQvdC+IFRpbnlNQ0Ug0L3QtSDQsdGD0LTQtdGCINGA0LDQsdC+0YLQsNGC0YwuINCf0YDQvtCy0LXRgNGM0YLQtSDQv9GA0LDQstCwINC90LAg0LTQvtGB0YLRg9C/INC6INGE0LDQudC70YMg0Lgg0LXQs9C+INC/0LDQv9C60LU6INC00L7RgdGC0YPQv9C10L0g0LTQu9GPINCy0YHQtdGFINC90LAg0YfRgtC10L3QuNC1INC4INGC0L7Qu9GM0LrQviDQtNC70Y8g0LLQu9Cw0LTQtdC70YzRhtCwINC90LAg0LfQsNC/0LjRgdGMLiAnOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAn0J/QvtC60LDQt9GL0LLQsNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LInOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICfQn9C+0LrQsNC30YvQstCw0YLRjCDRg9C80LXQvdGM0YjQtdC90L3Ri9C1INC40LfQvtCx0YDQsNC20LXQvdC40Y8nOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ9Cf0L7QutCw0LfRi9Cy0LDRgtGMINC80LDQu9C10L3RjNC60LjQtSDQuNC30L7QsdGA0LDQttC10L3QuNGPINGE0LDQudC70L7QsiDQsiDRgdC/0LjRgdC60LDRhSc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICfQn9C+0LrQsNC30YvQstCw0YLRjCDQutCw0Log0LzQsNC70LXQvdGM0LrQuNC1INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0YTQsNC50LvQvtCyINGC0LDQuiDQuCDQuNC80LXQvdCwJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ9Ch0LrQuNC9JzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAn0KDQsNC30L3QvtCy0LjQtNC90L7RgdGC0Ywg0YHQutC40L3QsCc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPtCS0L3QuNC80LDQvdC40LUhPGJyLz7QmNC30LzQtdC90LXQvdC40LUg0Y3RgtC40YUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LzQvtC20LXRgiDQv9GA0LjQstC10YHRgtC4INC6INGC0L7QvNGDLCDRh9GC0L4gVGlueU1DRSDQv9C10YDQtdGB0YLQsNC90LXRgiDRgNCw0LHQvtGC0LDRgtGMINC40LvQuCDQs9C10L3QtdGA0LjRgNGD0LXQvNGL0Lkg0LjQvCDQutC+0LQg0LHRg9C00LXRgiDRgdC+0LTQtdGA0LbQsNGC0Ywg0L7RiNC40LHQutC4LiDQoNC10LTQsNC60YLQuNGA0YPQudGC0LUg0Y3RgtC4INC90LDRgdGC0YDQvtC50LrQuCDRgtC+0LvRjNC60L4sINC10YHQu9C4INCS0Ysg0LfQvdCw0LXRgtC1LCDRh9GC0L4g0JLRiyDQtNC10LvQsNC10YLQtSEg0KfQuNGC0LDQudGC0LUg0LTQvtC60YPQvNC10L3RgtCw0YbQuNGOINC6IFRpbnlNQ0Ug0L3QsCDQvtGE0LjRhtC40LDQu9GM0L3QvtC8INGB0LDQudGC0LUsINC/0LXRgNC10LQg0YLQtdC8INC60LDQuiDQv9GA0L7QuNC30LLQvtC00LjRgtGMINC40LfQvNC10L3QtdC90LjRjy4gPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICfQmtC+0LTQuNGA0L7QstCw0L3QuNC1INGB0LjQvNCy0L7Qu9C+0LInOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICfQmtCw0Log0LXRgdGC0YwgKNCx0YvRgdGC0YDQviwg0YDQsNCx0L7RgtCw0LXRgiDQsiDQsdC+0LvRjNGI0LjQvdGB0YLQstC1INGB0LvRg9GH0LDQtdCyKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAn0JjQvNC10L3QvdC+0LUgKNC/0YDQuNC80LXRgCAgbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ9Cm0LjRhNGA0L7QstC+0LUgKNC/0YDQuNC80LXRgCAjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICfQn9C+0LrQsNC30LDRgtGMINC/0YPRgtGMINGN0LvQtdC80LXQvdGC0LAg0LIg0L3QuNC20L3QtdC5INGH0LDRgdGC0Lgg0YDQtdC00LDQutGC0L7RgNCwLic7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ9Cf0LDQvdC10LvRjCDQuNC90YHRgtGA0YPQvNC10L3RgtC+0LInOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAn0JfQtNC10YHRjCDQtNC+0LvQttC10L0g0YHRgtC+0Y/RgtGMINGB0L/QuNGB0L7QuiDQutC90L7Qv9C+0Log0YfQtdGA0LXQtyDQt9Cw0L/Rj9GC0YPRjiwg0LrQvtGC0L7RgNGL0LUg0LTQvtC70LbQvdGLINCx0YvRgtGMINCy0LrQu9GO0YfQtdC90Ysg0LIg0L/QsNC90LXQu9GMINC40L3RgdGC0YDRg9C80LXQvdGC0L7Qsi4nOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAn0J/QsNC90LXQu9GMINC40L3RgdGC0YDRg9C80LXQvdGC0L7Qsic7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICfQndCw0LbQvNC40YLQtSDRgdGO0LTQsCwg0YfRgtC+0LHRiyDQv9C+0YHQvNC+0YLRgNC10YLRjCDQuNC90YHRgtGA0YPQutGG0LjQuCDQsiBUaW55TUNFLdCy0LjQutC4INC00LvRjyDQv9Cw0L3QtdC70Lgg0LjQvdGB0YLRgNGD0LzQtdC90YLQvtCyLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJ9Co0LjRgNC40L3QsCDQvtC60L3QsCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ9CS0YvRgdC+0YLQsCDQvtC60L3QsCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPJzsKJGxhbmdbJ2F1dG8nXSA9ICfQn9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydvciddID0gJ9C40LvQuCc7CiRsYW5nWyd1c2VodG1sNXNjaGVtZXRleHQnXSA9ICfQmNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgSFRNTDUt0YHRhdC10LzRgywg0LLQvNC10YHRgtC+IEhUTUwgNCc7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICfQotC10YHRgtC+0LLQvtC1INC/0L7Qu9C1JzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAn0J/QvtC60LDQt9Cw0YLRjCDRgNC10LfRg9C70YzRgtCw0YIg0YLQtdGB0YLQsCc7CiRsYW5nWyd0ZXN0YXJlYWVkaXRvciddID0gJ9Ci0LXRgdGC0L7QstC+0LUg0L/QvtC70Y8g0YDQtdC00LDQutGC0L7RgNCwJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAn0KLQtdGB0YLQvtCy0L7QtSDQv9C+0LvRjyDQstGL0LTQsNGH0LgnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICfQotC10YHRgtC+0LLQvtC1INC/0L7Qu9GPINC40YHRhdC+0LTQvdC+0LPQviDQutC+0LTQsCc7CiRsYW5nWydhbGxvd3Jlc2l6aW5nJ10gPSAn0KDQsNC30YDQtdGI0LjRgtGMINC40LfQvNC10L3QtdC90LjQtSDRgNCw0LfQvNC10YDQvtCyINC/0L7Qu9GPINGA0LXQtNCw0LrRgtC+0YDQsCc7CiRsYW5nWydyZXNpemVub25lJ10gPSAn0J3QtSDRgNCw0LfRgNC10YjQsNGC0Ywg0LjQt9C80LXQvdGP0YLRjCc7CiRsYW5nWydyZXNpemVib3RoJ10gPSAn0KDQsNC30YDQtdGI0LDRgtGMINC40LfQvNC10L3Rj9GC0Ywg0LIg0YjQuNGA0LjQvdGDINC4INCy0YvRgdC+0YLRgyc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICfQoNCw0LfRgNC10YjQsNGC0Ywg0LjQt9C80LXQvdGP0YLRjCDRgtC+0LvRjNC60L4g0LIg0LLRi9GB0L7RgtGDJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICfQpNC+0YDQvNCw0YIg0LTQsNGC0Ysg0Lgg0LLRgNC10LzQtdC90LgnOwokbGFuZ1sndGltZXRleHQnXSA9ICfQktGA0LXQvNGPJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAn0JTQsNGC0LAnOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ9Cd0LDQttC80LjRgtC1INGB0Y7QtNCwLCDRh9GC0L7QsdGLINC/0L7Qu9GD0YfQuNGC0Ywg0L/QvtC80L7RidGMINC00LvRjyDRhNC+0YDQvNCw0YLQsCDQtNCw0YLRiyDQuNC70Lgg0LLRgNC10LzQtdC90LguJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ9CU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0L3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICfQntC00L3QviDQt9C90LDRh9C10L3QuNC1INC90LAg0LrQsNC20LTRg9GOINGB0YLRgNC+0LrRgywg0LfQsNC/0Y/RgtGL0LUg0LHRg9C00YPRgiDQtNC+0LHQsNCy0LvQtdC90Ysg0LTQviDQuCDQv9C+0YHQu9C1INGN0YLQvtCz0L4g0YHQvtC00LXRgNC20LjQvNC+0LPQvi4g0KfQuNGC0LDQudGC0LUg0LjQvdGB0YLRgNGD0LrRhtC40Y4g0LogIFRpbnlNQ0Ug0LIgV2lraS4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAn0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QtSDQstGL0L/QsNC00LDRjtGJ0LXQtSDQvNC10L3Rjic7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICfQn9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60L7QtSDQstGL0L/QsNC00LDRjtGJ0LXQtSDQvNC10L3Rji4gINCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC00LvRjyDRg9C/0YDQvtGJ0LXQvdC90L7Qs9C+INC00L7RgdGC0YPQv9CwINC6INGC0LXQs9Cw0Lwg0L3QsNC/0YDQuNC80LXRgDogIlN0YXJ0IGV4cGFuZC9jb2xsYXBzZS1hcmVhfHtzdGFydEV4cGFuZENvbGxhcHNlIGlkPVxcXCdleHBhbmQxXFxcJyB0aXRsZT1cXFwnVGhpcyBpcyBteSBleHBhbmRhYmxlIGFyZWFcXFwnfQ0KDQonOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ9Ch0YLQsNGA0YLQvtCy0YvQtSDQvdCw0YHRgtGA0L7QudC60Lgg0YDQsNC30YDQtdGI0LXQvdGLJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICfQn9GA0Lgg0L7RgtC60LvRjtGH0LXQvdC40Lgg0YDQtdC00LDQutGC0L7RgCBUaW55INCx0YPQtNC10YIg0LfQsNCz0YDRg9C20LDRgtGM0YHRjyDQsiDQvtGC0LrQu9GO0YfQtdC90L3QvtC8INGB0L7RgdGC0L7Rj9C90LjQuC4g0KDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8g0YLQvtC70YzQutC+INC/0YDQuCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQuCDRh9C10LrQsdC+0LrRgdCwINC00LvRjyDQstC60LvRjtGH0LXQvdC40Y8gLyDQstGL0LrQu9GO0YfQtdC90LjRjyDRgNC10LTQsNC60YLQvtGA0LAuJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAn0JfQsNCz0YDRg9C30LjRgtGMIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICfQrdGC0L4g0L/QvtC30LLQvtC70Y/QtdGCINGB0LPQtdC90LXRgNC40YDQvtCy0LDRgtGMINGP0LLQsCDRgdC60YDQuNC/0YIg0LrQvtC0LCDQvdC10L7QsdGF0L7QtNC40LzRi9C5INC00LvRjyDQtNC+0LHQsNCy0LvQtdC90LjRjyBcJ2Ntc2xpbmtlclwnLdCwINC90LAg0L/QsNC90LXQu9GMINC40L3RgdGC0YDRg9C80LXQvdGC0L7Qsi4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciDRgdGC0LjQu9GMINGB0YHRi9C70L7Quic7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30t0YHRgtC40LvRjCAo0YEg0L/QvtC00LTQtdGA0LbQutC+0Lkg0KfQn9CjKSc7CiRsYW5nWydhaHJlZnN0eWxlJ10gPSAnSFRNTCDRgtC10LMgQSAo0LHQtdC3INC/0L7QtNC00LXRgNC20LrQuCDQp9Cf0KMpJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHN0ZXh0J10gPSAnQ01TLWxpbmtlciDQtNC+0L/QvtC70L3QtdC90LjRjyc7CiRsYW5nWydjbXNsaW5rZXJhZGRzaGVscCddID0gJ9Ct0YLQviDQv9C+0LfQstC+0LvRj9C10YIg0LTQvtCx0LDQstC70Y/RgtGMINGB0YHRi9C70LrQuCDQsiDQstC40LTQtSBIVE1MINGC0LXQs9CwIEEg0LjQu9C4IHtjbXNfc2VsZmxpbmt9LCDQtdGB0LvQuCDRgdGB0YvQu9C60LAg0YHQvtC30LTQsNC10YLRgdGPINC/0YDQuCDQv9C+0LzQvtGJ0LggQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICfQmNC30LHQtdCz0LDRgtGMINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40Y8g0YHRgdGL0LvQvtC6JzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb25oZWxwJ10gPSAn0JLRi9C60LvRjtGH0LDQtdGCINCy0YHRgtGA0L7QtdC90L3Rg9GOINC70L7Qs9C40LrRgyBUaW55TUNFINC00LvRjyDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNGPINGB0YHRi9C70L7Qui4g0J/QvtC30LLQvtC70Y/QtdGCINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INGC0LXQs9C+0LIgU21hcnR5INCyIFVSTC4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ9CT0LXQvdC10YDQuNGA0L7QstCw0YLRjCDQvtGC0L3QvtGB0LjRgtC10LvRjNC90YvQtSDRgdGB0YvQu9C60LgnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ9Cf0YDQuNC90YPQtNC40YLQtdC70YzQvdCw0Y8g0YfQuNGB0YLQutCwINC60L7QtNCwINC/0YDQuCDQstGB0YLQsNCy0LrQtSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGVoZWxwJ10gPSAn0K3RgtC+INC00L7Qu9C20L3QviDQsdGL0YLRjCDQstC60LvRjtGH0LXQvdC+INC00LvRjyDRg9C00LDQu9C10L3QuNGPINGB0YLRgNCw0L3QvdGL0YUg0LrQvtC00L7QsiDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNGPINC/0YDQuCDQstGB0YLQsNCy0LrQtSDQuNC3INGA0LXQtNCw0LrRgtC+0YDQsCAgV29yZCAg0Lgg0YIu0L8uJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ9Ci0LXQsyBDU1Mg0LTQu9GPIGJvZHkt0Y3Qu9C10LzQtdC90YLQsCc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICfQkdGD0LTQtdGCINC00L7QsdCw0LLQu9C10L3QviDQuiBjc3Mg0YHRgtC40LvRjiBib2R5LdGC0Y3Qs9CwLiDQn9C+0LTRgdC60LDQt9C60LA6INGG0LLQtdGCINGE0L7QvdCwINC80L7QttC10YIg0LHRi9GC0Ywg0YPRgdGC0LDQvdC+0LLQu9C10L0g0LIg0LHQtdC70YvQuSDQv9GA0Lgg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LggImJhY2tncm91bmQtY29sb3I6d2hpdGUiJzsKJGxhbmdbJ2luY2x1ZGVvbmx5c2NyZWVuY3NzX3RleHQnXSA9ICfQktC60LvRjtGH0LDRgtGMINGC0L7Qu9GM0LrQviDRjdC60YDQsNC90L3Ri9C5IENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAn0JLRi9Cx0LXRgNC40YLQtSDQtdGB0LvQuCDRhdC+0YLQuNGC0LUg0LLQuNC00LXRgtGMINGC0L7Qu9GM0LrQviDRgdGC0LjQu9C4INGBIG1lZGlhPSJzY3JlZW4iINC/0YDQuCDRgNCw0LHQvtGC0LUg0YEg0YDQtdC00LDQutGC0L7RgNC+0LwuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICfQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHRgtCw0YLQuNGH0L3Ri9C5INGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWdoZWxwJ10gPSAn0K3RgtC+INC80L7QttC10YIg0LfQsNGB0YLQsNCy0LjRgtGMINGA0LDQsdC+0YLQsNGC0YwgVGlueSDQvdCwINGB0LjRgdGC0LXQvNCw0YUsINCz0LTQtSDRhdC+0YHRgtC40L3QsyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDQtNC+0LHQsNCy0LvRj9C10YIg0LLRgdGP0LrRg9GOINGH0YPRiNGMINC6INC00LjQvdCw0LzQuNGH0L3QviDQuiDQstGL0LLQvtC00YMsINGC0LjQv9CwINGB0YLQsNGC0LjRgdGC0LjQutC4LCDQvdCw0YDRg9GI0LDRjyDQv9GA0Lgg0Y3RgtC+0Lwg0LTQuNC90LDQvNC40YfQtdGB0LrQuCDRgdC+0LfQtNCw0L3QvdGL0Lkg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdGL0Lkg0YTQsNC50LsgSmF2YVNjcmlwdCc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAn0JLQvdC40LzQsNC90LjQtSEg0KMg0JLQsNGBINCy0LrQu9GO0YfQtdC90Ysg0YHRgtCw0YLQuNGH0LXRgdC60LjQtSDRhNCw0LnQu9GLINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCwg0L3QviDQstCw0Ygg0LrQsNGC0LDQu9C+0LMgdG1wINC90LUg0LTQvtGB0YLRg9C/0LXQvSDQtNC70Y8g0LfQsNC/0LjRgdC4LiDQrdGC0L4g0L3QtSDQv9C+0LfQstC+0LvQuNGCINC80L7QtNGD0LvRjiDRgdC+0YXRgNCw0L3QuNGC0Ywg0YHRgtCw0YLQuNGH0L3Ri9C5INGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDQuCwg0YHQutC+0YDQtdC5INCy0YHQtdCz0L4sINC/0YDQuNCy0LXQtNC10YIg0Log0L7RgtC60LDQt9GDINGA0LDQsdC+0YLRiyBUaW55TUNFLic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc3RleHQnXSA9ICfQmNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0L/RgNCw0LLQsCAiTW9kaWZ5IEZpbGVzIiDQtNC70Y8gRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICfQktC90LjQvNCw0L3QuNC1ISDQrdGC0L4g0L/QvtC30LLQvtC70LjRgiDQv9GA0L7QuNC30LLQtdGB0YLQuCDQvdC10LrQvtGC0L7RgNGL0LUg0L7Qv9C10YDQsNGG0LjQuCDQv9C+INC40LfQvNC10L3QtdC90LjRjiDRhNCw0LnQu9C+0LIsINC00LDQttC1INC10YHQu9C4INGDINCz0YDRg9C/0L/RgyDQvtGC0YHRg9GB0YLQstGD0Y7RgiDQv9GA0LDQstCwICJNb2RpZnkgRmlsZXMiLiDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC00LvRjyDQvtCz0YDQsNC90LjRh9C10L3QuNGPINC00L7RgdGC0YPQv9CwINC6INC60LDRgtCw0LvQvtCz0LDQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS4nOwokbGFuZ1snc2hvd3RvZ2dsZWJ1dHRvbl90ZXh0J10gPSAn0J/QvtC60LDQt9GL0LLQsNGC0Ywg0YTQu9Cw0LbQvtC6INC00LvRjyDQstC60LvRjtGH0LXQvdC40Y8g0Lgg0LLRi9C60LvRjtGH0LXQvdC40Y8g0LLQuNC30YPQsNC70YzQvdC+0LPQviDRgNC10LTQsNC60YLQvtGA0LAnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ9CS0LrQu9GO0YfQuNGC0YwgLyDQstGL0LrQu9GO0YfQuNGC0Ywg0LLQuNC30YPQsNC70YzQvdGL0Lkg0YDQtdC00LDQutGC0L7RgCc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAn0KHRgtC40LvQuCBDU1MnOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICfQldGB0LvQuCDQstGLINC+0YHRgtCw0LLQuNGC0LUg0Y3RgtC+INC/0L7Qu9C1INC/0YPRgdGC0YvQvCwg0YLQviBUaW55TUNFINC/0YDQvtCw0L3QsNC70LjQt9C40YDRg9C10YIg0JLQsNGIIENTUyDRhNCw0LnQuyDQuCDQstGL0LTQsNGB0YIg0YHQv9C40YHQvtC6INGB0L7QtNC10YDQttCw0YnQuNGFINCyINC90LXQvCDRgdGC0LjQu9C10Lkg0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy4g0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUsINGH0YLQvtCx0Ysg0YLQvtC70YzQutC+INC90LXQutC+0YLQvtGA0YvQtSDRgdGC0LjQu9C4INCx0YvQu9C4INC00L7RgdGC0YPQv9C90Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GOLCDRgtC+INGD0LrQsNC20LjRgtC1INC40YUg0LIg0YTQvtGA0LzQtSAiQ3VzdG9tTmFtZTEgPSBzdHlsZTE7IEN1c3RvbU5hbWUyID0gc3R5bGUyIiDQsiDQv9C10YDQstC+0Lwg0L/QvtC70LUuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ9Ch0YLQuNC70LgnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAn0J3QtdGCINC00L7RgdGC0YPQv9CwLiDQn9GA0L7QstC10YDRjNGC0LUg0L/RgNCw0LLQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uJzsKJGxhbmdbJ2Vycm9yJ10gPSAn0J7RiNC40LHQutCwISc7CiRsYW5nWydzdWJtaXQnXSA9ICfQntGC0L/RgNCw0LLQuNGC0YwnOwokbGFuZ1sndXBkYXRlJ10gPSAn0JjQt9C80LXQvdC40YLRjCc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICfQodC+0YXRgNCw0L3QuNGC0Ywg0L3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAn0J3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICfQndCw0YHRgtGA0L7QudC60Lgg0YHQvtGF0YDQsNC90LXQvdGLJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ9Ch0L7RhdGA0LDQvdC40YLRjCDRgNCw0YHRiNC40YDQtdC90L3Ri9C1INC90LDRgdGC0YDQvtC50LrQuCc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAn0KDQsNGB0YjQuNGA0LXQvdC90YvQtSDQvdCw0YHRgtGA0L7QudC60Lgg0YHQvtGF0YDQsNC90LXQvdGLJzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ9Cf0LDQvdC10LvRjCDQuNC90YHRgtGA0YPQvNC10L3RgtC+0LIg0YHQvtGF0YDQsNC90LXQvdCwJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAn0KHRgtC40LvQuCDRgdC+0YXRgNCw0L3QtdC90YsnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+0J/QvtC70LUg0LTQu9GPINGC0LXRgdGC0LAuINCi0LXRgdGCINCyINGN0YLQvtC8INC/0L7Qu9C1INC90LjQutCw0Log0L3QtSDQv9C+0LLQu9C40Y/QtdGCINC90LAg0YHQvtC00LXRgNC20LDQvdC40LUg0JLQsNGI0LjRhSDRgdGC0YDQsNC90LjRhiDQuCDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0YHQvtGF0YDQsNC90LXQvS4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICfQodCx0YDQvtGBINC6INC30L3QsNGH0LXQvdC40Y/QvCDQv9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydyZXNldGFsbCddID0gJ9Ch0LHRgNC+0YHQuNGC0Ywg0LLRgdC1INC90LDRgdGC0YDQvtC50LrQuCDQuiDQt9C90LDRh9C10L3QuNGP0Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRgdCx0YDQvtGB0LjRgtGMINGN0YLQuCDQv9Cw0YDQsNC80LXRgtGA0Ysg0Log0LfQvdCw0YfQtdC90LjRj9C8INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOPyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGB0LHRgNC+0YHQuNGC0Ywg0JLQodCVINC90LDRgdGC0YDQvtC50LrQuCDQuiDQt9C90LDRh9C10L3QuNGP0Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICfQndCw0YHRgtGA0L7QudC60Lgg0LHRi9C70Lgg0YHQsdGA0L7RiNC10L3RiyDQuiDQt9C90LDRh9C10L3QuNGP0Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ9CS0YHQtSDQvdCw0YHRgtGA0L7QudC60Lgg0LHRi9C70Lgg0YHQsdGA0L7RiNC10L3RiyDQuiDQt9C90LDRh9C10L3QuNGP0Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICfQsdGL0Lsg0L7QsdC90L7QstC70LXQvSDQtNC+INCy0LXRgNGB0LjQuCAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ9Cg0LDRgdGI0LjRgNC10L3QvdC+0LUg0LLRi9C/0LDQtNCw0Y7RidC10LUg0LzQtdC90Y4nOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICfQktGB0YLQsNCy0LjRgtGMINC70LjQvdC6INC90LAg0YHRgtGA0LDQvdC40YbRgyBDTVNNUyc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAn0J/QsNC90LXQu9GMINC40L3RgdGC0YDRg9C80LXQvdGC0L7QsiDQtNC70Y8g0YDQtdC00LDQutGC0L7RgNC+0LInOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICfQn9Cw0L3QtdC70Ywg0LjQvdGB0YLRgNGD0LzQtdC90YLQvtCyINC00LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDRgdCw0LnRgtCwJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAn0J/Qu9Cw0LPQuNC90YsnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAn0JLRi9Cx0LXRgNC40YLQtSDQv9C70LDQs9C40L3Riywg0LrQvtGC0L7RgNGL0LUg0JLRiyDRhdC+0YLQuNGC0LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMLiDQlNC+0LrRg9C80LXQvdGC0LDRhtC40Y8g0L/QviDQv9C70LDQs9C40L3QsNC8INC90LDRhdC+0LTQuNGC0YHRjyA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPtC30LTQtdGB0Yw8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ9Cf0LvQsNCz0LjQvdGLJzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAn0JfQsNCz0YDRg9C30LjRgtGMINC/0LvQsNCz0LjQvdGLJzsKJGxhbmdbJ3BsdWdpbnNzYXZlZCddID0gJ9CX0LDQs9GA0YPQttC10L3QvdGL0LUg0L/Qu9Cw0LPQuNC90YsnOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICfQnNC+0LTRg9C70YzQvdGL0LUg0L/Qu9Cw0LPQuNC90YsnOwokbGFuZ1sncGx1Z2luc19jb21tb24nXSA9ICfQntCx0YnQuNC1INC/0LvQsNCz0LjQvdGLJzsKJGxhbmdbJ21vZHVsZSddID0gJ9Cc0L7QtNGD0LvQuCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ9Ce0L/QuNGB0LDQvdC40LUnOwokbGFuZ1sncGx1Z2luJ10gPSAn0J/Qu9Cw0LPQuNC9JzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ9CS0Ysg0LIgJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ9CX0LDQs9GA0YPQttCw0YLRjCDRgtCw0LHQu9C40YbRgyDRgdGC0LjQu9C10Lkg0LrQvtC90YLQtdC90YLQsCAo0YDQtdC60L7QvNC10L3QtNC+0LLQsNC90L4pJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ9CU0L7Qv9C+0LvQvdC10L3QuNGPINC6INGC0LDQsdC70LjRhtC1INGB0YLQuNC70LXQuSc7CiRsYW5nWydleHRyYXN0eWxlc2hlbHAnXSA9ICdDU1Mg0LrQvtC0INCy0LLQtdC00LXQvdC90YvQuSDQt9C00LXRgdGMLCDQsdGD0LTQtdGCINC00L7QsdCw0LLQu9C10L0g0Log0YLQsNCx0LvQuNGG0LUg0YHRgtC40LvQtdC5IFRpbnlNQ0Ug0L/QvtGB0LvQtSDRh9GC0LXQvdC40Y8g0YLQsNCx0LvQuNGGINGB0YLQuNC70LXQuSBDTVNtcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAn0J3QvtCy0YvQuSDRhNCw0LnQuyc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAn0JfQsNCz0YDRg9C30LrQsCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICfQndC+0LLQsNGPINC/0LDQv9C60LAnOwokbGFuZ1snY3JlYXRlZGlyJ10gPSAn0KHQvtC30LTQsNGC0YwnOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAn0J3QtSDRg9C60LDQt9Cw0L3QviDQuNC80Y8g0L/QsNC/0LrQuCc7CiRsYW5nWydkaXJleGlzdHMnXSA9ICfQotCw0LrQsNGPINC/0LDQv9C60LAg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICfQndC+0LLQsNGPINC/0LDQv9C60LAg0YPRgdC/0LXRiNC90L4g0YHQvtC30LTQsNC90LAnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAn0J7RiNC40LHQutCwINC/0YDQuCDRgdC+0LfQtNCw0L3QuNC4INC90L7QstC+0Lkg0L/QsNC/0LrQuCc7CiRsYW5nWydub2ZpbGUnXSA9ICfQpNCw0LnQuyDQvdC1INCx0YvQuyDQt9Cw0LPRgNGD0LbQtdC9JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICfQl9Cw0LPRgNGD0LbQsNC10LzRi9C5INGE0LDQudC7INGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtC5JzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAn0JjQvNGPINGE0LDQudC70LAg0YHQvtC00LXRgNC20LjRgiDQvtC00LjQvSDQuNC70Lgg0L3QtdGB0LrQvtC70YzQutC+INC90LXQtNC+0L/Rg9GB0YLQuNC80YvRhSDRgdC40LzQstC+0LvQvtCyIChcJywiLCssKixcXCwvLCYsJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAn0J7RiNC40LHQutCwINC/0YDQuCDQv9C10YDQvNC10YnQtdC90LjQuCDRhNCw0LnQu9CwJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ9Ck0LDQudC7INGD0YHQv9C10YjQvdC+INC30LDQs9GA0YPQttC10L0nOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ9CX0LDQs9GA0YPQttC10L3QvdGL0Lkg0YTQsNC50Lsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC40LfQvtCx0YDQsNC20LXQvdC40LXQvCc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlINCy0YvQsdC+0YAg0YTQsNC50LvQsCc7CiRsYW5nWydzdWNjZXNzJ10gPSAn0KPRgdC/0LXRiNC90L4nOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICfQntC/0LXRgNCw0YbQuNC4INGBINGE0LDQudC70LDQvNC4JzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCAnOwokbGFuZ1snc2l6ZSddID0gJ9Cg0LDQt9C80LXRgCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAn0KjRhdCSJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ9CU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCgk8cD5FbmFibGVzIGEgVGlueU1DRSB0byBiZSB1c2VkIGFzIGEgV1lTSVdZRy48L3A+DQoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KCTxwPkluc3RhbGwgaXQsIHRoZW4gZ28gdG8gVXNlciBQcmVmZXJlbmNlcyBhbmQgU2V0IFRpbnlNQ0UgdG8gYmUgeW91ciB3eXNpd3lnIG9mIGNob2ljZS48L3A+DQogIDxoMz5TcGVsbGNoZWNrZXI8L2gzPg0KICA8cD5BcyBvZiB2ZXJzaW9uIDIuNi4wLCBUaW55TUNFIGluY2x1ZGVzIGFuIG9ubGluZSBzcGVsbGNoZWNrZXIuIFBsZWFzZSBub3RpY2UgdGhhdCBTU0wgbXVzdCBiZSB0dXJuZWQgb24gaW4geW91ciBzZXJ2ZXItY29uZmlndXJhdGlvbiBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrLiBPbiBzb21lIHNldHVwcyB0aGlzIG9wdGlvbiBpcyBjYWxsZWQgcGhwX29wZW5zc2wgYnV0IHRoYXQgbWF5IHZhcnk8L3A+DQoJPGgzPlRyb3VibGVzaG9vdGluZzwvaDM+DQoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgDQoJdGhpbmdzIHlvdSBjYW4gdHJ5IGJlZm9yZSBjb250YWN0aW5nIG1lIGZvciBmdXJ0aGVyIHN1cHBvcnQuDQoJPGJyLz4NCgk8dWw+DQoJPGxpPjEuIFBsZWFzZSwgcGxlYXNlLCB0cnkgdG8gcmV1cGxvYWQgdGhlIG1vZHVsZXMvVGlueU1DRSBkaXIgdG8geW91ciBzZXJ2ZXIuIFlvdVwnZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgkNCgk8bGk+Mi4gSWYgdXBncmFkaW5nLCBwbGVhc2UgdHJ5IHRvIHJlc2V0IGFsbCBzZXR0aW5ncy4gTm90IG5pY2UgaWYgeW91XCd2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuDQoJPGxpPjMuIFRyeSBlbmFibGluZyB0aGUgc3RhdGljIGNvbmZpZyBvcHRpb24gaW4gYWR2YW5jZWQgc2V0dGluZ3MuIFRoaXMgd29ya3MgYmV0dGVyIG9uIHNvbWUgc3lzdGVtcyAobGlrZSBDR0ktYmFzZWQpLCBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyDQoJPC91bD4NCgk8YnIvPg0KICA8aDM+UGx1Z2luIGRldmVsb3BtZW50PC9oMz4NCiAgQXMgb2YgdmVyc2lvbiAyLjcuMCB0aGUgVGlueU1DRS1tb2R1bGUgaGFzIHRoZSBhYmlsaXR5IHRvIGFsbG93IG90aGVyIG1vZHVsZXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyBmb3IgaXQuIENvdWxkIGJlIGEgY3VzdG9tIGljb24gYWxsb3dpbmcgeW91IHRvIGluc2VydA0KICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0DQogIHBsZWFzZSBsb29rIGluIHRoZSBUaW55TUNFL2RvY3MtZGlyIGZvciBmdXJ0aGVyIGluc3RydWN0aW9ucy4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNTc2OTUzNTIuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjIxMTAwMTQ4MjAuMTM1NzY5NTM1Mi4xMzU3NzMwMjMyLjEzNTc3NTI0MjQuNSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBCYXNpYyBlZGl0b3InOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ01vZHVsIHVtb8W+bnVqZSBobGF2biZ5YWN1dGU7IG9ic2FoLCBwciZpYWN1dGU7cGFkbmUgaW4mZWFjdXRlOyBkJmFhY3V0ZTt0YSBlZGl0b3ZhxaUgcG9tb2NvdSBXeXNpd3lnIGVkaXRvcmEgemFsb8W+ZW5vbSBuYSBwcm9qZWt0ZSBUaW55TUNFLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIG9kaW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOyc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJ6aWEgJXMgbmFpbiZzY2Fyb247dGFsb3ZhbiZ5YWN1dGU7Lic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnT3JlemHFpSB0JmFhY3V0ZTtneSBwb3phZGlhIHogQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdOYXN0YXZlbmllIHVtb8W+bnVqZSBvZHN0ciZhYWN1dGU7bmnFpSBiYWNrZ3JvdW4gJnNjYXJvbjt0JnlhY3V0ZTtseSc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnUG91xb5pxaUgZm9ybSZhYWN1dGU7dG92JmFhY3V0ZTtuaWUgemRyb2phIHYgIEhUTUwgbmEgdiZ5YWN1dGU7c3R1cGUnOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2tvdiZlYWN1dGU7IGVsZW1lbnR5IHYgZHJvcGRvd24tbWVudSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ1Bvdm9sacWlIHByJmFhY3V0ZTtjdSBzIHRhYnXEvmthbWknOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICcmU2Nhcm9uO3QmeWFjdXRlO2wgbm92JmVhY3V0ZTtobyByaWFka3UnOwokbGFuZ1sncHN0eWxlJ10gPSAncCAmc2Nhcm9uO3QmeWFjdXRlO2wnOwokbGFuZ1snYnJzdHlsZSddID0gJ2JyICZzY2Fyb247dCZ5YWN1dGU7bCc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdQb3XFvmnFpSBneiBrb21wcmVzaXUnOwokbGFuZ1sndXNlY29tcHJlc3Npb25oZWxwJ10gPSAnVG90byBtJm9jaXJjO8W+ZSB6ciZ5YWN1dGU7Y2hsacWlIG5hxI0maWFjdXRlO3RhdmFuaWUgVGlueU1DRSBlZGl0b3JhLCBhbGUgdGFraXN0byBtJm9jaXJjO8W+ZSBzcCZvY2lyYztzb2JpxaUgcHJvYmwmZWFjdXRlO215IG5hIG5pZWt0b3ImeWFjdXRlO2NoIHN5c3QmZWFjdXRlO21vY2guIFBvdcW+JmlhY3V0ZTt2YWp0ZSBvcGF0cm5lLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnRm9yY2UgPHA+IHJvb3RibG9jayc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnRm9yY2VzIHRoZSByZXR1cm5lZCBjb250ZW50IHRvIGF0IGxlYXN0IGJlIGVuY2xvc2VkIGluIGEgPHA+LXRhZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdTJnVhY3V0ZTtib3J5IHYgZWRpdG9yZSc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ09rbm8gc28gcyZ1YWN1dGU7Ym9ybWknOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnUG92b2xpxaUgdXBsb2FkIGEgdnl0diZhYWN1dGU7cmFuaWUgYWRyZXMmYWFjdXRlO3JvdiB2byBGaWxlUGlja2VyaSAob2tubyBwcmUgc3ByJmFhY3V0ZTt2dSBzJnVhY3V0ZTtib3JvdiknOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ1Bvdm9sacWlIHptZW51IHZlxL5rb3N0aSBvYnImYWFjdXRlO3prb3YgcHJpIG5haHImYWFjdXRlO3ZhbiZpYWN1dGU7ICc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdQcmVkbmFzdGF2ZW4mZWFjdXRlOyByb3ptZXJ5JzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnWm1lbmnFpSB2ZcS+a29zxaUgbmE6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdWeXR2b3JpxaUgbmFoxL5hZHkgcHJpIG5haHImYWFjdXRlO3ZhbiZpYWN1dGU7IG9iciZhYWN1dGU7emtvdic7CiRsYW5nWyd1c2VhZHZhbmNlZHByb2ZpbGUnXSA9ICdQb3XFvmnFpSByb3omc2Nhcm9uOyZpYWN1dGU7cmVuJnlhY3V0ZTsgVGlueU1DRSBwcm9maWwnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdVbG/FvmnFpSBwcm9maWwnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnUHJvZmlsIGJvbCB1bG/FvmVuJnlhY3V0ZTsnOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlseSc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnUm96JnNjYXJvbjsmaWFjdXRlO3JlbiZlYWN1dGU7IG5hc3RhdmVuaWEgcHJvZmlsdSB2IGFkbWluaXN0ciZhYWN1dGU7Y2lpJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICdVbG/FvmnFpSAmc2Nhcm9uO3QmeWFjdXRlO2x5JzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnUG92b2xpxaUgcG91xb4maWFjdXRlO3ZhbmllIHJveiZzY2Fyb247JmlhY3V0ZTtyZW4mZWFjdXRlO2hvIHByb2Z1bHUgdiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1VrJmFhY3V0ZTt6YcWlIG4mYWFjdXRlO3N0cm9qIHByZSBzcHImYWFjdXRlO3Z1IHMmdWFjdXRlO2Jvcm92JzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdVayZhYWN1dGU7emHFpSBuYXN0YXZlbmlhIGFrbyBuYWhyYXRpZSwgdnl0dm9yacWlIGFkcmVzJmFhY3V0ZTtyLCBvZHN0ciZhYWN1dGU7bmnFpSBzJnVhY3V0ZTtib3IsIGFrIG0mYWFjdXRlOyB1xb4maWFjdXRlO3ZhdGXEviBwb3ZvbGVuJmVhY3V0ZTsgdGlldG8gbmFzdGF2ZW5pYS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnT2JtZWR6acWlIHXFviZpYWN1dGU7dmF0ZcS+b3ZpIHByJmlhY3V0ZTtzdHVwIGxlbiBkbyB2bGFzdG4mZWFjdXRlO2hvIGFkcmVzJmFhY3V0ZTtyYSc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnVGhpcyB3aWxsIHJlc3RyaWN0IHRoZSBmaWxlbWFuYWdlbWVudC1jYXBhYmlsaXRpZXMgb2YgdGhlIHVzZXIgdG8gYSBzdWJkaXIgdG8gJiMwMzk7dXBsb2FkcyYjMDM5OyB3aGljaCBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHVzZXImIzAzOTtzIGxvZ2luLiBJZiB0aGUgc3ViZGlyIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIHBvc3NpYmx5IGJlIGNyZWF0ZWQuIFBsZWFzZSBub3RlLCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlIHN0YW5kYXJkIGRpcm5hbWVzLCB1cGxvYWRzL2ltYWdlcy4gVGhpcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ1N0ZSBzaSBpc3QmeWFjdXRlOywgxb5lIGNoY2V0ZSBvZHN0ciZhYWN1dGU7bmnFpSB0ZW50byBzJnVhY3V0ZTtib3I/ICAnOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICdib2wgJnVhY3V0ZTtzcGUmc2Nhcm9uO25lIG9kc3RyJmFhY3V0ZTtuZW4meWFjdXRlOyc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnbmVtb8W+ZSBiecWlIG9kc3RyJmFhY3V0ZTtuZW4meWFjdXRlOyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduZW1vxb5lIGJ5xaUgb2RzdHImYWFjdXRlO25lbiZ5YWN1dGU7JzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICdib2wgJnVhY3V0ZTtzcGUmc2Nhcm9uO25lIG9kc3RyJmFhY3V0ZTtuZW4meWFjdXRlOyc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdzdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgb2RzdHImYWFjdXRlO25pxaUgdGVudG8gcHImYWFjdXRlO3pkbnkgcG9kYWRyZXMmYWFjdXRlO3InOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnT2RzdHImYWFjdXRlO25pxaUgcHImYWFjdXRlO3pkbnkgcG9kYWRyZXMmYWFjdXRlO3InOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ09kc3RyJmFhY3V0ZTtuacWlIHMmdWFjdXRlO2Jvcic7CiRsYW5nWydjYW5ub3RyZWFkY29uZmlnJ10gPSAnTmllIGplIG1vxb5uJmVhY3V0ZTsgcHJlxI0maWFjdXRlO3RhxaUgdGlueWNvbmZpZy5waHAgcHJpYW1vLCB0YWvFvmUgVGlueU1DRSBwcmF2ZGVwb2RvYm5lIG5lYnVkZSBwcmFjb3ZhxaUgc3ByJmFhY3V0ZTt2bmUuIE11cyZpYWN1dGU7dGUgc2tvbnRyb2xvdmHFpSBuYXN0YXZlbmlhIHByJmFhY3V0ZTt2IHByZSBhZHJlcyZhYWN1dGU7cmUuJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1VrJmFhY3V0ZTt6YcWlIG4mYWFjdXRlO3p2eSBzJnVhY3V0ZTtib3Jvdic7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1VrJmFhY3V0ZTt6YcWlIG5haMS+YWR5JzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdVayZhYWN1dGU7emHFpSBuJmFhY3V0ZTtoxL5hZHkgdiB6b3puYW1lIHMmdWFjdXRlO2Jvcm92JzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1VrJmFhY3V0ZTt6YcWlIGFqIG4mYWFjdXRlO3p2eSBzJnVhY3V0ZTtib3JvdiBhaiBuYWjEvmFkeSc7CiRsYW5nWydza2luc3RleHQnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bmEnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdWYXJpJmFhY3V0ZTtjaWUgdnpoxL5hZHUnOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5Qb3puJmFhY3V0ZTtta2EhPGJyLz4mVWFjdXRlO3ByYXZhIHQmeWFjdXRlO2NodG8gbmFzdGF2ZW4maWFjdXRlOyBtJm9jaXJjO8W+ZSB6bmVmdW7EjW5pxaUgVGlueU1DRS4gVXByYXZ1anRlIGliYSB2IHByJmlhY3V0ZTtwYWRlLCDFvmUgc3RlIHNrJnVhY3V0ZTtzZW4meWFjdXRlOyB1xb4maWFjdXRlO3ZhdGXEvi4gJzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdLJm9hY3V0ZTtkb3ZhbmllIGVudCZpYWN1dGU7dCc7CiRsYW5nWydyYXdlbmNvZGluZyddID0gJ1omYWFjdXRlO2tsYWRuJmVhY3V0ZTsgayZvYWN1dGU7ZG92YW5pZSAociZ5YWN1dGU7Y2hsZWomc2Nhcm9uO2llLCBwcmFjdWplIHZvIHYmYXVtbDvEjSZzY2Fyb247aW5lIHByJmlhY3V0ZTtwYWRvY2gpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOYW1lZCBlbmNvZGluZyAobGlrZSAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ051bWVyaWNrJmVhY3V0ZTsgayZvYWN1dGU7ZG92YW5pZSAobmFwci4gJmFtcDsjMTYwOyknOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdab2JyYXpvdmHFpSBjZXN0dSBrIGVsZW1lbnR1IG5hIHNwb2RuZWogc3RyYW5lIGVkaXRvcnUuJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnTiZhYWN1dGU7c3Ryb2pvdiZhYWN1dGU7IGxpJnNjYXJvbjt0YSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdUaWV0byB2b8S+YnkgYnkgbWFsaSBvYnNhaG92YcWlIHpvem5hbSBtaWVuIHRsYcSNJmlhY3V0ZTt0b2svb3ZsJmFhY3V0ZTtkYWMmaWFjdXRlO2NoIHBydmtvdiBwcmUgdmxvxb5lbmllIGRvIG4mYWFjdXRlO3N0cm9qb3ZlaiBsaSZzY2Fyb247dHkuJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ04mYWFjdXRlO3N0cm9qb3YmYWFjdXRlOyBsaSZzY2Fyb247dGEnOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnS2xpa25pdGUgcHJlIG4mYWFjdXRlO3BvdmVkdSBrIHRvb2xiYXJ1IHYgVGlueU1DRS13aWtpLic7CiRsYW5nWydlZGl0b3Jfd2lkdGhfdGV4dCddID0gJyZTY2Fyb247JmlhY3V0ZTtya2EgcG/EvmEgcyBlZGl0b3JvbSAod2lkdGgpJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ1YmeWFjdXRlOyZzY2Fyb247a2EgIHBvxL5hIHMgZWRpdG9yb20gKGhlaWdodCknOwokbGFuZ1snYXV0byddID0gJ0F1dG9tYXRpY2t5JzsKJGxhbmdbJ29yJ10gPSAnYWxlYm8nOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnVGVzdG92YWNpYSBvYmxhc8WlJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnVWsmYWFjdXRlO3phxaUgdGVzdG92YWMmaWFjdXRlOyB2JnlhY3V0ZTtzdHVwJzsKJGxhbmdbJ3Rlc3RhcmVhZWRpdG9yJ10gPSAnVGVzdG92YWNpYSBvYmxhc8WlIGVkaXRvcmEnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXQnXSA9ICdUZXN0b3ZhYyZpYWN1dGU7IHYmeWFjdXRlO3N0dXAnOwokbGFuZ1sndGVzdGFyZWFvdXRwdXRzb3VyY2UnXSA9ICdaZHJvaiB0ZXN0b3ZhY2VqIG9ibGFzdGknOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ1Bvdm9sacWlIHZsb8W+ZW5pZSB6bWVueSB2ZcS+a29zdGkgdiBlZGl0b3JlJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdOZXBvdm9sacWlIHptZW51IHJvem1lcnUgb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1sncmVzaXplYm90aCddID0gJ1Bvdm9sacWlIHptZW4mc2Nhcm9uO2VuaWUgb2JyJmFhY3V0ZTt6a3UgIG5hIHYmeWFjdXRlOyZzY2Fyb247a3UgYSAmc2Nhcm9uOyZpYWN1dGU7cmt1JzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ1Bvdm9sacWlIHptZW4mc2Nhcm9uO2VuaWUgb2JyJmFhY3V0ZTt6a3UgIG5hIHYmeWFjdXRlOyZzY2Fyb247a3UnOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfdGV4dCddID0gJ0Zvcm0mYWFjdXRlO3QgZCZhYWN1dGU7dHVtdSBhIMSNYXN1JzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnxIxhcyc7CiRsYW5nWydkYXRldGV4dCddID0gJ0QmYWFjdXRlO3R1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2xpa25pdGUgcHJlIMSPYWwmc2Nhcm9uO2llIGluZm9ybSZhYWN1dGU7Y2llIGsgZm9ybSZhYWN1dGU7dG92YW5pdSBkJmFhY3V0ZTt0dW11IGEgxI1hc3UnOwokbGFuZ1snZXh0cmFjb25maWd0ZXh0J10gPSAnRXh0cmEgbmFzdGF2ZW5pYSc7CiRsYW5nWydleHRyYWNvbmZpZ2hlbHAyJ10gPSAnSmVkZW4gcHImaWFjdXRlO2theiBuYSByaWFkb2ssIGJvZGt5IGJ1ZCZ1YWN1dGU7IHByaWRhbiZlYWN1dGU7IHByZWQgYSBwbyBvYnNhaHUuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ1ZsYXN0biZ5YWN1dGU7IGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiANCk9idmlvdXMgdXNlcyBhcmUgZWFzeSBhY2Nlc3MgdG8gdGFnJiMwMzk7cyBldGMuIFRoZSBtZW51IGlzIGluc2VydGVkIGludG8gdG9vbGJhciB1c2luZyAmIzAzOTtjdXN0b21kcm9wZG93biYjMDM5Oy4nOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ1BvIHNwdXN0ZW4maWFjdXRlOyc7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnT2R6bmHEjWVuJmlhY3V0ZTttIHRvaHRvIG5hc3RhdmVuaWEgYnVkZSBlZGl0b3IgdiBwcmVkYXN0YXZlbm9tIHN0YXZlIGJleiBXeXNpd3lnIGVkaXRvcmEuIFphcG4mdWFjdXRlO8W+IGhvIGJ1ZGUgbW/Fvm4mZWFjdXRlOyBjZXogdiZ5YWN1dGU7YmVyIFphcG4mdWFjdXRlO8WlL1Z5cG4mdWFjdXRlO8WlIHd5c2l3eWcgcHJpIGVkaXRvcmUuJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnTmFocmHFpSBDTVMtbGlua2VyJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJoZWxwJ10gPSAnVG90byBnZW5lcnVqZSBrJm9hY3V0ZTtkIHBvdHJlYm4meWFjdXRlOyBwcmUgcHJpZGFuaWUgQ01TLWxpbmtlcnUgIGRvIG4mYWFjdXRlO3N0cm9qb3ZlaiBsaSZTY2Fyb247dHknOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciAtIGZvcm0mYWFjdXRlO3Qgb2RrYXpvdic7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30tZm9ybSZhYWN1dGU7dCAocyBwb2Rwb3JvdSBwcmV0dHkgdXJscyknOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzxhIGhyZWY+LWZvcm0mYWFjdXRlO3QgKGJleiBwb2Rwb3J5IHByZXR0eSB1cmxzKSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1vZGthem92YcSNIGRvcGxua3knOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdVbW/Fvm51amUgcHJpZGHFpSAmYW1wO2x0O2EgaHJlZiZhbXA7Z3Q7ICBhbGVibyB7Y21zX3NlbGZsaW5rfSBwcmkgZ2VuZXJvdmFuJmlhY3V0ZTsgQ01TIGxpbmtlcm9tLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ1Z5bmVjaGHFpSBrb252ZXJ6aXUgb2RrYXpvdi4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdWeXBuJnVhY3V0ZTvFpSBrb252ZXJ6aXUgb2RrYXpvdi4gVW1vxb5udWplIHBvdcW+JmlhY3V0ZTt2YcWlIHNtYXJ0eSB2IFVSTCc7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJvdmHFpSByZWxhdCZpYWN1dGU7dm5lIGFkcmVzeSc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnVnnEjWlzdGnFpSBwcmkgdmxvxb5lbiZpYWN1dGU7JzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdUb3RvIHphcG4maWFjdXRlO25hIG9kc3RyYcWIb3ZhbmllIHBvZGl2biZlYWN1dGU7aG8gZm9ybSZhYWN1dGU7dG92YW5pYSB0ZXh0dSBwcmkgdmtsYWRhbiZpYWN1dGU7IHRleHRvdiB6IHdvcmR1Lic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdDU1MgJnNjYXJvbjt0JnlhY3V0ZTtseSBwcmUgdGFnIGJvZHknOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnTmVjaGFqdGUgUFImQWFjdXRlO1pETkUgYWxlYm8gbmFzdGF2dGUgcHJlIHBvdcW+aXRpZSAgdiBlZGl0b3JlLiBQb3puJmFhY3V0ZTtta2E6IFByZSBuYXN0YXZlbmllIGJpZWxlaG8gcG96YWRpYSB2bG/FvnRlOiBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnVmxvxb5pxaUgbGVuIHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1Z5YnJhdCZpYWN1dGU7bSB0ZWp0byBtb8W+bm9zdGkgcG92b2wmaWFjdXRlO3RlIHByaXAmYWFjdXRlO2phxaUgZG8gZWRpdG9yYSBuYSBzcHJhY292YW5laSBpYmEgJnNjYXJvbjt0JnlhY3V0ZTtsaSB0eXB1IHNjcmVlbi4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ1BvdcW+acWlIHN0YXRpY2smeWFjdXRlOyBrb25maWd1cmHEjW4meWFjdXRlOyBzJnVhY3V0ZTtib3InOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ1RoaXMgY2FuIGhlbHAgZ2V0dGluZyB0aW55IHRvIHdvcmsgb24gc3lzdGVtcyB3aGVyZSB0aGUgaG9zdGluZyBmYWNpbGl0eSBhZGRzIHN0dWZmIGxpa2Ugc3RhdGlzdGljcyBldGMuIHRvIGFsbCBvdXRwdXQsIGJyZWFraW5nIGR5bmFtaWNjYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGlnYyBjb25maWctZmlsZSBhbmQgd2lsbCBtb3N0IHByb2JhYmx5IHJlbmRlciBUaW55TUNFIGlub3BlcmF0aW9uYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yZSB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnV2FybmluZyEgVGhpcyBhbGxvd3Mgc29tZSBmaWxlLWFsdGVyaW5nIG9wZXJhdGlvbnMgZXZlbiBpZiB0aGUgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHBlcm1pc3Npb24gaXMgbm90IHNldCBmb3IgdGhlIGN1cnJlbnQgdXNlcmdyb3VwLiBUaGlzIGNhbiBlZmZlY3RpdmVseSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIG9wdGlvbiB0byByZXN0cmljdCB1c2VyJiMwMzk7cyBkaXJlY3RvcnkgYWNjZXNzLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdab2JyYXppxaUgY2hlY2tib3ggcHJlIHZ5cG51dGllL3phcG51dGllIFdZU0lXWUcgZWRpdG9yYSc7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnWmFwbiZ1YWN1dGU7xaUvdnlwbiZ1YWN1dGU7xaUgV1lTSVdZRyBlZGl0b3InOwokbGFuZ1snc3R5bGVzX3RhYiddID0gJ0NTUyAmc2Nhcm9uO3QmeWFjdXRlO2x5JzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnUG9raWHEviB0b3RvIHBvbGUgbmVjaCZhYWN1dGU7dGUgcHImYWFjdXRlO3pkbmUsIFRpbnlNQ0Ugc3ByYWN1amUgVmEmc2Nhcm9uO2UgQ1NTIHMmdWFjdXRlO2JvcnkgYSBwb24mdWFjdXRlO2tuZSAmc2Nhcm9uO3QmeWFjdXRlO2x5IHXFviZpYWN1dGU7dmF0ZcS+b3ZpLiBQb2tpYcS+IGNoY2V0ZSB1xb4maWFjdXRlO3ZhdGXEvm92aSBwb24mdWFjdXRlO2tudcWlIGliYSB2eWJyYW4mZWFjdXRlOyAmc2Nhcm9uOyZ5YWN1dGU7bHksICZzY2Fyb247cGVjaWZpa3VqdGUgaWNoIGZvcm1vdSAmcXVvdDtTdHlsZSAxPXN0eWxlMTsgU3R5bGUgMj1zdHlsZTImcXVvdDsgdiBwcnZvbSBuYXNsZWR1aiZ1YWN1dGU7Y29tIHBvbGkuIFYgb3N0YXRuJnlhY3V0ZTtjaCBwb2xpYWNoIGplIG0mb2NpcmM7xb5uJmVhY3V0ZTsgJnNjYXJvbjtwZWNpZmlrb3ZhxaUgQ1NTICZzY2Fyb247dCZ5YWN1dGU7bHkgcHJlIHRhYnXEvmt5LCByaWFka3kgYSBidW5reSwga3RvciZlYWN1dGU7IHMmdWFjdXRlOyBwb3XFvml0JmVhY3V0ZTsgdiBkaWFsJm9hY3V0ZTtnb3YmeWFjdXRlO2NoIG9rbiZhYWN1dGU7Y2guIFByZSBwciZhYWN1dGU7emRuZSBwb2xlIGJ1ZCZ1YWN1dGU7IHBvdcW+aXQmZWFjdXRlOyBwYXJhbWV0cmUgeiBobGF2biZ5YWN1dGU7Y2ggJnNjYXJvbjt0JnlhY3V0ZTtsb3YuJzsKJGxhbmdbJ2Nzc19zdHlsZXNfdGV4dCddID0gJ0hsYXZuJmVhY3V0ZTsnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUHImaWFjdXRlO3N0dXAgemFrJmFhY3V0ZTt6YW4meWFjdXRlOy4gUHJvcyZpYWN1dGU7bSBza29udHJvbHVqdGUgc2kgc3ZvamUgcHImYWFjdXRlO3ZhLic7CiRsYW5nWydlcnJvciddID0gJ0NoeWJhISc7CiRsYW5nWydzdWJtaXQnXSA9ICdPZG9zbGHFpSc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICdVbG/FvmnFpSBuYXN0YXZlbmlhJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnTmFzdGF2ZW5pYSc7CiRsYW5nWydzZXR0aW5nc3NhdmVkJ10gPSAnTmFzdGF2ZW5pYSBib2xpIHVsb8W+ZW4mZWFjdXRlOyc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdVbG/FvmnFpSBwb2tyb8SNaWwmZWFjdXRlOyBuYXN0YXZlbmlhJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdQb2tyb8SNaWwmZWFjdXRlOyBuYXN0YXZlbmlhIHVsb8W+ZW4mZWFjdXRlOyc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdOJmFhY3V0ZTtzdHJvam92JmFhY3V0ZTsgbGkmc2Nhcm9uO3RhIGJvbGEgdWxvxb5lbiZhYWN1dGU7JzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnJlNjYXJvbjt0JnlhY3V0ZTtseSBib2xpIHVsb8W+ZW4mZWFjdXRlOyc7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5UZXh0b3YmYWFjdXRlOyBvYmxhc8WlLCBuacSNIG5lYnVkZSBuYXJ1JnNjYXJvbjtlbiZlYWN1dGU7IHptZW5hbWkgdiBuZWouLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnTmFzdGF2ZW5pZSBuYSBwcmVkbmFzdGF2ZW4mZWFjdXRlOyBob2Rub3R5JzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnTmFzdGF2ZW5pZSB2JnNjYXJvbjtldGsmeWFjdXRlO2NoIG5hc3RhdmVuJmlhY3V0ZTsgbmEgcHJlZG5hc3RhdmVuJmVhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWydjb25maXJtcmVzZXQnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgb2Jub3ZpxaUgdGlldG8gbmFzdGF2ZW5pYSBuYSBwcmVkbmFzdGF2ZW4mZWFjdXRlOyBob2Rub3R5Pyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgb2Jub3ZpxaUgdsWbZXRreSBuYXN0YXZlbmlhIG5hIHByZWRuYXN0YXZlbiZlYWN1dGU7IGhvZG5vdHk/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdUaWV0byBuYXN0YXZlbmlhIGJvbGkgb2Jub3ZlbiZlYWN1dGU7IG5hIHByZWRuYXN0YXZlbiZlYWN1dGU7IGhvZG5vdHkgJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdWJnNjYXJvbjtldGt5IG5hc3RhdmVuaWEgYm9saSBvYm5vdmVuJmVhY3V0ZTsgbmEgcHJlZG5hc3RhdmVuJmVhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ2JvbCBha3R1YWxpem92YW4meWFjdXRlOyBuYSB2ZXJ6aXUnOwokbGFuZ1snY3VzdG9tZHJvcGRvd24nXSA9ICdWbGFzdG4mZWFjdXRlOyByb3piYcS+b3ZhY2llIG1lbnUnOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdWbG/FvmnFpSBsaW5rIGRvIGNtc21zLXN0ciZhYWN1dGU7bmt5JzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdOYXN0YXZlbmllIHRvb2xiYXJ1IHByZSBiYWNrLWVuZCc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ05hc3RhdmVuaWUgdG9vbGJhcnUgcHJlIGZyb250LWVuZCc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnknOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnVnliZXJ0ZSBzaSBwbGFnaW4gcHJlIGFrdGl2JmFhY3V0ZTtjaXUuIERva3VtZW50JmFhY3V0ZTtjaXUgbSZvY2lyYzvFvmV0ZSBuJmFhY3V0ZTtqc8WlIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+dHU8L2E+LSc7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdQbHVnaW55JzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnVWxvxb5pxaUgcGx1Z2lueSc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW55IHVsb8W+ZW4mZWFjdXRlOy4nOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdQbHVnaW55IG1vZHVsdSc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1Ymc2Nhcm9uO2VvYmVjbiZlYWN1dGU7IHBsdWdpbnknOwokbGFuZ1snbW9kdWxlJ10gPSAnTW9kdWwnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdQb3Bpcyc7CiRsYW5nWydwbHVnaW4nXSA9ICdSb3omc2Nhcm9uOyZpYWN1dGU7cmVuaWUnOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnU3RlIHYnOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTmFocmHFpSAmc2Nhcm9uO3QmeWFjdXRlO2x5IHByZSBvYnNhaCAoZG9wb3J1xI11amVtZSknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnRG9wbG5lbmllIGRvICZzY2Fyb247dCZ5YWN1dGU7bG92JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ1Zsb8W+ZW5lIENTUyBzcHJhY3VqZSBUaW55TUNFIGHFviBwbyBzcHJhY292YW4maWFjdXRlOyAmc2Nhcm9uO3QmeWFjdXRlO2xvdiB6IENNUyBtYWRlIHNpbXBsZS4nOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ05vdiZ5YWN1dGU7IHMmdWFjdXRlO2Jvcic7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnTmFocmHFpSc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOb3YmeWFjdXRlOyBhZHJlcyZhYWN1dGU7cic7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdWeXR2b3JpxI0nOwokbGFuZ1snbm9kaXJuYW1lJ10gPSAnQmV6IG4mYWFjdXRlO3p2dSBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnQWRyZXMmYWFjdXRlO3IgdcW+IGV4aXN0dWplJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOb3YmeWFjdXRlOyBhZHJlcyZhYWN1dGU7ciAmdWFjdXRlO3NwZSZzY2Fyb247bmUgdnl0dm9yZW4meWFjdXRlOyc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdDaHliYSBwcmkgdnl0dm9yZW4maWFjdXRlOyBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1snbm9maWxlJ10gPSAnUyZ1YWN1dGU7Ym9yIG5lYm9sIG5haHJhdCZ5YWN1dGU7JzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdOYWhyJmFhY3V0ZTt2YW4meWFjdXRlOyBzJnVhY3V0ZTtib3IgamUgcHImaWFjdXRlO2xpJnNjYXJvbjsgdmXEvmsmeWFjdXRlOyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbGVuYW1lIGNvbnRhaW5zIG9uZSBvciBtb3JlIGlsbGVnYWwgY2hhcmFjdGVycyAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0NoeWJhIHByaSBwcmVzJnVhY3V0ZTt2YW4mdWFjdXRlOyBuYWhyYXQmZWFjdXRlO2hvIHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnUyZ1YWN1dGU7Ym9yICZ1YWN1dGU7c3BlJnNjYXJvbjtuZSBuYWluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsnOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ05haHImYWFjdXRlO3ZhbiZ5YWN1dGU7IG9iciZhYWN1dGU7em9rIG5pZSBqZSBvYnImYWFjdXRlO3pvayc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlIHYmeWFjdXRlO2JlciBzJnVhY3V0ZTtib3J1JzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICcmVWFjdXRlO3NwZWNoJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnUyZ1YWN1dGU7Ym9yIG9wZXImYWFjdXRlO2NpaSc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ3NpemUnXSA9ICdWZcS+a29zxaUnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ1YmeWFjdXRlOyZzY2Fyb247a2F4ZMS6xb5rYSc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdQb2tyb8SNaWwmZWFjdXRlOyc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz7EjG8gcm9iJmlhY3V0ZTsgdGVudG8gbW9kdWw/PC9oMz4NCgk8cD5VbW/FvsWIdWplIHBvdcW+JmlhY3V0ZTt2YcWlIFRpbnlNQ0UgV1lTSVdZRyBlZGl0b3IgbmEgJnVhY3V0ZTtwcmF2dSBvYnNhaHUuPC9wPg0KCTxoMz5Ba28gc2EgcG91xb4maWFjdXRlO3ZhPzwvaDM+DQoJPHA+TmFpbiZzY2Fyb247dGFsb3ZhxaUsIHBvdG9tICZpYWN1dGU7c8WlIGRvIFXFvml2YXRlxL5zayZ5YWN1dGU7Y2ggbmFzdGF2ZW4maWFjdXRlOyBhIHp2b2xpxaUgVGlueU1DRSBha28gViZhYWN1dGU7JnNjYXJvbjsgd3lzaXd5ZyBlZGl0b3IuPC9wPic7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjcxOTM2MTkxLTEzMjI2NTQ4NTcyMzAnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNDkzNDcxMTcxLjEzMjc3NTg0MDIuMTMyNzc1ODQwMi4xMzI3NzU4NDAyLjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMjc3NTg0MDIuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyB1cmVqZXZhbG5payc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGEgbW9kdWwgb21vZ2/EjWEgcHJlZHZzZW0gdnNlYmlubywgdmVuZGFyIHBvIG1vxb5ub3N0aSB0dWRpIGRydWdlIHZyc3RlIHBvZGF0a292LCBrYXRlcmUgbGFoa28gc3ByZW1lbml0ZSB6IHVwb3JhYm8gV1lTSVdZRyB1cmVkbmlrYSBrYXRlcmkgamUgZGVsIFRpbnlNQ0UgcHJvamVrdGEuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgamUgb2RzdHJhbmplbi4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgcmF6bGnEjWljYSAlcyBqZSBuYW1lJnNjYXJvbjvEjWVuLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnUG9yZcW+aSBvem5ha2UgemEgb3phZGplIGl6IENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAnVGEgbW/Fvm5vc3QgcG9za3Umc2Nhcm9uO2Egb2RzdHJhbml0aSBvemFkamUgdGlwYSBuYXN0YXZpdHZlIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3NvdXJjZV9mb3JtYXR0aW5nX3RleHQnXSA9ICdQcmlwbmkgaXp2b3JubyBvYmxpa292YW5qZSBpemhvZG5lbXUgSFRNTCc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnRm9ybWF0aSBibG9rb3YgdiBpenZsZcSNbmVtIG1lbmlqdSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ0Rvdm9saSBvcGVyYWNpamUgcyB0YWJlbGFtaSc7CiRsYW5nWyduZXdsaW5lc3R5bGVfdGV4dCddID0gJ1RpcCBub3ZlIHZyc3RpY2UnOwokbGFuZ1sncHN0eWxlJ10gPSAncCBzdGlsIChvZHN0YXZlayknOwokbGFuZ1snYnJzdHlsZSddID0gJ2JyIHN0aWwgKG5vdmEgdnJzdGljYSknOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnVXBvcmFiaSBHWiBrb21wcmVzaWpvJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ01vxb5ub3N0IGxhaGtvIHBvaGl0cmkgZGVsb3ZhbmplIFRpbnlNQ0UgdXJlamV2YWxuaWthLCB2ZW5kYXIgbGFoa28gcG92enJvxI1pIHRlxb5hdmUgeiBkZWxvdmFuamVtIG5hIG5la2F0ZXJpaCBzaXN0ZW1paC4gVXBvcmFibGphanRlIHMgcHJldmlkbm9zdGpvLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnVnNpbGkgPHA+IGJsb2sga29yZW5hJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdWcm5qZW5lIHZzZWJpbmUgb21lamkgeiBvem5ha28gPHA+JzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1N0aWwgaXpiaXJhbGNhIGRhdG90ZWsnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdWZWxpa29zdCBpemJpcmFsY2EgZGF0b3Rlayc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdPbW9nb8SNaSBwcmVub3MgaW4gdXN0dmFyamFuamUgbWFwIHYgaXpiaXJhbGN1IGRhdG90ZWsnOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ1B1c3RpdGUsIG9uLXRoZS1mbHkgc3ByZW1pbmphbmplIHZlbGlrb3N0aSBuYWxvxb5lbmloIHNsaWsnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnUHJldnpldGUgZGltZW56aWplcyc7CiRsYW5nWydyZXNpemV0byddID0gJ1NwcmVtZW5pIHZlbGlrb3N0IHY6JzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdOYXJlZGkgc2xpxI1pY2UsIG9iIG5hbGFnYW5qdSBzbGlrJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1Vwb3JhYmxqYWogbmFwcmVkZW4gVGlueU1DRS1wcm9maWwnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdTaHJhbmkgcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbCBqZSBiaWwgc2hyYW5qZW4nOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsaSc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnTmFwcmVkbmUgbmFzdGF2aXR2ZSBiYWNrZW5kIHByb2ZpbGEnOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ1NocmFuaSBzdGlsZSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ0Rvdm9saSB1cG9yYWJvIG5hcHJlZG5lZ2EgcHJvZmlsYSB2IFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnUG9rYcW+aSBtb8W+bm9zdGkgdXByYXZsamFuamEgZGF0b3Rlayc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnUG9rYcW+aSBtb8W+bm9zdGkgdXByYXZsamFuamEgZGF0b3Rlaywga290IHVwbG9hZCwgbmFyZWRpIG1hcG8gaW4gYnJpc2FuamUgZGF0b3RlayB2IEZpbGVQaWNrZXItanUsIMSNZSB1cG9yYWJuaWsgaW1hIGRvdm9samVuamUgemEgb3ByYXZsamFuamUgdGVoLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdPbWVqaSB1cG9yYWJuaWtvdiBkaXIgZG9zdG9wJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUbyBibyB6bWFuaiZzY2Fyb247YWxvIHNwb3NvYm5vc3RpIHVwcmF2bGphbmphIGRhdG90ZWsgdXBvcmFibmlrYSBuYSBzdWJkaXIgdiAmcXVvdDt1cGxvYWRzJnF1b3Q7LCBraSBpbWEgZW5ha28gaW1lIGtvdCB6YSBwcmlqYXZvIHVwb3JhYm5pa2EuIMSMZSBzdWJkaXIgbmUgb2JzdGFqYSwgZ2EgYm8gbW9yZGEgdHJlYmEgdXN0dmFyaXRpLiBQcm9zaW1vLCB1cG8mc2Nhcm9uO3RldmFqdGUsIGRhIHRyZW51dG5vIGRlbHVqZSBsZSBzIHN0YW5kYXJkbmltIGRpciBpbWVuaSwgdXBsb2Fkcy9pbWFnZXMuIFRvIHNlIGxhaGtvIHYgcHJpaG9kbm9zdGkgc3ByZW1lbmkuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ1N0ZSBwcmVwcmnEjWFuaSwgZGEgamUgdHJlYmEgdG8gZGF0b3Rla28gaXpicmlzYXRpPyc7CiRsYW5nWydkZWxldGVmaWxlc3VjY2VzcyddID0gJ2plIHVzcGUmc2Nhcm9uO25vIGl6YnJpc2FuJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICduaSBtb2dsbyBiaXRpIGl6YnJpc2Fubyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduaSBtb2dsbyBiaXRpIGl6YnJpc2Fubyc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnamUgdXNwZSZzY2Fyb247bm8gaXpicmlzYW4nOwokbGFuZ1snZGVsZXRlZGlyY29uZmlybWF0aW9uJ10gPSAnU3RlIHByZXByacSNYW5pLCBkYSBqZSB0cmViYSBpemJyaXNhdGkgdGEgcHJhemVuIHN1YmRpcj8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnQnJpc2FuamUgcHJhem5paCBzdWJkaXInOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ0JyaXNhbmplIGRhdG90ZWsnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ05lIG1vcmVtIHByZWJyYXRpIGRhdG90ZWtlIHRpbnljb25maWcucGhwLCB6YXRvIFRpbnlNQ0UgdXJlamV2YWxuaWsgbmFqdmVyamV0bmVqZSBuZSBibyBkZWxvdmFsIHByYXZpbG5vLiBQcm9zaW1vLCBwcmV2ZXJpdGUgcHJhdmljZSBkYXRvdGVrZSBpbiBuYWRyZWplbmloIG1hcCwga2kgbW9yYWpvIGJpdGkgYmVybGppdmUgKG5lIHBhIHphcGlzbGppdmUpIHMgc3RyYW5pIGxhc3RuaWthLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdQcmlrYcW+aSBpbWVuYSBkYXRvdGVrJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAnUHJpa2HFvmkgaWtvbmUnOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ1ByaWthxb5pIGlrb25lIGtvdCBkYXRvdGVrZSc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdQcmlrYcW+aSBpbWVuYSBkYXRvdGVrIGluIGlrb25lJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ0l6Z2xlZCc7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1JhemxpxI1pY2EgaXpnbGVkYSc7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPk9wb21iYSE8YnIvPlNwcmVtaW5qYW5qZSB0ZWggbmFzdGF2aXRldiBsYWhrbyBwb3Z6cm/EjWkgZGEgVGlueU1DRSBwcmVuZWhhIGRlbG92YXRpLCBhbGkgZGEgamUgZ2VuZXJpcmFuIGtvZCwgbmFwYcSNZW4gbmEgbmVrIG5hxI1pbiAuIFNwcmVtZW5pdGUgbmFzdGF2aXR2ZSBzYW1vLCDEjWUgdmVzdGUsIGthaiBwb8SNbmV0ZSEgUHJvc2ltbywgcG9zdmV0dWp0ZSBUaW55TUNFIHNwbGV0bm8gc3RyYW5vIHByZWQgaWdyYW5qZW0gcyB0ZW0uPC9zdHJvbmc+JzsKJGxhbmdbJ2VudGl0eWVuY29kaW5nX3RleHQnXSA9ICdLb2RpcmFuamUgc3ViamVrdG92JzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGVuY29kaW5nIChOYWpoaXRyZWomc2Nhcm9uO2ksIGRlbHVqZSB2IHZlxI1pbmkgcHJpbWVyb3YpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOYW1lZCBlbmNvZGluZyAoa290ICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpYyBlbmNvZGluZyAoa290ICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnUG9rYcW+aSBwb3QgZWxlbWVudG92IG5hIGRudSBlZGl0b3JqYSc7CiRsYW5nWyd0b29sYmFyX3RhYiddID0gJ09yb2RuYSB2cnN0aWNhJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RoZXNlIG9wdGlvbnMgc2hvdWxkIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidXR0b24vY29udHJvbCBuYW1lcyB0byBpbnNlcnQgaW50byB0aGUgdG9vbGJhci4nOwokbGFuZ1sndG9vbGJhcl90ZXh0J10gPSAnT3JvZG5hIHZyc3RpY2EnOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnS2xpa25pdGUgdHVrYWogemEgb2dsZWQgbmF2b2RpbCB6YSBvcm9kbm8gdnJzdGljbyB2IFRpbnlNQ0Utd2lraS4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICcmU2Nhcm9uO2lyaW5hIGVkaXRvciBwb2xqYSc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdWaSZzY2Fyb247aW5hIGVkaXRvciBwb2xqYSc7CiRsYW5nWydhdXRvJ10gPSAnQXV0byc7CiRsYW5nWydvciddID0gJ2FsaSc7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICdPYm1vxI1qZSBwcmVza3Umc2Nhcm9uO2FuamEnOwokbGFuZ1snc2hvd3Rlc3RpbmdvdXRwdXQnXSA9ICdQcmlrYcW+aSByZXp1bHRhdCBwcmVza3Umc2Nhcm9uO2FuamEnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdFZGl0b3IgemEgb2Jtb8SNamUgcHJlc2t1JnNjYXJvbjthbmphJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnUmV6dWx0YXQgb2Jtb8SNamEgcHJlc2t1JnNjYXJvbjthbmphJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnVmlyIG9ibW/EjWphIHByZXNrdSZzY2Fyb247YW5qYSc7CiRsYW5nWydhbGxvd3Jlc2l6aW5nJ10gPSAnRG92b2xpIGlucGxhY2Ugc3ByZW1pbmphbmplIHZlbGlrb3N0aSBwb2xqYSBlZGl0b3JqYSc7CiRsYW5nWydyZXNpemVub25lJ10gPSAnTmUgZG92b2xpIHNwcmVtaW5qYW5qZSB2ZWxpa29zdGknOwokbGFuZ1sncmVzaXplYm90aCddID0gJ0Rvdm9saSBzcHJlbWluamFuamUgdmVsaWtvc3RpIHYgb2JlIHNtZXJpJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ0Rvdm9saSBzYW1vIHNwcmVtaW5qYW5qZSB2ZWxpa29zdGkgdmkmc2Nhcm9uO2luZSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRm9ybWF0IGRhdHVtYS/EjWFzYSc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ8SMYXMnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2xpa25pdGUgdHVrYWogemEgcG9tb8SNIG8gdGVtLCBrYWtvIG9ibGlrb3ZhdGkgZGF0dW0vxI1hcyc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFa3N0cmEgbmFtZXN0aXRldic7CiRsYW5nWydleHRyYWNvbmZpZ2hlbHAyJ10gPSAnRW5vIGl6amF2byBuYSBsaW5pamksIHZlamljZSBib2RvIGRvZGFuZSBwcmVkIGluIHBvIHRlaiB2c2ViaW5pLiBQcmV2ZXJpdGUgVGlueU1DRS13aWtpIHphIG5hdm9kaWxhLic7CiRsYW5nWydjdXN0b21kcm9wZG93bnRleHQnXSA9ICdQcmlrcm9qZW4gZHJvcGRvd24nOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnVnN0YXZpIHByaWtyb2plbmUgZGVsZSBrb2RlL2Jlc2VkaWxhIHogaXpiaXJvIHYgZHJvcGRvd24gbWVuaWp1LgpPxI1pdG5lIHVwb3JhYmUgc28gcHJlcHJvc3QgZG9zdG9wIGRvIHRhZy1vdiBpbiB0YWtvIGRhbGplLiBNZW5pIHNlIHZzdGF2aSB2IHZyc3RpY2kgcyAmIzAzOTtjdXN0b21kcm9wZG93biYjMDM5Oy4nOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ1phZ29uIG9tb2dvxI1lbic7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnSXpsb8SNZW5qZSBwb8W+ZW5lIFRpbnktZWRpdG9yIHYgb25lbW9nb8SNZW5vIHN0YW5qZS4gSmUgdHJlYmEgdXBvcmFiaXRpIHNrdXBhaiBzIHByZWtsb3BuaW0gZ3VtYm9tLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ05hbG/FvmkgQ01TLWxpbmtlcic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ1RvIHVzdHZhcmphIGphdmFzY3JpcHQga29kbywga2kgamUgcG90cmVibmEgZGEgb21vZ2/EjWkgJnF1b3Q7Y21zbGlua2VyJnF1b3Q7IGRhIHNlIGRvZGEgdiBvcm9kbm8gdnJzdGljby4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnQ01TLWxpbmtlciBsaW5rIHN0aWwnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0aWwnOwokbGFuZ1snYWhyZWZzdHlsZSddID0gJzxhIGhyZWY+LXN0aWwnOwokbGFuZ1snY21zbGlua2VyYWRkc3RleHQnXSA9ICdDTVMtbGlua2VyIGRvZGF0a2knOwokbGFuZ1snY21zbGlua2VyYWRkc2hlbHAnXSA9ICdUbyB2YW0gb21vZ2/EjWEsIGRhIGRvZGF0ZSBzdHZhcmkgYm9kaXNpIDxhIGhyZWY+LXRhZyBhbGkge2Ntc19zZWxmbGlua30sIMSNZSBqaWggdXN0dmFyaSBDTVMtbGlua2VyLic7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9udGV4dCddID0gJ0l6b2dpYmFqIHNlIGxpbmsgcHJldXNtZXJpdGV2JzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb25oZWxwJ10gPSAnSXprbGp1xI1pIHZncmFqZW5vIGxpbmsgcHJldXNtZXJpdGV2IHYgVGlueU1DRS1qdS4gT21vZ2/EjWkge3NtYXJ0eX0tdXBvcmFibyB2IHVybC1qaWguJzsKJGxhbmdbJ3JlbGF0aXZldXJsc3RleHQnXSA9ICdVc3R2YXJpIHJlbGF0aXZuZSB1cmwtamUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ1ByaXNpbGkgxI1pc8SNZW5qZSBvYiBrb3BpcmFuanUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RvIGJpIGJpbG8gdHJlYmEgb21vZ2/EjWl0aSwgZGEgc2Ugb2RzdHJhbmkgxI11ZG5vIG9ibGlrb3ZhbiBrb2RlLCBrbyBrb3BpcmF0ZSBpeiBXb3JkYSBpbiB0YWtvIGRhbGplLic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5IHRhZyBDU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnQm8gZG9kYW5vIHYgY3NzIGJvZHktZGVmaW5pdGlvbi4gTmFtaWc6IEJhY2tncm91bmQtY29sb3Igc2UgbGFoa28gbmFzdGF2aSB2IGJlbG8geiAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnVmtsanXEjWl0ZSBzYW1vIENTUyB6YSB6YXNsb24nOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1RhIGl6YmlyYSBvbW9nb8SNYSBzYW1vIHByaXBldGUgc3R5bGVzaGVldGUgeiBpemJyYW5pbSBzY3JlZW4tbWVkaWF0eXBlIGthdGVyaSBib2RvIHZrbGp1xI1lbmkgdiBUaW55TUNFLic7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd0ZXh0J10gPSAnVXBvcmFiaSBzdGF0acSNbm8gY29uZmlnIGRhdG90ZWtvJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUbyBsYWhrbyBwb21hZ2EgVGlueU1DRSBkYSBkZWxhIG5hIHNpc3RlbWloLCBramVyIGhvc3RpbmcgZG9kYWphIHN0dmFyaSwga290IGplIHN0YXRpc3Rpa2EgaXRkLCBrYXIgbGFoa28gcG92enJvxI1pIHByb2JsZW1lIHYgZGluYW1uacSNbm8gdXN0dmFyamVuaSBqYXZhc2NyaXB0IGNvbmZpZyBkYXRvdGVraSc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnT3Bvem9yaWxvISBJbWF0ZSBzdGF0acSNbmEgY29uZmlnIGRhdG90ZWthIG1vxb5ub3N0ICBvbW9nb8SNZW5vLCB2IHZhJnNjYXJvbjsgL3RtcC9kaXIgcGEgbmkgbW9nb8SNZSBwaXNhdGkuIFRvIGJvIHByZXByZcSNaWxvIG1vZHVsIG9kIHNocmFuamFuamEgc3RhdGnEjW5lIGNvbmZpZyBkYXRvdGVrZSBpbiBUaW55TUNFIHZlcmpldG5vIG5lYm8gZGVsYWwuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ1ByZXpyaSBkb3ZvbGplbmplICZxdW90O1NwcmVtZW5pIGRhdG90ZWtlJnF1b3Q7IHphIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnT3Bvem9yaWxvISBUbyBvbW9nb8SNYSBzcHJlbWluamFuamUgZGF0b3RlaywgdHVkaSDEjWUgZG92b2xqZW5qZSAmcXVvdDtTcHJlbWVuaSBkYXRvdGVrZSZxdW90OyBuaSBkb2xvxI1lbm8gemEgdGVrb8SNZSB1cG9yYWJuaSZzY2Fyb247a2Ugc2t1cGluZS4gVG8gamUgbW9nb8SNZSB1xI1pbmtvdml0byB1cG9yYWJpdGkgc2t1cGFqIHogbW/Fvm5vc3Rqbywgb21laml0dmUgdXBvcmFibmlrb3YgemEgZG9zdG9wIGRvIGltZW5pa292Lic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdQb2thxb5pIHBvbGplIHd5c2l3eWcgVmtsb3BpL0l6a2xvcGknOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1ZrbG9waS9pemtsb3BpIHZpenVhbG5pIHVyZWpldmFsbmlrJzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3RpbGknOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgIElmIHlvdSBsZWF2ZSB0aGUgZmllbGQgZW1wdHksIFRpbnlNQ0Ugd2lsbCBwYXJzZSB5b3VyIENTUyBmaWxlIGFuZCBsaXN0IHRoZSBjbGFzcyBzdHlsZXMgY29udGFpbmVkIGluIGl0IHRvIHRoZSB1c2VyLiAKICBJZiB5b3Ugd2FudCBvbmx5IHNvbWUgc3R5bGVzIHByZXNlbnRlZCB0byB0aGUgdXNlciwgc3BlY2lmeSB0aGVtIGluIHRoZSBmb3JtICZxdW90O0N1c3RvbU5hbWUxPXN0eWxlMTsgQ3VzdG9tTmFtZTI9c3R5bGUyJnF1b3Q7LCAKICAmcXVvdDtzdHlsZTEmcXVvdDsgYmVpbmcgYSBjbGFzcyBjYWxsIGluIHlvdXIgc3R5bGVzaGVldCBhbmQgeW91IGRvbiYjMDM5O3QgcHV0IHRoZSAuIAogIG5vcm1hbGx5IHVzZWQgZm9yIGNsYXNzIGNhbGxzIGFzIGl0IGlzIGFscmVhZHkgaW4geW91ciBDU1MsIGl0IHdpbGwgbG9vayBsaWtlIHRoaXMgPHNwYW4gY2xhc3M9JnF1b3Q7c3R5bGUxJnF1b3Q7PnRleHQ8L3NwYW4+LCAKICBpbiB0aGUgZmlyc3QgZmllbGQgYmVsb3cuIAonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3RpbGknOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnRG9zdG9wIHphdnJuamVuLiBQcm9zaW1vLCBwcmV2ZXJpdGUgZG92b2xqZW5qYS4nOwokbGFuZ1snZXJyb3InXSA9ICdOYXBha2EhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1BvJnNjYXJvbjtsamknOwokbGFuZ1sndXBkYXRlJ10gPSAnUG9zb2RvYmknOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnU2hyYW5pIG5hc3Rhdml0dmUnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdOYXN0YXZpdHZlJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdOYXN0YXZpdHZlIHNvIHNocmFuamVuZSc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTaHJhbmkgZG9kYXRuZSBuYXN0YXZpdGV2JzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdEb2RhdG5lIG5hc3Rhdml0dmUgc2hyYW5qZW5lJzsKJGxhbmdbJ3Rvb2xiYXJzYXZlZCddID0gJ09yb2RuYSB2cnN0aWNhIGplIGJpbGEgc2hyYW5qZW5hJzsKJGxhbmdbJ3N0eWxlc3NhdmVkJ10gPSAnU3RpbCBqZSBzaHJhbmplbic7CiRsYW5nWyd0ZXN0YXJlYXRleHQnXSA9ICc8cD5UZXN0IG9ibW/EjWplLCB2c2ViaW5hIG5lIGJvIHBvJnNjYXJvbjtrb2RvdmFuYSwgxI1lIHNlIGlncmF0ZSBzIHRlbS4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICdWcm5pIHByaXZ6ZXRlIG5hc3Rhdml0dmUnOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdQb25hc3RhdmkgdnNlIG5hc3Rhdml0dmUgbmEgcHJpdnpldGUnOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnQWxpIHN0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSBwb25hc3Rhdml0aSB0ZSBuYXN0YXZpdHZlIG5hIHByaXZ6ZXRlPyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICdBbGkgc3RlIHByZXByacSNYW5pLCBkYSDFvmVsaXRlIHBvbmFzdGF2aXRpIHZzZSBuYXN0YXZpdHZlIG5hIHByaXZ6ZXRlPyc7CiRsYW5nWydzZXR0aW5nc3Jlc2V0J10gPSAnVGUgbmFzdGF2aXR2ZSBzbyBwb25hc3RhdmxqZW5lIG5hIHByaXZ6ZXRlJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdWc2UgbmFzdGF2aXR2ZSBzbyBwb25hc3RhdmxqZW5lIG5hIHByaXZ6ZXRlJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnamUgYmlsIG5hZGdyYWplbiBuYSByYXpsacSNaWNvICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnUHJpbGFnb2plbmkgaXp2bGXEjW5pIG1lbmknOwokbGFuZ1snY21zbXNsaW5rZXInXSA9ICdWc3RhdmkgcG92ZXphdm8gbmEgQ01TIHN0cmFuJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdCYWNrZW5kIHRvb2xiYXIgc2V0dGluZ3MnOwokbGFuZ1snZnJvbnRlbmRfdG9vbGJhcnMnXSA9ICdGcm9udGVuZCB0b29sYmFyIHNldHRpbmdzJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGx1Z2luaSc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdJemJlcml0ZSBwbHVnaW5lIGthdGVyZSDFvmVsaXRlIGFrdGl2aXJhdGkuIERva3VtZW50YWNpam8gamUgbW9nb8SNZSBuYWp0aSA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPnR1a2FqPC9hPic7CiRsYW5nWydwbHVnaW5zX3RleHQnXSA9ICdQbHVnaW5pJzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAnU2hyYW5pIHBsdWdpbmUnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2luaSBzaHJhbmplbmknOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bCBwbHVnaW5pJzsKJGxhbmdbJ3BsdWdpbnNfY29tbW9uJ10gPSAnTmFqcG9nb3N0ZWomc2Nhcm9uO2kgcGx1Z2luaSc7CiRsYW5nWydtb2R1bGUnXSA9ICdNb2R1bCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09waXMnOwokbGFuZ1sncGx1Z2luJ10gPSAnUGx1Z2luJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ05haGFqYXRlIHNlIHYnOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTmFsb8W+aSBzdGlsIHphIHZzZWJpbm8gKHByaXBvcm/EjWVubyknOwokbGFuZ1snZXh0cmFzdHlsZXN0ZXh0J10gPSAnRG9kYXRraSBrIHN0aWx1JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBqZSB2bmVzZW4gdHVrYWogYm8gZG9kYW4gdiBzdGlsIGthdGVyZWdhIGJlcmUgVGlueU1DRSBwb3RlbSBrbyBwcmVqbWUgQ01TTVMtb3Ygc3RpbCc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTm92YSBkYXRvdGVrYSc7CiRsYW5nWyd1cGxvYWRmaWxlJ10gPSAnTmFsb8W+aSc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOb3ZhIG1hcGEnOwokbGFuZ1snY3JlYXRlZGlyJ10gPSAnVXN0dmFyaSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdJbWUgbWFwZSBuaSBwb2Rhbm8nOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnTWFwYSBzIHRlbSBpbWVub20gxb5lIG9ic3RhamEnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05vdmEgbWFwYSBqZSBiaWxhIHVzdHZhcmplbmEnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnTmFwYWthIHByaSB1c3R2YXJqYW5qdSBub3ZlIG1hcGUnOwokbGFuZ1snbm9maWxlJ10gPSAnTm9iZW5hIGRhdG90ZWthIG5pIGJpbGEgbmFsb8W+ZW5hJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdOYWxvxb5lbmEgZGF0b3Rla2EgamUgcHJldmVsaWthJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnTmFwYWthIHByaSBwcmVtaWthbmp1IG5hbG/FvmVuZSBkYXRvdGVrZSBuYSBuamVubyBtZXN0byc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdEYXRvdGVrYSBqZSBiaWxhIHVzcGUmc2Nhcm9uO25vIG5hbWUmc2Nhcm9uO8SNZW5hJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICdOYWxvxb5lbmEgZGF0b3Rla2Egbmkgc2xpZ2EnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TIGl6YmlyYSBkYXRvdGVrJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdVc3BlJnNjYXJvbjtubyc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ09wZXJhY2lqZSB6IGRhdG90ZWthbWknOwokbGFuZ1sndGhvdXNhbmRkZWxpbWl0ZXInXSA9ICcsJzsKJGxhbmdbJ3NpemUnXSA9ICdWZWxpa29zdCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnJlNjYXJvbjt4Vic7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdOYXByZWRubyc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgoJPGxpPjIuIFRyeSB0byBzd2l0Y2ggb24gdGhlIFN0YXRpYyBDb25maWcgb3B0aW9uLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyPC9saT4KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8L3VsPgoJPGJyLz4KCQkKJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE0NTg0NTA2NjQtMTI4NDU3MzA4NDkxOCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODg2ODk4MDAuMzI2LjI4LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMTY0MzYxOTA4LjEyODUxNTM3NjguMTI4ODcwMTcyNS4xMjg4NzA0NzA2LjMyOSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjg4NzA0NzA2JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/so_SO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdTdHJpcCBCYWNrZ3JvdW5kIFRhZ3MgRnJvbSBDU1MnOwokbGFuZ1sndXNlY29tcHJlc3Npb25fdGV4dCddID0gJ1VzZSBUaW55TUNFIGNvbXByZXNzaW9uIG1vZHVsZSc7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnQXBwbHkgc291cmNlIGZvcm1hdHRpbmcgdG8gdGhlIG91dHB1dCBIVE1MJzsKJGxhbmdbJ29ubHl4aHRtbGVsZW1lbnRzX3RleHQnXSA9ICdPbmx5IGFsbG93IFhIVE1MLWNvbXBsaWFudCBlbGVtZW50cyc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnQmxvY2tmb3JtYXRzIGluIGRyb3Bkb3duLW1lbnUnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdOZXdsaW5lLXN0eWxlJzsKJGxhbmdbJ3JlcGxhY2VfY21zX3NlbGZsaW5rX3RleHQnXSA9ICdSZXBsYWNlIHtjbXNfc2VsZmxpbmsgcGFnZT0mIzAzOTt4JiMwMzk7fSB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGxpbmsgZHVyaW5nIGVkaXRpbmcuJzsKJGxhbmdbJ2VuYWJsZV90aHVtYnNfdGV4dCddID0gJ0VuYWJsZSB0aHVtYm5haWwgcHJldmlld3MgaW4gdGhlIGltYWdlIGJyb3dzZXIuPGJyIC8+KE5vdGU6IFlvdSBtYXkgaGF2ZSB0byBzZXQgZmlsZSBjcmVhdGlvbiBtYXNrIHRvIDAwMiAoaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAwMjIpPGJyIC8+IHRvIGdldCB0aGUgdGh1bWJuYWlscyB3b3JraW5nIChkbyB0aGlzIGluIFNpdGUgQWRtaW4gLT4gR2xvYmFsIFNldHRpbmdzKS4nOwokbGFuZ1snc2hvd19wYXRoX3RleHQnXSA9ICdTaG93IHRoZSBwYXRoIG9mIHRoZSBlbGVtZW50IGF0IHRoZSBib3R0b20gb2YgdGhlIGVkaXRvci4nOwokbGFuZ1sncGx1Z2luc190YWInXSA9ICdQbHVnaW5zL1Rvb2xiYXInOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiA8YnIgLz5JZiB0aGUgZG9jdW1lbnRhdGlvbiBpcyBpbnN0YWxsZWQsIGNsaWNrIG9uIGFuIHBsdWdpbiBuYW1lIHRvIG9wZW4gdGhlIGhlbHAgcGFnZXMuJzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnVGhlc2Ugb3B0aW9ucyBzaG91bGQgY29udGFpbiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGJ1dHRvbi9jb250cm9sIG5hbWVzIHRvIGluc2VydCBpbnRvIHRoZSB0b29sYmFyLic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUb29sYmFyJzsKJGxhbmdbJ2xhbmd1YWdlX3RleHQnXSA9ICdDaG9vc2UgbGFuZ3VhZ2U6JzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnV2lkdGggb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdCb2R5IHRhZyBDU1MnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnbGVhdmUgQkxBTksgb3Igc2V0IERFRkFVTFQgZm9yIHVzZSBQQUdFIENTUy4gTm90ZTogVG8gbWFrZSBlZGl0b3IgYmFja2dyb3VuZCBjb2xvciB3aGl0ZSBwdXQgdGhlIGZvbGxvd2luZyBpbiB0aGUgYmxhbms6IGJhY2tncm91bmQtY29sb3I6d2hpdGU7JzsKJGxhbmdbJ3N0eWxlc190YWInXSA9ICdDU1MgU3R5bGVzJzsKJGxhbmdbJ3N0eWxlc19oZWxwJ10gPSAnSWYgeW91IGxlYXZlIHRoZSBmaXJzdCBmaWVsZCBlbXB0eSwgVGlueU1DRSB3aWxsIHBhcnNlIHlvdXIgQ1NTIGZpbGUgYW5kIGxpc3QgdGhlIHN0eWxlcyBjb250YWluZWQgaW4gaXQgdG8gdGhlIHVzZXIuIElmIHlvdSB3YW50IG9ubHkgc29tZSBzdHlsZXMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBzcGVjaWZ5IHRoZW0gaW4gdGhlIGZvcm0gJnF1b3Q7U3R5bGUgMT1zdHlsZTE7IFN0eWxlIDI9c3R5bGUyJnF1b3Q7IGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gSW4gdGhlIHJlbWFpbmluZyBmaWVsZHMsIHlvdSBjYW4gc3BlY2lmeSBDU1Mgc3R5bGVzIGZvciBUYWJsZXMsIFJvd3MgYW5kIENlbGwgd2hpY2ggYXJlIHVzZWQgaW4gdGhlIGNvcnJlcHNvbmRpbmcgZGlhbG9ncy4gRm9yIGFuIGVtcHR5IGZpZWxkLCB0aGUgc3R5bGVzIGZyb20gdGhlIGdlbmVyYWwgc3R5bGVzIGFyZSB1c2VkLic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICdHZW5lcmFsJzsKJGxhbmdbJ3RhYmxlX3N0eWxlc190ZXh0J10gPSAnVGFibGUnOwokbGFuZ1sndGFibGVfcm93X3N0eWxlc190ZXh0J10gPSAnUm93JzsKJGxhbmdbJ3RhYmxlX2NlbGxfc3R5bGVzX3RleHQnXSA9ICdDZWxsJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHdhcyBzYXZlZCc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW5zIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBUaW55TUNFIHRvIGJlIHVzZWQgYXMgYSBXWVNJV1lHLjwvcD4KCTxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KCTxwPkluc3RhbGwgaXQsIHRoZW4gZ28gdG8gVXNlciBQcmVmZXJlbmNlcyBhbmQgU2V0IFRpbnlNQ0UgdG8gYmUgeW91ciB3eXNpd3lnIG9mIGNob2ljZS48L3A+Cgk8cD5TZXQgdGhlIHByb3BlciBwZXJtaXNzaW9uIGZvciBncm91cHMgYWxsb3dlZCB0byBzZXQgcHJlZmVyZW5jZXMgZm9yIFRpbnlNQ0UuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICcJCTx1bD4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjU8L3A+CgkJPHA+QWRkZWQgYSB4aHRtbC1lbGVtZW50cyBvbmx5IG9wdGlvbjwvcD4KCQk8cD5Nb3ZlZCBqYXZhc2NyaXB0IGNvbmZpZyBpbnRvIGFuIGV4dGVybmFsIGZpbGU8L3A+CgkJPHA+QWRkZWQgc2VsZWN0aW5nIHAgb3IgYnIvIHN0eWxlIG5ld2xpbmVzPC9wPgoJCTxwPlVwZGF0ZWQgdG8gbmV3IGNvbXByZXNzaW9uIGVuZ2luZS4gU2hvdWxkIGZpeCBzb21lIGJ1Z3MgcmVsYXRlZCB0byB0aGlzPC9wPgoJCTxwPkFkZGVkIHBsdWdpbiBkZXNjcmlwdGlvbnMgZnJvbSBkb2NzPC9wPgoJCTxwPkZpeGVkIHNob3dpbmcgb2YgY29ycmVjdCB0ZXN0YXJlYSBldmVuIGlmIGFub3RoZXIgd3lzaXd5ZyBpcyBjaG9zZW48L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDIuMS4wPC9wPgoJCTxwPkFkZGVkIHRodW1ibmFpbCBwcmV2aWV3cyBpbiBpbWFnZSBicm93c2VyLjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuNDwvcD4KCQk8cD5GaXhlZCBjdXN0b21pemVkIHRleHRhcmVhIHdpZHRoPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAyLjAuNzwvcD4KCQk8cD5SZXZlcnNlZCBjaGFuZ2Vsb2cgY29udGVudCAoZnJvbSBub3cgb24gYXQgbGVhc3QpIDstKTwvcD4KCQk8cD48L3A+CgkJPC9saT4KCgkJPGxpPgoJCTxwPlZlcnNpb246IDEuMDwvcD4KCQk8cD5PcmlnaW5hbCBtb2R1bGUgY29kZSBmb3IgVGlueU1DRSBXWVNJV1lHIHRleHRhcmVhIHJlcGxhY2VtZW50IHRvb2wuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPkF1dGhvcjogU2ltb24gQnJvd24gPHNpbW9uQHVwdG9lbGV2ZW4ud3M+PC9wPgoJCTxwPlZlcnNpb246IDEuMTwvcD4KCQk8cD5Db252ZXJ0ZWQgZm9yIHVzZSB3aXRoIG5ldyBDTVMgTW9kdWxlIGFyY2hpdGVjdHVyZS48L3A+CgkJPHA+VXBncmFkZWQgVGlueU1DRSB0byB2ZXJzaW9uIDEuNDIuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDEuMjwvcD4KCQk8cD5GaXhlZCBidWcgd2l0aCBwYXRocyBiZWluZyBjcmVhdGVkIHdyb25nIG9uIGltYWdlIGluc2VydC48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjA8L3A+CgkJPHA+QXV0aG9yOiBTdGVmYW4gUiZvdW1sO2xsaW48L3A+CgkJPHA+VVBEQVRFRCB0byB2ZXJzaW9uIDIuMC41LjEgb2YgVGlueU1DRSBlZGl0b3IuPC9wPgoJCTxwPkFERCBwbHVnaW5zIHNpbXBsZWJyb3dzZXIsIGNtc21zbGluayA8L3A+CgkJPHA+QUREIHNvbWUgY29uZmlndXJhdGlvbiBvcHRpb25zLjwvcD4KCQk8cD5BREQgcGVybWlzc2lvbiB0byBtb2RpZnkgc2V0dGluZ3MuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4xPC9wPgoJCTxwPlVQREFURUQgdG8gdmVyc2lvbiAyLjAuNi4xIG9mIFRpbnlNQ0UgZWRpdG9yLjwvcD4KCQk8cD5BREQgY29uZmlndXJhdGlvbiBvcHRpb25zOiBsYW5ndWFnZSBhbmQgc291cmNlX2Zvcm1hdHRpbmcuPC9wPgoJCTxwPkltcHJvdmVkIHBsdWdpbiBjb25maWd1cmF0aW9uLjwvcD4KCQk8cD5BREQgbW9yZSBsYW5ndWFnZXMuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4yPC9wPgoJCTxwPkZJWCBmaWxlYnJvd3NlcjwvcD4KCQk8cD5GSVggc2VjdXJpdHkgZmxhdyBpbiBmaWxlYnJvd3NlcjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuMzwvcD4KCQk8cD5Db252ZXJ0ZWQgdG8gbmV3IGZldGNoLW1ldGhvZCBvZiBjb250ZW50X2FycmF5PC9wPgoJCTxwPkZJWCBzZWN1cml0eSBmbGF3IGluIGZpbGVicm93c2VyPC9wPgoJCTxwPkFkZGVkIGxvY2FsaXphdGlvbiBvZiB0ZXN0YXJlYS10ZXh0PC9wPgoJCTwvbGk+CgkJPC91bD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4yMDk1MzcwMDM0LjExNzQzMTQ2OTQuMTE3NDMxNDY5NC4xMTc0MzE0Njk0LjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExNzQzMTQ2OTQuMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1va3Yuc2V8dXRtY2N0PS9BdHRfc2FuZGEvVmVtX2thbl9zYW5kYS98dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sr_YU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgZWRpdG9yIHphIHRla3N0JzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdPdmFqIG1vZHVsIG9tb2d1xIdhdmEgdW5vcyBpIG9kcsW+YXZhbmplIHNhZHLFvmFqYSwgbW/FvmUgc2Uga29yaXN0aXRpIGkgemEgdW5vcyByYXpuaWggZHJ1Z2loIHZyc3RhIHBvZGF0YWthIGtvamkgc2UgbW9ndSBvZHLFvmF2YXRpIHBvbW/Eh3UgZWRpdG9yYSBrb2ppIHBva3JlxIdlIFRpbnlNQ0UgcHJvamVjdC4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCB1a2xvbmplbi4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyemlqZSAlcyBqZSBpbnN0YWxpcmFuLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnSXNrbGp1xI1pIEJhY2tncm91bmQgdGFnb3ZlIHUgQ1NTLXUnOwokbGFuZ1snc3RpcHRhZ3NfaGVscCddID0gJ092YSBvcGNpamEgc2x1xb5pIHphIGlza2xqdcSNaXZhbmplIHBvemFkaW5lIHN0cmFuaWNlIHUgQ1NTIHN0aWxvdmltYS4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ1ByaW1lbmEgZm9ybWF0aXJhbmphIGtvZGEgbmEgSFRNTCBpemxhenUnOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2NrZm9ybWF0cyB1IGRyb3Bkb3duLW1lbmlqdSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ0RvenZvbGkgdGFiZWxlJzsKJGxhbmdbJ25ld2xpbmVzdHlsZV90ZXh0J10gPSAnU3RpbCBub3ZlIGxpbmlqZSc7CiRsYW5nWydwc3R5bGUnXSA9ICc8cD4tc3RpbCc7CiRsYW5nWydicnN0eWxlJ10gPSAnPGJyLz4tc3RpbCc7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbnRleHQnXSA9ICdVcG90cmViaSBneiBjb21wcmVzc2lvbic7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdPdm8gbW/FvmUgdWJyemF0aSB1xI1pdGF2YW5qZSBUaW55TUNFLWEsIGFsaSBtb8W+ZSB0YWtvxJFlIHNwcmXEjWl0aSB1xI1pdGF2YW5qZSBuYSBuZWtpbSBzaXN0ZW1pbWEuIEtvcmlzdGl0ZSBzYSBvcHJlem9tLic7CiRsYW5nWydmb3JjZWRyb290YmxvY2t0ZXh0J10gPSAnUHJpbnVkaSA8cD4gcm9vdGJsb2NrJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdQcmludWRpIHZyYcSHZW4gc2FkcsW+YWogZGEgc2UgemF0dm9yaSBzYSA8cD4tdGFnb20nOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRmlsZXBpY2tlciBzdGlsJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnRmlsZXBpY2tlciB2ZWxpxI1pbmEnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnRG96dm9saSB1cGxvYWQgaSBrcmVpcmFuamUgZGlyZWt0b3JpamEgdSBGaWxlUGlja2VydSc7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnRG96dm9saSBvbi10aGUtZmx5IHByb21lbnUgdmVsacSNaW5lIG90cHJlbWxqZW5lIHNsaWtlJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ1BvZHJhenVtZXZhbmUgZGltZW56aWplJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnUHJvbWVuaSB2ZWxpxI1pbnUgdTonOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ05hcHJhdmkgc2xpxI1pY3UgdSB0b2t1IG90cHJlbWUgc2xpa2UnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnS29yaXN0aSBuYXByZWRuaSBUaW55TUNFLXByb2ZpbCc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1NhxI11dmFqIHByb2ZpbCc7CiRsYW5nWydwcm9maWxlc2F2ZWQnXSA9ICdQcm9maWwgamUgc2HEjXV2YW4nOwokbGFuZ1sncHJvZmlsZXNfdGFiJ10gPSAnUHJvZmlsaSc7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnTmFwcmVkbm8gQmFja2VuZCBwb2RlJnNjYXJvbjthdmFuamUgcHJvZmlsYSc7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU2HEjXV2YWogc3RpbG92ZSc7CiRsYW5nWydhbGxvd2FkdmFuY2VkcHJvZmlsZSddID0gJ0RvenZvbGkga29yaSZzY2Fyb247xIdlbmplIG5hcHJlZG5paCBwcm9maWxhIHUgVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdQcmlrYcW+aSBmYWpsbWFuYWdlbWVudCBvcGNpamUnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1ByaWthxb5pIGZhamxtYW5hZ2VtZW50IHUgb3BjaWphbWEga2FvICZzY2Fyb247dG8gc3Ugb3RwcmVtZSwgbmFwcmF2aSBkaXJla3RvcmlqIGkgYnJpc2FuamUgZmFqbG92YSB1dSBGaWxlUGlja2VydSwgYWtvIGltYSBrb3Jpc25payBkb3p2b2x1IHphIHRvLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdaYWJyYW5pIGtvcmlzbmlrb3YgZGlyZWt0b3JpaiBwcmlzdHVwJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdPdm8gxIdlIG9ncmFuacSNaXRpIGZhamxtYW5hZ2VtZW50LW1vZ3XEh25vc3RpIGtvcmlzbmlrYSBuYSBzdWJkaXIgdSAmcXVvdDt1cGxvYWQmcXVvdDsgZGlyZWt0b3JpanUga29qaSBpbWFqdSBpc3RvIGltZSBrYW8gaSB6YSBwcmlqYXZ1IHRvZyBrb3Jpc25pa2EuIEFrbyBzdWJkaXIgbmUgcG9zdG9qaSwgdGFqIMSHZSB2ZXJvdmF0bm8gYml0aSBrcmVpcmFuLiBJbWFqdGUgbmEgdW11LCBvdm8gc2FkYSByYWRpIHNhbW8gc2Egc3RhbmRhcmRuaW0gZGlyIGltZW5pbWEsIHVwbG9hZC9pbWFnZXMuIFRvIHNlIG1vxb5lIHByb21lbml0aSB1IGJ1ZHXEh25vc3RpLic7CiRsYW5nWydkZWxldGVjb25maXJtYXRpb24nXSA9ICdKZXN0ZSBsaSBzaWd1cm5pIGRhIG92YUogZmFKbCB0cmViYSBkYSBzZSBvYnJpJnNjYXJvbjtlPyc7CiRsYW5nWydkZWxldGVmaWxlc3VjY2VzcyddID0gJ2plIHVzcGUmc2Nhcm9uO25vIG9icmlzYW4nOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ25pc3UgbW9nbGkgYml0aSBvYnJpc2FuaSc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICduaWplIG1vZ2FvIGJpdGkgb2JyaXNhbic7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnamUgdXNwZSZzY2Fyb247bm8gb2JyaXNhbic7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICdEYSBsaSBzdGUgc2lndXJuaSBkYSBzZSBvdmFqIHByYXphbiBzdWJkaXIgdHJlYmEgZGEgb2JyaSZzY2Fyb247ZT8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnT2JyaSZzY2Fyb247aSBwcmF6YW4gc3ViZGlyJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdPYnJpJnNjYXJvbjtpIGZhamwnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ05lIG1vxb5lIHNlIHXEjWl0YXRpIHRpbnljb25maWcucGhwIGRpcmVrdG5vIHRha28gZGFUaW55TUNFIHZlcm92YXRubyBuZcSHZSByYWRpdGkuIFRyZWJhbG8gYmkgZGEgcHJvdmVyaXRlIGRvenZvbGUgemEgZmFqbG92ZSBpIGdsYXZuZSBkaXJla3RvcmlqZSwga29qaSBiaSB0cmViYWxpIGRhIGJ1ZHUgcmVhZGFibGUgemEgc3ZlLCBhbGkgc2FtbyB3cml0YWJsZSB6YSB2bGFzbmlrYS4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnUHJpa2HFvmkgaW1lbmEgZmFqbG92YSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1ByaWthxb5pIHNsacSNaWNlJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdQcmlrYcW+aSBzbGnEjWljZSBrYW8gcmVndWxhcm5lIGZhamxvdmUnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnUHJpa2HFvmkgaSBpbWVuYSBmYWpsb3ZhIGkgc2xpxI1pY2UnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnSXpnbGVkJzsKJGxhbmdbJ3NraW52YXJpYXRpb250ZXh0J10gPSAnVmFyaWFjaWphIGl6Z2xlZGEnOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5JbWFKdGUgdSB2aWR1ITxici8+TWVuamFuamUgb3ZpaCBwb3N0YXZraSBtb8W+dSBpemF6dmF0aSBUaW55TUNFIGRhIHByZXN0YW5lIHJhZGl0aSBpbGkgZGEgamUgZ2VuZXJpc2FuaSBrb2QgcG9ncmUmc2Nhcm9uO2FuIG5hIG5la2kgbmHEjWluLiBTYW1vIGl6bWVuaXRlIG92byBha28gem5hdGUgJnNjYXJvbjt0YSByYWRpdGUhIE1vbGltbyBWYXMgZGEgcG9nbGVkYXRlIFRpbnlNQ0Ugc2FqdCBwcmUgaWdyYW5qYSBzYSBvdmltLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnS29kaXJhbmplIGVudGl0ZXRhJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGtvZGlyYW5qZSAobmFqYnLFvmksIHJhZGkgdSB2ZcSHaW5pIHNsdcSNYWphKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnSW1lbm92YW5vIGtvZGlyYW5qZSAoa2FvICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpxI1rbyBrb2RpcmFuamUgKGthbyAmYW1wOyMxNjA7KSc7CiRsYW5nWydzaG93X3BhdGhfdGV4dCddID0gJ1ByaWthxb5pIHB1dCBlbGVtZW50YSBuYSBkbnUgdXJlZG5pa2EnOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUb29sYmFyL2FsYXRrZSc7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdPdmUgb3BjaWplIHRyZWJhanUgc2FkcsW+YXZhdGkgc2EgemFyZXpvbSBvZHZvamVudSBsaXN0dSBpbWVuYSB6YSB0YXN0ZXIva29udHJvbGUgdG9vbGJhcnUvYWxhdGthbWEuIFpuYWsgfCBtb8W+ZSBkYSBzZSBrb3Jpc3RpIHVtZXN0byAmIzAzOTtzZXBhcmF0b3JhJiMwMzk7IHJlxI1pJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ1Rvb2xiYXIvYWxhdGtlJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0tsaWtuaSBvdmRlIHphIHByZWdsZWQgdG9vbGJhci1pbnN0cnVrY2lqZSB1IFRpbnlNQ0Utd2lraS4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICcmU2Nhcm9uO2lyaW5hIHBvbGphIGVkaXRvcmEnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnVmlzaW5hIHBvbGp1IGVkaXRvcmEnOwokbGFuZ1snYXV0byddID0gJ0F1dG9tYXRza2knOwokbGFuZ1snb3InXSA9ICdpbGknOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAnWm9uYSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnUHJpa2HFvmkgcmV6dWx0YXRlIHRlc3RpcmFuamEnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdFZGl0b3Igem9uZSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0J10gPSAnSXpsYXogem9uZSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnSXp2b3JuaSBrb2Qgem9uZSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ2FsbG93cmVzaXppbmcnXSA9ICdEb3p2b2xpIHByb21lbnUgdmVsacSNaW5lIG5hIG1lc3R1IHVyZWRuaWthJzsKJGxhbmdbJ3Jlc2l6ZW5vbmUnXSA9ICdOZSBkb3p2b2xpIHByb21lbnUgdmVsacSNaW5lJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdEb3p2b2xpIHByb21lbnUgdmVsacSNaW5lIHUgb2JhIHNtZXJhJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ0RvenZvbGkgcHJvbWVudSB2ZWxpxI1pbmUgc2FtbyB1IHZpc2ludSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRm9ybWF0IERhdHVtYS9WcmVtZW5hJzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnVnJlbWUnOwokbGFuZ1snZGF0ZXRleHQnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXRldGltZWZvcm1hdF9oZWxwJ10gPSAnS2xpa25pdGUgb3ZkZSB6YSBwb21vxIcga2FrbyBkYSBmb3JtYXRpcmF0ZSBkYXR1bS92cmVtZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdEb2RhdG5lIGtvbmZpZ3VyYWNpamUnOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ0plZG5hIGl6amF2YSBwbyByZWR1LCB6YXJlemkgxIdlIGJpdGkgZG9kYWl0IHByZSBpIHBvc2xlIG92b2cgc2FkcsW+YWphLiBQcm92ZXJpdGUgVGlueU1DRS1XaWtpIHphIGluc3RydWtjaWplLic7CiRsYW5nWydjdXN0b21kcm9wZG93bnRleHQnXSA9ICdQcmlsYWdvxJFlbiBkcm9wZG93bic7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdVYmFjdWplIHByaWxhZ2/EkWVuZSBzbmlwZXRlIGtvZGEvdGVrc3RhIHMgaXpib3JvbSBpeiBkcm9wZG93biBtZW5pamEuCk/EjWlnbGVkbmUga29yaXN0aSBzdSB6YSBsYWsgcHJpc3R1cCB0YWdvdmEsIGl0ZC4gTWVuaSBzZSB1bWV0bmUgdSB0b2xsYmFyL2FsYXRrYW1hIHMgcG9tb8SHdSAmIzAzOTtjdXN0b21kcm9wZG93biYjMDM5Oy4nOwokbGFuZ1snc3RhcnRlbmFibGVkdGV4dCddID0gJ1Bva3JldGFuamUgc2tyaXB0YSBvbW9ndcSHZW5vJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdPcG96dmF0aSBpemJvciBwb2tyZcSHZSBUaW55LXVyZWRuaWsgdSBkZWFrdGl2aXJhbm9tIHN0YW5qdS4gVHJlYmEgZGEgc2Uga29yaXN0aSB6YWplZG5vIHNhIHRvZ2dsZSB0YXN0ZXJvbS4nOwokbGFuZ1snbG9hZGNtc2xpbmtlcnRleHQnXSA9ICdVxI1pdGFqIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUbyBnZW5lcmkmc2Nhcm9uO2UgSmF2YVNjcmlwdCBrb2Qga29qaSBqZSBwb3RyZWJhbiBkYSBvbW9ndcSHaSAmIzAzOTtjbXNsaW5rZXImIzAzOTsgZGEgc2UgZG9kYSB1IHRvb2xiYXIvYWxhdGtlLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3RpbCc7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAne2Ntc19zZWxmbGlua30tc3RpbCc7CiRsYW5nWydhaHJlZnN0eWxlJ10gPSAnPGEgaHJlZj4tc3RpbCc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgZG9kYWNpJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnVG8gdmFtIG9tb2d1xIdhdmEgZGEgZG9kYXRlIHN0dmFyaSBiaWxvIDxhIGhyZWY+LXRhZ292ZSBpbGkge2Ntc19zZWxmbGlua30sIGthZGEgamUgZ2VuZXJpc2FuIENNUy1saW5rZXIuJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb250ZXh0J10gPSAnSXpiZWdhdmFqIGxpbmsga29udmVyemlqdSc7CiRsYW5nWydhdm9pZGxpbmtjb252ZXJzaW9uaGVscCddID0gJ2lza2xqdcSNaSBUaW55TUNFJiMwMzk7b3Z1IHVncmHEkWVudSBsb2dpa3UgbGluayBrb252ZXJ6aWplLiBPbW9ndcSHdWplIHtzbWFydHl9LWtvcmkmc2Nhcm9uO3RlbmplIHUgdXJsLWp1Lic7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJpcmFqIHJlbGF0aXZuZSB1cmwtb3ZlJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZXRleHQnXSA9ICdQcmludWRpIGNsZWFuIG9uIHBhc3RlJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdPdm8gYmkgdHJlYmFsbyBkYSBidWRlIG9tb2d1xIdlbm8gZGEgdWtsb25pdGUgxI11ZG5vIG9ibGlrb3ZhbmplIGtvZG92YSBrYWRhIGtvcGlyYXRlIGl6IHByb2dyYW1hIFdvcmQsIGl0ZCc7CiRsYW5nWydib2R5Y3NzX3RleHQnXSA9ICdDU1MgemEgQm9keSB0YWcnOwokbGFuZ1snYm9keWNzc19oZWxwJ10gPSAnxIZlIGJpdGkgZG9kYXQgdSBjc3MgYm9keSBkZWZpbmljaWp1LiBTYXZldDogYmFja2dyb3VuZC1jb2xvciBzZSBtb8W+ZSBwb2Rlc2l0aSBkYSBrb3Jpc3RpIGJlbGkgJnF1b3Q7YmFja2dyb3VuZC1jb2xvcjogd2hpdGUmcXVvdDsnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfdGV4dCddID0gJ1VrbGp1xI1pIHNhbW8gc2NyZWVuIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnSXpib3JvbSBvdm9nIGRvenZvbGphdmEgc2FtbyBwcmlsb2cgc3RpbG92YSBzYSBzY3JlZW4tbWVkaWF0eXBlIGRhIGJ1ZHUgdWtsanXEjWVuaSB1IHN0aWxvdmltYSBUaW55TUNFIGRyJnNjYXJvbjtrZS4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ0tvcnNpdGkgY29uZmlnIGZhamwnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ092byBtb8W+ZSBkYSBwb21vZ25lIGRhIHJhZGkgdGlueU1DRSBuYSBzaXN0ZW1pbWEgZ2RlIGhvc3RlciBkb2RhamUgc3R2YXJpIGthbyBzdGF0aXN0aWtlIGl0ZC4gbmEgc3ZpbSBpemxhemltYSwgcmFza2lkYW5qZW0gZGluYW1pxI1raSBzdHZvcmVuaWggSmF2YVNjcmlwdCBrb25maWd1cmFjaW9uaWggZmFqbG92YSc7CiRsYW5nWyd1c2VzdGF0aWNjb25maWd3YXJuaW5nJ10gPSAnVXBvem9yZW5qZSEgSW1hdGUgYWt0aXZudSBvcGNpanUgc3RhdGnEjWtvZyBjb25maWctZmFqbGEgYWxpIHZhJnNjYXJvbjsgL3RtcC9kaXIgbmlqZSB3cml0YWJsZS4gVG8gxIdlIHNwcmXEjWl0aSBtb2R1bCB1IHNhxI11dmFuanUgc3RhdGnEjWtvZyBjb25maWctZmFqbGEgaSBuYWp2ZXJvdmF0bmlqZSDEh2UgVGlueU1DRSBiaXRpIG5ldXBvdHJlYmxqaXYuJzsKJGxhbmdbJ2lnbm9yZW1vZGlmeWZpbGVzdGV4dCddID0gJ0lnbm9yaSZzY2Fyb247aSAmIzAzOTtJem1lbmkgZmFqbCYjMDM5OyBkb3p2b2x1IHphIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnVXBvem9yZW5qZSEgT3ZvIG9tb2d1xIdhdmEgbmVrZSBmYWpsLWl6bWVuZSBvcGVyYWNpamUgxI1hayBpIGFrbyAmcXVvdDtJem1lbmkgZmFqbCZxdW90OyBkb3p2b2xhIG5pamUgcG9kZSZzY2Fyb247ZW5hIHphIHRyZW51dG51IGtvcmlzbmnEjWt1IGdydXB1LiBPdm8gc2UgbW/FvmUgZWZpa2Fzbm8ga29yaXN0aXRpIHphamVkbm8gc2Egb3BjaWpvbSB6YSBvZ3JhbmnEjWF2YW5qZSBwcmlzdHVwYSBkaXJla3RvcmlqYSBrb3Jpc25pa2EuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1ByaWthxb5pIGNoZWNrYm94IHphIHd5c2l3eWcgb24vb2ZmJzsKJGxhbmdbJ3RvZ2dsZXd5c2l3eWcnXSA9ICdVa2xqdcSNaS9Jc2tsanXEjWkgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTIFN0aWxvdmknOwokbGFuZ1snc3R5bGVzX2hlbHAnXSA9ICcgVWtvbGlrbyBvdm8gcG9samUgb3N0YXZpdGUgcHJhem5vLCBUaW55TUNFIMSHZSBwYXJzaXJhdGkgVmEmc2Nhcm9uOyBDU1MgZmFqbCBpIGl6bGlzdGHEh2Uga2xhc2Ugc3RpbG92YSBrb2ppIHN1IHVuZXRpIHphIGtvcmlzbmlrYS4KIFVrb2xpa28gxb5lbGl0ZSBkYSBvZHJlxJFlbmkgc3RpbG92aSBidWR1IHZpZGxqaXZpIHNhbW8ga29yaXNuaWt1LCBuYXZlZGl0ZSBpaCB1IGZvcm1pICZxdW90O0N1c3RvbU5hbWUxPXN0eWxlMTsgQ3VzdG9tTmFtZTI9c3R5bGUyJnF1b3Q7LCAKICAmcXVvdDtzdHlsZTEmcXVvdDsgYmVpbmcgYSBjbGFzcyBjYWxsIGluIHlvdXIgc3R5bGVzaGVldCBhbmQgeW91IGRvbiYjMDM5O3QgcHV0IHRoZSAuIAogIG5vcm1hbGx5IHVzZWQgZm9yIGNsYXNzIGNhbGxzIGFzIGl0IGlzIGFscmVhZHkgaW4geW91ciBDU1MsIGl0IHdpbGwgbG9vayBsaWtlIHRoaXMgPHNwYW4gY2xhc3M9JnF1b3Q7c3R5bGUxJnF1b3Q7PnRleHQ8L3NwYW4+LCAKICBpbiB0aGUgZmlyc3QgZmllbGQgYmVsb3cuIAonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3RpbG92aSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQcmlzdHVwIG5pSmUgZG96dm9samVuLiBNb2xpbW8gcHJvdmVyaXRlIGRvenZvbGUuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnR3JlJnNjYXJvbjtrYSEnOwokbGFuZ1snc3VibWl0J10gPSAnUG9kbmVzaSc7CiRsYW5nWyd1cGRhdGUnXSA9ICdBxb51cmlyYWonOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnU2HEjXV2YWogcG9kZSZzY2Fyb247YXZhbmphJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnUG9kZSZzY2Fyb247YXZhbmphJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdQb2RlJnNjYXJvbjthdmFuamEgc3Ugc2HEjXV2YW5hJzsKJGxhbmdbJ3NhdmVhZHZhbmNlZCddID0gJ1NhxI11dmFqIG5hcHJlZG5hIHBvZGUmc2Nhcm9uO2F2YW5qYSc7CiRsYW5nWydhZHZhbmNlZHNhdmVkJ10gPSAnTmFwcmVkbmEgcG9kZSZzY2Fyb247YXZhbmphIHN1IHNhxI11dmFuYSc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyL0FsYXRrZSBqZSBzYcSNdXZhbic7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0aWwgamUgc2HEjXV2YW4nOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBwb2RydcSNamUsIHNhZHLFvmFqIG5lxIdlIGJpdGkgbyZzY2Fyb247dGXEh2VuIGthZCBzZSBpZ3JhdGUgc2Egb3ZpbSAuLi48L3A+JzsKJGxhbmdbJ3Jlc2V0J10gPSAnVnJhdGkgcG9kcmF6dW1ldmFuZSB2cmVkbm9zdGknOwokbGFuZ1sncmVzZXRhbGwnXSA9ICdWcmF0aSBzdmUgcG9zdGF2a2UgbmEgcG9kcmF6dW1ldmFuZSB2cmVkbm9zdGknOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnRGEgbGkgc3RlIHNpZ3VybmkgZGEgxb5lbGl0ZSBkYSBwb25pJnNjYXJvbjt0aXRlIG92ZSBwb3N0YXZrZSBuYSBwb2RyYXp1bWV2YW5lIHZyZWRub3N0aT8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnRGEgbGkgc3RlIHNpZ3VybmkgZGEgxb5lbGl0ZSBkYSB2cmF0aXRlIHN2YSBwb2RlJnNjYXJvbjthdmFuamEgbmEgcG9kcmF6dW1ldmFuZSB2cmVkbm9zdGk/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdPdmUgcG9zdGF2a2Ugc3UgdnJhxIdhZW5lIG5hIHBvZHJhenVtZXZhbmUgdnJlZG5vc3RpJzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdTdmEgcG9kZSZzY2Fyb247YXZhbmphIHN1IHZyYcSHZW5hIG5hIHBvZHJhenVtZXZhbmUgdnJlZG5vc3RpJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnamUgdW5hcHJlxJFlbiBuYSB2ZXJ6aWp1ICVzJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duJ10gPSAnUHJpbGFnb8SRZW4gZHJvcGRvd24tbWVuaSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ1VuZXNpIGxpbmsgdSBjbXNtcy1zdHJhbmljdSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwb2RlJnNjYXJvbjthdmFuamUgcHJvZmlsYSc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ0Zyb250ZW5kIHBvZGUmc2Nhcm9uO2F2YW5qZSBwcm9maWxhJzsKJGxhbmdbJ3BsdWdpbnNfdGFiJ10gPSAnUGx1Z2luaSc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdJemFiZXJpdGUgcGx1Z2luZSBrb2plIMW+ZWxpdGUgYWt0aXZpcmF0aS4gRG9rdW1lbnRhY2lqdSBtb8W+ZXRlIG5hxIdpIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+b3ZkZTwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAnUGx1Z2luaSc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NhxI11dmFqIHBsdWdpbmUnOwokbGFuZ1sncGx1Z2luc3NhdmVkJ10gPSAnUGx1Z2luaSBzYcSNdXZhbmknOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bCBwbHVnaW5pJzsKJGxhbmdbJ3BsdWdpbnNfY29tbW9uJ10gPSAnT2JpxI1uaSBwbHVnaW5pJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnT3Bpcyc7CiRsYW5nWydwbHVnaW4nXSA9ICdEb2RhdGFrL3BsdWdpbic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdWaSBzdGUgdSc7CiRsYW5nWydsb2Fkc3R5bGVzaGVldHRleHQnXSA9ICdVxI1pdGFqIHN0aWwgc2FkcsW+YWphIChwcmVwb3J1xI11amUgc2UpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0RvZGFjaSBzdGlsb3ZhJzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyB1cGlzYW4gb3ZkZSDEh2UgYml0aSBkb2RhdCBzdGlsdSB6YSDEjWl0YW5qZSBUaW55TUNFLWEgcG9zbGUgdcSNaXRhdm5qYSBDTVNtcyBzdGlsb3ZhJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOb3ZpIGZhamwnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ090cHJlbWknOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnTm92aSBkaXJla3RvcmlqJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1N0dm9yaSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdJbWUgZGlyZWt0b3JpamEgbmlqZSB1cGlzYW5vJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0ltZSBkaXJla3RvcmlqYSBwb3N0b2ppJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOb3ZpIGRpcmVrdG9yaWogamUgdXNwZSZzY2Fyb247bm8ga3JlaXJhbic7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdEbyZzY2Fyb247bG8gamUgZG8gZ3JlJnNjYXJvbjtrZXUgIHBva3Umc2Nhcm9uO2F2anUgc3R2YXJhbmphIGRpcmVrdG9yaWphJzsKJGxhbmdbJ25vZmlsZSddID0gJ0ZhamwgbmlqZSBvdHByZW1samVuJzsKJGxhbmdbJ2ZpbGV0b29iaWcnXSA9ICdPdHByZW1samVuIGZhamwgamUgcHJldmVsaWsnOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdGYWpsIGltZSBzYWRyxb5pIGplZGFuIGlsaSB2aSZzY2Fyb247ZW5lZG96dm9samVuaWggem5ha292YSAoJiMwMzk7LCZxdW90OywrLCosXCwvLCZhbXA7LCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0dyZSZzY2Fyb247a2EgcHJpIHByZW1lJnNjYXJvbjt0YW5qdSBvdHByZW1samVub2cgZmFqbGEgbmEgc3ZvamUgbWVzdG8nOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmFqbCBqZSB1c3BlJnNjYXJvbjtubyBvdHByZW1samVuJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICdGYWpsIGtvanUgxb5lbGl0ZSB1bmV0aSBuaWplIHNsaWthJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ0NNU01hZGVTaW1wbGUgZmFqbCBpemJvcic7CiRsYW5nWydzdWNjZXNzJ10gPSAnVXNwZWgnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdPcGVyYWNpamUgZmFqbG92YSc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJy4nOwokbGFuZ1snc2l6ZSddID0gJ1ZlbGnEjWluYSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnJlNjYXJvbjt4Vic7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdOYXByZWRubyc7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz4mU2Nhcm9uO3RhIG92YWogbW9kdWwgcmFkaT88L2gzPgoJPHA+T21vZ3XEh2F2YSBUaW55TUNFIGRhIHNlIGtvcmlzdGkga2FvIFdZU0lXWUcgdXJlZG5pay48L3A+Cgk8aDM+S2FrbyBkYSBnYSBrb3Jpc3RpbT88L2gzPgoJPHA+SW5zdGFsaXJhanRlIGdhLCBhIHphdGltIGlkaXRlIG5hIFBvZGUmc2Nhcm9uO2F2YW5qZSBrb3Jpc25pa2EgaSBwb3N0YXZpdGUgVGlueU1DRSBXWVNJV0lHIGRhIGJ1ZGUgdmEmc2Nhcm9uOyBpemJvci48L3A+CiAgPGgzPlNwZWxsY2hlY2tlcjwvaDM+CiAgPHA+T2QgdmVyemlqZSAyLjYuMCwgVGlueU1DRSB1a2xqdcSNdWplIG9ubGluZSBwcm92ZXJ1IHByYXZvcGlzYS4gTW9saW1vIHZhcyBkYSB6bmF0ZSBkYSBtb3JhIGJpdGkgdWtsanXEjWVuIFNTTCBuYSB2YSZzY2Fyb247b2ogc2VydmVyIGtvbmZpZ3VyYWNpamkgZGEgYmkgdGFqIG1vZ2FvIGRhIHJhZGkuIE5hIG5la2ltIHNlcnZlcmltYSBvdmEgb3BjaWphIHNlIHpvdmUgcGhwX29wZW5zc2wsIGFsaSBtb2d1IGkgZGEgc2UgcmF6bGlrdWp1PC9wPgoJPGgzPlJlJnNjYXJvbjthdmFuamUgcHJvYmxlbWE8L2gzPgoJTmVraSBsanVkaSBpbWFqdSBwcm9ibGVtIHNhIHRpbnkgZGEgc2UgbmUgcHJpa2HFvmUgbmFrb24gaW5zdGFsYWNpamUgaWxpIG5hZG9ncmFkbmplLiBPdmRlIGplIHNwaXNhayBzdHZhcmkga29qZSBtb8W+ZXRlIGRhIGlzcHJvYmF0ZSBwcmUgbmVnbyAmc2Nhcm9uO3RvIG1pIHNlIG9icmF0aXRlIHphIGRhbGp1IHBvZHImc2Nhcm9uO2t1LgoJPGJyLz4KCTx1bD4KCTxsaT4xLiBNb2xpbSwgbW9saW0gdmFzLCBwb2t1JnNjYXJvbjthanRlIHBvbm92byB1xI1pdGF0aSBtb2R1bGVzL1RpbnlNQ0UgZGlyZWt0b3JpaiBuYSBzZXJ2ZXJ1LiBCaWxpIGJpIHphcHJlcGEmc2Nhcm9uO3Rlbmkga29saWtvIHB1dGEgamUgb3ZvIHBvbW9nbG8gbmVraW0gbGp1ZGltYS48L2xpPgkKCTxsaT4yLiBBa28gc3RlIGdhIG5hZG9ncmFkaWxpLCBwb2t1JnNjYXJvbjthanRlIGRhIHZyYXRpdGUgc3ZhIHBvZGUmc2Nhcm9uO2F2YW5qYS4gTmlqZSBsZXBvIGFrbyBzdGUgdXJhZGlsaSBkb3N0YSBwcmlsYWdvxJFhdmFuamEsIHpuYW0sIGFsaSBwdW5vIHN0dmFyaSBzZSBqZSBwcm9tZW5pbG8gb2QgMi4zLnggZG8gMi40Lnggc2VyaWplIG1vZHVsYS4KCTxsaT4zLiBQb2t1JnNjYXJvbjthanRlIGRhIG9tb2d1xIdpdGUgc3RhdGnEjWtpIGNvbmZpZyBvcGNpanUgdSBuYXByZWRuaW5tIHBvZGUmc2Nhcm9uO2F2YW5qaW1hLiBPdm8gcmFkaSBib2xqZSBuYSBuZWtpbSBzaXN0ZW1pbWEgKGthbyBDR0kgYmF6aXJhbmltKSBJbWFqdGUgbmEgdW11IGRhIHRvIHphaHRldmEgdmEmc2Nhcm9uOyAvdG1wLyBkaXJla3RvcmlqIGRhIGplIHdyaXRhYmxlIG5hIHdlYnNlcnZlcnU8L2xpPgoJPC91bD4KCTxici8+CiAgPGgzPlBsdWdpbiByYXp2aWphbmplPC9oMz4KIE9kIHZlcnppamUgMi43LjAgVGlueU1DRSBtb2R1bCBpbWEgbW9ndcSHbm9zdCBkYSBkb3p2b2xpIGRydWdpbSBtb2R1bGltYSBkYSBzZSByZWdpc3RydWplIGVrc3RlbnppamEgemEgdG9nLiBOYXByaW1lciBwcmlsYWdvxJFlbnUgaWtvbnUga29qYSB2YW0gb21vZ3XEh2F2YSBkYSB1bWV0bmV0ZSBzYWRyxb5haiBpeiBuZWtpaCBtb2R1bGEsIGthbyAmc2Nhcm9uO3RvIEplIEdhbGxlcnksIGl0ZCBrYWtvIHNlIHRvIHJhZGkgamUgcHJpbGnEjW5vIHRlaG5vbG9nJnNjYXJvbjtrYSBzdHZhcmEsIGFsaSBha28gc3RlIG1vZHVsIHByb2dyYW1lciBpIHphaW50ZXJlc292YW5pIG1vbGltbyBkYSBwb2dsZWRhdGUgdSBUaW55TUNFIC9kb2NzIGRpcmVrdG9yaWogemEgZGFsamEgdXB1dHN0dmEuCgkJCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjQwNzEwNDk3NS4xMjkwNDM1MjE5LjEyOTA0MzUyMTkuMTI5MDQzNTIxOS4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMi4xMC4xMjkwNDM1MjE5JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjkwNDM1MjE5LjEuMS51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L3Byb2plY3RzL3RpbnltY2UnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTcxMjE5NDY3LTEyOTA0MzUyMTkyNzQnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyBCYXNpYyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnRGVubmEgbW9kdWwgbSZvdW1sO2psaWdnJm91bWw7ciBmciZhdW1sO21zdCBpbm5laCZhcmluZztsbGV0LCBtZW4gZXZlbnR1ZWxsdCAmYXVtbDt2ZW4gYW5kcmEgdHlwZXIgYXYgZGF0YSwgc29tIHNrYSByZWRpZ2VyYXMgbWVkIGVuIFdZU0lXWUcgZWRpdG9yJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlbiBhdmluc3RhbGxlcmFkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bHZlcnNpb24gJXMgaW5zdGFsbGVyYWQuJzsKJGxhbmdbJ3N0cmlwYmFja2dyb3VuZHRhZ3MnXSA9ICdUYSBib3J0IGJha2dydW5kc3RhZ2dhciBmciZhcmluZztuIENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAnRGV0IGgmYXVtbDtyIGFsdGVybmF0aXZldCBmJm91bWw7cnMmb3VtbDtrZXIgdGEgYm9ydCBiYWtncnVuZHN0eXAtaW5zdCZhdW1sO2xsbmluZ2FyIGZyJmFyaW5nO24gc3RpbG1hbGxlbic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnRm9ybWF0ZXJhIEhUTUwta29kZW4nOwokbGFuZ1snZHJvcGRvd25ibG9ja2Zvcm1hdHNfdGV4dCddID0gJ0Jsb2NrZm9ybWF0IGkgcnVsbGdhcmRpbnNtZW55JzsKJGxhbmdbJ2FsbG93dGFibGVzJ10gPSAnVGlsbCZhcmluZzt0IHRhYmVsbGZ1bmt0aW9uZXInOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdTdGlsIGYmb3VtbDtyIG55IHJhZCc7CiRsYW5nWydwc3R5bGUnXSA9ICdwLXN0aWwnOwokbGFuZ1snYnJzdHlsZSddID0gJ2JyLXN0aWwnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnQW52JmF1bWw7bmQgZ3ota29tcHJpbWVyaW5nJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ0RldHRhIGthbiBzbmFiYmEgdXBwIGxhZGRuaW5nZW4gYXYgVGlueU1DRSwgbWVuIGRldCBrYW4gb2NrcyZhcmluZzsgZiZvdW1sO3JoaW5kcmEgYXR0IGRlbiBsYWRkYXMgcCZhcmluZzsgdmlzc2Egc3lzdGVtLiBBbnYmYXVtbDtuZCBtZWQgZiZvdW1sO3JzaWt0aWdoZXQuJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdUdmluZ2EgPHA+IHJvb3RibG9jayc7CiRsYW5nWydmb3JjZWRyb290YmxvY2toZWxwJ10gPSAnRm9yY2VzIHRoZSByZXR1cm5lZCBjb250ZW50IHRvIGF0IGxlYXN0IGJlIGVuY2xvc2VkIGluIGEgJmFtcDtsdDtwJmFtcDtndDstdGFnZyc7CiRsYW5nWydmaWxlcGlja2Vyc3R5bGUnXSA9ICdTdGlsIGYmb3VtbDtyIGZpbGJsJmF1bWw7ZGRyYXJlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzaXplJ10gPSAnU3RvcmxlayBwJmFyaW5nOyBmaWxibCZhdW1sO2RkcmFyZSc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdUaWxsJmFyaW5nO3QgdXBwbGFkZG5pbmcgb2NoIHNrYXBhbmRlIGF2IG1hcHBhciBpIEZpbGJsJmF1bWw7ZGRyYXJlbic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnQWxsb3cgb24tdGhlLWZseSByZXNpemluZyBvZiB1cGxvYWRlZCBmaWxlcyc7CiRsYW5nWydzY2FsaW5nZGltZW5zaW9uc3RleHQnXSA9ICdTdGFuZGFyZCBkaW1lbnNpb25lcic7CiRsYW5nWydyZXNpemV0byddID0gJyZBdW1sO25kcmEgc3RvcmxlayB0aWxsOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnU2thcGEgZW4gdHVtbmFnZWxiaWxkIHZpZCB1cHBsYWRkbmluZyBhdiBiaWxkZXInOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnQW52JmF1bWw7bmQgYXZhbmNlcmFkIFRpbnlNQ0UtcHJvZmlsJzsKJGxhbmdbJ3NhdmVwcm9maWxlJ10gPSAnU3BhcmEgcHJvZmlsJzsKJGxhbmdbJ3Byb2ZpbGVzYXZlZCddID0gJ1Byb2ZpbGVuIHNwYXJhZGVzJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1Byb2ZpbGVyJzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdBdmFuY2VyYWRlIHByb2ZpbGluc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydzYXZlc3R5bGVzJ10gPSAnU3BhcmEgc3RpbGFyJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnVGlsbCZhcmluZzt0IGFudiZhdW1sO25kbmluZyBhdiBhdmFuY2VyYWRlIHByb2ZpbGVyIGkgVGlueU1DRSc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdWaXNhIGluc3QmYXVtbDtsbG5pbmdhciBmJm91bWw7ciBmaWxoYW50ZXJpbmcnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50aGVscCddID0gJ1Zpc2EgZmlsaGFudGVyaW5nIGkgdGlsbHZhbGVuIGYmb3VtbDtyIHVwcGxhZGRuaW5nLCBza2FwYSBtYXBwIG9jaCBib3J0dGFnbmluZyBhdiBmaWwgaSBGaWx2JmF1bWw7bGphcmVuLCBvbSBhbnYmYXVtbDtuZGFyZW4gaGFyIHImYXVtbDt0dCBhdHQgZyZvdW1sO3JhIGRldHRhLic7CiRsYW5nWydyZXN0cmljdGRpcnMnXSA9ICdSZXN0cmljdCB1c2VyJiMwMzk7cyBkaXIgYWNjZXNzJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlyc2hlbHAnXSA9ICdUaGlzIHdpbGwgcmVzdHJpY3QgdGhlIGZpbGVtYW5hZ2VtZW50LWNhcGFiaWxpdGllcyBvZiB0aGUgdXNlciB0byBhIHN1YmRpciB0byAmIzAzOTt1cGxvYWRzJiMwMzk7IHdoaWNoIGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgdXNlciYjMDM5O3MgbG9naW4uIElmIHRoZSBzdWJkaXIgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgcG9zc2libHkgYmUgY3JlYXRlZC4gUGxlYXNlIG5vdGUsIHRoaXMgY3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCB0aGUgc3RhbmRhcmQgZGlybmFtZXMsIHVwbG9hZHMvaW1hZ2VzLiBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4nOwokbGFuZ1snZGVsZXRlY29uZmlybWF0aW9uJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkZW4gaCZhdW1sO3IgZmlsZW4gc2thIHJhZGVyYXM/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnQmxldiBmcmFtZyZhcmluZztuZ3NyaWt0IHJhZGVyYWQnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ2t1bmRlIGludGUgcmFkZXJhcyc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdrdW5kZSBpbnRlIHJhZGVyYXMnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ3JhZGVyYWRlcyc7CiRsYW5nWydkZWxldGVkaXJjb25maXJtYXRpb24nXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgcmFkZXJhIGRlbm5hIHRvbW1hIHN1YmRpcj8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnUmFkZXJhIHRvbSBzdWJkaXInOwokbGFuZ1snZGVsZXRlZmlsZSddID0gJ1JhZGVyYSBmaWwnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0thbiBpbnRlIGwmYXVtbDtzYSBmaWxlbiB0aW55Y29uZmlnLnBocCBkaXJla3QsIHMmYXJpbmc7IFRpbnlNQ0Uga29tbWVyIGFudGFnbGlnZW4gaW50ZSBhdHQgZnVuZ2VyYS4gRHUgYiZvdW1sO3Iga29udHJvbGxlcmEgciZhdW1sO3R0aWdoZXRlcm5hIGYmb3VtbDtyIGRlbiBmaWxlbiBvY2ggZGVzcyAmb3VtbDt2ZXJsaWdnYW5kZSBtYXBwYXIsIHNvbSBhbGxhIGImb3VtbDtyIHZhcmEgbCZhdW1sO3NiYXJhIGYmb3VtbDtyIGFsbGEgbWVuIGJhcmEgc2tyaXZiYXIgZiZvdW1sO3IgJmF1bWw7Z2FyZW4uJzsKJGxhbmdbJ2ZpbGVuYW1lb25seSddID0gJ1Zpc2EgZmlsbmFtbic7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1Zpc2EgdHVtbmFnZWxiaWxkZXInOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ1Zpc2EgdHVtbmFnZWxiaWxkZXIgaSBsaXN0b3InOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnVmlzYSBiJmFyaW5nO2RlIGZpbG5hbW4gb2NoIHR1bW5hZ2VsYmlsZGVyJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NrYWwnOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2FsLXZhcmlhbnQnOwokbGFuZ1snYWR2YW5jZWR3YXJuaW5nJ10gPSAnPHN0cm9uZz5PQlMhPGJyLz5PbSBkdSAmYXVtbDtuZHJhciBkZSBoJmF1bWw7ciBpbnN0JmF1bWw7bGxuaW5nYXJuYSBrYW4gZGV0IGcmb3VtbDtyYSBhdHQgVGlueU1DRSBpbnRlIGwmYXVtbDtuZ3JlIGZ1bmdlcmFyIGVsbGVyIGF0dCBkZW4ga29kIHNvbSBnZW5lcmVyYXMga2FuIGJsaSBmZWxha3RpZy4gJkF1bWw7bmRyYSBiYXJhIGRldHRhIG9tIGR1IHZldCB2YWQgZHUgZyZvdW1sO3IhIEtvbGxhIFRpbnlNQ0Utd2ViYnNpZGFuIGlubmFuIGR1IGcmb3VtbDtyIG4mYXJpbmc7Z3JhICZhdW1sO25kcmluZ2FyIGgmYXVtbDtyLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnS29kbmluZyBhdiBlbnRpdGV0ZXInOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSJmFyaW5nO2tvZG5pbmcgKHNuYWJiYXN0LCBmdW5nZXJhciBpIGRlIGZsZXN0YSBmYWxsKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmFtbmtvZG5pbmcgKHQuZXguICZuYnNwOyknOwokbGFuZ1snbnVtZXJpY2VuY29kaW5nJ10gPSAnTnVtZXJpc2sga29kbmluZyAodC5leC4mYW1wOyMxNjA7KSc7CiRsYW5nWydzaG93X3BhdGhfdGV4dCddID0gJ1Zpc2EgcyZvdW1sO2t2JmF1bWw7Z2VuIHRpbGwgZWxlbWVudGV0IHVuZGVyIGVkaXRvcm4uJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnVmVya3R5Z3NmJmF1bWw7bHQnOwokbGFuZ1sndG9vbGJhcl9oZWxwJ10gPSAnRGUgaCZhdW1sO3IgaW5zdCZhdW1sO2xsbmluZ2FybmEgc2thIHZhcmEgZW4ga29tbWFzZXBhcmVyYWQgbGlzdGEgbWVkIG5hbW4gcCZhcmluZzsga25hcHBhci9rb250cm9sbGVyIHNvbSBza2EgdmFyYSBtZWQgaSB2ZXJrdHlnc2YmYXVtbDtsdGV0Lic7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdWZXJrdHlnc2YmYXVtbDtsdCc7CiRsYW5nWyd0b29sYmFyaGVscHRleHQnXSA9ICdLbGlja2EgaCZhdW1sO3IgZiZvdW1sO3IgYXR0IHNlIHZlcmt0eWdzZiZhdW1sO2x0c2luc3RydWt0aW9uZXIgaSBUaW55TUNFLXdpa2luJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnQnJlZGQgcCZhcmluZzsgcmVkaWdlcmluZ3NmJmF1bWw7bHRldCc7CiRsYW5nWydlZGl0b3JfaGVpZ2h0X3RleHQnXSA9ICdIJm91bWw7amQgZiZvdW1sO3IgcmVkaWdlcmluZ3NmJmF1bWw7bHRldCc7CiRsYW5nWydhdXRvJ10gPSAnQXV0b21hdGlza3QnOwokbGFuZ1snb3InXSA9ICdlbGxlcic7CiRsYW5nWyd0ZXN0YXJlYV90YWInXSA9ICdUZXN0b21yJmFyaW5nO2RlJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnVmlzYSB0ZXN0b21yJmFyaW5nO2RldHMgcmVzdWx0YXQnOwokbGFuZ1sndGVzdGFyZWFlZGl0b3InXSA9ICdXWVNJV1lHIHJlZGlnZXJhcmUgZiZvdW1sO3IgdGVzdG9tciZhcmluZztkZSc7CiRsYW5nWyd0ZXN0YXJlYW91dHB1dCddID0gJ1Rlc3RvciZhcmluZztkZXRzIHJlc3VsdGF0JzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnVGVzdG9tciZhcmluZztkZXRzIGsmYXVtbDtsbGEnOwokbGFuZ1snYWxsb3dyZXNpemluZyddID0gJ1RpbGwmYXJpbmc7dCAmcXVvdDtpbnBsYWNlJnF1b3Q7IHN0b3JsZWtzJmF1bWw7bmRyaW5nIGF2IHJlZGlnZXJpbmdzZiZhdW1sO2x0ZXQnOwokbGFuZ1sncmVzaXplbm9uZSddID0gJ1RpbGwmYXJpbmc7dCBpbnRlICZhdW1sO25kcmluZyBhdiBzdG9ybGVrJzsKJGxhbmdbJ3Jlc2l6ZWJvdGgnXSA9ICdUaWxsJmFyaW5nO3QgJmF1bWw7bmRyaW5nIGF2IHN0b3JsZWsgaSBiJmFyaW5nO2RhIHJpa3RuaW5nYXJuYSc7CiRsYW5nWydyZXNpemVoZWlnaHQnXSA9ICdUaWxsJmFyaW5nO3QgJmF1bWw7bmRyaW5nIGF2IHN0b3JsZWsgYmFyYSBwJmFyaW5nOyBoJm91bWw7amRlbic7CiRsYW5nWydkYXRldGltZWZvcm1hdF90ZXh0J10gPSAnRm9ybWF0IGYmb3VtbDtyIGRhdHVtL3RpZCc7CiRsYW5nWyd0aW1ldGV4dCddID0gJ1RpZCc7CiRsYW5nWydkYXRldGV4dCddID0gJ0RhdHVtJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdLbGlja2EgaCZhdW1sO3IgZiZvdW1sO3IgaGomYXVtbDtscCBvbSBodXIgZHUgZm9ybWF0dGVyYXIgZGF0dW0vdGlkJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0V4dHJhaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdFbiB1cHBnaWZ0IHBlciByYWQsIGtvbW1hdGVja2VuIGtvbW1lciBhdHQgbCZhdW1sO2dnYXMgdGlsbCBmJm91bWw7cmUgb2NoIGVmdGVyIGRldHRhIGlubmVoJmFyaW5nO2xsLiBTZSBUaW55TUNFLXdpa2kgZiZvdW1sO3IgaW5zdHJ1a3Rpb25lci4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQW5wYXNzYWQgZHJvcGRvd24nOwokbGFuZ1snY3VzdG9tZHJvcGRvd25oZWxwJ10gPSAnSW5zZXJ0cyBjdXN0b21pemFibGUgc25pcHBldHMgb2YgY29kZS90ZXh0IGJ5IHNlbGVjdGlvbiBpbiBhIGRyb3Bkb3duIG1lbnUuIApPYnZpb3VzIHVzZXMgYXJlIGVhc3kgYWNjZXNzIHRvIHRhZyYjMDM5O3MgZXRjLiBUaGUgbWVudSBpcyBpbnNlcnRlZCBpbnRvIHRvb2xiYXIgdXNpbmcgJiMwMzk7Y3VzdG9tZHJvcGRvd24mIzAzOTsuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydHVwIGFrdGl2ZXJhdCc7CiRsYW5nWydzdGFydGVuYWJsZWRoZWxwJ10gPSAnT20gZGVubmEgaW50ZSAmYXVtbDtyIGlrcnlzc2FkIGtvbW1lciBUaW55TUNFLXJlZGlnZXJhcmUgYXR0IHN0YXJ0YSBpIGluYWt0aXZ0IGwmYXVtbDtnZS4gQiZvdW1sO3IgYW52JmF1bWw7bmRhcyB0aWxsc2FtbWFucyBtZWQgdG9nZ2xlLWtuYXBwZW4gKGF2L3AmYXJpbmc7KS4nOwokbGFuZ1snbG9hZGNtc2xpbmtlcnRleHQnXSA9ICdMYWRkYSBDTVMtbCZhdW1sO25rYXJlbic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ0RldHRhIGdlbmVyZXJhciBkZW4gamF2YXNjcmlwdC1rb2Qgc29tIGJlaCZvdW1sO3ZzIGYmb3VtbDtyIGF0dCB0aWxsJmFyaW5nO3RhICYjMDM5O2Ntc2xpbmtlciYjMDM5OyBhdHQgbCZhdW1sO2dnYXMgdGlsbCBpIGV0dCB2ZXJrdHlnc2YmYXVtbDtsdC4nOwokbGFuZ1snY21zbGlua2Vyc3R5bGV0ZXh0J10gPSAnTCZhdW1sO25rc3RpbCBmJm91bWw7ciBDTVMtbCZhdW1sO25rYXJlbic7CiRsYW5nWydjbXNzZWxmbGlua3N0eWxlJ10gPSAnU3RpbCBmJm91bWw7ciB7Y21zX3NlbGZsaW5rfSc7CiRsYW5nWydhaHJlZnN0eWxlJ10gPSAnU3RpbCBmJm91bWw7ciA8YSBocmVmPic7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1sJmF1bWw7bmthciAodGlsbCZhdW1sO2dnKSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzaGVscCddID0gJ0RldHRhIGcmb3VtbDtyIGF0dCBkdSBrYW4gbCZhdW1sO2dnYSB0aWxsIHNha2VyIHRpbGwgYW50aW5nZW4gPGEgaHJlZj4tdGFnZ2VuIGVsbGVyIHtjbXNfc2VsZmxpbmt9LCBvbSBkZSBnZW5lcmVyYXMgYXYgQ01TLWwmYXVtbDtua2FyZW4uJzsKJGxhbmdbJ2F2b2lkbGlua2NvbnZlcnNpb250ZXh0J10gPSAnVW5kdmlrIGwmYXVtbDtuayBrb252ZXJ0ZXJpbmcnOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdTJmF1bWw7dHRlciBUaW55TUNFOiBzIGluYnlnZ2RhIGwmYXVtbDtuayBrb252ZXJ0ZXJpbmcgdGlsbCBhdi4gRGV0dGEgZyZvdW1sO3IgYXR0IGR1IGthbiBhbnYmYXVtbDtuZGEge3NtYXJ0eX0gaSBsJmF1bWw7bmthci4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyZXJhIHJlbGF0aXZhIHMmb3VtbDtrdiZhdW1sO2dhcic7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnVHZpbmdhIHJlbnNuaW5nIHZpZCBrbGlzdHJhIGluJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdEZXR0YSBiJm91bWw7ciBha3RpdmVyYXMgZiZvdW1sO3IgYXR0IHRhIGJvcnQga29uc3RpZyBmb3JtYXR0ZXJpbmdza29kIG4mYXVtbDtyIG1hbiBrbGlzdHJhciBpbiBmciZhcmluZztuIHQuZXguIFdvcmQnOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQ1NTIGYmb3VtbDtyIGJvZHktdGFnZ2VuJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ2wmYXVtbDttbmEgdG9tdCBlbGxlciBza3JpdiBERUZBVUxUIGYmb3VtbDtyIGF0dCBhbnYmYXVtbDtuZGEgc2lkYW5zIENTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5rbHVkZXJhIGVuYmFydCBzayZhdW1sO3JtLUNTUyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc19oZWxwJ10gPSAnT20gZGV0dGEgdiZhdW1sO2xqcyB0aWxsJmFyaW5nO3RzIGVuYmFydCBkZSBrb3BwbGFkZSBzdGlsbWFsbGFyIHNvbSBoYXIgc2NyZWVuLW1lZGlhdHlwZW4gdmFsZCBhdHQgaW5rbHVkZXJhcyBpIGRlIHN0aWxhciBzb20gVGlueU1DRSBoYW50ZXJhci4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlndGV4dCddID0gJ0FudiZhdW1sO25kIHN0YXRpc2sga29uZmlndXJhdGlvbnNmaWwnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnaGVscCddID0gJ0RldHRhIGthbiB2YXJhIGJyYSBmJm91bWw7ciBhdHQgVGlueSBza2EgZnVuZ2VyYSBwJmFyaW5nOyBzeXN0ZW0gZCZhdW1sO3Igd2ViYnNlcnZlcm4gbCZhdW1sO2dnZXIgdGlsbCBzJmFyaW5nO250IHNvbSBzdGF0aXN0aWsgbW0gdGlsbCBhbGwgb3V0cHV0LCB2aWxrZXQgYnJ5dGVyIGRlbiBkeW5hbWlza3Qgc2thcGFkZSBqYXZhc2NyaXB0c2tvbmZpZ3VyYXRpb25zZmlsZW4nOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1Zhcm5pbmchIER1IGhhciBha3RpdmVyYXQgc3RhdGlzayBrb25maWd1cmF0aW9uc2ZpbCwgbWVuIGRpbiAvdG1wLy1tYXBwICZhdW1sO3IgaW50ZSBza3JpdmJhci4gRGV0dCBoaW5kcmFyIG1vZHVsZW4gZnImYXJpbmc7biBhdHQgc3BhcmEgZGVuIHN0YXRpc2thIGtvbmZpZ3VyYXRpb25zZmlsZW4gb2NoIGtvbW1lciB0cm9saWdlbiBnJm91bWw7cmEgVGlueU1DRSBvYnJ1a2Jhci4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlcmEgJiMwMzk7TW9kaWZ5IEZpbGVzJiMwMzk7IHImYXVtbDt0dGlnaGV0ZW4gZiZvdW1sO3IgRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICdXYXJuaW5nISBUaGlzIGFsbG93cyBzb21lIGZpbGUtYWx0ZXJpbmcgb3BlcmF0aW9ucyBldmVuIGlmIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBub3Qgc2V0IGZvciB0aGUgY3VycmVudCB1c2VyZ3JvdXAuIFRoaXMgY2FuIGVmZmVjdGl2ZWx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCB0aGUgb3B0aW9uIHRvIHJlc3RyaWN0IHVzZXImIzAzOTtzIGRpcmVjdG9yeSBhY2Nlc3MuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1Zpc2Ega25hcHAgZiZvdW1sO3IgYXR0IHMmYXVtbDt0dGEgcCZhcmluZzsvc3QmYXVtbDtuZ2EgYXYgV1lTSVdZRyc7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnUyZhdW1sO3R0IHAmYXJpbmc7L3N0JmF1bWw7bmcgYXYgV1lTSVdZRyc7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTLXN0aWxhcic7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJ09tIGR1IGwmYXVtbDttbmFyIGRldCBmJm91bWw7cnN0YSBmJmF1bWw7bHRldCB0b210IGtvbW1lciBUaW55TUNFIGF0dCBhbmFseXNlcmEgZGluIENTUy1maWwgb2NoIGxpc3RhIGFsbGEgc3RpbGFyIHNvbSBmaW5ucyBpIGRlbiBmJm91bWw7ciBhbnYmYXVtbDtuZGFyZW4uIE9tIGR1IGJhcmEgdmlsbCBhdHQgbiZhcmluZztncmEgc3RpbGFyIHNrYSB2aXNhcyBmJm91bWw7ciBhbnYmYXVtbDtuZGFyZW4sIGFuZ2UgZGVtIGkgZm9ybWVuICZxdW90O1N0aWwgMT1zdGlsMTsgU3RpbCAyPXN0aWwyJnF1b3Q7IGkgZGV0IGYmb3VtbDtyc3RhIGYmYXVtbDtsdGV0IG5lZGFuLjxiciAvPiBJIGRlICZvdW1sO3ZyaWdhIGYmYXVtbDtsdGVuIGthbiBkdSBhbmdlIENTUy1zdGlsYXIgZiZvdW1sO3IgdGFiZWxsZXIsIHJhZGVyIG9jaCBjZWxsZXIgc29tIGFudiZhdW1sO25kcyBpIG1vdHN2YXJhbmRlIGRpYWxvZ2Ymb3VtbDtuc3Rlci4gT20gZXR0IGYmYXVtbDtsdCAmYXVtbDtyIHRvbXQga29tbWVyIHN0aWxhcm5hIGZyJmFyaW5nO24gZGUgYWxsbSZhdW1sO25uYSBzdGlsYXJuYSBhdHQgYW52JmF1bWw7bmRhcy4nOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnQWxsbSZhdW1sO25uYSc7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICcmQXJpbmc7dGtvbXN0IG5la2FkLiBWYXIgZ29kIGtvbnRyb2xsZXJhIGRpbmEgciZhdW1sO3R0aWdoZXRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWwhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1YmYXVtbDtsaic7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcHBkYXRlcmEnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnU3BhcmEgaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnSW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXIgc3BhcmFkZSc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTcGFyYSBhbnZhbmNlcmFkZSBpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snYWR2YW5jZWRzYXZlZCddID0gJ0F2YW5jZXJhZGUgaW5zdCZhdW1sO2xsbmluZ2FyIHNwYXJhZGUnOwokbGFuZ1sndG9vbGJhcnNhdmVkJ10gPSAnVmVya3R5Z3NmJmF1bWw7bHRldCBzcGFyYWRlcyc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0aWxhciBzcGFyYWRlJzsKJGxhbmdbJ3Rlc3RhcmVhdGV4dCddID0gJzxwPlRlc3RvbXImYXJpbmc7ZGUsIGluZ2V0IGlubmVoJmFyaW5nO2xsIGtvbW1lciBhdHQgcCZhcmluZzt2ZXJrYXMgb20gZHUgbGVrZXIgbWVkIGRldCBoJmF1bWw7ci4uLjwvcD4nOwokbGFuZ1sncmVzZXQnXSA9ICcmQXJpbmc7dGVyc3QmYXVtbDtsbCBzdGFuZGFyZGluc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydyZXNldGFsbCddID0gJyZBcmluZzt0ZXJzdCZhdW1sO2xsIGFsbGEgaW5zdCZhdW1sO2xsbmluZ2FyIHRpbGwgc3RhbmRhcmQnOwokbGFuZ1snY29uZmlybXJlc2V0J10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2aWxsICZhcmluZzt0ZXJzdCZhdW1sO2xsYSBkZSBoJmF1bWw7ciBpbnN0JmF1bWw7bGxuaW5nYXJuYSB0aWxsIHN0YW5kYXJkaW5zdCZhdW1sO2xsbmluZ2FyPyc7CiRsYW5nWydjb25maXJtcmVzZXRhbGwnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgJmFyaW5nO3RlcnN0JmF1bWw7bGxhIEFMTEEgaW5zdCZhdW1sO2xsbmluZ2FyIHRpbGwgc3RhbmRhcmRpbnN0JmF1bWw7bGxuaW5nYXI/JzsKJGxhbmdbJ3NldHRpbmdzcmVzZXQnXSA9ICdEZSBoJmF1bWw7ciBpbnN0JmF1bWw7bGxuaW5nYXJuYSAmYXJpbmc7dGVyc3QmYXVtbDtsbGRlcyB0aWxsIHN0YW5kYXJkaW5zdCZhdW1sO2xsbmluZ2FybmEnOwokbGFuZ1snYWxsc2V0dGluZ3NyZXNldCddID0gJ0FsbGEgaW5zdCZhdW1sO2xsbmluZ2FyICZhcmluZzt0ZXJzdCZhdW1sO2xsZGVzIHRpbGwgc3RhbmRhcmRpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1sndXBncmFkZWQnXSA9ICdoYXIgdXBwZ3JhZGVyYXRzIHRpbGwgdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0FucGFzc2FkIHJ1bGxnYXJkaW5zbWVueSc7CiRsYW5nWydjbXNtc2xpbmtlciddID0gJ0luZm9nYSBsJmF1bWw7bmsgdGlsbCBDTVNNUy1zaWRhJzsKJGxhbmdbJ2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXIgZiZvdW1sO3IgYmFja2VuZC12ZXJrdHlnc2YmYXVtbDtsdCc7CiRsYW5nWydmcm9udGVuZF90b29sYmFycyddID0gJ0luc3QmYXVtbDtsbG5pbmdhciBmJm91bWw7ciBmcm9udGVuZC12ZXJrdHlnc2YmYXVtbDtsdCc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1RpbGwmYXVtbDtnZyc7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdWJmF1bWw7bGogdmlsa2EgdGlsbCZhdW1sO2dnIHNvbSBkdSB2aWxsIGFrdGl2ZXJhLiBEb2t1bWVudGF0aW9uIGZpbm5zIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+aCZhdW1sO3I8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1RpbGwmYXVtbDtnZyc7CiRsYW5nWydzYXZlcGx1Z2lucyddID0gJ1NwYXJhIHRpbGwmYXVtbDtnZyc7CiRsYW5nWydwbHVnaW5zc2F2ZWQnXSA9ICdQbHVnaW4gc3BhcmFkJzsKJGxhbmdbJ3BsdWdpbnNfbW9kdWxlJ10gPSAnTW9kdWwgUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ1ZhbmxpZ2EgaW5zdGlja3Nwcm9ncmFtJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3Jpdm5pbmcnOwokbGFuZ1sncGx1Z2luJ10gPSAnSW5zdGlja3Nwcm9ncmFtJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ0R1ICZhdW1sO3IgcCZhcmluZzsnOwokbGFuZ1snbG9hZHN0eWxlc2hlZXR0ZXh0J10gPSAnTGFkZGEgc3RpbG1hbGwgZiZvdW1sO3IgaW5uZWgmYXJpbmc7bGwgKHJla29tbWVuZGVyYXQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ1RpbGwmYXVtbDtnZyB0aWxsIHN0aWxtYWxsYXInOwokbGFuZ1snZXh0cmFzdHlsZXNoZWxwJ10gPSAnQ1NTIHNvbSBsJmF1bWw7Z2dzIHRpbGwgaCZhdW1sO3Iga29tbWVyIGF0dCBsJmF1bWw7Z2dhcyB0aWxsIHN0aWxtYWxsZW4gc29tIGwmYXVtbDtzZWVzIGF2IFRpbnlNQ0UgZWZ0ZXIgYXR0IGRlbiBoYXIgbCZhdW1sO3N0IENNU01TLXN0aWxhcm5hJzsKJGxhbmdbJ3VwbG9hZG5ld2ZpbGUnXSA9ICdOeSBmaWwnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ0xhZGRhIHVwcCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOeSBtYXBwJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ1NrYXBhJzsKJGxhbmdbJ25vZGlybmFtZSddID0gJ0luZ2V0IG1hcHBuYW1uIGFuZ2l2ZXQnOwokbGFuZ1snZGlyZXhpc3RzJ10gPSAnTWFwcG5hbW5ldCBmaW5ucyByZWRhbic7CiRsYW5nWyduZXdkaXJjcmVhdGVkJ10gPSAnTnkgbWFwcCBza2FwYWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnRXR0IGZlbCBpbnRyJmF1bWw7ZmZhZGUgbiZhdW1sO3IgbWFwcGVuIHNrdWxsZSBza2FwYXMnOwokbGFuZ1snbm9maWxlJ10gPSAnSW5nZW4gZmlsIGxhZGRhZGVzIHVwcCc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnRGVuIHVwcGxhZGRhZGUgZmlsZW4gJmF1bWw7ciBmJm91bWw7ciBzdG9yJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsbmFtbiBpbm5laCZhcmluZztsbGVyIGV0dCBlbGxlciBmbGVyYSBvdGlsbCZhcmluZzt0bmEgdGVja2VuICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRmVsIHZpZCBmbHl0dCBhdiBkZW4gdXBwbGFkZGFkZSBmaWxlbic7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWxlbiB1cHBsYWRkYWQnOwokbGFuZ1snbm90YW5pbWFnZSddID0gJ0RlbiB1cHBsYWRkYWRlIGZpbGVuICZhdW1sO3IgaW50ZSBlbiBiaWxkJzsKJGxhbmdbJ2ZpbGVwaWNrZXJ0aXRsZSddID0gJ0ZpbHZhbCBmJm91bWw7ciBDTVMgTWFkZSBTaW1wbGUnOwokbGFuZ1snc3VjY2VzcyddID0gJ0x5Y2thdCc7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ0ZpbG9wZXJhdGlvbmVyJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCAnOwokbGFuZ1snc2l6ZSddID0gJ1N0b3JsZWsnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0J4SCc7CiRsYW5nWydhZHZhbmNlZF90YWInXSA9ICdBdmFuY2VyYXQnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgoJPHA+RW5hYmxlcyBhIFRpbnlNQ0UgdG8gYmUgdXNlZCBhcyBhIFdZU0lXWUcuPC9wPgoJPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgoJPGxpPjIuIFRyeSB0byBzd2l0Y2ggb24gdGhlIFN0YXRpYyBDb25maWcgb3B0aW9uLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyB5b3VyIC90bXAvLWRpciB0byBiZSB3cml0YWJsZSBieSB0aGUgd2Vic2VydmVyPC9saT4KCTxsaT4zLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VzIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8bGk+NC4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCkKCTwvdWw+Cgk8YnIvPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3MDkwMzQwNDAuMTI5OTA3NjY4NC4xMjk5MDc2Njg0LjEyOTkwNzY2ODQuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI5OTA3NjY4NCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI5OTA3NjY4NC4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTM2NzA2NDM2Mi0xMjk5MDc2Njg0NDQ1JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/tr_TR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZCZ1dW1sO2wga2FsZMSxcsSxbGTEsS4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kJnV1bWw7bCB2ZXJzaXlvbnUgJXMgeSZ1dW1sO2tsZW5kaS4nOwokbGFuZ1snc3RyaXBiYWNrZ3JvdW5kdGFncyddID0gJ1N0cmlwIEJhY2tncm91bmQgVGFncyBGcm9tIENTUyc7CiRsYW5nWydzdGlwdGFnc19oZWxwJ10gPSAnVGhpcyBvcHRpb25zIHRyaWVzIHRvIHJlbW92ZSBiYWNrZ3JvdW5kLXR5cGUgc2V0dGluZ3MgZnJvbSB0aGUgc3R5bGVzaGVldC4nOwokbGFuZ1snc291cmNlX2Zvcm1hdHRpbmdfdGV4dCddID0gJ0FwcGx5IHNvdXJjZSBmb3JtYXR0aW5nIHRvIHRoZSBvdXRwdXQgSFRNTCc7CiRsYW5nWydkcm9wZG93bmJsb2NrZm9ybWF0c190ZXh0J10gPSAnQmxvY2tmb3JtYXRzIGluIGRyb3Bkb3duLW1lbnUnOwokbGFuZ1snYWxsb3d0YWJsZXMnXSA9ICdUYWJsbyBpxZ9sZW1sZXJpbmUgaXppbiB2ZXInOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdOZXdsaW5lLXN0eWxlJzsKJGxhbmdbJ3BzdHlsZSddID0gJzxwPi1zdHlsZSc7CiRsYW5nWydicnN0eWxlJ10gPSAnPGJyLz4tc3R5bGUnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAnVXNlIGd6IGNvbXByZXNzaW9uJzsKJGxhbmdbJ3VzZWNvbXByZXNzaW9uaGVscCddID0gJ1RoaXMgY2FuIHNwZWVkIHVwIGxvYWRpbmcgVGlueU1DRSwgYnV0IGNhbiBhbHNvIHByZXZlbnQgaXQgZnJvbSBsb2FkaW5nIG9uIHNvbWUgc3lzdGVtcy4gVXNlIHdpdGggY2F1dGlvbi4nOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NrdGV4dCddID0gJ0ZvcmNlIDxwPiByb290YmxvY2snOwokbGFuZ1snZm9yY2Vkcm9vdGJsb2NraGVscCddID0gJ0ZvcmNlcyB0aGUgcmV0dXJuZWQgY29udGVudCB0byBhdCBsZWFzdCBiZSBlbmNsb3NlZCBpbiBhIDxwPi10YWcnOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRmlsZXBpY2tlciBzdHlsZSc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ0ZpbGVwaWNrZXIgc2l6ZSc7CiRsYW5nWydhbGxvd3VwbG9hZHRleHQnXSA9ICdBbGxvdyB1cGxvYWQgYW5kIGNyZWF0aW5nIGRpcnMgaW4gRmlsZVBpY2tlcic7CiRsYW5nWydhbGxvd3NjYWxpbmd0ZXh0J10gPSAnQWxsb3cgb24tdGhlLWZseSByZXNpemluZyBvZiB1cGxvYWRlZCBpbWFnZXMnOwokbGFuZ1snc2NhbGluZ2RpbWVuc2lvbnN0ZXh0J10gPSAnVmFyc2F5xLFsYW4gJm91bWw7bCZjY2VkaWw7JnV1bWw7bGVyJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnUmVzaXplIHRvOic7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnTWFrZSBhIHRodW1ibmFpbCB3aGVuIHVwbG9hZGluZyBpbWFnZXMnOwokbGFuZ1sndXNlYWR2YW5jZWRwcm9maWxlJ10gPSAnVXNlIGFkdmFuY2VkIFRpbnlNQ0UtcHJvZmlsZSc7CiRsYW5nWydzYXZlcHJvZmlsZSddID0gJ1Byb2ZpbCBLYXlkZXQnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnVGhlIHByb2ZpbGUgd2FzIHNhdmVkJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1Byb2ZpbGxlcic7CiRsYW5nWydhZHZhbmNlZF9iYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQWR2YW5jZWQgYmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ3NhdmVzdHlsZXMnXSA9ICdTdGlsbGVyaSBrYXlkZXQnOwokbGFuZ1snYWxsb3dhZHZhbmNlZHByb2ZpbGUnXSA9ICdBbGxvdyB1c2FnZSBvZiBhZHZhbmNlZCBwcm9maWxlIGluIFRpbnlNQ0UnOwokbGFuZ1snc2hvd2ZpbGVtYW5hZ2VtZW50J10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBvcHRpb25zJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudGhlbHAnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IGluIG9wdGlvbnMgbGlrZSB1cGxvYWQsIG1ha2UgZGlyIGFuZCBmaWxlIGRlbGV0aW9uIGluIEZpbGVQaWNrZXIsIGlmIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gcGVyZm9ybSB0aGVzZS4nOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyIGFjY2Vzcyc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnVGhpcyB3aWxsIHJlc3RyaWN0IHRoZSBmaWxlbWFuYWdlbWVudC1jYXBhYmlsaXRpZXMgb2YgdGhlIHVzZXIgdG8gYSBzdWJkaXIgdG8gJiMwMzk7dXBsb2FkcyYjMDM5OyB3aGljaCBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHVzZXImIzAzOTtzIGxvZ2luLiBJZiB0aGUgc3ViZGlyIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIHBvc3NpYmx5IGJlIGNyZWF0ZWQuIFBsZWFzZSBub3RlLCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlIHN0YW5kYXJkIGRpcm5hbWVzLCB1cGxvYWRzL2ltYWdlcy4gVGhpcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQ/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGVtcHR5IHN1YmRpciBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnRGVsZXRlIGVtcHR5IHN1YmRpcic7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAnRGVsZXRlIEZpbGUnOwokbGFuZ1snY2Fubm90cmVhZGNvbmZpZyddID0gJ0Nhbm5vdCByZWFkIHRoZSBmaWxlIHRpbnljb25maWcucGhwIGRpcmVjdGx5IHNvIFRpbnlNQ0Ugd2lsbCBwcm9iYWJseSBub3Qgd29yay4gWW91IHNob3VsZCBjaGVjayB0aGUgcGVybWlzc2lvbnMgb2YgdGhlIGZpbGUgYW5kIG9mIHRoZSBwYXJlbnQgZGlycywgd2hpY2ggc2hvdWxkIGJlIHJlYWRhYmxlIGZvciBhbGwgYnV0IG9ubHkgd3JpdGFibGUgZm9yIG93bmVyLic7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdTaG93IGZpbGVuYW1lcyc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1Nob3cgdGh1bWJuYWlscyc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXN0ZXh0J10gPSAnU2hvdyB0aHVtYm5haWwtZmlsZXMgYXMgcmVndWxhciBmaWxlcyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdTaG93IGJvdGggZmlsZW5hbWVzIGFuZCB0aHVtYm5haWxzJzsKJGxhbmdbJ3NraW5zdGV4dCddID0gJ1NraW4nOwokbGFuZ1snc2tpbnZhcmlhdGlvbnRleHQnXSA9ICdTa2luIHZhcmlhdGlvbic7CiRsYW5nWydhZHZhbmNlZHdhcm5pbmcnXSA9ICc8c3Ryb25nPlBsZWFzZSBub3RlITxici8+Q2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgY2FuIGNhdXNlIFRpbnlNQ0UgdG8gc3RvcCB3b3JraW5nIG9yIHRoZSBnZW5lcmF0ZWQgY29kZSB0byBiZSB3cm9uZyBpbiBzb21lIHdheS4gT25seSBlZGl0IHRoaXMgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nISBQbGVhc2UgY29uc3VsdCB0aGUgVGlueU1DRSB3ZWJzaXRlIGJlZm9yZSBwbGF5aW5nIHdpdGggdGhpcy48L3N0cm9uZz4nOwokbGFuZ1snZW50aXR5ZW5jb2RpbmdfdGV4dCddID0gJ0VuY29kaW5nIG9mIGVudGl0aWVzJzsKJGxhbmdbJ3Jhd2VuY29kaW5nJ10gPSAnUmF3IGVuY29kaW5nIChmYXN0ZXN0LCB3b3JrcyBpbiBtb3N0IGNhc2VzKSc7CiRsYW5nWyduYW1lZGVuY29kaW5nJ10gPSAnTmFtZWQgZW5jb2RpbmcgKGxpa2UgJm5ic3A7KSc7CiRsYW5nWydudW1lcmljZW5jb2RpbmcnXSA9ICdOdW1lcmljIGVuY29kaW5nIChsaWtlICZhbXA7IzE2MDspJzsKJGxhbmdbJ3Nob3dfcGF0aF90ZXh0J10gPSAnU2hvdyB0aGUgcGF0aCBvZiB0aGUgZWxlbWVudCBhdCB0aGUgYm90dG9tIG9mIHRoZSBlZGl0b3InOwokbGFuZ1sndG9vbGJhcl90YWInXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJfaGVscCddID0gJ1RoZXNlIG9wdGlvbnMgc2hvdWxkIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBidXR0b24vY29udHJvbCBuYW1lcyB0byBpbnNlcnQgaW50byB0aGUgdG9vbGJhci4gVGhlIGNoYXIgfCBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3b3JkICYjMDM5O3NlcGFyYXRvciYjMDM5Oyc7CiRsYW5nWyd0b29sYmFyX3RleHQnXSA9ICdUb29sYmFyJzsKJGxhbmdbJ3Rvb2xiYXJoZWxwdGV4dCddID0gJ0NsaWNrIGhlcmUgdG8gdmlldyB0b29sYmFyLWluc3RydWN0aW9ucyBpbiBUaW55TUNFLXdpa2kuJzsKJGxhbmdbJ2VkaXRvcl93aWR0aF90ZXh0J10gPSAnV2lkdGggb2YgZWRpdG9yIGZpZWxkJzsKJGxhbmdbJ2VkaXRvcl9oZWlnaHRfdGV4dCddID0gJ0hlaWdodCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snYXV0byddID0gJ0F1dG8nOwokbGFuZ1snb3InXSA9ICdvcic7CiRsYW5nWydhbGxvd3Jlc2l6aW5nJ10gPSAnQWxsb3cgaW5wbGFjZSByZXNpemluZyBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1sncmVzaXplbm9uZSddID0gJ0RvIG5vdCBhbGxvdyByZXNpemluZyc7CiRsYW5nWydyZXNpemVib3RoJ10gPSAnQWxsb3cgcmVzaXppbmcgaW4gYm90aCBkaXJlY3Rpb25zJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ0FsbG93IHJlc2l6aW5nIG9mIGhlaWdodCBvbmx5JzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdEYXRlL1RpbWUgZm9ybWF0JzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAnVGltZSc7CiRsYW5nWydkYXRldGV4dCddID0gJ0RhdGUnOwokbGFuZ1snZGF0ZXRpbWVmb3JtYXRfaGVscCddID0gJ0NsaWNrIGhlcmUgZm9yIGhlbHAgb24gaG93IHRvIGZvcm1hdCB0aGUgZGF0ZS90aW1lJzsKJGxhbmdbJ2V4dHJhY29uZmlndGV4dCddID0gJ0V4dHJhIGNvbmZpZ3VyYXRpb24nOwokbGFuZ1snZXh0cmFjb25maWdoZWxwMiddID0gJ09uZSBzdGF0ZW1lbnQgcGVyIGxpbmUsIGNvbW1hcyB3aWxsIGJlIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjb250ZW50LiBDaGVjayBUaW55TUNFLXdpa2kgZm9yIGluc3RydWN0aW9ucy4nOwokbGFuZ1snY3VzdG9tZHJvcGRvd250ZXh0J10gPSAnQ3VzdG9tIGRyb3Bkb3duJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3duaGVscCddID0gJ0luc2VydHMgY3VzdG9taXphYmxlIHNuaXBwZXRzIG9mIGNvZGUvdGV4dCBieSBzZWxlY3Rpb24gaW4gYSBkcm9wZG93biBtZW51LiAKT2J2aW91cyB1c2VzIGFyZSBlYXN5IGFjY2VzcyB0byB0YWcmIzAzOTtzIGV0Yy4gVGhlIG1lbnUgaXMgaW5zZXJ0ZWQgaW50byB0b29sYmFyIHVzaW5nICYjMDM5O2N1c3RvbWRyb3Bkb3duJiMwMzk7Lic7CiRsYW5nWydzdGFydGVuYWJsZWR0ZXh0J10gPSAnU3RhcnR1cCBlbmFibGVkJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZGhlbHAnXSA9ICdVbmNoZWNraW5nIHRoaXMgc3RhcnRzIHVwIFRpbnktZWRpdG9ycyBpbiBhIGRpc2FibGVkIHN0YXRlLiBTaG91bGQgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSB0b2dnbGUgYnV0dG9uLic7CiRsYW5nWydsb2FkY21zbGlua2VydGV4dCddID0gJ0xvYWQgdGhlIENNUy1saW5rZXInOwokbGFuZ1snbG9hZGNtc2xpbmtlcmhlbHAnXSA9ICdUaGlzIGdlbmVyYXRlcyB0aGUgamF2YXNjcmlwdC1jb2RlIG5lZWRlZCB0byBhbGxvdyAmIzAzOTtjbXNsaW5rZXImIzAzOTsgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydyZWxhdGl2ZXVybHN0ZXh0J10gPSAnR2VuZXJhdGUgcmVsYXRpdmUgdXJscyc7CiRsYW5nWydmb3JjZWNsZWFucGFzdGV0ZXh0J10gPSAnRm9yY2UgY2xlYW4gb24gcGFzdGUnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RlaGVscCddID0gJ1RoaXMgc2hvdWxkIGJlIGVuYWJsZWQgdG8gcmVtb3ZlIHN0cmFuZ2UgZm9ybWF0dGluZyBjb2RlcyB3aGVuIHBhc3RpbmcgZnJvbSBXb3JkIGV0Yy4nOwokbGFuZ1snYm9keWNzc190ZXh0J10gPSAnQm9keSB0YWcgQ1NTJzsKJGxhbmdbJ2JvZHljc3NfaGVscCddID0gJ1dpbGwgYmUgYWRkZWQgdG8gdGhlIGNzcyBib2R5LWRlZmluaXRpb24uIEhpbnQ6IEJhY2tncm91bmQtY29sb3IgY2FuIGJlIHNldCB0byB3aGl0ZSB1c2luZyAmcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSZxdW90Oyc7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBmb3IgRmlsZVBpY2tlcic7CiRsYW5nWydpZ25vcmVtb2RpZnlmaWxlc2hlbHAnXSA9ICdXYXJuaW5nISBUaGlzIGFsbG93cyBzb21lIGZpbGUtYWx0ZXJpbmcgb3BlcmF0aW9ucyBldmVuIGlmIHRoZSAmIzAzOTtNb2RpZnkgRmlsZXMmIzAzOTsgcGVybWlzc2lvbiBpcyBub3Qgc2V0IGZvciB0aGUgY3VycmVudCB1c2VyZ3JvdXAuIFRoaXMgY2FuIGVmZmVjdGl2ZWx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCB0aGUgb3B0aW9uIHRvIHJlc3RyaWN0IHVzZXImIzAzOTtzIGRpcmVjdG9yeSBhY2Nlc3MuJzsKJGxhbmdbJ3Nob3d0b2dnbGVidXR0b25fdGV4dCddID0gJ1Nob3cgY2hlY2tib3ggdG8gdHVybiB3eXNpd3lnIG9uL29mZic7CiRsYW5nWyd0b2dnbGV3eXNpd3lnJ10gPSAnVHVybiBXWVNJV1lHIG9uL29mZic7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTIFN0eWxlcyc7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJyAgSWYgeW91IGxlYXZlIHRoZSBmaWVsZCBlbXB0eSwgVGlueU1DRSB3aWxsIHBhcnNlIHlvdXIgQ1NTIGZpbGUgYW5kIGxpc3QgdGhlIGNsYXNzIHN0eWxlcyBjb250YWluZWQgaW4gaXQgdG8gdGhlIHVzZXIuIAogIElmIHlvdSB3YW50IG9ubHkgc29tZSBzdHlsZXMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBzcGVjaWZ5IHRoZW0gaW4gdGhlIGZvcm0gJnF1b3Q7Q3VzdG9tTmFtZTE9c3R5bGUxOyBDdXN0b21OYW1lMj1zdHlsZTImcXVvdDssIAogICZxdW90O3N0eWxlMSZxdW90OyBiZWluZyBhIGNsYXNzIGNhbGwgaW4geW91ciBzdHlsZXNoZWV0IGFuZCB5b3UgZG9uJiMwMzk7dCBwdXQgdGhlIC4gCiAgbm9ybWFsbHkgdXNlZCBmb3IgY2xhc3MgY2FsbHMgYXMgaXQgaXMgYWxyZWFkeSBpbiB5b3VyIENTUywgaXQgd2lsbCBsb29rIGxpa2UgdGhpcyA8c3BhbiBjbGFzcz0mcXVvdDtzdHlsZTEmcXVvdDs+dGV4dDwvc3Bhbj4sIAogIGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gCic7CiRsYW5nWydjc3Nfc3R5bGVzX3RleHQnXSA9ICdTdHlsZXMnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0cmb3VtbDtuZGVyJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ0cmdXVtbDtuY2VsbGUnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnQXlhcmxhcsSxIGtheWRldCc7CiRsYW5nWydzZXR0aW5ncyddID0gJ0F5YXJsYXInOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHdhcyBzYXZlZCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ1BsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19oZWxwJ10gPSAnQ2hvb3NlIHRoZSBwbHVnaW5zIHlvdSB3YW50IHRvIGFjdGl2YXRlLiBEb2N1bWVudGF0aW9uIGNhbiBiZSBmb3VuZCA8YSBocmVmPSIlcyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+JzsKJGxhbmdbJ3BsdWdpbnNfdGV4dCddID0gJ1BsdWdpbnMnOwokbGFuZ1snc2F2ZXBsdWdpbnMnXSA9ICdTYXZlIHBsdWdpbnMnOwokbGFuZ1sncGx1Z2luc19tb2R1bGUnXSA9ICdNb2R1bGUgUGx1Z2lucyc7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ0NvbW1vbiBQbHVnaW5zJzsKJGxhbmdbJ21vZHVsZSddID0gJ01vZHVsZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ3BsdWdpbiddID0gJ1BsdWdpbic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdZb3UgYXJlIGluJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnTmV3IGZpbGUnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCc7CiRsYW5nWydjcmVhdGVuZXdkaXInXSA9ICdOZXcgZGlyJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ0NyZWF0ZSc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIHdhcyB1cGxvYWRlZCc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnVXBsb2FkZWQgZmlsZSBpcyB0b28gYmlnJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3IgbW92aW5nIHVwbG9hZGVkIGZpbGUgaW50byBwbGFjZSc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWxlIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCc7CiRsYW5nWydmaWxlcGlja2VydGl0bGUnXSA9ICdDTVNNYWRlU2ltcGxlIEZpbGUgU2VsZWN0aW9uJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdTdWNjZXNzJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAnRmlsZSBvcGVyYXRpb25zJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCc7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnV3hIJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ0FkdmFuY2VkJzsKJGxhbmdbJ2hlbHAnXSA9ICcJPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+Cgk8cD5FbmFibGVzIGEgVGlueU1DRSB0byBiZSB1c2VkIGFzIGEgV1lTSVdZRy48L3A+Cgk8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+Cgk8cD5JbnN0YWxsIGl0LCB0aGVuIGdvIHRvIFVzZXIgUHJlZmVyZW5jZXMgYW5kIFNldCBUaW55TUNFIHRvIGJlIHlvdXIgd3lzaXd5ZyBvZiBjaG9pY2UuPC9wPgogIDxoMz5TcGVsbGNoZWNrZXI8L2gzPgogIDxwPkFzIG9mIHZlcnNpb24gMi42LjAsIFRpbnlNQ0UgaW5jbHVkZXMgYW4gb25saW5lIHNwZWxsY2hlY2tlci4gUGxlYXNlIG5vdGljZSB0aGF0IFNTTCBtdXN0IGJlIHR1cm5lZCBvbiBpbiB5b3VyIHNlcnZlci1jb25maWd1cmF0aW9uIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsuIE9uIHNvbWUgc2V0dXBzIHRoaXMgb3B0aW9uIGlzIGNhbGxlZCBwaHBfb3BlbnNzbCBidXQgdGhhdCBtYXkgdmFyeTwvcD4KCTxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPgoJU29tZSBwZW9wbGUgaGF2ZSB0cm91YmxlIHdpdGggdGlueSBub3Qgc2hvd2luZyB1cCB1cG9uIGluc3RhbGxhdGlvbiBvciB1cGdyYWRpbmcuIEhlcmUgaXMgYSBjaGVja2xpc3Qgb2YgCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4KCTxici8+Cgk8dWw+Cgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91JiMwMzk7ZCBiZSBhbWF6ZWQgaG93IG1hbnkgdGltZXMgdGhpcyBoYXMgaGVscGVkIHBlb3BsZS48L2xpPgkKCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3UmIzAzOTt2ZSBkb25lIGEgbG90IG9mIGN1c3RvbWl6YXRpb24sIEkga25vdywgYnV0IGEgbG90IG9mIHRoaW5ncyBjaGFuZ2VkIGZyb20gMi4zLnggdG8gMi40Lnggc2VyaWVzIG9mIHRoZSBtb2R1bGUuCgk8bGk+My4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCksIE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzIHlvdXIgL3RtcC8tZGlyIHRvIGJlIHdyaXRhYmxlIGJ5IHRoZSB3ZWJzZXJ2ZXIKCTwvdWw+Cgk8YnIvPgogIDxoMz5QbHVnaW4gZGV2ZWxvcG1lbnQ8L2gzPgogIEFzIG9mIHZlcnNpb24gMi43LjAgdGhlIFRpbnlNQ0UtbW9kdWxlIGhhcyB0aGUgYWJpbGl0eSB0byBhbGxvdyBvdGhlciBtb2R1bGVzIHRvIHJlZ2lzdGVyIGV4dGVuc2lvbnMgZm9yIGl0LiBDb3VsZCBiZSBhIGN1c3RvbSBpY29uIGFsbG93aW5nIHlvdSB0byBpbnNlcnQKICBjb250ZW50IGZyb20gc29tZSBtb2R1bGUsIGxpa2UgR2FsbGVyeSBldGMuIEhvdyB0byBkbyB0aGlzIGlzIHByZXR0eSB0ZWNoIHN0dWZmLCBidXQgaWYgeW91IGFyZSBhIG1vZHVsZSBkZXZlbG9wZXIgYW5kIGludGVyZXN0ZWQgaW4gY2hlY2tpbmcgaXQgb3V0CiAgcGxlYXNlIGxvb2sgaW4gdGhlIFRpbnlNQ0UvZG9jcy1kaXIgZm9yIGZ1cnRoZXIgaW5zdHJ1Y3Rpb25zLgoJCQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNjY0ODk3NTY1LjEyNzI3NTkxNjMuMTI3MzQ4OTA4OC4xMjczNjE3MDI1LjgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjczMjMxNjkxLjIuMi51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtc21zJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE5NjA3NTYzNjEtMTI3Mjc1OTE2MzM3MCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjIuMTAuMTI3MzYxNzAyNSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/zh_TW.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1RpbnlNQ0UgV1lTSVdZRyc7CiRsYW5nWydhZG1pbmRlc2NyaXB0aW9uJ10gPSAnVGhpcyBtb2R1bGUgYWxsb3dzIG1haW5seSBjb250ZW50LCBidXQgcG9zc2libHkgYWxzbyBvdGhlciBraW5kcyBvZiBkYXRhLCB0byBiZSBlZGl0ZWQgdXNpbmcgYSBXWVNJV1lHIGVkaXRvciBwb3dlcmVkIGJ5IHRoZSBUaW55TUNFIHByb2plY3QuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAn5qih57WE6Kej6Zmk5a6J6KOdLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICfmqKHntYTniYjmnKwgJXMg5bey57aT6KKr5a6J6KOdLic7CiRsYW5nWydzdHJpcGJhY2tncm91bmR0YWdzJ10gPSAnU3RyaXAgQmFja2dyb3VuZCBUYWdzIEZyb20gQ1NTJzsKJGxhbmdbJ3N0aXB0YWdzX2hlbHAnXSA9ICdUaGlzIG9wdGlvbnMgdHJpZXMgdG8gcmVtb3ZlIGJhY2tncm91bmQtdHlwZSBzZXR0aW5ncyBmcm9tIHRoZSBzdHlsZXNoZWV0Lic7CiRsYW5nWydzb3VyY2VfZm9ybWF0dGluZ190ZXh0J10gPSAnQXBwbHkgc291cmNlIGZvcm1hdHRpbmcgdG8gdGhlIG91dHB1dCBIVE1MJzsKJGxhbmdbJ2Ryb3Bkb3duYmxvY2tmb3JtYXRzX3RleHQnXSA9ICdCbG9ja2Zvcm1hdHMgaW4gZHJvcGRvd24tbWVudSc7CiRsYW5nWydhbGxvd3RhYmxlcyddID0gJ0FsbG93IHRhYmxlIG9wZXJhdGlvbnMnOwokbGFuZ1snbmV3bGluZXN0eWxlX3RleHQnXSA9ICdOZXdsaW5lLXN0eWxlJzsKJGxhbmdbJ3BzdHlsZSddID0gJzxwPi1zdHlsZSc7CiRsYW5nWydicnN0eWxlJ10gPSAnPGJyLz4tc3R5bGUnOwokbGFuZ1sndXNlY29tcHJlc3Npb250ZXh0J10gPSAn5L2/55SoIGd6IOWjk+e4ric7CiRsYW5nWyd1c2Vjb21wcmVzc2lvbmhlbHAnXSA9ICdUaGlzIGNhbiBzcGVlZCB1cCBsb2FkaW5nIFRpbnlNQ0UsIGJ1dCBjYW4gYWxzbyBwcmV2ZW50IGl0IGZyb20gbG9hZGluZyBvbiBzb21lIHN5c3RlbXMuIFVzZSB3aXRoIGNhdXRpb24uJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja3RleHQnXSA9ICdGb3JjZSA8cD4gcm9vdGJsb2NrJzsKJGxhbmdbJ2ZvcmNlZHJvb3RibG9ja2hlbHAnXSA9ICdGb3JjZXMgdGhlIHJldHVybmVkIGNvbnRlbnQgdG8gYXQgbGVhc3QgYmUgZW5jbG9zZWQgaW4gYSA8cD4tdGFnJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snYWxsb3d1cGxvYWR0ZXh0J10gPSAnQWxsb3cgdXBsb2FkIGFuZCBjcmVhdGluZyBkaXJzIGluIEZpbGVQaWNrZXInOwokbGFuZ1snYWxsb3dzY2FsaW5ndGV4dCddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmdkaW1lbnNpb25zdGV4dCddID0gJ0RlZmF1bHQgZGltZW5zaW9ucyc7CiRsYW5nWydyZXNpemV0byddID0gJ1Jlc2l6ZSB0bzonOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ01ha2UgYSB0aHVtYm5haWwgd2hlbiB1cGxvYWRpbmcgaW1hZ2VzJzsKJGxhbmdbJ3VzZWFkdmFuY2VkcHJvZmlsZSddID0gJ1VzZSBhZHZhbmNlZCBUaW55TUNFLXByb2ZpbGUnOwokbGFuZ1snc2F2ZXByb2ZpbGUnXSA9ICdTYXZlIHByb2ZpbGUnOwokbGFuZ1sncHJvZmlsZXNhdmVkJ10gPSAnVGhlIHByb2ZpbGUgd2FzIHNhdmVkJzsKJGxhbmdbJ3Byb2ZpbGVzX3RhYiddID0gJ1Byb2ZpbGVzJzsKJGxhbmdbJ2FkdmFuY2VkX2JhY2tlbmRfdG9vbGJhcnMnXSA9ICdBZHZhbmNlZCBiYWNrZW5kIHByb2ZpbGUgc2V0dGluZ3MnOwokbGFuZ1snc2F2ZXN0eWxlcyddID0gJ1NhdmUgc3R5bGVzJzsKJGxhbmdbJ2FsbG93YWR2YW5jZWRwcm9maWxlJ10gPSAnQWxsb3cgdXNhZ2Ugb2YgYWR2YW5jZWQgcHJvZmlsZSBpbiBUaW55TUNFJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnRoZWxwJ10gPSAnU2hvdyBmaWxlbWFuYWdlbWVudCBpbiBvcHRpb25zIGxpa2UgdXBsb2FkLCBtYWtlIGRpciBhbmQgZmlsZSBkZWxldGlvbiBpbiBGaWxlUGlja2VyLCBpZiB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIHBlcmZvcm0gdGhlc2UuJzsKJGxhbmdbJ3Jlc3RyaWN0ZGlycyddID0gJ1Jlc3RyaWN0IHVzZXJcJ3MgZGlyIGFjY2Vzcyc7CiRsYW5nWydyZXN0cmljdGRpcnNoZWxwJ10gPSAnVGhpcyB3aWxsIHJlc3RyaWN0IHRoZSBmaWxlbWFuYWdlbWVudC1jYXBhYmlsaXRpZXMgb2YgdGhlIHVzZXIgdG8gYSBzdWJkaXIgdG8gXCd1cGxvYWRzXCcgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSB1c2VyXCdzIGxvZ2luLiBJZiB0aGUgc3ViZGlyIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIHBvc3NpYmx5IGJlIGNyZWF0ZWQuIFBsZWFzZSBub3RlLCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlIHN0YW5kYXJkIGRpcm5hbWVzLCB1cGxvYWRzL2ltYWdlcy4gVGhpcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuJzsKJGxhbmdbJ2RlbGV0ZWNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQ/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJmYWlsZWQnXSA9ICdjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZWRpcmNvbmZpcm1hdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIGVtcHR5IHN1YmRpciBzaG91bGQgYmUgZGVsZXRlZD8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnRGVsZXRlIGVtcHR5IHN1YmRpcic7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAn5Yiq6Zmk5qqU5qGIJzsKJGxhbmdbJ2Nhbm5vdHJlYWRjb25maWcnXSA9ICdDYW5ub3QgcmVhZCB0aGUgZmlsZSB0aW55Y29uZmlnLnBocCBkaXJlY3RseSBzbyBUaW55TUNFIHdpbGwgcHJvYmFibHkgbm90IHdvcmsuIFlvdSBzaG91bGQgY2hlY2sgdGhlIHBlcm1pc3Npb25zIG9mIHRoZSBmaWxlIGFuZCBvZiB0aGUgcGFyZW50IGRpcnMsIHdoaWNoIHNob3VsZCBiZSByZWFkYWJsZSBmb3IgYWxsIGJ1dCBvbmx5IHdyaXRhYmxlIGZvciBvd25lci4nOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAn6aGv56S65qqU5ZCNJzsKJGxhbmdbJ3RodW1ibmFpbHNvbmx5J10gPSAn6aGv56S657iu5ZyWJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdTaG93IHRodW1ibmFpbC1maWxlcyBhcyByZWd1bGFyIGZpbGVzJzsKJGxhbmdbJ2ZpbGVuYW1lYW5kdGh1bWJuYWlscyddID0gJ1Nob3cgYm90aCBmaWxlbmFtZXMgYW5kIHRodW1ibmFpbHMnOwokbGFuZ1snc2tpbnN0ZXh0J10gPSAnU2tpbic7CiRsYW5nWydza2ludmFyaWF0aW9udGV4dCddID0gJ1NraW4gdmFyaWF0aW9uJzsKJGxhbmdbJ2FkdmFuY2Vkd2FybmluZyddID0gJzxzdHJvbmc+UGxlYXNlIG5vdGUhPGJyLz5DaGFuZ2luZyB0aGVzZSBzZXR0aW5ncyBjYW4gY2F1c2UgVGlueU1DRSB0byBzdG9wIHdvcmtpbmcgb3IgdGhlIGdlbmVyYXRlZCBjb2RlIHRvIGJlIHdyb25nIGluIHNvbWUgd2F5LiBPbmx5IGVkaXQgdGhpcyBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchIFBsZWFzZSBjb25zdWx0IHRoZSBUaW55TUNFIHdlYnNpdGUgYmVmb3JlIHBsYXlpbmcgd2l0aCB0aGlzLjwvc3Ryb25nPic7CiRsYW5nWydlbnRpdHllbmNvZGluZ190ZXh0J10gPSAnRW5jb2Rpbmcgb2YgZW50aXRpZXMnOwokbGFuZ1sncmF3ZW5jb2RpbmcnXSA9ICdSYXcgZW5jb2RpbmcgKGZhc3Rlc3QsIHdvcmtzIGluIG1vc3QgY2FzZXMpJzsKJGxhbmdbJ25hbWVkZW5jb2RpbmcnXSA9ICdOYW1lZCBlbmNvZGluZyAobGlrZSAmbmJzcDspJzsKJGxhbmdbJ251bWVyaWNlbmNvZGluZyddID0gJ051bWVyaWMgZW5jb2RpbmcgKGxpa2UgJiMxNjA7KSc7CiRsYW5nWydzaG93X3BhdGhfdGV4dCddID0gJ1Nob3cgdGhlIHBhdGggb2YgdGhlIGVsZW1lbnQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZWRpdG9yJzsKJGxhbmdbJ3Rvb2xiYXJfdGFiJ10gPSAnVG9vbGJhcic7CiRsYW5nWyd0b29sYmFyX2hlbHAnXSA9ICdUaGVzZSBvcHRpb25zIHNob3VsZCBjb250YWluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgYnV0dG9uL2NvbnRyb2wgbmFtZXMgdG8gaW5zZXJ0IGludG8gdGhlIHRvb2xiYXIuIFRoZSBjaGFyIHwgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgd29yZCBcJ3NlcGFyYXRvclwnJzsKJGxhbmdbJ3Rvb2xiYXJfdGV4dCddID0gJ1Rvb2xiYXInOwokbGFuZ1sndG9vbGJhcmhlbHB0ZXh0J10gPSAnQ2xpY2sgaGVyZSB0byB2aWV3IHRvb2xiYXItaW5zdHJ1Y3Rpb25zIGluIFRpbnlNQ0Utd2lraS4nOwokbGFuZ1snZWRpdG9yX3dpZHRoX3RleHQnXSA9ICdXaWR0aCBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1snZWRpdG9yX2hlaWdodF90ZXh0J10gPSAnSGVpZ2h0IG9mIGVkaXRvciBmaWVsZCc7CiRsYW5nWydhdXRvJ10gPSAn6Ieq5YuVJzsKJGxhbmdbJ29yJ10gPSAn5oiWJzsKJGxhbmdbJ3VzZWh0bWw1c2NoZW1ldGV4dCddID0gJ1VzZSBodG1sNS1zY2hlbWUsIGluc3RlYWQgb2YgaHRtbDQnOwokbGFuZ1sndGVzdGFyZWFfdGFiJ10gPSAn5ris6Kmm5Y2AJzsKJGxhbmdbJ3Nob3d0ZXN0aW5nb3V0cHV0J10gPSAnU2hvdyB0ZXN0aW5nIG91dHB1dCc7CiRsYW5nWyd0ZXN0YXJlYWVkaXRvciddID0gJ1Rlc3RpbmcgYXJlYSBlZGl0b3InOwokbGFuZ1sndGVzdGFyZWFvdXRwdXQnXSA9ICdUZXN0aW5nIGFyZWEgb3V0cHV0JzsKJGxhbmdbJ3Rlc3RhcmVhb3V0cHV0c291cmNlJ10gPSAnVGVzdGluZyBhcmVhIHNvdXJjZSc7CiRsYW5nWydhbGxvd3Jlc2l6aW5nJ10gPSAnQWxsb3cgaW5wbGFjZSByZXNpemluZyBvZiBlZGl0b3IgZmllbGQnOwokbGFuZ1sncmVzaXplbm9uZSddID0gJ0RvIG5vdCBhbGxvdyByZXNpemluZyc7CiRsYW5nWydyZXNpemVib3RoJ10gPSAnQWxsb3cgcmVzaXppbmcgaW4gYm90aCBkaXJlY3Rpb25zJzsKJGxhbmdbJ3Jlc2l6ZWhlaWdodCddID0gJ0FsbG93IHJlc2l6aW5nIG9mIGhlaWdodCBvbmx5JzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X3RleHQnXSA9ICdEYXRlL1RpbWUgZm9ybWF0JzsKJGxhbmdbJ3RpbWV0ZXh0J10gPSAn5pmC6ZaTJzsKJGxhbmdbJ2RhdGV0ZXh0J10gPSAn5pel5pyfJzsKJGxhbmdbJ2RhdGV0aW1lZm9ybWF0X2hlbHAnXSA9ICdDbGljayBoZXJlIGZvciBoZWxwIG9uIGhvdyB0byBmb3JtYXQgdGhlIGRhdGUvdGltZSc7CiRsYW5nWydleHRyYWNvbmZpZ3RleHQnXSA9ICdFeHRyYSBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2V4dHJhY29uZmlnaGVscDInXSA9ICdPbmUgc3RhdGVtZW50IHBlciBsaW5lLCBjb21tYXMgd2lsbCBiZSBhZGRlZCBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgY29udGVudC4gQ2hlY2sgVGlueU1DRS13aWtpIGZvciBpbnN0cnVjdGlvbnMuJzsKJGxhbmdbJ2N1c3RvbWRyb3Bkb3dudGV4dCddID0gJ0N1c3RvbSBkcm9wZG93bic7CiRsYW5nWydjdXN0b21kcm9wZG93bmhlbHAnXSA9ICdJbnNlcnRzIGN1c3RvbWl6YWJsZSBzbmlwcGV0cyBvZiBjb2RlL3RleHQgYnkgc2VsZWN0aW9uIGluIGEgZHJvcGRvd24gbWVudS4gDQpPYnZpb3VzIHVzZXMgYXJlIGVhc3kgYWNjZXNzIHRvIHRhZ1wncyBldGMuIFRoZSBtZW51IGlzIGluc2VydGVkIGludG8gdG9vbGJhciB1c2luZyBcJ2N1c3RvbWRyb3Bkb3duXCcuJzsKJGxhbmdbJ3N0YXJ0ZW5hYmxlZHRleHQnXSA9ICdTdGFydHVwIGVuYWJsZWQnOwokbGFuZ1snc3RhcnRlbmFibGVkaGVscCddID0gJ1VuY2hlY2tpbmcgdGhpcyBzdGFydHMgdXAgVGlueS1lZGl0b3JzIGluIGEgZGlzYWJsZWQgc3RhdGUuIFNob3VsZCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIHRvZ2dsZSBidXR0b24uJzsKJGxhbmdbJ2xvYWRjbXNsaW5rZXJ0ZXh0J10gPSAnTG9hZCB0aGUgQ01TLWxpbmtlcic7CiRsYW5nWydsb2FkY21zbGlua2VyaGVscCddID0gJ1RoaXMgZ2VuZXJhdGVzIHRoZSBqYXZhc2NyaXB0LWNvZGUgbmVlZGVkIHRvIGFsbG93IFwnY21zbGlua2VyXCcgdG8gYmUgYWRkZWQgdG8gYSB0b29sYmFyLic7CiRsYW5nWydjbXNsaW5rZXJzdHlsZXRleHQnXSA9ICdDTVMtbGlua2VyIGxpbmstc3R5bGUnOwokbGFuZ1snY21zc2VsZmxpbmtzdHlsZSddID0gJ3tjbXNfc2VsZmxpbmt9LXN0eWxlJzsKJGxhbmdbJ2FocmVmc3R5bGUnXSA9ICc8YSBocmVmPi1zdHlsZSc7CiRsYW5nWydjbXNsaW5rZXJhZGRzdGV4dCddID0gJ0NNUy1saW5rZXIgYWRkaXRpb25zJzsKJGxhbmdbJ2Ntc2xpbmtlcmFkZHNoZWxwJ10gPSAnVGhpcyBhbGxvd3MgeW91IHRvIGFkZCBzdHVmZiB0byBlaXRoZXIgdGhlIDxhIGhyZWY+LXRhZyBvciB7Y21zX3NlbGZsaW5rfSwgd2hlbiBnZW5lcmF0ZWQgYnkgQ01TLWxpbmtlci4nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbnRleHQnXSA9ICdBdm9pZCBsaW5rIGNvbnZlcnNpb24nOwokbGFuZ1snYXZvaWRsaW5rY29udmVyc2lvbmhlbHAnXSA9ICdUdXJucyBUaW55TUNFXCdzIGJ1aWx0aW4gbGluayBjb252ZXJzaW9uIGxvZ2ljIG9mZi4gTWFrZXMge3NtYXJ0eX0tdXNhZ2UgaW4gdXJscyBwb3NzaWJsZS4nOwokbGFuZ1sncmVsYXRpdmV1cmxzdGV4dCddID0gJ0dlbmVyYXRlIHJlbGF0aXZlIHVybHMnOwokbGFuZ1snZm9yY2VjbGVhbnBhc3RldGV4dCddID0gJ0ZvcmNlIGNsZWFuIG9uIHBhc3RlJzsKJGxhbmdbJ2ZvcmNlY2xlYW5wYXN0ZWhlbHAnXSA9ICdUaGlzIHNob3VsZCBiZSBlbmFibGVkIHRvIHJlbW92ZSBzdHJhbmdlIGZvcm1hdHRpbmcgY29kZXMgd2hlbiBwYXN0aW5nIGZyb20gV29yZCBldGMuJzsKJGxhbmdbJ2JvZHljc3NfdGV4dCddID0gJ0JvZHkgdGFnIENTUyc7CiRsYW5nWydib2R5Y3NzX2hlbHAnXSA9ICdXaWxsIGJlIGFkZGVkIHRvIHRoZSBjc3MgYm9keS1kZWZpbml0aW9uLiBIaW50OiBCYWNrZ3JvdW5kLWNvbG9yIGNhbiBiZSBzZXQgdG8gd2hpdGUgdXNpbmcgImJhY2tncm91bmQtY29sb3I6IHdoaXRlIic7CiRsYW5nWydpbmNsdWRlb25seXNjcmVlbmNzc190ZXh0J10gPSAnSW5jbHVkZSBvbmx5IHNjcmVlbiBDU1MnOwokbGFuZ1snaW5jbHVkZW9ubHlzY3JlZW5jc3NfaGVscCddID0gJ1NlbGVjdGluZyB0aGlzIGFsbG93cyBvbmx5IGF0dGFjaGVkIHN0eWxlc2hlZXRzIHdpdGggdGhlIHNjcmVlbi1tZWRpYXR5cGUgc2VsZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0eWxlcyBUaW55TUNFIGhhbmRsZXMuJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ3RleHQnXSA9ICdVc2Ugc3RhdGljIGNvbmZpZyBmaWxlJzsKJGxhbmdbJ3VzZXN0YXRpY2NvbmZpZ2hlbHAnXSA9ICdUaGlzIGNhbiBoZWxwIGdldHRpbmcgdGlueSB0byB3b3JrIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGhvc3RpbmcgZmFjaWxpdHkgYWRkcyBzdHVmZiBsaWtlIHN0YXRpc3RpY3MgZXRjLiB0byBhbGwgb3V0cHV0LCBicmVha2luZyBkeW5hbWljYWxseSBjcmVhdGVkIGphdmFzY3JpcHQgY29uZmlnIGZpbGUnOwokbGFuZ1sndXNlc3RhdGljY29uZmlnd2FybmluZyddID0gJ1dhcm5pbmchIFlvdSBoYXZlIHRoZSBzdGF0aWMgY29uZmlnLWZpbGUgb3B0aW9uIGVuYWJsZWQgYnV0IHlvdXIgL3RtcC8gZGlyIGlzIG5vdCB3cml0YWJsZS4gVGhpcyB3aWxsIHByZXZlbnQgdGhlIG1vZHVsZSBmcm9tIHNhdmluZyB0aGUgc3RhdGljIGNvbmZpZy1maWxlIGFuZCB3aWxsIG1vc3QgcHJvYmFibHkgcmVuZGVyIFRpbnlNQ0UgaW5vcGVyYXRpb25hbC4nOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXN0ZXh0J10gPSAnSWdub3JlIHRoZSBcJ01vZGlmeSBGaWxlc1wnIHBlcm1pc3Npb24gZm9yIEZpbGVQaWNrZXInOwokbGFuZ1snaWdub3JlbW9kaWZ5ZmlsZXNoZWxwJ10gPSAnV2FybmluZyEgVGhpcyBhbGxvd3Mgc29tZSBmaWxlLWFsdGVyaW5nIG9wZXJhdGlvbnMgZXZlbiBpZiB0aGUgXCdNb2RpZnkgRmlsZXNcJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBjdXJyZW50IHVzZXJncm91cC4gVGhpcyBjYW4gZWZmZWN0aXZlbHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSBvcHRpb24gdG8gcmVzdHJpY3QgdXNlclwncyBkaXJlY3RvcnkgYWNjZXNzLic7CiRsYW5nWydzaG93dG9nZ2xlYnV0dG9uX3RleHQnXSA9ICdTaG93IGNoZWNrYm94IHRvIHR1cm4gV1lTSVdZRyBvbi9vZmYnOwokbGFuZ1sndG9nZ2xld3lzaXd5ZyddID0gJ1VzZSBXWVNJV1lHIGVkaXRvcic7CiRsYW5nWydzdHlsZXNfdGFiJ10gPSAnQ1NTIFN0eWxlcyc7CiRsYW5nWydzdHlsZXNfaGVscCddID0gJyAgSWYgeW91IGxlYXZlIHRoZSBmaWVsZCBlbXB0eSwgVGlueU1DRSB3aWxsIHBhcnNlIHlvdXIgQ1NTIGZpbGUgYW5kIGxpc3QgdGhlIGNsYXNzIHN0eWxlcyBjb250YWluZWQgaW4gaXQgdG8gdGhlIHVzZXIuIA0KICBJZiB5b3Ugd2FudCBvbmx5IHNvbWUgc3R5bGVzIHByZXNlbnRlZCB0byB0aGUgdXNlciwgc3BlY2lmeSB0aGVtIGluIHRoZSBmb3JtICJDdXN0b21OYW1lMT1zdHlsZTE7IEN1c3RvbU5hbWUyPXN0eWxlMiIsIA0KICAic3R5bGUxIiBiZWluZyBhIGNsYXNzIGNhbGwgaW4geW91ciBzdHlsZXNoZWV0IGFuZCB5b3UgZG9uXCd0IHB1dCB0aGUgLiANCiAgbm9ybWFsbHkgdXNlZCBmb3IgY2xhc3MgY2FsbHMgYXMgaXQgaXMgYWxyZWFkeSBpbiB5b3VyIENTUywgaXQgd2lsbCBsb29rIGxpa2UgdGhpcyA8c3BhbiBjbGFzcz0ic3R5bGUxIj50ZXh0PC9zcGFuPiwgDQogIGluIHRoZSBmaXJzdCBmaWVsZCBiZWxvdy4gDQonOwokbGFuZ1snY3NzX3N0eWxlc190ZXh0J10gPSAnU3R5bGVzJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ+mMr+iqpCEnOwokbGFuZ1snc3VibWl0J10gPSAn5o+Q5LqkJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ+abtOaWsCc7CiRsYW5nWydzYXZlc2V0dGluZ3MnXSA9ICflhLLlrZjoqK3lrponOwokbGFuZ1snc2V0dGluZ3MnXSA9ICfoqK3lrponOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ+ioreWumuW3sue2k+iiq+WEsuWtmCc7CiRsYW5nWydzYXZlYWR2YW5jZWQnXSA9ICdTYXZlIGFkdmFuY2VkIHNldHRpbmdzJzsKJGxhbmdbJ2FkdmFuY2Vkc2F2ZWQnXSA9ICdBZHZhbmNlZCBzZXR0aW5ncyBzYXZlZCc7CiRsYW5nWyd0b29sYmFyc2F2ZWQnXSA9ICdUb29sYmFyIHdhcyBzYXZlZCc7CiRsYW5nWydzdHlsZXNzYXZlZCddID0gJ1N0eWxlcyB3YXMgc2F2ZWQnOwokbGFuZ1sndGVzdGFyZWF0ZXh0J10gPSAnPHA+VGVzdCBhcmVhLCBubyBjb250ZW50IHdpbGwgYmUgaGFybWVkIHBsYXlpbmcgd2l0aCB0aGlzLi4uPC9wPic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IGRlZmF1bHRzJzsKJGxhbmdbJ3Jlc2V0YWxsJ10gPSAnUmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHRzJzsKJGxhbmdbJ2NvbmZpcm1yZXNldCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGVzZSBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snY29uZmlybXJlc2V0YWxsJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IEFMTCBzZXR0aW5ncyB0byB0aGVpciBkZWZhdWx0cz8nOwokbGFuZ1snc2V0dGluZ3NyZXNldCddID0gJ1RoZXNlIHNldHRpbmdzIHdhcyByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ2FsbHNldHRpbmdzcmVzZXQnXSA9ICdBbGwgc2V0dGluZ3Mgd2VyZSByZXNldCB0byBkZWZhdWx0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnaGFzIGJlZW4gdXBncmFkZWQgdG8gdmVyc2lvbiAlcyc7CiRsYW5nWydjdXN0b21kcm9wZG93biddID0gJ0N1c3RvbSBkcm9wZG93bi1tZW51JzsKJGxhbmdbJ2Ntc21zbGlua2VyJ10gPSAnSW5zZXJ0IGxpbmsgdG8gY21zbXMtcGFnZSc7CiRsYW5nWydiYWNrZW5kX3Rvb2xiYXJzJ10gPSAnQmFja2VuZCBwcm9maWxlIHNldHRpbmdzJzsKJGxhbmdbJ2Zyb250ZW5kX3Rvb2xiYXJzJ10gPSAnRnJvbnRlbmQgcHJvZmlsZSBzZXR0aW5ncyc7CiRsYW5nWydwbHVnaW5zX3RhYiddID0gJ+aPkuS7tic7CiRsYW5nWydwbHVnaW5zX2hlbHAnXSA9ICdDaG9vc2UgdGhlIHBsdWdpbnMgeW91IHdhbnQgdG8gYWN0aXZhdGUuIERvY3VtZW50YXRpb24gY2FuIGJlIGZvdW5kIDxhIGhyZWY9IiVzIiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4nOwokbGFuZ1sncGx1Z2luc190ZXh0J10gPSAn5o+S5Lu2JzsKJGxhbmdbJ3NhdmVwbHVnaW5zJ10gPSAn5YSy5a2Y5o+S5Lu2JzsKJGxhbmdbJ3BsdWdpbnNzYXZlZCddID0gJ+aPkuS7tuW3suiiq+WEsuWtmCc7CiRsYW5nWydwbHVnaW5zX21vZHVsZSddID0gJ+aooee1hOaPkuS7tic7CiRsYW5nWydwbHVnaW5zX2NvbW1vbiddID0gJ+S4gOiIrOaPkuS7tic7CiRsYW5nWydtb2R1bGUnXSA9ICfmqKHntYQnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydwbHVnaW4nXSA9ICdQbHVnaW4nOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAn5oKo5piv5ZyoJzsKJGxhbmdbJ2xvYWRzdHlsZXNoZWV0dGV4dCddID0gJ0xvYWQgc3R5bGVzaGVldCBmb3IgY29udGVudCAocmVjb21tZW5kZWQpJzsKJGxhbmdbJ2V4dHJhc3R5bGVzdGV4dCddID0gJ0FkZGl0aW9ucyB0byBzdHlsZXNoZWV0JzsKJGxhbmdbJ2V4dHJhc3R5bGVzaGVscCddID0gJ0NTUyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3R5bGVzaGVldCByZWFkIGJ5IFRpbnlNQ0UgYWZ0ZXIgaXQgcmVjaWV2ZXMgdGhlIENNU21zIHN0eWxlcyc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAn5paw5qqU5qGIJzsKJGxhbmdbJ3VwbG9hZGZpbGUnXSA9ICfkuIrlgrMnOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAn5paw55uu6YyEJzsKJGxhbmdbJ2NyZWF0ZWRpciddID0gJ+W7uueriyc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICfmspLmnInmqpTmoYjooqvkuIrlgrMnOwokbGFuZ1snZmlsZXRvb2JpZyddID0gJ+S4iuWCs+aqlOahiOWkquWkpyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbGVuYW1lIGNvbnRhaW5zIG9uZSBvciBtb3JlIGlsbGVnYWwgY2hhcmFjdGVycyAoXCcsIiwrLCosXFwsLywmLCQpJzsKJGxhbmdbJ3VwbG9hZGZhaWxlZCddID0gJ0Vycm9yIG1vdmluZyB1cGxvYWRlZCBmaWxlIGludG8gcGxhY2UnOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAn5qqU5qGI5LiK5YKz5oiQ5YqfJzsKJGxhbmdbJ25vdGFuaW1hZ2UnXSA9ICfkuIrlgrPmqpTmoYjkuI3mmK/lnJbmqpQnOwokbGFuZ1snZmlsZXBpY2tlcnRpdGxlJ10gPSAnQ01TTWFkZVNpbXBsZSBGaWxlIFNlbGVjdGlvbic7CiRsYW5nWydzdWNjZXNzJ10gPSAn5oiQ5YqfJzsKJGxhbmdbJ2ZpbGVvcGVyYXRpb25zJ10gPSAn5qqU5qGI5pON5L2cJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCc7CiRsYW5nWydzaXplJ10gPSAn5bC65a+4JzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICflr6zluqZ46auY5bqmJzsKJGxhbmdbJ2FkdmFuY2VkX3RhYiddID0gJ+mAsumajic7CiRsYW5nWydoZWxwJ10gPSAnCTxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KCTxwPkVuYWJsZXMgYSBUaW55TUNFIHRvIGJlIHVzZWQgYXMgYSBXWVNJV1lHLjwvcD4NCgk8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQoJPHA+SW5zdGFsbCBpdCwgdGhlbiBnbyB0byBVc2VyIFByZWZlcmVuY2VzIGFuZCBTZXQgVGlueU1DRSB0byBiZSB5b3VyIHd5c2l3eWcgb2YgY2hvaWNlLjwvcD4NCiAgPGgzPlNwZWxsY2hlY2tlcjwvaDM+DQogIDxwPkFzIG9mIHZlcnNpb24gMi42LjAsIFRpbnlNQ0UgaW5jbHVkZXMgYW4gb25saW5lIHNwZWxsY2hlY2tlci4gUGxlYXNlIG5vdGljZSB0aGF0IFNTTCBtdXN0IGJlIHR1cm5lZCBvbiBpbiB5b3VyIHNlcnZlci1jb25maWd1cmF0aW9uIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsuIE9uIHNvbWUgc2V0dXBzIHRoaXMgb3B0aW9uIGlzIGNhbGxlZCBwaHBfb3BlbnNzbCBidXQgdGhhdCBtYXkgdmFyeTwvcD4NCgk8aDM+VHJvdWJsZXNob290aW5nPC9oMz4NCglTb21lIHBlb3BsZSBoYXZlIHRyb3VibGUgd2l0aCB0aW55IG5vdCBzaG93aW5nIHVwIHVwb24gaW5zdGFsbGF0aW9uIG9yIHVwZ3JhZGluZy4gSGVyZSBpcyBhIGNoZWNrbGlzdCBvZiANCgl0aGluZ3MgeW91IGNhbiB0cnkgYmVmb3JlIGNvbnRhY3RpbmcgbWUgZm9yIGZ1cnRoZXIgc3VwcG9ydC4NCgk8YnIvPg0KCTx1bD4NCgk8bGk+MS4gUGxlYXNlLCBwbGVhc2UsIHRyeSB0byByZXVwbG9hZCB0aGUgbW9kdWxlcy9UaW55TUNFIGRpciB0byB5b3VyIHNlcnZlci4gWW91XCdkIGJlIGFtYXplZCBob3cgbWFueSB0aW1lcyB0aGlzIGhhcyBoZWxwZWQgcGVvcGxlLjwvbGk+CQ0KCTxsaT4yLiBJZiB1cGdyYWRpbmcsIHBsZWFzZSB0cnkgdG8gcmVzZXQgYWxsIHNldHRpbmdzLiBOb3QgbmljZSBpZiB5b3VcJ3ZlIGRvbmUgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiwgSSBrbm93LCBidXQgYSBsb3Qgb2YgdGhpbmdzIGNoYW5nZWQgZnJvbSAyLjMueCB0byAyLjQueCBzZXJpZXMgb2YgdGhlIG1vZHVsZS4NCgk8bGk+My4gVHJ5IGVuYWJsaW5nIHRoZSBzdGF0aWMgY29uZmlnIG9wdGlvbiBpbiBhZHZhbmNlZCBzZXR0aW5ncy4gVGhpcyB3b3JrcyBiZXR0ZXIgb24gc29tZSBzeXN0ZW1zIChsaWtlIENHSS1iYXNlZCksIE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzIHlvdXIgL3RtcC8tZGlyIHRvIGJlIHdyaXRhYmxlIGJ5IHRoZSB3ZWJzZXJ2ZXINCgk8L3VsPg0KCTxici8+DQogIDxoMz5QbHVnaW4gZGV2ZWxvcG1lbnQ8L2gzPg0KICBBcyBvZiB2ZXJzaW9uIDIuNy4wIHRoZSBUaW55TUNFLW1vZHVsZSBoYXMgdGhlIGFiaWxpdHkgdG8gYWxsb3cgb3RoZXIgbW9kdWxlcyB0byByZWdpc3RlciBleHRlbnNpb25zIGZvciBpdC4gQ291bGQgYmUgYSBjdXN0b20gaWNvbiBhbGxvd2luZyB5b3UgdG8gaW5zZXJ0DQogIGNvbnRlbnQgZnJvbSBzb21lIG1vZHVsZSwgbGlrZSBHYWxsZXJ5IGV0Yy4gSG93IHRvIGRvIHRoaXMgaXMgcHJldHR5IHRlY2ggc3R1ZmYsIGJ1dCBpZiB5b3UgYXJlIGEgbW9kdWxlIGRldmVsb3BlciBhbmQgaW50ZXJlc3RlZCBpbiBjaGVja2luZyBpdCBvdXQNCiAgcGxlYXNlIGxvb2sgaW4gdGhlIFRpbnlNQ0UvZG9jcy1kaXIgZm9yIGZ1cnRoZXIgaW5zdHJ1Y3Rpb25zLg0KCQkNCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjcyMTQ5MDAwOC4xMzQ4NzQ0MjE1LjEzNDg3NDQyMTUuMTM0ODc0NDIxNS4xJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzQ4NzQ0MjE1LjEuMS51dG1jc3I9Zml2ZXJpY2UubmV0fHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2FkbWluL2luZGV4LnBocCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTM0ODc0NDIxNSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.tinymce_modulemenu.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIENsYXNzIHRoYXQgY2FuIGJlIHVzZWQgYnkgZXh0ZXJuYWwgbW9kdWxlcyB0byBnZW5lcmF0ZSBhIGRyb3Bkb3duIG1lbnUgd2l0aCBpdGVtcwoKY2xhc3MgdGlueW1jZV9tb2R1bGVtZW51CnsKICBwdWJsaWMgJG1vZHVsZV9uYW1lPScnOwogIHB1YmxpYyAkYnV0dG9uX25hbWU9Jyc7IC8vIEV4YW1wbGUgOiBtb2R1bGVfZ2FsbGVyeQogIHB1YmxpYyAkdGl0bGU9Jyc7CiAgcHVibGljICR0b29sdGlwPScnOwogIHB1YmxpYyAkaWNvbj0nc3VuJzsKICBwdWJsaWMgJGltYWdlPScnOwogIHB1YmxpYyAkbWVudV9zZWN0aW9uPSdpbnNlcnQnOwogIHB1YmxpYyAkbWVudV9lbnRyaWVzPWFycmF5KCk7CgoKICAvLyAkbWVudV9lbnRyaWVzIGV4YW1wbGUgOgogIC8qCgogICRtZW51X2VudHJpZXMgPSBhcnJheSgKICAgIGFycmF5KAogICAgICAnbWVudV90ZXh0JyA9PiAnR2FsbGVyeSAxJywKICAgICAgJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J2RpcjEnfSIsCiAgICAgICdjaGlsZHJlbnMnID0+IGFycmF5KAogICAgICAgIGFycmF5KAogICAgICAgICAgJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMS4xJywKICAgICAgICAgICdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIxMSd9IgogICAgICAgICksCiAgICAgICAgYXJyYXkoCiAgICAgICAgICAnbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAxLjInLAogICAgICAgICAgJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjEyJ30iCiAgICAgICAgKSwKICAgICAgICBhcnJheSgKICAgICAgICAgICdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDEuMycsCiAgICAgICAgICAnY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMTMnfSIKICAgICAgICApCiAgICAgICkKICAgICksCiAgICBhcnJheSgKICAgICAgJ21lbnVfdGV4dCcgPT4gJ0dhbGxlcnkgMicsCiAgICAgICdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdkaXIyJ30iLAogICAgICAnY2hpbGRyZW5zJyA9PiBhcnJheSgKICAgICAgICBhcnJheSgKICAgICAgICAgICdtZW51X3RleHQnID0+ICdTdWJHYWxsZXJ5IDIuMScsCiAgICAgICAgICAnY29udGVudCcgPT4gIntHYWxsZXJ5IGRpcj0nc3ViZGlyMjEnfSIKICAgICAgICApLAogICAgICAgIGFycmF5KAogICAgICAgICAgJ21lbnVfdGV4dCcgPT4gJ1N1YkdhbGxlcnkgMi4yJywKICAgICAgICAgICdjb250ZW50JyA9PiAie0dhbGxlcnkgZGlyPSdzdWJkaXIyMid9IgogICAgICAgICksCiAgICAgICAgYXJyYXkoCiAgICAgICAgICAnbWVudV90ZXh0JyA9PiAnU3ViR2FsbGVyeSAyLjMnLAogICAgICAgICAgJ2NvbnRlbnQnID0+ICJ7R2FsbGVyeSBkaXI9J3N1YmRpcjIzJ30iCiAgICAgICAgKQogICAgICApCiAgICApCiAgKTsKCiAgKi8KfQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.tinymce_profile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgpjbGFzcyB0aW55bWNlX3Byb2ZpbGUKewogIC8vIEZpZWxkcyBhbmQgZGVmYXVsdCB2YWx1ZXMKICBwcm90ZWN0ZWQgJF9mbGRzID0gYXJyYXkoCiAgICAnaWRfcHJvZmlsZScgPT4gMCwKICAgICdpZF90ZW1wbGF0ZScgPT4gLTEsCiAgICAnbmFtZScgPT4gJycsCiAgICAncHJpb3JpdHknID0+IDUsCiAgICAncmVzaXplJyA9PiB0cnVlLAogICAgJ2F1dG9yZXNpemUnID0+IHRydWUsCgogICAgJ3BsdWdpbnMnID0+ICdhdXRvbGluayBhbmNob3IgY29kZSBmdWxsc2NyZWVuIGltYWdlIGxpbmsgbWVkaWEgcGFzdGUgdGFibGUgdmlzdWFsYmxvY2tzJywKICAgICdlbmFibGVfbGlua2VyJyA9PiB0cnVlLAoKICAgICdzaG93X21lbnViYXInID0+IHRydWUsCiAgICAnbWVudWJhcicgPT4gJ2VkaXQgaW5zZXJ0IHZpZXcgZm9ybWF0IHRhYmxlIHRvb2xzJywKICAgICd1c2VfYWR2YW5jZWRfbWVudScgPT4gZmFsc2UsCiAgICAnYWR2YW5jZWRfbWVudScgPT4gInsKICAgICAgICBlZGl0OiB7dGl0bGU6ICdFZGl0JywgaXRlbXM6ICd1bmRvIHJlZG8gfCBjdXQgY29weSBwYXN0ZSBwYXN0ZXRleHQgfCBzZWxlY3RhbGwnfSwKICAgICAgICBpbnNlcnQ6IHt0aXRsZTogJ0luc2VydCcsIGl0ZW1zOiAnbGluayBtZWRpYSB8IHRlbXBsYXRlIGhyJ30sCiAgICAgICAgdmlldzoge3RpdGxlOiAnVmlldycsIGl0ZW1zOiAndmlzdWFsYWlkJ30sCiAgICAgICAgZm9ybWF0OiB7dGl0bGU6ICdGb3JtYXQnLCBpdGVtczogJ2JvbGQgaXRhbGljIHVuZGVybGluZSBzdHJpa2V0aHJvdWdoIHN1cGVyc2NyaXB0IHN1YnNjcmlwdCB8IGZvcm1hdHMgfCByZW1vdmVmb3JtYXQnfSwKICAgICAgICB0YWJsZToge3RpdGxlOiAnVGFibGUnLCBpdGVtczogJ2luc2VydHRhYmxlIHRhYmxlcHJvcHMgZGVsZXRldGFibGUgfCBjZWxsIHJvdyBjb2x1bW4nfSwKICAgICAgICB0b29sczoge3RpdGxlOiAnVG9vbHMnLCBpdGVtczogJ3NwZWxsY2hlY2tlciBjb2RlJ30KICAgIH0iLAoKICAgICdzaG93X3Rvb2xiYXInID0+IHRydWUsCiAgICAndG9vbGJhcjEnID0+ICd1bmRvIHJlZG8gfCBjdXQgY29weSBwYXN0ZSB8IGZvcm1hdHNlbGVjdCB8IGJvbGQgaXRhbGljIHVuZGVybGluZSB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IGFsaWduanVzdGlmeSB8IGJ1bGxpc3QgbnVtbGlzdCB8IGNtc21zX2xpbmtlciBsaW5rIHVubGluayByZXNwb25zaXZlZmlsZW1hbmFnZXIgaW1hZ2UgdGVtcGxhdGUgfCBmdWxsc2NyZWVuIGNvZGUnLAogICAgJ3Rvb2xiYXIyJyA9PiAnJywKCiAgICAndXNlX2N1c3RvbV9ibG9ja19mb3JtYXRzJyA9PiBmYWxzZSwKICAgICdibG9ja19mb3JtYXRzJyA9PiAnUGFyYWdyYXBoPXA7SGVhZGVyIDE9aDE7SGVhZGVyIDI9aDI7SGVhZGVyIDM9aDM7SGVhZGVyIDQ9aDQ7SGVhZGVyIDU9aDU7SGVhZGVyIDY9aDYnLAoKICAgICdlbmFibGVfY29udGV4dG1lbnUnID0+IHRydWUsCiAgICAnY29udGV4dG1lbnUnID0+ICdjbXNtc19saW5rZXIgbGluayBpbWFnZSB8IGluc2VydHRhYmxlIGNlbGwgcm93IGNvbHVtbiBkZWxldGV0YWJsZScsCgogICAgJ3Nob3dfc3RhdHVzYmFyJyA9PiBmYWxzZSwKCiAgICAnZW5hYmxlX2N1c3RvbV9kcm9wZG93bicgPT4gZmFsc2UsCiAgICAnY3VzdG9tX2Ryb3Bkb3duX3RpdGxlJyA9PiAnRXh0ZW5zaW9ucycsCiAgICAnY3VzdG9tX2Ryb3Bkb3duJyA9PiAiUm9vdCB1cmx8e3Jvb3RfdXJsfVxuU2l0ZSBuYW1lfHtzaXRlbmFtZX0iLAoKICAgIC8vIEZJTEVNQU5BR0VSCiAgICAnZmlsZW1hbmFnZXJfdXNlJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX2RlbGV0ZV9maWxlcycgPT4gdHJ1ZSwKICAgICdmaWxlbWFuYWdlcl9jcmVhdGVfZm9sZGVycycgPT4gdHJ1ZSwKICAgICdmaWxlbWFuYWdlcl9kZWxldGVfZm9sZGVycycgPT4gdHJ1ZSwKICAgICdmaWxlbWFuYWdlcl91cGxvYWRfZmlsZXMnID0+IHRydWUsCiAgICAnZmlsZW1hbmFnZXJfcmVuYW1lX2ZpbGVzJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX3JlbmFtZV9mb2xkZXJzJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX2R1cGxpY2F0ZV9maWxlcycgPT4gdHJ1ZSwKICAgICdmaWxlbWFuYWdlcl9jb3B5X2N1dF9maWxlcycgPT4gdHJ1ZSwKICAgICdmaWxlbWFuYWdlcl9jb3B5X2N1dF9kaXJzJyA9PiB0cnVlLAogICAgJ2ZpbGVtYW5hZ2VyX2NobW9kX2ZpbGVzJyA9PiBmYWxzZSwKICAgICdmaWxlbWFuYWdlcl9jaG1vZF9kaXJzJyA9PiBmYWxzZSwKICAgICdmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMnID0+IHRydWUsCiAgICAnZmlsZW1hbmFnZXJfY3JlYXRlX3RleHRfZmlsZXMnID0+IGZhbHNlLAogICAgJ2ZpbGVtYW5hZ2VyX2VkaXRfdGV4dF9maWxlcycgPT4gZmFsc2UsCiAgICAnZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmcnID0+IGZhbHNlLAogICAgJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoJyA9PiAwLAogICAgJ2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCcgPT4gMCwKICAgICdmaWxlbWFuYWdlcl9hdmlhcnlfYWN0aXZlJyA9PiAxLAogICAgJ2ZpbGVtYW5hZ2VyX2F2aWFyeV9hcGlLZXknID0+ICcyNDQ0MjgyZWY0MzQ0ZTNkYWNkZWRjN2E3OGY4ODc3ZCcsIC8vIFJGTSBkZW1vIGRhdGEKCiAgICAnZW5hYmxlX3VzZXJfdGVtcGxhdGVzJyA9PiBmYWxzZSwKCiAgICAvLyBDU1MgZGVzaWduCiAgICAnaWRfZGVzaWduJyA9PiAwLAogICAgJ2xpbmtfY2xhc3NlcycgPT4gJycsCiAgICAnaW1hZ2VfY2xhc3NlcycgPT4gJycsCiAgICAnc3R5bGVfZm9ybWF0cycgPT4gJycsCgogICAgLy8gRVhUUkEgQ09ORklHCiAgICAnZXh0cmFfanMnID0+ICJwYXN0ZV9hc190ZXh0OiB0cnVlLFxuaW1hZ2VfY2FwdGlvbjogdHJ1ZSIsCiAgICAnZXh0ZXJuYWxfbW9kdWxlcycgPT4gZmFsc2UsCiAgICAnZXh0ZXJuYWxfbW9kdWxlc19zaG93X21lbnV0ZXh0JyA9PiB0cnVlLAoKICAgICdmb3JjZWRfcm9vdF9ibG9jaycgPT4gMSwKICAgICdyZWxhdGl2ZV91cmxzJyA9PiAxLAogICAgJ2ltYWdlX2FkdnRhYicgPT4gMAogICk7CgogIHB1YmxpYyAkdXNlcmdyb3Vwc19pZHMgPSBhcnJheSgpOwogIHB1YmxpYyAkdXNlcmdyb3VwcyA9IGFycmF5KCk7IC8vIEdyb3VwcyBvYmpzIGlmIGxvYWRlZCAoc2VlIHNlbGY6OmxvYWRfZ3JvdXBzX2RhdGEoKQoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogQXNzaWduIGRlZmF1bHQgZmllbGRzIG9yIGxvYWQgcHJvZmlsZSBmcm9tIGRhdGFiYXNlICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogJGlkX3Byb2ZpbGUgPSAoaW50KSBJRCBvZiB0aGUgcHJvZmlsZSB0byBsb2FkLCBmYWxzZSBpZiBuZXcgcHJvZmlsZQogICAgICRkb19sb2FkID0gKGJvb2wpIElmIElEIGlzIHByb3ZpZGVuLCBkZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIGxvYWQgdGhlIGVudGlyZSBwcm9maWxlIGZyb20gREIgKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlkX3Byb2ZpbGUgPSBmYWxzZSwgJGRvX2xvYWQ9dHJ1ZSkKICB7CiAgICBpZiAoJGlkX3Byb2ZpbGUpCiAgICB7CiAgICAgIGlmICgkZG9fbG9hZCkKICAgICAgICByZXR1cm4gJHRoaXMtPmxvYWRfcHJvZmlsZV9mcm9tX2RiKCRpZF9wcm9maWxlKTsKICAgICAgZWxzZQogICAgICAgICR0aGlzLT5pZF9wcm9maWxlID0gKGludCkkaWRfcHJvZmlsZTsKICAgIH0KICAgIGVsc2UKICAgICAgcmV0dXJuICR0aGlzLT5sb2FkX3Byb2ZpbGVfZnJvbV9hcnJheSgkdGhpcy0+X2ZsZHMpOwoKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8vIENsb25lCiAgcHVibGljIGZ1bmN0aW9uIF9fY2xvbmUoKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1RpbnlNQ0UnKTsKCiAgICAkdGhpcy0+aWRfcHJvZmlsZSA9IGZhbHNlOwogICAgJHRoaXMtPm5hbWUgPSAkdGhpcy0+bmFtZSAuICcgKCcgLiAkbW9kLT5MYW5nKCdjb3B5JykgLiAnKSc7CiAgICAkdGhpcy0+dXNlcmdyb3Vwc19pZHMgPSBhcnJheSgpOwogICAgJHRoaXMtPnVzZXJncm91cHMgPSBhcnJheSgpOwogIH0KCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIExvYWQgcHJvZmlsZSBmcm9tIGFycmF5ICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIGZ1bmN0aW9uIGxvYWRfcHJvZmlsZV9mcm9tX2FycmF5KCRwcm9maWxlX2FycmF5ID0gYXJyYXkoKSkKICB7CiAgICBpZiAoZW1wdHkoJHByb2ZpbGVfYXJyYXkpKSByZXR1cm4gZmFsc2U7CgogICAgLy8gRGVmYXVsdCBlbXB0eSB2YWx1ZSAtIGlmIGV4dGVybmFsIG1vZHVsZXMgYXJlIGVuYWJsZWQsIGl0IHdpbGwgYmUgbG9hZGVkLCBpZiBub3QgaXQgc3RheXMgZW1wdHkKICAgICR0aGlzLT5leHRlcm5hbF9tb2R1bGVzID0gJyc7CgogICAgZm9yZWFjaCAoJHByb2ZpbGVfYXJyYXkgYXMgJGZsZF9uYW1lID0+ICRmbGRfdmFsdWUpIHsKICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJGZsZF9uYW1lLCAkdGhpcy0+X2ZsZHMpKQogICAgICB7CiAgICAgICAgLy8gU3RyaW5nIHRvIGFycmF5CiAgICAgICAgaWYgKCgkZmxkX25hbWUgPT0gJ2V4dGVybmFsX21vZHVsZXMnKSAmJiAhaXNfYXJyYXkoJGZsZF92YWx1ZSkpCiAgICAgICAgewogICAgICAgICAgaWYgKCFlbXB0eSgkZmxkX3ZhbHVlKSkKICAgICAgICAgIHsKICAgICAgICAgICAgJGZsZF92YWx1ZSA9IGV4cGxvZGUoJywnLCAkZmxkX3ZhbHVlKTsKICAgICAgICAgICAgJGZsZF92YWx1ZSA9IGFycmF5X21hcCgndHJpbScsICRmbGRfdmFsdWUpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPiRmbGRfbmFtZSA9ICRmbGRfdmFsdWU7CiAgICAgIH0KICAgIH0KCiAgICAvLyBVc2VyZ3JvdXBzID8KICAgIGlmIChpc3NldCgkcHJvZmlsZV9hcnJheVsndXNlcmdyb3VwcyddKSBhbmQgIWVtcHR5KCRwcm9maWxlX2FycmF5Wyd1c2VyZ3JvdXBzJ10pKQogICAgICAkdGhpcy0+dXNlcmdyb3Vwc19pZHMgPSAkcHJvZmlsZV9hcnJheVsndXNlcmdyb3VwcyddOwoKICAgIHJldHVybiB0cnVlOwogIH0KCgoKICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiBMb2FkIHByb2ZpbGUgZnJvbSBkYiA6IHJldHJpZXZlIGZyb20gZGIgYW5kIHB1dCBpbiBhbiBhcnJheSAqLwogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qICRpZF9wcm9maWxlID0gdGhlIElEIG9mIHRoZSBwcm9maWxlIHRvIGxvYWQgKi8KICBwdWJsaWMgZnVuY3Rpb24gbG9hZF9wcm9maWxlX2Zyb21fZGIoJGlkX3Byb2ZpbGUpCiAgewogICAgaWYgKCEkaWRfcHJvZmlsZSkgcmV0dXJuIGZhbHNlOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgV0hFUkUgaWRfcHJvZmlsZT0/JzsKICAgICRwcm9maWxlX2FycmF5ID0gY21zbXMoKS0+R2V0RGIoKS0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGlkX3Byb2ZpbGUpKTsKCiAgICBpZiAoISRwcm9maWxlX2FycmF5KSByZXR1cm4gZmFsc2U7CgogICAgLy8gTG9hZCB0aGUgdXNlcnMgZ3JvdXBzCiAgICAkcHJvZmlsZV9hcnJheVsndXNlcmdyb3VwcyddID0gdGlueW1jZV91dGlsczo6bG9hZF9ncm91cHNfZnJvbV9wcm9maWxlKCRpZF9wcm9maWxlKTsKCiAgICByZXR1cm4gJHRoaXMtPmxvYWRfcHJvZmlsZV9mcm9tX2FycmF5KCRwcm9maWxlX2FycmF5KTsKICB9CgoKCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIExvYWQgdXNlciBncm91cHMgZGF0YS9uYW1lcyAqLwogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qICRncm91cHNfYXJyYXkgOiBhbiBhcnJheSBvZiBpZCAvIGdyb3VwcyBvYmpzIGZyb20gdGhlIENNUyAtIHVzZWZ1bCB0byBub3QgbG9hZCBpdCBzZXZlcmFsIHRpbWVzIC0gZm9yIGV4YW1wbGUsIGZvciB0aGUgbGlzdCBvZiBwcm9maWxlcyAqLwogIHB1YmxpYyBmdW5jdGlvbiBsb2FkX2dyb3Vwc19kYXRhKCRncm91cHNfb2Jqcz1mYWxzZSkKICB7CiAgICBpZiAoIWlzX2FycmF5KCR0aGlzLT51c2VyZ3JvdXBzX2lkcykpCiAgICAgIHJldHVybiBmYWxzZTsKCiAgICBpZiAoISRncm91cHNfb2JqcykgLy9Mb2FkIHRoZSBncm91cHMgZnJvbSB0aGUgQ01TCiAgICAgICRncm91cHNfb2JqcyA9IHRpbnltY2VfdXRpbHM6OmdldF91c2VyX2dyb3VwcygpOwoKICAgIGZvcmVhY2ggKCR0aGlzLT51c2VyZ3JvdXBzX2lkcyBhcyAkZ3JvdXBfaWQpCiAgICAgICR0aGlzLT51c2VyZ3JvdXBzWyRncm91cF9pZF0gPSAkZ3JvdXBzX29ianNbJGdyb3VwX2lkXTsKCiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogU2F2ZSBwcm9maWxlIHRvIERCICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmICgkdGhpcy0+aWRfcHJvZmlsZSkgLy8gRWRpdAogICAgICAkdGhpcy0+ZGVsZXRlX2Zyb21fZGIoKTsgLy8gRGVsZXRlIGJlZm9yZSByZS1hZGRpbmcgaXQKCiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5DTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUuJyAnOwoKICAgICRkYl9mbGRzID0gYXJyYXlfa2V5cygkdGhpcy0+X2ZsZHMpOwoKICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBmb3IgdGhlIHF1ZXJ5CiAgICAkcXVlcnlfdmFsdWVzID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRkYl9mbGRzIGFzICRmbGQpCiAgICB7CiAgICAgIC8vIEFycmF5IG9yIHN0cmluZyA/CiAgICAgIGlmICghaXNfYXJyYXkoJHRoaXMtPiRmbGQpKQogICAgICAgICRxdWVyeV92YWx1ZXNbJGZsZF0gPSAkdGhpcy0+JGZsZDsKICAgICAgZWxzZQogICAgICB7CiAgICAgICAgaWYgKCFlbXB0eSgkdGhpcy0+JGZsZCkpCiAgICAgICAgICAkcXVlcnlfdmFsdWVzWyRmbGRdID0gaW1wbG9kZSgnLCcsICR0aGlzLT4kZmxkKTsKICAgICAgICBlbHNlCiAgICAgICAgICAkcXVlcnlfdmFsdWVzWyRmbGRdID0gJyc7IC8vIEVtcHR5IGFycmF5LCB3ZSBkb24ndCB3YW50IHRvIHN0b3JlIGEgc2ltcGxlIGNvbW1hCiAgICAgIH0KICAgICAgJHF1ZXJ5X21hc2tbXSA9ICc/JzsgLy8gVGhpcyBpcyBmb3IgdGhlICg/LD8sPykgbWFzayBmb3IgdGhlIHF1ZXJ5CiAgICB9CgogICAgJHF1ZXJ5IC49ICcoJyAuIGltcGxvZGUoJywnLCAkZGJfZmxkcykgLiAnKSAnOwogICAgJHF1ZXJ5IC49ICdWQUxVRVMgKCcuaW1wbG9kZSgnLCcsICRxdWVyeV9tYXNrKS4nKSc7CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICBpZiAoISRkYi0+RXhlY3V0ZSgkcXVlcnksICRxdWVyeV92YWx1ZXMpKQogICAgICByZXR1cm4gZmFsc2U7CgoKICAgIGlmICghJHRoaXMtPmlkX3Byb2ZpbGUpCiAgICAgICR0aGlzLT5pZF9wcm9maWxlID0gJGRiLT5JbnNlcnRfSUQoKTsKCiAgICAvLyBTYXZlIGdyb3VwcwogICAgaWYgKCFlbXB0eSgkdGhpcy0+dXNlcmdyb3Vwc19pZHMpKQogICAgICB0aW55bWNlX3V0aWxzOjphZGRfZ3JvdXBzX3RvX3Byb2ZpbGUoJHRoaXMtPmlkX3Byb2ZpbGUsICR0aGlzLT51c2VyZ3JvdXBzX2lkcyk7CgogICAgcmV0dXJuIHRydWU7CiAgfQoKCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIFJlbW92ZSBwcm9maWxlIGZyb20gREIgKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiAkaWRfcHJvZmlsZSAoaW50KSB0aGUgcHJvZmlsZSBpZCAqLwogIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfZnJvbV9kYigpCiAgewogICAgaWYgKCFpc3NldCgkdGhpcy0+aWRfcHJvZmlsZSkpIHJldHVybiBmYWxzZTsKCiAgICBpZiAodGlueW1jZV91dGlsczo6ZGVsZXRlX3Byb2ZpbGVncm91cHNfZnJvbV9wcm9maWxlKCR0aGlzLT5pZF9wcm9maWxlKSkKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgV0hFUkUgaWRfcHJvZmlsZT0/JzsKICAgICAgcmV0dXJuIChjbXNtcygpLT5HZXREYigpLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPmlkX3Byb2ZpbGUpKSk7CiAgICB9CiAgfQoKCgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogR2VuZXJhdGUgY29uZmlnIDogcmV0dXJuIHRoZSBKUyBzdHJpbmcgKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiAkZGV2X21vZGUgPSBpZiB0cnVlLCBsb2FkIGZyb20gdGhlIHRlbXBsYXRlcy9vcmlnX2pzX3RlbXBsYXRlLnRwbCBmaWxlIGluc3RlYWQgb2YgdGhlIERlc2lnbk1hbmFnZXIgLSBvbmx5IGZvciBkZXZlbG9wbWVudCBwdXJwb3NlICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9qc19jb25maWcoJGxhbmd1YWdlLCAkc2VsZWN0b3IgPSBudWxsLCAkY3NzbmFtZSA9IG51bGwpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwogICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoKICAgIC8vIEZST00gTVQKICAgICRhamF4X3VybCA9IGZ1bmN0aW9uKCR1cmwpIHsKICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2UoJyZhbXA7JywnJicsJHVybCkuJyZzaG93dGVtcGxhdGU9ZmFsc2UnOwogICAgfTsKCiAgICAvLyBMb2FkIHRoZSB0ZW1wbGF0ZQogICAgaWYgKCR0aGlzLT5pZF90ZW1wbGF0ZSA+IDApCiAgICB7CiAgICAgIHRyeSB7CiAgICAgICAgJHRwbCA9IENtc0xheW91dFRlbXBsYXRlOjpsb2FkKCR0aGlzLT5pZF90ZW1wbGF0ZSk7CiAgICAgICAgJHRwbF9uYW1lID0gJHRwbC0+Z2V0X25hbWUoKTsKICAgICAgfQogICAgICBjYXRjaCggRXhjZXB0aW9uICRlICkgewogICAgICAgIGlmICghaXNzZXQoJHRwbCkpCiAgICAgICAgICAkaWRfdGVtcGxhdGUgPSAtMTsKICAgICAgfQogICAgfQogICAgZWxzZWlmICgkdGhpcy0+aWRfdGVtcGxhdGUgPT0gMCkKICAgIHsKICAgICAgJHRwbCA9IENtc0xheW91dFRlbXBsYXRlOjpsb2FkX2RmbHRfYnlfdHlwZSgnVGlueU1DRTo6anMnKTsgLy8gREVGQVVMVCBGUk9NIERFU0lHTiBNQU5BR0VSCiAgICAgICR0cGxfbmFtZSA9ICR0cGwtPmdldF9uYW1lKCk7CiAgICB9CgogICAgaWYgKCR0aGlzLT5pZF90ZW1wbGF0ZSA9PSAtMSkKICAgICAgJHRwbF9uYW1lID0gJ29yaWdfanNfdGVtcGxhdGUudHBsJzsKCiAgICAkdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJG1vZC0+R2V0VGVtcGxhdGVSZXNvdXJjZSgkdHBsX25hbWUpLCBudWxsLCBudWxsLCAkc21hcnR5KTsKICAgIC8vIEVuZCB0ZW1wbGF0ZSBsb2FkaW5nCgoKICAgICRhc3NpZ25bJ1RpbnlNQ0UnXSA9ICRtb2Q7CiAgICAkYXNzaWduWydwcm9maWxlJ10gPSAkdGhpczsKICAgICRhc3NpZ25bJ2xhbmd1YWdlJ10gPSAkbGFuZ3VhZ2U7CgogICAgaWYgKCRzZWxlY3RvcikKICAgICAgJGFzc2lnblsnc2VsZWN0b3InXSA9ICRzZWxlY3RvcjsKCiAgICAvLyBDU1MKICAgIGlmICgkY3NzbmFtZSAmJiAhZW1wdHkoJGNzc25hbWUpKQogICAgICAkYXNzaWduWydjc3NuYW1lJ10gPSAkY3NzbmFtZTsKCgogICAgLy8gU1RZTEVTIEZPUk1BVFMKICAgIGlmICghZW1wdHkoJHRoaXMtPnN0eWxlX2Zvcm1hdHMpKQogICAgewogICAgICAkc3R5bGVzX3JlcyA9IGFycmF5KCk7CiAgICAgICRzdHlsZXMgPSBleHBsb2RlKFBIUF9FT0wsICR0aGlzLT5zdHlsZV9mb3JtYXRzKTsKCiAgICAgIGZvcmVhY2ggKCRzdHlsZXMgYXMgJHN0eWxlX2Zvcm1hdCkKICAgICAgewogICAgICAgICRzdHlsZXNfcmVzW10gPSAkc3R5bGVfZm9ybWF0OwogICAgICB9CiAgICAgICRhc3NpZ25bJ3N0eWxlX2Zvcm1hdHMnXSA9ICRzdHlsZXNfcmVzOwogICAgfQoKICAgIC8vIExJTksgQ0xBU1NFUwogICAgaWYgKCFlbXB0eSgkdGhpcy0+bGlua19jbGFzc2VzKSkKICAgIHsKICAgICAgJGNsYXNzZXNfcmVzID0gYXJyYXkoJG1vZC0+TGFuZygnbm9uZScpID0+ICcnKTsKICAgICAgJGNsYXNzZXMgPSBleHBsb2RlKFBIUF9FT0wsICR0aGlzLT5saW5rX2NsYXNzZXMpOwoKICAgICAgZm9yZWFjaCAoJGNsYXNzZXMgYXMgJGNsYXNzKQogICAgICB7CiAgICAgICAgbGlzdCgkY2xhc3NfdGl0bGUsICRjbGFzc19uYW1lcykgPSBleHBsb2RlKCc9JywgJGNsYXNzKTsKICAgICAgICAkY2xhc3Nlc19yZXNbdHJpbSgkY2xhc3NfdGl0bGUpXSA9ICRjbGFzc19uYW1lczsKICAgICAgfQogICAgICAkYXNzaWduWydsaW5rX2NsYXNzZXMnXSA9ICRjbGFzc2VzX3JlczsKICAgIH0KCiAgICAvLyBJTUFHRSBDTEFTU0VTCiAgICBpZiAoIWVtcHR5KCR0aGlzLT5pbWFnZV9jbGFzc2VzKSkKICAgIHsKICAgICAgJGNsYXNzZXNfcmVzID0gYXJyYXkoJG1vZC0+TGFuZygnbm9uZScpID0+ICcnKTsKICAgICAgJGNsYXNzZXMgPSBleHBsb2RlKFBIUF9FT0wsICR0aGlzLT5pbWFnZV9jbGFzc2VzKTsKCiAgICAgIGZvcmVhY2ggKCRjbGFzc2VzIGFzICRjbGFzcykKICAgICAgewogICAgICAgIGxpc3QoJGNsYXNzX3RpdGxlLCAkY2xhc3NfbmFtZXMpID0gZXhwbG9kZSgnPScsICRjbGFzcyk7CiAgICAgICAgJGNsYXNzZXNfcmVzW3RyaW0oJGNsYXNzX3RpdGxlKV0gPSAkY2xhc3NfbmFtZXM7CiAgICAgIH0KICAgICAgJGFzc2lnblsnaW1hZ2VfY2xhc3NlcyddID0gJGNsYXNzZXNfcmVzOwogICAgfQoKICAgIC8vIExvYWQgdGhlIGNtc21zX2xpbmtlciBwbHVnaW4KICAgICRhc3NpZ25bJ2VuYWJsZV9saW5rZXInXSA9IDA7CiAgICBpZiAoIWNtc21zKCktPmlzX2Zyb250ZW5kX3JlcXVlc3QoKSAmJiAkdGhpcy0+ZW5hYmxlX2xpbmtlcikKICAgIHsKICAgICAgJGFzc2lnblsnZW5hYmxlX2xpbmtlciddID0gMTsKCiAgICAgICR1cmwgPSAkbW9kLT5jcmVhdGVfdXJsKCdtMV8nLCdsaW5rZXInKTsKICAgICAgJGFzc2lnblsnbGlua2VyX3VybCddID0gJGFqYXhfdXJsKCR1cmwpOwogICAgICAkdXJsID0gJG1vZC0+Y3JlYXRlX3VybCgnbTFfJywnYWpheF9nZXRwYWdlcycpOwogICAgICAkYXNzaWduWydnZXRwYWdlc191cmwnXSA9ICRhamF4X3VybCgkdXJsKTsKICAgIH0KCiAgICAvLyBMb2FkIHRoZSBmaWxlIG1hbmFnZXIgPwogICAgaWYgKHRpbnltY2VfdXRpbHM6OmNhbl91c2VyX3VzZV9maWxlbWFuYWdlcigkdGhpcykpCiAgICB7CiAgICAgICRhc3NpZ25bJ2Nhbl91c2VfZmlsZW1hbmFnZXInXSA9IDE7CgogICAgICAvLyBHZXQgdGhlIGFjY2VzcyBrZXkKICAgICAgJHNhbHQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdmaWxlbWFuYWdlcl9zYWx0Jyk7CiAgICAgICR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7CiAgICAgICRhY2Nlc3Nfa2V5ID0gbWQ1KCR1c2VyaWQuJHNhbHQpOwogICAgICAkYXNzaWduWydhY2Nlc3Nfa2V5J10gPSAkYWNjZXNzX2tleTsKICAgIH0KCiAgICAvLyBMb2FkIHVzZXIgdGVtcGxhdGVzID8KICAgIGlmICgkdGhpcy0+ZW5hYmxlX3VzZXJfdGVtcGxhdGVzKQogICAgewogICAgICAkdXNlcl90ZW1wbGF0ZXMgPSB0aW55bWNlX3V0aWxzOjpsb2FkX3RlbXBsYXRlc19ieV90eXBlKCd1c2VydGVtcGxhdGUnKTsKICAgICAgaWYgKCFlbXB0eSgkdXNlcl90ZW1wbGF0ZXMpKQogICAgICAgICRhc3NpZ25bJ3VzZXJfdGVtcGxhdGVzJ10gPSAkdXNlcl90ZW1wbGF0ZXM7CiAgICB9CgogICAgLy8gVXNlIGN1c3RvbSBkcm9wZG93biA/CiAgICBpZiAoJHRoaXMtPmVuYWJsZV9jdXN0b21fZHJvcGRvd24gJiYgIWVtcHR5KCR0aGlzLT5jdXN0b21fZHJvcGRvd24pKQogICAgewogICAgICAkY3VzdG9tX2Ryb3Bkb3duID0gZXhwbG9kZSgiXG4iLCAkdGhpcy0+Y3VzdG9tX2Ryb3Bkb3duKTsKICAgICAgJGN1c3RvbV9kcm9wZG93bl9hcnJheSA9IGZhbHNlOwogICAgICAkaSA9IDA7CgogICAgICBmb3JlYWNoICgkY3VzdG9tX2Ryb3Bkb3duIGFzICRlbnRyeSkKICAgICAgewogICAgICAgIEBsaXN0KCRlbnRyeV90aXRsZSwgJGVudHJ5X3ZhbHVlMSwgJGVudHJ5X3ZhbHVlMikgPSBleHBsb2RlKCd8JywgJGVudHJ5KTsKICAgICAgICAkY3VzdG9tX2Ryb3Bkb3duX2FycmF5WyRpXVsndGl0bGUnXSA9ICRlbnRyeV90aXRsZTsKICAgICAgICAkY3VzdG9tX2Ryb3Bkb3duX2FycmF5WyRpXVsndmFsdWUxJ10gPSAkZW50cnlfdmFsdWUxOwogICAgICAgIGlmICghZW1wdHkoJGVudHJ5X3ZhbHVlMikpCiAgICAgICAgICAkY3VzdG9tX2Ryb3Bkb3duX2FycmF5WyRpXVsndmFsdWUyJ10gPSAkZW50cnlfdmFsdWUyOwoKICAgICAgICAkaSsrOwogICAgICB9CgogICAgICAkYXNzaWduWydjdXN0b21fZHJvcGRvd24nXSA9ICRjdXN0b21fZHJvcGRvd25fYXJyYXk7CiAgICB9CgogICAgLy8gRXh0ZXJuYWwgbW9kdWxlcwogICAgJGV4dGVybmFsX21vZHVsZXMgPSBmYWxzZTsKICAgIGlmICghZW1wdHkoJHRoaXMtPmV4dGVybmFsX21vZHVsZXMpKQogICAgewogICAgICBmb3JlYWNoICgkdGhpcy0+ZXh0ZXJuYWxfbW9kdWxlcyBhcyAkbW9kX25hbWUpCiAgICAgIHsKICAgICAgICAkZXh0X21vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgkbW9kX25hbWUpOwoKICAgICAgICBpZiAoJGV4dF9tb2QpCiAgICAgICAgewogICAgICAgICAgJGJ0bl9vYmogPSAkZXh0X21vZC0+R2V0V1lTSVdZR0J0bignVGlueU1DRScpOwoKICAgICAgICAgIGlmICgkYnRuX29iaikKICAgICAgICAgICAgJGV4dGVybmFsX21vZHVsZXNbJG1vZF9uYW1lXSA9ICRidG5fb2JqOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgJGFzc2lnblsnZXh0ZXJuYWxfbW9kdWxlcyddID0gJGV4dGVybmFsX21vZHVsZXM7CgogICAgJHRwbC0+YXNzaWduKCRhc3NpZ24pOwoKICAgIHJldHVybiAkdHBsLT5mZXRjaCgpOwogIH0KCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8vIExvYWQgdGhlIGZpbGVtYW5hZ2VyIGNvbmZpZyBmb3IgcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF9maWxlbWFuYWdlcl9jb25maWcoJGZpbGVtYW5hZ2VyX2NvbmZpZykKICB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUaW55TUNFJyk7CgogICAgLy8gV2UgZG8gdGhpcyBmb3Igd2Vic2l0ZXMgdGhhdCBhcmUgaW4gYSBzdWJkaXJlY3RvcnkgKGllIHd3dy5teXdlYnNpdGUuY29tL2Ntc21zLykKCiAgICAvLyBVUkwgd2l0aG91dCBzdWJkaXIKICAgICRiYXNlX3VybCA9ICgoaXNzZXQoJF9TRVJWRVJbJ0hUVFBTJ10pICYmICRfU0VSVkVSWydIVFRQUyddICYmICEgaW5fYXJyYXkoc3RydG9sb3dlcigkX1NFUlZFUlsnSFRUUFMnXSksIGFycmF5KCAnb2ZmJywgJ25vJyApKSkgPyAnaHR0cHMnIDogJ2h0dHAnKSAuICc6Ly8nIC4gJF9TRVJWRVJbJ0hUVFBfSE9TVCddOwoKICAgIC8vIEdldCBzdWJkaXIKICAgICR0bXBfcm9vdF9kb21haW4gPSBzdHJfcmVwbGFjZSgnL21vZHVsZXMvVGlueU1DRS9yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyL2ZpbGVtYW5hZ2VyJywgJycsIGNtc21zKCktPkdldENvbmZpZygpWydyb290X3VybCddKTsKICAgICRzdWJkaXIgPSBzdHJfcmVwbGFjZSgkYmFzZV91cmwsICcnLCAkdG1wX3Jvb3RfZG9tYWluKTsKICAgICRmaWxlbWFuYWdlcl9jb25maWdbJ3VwbG9hZF9kaXInXSA9ICRzdWJkaXIgLiAnL3VwbG9hZHMvJzsKCiAgICAvLyBBQ0NFU1MgS0VZCiAgICAkc2FsdCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2ZpbGVtYW5hZ2VyX3NhbHQnKTsKICAgICR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7CiAgICAkYWNjZXNzX2tleSA9IG1kNSgkdXNlcmlkLiRzYWx0KTsKICAgICRmaWxlbWFuYWdlcl9jb25maWdbJ2FjY2Vzc19rZXlzJ10gPSBhcnJheSgkYWNjZXNzX2tleSk7CgogICAgLy8gQ09ORklHVVJBVElPTgogICAgJGZpbGVtYW5hZ2VyX29wdGlvbnMgPSBhcnJheSgKICAgICAgJ2RlbGV0ZV9maWxlcycsCiAgICAgICdjcmVhdGVfZm9sZGVycycsCiAgICAgICdkZWxldGVfZm9sZGVycycsCiAgICAgICd1cGxvYWRfZmlsZXMnLAogICAgICAncmVuYW1lX2ZpbGVzJywKICAgICAgJ3JlbmFtZV9mb2xkZXJzJywKICAgICAgJ2R1cGxpY2F0ZV9maWxlcycsCiAgICAgICdjb3B5X2N1dF9maWxlcycsCiAgICAgICdjb3B5X2N1dF9kaXJzJywKICAgICAgJ2NobW9kX2ZpbGVzJywKICAgICAgJ2NobW9kX2RpcnMnLAogICAgICAncHJldmlld190ZXh0X2ZpbGVzJywKICAgICAgJ2VkaXRfdGV4dF9maWxlcycsCiAgICAgICdjcmVhdGVfdGV4dF9maWxlcycsCiAgICAgICdpbWFnZV9yZXNpemluZycsCiAgICAgICdpbWFnZV9yZXNpemluZ193aWR0aCcsCiAgICAgICdpbWFnZV9yZXNpemluZ19oZWlnaHQnLAogICAgICAnYXZpYXJ5X2FjdGl2ZScsCiAgICAgICdhdmlhcnlfYXBpS2V5JwogICAgKTsKICAgIGZvcmVhY2ggKCRmaWxlbWFuYWdlcl9vcHRpb25zIGFzICRvcHQpIHsKICAgICAgJHZhciA9ICJmaWxlbWFuYWdlcl8iLiRvcHQ7CiAgICAgICRmaWxlbWFuYWdlcl9jb25maWdbJG9wdF0gPSAkdGhpcy0+JHZhcjsKICAgIH0KCgogICAgLy8gTGFuZ3VhZ2UKICAgICRkZWZhdWx0X2Ntc19sYW5ndWFnZSA9IGNtc191c2VycHJlZnM6OmdldF9mb3JfdXNlcigkdXNlcmlkLCAnZGVmYXVsdF9jbXNfbGFuZ3VhZ2UnKTsKCiAgICBpZiAoIWVtcHR5KCRkZWZhdWx0X2Ntc19sYW5ndWFnZSkgJiYgKCRkZWZhdWx0X2Ntc19sYW5ndWFnZSAhPSAnZW5fVVMnKSkKICAgICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZGVmYXVsdF9sYW5ndWFnZSddID0gJGRlZmF1bHRfY21zX2xhbmd1YWdlOwoKICAgIC8vIEF2aWFyeSBsYW5ndWFnZQogICAgJGZpbGVtYW5hZ2VyX2NvbmZpZ1snYXZpYXJ5X2xhbmd1YWdlJ10gPSBzdWJzdHIoJGRlZmF1bHRfY21zX2xhbmd1YWdlLCAwLCAyKTsKCiAgICByZXR1cm4gJGZpbGVtYW5hZ2VyX2NvbmZpZzsKICB9Cn0KPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.tinymce_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwoKY2xhc3MgdGlueW1jZV91dGlscwp7CiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogR2V0IHRoZSBtb2R1bGVzIHRoYXQgY2FuIGJlIGluY2x1ZGVkIGluIHRoZSBXWVNJV1lHICovCiAgLyogUmV0dXJucyBhbiBhcnJheSBvZiBtb2R1bGVzIG5hbWVzICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfd3lzaXd5Z2l0ZW1zX21vZHVsZXMoKQogIHsKICAgICRtb2R1bGVzX3JlcyA9IGZhbHNlOwogICAgJG1vZHVsZXMgPSBtb2R1bGVfbWV0YTo6Z2V0X2luc3RhbmNlKCktPm1vZHVsZV9saXN0X2J5X2NhcGFiaWxpdHkoJ1dZU0lXWUdJdGVtcycpOwoKICAgIGlmIChjb3VudCgkbW9kdWxlcykgPT0gMCkgcmV0dXJuICRtb2R1bGVzX3JlczsKCiAgICBmb3JlYWNoICgkbW9kdWxlcyBhcyAkbW9kdWxlX25hbWUpCiAgICB7CiAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZV9uYW1lKTsKICAgICAgaWYgKCRtb2QpCiAgICAgIHsKICAgICAgICAkbW9kdWxlc19yZXNbJG1vZHVsZV9uYW1lXVsnZnJpZW5kbHluYW1lJ10gPSAkbW9kLT5HZXRGcmllbmRseU5hbWUoKTsKICAgICAgICAkbW9kdWxlc19yZXNbJG1vZHVsZV9uYW1lXVsnYnV0dG9uX25hbWUnXSA9ICRtb2QtPkdldFdZU0lXWUdCdG5OYW1lKCk7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gJG1vZHVsZXNfcmVzOwogIH0KCgoKICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiBSZXR1cm5zIHRoZSBiZXN0IHByb2ZpbGUgZm9yIHRoZSBjdXJyZW50IHVzZXIgKi8KICAvKiBSZXR1cm5zIGEgcHJvZmlsZSBvYmplY3QgKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9iZXN0X3Byb2ZpbGUoKQogIHsKCiAgICAvLyBHZXQgdGhlIGN1cnJlbnQgdXNlciBncm91cHMKICAgIGlmIChjbXNtcygpLT5pc19mcm9udGVuZF9yZXF1ZXN0KCkpCiAgICAgICRjdXJyZW50X3VzZXJfZ3JvdXBzID0gYXJyYXkoLTEpOyAvLyBGcm9udGVuZAogICAgZWxzZQogICAgewogICAgICAvLyBCYWNrZW5kCiAgICAgICR1c2VyaWQgPSBnZXRfdXNlcmlkKGZhbHNlKTsKICAgICAgJGN1cnJlbnRfdXNlcl9ncm91cHMgPSBVc2VyT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPkdldE1lbWJlckdyb3VwcygkdXNlcmlkKTsKICAgIH0KCiAgICAkcXVlcnkgPSAnU0VMRUNUIHAuaWRfcHJvZmlsZSBGUk9NICcuQ01TX0RCX1BSRUZJWC5USU5ZTUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgcAogICAgSk9JTiAnLkNNU19EQl9QUkVGSVggLiBUSU5ZTUNFOjpUSU5ZTUNFX1BST0ZJTEVHUk9VUF9UQUJMRSAuICcgcGcgT04gKHAuaWRfcHJvZmlsZT1wZy5pZF9wcm9maWxlKSBXSEVSRSBpZF9ncm91cCBJTiAoJy5pbXBsb2RlKCcsJywgJGN1cnJlbnRfdXNlcl9ncm91cHMpLicpIE9SREVSIEJZIHAucHJpb3JpdHknOwoKICAgICRpZF9iZXN0X3Byb2ZpbGUgPSBjbXNtcygpLT5HZXREYigpLT5HZXRPbmUoJHF1ZXJ5KTsKCiAgICBpZiAoISRpZF9iZXN0X3Byb2ZpbGUpCiAgICB7CiAgICAgIC8vIEdldCB0aGUgZGVmYXVsdCBvbmUKICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwogICAgICAkaWRfYmVzdF9wcm9maWxlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnaWRfZGVmYXVsdF9wcm9maWxlJyk7CiAgICB9CgogICAgJGJlc3RfcHJvZmlsZSA9IG5ldyB0aW55bWNlX3Byb2ZpbGUoJGlkX2Jlc3RfcHJvZmlsZSk7CgogICAgcmV0dXJuKCRiZXN0X3Byb2ZpbGUpOwogIH0KCgogIC8qIENhbiB0aGUgY3VycmVudCB1c2VyIChiYWNrZW5kKSB1c2UgdGhlIGZpbGVtYW5hZ2VyID8gLSBVc2VkIGJ5IFJlc3BvbnNpdmVGaWxlTWFuYWdlciB0byBnaXZlIHRoZSBhY2Nlc3MsIG9yIG5vdCAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2FuX3VzZXJfdXNlX2ZpbGVtYW5hZ2VyKCRwcm9maWxlKQogIHsKICAgIGlmIChjbXNtcygpLT5pc19mcm9udGVuZF9yZXF1ZXN0KCkpCiAgICAgIHJldHVybiBmYWxzZTsKCiAgICBpZiAoISRwcm9maWxlKQogICAgICByZXR1cm4gZmFsc2U7CgogICAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgbG9nZ2VkaW4gdXNlciBjYW4gdXNlIHRoZSBmaWxlbWFuYWdlcgogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwoKICAgIGlmICghJG1vZC0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgRmlsZXMnKSkKICAgICAgcmV0dXJuIGZhbHNlOwoKICAgIGlmICghJHByb2ZpbGUtPmZpbGVtYW5hZ2VyX3VzZSkKICAgICAgcmV0dXJuIGZhbHNlOwoKICAgIHJldHVybiB0cnVlOwogIH0KCgoKCgogIC8qICRpZF9wcm9maWxlID0gdGhlIElEIG9mIHRoZSBwcm9maWxlIGZyb20gd2hpY2ggdGhlIGdyb3VwcyBoYXZlIHRvIGJlIGxvYWRlZCAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9ncm91cHNfZnJvbV9wcm9maWxlKCRpZF9wcm9maWxlKQogIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWRfZ3JvdXAgRlJPTSAnLkNNU19EQl9QUkVGSVguVGlueU1DRTo6VElOWU1DRV9QUk9GSUxFR1JPVVBfVEFCTEUuJyBXSEVSRSBpZF9wcm9maWxlPT8nOwogICAgJHVzZXJwcm9maWxlcyA9IGNtc21zKCktPkdldERiKCktPkdldENvbCgkcXVlcnksIGFycmF5KCRpZF9wcm9maWxlKSk7CgogICAgcmV0dXJuICR1c2VycHJvZmlsZXM7CiAgfQoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogQWRkIGdyb3VwcyBpbiBEQiBmb3IgYSBwcm9maWxlICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogJGlkX3Byb2ZpbGUgOiBpZCBwcm9maWxlIHdlIHdhbnQgdG8gbGluayBncm91cHMgdG8gKi8KICAvKiAkaWRfZ3JvdXBzIDogYXJyYXkgb2YgZ3JvdXBzLCBvciBzaW5nbGUgSUQgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFkZF9ncm91cHNfdG9fcHJvZmlsZSgkaWRfcHJvZmlsZSwgJGlkX2dyb3VwcykKICB7CiAgICBpZiAoISRpZF9ncm91cHMpIHJldHVybiBmYWxzZTsKCiAgICBpZiAoaXNfaW50KCRpZF9ncm91cHMpKQogICAgICAkaWRfZ3JvdXBzID0gYXJyYXkoKGludCkkaWRfZ3JvdXBzKTsKCgogICAgLy8gRmlyc3QgcmVtb3ZlIG90aGVyIGFzc29jaWF0aW9ucwogICAgaWYgKCFzZWxmOjpkZWxldGVfcHJvZmlsZWdyb3Vwc19mcm9tX2lkZ3JvdXBzKCRpZF9ncm91cHMpKSByZXR1cm4gZmFsc2U7CgoKICAgIC8vIEFuZCBpbnNlcnQgdG8gREIKICAgICRpbnNlcnRfcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5DTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFLicgKGlkX3Byb2ZpbGUsIGlkX2dyb3VwKSBWQUxVRVMgKD8sPyknOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICBmb3JlYWNoICgkaWRfZ3JvdXBzIGFzICRpZF9ncm91cCkKICAgICAgaWYgKCEkZGItPkV4ZWN1dGUoJGluc2VydF9xdWVyeSwgYXJyYXkoJGlkX3Byb2ZpbGUsICRpZF9ncm91cCkpKQogICAgICAgIHJldHVybiBmYWxzZTsKCiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogRGVsZXRlIGdyb3VwcyBmcm9tIERCIGZvciBhIHByb2ZpbGUgKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiAkaWRfcHJvZmlsZSA9IHRoZSBJRCBvZiB0aGUgcHJvZmlsZSBmcm9tIHdoaWNoIHRoZSBncm91cHMgaGF2ZSB0byBiZSBkZWxldGVkICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWxldGVfcHJvZmlsZWdyb3Vwc19mcm9tX3Byb2ZpbGUoJGlkX3Byb2ZpbGUpCiAgewogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVHUk9VUF9UQUJMRS4nIFdIRVJFIGlkX3Byb2ZpbGU9Pyc7CiAgICByZXR1cm4gKGNtc21zKCktPkdldERiKCktPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfcHJvZmlsZSkpKTsKICB9CgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogRGVsZXRlIHByb2ZpbGVncm91cHMgZnJvbSBJRCBhcnJheSAqLwogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qICRpZF9ncm91cHMgPSAoYXJyYXkpIGdyb3VwcyB0byBkZWxldGUgZnJvbSB0aGUgcHJvZmlsZWdyb3VwcyBhc3NvY2lhdGlvbnMgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9wcm9maWxlZ3JvdXBzX2Zyb21faWRncm91cHMoJGlkX2dyb3VwcykKICB7CiAgICBpZiAoISRpZF9ncm91cHMpIHJldHVybiBmYWxzZTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFLicgV0hFUkUgaWRfZ3JvdXAgSU4gKCcuaW1wbG9kZSgnLCcsJGlkX2dyb3VwcykuJyknOwogICAgcmV0dXJuIChjbXNtcygpLT5HZXREYigpLT5FeGVjdXRlKCRxdWVyeSkpOwogIH0KCgoKCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIExvYWQgYWxsIHRoZSBwcm9maWxlcyBvYmplY3RzICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYWxsX3Byb2ZpbGVzX2Zvcl9hZG1pbl9saXN0KCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWRfcHJvZmlsZSBGUk9NICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLiAnIE9SREVSIEJZIHByaW9yaXR5JzsKICAgICRwcm9maWxlcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CgogICAgaWYgKCEkcHJvZmlsZXMpIHJldHVybiBmYWxzZTsKCiAgICAvLyBMb2FkIGFsbCB0aGUgdXNlciBncm91cHMgZnJvbSB0aGUgZ3JvdXBzIG1hbmFnZXIKICAgICRncm91cHNfYXJyYXkgPSBzZWxmOjpnZXRfdXNlcl9ncm91cHMoKTsKCiAgICAkcHJvZmlsZV9vYmpzID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRwcm9maWxlcyBhcyAkaWRfcHJvZmlsZSkKICAgIHsKICAgICAgJHByb2ZpbGVfb2JqID0gbmV3IHRpbnltY2VfcHJvZmlsZSgkaWRfcHJvZmlsZSk7CgogICAgICAvLyBMb2FkIHRoZSBhZG1pbiBncm91cHMgbmFtZXMKICAgICAgJHByb2ZpbGVfb2JqLT5sb2FkX2dyb3Vwc19kYXRhKCRncm91cHNfYXJyYXkpOwoKICAgICAgJHByb2ZpbGVfb2Jqc1tdID0gJHByb2ZpbGVfb2JqOwogICAgfQoKICAgIHJldHVybiAkcHJvZmlsZV9vYmpzOwogIH0KCgoKICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiBMb2FkIHRoZSBDTVMgdXNlciBncm91cHMgdG8gYW4gYXJyYXkgd2l0aCBJRCBhcyBrZXkgYW5kIHRoZSBncm91cCBhcyBvYmogKi8KICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KICAvKiAkYWRkX2Zyb250ZW5kID0gY3JlYXRlIGEgc3BlY2lhbCBncm91cCB3aXRoIElEIC0xIHRvIGRlZmluZSBmcm9udGVuZCAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3VzZXJfZ3JvdXBzKCRhZGRfZnJvbnRlbmQ9dHJ1ZSkKICB7CiAgICAkZ3JvdXBzID0gR3JvdXBPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+TG9hZEdyb3VwcygpOwogICAgJGdyb3Vwc19vYmpzID0gYXJyYXkoKTsKICAgIGZvcmVhY2ggKCRncm91cHMgYXMgJGdyb3VwKQogICAgICAkZ3JvdXBzX29ianNbJGdyb3VwLT5pZF0gPSAkZ3JvdXA7CgogICAgaWYgKCRhZGRfZnJvbnRlbmQpCiAgICB7CiAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1RpbnlNQ0UnKTsKICAgICAgJGZlX2dyb3VwID0gbmV3IHN0ZGNsYXNzOwogICAgICAkZmVfZ3JvdXAtPmlkID0gLTE7CiAgICAgICRmZV9ncm91cC0+bmFtZSA9ICRtb2QtPkxhbmcoJ2dyb3VwX2Zyb250ZW5kJyk7CiAgICAgICRmZV9ncm91cC0+YWN0aXZlID0gMTsKCiAgICAgICRncm91cHNfb2Jqc1stMV0gPSAkZmVfZ3JvdXA7CiAgICB9CgogICAgcmV0dXJuICRncm91cHNfb2JqczsKICB9CgoKCgogIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogIC8qIExvYWQgdGhlIHRlbXBsYXRlcyBiYXNlZCBvbiB0eXBlICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX3RlbXBsYXRlc19ieV90eXBlKCR0eXBlPSdqcycpCiAgewogICAgJHRwbFR5cGUgPSBDbXNMYXlvdXRUZW1wbGF0ZVR5cGU6OmxvYWQoJ1RpbnlNQ0U6OicuJHR5cGUpOwogICAgJHF1ZXJ5ID0gbmV3IENtc0xheW91dFRlbXBsYXRlUXVlcnkoJ3Q6Jy4kdHBsVHlwZS0+Z2V0X2lkKCkpOwogICAgJHRlbXBsYXRlcyA9ICRxdWVyeS0+R2V0TWF0Y2hlcygpOwoKICAgIHJldHVybiAkdGVtcGxhdGVzOwogIH0KCgoKCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgLyogQ2xlYXIgdGhlIEpTIGNhY2hlICovCiAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjbGVhcl90aW55bWNlX2NhY2hlKCkKICB7CiAgICAkcGF0aCA9IFBVQkxJQ19DQUNIRV9MT0NBVElPTjsKCiAgICAkZmlsZXMgPSBnbG9iKCRwYXRoIC4gJy90aW55bWNlXyouanMnKTsKICAgIGlmIChpc19hcnJheSgkZmlsZXMpICYmIGNvdW50KCRmaWxlcykpCiAgICAgIGZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkKICAgICAgICB1bmxpbmsoJGZpbGUpOwogIH0KfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/images/cmsmslink.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAVAPeJAP2eNP2eM/yeNPyeNfOVMAkJCfucM/mbNPydM/6eMzMzM/WfP/6eMveeOvafPQMDA/KUMPaYMveZMv2eNfSWMfydNPefPffs3/z59PieOvieOfCuZu/Ts+3UuLx0R/idOPfr3/78+vWWMee3guq+jPeZM/fp2Pfp2/ueNvSXM/6dMe/TtPa7ev+eL++hSvPgy+iydP2aLPrz6+28hfDWuvv17v6dMuqvbPHUs/OVMfju4vTizvLImOqRQfyrUvbl0vGvZvz48/Tu59mQTPTj0PmaMv6eMQ4MCvudNP2zYO+tYvCmUvWgQP6dMPqcNPKgRO7SsvefPPWdOvOnUvbq3fGfRO+nVvSfQVdXV+y/jvqeN/369/LeyPSVMPyrT/DKn/DKoPKoVPz49Oy0dvO8fwwMDOzHnvLUs+6tZP79/Dk5OQkGAvmgPBILBO7Inu/Ss/+eMfigPe+pWu2yceq5gfyfNvmaMfC5fP+dMfq8ePCvaPyfN/qcM/DdyPCmVPueNfudNfekR/PfyvXm1fWXMfOdPcDAwP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIkALAAAAAAVABUAAAjpABMJHEiwoMGDBlmQQcgwUZg/WjY0NDgFT4QiLfwwBJMIh8AZTQbkEJGhwRuDNwABAIBATyImDFA0gIHQDQIAESAYCHAFCZsFhZYA+WLQAoMAdlJ8EBCgxIEJABKosDGH4B0BAKqQGBElwAACBAxQkEBogheCSawMVGKEAgQpABbwOUDAiY+CXAY6CCChi4s6csZghYMGoZkKAxI8yRInUCI6ezQ0dNCjDaLLHo5cRtRwyBpDh0AjCh36AUNEhjarvmzI9MHRnBMJiJFHIGyEBVKv3pz6NGjRpA2Vmbi5gEAFCtRMXM68YUAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/autosize.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCglBdXRvc2l6ZSAzLjAuMTMKCWxpY2Vuc2U6IE1JVAoJaHR0cDovL3d3dy5qYWNrbG1vb3JlLmNvbS9hdXRvc2l6ZQoqLwohZnVuY3Rpb24oZSx0KXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbImV4cG9ydHMiLCJtb2R1bGUiXSx0KTtlbHNlIGlmKCJ1bmRlZmluZWQiIT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUpdChleHBvcnRzLG1vZHVsZSk7ZWxzZXt2YXIgbj17ZXhwb3J0czp7fX07dChuLmV4cG9ydHMsbiksZS5hdXRvc2l6ZT1uLmV4cG9ydHN9fSh0aGlzLGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7ZnVuY3Rpb24gdCgpe3ZhciB0PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCk7Yz10Lm92ZXJmbG93WSwidmVydGljYWwiPT09dC5yZXNpemU/ZS5zdHlsZS5yZXNpemU9Im5vbmUiOiJib3RoIj09PXQucmVzaXplJiYoZS5zdHlsZS5yZXNpemU9Imhvcml6b250YWwiKSxmPSJjb250ZW50LWJveCI9PT10LmJveFNpemluZz8tKHBhcnNlRmxvYXQodC5wYWRkaW5nVG9wKStwYXJzZUZsb2F0KHQucGFkZGluZ0JvdHRvbSkpOnBhcnNlRmxvYXQodC5ib3JkZXJUb3BXaWR0aCkrcGFyc2VGbG9hdCh0LmJvcmRlckJvdHRvbVdpZHRoKSxpc05hTihmKSYmKGY9MCksaSgpfWZ1bmN0aW9uIG4odCl7dmFyIG49ZS5zdHlsZS53aWR0aDtlLnN0eWxlLndpZHRoPSIwcHgiLGUub2Zmc2V0V2lkdGgsZS5zdHlsZS53aWR0aD1uLGM9dCx1JiYoZS5zdHlsZS5vdmVyZmxvd1k9dCksbygpfWZ1bmN0aW9uIG8oKXt2YXIgdD13aW5kb3cucGFnZVlPZmZzZXQsbj1kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCxvPWUuc3R5bGUuaGVpZ2h0O2Uuc3R5bGUuaGVpZ2h0PSJhdXRvIjt2YXIgaT1lLnNjcm9sbEhlaWdodCtmO3JldHVybiAwPT09ZS5zY3JvbGxIZWlnaHQ/dm9pZChlLnN0eWxlLmhlaWdodD1vKTooZS5zdHlsZS5oZWlnaHQ9aSsicHgiLHY9ZS5jbGllbnRXaWR0aCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPXQsdm9pZChkb2N1bWVudC5ib2R5LnNjcm9sbFRvcD1uKSl9ZnVuY3Rpb24gaSgpe3ZhciB0PWUuc3R5bGUuaGVpZ2h0O28oKTt2YXIgaT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpO2lmKGkuaGVpZ2h0IT09ZS5zdHlsZS5oZWlnaHQ/InZpc2libGUiIT09YyYmbigidmlzaWJsZSIpOiJoaWRkZW4iIT09YyYmbigiaGlkZGVuIiksdCE9PWUuc3R5bGUuaGVpZ2h0KXt2YXIgcj1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTtyLmluaXRFdmVudCgiYXV0b3NpemU6cmVzaXplZCIsITAsITEpLGUuZGlzcGF0Y2hFdmVudChyKX19dmFyIGQ9dm9pZCAwPT09YXJndW1lbnRzWzFdP3t9OmFyZ3VtZW50c1sxXSxzPWQuc2V0T3ZlcmZsb3dYLGw9dm9pZCAwPT09cz8hMDpzLGE9ZC5zZXRPdmVyZmxvd1ksdT12b2lkIDA9PT1hPyEwOmE7aWYoZSYmZS5ub2RlTmFtZSYmIlRFWFRBUkVBIj09PWUubm9kZU5hbWUmJiFyLmhhcyhlKSl7dmFyIGY9bnVsbCxjPW51bGwsdj1lLmNsaWVudFdpZHRoLHA9ZnVuY3Rpb24oKXtlLmNsaWVudFdpZHRoIT09diYmaSgpfSxoPWZ1bmN0aW9uKHQpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHApLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYXV0b3NpemU6ZGVzdHJveSIsaCksclsiZGVsZXRlIl0oZSksT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtlLnN0eWxlW25dPXRbbl19KX0uYmluZChlLHtoZWlnaHQ6ZS5zdHlsZS5oZWlnaHQscmVzaXplOmUuc3R5bGUucmVzaXplLG92ZXJmbG93WTplLnN0eWxlLm92ZXJmbG93WSxvdmVyZmxvd1g6ZS5zdHlsZS5vdmVyZmxvd1gsd29yZFdyYXA6ZS5zdHlsZS53b3JkV3JhcH0pO2UuYWRkRXZlbnRMaXN0ZW5lcigiYXV0b3NpemU6ZGVzdHJveSIsaCksIm9ucHJvcGVydHljaGFuZ2UiaW4gZSYmIm9uaW5wdXQiaW4gZSYmZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsaSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscCksZS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsaSksZS5hZGRFdmVudExpc3RlbmVyKCJhdXRvc2l6ZTp1cGRhdGUiLGkpLHIuYWRkKGUpLGwmJihlLnN0eWxlLm92ZXJmbG93WD0iaGlkZGVuIixlLnN0eWxlLndvcmRXcmFwPSJicmVhay13b3JkIiksdCgpfX1mdW5jdGlvbiBvKGUpe2lmKGUmJmUubm9kZU5hbWUmJiJURVhUQVJFQSI9PT1lLm5vZGVOYW1lKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTt0LmluaXRFdmVudCgiYXV0b3NpemU6ZGVzdHJveSIsITAsITEpLGUuZGlzcGF0Y2hFdmVudCh0KX19ZnVuY3Rpb24gaShlKXtpZihlJiZlLm5vZGVOYW1lJiYiVEVYVEFSRUEiPT09ZS5ub2RlTmFtZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7dC5pbml0RXZlbnQoImF1dG9zaXplOnVwZGF0ZSIsITAsITEpLGUuZGlzcGF0Y2hFdmVudCh0KX19dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIFNldD9uZXcgU2V0OmZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJue2hhczpmdW5jdGlvbih0KXtyZXR1cm4gQm9vbGVhbihlLmluZGV4T2YodCk+LTEpfSxhZGQ6ZnVuY3Rpb24odCl7ZS5wdXNoKHQpfSwiZGVsZXRlIjpmdW5jdGlvbih0KXtlLnNwbGljZShlLmluZGV4T2YodCksMSl9fX0oKSxkPW51bGw7InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fCJmdW5jdGlvbiIhPXR5cGVvZiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZT8oZD1mdW5jdGlvbihlKXtyZXR1cm4gZX0sZC5kZXN0cm95PWZ1bmN0aW9uKGUpe3JldHVybiBlfSxkLnVwZGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gZX0pOihkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUmJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZS5sZW5ndGg/ZTpbZV0sZnVuY3Rpb24oZSl7cmV0dXJuIG4oZSx0KX0pLGV9LGQuZGVzdHJveT1mdW5jdGlvbihlKXtyZXR1cm4gZSYmQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChlLmxlbmd0aD9lOltlXSxvKSxlfSxkLnVwZGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gZSYmQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChlLmxlbmd0aD9lOltlXSxpKSxlfSksdC5leHBvcnRzPWR9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/jquery.tinymce.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtmdW5jdGlvbiBiKGEpeyJyZW1vdmUiPT09YSYmdGhpcy5lYWNoKGZ1bmN0aW9uKGEsYil7dmFyIGM9ZShiKTtjJiZjLnJlbW92ZSgpfSksdGhpcy5maW5kKCJzcGFuLm1jZUVkaXRvcixkaXYubWNlRWRpdG9yIikuZWFjaChmdW5jdGlvbihhLGIpe3ZhciBjPXRpbnltY2UuZ2V0KGIuaWQucmVwbGFjZSgvX3BhcmVudCQvLCIiKSk7YyYmYy5yZW1vdmUoKX0pfWZ1bmN0aW9uIGQoYSl7dmFyIGMsZD10aGlzO2lmKG51bGwhPWEpYi5jYWxsKGQpLGQuZWFjaChmdW5jdGlvbihiLGMpe3ZhciBkOyhkPXRpbnltY2UuZ2V0KGMuaWQpKSYmZC5zZXRDb250ZW50KGEpfSk7ZWxzZSBpZihkLmxlbmd0aD4wJiYoYz10aW55bWNlLmdldChkWzBdLmlkKSkpcmV0dXJuIGMuZ2V0Q29udGVudCgpfWZ1bmN0aW9uIGUoYSl7dmFyIGI9bnVsbDtyZXR1cm4gYSYmYS5pZCYmZy50aW55bWNlJiYoYj10aW55bWNlLmdldChhLmlkKSksYn1mdW5jdGlvbiBmKGEpe3JldHVybiEhKGEmJmEubGVuZ3RoJiZnLnRpbnltY2UmJmEuaXMoIjp0aW55bWNlIikpfXZhciBoPXt9O2EuZWFjaChbInRleHQiLCJodG1sIiwidmFsIl0sZnVuY3Rpb24oYixnKXt2YXIgaT1oW2ddPWEuZm5bZ10saj0idGV4dCI9PT1nO2EuZm5bZ109ZnVuY3Rpb24oYil7dmFyIGc9dGhpcztpZighZihnKSlyZXR1cm4gaS5hcHBseShnLGFyZ3VtZW50cyk7aWYoYiE9PWMpcmV0dXJuIGQuY2FsbChnLmZpbHRlcigiOnRpbnltY2UiKSxiKSxpLmFwcGx5KGcubm90KCI6dGlueW1jZSIpLGFyZ3VtZW50cyksZzt2YXIgaD0iIixrPWFyZ3VtZW50cztyZXR1cm4oaj9nOmcuZXEoMCkpLmVhY2goZnVuY3Rpb24oYixjKXt2YXIgZD1lKGMpO2grPWQ/aj9kLmdldENvbnRlbnQoKS5yZXBsYWNlKC88KD86IlteIl0qInwnW14nXSonfFteJyI+XSkqPi9nLCIiKTpkLmdldENvbnRlbnQoe3NhdmU6ITB9KTppLmFwcGx5KGEoYyksayl9KSxofX0pLGEuZWFjaChbImFwcGVuZCIsInByZXBlbmQiXSxmdW5jdGlvbihiLGQpe3ZhciBnPWhbZF09YS5mbltkXSxpPSJwcmVwZW5kIj09PWQ7YS5mbltkXT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3JldHVybiBmKGIpP2EhPT1jPygic3RyaW5nIj09dHlwZW9mIGEmJmIuZmlsdGVyKCI6dGlueW1jZSIpLmVhY2goZnVuY3Rpb24oYixjKXt2YXIgZD1lKGMpO2QmJmQuc2V0Q29udGVudChpP2ErZC5nZXRDb250ZW50KCk6ZC5nZXRDb250ZW50KCkrYSl9KSxnLmFwcGx5KGIubm90KCI6dGlueW1jZSIpLGFyZ3VtZW50cyksYik6dm9pZCAwOmcuYXBwbHkoYixhcmd1bWVudHMpfX0pLGEuZWFjaChbInJlbW92ZSIsInJlcGxhY2VXaXRoIiwicmVwbGFjZUFsbCIsImVtcHR5Il0sZnVuY3Rpb24oYyxkKXt2YXIgZT1oW2RdPWEuZm5bZF07YS5mbltkXT1mdW5jdGlvbigpe3JldHVybiBiLmNhbGwodGhpcyxkKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KSxoLmF0dHI9YS5mbi5hdHRyLGEuZm4uYXR0cj1mdW5jdGlvbihiLGcpe3ZhciBpPXRoaXMsaj1hcmd1bWVudHM7aWYoIWJ8fCJ2YWx1ZSIhPT1ifHwhZihpKSlyZXR1cm4gZyE9PWM/aC5hdHRyLmFwcGx5KGksaik6aC5hdHRyLmFwcGx5KGksaik7aWYoZyE9PWMpcmV0dXJuIGQuY2FsbChpLmZpbHRlcigiOnRpbnltY2UiKSxnKSxoLmF0dHIuYXBwbHkoaS5ub3QoIjp0aW55bWNlIiksaiksaTt2YXIgaz1pWzBdLGw9ZShrKTtyZXR1cm4gbD9sLmdldENvbnRlbnQoe3NhdmU6ITB9KTpoLmF0dHIuYXBwbHkoYShrKSxqKX19dmFyIGMsZCxlLGY9W10sZz13aW5kb3c7YS5mbi50aW55bWNlPWZ1bmN0aW9uKGMpe2Z1bmN0aW9uIGgoKXt2YXIgZD1bXSxmPTA7ZXx8KGIoKSxlPSEwKSxsLmVhY2goZnVuY3Rpb24oYSxiKXt2YXIgZSxnPWIuaWQsaD1jLm9uaW5pdDtnfHwoYi5pZD1nPXRpbnltY2UuRE9NLnVuaXF1ZUlkKCkpLHRpbnltY2UuZ2V0KGcpfHwoZT1uZXcgdGlueW1jZS5FZGl0b3IoZyxjLHRpbnltY2UuRWRpdG9yTWFuYWdlciksZC5wdXNoKGUpLGUub24oImluaXQiLGZ1bmN0aW9uKCl7dmFyIGEsYj1oO2wuY3NzKCJ2aXNpYmlsaXR5IiwiIiksaCYmKytmPT1kLmxlbmd0aCYmKCJzdHJpbmciPT10eXBlb2YgYiYmKGE9LTE9PT1iLmluZGV4T2YoIi4iKT9udWxsOnRpbnltY2UucmVzb2x2ZShiLnJlcGxhY2UoL1wuXHcrJC8sIiIpKSxiPXRpbnltY2UucmVzb2x2ZShiKSksYi5hcHBseShhfHx0aW55bWNlLGQpKX0pKX0pLGEuZWFjaChkLGZ1bmN0aW9uKGEsYil7Yi5yZW5kZXIoKX0pfXZhciBpLGosayxsPXRoaXMsbT0iIjtpZighbC5sZW5ndGgpcmV0dXJuIGw7aWYoIWMpcmV0dXJuIHdpbmRvdy50aW55bWNlP3RpbnltY2UuZ2V0KGxbMF0uaWQpOm51bGw7aWYobC5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxnLnRpbnltY2V8fGR8fCEoaT1jLnNjcmlwdF91cmwpKTE9PT1kP2YucHVzaChoKTpoKCk7ZWxzZXtkPTEsaj1pLnN1YnN0cmluZygwLGkubGFzdEluZGV4T2YoIi8iKSksLTEhPWkuaW5kZXhPZigiLm1pbiIpJiYobT0iLm1pbiIpLGcudGlueW1jZT1nLnRpbnlNQ0VQcmVJbml0fHx7YmFzZTpqLHN1ZmZpeDptfSwtMSE9aS5pbmRleE9mKCJnemlwIikmJihrPWMubGFuZ3VhZ2V8fCJlbiIsaT1pKygvXD8vLnRlc3QoaSk/IiYiOiI/IikrImpzPXRydWUmY29yZT10cnVlJnN1ZmZpeD0iK2VzY2FwZShtKSsiJnRoZW1lcz0iK2VzY2FwZShjLnRoZW1lfHwibW9kZXJuIikrIiZwbHVnaW5zPSIrZXNjYXBlKGMucGx1Z2luc3x8IiIpKyImbGFuZ3VhZ2VzPSIrKGt8fCIiKSxnLnRpbnlNQ0VfR1p8fChnLnRpbnlNQ0VfR1o9e3N0YXJ0OmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihhKXt0aW55bWNlLlNjcmlwdExvYWRlci5tYXJrRG9uZSh0aW55bWNlLmJhc2VVUkkudG9BYnNvbHV0ZShhKSl9YigibGFuZ3MvIitrKyIuanMiKSxiKCJ0aGVtZXMvIitjLnRoZW1lKyIvdGhlbWUiK20rIi5qcyIpLGIoInRoZW1lcy8iK2MudGhlbWUrIi9sYW5ncy8iK2srIi5qcyIpLGEuZWFjaChjLnBsdWdpbnMuc3BsaXQoIiwiKSxmdW5jdGlvbihhLGMpe2MmJihiKCJwbHVnaW5zLyIrYysiL3BsdWdpbiIrbSsiLmpzIiksYigicGx1Z2lucy8iK2MrIi9sYW5ncy8iK2srIi5qcyIpKX0pfSxlbmQ6ZnVuY3Rpb24oKXt9fSkpO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO24udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLm9ubG9hZD1uLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihiKXtiPWJ8fHdpbmRvdy5ldmVudCwyPT09ZHx8ImxvYWQiIT1iLnR5cGUmJiEvY29tcGxldGV8bG9hZGVkLy50ZXN0KG4ucmVhZHlTdGF0ZSl8fCh0aW55bWNlLmRvbS5FdmVudC5kb21Mb2FkZWQ9MSxkPTIsYy5zY3JpcHRfbG9hZGVkJiZjLnNjcmlwdF9sb2FkZWQoKSxoKCksYS5lYWNoKGYsZnVuY3Rpb24oYSxiKXtiKCl9KSl9LG4uc3JjPWksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuKX1yZXR1cm4gbH0sYS5leHRlbmQoYS5leHByWyI6Il0se3RpbnltY2U6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuISEoYS5pZCYmInRpbnltY2UiaW4gd2luZG93JiYoYj10aW55bWNlLmdldChhLmlkKSxiJiZiLmVkaXRvck1hbmFnZXI9PT10aW55bWNlKSl9fSl9KGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ar.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdhcicsewoiQ3V0IjogIlx1MDY0Mlx1MDYzNSIsCiJIZWFkaW5nIDUiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDYzMVx1MDYyNlx1MDY0YVx1MDYzM1x1MDY0YSA1IiwKIkhlYWRlciAyIjogIlx1MDYyN1x1MDY0NFx1MDYzOVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY0YVx1MDY0NiAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDY0NVx1MDYyYVx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0MyBcdTA2NDRcdTA2MjcgXHUwNjRhXHUwNjJmXHUwNjM5XHUwNjQ1IFx1MDYyN1x1MDY0NFx1MDY0OFx1MDYzNVx1MDY0OFx1MDY0NCBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjhcdTA2MjdcdTA2MzRcdTA2MzEgXHUwNjI1XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDYyZFx1MDYyN1x1MDY0MVx1MDYzOFx1MDYyOS4gXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjJjXHUwNjI3XHUwNjIxIFx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyZVx1MDYyZlx1MDYyN1x1MDY0NSBcdTA2MjdcdTA2MmVcdTA2MmFcdTA2MzVcdTA2MjdcdTA2MzFcdTA2MjdcdTA2MmEgXHUwNjQ0XHUwNjQ4XHUwNjJkXHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDY0MVx1MDYyN1x1MDYyYVx1MDY0YVx1MDYyZCBDdHJsK1hcL0NcL1YgXHUwNjI4XHUwNjJmXHUwNjQ0XHUwNjI3IFx1MDY0NVx1MDY0NiBcdTA2MzBcdTA2NDRcdTA2NDMuIiwKIkhlYWRpbmcgNCI6ICJcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjI2XHUwNjRhXHUwNjMzXHUwNjRhIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDYzMVx1MDYyNlx1MDY0YVx1MDYzM1x1MDY0YSAyIiwKIlBhc3RlIjogIlx1MDY0NFx1MDYzNVx1MDY0MiIsCiJDbG9zZSI6ICJcdTA2MjVcdTA2M2FcdTA2NDRcdTA2MjdcdTA2NDIiLAoiRm9udCBGYW1pbHkiOiAiXHUwNjQ1XHUwNjJjXHUwNjQ1XHUwNjQ4XHUwNjM5XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyZVx1MDYzNyIsCiJQcmUiOiAiXHUwNjMzXHUwNjI3XHUwNjI4XHUwNjQyIiwKIkFsaWduIHJpZ2h0IjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDZcdTA2MzUgXHUwNjQ0XHUwNjQ0XHUwNjRhXHUwNjQ1XHUwNjRhXHUwNjQ2IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA2NDVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2MmYgXHUwNjJjXHUwNjJmXHUwNjRhXHUwNjJmIiwKIkJsb2NrcXVvdGUiOiAiXHUwNjM5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0Mlx1MDYyYVx1MDYyOFx1MDYyN1x1MDYzMyIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDYyYVx1MDYzMVx1MDY0Mlx1MDY0YVx1MDY0NSIsCiJIZWFkaW5nIDEiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDYzMVx1MDYyNlx1MDY0YVx1MDYzM1x1MDY0YSAxIiwKIkhlYWRpbmdzIjogIlx1MDYyN1x1MDY0NFx1MDYzOVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY0YVx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2MzFcdTA2MjZcdTA2NGFcdTA2MzNcdTA2NGFcdTA2MjkiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDYzMlx1MDY0YVx1MDYyN1x1MDYyZlx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MjdcdTA2NDFcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjI3XHUwNjJmXHUwNjI2XHUwNjI5IiwKIkZvcm1hdHMiOiAiXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjQ2XHUwNjMzXHUwNjRhXHUwNjQyXHUwNjI3XHUwNjJhIiwKIkhlYWRlcnMiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjRhXHUwNjQ2IiwKIlNlbGVjdCBhbGwiOiAiXHUwNjJhXHUwNjJkXHUwNjJmXHUwNjRhXHUwNjJmIFx1MDYyN1x1MDY0NFx1MDY0M1x1MDY0NCIsCiJIZWFkZXIgMyI6ICJcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDZcdTA2MjdcdTA2NDhcdTA2NGFcdTA2NDYgMyIsCiJCbG9ja3MiOiAiXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjQyXHUwNjMzXHUwNjI3XHUwNjQ1IiwKIlVuZG8iOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjJjXHUwNjM5IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNjRhXHUwNjJhXHUwNjQ4XHUwNjMzXHUwNjM3IFx1MDYyZVx1MDYzNyIsCiJCdWxsZXQgbGlzdCI6ICJcdTA2MmFcdTA2MzlcdTA2MmZcdTA2MjdcdTA2MmYgXHUwNjQ2XHUwNjQyXHUwNjM3XHUwNjRhIiwKIkhlYWRlciAxIjogIlx1MDYyN1x1MDY0NFx1MDYzOVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY0YVx1MDY0NiAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDY0NVx1MDYzMVx1MDYyYVx1MDY0MVx1MDYzOSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDY0NVx1MDYzM1x1MDYyZCBcdTA2MjdcdTA2NDRcdTA2MmFcdTA2NDZcdTA2MzNcdTA2NGFcdTA2NDIiLAoiRm9udCBTaXplcyI6ICJcdTA2MmRcdTA2MmNcdTA2NDUgXHUwNjI3XHUwNjQ0XHUwNjJlXHUwNjM3IiwKIlN1YnNjcmlwdCI6ICJcdTA2NDVcdTA2NDZcdTA2MmVcdTA2NDFcdTA2MzYiLAoiSGVhZGVyIDYiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjRhXHUwNjQ2IDYiLAoiUmVkbyI6ICJcdTA2MjVcdTA2MzlcdTA2MjdcdTA2MmZcdTA2MjkiLAoiUGFyYWdyYXBoIjogIlx1MDY0MVx1MDY0Mlx1MDYzMVx1MDYyOSIsCiJPayI6ICJcdTA2NDVcdTA2NDhcdTA2MjdcdTA2NDFcdTA2NDIiLAoiQm9sZCI6ICJcdTA2M2FcdTA2MjdcdTA2NDVcdTA2NDIiLAoiQ29kZSI6ICJcdTA2MzFcdTA2NDVcdTA2MzIiLAoiSXRhbGljIjogIlx1MDY0NVx1MDYyN1x1MDYyNlx1MDY0NCIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNjJhXHUwNjQ4XHUwNjMzXHUwNjRhXHUwNjM3IiwKIkhlYWRlciA1IjogIlx1MDYyN1x1MDY0NFx1MDYzOVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY0YVx1MDY0NiA1IiwKIkhlYWRpbmcgNiI6ICJcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjI2XHUwNjRhXHUwNjMzXHUwNjRhIDYiLAoiSGVhZGluZyAzIjogIlx1MDYyN1x1MDY0NFx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiBcdTA2MjdcdTA2NDRcdTA2MzFcdTA2MjZcdTA2NGFcdTA2MzNcdTA2NGEgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNjI1XHUwNjQ2XHUwNjQyXHUwNjI3XHUwNjM1IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyN1x1MDY0MVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MjhcdTA2MjdcdTA2MmZcdTA2MjZcdTA2MjkiLAoiSGVhZGVyIDQiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjRhXHUwNjQ2IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDY0YVx1MDYyYVx1MDY0NSBcdTA2MjdcdTA2NDRcdTA2NDRcdTA2MzVcdTA2NDIgXHUwNjJkXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjI3XHUwNjRiIFx1MDY0M1x1MDY0Nlx1MDYzNSBcdTA2MzlcdTA2MjdcdTA2MmZcdTA2NGEuIFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyZFx1MDYyYVx1MDY0OFx1MDY0OSBcdTA2MzNcdTA2NGFcdTA2MjhcdTA2NDJcdTA2NDkgXHUwNjQzXHUwNjQ2XHUwNjM1IFx1MDYzOVx1MDYyN1x1MDYyZlx1MDY0YSBcdTA2MmRcdTA2MmFcdTA2NDkgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNjQ1IFx1MDYyOFx1MDYyYVx1MDYzOVx1MDYzN1x1MDY0YVx1MDY0NCBcdTA2NDdcdTA2MzBcdTA2MjcgXHUwNjI3XHUwNjQ0XHUwNjJlXHUwNjRhXHUwNjI3XHUwNjMxLiIsCiJVbmRlcmxpbmUiOiAiXHUwNjJhXHUwNjMzXHUwNjM3XHUwNjRhXHUwNjMxIiwKIkNhbmNlbCI6ICJcdTA2MjVcdTA2NDRcdTA2M2FcdTA2MjdcdTA2MjEiLAoiSnVzdGlmeSI6ICJcdTA2MzZcdTA2MjhcdTA2MzciLAoiSW5saW5lIjogIlx1MDYyZVx1MDY0NFx1MDYyN1x1MDY0NCIsCiJDb3B5IjogIlx1MDY0Nlx1MDYzM1x1MDYyZSIsCiJBbGlnbiBsZWZ0IjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDZcdTA2MzUgXHUwNjQ0XHUwNjQ0XHUwNjRhXHUwNjMzXHUwNjI3XHUwNjMxIiwKIlZpc3VhbCBhaWRzIjogIlx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzOVx1MDY0YVx1MDY0Nlx1MDYyN1x1MDYyYSBcdTA2MjdcdTA2NDRcdTA2MjhcdTA2MzVcdTA2MzFcdTA2NGFcdTA2MjkiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNjJhXHUwNjMxXHUwNjQyXHUwNjRhXHUwNjQ1IFx1MDY0YVx1MDY0OFx1MDY0Nlx1MDYyN1x1MDY0Nlx1MDY0YSBcdTA2MzVcdTA2M2FcdTA2NGFcdTA2MzEiLAoiU3F1YXJlIjogIlx1MDY0NVx1MDYzMVx1MDYyOFx1MDYzOSIsCiJEZWZhdWx0IjogIlx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0MVx1MDYyYVx1MDYzMVx1MDYyN1x1MDYzNlx1MDY0YSIsCiJMb3dlciBBbHBoYSI6ICJcdTA2MmFcdTA2MzFcdTA2NDJcdTA2NGFcdTA2NDUgXHUwNjIzXHUwNjJlXHUwNjMxXHUwNjQxIFx1MDYzNVx1MDYzYVx1MDY0YVx1MDYzMVx1MDYyOSIsCiJDaXJjbGUiOiAiXHUwNjJmXHUwNjI3XHUwNjI2XHUwNjMxXHUwNjI5IiwKIkRpc2MiOiAiXHUwNjQyXHUwNjMxXHUwNjM1IiwKIlVwcGVyIEFscGhhIjogIlx1MDYyYVx1MDYzMVx1MDY0Mlx1MDY0YVx1MDY0NSBcdTA2MjNcdTA2MmRcdTA2MzFcdTA2NDEgXHUwNjQzXHUwNjI4XHUwNjRhXHUwNjMxXHUwNjI5IiwKIlVwcGVyIFJvbWFuIjogIlx1MDYyYVx1MDYzMVx1MDY0Mlx1MDY0YVx1MDY0NSBcdTA2MzFcdTA2NDhcdTA2NDVcdTA2MjdcdTA2NDZcdTA2NGEgXHUwNjQzXHUwNjI4XHUwNjRhXHUwNjMxIiwKIkxvd2VyIFJvbWFuIjogIlx1MDYyYVx1MDYzMVx1MDY0Mlx1MDY0YVx1MDY0NSBcdTA2MzFcdTA2NDhcdTA2NDVcdTA2MjdcdTA2NDZcdTA2NGEgXHUwNjM1XHUwNjNhXHUwNjRhXHUwNjMxIiwKIk5hbWUiOiAiXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjMzXHUwNjQ1IiwKIkFuY2hvciI6ICJcdTA2NDVcdTA2MzFcdTA2MzNcdTA2MjdcdTA2MjkiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTA2NDRcdTA2MmZcdTA2NGFcdTA2NDMgXHUwNjJhXHUwNjNhXHUwNjRhXHUwNjRhXHUwNjMxXHUwNjI3XHUwNjJhIFx1MDY0NFx1MDY0NSBcdTA2NGFcdTA2MmFcdTA2NDUgXHUwNjJkXHUwNjQxXHUwNjM4XHUwNjQ3XHUwNjI3IFx1MDY0N1x1MDY0NCBcdTA2MjNcdTA2NDZcdTA2MmEgXHUwNjQ1XHUwNjJhXHUwNjIzXHUwNjQzXHUwNjJmIFx1MDYyM1x1MDY0Nlx1MDY0MyBcdTA2MmFcdTA2MzFcdTA2M2FcdTA2MjggXHUwNjQxXHUwNjRhIFx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0Nlx1MDYyYVx1MDY0Mlx1MDYyN1x1MDY0NCBcdTA2MjhcdTA2MzlcdTA2NGFcdTA2MmZcdTA2MjdcdTA2MWYiLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDYyN1x1MDYzM1x1MDYyYVx1MDYzOVx1MDYyN1x1MDYyZlx1MDYyOSBcdTA2MjNcdTA2MmVcdTA2MzEgXHUwNjQ1XHUwNjMzXHUwNjQ4XHUwNjJmXHUwNjI5IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDYzMVx1MDY0NVx1MDYzMiIsCiJTb3VyY2UgY29kZSI6ICJcdTA2MzRcdTA2NDFcdTA2MzFcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjM1XHUwNjJmXHUwNjMxIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MDYyN1x1MDY0NFx1MDY0NFx1MDY0OFx1MDY0NiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDY0NVx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2NGFcdTA2NDVcdTA2NGFcdTA2NDYgXHUwNjQ0XHUwNjQ0XHUwNjRhXHUwNjMzXHUwNjI3XHUwNjMxIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjQ1XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0YVx1MDYzM1x1MDYyN1x1MDYzMSBcdTA2NDRcdTA2NDRcdTA2NGFcdTA2NDVcdTA2NGFcdTA2NDYiLAoiRW1vdGljb25zIjogIlx1MDYyN1x1MDY0NFx1MDYzMVx1MDY0NVx1MDY0OFx1MDYzMiIsCiJSb2JvdHMiOiAiXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjQ4XHUwNjI4XHUwNjQ4XHUwNjJhXHUwNjI3XHUwNjJhIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNjJlXHUwNjM1XHUwNjI3XHUwNjI2XHUwNjM1IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDYyZiIsCiJUaXRsZSI6ICJcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYiLAoiS2V5d29yZHMiOiAiXHUwNjQzXHUwNjQ0XHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYyN1x1MDY0NFx1MDYyOFx1MDYyZFx1MDYyYiIsCiJFbmNvZGluZyI6ICJcdTA2MjdcdTA2NDRcdTA2MmFcdTA2MzFcdTA2NDVcdTA2NGFcdTA2MzIiLAoiRGVzY3JpcHRpb24iOiAiXHUwNjI3XHUwNjQ0XHUwNjQ4XHUwNjM1XHUwNjQxIiwKIkF1dGhvciI6ICJcdTA2MjdcdTA2NDRcdTA2NDNcdTA2MjdcdTA2MmFcdTA2MjgiLAoiRnVsbHNjcmVlbiI6ICJcdTA2NDVcdTA2NDRcdTA2MjEgXHUwNjI3XHUwNjQ0XHUwNjM0XHUwNjI3XHUwNjM0XHUwNjI5IiwKIkhvcml6b250YWwgbGluZSI6ICJcdTA2MmVcdTA2MzcgXHUwNjIzXHUwNjQxXHUwNjQyXHUwNjRhIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjQxXHUwNjI5IFx1MDYyM1x1MDY0MVx1MDY0Mlx1MDY0YVx1MDYyOSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjXC9cdTA2MmFcdTA2MmRcdTA2MzFcdTA2NGFcdTA2MzEgXHUwNjM1XHUwNjQ4XHUwNjMxXHUwNjI5IiwKIkdlbmVyYWwiOiAiXHUwNjM5XHUwNjI3XHUwNjQ1IiwKIkFkdmFuY2VkIjogIlx1MDYyZVx1MDYzNVx1MDYyN1x1MDYyNlx1MDYzNSBcdTA2NDVcdTA2MmFcdTA2NDJcdTA2MmZcdTA2NDVcdTA2NDciLAoiU291cmNlIjogIlx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzNVx1MDYyZlx1MDYzMSIsCiJCb3JkZXIiOiAiXHUwNjJkXHUwNjJmXHUwNjQ4XHUwNjJmIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA2MjdcdTA2NDRcdTA2MmFcdTA2NDZcdTA2MjdcdTA2MzNcdTA2MjgiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjQxXHUwNjI5IFx1MDYzOVx1MDY0NVx1MDY0OFx1MDYyZlx1MDY0YVx1MDYyOSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA2NDhcdTA2MzVcdTA2NDEgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQ4XHUwNjMxXHUwNjI5IiwKIlN0eWxlIjogIlx1MDYyN1x1MDY0NFx1MDY0Nlx1MDY0NVx1MDYzNyBcLyBcdTA2MjdcdTA2NDRcdTA2MzRcdTA2NDNcdTA2NDQiLAoiRGltZW5zaW9ucyI6ICJcdTA2MjdcdTA2NDRcdTA2MjNcdTA2MjhcdTA2MzlcdTA2MjdcdTA2MmYiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYyBcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MjkiLAoiWm9vbSBpbiI6ICJcdTA2MmFcdTA2NDNcdTA2MjhcdTA2NGFcdTA2MzEiLAoiQ29udHJhc3QiOiAiXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjI4XHUwNjI3XHUwNjRhXHUwNjQ2IiwKIkJhY2siOiAiXHUwNjQ0XHUwNjQ0XHUwNjJlXHUwNjQ0XHUwNjQxIiwKIkdhbW1hIjogIlx1MDYzYVx1MDYyN1x1MDY0NVx1MDYyNyIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTA2MjdcdTA2NDZcdTA2MzlcdTA2NDNcdTA2MjdcdTA2MzMgXHUwNjIzXHUwNjQxXHUwNjQyXHUwNjRhIiwKIlJlc2l6ZSI6ICJcdTA2MmFcdTA2M2FcdTA2NGFcdTA2NGFcdTA2MzEgXHUwNjJkXHUwNjJjXHUwNjQ1IiwKIlNoYXJwZW4iOiAiXHUwNjJkXHUwNjI3XHUwNjJmXHUwNjI5IiwKIlpvb20gb3V0IjogIlx1MDYyYVx1MDYzNVx1MDYzYVx1MDY0YVx1MDYzMSIsCiJJbWFnZSBvcHRpb25zIjogIlx1MDYyN1x1MDYzOVx1MDYyZlx1MDYyN1x1MDYyZlx1MDYyN1x1MDYyYSBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MjkiLAoiQXBwbHkiOiAiXHUwNjJhXHUwNjM3XHUwNjI4XHUwNjRhXHUwNjQyIiwKIkJyaWdodG5lc3MiOiAiXHUwNjI3XHUwNjQ0XHUwNjI1XHUwNjM2XHUwNjI3XHUwNjIxXHUwNjI5IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHUwNjJhXHUwNjJmXHUwNjQ4XHUwNjRhXHUwNjMxIFx1MDY0MVx1MDY0YSBcdTA2MjdcdTA2MmFcdTA2MmNcdTA2MjdcdTA2NDcgXHUwNjM5XHUwNjQyXHUwNjI3XHUwNjMxXHUwNjI4IFx1MDYyN1x1MDY0NFx1MDYzM1x1MDYyN1x1MDYzOVx1MDYyOSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTA2MmFcdTA2MmZcdTA2NDhcdTA2NGFcdTA2MzEgXHUwNjM5XHUwNjQzXHUwNjMzIFx1MDYyN1x1MDYyYVx1MDYyY1x1MDYyN1x1MDY0NyBcdTA2MzlcdTA2NDJcdTA2MjdcdTA2MzFcdTA2MjggXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjI5IiwKIkVkaXQgaW1hZ2UiOiAiXHUwNjJhXHUwNjJkXHUwNjMxXHUwNjRhXHUwNjMxIFx1MDYyN1x1MDY0NFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJDb2xvciBsZXZlbHMiOiAiXHUwNjQ1XHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDY0NFx1MDY0OFx1MDY0NiIsCiJDcm9wIjogIlx1MDY0Mlx1MDYzNSIsCiJPcmllbnRhdGlvbiI6ICJcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MDYyN1x1MDY0Nlx1MDYzOVx1MDY0M1x1MDYyN1x1MDYzMyBcdTA2MzlcdTA2MjdcdTA2NDVcdTA2NDhcdTA2MmZcdTA2NGEiLAoiSW52ZXJ0IjogIlx1MDYzOVx1MDY0M1x1MDYzMyIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA2MjVcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmMgXHUwNjJhXHUwNjI3XHUwNjMxXHUwNjRhXHUwNjJlXC9cdTA2NDhcdTA2NDJcdTA2MmEiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDYyN1x1MDY0NFx1MDYzMVx1MDYyN1x1MDYyOFx1MDYzNyIsCiJVcmwiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA2MjdcdTA2NDRcdTA2NDZcdTA2MzUgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjM3XHUwNjQ0XHUwNjQ4XHUwNjI4IFx1MDYzOVx1MDYzMVx1MDYzNlx1MDY0NyIsCiJBbmNob3JzIjogIlx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzMVx1MDYzM1x1MDYyN1x1MDYyOSIsCiJJbnNlcnQgbGluayI6ICJcdTA2MjVcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmMgXHUwNjMxXHUwNjI3XHUwNjI4XHUwNjM3IiwKIk5ldyB3aW5kb3ciOiAiXHUwNjQ2XHUwNjI3XHUwNjQxXHUwNjMwXHUwNjI5IFx1MDYyY1x1MDYyZlx1MDY0YVx1MDYyZlx1MDYyOSIsCiJOb25lIjogIlx1MDYyOFx1MDY0NFx1MDYyNyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNjQ2XHUwNjJhXHUwNjQ4XHUwNjQyXHUwNjM5IFx1MDYyN1x1MDY0Nlx1MDY0MyBcdTA2NDJcdTA2NDVcdTA2MmEgXHUwNjI4XHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYzMVx1MDYyN1x1MDYyOFx1MDYzNyBcdTA2NDRcdTA2NDVcdTA2NDhcdTA2NDJcdTA2MzkgXHUwNjJlXHUwNjI3XHUwNjMxXHUwNjJjXHUwNjRhLiBcdTA2NDdcdTA2NDQgXHUwNjJhXHUwNjMxXHUwNjRhXHUwNjJmIFx1MDYyN1x1MDY0NiBcdTA2NDZcdTA2MzZcdTA2NGFcdTA2NDEgXHUwNjI3XHUwNjQ0XHUwNjQ0XHUwNjI3XHUwNjJkXHUwNjQyXHUwNjI5IGh0dHA6XC9cLyBcdTA2NDRcdTA2NDRcdTA2MzFcdTA2MjdcdTA2MjhcdTA2MzcgXHUwNjI3XHUwNjQ0XHUwNjMwXHUwNjRhIFx1MDYyN1x1MDYyZlx1MDYyZVx1MDY0NFx1MDYyYVx1MDY0N1x1MDYxZiIsCiJUYXJnZXQiOiAiXHUwNjI3XHUwNjQ0XHUwNjI1XHUwNjM3XHUwNjI3XHUwNjMxIFx1MDYyN1x1MDY0NFx1MDY0N1x1MDYyZlx1MDY0MSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDYyN1x1MDY0NFx1MDYzMVx1MDYyN1x1MDYyOFx1MDYzNyBcdTA2MjdcdTA2NDRcdTA2MzBcdTA2NGEgXHUwNjQyXHUwNjQ1XHUwNjJhIFx1MDYyOFx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyY1x1MDY0NyBcdTA2NGFcdTA2MzRcdTA2MjdcdTA2MjhcdTA2NDcgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjMxXHUwNjRhXHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0NFx1MDY0M1x1MDYyYVx1MDYzMVx1MDY0OFx1MDY0Nlx1MDY0YS4gXHUwNjQ3XHUwNjQ0IFx1MDYyYVx1MDYzMVx1MDY0YVx1MDYyZiBcdTA2MjdcdTA2NDYgXHUwNjJhXHUwNjM2XHUwNjRhXHUwNjQxIFx1MDYyN1x1MDY0NFx1MDY0NFx1MDYyN1x1MDYyZFx1MDY0Mlx1MDYyOSBtYWlsdG86IFx1MDY0NVx1MDYzOVx1MDYyYVx1MDYyOFx1MDYzMVx1MDYyN1x1MDY0YiBcdTA2NDdcdTA2MzBcdTA2MjcgXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjI3XHUwNjI4XHUwNjM3IFx1MDYyOFx1MDYzMVx1MDY0YVx1MDYyZlx1MDYyNyBcdTA2MjdcdTA2NDRcdTA2NDNcdTA2MmFcdTA2MzFcdTA2NDhcdTA2NDZcdTA2NGFcdTA2MjdcdTA2NGJcdTA2MWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjXC9cdTA2MmFcdTA2MmRcdTA2MzFcdTA2NGFcdTA2MzEgXHUwNjMxXHUwNjI3XHUwNjI4XHUwNjM3IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA2MjVcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmNcL1x1MDYyYVx1MDYyZFx1MDYzMVx1MDY0YVx1MDYzMSBcdTA2NDFcdTA2NGFcdTA2MmZcdTA2NGFcdTA2NDgiLAoiUG9zdGVyIjogIlx1MDY0NVx1MDY0NFx1MDYzNVx1MDY0MiIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNjQ1XHUwNjM1XHUwNjJmXHUwNjMxIFx1MDYyOFx1MDYyZlx1MDY0YVx1MDY0NCIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDY0NFx1MDYzNVx1MDY0MiBcdTA2NDNcdTA2NDhcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjM2XHUwNjQ1XHUwNjRhXHUwNjQ2IFx1MDY0N1x1MDY0Nlx1MDYyNzoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYyBcdTA2NDFcdTA2NGFcdTA2MmZcdTA2NGFcdTA2NDgiLAoiRW1iZWQiOiAiXHUwNjJhXHUwNjM2XHUwNjQ1XHUwNjRhXHUwNjQ2IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDY0NVx1MDYzM1x1MDYyN1x1MDY0MVx1MDYyOSBcdTA2M2FcdTA2NGFcdTA2MzEgXHUwNjQ1XHUwNjQ2XHUwNjQyXHUwNjMzXHUwNjQ1XHUwNjI5IiwKIlBhZ2UgYnJlYWsiOiAiXHUwNjQxXHUwNjI3XHUwNjM1XHUwNjQ0IFx1MDY0NFx1MDY0NFx1MDYzNVx1MDY0MVx1MDYyZFx1MDYyOSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDY0NFx1MDYzNVx1MDY0MiBcdTA2NDNcdTA2NDZcdTA2MzUiLAoiUHJldmlldyI6ICJcdTA2NDVcdTA2MzlcdTA2MjdcdTA2NGFcdTA2NDZcdTA2MjkiLAoiUHJpbnQiOiAiXHUwNjM3XHUwNjI4XHUwNjI3XHUwNjM5XHUwNjI5IiwKIlNhdmUiOiAiXHUwNjJkXHUwNjQxXHUwNjM4IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA2MmFcdTA2MzlcdTA2MzBcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjJiXHUwNjQ4XHUwNjMxIFx1MDYzOVx1MDY0NFx1MDY0OSBcdTA2MjdcdTA2NDRcdTA2NDNcdTA2NDRcdTA2NDVcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjJkXHUwNjJmXHUwNjJmXHUwNjI5IiwKIlJlcGxhY2UiOiAiXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjI4XHUwNjJmXHUwNjI3XHUwNjQ0IiwKIk5leHQiOiAiXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjI3XHUwNjQ0XHUwNjRhIiwKIldob2xlIHdvcmRzIjogIlx1MDY0NVx1MDYzN1x1MDYyN1x1MDYyOFx1MDY0Mlx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDNcdTA2NDRcdTA2NDVcdTA2MjdcdTA2MmEgXHUwNjI4XHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjI3XHUwNjQ1XHUwNjQ0IiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNjI4XHUwNjJkXHUwNjJiIFx1MDY0OFx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyOFx1MDYyZlx1MDYyN1x1MDY0NCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjI4XHUwNjJmXHUwNjI3XHUwNjQ0IFx1MDYyOFx1MDY0MCIsCiJGaW5kIjogIlx1MDYyOFx1MDYyZFx1MDYyYiIsCiJSZXBsYWNlIGFsbCI6ICJcdTA2MjdcdTA2MzNcdTA2MmFcdTA2MjhcdTA2MmZcdTA2MjdcdTA2NDQgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ0IiwKIk1hdGNoIGNhc2UiOiAiXHUwNjQ1XHUwNjM3XHUwNjI3XHUwNjI4XHUwNjQyXHUwNjI5IFx1MDYyZFx1MDYyN1x1MDY0NFx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MjNcdTA2MmRcdTA2MzFcdTA2NDEiLAoiUHJldiI6ICJcdTA2MjdcdTA2NDRcdTA2MzNcdTA2MjdcdTA2MjhcdTA2NDIiLAoiU3BlbGxjaGVjayI6ICJcdTA2MmFcdTA2MmZcdTA2NDJcdTA2NGFcdTA2NDIgXHUwNjI1XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjI2XHUwNjRhIiwKIkZpbmlzaCI6ICJcdTA2MjdcdTA2NDZcdTA2MmFcdTA2NDdcdTA2NGEiLAoiSWdub3JlIGFsbCI6ICJcdTA2MmFcdTA2MmNcdTA2MjdcdTA2NDdcdTA2NDQgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ0IiwKIklnbm9yZSI6ICJcdTA2MmFcdTA2MmNcdTA2MjdcdTA2NDdcdTA2NDQiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNjI3XHUwNjM2XHUwNjQxIFx1MDYyN1x1MDY0NFx1MDY0YSBcdTA2MjdcdTA2NDRcdTA2NDJcdTA2MjdcdTA2NDVcdTA2NDhcdTA2MzMiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYzNVx1MDY0MSBcdTA2NDRcdTA2NDRcdTA2MjNcdTA2MzlcdTA2NDRcdTA2NDkiLAoiUm93cyI6ICJcdTA2MzlcdTA2MmZcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQxXHUwNjQ4XHUwNjQxIiwKIkhlaWdodCI6ICJcdTA2MjdcdTA2MzFcdTA2MmFcdTA2NDFcdTA2MjdcdTA2MzkiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDY0NFx1MDYzNVx1MDY0MiBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDEgXHUwNjQ0XHUwNjQ0XHUwNjIzXHUwNjMzXHUwNjQxXHUwNjQ0IiwKIkFsaWdubWVudCI6ICJcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDY0NFx1MDY0OFx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2MjVcdTA2MzdcdTA2MjdcdTA2MzEiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDY0NVx1MDYyY1x1MDY0NVx1MDY0OFx1MDYzOVx1MDYyOSBcdTA2MzlcdTA2NDVcdTA2NDhcdTA2MmYiLAoiUm93IjogIlx1MDYzNVx1MDY0MSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA2MjVcdTA2MmZcdTA2MzFcdTA2MjdcdTA2MmMgXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmIFx1MDY0NFx1MDY0NFx1MDY0YVx1MDYzM1x1MDYyN1x1MDYzMSIsCiJTcGxpdCBjZWxsIjogIlx1MDYyYVx1MDY0Mlx1MDYzM1x1MDY0YVx1MDY0NSBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDRcdTA2MjdcdTA2NGFcdTA2MjciLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDYyYVx1MDYyOFx1MDYyN1x1MDYzOVx1MDYyZiBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDRcdTA2NGFcdTA2MjkiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyN1x1MDY0MVx1MDYyOSBcdTA2MjhcdTA2NGFcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNjJlXHUwNjQ0XHUwNjI3XHUwNjRhXHUwNjI3IiwKIlJvdyB0eXBlIjogIlx1MDY0Nlx1MDY0OFx1MDYzOSBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDEiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYyBcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiQm9keSI6ICJcdTA2NDdcdTA2NGFcdTA2NDNcdTA2NDQiLAoiQ2FwdGlvbiI6ICJcdTA2MzRcdTA2MzFcdTA2MmQiLAoiRm9vdGVyIjogIlx1MDYyYVx1MDYzMFx1MDY0YVx1MDY0YVx1MDY0NCIsCiJEZWxldGUgcm93IjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MzVcdTA2NDEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTA2NDRcdTA2MzVcdTA2NDIgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQxIFx1MDY0NFx1MDY0NFx1MDYyM1x1MDYzOVx1MDY0NFx1MDY0OSIsCiJTY29wZSI6ICJcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MmNcdTA2MjdcdTA2NDQiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiSCBBbGlnbiI6ICJcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkgXHUwNjIzXHUwNjQxXHUwNjQyXHUwNjRhXHUwNjI5IiwKIlRvcCI6ICJcdTA2MjNcdTA2MzlcdTA2NDRcdTA2NGEiLAoiSGVhZGVyIGNlbGwiOiAiXHUwNjMxXHUwNjIzXHUwNjMzIFx1MDYyN1x1MDY0NFx1MDYyZVx1MDY0NFx1MDY0YVx1MDYyOSIsCiJDb2x1bW4iOiAiXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmIiwKIlJvdyBncm91cCI6ICJcdTA2NDVcdTA2MmNcdTA2NDVcdTA2NDhcdTA2MzlcdTA2MjkgXHUwNjM1XHUwNjQxIiwKIkNlbGwiOiAiXHUwNjJlXHUwNjQ0XHUwNjRhXHUwNjI5IiwKIk1pZGRsZSI6ICJcdTA2MjdcdTA2NDRcdTA2NDhcdTA2MzNcdTA2MzciLAoiQ2VsbCB0eXBlIjogIlx1MDY0Nlx1MDY0OFx1MDYzOSBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDRcdTA2NGFcdTA2MjkiLAoiQ29weSByb3ciOiAiXHUwNjQ2XHUwNjMzXHUwNjJlIFx1MDYyN1x1MDY0NFx1MDYzNVx1MDY0MSIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA2MmVcdTA2MzVcdTA2MjdcdTA2MjZcdTA2MzUgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQxIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNjJlXHUwNjM1XHUwNjI3XHUwNjI2XHUwNjM1IFx1MDYyN1x1MDY0NFx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJCb3R0b20iOiAiXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjMzXHUwNjQxXHUwNjQ0IiwKIlYgQWxpZ24iOiAiXHUwNjQ1XHUwNjJkXHUwNjI3XHUwNjMwXHUwNjI3XHUwNjI5IFx1MDYzMVx1MDYyM1x1MDYzM1x1MDY0YVx1MDYyOSIsCiJIZWFkZXIiOiAiXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjIzXHUwNjMzIiwKIlJpZ2h0IjogIlx1MDY0YVx1MDY0NVx1MDY0YVx1MDY0NiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYyBcdTA2MzlcdTA2NDVcdTA2NDhcdTA2MmYgXHUwNjQ0XHUwNjQ0XHUwNjRhXHUwNjQ1XHUwNjRhXHUwNjQ2IiwKIkNvbHMiOiAiXHUwNjM5XHUwNjJmXHUwNjJmIFx1MDYyN1x1MDY0NFx1MDYyM1x1MDYzOVx1MDY0NVx1MDYyZlx1MDYyOSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYyBcdTA2MzVcdTA2NDEgXHUwNjQ0XHUwNjQ0XHUwNjIzXHUwNjMzXHUwNjQxXHUwNjQ0IiwKIldpZHRoIjogIlx1MDYzOVx1MDYzMVx1MDYzNiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNjJlXHUwNjM1XHUwNjI3XHUwNjI2XHUwNjM1IFx1MDYyN1x1MDY0NFx1MDYyZVx1MDY0NFx1MDY0YVx1MDYyOSIsCiJMZWZ0IjogIlx1MDY0YVx1MDYzM1x1MDYyN1x1MDYzMSIsCiJDdXQgcm93IjogIlx1MDY0Mlx1MDYzNSBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDEiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA2MmRcdTA2MzBcdTA2NDEgXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmIiwKIkNlbnRlciI6ICJcdTA2MmFcdTA2NDhcdTA2MzNcdTA2NGFcdTA2MzciLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNjJmXHUwNjQ1XHUwNjJjIFx1MDYyZVx1MDY0NFx1MDYyN1x1MDY0YVx1MDYyNyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOCIsCiJUZW1wbGF0ZXMiOiAiXHUwNjQyXHUwNjQ4XHUwNjI3XHUwNjQ0XHUwNjI4IiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNjQ0XHUwNjQ4XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDYyZVx1MDY0NFx1MDY0MVx1MDY0YVx1MDYyOSIsCiJDdXN0b20uLi4iOiAiXHUwNjJhXHUwNjJlXHUwNjM1XHUwNjRhXHUwNjM1IC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjQ0XHUwNjQ4XHUwNjQ2IFx1MDY0NVx1MDYyZVx1MDYzNVx1MDYzNSIsCiJObyBjb2xvciI6ICJcdTA2MjhcdTA2MmZcdTA2NDhcdTA2NDYgXHUwNjQ0XHUwNjQ4XHUwNjQ2IiwKIlRleHQgY29sb3IiOiAiXHUwNjQ0XHUwNjQ4XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0Nlx1MDYzNSIsCiJTaG93IGJsb2NrcyI6ICJcdTA2NDVcdTA2MzRcdTA2MjdcdTA2NDdcdTA2MmZcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjJhXHUwNjQ0IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNjIzXHUwNjM4XHUwNjQ3XHUwNjMxIFx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZFx1MDYzMVx1MDY0MSBcdTA2MjdcdTA2NDRcdTA2M2FcdTA2NGFcdTA2MzEgXHUwNjQ1XHUwNjMxXHUwNjI2XHUwNjRhXHUwNjI5IiwKIldvcmRzOiB7MH0iOiAiXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ0XHUwNjQ1XHUwNjI3XHUwNjJhOnswfSIsCiJJbnNlcnQiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIiwKIkZpbGUiOiAiXHUwNjQ1XHUwNjQ0XHUwNjQxIiwKIkVkaXQiOiAiXHUwNjJhXHUwNjJkXHUwNjMxXHUwNjRhXHUwNjMxIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDY0NVx1MDY0Nlx1MDYzN1x1MDY0Mlx1MDYyOSBcdTA2NDZcdTA2MzUgXHUwNjQ1XHUwNjQ2XHUwNjMzXHUwNjQyLiBcdTA2MjdcdTA2MzZcdTA2M2FcdTA2MzcgQUxULUY5IFx1MDY0NFx1MDY0NFx1MDY0Mlx1MDYyN1x1MDYyNlx1MDY0NVx1MDYyOS4gXHUwNjI3XHUwNjM2XHUwNjNhXHUwNjM3IEFMVC1GMTAgXHUwNjQ0XHUwNjM0XHUwNjMxXHUwNjRhXHUwNjM3IFx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYS4gXHUwNjI3XHUwNjM2XHUwNjNhXHUwNjM3IEFMVC0wIFx1MDY0NFx1MDY0NFx1MDYyZFx1MDYzNVx1MDY0OFx1MDY0NCBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJmXHUwNjI5IiwKIlRvb2xzIjogIlx1MDYyM1x1MDYyZlx1MDYyN1x1MDY0OFx1MDYyN1x1MDYyYSIsCiJWaWV3IjogIlx1MDYzOVx1MDYzMVx1MDYzNiIsCiJUYWJsZSI6ICJcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiRm9ybWF0IjogIlx1MDYyYVx1MDY0Nlx1MDYzM1x1MDY0YVx1MDY0MiIsCiJfZGlyIjogInJ0bCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ar_SA.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdhcl9TQScsewoiQ3V0IjogIlx1MDY0Mlx1MDYzNSIsCiJIZWFkaW5nIDUiOiAiXHUwNjMxXHUwNjIzXHUwNjMzIFx1MDY0Mlx1MDY0NFx1MDY0NSA1IiwKIkhlYWRlciAyIjogIlx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDY0NVx1MDYyYVx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0MyBcdTA2NDRcdTA2MjcgXHUwNjRhXHUwNjJmXHUwNjM5XHUwNjQ1IFx1MDYyN1x1MDY0NFx1MDY0OFx1MDYzNVx1MDY0OFx1MDY0NCBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjhcdTA2MjdcdTA2MzRcdTA2MzEgXHUwNjI1XHUwNjQ0XHUwNjQ5IFx1MDYyN1x1MDY0NFx1MDYyZFx1MDYyN1x1MDY0MVx1MDYzOFx1MDYyOS4gXHUwNjI3XHUwNjQ0XHUwNjMxXHUwNjJjXHUwNjI3XHUwNjIxIFx1MDYyN1x1MDYzM1x1MDYyYVx1MDYyZVx1MDYyZlx1MDYyN1x1MDY0NSBcdTA2MjdcdTA2MmVcdTA2MmFcdTA2MzVcdTA2MjdcdTA2MzFcdTA2MjdcdTA2MmEgXHUwNjQ0XHUwNjQ4XHUwNjJkXHUwNjI5IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDY0MVx1MDYyN1x1MDYyYVx1MDY0YVx1MDYyZCBDdHJsK1hcL0NcL1YgXHUwNjI4XHUwNjJmXHUwNjQ0XHUwNjI3IFx1MDY0NVx1MDY0NiBcdTA2MzBcdTA2NDRcdTA2NDMuIiwKIkhlYWRpbmcgNCI6ICJcdTA2MzFcdTA2MjNcdTA2MzMgXHUwNjQyXHUwNjQ0XHUwNjQ1IDQiLAoiRGl2IjogIlx1MDYyYVx1MDY0Mlx1MDYzM1x1MDY0YVx1MDY0NSIsCiJIZWFkaW5nIDIiOiAiXHUwNjMxXHUwNjIzXHUwNjMzIFx1MDY0Mlx1MDY0NFx1MDY0NSAyIiwKIlBhc3RlIjogIlx1MDY0NFx1MDYzNVx1MDY0MiIsCiJDbG9zZSI6ICJcdTA2MjNcdTA2M2FcdTA2NDRcdTA2NDIiLAoiRm9udCBGYW1pbHkiOiAiXHUwNjM5XHUwNjI3XHUwNjI2XHUwNjQ0XHUwNjI5IFx1MDYyN1x1MDY0NFx1MDYyZVx1MDYzN1x1MDY0OFx1MDYzNyIsCiJQcmUiOiAiXHUwNjQ1XHUwNjI3XHUwNjQyXHUwNjI4XHUwNjQ0IiwKIkFsaWduIHJpZ2h0IjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSBcdTA2NDRcdTA2NDRcdTA2NGFcdTA2NDVcdTA2NGFcdTA2NDYiLAoiTmV3IGRvY3VtZW50IjogIlx1MDY0NVx1MDY0NFx1MDY0MSBcdTA2MmNcdTA2MmZcdTA2NGFcdTA2MmYiLAoiQmxvY2txdW90ZSI6ICJcdTA2MjVcdTA2NDJcdTA2MmFcdTA2MjhcdTA2MjdcdTA2MzMgXHUwNjJlXHUwNjI3XHUwNjMxXHUwNjJjXHUwNjRhIiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwNjQ0XHUwNjI3XHUwNjI2XHUwNjJkXHUwNjI5IFx1MDY0NVx1MDYzMVx1MDY0Mlx1MDY1MVx1MDY0NVx1MDYyOSIsCiJIZWFkaW5nIDEiOiAiXHUwNjMxXHUwNjIzXHUwNjMzIFx1MDY0Mlx1MDY0NFx1MDY0NSAxIiwKIkhlYWRpbmdzIjogIlx1MDYzMVx1MDYyNFx1MDY0OFx1MDYzMyBcdTA2MjNcdTA2NDJcdTA2NDRcdTA2MjdcdTA2NDUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDYzMlx1MDY0YVx1MDYyN1x1MDYyZlx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MjdcdTA2NDFcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjI3XHUwNjJmXHUwNjI2XHUwNjI5IiwKIkZvcm1hdHMiOiAiXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjQ2XHUwNjMzXHUwNjRhXHUwNjQyXHUwNjI3XHUwNjJhIiwKIkhlYWRlcnMiOiAiXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjRhXHUwNjQ2IiwKIlNlbGVjdCBhbGwiOiAiXHUwNjIzXHUwNjJlXHUwNjJhXHUwNjMxIFx1MDYyN1x1MDY0NFx1MDY0M1x1MDY0NCIsCiJIZWFkZXIgMyI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgMyIsCiJCbG9ja3MiOiAiXHUwNjI3XHUwNjQ0XHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNjQzXHUwNjI3XHUwNjJhIiwKIlVuZG8iOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjJjXHUwNjM5IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNjM5XHUwNjQ0XHUwNjRhXHUwNjQ3IFx1MDYyZVx1MDYzNyIsCiJCdWxsZXQgbGlzdCI6ICJcdTA2NDRcdTA2MjdcdTA2MjZcdTA2MmRcdTA2MjkgXHUwNjQ1XHUwNjQ2XHUwNjQyXHUwNjUxXHUwNjM3XHUwNjI5IiwKIkhlYWRlciAxIjogIlx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDY0MVx1MDY0OFx1MDY0MiBcdTA2MjdcdTA2NDRcdTA2NDZcdTA2MzUiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA2MjVcdTA2NDRcdTA2M2FcdTA2MjdcdTA2MjEgXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjQ2XHUwNjMzXHUwNjRhXHUwNjQyIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNjIzXHUwNjJkXHUwNjJjXHUwNjI3XHUwNjQ1IFx1MDYyN1x1MDY0NFx1MDYyZVx1MDYzN1x1MDY0OFx1MDYzNyIsCiJTdWJzY3JpcHQiOiAiXHUwNjJhXHUwNjJkXHUwNjJhIFx1MDYyN1x1MDY0NFx1MDY0Nlx1MDYzNSIsCiJIZWFkZXIgNiI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgNiIsCiJSZWRvIjogIlx1MDYyNVx1MDYzOVx1MDYyN1x1MDYyZlx1MDYyOSIsCiJQYXJhZ3JhcGgiOiAiXHUwNjQxXHUwNjQyXHUwNjMxXHUwNjI5IiwKIk9rIjogIlx1MDYyZFx1MDYzM1x1MDY0Nlx1MDYyN1x1MDY0YiIsCiJCb2xkIjogIlx1MDYzOVx1MDYzMVx1MDY0YVx1MDYzNiIsCiJDb2RlIjogIlx1MDY0M1x1MDY0OFx1MDYyZiIsCiJJdGFsaWMiOiAiXHUwNjQ1XHUwNjI3XHUwNjI2XHUwNjQ0IiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDVcdTA2MmRcdTA2MjdcdTA2MzBcdTA2MjdcdTA2MjkgXHUwNjQ0XHUwNjQ0XHUwNjQ1XHUwNjQ2XHUwNjJhXHUwNjM1XHUwNjQxIiwKIkhlYWRlciA1IjogIlx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiA1IiwKIkhlYWRpbmcgNiI6ICJcdTA2MzFcdTA2MjNcdTA2MzMgXHUwNjQyXHUwNjQ0XHUwNjQ1IDYiLAoiSGVhZGluZyAzIjogIlx1MDYzMVx1MDYyM1x1MDYzMyBcdTA2NDJcdTA2NDRcdTA2NDUgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNjJhXHUwNjQyXHUwNjQ0XHUwNjRhXHUwNjM1IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyN1x1MDY0MVx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MjhcdTA2MjdcdTA2MmZcdTA2MjZcdTA2MjkiLAoiSGVhZGVyIDQiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiIsCiJVbmRlcmxpbmUiOiAiXHUwNjJhXHUwNjJkXHUwNjJhXHUwNjQ3IFx1MDYyZVx1MDYzNyIsCiJDYW5jZWwiOiAiXHUwNjI1XHUwNjQ0XHUwNjNhXHUwNjI3XHUwNjIxIiwKIkp1c3RpZnkiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjQ4XHUwNjI3XHUwNjI5IiwKIklubGluZSI6ICJcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjJlXHUwNjM3IFx1MDY0OFx1MDYyN1x1MDYyZFx1MDYyZiIsCiJDb3B5IjogIlx1MDY0Nlx1MDYzM1x1MDYyZSIsCiJBbGlnbiBsZWZ0IjogIlx1MDY0NVx1MDYyZFx1MDYyN1x1MDYzMFx1MDYyN1x1MDYyOSBcdTA2NDRcdTA2NDRcdTA2NGFcdTA2MzNcdTA2MjdcdTA2MzEiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJmXHUwNjI3XHUwNjJhIFx1MDYyN1x1MDY0NFx1MDYyOFx1MDYzNVx1MDYzMVx1MDY0YVx1MDYyOSIsCiJMb3dlciBHcmVlayI6ICJMb3dlciBHcmVlayIsCiJTcXVhcmUiOiAiU3F1YXJlIiwKIkRlZmF1bHQiOiAiRGVmYXVsdCIsCiJMb3dlciBBbHBoYSI6ICJMb3dlciBBbHBoYSIsCiJDaXJjbGUiOiAiQ2lyY2xlIiwKIkRpc2MiOiAiRGlzYyIsCiJVcHBlciBBbHBoYSI6ICJVcHBlciBBbHBoYSIsCiJVcHBlciBSb21hbiI6ICJVcHBlciBSb21hbiIsCiJMb3dlciBSb21hbiI6ICJMb3dlciBSb21hbiIsCiJOYW1lIjogIk5hbWUiLAoiQW5jaG9yIjogIkFuY2hvciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDY0NFx1MDYyZlx1MDY0YVx1MDY0MyBcdTA2MmFcdTA2M2FcdTA2NGFcdTA2NGFcdTA2MzFcdTA2MjdcdTA2MmEgXHUwNjQ0XHUwNjQ1IFx1MDY0YVx1MDYyYVx1MDY0NSBcdTA2MmRcdTA2NDFcdTA2MzhcdTA2NDdcdTA2MjcgXHUwNjQ3XHUwNjQ0IFx1MDYyM1x1MDY0Nlx1MDYyYSBcdTA2NDVcdTA2MmFcdTA2MjNcdTA2NDNcdTA2MmYgXHUwNjIzXHUwNjQ2XHUwNjQzIFx1MDYyYVx1MDYzMVx1MDYzYVx1MDYyOCBcdTA2NDFcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjQ2XHUwNjJhXHUwNjQyXHUwNjI3XHUwNjQ0IFx1MDYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNjI3XHUwNjMzXHUwNjJhXHUwNjM5XHUwNjI3XHUwNjJmXHUwNjI5IFx1MDYyM1x1MDYyZVx1MDYzMSBcdTA2NDVcdTA2MzNcdTA2NDhcdTA2MmZcdTA2MjkiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lhbCBjaGFyYWN0ZXIiLAoiU291cmNlIGNvZGUiOiAiXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjQ4XHUwNjJmIFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzNVx1MDYyZlx1MDYzMVx1MDY0YSIsCiJCIjogIlx1MDYyN1x1MDY0NFx1MDYyM1x1MDYzMlx1MDYzMVx1MDY0MiIsCiJSIjogIlx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZFx1MDY0NVx1MDYzMSIsCiJHIjogIlx1MDYyN1x1MDY0NFx1MDYyM1x1MDYyZVx1MDYzNlx1MDYzMSIsCiJDb2xvciI6ICJcdTA2MmFcdTA2MmRcdTA2MmZcdTA2NGFcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjQ0XHUwNjQ4XHUwNjQ2IiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNjQ1XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0YVx1MDY0NVx1MDY0YVx1MDY0NiBcdTA2MjVcdTA2NDRcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjMzXHUwNjI3XHUwNjMxIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjQ1XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0YVx1MDYzM1x1MDYyN1x1MDYzMSBcdTA2MjVcdTA2NDRcdTA2NGEgXHUwNjI3XHUwNjQ0XHUwNjRhXHUwNjQ1XHUwNjRhXHUwNjQ2IiwKIkVtb3RpY29ucyI6ICJcdTA2MjdcdTA2NDRcdTA2MzFcdTA2NDVcdTA2NDhcdTA2MzIiLAoiUm9ib3RzIjogIlJvYm90cyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDYyZVx1MDYzNVx1MDYyN1x1MDYyNlx1MDYzNSBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2MmYiLAoiVGl0bGUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIktleXdvcmRzIiwKIkVuY29kaW5nIjogIlx1MDYyYVx1MDYzMVx1MDY0NVx1MDY0YVx1MDYzMiIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIsCiJBdXRob3IiOiAiXHUwNjI3XHUwNjQ0XHUwNjQzXHUwNjI3XHUwNjJhXHUwNjI4IiwKIkZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNjJlXHUwNjM3IFx1MDYyM1x1MDY0MVx1MDY0Mlx1MDY0YSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzM1x1MDYyN1x1MDYyZFx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2MjNcdTA2NDFcdTA2NDJcdTA2NGFcdTA2MjkiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDYyNVx1MDYyZlx1MDYzMVx1MDYyN1x1MDYyY1wvXHUwNjJhXHUwNjM5XHUwNjJmXHUwNjRhXHUwNjQ0IFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJHZW5lcmFsIjogIkdlbmVyYWwiLAoiQWR2YW5jZWQiOiAiXHUwNjQ1XHUwNjJhXHUwNjQyXHUwNjJmXHUwNjQ1IiwKIlNvdXJjZSI6ICJcdTA2NDVcdTA2MzVcdTA2MmZcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjM1XHUwNjQ4XHUwNjMxXHUwNjI5IiwKIkJvcmRlciI6ICJCb3JkZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MzNcdTA2MjdcdTA2MmRcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjJmXHUwNjRhXHUwNjI5IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDY0OFx1MDYzNVx1MDY0MSBcdTA2MjdcdTA2NDRcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MjkiLAoiU3R5bGUiOiAiXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjI4IiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaW9ucyIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNjI1XHUwNjJmXHUwNjMxXHUwNjI3XHUwNjJjIFx1MDYzNVx1MDY0OFx1MDYzMVx1MDYyOSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnQgZGF0ZVwvdGltZSIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IHRvIGRpc3BsYXkiLAoiQW5jaG9ycyI6ICJBbmNob3JzIiwKIkluc2VydCBsaW5rIjogIkluc2VydCBsaW5rIiwKIk5ldyB3aW5kb3ciOiAiTmV3IHdpbmRvdyIsCiJOb25lIjogIk5vbmUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiVGFyZ2V0IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcnRcL2VkaXQgbGluayIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJ0XC9lZGl0IHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZlIHNvdXJjZSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VydCB2aWRlbyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOb25icmVha2luZyBzcGFjZSIsCiJQYWdlIGJyZWFrIjogIlBhZ2UgYnJlYWsiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiXHUwNjM5XHUwNjMxXHUwNjM2IiwKIlByaW50IjogIlx1MDYzN1x1MDYyOFx1MDYyN1x1MDYzOVx1MDYyOSIsCiJTYXZlIjogIlx1MDYyZFx1MDY0MVx1MDYzOCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIiwKIlJlcGxhY2UiOiAiUmVwbGFjZSIsCiJOZXh0IjogIk5leHQiLAoiV2hvbGUgd29yZHMiOiAiV2hvbGUgd29yZHMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGaW5kIGFuZCByZXBsYWNlIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZXBsYWNlIHdpdGgiLAoiRmluZCI6ICJGaW5kIiwKIlJlcGxhY2UgYWxsIjogIlJlcGxhY2UgYWxsIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggY2FzZSIsCiJQcmV2IjogIlByZXYiLAoiU3BlbGxjaGVjayI6ICJTcGVsbGNoZWNrIiwKIkZpbmlzaCI6ICJGaW5pc2giLAoiSWdub3JlIGFsbCI6ICJJZ25vcmUgYWxsIiwKIklnbm9yZSI6ICJJZ25vcmUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zZXJ0IHJvdyBiZWZvcmUiLAoiUm93cyI6ICJSb3dzIiwKIkhlaWdodCI6ICJIZWlnaHQiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBhc3RlIHJvdyBhZnRlciIsCiJBbGlnbm1lbnQiOiAiQWxpZ25tZW50IiwKIkNvbHVtbiBncm91cCI6ICJDb2x1bW4gZ3JvdXAiLAoiUm93IjogIlJvdyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcnQgY29sdW1uIGJlZm9yZSIsCiJTcGxpdCBjZWxsIjogIlNwbGl0IGNlbGwiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGwgcGFkZGluZyIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbCBzcGFjaW5nIiwKIlJvdyB0eXBlIjogIlJvdyB0eXBlIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcnQgdGFibGUiLAoiQm9keSI6ICJCb2R5IiwKIkNhcHRpb24iOiAiQ2FwdGlvbiIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkRlbGV0ZSByb3ciOiAiRGVsZXRlIHJvdyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBhc3RlIHJvdyBiZWZvcmUiLAoiU2NvcGUiOiAiU2NvcGUiLAoiRGVsZXRlIHRhYmxlIjogIkRlbGV0ZSB0YWJsZSIsCiJIZWFkZXIgY2VsbCI6ICJIZWFkZXIgY2VsbCIsCiJDb2x1bW4iOiAiQ29sdW1uIiwKIkNlbGwiOiAiQ2VsbCIsCiJIZWFkZXIiOiAiSGVhZGVyIiwKIkNlbGwgdHlwZSI6ICJDZWxsIHR5cGUiLAoiQ29weSByb3ciOiAiQ29weSByb3ciLAoiUm93IHByb3BlcnRpZXMiOiAiUm93IHByb3BlcnRpZXMiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJsZSBwcm9wZXJ0aWVzIiwKIlJvdyBncm91cCI6ICJSb3cgZ3JvdXAiLAoiUmlnaHQiOiAiUmlnaHQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcnQgY29sdW1uIGFmdGVyIiwKIkNvbHMiOiAiQ29scyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc2VydCByb3cgYWZ0ZXIiLAoiV2lkdGgiOiAiV2lkdGgiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkNlbGwgcHJvcGVydGllcyIsCiJMZWZ0IjogIkxlZnQiLAoiQ3V0IHJvdyI6ICJDdXQgcm93IiwKIkRlbGV0ZSBjb2x1bW4iOiAiRGVsZXRlIGNvbHVtbiIsCiJDZW50ZXIiOiAiQ2VudGVyIiwKIk1lcmdlIGNlbGxzIjogIk1lcmdlIGNlbGxzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcnQgdGVtcGxhdGUiLAoiVGVtcGxhdGVzIjogIlRlbXBsYXRlcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDY0NFx1MDY0OFx1MDY0NiBcdTA2MjdcdTA2NDRcdTA2MmVcdTA2NDRcdTA2NDFcdTA2NGFcdTA2MjkiLAoiQ3VzdG9tLi4uIjogIlx1MDYyYVx1MDYyZVx1MDYzNVx1MDY0YVx1MDYzNS4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjQ0XHUwNjQ4XHUwNjQ2IFx1MDY0NVx1MDYyZVx1MDYzNVx1MDYzNSIsCiJObyBjb2xvciI6ICJcdTA2MjhcdTA2NDRcdTA2MjcgXHUwNjQ0XHUwNjQ4XHUwNjQ2IiwKIlRleHQgY29sb3IiOiAiXHUwNjQ0XHUwNjQ4XHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0Nlx1MDYzNSIsCiJTaG93IGJsb2NrcyI6ICJTaG93IGJsb2NrcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJJbnNlcnQiLAoiRmlsZSI6ICJGaWxlIiwKIkVkaXQiOiAiRWRpdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIsCiJUb29scyI6ICJUb29scyIsCiJWaWV3IjogIlZpZXciLAoiVGFibGUiOiAiVGFibGUiLAoiRm9ybWF0IjogIkZvcm1hdCIsCiJfZGlyIjogInJ0bCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/az.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdheicsewoiQ3V0IjogIktcdTAyNTlzIiwKIkhlYWRpbmcgNSI6ICJCYVx1MDE1ZmxcdTAxMzFxIDUiLAoiSGVhZGVyIDIiOiAiQmFcdTAxNWZsXHUwMTMxcSAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlNpemluIGJyYXV6ZXJpbml6IG1cdTAwZmNiYWRpbFx1MDI1OSBidWZlcmluXHUwMjU5IGJpcmJhXHUwMTVmYSB5b2x1IGRcdTAyNTlzdFx1MDI1OWtsXHUwMjU5bWlyLiBaXHUwMjU5aG1cdTAyNTl0IG9sbWFzYSwgYnVudW4geWVyaW5cdTAyNTkga2xhdmlhdHVyYW5cdTAxMzFuIEN0cmwrWFwvQ1wvViBkXHUwMGZjeW1cdTAyNTlsXHUwMjU5cmluZFx1MDI1OW4gaXN0aWZhZFx1MDI1OSBlZGluLiIsCiJIZWFkaW5nIDQiOiAiQmFcdTAxNWZsXHUwMTMxcSA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIkJhXHUwMTVmbFx1MDEzMXEgMiIsCiJQYXN0ZSI6ICJcdTAxOGZsYXZcdTAyNTkgZXQiLAoiQ2xvc2UiOiAiQmFcdTAxMWZsYSIsCiJGb250IEZhbWlseSI6ICJGb250IHN0aWxpIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiU2FcdTAxMWYgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIk5ldyBkb2N1bWVudCI6ICJZZW5pIHNcdTAyNTluXHUwMjU5ZCIsCiJCbG9ja3F1b3RlIjogIlNpdGF0IiwKIk51bWJlcmVkIGxpc3QiOiAiTlx1MDBmNm1yXHUwMjU5bFx1MDI1OW5taVx1MDE1ZiBzaXlhaFx1MDEzMSIsCiJIZWFkaW5nIDEiOiAiQmFcdTAxNWZsXHUwMTMxcSAxIiwKIkhlYWRpbmdzIjogIkJhXHUwMTVmbFx1MDEzMXFsYXIiLAoiSW5jcmVhc2UgaW5kZW50IjogIkJvXHUwMTVmbHVcdTAxMWZ1IGFydFx1MDEzMXIiLAoiRm9ybWF0cyI6ICJGb3JtYXRsYXIiLAoiSGVhZGVycyI6ICJCYVx1MDE1ZmxcdTAxMzFxbGFyIiwKIlNlbGVjdCBhbGwiOiAiSGFtXHUwMTMxc1x1MDEzMW5cdTAxMzEgc2VcdTAwZTciLAoiSGVhZGVyIDMiOiAiQmFcdTAxNWZsXHUwMTMxcSAzIiwKIkJsb2NrcyI6ICJCbG9rbGFyIiwKIlVuZG8iOiAiR2VyaXlcdTAyNTkiLAoiU3RyaWtldGhyb3VnaCI6ICJTaWxpbm1pXHUwMTVmIiwKIkJ1bGxldCBsaXN0IjogIlNcdTAxMzFyYXNcdTAxMzF6IHNpeWFoXHUwMTMxIiwKIkhlYWRlciAxIjogIkJhXHUwMTVmbFx1MDEzMXEgMSIsCiJTdXBlcnNjcmlwdCI6ICJZdXhhclx1MDEzMSBpbmRla3MiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGb3JtYXRcdTAxMzEgdFx1MDI1OW1pemxcdTAyNTkiLAoiRm9udCBTaXplcyI6ICJGb250IFx1MDBmNmxcdTAwZTdcdTAwZmNsXHUwMjU5cmkiLAoiU3Vic2NyaXB0IjogIkFcdTAxNWZhXHUwMTFmXHUwMTMxIGluZGVrcyIsCiJIZWFkZXIgNiI6ICJCYVx1MDE1ZmxcdTAxMzFxIDYiLAoiUmVkbyI6ICJcdTAxMzByXHUwMjU5bGkiLAoiUGFyYWdyYXBoIjogIlBhcmFxcmFmIiwKIk9rIjogIk9sZHUiLAoiQm9sZCI6ICJRYWxcdTAxMzFuIiwKIkNvZGUiOiAiS29kIiwKIkl0YWxpYyI6ICJNYWlsaSIsCiJBbGlnbiBjZW50ZXIiOiAiTVx1MDI1OXJrXHUwMjU5eiBcdTAwZmN6clx1MDI1OSIsCiJIZWFkZXIgNSI6ICJCYVx1MDE1ZmxcdTAxMzFxIDUiLAoiSGVhZGluZyA2IjogIkJhXHUwMTVmbFx1MDEzMXEgNiIsCiJIZWFkaW5nIDMiOiAiQmFcdTAxNWZsXHUwMTMxcSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJCb1x1MDE1Zmx1XHUwMTFmdSBhemFsdCIsCiJIZWFkZXIgNCI6ICJCYVx1MDE1ZmxcdTAxMzFxIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkhhbC1oYXpcdTAxMzFyZGEgYWRpIG1cdTAyNTl0biByZWppbWluZFx1MDI1OSB5ZXJsXHUwMjU5XHUwMTVmZGlyaWxpci4gTVx1MDI1OXptdW4gc2FkXHUwMjU5IG1cdTAyNTl0biBcdTAxNWZcdTAyNTlrbGluZFx1MDI1OSB5ZXJsXHUwMjU5XHUwMTVmZGlyaWxcdTAyNTljXHUwMjU5aywgaFx1MDI1OWxcdTAyNTkgYnUgc2VcdTAwZTdpbWkgZFx1MDI1OXlpXHUwMTVmZGlybVx1MDI1OS4iLAoiVW5kZXJsaW5lIjogIkFsdCB4XHUwMjU5dHRsaSIsCiJDYW5jZWwiOiAiTFx1MDI1OVx1MDExZnYgZXQiLAoiSnVzdGlmeSI6ICJIXHUwMjU5ciBpa2kgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIklubGluZSI6ICJTXHUwMjU5dGlyIGlcdTAwZTdpIiwKIkNvcHkiOiAiS1x1MDBmNlx1MDBlN1x1MDBmY3IiLAoiQWxpZ24gbGVmdCI6ICJTb2wgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIlZpc3VhbCBhaWRzIjogIktvbnR1cmxhclx1MDEzMSBnXHUwMGY2c3RcdTAyNTlyIiwKIkxvd2VyIEdyZWVrIjogIktpXHUwMGU3aWsgWXVuYW4gXHUwMjU5bGlmYmFzXHUwMTMxIiwKIlNxdWFyZSI6ICJTYWhcdTAyNTkiLAoiRGVmYXVsdCI6ICJTdXNtYXlhIGdcdTAwZjZyXHUwMjU5IiwKIkxvd2VyIEFscGhhIjogIktpXHUwMGU3aWsgQWxmYSBcdTAyNTlsaWZiYXNcdTAxMzEiLAoiQ2lyY2xlIjogIkRhaXJcdTAyNTkiLAoiRGlzYyI6ICJEaXNrIiwKIlVwcGVyIEFscGhhIjogIkJcdTAwZjZ5XHUwMGZjayBBbGZhIFx1MDI1OWxpZmJhc1x1MDEzMSIsCiJVcHBlciBSb21hbiI6ICJCXHUwMGY2eVx1MDBmY2sgUm9tYSBcdTAyNTlsaWZiYXNcdTAxMzEiLAoiTG93ZXIgUm9tYW4iOiAiS2lcdTAwZTdpayBSb21hIFx1MDI1OWxpZmJhc1x1MDEzMSIsCiJOYW1lIjogIkFkIiwKIkFuY2hvciI6ICJMXHUwMGY2dmJcdTAyNTlyIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiU2l6ZFx1MDI1OSB5YWRkYSBzYXhsYW5cdTAxMzFsbWF5YW4gZFx1MDI1OXlpXHUwMTVmaWtsaWtsXHUwMjU5ciB2YXIgXHUwMjU5bWluc2luaXoga2ksIGdldG1cdTAyNTlrIGlzdFx1MDI1OXlpcnNpbml6PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiU29uIGxheWloXHUwMjU5bmluIGJcdTAyNTlycGFzXHUwMTMxIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlhcdTAwZmNzdXNpIHNpbXZvbGxhciIsCiJTb3VyY2UgY29kZSI6ICJNXHUwMjU5bmJcdTAyNTkga29kdSIsCiJDb2xvciI6ICJSXHUwMjU5bmciLAoiUmlnaHQgdG8gbGVmdCI6ICJTYVx1MDExZmRhbiBzb2xhIiwKIkxlZnQgdG8gcmlnaHQiOiAiU29sZGFuIHNhXHUwMTFmYSIsCiJFbW90aWNvbnMiOiAiRW1vc2l5YWxhciIsCiJSb2JvdHMiOiAiUm9ib3RsYXIiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJTXHUwMjU5blx1MDI1OWRpbiB4XHUwMGZjc3VzaXl5XHUwMjU5dGxcdTAyNTlyaSIsCiJUaXRsZSI6ICJCYVx1MDE1ZmxcdTAxMzFxIiwKIktleXdvcmRzIjogIkFcdTAwZTdhciBzXHUwMGY2emxcdTAyNTlyIiwKIkVuY29kaW5nIjogIktvZGxhXHUwMTVmZFx1MDEzMXJtYSIsCiJEZXNjcmlwdGlvbiI6ICJUXHUwMjU5c3ZpcmkiLAoiQXV0aG9yIjogIk1cdTAwZmNcdTAyNTlsbGlmIiwKIkZ1bGxzY3JlZW4iOiAiVGFtIGVrcmFuIHJlamltaSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbCB4XHUwMjU5dHQiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsIHNhaFx1MDI1OSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwMTVlXHUwMjU5a2lsaW4gXHUwMjU5bGF2XHUwMjU5XC9yZWRha3RcdTAyNTkgZWRpbG1cdTAyNTlzaSIsCiJHZW5lcmFsIjogIlx1MDBkY211bWkiLAoiQWR2YW5jZWQiOiAiR2VuaVx1MDE1ZmxcdTAyNTlubWlcdTAxNWYiLAoiU291cmNlIjogIk1cdTAyNTluYlx1MDI1OSIsCiJCb3JkZXIiOiAiXHUwMGM3XHUwMjU5clx1MDBlN2l2XHUwMjU5IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJOaXNiXHUwMjU5dGxcdTAyNTlyaW4gc2F4bGFuXHUwMTMxbG1hc1x1MDEzMSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWthbCBzYWhcdTAyNTkiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwMTVlXHUwMjU5a2lsaW4gdFx1MDI1OXN2aXJpIiwKIlN0eWxlIjogIlN0aWwiLAoiRGltZW5zaW9ucyI6ICJcdTAwZDZsXHUwMGU3XHUwMGZjbFx1MDI1OXIiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDE1ZVx1MDI1OWtpbCB5ZXJsXHUwMjU5XHUwMTVmZGlyIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkdcdTAwZmNuXC90YXJpeCBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiUmVtb3ZlIGxpbmsiOiAiTGlua2kgc2lsIiwKIlVybCI6ICJMaW5raW4gXHUwMGZjbnZhblx1MDEzMSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiR1x1MDBmNnJcdTAwZmNuXHUwMjU5biB5YXpcdTAxMzFuXHUwMTMxbiB0XHUwMjU5c3ZpcmkiLAoiQW5jaG9ycyI6ICJMXHUwMGY2dmJcdTAyNTlybFx1MDI1OXIiLAoiSW5zZXJ0IGxpbmsiOiAiTGlua2luIFx1MDI1OWxhdlx1MDI1OSBlZGlsbVx1MDI1OXNpIiwKIk5ldyB3aW5kb3ciOiAiWWVuaSBwXHUwMjU5bmNcdTAyNTlyXHUwMjU5ZFx1MDI1OSBhXHUwMGU3XHUwMTMxbHNcdTAxMzFuIiwKIk5vbmUiOiAiWW94ZHVyIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJEYXhpbCBldGRpeWluaXogVVJMIGJpciBlLW1haWwga2ltaSBnXHUwMGY2clx1MDBmY25cdTAwZmNyLiBcdTAxOGZnXHUwMjU5ciB0XHUwMjU5bFx1MDI1OWIgb2x1bmFuIG1haWx0bzogcHJlZml4IFx1MDI1OWxhdlx1MDI1OSBldG1cdTAyNTlrIGlzdFx1MDI1OXlpcnNpbml6PyIsCiJUYXJnZXQiOiAiSFx1MDI1OWRcdTAyNTlmIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiRGF4aWwgZXRkaXlpbml6IFVSTCBiaXIgZS1tYWlsIGtpbWkgZ1x1MDBmNnJcdTAwZmNuXHUwMGZjci4gXHUwMThmZ1x1MDI1OXIgdFx1MDI1OWxcdTAyNTliIG9sdW5hbiBtYWlsdG86IHByZWZpeCBcdTAyNTlsYXZcdTAyNTkgZXRtXHUwMjU5ayBpc3RcdTAyNTl5aXJzaW5pej8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiTGlua2luIFx1MDI1OWxhdlx1MDI1OVwvcmVkYWt0XHUwMjU5IGVkaWxtXHUwMjU5c2kiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvbnVuIFx1MDI1OWxhdlx1MDI1OVwvcmVkYWt0XHUwMjU5IGVkaWxtXHUwMjU5c2kiLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdiBtXHUwMjU5bmJcdTAyNTkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTAwZDZ6IGtvZHVudXp1IGFcdTAxNWZhXHUwMTFmXHUwMTMxIFx1MDI1OWxhdlx1MDI1OSBlZGluOiIsCiJJbnNlcnQgdmlkZW8iOiAiVmlkZW9udW4gXHUwMjU5bGF2XHUwMjU5IGVkaWxtXHUwMjU5c2kiLAoiRW1iZWQiOiAiXHUwMThmbGF2XHUwMjU5IGV0bVx1MDI1OWsgXHUwMGZjXHUwMGU3XHUwMGZjbiBrb2QiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiUVx1MDEzMXJcdTAxMzFsbWF6IHNhaFx1MDI1OSIsCiJQYWdlIGJyZWFrIjogIlNcdTAyNTloaWZcdTAyNTluaW4gcVx1MDEzMXJcdTAxMzFsbWFzXHUwMTMxIiwKIlBhc3RlIGFzIHRleHQiOiAiTVx1MDI1OXRuIGtpbWkgXHUwMjU5bGF2XHUwMjU5IGV0IiwKIlByZXZpZXciOiAiXHUwMTMwbGtpbmJheFx1MDEzMVx1MDE1ZiIsCiJQcmludCI6ICJcdTAwYzdhcCBldCIsCiJTYXZlIjogIllhZGRhIHNheGxhIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJHXHUwMGY2c3RcdTAyNTlyaWxcdTAyNTluIHNcdTAyNTl0aXJpIHRhcG1hcSBvbG11ciIsCiJSZXBsYWNlIjogIkRcdTAyNTl5aVx1MDE1ZmRpciIsCiJOZXh0IjogIk5cdTAwZjZ2Ylx1MDI1OXRpIiwKIldob2xlIHdvcmRzIjogIlRhbSBzXHUwMGY2emxcdTAyNTlyIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiVGFwIHZcdTAyNTkgZFx1MDI1OXlpXHUwMTVmZGlyIiwKIlJlcGxhY2Ugd2l0aCI6ICJCdW51bmxhIGRcdTAyNTl5aVx1MDE1ZmRpciIsCiJGaW5kIjogIlRhcCIsCiJSZXBsYWNlIGFsbCI6ICJIYW1cdTAxMzFzXHUwMTMxblx1MDEzMSBkXHUwMjU5eWlcdTAxNWZkaXIiLAoiTWF0Y2ggY2FzZSI6ICJSZWdpc3RyaSBuXHUwMjU5elx1MDI1OXJcdTAyNTkgYWwiLAoiUHJldiI6ICJcdTAxOGZ2dlx1MDI1OWxraSIsCiJTcGVsbGNoZWNrIjogIk9yZm9xcmFmaXlhblx1MDEzMSB5b3hsYSIsCiJGaW5pc2giOiAiQml0aXIiLAoiSWdub3JlIGFsbCI6ICJIYW1cdTAxMzFzXHUwMTMxblx1MDEzMSBpcW5vcmxhIiwKIklnbm9yZSI6ICJcdTAxMzBxbm9ybGEiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiTFx1MDBmY1x1MDExZlx1MDI1OXRcdTAyNTkgXHUwMjU5bGF2XHUwMjU5IGVkaWxzaW4iLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwMThmdnZcdTAyNTlsaW5cdTAyNTkgc1x1MDI1OXRpciBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiUm93cyI6ICJTXHUwMjU5dGlybFx1MDI1OXIiLAoiSGVpZ2h0IjogIkhcdTAwZmNuZFx1MDBmY3JsXHUwMGZjeVx1MDBmYyIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiU29ucmFzXHUwMTMxbmEgc1x1MDI1OXRpciBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiQWxpZ25tZW50IjogIkRcdTAwZmN6bFx1MDI1OW5kaXJtXHUwMjU5IiwKIkJvcmRlciBjb2xvciI6ICJcdTAwYzdcdTAyNTlyXHUwMGU3aXZcdTAyNTkgclx1MDI1OW5naSIsCiJDb2x1bW4gZ3JvdXAiOiAiU1x1MDBmY3R1bnVuIHFydXB1IiwKIlJvdyI6ICJTXHUwMjU5dGlyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDE4ZnZ2XHUwMjU5bGluXHUwMjU5IHNcdTAyNTl0aXIgXHUwMjU5bGF2XHUwMjU5IGV0IiwKIlNwbGl0IGNlbGwiOiAiSFx1MDBmY2NyXHUwMjU5bFx1MDI1OXJpbiBzYXlcdTAxMzEiLAoiQ2VsbCBwYWRkaW5nIjogIkhcdTAwZmNjclx1MDI1OWxcdTAyNTlyaW4gc2FoXHUwMjU5bFx1MDI1OXJpIiwKIkNlbGwgc3BhY2luZyI6ICJIXHUwMGZjY3JcdTAyNTlsXHUwMjU5cmluIGFyYXNcdTAxMzFuZGEgbVx1MDI1OXNhZlx1MDI1OSIsCiJSb3cgdHlwZSI6ICJTXHUwMjU5dGlyaW4gdGlwaSIsCiJJbnNlcnQgdGFibGUiOiAiU1x1MDI1OXRpciBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiQm9keSI6ICJLXHUwMGZjdGxcdTAyNTkiLAoiQ2FwdGlvbiI6ICJCYVx1MDE1Zmxhblx1MDExZlx1MDEzMWMiLAoiRm9vdGVyIjogIlx1MDE4Zm4gYVx1MDE1ZmFcdTAxMWZcdTAxMzEiLAoiRGVsZXRlIHJvdyI6ICJTXHUwMjU5dGlyaSBzaWwiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTAxOGZ2dlx1MDI1OWxpblx1MDI1OSBzXHUwMjU5dGlyIFx1MDI1OWxhdlx1MDI1OSBldCIsCiJTY29wZSI6ICJTZmVyYSIsCiJEZWxldGUgdGFibGUiOiAiQ1x1MDI1OWR2XHUwMjU5bGkgc2lsIiwKIkggQWxpZ24iOiAiSCBEXHUwMGZjemxcdTAyNTluZGlyIiwKIlRvcCI6ICJZdXhhclx1MDEzMSIsCiJIZWFkZXIgY2VsbCI6ICJIXHUwMGZjY3JcdTAyNTluaW4gYmFcdTAxNWZsXHUwMTMxXHUwMTFmXHUwMTMxIiwKIkNvbHVtbiI6ICJTXHUwMGZjdHVuIiwKIlJvdyBncm91cCI6ICJTXHUwMjU5dGlyaW4gcXJ1cHUiLAoiQ2VsbCI6ICJIXHUwMGZjY3JcdTAyNTkiLAoiTWlkZGxlIjogIk9ydGEiLAoiQ2VsbCB0eXBlIjogIkhcdTAwZmNjclx1MDI1OW5pbiB0aXBpIiwKIkNvcHkgcm93IjogIlNcdTAyNTl0aXJpIGtcdTAwZjZcdTAwZTdcdTAwZmNyIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlNcdTAyNTl0aXJpbiB4XHUwMGZjc3VzaXl5XHUwMjU5dGxcdTAyNTlyaSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIkNcdTAyNTlkdlx1MDI1OWxpbiB4XHUwMGZjc3VzaXl5XHUwMjU5dGxcdTAyNTlyaSIsCiJCb3R0b20iOiAiQVx1MDE1ZmFcdTAxMWZcdTAxMzEiLAoiViBBbGlnbiI6ICJWIERcdTAwZmN6bFx1MDI1OW5kaXIiLAoiSGVhZGVyIjogIkJhXHUwMTVmbFx1MDEzMXEiLAoiUmlnaHQiOiAiU2FcdTAxMWYgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwMThmdnZcdTAyNTlsaW5cdTAyNTkgc1x1MDBmY3R1biBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiQ29scyI6ICJTXHUwMGZjdHVubGFyIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiU29ucmFzXHUwMTMxbmEgc1x1MDI1OXRpciBcdTAyNTlsYXZcdTAyNTkgZXQiLAoiV2lkdGgiOiAiRW5pIiwKIkNlbGwgcHJvcGVydGllcyI6ICJIXHUwMGZjY3JcdTAyNTluaW4geFx1MDBmY3N1c2l5eVx1MDI1OXRsXHUwMjU5cmkiLAoiTGVmdCI6ICJTb2wgdFx1MDI1OXJcdTAyNTlmIFx1MDBmY3pyXHUwMjU5IiwKIkN1dCByb3ciOiAiU1x1MDI1OXRpcmkga1x1MDI1OXMiLAoiRGVsZXRlIGNvbHVtbiI6ICJTXHUwMGZjdHVudSBzaWwiLAoiQ2VudGVyIjogIk1cdTAyNTlya1x1MDI1OXogXHUwMGZjenJcdTAyNTkiLAoiTWVyZ2UgY2VsbHMiOiAiSFx1MDBmY2NyXHUwMjU5bFx1MDI1OXJpIGJpcmxcdTAyNTlcdTAxNWZ0aXIiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDE1ZWFibG9uIFx1MDI1OWxhdlx1MDI1OSBldCIsCiJUZW1wbGF0ZXMiOiAiXHUwMTVlYWJsb25sYXIiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJBcnhhZm9uIHJcdTAyNTluZ2kiLAoiQ3VzdG9tLi4uIjogIlx1MDBjN1x1MDI1OWtpbG1cdTAyNTkuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDBjN1x1MDI1OWtpbG1cdTAyNTkgclx1MDI1OW5nIiwKIk5vIGNvbG9yIjogIlJcdTAyNTluZ3NpeiIsCiJUZXh0IGNvbG9yIjogIk1cdTAyNTl0bmluIHJcdTAyNTluZ2kiLAoiU2hvdyBibG9ja3MiOiAiQmxva2xhclx1MDEzMSBnXHUwMGY2c3RcdTAyNTlyIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiR1x1MDBmNnJcdTAwZmNubVx1MDI1OXlcdTAyNTluIHNpbXZvbGxhclx1MDEzMSBnXHUwMGY2c3RcdTAyNTlyIiwKIldvcmRzOiB7MH0iOiAiU1x1MDBmNnpsXHUwMjU5cjogezB9IiwKIkluc2VydCI6ICJcdTAxOGZsYXZcdTAyNTkgZXQiLAoiRmlsZSI6ICJGYXlsIiwKIkVkaXQiOiAiUmVkYWt0XHUwMjU5IGV0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIkJcdTAwZjZ5XHUwMGZjayBtXHUwMjU5dG4gc2FoXHUwMjU5c2kgXHUwMjU5bGF2XHUwMjU5IGVkaWxpYi4gTWVueXUgXHUwMGZjXHUwMGU3XHUwMGZjbiBBTFQtRjkgZFx1MDBmY3ltXHUwMjU5c2luaSBiYXNcdTAxMzFuLiBBbFx1MDI1OXRsXHUwMjU5ciBwYW5lbGkgXHUwMGZjXHUwMGU3XHUwMGZjbiBBTFQtRjEwIGRcdTAwZmN5bVx1MDI1OXNpbmkgYmFzXHUwMTMxbi4gS1x1MDBmNm1cdTAyNTlrIFx1MDBmY1x1MDBlN1x1MDBmY24gQUxULTAgZFx1MDBmY3ltXHUwMjU5bFx1MDI1OXJpbiBiYXNcdTAxMzFuLiIsCiJUb29scyI6ICJBbFx1MDI1OXRsXHUwMjU5ciIsCiJWaWV3IjogIkdcdTAwZjZyXHUwMGZjblx1MDBmY1x1MDE1ZiIsCiJUYWJsZSI6ICJDXHUwMjU5ZHZcdTAyNTlsIiwKIkZvcm1hdCI6ICJGb3JtYXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/be.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdiZScsewoiQ3V0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzMFx1MDQ0Nlx1MDQ0YyIsCiJIZWFkaW5nIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4IFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ1ZVx1MDQzN1x1MDQ0ZFx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDMwXHUwNDM0XHUwNDQyXHUwNDQwXHUwNDRiXHUwNDNjXHUwNDNiXHUwNDU2XHUwNDMyXHUwNDMwXHUwNDM1IFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQ0YiBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YgXHUwNDM0XHUwNDMwIFx1MDQzMVx1MDQ0M1x1MDQ0NFx1MDQzNVx1MDQ0MFx1MDQzMCBcdTA0MzBcdTA0MzFcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDMuIFx1MDQxYVx1MDQzMFx1MDQzYlx1MDQ1NiBcdTA0M2JcdTA0MzBcdTA0NDFcdTA0M2FcdTA0MzAsIFx1MDQzMlx1MDQ0Ylx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ1ZVx1MDQzMlx1MDQzMFx1MDQzOVx1MDQ0Nlx1MDQzNSBcdTA0M2RcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2ZcdTA0M2RcdTA0NGJcdTA0NGYgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDNiXHUwNDQzXHUwNDQ3XHUwNDRkXHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQzYVx1MDQzYlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0ODogQ3RybCArIFhcL0NcL1YuIiwKIkhlYWRpbmcgNCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EgNCIsCiJEaXYiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhIiwKIkhlYWRpbmcgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EgMiIsCiJQYXN0ZSI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGMiLAoiQ2xvc2UiOiAiXHUwNDE3XHUwNDMwXHUwNDQ3XHUwNDRiXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIiwKIkZvbnQgRmFtaWx5IjogIlx1MDQyOFx1MDQ0MFx1MDQ0Ylx1MDQ0NFx1MDQ0MiIsCiJQcmUiOiAiXHUwNDFmXHUwNDQwXHUwNDMwXHUwNDM0XHUwNDQ0XHUwNDMwXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDM1IiwKIkFsaWduIHJpZ2h0IjogIlx1MDQxZlx1MDQzMCBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0NGJcdTA0M2MgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDU2IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0NGIgXHUwNDM0XHUwNDMwXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIiwKIkJsb2NrcXVvdGUiOiAiXHUwNDI2XHUwNDRiXHUwNDQyXHUwNDMwXHUwNDQyXHUwNDMwIiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwNDFkXHUwNDQzXHUwNDNjXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDRiIFx1MDQ0MVx1MDQzZlx1MDQ1Nlx1MDQ0MSIsCiJIZWFkaW5nIDEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDEiLAoiSGVhZGluZ3MiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDVlXHUwNDNhXHUwNDU2IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTA0MWZcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2JcdTA0NTZcdTA0NDdcdTA0NGJcdTA0NDZcdTA0NGMgXHUwNDMyXHUwNDNlXHUwNDM0XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkZvcm1hdHMiOiAiXHUwNDI0XHUwNDMwXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIiwKIkhlYWRlcnMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDVlXHUwNDNhXHUwNDU2IiwKIlNlbGVjdCBhbGwiOiAiXHUwNDEyXHUwNDRiXHUwNDNiXHUwNDQzXHUwNDQ3XHUwNDRiXHUwNDQ2XHUwNDRjIFx1MDQ0M1x1MDQ0MVx1MDQ1MSIsCiJIZWFkZXIgMyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EgMyIsCiJCbG9ja3MiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDU2IiwKIlVuZG8iOiAiXHUwNDEyXHUwNDRmXHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQ2XHUwNDRjIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNDE3XHUwNDMwXHUwNDNhXHUwNDQwXHUwNDRkXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDRiIiwKIkJ1bGxldCBsaXN0IjogIlx1MDQxY1x1MDQzMFx1MDQ0MFx1MDQzYVx1MDQ1Nlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQ0YiBcdTA0NDFcdTA0M2ZcdTA0NTZcdTA0NDEiLAoiSGVhZGVyIDEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDNkXHUwNDU2IFx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQ0ZFx1MDQzYVx1MDQ0MSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQxMFx1MDQ0N1x1MDQ0Ylx1MDQ0MVx1MDQ0Nlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDRcdTA0MzBcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDIiLAoiRm9udCBTaXplcyI6ICJcdTA0MWZcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDAgXHUwNDQ4XHUwNDQwXHUwNDRiXHUwNDQ0XHUwNDQyXHUwNDMwIiwKIlN1YnNjcmlwdCI6ICJcdTA0MWRcdTA0NTZcdTA0MzZcdTA0M2RcdTA0NTYgXHUwNDU2XHUwNDNkXHUwNDM0XHUwNDRkXHUwNDNhXHUwNDQxIiwKIkhlYWRlciA2IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzYSA2IiwKIlJlZG8iOiAiXHUwNDEwXHUwNDM0XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIiwKIlBhcmFncmFwaCI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzNcdTA0NDBcdTA0MzBcdTA0NDQiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJcdTA0MjJcdTA0M2JcdTA0NDNcdTA0NDFcdTA0NDJcdTA0NGIiLAoiQ29kZSI6ICJcdTA0MWFcdTA0M2VcdTA0MzQiLAoiSXRhbGljIjogIlx1MDQxYVx1MDQ0M1x1MDQ0MFx1MDQ0MVx1MDQ1Nlx1MDQ1ZSIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNDFmXHUwNDMwIFx1MDQ0Nlx1MDQ0ZFx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQ0YiIsCiJIZWFkZXIgNSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIDYiLAoiSGVhZGluZyAzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzYSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA0MWZcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDhcdTA0NGJcdTA0NDZcdTA0NGMgXHUwNDMyXHUwNDNlXHUwNDM0XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkhlYWRlciA0IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzYSA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NWVcdTA0M2FcdTA0MzAgXHUwNDM3XHUwNDM0XHUwNDM3XHUwNDRmXHUwNDM5XHUwNDQxXHUwNDNkXHUwNDRmXHUwNDM1XHUwNDQ2XHUwNDQ2XHUwNDMwIFx1MDQ1ZSBcdTA0MzJcdTA0NGJcdTA0MzNcdTA0M2JcdTA0NGZcdTA0MzRcdTA0MzdcdTA0MzUgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMzXHUwNDMwIFx1MDQ0Mlx1MDQ0ZFx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0MywgXHUwNDNmXHUwNDMwXHUwNDNhXHUwNDQzXHUwNDNiXHUwNDRjIFx1MDQzZFx1MDQzNSBcdTA0MzBcdTA0MzRcdTA0M2FcdTA0M2JcdTA0NGVcdTA0NDdcdTA0NGJcdTA0NDZcdTA0NGMgXHUwNDM0XHUwNDMwXHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNkXHUwNDQzXHUwNDRlIFx1MDQzZVx1MDQzZlx1MDQ0Nlx1MDQ0Ylx1MDQ0ZS4iLAoiVW5kZXJsaW5lIjogIlx1MDQxZlx1MDQzMFx1MDQzNFx1MDQzYVx1MDQ0MFx1MDQ0ZFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzZFx1MDQ0YiIsCiJDYW5jZWwiOiAiXHUwNDEwXHUwNDM0XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIiwKIkp1c3RpZnkiOiAiXHUwNDFmXHUwNDMwIFx1MDQ0OFx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZFx1MDQ1NiIsCiJJbmxpbmUiOiAiXHUwNDIwXHUwNDMwXHUwNDM0XHUwNDNhXHUwNDNlXHUwNDMyXHUwNDRiIiwKIkNvcHkiOiAiXHUwNDFhXHUwNDMwXHUwNDNmXHUwNDU2XHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIiwKIkFsaWduIGxlZnQiOiAiXHUwNDFmXHUwNDMwIFx1MDQzYlx1MDQzNVx1MDQzMlx1MDQ0Ylx1MDQzYyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NTYiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNDFmXHUwNDMwXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQ0M1x1MDQ0MFx1MDQ0YiIsCiJMb3dlciBHcmVlayI6ICJcdTA0MWNcdTA0MzBcdTA0M2JcdTA0NGJcdTA0NGYgXHUwNDMzXHUwNDQwXHUwNDRkXHUwNDQ3XHUwNDMwXHUwNDQxXHUwNDNhXHUwNDU2XHUwNDRmIFx1MDQzYlx1MDQ1Nlx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0YiIsCiJTcXVhcmUiOiAiXHUwNDFhXHUwNDMyXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDQyXHUwNDRiIiwKIkRlZmF1bHQiOiAiXHUwNDIxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDMwXHUwNDQwXHUwNDQyXHUwNDNkXHUwNDRiIiwKIkxvd2VyIEFscGhhIjogIlx1MDQxY1x1MDQzMFx1MDQzYlx1MDQ0Ylx1MDQ0ZiBcdTA0M2JcdTA0MzBcdTA0NDZcdTA0NTZcdTA0M2RcdTA0NDFcdTA0M2FcdTA0NTZcdTA0NGYgXHUwNDNiXHUwNDU2XHUwNDQyXHUwNDMwXHUwNDQwXHUwNDRiIiwKIkNpcmNsZSI6ICJcdTA0MTBcdTA0M2FcdTA0NDBcdTA0NDNcdTA0MzZcdTA0M2RcdTA0MzBcdTA0NDFcdTA0NDZcdTA0NTYiLAoiRGlzYyI6ICJcdTA0MWFcdTA0NDBcdTA0NDNcdTA0MzNcdTA0NTYiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDVlXHUwNDNkXHUwNDRiXHUwNDRmIFx1MDQzYlx1MDQzMFx1MDQ0Nlx1MDQ1Nlx1MDQzZFx1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQ0ZiBcdTA0M2JcdTA0NTZcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NGIiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDVlXHUwNDNkXHUwNDRiXHUwNDRmIFx1MDQ0MFx1MDQ0Ylx1MDQzY1x1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQ0ZiBcdTA0M2JcdTA0NTZcdTA0NDdcdTA0MzFcdTA0NGIiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNDFjXHUwNDMwXHUwNDNiXHUwNDRiXHUwNDRmIFx1MDQ0MFx1MDQ0Ylx1MDQzY1x1MDQ0MVx1MDQzYVx1MDQ1Nlx1MDQ0ZiBcdTA0M2JcdTA0NTZcdTA0NDdcdTA0MzFcdTA0NGIiLAoiTmFtZSI6ICJcdTA0MDZcdTA0M2NcdTA0NGYiLAoiQW5jaG9yIjogIlx1MDQyZlx1MDQzYVx1MDQzMFx1MDQ0MCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDQyMyBcdTA0MzJcdTA0MzBcdTA0NDEgXHUwNDUxXHUwNDQxXHUwNDQ2XHUwNDRjIFx1MDQzZFx1MDQzNVx1MDQzN1x1MDQzMFx1MDQ0NVx1MDQzMFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQ0Ylx1MDQ0ZiBcdTA0MzdcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGIuIFx1MDQxMlx1MDQ0YiBcdTA0NWVcdTA0M2ZcdTA0NGRcdTA0NWVcdTA0M2RcdTA0MzVcdTA0M2RcdTA0NGJcdTA0NGYsIFx1MDQ0OFx1MDQ0Mlx1MDQzZSBcdTA0NDVcdTA0M2VcdTA0NDdcdTA0MzBcdTA0NDZcdTA0MzUgXHUwNDMyXHUwNDRiXHUwNDM5XHUwNDQxXHUwNDQ2XHUwNDU2PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNDEwXHUwNDM0XHUwNDNkXHUwNDMwXHUwNDVlXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDNkXHUwNDM1IFx1MDQzMFx1MDQzZlx1MDQzZVx1MDQ0OFx1MDQzZFx1MDQ0Zlx1MDQzM1x1MDQzMCBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzVcdTA0M2FcdTA0NDJcdTA0MzAiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNDIxXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDRiXHUwNDRmXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDRiXHUwNDRmIFx1MDQ0MVx1MDQ1Nlx1MDQzY1x1MDQzMlx1MDQzMFx1MDQzYlx1MDQ0YiIsCiJTb3VyY2UgY29kZSI6ICJcdTA0MTdcdTA0NGJcdTA0NDVcdTA0M2VcdTA0MzRcdTA0M2RcdTA0NGIgXHUwNDNhXHUwNDNlXHUwNDM0IiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzNVx1MDQ0MCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQyMVx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0MzVcdTA0MzJcdTA0MzAiLAoiTGVmdCB0byByaWdodCI6ICJcdTA0MTdcdTA0M2JcdTA0MzVcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwIiwKIkVtb3RpY29ucyI6ICJcdTA0MTRcdTA0MzBcdTA0MzRcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNjXHUwNDMwXHUwNDM5XHUwNDNiIiwKIlJvYm90cyI6ICJcdTA0MjBcdTA0M2VcdTA0MzFcdTA0MzBcdTA0NDJcdTA0NGIiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTA0MjNcdTA0M2JcdTA0MzBcdTA0NDFcdTA0NDZcdTA0NTZcdTA0MzJcdTA0MzBcdTA0NDFcdTA0NDZcdTA0NTYgXHUwNDM0XHUwNDMwXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwIiwKIlRpdGxlIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzYSIsCiJLZXl3b3JkcyI6ICJcdTA0MWFcdTA0M2JcdTA0NGVcdTA0NDdcdTA0MzBcdTA0MzJcdTA0NGJcdTA0NGYgXHUwNDQxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDRiIiwKIkVuY29kaW5nIjogIlx1MDQxYVx1MDQzMFx1MDQzNFx1MDQ0Ylx1MDQ0MFx1MDQzZVx1MDQ1ZVx1MDQzYVx1MDQzMCIsCiJEZXNjcmlwdGlvbiI6ICJcdTA0MTBcdTA0M2ZcdTA0NTZcdTA0NDFcdTA0MzBcdTA0M2RcdTA0M2RcdTA0MzUiLAoiQXV0aG9yIjogIlx1MDQxMFx1MDQ1ZVx1MDQ0Mlx1MDQzMFx1MDQ0MCIsCiJGdWxsc2NyZWVuIjogIlx1MDQxZlx1MDQzZVx1MDQ1ZVx1MDQzZFx1MDQzMFx1MDQ0ZFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0YiBcdTA0NDBcdTA0NGRcdTA0MzZcdTA0NGJcdTA0M2MiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDQxM1x1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQzN1x1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzMFx1MDQ0ZiBcdTA0M2JcdTA0NTZcdTA0M2RcdTA0NTZcdTA0NGYiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA0MTNcdTA0MzBcdTA0NDBcdTA0NGJcdTA0MzdcdTA0MzBcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0NGIgXHUwNDU2XHUwNDNkXHUwNDQyXHUwNDRkXHUwNDQwXHUwNDMyXHUwNDMwXHUwNDNiIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGNcL1x1MDQ0MFx1MDQ0ZFx1MDQzNFx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0MzJcdTA0NGJcdTA0NGZcdTA0MzJcdTA0NDMiLAoiR2VuZXJhbCI6ICJcdTA0MTBcdTA0MzNcdTA0NDNcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzBcdTA0MzUiLAoiQWR2YW5jZWQiOiAiXHUwNDFmXHUwNDMwXHUwNDQ4XHUwNDRiXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDMwXHUwNDM1IiwKIlNvdXJjZSI6ICJcdTA0MWFcdTA0NDBcdTA0NGJcdTA0M2RcdTA0NTZcdTA0NDZcdTA0MzAiLAoiQm9yZGVyIjogIlx1MDQxY1x1MDQ0Zlx1MDQzNlx1MDQzMCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNDE3XHUwNDMwXHUwNDQ1XHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzZlx1MDQzZVx1MDQ0MFx1MDQ0Nlx1MDQ0Ylx1MDQ1NiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0NGJcdTA0M2FcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0NGIgXHUwNDU2XHUwNDNkXHUwNDQyXHUwNDRkXHUwNDQwXHUwNDMyXHUwNDMwXHUwNDNiIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDQxMFx1MDQzZlx1MDQ1Nlx1MDQ0MVx1MDQzMFx1MDQzZFx1MDQzZFx1MDQzNSBcdTA0MzJcdTA0NGJcdTA0NGZcdTA0MzJcdTA0NGIiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDRiXHUwNDNiXHUwNDRjIiwKIkRpbWVuc2lvbnMiOiAiXHUwNDFmXHUwNDMwXHUwNDNjXHUwNDM1XHUwNDQwIiwKIkluc2VydCBpbWFnZSI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDMyXHUwNDRiXHUwNDRmXHUwNDMyXHUwNDQzIiwKIlpvb20gaW4iOiAiXHUwNDFmXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNiXHUwNDU2XHUwNDQ3XHUwNDRiXHUwNDQ2XHUwNDRjIiwKIkNvbnRyYXN0IjogIlx1MDQxYVx1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQ0MiIsCiJCYWNrIjogIlx1MDQxZFx1MDQzMFx1MDQzN1x1MDQzMFx1MDQzNCIsCiJHYW1tYSI6ICJcdTA0MTNcdTA0MzBcdTA0M2NcdTA0MzAiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwNDEwXHUwNDM0XHUwNDNiXHUwNDRlXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzM1x1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQzN1x1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzMCIsCiJSZXNpemUiOiAiXHUwNDE3XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQzZlx1MDQzMFx1MDQzY1x1MDQzNVx1MDQ0MCIsCiJTaGFycGVuIjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzZFx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ0YyIsCiJab29tIG91dCI6ICJcdTA0MWZcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDhcdTA0NGJcdTA0NDZcdTA0NGMiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDJcdTA0NDBcdTA0NGIgXHUwNDMyXHUwNDRiXHUwNDRmXHUwNDMyXHUwNDRiIiwKIkFwcGx5IjogIlx1MDQyM1x1MDQzNlx1MDQ0Ylx1MDQ0Nlx1MDQ0YyIsCiJCcmlnaHRuZXNzIjogIlx1MDQyZlx1MDQ0MFx1MDQzYVx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ0YyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDQxZlx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQ0MFx1MDQzZFx1MDQ0M1x1MDQ0Nlx1MDQ0YyBjbG9ja3dpc2UiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUwNDFmXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQ2XHUwNDRjIGNvdW50ZXJjbG9ja3dpc2UiLAoiRWRpdCBpbWFnZSI6ICJcdTA0MjBcdTA0NGRcdTA0MzRcdTA0MzBcdTA0MzNcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDMyXHUwNDRiXHUwNDRmXHUwNDMyXHUwNDQzIiwKIkNvbG9yIGxldmVscyI6ICJcdTA0MjNcdTA0MzdcdTA0NDBcdTA0M2VcdTA0NWVcdTA0M2RcdTA0NTYgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwXHUwNDMwXHUwNDVlIiwKIkNyb3AiOiAiXHUwNDEwXHUwNDMxXHUwNDQwXHUwNDRkXHUwNDM3XHUwNDMwXHUwNDQ2XHUwNDRjIiwKIk9yaWVudGF0aW9uIjogIlx1MDQxMFx1MDQ0MFx1MDQ0Ylx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQ0Ylx1MDQ0ZiIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHUwNDEwXHUwNDM0XHUwNDNiXHUwNDRlXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQ0Ylx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzMCIsCiJJbnZlcnQiOiAiXHUwNDA2XHUwNDNkXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0MzRcdTA0MzBcdTA0NDJcdTA0NDNcL1x1MDQ0N1x1MDQzMFx1MDQ0MSIsCiJSZW1vdmUgbGluayI6ICJcdTA0MTJcdTA0NGJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIlVybCI6ICJcdTA0MTBcdTA0MzRcdTA0NDBcdTA0MzBcdTA0NDEgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDU2IiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA0MjJcdTA0NGRcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDU2IiwKIkFuY2hvcnMiOiAiXHUwNDJmXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDRiIiwKIkluc2VydCBsaW5rIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDFcdTA0M2ZcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0NDMiLAoiTmV3IHdpbmRvdyI6ICJcdTA0MjMgXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDRiXHUwNDNjIFx1MDQzMFx1MDQzYVx1MDQzZFx1MDQzNSIsCiJOb25lIjogIlx1MDQxZFx1MDQ0Zlx1MDQzY1x1MDQzMCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNDIzXHUwNDMyXHUwNDM1XHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNkXHUwNDRiIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0MSBcdTA0M2ZcdTA0MzBcdTA0MzRcdTA0M2VcdTA0MzFcdTA0M2RcdTA0NGIgXHUwNDNkXHUwNDMwIFx1MDQzN1x1MDQzZFx1MDQzNVx1MDQ0OFx1MDQzZFx1MDQ0ZVx1MDQ0ZSBcdTA0NDFcdTA0M2ZcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0NDMuIFx1MDQxNlx1MDQzMFx1MDQzNFx1MDQzMFx1MDQzNVx1MDQ0Nlx1MDQzNSBcdTA0MzRcdTA0MzBcdTA0MzRcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDNkXHUwNDM1XHUwNDMwXHUwNDMxXHUwNDQ1XHUwNDNlXHUwNDM0XHUwNDNkXHUwNDRiIGh0dHA6XC9cLyBcdTA0M2ZcdTA0NDBcdTA0NGRcdTA0NDRcdTA0NTZcdTA0M2FcdTA0NDE/IiwKIlRhcmdldCI6ICJcdTA0MTBcdTA0MzRcdTA0M2FcdTA0NDBcdTA0NGJcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNDIzXHUwNDMyXHUwNDM1XHUwNDM0XHUwNDM3XHUwNDM1XHUwNDNkXHUwNDRiIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0MSBcdTA0M2ZcdTA0MzBcdTA0MzRcdTA0M2VcdTA0MzFcdTA0M2RcdTA0NGIgXHUwNDNkXHUwNDMwIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0MSBcdTA0NGRcdTA0M2JcdTA0MzVcdTA0M2FcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2RcdTA0M2RcdTA0MzBcdTA0MzkgXHUwNDNmXHUwNDNlXHUwNDQ4XHUwNDQyXHUwNDRiLiBcdTA0MTZcdTA0MzBcdTA0MzRcdTA0MzBcdTA0MzVcdTA0NDZcdTA0MzUgXHUwNDM0XHUwNDMwXHUwNDM0XHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzZFx1MDQzNVx1MDQzMFx1MDQzMVx1MDQ0NVx1MDQzZVx1MDQzNFx1MDQzZFx1MDQ0YiBtYWlsdG86IFx1MDQzZlx1MDQ0MFx1MDQ0ZFx1MDQ0NFx1MDQ1Nlx1MDQzYVx1MDQ0MT8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjXC9cdTA0NDBcdTA0NGRcdTA0MzRcdTA0MzBcdTA0MzNcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGNcL1x1MDQ0MFx1MDQ0ZFx1MDQzNFx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0NGRcdTA0MzAiLAoiUG9zdGVyIjogIlx1MDQxMlx1MDQ0Ylx1MDQ0Zlx1MDQzMlx1MDQzMCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNDEwXHUwNDNiXHUwNDRjXHUwNDQyXHUwNDRkXHUwNDQwXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDRiXHUwNDVlXHUwNDNkXHUwNDMwXHUwNDRmIFx1MDQzYVx1MDQ0MFx1MDQ0Ylx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQzMCIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ1ZVx1MDQ0Nlx1MDQzNSBcdTA0MzJcdTA0MzBcdTA0NDggXHUwNDNhXHUwNDNlXHUwNDM0IFx1MDQzZFx1MDQ1Nlx1MDQzNlx1MDQ0ZFx1MDQzOToiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0NGRcdTA0MzAiLAoiRW1iZWQiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IFx1MDQzNFx1MDQzYlx1MDQ0ZiBcdTA0NWVcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NWVcdTA0M2FcdTA0NTYiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNDFkXHUwNDM1XHUwNDNmXHUwNDMwXHUwNDQwXHUwNDRiXHUwNDVlXHUwNDNkXHUwNDRiIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMVx1MDQzNVx1MDQzYiIsCiJQYWdlIGJyZWFrIjogIlx1MDQyMFx1MDQzMFx1MDQzN1x1MDQ0MFx1MDQ0Ylx1MDQ1ZSBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDBcdTA0M2VcdTA0M2RcdTA0M2FcdTA0NTYiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDRmXHUwNDNhIFx1MDQ0Mlx1MDQ0ZFx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJQcmV2aWV3IjogIlx1MDQxZlx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzM1x1MDQzYlx1MDQ0Zlx1MDQzNCIsCiJQcmludCI6ICJcdTA0MTRcdTA0NDBcdTA0NDNcdTA0M2EiLAoiU2F2ZSI6ICJcdTA0MTdcdTA0MzBcdTA0NDVcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDQxN1x1MDQzMFx1MDQzNFx1MDQzMFx1MDQzNFx1MDQzN1x1MDQzNVx1MDQzZFx1MDQ0YiBcdTA0NDBcdTA0MzBcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDNkXHUwNDM1IFx1MDQzN1x1MDQzZFx1MDQzZVx1MDQzOVx1MDQzNFx1MDQzN1x1MDQzNVx1MDQzZFx1MDQ0YiIsCiJSZXBsYWNlIjogIlx1MDQxN1x1MDQzY1x1MDQ0Zlx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQ0YyIsCiJOZXh0IjogIlx1MDQyM1x1MDQzZFx1MDQ1Nlx1MDQzNyIsCiJXaG9sZSB3b3JkcyI6ICJcdTA0MjFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0NGIgXHUwNDQ2XHUwNDMwXHUwNDNiXHUwNDNhXHUwNDMwXHUwNDNjIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNDFmXHUwNDNlXHUwNDQ4XHUwNDQzXHUwNDNhIFx1MDQ1NiBcdTA0MzdcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzAiLAoiUmVwbGFjZSB3aXRoIjogIlx1MDQxN1x1MDQzY1x1MDQ0Zlx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0M2RcdTA0MzAiLAoiRmluZCI6ICJcdTA0MTdcdTA0M2RcdTA0MzBcdTA0MzlcdTA0NDFcdTA0NDZcdTA0NTYiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDE3XHUwNDNjXHUwNDRmXHUwNDNkXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0M1x1MDQ0MVx1MDQzNSIsCiJNYXRjaCBjYXNlIjogIlx1MDQyM1x1MDQzYlx1MDQ1Nlx1MDQ0N1x1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NDBcdTA0NGRcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NDAiLAoiUHJldiI6ICJcdTA0MjNcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDUiLAoiU3BlbGxjaGVjayI6ICJcdTA0MWZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2FcdTA0MzAgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDNmXHUwNDU2XHUwNDQxXHUwNDQzIiwKIkZpbmlzaCI6ICJcdTA0MjFcdTA0M2FcdTA0M2VcdTA0M2RcdTA0NDdcdTA0NGJcdTA0NDZcdTA0NGMiLAoiSWdub3JlIGFsbCI6ICJcdTA0MDZcdTA0MzNcdTA0M2RcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQzXHUwNDQxXHUwNDM1IiwKIklnbm9yZSI6ICJcdTA0MDZcdTA0MzNcdTA0M2RcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNDE0XHUwNDMwXHUwNDM0XHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQ0MyBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0NWVcdTA0M2RcdTA0NTZcdTA0M2EiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0NDMiLAoiUm93cyI6ICJcdTA0MjBcdTA0MzBcdTA0MzRcdTA0M2FcdTA0NTYiLAoiSGVpZ2h0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0OFx1MDQ0Ylx1MDQzZFx1MDQ0ZiIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0M2RcdTA0NTZcdTA0MzdcdTA0NDMiLAoiQWxpZ25tZW50IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQ1ZVx1MDQzZFx1MDQzZVx1MDQ1ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQzNSIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwIFx1MDQzY1x1MDQ0Zlx1MDQzNlx1MDQ0YiIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDMwIFx1MDQ0MVx1MDQzYlx1MDQ0M1x1MDQzZlx1MDQzYVx1MDQzZVx1MDQ1ZSIsCiJSb3ciOiAiXHUwNDIwXHUwNDMwXHUwNDM0XHUwNDNlXHUwNDNhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDQxNFx1MDQzMFx1MDQzNFx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NDFcdTA0M2JcdTA0NDNcdTA0M2ZcdTA0M2VcdTA0M2EgXHUwNDM3XHUwNDNiXHUwNDM1XHUwNDMyXHUwNDMwIiwKIlNwbGl0IGNlbGwiOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDMxXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0Zlx1MDQ0N1x1MDQ0ZFx1MDQzOVx1MDQzYVx1MDQ0MyIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNDIzXHUwNDNkXHUwNDQzXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDRiIFx1MDQzMlx1MDQzZVx1MDQzNFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNDE3XHUwNDNkXHUwNDM1XHUwNDQ4XHUwNDNkXHUwNDU2IFx1MDQzMlx1MDQzZVx1MDQzNFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJSb3cgdHlwZSI6ICJcdTA0MjJcdTA0NGJcdTA0M2YgXHUwNDQwXHUwNDMwXHUwNDM0XHUwNDNhXHUwNDMwIiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MjNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDU2XHUwNDQ2XHUwNDQzIiwKIkJvZHkiOiAiXHUwNDI2XHUwNDM1XHUwNDNiXHUwNDMwIiwKIkNhcHRpb24iOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNhIiwKIkZvb3RlciI6ICJcdTA0MWRcdTA0NTZcdTA0MzciLAoiRGVsZXRlIHJvdyI6ICJcdTA0MTJcdTA0NGJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDQwXHUwNDMwXHUwNDM0XHUwNDNlXHUwNDNhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDU2XHUwNDQ2XHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0NDMiLAoiU2NvcGUiOiAiXHUwNDIxXHUwNDQ0XHUwNDM1XHUwNDQwXHUwNDMwIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA0MTJcdTA0NGJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0NTZcdTA0NDZcdTA0NGMgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDU2XHUwNDQ2XHUwNDQzIiwKIkggQWxpZ24iOiAiXHUwNDEzXHUwNDMwXHUwNDQwLiBcdTA0MzJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0NWVcdTA0M2RcdTA0M2VcdTA0NWVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0MzUiLAoiVG9wIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NSIsCiJIZWFkZXIgY2VsbCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2EiLAoiQ29sdW1uIjogIlx1MDQyMVx1MDQzYlx1MDQ0M1x1MDQzZlx1MDQzZVx1MDQzYSIsCiJSb3cgZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDMwIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzYVx1MDQzZVx1MDQ1ZSIsCiJDZWxsIjogIlx1MDQyZlx1MDQ0N1x1MDQ0ZFx1MDQzOVx1MDQzYVx1MDQzMCIsCiJNaWRkbGUiOiAiXHUwNDIxXHUwNDRmXHUwNDQwXHUwNDRkXHUwNDM0XHUwNDM3XHUwNDU2XHUwNDNkXHUwNDMwIiwKIkNlbGwgdHlwZSI6ICJcdTA0MjJcdTA0NGJcdTA0M2YgXHUwNDRmXHUwNDQ3XHUwNDRkXHUwNDM5XHUwNDNhXHUwNDU2IiwKIkNvcHkgcm93IjogIlx1MDQxYVx1MDQzMFx1MDQzZlx1MDQ1Nlx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NDBcdTA0MzBcdTA0MzRcdTA0M2VcdTA0M2EiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDM1XHUwNDQyXHUwNDQwXHUwNDRiIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzYVx1MDQzMCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQyM1x1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ1Nlx1MDQzMlx1MDQzMFx1MDQ0MVx1MDQ0Nlx1MDQ1NiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0NTZcdTA0NDZcdTA0NGIiLAoiQm90dG9tIjogIlx1MDQxZFx1MDQ1Nlx1MDQzNyIsCiJWIEFsaWduIjogIlx1MDQxMlx1MDQzNVx1MDQ0MC4gXHUwNDMyXHUwNDRiXHUwNDQwXHUwNDMwXHUwNDVlXHUwNDNkXHUwNDNlXHUwNDVlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDM1IiwKIkhlYWRlciI6ICJcdTA0MjhcdTA0MzBcdTA0M2ZcdTA0M2FcdTA0MzAiLAoiUmlnaHQiOiAiXHUwNDFmXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQ0Ylx1MDQzYyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NTYiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTA0MTRcdTA0MzBcdTA0MzRcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNiXHUwNDQzXHUwNDNmXHUwNDNlXHUwNDNhIFx1MDQ0MVx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzMCIsCiJDb2xzIjogIlx1MDQyMVx1MDQzYlx1MDQ0M1x1MDQzZlx1MDQzYVx1MDQ1NiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDBcdTA0MzBcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDM3XHUwNDNkXHUwNDU2XHUwNDM3XHUwNDQzIiwKIldpZHRoIjogIlx1MDQyOFx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZFx1MDQ0ZiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDM1XHUwNDQyXHUwNDQwXHUwNDRiIFx1MDQ0Zlx1MDQ0N1x1MDQ0ZFx1MDQzOVx1MDQzYVx1MDQ1NiIsCiJMZWZ0IjogIlx1MDQxZlx1MDQzMCBcdTA0M2JcdTA0MzVcdTA0MzJcdTA0NGJcdTA0M2MgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDU2IiwKIkN1dCByb3ciOiAiXHUwNDEyXHUwNDRiXHUwNDQwXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzYSIsCiJEZWxldGUgY29sdW1uIjogIlx1MDQxMlx1MDQ0Ylx1MDQzNFx1MDQzMFx1MDQzYlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDFcdTA0M2JcdTA0NDNcdTA0M2ZcdTA0M2VcdTA0M2EiLAoiQ2VudGVyIjogIlx1MDQxZlx1MDQzMCBcdTA0NDZcdTA0NGRcdTA0M2RcdTA0NDJcdTA0NDBcdTA0NGIiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNDEwXHUwNDMxJ1x1MDQ0Zlx1MDQzNFx1MDQzZFx1MDQzMFx1MDQ0Nlx1MDQ0YyBcdTA0NGZcdTA0NDdcdTA0NGRcdTA0MzlcdTA0M2FcdTA0NTYiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyBcdTA0NDhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2QiLAoiVGVtcGxhdGVzIjogIlx1MDQyOFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0YiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQzNVx1MDQ0MCBcdTA0NDRcdTA0M2VcdTA0M2RcdTA0NDMiLAoiQ3VzdG9tLi4uIjogIlx1MDQxYVx1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQzYVx1MDQ1Ni4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNDFhXHUwNDMwXHUwNDQwXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDNhXHUwNDU2IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzNVx1MDQ0MCIsCiJObyBjb2xvciI6ICJcdTA0MTFcdTA0MzVcdTA0MzcgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwXHUwNDQzIiwKIlRleHQgY29sb3IiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDM1XHUwNDQwIFx1MDQ0Mlx1MDQ0ZFx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0MyIsCiJTaG93IGJsb2NrcyI6ICJcdTA0MWZcdTA0MzBcdTA0M2FcdTA0MzBcdTA0MzdcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGMgXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDU2IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNDFmXHUwNDMwXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzZFx1MDQ0Zlx1MDQzMVx1MDQzMFx1MDQ0N1x1MDQzZFx1MDQ0Ylx1MDQ0ZiBcdTA0NDFcdTA0NTZcdTA0M2NcdTA0MzJcdTA0MzBcdTA0M2JcdTA0NGIiLAoiV29yZHM6IHswfSI6ICJcdTA0MWFcdTA0M2VcdTA0M2JcdTA0NGNcdTA0M2FcdTA0MzBcdTA0NDFcdTA0NDZcdTA0NGMgXHUwNDQxXHUwNDNiXHUwNDNlXHUwNDVlOiB7MH0iLAoiSW5zZXJ0IjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0Nlx1MDQ0YyIsCiJGaWxlIjogIlx1MDQyNFx1MDQzMFx1MDQzOVx1MDQzYiIsCiJFZGl0IjogIlx1MDQxN1x1MDQzY1x1MDQ0Zlx1MDQzZFx1MDQ1Nlx1MDQ0Nlx1MDQ0YyIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTA0MjJcdTA0NGRcdTA0M2FcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzBcdTA0MzUgXHUwNDNmXHUwNDNlXHUwNDNiXHUwNDM1LiBcdTA0MWRcdTA0MzBcdTA0NDZcdTA0NTZcdTA0NDFcdTA0M2RcdTA0NTZcdTA0NDZcdTA0MzUgQUxULUY5LCBcdTA0M2FcdTA0MzBcdTA0MzEgXHUwNDMyXHUwNDRiXHUwNDNhXHUwNDNiXHUwNDU2XHUwNDNhXHUwNDMwXHUwNDQ2XHUwNDRjIFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0ZSwgQUxULUYxMCAtIFx1MDQzZlx1MDQzMFx1MDQzZFx1MDQ0ZFx1MDQzYlx1MDQ0YyBcdTA0M2ZcdTA0NDBcdTA0NGJcdTA0M2JcdTA0MzBcdTA0MzRcdTA0MzBcdTA0NWUsIEFMVC0wIC0gXHUwNDM0XHUwNDNiXHUwNDRmIFx1MDQzMlx1MDQ0Ylx1MDQzYVx1MDQzYlx1MDQ1Nlx1MDQzYVx1MDQ0MyBcdTA0MzRcdTA0MzBcdTA0M2ZcdTA0MzBcdTA0M2NcdTA0M2VcdTA0MzNcdTA0NTYuIiwKIlRvb2xzIjogIlx1MDQxZlx1MDQ0MFx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQzNFx1MDQ0YiIsCiJWaWV3IjogIlx1MDQxMlx1MDQ0Ylx1MDQzM1x1MDQzYlx1MDQ0Zlx1MDQzNCIsCiJUYWJsZSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0NTZcdTA0NDZcdTA0MzAiLAoiRm9ybWF0IjogIlx1MDQyNFx1MDQzMFx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0MiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/bg_BG.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdiZ19CRycsewoiQ3V0IjogIlx1MDQxOFx1MDQzN1x1MDQ0MFx1MDQ0Zlx1MDQzN1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJIZWFkaW5nIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDUiLAoiSGVhZGVyIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4XHUwNDM4XHUwNDRmXHUwNDQyIFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQ0YVx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDM0XHUwNDRhXHUwNDQwXHUwNDM2XHUwNDMwIFx1MDQzNFx1MDQzOFx1MDQ0MFx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQzNVx1MDQzZCBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NGFcdTA0M2YgXHUwNDM0XHUwNDNlIFx1MDQzYVx1MDQzYlx1MDQzOFx1MDQzZlx1MDQzMVx1MDQzZVx1MDQ0MFx1MDQzNFx1MDQzMC4gXHUwNDEyXHUwNDNjXHUwNDM1XHUwNDQxXHUwNDQyXHUwNDNlIFx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzMCBcdTA0MzhcdTA0MzdcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0MzdcdTA0MzJcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzUgXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQ4XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQzMVx1MDQzOFx1MDQzZFx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzOCBDdHJsK1ggKFx1MDQzN1x1MDQzMCBcdTA0MzhcdTA0MzdcdTA0NDBcdTA0NGZcdTA0MzdcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUpLCBDdHJsK0MgKFx1MDQzN1x1MDQzMCBcdTA0M2FcdTA0M2VcdTA0M2ZcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUpIFx1MDQzOCBDdHJsK1YgKFx1MDQzN1x1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUpLiIsCiJIZWFkaW5nIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDQiLAoiRGl2IjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYSIsCiJIZWFkaW5nIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDIiLAoiUGFzdGUiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNkXHUwNDM1IiwKIkNsb3NlIjogIlx1MDQxN1x1MDQzMFx1MDQ0Mlx1MDQzMlx1MDQzMFx1MDQ0MFx1MDQ0Zlx1MDQzZFx1MDQzNSIsCiJGb250IEZhbWlseSI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIiLAoiUHJlIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMlx1MDQzMFx1MDQ0MFx1MDQzOFx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQzZFx1MDQzZSBcdTA0M2VcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzVcdTA0M2QgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIiwKIkFsaWduIHJpZ2h0IjogIlx1MDQxZlx1MDQzZVx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2VcdTA0NDJcdTA0MzRcdTA0NGZcdTA0NDFcdTA0M2RcdTA0M2UiLAoiTmV3IGRvY3VtZW50IjogIlx1MDQxZFx1MDQzZVx1MDQzMiBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDIiLAoiQmxvY2txdW90ZSI6ICJcdTA0MjZcdTA0MzhcdTA0NDJcdTA0MzBcdTA0NDIiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA0MWRcdTA0M2VcdTA0M2NcdTA0MzVcdTA0NDBcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2QgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDRhXHUwNDNhIiwKIkhlYWRpbmcgMSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgMSIsCiJIZWFkaW5ncyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NGYiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDQyM1x1MDQzMlx1MDQzNVx1MDQzYlx1MDQzOFx1MDQ0N1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDRhXHUwNDNmXHUwNDMwIiwKIkZvcm1hdHMiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM1IiwKIkhlYWRlcnMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDRmIiwKIlNlbGVjdCBhbGwiOiAiXHUwNDFjXHUwNDMwXHUwNDQwXHUwNDNhXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDZcdTA0NGZcdTA0M2JcdTA0M2VcdTA0NDJcdTA0M2UgXHUwNDQxXHUwNDRhXHUwNDM0XHUwNDRhXHUwNDQwXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IiwKIkhlYWRlciAzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSAzIiwKIkJsb2NrcyI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2FcdTA0M2VcdTA0MzJcdTA0MzUiLAoiVW5kbyI6ICJcdTA0MTJcdTA0NGFcdTA0NDBcdTA0M2RcdTA0MzgiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA0MTdcdTA0MzBcdTA0NDdcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNDIxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDRhXHUwNDNhIFx1MDQ0MSBcdTA0MzJcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDdcdTA0MzgiLAoiSGVhZGVyIDEiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM1XHUwNDNkIFx1MDQzOFx1MDQzZFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQ0MSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQxOFx1MDQzN1x1MDQ0N1x1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzOCBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzVcdTA0NDJcdTA0M2UiLAoiRm9udCBTaXplcyI6ICJcdTA0MjBcdTA0MzBcdTA0MzdcdTA0M2NcdTA0MzVcdTA0NDAgXHUwNDNkXHUwNDMwIFx1MDQ0OFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0Mlx1MDQzMCIsCiJTdWJzY3JpcHQiOiAiXHUwNDE0XHUwNDNlXHUwNDNiXHUwNDM1XHUwNDNkIFx1MDQzOFx1MDQzZFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQ0MSIsCiJIZWFkZXIgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgNiIsCiJSZWRvIjogIlx1MDQxZVx1MDQ0Mlx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOCIsCiJQYXJhZ3JhcGgiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDQ0IiwKIk9rIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzNSIsCiJCb2xkIjogIlx1MDQyM1x1MDQzNFx1MDQzNVx1MDQzMVx1MDQzNVx1MDQzYlx1MDQzNVx1MDQzZCAoXHUwNDNmXHUwNDNlXHUwNDNiXHUwNDQzXHUwNDQ3XHUwNDM1XHUwNDQwKSIsCiJDb2RlIjogIlx1MDQxYVx1MDQzZVx1MDQzNCIsCiJJdGFsaWMiOiAiXHUwNDFkXHUwNDMwXHUwNDNhXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDM1XHUwNDNkIChcdTA0M2FcdTA0NDNcdTA0NDBcdTA0NDFcdTA0MzhcdTA0MzIpIiwKIkFsaWduIGNlbnRlciI6ICJcdTA0MjZcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NDBcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0M2UiLAoiSGVhZGVyIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDUiLAoiSGVhZGluZyA2IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSA2IiwKIkhlYWRpbmcgMyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNDFkXHUwNDMwXHUwNDNjXHUwNDMwXHUwNDNiXHUwNDRmXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0M2VcdTA0NDJcdTA0NDFcdTA0NDJcdTA0NGFcdTA0M2ZcdTA0MzAiLAoiSGVhZGVyIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDQxZlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNVx1MDQ0Mlx1MDQzZSBcdTA0MzIgXHUwNDNjXHUwNDNlXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwIFx1MDQzNSBcdTA0MzIgXHUwNDNlXHUwNDMxXHUwNDM4XHUwNDNhXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDNkIFx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzOFx1MDQzYy4gXHUwNDIxXHUwNDRhXHUwNDM0XHUwNDRhXHUwNDQwXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1XHUwNDQyXHUwNDNlIFx1MDQ0OVx1MDQzNSBcdTA0MzFcdTA0NGFcdTA0MzRcdTA0MzUgXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM1XHUwNDNkXHUwNDNlIFx1MDQzYVx1MDQzMFx1MDQ0Mlx1MDQzZSBcdTA0M2RcdTA0MzVcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2QgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyLCBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0MzBcdTA0NDJcdTA0M2UgXHUwNDM4XHUwNDM3XHUwNDNhXHUwNDNiXHUwNDRlXHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQ0Mlx1MDQzMFx1MDQzN1x1MDQzOCBcdTA0M2VcdTA0M2ZcdTA0NDZcdTA0MzhcdTA0NGYuIiwKIlVuZGVybGluZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0NDdcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzBcdTA0M2QiLAoiQ2FuY2VsIjogIlx1MDQxZVx1MDQ0Mlx1MDQzYVx1MDQzMFx1MDQzNyIsCiJKdXN0aWZ5IjogIlx1MDQxNFx1MDQzMlx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzZFx1MDQzZSBcdTA0M2ZcdTA0M2VcdTA0MzRcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0NGZcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUiLAoiSW5saW5lIjogIlx1MDQxZFx1MDQzMCBcdTA0MzVcdTA0MzRcdTA0MzhcdTA0M2QgXHUwNDQwXHUwNDM1XHUwNDM0IiwKIkNvcHkiOiAiXHUwNDFhXHUwNDNlXHUwNDNmXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM1IiwKIkFsaWduIGxlZnQiOiAiXHUwNDFmXHUwNDNlXHUwNDM0XHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDRmXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZVx1MDQ0Mlx1MDQzYlx1MDQ0Zlx1MDQzMlx1MDQzZSIsCiJWaXN1YWwgYWlkcyI6ICJcdTA0MTJcdTA0MzhcdTA0MzdcdTA0NDNcdTA0MzBcdTA0M2JcdTA0M2RcdTA0M2UgXHUwNDNlXHUwNDQyXHUwNDNhXHUwNDQwXHUwNDNlXHUwNDRmXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0MzggXHUwNDMxXHUwNDM1XHUwNDM3IFx1MDQzYVx1MDQzMFx1MDQzZFx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzNSAoXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDNhXHUwNDM4KSIsCiJMb3dlciBHcmVlayI6ICJcdTA0MWNcdTA0MzBcdTA0M2JcdTA0M2FcdTA0MzggXHUwNDMzXHUwNDQwXHUwNDRhXHUwNDQ2XHUwNDNhXHUwNDM4IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJTcXVhcmUiOiAiXHUwNDE3XHUwNDMwXHUwNDNmXHUwNDRhXHUwNDNiXHUwNDNkXHUwNDM1XHUwNDNkXHUwNDM4IFx1MDQzYVx1MDQzMlx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJEZWZhdWx0IjogIlx1MDQxZlx1MDQzZSBcdTA0M2ZcdTA0M2VcdTA0MzRcdTA0NDBcdTA0MzBcdTA0MzdcdTA0MzFcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNDFjXHUwNDMwXHUwNDNiXHUwNDNhXHUwNDM4IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJDaXJjbGUiOiAiXHUwNDFlXHUwNDNhXHUwNDQwXHUwNDRhXHUwNDM2XHUwNDNkXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDM4IiwKIkRpc2MiOiAiXHUwNDFhXHUwNDQwXHUwNDRhXHUwNDMzXHUwNDQ3XHUwNDM1XHUwNDQyXHUwNDMwIiwKIlVwcGVyIEFscGhhIjogIlx1MDQxM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOCBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0MzgiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDIwXHUwNDM4XHUwNDNjXHUwNDQxXHUwNDNhXHUwNDM4IFx1MDQ0N1x1MDQzOFx1MDQ0MVx1MDQzYlx1MDQzMCBcdTA0NDEgXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDM4IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJMb3dlciBSb21hbiI6ICJcdTA0MjBcdTA0MzhcdTA0M2NcdTA0NDFcdTA0M2FcdTA0MzggXHUwNDQ3XHUwNDM4XHUwNDQxXHUwNDNiXHUwNDMwIFx1MDQ0MSBcdTA0M2NcdTA0MzBcdTA0M2JcdTA0M2FcdTA0MzggXHUwNDMxXHUwNDQzXHUwNDNhXHUwNDMyXHUwNDM4IiwKIk5hbWUiOiAiXHUwNDFkXHUwNDMwXHUwNDM4XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IiwKIkFuY2hvciI6ICJcdTA0MWFcdTA0M2VcdTA0NDJcdTA0MzJcdTA0MzAgKFx1MDQzMlx1MDQ0MFx1MDQ0YVx1MDQzN1x1MDQzYVx1MDQzMCBcdTA0MzIgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwKSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDQxMiBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzAgXHUwNDM4XHUwNDNjXHUwNDMwIFx1MDQzZFx1MDQzNVx1MDQzN1x1MDQzMFx1MDQzZlx1MDQzMFx1MDQzN1x1MDQzNVx1MDQzZFx1MDQzOCBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzguIFx1MDQyOVx1MDQzNSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzRcdTA0NGFcdTA0M2JcdTA0MzZcdTA0MzhcdTA0NDJcdTA0MzUgXHUwNDNiXHUwNDM4PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNDEyXHUwNDRhXHUwNDM3XHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDRmXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0M2JcdTA0MzVcdTA0MzRcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzAgXHUwNDQ3XHUwNDM1XHUwNDQwXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDMwIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDQyMVx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQzOFx1MDQzMFx1MDQzYlx1MDQzNVx1MDQzZCBcdTA0MzdcdTA0M2RcdTA0MzBcdTA0M2EiLAoiU291cmNlIGNvZGUiOiAiXHUwNDE4XHUwNDM3XHUwNDQ1XHUwNDNlXHUwNDM0XHUwNDM1XHUwNDNkIFx1MDQzYVx1MDQzZVx1MDQzNCBcdTA0M2RcdTA0MzAgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwIFx1MDQzMiBIVE1MIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQ0Zlx1MDQ0MiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQxZVx1MDQ0Mlx1MDQzNFx1MDQ0Zlx1MDQ0MVx1MDQzZFx1MDQzZSBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0NGZcdTA0MzJcdTA0M2UiLAoiTGVmdCB0byByaWdodCI6ICJcdTA0MWVcdTA0NDJcdTA0M2JcdTA0NGZcdTA0MzJcdTA0M2UgXHUwNDNkXHUwNDMwXHUwNDM0XHUwNDRmXHUwNDQxXHUwNDNkXHUwNDNlIiwKIkVtb3RpY29ucyI6ICJcdTA0MTVcdTA0M2NcdTA0M2VcdTA0NDJcdTA0MzhcdTA0M2FcdTA0M2VcdTA0M2RcdTA0MzgiLAoiUm9ib3RzIjogIlx1MDQyMFx1MDQzZVx1MDQzMVx1MDQzZVx1MDQ0Mlx1MDQzOCBcdTA0M2RcdTA0MzAgXHUwNDQzXHUwNDM1XHUwNDMxIFx1MDQ0Mlx1MDQ0YVx1MDQ0MFx1MDQ0MVx1MDQzMFx1MDQ0N1x1MDQzYVx1MDQzOCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDQyMVx1MDQzMlx1MDQzZVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzAgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDMwIiwKIlRpdGxlIjogIlx1MDQxZFx1MDQzMFx1MDQzOFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJLZXl3b3JkcyI6ICJcdTA0MWFcdTA0M2JcdTA0NGVcdTA0NDdcdTA0M2VcdTA0MzJcdTA0MzggXHUwNDM0XHUwNDQzXHUwNDNjXHUwNDM4IiwKIkVuY29kaW5nIjogIlx1MDQxYVx1MDQzZVx1MDQzNFx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDQyXHUwNDM1IiwKIkRlc2NyaXB0aW9uIjogIlx1MDQxZVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJBdXRob3IiOiAiXHUwNDEwXHUwNDMyXHUwNDQyXHUwNDNlXHUwNDQwIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFkXHUwNDMwIFx1MDQ0Nlx1MDQ0Zlx1MDQzYiBcdTA0MzVcdTA0M2FcdTA0NDBcdTA0MzBcdTA0M2QiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDQyNVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzZFx1MDQzMCBcdTA0NDdcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzAiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA0MjVcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0M2RcdTA0M2UgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDQxXHUwNDQyXHUwNDMyXHUwNDNlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzVcL1x1MDQzYVx1MDQzZVx1MDQ0MFx1MDQzNVx1MDQzYVx1MDQ0Nlx1MDQzOFx1MDQ0ZiBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDNhXHUwNDMwIiwKIkdlbmVyYWwiOiAiXHUwNDFlXHUwNDMxXHUwNDQ5XHUwNDNlIiwKIkFkdmFuY2VkIjogIlx1MDQxZlx1MDQzZVx1MDQzNFx1MDQ0MFx1MDQzZVx1MDQzMVx1MDQzZFx1MDQzZSIsCiJTb3VyY2UiOiAiXHUwNDEwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxIiwKIkJvcmRlciI6ICJcdTA0MWFcdTA0MzBcdTA0M2RcdTA0NDIgKFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzYVx1MDQzMCkiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDQxN1x1MDQzMFx1MDQzMlx1MDQzMFx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzMlx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDNlXHUwNDQwXHUwNDQ2XHUwNDM4XHUwNDM4XHUwNDQyXHUwNDM1IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQzYlx1MDQzZFx1MDQzZSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzBcdTA0M2RcdTA0NDFcdTA0NDJcdTA0MzJcdTA0M2UiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNDFlXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2RcdTA0M2FcdTA0MzBcdTA0NDJcdTA0MzAiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiIiwKIkRpbWVuc2lvbnMiOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDNjXHUwNDM1XHUwNDQwIiwKIkluc2VydCBpbWFnZSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSIsCiJab29tIGluIjogIlx1MDQxZlx1MDQ0MFx1MDQzOFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQzNlx1MDQzOCIsCiJDb250cmFzdCI6ICJcdTA0MWFcdTA0M2VcdTA0M2RcdTA0NDJcdTA0NDBcdTA0MzBcdTA0NDFcdTA0NDIiLAoiQmFjayI6ICJcdTA0MWRcdTA0MzBcdTA0MzdcdTA0MzBcdTA0MzQiLAoiR2FtbWEiOiAiXHUwNDEzXHUwNDMwXHUwNDNjXHUwNDMwIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1MDQxZVx1MDQzMVx1MDQ0YVx1MDQ0MFx1MDQzZFx1MDQzOCBcdTA0NDVcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0M2RcdTA0M2UiLAoiUmVzaXplIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzZVx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzY1x1MDQzNVx1MDQ0MFx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJTaGFycGVuIjogIlx1MDQxOFx1MDQzN1x1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0Zlx1MDQzZFx1MDQzNSIsCiJab29tIG91dCI6ICJcdTA0MWVcdTA0NDJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzVcdTA0NDdcdTA0MzgiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTA0MWRcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0MzlcdTA0M2FcdTA0MzggXHUwNDNkXHUwNDMwIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNVx1MDQ0Mlx1MDQzZSIsCiJBcHBseSI6ICJcdTA0MWZcdTA0NDBcdTA0MzhcdTA0M2JcdTA0M2VcdTA0MzZcdTA0MzgiLAoiQnJpZ2h0bmVzcyI6ICJcdTA0MmZcdTA0NDBcdTA0M2FcdTA0M2VcdTA0NDFcdTA0NDIiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTA0MTdcdTA0MzBcdTA0MzJcdTA0NGFcdTA0NDBcdTA0NDJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDNlIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQzZVx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzYVx1MDQzMCIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTA0MTdcdTA0MzBcdTA0MzJcdTA0NGFcdTA0NDBcdTA0NDJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDQyXHUwNDNkXHUwNDNlIFx1MDQzZFx1MDQzMCBcdTA0NDdcdTA0MzBcdTA0NDFcdTA0M2VcdTA0MzJcdTA0M2RcdTA0MzhcdTA0M2FcdTA0MzAiLAoiRWRpdCBpbWFnZSI6ICJcdTA0MjBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNVx1MDQ0Mlx1MDQzZSIsCiJDb2xvciBsZXZlbHMiOiAiXHUwNDI2XHUwNDMyXHUwNDM1XHUwNDQyXHUwNDNkXHUwNDM4IFx1MDQzZFx1MDQzOFx1MDQzMlx1MDQzMCIsCiJDcm9wIjogIlx1MDQxOFx1MDQzN1x1MDQ0MFx1MDQ0Zlx1MDQzN1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJPcmllbnRhdGlvbiI6ICJcdTA0MWVcdTA0NDBcdTA0MzhcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzBcdTA0NDZcdTA0MzhcdTA0NGYiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MDQxZVx1MDQzMVx1MDQ0YVx1MDQ0MFx1MDQzZFx1MDQzOCBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0M2RcdTA0M2UiLAoiSW52ZXJ0IjogIlx1MDQxOFx1MDQzZFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0MVx1MDQzOFx1MDQ0ZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzMFwvXHUwNDQ3XHUwNDMwXHUwNDQxIiwKIlJlbW92ZSBsaW5rIjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzY1x1MDQzMFx1MDQ0NVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQ1XHUwNDM4XHUwNDNmXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDQwXHUwNDRhXHUwNDM3XHUwNDNhXHUwNDMwIiwKIlVybCI6ICJcdTA0MTBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDEgKFVSTCkiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDQyMlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJBbmNob3JzIjogIlx1MDQxYVx1MDQzZVx1MDQ0Mlx1MDQzMlx1MDQzOCIsCiJJbnNlcnQgbGluayI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0NVx1MDQzOFx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzMlx1MDQ0MFx1MDQ0YVx1MDQzN1x1MDQzYVx1MDQzMCAoXHUwNDNiXHUwNDM4XHUwNDNkXHUwNDNhKSIsCiJOZXcgd2luZG93IjogIlx1MDQxMiBcdTA0M2RcdTA0M2VcdTA0MzIgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDM3XHUwNDNlXHUwNDQwXHUwNDM1XHUwNDQ2IChcdTA0M2ZcdTA0M2VcdTA0MzRcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzdcdTA0M2VcdTA0NDBcdTA0MzVcdTA0NDYpIiwKIk5vbmUiOiAiXHUwNDExXHUwNDM1XHUwNDM3IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkwgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDRhXHUwNDQyLCBcdTA0M2FcdTA0M2VcdTA0MzlcdTA0NDJcdTA0M2UgXHUwNDMyXHUwNDRhXHUwNDMyXHUwNDM0XHUwNDNlXHUwNDQ1XHUwNDQyXHUwNDM1IFx1MDQzZlx1MDQ0MFx1MDQzOFx1MDQzYlx1MDQzOFx1MDQ0N1x1MDQzMCBcdTA0MzJcdTA0NGFcdTA0M2RcdTA0NDhcdTA0MzVcdTA0M2QgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxLiBcdTA0MThcdTA0NDFcdTA0M2FcdTA0MzBcdTA0NDJcdTA0MzUgXHUwNDNiXHUwNDM4IFx1MDQzNFx1MDQzMCBcdTA0MzRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzUgXHUwNDNkXHUwNDM1XHUwNDNlXHUwNDMxXHUwNDQ1XHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNjXHUwNDM4XHUwNDRmIGh0dHA6XC9cLyBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzhcdTA0M2FcdTA0NDE/IiwKIlRhcmdldCI6ICJcdTA0MjZcdTA0MzVcdTA0M2IgXHUwNDMyIFx1MDQzNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlVSTCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0NGFcdTA0NDIsIFx1MDQzYVx1MDQzZVx1MDQzOVx1MDQ0Mlx1MDQzZSBcdTA0MzJcdTA0NGFcdTA0MzJcdTA0MzRcdTA0M2VcdTA0NDVcdTA0NDJcdTA0MzUgXHUwNDNmXHUwNDQwXHUwNDM4XHUwNDNiXHUwNDM4XHUwNDQ3XHUwNDMwIFx1MDQzZFx1MDQzMCBcdTA0MzUtXHUwNDNjXHUwNDM1XHUwNDM5XHUwNDNiIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MS4gXHUwNDE4XHUwNDQxXHUwNDNhXHUwNDMwXHUwNDQyXHUwNDM1IFx1MDQzYlx1MDQzOCBcdTA0MzRcdTA0MzAgXHUwNDM0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQzZFx1MDQzNVx1MDQzZVx1MDQzMVx1MDQ0NVx1MDQzZVx1MDQzNFx1MDQzOFx1MDQzY1x1MDQzOFx1MDQ0ZiBtYWlsdG86IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzOFx1MDQzYVx1MDQ0MT8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNkXHUwNDM1XC9cdTA0M2FcdTA0M2VcdTA0NDBcdTA0MzVcdTA0M2FcdTA0NDZcdTA0MzhcdTA0NGYgXHUwNDNkXHUwNDMwIFx1MDQ0NVx1MDQzOFx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzMlx1MDQ0MFx1MDQ0YVx1MDQzN1x1MDQzYVx1MDQzMCAoXHUwNDNiXHUwNDM4XHUwNDNkXHUwNDNhKSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNkXHUwNDM1XC9cdTA0M2FcdTA0M2VcdTA0NDBcdTA0MzVcdTA0M2FcdTA0NDZcdTA0MzhcdTA0NGYgXHUwNDNkXHUwNDMwIFx1MDQzMlx1MDQzOFx1MDQzNFx1MDQzNVx1MDQzZSIsCiJQb3N0ZXIiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDM1XHUwNDQwIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA0MTBcdTA0M2JcdTA0NDJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzhcdTA0MzJcdTA0MzVcdTA0M2QgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDM1IFx1MDQzYVx1MDQzZVx1MDQzNFx1MDQzMCBcdTA0MzdcdTA0MzAgXHUwNDMyXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzMiBcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0MzVcdTA0NDJcdTA0M2UgXHUwNDNmXHUwNDNlLVx1MDQzNFx1MDQzZVx1MDQzYlx1MDQ0MzoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQ0Zlx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDMyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkVtYmVkIjogIlx1MDQxMlx1MDQzM1x1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzNSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTA0MThcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiUGFnZSBicmVhayI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0MzAgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDQ2XHUwNDMwIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4IFx1MDQzYVx1MDQzMFx1MDQ0Mlx1MDQzZSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiUHJldmlldyI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzJcdTA0MzBcdTA0NDBcdTA0MzhcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzVcdTA0M2QgXHUwNDM4XHUwNDM3XHUwNDMzXHUwNDNiXHUwNDM1XHUwNDM0IiwKIlByaW50IjogIlx1MDQxZlx1MDQzNVx1MDQ0N1x1MDQzMFx1MDQ0MiIsCiJTYXZlIjogIlx1MDQyMVx1MDQ0YVx1MDQ0NVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNDIyXHUwNDRhXHUwNDQwXHUwNDQxXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDRmXHUwNDQyIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiBcdTA0M2RcdTA0MzUgXHUwNDM1IFx1MDQzZFx1MDQzMFx1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzZC4iLAoiUmVwbGFjZSI6ICJcdTA0MTdcdTA0MzBcdTA0M2NcdTA0NGZcdTA0M2RcdTA0MzAiLAoiTmV4dCI6ICJcdTA0MjFcdTA0M2JcdTA0MzVcdTA0MzRcdTA0MzJcdTA0MzBcdTA0NDkiLAoiV2hvbGUgd29yZHMiOiAiXHUwNDIxXHUwNDMwXHUwNDNjXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzYlx1MDQzOCBcdTA0MzRcdTA0NDNcdTA0M2NcdTA0MzgiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA0MjJcdTA0NGFcdTA0NDBcdTA0NDFcdTA0MzVcdTA0M2RcdTA0MzUgXHUwNDM4IFx1MDQzN1x1MDQzMFx1MDQzY1x1MDQ0Zlx1MDQzZFx1MDQzMCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDRmXHUwNDNkXHUwNDMwIFx1MDQ0MSIsCiJGaW5kIjogIlx1MDQyMlx1MDQ0YVx1MDQ0MFx1MDQ0MVx1MDQzNVx1MDQzZFx1MDQzNSBcdTA0MzdcdTA0MzAiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDRmXHUwNDNkXHUwNDMwIFx1MDQzZFx1MDQzMCBcdTA0MzJcdTA0NDFcdTA0MzhcdTA0NDdcdTA0M2FcdTA0MzggXHUwNDQxXHUwNDQwXHUwNDM1XHUwNDQ5XHUwNDMwXHUwNDNkXHUwNDM4XHUwNDRmIiwKIk1hdGNoIGNhc2UiOiAiXHUwNDIxXHUwNDRhXHUwNDMyXHUwNDNmXHUwNDMwXHUwNDM0XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzNcdTA0MzhcdTA0NDFcdTA0NDJcdTA0NGFcdTA0NDBcdTA0MzAgKFx1MDQzY1x1MDQzMFx1MDQzYlx1MDQzYVx1MDQzOFwvXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDNkXHUwNDM4IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCkiLAoiUHJldiI6ICJcdTA0MWZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzhcdTA0NDhcdTA0MzVcdTA0M2QiLAoiU3BlbGxjaGVjayI6ICJcdTA0MWZcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2FcdTA0MzAgXHUwNDNkXHUwNDMwIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzMCIsCiJGaW5pc2giOiAiXHUwNDFhXHUwNDQwXHUwNDMwXHUwNDM5IiwKIklnbm9yZSBhbGwiOiAiXHUwNDE4XHUwNDMzXHUwNDNkXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0MzJcdTA0NDFcdTA0MzhcdTA0NDdcdTA0M2FcdTA0M2UiLAoiSWdub3JlIjogIlx1MDQxOFx1MDQzM1x1MDQzZFx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0MzggXHUwNDMyIFx1MDQ0MFx1MDQzNVx1MDQ0N1x1MDQzZFx1MDQzOFx1MDQzYVx1MDQzMCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA0MTJcdTA0M2NcdTA0NGFcdTA0M2FcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0MFx1MDQzNVx1MDQzNCBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzgiLAoiUm93cyI6ICJcdTA0MjBcdTA0MzVcdTA0MzRcdTA0M2VcdTA0MzJcdTA0MzUiLAoiSGVpZ2h0IjogIlx1MDQxMlx1MDQzOFx1MDQ0MVx1MDQzZVx1MDQ0N1x1MDQzOFx1MDQzZFx1MDQzMCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwNDFmXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzQgXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDM0IiwKIkFsaWdubWVudCI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0NGZcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQ0Zlx1MDQ0MiBcdTA0M2RcdTA0MzAgXHUwNDQwXHUwNDMwXHUwNDNjXHUwNDNhXHUwNDMwXHUwNDQyXHUwNDMwIiwKIkNvbHVtbiBncm91cCI6ICJDb2x1bW4gZ3JvdXAiLAoiUm93IjogIlx1MDQyMFx1MDQzNVx1MDQzNCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA0MTJcdTA0M2NcdTA0NGFcdTA0M2FcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQzMCBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzgiLAoiU3BsaXQgY2VsbCI6ICJcdTA0MjBcdTA0MzBcdTA0MzdcdTA0MzRcdTA0MzVcdTA0M2JcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzYlx1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzMCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDQxXHUwNDQyXHUwNDNlXHUwNDRmXHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQzNFx1MDQzZSBcdTA0NDFcdTA0NGFcdTA0MzRcdTA0NGFcdTA0NDBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzVcdTA0NDJcdTA0M2UiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDQyMFx1MDQzMFx1MDQzN1x1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0Zlx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0M2NcdTA0MzVcdTA0MzZcdTA0MzRcdTA0NDMgXHUwNDNhXHUwNDNiXHUwNDM1XHUwNDQyXHUwNDNhXHUwNDM4XHUwNDQyXHUwNDM1IiwKIlJvdyB0eXBlIjogIlx1MDQyMlx1MDQzOFx1MDQzZiBcdTA0M2RcdTA0MzAgXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMwIiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCIsCiJCb2R5IjogIlx1MDQyMVx1MDQ0YVx1MDQzNFx1MDQ0YVx1MDQ0MFx1MDQzNlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSAoYm9keSkiLAoiQ2FwdGlvbiI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzggXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDMwXHUwNDQyXHUwNDMwIiwKIkZvb3RlciI6ICJcdTA0MTRcdTA0M2VcdTA0M2JcdTA0MzVcdTA0M2QgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDQzXHUwNDNiIChmb290ZXIpIiwKIkRlbGV0ZSByb3ciOiAiXHUwNDE4XHUwNDM3XHUwNDQyXHUwNDQwXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzAiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTA0MWZcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NGZcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0MFx1MDQzNVx1MDQzNCBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzgiLAoiU2NvcGUiOiAiXHUwNDFlXHUwNDMxXHUwNDQ1XHUwNDMyXHUwNDMwXHUwNDQyIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA0MThcdTA0MzdcdTA0NDJcdTA0NDBcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJIIEFsaWduIjogIlx1MDQyNVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzZFx1MDQzZSBcdTA0M2ZcdTA0M2VcdTA0MzRcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0NGZcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUiLAoiVG9wIjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzNSIsCiJIZWFkZXIgY2VsbCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNiXHUwNDM1XHUwNDQyXHUwNDNhXHUwNDMwIChcdTA0MzBcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDJcdTA0M2FcdTA0MzApIiwKIkNvbHVtbiI6ICJcdTA0MWFcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0MzAiLAoiUm93IGdyb3VwIjogIlJvdyBncm91cCIsCiJDZWxsIjogIlx1MDQxYVx1MDQzYlx1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzMCIsCiJNaWRkbGUiOiAiXHUwNDFmXHUwNDNlIFx1MDQ0MVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJDZWxsIHR5cGUiOiAiXHUwNDIyXHUwNDM4XHUwNDNmIFx1MDQzZFx1MDQzMCBcdTA0M2FcdTA0M2JcdTA0MzVcdTA0NDJcdTA0M2FcdTA0MzBcdTA0NDJcdTA0MzAiLAoiQ29weSByb3ciOiAiXHUwNDFhXHUwNDNlXHUwNDNmXHUwNDM4XHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzQiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDIxXHUwNDMyXHUwNDNlXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDMwIFx1MDQzZFx1MDQzMCBcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzAiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA0MjFcdTA0MzJcdTA0M2VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJCb3R0b20iOiAiXHUwNDE0XHUwNDNlXHUwNDNiXHUwNDQzIiwKIlYgQWxpZ24iOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDNkXHUwNDNlIFx1MDQzZlx1MDQzZVx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQ0Zlx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSIsCiJIZWFkZXIiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM1XHUwNDNkIFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiAoaGVhZGVyKSIsCiJSaWdodCI6ICJcdTA0MTRcdTA0NGZcdTA0NDFcdTA0M2RcdTA0M2UiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTA0MTJcdTA0M2NcdTA0NGFcdTA0M2FcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQzMCBcdTA0NDFcdTA0M2JcdTA0MzVcdTA0MzQiLAoiQ29scyI6ICJcdTA0MWFcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0MzgiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA0MTJcdTA0M2NcdTA0NGFcdTA0M2FcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQ0MFx1MDQzNVx1MDQzNCBcdTA0NDFcdTA0M2JcdTA0MzVcdTA0MzQiLAoiV2lkdGgiOiAiXHUwNDI4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDMwIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTA0MjFcdTA0MzJcdTA0M2VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzYlx1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJMZWZ0IjogIlx1MDQxYlx1MDQ0Zlx1MDQzMlx1MDQzZSIsCiJDdXQgcm93IjogIlx1MDQxOFx1MDQzN1x1MDQ0MFx1MDQ0Zlx1MDQzN1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDQwXHUwNDM1XHUwNDM0IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNDE4XHUwNDM3XHUwNDQyXHUwNDQwXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzAiLAoiQ2VudGVyIjogIlx1MDQyNlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQzOFx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzZSIsCiJNZXJnZSBjZWxscyI6ICJcdTA0MjFcdTA0M2JcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUgXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzYlx1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzOFx1MDQ0Mlx1MDQzNSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDRmXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0NDhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2QiLAoiVGVtcGxhdGVzIjogIlx1MDQyOFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQzOCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDQyNFx1MDQzZVx1MDQzZFx1MDQzZVx1MDQzMiBcdTA0NDZcdTA0MzJcdTA0NGZcdTA0NDIiLAoiQ3VzdG9tLi4uIjogIlx1MDQxOFx1MDQzN1x1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzZC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNDI2XHUwNDMyXHUwNDRmXHUwNDQyIFx1MDQzZlx1MDQzZSBcdTA0MzhcdTA0MzdcdTA0MzFcdTA0M2VcdTA0NDAiLAoiTm8gY29sb3IiOiAiXHUwNDExXHUwNDM1XHUwNDM3IFx1MDQ0Nlx1MDQzMlx1MDQ0Zlx1MDQ0MiIsCiJUZXh0IGNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQ0Zlx1MDQ0MiBcdTA0M2RcdTA0MzAgXHUwNDQ4XHUwNDQwXHUwNDM4XHUwNDQ0XHUwNDQyXHUwNDMwIiwKIlNob3cgYmxvY2tzIjogIlx1MDQxZlx1MDQzZVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQzMlx1MDQzMFx1MDQzZFx1MDQzNSBcdTA0M2RcdTA0MzAgXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNhXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDM1IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNDFmXHUwNDNlXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMCBcdTA0M2RcdTA0MzVcdTA0M2ZcdTA0MzVcdTA0NDdcdTA0MzBcdTA0NDJcdTA0MzBcdTA0MzVcdTA0M2NcdTA0MzggXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDQ2XHUwNDM4IiwKIldvcmRzOiB7MH0iOiAiXHUwNDExXHUwNDQwXHUwNDNlXHUwNDM5IFx1MDQzNFx1MDQ0M1x1MDQzY1x1MDQzODogezB9IiwKIkluc2VydCI6ICJcdTA0MTJcdTA0M2NcdTA0NGFcdTA0M2FcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzUiLAoiRmlsZSI6ICJcdTA0MjRcdTA0MzBcdTA0MzlcdTA0M2IiLAoiRWRpdCI6ICJcdTA0MjBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNDFmXHUwNDNlXHUwNDNiXHUwNDM1IFx1MDQzN1x1MDQzMCBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2QgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyLiBcdTA0MWRcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDFcdTA0M2RcdTA0MzVcdTA0NDJcdTA0MzUgQWx0K0Y5IFx1MDQzN1x1MDQzMCBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGU7IEFsdCtGMTAgXHUwNDM3XHUwNDMwIFx1MDQzYlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMCBcdTA0NDEgXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDM4OyBBbHQrMCBcdTA0MzdcdTA0MzAgXHUwNDNmXHUwNDNlXHUwNDNjXHUwNDNlXHUwNDQ5LiIsCiJUb29scyI6ICJcdTA0MThcdTA0M2RcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzgiLAoiVmlldyI6ICJcdTA0MThcdTA0MzdcdTA0MzNcdTA0M2JcdTA0MzVcdTA0MzQiLAoiVGFibGUiOiAiXHUwNDIyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDMwIiwKIkZvcm1hdCI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzUiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/bn_BD.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdibl9CRCcsewoiQ3V0IjogIlx1MDk5NVx1MDliMFx1MDljZFx1MDlhNFx1MDlhOCIsCiJIZWFkZXIgMiI6ICJcdTA5YjlcdTA5YzdcdTA5YTFcdTA5YmVcdTA5YjAgXHUwOWU4IiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIiwKIkRpdiI6ICJcdTA5YTFcdTA5YmZcdTA5YWQiLAoiUGFzdGUiOiAiXHUwOTg2XHUwOTlmXHUwOTk1XHUwOWM3IFx1MDlhNlx1MDliZlx1MDlhOCIsCiJDbG9zZSI6ICJcdTA5YWNcdTA5YThcdTA5Y2RcdTA5YTciLAoiRm9udCBGYW1pbHkiOiAiRm9udCBGYW1pbHkiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJBbGlnbiByaWdodCIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwOWE4XHUwOWE0XHUwOWMxXHUwOWE4IFx1MDlhNlx1MDliOFx1MDljZFx1MDlhNFx1MDliZVx1MDlhY1x1MDljN1x1MDk5YyIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1iZXJlZCBsaXN0IiwKIkluY3JlYXNlIGluZGVudCI6ICJJbmNyZWFzZSBpbmRlbnQiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIkhlYWRlcnMiOiAiXHUwOWI5XHUwOWM3XHUwOWExXHUwOWJlXHUwOWIwIFx1MDliOFx1MDlhZVx1MDljMVx1MDliOSIsCiJTZWxlY3QgYWxsIjogIlx1MDliOFx1MDlhYyBcdTA5YThcdTA5YmZcdTA5YjBcdTA5Y2RcdTA5YWNcdTA5YmVcdTA5OWFcdTA5YTggXHUwOTk1XHUwOWIwXHUwOWMxXHUwOWE4IiwKIkhlYWRlciAzIjogIlx1MDliOVx1MDljN1x1MDlhMVx1MDliZVx1MDliMCBcdTA5ZTkiLAoiQmxvY2tzIjogIkJsb2NrcyIsCiJVbmRvIjogIlx1MDlhYVx1MDljMlx1MDliMFx1MDljZFx1MDlhY1x1MDliZVx1MDlhY1x1MDliOFx1MDljZFx1MDlhNVx1MDliZVx1MDlhZlx1MDliYyBcdTA5YWJcdTA5YmZcdTA5YjBcdTA5YzFcdTA5YTgiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA5YjhcdTA5Y2RcdTA5OWZcdTA5Y2RcdTA5YjBcdTA5YmVcdTA5ODdcdTA5OTVcdTA5YTVcdTA5Y2RcdTA5YjBcdTA5YzEiLAoiQnVsbGV0IGxpc3QiOiAiQnVsbGV0IGxpc3QiLAoiSGVhZGVyIDEiOiAiXHUwOWI5XHUwOWM3XHUwOWExXHUwOWJlXHUwOWIwIFx1MDllNyIsCiJTdXBlcnNjcmlwdCI6ICJcdTA5OGFcdTA5YjBcdTA5Y2RcdTA5YTdcdTA5Y2RcdTA5YWNcdTA5YjJcdTA5YmZcdTA5YWFcdTA5YmYiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJDbGVhciBmb3JtYXR0aW5nIiwKIkZvbnQgU2l6ZXMiOiAiRm9udCBTaXplcyIsCiJTdWJzY3JpcHQiOiAiXHUwOWE4XHUwOWJmXHUwOWFlXHUwOWNkXHUwOWE4XHUwOWIyXHUwOWJmXHUwOWFhXHUwOWJmIiwKIkhlYWRlciA2IjogIlx1MDliOVx1MDljN1x1MDlhMVx1MDliZVx1MDliMCBcdTA5ZWMiLAoiUmVkbyI6ICJcdTA5YWFcdTA5YzFcdTA5YThcdTA5YjBcdTA5YmVcdTA5YWZcdTA5YmMgXHUwOTk1XHUwOWIwXHUwOWMxXHUwOWE4IiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhcGgiLAoiT2siOiAiXHUwOWEwXHUwOWJmXHUwOTk1IFx1MDk4Nlx1MDk5Ylx1MDljNyIsCiJCb2xkIjogIkJvbGQiLAoiQ29kZSI6ICJDb2RlIiwKIkl0YWxpYyI6ICJcdTA5YTRcdTA5YmZcdTA5YjBcdTA5Y2RcdTA5YWZcdTA5OTUiLAoiQWxpZ24gY2VudGVyIjogIkFsaWduIGNlbnRlciIsCiJIZWFkZXIgNSI6ICJcdTA5YjlcdTA5YzdcdTA5YTFcdTA5YmVcdTA5YjAgXHUwOWViIiwKIkRlY3JlYXNlIGluZGVudCI6ICJEZWNyZWFzZSBpbmRlbnQiLAoiSGVhZGVyIDQiOiAiXHUwOWI5XHUwOWM3XHUwOWExXHUwOWJlXHUwOWIwIFx1MDllYSIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIiwKIlVuZGVybGluZSI6ICJcdTA5YThcdTA5YmZcdTA5YWVcdTA5Y2RcdTA5YThcdTA5YjBcdTA5YzdcdTA5OTZcdTA5YmUiLAoiQ2FuY2VsIjogIlx1MDlhY1x1MDliZVx1MDlhNFx1MDliZlx1MDliMiIsCiJKdXN0aWZ5IjogIkp1c3RpZnkiLAoiSW5saW5lIjogIklubGluZSIsCiJDb3B5IjogIlx1MDk4NVx1MDlhOFx1MDljMVx1MDk5NVx1MDliMFx1MDlhMyIsCiJBbGlnbiBsZWZ0IjogIkFsaWduIGxlZnQiLAoiVmlzdWFsIGFpZHMiOiAiVmlzdWFsIGFpZHMiLAoiTG93ZXIgR3JlZWsiOiAiTG93ZXIgR3JlZWsiLAoiU3F1YXJlIjogIlNxdWFyZSIsCiJEZWZhdWx0IjogIkRlZmF1bHQiLAoiTG93ZXIgQWxwaGEiOiAiTG93ZXIgQWxwaGEiLAoiQ2lyY2xlIjogIkNpcmNsZSIsCiJEaXNjIjogIkRpc2MiLAoiVXBwZXIgQWxwaGEiOiAiVXBwZXIgQWxwaGEiLAoiVXBwZXIgUm9tYW4iOiAiVXBwZXIgUm9tYW4iLAoiTG93ZXIgUm9tYW4iOiAiTG93ZXIgUm9tYW4iLAoiTmFtZSI6ICJOYW1lIiwKIkFuY2hvciI6ICJBbmNob3IiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0b3JlIGxhc3QgZHJhZnQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lhbCBjaGFyYWN0ZXIiLAoiU291cmNlIGNvZGUiOiAiU291cmNlIGNvZGUiLAoiUmlnaHQgdG8gbGVmdCI6ICJSaWdodCB0byBsZWZ0IiwKIkxlZnQgdG8gcmlnaHQiOiAiTGVmdCB0byByaWdodCIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2N1bWVudCBwcm9wZXJ0aWVzIiwKIlRpdGxlIjogIlRpdGxlIiwKIktleXdvcmRzIjogIktleXdvcmRzIiwKIkVuY29kaW5nIjogIkVuY29kaW5nIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXB0aW9uIiwKIkF1dGhvciI6ICJBdXRob3IiLAoiRnVsbHNjcmVlbiI6ICJGdWxsc2NyZWVuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsIGxpbmUiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsIHNwYWNlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbnNlcnRcL2VkaXQgaW1hZ2UiLAoiR2VuZXJhbCI6ICJHZW5lcmFsIiwKIkFkdmFuY2VkIjogIkFkdmFuY2VkIiwKIlNvdXJjZSI6ICJTb3VyY2UiLAoiQm9yZGVyIjogIkJvcmRlciIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiQ29uc3RyYWluIHByb3BvcnRpb25zIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpY2FsIHNwYWNlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkltYWdlIGRlc2NyaXB0aW9uIiwKIlN0eWxlIjogIlN0eWxlIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaW9ucyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJ0IGltYWdlIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VydCBkYXRlXC90aW1lIiwKIlJlbW92ZSBsaW5rIjogIlJlbW92ZSBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHQgdG8gZGlzcGxheSIsCiJBbmNob3JzIjogIkFuY2hvcnMiLAoiSW5zZXJ0IGxpbmsiOiAiSW5zZXJ0IGxpbmsiLAoiTmV3IHdpbmRvdyI6ICJOZXcgd2luZG93IiwKIk5vbmUiOiAiTm9uZSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluc2VydFwvZWRpdCBsaW5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbnNlcnRcL2VkaXQgdmlkZW8iLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdmUgc291cmNlIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJ0IHZpZGVvIiwKIkVtYmVkIjogIkVtYmVkIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5vbmJyZWFraW5nIHNwYWNlIiwKIlBhZ2UgYnJlYWsiOiAiUGFnZSBicmVhayIsCiJQYXN0ZSBhcyB0ZXh0IjogIlBhc3RlIGFzIHRleHQiLAoiUHJldmlldyI6ICJQcmV2aWV3IiwKIlByaW50IjogIlByaW50IiwKIlNhdmUiOiAiU2F2ZSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIiwKIlJlcGxhY2UiOiAiUmVwbGFjZSIsCiJOZXh0IjogIk5leHQiLAoiV2hvbGUgd29yZHMiOiAiV2hvbGUgd29yZHMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGaW5kIGFuZCByZXBsYWNlIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZXBsYWNlIHdpdGgiLAoiRmluZCI6ICJGaW5kIiwKIlJlcGxhY2UgYWxsIjogIlJlcGxhY2UgYWxsIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggY2FzZSIsCiJQcmV2IjogIlByZXYiLAoiU3BlbGxjaGVjayI6ICJTcGVsbGNoZWNrIiwKIkZpbmlzaCI6ICJGaW5pc2giLAoiSWdub3JlIGFsbCI6ICJJZ25vcmUgYWxsIiwKIklnbm9yZSI6ICJJZ25vcmUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zZXJ0IHJvdyBiZWZvcmUiLAoiUm93cyI6ICJSb3dzIiwKIkhlaWdodCI6ICJIZWlnaHQiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBhc3RlIHJvdyBhZnRlciIsCiJBbGlnbm1lbnQiOiAiQWxpZ25tZW50IiwKIkNvbHVtbiBncm91cCI6ICJDb2x1bW4gZ3JvdXAiLAoiUm93IjogIlJvdyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcnQgY29sdW1uIGJlZm9yZSIsCiJTcGxpdCBjZWxsIjogIlNwbGl0IGNlbGwiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGwgcGFkZGluZyIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbCBzcGFjaW5nIiwKIlJvdyB0eXBlIjogIlJvdyB0eXBlIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcnQgdGFibGUiLAoiQm9keSI6ICJCb2R5IiwKIkNhcHRpb24iOiAiQ2FwdGlvbiIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkRlbGV0ZSByb3ciOiAiRGVsZXRlIHJvdyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBhc3RlIHJvdyBiZWZvcmUiLAoiU2NvcGUiOiAiU2NvcGUiLAoiRGVsZXRlIHRhYmxlIjogIkRlbGV0ZSB0YWJsZSIsCiJIZWFkZXIgY2VsbCI6ICJIZWFkZXIgY2VsbCIsCiJDb2x1bW4iOiAiQ29sdW1uIiwKIkNlbGwiOiAiQ2VsbCIsCiJIZWFkZXIiOiAiSGVhZGVyIiwKIkNlbGwgdHlwZSI6ICJDZWxsIHR5cGUiLAoiQ29weSByb3ciOiAiQ29weSByb3ciLAoiUm93IHByb3BlcnRpZXMiOiAiUm93IHByb3BlcnRpZXMiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJsZSBwcm9wZXJ0aWVzIiwKIlJvdyBncm91cCI6ICJSb3cgZ3JvdXAiLAoiUmlnaHQiOiAiUmlnaHQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcnQgY29sdW1uIGFmdGVyIiwKIkNvbHMiOiAiQ29scyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc2VydCByb3cgYWZ0ZXIiLAoiV2lkdGgiOiAiV2lkdGgiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkNlbGwgcHJvcGVydGllcyIsCiJMZWZ0IjogIkxlZnQiLAoiQ3V0IHJvdyI6ICJDdXQgcm93IiwKIkRlbGV0ZSBjb2x1bW4iOiAiRGVsZXRlIGNvbHVtbiIsCiJDZW50ZXIiOiAiQ2VudGVyIiwKIk1lcmdlIGNlbGxzIjogIk1lcmdlIGNlbGxzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcnQgdGVtcGxhdGUiLAoiVGVtcGxhdGVzIjogIlRlbXBsYXRlcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkJhY2tncm91bmQgY29sb3IiLAoiVGV4dCBjb2xvciI6ICJUZXh0IGNvbG9yIiwKIlNob3cgYmxvY2tzIjogIlNob3cgYmxvY2tzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyIsCiJXb3JkczogezB9IjogIldvcmRzOiB7MH0iLAoiSW5zZXJ0IjogIkluc2VydCIsCiJGaWxlIjogIkZpbGUiLAoiRWRpdCI6ICJFZGl0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIiwKIlRvb2xzIjogIlRvb2xzIiwKIlZpZXciOiAiVmlldyIsCiJUYWJsZSI6ICJUYWJsZSIsCiJGb3JtYXQiOiAiRm9ybWF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/bs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdicycsewoiQ3V0IjogIkl6cmVcdTAxN2VpIiwKIkhlYWRpbmcgNSI6ICJOYXNsb3YgNSIsCiJIZWFkZXIgMiI6ICJaYWdsYXZsamUgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJWYVx1MDE2MSBicm93c2VyIG5lIHBvZHJcdTAxN2VhdmEgZGlyZWt0YW4gcHJpc3R1cCBtZVx1MDExMXVtZW1vcmlqaS4gTW9saW1vIHZhcyBkYSBrb3Jpc3RpdGUgcHJlXHUwMTBkaWNlIEN0cmwrWFwvQ1wvViBuYSB0YXN0YXR1cmkuIiwKIkhlYWRpbmcgNCI6ICJOYXNsb3YgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJOYXNsb3YgMiIsCiJQYXN0ZSI6ICJaYWxpamVwaSIsCiJDbG9zZSI6ICJaYXR2b3JpIiwKIkZvbnQgRmFtaWx5IjogIkZhbWlsaWphIGZvbnRhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiUG9yYXZuYWogZGVzbm8iLAoiTmV3IGRvY3VtZW50IjogIk5vdmkgZG9rdW1lbnQiLAoiQmxvY2txdW90ZSI6ICJCbG9rIGNpdGF0IiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtZXJpc2FuYSBsaXN0YSIsCiJIZWFkaW5nIDEiOiAiTmFzbG92IDEiLAoiSGVhZGluZ3MiOiAiTmFzbG92aSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiUG92ZVx1MDEwN2FqIHV2bGFrdSIsCiJGb3JtYXRzIjogIkZvcm1hdGkiLAoiSGVhZGVycyI6ICJaYWdsYXZsamEiLAoiU2VsZWN0IGFsbCI6ICJPem5hXHUwMTBkaSBzdmUiLAoiSGVhZGVyIDMiOiAiWmFnbGF2bGplIDMiLAoiQmxvY2tzIjogIkJsb2tvdmkiLAoiVW5kbyI6ICJOYXphZCIsCiJTdHJpa2V0aHJvdWdoIjogIlByZWNydGFubyIsCiJCdWxsZXQgbGlzdCI6ICJCdWxsZXQgbGlzdGEiLAoiSGVhZGVyIDEiOiAiWmFnbGF2bGplIDEiLAoiU3VwZXJzY3JpcHQiOiAiRWtzcG9uZW50IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiUG9uaVx1MDE2MXRpIGZvcm1hdGlyYW5qZSIsCiJGb250IFNpemVzIjogIlZlbGlcdTAxMGRpbmUgZm9udGEiLAoiU3Vic2NyaXB0IjogIkluZGVrcyIsCiJIZWFkZXIgNiI6ICJaYWdsYXZsamUgNiIsCiJSZWRvIjogIk5hcHJpamVkIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZiIsCiJPayI6ICJVIHJlZHUiLAoiQm9sZCI6ICJQb2RlYmxqYW5vIiwKIkNvZGUiOiAiS29kIiwKIkl0YWxpYyI6ICJOYWtyaXZsamVuIiwKIkFsaWduIGNlbnRlciI6ICJDZW50cmlyYWoiLAoiSGVhZGVyIDUiOiAiWmFnbGF2bGplIDUiLAoiSGVhZGluZyA2IjogIk5hc2xvdiA2IiwKIkhlYWRpbmcgMyI6ICJOYXNsb3YgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiU21hbmppIHV2bGFrdSIsCiJIZWFkZXIgNCI6ICJaYWdsYXZsamUgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTGlqZXBsamVuamUgamUgc2FkYSB1IG1vZHUgb2JpXHUwMTBkbm9nIHRla3N0YS4gU2Fkclx1MDE3ZWFqIFx1MDEwN2Ugc2FkYSBiaXRpIHphbGlqZXBsamVuIGthbyBvYmlcdTAxMGRuaSB0ZWtzdCBzdmUgZG9rIG92dSBvcGNpanUgbmUgdWdhc2l0ZS4iLAoiVW5kZXJsaW5lIjogIlBvZHZ1XHUwMTBkZW5vIiwKIkNhbmNlbCI6ICJPdGthXHUwMTdlaSIsCiJKdXN0aWZ5IjogIk9ib3N0cmFubyBwb3Jhdm5hbmplIiwKIklubGluZSI6ICJVIGxpbmlqaSIsCiJDb3B5IjogIktvcGlyYWoiLAoiQWxpZ24gbGVmdCI6ICJQb3Jhdm5haiBsaWpldm8iLAoiVmlzdWFsIGFpZHMiOiAiVml6dWFsbmEgcG9tb1x1MDEwNyIsCiJMb3dlciBHcmVlayI6ICJNYWxhIGdyXHUwMTBka2Egc2xvdmEiLAoiU3F1YXJlIjogIkt2YWRyYXQiLAoiRGVmYXVsdCI6ICJQb1x1MDEwZGV0bm8iLAoiTG93ZXIgQWxwaGEiOiAiTWFsYSBzbG92YSIsCiJDaXJjbGUiOiAiS3J1ZyIsCiJEaXNjIjogIkRpc2siLAoiVXBwZXIgQWxwaGEiOiAiVmVsaWthIHNsb3ZhIiwKIlVwcGVyIFJvbWFuIjogIlZlbGlrYSByaW1za2Egc2xvdmEiLAoiTG93ZXIgUm9tYW4iOiAiTWFsYSByaW1za2Egc2xvdmEiLAoiTmFtZSI6ICJJbWUiLAoiQW5jaG9yIjogIkFuY2hvciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk5pc3RlIHNhXHUwMTBkdXZhbGkgaXptamVuZS4gSmVzdGUgbGkgc2lndXJuaSBkYSBcdTAxN2VlbGl0ZSBuYXB1c3RpdGkgc3RyYW5pY3U/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJWcmF0aSBwb3NsamVkbmp1IHNraWN1IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpamFsbmkgem5hayIsCiJTb3VyY2UgY29kZSI6ICJJenZvcm5pIGtvZCIsCiJDb2xvciI6ICJCb2phIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUyBkZXNuYSBuYSBsaWpldm8iLAoiTGVmdCB0byByaWdodCI6ICJTIGxpamV2YSBuYSBkZXNubyIsCiJFbW90aWNvbnMiOiAiU21hamxpamkiLAoiUm9ib3RzIjogIlJvYm90aSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlN2b2pzdHZhIGRva3VtZW50YSIsCiJUaXRsZSI6ICJOYXNsb3YiLAoiS2V5d29yZHMiOiAiS2xqdVx1MDEwZG5lIHJpamVcdTAxMGRpIiwKIkVuY29kaW5nIjogIktvZGlyYW5qZSIsCiJEZXNjcmlwdGlvbiI6ICJPcGlzIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIkNpamVsaSBla3JhbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiVm9kb3Jhdm5hIGxpbmlqYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250YWxuaSByYXptYWsiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlVtZXRuaVwvdXJlZGkgc2xpa3UiLAoiR2VuZXJhbCI6ICJPcFx1MDEwN2VuaXRvIiwKIkFkdmFuY2VkIjogIk5hcHJlZG5vIiwKIlNvdXJjZSI6ICJJenZvciIsCiJCb3JkZXIiOiAiT2t2aXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk9ncmFuaVx1MDEwZGkgcHJvcG9yY2lqZSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWthbG5pIHJhem1hayIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJPcGlzIHNsaWtlIiwKIlN0eWxlIjogIlN0aWwiLAoiRGltZW5zaW9ucyI6ICJEaW1lbnppamUiLAoiSW5zZXJ0IGltYWdlIjogIlVtZXRuaSBzbGlrdSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJVbWV0bmkgZGF0dW1cL3ZyaWplbWUiLAoiUmVtb3ZlIGxpbmsiOiAiVWtsb25pIGxpbmsiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGVrc3QgemEgcHJpa2F6IiwKIkFuY2hvcnMiOiAiQW5jaG9yaSIsCiJJbnNlcnQgbGluayI6ICJVbWV0bmkgbGluayIsCiJOZXcgd2luZG93IjogIk5vdmkgcHJvem9yIiwKIk5vbmUiOiAiTmlcdTAxNjF0YSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiSXpnbGVkYSBqZSBVUkwga29qaSBzdGUgdXBpc2FsaSB2YW5qc2tpIGxpbmsuIFx1MDE3ZGVsaXRlIGxpIGRhIGRvZGF0ZSBvYmF2ZXpuaSBodHRwOlwvXC8gcHJlZmlrcz8iLAoiVGFyZ2V0IjogIk9kcmVkaVx1MDE2MXRlIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiSXpnbGVkYSBkYSBqZSBVUkwga29qaSBzdGUgdXBpc2FsaSB1c3R2YXJpIGVtYWlsIGFkcmVzYS4gXHUwMTdkZWxpdGUgbGkgZGEgZG9kYXRlIG9iYXZlem5pIG1haWx0bzogcHJlZmlrcz8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVW1ldG5pXC91cmVkaSBsaW5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJVbWV0bmlcL3VyZWRpIHZpZGVvIiwKIlBvc3RlciI6ICJPYmphdmlvIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2bmkgaXp2b3IiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJaYWxpamVwaXRlIHZhXHUwMTYxIHVncmFkYmVuaSBrb2QgaXNwb2Q6IiwKIkluc2VydCB2aWRlbyI6ICJVbWV0bmkgdmlkZW8iLAoiRW1iZWQiOiAiVWdyYWRpIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5lcHJpamVsb21uaSByYXptYWsiLAoiUGFnZSBicmVhayI6ICJQcmlqZWxvbSBzdHJhbmljZSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlphbGlqZXBpIGthbyB0ZWtzdCIsCiJQcmV2aWV3IjogIlByZWdsZWQiLAoiUHJpbnQiOiAiXHUwMTYwdGFtcGFqIiwKIlNhdmUiOiAiU2FcdTAxMGR1dmFqIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJUcmFcdTAxN2Vlbmkgc3RyaW5nIG5pamUgcHJvbmFcdTAxMTFlbi4iLAoiUmVwbGFjZSI6ICJaYW1pamVuaSIsCiJOZXh0IjogIlNsamVkZVx1MDEwN2UiLAoiV2hvbGUgd29yZHMiOiAiQ2lqZWxlIHJpamVcdTAxMGRpIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiUHJvbmFcdTAxMTFpIGkgemFtaWplbmkiLAoiUmVwbGFjZSB3aXRoIjogIlphbWlqZW5hIHNhIiwKIkZpbmQiOiAiUHJvbmFcdTAxMTFpIiwKIlJlcGxhY2UgYWxsIjogIlphbWlqZW5pIHN2ZSIsCiJNYXRjaCBjYXNlIjogIlJhemxpa3VqIG1hbGEgaSB2ZWxpa2Egc2xvdmEiLAoiUHJldiI6ICJQcmV0aG9kbm8iLAoiU3BlbGxjaGVjayI6ICJQcm92amVyYSBwcmF2b3Bpc2EiLAoiRmluaXNoIjogIlphdnJcdTAxNjFpIiwKIklnbm9yZSBhbGwiOiAiWmFuZW1hcmkgc3ZlIiwKIklnbm9yZSI6ICJaYW5lbWFyaSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJEb2RhaiB1IHJqZVx1MDEwZG5payIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJVbWV0bmkgcmVkIGl6bmFkIiwKIlJvd3MiOiAiUmVkb3ZpIiwKIkhlaWdodCI6ICJWaXNpbmEiLAoiUGFzdGUgcm93IGFmdGVyIjogIlphbGlqZXBpIHJlZCBpem5hZCIsCiJBbGlnbm1lbnQiOiAiUG9yYXZuYW5qZSIsCiJCb3JkZXIgY29sb3IiOiAiQm9qYSBva3ZpcmEiLAoiQ29sdW1uIGdyb3VwIjogIkdydXBhIGtvbG9uZSIsCiJSb3ciOiAiUmVkIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlVtZXRuaSBrb2xvbnUgaXpuYWQiLAoiU3BsaXQgY2VsbCI6ICJQb2RpamVsaSBcdTAxMDdlbGlqdSIsCiJDZWxsIHBhZGRpbmciOiAiSXNwdW5qZW5qZSBcdTAxMDdlbGlqZSIsCiJDZWxsIHNwYWNpbmciOiAiUmF6bWFrIFx1MDEwN2VsaWphIiwKIlJvdyB0eXBlIjogIlZyc3RhIHJlZGEiLAoiSW5zZXJ0IHRhYmxlIjogIlVtZXRuaSB0YWJlbHUiLAoiQm9keSI6ICJUaWplbG8iLAoiQ2FwdGlvbiI6ICJOYXRwaXMiLAoiRm9vdGVyIjogIlBvZG5vXHUwMTdlamUiLAoiRGVsZXRlIHJvdyI6ICJPYnJpXHUwMTYxaSByZWQiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJaYWxpamVwaSByZWQgaXNwb2QiLAoiU2NvcGUiOiAiT3BzZWciLAoiRGVsZXRlIHRhYmxlIjogIk9icmlcdTAxNjFpIHRhYmVsdSIsCiJIIEFsaWduIjogIkggcG9yYXZuYW5qZSIsCiJUb3AiOiAiVnJoIiwKIkhlYWRlciBjZWxsIjogIlx1MDEwNmVsaWphIHphZ2xhdmxqYSIsCiJDb2x1bW4iOiAiS29sb25hIiwKIlJvdyBncm91cCI6ICJHcnVwYSByZWRhIiwKIkNlbGwiOiAiXHUwMTA2ZWxpamEiLAoiTWlkZGxlIjogIlNyZWRpbmEiLAoiQ2VsbCB0eXBlIjogIlZyc3RhIFx1MDEwN2VsaWplIiwKIkNvcHkgcm93IjogIktvcGlyYWogcmVkIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlN2b2pzdHZhIHJlZGEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJTdm9qc3R2YSB0YWJlbGUiLAoiQm90dG9tIjogIkRubyIsCiJWIEFsaWduIjogIlYgcG9yYXZuYW5qZSIsCiJIZWFkZXIiOiAiWmFnbGF2bGplIiwKIlJpZ2h0IjogIkRlc25vIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiVW1ldG5pIGtvbG9udSBpc3BvZCIsCiJDb2xzIjogIktvbG9uZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlVtZXRuaSByZWQgaXNwb2QiLAoiV2lkdGgiOiAiXHUwMTYwaXJpbmEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlN2b2pzdHZhIFx1MDEwN2VsaWplIiwKIkxlZnQiOiAiTGlqZXZvIiwKIkN1dCByb3ciOiAiSXpyZVx1MDE3ZWkgcmVkIiwKIkRlbGV0ZSBjb2x1bW4iOiAiT2JyaVx1MDE2MWkga29sb251IiwKIkNlbnRlciI6ICJDZW50cmlyYW5vIiwKIk1lcmdlIGNlbGxzIjogIlNwb2ppIFx1MDEwN2VsaWplIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJVbWV0bmkgcHJlZGxvXHUwMTdlYWsiLAoiVGVtcGxhdGVzIjogIlByZWRsb1x1MDE2MWNpIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQm9qYSBwb3phZGluZSIsCiJDdXN0b20uLi4iOiAiUHJpbGFnb1x1MDExMWVuby4uLiIsCiJDdXN0b20gY29sb3IiOiAiS29yaXNuaVx1MDEwZGthIGJvamEiLAoiTm8gY29sb3IiOiAiQmV6IGJvamUiLAoiVGV4dCBjb2xvciI6ICJCb2phIHRla3N0IiwKIlNob3cgYmxvY2tzIjogIlByaWthXHUwMTdlaSBibG9rb3ZlIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiUHJpa2FcdTAxN2VpIG5ldmlkbGppdmUgem5ha292ZSIsCiJXb3JkczogezB9IjogIlJpamVcdTAxMGRpOiB7MH0iLAoiSW5zZXJ0IjogIlVtZXRuaSIsCiJGaWxlIjogIkRhdG90ZWthIiwKIkVkaXQiOiAiVXJlZGkiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiT2JsYXN0IHphIHVyZVx1MDExMWl2YW5qZSB0ZWtzdGEuIFByaXRpc25pdGUgQUxULUY5IHphIG1lbmkuIFByaXRpc25pdGUgQUxULUYxMCB6YSBwcmlrYXogYWxhdG5lIHRyYWtlLiBQcml0aXNuaXRlIEFMVC0wIHphIHBvbW9cdTAxMDcuIiwKIlRvb2xzIjogIkFsYXRpIiwKIlZpZXciOiAiUHJlZ2xlZCIsCiJUYWJsZSI6ICJUYWJlbGEiLAoiRm9ybWF0IjogIkZvcm1hdGlyYW5qZSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ca.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdjYScsewoiQ3V0IjogIlJldGFsbGEiLAoiSGVhZGluZyA1IjogIkVuY2FwXHUwMGU3YWxhbWVudCA1IiwKIkhlYWRlciAyIjogIkNhcFx1MDBlN2FsZXJhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiRWwgdm9zdHJlIG5hdmVnYWRvciBubyBzdXBvcnRhIGwnYWNjXHUwMGU5cyBkaXJlY3RlIGFsIHBvcnRhb2JqZWN0ZXMuIFNpIHVzIHBsYXUsIGZldSBzZXJ2aXIgbGVzIGRyZWNlcmVzIGRlIHRlY2xhdCBDdHJsK1hcL0NcL1YuIiwKIkhlYWRpbmcgNCI6ICJFbmNhcFx1MDBlN2FsYW1lbnQgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJFbmNhcFx1MDBlN2FsYW1lbnQgMiIsCiJQYXN0ZSI6ICJFbmdhbnhhIiwKIkNsb3NlIjogIlRhbmNhIiwKIkZvbnQgRmFtaWx5IjogIkZhbVx1MDBlZGxpYSBkZSBsYSBmb250IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpbmlhdCBhIGxhIGRyZXRhIiwKIk5ldyBkb2N1bWVudCI6ICJOb3UgZG9jdW1lbnQiLAoiQmxvY2txdW90ZSI6ICJDaXRhIiwKIk51bWJlcmVkIGxpc3QiOiAiTGxpc3RhIGVudW1lcmFkYSIsCiJIZWFkaW5nIDEiOiAiRW5jYXBcdTAwZTdhbGFtZW50IDEiLAoiSGVhZGluZ3MiOiAiRW5jYXBcdTAwZTdhbGFtZW50cyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVnbWVudGFyIHNhZ25hdCIsCiJGb3JtYXRzIjogIkZvcm1hdHMiLAoiSGVhZGVycyI6ICJDYXBcdTAwZTdhbGVyZXMiLAoiU2VsZWN0IGFsbCI6ICJTZWxlY2Npb25hci1obyB0b3QiLAoiSGVhZGVyIDMiOiAiQ2FwXHUwMGU3YWxlcmEgMyIsCiJCbG9ja3MiOiAiQmxvY3MiLAoiVW5kbyI6ICJEZXNmZXIiLAoiU3RyaWtldGhyb3VnaCI6ICJSYXRsbGF0IiwKIkJ1bGxldCBsaXN0IjogIkxsaXN0YSBubyBvcmRlbmFkYSIsCiJIZWFkZXIgMSI6ICJDYXBcdTAwZTdhbGVyYSAxIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyXHUwMGVkbmRleCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkVsaW1pbmFyIGZvcm1hdCIsCiJGb250IFNpemVzIjogIk1pZGVzIGRlIGxhIGZvbnQiLAoiU3Vic2NyaXB0IjogIlN1Ylx1MDBlZG5kZXgiLAoiSGVhZGVyIDYiOiAiQ2FwXHUwMGU3YWxlcmEgNiIsCiJSZWRvIjogIlJlZmVyIiwKIlBhcmFncmFwaCI6ICJQYXJcdTAwZTBncmFmIiwKIk9rIjogIkFjY2VwdGFyIiwKIkJvbGQiOiAiTmVncmV0YSIsCiJDb2RlIjogIkNvZGkiLAoiSXRhbGljIjogIkN1cnNpdmEiLAoiQWxpZ24gY2VudGVyIjogIkNlbnRyYXQiLAoiSGVhZGVyIDUiOiAiQ2FwXHUwMGU3YWxlcmEgNSIsCiJIZWFkaW5nIDYiOiAiRW5jYXBcdTAwZTdhbGFtZW50IDYiLAoiSGVhZGluZyAzIjogIkVuY2FwXHUwMGU3YWxhbWVudCAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJEaXNtaW51aXIgc2FnbmF0IiwKIkhlYWRlciA0IjogIkNhcFx1MDBlN2FsZXJhIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkVuZ2FueGFyIGFyYSBlc3RcdTAwZTAgZW4gbW9kZSB0ZXh0IHBsYS4gRWxzIGNvbnRpbmd1dHMgcydlbmdhbnhhcmFuIGNvbSBhIHRleHQgcGxhIGZpbnMgcXVlIGRlc2FjdGl2aXMgYXF1ZXN0YSBvcGNpXHUwMGYzLiAiLAoiVW5kZXJsaW5lIjogIlN1YnJhdGxsYXQiLAoiQ2FuY2VsIjogIkNhbmNlbFx1MDBiN2xhIiwKIkp1c3RpZnkiOiAiSnVzdGlmaWNhdCIsCiJJbmxpbmUiOiAiRW4gbFx1MDBlZG5pYSIsCiJDb3B5IjogIkNvcGlhIiwKIkFsaWduIGxlZnQiOiAiQWxpbmlhdCBhIGwnZXNxdWVycmEiLAoiVmlzdWFsIGFpZHMiOiAiQXNzaXN0XHUwMGU4bmNpYSB2aXN1YWwiLAoiTG93ZXIgR3JlZWsiOiAiR3JlYyBtZW5vciIsCiJTcXVhcmUiOiAiUXVhZHJhdCIsCiJEZWZhdWx0IjogIlBlciBkZWZlY3RlIiwKIkxvd2VyIEFscGhhIjogIkFsZmEgbWVub3IiLAoiQ2lyY2xlIjogIkNlcmNsZSIsCiJEaXNjIjogIkRpc2MiLAoiVXBwZXIgQWxwaGEiOiAiQWxmYSBtYWpvciIsCiJVcHBlciBSb21hbiI6ICJSb21hbiBtYWpvciIsCiJMb3dlciBSb21hbiI6ICJSb21hbiBtZW5vciIsCiJOYW1lIjogIk5vbSIsCiJBbmNob3IiOiAiXHUwMGMwbmNvcmEiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJUZW5pdSBjYW52aXMgc2Vuc2UgZGVzYXIsIGVzdGV1IHNlZ3VyIHF1ZSB2b2xldSBkZWl4YXItaG8gYXJhPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdGF1cmFyIGwnXHUwMGZhbHRpbSBlc2JvcnJhbnkiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyXHUwMGUwY3RlciBlc3BlY2lhbCIsCiJTb3VyY2UgY29kZSI6ICJDb2RpIGZvbnQiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiQ29sb3IiLAoiUmlnaHQgdG8gbGVmdCI6ICJEZSBkcmV0YSBhIGVzcXVlcnJhIiwKIkxlZnQgdG8gcmlnaHQiOiAiRCdlc3F1ZXJyYSBhIGRyZXRhIiwKIkVtb3RpY29ucyI6ICJFbW90aWNvbmVzIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcm9waWV0YXRzIGRlbCBkb2N1bWVudCIsCiJUaXRsZSI6ICJUXHUwMGVkdG9sIiwKIktleXdvcmRzIjogIlBhcmF1bGVzIGNsYXUiLAoiRW5jb2RpbmciOiAiQ29kaWZpY2FjaVx1MDBmMyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwY2lcdTAwZjMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkZ1bGxzY3JlZW4iOiAiUGFudGFsbGEgY29tcGxldGEiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxcdTAwZWRuaWEgaG9yaXR6b250YWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJFc3BhaSBob3JpdHpvbnRhbCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJpclwvZWRpdGFyIGltYXRnZSIsCiJHZW5lcmFsIjogIkdlbmVyYWwiLAoiQWR2YW5jZWQiOiAiQXZhblx1MDBlN2F0IiwKIlNvdXJjZSI6ICJGb250IiwKIkJvcmRlciI6ICJWb3JhIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJNYW50ZW5pciBwcm9wb3JjaW9ucyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJFc3BhaSB2ZXJ0aWNhbCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEZXNjcmlwY2lcdTAwZjMgZGUgbGEgaW1hdGdlIiwKIlN0eWxlIjogIkVzdGlsIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaW9ucyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJpciBpbWF0Z2UiLAoiWm9vbSBpbiI6ICJBbXBsaWFyIiwKIkNvbnRyYXN0IjogIkNvbnRyYXN0IiwKIkJhY2siOiAiVG9ybmFyIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkNhcGdpcmFyIGhvcml0em9udGFsbWVudCIsCiJSZXNpemUiOiAiQ2FudmlhciBtaWRhIiwKIlNoYXJwZW4iOiAiUmVtYXJjYXIgdm9yZXMiLAoiWm9vbSBvdXQiOiAiRW1wZXRpdGlyIiwKIkltYWdlIG9wdGlvbnMiOiAiT3BjaW9ucyBkJ2ltYXRnZSIsCiJBcHBseSI6ICJBcGxpY2FyIiwKIkJyaWdodG5lc3MiOiAiQnJpbGxhbnRvciIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIkdpcmFyIGEgbGEgZHJldGEiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiR2lyYXIgYSBsJ2VzcXVlcnJhIiwKIkVkaXQgaW1hZ2UiOiAiRWRpdGFyIGltYXRnZSIsCiJDb2xvciBsZXZlbHMiOiAiTml2ZWxscyBkZSBjb2xvciIsCiJDcm9wIjogIkVzY2FwXHUwMGU3YXIiLAoiT3JpZW50YXRpb24iOiAiT3JpZW50YWNpXHUwMGYzIiwKIkZsaXAgdmVydGljYWxseSI6ICJDYXBnaXJhciB2ZXJ0aWNhbG1lbnQiLAoiSW52ZXJ0IjogIkludmVydGlyIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VyaXIgZGF0YVwvaG9yYSIsCiJSZW1vdmUgbGluayI6ICJUcmV1cmUgZW5sbGFcdTAwZTciLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dCBwZXIgbW9zdHJhciIsCiJBbmNob3JzIjogIlx1MDBjMG5jb3JlcyIsCiJJbnNlcnQgbGluayI6ICJJbnNlcmlyIGVubGxhXHUwMGU3IiwKIk5ldyB3aW5kb3ciOiAiRmluZXN0cmEgbm92YSIsCiJOb25lIjogIkNhcCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiTCdVUkwgcXVlIGhhcyBlc2NyaXQgc2VtYmxhIHVuIGVubGxhXHUwMGU3IGV4dGVybi4gVm9scyBhZmVnaXItbGkgZWwgcHJlZml4IG9ibGlnYXRvcmkgaHR0cDpcL1wvID8iLAoiVGFyZ2V0IjogIkRlc3RcdTAwZWQiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJMJ1VSTCBxdWUgaGFzIGVzY3JpdCBzZW1ibGEgdW5hIGFkcmVcdTAwZTdhIGRlIGNvcnJldSBlbGVjdHJcdTAwZjJuaWMuIFZvbHMgYWZlZ2lyLWxpIGVsIHByZWZpeCBvYmxpZ2F0b3JpIG1haWx0bzogPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcmlyXC9lZGl0YXIgZW5sbGFcdTAwZTciLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VyaXJcL2VkaXRhciB2XHUwMGVkZGVvIiwKIlBvc3RlciI6ICJQXHUwMGYzc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiRm9udCBhbHRlcm5hdGl2YSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkVuZ2FueGF1IGVsIGNvZGkgYSBzb3RhOiIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJpciB2XHUwMGVkZGVvIiwKIkVtYmVkIjogIkluY2xvdXJlIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkVzcGFpIGZpeGUiLAoiUGFnZSBicmVhayI6ICJTYWx0IGRlIHBcdTAwZTBnaW5hIiwKIlBhc3RlIGFzIHRleHQiOiAiRW5nYW54YXIgY29tIGEgdGV4dCIsCiJQcmV2aWV3IjogIlByZXZpc3VhbGl0emFjaVx1MDBmMyIsCiJQcmludCI6ICJJbXByaW1pciIsCiJTYXZlIjogIkRlc2EiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5vIGVzIHBvdCB0cm9iYXIgZWwgdGV4dCBlc3BlY2lmaWNhdC4iLAoiUmVwbGFjZSI6ICJSZW1wbGFcdTAwZTdhciIsCiJOZXh0IjogIlNlZ1x1MDBmY2VudCIsCiJXaG9sZSB3b3JkcyI6ICJQYXJhdWxlcyBzZW5jZXJlcyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkJ1c2NhciBpIHJlbXBsYVx1MDBlN2FyIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZW1wbGFcdTAwZTdhciBhbWIiLAoiRmluZCI6ICJCdXNjYXIiLAoiUmVwbGFjZSBhbGwiOiAiUmVtcGxhXHUwMGU3YXItaG8gdG90IiwKIk1hdGNoIGNhc2UiOiAiQ29pbmNpZGlyIG1halx1MDBmYXNjdWxlcyIsCiJQcmV2IjogIkFudGVyaW9yIiwKIlNwZWxsY2hlY2siOiAiQ29tcHJvdmFyIG9ydHJvZ3JhZmlhIiwKIkZpbmlzaCI6ICJGaW5hbGl0emFyIiwKIklnbm9yZSBhbGwiOiAiSWdub3JhciB0b3RzIiwKIklnbm9yZSI6ICJJZ25vcmFyIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkFmZWdpciBhbCBkaWNjaW9uYXJpIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VyaXIgZmlsYSBhIHNvYnJlIiwKIlJvd3MiOiAiRmlsZXMiLAoiSGVpZ2h0IjogIkFsXHUwMGU3YWRhIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJFbmdhbnhhciBmaWxhIGEgc290YSIsCiJBbGlnbm1lbnQiOiAiQWxpbmlhbWVudCIsCiJCb3JkZXIgY29sb3IiOiAiQ29sb3IgZGUgdm9yYSIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cCBkZSBjb2x1bW5hIiwKIlJvdyI6ICJGaWxhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluc2VyaXIgY29sdW1uYSBhYmFucyIsCiJTcGxpdCBjZWxsIjogIkRpdmlkaXIgY2VsXHUwMGI3bGVzIiwKIkNlbGwgcGFkZGluZyI6ICJNYXJnZSBpbnRlcm4iLAoiQ2VsbCBzcGFjaW5nIjogIkVzcGFpIGVudHJlIGNlbFx1MDBiN2xlcyIsCiJSb3cgdHlwZSI6ICJUaXB1cyBkZSBmaWxhIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcmlyIHRhdWxhIiwKIkJvZHkiOiAiQ29zIiwKIkNhcHRpb24iOiAiRW5jYXBcdTAwZTdhbGFtZW50IiwKIkZvb3RlciI6ICJQZXUiLAoiRGVsZXRlIHJvdyI6ICJFc2JvcnJhciBmaWxhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiRW5nYW54YXIgZmlsYSBhIHNvYnJlIiwKIlNjb3BlIjogIlx1MDBjMG1iaXQiLAoiRGVsZXRlIHRhYmxlIjogIkVzYm9ycmFyIHRhdWxhIiwKIkggQWxpZ24iOiAiQWxcdTAwZWRuaWFtZW50IEgiLAoiVG9wIjogIlN1cGVyaW9yIiwKIkhlYWRlciBjZWxsIjogIkNlbFx1MDBiN2xhIGRlIGNhcFx1MDBlN2FsZXJhIiwKIkNvbHVtbiI6ICJDb2x1bW5hIiwKIlJvdyBncm91cCI6ICJHcnVwIGRlIGZpbGEiLAoiQ2VsbCI6ICJDZWxcdTAwYjdsYSIsCiJNaWRkbGUiOiAiTWl0alx1MDBlMCIsCiJDZWxsIHR5cGUiOiAiVGlwdXMgZGUgY2VsXHUwMGI3bGEiLAoiQ29weSByb3ciOiAiQ29waWFyIGZpbGEiLAoiUm93IHByb3BlcnRpZXMiOiAiUHJvcGlldGF0cyBkZSBmaWxhIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcGlldGF0cyBkZSB0YXVsYSIsCiJCb3R0b20iOiAiSW5mZXJpb3IiLAoiViBBbGlnbiI6ICJBbFx1MDBlZG5pYW1lbnQgViIsCiJIZWFkZXIiOiAiQ2FwXHUwMGU3YWxlcmEiLAoiUmlnaHQiOiAiQSBsYSBkcmV0YSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkluc2VyaXIgY29sdW1uYSBkZXNwclx1MDBlOXMiLAoiQ29scyI6ICJDb2xzIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJpciBmaWxhIGEgc290YSIsCiJXaWR0aCI6ICJBbXBsYWRhIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9waWV0YXRzIGRlIGNlbFx1MDBiN2xhIiwKIkxlZnQiOiAiQSBsJ2VzcXVlcnJhIiwKIkN1dCByb3ciOiAiUmV0YWxsYXIgZmlsYSIsCiJEZWxldGUgY29sdW1uIjogIkVzYm9ycmFyIGNvbHVtbmEiLAoiQ2VudGVyIjogIkNlbnRyYXQiLAoiTWVyZ2UgY2VsbHMiOiAiRnVzaW9uYXIgY2VsXHUwMGI3bGVzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcmlyIHBsYW50aWxsYSIsCiJUZW1wbGF0ZXMiOiAiUGxhbnRpbGxlcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkNvbG9yIGRlbCBmb25zIiwKIkN1c3RvbS4uLiI6ICJQZXJzb25hbGl0emFyLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJQZXJzb25hbGl0emFyIGVsIGNvbG9yIiwKIk5vIGNvbG9yIjogIlNlbnNlIGNvbG9yIiwKIlRleHQgY29sb3IiOiAiQ29sb3IgZGVsIHRleHQiLAoiU2hvdyBibG9ja3MiOiAiTW9zdHJhciBibG9jcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIk1vc3RyYXIgY2FyXHUwMGUwY3RlcnMgaW52aXNpYmxlcyIsCiJXb3JkczogezB9IjogIlBhcmF1bGVzOiB7MH0iLAoiSW5zZXJ0IjogIkluc2VyaXIiLAoiRmlsZSI6ICJBcnhpdSIsCiJFZGl0IjogIkVkaWNpXHUwMGYzIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDBjMHJlYSBkZSB0ZXh0IGFtYiBmb3JtYXQuIFByZW1ldSBBTFQtRjkgcGVyIG1vc3RyYXIgZWwgbWVuXHUwMGZhLCBBTFQgRjEwIHBlciBsYSBiYXJyYSBkJ2VpbmVzIGkgQUxULTAgcGVyIGFqdWRhLiIsCiJUb29scyI6ICJFaW5lcyIsCiJWaWV3IjogIlZldXJlIiwKIlRhYmxlIjogIlRhdWxhIiwKIkZvcm1hdCI6ICJGb3JtYXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/cs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdjcycsewoiQ3V0IjogIlZ5am1vdXQiLAoiSGVhZGluZyA1IjogIk5hZHBpcyA1IiwKIkhlYWRlciAyIjogIk5hZHBpcyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZcdTAwZTFcdTAxNjEgcHJvaGxcdTAwZWRcdTAxN2VlXHUwMTBkIG5lcG9kcG9ydWplIHBcdTAxNTlcdTAwZWRtXHUwMGZkIHBcdTAxNTlcdTAwZWRzdHVwIGRvIHNjaHJcdTAwZTFua3kuIFBvdVx1MDE3ZWlqdGUgcHJvc1x1MDBlZG0ga2xcdTAwZTF2ZXNvdlx1MDBlOSB6a3JhdGt5IEN0cmwrWFwvQ1wvVi4iLAoiSGVhZGluZyA0IjogIk5hZHBpcyA0IiwKIkRpdiI6ICJEaXYgKGJsb2spIiwKIkhlYWRpbmcgMiI6ICJOYWRwaXMgMiIsCiJQYXN0ZSI6ICJWbG9cdTAxN2VpdCIsCiJDbG9zZSI6ICJaYXZcdTAxNTlcdTAwZWR0IiwKIkZvbnQgRmFtaWx5IjogIlR5cCBwXHUwMGVkc21hIiwKIlByZSI6ICJQcmUgKHBcdTAxNTllZGZvcm1cdTAwZTF0b3ZcdTAwZTFubykiLAoiQWxpZ24gcmlnaHQiOiAiWmFyb3ZuYXQgdnByYXZvIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZcdTAwZmQgZG9rdW1lbnQiLAoiQmxvY2txdW90ZSI6ICJDaXRhY2UiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTAxMGNcdTAwZWRzbG92XHUwMGUxblx1MDBlZCIsCiJIZWFkaW5nIDEiOiAiTmFkcGlzIDEiLAoiSGVhZGluZ3MiOiAiTmFkcGlzeSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiWnZcdTAxMWJ0XHUwMTYxaXQgb2RzYXplblx1MDBlZCIsCiJGb3JtYXRzIjogIkZvcm1cdTAwZTF0eSIsCiJIZWFkZXJzIjogIk5hZHBpc3kiLAoiU2VsZWN0IGFsbCI6ICJWeWJyYXQgdlx1MDE2MWUiLAoiSGVhZGVyIDMiOiAiTmFkcGlzIDMiLAoiQmxvY2tzIjogIkJsb2tvdlx1MDBlOSB6b2JyYXplblx1MDBlZCAoYmxvY2spIiwKIlVuZG8iOiAiWnBcdTAxMWJ0IiwKIlN0cmlrZXRocm91Z2giOiAiUFx1MDE1OWVcdTAxNjFya3RudXRcdTAwZTkiLAoiQnVsbGV0IGxpc3QiOiAiT2RyXHUwMGUxXHUwMTdla3kiLAoiSGVhZGVyIDEiOiAiTmFkcGlzIDEiLAoiU3VwZXJzY3JpcHQiOiAiSG9yblx1MDBlZCBpbmRleCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlZ5bWF6YXQgZm9ybVx1MDBlMXRvdlx1MDBlMW5cdTAwZWQiLAoiRm9udCBTaXplcyI6ICJWZWxpa29zdCBwXHUwMGVkc21hIiwKIlN1YnNjcmlwdCI6ICJEb2xuXHUwMGVkIGluZGV4IiwKIkhlYWRlciA2IjogIk5hZHBpcyA2IiwKIlJlZG8iOiAiWm5vdnUiLAoiUGFyYWdyYXBoIjogIk9kc3RhdmVjIiwKIk9rIjogIk9LIiwKIkJvbGQiOiAiVHVcdTAxMGRuXHUwMGU5IiwKIkNvZGUiOiAiQ29kZSAoa1x1MDBmM2QpIiwKIkl0YWxpYyI6ICJLdXJ6XHUwMGVkdmEiLAoiQWxpZ24gY2VudGVyIjogIlphcm92bmF0IG5hIHN0XHUwMTU5ZWQiLAoiSGVhZGVyIDUiOiAiTmFkcGlzIDUiLAoiSGVhZGluZyA2IjogIk5hZHBpcyA2IiwKIkhlYWRpbmcgMyI6ICJOYWRwaXMgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiWm1lblx1MDE2MWl0IG9kc2F6ZW5cdTAwZWQiLAoiSGVhZGVyIDQiOiAiTmFkcGlzIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkplIHphcG51dG8gdmtsXHUwMGUxZFx1MDBlMW5cdTAwZWQgXHUwMTBkaXN0XHUwMGU5aG8gdGV4dHUuIERva3VkIG5lYnVkZSB0YXRvIHZvbGJhIHZ5cG51dGEsIGJ1ZGUgdmVcdTAxNjFrZXJcdTAwZmQgb2JzYWggdmxvXHUwMTdlZW4gamFrbyBcdTAxMGRpc3RcdTAwZmQgdGV4dC4iLAoiVW5kZXJsaW5lIjogIlBvZHRyXHUwMTdlZW5cdTAwZTkiLAoiQ2FuY2VsIjogIlpydVx1MDE2MWl0IiwKIkp1c3RpZnkiOiAiWmFyb3ZuYXQgZG8gYmxva3UiLAoiSW5saW5lIjogIlx1MDE1OFx1MDBlMWRrb3ZcdTAwZTkgem9icmF6ZW5cdTAwZWQgKGlubGluZSkiLAoiQ29weSI6ICJLb3BcdTAwZWRyb3ZhdCIsCiJBbGlnbiBsZWZ0IjogIlphcm92bmF0IHZsZXZvIiwKIlZpc3VhbCBhaWRzIjogIlZpenVcdTAwZTFsblx1MDBlZCBwb21cdTAxNmZja3kiLAoiTG93ZXIgR3JlZWsiOiAiTWFsXHUwMGU5IHBcdTAwZWRzbWVua292XHUwMGUxblx1MDBlZCIsCiJTcXVhcmUiOiAiXHUwMTBjdHZlcmVcdTAxMGRlayIsCiJEZWZhdWx0IjogIlZcdTAwZmRjaG96XHUwMGVkIiwKIkxvd2VyIEFscGhhIjogIk5vcm1cdTAwZTFsblx1MDBlZCBcdTAxMGRcdTAwZWRzbG92XHUwMGUxblx1MDBlZCIsCiJDaXJjbGUiOiAiS29sZVx1MDEwZGtvIiwKIkRpc2MiOiAiUHVudFx1MDBlZGsiLAoiVXBwZXIgQWxwaGEiOiAidmVsa1x1MDBlOSBwXHUwMGVkc21lbmtvdlx1MDBlMW5cdTAwZWQiLAoiVXBwZXIgUm9tYW4iOiAiXHUwMTU4XHUwMGVkbXNrXHUwMGU5IFx1MDEwZFx1MDBlZHNsaWNlIiwKIkxvd2VyIFJvbWFuIjogIk1hbFx1MDBlOSBcdTAxNTlcdTAwZWRtc2tcdTAwZTkgXHUwMTBkXHUwMGVkc2xpY2UiLAoiTmFtZSI6ICJOXHUwMGUxemV2IiwKIkFuY2hvciI6ICJLb3R2YSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk1cdTAwZTF0ZSBuZXVsb1x1MDE3ZWVuXHUwMGU5IHptXHUwMTFibnkuIE9wcmF2ZHUgY2hjZXRlIG9wdXN0aXQgc3RyXHUwMGUxbmt1PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiT2Jub3ZpdCBwb3NsZWRuXHUwMGVkIGtvbmNlcHQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lcdTAwZTFsblx1MDBlZCB6bmFrIiwKIlNvdXJjZSBjb2RlIjogIlpkcm9qb3ZcdTAwZmQga1x1MDBmM2QiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiQmFydmEiLAoiUmlnaHQgdG8gbGVmdCI6ICJacHJhdmEgZG9sZXZhIiwKIkxlZnQgdG8gcmlnaHQiOiAiWmxldmEgZG9wcmF2YSIsCiJFbW90aWNvbnMiOiAiRW1vdGlrb255IiwKIlJvYm90cyI6ICJSb2JvdGkiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJWbGFzdG5vc3RpIGRva3VtZW50dSIsCiJUaXRsZSI6ICJUaXR1bGVrIiwKIktleXdvcmRzIjogIktsXHUwMGVkXHUwMTBkb3ZcdTAwZTEgc2xvdmEiLAoiRW5jb2RpbmciOiAiS1x1MDBmM2Rvdlx1MDBlMW5cdTAwZWQiLAoiRGVzY3JpcHRpb24iOiAiUG9waXMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkZ1bGxzY3JlZW4iOiAiTmEgY2Vsb3Ugb2JyYXpvdmt1IiwKIkhvcml6b250YWwgbGluZSI6ICJWb2Rvcm92blx1MDBlMSBcdTAxMGRcdTAwZTFyYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250XHUwMGUxbG5cdTAwZWQgbWV6ZXJhIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJWbG9cdTAxN2VpdCBcLyB1cHJhdml0IG9iclx1MDBlMXplayIsCiJHZW5lcmFsIjogIk9iZWNuXHUwMGU5IiwKIkFkdmFuY2VkIjogIlBva3JvXHUwMTBkaWxcdTAwZTkiLAoiU291cmNlIjogIlVSTCIsCiJCb3JkZXIiOiAiUlx1MDBlMW1lXHUwMTBkZWsiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlphY2hvdmF0IHByb3BvcmNlIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa1x1MDBlMWxuXHUwMGVkIG1lemVyYSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJQb3BpcyBvYnJcdTAwZTF6a3UiLAoiU3R5bGUiOiAiU3R5bCIsCiJEaW1lbnNpb25zIjogIlJvem1cdTAxMWJyeSIsCiJJbnNlcnQgaW1hZ2UiOiAiVmxvXHUwMTdlaXQgb2JyXHUwMGUxemVrIiwKIlpvb20gaW4iOiAiUFx1MDE1OWlibFx1MDBlZFx1MDE3ZWl0IiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkJhY2siOiAiWnBcdTAxMWJ0IiwKIkdhbW1hIjogIkdhbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUFx1MDE1OWV2clx1MDBlMXRpdCB2b2Rvcm92blx1MDExYiIsCiJSZXNpemUiOiAiWm1cdTAxMWJuaXQgdmVsaWtvc3QiLAoiU2hhcnBlbiI6ICJPc3Ryb3N0IiwKIlpvb20gb3V0IjogIk9kZFx1MDBlMWxpdCIsCiJJbWFnZSBvcHRpb25zIjogIlZsYXN0bm9zdGkgb2JyXHUwMGUxemt1IiwKIkFwcGx5IjogIlBvdVx1MDE3ZVx1MDBlZHQiLAoiQnJpZ2h0bmVzcyI6ICJKYXMiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJPdG9cdTAxMGRpdCBkb3ByYXZhIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIk90b1x1MDEwZGl0IGRvbGV2YSIsCiJFZGl0IGltYWdlIjogIlVwcmF2aXQgb2JyXHUwMGUxemVrIiwKIkNvbG9yIGxldmVscyI6ICJcdTAwZGFyb3ZuXHUwMTFiIGJhcmV2IiwKIkNyb3AiOiAiT1x1MDE1OVx1MDBlZHpub3V0IiwKIk9yaWVudGF0aW9uIjogIlRyYW5zZm9ybW92YXQiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlBcdTAxNTlldnJcdTAwZTF0aXQgc3Zpc2xlIiwKIkludmVydCI6ICJJbnZlcnRvdmF0IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlZsb1x1MDE3ZWl0IGRhdHVtIFwvIFx1MDEwZGFzIiwKIlJlbW92ZSBsaW5rIjogIk9kc3RyYW5pdCBvZGtheiIsCiJVcmwiOiAiVVJMIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IGsgem9icmF6ZW5cdTAwZWQiLAoiQW5jaG9ycyI6ICJLb3R2eSIsCiJJbnNlcnQgbGluayI6ICJWbG9cdTAxN2VpdCBvZGtheiIsCiJOZXcgd2luZG93IjogIk5vdlx1MDBlOSBva25vIiwKIk5vbmUiOiAiXHUwMTdkXHUwMGUxZG5cdTAwZTkiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlphZGFuXHUwMGU5IFVSTCB2eXBhZFx1MDBlMSBqYWtvIG9ka2F6IG5hIGppblx1MDBmZCB3ZWIuIENoY2V0ZSBkb3Bsbml0IHBvdmlublx1MDBmZCBwcmVmaXggaHR0cDpcL1wvPyIsCiJUYXJnZXQiOiAiQ1x1MDBlZGwiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJaYWRhblx1MDBlOSBVUkwgdnlwYWRcdTAwZTEgamFrbyBlLW1haWxvdlx1MDBlMSBhZHJlc2EuIENoY2V0ZSBkb3Bsbml0IHBvdmlublx1MDBmZCBwcmVmaXggbWFpbHRvOj8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVmxvXHUwMTdlaXQgXC8gdXByYXZpdCBvZGtheiIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVmxvXHUwMTdlaXQgXC8gdXByYXZpdCB2aWRlbyIsCiJQb3N0ZXIiOiAiTlx1MDBlMWhsZWQiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZuXHUwMGVkIHpkcm9qIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiVmxvXHUwMTdldGUga1x1MDBmM2QgcHJvIHZsb1x1MDE3ZWVuXHUwMGVkIG5cdTAwZWRcdTAxN2VlOiIsCiJJbnNlcnQgdmlkZW8iOiAiVmxvXHUwMTdlaXQgdmlkZW8iLAoiRW1iZWQiOiAiVmxvXHUwMTdlaXQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiUGV2blx1MDBlMSBtZXplcmEiLAoiUGFnZSBicmVhayI6ICJLb25lYyBzdHJcdTAwZTFua3kiLAoiUGFzdGUgYXMgdGV4dCI6ICJWbG9cdTAxN2VpdCBqYWtvIFx1MDEwZGlzdFx1MDBmZCB0ZXh0IiwKIlByZXZpZXciOiAiTlx1MDBlMWhsZWQiLAoiUHJpbnQiOiAiVGlzayIsCiJTYXZlIjogIlVsb1x1MDE3ZWl0IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJaYWRhblx1MDBmZCBcdTAxNTlldFx1MDExYnplYyBuZWJ5bCBuYWxlemVuLiIsCiJSZXBsYWNlIjogIk5haHJhZGl0IiwKIk5leHQiOiAiRGFsXHUwMTYxXHUwMGVkIiwKIldob2xlIHdvcmRzIjogIlBvdXplIGNlbFx1MDBlMSBzbG92YSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIk5halx1MDBlZHQgYSBuYWhyYWRpdCIsCiJSZXBsYWNlIHdpdGgiOiAiTmFocmFkaXQgemEiLAoiRmluZCI6ICJOYWpcdTAwZWR0IiwKIlJlcGxhY2UgYWxsIjogIk5haHJhZGl0IHZcdTAxNjFlIiwKIk1hdGNoIGNhc2UiOiAiUm96bGlcdTAxNjFvdmF0IG1hbFx1MDBlMSBhIHZlbGtcdTAwZTEgcFx1MDBlZHNtZW5hIiwKIlByZXYiOiAiUFx1MDE1OWVkY2hvelx1MDBlZCIsCiJTcGVsbGNoZWNrIjogIktvbnRyb2xhIHByYXZvcGlzdSIsCiJGaW5pc2giOiAiVWtvblx1MDEwZGl0IiwKIklnbm9yZSBhbGwiOiAiSWdub3JvdmF0IHZcdTAxNjFlIiwKIklnbm9yZSI6ICJJZ25vcm92YXQiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiUFx1MDE1OWlkYXQgZG8gc2xvdm5cdTAwZWRrdSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJWbG9cdTAxN2VpdCBcdTAxNTlcdTAwZTFkZWsgbmFkIiwKIlJvd3MiOiAiXHUwMTU4XHUwMGUxZGVrIiwKIkhlaWdodCI6ICJWXHUwMGZkXHUwMTYxa2EiLAoiUGFzdGUgcm93IGFmdGVyIjogIlZsb1x1MDE3ZWl0IFx1MDE1OVx1MDBlMWRlayBwb2QiLAoiQWxpZ25tZW50IjogIlphcm92blx1MDBlMW5cdTAwZWQiLAoiQm9yZGVyIGNvbG9yIjogIkJhcnZhIHJcdTAwZTFtZVx1MDEwZGt1IiwKIkNvbHVtbiBncm91cCI6ICJTa3VwaW5hIHNsb3VwY1x1MDE2ZiIsCiJSb3ciOiAiXHUwMTU4XHUwMGUxZGVrIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlZsb1x1MDE3ZWl0IHNsb3VwZWMgdmxldm8iLAoiU3BsaXQgY2VsbCI6ICJSb3pkXHUwMTFibGl0IGJ1XHUwMTQ4a3kiLAoiQ2VsbCBwYWRkaW5nIjogIlZuaXRcdTAxNTluXHUwMGVkIG9rcmFqIGJ1blx1MDExYmsiLAoiQ2VsbCBzcGFjaW5nIjogIlZuXHUwMTFialx1MDE2MVx1MDBlZCBva3JhaiBidW5cdTAxMWJrIiwKIlJvdyB0eXBlIjogIlR5cCBcdTAxNTlcdTAwZTFka3UiLAoiSW5zZXJ0IHRhYmxlIjogIlZsb1x1MDE3ZWl0IHRhYnVsa3UiLAoiQm9keSI6ICJUXHUwMTFibG8iLAoiQ2FwdGlvbiI6ICJOYWRwaXMiLAoiRm9vdGVyIjogIlBhdGlcdTAxMGRrYSIsCiJEZWxldGUgcm93IjogIlNtYXphdCBcdTAxNTlcdTAwZTFkZWsiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJWbG9cdTAxN2VpdCBcdTAxNTlcdTAwZTFkZWsgbmFkIiwKIlNjb3BlIjogIlJvenNhaCIsCiJEZWxldGUgdGFibGUiOiAiU21hemF0IHRhYnVsa3UiLAoiSCBBbGlnbiI6ICJIb3Jpem9udFx1MDBlMWxuXHUwMGVkIHphcm92blx1MDBlMW5cdTAwZWQiLAoiVG9wIjogIk5haG9ydSIsCiJIZWFkZXIgY2VsbCI6ICJIbGF2aVx1MDEwZGtvdlx1MDBlMSBidVx1MDE0OGthIiwKIkNvbHVtbiI6ICJTbG91cGVjIiwKIlJvdyBncm91cCI6ICJTa3VwaW5hIFx1MDE1OVx1MDBlMWRrXHUwMTZmIiwKIkNlbGwiOiAiQnVcdTAxNDhrYSIsCiJNaWRkbGUiOiAiVXByb3N0XHUwMTU5ZWQiLAoiQ2VsbCB0eXBlIjogIlR5cCBidVx1MDE0OGt5IiwKIkNvcHkgcm93IjogIktvcFx1MDBlZHJvdmF0IFx1MDE1OVx1MDBlMWRlayIsCiJSb3cgcHJvcGVydGllcyI6ICJWbGFzdG5vc3RpIFx1MDE1OVx1MDBlMWRrdSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgdGFidWxreSIsCiJCb3R0b20iOiAiRG9sXHUwMTZmIiwKIlYgQWxpZ24iOiAiVmVydGlrXHUwMGUxbG5cdTAwZWQgemFyb3ZuXHUwMGUxblx1MDBlZCIsCiJIZWFkZXIiOiAiSGxhdmlcdTAxMGRrYSIsCiJSaWdodCI6ICJWcHJhdm8iLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJWbG9cdTAxN2VpdCBzbG91cGVjIHZwcmF2byIsCiJDb2xzIjogIlNsb3VwY1x1MDE2ZiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlZsb1x1MDE3ZWl0IFx1MDE1OVx1MDBlMWRlayBwb2QiLAoiV2lkdGgiOiAiXHUwMTYwXHUwMGVkXHUwMTU5a2EiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgYnVcdTAxNDhreSIsCiJMZWZ0IjogIlZsZXZvIiwKIkN1dCByb3ciOiAiVnlqbW91dCBcdTAxNTlcdTAwZTFkZWsiLAoiRGVsZXRlIGNvbHVtbiI6ICJTbWF6YXQgc2xvdXBlYyIsCiJDZW50ZXIiOiAiTmEgc3RcdTAxNTllZCIsCiJNZXJnZSBjZWxscyI6ICJTbG91XHUwMTBkaXQgYnVcdTAxNDhreSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVmxvXHUwMTdlaXQgXHUwMTYxYWJsb251IiwKIlRlbXBsYXRlcyI6ICJcdTAxNjBhYmxvbnkiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYXJ2YSBwb3phZFx1MDBlZCIsCiJDdXN0b20uLi4iOiAiVmxhc3RuXHUwMGVkLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJWbGFzdG5cdTAwZWQgYmFydmEiLAoiTm8gY29sb3IiOiAiQmV6IGJhcnZ5IiwKIlRleHQgY29sb3IiOiAiQmFydmEgcFx1MDBlZHNtYSIsCiJTaG93IGJsb2NrcyI6ICJVa1x1MDBlMXphdCBibG9reSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlpvYnJheml0IHNwZWNpXHUwMGUxbG5cdTAwZWQgem5ha3kiLAoiV29yZHM6IHswfSI6ICJQb1x1MDEwZGV0IHNsb3Y6IHswfSIsCiJJbnNlcnQiOiAiVmxvXHUwMTdlaXQiLAoiRmlsZSI6ICJTb3Vib3IiLAoiRWRpdCI6ICJcdTAwZGFwcmF2eSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJFZGl0b3IuIFN0aXNrblx1MDExYnRlIEFMVC1GOSBwcm8gbWVudSwgQUxULUYxMCBwcm8gblx1MDBlMXN0cm9qb3ZvdSBsaVx1MDE2MXR1IGEgQUxULTAgcHJvIG5cdTAwZTFwb3ZcdTAxMWJkdS4iLAoiVG9vbHMiOiAiTlx1MDBlMXN0cm9qZSIsCiJWaWV3IjogIlpvYnJheml0IiwKIlRhYmxlIjogIlRhYnVsa2EiLAoiRm9ybWF0IjogIkZvcm1cdTAwZTF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/cs_CZ.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdjc19DWicsewoiQ3V0IjogIlZ5am1vdXQiLAoiSGVhZGluZyA1IjogIk5hZHBpcyA1IiwKIkhlYWRlciAyIjogIk5hZHBpcyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZcdTAwZTFcdTAxNjEgcHJvaGxcdTAwZWRcdTAxN2VlXHUwMTBkIG5lcG9kcG9ydWplIHBcdTAxNTlcdTAwZWRtXHUwMGZkIHBcdTAxNTlcdTAwZWRzdHVwIGRvIHNjaHJcdTAwZTFua3kuIFBvdVx1MDE3ZWlqdGUgcHJvc1x1MDBlZG0ga2xcdTAwZTF2ZXNvdlx1MDBlOSB6a3JhdGt5IEN0cmwrWFwvQ1wvVi4iLAoiSGVhZGluZyA0IjogIk5hZHBpcyA0IiwKIkRpdiI6ICJEaXYgKGJsb2spIiwKIkhlYWRpbmcgMiI6ICJOYWRwaXMgMiIsCiJQYXN0ZSI6ICJWbG9cdTAxN2VpdCIsCiJDbG9zZSI6ICJaYXZcdTAxNTlcdTAwZWR0IiwKIkZvbnQgRmFtaWx5IjogIlJvZGluYSBwXHUwMGVkc21hIiwKIlByZSI6ICJQcmUgKHBcdTAxNTllZGZvcm1cdTAwZTF0b3ZcdTAwZTFubykiLAoiQWxpZ24gcmlnaHQiOiAiVnByYXZvIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZcdTAwZmQgZG9rdW1lbnQiLAoiQmxvY2txdW90ZSI6ICJDaXRhY2UiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTAxMGNcdTAwZWRzbG92XHUwMGUxblx1MDBlZCIsCiJIZWFkaW5nIDEiOiAiTmFkcGlzIDEiLAoiSGVhZGluZ3MiOiAiTmFkcGlzeSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiWnZcdTAxMWJcdTAxNjFpdCBvZHNhemVuXHUwMGVkIiwKIkZvcm1hdHMiOiAiRm9ybVx1MDBlMXR5IiwKIkhlYWRlcnMiOiAiTmFkcGlzeSIsCiJTZWxlY3QgYWxsIjogIlZ5YnJhdCB2XHUwMTYxZSIsCiJIZWFkZXIgMyI6ICJOYWRwaXMgMyIsCiJCbG9ja3MiOiAiQmxva292XHUwMGU5IHpvYnJhemVuXHUwMGVkIChibG9jaykiLAoiVW5kbyI6ICJacFx1MDExYnQiLAoiU3RyaWtldGhyb3VnaCI6ICJQXHUwMTU5ZVx1MDE2MWtydG51dFx1MDBlOSIsCiJCdWxsZXQgbGlzdCI6ICJPZHJcdTAwZTFcdTAxN2VreSIsCiJIZWFkZXIgMSI6ICJOYWRwaXMgMSIsCiJTdXBlcnNjcmlwdCI6ICJIb3JuXHUwMGVkIGluZGV4IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiVnltYXphdCBmb3JtXHUwMGUxdG92XHUwMGUxblx1MDBlZCIsCiJGb250IFNpemVzIjogIlZlbGlrb3N0IHBcdTAwZWRzbWEiLAoiU3Vic2NyaXB0IjogIkRvbG5cdTAwZWQgaW5kZXgiLAoiSGVhZGVyIDYiOiAiTmFkcGlzIDYiLAoiUmVkbyI6ICJabm92dSIsCiJQYXJhZ3JhcGgiOiAiT2RzdGF2ZWMiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJUdVx1MDEwZG5cdTAxMWIiLAoiQ29kZSI6ICJDb2RlIChrXHUwMGYzZCkiLAoiSXRhbGljIjogIkt1cnpcdTAwZWR2YSIsCiJBbGlnbiBjZW50ZXIiOiAiTmEgc3RcdTAxNTllZCIsCiJIZWFkZXIgNSI6ICJOYWRwaXMgNSIsCiJIZWFkaW5nIDYiOiAiTmFkcGlzIDYiLAoiSGVhZGluZyAzIjogIk5hZHBpcyAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJabWVuXHUwMTYxaXQgb2RzYXplblx1MDBlZCIsCiJIZWFkZXIgNCI6ICJOYWRwaXMgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiSmUgemFwbnV0byB2a2xcdTAwZTFkXHUwMGUxblx1MDBlZCBcdTAxMGRpc3RcdTAwZTlobyB0ZXh0dS4gRG9rdWQgbmVidWRlIHRhdG8gdm9sYmEgdnlwbnV0YSwgYnVkZSB2ZVx1MDE2MWtlclx1MDBmZCBvYnNhaCB2bG9cdTAxN2VlbiBqYWtvIFx1MDEwZGlzdFx1MDBmZCB0ZXh0LiIsCiJVbmRlcmxpbmUiOiAiUG9kdHJcdTAxN2Vlblx1MDBlOSIsCiJDYW5jZWwiOiAiWnJ1XHUwMTYxaXQiLAoiSnVzdGlmeSI6ICJaYXJvdm5hdCBkbyBibG9rdSIsCiJJbmxpbmUiOiAiXHUwMTU4XHUwMGUxZGtvdlx1MDBlOSB6b2JyYXplblx1MDBlZCAoaW5saW5lKSIsCiJDb3B5IjogIktvcFx1MDBlZHJvdmF0IiwKIkFsaWduIGxlZnQiOiAiVmxldm8iLAoiVmlzdWFsIGFpZHMiOiAiVml6dVx1MDBlMWxuXHUwMGVkIHBvbVx1MDE2ZmNreSIsCiJMb3dlciBHcmVlayI6ICJcdTAxNThlY2tcdTAwZTEgcFx1MDBlZHNtZW5hIiwKIlNxdWFyZSI6ICJcdTAxMGN0dmVyZVx1MDEwZGVrIiwKIkRlZmF1bHQiOiAiVlx1MDBmZGNob3pcdTAwZWQiLAoiTG93ZXIgQWxwaGEiOiAiTWFsXHUwMGUxIHBcdTAwZWRzbWVuYSIsCiJDaXJjbGUiOiAiS29sZVx1MDEwZGtvIiwKIkRpc2MiOiAiUHVudFx1MDBlZGsiLAoiVXBwZXIgQWxwaGEiOiAiVmVsa1x1MDBlMSBwXHUwMGVkc21lbmEiLAoiVXBwZXIgUm9tYW4iOiAiXHUwMTU4XHUwMGVkbXNrXHUwMGU5IFx1MDEwZFx1MDBlZHNsaWNlIiwKIkxvd2VyIFJvbWFuIjogIk1hbFx1MDBlOSBcdTAxNTlcdTAwZWRtc2xcdTAwZTkgXHUwMTBkXHUwMGVkc2xpY2UiLAoiTmFtZSI6ICJOXHUwMGUxemV2IiwKIkFuY2hvciI6ICJLb3R2YSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk1cdTAwZTF0ZSBuZXVsb1x1MDE3ZWVuXHUwMGU5IHptXHUwMTFibnkuIE9wcmF2ZHUgY2hjZXRlIG9wdXN0aXQgc3RyXHUwMGUxbmt1PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiT2Jub3ZpdCBwb3NsZWRuXHUwMGVkIGtvbmNlcHQuIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpXHUwMGUxbG5cdTAwZWQgem5hayIsCiJTb3VyY2UgY29kZSI6ICJaZHJvam92XHUwMGZkIGtcdTAwZjNkIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkJhcnZhIiwKIlJpZ2h0IHRvIGxlZnQiOiAiWnByYXZhIGRvbGV2YSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlpsZXZhIGRvcHJhdmEiLAoiRW1vdGljb25zIjogIkVtb3Rpa29ueSIsCiJSb2JvdHMiOiAiUm9ib3RpIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiVmxhc3Rub3N0aSBkb2t1bWVudHUiLAoiVGl0bGUiOiAiVGl0dWxlayIsCiJLZXl3b3JkcyI6ICJLbFx1MDBlZFx1MDEwZG92XHUwMGUxIHNsb3ZhIiwKIkVuY29kaW5nIjogIktcdTAwZjNkb3ZcdTAwZTFuXHUwMGVkIiwKIkRlc2NyaXB0aW9uIjogIlBvcGlzIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIkNlbGtcdTAwZTEgb2JyYXpvdmthIiwKIkhvcml6b250YWwgbGluZSI6ICJWb2Rvcm92blx1MDBlMSBsaW5rYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250XHUwMGUxbG5cdTAwZWQgbWV6ZXJhIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJWbG9cdTAxN2VpdCBcLyB1cHJhdml0IG9iclx1MDBlMXplayIsCiJHZW5lcmFsIjogIk9iZWNuXHUwMGU5IiwKIkFkdmFuY2VkIjogIlBva3JvXHUwMTBkaWxcdTAwZTkiLAoiU291cmNlIjogIlVSTCIsCiJCb3JkZXIiOiAiUlx1MDBlMW1lXHUwMTBkZWsiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlphY2hvdmF0IHByb3BvcmNlIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa1x1MDBlMWxuXHUwMGVkIG1lemVyYSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJQb3BpcyBvYnJcdTAwZTF6a3UiLAoiU3R5bGUiOiAiU3R5bCIsCiJEaW1lbnNpb25zIjogIlJvem1cdTAxMWJyeSIsCiJJbnNlcnQgaW1hZ2UiOiAiVmxvXHUwMTdlaXQgb2JyXHUwMGUxemVrIiwKIlpvb20gaW4iOiAiUFx1MDE1OWlibFx1MDBlZFx1MDE3ZWl0IiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkJhY2siOiAiWnBcdTAxMWJ0IiwKIkdhbW1hIjogIkdhbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUFx1MDE1OWV2clx1MDBlMXRpdCB2b2Rvcm92blx1MDExYiIsCiJSZXNpemUiOiAiWm1cdTAxMWJuaXQgdmVsaWtvc3QiLAoiU2hhcnBlbiI6ICJPc3Ryb3N0IiwKIlpvb20gb3V0IjogIk9kZFx1MDBlMWxpdCIsCiJJbWFnZSBvcHRpb25zIjogIlZsYXN0bm9zdGkgb2JyXHUwMGUxemt1IiwKIkFwcGx5IjogIlBvdVx1MDE3ZVx1MDBlZHQiLAoiQnJpZ2h0bmVzcyI6ICJKYXMiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJPdG9cdTAxMGRpdCBkb3ByYXZhIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIk90b1x1MDEwZGl0IGRvbGV2YSIsCiJFZGl0IGltYWdlIjogIlVwcmF2aXQgb2JyXHUwMGUxemVrIiwKIkNvbG9yIGxldmVscyI6ICJcdTAwZGFyb3ZuXHUwMTFiIGJhcmV2IiwKIkNyb3AiOiAiT1x1MDE1OVx1MDBlZHpub3V0IiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFjZSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUFx1MDE1OWV2clx1MDBlMXRpdCBzdmlzbGUiLAoiSW52ZXJ0IjogIkludmVydG92YXQiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVmxvXHUwMTdlaXQgZGF0dW0gXC8gXHUwMTBkYXMiLAoiUmVtb3ZlIGxpbmsiOiAiT2RzdHJhbml0IG9ka2F6IiwKIlVybCI6ICJVUkwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHQgb2RrYXp1IiwKIkFuY2hvcnMiOiAiS290dnkiLAoiSW5zZXJ0IGxpbmsiOiAiVmxvXHUwMTdlaXQgb2RrYXoiLAoiTmV3IHdpbmRvdyI6ICJOb3ZcdTAwZTkgb2tubyIsCiJOb25lIjogIlx1MDE3ZFx1MDBlMWRuXHUwMGZkIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJaYWRhblx1MDBlOSBVUkwgdnlwYWRcdTAwZTEgamFrbyBvZGtheiBuYSBqaW5cdTAwZmQgd2ViLiBDaGNldGUgZG9wbG5pdCBwb3Zpbm5cdTAwZmQgcHJlZml4IGh0dHA6XC9cLz8iLAoiVGFyZ2V0IjogIkNcdTAwZWRsIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiWmFkYW5cdTAwZTkgVVJMIHZ5cGFkXHUwMGUxIGpha28gZS1tYWlsb3ZcdTAwZTEgYWRyZXNhLiBDaGNldGUgZG9wbG5pdCBwb3Zpbm5cdTAwZmQgcHJlZml4IG1haWx0bzo/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlZsb1x1MDE3ZWl0IFwvIHVwcmF2aXQgb2RrYXoiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiUGV2blx1MDBlMSBtZXplcmEiLAoiUGFnZSBicmVhayI6ICJLb25lYyBzdHJcdTAwZTFua3kiLAoiUGFzdGUgYXMgdGV4dCI6ICJWbG9cdTAxN2VpdCBqYWtvIFx1MDEwZGlzdFx1MDBmZCB0ZXh0IiwKIlByZXZpZXciOiAiTlx1MDBlMWhsZWQiLAoiUHJpbnQiOiAiVGlzayIsCiJTYXZlIjogIlVsb1x1MDE3ZWl0IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJaYWRhblx1MDBmZCBcdTAxNTlldFx1MDExYnplYyBuZWJ5bCBuYWxlemVuLiIsCiJSZXBsYWNlIjogIk5haHJhZGl0IiwKIk5leHQiOiAiRGFsXHUwMTYxXHUwMGVkIiwKIldob2xlIHdvcmRzIjogIlBvdXplIGNlbFx1MDBlMSBzbG92YSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIk5halx1MDBlZHQgYSBuYWhyYWRpdCIsCiJSZXBsYWNlIHdpdGgiOiAiTmFocmFkaXQgemEiLAoiRmluZCI6ICJOYWpcdTAwZWR0IiwKIlJlcGxhY2UgYWxsIjogIk5haHJhZGl0IHZcdTAxNjFlIiwKIk1hdGNoIGNhc2UiOiAiUm96bGlcdTAxNjFvdmF0IG1hbFx1MDBlMSBhIHZlbGtcdTAwZTEgcFx1MDBlZHNtZW5hIiwKIlByZXYiOiAiUFx1MDE1OWVkY2hvelx1MDBlZCIsCiJTcGVsbGNoZWNrIjogIktvbnRyb2xhIHByYXZvcGlzdSIsCiJGaW5pc2giOiAiRG9rb25cdTAxMGRpdCIsCiJJZ25vcmUgYWxsIjogIklnbm9yb3ZhdCB2XHUwMTYxZSIsCiJJZ25vcmUiOiAiSWdub3JvdmF0IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlBcdTAxNTlpZGF0IGRvIHNsb3ZuXHUwMGVka3UiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVmxvXHUwMTdlaXQgXHUwMTU5XHUwMGUxZGVrIHBcdTAxNTllZCIsCiJSb3dzIjogIlx1MDE1OFx1MDBlMWRreSIsCiJIZWlnaHQiOiAiVlx1MDBmZFx1MDE2MWthIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJWbG9cdTAxN2VpdCBcdTAxNTlcdTAwZTFkZWsgcG9kIiwKIkFsaWdubWVudCI6ICJaYXJvdm5cdTAwZTFuXHUwMGVkIiwKIkJvcmRlciBjb2xvciI6ICJCYXJ2YSByXHUwMGUxbWVcdTAxMGRrdSIsCiJDb2x1bW4gZ3JvdXAiOiAiU2t1cGluYSBzbG91cGNcdTAxNmYiLAoiUm93IjogIlx1MDE1OFx1MDBlMWRlayIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJWbG9cdTAxN2VpdCBzbG91cGVjIHZsZXZvIiwKIlNwbGl0IGNlbGwiOiAiUm96ZFx1MDExYmxpdCBidVx1MDE0OGt1IiwKIkNlbGwgcGFkZGluZyI6ICJWbml0XHUwMTU5blx1MDBlZCBva3JhaiBidW5cdTAxMWJrIiwKIkNlbGwgc3BhY2luZyI6ICJWblx1MDExYmpcdTAxNjFcdTAwZWQgb2tyYWogYnVuXHUwMTFiayIsCiJSb3cgdHlwZSI6ICJUeXAgXHUwMTU5XHUwMGUxZGt1IiwKIkluc2VydCB0YWJsZSI6ICJWbG9cdTAxN2VpdCB0YWJ1bGt1IiwKIkJvZHkiOiAiVFx1MDExYmxvIiwKIkNhcHRpb24iOiAiVGl0dWxlayIsCiJGb290ZXIiOiAiUGF0aVx1MDEwZGthIiwKIkRlbGV0ZSByb3ciOiAiU21hemF0IFx1MDE1OVx1MDBlMWRlayIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlZsb1x1MDE3ZWl0IFx1MDE1OVx1MDBlMWRlayBuYWQiLAoiU2NvcGUiOiAiUm96c2FoIiwKIkRlbGV0ZSB0YWJsZSI6ICJTbWF6YXQgdGFidWxrdSIsCiJIIEFsaWduIjogIkhvcml6b250XHUwMGUxbG5cdTAwZWQgemFyb3ZuXHUwMGUxblx1MDBlZCIsCiJUb3AiOiAiTmFob3J1IiwKIkhlYWRlciBjZWxsIjogIkhsYXZpXHUwMTBka292XHUwMGUxIGJ1XHUwMTQ4a2EiLAoiQ29sdW1uIjogIlNsb3VwZWMiLAoiUm93IGdyb3VwIjogIlNrdXBpbmEgXHUwMTU5XHUwMGUxZGtcdTAxNmYiLAoiQ2VsbCI6ICJCdVx1MDE0OGthIiwKIk1pZGRsZSI6ICJOYSBzdFx1MDE1OWVkIiwKIkNlbGwgdHlwZSI6ICJUeXAgYnVcdTAxNDhreSIsCiJDb3B5IHJvdyI6ICJLb3BcdTAwZWRyb3ZhdCBcdTAxNTlcdTAwZTFkZWsiLAoiUm93IHByb3BlcnRpZXMiOiAiVmxhc3Rub3N0aSBcdTAxNTlcdTAwZTFka3UiLAoiVGFibGUgcHJvcGVydGllcyI6ICJWbGFzdG5vc3RpIHRhYnVsa3kiLAoiQm90dG9tIjogIkRvbFx1MDE2ZiIsCiJWIEFsaWduIjogIlZlcnRpa1x1MDBlMWxuXHUwMGVkIHphcm92blx1MDBlMW5cdTAwZWQiLAoiSGVhZGVyIjogIkhsYXZpXHUwMTBka2EiLAoiUmlnaHQiOiAiVnByYXZvIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiVmxvXHUwMTdlaXQgc2xvdXBlYyB2cHJhdm8iLAoiQ29scyI6ICJTbG91cGNlIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVmxvXHUwMTdlaXQgXHUwMTU5XHUwMGUxZGVrIHphIiwKIldpZHRoIjogIlx1MDE2MFx1MDBlZFx1MDE1OWthIiwKIkNlbGwgcHJvcGVydGllcyI6ICJWbGFzdG5vc3RpIGJ1XHUwMTQ4a3kiLAoiTGVmdCI6ICJWbGV2byIsCiJDdXQgcm93IjogIlZ5am1vdXQgXHUwMTU5XHUwMGUxZGVrIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU21hemF0IHNsb3VwZWMiLAoiQ2VudGVyIjogIk5hIHN0XHUwMTU5ZWQiLAoiTWVyZ2UgY2VsbHMiOiAiU2xvdVx1MDEwZGl0IGJ1XHUwMTQ4a3kiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlZsb1x1MDE3ZWl0IHplIFx1MDE2MWFibG9ueSIsCiJUZW1wbGF0ZXMiOiAiXHUwMTYwYWJsb255IiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFydmEgcG96YWRcdTAwZWQiLAoiQ3VzdG9tLi4uIjogIlZsYXN0blx1MDBlZCIsCiJDdXN0b20gY29sb3IiOiAiVmxhc3RuXHUwMGVkIGJhcnZhIiwKIk5vIGNvbG9yIjogIkJleiBiYXJ2eSIsCiJUZXh0IGNvbG9yIjogIkJhcnZhIHBcdTAwZWRzbWEiLAoiU2hvdyBibG9ja3MiOiAiVWtcdTAwZTF6YXQgYmxva3kiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJVa1x1MDBlMXphdCBza3J5dFx1MDBlOSB6bmFreSIsCiJXb3JkczogezB9IjogIlNsb3ZhOiB7MH0iLAoiSW5zZXJ0IjogIlZsb1x1MDE3ZWl0IiwKIkZpbGUiOiAiU291Ym9yIiwKIkVkaXQiOiAiXHUwMGRhcHJhdnkiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUlRGIGRva3VtZW50LiBTdGlrblx1MDExYnRlIEFMVC1GIHBybyB6b2JyYXplblx1MDBlZCBtZW51LCBBTFQtRjEwIHBybyB6b2JyYXplblx1MDBlZCBuXHUwMGUxc3Ryb2pvdlx1MDBlOSBsaVx1MDE2MXR5LCBBTFQtMCBwcm8gblx1MDBlMXBvdlx1MDExYmR1LiIsCiJUb29scyI6ICJOXHUwMGUxc3Ryb2plIiwKIlZpZXciOiAiWm9icmF6aXQiLAoiVGFibGUiOiAiVGFidWxrYSIsCiJGb3JtYXQiOiAiRm9ybVx1MDBlMXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/cy.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdjeScsewoiQ3V0IjogIlRvcnJpIiwKIkhlYWRlciAyIjogIlBlbm5hd2QgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJEeXcgZWljaCBwb3J3ciBkZGltIHluIGN5bm5hbCBteW5lZGlhZCB1bmlvbmd5cmNob2wgaSdyIGNsaXBmd3JkZC4gRGVmbnlkZGl3Y2ggeXIgYWxsd2VkZGF1IGxsd3liciBicnlzIEN0cmwrWFwvQ1wvViB5biBsbGUgJ255LiIsCiJEaXYiOiAiRGl2IiwKIlBhc3RlIjogIkdsdWRvIiwKIkNsb3NlIjogIkNhdSIsCiJGb250IEZhbWlseSI6ICJUZXVsdSBGZm9udCIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIkFsaW5pYWQgZGRlIiwKIk5ldyBkb2N1bWVudCI6ICJEb2dmZW4gbmV3eWRkIiwKIkJsb2NrcXVvdGUiOiAiRHlmeW5pYWQgYmxvYyIsCiJOdW1iZXJlZCBsaXN0IjogIlJoZXN0ciByaWZvbCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQ3lueWRkdSBtZXdub2xpYWQiLAoiRm9ybWF0cyI6ICJGZm9ybWF0aWF1IiwKIkhlYWRlcnMiOiAiUGVuYXdkYXUiLAoiU2VsZWN0IGFsbCI6ICJEZXdpcyBwb3BldGgiLAoiSGVhZGVyIDMiOiAiUGVubmF3ZCAzIiwKIkJsb2NrcyI6ICJCbG9jaWF1IiwKIlVuZG8iOiAiRGFkd25ldWQiLAoiU3RyaWtldGhyb3VnaCI6ICJMbGluZWxsIGRyd29kZCIsCiJCdWxsZXQgbGlzdCI6ICJSaGVzdHIgZndsZWQiLAoiSGVhZGVyIDEiOiAiUGVubmF3ZCAxIiwKIlN1cGVyc2NyaXB0IjogIlV3Y2hzZ3JpcHQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJDbGlyaW8gZmZvcm1hdGlvIiwKIkZvbnQgU2l6ZXMiOiAiTWVpbnRpYXUgRmZvbnQiLAoiU3Vic2NyaXB0IjogIklzLXNncmlwdCIsCiJIZWFkZXIgNiI6ICJQZW5uYXdkIDYiLAoiUmVkbyI6ICJBSWx3bmV1ZCIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYWZmIiwKIk9rIjogIklhd24iLAoiQm9sZCI6ICJCcmFzIiwKIkNvZGUiOiAiQ29kIiwKIkl0YWxpYyI6ICJJdGFsaWciLAoiQWxpZ24gY2VudGVyIjogIkFsaW5pYWQgY2Fub2wiLAoiSGVhZGVyIDUiOiAiUGVubmF3ZCA1IiwKIkRlY3JlYXNlIGluZGVudCI6ICJMbGVpbmhhdSBtZXdub2xpYWQiLAoiSGVhZGVyIDQiOiAiUGVubmF3ZCA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJNYWUgZ2x1ZG8gbyBmZXduIG1vZGQgdGVzdHVuIHBsYWVuLiBDYWlmZiB5IGN5bm53eXMgZWkgbHVkbyBhciBmZnVyZiBkZXN0dW4gcGxhZW4gdGFuIGdhaWZmIHlyIG9wc2l3biBlaSBkb2dsbyBiYW50LiIsCiJVbmRlcmxpbmUiOiAiVGFubGluZWxsdSIsCiJDYW5jZWwiOiAiQ2Fuc2xvIiwKIkp1c3RpZnkiOiAiVW5pb25pIiwKIklubGluZSI6ICJNZXduIGxsaW5lbGwiLAoiQ29weSI6ICJDb3BcdTAwZWZvIiwKIkFsaWduIGxlZnQiOiAiQWxpbmlhZCBjaHdpdGgiLAoiVmlzdWFsIGFpZHMiOiAiQ3ltb3J0aCBnd2VsZWRvbCIsCiJMb3dlciBHcmVlayI6ICJHcm9lZyBJcyIsCiJTcXVhcmUiOiAiU2d3XHUwMGUyciIsCiJEZWZhdWx0IjogIkRpb2Z5biIsCiJMb3dlciBBbHBoYSI6ICJBbGZmYSBJcyIsCiJDaXJjbGUiOiAiQ3lsY2giLAoiRGlzYyI6ICJEaXNnIiwKIlVwcGVyIEFscGhhIjogIkFsZmZhIFV3Y2giLAoiVXBwZXIgUm9tYW4iOiAiUmh1ZmVpbmlnIFV3Y2giLAoiTG93ZXIgUm9tYW4iOiAiUmh1ZmVpbmlnIElzIiwKIk5hbWUiOiAiRW53IiwKIkFuY2hvciI6ICJBbmdvciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk1hZSBuZXdpZGlhZGF1IGhlYiBldSBjYWR3IC0geWR5Y2ggY2hpIHdpciBhbSBzeW11ZCBpIGZmd3JkZD8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIkFkZmVyIHkgZHJhZmZ0IG9sYWYiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiTm9kIGFyYmVubmlnIiwKIlNvdXJjZSBjb2RlIjogIkNvZCBnd3JlaWRkaW9sIiwKIlJpZ2h0IHRvIGxlZnQiOiAiRGRlIGknciBjaHdpdGgiLAoiTGVmdCB0byByaWdodCI6ICJDaHdpdGggaSdyIGRkZSIsCiJFbW90aWNvbnMiOiAiR3dlbm9nbHVuaWF1IiwKIlJvYm90cyI6ICJSb2JvdGlhaWQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcmlvZHdlZGRhdSdyIGRkb2dmZW4iLAoiVGl0bGUiOiAiVGVpdGwiLAoiS2V5d29yZHMiOiAiQWxsd2VkZGVpcmlhdSIsCiJFbmNvZGluZyI6ICJBbWdvZGlhZCIsCiJEZXNjcmlwdGlvbiI6ICJEaXNncmlmaWFkIiwKIkF1dGhvciI6ICJBd2R1ciIsCiJGdWxsc2NyZWVuIjogIlNncmluIGxsYXduIiwKIkhvcml6b250YWwgbGluZSI6ICJMbGluZWxsIGxvcndlZGRvbCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkdvZm9kIGxsb3J3ZWRkb2wiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIk1ld25vc29kXC9nb2x5Z3UgZGVsd2VkZCIsCiJHZW5lcmFsIjogIkN5ZmZyZWRpbm9sIiwKIkFkdmFuY2VkIjogIlV3Y2giLAoiU291cmNlIjogIkZmeW5ob25uZWxsIiwKIkJvcmRlciI6ICJZbXlsIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJHb3Jmb2RpIGN5ZnJhbm5lZGQiLAoiVmVydGljYWwgc3BhY2UiOiAiR29mb2QgZmVydGlnb2wiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiRGlzZ3JpZmlhZCB5IGRkZWx3ZWRkIiwKIlN0eWxlIjogIkFyZGR1bGwiLAoiRGltZW5zaW9ucyI6ICJEaW1lbnNpeW5hdSIsCiJJbnNlcnQgaW1hZ2UiOiAiTWV3bm9zb2QgZGVsd2VkZCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJNZXdub3NvZCBkeWRkaWFkXC9hbXNlciIsCiJSZW1vdmUgbGluayI6ICJUeW5udSBkb2xlbiIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXN0dW4gaSd3IGRkYW5nb3MiLAoiQW5jaG9ycyI6ICJBbmdvcmF1IiwKIkluc2VydCBsaW5rIjogIk1ld25vc29kIGRvbGVuIiwKIk5ldyB3aW5kb3ciOiAiRmZlbmVzdCBuZXd5ZGQiLAoiTm9uZSI6ICJEaW0iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIk1hZSduIGRlYnlnIHRhdyBkb2xlbiBhbGxhbm9sIHl3J3IgVVJMIGh3bi4gWWR5Y2ggY2hpIGFtIHljaHdhbmVndSdyIHJoYWdvc29kaWFkIGh0dHA6XC9cLyA/IiwKIlRhcmdldCI6ICJUYXJnZWQiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJNYWUnbiBkZWJ5ZyB0YXcgY3lmZWlyaWFkIGVib3N0IHl3J3IgVVJMIGh3bi4gWWR5Y2ggY2hpIGFtIHljaHdhbmVndSdyIHJoYWdvc29kaWFkIG1haWx0bzo/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIk1ld25vc29kXC9nb2x5Z3UgZG9sZW4iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIk1ld25vc29kXC9nb2x5Z3UgZmlkZW8iLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiRmZ5bmhvbm5lbGwgYW1nZW4iLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJHbHVkd2NoIGVpY2ggY29kIG1ld25vc29kIGlzb2Q6IiwKIkluc2VydCB2aWRlbyI6ICJNZXdub3NvZCBmaWRlbyIsCiJFbWJlZCI6ICJNZXdub3NvZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJCd2xjaCBoZWIgZG9ycmkiLAoiUGFnZSBicmVhayI6ICJUb3JpYWQgdHVkYWxlbiIsCiJQYXN0ZSBhcyB0ZXh0IjogIkdsdWRvIGZlbCB0ZXN0dW4iLAoiUHJldmlldyI6ICJSaGFnb2x3ZyIsCiJQcmludCI6ICJBcmdyYWZmdSIsCiJTYXZlIjogIkNhZHciLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk1ldGh1IGZmZWluZGlvJ3IgbGxpbnluIGh3bm53LiIsCiJSZXBsYWNlIjogIkFtbmV3aWQiLAoiTmV4dCI6ICJOZXNhZiIsCiJXaG9sZSB3b3JkcyI6ICJHZWlyaWF1IGN5ZmFuIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiQ2h3aWxpbyBhYyBhbW5ld2lkIiwKIlJlcGxhY2Ugd2l0aCI6ICJBbW5ld2lkIGd5ZGEiLAoiRmluZCI6ICJDaHdpbGlvIiwKIlJlcGxhY2UgYWxsIjogIkFtbmV3aWQgcG9iIiwKIk1hdGNoIGNhc2UiOiAiQ3lkd2VkZHUnciB1biBjXHUwMGVhcyIsCiJQcmV2IjogIkN5bnQiLAoiU3BlbGxjaGVjayI6ICJTaWxsYWZ5ZGQiLAoiRmluaXNoIjogIkdvcmZmZW4iLAoiSWdub3JlIGFsbCI6ICJBbXd5YnlkZHUgcG9iIiwKIklnbm9yZSI6ICJBbnd5YnlkZHUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiTWV3bm9zb2QgcmhlcyBjeW4iLAoiUm93cyI6ICJSaGVzaSIsCiJIZWlnaHQiOiAiVWNoZGVyIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJHbHVkbyByaGVzIGFyIFx1MDBmNGwiLAoiQWxpZ25tZW50IjogIkFsaW5pYWQiLAoiQ29sdW1uIGdyb3VwIjogIkdyXHUwMTc1cCBjb2xvZm4iLAoiUm93IjogIlJoZXMiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiTWV3bm9zb2QgY29sb2ZuIGN5biIsCiJTcGxpdCBjZWxsIjogIkhvbGx0aSBjZWxsb2VkZCIsCiJDZWxsIHBhZGRpbmciOiAiUGFkaW8gY2VsbCIsCiJDZWxsIHNwYWNpbmciOiAiQnlsY2hpYXUgY2VsbCIsCiJSb3cgdHlwZSI6ICJNYXRoIHkgcmhlcyIsCiJJbnNlcnQgdGFibGUiOiAiTWV3bm9zb2QgdGFibCIsCiJCb2R5IjogIkNvcmZmIiwKIkNhcHRpb24iOiAiUGVubmF3ZCIsCiJGb290ZXIiOiAiVHJvZWR5biIsCiJEZWxldGUgcm93IjogIkRpbGV1IHJoZXMiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJHbHVkbyByaGVzIGN5biIsCiJTY29wZSI6ICJTZ29wIiwKIkRlbGV0ZSB0YWJsZSI6ICJEaWxldSdyIHRhYmwiLAoiSGVhZGVyIGNlbGwiOiAiQ2VsbCBiZW5uYXdkIiwKIkNvbHVtbiI6ICJDb2xvZm4iLAoiQ2VsbCI6ICJDZWxsIiwKIkhlYWRlciI6ICJQZW5ueW4iLAoiQ2VsbCB0eXBlIjogIk1hdGggeSBnZWxsIiwKIkNvcHkgcm93IjogIkNvcFx1MDBlZm8gcmhlcyIsCiJSb3cgcHJvcGVydGllcyI6ICJQcmlvZHdlZGRhdSByaGVzIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJpb2R3ZWRkYXUgdGFibCIsCiJSb3cgZ3JvdXAiOiAiR3JcdTAxNzVwIHJoZXMiLAoiUmlnaHQiOiAiRGRlIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiTWV3bm9zb2QgY29sb2ZuIGFyIFx1MDBmNGwiLAoiQ29scyI6ICJDb2wndSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIk1ld25vc29kIHJoZXMgYXIgXHUwMGY0bCIsCiJXaWR0aCI6ICJMbGVkIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcmlvZHdlZGRhdSdyIGdlbGwiLAoiTGVmdCI6ICJDaHdpdGgiLAoiQ3V0IHJvdyI6ICJUb3JyaSByaGVzIiwKIkRlbGV0ZSBjb2x1bW4iOiAiRGlsZXUgY29sb2ZuIiwKIkNlbnRlciI6ICJDYW5vbCIsCiJNZXJnZSBjZWxscyI6ICJDeWZ1bm8gY2VsbG9lZGQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIk1ld25vc29kIHRlbXBsZWQiLAoiVGVtcGxhdGVzIjogIlRlbXBsZWRpIiwKIkJhY2tncm91bmQgY29sb3IiOiAiTGxpdyBjZWZuZGlyIiwKIlRleHQgY29sb3IiOiAiTGxpdyB0ZXN0dW4iLAoiU2hvdyBibG9ja3MiOiAiRGFuZ29zIGJsb2NpYXUiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJEYW5nb3Mgbm9kYXUgYW53ZWxlZGlnIiwKIldvcmRzOiB7MH0iOiAiR2VpcmlhdTogezB9IiwKIkluc2VydCI6ICJNZXdub3NvZCIsCiJGaWxlIjogIkZmZWlsIiwKIkVkaXQiOiAiR29seWd1IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIkFyZGFsIFRlc3R1biBVd2NoLiBQd3lzd2NoIEFMVC1GOSBhciBneWZlciB5IGRkZXdpc2xlbiwgUHd5c3djaCBBTFQtRjEwIGFyIGd5ZmVyIHkgYmFyIG9mZmVyLiBQd3lzd2NoIEFMVC0wIGFtIGd5bW9ydGgiLAoiVG9vbHMiOiAiT2ZmZXIiLAoiVmlldyI6ICJEYW5nb3MiLAoiVGFibGUiOiAiVGFibCIsCiJGb3JtYXQiOiAiRmZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/da.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdkYScsewoiQ3V0IjogIktsaXAiLAoiSGVhZGluZyA1IjogIk92ZXJza3JpZnQgNSIsCiJIZWFkZXIgMiI6ICJPdmVyc2tyaWZ0IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiRGluIGJyb3dzZXIgdW5kZXJzdFx1MDBmOHR0ZXIgaWtrZSBkaXJla3RlIGFkZ2FuZyB0aWwgY2xpcGJvYXJkLiBCZW55dCBDdHJsK1hcL0NcLyBrZXlib3JkIHNob3J0Y3V0cyBpIHN0ZWRldCBmb3IuIiwKIkhlYWRpbmcgNCI6ICJPdmVyc2tyaWZ0IDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiT3ZlcnNrcmlmdCAyIiwKIlBhc3RlIjogIkluZHNcdTAwZTZ0IiwKIkNsb3NlIjogIkx1ayIsCiJGb250IEZhbWlseSI6ICJTa3JpZnR0eXBlIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiSFx1MDBmOGpyZWp1c3RlcmV0IiwKIk5ldyBkb2N1bWVudCI6ICJOeXQgZG9rdW1lbnQiLAoiQmxvY2txdW90ZSI6ICJJbmRyeWtuaW5nIiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtbWVyZXJpbmciLAoiSGVhZGluZyAxIjogIk92ZXJza3JpZnQgMSIsCiJIZWFkaW5ncyI6ICJPdmVyc2tyaWZ0ZXIiLAoiSW5jcmVhc2UgaW5kZW50IjogIkZvclx1MDBmOGcgaW5kcnlrbmluZyIsCiJGb3JtYXRzIjogIkZvcm1hdGVyIiwKIkhlYWRlcnMiOiAiT3ZlcnNrcmlmdGVyIiwKIlNlbGVjdCBhbGwiOiAiVlx1MDBlNmxnIGFsbGUiLAoiSGVhZGVyIDMiOiAiT3ZlcnNrcmlmdCAzIiwKIkJsb2NrcyI6ICJCbG9ra2UiLAoiVW5kbyI6ICJGb3J0cnlkIiwKIlN0cmlrZXRocm91Z2giOiAiR2VubmVtc3RyZWciLAoiQnVsbGV0IGxpc3QiOiAiUHVua3QgdGVnbiIsCiJIZWFkZXIgMSI6ICJPdmVyc2tyaWZ0IDEiLAoiU3VwZXJzY3JpcHQiOiAiSFx1MDBlNnZldCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIk51bHN0aWwgZm9ybWF0dGVyaW5nIiwKIkZvbnQgU2l6ZXMiOiAiU2tyaWZ0c3RcdTAwZjhycmVsc2UiLAoiU3Vic2NyaXB0IjogIlNcdTAwZTZua2V0IiwKIkhlYWRlciA2IjogIk92ZXJza3JpZnQgNiIsCiJSZWRvIjogIkdlbm9wcmV0IiwKIlBhcmFncmFwaCI6ICJTXHUwMGU2dG5pbmciLAoiT2siOiAiT2siLAoiQm9sZCI6ICJGZWQiLAoiQ29kZSI6ICJDb2RlIiwKIkl0YWxpYyI6ICJLdXJzaXYiLAoiQWxpZ24gY2VudGVyIjogIkNlbnRyZXJldCIsCiJIZWFkZXIgNSI6ICJPdmVyc2tyaWZ0IDUiLAoiSGVhZGluZyA2IjogIk92ZXJza3JpZnQgNiIsCiJIZWFkaW5nIDMiOiAiT3ZlcnNrcmlmdCAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJGb3JtaW5kc2sgaW5kcnlrbmluZyIsCiJIZWFkZXIgNCI6ICJPdmVyc2tyaWZ0IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlNcdTAwZTZ0IGluZCBlciBpbmRzdGlsbGV0IHRpbCBhdCBpbmRzXHUwMGU2dHRlIHNvbSByZW4gdGVrc3QuIEluZGhvbGQgYmxpdmVyIG51IGluZHNhdCB1ZGVuIGZvcm1hdGVyaW5nIGluZHRpbCBkdSBcdTAwZTZuZHJlciBpbmRzdGlsbGluZ2VuLiIsCiJVbmRlcmxpbmUiOiAiVW5kZXJzdHJlZyIsCiJDYW5jZWwiOiAiRm9ydHJ5ZCIsCiJKdXN0aWZ5IjogIkp1c3RlcmluZyIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkNvcHkiOiAiS29waWVyIiwKIkFsaWduIGxlZnQiOiAiVmVuc3RyZWp1c3RlcmV0IiwKIlZpc3VhbCBhaWRzIjogIlZpc3VlbCBoalx1MDBlNmxwIiwKIkxvd2VyIEdyZWVrIjogIkxvd2VyIEdyXHUwMGU2c2siLAoiU3F1YXJlIjogIkt2YWRyYXQiLAoiRGVmYXVsdCI6ICJTdGFuZGFyZCIsCiJMb3dlciBBbHBoYSI6ICJMb3dlciBBbHBoYSIsCiJDaXJjbGUiOiAiQ2lya2VsIiwKIkRpc2MiOiAiRGlzayIsCiJVcHBlciBBbHBoYSI6ICJVcHBlciBBbHBoYSIsCiJVcHBlciBSb21hbiI6ICJVcHBlciBSb21hbiIsCiJMb3dlciBSb21hbiI6ICJMb3dlciBSb21hbiIsCiJOYW1lIjogIk5hdm4iLAoiQW5jaG9yIjogIkFuY2hvciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkR1IGhhciBpa2tlIGdlbXRlIFx1MDBlNm5kcmluZ2VyLiBFciBkdSBzaWtrZXIgcFx1MDBlNSBhdCBkdSB2aWwgZm9ydHNcdTAwZTZ0dGU/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJHZW5vcHJldCBzaWRzdGUga2xhZGRlIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpZWxsZSB0ZWduIiwKIlNvdXJjZSBjb2RlIjogIktpbGRla29kZSIsCiJCIjogIkIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJDb2xvciI6ICJGYXJ2ZSIsCiJSaWdodCB0byBsZWZ0IjogIkhcdTAwZjhqcmUgdGlsIHZlbnN0cmUiLAoiTGVmdCB0byByaWdodCI6ICJWZW5zdHJlIHRpbCBoXHUwMGY4anJlIiwKIkVtb3RpY29ucyI6ICJFbW90LWlrb25lciIsCiJSb2JvdHMiOiAiUm9ib3R0ZXIiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2t1bWVudCBlZ2Vuc2thYmVyIiwKIlRpdGxlIjogIlRpdGVsIiwKIktleXdvcmRzIjogIlNcdTAwZjhnZW9yZCIsCiJFbmNvZGluZyI6ICJLb2RuaW5nIiwKIkRlc2NyaXB0aW9uIjogIkJlc2tyaXZlbHNlIiwKIkF1dGhvciI6ICJGb3JmYXR0ZXIiLAoiRnVsbHNjcmVlbiI6ICJGdWxkc2tcdTAwZTZybSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiVmFuZHJldCBsaW5pZSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlZhbmRyZXQgYWZzdGFuZCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5kc1x1MDBlNnRcL3JldCBiaWxsZWRlIiwKIkdlbmVyYWwiOiAiR2VuZXJldCIsCiJBZHZhbmNlZCI6ICJBdmFuY2VyZXQiLAoiU291cmNlIjogIktpbGRlIiwKIkJvcmRlciI6ICJLYW50IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJCZWhvbGQgcHJvcGVydGlvbmVyIiwKIlZlcnRpY2FsIHNwYWNlIjogIkxvZHJldCBhZnN0YW5kIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkJpbGxlZGUgYmVza3JpdmVsc2UiLAoiU3R5bGUiOiAiU3RpbCIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbmVyIiwKIkluc2VydCBpbWFnZSI6ICJJbmRzXHUwMGU2dCBiaWxsZWRlIiwKIlpvb20gaW4iOiAiWm9vbSBpbmQiLAoiQ29udHJhc3QiOiAiS29udHJhc3QiLAoiQmFjayI6ICJUaWxiYWdlIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkZsaXAgaG9yaXNvbnRhbHQiLAoiUmVzaXplIjogIlNrYWxlciIsCiJTaGFycGVuIjogIkdcdTAwZjhyIHNrYXJwZXJlIiwKIlpvb20gb3V0IjogIlpvb20gdWQiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJCaWxsZWRlIGluZHN0aWxsaW5nZXIiLAoiQXBwbHkiOiAiQW52ZW5kIiwKIkJyaWdodG5lc3MiOiAiTHlzc3R5cmtlIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiRHJlaiBtZWQgdXJldHMgcmV0bmluZyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJEcmVqIG1vZHNhdCB1cmV0cyByZXRuaW5nIiwKIkVkaXQgaW1hZ2UiOiAiUmVkaWdlciBiaWxsZWRlIiwKIkNvbG9yIGxldmVscyI6ICJGYXJ2ZSBuaXZlYXVlciIsCiJDcm9wIjogIkJlc2tcdTAwZTZyIiwKIk9yaWVudGF0aW9uIjogIlJldG5pbmciLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIkZsaXAgdmVydGlrYWx0IiwKIkludmVydCI6ICJJbnZlcnRlciIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbmRzXHUwMGU2dCBkYXRvXC9rbG9ra2VzbGV0IiwKIlJlbW92ZSBsaW5rIjogIkZqZXJuIGxpbmsiLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVmlzIHRla3N0IiwKIkFuY2hvcnMiOiAiQW5rcmUiLAoiSW5zZXJ0IGxpbmsiOiAiSW5kc1x1MDBlNnQgbGluayIsCiJOZXcgd2luZG93IjogIk55dCB2aW5kdWUiLAoiTm9uZSI6ICJJbmdlbiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVVJMZW4gc29tIGR1IGFuZ2F2IHNlciB1ZCB0aWwgYXQgdlx1MDBlNnJlIGV0IGVrc3Rlcm50IGxpbmsuIFx1MDBkOG5za2VyIGR1IGF0IHRpbGZcdTAwZjhqZSBkZXQga3JcdTAwZTZ2ZWRlIHByZWZpa3MgaHR0cDpcL1wvID8iLAoiVGFyZ2V0IjogIlRhcmdldCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlVSTGVuIHNvbSBkdSBhbmdhdiBzZXIgdWQgdGlsIGF0IHZcdTAwZTZyZSBlbiBlbWFpbCBhZHJlc3NlLiBcdTAwZDhuc2tlciBkdSBhdCB0aWxmXHUwMGY4amUgZGV0IGtyXHUwMGU2dmVkZSBwcmVmaWtzICBtYWlsdG86ID8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5kc1x1MDBlNnRcL3JldCBsaW5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbmRzXHUwMGU2dFwvcmV0IHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXYga2lsZGUiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJJbmRzXHUwMGU2dCBkaW4gZW1iZWQga29kZSBoZXJ1bmRlcjoiLAoiSW5zZXJ0IHZpZGVvIjogIkluZHNcdTAwZTZ0IHZpZGVvIiwKIkVtYmVkIjogIkludGVncmVyIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkhcdTAwZTVyZHQgbWVsbGVtcnVtIiwKIlBhZ2UgYnJlYWsiOiAiU2lkZXNraWZ0IiwKIlBhc3RlIGFzIHRleHQiOiAiSW5kc1x1MDBlNnQgc29tIHJlbiB0ZWtzdCIsCiJQcmV2aWV3IjogIkZvcmhcdTAwZTVuZHN2aXNuaW5nIiwKIlByaW50IjogIlVkc2tyaXYiLAoiU2F2ZSI6ICJHZW0iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkt1bm5lIGlra2UgZmluZGUgc1x1MDBmOGdldGVrc3QiLAoiUmVwbGFjZSI6ICJFcnN0YXQiLAoiTmV4dCI6ICJOXHUwMGU2c3RlIiwKIldob2xlIHdvcmRzIjogIkhlbGUgb3JkIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmluZCBvZyBlcnN0YXQiLAoiUmVwbGFjZSB3aXRoIjogIkVyc3RhdCBtZWQiLAoiRmluZCI6ICJGaW5kIiwKIlJlcGxhY2UgYWxsIjogIkVyc3RhdCBhbHQiLAoiTWF0Y2ggY2FzZSI6ICJTVE9SRSBvZyBzbVx1MDBlNSBib2dzdGF2ZXIiLAoiUHJldiI6ICJGb3JyaWdlIiwKIlNwZWxsY2hlY2siOiAiU3RhdmVrb250cm9sIiwKIkZpbmlzaCI6ICJGXHUwMGU2cmRpZyIsCiJJZ25vcmUgYWxsIjogIklnbm9yZXIgYWx0IiwKIklnbm9yZSI6ICJJZ25vcmVyIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlRpbGZcdTAwZjhqIHRpbCBvcmRib2ciLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5kc1x1MDBlNnQgclx1MDBlNmtrZSBmXHUwMGY4ciIsCiJSb3dzIjogIlJcdTAwZTZra2VyIiwKIkhlaWdodCI6ICJIXHUwMGY4amRlIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJJbmRzXHUwMGU2dCByXHUwMGU2a2tlIGVmdGVyIiwKIkFsaWdubWVudCI6ICJUaWxwYXNuaW5nIiwKIkJvcmRlciBjb2xvciI6ICJLYW50IGZhcnZlIiwKIkNvbHVtbiBncm91cCI6ICJLb2xvbm5lIGdydXBwZSIsCiJSb3ciOiAiUlx1MDBlNmtrZSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbmRzXHUwMGU2dCBrb2xvbm5lIGZcdTAwZjhyIiwKIlNwbGl0IGNlbGwiOiAiU3BsaXQgY2VsbGUiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGxlIHBhZGRpbmciLAoiQ2VsbCBzcGFjaW5nIjogIkNlbGxlIGFmc3RhbmQiLAoiUm93IHR5cGUiOiAiUlx1MDBlNmtrZSB0eXBlIiwKIkluc2VydCB0YWJsZSI6ICJJbmRzXHUwMGU2dCB0YWJlbCIsCiJCb2R5IjogIktyb3AiLAoiQ2FwdGlvbiI6ICJUZWtzdCIsCiJGb290ZXIiOiAiU2lkZWZvZCIsCiJEZWxldGUgcm93IjogIlNsZXQgclx1MDBlNmtrZSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkluZHNcdTAwZTZ0IHJcdTAwZTZra2UgZlx1MDBmOHIiLAoiU2NvcGUiOiAiQW52ZW5kZWxzZXNvbXJcdTAwZTVkZSIsCiJEZWxldGUgdGFibGUiOiAiU2xldCB0YWJlbCIsCiJIIEFsaWduIjogIkgganVzdGVyIiwKIlRvcCI6ICJUb3AiLAoiSGVhZGVyIGNlbGwiOiAiU2lkZWhvdmVkIGNlbGxlIiwKIkNvbHVtbiI6ICJLb2xvbm5lIiwKIlJvdyBncm91cCI6ICJSXHUwMGU2a2tlIGdydXBwZSIsCiJDZWxsIjogIkNlbGxlIiwKIk1pZGRsZSI6ICJNaWR0IiwKIkNlbGwgdHlwZSI6ICJDZWxsZSB0eXBlIiwKIkNvcHkgcm93IjogIktvcGllciByXHUwMGU2a2tlIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJcdTAwZTZra2UgZWdlbnNrYWJlciIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYmVsIGVnZW5za2FiZXIiLAoiQm90dG9tIjogIkJ1bmQiLAoiViBBbGlnbiI6ICJWIGp1c3RlciIsCiJIZWFkZXIiOiAiU2lkZWhvdmVkIiwKIlJpZ2h0IjogIkhcdTAwZjhqcmUiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbmRzXHUwMGU2dCBrb2xvbm5lIGVmdGVyIiwKIkNvbHMiOiAiS29sb25uZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluZHNcdTAwZTZ0IHJcdTAwZTZra2UgZWZ0ZXIiLAoiV2lkdGgiOiAiQnJlZGRlIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsZSBlZ2Vuc2thYmVyIiwKIkxlZnQiOiAiVmVuc3RyZSIsCiJDdXQgcm93IjogIktsaXAgclx1MDBlNmtrZSIsCiJEZWxldGUgY29sdW1uIjogIlNsZXQga29sb25uZSIsCiJDZW50ZXIiOiAiQ2VudHJlcmluZyIsCiJNZXJnZSBjZWxscyI6ICJGbGV0IGNlbGxlciIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5kc1x1MDBlNnQgc2thYmVsb24iLAoiVGVtcGxhdGVzIjogIlNrYWJlbG9uZXIiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWdncnVuZHMgZmFydmUiLAoiQ3VzdG9tLi4uIjogIkJydWdlcmRlZmluZXJldC4uLiIsCiJDdXN0b20gY29sb3IiOiAiQnJ1Z2VyZGVmaW5lcmV0IGZhcnZlIiwKIk5vIGNvbG9yIjogIkluZ2VuIGZhcnZlIiwKIlRleHQgY29sb3IiOiAiVGVrc3QgZmFydmUiLAoiU2hvdyBibG9ja3MiOiAiVmlzIGtsb2trZSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlZpcyB1c3lubGlnZSB0ZWduIiwKIldvcmRzOiB7MH0iOiAiT3JkOiB7MH0iLAoiSW5zZXJ0IjogIkluZHNcdTAwZTZ0IiwKIkZpbGUiOiAiRmlsIiwKIkVkaXQiOiAiUmVkaWdlciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgb21yXHUwMGU1ZGUuIFRyeWsgQUxULUY5IGZvciBtZW51LiBUcnlrIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFRyeWsgQUxULTAgZm9yIGhqXHUwMGU2bHAiLAoiVG9vbHMiOiAiVlx1MDBlNnJrdFx1MDBmOGoiLAoiVmlldyI6ICJWaXMiLAoiVGFibGUiOiAiVGFiZWwiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/de.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdkZScsewoiQ3V0IjogIkF1c3NjaG5laWRlbiIsCiJIZWFkaW5nIDUiOiAiXHUwMGRjYmVyc2NocmlmdCA1IiwKIkhlYWRlciAyIjogIlx1MDBkY2JlcnNjaHJpZnQgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJJaHIgQnJvd3NlciB1bnRlcnN0XHUwMGZjdHp0IGxlaWRlciBrZWluZW4gZGlyZWt0ZW4gWnVncmlmZiBhdWYgZGllIFp3aXNjaGVuYWJsYWdlLiBCaXR0ZSBiZW51dHplbiBTaWUgZGllIFN0cmcgKyBYIFwvIEMgXC8gViBUYXN0ZW5rb21iaW5hdGlvbmVuLiIsCiJIZWFkaW5nIDQiOiAiXHUwMGRjYmVyc2NocmlmdCA0IiwKIkRpdiI6ICJUZXh0YmxvY2siLAoiSGVhZGluZyAyIjogIlx1MDBkY2JlcnNjaHJpZnQgMiIsCiJQYXN0ZSI6ICJFaW5mXHUwMGZjZ2VuIiwKIkNsb3NlIjogIlNjaGxpZVx1MDBkZmVuIiwKIkZvbnQgRmFtaWx5IjogIlNjaHJpZnRhcnQiLAoiUHJlIjogIlZvcmZvcm1hdGllcnRlciBUZXh0IiwKIkFsaWduIHJpZ2h0IjogIlJlY2h0c2JcdTAwZmNuZGlnIGF1c3JpY2h0ZW4iLAoiTmV3IGRvY3VtZW50IjogIk5ldWVzIERva3VtZW50IiwKIkJsb2NrcXVvdGUiOiAiWml0YXQiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1tZXJpZXJ0ZSBMaXN0ZSIsCiJIZWFkaW5nIDEiOiAiXHUwMGRjYmVyc2NocmlmdCAxIiwKIkhlYWRpbmdzIjogIlx1MDBkY2JlcnNjaHJpZnRlbiIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiRWluenVnIHZlcmdyXHUwMGY2XHUwMGRmZXJuIiwKIkZvcm1hdHMiOiAiRm9ybWF0ZSIsCiJIZWFkZXJzIjogIlx1MDBkY2JlcnNjaHJpZnRlbiIsCiJTZWxlY3QgYWxsIjogIkFsbGVzIGF1c3dcdTAwZTRobGVuIiwKIkhlYWRlciAzIjogIlx1MDBkY2JlcnNjaHJpZnQgMyIsCiJCbG9ja3MiOiAiQWJzYXR6Zm9ybWF0ZSIsCiJVbmRvIjogIlJcdTAwZmNja2dcdTAwZTRuZ2lnIiwKIlN0cmlrZXRocm91Z2giOiAiRHVyY2hnZXN0cmljaGVuIiwKIkJ1bGxldCBsaXN0IjogIkF1ZnpcdTAwZTRobHVuZyIsCiJIZWFkZXIgMSI6ICJcdTAwZGNiZXJzY2hyaWZ0IDEiLAoiU3VwZXJzY3JpcHQiOiAiSG9jaGdlc3RlbGx0IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiRm9ybWF0aWVydW5nIGVudGZlcm5lbiIsCiJGb250IFNpemVzIjogIlNjaHJpZnRnclx1MDBmNlx1MDBkZmUiLAoiU3Vic2NyaXB0IjogIlRpZWZnZXN0ZWxsdCIsCiJIZWFkZXIgNiI6ICJcdTAwZGNiZXJzY2hyaWZ0IDYiLAoiUmVkbyI6ICJXaWVkZXJob2xlbiIsCiJQYXJhZ3JhcGgiOiAiQWJzYXR6IiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiRmV0dCIsCiJDb2RlIjogIlF1ZWxsdGV4dCIsCiJJdGFsaWMiOiAiS3Vyc2l2IiwKIkFsaWduIGNlbnRlciI6ICJaZW50cmllcnQgYXVzcmljaHRlbiIsCiJIZWFkZXIgNSI6ICJcdTAwZGNiZXJzY2hyaWZ0IDUiLAoiSGVhZGluZyA2IjogIlx1MDBkY2JlcnNjaHJpZnQgNiIsCiJIZWFkaW5nIDMiOiAiXHUwMGRjYmVyc2NocmlmdCAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJFaW56dWcgdmVya2xlaW5lcm4iLAoiSGVhZGVyIDQiOiAiXHUwMGRjYmVyc2NocmlmdCA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJFaW5mXHUwMGZjZ2VuIGlzdCBudW4gaW0gZWluZmFjaGVuIFRleHRtb2R1cy4gSW5oYWx0ZSB3ZXJkZW4gYWIgamV0enQgYWxzIHVuZm9ybWF0aWVydGVyIFRleHQgZWluZ2VmXHUwMGZjZ3QsIGJpcyBTaWUgZGllc2UgRWluc3RlbGx1bmcgd2llZGVyIGF1c3NjaGFsdGVuISIsCiJVbmRlcmxpbmUiOiAiVW50ZXJzdHJpY2hlbiIsCiJDYW5jZWwiOiAiQWJicmVjaGVuIiwKIkp1c3RpZnkiOiAiQmxvY2tzYXR6IiwKIklubGluZSI6ICJaZWljaGVuZm9ybWF0ZSIsCiJDb3B5IjogIktvcGllcmVuIiwKIkFsaWduIGxlZnQiOiAiTGlua3NiXHUwMGZjbmRpZyBhdXNyaWNodGVuIiwKIlZpc3VhbCBhaWRzIjogIlZpc3VlbGxlIEhpbGZlbiIsCiJMb3dlciBHcmVlayI6ICJHcmllY2hpc2NoZSBLbGVpbmJ1Y2hzdGFiZW4iLAoiU3F1YXJlIjogIlF1YWRyYXQiLAoiRGVmYXVsdCI6ICJTdGFuZGFyZCIsCiJMb3dlciBBbHBoYSI6ICJLbGVpbmJ1Y2hzdGFiZW4iLAoiQ2lyY2xlIjogIktyZWlzIiwKIkRpc2MiOiAiUHVua3QiLAoiVXBwZXIgQWxwaGEiOiAiR3JvXHUwMGRmYnVjaHN0YWJlbiIsCiJVcHBlciBSb21hbiI6ICJSXHUwMGY2bWlzY2hlIFphaGxlbiAoR3JvXHUwMGRmYnVjaHN0YWJlbikiLAoiTG93ZXIgUm9tYW4iOiAiUlx1MDBmNm1pc2NoZSBaYWhsZW4gKEtsZWluYnVjaHN0YWJlbikiLAoiTmFtZSI6ICJOYW1lIiwKIkFuY2hvciI6ICJUZXh0bWFya2UiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJEaWUgXHUwMGM0bmRlcnVuZ2VuIHd1cmRlbiBub2NoIG5pY2h0IGdlc3BlaWNoZXJ0LCBzaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGRpZXNlIFNlaXRlIHZlcmxhc3NlbiB3b2xsZW4/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJMZXR6dGVuIEVudHd1cmYgd2llZGVyaGVyc3RlbGxlbiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJTb25kZXJ6ZWljaGVuIiwKIlNvdXJjZSBjb2RlIjogIlF1ZWxsdGV4dCIsCiJCIjogIkIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJDb2xvciI6ICJGYXJiZSIsCiJSaWdodCB0byBsZWZ0IjogIlZvbiByZWNodHMgbmFjaCBsaW5rcyIsCiJMZWZ0IHRvIHJpZ2h0IjogIlZvbiBsaW5rcyBuYWNoIHJlY2h0cyIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2t1bWVudGVpZ2Vuc2NoYWZ0ZW4iLAoiVGl0bGUiOiAiVGl0ZWwiLAoiS2V5d29yZHMiOiAiU2NoXHUwMGZjc3NlbHdcdTAwZjZydGVyIiwKIkVuY29kaW5nIjogIlplaWNoZW5rb2RpZXJ1bmciLAoiRGVzY3JpcHRpb24iOiAiQmVzY2hyZWlidW5nIiwKIkF1dGhvciI6ICJWZXJmYXNzZXIiLAoiRnVsbHNjcmVlbiI6ICJWb2xsYmlsZCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbGUgTGluaWUiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsZXIgQWJzdGFuZCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiQmlsZCBlaW5mXHUwMGZjZ2VuXC9iZWFyYmVpdGVuIiwKIkdlbmVyYWwiOiAiQWxsZ2VtZWluIiwKIkFkdmFuY2VkIjogIkVyd2VpdGVydCIsCiJTb3VyY2UiOiAiUXVlbGxlIiwKIkJvcmRlciI6ICJSYWhtZW4iLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlNlaXRlbnZlcmhcdTAwZTRsdG5pcyBiZWliZWhhbHRlbiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWthbGVyIEFic3RhbmQiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiQmlsZGJlc2NocmVpYnVuZyIsCiJTdHlsZSI6ICJTdGlsIiwKIkRpbWVuc2lvbnMiOiAiQWJtZXNzdW5nZW4iLAoiSW5zZXJ0IGltYWdlIjogIkJpbGQgZWluZlx1MDBmY2dlbiIsCiJab29tIGluIjogIkFuc2ljaHQgdmVyZ3JcdTAwZjZcdTAwZGZlcm4iLAoiQ29udHJhc3QiOiAiS29udHJhc3QiLAoiQmFjayI6ICJadXJcdTAwZmNjayIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJIb3Jpem9udGFsIHNwaWVnZWxuIiwKIlJlc2l6ZSI6ICJTa2FsaWVyZW4iLAoiU2hhcnBlbiI6ICJTY2hcdTAwZTRyZmVuIiwKIlpvb20gb3V0IjogIkFuc2ljaHQgdmVya2xlaW5lcm4iLAoiSW1hZ2Ugb3B0aW9ucyI6ICJCaWxkZWlnZW5zY2hhZnRlbiIsCiJBcHBseSI6ICJBbndlbmRlbiIsCiJCcmlnaHRuZXNzIjogIkhlbGxpZ2tlaXQiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJJbSBVaHJ6ZWlnZXJzaW5uIGRyZWhlbiIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJHZWdlbiBkZW4gVWhyemVpZ2Vyc2lubiBkcmVoZW4iLAoiRWRpdCBpbWFnZSI6ICJCaWxkIGJlYXJiZWl0ZW4iLAoiQ29sb3IgbGV2ZWxzIjogIkZhcmJ3ZXJ0ZSIsCiJDcm9wIjogIkJlc2NoZWlkZW4iLAoiT3JpZW50YXRpb24iOiAiQXVzcmljaHR1bmciLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlZlcnRpa2FsIHNwaWVnZWxuIiwKIkludmVydCI6ICJJbnZlcnRpZXJlbiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJEYXR1bVwvVWhyemVpdCBlaW5mXHUwMGZjZ2VuICIsCiJSZW1vdmUgbGluayI6ICJMaW5rIGVudGZlcm5lbiIsCiJVcmwiOiAiVVJMIiwKIlRleHQgdG8gZGlzcGxheSI6ICJBbnp1emVpZ2VuZGVyIFRleHQiLAoiQW5jaG9ycyI6ICJUZXh0bWFya2VuIiwKIkluc2VydCBsaW5rIjogIkxpbmsgZWluZlx1MDBmY2dlbiIsCiJOZXcgd2luZG93IjogIk5ldWVzIEZlbnN0ZXIiLAoiTm9uZSI6ICJLZWluZSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiRGllc2UgQWRyZXNzZSBzY2hlaW50IGVpbiBleHRlcm5lciBMaW5rIHp1IHNlaW4uIE1cdTAwZjZjaHRlbiBTaWUgZGFzIGRhenUgYmVuXHUwMGY2dGlndGUgXCJodHRwOlwvXC9cIiB2b3JhbnN0ZWxsZW4/IiwKIlRhcmdldCI6ICJaaWVsIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiRGllc2UgQWRyZXNzZSBzY2hlaW50IGVpbmUgRS1NYWlsLUFkcmVzc2UgenUgc2Vpbi4gTVx1MDBmNmNodGVuIFNpZSBkYXMgZGF6dSBiZW5cdTAwZjZ0aWd0ZSBcIm1haWx0bzpcIiB2b3JhbnN0ZWxsZW4/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkxpbmsgZWluZlx1MDBmY2dlblwvYmVhcmJlaXRlbiIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVmlkZW8gZWluZlx1MDBmY2dlblwvYmVhcmJlaXRlbiIsCiJQb3N0ZXIiOiAiUG9zdGVyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2ZSBRdWVsbGUiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJGXHUwMGZjZ2VuIFNpZSBJaHJlbiBFaW5iZXR0dW5nc2NvZGUgaGllciBlaW46IiwKIkluc2VydCB2aWRlbyI6ICJWaWRlbyBlaW5mXHUwMGZjZ2VuIiwKIkVtYmVkIjogIkVpbmJldHRlbiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJHZXNjaFx1MDBmY3R6dGVzIExlZXJ6ZWljaGVuIiwKIlBhZ2UgYnJlYWsiOiAiU2VpdGVudW1icnVjaCIsCiJQYXN0ZSBhcyB0ZXh0IjogIkFscyBUZXh0IGVpbmZcdTAwZmNnZW4iLAoiUHJldmlldyI6ICJWb3JzY2hhdSIsCiJQcmludCI6ICJEcnVja2VuIiwKIlNhdmUiOiAiU3BlaWNoZXJuIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJEaWUgWmVpY2hlbmZvbGdlIHd1cmRlIG5pY2h0IGdlZnVuZGVuLiIsCiJSZXBsYWNlIjogIkVyc2V0emVuIiwKIk5leHQiOiAiV2VpdGVyIiwKIldob2xlIHdvcmRzIjogIk51ciBnYW56ZSBXXHUwMGY2cnRlciIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlN1Y2hlbiB1bmQgZXJzZXR6ZW4iLAoiUmVwbGFjZSB3aXRoIjogIkVyc2V0emVuIGR1cmNoIiwKIkZpbmQiOiAiU3VjaGVuIiwKIlJlcGxhY2UgYWxsIjogIkFsbGVzIGVyc2V0emVuIiwKIk1hdGNoIGNhc2UiOiAiR3JvXHUwMGRmLVwvS2xlaW5zY2hyZWlidW5nIGJlYWNodGVuIiwKIlByZXYiOiAiWnVyXHUwMGZjY2siLAoiU3BlbGxjaGVjayI6ICJSZWNodHNjaHJlaWJwclx1MDBmY2Z1bmciLAoiRmluaXNoIjogIkVuZGUiLAoiSWdub3JlIGFsbCI6ICJBbGxlcyBJZ25vcmllcmVuIiwKIklnbm9yZSI6ICJJZ25vcmllcmVuIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlp1bSBXXHUwMGY2cnRlcmJ1Y2ggaGluenVmXHUwMGZjZ2VuIiwKIkluc2VydCByb3cgYmVmb3JlIjogIk5ldWUgWmVpbGUgZGF2b3IgZWluZlx1MDBmY2dlbiAiLAoiUm93cyI6ICJaZWlsZW4iLAoiSGVpZ2h0IjogIkhcdTAwZjZoZSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiWmVpbGUgZGFuYWNoIGVpbmZcdTAwZmNnZW4iLAoiQWxpZ25tZW50IjogIkF1c3JpY2h0dW5nIiwKIkJvcmRlciBjb2xvciI6ICJSYWhtZW5mYXJiZSIsCiJDb2x1bW4gZ3JvdXAiOiAiU3BhbHRlbmdydXBwZSIsCiJSb3ciOiAiWmVpbGUiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiTmV1ZSBTcGFsdGUgZGF2b3IgZWluZlx1MDBmY2dlbiIsCiJTcGxpdCBjZWxsIjogIlplbGxlIGF1ZnRlaWxlbiIsCiJDZWxsIHBhZGRpbmciOiAiWmVsbGVuaW5uZW5hYnN0YW5kIiwKIkNlbGwgc3BhY2luZyI6ICJaZWxsZW5hYnN0YW5kIiwKIlJvdyB0eXBlIjogIlplaWxlbnR5cCIsCiJJbnNlcnQgdGFibGUiOiAiVGFiZWxsZSBlaW5mXHUwMGZjZ2VuIiwKIkJvZHkiOiAiSW5oYWx0IiwKIkNhcHRpb24iOiAiQmVzY2hyaWZ0dW5nIiwKIkZvb3RlciI6ICJGdVx1MDBkZnplaWxlIiwKIkRlbGV0ZSByb3ciOiAiWmVpbGUgbFx1MDBmNnNjaGVuIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiWmVpbGUgZGF2b3IgZWluZlx1MDBmY2dlbiIsCiJTY29wZSI6ICJHXHUwMGZjbHRpZ2tlaXRzYmVyZWljaCIsCiJEZWxldGUgdGFibGUiOiAiVGFiZWxsZSBsXHUwMGY2c2NoZW4iLAoiSCBBbGlnbiI6ICJIb3Jpem9udGFsZSBBdXNyaWNodHVuZyIsCiJUb3AiOiAiT2JlbiIsCiJIZWFkZXIgY2VsbCI6ICJLb3BmemVsbGUiLAoiQ29sdW1uIjogIlNwYWx0ZSIsCiJSb3cgZ3JvdXAiOiAiWmVpbGVuZ3J1cHBlIiwKIkNlbGwiOiAiWmVsbGUiLAoiTWlkZGxlIjogIk1pdHRlIiwKIkNlbGwgdHlwZSI6ICJaZWxsZW50eXAiLAoiQ29weSByb3ciOiAiWmVpbGUga29waWVyZW4iLAoiUm93IHByb3BlcnRpZXMiOiAiWmVpbGVuZWlnZW5zY2hhZnRlbiIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYmVsbGVuZWlnZW5zY2hhZnRlbiIsCiJCb3R0b20iOiAiVW50ZW4iLAoiViBBbGlnbiI6ICJWZXJ0aWthbGUgQXVzcmljaHR1bmciLAoiSGVhZGVyIjogIktvcGZ6ZWlsZSIsCiJSaWdodCI6ICJSZWNodHNiXHUwMGZjbmRpZyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIk5ldWUgU3BhbHRlIGRhbmFjaCBlaW5mXHUwMGZjZ2VuIiwKIkNvbHMiOiAiU3BhbHRlbiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIk5ldWUgWmVpbGUgZGFuYWNoIGVpbmZcdTAwZmNnZW4iLAoiV2lkdGgiOiAiQnJlaXRlIiwKIkNlbGwgcHJvcGVydGllcyI6ICJaZWxsZW5laWdlbnNjaGFmdGVuIiwKIkxlZnQiOiAiTGlua3NiXHUwMGZjbmRpZyIsCiJDdXQgcm93IjogIlplaWxlIGF1c3NjaG5laWRlbiIsCiJEZWxldGUgY29sdW1uIjogIlNwYWx0ZSBsXHUwMGY2c2NoZW4iLAoiQ2VudGVyIjogIlplbnRyaWVydCIsCiJNZXJnZSBjZWxscyI6ICJaZWxsZW4gdmVyYmluZGVuIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJWb3JsYWdlIGVpbmZcdTAwZmNnZW4gIiwKIlRlbXBsYXRlcyI6ICJWb3JsYWdlbiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkhpbnRlcmdydW5kZmFyYmUiLAoiQ3VzdG9tLi4uIjogIkJlbnV0emVyZGVmaW5pZXJ0Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJCZW51dHplcmRlZmluaWVydGUgRmFyYmUiLAoiTm8gY29sb3IiOiAiS2VpbmUgRmFyYmUiLAoiVGV4dCBjb2xvciI6ICJUZXh0ZmFyYmUiLAoiU2hvdyBibG9ja3MiOiAiIEJsXHUwMGY2Y2tlIGFuemVpZ2VuIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVW5zaWNodGJhcmUgWmVpY2hlbiBhbnplaWdlbiIsCiJXb3JkczogezB9IjogIldcdTAwZjZydGVyOiB7MH0iLAoiSW5zZXJ0IjogIkVpbmZcdTAwZmNnZW4iLAoiRmlsZSI6ICJEYXRlaSIsCiJFZGl0IjogIkJlYXJiZWl0ZW4iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmljaC1UZXh0LSBBcmVhLiBEclx1MDBmY2NrZW4gU2llIEFMVC1GOSBmXHUwMGZjciBkYXMgTWVuXHUwMGZjLiBEclx1MDBmY2NrZW4gU2llIEFMVC1GMTAgZlx1MDBmY3IgU3ltYm9sbGVpc3RlLiBEclx1MDBmY2NrZW4gU2llIEFMVC0wIGZcdTAwZmNyIEhpbGZlIiwKIlRvb2xzIjogIldlcmt6ZXVnZSIsCiJWaWV3IjogIkFuc2ljaHQiLAoiVGFibGUiOiAiVGFiZWxsZSIsCiJGb3JtYXQiOiAiRm9ybWF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/de_AT.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdkZV9BVCcsewoiQ3V0IjogIkF1c3NjaG5laWRlbiIsCiJIZWFkaW5nIDUiOiAiXHUwMGRjYmVyc2NocmlmdCA1IiwKIkhlYWRlciAyIjogIlx1MDBkY2JlcnNjaHJpZnQgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJJaHIgQnJvd3NlciB1bnRlcnN0XHUwMGZjdHp0IGtlaW5lbiBkaXJla3RlbiBadWdyaWZmIGF1ZiBkaWUgWndpc2NoZW5hYmxhZ2UuIEJpdHRlIG51dHplbiBTaWUgZGllIFRhc3RhdHVya1x1MDBmY3J6ZWwgU3RyZytYXC9DXC9WIHN0YXR0ZGVzc2VuLiIsCiJIZWFkaW5nIDQiOiAiXHUwMGRjYmVyc2NocmlmdCA0IiwKIkRpdiI6ICJCbG9jayAoZGl2KSIsCiJIZWFkaW5nIDIiOiAiXHUwMGRjYmVyc2NocmlmdCAyIiwKIlBhc3RlIjogIkVpbmZcdTAwZmNnZW4iLAoiQ2xvc2UiOiAiU2NobGllXHUwMGRmZW4iLAoiRm9udCBGYW1pbHkiOiAiU2NocmlmdGFydCIsCiJQcmUiOiAiVm9yZm9ybWF0aWVydGVyIFRleHQgKHByZSkiLAoiQWxpZ24gcmlnaHQiOiAiUmVjaHRzYlx1MDBmY25kaWciLAoiTmV3IGRvY3VtZW50IjogIk5ldWVzIERva3VtZW50IiwKIkJsb2NrcXVvdGUiOiAiWml0YXQgKGJsb2NrcXVvdGUpIiwKIk51bWJlcmVkIGxpc3QiOiAiU29ydGllcnRlIExpc3RlIiwKIkhlYWRpbmcgMSI6ICJcdTAwZGNiZXJzY2hyaWZ0IDEiLAoiSGVhZGluZ3MiOiAiXHUwMGRjYmVyc2NocmlmdGVuIiwKIkluY3JlYXNlIGluZGVudCI6ICJFaW5yXHUwMGZjY2tlbiIsCiJGb3JtYXRzIjogIkZvcm1hdGUiLAoiSGVhZGVycyI6ICJcdTAwZGNiZXJzY2hyaWZ0ZW4iLAoiU2VsZWN0IGFsbCI6ICJBbGxlcyBhdXN3XHUwMGU0aGxlbiIsCiJIZWFkZXIgMyI6ICJcdTAwZGNiZXJzY2hyaWZ0IDMiLAoiQmxvY2tzIjogIkJsXHUwMGY2Y2tlIiwKIlVuZG8iOiAiUlx1MDBmY2NrZ1x1MDBlNG5naWciLAoiU3RyaWtldGhyb3VnaCI6ICJEdXJjaGdlc3RyaWNoZW4iLAoiQnVsbGV0IGxpc3QiOiAiVW5zb3J0aWVydGUgTGlzdGUiLAoiSGVhZGVyIDEiOiAiXHUwMGRjYmVyc2NocmlmdCAxIiwKIlN1cGVyc2NyaXB0IjogIkhvY2hnZXN0ZWxsdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkZvcm1hdGllcnVuZ2VuIHp1clx1MDBmY2Nrc2V0emVuIiwKIkZvbnQgU2l6ZXMiOiAiU2NocmlmdGdyXHUwMGY2XHUwMGRmZW4iLAoiU3Vic2NyaXB0IjogIlRpZWZnZXN0ZWxsdCIsCiJIZWFkZXIgNiI6ICJcdTAwZGNiZXJzY2hyaWZ0IDYiLAoiUmVkbyI6ICJXaWVkZXJob2xlbiIsCiJQYXJhZ3JhcGgiOiAiQWJzYXR6IChwKSIsCiJPayI6ICJPayIsCiJCb2xkIjogIkZldHQiLAoiQ29kZSI6ICJDb2RlIChjb2RlKSIsCiJJdGFsaWMiOiAiS3Vyc2l2IiwKIkFsaWduIGNlbnRlciI6ICJaZW50cmllcnQiLAoiSGVhZGVyIDUiOiAiXHUwMGRjYmVyc2NocmlmdCA1IiwKIkhlYWRpbmcgNiI6ICJcdTAwZGNiZXJzY2hyaWZ0IDYiLAoiSGVhZGluZyAzIjogIlx1MDBkY2JlcnNjaHJpZnQgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiQXVzclx1MDBmY2NrZW4iLAoiSGVhZGVyIDQiOiAiXHUwMGRjYmVyc2NocmlmdCA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJBbGxlIFRleHRlIHdlcmRlbiBudW4gb2huZSBGb3JtYXRpZXJ1bmcgZWluZ2VmXHUwMGZjZ3QsIGJpcyBkaWVzZSBFaW5zdGVsbHVuZyB3aWVkZXIgZ2VcdTAwZTRuZGVydCB3aXJkLiIsCiJVbmRlcmxpbmUiOiAiVW50ZXJzdHJpY2hlbiIsCiJDYW5jZWwiOiAiQWJicmVjaGVuIiwKIkp1c3RpZnkiOiAiQmxvY2tzYXR6IiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJLb3BpZXJlbiIsCiJBbGlnbiBsZWZ0IjogIkxpbmtzYlx1MDBmY25kaWciLAoiVmlzdWFsIGFpZHMiOiAiSGlsZnNsaW5pZW4gdW5kIHVuc2ljaHRiYXJlIEVsZW1lbnRlIGVpbmJsZW5kZW4iLAoiTG93ZXIgR3JlZWsiOiAiR3JpZWNoaXNjaGUgS2xlaW5idWNoc3RhYmVuIiwKIlNxdWFyZSI6ICJRdWFkcmF0IiwKIkRlZmF1bHQiOiAiU3RhbmRhcmQiLAoiTG93ZXIgQWxwaGEiOiAiS2xlaW5idWNoc3RhYmVuIiwKIkNpcmNsZSI6ICJLcmVpcyIsCiJEaXNjIjogIkdlZlx1MDBmY2xsdGVyIEtyZWlzIiwKIlVwcGVyIEFscGhhIjogIkdyb1x1MDBkZmJ1Y2hzdGFiZW4iLAoiVXBwZXIgUm9tYW4iOiAiUlx1MDBmNm1pc2NoZSBaYWhsZW4gKEdyb1x1MDBkZmJ1Y2hzdGFiZW4pIiwKIkxvd2VyIFJvbWFuIjogIlJcdTAwZjZtaXNjaGUgWmFobGVuIChLbGVpbmJ1Y2hzdGFiZW4pIiwKIk5hbWUiOiAiTmFtZSIsCiJBbmNob3IiOiAiQW5rZXIiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJTaWUgaGFiZW4gdW5nZXNwZWljaGVydGUgXHUwMGM0bmRlcnVuZ2VuLiBTaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGRpZSBTZWl0ZSB2ZXJsYXNzZW4gd29sbGVuPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiTGV0enRlbiBFbnR3dXJmIHdpZWRlcmhlcnN0ZWxsZW4uIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNvbmRlcnplaWNoZW4iLAoiU291cmNlIGNvZGUiOiAiUXVlbGx0ZXh0IiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkZhcmJlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUmVjaHRzIG5hY2ggbGlua3MiLAoiTGVmdCB0byByaWdodCI6ICJMaW5rcyBuYWNoIHJlY2h0cyIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJTdWNobWFzY2hpbmVuIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9rdW1lbnRlaWdlbnNjaGFmdGVuIiwKIlRpdGxlIjogIlRpdGVsIiwKIktleXdvcmRzIjogIlNjaGxcdTAwZmNzc2Vsd1x1MDBmNnJ0ZXIiLAoiRW5jb2RpbmciOiAiRW5rb2RpZXJ1bmciLAoiRGVzY3JpcHRpb24iOiAiQmVzY2hyZWlidW5nIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIlZvbGxiaWxkIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsZSBUcmVubmxpbmllIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbGVyIEFic3RhbmQiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkJpbGQgZWluZlx1MDBmY2dlblwvYmVhcmJlaXRlbiIsCiJHZW5lcmFsIjogIkFsbGdlbWVpbiIsCiJBZHZhbmNlZCI6ICJFcndlaXRlcnQiLAoiU291cmNlIjogIkFkcmVzc2UiLAoiQm9yZGVyIjogIlJhaG1lbiIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiU2VpdGVudmVyaFx1MDBlNGx0bmlzIGJlaWJlaGFsdGVuIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa2FsZXIgQWJzdGFuZCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJCaWxkYmVzY2hyZWlidW5nIiwKIlN0eWxlIjogIkZvcm1hdCIsCiJEaW1lbnNpb25zIjogIkF1c21hXHUwMGRmZSIsCiJJbnNlcnQgaW1hZ2UiOiAiQmlsZCBlaW5mXHUwMGZjZ2VuIiwKIlpvb20gaW4iOiAiRWluem9vbWVuIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkJhY2siOiAiWnVyXHUwMGZjY2siLAoiR2FtbWEiOiAiR2FtbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiSG9yaXpvbnRhbCBraXBwZW4iLAoiUmVzaXplIjogIkdyXHUwMGY2XHUwMGRmZSBcdTAwZTRuZGVybiIsCiJTaGFycGVuIjogIlNjaFx1MDBlNHJmZW4iLAoiWm9vbSBvdXQiOiAiQXVzem9vbWVuIiwKIkltYWdlIG9wdGlvbnMiOiAiQmlsZGVpbnN0ZWxsdW5nZW4iLAoiQXBwbHkiOiAiQW53ZW5kZW4iLAoiQnJpZ2h0bmVzcyI6ICJIZWxsaWdrZWl0IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiSW0gVWhyemVpZ2Vyc2lubiBkcmVoZW4iLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiR2VnZW4gZGVuIFVocnplaWdlcnNpbm4gZHJlaGVuIiwKIkVkaXQgaW1hZ2UiOiAiQmlsZCBiZWFyYmVpdGVuIiwKIkNvbG9yIGxldmVscyI6ICJGYXJid2VydGUiLAoiQ3JvcCI6ICJadXNjaG5laWRlbiIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRpZXJ1bmciLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlZlcnRpa2FsIGtpcHBlbiIsCiJJbnZlcnQiOiAiSW52ZXJ0aWVyZW4iLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiWmVpdFwvRGF0dW0gZWluZlx1MDBmY2dlbiIsCiJSZW1vdmUgbGluayI6ICJMaW5rIGVudGZlcm5lbiIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJBbmdlemVpZ3RlciBUZXh0IiwKIkFuY2hvcnMiOiAiQW5rZXIiLAoiSW5zZXJ0IGxpbmsiOiAiTGluayBlaW5mXHUwMGZjZ2VuIiwKIk5ldyB3aW5kb3ciOiAiTmV1ZXMgRmVuc3RlciIsCiJOb25lIjogIktlaW5lIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJEaWUgZWluZ2VnZWJlbmUgVVJMIHNjaGVpbnQgZWluZSBleHRlcm5lIFdlYi1BZHJlc3NlIHp1IHNlaW4uIFNvbGwgZGFzIG5vdHdlbmRpZ2UgXCJodHRwOlwvXC9cIi1Qclx1MDBlNGZpeCBoaW56dWdlZlx1MDBmY2d0IHdlcmRlbj8iLAoiVGFyZ2V0IjogIlppZWwiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJEaWUgZWluZ2VnZWJlbmUgVVJMIHNjaGVpbnQgZWluZSBFLU1haWwtQWRyZXNzZSB6dSBzZWluLiBTb2xsIGRhcyBub3R3ZW5kaWdlIFwibWFpbHRvOlwiLVByXHUwMGU0Zml4IGhpbnp1Z2VmXHUwMGZjZ3Qgd2VyZGVuPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJMaW5rIGVpbmZcdTAwZmNnZW5cL2JlYXJiZWl0ZW4iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvIGVpbmZcdTAwZmNnZW5cL2JlYXJiZWl0ZW4iLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdmUgUXVlbGxlIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiRlx1MDBmY2dlbiB1bnRlbiBTaWUgSWhyZW4gUXVlbGxjb2RlIHp1bSBlaW5iZXR0ZW4gZWluIiwKIkluc2VydCB2aWRlbyI6ICJWaWRlbyBlaW5mXHUwMGZjZ2VuIiwKIkVtYmVkIjogIkVpbmJldHRlbiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJnZXNjaFx1MDBmY3R6dGVzIExlZXJ6ZWljaGVuIiwKIlBhZ2UgYnJlYWsiOiAiU2VpdGVudW1icnVjaCIsCiJQYXN0ZSBhcyB0ZXh0IjogIkFscyBUZXh0IGVpbmZcdTAwZmNnZW4iLAoiUHJldmlldyI6ICJWb3JzY2hhdSIsCiJQcmludCI6ICJEcnVja2VuIiwKIlNhdmUiOiAiU3BlaWNoZXJuIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJLZWluZSBcdTAwZGNiZXJlaW5zdGltbXVuZyBnZWZ1bmRlbiIsCiJSZXBsYWNlIjogIkVyc2V0emVuIiwKIk5leHQiOiAiTlx1MDBlNGNoc3RlcyIsCiJXaG9sZSB3b3JkcyI6ICJWb2xsc3RcdTAwZTRuZGlnZSBXXHUwMGY2cnRlciIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlN1Y2hlbiB1bmQgZXJzZXR6ZW4iLAoiUmVwbGFjZSB3aXRoIjogIkVyc2V0emVuIGR1cmNoIiwKIkZpbmQiOiAiU3VjaGVuIiwKIlJlcGxhY2UgYWxsIjogIkFsbGUgZXJzZXR6ZW4iLAoiTWF0Y2ggY2FzZSI6ICJHcm9cdTAwZGYtXC9LbGVpbnNjaHJlaWJ1bmcgYmVhY2h0ZW4iLAoiUHJldiI6ICJWb3JoZXJpZ2VzIiwKIlNwZWxsY2hlY2siOiAiUmVjaHRzY2hyZWlidW5nIFx1MDBmY2JlcnByXHUwMGZjZmVuIiwKIkZpbmlzaCI6ICJGZXJ0aWciLAoiSWdub3JlIGFsbCI6ICJBbGxlIGlnbm9yaWVyZW4iLAoiSWdub3JlIjogIklnbm9yaWVyZW4iLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiWnVtIFdcdTAwZjZydGVyYnVjaCBoaW56dWZcdTAwZmNnZW4iLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiTmV1ZSBaZWlsZSBvYmVyaGFsYiBlaW5mXHUwMGZjZ2VuIiwKIlJvd3MiOiAiWmVpbGVuIiwKIkhlaWdodCI6ICJIXHUwMGY2aGUiLAoiUGFzdGUgcm93IGFmdGVyIjogIlplaWxlIHVudGVyaGFsYiBlaW5mXHUwMGZjZ2VuIiwKIkFsaWdubWVudCI6ICJBdXNyaWNodHVuZyIsCiJCb3JkZXIgY29sb3IiOiAiUmFobWVuZmFyYmUiLAoiQ29sdW1uIGdyb3VwIjogIlNwYWx0ZW5ncnVwcGUiLAoiUm93IjogIlplaWxlIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIk5ldWUgU3BhbHRlIGxpbmtzIGVpbmZcdTAwZmNnZW4iLAoiU3BsaXQgY2VsbCI6ICJWZXJidW5kZW5lIFplbGxlbiB0cmVubmVuIiwKIkNlbGwgcGFkZGluZyI6ICJBYnN0YW5kIGlubmVyaGFsYiBkZXIgWmVsbGVuIiwKIkNlbGwgc3BhY2luZyI6ICJaZWxsZW5hYnN0YW5kIiwKIlJvdyB0eXBlIjogIlplaWxlbnR5cCIsCiJJbnNlcnQgdGFibGUiOiAiVGFiZWxsZSBlaW5mXHUwMGZjZ2VuIiwKIkJvZHkiOiAiVGFiZWxsZW5rXHUwMGY2cnBlciIsCiJDYXB0aW9uIjogIkJlc2NocmlmdHVuZyBkZXIgVGFiZWxsZSIsCiJGb290ZXIiOiAiVGFiZWxsZW5mdVx1MDBkZiIsCiJEZWxldGUgcm93IjogIlplaWxlIGxcdTAwZjZzY2hlbiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlplaWxlIG9iZXJoYWxiIGVpbmZcdTAwZmNnZW4iLAoiU2NvcGUiOiAiR2VsdHVuZ3NiZXJlaWNoIiwKIkRlbGV0ZSB0YWJsZSI6ICJUYWJlbGxlIGxcdTAwZjZzY2hlbiIsCiJIIEFsaWduIjogIkF1c3JpY2h0dW5nIEgiLAoiVG9wIjogIk9iZW4iLAoiSGVhZGVyIGNlbGwiOiAiXHUwMGRjYmVyc2NocmlmdCIsCiJDb2x1bW4iOiAiU3BhbHRlIiwKIlJvdyBncm91cCI6ICJaZWlsZW5ncnVwcGUiLAoiQ2VsbCI6ICJaZWxsZSIsCiJNaWRkbGUiOiAiTWl0dGUiLAoiQ2VsbCB0eXBlIjogIlplbGxlbnR5cCIsCiJDb3B5IHJvdyI6ICJaZWlsZSBrb3BpZXJlbiIsCiJSb3cgcHJvcGVydGllcyI6ICJaZWlsZW5laWdlbnNjaGFmdGVuIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWxsZW5laWdlbnNjaGFmdGVuIiwKIkJvdHRvbSI6ICJVbnRlbiIsCiJWIEFsaWduIjogIkF1c3JpY2h0dW5nIFYiLAoiSGVhZGVyIjogIlRhYmVsbGVuXHUwMGZjYmVyc2NocmlmdCIsCiJSaWdodCI6ICJSZWNodHMiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJOZXVlIFNwYWx0ZSByZWNodHMgZWluZlx1MDBmY2dlbiIsCiJDb2xzIjogIlNwYWx0ZW4iLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJOZXVlIFplaWxlIHVudGVyaGFsYiBlaW5mXHUwMGZjZ2VuIiwKIldpZHRoIjogIkJyZWl0ZSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiWmVsbGVuZWlnZW5zY2hhZnRlbiIsCiJMZWZ0IjogIkxpbmtzIiwKIkN1dCByb3ciOiAiWmVpbGUgYXVzc2NobmVpZGVuIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU3BhbHRlIGxcdTAwZjZzY2hlbiIsCiJDZW50ZXIiOiAiWmVudHJpZXJ0IiwKIk1lcmdlIGNlbGxzIjogIlplbGxlbiB2ZXJlaW5lbiIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVm9ybGFnZSBlaW5mXHUwMGZjZ2VuIiwKIlRlbXBsYXRlcyI6ICJWb3JsYWdlbiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkhpbnRlcmdydW5kZmFyYmUiLAoiQ3VzdG9tLi4uIjogIkJlbnV0emVyZGVmaW5pZXJ0Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJCZW51dHplcmRlZmluaWVydGUgRmFyYmUiLAoiTm8gY29sb3IiOiAiS2VpbmUgRmFyYmUiLAoiVGV4dCBjb2xvciI6ICJUZXh0ZmFyYmUiLAoiU2hvdyBibG9ja3MiOiAiQmxvY2tlbGVtZW50ZSBlaW5ibGVuZGVuIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVW5zaWNodGJhcmUgWmVpY2hlbiBlaW5ibGVuZGVuIiwKIldvcmRzOiB7MH0iOiAiV1x1MDBmNnJ0ZXI6IHswfSIsCiJJbnNlcnQiOiAiRWluZlx1MDBmY2dlbiIsCiJGaWxlIjogIkRhdGVpIiwKIkVkaXQiOiAiQmVhcmJlaXRlbiIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gRHJcdTAwZmNja2VuIFNpZSBBTFQtRjkgZlx1MDBmY3IgZGFzIE1lblx1MDBmYy4gRHJcdTAwZmNja2VuIFNpZSBBTFQtRjEwIGZcdTAwZmNyIGRpZSBXZXJremV1Z2xlaXN0ZS4gRHJcdTAwZmNja2VuIFNpZSBBTFQtMCBmXHUwMGZjciBIaWxmZSIsCiJUb29scyI6ICJFeHRyYXMiLAoiVmlldyI6ICJBbnNpY2h0IiwKIlRhYmxlIjogIlRhYmVsbGUiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/dv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdkdicsewoiQ3V0IjogIlx1MDc4Nlx1MDdhNlx1MDc5M1x1MDdiMCIsCiJIZWFkaW5nIDUiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E4XHUwNzgyXHUwN2IwIDUiLAoiSGVhZGVyIDIiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E3IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNzg2XHUwN2IwXHUwNzhkXHUwN2E4XHUwNzk1XHUwN2IwXHUwNzg0XHUwN2FmXHUwNzkxXHUwN2IwIFx1MDc4NFx1MDdhZFx1MDc4Mlx1MDdhYVx1MDc4Mlx1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWFcdTA3ODlcdTA3YWFcdTA3OGVcdTA3YWMgXHUwNzgwXHUwN2FhXHUwNzg3XHUwN2IwXHUwNzhiXHUwN2E2XHUwNjBjIFx1MDc4NFx1MDdiMFx1MDc4M1x1MDdhZlx1MDc5Mlx1MDdhNlx1MDc4M1x1MDc4N1x1MDdhNlx1MDc4Nlx1MDdhYVx1MDc4Mlx1MDdiMCBcdTA3ODJcdTA3YWFcdTA3OGJcdTA3YWQhIEN0cmwrWFwvQ1wvViBcdTA3ODRcdTA3YWRcdTA3ODJcdTA3YWFcdTA3ODJcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkISIsCiJIZWFkaW5nIDQiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E4XHUwNzgyXHUwN2IwIDQiLAoiRGl2IjogIlx1MDc5MVx1MDdhNlx1MDc4N1x1MDdhOFx1MDc4OFx1MDdiMCIsCiJIZWFkaW5nIDIiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E4XHUwNzgyXHUwN2IwIDIiLAoiUGFzdGUiOiAiXHUwNzk1XHUwN2FkXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIiwKIkNsb3NlIjogIlx1MDc4Mlx1MDdhOFx1MDc4N1x1MDdiMFx1MDc4OFx1MDdhNyIsCiJGb250IEZhbWlseSI6ICJcdTA3OGFcdTA3YWVcdTA3ODJcdTA3YjBcdTA3OTNcdTA3YjAiLAoiUHJlIjogIlx1MDc5NVx1MDdiMFx1MDc4M1x1MDdhOSIsCiJBbGlnbiByaWdodCI6ICJcdTA3ODZcdTA3YTZcdTA3ODJcdTA3YTdcdTA3OGNcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzk2XHUwN2E2XHUwNzg3XHUwN2IwXHUwNzkwXHUwN2E3IiwKIk5ldyBkb2N1bWVudCI6ICJcdTA3ODdcdTA3YTcgXHUwNzkxXHUwN2FlXHUwNzg2XHUwN2E4XHUwNzg3XHUwN2FhXHUwNzg5XHUwN2FjXHUwNzgyXHUwN2IwXHUwNzkzXHUwN2IwIiwKIkJsb2NrcXVvdGUiOiAiXHUwNzg0XHUwN2IwXHUwNzhkXHUwN2FlXHUwNzg2XHUwN2IwLVx1MDc4Nlx1MDdhZlx1MDc5M1x1MDdiMCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDc4Mlx1MDdhNlx1MDc4Mlx1MDdiMFx1MDc4NFx1MDdhNlx1MDc4M1x1MDdhYSBcdTA3OGRcdTA3YThcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAiLAoiSGVhZGluZyAxIjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCAxIiwKIkhlYWRpbmdzIjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNzhiXHUwN2FhXHUwNzgzXHUwN2FhXHUwNzg5XHUwN2E4XHUwNzgyXHUwN2IwIFx1MDc4NFx1MDdhZVx1MDc5MVx1MDdhYVx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJGb3JtYXRzIjogIlx1MDc4YVx1MDdhZlx1MDc4OVx1MDdhY1x1MDc5M1x1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJIZWFkZXJzIjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhN1x1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJTZWxlY3QgYWxsIjogIlx1MDc5MFx1MDdhY1x1MDc4ZFx1MDdhY1x1MDc4Nlx1MDdiMFx1MDc5M1x1MDdiMCBcdTA3ODdcdTA3YWZcdTA3OGRcdTA3YjAiLAoiSGVhZGVyIDMiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E3IDMiLAoiQmxvY2tzIjogIlx1MDc4NFx1MDdiMFx1MDc4ZFx1MDdhZVx1MDc4Nlx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJVbmRvIjogIlx1MDc4N1x1MDdhNlx1MDc4Mlx1MDdiMFx1MDc5MVx1MDdhYiIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDc4OVx1MDdhY1x1MDc4Ylx1MDdhYSBcdTA3ODNcdTA3YWVcdTA3ODJcdTA3OGVcdTA3YWUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNzg0XHUwN2FhXHUwNzhkXHUwN2FjXHUwNzkzXHUwN2IwIFx1MDc4ZFx1MDdhOFx1MDc5MFx1MDdiMFx1MDc5M1x1MDdiMCIsCiJIZWFkZXIgMSI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YTcgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTA3ODlcdTA3YTZcdTA3OGNcdTA3YTlcdTA3ODdcdTA3YTZcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA3OGFcdTA3YWZcdTA3ODlcdTA3YWNcdTA3OTNcdTA3YjBcdTA3OGNcdTA3YTZcdTA3ODdcdTA3YjAgXHUwNzhhXHUwN2FlXHUwNzgwXHUwN2FkIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNzhhXHUwN2FlXHUwNzgyXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc5MFx1MDdhNlx1MDc4N1x1MDdhOFx1MDc5Mlx1MDdiMCIsCiJTdWJzY3JpcHQiOiAiXHUwNzhjXHUwN2E4XHUwNzgzXHUwN2E5XHUwNzg3XHUwN2E2XHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhIiwKIkhlYWRlciA2IjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhNyA2IiwKIlJlZG8iOiAiXHUwNzgzXHUwN2E5XHUwNzkxXHUwN2FiIiwKIlBhcmFncmFwaCI6ICJcdTA3OTVcdTA3YWNcdTA3ODNcdTA3YWNcdTA3OGVcdTA3YjBcdTA3ODNcdTA3YTdcdTA3OGFcdTA3YjAiLAoiT2siOiAiXHUwNzg3XHUwN2FmXHUwNzg2XHUwN2FkIiwKIkJvbGQiOiAiXHUwNzg0XHUwN2FmXHUwNzhkXHUwN2IwXHUwNzkxXHUwN2IwIiwKIkNvZGUiOiAiXHUwNzg2XHUwN2FmXHUwNzkxXHUwN2IwIiwKIkl0YWxpYyI6ICJcdTA3ODdcdTA3YThcdTA3OTNcdTA3YTZcdTA3OGRcdTA3YThcdTA3ODZcdTA3YjAiLAoiQWxpZ24gY2VudGVyIjogIlx1MDc4OVx1MDdhY1x1MDc4Ylx1MDdhNlx1MDc4MVx1MDdiMCBcdTA3OTZcdTA3YTZcdTA3ODdcdTA3YjBcdTA3OTBcdTA3YTciLAoiSGVhZGVyIDUiOiAiXHUwNzgwXHUwN2FjXHUwNzkxXHUwN2E3IDUiLAoiSGVhZGluZyA2IjogIlx1MDc4MFx1MDdhY1x1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCA2IiwKIkhlYWRpbmcgMyI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YThcdTA3ODJcdTA3YjAgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNzhiXHUwN2FhXHUwNzgzXHUwN2FhXHUwNzg5XHUwN2E4XHUwNzgyXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc5MVx1MDdhNlx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJIZWFkZXIgNCI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YTcgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUwNzk1XHUwN2FkXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhY1x1MDc4OFx1MDdhZFx1MDc4Mlx1MDdhOSBcdTA3OTVcdTA3YjBcdTA3OGRcdTA3YWNcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjBcdTA3ODZcdTA3YWVcdTA3ODFcdTA3YjAhIFx1MDc4NFx1MDdhNlx1MDc4Ylx1MDdhNlx1MDc4ZFx1MDdhYSBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWNcdTA3ODdcdTA3YjBcdTA3ODhcdTA3YWFcdTA3ODlcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzg5XHUwN2E4IFx1MDc4N1x1MDdhZVx1MDc5NVx1MDdiMFx1MDc5ZFx1MDdhNlx1MDc4Mlx1MDdiMCBcdTA3ODdcdTA3YWVcdTA3OGFcdTA3YjAgXHUwNzg2XHUwN2FlXHUwNzgxXHUwN2IwXHUwNzhkXHUwN2E2XHUwNzg3XHUwN2IwXHUwNzg4XHUwN2E3ISIsCiJVbmRlcmxpbmUiOiAiXHUwNzhiXHUwN2E2XHUwNzgxXHUwN2FhXHUwNzgzXHUwN2FlXHUwNzgyXHUwNzhlXHUwN2FhIiwKIkNhbmNlbCI6ICJcdTA3ODZcdTA3YWNcdTA3ODJcdTA3YjBcdTA3OTBcdTA3YTZcdTA3OGRcdTA3YjAiLAoiSnVzdGlmeSI6ICJcdTA3ODdcdTA3YWNcdTA3ODdcdTA3YjBcdTA3ODhcdTA3YTZcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIklubGluZSI6ICJcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjBcdTA3OGRcdTA3YTZcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjAiLAoiQ29weSI6ICJcdTA3ODZcdTA3YWVcdTA3OTVcdTA3YTkiLAoiQWxpZ24gbGVmdCI6ICJcdTA3ODhcdTA3YTdcdTA3OGNcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzk2XHUwN2E2XHUwNzg3XHUwN2IwXHUwNzkwXHUwN2E3IiwKIlZpc3VhbCBhaWRzIjogIlx1MDc4OFx1MDdhOFx1MDc5ZFx1MDdhYVx1MDc4N1x1MDdhNlx1MDc4ZFx1MDdiMCBcdTA3ODdcdTA3YWNcdTA3ODdcdTA3YThcdTA3OTFcdTA3YjBcdTA3OTBcdTA3YjAiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNzhkXHUwN2FmXHUwNzg4XHUwN2E2XHUwNzgzIFx1MDc4ZVx1MDdiMFx1MDc4M1x1MDdhOVx1MDc4Nlx1MDdiMCIsCiJTcXVhcmUiOiAiXHUwNzhlXHUwN2FlXHUwNzg1XHUwN2E4IiwKIkRlZmF1bHQiOiAiXHUwNzkxXHUwN2E4XHUwNzhhXHUwN2FmXHUwNzhkXHUwN2IwXHUwNzkzXHUwN2IwIiwKIkxvd2VyIEFscGhhIjogIlx1MDc4ZFx1MDdhZlx1MDc4OFx1MDdhNlx1MDc4MyBcdTA3ODdcdTA3YTZcdTA3OGRcdTA3YjBcdTA3OGFcdTA3YTciLAoiQ2lyY2xlIjogIlx1MDc4NFx1MDdhZVx1MDc4NVx1MDdhYSIsCiJEaXNjIjogIlx1MDc4OFx1MDdhNlx1MDc4MVx1MDdiMFx1MDc4NFx1MDdhYVx1MDc4M1x1MDdhYSIsCiJVcHBlciBBbHBoYSI6ICJcdTA3ODdcdTA3YTZcdTA3OTVcdTA3YTcgXHUwNzg3XHUwN2E2XHUwNzhkXHUwN2IwXHUwNzhhXHUwN2E3IiwKIlVwcGVyIFJvbWFuIjogIlx1MDc4N1x1MDdhNlx1MDc5NVx1MDdhNyBcdTA3ODNcdTA3YWZcdTA3ODlcdTA3YTZcdTA3ODJcdTA3YjAiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNzhkXHUwN2FmXHUwNzg4XHUwN2E2XHUwNzgzIFx1MDc4M1x1MDdhZlx1MDc4OVx1MDdhNlx1MDc4Mlx1MDdiMCIsCiJOYW1lIjogIlx1MDc4Mlx1MDdhNlx1MDc4Mlx1MDdiMCIsCiJBbmNob3IiOiAiXHUwNzg3XHUwN2FjXHUwNzgyXHUwN2IwXHUwNzg2XHUwN2E2XHUwNzgzIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIFx1MDc5MFx1MDdhZFx1MDc4OFx1MDdiMCBcdTA3ODJcdTA3YWFcdTA3ODZcdTA3YWVcdTA3ODFcdTA3YjAgXHUwNzhiXHUwN2FiXHUwNzg2XHUwN2FlXHUwNzgxXHUwN2IwXHUwNzhkXHUwN2E2XHUwNzgyXHUwN2IwXHUwNzg4XHUwN2E5XHUwNzhjXHUwN2E2XHUwNjFmIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA3OGFcdTA3YTZcdTA3ODBcdTA3YWFcdTA3OGVcdTA3YWMgXHUwNzkxXHUwN2IwXHUwNzgzXHUwN2E3XHUwNzhhXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4M1x1MDdhY1x1MDc5MFx1MDdiMFx1MDc5M1x1MDdhZiBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNzlhXHUwN2E3XHUwNzg3XHUwN2IwXHUwNzkwXHUwN2E2IFx1MDc4N1x1MDdhNlx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJTb3VyY2UgY29kZSI6ICJcdTA3ODlcdTA3YTZcdTA3OTBcdTA3YjBcdTA3OGJcdTA3YTZcdTA3ODNcdTA3YWEiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA3ODZcdTA3YTZcdTA3ODJcdTA3YTdcdTA3OGNcdTA3YWFcdTA3ODJcdTA3YjAgXHUwNzg4XHUwN2E3XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNzg4XHUwN2E3XHUwNzhjXHUwN2FhXHUwNzgyXHUwN2IwIFx1MDc4Nlx1MDdhNlx1MDc4Mlx1MDdhN1x1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCIsCiJFbW90aWNvbnMiOiAiXHUwNzlkXHUwN2FhXHUwNzg3XHUwN2FiXHUwNzgzXHUwN2FhIFx1MDc4YVx1MDdhZVx1MDc5M1x1MDdhZiIsCiJSb2JvdHMiOiAiXHUwNzgzXHUwN2FmXHUwNzg0XHUwN2FlXHUwNzkzXHUwN2IwXHUwNzkwXHUwN2IwIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNzkxXHUwN2FlXHUwNzg2XHUwN2E4XHUwNzg3XHUwN2FhXHUwNzg5XHUwN2FjXHUwNzgyXHUwN2IwXHUwNzkzXHUwN2IwXHUwNzhlXHUwN2FjIFx1MDc5MFx1MDdhOFx1MDc4YVx1MDdhNlx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJUaXRsZSI6ICJcdTA3OTNcdTA3YTZcdTA3ODdcdTA3YThcdTA3OTNcdTA3YTZcdTA3OGRcdTA3YjAiLAoiS2V5d29yZHMiOiAiXHUwNzg2XHUwN2E5XHUwNzg4XHUwN2FmXHUwNzkxXHUwN2IwXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIiwKIkVuY29kaW5nIjogIlx1MDc4N1x1MDdhY1x1MDc4Mlx1MDdiMFx1MDc4Nlx1MDdhZlx1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCIsCiJEZXNjcmlwdGlvbiI6ICJcdTA3OGNcdTA3YTZcdTA3OGFcdTA3YjBcdTA3OTBcdTA3YTlcdTA3OGRcdTA3YWEiLAoiQXV0aG9yIjogIlx1MDc4OFx1MDdhY1x1MDc4M1x1MDdhOFx1MDc4YVx1MDdhNlx1MDc4M1x1MDdhN1x1MDc4Y1x1MDdiMCIsCiJGdWxsc2NyZWVuIjogIlx1MDc4YVx1MDdhYVx1MDc4ZFx1MDdiMFx1MDc5MFx1MDdiMFx1MDc4Nlx1MDdiMFx1MDc4M1x1MDdhOVx1MDc4Mlx1MDdiMCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNzgwXHUwN2FhXHUwNzgzXHUwN2E2XHUwNzkwXHUwN2IwIFx1MDc4M1x1MDdhZVx1MDc4Mlx1MDc4ZVx1MDdhYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDc4MFx1MDdhZVx1MDc4M1x1MDdhOFx1MDc5Mlx1MDdhZlx1MDc4Mlx1MDdiMFx1MDc5M1x1MDdhNlx1MDc4ZFx1MDdiMCBcdTA3OTBcdTA3YjBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjAiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDc4YVx1MDdhZVx1MDc5M1x1MDdhZlx1MDc4ZFx1MDdhYVx1MDc4Mlx1MDdiMFwvXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhXHUwNzgyXHUwN2IwIiwKIkdlbmVyYWwiOiAiXHUwNzg3XHUwN2E3XHUwNzgyXHUwN2IwXHUwNzg5XHUwN2FhIiwKIkFkdmFuY2VkIjogIlx1MDc4N1x1MDdhY1x1MDc5MVx1MDdiMFx1MDc4OFx1MDdhN1x1MDc4Mlx1MDdiMFx1MDc5MFx1MDdiMFx1MDc5MVx1MDdiMCIsCiJTb3VyY2UiOiAiXHUwNzg5XHUwN2E2XHUwNzkwXHUwN2IwXHUwNzhiXHUwN2E2XHUwNzgzXHUwN2FhIiwKIkJvcmRlciI6ICJcdTA3ODRcdTA3YWZcdTA3OTFcdTA3YTZcdTA3ODNcdTA3YWEiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDc4OFx1MDdhNlx1MDc5Mlx1MDdhNlx1MDc4Mlx1MDdiMCBcdTA3ODBcdTA3YThcdTA3OGFcdTA3YTZcdTA3ODBcdTA3YTZcdTA3ODdcdTA3YjBcdTA3OTNcdTA3YTciLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwNzg4XHUwN2E3XHUwNzkzXHUwN2E4XHUwNzg2XHUwN2E2XHUwNzhkXHUwN2IwIFx1MDc5MFx1MDdiMFx1MDc5NVx1MDdhZFx1MDc5MFx1MDdiMCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA3OGFcdTA3YWVcdTA3OTNcdTA3YWZcdTA3OGVcdTA3YWMgXHUwNzhjXHUwN2E2XHUwNzhhXHUwN2IwXHUwNzkwXHUwN2E5XHUwNzhkXHUwN2FhIiwKIlN0eWxlIjogIlx1MDc5MFx1MDdiMFx1MDc5M1x1MDdhNlx1MDc4N1x1MDdhOFx1MDc4ZFx1MDdiMCIsCiJEaW1lbnNpb25zIjogIlx1MDc4OVx1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNzhhXHUwN2FlXHUwNzkzXHUwN2FmIFx1MDc4N1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5MFx1MDdhN1x1MDc5M1x1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwNzg4XHUwN2E2XHUwNzhlXHUwN2FhXHUwNzhjXHUwN2FhXC9cdTA3OGNcdTA3YTdcdTA3ODNcdTA3YTlcdTA3OWFcdTA3YjAgXHUwNzhkXHUwN2FhXHUwNzgyXHUwN2IwIiwKIlJlbW92ZSBsaW5rIjogIlx1MDc4ZFx1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4Nlx1MDdiMCBcdTA3OGFcdTA3YWVcdTA3ODBcdTA3YWQiLAoiVXJsIjogIlx1MDc5NFx1MDdhYi5cdTA3ODdcdTA3YTdcdTA3ODNcdTA3YjAuXHUwNzg3XHUwN2FjXHUwNzhkXHUwN2IwIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA3OGJcdTA3YTZcdTA3ODdcdTA3YjBcdTA3ODZcdTA3YTZcdTA3ODJcdTA3YjBcdTA3ODhcdTA3YTkgXHUwNzg3XHUwN2E4XHUwNzg0XHUwN2E3XHUwNzgzXHUwN2E3XHUwNzhjXHUwN2IwIiwKIkFuY2hvcnMiOiAiXHUwNzg3XHUwN2FjXHUwNzgyXHUwN2IwXHUwNzg2XHUwN2E2XHUwNzgzXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIiwKIkluc2VydCBsaW5rIjogIlx1MDc4ZFx1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4Nlx1MDdiMCBcdTA3OGRcdTA3YWFcdTA3ODJcdTA3YjAiLAoiTmV3IHdpbmRvdyI6ICJcdTA3ODdcdTA3YTcgXHUwNzg4XHUwN2E4XHUwNzgyXHUwN2IwXHUwNzkxXHUwN2FmXHUwNzg3XHUwN2E2XHUwNzg2XHUwN2E2XHUwNzgxXHUwN2IwIiwKIk5vbmUiOiAiXHUwNzgyXHUwN2FlXHUwNzgyXHUwN2IwIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA3OGNcdTA3YThcdTA3OTRcdTA3YTYgXHUwNzhkXHUwN2E4XHUwNzk0XHUwN2FhXHUwNzg3XHUwN2IwXHUwNzg4XHUwN2E5IFx1MDc4N1x1MDdhY1x1MDc4MFx1MDdhY1x1MDc4Mlx1MDdiMCBcdTA3OTBcdTA3YTZcdTA3ODdcdTA3YThcdTA3OTNcdTA3YWNcdTA3ODdcdTA3YjBcdTA3OGVcdTA3YWMgXHUwNzhkXHUwN2E4XHUwNzgyXHUwN2IwXHUwNzg2XHUwN2FjXHUwNzg3XHUwN2IwXHUwNzg2XHUwN2E2XHUwNzg5XHUwN2FhXHUwNzgyXHUwN2IwIFx1MDc4N1x1MDdhY1x1MDc5N1x1MDdiMC5cdTA3OTNcdTA3YTkuXHUwNzkzXHUwN2E5Llx1MDc5NVx1MDdhOSBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YThcdTA3ODdcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzg3XHUwN2E4XHUwNzhjXHUwN2FhXHUwNzgzXHUwN2FhIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhNlx1MDc4Mlx1MDdiMFx1MDc4Y1x1MDdhZlx1MDYxZiIsCiJUYXJnZXQiOiAiXHUwNzkzXHUwN2E3XHUwNzhlXHUwN2FjXHUwNzkzXHUwN2IwIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNzg5XHUwN2FjXHUwNzg3XHUwN2E4XHUwNzhkXHUwN2IwXHUwNzkzXHUwN2FiIC0gXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4N1x1MDdhOFx1MDc4Y1x1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhNlx1MDc4N1x1MDdiMFx1MDc4OFx1MDdhNlx1MDc4Mlx1MDdiMCBcdTA3ODRcdTA3YWRcdTA3ODJcdTA3YWFcdTA3ODJcdTA3YjBcdTA3OGFcdTA3YWFcdTA3ODVcdTA3YWFcdTA3OGNcdTA3YWZcdTA2MWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNzhkXHUwN2E4XHUwNzgyXHUwN2IwXHUwNzg2XHUwN2IwIFx1MDc4ZFx1MDdhYVx1MDc4Mlx1MDdiMFwvXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhIFx1MDc4ZVx1MDdhY1x1MDc4Mlx1MDdhNlx1MDc4N1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNzg4XHUwN2E5XHUwNzkxXHUwN2E4XHUwNzg3XHUwN2FmIFx1MDc4ZFx1MDdhYVx1MDc4Mlx1MDdiMFwvXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhIFx1MDc4ZVx1MDdhY1x1MDc4Mlx1MDdhNlx1MDc4N1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJQb3N0ZXIiOiAiXHUwNzk1XHUwN2FmXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2E2XHUwNzgzIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA3ODdcdTA3YTZcdTA3OGRcdTA3YjBcdTA3OTNcdTA3YTZcdTA3ODJcdTA3YWRcdTA3OTNcdTA3YThcdTA3ODhcdTA3YjAgXHUwNzkwXHUwN2FmXHUwNzkwXHUwN2IwIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNzg3XHUwN2FjXHUwNzg5XHUwN2IwXHUwNzg0XHUwN2FjXHUwNzkxXHUwN2IwIFx1MDc4Nlx1MDdhZlx1MDc5MVx1MDdiMCBcdTA3OGNcdTA3YThcdTA3ODNcdTA3YTlcdTA3OGVcdTA3YTZcdTA3ODdcdTA3YTggXHUwNzk1XHUwN2FkXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNzg4XHUwN2E5XHUwNzkxXHUwN2E4XHUwNzg3XHUwN2FmIFx1MDc4ZFx1MDdhYVx1MDc4Mlx1MDdiMCIsCiJFbWJlZCI6ICJcdTA3ODdcdTA3YWNcdTA3ODlcdTA3YjBcdTA3ODRcdTA3YWNcdTA3OTFcdTA3YjAiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNzgyXHUwN2FlXHUwNzgyXHUwN2IwIFx1MDc4NFx1MDdiMFx1MDc4M1x1MDdhZFx1MDc4Nlx1MDdhOFx1MDc4Mlx1MDdiMCBcdTA3OTBcdTA3YjBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjAiLAoiUGFnZSBicmVhayI6ICJcdTA3OTVcdTA3YWRcdTA3OTZcdTA3YjAgXHUwNzg0XHUwN2IwXHUwNzgzXHUwN2FkXHUwNzg2XHUwN2IwIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNzkzXHUwN2FjXHUwNzg2XHUwN2IwXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4ZVx1MDdhZVx1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlByZXZpZXciOiAiXHUwNzk1XHUwN2IwXHUwNzgzXHUwN2E5XHUwNzg4XHUwN2E4XHUwNzg3XHUwN2FhIiwKIlByaW50IjogIlx1MDc5NVx1MDdiMFx1MDc4M1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5M1x1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiU2F2ZSI6ICJcdTA3OTBcdTA3YWRcdTA3ODhcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA3OGNcdTA3YThcdTA3OTRcdTA3YTYgXHUwNzgwXHUwN2FmXHUwNzg3XHUwN2IwXHUwNzhiXHUwN2E2XHUwNzg4XHUwN2E3IFx1MDc4ZFx1MDdhNlx1MDc4YVx1MDdhYVx1MDc5Mlx1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODJcdTA3YWFcdTA3OGFcdTA3YWNcdTA3ODJcdTA3YWFcdTA3ODJcdTA3YWEiLAoiUmVwbGFjZSI6ICJcdTA3ODRcdTA3YTZcdTA3OGJcdTA3YTZcdTA3OGRcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIk5leHQiOiAiXHUwNzhhXHUwN2E2XHUwNzgwXHUwN2E2XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIiwKIldob2xlIHdvcmRzIjogIlx1MDc4NFx1MDdhNlx1MDc5MFx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YWNcdTA3ODdcdTA3YjBcdTA3ODZcdTA3YWVcdTA3ODFcdTA3YjAiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA3ODBcdTA3YWZcdTA3OGJcdTA3YWFcdTA3ODlcdTA3YTZcdTA3ODFcdTA3YjBcdTA3OGFcdTA3YTZcdTA3ODBcdTA3YWEgXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhYVx1MDc4Mlx1MDdiMCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNzg0XHUwN2E2XHUwNzhiXHUwN2E2XHUwNzhkXHUwN2FhXHUwNzhlXHUwN2E2XHUwNzg3XHUwN2E4IFx1MDc4NFx1MDdhZFx1MDc4Mlx1MDdhYVx1MDc4Mlx1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YTdcdTA3ODJcdTA3YTkiLAoiRmluZCI6ICJcdTA3ODBcdTA3YWZcdTA3OGJcdTA3YTciLAoiUmVwbGFjZSBhbGwiOiAiXHUwNzgwXHUwN2FhXHUwNzgzXHUwN2E4XHUwNzgwXHUwN2E3IFx1MDc4N1x1MDdhY1x1MDc4N1x1MDdiMFx1MDc5N1x1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODRcdTA3YTZcdTA3OGJcdTA3YTZcdTA3OGRcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIk1hdGNoIGNhc2UiOiAiXHUwNzg2XHUwN2FkXHUwNzkwXHUwN2IwIFx1MDc4N1x1MDdhNlx1MDc4MVx1MDdiMCBcdTA3ODRcdTA3YTZcdTA3OGRcdTA3YTciLAoiUHJldiI6ICJcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YThcdTA3ODdcdTA3YTZcdTA3ODFcdTA3YjAiLAoiU3BlbGxjaGVjayI6ICJcdTA3ODZcdTA3YWFcdTA3ODFcdTA3YjAgXHUwNzgwXHUwN2FmXHUwNzhiXHUwN2E3IiwKIkZpbmlzaCI6ICJcdTA3ODJcdTA3YThcdTA3ODJcdTA3YjBcdTA3ODlcdTA3YTciLAoiSWdub3JlIGFsbCI6ICJcdTA3ODBcdTA3YWFcdTA3ODNcdTA3YThcdTA3ODBcdTA3YTcgXHUwNzg3XHUwN2FjXHUwNzg3XHUwN2IwXHUwNzk3XHUwN2FjXHUwNzg3XHUwN2IwIFx1MDc4Ylx1MDdhYlx1MDc4Nlx1MDdhZVx1MDc4MVx1MDdiMFx1MDc4ZFx1MDdhNyIsCiJJZ25vcmUiOiAiXHUwNzhiXHUwN2FiXHUwNzg2XHUwN2FlXHUwNzgxXHUwN2IwXHUwNzhkXHUwN2E3IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDc4M1x1MDdhNlx1MDc4Ylx1MDdhOVx1MDc4YVx1MDdhNlx1MDc4MVx1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWFcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4M1x1MDdhZlx1MDc4N1x1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlJvd3MiOiAiXHUwNzgzXHUwN2FmIiwKIkhlaWdodCI6ICJcdTA3OGJcdTA3YThcdTA3OGVcdTA3YWFcdTA3ODlcdTA3YThcdTA3ODJcdTA3YjAiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDc4YVx1MDdhNlx1MDc4MFx1MDdhNlx1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCBcdTA3ODNcdTA3YWYgXHUwNzk1XHUwN2FkXHUwNzkwXHUwN2IwXHUwNzkzXHUwN2IwIFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJBbGlnbm1lbnQiOiAiXHUwNzg3XHUwN2FjXHUwNzhkXHUwN2E2XHUwNzg3XHUwN2E4XHUwNzgyXHUwN2IwXHUwNzg5XHUwN2FjXHUwNzgyXHUwN2IwXHUwNzkzXHUwN2IwIiwKIkNvbHVtbiBncm91cCI6ICJcdTA3ODZcdTA3YWVcdTA3OGRcdTA3YTZcdTA3ODlcdTA3YjAgXHUwNzhlXHUwN2IwXHUwNzgzXHUwN2FiXHUwNzk1XHUwN2IwIiwKIlJvdyI6ICJcdTA3ODNcdTA3YWYiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4Nlx1MDdhZVx1MDc4ZFx1MDdhNlx1MDc4OVx1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlNwbGl0IGNlbGwiOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIFx1MDc4OFx1MDdhNlx1MDc4Nlx1MDdhOFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIFx1MDc5NVx1MDdhY1x1MDc5MVx1MDdhOFx1MDc4Mlx1MDdiMCIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIFx1MDc5MFx1MDdiMFx1MDc5NVx1MDdhZFx1MDc5MFx1MDdhOFx1MDc4Mlx1MDdiMFx1MDc4ZSIsCiJSb3cgdHlwZSI6ICJcdTA3ODNcdTA3YWZcdTA3OGVcdTA3YWMgXHUwNzg4XHUwN2E2XHUwNzg3XHUwN2IwXHUwNzhjXHUwN2E2XHUwNzgzXHUwN2FhIiwKIkluc2VydCB0YWJsZSI6ICJcdTA3OTNcdTA3YWRcdTA3ODRcdTA3YTZcdTA3OGRcdTA3YjAgXHUwNzhkXHUwN2FhXHUwNzgyXHUwN2IwIiwKIkJvZHkiOiAiXHUwNzg0XHUwN2FlXHUwNzkxXHUwN2E5IiwKIkNhcHRpb24iOiAiXHUwNzg2XHUwN2FjXHUwNzk1XHUwN2IwXHUwNzlkXHUwN2E2XHUwNzgyXHUwN2IwIiwKIkZvb3RlciI6ICJcdTA3OGFcdTA3YWJcdTA3OTNcdTA3YTZcdTA3ODMiLAoiRGVsZXRlIHJvdyI6ICJcdTA3ODNcdTA3YWYgXHUwNzhhXHUwN2FlXHUwNzgwXHUwN2FkIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4M1x1MDdhZiBcdTA3OTVcdTA3YWRcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlNjb3BlIjogIlx1MDc5MFx1MDdiMFx1MDc4Nlx1MDdhZlx1MDc5NVx1MDdiMCIsCiJEZWxldGUgdGFibGUiOiAiXHUwNzkzXHUwN2FkXHUwNzg0XHUwN2E2XHUwNzhkXHUwN2IwIFx1MDc4YVx1MDdhZVx1MDc4MFx1MDdhZCIsCiJIIEFsaWduIjogIlx1MDc4MFx1MDdhYVx1MDc4M1x1MDdhNlx1MDc5MFx1MDdiMCBcdTA3ODdcdTA3YWNcdTA3OGRcdTA3YTZcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjAiLAoiVG9wIjogIlx1MDc4OVx1MDdhNlx1MDc4Y1x1MDdhOCIsCiJIZWFkZXIgY2VsbCI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YTcgXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIiwKIkNvbHVtbiI6ICJcdTA3ODZcdTA3YWVcdTA3OGRcdTA3YTZcdTA3ODlcdTA3YjAiLAoiUm93IGdyb3VwIjogIlx1MDc4M1x1MDdhZiBcdTA3OGVcdTA3YjBcdTA3ODNcdTA3YWJcdTA3OTVcdTA3YjAiLAoiQ2VsbCI6ICJcdTA3OTBcdTA3YWNcdTA3OGRcdTA3YjAiLAoiTWlkZGxlIjogIlx1MDc4OVx1MDdhY1x1MDc4Ylx1MDdhYSIsCiJDZWxsIHR5cGUiOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwXHUwNzhlXHUwN2FjIFx1MDc4OFx1MDdhNlx1MDc4N1x1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4M1x1MDdhYSIsCiJDb3B5IHJvdyI6ICJcdTA3ODNcdTA3YWYgXHUwNzg2XHUwN2FlXHUwNzk1XHUwN2E5XHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDc4M1x1MDdhZlx1MDc4ZVx1MDdhYyBcdTA3OTBcdTA3YThcdTA3OGFcdTA3YTZcdTA3OGNcdTA3YTZcdTA3ODdcdTA3YjAiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA3OTNcdTA3YWRcdTA3ODRcdTA3YTZcdTA3OGRcdTA3YjBcdTA3OGVcdTA3YWMgXHUwNzkwXHUwN2E4XHUwNzhhXHUwN2E2XHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIiwKIkJvdHRvbSI6ICJcdTA3OGNcdTA3YThcdTA3ODNcdTA3YTgiLAoiViBBbGlnbiI6ICJcdTA3OGJcdTA3YThcdTA3OGVcdTA3YTZcdTA3ODFcdTA3YjAgXHUwNzg3XHUwN2FjXHUwNzhkXHUwN2E2XHUwNzg3XHUwN2E4XHUwNzgyXHUwN2IwIiwKIkhlYWRlciI6ICJcdTA3ODBcdTA3YWNcdTA3OTFcdTA3YTciLAoiUmlnaHQiOiAiXHUwNzg2XHUwN2E2XHUwNzgyXHUwN2E3XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNzhhXHUwN2E2XHUwNzgwXHUwN2E2XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4Nlx1MDdhZVx1MDc4ZFx1MDdhNlx1MDc4OVx1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIkNvbHMiOiAiXHUwNzg2XHUwN2FlXHUwNzhkXHUwN2E2XHUwNzg5XHUwN2IwIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNzhhXHUwN2E2XHUwNzgwXHUwN2E2XHUwNzhjXHUwN2E2XHUwNzgxXHUwN2IwIFx1MDc4M1x1MDdhZlx1MDc4N1x1MDdhY1x1MDc4N1x1MDdiMCBcdTA3ODdcdTA3YThcdTA3OGNcdTA3YWFcdTA3ODNcdTA3YWEgXHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FkIiwKIldpZHRoIjogIlx1MDc4YVx1MDdhYVx1MDc4NVx1MDdhN1x1MDc4OVx1MDdhOFx1MDc4Mlx1MDdiMCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwXHUwNzhlXHUwN2FjIFx1MDc5MFx1MDdhOFx1MDc4YVx1MDdhNlx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJMZWZ0IjogIlx1MDc4OFx1MDdhN1x1MDc4Y1x1MDdhNlx1MDc4MVx1MDdiMCIsCiJDdXQgcm93IjogIlx1MDc4M1x1MDdhZiBcdTA3ODZcdTA3YTZcdTA3OTNcdTA3YjBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWQiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA3ODZcdTA3YWVcdTA3OGRcdTA3YTZcdTA3ODlcdTA3YjAgXHUwNzhhXHUwN2FlXHUwNzgwXHUwN2FkIiwKIkNlbnRlciI6ICJcdTA3ODlcdTA3YWNcdTA3OGJcdTA3YTZcdTA3ODFcdTA3YjAiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNzkwXHUwN2FjXHUwNzhkXHUwN2IwIFx1MDc4N1x1MDdhY1x1MDc4N1x1MDdiMFx1MDc4Nlx1MDdhYVx1MDc4M1x1MDdhZCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNzkzXHUwN2FjXHUwNzg5XHUwN2IwXHUwNzk1XHUwN2IwXHUwNzhkXHUwN2FkXHUwNzkzXHUwN2IwIFx1MDc4N1x1MDdhOFx1MDc4Mlx1MDdiMFx1MDc5MFx1MDdhN1x1MDc5M1x1MDdiMCBcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWFcdTA3ODJcdTA3YjAiLAoiVGVtcGxhdGVzIjogIlx1MDc5M1x1MDdhY1x1MDc4OVx1MDdiMFx1MDc5NVx1MDdiMFx1MDc4ZFx1MDdhZFx1MDc5M1x1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDc4NFx1MDdhY1x1MDc4Nlx1MDdiMFx1MDc4ZVx1MDdiMFx1MDc4M1x1MDdhNlx1MDc4N1x1MDdhYVx1MDc4Mlx1MDdiMFx1MDc5MVx1MDdiMFx1MDc4ZVx1MDdhYyBcdTA3ODZcdTA3YWFcdTA3OGRcdTA3YTYiLAoiVGV4dCBjb2xvciI6ICJcdTA3ODdcdTA3YTZcdTA3ODZcdTA3YWFcdTA3ODNcdTA3YWFcdTA3OGVcdTA3YWMgXHUwNzg2XHUwN2FhXHUwNzhkXHUwN2E2IiwKIlNob3cgYmxvY2tzIjogIlx1MDc4NFx1MDdiMFx1MDc4ZFx1MDdhZVx1MDc4Nlx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCBcdTA3OGJcdTA3YTZcdTA3ODdcdTA3YjBcdTA3ODZcdTA3YTciLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA3ODJcdTA3YWFcdTA3OGFcdTA3YWNcdTA3ODJcdTA3YjBcdTA3ODJcdTA3YTYgXHUwNzg3XHUwN2E2XHUwNzg2XHUwN2FhXHUwNzgzXHUwN2FhXHUwNzhjXHUwN2E2XHUwNzg3XHUwN2IwIFx1MDc4Ylx1MDdhNlx1MDc4N1x1MDdiMFx1MDc4Nlx1MDdhNyIsCiJXb3JkczogezB9IjogIlx1MDc4NFx1MDdhNlx1MDc5MFx1MDdiMDogezB9IiwKIkluc2VydCI6ICJcdTA3ODdcdTA3YThcdTA3ODJcdTA3YjBcdTA3OTBcdTA3YTdcdTA3OTNcdTA3YjAiLAoiRmlsZSI6ICJcdTA3OGFcdTA3YTZcdTA3ODdcdTA3YThcdTA3OGRcdTA3YjAiLAoiRWRpdCI6ICJcdTA3ODRcdTA3YTZcdTA3OGJcdTA3YTZcdTA3OGRcdTA3YWEgXHUwNzhlXHUwN2FjXHUwNzgyXHUwN2E2XHUwNzg3XHUwN2FhXHUwNzgyXHUwN2IwIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDc4M1x1MDdhOFx1MDc5N1x1MDdiMCBcdTA3OTNcdTA3YWNcdTA3ODZcdTA3YjBcdTA3OTBcdTA3YjBcdTA3OTNcdTA3YjAgXHUwNzg3XHUwN2FkXHUwNzgzXHUwN2E4XHUwNzg3XHUwN2E3LiBcdTA3ODlcdTA3YWNcdTA3ODJcdTA3YWIgXHUwNzgwXHUwN2FmXHUwNzhiXHUwN2FhXHUwNzg5XHUwN2E2XHUwNzgxXHUwN2IwIEFMVC1GOS4gXHUwNzkzXHUwN2FiXHUwNzhkXHUwN2IwXHUwNzg0XHUwN2E2XHUwNzgzIFx1MDc4MFx1MDdhZlx1MDc4Ylx1MDdhYVx1MDc4OVx1MDdhNlx1MDc4MVx1MDdiMCBBTFQtRjEwLiBcdTA3ODdcdTA3YWNcdTA3ODBcdTA3YTkgXHUwNzgwXHUwN2FmXHUwNzhiXHUwN2FhXHUwNzg5XHUwN2E2XHUwNzgxXHUwN2IwIEFMVC0wIiwKIlRvb2xzIjogIlx1MDc5M1x1MDdhYlx1MDc4ZFx1MDdiMFx1MDc4Y1x1MDdhNlx1MDc4N1x1MDdiMCIsCiJWaWV3IjogIlx1MDc4OFx1MDdhOFx1MDc4N1x1MDdhYSIsCiJUYWJsZSI6ICJcdTA3OTNcdTA3YWRcdTA3ODRcdTA3YTZcdTA3OGRcdTA3YjAiLAoiRm9ybWF0IjogIlx1MDc4YVx1MDdhZlx1MDc4OVx1MDdhY1x1MDc5M1x1MDdiMCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/el.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlbCcsewoiQ3V0IjogIlx1MDM5MVx1MDNjMFx1MDNiZlx1MDNiYVx1MDNiZlx1MDNjMFx1MDNhZSIsCiJIZWFkaW5nIDUiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDUiLAoiSGVhZGVyIDIiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwMzlmIFx1MDNjMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiN1x1MDNiM1x1MDNiN1x1MDNjNFx1MDNhZVx1MDNjMiBcdTAzYzNcdTAzYjFcdTAzYzIgXHUwM2I0XHUwM2I1XHUwM2JkIFx1MDNjNVx1MDNjMFx1MDNiZlx1MDNjM1x1MDNjNFx1MDNiN1x1MDNjMVx1MDNhZlx1MDNiNlx1MDNiNVx1MDNiOSBcdTAzYWNcdTAzYmNcdTAzYjVcdTAzYzNcdTAzYjcgXHUwM2MwXHUwM2MxXHUwM2NjXHUwM2MzXHUwM2IyXHUwM2IxXHUwM2MzXHUwM2I3IFx1MDNjM1x1MDNjNFx1MDNiZiBcdTAzYzBcdTAzYzFcdTAzY2NcdTAzYzdcdTAzYjVcdTAzYjlcdTAzYzFcdTAzYmYuIFx1MDNhMFx1MDNiMVx1MDNjMVx1MDNiMVx1MDNiYVx1MDNiMVx1MDNiYlx1MDNjZSBcdTAzYzdcdTAzYzFcdTAzYjdcdTAzYzNcdTAzYjlcdTAzYmNcdTAzYmZcdTAzYzBcdTAzYmZcdTAzYjlcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgXHUwM2M0XHUwM2I5XHUwM2MyIFx1MDNjM1x1MDNjNVx1MDNiZFx1MDNjNFx1MDNiZlx1MDNiY1x1MDNiNVx1MDNjZFx1MDNjM1x1MDNiNVx1MDNiOVx1MDNjMiBcdTAzYzBcdTAzYmJcdTAzYjdcdTAzYmFcdTAzYzRcdTAzYzFcdTAzYmZcdTAzYmJcdTAzYmZcdTAzYjNcdTAzYWZcdTAzYmZcdTAzYzUgQ3RybCtYXC9DXC9WLiIsCiJIZWFkaW5nIDQiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDIiLAoiUGFzdGUiOiAiXHUwMzk1XHUwM2MwXHUwM2I5XHUwM2JhXHUwM2NjXHUwM2JiXHUwM2JiXHUwM2I3XHUwM2MzXHUwM2I3IiwKIkNsb3NlIjogIlx1MDM5YVx1MDNiYlx1MDNiNVx1MDNhZlx1MDNjM1x1MDNiOVx1MDNiY1x1MDNiZiIsCiJGb250IEZhbWlseSI6ICJcdTAzOTNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYjFcdTAzYzRcdTAzYmZcdTAzYzNcdTAzYjVcdTAzYjlcdTAzYzFcdTAzYWMiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJcdTAzYTNcdTAzYzRcdTAzYmZcdTAzYWZcdTAzYzdcdTAzYjlcdTAzYzNcdTAzYjcgXHUwM2I0XHUwM2I1XHUwM2JlXHUwM2I5XHUwM2FjIiwKIk5ldyBkb2N1bWVudCI6ICJcdTAzOWRcdTAzYWRcdTAzYmYgXHUwM2FkXHUwM2IzXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2M2XHUwM2JmIiwKIkJsb2NrcXVvdGUiOiAiXHUwM2EwXHUwM2I1XHUwM2MxXHUwM2I5XHUwM2JmXHUwM2M3XHUwM2FlIFx1MDNjMFx1MDNiMVx1MDNjMVx1MDNhY1x1MDNiOFx1MDNiNVx1MDNjM1x1MDNiN1x1MDNjMiIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDM5MVx1MDNjMVx1MDNiOVx1MDNiOFx1MDNiY1x1MDNiN1x1MDNiY1x1MDNhZFx1MDNiZFx1MDNiNyBcdTAzYmJcdTAzYWZcdTAzYzNcdTAzYzRcdTAzYjEiLAoiSGVhZGluZyAxIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMSAxIiwKIkhlYWRpbmdzIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiNVx1MDNjMiIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwMzkxXHUwM2NkXHUwM2JlXHUwM2I3XHUwM2MzXHUwM2I3IFx1MDNiNVx1MDNjM1x1MDNiZlx1MDNjN1x1MDNhZVx1MDNjMiIsCiJGb3JtYXRzIjogIlx1MDM5Y1x1MDNiZlx1MDNjMVx1MDNjNlx1MDNiZlx1MDNjMFx1MDNiZlx1MDNhZlx1MDNiN1x1MDNjM1x1MDNiNyIsCiJIZWFkZXJzIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiNVx1MDNjMiIsCiJTZWxlY3QgYWxsIjogIlx1MDM5NVx1MDNjMFx1MDNiOVx1MDNiYlx1MDNiZlx1MDNiM1x1MDNhZSBcdTAzY2NcdTAzYmJcdTAzYzlcdTAzYmQiLAoiSGVhZGVyIDMiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDMiLAoiQmxvY2tzIjogIlx1MDNhNFx1MDNiY1x1MDNhZVx1MDNiY1x1MDNiMVx1MDNjNFx1MDNiMSIsCiJVbmRvIjogIlx1MDM5MVx1MDNiZFx1MDNiMVx1MDNhZlx1MDNjMVx1MDNiNVx1MDNjM1x1MDNiNyIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDM5NFx1MDNiOVx1MDNiMVx1MDNiYVx1MDNjMVx1MDNiOVx1MDNjNFx1MDNhZSBcdTAzYjRcdTAzYjlcdTAzYjFcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwMzliXHUwM2FmXHUwM2MzXHUwM2M0XHUwM2IxIFx1MDNiY1x1MDNiNSBcdTAzYmFcdTAzYmZcdTAzYzVcdTAzYmFcdTAzYmFcdTAzYWZcdTAzYjRcdTAzYjVcdTAzYzIiLAoiSGVhZGVyIDEiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwMzk1XHUwM2JhXHUwM2I4XHUwM2FkXHUwM2M0XHUwM2I3XHUwM2MyIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwMzkxXHUwM2MwXHUwM2IxXHUwM2JiXHUwM2JmXHUwM2I5XHUwM2M2XHUwM2FlIFx1MDNiY1x1MDNiZlx1MDNjMVx1MDNjNlx1MDNiZlx1MDNjMFx1MDNiZlx1MDNhZlx1MDNiN1x1MDNjM1x1MDNiN1x1MDNjMiIsCiJGb250IFNpemVzIjogIlx1MDM5Y1x1MDNhZFx1MDNiM1x1MDNiNVx1MDNiOFx1MDNiZlx1MDNjMiIsCiJTdWJzY3JpcHQiOiAiXHUwMzk0XHUwM2I1XHUwM2FmXHUwM2JhXHUwM2M0XHUwM2I3XHUwM2MyIiwKIkhlYWRlciA2IjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMSA2IiwKIlJlZG8iOiAiXHUwMzk1XHUwM2MwXHUwM2IxXHUwM2JkXHUwM2FjXHUwM2JiXHUwM2I3XHUwM2M4XHUwM2I3IiwKIlBhcmFncmFwaCI6ICJcdTAzYTBcdTAzYjFcdTAzYzFcdTAzYWNcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYmZcdTAzYzIiLAoiT2siOiAiXHUwMzk1XHUwM2JkXHUwM2M0XHUwM2FjXHUwM2JlXHUwM2I1XHUwM2I5IiwKIkJvbGQiOiAiXHUwMzg4XHUwM2JkXHUwM2M0XHUwM2JmXHUwM2JkXHUwM2I3IiwKIkNvZGUiOiAiXHUwMzlhXHUwM2NlXHUwM2I0XHUwM2I5XHUwM2JhXHUwM2IxXHUwM2MyIiwKIkl0YWxpYyI6ICJcdTAzYTBcdTAzYmJcdTAzYWNcdTAzYjNcdTAzYjlcdTAzYjEiLAoiQWxpZ24gY2VudGVyIjogIlx1MDNhM1x1MDNjNFx1MDNiZlx1MDNhZlx1MDNjN1x1MDNiOVx1MDNjM1x1MDNiNyBcdTAzYzNcdTAzYzRcdTAzYmYgXHUwM2JhXHUwM2FkXHUwM2JkXHUwM2M0XHUwM2MxXHUwM2JmIiwKIkhlYWRlciA1IjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMSA1IiwKIkhlYWRpbmcgNiI6ICJcdTAzOWFcdTAzYjVcdTAzYzZcdTAzYjFcdTAzYmJcdTAzYWZcdTAzYjRcdTAzYjEgNiIsCiJIZWFkaW5nIDMiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDM5Y1x1MDNiNVx1MDNhZlx1MDNjOVx1MDNjM1x1MDNiNyBcdTAzYjVcdTAzYzNcdTAzYmZcdTAzYzdcdTAzYWVcdTAzYzIiLAoiSGVhZGVyIDQiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDM5NyBcdTAzYjVcdTAzYzBcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYmJcdTAzYmJcdTAzYjdcdTAzYzNcdTAzYjcgXHUwM2I1XHUwM2FmXHUwM2JkXHUwM2IxXHUwM2I5IFx1MDNjNFx1MDNjZVx1MDNjMVx1MDNiMSBcdTAzYzNcdTAzYjUgXHUwM2JiXHUwM2I1XHUwM2I5XHUwM2M0XHUwM2JmXHUwM2M1XHUwM2MxXHUwM2IzXHUwM2FmXHUwM2IxIFx1MDNiMVx1MDNjMFx1MDNiYlx1MDNiZlx1MDNjZCBcdTAzYmFcdTAzYjVcdTAzYjlcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYmZcdTAzYzUuIFx1MDNhNFx1MDNiMSBcdTAzYzBcdTAzYjVcdTAzYzFcdTAzYjlcdTAzYjVcdTAzYzdcdTAzY2NcdTAzYmNcdTAzYjVcdTAzYmRcdTAzYjEgXHUwM2JjXHUwM2I5XHUwM2IxXHUwM2MyIFx1MDNiNVx1MDNjMFx1MDNiOVx1MDNiYVx1MDNjY1x1MDNiYlx1MDNiYlx1MDNiN1x1MDNjM1x1MDNiN1x1MDNjMiBcdTAzYjhcdTAzYjEgXHUwM2I1XHUwM2MwXHUwM2I5XHUwM2JhXHUwM2JmXHUwM2JiXHUwM2JiXHUwM2JmXHUwM2NkXHUwM2JkXHUwM2M0XHUwM2IxXHUwM2I5IFx1MDNjOVx1MDNjMiBcdTAzYjFcdTAzYzBcdTAzYmJcdTAzY2MgXHUwM2JhXHUwM2I1XHUwM2FmXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmIFx1MDNjY1x1MDNjM1x1MDNiZiBcdTAzYjcgXHUwM2JiXHUwM2I1XHUwM2I5XHUwM2M0XHUwM2JmXHUwM2M1XHUwM2MxXHUwM2IzXHUwM2FmXHUwM2IxIFx1MDNiMVx1MDNjNVx1MDNjNFx1MDNhZSBcdTAzYzBcdTAzYjFcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYjVcdTAzYjkgXHUwM2I1XHUwM2JkXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2FlLiIsCiJVbmRlcmxpbmUiOiAiXHUwM2E1XHUwM2MwXHUwM2JmXHUwM2IzXHUwM2MxXHUwM2FjXHUwM2JjXHUwM2JjXHUwM2I5XHUwM2MzXHUwM2I3IiwKIkNhbmNlbCI6ICJcdTAzOTFcdTAzYmFcdTAzY2RcdTAzYzFcdTAzYzlcdTAzYzNcdTAzYjciLAoiSnVzdGlmeSI6ICJcdTAzYTBcdTAzYmJcdTAzYWVcdTAzYzFcdTAzYjdcdTAzYzIgXHUwM2MzXHUwM2M0XHUwM2JmXHUwM2FmXHUwM2M3XHUwM2I5XHUwM2MzXHUwM2I3IiwKIklubGluZSI6ICJcdTAzOTVcdTAzYmRcdTAzYzNcdTAzYzlcdTAzYmNcdTAzYjFcdTAzYzRcdTAzYzlcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYjciLAoiQ29weSI6ICJcdTAzOTFcdTAzYmRcdTAzYzRcdTAzYjlcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUiLAoiQWxpZ24gbGVmdCI6ICJcdTAzYTNcdTAzYzRcdTAzYmZcdTAzYWZcdTAzYzdcdTAzYjlcdTAzYzNcdTAzYjcgXHUwM2IxXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2I1XHUwM2MxXHUwM2FjIiwKIlZpc3VhbCBhaWRzIjogIk9cdTAzYzBcdTAzYzRcdTAzYjlcdTAzYmFcdTAzYWMgXHUwM2IyXHUwM2JmXHUwM2I3XHUwM2I4XHUwM2FlXHUwM2JjXHUwM2IxXHUwM2M0XHUwM2IxICIsCiJMb3dlciBHcmVlayI6ICJcdTAzYTBcdTAzYjVcdTAzYjZcdTAzYWMgXHUwM2I1XHUwM2JiXHUwM2JiXHUwM2I3XHUwM2JkXHUwM2I5XHUwM2JhXHUwM2FjIiwKIlNxdWFyZSI6ICJcdTAzYTRcdTAzYjVcdTAzYzRcdTAzYzFcdTAzYWNcdTAzYjNcdTAzYzlcdTAzYmRcdTAzYmYiLAoiRGVmYXVsdCI6ICJcdTAzYTBcdTAzYzFcdTAzYmZcdTAzYmFcdTAzYjFcdTAzYjhcdTAzYmZcdTAzYzFcdTAzYjlcdTAzYzNcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYmYiLAoiTG93ZXIgQWxwaGEiOiAiXHUwM2EwXHUwM2I1XHUwM2I2XHUwM2FjIFx1MDNiYlx1MDNiMVx1MDNjNFx1MDNiOVx1MDNiZFx1MDNiOVx1MDNiYVx1MDNhYyIsCiJDaXJjbGUiOiAiXHUwMzlhXHUwM2NkXHUwM2JhXHUwM2JiXHUwM2JmXHUwM2MyIiwKIkRpc2MiOiAiXHUwMzk0XHUwM2FmXHUwM2MzXHUwM2JhXHUwM2JmXHUwM2MyIiwKIlVwcGVyIEFscGhhIjogIlx1MDM5YVx1MDNiNVx1MDNjNlx1MDNiMVx1MDNiYlx1MDNiMVx1MDNhZlx1MDNiMSBcdTAzYmJcdTAzYjFcdTAzYzRcdTAzYjlcdTAzYmRcdTAzYjlcdTAzYmFcdTAzYWMiLAoiVXBwZXIgUm9tYW4iOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2IxXHUwM2FmXHUwM2IxIFx1MDNjMVx1MDNjOVx1MDNiY1x1MDNiMVx1MDNjYVx1MDNiYVx1MDNhYyIsCiJMb3dlciBSb21hbiI6ICJcdTAzYTBcdTAzYjVcdTAzYjZcdTAzYWMgXHUwM2MxXHUwM2M5XHUwM2JjXHUwM2IxXHUwM2NhXHUwM2JhXHUwM2FjIiwKIk5hbWUiOiAiXHUwMzhjXHUwM2JkXHUwM2JmXHUwM2JjXHUwM2IxIiwKIkFuY2hvciI6ICJcdTAzOTFcdTAzYjNcdTAzYmFcdTAzY2RcdTAzYzFcdTAzYzlcdTAzYzNcdTAzYjciLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTAzODhcdTAzYzdcdTAzYjVcdTAzYzRcdTAzYjUgXHUwM2JjXHUwM2I3IFx1MDNiMVx1MDNjMFx1MDNiZlx1MDNiOFx1MDNiN1x1MDNiYVx1MDNiNVx1MDNjNVx1MDNiY1x1MDNhZFx1MDNiZFx1MDNiNVx1MDNjMiBcdTAzYjFcdTAzYmJcdTAzYmJcdTAzYjFcdTAzYjNcdTAzYWRcdTAzYzIuIFx1MDM5NVx1MDNhZlx1MDNjM1x1MDNjNFx1MDNiNSBcdTAzYjJcdTAzYWRcdTAzYjJcdTAzYjFcdTAzYjlcdTAzYmZcdTAzYjkgXHUwM2NjXHUwM2M0XHUwM2I5IFx1MDNiOFx1MDNhZFx1MDNiYlx1MDNiNVx1MDNjNFx1MDNiNSBcdTAzYmRcdTAzYjEgXHUwM2M2XHUwM2NkXHUwM2IzXHUwM2I1XHUwM2M0XHUwM2I1IFx1MDNiMVx1MDNjMFx1MDNjYyBcdTAzYzRcdTAzYjdcdTAzYmQgXHUwM2MzXHUwM2I1XHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxOyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwMzk1XHUwM2MwXHUwM2IxXHUwM2JkXHUwM2IxXHUwM2M2XHUwM2JmXHUwM2MxXHUwM2FjIFx1MDNjNFx1MDNiNVx1MDNiYlx1MDNiNVx1MDNjNVx1MDNjNFx1MDNiMVx1MDNhZlx1MDNiZlx1MDNjNSBcdTAzYzNcdTAzYzdcdTAzYjVcdTAzYjRcdTAzYWZcdTAzYmZcdTAzYzUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwMzk1XHUwM2I5XHUwM2I0XHUwM2I5XHUwM2JhXHUwM2NjXHUwM2MyIFx1MDNjN1x1MDNiMVx1MDNjMVx1MDNiMVx1MDNiYVx1MDNjNFx1MDNhZVx1MDNjMVx1MDNiMVx1MDNjMiIsCiJTb3VyY2UgY29kZSI6ICJcdTAzYTBcdTAzYjdcdTAzYjNcdTAzYjFcdTAzYWZcdTAzYmZcdTAzYzIgXHUwM2JhXHUwM2NlXHUwM2I0XHUwM2I5XHUwM2JhXHUwM2IxXHUwM2MyIiwKIkIiOiAiXHUwMzljIiwKIlIiOiAiXHUwM2JhIiwKIkciOiAiXHUwM2EwIiwKIkNvbG9yIjogIlx1MDNhN1x1MDNjMVx1MDNjZVx1MDNiY1x1MDNiMSIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDM5MVx1MDNjMFx1MDNjYyBcdTAzYjRcdTAzYjVcdTAzYmVcdTAzYjlcdTAzYWMgXHUwM2MwXHUwM2MxXHUwM2JmXHUwM2MyIFx1MDNjNFx1MDNiMSBcdTAzYjFcdTAzYzFcdTAzYjlcdTAzYzNcdTAzYzRcdTAzYjVcdTAzYzFcdTAzYWMiLAoiTGVmdCB0byByaWdodCI6ICJcdTAzOTFcdTAzYzBcdTAzY2MgXHUwM2IxXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2I1XHUwM2MxXHUwM2FjIFx1MDNjMFx1MDNjMVx1MDNiZlx1MDNjMiBcdTAzYzRcdTAzYjEgXHUwM2I0XHUwM2I1XHUwM2JlXHUwM2I5XHUwM2FjIiwKIkVtb3RpY29ucyI6ICJcdTAzYTZcdTAzYjFcdTAzYzRcdTAzYzNcdTAzYmZcdTAzY2RcdTAzYmJcdTAzYjVcdTAzYzIiLAoiUm9ib3RzIjogIlx1MDNhMVx1MDNiZlx1MDNiY1x1MDNjMFx1MDNjY1x1MDNjNCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDM5OVx1MDNiNFx1MDNiOVx1MDNjY1x1MDNjNFx1MDNiN1x1MDNjNFx1MDNiNVx1MDNjMiBcdTAzYjVcdTAzYjNcdTAzYjNcdTAzYzFcdTAzYWNcdTAzYzZcdTAzYmZcdTAzYzUiLAoiVGl0bGUiOiAiXHUwM2E0XHUwM2FmXHUwM2M0XHUwM2JiXHUwM2JmXHUwM2MyIiwKIktleXdvcmRzIjogIlx1MDM5Ylx1MDNhZFx1MDNiZVx1MDNiNVx1MDNiOVx1MDNjMiBcdTAzYmFcdTAzYmJcdTAzYjVcdTAzYjlcdTAzYjRcdTAzYjlcdTAzYWMiLAoiRW5jb2RpbmciOiAiXHUwMzlhXHUwM2M5XHUwM2I0XHUwM2I5XHUwM2JhXHUwM2JmXHUwM2MwXHUwM2JmXHUwM2FmXHUwM2I3XHUwM2MzXHUwM2I3IiwKIkRlc2NyaXB0aW9uIjogIlx1MDNhMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiM1x1MDNjMVx1MDNiMVx1MDNjNlx1MDNhZSIsCiJBdXRob3IiOiAiXHUwM2EzXHUwM2M1XHUwM2JkXHUwM2M0XHUwM2FjXHUwM2JhXHUwM2M0XHUwM2I3XHUwM2MyIiwKIkZ1bGxzY3JlZW4iOiAiXHUwM2EwXHUwM2JiXHUwM2FlXHUwM2MxXHUwM2I3XHUwM2MyIFx1MDNiZlx1MDNiOFx1MDNjY1x1MDNiZFx1MDNiNyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwMzlmXHUwM2MxXHUwM2I5XHUwM2I2XHUwM2NjXHUwM2JkXHUwM2M0XHUwM2I5XHUwM2IxIFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDM5Zlx1MDNjMVx1MDNiOVx1MDNiNlx1MDNjY1x1MDNiZFx1MDNjNFx1MDNiOVx1MDNiZiBcdTAzYjRcdTAzYjlcdTAzYWNcdTAzYzNcdTAzYzRcdTAzYjdcdTAzYmNcdTAzYjEiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZVwvXHUwM2I1XHUwM2MwXHUwM2I1XHUwM2JlXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2MzXHUwM2FmXHUwM2IxIFx1MDNiNVx1MDNiOVx1MDNiYVx1MDNjY1x1MDNiZFx1MDNiMVx1MDNjMiIsCiJHZW5lcmFsIjogIlx1MDM5M1x1MDNiNVx1MDNiZFx1MDNiOVx1MDNiYVx1MDNhYyIsCiJBZHZhbmNlZCI6ICJcdTAzOTNcdTAzYjlcdTAzYjEgXHUwM2EwXHUwM2MxXHUwM2JmXHUwM2M3XHUwM2M5XHUwM2MxXHUwM2I3XHUwM2JjXHUwM2FkXHUwM2JkXHUwM2JmXHUwM2M1XHUwM2MyIiwKIlNvdXJjZSI6ICJcdTAzYTBcdTAzYjdcdTAzYjNcdTAzYWUiLAoiQm9yZGVyIjogIlx1MDNhMFx1MDNiYlx1MDNiMVx1MDNhZlx1MDNjM1x1MDNiOVx1MDNiZiIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwM2EwXHUwM2I1XHUwM2MxXHUwM2I5XHUwM2JmXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2JjXHUwM2NjXHUwM2MyIFx1MDNiMVx1MDNiZFx1MDNiMVx1MDNiYlx1MDNiZlx1MDNiM1x1MDNiOVx1MDNjZVx1MDNiZCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTAzOWFcdTAzYWNcdTAzYjhcdTAzYjVcdTAzYzRcdTAzYmYgXHUwM2I0XHUwM2I5XHUwM2FjXHUwM2MzXHUwM2M0XHUwM2I3XHUwM2JjXHUwM2IxIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDNhMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiM1x1MDNjMVx1MDNiMVx1MDNjNlx1MDNhZSBcdTAzYjVcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYmRcdTAzYjFcdTAzYzIiLAoiU3R5bGUiOiAiXHUwMzk1XHUwM2JjXHUwM2M2XHUwM2FjXHUwM2JkXHUwM2I5XHUwM2MzXHUwM2I3IiwKIkRpbWVuc2lvbnMiOiAiXHUwMzk0XHUwM2I5XHUwM2IxXHUwM2MzXHUwM2M0XHUwM2FjXHUwM2MzXHUwM2I1XHUwM2I5XHUwM2MyIiwKIkluc2VydCBpbWFnZSI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWUgXHUwM2I1XHUwM2I5XHUwM2JhXHUwM2NjXHUwM2JkXHUwM2IxXHUwM2MyIiwKIlpvb20gaW4iOiAiXHUwMzljXHUwM2I1XHUwM2IzXHUwM2FkXHUwM2I4XHUwM2M1XHUwM2JkXHUwM2MzXHUwM2I3IiwKIkNvbnRyYXN0IjogIlx1MDM5MVx1MDNiZFx1MDNjNFx1MDNhZlx1MDNiOFx1MDNiNVx1MDNjM1x1MDNiNyIsCiJCYWNrIjogIlx1MDNhMFx1MDNhZlx1MDNjM1x1MDNjOSIsCiJHYW1tYSI6ICJcdTAzOTNcdTAzYWNcdTAzYmNcdTAzYmNcdTAzYjEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwMzkxXHUwM2JkXHUwM2IxXHUwM2MzXHUwM2M0XHUwM2MxXHUwM2JmXHUwM2M2XHUwM2FlIFx1MDNiZlx1MDNjMVx1MDNiOVx1MDNiNlx1MDNiZlx1MDNiZFx1MDNjNFx1MDNhZlx1MDNjOVx1MDNjMiIsCiJSZXNpemUiOiAiXHUwMzkxXHUwM2JiXHUwM2JiXHUwM2IxXHUwM2IzXHUwM2FlIFx1MDNiY1x1MDNiNVx1MDNiM1x1MDNhZFx1MDNiOFx1MDNiZlx1MDNjNVx1MDNjMiIsCiJTaGFycGVuIjogIlx1MDM4Y1x1MDNiZVx1MDNjNVx1MDNiZFx1MDNjM1x1MDNiNyIsCiJab29tIG91dCI6ICJcdTAzYTNcdTAzYmNcdTAzYWZcdTAzYmFcdTAzYzFcdTAzYzVcdTAzYmRcdTAzYzNcdTAzYjciLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTAzOTVcdTAzYzBcdTAzYjlcdTAzYmJcdTAzYmZcdTAzYjNcdTAzYWRcdTAzYzIgXHUwM2I1XHUwM2I5XHUwM2JhXHUwM2NjXHUwM2JkXHUwM2IxXHUwM2MyIiwKIkFwcGx5IjogIlx1MDM5NVx1MDNjNlx1MDNiMVx1MDNjMVx1MDNiY1x1MDNiZlx1MDNiM1x1MDNhZSIsCiJCcmlnaHRuZXNzIjogIlx1MDNhNlx1MDNjOVx1MDNjNFx1MDNiNVx1MDNiOVx1MDNiZFx1MDNjY1x1MDNjNFx1MDNiN1x1MDNjNFx1MDNiMSIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDNhMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNjM1x1MDNjNFx1MDNjMVx1MDNiZlx1MDNjNlx1MDNhZSBcdTAzYjRcdTAzYjVcdTAzYmVcdTAzYjlcdTAzY2NcdTAzYzNcdTAzYzRcdTAzYzFcdTAzYmZcdTAzYzZcdTAzYjEiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUwM2EwXHUwM2I1XHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2MxXHUwM2JmXHUwM2M2XHUwM2FlIFx1MDNiMVx1MDNjMVx1MDNiOVx1MDNjM1x1MDNjNFx1MDNiNVx1MDNjMVx1MDNjY1x1MDNjM1x1MDNjNFx1MDNjMVx1MDNiZlx1MDNjNlx1MDNiMSIsCiJFZGl0IGltYWdlIjogIlx1MDM5NVx1MDNjMFx1MDNiNVx1MDNiZVx1MDNiNVx1MDNjMVx1MDNiM1x1MDNiMVx1MDNjM1x1MDNhZlx1MDNiMSBcdTAzYjVcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYmRcdTAzYjFcdTAzYzIiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MDM5NVx1MDNjMFx1MDNhZlx1MDNjMFx1MDNiNVx1MDNiNFx1MDNiMSBcdTAzYzdcdTAzYzFcdTAzY2VcdTAzYmNcdTAzYjFcdTAzYzRcdTAzYmZcdTAzYzIiLAoiQ3JvcCI6ICJcdTAzYTBcdTAzYjVcdTAzYzFcdTAzYjlcdTAzYmFcdTAzYmZcdTAzYzBcdTAzYWUiLAoiT3JpZW50YXRpb24iOiAiXHUwM2EwXHUwM2MxXHUwM2JmXHUwM2MzXHUwM2IxXHUwM2JkXHUwM2IxXHUwM2M0XHUwM2JmXHUwM2JiXHUwM2I5XHUwM2MzXHUwM2JjXHUwM2NjXHUwM2MyIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTAzOTFcdTAzYmRcdTAzYjFcdTAzYzNcdTAzYzRcdTAzYzFcdTAzYmZcdTAzYzZcdTAzYWUgXHUwM2JhXHUwM2IxXHUwM2I4XHUwM2FkXHUwM2M0XHUwM2M5XHUwM2MyIiwKIkludmVydCI6ICJcdTAzOTFcdTAzYmRcdTAzYzRcdTAzYjlcdTAzYzNcdTAzYzRcdTAzYzFcdTAzYmZcdTAzYzZcdTAzYWUiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIFx1MDNiN1x1MDNiY1x1MDNiNVx1MDNjMVx1MDNiZlx1MDNiY1x1MDNiN1x1MDNiZFx1MDNhZlx1MDNiMVx1MDNjMlwvXHUwM2NlXHUwM2MxXHUwM2IxXHUwM2MyIiwKIlJlbW92ZSBsaW5rIjogIlx1MDM5MVx1MDNjNlx1MDNiMVx1MDNhZlx1MDNjMVx1MDNiNVx1MDNjM1x1MDNiNyBcdTAzYzNcdTAzYzVcdTAzYmRcdTAzYjRcdTAzYWRcdTAzYzNcdTAzYmNcdTAzYmZcdTAzYzUiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwMzlhXHUwM2I1XHUwM2FmXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmIFx1MDNiM1x1MDNiOVx1MDNiMSBcdTAzYjVcdTAzYmNcdTAzYzZcdTAzYWNcdTAzYmRcdTAzYjlcdTAzYzNcdTAzYjciLAoiQW5jaG9ycyI6ICJcdTAzODZcdTAzYjNcdTAzYmFcdTAzYzVcdTAzYzFcdTAzYjVcdTAzYzIiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIFx1MDNjM1x1MDNjNVx1MDNiZFx1MDNiNFx1MDNhZFx1MDNjM1x1MDNiY1x1MDNiZlx1MDNjNSIsCiJOZXcgd2luZG93IjogIlx1MDM5ZFx1MDNhZFx1MDNiZiBcdTAzYzBcdTAzYjFcdTAzYzFcdTAzYWNcdTAzYjhcdTAzYzVcdTAzYzFcdTAzYmYiLAoiTm9uZSI6ICJcdTAzOWFcdTAzYjFcdTAzYmNcdTAzYWZcdTAzYjEiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlx1MDM5NyBcdTAzYjRcdTAzYjlcdTAzYjVcdTAzY2RcdTAzYjhcdTAzYzVcdTAzYmRcdTAzYzNcdTAzYjcgVVJMIFx1MDNjMFx1MDNiZlx1MDNjNSBcdTAzYjVcdTAzYjlcdTAzYzNcdTAzYWNcdTAzYzdcdTAzYjhcdTAzYjdcdTAzYmFcdTAzYjUgXHUwM2MwXHUwM2I5XHUwM2I4XHUwM2IxXHUwM2JkXHUwM2NlXHUwM2MyIFx1MDNiNVx1MDNhZlx1MDNiZFx1MDNiMVx1MDNiOSBcdTAzYjVcdTAzYmVcdTAzYzlcdTAzYzRcdTAzYjVcdTAzYzFcdTAzYjlcdTAzYmFcdTAzY2NcdTAzYzIgXHUwM2MzXHUwM2NkXHUwM2JkXHUwM2I0XHUwM2I1XHUwM2MzXHUwM2JjXHUwM2JmXHUwM2MyLiBcdTAzOThcdTAzYWRcdTAzYmJcdTAzYjVcdTAzYzRcdTAzYjUgXHUwM2JkXHUwM2IxIFx1MDNjMFx1MDNjMVx1MDNiZlx1MDNjM1x1MDNiOFx1MDNhZFx1MDNjM1x1MDNiNVx1MDNjNFx1MDNiNSBcdTAzYzRcdTAzYmYgXHUwM2IxXHUwM2MwXHUwM2IxXHUwM2I5XHUwM2M0XHUwM2JmXHUwM2NkXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmIFx1MDNjMFx1MDNjMVx1MDNjY1x1MDNiOFx1MDNiN1x1MDNiY1x1MDNiMSBodHRwOlwvXC87IiwKIlRhcmdldCI6ICJcdTAzYTBcdTAzYzFcdTAzYmZcdTAzYmZcdTAzYzFcdTAzYjlcdTAzYzNcdTAzYmNcdTAzY2NcdTAzYzIiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTAzOTcgXHUwM2I0XHUwM2I5XHUwM2I1XHUwM2NkXHUwM2I4XHUwM2M1XHUwM2JkXHUwM2MzXHUwM2I3IFVSTCBcdTAzYzBcdTAzYmZcdTAzYzUgXHUwM2I1XHUwM2I5XHUwM2MzXHUwM2FjXHUwM2M3XHUwM2I4XHUwM2I3XHUwM2JhXHUwM2I1IFx1MDNjMFx1MDNiOVx1MDNiOFx1MDNiMVx1MDNiZFx1MDNjZVx1MDNjMiBcdTAzYjVcdTAzYWZcdTAzYmRcdTAzYjFcdTAzYjkgXHUwM2I0XHUwM2I5XHUwM2I1XHUwM2NkXHUwM2I4XHUwM2M1XHUwM2JkXHUwM2MzXHUwM2I3IGVtYWlsLiBcdTAzOThcdTAzYWRcdTAzYmJcdTAzYjVcdTAzYzRcdTAzYjUgXHUwM2JkXHUwM2IxIFx1MDNjMFx1MDNjMVx1MDNiZlx1MDNjM1x1MDNiOFx1MDNhZFx1MDNjM1x1MDNiNVx1MDNjNFx1MDNiNSBcdTAzYzRcdTAzYmYgXHUwM2IxXHUwM2MwXHUwM2IxXHUwM2I5XHUwM2M0XHUwM2JmXHUwM2NkXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmIFx1MDNjMFx1MDNjMVx1MDNjY1x1MDNiOFx1MDNiN1x1MDNiY1x1MDNiMSBtYWlsdG86OyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWVcL1x1MDNiNVx1MDNjMFx1MDNiNVx1MDNiZVx1MDNiNVx1MDNjMVx1MDNiM1x1MDNiMVx1MDNjM1x1MDNhZlx1MDNiMSBcdTAzYzNcdTAzYzVcdTAzYmRcdTAzYjRcdTAzYWRcdTAzYzNcdTAzYmNcdTAzYmZcdTAzYzUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZVwvXHUwM2I1XHUwM2MwXHUwM2I1XHUwM2JlXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2MzXHUwM2FmXHUwM2IxIFx1MDNiMlx1MDNhZlx1MDNiZFx1MDNjNFx1MDNiNVx1MDNiZiIsCiJQb3N0ZXIiOiAiXHUwMzkxXHUwM2M2XHUwM2FmXHUwM2MzXHUwM2IxIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTAzOTVcdTAzYmRcdTAzYjFcdTAzYmJcdTAzYmJcdTAzYjFcdTAzYmFcdTAzYzRcdTAzYjlcdTAzYmFcdTAzYWUgXHUwM2MwXHUwM2MxXHUwM2JmXHUwM2FkXHUwM2JiXHUwM2I1XHUwM2M1XHUwM2MzXHUwM2I3IiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2FjXHUwM2IzXHUwM2I1XHUwM2M0XHUwM2I1IFx1MDNjNFx1MDNiZlx1MDNiZCBcdTAzYjVcdTAzYmRcdTAzYzNcdTAzYzlcdTAzYmNcdTAzYjFcdTAzYzRcdTAzYzlcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYmYgXHUwM2JhXHUwM2NlXHUwM2I0XHUwM2I5XHUwM2JhXHUwM2IxIFx1MDNjMFx1MDNiMVx1MDNjMVx1MDNiMVx1MDNiYVx1MDNhY1x1MDNjNFx1MDNjOToiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZSBcdTAzYjJcdTAzYWZcdTAzYmRcdTAzYzRcdTAzYjVcdTAzYmYiLAoiRW1iZWQiOiAiXHUwMzk1XHUwM2JkXHUwM2MzXHUwM2M5XHUwM2JjXHUwM2FjXHUwM2M0XHUwM2M5XHUwM2MzXHUwM2I3IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDM5YVx1MDNiNVx1MDNiZFx1MDNjYyBcdTAzYzdcdTAzYzlcdTAzYzFcdTAzYWZcdTAzYzIgXHUwM2I0XHUwM2I5XHUwM2IxXHUwM2JhXHUwM2JmXHUwM2MwXHUwM2FlIiwKIlBhZ2UgYnJlYWsiOiAiXHUwMzkxXHUwM2JiXHUwM2JiXHUwM2IxXHUwM2IzXHUwM2FlIFx1MDNjM1x1MDNiNVx1MDNiYlx1MDNhZlx1MDNiNFx1MDNiMVx1MDNjMiIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDM5NVx1MDNjMFx1MDNiOVx1MDNiYVx1MDNjY1x1MDNiYlx1MDNiYlx1MDNiN1x1MDNjM1x1MDNiNyBcdTAzYzlcdTAzYzIgXHUwM2JhXHUwM2I1XHUwM2FmXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmIiwKIlByZXZpZXciOiAiXHUwM2EwXHUwM2MxXHUwM2JmXHUwM2I1XHUwM2MwXHUwM2I5XHUwM2MzXHUwM2JhXHUwM2NjXHUwM2MwXHUwM2I3XHUwM2MzXHUwM2I3IiwKIlByaW50IjogIlx1MDM5NVx1MDNiYVx1MDNjNFx1MDNjZFx1MDNjMFx1MDNjOVx1MDNjM1x1MDNiNyIsCiJTYXZlIjogIlx1MDM5MVx1MDNjMFx1MDNiZlx1MDNiOFx1MDNhZVx1MDNiYVx1MDNiNVx1MDNjNVx1MDNjM1x1MDNiNyIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwMzk0XHUwM2I1XHUwM2JkIFx1MDNhZVx1MDNjNFx1MDNiMVx1MDNiZCBcdTAzYjRcdTAzYzVcdTAzYmRcdTAzYjFcdTAzYzRcdTAzYWUgXHUwM2I3IFx1MDNiNVx1MDNjZFx1MDNjMVx1MDNiNVx1MDNjM1x1MDNiNyBcdTAzYzRcdTAzYmZcdTAzYzUgXHUwM2JhXHUwM2IxXHUwM2I4XHUwM2JmXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2JjXHUwM2FkXHUwM2JkXHUwM2JmXHUwM2M1IFx1MDNiMVx1MDNiYlx1MDNjNlx1MDNiMVx1MDNjMVx1MDNiOVx1MDNiOFx1MDNiY1x1MDNiN1x1MDNjNFx1MDNiOVx1MDNiYVx1MDNiZlx1MDNjZC4iLAoiUmVwbGFjZSI6ICJcdTAzOTFcdTAzYmRcdTAzYzRcdTAzYjlcdTAzYmFcdTAzYjFcdTAzYzRcdTAzYWNcdTAzYzNcdTAzYzRcdTAzYjFcdTAzYzNcdTAzYjciLAoiTmV4dCI6ICJcdTAzOTVcdTAzYzBcdTAzY2NcdTAzYmMuIiwKIldob2xlIHdvcmRzIjogIlx1MDM5Zlx1MDNiYlx1MDNjY1x1MDNiYVx1MDNiYlx1MDNiN1x1MDNjMVx1MDNiNVx1MDNjMiBcdTAzYmJcdTAzYWRcdTAzYmVcdTAzYjVcdTAzYjlcdTAzYzIiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTAzOTVcdTAzY2RcdTAzYzFcdTAzYjVcdTAzYzNcdTAzYjcgXHUwM2JhXHUwM2IxXHUwM2I5IFx1MDNiMVx1MDNiZFx1MDNjNFx1MDNiOVx1MDNiYVx1MDNiMVx1MDNjNFx1MDNhY1x1MDNjM1x1MDNjNFx1MDNiMVx1MDNjM1x1MDNiNyIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwMzkxXHUwM2JkXHUwM2M0XHUwM2I5XHUwM2JhXHUwM2IxXHUwM2M0XHUwM2FjXHUwM2MzXHUwM2M0XHUwM2IxXHUwM2MzXHUwM2I3IFx1MDNiY1x1MDNiNSIsCiJGaW5kIjogIlx1MDM5NVx1MDNjZFx1MDNjMVx1MDNiNVx1MDNjM1x1MDNiNyIsCiJSZXBsYWNlIGFsbCI6ICJcdTAzOTFcdTAzYmRcdTAzYzRcdTAzYjlcdTAzYmFcdTAzYjFcdTAzYzRcdTAzYWNcdTAzYzNcdTAzYzRcdTAzYjFcdTAzYzNcdTAzYjcgXHUwM2NjXHUwM2JiXHUwM2M5XHUwM2JkIiwKIk1hdGNoIGNhc2UiOiAiXHUwM2E0XHUwM2IxXHUwM2FmXHUwM2MxXHUwM2I5XHUwM2IxXHUwM2MzXHUwM2JjXHUwM2IxIFx1MDNjMFx1MDNiNVx1MDNiNlx1MDNjZVx1MDNiZFwvXHUwM2JhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2IxXHUwM2FmXHUwM2M5XHUwM2JkIiwKIlByZXYiOiAiXHUwM2EwXHUwM2MxXHUwM2JmXHUwM2I3XHUwM2IzLiIsCiJTcGVsbGNoZWNrIjogIlx1MDM5Zlx1MDNjMVx1MDNiOFx1MDNiZlx1MDNiM1x1MDNjMVx1MDNiMVx1MDNjNlx1MDNiOVx1MDNiYVx1MDNjY1x1MDNjMiBcdTAzYWRcdTAzYmJcdTAzYjVcdTAzYjNcdTAzYzdcdTAzYmZcdTAzYzIgIiwKIkZpbmlzaCI6ICJcdTAzYTRcdTAzYWRcdTAzYmJcdTAzYmZcdTAzYzIiLAoiSWdub3JlIGFsbCI6ICJcdTAzYTBcdTAzYjFcdTAzYzFcdTAzYWNcdTAzYjJcdTAzYmJcdTAzYjVcdTAzYzhcdTAzYjcgXHUwM2NjXHUwM2JiXHUwM2M5XHUwM2JkIiwKIklnbm9yZSI6ICJcdTAzYTBcdTAzYjFcdTAzYzFcdTAzYWNcdTAzYjJcdTAzYmJcdTAzYjVcdTAzYzhcdTAzYjciLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwM2EwXHUwM2MxXHUwM2JmXHUwM2MzXHUwM2I4XHUwM2FlXHUwM2JhXHUwM2I3IFx1MDNjM1x1MDNjNFx1MDNiZiBcdTAzOWJcdTAzYjVcdTAzYmVcdTAzYjlcdTAzYmFcdTAzY2MiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZVx1MDNjMiBcdTAzYjVcdTAzYzBcdTAzYWNcdTAzYmRcdTAzYzkiLAoiUm93cyI6ICJcdTAzOTNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWRcdTAzYzIiLAoiSGVpZ2h0IjogIlx1MDM4ZVx1MDNjOFx1MDNiZlx1MDNjMiIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwMzk1XHUwM2MwXHUwM2I5XHUwM2JhXHUwM2NjXHUwM2JiXHUwM2JiXHUwM2I3XHUwM2MzXHUwM2I3IFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZVx1MDNjMiBcdTAzYmFcdTAzYWNcdTAzYzRcdTAzYzkiLAoiQWxpZ25tZW50IjogIlx1MDNhM1x1MDNjNFx1MDNiZlx1MDNhZlx1MDNjN1x1MDNiOVx1MDNjM1x1MDNiNyIsCiJCb3JkZXIgY29sb3IiOiAiXHUwM2E3XHUwM2MxXHUwM2NlXHUwM2JjXHUwM2IxIFx1MDNjMFx1MDNiYlx1MDNiMVx1MDNiOVx1MDNjM1x1MDNhZlx1MDNiZlx1MDNjNSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwMzlmXHUwM2JjXHUwM2FjXHUwM2I0XHUwM2IxIFx1MDNjM1x1MDNjNFx1MDNiN1x1MDNiYlx1MDNjZVx1MDNiZCIsCiJSb3ciOiAiXHUwMzkzXHUwM2MxXHUwM2IxXHUwM2JjXHUwM2JjXHUwM2FlIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZSBcdTAzYzNcdTAzYzRcdTAzYWVcdTAzYmJcdTAzYjdcdTAzYzIgXHUwM2IxXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2I1XHUwM2MxXHUwM2FjIiwKIlNwbGl0IGNlbGwiOiAiXHUwMzk0XHUwM2I5XHUwM2IxXHUwM2FmXHUwM2MxXHUwM2I1XHUwM2MzXHUwM2I3IFx1MDNiYVx1MDNiNVx1MDNiYlx1MDNiOVx1MDNiZlx1MDNjZCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwMzkxXHUwM2JkXHUwM2IxXHUwM2MwXHUwM2JiXHUwM2FlXHUwM2MxXHUwM2M5XHUwM2MzXHUwM2I3IFx1MDNiYVx1MDNiNVx1MDNiYlx1MDNiOVx1MDNjZVx1MDNiZCIsCiJDZWxsIHNwYWNpbmciOiAiXHUwMzkxXHUwM2MwXHUwM2NjXHUwM2MzXHUwM2M0XHUwM2IxXHUwM2MzXHUwM2I3IFx1MDNiYVx1MDNiNVx1MDNiYlx1MDNiOVx1MDNjZVx1MDNiZCIsCiJSb3cgdHlwZSI6ICJcdTAzYTRcdTAzY2RcdTAzYzBcdTAzYmZcdTAzYzIgXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2JjXHUwM2JjXHUwM2FlXHUwM2MyIiwKIkluc2VydCB0YWJsZSI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWUgXHUwM2MwXHUwM2FmXHUwM2JkXHUwM2IxXHUwM2JhXHUwM2IxIiwKIkJvZHkiOiAiXHUwM2EzXHUwM2NlXHUwM2JjXHUwM2IxIiwKIkNhcHRpb24iOiAiXHUwMzliXHUwM2I1XHUwM2I2XHUwM2FjXHUwM2JkXHUwM2M0XHUwM2IxIiwKIkZvb3RlciI6ICJcdTAzYTVcdTAzYzBcdTAzYmZcdTAzYzNcdTAzYWRcdTAzYmJcdTAzYjlcdTAzYjRcdTAzYmYiLAoiRGVsZXRlIHJvdyI6ICJcdTAzOTRcdTAzYjlcdTAzYjFcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUgXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2JjXHUwM2JjXHUwM2FlXHUwM2MyIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwMzk1XHUwM2MwXHUwM2I5XHUwM2JhXHUwM2NjXHUwM2JiXHUwM2JiXHUwM2I3XHUwM2MzXHUwM2I3IFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZVx1MDNjMiBcdTAzYjVcdTAzYzBcdTAzYWNcdTAzYmRcdTAzYzkiLAoiU2NvcGUiOiAiXHUwMzg4XHUwM2JhXHUwM2M0XHUwM2IxXHUwM2MzXHUwM2I3IiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTAzOTRcdTAzYjlcdTAzYjFcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUgXHUwM2MwXHUwM2FmXHUwM2JkXHUwM2IxXHUwM2JhXHUwM2IxIiwKIkggQWxpZ24iOiAiXHUwMzlmXHUwM2MxLiBcdTAzYTNcdTAzYzRcdTAzYmZcdTAzYWZcdTAzYzdcdTAzYjlcdTAzYzNcdTAzYjciLAoiVG9wIjogIlx1MDM5YVx1MDNiZlx1MDNjMVx1MDNjNVx1MDNjNlx1MDNhZSIsCiJIZWFkZXIgY2VsbCI6ICJcdTAzOWFcdTAzYjVcdTAzYmJcdTAzYWYtXHUwM2JhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIiwKIkNvbHVtbiI6ICJcdTAzYTNcdTAzYzRcdTAzYWVcdTAzYmJcdTAzYjciLAoiUm93IGdyb3VwIjogIlx1MDM5Zlx1MDNiY1x1MDNhY1x1MDNiNFx1MDNiMSBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzY2VcdTAzYmQiLAoiQ2VsbCI6ICJcdTAzOWFcdTAzYjVcdTAzYmJcdTAzYWYiLAoiTWlkZGxlIjogIlx1MDM5Y1x1MDNhZFx1MDNjM1x1MDNiNyIsCiJDZWxsIHR5cGUiOiAiXHUwM2E0XHUwM2NkXHUwM2MwXHUwM2JmXHUwM2MyIFx1MDNiYVx1MDNiNVx1MDNiYlx1MDNiOVx1MDNiZlx1MDNjZCIsCiJDb3B5IHJvdyI6ICJcdTAzOTFcdTAzYmRcdTAzYzRcdTAzYjlcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYzZcdTAzYWUgXHUwM2IzXHUwM2MxXHUwM2IxXHUwM2JjXHUwM2JjXHUwM2FlXHUwM2MyIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDM5OVx1MDNiNFx1MDNiOVx1MDNjY1x1MDNjNFx1MDNiN1x1MDNjNFx1MDNiNVx1MDNjMiBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWVcdTAzYzIiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTAzOTlcdTAzYjRcdTAzYjlcdTAzY2NcdTAzYzRcdTAzYjdcdTAzYzRcdTAzYjVcdTAzYzIgXHUwM2MwXHUwM2FmXHUwM2JkXHUwM2IxXHUwM2JhXHUwM2IxIiwKIkJvdHRvbSI6ICJcdTAzOWFcdTAzYWNcdTAzYzRcdTAzYzkiLAoiViBBbGlnbiI6ICJcdTAzOWEuIFx1MDNhM1x1MDNjNFx1MDNiZlx1MDNhZlx1MDNjN1x1MDNiOVx1MDNjM1x1MDNiNyIsCiJIZWFkZXIiOiAiXHUwMzlhXHUwM2I1XHUwM2M2XHUwM2IxXHUwM2JiXHUwM2FmXHUwM2I0XHUwM2IxIiwKIlJpZ2h0IjogIlx1MDM5NFx1MDNiNVx1MDNiZVx1MDNiOVx1MDNhYyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDM5NVx1MDNiOVx1MDNjM1x1MDNiMVx1MDNiM1x1MDNjOVx1MDNiM1x1MDNhZSBcdTAzYzNcdTAzYzRcdTAzYWVcdTAzYmJcdTAzYjdcdTAzYzIgXHUwM2I0XHUwM2I1XHUwM2JlXHUwM2I5XHUwM2FjIiwKIkNvbHMiOiAiXHUwM2EzXHUwM2M0XHUwM2FlXHUwM2JiXHUwM2I1XHUwM2MyIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZVx1MDNjMiBcdTAzYmFcdTAzYWNcdTAzYzRcdTAzYzkiLAoiV2lkdGgiOiAiXHUwM2EwXHUwM2JiXHUwM2FjXHUwM2M0XHUwM2JmXHUwM2MyIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTAzOTlcdTAzYjRcdTAzYjlcdTAzY2NcdTAzYzRcdTAzYjdcdTAzYzRcdTAzYjVcdTAzYzIgXHUwM2JhXHUwM2I1XHUwM2JiXHUwM2I5XHUwM2JmXHUwM2NkIiwKIkxlZnQiOiAiXHUwMzkxXHUwM2MxXHUwM2I5XHUwM2MzXHUwM2M0XHUwM2I1XHUwM2MxXHUwM2FjIiwKIkN1dCByb3ciOiAiXHUwMzkxXHUwM2MwXHUwM2JmXHUwM2JhXHUwM2JmXHUwM2MwXHUwM2FlIFx1MDNiM1x1MDNjMVx1MDNiMVx1MDNiY1x1MDNiY1x1MDNhZVx1MDNjMiIsCiJEZWxldGUgY29sdW1uIjogIlx1MDM5NFx1MDNiOVx1MDNiMVx1MDNiM1x1MDNjMVx1MDNiMVx1MDNjNlx1MDNhZSBcdTAzYzNcdTAzYzRcdTAzYWVcdTAzYmJcdTAzYjdcdTAzYzIiLAoiQ2VudGVyIjogIlx1MDM5YVx1MDNiNVx1MDNiZFx1MDNjNFx1MDNjMVx1MDNiMVx1MDNjMVx1MDNiOVx1MDNjM1x1MDNiY1x1MDNhZFx1MDNiZFx1MDNiNyIsCiJNZXJnZSBjZWxscyI6ICJcdTAzYTNcdTAzYzVcdTAzYjNcdTAzYzdcdTAzY2VcdTAzYmRcdTAzYjVcdTAzYzVcdTAzYzNcdTAzYjcgXHUwM2JhXHUwM2I1XHUwM2JiXHUwM2I5XHUwM2NlXHUwM2JkIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTAzOTVcdTAzYjlcdTAzYzNcdTAzYjFcdTAzYjNcdTAzYzlcdTAzYjNcdTAzYWUgXHUwM2MwXHUwM2MxXHUwM2JmXHUwM2M0XHUwM2NkXHUwM2MwXHUwM2JmXHUwM2M1ICIsCiJUZW1wbGF0ZXMiOiAiXHUwM2EwXHUwM2MxXHUwM2NjXHUwM2M0XHUwM2M1XHUwM2MwXHUwM2IxIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwM2E3XHUwM2MxXHUwM2NlXHUwM2JjXHUwM2IxIFx1MDNjNlx1MDNjY1x1MDNiZFx1MDNjNFx1MDNiZlx1MDNjNSIsCiJDdXN0b20uLi4iOiAiXHUwM2EwXHUwM2MxXHUwM2JmXHUwM2MzXHUwM2IxXHUwM2MxXHUwM2JjXHUwM2JmXHUwM2IzXHUwM2FlLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTAzYTBcdTAzYzFcdTAzYmZcdTAzYzNcdTAzYjFcdTAzYzFcdTAzYmNcdTAzYmZcdTAzYzNcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYmYgXHUwM2M3XHUwM2MxXHUwM2NlXHUwM2JjXHUwM2IxIiwKIk5vIGNvbG9yIjogIlx1MDNhN1x1MDNjOVx1MDNjMVx1MDNhZlx1MDNjMiBcdTAzYzdcdTAzYzFcdTAzY2VcdTAzYmNcdTAzYjEiLAoiVGV4dCBjb2xvciI6ICJcdTAzYTdcdTAzYzFcdTAzY2VcdTAzYmNcdTAzYjEgXHUwM2JhXHUwM2I1XHUwM2I5XHUwM2JjXHUwM2FkXHUwM2JkXHUwM2JmXHUwM2M1ICIsCiJTaG93IGJsb2NrcyI6ICJcdTAzOTVcdTAzYmNcdTAzYzZcdTAzYWNcdTAzYmRcdTAzYjlcdTAzYzNcdTAzYjcgXHUwM2M0XHUwM2JjXHUwM2I3XHUwM2JjXHUwM2FjXHUwM2M0XHUwM2M5XHUwM2JkIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwMzk1XHUwM2JjXHUwM2M2XHUwM2FjXHUwM2JkXHUwM2I5XHUwM2MzXHUwM2I3IFx1MDNiYVx1MDNjMVx1MDNjNVx1MDNjNlx1MDNjZVx1MDNiZCBcdTAzYzdcdTAzYjFcdTAzYzFcdTAzYjFcdTAzYmFcdTAzYzRcdTAzYWVcdTAzYzFcdTAzYzlcdTAzYmQiLAoiV29yZHM6IHswfSI6ICJcdTAzOWJcdTAzYWRcdTAzYmVcdTAzYjVcdTAzYjlcdTAzYzI6IHswfSIsCiJJbnNlcnQiOiAiXHUwMzk1XHUwM2I5XHUwM2MzXHUwM2IxXHUwM2IzXHUwM2M5XHUwM2IzXHUwM2FlIiwKIkZpbGUiOiAiXHUwMzkxXHUwM2MxXHUwM2M3XHUwM2I1XHUwM2FmXHUwM2JmIiwKIkVkaXQiOiAiXHUwMzk1XHUwM2MwXHUwM2I1XHUwM2JlXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2MzXHUwM2FmXHUwM2IxIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDNhMFx1MDNiNVx1MDNjMVx1MDNiOVx1MDNiZlx1MDNjN1x1MDNhZSBcdTAzOTVcdTAzYmNcdTAzYzBcdTAzYmJcdTAzYmZcdTAzYzVcdTAzYzRcdTAzYjlcdTAzYzNcdTAzYmNcdTAzYWRcdTAzYmRcdTAzYmYgXHUwMzlhXHUwM2I1XHUwM2I5XHUwM2JjXHUwM2FkXHUwM2JkXHUwM2JmXHUwM2M1LiBcdTAzYTBcdTAzYjFcdTAzYzRcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgQUxULUY5IFx1MDNiM1x1MDNiOVx1MDNiMSBcdTAzYzRcdTAzYmYgXHUwM2JjXHUwM2I1XHUwM2JkXHUwM2JmXHUwM2NkLiBcdTAzYTBcdTAzYjFcdTAzYzRcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgQUxULUYxMCBcdTAzYjNcdTAzYjlcdTAzYjEgIFx1MDNjNFx1MDNiNyBcdTAzYjNcdTAzYzFcdTAzYjFcdTAzYmNcdTAzYmNcdTAzYWUgXHUwM2I1XHUwM2MxXHUwM2IzXHUwM2IxXHUwM2JiXHUwM2I1XHUwM2FmXHUwM2M5XHUwM2JkLiBcdTAzYTBcdTAzYjFcdTAzYzRcdTAzYWVcdTAzYzNcdTAzYzRcdTAzYjUgQUxULTAgXHUwM2IzXHUwM2I5XHUwM2IxIFx1MDNiMlx1MDNiZlx1MDNhZVx1MDNiOFx1MDNiNVx1MDNiOVx1MDNiMSIsCiJUb29scyI6ICJcdTAzOTVcdTAzYzFcdTAzYjNcdTAzYjFcdTAzYmJcdTAzYjVcdTAzYWZcdTAzYjEiLAoiVmlldyI6ICJcdTAzYTBcdTAzYzFcdTAzYmZcdTAzYjJcdTAzYmZcdTAzYmJcdTAzYWUiLAoiVGFibGUiOiAiXHUwM2EwXHUwM2FmXHUwM2JkXHUwM2IxXHUwM2JhXHUwM2IxXHUwM2MyIiwKIkZvcm1hdCI6ICJcdTAzOWNcdTAzYmZcdTAzYzFcdTAzYzZcdTAzYmZcdTAzYzBcdTAzYmZcdTAzYWZcdTAzYjdcdTAzYzNcdTAzYjciCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/en_CA.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlbl9DQScsewoiQ3V0IjogIkN1dCIsCiJIZWFkaW5nIDUiOiAiSGVhZGluZyA1IiwKIkhlYWRlciAyIjogIkhlYWRlciAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIiwKIkhlYWRpbmcgNCI6ICJIZWFkaW5nIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiSGVhZGluZyAyIiwKIlBhc3RlIjogIlBhc3RlIiwKIkNsb3NlIjogIkNsb3NlIiwKIkZvbnQgRmFtaWx5IjogIkZvbnQgRmFtaWx5IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpZ24gcmlnaHQiLAoiTmV3IGRvY3VtZW50IjogIk5ldyBkb2N1bWVudCIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1iZXJlZCBsaXN0IiwKIkhlYWRpbmcgMSI6ICJIZWFkaW5nIDEiLAoiSGVhZGluZ3MiOiAiSGVhZGluZ3MiLAoiSW5jcmVhc2UgaW5kZW50IjogIkluY3JlYXNlIGluZGVudCIsCiJGb3JtYXRzIjogIkZvcm1hdHMiLAoiSGVhZGVycyI6ICJIZWFkZXJzIiwKIlNlbGVjdCBhbGwiOiAiU2VsZWN0IGFsbCIsCiJIZWFkZXIgMyI6ICJIZWFkZXIgMyIsCiJCbG9ja3MiOiAiQmxvY2tzIiwKIlVuZG8iOiAiVW5kbyIsCiJTdHJpa2V0aHJvdWdoIjogIlN0cmlrZXRocm91Z2giLAoiQnVsbGV0IGxpc3QiOiAiQnVsbGV0IGxpc3QiLAoiSGVhZGVyIDEiOiAiSGVhZGVyIDEiLAoiU3VwZXJzY3JpcHQiOiAiU3VwZXJzY3JpcHQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJDbGVhciBmb3JtYXR0aW5nIiwKIkZvbnQgU2l6ZXMiOiAiRm9udCBTaXplcyIsCiJTdWJzY3JpcHQiOiAiU3Vic2NyaXB0IiwKIkhlYWRlciA2IjogIkhlYWRlciA2IiwKIlJlZG8iOiAiUmVkbyIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYXBoIiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiQm9sZCIsCiJDb2RlIjogIkNvZGUiLAoiSXRhbGljIjogIkl0YWxpYyIsCiJBbGlnbiBjZW50ZXIiOiAiQWxpZ24gY2VudGVyIiwKIkhlYWRlciA1IjogIkhlYWRlciA1IiwKIkhlYWRpbmcgNiI6ICJIZWFkaW5nIDYiLAoiSGVhZGluZyAzIjogIkhlYWRpbmcgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiRGVjcmVhc2UgaW5kZW50IiwKIkhlYWRlciA0IjogIkhlYWRlciA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iLAoiVW5kZXJsaW5lIjogIlVuZGVybGluZSIsCiJDYW5jZWwiOiAiQ2FuY2VsIiwKIkp1c3RpZnkiOiAiSnVzdGlmeSIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkNvcHkiOiAiQ29weSIsCiJBbGlnbiBsZWZ0IjogIkFsaWduIGxlZnQiLAoiVmlzdWFsIGFpZHMiOiAiVmlzdWFsIGFpZHMiLAoiTG93ZXIgR3JlZWsiOiAiTG93ZXIgR3JlZWsiLAoiU3F1YXJlIjogIlNxdWFyZSIsCiJEZWZhdWx0IjogIkRlZmF1bHQiLAoiTG93ZXIgQWxwaGEiOiAiTG93ZXIgQWxwaGEiLAoiQ2lyY2xlIjogIkNpcmNsZSIsCiJEaXNjIjogIkRpc2MiLAoiVXBwZXIgQWxwaGEiOiAiVXBwZXIgQWxwaGEiLAoiVXBwZXIgUm9tYW4iOiAiVXBwZXIgUm9tYW4iLAoiTG93ZXIgUm9tYW4iOiAiTG93ZXIgUm9tYW4iLAoiTmFtZSI6ICJOYW1lIiwKIkFuY2hvciI6ICJBbmNob3IiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0b3JlIGxhc3QgZHJhZnQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lhbCBjaGFyYWN0ZXIiLAoiU291cmNlIGNvZGUiOiAiU291cmNlIGNvZGUiLAoiUmlnaHQgdG8gbGVmdCI6ICJSaWdodCB0byBsZWZ0IiwKIkxlZnQgdG8gcmlnaHQiOiAiTGVmdCB0byByaWdodCIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2N1bWVudCBwcm9wZXJ0aWVzIiwKIlRpdGxlIjogIlRpdGxlIiwKIktleXdvcmRzIjogIktleXdvcmRzIiwKIkVuY29kaW5nIjogIkVuY29kaW5nIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXB0aW9uIiwKIkF1dGhvciI6ICJBdXRob3IiLAoiRnVsbHNjcmVlbiI6ICJGdWxsc2NyZWVuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsIGxpbmUiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsIHNwYWNlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbnNlcnRcL2VkaXQgaW1hZ2UiLAoiR2VuZXJhbCI6ICJHZW5lcmFsIiwKIkFkdmFuY2VkIjogIkFkdmFuY2VkIiwKIlNvdXJjZSI6ICJTb3VyY2UiLAoiQm9yZGVyIjogIkJvcmRlciIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiQ29uc3RyYWluIHByb3BvcnRpb25zIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpY2FsIHNwYWNlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkltYWdlIGRlc2NyaXB0aW9uIiwKIlN0eWxlIjogIlN0eWxlIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaW9ucyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJ0IGltYWdlIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VydCBkYXRlXC90aW1lIiwKIlJlbW92ZSBsaW5rIjogIlJlbW92ZSBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHQgdG8gZGlzcGxheSIsCiJBbmNob3JzIjogIkFuY2hvcnMiLAoiSW5zZXJ0IGxpbmsiOiAiSW5zZXJ0IGxpbmsiLAoiTmV3IHdpbmRvdyI6ICJOZXcgd2luZG93IiwKIk5vbmUiOiAiTm9uZSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluc2VydFwvZWRpdCBsaW5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbnNlcnRcL2VkaXQgdmlkZW8iLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdmUgc291cmNlIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJ0IHZpZGVvIiwKIkVtYmVkIjogIkVtYmVkIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5vbmJyZWFraW5nIHNwYWNlIiwKIlBhZ2UgYnJlYWsiOiAiUGFnZSBicmVhayIsCiJQYXN0ZSBhcyB0ZXh0IjogIlBhc3RlIGFzIHRleHQiLAoiUHJldmlldyI6ICJQcmV2aWV3IiwKIlByaW50IjogIlByaW50IiwKIlNhdmUiOiAiU2F2ZSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIiwKIlJlcGxhY2UiOiAiUmVwbGFjZSIsCiJOZXh0IjogIk5leHQiLAoiV2hvbGUgd29yZHMiOiAiV2hvbGUgd29yZHMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGaW5kIGFuZCByZXBsYWNlIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZXBsYWNlIHdpdGgiLAoiRmluZCI6ICJGaW5kIiwKIlJlcGxhY2UgYWxsIjogIlJlcGxhY2UgYWxsIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggY2FzZSIsCiJQcmV2IjogIlByZXYiLAoiU3BlbGxjaGVjayI6ICJTcGVsbGNoZWNrIiwKIkZpbmlzaCI6ICJGaW5pc2giLAoiSWdub3JlIGFsbCI6ICJJZ25vcmUgYWxsIiwKIklnbm9yZSI6ICJJZ25vcmUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zZXJ0IHJvdyBiZWZvcmUiLAoiUm93cyI6ICJSb3dzIiwKIkhlaWdodCI6ICJIZWlnaHQiLAoiUGFzdGUgcm93IGFmdGVyIjogIlBhc3RlIHJvdyBhZnRlciIsCiJBbGlnbm1lbnQiOiAiQWxpZ25tZW50IiwKIkNvbHVtbiBncm91cCI6ICJDb2x1bW4gZ3JvdXAiLAoiUm93IjogIlJvdyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcnQgY29sdW1uIGJlZm9yZSIsCiJTcGxpdCBjZWxsIjogIlNwbGl0IGNlbGwiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGwgcGFkZGluZyIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbCBzcGFjaW5nIiwKIlJvdyB0eXBlIjogIlJvdyB0eXBlIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcnQgdGFibGUiLAoiQm9keSI6ICJCb2R5IiwKIkNhcHRpb24iOiAiQ2FwdGlvbiIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkRlbGV0ZSByb3ciOiAiRGVsZXRlIHJvdyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBhc3RlIHJvdyBiZWZvcmUiLAoiU2NvcGUiOiAiU2NvcGUiLAoiRGVsZXRlIHRhYmxlIjogIkRlbGV0ZSB0YWJsZSIsCiJIIEFsaWduIjogIkggQWxpZ24iLAoiVG9wIjogIlRvcCIsCiJIZWFkZXIgY2VsbCI6ICJIZWFkZXIgY2VsbCIsCiJDb2x1bW4iOiAiQ29sdW1uIiwKIlJvdyBncm91cCI6ICJSb3cgZ3JvdXAiLAoiQ2VsbCI6ICJDZWxsIiwKIk1pZGRsZSI6ICJNaWRkbGUiLAoiQ2VsbCB0eXBlIjogIkNlbGwgdHlwZSIsCiJDb3B5IHJvdyI6ICJDb3B5IHJvdyIsCiJSb3cgcHJvcGVydGllcyI6ICJSb3cgcHJvcGVydGllcyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYmxlIHByb3BlcnRpZXMiLAoiQm90dG9tIjogIkJvdHRvbSIsCiJWIEFsaWduIjogIlYgQWxpZ24iLAoiSGVhZGVyIjogIkhlYWRlciIsCiJSaWdodCI6ICJSaWdodCIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkluc2VydCBjb2x1bW4gYWZ0ZXIiLAoiQ29scyI6ICJDb2xzIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJ0IHJvdyBhZnRlciIsCiJXaWR0aCI6ICJXaWR0aCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiQ2VsbCBwcm9wZXJ0aWVzIiwKIkxlZnQiOiAiTGVmdCIsCiJDdXQgcm93IjogIkN1dCByb3ciLAoiRGVsZXRlIGNvbHVtbiI6ICJEZWxldGUgY29sdW1uIiwKIkNlbnRlciI6ICJDZW50ZXIiLAoiTWVyZ2UgY2VsbHMiOiAiTWVyZ2UgY2VsbHMiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkluc2VydCB0ZW1wbGF0ZSIsCiJUZW1wbGF0ZXMiOiAiVGVtcGxhdGVzIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFja2dyb3VuZCBjb2xvdXIiLAoiVGV4dCBjb2xvciI6ICJUZXh0IGNvbG91ciIsCiJTaG93IGJsb2NrcyI6ICJTaG93IGJsb2NrcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJJbnNlcnQiLAoiRmlsZSI6ICJGaWxlIiwKIkVkaXQiOiAiRWRpdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIsCiJUb29scyI6ICJUb29scyIsCiJWaWV3IjogIlZpZXciLAoiVGFibGUiOiAiVGFibGUiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/en_GB.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlbl9HQicsewoiQ3V0IjogIkN1dCIsCiJIZWFkZXIgMiI6ICJIZWFkZXIgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiIsCiJEaXYiOiAiRGl2IiwKIlBhc3RlIjogIlBhc3RlIiwKIkNsb3NlIjogIkNsb3NlIiwKIkZvbnQgRmFtaWx5IjogIkZvbnQgRmFtaWx5IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpZ24gcmlnaHQiLAoiTmV3IGRvY3VtZW50IjogIk5ldyBkb2N1bWVudCIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1iZXJlZCBsaXN0IiwKIkluY3JlYXNlIGluZGVudCI6ICJJbmNyZWFzZSBpbmRlbnQiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIkhlYWRlcnMiOiAiSGVhZGVycyIsCiJTZWxlY3QgYWxsIjogIlNlbGVjdCBhbGwiLAoiSGVhZGVyIDMiOiAiSGVhZGVyIDMiLAoiQmxvY2tzIjogIkJsb2NrcyIsCiJVbmRvIjogIlVuZG8iLAoiU3RyaWtldGhyb3VnaCI6ICJTdHJpa2UtdGhyb3VnaCIsCiJCdWxsZXQgbGlzdCI6ICJCdWxsZXQgbGlzdCIsCiJIZWFkZXIgMSI6ICJIZWFkZXIgMSIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlcnNjcmlwdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkNsZWFyIGZvcm1hdHRpbmciLAoiRm9udCBTaXplcyI6ICJGb250IFNpemVzIiwKIlN1YnNjcmlwdCI6ICJTdWJzY3JpcHQiLAoiSGVhZGVyIDYiOiAiSGVhZGVyIDYiLAoiUmVkbyI6ICJSZWRvIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhcGgiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJCb2xkIiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiSXRhbGljIiwKIkFsaWduIGNlbnRlciI6ICJBbGlnbiBjZW50cmUiLAoiSGVhZGVyIDUiOiAiSGVhZGVyIDUiLAoiRGVjcmVhc2UgaW5kZW50IjogIkRlY3JlYXNlIGluZGVudCIsCiJIZWFkZXIgNCI6ICJIZWFkZXIgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIiwKIlVuZGVybGluZSI6ICJVbmRlcmxpbmUiLAoiQ2FuY2VsIjogIkNhbmNlbCIsCiJKdXN0aWZ5IjogIkp1c3RpZnkiLAoiSW5saW5lIjogIklubGluZSIsCiJDb3B5IjogIkNvcHkiLAoiQWxpZ24gbGVmdCI6ICJBbGlnbiBsZWZ0IiwKIlZpc3VhbCBhaWRzIjogIlZpc3VhbCBhaWRzIiwKIkxvd2VyIEdyZWVrIjogIkxvd2VyIEdyZWVrIiwKIlNxdWFyZSI6ICJTcXVhcmUiLAoiRGVmYXVsdCI6ICJEZWZhdWx0IiwKIkxvd2VyIEFscGhhIjogIkxvd2VyIEFscGhhIiwKIkNpcmNsZSI6ICJDaXJjbGUiLAoiRGlzYyI6ICJEaXNjIiwKIlVwcGVyIEFscGhhIjogIlVwcGVyIEFscGhhIiwKIlVwcGVyIFJvbWFuIjogIlVwcGVyIFJvbWFuIiwKIkxvd2VyIFJvbWFuIjogIkxvd2VyIFJvbWFuIiwKIk5hbWUiOiAiTmFtZSIsCiJBbmNob3IiOiAiQW5jaG9yIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdG9yZSBsYXN0IGRyYWZ0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpYWwgY2hhcmFjdGVyIiwKIlNvdXJjZSBjb2RlIjogIlNvdXJjZSBjb2RlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUmlnaHQgdG8gbGVmdCIsCiJMZWZ0IHRvIHJpZ2h0IjogIkxlZnQgdG8gcmlnaHQiLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9jdW1lbnQgcHJvcGVydGllcyIsCiJUaXRsZSI6ICJUaXRsZSIsCiJLZXl3b3JkcyI6ICJLZXl3b3JkcyIsCiJFbmNvZGluZyI6ICJFbmNvZGluZyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIsCiJBdXRob3IiOiAiQXV0aG9yIiwKIkZ1bGxzY3JlZW4iOiAiRnVsbC1zY3JlZW4iLAoiSG9yaXpvbnRhbCBsaW5lIjogIkhvcml6b250YWwgbGluZSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250YWwgc3BhY2UiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc2VydFwvZWRpdCBpbWFnZSIsCiJHZW5lcmFsIjogIkdlbmVyYWwiLAoiQWR2YW5jZWQiOiAiQWR2YW5jZWQiLAoiU291cmNlIjogIlNvdXJjZSIsCiJCb3JkZXIiOiAiQm9yZGVyIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJDb25zdHJhaW4gcHJvcG9ydGlvbnMiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGljYWwgc3BhY2UiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiSW1hZ2UgZGVzY3JpcHRpb24iLAoiU3R5bGUiOiAiU3R5bGUiLAoiRGltZW5zaW9ucyI6ICJEaW1lbnNpb25zIiwKIkluc2VydCBpbWFnZSI6ICJJbnNlcnQgaW1hZ2UiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5zZXJ0IGRhdGVcL3RpbWUiLAoiUmVtb3ZlIGxpbmsiOiAiUmVtb3ZlIGxpbmsiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dCB0byBkaXNwbGF5IiwKIkFuY2hvcnMiOiAiQW5jaG9ycyIsCiJJbnNlcnQgbGluayI6ICJJbnNlcnQgbGluayIsCiJOZXcgd2luZG93IjogIk5ldyB3aW5kb3ciLAoiTm9uZSI6ICJOb25lIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iLAoiVGFyZ2V0IjogIlRhcmdldCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSW5zZXJ0XC9lZGl0IGxpbmsiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VydFwvZWRpdCB2aWRlbyIsCiJQb3N0ZXIiOiAiUG9zdGVyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2ZSBzb3VyY2UiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IiwKIkluc2VydCB2aWRlbyI6ICJJbnNlcnQgdmlkZW8iLAoiRW1iZWQiOiAiRW1iZWQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiTm9uLWJyZWFraW5nIHNwYWNlIiwKIlBhZ2UgYnJlYWsiOiAiUGFnZSBicmVhayIsCiJQYXN0ZSBhcyB0ZXh0IjogIlBhc3RlIGFzIHRleHQiLAoiUHJldmlldyI6ICJQcmV2aWV3IiwKIlByaW50IjogIlByaW50IiwKIlNhdmUiOiAiU2F2ZSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIiwKIlJlcGxhY2UiOiAiUmVwbGFjZSIsCiJOZXh0IjogIk5leHQiLAoiV2hvbGUgd29yZHMiOiAiV2hvbGUgd29yZHMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGaW5kIGFuZCByZXBsYWNlIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZXBsYWNlIHdpdGgiLAoiRmluZCI6ICJGaW5kIiwKIlJlcGxhY2UgYWxsIjogIlJlcGxhY2UgYWxsIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggY2FzZSIsCiJQcmV2IjogIlByZXYiLAoiU3BlbGxjaGVjayI6ICJTcGVsbC1jaGVjayIsCiJGaW5pc2giOiAiRmluaXNoIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlIGFsbCIsCiJJZ25vcmUiOiAiSWdub3JlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VydCByb3cgYmVmb3JlIiwKIlJvd3MiOiAiUm93cyIsCiJIZWlnaHQiOiAiSGVpZ2h0IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQYXN0ZSByb3cgYWZ0ZXIiLAoiQWxpZ25tZW50IjogIkFsaWdubWVudCIsCiJDb2x1bW4gZ3JvdXAiOiAiQ29sdW1uIGdyb3VwIiwKIlJvdyI6ICJSb3ciLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiLAoiU3BsaXQgY2VsbCI6ICJTcGxpdCBjZWxsIiwKIkNlbGwgcGFkZGluZyI6ICJDZWxsIHBhZGRpbmciLAoiQ2VsbCBzcGFjaW5nIjogIkNlbGwgc3BhY2luZyIsCiJSb3cgdHlwZSI6ICJSb3cgdHlwZSIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJ0IHRhYmxlIiwKIkJvZHkiOiAiQm9keSIsCiJDYXB0aW9uIjogIkNhcHRpb24iLAoiRm9vdGVyIjogIkZvb3RlciIsCiJEZWxldGUgcm93IjogIkRlbGV0ZSByb3ciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJQYXN0ZSByb3cgYmVmb3JlIiwKIlNjb3BlIjogIlNjb3BlIiwKIkRlbGV0ZSB0YWJsZSI6ICJEZWxldGUgdGFibGUiLAoiSGVhZGVyIGNlbGwiOiAiSGVhZGVyIGNlbGwiLAoiQ29sdW1uIjogIkNvbHVtbiIsCiJDZWxsIjogIkNlbGwiLAoiSGVhZGVyIjogIkhlYWRlciIsCiJDZWxsIHR5cGUiOiAiQ2VsbCB0eXBlIiwKIkNvcHkgcm93IjogIkNvcHkgcm93IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJvdyBwcm9wZXJ0aWVzIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFibGUgcHJvcGVydGllcyIsCiJSb3cgZ3JvdXAiOiAiUm93IGdyb3VwIiwKIlJpZ2h0IjogIlJpZ2h0IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJ0IGNvbHVtbiBhZnRlciIsCiJDb2xzIjogIkNvbHMiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcnQgcm93IGFmdGVyIiwKIldpZHRoIjogIldpZHRoIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsIHByb3BlcnRpZXMiLAoiTGVmdCI6ICJMZWZ0IiwKIkN1dCByb3ciOiAiQ3V0IHJvdyIsCiJEZWxldGUgY29sdW1uIjogIkRlbGV0ZSBjb2x1bW4iLAoiQ2VudGVyIjogIkNlbnRyZSIsCiJNZXJnZSBjZWxscyI6ICJNZXJnZSBjZWxscyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJ0IHRlbXBsYXRlIiwKIlRlbXBsYXRlcyI6ICJUZW1wbGF0ZXMiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWNrZ3JvdW5kIGNvbG91ciIsCiJUZXh0IGNvbG9yIjogIlRleHQgY29sb3VyIiwKIlNob3cgYmxvY2tzIjogIlNob3cgYmxvY2tzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyIsCiJXb3JkczogezB9IjogIldvcmRzOiB7MH0iLAoiSW5zZXJ0IjogIkluc2VydCIsCiJGaWxlIjogIkZpbGUiLAoiRWRpdCI6ICJFZGl0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIiwKIlRvb2xzIjogIlRvb2xzIiwKIlZpZXciOiAiVmlldyIsCiJUYWJsZSI6ICJUYWJsZSIsCiJGb3JtYXQiOiAiRm9ybWF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/eo.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlbycsewoiQ3V0IjogIkVsdHJhblx1MDEwOWkiLAoiSGVhZGluZyA1IjogIlRpdG9sbyA1IiwKIkhlYWRlciAyIjogIlx1MDEwOGFwbyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZpYSByZXR1bWlsbyBuZSBzdWJ0ZW5hcyByZWt0YW4gYWxpcm9uIGFsIGJ1ZnJvLiBCb252b2x1IGFudGF0YVx1MDE2ZGUgdXppIGtsYXZhcmFqbiBrb21iaW5vam4gQ3RybCtYXC9DXC9WLiIsCiJIZWFkaW5nIDQiOiAiVGl0b2xvIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiVGl0b2xvIDIiLAoiUGFzdGUiOiAiRW5nbHVpIiwKIkNsb3NlIjogIkZlcm1pIiwKIkZvbnQgRmFtaWx5IjogIlRpcGFyYSBmYW1pbGlvIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiT3JkaWd1IGRla3N0cmVuIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZhIGRva3VtZW50byIsCiJCbG9ja3F1b3RlIjogIk1hclx1MDExZGVuaWdvIiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtZXJhIGxpc3RvIiwKIkhlYWRpbmcgMSI6ICJUaXRvbG8gMSIsCiJIZWFkaW5ncyI6ICJUaXRvbG9qIiwKIkluY3JlYXNlIGluZGVudCI6ICJQbGlpZ3UgYWxpbmVvbiIsCiJGb3JtYXRzIjogIkZvcm1hdG9qIiwKIkhlYWRlcnMiOiAiXHUwMTA4YXBvaiIsCiJTZWxlY3QgYWxsIjogIkVsZWt0aSBcdTAxMDlpb24iLAoiSGVhZGVyIDMiOiAiXHUwMTA4YXBvIDMiLAoiQmxvY2tzIjogIkJsb2tvaiIsCiJVbmRvIjogIk1hbGZhcmkiLAoiU3RyaWtldGhyb3VnaCI6ICJUcmFzdHJla2kiLAoiQnVsbGV0IGxpc3QiOiAiUHVua3RhIGxpc3RvIiwKIkhlYWRlciAxIjogIlx1MDEwOGFwbyAxIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyc2tyaWJpIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiRm9yaWdpIGZvcm1hdGlnb24iLAoiRm9udCBTaXplcyI6ICJUaXBhcmFqIGdyYW5kb2oiLAoiU3Vic2NyaXB0IjogIk1hbHN1cGVyc2tyaWJpIiwKIkhlYWRlciA2IjogIlx1MDEwOGFwbyA2IiwKIlJlZG8iOiAiUmVmYXJpIiwKIlBhcmFncmFwaCI6ICJBbGluZW8iLAoiT2siOiAiQm9uZSIsCiJCb2xkIjogIkRpa2EiLAoiQ29kZSI6ICJLb2RvIiwKIkl0YWxpYyI6ICJPYmxpa3ZhIiwKIkFsaWduIGNlbnRlciI6ICJPcmRpZ3UgY2VudHJlbiIsCiJIZWFkZXIgNSI6ICJcdTAxMDhhcG8gNSIsCiJIZWFkaW5nIDYiOiAiVGl0b2xvIDYiLAoiSGVhZGluZyAzIjogIlRpdG9sbyAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJNYWxwbGlpZ3UgYWxpbmVvbiIsCiJIZWFkZXIgNCI6ICJcdTAxMDhhcG8gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTGEgZW5nbHVhZG8gbnVuIG9rYXphcyBlbiBzaW1wbGEgdGVrc3RhIHJlXHUwMTFkaW1vLiBMYSBlbmhhdm8gZXN0b3MgZW5nbHVhdGEga2llbCBzaW1wbGEgdGVrc3RvIFx1MDExZGlzIGFudGFcdTAxNmQgdmkgZm9yXHUwMTVkYWx0b3MgdGl1biBcdTAxMDlpIG9wY2lvbi4iLAoiVW5kZXJsaW5lIjogIlN1YnN0cmVraSIsCiJDYW5jZWwiOiAiTnVsaWdpIiwKIkp1c3RpZnkiOiAiT3JkaWd1IGxhXHUwMTZkZmxhbmtlIiwKIklubGluZSI6ICJFbmxpbmllIiwKIkNvcHkiOiAiS29waWkiLAoiQWxpZ24gbGVmdCI6ICJPcmRpZ3UgbWFsZGVrc3RyZW4iLAoiVmlzdWFsIGFpZHMiOiAiVmlkZWJsYWogaGVscGlsb2oiLAoiTG93ZXIgR3JlZWsiOiAiTWludXNrbGEgZ3Jla2EiLAoiU3F1YXJlIjogIkt2YWRyYXRvIiwKIkRlZmF1bHQiOiAiSW1wbGljaXRlIiwKIkxvd2VyIEFscGhhIjogIk1pbnVza2xhIGFsZmFiZXRhIiwKIkNpcmNsZSI6ICJDaXJrbG8iLAoiRGlzYyI6ICJEaXNrbyIsCiJVcHBlciBBbHBoYSI6ICJNYWp1c2tsYSBhbGZhYmV0YSIsCiJVcHBlciBSb21hbiI6ICJNYWp1c2tsYSBsYXRpbmEiLAoiTG93ZXIgUm9tYW4iOiAiTWludXNrbGEgbGF0aW5hIiwKIk5hbWUiOiAiTm9tbyIsCiJBbmNob3IiOiAiQW5rcm8iLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJWaSBoYXZhcyBuZWtvbnNlcnZpdGFqbiBcdTAxNWRhblx1MDExZG9qbiwgXHUwMTA5dSB2aSBjZXJ0ZSBkZXppcmFzIGVsaXJpPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdGFyaWd1IGxhc3RhbiBtYWxuZXRvbiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJTcGVjaWFsYSBrYXJha3RybyIsCiJTb3VyY2UgY29kZSI6ICJGb250YSBrb2RvIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIktvbG9ybyIsCiJSaWdodCB0byBsZWZ0IjogIkRla3N0cm8gbWFsZGVrc3RyZW4iLAoiTGVmdCB0byByaWdodCI6ICJNYWxkZWtzdHJvIGRla3N0cmVuIiwKIkVtb3RpY29ucyI6ICJFbW9jaWlrb25vaiIsCiJSb2JvdHMiOiAiUm9ib3RvaiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50YWogdHJhanRvaiIsCiJUaXRsZSI6ICJUaXRvbG8iLAoiS2V5d29yZHMiOiAiXHUwMTVjbG9zaWx2b3J0b2oiLAoiRW5jb2RpbmciOiAiRW5rb2RpZ28iLAoiRGVzY3JpcHRpb24iOiAiUHJpc2tyaWJvIiwKIkF1dGhvciI6ICJBXHUwMTZkdG9ybyIsCiJGdWxsc2NyZWVuIjogIlR1dGVrcmFuZSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbGEgbGluaW8iLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsYSBzcGFjbyIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiRW5tZXR1XC9yZWRha3R1IGJpbGRvbiIsCiJHZW5lcmFsIjogIlx1MDExY2VuZXJhbGUiLAoiQWR2YW5jZWQiOiAiUG9yIHNwZXJ0dWxvaiIsCiJTb3VyY2UiOiAiRm9udG8iLAoiQm9yZGVyIjogIkxpbW8iLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlJlbGF0aXZpZ3UgcHJvcG9yY2lvam4iLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWxhIHNwYWNvIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkJpbGRhIHByaXNrcmlibyIsCiJTdHlsZSI6ICJTdGlsbyIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvaiIsCiJJbnNlcnQgaW1hZ2UiOiAiRW5tZXR1IGJpbGRvbiIsCiJab29tIGluIjogIlBsaWxhclx1MDExZGlndSIsCiJDb250cmFzdCI6ICJLb250cmFzdG8iLAoiQmFjayI6ICJSZWVuIiwKIkdhbW1hIjogIkdhbW8iLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUmVzcGVndWx1IGhvcml6b250YWxlIiwKIlJlc2l6ZSI6ICJcdTAxNWNhblx1MDExZHUgZGltZW5zaW9qbiIsCiJTaGFycGVuIjogIkFrcmlndSIsCiJab29tIG91dCI6ICJNYWxwbGlsYXJcdTAxMWRpZ3UiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJCaWxkYWogb3BjaW9qIiwKIkFwcGx5IjogIkFwbGlrdSIsCiJCcmlnaHRuZXNzIjogIkhlbGVjbyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlJvdGFjaXUgbGFcdTAxNmQgaG9ybG9cdTAxMWRvIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGFjaXUga29udHJhXHUwMTZkIGhvcmxvXHUwMTFkbyIsCiJFZGl0IGltYWdlIjogIlJlZGFrdHUgYmlsZG9uIiwKIkNvbG9yIGxldmVscyI6ICJLb2xvcm5pdmVsb2oiLAoiQ3JvcCI6ICJSYW5kdHJhblx1MDEwOXUiLAoiT3JpZW50YXRpb24iOiAiT3JpZW50aWdvIiwKIkZsaXAgdmVydGljYWxseSI6ICJSZXNwZWd1bHUgdmVydGlrYWxlIiwKIkludmVydCI6ICJJbnZlcnNpZ3UiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiRW5tZXR1IGRhdG9uXC90ZW1wb24iLAoiUmVtb3ZlIGxpbmsiOiAiRm9yaWd1IGxpZ2lsb24iLAoiVXJsIjogIlVybG8iLAoiVGV4dCB0byBkaXNwbGF5IjogIk1vbnRyYXRhIHRla3N0byIsCiJBbmNob3JzIjogIkFua3JvaiIsCiJJbnNlcnQgbGluayI6ICJFbm1ldHUgbGlnaWxvbiIsCiJOZXcgd2luZG93IjogIk5vdmEgZmVuZXN0cm8iLAoiTm9uZSI6ICJOZW5pbyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiTGEgZW5tZXRpdGEgVVJMbyBcdTAxNWRham5hcyBlc3RpIGVrc3RlcmEgbGlnaWxvLiBcdTAxMDh1IHZpIGRlemlyYXMgYWxkb25pIG5lcHJhbiBwcmVmaWtzb24gaHR0cDpcL1wvPyIsCiJUYXJnZXQiOiAiQ2VsbyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkxhIGVubWV0aXRhIFVSTG8gXHUwMTVkYWpuYXMgZXN0aSByZXRhZHJlc28uIFx1MDEwOHUgdmkgZGV6aXJhcyBhbGRvbmkgcHJlZmlrc29uIG1haWx0bzo/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkVubWV0dVwvcmVkYWt0dSBsaWdpbG9uIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJFbm1ldHVcL3JlZGFrdHUgdmlkZW9uIiwKIlBvc3RlciI6ICJBZmlcdTAxNWRvIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2YSBmb250byIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkVuZ2x1dSB2aWFuIGludGVybmFuIGtvZG9uIFx1MDEwOWktc3ViZToiLAoiSW5zZXJ0IHZpZGVvIjogIkVubWV0dSB2aWRlb24iLAoiRW1iZWQiOiAiRW5rb25zdHJ1dSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOZXJvbXBlYmxhIHNwYWNvIiwKIlBhZ2UgYnJlYWsiOiAiUGFcdTAxMWRhIGZpbm8iLAoiUGFzdGUgYXMgdGV4dCI6ICJFbmdsdXUga2llbCB0ZWtzdG9uIiwKIlByZXZpZXciOiAiUHJvdnJpZ2FyZG8iLAoiUHJpbnQiOiAiUHJlc3UiLAoiU2F2ZSI6ICJLb25zZXJ2aSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiTWFsc3VrY2VzbyB0cm92aSBsYSBpbmRpa2l0YW4gc2luc2Vrdm9uIiwKIlJlcGxhY2UiOiAiQW5zdGF0YVx1MDE2ZGlnaSIsCiJOZXh0IjogIlBvc3RhIiwKIldob2xlIHdvcmRzIjogIlR1dGFqIHZvcnRvaiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlRyb3ZpIGthaiBhbnN0YXRhXHUwMTZkaWdpIiwKIlJlcGxhY2Ugd2l0aCI6ICJBbnN0YXRhXHUwMTZkaWdpIHBlciIsCiJGaW5kIjogIlRyb3ZpIiwKIlJlcGxhY2UgYWxsIjogIkFuc3RhdGFcdTAxNmRpZ2lcdTAxMDlpb24iLAoiTWF0Y2ggY2FzZSI6ICJTZWt2aSB1c2tsZWNvbiIsCiJQcmV2IjogIkFudGFcdTAxNmRhIiwKIlNwZWxsY2hlY2siOiAiTGl0ZXJ1bXUiLAoiRmluaXNoIjogIkZpbnUiLAoiSWdub3JlIGFsbCI6ICJJZ25vcnUgXHUwMTA5aW9uIiwKIklnbm9yZSI6ICJJZ25vcnUiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQWxkb251IGFsIHZvcnRhcm8iLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiRW5tZXR1IHZpY29uIGFudGFcdTAxNmQiLAoiUm93cyI6ICJWaWNvaiIsCiJIZWlnaHQiOiAiQWx0byIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiRW5nbHV1IHZpY29uIHBvc3RlIiwKIkFsaWdubWVudCI6ICJBbGlnbyIsCiJCb3JkZXIgY29sb3IiOiAiTGltYSBrb2xvcm8iLAoiQ29sdW1uIGdyb3VwIjogIktvbHVtbmEgZ3J1cG8iLAoiUm93IjogIlZpY28iLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiRW5tZXR1IGtvbHVtbm9uIGFudGFcdTAxNmQiLAoiU3BsaXQgY2VsbCI6ICJEaXNkaXZpZHUgXHUwMTA5ZWxvbiIsCiJDZWxsIHBhZGRpbmciOiAiXHUwMTA4ZWxtYXJcdTAxMWRlbm9qIiwKIkNlbGwgc3BhY2luZyI6ICJcdTAxMDhlbHNwYWNvaiIsCiJSb3cgdHlwZSI6ICJWaWNhIHRpcG8iLAoiSW5zZXJ0IHRhYmxlIjogIkVubWV0dSB0YWJlbG9uIiwKIkJvZHkiOiAiS29ycG8iLAoiQ2FwdGlvbiI6ICJDaXRhXHUwMTM1byIsCiJGb290ZXIiOiAiUGllZG8iLAoiRGVsZXRlIHJvdyI6ICJGb3JpZ3Ugdmljb24iLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJFbmdsdXUgdmljb24gYW50YVx1MDE2ZCIsCiJTY29wZSI6ICJBbXBsZWtzbyIsCiJEZWxldGUgdGFibGUiOiAiRm9yaWd1IHRhYmVsb24iLAoiSCBBbGlnbiI6ICJIIGFsaWdvIiwKIlRvcCI6ICJTdXBybyIsCiJIZWFkZXIgY2VsbCI6ICJcdTAxMDhhcGEgXHUwMTA5ZWxvIiwKIkNvbHVtbiI6ICJLb2x1bW5vIiwKIlJvdyBncm91cCI6ICJWaWNhIGdydXBvIiwKIkNlbGwiOiAiXHUwMTA4ZWxvIiwKIk1pZGRsZSI6ICJNZXpvIiwKIkNlbGwgdHlwZSI6ICJcdTAxMDhlbGEgdGlwbyIsCiJDb3B5IHJvdyI6ICJLb3BpdSB2aWNvbiIsCiJSb3cgcHJvcGVydGllcyI6ICJWaWNhaiBlY29qIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWxhaiBlY29qIiwKIkJvdHRvbSI6ICJTdWJvIiwKIlYgQWxpZ24iOiAiViBhbGlnbyIsCiJIZWFkZXIiOiAiXHUwMTA4YXBvIiwKIlJpZ2h0IjogIkRla3N0cm8iLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJFbm1ldHUga29sdW1ub24gcG9zdGUiLAoiQ29scyI6ICJLb2x1bW9ub2oiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJFbm1ldHUgdmljb24gcG9zdGUiLAoiV2lkdGgiOiAiTGFyXHUwMTFkbyIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwMTA4ZWxhaiBlY29qIiwKIkxlZnQiOiAiTWFsZGVrc3RybyIsCiJDdXQgcm93IjogIkVsdHJhblx1MDEwOXUgdmljb24iLAoiRGVsZXRlIGNvbHVtbiI6ICJGb3JpZ3Uga29sdW1ub24iLAoiQ2VudGVyIjogIkNlbnRybyIsCiJNZXJnZSBjZWxscyI6ICJLdW5pZ3UgXHUwMTA5ZWxvam4iLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkVubWV0dSBcdTAxNWRhYmxvbm9uIiwKIlRlbXBsYXRlcyI6ICJcdTAxNWNhYmxvbm9qIiwKIkJhY2tncm91bmQgY29sb3IiOiAiRm9uYSBrb2xvcm8iLAoiQ3VzdG9tLi4uIjogIlByb3ByYS4uLiIsCiJDdXN0b20gY29sb3IiOiAiUHJvcHJhIGtvbG9ybyIsCiJObyBjb2xvciI6ICJOZW5pdSBrb2xvcm8iLAoiVGV4dCBjb2xvciI6ICJUZWtzdGEga29sb3JvIiwKIlNob3cgYmxvY2tzIjogIk1vbnRydSBibG9rb2puIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTW9udHJ1IG5ldmlkZWJsYWpuIGthcmFrdHJvam4iLAoiV29yZHM6IHswfSI6ICJWb3J0b2o6IHswfSIsCiJJbnNlcnQiOiAiRW5tZXRpIiwKIkZpbGUiOiAiRG9rdW1lbnRvIiwKIkVkaXQiOiAiUmVkYWt0aSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaVx1MDEwOXRla3N0YSBBcmVvLiBQcmVtdSBBTFQtRjkgcG9yIG1lbnVvLiBQcmVtdSBBTFQtRjEwIHBvciBtZW51ZWpvLiBQcmVtdSBBTFQtMCBwb3IgaGVscG8iLAoiVG9vbHMiOiAiSWxvaiIsCiJWaWV3IjogIlZpZGkiLAoiVGFibGUiOiAiVGFiZWxvIiwKIkZvcm1hdCI6ICJBc3Bla3RpZ2kiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/es.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlcycsewoiQ3V0IjogIkNvcnRhciIsCiJIZWFkaW5nIDUiOiAiRW5jYWJlemFkbyA1IiwKIkhlYWRlciAyIjogIkVuY2FiZXphZG8gMiAiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVHUgbmF2ZWdhZG9yIG5vIHNvcG9ydGEgYWNjZXNvIGRpcmVjdG8gYWwgcG9ydGFwYXBlbGVzLiBQb3IgZmF2b3IgdXNhIGxhcyB0ZWNsYXMgQ3J0bCtYXC9DXC9WIGRlIHR1IHRlY2xhZG8iLAoiSGVhZGluZyA0IjogIkVuY2FiZXphZG8gNCIsCiJEaXYiOiAiQ2FwYSIsCiJIZWFkaW5nIDIiOiAiRW5jYWJlemFkbyAyIiwKIlBhc3RlIjogIlBlZ2FyIiwKIkNsb3NlIjogIkNlcnJhciIsCiJGb250IEZhbWlseSI6ICJGYW1pbGlhIGRlIGZ1ZW50ZXMiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJBbGluZWFyIGEgbGEgZGVyZWNoYSIsCiJOZXcgZG9jdW1lbnQiOiAiTnVldm8gZG9jdW1lbnRvIiwKIkJsb2NrcXVvdGUiOiAiQmxvcXVlIGRlIGNpdGEiLAoiTnVtYmVyZWQgbGlzdCI6ICJMaXN0YSBudW1lcmFkYSIsCiJIZWFkaW5nIDEiOiAiRW5jYWJlemFkbyAxIiwKIkhlYWRpbmdzIjogIkVuY2FiZXphZG9zIiwKIkluY3JlYXNlIGluZGVudCI6ICJJbmNyZW1lbnRhciBzYW5nclx1MDBlZGEiLAoiRm9ybWF0cyI6ICJGb3JtYXRvcyIsCiJIZWFkZXJzIjogIkVuY2FiZXphZG9zIiwKIlNlbGVjdCBhbGwiOiAiU2VsZWNjaW9uYXIgdG9kbyIsCiJIZWFkZXIgMyI6ICJFbmNhYmV6YWRvIDMiLAoiQmxvY2tzIjogIkJsb3F1ZXMiLAoiVW5kbyI6ICJEZXNoYWNlciIsCiJTdHJpa2V0aHJvdWdoIjogIlRhY2hhZG8iLAoiQnVsbGV0IGxpc3QiOiAiTGlzdGEgZGUgdmlcdTAwZjFldGFzIiwKIkhlYWRlciAxIjogIkVuY2FiZXphZG8gMSIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlclx1MDBlZG5kaWNlIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiTGltcGlhciBmb3JtYXRvIiwKIkZvbnQgU2l6ZXMiOiAiVGFtYVx1MDBmMW9zIGRlIGZ1ZW50ZSIsCiJTdWJzY3JpcHQiOiAiU3ViXHUwMGVkbmRpY2UiLAoiSGVhZGVyIDYiOiAiRW5jYWJlemFkbyA2IiwKIlJlZG8iOiAiUmVoYWNlciIsCiJQYXJhZ3JhcGgiOiAiUFx1MDBlMXJyYWZvIiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiTmVncml0YSIsCiJDb2RlIjogIkNcdTAwZjNkaWdvIiwKIkl0YWxpYyI6ICJJdFx1MDBlMWxpY2EiLAoiQWxpZ24gY2VudGVyIjogIkFsaW5lYXIgYWwgY2VudHJvIiwKIkhlYWRlciA1IjogIkVuY2FiZXphZG8gNSAiLAoiSGVhZGluZyA2IjogIkVuY2FiZXphZG8gNiIsCiJIZWFkaW5nIDMiOiAiRW5jYWJlemFkbyAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJEaXNtaW51aXIgc2FuZ3JcdTAwZWRhIiwKIkhlYWRlciA0IjogIkVuY2FiZXphZG8gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiUGVnYXIgZXN0XHUwMGUxIGFob3JhIGVuIG1vZG8gZGUgdGV4dG8gcGxhbm8uIEVsIGNvbnRlbmlkbyBzZSBwZWdhclx1MDBlMSBjb21vIHRleHRvIHBsYW5vIGhhc3RhIHF1ZSBkZXNhY3RpdmUgZXN0YSBvcGNpXHUwMGYzbi4iLAoiVW5kZXJsaW5lIjogIlN1YnJheWFkbyIsCiJDYW5jZWwiOiAiQ2FuY2VsYXIiLAoiSnVzdGlmeSI6ICJKdXN0aWZpY2FyIiwKIklubGluZSI6ICJlbiBsXHUwMGVkbmVhIiwKIkNvcHkiOiAiQ29waWFyIiwKIkFsaWduIGxlZnQiOiAiQWxpbmVhciBhIGxhIGl6cXVpZXJkYSIsCiJWaXN1YWwgYWlkcyI6ICJBeXVkYXMgdmlzdWFsZXMiLAoiTG93ZXIgR3JlZWsiOiAiSW5mZXJpb3IgR3JpZWdhIiwKIlNxdWFyZSI6ICJDdWFkcmFkbyIsCiJEZWZhdWx0IjogIlBvciBkZWZlY3RvIiwKIkxvd2VyIEFscGhhIjogIkluZmVyaW9yIEFsZmEiLAoiQ2lyY2xlIjogIkNcdTAwZWRyY3VsbyIsCiJEaXNjIjogIkRpc2NvIiwKIlVwcGVyIEFscGhhIjogIlN1cGVyaW9yIEFsZmEiLAoiVXBwZXIgUm9tYW4iOiAiU3VwZXJpb3IgUm9tYW5hIiwKIkxvd2VyIFJvbWFuIjogIkluZmVyaW9yIFJvbWFuYSIsCiJOYW1lIjogIk5vbWJyZSIsCiJBbmNob3IiOiAiQW5jbGEiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJUaWVuZSBjYW1iaW9zIHNpbiBndWFyZGFyLiBcdTAwYmZFc3RcdTAwZTEgc2VndXJvIGRlIHF1ZSBxdWllcmUgc2FsaXI/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0YXVyYXIgZWwgXHUwMGZhbHRpbW8gYm9ycmFkb3IiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyXHUwMGUxY3RlciBlc3BlY2lhbCIsCiJTb3VyY2UgY29kZSI6ICJDXHUwMGYzZGlnbyBmdWVudGUiLAoiQiI6ICJBIiwKIlIiOiAiUiIsCiJHIjogIlYiLAoiQ29sb3IiOiAiQ29sb3IiLAoiUmlnaHQgdG8gbGVmdCI6ICJEZSBkZXJlY2hhIGEgaXpxdWllcmRhIiwKIkxlZnQgdG8gcmlnaHQiOiAiRGUgaXpxdWllcmRhIGEgZGVyZWNoYSIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25vcyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGVsIGRvY3VtZW50byIsCiJUaXRsZSI6ICJUXHUwMGVkdHVsbyIsCiJLZXl3b3JkcyI6ICJQYWxhYnJhcyBjbGF2ZSIsCiJFbmNvZGluZyI6ICJDb2RpZmljYWNpXHUwMGYzbiIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwY2lcdTAwZjNuIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIlBhbnRhbGxhIGNvbXBsZXRhIiwKIkhvcml6b250YWwgbGluZSI6ICJMXHUwMGVkbmVhIGhvcml6b250YWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJFc3BhY2lvIGhvcml6b250YWwiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc2VydGFyXC9lZGl0YXIgaW1hZ2VuIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuemFkbyIsCiJTb3VyY2UiOiAiRW5sYWNlIiwKIkJvcmRlciI6ICJCb3JkZSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiUmVzdHJpbmdpciBwcm9wb3JjaW9uZXMiLAoiVmVydGljYWwgc3BhY2UiOiAiRXNwYWNpbyB2ZXJ0aWNhbCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEZXNjcmlwY2lcdTAwZjNuIGRlIGxhIGltYWdlbiIsCiJTdHlsZSI6ICJFc3RpbG8iLAoiRGltZW5zaW9ucyI6ICJEaW1lbnNpb25lcyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJ0YXIgaW1hZ2VuIiwKIlpvb20gaW4iOiAiQWNlcmNhciIsCiJDb250cmFzdCI6ICJDb250cmFzdGUiLAoiQmFjayI6ICJBdHJcdTAwZTFzIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkludmVydGlyIGhvcml6b250YWxtZW50ZSIsCiJSZXNpemUiOiAiUmVkaW1lbnNpb25hciIsCiJTaGFycGVuIjogIkZvcm1hIiwKIlpvb20gb3V0IjogIkFsZWphciIsCiJJbWFnZSBvcHRpb25zIjogIk9wY2lvbmVzIGRlIGltYWdlbiIsCiJBcHBseSI6ICJBcGxpY2FyIiwKIkJyaWdodG5lc3MiOiAiQnJpbGxvIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiR2lyYXIgYSBsYSBkZXJlY2hhIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIkdpcmFyIGEgbGEgaXpxdWllcmRhIiwKIkVkaXQgaW1hZ2UiOiAiRWRpdGFyIGltYWdlbiIsCiJDb2xvciBsZXZlbHMiOiAiTml2ZWxlcyBkZSBjb2xvciIsCiJDcm9wIjogIlJlY29ydGFyIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFjaVx1MDBmM24iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIkludmVydGlyIHZlcnRpY2FsbWVudGUiLAoiSW52ZXJ0IjogIkludmVydGlyIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VydGFyIGZlY2hhXC9ob3JhIiwKIlJlbW92ZSBsaW5rIjogIlF1aXRhciBlbmxhY2UiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dG8gcGFyYSBtb3N0cmFyIiwKIkFuY2hvcnMiOiAiQW5jbGFzIiwKIkluc2VydCBsaW5rIjogIkluc2VydGFyIGVubGFjZSIsCiJOZXcgd2luZG93IjogIk51ZXZhIHZlbnRhbmEiLAoiTm9uZSI6ICJOaW5ndW5vIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJFbCBlbmxhY2UgcXVlIGhhcyBpbnRyb2R1Y2lkbyBubyBwYXJlY2Ugc2VyIHVuYSBlbmxhY2UgZXh0ZXJuby4gUXVpZXJlcyBhXHUwMGYxYWRpciBlbCBwcmVmaWpvIG5lY2VzYXJpbyBodHRwOlwvXC8gPyIsCiJUYXJnZXQiOiAiRGVzdGlubyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkVsIGVubGFjZSBxdWUgaGFzIGludHJvZHVjaWRvIG5vIHBhcmVjZSBzZXIgdW5hIGRpcmVjY2lcdTAwZjNuIGRlIGNvcnJlbyBlbGVjdHJcdTAwZjNuaWNvLiBRdWllcmVzIGFcdTAwZjFhZGlyIGVsIHByZWZpam8gbmVjZXNhcmlvIG1haWx0bzogPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcnRhclwvZWRpdGFyIGVubGFjZSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJ0YXJcL2VkaXRhciB2aWRlbyIsCiJQb3N0ZXIiOiAiTWluaWF0dXJhIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJFbmxhY2UgYWx0ZXJuYXRpdm8iLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJQZWdhIHR1IGNcdTAwZjNkaWdvIGVtYmViaWRvIGRlYmFqbyIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJ0YXIgdmlkZW8iLAoiRW1iZWQiOiAiSW5jcnVzdGFkbyIsCiJOb25icmVha2luZyBzcGFjZSI6ICJFc3BhY2lvIGZpam8iLAoiUGFnZSBicmVhayI6ICJTYWx0byBkZSBwXHUwMGUxZ2luYSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlBlZ2FyIGNvbW8gdGV4dG8iLAoiUHJldmlldyI6ICJQcmV2aXN1YWxpemFyIiwKIlByaW50IjogIkltcHJpbWlyIiwKIlNhdmUiOiAiR3VhcmRhciIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiTm8gc2UgZW5jdWVudHJhIGxhIGNhZGVuYSBkZSB0ZXh0byBlc3BlY2lmaWNhZGEiLAoiUmVwbGFjZSI6ICJSZWVtcGxhemFyIiwKIk5leHQiOiAiU2lndWllbnRlIiwKIldob2xlIHdvcmRzIjogIlBhbGFicmFzIGNvbXBsZXRhcyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkJ1c2NhciB5IHJlZW1wbGF6YXIiLAoiUmVwbGFjZSB3aXRoIjogIlJlZW1wbGF6YXIgY29uIiwKIkZpbmQiOiAiQnVzY2FyIiwKIlJlcGxhY2UgYWxsIjogIlJlZW1wbGF6YXIgdG9kbyIsCiJNYXRjaCBjYXNlIjogIkNvaW5jaWRlbmNpYSBleGFjdGEiLAoiUHJldiI6ICJBbnRlcmlvciIsCiJTcGVsbGNoZWNrIjogIkNvcnJlY3RvciBvcnRvZ3JcdTAwZTFmaWNvIiwKIkZpbmlzaCI6ICJGaW5hbGl6YXIiLAoiSWdub3JlIGFsbCI6ICJJZ25vcmFyIHRvZG9zIiwKIklnbm9yZSI6ICJJZ25vcmFyIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkFcdTAwZjFhZGlyIGFsIERpY2Npb25hcmlvIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VydGFyIGZpbGEgYW50ZXMiLAoiUm93cyI6ICJGaWxhcyIsCiJIZWlnaHQiOiAiQWx0byIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiUGVnYXIgbGEgZmlsYSBkZXNwdVx1MDBlOXMiLAoiQWxpZ25tZW50IjogIkFsaW5lYWNpXHUwMGYzbiIsCiJCb3JkZXIgY29sb3IiOiAiQ29sb3IgZGVsIGJvcmRlIiwKIkNvbHVtbiBncm91cCI6ICJHcnVwbyBkZSBjb2x1bW5hcyIsCiJSb3ciOiAiRmlsYSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcnRhciBjb2x1bW5hIGFudGVzIiwKIlNwbGl0IGNlbGwiOiAiRGl2aWRpciBjZWxkYXMiLAoiQ2VsbCBwYWRkaW5nIjogIlJlbGxlbm8gZGUgY2VsZGEiLAoiQ2VsbCBzcGFjaW5nIjogIkVzcGFjaW8gZW50cmUgY2VsZGFzIiwKIlJvdyB0eXBlIjogIlRpcG8gZGUgZmlsYSIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJ0YXIgdGFibGEiLAoiQm9keSI6ICJDdWVycG8iLAoiQ2FwdGlvbiI6ICJTdWJ0XHUwMGVkdHVsbyIsCiJGb290ZXIiOiAiUGllIGRlIHBcdTAwZTFnaW5hIiwKIkRlbGV0ZSByb3ciOiAiRWxpbWluYXIgZmlsYSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBlZ2FyIGxhIGZpbGEgYW50ZXMiLAoiU2NvcGUiOiAiXHUwMGMxbWJpdG8iLAoiRGVsZXRlIHRhYmxlIjogIkVsaW1pbmFyIHRhYmxhIiwKIkggQWxpZ24iOiAiQWxpbmVhbWllbnRvIEhvcml6b250YWwiLAoiVG9wIjogIkFycmliYSIsCiJIZWFkZXIgY2VsbCI6ICJDZWxkYSBkZSBsYSBjZWJlY2VyYSIsCiJDb2x1bW4iOiAiQ29sdW1uYSIsCiJSb3cgZ3JvdXAiOiAiR3J1cG8gZGUgZmlsYXMiLAoiQ2VsbCI6ICJDZWxkYSIsCiJNaWRkbGUiOiAiQ2VudHJvIiwKIkNlbGwgdHlwZSI6ICJUaXBvIGRlIGNlbGRhIiwKIkNvcHkgcm93IjogIkNvcGlhciBmaWxhIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlByb3BpZWRhZGVzIGRlIGxhIGZpbGEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJQcm9waWVkYWRlcyBkZSBsYSB0YWJsYSIsCiJCb3R0b20iOiAiQWJham8iLAoiViBBbGlnbiI6ICJBbGluZWFtaWVudG8gVmVydGljYWwiLAoiSGVhZGVyIjogIkNhYmVjZXJhIiwKIlJpZ2h0IjogIkRlcmVjaGEiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcnRhciBjb2x1bW5hIGRlc3B1XHUwMGU5cyIsCiJDb2xzIjogIkNvbHVtbmFzIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJ0YXIgZmlsYSBkZXNwdVx1MDBlOXMgIiwKIldpZHRoIjogIkFuY2hvIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9waWVkYWRlcyBkZSBsYSBjZWxkYSIsCiJMZWZ0IjogIkl6cXVpZXJkYSIsCiJDdXQgcm93IjogIkNvcnRhciBmaWxhIiwKIkRlbGV0ZSBjb2x1bW4iOiAiRWxpbWluYXIgY29sdW1uYSIsCiJDZW50ZXIiOiAiQ2VudHJhZG8iLAoiTWVyZ2UgY2VsbHMiOiAiQ29tYmluYXIgY2VsZGFzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcnRhciBwbGFudGlsbGEiLAoiVGVtcGxhdGVzIjogIlBsYW50aWxsYXMiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJDb2xvciBkZSBmb25kbyIsCiJDdXN0b20uLi4iOiAiUGVyc29uYWxpemFyLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJDb2xvciBwZXJzb25hbGl6YWRvIiwKIk5vIGNvbG9yIjogIlNpbiBjb2xvciIsCiJUZXh0IGNvbG9yIjogIkNvbG9yIGRlbCB0ZXh0byIsCiJTaG93IGJsb2NrcyI6ICJNb3N0cmFyIGJsb3F1ZXMiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJNb3N0cmFyIGNhcmFjdGVyZXMgaW52aXNpYmxlcyIsCiJXb3JkczogezB9IjogIlBhbGFicmFzOiB7MH0iLAoiSW5zZXJ0IjogIkluc2VydGFyIiwKIkZpbGUiOiAiQXJjaGl2byIsCiJFZGl0IjogIkVkaXRhciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTAwYzFyZWEgZGUgdGV4dG8gZW5yaXF1ZWNpZG8uIFB1bHNlIEFMVC1GOSBwYXJhIGVsIG1lbnUuIFB1bHNlIEFMVC1GMTAgcGFyYSBsYSBiYXJyYSBkZSBoZXJyYW1pZW50YXMuIFB1bHNlIEFMVC0wIHBhcmEgYXl1ZGEiLAoiVG9vbHMiOiAiSGVycmFtaWVudGFzIiwKIlZpZXciOiAiVmVyIiwKIlRhYmxlIjogIlRhYmxhIiwKIkZvcm1hdCI6ICJGb3JtYXRvIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/es_MX.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdlc19NWCcsewoiQ3V0IjogIkNvcnRhciIsCiJIZWFkaW5nIDUiOiAiRW5jYWJlemFkb3MgNSIsCiJIZWFkZXIgMiI6ICJFbmNhYmV6YWRvIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiU3UgbmF2ZWdhZG9yIG5vIHNvcG9ydGEgYWNjZXNvIGRpcmVjdG8gYWwgcG9ydGFwYXBlbGVzLiBQb3IgZmF2b3IgaGFnYSB1c28gZGUgbGEgY29tYmluYWNpXHUwMGYzbiBkZSB0ZWNsYXMgQ3RybCtYIHBhcmEgY29ydGFyLCBDdHJsK0MgcGFyYSBjb3BpYXIgeSBDdHJsK1YgcGFyYSBwZWdhciBjb24gZWwgdGVjbGFkby4gIiwKIkhlYWRpbmcgNCI6ICJFbmNhYmV6YWRvcyA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIkVuY2FiZXphZG9zIDIiLAoiUGFzdGUiOiAiUGVnYXIiLAoiQ2xvc2UiOiAiQ2VycmFyIiwKIkZvbnQgRmFtaWx5IjogIlRpcG8gZGUgbGV0cmEiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJBbGluZWFyIGEgbGEgZGVyZWNoYSIsCiJOZXcgZG9jdW1lbnQiOiAiTnVldm8gZG9jdW1lbnRvIiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJOdW1iZXJlZCBsaXN0IjogIkxpc3RhIG51bWVyYWRhIiwKIkhlYWRpbmcgMSI6ICJFbmNhYmV6YWRvcyAxIiwKIkhlYWRpbmdzIjogIkVuY2FiZXphZG9zIiwKIkluY3JlYXNlIGluZGVudCI6ICJJbmNyZW1lbnRhciBpZGVudGFkbyIsCiJGb3JtYXRzIjogIkZvcm1hdG8iLAoiSGVhZGVycyI6ICJFbmNhYmV6YWRvIiwKIlNlbGVjdCBhbGwiOiAiU2VsZWNjaW9uYXIgdG9kbyIsCiJIZWFkZXIgMyI6ICJFbmNhYmV6YWRvIDMiLAoiQmxvY2tzIjogIkJsb3F1ZSIsCiJVbmRvIjogIlJlaGFjZXIiLAoiU3RyaWtldGhyb3VnaCI6ICJUYWNoYWRvIiwKIkJ1bGxldCBsaXN0IjogIkxpc3RhIGRlIHZpXHUwMGYxZXRhIiwKIkhlYWRlciAxIjogIkVuY2FiZXphZG8gMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTAwY2RuZGljZSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkxpbXBpYXIgZm9ybWF0byIsCiJGb250IFNpemVzIjogIlRhbWFcdTAwZjFvIGRlIGxldHJhIiwKIlN1YnNjcmlwdCI6ICJTdWJcdTAwZWRuZGljZSIsCiJIZWFkZXIgNiI6ICJFbmNhYmV6YWRvIDYiLAoiUmVkbyI6ICJEZXNoYWNlciIsCiJQYXJhZ3JhcGgiOiAiUFx1MDBlMXJyYWZvIiwKIk9rIjogIkFjZXB0YXIiLAoiQm9sZCI6ICJOZWdyaXRhIiwKIkNvZGUiOiAiQ1x1MDBmM2RpZ28iLAoiSXRhbGljIjogIkN1cnNpdmEiLAoiQWxpZ24gY2VudGVyIjogIkNlbnRyYXIiLAoiSGVhZGVyIDUiOiAiRW5jYWJlemFkbyA1IiwKIkhlYWRpbmcgNiI6ICJFbmNhYmV6YWRvcyA2IiwKIkhlYWRpbmcgMyI6ICJFbmNhYmV6YWRvcyAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJEZWNyZW1lbnRhciBpZGVudGFkbyIsCiJIZWFkZXIgNCI6ICJFbmNhYmV6YWRvIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlNlIHBlZ2FyXHUwMGUxIGVuIHRleHRvIHBsYW5vLiBFbCBjb250ZW5pZG8gc2UgcGVnYXJcdTAwZTEgY29tbyB0ZXh0byBwbGFubyBoYXN0YSBxdWUgZGVzYWN0aXZlIGVzdGEgb3BjaVx1MDBmM24uIiwKIlVuZGVybGluZSI6ICJTdWJyYXlhZG8iLAoiQ2FuY2VsIjogIkNhbmNlbGFyIiwKIkp1c3RpZnkiOiAiSnVzdGlmaWNhciIsCiJJbmxpbmUiOiAiRW4gbFx1MDBlZG5lYSIsCiJDb3B5IjogIkNvcGlhciIsCiJBbGlnbiBsZWZ0IjogIkFsaW5lYXIgYSBsYSBpenF1aWVyZGEiLAoiVmlzdWFsIGFpZHMiOiAiQXl1ZGEgdmlzdWFsIiwKIkxvd2VyIEdyZWVrIjogIkdyaWVnYSBtaW5cdTAwZmFzY3VsYSIsCiJTcXVhcmUiOiAiQ3VhZHJvIiwKIkRlZmF1bHQiOiAiUG9yIGRlZmVjdG8iLAoiTG93ZXIgQWxwaGEiOiAiQWxmYSBtaW5cdTAwZmFzY3VsYSIsCiJDaXJjbGUiOiAiQ2lyY3VsbyIsCiJEaXNjIjogIkRpc2NvIiwKIlVwcGVyIEFscGhhIjogIkFsZmEgbWF5XHUwMGZhc2N1bGEiLAoiVXBwZXIgUm9tYW4iOiAiTWF5dXNjdWxhIFJvbWFuYSIsCiJMb3dlciBSb21hbiI6ICJSb21hbm8gbWluXHUwMGZhc2N1bGEiLAoiTmFtZSI6ICJOb21icmUiLAoiQW5jaG9yIjogIkFuY2xhciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk5vIHNlICBoYW4gZ3VhcmRhZG8gbG9zIGNhbWJpb3MuIFx1MDBiZlNlZ3VybyBxdWUgZGVzZWEgYWJhbmRvbmFyIGxhIHBhZ2luYT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlJlc3RhdXJhciBlbCB1bHRpbW8gYm9ycmFkb3IiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyYWN0ZXIgZXNwZWNpYWwiLAoiU291cmNlIGNvZGUiOiAiQ1x1MDBmM2RpZ28gZnVlbnRlIiwKIkNvbG9yIjogIkNvbG9yIiwKIlJpZ2h0IHRvIGxlZnQiOiAiRGVyZWNoYSBhIEl6cXVpZXJkYSIsCiJMZWZ0IHRvIHJpZ2h0IjogIkl6cXVpZXJkYSBhIGRlcmVjaGEiLAoiRW1vdGljb25zIjogIkVtb3RpY29uZXMiLAoiUm9ib3RzIjogIlJvYm90cyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlByb3BpZWRhZGVzIGRlbCBkb2N1bWVudG8iLAoiVGl0bGUiOiAiVFx1MDBlZHR1bG8iLAoiS2V5d29yZHMiOiAiUGFsYWJyYXMgY2xhdmUiLAoiRW5jb2RpbmciOiAiQ29kaWZpY2FjaW9uIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXBjaVx1MDBmM24gIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIlBhbnRhbGxhIGNvbXBsZXRhIiwKIkhvcml6b250YWwgbGluZSI6ICJMXHUwMGVkbmVhIEhvcml6b250YWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJFc3BhY2lvIGhvcml6b250YWwiLAoiQiI6ICJCIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbnNlcnRhclwvZWRpdGFyIGltYWdlbiIsCiJHZW5lcmFsIjogIkdlbmVyYWwiLAoiQWR2YW5jZWQiOiAiQXZhbnphZG8iLAoiRyI6ICJHIiwKIlIiOiAiUiIsCiJTb3VyY2UiOiAiT3JpZ2VuIiwKIkJvcmRlciI6ICJCb3JkZSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiUmVzdHJpbmdpciBwcm9wb3JjaW9uZXMiLAoiVmVydGljYWwgc3BhY2UiOiAiRXNwYWNpbyB2ZXJ0aWNhbCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEZXNjcmlwY2lcdTAwZjNuIGRlIGltYWdlbiIsCiJTdHlsZSI6ICJFc3RpbG8iLAoiRGltZW5zaW9ucyI6ICJEaW1lbnNpb25lcyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJ0YXIgaW1hZ2VuIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VydGFyIGZlY2hhXC9ob3JhIiwKIlJlbW92ZSBsaW5rIjogIkVsaW1pbmFyIGVsbmFjZSIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0byBhIG1vc3RyYXIiLAoiQW5jaG9ycyI6ICJBbmNsYXMiLAoiSW5zZXJ0IGxpbmsiOiAiSW5zZXJ0YXIgZW5sYWNlIiwKIk5ldyB3aW5kb3ciOiAiTnVldmEgdmVudGFuYSIsCiJOb25lIjogIk5pbmd1bm8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkVsIFVSTCBxdWUgaGEgaW5ncmVzYWRvIGVzIHVuIGVubGFjZSBleHRlcm5vLCBkZXNlYSBhZ3JlZ2FyIGVsIHByZWZpam8gaHR0cDpcL1wvIiwKIlRhcmdldCI6ICJPYmpldGl2byIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkVsIFVSTCBxdWUgaGEgaW5zZXJ0YWRvIHRpZW5lIGZvcm1hdG8gZGUgY29ycmVvIGVsZWN0clx1MDBmM25pY28uIERlc2VhIGFncmVnYXIgY29uIHByZWZpam8gcmVzcG9uZGVyIGEuIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluc2VydGFcL2VkaXRhciBlbmxhY2UiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VydGFyXC9lZGl0YXIgdmlkZW8iLAoiUG9zdGVyIjogIkNhcnRlbCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiRnVlbnRlIGFsdGVybmF0aXZhIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiUGVndWUgc3UgY1x1MDBmM2RpZ28gZGUgaW5zZXJjaVx1MDBmM24gYWJham86IiwKIkluc2VydCB2aWRlbyI6ICJJbnNlcnRhciB2aWRlbyIsCiJFbWJlZCI6ICJJbmNydXN0YXIiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiRXNwYWNpbyBkZSBubyBzZXBhcmFjaVx1MDBmM24iLAoiUGFnZSBicmVhayI6ICJTYWx0byBkZSBwYWdpbmEgIiwKIlBhc3RlIGFzIHRleHQiOiAiQ29waWFyIGNvbW8gdGV4dG8iLAoiUHJldmlldyI6ICJWaXN0YSBwcmV2aWEgIiwKIlByaW50IjogIkltcHJpbWlyIiwKIlNhdmUiOiAiR3VhcmRhciIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiTm8gc2UgaGEgZW5jb250cmFkbyBsYSBjYWRlbmEgZXNwZWNpZmljYWRhLiIsCiJSZXBsYWNlIjogIlJlbXBsYXphciIsCiJOZXh0IjogIlNpZ3VpZW50ZSIsCiJXaG9sZSB3b3JkcyI6ICJQYWxhYnJhcyBjb21wbGV0YXMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJCdXNjYXIgeSByZWVtcGxhemFyIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZW1wbGF6YXIgY29uIiwKIkZpbmQiOiAiQnVzY2FyIiwKIlJlcGxhY2UgYWxsIjogIlJlZW1wbGF6YXIgdG9kbyIsCiJNYXRjaCBjYXNlIjogIkNvaW5jaWRlbmNpYSIsCiJQcmV2IjogIkFudGVyaW9yIiwKIlNwZWxsY2hlY2siOiAiUmV2aXNpXHUwMGYzbiBvcnRvZ3JcdTAwZTFmaWNhIiwKIkZpbmlzaCI6ICJUZXJtaW5hciIsCiJJZ25vcmUgYWxsIjogIklnbm9yYXIgdG9kbyIsCiJJZ25vcmUiOiAiSWdub3JhciIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJBZ3JlZ2FyIGFsIGRpY2Npb25hcmlvICIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcnRhciByZW5nbFx1MDBmM24gYW50ZXMgZGUiLAoiUm93cyI6ICJSZW5nbG9uZXMgIiwKIkhlaWdodCI6ICJBbHRvIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQZWdhciByZW5nbFx1MDBmM24gZGVzcHVcdTAwZTlzIGRlIiwKIkFsaWdubWVudCI6ICJBbGluZWFjaVx1MDBmM24gIiwKIkJvcmRlciBjb2xvciI6ICJDb2xvciBkZWwgYm9yZGUiLAoiQ29sdW1uIGdyb3VwIjogIkdydXBvIGRlIGNvbHVtbmFzIiwKIlJvdyI6ICJSZW5nbFx1MDBmM24gIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluc2VydGFyIGNvbHVtbmEgYW50ZXMgZGUiLAoiU3BsaXQgY2VsbCI6ICJEaXZpZGlyIGNlbGRhcyIsCiJDZWxsIHBhZGRpbmciOiAiUmVsbGVubyBkZSBsYSBjZWxkYSIsCiJDZWxsIHNwYWNpbmciOiAiRXNwYWNpbyBlbnRyZSBjZWxkYXMiLAoiUm93IHR5cGUiOiAiVGlwbyBkZSByZW5nbFx1MDBmM24gIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcnRhciB0YWJsYSIsCiJCb2R5IjogIkN1ZXJwbyIsCiJDYXB0aW9uIjogIlN1YnRpdHVsbyIsCiJGb290ZXIiOiAiUGllIiwKIkRlbGV0ZSByb3ciOiAiRWxpbWluYXIgcmVuZ2xcdTAwZjNuICIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBlZ2FyIHJlbmdsXHUwMGYzbiBhbnRlcyBkZSIsCiJTY29wZSI6ICJBbGNhbmNlIiwKIkRlbGV0ZSB0YWJsZSI6ICJFbGltaW5hciB0YWJsYSIsCiJIIEFsaWduIjogIkFsaW5lYWNpXHUwMGYzbiBIb3Jpem9udGFsIiwKIlRvcCI6ICJBcnJpYmEiLAoiSGVhZGVyIGNlbGwiOiAiQ2VsZGEgZGUgZW5jYWJlemFkbyIsCiJDb2x1bW4iOiAiQ29sdW1uYSIsCiJSb3cgZ3JvdXAiOiAiR3J1cG8gZGUgcmVuZ2xvbmVzIiwKIkNlbGwiOiAiQ2VsZGEiLAoiTWlkZGxlIjogIkNlbnRyYWRvIiwKIkNlbGwgdHlwZSI6ICJUaXBvIGRlIGNlbGRhIiwKIkNvcHkgcm93IjogIkNvcGlhciByZW5nbFx1MDBmM24gIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlByb3BpZWRhZGVzIGRlbCByZW5nbFx1MDBmM24gIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGUgdGFibGEiLAoiQm90dG9tIjogIkFiYWpvIiwKIlYgQWxpZ24iOiAiQWxpbmVhY2lcdTAwZjNuIFZlcnRpY2FsIiwKIkhlYWRlciI6ICJFbmNhYmV6YWRvIiwKIlJpZ2h0IjogIkRlcmVjaGEiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcnRhciBjb2x1bW5hIGRlc3B1XHUwMGU5cyBkZSIsCiJDb2xzIjogIkNvbHVtbmFzIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJ0YXIgcmVuZ2xcdTAwZjNuIGRlc3B1XHUwMGU5cyBkZSIsCiJXaWR0aCI6ICJBbmNobyIsCiJDZWxsIHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGUgY2VsZGEiLAoiTGVmdCI6ICJJenF1aWVyZGEiLAoiQ3V0IHJvdyI6ICJDb3J0YXIgcmVuZ2xvbiIsCiJEZWxldGUgY29sdW1uIjogIkVsaW1pbmFyIENvbHVtbmEiLAoiQ2VudGVyIjogIkNlbnRybyIsCiJNZXJnZSBjZWxscyI6ICJVbmlyIGNlbGRhcyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJ0YXIgcGxhbnRpbGxhIiwKIlRlbXBsYXRlcyI6ICJQbGFudGlsbGEiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJDb2xvciBkZSBmb25kbyIsCiJDdXN0b20uLi4iOiAiUGVyc29uYWxpemFyIiwKIkN1c3RvbSBjb2xvciI6ICJQZXJ6b25hbGl6YXIgY29sb3IiLAoiTm8gY29sb3IiOiAiU2luIGNvbG9yIiwKIlRleHQgY29sb3IiOiAiQ29sb3IgZGUgbGV0cmEiLAoiU2hvdyBibG9ja3MiOiAiTW9zdHJhciBibG9xdWVzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTW9zdHJhciBjYXJhY3RlcmVzIGludmlzaWJsZXMiLAoiV29yZHM6IHswfSI6ICJQYWxhYnJhczp7MH0iLAoiSW5zZXJ0IjogIkluc2VydGFyIiwKIkZpbGUiOiAiQXJjaGl2byIsCiJFZGl0IjogIkVkaXRhciIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJQcmVzaW9uZSBkZW50cm8gZGVsIFx1MDBlMXJlYSBkZSB0ZXh0byBBTFQtRjkgcGFyYSBpbnZvY2FyIGVsIG1lblx1MDBmYSwgQUxULUYxMCBwYXJhIGxhIGJhcnJhIGRlIGhlcnJhbWllbnRhcyB5IEFMVC0wIHBhcmEgbGEgYXl1ZGEuIiwKIlRvb2xzIjogIkhlcnJhbWllbnRhcyIsCiJWaWV3IjogIlZpc3RhcyIsCiJUYWJsZSI6ICJUYWJsYSIsCiJGb3JtYXQiOiAiRm9ybWF0byIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/et.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdldCcsewoiQ3V0IjogIkxcdTAwZjVpa2EiLAoiSGVhZGluZyA1IjogIlBlYWxraXJpIDUiLAoiSGVhZGVyIDIiOiAiUGVhbGtpcmkgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJTaW51IHZlZWJpbGVoaXRzZWphIGVpIHRvZXRhIG90c2VzdCBsaWdpcFx1MDBlNFx1MDBlNHN1IGxcdTAwZjVpa2VsYXVhbGUuIFBhbHVuIGthc3V0YSBzZWxsZSBhc2VtZWwga2xhdmlhdHV1cmkga2lpcmtcdTAwZTRza2x1c2kgQ3RybCtYXC9DXC9WLiIsCiJIZWFkaW5nIDQiOiAiUGVhbGtpcmkgNCIsCiJEaXYiOiAiU2VrdHNpb29uIiwKIkhlYWRpbmcgMiI6ICJQZWFsa2lyaSAyIiwKIlBhc3RlIjogIktsZWViaSIsCiJDbG9zZSI6ICJTdWxnZSIsCiJGb250IEZhbWlseSI6ICJLaXJqYXN0aWlsaWQiLAoiUHJlIjogIkVlbHZvcm1pbmRhdHVkIiwKIkFsaWduIHJpZ2h0IjogIkpvb25kYSBwYXJlbWFsZSIsCiJOZXcgZG9jdW1lbnQiOiAiVXVzIGRva3VtZW50IiwKIkJsb2NrcXVvdGUiOiAiUGxva2t0c2l0YWF0IiwKIk51bWJlcmVkIGxpc3QiOiAiSlx1MDBlNHJqZXN0YXR1ZCBsb2VuZCIsCiJIZWFkaW5nIDEiOiAiUGVhbGtpcmkgMSIsCiJIZWFkaW5ncyI6ICJQZWFsa2lyamFkIiwKIkluY3JlYXNlIGluZGVudCI6ICJTdXVyZW5kYSB0YWFuZXQiLAoiRm9ybWF0cyI6ICJWb3JtaW5ndWQiLAoiSGVhZGVycyI6ICJQXHUwMGU0aXNlZCIsCiJTZWxlY3QgYWxsIjogIlZhbGkga1x1MDBmNWlrIiwKIkhlYWRlciAzIjogIlBlYWxraXJpIDMiLAoiQmxvY2tzIjogIlBsb2tpZCIsCiJVbmRvIjogIlZcdTAwZjV0YSB0YWdhc2kiLAoiU3RyaWtldGhyb3VnaCI6ICJMXHUwMGU0YmlrcmlpcHN1dGF0dWQiLAoiQnVsbGV0IGxpc3QiOiAiSlx1MDBlNHJqZXN0YW1hdGEgbG9lbmQiLAoiSGVhZGVyIDEiOiAiUGVhbGtpcmkgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTAwZGNsYWluZGVrcyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlB1aGFzdGEgdm9ybWluZyIsCiJGb250IFNpemVzIjogIktpcmphIHN1dXJ1c2VkIiwKIlN1YnNjcmlwdCI6ICJBbGFpbmRla3MiLAoiSGVhZGVyIDYiOiAiUGVhbGtpcmkgNiIsCiJSZWRvIjogIlRlZSB1dWVzdGkiLAoiUGFyYWdyYXBoIjogIkxcdTAwZjVpayIsCiJPayI6ICJPayIsCiJCb2xkIjogIlJhc3ZhbmUiLAoiQ29kZSI6ICJLb29kIiwKIkl0YWxpYyI6ICJLYWxka2lyaSIsCiJBbGlnbiBjZW50ZXIiOiAiSm9vbmRhIGtlc2tlbGUiLAoiSGVhZGVyIDUiOiAiUGVhbGtpcmkgNSIsCiJIZWFkaW5nIDYiOiAiUGVhbGtpcmkgNiIsCiJIZWFkaW5nIDMiOiAiUGVhbGtpcmkgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiVlx1MDBlNGhlbmRhIHRhYW5ldCIsCiJIZWFkZXIgNCI6ICJQZWFsa2lyaSA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJBc2V0YW1pbmUgb24gblx1MDBmY1x1MDBmY2QgdGVrc3RpcmVcdTAxN2VpaW1pcy4gU2lzdSBhc2V0YXRha3NlIG5cdTAwZmNcdTAwZmNkIGxpaHR0ZWtzdGluYSwga3VuaSBzYSBsXHUwMGZjbGl0YWQgc2VsbGUgdmFsaWt1IHZcdTAwZTRsamEuIiwKIlVuZGVybGluZSI6ICJBbGxha3JpaXBzdXRhdHVkIiwKIkNhbmNlbCI6ICJLYXRrZXN0YSIsCiJKdXN0aWZ5IjogIkpvb25kYSByXHUwMGY2XHUwMGY2cHNlbHQiLAoiSW5saW5lIjogIlJlYXNpc2VuZSIsCiJDb3B5IjogIktvcGVlcmkiLAoiQWxpZ24gbGVmdCI6ICJKb29uZGEgdmFzYWt1bGUiLAoiVmlzdWFsIGFpZHMiOiAiTlx1MDBlNGl0ZXZhaGVuZGlkIiwKIkxvd2VyIEdyZWVrIjogIktyZWVrYSB2XHUwMGU0aWtldFx1MDBlNGhlZCAoXHUwM2IxLCBcdTAzYjIsIFx1MDNiMykiLAoiU3F1YXJlIjogIlJ1dXQiLAoiRGVmYXVsdCI6ICJWYWlraW1pc2kiLAoiTG93ZXIgQWxwaGEiOiAiVlx1MDBlNGlrZXRcdTAwZTRoZWQgKGEsIGIsIGMpIiwKIkNpcmNsZSI6ICJSaW5nIiwKIkRpc2MiOiAiS2V0YXMiLAoiVXBwZXIgQWxwaGEiOiAiU3V1cnRcdTAwZTRoZWQgKEEsIEIsIEMpIiwKIlVwcGVyIFJvbWFuIjogIlJvb21hIHN1dXJ0XHUwMGU0aGVkIChJLCBJSSwgSUlJKSIsCiJMb3dlciBSb21hbiI6ICJSb29tYSB2XHUwMGU0aWtldFx1MDBlNGhlZCAoaSwgaWksIGlpaSkiLAoiTmFtZSI6ICJOaW1pIiwKIkFuY2hvciI6ICJBbmt1ciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlN1bCBvbiBzYWx2ZXN0YW1hdGEgbXV1ZGF0dXNpLiBPbGVkIFNhIGtpbmRlbCwgZXQgc29vdmlkIG11amFsZSBuYXZpZ2VlcnVkYT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlRhYXN0YSB2aWltYW5lIG11c3RhbmQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiRXJpbVx1MDBlNHJrIiwKIlNvdXJjZSBjb2RlIjogIkxcdTAwZTRodGVrb29kIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlZcdTAwZTRydiIsCiJSaWdodCB0byBsZWZ0IjogIlBhcmVtYWx0IHZhc2FrdWxlIiwKIkxlZnQgdG8gcmlnaHQiOiAiVmFzYWt1bHQgcGFyZW1hbGUiLAoiRW1vdGljb25zIjogIkVtb3Rpa29uaWQiLAoiUm9ib3RzIjogIlJvYm90aWQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2t1bWVuZGkgb21hZHVzZWQiLAoiVGl0bGUiOiAiUGVhbGtpcmkiLAoiS2V5d29yZHMiOiAiTVx1MDBlNHJrc1x1MDBmNW5hZCIsCiJFbmNvZGluZyI6ICJNXHUwMGU0cmdpc3RpayIsCiJEZXNjcmlwdGlvbiI6ICJLaXJqZWxkdXMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkZ1bGxzY3JlZW4iOiAiVFx1MDBlNGlzZWtyYWFuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpc29udGFhbGpvb24iLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJSZWF2YWhlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJMaXNhXC9tdXVkYSBwaWx0IiwKIkdlbmVyYWwiOiAiXHUwMGRjbGRpbmUiLAoiQWR2YW5jZWQiOiAiVFx1MDBlNGllbmRhdmFkIHNlYWRlZCIsCiJTb3VyY2UiOiAiQWxsaWthcyIsCiJCb3JkZXIiOiAiXHUwMGM0XHUwMGU0cmlzIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJTXHUwMGU0aWxpdGEga3V2YXN1aGUiLAoiVmVydGljYWwgc3BhY2UiOiAiUFx1MDBmY3N0aW5lIHZhaGUiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiUGlsZGkga2lyamVsZHVzIiwKIlN0eWxlIjogIlN0aWlsIiwKIkRpbWVuc2lvbnMiOiAiTVx1MDBmNVx1MDBmNXRtZWQiLAoiSW5zZXJ0IGltYWdlIjogIkxpc2EgcGlsdCIsCiJab29tIGluIjogIlN1dW1pIHNpc3NlIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkJhY2siOiAiVGFnYXNpIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlBlZWdlbGRhIGhvcmlzb250YWFsc2VsdCIsCiJSZXNpemUiOiAiTXV1ZGEgc3V1cnVzdCIsCiJTaGFycGVuIjogIlRlcmF2YW1ha3MiLAoiWm9vbSBvdXQiOiAiU3V1bWkgdlx1MDBlNGxqYSIsCiJJbWFnZSBvcHRpb25zIjogIlBpbGRpIHZhbGlrdWQiLAoiQXBwbHkiOiAiUmFrZW5kYSIsCiJCcmlnaHRuZXNzIjogIkhlbGVkdXMiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJQXHUwMGY2XHUwMGY2cmEgcFx1MDBlNHJpcFx1MDBlNGV2YSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJQXHUwMGY2XHUwMGY2cmEgdmFzdHVwXHUwMGU0ZXZhIiwKIkVkaXQgaW1hZ2UiOiAiTXV1ZGEgcGlsdGkiLAoiQ29sb3IgbGV2ZWxzIjogIlZcdTAwZTRydmkgdGFzZW1lZCIsCiJDcm9wIjogIkxcdTAwZjVpa2EiLAoiT3JpZW50YXRpb24iOiAiU3V1bmQiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlBlZWdlbGRhIHZlcnRpa2FhbHNlbHQiLAoiSW52ZXJ0IjogIlBcdTAwZjZcdTAwZjZyYSB2XHUwMGU0cnZpZCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJMaXNhIGt1dXBcdTAwZTRldlwva2VsbGFhZWciLAoiUmVtb3ZlIGxpbmsiOiAiRWVtYWxkYSBsaW5rIiwKIlVybCI6ICJWaWlkZSAodXJsKSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiS3V2YXRhdiB0ZWtzdCIsCiJBbmNob3JzIjogIkFua3J1ZCIsCiJJbnNlcnQgbGluayI6ICJMaXNhIGxpbmsiLAoiTmV3IHdpbmRvdyI6ICJVdXMgYWtlbiIsCiJOb25lIjogIlB1dWR1YiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVVJMLCBtaWxsZSBzYSBzaXNlc3Rhc2lkLCBuXHUwMGU0aWIgb2xldmF0IHZcdTAwZTRsaW5lIGxpbmsuIEthcyBzYSBzb292aWQgbGlzYWRhIHNlbGxlbGUgZWVzbGlpdGUgaHR0cDpcL1wvID8iLAoiVGFyZ2V0IjogIlNpaHRtXHUwMGU0cmsiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJVUkwsIG1pbGxlIHNhIHNpc2VzdGFzaWQsIG5cdTAwZTRpYiBvbGV2YXQgZS1wb3N0aSBhYWRyZXNzLiBLYXMgc2Egc29vdmlkIGxpc2FkYSBzZWxsZWxlIGVlc2xpaXRlIG1haWx0bzogPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJMaXNhXC9tdXVkYSBsaW5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJMaXNhXC9tdXVkYSB2aWRlbyIsCiJQb3N0ZXIiOiAiTGlzYWphIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJUZWluZSBhbGxpa2FzIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiS2xlZWJpIG9tYSBtYW51c3RhbWlza29vZCBzaWlhIGFsbGE6IiwKIkluc2VydCB2aWRlbyI6ICJMaXNhIHZpZGVvIiwKIkVtYmVkIjogIk1hbnVzdGEiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiVFx1MDBmY2hpbVx1MDBlNHJrIChuYnNwKSIsCiJQYWdlIGJyZWFrIjogIkxlaGV2YWhldHVzIiwKIlBhc3RlIGFzIHRleHQiOiAiQXNldGEgdGVrc3RpbmEiLAoiUHJldmlldyI6ICJFZWx2YWFkZSIsCiJQcmludCI6ICJUclx1MDBmY2tpIiwKIlNhdmUiOiAiU2FsdmVzdGEiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkVpIHN1dXRudWQgbGVpZGEgZXR0ZWFudHVkIHNcdTAwZjVuZXQuIiwKIlJlcGxhY2UiOiAiQXNlbmRhIiwKIk5leHQiOiAiSlx1MDBlNHJnIiwKIldob2xlIHdvcmRzIjogIlRlcnZpa3NcdTAwZjVuYWQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJPdHNpIGphIGFzZW5kYSIsCiJSZXBsYWNlIHdpdGgiOiAiQXNlbmR1cyIsCiJGaW5kIjogIk90c2kiLAoiUmVwbGFjZSBhbGwiOiAiQXNlbmRhIGtcdTAwZjVpayIsCiJNYXRjaCBjYXNlIjogIkVyaXN0YSBzdXVyLSBqYSB2XHUwMGU0aWtldFx1MDBlNGh0aSIsCiJQcmV2IjogIkVlbG0iLAoiU3BlbGxjaGVjayI6ICJcdTAwZDVpZ2VraXJqYSBrb250cm9sbCIsCiJGaW5pc2giOiAiTFx1MDBmNXBldGEiLAoiSWdub3JlIGFsbCI6ICJFaXJhIGtcdTAwZjVpa2kiLAoiSWdub3JlIjogIkVpcmEiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiTGlzYSBzXHUwMGY1bmFyYWFtYXR1c3NlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkxpc2EgcmlkYSBlbm5lIiwKIlJvd3MiOiAiUmVhZCIsCiJIZWlnaHQiOiAiS1x1MDBmNXJndXMiLAoiUGFzdGUgcm93IGFmdGVyIjogIktsZWViaSByaWRhIGpcdTAwZTRyZWxlIiwKIkFsaWdubWVudCI6ICJKb29uZHVzIiwKIkJvcmRlciBjb2xvciI6ICJQaWlyam9vbmUgdlx1MDBlNHJ2IiwKIkNvbHVtbiBncm91cCI6ICJWZWVyZ3VkZSByXHUwMGZjaG0iLAoiUm93IjogIlJpZGEiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiTGlzYSB0dWxwIGVubmUiLAoiU3BsaXQgY2VsbCI6ICJUXHUwMGZja2VsZGEgbGFodGVyIiwKIkNlbGwgcGFkZGluZyI6ICJMYWh0cmkgc2lzdSBqYSB0YWJlbGkgXHUwMGU0XHUwMGU0cmlzZSB2YWhlIiwKIkNlbGwgc3BhY2luZyI6ICJMYWh0cml2YWhlIiwKIlJvdyB0eXBlIjogIlJlYSB0XHUwMGZjXHUwMGZjcCIsCiJJbnNlcnQgdGFibGUiOiAiTGlzYSB0YWJlbCIsCiJCb2R5IjogIlBcdTAwZjVoaW9zYSIsCiJDYXB0aW9uIjogIkFsYXBlYWxraXJpIiwKIkZvb3RlciI6ICJKYWx1cyIsCiJEZWxldGUgcm93IjogIkt1c3R1dGEgcmlkYSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIktsZWViaSByaWRhIGVubmUiLAoiU2NvcGUiOiAiVWxhdHVzIiwKIkRlbGV0ZSB0YWJsZSI6ICJLdXN0dXRhIHRhYmVsIiwKIkggQWxpZ24iOiAiSCBKb29uZHVzIiwKIlRvcCI6ICJcdTAwZGNsZXZhbCIsCiJIZWFkZXIgY2VsbCI6ICJQXHUwMGU0aXNsYWh0ZXIiLAoiQ29sdW1uIjogIlR1bHAiLAoiUm93IGdyb3VwIjogIlJpZGFkZSByXHUwMGZjaG0iLAoiQ2VsbCI6ICJMYWh0ZXIiLAoiTWlkZGxlIjogIktlc2tlbCIsCiJDZWxsIHR5cGUiOiAiTGFodHJpIHRcdTAwZmNcdTAwZmNwIiwKIkNvcHkgcm93IjogIktvcGVlcmkgcmlkYSIsCiJSb3cgcHJvcGVydGllcyI6ICJSZWEgb21hZHVzZWQiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJlbGkgb21hZHVzZWQiLAoiQm90dG9tIjogIkFsbCIsCiJWIEFsaWduIjogIlYgSm9vbmR1cyIsCiJIZWFkZXIiOiAiUFx1MDBlNGlzIiwKIlJpZ2h0IjogIlBhcmVtYWwiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJMaXNhIHR1bHAgalx1MDBlNHJlbGUiLAoiQ29scyI6ICJWZWVydWQiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJMaXNhIHJpZGEgalx1MDBlNHJlbGUiLAoiV2lkdGgiOiAiTGFpdXMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkxhaHRyaSBvbWFkdXNlZCIsCiJMZWZ0IjogIlZhc2FrdWwiLAoiQ3V0IHJvdyI6ICJMXHUwMGY1aWthIHJpZGEiLAoiRGVsZXRlIGNvbHVtbiI6ICJLdXN0dXRhIHR1bHAiLAoiQ2VudGVyIjogIktlc2tlbCIsCiJNZXJnZSBjZWxscyI6ICJcdTAwZGNoZW5kYSBsYWh0cmlkIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJMaXNhIG1hbGwiLAoiVGVtcGxhdGVzIjogIk1hbGxpZCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlRhdXN0YSB2XHUwMGU0cnYiLAoiQ3VzdG9tLi4uIjogIktvaGFuZGF0dWQuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIktvaGFuZGF0dWQgdlx1MDBlNHJ2IiwKIk5vIGNvbG9yIjogIlZcdTAwZTRydmkgcG9sZSIsCiJUZXh0IGNvbG9yIjogIlRla3N0aSB2XHUwMGU0cnYiLAoiU2hvdyBibG9ja3MiOiAiTlx1MDBlNGl0YSBwbG9ra2UiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJOXHUwMGU0aXRhIHBlaWRldHVkIG1cdTAwZTRya2UiLAoiV29yZHM6IHswfSI6ICJTXHUwMGY1bnU6IHswfSIsCiJJbnNlcnQiOiAiU2lzZXN0YSIsCiJGaWxlIjogIkZhaWwiLAoiRWRpdCI6ICJNdXVkYSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWthc3RhdHVkIHRla3N0aSBhbGEuIE1lblx1MDBmY1x1MDBmYyBqYW9rcyB2YWp1dGEgQUxULUY5LiBUXHUwMGY2XHUwMGY2cmlpc3RhcmliYSBqYW9rcyB2YWp1dGEgQUxULUYxMC4gQWJpIHNhYW1pc2VrcyB2YWp1dGEgQUxULTAuIiwKIlRvb2xzIjogIlRcdTAwZjZcdTAwZjZyaWlzdGFkIiwKIlZpZXciOiAiVmFhZGUiLAoiVGFibGUiOiAiVGFiZWwiLAoiRm9ybWF0IjogIlZvcm1pbmciCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/eu.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdldScsewoiQ3V0IjogIkViYWtpIiwKIkhlYWRpbmcgNSI6ICI1LiBpemVuYnVydWEiLAoiSGVhZGVyIDIiOiAiMiBHb2lidXJ1YSIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJadXJlIG5hYmlnYXR6YWlsZWFrIGV6IGR1IGFyYmVsYSB6dXplbmVhbiBlcmFiaWx0emVrbyBldXNrYXJyaXJpay4gTWVzZWRleiBlcmFiaWxpIENUUkwrWFwvQ1wvViB0ZWtsYXR1a28gbGFzdGVyYmlkZWFrLiIsCiJIZWFkaW5nIDQiOiAiNC4gaXplbmJ1cnVhIiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIjIuIGl6ZW5idXJ1YSIsCiJQYXN0ZSI6ICJJdHNhdHNpIiwKIkNsb3NlIjogIkl0eGkiLAoiRm9udCBGYW1pbHkiOiAiTGV0cmEtdGlwbyBmYW1pbGlhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiTGVycm9rYXR1IGVza3VpbmVhbiIsCiJOZXcgZG9jdW1lbnQiOiAiRG9rdW1lbnR1IGJlcnJpYSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJaZXJyZW5kYSAgemVuYmF0dWEiLAoiSGVhZGluZyAxIjogIjEuIGl6ZW5idXJ1YSIsCiJIZWFkaW5ncyI6ICJJemVuYnVydWFrIiwKIkluY3JlYXNlIGluZGVudCI6ICJIYW5kaXR1IGtvc2thIiwKIkZvcm1hdHMiOiAiRm9ybWF0dWFrIiwKIkhlYWRlcnMiOiAiR29pYnVydWFrIiwKIlNlbGVjdCBhbGwiOiAiSGF1dGF0dSBkZW5hIiwKIkhlYWRlciAzIjogIjMgR29pYnVydWEiLAoiQmxvY2tzIjogIkJsb2tlYWsiLAoiVW5kbyI6ICJEZXNlZ2luIiwKIlN0cmlrZXRocm91Z2giOiAiTWFycmF0dWEiLAoiQnVsbGV0IGxpc3QiOiAiQnVsZXQgemVycmVuZGEiLAoiSGVhZGVyIDEiOiAiMSBHb2lidXJ1YSIsCiJTdXBlcnNjcmlwdCI6ICJHb2ktaW5kaXplIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiR2FyYml0dSBmb3JtYXR1YSIsCiJGb250IFNpemVzIjogIkxldHJhLXRhbWFpbnVhayIsCiJTdWJzY3JpcHQiOiAiQXpwaWluZGl6ZSIsCiJIZWFkZXIgNiI6ICI2IEdvaWJ1cnVhIiwKIlJlZG8iOiAiQmVycmVnaW4iLAoiUGFyYWdyYXBoIjogIlBhcnJhZm9hIiwKIk9rIjogIk9uZG8iLAoiQm9sZCI6ICJMb2RpYSIsCiJDb2RlIjogIktvZGVhIiwKIkl0YWxpYyI6ICJFdHphbmEiLAoiQWxpZ24gY2VudGVyIjogIkxlcnJva2F0dSBob3Jpem9udGFsa2kgZXJkaWFuIiwKIkhlYWRlciA1IjogIjUgR29pYnVydWEiLAoiSGVhZGluZyA2IjogIjYuIGl6ZW5idXJ1YSIsCiJIZWFkaW5nIDMiOiAiMy4gaXplbmJ1cnVhIiwKIkRlY3JlYXNlIGluZGVudCI6ICJUeGlraXR1IGtvc2thIiwKIkhlYWRlciA0IjogIjQgR29pYnVydWEiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkl0c2F0c2kgdGVzdHUgYXJydW50IG1vZHVhbiBkYWdvIG9yYWluLiBFZHVraWFrIHRlc3R1IGFycnVudGFrIGJlemFsYSBpdHNhdHNpa28gZGlyYSBhdWtlcmEgaGF1IGl0emFsdHplbiBkdXp1bmVyYSBhcnRlLiIsCiJVbmRlcmxpbmUiOiAiQXpwaW1hcnJhdHVhIiwKIkNhbmNlbCI6ICJFemV6dGF0dSIsCiJKdXN0aWZ5IjogIkp1c3RpZmlrYXR1dGEiLAoiSW5saW5lIjogIkxlcnJvYW4iLAoiQ29weSI6ICJLb3BpYXR1IiwKIkFsaWduIGxlZnQiOiAiTGVycm9rYXR1IGV6a2VycmVhbiIsCiJWaXN1YWwgYWlkcyI6ICJMYWd1bnR6YSBiaXN1YWxhayIsCiJMb3dlciBHcmVlayI6ICJCZWhlIGdyZWtvYSIsCiJTcXVhcmUiOiAiS2FycmF0dWEiLAoiRGVmYXVsdCI6ICJMZWhlbmV0c3RpYSIsCiJMb3dlciBBbHBoYSI6ICJCZWhlIGFsZmEiLAoiQ2lyY2xlIjogIlppcmt1bHVhIiwKIkRpc2MiOiAiRGlza29hIiwKIlVwcGVyIEFscGhhIjogIkdvaSBhbGZhIiwKIlVwcGVyIFJvbWFuIjogIkdvaSBlcnJvbWF0YXJyYSIsCiJMb3dlciBSb21hbiI6ICJCZWhlIGVycm9tYXRhcnJhIiwKIk5hbWUiOiAiSXplbmEiLAoiQW5jaG9yIjogIkVzdGVrYSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkdvcmRlIGdhYmVrbyBhbGRha2V0YWsgZGl0dXp1LCB6aWh1ciB6YXVkZSBoZW1lbmRpayBpcnRlbiBuYWhpIGR1enVsYT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIkxlaGVuZXJhdHUgYXprZW4gemlycmlib3Jyb2EiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiS2FyYWt0ZXJlIGJlcmV6aWFrIiwKIlNvdXJjZSBjb2RlIjogIkl0dXJidXJ1LWtvZGVhIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIktvbG9yZWEiLAoiUmlnaHQgdG8gbGVmdCI6ICJFc2t1aW5ldGlrIGV6a2VycmVyYSIsCiJMZWZ0IHRvIHJpZ2h0IjogIkV6a2VycmV0aWsgZXNrdWluZXJhIiwKIkVtb3RpY29ucyI6ICJJcnJpZmFydHhvYWsiLAoiUm9ib3RzIjogIlJvYm90YWsiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2t1bWVudHVhcmVuIHByb3BpZXRhdGVhayIsCiJUaXRsZSI6ICJUaXR1bHVhIiwKIktleXdvcmRzIjogIkhpdHogZ2Frb2FrIiwKIkVuY29kaW5nIjogIkVuY29kaW5nIiwKIkRlc2NyaXB0aW9uIjogIkRlc2tyaWJhcGVuYSIsCiJBdXRob3IiOiAiRWdpbGVhIiwKIkZ1bGxzY3JlZW4iOiAiUGFudGFpbGEgb3NvYSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTWFycmEgaG9yaXpvbnRhbGEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIdXRzdW5lIGhvcml6b250YWxhIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJcnVkaWEgdHhlcnRhdHVcL2VkaXRhdHUiLAoiR2VuZXJhbCI6ICJPcm9rb3JyYSIsCiJBZHZhbmNlZCI6ICJBdXJyZXJhdHVhIiwKIlNvdXJjZSI6ICJJdHVyYnVydWEiLAoiQm9yZGVyIjogIkVydHphIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJaZXJyYWRpdHUgcHJvcG9ydHppb2FrIiwKIlZlcnRpY2FsIHNwYWNlIjogIkh1dHN1bmUgYmVydGlrYWxhIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIklydWRpYXJlbiBkZXNrcmliYXBlbmEiLAoiU3R5bGUiOiAiRXN0aWxvYSIsCiJEaW1lbnNpb25zIjogIk5ldXJyaWFrIiwKIkluc2VydCBpbWFnZSI6ICJJcnVkaWEgdHhlcnRhdHUiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiRGF0YVwvb3JkdWEgdHhlcnRhdHUiLAoiUmVtb3ZlIGxpbmsiOiAiS2VuZHUgZXN0ZWthIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIkJpc3RhcmF0emVrbyB0ZXN0dWEiLAoiQW5jaG9ycyI6ICJFc3Rla2FrIiwKIkluc2VydCBsaW5rIjogIkVzdGVrYSB0eGVydGF0dSIsCiJOZXcgd2luZG93IjogIkxlaGlvIGJlcnJpYSIsCiJOb25lIjogIkJhdCBlcmUgZXoiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlNhcnR1IGR1enVuIFVSTC1hayBrYW5wb2tvIGVzdGVrYSBkZWxhIGRpcnVkaS4gTmFoaSBkdXp1IGRhZ29raW9uIGh0dHA6XC9cLyBhdXJyaXpraWEgZ2VoaXR6ZWE/IiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJTYXJ0dSBkdXp1biBVUkwtYWsgZS1wb3N0YSBoZWxiaWRlYSBkZWxhIGRpcnVkaS4gTmFoaSBkdXp1IGRhZ29raW9uIG1haWx0bzogYXVycml6a2lhIGdlaGl0emVhPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJFc3Rla2EgdHhlcnRhdHVcL2VkaXRhdHUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkJpZGVvYSB0eGVydGF0dVwvZWRpdGF0dSIsCiJQb3N0ZXIiOiAiUG9zdGVyLWEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkl0dXJidXJ1IGFsdGVybmF0aWJvYSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkl0c2F0c2kgaGVtZW4genVyZSBlbmthcHN1bGF0emVrbyBrb2RlYToiLAoiSW5zZXJ0IHZpZGVvIjogIkJpZGVvYSB0eGVydGF0dSIsCiJFbWJlZCI6ICJLYXBzdWxhdHUiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiWnVyaXVuZSB6YXRpZXppbmEiLAoiUGFnZSBicmVhayI6ICJPcnJpYWxkZS1qYXV6aWEiLAoiUGFzdGUgYXMgdGV4dCI6ICJJdHNhdHNpIHRlc3R1IGJlemFsYSIsCiJQcmV2aWV3IjogIkF1cnJlYmlzdGEiLAoiUHJpbnQiOiAiSW5wcmltYXR1IiwKIlNhdmUiOiAiR29yZGUiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkV6aW4gaXphbiBkYSB6ZWhhenR1dGFrbyBrYXRlYSBhdXJraXR1LiIsCiJSZXBsYWNlIjogIk9yZGV6dHUiLAoiTmV4dCI6ICJIdXJyZW5nb2EiLAoiV2hvbGUgd29yZHMiOiAiaGl0eiBvc29hayIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkJpbGF0dSBldGEgb3JkZXp0dSIsCiJSZXBsYWNlIHdpdGgiOiAiSG9uZWtpbiBvcmRlenR1IiwKIkZpbmQiOiAiQmlsYXR1IiwKIlJlcGxhY2UgYWxsIjogIk9yZGV6dHUgZGVuYSIsCiJNYXRjaCBjYXNlIjogIk1haXVza3VsYVwvbWludXNrdWxhIiwKIlByZXYiOiAiQXVycmVrb2EiLAoiU3BlbGxjaGVjayI6ICJFZ2lhenRhcGVuYWsiLAoiRmluaXNoIjogIkFtYWl0dSIsCiJJZ25vcmUgYWxsIjogIkV6IGlrdXNpIGd1enRpYSIsCiJJZ25vcmUiOiAiRXogaWt1c2kiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiR2VoaXR1IGhpenRlZ2lyYSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJUeGVydGF0dSBlcnJlbmthZGEgYXVycmV0aWsiLAoiUm93cyI6ICJFcnJlbmthZGFrIiwKIkhlaWdodCI6ICJBbHR1ZXJhIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJJdHNhdHNpIGVycmVua2FkYSBvc3RlYW4iLAoiQWxpZ25tZW50IjogIkxlcnJva2F0emVhIiwKIkJvcmRlciBjb2xvciI6ICJCb3JkZWFyZW4ga29sb3JlYSIsCiJDb2x1bW4gZ3JvdXAiOiAiWnV0YWJlIHRhbGRlYSIsCiJSb3ciOiAiRXJyZW5rYWRhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlR4ZXJ0YXR1IHp1dGFiZSBhdXJyZXRpayIsCiJTcGxpdCBjZWxsIjogIkJhbmF0dSBnZWxheGthayIsCiJDZWxsIHBhZGRpbmciOiAiR2VsYXhrZW4gYmV0ZWdhcnJpYSIsCiJDZWxsIHNwYWNpbmciOiAiR2VsYXhrYSBhcnRla28gdGFydGVhIiwKIlJvdyB0eXBlIjogIkxlcnJvIG1vdGEiLAoiSW5zZXJ0IHRhYmxlIjogIlR4ZXJ0YXR1IHRhdWxhIiwKIkJvZHkiOiAiR29ycHV0emEiLAoiQ2FwdGlvbiI6ICJFcGlncmFmZWEiLAoiRm9vdGVyIjogIk9pbmEiLAoiRGVsZXRlIHJvdyI6ICJFemFiYXR1IGVycmVua2FkYSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkl0c2F0c2kgZXJyZW5rYWRhIGF1cnJldGlrIiwKIlNjb3BlIjogIkVzcGFycnVhIiwKIkRlbGV0ZSB0YWJsZSI6ICJUYXVsYSBlemFiYXR1IiwKIkggQWxpZ24iOiAiTGVycm9rYXR6ZSBob3Jpem9udGFsYSIsCiJUb3AiOiAiR29pYW4iLAoiSGVhZGVyIGNlbGwiOiAiR29pYnVydWtvIGdlbGF4a2EiLAoiQ29sdW1uIjogIlp1dGFiZWEiLAoiUm93IGdyb3VwIjogIkxlcnJvIHRhbGRlYSIsCiJDZWxsIjogIkdlbGF4a2EiLAoiTWlkZGxlIjogIkVyZGlhbiIsCiJDZWxsIHR5cGUiOiAiR2VsYXhrYSBtb3RhIiwKIkNvcHkgcm93IjogIktvcGlhdHUgZXJyZW5rYWRhIiwKIlJvdyBwcm9wZXJ0aWVzIjogIkVycmVua2FkYXJlbiBwcm9waWV0YXRlYWsiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYXVsYXJlbiBwcm9waWV0YXRlYWsiLAoiQm90dG9tIjogIkJlaGVhbiIsCiJWIEFsaWduIjogIkxlcnJva2F0emUgYmVydGlrYWxhIiwKIkhlYWRlciI6ICJHb2lidXJ1YSIsCiJSaWdodCI6ICJFc2t1aW5hIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiVHhlcnRhdHUgenV0YWJlYSBvc3RlYW4iLAoiQ29scyI6ICJadXRhYmVhayIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlR4ZXJ0YXR1IGVycmVua2FkYSBvc3RlYW4iLAoiV2lkdGgiOiAiWmFiYWxlcmEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkdlbGF4a2FyZW4gcHJvcGlldGF0ZWFrIiwKIkxlZnQiOiAiRXprZXJyYSIsCiJDdXQgcm93IjogIkViYWtpIGVycmVua2FkYSIsCiJEZWxldGUgY29sdW1uIjogIkV6YWJhdHUgenV0YWJlYSIsCiJDZW50ZXIiOiAiRXJkaWEiLAoiTWVyZ2UgY2VsbHMiOiAiQmF0dSBnZWxheGthayIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVHhlcnRhdHUgdHhhbnRpbG9pYSIsCiJUZW1wbGF0ZXMiOiAiVHhhbnRpbG9pYWsiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJBdHpla28ga29sb3JlYSIsCiJDdXN0b20uLi4iOiAiUGVydHNvbmFsaXphdHVhLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJLb2xvcmUgcGVydHNvbmFsaXphdHVhIiwKIk5vIGNvbG9yIjogIktvbG9yZXJpayBnYWJlIiwKIlRleHQgY29sb3IiOiAiVGVzdHVhcmVuIGtvbG9yZWEiLAoiU2hvdyBibG9ja3MiOiAiRXJha3V0c2kgYmxva2VhayIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIkVyYWt1dHNpIGthcmFrdGVyZSBpemt1dHVhayIsCiJXb3JkczogezB9IjogIkhpdHphazogezB9IiwKIkluc2VydCI6ICJTYXJ0dSIsCiJGaWxlIjogIkZpdHhhdGVnaWEiLAoiRWRpdCI6ICJFZGl0YXR1IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlRlc3R1IGFiZXJhc3R1a28gYXJlYS4gU2FrYXR1IEFMVC1GOSBtZW51cmFrby4gU2FrYXR1IEFMVC1GMTAgdHJlc25hLWJhcnJhcmFrby4gU2FrYXR1IEFMVC0wIGxhZ3VudHphcmFrbyIsCiJUb29scyI6ICJUcmVzbmFrIiwKIlZpZXciOiAiSWt1c2kiLAoiVGFibGUiOiAiVGF1bGEiLAoiRm9ybWF0IjogIkZvcm1hdHVhIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fa.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmYScsewoiQ3V0IjogIlx1MDYyOFx1MDYzMVx1MDYyZlx1MDYyN1x1MDYzNFx1MDYyYVx1MDY0NiIsCiJIZWFkaW5nIDUiOiAiXHUwNjMzXHUwNjMxXHUyMDBjXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IDUiLAoiSGVhZGVyIDIiOiAiXHUwNjMzXHUwNjMxXHUyMDBjXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNjQ1XHUwNjMxXHUwNjQ4XHUwNjMxXHUwNmFmXHUwNjMxIFx1MDYzNFx1MDY0NVx1MDYyNyBcdTA2MjdcdTA2MzIgXHUwNjJmXHUwNjMzXHUwNjJhXHUwNjMxXHUwNjMzXHUwNmNjIFx1MDY0NVx1MDYzM1x1MDYyYVx1MDY0Mlx1MDZjY1x1MDY0NSBcdTA2MjhcdTA2NDcgXHUwNjJkXHUwNjI3XHUwNjQxXHUwNjM4XHUwNjQ3IFx1MDZhOVx1MDY3ZVx1MDZjYyBcdTA2N2VcdTA2MzRcdTA2MmFcdTA2Y2NcdTA2MjhcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjQ2XHUwNjQ1XHUwNmNjIFx1MDZhOVx1MDY0Nlx1MDYyZi4gXHUwNjQ0XHUwNjM3XHUwNjQxXHUwNjI3IFx1MDYyN1x1MDYzMiBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmYgXHUwNjQ3XHUwNjI3XHUwNmNjIEN0cmwrWFwvQ1wvViBcdTA2MmZcdTA2MzEgXHUwNmE5XHUwNmNjXHUwNjI4XHUwNjQ4XHUwNjMxXHUwNjJmIFx1MDYyOFx1MDYzMVx1MDYyN1x1MDZjYyBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjMxIFx1MDYyN1x1MDYzM1x1MDYyYVx1MDY0MVx1MDYyN1x1MDYyZlx1MDY0NyBcdTA2YTlcdTA2NDZcdTA2Y2NcdTA2MmYuIiwKIkhlYWRpbmcgNCI6ICJcdTA2MzNcdTA2MzFcdTIwMGNcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDcgNCIsCiJEaXYiOiAiXHUwNjJhXHUwNmFmIFx1MDYyOFx1MDYyZVx1MDYzNCAtIERpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNjMzXHUwNjMxXHUyMDBjXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IDIiLAoiUGFzdGUiOiAiXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IiwKIkNsb3NlIjogIlx1MDYyOFx1MDYzM1x1MDYyYVx1MDY0NiIsCiJGb250IEZhbWlseSI6ICJcdTA2NDFcdTA2NDhcdTA2NDZcdTA2MmEiLAoiUHJlIjogIlx1MDYyYVx1MDZhZiBcdTA2MmFcdTA2MjhcdTA2MmZcdTA2Y2NcdTA2NDQgXHUwNjI4XHUwNjQ3IFx1MDY0NVx1MDYyYVx1MDY0NiBcdTA2MzNcdTA2MjdcdTA2MmZcdTA2NDcgLSBQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIFx1MDY4Nlx1MDZjY1x1MDY0NiIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNjMzXHUwNjQ2XHUwNjJmIFx1MDYyY1x1MDYyZlx1MDZjY1x1MDYyZiIsCiJCbG9ja3F1b3RlIjogIlx1MDYyYVx1MDZhZiBcdTA2NDZcdTA2NDJcdTA2NDQgXHUwNjQyXHUwNjQ4XHUwNjQ0IC0gQmxvY2txdW90ZSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDY0NFx1MDZjY1x1MDYzM1x1MDYyYSBcdTA2MzRcdTA2NDVcdTA2MjdcdTA2MzFcdTA2NDcgXHUwNjI3XHUwNmNjIiwKIkhlYWRpbmcgMSI6ICJcdTA2MzNcdTA2MzFcdTIwMGNcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDcgMSIsCiJIZWFkaW5ncyI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDYyN1x1MDY0MVx1MDYzMlx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2MmFcdTA2NDggXHUwNjMxXHUwNjQxXHUwNjJhXHUwNmFmXHUwNmNjIiwKIkZvcm1hdHMiOiAiXHUwNjQyXHUwNjI3XHUwNjQ0XHUwNjI4IiwKIkhlYWRlcnMiOiAiXHUwNjMzXHUwNjMxXHUyMDBjXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3XHUyMDBjXHUwNjQ3XHUwNjI3IiwKIlNlbGVjdCBhbGwiOiAiXHUwNjI3XHUwNjQ2XHUwNjJhXHUwNjJlXHUwNjI3XHUwNjI4IFx1MDY0N1x1MDY0NVx1MDY0NyIsCiJIZWFkZXIgMyI6ICJcdTA2MzNcdTA2MzFcdTIwMGNcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDcgMyIsCiJCbG9ja3MiOiAiXHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNmE5IiwKIlVuZG8iOiAiXHRcblx1MDYyOFx1MDYyN1x1MDYzN1x1MDY0NCBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2MmVcdTA2MzcgXHUwNjJlXHUwNjQ4XHUwNjMxXHUwNjJmXHUwNjQ3IiwKIkJ1bGxldCBsaXN0IjogIlx1MDY0NFx1MDZjY1x1MDYzM1x1MDYyYSBcdTA2MmZcdTA2MjdcdTA2Y2NcdTA2MzFcdTA2NDcgXHUwNjI3XHUwNmNjIiwKIkhlYWRlciAxIjogIlx1MDYzM1x1MDYzMVx1MjAwY1x1MDYzNVx1MDY0MVx1MDYyZFx1MDY0NyAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDYyOFx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzMyAtIFx1MDYyZFx1MDYyN1x1MDY0NFx1MDYyYSBcdTA2MmFcdTA2NDhcdTA2MjdcdTA2NDYiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA2N2VcdTA2MjdcdTA2YTkgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOCBcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MiLAoiRm9udCBTaXplcyI6ICJcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2MzJcdTA2NDcgXHUwNjQxXHUwNjQ4XHUwNjQ2XHUwNjJhIiwKIlN1YnNjcmlwdCI6ICJcdTA2MzJcdTA2Y2NcdTA2MzEgXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzIC0gXHUwNjJkXHUwNjI3XHUwNjQ0XHUwNjJhIFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDYzMyIsCiJIZWFkZXIgNiI6ICJcdTA2MzNcdTA2MzFcdTIwMGNcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDcgNiIsCiJSZWRvIjogIlx1MDYyN1x1MDY0Nlx1MDYyY1x1MDYyN1x1MDY0NSBcdTA2MmZcdTA2NDhcdTA2MjhcdTA2MjdcdTA2MzFcdTA2NDciLAoiUGFyYWdyYXBoIjogIlx1MDYyYVx1MDZhZiBcdTA2N2VcdTA2MjdcdTA2MzFcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MjdcdTA2NDEgLSBQYXJhZ3JhcGgiLAoiT2siOiAiXHUwNjI4XHUwNjI3XHUwNjM0XHUwNjQ3IiwKIkJvbGQiOiAiXHUwNjJmXHUwNjMxXHUwNjM0XHUwNjJhIiwKIkNvZGUiOiAiXHUwNjJhXHUwNmFmIFx1MDZhOVx1MDYyZiAtIENvZGUiLAoiSXRhbGljIjogIlx1MDYyZVx1MDYzNyBcdTA2YTlcdTA2MmMiLAoiQWxpZ24gY2VudGVyIjogIlx1MDY0OFx1MDYzM1x1MDYzNyBcdTA2ODZcdTA2Y2NcdTA2NDYiLAoiSGVhZGVyIDUiOiAiXHUwNjMzXHUwNjMxXHUyMDBjXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IDUiLAoiSGVhZGluZyA2IjogIlx1MDYzM1x1MDYzMVx1MjAwY1x1MDYzNVx1MDY0MVx1MDYyZFx1MDY0NyA2IiwKIkhlYWRpbmcgMyI6ICJcdTA2MzNcdTA2MzFcdTIwMGNcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDcgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNmE5XHUwNjI3XHUwNjQ3XHUwNjM0IFx1MDYyYVx1MDY0OCBcdTA2MzFcdTA2NDFcdTA2MmFcdTA2YWZcdTA2Y2MiLAoiSGVhZGVyIDQiOiAiXHUwNjMzXHUwNjMxXHUyMDBjXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDY4Nlx1MDYzM1x1MDYyOFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2NDdcdTA2NDUgXHUwNjI3XHUwNmE5XHUwNjQ2XHUwNjQ4XHUwNjQ2IFx1MDYyZlx1MDYzMSBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2MmEgXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDYzM1x1MDYyN1x1MDYyZlx1MDY0NyBcdTA2MjdcdTA2MzNcdTA2MmEuIFx1MDYyYVx1MDYyNyBcdTA2MzJcdTA2NDVcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNmE5XHUwNjQ3IFx1MDYyN1x1MDZjY1x1MDY0NiBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2MmEgXHUwNjMxXHUwNjI3IFx1MDYzYVx1MDZjY1x1MDYzMVx1MjAwY1x1MDY0MVx1MDYzOVx1MDYyN1x1MDY0NCBcdTA2NDZcdTA2YTlcdTA2NDZcdTA2Y2NcdTA2MmZcdTA2MGMgXHUwNjQ1XHUwNjJkXHUwNjJhXHUwNjQ4XHUwNjI3IFx1MDYyZlx1MDYzMSBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2MmEgXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDYzM1x1MDYyN1x1MDYyZlx1MDY0NyBcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNjQ1XHUwNmNjXHUyMDBjXHUwNjM0XHUwNjQ4XHUwNjJmLiIsCiJVbmRlcmxpbmUiOiAiXHUwNjJlXHUwNjM3IFx1MDYzMlx1MDZjY1x1MDYzMSIsCiJDYW5jZWwiOiAiXHUwNjQ0XHUwNjNhXHUwNjQ4IiwKIkp1c3RpZnkiOiAiXHUwNjQ1XHUwNjMzXHUwNjI3XHUwNjQ4XHUwNmNjIFx1MDYyN1x1MDYzMiBcdTA2MzdcdTA2MzFcdTA2NDFcdTA2Y2NcdTA2NDYiLAoiSW5saW5lIjogIlx1MDYyZVx1MDYzN1x1MDZjYyIsCiJDb3B5IjogIlx1MDZhOVx1MDY3ZVx1MDZjYyIsCiJBbGlnbiBsZWZ0IjogIlx1MDY4Nlx1MDY3ZSBcdTA2ODZcdTA2Y2NcdTA2NDYiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNmE5XHUwNjQ1XHUwNmE5IFx1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MjhcdTA2MzVcdTA2MzFcdTA2Y2MiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDZhOVx1MDY0OFx1MDY4Nlx1MDZhOSIsCiJTcXVhcmUiOiAiXHUwNjQ1XHUwNjMxXHUwNjI4XHUwNjM5IiwKIkRlZmF1bHQiOiAiXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjQxXHUwNjMxXHUwNjM2IiwKIkxvd2VyIEFscGhhIjogIlx1MDYyMlx1MDY0NFx1MDY0MVx1MDYyN1x1MDYyMSBcdTA2YTlcdTA2NDhcdTA2ODZcdTA2YTkiLAoiQ2lyY2xlIjogIlx1MDYyZlx1MDYyN1x1MDZjY1x1MDYzMVx1MDY0NyIsCiJEaXNjIjogIlx1MDYyZlx1MDZjY1x1MDYzM1x1MDZhOSIsCiJVcHBlciBBbHBoYSI6ICJcdTA2MjJcdTA2NDRcdTA2NDFcdTA2MjdcdTA2MjEgXHUwNjI4XHUwNjMyXHUwNjMxXHUwNmFmIiwKIlVwcGVyIFJvbWFuIjogIlx1MDYzMVx1MDY0OFx1MDY0NVx1MDZjYyBcdTA2MjhcdTA2MzJcdTA2MzFcdTA2YWYiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNjMxXHUwNjQ4XHUwNjQ1XHUwNmNjIFx1MDZhOVx1MDY0OFx1MDY4Nlx1MDZhOSIsCiJOYW1lIjogIlx1MDY0Nlx1MDYyN1x1MDY0NSIsCiJBbmNob3IiOiAiXHUwNjQ0XHUwNjQ2XHUwNmFmXHUwNjMxIC0gXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNmE5IiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNjM0XHUwNjQ1XHUwNjI3IFx1MDYyYVx1MDYzYVx1MDZjY1x1MDZjY1x1MDYzMVx1MDYyN1x1MDYyYSBcdTA2MzBcdTA2MmVcdTA2Y2NcdTA2MzFcdTA2NDcgXHUwNjQ2XHUwNjM0XHUwNjJmXHUwNjQ3IFx1MDYyN1x1MDZjYyBcdTA2MmZcdTA2MjdcdTA2MzFcdTA2Y2NcdTA2MmZcdTA2MGMgXHUwNjIyXHUwNmNjXHUwNjI3IFx1MDY0NVx1MDYzN1x1MDY0NVx1MDYyNlx1MDY0Nlx1MDZjY1x1MDYyZiBcdTA2YTlcdTA2NDcgXHUwNjQ1XHUwNmNjXHUwNjJlXHUwNjQ4XHUwNjI3XHUwNjQ3XHUwNmNjXHUwNjJmIFx1MDYyN1x1MDYzMiBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IFx1MDYyOFx1MDYzMVx1MDY0OFx1MDZjY1x1MDYyZlx1MDYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNjI4XHUwNjI3XHUwNjMyXHUwNmFmXHUwNjMxXHUwNjJmXHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDYyMlx1MDYyZVx1MDYzMVx1MDZjY1x1MDY0NiBcdTA2N2VcdTA2Y2NcdTA2MzQgXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDZhOVx1MDYyN1x1MDYzMVx1MDYyN1x1MDZhOVx1MDYyYVx1MDYzMSBcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjJlXHUwNjI3XHUwNjM1IiwKIlNvdXJjZSBjb2RlIjogIlx1MDZhOVx1MDYyZiBcdTA2NDVcdTA2NDZcdTA2MjhcdTA2MzkiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA2MzFcdTA2MjdcdTA2MzNcdTA2MmEgXHUwNjI4XHUwNjQ3IFx1MDY4Nlx1MDY3ZSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDY4Nlx1MDY3ZSBcdTA2MjhcdTA2NDcgXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIiwKIkVtb3RpY29ucyI6ICJcdTA2MzRcdTA2YTlcdTA2NDRcdTA2YTlcdTIwMGNcdTA2NDdcdTA2MjciLAoiUm9ib3RzIjogIlx1MDYzMVx1MDYyOFx1MDYyN1x1MDYyYVx1MjAwY1x1MDY0N1x1MDYyNyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDY0OFx1MDZjY1x1MDY5OFx1MDZhZlx1MDZjY1x1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzNcdTA2NDZcdTA2MmYiLAoiVGl0bGUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIlx1MDZhOVx1MDY0NFx1MDY0NVx1MDYyN1x1MDYyYSBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmZcdTA2Y2MiLAoiRW5jb2RpbmciOiAiXHUwNmE5XHUwNjJmIFx1MDZhZlx1MDYzMFx1MDYyN1x1MDYzMVx1MDZjYyIsCiJEZXNjcmlwdGlvbiI6ICJcdTA2MmFcdTA2NDhcdTA2MzZcdTA2Y2NcdTA2MmRcdTA2MjdcdTA2MmEiLAoiQXV0aG9yIjogIlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDY0Nlx1MDYyZlx1MDY0NyIsCiJGdWxsc2NyZWVuIjogIlx1MDYyYVx1MDY0NVx1MDYyN1x1MDY0NSBcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDciLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDYyZVx1MDYzNyBcdTA2MjdcdTA2NDFcdTA2NDJcdTA2Y2MiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA2NDFcdTA2MzZcdTA2MjdcdTA2Y2MgXHUwNjI3XHUwNjQxXHUwNjQyXHUwNmNjIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDdcL1x1MDY0OFx1MDZjY1x1MDYzMVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYgXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxIiwKIkdlbmVyYWwiOiAiXHUwNjM5XHUwNjQ1XHUwNjQ4XHUwNjQ1XHUwNmNjIiwKIkFkdmFuY2VkIjogIlx1MDY3ZVx1MDZjY1x1MDYzNFx1MDYzMVx1MDY0MVx1MDYyYVx1MDY0NyIsCiJTb3VyY2UiOiAiXHUwNjQ1XHUwNjQ2XHUwNjI4XHUwNjM5IiwKIkJvcmRlciI6ICJcdTA2MmRcdTA2MjdcdTA2MzRcdTA2Y2NcdTA2NDciLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDYyZFx1MDY0MVx1MDYzOCBcdTA2MmFcdTA2NDZcdTA2MjdcdTA2MzNcdTA2MjgiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwNjQxXHUwNjM2XHUwNjI3XHUwNmNjIFx1MDYzOVx1MDY0NVx1MDY0OFx1MDYyZlx1MDZjYyIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA2MmFcdTA2NDhcdTA2MzZcdTA2Y2NcdTA2MmRcdTA2MjdcdTA2MmEgXHUwNjM5XHUwNmE5XHUwNjMzIiwKIlN0eWxlIjogIlx1MDYzM1x1MDYyOFx1MDZhOSIsCiJEaW1lbnNpb25zIjogIlx1MDYyN1x1MDYyOFx1MDYzOVx1MDYyN1x1MDYyZiIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzEiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MmFcdTA2MjdcdTA2MzFcdTA2Y2NcdTA2MmVcL1x1MDYzMlx1MDY0NVx1MDYyN1x1MDY0NiIsCiJSZW1vdmUgbGluayI6ICJcdTA2MmRcdTA2MzBcdTA2NDEgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNmE5IiwKIlVybCI6ICJcdTA2MjdcdTA2MmZcdTA2MzFcdTA2MzMgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNmE5IiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA2NDVcdTA2MmFcdTA2NDYgXHUwNjI4XHUwNjMxXHUwNjI3XHUwNmNjIFx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNCIsCiJBbmNob3JzIjogIlx1MDY0NFx1MDY0Nlx1MDZhZlx1MDYzMSAtIFx1MDY0NFx1MDZjY1x1MDY0Nlx1MDZhOSBcdTA2MmZcdTA2MjdcdTA2MmVcdTA2NDQgXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IiwKIkluc2VydCBsaW5rIjogIlx1MDYyN1x1MDYzNlx1MDYyN1x1MDY0MVx1MDY0NyBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNmE5IiwKIk5ldyB3aW5kb3ciOiAiXHUwNjdlXHUwNjQ2XHUwNjJjXHUwNjMxXHUwNjQ3IFx1MDYyY1x1MDYyZlx1MDZjY1x1MDYyZiIsCiJOb25lIjogIlx1MDY0N1x1MDZjY1x1MDY4NiBcdTA2YTlcdTA2MmZcdTA2MjdcdTA2NDUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiXHUwNjQ2XHUwNjJkXHUwNjQ4XHUwNjQ3IFx1MDYyOFx1MDYyN1x1MDYzMiBcdTA2MzRcdTA2MmZcdTA2NDYgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDYzMVx1MDY0OFx1MDYzMVx1MDZhZlx1MDYzMSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3XC9cdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0NFx1MDZjY1x1MDY0Nlx1MDZhOSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3XC9cdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0MVx1MDYyN1x1MDZjY1x1MDY0NCBcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzFcdTA2Y2MiLAoiUG9zdGVyIjogIlx1MDY3ZVx1MDY0OFx1MDYzM1x1MDYyYVx1MDYzMSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNjQ1XHUwNjQ2XHUwNjI4XHUwNjM5IFx1MDYyZlx1MDZjY1x1MDZhZlx1MDYzMSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDZhOVx1MDYyZiBcdTA2MmVcdTA2NDhcdTA2MmYgXHUwNjMxXHUwNjI3IFx1MDYyOFx1MDYzMVx1MDYyN1x1MDZjYyBcdTA2MmNcdTA2MjcgXHUwNjJmXHUwNjI3XHUwNjJmXHUwNjQ2IFx1MDYyZlx1MDYzMSBcdTA2MzNcdTA2MjdcdTA2Y2NcdTA2MmEgLSBlbWJlZCAtIFx1MDYwYyBcdTA2MmZcdTA2MzEgXHUwNjMyXHUwNmNjXHUwNjMxIFx1MDY0Mlx1MDYzMVx1MDYyN1x1MDYzMSBcdTA2MmZcdTA2NDdcdTA2Y2NcdTA2MmY6IiwKIkluc2VydCB2aWRlbyI6ICJcdTA2MjdcdTA2MzZcdTA2MjdcdTA2NDFcdTA2NDcgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0MVx1MDYyN1x1MDZjY1x1MDY0NCBcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzFcdTA2Y2MiLAoiRW1iZWQiOiAiXHUwNjJjXHUwNjI3IFx1MDYyZlx1MDYyN1x1MDYyZlx1MDY0NiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTA2NDFcdTA2MzZcdTA2MjdcdTA2Y2MgXHUwNjNhXHUwNmNjXHUwNjMxIFx1MDYzNFx1MDZhOVx1MDYzM1x1MDYyYVx1MDY0NiIsCiJQYWdlIGJyZWFrIjogIlx1MDYzNFx1MDZhOVx1MDYzM1x1MDYyYVx1MDY0NiBcdTA2MzVcdTA2NDFcdTA2MmRcdTA2NDciLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA2ODZcdTA2MzNcdTA2MjhcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDYgXHUwNjI4XHUwNjQ3IFx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiBcdTA2NDVcdTA2MmFcdTA2NDYiLAoiUHJldmlldyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzQgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IiwKIlByaW50IjogIlx1MDY4Nlx1MDYyN1x1MDY3ZSIsCiJTYXZlIjogIlx1MDYzMFx1MDYyZVx1MDZjY1x1MDYzMVx1MDY0NyIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNjMxXHUwNjM0XHUwNjJhXHUwNjQ3IFx1MDY0NVx1MDYyYVx1MDY0Nlx1MDZjYyBcdTA2NDVcdTA2NDhcdTA2MzFcdTA2MmYgXHUwNjQ2XHUwNjM4XHUwNjMxIFx1MDY3ZVx1MDZjY1x1MDYyZlx1MDYyNyBcdTA2NDZcdTA2MzRcdTA2MmYuIiwKIlJlcGxhY2UiOiAiXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJOZXh0IjogIlx1MDYyOFx1MDYzOVx1MDYyZlx1MDZjYyIsCiJXaG9sZSB3b3JkcyI6ICJcdTA2NDdcdTA2NDVcdTA2NDcgXHUwNmE5XHUwNjQ0XHUwNjQ1XHUwNjQ3XHUyMDBjXHUwNjQ3XHUwNjI3IiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNjJjXHUwNjMzXHUwNjJhXHUyMDBjXHUwNjQ4XHUyMDBjXHUwNjJjXHUwNjQ4IFx1MDY0OCBcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDYyOFx1MDYyNyIsCiJGaW5kIjogIlx1MDYyY1x1MDYzM1x1MDYyYVx1MjAwY1x1MDY0OFx1MjAwY1x1MDYyY1x1MDY0OCIsCiJSZXBsYWNlIGFsbCI6ICJcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDYgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0N1x1MDY0NVx1MDY0NyIsCiJNYXRjaCBjYXNlIjogIlx1MDYyZFx1MDYzM1x1MDYyN1x1MDYzMyBcdTA2MjhcdTA2NDcgXHUwNjJkXHUwNjMxXHUwNjQ4XHUwNjQxIFx1MDZhOVx1MDY0OFx1MDY4Nlx1MDZhOSBcdTA2NDggXHUwNjI4XHUwNjMyXHUwNjMxXHUwNmFmIiwKIlByZXYiOiAiXHUwNjQyXHUwNjI4XHUwNjQ0XHUwNmNjIiwKIlNwZWxsY2hlY2siOiAiXHUwNjI4XHUwNjMxXHUwNjMxXHUwNjMzXHUwNmNjIFx1MDYyN1x1MDY0NVx1MDY0NFx1MDYyN1x1MDZjY1x1MDZjYyIsCiJGaW5pc2giOiAiXHUwNjdlXHUwNjI3XHUwNmNjXHUwNjI3XHUwNjQ2IiwKIklnbm9yZSBhbGwiOiAiXHUwNjQ2XHUwNjI3XHUwNjJmXHUwNmNjXHUwNjJmXHUwNjQ3IFx1MDZhZlx1MDYzMVx1MDY0MVx1MDYyYVx1MDY0NiBcdTA2NDdcdTA2NDVcdTA2NDciLAoiSWdub3JlIjogIlx1MDY0Nlx1MDYyN1x1MDYyZlx1MDZjY1x1MDYyZlx1MDY0NyBcdTA2YWZcdTA2MzFcdTA2NDFcdTA2MmFcdTA2NDYiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzEgXHUwNjJjXHUwNjJmXHUwNmNjXHUwNjJmIFx1MDY0Mlx1MDYyOFx1MDY0NCBcdTA2MjdcdTA2MzIgXHUwNjI3XHUwNmNjXHUwNjQ2IFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJSb3dzIjogIlx1MDYyYVx1MDYzOVx1MDYyZlx1MDYyN1x1MDYyZiBcdTA2MzNcdTA2MzdcdTA2MzFcdTIwMGNcdTA2NDdcdTA2MjciLAoiSGVpZ2h0IjogIlx1MDYyN1x1MDYzMVx1MDYyYVx1MDY0MVx1MDYyN1x1MDYzOSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDYzM1x1MDYzN1x1MDYzMVx1MDYwYyBcdTA2MjhcdTA2MzlcdTA2MmYgXHUwNjI3XHUwNjMyIFx1MDYyN1x1MDZjY1x1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiQWxpZ25tZW50IjogIlx1MDYzMVx1MDYyZlx1MDZjY1x1MDY0MSBcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNjM0XHUwNjJhXHUwNjQ3IiwKIkNvbHVtbiBncm91cCI6ICJcdTA2YWZcdTA2MzFcdTA2NDhcdTA2NDcgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ2IiwKIlJvdyI6ICJcdTA2MzNcdTA2MzdcdTA2MzEiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYgXHUwNjJjXHUwNjJmXHUwNmNjXHUwNjJmIFx1MDY0Mlx1MDYyOFx1MDY0NCBcdTA2MjdcdTA2MzIgXHUwNjI3XHUwNmNjXHUwNjQ2IFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0NiIsCiJTcGxpdCBjZWxsIjogIlx1MDYyYVx1MDY0Mlx1MDYzM1x1MDZjY1x1MDY0NSBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQgXHUwNjJjXHUwNjJmXHUwNjQ4XHUwNjQ0IiwKIkNlbGwgcGFkZGluZyI6ICJcdTA2MmRcdTA2MjdcdTA2MzRcdTA2Y2NcdTA2NDcgXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0IFx1MDY0N1x1MDYyNyIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNjQxXHUwNjI3XHUwNjM1XHUwNjQ0XHUwNjQ3XHUyMDBjXHUwNmNjIFx1MDYyOFx1MDZjY1x1MDY0NiBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQgXHUwNjQ3XHUwNjI3IiwKIlJvdyB0eXBlIjogIlx1MDY0Nlx1MDY0OFx1MDYzOSBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDYyN1x1MDYzNlx1MDYyN1x1MDY0MVx1MDY0NyBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYgXHUwNjJjXHUwNjJmXHUwNjQ4XHUwNjQ0IiwKIkJvZHkiOiAiXHUwNjI4XHUwNjJmXHUwNjQ2XHUwNjQ3IiwKIkNhcHRpb24iOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIkZvb3RlciI6ICJcdTA2N2VcdTA2MjdcdTA2NDZcdTA2NDhcdTA2Y2NcdTA2MzMiLAoiRGVsZXRlIHJvdyI6ICJcdTA2MmRcdTA2MzBcdTA2NDEgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDYzM1x1MDYzN1x1MDYzMVx1MDYwYyBcdTA2NDJcdTA2MjhcdTA2NDQgXHUwNjI3XHUwNjMyIFx1MDYyN1x1MDZjY1x1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiU2NvcGUiOiAiXHUwNjQ1XHUwNjJkXHUwNjJmXHUwNjQ4XHUwNjJmXHUwNjQ3XHUyMDBjXHUwNmNjIFx1MDYzOVx1MDY0Nlx1MDY0OFx1MDYyN1x1MDY0NiIsCiJEZWxldGUgdGFibGUiOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDYyY1x1MDYyZlx1MDY0OFx1MDY0NCIsCiJIZWFkZXIgY2VsbCI6ICJcdTA2MzNcdTA2MzFcdTA2MjJcdTA2Y2NcdTA2NDZcdTA2MmYgXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0IiwKIkNvbHVtbiI6ICJcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYiLAoiQ2VsbCI6ICJcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQiLAoiSGVhZGVyIjogIlx1MDYzM1x1MDYzMVx1MDYyMlx1MDZjY1x1MDY0Nlx1MDYyZiIsCiJDZWxsIHR5cGUiOiAiXHUwNjQ2XHUwNjQ4XHUwNjM5IFx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NCIsCiJDb3B5IHJvdyI6ICJcdTA2YTlcdTA2N2VcdTA2Y2MgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDY0OFx1MDZjY1x1MDY5OFx1MDZhZlx1MDZjY1x1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA2NDhcdTA2Y2NcdTA2OThcdTA2YWZcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjJjXHUwNjJmXHUwNjQ4XHUwNjQ0IiwKIlJvdyBncm91cCI6ICJcdTA2YWZcdTA2MzFcdTA2NDhcdTA2NDcgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIlJpZ2h0IjogIlx1MDYzMVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDYyN1x1MDYzNlx1MDYyN1x1MDY0MVx1MDY0NyBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ2IFx1MDYyY1x1MDYyZlx1MDZjY1x1MDYyZiBcdTA2MjhcdTA2MzlcdTA2MmYgXHUwNjI3XHUwNjMyIFx1MDYyN1x1MDZjY1x1MDY0NiBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYiLAoiQ29scyI6ICJcdTA2MmFcdTA2MzlcdTA2MmZcdTA2MjdcdTA2MmYgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ2XHUyMDBjXHUwNjQ3XHUwNjI3IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNjI3XHUwNjM2XHUwNjI3XHUwNjQxXHUwNjQ3IFx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzEgXHUwNjJjXHUwNjJmXHUwNmNjXHUwNjJmIFx1MDYyOFx1MDYzOVx1MDYyZiBcdTA2MjdcdTA2MzIgXHUwNjI3XHUwNmNjXHUwNjQ2IFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJXaWR0aCI6ICJcdTA2MzlcdTA2MzFcdTA2MzYiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDY0OFx1MDZjY1x1MDY5OFx1MDZhZlx1MDZjY1x1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQiLAoiTGVmdCI6ICJcdTA2ODZcdTA2N2UiLAoiQ3V0IHJvdyI6ICJcdTA2MjhcdTA2MzFcdTA2MzQgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0NiIsCiJDZW50ZXIiOiAiXHUwNjQ4XHUwNjMzXHUwNjM3IiwKIk1lcmdlIGNlbGxzIjogIlx1MDYyN1x1MDYyZlx1MDYzYVx1MDYyN1x1MDY0NSBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDRcdTIwMGNcdTA2NDdcdTA2MjciLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyN1x1MDYzNlx1MDYyN1x1MDY0MVx1MDY0NyBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYgXHUwNjI3XHUwNjQ0XHUwNmFmXHUwNjQ4IiwKIlRlbXBsYXRlcyI6ICJcdTA2MjdcdTA2NDRcdTA2YWZcdTA2NDhcdTIwMGNcdTA2NDdcdTA2MjciLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA2MzFcdTA2NDZcdTA2YWYgXHUwNjMyXHUwNjQ1XHUwNmNjXHUwNjQ2XHUwNjQ3IFx1MDY0NVx1MDYyYVx1MDY0NiIsCiJUZXh0IGNvbG9yIjogIlx1MDYzMVx1MDY0Nlx1MDZhZiBcdTA2NDVcdTA2MmFcdTA2NDYiLAoiU2hvdyBibG9ja3MiOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyOFx1MDYyZVx1MDYzNFx1MjAwY1x1MDY0N1x1MDYyNyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2YTlcdTA2MjdcdTA2MzFcdTA2MjdcdTA2YTlcdTA2MmFcdTA2MzFcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjNhXHUwNmNjXHUwNjMxIFx1MDY0Mlx1MDYyN1x1MDYyOFx1MDY0NCBcdTA2ODZcdTA2MjdcdTA2N2UiLAoiV29yZHM6IHswfSI6ICJcdTA2YTlcdTA2NDRcdTA2NDVcdTA2MjdcdTA2MmEgOiB7MH0iLAoiSW5zZXJ0IjogIlx1MDYyN1x1MDYzNlx1MDYyN1x1MDY0MVx1MDY0NyBcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYiLAoiRmlsZSI6ICJcdTA2N2VcdTA2MzFcdTA2NDhcdTA2NDZcdTA2MmZcdTA2NDciLAoiRWRpdCI6ICJcdTA2NDhcdTA2Y2NcdTA2MzFcdTA2MjdcdTA2Y2NcdTA2MzQiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNjQ4XHUwNmNjXHUwNjMxXHUwNjI3XHUwNmNjXHUwNjM0XHUwNmFmXHUwNjMxIFx1MDY3ZVx1MDZjY1x1MDYzNFx1MDYzMVx1MDY0MVx1MDYyYVx1MDY0N1x1MjAwY1x1MDZjYyBcdTA2NDVcdTA2MmFcdTA2NDYuIFx1MDYyOFx1MDYzMVx1MDYyN1x1MDZjYyBcdTA2MmZcdTA2MzNcdTA2MmFcdTA2MzFcdTA2MzNcdTA2Y2MgXHUwNjI4XHUwNjQ3IFx1MDY0NVx1MDY0Nlx1MDY0OCBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmZcdTA2NDdcdTA2MjdcdTA2Y2MgQUxULUY5XHUwNjBjIFx1MDY0Nlx1MDY0OFx1MDYyN1x1MDYzMSBcdTA2MjdcdTA2MjhcdTA2MzJcdTA2MjdcdTA2MzEgQUxULUYxMCBcdTA2NDggXHUwNjI4XHUwNjMxXHUwNjI3XHUwNmNjIFx1MDY0NVx1MDYzNFx1MDYyN1x1MDY0N1x1MDYyZlx1MDY0N1x1MjAwY1x1MDZjYyBcdTA2MzFcdTA2MjdcdTA2NDdcdTA2NDZcdTA2NDVcdTA2MjcgQUxULTAgXHUwNjMxXHUwNjI3IFx1MDY0MVx1MDYzNFx1MDYyN1x1MDYzMSBcdTA2MmZcdTA2NDdcdTA2Y2NcdTA2MmYuIiwKIlRvb2xzIjogIlx1MDYyN1x1MDYyOFx1MDYzMlx1MDYyN1x1MDYzMVx1MDY0N1x1MDYyNyIsCiJWaWV3IjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNCIsCiJUYWJsZSI6ICJcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiRm9ybWF0IjogIlx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOCIsCiJfZGlyIjogInJ0bCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fa_IR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmYV9JUicsewoiQ3V0IjogIlx1MDYyOFx1MDYzMVx1MDYzNCIsCiJIZWFkaW5nIDUiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDUiLAoiSGVhZGVyIDIiOiAiXHUwNjMzXHUwNjMxIFx1MDYyMlx1MDY0NVx1MDYyZiAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDY0NVx1MDYzMVx1MDY0OFx1MDYzMVx1MDZhZlx1MDYzMSBcdTA2MzRcdTA2NDVcdTA2MjcgXHUwNjJmXHUwNjMzXHUwNjJhXHUwNjMxXHUwNjMzXHUwNmNjIFx1MDY0NVx1MDYzM1x1MDYyYVx1MDY0Mlx1MDZjY1x1MDY0NSBcdTA2MjhcdTA2NDcgXHUwNmE5XHUwNjQ0XHUwNmNjXHUwNjdlIFx1MDYyOFx1MDY0OFx1MDYzMVx1MDYyZiBcdTA2MzFcdTA2MjcgXHUwNjdlXHUwNjM0XHUwNjJhXHUwNmNjXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0Nlx1MDY0NVx1MDZjYyBcdTA2YTlcdTA2NDZcdTA2MmZcdTA2MGMgXHUwNjQ0XHUwNjM3XHUwNjQxXHUwNjI3IFx1MDYyN1x1MDYzMiBcdTA2NDVcdTA2Y2NcdTA2MjdcdTA2NDZcdTA2MjhcdTA2MzFcdTA2NDdcdTA2MjdcdTA2Y2MgIEN0cmwrWFwvQ1wvViAgXHUwNjM1XHUwNjQxXHUwNjJkXHUwNjQ3IFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZiBcdTA2MjdcdTA2MzNcdTA2MmFcdTA2NDFcdTA2MjdcdTA2MmZcdTA2NDcgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNmNjXHUwNjJmIC4gIiwKIkhlYWRpbmcgNCI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgNCIsCiJEaXYiOiAiXHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNmE5IFx1MDYyY1x1MDYyZlx1MDYyNyBcdTA2MzNcdTA2MjdcdTA2MzIgKFx1MDYyYVx1MDZhZiBEaXYpIiwKIkhlYWRpbmcgMiI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgMiIsCiJQYXN0ZSI6ICJcdTA2ODZcdTA2MzNcdTA2MjhcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDYiLAoiQ2xvc2UiOiAiXHUwNjI4XHUwNjMzXHUwNjJhXHUwNjQ2IiwKIkZvbnQgRmFtaWx5IjogIlx1MDY0Nlx1MDY0OFx1MDYzOSBcdTA2NDJcdTA2NDRcdTA2NDUiLAoiUHJlIjogIlx1MDYyOFx1MDY0NFx1MDY0OFx1MDZhOSBcdTA2NDVcdTA2MmFcdTA2NDYgXHUwNjQyXHUwNjI3XHUwNjQ0XHUwNjI4IFx1MDYyZlx1MDYyN1x1MDYzMSAoXHUwNjJhXHUwNmFmIFByZSkiLAoiQWxpZ24gcmlnaHQiOiAiXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIFx1MDY4Nlx1MDZjY1x1MDY0NiIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNjMzXHUwNjQ2XHUwNjJmIFx1MDYyY1x1MDYyZlx1MDZjY1x1MDYyZiIsCiJCbG9ja3F1b3RlIjogIlx1MDYyOFx1MDY0NFx1MDY0OFx1MDZhOSBcdTA2NDZcdTA2NDJcdTA2NDQgXHUwNjQyXHUwNjQ4XHUwNjQ0IChcdTA2MmFcdTA2YWYgQmxvY2tRdW90ZSkiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA2NDFcdTA2NDdcdTA2MzFcdTA2MzNcdTA2MmEgXHUwNjM0XHUwNjQ1XHUwNjI3XHUwNjMxXHUwNjQ3IFx1MDYyZlx1MDYyN1x1MDYzMSIsCiJIZWFkaW5nIDEiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDEiLAoiSGVhZGluZ3MiOiAiXHUwNjM5XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmNjXHUwNjQ2IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTA2MjdcdTA2NDFcdTA2MzJcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNjJhXHUwNjQ4XHUwNjMxXHUwNjQxXHUwNjJhXHUwNmFmXHUwNmNjIiwKIkZvcm1hdHMiOiAiXHUwNjQyXHUwNjI3XHUwNjQ0XHUwNjI4IFx1MDY0N1x1MDYyNyIsCiJIZWFkZXJzIjogIlx1MDYzM1x1MDYzMSBcdTA2MjJcdTA2NDVcdTA2MmZcdTA2NDdcdTA2MjciLAoiU2VsZWN0IGFsbCI6ICJcdTA2MjdcdTA2NDZcdTA2MmFcdTA2MmVcdTA2MjdcdTA2MjggXHUwNjQ3XHUwNjQ1XHUwNjQ3IiwKIkhlYWRlciAzIjogIlx1MDYzM1x1MDYzMSBcdTA2MjJcdTA2NDVcdTA2MmYgMyIsCiJCbG9ja3MiOiAiXHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNmE5IFx1MDY0N1x1MDYyNyIsCiJVbmRvIjogIlx1MDYyOFx1MDYyN1x1MDYzMiBcdTA2YWZcdTA2MzFcdTA2MmZcdTA2MjdcdTA2NDYiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2MmVcdTA2MzcgXHUwNjJlXHUwNjQ4XHUwNjMxXHUwNjJmXHUwNjQ3IiwKIkJ1bGxldCBsaXN0IjogIlx1MDY0MVx1MDY0N1x1MDYzMVx1MDYzM1x1MDYyYSBcdTA2NDZcdTA2MzRcdTA2MjdcdTA2NDZcdTA2NDcgXHUwNjJmXHUwNjI3XHUwNjMxIiwKIkhlYWRlciAxIjogIlx1MDYzM1x1MDYzMSBcdTA2MjJcdTA2NDVcdTA2MmYgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTA2NDZcdTA2NDVcdTA2MjciLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA2N2VcdTA2MjdcdTA2YTkgXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOCBcdTA2MjhcdTA2NDZcdTA2MmZcdTA2Y2MiLAoiRm9udCBTaXplcyI6ICJcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2MzJcdTA2NDdcdTA2MjEgXHUwNjQyXHUwNjQ0XHUwNjQ1IiwKIlN1YnNjcmlwdCI6ICJcdTA2N2VcdTA2MjdcdTA2Y2NcdTA2NDciLAoiSGVhZGVyIDYiOiAiXHUwNjMzXHUwNjMxIFx1MDYyMlx1MDY0NVx1MDYyZiA2IiwKIlJlZG8iOiAiXHUwNjI4XHUwNjI3XHUwNjMyIFx1MDY0Nlx1MDYzNFx1MDYyN1x1MDY0NiIsCiJQYXJhZ3JhcGgiOiAiXHUwNjdlXHUwNjI3XHUwNjMxXHUwNjI3XHUwNmFmXHUwNjMxXHUwNjI3XHUwNjQxIChcdTA2MmFcdTA2YWYgUCkiLAoiT2siOiAiXHUwNjJhXHUwNjI3XHUwNmNjXHUwNmNjXHUwNjJmIiwKIkJvbGQiOiAiXHUwNjJmXHUwNjMxXHUwNjM0XHUwNjJhIiwKIkNvZGUiOiAiXHUwNjI4XHUwNjQ0XHUwNjQ4XHUwNmE5IFx1MDZhOVx1MDYyZlx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDZjYyAoXHUwNjJhXHUwNmE5IENvZGUpIiwKIkl0YWxpYyI6ICJcdTA2YTlcdTA2MmMiLAoiQWxpZ24gY2VudGVyIjogIlx1MDY0OFx1MDYzM1x1MDYzNyBcdTA2ODZcdTA2Y2NcdTA2NDYiLAoiSGVhZGVyIDUiOiAiXHUwNjMzXHUwNjMxIFx1MDYyMlx1MDY0NVx1MDYyZiA1IiwKIkhlYWRpbmcgNiI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDZhOVx1MDYyN1x1MDY0N1x1MDYzNCBcdTA2MmFcdTA2NDhcdTA2MzFcdTA2NDFcdTA2MmFcdTA2YWZcdTA2Y2MiLAoiSGVhZGVyIDQiOiAiXHUwNjMzXHUwNjMxIFx1MDYyMlx1MDY0NVx1MDYyZiA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA2MjdcdTA2NDVcdTA2YTlcdTA2MjdcdTA2NDYgXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2XHUwNjBjIFx1MDYyZlx1MDYzMSBcdTA2MmRcdTA2MjdcdTA2NDRcdTA2MmEgXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDYyZVx1MDYyN1x1MDY0NFx1MDYzNSBcdTA2MmFcdTA2NDZcdTA2MzhcdTA2Y2NcdTA2NDUgXHUwNmFmXHUwNjM0XHUwNjJhXHUwNjQ3LiBcdTA2MmFcdTA2MjcgXHUwNjMyXHUwNjQ1XHUwNjI3XHUwNjQ2IFx1MDYyYVx1MDYzYVx1MDZjY1x1MDZjY1x1MDYzMSBcdTA2MjdcdTA2Y2NcdTA2NDYgXHUwNjJkXHUwNjI3XHUwNjQ0XHUwNjJhXHUwNjBjIFx1MDY0NVx1MDYyZFx1MDYyYVx1MDY0OFx1MDYyN1x1MDZjYyBcdTA2NDVcdTA2NDhcdTA2MzFcdTA2MmYgXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2XHUwNjBjIFx1MDYyOFx1MDY0NyBcdTA2MzVcdTA2NDhcdTA2MzFcdTA2MmEgXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDYyZVx1MDYyN1x1MDY0NFx1MDYzNSBcdTA2MmVcdTA2NDhcdTA2MjdcdTA2NDdcdTA2MmYgXHUwNjg2XHUwNjMzXHUwNjI4XHUwNmNjXHUwNjJmLiIsCiJVbmRlcmxpbmUiOiAiXHUwNjMyXHUwNmNjXHUwNjMxIFx1MDYyZVx1MDYzNyIsCiJDYW5jZWwiOiAiXHUwNjI3XHUwNjQ2XHUwNjM1XHUwNjMxXHUwNjI3XHUwNjQxIiwKIkp1c3RpZnkiOiAiXHUwNjJhXHUwNjMxXHUwNjI3XHUwNjMyIFx1MDYyZlx1MDY0OCBcdTA2MzdcdTA2MzFcdTA2NDFcdTA2NDciLAoiSW5saW5lIjogIlx1MDYzMVx1MDY0OCBcdTA2MmVcdTA2MzciLAoiQ29weSI6ICJcdTA2MzFcdTA2NDhcdTA2NDZcdTA2NDhcdTA2Y2NcdTA2MzNcdTA2Y2MiLAoiQWxpZ24gbGVmdCI6ICJcdTA2ODZcdTA2N2UgXHUwNjg2XHUwNmNjXHUwNjQ2IiwKIlZpc3VhbCBhaWRzIjogIlx1MDZhOVx1MDY0NVx1MDZhOSBcdTA2MjhcdTA2MzVcdTA2MzFcdTA2Y2MiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNjJkXHUwNjMxXHUwNjQ4XHUwNjQxIFx1MDZhOVx1MDY0OFx1MDY4Nlx1MDZhOSBcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MjdcdTA2NDZcdTA2Y2MiLAoiU3F1YXJlIjogIlx1MDY4Nlx1MDY0N1x1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDhcdTA2MzQiLAoiRGVmYXVsdCI6ICJcdTA2N2VcdTA2Y2NcdTA2MzQgXHUwNjQxXHUwNjMxXHUwNjM2IiwKIkxvd2VyIEFscGhhIjogIlx1MDYyZFx1MDYzMVx1MDY0OFx1MDY0MSBcdTA2YTlcdTA2NDhcdTA2ODZcdTA2YTkiLAoiQ2lyY2xlIjogIlx1MDYyZlx1MDYyN1x1MDZjY1x1MDYzMVx1MDY0NyIsCiJEaXNjIjogIlx1MDYyZlx1MDYyN1x1MDZjY1x1MDYzMVx1MDY0N1x1MDYyMSBcdTA2MmFcdTA2NDhcdTA2N2VcdTA2MzEiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNjJkXHUwNjMxXHUwNjQ4XHUwNjQxIFx1MDYyOFx1MDYzMlx1MDYzMVx1MDZhZiIsCiJVcHBlciBSb21hbiI6ICJcdTA2MjdcdTA2MzFcdTA2NDJcdTA2MjdcdTA2NDUgXHUwNjI4XHUwNjMyXHUwNjMxXHUwNmFmIFx1MDYzMVx1MDY0OFx1MDY0NVx1MDZjYyIsCiJMb3dlciBSb21hbiI6ICJcdTA2MjdcdTA2MzFcdTA2NDJcdTA2MjdcdTA2NDUgXHUwNmE5XHUwNjQ4XHUwNjg2XHUwNmE5IFx1MDYzMVx1MDY0OFx1MDY0NVx1MDZjYyIsCiJOYW1lIjogIlx1MDY0Nlx1MDYyN1x1MDY0NSIsCiJBbmNob3IiOiAiXHUwNjQyXHUwNjQ0XHUwNjI3XHUwNjI4IiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNjJhXHUwNjNhXHUwNmNjXHUwNmNjXHUwNjMxXHUwNjI3XHUwNjJhIFx1MDYzNFx1MDY0NVx1MDYyNyBcdTA2MzBcdTA2MmVcdTA2Y2NcdTA2MzFcdTA2NDcgXHUwNjQ2XHUwNjM0XHUwNjJmXHUwNjQ3IFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDYwYyBcdTA2MjJcdTA2Y2NcdTA2MjcgXHUwNjJjXHUwNjQ3XHUwNjJhIFx1MDYyZVx1MDYzMVx1MDY0OFx1MDYyYyBcdTA2MjdcdTA2MzdcdTA2NDVcdTA2Y2NcdTA2NDZcdTA2MjdcdTA2NDYgXHUwNjJmXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJmXHUwNjFmIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA2MjhcdTA2MjdcdTA2MzJcdTA2Y2NcdTA2MjdcdTA2MjhcdTA2Y2MgXHUwNjIyXHUwNjJlXHUwNjMxXHUwNmNjXHUwNjQ2IFx1MDY3ZVx1MDZjY1x1MDYzNCBcdTA2NDZcdTA2NDhcdTA2Y2NcdTA2MzMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzXHUwNjQ3IFx1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MmVcdTA2MjdcdTA2MzUiLAoiU291cmNlIGNvZGUiOiAiXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDZhOVx1MDYyZiBcdTA2NDVcdTA2NDZcdTA2MjhcdTA2MzkiLAoiQiI6ICJcdTA2MjJcdTA2MjhcdTA2Y2MiLAoiUiI6ICJcdTA2NDJcdTA2MzFcdTA2NDVcdTA2MzIiLAoiRyI6ICJcdTA2MzNcdTA2MjhcdTA2MzIiLAoiQ29sb3IiOiAiXHUwNjMxXHUwNjQ2XHUwNmFmIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIFx1MDYyOFx1MDY0NyBcdTA2ODZcdTA2N2UiLAoiTGVmdCB0byByaWdodCI6ICJcdTA2ODZcdTA2N2UgXHUwNjI4XHUwNjQ3IFx1MDYzMVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJFbW90aWNvbnMiOiAiXHUwNjM1XHUwNjQ4XHUwNjMxXHUwNjJhXHUwNmE5IFx1MDY0N1x1MDYyNyIsCiJSb2JvdHMiOiAiXHUwNjMxXHUwNjQ4XHUwNjI4XHUwNjI3XHUwNjJhXHUwNjQ3XHUwNjI3IiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjQ2XHUwNjM4XHUwNmNjXHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYzM1x1MDY0Nlx1MDYyZiIsCiJUaXRsZSI6ICJcdTA2MzlcdTA2NDZcdTA2NDhcdTA2MjdcdTA2NDYiLAoiS2V5d29yZHMiOiAiXHUwNjQ4XHUwNjI3XHUwNjk4XHUwNmFmXHUwNjI3XHUwNjQ2IFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZlx1MDZjYyIsCiJFbmNvZGluZyI6ICJcdTA2YTlcdTA2MmZcdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjQ1XHUwNjJhXHUwNjQ2IiwKIkRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0OFx1MDYzNlx1MDZjY1x1MDYyZCIsCiJBdXRob3IiOiAiXHUwNjQ1XHUwNjQ4XHUwNjQ0XHUwNjQxIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNjJhXHUwNjQ1XHUwNjI3XHUwNjQ1IFx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0NyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNjJlXHUwNjM3IFx1MDYyN1x1MDY0MVx1MDY0Mlx1MDZjYyIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDY0MVx1MDYzNlx1MDYyN1x1MDZjYyBcdTA2MjdcdTA2NDFcdTA2NDJcdTA2Y2MiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDYyZlx1MDYzMVx1MDYyY1wvXHUwNjQ4XHUwNmNjXHUwNjMxXHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJHZW5lcmFsIjogIlx1MDYzOVx1MDY0NVx1MDY0OFx1MDY0NVx1MDZjYyIsCiJBZHZhbmNlZCI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MzFcdTA2NDFcdTA2MmFcdTA2NDciLAoiU291cmNlIjogIlx1MDY0NVx1MDY0Nlx1MDYyOFx1MDYzOSIsCiJCb3JkZXIiOiAiXHUwNjQ0XHUwNjI4XHUwNjQ3IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA2MmRcdTA2NDFcdTA2MzggXHUwNjJhXHUwNjQ2XHUwNjI3XHUwNjMzXHUwNjI4IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDY0MVx1MDYzNlx1MDYyN1x1MDZjYyBcdTA2MzlcdTA2NDVcdTA2NDhcdTA2MmZcdTA2Y2MiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNjJhXHUwNjQ4XHUwNjM1XHUwNmNjXHUwNjQxIFx1MDYyYVx1MDYzNVx1MDY0OFx1MDZjY1x1MDYzMSIsCiJTdHlsZSI6ICJcdTA2MzNcdTA2MjhcdTA2YTkiLAoiRGltZW5zaW9ucyI6ICJcdTA2MjdcdTA2MjhcdTA2MzlcdTA2MjdcdTA2MmYiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzEiLAoiWm9vbSBpbiI6ICJcdTA2MjhcdTA2MzJcdTA2MzFcdTA2YWYgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNmNjIiwKIkNvbnRyYXN0IjogIlx1MDYyYVx1MDYzNlx1MDYyN1x1MDYyZiBcdTA2MzFcdTA2NDZcdTA2YWYiLAoiQmFjayI6ICJcdTA2MjhcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MzRcdTA2MmEiLAoiR2FtbWEiOiAiXHUwNmFmXHUwNjI3XHUwNjQ1XHUwNjI3IiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1MDY0Mlx1MDYzMVx1MDZjY1x1MDY0Nlx1MDY0NyBcdTA2MjdcdTA2NDFcdTA2NDJcdTA2Y2MiLAoiUmVzaXplIjogIlx1MDYyYVx1MDYzYVx1MDZjY1x1MDZjY1x1MDYzMSBcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2MzJcdTA2NDciLAoiU2hhcnBlbiI6ICJcdTA2MjhcdTA2NDdcdTA2MjhcdTA2NDhcdTA2MmYgXHUwNjQ0XHUwNjI4XHUwNjQ3IiwKIlpvb20gb3V0IjogIlx1MDZhOVx1MDY0OFx1MDY4Nlx1MDZhOSBcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTA2MmFcdTA2NDZcdTA2MzhcdTA2Y2NcdTA2NDVcdTA2MjdcdTA2MmEgXHUwNjJhXHUwNjM1XHUwNjQ4XHUwNmNjXHUwNjMxIiwKIkFwcGx5IjogIlx1MDYyN1x1MDY1MFx1MDYzOVx1MDY0NVx1MDYyN1x1MDY0NCIsCiJCcmlnaHRuZXNzIjogIlx1MDYzMVx1MDY0OFx1MDYzNFx1MDY0Nlx1MDYyN1x1MDZjY1x1MDZjYyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDYyZlx1MDY0ZVx1MDY0OFx1MDY0ZVx1MDYzMVx1MDYyN1x1MDY0NiBcdTA2MzNcdTA2MjdcdTA2MzlcdTA2MmEgXHUwNmFmXHUwNjMxXHUwNjJmIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlx1MDYyZlx1MDY0ZVx1MDY0OFx1MDY0ZVx1MDYzMVx1MDYyN1x1MDY0NiBcdTA2N2VcdTA2MjdcdTA2MmYgXHUwNjMzXHUwNjI3XHUwNjM5XHUwNjJhIFx1MDZhZlx1MDYzMVx1MDYyZiIsCiJFZGl0IGltYWdlIjogIlx1MDY0OFx1MDZjY1x1MDYzMVx1MDYyN1x1MDYzM1x1MDYyYSBcdTA2MmFcdTA2MzVcdTA2NDhcdTA2Y2NcdTA2MzEiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MDYzM1x1MDYzN1x1MDY0OFx1MDYyZCBcdTA2MzFcdTA2NDZcdTA2YWYiLAoiQ3JvcCI6ICJcdTA2MjhcdTA2NGZcdTA2MzFcdTA2MzQgXHUwNjJmXHUwNjRmXHUwNjQ4XHUwNjMxIiwKIk9yaWVudGF0aW9uIjogIlx1MDZhZlx1MDY1MFx1MDYzMVx1MDYyNyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHUwNjQyXHUwNjMxXHUwNmNjXHUwNjQ2XHUwNjQ3IFx1MDYzOVx1MDY0NVx1MDY0OFx1MDYyZlx1MDZjYyIsCiJJbnZlcnQiOiAiXHUwNjI4XHUwNjMxXHUwNmFmXHUwNjM0XHUwNjJhIFx1MDYzMVx1MDY0Nlx1MDZhZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlXC9cdTA2MzJcdTA2NDVcdTA2MjdcdTA2NDYiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDY3ZVx1MDZjY1x1MDY0OFx1MDY0Nlx1MDYyZiIsCiJVcmwiOiAiXHUwNjIyXHUwNjJmXHUwNjMxXHUwNjMzIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA2NDVcdTA2MmFcdTA2NDYgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0XHUwNmNjIiwKIkFuY2hvcnMiOiAiXHUwNjQyXHUwNjQ0XHUwNjI3XHUwNjI4IFx1MDY0N1x1MDYyNyIsCiJJbnNlcnQgbGluayI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmIiwKIk5ldyB3aW5kb3ciOiAiXHUwNjdlXHUwNjQ2XHUwNjJjXHUwNjMxXHUwNjQ3XHUwNjIxIFx1MDYyY1x1MDYyZlx1MDZjY1x1MDYyZiIsCiJOb25lIjogIlx1MDY0N1x1MDZjY1x1MDY4NiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNjI4XHUwNjQ3IFx1MDY0Nlx1MDYzOFx1MDYzMSBcdTA2NDVcdTA2Y2MgXHUwNjMxXHUwNjMzXHUwNjJmIFx1MDYyMlx1MDYyZlx1MDYzMVx1MDYzMyBcdTA2NDhcdTA2MzFcdTA2NDhcdTA2MmZcdTA2Y2MgXHUwNjI3XHUwNjMxXHUwNjJjXHUwNjI3XHUwNjM5XHUwNmNjIFx1MDYyOFx1MDY0NyBcdTA2MmVcdTA2MjdcdTA2MzFcdTA2MmMgXHUwNjI3XHUwNjMyIFx1MDYyN1x1MDZjY1x1MDY0NiBcdTA2MzNcdTA2MjdcdTA2Y2NcdTA2MmEgXHUwNjQ1XHUwNmNjIFx1MDYyOFx1MDYyN1x1MDYzNFx1MDYyZi4gXHUwNjIyXHUwNmNjXHUwNjI3IFx1MDYyYVx1MDY0NVx1MDYyN1x1MDZjY1x1MDY0NCBcdTA2MjhcdTA2NDcgXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjQ4XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY3ZVx1MDZjY1x1MDYzNFx1MDY0OFx1MDY0Nlx1MDYyZiBodHRwOlwvXC8gXHUwNjJmXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJmXHUwNjFmIiwKIlRhcmdldCI6ICJcdTA2NDVcdTA2NDJcdTA2MzVcdTA2MmYiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTA2MjhcdTA2NDcgXHUwNjQ2XHUwNjM4XHUwNjMxIFx1MDY0NVx1MDZjYyBcdTA2MzFcdTA2MzNcdTA2MmYgXHUwNjIyXHUwNjJmXHUwNjMxXHUwNjMzIFx1MDY0OFx1MDYzMVx1MDY0OFx1MDYyZlx1MDZjYyBcdTA2Y2NcdTA2YTkgXHUwNjMxXHUwNjI3XHUwNmNjXHUwNjI3XHUwNjQ2XHUwNjI3XHUwNjQ1XHUwNjQ3IFx1MDYyOFx1MDYyN1x1MDYzNFx1MDYyZi4gXHUwNjIyXHUwNmNjXHUwNjI3IFx1MDYyYVx1MDY0NVx1MDYyN1x1MDZjY1x1MDY0NCBcdTA2MjhcdTA2NDcgXHUwNjI3XHUwNjQxXHUwNjMyXHUwNjQ4XHUwNjMxXHUwNjJmXHUwNjQ2IFx1MDY3ZVx1MDZjY1x1MDYzNFx1MDY0OFx1MDY0Nlx1MDYyZiBtYWlsdG86IFx1MDYyZlx1MDYyN1x1MDYzMVx1MDZjY1x1MDYyZlx1MDYxZiIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTA2MmZcdTA2MzFcdTA2MmNcL1x1MDY0OFx1MDZjY1x1MDYzMVx1MDYyN1x1MDZjY1x1MDYzNCBcdTA2N2VcdTA2Y2NcdTA2NDhcdTA2NDZcdTA2MmYiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDYyZlx1MDYzMVx1MDYyY1wvXHUwNjQ4XHUwNmNjXHUwNjMxXHUwNjI3XHUwNmNjXHUwNjM0IFx1MDY0OFx1MDZjY1x1MDYyZlx1MDZjY1x1MDY0OCIsCiJQb3N0ZXIiOiAiXHUwNjdlXHUwNjQ4XHUwNjMzXHUwNjJhXHUwNjMxIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA2NDVcdTA2NDZcdTA2MjhcdTA2MzkgXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2IiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNjg2XHUwNjMzXHUwNjI4XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDZhOVx1MDYyZiBcdTA2MmNcdTA2MjdcdTA2MzNcdTA2MjdcdTA2MzJcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjI3IFx1MDYyZlx1MDYzMSBcdTA2MzJcdTA2Y2NcdTA2MzE6ICIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDY0OFx1MDZjY1x1MDYyZlx1MDZjY1x1MDY0OCIsCiJFbWJlZCI6ICJcdTA2MmNcdTA2MjdcdTA2MzNcdTA2MjdcdTA2MzJcdTA2Y2MiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNjQxXHUwNjM2XHUwNjI3XHUwNmNjIFx1MDYyZVx1MDYyN1x1MDY0NFx1MDZjYyBcdTA2MjhcdTA2MzFcdTA2MzQgXHUwNjQ2XHUwNjI3XHUwNjdlXHUwNjMwXHUwNmNjXHUwNjMxIiwKIlBhZ2UgYnJlYWsiOiAiXHUwNjI4XHUwNjMxXHUwNjM0IFx1MDYzNVx1MDY0MVx1MDYyZFx1MDY0NyIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDY4Nlx1MDYzM1x1MDYyOFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2NDVcdTA2MmFcdTA2NDYiLAoiUHJldmlldyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzQgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IiwKIlByaW50IjogIlx1MDY4Nlx1MDYyN1x1MDY3ZSIsCiJTYXZlIjogIlx1MDYzMFx1MDYyZVx1MDZjY1x1MDYzMVx1MDY0NyIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNjMxXHUwNjM0XHUwNjJhXHUwNjQ3XHUwNjIxIFx1MDY0NVx1MDY0OFx1MDYzMVx1MDYyZiBcdTA2NDZcdTA2MzhcdTA2MzEgXHUwNmNjXHUwNjI3XHUwNjQxXHUwNjJhIFx1MDY0Nlx1MDZhZlx1MDYzMVx1MDYyZlx1MDZjY1x1MDYyZi4iLAoiUmVwbGFjZSI6ICJcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDZcdTA2Y2MiLAoiTmV4dCI6ICJcdTA2MjhcdTA2MzlcdTA2MmZcdTA2Y2MiLAoiV2hvbGUgd29yZHMiOiAiXHUwNjJhXHUwNjQ1XHUwNjI3XHUwNjQ1IFx1MDY0OFx1MDYyN1x1MDY5OFx1MDZhZlx1MDYyN1x1MDY0NiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDYyY1x1MDYzM1x1MDYyYVx1MDYyY1x1MDY0OCBcdTA2NDggXHUwNjJjXHUwNjI3XHUwNmNjXHUwNmFmXHUwNjMyXHUwNmNjXHUwNjQ2XHUwNmNjIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA2MmNcdTA2MjdcdTA2Y2NcdTA2YWZcdTA2MzJcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjI3IiwKIkZpbmQiOiAiXHUwNjJjXHUwNjMzXHUwNjJhXHUwNjJjXHUwNjQ4IiwKIlJlcGxhY2UgYWxsIjogIlx1MDYyY1x1MDYyN1x1MDZjY1x1MDZhZlx1MDYzMlx1MDZjY1x1MDY0NiBcdTA2NDdcdTA2NDVcdTA2NDciLAoiTWF0Y2ggY2FzZSI6ICJcdTA2MmFcdTA2MzdcdTA2MjdcdTA2MjhcdTA2NDIgXHUwNjJkXHUwNjMxXHUwNjQ4XHUwNjQxIiwKIlByZXYiOiAiXHUwNjQyXHUwNjI4XHUwNjQ0XHUwNmNjIiwKIlNwZWxsY2hlY2siOiAiXHUwNjI4XHUwNjMxXHUwNjMxXHUwNjMzXHUwNmNjIFx1MDYyN1x1MDY0NVx1MDY0NFx1MDYyN1x1MDYyMSIsCiJGaW5pc2giOiAiXHUwNjI3XHUwNjJhXHUwNjQ1XHUwNjI3XHUwNjQ1IiwKIklnbm9yZSBhbGwiOiAiXHUwNjI4XHUwNmNjIFx1MDYyZVx1MDZjY1x1MDYyN1x1MDY0NCBcdTA2NDdcdTA2NDVcdTA2NDciLAoiSWdub3JlIjogIlx1MDYyOFx1MDZjYyBcdTA2MmVcdTA2Y2NcdTA2MjdcdTA2NDQiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNjI4XHUwNjQ3IFx1MDY0OFx1MDYyN1x1MDY5OFx1MDY0NyBcdTA2NDZcdTA2MjdcdTA2NDVcdTA2NDcgXHUwNjI4XHUwNmNjIFx1MDYyN1x1MDY0MVx1MDYzMlx1MDYyNyIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjMzXHUwNjM3XHUwNjMxIFx1MDYyZlx1MDYzMSBcdTA2MjhcdTA2MjdcdTA2NDRcdTA2MjciLAoiUm93cyI6ICJcdTA2MzNcdTA2MzdcdTA2MzEgXHUwNjQ3XHUwNjI3IiwKIkhlaWdodCI6ICJcdTA2MjdcdTA2MzFcdTA2MmFcdTA2NDFcdTA2MjdcdTA2MzkiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDY4Nlx1MDYzM1x1MDYyOFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzEgXHUwNjJmXHUwNjMxIFx1MDY3ZVx1MDYyN1x1MDZjY1x1MDZjY1x1MDY0NiIsCiJBbGlnbm1lbnQiOiAiXHUwNjQ3XHUwNjQ1IFx1MDYyYVx1MDYzMVx1MDYyN1x1MDYzMlx1MDZjYyIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNjMxXHUwNjQ2XHUwNmFmIFx1MDY0NFx1MDYyOFx1MDY0NyIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNmFmXHUwNjMxXHUwNjQ4XHUwNjQ3IFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0Nlx1MDZjYyIsCiJSb3ciOiAiXHUwNjMzXHUwNjM3XHUwNjMxIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYgXHUwNjQyXHUwNjI4XHUwNjQ0IiwKIlNwbGl0IGNlbGwiOiAiXHUwNjJjXHUwNjJmXHUwNjI3IFx1MDYzM1x1MDYyN1x1MDYzMlx1MDZjYyBcdTA2MzNcdTA2NDRcdTA2NDhcdTA2NDQiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDYyZFx1MDYyN1x1MDYzNFx1MDZjY1x1MDY0NyBcdTA2MmZcdTA2MzFcdTA2NDhcdTA2NDYgXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0XHUwNmNjIiwKIkNlbGwgc3BhY2luZyI6ICJcdTA2NDFcdTA2MjdcdTA2MzVcdTA2NDRcdTA2NDcgXHUwNjQ1XHUwNmNjXHUwNjI3XHUwNjQ2IFx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NFx1MDZjYyIsCiJSb3cgdHlwZSI6ICJcdTA2NDZcdTA2NDhcdTA2MzkgXHUwNjMzXHUwNjM3XHUwNjMxIiwKIkluc2VydCB0YWJsZSI6ICJcdTA2MmZcdTA2MzFcdTA2MmMgXHUwNjJjXHUwNjJmXHUwNjQ4XHUwNjQ0IiwKIkJvZHkiOiAiXHUwNjI4XHUwNjJmXHUwNjQ2XHUwNjQ3IiwKIkNhcHRpb24iOiAiXHUwNjM5XHUwNjQ2XHUwNjQ4XHUwNjI3XHUwNjQ2IiwKIkZvb3RlciI6ICJcdTA2N2VcdTA2MjcgXHUwNjQ2XHUwNjQ4XHUwNjM0XHUwNjJhIiwKIkRlbGV0ZSByb3ciOiAiXHUwNjJkXHUwNjMwXHUwNjQxIFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY4Nlx1MDYzM1x1MDYyOFx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MzNcdTA2MzdcdTA2MzEgXHUwNjJmXHUwNjMxIFx1MDYyOFx1MDYyN1x1MDY0NFx1MDYyNyIsCiJTY29wZSI6ICJcdTA2MmRcdTA2NDhcdTA2MzJcdTA2NDciLAoiRGVsZXRlIHRhYmxlIjogIlx1MDYyZFx1MDYzMFx1MDY0MSBcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiSCBBbGlnbiI6ICJcdTA2MmFcdTA2MzFcdTA2MjdcdTA2MzIgXHUwNjI3XHUwNjQxXHUwNjQyXHUwNmNjIiwKIlRvcCI6ICJcdTA2MjhcdTA2MjdcdTA2NDRcdTA2MjciLAoiSGVhZGVyIGNlbGwiOiAiXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0IFx1MDYzM1x1MDYzMSBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYiLAoiQ29sdW1uIjogIlx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0NiIsCiJSb3cgZ3JvdXAiOiAiXHUwNmFmXHUwNjMxXHUwNjQ4XHUwNjQ3IFx1MDYzM1x1MDYzN1x1MDYzMVx1MDZjYyIsCiJDZWxsIjogIlx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NCIsCiJNaWRkbGUiOiAiXHUwNjQ1XHUwNmNjXHUwNjI3XHUwNjQ2XHUwNjQ3IiwKIkNlbGwgdHlwZSI6ICJcdTA2NDZcdTA2NDhcdTA2MzkgXHUwNjMzXHUwNjQ0XHUwNjQ4XHUwNjQ0IiwKIkNvcHkgcm93IjogIlx1MDYzMVx1MDY0OFx1MDY0Nlx1MDY0OFx1MDZjY1x1MDYzM1x1MDZjYyBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjQ2XHUwNjM4XHUwNmNjXHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYzM1x1MDYzN1x1MDYzMSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDY0Nlx1MDYzOFx1MDZjY1x1MDY0NVx1MDYyN1x1MDYyYSBcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiQm90dG9tIjogIlx1MDY3ZVx1MDYyN1x1MDZjY1x1MDZjY1x1MDY0NiIsCiJWIEFsaWduIjogIlx1MDYyYVx1MDYzMVx1MDYyN1x1MDYzMiBcdTA2MzlcdTA2NDVcdTA2NDhcdTA2MmZcdTA2Y2MiLAoiSGVhZGVyIjogIlx1MDYzM1x1MDYzMSBcdTA2MjJcdTA2NDVcdTA2MmYiLAoiUmlnaHQiOiAiXHUwNjMxXHUwNjI3XHUwNjMzXHUwNjJhIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0NiBcdTA2MjhcdTA2MzlcdTA2MmYiLAoiQ29scyI6ICJcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDYgXHUwNjQ3XHUwNjI3IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNjJmXHUwNjMxXHUwNjJjIFx1MDYzM1x1MDYzN1x1MDYzMSBcdTA2MmZcdTA2MzEgXHUwNjdlXHUwNjI3XHUwNmNjXHUwNmNjXHUwNjQ2IiwKIldpZHRoIjogIlx1MDYzOVx1MDYzMVx1MDYzNiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjQ2XHUwNjM4XHUwNmNjXHUwNjQ1XHUwNjI3XHUwNjJhIFx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NCIsCiJMZWZ0IjogIlx1MDY4Nlx1MDY3ZSIsCiJDdXQgcm93IjogIlx1MDYyOFx1MDYzMVx1MDYzNCBcdTA2MzNcdTA2MzdcdTA2MzEiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA2MmRcdTA2MzBcdTA2NDEgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ2IiwKIkNlbnRlciI6ICJcdTA2NDVcdTA2Y2NcdTA2MjdcdTA2NDZcdTA2NDciLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNjdlXHUwNmNjXHUwNjQ4XHUwNjQ2XHUwNjJmIFx1MDYzM1x1MDY0NFx1MDY0OFx1MDY0NCBcdTA2NDdcdTA2MjciLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MjdcdTA2NDRcdTA2YWZcdTA2NDgiLAoiVGVtcGxhdGVzIjogIlx1MDYyN1x1MDY0NFx1MDZhZlx1MDY0OFx1MDY0N1x1MDYyNyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDYzMVx1MDY0Nlx1MDZhZiBcdTA2N2VcdTA2MzMgXHUwNjMyXHUwNjQ1XHUwNmNjXHUwNjQ2XHUwNjQ3IiwKIkN1c3RvbS4uLiI6ICJcdTA2MmZcdTA2NDRcdTA2MmVcdTA2NDhcdTA2MjdcdTA2NDcuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDYzMVx1MDY0Nlx1MDZhZiBcdTA2MmZcdTA2NDRcdTA2MmVcdTA2NDhcdTA2MjdcdTA2NDciLAoiTm8gY29sb3IiOiAiXHUwNjI4XHUwNjJmXHUwNjQ4XHUwNjQ2IFx1MDYzMVx1MDY0Nlx1MDZhZiIsCiJUZXh0IGNvbG9yIjogIlx1MDYzMVx1MDY0Nlx1MDZhZiBcdTA2NDVcdTA2MmFcdTA2NDYiLAoiU2hvdyBibG9ja3MiOiAiXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyOFx1MDY0NFx1MDY0OFx1MDZhOSBcdTA2NDdcdTA2MjciLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2MzQgXHUwNjQ2XHUwNjQ4XHUwNmNjXHUwNjMzXHUwNjQ3IFx1MDY0N1x1MDYyN1x1MDZjYyBcdTA2NDZcdTA2MjdcdTA2N2VcdTA2Y2NcdTA2MmZcdTA2MjciLAoiV29yZHM6IHswfSI6ICJcdTA2NDhcdTA2MjdcdTA2OThcdTA2NDcgXHUwNjQ3XHUwNjI3OiB7MH0iLAoiSW5zZXJ0IjogIlx1MDYyZlx1MDYzMVx1MDYyYyIsCiJGaWxlIjogIlx1MDY3ZVx1MDYzMVx1MDY0OFx1MDY0Nlx1MDYyZlx1MDY0NyIsCiJFZGl0IjogIlx1MDY0OFx1MDZjY1x1MDYzMVx1MDYyN1x1MDZjY1x1MDYzNCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTA2NDZcdTA2MjdcdTA2MmRcdTA2Y2NcdTA2NDcgXHUwNjQ1XHUwNjJhXHUwNjQ2IFx1MDYzYVx1MDY0Nlx1MDZjYy5cblx1MDYyY1x1MDY0N1x1MDYyYSBcdTA2NDVcdTA2MzRcdTA2MjdcdTA2NDdcdTA2MmZcdTA2NDcgXHUwNjQ1XHUwNjQ2XHUwNjQ4IFx1MDYyN1x1MDYzMiBcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2MmZcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNjJhXHUwNjMxXHUwNmE5XHUwNmNjXHUwNjI4XHUwNmNjIEFMVCArIEY5IFx1MDYyN1x1MDYzM1x1MDYyYVx1MDY0MVx1MDYyN1x1MDYyZlx1MDY0NyBcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2Y2NcdTA2MmYuXG5cdTA2MmNcdTA2NDdcdTA2MmEgXHUwNjQ1XHUwNjM0XHUwNjI3XHUwNjQ3XHUwNjJmXHUwNjQ3IFx1MDY0Nlx1MDY0OFx1MDYyN1x1MDYzMSBcdTA2MjdcdTA2MjhcdTA2MzJcdTA2MjdcdTA2MzEgXHUwNjI3XHUwNjMyIFx1MDZhOVx1MDY0NFx1MDZjY1x1MDYyZlx1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MmFcdTA2MzFcdTA2YTlcdTA2Y2NcdTA2MjhcdTA2Y2MgQUxUICsgRjEwIFx1MDYyN1x1MDYzM1x1MDYyYVx1MDY0MVx1MDYyN1x1MDYyZlx1MDY0NyBcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2Y2NcdTA2MmYuXG5cdTA2MmNcdTA2NDdcdTA2MmEgXHUwNjQ1XHUwNjM0XHUwNjI3XHUwNjQ3XHUwNjJmXHUwNjQ3IFx1MDYzMVx1MDYyN1x1MDY0N1x1MDY0Nlx1MDY0NVx1MDYyNyBcdTA2MjdcdTA2MzIgXHUwNmE5XHUwNjQ0XHUwNmNjXHUwNjJmXHUwNjQ3XHUwNjI3XHUwNmNjIFx1MDYyYVx1MDYzMVx1MDZhOVx1MDZjY1x1MDYyOFx1MDZjYyBBTFQgKyAwIFx1MDYyN1x1MDYzM1x1MDYyYVx1MDY0MVx1MDYyN1x1MDYyZlx1MDY0NyBcdTA2NDZcdTA2NDVcdTA2MjdcdTA2Y2NcdTA2Y2NcdTA2MmYuIiwKIlRvb2xzIjogIlx1MDYyN1x1MDYyOFx1MDYzMlx1MDYyN1x1MDYzMVx1MDY0N1x1MDYyNyIsCiJWaWV3IjogIlx1MDY0Nlx1MDY0NVx1MDYyN1x1MDZjY1x1MDYzNCIsCiJUYWJsZSI6ICJcdTA2MmNcdTA2MmZcdTA2NDhcdTA2NDQiLAoiRm9ybWF0IjogIlx1MDY0Mlx1MDYyN1x1MDY0NFx1MDYyOCIsCiJfZGlyIjogInJ0bCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmaScsewoiQ3V0IjogIkxlaWtrYWEiLAoiSGVhZGluZyA1IjogIk90c2lra28gNSIsCiJIZWFkZXIgMiI6ICJPdHNpa2tvIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiU2VsYWltZXNpIGVpIHR1ZSBsZWlrZXBcdTAwZjZ5ZFx1MDBlNG4gc3VvcmFhIGtcdTAwZTR5dHRcdTAwZTRtaXN0XHUwMGU0LiBPbGUgaHl2XHUwMGU0IGphIGtcdTAwZTR5dFx1MDBlNCBuXHUwMGU0cHBcdTAwZTRpbWlzdFx1MDBmNm4gQ3RybCtYXC9DXC9WIG5cdTAwZTRwcFx1MDBlNGlueWhkaXN0ZWxtaVx1MDBlNC4iLAoiSGVhZGluZyA0IjogIk90c2lra28gNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJPdHNpa2tvIDIiLAoiUGFzdGUiOiAiTGlpdFx1MDBlNCIsCiJDbG9zZSI6ICJTdWxqZSIsCiJGb250IEZhbWlseSI6ICJGb250dGkiLAoiUHJlIjogIkVzaW11b3RvaWx0dSIsCiJBbGlnbiByaWdodCI6ICJUYXNhYSBvaWtlYWxsZSIsCiJOZXcgZG9jdW1lbnQiOiAiVXVzaSBkb2t1bWVudHRpIiwKIkJsb2NrcXVvdGUiOiAiTGFpbmF1c2xvaGtvIiwKIk51bWJlcmVkIGxpc3QiOiAiSlx1MDBlNHJqZXN0ZXR0eSBsaXN0YSIsCiJIZWFkaW5nIDEiOiAiT3RzaWtrbyAxIiwKIkhlYWRpbmdzIjogIk90c2lrb3QiLAoiSW5jcmVhc2UgaW5kZW50IjogIkxvaXRvbm5hIiwKIkZvcm1hdHMiOiAiTXVvdG9pbHV0IiwKIkhlYWRlcnMiOiAiT3RzaWtvdCIsCiJTZWxlY3QgYWxsIjogIlZhbGl0c2Uga2Fpa2tpIiwKIkhlYWRlciAzIjogIk90c2lra28gMyIsCiJCbG9ja3MiOiAiTG9oa290IiwKIlVuZG8iOiAiUGVydSIsCiJTdHJpa2V0aHJvdWdoIjogIllsaXZpaXZhdXMiLAoiQnVsbGV0IGxpc3QiOiAiSlx1MDBlNHJqZXN0XHUwMGU0bVx1MDBlNHRcdTAwZjZuIGxpc3RhIiwKIkhlYWRlciAxIjogIk90c2lra28gMSIsCiJTdXBlcnNjcmlwdCI6ICJZbFx1MDBlNGluZGVrc2kiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJQb2lzdGEgbXVvdG9pbHUiLAoiRm9udCBTaXplcyI6ICJGb250dGlrb2tvIiwKIlN1YnNjcmlwdCI6ICJBbGFpbmRla3NpIiwKIkhlYWRlciA2IjogIk90c2lra28gNiIsCiJSZWRvIjogIlRlZSB1dWRlbGxlZW4iLAoiUGFyYWdyYXBoIjogIkthcHBhbGUiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJMaWhhdm9pbnRpIiwKIkNvZGUiOiAiS29vZGkiLAoiSXRhbGljIjogIkt1cnNpdm9pbnRpIiwKIkFsaWduIGNlbnRlciI6ICJLZXNraXRcdTAwZTQiLAoiSGVhZGVyIDUiOiAiT3RzaWtrbyA1IiwKIkhlYWRpbmcgNiI6ICJPdHNpa2tvIDYiLAoiSGVhZGluZyAzIjogIk90c2lra28gMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiU2lzZW5uXHUwMGU0IiwKIkhlYWRlciA0IjogIk90c2lra28gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTGlpdHRcdTAwZTRtaW5lbiBvbiBueXQgcGVsa1x1MDBlNG4gdGVrc3RpbiAtdGlsYXNzYS4gU2lzXHUwMGU0bGxcdTAwZjZ0IGxpaXRldFx1MDBlNFx1MDBlNG4gbnl0IHBlbGtrXHUwMGU0blx1MDBlNCB0ZWtzdGluXHUwMGU0LCBrdW5uZXMgb3RhdCB2YWlodG9laGRvbiBwb2lzIGtcdTAwZTR5dFx1MDBmNnN0XHUwMGU0LiIsCiJVbmRlcmxpbmUiOiAiQWxsZXZpaXZhdXMiLAoiQ2FuY2VsIjogIlBlcnV1dGEiLAoiSnVzdGlmeSI6ICJUYXNhYSIsCiJJbmxpbmUiOiAiU2FtYWxsYSByaXZpbGxcdTAwZTQiLAoiQ29weSI6ICJLb3Bpb2kiLAoiQWxpZ24gbGVmdCI6ICJUYXNhYSB2YXNlbW1hbGxlIiwKIlZpc3VhbCBhaWRzIjogIlZpc3VhYWxpc2V0IG5ldXZvdCIsCiJMb3dlciBHcmVlayI6ICJwaWVuZXQga2lyamFpbWV0OiBcdTAzYjEsIFx1MDNiMiwgXHUwM2IzIiwKIlNxdWFyZSI6ICJOZWxpXHUwMGY2IiwKIkRlZmF1bHQiOiAiT2xldHVzIiwKIkxvd2VyIEFscGhhIjogInBpZW5ldCBraXJqYWltZXQ6IGEsIGIsIGMiLAoiQ2lyY2xlIjogIlBhbGxvIiwKIkRpc2MiOiAiWW1weXJcdTAwZTQiLAoiVXBwZXIgQWxwaGEiOiAiaXNvdCBraXJqYWltZXQ6IEEsIEIsIEMiLAoiVXBwZXIgUm9tYW4iOiAiaXNvdCBraXJqYWltZXQ6IEksIElJLCBJSUkiLAoiTG93ZXIgUm9tYW4iOiAicGllbmV0IGtpcmphaW1ldDogaSwgaWksIGlpaSIsCiJOYW1lIjogIk5pbWkiLAoiQW5jaG9yIjogIkFua2t1cmkiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJTaW51bGxhIG9uIHRhbGxlbnRhbWF0dG9taWEgbXV1dG9rc2lhLCBoYWx1YXRrbyB2YXJtYXN0aSBzaWlydHlcdTAwZTQgdG9pc2VsbGUgc2l2dWxsZT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlBhbGF1dGEgYWllbXBpIGx1b25ub3MiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiRXJpa29pc21lcmtraSIsCiJTb3VyY2UgY29kZSI6ICJMXHUwMGU0aGRla29vZGkiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiVlx1MDBlNHJpIiwKIlJpZ2h0IHRvIGxlZnQiOiAiT2lrZWFsdGEgdmFzZW1tYWxsZSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlZhc2VtbWFsdGEgb2lrZWFsbGUiLAoiRW1vdGljb25zIjogIkh5bWlcdTAwZjZ0IiwKIlJvYm90cyI6ICJSb2JvdGl0IiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9rdW1lbnRpbiBvbWluYWlzdXVkZXQiLAoiVGl0bGUiOiAiT3RzaWtrbyIsCiJLZXl3b3JkcyI6ICJBdmFpbnNhbmF0IiwKIkVuY29kaW5nIjogIk1lcmtpc3RcdTAwZjYiLAoiRGVzY3JpcHRpb24iOiAiS3V2YXVzIiwKIkF1dGhvciI6ICJUZWtpalx1MDBlNCIsCiJGdWxsc2NyZWVuIjogIktva28gcnV1dHUiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlZhYWthc3VvcmEgdmlpdmEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpc29udGFhbGluZW4gdGlsYSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiTGlzXHUwMGU0XHUwMGU0XC9tdW9ra2FhIGt1dmEiLAoiR2VuZXJhbCI6ICJZbGVpc2V0IiwKIkFkdmFuY2VkIjogIkxpc1x1MDBlNGFzZXR1a3NldCIsCiJTb3VyY2UiOiAiTFx1MDBlNGhkZSIsCiJCb3JkZXIiOiAiUmV1bnVzIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJTXHUwMGU0aWx5dFx1MDBlNCBtaXR0YXN1aHRlZXQiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWFsaW5lbiB0aWxhIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkt1dmF1cyIsCiJTdHlsZSI6ICJUeXlsaSIsCiJEaW1lbnNpb25zIjogIk1pdHRhc3VodGVldCIsCiJJbnNlcnQgaW1hZ2UiOiAiTGlzXHUwMGU0XHUwMGU0IGt1dmEiLAoiWm9vbSBpbiI6ICJMXHUwMGU0aGVublx1MDBlNCIsCiJDb250cmFzdCI6ICJLb250cmFzdGkiLAoiQmFjayI6ICJUYWthaXNpbiIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJLXHUwMGU0XHUwMGU0bm5cdTAwZTQgdmFha2FzdXVubmFzc2EiLAoiUmVzaXplIjogIkt1dmFuIGtvb24gbXV1dG9zIiwKIlNoYXJwZW4iOiAiVGVyXHUwMGU0dnl5cyIsCiJab29tIG91dCI6ICJMb2l0b25uYSIsCiJJbWFnZSBvcHRpb25zIjogIkt1dmFuIGFzZXR1a3NldCIsCiJBcHBseSI6ICJBc2V0YSIsCiJCcmlnaHRuZXNzIjogIktpcmtrYXVzIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiS2llcnJcdTAwZTQgbXlcdTAwZjZ0XHUwMGU0cFx1MDBlNGl2XHUwMGU0XHUwMGU0biIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJLaWVyclx1MDBlNCB2YXN0YXBcdTAwZTRpdlx1MDBlNFx1MDBlNG4iLAoiRWRpdCBpbWFnZSI6ICJNdW9ra2FhIGt1dmFhIiwKIkNvbG9yIGxldmVscyI6ICJWXHUwMGU0cml0YXNvdCIsCiJDcm9wIjogIlJhamFhIHZhbGludGFhbiIsCiJPcmllbnRhdGlvbiI6ICJTdXVudGEiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIktcdTAwZTRcdTAwZTRublx1MDBlNCBweXN0eXN1dW5uYXNzYSIsCiJJbnZlcnQiOiAiS1x1MDBlNFx1MDBlNG50ZWluZW4iLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiTGlzXHUwMGU0XHUwMGU0IHBcdTAwZTRpdlx1MDBlNG1cdTAwZTRcdTAwZTRyXHUwMGU0IHRhaSBhaWthIiwKIlJlbW92ZSBsaW5rIjogIlBvaXN0YSBsaW5ra2kiLAoiVXJsIjogIk9zb2l0ZSIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiTlx1MDBlNHl0ZXR0XHUwMGU0dlx1MDBlNCB0ZWtzdGkiLAoiQW5jaG9ycyI6ICJBbmtrdXJpdCIsCiJJbnNlcnQgbGluayI6ICJMaXNcdTAwZTRcdTAwZTQgbGlua2tpIiwKIk5ldyB3aW5kb3ciOiAiVXVzaSBpa2t1bmEiLAoiTm9uZSI6ICJFaSBtaXRcdTAwZTRcdTAwZTRuIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJBbnRhbWFzaSBvc29pdGUgblx1MDBlNHl0dFx1MDBlNFx1MDBlNCBvbGV2YW4gdWxrb2luZW4gbGlua2tpLiBIYWx1YXRrbyBsaXNcdTAwZTR0XHUwMGU0IG9zb2l0dGVlc2VlbiB2YWFkaXR1biBodHRwOlwvXC8gLWV0dWxpaXR0ZWVuPyIsCiJUYXJnZXQiOiAiS29oZGUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJBbnRhbWFzaSBvc29pdGUgblx1MDBlNHl0dFx1MDBlNFx1MDBlNCBvbGV2YW4gc1x1MDBlNGhrXHUwMGY2cG9zdGlvc29pdGUuIEhhbHVhdGtvIGxpc1x1MDBlNHRcdTAwZTQgb3NvaXR0ZWVzZWVuIHZhYWRpdHVuIG1haWx0bzogLWV0dWxpaXR0ZWVuPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJMaXNcdTAwZTRcdTAwZTRcL211b2trYWEgbGlua2tpIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJMaXNcdTAwZTRcdTAwZTRcL211b2trYWEgdmlkZW8iLAoiUG9zdGVyIjogIkxcdTAwZTRoZXR0XHUwMGU0alx1MDBlNCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiVmFpaHRvZWh0b2luZW4gbFx1MDBlNGhkZSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkxpaXRcdTAwZTQgdXBvdHVza29vZGlzaSBhbGFwdW9sZWxsZToiLAoiSW5zZXJ0IHZpZGVvIjogIkxpc1x1MDBlNFx1MDBlNCB2aWRlbyIsCiJFbWJlZCI6ICJVcG90YSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJTaXRvdmEgdlx1MDBlNGxpbHlcdTAwZjZudGkiLAoiUGFnZSBicmVhayI6ICJTaXZ1bnZhaWh0byIsCiJQYXN0ZSBhcyB0ZXh0IjogIkxpaXRcdTAwZTQgdGVrc3Rpblx1MDBlNCIsCiJQcmV2aWV3IjogIkVzaWthdHNlbHUiLAoiUHJpbnQiOiAiVHVsb3N0YSIsCiJTYXZlIjogIlRhbGxlbm5hIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJIYWV0dHVhIG1lcmtraWpvbm9hIGVpIGxcdTAwZjZ5dHlueXQuIiwKIlJlcGxhY2UiOiAiS29ydmFhIiwKIk5leHQiOiAiU2V1ci4iLAoiV2hvbGUgd29yZHMiOiAiS29rbyBzYW5hdCIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkV0c2kgamEga29ydmFhIiwKIlJlcGxhY2Ugd2l0aCI6ICJLb3J2YWEiLAoiRmluZCI6ICJFdHNpIiwKIlJlcGxhY2UgYWxsIjogIktvcnZhYSBrYWlra2kiLAoiTWF0Y2ggY2FzZSI6ICJFcm90YSBpc290IGphIHBpZW5ldCBraXJqYWltZXQiLAoiUHJldiI6ICJFZGVsLiIsCiJTcGVsbGNoZWNrIjogIk9pa29sdWUiLAoiRmluaXNoIjogIkxvcGV0YSIsCiJJZ25vcmUgYWxsIjogIlx1MDBjNGxcdTAwZTQgaHVvbWlvaSBtaXRcdTAwZTRcdTAwZTRuIiwKIklnbm9yZSI6ICJcdTAwYzRsXHUwMGU0IGh1b21pb2kiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiTGlzXHUwMGU0XHUwMGU0IHNhbmFraXJqYWFuIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkxpc1x1MDBlNFx1MDBlNCByaXZpIGVubmVuIiwKIlJvd3MiOiAiUml2aXQiLAoiSGVpZ2h0IjogIktvcmtldXMiLAoiUGFzdGUgcm93IGFmdGVyIjogIkxpaXRcdTAwZTQgcml2aSBqXHUwMGU0bGtlZW4iLAoiQWxpZ25tZW50IjogIlRhc2F1cyIsCiJCb3JkZXIgY29sb3IiOiAiUmV1bnVrc2VuIHZcdTAwZTRyaSIsCiJDb2x1bW4gZ3JvdXAiOiAiU2FyYWtlcnlobVx1MDBlNCIsCiJSb3ciOiAiUml2aSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJMaXNcdTAwZTRcdTAwZTQgcml2aSBlbm5lbiIsCiJTcGxpdCBjZWxsIjogIkphYSBzb2x1IiwKIkNlbGwgcGFkZGluZyI6ICJTb2x1biB0eWhqXHUwMGU0IHRpbGEiLAoiQ2VsbCBzcGFjaW5nIjogIlNvbHVuIHZcdTAwZTRsaSIsCiJSb3cgdHlwZSI6ICJSaXZpdHl5cHBpIiwKIkluc2VydCB0YWJsZSI6ICJMaXNcdTAwZTRcdTAwZTQgdGF1bHVra28iLAoiQm9keSI6ICJSdW5rbyIsCiJDYXB0aW9uIjogIlNlbG9zdGUiLAoiRm9vdGVyIjogIkFsYW9zYSIsCiJEZWxldGUgcm93IjogIlBvaXN0YSByaXZpIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiTGlpdFx1MDBlNCByaXZpIGVubmVuIiwKIlNjb3BlIjogIkxhYWp1dXMiLAoiRGVsZXRlIHRhYmxlIjogIlBvaXN0YSB0YXVsdWtrbyIsCiJIIEFsaWduIjogIkggdGFzYXVzIiwKIlRvcCI6ICJZbFx1MDBlNHJldW5hIiwKIkhlYWRlciBjZWxsIjogIk90c2lra29zb2x1IiwKIkNvbHVtbiI6ICJTYXJha2UiLAoiUm93IGdyb3VwIjogIlJpdmlyeWhtXHUwMGU0IiwKIkNlbGwiOiAiU29sdSIsCiJNaWRkbGUiOiAiS2Vza2lrb2h0YSIsCiJDZWxsIHR5cGUiOiAiU29sdW4gdHl5cHBpIiwKIkNvcHkgcm93IjogIktvcGlvaSByaXZpIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJpdmluIG9taW5haXN1dWRldCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhdWx1a29uIG9taW5haXN1dWRldCIsCiJCb3R0b20iOiAiQWxhcmV1bmEiLAoiViBBbGlnbiI6ICJWIHRhc2F1cyIsCiJIZWFkZXIiOiAiT3RzaWtrbyIsCiJSaWdodCI6ICJPaWtlYSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkxpc1x1MDBlNFx1MDBlNCByaXZpIGpcdTAwZTRsa2VlbiIsCiJDb2xzIjogIlNhcmFra2VldCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkxpc1x1MDBlNFx1MDBlNCByaXZpIGpcdTAwZTRsa2VlbiIsCiJXaWR0aCI6ICJMZXZleXMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlNvbHVuIG9taW5haXN1dWRldCIsCiJMZWZ0IjogIlZhc2VuIiwKIkN1dCByb3ciOiAiTGVpa2thYSByaXZpIiwKIkRlbGV0ZSBjb2x1bW4iOiAiUG9pc3RhIHNhcmFrZSIsCiJDZW50ZXIiOiAiS2Vza2VsbFx1MDBlNCIsCiJNZXJnZSBjZWxscyI6ICJZaGRpc3RcdTAwZTQgc29sdXQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkxpc1x1MDBlNFx1MDBlNCBwb2hqYSIsCiJUZW1wbGF0ZXMiOiAiUG9oamF0IiwKIkJhY2tncm91bmQgY29sb3IiOiAiVGF1c3RhbiB2XHUwMGU0cmkiLAoiQ3VzdG9tLi4uIjogIk11a2F1dGEuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIk11a2F1dGV0dHUgdlx1MDBlNHJpIiwKIk5vIGNvbG9yIjogIkVpIHZcdTAwZTRyaVx1MDBlNCIsCiJUZXh0IGNvbG9yIjogIlRla3N0aW4gdlx1MDBlNHJpIiwKIlNob3cgYmxvY2tzIjogIk5cdTAwZTR5dFx1MDBlNCBsb2hrb3QiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJOXHUwMGU0eXRcdTAwZTQgblx1MDBlNGt5bVx1MDBlNHR0XHUwMGY2bVx1MDBlNHQgbWVya2l0IiwKIldvcmRzOiB7MH0iOiAiU2FuYXQ6IHswfSIsCiJJbnNlcnQiOiAiTGlzXHUwMGU0XHUwMGU0IiwKIkZpbGUiOiAiVGllZG9zdG8iLAoiRWRpdCI6ICJNdW9ra2FhIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpa2FzdGV0dW4gdGVrc3RpbiBhbHVlLiBQYWluYSBBTFQtRjkgdmFsaWtrb29uLiBQYWluYSBBTFQtRjEwIHR5XHUwMGY2a2FsdXJpdmlpbi4gUGFpbmEgQUxULTAgb2hqZWVzZWVuLiIsCiJUb29scyI6ICJUeVx1MDBmNmthbHV0IiwKIlZpZXciOiAiTlx1MDBlNHl0XHUwMGU0IiwKIlRhYmxlIjogIlRhdWx1a2tvIiwKIkZvcm1hdCI6ICJNdW90b2lsdSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fo.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmbycsewoiQ3V0IjogIktsaXBwIiwKIkhlYWRpbmcgNSI6ICJZdmlyc2tyaWZ0IDUiLAoiSGVhZGVyIDIiOiAiSFx1MDBmOHZkIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVFx1MDBlZG4ga2FnaSBoZXZ1ciBpa2tpIGJlaW5sZWlcdTAwZjBpcyBhdGdvbmdkIHRpbCBzZXRpYm9yXHUwMGYwaVx1MDBmMC4gVmluYXJsaWdhIGJyXHUwMGZha2EgQ1RSTCtYXC9DXC9WIHNuYXJ2ZWdpcm5hciBcdTAwZWRzdGFcdTAwZjBpbi4iLAoiSGVhZGluZyA0IjogIll2aXJza3JpZnQgNCIsCiJEaXYiOiAiREl2IiwKIkhlYWRpbmcgMiI6ICJZdmlyc2tyaWZ0IDIiLAoiUGFzdGUiOiAiTFx1MDBlZG1hIiwKIkNsb3NlIjogIkxhdCBhZnR1ciIsCiJGb250IEZhbWlseSI6ICJTdGF2IGZhbWlsamEiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJIXHUwMGY4Z3JhIHN0aWxsYSIsCiJOZXcgZG9jdW1lbnQiOiAiTlx1MDBmZHR0IHNramFsIiwKIkJsb2NrcXVvdGUiOiAiQmxva2tzaXRhdCIsCiJOdW1iZXJlZCBsaXN0IjogIlRhbCBsaXN0aSIsCiJIZWFkaW5nIDEiOiAiWXZpcnNrcmlmdCAxIiwKIkhlYWRpbmdzIjogIll2aXJza3JpZnRpciIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiVmFrcyBpbm5kclx1MDBlMXR0IiwKIkZvcm1hdHMiOiAiU25pXHUwMGYwIiwKIkhlYWRlcnMiOiAiSFx1MDBmOHZkIiwKIlNlbGVjdCBhbGwiOiAiVmVsIGFsdCIsCiJIZWFkZXIgMyI6ICJIXHUwMGY4dmQgMyIsCiJCbG9ja3MiOiAiQmxva2thciIsCiJVbmRvIjogIkFuZ3JhIGdlciIsCiJTdHJpa2V0aHJvdWdoIjogIlN0cmlrYSBcdTAwZWRnalx1MDBmOGdudW0iLAoiQnVsbGV0IGxpc3QiOiAiUHVua3QgbGlzdGkiLAoiSGVhZGVyIDEiOiAiSFx1MDBmOHZkIDEiLAoiU3VwZXJzY3JpcHQiOiAiSFx1MDBlMXNrcmlmdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlN0cmlrYSBzbmlcdTAwZjAiLAoiRm9udCBTaXplcyI6ICJTdGF2IHN0XHUwMGY4ZGQiLAoiU3Vic2NyaXB0IjogIkxcdTAwZTFnc2tyaWZ0IiwKIkhlYWRlciA2IjogIkhcdTAwZjh2ZCA2IiwKIlJlZG8iOiAiR2VyIGFmdHVyIiwKIlBhcmFncmFwaCI6ICJUXHUwMGUxdHR1ciIsCiJPayI6ICJPayIsCiJCb2xkIjogIkZlaXQiLAoiQ29kZSI6ICJLb3RhIiwKIkl0YWxpYyI6ICJTa1x1MDBlMWt0ZWtzdHVyIiwKIkFsaWduIGNlbnRlciI6ICJNaVx1MDBmMHNldCIsCiJIZWFkZXIgNSI6ICJIXHUwMGY4dmQgNSIsCiJIZWFkaW5nIDYiOiAiWXZpcnNrcmlmdCA2IiwKIkhlYWRpbmcgMyI6ICJZdmlyc2tyaWZ0IDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIk1pbmthIGlubmRyXHUwMGUxdHQiLAoiSGVhZGVyIDQiOiAiSFx1MDBmOHZkIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIktsaXN0cmEgZXIgblx1MDBmYSBcdTAwZWQgdmFubGlndW0gdGVrc3Qgc3RhbmRpLiBJbm5paGFsZCB2ZXJcdTAwZjB1ciBuXHUwMGZhIGtsaXN0cmEgc3VtIHZhbmxpZ3VyIHRla3N0dXIsIGlubnRpbCB0XHUwMGZhIHNsXHUwMGY4a2tpciBoZW5kYW4gc3RhbmRpbi4iLAoiVW5kZXJsaW5lIjogIlVuZGlyc3RyaWthIiwKIkNhbmNlbCI6ICJcdTAwZDNnaWxkYSIsCiJKdXN0aWZ5IjogIkxcdTAwZWRrYSBicmVkZGFyIiwKIklubGluZSI6ICJcdTAwY2QgbGluanUiLAoiQ29weSI6ICJBdnJpdGEiLAoiQWxpZ24gbGVmdCI6ICJWaW5zdHJhIHN0aWxsYSIsCiJWaXN1YWwgYWlkcyI6ICJTalx1MDBmM25oalx1MDBlMWxwIiwKIkxvd2VyIEdyZWVrIjogIkxcdTAwZWR0aSBHcmlrc2t0IiwKIlNxdWFyZSI6ICJGalx1MDBmM3JoeXJuaW5ndXIiLAoiRGVmYXVsdCI6ICJGb3JzZXR0dXIiLAoiTG93ZXIgQWxwaGEiOiAiTFx1MDBlZHRpIEFsZmEiLAoiQ2lyY2xlIjogIlJpbmd1ciIsCiJEaXNjIjogIlNraXZhIiwKIlVwcGVyIEFscGhhIjogIlN0XHUwMGYzcnQgQWxmYSIsCiJVcHBlciBSb21hbiI6ICJTdFx1MDBmM3J0IFJcdTAwZjNtdmVyc2t0IiwKIkxvd2VyIFJvbWFuIjogIkxcdTAwZWR0aSBSXHUwMGYzbXZlcnNrdCIsCiJOYW1lIjogIk5hdm4iLAoiQW5jaG9yIjogIkFra2VyIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiVFx1MDBmYSBoZXZ1ciBpa2tpIGdveW1kYXIgYnJveXRpbmdhci4gRXJ0IHRcdTAwZmEgdlx1MDBlZHN1ciBcdTAwZWQgYXQgdFx1MDBmYSB2aWx0IGhhbGRhIGZyYW0/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJFbmR1cnNrYXBhIHNlaW5hc3RhIHVwcGthc3QiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU2Vyc3RcdTAwZjhrIHRla24iLAoiU291cmNlIGNvZGUiOiAia2VsZHVrb2RhIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkxpdHVyIiwKIlJpZ2h0IHRvIGxlZnQiOiAiSFx1MDBmOGdyYSB0aWwgdmluc3RyYSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlZpbnN0cmEgdGlsIGhcdTAwZjhncmEiLAoiRW1vdGljb25zIjogIkVtb3Rpa29udXIiLAoiUm9ib3RzIjogIlJvYm90dGFyIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiU2tqYWwgZWdpbmxlaWthciIsCiJUaXRsZSI6ICJIZWl0aSIsCiJLZXl3b3JkcyI6ICJMZWl0aW9yXHUwMGYwIiwKIkVuY29kaW5nIjogIktvZGluZyIsCiJEZXNjcmlwdGlvbiI6ICJMXHUwMGZkc2luZyIsCiJBdXRob3IiOiAiSFx1MDBmOHZ1bmR1ciIsCiJGdWxsc2NyZWVuIjogIkZ1bGxhbiBza1x1MDBlZGdnamEiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlZhdG5yXHUwMGY4dHQgbGluamEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJWYXRuclx1MDBlNnR0IGZyXHUwMGUxc3RcdTAwZjhcdTAwZjBhIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbm5zZXRcL3JcdTAwZTZ0dGEgbXluZCIsCiJHZW5lcmFsIjogIlZhbmxpZ3QiLAoiQWR2YW5jZWQiOiAiRnJhbWtvbWkiLAoiU291cmNlIjogIktlbGRhIiwKIkJvcmRlciI6ICJSYW1taSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiVmFyXHUwMGYwdmVpdCBsdXRmYWxsIiwKIlZlcnRpY2FsIHNwYWNlIjogIkxvZGRyXHUwMGU2dCBmclx1MDBlMXN0XHUwMGY4XHUwMGYwYSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJMXHUwMGZkc2luZyBhdiBteW5kIiwKIlN0eWxlIjogIlN0XHUwMGVkbHVyIiwKIkRpbWVuc2lvbnMiOiAiU3RcdTAwZjhkZCIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5uc2V0IG15bmQiLAoiWm9vbSBpbiI6ICJEcmFnIG5cdTAwZTZycmkiLAoiQ29udHJhc3QiOiAiTVx1MDBmM3RzZXRuaW5ndXIiLAoiQmFjayI6ICJBZnR1ciIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJWaXBwYSB2YXRuclx1MDBlNnR0IiwKIlJlc2l6ZSI6ICJCcm95dCBzdFx1MDBmOGRkIiwKIlNoYXJwZW4iOiAiU2tlcnBhIiwKIlpvb20gb3V0IjogIlRyXHUwMGZkc3QgYnVydHVyIiwKIkltYWdlIG9wdGlvbnMiOiAiTXluZGEgdmFsbVx1MDBmOGd1bGVpa2FyIiwKIkFwcGx5IjogIlNldCBcdTAwZTEiLAoiQnJpZ2h0bmVzcyI6ICJMalx1MDBmM3MiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJNYWwgcnVudCB2aVx1MDBmMCBrbG9ra3VuaSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJNYWwgcnVudCBcdTAwZWRtXHUwMGYzdGkga2xva2t1bmkiLAoiRWRpdCBpbWFnZSI6ICJSXHUwMGU2dHRhIG15bmQiLAoiQ29sb3IgbGV2ZWxzIjogIkxpdCBzdGlnIiwKIkNyb3AiOiAiS2xpcHAgYXYiLAoiT3JpZW50YXRpb24iOiAiSGVsbGluZyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiVmlwcGEgbG9kZHJcdTAwZTZ0dCIsCiJJbnZlcnQiOiAiVmVuZCBcdTAwZjh2dXQiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5uc2V0IGRhZ1wvdFx1MDBlZFx1MDBmMCIsCiJSZW1vdmUgbGluayI6ICJTdHJpa2EgbGVpbmtpIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0dXIgYXQgdlx1MDBlZHNhIiwKIkFuY2hvcnMiOiAiQWtrZXIiLAoiSW5zZXJ0IGxpbmsiOiAiSW5uc2V0IGxlaW5ranUiLAoiTmV3IHdpbmRvdyI6ICJOXHUwMGZkZ2dqYW4gZ2x1Z2dhIiwKIk5vbmUiOiAiRWluZ2luIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJUYW5uIFVSTCB0XHUwMGZhIHNrcml2YVx1MDBmMGkgc1x1MDBlNnIgXHUwMGZhdCB0aWwgYXQgdmVyXHUwMGYwYSBlaW4gdXR0YW5oXHUwMGZkc2lzIGFkcmVzc2EuIFluc2tpciB0XHUwMGZhIGF0IHNldGEgdGFcdTAwZjAga3JhdmRhIGh0dHA6XC9cLyBmb3Jza295dGkgZnJhbW1hbmZ5cmk/IiwKIlRhcmdldCI6ICJNXHUwMGUxbCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRhbm4gVVJMIHRcdTAwZmEgc2tyaXZhXHUwMGYwaSBzXHUwMGU2ciBcdTAwZmF0IHRpbCBhdCB2ZXJhIGVpbiB0ZWxkdXBvc3QgYWRyZXNzYS4gWW5za2lyIHRcdTAwZmEgYXQgc2V0YSB0YVx1MDBmMCBrcmF2ZGEgbWFpbHRvOiBmb3Jza295dGkgZnJhbW1hbmZ5cmk/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIklubnNldFwvclx1MDBlNnR0YSBsZWlua2p1IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbm5zZXRcL3JcdTAwZTZ0dGEga3lrbXluZCIsCiJQb3N0ZXIiOiAiVXBwc2xhZyIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiT25udXIga2VsZGEiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJJbm5zZXQgdGFcdTAwZjAga29kdSwgc3VtIHNrYWwgbGVnZ2phc3QgaW5uIFx1MDBlZCwgbmlcdTAwZjBhbmZ5cmk6IiwKIkluc2VydCB2aWRlbyI6ICJJbm5zZXQga3lrbXluZCIsCiJFbWJlZCI6ICJMZWdnIGlubiBcdTAwZWQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiSGFydCBtaWxsdW1yXHUwMGZhbSIsCiJQYWdlIGJyZWFrIjogIlNcdTAwZWRcdTAwZjB1c2tpZnQiLAoiUGFzdGUgYXMgdGV4dCI6ICJLbGlzdHJhIHN1bSB0ZWtzdCIsCiJQcmV2aWV3IjogIlZcdTAwZWRzIGZyYW1tYW51bmRhbiIsCiJQcmludCI6ICJQcmVudGEiLAoiU2F2ZSI6ICJHb3ltIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJLdW5kaSBpa2tpIGZpbm5hIGxlaXRpdGVrc3QiLAoiUmVwbGFjZSI6ICJTa2lmdCBcdTAwZmF0IiwKIk5leHQiOiAiTlx1MDBlNnN0YSIsCiJXaG9sZSB3b3JkcyI6ICJIZWlsIG9yXHUwMGYwIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmlubiBvZyBza2lmdCBcdTAwZmF0IiwKIlJlcGxhY2Ugd2l0aCI6ICJTZXQgXHUwMGVkc3RhXHUwMGYwaW4iLAoiRmluZCI6ICJGaW5uIiwKIlJlcGxhY2UgYWxsIjogIlNraWZ0IGFsdCBcdTAwZmF0IiwKIk1hdGNoIGNhc2UiOiAiU2Ftc3ZhcmEgc3RcdTAwZjNyYXIgb2cgbFx1MDBlZHRsYXIgYlx1MDBmM2tzdGF2aXIiLAoiUHJldiI6ICJGeXJyYSIsCiJTcGVsbGNoZWNrIjogIlJcdTAwZTZ0dHN0YXZhcmkiLAoiRmluaXNoIjogIkVuZGEiLAoiSWdub3JlIGFsbCI6ICJMZXlwIGFsdCB1bSIsCiJJZ25vcmUiOiAiTGV5cCB1bSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJMZWdnIHRpbCBvclx1MDBmMGFiXHUwMGYzayIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbm5zZXQgcmFcdTAwZjAgXHUwMGUxXHUwMGYwcmVubiIsCiJSb3dzIjogIlJcdTAwZjhcdTAwZjAiLAoiSGVpZ2h0IjogIkhcdTAwZTZkZCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiTFx1MDBlZG1hIHJhXHUwMGYwIGFmdGFuXHUwMGUxIiwKIkFsaWdubWVudCI6ICJTdGlsbGluZyIsCiJCb3JkZXIgY29sb3IiOiAiS2FudCBsaXR1ciIsCiJDb2x1bW4gZ3JvdXAiOiAiVGVpZyBiXHUwMGYzbGt1ciIsCiJSb3ciOiAiUmFcdTAwZjAiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5uc2V0IHRlaWcgXHUwMGUxXHUwMGYwcmVubiIsCiJTcGxpdCBjZWxsIjogIlN5bmRyYSBwdW50YXIiLAoiQ2VsbCBwYWRkaW5nIjogIlB1bnQgZnlsbGluZyIsCiJDZWxsIHNwYWNpbmciOiAiUHVudCBmclx1MDBlMXN0XHUwMGY4XHUwMGYwYSIsCiJSb3cgdHlwZSI6ICJSYVx1MDBmMCBzbGFnIiwKIkluc2VydCB0YWJsZSI6ICJJbm5zZXQgdGFsdnUiLAoiQm9keSI6ICJMaWthbSIsCiJDYXB0aW9uIjogIlRla3N0dXIiLAoiRm9vdGVyIjogIkZcdTAwZjN0dXIiLAoiRGVsZXRlIHJvdyI6ICJTa3Jpa2EgcmFcdTAwZjAiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJMXHUwMGVkbWEgcmFcdTAwZjAgXHUwMGUxXHUwMGYwcmVubiIsCiJTY29wZSI6ICJOXHUwMGZkdHNsdVx1MDBmOGtpIiwKIkRlbGV0ZSB0YWJsZSI6ICJTdHJpa2EgdGFsdnUiLAoiSCBBbGlnbiI6ICJWYXRuclx1MDBlNnR0IHN0aWxsYSIsCiJUb3AiOiAiT3Zhc3QiLAoiSGVhZGVyIGNlbGwiOiAiSFx1MDBmOHZkIHB1bnR1ciIsCiJDb2x1bW4iOiAiVGVpZ3VyIiwKIlJvdyBncm91cCI6ICJSYVx1MDBmMCBiXHUwMGYzbGt1ciIsCiJDZWxsIjogIlB1bnR1ciIsCiJNaWRkbGUiOiAiXHUwMGNkIG1pXHUwMGYwanVuaSIsCiJDZWxsIHR5cGUiOiAiUHVudCBzbGFnIiwKIkNvcHkgcm93IjogIkF2cml0YSByYVx1MDBmMCIsCiJSb3cgcHJvcGVydGllcyI6ICJSYVx1MDBmMCBlZ2lubGVpa2FyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFsdnUgZWdpbmxlaWthciIsCiJCb3R0b20iOiAiTmlcdTAwZjBhc3QiLAoiViBBbGlnbiI6ICJMb2Rkclx1MDBlNnR0IHN0aWxsYSIsCiJIZWFkZXIiOiAiSFx1MDBmOHZkIiwKIlJpZ2h0IjogIkhcdTAwZjhncmEiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbm5zZXQgdGVpZyBhZnRhblx1MDBlMSIsCiJDb2xzIjogIlRlaWdhciIsCiJJbnNlcnQgcm93IGFmdGVyIjogIklubnNldCByYVx1MDBmMCBhZnRhblx1MDBlMSIsCiJXaWR0aCI6ICJCcmVpZGQiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlB1bnQgZWdpbmxlaWthciIsCiJMZWZ0IjogIlZpbnN0cmEiLAoiQ3V0IHJvdyI6ICJLbGlwcCByYVx1MDBmMCIsCiJEZWxldGUgY29sdW1uIjogIlN0cmlrYSB0ZWlnIiwKIkNlbnRlciI6ICJNaVx1MDBmMGEiLAoiTWVyZ2UgY2VsbHMiOiAiRmxcdTAwZTZ0dGEgcHVudGFyIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbm5zZXQgZm9ybSIsCiJUZW1wbGF0ZXMiOiAiRm9ybXVyIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFrZ3J1bmRzbGl0dXIiLAoiQ3VzdG9tLi4uIjogIkxhZ2EgdGlsLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJUaWxsYWdhIGxpdCIsCiJObyBjb2xvciI6ICJFaW5naW4gbGl0dXIiLAoiVGV4dCBjb2xvciI6ICJUZWtzdCBsaXR1ciIsCiJTaG93IGJsb2NrcyI6ICJWXHUwMGVkcyBibG9ra2FyIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVlx1MDBlZHMgXHUwMGYzc2pcdTAwZjNubGlnIHRla24iLAoiV29yZHM6IHswfSI6ICJPclx1MDBmMDogezB9IiwKIkluc2VydCI6ICJJbm5zZXQiLAoiRmlsZSI6ICJGXHUwMGVkbGEiLAoiRWRpdCI6ICJSaXRzdGpcdTAwZjNybmEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUlx1MDBlZGt0IFRla3N0IFx1MDBkOGtpLiBUclx1MDBmZHN0IEFMVC1GOSBmeXJpIHZhbG15bmQuIFRyXHUwMGZkc3QgQUxULUYxMCBmeXJpIGFtYm9cdTAwZjBzbGluanUuIFRyXHUwMGZkc3QgQUxULTAgZnlyaSBoalx1MDBlMWxwIiwKIlRvb2xzIjogIkFtYm9cdTAwZjAiLAoiVmlldyI6ICJWXHUwMGVkcyIsCiJUYWJsZSI6ICJUYWx2YSIsCiJGb3JtYXQiOiAiU25pXHUwMGYwIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/fr_FR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdmcl9GUicsewoiQ3V0IjogIkNvdXBlciIsCiJIZWFkaW5nIDUiOiAiRW4tdFx1MDBlYXRlIDUiLAoiSGVhZGVyIDIiOiAiVGl0cmUgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJWb3RyZSBuYXZpZ2F0ZXVyIG5lIHN1cHBvcnRlIHBhcyBsYSBjb3BpZSBkaXJlY3RlLiBNZXJjaSBkJ3V0aWxpc2VyIGxlcyB0b3VjaGVzIEN0cmwrWFwvQ1wvVi4iLAoiSGVhZGluZyA0IjogIkVuLXRcdTAwZWF0ZSA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIkVuLXRcdTAwZWF0ZSAyIiwKIlBhc3RlIjogIkNvbGxlciIsCiJDbG9zZSI6ICJGZXJtZXIiLAoiRm9udCBGYW1pbHkiOiAiUG9saWNlIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpZ25lciBcdTAwZTAgZHJvaXRlIiwKIk5ldyBkb2N1bWVudCI6ICJOb3V2ZWF1IGRvY3VtZW50IiwKIkJsb2NrcXVvdGUiOiAiQ2l0YXRpb24iLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1cdTAwZTlyb3RhdGlvbiIsCiJIZWFkaW5nIDEiOiAiRW4tdFx1MDBlYXRlIDEiLAoiSGVhZGluZ3MiOiAiRW4tdFx1MDBlYXRlcyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVnbWVudGVyIGxlIHJldHJhaXQiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIkhlYWRlcnMiOiAiVGl0cmVzIiwKIlNlbGVjdCBhbGwiOiAiVG91dCBzXHUwMGU5bGVjdGlvbm5lciIsCiJIZWFkZXIgMyI6ICJUaXRyZSAzIiwKIkJsb2NrcyI6ICJCbG9jcyIsCiJVbmRvIjogIkFubnVsZXIiLAoiU3RyaWtldGhyb3VnaCI6ICJCYXJyXHUwMGU5IiwKIkJ1bGxldCBsaXN0IjogIlB1Y2VzIiwKIkhlYWRlciAxIjogIlRpdHJlIDEiLAoiU3VwZXJzY3JpcHQiOiAiRXhwb3NhbnQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJFZmZhY2VyIGxhIG1pc2UgZW4gZm9ybWUiLAoiRm9udCBTaXplcyI6ICJUYWlsbGUgZGUgcG9saWNlIiwKIlN1YnNjcmlwdCI6ICJJbmRpY2UiLAoiSGVhZGVyIDYiOiAiVGl0cmUgNiIsCiJSZWRvIjogIlJcdTAwZTl0YWJsaXIiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFwaGUiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJHcmFzIiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiSXRhbGlxdWUiLAoiQWxpZ24gY2VudGVyIjogIkNlbnRyZXIiLAoiSGVhZGVyIDUiOiAiVGl0cmUgNSIsCiJIZWFkaW5nIDYiOiAiRW4tdFx1MDBlYXRlIDYiLAoiSGVhZGluZyAzIjogIkVuLXRcdTAwZWF0ZSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJEaW1pbnVlciBsZSByZXRyYWl0IiwKIkhlYWRlciA0IjogIlRpdHJlIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkxlIHByZXNzZS1wYXBpZXJzIGVzdCBtYWludGVuYW50IGVuIG1vZGUgXCJ0ZXh0ZSBwbGVpblwiLiBMZXMgY29udGVudXMgc2Vyb250IGNvbGxcdTAwZTlzIHNhbnMgcmV0ZW5pciBsZXMgZm9ybWF0YWdlcyBqdXNxdSdcdTAwZTAgY2UgcXVlIHZvdXMgZFx1MDBlOXNhY3RpdmlleiBjZXR0ZSBvcHRpb24uIiwKIlVuZGVybGluZSI6ICJTb3VsaWduXHUwMGU5IiwKIkNhbmNlbCI6ICJBbm51bGVyIiwKIkp1c3RpZnkiOiAiSnVzdGlmaWVyIiwKIklubGluZSI6ICJFbiBsaWduZSIsCiJDb3B5IjogIkNvcGllciIsCiJBbGlnbiBsZWZ0IjogIkFsaWduZXIgXHUwMGUwIGdhdWNoZSIsCiJWaXN1YWwgYWlkcyI6ICJBaWRlcyB2aXN1ZWxsZSIsCiJMb3dlciBHcmVlayI6ICJHcmVjIG1pbnVzY3VsZSIsCiJTcXVhcmUiOiAiQ2Fyclx1MDBlOSIsCiJEZWZhdWx0IjogIlBhciBkXHUwMGU5ZmF1dCIsCiJMb3dlciBBbHBoYSI6ICJBbHBoYSBtaW51c2N1bGUiLAoiQ2lyY2xlIjogIkNlcmNsZSIsCiJEaXNjIjogIkRpc3F1ZSIsCiJVcHBlciBBbHBoYSI6ICJBbHBoYSBtYWp1c2N1bGUiLAoiVXBwZXIgUm9tYW4iOiAiUm9tYWluIG1hanVzY3VsZSIsCiJMb3dlciBSb21hbiI6ICJSb21haW4gbWludXNjdWxlIiwKIk5hbWUiOiAiTm9tIiwKIkFuY2hvciI6ICJBbmNyZSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gZW5yZWdpc3RyXHUwMGU5ZXMsIFx1MDBlYXRlcy12b3VzIHNcdTAwZmJyIGRlIHF1aXR0ZXIgbGEgcGFnZT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlJlc3RhdXJlciBsZSBkZXJuaWVyIGJyb3VpbGxvbiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJDYXJhY3RcdTAwZThyZXMgc3BcdTAwZTljaWF1eCIsCiJTb3VyY2UgY29kZSI6ICJDb2RlIHNvdXJjZSIsCiJCIjogIkIiLAoiUiI6ICJSIiwKIkciOiAiViIsCiJDb2xvciI6ICJDb3VsZXVyIiwKIlJpZ2h0IHRvIGxlZnQiOiAiRHJvaXRlIFx1MDBlMCBnYXVjaGUiLAoiTGVmdCB0byByaWdodCI6ICJHYXVjaGUgXHUwMGUwIGRyb2l0ZSIsCiJFbW90aWNvbnMiOiAiRW1vdGljXHUwMGY0bmVzIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcm9wcmlcdTAwZTl0XHUwMGU5IGR1IGRvY3VtZW50IiwKIlRpdGxlIjogIlRpdHJlIiwKIktleXdvcmRzIjogIk1vdHMtY2xcdTAwZTlzIiwKIkVuY29kaW5nIjogIkVuY29kYWdlIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaXB0aW9uIiwKIkF1dGhvciI6ICJBdXRldXIiLAoiRnVsbHNjcmVlbiI6ICJQbGVpbiBcdTAwZTljcmFuIiwKIkhvcml6b250YWwgbGluZSI6ICJMaWduZSBob3Jpem9udGFsZSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkVzcGFjZW1lbnQgaG9yaXpvbnRhbCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zXHUwMGU5cmVyXC9tb2RpZmllciB1bmUgaW1hZ2UiLAoiR2VuZXJhbCI6ICJHXHUwMGU5blx1MDBlOXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuY1x1MDBlOSIsCiJTb3VyY2UiOiAiU291cmNlIiwKIkJvcmRlciI6ICJCb3JkdXJlIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJDb25zZXJ2ZXIgbGVzIHByb3BvcnRpb25zIiwKIlZlcnRpY2FsIHNwYWNlIjogIkVzcGFjZW1lbnQgdmVydGljYWwiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiRGVzY3JpcHRpb24gZGUgbCdpbWFnZSIsCiJTdHlsZSI6ICJTdHlsZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiSW5zZXJ0IGltYWdlIjogIkluc1x1MDBlOXJlciB1bmUgaW1hZ2UiLAoiWm9vbSBpbiI6ICJab29tZXIiLAoiQ29udHJhc3QiOiAiQ29udHJhc3RlIiwKIkJhY2siOiAiUmV0b3VyIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlJldG91cm5lbWVudCBob3Jpem9udGFsIiwKIlJlc2l6ZSI6ICJSZWRpbWVuc2lvbm5lciIsCiJTaGFycGVuIjogIkFmZmluZXIiLAoiWm9vbSBvdXQiOiAiRFx1MDBlOXpvb21lciIsCiJJbWFnZSBvcHRpb25zIjogIk9wdGlvbnMgZGUgbCdpbWFnZSIsCiJBcHBseSI6ICJBcHBsaXF1ZXIiLAoiQnJpZ2h0bmVzcyI6ICJMdW1pbm9zaXRcdTAwZTkiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RhdGlvbiBob3JhaXJlIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGF0aW9uIGFudGktaG9yYWlyZSIsCiJFZGl0IGltYWdlIjogIk1vZGlmaWVyIGwnaW1hZ2UiLAoiQ29sb3IgbGV2ZWxzIjogIk5pdmVhdXggZGUgY291bGV1ciIsCiJDcm9wIjogIlJvZ25lciIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhdGlvbiIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUmV0b3VybmVtZW50IHZlcnRpY2FsIiwKIkludmVydCI6ICJJbnZlcnNlciIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNcdTAwZTlyZXIgZGF0ZVwvaGV1cmUiLAoiUmVtb3ZlIGxpbmsiOiAiRW5sZXZlciBsZSBsaWVuIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHRlIFx1MDBlMCBhZmZpY2hlciIsCiJBbmNob3JzIjogIkFuY3JlcyIsCiJJbnNlcnQgbGluayI6ICJJbnNcdTAwZTlyZXIgdW4gbGllbiIsCiJOZXcgd2luZG93IjogIk5vdXZlbGxlIGZlblx1MDBlYXRyZSIsCiJOb25lIjogIm5cL2EiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkwnVVJMIHF1ZSB2b3VzIGF2ZXogZW50clx1MDBlOWUgc2VtYmxlIFx1MDBlYXRyZSB1biBsaWVuIGV4dGVybmUuIFZvdWxlei12b3VzIGFqb3V0ZXIgbGUgcHJcdTAwZTlmaXhlIGh0dHA6XC9cLyBuXHUwMGU5Y2Vzc2FpcmU/IiwKIlRhcmdldCI6ICJDaWJsZSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkwnVVJMIHF1ZSB2b3VzIGF2ZXogZW50clx1MDBlOWUgc2VtYmxlIFx1MDBlYXRyZSB1bmUgYWRyZXNzZSBlLW1haWwuIFZvdWxlei12b3VzIGFqb3V0ZXIgbGUgcHJcdTAwZTlmaXhlIG1haWx0bzogblx1MDBlOWNlc3NhaXJlPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNcdTAwZTlyZXJcL21vZGlmaWVyIHVuIGxpZW4iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc1x1MDBlOXJlclwvbW9kaWZpZXIgdW5lIHZpZFx1MDBlOW8iLAoiUG9zdGVyIjogIlB1YmxpZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlNvdXJjZSBhbHRlcm5hdGl2ZSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkNvbGxleiB2b3RyZSBjb2RlIGQnaW50XHUwMGU5Z3JhdGlvbiBjaS1kZXNzb3VzIDoiLAoiSW5zZXJ0IHZpZGVvIjogIkluc1x1MDBlOXJlciB1bmUgdmlkXHUwMGU5byIsCiJFbWJlZCI6ICJJbnRcdTAwZTlncmVyIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkVzcGFjZSBpbnNcdTAwZTljYWJsZSIsCiJQYWdlIGJyZWFrIjogIlNhdXQgZGUgcGFnZSIsCiJQYXN0ZSBhcyB0ZXh0IjogIkNvbGxlciBjb21tZSB0ZXh0ZSIsCiJQcmV2aWV3IjogIlByXHUwMGU5dmlzdWFsaXNlciIsCiJQcmludCI6ICJJbXByaW1lciIsCiJTYXZlIjogIkVucmVnaXN0cmVyIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgY2hhXHUwMGVlbmUgc3BcdTAwZTljaWZpXHUwMGU5ZS4iLAoiUmVwbGFjZSI6ICJSZW1wbGFjZXIiLAoiTmV4dCI6ICJTdWl2IiwKIldob2xlIHdvcmRzIjogIk1vdHMgZW50aWVycyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlRyb3V2ZXIgZXQgcmVtcGxhY2VyIiwKIlJlcGxhY2Ugd2l0aCI6ICJSZW1wbGFjZXIgcGFyIiwKIkZpbmQiOiAiQ2hlcmNoZXIiLAoiUmVwbGFjZSBhbGwiOiAiVG91dCByZW1wbGFjZXIiLAoiTWF0Y2ggY2FzZSI6ICJSZXNwZWN0ZXIgbGEgY2Fzc2UiLAoiUHJldiI6ICJQclx1MDBlOWMgIiwKIlNwZWxsY2hlY2siOiAiVlx1MDBlOXJpZmljYXRpb24gb3J0aG9ncmFwaGlxdWUiLAoiRmluaXNoIjogIkZpbmllIiwKIklnbm9yZSBhbGwiOiAiVG91dCBpZ25vcmVyIiwKIklnbm9yZSI6ICJJZ25vcmVyIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkFqb3V0ZXIgYXUgZGljdGlvbm5haXJlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc1x1MDBlOXJlciB1bmUgbGlnbmUgYXZhbnQiLAoiUm93cyI6ICJMaWduZXMiLAoiSGVpZ2h0IjogIkhhdXRldXIiLAoiUGFzdGUgcm93IGFmdGVyIjogIkNvbGxlciBsYSBsaWduZSBhcHJcdTAwZThzIiwKIkFsaWdubWVudCI6ICJBbGlnbmVtZW50IiwKIkJvcmRlciBjb2xvciI6ICJDb3VsZXVyIGRlIGxhIGJvcmR1cmUiLAoiQ29sdW1uIGdyb3VwIjogIkdyb3VwZSBkZSBjb2xvbm5lcyIsCiJSb3ciOiAiTGlnbmUiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5zXHUwMGU5cmVyIHVuZSBjb2xvbm5lIGF2YW50IiwKIlNwbGl0IGNlbGwiOiAiRGl2aXNlciBsYSBjZWxsdWxlIiwKIkNlbGwgcGFkZGluZyI6ICJFc3BhY2VtZW50IGludGVybmUgY2VsbHVsZSIsCiJDZWxsIHNwYWNpbmciOiAiRXNwYWNlbWVudCBpbnRlci1jZWxsdWxsZXMiLAoiUm93IHR5cGUiOiAiVHlwZSBkZSBsaWduZSIsCiJJbnNlcnQgdGFibGUiOiAiSW5zXHUwMGU5cmVyIHVuIHRhYmxlYXUiLAoiQm9keSI6ICJDb3JwcyIsCiJDYXB0aW9uIjogIlRpdHJlIiwKIkZvb3RlciI6ICJQaWVkIiwKIkRlbGV0ZSByb3ciOiAiRWZmYWNlciBsYSBsaWduZSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkNvbGxlciBsYSBsaWduZSBhdmFudCIsCiJTY29wZSI6ICJFdGVuZHVlIiwKIkRlbGV0ZSB0YWJsZSI6ICJTdXBwcmltZXIgbGUgdGFibGVhdSIsCiJIIEFsaWduIjogIkFsaWduZW1lbnQgSCIsCiJUb3AiOiAiSGF1dCIsCiJIZWFkZXIgY2VsbCI6ICJDZWxsdWxlIGQnZW4tdFx1MDBlYXRlIiwKIkNvbHVtbiI6ICJDb2xvbm5lIiwKIlJvdyBncm91cCI6ICJHcm91cGUgZGUgbGlnbmVzIiwKIkNlbGwiOiAiQ2VsbHVsZSIsCiJNaWRkbGUiOiAiTWlsaWV1IiwKIkNlbGwgdHlwZSI6ICJUeXBlIGRlIGNlbGx1bGUiLAoiQ29weSByb3ciOiAiQ29waWVyIGxhIGxpZ25lIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlByb3ByaVx1MDBlOXRcdTAwZTlzIGRlIGxhIGxpZ25lIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcHJpXHUwMGU5dFx1MDBlOXMgZHUgdGFibGVhdSIsCiJCb3R0b20iOiAiQmFzIiwKIlYgQWxpZ24iOiAiQWxpZ25lbWVudCBWIiwKIkhlYWRlciI6ICJFbi10XHUwMGVhdGUiLAoiUmlnaHQiOiAiRHJvaXRlIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zXHUwMGU5cmVyIHVuZSBjb2xvbm5lIGFwclx1MDBlOHMiLAoiQ29scyI6ICJDb2xvbm5lcyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkluc1x1MDBlOXJlciB1bmUgbGlnbmUgYXByXHUwMGU4cyIsCiJXaWR0aCI6ICJMYXJnZXVyIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9wcmlcdTAwZTl0XHUwMGU5cyBkZSBsYSBjZWxsdWxlIiwKIkxlZnQiOiAiR2F1Y2hlIiwKIkN1dCByb3ciOiAiQ291cGVyIGxhIGxpZ25lIiwKIkRlbGV0ZSBjb2x1bW4iOiAiRWZmYWNlciBsYSBjb2xvbm5lIiwKIkNlbnRlciI6ICJDZW50clx1MDBlOSIsCiJNZXJnZSBjZWxscyI6ICJGdXNpb25uZXIgbGVzIGNlbGx1bGVzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJBam91dGVyIHVuIGdhYmFyaXQiLAoiVGVtcGxhdGVzIjogIkdhYmFyaXRzIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQ291bGV1ciBkJ2FycmlcdTAwZThyZS1wbGFuIiwKIkN1c3RvbS4uLiI6ICJQZXJzb25uYWxpc1x1MDBlOS4uLiIsCiJDdXN0b20gY29sb3IiOiAiQ291bGV1ciBwZXJzb25uYWxpc1x1MDBlOWUiLAoiTm8gY29sb3IiOiAiQXVjdW5lIGNvdWxldXIiLAoiVGV4dCBjb2xvciI6ICJDb3VsZXVyIGR1IHRleHRlIiwKIlNob3cgYmxvY2tzIjogIkFmZmljaGVyIGxlcyBibG9jcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIkFmZmljaGVyIGxlcyBjYXJhY3RcdTAwZThyZXMgaW52aXNpYmxlcyIsCiJXb3JkczogezB9IjogIk1vdHMgOiB7MH0iLAoiSW5zZXJ0IjogIkluc1x1MDBlOXJlciIsCiJGaWxlIjogIkZpY2hpZXIiLAoiRWRpdCI6ICJFZGl0ZXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiWm9uZSBUZXh0ZSBSaWNoZS4gQXBwdXllciBzdXIgQUxULUY5IHBvdXIgbGUgbWVudS4gQXBwdXllciBzdXIgQUxULUYxMCBwb3VyIGxhIGJhcnJlIGQnb3V0aWxzLiBBcHB1eWVyIHN1ciBBTFQtMCBwb3VyIGRlIGwnYWlkZS4iLAoiVG9vbHMiOiAiT3V0aWxzIiwKIlZpZXciOiAiVm9pciIsCiJUYWJsZSI6ICJUYWJsZWF1IiwKIkZvcm1hdCI6ICJGb3JtYXQiCn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ga.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdnYScsewoiQ3V0IjogIkdlYXJyIiwKIkhlYWRpbmcgNSI6ICJDZWFubnRlaWRlYWwgNSIsCiJIZWFkZXIgMiI6ICJDZWFubnRcdTAwZTFzYyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIk5cdTAwZWQgZlx1MDBlOWlkaXIgbGUgZG8gYmhyYWJoc1x1MDBlMWxhXHUwMGVkIHRlYWNodCBnbyBkXHUwMGVkcmVhY2ggYXIgYW4gbmdlYXJydGhhaXNjZS4gQmFpbiBcdTAwZmFzXHUwMGUxaWQgYXMgbmEgaGFpY2VhcnJhXHUwMGVkIEN0cmwrWFwvQ1wvVi4gIiwKIkhlYWRpbmcgNCI6ICJDZWFubnRlaWRlYWwgNCIsCiJEaXYiOiAiRGVpZ2hpbHQiLAoiSGVhZGluZyAyIjogIkNlYW5udGVpZGVhbCAyIiwKIlBhc3RlIjogIkdyZWFtYWlnaCIsCiJDbG9zZSI6ICJEXHUwMGZhbiIsCiJGb250IEZhbWlseSI6ICJDbFx1MDBmM2Zob2lyZWFubiIsCiJQcmUiOiAiUlx1MDBlOWFtaCIsCiJBbGlnbiByaWdodCI6ICJBaWxcdTAwZWRuaWdoIGFyIGRoZWlzIiwKIk5ldyBkb2N1bWVudCI6ICJDXHUwMGUxaXBcdTAwZTlpcyBudWEiLAoiQmxvY2txdW90ZSI6ICJBdGhmaHJpb3RhbCIsCiJOdW1iZXJlZCBsaXN0IjogIkxpb3N0YSBVaW1ocml0aGUiLAoiSGVhZGluZyAxIjogIkNlYW5udGVpZGVhbCAxIiwKIkhlYWRpbmdzIjogIkNlYW5udGVpZGlsIiwKIkluY3JlYXNlIGluZGVudCI6ICJNXHUwMGU5YWRhaWdoIGVhbmciLAoiRm9ybWF0cyI6ICJGb3JtXHUwMGUxaWRcdTAwZWQiLAoiSGVhZGVycyI6ICJDZWFubnRcdTAwZTFzY2EiLAoiU2VsZWN0IGFsbCI6ICJSb2dobmFpZ2ggdWlsZSIsCiJIZWFkZXIgMyI6ICJDZWFubnRcdTAwZTFzYyAzIiwKIkJsb2NrcyI6ICJCbG9jYW5uYSIsCiJVbmRvIjogIkNlYWxhaWdoIiwKIlN0cmlrZXRocm91Z2giOiAiTFx1MDBlZG5lIHRyXHUwMGVkZCIsCiJCdWxsZXQgbGlzdCI6ICJMaW9zdGEgVXJjaGFyIiwKIkhlYWRlciAxIjogIkNlYW5udFx1MDBlMXNjIDEiLAoiU3VwZXJzY3JpcHQiOiAiRm9yc2NyaXB0IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiR2xhbiBmb3JtXHUwMGUxaWRpXHUwMGZhIiwKIkZvbnQgU2l6ZXMiOiAiQ2xcdTAwZjNtaFx1MDBlOWlkZWFubmEiLAoiU3Vic2NyaXB0IjogIkZvc2NyaXB0IiwKIkhlYWRlciA2IjogIkNlYW5udFx1MDBlMXNjIDYiLAoiUmVkbyI6ICJBdGhkaFx1MDBlOWFuIiwKIlBhcmFncmFwaCI6ICJBbHQiLAoiT2siOiAiT0siLAoiQm9sZCI6ICJUcm9tIiwKIkNvZGUiOiAiQ1x1MDBmM2QiLAoiSXRhbGljIjogIklvZFx1MDBlMWxhY2giLAoiQWxpZ24gY2VudGVyIjogIkFpbFx1MDBlZG5pZ2ggc2EgbFx1MDBlMXIiLAoiSGVhZGVyIDUiOiAiQ2Vhbm50XHUwMGUxc2MgNSIsCiJIZWFkaW5nIDYiOiAiQ2Vhbm50ZWlkZWFsIDYiLAoiSGVhZGluZyAzIjogIkNlYW5udGVpZGVhbCAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJMYWdoZGFpZ2ggZWFuZyIsCiJIZWFkZXIgNCI6ICJDZWFubnRcdTAwZTFzYyA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJTYSBtXHUwMGYzZCBnblx1MDBlMXRoLXRoXHUwMGU5YWNzIGFub2lzLiBHcmVhbVx1MDBmM2ZhciBcdTAwZTFiaGFyIG1hciBnaG5cdTAwZTF0aC10aFx1MDBlOWFjcyBnbyBkdFx1MDBlZCBnbyBtXHUwMGZhY2hmYWlkaCB0XHUwMGZhIGFuIHJvZ2hhIHNlby4iLAoiVW5kZXJsaW5lIjogIkZvbFx1MDBlZG5lIiwKIkNhbmNlbCI6ICJDZWFsYWlnaCIsCiJKdXN0aWZ5IjogIkNvbWhmaGFkYWlnaCIsCiJJbmxpbmUiOiAiSW5sXHUwMGVkbmUiLAoiQ29weSI6ICJDXHUwMGYzaXBlXHUwMGUxaWwiLAoiQWxpZ24gbGVmdCI6ICJBaWxcdTAwZWRuaWdoIGFyIGNobFx1MDBlOSIsCiJWaXN1YWwgYWlkcyI6ICJcdTAwYzFpc2Vhbm5hIGFtaGFpcmMiLAoiTG93ZXIgR3JlZWsiOiAiTGl0aXIgQmhlYWcgR2hyXHUwMGU5YWdhY2giLAoiU3F1YXJlIjogIkNlYXJuXHUwMGYzZyIsCiJEZWZhdWx0IjogIlJcdTAwZTlhbWhzaG9jclx1MDBmYSIsCiJMb3dlciBBbHBoYSI6ICJBbGZhIEJlYWciLAoiQ2lyY2xlIjogIkNpb3JjYWwiLAoiRGlzYyI6ICJEaW9zY2EiLAoiVXBwZXIgQWxwaGEiOiAiQWxmYSBNXHUwMGYzciIsCiJVcHBlciBSb21hbiI6ICJMaXRpciBNaFx1MDBmM3IgUlx1MDBmM21oXHUwMGUxbmFjaCIsCiJMb3dlciBSb21hbiI6ICJMaXRpciBCaGVhZyBSXHUwMGYzbWhcdTAwZTFuYWNoIiwKIk5hbWUiOiAiQWlubSIsCiJBbmNob3IiOiAiQW5jYWlyZSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlRcdTAwZTEgYXRocnVpdGhlIGdhbiBzXHUwMGUxYmhcdTAwZTFpbCBhbm4uIEFuIGJoZnVpbCB0XHUwMGZhIGNpbm50ZSBndXIgbWhhaXRoIGxlYXQgaW1lYWNodCBhbWFjaCBhcyBzZW8/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJPc2NhaWwgYW4gZHJcdTAwZTlhY2h0IGlzIGRcdTAwZTlhbmFcdTAwZWQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyYWNodGFyIHNwZWlzaWFsdGEiLAoiU291cmNlIGNvZGUiOiAiQ1x1MDBmM2QgZm9pbnNlYWNoIiwKIkIiOiAiRyIsCiJSIjogIkQiLAoiRyI6ICJVIiwKIkNvbG9yIjogIkRhdGgiLAoiUmlnaHQgdG8gbGVmdCI6ICJEZWFzLWdvLWNsXHUwMGU5IiwKIkxlZnQgdG8gcmlnaHQiOiAiQ2xcdTAwZTktZ28tRGVhcyIsCiJFbW90aWNvbnMiOiAiU3RyYW9pc2VvZ2EiLAoiUm9ib3RzIjogIlJcdTAwZjNiYWl0IiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiQWlyXHUwMGVkb25uYSBuYSBDXHUwMGUxaXBcdTAwZTlpc2UiLAoiVGl0bGUiOiAiVGVpZGVhbCIsCiJLZXl3b3JkcyI6ICJMb3JnZmhvY2FpbCIsCiJFbmNvZGluZyI6ICJJb25jaFx1MDBmM2RcdTAwZmEiLAoiRGVzY3JpcHRpb24iOiAiQ3VyIFNcdTAwZWRvcyIsCiJBdXRob3IiOiAiXHUwMGRhZGFyIiwKIkZ1bGxzY3JlZW4iOiAiTFx1MDBlMW5zY1x1MDBlMWlsZVx1MDBlMW4iLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxcdTAwZWRuZSBjaG90aHJvbVx1MDBlMW5hY2giLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJTcFx1MDBlMXMgY290aHJvbVx1MDBlMW5hY2giLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkN1aXIgXHUwMGVkb21oXHUwMGUxIGlzdGVhY2hcL2luIGVhZ2FyIiwKIkdlbmVyYWwiOiAiR2luZWFyXHUwMGUxbHRhIiwKIkFkdmFuY2VkIjogIkNhc3RhIiwKIlNvdXJjZSI6ICJGb2luc2UiLAoiQm9yZGVyIjogIkltbFx1MDBlZG5lIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJDb21oclx1MDBlOWlyIGZhb2kgZ2hsYXMiLAoiVmVydGljYWwgc3BhY2UiOiAiU3BcdTAwZTFzIGluZ2VhcmFjaCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJDdXIgc1x1MDBlZG9zIGFyIGFuIFx1MDBlZG9taFx1MDBlMSIsCiJTdHlsZSI6ICJTdFx1MDBlZGwiLAoiRGltZW5zaW9ucyI6ICJUb2lzXHUwMGVkIiwKIkluc2VydCBpbWFnZSI6ICJDdWlyIFx1MDBlZG9taFx1MDBlMSBpc3RlYWNoIiwKIlpvb20gaW4iOiAiWlx1MDBmYW1cdTAwZTFpbCBpc3RlYWNoIiwKIkNvbnRyYXN0IjogIkNvZGFyc25hY2h0IiwKIkJhY2siOiAiU2lhciIsCiJHYW1tYSI6ICJHXHUwMGUxbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiQ2FzIGdvIGNvdGhyb21cdTAwZTFuYWNoIiwKIlJlc2l6ZSI6ICJBdGhyYWlnaCBtXHUwMGU5aWQiLAoiU2hhcnBlbiI6ICJHXHUwMGU5YXJhaWdoIiwKIlpvb20gb3V0IjogIlpcdTAwZmFtXHUwMGUxaWwgYW1hY2giLAoiSW1hZ2Ugb3B0aW9ucyI6ICJSb2doYW5uYSBcdTAwZWRvbWhcdTAwZTEiLAoiQXBwbHkiOiAiQ3VpciBpIGJoZmVpZGhtIiwKIkJyaWdodG5lc3MiOiAiR2lsZSIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlJvdGhsYWlnaCBhciBkZWlzZWFsIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGhsYWlnaCBhciB0dWF0aGFsIiwKIkVkaXQgaW1hZ2UiOiAiQ3VpciBhbiBcdTAwZWRvbWhcdTAwZTEgaW4gZWFnYXIiLAoiQ29sb3IgbGV2ZWxzIjogIkxlaWJoXHUwMGU5aWwgZGF0aGEiLAoiQ3JvcCI6ICJCZWFyIiwKIk9yaWVudGF0aW9uIjogIlRyZW9zaHVcdTAwZWRvbWgiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIkNhcyBnbyBoaW5nZWFyYWNoIiwKIkludmVydCI6ICJJbmJoXHUwMGU5YXJ0YWlnaCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJDdWlyIGRcdTAwZTF0YVwvYW0gaXN0ZWFjaCIsCiJSZW1vdmUgbGluayI6ICJCYWluIGFuIG5hc2MiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVFx1MDBlOWFjcyBsZSB0YWlzcGVcdTAwZTFpbnQiLAoiQW5jaG9ycyI6ICJBbmNhaXJcdTAwZWQiLAoiSW5zZXJ0IGxpbmsiOiAiQ3VpciBuYXNjIGlzdGVhY2giLAoiTmV3IHdpbmRvdyI6ICJGdWlubmVvZyBudWEiLAoiTm9uZSI6ICJEYWRhIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJJcyBuYXNjIHNlYWNodHJhY2ggXHUwMGU5IGFuIFVSTCBhIGNodWlyIHRcdTAwZmEgaXN0ZWFjaC4gQW4gYmhmdWlsIGZvbm4gb3J0IGFuIHJcdTAwZTlpbVx1MDBlZHIgcmlhY2h0YW5hY2ggaHR0cDpcL1wvIGEgY2h1ciBsZWlzPyIsCiJUYXJnZXQiOiAiU3ByaW9jIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiSXMgc2VvbGFkaCByXHUwMGVkb21ocGhvaXN0IFx1MDBlOSBhbiBVUkwgYSBjaHVpciB0XHUwMGZhIGlzdGVhY2guIEFuIGJoZnVpbCBmb25uIG9ydCBhbiByXHUwMGU5aW1cdTAwZWRyIHJpYWNodGFuYWNoIG1haWx0bzogYSBjaHVyIGxlaXM/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkN1aXIgbmFzYyBpc3RlYWNoXC9pbiBlYWdhciIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiQ3VpciBmXHUwMGVkc2VcdTAwZTFuIGlzdGVhY2hcL2luIGVhZ2FyIiwKIlBvc3RlciI6ICJQXHUwMGYzc3RhZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkZvaW5zZSBtaGFsYXJ0YWNoIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiR3JlYW1haWdoIGRvIGNoXHUwMGYzZCBsZWFiYWl0aGUgdGhcdTAwZWRvczoiLAoiSW5zZXJ0IHZpZGVvIjogIkN1aXIgZlx1MDBlZHNlXHUwMGUxbiBpc3RlYWNoIiwKIkVtYmVkIjogIkxlYWJhaWdoIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlNwXHUwMGUxcyBuZWFtaGJocmlzdGVhY2giLAoiUGFnZSBicmVhayI6ICJCcmlzZWFkaCBsZWF0aGFuYWlnaCIsCiJQYXN0ZSBhcyB0ZXh0IjogIkdyZWFtYWlnaCBtYXIgdGhcdTAwZTlhY3MiLAoiUHJldmlldyI6ICJSXHUwMGU5YW1oYW1oYXJjIiwKIlByaW50IjogIlByaW9udFx1MDBlMWlsIiwKIlNhdmUiOiAiU1x1MDBlMWJoXHUwMGUxaWwiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5cdTAwZWRvciBhaW1zXHUwMGVkb2RoIGFuIHRlYWdoclx1MDBlMW4uIiwKIlJlcGxhY2UiOiAiSW9uYWRhaWdoIiwKIk5leHQiOiAiQXIgYWdoYWlkaCIsCiJXaG9sZSB3b3JkcyI6ICJGb2NhaWwgaW9tbFx1MDBlMW5hIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiQWltc2lnaCBhZ3VzIGlvbmFkYWlnaCIsCiJSZXBsYWNlIHdpdGgiOiAiSW9uYWRhaWdoIGxlIiwKIkZpbmQiOiAiQWltc2lnaCIsCiJSZXBsYWNlIGFsbCI6ICJJb25hZGFpZ2ggdWlsZSIsCiJNYXRjaCBjYXNlIjogIkNcdTAwZTFzLVx1MDBlZG9nYWlyIiwKIlByZXYiOiAiU2lhciIsCiJTcGVsbGNoZWNrIjogIlNlaWNlXHUwMGUxaWwgYW4gbGl0cmlcdTAwZmEiLAoiRmluaXNoIjogIkNyXHUwMGVkb2NobmFpZ2giLAoiSWdub3JlIGFsbCI6ICJEXHUwMGU5YW4gbmVhbWhhaXJkIG9ydGh1IGdvIGxcdTAwZTlpciIsCiJJZ25vcmUiOiAiRFx1MDBlOWFuIG5lYW1oYWlyZCBhaXIiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQ3VpciBsZWlzIGFuIGJoRm9jbFx1MDBmM2lyIFx1MDBlOSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJb25zXHUwMGUxaWdoIHJcdTAwZjMgb3MgYSBjaGlvbm4iLAoiUm93cyI6ICJSXHUwMGYzbm5hIiwKIkhlaWdodCI6ICJBaXJkZSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiR3JlYW1haWdoIHJcdTAwZjMgZmFvaSIsCiJBbGlnbm1lbnQiOiAiQWlsXHUwMGVkbmlcdTAwZmEiLAoiQm9yZGVyIGNvbG9yIjogIkRhdGggbmEgaGltbFx1MDBlZG5lIiwKIkNvbHVtbiBncm91cCI6ICJHclx1MDBmYXBhIGNvbFx1MDBmYW4iLAoiUm93IjogIlJcdTAwZjMiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW9uc1x1MDBlMWlnaCBjb2xcdTAwZmFuIGFyIGNobFx1MDBlOSIsCiJTcGxpdCBjZWxsIjogIlJvaW5uIGNpbGwiLAoiQ2VsbCBwYWRkaW5nIjogIlN0dVx1MDBlMWlsIGNlYWxsIiwKIkNlbGwgc3BhY2luZyI6ICJTcFx1MDBlMXNcdTAwZTFpbCBjZWFsbCIsCiJSb3cgdHlwZSI6ICJDaW5lXHUwMGUxbCBhbiByXHUwMGYzIiwKIkluc2VydCB0YWJsZSI6ICJJb25zXHUwMGUxaWdoIHRcdTAwZTFibGEiLAoiQm9keSI6ICJDb3JwIiwKIkNhcHRpb24iOiAiRm90aGVpZGVhbCIsCiJGb290ZXIiOiAiQnVudFx1MDBlMXNjIiwKIkRlbGV0ZSByb3ciOiAiU2NyaW9zIGFuIHJcdTAwZjMiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJHcmVhbWFpZ2ggclx1MDBmMyBvcyBhIGNoaW9ubiIsCiJTY29wZSI6ICJTY1x1MDBmM2lwIiwKIkRlbGV0ZSB0YWJsZSI6ICJTY3Jpb3MgYW4gdFx1MDBlMWJsYSIsCiJIIEFsaWduIjogIkFpbFx1MDBlZG5pXHUwMGZhIEMuIiwKIlRvcCI6ICJCYXJyIiwKIkhlYWRlciBjZWxsIjogIkNpbGwgY2hlYW5udFx1MDBlMWlzYyIsCiJDb2x1bW4iOiAiQ29sXHUwMGZhbiIsCiJSb3cgZ3JvdXAiOiAiR3JcdTAwZmFwYSByXHUwMGYzbm5hIiwKIkNlbGwiOiAiQ2lsbCIsCiJNaWRkbGUiOiAiTFx1MDBlMXIiLAoiQ2VsbCB0eXBlIjogIkNpbmVcdTAwZTFsIG5hIGNpbGxlIiwKIkNvcHkgcm93IjogIkNcdTAwZjNpcGVcdTAwZTFpbCBhbiByXHUwMGYzIiwKIlJvdyBwcm9wZXJ0aWVzIjogIkFpclx1MDBlZG9ubmEgYW4gclx1MDBmMyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIkFpclx1MDBlZG9ubmEgYW4gdFx1MDBlMWJsYSIsCiJCb3R0b20iOiAiQnVuIiwKIlYgQWxpZ24iOiAiQWlsXHUwMGVkbmlcdTAwZmEgSS4iLAoiSGVhZGVyIjogIkNlYW5udFx1MDBlMXNjIiwKIlJpZ2h0IjogIkFyIERoZWlzIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW9uc1x1MDBlMWlnaCBjb2xcdTAwZmFuIGFyIGRoZWlzIiwKIkNvbHMiOiAiQ29sXHUwMGZhaW4iLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJb25zXHUwMGUxaWdoIHJcdTAwZjMgZmFvaSIsCiJXaWR0aCI6ICJMZWl0aGVhZCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiQWlyXHUwMGVkb25uYSBuYSBjaWxsZSIsCiJMZWZ0IjogIkFyIENobFx1MDBlOSIsCiJDdXQgcm93IjogIkdlYXJyIGFuIHJcdTAwZjMiLAoiRGVsZXRlIGNvbHVtbiI6ICJTY3Jpb3MgYW4gY29sXHUwMGZhbiIsCiJDZW50ZXIiOiAiU2EgTFx1MDBlMXIiLAoiTWVyZ2UgY2VsbHMiOiAiQ3VtYWlzYyBjZWFsbGEiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIklvbnNcdTAwZTFpZ2ggdGVpbXBsXHUwMGU5YWQiLAoiVGVtcGxhdGVzIjogIlRlaW1wbFx1MDBlOWlkIiwKIkJhY2tncm91bmQgY29sb3IiOiAiRGF0aCBhbiBjaFx1MDBmYWxyYSIsCiJDdXN0b20uLi4iOiAiU2FpbmNoZWFwLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJEYXRoIHNhaW5jaGVhcHRoYSIsCiJObyBjb2xvciI6ICJHYW4gZGF0aCIsCiJUZXh0IGNvbG9yIjogIkRhdGggYW4gdFx1MDBlOWFjcyIsCiJTaG93IGJsb2NrcyI6ICJUYWlzcGVcdTAwZTFpbiBibG9jYW5uYSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlRhaXNwZVx1MDBlMWluIGNhcmFjaHRhaXIgZGhvZmhlaWN0aGUiLAoiV29yZHM6IHswfSI6ICJGb2NhaWw6IHswfSIsCiJJbnNlcnQiOiAiSW9uc1x1MDBlMWlnIiwKIkZpbGUiOiAiQ29taGFkIiwKIkVkaXQiOiAiRWFnYXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiTGltaXN0XHUwMGU5YXIgTVx1MDBlOWl0aC1UaFx1MDBlOWFjcy4gQnJcdTAwZmFpZ2ggQUxULUY5IGxlIGhhZ2hhaWRoIHJvZ2hjaGxcdTAwZTFpciwgQUxULUYxMCBsZSBoYWdoYWlkaCBiYXJyYSB1aXJsaXNcdTAwZWQsIGFndXMgQUxULTAgbGUgY1x1MDBmYW5hbWggYSBmaFx1MDBlMWlsIiwKIlRvb2xzIjogIlVpcmxpc1x1MDBlZCIsCiJWaWV3IjogIkFtaGFyYyIsCiJUYWJsZSI6ICJUXHUwMGUxYmxhIiwKIkZvcm1hdCI6ICJGb3JtXHUwMGUxaWQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/gd.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdnZCcsewoiQ3V0IjogIkdlYXJyIFx1MDBlMHMiLAoiSGVhZGluZyA1IjogIkNlYW5uLXNnclx1MDBlY29iaGFkaCA1IiwKIkhlYWRlciAyIjogIkJhbm4tY2lubiAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIkNoYW4gZWlsIGFtIGJyYWJoc2FpciBhZ2FkIGEnIGN1ciB0YWljIHJpIGlubnRyaWdlYWRoIGRcdTAwZWNyZWFjaCBkaGFuIHN0XHUwMGYyci1iaFx1MDBmMnJkLiBDbGVhY2hkIGF0aC1naG9pcmlkZWFuIGEnIG1oZXVyLWNobFx1MDBlMGlyLCBDdHJsK1hcL1ZcL1YgJ25hbiBcdTAwZTBpdGUuIiwKIkhlYWRpbmcgNCI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhZGggNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhZGggMiIsCiJQYXN0ZSI6ICJDdWlyIGFubiIsCiJDbG9zZSI6ICJEXHUwMGY5aW4iLAoiRm9udCBGYW1pbHkiOiAiVGVhZ2hsYWNoIGEnIGNocnV0aGEtY2hsXHUwMGYyIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQ28tdGhhb2JoYWljaCByaXMgYW4gbFx1MDBlMGltaCBkaGVhcyIsCiJOZXcgZG9jdW1lbnQiOiAiU2dyXHUwMGVjb2JoYWlubiBcdTAwZjlyIiwKIkJsb2NrcXVvdGUiOiAiQmxvYy1sdWFpZGgiLAoiTnVtYmVyZWQgbGlzdCI6ICJMaW9zdGEgXHUwMGUwaXJlYW1oYWljaHRlIiwKIkhlYWRpbmcgMSI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhZGggMSIsCiJIZWFkaW5ncyI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhaWRoZWFuIiwKIkluY3JlYXNlIGluZGVudCI6ICJNZXVkYWljaCBhbiBlYWciLAoiRm9ybWF0cyI6ICJGXHUwMGYycm1hdGFuIiwKIkhlYWRlcnMiOiAiQmFubmFuLWNpbm4iLAoiU2VsZWN0IGFsbCI6ICJUYWdoIG5hIGgtdWlsZSIsCiJIZWFkZXIgMyI6ICJCYW5uLWNpbm4gMyIsCiJCbG9ja3MiOiAiQmxvY2FpY2hlYW4iLAoiVW5kbyI6ICJOZW8tZGhcdTAwZThhbiIsCiJTdHJpa2V0aHJvdWdoIjogIkxvaWRobmUgdHJvaW1oZSIsCiJCdWxsZXQgbGlzdCI6ICJMaW9zdGEgcGhlaWxlYXJhaWNodGUiLAoiSGVhZGVyIDEiOiAiQmFubi1jaW5uIDEiLAoiU3VwZXJzY3JpcHQiOiAiT3Mtc2dyXHUwMGVjb2JodGUiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGYWxhbWhhaWNoIGFtIGZcdTAwZjJybWF0YWRoIiwKIkZvbnQgU2l6ZXMiOiAiTWV1ZGFuIG5hbiBjcnV0aGFuLWNobFx1MDBmMiIsCiJTdWJzY3JpcHQiOiAiQnVuLXNnclx1MDBlY29iaHRlIiwKIkhlYWRlciA2IjogIkJhbm4tY2lubiA2IiwKIlJlZG8iOiAiQXRoLWRoXHUwMGU4YW4iLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmIiwKIk9rIjogIkNlYXJ0IG1hLXRoXHUwMGUwIiwKIkJvbGQiOiAiVHJvbSIsCiJDb2RlIjogIkNcdTAwZjJkIiwKIkl0YWxpYyI6ICJFYWRhaWx0ZWFjaCIsCiJBbGlnbiBjZW50ZXIiOiAiQ28tdGhhb2JoYWljaCByaXMgYScgbWhlYWRoYW4iLAoiSGVhZGVyIDUiOiAiQmFubi1jaW5uIDUiLAoiSGVhZGluZyA2IjogIkNlYW5uLXNnclx1MDBlY29iaGFkaCA2IiwKIkhlYWRpbmcgMyI6ICJDZWFubi1zZ3JcdTAwZWNvYmhhZGggMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTHVnaGRhaWNoIGFuIGVhZyIsCiJIZWFkZXIgNCI6ICJCYW5uLWNpbm4gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTWEgY2h1aXJlYXMgdHUgcnVkIGFubiBhLW5pcywgdGhcdTAwZThpZCBhbiB0LXN1c2JhaW50IGEgY2h1ciBhbm4gbWFyIHRoZWFjc2EgbG9tIGd1cyBhbiBjdWlyIHRodSBkaGV0aCBhbiByb2doYWlubiBzZW8gYS1yaXRoaXN0LiIsCiJVbmRlcmxpbmUiOiAiRm8tbG9pZGhuZSIsCiJDYW5jZWwiOiAiU2d1aXIgZGhldGgiLAoiSnVzdGlmeSI6ICJCbG9jYWljaCIsCiJJbmxpbmUiOiAiVGFvYmggYS1zdGFpZ2ggbmEgbG9pZGhuZSIsCiJDb3B5IjogIkRcdTAwZThhbiBsZXRoYmhyZWFjIiwKIkFsaWduIGxlZnQiOiAiQ28tdGhhb2JoYWljaCByaXMgYW4gbFx1MDBlMGltaCBjaGxcdTAwZWMiLAoiVmlzdWFsIGFpZHMiOiAiVGFpYyBsXHUwMGU4aXJzaW5uZSIsCiJMb3dlciBHcmVlayI6ICJMaXRyaWNoZWFuIEdyZXVnYWNoIGJlYWdhIiwKIlNxdWFyZSI6ICJDZVx1MDBlMHJuYWciLAoiRGVmYXVsdCI6ICJCdW4tcm9naGFpbm4iLAoiTG93ZXIgQWxwaGEiOiAiQWliaWRpbGVhY2ggaXMgYmVhZyIsCiJDaXJjbGUiOiAiQ2VhcmNhbGwiLAoiRGlzYyI6ICJEaW9zZ2EiLAoiVXBwZXIgQWxwaGEiOiAiQWliaWRpbGVhY2ggaXMgbVx1MDBmMnIiLAoiVXBwZXIgUm9tYW4iOiAiXHUwMGMwaXJlYW1oYW4gUlx1MDBmMm1hbmFjaCBpcyBtXHUwMGYyciIsCiJMb3dlciBSb21hbiI6ICJcdTAwYzBpcmVhbWhhbiBSXHUwMGYybWFuYWNoIGlzIGJlYWciLAoiTmFtZSI6ICJBaW5tIiwKIkFuY2hvciI6ICJBY2FpciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlRoYSBhdGhhcnJhaWNoZWFuIGd1biBzXHUwMGUwYmhhbGFkaCBhZ2FkLCBhIGJoZWlsIHRodSBjaW5udGVhY2ggZ3UgYmhlaWwgdGh1IGFpcnNvbiBnbHVhc2FkIGFpciBmYWxiaD8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIkFpc2lnIGFuIGRyZWFjaCBtdSBkaGVpcmVhZGgiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyYWN0YXIgc1x1MDBmMm5yYWljaHRlIiwKIlNvdXJjZSBjb2RlIjogIkFuIGNcdTAwZjJkIHRcdTAwZjlzYWlsIiwKIkNvbG9yIjogIkRhdGgiLAoiUmlnaHQgdG8gbGVmdCI6ICJEZWFzIGd1IGNsXHUwMGVjIiwKIkxlZnQgdG8gcmlnaHQiOiAiQ2xcdTAwZWMgZ3UgZGVhcyIsCiJFbW90aWNvbnMiOiAiU2FtaGxhaWRoZWFuLWduXHUwMGY5aXNlIiwKIlJvYm90cyI6ICJSb2JvdGFpcmVhbiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlJvZ2hhaW5uZWFuIG5hIHNnclx1MDBlY29iaGFpbm5lIiwKIlRpdGxlIjogIlRpb3RhbCIsCiJLZXl3b3JkcyI6ICJGYWNsYW4tbHVpcmciLAoiRW5jb2RpbmciOiAiQ1x1MDBmMmRhY2hhZGgiLAoiRGVzY3JpcHRpb24iOiAiVHVhaXJpc2dldWwiLAoiQXV0aG9yIjogIlx1MDBkOWdoZGFyIiwKIkZ1bGxzY3JlZW4iOiAiTFx1MDBlMG4tc2dyXHUwMGVjbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTG9pZGhuZSBjaFx1MDBmMm1obmFyZCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDBjMGl0ZSBjXHUwMGYybWhuYXJkIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJDdWlyIGEtc3RlYWNoXC9EZWFzYWljaCBhbiBkZWFsYmgiLAoiR2VuZXJhbCI6ICJDb2l0Y2hlYW5uIiwKIkFkdmFuY2VkIjogIkFkaGFydGFjaCIsCiJTb3VyY2UiOiAiVFx1MDBmOXMiLAoiQm9yZGVyIjogIklvbWFsbCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiQ3VpbmdpY2ggbmEgY28tclx1MDBlOGlyZWFuIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDBjMGl0ZSBpbmdoZWFyYWNoIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlR1YWlyaXNnZXVsIGFuIGRlaWxiaCIsCiJTdHlsZSI6ICJTdG9pZGhsZSIsCiJEaW1lbnNpb25zIjogIk1ldWRhY2hkIiwKIkluc2VydCBpbWFnZSI6ICJDdWlyIGEtc3RlYWNoIGRlYWxiaCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJDdWlyIGEtc3RlYWNoIGNlYW5uLWxcdTAwZTBcL1x1MDBlMG0iLAoiUmVtb3ZlIGxpbmsiOiAiVGhvaXIgYWlyIGZhbGJoIGFuIGNlYW5nYWwiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiQW4gdGVhY3NhIGEgdGhcdTAwZThpZCBhIHNoZWFsbHRhaW5uIiwKIkFuY2hvcnMiOiAiQWNyYWljaGVhbiIsCiJJbnNlcnQgbGluayI6ICJDdWlyIGEtc3RlYWNoIGNlYW5nYWwiLAoiTmV3IHdpbmRvdyI6ICJVaW5uZWFnIFx1MDBmOXIiLAoiTm9uZSI6ICJDaGFuIGVpbCBnaW4iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoYSBjb2x0YXMgZ3UgYmhlaWwgYW4gVVJMIGEgY2h1aXIgdGh1IGEtc3RlYWNoICduYSBjaGVhbmdhbCByaXMgYW4gdGFvYmggYS1tdWlnaC4gQSBiaGVpbCB0aHUgYWlyc29uIGFuIHJvLWxlYXNhY2hhbiBodHRwOlwvXC8gYSBjaHVyIHJpcz8gVGhhIGZldW0gYWlyLiIsCiJUYXJnZXQiOiAiVGFyZ2FpZCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoYSBjb2x0YXMgZ3UgYmhlaWwgYW4gVVJMIGEgY2h1aXIgdGh1IGEtc3RlYWNoICduYSBzaGVcdTAwZjJsYWRoIHB1aXN0LWQuIEEgYmhlaWwgdGh1IGFpcnNvbiBhbiByby1sZWFzYWNoYW4gbWFpbHRvOiBhIGNodXIgcmlzPyBUaGEgZmV1bSBhaXIuIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkN1aXIgYS1zdGVhY2hcL0RlYXNhaWNoIGFuIGNlYW5nYWwiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkN1aXIgYS1zdGVhY2hcL0RlYXNhaWNoIGEnIHZpZGVvIiwKIlBvc3RlciI6ICJQXHUwMGYyc3RhaXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlJvZ2hhaW5uIGVpbGUgZGUgdGhcdTAwZjlzIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiQ3VpciBhbiBjXHUwMGYyZCBsZWFiYWNoYWlkaCBhZ2FkIGEtc3RlYWNoIGd1IGgtXHUwMGVjb3NhbDoiLAoiSW5zZXJ0IHZpZGVvIjogIkN1aXIgYS1zdGVhY2ggdmlkZW8iLAoiRW1iZWQiOiAiTGVhYmFpY2giLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiQmVcdTAwZTBybiBuZW8tYmhyaXN0aWRoIiwKIlBhZ2UgYnJlYWsiOiAiQnJpc2VhZGgtZHVpbGxlaWdlIiwKIlBhc3RlIGFzIHRleHQiOiAiQ3VpciBhbm4gbWFyIHRoZWFjc2EiLAoiUHJldmlldyI6ICJSby1zaGVhbGxhZGgiLAoiUHJpbnQiOiAiQ2xcdTAwZjItYmh1YWlsIiwKIlNhdmUiOiAiU1x1MDBlMGJoYWlsIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJDaGEgYicgdXJyYWlubiBkaHVpbm4gbmEgZGgnaWFyciB0aHUgYSBsb3JnLiIsCiJSZXBsYWNlIjogIkN1aXIgJ25hIFx1MDBlMGl0ZSIsCiJOZXh0IjogIkFpciBhZGhhcnQiLAoiV2hvbGUgd29yZHMiOiAiRmFjbGFuIHNsXHUwMGUwbmEiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJMb3JnIGlzIGN1aXIgJ25hIFx1MDBlMGl0ZSIsCiJSZXBsYWNlIHdpdGgiOiAiQ3VpciBuYSBsZWFuYXMgJ25hIFx1MDBlMGl0ZSIsCiJGaW5kIjogIkxvcmciLAoiUmVwbGFjZSBhbGwiOiAiQ3VpciBhbiBcdTAwZTBpdGUgbmEgaC11aWxlIiwKIk1hdGNoIGNhc2UiOiAiTWFpZHMgbGl0cmljaGVhbiBtXHUwMGYycmEgJ3MgYmVhZ2EiLAoiUHJldiI6ICJBaXIgYWlzIiwKIlNwZWxsY2hlY2siOiAiRGVhcmJoYWljaCBhbiBsaXRyZWFjaGFkaCIsCiJGaW5pc2giOiAiQ3JcdTAwZWNvY2huYWljaCIsCiJJZ25vcmUgYWxsIjogIkxlaWcgc2VhY2hhZCBuYSBoLXVpbGUiLAoiSWdub3JlIjogIkxlaWcgc2VhY2hhZCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJDdWlyIHJpcyBhbiBmaGFjbGFpciIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJDdWlyIGEtc3RlYWNoIHJcdTAwZTBnaCByb2ltaGUiLAoiUm93cyI6ICJSXHUwMGUwZ2hhbiIsCiJIZWlnaHQiOiAiXHUwMGMwaXJkZSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiQ3VpciBhbm4gclx1MDBlMGdoICduYSBkaFx1MDBlOGlkaCIsCiJBbGlnbm1lbnQiOiAiQ28tdGhhb2JoYWRoIiwKIkJvcmRlciBjb2xvciI6ICJEYXRoIGFuIGlvbWFpbGwiLAoiQ29sdW1uIGdyb3VwIjogIkJ1aWRoZWFubiBjaG9sYmhhbiIsCiJSb3ciOiAiUlx1MDBlMGdoIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkN1aXIgYS1zdGVhY2ggY29sYmggcm9pbWhlIiwKIlNwbGl0IGNlbGwiOiAiU2dvaWx0IGFuIGNlYWxsYSIsCiJDZWxsIHBhZGRpbmciOiAiUGFkYWRoIG5hbiBjZWFsbGFuIiwKIkNlbGwgc3BhY2luZyI6ICJCZVx1MDBlMHJuYWRoIG5hbiBjZWFsbGFuIiwKIlJvdyB0eXBlIjogIlNlXHUwMGYycnNhIGFuIHJcdTAwZTBpZ2giLAoiSW5zZXJ0IHRhYmxlIjogIkN1aXIgYS1zdGVhY2ggY2xcdTAwZTByIiwKIkJvZHkiOiAiQm9kaGFpZyIsCiJDYXB0aW9uIjogIkNhaXBzZWFuIiwKIkZvb3RlciI6ICJCYW5uLWNvaXNlIiwKIkRlbGV0ZSByb3ciOiAiU2d1YWIgXHUwMGUwcyBhbiByXHUwMGUwZ2giLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJDdWlyIGFubiByXHUwMGUwZ2ggcm9pbWhlIiwKIlNjb3BlIjogIlNnXHUwMGYycCIsCiJEZWxldGUgdGFibGUiOiAiU2d1YWIgXHUwMGUwcyBhbiBjbFx1MDBlMHIiLAoiSCBBbGlnbiI6ICJDby10aGFvYmhhZGggY1x1MDBmMm1obmFyZCIsCiJUb3AiOiAiQmFyciIsCiJIZWFkZXIgY2VsbCI6ICJDZWFsbGEgYScgYmhhbm5hLWNoaW5uIiwKIkNvbHVtbiI6ICJDb2xiaCIsCiJSb3cgZ3JvdXAiOiAiQnVpZGhlYW5uIHJcdTAwZTBnaGFuIiwKIkNlbGwiOiAiQ2VhbGxhIiwKIk1pZGRsZSI6ICJNZWFkaGFuIiwKIkNlbGwgdHlwZSI6ICJTZVx1MDBmMnJzYSBhJyBjaGVhbGxhIiwKIkNvcHkgcm93IjogIkRcdTAwZThhbiBsZXRoYmhyZWFjIGRoZW4gclx1MDBlMGdoIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJvZ2hhaW5uZWFuIGFuIHJcdTAwZTBpZ2giLAoiVGFibGUgcHJvcGVydGllcyI6ICJSb2doYWlubmVhbiBhJyBjaGxcdTAwZTBpciIsCiJCb3R0b20iOiAiQm9ubiIsCiJWIEFsaWduIjogIkNvLXRoYW9iaGFkaCBpbmdoZWFyYWNoIiwKIkhlYWRlciI6ICJCYW5uLWNpbm4iLAoiUmlnaHQiOiAiRGVhcyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkN1aXIgYS1zdGVhY2ggY29sYmggJ25hIGRoXHUwMGU4aWRoIiwKIkNvbHMiOiAiQ29sYmhhbiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIkN1aXIgYS1zdGVhY2ggclx1MDBlMGdoICduYSBkaFx1MDBlOGlkaCIsCiJXaWR0aCI6ICJMZXVkIiwKIkNlbGwgcHJvcGVydGllcyI6ICJSb2doYWlubmVhbiBhJyBjaGVhbGxhIiwKIkxlZnQiOiAiQ2xcdTAwZWMiLAoiQ3V0IHJvdyI6ICJHZWFyciBcdTAwZTBzIGFuIHJcdTAwZTBnaCIsCiJEZWxldGUgY29sdW1uIjogIlNndWFiIFx1MDBlMHMgYW4gY29sYmgiLAoiQ2VudGVyIjogIk1lYWRoYW4iLAoiTWVyZ2UgY2VsbHMiOiAiQ28tYW9uYWljaCBuYSBjZWFsbGFuIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJDdWlyIGEtc3RlYWNoIHRlYW1wbGFpZCIsCiJUZW1wbGF0ZXMiOiAiVGVhbXBsYWlkZWFuIiwKIkJhY2tncm91bmQgY29sb3IiOiAiRGF0aCBhXHUyMDE5IGNoXHUwMGY5bGFpYmgiLAoiQ3VzdG9tLi4uIjogIkduXHUwMGUwdGhhaWNodGUuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkRhdGggZ25cdTAwZTB0aGFpY2h0ZSIsCiJObyBjb2xvciI6ICJHdW4gZGF0aCIsCiJUZXh0IGNvbG9yIjogIkRhdGggYW4gdGVhY3NhIiwKIlNob3cgYmxvY2tzIjogIlNlYWxsIG5hIGJsb2NhaWNoZWFuIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiU2VhbGwgbmEgY2FyYWN0YXJhbiBkby1maGFpY3Npbm5lYWNoIiwKIldvcmRzOiB7MH0iOiAiRmFjbGFuOiB7MH0iLAoiSW5zZXJ0IjogIkN1aXIgYS1zdGVhY2giLAoiRmlsZSI6ICJGYWlkaGxlIiwKIkVkaXQiOiAiRGVhc2FpY2giLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmFvbiBSaWNoIFRleHQuIEJyXHUwMGY5dGggQUxULUY5IGFpcnNvbiBhJyBjaGxcdTAwZTBpci10aGFpY2UuIEJyXHUwMGY5dGggQUxULUYxMCBhaXJzb24gYScgYmhcdTAwZTByLWlubmVhbC4gQnJcdTAwZjl0aCBBTFQtMCBhaXJzb24gbmEgY29iaGFyYWNoLiIsCiJUb29scyI6ICJJbm5lYWxhbiIsCiJWaWV3IjogIlNlYWxsYWRoIiwKIlRhYmxlIjogIkNsXHUwMGUwciIsCiJGb3JtYXQiOiAiRlx1MDBmMnJtYXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/gl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdnbCcsewoiQ3V0IjogIkNvcnRhciIsCiJIZWFkaW5nIDUiOiAiVFx1MDBlZHR1bG8gNSIsCiJIZWFkZXIgMiI6ICJDYWJlY2VpcmEgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJPIHNldSBuYXZlZ2Fkb3Igbm9uIGFkbWl0ZSBvIGFjY2VzbyBkaXJlY3RvIGFvIHBvcnRhcGFwZWlzLiBFbXByZWd1ZSBvcyBhdGFsbG9zIGRlIHRlY2xhZG8gQ3RybCtYXC9DXC9WIG5vIHNldSBjYW50by4iLAoiSGVhZGluZyA0IjogIlRcdTAwZWR0dWxvIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiVFx1MDBlZHR1bG8gMiIsCiJQYXN0ZSI6ICJQZWdhciIsCiJDbG9zZSI6ICJQZWNoYXIiLAoiRm9udCBGYW1pbHkiOiAiVGlwbyBkZSBsZXRyYSIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIkFsaVx1MDBmMWFyIFx1MDBlMSBkZXJlaXRhIiwKIk5ldyBkb2N1bWVudCI6ICJOb3ZvIGRvY3VtZW50byIsCiJCbG9ja3F1b3RlIjogIkJsb3F1ZSBlbnRyZSBjb21pXHUwMGYxYXMiLAoiTnVtYmVyZWQgbGlzdCI6ICJMaXN0YSBudW1lcmFkYSIsCiJIZWFkaW5nIDEiOiAiVFx1MDBlZHR1bG8gMSIsCiJIZWFkaW5ncyI6ICJUXHUwMGVkdHVsbyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVtZW50YXIgYSBzYW5nclx1MDBlZGEiLAoiRm9ybWF0cyI6ICJGb3JtYXRvcyIsCiJIZWFkZXJzIjogIkNhYmVjZWlyYXMiLAoiU2VsZWN0IGFsbCI6ICJTZWxlY2Npb25hciB0b2RvIiwKIkhlYWRlciAzIjogIkNhYmVjZWlyYSAzIiwKIkJsb2NrcyI6ICJCbG9xdWVzIiwKIlVuZG8iOiAiRGVzZmFjZXIiLAoiU3RyaWtldGhyb3VnaCI6ICJSaXNjYWRvIiwKIkJ1bGxldCBsaXN0IjogIkxpc3RhIGRlIHZpXHUwMGYxZXRhcyIsCiJIZWFkZXIgMSI6ICJDYWJlY2VpcmEgMSIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlclx1MDBlZG5kaWNlIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiTGltcGFyIG8gZm9ybWF0byIsCiJGb250IFNpemVzIjogIlRhbWFcdTAwZjFvIGRhIGxldHJhIiwKIlN1YnNjcmlwdCI6ICJTdWJcdTAwZWRuZGljZSIsCiJIZWFkZXIgNiI6ICJDYWJlY2VpcmEgNiIsCiJSZWRvIjogIlJlZmFjZXIiLAoiUGFyYWdyYXBoIjogIlBhclx1MDBlMWdyYWZvIiwKIk9rIjogIkFjZXB0YXIiLAoiQm9sZCI6ICJOZWdyYSIsCiJDb2RlIjogIkNcdTAwZjNkaWdvIiwKIkl0YWxpYyI6ICJDdXJzaXZhIiwKIkFsaWduIGNlbnRlciI6ICJBbGlcdTAwZjFhciBhbyBjZW50cm8iLAoiSGVhZGVyIDUiOiAiQ2FiZWNlaXJhIDUiLAoiSGVhZGluZyA2IjogIlRcdTAwZWR0dWxvIDYiLAoiSGVhZGluZyAzIjogIlRcdTAwZWR0dWxvIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlJlZHVjaXIgYSBzYW5nclx1MDBlZGEiLAoiSGVhZGVyIDQiOiAiQ2FiZWNlaXJhIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIk5lc3RlIG1vbWVudG8gbyBwZWdhZG8gZXN0XHUwMGUxIGRlZmluaWRvIGVuIG1vZG8gZGUgdGV4dG8gc2ltcGxlLiBPcyBjb250aWRvcyBwXHUwMGU5Z2FyYW5zZSBjb21vIHRleHRvIHNlbiBmb3JtYXRvIGF0YSBxdWUgc2UgYWN0aXZlIGVzdGEgb3BjaVx1MDBmM24uIiwKIlVuZGVybGluZSI6ICJTdWJsaVx1MDBmMWFkbyIsCiJDYW5jZWwiOiAiQ2FuY2VsYXIiLAoiSnVzdGlmeSI6ICJYdXN0aWZpY2FyIiwKIklubGluZSI6ICJFbiBsaVx1MDBmMWEiLAoiQ29weSI6ICJDb3BpYXIiLAoiQWxpZ24gbGVmdCI6ICJBbGlcdTAwZjFhciBcdTAwZTEgZXNxdWVyZGEiLAoiVmlzdWFsIGFpZHMiOiAiQXh1ZGFzIHZpc3VhaXMiLAoiTG93ZXIgR3JlZWsiOiAiR3JlZ2EgbWluXHUwMGZhc2N1bGEiLAoiU3F1YXJlIjogIkNhZHJhZG8iLAoiRGVmYXVsdCI6ICJQcmVkZXRlcm1pbmFkYSIsCiJMb3dlciBBbHBoYSI6ICJBbGZhIG1pblx1MDBmYXNjdWxhIiwKIkNpcmNsZSI6ICJDaXJjdWxvIiwKIkRpc2MiOiAiRGlzY28iLAoiVXBwZXIgQWxwaGEiOiAiQWxmYSBtYWlcdTAwZmFzY3VsYSIsCiJVcHBlciBSb21hbiI6ICJSb21hbmEgbWFpXHUwMGZhc2N1bGEiLAoiTG93ZXIgUm9tYW4iOiAiUm9tYW5hIG1pblx1MDBmYXNjdWxhIiwKIk5hbWUiOiAiTm9tZSIsCiJBbmNob3IiOiAiQW5jb3JheGUiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJUZW4gY2FtYmlvcyBzZW4gZ2FyZGFyLiBDb25maXJtYSBxdWUgcXVlcmUgc2FcdTAwZWRyPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdGF1cmFyIG8gXHUwMGZhbHRpbW8gYm9ycmFkb3IiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyXHUwMGUxY3RlciBlc3BlY2lhbCIsCiJTb3VyY2UgY29kZSI6ICJDXHUwMGYzZGlnbyBmb250ZSIsCiJSaWdodCB0byBsZWZ0IjogIkRlIGRlcmVpdGEgYSBlc3F1ZXJkYSIsCiJMZWZ0IHRvIHJpZ2h0IjogIkRlIGVzcXVlcmRhIGEgZGVyZWl0YSIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25hcyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZG8gZG9jdW1lbnRvIiwKIlRpdGxlIjogIlRcdTAwZWR0dWxvIiwKIktleXdvcmRzIjogIlBhbGFicmFzIGNsYXZlIiwKIkVuY29kaW5nIjogIkNvZGlmaWNhY2lcdTAwZjNuIiwKIkRlc2NyaXB0aW9uIjogIkRlc2NyaWNpXHUwMGYzbiIsCiJBdXRob3IiOiAiQXV0b3IiLAoiRnVsbHNjcmVlbiI6ICJQYW50YWxsYSBjb21wbGV0YSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTGlcdTAwZjFhIGhvcml6b250YWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJFc3Bhem8gaG9yaXpvbnRhbCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJpclwvZWRpdGFyIGltYXhlIiwKIkdlbmVyYWwiOiAiWGVyYWwiLAoiQWR2YW5jZWQiOiAiQXZhbnphZG8iLAoiU291cmNlIjogIk9yaXhlIiwKIkJvcmRlciI6ICJCb3JkbyIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiUmVzdHJpbnhpciBhcyBwcm9wb3JjaVx1MDBmM25zIiwKIlZlcnRpY2FsIHNwYWNlIjogIkVzcGF6byB2ZXJ0aWNhbCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEZXNjcmljaVx1MDBmM24gZGEgaW1heGUiLAoiU3R5bGUiOiAiRXN0aWxvIiwKIkRpbWVuc2lvbnMiOiAiRGltZW5zaVx1MDBmM25zIiwKIkluc2VydCBpbWFnZSI6ICJJbnNlcmlyIGltYXhlIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkluc2VyaXIgZGF0YVwvaG9yYSIsCiJSZW1vdmUgbGluayI6ICJSZXRpcmFyIGEgbGlnYXpcdTAwZjNuIiwKIlVybCI6ICJVUkwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHRvIHF1ZSBhbW9zYXIiLAoiQW5jaG9ycyI6ICJBbmNvcmF4ZXMiLAoiSW5zZXJ0IGxpbmsiOiAiSW5zZXJpciBsaWdhelx1MDBmM24iLAoiTmV3IHdpbmRvdyI6ICJOb3ZhIHhhbmVsYSIsCiJOb25lIjogIk5pbmdcdTAwZmFuIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJPIFVSTCBxdWUgaW50cm9kdWNpdSBzZW1lbGxhIHNlcmVuIHVuaGEgbGlnYXpcdTAwZjNuIGV4dGVybmEuIFF1ZXJlIGVuZ2FkaXJsbGUgbyBwcmVmaXhvIGh0dHA6XC9cLyByZXF1aXJpZG8/IiwKIlRhcmdldCI6ICJEZXN0aW5vIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiTyBVUkwgcXVlIGludHJvZHVjaXUgc2VtZWxsYSBzZXJlbiB1biBlbmRlcmV6byBkZSBjb3JyZW8uIFF1ZXJlIGVuZ2FkaXJsbGUgbyBwcmVmaXhvIG1haWx0bzogcmVxdWlyaWRvPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcmlyXC9lZGl0YXIgbGlnYXpcdTAwZjNuIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbnNlcmlyXC9lZGl0YXIgdlx1MDBlZGRlbyIsCiJQb3N0ZXIiOiAiQ2FydGVsIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJPcml4ZSBhbHRlcm5hdGl2YSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBlZ3VlIGVtYmFpeG8gbyBjXHUwMGYzZGlnbyBpbnRlZ3JhZG86IiwKIkluc2VydCB2aWRlbyI6ICJJbnNlcmlyIHZcdTAwZWRkZW8iLAoiRW1iZWQiOiAiSW50ZWdyYWRvIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkVzcGF6byBpcnJvbXBcdTAwZWRiZWwiLAoiUGFnZSBicmVhayI6ICJRdWVicmEgZGUgcFx1MDBlMXhpbmEiLAoiUGFzdGUgYXMgdGV4dCI6ICJQZWdhciBjb21vIHRleHRvIiwKIlByZXZpZXciOiAiVmlzdGEgcHJldmlhIiwKIlByaW50IjogIkltcHJpbWlyIiwKIlNhdmUiOiAiR2FyZGFyIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJOb24gZm9pIHBvc1x1MDBlZGJlbCBhdG9wYXIgYSBjYWRlYSBkZSB0ZXh0byBlc3BlY2lmaWNhZGEuIiwKIlJlcGxhY2UiOiAiU3Vic3RpdHVcdTAwZWRyIiwKIk5leHQiOiAiU2VndWludGUiLAoiV2hvbGUgd29yZHMiOiAiUGFsYWJyYXMgY29tcGxldGFzIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiQnVzY2FyIGUgc3Vic3RpdHVcdTAwZWRyIiwKIlJlcGxhY2Ugd2l0aCI6ICJTdWJzdGl0dVx1MDBlZHIgY29uIiwKIkZpbmQiOiAiQnVzY2FyIiwKIlJlcGxhY2UgYWxsIjogIlN1YnN0aXR1XHUwMGVkciB0b2RvIiwKIk1hdGNoIGNhc2UiOiAiRGlzdGluZ3VpciBtYWlcdTAwZmFzY3VsYXMiLAoiUHJldiI6ICJBbnRlcmlvciIsCiJTcGVsbGNoZWNrIjogIkNvcnJlY3RvciBvcnRvZ3JcdTAwZTFmaWNvIiwKIkZpbmlzaCI6ICJSZW1hdGFyIiwKIklnbm9yZSBhbGwiOiAiSWdub3JhciB0b2RvIiwKIklnbm9yZSI6ICJJZ25vcmFyIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VyaXIgdW5oYSBmaWxhIGVucmliYSIsCiJSb3dzIjogIkZpbGFzIiwKIkhlaWdodCI6ICJBbHRvIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQZWdhciBmaWxhIGVucmliYSIsCiJBbGlnbm1lbnQiOiAiQWxpXHUwMGYxYW1lbnRvIiwKIkNvbHVtbiBncm91cCI6ICJHcnVwbyBkZSBjb2x1bW5hcyIsCiJSb3ciOiAiRmlsYSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcmlyIGNvbHVtbmEgXHUwMGUxIGVzcXVlcmRhIiwKIlNwbGl0IGNlbGwiOiAiRGl2aWRpciBjZWxhcyIsCiJDZWxsIHBhZGRpbmciOiAiTWFyeGUgaW50ZXJpb3IgZGEgY2VsYSIsCiJDZWxsIHNwYWNpbmciOiAiTWFyeGUgZW50cmUgY2VsYXMiLAoiUm93IHR5cGUiOiAiVGlwbyBkZSBmaWxhIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcmlyIHRcdTAwZTFib2EiLAoiQm9keSI6ICJDb3JwbyIsCiJDYXB0aW9uIjogIlN1YnRcdTAwZWR0dWxvIiwKIkZvb3RlciI6ICJSb2RhcFx1MDBlOSIsCiJEZWxldGUgcm93IjogIkVsaW1pbmFyIGZpbGEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJQZWdhciBmaWxhIGVtYmFpeG8iLAoiU2NvcGUiOiAiXHUwMGMxbWJpdG8iLAoiRGVsZXRlIHRhYmxlIjogIkVsaW1pbmFyIHRcdTAwZTFib2EiLAoiSCBBbGlnbiI6ICJBbGlcdTAwZjFhbWVudG8gSCIsCiJUb3AiOiAiQXJyaWJhIiwKIkhlYWRlciBjZWxsIjogIkNlbGEgZGUgY2FiZWNlaXJhIiwKIkNvbHVtbiI6ICJDb2x1bW5hIiwKIlJvdyBncm91cCI6ICJHcnVwbyBkZSBmaWxhcyIsCiJDZWxsIjogIkNlbGEiLAoiTWlkZGxlIjogIk1lZGlvIiwKIkNlbGwgdHlwZSI6ICJUaXBvIGRlIGNlbGEiLAoiQ29weSByb3ciOiAiQ29waWFyIGZpbGEiLAoiUm93IHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGFzIGZpbGFzIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcGllZGFkZXMgZGEgdFx1MDBlMWJvYSIsCiJCb3R0b20iOiAiQWJhaXhvIiwKIlYgQWxpZ24iOiAiQWxpXHUwMGYxYW1lbnRvIFYiLAoiSGVhZGVyIjogIkNhYmVjZWlyYSIsCiJSaWdodCI6ICJEZXJlaXRhIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJpciBjb2x1bW5hIFx1MDBlMSBkZXJlaXRhIiwKIkNvbHMiOiAiQ29scy4iLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcmlyIHVuaGEgZmlsYSBlbWJhaXhvIiwKIldpZHRoIjogIkxhcmdvIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9waWVkYWRlcyBkYSBjZWxhIiwKIkxlZnQiOiAiRXNxdWVyZGEiLAoiQ3V0IHJvdyI6ICJDb3J0YXIgZmlsYSIsCiJEZWxldGUgY29sdW1uIjogIkVsaW1pbmFyIGNvbHVtbmEiLAoiQ2VudGVyIjogIkNlbnRybyIsCiJNZXJnZSBjZWxscyI6ICJDb21iaW5hciBjZWxhcyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJpciBtb2RlbG8iLAoiVGVtcGxhdGVzIjogIk1vZGVsb3MiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJDb3IgZG8gZm9uZG8iLAoiVGV4dCBjb2xvciI6ICJDb3IgZG8gdGV4dG8iLAoiU2hvdyBibG9ja3MiOiAiQW1vc2FyIG9zIGJsb3F1ZXMiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJBbW9zYXIgY2FyYWN0ZXJlcyBpbnZpc1x1MDBlZGJlaXMiLAoiV29yZHM6IHswfSI6ICJQYWxhYnJhczogezB9IiwKIkluc2VydCI6ICJJbnNlcmlyIiwKIkZpbGUiOiAiRmljaGVpcm8iLAoiRWRpdCI6ICJFZGl0YXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwMGMxcmVhIGRlIHRleHRvIG1lbGxvcmFkby4gUHJlbWEgQUxULUY5IHBhcmEgbyBtZW5cdTAwZmEuIFByZW1hIEFMVC1GMTAgcGFyYSBhIGJhcnJhIGRlIGZlcnJhbWVudGFzLiBQcmVtYSBBTFQtMCBwYXJhIGEgYXh1ZGEiLAoiVG9vbHMiOiAiRmVycmFtZW50YXMiLAoiVmlldyI6ICJWZXIiLAoiVGFibGUiOiAiVFx1MDBlMWJvYSIsCiJGb3JtYXQiOiAiRm9ybWF0byIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/he_IL.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdoZV9JTCcsewoiQ3V0IjogIlx1MDVkMlx1MDVkNlx1MDVkNVx1MDVlOCIsCiJIZWFkaW5nIDUiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWQ1XHUwNWVhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWVhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNWQ0XHUwNWQzXHUwNWU0XHUwNWQzXHUwNWU0XHUwNWRmIFx1MDVlOVx1MDVkY1x1MDVkYSBcdTA1ZDBcdTA1ZDlcdTA1ZTBcdTA1ZDUgXHUwNWRlXHUwNWQwXHUwNWU0XHUwNWU5XHUwNWU4IFx1MDVkMlx1MDVkOVx1MDVlOVx1MDVkNCBcdTA1ZDlcdTA1ZTlcdTA1ZDlcdTA1ZThcdTA1ZDQgXHUwNWRjXHUwNWRjXHUwNWQ1XHUwNWQ3LiBcdTA1ZDBcdTA1ZTBcdTA1ZDAgXHUwNWQ0XHUwNWU5XHUwNWVhXHUwNWRlXHUwNWU5IFx1MDVkMVx1MDVlN1x1MDVkOVx1MDVlNlx1MDVkNVx1MDVlOFx1MDVkOSBcdTA1ZDRcdTA1ZGVcdTA1ZTdcdTA1ZGNcdTA1ZDNcdTA1ZWEgQ3RybCtYXC9DXC9WIFx1MDVkMVx1MDVkZVx1MDVlN1x1MDVkNVx1MDVkZC4iLAoiSGVhZGluZyA0IjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVkNVx1MDVlYSA0IiwKIkRpdiI6ICJcdTA1ZGVcdTA1ZTdcdTA1ZDhcdTA1ZTIgXHUwNWU3XHUwNWQ1XHUwNWQzIERpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWQ1XHUwNWVhIDIiLAoiUGFzdGUiOiAiXHUwNWQ0XHUwNWQzXHUwNWQxXHUwNWU3IiwKIkNsb3NlIjogIlx1MDVlMVx1MDVkMlx1MDVkNVx1MDVlOCIsCiJGb250IEZhbWlseSI6ICJcdTA1ZTFcdTA1ZDVcdTA1ZDIgXHUwNWQyXHUwNWQ1XHUwNWU0XHUwNWRmIiwKIlByZSI6ICJcdTA1ZTdcdTA1ZDhcdTA1ZTIgXHUwNWRlXHUwNWU3XHUwNWQzXHUwNWQ5XHUwNWRkIFByZSIsCiJBbGlnbiByaWdodCI6ICJcdTA1ZDlcdTA1ZDlcdTA1ZTlcdTA1ZTggXHUwNWRjXHUwNWU5XHUwNWRlXHUwNWQwXHUwNWRjIiwKIk5ldyBkb2N1bWVudCI6ICJcdTA1ZGVcdTA1ZTFcdTA1ZGVcdTA1ZGEgXHUwNWQ3XHUwNWQzXHUwNWU5IiwKIkJsb2NrcXVvdGUiOiAiXHUwNWRlXHUwNWU3XHUwNWQ4XHUwNWUyIFx1MDVlNlx1MDVkOVx1MDVkOFx1MDVkNVx1MDVkOCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDVlOFx1MDVlOVx1MDVkOVx1MDVkZVx1MDVkNCBcdTA1ZGVcdTA1ZGVcdTA1ZDVcdTA1ZTFcdTA1ZTRcdTA1ZThcdTA1ZWEiLAoiSGVhZGluZyAxIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVkNVx1MDVlYSAxIiwKIkhlYWRpbmdzIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVkNVx1MDVlYSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNWQ0XHUwNWQyXHUwNWQzXHUwNWRjIFx1MDVkNFx1MDVkNlx1MDVkN1x1MDVkNCIsCiJGb3JtYXRzIjogIlx1MDVlNFx1MDVkNVx1MDVlOFx1MDVkZVx1MDVkOFx1MDVkOVx1MDVkZCIsCiJIZWFkZXJzIjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVkNVx1MDVlYSIsCiJTZWxlY3QgYWxsIjogIlx1MDVkMVx1MDVkN1x1MDVlOCBcdTA1ZDRcdTA1ZGJcdTA1ZGMiLAoiSGVhZGVyIDMiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWVhIDMiLAoiQmxvY2tzIjogIlx1MDVkZVx1MDVkMVx1MDVlMFx1MDVkOVx1MDVkZCIsCiJVbmRvIjogIlx1MDVkMVx1MDVkOFx1MDVkYyBcdTA1ZTRcdTA1ZTJcdTA1ZDVcdTA1ZGNcdTA1ZDQiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA1ZTdcdTA1ZDUgXHUwNWQ3XHUwNWQ1XHUwNWU2XHUwNWQ0IiwKIkJ1bGxldCBsaXN0IjogIlx1MDVlOFx1MDVlOVx1MDVkOVx1MDVkZVx1MDVlYSBcdTA1ZWFcdTA1ZDFcdTA1ZGNcdTA1ZDlcdTA1ZDhcdTA1ZDlcdTA1ZGQiLAoiSGVhZGVyIDEiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWVhIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNWRiXHUwNWVhXHUwNWQxIFx1MDVlMlx1MDVkOVx1MDVkY1x1MDVkOSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDVlMFx1MDVlN1x1MDVkNCBcdTA1ZTJcdTA1ZDlcdTA1ZTZcdTA1ZDVcdTA1ZDEiLAoiRm9udCBTaXplcyI6ICJcdTA1ZDJcdTA1ZDVcdTA1ZDNcdTA1ZGMgXHUwNWQyXHUwNWQ1XHUwNWU0XHUwNWRmIiwKIlN1YnNjcmlwdCI6ICJcdTA1ZGJcdTA1ZWFcdTA1ZDEgXHUwNWVhXHUwNWQ3XHUwNWVhXHUwNWQ5IiwKIkhlYWRlciA2IjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVlYSA2IiwKIlJlZG8iOiAiXHUwNWQxXHUwNWU2XHUwNWUyIFx1MDVlOVx1MDVkNVx1MDVkMSIsCiJQYXJhZ3JhcGgiOiAiXHUwNWU0XHUwNWQ5XHUwNWUxXHUwNWU3XHUwNWQ0IiwKIk9rIjogIlx1MDVkMFx1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJCb2xkIjogIlx1MDVkZVx1MDVkNVx1MDVkM1x1MDVkMlx1MDVlOSIsCiJDb2RlIjogIlx1MDVlN1x1MDVkNVx1MDVkMyIsCiJJdGFsaWMiOiAiXHUwNWUwXHUwNWQ4XHUwNWQ1XHUwNWQ5IiwKIkFsaWduIGNlbnRlciI6ICJcdTA1ZGVcdTA1ZThcdTA1ZGJcdTA1ZDYiLAoiSGVhZGVyIDUiOiAiXHUwNWRiXHUwNWQ1XHUwNWVhXHUwNWU4XHUwNWVhIDUiLAoiSGVhZGluZyA2IjogIlx1MDVkYlx1MDVkNVx1MDVlYVx1MDVlOFx1MDVkNVx1MDVlYSA2IiwKIkhlYWRpbmcgMyI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZDVcdTA1ZWEgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNWQ0XHUwNWU3XHUwNWQ4XHUwNWRmIFx1MDVkNFx1MDVkNlx1MDVkN1x1MDVkNCIsCiJIZWFkZXIgNCI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZWEgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUwNWQ0XHUwNWQzXHUwNWQxXHUwNWU3XHUwNWQ0IFx1MDVkMVx1MDVkZVx1MDVlNlx1MDVkMSBcdTA1ZDhcdTA1ZTdcdTA1ZTFcdTA1ZDggXHUwNWU4XHUwNWQyXHUwNWQ5XHUwNWRjLiBcdTA1ZWFcdTA1ZGJcdTA1ZTBcdTA1ZDlcdTA1ZGQgXHUwNWQ5XHUwNWQ1XHUwNWQzXHUwNWQxXHUwNWU3XHUwNWQ1IFx1MDVkZVx1MDVlMlx1MDVlYVx1MDVkNCBcdTA1ZGJcdTA1ZDhcdTA1ZTdcdTA1ZTFcdTA1ZDggXHUwNWU4XHUwNWQyXHUwNWQ5XHUwNWRjIFx1MDVlMlx1MDVkMyBcdTA1ZTlcdTA1ZWFcdTA1ZGJcdTA1ZDFcdTA1ZDQgXHUwNWQwXHUwNWU0XHUwNWU5XHUwNWU4XHUwNWQ1XHUwNWVhIFx1MDVkNlx1MDVkNS4iLAoiVW5kZXJsaW5lIjogIlx1MDVlN1x1MDVkNSBcdTA1ZWFcdTA1ZDdcdTA1ZWFcdTA1ZDkiLAoiQ2FuY2VsIjogIlx1MDVkMVx1MDVkOFx1MDVkYyIsCiJKdXN0aWZ5IjogIlx1MDVkZVx1MDVlYVx1MDVkNyBcdTA1ZGNcdTA1ZTZcdTA1ZDNcdTA1ZDNcdTA1ZDlcdTA1ZGQiLAoiSW5saW5lIjogIlx1MDVkMVx1MDVkMlx1MDVkNVx1MDVlMyBcdTA1ZDRcdTA1ZDhcdTA1ZTdcdTA1ZTFcdTA1ZDgiLAoiQ29weSI6ICJcdTA1ZDRcdTA1ZTJcdTA1ZWFcdTA1ZTciLAoiQWxpZ24gbGVmdCI6ICJcdTA1ZDlcdTA1ZDlcdTA1ZTlcdTA1ZTggXHUwNWRjXHUwNWU5XHUwNWRlXHUwNWQwXHUwNWRjIiwKIlZpc3VhbCBhaWRzIjogIlx1MDVlMlx1MDVkNlx1MDVlOFx1MDVkOVx1MDVkZCBcdTA1ZDdcdTA1ZDZcdTA1ZDVcdTA1ZWFcdTA1ZDlcdTA1ZDlcdTA1ZGQiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNWQwXHUwNWQ1XHUwNWVhXHUwNWQ5XHUwNWQ1XHUwNWVhIFx1MDVkOVx1MDVkNVx1MDVkNVx1MDVlMFx1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZTdcdTA1ZDhcdTA1ZTBcdTA1ZDVcdTA1ZWEiLAoiU3F1YXJlIjogIlx1MDVlOFx1MDVkOVx1MDVkMVx1MDVkNVx1MDVlMiIsCiJEZWZhdWx0IjogIlx1MDVkMVx1MDVlOFx1MDVkOVx1MDVlOFx1MDVlYSBcdTA1ZGVcdTA1ZDdcdTA1ZDNcdTA1ZGMiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNWQwXHUwNWQ1XHUwNWVhXHUwNWQ5XHUwNWQ1XHUwNWVhIFx1MDVkMFx1MDVlMFx1MDVkMlx1MDVkY1x1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZTdcdTA1ZDhcdTA1ZTBcdTA1ZDVcdTA1ZWEiLAoiQ2lyY2xlIjogIlx1MDVlMlx1MDVkOVx1MDVkMlx1MDVkNVx1MDVkYyIsCiJEaXNjIjogIlx1MDVkN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlNyIsCiJVcHBlciBBbHBoYSI6ICJcdTA1ZDBcdTA1ZDVcdTA1ZWFcdTA1ZDlcdTA1ZDVcdTA1ZWEgXHUwNWQwXHUwNWUwXHUwNWQyXHUwNWRjXHUwNWQ5XHUwNWQ1XHUwNWVhIFx1MDVkMlx1MDVkM1x1MDVkNVx1MDVkY1x1MDVkNVx1MDVlYSIsCiJVcHBlciBSb21hbiI6ICJcdTA1ZTFcdTA1ZTRcdTA1ZThcdTA1ZDVcdTA1ZWEgXHUwNWU4XHUwNWQ1XHUwNWRlXHUwNWQ5XHUwNWQ1XHUwNWVhIFx1MDVkMlx1MDVkM1x1MDVkNVx1MDVkY1x1MDVkNVx1MDVlYSIsCiJMb3dlciBSb21hbiI6ICJcdTA1ZTFcdTA1ZTRcdTA1ZThcdTA1ZDVcdTA1ZWEgXHUwNWU4XHUwNWQ1XHUwNWRlXHUwNWQ5XHUwNWQ1XHUwNWVhIFx1MDVlN1x1MDVkOFx1MDVlMFx1MDVkNVx1MDVlYSIsCiJOYW1lIjogIlx1MDVlOVx1MDVkZCIsCiJBbmNob3IiOiAiXHUwNWRlXHUwNWU3XHUwNWQ1XHUwNWRkIFx1MDVlMlx1MDVkOVx1MDVkMlx1MDVkNVx1MDVkZiIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDVkNFx1MDVlOVx1MDVkOVx1MDVlMFx1MDVkNVx1MDVkOVx1MDVkOVx1MDVkZCBcdTA1ZGNcdTA1ZDAgXHUwNWUwXHUwNWU5XHUwNWRlXHUwNWU4XHUwNWQ1LiBcdTA1ZDFcdTA1ZDhcdTA1ZDVcdTA1ZDcgXHUwNWU5XHUwNWQxXHUwNWU4XHUwNWU2XHUwNWQ1XHUwNWUwXHUwNWRhIFx1MDVkY1x1MDVlNlx1MDVkMFx1MDVlYSBcdTA1ZGVcdTA1ZDRcdTA1ZDNcdTA1ZTM/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA1ZTlcdTA1ZDdcdTA1ZDZcdTA1ZTggXHUwNWQ4XHUwNWQ5XHUwNWQ1XHUwNWQ4XHUwNWQ0IFx1MDVkMFx1MDVkN1x1MDVlOFx1MDVkNVx1MDVlMFx1MDVkNCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA1ZWFcdTA1ZDVcdTA1ZDVcdTA1ZDlcdTA1ZGQgXHUwNWRlXHUwNWQ5XHUwNWQ1XHUwNWQ3XHUwNWQzXHUwNWQ5XHUwNWRkIiwKIlNvdXJjZSBjb2RlIjogIlx1MDVlN1x1MDVkNVx1MDVkMyBcdTA1ZGVcdTA1ZTdcdTA1ZDVcdTA1ZTgiLAoiQ29sb3IiOiAiXHUwNWU2XHUwNWQxXHUwNWUyIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNWRlXHUwNWQ5XHUwNWRlXHUwNWQ5XHUwNWRmIFx1MDVkY1x1MDVlOVx1MDVkZVx1MDVkMFx1MDVkYyIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDVkZVx1MDVlOVx1MDVkZVx1MDVkMFx1MDVkYyBcdTA1ZGNcdTA1ZDlcdTA1ZGVcdTA1ZDlcdTA1ZGYiLAoiRW1vdGljb25zIjogIlx1MDVkZVx1MDVkN1x1MDVkNVx1MDVkNVx1MDVlYSIsCiJSb2JvdHMiOiAiXHUwNWU4XHUwNWQ1XHUwNWQxXHUwNWQ1XHUwNWQ4XHUwNWQ5XHUwNWRkIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNWRlXHUwNWQwXHUwNWU0XHUwNWQ5XHUwNWQ5XHUwNWUwXHUwNWQ5IFx1MDVkZVx1MDVlMVx1MDVkZVx1MDVkYSIsCiJUaXRsZSI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZWEiLAoiS2V5d29yZHMiOiAiXHUwNWRlXHUwNWQ5XHUwNWRjXHUwNWQ1XHUwNWVhIFx1MDVkZVx1MDVlNFx1MDVlYVx1MDVkNyIsCiJFbmNvZGluZyI6ICJcdTA1ZTdcdTA1ZDlcdTA1ZDNcdTA1ZDVcdTA1ZDMiLAoiRGVzY3JpcHRpb24iOiAiXHUwNWVhXHUwNWQ5XHUwNWQwXHUwNWQ1XHUwNWU4IiwKIkF1dGhvciI6ICJcdTA1ZGVcdTA1ZDdcdTA1ZDFcdTA1ZTgiLAoiRnVsbHNjcmVlbiI6ICJcdTA1ZGVcdTA1ZTFcdTA1ZGEgXHUwNWRlXHUwNWRjXHUwNWQwIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTA1ZTdcdTA1ZDUgXHUwNWQwXHUwNWQ1XHUwNWU0XHUwNWU3XHUwNWQ5IiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNWRlXHUwNWU4XHUwNWQ1XHUwNWQ1XHUwNWQ3IFx1MDVkMFx1MDVkNVx1MDVlNFx1MDVlN1x1MDVkOSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxXC9cdTA1ZTJcdTA1ZThcdTA1ZDVcdTA1ZGEgXHUwNWVhXHUwNWRlXHUwNWQ1XHUwNWUwXHUwNWQ0IiwKIkdlbmVyYWwiOiAiXHUwNWRiXHUwNWRjXHUwNWRjXHUwNWQ5IiwKIkFkdmFuY2VkIjogIlx1MDVkZVx1MDVlYVx1MDVlN1x1MDVkM1x1MDVkZCIsCiJTb3VyY2UiOiAiXHUwNWRlXHUwNWU3XHUwNWQ1XHUwNWU4IiwKIkJvcmRlciI6ICJcdTA1ZGVcdTA1ZTFcdTA1ZDJcdTA1ZThcdTA1ZWEiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDVkNFx1MDVkMlx1MDVkMVx1MDVkY1x1MDVlYSBcdTA1ZTRcdTA1ZThcdTA1ZDVcdTA1ZTRcdTA1ZDVcdTA1ZThcdTA1ZTZcdTA1ZDlcdTA1ZDVcdTA1ZWEiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwNWRlXHUwNWU4XHUwNWQ1XHUwNWQ1XHUwNWQ3IFx1MDVkMFx1MDVlMFx1MDVkYlx1MDVkOSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA1ZWFcdTA1ZDlcdTA1ZDBcdTA1ZDVcdTA1ZTggXHUwNWQ0XHUwNWVhXHUwNWRlXHUwNWQ1XHUwNWUwXHUwNWQ0IiwKIlN0eWxlIjogIlx1MDVlMVx1MDVkMlx1MDVlMFx1MDVkNVx1MDVkZiIsCiJEaW1lbnNpb25zIjogIlx1MDVkZVx1MDVkOVx1MDVkZVx1MDVkM1x1MDVkOVx1MDVkZCIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxIFx1MDVlYVx1MDVkZVx1MDVkNVx1MDVlMFx1MDVkNCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA1ZDRcdTA1ZGJcdTA1ZTBcdTA1ZTEgXHUwNWVhXHUwNWQwXHUwNWU4XHUwNWQ5XHUwNWRhXC9cdTA1ZTlcdTA1ZTJcdTA1ZDQiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNWRlXHUwNWQ3XHUwNWU3IFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJVcmwiOiAiXHUwNWRiXHUwNWVhXHUwNWQ1XHUwNWQxXHUwNWVhIFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNWQ4XHUwNWU3XHUwNWUxXHUwNWQ4IFx1MDVkY1x1MDVkNFx1MDVlNlx1MDVkMlx1MDVkNCIsCiJBbmNob3JzIjogIlx1MDVlMlx1MDVkNVx1MDVkMlx1MDVlMFx1MDVkOVx1MDVkZCIsCiJJbnNlcnQgbGluayI6ICJcdTA1ZDRcdTA1ZGJcdTA1ZTBcdTA1ZTEgXHUwNWU3XHUwNWQ5XHUwNWU5XHUwNWQ1XHUwNWU4IiwKIk5ldyB3aW5kb3ciOiAiXHUwNWQ3XHUwNWRjXHUwNWQ1XHUwNWRmIFx1MDVkN1x1MDVkM1x1MDVlOSIsCiJOb25lIjogIlx1MDVkY1x1MDVkY1x1MDVkMCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwNWUwXHUwNWU4XHUwNWQwXHUwNWQ0IFx1MDVlOVx1MDVkNFx1MDVkYlx1MDVlYVx1MDVkNVx1MDVkMVx1MDVlYSBcdTA1ZTlcdTA1ZDRcdTA1ZGJcdTA1ZTBcdTA1ZTFcdTA1ZWEgXHUwNWQ0XHUwNWQ5XHUwNWQwIFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCBcdTA1ZDdcdTA1ZDlcdTA1ZTZcdTA1ZDVcdTA1ZTBcdTA1ZDkgXHUwNWQ0XHUwNWQwXHUwNWRkIFx1MDVkMVx1MDVlOFx1MDVlNlx1MDVkNVx1MDVlMFx1MDVkYSBcdTA1ZGNcdTA1ZDRcdTA1ZDVcdTA1ZTFcdTA1ZDlcdTA1ZTMgXHUwNWU3XHUwNWQ5XHUwNWQzXHUwNWQ1XHUwNWRlXHUwNWVhIGh0dHA6XC9cLz8iLAoiVGFyZ2V0IjogIlx1MDVkZVx1MDVkOFx1MDVlOFx1MDVkNCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDVlMFx1MDVlOFx1MDVkMFx1MDVkNCBcdTA1ZTlcdTA1ZDRcdTA1ZGJcdTA1ZWFcdTA1ZDVcdTA1ZDFcdTA1ZWEgXHUwNWU5XHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxXHUwNWVhIFx1MDVkNFx1MDVkOVx1MDVkMCBcdTA1ZGJcdTA1ZWFcdTA1ZDVcdTA1ZDFcdTA1ZWEgXHUwNWQwXHUwNWQ5XHUwNWRlXHUwNWQ5XHUwNWQ5XHUwNWRjLiBcdTA1ZDRcdTA1ZDBcdTA1ZGQgXHUwNWQxXHUwNWU4XHUwNWU2XHUwNWQ1XHUwNWUwXHUwNWRhIFx1MDVkY1x1MDVkNFx1MDVkNVx1MDVlMVx1MDVkOVx1MDVlMyBcdTA1ZDBcdTA1ZWEgXHUwNWQ0XHUwNWU3XHUwNWQ5XHUwNWQzXHUwNWQ1XHUwNWRlXHUwNWVhIDptYWlsdG8/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMVwvXHUwNWUyXHUwNWU4XHUwNWQ1XHUwNWRhIFx1MDVlN1x1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNWQ0XHUwNWRiXHUwNWUwXHUwNWUxXC9cdTA1ZTJcdTA1ZThcdTA1ZDVcdTA1ZGEgXHUwNWUxXHUwNWU4XHUwNWQ4XHUwNWQ1XHUwNWRmIiwKIlBvc3RlciI6ICJcdTA1ZTRcdTA1ZDVcdTA1ZTFcdTA1ZDhcdTA1ZTgiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDVkZVx1MDVlN1x1MDVkNVx1MDVlOCBcdTA1ZGVcdTA1ZTlcdTA1ZTBcdTA1ZDkiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA1ZDRcdTA1ZDNcdTA1ZDFcdTA1ZTcgXHUwNWU3XHUwNWQ1XHUwNWQzIFx1MDVkNFx1MDVkOFx1MDVkZVx1MDVlMlx1MDVkNCBcdTA1ZGVcdTA1ZWFcdTA1ZDdcdTA1ZWE6IiwKIkluc2VydCB2aWRlbyI6ICJcdTA1ZDRcdTA1ZGJcdTA1ZTBcdTA1ZTEgXHUwNWUxXHUwNWU4XHUwNWQ4XHUwNWQ1XHUwNWRmIiwKIkVtYmVkIjogIlx1MDVkNFx1MDVkOFx1MDVkZVx1MDVlMiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTA1ZThcdTA1ZDVcdTA1ZDVcdTA1ZDcgKFx1MDVkY1x1MDVkY1x1MDVkMCBcdTA1ZTlcdTA1ZDFcdTA1ZDlcdTA1ZThcdTA1ZWEgXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ0KSIsCiJQYWdlIGJyZWFrIjogIlx1MDVkM1x1MDVlMyBcdTA1ZDdcdTA1ZDNcdTA1ZTkiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA1ZDRcdTA1ZDNcdTA1ZDFcdTA1ZTcgXHUwNWRiXHUwNWQ4XHUwNWU3XHUwNWUxXHUwNWQ4IiwKIlByZXZpZXciOiAiXHUwNWVhXHUwNWU2XHUwNWQ1XHUwNWQyXHUwNWQ0IFx1MDVkZVx1MDVlN1x1MDVkM1x1MDVkOVx1MDVkZVx1MDVkNCIsCiJQcmludCI6ICJcdTA1ZDRcdTA1ZDNcdTA1ZTRcdTA1ZTEiLAoiU2F2ZSI6ICJcdTA1ZTlcdTA1ZGVcdTA1ZDlcdTA1ZThcdTA1ZDQiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDVkZVx1MDVkN1x1MDVlOFx1MDVkNVx1MDVkNlx1MDVlYSBcdTA1ZGNcdTA1ZDAgXHUwNWUwXHUwNWRlXHUwNWU2XHUwNWQwXHUwNWQ0IiwKIlJlcGxhY2UiOiAiXHUwNWQ0XHUwNWQ3XHUwNWRjXHUwNWUzIiwKIk5leHQiOiAiXHUwNWQ0XHUwNWQxXHUwNWQwIiwKIldob2xlIHdvcmRzIjogIlx1MDVkZVx1MDVkOVx1MDVkY1x1MDVkNCBcdTA1ZTlcdTA1ZGNcdTA1ZGVcdTA1ZDQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA1ZDdcdTA1ZTRcdTA1ZTkgXHUwNWQ1XHUwNWQ0XHUwNWQ3XHUwNWRjXHUwNWUzIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA1ZDRcdTA1ZDdcdTA1ZGNcdTA1ZTMgXHUwNWQxIiwKIkZpbmQiOiAiXHUwNWQ3XHUwNWU0XHUwNWU5IiwKIlJlcGxhY2UgYWxsIjogIlx1MDVkNFx1MDVkN1x1MDVkY1x1MDVlMyBcdTA1ZDRcdTA1ZGJcdTA1ZGMiLAoiTWF0Y2ggY2FzZSI6ICJcdTA1ZDRcdTA1ZDFcdTA1ZDdcdTA1ZGYgXHUwNWQxXHUwNWQ5XHUwNWRmIFx1MDVkMFx1MDVkNVx1MDVlYVx1MDVkOVx1MDVkNVx1MDVlYSBcdTA1ZTdcdTA1ZDhcdTA1ZTBcdTA1ZDVcdTA1ZWEgXHUwNWRjXHUwNWQyXHUwNWQzXHUwNWQ1XHUwNWRjXHUwNWQ1XHUwNWVhIiwKIlByZXYiOiAiXHUwNWU3XHUwNWQ1XHUwNWQzXHUwNWRkIiwKIlNwZWxsY2hlY2siOiAiXHUwNWQxXHUwNWQ1XHUwNWQzXHUwNWU3IFx1MDVkMFx1MDVkOVx1MDVkNVx1MDVlYSIsCiJGaW5pc2giOiAiXHUwNWUxXHUwNWQ5XHUwNWQ5XHUwNWRkIiwKIklnbm9yZSBhbGwiOiAiXHUwNWQ0XHUwNWVhXHUwNWUyXHUwNWRjXHUwNWRkIFx1MDVkZVx1MDVkNFx1MDVkYlx1MDVkYyIsCiJJZ25vcmUiOiAiXHUwNWQ0XHUwNWVhXHUwNWUyXHUwNWRjXHUwNWRkIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDVkNFx1MDVkNVx1MDVlMVx1MDVlMyBcdTA1ZGNcdTA1ZGVcdTA1ZDlcdTA1ZGNcdTA1ZDVcdTA1ZGYiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNWQ0XHUwNWQ1XHUwNWUxXHUwNWUzIFx1MDVlOVx1MDVkNVx1MDVlOFx1MDVkNCBcdTA1ZGNcdTA1ZTRcdTA1ZTBcdTA1ZDkiLAoiUm93cyI6ICJcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDVcdTA1ZWEiLAoiSGVpZ2h0IjogIlx1MDVkMlx1MDVkNVx1MDVkMVx1MDVkNCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwNWQ0XHUwNWUyXHUwNWVhXHUwNWU3IFx1MDVlOVx1MDVkNVx1MDVlOFx1MDVkNCBcdTA1ZDBcdTA1ZDdcdTA1ZThcdTA1ZDkiLAoiQWxpZ25tZW50IjogIlx1MDVkOVx1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNWU2XHUwNWQxXHUwNWUyIFx1MDVkMlx1MDVkMVx1MDVkNVx1MDVkYyIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNWU3XHUwNWQ5XHUwNWQxXHUwNWQ1XHUwNWU1IFx1MDVlMlx1MDVkZVx1MDVkNVx1MDVkM1x1MDVkNVx1MDVlYSIsCiJSb3ciOiAiXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ0IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDVkNFx1MDVlMlx1MDVlYVx1MDVlNyBcdTA1ZTJcdTA1ZGVcdTA1ZDVcdTA1ZDNcdTA1ZDQgXHUwNWRjXHUwNWU0XHUwNWUwXHUwNWQ5IiwKIlNwbGl0IGNlbGwiOiAiXHUwNWU0XHUwNWU2XHUwNWRjIFx1MDVlYVx1MDVkMCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNWU5XHUwNWQ1XHUwNWRjXHUwNWQ5XHUwNWQ5XHUwNWRkIFx1MDVlNFx1MDVlMFx1MDVkOVx1MDVkZVx1MDVkOVx1MDVkOVx1MDVkZCBcdTA1ZGNcdTA1ZWFcdTA1ZDAiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDVlOVx1MDVkNVx1MDVkY1x1MDVkOVx1MDVkOVx1MDVkZCBcdTA1ZDdcdTA1ZDlcdTA1ZTZcdTA1ZDVcdTA1ZTBcdTA1ZDlcdTA1ZGQgXHUwNWRjXHUwNWVhXHUwNWQwIiwKIlJvdyB0eXBlIjogIlx1MDVlMVx1MDVkNVx1MDVkMiBcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDQiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMSBcdTA1ZDhcdTA1ZDFcdTA1ZGNcdTA1ZDQiLAoiQm9keSI6ICJcdTA1ZDJcdTA1ZDVcdTA1ZTMgXHUwNWQ0XHUwNWQ4XHUwNWQxXHUwNWRjXHUwNWQwIiwKIkNhcHRpb24iOiAiXHUwNWRiXHUwNWQ5XHUwNWVhXHUwNWQ1XHUwNWQxIiwKIkZvb3RlciI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZWEgXHUwNWVhXHUwNWQ3XHUwNWVhXHUwNWQ1XHUwNWUwXHUwNWQ0IiwKIkRlbGV0ZSByb3ciOiAiXHUwNWRlXHUwNWQ3XHUwNWU3IFx1MDVlOVx1MDVkNVx1MDVlOFx1MDVkNCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDVkNFx1MDVkM1x1MDVkMVx1MDVlNyBcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDQgXHUwNWRjXHUwNWU0XHUwNWUwXHUwNWQ5IiwKIlNjb3BlIjogIlx1MDVkNFx1MDVkOVx1MDVlN1x1MDVlMyIsCiJEZWxldGUgdGFibGUiOiAiXHUwNWRlXHUwNWQ3XHUwNWU3IFx1MDVkOFx1MDVkMVx1MDVkY1x1MDVkNCIsCiJIIEFsaWduIjogIlx1MDVkOVx1MDVkOVx1MDVlOVx1MDVkNVx1MDVlOCBcdTA1ZDBcdTA1ZDVcdTA1ZTRcdTA1ZTdcdTA1ZDkiLAoiVG9wIjogIlx1MDVlMlx1MDVkY1x1MDVkOVx1MDVkNVx1MDVkZiIsCiJIZWFkZXIgY2VsbCI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZWEgXHUwNWRjXHUwNWVhXHUwNWQwIiwKIkNvbHVtbiI6ICJcdTA1ZTJcdTA1ZGVcdTA1ZDVcdTA1ZDNcdTA1ZDQiLAoiUm93IGdyb3VwIjogIlx1MDVlN1x1MDVkOVx1MDVkMVx1MDVkNVx1MDVlNSBcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDVcdTA1ZWEiLAoiQ2VsbCI6ICJcdTA1ZWFcdTA1ZDAiLAoiTWlkZGxlIjogIlx1MDVkMFx1MDVkZVx1MDVlNlx1MDVlMiIsCiJDZWxsIHR5cGUiOiAiXHUwNWUxXHUwNWQ1XHUwNWQyIFx1MDVlYVx1MDVkMCIsCiJDb3B5IHJvdyI6ICJcdTA1ZDRcdTA1ZTJcdTA1ZWFcdTA1ZTcgXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ0IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDVkZVx1MDVkMFx1MDVlNFx1MDVkOVx1MDVkOVx1MDVlMFx1MDVkOSBcdTA1ZTlcdTA1ZDVcdTA1ZThcdTA1ZDQiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA1ZGVcdTA1ZDBcdTA1ZTRcdTA1ZDlcdTA1ZDlcdTA1ZTBcdTA1ZDkgXHUwNWQ4XHUwNWQxXHUwNWRjXHUwNWQ0IiwKIkJvdHRvbSI6ICJcdTA1ZWFcdTA1ZDdcdTA1ZWFcdTA1ZDlcdTA1ZWEiLAoiViBBbGlnbiI6ICJcdTA1ZDlcdTA1ZDlcdTA1ZTlcdTA1ZDVcdTA1ZTggXHUwNWQwXHUwNWUwXHUwNWRiXHUwNWQ5IiwKIkhlYWRlciI6ICJcdTA1ZGJcdTA1ZDVcdTA1ZWFcdTA1ZThcdTA1ZWEiLAoiUmlnaHQiOiAiXHUwNWQ5XHUwNWRlXHUwNWQ5XHUwNWRmIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNWQ0XHUwNWUyXHUwNWVhXHUwNWU3IFx1MDVlMlx1MDVkZVx1MDVkNVx1MDVkM1x1MDVkNCBcdTA1ZDBcdTA1ZDdcdTA1ZThcdTA1ZDkiLAoiQ29scyI6ICJcdTA1ZTJcdTA1ZGVcdTA1ZDVcdTA1ZDNcdTA1ZDVcdTA1ZWEiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA1ZDRcdTA1ZDVcdTA1ZTFcdTA1ZTMgXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ0IFx1MDVkMFx1MDVkN1x1MDVlOFx1MDVkOSIsCiJXaWR0aCI6ICJcdTA1ZThcdTA1ZDVcdTA1ZDdcdTA1ZDEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDVkZVx1MDVkMFx1MDVlNFx1MDVkOVx1MDVkOVx1MDVlMFx1MDVkOSBcdTA1ZWFcdTA1ZDAiLAoiTGVmdCI6ICJcdTA1ZTlcdTA1ZGVcdTA1ZDBcdTA1ZGMiLAoiQ3V0IHJvdyI6ICJcdTA1ZDJcdTA1ZDZcdTA1ZDVcdTA1ZTggXHUwNWU5XHUwNWQ1XHUwNWU4XHUwNWQ0IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNWRlXHUwNWQ3XHUwNWU3IFx1MDVlMlx1MDVkZVx1MDVkNVx1MDVkM1x1MDVkNCIsCiJDZW50ZXIiOiAiXHUwNWRlXHUwNWU4XHUwNWRiXHUwNWQ2IiwKIk1lcmdlIGNlbGxzIjogIlx1MDVkZVx1MDVkNlx1MDVkMiBcdTA1ZWFcdTA1ZDBcdTA1ZDlcdTA1ZGQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDVkNFx1MDVkYlx1MDVlMFx1MDVlMSBcdTA1ZWFcdTA1ZDFcdTA1ZTBcdTA1ZDlcdTA1ZWEiLAoiVGVtcGxhdGVzIjogIlx1MDVlYVx1MDVkMVx1MDVlMFx1MDVkOVx1MDVkNVx1MDVlYSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDVlNlx1MDVkMVx1MDVlMiBcdTA1ZThcdTA1ZTdcdTA1ZTIiLAoiQ3VzdG9tLi4uIjogIlx1MDVkZVx1MDVkNVx1MDVlYVx1MDVkMFx1MDVkZCBcdTA1ZDBcdTA1ZDlcdTA1ZTlcdTA1ZDlcdTA1ZWEuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDVlNlx1MDVkMVx1MDVlMiBcdTA1ZGVcdTA1ZDVcdTA1ZWFcdTA1ZDBcdTA1ZGQgXHUwNWQwXHUwNWQ5XHUwNWU5XHUwNWQ5XHUwNWVhIiwKIk5vIGNvbG9yIjogIlx1MDVkY1x1MDVkY1x1MDVkMCBcdTA1ZTZcdTA1ZDFcdTA1ZTIiLAoiVGV4dCBjb2xvciI6ICJcdTA1ZTZcdTA1ZDFcdTA1ZTIgXHUwNWQ0XHUwNWRiXHUwNWVhXHUwNWQxIiwKIlNob3cgYmxvY2tzIjogIlx1MDVkNFx1MDVlNlx1MDVkMiBcdTA1ZWFcdTA1ZDlcdTA1ZDFcdTA1ZDVcdTA1ZWEiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA1ZDRcdTA1ZTZcdTA1ZDIgXHUwNWVhXHUwNWQ1XHUwNWQ1XHUwNWQ5XHUwNWRkIFx1MDVkY1x1MDVkMCBcdTA1ZTBcdTA1ZThcdTA1ZDBcdTA1ZDlcdTA1ZGQiLAoiV29yZHM6IHswfSI6ICJcdTA1ZGVcdTA1ZDlcdTA1ZGNcdTA1ZDlcdTA1ZGQ6IHswfSIsCiJJbnNlcnQiOiAiXHUwNWQ0XHUwNWQ1XHUwNWUxXHUwNWU0XHUwNWQ0IiwKIkZpbGUiOiAiXHUwNWU3XHUwNWQ1XHUwNWQxXHUwNWU1IiwKIkVkaXQiOiAiXHUwNWUyXHUwNWU4XHUwNWQ5XHUwNWRiXHUwNWQ0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDVlYVx1MDVkOVx1MDVkMVx1MDVlYSBcdTA1ZTJcdTA1ZThcdTA1ZDlcdTA1ZGJcdTA1ZDQgXHUwNWQ3XHUwNWRiXHUwNWRlXHUwNWQ0LiBcdTA1ZGNcdTA1ZDdcdTA1ZTUgQWx0LUY5IFx1MDVkY1x1MDVlYVx1MDVlNFx1MDVlOFx1MDVkOVx1MDVkOC4gQWx0LUYxMCBcdTA1ZGNcdTA1ZWFcdTA1ZTZcdTA1ZDVcdTA1ZDJcdTA1ZWEgXHUwNWRiXHUwNWU0XHUwNWVhXHUwNWQ1XHUwNWU4XHUwNWQ5XHUwNWRkLCBBbHQtMCBcdTA1ZGNcdTA1ZTJcdTA1ZDZcdTA1ZThcdTA1ZDQiLAoiVG9vbHMiOiAiXHUwNWRiXHUwNWRjXHUwNWQ5XHUwNWRkIiwKIlZpZXciOiAiXHUwNWVhXHUwNWU2XHUwNWQ1XHUwNWQyXHUwNWQ0IiwKIlRhYmxlIjogIlx1MDVkOFx1MDVkMVx1MDVkY1x1MDVkNCIsCiJGb3JtYXQiOiAiXHUwNWU0XHUwNWQ1XHUwNWU4XHUwNWRlXHUwNWQ4IiwKIl9kaXIiOiAicnRsIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/hi_IN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdoaV9JTicsewoiQ3V0IjogIlx1MDkxNVx1MDkzZVx1MDkxZlx1MDk0N1x1MDkwMiIsCiJIZWFkaW5nIDUiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDUiLAoiSGVhZGVyIDIiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwOTA2XHUwOTJhXHUwOTE1XHUwOTNlIFx1MDkxY1x1MDkzZVx1MDkzMiBcdTA5MzVcdTA5M2ZcdTA5MWFcdTA5M2VcdTA5MzBcdTA5MTUgXHUwOTM4XHUwOTQwXHUwOTI3XHUwOTQ3IFx1MDkzOFx1MDkyZVx1MDkzMFx1MDk0ZFx1MDkyNVx1MDkyOCBcdTA5MjhcdTA5MzlcdTA5NDBcdTA5MDIgXHUwOTE1XHUwOTMwIFx1MDkzMFx1MDkzOVx1MDkzZSBcdTA5MzlcdTA5NDhcdTA5NjQgXHUwOTE1XHUwOTQzXHUwOTJhXHUwOTJmXHUwOTNlIFx1MDkxNVx1MDk0MVx1MDkwMlx1MDkxY1x1MDk0MFx1MDkyYVx1MDkxZlx1MDkzMiBcdTA5MTVcdTA5NDcgXHUwOTI2XHUwOTRkXHUwOTM1XHUwOTNlXHUwOTMwXHUwOTNlIEN0cmwrWFwvQ1wvViBcdTA5MTVcdTA5M2UgXHUwOTA5XHUwOTJhXHUwOTJmXHUwOTRiXHUwOTE3IFx1MDkxNVx1MDkzMFx1MDk0N1x1MDkwMlx1MDk2NCIsCiJIZWFkaW5nIDQiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDQiLAoiRGl2IjogIlx1MDkyMVx1MDkzZlx1MDkzNSIsCiJIZWFkaW5nIDIiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDIiLAoiUGFzdGUiOiAiXHUwOTFhXHUwOTNmXHUwOTJhXHUwOTE1XHUwOTNlXHUwOTBmXHUwOTAxIiwKIkNsb3NlIjogIlx1MDkyY1x1MDkwMlx1MDkyNiIsCiJGb250IEZhbWlseSI6ICJcdTA5MmJcdTA5M2NcdTA5NDlcdTA5MjhcdTA5NGRcdTA5MWYgXHUwOTJhXHUwOTMwXHUwOTNmXHUwOTM1XHUwOTNlXHUwOTMwIiwKIlByZSI6ICJcdTA5MmFcdTA5NDJcdTA5MzBcdTA5NGRcdTA5MzUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwOTI2XHUwOTNlXHUwOTBmXHUwOTAxIFx1MDkzOFx1MDkwMlx1MDkzMFx1MDk0N1x1MDkxNlx1MDkyMyIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwOTI4XHUwOTJmXHUwOTNlIFx1MDkyNlx1MDkzOFx1MDk0ZFx1MDkyNFx1MDkzZVx1MDkzNVx1MDk0N1x1MDkxY1x1MDkzYyIsCiJCbG9ja3F1b3RlIjogIlx1MDkxNlx1MDkwMlx1MDkyMS1cdTA5MDlcdTA5MjZcdTA5NGRcdTA5MjdcdTA5MzBcdTA5MjMiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA5MTVcdTA5NGRcdTA5MzBcdTA5MmVcdTA5M2VcdTA5MDJcdTA5MTVcdTA5M2ZcdTA5MjQgXHUwOTM4XHUwOTQyXHUwOTFhXHUwOTQwIiwKIkhlYWRpbmcgMSI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUgMSIsCiJIZWFkaW5ncyI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDkxNlx1MDkzMFx1MDk0Ylx1MDkxYyBcdTA5MmNcdTA5NWRcdTA5M2VcdTA5MGZcdTA5MDEiLAoiRm9ybWF0cyI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5M2VcdTA5MzBcdTA5NDJcdTA5MmEiLAoiSGVhZGVycyI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUiLAoiU2VsZWN0IGFsbCI6ICJcdTA5MzhcdTA5MmRcdTA5NDAgXHUwOTFhXHUwOTQxXHUwOTI4XHUwOTQ3XHUwOTAyIiwKIkhlYWRlciAzIjogIlx1MDkzNlx1MDk0MFx1MDkzMFx1MDk0ZFx1MDkzN1x1MDkxNSAzIiwKIkJsb2NrcyI6ICJcdTA5MTZcdTA5MDJcdTA5MjEiLAoiVW5kbyI6ICJcdTA5MmFcdTA5NDBcdTA5MWJcdTA5NDciLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA5MmVcdTA5MjdcdTA5NGRcdTA5MmYgXHUwOTM4XHUwOTQ3IFx1MDkxNVx1MDkzZVx1MDkxZlx1MDk0N1x1MDkwMiIsCiJCdWxsZXQgbGlzdCI6ICJcdTA5MTdcdTA5NGJcdTA5MzJcdTA5NDAgXHUwOTM4XHUwOTQyXHUwOTFhXHUwOTQwIiwKIkhlYWRlciAxIjogIlx1MDkzNlx1MDk0MFx1MDkzMFx1MDk0ZFx1MDkzN1x1MDkxNSAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDkwOVx1MDkyYVx1MDkzMFx1MDkzZlx1MDkzMlx1MDkzZlx1MDkxNlx1MDkzZlx1MDkyNCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDkyYVx1MDk0ZFx1MDkzMFx1MDkzZVx1MDkzMFx1MDk0Mlx1MDkyYVx1MDkyMyBcdTA5MzlcdTA5MWZcdTA5M2VcdTA5MGZcdTA5MDEiLAoiRm9udCBTaXplcyI6ICJcdTA5MmJcdTA5M2NcdTA5NDlcdTA5MjhcdTA5NGRcdTA5MWYgXHUwOTA2XHUwOTE1XHUwOTNlXHUwOTMwIiwKIlN1YnNjcmlwdCI6ICJcdTA5MjhcdTA5M2ZcdTA5MWFcdTA5MzJcdTA5NDBcdTA5MzJcdTA5M2ZcdTA5MTZcdTA5M2ZcdTA5MjQiLAoiSGVhZGVyIDYiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDYiLAoiUmVkbyI6ICJcdTA5MDZcdTA5MTdcdTA5NDciLAoiUGFyYWdyYXBoIjogIlx1MDkwNVx1MDkyOFx1MDk0MVx1MDkxYVx1MDk0ZFx1MDkxYlx1MDk0N1x1MDkyNiIsCiJPayI6ICJcdTA5MjBcdTA5NDBcdTA5MTUgXHUwOTM5XHUwOTQ4IiwKIkJvbGQiOiAiXHUwOTJlXHUwOTRiXHUwOTFmXHUwOTNlIiwKIkNvZGUiOiAiXHUwOTM4XHUwOTAyXHUwOTE1XHUwOTQ3XHUwOTI0XHUwOTMyXHUwOTNmXHUwOTJhXHUwOTNmIiwKIkl0YWxpYyI6ICJcdTA5MWZcdTA5NDdcdTA5NWNcdTA5M2UiLAoiQWxpZ24gY2VudGVyIjogIlx1MDkyZVx1MDkyN1x1MDk0ZFx1MDkyZiBcdTA5MzhcdTA5MDJcdTA5MzBcdTA5NDdcdTA5MTZcdTA5MjMiLAoiSGVhZGVyIDUiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDUiLAoiSGVhZGluZyA2IjogIlx1MDkzNlx1MDk0MFx1MDkzMFx1MDk0ZFx1MDkzN1x1MDkxNSA2IiwKIkhlYWRpbmcgMyI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwOTE2XHUwOTMwXHUwOTRiXHUwOTFjIFx1MDkxNVx1MDkyZSBcdTA5MTVcdTA5MzBcdTA5NDdcdTA5MDIiLAoiSGVhZGVyIDQiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDkxYVx1MDkzZlx1MDkyYVx1MDkxNVx1MDkzZVx1MDkyOFx1MDk0NyBcdTA5MTVcdTA5M2UgXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTE1XHUwOTNlXHUwOTMwIFx1MDkwNVx1MDkyZFx1MDk0MCBcdTA5MzhcdTA5M2VcdTA5MjZcdTA5M2UgXHUwOTJhXHUwOTNlXHUwOTIwXHUwOTRkXHUwOTJmIFx1MDkzOVx1MDk0OFx1MDk2NCBcdTA5MzhcdTA5M2VcdTA5MmVcdTA5MTdcdTA5NGRcdTA5MzBcdTA5NDAgXHUwOTFhXHUwOTNmXHUwOTJhXHUwOTE1XHUwOTNlXHUwOTI4XHUwOTQ3IFx1MDkyYVx1MDkzMCBcdTA5MzVcdTA5MzkgXHUwOTM4XHUwOTNlXHUwOTI2XHUwOTQ3IFx1MDkyYVx1MDkzZVx1MDkyMFx1MDk0ZFx1MDkyZiBcdTA5MmVcdTA5NDdcdTA5MDIgXHUwOTMwXHUwOTM5XHUwOTE3XHUwOTQwIFx1MDkxY1x1MDkyYyBcdTA5MjRcdTA5MTUgXHUwOTA2XHUwOTJhIFx1MDkwN1x1MDkzOCBcdTA5MzVcdTA5M2ZcdTA5MTVcdTA5MzJcdTA5NGRcdTA5MmEgXHUwOTE1XHUwOTRiIFx1MDkyY1x1MDkwMlx1MDkyNiBcdTA5MjhcdTA5MzlcdTA5NDBcdTA5MDIgXHUwOTE1XHUwOTMwIFx1MDkyNlx1MDk0N1x1MDkyNFx1MDk0N1x1MDk2NCIsCiJVbmRlcmxpbmUiOiAiXHUwOTA1XHUwOTI3XHUwOTRiXHUwOTMwXHUwOTQ3XHUwOTE2XHUwOTNlXHUwOTAyXHUwOTE1XHUwOTI4IiwKIkNhbmNlbCI6ICJcdTA5MzBcdTA5MjZcdTA5NGRcdTA5MjYiLAoiSnVzdGlmeSI6ICJcdTA5MzhcdTA5MmVcdTA5MTVcdTA5MzBcdTA5MjMiLAoiSW5saW5lIjogIlx1MDkzMFx1MDk0N1x1MDkxNlx1MDkzZSBcdTA5MmVcdTA5NDdcdTA5MDIiLAoiQ29weSI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5MjRcdTA5M2YgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkFsaWduIGxlZnQiOiAiXHUwOTJjXHUwOTNlXHUwOTBmXHUwOTAxIFx1MDkzOFx1MDkwMlx1MDkzMFx1MDk0N1x1MDkxNlx1MDkyMyIsCiJWaXN1YWwgYWlkcyI6ICJcdTA5MjZcdTA5NDNcdTA5MzZcdTA5NGRcdTA5MmYgXHUwOTM4XHUwOTNlXHUwOTI3XHUwOTI4IiwKIkxvd2VyIEdyZWVrIjogIlx1MDkyOFx1MDkzZlx1MDkyZVx1MDk0ZFx1MDkyOCBcdTA5MTdcdTA5NGRcdTA5MzBcdTA5NDBcdTA5MTUiLAoiU3F1YXJlIjogIlx1MDkzNVx1MDkzMFx1MDk0ZFx1MDkxNyIsCiJEZWZhdWx0IjogIlx1MDkyYVx1MDkzOVx1MDkzMlx1MDk0NyBcdTA5MzhcdTA5NDcgXHUwOTFhXHUwOTQxXHUwOTI4XHUwOTNlIFx1MDkzOVx1MDk0MVx1MDkwNiIsCiJMb3dlciBBbHBoYSI6ICJcdTA5MjhcdTA5M2ZcdTA5MmVcdTA5NGRcdTA5MjggXHUwOTA1XHUwOTMyXHUwOTRkXHUwOTJiXHUwOTNlIiwKIkNpcmNsZSI6ICJcdTA5MzVcdTA5NDNcdTA5MjRcdTA5NGRcdTA5MjQiLAoiRGlzYyI6ICJcdTA5MmNcdTA5M2ZcdTA5MDJcdTA5MmMiLAoiVXBwZXIgQWxwaGEiOiAiXHUwOTA5XHUwOTFhXHUwOTRkXHUwOTFhIFx1MDkwNVx1MDkzMlx1MDk0ZFx1MDkyYlx1MDkzZSIsCiJVcHBlciBSb21hbiI6ICJcdTA5MDlcdTA5MWFcdTA5NGRcdTA5MWEgXHUwOTMwXHUwOTRiXHUwOTJlXHUwOTI4IiwKIkxvd2VyIFJvbWFuIjogIlx1MDkyOFx1MDkzZlx1MDkyZVx1MDk0ZFx1MDkyOCBcdTA5MzBcdTA5NGJcdTA5MmVcdTA5MjgiLAoiTmFtZSI6ICJcdTA5MjhcdTA5M2VcdTA5MmUiLAoiQW5jaG9yIjogIlx1MDkzMlx1MDkwMlx1MDkxN1x1MDkzMCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDkwNlx1MDkyYVx1MDkxNVx1MDk0NyBcdTA5MTVcdTA5NDFcdTA5MWIgXHUwOTA1XHUwOTM4XHUwOTM5XHUwOTQ3XHUwOTFjXHUwOTQ3IFx1MDkyY1x1MDkyNlx1MDkzMlx1MDkzZVx1MDkzNSBcdTA5MzlcdTA5NDhcdTA5MDIsIFx1MDkxNVx1MDk0ZFx1MDkyZlx1MDkzZSBcdTA5MDZcdTA5MmEgXHUwOTI4XHUwOTNmXHUwOTM2XHUwOTRkXHUwOTFhXHUwOTNmXHUwOTI0IFx1MDkzMFx1MDk0Mlx1MDkyYSBcdTA5MzhcdTA5NDcgXHUwOTJmXHUwOTM5XHUwOTNlXHUwOTAxIFx1MDkzOFx1MDk0NyBcdTA5MWNcdTA5M2VcdTA5MjhcdTA5M2UgXHUwOTFhXHUwOTNlXHUwOTM5XHUwOTI0XHUwOTQ3IFx1MDkzOVx1MDk0Yj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDkwNlx1MDkxNlx1MDkzZlx1MDkzMFx1MDk0MCBcdTA5MmVcdTA5MzhcdTA5NGNcdTA5MjZcdTA5M2UgXHUwOTJhXHUwOTQxXHUwOTI4XHUwOTMwXHUwOTRkXHUwOTM4XHUwOTRkXHUwOTI1XHUwOTNlXHUwOTJhXHUwOTNmXHUwOTI0IFx1MDkxNVx1MDkzMFx1MDk0N1x1MDkwMiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA5MzVcdTA5M2ZcdTA5MzZcdTA5NDdcdTA5MzcgXHUwOTM1XHUwOTMwXHUwOTRkXHUwOTIzIiwKIlNvdXJjZSBjb2RlIjogIlx1MDkzOFx1MDk0ZFx1MDkyNFx1MDk0ZFx1MDkzMFx1MDk0Ylx1MDkyNCBcdTA5MzhcdTA5MDJcdTA5MTVcdTA5NDdcdTA5MjRcdTA5MzJcdTA5M2ZcdTA5MmFcdTA5M2YiLAoiQiI6ICJcdTA5MmNcdTA5NDAiLAoiUiI6ICJcdTA5MDZcdTA5MzAiLAoiRyI6ICJcdTA5MWNcdTA5NDAiLAoiQ29sb3IiOiAiXHUwOTMwXHUwOTAyXHUwOTE3IiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwOTI2XHUwOTNlXHUwOTBmXHUwOTAxIFx1MDkzOFx1MDk0NyBcdTA5MmNcdTA5M2VcdTA5MGZcdTA5MDEiLAoiTGVmdCB0byByaWdodCI6ICJcdTA5MmNcdTA5M2VcdTA5MGZcdTA5MDEgXHUwOTM4XHUwOTQ3IFx1MDkyNlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJFbW90aWNvbnMiOiAiXHUwOTJkXHUwOTNlXHUwOTM1XHUwOTI4XHUwOTNlLVx1MDkyYVx1MDk0ZFx1MDkzMFx1MDkyNFx1MDk0MFx1MDkxNSIsCiJSb2JvdHMiOiAiXHUwOTJmXHUwOTAyXHUwOTI0XHUwOTRkXHUwOTMwXHUwOTJlXHUwOTNlXHUwOTI4XHUwOTM1IiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwOTI2XHUwOTM4XHUwOTRkXHUwOTI0XHUwOTNlXHUwOTM1XHUwOTQ3XHUwOTFjXHUwOTNjIFx1MDkxN1x1MDk0MVx1MDkyMyIsCiJUaXRsZSI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUiLAoiS2V5d29yZHMiOiAiXHUwOTE1XHUwOTQxXHUwOTAyXHUwOTFjXHUwOTQwXHUwOTM2XHUwOTJjXHUwOTRkXHUwOTI2IiwKIkVuY29kaW5nIjogIlx1MDkzOFx1MDkwMlx1MDkxNVx1MDk0N1x1MDkyNFx1MDk0MFx1MDkxNVx1MDkzMFx1MDkyMyIsCiJEZXNjcmlwdGlvbiI6ICJcdTA5MzVcdTA5M2ZcdTA5MzVcdTA5MzBcdTA5MjMiLAoiQXV0aG9yIjogIlx1MDkzMlx1MDk0N1x1MDkxNlx1MDkxNSIsCiJGdWxsc2NyZWVuIjogIlx1MDkyYVx1MDk0Mlx1MDkzMFx1MDk0ZFx1MDkyMyBcdTA5MzhcdTA5NGRcdTA5MTVcdTA5NGRcdTA5MzBcdTA5NDBcdTA5MjgiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDkxNVx1MDk0ZFx1MDkzN1x1MDk0OFx1MDkyNFx1MDkzZlx1MDkxYyBcdTA5MzBcdTA5NDdcdTA5MTZcdTA5M2UiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA5MTVcdTA5NGRcdTA5MzdcdTA5NDhcdTA5MjRcdTA5M2ZcdTA5MWMgXHUwOTM4XHUwOTRkXHUwOTI1XHUwOTNlXHUwOTI4IiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA5MWJcdTA5MzVcdTA5M2YgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyXC9cdTA5MzhcdTA5MmVcdTA5NGRcdTA5MmFcdTA5M2VcdTA5MjZcdTA5MjggXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkdlbmVyYWwiOiAiXHUwOTM4XHUwOTNlXHUwOTJlXHUwOTNlXHUwOTI4XHUwOTRkXHUwOTJmIiwKIkFkdmFuY2VkIjogIlx1MDkwOVx1MDkyOFx1MDk0ZFx1MDkyOFx1MDkyNCIsCiJTb3VyY2UiOiAiXHUwOTM4XHUwOTRkXHUwOTI0XHUwOTRkXHUwOTMwXHUwOTRiXHUwOTI0IiwKIkJvcmRlciI6ICJcdTA5MzhcdTA5NDBcdTA5MmVcdTA5M2UiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MDkwNVx1MDkyOFx1MDk0MVx1MDkyYVx1MDkzZVx1MDkyNCBcdTA5MzVcdTA5M2ZcdTA5MzVcdTA5MzYiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwOTBhXHUwOTMwXHUwOTRkXHUwOTI3XHUwOTRkXHUwOTM1XHUwOTNlXHUwOTI3XHUwOTMwIFx1MDkzOFx1MDk0ZFx1MDkyNVx1MDkzZVx1MDkyOCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTA5MWJcdTA5MzVcdTA5M2YgXHUwOTM1XHUwOTNmXHUwOTM1XHUwOTMwXHUwOTIzIiwKIlN0eWxlIjogIlx1MDkzNlx1MDk0OFx1MDkzMlx1MDk0MCIsCiJEaW1lbnNpb25zIjogIlx1MDkwNlx1MDkyZlx1MDkzZVx1MDkyZSIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwOTFiXHUwOTM1XHUwOTNmIFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0N1x1MDkwMiIsCiJab29tIGluIjogIlx1MDkyNlx1MDk0Mlx1MDkzMFx1MDk0MCBcdTA5MTVcdTA5MmUgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkNvbnRyYXN0IjogIlx1MDkzNVx1MDkzZlx1MDkzN1x1MDkyZVx1MDkyNFx1MDkzZSIsCiJCYWNrIjogIlx1MDkyYVx1MDk0MFx1MDkxYlx1MDk0NyIsCiJHYW1tYSI6ICJcdTA5MTdcdTA5M2VcdTA5MmVcdTA5M2UiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwOTE1XHUwOTRkXHUwOTM3XHUwOTQ4XHUwOTI0XHUwOTNmXHUwOTFjIFx1MDkxNVx1MDkzMFx1MDk0N1x1MDkwMiIsCiJSZXNpemUiOiAiXHUwOTA2XHUwOTE1XHUwOTNlXHUwOTMwIFx1MDkyY1x1MDkyNlx1MDkzMlx1MDk0N1x1MDkwMiIsCiJTaGFycGVuIjogIlx1MDkyOFx1MDk0MVx1MDkxNVx1MDk0MFx1MDkzMlx1MDkzZVx1MDkyYVx1MDkyOCIsCiJab29tIG91dCI6ICJcdTA5MjZcdTA5NDJcdTA5MzBcdTA5NDAgXHUwOTJjXHUwOTVkXHUwOTNlXHUwOTBmXHUwOTAxIiwKIkltYWdlIG9wdGlvbnMiOiAiXHUwOTFiXHUwOTM1XHUwOTNmIFx1MDkxNVx1MDk0NyBcdTA5MzVcdTA5M2ZcdTA5MTVcdTA5MzJcdTA5NGRcdTA5MmEiLAoiQXBwbHkiOiAiXHUwOTMyXHUwOTNlXHUwOTE3XHUwOTQyIFx1MDkxNVx1MDkzMFx1MDk0N1x1MDkwMiIsCiJCcmlnaHRuZXNzIjogIlx1MDkxYVx1MDkyZVx1MDkxNVx1MDk0MFx1MDkzMlx1MDkzZVx1MDkyYVx1MDkyOCIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDkxOFx1MDk1Y1x1MDk0MCBcdTA5MTVcdTA5NDAgXHUwOTI2XHUwOTNmXHUwOTM2XHUwOTNlIFx1MDkyZVx1MDk0N1x1MDkwMiBcdTA5MThcdTA5NDFcdTA5MmVcdTA5M2VcdTA5MTMiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUwOTE4XHUwOTVjXHUwOTQwIFx1MDkxNVx1MDk0NyBcdTA5MzVcdTA5M2ZcdTA5MmFcdTA5MzBcdTA5NDBcdTA5MjQgXHUwOTE4XHUwOTQxXHUwOTJlXHUwOTNlXHUwOTEzIiwKIkVkaXQgaW1hZ2UiOiAiXHUwOTFiXHUwOTM1XHUwOTNmIFx1MDkzOFx1MDkyZVx1MDk0ZFx1MDkyYVx1MDkzZVx1MDkyNlx1MDkyOCIsCiJDb2xvciBsZXZlbHMiOiAiXHUwOTMwXHUwOTAyXHUwOTE3IFx1MDkzOFx1MDk0ZFx1MDkyNFx1MDkzMCIsCiJDcm9wIjogIlx1MDkxNVx1MDkzZVx1MDkxZlx1MDk0N1x1MDkwMiIsCiJPcmllbnRhdGlvbiI6ICJcdTA5MjhcdTA5M2ZcdTA5MzBcdTA5NGRcdTA5MjZcdTA5NDdcdTA5MzZcdTA5MTUgXHUwOTMwXHUwOTQ3XHUwOTE2XHUwOTNlIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTA5MTZcdTA5NWNcdTA5M2UgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkludmVydCI6ICJcdTA5MDlcdTA5MzJcdTA5MWZcdTA5NDdcdTA5MDIiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwOTI2XHUwOTNmXHUwOTI4XHUwOTNlXHUwOTAyXHUwOTE1XC9cdTA5MzhcdTA5MmVcdTA5MmYgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyIiwKIlJlbW92ZSBsaW5rIjogIlx1MDkxNVx1MDk1Y1x1MDk0MCBcdTA5MzlcdTA5MWZcdTA5M2VcdTA5MGZcdTA5MDEiLAoiVXJsIjogIlx1MDkxY1x1MDkzZVx1MDkzMlx1MDkzOFx1MDk0ZFx1MDkyNVx1MDkzMiBcdTA5MmFcdTA5MjRcdTA5M2UiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDkyNlx1MDkzZlx1MDkxNlx1MDkzZVx1MDkyOFx1MDk0NyBcdTA5MzlcdTA5NDdcdTA5MjRcdTA5NDEgXHUwOTJhXHUwOTNlXHUwOTIwXHUwOTRkXHUwOTJmIiwKIkFuY2hvcnMiOiAiXHUwOTMyXHUwOTAyXHUwOTE3XHUwOTMwIiwKIkluc2VydCBsaW5rIjogIlx1MDkxNVx1MDk1Y1x1MDk0MCBcdTA5MjFcdTA5M2VcdTA5MzJcdTA5NDdcdTA5MDIiLAoiTmV3IHdpbmRvdyI6ICJcdTA5MjhcdTA5MDggXHUwOTE2XHUwOTNmXHUwOTVjXHUwOTE1XHUwOTQwIiwKIk5vbmUiOiAiXHUwOTE1XHUwOTRiXHUwOTA4IFx1MDkyOFx1MDkzOVx1MDk0MFx1MDkwMiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwOTA2XHUwOTJhXHUwOTI4XHUwOTQ3IFx1MDkxY1x1MDk0YiBcdTA5MTVcdTA5NWNcdTA5NDAgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQwIFx1MDkzOVx1MDk0OCBcdTA5MzVcdTA5MzkgXHUwOTJjXHUwOTNlXHUwOTM5XHUwOTMwXHUwOTQwIFx1MDkxNVx1MDk1Y1x1MDk0MCBcdTA5MTVcdTA5NDcgXHUwOTFjXHUwOTQ4XHUwOTM4XHUwOTQ3IFx1MDkyNlx1MDkzZlx1MDkxNiBcdTA5MzBcdTA5MzlcdTA5M2UgXHUwOTM5XHUwOTQ4XHUwOTY0IFx1MDkxNVx1MDk0ZFx1MDkyZlx1MDkzZSBcdTA5MDZcdTA5MmEgaHR0cDpcL1wvIFx1MDkyYVx1MDkzOVx1MDkzMlx1MDk0NyBcdTA5MWNcdTA5NGJcdTA5NWNcdTA5MjhcdTA5M2UgXHUwOTFhXHUwOTNlXHUwOTM5XHUwOTI0XHUwOTQ3IFx1MDkzOVx1MDk0OD8iLAoiVGFyZ2V0IjogIlx1MDkzMlx1MDkxNVx1MDk0ZFx1MDkzN1x1MDk0ZFx1MDkyZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDkwNlx1MDkyYVx1MDkyOFx1MDk0NyBcdTA5MWNcdTA5NGIgXHUwOTE1XHUwOTVjXHUwOTQwIFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0MCBcdTA5MzlcdTA5NDggXHUwOTM1XHUwOTM5IFx1MDkwOFx1MDkyZVx1MDk0N1x1MDkzMiBcdTA5MmFcdTA5MjRcdTA5M2UgXHUwOTE1XHUwOTQ3IFx1MDkxY1x1MDk0OFx1MDkzOFx1MDk0NyBcdTA5MjZcdTA5M2ZcdTA5MTYgXHUwOTMwXHUwOTM5XHUwOTNlIFx1MDkzOVx1MDk0OFx1MDk2NCBcdTA5MTVcdTA5NGRcdTA5MmZcdTA5M2UgXHUwOTA2XHUwOTJhIG1haWx0bzogXHUwOTJhXHUwOTM5XHUwOTMyXHUwOTQ3IFx1MDkxY1x1MDk0Ylx1MDk1Y1x1MDkyOFx1MDkzZSBcdTA5MWFcdTA5M2VcdTA5MzlcdTA5MjRcdTA5NDcgXHUwOTM5XHUwOTQ4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTA5MTVcdTA5NWNcdTA5NDAgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyXC9cdTA5MzhcdTA5MDJcdTA5MmFcdTA5M2VcdTA5MjZcdTA5M2ZcdTA5MjQgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA5MWFcdTA5MzJcdTA5MWFcdTA5M2ZcdTA5MjRcdTA5NGRcdTA5MzAgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyXC9cdTA5MzhcdTA5MmVcdTA5NGRcdTA5MmFcdTA5M2VcdTA5MjZcdTA5MjggXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIlBvc3RlciI6ICJcdTA5MmFcdTA5NGJcdTA5MzhcdTA5NGRcdTA5MWZcdTA5MzAiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDkzNVx1MDk0OFx1MDkxNVx1MDkzMlx1MDk0ZFx1MDkyYVx1MDkzZlx1MDkxNSBcdTA5MzhcdTA5NGRcdTA5MzBcdTA5NGJcdTA5MjQiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA5MjZcdTA5M2ZcdTA5MTZcdTA5M2VcdTA5MjhcdTA5NDcgXHUwOTM1XHUwOTNlXHUwOTMyXHUwOTQ3IFx1MDkzOFx1MDkwMlx1MDkxNVx1MDk0N1x1MDkyNCBcdTA5MTVcdTA5NGIgXHUwOTI4XHUwOTQwXHUwOTFhXHUwOTQ3IFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0N1x1MDkwMjoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDkxYVx1MDkzMlx1MDkxYVx1MDkzZlx1MDkyNFx1MDk0ZFx1MDkzMCBcdTA5MjFcdTA5M2VcdTA5MzJcdTA5NDdcdTA5MDIiLAoiRW1iZWQiOiAiXHUwOTI2XHUwOTNmXHUwOTE2XHUwOTNlXHUwOTI4XHUwOTNlIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDkwNVx1MDkzNVx1MDkzZlx1MDkzMFx1MDkzZVx1MDkyZVx1MDkzZlx1MDkyNCBcdTA5MWNcdTA5MTdcdTA5MzkiLAoiUGFnZSBicmVhayI6ICJcdTA5MmFcdTA5NDNcdTA5MzdcdTA5NGRcdTA5MjAgXHUwOTM1XHUwOTNmXHUwOTMwXHUwOTNlXHUwOTJlIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwOTJhXHUwOTNlXHUwOTIwXHUwOTRkXHUwOTJmIFx1MDkxNVx1MDk0NyBcdTA5MzBcdTA5NDJcdTA5MmEgXHUwOTJlXHUwOTQ3XHUwOTAyIFx1MDkxYVx1MDkzZlx1MDkyYVx1MDkxNVx1MDkzZVx1MDkwZlx1MDkwMSIsCiJQcmV2aWV3IjogIlx1MDkyYVx1MDk0Mlx1MDkzMFx1MDk0ZFx1MDkzNVx1MDkzZVx1MDkzNVx1MDkzMlx1MDk0Ylx1MDkxNVx1MDkyOCIsCiJQcmludCI6ICJcdTA5MmVcdTA5NDFcdTA5MjZcdTA5NGRcdTA5MzBcdTA5MjMiLAoiU2F2ZSI6ICJcdTA5MzhcdTA5MzlcdTA5NDdcdTA5MWNcdTA5NDdcdTA5MDIiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDkyOFx1MDkzZlx1MDkzMFx1MDk0ZFx1MDkyNlx1MDkzZlx1MDkzN1x1MDk0ZFx1MDkxZiBcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTI4XHUwOTM5XHUwOTQwXHUwOTAyIFx1MDkyZVx1MDkzZlx1MDkzMiBcdTA5MzhcdTA5MTVcdTA5M2VcdTA5NjQiLAoiUmVwbGFjZSI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5MjRcdTA5M2ZcdTA5MzhcdTA5NGRcdTA5MjVcdTA5M2VcdTA5MmFcdTA5MjgiLAoiTmV4dCI6ICJcdTA5MDVcdTA5MTdcdTA5MzJcdTA5M2UiLAoiV2hvbGUgd29yZHMiOiAiXHUwOTM4XHUwOTAyXHUwOTJhXHUwOTQyXHUwOTMwXHUwOTRkXHUwOTIzIFx1MDkzNlx1MDkyY1x1MDk0ZFx1MDkyNiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDkyMlx1MDk0Mlx1MDkwMVx1MDkyMlx1MDk0N1x1MDkwMiBcdTA5MTRcdTA5MzAgXHUwOTJjXHUwOTI2XHUwOTMyXHUwOTQ3XHUwOTAyIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5MjRcdTA5M2ZcdTA5MzhcdTA5NGRcdTA5MjVcdTA5M2VcdTA5MmFcdTA5M2ZcdTA5MjQgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIkZpbmQiOiAiXHUwOTE2XHUwOTRiXHUwOTFjIiwKIlJlcGxhY2UgYWxsIjogIlx1MDkzOFx1MDkyZFx1MDk0MCBcdTA5MmFcdTA5NGRcdTA5MzBcdTA5MjRcdTA5M2ZcdTA5MzhcdTA5NGRcdTA5MjVcdTA5M2VcdTA5MmFcdTA5M2ZcdTA5MjQgXHUwOTE1XHUwOTMwXHUwOTQ3XHUwOTAyIiwKIk1hdGNoIGNhc2UiOiAiXHUwOTJlXHUwOTNlXHUwOTJlXHUwOTMyXHUwOTQ3IFx1MDkyZVx1MDkzZlx1MDkzMlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJQcmV2IjogIlx1MDkyYVx1MDkzZlx1MDkxYlx1MDkzMlx1MDkzZSIsCiJTcGVsbGNoZWNrIjogIlx1MDkzNVx1MDkzMFx1MDk0ZFx1MDkyNFx1MDkyOFx1MDk0MFx1MDkzNlx1MDk0Ylx1MDkyN1x1MDkxNSIsCiJGaW5pc2giOiAiXHUwOTM4XHUwOTJlXHUwOTNlXHUwOTJhXHUwOTRkXHUwOTI0IiwKIklnbm9yZSBhbGwiOiAiXHUwOTM4XHUwOTJkXHUwOTQwIFx1MDkxNVx1MDk0MCBcdTA5MDlcdTA5MmFcdTA5NDdcdTA5MTVcdTA5NGRcdTA5MzdcdTA5M2UiLAoiSWdub3JlIjogIlx1MDkwOVx1MDkyYVx1MDk0N1x1MDkxNVx1MDk0ZFx1MDkzN1x1MDkzZSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTA5MzZcdTA5MmNcdTA5NGRcdTA5MjZcdTA5MTVcdTA5NGJcdTA5MzYgXHUwOTJlXHUwOTQ3XHUwOTAyIFx1MDkxY1x1MDk0Ylx1MDk1Y1x1MDk0N1x1MDkwMiIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA5MmFcdTA5MzlcdTA5MzJcdTA5NDcgXHUwOTJhXHUwOTAyXHUwOTE1XHUwOTRkXHUwOTI0XHUwOTNmIFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0N1x1MDkwMiIsCiJSb3dzIjogIlx1MDkyYVx1MDkwMlx1MDkxNVx1MDk0ZFx1MDkyNFx1MDkzZlx1MDkyZlx1MDkzZVx1MDkwMSIsCiJIZWlnaHQiOiAiXHUwOTBhXHUwOTAxXHUwOTFhXHUwOTNlXHUwOTA4IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTE1XHUwOTQ3IFx1MDkyY1x1MDkzZVx1MDkyNiBcdTA5MWFcdTA5M2ZcdTA5MmFcdTA5MTVcdTA5M2VcdTA5MGZcdTA5MDEiLAoiQWxpZ25tZW50IjogIlx1MDkzOFx1MDkwMlx1MDkzMFx1MDk0N1x1MDkxNlx1MDkyMyIsCiJCb3JkZXIgY29sb3IiOiAiXHUwOTM4XHUwOTQwXHUwOTJlXHUwOTNlIFx1MDkzMFx1MDkwMlx1MDkxNyIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwOTM4XHUwOTRkXHUwOTI0XHUwOTAyXHUwOTJkIFx1MDkzOFx1MDkyZVx1MDk0Mlx1MDkzOSIsCiJSb3ciOiAiXHUwOTJhXHUwOTAyXHUwOTE1XHUwOTRkXHUwOTI0XHUwOTNmIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDkyYVx1MDkzOVx1MDkzMlx1MDk0NyBcdTA5MzhcdTA5NGRcdTA5MjRcdTA5MDJcdTA5MmQgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyIiwKIlNwbGl0IGNlbGwiOiAiXHUwOTE2XHUwOTNlXHUwOTI4XHUwOTQ3XHUwOTAyIFx1MDkzNVx1MDkzZlx1MDkyZFx1MDkzZVx1MDkxY1x1MDkzZlx1MDkyNCBcdTA5MTVcdTA5MzBcdTA5NDdcdTA5MDIiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDkxNlx1MDkzZVx1MDkyOFx1MDk0Ylx1MDkwMiBcdTA5MmVcdTA5NDdcdTA5MDIgXHUwOTI2XHUwOTQyXHUwOTMwXHUwOTQwIiwKIkNlbGwgc3BhY2luZyI6ICJcdTA5MTZcdTA5M2VcdTA5MjhcdTA5NGJcdTA5MDIgXHUwOTJlXHUwOTQ3XHUwOTAyIFx1MDkzMFx1MDkzZlx1MDkxNVx1MDk0ZFx1MDkyNFx1MDkzZiIsCiJSb3cgdHlwZSI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTE1XHUwOTNlXHUwOTMwIiwKIkluc2VydCB0YWJsZSI6ICJcdTA5MjRcdTA5M2VcdTA5MzJcdTA5M2ZcdTA5MTVcdTA5M2UgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyIiwKIkJvZHkiOiAiXHUwOTM2XHUwOTMwXHUwOTQwXHUwOTMwIiwKIkNhcHRpb24iOiAiXHUwOTA1XHUwOTI4XHUwOTQxXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3XHUwOTE1IiwKIkZvb3RlciI6ICJcdTA5MmFcdTA5M2VcdTA5MjYgXHUwOTMyXHUwOTQ3XHUwOTE2IiwKIkRlbGV0ZSByb3ciOiAiXHUwOTJhXHUwOTAyXHUwOTE1XHUwOTRkXHUwOTI0XHUwOTNmIFx1MDkzOVx1MDkxZlx1MDkzZVx1MDkwZlx1MDkwMiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDkyYVx1MDkwMlx1MDkxNVx1MDk0ZFx1MDkyNFx1MDkzZiBcdTA5MzhcdTA5NDcgXHUwOTJhXHUwOTM5XHUwOTMyXHUwOTQ3IFx1MDkxYVx1MDkzZlx1MDkyYVx1MDkxNVx1MDkzZVx1MDkwZlx1MDkwMSIsCiJTY29wZSI6ICJcdTA5MTVcdTA5NGRcdTA5MzdcdTA5NDdcdTA5MjRcdTA5NGRcdTA5MzAiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDkyNFx1MDkzZVx1MDkzMlx1MDkzZlx1MDkxNVx1MDkzZSBcdTA5MzlcdTA5MWZcdTA5M2VcdTA5MGZcdTA5MDEiLAoiSCBBbGlnbiI6ICJcdTA5MTVcdTA5NGRcdTA5MzdcdTA5NDdcdTA5MjRcdTA5M2ZcdTA5MWMgXHUwOTM4XHUwOTAyXHUwOTMwXHUwOTQ3XHUwOTE2XHUwOTNmXHUwOTI0IiwKIlRvcCI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzciLAoiSGVhZGVyIGNlbGwiOiAiXHUwOTM2XHUwOTQwXHUwOTMwXHUwOTRkXHUwOTM3IFx1MDkxNlx1MDkzZVx1MDkyOFx1MDkzZSIsCiJDb2x1bW4iOiAiXHUwOTM4XHUwOTRkXHUwOTI0XHUwOTAyXHUwOTJkIiwKIlJvdyBncm91cCI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTM4XHUwOTJlXHUwOTQyXHUwOTM5IiwKIkNlbGwiOiAiXHUwOTE1XHUwOTRiXHUwOTM2XHUwOTNmXHUwOTE1XHUwOTNlIiwKIk1pZGRsZSI6ICJcdTA5MmVcdTA5MjdcdTA5NGRcdTA5MmYiLAoiQ2VsbCB0eXBlIjogIlx1MDkxNlx1MDkzZVx1MDkyOFx1MDk0NyBcdTA5MTVcdTA5M2UgXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTE1XHUwOTNlXHUwOTMwIiwKIkNvcHkgcm93IjogIlx1MDkyYVx1MDkwMlx1MDkxNVx1MDk0ZFx1MDkyNFx1MDkzZiBcdTA5MTVcdTA5NDAgXHUwOTJhXHUwOTRkXHUwOTMwXHUwOTI0XHUwOTNmXHUwOTMyXHUwOTNmXHUwOTJhXHUwOTNmIFx1MDkzMlx1MDk0N1x1MDkwMiIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTE1XHUwOTQ3IFx1MDkxN1x1MDk0MVx1MDkyMyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDkyNFx1MDkzZVx1MDkzMlx1MDkzZlx1MDkxNVx1MDkzZSBcdTA5MTVcdTA5NDcgXHUwOTE3XHUwOTQxXHUwOTIzIiwKIkJvdHRvbSI6ICJcdTA5MjhcdTA5NDBcdTA5MWFcdTA5NDciLAoiViBBbGlnbiI6ICJcdTA5MGFcdTA5MzBcdTA5NGRcdTA5MjdcdTA5NGRcdTA5MzVcdTA5M2VcdTA5MjdcdTA5MzAgXHUwOTM4XHUwOTAyXHUwOTMwXHUwOTQ3XHUwOTE2XHUwOTNmXHUwOTI0IiwKIkhlYWRlciI6ICJcdTA5MzZcdTA5NDBcdTA5MzBcdTA5NGRcdTA5MzdcdTA5MTUiLAoiUmlnaHQiOiAiXHUwOTI2XHUwOTNlXHUwOTJmXHUwOTNlXHUwOTAxIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwOTJjXHUwOTNlXHUwOTI2IFx1MDkzOFx1MDk0ZFx1MDkyNFx1MDkwMlx1MDkyZCBcdTA5MjFcdTA5M2VcdTA5MzJcdTA5NDdcdTA5MDIiLAoiQ29scyI6ICJcdTA5MzhcdTA5NGRcdTA5MjRcdTA5MDJcdTA5MmQiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA5MmNcdTA5M2VcdTA5MjYgXHUwOTJhXHUwOTAyXHUwOTE1XHUwOTRkXHUwOTI0XHUwOTNmIFx1MDkyMVx1MDkzZVx1MDkzMlx1MDk0N1x1MDkwMiIsCiJXaWR0aCI6ICJcdTA5MWFcdTA5NGNcdTA5MjFcdTA5M2NcdTA5M2VcdTA5MDgiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDkxNVx1MDk0Ylx1MDkzNlx1MDkzZlx1MDkxNVx1MDkzZSBcdTA5MTdcdTA5NDFcdTA5MjMiLAoiTGVmdCI6ICJcdTA5MmNcdTA5M2VcdTA5MmZcdTA5M2VcdTA5MDEiLAoiQ3V0IHJvdyI6ICJcdTA5MmFcdTA5MDJcdTA5MTVcdTA5NGRcdTA5MjRcdTA5M2YgXHUwOTE1XHUwOTNlXHUwOTFmXHUwOTQ3XHUwOTAyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwOTM4XHUwOTRkXHUwOTI0XHUwOTAyXHUwOTJkIFx1MDkzOVx1MDkxZlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJDZW50ZXIiOiAiXHUwOTJlXHUwOTI3XHUwOTRkXHUwOTJmIiwKIk1lcmdlIGNlbGxzIjogIlx1MDkxNlx1MDkzZVx1MDkyOFx1MDk0Ylx1MDkwMiBcdTA5MTVcdTA5NGIgXHUwOTJlXHUwOTNmXHUwOTMyXHUwOTNlXHUwOTBmXHUwOTAyIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA5MzhcdTA5M2VcdTA5MDFcdTA5MWFcdTA5M2UgXHUwOTIxXHUwOTNlXHUwOTMyXHUwOTQ3XHUwOTAyIiwKIlRlbXBsYXRlcyI6ICJcdTA5MzhcdTA5M2VcdTA5MDFcdTA5MWFcdTA5NDciLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA5MmFcdTA5NDNcdTA5MzdcdTA5NGRcdTA5MjBcdTA5MmRcdTA5NDJcdTA5MmVcdTA5M2YgXHUwOTE1XHUwOTNlIFx1MDkzMFx1MDkwMlx1MDkxNyIsCiJDdXN0b20uLi4iOiAiXHUwOTA1XHUwOTI4XHUwOTQxXHUwOTE1XHUwOTQyXHUwOTMyXHUwOTNmXHUwOTI0Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTA5MDVcdTA5MjhcdTA5NDFcdTA5MTVcdTA5NDJcdTA5MzJcdTA5M2ZcdTA5MjQgXHUwOTMwXHUwOTAyXHUwOTE3IiwKIk5vIGNvbG9yIjogIlx1MDkzMFx1MDkwMlx1MDkxN1x1MDkzOVx1MDk0MFx1MDkyOCIsCiJUZXh0IGNvbG9yIjogIlx1MDkyYVx1MDkzZVx1MDkyMFx1MDk0ZFx1MDkyZiBcdTA5MzBcdTA5MDJcdTA5MTciLAoiU2hvdyBibG9ja3MiOiAiXHUwOTIxXHUwOTJjXHUwOTRkXHUwOTJjXHUwOTQ3IFx1MDkyNlx1MDkzZlx1MDkxNlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDkwNVx1MDkyNlx1MDk0M1x1MDkzNlx1MDk0ZFx1MDkyZiBcdTA5MDVcdTA5MTVcdTA5NGRcdTA5MzdcdTA5MzBcdTA5NGJcdTA5MDIgXHUwOTE1XHUwOTRiIFx1MDkyNlx1MDkzZlx1MDkxNlx1MDkzZVx1MDkwZlx1MDkwMSIsCiJXb3JkczogezB9IjogIlx1MDkzNlx1MDkyY1x1MDk0ZFx1MDkyNjogezB9IiwKIkluc2VydCI6ICJcdTA5MjFcdTA5M2VcdTA5MzJcdTA5NDdcdTA5MDIiLAoiRmlsZSI6ICJcdTA5MjhcdTA5MjRcdTA5NGRcdTA5MjVcdTA5NDAiLAoiRWRpdCI6ICJcdTA5MzhcdTA5MmVcdTA5NGRcdTA5MmFcdTA5M2VcdTA5MjZcdTA5MjgiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwOTM4XHUwOTAyXHUwOTJhXHUwOTI4XHUwOTRkXHUwOTI4IFx1MDkyYVx1MDkzZVx1MDkyMCBcdTA5MTVcdTA5NGRcdTA5MzdcdTA5NDdcdTA5MjRcdTA5NGRcdTA5MzBcdTA5NjQgXHUwOTJlXHUwOTQ3XHUwOTI4XHUwOTQyIFx1MDkxNVx1MDk0NyBcdTA5MzJcdTA5M2ZcdTA5MGYgQUxULUY5IFx1MDkyNlx1MDkyY1x1MDkzZVx1MDkwZlx1MDkwMVx1MDk2NCBcdTA5MDlcdTA5MmFcdTA5MTVcdTA5MzBcdTA5MjMgXHUwOTJhXHUwOTFmXHUwOTRkXHUwOTFmXHUwOTQwIFx1MDkxNVx1MDk0NyBcdTA5MzJcdTA5M2ZcdTA5MGYgIEFMVC1GMTAgXHUwOTI2XHUwOTJjXHUwOTNlXHUwOTBmXHUwOTAxXHUwOTY0IFx1MDkzOFx1MDkzOVx1MDkzZVx1MDkyZlx1MDkyNFx1MDkzZSBcdTA5MTVcdTA5NDcgXHUwOTMyXHUwOTNmXHUwOTBmIEFMVC0wIFx1MDkyNlx1MDkyY1x1MDkzZVx1MDkwZlx1MDkwMVx1MDk2NCIsCiJUb29scyI6ICJcdTA5MDlcdTA5MmFcdTA5MTVcdTA5MzBcdTA5MjMiLAoiVmlldyI6ICJcdTA5MjZcdTA5NDdcdTA5MTZcdTA5NDdcdTA5MDIiLAoiVGFibGUiOiAiXHUwOTI0XHUwOTNlXHUwOTMyXHUwOTNmXHUwOTE1XHUwOTNlIiwKIkZvcm1hdCI6ICJcdTA5MmFcdTA5NGRcdTA5MzBcdTA5M2VcdTA5MzBcdTA5NDJcdTA5MmEiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/hr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdocicsewoiQ3V0IjogIkl6cmVcdTAxN2VpIiwKIkhlYWRpbmcgNSI6ICJOYXNsb3YgNSIsCiJIZWFkZXIgMiI6ICJaYWdsYXZsamUgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJWYVx1MDE2MSBwcmVnbGVkbmlrIG5lIHBvZHJcdTAxN2VhdmEgZGlyZWt0YW4gcHJpc3R1cCBtZVx1MDExMXVzcHJlbW5pa3UuIE1vbGltbyBWYXMgZGEgdW1qZXN0byB0b2dhIGtvcmlzdGl0ZSB0aXBrb3ZuaVx1MDEwZGtlIGtyYXRpY2UgQ3RybCtYXC9DXC9WLiIsCiJIZWFkaW5nIDQiOiAiTmFzbG92IDQiLAoiRGl2IjogIkRJViIsCiJIZWFkaW5nIDIiOiAiTmFzbG92IDIiLAoiUGFzdGUiOiAiWmFsaWplcGkiLAoiQ2xvc2UiOiAiWmF0dm9yaSIsCiJGb250IEZhbWlseSI6ICJPYml0ZWxqIGZvbnRhIiwKIlByZSI6ICJQUkUiLAoiQWxpZ24gcmlnaHQiOiAiUG9yYXZuYWogZGVzbm8iLAoiTmV3IGRvY3VtZW50IjogIk5vdmkgZG9rdW1lbnQiLAoiQmxvY2txdW90ZSI6ICJCTE9DS1FVT1RFIiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtZXJpcmFuYSBsaXN0YSIsCiJIZWFkaW5nIDEiOiAiTmFzbG92IDEiLAoiSGVhZGluZ3MiOiAiTmFzbG92aSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiUG92ZVx1MDEwN2FqIHV2bGFcdTAxMGRlbmplIiwKIkZvcm1hdHMiOiAiRm9ybWF0aSIsCiJIZWFkZXJzIjogIlphZ2xhdmxqYSIsCiJTZWxlY3QgYWxsIjogIk96bmFcdTAxMGRpIHN2ZSIsCiJIZWFkZXIgMyI6ICJaYWdsYXZsamUgMyIsCiJCbG9ja3MiOiAiQmxva292aSIsCiJVbmRvIjogIlBvbmlcdTAxNjF0aSIsCiJTdHJpa2V0aHJvdWdoIjogIkNydGEga3JveiBzcmVkaW51IiwKIkJ1bGxldCBsaXN0IjogIkxpc3RhIiwKIkhlYWRlciAxIjogIlphZ2xhdmxqZSAxIiwKIlN1cGVyc2NyaXB0IjogIkVrc3BvbmVudCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlVrbG9uaSBvYmxpa292YW5qZSIsCiJGb250IFNpemVzIjogIlZlbGlcdTAxMGRpbmUgZm9udGEiLAoiU3Vic2NyaXB0IjogIkluZGVrcyIsCiJIZWFkZXIgNiI6ICJaYWdsYXZsamUgNiIsCiJSZWRvIjogIlZyYXRpIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZiIsCiJPayI6ICJVIHJlZHUiLAoiQm9sZCI6ICJQb2RlYmxqYW5vIiwKIkNvZGUiOiAiQ09ERSBvem5ha2EiLAoiSXRhbGljIjogIkt1cnppdiIsCiJBbGlnbiBjZW50ZXIiOiAiUG9yYXZuYWogcG8gc3JlZGluaSIsCiJIZWFkZXIgNSI6ICJaYWdsYXZsamUgNSIsCiJIZWFkaW5nIDYiOiAiTmFzbG92IDYiLAoiSGVhZGluZyAzIjogIk5hc2xvdiAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJTbWFuamkgdXZsYVx1MDEwZGVuamUiLAoiSGVhZGVyIDQiOiAiWmFnbGF2bGplIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkFrY2lqYSB6YWxpamVwaSBvZCBzYWRhIGxpamVwaSBcdTAxMGRpc3RpIHRla3N0LiBTYWRyXHUwMTdlYWogXHUwMTA3ZSBiaXRpIHphbGplcGxqZW4ga2FvIFx1MDEwZGlzdGkgdGVrc3Qgc3ZlIGRvayBuZSBpc2tsanVcdTAxMGRpdGUgb3Z1IG9wY2lqdS4iLAoiVW5kZXJsaW5lIjogIkNydGEgaXNwb2QiLAoiQ2FuY2VsIjogIk9kdXN0YW5pIiwKIkp1c3RpZnkiOiAiT2Jvc3RyYW5vIHBvcmF2bmFuamUiLAoiSW5saW5lIjogIlVudXRhcm5qZSIsCiJDb3B5IjogIktvcGlyYWoiLAoiQWxpZ24gbGVmdCI6ICJQb3Jhdm5haiBsaWpldm8iLAoiVmlzdWFsIGFpZHMiOiAiVml6dWFsbmEgcG9tb1x1MDEwNyIsCiJMb3dlciBHcmVlayI6ICJNYWxhIGdyXHUwMTBka2Egc2xvdmEiLAoiU3F1YXJlIjogIkt2YWRyYXQiLAoiRGVmYXVsdCI6ICJaYWRhbm8iLAoiTG93ZXIgQWxwaGEiOiAiTWFsYSBzbG92YSIsCiJDaXJjbGUiOiAiS3J1ZyIsCiJEaXNjIjogIlRvXHUwMTBka2EiLAoiVXBwZXIgQWxwaGEiOiAiVmVsaWthIHNsb3ZhIiwKIlVwcGVyIFJvbWFuIjogIlZlbGlrYSByaW1za2Egc2xvdmEiLAoiTG93ZXIgUm9tYW4iOiAiTWFsYSByaW1za2Egc2xvdmEiLAoiTmFtZSI6ICJJbWUiLAoiQW5jaG9yIjogIlNpZHJvIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiUG9zdG9qZSBuZSBwb2hyYW5qZW5lIGl6bWplbmUsIGplc3RlIGxpIHNpZ3VybmkgZGEgXHUwMTdlZWxpdGUgb3RpXHUwMTA3aT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlZyYXRpIHBvc2xqZWRuanUgc2tpY3UiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiUG9zZWJhbiB6bmFrIiwKIlNvdXJjZSBjb2RlIjogIkl6dm9ybmkga29kIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkJvamEiLAoiUmlnaHQgdG8gbGVmdCI6ICJTIGRlc25hIG5hIGxpamV2byIsCiJMZWZ0IHRvIHJpZ2h0IjogIlMgbGlqZXZhIG5hIGRlc25vIiwKIkVtb3RpY29ucyI6ICJFbW90aWtvbmkiLAoiUm9ib3RzIjogIlJvYm90aSBwcmV0cmFcdTAxN2VpdmFcdTAxMGRhIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiU3ZvanN0dmEgZG9rdW1lbnRhIiwKIlRpdGxlIjogIk5hc2xvdiIsCiJLZXl3b3JkcyI6ICJLbGp1XHUwMTBkbmUgcmlqZVx1MDEwZGkiLAoiRW5jb2RpbmciOiAiS29kbmEgc3RyYW5pY2EiLAoiRGVzY3JpcHRpb24iOiAiT3BpcyIsCiJBdXRob3IiOiAiQXV0b3IiLAoiRnVsbHNjcmVlbiI6ICJDaWplbGkgZWtyYW4iLAoiSG9yaXpvbnRhbCBsaW5lIjogIkhvcml6b250YWxuYSBsaW5pamEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJIb3Jpem9udGFsYW4gcmF6bWFrIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJVbWV0bmlcL2l6bWlqZW5pIHNsaWt1IiwKIkdlbmVyYWwiOiAiT3BcdTAxMDdlbml0byIsCiJBZHZhbmNlZCI6ICJOYXByZWRubyIsCiJTb3VyY2UiOiAiSXp2b3IiLAoiQm9yZGVyIjogIlJ1YiIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiWmFkclx1MDE3ZWkgcHJvcG9yY2lqZSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJPa29taXQgcmF6bWFrIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIk9waXMgc2xpa2UiLAoiU3R5bGUiOiAiU3RpbCIsCiJEaW1lbnNpb25zIjogIkRpbWVuemlqZSIsCiJJbnNlcnQgaW1hZ2UiOiAiVW1ldG5pIHNsaWt1IiwKIlpvb20gaW4iOiAiUG92ZVx1MDEwN2FqIiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkJhY2siOiAiTmF0cmFnIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIk9icm5pIGhvcml6b250YWxubyIsCiJSZXNpemUiOiAiUHJvbWplbmkgdmVsaVx1MDEwZGludSIsCiJTaGFycGVuIjogIkl6b1x1MDE2MXRyYXZhbmplIiwKIlpvb20gb3V0IjogIlNtYW5qaSIsCiJJbWFnZSBvcHRpb25zIjogIk9wY2lqZSBzbGlrZSIsCiJBcHBseSI6ICJQcmltaWplbmkiLAoiQnJpZ2h0bmVzcyI6ICJTdmpldGxpbmEiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RpcmFqIGRlc25vIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlJvdGlyYWogbGlqZXZvIiwKIkVkaXQgaW1hZ2UiOiAiVXJlZGkgc2xpa3UiLAoiQ29sb3IgbGV2ZWxzIjogIlJhemluZSBib2plIiwKIkNyb3AiOiAiT2JyZVx1MDE3ZWkiLAoiT3JpZW50YXRpb24iOiAiT3JpamVudGFjaWphIiwKIkZsaXAgdmVydGljYWxseSI6ICJPYnJuaSB2ZXJ0aWthbG5vIiwKIkludmVydCI6ICJJbnZlcnRpcmFqIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlVtZXRuaSBkYXR1bVwvdnJpamVtZSIsCiJSZW1vdmUgbGluayI6ICJVa2xvbmkgcG92ZXpuaWN1IiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0IHphIHByaWtheiIsCiJBbmNob3JzIjogIktyYVx1MDEwN2UgcG92ZXpuaWNlIiwKIkluc2VydCBsaW5rIjogIlVtZXRuaSBwb3Zlem5pY3UiLAoiTmV3IHdpbmRvdyI6ICJOb3ZpIHByb3pvciIsCiJOb25lIjogIk5pXHUwMTYxdGEiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkl6Z2xlZGEgZGEgamUgVVJMIGtvamkgc3RlIHVwaXNhbGkgdmFuanNraSBsaW5rLiBcdTAxN2RlbGl0ZSBsaSBkb2RhdGkgb2JhdmV6YW4gaHR0cDpcL1wvIHByZWZpa3M/IiwKIlRhcmdldCI6ICJNZXRhIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiSXpnbGVkYSBkYSBqZSBVUkwga29qaSBzdGUgdXBpc2FsaSBlLW1haWwgYWRyZXNhLiBcdTAxN2RlbGl0ZSBsaSBkb2RhdGkgb2JhdmV6YW4gbWFpbHRvOiBwcmVmaWtzPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJVbWV0bmlcL2l6bWlqZW5pIHBvdmV6bmljdSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVW1ldG5pXC9pem1pamVuaSB2aWRlbyIsCiJQb3N0ZXIiOiAiUG9zdGVyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2bmkgaXp2b3IiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJVbWV0bml0ZSB2YVx1MDE2MSBrb2QgemEgdWdyYWRuanUgaXNwb2Q6IiwKIkluc2VydCB2aWRlbyI6ICJVbWV0bmkgdmlkZW8iLAoiRW1iZWQiOiAiVWdyYWRpIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5lcHJla2lkYWp1XHUwMTA3aSByYXptYWsiLAoiUGFnZSBicmVhayI6ICJQcmlqZWxvbSBzdHJhbmljZSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlphbGlqZXBpIGthbyB0ZWtzdCIsCiJQcmV2aWV3IjogIlByZWdsZWQiLAoiUHJpbnQiOiAiSXNwaXMiLAoiU2F2ZSI6ICJTcHJlbWkiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlRyYVx1MDE3ZWVuaSB0ZWtzdCBuaWplIHByb25hXHUwMTExZW4iLAoiUmVwbGFjZSI6ICJaYW1pamVuaSIsCiJOZXh0IjogIlNsaWplZGVcdTAxMDdpIiwKIldob2xlIHdvcmRzIjogIkNpamVsZSByaWplXHUwMTBkaSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlByb25hXHUwMTExaSBpIHphbWlqZW5pIiwKIlJlcGxhY2Ugd2l0aCI6ICJaYW1pamVuaSBzIiwKIkZpbmQiOiAiVHJhXHUwMTdlaSIsCiJSZXBsYWNlIGFsbCI6ICJaYW1pamVuaSBzdmUiLAoiTWF0Y2ggY2FzZSI6ICJQYXppIG5hIG1hbGEgaSB2ZWxpa2Egc2xvdmEiLAoiUHJldiI6ICJQcmV0aG9kbmkiLAoiU3BlbGxjaGVjayI6ICJQcm92amVyaSBwcmF2b3BpcyIsCiJGaW5pc2giOiAiWmF2clx1MDE2MWkiLAoiSWdub3JlIGFsbCI6ICJaYW5lbWFyaSBzdmUiLAoiSWdub3JlIjogIlphbmVtYXJpIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkRvZGFqIHUgcmplXHUwMTBkbmlrIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlVtZXRuaSByZWRhayBwcmlqZSIsCiJSb3dzIjogIlJlZGNpIiwKIkhlaWdodCI6ICJWaXNpbmEiLAoiUGFzdGUgcm93IGFmdGVyIjogIlphbGlqZXBpIHJlZGFrIG5ha29uIiwKIkFsaWdubWVudCI6ICJQb3Jhdm5hbmplIiwKIkJvcmRlciBjb2xvciI6ICJCb2phIHJ1YmEiLAoiQ29sdW1uIGdyb3VwIjogIkdydXBpcmFuaSBzdHVwY2kiLAoiUm93IjogIlJlZGFrIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlVtZXRuaSBzdHVwYWMgcHJpamUiLAoiU3BsaXQgY2VsbCI6ICJSYXpkdm9qaSBwb2xqYSIsCiJDZWxsIHBhZGRpbmciOiAiUmF6bWFrIHVudXRhciBwb2xqYSIsCiJDZWxsIHNwYWNpbmciOiAiUmF6bWFrIGl6bWVcdTAxMTF1IHBvbGphIiwKIlJvdyB0eXBlIjogIlZyc3RhIHJlZGthIiwKIkluc2VydCB0YWJsZSI6ICJVbWV0bmkgdGFibGljdSIsCiJCb2R5IjogIlNhZHJcdTAxN2VhaiIsCiJDYXB0aW9uIjogIk5hdHBpcyIsCiJGb290ZXIiOiAiUG9kbm9cdTAxN2VqZSIsCiJEZWxldGUgcm93IjogIkl6YnJpXHUwMTYxaSByZWRhayIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlphbGlqZXBpIHJlZGFrIHByaWplIiwKIlNjb3BlIjogIkRvc2VnIiwKIkRlbGV0ZSB0YWJsZSI6ICJJemJyaVx1MDE2MWkgdGFibGljdSIsCiJIIEFsaWduIjogIkggUG9yYXZuYXZhbmplIiwKIlRvcCI6ICJWcmgiLAoiSGVhZGVyIGNlbGwiOiAiUG9samUgemFnbGF2bGphIiwKIkNvbHVtbiI6ICJTdHVwYWMiLAoiUm93IGdyb3VwIjogIkdydXBpcmFuaSByZWRjaSIsCiJDZWxsIjogIlBvbGplIiwKIk1pZGRsZSI6ICJTcmVkaW5hIiwKIkNlbGwgdHlwZSI6ICJWcnN0YSBwb2xqYSIsCiJDb3B5IHJvdyI6ICJLb3BpcmFqIHJlZGFrIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlN2b2pzdHZhIHJlZGthIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiU3ZvanN0dmEgdGFibGljZSIsCiJCb3R0b20iOiAiRG5vIiwKIlYgQWxpZ24iOiAiViBQb3Jhdm5hdmFuamUiLAoiSGVhZGVyIjogIlphZ2xhdmxqZSIsCiJSaWdodCI6ICJEZXNubyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlVtZXRuaSBzdHVwYWMgbmFrb24iLAoiQ29scyI6ICJTdHVwY2kiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJVbWV0bmkgcmVkYWsgbmFrb24iLAoiV2lkdGgiOiAiXHUwMTYwaXJpbmEiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlN2b2pzdHZhIHBvbGphIiwKIkxlZnQiOiAiTGlqZXZvIiwKIkN1dCByb3ciOiAiSXpyZVx1MDE3ZWkgcmVkYWsiLAoiRGVsZXRlIGNvbHVtbiI6ICJJemJyaVx1MDE2MWkgc3R1cGFjIiwKIkNlbnRlciI6ICJTcmVkaW5hIiwKIk1lcmdlIGNlbGxzIjogIlNwb2ppIHBvbGphIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJVbWV0bmkgcHJlZGxvXHUwMTdlYWsiLAoiVGVtcGxhdGVzIjogIlByZWRsb1x1MDE2MWNpIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQm9qYSBwb3phZGluZSIsCiJDdXN0b20uLi4iOiAiUHJpbGFnb1x1MDExMWVuby4uLiIsCiJDdXN0b20gY29sb3IiOiAiUHJpbGFnb1x1MDExMWVuYSBib2phIiwKIk5vIGNvbG9yIjogIkJleiBib2plIiwKIlRleHQgY29sb3IiOiAiQm9qYSB0ZWtzdGEiLAoiU2hvdyBibG9ja3MiOiAiUHJpa2FcdTAxN2VpIGJsb2tvdmUiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJQcmlrYVx1MDE3ZWkgbmV2aWRsaml2ZSB6bmFrb3ZlIiwKIldvcmRzOiB7MH0iOiAiUmlqZVx1MDEwZGk6IHswfSIsCiJJbnNlcnQiOiAiVW1ldG5pIiwKIkZpbGUiOiAiRGF0b3Rla2EiLAoiRWRpdCI6ICJJem1pamVuaSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJQcml0aXNuaSBBTFQtRjkgemEgaXpib3JuaWsuIFByaXRpc25pIEFMVC1GMTAgemEgYWxhdG51IHRyYWt1LiBQcml0aXNuaSBBTFQtMCB6YSBwb21vXHUwMTA3IiwKIlRvb2xzIjogIkFsYXRpIiwKIlZpZXciOiAiUG9nbGVkIiwKIlRhYmxlIjogIlRhYmxpY2EiLAoiRm9ybWF0IjogIk9ibGlrdWoiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/hu_HU.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdodV9IVScsewoiQ3V0IjogIktpdlx1MDBlMWdcdTAwZTFzIiwKIkhlYWRpbmcgNSI6ICJGZWpsXHUwMGU5YyA1IiwKIkhlYWRlciAyIjogIkNcdTAwZWRtc29yIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiQSBiXHUwMGY2bmdcdTAwZTlzelx1MDE1MWQgbmVtIHRcdTAwZTFtb2dhdGphIGEga1x1MDBmNnp2ZXRsZW4gaG96elx1MDBlMWZcdTAwZTlyXHUwMGU5c3QgYSB2XHUwMGUxZ1x1MDBmM2xhcGhvei4gS1x1MDBlOXJsZWsgaGFzem5cdTAwZTFsZCBhIEN0cmwrWFwvQ1wvViBiaWxsZW50eVx1MDE3MWtldC4iLAoiSGVhZGluZyA0IjogIkZlamxcdTAwZTljIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiRmVqbFx1MDBlOWMgMiIsCiJQYXN0ZSI6ICJCZWlsbGVzenRcdTAwZTlzIiwKIkNsb3NlIjogIkJlelx1MDBlMXIiLAoiRm9udCBGYW1pbHkiOiAiQmV0XHUwMTcxdFx1MDBlZHB1cyIsCiJQcmUiOiAiRWxcdTAxNTEiLAoiQWxpZ24gcmlnaHQiOiAiSm9iYnJhIGlnYXpcdTAwZWR0IiwKIk5ldyBkb2N1bWVudCI6ICJcdTAwZGFqIGRva3VtZW50dW0iLAoiQmxvY2txdW90ZSI6ICJJZFx1MDBlOXpldGJsb2trIiwKIk51bWJlcmVkIGxpc3QiOiAiU3pcdTAwZTFtb3pcdTAwZTFzIiwKIkhlYWRpbmcgMSI6ICJGZWpsXHUwMGU5YyAxIiwKIkhlYWRpbmdzIjogIkZlamxcdTAwZTljZWsiLAoiSW5jcmVhc2UgaW5kZW50IjogIkJlaFx1MDBmYXpcdTAwZTFzIG5cdTAwZjZ2ZWxcdTAwZTlzZSIsCiJGb3JtYXRzIjogIkZvcm1cdTAwZTF0dW1vayIsCiJIZWFkZXJzIjogIkNcdTAwZWRtc29yb2siLAoiU2VsZWN0IGFsbCI6ICJNaW5kZW4ga2lqZWxcdTAwZjZsXHUwMGU5c2UiLAoiSGVhZGVyIDMiOiAiQ1x1MDBlZG1zb3IgMyIsCiJCbG9ja3MiOiAiQmxva2tvayIsCiJVbmRvIjogIlZpc3N6YXZvblx1MDBlMXMiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTAwYzF0aFx1MDBmYXpvdHQiLAoiQnVsbGV0IGxpc3QiOiAiRmVsc29yb2xcdTAwZTFzIiwKIkhlYWRlciAxIjogIkNcdTAwZWRtc29yIDEiLAoiU3VwZXJzY3JpcHQiOiAiRmVsc1x1MDE1MSBpbmRleCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkZvcm1cdTAwZTF6XHUwMGUxcyB0XHUwMGY2cmxcdTAwZTlzZSIsCiJGb250IFNpemVzIjogIkJldFx1MDE3MW1cdTAwZTlyZXRlayIsCiJTdWJzY3JpcHQiOiAiQWxzXHUwMGYzIGluZGV4IiwKIkhlYWRlciA2IjogIkNcdTAwZWRtc29yIDYiLAoiUmVkbyI6ICJJc21cdTAwZTl0IiwKIlBhcmFncmFwaCI6ICJCZWtlemRcdTAwZTlzIiwKIk9rIjogIlJlbmRiZW4iLAoiQm9sZCI6ICJGXHUwMGU5bGtcdTAwZjZ2XHUwMGU5ciIsCiJDb2RlIjogIktcdTAwZjNkIiwKIkl0YWxpYyI6ICJEXHUwMTUxbHQiLAoiQWxpZ24gY2VudGVyIjogIktcdTAwZjZ6XHUwMGU5cHJlIHpcdTAwZTFyIiwKIkhlYWRlciA1IjogIkNcdTAwZWRtc29yIDUiLAoiSGVhZGluZyA2IjogIkZlamxcdTAwZTljIDYiLAoiSGVhZGluZyAzIjogIkZlamxcdTAwZTljIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIkJlaFx1MDBmYXpcdTAwZTFzIGNzXHUwMGY2a2tlbnRcdTAwZTlzZSIsCiJIZWFkZXIgNCI6ICJDXHUwMGVkbXNvciA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJCZWlsbGVzenRcdTAwZTlzIG1vc3RhbnRcdTAwZjNsIGVneXN6ZXJcdTAxNzEgc3pcdTAwZjZ2ZWcgbVx1MDBmM2RiYW4uIEEgdGFydGFsbWFrIG1vc3RhbnRcdTAwZjNsIGVneXN6ZXJcdTAxNzEgc3pcdTAwZjZ2ZWdrXHUwMGU5bnQgbGVzem5layBiZWlsbGVzenR2ZSwgYW1cdTAwZWRnIG5lbSBrYXBjc29sb2Qga2kgZXp0IGF6IG9wY2lcdTAwZjN0LiIsCiJVbmRlcmxpbmUiOiAiQWxcdTAwZTFoXHUwMGZhem90dCIsCiJDYW5jZWwiOiAiTVx1MDBlOWdzZSIsCiJKdXN0aWZ5IjogIlNvcmtpelx1MDBlMXJcdTAwZTFzIiwKIklubGluZSI6ICJWb25hbG9uIGJlbFx1MDBmY2wiLAoiQ29weSI6ICJNXHUwMGUxc29sXHUwMGUxcyIsCiJBbGlnbiBsZWZ0IjogIkJhbHJhIGlnYXpcdTAwZWR0IiwKIlZpc3VhbCBhaWRzIjogIlZpenVcdTAwZTFsaXMgc2VnXHUwMGU5ZGVzemtcdTAwZjZ6XHUwMGY2ayIsCiJMb3dlciBHcmVlayI6ICJLaXMgZ1x1MDBmNnJcdTAwZjZnIHN6XHUwMGUxbSIsCiJTcXVhcmUiOiAiTlx1MDBlOWd5emV0IiwKIkRlZmF1bHQiOiAiQWxhcFx1MDBlOXJ0ZWxtZXpldHQiLAoiTG93ZXIgQWxwaGEiOiAiS2lzYmV0XHUwMTcxIiwKIkNpcmNsZSI6ICJLXHUwMGY2ciIsCiJEaXNjIjogIlBvbnQiLAoiVXBwZXIgQWxwaGEiOiAiTmFneWJldFx1MDE3MSIsCiJVcHBlciBSb21hbiI6ICJOYWd5IHJcdTAwZjNtYWkgc3pcdTAwZTFtIiwKIkxvd2VyIFJvbWFuIjogIktpcyByXHUwMGYzbWFpIHN6XHUwMGUxbSIsCiJOYW1lIjogIk5cdTAwZTl2IiwKIkFuY2hvciI6ICJIb3Jnb255IiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiTmVtIG1lbnRldHQgbVx1MDBmM2Rvc1x1MDBlZHRcdTAwZTFzYWlkIHZhbm5haywgYml6dG9zIGhvZ3kgZWwgYWthcnN6IG5hdmlnXHUwMGUxbG5pPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiVXRvbHNcdTAwZjMgcGlzemtvemF0IHZpc3N6YVx1MDBlMWxsXHUwMGVkdFx1MDBlMXNhIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpXHUwMGUxbGlzIGthcmFrdGVyIiwKIlNvdXJjZSBjb2RlIjogIkZvcnJcdTAwZTFza1x1MDBmM2QiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiU3pcdTAwZWRuIiwKIlJpZ2h0IHRvIGxlZnQiOiAiSm9iYnJcdTAwZjNsIGJhbHJhIiwKIkxlZnQgdG8gcmlnaHQiOiAiQmFsclx1MDBmM2wgam9iYnJhIiwKIkVtb3RpY29ucyI6ICJWaWd5b3JvayIsCiJSb2JvdHMiOiAiUm9ib3RvayIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50dW0gdHVsYWpkb25zXHUwMGUxZ2FpIiwKIlRpdGxlIjogIkNcdTAwZWRtIiwKIktleXdvcmRzIjogIkt1bGNzc3phdmFrIiwKIkVuY29kaW5nIjogIktcdTAwZjNkb2xcdTAwZTFzIiwKIkRlc2NyaXB0aW9uIjogIkxlXHUwMGVkclx1MDBlMXMiLAoiQXV0aG9yIjogIlN6ZXJ6XHUwMTUxIiwKIkZ1bGxzY3JlZW4iOiAiVGVsamVzIGtcdTAwZTlwZXJueVx1MDE1MSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiVlx1MDBlZHpzemludGVzIHZvbmFsIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRcdTAwZTFsaXMgaGVseSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiS1x1MDBlOXAgYmVpbGxlc3p0XHUwMGU5c2VcL3N6ZXJrZXN6dFx1MDBlOXNlIiwKIkdlbmVyYWwiOiAiXHUwMGMxbHRhbFx1MDBlMW5vcyIsCiJBZHZhbmNlZCI6ICJIYWxhZFx1MDBmMyIsCiJTb3VyY2UiOiAiRm9yclx1MDBlMXMiLAoiQm9yZGVyIjogIlN6ZWdcdTAwZTlseSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiTVx1MDBlOXJldGFyXHUwMGUxbnkiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrXHUwMGUxbGlzIGhlbHkiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiS1x1MDBlOXAgbGVcdTAwZWRyXHUwMGUxc2EiLAoiU3R5bGUiOiAiU3RcdTAwZWRsdXMiLAoiRGltZW5zaW9ucyI6ICJNXHUwMGU5cmV0ZWsiLAoiSW5zZXJ0IGltYWdlIjogIktcdTAwZTlwIGJlc3pcdTAwZmFyXHUwMGUxc2EiLAoiWm9vbSBpbiI6ICJOYWd5XHUwMGVkdFx1MDBlMXMiLAoiQ29udHJhc3QiOiAiS29udHJhc3p0IiwKIkJhY2siOiAiVmlzc3phIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlZcdTAwZWR6c3ppbnRlcyB0XHUwMGZja3JcdTAwZjZ6XHUwMGU5cyIsCiJSZXNpemUiOiAiXHUwMGMxdG1cdTAwZTlyZXRlelx1MDBlOXMiLAoiU2hhcnBlbiI6ICJcdTAwYzlsZXNzXHUwMGU5ZyIsCiJab29tIG91dCI6ICJLaWNzaW55XHUwMGVkdFx1MDBlOXMiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJLXHUwMGU5cCBiZVx1MDBlMWxsXHUwMGVkdFx1MDBlMXNvayIsCiJBcHBseSI6ICJNZW50XHUwMGU5cyIsCiJCcmlnaHRuZXNzIjogIkZcdTAwZTlueWVyXHUwMTUxIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiRm9yZ2F0XHUwMGUxcyBheiBcdTAwZjNyYW11dGF0XHUwMGYzIGpcdTAwZTFyXHUwMGUxc1x1MDBlMXZhbCBtZWdlZ3llelx1MDE1MWVuIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIkZvcmdhdFx1MDBlMXMgYXogXHUwMGYzcmFtdXRhdFx1MDBmMyBqXHUwMGUxclx1MDBlMXNcdTAwZTF2YWwgZWxsZW50XHUwMGU5dGVzZW4iLAoiRWRpdCBpbWFnZSI6ICJLXHUwMGU5cCBzemVya2VzenRcdTAwZTlzZSIsCiJDb2xvciBsZXZlbHMiOiAiU3pcdTAwZWRuc3ppbnQiLAoiQ3JvcCI6ICJLXHUwMGU5cCB2XHUwMGUxZ1x1MDBlMXMiLAoiT3JpZW50YXRpb24iOiAiS1x1MDBlOXAgdFx1MDBlMWpvbFx1MDBlMXMiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIkZcdTAwZmNnZ1x1MDE1MWxlZ2VzIHRcdTAwZmNrclx1MDBmNnpcdTAwZTlzIiwKIkludmVydCI6ICJJbnZlcnoga1x1MDBlOXAiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiRFx1MDBlMXR1bVwvaWRcdTAxNTEgYmVpbGxlc3p0XHUwMGU5c2UiLAoiUmVtb3ZlIGxpbmsiOiAiSGl2YXRrb3pcdTAwZTFzIHRcdTAwZjZybFx1MDBlOXNlIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIk1lZ2plbGVuXHUwMTUxIHN6XHUwMGY2dmVnIiwKIkFuY2hvcnMiOiAiSG9yZ29ueW9rIiwKIkluc2VydCBsaW5rIjogIkxpbmsgYmVpbGxlc3p0XHUwMGU5c2UiLAoiTmV3IHdpbmRvdyI6ICJcdTAwZGFqIGFibGFrIiwKIk5vbmUiOiAiTmluY3MiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkF6IFVSTCBhbWl0IG1lZ2FkdFx1MDBlMWwga1x1MDBmY2xzXHUwMTUxIGNcdTAwZWRtbmVrIHRcdTAxNzFuaWsuIFN6ZXJldG5cdTAwZTlkIGhvenpcdTAwZTFhZG5pIGEgc3pcdTAwZmNrc1x1MDBlOWdlcyBodHRwOlwvXC8gZWxcdTAxNTF0YWdvdD8iLAoiVGFyZ2V0IjogIkNcdTAwZTlsIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiQXogVVJMIGFtaXQgbWVnYWR0XHUwMGUxbCBlbWFpbCBjXHUwMGVkbW5layB0XHUwMTcxbmlrLiBTemVyZXRuXHUwMGU5ZCBob3p6XHUwMGUxYWRuaSBhIHN6XHUwMGZja3NcdTAwZTlnZXMgbWFpbHRvOiBlbFx1MDE1MXRhZ290PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJMaW5rIGJlaWxsZXN6dFx1MDBlOXNlXC9zemVya2VzenRcdTAwZTlzZSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVmlkZVx1MDBmMyBiZWlsbGVzenRcdTAwZTlzZVwvc3plcmtlc3p0XHUwMGU5c2UiLAoiUG9zdGVyIjogIkVsXHUwMTUxblx1MDBlOXpldGkga1x1MDBlOXAiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0XHUwMGVkdiBmb3JyXHUwMGUxcyIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIklsbGVzemQgYmUgYSBiZVx1MDBlMWd5YXpcdTAwZjMga1x1MDBmM2RvdCBhbHVscmE6IiwKIkluc2VydCB2aWRlbyI6ICJWaWRlXHUwMGYzIGJlaWxsZXN6dFx1MDBlOXNlIiwKIkVtYmVkIjogIkJlXHUwMGUxZ3lhelx1MDBlMXMiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiTmVtIHRcdTAwZjZyaGV0XHUwMTUxIGhlbHkiLAoiUGFnZSBicmVhayI6ICJPbGRhbHRcdTAwZjZyXHUwMGU5cyIsCiJQYXN0ZSBhcyB0ZXh0IjogIkJlaWxsZXN6dFx1MDBlOXMgc3pcdTAwZjZ2ZWdrXHUwMGU5bnQiLAoiUHJldmlldyI6ICJFbFx1MDE1MW5cdTAwZTl6ZXQiLAoiUHJpbnQiOiAiTnlvbXRhdFx1MDBlMXMiLAoiU2F2ZSI6ICJNZW50XHUwMGU5cyIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiQSBiZVx1MDBlZHJ0IGtpZmVqZXpcdTAwZTlzIG5lbSB0YWxcdTAwZTFsaGF0XHUwMGYzLiIsCiJSZXBsYWNlIjogIkNzZXJlIiwKIk5leHQiOiAiS1x1MDBmNnZldGtlelx1MDE1MSIsCiJXaG9sZSB3b3JkcyI6ICJDc2FrIGhhIGV6IGEgdGVsamVzIHN6XHUwMGYzIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiS2VyZXNcdTAwZTlzIFx1MDBlOXMgY3NlcmUiLAoiUmVwbGFjZSB3aXRoIjogIkNzZXJlIGVycmUiLAoiRmluZCI6ICJLZXJlc1x1MDBlOXMiLAoiUmVwbGFjZSBhbGwiOiAiQXogXHUwMGY2c3N6ZXMgY3Nlclx1MDBlOWplIiwKIk1hdGNoIGNhc2UiOiAiS2lzIFx1MDBlOXMgbmFneWJldFx1MDE3MWsgbWVna1x1MDBmY2xcdTAwZjZuYlx1MDBmNnp0ZXRcdTAwZTlzZSIsCiJQcmV2IjogIkVsXHUwMTUxelx1MDE1MSIsCiJTcGVsbGNoZWNrIjogIkhlbHllc1x1MDBlZHJcdTAwZTFzIGVsbGVuXHUwMTUxcnpcdTAwZTlzIiwKIkZpbmlzaCI6ICJCZWZlamV6XHUwMGU5cyIsCiJJZ25vcmUgYWxsIjogIk1pbmRlbnQgZmlneWVsbWVuIGtcdTAwZWR2XHUwMGZjbCBoYWd5IiwKIklnbm9yZSI6ICJGaWd5ZWxtZW4ga1x1MDBlZHZcdTAwZmNsIGhhZ3kiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiU3pcdTAwZjN0XHUwMGUxcmhveiBhZCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJTb3IgYmVzelx1MDBmYXJcdTAwZTFzYSBlbFx1MDBlOSIsCiJSb3dzIjogIlNvcm9rIiwKIkhlaWdodCI6ICJNYWdhc3NcdTAwZTFnIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJTb3IgYmVpbGxlc3p0XHUwMGU5c2UgbVx1MDBmNmdcdTAwZTkiLAoiQWxpZ25tZW50IjogIklnYXpcdTAwZWR0XHUwMGUxcyIsCiJCb3JkZXIgY29sb3IiOiAiU3plZ1x1MDBlOWx5IHN6XHUwMGVkbmUiLAoiQ29sdW1uIGdyb3VwIjogIk9zemxvcCBjc29wb3J0IiwKIlJvdyI6ICJTb3IiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiT3N6bG9wIGJlc3pcdTAwZmFyXHUwMGUxc2EgZWxcdTAwZTkiLAoiU3BsaXQgY2VsbCI6ICJDZWxsXHUwMGUxayBzelx1MDBlOXR2XHUwMGUxbGFzenRcdTAwZTFzYSIsCiJDZWxsIHBhZGRpbmciOiAiQ2VsbGEgbVx1MDBlOXJldGUiLAoiQ2VsbCBzcGFjaW5nIjogIkNlbGxcdTAwZTFrIHRcdTAwZTF2b2xzXHUwMGUxZ2EiLAoiUm93IHR5cGUiOiAiU29yIHRcdTAwZWRwdXMiLAoiSW5zZXJ0IHRhYmxlIjogIlRcdTAwZTFibFx1MDBlMXphdCBiZWlsbGVzenRcdTAwZTlzZSIsCiJCb2R5IjogIlN6XHUwMGY2dmVndFx1MDBmNnJ6cyIsCiJDYXB0aW9uIjogIkZlbGlyYXQiLAoiRm9vdGVyIjogIkxcdTAwZTFibFx1MDBlOWMiLAoiRGVsZXRlIHJvdyI6ICJTb3IgdFx1MDBmNnJsXHUwMGU5c2UiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJTb3IgYmVpbGxlc3p0XHUwMGU5c2UgZWxcdTAwZTkiLAoiU2NvcGUiOiAiSGF0XHUwMGYza1x1MDBmNnIiLAoiRGVsZXRlIHRhYmxlIjogIlRcdTAwZTFibFx1MDBlMXphdCB0XHUwMGY2cmxcdTAwZTlzZSIsCiJIIEFsaWduIjogIlZcdTAwZWR6c3ppbnRlcyBpZ2F6XHUwMGVkdFx1MDBlMXMiLAoiVG9wIjogIkZlbFx1MDBmY2wiLAoiSGVhZGVyIGNlbGwiOiAiRmVqbFx1MDBlOWMgY2VsbGEiLAoiQ29sdW1uIjogIk9zemxvcCIsCiJSb3cgZ3JvdXAiOiAiU29yIGNzb3BvcnQiLAoiQ2VsbCI6ICJDZWxsYSIsCiJNaWRkbGUiOiAiS1x1MDBmNnpcdTAwZTlwZW4iLAoiQ2VsbCB0eXBlIjogIkNlbGxhIHRcdTAwZWRwdXNhIiwKIkNvcHkgcm93IjogIlNvciBtXHUwMGUxc29sXHUwMGUxc2EiLAoiUm93IHByb3BlcnRpZXMiOiAiU29yIHR1bGFqZG9uc1x1MDBlMWdhaSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRcdTAwZTFibFx1MDBlMXphdCB0dWxhamRvbnNcdTAwZTFnb2siLAoiQm90dG9tIjogIkFsdWwiLAoiViBBbGlnbiI6ICJGXHUwMGZjZ2dcdTAxNTFsZWdlcyBpZ2F6XHUwMGVkdFx1MDBlMXMiLAoiSGVhZGVyIjogIkZlamxcdTAwZTljIiwKIlJpZ2h0IjogIkpvYmIiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJPc3psb3AgYmVzelx1MDBmYXJcdTAwZTFzYSBtXHUwMGY2Z1x1MDBlOSIsCiJDb2xzIjogIk9zemxvcG9rIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiU29yIGJlc3pcdTAwZmFyXHUwMGUxc2EgbVx1MDBmNmdcdTAwZTkiLAoiV2lkdGgiOiAiU3pcdTAwZTlsZXNzXHUwMGU5ZyIsCiJDZWxsIHByb3BlcnRpZXMiOiAiQ2VsbGEgdHVsYWpkb25zXHUwMGUxZ29rIiwKIkxlZnQiOiAiQmFsIiwKIkN1dCByb3ciOiAiU29yIGtpdlx1MDBlMWdcdTAwZTFzYSIsCiJEZWxldGUgY29sdW1uIjogIk9zemxvcCB0XHUwMGY2cmxcdTAwZTlzZSIsCiJDZW50ZXIiOiAiS1x1MDBmNnpcdTAwZTlwIiwKIk1lcmdlIGNlbGxzIjogIkNlbGxcdTAwZTFrIGVneWVzXHUwMGVkdFx1MDBlOXNlIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJTYWJsb24gYmVpbGxlc3p0XHUwMGU5c2UiLAoiVGVtcGxhdGVzIjogIlNhYmxvbm9rIiwKIkJhY2tncm91bmQgY29sb3IiOiAiSFx1MDBlMXR0XHUwMGU5ciBzelx1MDBlZG4iLAoiQ3VzdG9tLi4uIjogIkVneVx1MDBlOW5pLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJFZ3lcdTAwZTluaSBzelx1MDBlZG4iLAoiTm8gY29sb3IiOiAiTmluY3Mgc3pcdTAwZWRuIiwKIlRleHQgY29sb3IiOiAiU3pcdTAwZjZ2ZWcgc3pcdTAwZWRuZSIsCiJTaG93IGJsb2NrcyI6ICJCbG9ra29rIG11dGF0XHUwMGUxc2EiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJMXHUwMGUxdGhhdGF0bGFuIGthcmFrdGVyZWsgbXV0YXRcdTAwZTFzYSIsCiJXb3JkczogezB9IjogIlN6YXZhazogezB9IiwKIkluc2VydCI6ICJCZWlsbGVzenRcdTAwZTlzIiwKIkZpbGUiOiAiRlx1MDBlMWpsIiwKIkVkaXQiOiAiU3plcmtlc3p0XHUwMGU5cyIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgdGVyXHUwMGZjbGV0LiBOeW9taiBBTFQtRjktZXQgYSBtZW5cdTAwZmNoXHUwMGY2ei4gTnlvbWogQUxULUYxMC1ldCBheiBlc3prXHUwMGY2enRcdTAwZTFyaG96LiBOeW9taiBBTFQtMC10IGEgc1x1MDBmYWdcdTAwZjNob3oiLAoiVG9vbHMiOiAiRXN6a1x1MDBmNnpcdTAwZjZrIiwKIlZpZXciOiAiTlx1MDBlOXpldCIsCiJUYWJsZSI6ICJUXHUwMGUxYmxcdTAwZTF6YXQiLAoiRm9ybWF0IjogIkZvcm1cdTAwZTF0dW0iCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/hy.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdoeScsewoiQ3V0IjogIlx1MDUzZlx1MDU3Zlx1MDU4MFx1MDU2NVx1MDU2YyIsCiJIZWFkaW5nIDUiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDUiLAoiSGVhZGVyIDIiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNTQxXHUwNTY1XHUwNTgwIFx1MDU2Mlx1MDU4MFx1MDU2MVx1MDU3OFx1MDU4Mlx1MDU2Nlx1MDU2NVx1MDU4MFx1MDU2OCBcdTA1NzlcdTA1NmIgXHUwNTYxXHUwNTdhXHUwNTYxXHUwNTcwXHUwNTc4XHUwNTdlXHUwNTc4XHUwNTgyXHUwNTc0IFx1MDU2MVx1MDU3Nlx1MDU3NFx1MDU2Ylx1MDU3Ylx1MDU2MVx1MDU2Zlx1MDU2MVx1MDU3NiBcdTA1NjVcdTA1NmNcdTA1ODQgXHUwNTgzXHUwNTc4XHUwNTZkXHUwNTYxXHUwNTc2XHUwNTYxXHUwNTZmXHUwNTc0XHUwNTYxXHUwNTc2IFx1MDU2Mlx1MDU3OFx1MDU4Mlx1MDU4Nlx1MDU2NVx1MDU4MFx1MDU2Ylx1MDU3Nlx1MDU4OSBcdTA1M2RcdTA1NzZcdTA1NjRcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzQgXHUwNTY1XHUwNTc2XHUwNTg0IFx1MDU4NVx1MDU2M1x1MDU3Zlx1MDU3ZVx1MDU2NVx1MDU2YyBDdHJsK1hcL0NcL1YgXHUwNTdkXHUwNTdmXHUwNTY1XHUwNTcyXHUwNTc2XHUwNTY1XHUwNTgwXHUwNTZiXHUwNTgxXHUwNTg5IiwKIkhlYWRpbmcgNCI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgMiIsCiJQYXN0ZSI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMiLAoiQ2xvc2UiOiAiXHUwNTUzXHUwNTYxXHUwNTZmXHUwNTY1XHUwNTZjIiwKIkZvbnQgRmFtaWx5IjogIlx1MDU0Zlx1MDU2MVx1MDU3Y1x1MDU2MVx1MDU3Zlx1MDU2NVx1MDU3ZFx1MDU2MVx1MDU2ZiIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlx1MDUzMVx1MDU3Ylx1MDU2MVx1MDU2Zlx1MDU3OFx1MDU3Mlx1MDU3NFx1MDU3NVx1MDU2MSBcdTA1NzBcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiTmV3IGRvY3VtZW50IjogIlx1MDU0Nlx1MDU3OFx1MDU4MCBcdTA1ODNcdTA1NjFcdTA1N2RcdTA1N2ZcdTA1NjFcdTA1NjlcdTA1NzhcdTA1ODJcdTA1NzJcdTA1NjkiLAoiQmxvY2txdW90ZSI6ICJcdTA1NDRcdTA1NjVcdTA1N2JcdTA1NjJcdTA1NjVcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzQiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA1NDBcdTA1NjFcdTA1NzRcdTA1NjFcdTA1ODBcdTA1NjFcdTA1NmZcdTA1NjFcdTA1NmNcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTgxXHUwNTc4XHUwNTgyXHUwNTgxXHUwNTYxXHUwNTZmIiwKIkhlYWRpbmcgMSI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgMSIsCiJIZWFkaW5ncyI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1ODBcdTA1NjVcdTA1ODAiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDU0NFx1MDU2NVx1MDU2ZVx1MDU2MVx1MDU4MVx1MDU3Nlx1MDU2NVx1MDU2YyBcdTA1NzFcdTA1NjFcdTA1NmQgXHUwNTY1XHUwNTY2XHUwNTgwXHUwNTZiIFx1MDU3MFx1MDU2NVx1MDU3Y1x1MDU2MVx1MDU3ZVx1MDU3OFx1MDU4MFx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU2OCIsCiJGb3JtYXRzIjogIlx1MDU1Nlx1MDU3OFx1MDU4MFx1MDU3NFx1MDU2MVx1MDU3Zlx1MDU3Nlx1MDU2NVx1MDU4MCIsCiJIZWFkZXJzIjogIlx1MDU0ZVx1MDU2NVx1MDU4MFx1MDU3Nlx1MDU2MVx1MDU2M1x1MDU4MFx1MDU2NVx1MDU4MCIsCiJTZWxlY3QgYWxsIjogIlx1MDU0Nlx1MDU3N1x1MDU2NVx1MDU2YyBcdTA1NjJcdTA1NzhcdTA1NmNcdTA1NzhcdTA1ODBcdTA1NjgiLAoiSGVhZGVyIDMiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDMiLAoiQmxvY2tzIjogIlx1MDUzMlx1MDU2Y1x1MDU3OFx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MCIsCiJVbmRvIjogIlx1MDU0Nlx1MDU2MVx1MDU2ZFx1MDU3OFx1MDU4MFx1MDU2NCBcdTA1ODRcdTA1NjFcdTA1NzVcdTA1NmMiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA1MzFcdTA1ODBcdTA1N2ZcdTA1NjFcdTA1NjNcdTA1NmVcdTA1N2VcdTA1NjFcdTA1NmUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNTQ5XHUwNTcwXHUwNTYxXHUwNTc0XHUwNTYxXHUwNTgwXHUwNTYxXHUwNTZmXHUwNTYxXHUwNTZjXHUwNTdlXHUwNTYxXHUwNTZlIFx1MDU4MVx1MDU3OFx1MDU4Mlx1MDU4MVx1MDU2MVx1MDU2ZiIsCiJIZWFkZXIgMSI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NmJcdTA1NzYgXHUwNTZiXHUwNTc2XHUwNTY0XHUwNTY1XHUwNTg0XHUwNTdkIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNTQ0XHUwNTYxXHUwNTg0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU4Nlx1MDU3OFx1MDU4MFx1MDU3NFx1MDU2MVx1MDU3Zlx1MDU2MVx1MDU3ZVx1MDU3OFx1MDU4MFx1MDU3OFx1MDU4Mlx1MDU3NFx1MDU2OCIsCiJGb250IFNpemVzIjogIlx1MDU0Zlx1MDU2MVx1MDU3Y1x1MDU2YiBcdTA1NzlcdTA1NjFcdTA1ODMiLAoiU3Vic2NyaXB0IjogIlx1MDU0ZFx1MDU3Zlx1MDU3OFx1MDU4MFx1MDU2Ylx1MDU3NiBcdTA1NmJcdTA1NzZcdTA1NjRcdTA1NjVcdTA1ODRcdTA1N2QiLAoiSGVhZGVyIDYiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDYiLAoiUmVkbyI6ICJcdTA1NDBcdTA1NjFcdTA1N2JcdTA1NzhcdTA1ODBcdTA1NjQgXHUwNTg0XHUwNTYxXHUwNTc1XHUwNTZjIiwKIlBhcmFncmFwaCI6ICJcdTA1NGFcdTA1NjFcdTA1ODBcdTA1NjJcdTA1NjVcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJcdTA1MzlcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2ZcdTA1NjFcdTA1N2MiLAoiQ29kZSI6ICJcdTA1M2ZcdTA1NzhcdTA1NjQiLAoiSXRhbGljIjogIlx1MDU0N1x1MDU2NVx1MDU3Mlx1MDU2MVx1MDU3Zlx1MDU2MVx1MDU3YyIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNTNmXHUwNTY1XHUwNTc2XHUwNTdmXHUwNTgwXHUwNTc4XHUwNTc2XHUwNTYxXHUwNTZmXHUwNTYxXHUwNTc2IFx1MDU3MFx1MDU2MVx1MDU3ZVx1MDU2MVx1MDU3ZFx1MDU2MVx1MDU4MFx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3NiIsCiJIZWFkZXIgNSI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDYiLAoiSGVhZGluZyAzIjogIlx1MDU0ZVx1MDU2NVx1MDU4MFx1MDU3Nlx1MDU2MVx1MDU2M1x1MDU2Ylx1MDU4MCAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA1NTNcdTA1NzhcdTA1ODRcdTA1ODBcdTA1NjFcdTA1ODFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTcxXHUwNTYxXHUwNTZkIFx1MDU2NVx1MDU2Nlx1MDU4MFx1MDU2YiBcdTA1NzBcdTA1NjVcdTA1N2NcdTA1NjFcdTA1N2VcdTA1NzhcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NjgiLAoiSGVhZGVyIDQiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDU0Zlx1MDU2NVx1MDU4NFx1MDU3ZFx1MDU3Zlx1MDU2YiBcdTA1N2ZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzRcdTA1NjggXHUwNTZmXHUwNTYxXHUwNTdmXHUwNTYxXHUwNTgwXHUwNTdlXHUwNTY1XHUwNTZjXHUwNTc4XHUwNTgyIFx1MDU2NyBcdTA1NzBcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NjFcdTA1NmYgXHUwNTdmXHUwNTY1XHUwNTg0XHUwNTdkXHUwNTdmXHUwNTZiIFx1MDU3Y1x1MDU2NVx1MDU2YVx1MDU2Ylx1MDU3NFx1MDU3OFx1MDU3ZVx1MDU4OSBcdTA1NGFcdTA1NjFcdTA1N2ZcdTA1NzNcdTA1NjVcdTA1NzZcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTdmXHUwNTY1XHUwNTg0XHUwNTdkXHUwNTdmXHUwNTY4IFx1MDU3Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU3ZVx1MDU2NVx1MDU2Y1x1MDU3OFx1MDU4MiBcdTA1NjcgXHUwNTcwXHUwNTYxXHUwNTdkXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTZmIFx1MDU3Zlx1MDU2NVx1MDU4NFx1MDU3ZFx1MDU3Zlx1MDU2YiBcdTA1NzFcdTA1ODdcdTA1NzhcdTA1N2UgXHUwNTc0XHUwNTZiXHUwNTc2XHUwNTc5XHUwNTg3IFx1MDU2MVx1MDU3NVx1MDU3ZCBcdTA1N2NcdTA1NjVcdTA1NmFcdTA1NmJcdTA1NzRcdTA1NmIgXHUwNTYxXHUwNTc2XHUwNTdiXHUwNTYxXHUwNTdmXHUwNTc4XHUwNTgyXHUwNTc0XHUwNTY4XHUwNTg5IiwKIlVuZGVybGluZSI6ICJcdTA1MzhcdTA1NzZcdTA1NjRcdTA1NjNcdTA1NmVcdTA1N2VcdTA1NjFcdTA1NmUiLAoiQ2FuY2VsIjogIlx1MDU1M1x1MDU2MVx1MDU2Zlx1MDU2NVx1MDU2YyIsCiJKdXN0aWZ5IjogIlx1MDUzNVx1MDU4MFx1MDU2Zlx1MDU2Zlx1MDU3OFx1MDU3Mlx1MDU3NFx1MDU2MVx1MDU3Nlx1MDU2YiBcdTA1NzBcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiSW5saW5lIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2MVx1MDU3NVx1MDU2Ylx1MDU3NiIsCiJDb3B5IjogIlx1MDU0YVx1MDU2MVx1MDU3Zlx1MDU3M1x1MDU2NVx1MDU3Nlx1MDU2NVx1MDU2YyIsCiJBbGlnbiBsZWZ0IjogIlx1MDU0MVx1MDU2MVx1MDU2ZFx1MDU2MVx1MDU2Zlx1MDU3OFx1MDU3Mlx1MDU3NFx1MDU3NVx1MDU2MSBcdTA1NzBcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiVmlzdWFsIGFpZHMiOiAiXHUwNTUxXHUwNTc4XHUwNTgyXHUwNTgxXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU2Zlx1MDU3OFx1MDU3Nlx1MDU3Zlx1MDU3OFx1MDU4Mlx1MDU4MFx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJMb3dlciBHcmVlayI6ICJcdTA1NTNcdTA1NzhcdTA1ODRcdTA1ODBcdTA1NjFcdTA1N2ZcdTA1NjFcdTA1N2MgXHUwNTcwXHUwNTc4XHUwNTgyXHUwNTc2XHUwNTYxXHUwNTZmXHUwNTYxXHUwNTc2IFx1MDU3Zlx1MDU2MVx1MDU3Y1x1MDU2NVx1MDU4MCIsCiJTcXVhcmUiOiAiXHUwNTU0XHUwNTYxXHUwNTdjXHUwNTYxXHUwNTZmXHUwNTc4XHUwNTgyXHUwNTdkXHUwNTZiIiwKIkRlZmF1bHQiOiAiXHUwNTRkXHUwNTdmXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTgwXHUwNTdmIiwKIkxvd2VyIEFscGhhIjogIlx1MDU1M1x1MDU3OFx1MDU4NFx1MDU4MFx1MDU2MVx1MDU3Zlx1MDU2MVx1MDU3YyBcdTA1NmNcdTA1NjFcdTA1N2ZcdTA1NmJcdTA1NzZcdTA1NjFcdTA1NmZcdTA1NjFcdTA1NzYgXHUwNTdmXHUwNTYxXHUwNTdjXHUwNTY1XHUwNTgwIiwKIkNpcmNsZSI6ICJcdTA1NDdcdTA1ODBcdTA1N2JcdTA1NjFcdTA1NzYiLAoiRGlzYyI6ICJcdTA1M2ZcdTA1NmNcdTA1NzhcdTA1ODAiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNTQ0XHUwNTY1XHUwNTZlXHUwNTYxXHUwNTdmXHUwNTYxXHUwNTdjIFx1MDU2Y1x1MDU2MVx1MDU3Zlx1MDU2Ylx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2NVx1MDU3NiBcdTA1N2ZcdTA1NjFcdTA1N2NcdTA1NjVcdTA1ODAiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNTQ0XHUwNTY1XHUwNTZlXHUwNTYxXHUwNTdmXHUwNTYxXHUwNTdjIFx1MDU3MFx1MDU3Y1x1MDU3OFx1MDU3NFx1MDU2NVx1MDU2MVx1MDU2Zlx1MDU2MVx1MDU3NiBcdTA1NjlcdTA1N2VcdTA1NjVcdTA1ODAiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNTUzXHUwNTc4XHUwNTg0XHUwNTgwXHUwNTYxXHUwNTdmXHUwNTYxXHUwNTdjIFx1MDU3MFx1MDU3Y1x1MDU3OFx1MDU3NFx1MDU2NVx1MDU2MVx1MDU2Zlx1MDU2MVx1MDU3NiBcdTA1NjlcdTA1N2VcdTA1NjVcdTA1ODAiLAoiTmFtZSI6ICJcdTA1MzFcdTA1NzZcdTA1NzhcdTA1ODJcdTA1NzYiLAoiQW5jaG9yIjogIlx1MDUzZFx1MDU2MVx1MDU4MFx1MDU2Ylx1MDU3ZFx1MDU2ZCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDUzZlx1MDU2MVx1MDU3NiBcdTA1NzlcdTA1N2FcdTA1NjFcdTA1NzBcdTA1N2FcdTA1NjFcdTA1NzZcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTgzXHUwNTc4XHUwNTgzXHUwNTc4XHUwNTZkXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2XHUwNTc2XHUwNTY1XHUwNTgwXHUwNTg5IFx1MDUzNFx1MDU3OFx1MDU4Mlx1MDU4NCBcdTA1NmJcdTA1ODBcdTA1NzhcdTA1NWVcdTA1ODQgXHUwNTc4XHUwNTgyXHUwNTY2XHUwNTc4XHUwNTgyXHUwNTc0IFx1MDU2NVx1MDU4NCBcdTA1NjRcdTA1NzhcdTA1ODJcdTA1ODBcdTA1N2QgXHUwNTYzXHUwNTYxXHUwNTZjIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NjFcdTA1NmZcdTA1NjFcdTA1NzZcdTA1NjNcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdlXHUwNTY1XHUwNTgwXHUwNTdiXHUwNTZiXHUwNTc2IFx1MDU3Nlx1MDU2MVx1MDU2ZFx1MDU2MVx1MDU2M1x1MDU2Ylx1MDU2ZVx1MDU2OCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA1NDBcdTA1NjFcdTA1N2ZcdTA1NzhcdTA1ODJcdTA1NmYgXHUwNTdkXHUwNTZiXHUwNTc0XHUwNTdlXHUwNTc4XHUwNTZjXHUwNTc2XHUwNTY1XHUwNTgwIiwKIlNvdXJjZSBjb2RlIjogIlx1MDUzZVx1MDU4MFx1MDU2MVx1MDU2M1x1MDU4MFx1MDU2MVx1MDU3NVx1MDU2Ylx1MDU3NiBcdTA1NmZcdTA1NzhcdTA1NjQiLAoiQ29sb3IiOiAiXHUwNTMzXHUwNTc4XHUwNTgyXHUwNTc1XHUwNTc2IiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNTMxXHUwNTdiXHUwNTZiXHUwNTgxIFx1MDU3MVx1MDU2MVx1MDU2ZCIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MDU0MVx1MDU2MVx1MDU2ZFx1MDU2Ylx1MDU4MSBcdTA1NjFcdTA1N2IiLAoiRW1vdGljb25zIjogIlx1MDU0ZFx1MDU3NFx1MDU2MVx1MDU3NVx1MDU2Y1x1MDU2Ylx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MCIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNTUzXHUwNTYxXHUwNTdkXHUwNTdmXHUwNTYxXHUwNTY5XHUwNTcyXHUwNTY5XHUwNTZiIFx1MDU3MFx1MDU2MVx1MDU3Zlx1MDU2Zlx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJUaXRsZSI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAiLAoiS2V5d29yZHMiOiAiXHUwNTQ4XHUwNTgwXHUwNTc4XHUwNTc2XHUwNTc4XHUwNTcyXHUwNTYxXHUwNTZmXHUwNTYxXHUwNTc2IFx1MDU2Mlx1MDU2MVx1MDU3Y1x1MDU2NVx1MDU4MCIsCiJFbmNvZGluZyI6ICJcdTA1M2ZcdTA1NzhcdTA1NjRcdTA1NjFcdTA1N2VcdTA1NzhcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzQiLAoiRGVzY3JpcHRpb24iOiAiXHUwNTQ2XHUwNTZmXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIkF1dGhvciI6ICJcdTA1NDBcdTA1NjVcdTA1NzJcdTA1NmJcdTA1NzZcdTA1NjFcdTA1NmYiLAoiRnVsbHNjcmVlbiI6ICJcdTA1MzFcdTA1NzRcdTA1NjJcdTA1NzhcdTA1NzJcdTA1N2IgXHUwNTY3XHUwNTZmXHUwNTgwXHUwNTYxXHUwNTc2XHUwNTc4XHUwNTdlIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTA1NDBcdTA1NzhcdTA1ODBcdTA1NmJcdTA1NjZcdTA1NzhcdTA1NzZcdTA1NjFcdTA1NmZcdTA1NjFcdTA1NzYgXHUwNTYzXHUwNTZiXHUwNTZlIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNTQwXHUwNTc4XHUwNTgwXHUwNTZiXHUwNTY2XHUwNTc4XHUwNTc2XHUwNTYxXHUwNTZmXHUwNTYxXHUwNTc2IFx1MDU3Zlx1MDU2MVx1MDU4MFx1MDU2MVx1MDU2ZVx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3NiIsCiJCIjogIkIiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2Y1wvXHUwNTZkXHUwNTc0XHUwNTYyXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3Nlx1MDU2Zlx1MDU2MVx1MDU4MCIsCiJHZW5lcmFsIjogIlx1MDUzM1x1MDU2Y1x1MDU2ZFx1MDU2MVx1MDU3ZVx1MDU3OFx1MDU4MCIsCiJBZHZhbmNlZCI6ICJcdTA1M2NcdTA1ODBcdTA1NjFcdTA1ODFcdTA1NzhcdTA1ODJcdTA1ODFcdTA1NmJcdTA1NzkiLAoiRyI6ICJHIiwKIlIiOiAiUiIsCiJTb3VyY2UiOiAiXHUwNTQ2XHUwNTZmXHUwNTYxXHUwNTgwXHUwNTZiIFx1MDU3MFx1MDU2MVx1MDU3ZFx1MDU4MVx1MDU2NSIsCiJCb3JkZXIiOiAiXHUwNTM1XHUwNTY2XHUwNTgwXHUwNTYxXHUwNTYzXHUwNTZiXHUwNTZlIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA1NGFcdTA1NjFcdTA1NzBcdTA1N2FcdTA1NjFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTc0XHUwNTYxXHUwNTc3XHUwNTdmXHUwNTYxXHUwNTYyXHUwNTYxXHUwNTdlXHUwNTc4XHUwNTgwXHUwNTc4XHUwNTgyXHUwNTc0XHUwNTY4IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDU0OFx1MDU4Mlx1MDU3Mlx1MDU3Mlx1MDU2MVx1MDU3MFx1MDU2MVx1MDU3NVx1MDU2MVx1MDU4MSBcdTA1N2ZcdTA1NjFcdTA1ODBcdTA1NjFcdTA1NmVcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNTQ2XHUwNTZmXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIlN0eWxlIjogIlx1MDU0OFx1MDU3MyIsCiJEaW1lbnNpb25zIjogIlx1MDU0OVx1MDU2MVx1MDU4M1x1MDU2NVx1MDU4MCIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3Nlx1MDU2Zlx1MDU2MVx1MDU4MCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMgXHUwNTYxXHUwNTc0XHUwNTdkXHUwNTYxXHUwNTY5XHUwNTZiXHUwNTdlXC9cdTA1NmFcdTA1NjFcdTA1NzRcdTA1NjFcdTA1NzZcdTA1NjFcdTA1NmYiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNTRiXHUwNTc2XHUwNTdiXHUwNTY1XHUwNTZjIFx1MDU3MFx1MDU3Mlx1MDU3OFx1MDU4Mlx1MDU3NFx1MDU2OCIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA1NDBcdTA1NzJcdTA1NzRcdTA1NjFcdTA1NzYgXHUwNTdmXHUwNTY1XHUwNTg0XHUwNTdkXHUwNTdmIiwKIkFuY2hvcnMiOiAiXHUwNTNkXHUwNTYxXHUwNTgwXHUwNTZiXHUwNTdkXHUwNTZkXHUwNTc2XHUwNTY1XHUwNTgwIiwKIkluc2VydCBsaW5rIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1NzBcdTA1NzJcdTA1NzhcdTA1ODJcdTA1NzQiLAoiTmV3IHdpbmRvdyI6ICJcdTA1NDZcdTA1NzhcdTA1ODAgXHUwNTdhXHUwNTYxXHUwNTdmXHUwNTc4XHUwNTgyXHUwNTcwXHUwNTYxXHUwNTc2IiwKIk5vbmUiOiAiXHUwNTQ4XHUwNTc5XHUwNTZiXHUwNTc2XHUwNTc5IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA1NDRcdTA1NzhcdTA1ODJcdTA1N2ZcdTA1ODRcdTA1NjFcdTA1NjNcdTA1ODBcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTcwXHUwNTcyXHUwNTc4XHUwNTgyXHUwNTc0XHUwNTY4IFx1MDU2Zlx1MDU2MVx1MDU4MFx1MDU2ZVx1MDU2NVx1MDU3ZCBcdTA1NjFcdTA1ODBcdTA1N2ZcdTA1NjFcdTA1ODRcdTA1NmJcdTA1NzYgXHUwNTcwXHUwNTcyXHUwNTc4XHUwNTgyXHUwNTc0IFx1MDU2NzogXHUwNTM0XHUwNTc4XHUwNTgyXHUwNTg0IFx1MDU2Zlx1MDU4MVx1MDU2MVx1MDU3Nlx1MDU2Zlx1MDU2MVx1MDU3Nlx1MDU2MVx1MDU4NCBcdTA1NjFcdTA1N2VcdTA1NjVcdTA1NmNcdTA1NjFcdTA1ODFcdTA1NzZcdTA1NjVcdTA1NmMgaHR0cDpcL1wvIFx1MDU3MFx1MDU3Mlx1MDU3NFx1MDU2MVx1MDU3NiBcdTA1N2RcdTA1NmZcdTA1NjZcdTA1NjJcdTA1NzhcdTA1ODJcdTA1NzQiLAoiVGFyZ2V0IjogIlx1MDUzOVx1MDU2Ylx1MDU4MFx1MDU2MVx1MDU2ZCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDU0NFx1MDU3OFx1MDU4Mlx1MDU3Zlx1MDU4NFx1MDU2MVx1MDU2M1x1MDU4MFx1MDU3ZVx1MDU2MVx1MDU2ZSBcdTA1NzBcdTA1NzJcdTA1NzhcdTA1ODJcdTA1NzRcdTA1NjggXHUwNTZmXHUwNTYxXHUwNTgwXHUwNTZlXHUwNTY1XHUwNTdkIFx1MDUzN1x1MDU2Yy4gXHUwNTgzXHUwNTc4XHUwNTdkXHUwNTdmXHUwNTZiIFx1MDU3MFx1MDU2MVx1MDU3ZFx1MDU4MVx1MDU2NSBcdTA1Njc6IFx1MDUzNFx1MDU3OFx1MDU4Mlx1MDU4NCBcdTA1NmZcdTA1ODFcdTA1NjFcdTA1NzZcdTA1NmZcdTA1NjFcdTA1NzZcdTA1NjFcdTA1ODQgXHUwNTYxXHUwNTdlXHUwNTY1XHUwNTZjXHUwNTYxXHUwNTgxXHUwNTc2XHUwNTY1XHUwNTZjIG1haWx0bzogXHUwNTcwXHUwNTcyXHUwNTc0XHUwNTYxXHUwNTc2IFx1MDU3ZFx1MDU2Zlx1MDU2Nlx1MDU2Mlx1MDU3OFx1MDU4Mlx1MDU3NCIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmNcL1x1MDU2ZFx1MDU3NFx1MDU2Mlx1MDU2MVx1MDU2M1x1MDU4MFx1MDU2NVx1MDU2YyBcdTA1NzBcdTA1NzJcdTA1NzhcdTA1ODJcdTA1NzQiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2Y1wvXHUwNTZkXHUwNTc0XHUwNTYyXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3ZVx1MDU2Ylx1MDU2NFx1MDU2NVx1MDU3OCIsCiJQb3N0ZXIiOiAiXHUwNTRhXHUwNTYxXHUwNTdkXHUwNTdmXHUwNTYxXHUwNTdjIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA1MzFcdTA1NzVcdTA1NmNcdTA1NjhcdTA1NzZcdTA1N2ZcdTA1ODBcdTA1NjFcdTA1NzZcdTA1ODRcdTA1NjFcdTA1NzVcdTA1NmJcdTA1NzYgXHUwNTZmXHUwNTc4XHUwNTY0IiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTg0IFx1MDU0MVx1MDU2NVx1MDU4MCBcdTA1NmZcdTA1NzhcdTA1NjRcdTA1NjggXHUwNTYxXHUwNTc1XHUwNTdkXHUwNTdmXHUwNTY1XHUwNTcyXHUwNTVkIiwKIkluc2VydCB2aWRlbyI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMgXHUwNTdlXHUwNTZiXHUwNTY0XHUwNTY1XHUwNTc4IiwKIkVtYmVkIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU3ZVx1MDU3OFx1MDU3MiBcdTA1NmZcdTA1NzhcdTA1NjQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNTMxXHUwNTdjXHUwNTYxXHUwNTc2XHUwNTgxIFx1MDU3Nlx1MDU3OFx1MDU4MCBcdTA1N2ZcdTA1NzhcdTA1NzJcdTA1NmIgXHUwNTYyXHUwNTYxXHUwNTgxXHUwNTYxXHUwNTdmIiwKIlBhZ2UgYnJlYWsiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU2N1x1MDU3Ylx1MDU2YiBcdTA1NjFcdTA1NzZcdTA1N2JcdTA1NjFcdTA1N2ZcdTA1NmJcdTA1NzkiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMgXHUwNTc4XHUwNTgwXHUwNTdhXHUwNTY1XHUwNTdkIFx1MDU3Zlx1MDU2NVx1MDU4NFx1MDU3ZFx1MDU3ZiIsCiJQcmV2aWV3IjogIlx1MDU0Nlx1MDU2MVx1MDU2ZFx1MDU3Nlx1MDU2MVx1MDU2Zlx1MDU2MVx1MDU3NiBcdTA1NjRcdTA1NmJcdTA1N2ZcdTA1NzhcdTA1ODJcdTA1NzQiLAoiUHJpbnQiOiAiXHUwNTRmXHUwNTdhXHUwNTY1XHUwNTZjIiwKIlNhdmUiOiAiXHUwNTRhXHUwNTYxXHUwNTcwXHUwNTdhXHUwNTYxXHUwNTc2XHUwNTY1XHUwNTZjIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA1NDZcdTA1NzdcdTA1N2VcdTA1NjFcdTA1NmUgXHUwNTdmXHUwNTY1XHUwNTg0XHUwNTdkXHUwNTdmXHUwNTY4IFx1MDU3OVx1MDU2YiBcdTA1NjNcdTA1N2ZcdTA1NzZcdTA1N2VcdTA1NjVcdTA1NmMiLAoiUmVwbGFjZSI6ICJcdTA1NTNcdTA1NzhcdTA1NmRcdTA1NjFcdTA1ODBcdTA1NmJcdTA1NzZcdTA1NjVcdTA1NmMiLAoiTmV4dCI6ICJcdTA1NDBcdTA1NjFcdTA1N2JcdTA1NzhcdTA1ODBcdTA1NjQiLAoiV2hvbGUgd29yZHMiOiAiXHUwNTMyXHUwNTYxXHUwNTdjXHUwNTY1XHUwNTgwXHUwNTY4IFx1MDU2MVx1MDU3NFx1MDU2Mlx1MDU3OFx1MDU3Mlx1MDU3Ylx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU2MVx1MDU3NFx1MDU2MiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDU1M1x1MDU3Nlx1MDU3Zlx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1ODcgXHUwNTgzXHUwNTc4XHUwNTZkXHUwNTYxXHUwNTgwXHUwNTZiXHUwNTc2XHUwNTY1XHUwNTZjIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA1NTNcdTA1NzhcdTA1NmRcdTA1NjFcdTA1ODBcdTA1NmJcdTA1NzZcdTA1NjVcdTA1NmMiLAoiRmluZCI6ICJcdTA1NTNcdTA1NzZcdTA1N2ZcdTA1ODBcdTA1NjVcdTA1NmMiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNTUzXHUwNTc4XHUwNTZkXHUwNTYxXHUwNTgwXHUwNTZiXHUwNTc2XHUwNTY1XHUwNTZjIFx1MDU2Mlx1MDU3OFx1MDU2Y1x1MDU3OFx1MDU4MFx1MDU2OCIsCiJNYXRjaCBjYXNlIjogIlx1MDU0MFx1MDU2MVx1MDU3N1x1MDU3ZVx1MDU2YiBcdTA1NjFcdTA1N2NcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdjXHUwNTY1XHUwNTYzXHUwNTZiXHUwNTdkXHUwNTdmXHUwNTc4XHUwNTgwXHUwNTY4IiwKIlByZXYiOiAiXHUwNTQ2XHUwNTYxXHUwNTZkXHUwNTc4XHUwNTgwXHUwNTY0IiwKIlNwZWxsY2hlY2siOiAiXHUwNTQ4XHUwNTgyXHUwNTcyXHUwNTcyXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIkZpbmlzaCI6ICJcdTA1MzFcdTA1N2VcdTA1NjFcdTA1ODBcdTA1N2ZcdTA1NjVcdTA1NmMiLAoiSWdub3JlIGFsbCI6ICJcdTA1MzFcdTA1NzZcdTA1N2ZcdTA1NjVcdTA1N2RcdTA1NjVcdTA1NmMgXHUwNTYyXHUwNTc4XHUwNTZjXHUwNTc4XHUwNTgwXHUwNTY4IiwKIklnbm9yZSI6ICJcdTA1MzFcdTA1NzZcdTA1N2ZcdTA1NjVcdTA1N2RcdTA1NjVcdTA1NmMiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNTMxXHUwNTdlXHUwNTY1XHUwNTZjXHUwNTYxXHUwNTgxXHUwNTc2XHUwNTY1XHUwNTZjIFx1MDU2Mlx1MDU2MVx1MDU3Y1x1MDU2MVx1MDU4MFx1MDU2MVx1MDU3Nlx1MDU3OFx1MDU4Mlx1MDU3NCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA1MzFcdTA1N2VcdTA1NjVcdTA1NmNcdTA1NjFcdTA1ODFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdmXHUwNTc4XHUwNTcyIFx1MDU3ZVx1MDU2NVx1MDU4MFx1MDU4N1x1MDU3OFx1MDU4Mlx1MDU3NCIsCiJSb3dzIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2NVx1MDU4MCIsCiJIZWlnaHQiOiAiXHUwNTMyXHUwNTYxXHUwNTgwXHUwNTcxXHUwNTgwXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA1NGZcdTA1NjVcdTA1NzJcdTA1NjFcdTA1NjRcdTA1ODBcdTA1NjVcdTA1NmMgXHUwNTdmXHUwNTc4XHUwNTcyXHUwNTY4IFx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU4NFx1MDU4N1x1MDU3OFx1MDU4Mlx1MDU3NCIsCiJBbGlnbm1lbnQiOiAiXHUwNTQwXHUwNTYxXHUwNTdlXHUwNTYxXHUwNTdkXHUwNTYxXHUwNTgwXHUwNTY1XHUwNTgxXHUwNTc4XHUwNTgyXHUwNTc0IiwKIkJvcmRlciBjb2xvciI6ICJcdTA1MzVcdTA1NjZcdTA1ODBcdTA1NjFcdTA1NjNcdTA1NmJcdTA1NmUiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDU0ZFx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU3NVx1MDU2MVx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2YiBcdTA1NmRcdTA1NzhcdTA1ODJcdTA1NzRcdTA1NjIiLAoiUm93IjogIlx1MDU0Zlx1MDU3OFx1MDU3MiIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA1MzFcdTA1N2VcdTA1NjVcdTA1NmNcdTA1NjFcdTA1ODFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTc2XHUwNTc4XHUwNTgwIFx1MDU3ZFx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3NiBcdTA1NzFcdTA1NjFcdTA1NmRcdTA1NmJcdTA1ODEiLAoiU3BsaXQgY2VsbCI6ICJcdTA1MzJcdTA1NjFcdTA1NmFcdTA1NjFcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdlXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTZmXHUwNTY4IiwKIkNlbGwgcGFkZGluZyI6ICJcdTA1NDZcdTA1NjVcdTA1ODBcdTA1ODRcdTA1NmJcdTA1NzYgXHUwNTdmXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTZlXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIkNlbGwgc3BhY2luZyI6ICJcdTA1MzFcdTA1ODBcdTA1N2ZcdTA1NjFcdTA1ODRcdTA1NmJcdTA1NzYgXHUwNTdmXHUwNTYxXHUwNTgwXHUwNTYxXHUwNTZlXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IiwKIlJvdyB0eXBlIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2YiBcdTA1N2ZcdTA1NmJcdTA1N2EiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1NjFcdTA1NzJcdTA1NzVcdTA1NzhcdTA1ODJcdTA1N2RcdTA1NjFcdTA1NmYiLAoiQm9keSI6ICJcdTA1NGFcdTA1NjFcdTA1ODBcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NjFcdTA1NmZcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzYiLAoiQ2FwdGlvbiI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1NmJcdTA1ODAiLAoiRm9vdGVyIjogIlx1MDUzMVx1MDU3Mlx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3ZFx1MDU2MVx1MDU2Zlx1MDU2YiBcdTA1N2RcdTA1N2ZcdTA1NzhcdTA1ODBcdTA1NmJcdTA1NzYgXHUwNTcwXHUwNTYxXHUwNTdmXHUwNTdlXHUwNTYxXHUwNTZlIiwKIkRlbGV0ZSByb3ciOiAiXHUwNTRiXHUwNTc2XHUwNTdiXHUwNTY1XHUwNTZjIFx1MDU3Zlx1MDU3OFx1MDU3Mlx1MDU2OCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDU0Zlx1MDU2NVx1MDU3Mlx1MDU2MVx1MDU2NFx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1N2ZcdTA1NzhcdTA1NzJcdTA1NjggXHUwNTdlXHUwNTY1XHUwNTgwXHUwNTg3XHUwNTc4XHUwNTgyXHUwNTc0IiwKIlNjb3BlIjogIlNjb3BlIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA1NGJcdTA1NzZcdTA1N2JcdTA1NjVcdTA1NmMgXHUwNTYxXHUwNTcyXHUwNTc1XHUwNTc4XHUwNTgyXHUwNTdkXHUwNTYxXHUwNTZmXHUwNTY4IiwKIkggQWxpZ24iOiAiXHUwNTQwLiBcdTA1NDBcdTA1NjFcdTA1N2VcdTA1NjFcdTA1N2RcdTA1NjFcdTA1ODBcdTA1NjVcdTA1ODFcdTA1NzhcdTA1ODJcdTA1NzQiLAoiVG9wIjogIlx1MDU0ZVx1MDU2NVx1MDU4MFx1MDU4NyIsCiJIZWFkZXIgY2VsbCI6ICJcdTA1NGVcdTA1NjVcdTA1ODBcdTA1NzZcdTA1NjFcdTA1NjNcdTA1ODBcdTA1NmIgXHUwNTdlXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTZmXHUwNTc2XHUwNTY1XHUwNTgwIiwKIkNvbHVtbiI6ICJcdTA1NGRcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NzVcdTA1NjFcdTA1NmYiLAoiUm93IGdyb3VwIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2NVx1MDU4MFx1MDU2YiBcdTA1NmRcdTA1NzhcdTA1ODJcdTA1NzRcdTA1NjIiLAoiQ2VsbCI6ICJcdTA1NGVcdTA1NjFcdTA1NzZcdTA1NjRcdTA1NjFcdTA1NmYiLAoiTWlkZGxlIjogIlx1MDU0NFx1MDU2NVx1MDU3Ylx1MDU3Zlx1MDU2NVx1MDU3MiIsCiJDZWxsIHR5cGUiOiAiXHUwNTRlXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTZmXHUwNTZiIFx1MDU3Zlx1MDU2Ylx1MDU3YSIsCiJDb3B5IHJvdyI6ICJcdTA1NGFcdTA1NjFcdTA1N2ZcdTA1NzNcdTA1NjVcdTA1NzZcdTA1NjVcdTA1NmMgXHUwNTdmXHUwNTc4XHUwNTcyXHUwNTY4IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDU0Zlx1MDU3OFx1MDU3Mlx1MDU2YiBcdTA1NzBcdTA1NjFcdTA1N2ZcdTA1NmZcdTA1NzhcdTA1ODJcdTA1NjlcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NzZcdTA1NzZcdTA1NjVcdTA1ODBcdTA1NjgiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA1MzFcdTA1NzJcdTA1NzVcdTA1NzhcdTA1ODJcdTA1N2RcdTA1NjFcdTA1NmZcdTA1NmIgXHUwNTcwXHUwNTYxXHUwNTdmXHUwNTZmXHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2XHUwNTc2XHUwNTY1XHUwNTgwXHUwNTY4IiwKIkJvdHRvbSI6ICJcdTA1NDZcdTA1NjVcdTA1ODBcdTA1ODRcdTA1ODciLAoiViBBbGlnbiI6ICJcdTA1NDhcdTA1ODIuIFx1MDU3MFx1MDU2MVx1MDU3ZVx1MDU2MVx1MDU3ZFx1MDU2MVx1MDU4MFx1MDU2NVx1MDU4MVx1MDU3OFx1MDU4Mlx1MDU3NCIsCiJIZWFkZXIiOiAiXHUwNTRlXHUwNTY1XHUwNTgwXHUwNTc2XHUwNTYxXHUwNTYzXHUwNTZiXHUwNTgwIiwKIlJpZ2h0IjogIlx1MDUzMVx1MDU3YiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDUzMVx1MDU3ZVx1MDU2NVx1MDU2Y1x1MDU2MVx1MDU4MVx1MDU3Nlx1MDU2NVx1MDU2YyBcdTA1NzZcdTA1NzhcdTA1ODAgXHUwNTdkXHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2IFx1MDU2MVx1MDU3Ylx1MDU2Ylx1MDU4MSIsCiJDb2xzIjogIlx1MDU0ZFx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU3NVx1MDU2MVx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDUzMVx1MDU3ZVx1MDU2NVx1MDU2Y1x1MDU2MVx1MDU4MVx1MDU3Nlx1MDU2NVx1MDU2YyBcdTA1N2ZcdTA1NzhcdTA1NzIgXHUwNTc2XHUwNTY1XHUwNTgwXHUwNTg0XHUwNTg3XHUwNTc4XHUwNTgyXHUwNTc0IiwKIldpZHRoIjogIlx1MDUzY1x1MDU2MVx1MDU3NVx1MDU3Nlx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3NiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwNTRlXHUwNTYxXHUwNTc2XHUwNTY0XHUwNTYxXHUwNTZmXHUwNTZiIFx1MDU3MFx1MDU2MVx1MDU3Zlx1MDU2Zlx1MDU3OFx1MDU4Mlx1MDU2OVx1MDU3NVx1MDU3OFx1MDU4Mlx1MDU3Nlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJMZWZ0IjogIlx1MDU0MVx1MDU2MVx1MDU2ZCIsCiJDdXQgcm93IjogIlx1MDUzZlx1MDU3Zlx1MDU4MFx1MDU2NVx1MDU2YyBcdTA1N2ZcdTA1NzhcdTA1NzJcdTA1NjgiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTA1NDFcdTA1NzZcdTA1N2JcdTA1NjVcdTA1NmMgXHUwNTdkXHUwNTc1XHUwNTc4XHUwNTgyXHUwNTc2XHUwNTY4IiwKIkNlbnRlciI6ICJcdTA1M2ZcdTA1NjVcdTA1NzZcdTA1N2ZcdTA1ODBcdTA1NzhcdTA1NzYiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwNTQ0XHUwNTZiXHUwNTYxXHUwNTdlXHUwNTc4XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3ZVx1MDU2MVx1MDU3Nlx1MDU2NFx1MDU2MVx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU3MVx1MDU4N1x1MDU2MVx1MDU3Nlx1MDU3NFx1MDU3OFx1MDU4Mlx1MDU3NyIsCiJUZW1wbGF0ZXMiOiAiXHUwNTQxXHUwNTg3XHUwNTYxXHUwNTc2XHUwNTc0XHUwNTc4XHUwNTgyXHUwNTc3XHUwNTc2XHUwNTY1XHUwNTgwIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNTU2XHUwNTc4XHUwNTc2XHUwNTZiIFx1MDU2M1x1MDU3OFx1MDU4Mlx1MDU3NVx1MDU3NiIsCiJDdXN0b20uLi4iOiAiXHUwNTMxXHUwNTc1XHUwNTZjLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTA1MzFcdTA1NzVcdTA1NmMgXHUwNTYzXHUwNTc4XHUwNTgyXHUwNTc1XHUwNTc2IiwKIk5vIGNvbG9yIjogIlx1MDUzMVx1MDU3Nlx1MDU2M1x1MDU3OFx1MDU4Mlx1MDU3NVx1MDU3NiIsCiJUZXh0IGNvbG9yIjogIlx1MDU0Zlx1MDU2MVx1MDU3Y1x1MDU2YiBcdTA1NjNcdTA1NzhcdTA1ODJcdTA1NzVcdTA1NzYiLAoiU2hvdyBibG9ja3MiOiAiXHUwNTUxXHUwNTc4XHUwNTgyXHUwNTgxXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIFx1MDU2Mlx1MDU2Y1x1MDU3OFx1MDU2Zlx1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDU1MVx1MDU3OFx1MDU4Mlx1MDU3NVx1MDU4MSBcdTA1N2ZcdTA1NjFcdTA1NmMgXHUwNTYxXHUwNTc2XHUwNTdmXHUwNTY1XHUwNTdkXHUwNTYxXHUwNTc2XHUwNTY1XHUwNTZjXHUwNTZiIFx1MDU3ZFx1MDU2Ylx1MDU3NFx1MDU3ZVx1MDU3OFx1MDU2Y1x1MDU3Nlx1MDU2NVx1MDU4MFx1MDU2OCIsCiJXb3JkczogezB9IjogIlx1MDUzMlx1MDU2MVx1MDU3Y1x1MDU2NVx1MDU4MFx1MDU2YiBcdTA1ODRcdTA1NjFcdTA1NzZcdTA1NjFcdTA1NmY6IHswfSIsCiJJbnNlcnQiOiAiXHUwNTRmXHUwNTY1XHUwNTcyXHUwNTYxXHUwNTY0XHUwNTgwXHUwNTY1XHUwNTZjIiwKIkZpbGUiOiAiXHUwNTU2XHUwNTYxXHUwNTc1XHUwNTZjIiwKIkVkaXQiOiAiXHUwNTNkXHUwNTc0XHUwNTYyXHUwNTYxXHUwNTYzXHUwNTgwXHUwNTY1XHUwNTZjIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDU0Zlx1MDU2NVx1MDU4NFx1MDU3ZFx1MDU3Zlx1MDU2MVx1MDU3NVx1MDU2Ylx1MDU3NiBcdTA1NjRcdTA1NjFcdTA1NzdcdTA1N2ZcdTA1ODkgXHUwNTRkXHUwNTY1XHUwNTcyXHUwNTc0XHUwNTY1XHUwNTg0IEFMVC1GOSBcdTA1NzRcdTA1NjVcdTA1NzZcdTA1NzVcdTA1NzhcdTA1ODJcdTA1NmIgXHUwNTcwXHUwNTYxXHUwNTc0XHUwNTYxXHUwNTgwXHUwNTg5IEFMVC1GMTAgXHUwNTYzXHUwNTc4XHUwNTgwXHUwNTZlXHUwNTZiXHUwNTg0XHUwNTc2XHUwNTY1XHUwNTgwXHUwNTZiIFx1MDU3ZVx1MDU2MVx1MDU3MFx1MDU2MVx1MDU3Nlx1MDU2MVx1MDU2Zlx1MDU4OSBcdTA1NGRcdTA1NjVcdTA1NzJcdTA1NzRcdTA1NjVcdTA1ODQgQUxULTAgXHUwNTg1XHUwNTYzXHUwNTc2XHUwNTc4XHUwNTgyXHUwNTY5XHUwNTc1XHUwNTYxXHUwNTc2IFx1MDU3MFx1MDU2MVx1MDU3NFx1MDU2MVx1MDU4MCIsCiJUb29scyI6ICJcdTA1MzNcdTA1NzhcdTA1ODBcdTA1NmVcdTA1NmJcdTA1ODRcdTA1NzZcdTA1NjVcdTA1ODAiLAoiVmlldyI6ICJcdTA1NGZcdTA1NjVcdTA1N2RcdTA1ODQiLAoiVGFibGUiOiAiXHUwNTMxXHUwNTcyXHUwNTc1XHUwNTc4XHUwNTgyXHUwNTdkXHUwNTYxXHUwNTZmIiwKIkZvcm1hdCI6ICJcdTA1NTZcdTA1NzhcdTA1ODBcdTA1NzRcdTA1NjFcdTA1N2YiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/id.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdpZCcsewoiQ3V0IjogIlBlbmdnYWwiLAoiSGVhZGluZyA1IjogIkp1ZHVsIDUiLAoiSGVhZGVyIDIiOiAiSnVkdWwgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJCcm93c2VyIGFuZGEgdGlkYWsgbWVuZHVrdW5nIGFrc2VzIGxhbmdzdW5nIGtlIGNsaXBib2FyZC4gU2lsYWhrYW4gZ3VuYWthbiBDdHJsK1hcL0NcL1YgZGFyaSBrZXlib2FyZC4iLAoiSGVhZGluZyA0IjogIkp1ZHVsIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiSnVkdWwgMiIsCiJQYXN0ZSI6ICJUZW1wZWwiLAoiQ2xvc2UiOiAiVHV0dXAiLAoiRm9udCBGYW1pbHkiOiAiSmVuaXMgSHVydWYiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJSYXRhIGthbmFuIiwKIk5ldyBkb2N1bWVudCI6ICJEb2t1bWVuIGJhcnUiLAoiQmxvY2txdW90ZSI6ICJLdXRpcGFuIiwKIk51bWJlcmVkIGxpc3QiOiAiRGFmdGFyIGJlcm5vbW9yIiwKIkhlYWRpbmcgMSI6ICJKdWR1bCAxIiwKIkhlYWRpbmdzIjogIkp1ZHVsIiwKIkluY3JlYXNlIGluZGVudCI6ICJUYW1iYWggaW5kZW4iLAoiRm9ybWF0cyI6ICJGb3JtYXQiLAoiSGVhZGVycyI6ICJKdWR1bCIsCiJTZWxlY3QgYWxsIjogIlBpbGloIHNlbXVhIiwKIkhlYWRlciAzIjogIkp1ZHVsIDMiLAoiQmxvY2tzIjogIkJsb2siLAoiVW5kbyI6ICJCYXRhbCIsCiJTdHJpa2V0aHJvdWdoIjogIkNvcmV0IiwKIkJ1bGxldCBsaXN0IjogIkRhZnRhciBiZXJzaW1ib2wiLAoiSGVhZGVyIDEiOiAiSnVkdWwgMSIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlcnNrcmlwIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiSGFwdXMgZm9ybWF0IiwKIkZvbnQgU2l6ZXMiOiAiVWt1cmFuIEh1cnVmIiwKIlN1YnNjcmlwdCI6ICJTdWJza3JpcCIsCiJIZWFkZXIgNiI6ICJKdWR1bCA2IiwKIlJlZG8iOiAiVWxhbmciLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmIiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiVGViYWwiLAoiQ29kZSI6ICJLb2RlIiwKIkl0YWxpYyI6ICJNaXJpbmciLAoiQWxpZ24gY2VudGVyIjogIlJhdGEgdGVuZ2FoIiwKIkhlYWRlciA1IjogIkp1ZHVsIDUiLAoiSGVhZGluZyA2IjogIkp1ZHVsIDYiLAoiSGVhZGluZyAzIjogIkp1ZHVsIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlR1cnVua2FuIGluZGVuIiwKIkhlYWRlciA0IjogIkp1ZHVsIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlBlbmVtcGVsYW4gc2VrYXJhbmcgZGFsYW0gbW9kdXMgdGVrcyBiaWFzYS4gS29udGVuIHNla2FyYW5nIGFrYW4gZGlzaXNpcGthbiBzZWJhZ2FpIHRla3MgYmlhc2Egc2FtcGFpIEFuZGEgbWVtYWRhbWthbiBwaWxpaGFuIGluaS4iLAoiVW5kZXJsaW5lIjogIkdhcmlzIGJhd2FoIiwKIkNhbmNlbCI6ICJCYXRhbCIsCiJKdXN0aWZ5IjogIlBlbnVoIiwKIklubGluZSI6ICJCYXJpcyIsCiJDb3B5IjogIlNhbGluIiwKIkFsaWduIGxlZnQiOiAiUmF0YSBraXJpIiwKIlZpc3VhbCBhaWRzIjogIkFsYXQgYmFudHUgdmlzdWFsIiwKIkxvd2VyIEdyZWVrIjogIkh1cnVmIEtlY2lsIFl1bmFuaSIsCiJTcXVhcmUiOiAiS290YWsiLAoiRGVmYXVsdCI6ICJCYXdhYW4iLAoiTG93ZXIgQWxwaGEiOiAiSHVydWYgS2VjaWwiLAoiQ2lyY2xlIjogIkxpbmdrYXJhbiIsCiJEaXNjIjogIkNha3JhbSIsCiJVcHBlciBBbHBoYSI6ICJIdXJ1ZiBCZXNhciIsCiJVcHBlciBSb21hbiI6ICJIdXJ1ZiBCZXNhciBSb21hd2kiLAoiTG93ZXIgUm9tYW4iOiAiSHVydWYgS2VjaWwgUm9tYXdpIiwKIk5hbWUiOiAiTmFtYSIsCiJBbmNob3IiOiAiSmFuZ2thciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkFuZGEgbWVtaWxpa2kgcGVydWJhaGFuIHlhbmcgYmVsdW0gZGlzaW1wYW4sIHlha2luIGluZ2luIGJlcmFsaWggPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiTXVhdCBrZW1iYWxpIGRyYWZ0IHNlYmVsdW1ueWEiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3Blc2lhbCBrYXJha3RlciIsCiJTb3VyY2UgY29kZSI6ICJLb2RlIHN1bWJlciIsCiJCIjogIkIiLAoiUiI6ICJNIiwKIkciOiAiSCIsCiJDb2xvciI6ICJXYXJuYSIsCiJSaWdodCB0byBsZWZ0IjogIkthbmFuIGtlIGtpcmkiLAoiTGVmdCB0byByaWdodCI6ICJLaXJpIGtlIGthbmFuIiwKIkVtb3RpY29ucyI6ICJFbW90aWtvbiIsCiJSb2JvdHMiOiAiUm9ib3QiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcm9wZXJ0aSBkb2t1bXduIiwKIlRpdGxlIjogIkp1ZHVsIiwKIktleXdvcmRzIjogIkthdGEga3VuY2kiLAoiRW5jb2RpbmciOiAiRW5rb2RpbmciLAoiRGVzY3JpcHRpb24iOiAiRGVza3JpcHNpIiwKIkF1dGhvciI6ICJQZW51bGlzIiwKIkZ1bGxzY3JlZW4iOiAiTGF5YXIgcGVudWgiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkdhcmlzIGhvcmlzb250YWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJTcGFzaSBob3Jpc29udGFsIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJTaXNpcFwvc3VudGluZyBnYW1iYXIiLAoiR2VuZXJhbCI6ICJVbXVtIiwKIkFkdmFuY2VkIjogIkxhbmp1dGFuIiwKIlNvdXJjZSI6ICJTdW1iZXIiLAoiQm9yZGVyIjogIkJhdGFzIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJTYW1ha2FuIHByb3BvcnNpIiwKIlZlcnRpY2FsIHNwYWNlIjogIlNwYXNpIHZlcnRpa2FsIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkRlc2tyaXBzaSBnYW1iYXIiLAoiU3R5bGUiOiAiR2F5YSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2kiLAoiSW5zZXJ0IGltYWdlIjogIlNpc2lwa2FuIGdhbWJhciIsCiJab29tIGluIjogIlBlcmJlc2FyIiwKIkNvbnRyYXN0IjogIktvbnRyYXMiLAoiQmFjayI6ICJLZW1iYWxpIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkJhbGlrIGhvcmlzb250YWwiLAoiUmVzaXplIjogIlViYWggdWt1cmFuIiwKIlNoYXJwZW4iOiAiS2V0YWphbWFuIiwKIlpvb20gb3V0IjogIlBlcmtlY2lsIiwKIkltYWdlIG9wdGlvbnMiOiAiT3BzaSBnYW1iYXIiLAoiQXBwbHkiOiAiVGVyYXBrYW4iLAoiQnJpZ2h0bmVzcyI6ICJLZWNlcmFoYW4iLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJQdXRhciBzZWFyYWhqYXJ1bWphbSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJQdXRhciBiZXJsYXdhbmFuamFydW1qYW0iLAoiRWRpdCBpbWFnZSI6ICJTdW50aW5nIGdhbWJhciIsCiJDb2xvciBsZXZlbHMiOiAiVGluZ2FrdCB3YXJuYSIsCiJDcm9wIjogIktyb3AiLAoiT3JpZW50YXRpb24iOiAiT3JpZW50YXNpIiwKIkZsaXAgdmVydGljYWxseSI6ICJCYWxpayB2ZXJ0aWthbCIsCiJJbnZlcnQiOiAiS2ViYWxpa2FuIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlNpc2lwa2FuIHRhbmdnYWxcL3dha3R1IiwKIlJlbW92ZSBsaW5rIjogIkJ1YW5nIHRhdXRhbiIsCiJVcmwiOiAiVGF1dGFuIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZWtzIHlhbmcgZGl0YW1waWxrYW4iLAoiQW5jaG9ycyI6ICJKYW5na2FyIiwKIkluc2VydCBsaW5rIjogIlNpc2lwa2FuIHRhdXRhbiIsCiJOZXcgd2luZG93IjogIkplbmRlbGEgYmFydSIsCiJOb25lIjogIlRpZGFrIGFkYSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGF1dGFuIHlhbmcgYW5kYSBtYXN1a2thbiBzZXBlcnRpbnlhIGFkYWxhaCB0YXV0YW4gZWtzdGVybmFsLiBBcGFrYWggQW5kYSBpbmdpbiBtZW5hbWJhaGthbiBwcmVmaWtzIGh0dHA6XC9cLyB5YW5nIGRpYnV0dWhrYW4/IiwKIlRhcmdldCI6ICJKZW5kZWxhIHR1anVhbiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRhdXRhbiB5YW5nIGFuZGEgbWFzdWtrYW4gc2VwZXJ0aW55YSBhZGFsYWggYWxhbWF0IGVtYWlsLiBBcGFrYWggQW5kYSBpbmdpbiBtZW5hbWJhaGthbiBwcmVmaWtzIG1haWx0bzogeWFuZyBkaWJ1dHVoa2FuPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJTaXNpcFwvc3VudGluZyB0YXV0YW4iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlNpc2lwXC9zdW50aW5nIHZpZGVvIiwKIlBvc3RlciI6ICJQZW51bGlzIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJTdW1iZXIgYWx0ZXJuYXRpZiIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlRlbXBlbCBrb2RlIHlhbmcgZGllbWJlZCBkaWJhd2FoIGluaToiLAoiSW5zZXJ0IHZpZGVvIjogIlNpc2lwa2FuIHZpZGVvIiwKIkVtYmVkIjogIkVtYmVkIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlNwYXNpIiwKIlBhZ2UgYnJlYWsiOiAiQmFyaXMgYmFydSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlRlbXBlbCBzZWJhZ2FpIHRla3MgYmlhc2EiLAoiUHJldmlldyI6ICJQcmF0aW5qYXUiLAoiUHJpbnQiOiAiQ2V0YWsiLAoiU2F2ZSI6ICJTaW1wYW4iLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlRpZGFrIGRhcGF0IG1lbmVtdWthbiBzdHJpbmcgeWFuZyBkaW1ha3N1ZC4iLAoiUmVwbGFjZSI6ICJHYW50aSIsCiJOZXh0IjogIkJlcmlrdXRueWEiLAoiV2hvbGUgd29yZHMiOiAiU2VtdWEga2F0YSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkNhcmkgZGFuIGdhbnRpIiwKIlJlcGxhY2Ugd2l0aCI6ICJHYW50aSBkZW5nYW4iLAoiRmluZCI6ICJDYXJpIiwKIlJlcGxhY2UgYWxsIjogIkdhbnRpIHNlbXVhIiwKIk1hdGNoIGNhc2UiOiAiU2FtYWthbiBiZXNhciBrZWNpbCBodXJ1ZiIsCiJQcmV2IjogIlNlYmVsdW1ueWEiLAoiU3BlbGxjaGVjayI6ICJQZXJpa3NhIGVqYWFuIiwKIkZpbmlzaCI6ICJTZWxlc2FpIiwKIklnbm9yZSBhbGwiOiAiQWJhaWthbiBzZW11YSIsCiJJZ25vcmUiOiAiQWJhaWthbiIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJUYW1iYWhrYW4ga2Uga2FtdXMiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiU2lzaXBrYW4gYmFyaXMgc2ViZWx1bSIsCiJSb3dzIjogIkJhcmlzIiwKIkhlaWdodCI6ICJUaW5nZ2kiLAoiUGFzdGUgcm93IGFmdGVyIjogIlRlbXBlbCBiYXJpcyBzZXRlbGFoIiwKIkFsaWdubWVudCI6ICJQZW5qYWphcmFuIiwKIkJvcmRlciBjb2xvciI6ICJXYXJuYSBiYXRhcyIsCiJDb2x1bW4gZ3JvdXAiOiAiS2Vsb21wb2sga29sb20iLAoiUm93IjogIkJhcmlzIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlNpc2lwa2FuIGtvbG9tIHNlYmVsdW0iLAoiU3BsaXQgY2VsbCI6ICJCYWdpIHNlbCIsCiJDZWxsIHBhZGRpbmciOiAiTGFwaXNhbiBzZWwiLAoiQ2VsbCBzcGFjaW5nIjogIlNwYXNpIHNlbCAiLAoiUm93IHR5cGUiOiAiVGlwZSBiYXJpcyIsCiJJbnNlcnQgdGFibGUiOiAiU2lzaXBrYW4gdGFiZWwiLAoiQm9keSI6ICJCb2R5IiwKIkNhcHRpb24iOiAiQ2FwdGlvbiIsCiJGb290ZXIiOiAiRm9vdGVyIiwKIkRlbGV0ZSByb3ciOiAiSGFwdXMgYmFyaXMiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJUZW1wZWwgYmFyaXMgc2ViZWx1bSIsCiJTY29wZSI6ICJTa3VwIiwKIkRlbGV0ZSB0YWJsZSI6ICJIYXB1cyB0YWJlbCIsCiJIIEFsaWduIjogIlJhdGEgU2FtcGluZyIsCiJUb3AiOiAiQXRhcyIsCiJIZWFkZXIgY2VsbCI6ICJKdWR1bCBzZWwiLAoiQ29sdW1uIjogIktvbG9tIiwKIlJvdyBncm91cCI6ICJLZWxvbXBvayBiYXJpcyIsCiJDZWxsIjogIlNlbCIsCiJNaWRkbGUiOiAiVGVuZ2FoIiwKIkNlbGwgdHlwZSI6ICJUaXBlIHNlbCIsCiJDb3B5IHJvdyI6ICJTYWxpbiBiYXJpcyIsCiJSb3cgcHJvcGVydGllcyI6ICJQcm9wZXJ0aSBiYXJpcyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlByb3BlcnRpIHRhYmVsIiwKIkJvdHRvbSI6ICJCYXdhaCIsCiJWIEFsaWduIjogIlJhdGEgQXRhcyIsCiJIZWFkZXIiOiAiSnVkdWwiLAoiUmlnaHQiOiAiS2FuYW4iLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJTaXNpcGthbiBrb2xvbSBzZXRlbGFoIiwKIkNvbHMiOiAiS29sb20iLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJTaXNpcGthbiBiYXJpcyBzZXRlbGFoIiwKIldpZHRoIjogIkxlYmFyIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9wZXJ0aSBzZWwiLAoiTGVmdCI6ICJLaXJpIiwKIkN1dCByb3ciOiAiUGVuZ2dhbCBiYXJpcyIsCiJEZWxldGUgY29sdW1uIjogIkhhcHVzIGtvbG9tIiwKIkNlbnRlciI6ICJUZW5nYWgiLAoiTWVyZ2UgY2VsbHMiOiAiR2FidW5nIHNlbCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiU2lzaXBrYW4gdGVtcGxhdCIsCiJUZW1wbGF0ZXMiOiAiVGVtcGxhdCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIldhcm5hIGxhdGFyIiwKIkN1c3RvbS4uLiI6ICJBdHVyIHNlbmRpcmkuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIldhcm5hIHNlbmRpcmkiLAoiTm8gY29sb3IiOiAiVGlkYWsgYmVyd2FybmEiLAoiVGV4dCBjb2xvciI6ICJXYXJuYSB0ZWtzIiwKIlNob3cgYmxvY2tzIjogIlRhbXBpbGthbiBibG9rIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVGFtcGlsa2FuIGthcmFrdGVyIHRhayB0YW1wYWsiLAoiV29yZHM6IHswfSI6ICJLYXRhOiB7MH0iLAoiSW5zZXJ0IjogIlNpc2lwIiwKIkZpbGUiOiAiQmVya2FzIiwKIkVkaXQiOiAiU3VudGluZyIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJBcmVhIHRla3Mga2F5YS4gVGVrYW4gQUxULUY5IHVudHVrIG1lbnUuIFRla2FuIEFMVC1GMTAgdW50dWsgdG9vbGJhci4gVGVrYW4gQUxULTAgdW50dWsgYmFudHVhbiIsCiJUb29scyI6ICJBbGF0IiwKIlZpZXciOiAiVGFtcGlsYW4iLAoiVGFibGUiOiAiVGFiZWwiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/is_IS.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdpc19JUycsewoiQ3V0IjogIlNrZXJhIiwKIkhlYWRpbmcgNSI6ICJGeXJpcnNcdTAwZjZnbiA1IiwKIkhlYWRlciAyIjogIkZ5cmlyc1x1MDBmNmduIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVmFmcmlubiBcdTAwZmVpbm4gc3R5XHUwMGYwdXIgZWtraSBiZWluYW5uIGFcdTAwZjBnYW5nIGFcdTAwZjAga2xpcHBpYm9yXHUwMGYwaW51LiAgTm90YVx1MDBmMHUgQ3RybC1YXC9DXC9WIFx1MDBlMSBseWtsYWJvclx1MDBmMGludSBcdTAwZWQgc3RhXHUwMGYwaW5uLiIsCiJIZWFkaW5nIDQiOiAiRnlyaXJzXHUwMGY2Z24gNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJGeXJpcnNcdTAwZjZnbiAyIiwKIlBhc3RlIjogIkxcdTAwZWRtYSIsCiJDbG9zZSI6ICJMb2thIiwKIkZvbnQgRmFtaWx5IjogIkxldHVyIGZqXHUwMGY2bHNreWxkYSIsCiJQcmUiOiAiXHUwMGQzc3RcdTAwZWRsYVx1MDBmMCIsCiJBbGlnbiByaWdodCI6ICJIXHUwMGU2Z3JpamFmbmEiLAoiTmV3IGRvY3VtZW50IjogIk5cdTAwZmR0dCBza2phbCIsCiJCbG9ja3F1b3RlIjogIkJsb2trIiwKIk51bWJlcmVkIGxpc3QiOiAiTlx1MDBmYW1lcmFcdTAwZjB1ciBsaXN0aSIsCiJIZWFkaW5nIDEiOiAiRnlyaXJzXHUwMGY2Z24gMSIsCiJIZWFkaW5ncyI6ICJGeXJpcnNhZ25pciIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVrYSBpbm5kclx1MDBlMXR0IiwKIkZvcm1hdHMiOiAiU25pXHUwMGYwbVx1MDBlMXQiLAoiSGVhZGVycyI6ICJGeXJpcnNhZ25pciIsCiJTZWxlY3QgYWxsIjogIlZlbGphIGFsbHQiLAoiSGVhZGVyIDMiOiAiRnlyaXJzXHUwMGY2Z24gMyIsCiJCbG9ja3MiOiAiQmxva2tpciIsCiJVbmRvIjogIkFmdHVya2FsbGEiLAoiU3RyaWtldGhyb3VnaCI6ICJZZmlyc3RyaWthXHUwMGYwIiwKIkJ1bGxldCBsaXN0IjogIktcdTAwZmFsdSBsaXN0aSIsCiJIZWFkZXIgMSI6ICJGeXJpcnNcdTAwZjZnbiAxIiwKIlN1cGVyc2NyaXB0IjogIlVwcHNrcmlmdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkhyZWluc2Egc25pXHUwMGYwIiwKIkZvbnQgU2l6ZXMiOiAiTGV0dXJzdFx1MDBlNnJcdTAwZjAiLAoiU3Vic2NyaXB0IjogIk5pXHUwMGYwdXJza3JpZmFcdTAwZjAiLAoiSGVhZGVyIDYiOiAiRnlyaXJzXHUwMGY2Z24gNiIsCiJSZWRvIjogIkVuZHVya2FsbGEiLAoiUGFyYWdyYXBoIjogIk1cdTAwZTFsc2dyZWluIiwKIk9rIjogIlN0YVx1MDBmMGZlc3RhIiwKIkJvbGQiOiAiRmVpdGxldHJhXHUwMGYwIiwKIkNvZGUiOiAiS1x1MDBmM1x1MDBmMGkiLAoiSXRhbGljIjogIlNrclx1MDBlMWxldHJhXHUwMGYwIiwKIkFsaWduIGNlbnRlciI6ICJNaVx1MDBmMGp1amFmbmEiLAoiSGVhZGVyIDUiOiAiRnlyaXJzXHUwMGY2Z24gNSIsCiJIZWFkaW5nIDYiOiAiRnlyaXJzXHUwMGY2Z24gNiIsCiJIZWFkaW5nIDMiOiAiRnlyaXJzXHUwMGY2Z24gMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTWlubmthIGlubmRyXHUwMGUxdHQiLAoiSGVhZGVyIDQiOiAiRnlyaXJzXHUwMGY2Z24gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTFx1MDBlZG1pbmcgZXIgXHUwMGVkIGxcdTAwZTF0bGF1c3VtIGhhbS4gIElubmloYWxkIHZlclx1MDBmMHVyIGxcdTAwZWRtdCBzZW0gbFx1MDBlMXRsYXVzIHRleHRpIFx1MDBmZWFuZ2FcdTAwZjAgdGlsIFx1MDBmZVx1MDBmYSBhZnZpcmtqYXIgXHUwMGZlZW5uYW4gbVx1MDBmNmd1bGVpa2EuIiwKIlVuZGVybGluZSI6ICJVbmRpcnN0cmlrYVx1MDBmMCIsCiJDYW5jZWwiOiAiSFx1MDBlNnR0YSB2aVx1MDBmMCIsCiJKdXN0aWZ5IjogIkphZm5hIiwKIklubGluZSI6ICJJbm5kcmVnaVx1MDBmMCIsCiJDb3B5IjogIkFmcml0YSIsCiJBbGlnbiBsZWZ0IjogIlZpbnN0cmlqYWZuYSIsCiJWaXN1YWwgYWlkcyI6ICJTalx1MDBmM25yXHUwMGU2biBoalx1MDBlMWxwIiwKIkxvd2VyIEdyZWVrIjogIkxcdTAwZTFnc3RhZmlyIEdyXHUwMGVkc2tpciIsCiJTcXVhcmUiOiAiRmVybmluZ3VyIiwKIkRlZmF1bHQiOiAiU2pcdTAwZTFsZmdlZmlcdTAwZjAiLAoiTG93ZXIgQWxwaGEiOiAiTFx1MDBlMWdzdGFmaXIgQWxwaGEiLAoiQ2lyY2xlIjogIkhyaW5ndXIiLAoiRGlzYyI6ICJEaXNrdXIiLAoiVXBwZXIgQWxwaGEiOiAiSFx1MDBlMXN0YWZpciBBbHBoYSIsCiJVcHBlciBSb21hbiI6ICJIXHUwMGUxc3RhZmlyIFJcdTAwZjNtdmVyc2tpciIsCiJMb3dlciBSb21hbiI6ICJMXHUwMGUxZ3N0YWZpciBSXHUwMGYzbXZlcnNraXIiLAoiTmFtZSI6ICJOYWZuIiwKIkFuY2hvciI6ICJBa2tlcmkiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTAwZGVhXHUwMGYwIGVydSBcdTAwZjN2aXN0YVx1MDBmMGFyIGJyZXl0aW5nYXIsIGVydHUgdmlzcyB1bSBhXHUwMGYwIFx1MDBmZVx1MDBmYSB2aWxqaXIgdmFmcmEgXHUwMGVkIGJ1cnR1PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiRW5kdXJrYWxsYSBzXHUwMGVkXHUwMGYwYXN0YSB1cHBrYXN0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNcdTAwZTlyc3Rha2lyIHN0YWZpciIsCiJTb3VyY2UgY29kZSI6ICJGcnVta1x1MDBmM1x1MDBmMGkiLAoiQ29sb3IiOiAiTGl0dXIiLAoiUmlnaHQgdG8gbGVmdCI6ICJIXHUwMGU2Z3JpIHRpbCB2aW5zdHJpIiwKIkxlZnQgdG8gcmlnaHQiOiAiVmluc3RyaSB0aWwgaFx1MDBlNmdyaSIsCiJFbW90aWNvbnMiOiAiVGlsZmlubmluZ2FyIiwKIlJvYm90cyI6ICJMZWl0YXJ2XHUwMGU5bGFyIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRWlnaW5kaSBza2phbHMiLAoiVGl0bGUiOiAiVGl0aWxsIiwKIktleXdvcmRzIjogIkx5a2lsb3JcdTAwZjAiLAoiRW5jb2RpbmciOiAiVW1icmV5dGluZyIsCiJEZXNjcmlwdGlvbiI6ICJMXHUwMGZkc2luZyIsCiJBdXRob3IiOiAiSFx1MDBmNmZ1bmR1ciIsCiJGdWxsc2NyZWVuIjogIkZ5bGxhIHNralx1MDBlMSIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTFx1MDBlMXJcdTAwZTl0dCBsXHUwMGVkbmEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJMXHUwMGUxclx1MDBlOXR0IGJpbCIsCiJCIjogIkJsXHUwMGUxciIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiU2V0amEgaW5uXC9icmV5dGEgbXluZCIsCiJHZW5lcmFsIjogIkFsbWVubnQiLAoiQWR2YW5jZWQiOiAiXHUwMGNkdGFybGVndCIsCiJHIjogIkdyXHUwMGU2bm4iLAoiUiI6ICJSIiwKIlNvdXJjZSI6ICJTbFx1MDBmM1x1MDBmMGkiLAoiQm9yZGVyIjogIlJhbW1pIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJIYWxkYSBobHV0Zlx1MDBmNmxsdW0iLAoiVmVydGljYWwgc3BhY2UiOiAiTFx1MDBmM1x1MDBmMHJcdTAwZTl0dCBiaWwiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiTFx1MDBmZHNpbmcgbXluZGFyIiwKIlN0eWxlIjogIlN0XHUwMGVkbGwiLAoiRGltZW5zaW9ucyI6ICJIbHV0Zlx1MDBmNmxsIiwKIkluc2VydCBpbWFnZSI6ICJTZXRqYSBpbm4gbXluZCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJTZXRqYSBpbm4gZGFnc2V0bmluZ3VcL3RcdTAwZWRtYSIsCiJSZW1vdmUgbGluayI6ICJGamFybFx1MDBlNmdqYSBobGVrayIsCiJVcmwiOiAiVmVmZmFuZyIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dGkgdGlsIGFcdTAwZjAgc1x1MDBmZG5hIiwKIkFuY2hvcnMiOiAiQWtrZXJpIiwKIkluc2VydCBsaW5rIjogIlNldGphIGlubiBobGVrayIsCiJOZXcgd2luZG93IjogIk5cdTAwZmRyIGdsdWdnaSIsCiJOb25lIjogIkVra2VydCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiSGxla2t1cmlubiBzZW0gXHUwMGZlXHUwMGZhIHJpdGFcdTAwZjBpciBpbm4gbFx1MDBmZHR1ciBcdTAwZmF0IGZ5cmlyIGFcdTAwZjAgdmVyYSB5dHJpIGhsZWtrdXIuIFZpbHR1IGJcdTAwZTZ0YSB2aVx1MDBmMCBmb3Jza2V5dGludSBodHRwOlwvXC8gPyIsCiJUYXJnZXQiOiAiTWlcdTAwZjAiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJIbGVra3VyaW5uIHNlbSBcdTAwZmVcdTAwZmEgcml0YVx1MDBmMGlyIGlubiBsXHUwMGZkdHVyIFx1MDBmYXQgZnlyaXIgYVx1MDBmMCB2ZXJhIG5ldGZhbmcuIFZpbHR1IGJcdTAwZTZ0YSB2aVx1MDBmMCBmb3JtZXJraW51IG1haWx0bzogPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJTZXRqYSBpbm5cL2JyZXl0YSBobGVrayIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiU2V0amEgaW5uXC9mamFybFx1MDBlNmdqYSBteW5kYmFuZCIsCiJQb3N0ZXIiOiAiUGxha2F0IiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJWYWxrdlx1MDBlNlx1MDBmMHVyIGZydW1rXHUwMGYzXHUwMGYwaSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkxcdTAwZWRtYSBmcnVta1x1MDBmM1x1MDBmMGEgZnlyaXIgbmVcdTAwZjBhbjoiLAoiSW5zZXJ0IHZpZGVvIjogIlNldGphIGlubiBteW5kYmFuZCIsCiJFbWJlZCI6ICJIZW5namEgdmlcdTAwZjAiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiQmlsIHNlbSBicm90bmFyIGVra2kiLAoiUGFnZSBicmVhayI6ICJTXHUwMGVkXHUwMGYwdWJyb3QiLAoiUGFzdGUgYXMgdGV4dCI6ICJMXHUwMGVkbWEgc2VtIHRleHRhIiwKIlByZXZpZXciOiAiRm9yc2tvXHUwMGYwdW4iLAoiUHJpbnQiOiAiUHJlbnRhIiwKIlNhdmUiOiAiVmlzdGEiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkZhbm4gZWtraSB1bWJlXHUwMGYwaW5uIHN0cmVuZy4iLAoiUmVwbGFjZSI6ICJTa2lwdGEgXHUwMGZhdCIsCiJOZXh0IjogIk5cdTAwZTZzdGkiLAoiV2hvbGUgd29yZHMiOiAiSGVpbCBvclx1MDBmMCIsCiJGaW5kIGFuZCByZXBsYWNlIjogIkZpbm5hIG9nIHNraXB0YSBcdTAwZmF0IiwKIlJlcGxhY2Ugd2l0aCI6ICJTa2lwdGEgXHUwMGZhdCBtZVx1MDBmMCIsCiJGaW5kIjogIkZpbm5hIiwKIlJlcGxhY2UgYWxsIjogIlNraXB0YSBcdTAwZjZsbHVtIFx1MDBmYXQiLAoiTWF0Y2ggY2FzZSI6ICJTYW1hbmJ1clx1MDBmMHVyIiwKIlByZXYiOiAiRnlycmkiLAoiU3BlbGxjaGVjayI6ICJWaWxsdWxlaXQiLAoiRmluaXNoIjogIkxqXHUwMGZha2EiLAoiSWdub3JlIGFsbCI6ICJIdW5zYSBhbGx0IiwKIklnbm9yZSI6ICJIdW5zYSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJCXHUwMGU2dGEgdmlcdTAwZjAgb3JcdTAwZjBhYlx1MDBmM2siLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiU2V0amEgaW5uIHJcdTAwZjZcdTAwZjAgZnlyaXIgZnJhbWFuIiwKIlJvd3MiOiAiUmFcdTAwZjBpciIsCiJIZWlnaHQiOiAiSFx1MDBlNlx1MDBmMCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiTFx1MDBlZG1hIHJcdTAwZjZcdTAwZjAgZnlyaXIgYWZ0YW4iLAoiQWxpZ25tZW50IjogIkpcdTAwZjZmbnVuIiwKIkJvcmRlciBjb2xvciI6ICJMaXR1ciBcdTAwZTEgcmFtbWEiLAoiQ29sdW1uIGdyb3VwIjogIkhcdTAwZjNwdXIgZFx1MDBlMWxrcyIsCiJSb3ciOiAiUlx1MDBmNlx1MDBmMCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJTZXRqYSBpbm4gZFx1MDBlMWxrIGZ5cmlyIGZyYW1hbiIsCiJTcGxpdCBjZWxsIjogIkRlaWxhIHJlaXRpIiwKIkNlbGwgcGFkZGluZyI6ICJSXHUwMGZkbWkgcmVpdHMiLAoiQ2VsbCBzcGFjaW5nIjogIkJpbCBcdTAwZWQgcmVpdCIsCiJSb3cgdHlwZSI6ICJUZWd1bmQgcmFcdTAwZjBhciIsCiJJbnNlcnQgdGFibGUiOiAiU2V0amEgaW5uIHRcdTAwZjZmbHUiLAoiQm9keSI6ICJJbm5paGFsZCIsCiJDYXB0aW9uIjogIlRpdGlsbCIsCiJGb290ZXIiOiAiTmVcdTAwZjBhbm1cdTAwZTFsIiwKIkRlbGV0ZSByb3ciOiAiRXlcdTAwZjBhIHJcdTAwZjZcdTAwZjAiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJMXHUwMGVkbWEgclx1MDBmNlx1MDBmMCBmeXJpciBmcmFtYW4iLAoiU2NvcGUiOiAiR2lsZGlzc3ZpXHUwMGYwIiwKIkRlbGV0ZSB0YWJsZSI6ICJFeVx1MDBmMGEgdFx1MDBmNmZsdSIsCiJIIEFsaWduIjogIkxcdTAwZTFyXHUwMGU5dHQgalx1MDBmNmZudW4iLAoiVG9wIjogIkVmc3QiLAoiSGVhZGVyIGNlbGwiOiAiUmVpdGFyaGF1cyIsCiJDb2x1bW4iOiAiRFx1MDBlMWxrdXIiLAoiUm93IGdyb3VwIjogIkhcdTAwZjNwdXIgcmFcdTAwZjBhciIsCiJDZWxsIjogIlJlaXR1ciIsCiJNaWRkbGUiOiAiTWlcdTAwZjBqYSIsCiJDZWxsIHR5cGUiOiAiVGVndW5kIHJlaXRzIiwKIkNvcHkgcm93IjogIkFmcml0YSByXHUwMGY2XHUwMGYwIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlN0aWxsaW5nYXIgcmFcdTAwZjBhciIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlN0aWxsaW5nYXIgdFx1MDBmNmZsdSIsCiJCb3R0b20iOiAiTmVcdTAwZjBzdCIsCiJWIEFsaWduIjogIkxcdTAwZjNcdTAwZjByXHUwMGU5dHQgalx1MDBmNmZudW4iLAoiSGVhZGVyIjogIkZ5cmlyc1x1MDBmNmduIiwKIlJpZ2h0IjogIkhcdTAwZTZncmkiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJTZXRqYSBpbm4gZFx1MDBlMWxrIGZ5cmlyIGFmdGFuIiwKIkNvbHMiOiAiRFx1MDBlMWxrYXIiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJTZXRqYSBpbm4gclx1MDBmNlx1MDBmMCBmeXJpciBhZnRhbiIsCiJXaWR0aCI6ICJCcmVpZGQiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlN0aWxsaW5nYXIgcmVpdHMiLAoiTGVmdCI6ICJWaW5zdHJpIiwKIkN1dCByb3ciOiAiS2xpcHBhIHJcdTAwZjZcdTAwZjAiLAoiRGVsZXRlIGNvbHVtbiI6ICJFeVx1MDBmMGEgZFx1MDBlMWxraSIsCiJDZW50ZXIiOiAiTWlcdTAwZjBqYSIsCiJNZXJnZSBjZWxscyI6ICJTYW1laW5hIHJlaXRpIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJTZXRqYSBpbm4gc25pXHUwMGYwbVx1MDBlMXQiLAoiVGVtcGxhdGVzIjogIlNuaVx1MDBmMG1cdTAwZTF0IiwKIkJhY2tncm91bmQgY29sb3IiOiAiQmFrZ3J1bm5zbGl0dXIiLAoiQ3VzdG9tLi4uIjogIlNcdTAwZTlyc25pXHUwMGYwaVx1MDBmMC4uLiIsCiJDdXN0b20gY29sb3IiOiAiU1x1MDBlOXJzbmlcdTAwZjBpbiBsaXR1ciIsCiJObyBjb2xvciI6ICJFbmdpbm4gbGl0dXIiLAoiVGV4dCBjb2xvciI6ICJMaXR1ciB0ZXh0YSIsCiJTaG93IGJsb2NrcyI6ICJTXHUwMGZkbmEga3ViYmEiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJTXHUwMGZkbmEgXHUwMGYzc1x1MDBmZG5pbGVnYSBzdGFmaSIsCiJXb3JkczogezB9IjogIk9yXHUwMGYwOiAgezB9IiwKIkluc2VydCI6ICJTZXRqYSBpbm4iLAoiRmlsZSI6ICJTa2phbCIsCiJFZGl0IjogIkJyZXl0YSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJUZXh0YXN2XHUwMGU2XHUwMGYwaSBcdTAwZWQgXHUwMGVkdGFyaGFtLiAgXHUwMGRkdHR1IFx1MDBlMSBBTFQtRjkgZnlyaXIgdmFsbXluZC4gIFx1MDBkZHR0dSBcdTAwZTEgQUxULUYxMCBmeXJpciB0XHUwMGYzbGFzdGlrdS4gIFx1MDBkZHR0dSBcdTAwZTEgQUxULTAgZnlyaXIgYVx1MDBmMHN0b1x1MDBmMC4iLAoiVG9vbHMiOiAiVFx1MDBmM2wiLAoiVmlldyI6ICJTa29cdTAwZjBhIiwKIlRhYmxlIjogIlRhZmxhIiwKIkZvcm1hdCI6ICJTbmlcdTAwZjAiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/it.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdpdCcsewoiQ3V0IjogIlRhZ2xpYSIsCiJIZWFkaW5nIDUiOiAiSW50ZXN0YXppb25lIDUiLAoiSGVhZGVyIDIiOiAiSGVhZGVyIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiSWwgdHVvIGJyb3dzZXIgbm9uIHN1cHBvcnRhIGwnYWNjZXNzbyBkaXJldHRvIG5lZ2xpIEFwcHVudGkuIFBlciBmYXZvcmUgdXNhIGkgdGFzdGkgZGkgc2NlbHRhIHJhcGlkYSBDdHJsK1hcL0NcL1YuIiwKIkhlYWRpbmcgNCI6ICJJbnRlc3RhemlvbmUgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJJbnRlc3RhemlvbmUgMiIsCiJQYXN0ZSI6ICJJbmNvbGxhIiwKIkNsb3NlIjogIkNoaXVkaSIsCiJGb250IEZhbWlseSI6ICJGYW1pZ2xpYSBmb250IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxsaW5lYSBhIERlc3RyYSIsCiJOZXcgZG9jdW1lbnQiOiAiTnVvdm8gRG9jdW1lbnRvIiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJOdW1iZXJlZCBsaXN0IjogIkVsZW5jaGkgTnVtZXJhdGkiLAoiSGVhZGluZyAxIjogIkludGVzdGF6aW9uZSAxIiwKIkhlYWRpbmdzIjogIkludGVzdGF6aW9uaSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVtZW50YSBSaWVudHJvIiwKIkZvcm1hdHMiOiAiRm9ybWF0dGF6aW9uaSIsCiJIZWFkZXJzIjogIkludGVzdGF6aW9uaSIsCiJTZWxlY3QgYWxsIjogIlNlbGV6aW9uYSBUdXR0byIsCiJIZWFkZXIgMyI6ICJJbnRlc3RhemlvbmUgMyIsCiJCbG9ja3MiOiAiQmxvY2NoaSIsCiJVbmRvIjogIkluZGlldHJvIiwKIlN0cmlrZXRocm91Z2giOiAiQmFycmF0byIsCiJCdWxsZXQgbGlzdCI6ICJFbGVuY2hpIFB1bnRhdGkiLAoiSGVhZGVyIDEiOiAiSW50ZXN0YXppb25lIDEiLAoiU3VwZXJzY3JpcHQiOiAiQXBpY2UiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJDYW5jZWxsYSBGb3JtYXR0YXppb25lIiwKIkZvbnQgU2l6ZXMiOiAiRGltZW5zaW9uaSBmb250IiwKIlN1YnNjcmlwdCI6ICJQZWRpY2UiLAoiSGVhZGVyIDYiOiAiSW50ZXN0YXppb25lIDYiLAoiUmVkbyI6ICJSaXBldGkiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmbyIsCiJPayI6ICJPayIsCiJCb2xkIjogIkdyYXNzZXR0byIsCiJDb2RlIjogIkNvZGljZSIsCiJJdGFsaWMiOiAiQ29yc2l2byIsCiJBbGlnbiBjZW50ZXIiOiAiQWxsaW5lYSBhbCBDZW50byIsCiJIZWFkZXIgNSI6ICJJbnRlc3RhemlvbmUgNSIsCiJIZWFkaW5nIDYiOiAiSW50ZXN0YXppb25lIDYiLAoiSGVhZGluZyAzIjogIkludGVzdGF6aW9uZSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJSaWR1Y2kgUmllbnRybyIsCiJIZWFkZXIgNCI6ICJJbnRlc3RhemlvbmUgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiSW5jb2xsYSBcdTAwZTggaW4gbW9kYWxpdFx1MDBlMCB0ZXN0byBub3JtYWxlLiBJIGNvbnRlbnV0aSBzb25vIGluY29sbGF0aSBjb21lIHRlc3RvIG5vcm1hbGUgc2Ugbm9uIGRpc2F0dGl2aSBsJ29wemlvbmUuIiwKIlVuZGVybGluZSI6ICJTb3R0b2xpbmVhdG8iLAoiQ2FuY2VsIjogIkNhbmNlbGxhIiwKIkp1c3RpZnkiOiAiR2l1c3RpZmljYSIsCiJJbmxpbmUiOiAiSW5saW5lYSIsCiJDb3B5IjogIkNvcGlhIiwKIkFsaWduIGxlZnQiOiAiQWxsaW5lYSBhIFNpbmlzdHJhIiwKIlZpc3VhbCBhaWRzIjogIkVsZW1lbnRpIFZpc2l2aSIsCiJMb3dlciBHcmVlayI6ICJHcmVlayBNaW5vcmUiLAoiU3F1YXJlIjogIlF1YWRyYXRvIiwKIkRlZmF1bHQiOiAiRGVmYXVsdCIsCiJMb3dlciBBbHBoYSI6ICJBbHBoYSBNaW5vcmUiLAoiQ2lyY2xlIjogIkNlcmNoaW8iLAoiRGlzYyI6ICJEaXNjbyIsCiJVcHBlciBBbHBoYSI6ICJBbHBoYSBTdXBlcmlvcmUiLAoiVXBwZXIgUm9tYW4iOiAiUm9tYW4gU3VwZXJpb3JlIiwKIkxvd2VyIFJvbWFuIjogIlJvbWFuIE1pbm9yZSIsCiJOYW1lIjogIk5vbWUiLAoiQW5jaG9yIjogIkZpc3NhIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiTm9uIGhhaSBzYWx2YXRvIGRlbGxlIG1vZGlmaWNoZSwgc2VpIHNpY3VybyBkaSBhbmRhcnRlbmU/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSaXByaXN0aW5hIGwndWx0aW1hIGJvenphLiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJDYXJhdHRlcmUgU3BlY2lhbGUiLAoiU291cmNlIGNvZGUiOiAiQ29kaWNlIFNvcmdlbnRlIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkNvbG9yZSIsCiJSaWdodCB0byBsZWZ0IjogIkRhIERlc3RyYSBhIFNpbmlzdHJhIiwKIkxlZnQgdG8gcmlnaHQiOiAiRGEgU2luaXN0cmEgYSBEZXN0cmEiLAoiRW1vdGljb25zIjogIkVtb2N0aW9uIiwKIlJvYm90cyI6ICJSb2JvdCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlByb3ByaWV0XHUwMGUwIERvY3VtZW50byIsCiJUaXRsZSI6ICJUaXRvbG8iLAoiS2V5d29yZHMiOiAiUGFyb2xhIENoaWF2ZSIsCiJFbmNvZGluZyI6ICJDb2RpZmljYSIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcml6aW9uZSIsCiJBdXRob3IiOiAiQXV0b3JlIiwKIkZ1bGxzY3JlZW4iOiAiU2NoZXJtbyBJbnRlcm8iLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxpbmVhIE9yaXp6b250YWxlIiwKIkhvcml6b250YWwgc3BhY2UiOiAiU3BhemlvIE9yaXp6b250YWxlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJBZ2dpdW5naVwvTW9kaWZpY2EgSW1tYWdpbmUiLAoiR2VuZXJhbCI6ICJHZW5lcmFsZSIsCiJBZHZhbmNlZCI6ICJBdmFuemF0byIsCiJTb3VyY2UiOiAiRm9udGUiLAoiQm9yZGVyIjogIkJvcmRvIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJNYW50aWVuaSBQcm9wb3J6aW9uaSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJTcGF6aW8gVmVydGljYWxlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkRlc2NyaXppb25lIEltbWFnaW5lIiwKIlN0eWxlIjogIlN0aWxlIiwKIkRpbWVuc2lvbnMiOiAiRGltZW56aW9uaSIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJpc2NpIGltbWFnaW5lIiwKIlpvb20gaW4iOiAiSW5ncmFuZGlzY2kiLAoiQ29udHJhc3QiOiAiQ29udHJhc3RvIiwKIkJhY2siOiAiSW5kaWV0cm8iLAoiR2FtbWEiOiAiR2FtbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiUmlmbGV0dGkgb3JpenpvbnRhbG1lbnRlIiwKIlJlc2l6ZSI6ICJSaWRpbWVuc2lvbmEiLAoiU2hhcnBlbiI6ICJDb250cmFzdGEiLAoiWm9vbSBvdXQiOiAiUmltcGljY2lvbGlzY2kiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJPcHppb25pIGltbWFnaW5lIiwKIkFwcGx5IjogIkFwcGxpY2EiLAoiQnJpZ2h0bmVzcyI6ICJMdW1pbm9zaXRcdTAwZTAiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSdW90YSBpbiBzZW5zbyBvcmFyaW8iLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUnVvdGEgaW4gc2Vuc28gYW50aW9yYXJpbyIsCiJFZGl0IGltYWdlIjogIk1vZGlmaWNhIGltbWFnaW5lIiwKIkNvbG9yIGxldmVscyI6ICJMaXZlbGxpIGNvbG9yZSIsCiJDcm9wIjogIlRhZ2xpYSIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhbWVudG8iLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlJpZmxldHRpIHZlcnRpY2FsbWVudGUiLAoiSW52ZXJ0IjogIkludmVydGkiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5zZXJpc2NpIERhdGFcL09yYSIsCiJSZW1vdmUgbGluayI6ICJSaW11b3ZpIGxpbmsiLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGVzdG8gZGEgVmlzdWFsaXp6YXJlIiwKIkFuY2hvcnMiOiAiQW5jaG9ycyIsCiJJbnNlcnQgbGluayI6ICJJbnNlcmlzY2kgaWwgTGluayIsCiJOZXcgd2luZG93IjogIk51b3ZhIEZpbmVzdHJhIiwKIk5vbmUiOiAiTm8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkwnVVJMIGluc2VyaXRvIHNlbWJyYSBlc3NlcmUgdW4gY29sbGVnYW1lbnRvIGVzdGVybm8uIFZ1b2kgYWdnaXVuZ2VyZSBpbCBwcmVmaXNzbyBuZWNlc3NhcmlvIGh0dHA6XC9cLz8iLAoiVGFyZ2V0IjogIlRhcmdldCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkwnVVJMIGluc2VyaXRvIHNlbWJyYSBlc3NlcmUgdW4gaW5kaXJpenpvIGVtYWlsLiBWdW9pIGFnZ2l1bmdlcmUgaWwgcHJlZmlzc28gbmVjZXNzYXJpbyBtYWlsdG86PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcmlzY2lcL01vZGlmaWNhIExpbmsiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VyaXNjaVwvTW9kaWZpY2EgVmlkZW8iLAoiUG9zdGVyIjogIkFudGVwcmltYSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdm8iLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJJbmNvbGxhIGlsIGNvZGljZSBkJ2luY29ycG9yYW1lbnRvIHF1aToiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VyaXNjaSBWaWRlbyIsCiJFbWJlZCI6ICJJbmNvcnBvcmFyZSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJTcGF6aW8gdW5pZmljYXRvcmUiLAoiUGFnZSBicmVhayI6ICJJbnRlcnJ1emlvbmUgZGkgcGFnaW5hIiwKIlBhc3RlIGFzIHRleHQiOiAiaW5jb2xsYSBjb21lIHRlc3RvIiwKIlByZXZpZXciOiAiQW50ZXByaW1hIiwKIlByaW50IjogIlN0YW1wYSIsCiJTYXZlIjogIlNhbHZhIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJJbXBvc3NpYmlsZSB0cm92YXJlIGxhIHBhcm9sYSBzcGVjaWZpY2EuIiwKIlJlcGxhY2UiOiAiU29zdGl0dWlzY2kiLAoiTmV4dCI6ICJTdWNjZXNzaXZvIiwKIldob2xlIHdvcmRzIjogIlBhcm9sZSBTYmFnbGlhdGUiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJUcm92YSBlIFNvc3RpdHVpc2NpIiwKIlJlcGxhY2Ugd2l0aCI6ICJTb3N0aXR1aXNjaSBDb24iLAoiRmluZCI6ICJUcm92YSIsCiJSZXBsYWNlIGFsbCI6ICJTb3N0aXR1aXNjaSBUdXR0byIsCiJNYXRjaCBjYXNlIjogIk1haXVzY29sZVwvTWludXNjb2xlICIsCiJQcmV2IjogIlByZWNlZGVudGUiLAoiU3BlbGxjaGVjayI6ICJDb250cm9sbG8gb3J0b2dyYWZpY28iLAoiRmluaXNoIjogIlRlcm1pbmEiLAoiSWdub3JlIGFsbCI6ICJJZ25vcmEgVHV0dG8iLAoiSWdub3JlIjogIklnbm9yYSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJBZ2dpdW5naSBhbCBEaXppb25hcmlvIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VyaXNjaSB1bmEgUmlnYSBQcmltYSIsCiJSb3dzIjogIlJpZ2hlIiwKIkhlaWdodCI6ICJBbHRlenphIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJJbmNvbGxhIHVuYSBSaWdhIERvcG8iLAoiQWxpZ25tZW50IjogIkFsbGluZWFtZW50byIsCiJCb3JkZXIgY29sb3IiOiAiQ29sb3JlIGJvcmRvIiwKIkNvbHVtbiBncm91cCI6ICJHcnVwcG8gZGkgQ29sb25uZSIsCiJSb3ciOiAiUmlnYSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcmlzY2kgdW5hIENvbG9ubmEgUHJpbWEiLAoiU3BsaXQgY2VsbCI6ICJEaXZpZGkgQ2VsbGEiLAoiQ2VsbCBwYWRkaW5nIjogIlBhZGRpbmcgZGVsbGEgQ2VsbGEiLAoiQ2VsbCBzcGFjaW5nIjogIlNwYXppYXR1cmEgZGVsbGEgQ2VsbGEiLAoiUm93IHR5cGUiOiAiVGlwbyBkaSBSaWdhIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcmlzY2kgVGFiZWxsYSIsCiJCb2R5IjogIkJvZHkiLAoiQ2FwdGlvbiI6ICJEaWRhc2NhbGlhIiwKIkZvb3RlciI6ICJGb290ZXIiLAoiRGVsZXRlIHJvdyI6ICJDYW5jZWxsYSBSaWdhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiSW5jb2xsYSB1bmEgUmlnYSBQcmltYSIsCiJTY29wZSI6ICJDYW1wbyIsCiJEZWxldGUgdGFibGUiOiAiQ2FuY2VsbGEgVGFiZWxsYSIsCiJIIEFsaWduIjogIkFsbGluZWFtZW50byBIIiwKIlRvcCI6ICJJbiBhbHRvIiwKIkhlYWRlciBjZWxsIjogImNlbGxhIGQnaW50ZXN0YXppb25lIiwKIkNvbHVtbiI6ICJDb2xvbm5hIiwKIlJvdyBncm91cCI6ICJHcnVwcG8gZGkgUmlnaGUiLAoiQ2VsbCI6ICJDZWxsYSIsCiJNaWRkbGUiOiAiSW4gbWV6em8iLAoiQ2VsbCB0eXBlIjogIlRpcG8gZGkgQ2VsbGEiLAoiQ29weSByb3ciOiAiQ29waWEgUmlnYSIsCiJSb3cgcHJvcGVydGllcyI6ICJQcm9wcmlldFx1MDBlMCBkZWxsYSBSaWdhIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcGlldFx1MDBlMCBkZWxsYSBUYWJlbGxhIiwKIkJvdHRvbSI6ICJJbiBmb25kbyIsCiJWIEFsaWduIjogIkFsbGluZWFtZW50byBWIiwKIkhlYWRlciI6ICJIZWFkZXIiLAoiUmlnaHQiOiAiRGVzdHJhIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJpc2NpIHVuYSBDb2xvbm5hIERvcG8iLAoiQ29scyI6ICJDb2xvbm5lIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJpc2NpIHVuYSBSaWdhIERvcG8iLAoiV2lkdGgiOiAiTGFyZ2hlenphIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9waWV0XHUwMGUwIGRlbGxhIENlbGxhIiwKIkxlZnQiOiAiU2luaXN0cmEiLAoiQ3V0IHJvdyI6ICJUYWdsaWEgUmlnYSIsCiJEZWxldGUgY29sdW1uIjogIkNhbmNlbGxhIENvbG9ubmEiLAoiQ2VudGVyIjogIkNlbnRybyIsCiJNZXJnZSBjZWxscyI6ICJVbmlzY2kgQ2VsbGEiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkluc2VyaXNjaSBUZW1wbGF0ZSIsCiJUZW1wbGF0ZXMiOiAiVGVtcGxhdGUiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJDb2xvcmUgQmFja2dyb3VuZCIsCiJDdXN0b20uLi4iOiAiUGVyc29uYWxpenphdG8uLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkNvbG9yZSBwZXJzb25hbGl6emF0byIsCiJObyBjb2xvciI6ICJOZXNzdW4gY29sb3JlIiwKIlRleHQgY29sb3IiOiAiQ29sb3JlIFRlc3RvIiwKIlNob3cgYmxvY2tzIjogIk1vc3RyYSBCbG9jY2hpIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiTW9zdHJhIENhcmF0dGVyaSBJbnZpc2liaWxpIiwKIldvcmRzOiB7MH0iOiAiUGFyb2xlOiB7MH0iLAoiSW5zZXJ0IjogIkluc2VyaXNjaSIsCiJGaWxlIjogIkZpbGUiLAoiRWRpdCI6ICJNb2RpZmljYSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlbWkgQUxULUY5IHBlciBpbCBtZW5cdTAwZjkuIFByZW1pIEFMVC1GMTAgcGVyIGxhIGJhcnJhIGRlZ2xpIHN0cnVtZW50aS4gUHJlbWkgQUxULTAgcGVyIGwnYWl1dG8uIiwKIlRvb2xzIjogIlN0cnVtZW50aSIsCiJWaWV3IjogIlZpc3VhbGl6YSIsCiJUYWJsZSI6ICJUYWJlbGxhIiwKIkZvcm1hdCI6ICJGb3JtYXRvIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ja.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdqYScsewoiQ3V0IjogIlx1NTIwN1x1MzA4YVx1NTNkNlx1MzA4YSIsCiJIZWFkaW5nIDUiOiAiXHU4OThiXHU1MWZhXHUzMDU3IDUiLAoiSGVhZGVyIDIiOiAiXHUzMGQ4XHUzMGMzXHUzMGMwXHUzMGZjIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUzMDRhXHU0ZjdmXHUzMDQ0XHUzMDZlXHUzMGQ2XHUzMGU5XHUzMGE2XHUzMGI2XHUzMDY3XHUzMDZmXHUzMGFmXHUzMGVhXHUzMGMzXHUzMGQ3XHUzMGRjXHUzMGZjXHUzMGM5XHU2YTVmXHU4MGZkXHUzMDkyXHU1MjI5XHU3NTI4XHUzMDU5XHUzMDhiXHUzMDUzXHUzMDY4XHUzMDRjXHUzMDY3XHUzMDRkXHUzMDdlXHUzMDViXHUzMDkzXHUzMDAyXHUzMGFkXHUzMGZjXHUzMGRjXHUzMGZjXHUzMGM5XHUzMDZlXHUzMGI3XHUzMGU3XHUzMGZjXHUzMGM4XHUzMGFiXHUzMGMzXHUzMGM4XHVmZjA4Q3RybCtYLCBDdHJsK0MsIEN0cmwrVlx1ZmYwOVx1MzA5Mlx1MzA0YVx1NGY3Zlx1MzA0NFx1NGUwYlx1MzA1NVx1MzA0NFx1MzAwMiIsCiJIZWFkaW5nIDQiOiAiXHU4OThiXHU1MWZhXHUzMDU3IDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHU4OThiXHU1MWZhXHUzMDU3IDIiLAoiUGFzdGUiOiAiXHU4Y2JjXHUzMDhhXHU0ZWQ4XHUzMDUxIiwKIkNsb3NlIjogIlx1OTU4OVx1MzA1OFx1MzA4YiIsCiJGb250IEZhbWlseSI6ICJcdTMwZDVcdTMwYTlcdTMwZjNcdTMwYzhcdTMwZDVcdTMwYTFcdTMwZGZcdTMwZWFcdTMwZmMiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJcdTUzZjNcdTViYzRcdTMwNWIiLAoiTmV3IGRvY3VtZW50IjogIlx1NjViMFx1ODk4Zlx1MzBjOVx1MzBhZFx1MzBlNVx1MzBlMVx1MzBmM1x1MzBjOCIsCiJCbG9ja3F1b3RlIjogIlx1NWYxNVx1NzUyOCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1NzU2YVx1NTNmN1x1NGVkOFx1MzA0ZFx1N2I4N1x1Njc2MVx1NjZmOFx1MzA0ZCIsCiJIZWFkaW5nIDEiOiAiXHU4OThiXHU1MWZhXHUzMDU3IDEiLAoiSGVhZGluZ3MiOiAiXHU4OThiXHU1MWZhXHUzMDU3IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTMwYTRcdTMwZjNcdTMwYzdcdTMwZjNcdTMwYzhcdTMwOTJcdTU4OTdcdTMwODRcdTMwNTkiLAoiRm9ybWF0cyI6ICJcdTY2ZjhcdTVmMGYiLAoiSGVhZGVycyI6ICJcdTMwZDhcdTMwYzNcdTMwYzBcdTMwZmMiLAoiU2VsZWN0IGFsbCI6ICJcdTUxNjhcdTMwNjZcdTMwOTJcdTkwNzhcdTYyOWUiLAoiSGVhZGVyIDMiOiAiXHUzMGQ4XHUzMGMzXHUzMGMwXHUzMGZjIDMiLAoiQmxvY2tzIjogIlx1MzBkNlx1MzBlZFx1MzBjM1x1MzBhZiIsCiJVbmRvIjogIlx1NTE0M1x1MzA2Ylx1NjIzYlx1MzA1OSIsCiJTdHJpa2V0aHJvdWdoIjogIlx1NTNkNlx1MzA4YVx1NmQ4OFx1MzA1N1x1N2RkYSIsCiJCdWxsZXQgbGlzdCI6ICJcdTdiODdcdTY3NjFcdTY2ZjhcdTMwNGQiLAoiSGVhZGVyIDEiOiAiXHUzMGQ4XHUzMGMzXHUzMGMwXHUzMGZjIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHU0ZTBhXHU0ZWQ4XHUzMDRkXHU2NTg3XHU1YjU3IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHU2NmY4XHU1ZjBmXHUzMDkyXHUzMGFmXHUzMGVhXHUzMGEyIiwKIkZvbnQgU2l6ZXMiOiAiXHUzMGQ1XHUzMGE5XHUzMGYzXHUzMGM4XHUzMGI1XHUzMGE0XHUzMGJhIiwKIlN1YnNjcmlwdCI6ICJcdTRlMGJcdTRlZDhcdTMwNGRcdTY1ODdcdTViNTciLAoiSGVhZGVyIDYiOiAiXHUzMGQ4XHUzMGMzXHUzMGMwXHUzMGZjIDYiLAoiUmVkbyI6ICJcdTMwODRcdTMwOGFcdTc2ZjRcdTMwNTkiLAoiUGFyYWdyYXBoIjogIlx1NmJiNVx1ODQzZCIsCiJPayI6ICJPSyIsCiJCb2xkIjogIlx1NTkyYVx1NWI1NyIsCiJDb2RlIjogIlx1MzBiM1x1MzBmY1x1MzBjOSIsCiJJdGFsaWMiOiAiXHU2NTljXHU0ZjUzIiwKIkFsaWduIGNlbnRlciI6ICJcdTRlMmRcdTU5MmVcdTYzYzNcdTMwNDgiLAoiSGVhZGVyIDUiOiAiXHUzMGQ4XHUzMGMzXHUzMGMwXHUzMGZjIDUiLAoiSGVhZGluZyA2IjogIlx1ODk4Ylx1NTFmYVx1MzA1NyA2IiwKIkhlYWRpbmcgMyI6ICJcdTg5OGJcdTUxZmFcdTMwNTcgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUzMGE0XHUzMGYzXHUzMGM3XHUzMGYzXHUzMGM4XHUzMDkyXHU2ZTFiXHUzMDg5XHUzMDU5IiwKIkhlYWRlciA0IjogIlx1MzBkOFx1MzBjM1x1MzBjMFx1MzBmYyA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdThjYmNcdTMwOGFcdTRlZDhcdTMwNTFcdTMwNmZcdTczZmVcdTU3MjhcdTMwZDdcdTMwZWNcdTMwZmNcdTMwZjNcdTMwYzZcdTMwYWRcdTMwYjlcdTMwYzhcdTMwZTJcdTMwZmNcdTMwYzlcdTMwNjdcdTMwNTlcdTMwMDJcdTMwNTNcdTMwNmVcdTMwYWFcdTMwZDdcdTMwYjdcdTMwZTdcdTMwZjNcdTMwOTJcdTMwYWFcdTMwZDVcdTMwNmJcdTMwNTdcdTMwNmFcdTMwNDRcdTk2NTBcdTMwOGFcdTUxODVcdTViYjlcdTMwNmZcdTMwZDdcdTMwZWNcdTMwZmNcdTMwZjNcdTMwYzZcdTMwYWRcdTMwYjlcdTMwYzhcdTMwNjhcdTMwNTdcdTMwNjZcdThjYmNcdTMwOGFcdTRlZDhcdTMwNTFcdTMwODlcdTMwOGNcdTMwN2VcdTMwNTlcdTMwMDIiLAoiVW5kZXJsaW5lIjogIlx1NGUwYlx1N2RkYSIsCiJDYW5jZWwiOiAiXHUzMGFkXHUzMGUzXHUzMGYzXHUzMGJiXHUzMGViIiwKIkp1c3RpZnkiOiAiXHU0ZTIxXHU3YWVmXHU2M2MzXHUzMDQ4IiwKIklubGluZSI6ICJcdTMwYTRcdTMwZjNcdTMwZTlcdTMwYTRcdTMwZjMiLAoiQ29weSI6ICJcdTMwYjNcdTMwZDRcdTMwZmMiLAoiQWxpZ24gbGVmdCI6ICJcdTVkZTZcdTViYzRcdTMwNWIiLAoiVmlzdWFsIGFpZHMiOiAiXHU4ODY4XHUzMDZlXHU2N2EwXHU3ZGRhXHUzMDkyXHU3MGI5XHU3ZGRhXHUzMDY3XHU4ODY4XHU3OTNhIiwKIkxvd2VyIEdyZWVrIjogIlx1NWMwZlx1NjU4N1x1NWI1N1x1MzA2ZVx1MzBhZVx1MzBlYVx1MzBiN1x1MzBlM1x1NjU4N1x1NWI1NyIsCiJTcXVhcmUiOiAiXHU1NmRiXHU4OWQyIiwKIkRlZmF1bHQiOiAiXHUzMGM3XHUzMGQ1XHUzMGE5XHUzMGViXHUzMGM4IiwKIkxvd2VyIEFscGhhIjogIlx1NWMwZlx1NjU4N1x1NWI1N1x1MzA2ZVx1MzBhMlx1MzBlYlx1MzBkNVx1MzBhMVx1MzBkOVx1MzBjM1x1MzBjOCIsCiJDaXJjbGUiOiAiXHU1MTg2IiwKIkRpc2MiOiAiXHU3MGI5IiwKIlVwcGVyIEFscGhhIjogIlx1NTkyN1x1NjU4N1x1NWI1N1x1MzA2ZVx1MzBhMlx1MzBlYlx1MzBkNVx1MzBhMVx1MzBkOVx1MzBjM1x1MzBjOCIsCiJVcHBlciBSb21hbiI6ICJcdTU5MjdcdTY1ODdcdTViNTdcdTMwNmVcdTMwZWRcdTMwZmNcdTMwZGVcdTY1NzBcdTViNTciLAoiTG93ZXIgUm9tYW4iOiAiXHU1YzBmXHU2NTg3XHU1YjU3XHUzMDZlXHUzMGVkXHUzMGZjXHUzMGRlXHU2NTcwXHU1YjU3IiwKIk5hbWUiOiAiXHUzMGEyXHUzMGYzXHUzMGFiXHUzMGZjXHU1NDBkIiwKIkFuY2hvciI6ICJcdTMwYTJcdTMwZjNcdTMwYWJcdTMwZmNcdWZmMDhcdTMwZWFcdTMwZjNcdTMwYWZcdTMwNmVcdTUyMzBcdTkwNTRcdTcwYjlcdWZmMDkiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTMwN2VcdTMwNjBcdTRmZGRcdTViNThcdTMwNTdcdTMwNjZcdTMwNDRcdTMwNmFcdTMwNDRcdTU5MDlcdTY2ZjRcdTMwNGNcdTMwNDJcdTMwOGFcdTMwN2VcdTMwNTlcdTMwNGNcdTMwMDFcdTY3MmNcdTVmNTNcdTMwNmJcdTMwNTNcdTMwNmVcdTMwZGFcdTMwZmNcdTMwYjhcdTMwOTJcdTk2ZTJcdTMwOGNcdTMwN2VcdTMwNTlcdTMwNGJcdWZmMWYiLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1NTI0ZFx1NTZkZVx1MzA2ZVx1NGUwYlx1NjZmOFx1MzA0ZFx1MzA5Mlx1NWZhOVx1NmQzYlx1MzA1NVx1MzA1Ylx1MzA4YiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTcyNzlcdTZiOGFcdTY1ODdcdTViNTciLAoiU291cmNlIGNvZGUiOiAiXHUzMGJkXHUzMGZjXHUzMGI5XHUzMGIzXHUzMGZjXHUzMGM5IiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MzBhYlx1MzBlOVx1MzBmYyIsCiJSaWdodCB0byBsZWZ0IjogIlx1NTNmM1x1MzA0Ylx1MzA4OVx1NWRlNiIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1NWRlNlx1MzA0Ylx1MzA4OVx1NTNmMyIsCiJFbW90aWNvbnMiOiAiXHU3ZDc1XHU2NTg3XHU1YjU3IiwKIlJvYm90cyI6ICJcdTMwZWRcdTMwZGNcdTMwYzNcdTMwYzQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTMwYzlcdTMwYWRcdTMwZTVcdTMwZTFcdTMwZjNcdTMwYzhcdTMwNmVcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTMiLAoiVGl0bGUiOiAiXHUzMGJmXHUzMGE0XHUzMGM4XHUzMGViIiwKIktleXdvcmRzIjogIlx1MzBhZFx1MzBmY1x1MzBlZlx1MzBmY1x1MzBjOSIsCiJFbmNvZGluZyI6ICJcdTMwYThcdTMwZjNcdTMwYjNcdTMwZmNcdTMwYzdcdTMwYTNcdTMwZjNcdTMwYjAiLAoiRGVzY3JpcHRpb24iOiAiXHUzMGM2XHUzMGYzXHUzMGQ3XHUzMGVjXHUzMGZjXHUzMGM4XHUzMDZlXHU1MTg1XHU1YmI5IiwKIkF1dGhvciI6ICJcdTg0NTdcdTgwMDUiLAoiRnVsbHNjcmVlbiI6ICJcdTUxNjhcdTc1M2JcdTk3NjJcdTg4NjhcdTc5M2EiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1NmMzNFx1NWU3M1x1N2Y2Ylx1N2RkYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1NmEyYVx1NjViOVx1NTQxMVx1MzA2ZVx1NGY1OVx1NzY3ZCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHU3NTNiXHU1MGNmXHUzMDZlXHU2MzNmXHU1MTY1XHUzMGZiXHU3ZGU4XHU5NmM2IiwKIkdlbmVyYWwiOiAiXHU0ZTAwXHU4MjJjIiwKIkFkdmFuY2VkIjogIlx1OGE3M1x1N2QzMFx1OGEyZFx1NWI5YSIsCiJTb3VyY2UiOiAiXHU3NTNiXHU1MGNmXHUzMDZlXHUzMGJkXHUzMGZjXHUzMGI5IiwKIkJvcmRlciI6ICJcdTY3YTBcdTdkZGEiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1N2UyNlx1NmEyYVx1NmJkNFx1MzA5Mlx1NGZkZFx1NjMwMVx1MzA1OVx1MzA4YiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTdlMjZcdTY1YjlcdTU0MTFcdTMwNmVcdTRmNTlcdTc2N2QiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHU3NTNiXHU1MGNmXHUzMDZlXHU4YWFjXHU2NjBlXHU2NTg3IiwKIlN0eWxlIjogIlx1MzBiOVx1MzBiZlx1MzBhNFx1MzBlYiIsCiJEaW1lbnNpb25zIjogIlx1NzUzYlx1NTBjZlx1MzBiNVx1MzBhNFx1MzBiYVx1ZmYwOFx1NmEyYVx1MzBmYlx1N2UyNlx1ZmYwOSIsCiJJbnNlcnQgaW1hZ2UiOiAiXHU3NTNiXHU1MGNmXHUzMDZlXHU2MzNmXHU1MTY1IiwKIlpvb20gaW4iOiAiXHUzMGJhXHUzMGZjXHUzMGUwXHUzMGE0XHUzMGYzIiwKIkNvbnRyYXN0IjogIlx1MzBiM1x1MzBmM1x1MzBjOFx1MzBlOVx1MzBiOVx1MzBjOCIsCiJCYWNrIjogIlx1NjIzYlx1MzA4YiIsCiJHYW1tYSI6ICJcdTMwYWNcdTMwZjNcdTMwZGUiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHU2YzM0XHU1ZTczXHUzMDZiXHU1M2NkXHU4ZWUyIiwKIlJlc2l6ZSI6ICJcdTMwZWFcdTMwYjVcdTMwYTRcdTMwYmEiLAoiU2hhcnBlbiI6ICJcdTMwYjdcdTMwZTNcdTMwZmNcdTMwZDdcdTUzMTYiLAoiWm9vbSBvdXQiOiAiXHUzMGJhXHUzMGZjXHUzMGUwXHUzMGEyXHUzMGE2XHUzMGM4IiwKIkltYWdlIG9wdGlvbnMiOiAiXHU3NTNiXHU1MGNmXHUzMGFhXHUzMGQ3XHUzMGI3XHUzMGU3XHUzMGYzIiwKIkFwcGx5IjogIlx1OTA2OVx1NzUyOCIsCiJCcmlnaHRuZXNzIjogIlx1NjYwZVx1MzA4Ylx1MzA1NSIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1NjY0Mlx1OGEwOFx1NTZkZVx1MzA4YVx1MzA2Ylx1NTZkZVx1OGVlMiIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTUzY2RcdTY2NDJcdThhMDhcdTU2ZGVcdTMwOGFcdTMwNmJcdTU2ZGVcdThlZTIiLAoiRWRpdCBpbWFnZSI6ICJcdTc1M2JcdTUwY2ZcdTMwNmVcdTdkZThcdTk2YzYiLAoiQ29sb3IgbGV2ZWxzIjogIlx1MzBhYlx1MzBlOVx1MzBmY1x1MzBlY1x1MzBkOVx1MzBlYiIsCiJDcm9wIjogIlx1MzBhZlx1MzBlZFx1MzBjM1x1MzBkNyIsCiJPcmllbnRhdGlvbiI6ICJcdTU0MTFcdTMwNGQiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1NGUwYVx1NGUwYlx1MzA2Ylx1NTNjZFx1OGVlMiIsCiJJbnZlcnQiOiAiXHU1M2NkXHU4ZWUyIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1NjVlNVx1NGVkOFx1MzBmYlx1NjY0Mlx1NTIzYiIsCiJSZW1vdmUgbGluayI6ICJcdTMwZWFcdTMwZjNcdTMwYWZcdTMwNmVcdTUyNGFcdTk2NjQiLAoiVXJsIjogIlx1MzBlYVx1MzBmM1x1MzBhZlx1NTE0OFVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUzMGVhXHUzMGYzXHUzMGFmXHU1MTQzXHUzMGM2XHUzMGFkXHUzMGI5XHUzMGM4IiwKIkFuY2hvcnMiOiAiXHUzMGEyXHUzMGYzXHUzMGFiXHUzMGZjXHVmZjA4XHUzMGVhXHUzMGYzXHUzMGFmXHUzMDZlXHU1MjMwXHU5MDU0XHU3MGI5XHVmZjA5IiwKIkluc2VydCBsaW5rIjogIlx1MzBlYVx1MzBmM1x1MzBhZiIsCiJOZXcgd2luZG93IjogIlx1NjViMFx1ODk4Zlx1MzBhNlx1MzBhM1x1MzBmM1x1MzBjOVx1MzBhNiIsCiJOb25lIjogIlx1MzA2YVx1MzA1NyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHU1MTY1XHU1MjliXHUzMDU1XHUzMDhjXHUzMDVmVVJMXHUzMDZmXHU1OTE2XHU5MGU4XHUzMGVhXHUzMGYzXHUzMGFmXHUzMDZlXHUzMDg4XHUzMDQ2XHUzMDY3XHUzMDU5XHUzMDAyXHUzMDBjaHR0cDpcL1wvXHUzMDBkXHUzMGQ3XHUzMGVjXHUzMGQ1XHUzMGEzXHUzMGMzXHUzMGFmXHUzMGI5XHUzMDkyXHU4ZmZkXHU1MmEwXHUzMDU3XHUzMDdlXHUzMDU5XHUzMDRiXHVmZjFmIiwKIlRhcmdldCI6ICJcdTMwYmZcdTMwZmNcdTMwYjJcdTMwYzNcdTMwYzhcdTVjNWVcdTYwMjciLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTUxNjVcdTUyOWJcdTMwNTVcdTMwOGNcdTMwNWZVUkxcdTMwNmZcdTMwZTFcdTMwZmNcdTMwZWJcdTMwYTJcdTMwYzlcdTMwZWNcdTMwYjlcdTMwNmVcdTMwODhcdTMwNDZcdTMwNjdcdTMwNTlcdTMwMDJcdTMwMGNtYWlsdG86XHUzMDBkXHUzMGQ3XHUzMGVjXHUzMGQ1XHUzMGEzXHUzMGMzXHUzMGFmXHUzMGI5XHUzMDkyXHU4ZmZkXHU1MmEwXHUzMDU3XHUzMDdlXHUzMDU5XHUzMDRiXHVmZjFmIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MzBlYVx1MzBmM1x1MzBhZlx1MzA2ZVx1NjMzZlx1NTE2NVx1MzBmYlx1N2RlOFx1OTZjNiIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHU1MmQ1XHU3NTNiXHUzMDZlXHU2MzNmXHU1MTY1XHUzMGZiXHU3ZGU4XHU5NmM2IiwKIlBvc3RlciI6ICJcdTRlZTNcdTY2ZmZcdTc1M2JcdTUwY2ZcdTMwNmVcdTU4MzRcdTYyNDAiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1NGVlM1x1NjZmZlx1NTJkNVx1NzUzYlx1MzA2ZVx1NTgzNFx1NjI0MCIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1NTdjYlx1MzA4MVx1OGZiY1x1MzA3Zlx1NzUyOFx1MzBiM1x1MzBmY1x1MzBjOVx1MzA5Mlx1NGUwYlx1OGExOFx1MzA2Ylx1OGNiY1x1MzA4YVx1NGVkOFx1MzA1MVx1MzA2Nlx1MzA0Zlx1MzA2MFx1MzA1NVx1MzA0NFx1MzAwMiIsCiJJbnNlcnQgdmlkZW8iOiAiXHU1MmQ1XHU3NTNiIiwKIkVtYmVkIjogIlx1NTdjYlx1MzA4MVx1OGZiY1x1MzA3ZiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTU2ZmFcdTViOWFcdTMwYjlcdTMwZGFcdTMwZmNcdTMwYjlcdWZmMDgmbmJzcDtcdWZmMDkiLAoiUGFnZSBicmVhayI6ICJcdTMwZGFcdTMwZmNcdTMwYjhcdTUzM2FcdTUyMDdcdTMwOGEiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTMwYzZcdTMwYWRcdTMwYjlcdTMwYzhcdTMwNjhcdTMwNTdcdTMwNjZcdThjYmNcdTMwOGFcdTRlZDhcdTMwNTEiLAoiUHJldmlldyI6ICJcdTMwZDdcdTMwZWNcdTMwZDNcdTMwZTVcdTMwZmMiLAoiUHJpbnQiOiAiXHU1MzcwXHU1MjM3IiwKIlNhdmUiOiAiXHU0ZmRkXHU1YjU4IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTMwNGFcdTYzYTJcdTMwNTdcdTMwNmVcdTY1ODdcdTViNTdcdTMwNGNcdTg5OGJcdTMwNjRcdTMwNGJcdTMwOGFcdTMwN2VcdTMwNWJcdTMwOTNcdTMwNjdcdTMwNTdcdTMwNWZcdTMwMDIiLAoiUmVwbGFjZSI6ICJcdTdmNmVcdTMwNGRcdTYzZGJcdTMwNDgiLAoiTmV4dCI6ICJcdTZiMjEiLAoiV2hvbGUgd29yZHMiOiAiXHU1MzU4XHU4YTllXHU1MzU4XHU0ZjRkXHUzMDY3XHU2OTFjXHU3ZDIyXHUzMDU5XHUzMDhiIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHU2OTFjXHU3ZDIyXHUzMDY4XHU3ZjZlXHUzMDRkXHU2M2RiXHUzMDQ4IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTdmNmVcdTMwNGRcdTYzZGJcdTMwNDhcdTMwOGJcdTY1ODdcdTViNTciLAoiRmluZCI6ICJcdTY5MWNcdTdkMjIiLAoiUmVwbGFjZSBhbGwiOiAiXHU1MTY4XHUzMDY2XHUzMDkyXHU3ZjZlXHUzMDRkXHU2M2RiXHUzMDQ4XHUzMDhiIiwKIk1hdGNoIGNhc2UiOiAiXHU1OTI3XHU2NTg3XHU1YjU3XHUzMGZiXHU1YzBmXHU2NTg3XHU1YjU3XHUzMDkyXHU1MzNhXHU1MjI1XHUzMDU5XHUzMDhiIiwKIlByZXYiOiAiXHU1MjRkIiwKIlNwZWxsY2hlY2siOiAiXHUzMGI5XHUzMGRhXHUzMGViXHUzMGMxXHUzMGE3XHUzMGMzXHUzMGFmIiwKIkZpbmlzaCI6ICJcdTdkNDJcdTRlODYiLAoiSWdub3JlIGFsbCI6ICJcdTUxNjhcdTMwNjZcdTMwOTJcdTcxMjFcdTg5OTYiLAoiSWdub3JlIjogIlx1NzEyMVx1ODk5NiIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdThmOWVcdTY2ZjhcdTMwNmJcdThmZmRcdTUyYTAiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHU0ZTBhXHU1MDc0XHUzMDZiXHU4ODRjXHUzMDkyXHU2MzNmXHU1MTY1IiwKIlJvd3MiOiAiXHU4ODRjXHU2NTcwIiwKIkhlaWdodCI6ICJcdTlhZDhcdTMwNTUiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1NGUwYlx1NTA3NFx1MzA2Ylx1ODg0Y1x1MzA5Mlx1OGNiY1x1MzA4YVx1NGVkOFx1MzA1MSIsCiJBbGlnbm1lbnQiOiAiXHU5MTRkXHU3ZjZlIiwKIkJvcmRlciBjb2xvciI6ICJcdTY3YTBcdTdkZGFcdTMwNmVcdTgyNzIiLAoiQ29sdW1uIGdyb3VwIjogIlx1NTIxN1x1MzBiMFx1MzBlYlx1MzBmY1x1MzBkNyIsCiJSb3ciOiAiXHU4ODRjIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1NWRlNlx1NTA3NFx1MzA2Ylx1NTIxN1x1MzA5Mlx1NjMzZlx1NTE2NSIsCiJTcGxpdCBjZWxsIjogIlx1MzBiYlx1MzBlYlx1MzA2ZVx1NTIwNlx1NTI3MiIsCiJDZWxsIHBhZGRpbmciOiAiXHUzMGJiXHUzMGViXHU1MTg1XHU0ZjU5XHU3NjdkXHVmZjA4XHUzMGQxXHUzMGM3XHUzMGEzXHUzMGYzXHUzMGIwXHVmZjA5IiwKIkNlbGwgc3BhY2luZyI6ICJcdTMwYmJcdTMwZWJcdTMwNmVcdTk1OTNcdTk2OTQiLAoiUm93IHR5cGUiOiAiXHU4ODRjXHUzMGJmXHUzMGE0XHUzMGQ3IiwKIkluc2VydCB0YWJsZSI6ICJcdTg4NjhcdTMwNmVcdTYzM2ZcdTUxNjUiLAoiQm9keSI6ICJcdTMwZGNcdTMwYzdcdTMwYTNcdTMwZmMiLAoiQ2FwdGlvbiI6ICJcdTg4NjhcdTk4NGMiLAoiRm9vdGVyIjogIlx1MzBkNVx1MzBjM1x1MzBiZlx1MzBmYyIsCiJEZWxldGUgcm93IjogIlx1ODg0Y1x1MzA2ZVx1NTI0YVx1OTY2NCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1NGUwYVx1NTA3NFx1MzA2Ylx1ODg0Y1x1MzA5Mlx1OGNiY1x1MzA4YVx1NGVkOFx1MzA1MSIsCiJTY29wZSI6ICJcdTMwYjlcdTMwYjNcdTMwZmNcdTMwZDciLAoiRGVsZXRlIHRhYmxlIjogIlx1ODg2OFx1MzA2ZVx1NTI0YVx1OTY2NCIsCiJIIEFsaWduIjogIlx1NmMzNFx1NWU3M1x1NjViOVx1NTQxMVx1MzA2ZVx1OTE0ZFx1N2Y2ZSIsCiJUb3AiOiAiXHU0ZTBhIiwKIkhlYWRlciBjZWxsIjogIlx1MzBkOFx1MzBjM1x1MzBjMFx1MzBmY1x1MzBiYlx1MzBlYiIsCiJDb2x1bW4iOiAiXHU1MjE3IiwKIlJvdyBncm91cCI6ICJcdTg4NGNcdTMwYjBcdTMwZWJcdTMwZmNcdTMwZDciLAoiQ2VsbCI6ICJcdTMwYmJcdTMwZWIiLAoiTWlkZGxlIjogIlx1NGUyZFx1NTkyZSIsCiJDZWxsIHR5cGUiOiAiXHUzMGJiXHUzMGViXHUzMGJmXHUzMGE0XHUzMGQ3IiwKIkNvcHkgcm93IjogIlx1ODg0Y1x1MzA2ZVx1MzBiM1x1MzBkNFx1MzBmYyIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTg4NGNcdTMwNmVcdThhNzNcdTdkMzBcdThhMmRcdTViOWEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTg4NjhcdTMwNmVcdThhNzNcdTdkMzBcdThhMmRcdTViOWEiLAoiQm90dG9tIjogIlx1NGUwYiIsCiJWIEFsaWduIjogIlx1NTc4Mlx1NzZmNFx1NjViOVx1NTQxMVx1MzA2ZVx1OTE0ZFx1N2Y2ZSIsCiJIZWFkZXIiOiAiXHUzMGQ4XHUzMGMzXHUzMGMwXHUzMGZjIiwKIlJpZ2h0IjogIlx1NTNmM1x1NWJjNFx1MzA1YiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1NTNmM1x1NTA3NFx1MzA2Ylx1NTIxN1x1MzA5Mlx1NjMzZlx1NTE2NSIsCiJDb2xzIjogIlx1NTIxN1x1NjU3MCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1NGUwYlx1NTA3NFx1MzA2Ylx1ODg0Y1x1MzA5Mlx1NjMzZlx1NTE2NSIsCiJXaWR0aCI6ICJcdTVlNDUiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MzBiYlx1MzBlYlx1MzA2ZVx1OGE3M1x1N2QzMFx1OGEyZFx1NWI5YSIsCiJMZWZ0IjogIlx1NWRlNlx1NWJjNFx1MzA1YiIsCiJDdXQgcm93IjogIlx1ODg0Y1x1MzA2ZVx1NTIwN1x1MzA4YVx1NTNkNlx1MzA4YSIsCiJEZWxldGUgY29sdW1uIjogIlx1NTIxN1x1MzA2ZVx1NTI0YVx1OTY2NCIsCiJDZW50ZXIiOiAiXHU0ZTJkXHU1OTJlXHU2M2MzXHUzMDQ4IiwKIk1lcmdlIGNlbGxzIjogIlx1MzBiYlx1MzBlYlx1MzA2ZVx1N2Q1MFx1NTQwOCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUzMGM2XHUzMGYzXHUzMGQ3XHUzMGVjXHUzMGZjXHUzMGM4XHUzMDZlXHU2MzNmXHU1MTY1IiwKIlRlbXBsYXRlcyI6ICJcdTMwYzZcdTMwZjNcdTMwZDdcdTMwZWNcdTMwZmNcdTMwYzhcdTU0MGQiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTgwY2NcdTY2NmZcdTgyNzIiLAoiQ3VzdG9tLi4uIjogIlx1MzBhYlx1MzBiOVx1MzBiZlx1MzBlMC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUzMGFiXHUzMGI5XHUzMGJmXHUzMGUwXHUzMGFiXHUzMGU5XHUzMGZjIiwKIk5vIGNvbG9yIjogIlx1MzBhYlx1MzBlOVx1MzBmY1x1MzA2YVx1MzA1NyIsCiJUZXh0IGNvbG9yIjogIlx1MzBjNlx1MzBhZFx1MzBiOVx1MzBjOFx1MzA2ZVx1ODI3MiIsCiJTaG93IGJsb2NrcyI6ICJcdTY1ODdcdTdhZTBcdTMwNmVcdTUzM2FcdTUyMDdcdTMwOGFcdTMwOTJcdTcwYjlcdTdkZGFcdTMwNjdcdTg4NjhcdTc5M2EiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTRlMGRcdTUzZWZcdTg5OTZcdTY1ODdcdTViNTdcdTMwOTJcdTg4NjhcdTc5M2EiLAoiV29yZHM6IHswfSI6ICJcdTUzNThcdThhOWVcdTY1NzA6IHswfSIsCiJJbnNlcnQiOiAiXHU2MzNmXHU1MTY1IiwKIkZpbGUiOiAiXHUzMGQ1XHUzMGExXHUzMGE0XHUzMGViIiwKIkVkaXQiOiAiXHU3ZGU4XHU5NmM2IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1NjZmOFx1NWYwZlx1NGVkOFx1MzA0ZFx1MzBjNlx1MzBhZFx1MzBiOVx1MzBjOFx1MzA2ZVx1N2RlOFx1OTZjNlx1NzUzYlx1OTc2Mlx1MzAwMkFMVC1GOVx1MzA2N1x1MzBlMVx1MzBjYlx1MzBlNVx1MzBmY1x1MzAwMUFMVC1GMTBcdTMwNjdcdTMwYzRcdTMwZmNcdTMwZWJcdTMwZDBcdTMwZmNcdTMwMDFBTFQtMFx1MzA2N1x1MzBkOFx1MzBlYlx1MzBkN1x1MzA0Y1x1ODg2OFx1NzkzYVx1MzA1NVx1MzA4Y1x1MzA3ZVx1MzA1OVx1MzAwMiIsCiJUb29scyI6ICJcdTMwYzRcdTMwZmNcdTMwZWIiLAoiVmlldyI6ICJcdTg4NjhcdTc5M2EiLAoiVGFibGUiOiAiXHU4ODY4IiwKIkZvcm1hdCI6ICJcdTY2ZjhcdTVmMGYiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/kab.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrYWInLHsKIkN1dCI6ICJHemVtIiwKIkhlYWRpbmcgNSI6ICJIZWFkaW5nIDUiLAoiSGVhZGVyIDIiOiAiQXp3ZWwgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiIsCiJIZWFkaW5nIDQiOiAiSGVhZGluZyA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIkhlYWRpbmcgMiIsCiJQYXN0ZSI6ICJTZW50ZVx1MWUwZCIsCiJDbG9zZSI6ICJNZGVsIiwKIkZvbnQgRmFtaWx5IjogIlRhc2Vmc2l0IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAidGFyaWdsYSBcdTAyNjNlciB6ZWxtYVx1MWUwZCIsCiJOZXcgZG9jdW1lbnQiOiAiQXJyYXQgYW1heW51dCIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJUYWJkYXJ0IHMgd3VcdTFlNmRcdTFlNmR1bmVuIiwKIkhlYWRpbmcgMSI6ICJIZWFkaW5nIDEiLAoiSGVhZGluZ3MiOiAiSXpld2xlbiIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiU2ltXHUwMjYzdXIgYXNpXHUxZTkzaSIsCiJGb3JtYXRzIjogIkltYXNhbGVuIiwKIkhlYWRlcnMiOiAiSXpld2xlbiIsCiJTZWxlY3QgYWxsIjogIkZyZW4ga3VsZWMiLAoiSGVhZGVyIDMiOiAiQXp3ZWwgMyIsCiJCbG9ja3MiOiAiSVx1MWUyNWVkcmFuIiwKIlVuZG8iOiAiRXJyLWQiLAoiU3RyaWtldGhyb3VnaCI6ICJTdHJpa2V0aHJvdWdoIiwKIkJ1bGxldCBsaXN0IjogIlRhYmRhcnQgcyB0bGlsbGFjIiwKIkhlYWRlciAxIjogIkF6d2VsIDEiLAoiU3VwZXJzY3JpcHQiOiAiU3VwZXJzY3JpcHQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJDbGVhciBmb3JtYXR0aW5nIiwKIkZvbnQgU2l6ZXMiOiAiVGlkZGkgbiB0c2Vmc2l0IiwKIlN1YnNjcmlwdCI6ICJTdWJzY3JpcHQiLAoiSGVhZGVyIDYiOiAiQXp3ZWwgNiIsCiJSZWRvIjogIlJlZG8iLAoiUGFyYWdyYXBoIjogInRhc2VkZGFydCIsCiJPayI6ICJJaCIsCiJCb2xkIjogIlRpcmEgdGF6dXJhbnQiLAoiQ29kZSI6ICJUYW5nYWx0IiwKIkl0YWxpYyI6ICJUaXJhIHlla25hbiIsCiJBbGlnbiBjZW50ZXIiOiAiRGkgdGxlbWFzdCIsCiJIZWFkZXIgNSI6ICJIZWFkZXIgNSIsCiJIZWFkaW5nIDYiOiAiSGVhZGluZyA2IiwKIkhlYWRpbmcgMyI6ICJIZWFkaW5nIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlNpbWNcdTFlNmR1XHUxZTI1IGFzaVx1MWU5M2kiLAoiSGVhZGVyIDQiOiAiQXp3ZWwgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIiwKIlVuZGVybGluZSI6ICJBZGVycmVyIiwKIkNhbmNlbCI6ICJTZW1tZXQiLAoiSnVzdGlmeSI6ICJKdXN0aWZ5IiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJOXHUwMjYzZWwiLAoiQWxpZ24gbGVmdCI6ICJUYXJpZ2xhIFx1MDI2M2VyIHplbG1hXHUxZTBkIiwKIlZpc3VhbCBhaWRzIjogIlZpc3VhbCBhaWRzIiwKIkxvd2VyIEdyZWVrIjogIkdyaWsgYW1lXHUxZTkzeWFuIiwKIlNxdWFyZSI6ICJBbWt1XHUxZTkzIiwKIkRlZmF1bHQiOiAiTGV4XHUxZTYzYXMiLAoiTG93ZXIgQWxwaGEiOiAiQWxwaGEgYW1lXHUxZTkzeWFuIiwKIkNpcmNsZSI6ICJUYXdpbmVzdCIsCiJEaXNjIjogIkFcdTFlMGRlYnNpIiwKIlVwcGVyIEFscGhhIjogIkFsZmEgYW1lcXJhbiIsCiJVcHBlciBSb21hbiI6ICJSdW1hbiBhbWVxcmFuIiwKIkxvd2VyIFJvbWFuIjogIlJ1bWFuIGFtZWN0dVx1MWUyNSIsCiJOYW1lIjogIklzZW0iLAoiQW5jaG9yIjogIlRhbWRleXQiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJJYmVkZGlsZW4gdXIgdHdhc2tlbHNlbiBhcmEgdGViXHUwMjYzaVx1MWUwZCBhZCB0ZWZmXHUwMjYzZVx1MWUwZCA/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJSZXN0b3JlIGxhc3QgZHJhZnQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQXNraWwgdXNsaWciLAoiU291cmNlIGNvZGUiOiAiVGFuZ2FsdCB0YVx1MDI2M2JhbHV0IiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkluaSIsCiJSaWdodCB0byBsZWZ0IjogIlNlZyB5ZWZ1cyBcdTAyNjNlciB6ZWxtYVx1MWUwZCIsCiJMZWZ0IHRvIHJpZ2h0IjogIlNlZyB6ZWxtYVx1MWUwZCBcdTAyNjNlciB5ZWZ1cyIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJJcmF0ZW4gbiB3YXJhdCIsCiJUaXRsZSI6ICJBendlbCIsCiJLZXl3b3JkcyI6ICJBd2FsZW4geXVmcmFyZW4iLAoiRW5jb2RpbmciOiAiQXNldHRlbmdlbCIsCiJEZXNjcmlwdGlvbiI6ICJBZ2xhbSIsCiJBdXRob3IiOiAiQW1lc2thciIsCiJGdWxsc2NyZWVuIjogIkFnZGlsIGFcdTAxMGR1cmFuIiwKIkhvcml6b250YWwgbGluZSI6ICJBamVycmlcdTFlMGQgYWdsYXdhbiIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlRhbHVudCB0YWdsYXdhbnQiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkdlclwvXHUxZTkycmVnIHR1Z25hIiwKIkdlbmVyYWwiOiAiQW1hdHUiLAoiQWR2YW5jZWQiOiAiQW5hXHUxZTkzaSIsCiJTb3VyY2UiOiAiQVx1MDI2M2JhbHUiLAoiQm9yZGVyIjogIklyaSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiQ29uc3RyYWluIHByb3BvcnRpb25zIiwKIlZlcnRpY2FsIHNwYWNlIjogIlRhbHVudCB0YXJhdGFrdCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJBZ2xhbSBuIHR1Z25hIiwKIlN0eWxlIjogIkFcdTAyNjNhbmliIiwKIkRpbWVuc2lvbnMiOiAiVGlzZWt0YSIsCiJJbnNlcnQgaW1hZ2UiOiAiR2VyIHR1Z25hIiwKIlpvb20gaW4iOiAiWm9vbSBpbiIsCiJDb250cmFzdCI6ICJDb250cmFzdCIsCiJCYWNrIjogIlR1XHUwMjYzYWxpbiIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJUdXp0dHlhIHRhZ3Jhd2FudCIsCiJSZXNpemUiOiAiQmVkZGVsIHRpZGRpIiwKIlNoYXJwZW4iOiAiQWZmaW5lciIsCiJab29tIG91dCI6ICJab29tIG91dCIsCiJJbWFnZSBvcHRpb25zIjogIlRpeHRpXHUxZTViaXlpbiBuIHR1Z25hIiwKIkFwcGx5IjogIlNuZXMiLAoiQnJpZ2h0bmVzcyI6ICJUYWZhdCIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlR1enlhIHl1Z2RhbiB0YW1yaWx0IiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlR1enlhIG1nYWwgdGFtcmlsdCIsCiJFZGl0IGltYWdlIjogIlx1MWU5MnJlZyB0dWduYSIsCiJDb2xvciBsZXZlbHMiOiAiSXN3aXJlbiBuIHlpbmkiLAoiQ3JvcCI6ICJSb2duZXIiLAoiT3JpZW50YXRpb24iOiAiVGFcdTAyNjNkYSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiVHV6eWEgdGFyYXRha3QiLAoiSW52ZXJ0IjogIlR0aSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJHZXIgYXplbXpcL2FzcmFnIiwKIlJlbW92ZSBsaW5rIjogIktrZXMgYXpkYXkiLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiQVx1MWUwZHJpcyBhcmEgeWV0dHdhYmVxcVx1MWUwZGVuIiwKIkFuY2hvcnMiOiAiVGltZHlpbiIsCiJJbnNlcnQgbGluayI6ICJHZXIgYXpkYXkiLAoiTmV3IHdpbmRvdyI6ICJBc2ZheWx1IGFtYXludXQiLAoiTm9uZSI6ICJVbGFjIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkwgaSB0ZXNrZWNtZVx1MWUwZCB0ZXR0YmFuLWQgZCBhemRheSB1ZmZpXHUwMjYzLiBUZWJcdTAyNjNpXHUxZTBkIGFkIHMtdGVybnVcdTFlMGQgYXp3aXIgaHR0cDpcL1wvICA/IiwKIlRhcmdldCI6ICJUYXJnZXQiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJVUkwgaSB0ZXNrZWNtZVx1MWUwZCB0ZXR0YmFuLWQgZCB0YW5zYSBlbWFpbC4gdGViXHUwMjYzaVx1MWUwZCBhZCBzLXRlcm51XHUxZTBkIGF6d2lyIG1haWx0byA6ID8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiR2VyXC9cdTFlOTNyZWcgYXpkYXkiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkdlclwvXHUxZTkzcmVnIGF2aWR5dSIsCiJQb3N0ZXIiOiAiUG9zdGVyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBXHUwMjYzYmFsdSBhbWxlbGxheSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiLAoiSW5zZXJ0IHZpZGVvIjogIkdlciBhdmlkeXUiLAoiRW1iZWQiOiAiRW1iZWQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiVGFsdW50IHVyIG5ldHR3YWd6YW0gYXJhIiwKIlBhZ2UgYnJlYWsiOiAiQW5nYXogbiB1c2VidGVyIiwKIlBhc3RlIGFzIHRleHQiOiAiU2VudGVcdTFlMGQgZCBhXHUxZTBkcmlzIiwKIlByZXZpZXciOiAiU2tlbiIsCiJQcmludCI6ICJTaWdnZXoiLAoiU2F2ZSI6ICJTZWtsZXMiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlVyIGQtbnVmaSBhcmEgYXpyYXIgaSBkLXlldHR1bmVma2VuLiIsCiJSZXBsYWNlIjogIlNlbXNlbHNpIiwKIk5leHQiOiAiV2luIFx1MDI2M2VycyIsCiJXaG9sZSB3b3JkcyI6ICJBd2FsIHVtbWlkIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiTmFkaSBzZW1zZWxzaSIsCiJSZXBsYWNlIHdpdGgiOiAiU2Vtc2Vsc2kgcyIsCiJGaW5kIjogIk5hZGkiLAoiUmVwbGFjZSBhbGwiOiAiU2Vtc2Vsc2kga3VsZWMiLAoiTWF0Y2ggY2FzZSI6ICJNYXRjaCBjYXNlIiwKIlByZXYiOiAiV2luIHllenJpbiIsCiJTcGVsbGNoZWNrIjogIkFzZVx1MDI2M3RpIG4gdGlyYSIsCiJGaW5pc2giOiAiRmFrIiwKIklnbm9yZSBhbGwiOiAiWmdlbCBrdWxlYyIsCiJJZ25vcmUiOiAiWmdlbCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJSbnUtdCBzIGFtYXdhbCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJHZXIgYWR1ciBkZWZmaXIiLAoiUm93cyI6ICJBZHVyZW4iLAoiSGVpZ2h0IjogIlRlXHUwMjYzemkiLAoiUGFzdGUgcm93IGFmdGVyIjogIlNlbnRlXHUxZTBkIGFkdXIgZGVmZmlyIiwKIkFsaWdubWVudCI6ICJUYXJpZ2xhIiwKIkJvcmRlciBjb2xvciI6ICJJbmkgbiB5aXJpIiwKIkNvbHVtbiBncm91cCI6ICJBZ3JhdyBuIHRnZWpkYSIsCiJSb3ciOiAiQWR1ciIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJTZW50ZVx1MWUwZCB0YWdlamRpdCBzZGF0IiwKIlNwbGl0IGNlbGwiOiAiQlx1MWUwZHUgdGl4eGFtaW4iLAoiQ2VsbCBwYWRkaW5nIjogIlRhbWEgbiB0ZXh4YW10IiwKIkNlbGwgc3BhY2luZyI6ICJUbHVudCBnZXIgdGV4eGFtaW4iLAoiUm93IHR5cGUiOiAiQW5hdyBuIHdhZHVyIiwKIkluc2VydCB0YWJsZSI6ICJHZXIgdGFmZWx3aXQiLAoiQm9keSI6ICJUYWZrYSIsCiJDYXB0aW9uIjogIkNhcHRpb24iLAoiRm9vdGVyIjogIkFcdTFlMGRhciIsCiJEZWxldGUgcm93IjogIktrZXMgdGFnZWpkaXQiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJTZW50ZVx1MWUwZCBhZHVyIHNkYXQiLAoiU2NvcGUiOiAiU2NvcGUiLAoiRGVsZXRlIHRhYmxlIjogIktrZXMgdGFmZWx3aXQiLAoiSCBBbGlnbiI6ICJUYXJpZ2xhIHRhZ2xhd2FudCIsCiJUb3AiOiAiVWtzYXdlbiIsCiJIZWFkZXIgY2VsbCI6ICJUYXNlblx1MWU2ZGlcdTFlMGR0IG4gdGV4eGFtdCIsCiJDb2x1bW4iOiAiVGFnZWpkaXQiLAoiUm93IGdyb3VwIjogIkFncmF3IG4gd2FkdXJlbiIsCiJDZWxsIjogIlRheHhhbXQiLAoiTWlkZGxlIjogIkRpIHRsZW1tYXN0IiwKIkNlbGwgdHlwZSI6ICJBbmF3IG4gdGV4eGFtdCIsCiJDb3B5IHJvdyI6ICJOXHUwMjYzZWwgYWR1ciIsCiJSb3cgcHJvcGVydGllcyI6ICJJcmF0ZW4gbiB1ZHVyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiSXJhdGVuIG4gdGZlbHdpdCIsCiJCb3R0b20iOiAiVWtzYXIiLAoiViBBbGlnbiI6ICJUYXJpZ2xhIHRhcmF0YWt0IiwKIkhlYWRlciI6ICJUYXNlbnRpXHUxZTBkdCIsCiJSaWdodCI6ICJcdTAxOTRlciB5ZWZ1cyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlNlbnRlXHUxZTBkIHRhZ2VqZGl0IGRlZmZpciIsCiJDb2xzIjogIlRpZ2VqZGEiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJHZXIgYWR1ciBzZGF0IiwKIldpZHRoIjogIlRlaHJpIiwKIkNlbGwgcHJvcGVydGllcyI6ICJJcmF0ZW4gbiB0ZXh4YW10IiwKIkxlZnQiOiAiXHUwMTk0ZXIgemVsbWFcdTFlMGQiLAoiQ3V0IHJvdyI6ICJHemVtIGFkdXIiLAoiRGVsZXRlIGNvbHVtbiI6ICJLa2VzIHRhZ2VqZGl0IiwKIkNlbnRlciI6ICJEaSB0bGVtbWFzdCIsCiJNZXJnZSBjZWxscyI6ICJTZWRkdWtlbCB0aXh4YW1pbiIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiR2VyIHRhbXVkZGltdCIsCiJUZW1wbGF0ZXMiOiAiVGltdWRpbWluIiwKIkJhY2tncm91bmQgY29sb3IiOiAiSW5pIG4gdWdpbGFsIiwKIkN1c3RvbS4uLiI6ICJDdXN0b20uLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkN1c3RvbSBjb2xvciIsCiJObyBjb2xvciI6ICJVbGFjIGluaSIsCiJUZXh0IGNvbG9yIjogIkluaSBuIHVcdTFlMGRyaXMiLAoiU2hvdyBibG9ja3MiOiAiQmVxcWVcdTFlMGQgaVx1MWUyNWVkcmFuIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiQmVxcWVcdTFlMGQgaXNla2tpbGVuIHVmZmlyZW4iLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJHZXIiLAoiRmlsZSI6ICJBZmF5bHUiLAoiRWRpdCI6ICJcdTFlOTJyZWciLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiLAoiVG9vbHMiOiAiSWZlY2thIiwKIlZpZXciOiAiVGFtdVx1MDI2M2xpIiwKIlRhYmxlIjogIlRhZmVsd2l0IiwKIkZvcm1hdCI6ICJBbWFzYWwiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ka_GE.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrYV9HRScsewoiQ3V0IjogIlx1MTBkMFx1MTBkYlx1MTBkZFx1MTBlZFx1MTBlMFx1MTBkMCIsCiJIZWFkaW5nIDUiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IDUiLAoiSGVhZGVyIDIiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUxMGQ3XHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGRjIFx1MTBkMVx1MTBlMFx1MTBkMFx1MTBlM1x1MTBkNlx1MTBkNFx1MTBlMFx1MTBlMSBcdTEwZDBcdTEwZTAgXHUxMGQwXHUxMGU1XHUxMGQ1XHUxMGUxIFx1MTBkMVx1MTBlM1x1MTBlNFx1MTBlMFx1MTBlMlx1MTBlOFx1MTBkOCBcdTEwZThcdTEwZDRcdTEwZWVcdTEwZWNcdTEwZDRcdTEwZDVcdTEwZDhcdTEwZTEgXHUxMGRiXHUxMGVlXHUxMGQwXHUxMGUwXHUxMGQzXHUxMGQwXHUxMGVkXHUxMGQ0XHUxMGUwXHUxMGQwLiBcdTEwZDJcdTEwZDdcdTEwZWVcdTEwZGRcdTEwZDVcdTEwZDcgXHUxMGUxXHUxMGQwXHUxMGRjXHUxMGQwXHUxMGVhXHUxMGQ1XHUxMGRhXHUxMGRkXHUxMGQzIFx1MTBkOFx1MTBlMVx1MTBkMFx1MTBlMFx1MTBkMlx1MTBkNFx1MTBkMVx1MTBkYVx1MTBkZFx1MTBkNyBDdHJsK1hcL0NcL1YgXHUxMGRiXHUxMGQwXHUxMGRhXHUxMGUxXHUxMGQwXHUxMGVlXHUxMGRiXHUxMGRkXHUxMGQxXHUxMGQ4IFx1MTBkOVx1MTBkZFx1MTBkYlx1MTBkMVx1MTBkOFx1MTBkY1x1MTBkMFx1MTBlYVx1MTBkOFx1MTBkNFx1MTBkMVx1MTBkOFx1MTBkNy4iLAoiSGVhZGluZyA0IjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCA0IiwKIkRpdiI6ICJcdTEwZDJcdTEwZDBcdTEwZGNcdTEwZDBcdTEwZWNcdTEwZDhcdTEwZGFcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSGVhZGluZyAyIjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCAyIiwKIlBhc3RlIjogIlx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCIsCiJDbG9zZSI6ICJcdTEwZDNcdTEwZDBcdTEwZWVcdTEwZTNcdTEwZTBcdTEwZDVcdTEwZDAiLAoiRm9udCBGYW1pbHkiOiAiXHUxMGU0XHUxMGRkXHUxMGRjXHUxMGUyXHUxMGQ4IiwKIlByZSI6ICJcdTEwZGVcdTEwZTBcdTEwZDRcdTEwZTRcdTEwZGRcdTEwZTBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDgiLAoiQWxpZ24gcmlnaHQiOiAiXHUxMGQyXHUxMGQwXHUxMGQwXHUxMGUxXHUxMGVjXHUxMGRkXHUxMGUwXHUxMGQ0IFx1MTBkYlx1MTBkMFx1MTBlMFx1MTBlZlx1MTBkNVx1MTBkY1x1MTBkOFx1MTBkNSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUxMGQwXHUxMGVlXHUxMGQwXHUxMGRhXHUxMGQ4IFx1MTBkM1x1MTBkZFx1MTBkOVx1MTBlM1x1MTBkYlx1MTBkNFx1MTBkY1x1MTBlMlx1MTBkOCIsCiJCbG9ja3F1b3RlIjogIlx1MTBkMVx1MTBkYVx1MTBkZFx1MTBkOVx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBlM1x1MTBkYVx1MTBkOCBcdTEwZWFcdTEwZDhcdTEwZTJcdTEwZDBcdTEwZTJcdTEwZDAiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTEwZDNcdTEwZDBcdTEwZGNcdTEwZGRcdTEwZGJcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDggXHUxMGUxXHUxMGQ4XHUxMGQwIiwKIkhlYWRpbmcgMSI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDggMSIsCiJIZWFkaW5ncyI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDgiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MTBkMFx1MTBkMVx1MTBkNlx1MTBkMFx1MTBlYVx1MTBkOFx1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZDZcdTEwZTBcdTEwZDNcdTEwZDAiLAoiRm9ybWF0cyI6ICJcdTEwZTRcdTEwZGRcdTEwZTBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDRcdTEwZDFcdTEwZDgiLAoiSGVhZGVycyI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDgiLAoiU2VsZWN0IGFsbCI6ICJcdTEwZTdcdTEwZDVcdTEwZDRcdTEwZGFcdTEwZDBcdTEwZTEgXHUxMGRiXHUxMGRkXHUxMGU2XHUxMGRjXHUxMGQ4XHUxMGU4XHUxMGQ1XHUxMGRjXHUxMGQwIiwKIkhlYWRlciAzIjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCAzIiwKIkJsb2NrcyI6ICJcdTEwZDFcdTEwZGFcdTEwZGRcdTEwZDlcdTEwZDRcdTEwZDFcdTEwZDgiLAoiVW5kbyI6ICJcdTEwZDNcdTEwZDBcdTEwZDFcdTEwZTBcdTEwZTNcdTEwZGNcdTEwZDRcdTEwZDFcdTEwZDAiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTEwZThcdTEwZTNcdTEwZDAgXHUxMGVlXHUxMGQwXHUxMGQ2XHUxMGQ4IiwKIkJ1bGxldCBsaXN0IjogIlx1MTBkMVx1MTBlM1x1MTBkYVx1MTBkNFx1MTBlMiBcdTEwZTFcdTEwZDhcdTEwZDAiLAoiSGVhZGVyIDEiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUxMGQ2XHUxMGQ0XHUxMGQzXHUxMGQwIFx1MTBkOFx1MTBkY1x1MTBkM1x1MTBkNFx1MTBlNVx1MTBlMVx1MTBkOCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MTBlNFx1MTBkZFx1MTBlMFx1MTBkYlx1MTBkMFx1MTBlMlx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkOFx1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZTFcdTEwZTNcdTEwZTRcdTEwZDdcdTEwZDBcdTEwZDVcdTEwZDRcdTEwZDFcdTEwZDAiLAoiRm9udCBTaXplcyI6ICJcdTEwZTRcdTEwZGRcdTEwZGNcdTEwZTJcdTEwZDhcdTEwZTEgXHUxMGQ2XHUxMGRkXHUxMGRiXHUxMGQwIiwKIlN1YnNjcmlwdCI6ICJcdTEwZTVcdTEwZDVcdTEwZDRcdTEwZDNcdTEwZDAgXHUxMGQ4XHUxMGRjXHUxMGQzXHUxMGQ0XHUxMGU1XHUxMGUxXHUxMGQ4IiwKIkhlYWRlciA2IjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCA2IiwKIlJlZG8iOiAiXHUxMGQyXHUxMGQwXHUxMGRiXHUxMGQ0XHUxMGRkXHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlBhcmFncmFwaCI6ICJcdTEwZGVcdTEwZDBcdTEwZTBcdTEwZDBcdTEwZDJcdTEwZTBcdTEwZDBcdTEwZTRcdTEwZDgiLAoiT2siOiAiXHUxMGQ5XHUxMGQwXHUxMGUwXHUxMGQyXHUxMGQ4IiwKIkJvbGQiOiAiXHUxMGRiXHUxMGQ5XHUxMGQ1XHUxMGQ0XHUxMGQ3XHUxMGUwXHUxMGQ4IiwKIkNvZGUiOiAiXHUxMGQ5XHUxMGRkXHUxMGQzXHUxMGQ4IiwKIkl0YWxpYyI6ICJcdTEwZDNcdTEwZDBcdTEwZWVcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDgiLAoiQWxpZ24gY2VudGVyIjogIlx1MTBkMlx1MTBkMFx1MTBkMFx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNCBcdTEwZWFcdTEwZDRcdTEwZGNcdTEwZTJcdTEwZTBcdTEwZThcdTEwZDgiLAoiSGVhZGVyIDUiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IDUiLAoiSGVhZGluZyA2IjogIlx1MTBlMVx1MTBkMFx1MTBkN1x1MTBkMFx1MTBlM1x1MTBlMFx1MTBkOCA2IiwKIkhlYWRpbmcgMyI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDggMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUxMGQwXHUxMGQxXHUxMGQ2XHUxMGQwXHUxMGVhXHUxMGQ4XHUxMGUxIFx1MTBlOFx1MTBkNFx1MTBkYlx1MTBlYVx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJIZWFkZXIgNCI6ICJcdTEwZTFcdTEwZDBcdTEwZDdcdTEwZDBcdTEwZTNcdTEwZTBcdTEwZDggNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUxMGUyXHUxMGQ0XHUxMGU1XHUxMGUxXHUxMGUyXHUxMGQ4XHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCBcdTEwZTlcdTEwZDVcdTEwZDRcdTEwZTNcdTEwZGFcdTEwZDRcdTEwZDFcdTEwZTBcdTEwZDhcdTEwZDUgXHUxMGUwXHUxMGQ0XHUxMGRmXHUxMGQ4XHUxMGRiXHUxMGU4XHUxMGQ4XHUxMGQwLiBcdTEwZTJcdTEwZDRcdTEwZTVcdTEwZTFcdTEwZTJcdTEwZDggXHUxMGU5XHUxMGQwXHUxMGQ4XHUxMGUxXHUxMGRiXHUxMGQ0XHUxMGQ1XHUxMGQwIFx1MTBlM1x1MTBlNFx1MTBkZFx1MTBlMFx1MTBkYlx1MTBkMFx1MTBlMlx1MTBkZFx1MTBkNyBcdTEwZTFcdTEwZDBcdTEwZGNcdTEwZDBcdTEwZGIgXHUxMGQwXHUxMGRiIFx1MTBkN1x1MTBkNVx1MTBkOFx1MTBlMVx1MTBkNFx1MTBkMVx1MTBkMFx1MTBlMSBcdTEwZDBcdTEwZTAgXHUxMGQyXHUxMGQwXHUxMGQ3XHUxMGQ4XHUxMGU4XHUxMGQwXHUxMGQ1XHUxMGQ3LiIsCiJVbmRlcmxpbmUiOiAiXHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGQzXHUxMGQwIFx1MTBlZVx1MTBkMFx1MTBkNlx1MTBkOCIsCiJDYW5jZWwiOiAiXHUxMGQyXHUxMGQwXHUxMGUzXHUxMGU1XHUxMGRiXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkp1c3RpZnkiOiAiXHUxMGQyXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGUzXHUxMGRhXHUxMGQ4IiwKIklubGluZSI6ICJcdTEwZWVcdTEwZDBcdTEwZDZcdTEwZThcdTEwZDhcdTEwZDNcdTEwZDAiLAoiQ29weSI6ICJcdTEwZDlcdTEwZGRcdTEwZGVcdTEwZDhcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDAiLAoiQWxpZ24gbGVmdCI6ICJcdTEwZDJcdTEwZDBcdTEwZDBcdTEwZTFcdTEwZWNcdTEwZGRcdTEwZTBcdTEwZDQgXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGVhXHUxMGVlXHUxMGRjXHUxMGQ4XHUxMGQ1IiwKIlZpc3VhbCBhaWRzIjogIlx1MTBkNVx1MTBkOFx1MTBkNlx1MTBlM1x1MTBkMFx1MTBkYVx1MTBkOFx1MTBkNlx1MTBkMFx1MTBlYVx1MTBkOFx1MTBkMCIsCiJMb3dlciBHcmVlayI6ICJcdTEwZDNcdTEwZDBcdTEwZDFcdTEwZDBcdTEwZGFcdTEwZDggXHUxMGQxXHUxMGQ0XHUxMGUwXHUxMGViXHUxMGRjXHUxMGUzXHUxMGRhXHUxMGQ4IiwKIlNxdWFyZSI6ICJcdTEwZDlcdTEwZDVcdTEwZDBcdTEwZDNcdTEwZTBcdTEwZDBcdTEwZTJcdTEwZDgiLAoiRGVmYXVsdCI6ICJcdTEwZTFcdTEwZTJcdTEwZDBcdTEwZGNcdTEwZDNcdTEwZDBcdTEwZTBcdTEwZTJcdTEwZTNcdTEwZGFcdTEwZDgiLAoiTG93ZXIgQWxwaGEiOiAiXHUxMGQzXHUxMGQwXHUxMGQxXHUxMGQwXHUxMGRhXHUxMGQ4IFx1MTBkMFx1MTBkYVx1MTBlNFx1MTBkMCIsCiJDaXJjbGUiOiAiXHUxMGVjXHUxMGUwXHUxMGQ0IiwKIkRpc2MiOiAiXHUxMGQzXHUxMGQ4XHUxMGUxXHUxMGQ5XHUxMGQ4IiwKIlVwcGVyIEFscGhhIjogIlx1MTBkYlx1MTBkMFx1MTBlNlx1MTBkMFx1MTBkYVx1MTBkOCBcdTEwZDBcdTEwZGFcdTEwZTRcdTEwZDAiLAoiVXBwZXIgUm9tYW4iOiAiXHUxMGRiXHUxMGQwXHUxMGU2XHUxMGQwXHUxMGRhXHUxMGQ4IFx1MTBlMFx1MTBkZFx1MTBkYlx1MTBkMFx1MTBlM1x1MTBkYVx1MTBkOCIsCiJMb3dlciBSb21hbiI6ICJcdTEwZDNcdTEwZDBcdTEwZDFcdTEwZDBcdTEwZGFcdTEwZDggXHUxMGUwXHUxMGRkXHUxMGRiXHUxMGQwXHUxMGUzXHUxMGRhXHUxMGQ4IiwKIk5hbWUiOiAiXHUxMGUxXHUxMGQwXHUxMGVlXHUxMGQ0XHUxMGRhXHUxMGQ4IiwKIkFuY2hvciI6ICJcdTEwZTZcdTEwZTNcdTEwZDZcdTEwZDAiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTEwZDdcdTEwZTVcdTEwZDVcdTEwZDRcdTEwZGMgXHUxMGQyXHUxMGQwXHUxMGU1XHUxMGQ1XHUxMGQ3IFx1MTBlOFx1MTBkNFx1MTBlM1x1MTBkY1x1MTBkMFx1MTBlZVx1MTBkMFx1MTBkNVx1MTBkOCBcdTEwZThcdTEwZDRcdTEwZTFcdTEwZWNcdTEwZGRcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDRcdTEwZDFcdTEwZDgsIFx1MTBkM1x1MTBkMFx1MTBlMFx1MTBlY1x1MTBkYlx1MTBlM1x1MTBkY1x1MTBkNFx1MTBkMVx1MTBlM1x1MTBkYVx1MTBkOCBcdTEwZWVcdTEwZDBcdTEwZDcgXHUxMGUwXHUxMGRkXHUxMGRiIFx1MTBlMVx1MTBlZVx1MTBkNVx1MTBkMFx1MTBkMlx1MTBkMFx1MTBkYyBcdTEwZDJcdTEwZDBcdTEwZDNcdTEwZDBcdTEwZTFcdTEwZDVcdTEwZGFcdTEwZDAgXHUxMGQyXHUxMGUxXHUxMGUzXHUxMGUwXHUxMGQ3PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUxMGQxXHUxMGRkXHUxMGRhXHUxMGRkXHUxMGUxIFx1MTBlOFx1MTBkNFx1MTBkY1x1MTBkMFx1MTBlZVx1MTBlM1x1MTBkYVx1MTBkOFx1MTBlMSBcdTEwZDBcdTEwZTZcdTEwZDNcdTEwZDJcdTEwZDRcdTEwZGNcdTEwZDAiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUxMGUxXHUxMGRlXHUxMGQ0XHUxMGVhXHUxMGQ4XHUxMGQwXHUxMGRhXHUxMGUzXHUxMGUwXHUxMGQ4IFx1MTBlMVx1MTBkOFx1MTBkYlx1MTBkMVx1MTBkZFx1MTBkYVx1MTBkZCIsCiJTb3VyY2UgY29kZSI6ICJcdTEwZWNcdTEwZTdcdTEwZDBcdTEwZTBcdTEwZGRcdTEwZTEgXHUxMGQ5XHUxMGRkXHUxMGQzXHUxMGQ4IiwKIkIiOiAiXHUxMGRhIiwKIlIiOiAiXHUxMGVjIiwKIkciOiAiXHUxMGRiIiwKIkNvbG9yIjogIlx1MTBlNFx1MTBkNFx1MTBlMFx1MTBkOCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MTBkYlx1MTBkMFx1MTBlMFx1MTBlZlx1MTBkNVx1MTBkY1x1MTBkOFx1MTBkM1x1MTBkMFx1MTBkYyBcdTEwZGJcdTEwZDBcdTEwZTBcdTEwZWFcdTEwZWVcdTEwZGNcdTEwZDhcdTEwZDUiLAoiTGVmdCB0byByaWdodCI6ICJcdTEwZGJcdTEwZDBcdTEwZTBcdTEwZWFcdTEwZWVcdTEwZGNcdTEwZDhcdTEwZDNcdTEwZDBcdTEwZGMgXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGVmXHUxMGQ1XHUxMGRjXHUxMGQ4XHUxMGQ1IiwKIkVtb3RpY29ucyI6ICJcdTEwZTFcdTEwZGJcdTEwZDBcdTEwZDhcdTEwZGFcdTEwZDhcdTEwZDlcdTEwZDRcdTEwZDFcdTEwZDgiLAoiUm9ib3RzIjogIlx1MTBlMFx1MTBkZFx1MTBkMVx1MTBkZFx1MTBkNFx1MTBkMVx1MTBkOCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MTBkM1x1MTBkZFx1MTBkOVx1MTBlM1x1MTBkYlx1MTBkNFx1MTBkY1x1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZDdcdTEwZDVcdTEwZDhcdTEwZTFcdTEwZDRcdTEwZDFcdTEwZDRcdTEwZDFcdTEwZDgiLAoiVGl0bGUiOiAiXHUxMGUxXHUxMGQwXHUxMGQ3XHUxMGQwXHUxMGUzXHUxMGUwXHUxMGQ4IiwKIktleXdvcmRzIjogIlx1MTBlMVx1MTBkMFx1MTBkOVx1MTBkNVx1MTBkMFx1MTBkY1x1MTBlYlx1MTBkZCBcdTEwZTFcdTEwZDhcdTEwZTJcdTEwZTdcdTEwZDVcdTEwZDRcdTEwZDFcdTEwZDgiLAoiRW5jb2RpbmciOiAiXHUxMGQ5XHUxMGRkXHUxMGQzXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkRlc2NyaXB0aW9uIjogIlx1MTBkMFx1MTBlZVx1MTBlY1x1MTBkNFx1MTBlMFx1MTBkMCIsCiJBdXRob3IiOiAiXHUxMGQwXHUxMGQ1XHUxMGUyXHUxMGRkXHUxMGUwXHUxMGQ4IiwKIkZ1bGxzY3JlZW4iOiAiXHUxMGUxXHUxMGQwXHUxMGQ1XHUxMGUxXHUxMGQ0IFx1MTBkNFx1MTBkOVx1MTBlMFx1MTBkMFx1MTBkY1x1MTBkOCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUxMGYwXHUxMGRkXHUxMGUwXHUxMGQ4XHUxMGQ2XHUxMGRkXHUxMGRjXHUxMGUyXHUxMGQwXHUxMGRhXHUxMGUzXHUxMGUwXHUxMGQ4IFx1MTBlZVx1MTBkMFx1MTBkNlx1MTBkOCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MTBmMFx1MTBkZFx1MTBlMFx1MTBkOFx1MTBkNlx1MTBkZFx1MTBkY1x1MTBlMlx1MTBkMFx1MTBkYVx1MTBlM1x1MTBlMFx1MTBkOCBcdTEwZTFcdTEwZDhcdTEwZDVcdTEwZTBcdTEwZWFcdTEwZDQiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkNVx1MTBkOFwvXHUxMGU4XHUxMGQ0XHUxMGQwXHUxMGUxXHUxMGVjXHUxMGRkXHUxMGUwXHUxMGQ0IFx1MTBlMVx1MTBlM1x1MTBlMFx1MTBkMFx1MTBkN1x1MTBkOCIsCiJHZW5lcmFsIjogIlx1MTBkYlx1MTBkN1x1MTBkMFx1MTBkNVx1MTBkMFx1MTBlMFx1MTBkOCIsCiJBZHZhbmNlZCI6ICJcdTEwZDNcdTEwZDBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDRcdTEwZDFcdTEwZDhcdTEwZDdcdTEwZDgiLAoiU291cmNlIjogIlx1MTBkMVx1MTBkYlx1MTBlM1x1MTBkYVx1MTBkOCIsCiJCb3JkZXIiOiAiXHUxMGUxXHUxMGQwXHUxMGQ2XHUxMGU2XHUxMGQ1XHUxMGQwXHUxMGUwXHUxMGQ4IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTEwZGVcdTEwZTBcdTEwZGRcdTEwZGVcdTEwZGRcdTEwZTBcdTEwZWFcdTEwZDhcdTEwZDhcdTEwZTEgXHUxMGQzXHUxMGQwXHUxMGVhXHUxMGQ1XHUxMGQwIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MTBkNVx1MTBkNFx1MTBlMFx1MTBlMlx1MTBkOFx1MTBkOVx1MTBkMFx1MTBkYVx1MTBlM1x1MTBlMFx1MTBkOCBcdTEwZTFcdTEwZDhcdTEwZDVcdTEwZTBcdTEwZWFcdTEwZDQiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUxMGUxXHUxMGUzXHUxMGUwXHUxMGQwXHUxMGQ3XHUxMGQ4XHUxMGUxIFx1MTBkM1x1MTBkMFx1MTBlZVx1MTBkMFx1MTBlMVx1MTBkOFx1MTBkMFx1MTBkN1x1MTBkNFx1MTBkMVx1MTBkMCIsCiJTdHlsZSI6ICJcdTEwZTFcdTEwZTJcdTEwZDhcdTEwZGFcdTEwZDgiLAoiRGltZW5zaW9ucyI6ICJcdTEwZDJcdTEwZDBcdTEwZGNcdTEwZDZcdTEwZGRcdTEwZGJcdTEwZDhcdTEwZGFcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSW5zZXJ0IGltYWdlIjogIlx1MTBlMVx1MTBlM1x1MTBlMFx1MTBkMFx1MTBkN1x1MTBkOFx1MTBlMSBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZGJcdTEwZDAiLAoiWm9vbSBpbiI6ICJcdTEwZDJcdTEwZDBcdTEwZDNcdTEwZDhcdTEwZDNcdTEwZDhcdTEwZDRcdTEwZDFcdTEwZDAiLAoiQ29udHJhc3QiOiAiXHUxMGQ5XHUxMGRkXHUxMGRjXHUxMGUyXHUxMGUwXHUxMGQwXHUxMGUxXHUxMGUyXHUxMGQ4IiwKIkJhY2siOiAiXHUxMGUzXHUxMGQ5XHUxMGQwXHUxMGRjIiwKIkdhbW1hIjogIlx1MTBkMlx1MTBkMFx1MTBkYlx1MTBkMCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTEwZjBcdTEwZGRcdTEwZTBcdTEwZDhcdTEwZDZcdTEwZGRcdTEwZGNcdTEwZTJcdTEwZDBcdTEwZGFcdTEwZTNcdTEwZTBcdTEwZDBcdTEwZDMgXHUxMGU4XHUxMGQ0XHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGQwXHUxMGRhXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlJlc2l6ZSI6ICJcdTEwZDZcdTEwZGRcdTEwZGJcdTEwZDhcdTEwZTEgXHUxMGU4XHUxMGQ0XHUxMGVhXHUxMGQ1XHUxMGRhXHUxMGQwIiwKIlNoYXJwZW4iOiAiXHUxMGQyXHUxMGQwXHUxMGRhXHUxMGQ0XHUxMGUxXHUxMGQ1XHUxMGQwIiwKIlpvb20gb3V0IjogIlx1MTBkM1x1MTBkMFx1MTBkZVx1MTBkMFx1MTBlMlx1MTBkMFx1MTBlMFx1MTBkMFx1MTBkNVx1MTBkNFx1MTBkMVx1MTBkMCIsCiJJbWFnZSBvcHRpb25zIjogIlx1MTBlMVx1MTBlM1x1MTBlMFx1MTBkMFx1MTBkN1x1MTBkOFx1MTBlMSBcdTEwZGVcdTEwZDBcdTEwZTBcdTEwZDBcdTEwZGJcdTEwZDRcdTEwZTJcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDgiLAoiQXBwbHkiOiAiXHUxMGRiXHUxMGQ4XHUxMGU2XHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkJyaWdodG5lc3MiOiAiXHUxMGUxXHUxMGQ4XHUxMGQ5XHUxMGQwXHUxMGU4XHUxMGQ5XHUxMGQwXHUxMGU4XHUxMGQ0IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHUxMGUxXHUxMGQwXHUxMGQwXHUxMGQ3XHUxMGQ4XHUxMGUxIFx1MTBkOFx1MTBlMVx1MTBlMFx1MTBkOFx1MTBlMSBcdTEwZGJcdTEwZDhcdTEwZGJcdTEwZDBcdTEwZTBcdTEwZDdcdTEwZTNcdTEwZGFcdTEwZDRcdTEwZDFcdTEwZDhcdTEwZDcgXHUxMGRiXHUxMGRkXHUxMGQxXHUxMGUwXHUxMGUzXHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlx1MTBlMVx1MTBkMFx1MTBkMFx1MTBkN1x1MTBkOFx1MTBlMSBcdTEwZDhcdTEwZTFcdTEwZTBcdTEwZDhcdTEwZTEgXHUxMGRiXHUxMGQ4XHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGUzXHUxMGRhXHUxMGQ0XHUxMGQxXHUxMGQ4XHUxMGUxIFx1MTBlMVx1MTBkMFx1MTBlY1x1MTBkOFx1MTBkY1x1MTBkMFx1MTBkMFx1MTBlNlx1MTBkYlx1MTBkM1x1MTBkNFx1MTBkMlx1MTBkZFx1MTBkMiBcdTEwZGJcdTEwZGRcdTEwZDFcdTEwZTBcdTEwZTNcdTEwZGNcdTEwZDRcdTEwZDFcdTEwZDAiLAoiRWRpdCBpbWFnZSI6ICJcdTEwZTFcdTEwZTNcdTEwZTBcdTEwZDBcdTEwZDdcdTEwZDhcdTEwZTEgXHUxMGUwXHUxMGQ0XHUxMGQzXHUxMGQwXHUxMGU1XHUxMGUyXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkNvbG9yIGxldmVscyI6ICJcdTEwZTRcdTEwZDRcdTEwZTBcdTEwZDhcdTEwZTEgXHUxMGQzXHUxMGRkXHUxMGRjXHUxMGQ0IiwKIkNyb3AiOiAiXHUxMGRiXHUxMGRkXHUxMGVkXHUxMGUwXHUxMGQwIiwKIk9yaWVudGF0aW9uIjogIlx1MTBkZFx1MTBlMFx1MTBkOFx1MTBkNFx1MTBkY1x1MTBlMlx1MTBkMFx1MTBlYVx1MTBkOFx1MTBkMCIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHUxMGQ1XHUxMGQ0XHUxMGUwXHUxMGUyXHUxMGQ4XHUxMGQ5XHUxMGQwXHUxMGRhXHUxMGUzXHUxMGUwXHUxMGQwXHUxMGQzIFx1MTBkMFx1MTBlMlx1MTBlMFx1MTBkOFx1MTBkMFx1MTBkYVx1MTBkNFx1MTBkMVx1MTBkMCIsCiJJbnZlcnQiOiAiXHUxMGU4XHUxMGQ0XHUxMGQxXHUxMGUwXHUxMGUzXHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MTBkN1x1MTBkMFx1MTBlMFx1MTBkOFx1MTBlNlx1MTBkOFwvXHUxMGQzXHUxMGUwXHUxMGRkXHUxMGQ4XHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCIsCiJSZW1vdmUgbGluayI6ICJcdTEwZDFcdTEwZGJcdTEwZTNcdTEwZGFcdTEwZDhcdTEwZTEgXHUxMGVjXHUxMGQwXHUxMGU4XHUxMGRhXHUxMGQwIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MTBlMlx1MTBkNFx1MTBlNVx1MTBlMVx1MTBlMlx1MTBkOCIsCiJBbmNob3JzIjogIlx1MTBlNlx1MTBlM1x1MTBkNlx1MTBkMCIsCiJJbnNlcnQgbGluayI6ICJcdTEwZDFcdTEwZGJcdTEwZTNcdTEwZGFcdTEwZDhcdTEwZTEgXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGRiXHUxMGQwIiwKIk5ldyB3aW5kb3ciOiAiXHUxMGQwXHUxMGVlXHUxMGQwXHUxMGRhIFx1MTBlNFx1MTBkMFx1MTBkY1x1MTBlZlx1MTBkMFx1MTBlMFx1MTBkMFx1MTBlOFx1MTBkOCIsCiJOb25lIjogIlx1MTBkMFx1MTBlMFx1MTBlYVx1MTBkNFx1MTBlMFx1MTBkN1x1MTBkOCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUxMGQ3XHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGRjXHUxMGUxIFx1MTBkYlx1MTBkOFx1MTBkNFx1MTBlMCBcdTEwZGJcdTEwZDhcdTEwZDdcdTEwZDhcdTEwZDdcdTEwZDRcdTEwZDFcdTEwZTNcdTEwZGFcdTEwZDggXHUxMGRiXHUxMGQ4XHUxMGUxXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGQ4IFx1MTBlY1x1MTBkMFx1MTBlMFx1MTBkYlx1MTBkZFx1MTBkMFx1MTBkM1x1MTBkMlx1MTBkNFx1MTBkY1x1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZTBcdTEwZDQgXHUxMGQxXHUxMGRiXHUxMGUzXHUxMGRhXHUxMGUxLiBcdTEwZDJcdTEwZTFcdTEwZTNcdTEwZTBcdTEwZDcsIFx1MTBlMFx1MTBkZFx1MTBkYiBcdTEwZGJcdTEwZDhcdTEwZDVcdTEwZDBcdTEwZGNcdTEwZDhcdTEwZWRcdTEwZGQgaHR0cDpcL1wvIFx1MTBlNFx1MTBlMFx1MTBkNFx1MTBlNFx1MTBkOFx1MTBlNVx1MTBlMVx1MTBkOD8iLAoiVGFyZ2V0IjogIlx1MTBkMlx1MTBkMFx1MTBlZVx1MTBlMVx1MTBkY1x1MTBkMCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MTBkN1x1MTBlNVx1MTBkNVx1MTBkNFx1MTBkYyBcdTEwZGJcdTEwZDhcdTEwZTNcdTEwZDdcdTEwZDhcdTEwZDdcdTEwZDRcdTEwZDcgXHUxMGQ0XHUxMGRhLVx1MTBlNFx1MTBkZFx1MTBlMVx1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZGJcdTEwZDhcdTEwZTFcdTEwZDBcdTEwZGJcdTEwZDBcdTEwZTBcdTEwZDdcdTEwZDggXHUxMGRjXHUxMGQwXHUxMGVhXHUxMGQ1XHUxMGRhXHUxMGQwXHUxMGQzIFx1MTBkNVx1MTBkNFx1MTBkMS1cdTEwZDJcdTEwZDVcdTEwZDRcdTEwZTBcdTEwZDNcdTEwZDhcdTEwZTFcdTEwZDAuIFx1MTBkMlx1MTBlMVx1MTBlM1x1MTBlMFx1MTBkNywgXHUxMGUwXHUxMGRkXHUxMGRiIFx1MTBkYlx1MTBkOFx1MTBkNVx1MTBkMFx1MTBkY1x1MTBkOFx1MTBlZFx1MTBkZCBtYWlsdG86IFx1MTBlNFx1MTBlMFx1MTBkNFx1MTBlNFx1MTBkOFx1MTBlNVx1MTBlMVx1MTBkOD8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUxMGQxXHUxMGRiXHUxMGUzXHUxMGRhXHUxMGQ4XHUxMGUxIFx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMFwvXHUxMGUwXHUxMGQ0XHUxMGQzXHUxMGQwXHUxMGU1XHUxMGUyXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQwIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTEwZDVcdTEwZDhcdTEwZDNcdTEwZDRcdTEwZGRcdTEwZTEgXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGRiXHUxMGQwXC9cdTEwZTBcdTEwZDRcdTEwZDNcdTEwZDBcdTEwZTVcdTEwZTJcdTEwZDhcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDAiLAoiUG9zdGVyIjogIlx1MTBkZVx1MTBkYVx1MTBkMFx1MTBkOVx1MTBkMFx1MTBlMlx1MTBkOCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUxMGQwXHUxMGRhXHUxMGUyXHUxMGQ0XHUxMGUwXHUxMGRjXHUxMGQwXHUxMGUyXHUxMGQ4XHUxMGUzXHUxMGRhXHUxMGQ4IFx1MTBlY1x1MTBlN1x1MTBkMFx1MTBlMFx1MTBkZCIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MTBkMFx1MTBlNSBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZDVcdTEwZDhcdTEwZDcgXHUxMGQ3XHUxMGU1XHUxMGQ1XHUxMGQ0XHUxMGRjXHUxMGQ4IFx1MTBkOVx1MTBkZFx1MTBkM1x1MTBkODoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MTBkNVx1MTBkOFx1MTBkM1x1MTBkNFx1MTBkZFx1MTBlMSBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZGJcdTEwZDAiLAoiRW1iZWQiOiAiXHUxMGU5XHUxMGQwXHUxMGU4XHUxMGQ0XHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MTBlM1x1MTBlY1x1MTBlN1x1MTBkNVx1MTBkNFx1MTBlMlx1MTBkOCBcdTEwZTFcdTEwZDhcdTEwZDVcdTEwZTBcdTEwZWFcdTEwZDQiLAoiUGFnZSBicmVhayI6ICJcdTEwZDJcdTEwZDVcdTEwZDRcdTEwZTBcdTEwZDNcdTEwZDhcdTEwZTEgXHUxMGQyXHUxMGQwXHUxMGVjXHUxMGU3XHUxMGQ1XHUxMGQ0XHUxMGUyXHUxMGQwIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGQ1XHUxMGQ4XHUxMGQ3IFx1MTBlMFx1MTBkZFx1MTBkMlx1MTBkZFx1MTBlMFx1MTBlYSBcdTEwZTJcdTEwZDRcdTEwZTVcdTEwZTFcdTEwZTJcdTEwZDgiLAoiUHJldmlldyI6ICJcdTEwZWNcdTEwZDhcdTEwZGNcdTEwZDBcdTEwZTFcdTEwZWNcdTEwZDBcdTEwZTAgXHUxMGRjXHUxMGQwXHUxMGVlXHUxMGQ1XHUxMGQwIiwKIlByaW50IjogIlx1MTBkMFx1MTBkYlx1MTBkZFx1MTBkMVx1MTBkNFx1MTBlZFx1MTBkNVx1MTBkM1x1MTBkMCIsCiJTYXZlIjogIlx1MTBlOFx1MTBkNFx1MTBkY1x1MTBkMFx1MTBlZVx1MTBkNVx1MTBkMCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUxMGRiXHUxMGRkXHUxMGVhXHUxMGQ0XHUxMGRiXHUxMGUzXHUxMGRhXHUxMGQ4IFx1MTBlOVx1MTBkMFx1MTBkY1x1MTBkMFx1MTBlY1x1MTBkNFx1MTBlMFx1MTBkOCBcdTEwZDVcdTEwZDRcdTEwZTAgXHUxMGRiXHUxMGRkXHUxMGQ4XHUxMGViXHUxMGQ0XHUxMGQxXHUxMGRjXHUxMGQwLiIsCiJSZXBsYWNlIjogIlx1MTBlOFx1MTBkNFx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJOZXh0IjogIlx1MTBlOFx1MTBkNFx1MTBkYlx1MTBkM1x1MTBkNFx1MTBkMlx1MTBkOCIsCiJXaG9sZSB3b3JkcyI6ICJcdTEwZTFcdTEwZTBcdTEwZTNcdTEwZGFcdTEwZDggXHUxMGUxXHUxMGQ4XHUxMGUyXHUxMGU3XHUxMGQ1XHUxMGQ0XHUxMGQxXHUxMGQ4IiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUxMGRiXHUxMGRkXHUxMGViXHUxMGQ0XHUxMGQxXHUxMGRjXHUxMGQ0IFx1MTBkM1x1MTBkMCBcdTEwZThcdTEwZDRcdTEwZDBcdTEwZTFcdTEwZWNcdTEwZGRcdTEwZTBcdTEwZDQiLAoiUmVwbGFjZSB3aXRoIjogIlx1MTBlOFx1MTBkNFx1MTBlMVx1MTBkMFx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkNFx1MTBkYVx1MTBkOCBcdTEwZTFcdTEwZDhcdTEwZTJcdTEwZTdcdTEwZDVcdTEwZDAiLAoiRmluZCI6ICJcdTEwZWJcdTEwZDRcdTEwZDFcdTEwZGNcdTEwZDAiLAoiUmVwbGFjZSBhbGwiOiAiXHUxMGU3XHUxMGQ1XHUxMGQ0XHUxMGRhXHUxMGQwXHUxMGUxIFx1MTBlOFx1MTBkNFx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJNYXRjaCBjYXNlIjogIlx1MTBkM1x1MTBkMFx1MTBkMFx1MTBkYlx1MTBkN1x1MTBlZVx1MTBkNVx1MTBkOFx1MTBkNCBcdTEwZDBcdTEwZTFcdTEwZGRcdTEwZDRcdTEwZDFcdTEwZDhcdTEwZTEgXHUxMGQ2XHUxMGRkXHUxMGRiXHUxMGQwIiwKIlByZXYiOiAiXHUxMGVjXHUxMGQ4XHUxMGRjXHUxMGQwIiwKIlNwZWxsY2hlY2siOiAiXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGRhXHUxMGVjXHUxMGQ0XHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBlOFx1MTBkNFx1MTBkYlx1MTBkZFx1MTBlY1x1MTBkYlx1MTBkNFx1MTBkMVx1MTBkMCIsCiJGaW5pc2giOiAiXHUxMGQzXHUxMGQwXHUxMGUxXHUxMGQwXHUxMGUxXHUxMGUwXHUxMGUzXHUxMGRhXHUxMGQ4IiwKIklnbm9yZSBhbGwiOiAiXHUxMGU3XHUxMGQ1XHUxMGQ0XHUxMGRhXHUxMGQwXHUxMGUxIFx1MTBkOFx1MTBkMlx1MTBkY1x1MTBkZFx1MTBlMFx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJJZ25vcmUiOiAiXHUxMGQ4XHUxMGQyXHUxMGRjXHUxMGRkXHUxMGUwXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MTBkYVx1MTBkNFx1MTBlNVx1MTBlMVx1MTBkOFx1MTBkOVx1MTBkZFx1MTBkY1x1MTBlOFx1MTBkOCBcdTEwZDNcdTEwZDBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDRcdTEwZDFcdTEwZDAiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBkN1x1MTBkMFx1MTBkNVx1MTBlOFx1MTBkOCBcdTEwZDNcdTEwZDBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDRcdTEwZDFcdTEwZDAiLAoiUm93cyI6ICJcdTEwZTFcdTEwZTJcdTEwZTBcdTEwZDhcdTEwZTVcdTEwZGRcdTEwZGNcdTEwZDRcdTEwZDFcdTEwZDgiLAoiSGVpZ2h0IjogIlx1MTBlMVx1MTBkOFx1MTBkYlx1MTBkMFx1MTBlNlx1MTBkYVx1MTBkNCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBkMVx1MTBkZFx1MTBkYVx1MTBkZFx1MTBlOFx1MTBkOCBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZGJcdTEwZDAiLAoiQWxpZ25tZW50IjogIlx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJCb3JkZXIgY29sb3IiOiAiXHUxMGUxXHUxMGQwXHUxMGQ2XHUxMGQwXHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBlNFx1MTBkNFx1MTBlMFx1MTBkOCIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUxMGUxXHUxMGQ1XHUxMGQ0XHUxMGUyXHUxMGQ4XHUxMGUxIFx1MTBlZlx1MTBkMlx1MTBlM1x1MTBlNFx1MTBkOCIsCiJSb3ciOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MTBlMVx1MTBkNVx1MTBkNFx1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZDdcdTEwZDBcdTEwZDVcdTEwZThcdTEwZDggXHUxMGQzXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUyXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlNwbGl0IGNlbGwiOiAiXHUxMGUzXHUxMGVmXHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBkMlx1MTBkMFx1MTBlN1x1MTBkZFx1MTBlNFx1MTBkMCIsCiJDZWxsIHBhZGRpbmciOiAiXHUxMGUzXHUxMGVmXHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBlNFx1MTBkMFx1MTBlMFx1MTBkN1x1MTBkZFx1MTBkMVx1MTBkOCIsCiJDZWxsIHNwYWNpbmciOiAiXHUxMGUzXHUxMGVmXHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBkM1x1MTBkMFx1MTBlOFx1MTBkZFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJSb3cgdHlwZSI6ICJcdTEwZTFcdTEwZTJcdTEwZTBcdTEwZDhcdTEwZTVcdTEwZGRcdTEwZGNcdTEwZDhcdTEwZTEgXHUxMGUyXHUxMGQ4XHUxMGRlXHUxMGQ4IiwKIkluc2VydCB0YWJsZSI6ICJcdTEwZWFcdTEwZWVcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDhcdTEwZTEgXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGRiXHUxMGQwIiwKIkJvZHkiOiAiXHUxMGUyXHUxMGQwXHUxMGRjXHUxMGQ4IiwKIkNhcHRpb24iOiAiXHUxMGVjXHUxMGQwXHUxMGUwXHUxMGVjXHUxMGQ0XHUxMGUwXHUxMGQwIiwKIkZvb3RlciI6ICJcdTEwZWJcdTEwZDhcdTEwZTBcdTEwZDgiLAoiRGVsZXRlIHJvdyI6ICJcdTEwZTFcdTEwZTJcdTEwZTBcdTEwZDhcdTEwZTVcdTEwZGRcdTEwZGNcdTEwZDhcdTEwZTEgXHUxMGVjXHUxMGQwXHUxMGU4XHUxMGRhXHUxMGQwIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBkN1x1MTBkMFx1MTBkNVx1MTBlOFx1MTBkOCBcdTEwZTlcdTEwZDBcdTEwZTFcdTEwZGJcdTEwZDAiLAoiU2NvcGUiOiAiXHUxMGU5XHUxMGQwXHUxMGUwXHUxMGU5XHUxMGRkIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTEwZWFcdTEwZWVcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDhcdTEwZTEgXHUxMGVjXHUxMGQwXHUxMGU4XHUxMGRhXHUxMGQwIiwKIkggQWxpZ24iOiAiSCBcdTEwZTlcdTEwZDBcdTEwZGJcdTEwZWNcdTEwZDlcdTEwZTBcdTEwZDhcdTEwZDVcdTEwZDRcdTEwZDFcdTEwZDAiLAoiVG9wIjogIlx1MTBkYlx1MTBkMFx1MTBlNlx1MTBkYVx1MTBkMCIsCiJIZWFkZXIgY2VsbCI6ICJcdTEwZDdcdTEwZDBcdTEwZDVcdTEwZDhcdTEwZTEgXHUxMGUzXHUxMGVmXHUxMGUwXHUxMGQwIiwKIkNvbHVtbiI6ICJcdTEwZTFcdTEwZDVcdTEwZDRcdTEwZTJcdTEwZDgiLAoiUm93IGdyb3VwIjogIlx1MTBlMVx1MTBlMlx1MTBlMFx1MTBkOFx1MTBlNVx1MTBkZFx1MTBkY1x1MTBkOFx1MTBlMSBcdTEwZWZcdTEwZDJcdTEwZTNcdTEwZTRcdTEwZDgiLAoiQ2VsbCI6ICJcdTEwZTNcdTEwZWZcdTEwZTBcdTEwZDAiLAoiTWlkZGxlIjogIlx1MTBlOFx1MTBlM1x1MTBkMCIsCiJDZWxsIHR5cGUiOiAiXHUxMGUzXHUxMGVmXHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBlMlx1MTBkOFx1MTBkZVx1MTBkOCIsCiJDb3B5IHJvdyI6ICJcdTEwZTFcdTEwZTJcdTEwZTBcdTEwZDhcdTEwZTVcdTEwZGRcdTEwZGNcdTEwZDhcdTEwZTEgXHUxMGQ5XHUxMGRkXHUxMGRlXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MTBlMVx1MTBlMlx1MTBlMFx1MTBkOFx1MTBlNVx1MTBkZFx1MTBkY1x1MTBkOFx1MTBlMSBcdTEwZDdcdTEwZDVcdTEwZDhcdTEwZTFcdTEwZDRcdTEwZDFcdTEwZDRcdTEwZDFcdTEwZDgiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTEwZWFcdTEwZWVcdTEwZTBcdTEwZDhcdTEwZGFcdTEwZDhcdTEwZTEgXHUxMGQ3XHUxMGQ1XHUxMGQ4XHUxMGUxXHUxMGQ0XHUxMGQxXHUxMGQ0XHUxMGQxXHUxMGQ4IiwKIkJvdHRvbSI6ICJcdTEwZTVcdTEwZDVcdTEwZDRcdTEwZDNcdTEwZDAiLAoiViBBbGlnbiI6ICJWIFx1MTBlOVx1MTBkMFx1MTBkYlx1MTBlY1x1MTBkOVx1MTBlMFx1MTBkOFx1MTBkNVx1MTBkNFx1MTBkMVx1MTBkMCIsCiJIZWFkZXIiOiAiXHUxMGQ3XHUxMGQwXHUxMGQ1XHUxMGQ4IiwKIlJpZ2h0IjogIlx1MTBkYlx1MTBkMFx1MTBlMFx1MTBlZlx1MTBkNVx1MTBkY1x1MTBkOFx1MTBkNSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MTBlMVx1MTBkNVx1MTBkNFx1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZDFcdTEwZGRcdTEwZGFcdTEwZGRcdTEwZThcdTEwZDggXHUxMGQzXHUxMGQwXHUxMGRiXHUxMGQwXHUxMGUyXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkNvbHMiOiAiXHUxMGUxXHUxMGQ1XHUxMGQ0XHUxMGUyXHUxMGQ0XHUxMGQxXHUxMGQ4IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBkMVx1MTBkZFx1MTBkYVx1MTBkZFx1MTBlOFx1MTBkOCBcdTEwZDNcdTEwZDBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDRcdTEwZDFcdTEwZDAiLAoiV2lkdGgiOiAiXHUxMGUxXHUxMGQ4XHUxMGQyXHUxMGQwXHUxMGRjXHUxMGQ0IiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTEwZTNcdTEwZWZcdTEwZTBcdTEwZDhcdTEwZTEgXHUxMGQ3XHUxMGQ1XHUxMGQ4XHUxMGUxXHUxMGQ0XHUxMGQxXHUxMGQ0XHUxMGQxXHUxMGQ4IiwKIkxlZnQiOiAiXHUxMGRiXHUxMGQwXHUxMGUwXHUxMGVhXHUxMGVlXHUxMGRjXHUxMGQ4XHUxMGQ1IiwKIkN1dCByb3ciOiAiXHUxMGUxXHUxMGUyXHUxMGUwXHUxMGQ4XHUxMGU1XHUxMGRkXHUxMGRjXHUxMGQ4XHUxMGUxIFx1MTBkMFx1MTBkYlx1MTBkZFx1MTBlZFx1MTBlMFx1MTBkMCIsCiJEZWxldGUgY29sdW1uIjogIlx1MTBlMVx1MTBkNVx1MTBkNFx1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZWNcdTEwZDBcdTEwZThcdTEwZGFcdTEwZDAiLAoiQ2VudGVyIjogIlx1MTBlYVx1MTBkNFx1MTBkY1x1MTBlMlx1MTBlMFx1MTBlOFx1MTBkOCIsCiJNZXJnZSBjZWxscyI6ICJcdTEwZTNcdTEwZWZcdTEwZTBcdTEwZDRcdTEwZDFcdTEwZDhcdTEwZTEgXHUxMGQyXHUxMGQwXHUxMGQ0XHUxMGUwXHUxMGQ3XHUxMGQ4XHUxMGQwXHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTEwZThcdTEwZDBcdTEwZDFcdTEwZGFcdTEwZGRcdTEwZGNcdTEwZDhcdTEwZTEgXHUxMGU5XHUxMGQwXHUxMGUxXHUxMGRiXHUxMGQwIiwKIlRlbXBsYXRlcyI6ICJcdTEwZThcdTEwZDBcdTEwZDFcdTEwZGFcdTEwZGRcdTEwZGNcdTEwZDRcdTEwZDFcdTEwZDgiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTEwZTNcdTEwZDlcdTEwZDBcdTEwZGNcdTEwZDAgXHUxMGU0XHUxMGQ0XHUxMGUwXHUxMGQ4IiwKIkN1c3RvbS4uLiI6ICJcdTEwZGJcdTEwZGRcdTEwZTBcdTEwZDJcdTEwZDRcdTEwZDFcdTEwZTNcdTEwZGFcdTEwZDgiLAoiQ3VzdG9tIGNvbG9yIjogIlx1MTBkYlx1MTBkZFx1MTBlMFx1MTBkMlx1MTBkNFx1MTBkMVx1MTBlM1x1MTBkYVx1MTBkOCBcdTEwZTRcdTEwZDRcdTEwZTBcdTEwZDgiLAoiTm8gY29sb3IiOiAiXHUxMGU0XHUxMGQ0XHUxMGUwXHUxMGQ4XHUxMGUxIFx1MTBkMlx1MTBkMFx1MTBlMFx1MTBkNFx1MTBlOFx1MTBkNCIsCiJUZXh0IGNvbG9yIjogIlx1MTBlMlx1MTBkNFx1MTBlNVx1MTBlMVx1MTBlMlx1MTBkOFx1MTBlMSBcdTEwZTRcdTEwZDRcdTEwZTBcdTEwZDgiLAoiU2hvdyBibG9ja3MiOiAiXHUxMGQxXHUxMGRhXHUxMGRkXHUxMGQ5XHUxMGQ0XHUxMGQxXHUxMGQ4XHUxMGUxIFx1MTBlOVx1MTBkNVx1MTBkNFx1MTBkY1x1MTBkNFx1MTBkMVx1MTBkMCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MTBlM1x1MTBlZVx1MTBkOFx1MTBkYVx1MTBkMFx1MTBkNVx1MTBkOCBcdTEwZTFcdTEwZDhcdTEwZGJcdTEwZDFcdTEwZGRcdTEwZGFcdTEwZGRcdTEwZDRcdTEwZDFcdTEwZDhcdTEwZTEgXHUxMGU5XHUxMGQ1XHUxMGQ0XHUxMGRjXHUxMGQ0XHUxMGQxXHUxMGQwIiwKIldvcmRzOiB7MH0iOiAiXHUxMGUxXHUxMGQ4XHUxMGUyXHUxMGU3XHUxMGQ1XHUxMGQ0XHUxMGQxXHUxMGQ4OiB7MH0iLAoiSW5zZXJ0IjogIlx1MTBlOVx1MTBkMFx1MTBlMVx1MTBkYlx1MTBkMCIsCiJGaWxlIjogIlx1MTBlNFx1MTBkMFx1MTBkOFx1MTBkYVx1MTBkOCIsCiJFZGl0IjogIlx1MTBlOFx1MTBkNFx1MTBlMVx1MTBlY1x1MTBkZFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkMCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTEwZTJcdTEwZDRcdTEwZTVcdTEwZTFcdTEwZTJcdTEwZDhcdTEwZTEgXHUxMGU0XHUxMGQwXHUxMGUwXHUxMGQ3XHUxMGQ4LiBcdTEwZDNcdTEwZDBcdTEwZDBcdTEwZWRcdTEwZDhcdTEwZTBcdTEwZDRcdTEwZDcgQUxULUY5XHUxMGUxIFx1MTBkYlx1MTBkNFx1MTBkY1x1MTBkOFx1MTBlM1x1MTBlMSBcdTEwZDJcdTEwZDBcdTEwZGJcdTEwZGRcdTEwZTFcdTEwZDBcdTEwZWJcdTEwZDBcdTEwZWVcdTEwZDRcdTEwZDFcdTEwZGFcdTEwZDBcdTEwZDMuIFx1MTBkM1x1MTBkMFx1MTBkMFx1MTBlZFx1MTBkOFx1MTBlMFx1MTBkNFx1MTBkNyBBTFQtRjEwXHUxMGUxIFx1MTBkZVx1MTBkMFx1MTBkY1x1MTBkNFx1MTBkYVx1MTBkOFx1MTBlMVx1MTBkN1x1MTBkNVx1MTBkOFx1MTBlMS4gXHUxMGQzXHUxMGQwXHUxMGQwXHUxMGVkXHUxMGQ4XHUxMGUwXHUxMGQ0XHUxMGQ3IEFMVC0wXHUxMGUxIFx1MTBkM1x1MTBkMFx1MTBlZVx1MTBkYlx1MTBkMFx1MTBlMFx1MTBkNFx1MTBkMVx1MTBkOFx1MTBlMVx1MTBkN1x1MTBkNVx1MTBkOFx1MTBlMSIsCiJUb29scyI6ICJcdTEwZDhcdTEwZDBcdTEwZTBcdTEwZDBcdTEwZTZcdTEwZDRcdTEwZDFcdTEwZDgiLAoiVmlldyI6ICJcdTEwZGNcdTEwZDBcdTEwZWVcdTEwZDVcdTEwZDAiLAoiVGFibGUiOiAiXHUxMGVhXHUxMGVlXHUxMGUwXHUxMGQ4XHUxMGRhXHUxMGQ4IiwKIkZvcm1hdCI6ICJcdTEwZTRcdTEwZGRcdTEwZTBcdTEwZGJcdTEwZDBcdTEwZTJcdTEwZDgiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/kk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdraycsewoiQ3V0IjogIlx1MDQ5YVx1MDQzOFx1MDQ0Ylx1MDQzZiBcdTA0MzBcdTA0M2JcdTA0NDMiLAoiSGVhZGVyIDIiOiAiXHUwNDIyXHUwNDMwXHUwNDliXHUwNDRiXHUwNDQwXHUwNDRiXHUwNDNmXHUwNDQ4XHUwNDMwIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDExXHUwNDQwXHUwNDMwXHUwNDQzXHUwNDM3XHUwNDM1XHUwNDQwXHUwNDU2XHUwNGEzXHUwNDU2XHUwNDM3IFx1MDQzMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0MVx1MDQ0MyBcdTA0MzFcdTA0NDNcdTA0NDRcdTA0MzVcdTA0NDBcdTA0NTZcdTA0M2RcdTA0MzUgXHUwNDQyXHUwNDU2XHUwNDNhXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDM5IFx1MDQ5Ylx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzZFx1MDQzMFx1MDQzOSBcdTA0MzBcdTA0M2JcdTA0M2NcdTA0MzBcdTA0MzlcdTA0MzRcdTA0NGIuIEN0cmwrWFwvQ1wvViBcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0M2RcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDAgXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDM1XHUwNDQxXHUwNDU2XHUwNDNjXHUwNDU2XHUwNDNkIFx1MDQzZlx1MDQzMFx1MDQzOVx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQ0Ylx1MDRhM1x1MDQ0Ylx1MDQzNy4iLAoiRGl2IjogIkRpdiIsCiJQYXN0ZSI6ICJcdTA0OWFcdTA0M2VcdTA0NGUiLAoiQ2xvc2UiOiAiXHUwNDE2XHUwNDMwXHUwNDMxXHUwNDQzIiwKIkZvbnQgRmFtaWx5IjogIlx1MDQ5YVx1MDQzMFx1MDQ0MFx1MDQ1Nlx1MDQzZlx1MDQ0Mlx1MDQzNVx1MDQ0MCBcdTA0NDJcdTA0M2VcdTA0MzFcdTA0NGIiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJcdTA0MWVcdTA0YTNcdTA0OTNcdTA0MzAgXHUwNDNlXHUwNDQwXHUwNDNkXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIk5ldyBkb2N1bWVudCI6ICJcdTA0MTZcdTA0MzBcdTA0YTNcdTA0MzAgXHUwNDliXHUwNGIxXHUwNDM2XHUwNDMwXHUwNDQyIiwKIkJsb2NrcXVvdGUiOiAiXHUwNDE0XHUwNGQ5XHUwNDM5XHUwNDM1XHUwNDNhXHUwNDQxXHUwNGU5XHUwNDM3IiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwNDFkXHUwNGU5XHUwNDNjXHUwNDU2XHUwNDQwXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDMzXHUwNDM1XHUwNDNkIFx1MDQ0Mlx1MDQ1Nlx1MDQzN1x1MDQ1Nlx1MDQzYyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNDI4XHUwNDM1XHUwNDMzXHUwNDU2XHUwNDNkXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2IFx1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJGb3JtYXRzIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQ0Mlx1MDQzMFx1MDQ0MCIsCiJIZWFkZXJzIjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQ0Ylx1MDQ5M1x1MDQ0Ylx1MDQzZCBcdTA0NDJcdTA0MzBcdTA0YTNcdTA0MzRcdTA0MzBcdTA0NDMiLAoiSGVhZGVyIDMiOiAiXHUwNDIyXHUwNDMwXHUwNDliXHUwNDRiXHUwNDQwXHUwNDRiXHUwNDNmXHUwNDQ4XHUwNDMwIDMiLAoiQmxvY2tzIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQzNVx1MDQ0MSAoQmxvY2spIiwKIlVuZG8iOiAiXHUwNDExXHUwNDNlXHUwNDNiXHUwNDM0XHUwNDRiXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQzIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNDExXHUwNDM1XHUwNDNiXHUwNDU2XHUwNDNkXHUwNDM1XHUwNDNkIFx1MDQ0MVx1MDQ0Ylx1MDQzN1x1MDQ0Ylx1MDQzYlx1MDQ5M1x1MDQzMFx1MDQzZCIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MjJcdTA0MzBcdTA0YTNcdTA0MzFcdTA0MzBcdTA0M2JcdTA0MzBcdTA0M2RcdTA0OTNcdTA0MzBcdTA0M2QgXHUwNDQyXHUwNDU2XHUwNDM3XHUwNDU2XHUwNDNjIiwKIkhlYWRlciAxIjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDRhZVx1MDQ0MVx1MDQ0Mlx1MDQ1Nlx1MDRhM1x1MDQzM1x1MDQ1NiBcdTA0MzhcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0NDJcdTA0MzBcdTA0NDNcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDQyXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDQwXHUwNDQyXHUwNDQzIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNDlhXHUwNDMwXHUwNDQwXHUwNDU2XHUwNDNmXHUwNDQyXHUwNDM1XHUwNDQwIFx1MDRlOVx1MDQzYlx1MDQ0OFx1MDQzNVx1MDQzY1x1MDQ1NiIsCiJTdWJzY3JpcHQiOiAiXHUwNDEwXHUwNDQxXHUwNDQyXHUwNDRiXHUwNGEzXHUwNDkzXHUwNDRiIFx1MDQzOFx1MDQzZFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQ0MSIsCiJIZWFkZXIgNiI6ICJcdTA0MjJcdTA0MzBcdTA0OWJcdTA0NGJcdTA0NDBcdTA0NGJcdTA0M2ZcdTA0NDhcdTA0MzAgNiIsCiJSZWRvIjogIlx1MDQ5YVx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0MyIsCiJQYXJhZ3JhcGgiOiAiXHUwNDEwXHUwNDMxXHUwNDM3XHUwNDMwXHUwNDQ2IiwKIk9rIjogIlx1MDQxZVx1MDQxYSIsCiJCb2xkIjogIlx1MDQxNlx1MDQ0M1x1MDQzMFx1MDQzZCIsCiJDb2RlIjogIlx1MDQxYVx1MDQzZVx1MDQzNCIsCiJJdGFsaWMiOiAiXHUwNDFhXHUwNGU5XHUwNDNiXHUwNDMxXHUwNDM1XHUwNDQzIiwKIkFsaWduIGNlbnRlciI6ICJcdTA0MWVcdTA0NDBcdTA0NDJcdTA0MzBcdTA0NDFcdTA0NGJcdTA0M2RcdTA0MzAgXHUwNDNlXHUwNDQwXHUwNDNkXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIkhlYWRlciA1IjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCA1IiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA0MjhcdTA0MzVcdTA0MzNcdTA0NTZcdTA0M2RcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTYgXHUwNDNhXHUwNDM1XHUwNDNjXHUwNDU2XHUwNDQyXHUwNDQzIiwKIkhlYWRlciA0IjogIlx1MDQyMlx1MDQzMFx1MDQ5Ylx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzZlx1MDQ0OFx1MDQzMCA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MWVcdTA0NDFcdTA0NGIgXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDM4XHUwNDRmIFx1MDRlOVx1MDQ0OFx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQzYlx1MDQzY1x1MDQzNVx1MDQzM1x1MDQzNVx1MDQzZFx1MDQ0OFx1MDQzNSwgXHUwNDMxXHUwNDQzXHUwNDQ0XHUwNDM1XHUwNDQwXHUwNDM0XHUwNDM1XHUwNDMzXHUwNDU2IFx1MDQzY1x1MDRkOVx1MDQ0Mlx1MDQ1Nlx1MDQzZCBcdTA0M2FcdTA0ZDlcdTA0MzRcdTA0NTZcdTA0M2NcdTA0MzNcdTA0NTYgXHUwNDNjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkIFx1MDQ0MFx1MDQzNVx1MDQ0Mlx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQzNSBcdTA0OWJcdTA0M2VcdTA0MzlcdTA0NGJcdTA0M2JcdTA0MzBcdTA0MzRcdTA0NGIuIiwKIlVuZGVybGluZSI6ICJcdTA0MTBcdTA0NDFcdTA0NDJcdTA0NGIgXHUwNDQxXHUwNDRiXHUwNDM3XHUwNDRiXHUwNDNiXHUwNDkzXHUwNDMwXHUwNDNkIiwKIkNhbmNlbCI6ICJcdTA0MTFcdTA0MzBcdTA0NDEgXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDQyXHUwNDQzIiwKIkp1c3RpZnkiOiAiXHUwNDIyXHUwNDNlXHUwNDNiXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIklubGluZSI6ICJcdTA0MWFcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NTZcdTA0M2JcdTA0MzNcdTA0MzVcdTA0M2QgKElubGluZSkiLAoiQ29weSI6ICJcdTA0MWFcdTA0ZTlcdTA0NDhcdTA0NTZcdTA0NDBcdTA0NDMiLAoiQWxpZ24gbGVmdCI6ICJcdTA0MjFcdTA0M2VcdTA0M2JcdTA0OTNcdTA0MzAgXHUwNDNlXHUwNDQwXHUwNDNkXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIlZpc3VhbCBhaWRzIjogIlx1MDQxYVx1MDRlOVx1MDQzY1x1MDQzNVx1MDQzYVx1MDQ0OFx1MDQ1NiBcdTA0MzFcdTA0MzVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0M2JcdTA0MzVcdTA0NDAiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNDFhXHUwNDU2XHUwNDQ4XHUwNDU2IFx1MDQzM1x1MDQ0MFx1MDQzNVx1MDQzYSBcdTA0ZDlcdTA0NDBcdTA0NTZcdTA0M2ZcdTA0NDJcdTA0MzVcdTA0NDBcdTA0NTYiLAoiU3F1YXJlIjogIlx1MDQyOFx1MDQzMFx1MDQ0MFx1MDQ0OFx1MDQ0YiIsCiJEZWZhdWx0IjogIlx1MDRkOFx1MDQzNFx1MDQzNVx1MDQzZlx1MDQzYVx1MDQ1NiIsCiJMb3dlciBBbHBoYSI6ICJcdTA0MWFcdTA0NTZcdTA0NDhcdTA0NTYgXHUwNGQ5XHUwNDQwXHUwNDU2XHUwNDNmXHUwNDQyXHUwNDM1XHUwNDQwIiwKIkNpcmNsZSI6ICJcdTA0MjhcdTA0MzVcdTA0YTNcdTA0MzFcdTA0MzVcdTA0NDAiLAoiRGlzYyI6ICJcdTA0MTRcdTA0MzhcdTA0NDFcdTA0M2EiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNDExXHUwNDMwXHUwNDQxIFx1MDRkOVx1MDQ0MFx1MDQ1Nlx1MDQzZlx1MDQ0Mlx1MDQzNVx1MDQ0MCIsCiJVcHBlciBSb21hbiI6ICJcdTA0MTFcdTA0MzBcdTA0NDEgXHUwNDQwXHUwNDM4XHUwNDNjIFx1MDQ0Nlx1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQ0MFx1MDQ0YiIsCiJMb3dlciBSb21hbiI6ICJcdTA0MWFcdTA0NTZcdTA0NDhcdTA0NTYgXHUwNDQwXHUwNDM4XHUwNDNjIFx1MDQ0Nlx1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQ0MFx1MDQ0YiIsCiJOYW1lIjogIlx1MDQxMFx1MDQ0Mlx1MDQ0YiIsCiJBbmNob3IiOiAiXHUwNDExXHUwNDM1XHUwNDQyXHUwNDMxXHUwNDM1XHUwNDNiXHUwNDMzXHUwNDU2IiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNDIxXHUwNDMwXHUwNDliXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDNjXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDNkIFx1MDRlOVx1MDQzN1x1MDQzM1x1MDQzNVx1MDQ0MFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQzNVx1MDQ0MCBcdTA0MzFcdTA0MzBcdTA0NDAuIFx1MDQyMVx1MDQ1Nlx1MDQzNyBcdTA0NDhcdTA0NGJcdTA0M2RcdTA0NGJcdTA0M2NcdTA0MzVcdTA0M2QgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDliXHUwNDMwIFx1MDQzNlx1MDQzNVx1MDQ0MFx1MDQzM1x1MDQzNSBcdTA0M2FcdTA0MzVcdTA0NDJcdTA0NDNcdTA0MzRcdTA0NTYgXHUwNDliXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDM5XHUwNDQxXHUwNDRiXHUwNDM3IFx1MDQzMVx1MDQzMD8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDQyMVx1MDQzZVx1MDRhM1x1MDQ5M1x1MDQ0YiBcdTA0NDFcdTA0MzBcdTA0OWJcdTA0NDJcdTA0MzBcdTA0M2JcdTA0OTNcdTA0MzBcdTA0M2RcdTA0MzRcdTA0NGIgXHUwNDliXHUwNDMwXHUwNDNiXHUwNDNmXHUwNDRiXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzNVx1MDQzYlx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQ0MyIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA0MTBcdTA0NDBcdTA0M2RcdTA0MzBcdTA0MzlcdTA0NGIgXHUwNDQyXHUwNDMwXHUwNGEzXHUwNDMxXHUwNDMwIiwKIlNvdXJjZSBjb2RlIjogIlx1MDQxMVx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzZlx1MDQ5Ylx1MDQ0YiBcdTA0M2FcdTA0M2VcdTA0MzQiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA0MWVcdTA0YTNcdTA0M2RcdTA0MzBcdTA0M2QgXHUwNDQxXHUwNDNlXHUwNDNiXHUwNDkzXHUwNDMwIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDIxXHUwNDNlXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQzZVx1MDRhM1x1MDQ5M1x1MDQzMCIsCiJFbW90aWNvbnMiOiAiXHUwNDIxXHUwNDNjXHUwNDMwXHUwNDM5XHUwNDNiXHUwNDM4XHUwNDNhXHUwNDQyXHUwNDMwXHUwNDQwIiwKIlJvYm90cyI6ICJNZXRhLXJvYm90cyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDQ5YVx1MDRiMVx1MDQzNlx1MDQzMFx1MDQ0MiBcdTA0NDFcdTA0MzhcdTA0M2ZcdTA0MzBcdTA0NDJcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NGIiLAoiVGl0bGUiOiAiXHUwNDEwXHUwNDQyXHUwNDMwXHUwNDQzXHUwNDRiIiwKIktleXdvcmRzIjogIk1ldGEta2V5d29yZHMiLAoiRW5jb2RpbmciOiAiTWV0YS1jaGFyc2V0IiwKIkRlc2NyaXB0aW9uIjogIlx1MDQyMVx1MDQzOFx1MDQzZlx1MDQzMFx1MDQ0Mlx1MDQ0Mlx1MDQzMFx1MDQzY1x1MDQzMFx1MDQ0MVx1MDQ0YiIsCiJBdXRob3IiOiAiTWV0YS1hdXRob3IiLAoiRnVsbHNjcmVlbiI6ICJcdTA0MjJcdTA0M2VcdTA0M2JcdTA0NGJcdTA0OWIgXHUwNDRkXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTA0MWFcdTA0ZTlcdTA0M2JcdTA0MzRcdTA0MzVcdTA0M2RcdTA0MzVcdTA0YTMgXHUwNDQxXHUwNDRiXHUwNDM3XHUwNDRiXHUwNDliIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNDFhXHUwNGU5XHUwNDNiXHUwNDM0XHUwNDM1XHUwNDNkXHUwNDM1XHUwNGEzXHUwNDU2XHUwNDNkXHUwNDM1XHUwNDNkIFx1MDQ5Ylx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzZCBcdTA0M2VcdTA0NDBcdTA0NGJcdTA0M2QiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDQyMVx1MDQ0M1x1MDQ0MFx1MDQzNVx1MDQ0MiBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDNcL1x1MDQ0Mlx1MDRhZlx1MDQzN1x1MDQzNVx1MDQ0Mlx1MDQ0MyIsCiJHZW5lcmFsIjogIlx1MDQxNlx1MDQzMFx1MDQzYlx1MDQzZlx1MDQ0YiIsCiJBZHZhbmNlZCI6ICJcdTA0OWFcdTA0M2VcdTA0NDFcdTA0NGJcdTA0M2NcdTA0NDhcdTA0MzAiLAoiU291cmNlIjogIlx1MDQxMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MVx1MDQ1NiIsCiJCb3JkZXIiOiAiXHUwNDE2XHUwNDM4XHUwNDM1XHUwNDMzXHUwNDU2IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA0MWZcdTA0NDBcdTA0M2VcdTA0M2ZcdTA0M2VcdTA0NDBcdTA0NDZcdTA0MzhcdTA0NGZcdTA0M2JcdTA0MzBcdTA0NDBcdTA0MzRcdTA0NGIgXHUwNDQxXHUwNDMwXHUwNDliXHUwNDQyXHUwNDMwXHUwNDQzIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQyMlx1MDQ1Nlx1MDQzYSBcdTA0M2FcdTA0MzVcdTA0YTNcdTA0MzRcdTA0NTZcdTA0MzNcdTA0NTYiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNDIxXHUwNDQzXHUwNDQwXHUwNDM1XHUwNDQyIFx1MDQ0MVx1MDQzOFx1MDQzZlx1MDQzMFx1MDQ0Mlx1MDQ0Mlx1MDQzMFx1MDQzY1x1MDQzMFx1MDQ0MVx1MDQ0YiIsCiJTdHlsZSI6ICJcdTA0MjFcdTA0NDJcdTA0MzhcdTA0M2JcdTA0NTYiLAoiRGltZW5zaW9ucyI6ICJcdTA0ZThcdTA0M2JcdTA0NDhcdTA0MzVcdTA0M2NcdTA0MzRcdTA0MzVcdTA0NDBcdTA0NTYiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDQyMVx1MDQ0M1x1MDQ0MFx1MDQzNVx1MDQ0MiBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwNDFhXHUwNGFmXHUwNDNkXC9cdTA0NDNcdTA0MzBcdTA0OWJcdTA0NGJcdTA0NDIgXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzIiwKIlJlbW92ZSBsaW5rIjogIlx1MDQyMVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ1NiBcdTA0MzBcdTA0M2JcdTA0NGJcdTA0M2YgXHUwNDQyXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQzIiwKIlVybCI6ICJVUkwtXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDU2IiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA0MWFcdTA0ZTlcdTA0NDBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0NTZcdTA0M2JcdTA0MzVcdTA0NDJcdTA0NTZcdTA0M2QgXHUwNDNjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkIiwKIkFuY2hvcnMiOiAiXHUwNDIxXHUwNDU2XHUwNDNiXHUwNDQyXHUwNDM1XHUwNDNjXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDQwIiwKIkluc2VydCBsaW5rIjogIlx1MDQyMVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNSBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMiLAoiTmV3IHdpbmRvdyI6ICJcdTA0MTZcdTA0MzBcdTA0YTNcdTA0MzAgXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM3XHUwNDM1IiwKIk5vbmUiOiAiXHUwNDE2XHUwNDNlXHUwNDliIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iLAoiVGFyZ2V0IjogIlx1MDQxMFx1MDQ0OFx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzZCBcdTA0MzZcdTA0MzVcdTA0NDBcdTA0NTYiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDQyMVx1MDQ1Nlx1MDQzYlx1MDQ0Mlx1MDQzNVx1MDQzY1x1MDQzNSBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDNcL1x1MDQ0Mlx1MDRhZlx1MDQzN1x1MDQzNVx1MDQ0Mlx1MDQ0MyIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIFx1MDQzYVx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQ0M1wvXHUwNDQyXHUwNGFmXHUwNDM3XHUwNDM1XHUwNDQyXHUwNDQzIiwKIlBvc3RlciI6ICJcdTA0MWZcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzVcdTA0NDBcdTA0NTYiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDQ5YVx1MDQzZVx1MDQ0MVx1MDQ0Ylx1MDQzY1x1MDQ0OFx1MDQzMCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0NTYiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA0MjJcdTA0ZTlcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzRcdTA0MzVcdTA0MzNcdTA0NTYgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDQyXHUwNDRiIFx1MDQzYVx1MDRlOVx1MDQ0OFx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQzZiBcdTA0MzBcdTA0M2JcdTA0NGJcdTA0M2YsIFx1MDQ5Ylx1MDQzZVx1MDQzOVx1MDQ0Ylx1MDRhM1x1MDQ0Ylx1MDQzNzoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQzNVx1MDQzZSBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NTZcdTA0NDBcdTA0NDMiLAoiRW1iZWQiOiAiXHUwNDE1XHUwNDNkXHUwNDM0XHUwNDU2XHUwNDQwXHUwNDQzIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDRhZVx1MDQzN1x1MDQzNFx1MDQ1Nlx1MDQzYVx1MDQ0MVx1MDQ1Nlx1MDQzNyBcdTA0MzFcdTA0M2VcdTA0NDEgXHUwNDNlXHUwNDQwXHUwNDRiXHUwNDNkIiwKIlBhZ2UgYnJlYWsiOiAiXHUwNDExXHUwNDM1XHUwNDQyIFx1MDRhZlx1MDQzN1x1MDQ1Nlx1MDQzYlx1MDQ1Nlx1MDQzY1x1MDQ1NiIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDQxY1x1MDRkOVx1MDQ0Mlx1MDQ1Nlx1MDQzZCBcdTA0NDBcdTA0MzVcdTA0NDJcdTA0NTZcdTA0M2RcdTA0MzRcdTA0MzUgXHUwNDliXHUwNDNlXHUwNDRlIiwKIlByZXZpZXciOiAiXHUwNDEwXHUwNDNiXHUwNDM0XHUwNDRiXHUwNDNkLVx1MDQzMFx1MDQzYlx1MDQzMCBcdTA0OWJcdTA0MzBcdTA0NDBcdTA0MzBcdTA0NDMiLAoiUHJpbnQiOiAiXHUwNDExXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDNmIFx1MDQ0OFx1MDQ0Ylx1MDQ5M1x1MDQzMFx1MDQ0MFx1MDQ0MyIsCiJTYXZlIjogIlx1MDQyMVx1MDQzMFx1MDQ5Ylx1MDQ0Mlx1MDQzMFx1MDQ0MyIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNDFhXHUwNGU5XHUwNDQwXHUwNDQxXHUwNDM1XHUwNDQyXHUwNDU2XHUwNDNiXHUwNDMzXHUwNDM1XHUwNDNkIFx1MDQzNlx1MDQzZVx1MDQzYiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0NGJcdTA0M2JcdTA0M2NcdTA0MzBcdTA0MzRcdTA0NGIuIiwKIlJlcGxhY2UiOiAiXHUwNDEwXHUwNDQzXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIk5leHQiOiAiXHUwNDFhXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDQxXHUwNDU2IiwKIldob2xlIHdvcmRzIjogIlx1MDQyMlx1MDRiMVx1MDQ0Mlx1MDQzMFx1MDQ0MSBcdTA0NDFcdTA0ZTlcdTA0MzdcdTA0MzRcdTA0MzVcdTA0NDAiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0NDMgXHUwNDM2XHUwNGQ5XHUwNDNkXHUwNDM1IFx1MDQzMFx1MDQ0M1x1MDQ0Ylx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDEwXHUwNDQzXHUwNDRiXHUwNDQxXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDMwXHUwNDQyXHUwNDRiXHUwNDNkIFx1MDQzY1x1MDRkOVx1MDQ0Mlx1MDQ1Nlx1MDQzZCIsCiJGaW5kIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQ0Ylx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQ0Ylx1MDQzZCBcdTA0M2NcdTA0ZDlcdTA0NDJcdTA0NTZcdTA0M2QiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDExXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDRiXHUwNDkzXHUwNDRiXHUwNDNkIFx1MDQzMFx1MDQ0M1x1MDQ0Ylx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJNYXRjaCBjYXNlIjogIlx1MDQyMFx1MDQzNVx1MDQzM1x1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzNFx1MDQ1NiBcdTA0MzVcdTA0NDFcdTA0M2FcdTA0MzVcdTA0NDBcdTA0NDMiLAoiUHJldiI6ICJcdTA0MTBcdTA0M2JcdTA0MzRcdTA0NGJcdTA0YTNcdTA0OTNcdTA0NGIiLAoiU3BlbGxjaGVjayI6ICJcdTA0MTVcdTA0M2NcdTA0M2JcdTA0MzUgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDQzIiwKIkZpbmlzaCI6ICJcdTA0MTBcdTA0NGZcdTA0OWJcdTA0NDJcdTA0MzBcdTA0NDMiLAoiSWdub3JlIGFsbCI6ICJcdTA0MTVcdTA0NDhcdTA0OWJcdTA0MzBcdTA0MzlcdTA0NDFcdTA0NGJcdTA0NDFcdTA0NGJcdTA0M2QgXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNjXHUwNDM1XHUwNDQzIiwKIklnbm9yZSI6ICJcdTA0MTVcdTA0M2JcdTA0MzVcdTA0M2NcdTA0MzVcdTA0NDMiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNGFlXHUwNDQxXHUwNDQyXHUwNDU2XHUwNDNkXHUwNDM1IFx1MDQzNlx1MDQzZVx1MDQzYiBcdTA0OWJcdTA0M2VcdTA0NDFcdTA0NDMiLAoiUm93cyI6ICJcdTA0MTZcdTA0M2VcdTA0M2JcdTA0NGIiLAoiSGVpZ2h0IjogIlx1MDQxMVx1MDQzOFx1MDQ1Nlx1MDQzYVx1MDQ0Mlx1MDQ1Nlx1MDQzM1x1MDQ1NiIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwNDE2XHUwNDNlXHUwNDNiXHUwNDM0XHUwNDRiXHUwNGEzIFx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQzZFx1MDQzMCBcdTA0OWJcdTA0M2VcdTA0NGUiLAoiQWxpZ25tZW50IjogIlx1MDQxZVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0M1x1MDQ0YiIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNDExXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDNkIFx1MDQ0Mlx1MDQzZVx1MDQzMVx1MDQ0YiIsCiJSb3ciOiAiXHUwNDE2XHUwNDNlXHUwNDNiIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDQxMFx1MDQzYlx1MDQzNFx1MDQ0Ylx1MDQzZFx1MDQzMCBcdTA0MzFcdTA0MzBcdTA0OTNcdTA0MzBcdTA0M2QgXHUwNDliXHUwNDNlXHUwNDQxXHUwNDQzIiwKIlNwbGl0IGNlbGwiOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliXHUwNDQyXHUwNDRiIFx1MDQzMVx1MDRlOVx1MDQzYlx1MDQ0MyIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliIFx1MDQzYVx1MDQzNVx1MDRhM1x1MDQzNFx1MDQ1Nlx1MDQzM1x1MDQ1NiIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliIFx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQ0Ylx1MDQ5M1x1MDQ0YiIsCiJSb3cgdHlwZSI6ICJcdTA0MTZcdTA0M2VcdTA0M2IgXHUwNDQyXHUwNDM4XHUwNDNmXHUwNDU2IiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MWFcdTA0MzVcdTA0NDFcdTA0NDJcdTA0MzUgXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzIiwKIkJvZHkiOiAiXHUwNDFkXHUwNDM1XHUwNDMzXHUwNDU2XHUwNDM3XHUwNDMzXHUwNDU2IFx1MDQzMVx1MDRlOVx1MDQzYlx1MDQ1Nlx1MDQzM1x1MDQ1NiIsCiJDYXB0aW9uIjogIlx1MDQxMFx1MDQ0Mlx1MDQzMFx1MDQ0M1x1MDQ0YiIsCiJGb290ZXIiOiAiXHUwNDEwXHUwNDRmXHUwNDliIFx1MDQzNlx1MDQzMFx1MDQ5M1x1MDQ0YiIsCiJEZWxldGUgcm93IjogIlx1MDQxNlx1MDQzZVx1MDQzYlx1MDQzNFx1MDQ0YiBcdTA0MzZcdTA0M2VcdTA0NGUiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTA0MTZcdTA0M2VcdTA0M2JcdTA0MzRcdTA0NGJcdTA0YTMgXHUwNGFmXHUwNDQxXHUwNDQyXHUwNDU2XHUwNDNkXHUwNDM1IFx1MDQ5Ylx1MDQzZVx1MDQ0ZSIsCiJTY29wZSI6ICJcdTA0MTBcdTA0NDNcdTA0M2NcdTA0MzBcdTA0OTNcdTA0NGIiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDQxYVx1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzNVx1MDQzZFx1MDQ1NiBcdTA0MzZcdTA0M2VcdTA0NGUiLAoiSGVhZGVyIGNlbGwiOiAiXHUwNDIyXHUwNDMwXHUwNDliXHUwNDRiXHUwNDQwXHUwNDRiXHUwNDNmXHUwNDQ4XHUwNDMwIFx1MDRiMVx1MDQ0Zlx1MDQ0OFx1MDQ0Ylx1MDQ5YiIsCiJDb2x1bW4iOiAiXHUwNDExXHUwNDMwXHUwNDkzXHUwNDMwXHUwNDNkIiwKIkNlbGwiOiAiXHUwNGIwXHUwNDRmXHUwNDQ4XHUwNDRiXHUwNDliIiwKIkhlYWRlciI6ICJcdTA0MTFcdTA0MzBcdTA0NDEgXHUwNDM2XHUwNDMwXHUwNDkzXHUwNDRiIiwKIkNlbGwgdHlwZSI6ICJcdTA0YjBcdTA0NGZcdTA0NDhcdTA0NGJcdTA0OWIgXHUwNDQyXHUwNDM4XHUwNDNmXHUwNDU2IiwKIkNvcHkgcm93IjogIlx1MDQxNlx1MDQzZVx1MDQzYlx1MDQzNFx1MDQ0YiBcdTA0M2FcdTA0ZTlcdTA0NDhcdTA0NTZcdTA0NDBcdTA0NDMiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDE2XHUwNDNlXHUwNDNiIFx1MDQ0MVx1MDQzOFx1MDQzZlx1MDQzMFx1MDQ0Mlx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0YiIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQxYVx1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzNSBcdTA0NDFcdTA0MzhcdTA0M2ZcdTA0MzBcdTA0NDJcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NGIiLAoiUm93IGdyb3VwIjogIlx1MDQxNlx1MDQzZVx1MDQzYiBcdTA0NDJcdTA0M2VcdTA0MzFcdTA0NGIiLAoiUmlnaHQiOiAiXHUwNDFlXHUwNGEzXHUwNDkzXHUwNDMwIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNDEwXHUwNDQwXHUwNDQyXHUwNDRiXHUwNDNkXHUwNDMwIFx1MDQzMVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQzZCBcdTA0OWJcdTA0M2VcdTA0NDFcdTA0NDMiLAoiQ29scyI6ICJcdTA0MTFcdTA0MzBcdTA0OTNcdTA0MzBcdTA0M2RcdTA0NGIiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA0MTBcdTA0NDFcdTA0NDJcdTA0NGJcdTA0M2RcdTA0MzAgXHUwNDM2XHUwNDNlXHUwNDNiIFx1MDQ5Ylx1MDQzZVx1MDQ0MVx1MDQ0MyIsCiJXaWR0aCI6ICJcdTA0YjBcdTA0MzdcdTA0NGJcdTA0M2RcdTA0MzRcdTA0NGJcdTA0OTNcdTA0NGIiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDRiMFx1MDQ0Zlx1MDQ0OFx1MDQ0Ylx1MDQ5YiBcdTA0NDFcdTA0MzhcdTA0M2ZcdTA0MzBcdTA0NDJcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NGIiLAoiTGVmdCI6ICJcdTA0MjFcdTA0M2VcdTA0M2JcdTA0OTNcdTA0MzAiLAoiQ3V0IHJvdyI6ICJcdTA0MTZcdTA0M2VcdTA0M2JcdTA0MzRcdTA0NGIgXHUwNDliXHUwNDM4XHUwNDRiXHUwNDNmIFx1MDQzMFx1MDQzYlx1MDQ0MyIsCiJEZWxldGUgY29sdW1uIjogIlx1MDQxMVx1MDQzMFx1MDQ5M1x1MDQzMFx1MDQzZFx1MDQzNFx1MDQ0YiBcdTA0MzZcdTA0M2VcdTA0NGUiLAoiQ2VudGVyIjogIlx1MDQxZVx1MDQ0MFx1MDQ0Mlx1MDQzMFx1MDQ0MVx1MDQ0Ylx1MDQzZFx1MDQzMCIsCiJNZXJnZSBjZWxscyI6ICJcdTA0YjBcdTA0NGZcdTA0NDhcdTA0NGJcdTA0OWJcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzRcdTA0NGIgXHUwNDMxXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDNhXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA0YWVcdTA0M2JcdTA0MzNcdTA0NTYgXHUwNDNhXHUwNDU2XHUwNDQwXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDU2XHUwNDQwXHUwNDQzIiwKIlRlbXBsYXRlcyI6ICJcdTA0YWVcdTA0M2JcdTA0MzNcdTA0NTZcdTA0M2JcdTA0MzVcdTA0NDAiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA0ZThcdTA0YTNcdTA0NTZcdTA0M2RcdTA0NTZcdTA0YTMgXHUwNDQyXHUwNGFmXHUwNDQxXHUwNDU2IiwKIlRleHQgY29sb3IiOiAiXHUwNDFjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkIFx1MDQ0Mlx1MDRhZlx1MDQ0MVx1MDQ1NiIsCiJTaG93IGJsb2NrcyI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2FcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzRcdTA0NGIgXHUwNDNhXHUwNGU5XHUwNDQwXHUwNDQxXHUwNDM1XHUwNDQyXHUwNDQzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNDFhXHUwNGU5XHUwNDQwXHUwNDU2XHUwNDNkXHUwNDMxXHUwNDM1XHUwNDM5XHUwNDQyXHUwNDU2XHUwNDNkIFx1MDQ0Mlx1MDQzMFx1MDRhM1x1MDQzMVx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQ0YiBcdTA0M2FcdTA0ZTlcdTA0NDBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0NDMiLAoiV29yZHM6IHswfSI6ICJcdTA0MjFcdTA0ZTlcdTA0MzcgXHUwNDQxXHUwNDMwXHUwNDNkXHUwNDRiOiB7MH0iLAoiSW5zZXJ0IjogIlx1MDQxYVx1MDQ1Nlx1MDQ0MFx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ1Nlx1MDQ0MFx1MDQ0MyIsCiJGaWxlIjogIlx1MDQyNFx1MDQzMFx1MDQzOVx1MDQzYiIsCiJFZGl0IjogIlx1MDQyMlx1MDRhZlx1MDQzN1x1MDQzNVx1MDQ0Mlx1MDQ0MyIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0NDJcdTA0MzBcdTA0M2JcdTA0OTNcdTA0MzBcdTA0M2QgXHUwNDNjXHUwNGQ5XHUwNDQyXHUwNDU2XHUwNDNkIFx1MDQzMFx1MDQ0M1x1MDQzY1x1MDQzMFx1MDQ5M1x1MDQ0Yi4gXHUwNDFjXHUwNDM1XHUwNDNkXHUwNDRlIFx1MDQzYVx1MDRlOVx1MDQ0MFx1MDQ0MVx1MDQzNVx1MDQ0Mlx1MDQ0MyBcdTA0YWZcdTA0NDhcdTA0NTZcdTA0M2QgQUxULUY5IFx1MDQzMVx1MDQzMFx1MDQ0MVx1MDQ0Ylx1MDRhM1x1MDQ0Ylx1MDQzNy4gXHUwNDlhXHUwNGIxXHUwNDQwXHUwNDMwXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDQwIFx1MDQzZlx1MDQzMFx1MDQzZFx1MDQzNVx1MDQzYlx1MDQ1Nlx1MDQzZCBcdTA0M2FcdTA0ZTlcdTA0NDBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0NDMgXHUwNGFmXHUwNDQ4XHUwNDU2XHUwNDNkIEFMVC1GMTAgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDRiXHUwNGEzXHUwNDRiXHUwNDM3LiBcdTA0MWFcdTA0ZTlcdTA0M2NcdTA0MzVcdTA0M2EgXHUwNDMwXHUwNDNiXHUwNDQzIFx1MDRhZlx1MDQ0OFx1MDQ1Nlx1MDQzZCBBTFQtMCBcdTA0MzFcdTA0MzBcdTA0NDFcdTA0NGJcdTA0YTNcdTA0NGJcdTA0MzcuIiwKIlRvb2xzIjogIlx1MDQ5YVx1MDRiMVx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzNFx1MDQzMFx1MDQ0MCIsCiJWaWV3IjogIlx1MDQxYVx1MDRlOVx1MDQ0MFx1MDQ1Nlx1MDQzZFx1MDQ1Nlx1MDQ0MSIsCiJUYWJsZSI6ICJcdTA0MWFcdTA0MzVcdTA0NDFcdTA0NDJcdTA0MzUiLAoiRm9ybWF0IjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0MiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/km_KH.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrbV9LSCcsewoiQ3V0IjogIlx1MTc4MFx1MTdiNlx1MTc4Zlx1MTdjYiIsCiJIZWFkaW5nIDUiOiAiXHUxNzgwXHUxN2QyXHUxNzk0XHUxN2I2XHUxNzliIDUiLAoiSGVhZGVyIDIiOiAiXHUxNzgwXHUxN2QyXHUxNzk0XHUxN2I2XHUxNzliIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUxNzgwXHUxNzk4XHUxN2QyXHUxNzk4XHUxNzljXHUxN2I3XHUxNzkyXHUxN2I4XHUyMDBiXHUxN2EyXHUxN2NhXHUxN2I4XHUxNzkzXHUxNzkyXHUxN2JhXHUxNzhlXHUxN2I3XHUxNzhmXHUyMDBiXHUxNzlhXHUxNzk0XHUxNzlmXHUxN2NiXHUyMDBiXHUxN2EyXHUxN2QyXHUxNzkzXHUxNzgwXHUyMDBiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxN2EyXHUxN2I2XHUxNzg1XHUyMDBiXHUxNzg1XHUxN2JjXHUxNzliXHUyMDBiXHUxNzk1XHUxN2QyXHUxNzkxXHUxN2I2XHUxNzliXHUxN2NiXHUyMDBiXHUxNzkxXHUxN2M1XHUyMDBiXHUxNzgwXHUxN2I2XHUxNzkzXHUxN2NiXHUyMDBiXHUxNzgwXHUxN2QyXHUxNzhhXHUxN2I2XHUxNzlhXHUyMDBiXHUxNzhmXHUxNzk4XHUxN2QyXHUxNzk0XHUxN2MwXHUxNzhmXHUyMDBiXHUxNzgxXHUxN2QyXHUxNzkxXHUxN2I2XHUxNzlmXHUxN2NiXHUyMDBiXHUxN2ExXHUxN2JlXHUxNzk5XHUxN2Q0IFx1MTc5Zlx1MTdiY1x1MTc5OFx1MjAwYlx1MTc5NFx1MTdkMlx1MTc5YVx1MTdiZSBDdHJsK1hcL0NcL1YgXHUxNzliXHUxN2JlXHUyMDBiXHUxNzgwXHUxN2QyXHUxNzhhXHUxN2I2XHUxNzlhXHUyMDBiXHUxNzg1XHUxN2JiXHUxNzg1XHUyMDBiXHUxNzg3XHUxN2M2XHUxNzkzXHUxN2JkXHUxNzlmXHUyMDBiXHUxNzljXHUxN2I3XHUxNzg5XHUxN2Q0IiwKIkhlYWRpbmcgNCI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMiIsCiJQYXN0ZSI6ICJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2IiLAoiQ2xvc2UiOiAiXHUxNzk0XHUxN2I3XHUxNzkxIiwKIkZvbnQgRmFtaWx5IjogIlx1MTc5Nlx1MTdiYlx1MTc5OFx1MTdkMlx1MTc5Nlx1MjAwYlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc5Zlx1MTc5YSIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlx1MTc4Zlx1MTc5OFx1MTdkMlx1MTc5YVx1MTdiOVx1MTc5OFx1MjAwYlx1MTc5MVx1MTdjNVx1MjAwYlx1MTc5Zlx1MTdkMlx1MTc4YVx1MTdiNlx1MTdjNiIsCiJOZXcgZG9jdW1lbnQiOiAiXHUxN2FmXHUxNzgwXHUxNzlmXHUxN2I2XHUxNzlhXHUyMDBiXHUxN2EyXHUxNzhmXHUxN2QyXHUxNzkwXHUxNzk0XHUxNzkxXHUyMDBiXHUxNzkwXHUxN2QyXHUxNzk4XHUxN2I4IiwKIkJsb2NrcXVvdGUiOiAiXHUxNzk0XHUxN2QyXHUxNzliXHUxNzgwXHUxN2NiXHUyMDBiXHUxNzk2XHUxN2I2XHUxNzgwXHUxN2QyXHUxNzk5XHUyMDBiXHUxNzlmXHUxNzk4XHUxN2QyXHUxNzlhXHUxNzg0XHUxN2NiIiwKIk51bWJlcmVkIGxpc3QiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg3XHUxN2I4XHUyMDBiXHUxNzg3XHUxN2I2XHUyMDBiXHUxNzliXHUxN2MxXHUxNzgxIiwKIkhlYWRpbmcgMSI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMSIsCiJIZWFkaW5ncyI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MTc4MVx1MTdiN1x1MTc4Zlx1MjAwYlx1MTc5NFx1MTc5M1x1MTdkMlx1MTc5MVx1MTdiNlx1MTc4Zlx1MTdjYlx1MjAwYlx1MTc4NVx1MTdiY1x1MTc5YiIsCiJGb3JtYXRzIjogIlx1MTc5MVx1MTc5OFx1MTdkMlx1MTc5YVx1MTc4NFx1MTdjYiIsCiJIZWFkZXJzIjogIlx1MTc4MFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5YiIsCiJTZWxlY3QgYWxsIjogIlx1MTc4N1x1MTdkMlx1MTc5YVx1MTdiZVx1MTc5Zlx1MjAwYlx1MTc5MVx1MTdiNlx1MTdjNlx1MTc4NFx1MjAwYlx1MTdhMlx1MTc5Zlx1MTdjYiIsCiJIZWFkZXIgMyI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMyIsCiJCbG9ja3MiOiAiXHUxNzk0XHUxN2QyXHUxNzliXHUxNzgwXHUxN2NiIiwKIlVuZG8iOiAiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxNzkyXHUxN2QyXHUxNzljXHUxN2JlXHUyMDBiXHUxNzljXHUxN2I3XHUxNzg5IiwKIlN0cmlrZXRocm91Z2giOiAiXHUxNzgyXHUxN2JjXHUxNzlmXHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkxXHUxN2I2XHUxNzhmXHUxN2NiXHUyMDBiXHUxNzgwXHUxNzhlXHUxN2QyXHUxNzhhXHUxN2I2XHUxNzliIiwKIkJ1bGxldCBsaXN0IjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4N1x1MTdiOFx1MjAwYlx1MTc4N1x1MTdiNlx1MjAwYlx1MTc4NVx1MTdjNlx1MTc4ZVx1MTdiYlx1MTc4NSIsCiJIZWFkZXIgMSI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3YmNcdTE3ODVcdTIwMGJcdTE3OWJcdTE3YmUiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTE3OWZcdTE3OThcdTE3ZDJcdTE3YTJcdTE3YjZcdTE3OGZcdTIwMGJcdTE3OTFcdTE3OThcdTE3ZDJcdTE3OWFcdTE3ODRcdTE3Y2IiLAoiRm9udCBTaXplcyI6ICJcdTE3OTFcdTE3YzZcdTE3YTBcdTE3YzZcdTIwMGJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWEiLAoiU3Vic2NyaXB0IjogIlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc5Zlx1MTc5YVx1MjAwYlx1MTc4Zlx1MTdiY1x1MTc4NVx1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdjNFx1MTc5OCIsCiJIZWFkZXIgNiI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgNiIsCiJSZWRvIjogIlx1MTc5Mlx1MTdkMlx1MTc5Y1x1MTdiZVx1MjAwYlx1MTc5Y1x1MTdiN1x1MTc4OSIsCiJQYXJhZ3JhcGgiOiAiXHUxNzgwXHUxNzhiXHUxN2I2XHUxNzgxXHUxNzhlXHUxN2QyXHUxNzhjIiwKIk9rIjogIlx1MTc5Nlx1MTdkMlx1MTc5YVx1MTc5OCIsCiJCb2xkIjogIlx1MTc4YVx1MTdiN1x1MTc4ZiIsCiJDb2RlIjogIlx1MTc4MFx1MTdiY1x1MTc4YSIsCiJJdGFsaWMiOiAiXHUxNzkxXHUxN2QyXHUxNzlhXHUxN2MxXHUxNzhmIiwKIkFsaWduIGNlbnRlciI6ICJcdTE3OGZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjlcdTE3OThcdTIwMGJcdTE3OTFcdTE3YzVcdTIwMGJcdTE3ODBcdTE3OGVcdTE3ZDJcdTE3OGFcdTE3YjZcdTE3OWIiLAoiSGVhZGVyIDUiOiAiXHUxNzgwXHUxN2QyXHUxNzk0XHUxN2I2XHUxNzliIDUiLAoiSGVhZGluZyA2IjogIlx1MTc4MFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5YiA2IiwKIkhlYWRpbmcgMyI6ICJcdTE3ODBcdTE3ZDJcdTE3OTRcdTE3YjZcdTE3OWIgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUxNzgxXHUxN2I3XHUxNzhmXHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkxXHUxN2I2XHUxNzhmXHUxN2NiXHUyMDBiXHUxNzg1XHUxN2MxXHUxNzg5IiwKIkhlYWRlciA0IjogIlx1MTc4MFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5YiA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTE3ODBcdTE3YjZcdTE3OWFcdTIwMGJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3OTZcdTE3YzFcdTE3OWJcdTIwMGJcdTE3OTNcdTE3YzFcdTE3YzcgXHUxNzlmXHUxN2QyXHUxNzkwXHUxN2I3XHUxNzhmXHUyMDBiXHUxNzgwXHUxN2QyXHUxNzkzXHUxN2JiXHUxNzg0XHUyMDBiXHUxNzk0XHUxN2MyXHUxNzk0XHUyMDBiXHUxNzk1XHUxN2MyXHUxNzkzXHUyMDBiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzkyXHUxNzk4XHUxN2QyXHUxNzk4XHUxNzhmXHUxN2I2XHUxN2Q0IFx1MTc5NFx1MTc4NVx1MTdkMlx1MTc4NVx1MTdiYlx1MTc5NFx1MTdkMlx1MTc5NFx1MTc5M1x1MTdkMlx1MTc5M1x1MjAwYlx1MTc5M1x1MTdjMVx1MTdjNyBcdTE3OThcdTE3YjZcdTE3OGZcdTE3YjdcdTE3ODBcdTE3YjZcdTIwMGJcdTE3OTFcdTE3YjZcdTE3YzZcdTE3ODRcdTIwMGJcdTE3YTFcdTE3YjZcdTE3OTlcdTIwMGJcdTE3OTNcdTE3YjlcdTE3ODRcdTIwMGJcdTE3OGZcdTE3ZDJcdTE3OWFcdTE3YmNcdTE3OWNcdTIwMGJcdTE3OTRcdTE3YjZcdTE3OTNcdTIwMGJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3ODdcdTE3YjZcdTIwMGJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OTJcdTE3OThcdTE3ZDJcdTE3OThcdTE3OGZcdTE3YjYgXHUxNzliXHUxN2JiXHUxN2M3XHUxNzhmXHUxN2QyXHUxNzlhXHUxN2I2XHUyMDBiXHUxNzhmXHUxN2MyXHUyMDBiXHUxN2EyXHUxN2QyXHUxNzkzXHUxNzgwXHUyMDBiXHUxNzk0XHUxN2I3XHUxNzkxXHUyMDBiXHUxNzg3XHUxNzk4XHUxN2QyXHUxNzlhXHUxN2JlXHUxNzlmXHUyMDBiXHUxNzkzXHUxN2MxXHUxN2M3XHUxN2Q0IiwKIlVuZGVybGluZSI6ICJcdTE3ODJcdTE3YmNcdTE3OWZcdTIwMGJcdTE3OTRcdTE3OTNcdTE3ZDJcdTE3OTFcdTE3YjZcdTE3OGZcdTE3Y2JcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTgiLAoiQ2FuY2VsIjogIlx1MTc5NFx1MTdjNFx1MTdjN1x1MjAwYlx1MTc5NFx1MTc4NFx1MTdjYiIsCiJKdXN0aWZ5IjogIlx1MTc4Zlx1MTc5OFx1MTdkMlx1MTc5YVx1MTdiOVx1MTc5OFx1MjAwYlx1MTc5Nlx1MTdjMVx1MTc4OSIsCiJJbmxpbmUiOiAiXHUxNzgwXHUxN2QyXHUxNzkzXHUxN2JiXHUxNzg0XHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkxXHUxN2I2XHUxNzhmXHUxN2NiIiwKIkNvcHkiOiAiXHUxNzg1XHUxNzk4XHUxN2QyXHUxNzliXHUxNzg0IiwKIkFsaWduIGxlZnQiOiAiXHUxNzhmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2I5XHUxNzk4XHUyMDBiXHUxNzkxXHUxN2M1XHUyMDBiXHUxNzg2XHUxN2QyXHUxNzljXHUxN2MxXHUxNzg0IiwKIlZpc3VhbCBhaWRzIjogIlx1MTc5MVx1MTdiN1x1MTc4YVx1MTdkMlx1MTc4Ylx1MTc5N1x1MTdiNlx1MTc5Nlx1MjAwYlx1MTc4N1x1MTdjNlx1MTc5M1x1MTdiZFx1MTc5OSIsCiJMb3dlciBHcmVlayI6ICJcdTE3OWJcdTE3YzFcdTE3ODFcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YjdcdTE3ODBcdTIwMGJcdTE3OGZcdTE3YmNcdTE3ODUiLAoiU3F1YXJlIjogIlx1MTc4N1x1MTdkMlx1MTc5YVx1MTdiYlx1MTc4NCIsCiJEZWZhdWx0IjogIlx1MTc5Ylx1MTdjNlx1MTc5M1x1MTdiNlx1MTdjNlx1MjAwYlx1MTc4YVx1MTdiZVx1MTc5OCIsCiJMb3dlciBBbHBoYSI6ICJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3YmNcdTE3ODUiLAoiQ2lyY2xlIjogIlx1MTc5OFx1MTdiY1x1MTc5YiIsCiJEaXNjIjogIlx1MTc5MFx1MTdiNlx1MTc5ZiIsCiJVcHBlciBBbHBoYSI6ICJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OTJcdTE3YzYiLAoiVXBwZXIgUm9tYW4iOiAiXHUxNzliXHUxN2MxXHUxNzgxXHUyMDBiXHUxNzlhXHUxN2M5XHUxN2JjXHUxNzk4XHUxN2M5XHUxN2I2XHUxN2M2XHUxNzg0XHUyMDBiXHUxNzkyXHUxN2M2IiwKIkxvd2VyIFJvbWFuIjogIlx1MTc5Ylx1MTdjMVx1MTc4MVx1MjAwYlx1MTc5YVx1MTdjOVx1MTdiY1x1MTc5OFx1MTdjOVx1MTdiNlx1MTdjNlx1MTc4NFx1MjAwYlx1MTc4Zlx1MTdiY1x1MTc4NSIsCiJOYW1lIjogIlx1MTc4OFx1MTdkMlx1MTc5OFx1MTdjNFx1MTdjNyIsCiJBbmNob3IiOiAiXHUxNzk5XHUxN2JiXHUxNzkwXHUxN2QyXHUxNzgwXHUxN2I2IiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUxNzk4XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzliXHUxN2I2XHUxNzlmXHUxN2NiXHUyMDBiXHUxNzk0XHUxN2QyXHUxNzhhXHUxN2JjXHUxNzlhXHUyMDBiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxNzkxXHUxN2I2XHUxNzkzXHUxN2NiXHUyMDBiXHUxNzk0XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzlhXHUxNzgwXHUxN2QyXHUxNzlmXHUxN2I2XHUyMDBiXHUxNzkxXHUxN2JiXHUxNzgwXHUxN2Q0IFx1MTc4Zlx1MTdiZVx1MjAwYlx1MTdhMlx1MTdkMlx1MTc5M1x1MTc4MFx1MjAwYlx1MTc5Nlx1MTdiN1x1MTc4Zlx1MjAwYlx1MTc4N1x1MTdiNlx1MjAwYlx1MTc4NVx1MTc4NFx1MTdjYlx1MjAwYlx1MTc4NVx1MTdiNlx1MTc4MFx1MjAwYlx1MTc4NVx1MTdjMVx1MTc4OVx1MjAwYlx1MTc5Nlx1MTdiOFx1MTc5MVx1MTdiOFx1MTc5M1x1MTdjMVx1MTdjN1x1MjAwYlx1MTc5OFx1MTdjMlx1MTc5M1x1MTc5MVx1MTdjMT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MTc5Zlx1MTdkMlx1MTc4YVx1MTdiNlx1MTc5YVx1MjAwYlx1MTc5Zlx1MTdjMVx1MTc4NVx1MTc4MFx1MTdkMlx1MTc4YVx1MTdiOFx1MjAwYlx1MTc5Nlx1MTdkMlx1MTc5YVx1MTdiNlx1MTc4NFx1MjAwYlx1MTc5Nlx1MTdiOFx1MjAwYlx1MTc5OFx1MTdiYlx1MTc5MyIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTE3OGZcdTE3YmRcdTIwMGJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OTZcdTE3YjdcdTE3OWZcdTE3YzFcdTE3OWYiLAoiU291cmNlIGNvZGUiOiAiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzgwXHUxN2JjXHUxNzhhIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MTc5Nlx1MTc4ZVx1MTdjYyIsCiJSaWdodCB0byBsZWZ0IjogIlx1MTc5Zlx1MTdkMlx1MTc4YVx1MTdiNlx1MTdjNlx1MjAwYlx1MTc5MVx1MTdjNVx1MjAwYlx1MTc4Nlx1MTdkMlx1MTc5Y1x1MTdjMVx1MTc4NCIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MTc4Nlx1MTdkMlx1MTc5Y1x1MTdjMVx1MTc4NFx1MjAwYlx1MTc5MVx1MTdjNVx1MjAwYlx1MTc5Zlx1MTdkMlx1MTc4YVx1MTdiNlx1MTdjNiIsCiJFbW90aWNvbnMiOiAiXHUxNzlhXHUxN2JjXHUxNzk0XHUyMDBiXHUxNzlmXHUxNzg5XHUxN2QyXHUxNzg5XHUxN2I2XHUxNzhlXHUyMDBiXHUxN2EyXHUxN2I2XHUxNzlhXHUxNzk4XHUxN2QyXHUxNzk4XHUxNzhlXHUxN2NkIiwKIlJvYm90cyI6ICJcdTE3OWFcdTE3YmNcdTE3OTRcdTE3OTlcdTE3OTNcdTE3ZDJcdTE3OGYiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTE3OWJcdTE3ODBcdTE3ZDJcdTE3ODFcdTE3OGVcdTE3YzhcdTIwMGJcdTE3OWZcdTE3OThcdTE3ZDJcdTE3OTRcdTE3OGZcdTE3ZDJcdTE3OGZcdTE3YjdcdTIwMGJcdTE3YWZcdTE3ODBcdTE3OWZcdTE3YjZcdTE3OWEiLAoiVGl0bGUiOiAiXHUxNzg1XHUxN2M2XHUxNzhlXHUxNzg0XHUyMDBiXHUxNzg3XHUxN2JlXHUxNzg0IiwKIktleXdvcmRzIjogIlx1MTc5Nlx1MTdiNlx1MTc4MFx1MTdkMlx1MTc5OVx1MjAwYlx1MTc4Mlx1MTc5M1x1MTdkMlx1MTc5Ylx1MTdiOVx1MTdjNyIsCiJFbmNvZGluZyI6ICJcdTE3ODBcdTE3YjZcdTE3OWFcdTIwMGJcdTE3YTJcdTE3Y2FcdTE3YjhcdTE3OTNcdTE3ODBcdTE3YmNcdTE3OGEiLAoiRGVzY3JpcHRpb24iOiAiXHUxNzlmXHUxN2MxXHUxNzg1XHUxNzgwXHUxN2QyXHUxNzhhXHUxN2I4XHUyMDBiXHUxN2EyXHUxNzkyXHUxN2I3XHUxNzk0XHUxN2QyXHUxNzk0XHUxN2I2XHUxNzk5IiwKIkF1dGhvciI6ICJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3OTNcdTE3YjdcdTE3OTZcdTE3OTNcdTE3ZDJcdTE3OTIiLAoiRnVsbHNjcmVlbiI6ICJcdTE3OTZcdTE3YzFcdTE3ODlcdTIwMGJcdTE3YTJcdTE3YzFcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3ODRcdTE3Y2IiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MTc5NFx1MTc5M1x1MTdkMlx1MTc5MVx1MTdiNlx1MTc4Zlx1MTdjYlx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MTc5Ylx1MTdjNlx1MTdhMFx1MjAwYlx1MTc5NVx1MTdkMlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXC9cdTE3ODBcdTE3YzIgXHUxNzlhXHUxN2JjXHUxNzk0XHUyMDBiXHUxNzk3XHUxN2I2XHUxNzk2IiwKIkdlbmVyYWwiOiAiXHUxNzkxXHUxN2JjXHUxNzkxXHUxN2M1IiwKIkFkdmFuY2VkIjogIlx1MTc4MFx1MTc5OFx1MTdkMlx1MTc5YVx1MTdiN1x1MTc4Zlx1MjAwYlx1MTc4MVx1MTdkMlx1MTc5Nlx1MTc5Zlx1MTdjYiIsCiJTb3VyY2UiOiAiXHUxNzk0XHUxN2QyXHUxNzlhXHUxNzk3XHUxNzk2IiwKIkJvcmRlciI6ICJcdTE3OWZcdTE3Y2FcdTE3YmJcdTE3OTgiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIiBcdTE3OTRcdTE3ODRcdTE3ZDJcdTE3ODFcdTE3YzZcdTIwMGJcdTE3YjJcdTE3ZDJcdTE3OTlcdTIwMGJcdTE3OThcdTE3YjZcdTE3OTNcdTIwMGJcdTE3OWZcdTE3OThcdTE3YjZcdTE3OThcdTE3YjZcdTE3OGZcdTE3ZDJcdTE3OWEiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUxNzliXHUxN2M2XHUxN2EwXHUyMDBiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg4XHUxNzlhIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MTc5Zlx1MTdjMVx1MTc4NVx1MTc4MFx1MTdkMlx1MTc4YVx1MTdiOFx1MjAwYlx1MTdhMlx1MTc5Mlx1MTdiN1x1MTc5NFx1MTdkMlx1MTc5NFx1MTdiNlx1MTc5OVx1MjAwYlx1MTc5Nlx1MTdiOFx1MjAwYlx1MTc5YVx1MTdiY1x1MTc5NCIsCiJTdHlsZSI6ICJcdTE3OWFcdTE3ODVcdTE3OTNcdTE3YjZcdTE3OTRcdTE3OTAiLAoiRGltZW5zaW9ucyI6ICJcdTE3OWNcdTE3YjdcdTE3OThcdTE3YjZcdTE3OGZcdTE3ZDJcdTE3OWEiLAoiSW5zZXJ0IGltYWdlIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5Ylx1MjAwYlx1MTc5YVx1MTdiY1x1MTc5NFx1MjAwYlx1MTc5N1x1MTdiNlx1MTc5NiIsCiJab29tIGluIjogIlx1MTc5Nlx1MTc4NFx1MTdkMlx1MTc5YVx1MTdiOFx1MTc4MCIsCiJDb250cmFzdCI6ICJcdTE3ODBcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjdcdTE3OGZcdTIwMGJcdTE3OTZcdTE3OGVcdTE3Y2MiLAoiQmFjayI6ICJcdTE3OTBcdTE3OTlcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTkiLAoiR2FtbWEiOiAiXHUxN2EwXHUxN2QyXHUxNzgyXHUxN2I2XHUxNzk4XHUxN2M5XHUxN2I2IiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1MTc4Zlx1MTdkMlx1MTc5YVx1MTdhMVx1MTc5NFx1MTdjYlx1MjAwYlx1MTc5NVx1MTdkMlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJSZXNpemUiOiAiXHUxNzk0XHUxN2QyXHUxNzhhXHUxN2JjXHUxNzlhXHUyMDBiXHUxNzkxXHUxN2M2XHUxN2EwXHUxN2M2IiwKIlNoYXJwZW4iOiAiXHUxNzg1XHUxN2QyXHUxNzk0XHUxN2I2XHUxNzlmXHUxN2NiIiwKIlpvb20gb3V0IjogIlx1MTc5NFx1MTc4NFx1MTdkMlx1MTc5YVx1MTdiZFx1MTc5OCIsCiJJbWFnZSBvcHRpb25zIjogIlx1MTc4N1x1MTc5OFx1MTdkMlx1MTc5YVx1MTdiZVx1MTc5Zlx1MjAwYlx1MTc5YVx1MTdiY1x1MTc5NFx1MTc5N1x1MTdiNlx1MTc5NiIsCiJBcHBseSI6ICJcdTE3YTJcdTE3OTNcdTE3YmJcdTE3OWNcdTE3OGZcdTE3ZDJcdTE3OGYiLAoiQnJpZ2h0bmVzcyI6ICJcdTE3OTZcdTE3OTNcdTE3ZDJcdTE3OWJcdTE3YmEiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTE3OTRcdTE3ODRcdTE3ZDJcdTE3OWNcdTE3YjdcdTE3OWJcdTIwMGJcdTE3OWZcdTE3ZDJcdTE3OWFcdTE3OTRcdTIwMGJcdTE3OTFcdTE3ZDJcdTE3OWFcdTE3OTNcdTE3YjdcdTE3ODVcdTIwMGJcdTE3OTNcdTE3YjZcdTE3YTFcdTE3YjdcdTE3ODBcdTE3YjYiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUxNzk0XHUxNzg0XHUxN2QyXHUxNzljXHUxN2I3XHUxNzliXHUyMDBiXHUxNzg1XHUxN2QyXHUxNzlhXHUxN2I2XHUxNzlmXHUyMDBiXHUxNzkxXHUxN2QyXHUxNzlhXHUxNzkzXHUxN2I3XHUxNzg1XHUyMDBiXHUxNzkzXHUxN2I2XHUxN2ExXHUxN2I3XHUxNzgwXHUxN2I2IiwKIkVkaXQgaW1hZ2UiOiAiXHUxNzgwXHUxN2MyXHUxNzlmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2JkXHUxNzliXHUyMDBiXHUxNzlhXHUxN2JjXHUxNzk0XHUxNzk3XHUxN2I2XHUxNzk2IiwKIkNvbG9yIGxldmVscyI6ICJcdTE3ODBcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjdcdTE3OGZcdTIwMGJcdTE3OTZcdTE3OGVcdTE3Y2MiLAoiQ3JvcCI6ICJcdTE3ODVcdTE3ZDJcdTE3OWFcdTE3YjlcdTE3OTQiLAoiT3JpZW50YXRpb24iOiAiXHUxNzkxXHUxN2I3XHUxNzlmIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTE3OGZcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODhcdTE3OWEiLAoiSW52ZXJ0IjogIlx1MTc4YVx1MTdiNlx1MTc4MFx1MTdjYlx1MjAwYlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdkMlx1MTc5YVx1MTdiNlx1MTc5ZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODBcdTE3YjZcdTE3OWJcdTIwMGJcdTE3OTRcdTE3OWFcdTE3YjdcdTE3ODVcdTE3ZDJcdTE3ODZcdTE3YzFcdTE3OTFcL1x1MTc5OFx1MTdjOVx1MTdjNFx1MTc4NCIsCiJSZW1vdmUgbGluayI6ICJcdTE3OGFcdTE3ODBcdTIwMGJcdTE3OGZcdTE3YzZcdTE3OGVcdTIwMGJcdTE3ODVcdTE3YzFcdTE3ODkiLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzhmXHUxN2QyXHUxNzlhXHUxN2JjXHUxNzljXHUyMDBiXHUxNzk0XHUxNzg0XHUxN2QyXHUxN2EwXHUxN2I2XHUxNzg5IiwKIkFuY2hvcnMiOiAiXHUxNzk5XHUxN2JiXHUxNzkwXHUxN2QyXHUxNzgwXHUxN2I2IiwKIkluc2VydCBsaW5rIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5Ylx1MjAwYlx1MTc4Zlx1MTdjNlx1MTc4ZSIsCiJOZXcgd2luZG93IjogIlx1MTc5NVx1MTdkMlx1MTc5MVx1MTdiNlx1MTdjNlx1MTc4NFx1MjAwYlx1MTc5Y1x1MTdiOFx1MTc5M1x1MTc4YVx1MTdiY1x1MjAwYlx1MTc5MFx1MTdkMlx1MTc5OFx1MTdiOCIsCiJOb25lIjogIlx1MTc5OFx1MTdiN1x1MTc5M1x1MjAwYlx1MTc5OFx1MTdiNlx1MTc5MyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUxN2EyXHUxN2QyXHUxNzkzXHUxNzgwXHUyMDBiXHUxNzk0XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliIFVSTCBcdTE3OGFcdTE3YzJcdTE3OWJcdTIwMGJcdTE3ODdcdTE3YjZcdTIwMGJcdTE3OGZcdTE3YzZcdTE3OGVcdTIwMGJcdTE3OTFcdTE3YzVcdTIwMGJcdTE3ODFcdTE3YjZcdTE3ODRcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzVcdTE3ZDQgXHUxNzhmXHUxN2JlXHUyMDBiXHUxN2EyXHUxN2QyXHUxNzkzXHUxNzgwXHUyMDBiXHUxNzg1XHUxNzg0XHUxN2NiXHUyMDBiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkwXHUxN2MyXHUxNzk4XHUyMDBiXHUxNzk0XHUxN2JiXHUxNzk2XHUxN2QyXHUxNzljXHUxNzk0XHUyMDBiXHUxNzkxIGh0dHA6XC9cLyBcdTE3OGFcdTE3YzJcdTE3OWFcdTIwMGJcdTE3YWNcdTE3OTFcdTE3YzE/IiwKIlRhcmdldCI6ICJcdTE3OTFcdTE3YjdcdTE3OWZcdTE3OGFcdTE3YzUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3OTRcdTE3YjZcdTE3OTNcdTIwMGJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWIgVVJMIFx1MTc4YVx1MTdjMlx1MTc5Ylx1MjAwYlx1MTc5OFx1MTdiNlx1MTc5M1x1MjAwYlx1MTc5Zlx1MTc4ZVx1MTdkMlx1MTc4Ylx1MTdiNlx1MTc5M1x1MjAwYlx1MTc4YVx1MTdiY1x1MTc4NVx1MjAwYlx1MTdhMlx1MTdiNlx1MTc5Zlx1MTc5OVx1MTc4YVx1MTdkMlx1MTc4Ylx1MTdiNlx1MTc5M1x1MjAwYlx1MTdhMlx1MTdjYVx1MTdiOFx1MTc5OFx1MTdjMlx1MTc5Ylx1MTdkNCBcdTE3OGZcdTE3YmVcdTIwMGJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3ODVcdTE3ODRcdTE3Y2JcdTIwMGJcdTE3OTRcdTE3OTNcdTE3ZDJcdTE3OTBcdTE3YzJcdTE3OThcdTIwMGJcdTE3OTRcdTE3YmJcdTE3OTZcdTE3ZDJcdTE3OWNcdTE3OTRcdTIwMGJcdTE3OTEgbWFpbHRvOiBcdTE3OGFcdTE3YzJcdTE3OWFcdTIwMGJcdTE3YWNcdTE3OTFcdTE3YzE/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5YlwvXHUxNzgwXHUxN2MyIFx1MTc4Zlx1MTdjNlx1MTc4ZSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXC9cdTE3ODBcdTE3YzIgXHUxNzljXHUxN2I4XHUxNzhhXHUxN2MxXHUxN2EyXHUxN2JjIiwKIlBvc3RlciI6ICJcdTE3YTJcdTE3ZDJcdTE3OTNcdTE3ODBcdTIwMGJcdTE3OTVcdTE3ZDJcdTE3OWZcdTE3YjZcdTE3OTkiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MTc5NFx1MTdkMlx1MTc5YVx1MTc5N1x1MTc5Nlx1MjAwYlx1MTc4YVx1MTc5MVx1MTdjM1x1MjAwYlx1MTc5MVx1MTdjMFx1MTc4ZiIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MTc5NFx1MTdiN1x1MTc5MVx1MjAwYlx1MTc5N1x1MTdkMlx1MTc4N1x1MTdiNlx1MTc5NFx1MTdjYlx1MjAwYlx1MTc4MFx1MTdiY1x1MTc4YVx1MjAwYlx1MTc5NFx1MTc4NFx1MTdkMlx1MTc4MFx1MTc5NFx1MTdjYlx1MjAwYlx1MTc5M1x1MTdjNVx1MjAwYlx1MTc4MVx1MTdiNlx1MTc4NFx1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdjNFx1MTc5ODoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5Ylx1MjAwYlx1MTc5Y1x1MTdiOFx1MTc4YVx1MTdjMVx1MTdhMlx1MTdiYyIsCiJFbWJlZCI6ICJcdTE3OTRcdTE3ODRcdTE3ZDJcdTE3ODBcdTE3OTRcdTE3Y2IiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUxNzhhXHUxN2M2XHUxNzhlXHUxNzgwXHUyMDBiXHUxNzgzXHUxN2QyXHUxNzliXHUxN2I2XHUyMDBiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxNzk0XHUxN2M2XHUxNzk0XHUxN2MyXHUxNzgwIiwKIlBhZ2UgYnJlYWsiOiAiXHUxNzk0XHUxN2M2XHUxNzk0XHUxN2MyXHUxNzgwXHUyMDBiXHUxNzkxXHUxN2M2XHUxNzk2XHUxN2QwXHUxNzlhIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUxNzk0XHUxN2I3XHUxNzkxXHUyMDBiXHUxNzk3XHUxN2QyXHUxNzg3XHUxN2I2XHUxNzk0XHUxN2NiXHUyMDBiXHUxNzg3XHUxN2I2XHUyMDBiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhIiwKIlByZXZpZXciOiAiXHUxNzk4XHUxN2JlXHUxNzliXHUyMDBiXHUxNzg3XHUxN2I2XHUyMDBiXHUxNzk4XHUxN2JiXHUxNzkzIiwKIlByaW50IjogIlx1MTc5NFx1MTdjNFx1MTdjN1x1MjAwYlx1MTc5Nlx1MTdiYlx1MTc5OFx1MTdkMlx1MTc5NiIsCiJTYXZlIjogIlx1MTc5YVx1MTc4MFx1MTdkMlx1MTc5Zlx1MTdiNlx1MjAwYlx1MTc5MVx1MTdiYlx1MTc4MCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxN2EyXHUxN2I2XHUxNzg1XHUyMDBiXHUxNzlhXHUxNzgwXHUyMDBiXHUxNzgzXHUxN2JlXHUxNzg5XHUyMDBiXHUxNzgxXHUxN2QyXHUxNzlmXHUxN2MyXHUyMDBiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzhhXHUxN2MyXHUxNzliXHUyMDBiXHUxNzk0XHUxN2I2XHUxNzkzXHUyMDBiXHUxNzgwXHUxN2M2XHUxNzhlXHUxNzhmXHUxN2NiXHUxN2Q0IiwKIlJlcGxhY2UiOiAiXHUxNzg3XHUxN2M2XHUxNzkzXHUxN2JkXHUxNzlmIiwKIk5leHQiOiAiXHUxNzk4XHUxN2JiXHUxNzgxIiwKIldob2xlIHdvcmRzIjogIlx1MTc5Nlx1MTdiNlx1MTc4MFx1MTdkMlx1MTc5OVx1MjAwYlx1MTc5MVx1MTdiNlx1MTdjNlx1MTc4NFx1MjAwYlx1MTc5OFx1MTdiY1x1MTc5YiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MTc5Zlx1MTdkMlx1MTc5Y1x1MTdjMlx1MTc4NFx1MjAwYlx1MTc5YVx1MTc4MFx1MjAwYlx1MTc5M1x1MTdiN1x1MTc4NFx1MjAwYlx1MTc4N1x1MTdjNlx1MTc5M1x1MTdiZFx1MTc5ZiIsCiJSZXBsYWNlIHdpdGgiOiAiXHUxNzg3XHUxN2M2XHUxNzkzXHUxN2JkXHUxNzlmXHUyMDBiXHUxNzhhXHUxN2M0XHUxNzk5IiwKIkZpbmQiOiAiXHUxNzlmXHUxN2QyXHUxNzljXHUxN2MyXHUxNzg0XHUyMDBiXHUxNzlhXHUxNzgwIiwKIlJlcGxhY2UgYWxsIjogIlx1MTc4N1x1MTdjNlx1MTc5M1x1MTdiZFx1MTc5Zlx1MjAwYlx1MTc5MVx1MTdiNlx1MTdjNlx1MTc4NFx1MjAwYlx1MTdhMlx1MTc5Zlx1MTdjYiIsCiJNYXRjaCBjYXNlIjogIlx1MTc4MFx1MTc5YVx1MTc4ZVx1MTdiOFx1MjAwYlx1MTc4YVx1MTdjNlx1MTc4ZVx1MTdiY1x1MTc4NSIsCiJQcmV2IjogIlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdjNFx1MTc5OSIsCiJTcGVsbGNoZWNrIjogIlx1MTc5Nlx1MTdiN1x1MTc5M1x1MTdiN1x1MTc4Zlx1MTdkMlx1MTc5OVx1MjAwYlx1MTdhMlx1MTc4MFx1MTdkMlx1MTc4MVx1MTc5YVx1MTdiNlx1MTc5Y1x1MTdiN1x1MTc5YVx1MTdiYlx1MTc5MVx1MTdkMlx1MTc5MiIsCiJGaW5pc2giOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxNzk0XHUxN2NiIiwKIklnbm9yZSBhbGwiOiAiXHUxNzk4XHUxN2I3XHUxNzkzXHUyMDBiXHUxN2EyXHUxN2JlXHUxNzk2XHUxN2JlXHUyMDBiXHUxNzkxXHUxN2I2XHUxN2M2XHUxNzg0XHUyMDBiXHUxN2EyXHUxNzlmXHUxN2NiIiwKIklnbm9yZSI6ICJcdTE3OThcdTE3YjdcdTE3OTNcdTIwMGJcdTE3YTJcdTE3YmVcdTIwMGJcdTE3OTZcdTE3YmUiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUxNzk0XHUxNzkzXHUxN2QyXHUxNzkwXHUxN2MyXHUxNzk4XHUyMDBiXHUxNzkxXHUxN2M1XHUyMDBiXHUxNzljXHUxNzg1XHUxNzkzXHUxN2I2XHUxNzkzXHUxN2JiXHUxNzgwXHUxN2QyXHUxNzlhXHUxNzk4IiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5Ylx1MjAwYlx1MTc4OFx1MTdiZFx1MTc5YVx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MFx1MjAwYlx1MTc5Nlx1MTdiOFx1MjAwYlx1MTc5OFx1MTdiYlx1MTc4MSIsCiJSb3dzIjogIlx1MTc4N1x1MTdiZFx1MTc5YVx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJIZWlnaHQiOiAiXHUxNzgwXHUxNzk4XHUxN2QyXHUxNzk2XHUxNzlmXHUxN2NiIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODBcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTkiLAoiQWxpZ25tZW50IjogIlx1MTc4MFx1MTdiNlx1MTc5YVx1MjAwYlx1MTc4Zlx1MTc5OFx1MTdkMlx1MTc5YVx1MTdiOVx1MTc5OCIsCiJCb3JkZXIgY29sb3IiOiAiXHUxNzk2XHUxNzhlXHUxN2NjXHUyMDBiXHUxNzlmXHUxN2NhXHUxN2JiXHUxNzk4IiwKIkNvbHVtbiBncm91cCI6ICJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YmJcdTE3OThcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3ODhcdTE3OWEiLAoiUm93IjogIlx1MTc4N1x1MTdiZFx1MTc5YVx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3ODhcdTE3OWFcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3OThcdTE3YmJcdTE3ODEiLAoiU3BsaXQgY2VsbCI6ICJcdTE3ODlcdTE3YzJcdTE3ODBcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3YjYiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MTc4NVx1MTc5M1x1MTdkMlx1MTc5Ylx1MTdjNFx1MTdjN1x1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdhMVx1MTdiNiIsCiJDZWxsIHNwYWNpbmciOiAiXHUxNzgyXHUxNzk4XHUxN2QyXHUxNzliXHUxN2I2XHUxNzhmXHUyMDBiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2ExXHUxN2I2IiwKIlJvdyB0eXBlIjogIlx1MTc5NFx1MTdkMlx1MTc5YVx1MTc5N1x1MTdjMVx1MTc5MVx1MjAwYlx1MTc4N1x1MTdiZFx1MTc5YVx1MjAwYlx1MTc4YVx1MTdjMVx1MTc4MCIsCiJJbnNlcnQgdGFibGUiOiAiXHUxNzk0XHUxNzg5XHUxN2QyXHUxNzg1XHUxN2JjXHUxNzliXHUyMDBiXHUxNzhmXHUxN2I2XHUxNzlhXHUxN2I2XHUxNzg0IiwKIkJvZHkiOiAiXHUxNzhmXHUxN2JkXHUyMDBiXHUxNzlmXHUxN2MxXHUxNzg1XHUxNzgwXHUxN2QyXHUxNzhhXHUxN2I4IiwKIkNhcHRpb24iOiAiXHUxNzg1XHUxN2M2XHUxNzhlXHUxNzg0XHUyMDBiXHUxNzg3XHUxN2JlXHUxNzg0IiwKIkZvb3RlciI6ICJcdTE3OTRcdTE3OGJcdTE3OThcdTIwMGJcdTE3ODBcdTE3OTBcdTE3YjYiLAoiRGVsZXRlIHJvdyI6ICJcdTE3OWJcdTE3YmJcdTE3OTRcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTE3OTRcdTE3YjdcdTE3OTFcdTIwMGJcdTE3OTdcdTE3ZDJcdTE3ODdcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODBcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3OThcdTE3YmJcdTE3ODEiLAoiU2NvcGUiOiAiXHUxNzljXHUxN2I3XHUxNzlmXHUxN2I2XHUxNzliXHUyMDBiXHUxNzk3XHUxN2I2XHUxNzk2IiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTE3OWJcdTE3YmJcdTE3OTRcdTIwMGJcdTE3OGZcdTE3YjZcdTE3OWFcdTE3YjZcdTE3ODQiLAoiSCBBbGlnbiI6ICJcdTE3ODBcdTE3YjZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjlcdTE3OThcdTIwMGJcdTE3OTVcdTE3ZDJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiVG9wIjogIlx1MTc5Ylx1MTdiZSIsCiJIZWFkZXIgY2VsbCI6ICJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3YjZcdTIwMGJcdTE3ODVcdTE3YzZcdTE3OGVcdTE3ODRcdTIwMGJcdTE3ODdcdTE3YmVcdTE3ODQiLAoiQ29sdW1uIjogIlx1MTc4N1x1MTdiZFx1MTc5YVx1MjAwYlx1MTc4OFx1MTc5YSIsCiJSb3cgZ3JvdXAiOiAiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2JiXHUxNzk4XHUyMDBiXHUxNzg3XHUxN2JkXHUxNzlhXHUyMDBiXHUxNzhhXHUxN2MxXHUxNzgwIiwKIkNlbGwiOiAiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2ExXHUxN2I2IiwKIk1pZGRsZSI6ICJcdTE3ODBcdTE3OGVcdTE3ZDJcdTE3OGFcdTE3YjZcdTE3OWIiLAoiQ2VsbCB0eXBlIjogIlx1MTc5NFx1MTdkMlx1MTc5YVx1MTc5N1x1MTdjMVx1MTc5MVx1MjAwYlx1MTc4MFx1MTdkMlx1MTc5YVx1MTdhMVx1MTdiNiIsCiJDb3B5IHJvdyI6ICJcdTE3ODVcdTE3OThcdTE3ZDJcdTE3OWJcdTE3ODRcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUxNzliXHUxNzgwXHUxN2QyXHUxNzgxXHUxNzhlXHUxN2M4XHUyMDBiXHUxNzg3XHUxN2JkXHUxNzlhXHUyMDBiXHUxNzhhXHUxN2MxXHUxNzgwIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUxNzliXHUxNzgwXHUxN2QyXHUxNzgxXHUxNzhlXHUxN2M4XHUyMDBiXHUxNzhmXHUxN2I2XHUxNzlhXHUxN2I2XHUxNzg0IiwKIkJvdHRvbSI6ICJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTgiLAoiViBBbGlnbiI6ICJcdTE3ODBcdTE3YjZcdTE3OWFcdTIwMGJcdTE3OGZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjlcdTE3OThcdTIwMGJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODhcdTE3OWEiLAoiSGVhZGVyIjogIlx1MTc4NVx1MTdjNlx1MTc4ZVx1MTc4NFx1MjAwYlx1MTc4N1x1MTdiZVx1MTc4NCIsCiJSaWdodCI6ICJcdTE3OWZcdTE3ZDJcdTE3OGFcdTE3YjZcdTE3YzYiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODdcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODBcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTkiLAoiQ29scyI6ICJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3ODhcdTE3OWEiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODBcdTIwMGJcdTE3OTZcdTE3YjhcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YzRcdTE3OTkiLAoiV2lkdGgiOiAiXHUxNzkxXHUxNzkxXHUxN2I5XHUxNzg0IiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTE3OWJcdTE3ODBcdTE3ZDJcdTE3ODFcdTE3OGVcdTE3YzhcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3YjYiLAoiTGVmdCI6ICJcdTE3ODZcdTE3ZDJcdTE3OWNcdTE3YzFcdTE3ODQiLAoiQ3V0IHJvdyI6ICJcdTE3ODBcdTE3YjZcdTE3OGZcdTE3Y2JcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3OGFcdTE3YzFcdTE3ODAiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTE3OWJcdTE3YmJcdTE3OTRcdTIwMGJcdTE3ODdcdTE3YmRcdTE3OWFcdTIwMGJcdTE3ODhcdTE3OWEiLAoiQ2VudGVyIjogIlx1MTc4MFx1MTc4ZVx1MTdkMlx1MTc4YVx1MTdiNlx1MTc5YiIsCiJNZXJnZSBjZWxscyI6ICJcdTE3OTRcdTE3ODlcdTE3ZDJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODBcdTE3ZDJcdTE3OWFcdTE3YTFcdTE3YjZcdTIwMGJcdTE3ODVcdTE3YmNcdTE3OWJcdTIwMGJcdTE3ODJcdTE3ZDJcdTE3OTNcdTE3YjYiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5Ylx1MjAwYlx1MTc5Nlx1MTdiYlx1MTc5OFx1MTdkMlx1MTc5Nlx1MjAwYlx1MTc4Mlx1MTc5OFx1MTdkMlx1MTc5YVx1MTdiYyIsCiJUZW1wbGF0ZXMiOiAiXHUxNzk2XHUxN2JiXHUxNzk4XHUxN2QyXHUxNzk2XHUyMDBiXHUxNzgyXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2JjIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUxNzk2XHUxNzhlXHUxN2NjXHUyMDBiXHUxNzk1XHUxN2QyXHUxNzkxXHUxN2MzXHUyMDBiXHUxNzgwXHUxN2QyXHUxNzlhXHUxN2M0XHUxNzk5IiwKIkN1c3RvbS4uLiI6ICJcdTE3OTVcdTE3ZDJcdTE3OTFcdTE3YjZcdTE3OWJcdTE3Y2JcdTIwMGJcdTE3ODFcdTE3ZDJcdTE3OWJcdTE3YmRcdTE3OTMuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MTc5Nlx1MTc4ZVx1MTdjY1x1MjAwYlx1MTc5NVx1MTdkMlx1MTc5MVx1MTdiNlx1MTc5Ylx1MTdjYlx1MjAwYlx1MTc4MVx1MTdkMlx1MTc5Ylx1MTdiZFx1MTc5MyIsCiJObyBjb2xvciI6ICJcdTE3ODJcdTE3ZDJcdTE3OThcdTE3YjZcdTE3OTNcdTIwMGJcdTE3OTZcdTE3OGVcdTE3Y2MiLAoiVGV4dCBjb2xvciI6ICJcdTE3OTZcdTE3OGVcdTE3Y2NcdTIwMGJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWEiLAoiU2hvdyBibG9ja3MiOiAiXHUxNzk0XHUxNzg0XHUxN2QyXHUxN2EwXHUxN2I2XHUxNzg5XHUyMDBiXHUxNzk0XHUxN2QyXHUxNzliXHUxN2JiXHUxNzgwIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUxNzk0XHUxNzg0XHUxN2QyXHUxN2EwXHUxN2I2XHUxNzg5XHUyMDBiXHUxNzhmXHUxN2JkXHUyMDBiXHUxN2EyXHUxNzgwXHUxN2QyXHUxNzlmXHUxNzlhXHUyMDBiXHUxNzgwXHUxN2M2XHUxNzk0XHUxN2I2XHUxN2M2XHUxNzg0IiwKIldvcmRzOiB7MH0iOiAiXHUxNzk2XHUxN2I2XHUxNzgwXHUxN2QyXHUxNzk5OiB7MH0iLAoiSW5zZXJ0IjogIlx1MTc5NFx1MTc4OVx1MTdkMlx1MTc4NVx1MTdiY1x1MTc5YiIsCiJGaWxlIjogIlx1MTdhZlx1MTc4MFx1MTc5Zlx1MTdiNlx1MTc5YSIsCiJFZGl0IjogIlx1MTc4MFx1MTdjMlx1MTc5NFx1MTdkMlx1MTc5YVx1MTdjMiIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTE3OTFcdTE3YjhcdTE3OGZcdTE3YjZcdTE3YzZcdTE3ODRcdTIwMGJcdTE3YTJcdTE3ODBcdTE3ZDJcdTE3OWZcdTE3OWFcdTIwMGJcdTE3OWZcdTE3YzZcdTE3OTRcdTE3YmNcdTE3OWFcdTE3OTRcdTE3YzJcdTE3OTRcdTE3ZDQgXHUxNzg1XHUxN2JiXHUxNzg1IEFMVC1GOSBcdTE3OWZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3OThcdTE3YzlcdTE3YmFcdTE3OTNcdTE3YmJcdTE3OTlcdTE3ZDQgXHUxNzg1XHUxN2JiXHUxNzg1IEFMVC1GMTAgXHUxNzlmXHUxNzk4XHUxN2QyXHUxNzlhXHUxN2I2XHUxNzk0XHUxN2NiXHUyMDBiXHUxNzlhXHUxNzk0XHUxN2I2XHUxNzlhXHUyMDBiXHUxN2E3XHUxNzk0XHUxNzgwXHUxNzlhXHUxNzhlXHUxN2NkXHUxN2Q0IFx1MTc4NVx1MTdiYlx1MTc4NSBBTFQtMCBcdTE3OWZcdTE3OThcdTE3ZDJcdTE3OWFcdTE3YjZcdTE3OTRcdTE3Y2JcdTIwMGJcdTE3ODdcdTE3YzZcdTE3OTNcdTE3YmRcdTE3OTlcdTE3ZDQiLAoiVG9vbHMiOiAiXHUxN2E3XHUxNzk0XHUxNzgwXHUxNzlhXHUxNzhlXHUxN2NkIiwKIlZpZXciOiAiXHUxNzkxXHUxN2I3XHUxNzhhXHUxN2QyXHUxNzhiXHUxNzk3XHUxN2I2XHUxNzk2IiwKIlRhYmxlIjogIlx1MTc4Zlx1MTdiNlx1MTc5YVx1MTdiNlx1MTc4NCIsCiJGb3JtYXQiOiAiXHUxNzkxXHUxNzk4XHUxN2QyXHUxNzlhXHUxNzg0XHUxN2NiIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ko.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrbycsewoiQ3V0IjogIlx1Yzc5MFx1Yjk3NFx1YWUzMCIsCiJIZWFkaW5nIDUiOiAiXHVjODFjXHViYWE5IDUiLAoiSGVhZGVyIDIiOiAiXHVjODFjXHViYWE5IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHVkMDc0XHViOWJkXHViY2Y0XHViNGRjXHVjNWQwIFx1YmMxNFx1Yjg1YyBcdWM4MTFcdWFkZmNcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4gXHVkMGE0XHViY2Y0XHViNGRjIFx1YjJlOFx1Y2Q5NVx1ZDBhNCBDdHJsK1hcL0NcL1YgXHViOTdjIFx1Yzc3NFx1YzZhOVx1ZDU3NCBcdWM4ZmNcdWMyZWRcdWMyZGNcdWM2MjQuIiwKIkhlYWRpbmcgNCI6ICJcdWM4MWNcdWJhYTkgNCIsCiJEaXYiOiAiXHViYzE0XHVkMGQ1XHVhZTAwIiwKIkhlYWRpbmcgMiI6ICJcdWM4MWNcdWJhYTkgMiIsCiJQYXN0ZSI6ICJcdWJkOTlcdWM3NzRcdWFlMzAiLAoiQ2xvc2UiOiAiXHViMmViXHVhZTMwIiwKIkZvbnQgRmFtaWx5IjogIlx1YWUwMFx1YWYzNCIsCiJQcmUiOiAiXHVjODE1XHVkNjE1IFx1YmIzOFx1YjJlOCIsCiJBbGlnbiByaWdodCI6ICJcdWM2MjRcdWI5NzhcdWNhYmQgXHViOWRlXHVjZGE0IiwKIk5ldyBkb2N1bWVudCI6ICJcdWMwYzhcdWJiMzhcdWMxMWMiLAoiQmxvY2txdW90ZSI6ICJcdWM3NzhcdWM2YTkgXHViMmU4XHViNzdkIiwKIk51bWJlcmVkIGxpc3QiOiAiXHVjMjFjXHVjMTFjIFx1Yzc4OFx1YjI5NCBcdWJhYTlcdWI4NWQiLAoiSGVhZGluZyAxIjogIlx1YzgxY1x1YmFhOSAxIiwKIkhlYWRpbmdzIjogIlx1YzgxY1x1YmFhOSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHViNGU0XHVjNWVjXHVjNGYwXHVhZTMwIiwKIkZvcm1hdHMiOiAiXHVkNjE1XHVjMmRkIiwKIkhlYWRlcnMiOiAiXHViYjM4XHViMmU4IFx1ZDYxNVx1YzJkZCIsCiJTZWxlY3QgYWxsIjogIlx1YzgwNFx1Y2NiNFx1YzEyMFx1ZDBkZCIsCiJIZWFkZXIgMyI6ICJcdWM4MWNcdWJhYTkgMyIsCiJCbG9ja3MiOiAiXHViMmU4XHViNzdkIiwKIlVuZG8iOiAiXHViNDE4XHViM2NjXHViOWFjXHVhZTMwIiwKIlN0cmlrZXRocm91Z2giOiAiXHVjZGU4XHVjMThjXHVjMTIwIiwKIkJ1bGxldCBsaXN0IjogIlx1YWUwMFx1YmEzOFx1YjlhYyBcdWFlMzBcdWQ2MzgiLAoiSGVhZGVyIDEiOiAiXHVjODFjXHViYWE5IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHVjNzA0IFx1Y2NhOFx1Yzc5MCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1ZDYxNVx1YzJkZCBcdWM5YzBcdWM2YjBcdWFlMzAiLAoiRm9udCBTaXplcyI6ICJcdWFlMDBcdWM3OTAgXHVkMDZjXHVhZTMwIiwKIlN1YnNjcmlwdCI6ICJcdWM1NDRcdWI3OTggXHVjY2E4XHVjNzkwIiwKIkhlYWRlciA2IjogIlx1YzgxY1x1YmFhOSA2IiwKIlJlZG8iOiAiXHViMmU0XHVjMmRjIFx1YzJlNFx1ZDU4OSIsCiJQYXJhZ3JhcGgiOiAiXHViY2Y4XHViYjM4IiwKIk9rIjogIlx1ZDY1NVx1Yzc3OCIsCiJCb2xkIjogIlx1YWQ3NVx1YWM4YyIsCiJDb2RlIjogIlx1Y2Y1NFx1YjRkYyIsCiJJdGFsaWMiOiAiXHVhZTMwXHVjNmI4XHVjNzg0IFx1YWYzNCIsCiJBbGlnbiBjZW50ZXIiOiAiXHVhYzAwXHVjNmI0XHViMzcwIFx1YjlkZVx1Y2RhNCIsCiJIZWFkZXIgNSI6ICJcdWM4MWNcdWJhYTkgNSIsCiJIZWFkaW5nIDYiOiAiXHVjODFjXHViYWE5IDYiLAoiSGVhZGluZyAzIjogIlx1YzgxY1x1YmFhOSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdWIwYjRcdWM1YjRcdWM0ZjBcdWFlMzAiLAoiSGVhZGVyIDQiOiAiXHVjODFjXHViYWE5IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1ZDE0ZFx1YzJhNFx1ZDJiOFx1YjljYyBcdWM3MjBcdWM5YzBcdWQ1NThcdWFjZTAgXHViZDk5XHVjNWVjXHViMTIzXHVjMmI1XHViMmM4XHViMmU0LiBcdWM3NzQgXHViMmU4XHVjZDk0XHViOTdjIFx1YjA0NFx1YWUzMCBcdWM4MDRcdWFlNGNcdWM5YzAgXHViZDk5XHVjNWVjXHViMTIzXHViMjk0IFx1YmFhOFx1YjRlMCBcdWIwYjRcdWM2YTlcdWM3NTggXHVkNjE1XHVjMmRkXHVjNzc0IFx1YzgxY1x1YWM3MFx1YjQyOVx1YjJjOFx1YjJlNC4iLAoiVW5kZXJsaW5lIjogIlx1YmMxMVx1YzkwNCIsCiJDYW5jZWwiOiAiXHVjZGU4XHVjMThjIiwKIkp1c3RpZnkiOiAiXHVjNTkxXHVjYWJkIFx1YjlkZVx1Y2RhNCIsCiJJbmxpbmUiOiAiXHVjNzc4XHViNzdjXHVjNzc4IiwKIkNvcHkiOiAiXHViY2Y1XHVjMGFjXHVkNTU4XHVhZTMwIiwKIkFsaWduIGxlZnQiOiAiXHVjNjdjXHVjYWJkIFx1YjlkZVx1Y2RhNCIsCiJWaXN1YWwgYWlkcyI6ICJcdWMyZGNcdWFjMDFcdWM3OTBcdWI4Y2MiLAoiTG93ZXIgR3JlZWsiOiAiXHVhZGY4XHViOWFjXHVjMmE0IFx1YzE4Y1x1YmIzOFx1Yzc5MCIsCiJTcXVhcmUiOiAiXHVjMGFjXHVhYzAxXHVkNjE1IiwKIkRlZmF1bHQiOiAiXHVhZTMwXHViY2Y4IiwKIkxvd2VyIEFscGhhIjogIlx1YzYwMVx1YzE4Y1x1YmIzOFx1Yzc5MCIsCiJDaXJjbGUiOiAiXHVjNmQwIiwKIkRpc2MiOiAiXHVjNmQwXHViYzE4IiwKIlVwcGVyIEFscGhhIjogIlx1YzYwMVx1YjMwMFx1YmIzOFx1Yzc5MCIsCiJVcHBlciBSb21hbiI6ICJcdWI4NWNcdWI5YzggXHViMzAwXHViYjM4XHVjNzkwIiwKIkxvd2VyIFJvbWFuIjogIlx1Yjg1Y1x1YjljOCBcdWMxOGNcdWJiMzhcdWM3OTAiLAoiTmFtZSI6ICJcdWM3NzRcdWI5ODQiLAoiQW5jaG9yIjogIlx1Y2M0NVx1YWMwOFx1ZDUzYyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1YzgwMFx1YzdhNSBcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzQwIFx1YmNjMFx1YWNiZFx1YzBhY1x1ZDU2ZFx1Yzc3NCBcdWM3ODhcdWMyYjVcdWIyYzhcdWIyZTQuIFx1Yzc3NCBcdWQzOThcdWM3NzRcdWM5YzBcdWI5N2MgXHViMDk4XHVhYzAwXHVjMmRjXHVhY2EwXHVjMmI1XHViMmM4XHVhZTRjPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHVjZDVjXHVhZGZjIFx1YzIxOFx1YzgxNSBcdWJkODhcdWI3ZWNcdWM2MjRcdWFlMzAiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHVkMmI5XHVjMjE4XHViYjM4XHVjNzkwIiwKIlNvdXJjZSBjb2RlIjogIlx1YzE4Y1x1YzJhNFx1Y2Y1NFx1YjRkYyIsCiJCIjogIlx1Y2NhZCIsCiJSIjogIlx1YzgwMSIsCiJHIjogIlx1YjE3OSIsCiJDb2xvciI6ICJcdWMwYzlcdWMwYzEiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdWM2MjRcdWI5NzhcdWNhYmRcdWM1ZDBcdWMxMWMgXHVjNjdjXHVjYWJkIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHVjNjdjXHVjYWJkXHVjNWQwXHVjMTFjIFx1YzYyNFx1Yjk3OFx1Y2FiZCIsCiJFbW90aWNvbnMiOiAiXHVjNzc0XHViYWE4XHVkMmYwXHVjZjU4IiwKIlJvYm90cyI6ICJcdWI4NWNcdWJkMDciLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdWJiMzhcdWMxMWMgXHVjMThkXHVjMTMxIiwKIlRpdGxlIjogIlx1YzgxY1x1YmFhOSIsCiJLZXl3b3JkcyI6ICJcdWQ1NzVcdWMyZWNcdWM1YjQiLAoiRW5jb2RpbmciOiAiXHVjNzc4XHVjZjU0XHViNTI5IiwKIkRlc2NyaXB0aW9uIjogIlx1YzEyNFx1YmE4NSIsCiJBdXRob3IiOiAiXHVhZTAwXHVjNGY0XHVjNzc0IiwKIkZ1bGxzY3JlZW4iOiAiXHVjODA0XHVjY2I0IFx1ZDY1NFx1YmE3NCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHVhYzAwXHViODVjIFx1YzkwNCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1YWMwMFx1Yjg1YyBcdWFjMDRcdWFjYTkiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWMwYmRcdWM3ODVcL1x1ZDNiOFx1YzlkMSIsCiJHZW5lcmFsIjogIlx1Yzc3Y1x1YmMxOCIsCiJBZHZhbmNlZCI6ICJcdWFjZTBcdWFlMDkiLAoiU291cmNlIjogIlx1YzE4Y1x1YzJhNCIsCiJCb3JkZXIiOiAiXHVkMTRjXHViNDUwXHViOWFjIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdWJlNDRcdWM3MjggXHVjNzIwXHVjOWMwIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1YzEzOFx1Yjg1YyBcdWFjMDRcdWFjYTkiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHVjNzc0XHViYmY4XHVjOWMwIFx1YzEyNFx1YmE4NSIsCiJTdHlsZSI6ICJcdWI5ZjVcdWM1MjgiLAoiRGltZW5zaW9ucyI6ICJcdWQwNmNcdWFlMzAiLAoiSW5zZXJ0IGltYWdlIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWMwYmRcdWM3ODUiLAoiWm9vbSBpbiI6ICJcdWQ2NTVcdWIzMDAiLAoiQ29udHJhc3QiOiAiXHViMzAwXHViZTQ0IiwKIkJhY2siOiAiXHViNGE0XHViODVjIiwKIkdhbW1hIjogIlx1YWMxMFx1YjljOCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdWMyMThcdWQzYzkgXHViYzE4XHVjODA0IiwKIlJlc2l6ZSI6ICJcdWFkZjhcdWI5YmMgXHVjNTU1XHVjZDk1IiwKIlNoYXJwZW4iOiAiXHVjMTIwXHViYTg1XHViM2M0IiwKIlpvb20gb3V0IjogIlx1Y2Q5NVx1YzE4YyIsCiJJbWFnZSBvcHRpb25zIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWM2MzVcdWMxNTgiLAoiQXBwbHkiOiAiXHVjODAxXHVjNmE5IiwKIkJyaWdodG5lc3MiOiAiXHViYTg1XHViM2M0IiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHVjMmRjXHVhY2M0IFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWQ2OGNcdWM4MDQiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHViYzE4XHVjMmRjXHVhY2M0IFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWQ2OGNcdWM4MDQiLAoiRWRpdCBpbWFnZSI6ICJcdWM3NzRcdWJiZjhcdWM5YzAgXHVkM2I4XHVjOWQxIiwKIkNvbG9yIGxldmVscyI6ICJcdWNjNDRcdWIzYzQiLAoiQ3JvcCI6ICJcdWM3OTBcdWI5NzRcdWFlMzAiLAoiT3JpZW50YXRpb24iOiAiXHViYzI5XHVkNWE1IiwKIkZsaXAgdmVydGljYWxseSI6ICJcdWMyMThcdWM5YzEgXHViYzE4XHVjODA0IiwKIkludmVydCI6ICJcdWJjMThcdWM4MDQiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHViMGEwXHVjOWRjXC9cdWMyZGNcdWFjMDQgXHVjMGJkXHVjNzg1IiwKIlJlbW92ZSBsaW5rIjogIlx1YjljMVx1ZDA2YyBcdWM4MWNcdWFjNzAiLAoiVXJsIjogIlx1YzhmY1x1YzE4YyIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHViMDk4XHVkMGMwXHViMGJjIFx1YmIzOFx1Yzc5MFx1YzVmNCIsCiJBbmNob3JzIjogIlx1Y2M0NVx1YWMwOFx1ZDUzYyIsCiJJbnNlcnQgbGluayI6ICJcdWI5YzFcdWQwNmMgXHVjMGJkXHVjNzg1IiwKIk5ldyB3aW5kb3ciOiAiXHVjMGM4IFx1Y2MzZCIsCiJOb25lIjogIlx1YzVjNlx1Yzc0YyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHVjOGZjXHVjMThjKFVSTClcdWFjMDAgXHVjNjc4XHViZDgwIFx1YjljMVx1ZDA2Y1x1Yzc3OCBcdWFjODMgXHVhYzE5XHVjMmI1XHViMmM4XHViMmU0LiBodHRwOlwvXC8gXHVjNTVlXHViYTM4XHViOWFjXHViOTdjIFx1YmQ5OVx1Yzc3NFx1YWNhMFx1YzJiNVx1YjJjOFx1YWU0Yz8iLAoiVGFyZ2V0IjogIlx1ZDBjMFx1YWM5ZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1YzhmY1x1YzE4YyhVUkwpXHVhYzAwIFx1Yzc3NFx1YmE1NFx1Yzc3YyBcdWM4ZmNcdWMxOGNcdWM3NzggXHVhYzgzIFx1YWMxOVx1YzJiNVx1YjJjOFx1YjJlNC4gbWFpbHRvOiBcdWM1NWVcdWJhMzhcdWI5YWNcdWI5N2MgXHViZDk5XHVjNzc0XHVhY2EwXHVjMmI1XHViMmM4XHVhZTRjPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdWI5YzFcdWQwNmMgXHVjMGJkXHVjNzg1XC9cdWQzYjhcdWM5ZDEiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1YmU0NFx1YjUxNFx1YzYyNCBcdWMwYmRcdWM3ODVcL1x1ZDNiOFx1YzlkMSIsCiJQb3N0ZXIiOiAiXHVkM2VjXHVjMmE0XHVkMTMwIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdWIzMDBcdWNjYjQgXHVjMThjXHVjMmE0IiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHVjNTQ0XHViNzk4XHVjNWQwIFx1Y2Y1NFx1YjRkY1x1Yjk3YyBcdWJkOTlcdWM1ZWNcdWIxMjNcdWM3M2NcdWMxMzhcdWM2OTQ6IiwKIkluc2VydCB2aWRlbyI6ICJcdWJlNDRcdWI1MTRcdWM2MjQgXHVjMGJkXHVjNzg1IiwKIkVtYmVkIjogIlx1YzBiZFx1Yzc4NSIsCiJOb25icmVha2luZyBzcGFjZSI6ICIgXHVjOTA0IFx1YmMxNFx1YWZjOCBcdWM1YzZcdWIyOTQgXHVhY2Y1XHViYzMxIiwKIlBhZ2UgYnJlYWsiOiAiXHVkMzk4XHVjNzc0XHVjOWMwIFx1YjA5OFx1YjIxNCIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1YmIzOFx1Yzc5MFx1YzVmNFx1YjljYyBcdWJkOTlcdWM1ZWNcdWIxMjNcdWFlMzAiLAoiUHJldmlldyI6ICJcdWJiZjhcdWI5YWNcdWJjZjRcdWFlMzAiLAoiUHJpbnQiOiAiXHVjNzc4XHVjMWM0IiwKIlNhdmUiOiAiXHVjODAwXHVjN2E1IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDQgXHVjYzNlXHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWMyYjVcdWIyYzhcdWIyZTQuIiwKIlJlcGxhY2UiOiAiXHViYzE0XHVhZmI4XHVhZTMwIiwKIk5leHQiOiAiXHViMmU0XHVjNzRjIiwKIldob2xlIHdvcmRzIjogIlx1YzYyOFx1YzgwNFx1ZDU1YyBcdWIyZThcdWM1YjQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdWNjM2VcdWFlMzAgXHViYzBmIFx1YmMxNFx1YWZiOFx1YWUzMCIsCiJSZXBsYWNlIHdpdGgiOiAiXHVjYzNlXHVjNzQ0IFx1YjBiNFx1YzZhOSIsCiJGaW5kIjogIlx1Y2MzZVx1YWUzMCIsCiJSZXBsYWNlIGFsbCI6ICJcdWJhYThcdWI0NTAgXHViYzE0XHVhZmI4XHVhZTMwIiwKIk1hdGNoIGNhc2UiOiAiXHViMzAwXHVjMThjXHViYjM4XHVjNzkwIFx1YWQ2Y1x1YmQ4NCIsCiJQcmV2IjogIlx1Yzc3NFx1YzgwNCIsCiJTcGVsbGNoZWNrIjogIlx1YjlkZVx1Y2RhNFx1YmM5NSIsCiJGaW5pc2giOiAiXHViOWM4XHVjZTY4IiwKIklnbm9yZSBhbGwiOiAiXHViYWE4XHViNDUwIFx1YmIzNFx1YzJkYyIsCiJJZ25vcmUiOiAiXHViYjM0XHVjMmRjIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1YzBhY1x1YzgwNFx1YzVkMCBcdWNkOTRcdWFjMDAiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHVjNzA0XHVjNWQwIFx1ZDU4OSBcdWMwYmRcdWM3ODUiLAoiUm93cyI6ICJcdWQ1ODkiLAoiSGVpZ2h0IjogIlx1YjE5Mlx1Yzc3NCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHVjNTQ0XHViNzk4XHVjNWQwIFx1ZDU4OSBcdWJkOTlcdWM1ZWNcdWIxMjNcdWFlMzAiLAoiQWxpZ25tZW50IjogIlx1YzgxNVx1YjgyYyIsCiJCb3JkZXIgY29sb3IiOiAiXHVkMTRjXHViNDUwXHViOWFjIFx1YzBjOSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHVjNWY0IFx1YWRmOFx1YjhmOSIsCiJSb3ciOiAiXHVkNTg5IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1YzY3Y1x1Y2FiZFx1YzVkMCBcdWM1ZjQgXHVjMGJkXHVjNzg1IiwKIlNwbGl0IGNlbGwiOiAiXHVjMTQwIFx1YjA5OFx1YjIwNFx1YWUzMCIsCiJDZWxsIHBhZGRpbmciOiAiXHVjMTQwIFx1YjBiNFx1YmQ4MCBcdWM1ZWNcdWJjMzEiLAoiQ2VsbCBzcGFjaW5nIjogIlx1YzE0MCBcdWFjMDRcdWFjYTkiLAoiUm93IHR5cGUiOiAiXHVkNTg5IFx1Yzg4NVx1Yjk1OCIsCiJJbnNlcnQgdGFibGUiOiAiXHVkNDVjIFx1YzBiZFx1Yzc4NSIsCiJCb2R5IjogIlx1YmNmOFx1YmIzOCIsCiJDYXB0aW9uIjogIlx1YzhmY1x1YzExZCIsCiJGb290ZXIiOiAiXHViYzE0XHViMmU1XHVhZTAwIiwKIkRlbGV0ZSByb3ciOiAiXHVkNTg5IFx1YzBhZFx1YzgxYyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1YzcwNFx1YzVkMCBcdWQ1ODkgXHViZDk5XHVjNWVjXHViMTIzXHVhZTMwIiwKIlNjb3BlIjogIlx1YmM5NFx1YzcwNCIsCiJEZWxldGUgdGFibGUiOiAiXHVkNDVjIFx1YzBhZFx1YzgxYyIsCiJIIEFsaWduIjogIlx1YWMwMFx1Yjg1YyBcdWM4MTVcdWI4MmMiLAoiVG9wIjogIlx1YzBjMVx1YjJlOCIsCiJIZWFkZXIgY2VsbCI6ICJcdWJhMzhcdWI5YmZcdWNlNzgiLAoiQ29sdW1uIjogIlx1YzVmNCIsCiJSb3cgZ3JvdXAiOiAiXHVkNTg5IFx1YWRmOFx1YjhmOSIsCiJDZWxsIjogIlx1YzE0MCIsCiJNaWRkbGUiOiAiXHVjOTExXHVhYzA0IiwKIkNlbGwgdHlwZSI6ICJcdWMxNDAgXHVjODg1XHViOTU4IiwKIkNvcHkgcm93IjogIlx1ZDU4OSBcdWJjZjVcdWMwYWMiLAoiUm93IHByb3BlcnRpZXMiOiAiXHVkNTg5IFx1YzE4ZFx1YzEzMSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1ZDQ1YyBcdWMxOGRcdWMxMzEiLAoiQm90dG9tIjogIlx1ZDU1OFx1YjJlOCIsCiJWIEFsaWduIjogIlx1YzEzOFx1Yjg1YyBcdWM4MTVcdWI4MmMiLAoiSGVhZGVyIjogIlx1YmEzOFx1YjliZlx1YWUwMCIsCiJSaWdodCI6ICJcdWM2MjRcdWI5NzhcdWNhYmQiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdWM2MjRcdWI5NzhcdWNhYmRcdWM1ZDAgXHVjNWY0IFx1YzBiZFx1Yzc4NSIsCiJDb2xzIjogIlx1YzVmNCIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1YzU0NFx1Yjc5OFx1YzVkMCBcdWQ1ODkgXHVjMGJkXHVjNzg1IiwKIldpZHRoIjogIlx1YjEwOFx1YmU0NCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHVjMTQwIFx1YzE4ZFx1YzEzMSIsCiJMZWZ0IjogIlx1YzY3Y1x1Y2FiZCIsCiJDdXQgcm93IjogIlx1ZDU4OSBcdWM3OThcdWI3N2NcdWIwYjRcdWFlMzAiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdWM1ZjQgXHVjMGFkXHVjODFjIiwKIkNlbnRlciI6ICJcdWFjMDBcdWM2YjRcdWIzNzAiLAoiTWVyZ2UgY2VsbHMiOiAiXHVjMTQwIFx1ZDU2OVx1Y2U1OFx1YWUzMCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHVkMTVjXHVkNTBjXHViOWJmIFx1YzBiZFx1Yzc4NSIsCiJUZW1wbGF0ZXMiOiAiXHVkMTVjXHVkNTBjXHViOWJmIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHViYzMwXHVhY2JkIFx1YzBjOSIsCiJDdXN0b20uLi4iOiAiXHVjMGFjXHVjNmE5XHVjNzkwLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdWMwYWNcdWM2YTlcdWM3OTAgXHVjMGM5XHVjMGMxIiwKIk5vIGNvbG9yIjogIlx1YzBjOSBcdWM1YzZcdWM3NGMiLAoiVGV4dCBjb2xvciI6ICJcdWFlMDBcdWM3OTAgXHVjMGM5IiwKIlNob3cgYmxvY2tzIjogIlx1YjJlOFx1Yjc3ZCBcdWJjZjRcdWFlMzAiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdWJjZjRcdWM3NzRcdWM5YzAgXHVjNTRhXHViMjk0IFx1YmIzOFx1Yzc5MCBcdWJjZjRcdWFlMzAiLAoiV29yZHM6IHswfSI6ICJ7MH1cdWFjMWMgXHViMmU4XHVjNWI0IiwKIkluc2VydCI6ICJcdWMwYmRcdWM3ODUiLAoiRmlsZSI6ICJcdWQzMGNcdWM3N2MiLAoiRWRpdCI6ICJcdWQzYjhcdWM5ZDEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHViOWFjXHVjZTU4IFx1ZDE0ZFx1YzJhNFx1ZDJiOCBcdWM2MDFcdWM1ZWQuIFx1YmE1NFx1YjI3NFx1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NThcdWI4MjRcdWJhNzQgQUxULUY5IFx1ZDBhNFx1Yjk3YyBcdWIyMDRcdWI5NzRcdWMxMzhcdWM2OTQuIFx1ZDIzNFx1YmMxNFx1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NThcdWI4MjRcdWJhNzQgQUxULUYxMCBcdWQwYTRcdWI5N2MgXHViMjA0XHViOTc0XHVjMTM4XHVjNjk0LiBcdWIzYzRcdWM2YzBcdWI5ZDBcdWM3NDQgXHViY2Y0XHViODI0XHViYTc0IEFMVC0wIFx1ZDBhNFx1Yjk3YyBcdWIyMDRcdWI5NzRcdWMxMzhcdWM2OTQuIiwKIlRvb2xzIjogIlx1YjNjNFx1YWQ2YyIsCiJWaWV3IjogIlx1YmNmNFx1YWUzMCIsCiJUYWJsZSI6ICJcdWQ0NWMiLAoiRm9ybWF0IjogIlx1ZDYxNVx1YzJkZCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ko_KR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrb19LUicsewoiQ3V0IjogIlx1Yzc5OFx1Yjc3Y1x1YjBiNFx1YWUzMCIsCiJIZWFkaW5nIDUiOiAiXHVjODFjXHViYWE5IDUiLAoiSGVhZGVyIDIiOiAiXHVjODFjXHViYWE5IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHViZTBjXHViNzdjXHVjNmIwXHVjODM4XHVhYzAwIFx1ZDA3NFx1YjliZFx1YmNmNFx1YjRkYyBcdWM4MTFcdWFkZmNcdWM3NDQgXHVkNWM4XHVjNmE5XHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4gQ3RybCtYXC9DXC9WIFx1ZDBhNFx1Yjk3YyBcdWM3NzRcdWM2YTlcdWQ1NzQgXHVjOGZjXHVjMTM4XHVjNjk0LiIsCiJIZWFkaW5nIDQiOiAiXHVjODFjXHViYWE5IDQiLAoiRGl2IjogIlx1YWQ2Y1x1YmQ4NCIsCiJIZWFkaW5nIDIiOiAiXHVjODFjXHViYWE5IDIiLAoiUGFzdGUiOiAiXHViZDk5XHVjNWVjXHViMTIzXHVhZTMwIiwKIkNsb3NlIjogIlx1YjJlYlx1YWUzMCIsCiJGb250IEZhbWlseSI6ICJcdWFlMDBcdWFmMzQiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJcdWM2MjRcdWI5NzhcdWNhYmRcdWM4MTVcdWI4MmMiLAoiTmV3IGRvY3VtZW50IjogIlx1YzBjOCBcdWJiMzhcdWMxMWMiLAoiQmxvY2txdW90ZSI6ICJcdWFkNmNcdWQ2OGQiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdWMyMmJcdWM3OTBcdWI5YWNcdWMyYTRcdWQyYjgiLAoiSGVhZGluZyAxIjogIlx1YzgxY1x1YmFhOSAxIiwKIkhlYWRpbmdzIjogIlx1YzgxY1x1YmFhOSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHViNGU0XHVjNWVjXHVjNGYwXHVhZTMwIiwKIkZvcm1hdHMiOiAiXHVkM2VjXHViOWY3IiwKIkhlYWRlcnMiOiAiXHVjMmE0XHVkMGMwXHVjNzdjIiwKIlNlbGVjdCBhbGwiOiAiXHVjODA0XHVjY2I0XHVjMTIwXHVkMGRkIiwKIkhlYWRlciAzIjogIlx1YzgxY1x1YmFhOSAzIiwKIkJsb2NrcyI6ICJcdWJlMTRcdWI4NWQgXHVjMTI0XHVjODE1IiwKIlVuZG8iOiAiXHVjMmU0XHVkNTg5XHVjZGU4XHVjMThjIiwKIlN0cmlrZXRocm91Z2giOiAiXHVjZGU4XHVjMThjXHVjMTIwIiwKIkJ1bGxldCBsaXN0IjogIlx1YzgxMFx1YjlhY1x1YzJhNFx1ZDJiOCIsCiJIZWFkZXIgMSI6ICJcdWM4MWNcdWJhYTkgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdWM3MTdcdWNjYThcdWM3OTAiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdWQzZWNcdWI5ZjdcdWNkMDhcdWFlMzBcdWQ2NTQiLAoiRm9udCBTaXplcyI6ICJcdWQzZjBcdWQyYjggXHVjMGFjXHVjNzc0XHVjOTg4IiwKIlN1YnNjcmlwdCI6ICJcdWM1NDRcdWI3OThcdWNjYThcdWM3OTAiLAoiSGVhZGVyIDYiOiAiXHVjODFjXHViYWE5IDYiLAoiUmVkbyI6ICJcdWIyZTRcdWMyZGNcdWMyZTRcdWQ1ODkiLAoiUGFyYWdyYXBoIjogIlx1YjJlOFx1Yjc3ZCIsCiJPayI6ICJcdWQ2NTVcdWM3NzgiLAoiQm9sZCI6ICJcdWFkNzVcdWFjOGMiLAoiQ29kZSI6ICJcdWNmNTRcdWI0ZGMiLAoiSXRhbGljIjogIlx1YWUzMFx1YzZiOFx1Yzc4NFx1YWYzNCIsCiJBbGlnbiBjZW50ZXIiOiAiXHVhYzAwXHVjNmI0XHViMzcwXHVjODE1XHViODJjIiwKIkhlYWRlciA1IjogIlx1YzgxY1x1YmFhOSA1IiwKIkhlYWRpbmcgNiI6ICJcdWM4MWNcdWJhYTkgNiIsCiJIZWFkaW5nIDMiOiAiXHVjODFjXHViYWE5IDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1YjBiNFx1YzViNFx1YzRmMFx1YWUzMCIsCiJIZWFkZXIgNCI6ICJcdWM4MWNcdWJhYTkgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHVjMmE0XHVkMGMwXHVjNzdjXHViY2Y1XHVjMGFjIFx1YjA0NFx1YWUzMC4gXHVjNzc0IFx1YzYzNVx1YzE1OFx1Yzc0NCBcdWIwNDRcdWFlMzAgXHVjODA0XHVjNWQwXHViMjk0IFx1YmNmNVx1YzBhYyBcdWMyZGMsIFx1YzJhNFx1ZDBjMFx1Yzc3Y1x1Yzc3NCBcdWJjZjVcdWMwYWNcdWI0MThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0LiIsCiJVbmRlcmxpbmUiOiAiXHViYzExXHVjOTA0IiwKIkNhbmNlbCI6ICJcdWNkZThcdWMxOGMiLAoiSnVzdGlmeSI6ICJcdWM1OTFcdWNhYmRcdWM4MTVcdWI4MmMiLAoiSW5saW5lIjogIlx1Yjc3Y1x1Yzc3OCBcdWMxMjRcdWM4MTUiLAoiQ29weSI6ICJcdWJjZjVcdWMwYWNcdWQ1NThcdWFlMzAiLAoiQWxpZ24gbGVmdCI6ICJcdWM2N2NcdWNhYmRcdWM4MTVcdWI4MmMiLAoiVmlzdWFsIGFpZHMiOiAiXHVjMmRjXHVhYzAxXHVhZDUwXHVjN2FjIiwKIkxvd2VyIEdyZWVrIjogIlx1YWRmOFx1YjlhY1x1YzJhNFx1YzViNCBcdWMxOGNcdWJiMzhcdWM3OTAiLAoiU3F1YXJlIjogIlx1YzBhY1x1YWMwMSIsCiJEZWZhdWx0IjogIlx1YWUzMFx1YmNmOCIsCiJMb3dlciBBbHBoYSI6ICJcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMThjXHViYjM4XHVjNzkwIiwKIkNpcmNsZSI6ICJcdWM2ZDAiLAoiRGlzYyI6ICJcdWM2ZDBcdWJjMTgiLAoiVXBwZXIgQWxwaGEiOiAiXHVjNTRjXHVkMzBjXHViY2IzIFx1YzE4Y1x1YmIzOFx1Yzc5MCIsCiJVcHBlciBSb21hbiI6ICJcdWI4NWNcdWI5YzhcdWM3OTAgXHViMzAwXHViYjM4XHVjNzkwIiwKIkxvd2VyIFJvbWFuIjogIlx1Yjg1Y1x1YjljOFx1Yzc5MCBcdWMxOGNcdWJiMzhcdWM3OTAiLAoiTmFtZSI6ICJcdWM3NzRcdWI5ODQiLAoiQW5jaG9yIjogIlx1YzU3NVx1Y2VlNCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1YzgwMFx1YzdhNVx1ZDU1OFx1YzljMCBcdWM1NGFcdWM3NDAgXHVjODE1XHViY2Y0XHVhYzAwIFx1Yzc4OFx1YzJiNVx1YjJjOFx1YjJlNC4gXHVjNzc0IFx1ZDM5OFx1Yzc3NFx1YzljMFx1Yjk3YyBcdWJjOTdcdWM1YjRcdWIwOThcdWMyZGNcdWFjYTBcdWMyYjVcdWIyYzhcdWFlNGM/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdWI5YzhcdWM5YzBcdWI5YzkgXHVjZDA4XHVjNTQ4IFx1YmNmNVx1YzZkMCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdWQyYjlcdWMyMThcdWJiMzhcdWM3OTAiLAoiU291cmNlIGNvZGUiOiAiXHVjMThjXHVjMmE0XHVjZjU0XHViNGRjIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1YzBjOVx1YzBjMSIsCiJSaWdodCB0byBsZWZ0IjogIlx1YzYyNFx1Yjk3OFx1Y2FiZFx1YzVkMFx1YzExYyBcdWM2N2NcdWNhYmQiLAoiTGVmdCB0byByaWdodCI6ICJcdWM2N2NcdWNhYmRcdWM1ZDBcdWMxMWMgXHVjNjI0XHViOTc4XHVjYWJkIiwKIkVtb3RpY29ucyI6ICJcdWM3NzRcdWJhYThcdWQyZjBcdWNmNTgiLAoiUm9ib3RzIjogIlx1Yjg1Y1x1YmQwNyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1YmIzOFx1YzExYyBcdWMxOGRcdWMxMzEiLAoiVGl0bGUiOiAiXHVjODFjXHViYWE5IiwKIktleXdvcmRzIjogIlx1ZDBhNFx1YzZjY1x1YjRkYyIsCiJFbmNvZGluZyI6ICJcdWM3NzhcdWNmNTRcdWI1MjkiLAoiRGVzY3JpcHRpb24iOiAiXHVjMTI0XHViYTg1IiwKIkF1dGhvciI6ICJcdWM4MDBcdWM3OTAiLAoiRnVsbHNjcmVlbiI6ICJcdWM4MDRcdWNjYjRcdWQ2NTRcdWJhNzQiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1YWMwMFx1Yjg1YyIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1YzIxOFx1ZDNjOSBcdWFjZjVcdWJjMzEiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWMwYmRcdWM3ODVcL1x1YzIxOFx1YzgxNSIsCiJHZW5lcmFsIjogIlx1Yzc3Y1x1YmMxOCIsCiJBZHZhbmNlZCI6ICJcdWFjZTBcdWFlMDkiLAoiU291cmNlIjogIlx1YzE4Y1x1YzJhNCIsCiJCb3JkZXIiOiAiXHVkMTRjXHViNDUwXHViOWFjIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdWM3OTFcdWM1YzUgXHVjODFjXHVkNTVjIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1YzIxOFx1YzljMSBcdWFjZjVcdWJjMzEiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHVjNzc0XHViYmY4XHVjOWMwIFx1YzEyNFx1YmE4NSIsCiJTdHlsZSI6ICJcdWMyYTRcdWQwYzBcdWM3N2MiLAoiRGltZW5zaW9ucyI6ICJcdWQwNmNcdWFlMzAiLAoiSW5zZXJ0IGltYWdlIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWMwYmRcdWM3ODUiLAoiWm9vbSBpbiI6ICJcdWQ2NTVcdWIzMDAiLAoiQ29udHJhc3QiOiAiXHViMzAwXHViZTQ0IiwKIkJhY2siOiAiXHViNGE0XHViODVjIiwKIkdhbW1hIjogIlx1YWMxMFx1YjljOCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdWMyMThcdWQzYzkgXHViNGE0XHVjOWQxXHVhZTMwIiwKIlJlc2l6ZSI6ICJcdWQwNmNcdWFlMzAgXHVjODcwXHVjODA4IiwKIlNoYXJwZW4iOiAiXHVjMTIwXHViYTg1XHVkNTU4XHVhYzhjIiwKIlpvb20gb3V0IjogIlx1Y2Q5NVx1YzE4YyIsCiJJbWFnZSBvcHRpb25zIjogIlx1Yzc3NFx1YmJmOFx1YzljMCBcdWM2MzVcdWMxNTgiLAoiQXBwbHkiOiAiXHVjODAxXHVjNmE5IiwKIkJyaWdodG5lc3MiOiAiXHViYzFkXHVhZTMwIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiXHVjMmRjXHVhY2M0XHViYzI5XHVkNWE1XHVjNzNjXHViODVjIFx1ZDY4Y1x1YzgwNCIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdWMyZGNcdWFjYzRcdWJjMThcdWIzMDBcdWJjMjlcdWQ1YTVcdWM3M2NcdWI4NWMgXHVkNjhjXHVjODA0IiwKIkVkaXQgaW1hZ2UiOiAiXHVjNzc0XHViYmY4XHVjOWMwIFx1ZDNiOFx1YzlkMSIsCiJDb2xvciBsZXZlbHMiOiAiXHVjMGM5XHVjMGMxXHViODA4XHViY2E4IiwKIkNyb3AiOiAiXHVjNzkwXHViOTc0XHVhZTMwIiwKIk9yaWVudGF0aW9uIjogIlx1YmMyOVx1ZDVhNSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHVjMjE4XHVjOWMxIFx1YjRhNFx1YzlkMVx1YWUzMCIsCiJJbnZlcnQiOiAiXHViYzE4XHVjODA0IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1YjBhMFx1YzlkY1wvXHVjMmRjXHVhYzA0XHVjMGJkXHVjNzg1IiwKIlJlbW92ZSBsaW5rIjogIlx1YjljMVx1ZDA2Y1x1YzBhZFx1YzgxYyIsCiJVcmwiOiAiXHVjOGZjXHVjMThjIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdWJjZjhcdWJiMzgiLAoiQW5jaG9ycyI6ICJcdWNjNDVcdWFjMDhcdWQ1M2MiLAoiSW5zZXJ0IGxpbmsiOiAiXHViOWMxXHVkMDZjIFx1YzBiZFx1Yzc4NSAiLAoiTmV3IHdpbmRvdyI6ICJcdWMwYzhcdWNjM2QiLAoiTm9uZSI6ICJcdWM1YzZcdWM3NGMiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlx1ZDYwNFx1YzdhYyBcdWM2ZjlcdWMwYWNcdWM3NzRcdWQyYjggXHVjOGZjXHVjMThjXHViOTdjIFx1Yzc4NVx1YjgyNVx1ZDU1OFx1YzE2OFx1YzJiNVx1YjJjOFx1YjJlNC4gXHVkNTc0XHViMmY5IFx1YzhmY1x1YzE4Y1x1YzVkMCBcdWI5YzFcdWQwNmNcdWI5N2MgXHVhYzc4XHVhZTRjXHVjNjk0PyIsCiJUYXJnZXQiOiAiXHViMzAwXHVjMGMxIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHVkNjA0XHVjN2FjIEUtbWFpbFx1YzhmY1x1YzE4Y1x1Yjk3YyBcdWM3ODVcdWI4MjVcdWQ1NThcdWMxNjhcdWMyYjVcdWIyYzhcdWIyZTQuIEUtbWFpbCBcdWM4ZmNcdWMxOGNcdWM1ZDAgXHViOWMxXHVkMDZjXHViOTdjIFx1YWM3OFx1YWU0Y1x1YzY5ND8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHViOWMxXHVkMDZjIFx1YzBiZFx1Yzc4NVwvXHVjMjE4XHVjODE1IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdWJlNDRcdWI1MTRcdWM2MjQgXHVjMGJkXHVjNzg1XC9cdWMyMThcdWM4MTUiLAoiUG9zdGVyIjogIlx1ZDNlY1x1YzJhNFx1ZDEzMCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHViMzAwXHVjY2I0IFx1YzE4Y1x1YzJhNCIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1YzU0NFx1Yjc5OFx1YzVkMCBcdWNmNTRcdWI0ZGNcdWI5N2MgXHViZDk5XHVjNWVjXHViMTIzXHVjNzNjXHVjMTM4XHVjNjk0OiIsCiJJbnNlcnQgdmlkZW8iOiAiXHViZTQ0XHViNTE0XHVjNjI0IFx1YzBiZFx1Yzc4NSIsCiJFbWJlZCI6ICJcdWMwYmRcdWM3ODUiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHViNzQ0XHVjNWI0XHVjNGYwXHVhZTMwIiwKIlBhZ2UgYnJlYWsiOiAiXHVkMzk4XHVjNzc0XHVjOWMwIFx1YWQ2Y1x1YmQ4NFx1Yzc5MCIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1ZDE0ZFx1YzJhNFx1ZDJiOFx1Yjg1YyBcdWJkOTlcdWM1ZWNcdWIxMjNcdWFlMzAiLAoiUHJldmlldyI6ICJcdWJiZjhcdWI5YWNcdWJjZjRcdWFlMzAiLAoiUHJpbnQiOiAiXHVjZDljXHViODI1IiwKIlNhdmUiOiAiXHVjODAwXHVjN2E1IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdWJiMzhcdWM3OTBcdWI5N2MgXHVjYzNlXHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWMyYjVcdWIyYzhcdWIyZTQuIiwKIlJlcGxhY2UiOiAiXHVhZDUwXHVjY2I0IiwKIk5leHQiOiAiXHViMmU0XHVjNzRjIiwKIldob2xlIHdvcmRzIjogIlx1YzgwNFx1Y2NiNCBcdWIyZThcdWM1YjQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdWNjM2VcdWM1NDRcdWMxMWMgXHVhZDUwXHVjY2I0IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdWFkNTBcdWNjYjQiLAoiRmluZCI6ICJcdWNjM2VcdWFlMzAiLAoiUmVwbGFjZSBhbGwiOiAiXHVjODA0XHVjY2I0IFx1YWQ1MFx1Y2NiNCIsCiJNYXRjaCBjYXNlIjogIlx1YjMwMFx1YzE4Y1x1YmIzOFx1Yzc5MCBcdWM3N2NcdWNlNTgiLAoiUHJldiI6ICJcdWM3NzRcdWM4MDQiLAoiU3BlbGxjaGVjayI6ICJcdWJiMzhcdWJjOTVcdWNjYjRcdWQwNmMiLAoiRmluaXNoIjogIlx1YzY0NFx1YjhjYyIsCiJJZ25vcmUgYWxsIjogIlx1YzgwNFx1Y2NiNFx1YmIzNFx1YzJkYyIsCiJJZ25vcmUiOiAiXHViYjM0XHVjMmRjIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1YzBhY1x1YzgwNFx1YzVkMCBcdWNkOTRcdWFjMDAiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHVjNzc0XHVjODA0XHVjNWQwIFx1ZDU4OSBcdWMwYmRcdWM3ODUiLAoiUm93cyI6ICJcdWQ1ODkiLAoiSGVpZ2h0IjogIlx1YjE5Mlx1Yzc3NCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHViMmU0XHVjNzRjXHVjNWQwIFx1ZDU4OSBcdWJkOTlcdWM1ZWNcdWIxMjNcdWFlMzAiLAoiQWxpZ25tZW50IjogIlx1YzgxNVx1YjgyYyIsCiJCb3JkZXIgY29sb3IiOiAiXHVkMTRjXHViNDUwXHViOWFjIFx1YzBjOSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHVjNWY0IFx1YWRmOFx1YjhmOSIsCiJSb3ciOiAiXHVjNWY0IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1Yzc3NFx1YzgwNFx1YzVkMCBcdWQ1ODkgXHVjMGJkXHVjNzg1IiwKIlNwbGl0IGNlbGwiOiAiXHVjMTQwIFx1YjA5OFx1YjIwNFx1YWUzMCIsCiJDZWxsIHBhZGRpbmciOiAiXHVjMTQwIFx1YzU0OFx1Y2FiZCBcdWM1ZWNcdWJjMzEiLAoiQ2VsbCBzcGFjaW5nIjogIlx1YzE0MCBcdWFjMDRcdWFjYTkiLAoiUm93IHR5cGUiOiAiXHVkNTg5IFx1ZDBjMFx1Yzc4NSIsCiJJbnNlcnQgdGFibGUiOiAiXHVkMTRjXHVjNzc0XHViZTE0IFx1YzBiZFx1Yzc4NSIsCiJCb2R5IjogIlx1YmMxNFx1YjUxNCIsCiJDYXB0aW9uIjogIlx1Y2VhMVx1YzE1OCIsCiJGb290ZXIiOiAiXHVkNDc4XHVkMTMwIiwKIkRlbGV0ZSByb3ciOiAiXHVkNTg5IFx1YzljMFx1YzZiMFx1YWUzMCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1Yzc3NFx1YzgwNFx1YzVkMCBcdWQ1ODkgXHViZDk5XHVjNWVjXHViMTIzXHVhZTMwIiwKIlNjb3BlIjogIlx1YmM5NFx1YzcwNCIsCiJEZWxldGUgdGFibGUiOiAiXHVkMTRjXHVjNzc0XHViZTE0IFx1YzBhZFx1YzgxYyIsCiJIIEFsaWduIjogIlx1YWMwMFx1Yjg1YyBcdWM4MTVcdWI4MmMiLAoiVG9wIjogIlx1YzBjMVx1YjJlOCIsCiJIZWFkZXIgY2VsbCI6ICJcdWQ1ZTRcdWIzNTQgXHVjMTQwIiwKIkNvbHVtbiI6ICJcdWQ1ODkiLAoiUm93IGdyb3VwIjogIlx1ZDU4OSBcdWFkZjhcdWI4ZjkiLAoiQ2VsbCI6ICJcdWMxNDAiLAoiTWlkZGxlIjogIlx1YzkxMVx1YWMwNCIsCiJDZWxsIHR5cGUiOiAiXHVjMTQwIFx1ZDBjMFx1Yzc4NSIsCiJDb3B5IHJvdyI6ICJcdWQ1ODkgXHViY2Y1XHVjMGFjIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1ZDU4OSBcdWMxOGRcdWMxMzEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdWQxNGNcdWM3NzRcdWJlMTQgXHVjMThkXHVjMTMxIiwKIkJvdHRvbSI6ICJcdWQ1NThcdWIyZTgiLAoiViBBbGlnbiI6ICJcdWMxMzhcdWI4NWMgXHVjODE1XHViODJjIiwKIkhlYWRlciI6ICJcdWQ1ZTRcdWIzNTQiLAoiUmlnaHQiOiAiXHVjNjI0XHViOTc4XHVjYWJkIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHViMmU0XHVjNzRjXHVjNWQwIFx1YzVmNCBcdWMwYmRcdWM3ODUiLAoiQ29scyI6ICJcdWM1ZjQiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdWIyZTRcdWM3NGNcdWM1ZDAgXHVkNTg5IFx1YzBiZFx1Yzc4NSIsCiJXaWR0aCI6ICJcdWIxMTNcdWM3NzQiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1YzE0MCBcdWMxOGQiLAoiTGVmdCI6ICJcdWM2N2NcdWNhYmQiLAoiQ3V0IHJvdyI6ICJcdWQ1ODkgXHVjNzk4XHViNzdjXHViMGI0XHVhZTMwIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHVjNWY0IFx1YzljMFx1YzZiMFx1YWUzMCIsCiJDZW50ZXIiOiAiXHVhYzAwXHVjNmI0XHViMzcwIiwKIk1lcmdlIGNlbGxzIjogIlx1YzE0MCBcdWQ1NjlcdWNlNThcdWFlMzAiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1ZDE1Y1x1ZDUwY1x1YjliZiBcdWMwYmRcdWM3ODUiLAoiVGVtcGxhdGVzIjogIlx1ZDE1Y1x1ZDUwY1x1YjliZiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1YmMzMFx1YWNiZFx1YzBjOSIsCiJDdXN0b20uLi4iOiAiXHVjOWMxXHVjODExIFx1YzBjOVx1YWU1NCBcdWM5YzBcdWM4MTVcdWQ1NThcdWFlMzAiLAoiQ3VzdG9tIGNvbG9yIjogIlx1YzljMVx1YzgxMSBcdWM5YzBcdWM4MTVcdWQ1NWMgXHVjMGM5XHVhZTU0IiwKIk5vIGNvbG9yIjogIlx1YzBjOVx1YzBjMSBcdWM1YzZcdWM3NGMiLAoiVGV4dCBjb2xvciI6ICJcdWJiMzhcdWM3OTAgXHVjMGM5XHVhZTU0IiwKIlNob3cgYmxvY2tzIjogIlx1YmUxNFx1YjdlZCBcdWJjZjRcdWM1ZWNcdWM4ZmNcdWFlMzAiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdWM1NDhcdWJjZjRcdWM3NzRcdWIyOTQgXHViYjM4XHVjNzkwIFx1YmNmNFx1Yzc3NFx1YWUzMCIsCiJXb3JkczogezB9IjogIlx1YjJlOFx1YzViNDogezB9IiwKIkluc2VydCI6ICJcdWMwYmRcdWM3ODUiLAoiRmlsZSI6ICJcdWQzMGNcdWM3N2MiLAoiRWRpdCI6ICJcdWMyMThcdWM4MTUiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHVjMTFjXHVjMmRkIFx1Yzc4OFx1YjI5NCBcdWQxNGRcdWMyYTRcdWQyYjggXHVkM2I4XHVjOWQxXHVhZTMwIFx1Yzc4NVx1YjJjOFx1YjJlNC4gQUxULUY5XHViOTdjIFx1YjIwNFx1Yjk3NFx1YmE3NCBcdWJhNTRcdWIyNzQsIEFMVC1GMTBcdWI5N2MgXHViMjA0XHViOTc0XHViYTc0IFx1ZDIzNFx1YmMxNCwgQUxULTBcdWM3NDQgXHViMjA0XHViOTc0XHViYTc0IFx1YjNjNFx1YzZjMFx1YjlkMFx1Yzc0NCBcdWJjZmMgXHVjMjE4IFx1Yzc4OFx1YzJiNVx1YjJjOFx1YjJlNC4iLAoiVG9vbHMiOiAiXHViM2M0XHVhZDZjIiwKIlZpZXciOiAiXHViY2Y0XHVhZTMwIiwKIlRhYmxlIjogIlx1ZDE0Y1x1Yzc3NFx1YmUxNCIsCiJGb3JtYXQiOiAiXHVkM2VjXHViOWY3Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ku.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrdScsewoiQ3V0IjogIlx1MDYyOFx1MDY5NVx1MDZjY1x1MDY0NiIsCiJIZWFkaW5nIDUiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNjQ4XHUwNmNlXHUwNjI4XHUwNmFmXHUwNmQ1XHUwNjk1XHUwNmQ1XHUwNmE5XHUwNmQ1XHUwNjJhIFx1MDY3ZVx1MDYyN1x1MDZiNVx1MDY3ZVx1MDYzNFx1MDYyYVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2YTlcdTA2ZDVcdTA2NDhcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjJlXHUwNmM2XHUwNmNjIFx1MDZhOVx1MDY0NFx1MDZjY1x1MDY3ZVx1MDYyOFx1MDZjNlx1MDYzMVx1MDYyZiBcdTA2NDZcdTA2MjdcdTA2YTlcdTA2MjdcdTA2MmEuIFx1MDYyYVx1MDZhOVx1MDYyN1x1MDZjY1x1MDZkNSBcdTA2NDRcdTA2ZDVcdTA2MmNcdTA2Y2NcdTA2MjdcdTA2MmFcdTA2Y2MgXHUwNmE5XHUwNjQ4XHUwNjMxXHUwNjJhXHUwNjI4XHUwNjk1XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNmNjIEN0cmwrWFwvQ1wvViBcdTA2MmFcdTA2ZDVcdTA2MmVcdTA2MmFcdTA2ZDVcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2NDQgXHUwNjI4XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjMxXHUwNjI4XHUwNmNlXHUwNjQ2XHUwNmQ1LiIsCiJIZWFkaW5nIDQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDIiLAoiUGFzdGUiOiAiXHUwNjQ0XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IiwKIkNsb3NlIjogIlx1MDYyZlx1MDYyN1x1MDYyZVx1MDYzM1x1MDYyYVx1MDY0NiIsCiJGb250IEZhbWlseSI6ICJcdTA2MmNcdTA2YzZcdTA2MzFcdTA2Y2MgXHUwNjQxXHUwNmM2XHUwNjQ2XHUwNjJhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwNjQ0XHUwNjI3XHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNjI4XHUwNmQ1XHUwNmI1XHUwNmFmXHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ1XHUwNmQ1XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDZjZSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA2NDRcdTA2Y2NcdTA2MzNcdTA2MmFcdTA2Y2MgXHUwNjk4XHUwNjQ1XHUwNjI3XHUwNjMxXHUwNmQ1IiwKIkhlYWRpbmcgMSI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmEgMSIsCiJIZWFkaW5ncyI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmFcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiRm9ybWF0cyI6ICJcdTA2MzRcdTA2Y2VcdTA2NDhcdTA2MjdcdTA2MzJcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSGVhZGVycyI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2N2VcdTA2ZDVcdTA2OTVcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiU2VsZWN0IGFsbCI6ICJcdTA2NDdcdTA2ZDVcdTA2YjVcdTA2MjhcdTA2OThcdTA2MjdcdTA2MzFcdTA2MmZcdTA2NDZcdTA2Y2MgXHUwNjQ3XHUwNmQ1XHUwNjQ1XHUwNjQ4XHUwNjQ4IiwKIkhlYWRlciAzIjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSAzIiwKIkJsb2NrcyI6ICJcdTA2MjhcdTA2NDRcdTA2YzZcdTA2YTlcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiVW5kbyI6ICJcdTA2YWZcdTA2ZDVcdTA2OTVcdTA2MjdcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2NDdcdTA2Y2VcdTA2YjUgXHUwNjI4XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkJ1bGxldCBsaXN0IjogIlx1MDY0NFx1MDZjY1x1MDYzM1x1MDYyYVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2YjUiLAoiSGVhZGVyIDEiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNjdlXHUwNjI3XHUwNmE5XHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYzNFx1MDZjZVx1MDY0OFx1MDYyN1x1MDYzMlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJGb250IFNpemVzIjogIlx1MDY0Mlx1MDZkNVx1MDYyOFx1MDYyN1x1MDYzMVx1MDZkNVx1MDZjYyBcdTA2NDFcdTA2YzZcdTA2NDZcdTA2MmEiLAoiU3Vic2NyaXB0IjogIlx1MDY5OFx1MDZjZVx1MDYzMVx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMyIsCiJIZWFkZXIgNiI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2N2VcdTA2ZDVcdTA2OTVcdTA2ZDUgNiIsCiJSZWRvIjogIlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNSIsCiJQYXJhZ3JhcGgiOiAiXHUwNjI4XHUwNjk1XHUwNmFmXHUwNmQ1IiwKIk9rIjogIlx1MDYyOFx1MDYyN1x1MDYzNFx1MDZkNSIsCiJCb2xkIjogIlx1MDYyYVx1MDZjNlx1MDYyZVx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJDb2RlIjogIlx1MDZhOVx1MDZjNlx1MDYyZiIsCiJJdGFsaWMiOiAiXHUwNjQ0XHUwNjI3XHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhIiwKIkhlYWRlciA1IjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmEgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDZhOVx1MDZkNVx1MDY0NVx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiSGVhZGVyIDQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDY0NFx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MjZcdTA2Y2VcdTA2MzNcdTA2MmFcdTA2MjcgXHUwNjQ0XHUwNmQ1IFx1MDYyOFx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjMzXHUwNjI3XHUwNjJmXHUwNmQ1XHUwNmNjXHUwNmQ1LiBcdTA2NDZcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2OTVcdTA2YzZcdTA2YTlcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYgXHUwNjJmXHUwNmQ1XHUwNjQ0XHUwNmE5XHUwNmNlXHUwNjQ2IFx1MDY0OFx1MDZkNVx1MDZhOSBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjMzXHUwNjI3XHUwNjJmXHUwNmQ1IFx1MDY0N1x1MDZkNVx1MDYyYVx1MDYyNyBcdTA2MjZcdTA2ZDVcdTA2NDUgXHUwNjQ3XHUwNmQ1XHUwNmI1XHUwNjI4XHUwNjk4XHUwNjI3XHUwNjMxXHUwNjJmXHUwNmQ1IFx1MDY0Nlx1MDYyN1x1MDZhOVx1MDYyN1x1MDYzMVx1MDYyNyBcdTA2MmZcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmEuIiwKIlVuZGVybGluZSI6ICJcdTA2NDdcdTA2Y2VcdTA2YjUgXHUwNjI4XHUwNmQ1XHUwNjk4XHUwNmNlXHUwNjMxXHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkNhbmNlbCI6ICJcdTA2N2VcdTA2MjdcdTA2MzRcdTA2YWZcdTA2ZDVcdTA2MzJcdTA2MjhcdTA2NDhcdTA2NDhcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiSnVzdGlmeSI6ICJcdTA2NDdcdTA2MjdcdTA2NDhcdTA2OTVcdTA2Y2VcdTA2YTlcdTA2Y2MgIiwKIklubGluZSI6ICJcdTA2NDRcdTA2ZDVcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MmZcdTA2Y2VcdTA2MzEiLAoiQ29weSI6ICJcdTA2NDRcdTA2ZDVcdTA2MjhcdTA2ZDVcdTA2MzFcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiQWxpZ24gbGVmdCI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjg2XHUwNmQ1XHUwNjdlIiwKIlZpc3VhbCBhaWRzIjogIlx1MDY0N1x1MDYyN1x1MDY0OFx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2MjhcdTA2Y2NcdTA2NDZcdTA2ZDVcdTA2Y2NcdTA2Y2MiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNmNjXHUwNmM2XHUwNjQ2XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyOFx1MDY4Nlx1MDY0OFx1MDY0OFx1MDZhOSIsCiJTcXVhcmUiOiAiXHUwNjg2XHUwNjQ4XHUwNjI3XHUwNjMxXHUwNmFmXHUwNmM2XHUwNjM0XHUwNmQ1IiwKIkRlZmF1bHQiOiAiXHUwNjI4XHUwNjQ2XHUwNmQ1XHUwNjk1XHUwNmQ1XHUwNjJhXHUwNmNjIiwKIkxvd2VyIEFscGhhIjogIlx1MDYyNlx1MDZkNVx1MDY0NFx1MDY0MVx1MDYyN1x1MDZjYyBcdTA2MjhcdTA2ODZcdTA2NDhcdTA2NDhcdTA2YTkiLAoiQ2lyY2xlIjogIlx1MDYyOFx1MDYyN1x1MDYzMlx1MDY0Nlx1MDZkNSIsCiJEaXNjIjogIlx1MDY3ZVx1MDZkNVx1MDY3ZVx1MDZhOVx1MDZkNSIsCiJVcHBlciBBbHBoYSI6ICJcdTA2MjZcdTA2ZDVcdTA2NDRcdTA2NDFcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNmQ1XHUwNjQ4XHUwNjMxXHUwNmQ1IiwKIlVwcGVyIFJvbWFuIjogIlx1MDY5NVx1MDZjNlx1MDY0NVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2YWZcdTA2ZDVcdTA2NDhcdTA2MzFcdTA2ZDUiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNjk1XHUwNmM2XHUwNjQ1XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyOFx1MDY4Nlx1MDY0OFx1MDY0OFx1MDZhOSIsCiJOYW1lIjogIlx1MDY0Nlx1MDYyN1x1MDY0OCIsCiJBbmNob3IiOiAiXHUwNjQ0XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmQ1XHUwNjMxIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNjJhXHUwNmM2IFx1MDZhZlx1MDZjNlx1MDY5NVx1MDYyN1x1MDY0Nlx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyYSBcdTA2N2VcdTA2MjdcdTA2MzRcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2NDhcdTA2MmEgXHUwNjQ2XHUwNmQ1XHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNmQ1XHUwNjBjIFx1MDYyNlx1MDYyN1x1MDZjY1x1MDYyNyBcdTA2MmZcdTA2YjVcdTA2NDZcdTA2Y2NcdTA2MjdcdTA2Y2NcdTA2MmEgXHUwNjQ0XHUwNmQ1IFx1MDYyZlx1MDZkNVx1MDYzMVx1MDY4Nlx1MDY0OFx1MDY0OFx1MDY0Nlx1MDYyYVx1MDYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNmFmXHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYyZlx1MDY0OFx1MDYyN1x1MDZjY1x1MDZjY1x1MDY0NiBcdTA2OTVcdTA2ZDVcdTA2MzRcdTA2NDZcdTA2NDhcdTA2NDhcdTA2MzMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzXHUwNmQ1XHUwNmNjIFx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDZkNVx1MDYyYSIsCiJTb3VyY2UgY29kZSI6ICJcdTA2YTlcdTA2YzZcdTA2MmZcdTA2Y2MgXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjg2XHUwNjI3XHUwNjQ4XHUwNmQ1IiwKIkNvbG9yIjogIlx1MDY5NVx1MDZkNVx1MDY0Nlx1MDZhZiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSBcdTA2MjhcdTA2YzYgXHUwNjg2XHUwNmQ1XHUwNjdlIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjg2XHUwNmQ1XHUwNjdlIFx1MDYyOFx1MDZjNiBcdTA2OTVcdTA2MjdcdTA2MzNcdTA2MmEiLAoiRW1vdGljb25zIjogIlx1MDY0OFx1MDZjZVx1MDY0Nlx1MDZjNlx1MDY4Nlx1MDZhOVx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDdcdTA2ZDVcdTA2MzNcdTA2MmEiLAoiUm9ib3RzIjogIlx1MDY5NVx1MDZjNlx1MDYyOFx1MDZjNlx1MDYyYVx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDY0N1x1MjAwY1x1MDYyYVx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2ZDVcdTA2YjVcdTA2YWZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDVcdTA2ZDUiLAoiVGl0bGUiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjQ2XHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIlx1MDZhOVx1MDY0NFx1MDZjY1x1MDY0NFx1MDY0N1x1MjAwY1x1MDY0OFx1MDYzNFx1MDY0N1x1MjAwY1x1MDZhOVx1MDYyN1x1MDY0NiIsCiJFbmNvZGluZyI6ICJcdTA2MjhcdTA2ZDVcdTA2YTlcdTA2YzZcdTA2MmZcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYiLAoiRGVzY3JpcHRpb24iOiAiXHUwNjI4XHUwNjI3XHUwNjMzXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkF1dGhvciI6ICJcdTA2NDZcdTA2NDhcdTA2NDhcdTA2MzNcdTA2ZDVcdTA2MzEiLAoiRnVsbHNjcmVlbiI6ICJcdTA2OTVcdTA2NDhcdTA2NDhcdTA2N2VcdTA2OTVcdTA2Y2MiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDY0N1x1MDZjZVx1MDZiNVx1MDZjYyBcdTA2MjZcdTA2MjdcdTA2MzNcdTA2YzZcdTA2Y2NcdTA2Y2MiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MgXHUwNjI2XHUwNjI3XHUwNjMzXHUwNmM2XHUwNmNjXHUwNmNjIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcL1x1MDYyZlx1MDZkNVx1MDYzM1x1MDYyYVx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2NDhcdTA2Y2VcdTA2NDZcdTA2ZDUiLAoiR2VuZXJhbCI6ICJcdTA2YWZcdTA2MzRcdTA2MmFcdTA2Y2MiLAoiQWR2YW5jZWQiOiAiXHUwNjdlXHUwNmNlXHUwNjM0XHUwNmE5XHUwNmQ1XHUwNjQ4XHUwNjJhXHUwNjQ4XHUwNjQ4IiwKIlNvdXJjZSI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2ODZcdTA2MjdcdTA2NDhcdTA2ZDUiLAoiQm9yZGVyIjogIlx1MDYzM1x1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ3XHUwNmQ1XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDY0NVx1MDZkNVx1MDYzMVx1MDYyY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ4XHUwNjQ2XHUwNmNjIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDYyOFx1MDYyN1x1MDYzM1x1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2NDhcdTA2Y2VcdTA2NDZcdTA2ZDUiLAoiU3R5bGUiOiAiXHUwNjM0XHUwNmNlXHUwNjQ4XHUwNjI3XHUwNjMyIiwKIkRpbWVuc2lvbnMiOiAiXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNjMxXHUwNmNjXHUwNmNjXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIkluc2VydCBpbWFnZSI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcdTA2Y2MgXHUwNjQ4XHUwNmNlXHUwNjQ2XHUwNmQ1IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2YzZcdTA2OThcL1x1MDZhOVx1MDYyN1x1MDYyYSIsCiJSZW1vdmUgbGluayI6ICJcdTA2MzNcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDVcdTA2Y2MgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxIiwKIlVybCI6ICJcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzEiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDYyZlx1MDZkNVx1MDY0MiBcdTA2MjhcdTA2YzYgXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkFuY2hvcnMiOiAiXHUwNjQ0XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmQ1XHUwNjMxXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIkluc2VydCBsaW5rIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzEiLAoiTmV3IHdpbmRvdyI6ICJcdTA2N2VcdTA2ZDVcdTA2NDZcdTA2MmNcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNmNlIiwKIk5vbmUiOiAiXHUwNjQ3XHUwNmNjXHUwNjg2IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA2MjZcdTA2ZDVcdTA2NDggXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxXHUwNmQ1XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzM1x1MDZjY1x1MDY0OFx1MDYyYVx1MDZkNSBcdTA2MjhcdTA2ZDUgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxXHUwNmNjIFx1MDYyZlx1MDZkNVx1MDYzMVx1MDZkNVx1MDZhOVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2ODZcdTA2Y2VcdTA2MmEuIFx1MDYyNlx1MDYyN1x1MDZjY1x1MDYyNyBcdTA2MmZcdTA2ZDVcdTA2MmFcdTA2ZDVcdTA2NDhcdTA2Y2VcdTA2MmEgaHR0cDpcL1wvIHByZWZpeCBcdTA2Y2MgXHUwNjI4XHUwNmM2IFx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZiBcdTA2MjhcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmFcdTA2MWYiLAoiVGFyZ2V0IjogIlx1MDYyNlx1MDYyN1x1MDY0NVx1MDYyN1x1MDY0Nlx1MDYyYyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDYyNlx1MDZkNVx1MDY0OCBcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzXHUwNmNjXHUwNjQ4XHUwNjJhXHUwNmQ1IFx1MDYyOFx1MDZkNSBcdTA2N2VcdTA2ZDVcdTA2Y2NcdTA2MjdcdTA2NDVcdTA2Y2MgXHUwNjI2XHUwNmQ1XHUwNjQ0XHUwNmNjXHUwNmE5XHUwNjJhXHUwNjk1XHUwNmM2XHUwNjQ2XHUwNmNjIFx1MDYyZlx1MDZkNVx1MDY4Nlx1MDZjZVx1MDYyYS4gXHUwNjI2XHUwNjI3XHUwNmNjXHUwNjI3IFx1MDYyZlx1MDZkNVx1MDYyYVx1MDZkNVx1MDY0OFx1MDZjZVx1MDYyYSBtYWlsdG86IHByZWZpeCBcdTA2Y2MgXHUwNjI4XHUwNmM2IFx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZiBcdTA2MjhcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmFcdTA2MWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XC9cdTA2MmZcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2YTlcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcL1x1MDYyZlx1MDZkNVx1MDYzM1x1MDYyYVx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2YTRcdTA2Y2NcdTA2MmZcdTA2Y2NcdTA2YzYiLAoiUG9zdGVyIjogIlx1MDY3ZVx1MDZjNlx1MDYzM1x1MDYyYVx1MDZkNVx1MDYzMSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjg2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYyY1x1MDZjZVx1MDZhZlx1MDYzMVx1MDZkNVx1MDY0OFx1MDZkNSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDZhOVx1MDZjNlx1MDYyZlx1MDZjYyBcdTA2MmFcdTA2Y2VcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2MmEgXHUwNjQ0XHUwNmQ1XHUwNjJlXHUwNjQ4XHUwNjI3XHUwNjMxXHUwNmQ1XHUwNjQ4XHUwNmQ1IFx1MDYyOFx1MDY0NFx1MDZhOVx1MDZjZVx1MDY0Nlx1MDZkNToiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2YTRcdTA2Y2NcdTA2MmZcdTA2Y2NcdTA2YzYiLAoiRW1iZWQiOiAiXHUwNjJhXHUwNmNlXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDYyOFx1MDZjNlx1MDYzNFx1MDYyN1x1MDZjY1x1MDZjYyBcdTA2NDZcdTA2ZDVcdTA2MjhcdTA2OTVcdTA2MjdcdTA2NDgiLAoiUGFnZSBicmVhayI6ICJcdTA2MjhcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNjQ0XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDY0OFx1MDZkNVx1MDZhOSBcdTA2MmZcdTA2ZDVcdTA2NDIiLAoiUHJldmlldyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2NDYiLAoiUHJpbnQiOiAiXHUwNjg2XHUwNjI3XHUwNjdlXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIlNhdmUiOiAiXHUwNjdlXHUwNjI3XHUwNjM0XHUwNmQ1XHUwNmE5XHUwNmQ1XHUwNjQ4XHUwNjJhIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA2OTVcdTA2Y2NcdTA2MzJcdTA2MjhcdTA2ZDVcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNmNjXHUwNjI3XHUwNjMxXHUwNmNjXHUwNmE5XHUwNjMxXHUwNjI3XHUwNjQ4IFx1MDY0Nlx1MDYyN1x1MDYyZlx1MDZjNlx1MDYzMlx1MDYzMVx1MDZjZVx1MDYyYVx1MDZkNVx1MDY0OFx1MDZkNS4iLAoiUmVwbGFjZSI6ICJcdTA2MmNcdTA2Y2VcdTA2YWZcdTA2YzZcdTA2OTVcdTA2Y2NcdTA2NDYiLAoiTmV4dCI6ICJcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmFcdTA2MzEiLAoiV2hvbGUgd29yZHMiOiAiXHUwNjQ3XHUwNmQ1XHUwNjQ1XHUwNjQ4XHUwNjQ4IFx1MDY0OFx1MDYzNFx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDYyZlx1MDZjNlx1MDYzMlx1MDZjY1x1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNSBcdTA2NDggXHUwNjJjXHUwNmNlXHUwNmFmXHUwNmM2XHUwNjk1XHUwNmNjXHUwNjQ2IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA2MmNcdTA2Y2VcdTA2YWZcdTA2YzZcdTA2OTVcdTA2Y2NcdTA2NDYgXHUwNjQ0XHUwNmQ1XHUwNmFmXHUwNmQ1XHUwNmI1IiwKIkZpbmQiOiAiXHUwNjJmXHUwNmM2XHUwNjMyXHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1IiwKIlJlcGxhY2UgYWxsIjogIlx1MDYyY1x1MDZjZVx1MDZhZlx1MDZjNlx1MDY5NVx1MDZjY1x1MDY0Nlx1MDZjYyBcdTA2NDdcdTA2ZDVcdTA2NDVcdTA2NDhcdTA2NDgiLAoiTWF0Y2ggY2FzZSI6ICJcdTA2NDdcdTA2MjdcdTA2NDhcdTA2MmFcdTA2MjdcdTA2MjhcdTA2NDhcdTA2NDhcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjI3XHUwNjMxIiwKIlByZXYiOiAiXHUwNjdlXHUwNmNlXHUwNjM0XHUwNjQ4XHUwNjQ4IiwKIlNwZWxsY2hlY2siOiAiXHUwNjdlXHUwNjM0XHUwNmE5XHUwNjQ2XHUwNmNjXHUwNjQ2XHUwNmNjIFx1MDY5NVx1MDZjZVx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMyIsCiJGaW5pc2giOiAiXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjI3XHUwNjQ4IiwKIklnbm9yZSBhbGwiOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmNjXHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2XHUwNmNjIFx1MDY0N1x1MDZkNVx1MDY0NVx1MDY0OFx1MDY0OCIsCiJJZ25vcmUiOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmNjXHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MjhcdTA2YzYgXHUwNjQxXHUwNmQ1XHUwNjMxXHUwNjQ3XHUwNmQ1XHUwNjQ2XHUwNmFmIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjI4XHUwNmM2IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJSb3dzIjogIlx1MDY5NVx1MDZjY1x1MDYzMlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJIZWlnaHQiOiAiXHUwNjI4XHUwNmQ1XHUwNjMxXHUwNjMyXHUwNmNjIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA2NDRcdTA2YTlcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIFx1MDY0NFx1MDZkNSBcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmFcdTA2MzEiLAoiQWxpZ25tZW50IjogIlx1MDY0NFx1MDYyN1x1MDZhZlx1MDYzMVx1MDYyYVx1MDY0NiIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYzM1x1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNmE5XHUwNmM2XHUwNjQ1XHUwNmQ1XHUwNmI1XHUwNmQ1IFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0NiIsCiJSb3ciOiAiXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNmM2IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJTcGxpdCBjZWxsIjogIlx1MDYyY1x1MDZjY1x1MDYyN1x1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY3ZVx1MDZjNlx1MDYzNFx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDYyOFx1MDZjNlx1MDYzNFx1MDYyN1x1MDZjY1x1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiUm93IHR5cGUiOiAiXHUwNjJjXHUwNmM2XHUwNjMxXHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmNjIFx1MDYyZVx1MDYzNFx1MDYyYVx1MDZkNSIsCiJCb2R5IjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZkNVx1MDY5NVx1MDZjNlx1MDZhOSIsCiJDYXB0aW9uIjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDYyZlx1MDZjZVx1MDY5NSIsCiJGb290ZXIiOiAiXHUwNjdlXHUwNmNlXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIkRlbGV0ZSByb3ciOiAiXHUwNjMzXHUwNjk1XHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY0NFx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjQ0XHUwNmQ1IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJTY29wZSI6ICJcdTA2MjhcdTA2NDhcdTA2MjdcdTA2MzEiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDYzM1x1MDY5NVx1MDZjY1x1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNVx1MDZjYyBcdTA2MmVcdTA2MzRcdTA2MmFcdTA2ZDUiLAoiSCBBbGlnbiI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjI2XHUwNjI3XHUwNjMzXHUwNmM2XHUwNmNjXHUwNmNjIiwKIlRvcCI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiSGVhZGVyIGNlbGwiOiAiXHUwNjJlXHUwNjI3XHUwNjQ2XHUwNmQ1XHUwNmNjIFx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSIsCiJDb2x1bW4iOiAiXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ4XHUwNjQ2IiwKIlJvdyBncm91cCI6ICJcdTA2YTlcdTA2YzZcdTA2NDVcdTA2ZDVcdTA2YjVcdTA2ZDUgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkNlbGwiOiAiXHUwNjJlXHUwNjI3XHUwNjQ2XHUwNmQ1IiwKIk1pZGRsZSI6ICJcdTA2NDZcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2NDZcdTA2MmYiLAoiQ2VsbCB0eXBlIjogIlx1MDYyY1x1MDZjNlx1MDYzMVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ29weSByb3ciOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmQ1XHUwNjMxXHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA2MmFcdTA2MjdcdTA2Y2NcdTA2MjhcdTA2NDdcdTIwMGNcdTA2MmFcdTA2NDVcdTA2NDdcdTIwMGNcdTA2NDZcdTA2MmZcdTA2Y2NcdTA2Y2NcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjI3XHUwNmNjXHUwNjI4XHUwNjQ3XHUyMDBjXHUwNjJhXHUwNjQ1XHUwNjQ3XHUyMDBjXHUwNjQ2XHUwNjJmXHUwNmNjXHUwNmNjXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyZVx1MDYzNFx1MDYyYVx1MDZkNSIsCiJCb3R0b20iOiAiXHUwNjk4XHUwNmNlXHUwNjMxXHUwNmQ1XHUwNjQ4XHUwNmQ1IiwKIlYgQWxpZ24iOiAiXHUwNjQ0XHUwNjI3XHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0Nlx1MDZjYyIsCiJIZWFkZXIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIlJpZ2h0IjogIlx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNmM2IFx1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYVx1MDYzMSIsCiJDb2xzIjogIlx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0Nlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjI4XHUwNmM2IFx1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYVx1MDYzMSIsCiJXaWR0aCI6ICJcdTA2MmZcdTA2MzFcdTA2Y2VcdTA2OThcdTA2Y2MiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDY0N1x1MjAwY1x1MDYyYVx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiTGVmdCI6ICJcdTA2ODZcdTA2ZDVcdTA2N2UiLAoiQ3V0IHJvdyI6ICJcdTA2MjhcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjMzXHUwNjk1XHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0NiIsCiJDZW50ZXIiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhIiwKIk1lcmdlIGNlbGxzIjogIlx1MDZjY1x1MDZkNVx1MDZhOVx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MmZcdTA2MjdcdTA2OTVcdTA2Y2VcdTA2OThcdTA2ZDUiLAoiVGVtcGxhdGVzIjogIlx1MDYyZlx1MDYyN1x1MDY5NVx1MDZjZVx1MDY5OFx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDY5NVx1MDZkNVx1MDY0Nlx1MDZhZlx1MDZjYyBcdTA2N2VcdTA2MjdcdTA2MzRcdTA2MjhcdTA2NDZcdTA2ZDVcdTA2NDVcdTA2MjciLAoiQ3VzdG9tLi4uIjogIlx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYzMVx1MDYyN1x1MDY0OC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYzMVx1MDYyN1x1MDY0OCIsCiJObyBjb2xvciI6ICJcdTA2MjhcdTA2ZDVcdTA2MjhcdTA2Y2UgXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmIiwKIlRleHQgY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYyZlx1MDZkNVx1MDY0MiIsCiJTaG93IGJsb2NrcyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjQ0XHUwNmM2XHUwNmE5XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzM1x1MDZkNSBcdTA2MzRcdTA2MjdcdTA2MzFcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiV29yZHM6IHswfSI6ICJcdTA2NDhcdTA2MzRcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDY6IHswfSIsCiJJbnNlcnQiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4IiwKIkZpbGUiOiAiXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmFmXHUwNmQ1IiwKIkVkaXQiOiAiXHUwNjJmXHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmE5XHUwNjI3XHUwNjMxXHUwNmNjIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY4Nlx1MDZkNVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjI3XHUwNjQ4LiBBTFQtRjkgXHUwNjJmXHUwNjI3XHUwNmFmXHUwNjMxXHUwNmQ1IFx1MDYyOFx1MDZjNiBcdTA2NDRcdTA2Y2NcdTA2MzNcdTA2MmFcdTA2ZDUuIEFMVC1GMTAgXHUwNjJmXHUwNjI3XHUwNmFmXHUwNjMxXHUwNmQ1IFx1MDYyOFx1MDZjNiBcdTA2MmFcdTA2NDhcdTA2NDhcdTA2YjVcdTA2MjdcdTA2NDVcdTA2MzFcdTA2MjdcdTA2MzIuIEFMVC0wIFx1MDYyZlx1MDYyN1x1MDZhZlx1MDYzMVx1MDZkNSBcdTA2MjhcdTA2YzYgXHUwNmNjXHUwNjI3XHUwNjMxXHUwNjQ1XHUwNmQ1XHUwNjJhXHUwNmNjIiwKIlRvb2xzIjogIlx1MDYyNlx1MDYyN1x1MDY0NVx1MDYzMVx1MDYyN1x1MDYzMlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJWaWV3IjogIlx1MDYyOFx1MDZjY1x1MDY0Nlx1MDZjY1x1MDY0NiIsCiJUYWJsZSI6ICJcdTA2MmVcdTA2MzRcdTA2MmFcdTA2ZDUiLAoiRm9ybWF0IjogIlx1MDYzNFx1MDZjZVx1MDY0OFx1MDYyN1x1MDYzMiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ku_IQ.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdrdV9JUScsewoiQ3V0IjogIlx1MDYyOFx1MDY5NVx1MDZjY1x1MDY0NiIsCiJIZWFkaW5nIDUiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNjQ4XHUwNmNlXHUwNjI4XHUwNmFmXHUwNmQ1XHUwNjk1XHUwNmQ1XHUwNmE5XHUwNmQ1XHUwNjJhIFx1MDY3ZVx1MDYyN1x1MDZiNVx1MDY3ZVx1MDYzNFx1MDYyYVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2YTlcdTA2ZDVcdTA2NDhcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjJlXHUwNmM2XHUwNmNjIFx1MDZhOVx1MDY0NFx1MDZjY1x1MDY3ZVx1MDYyOFx1MDZjNlx1MDYzMVx1MDYyZiBcdTA2NDZcdTA2MjdcdTA2YTlcdTA2MjdcdTA2MmEuIFx1MDYyYVx1MDZhOVx1MDYyN1x1MDZjY1x1MDZkNSBcdTA2NDRcdTA2ZDVcdTA2MmNcdTA2Y2NcdTA2MjdcdTA2MmFcdTA2Y2MgXHUwNmE5XHUwNjQ4XHUwNjMxXHUwNjJhXHUwNjI4XHUwNjk1XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNmNjIEN0cmwrWFwvQ1wvViBcdTA2MmFcdTA2ZDVcdTA2MmVcdTA2MmFcdTA2ZDVcdTA2YTlcdTA2NDRcdTA2Y2NcdTA2NDQgXHUwNjI4XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjMxXHUwNjI4XHUwNmNlXHUwNjQ2XHUwNmQ1LiIsCiJIZWFkaW5nIDQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDIiLAoiUGFzdGUiOiAiXHUwNjQ0XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IiwKIkNsb3NlIjogIlx1MDYyZlx1MDYyN1x1MDYyZVx1MDYzM1x1MDYyYVx1MDY0NiIsCiJGb250IEZhbWlseSI6ICJcdTA2MmNcdTA2YzZcdTA2MzFcdTA2Y2MgXHUwNjQxXHUwNmM2XHUwNjQ2XHUwNjJhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwNjQ0XHUwNjI3XHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNjI4XHUwNmQ1XHUwNmI1XHUwNmFmXHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ1XHUwNmQ1XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDZjZSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA2NDRcdTA2Y2NcdTA2MzNcdTA2MmFcdTA2Y2MgXHUwNjk4XHUwNjQ1XHUwNjI3XHUwNjMxXHUwNmQ1IiwKIkhlYWRpbmcgMSI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmEgMSIsCiJIZWFkaW5ncyI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmFcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiRm9ybWF0cyI6ICJcdTA2MzRcdTA2Y2VcdTA2NDhcdTA2MjdcdTA2MzJcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSGVhZGVycyI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2N2VcdTA2ZDVcdTA2OTVcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiU2VsZWN0IGFsbCI6ICJcdTA2NDdcdTA2ZDVcdTA2YjVcdTA2MjhcdTA2OThcdTA2MjdcdTA2MzFcdTA2MmZcdTA2NDZcdTA2Y2MgXHUwNjQ3XHUwNmQ1XHUwNjQ1XHUwNjQ4XHUwNjQ4IiwKIkhlYWRlciAzIjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSAzIiwKIkJsb2NrcyI6ICJcdTA2MjhcdTA2NDRcdTA2YzZcdTA2YTlcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiVW5kbyI6ICJcdTA2YWZcdTA2ZDVcdTA2OTVcdTA2MjdcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA2NDdcdTA2Y2VcdTA2YjUgXHUwNjI4XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkJ1bGxldCBsaXN0IjogIlx1MDY0NFx1MDZjY1x1MDYzM1x1MDYyYVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2YjUiLAoiSGVhZGVyIDEiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwNjdlXHUwNjI3XHUwNmE5XHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYzNFx1MDZjZVx1MDY0OFx1MDYyN1x1MDYzMlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJGb250IFNpemVzIjogIlx1MDY0Mlx1MDZkNVx1MDYyOFx1MDYyN1x1MDYzMVx1MDZkNVx1MDZjYyBcdTA2NDFcdTA2YzZcdTA2NDZcdTA2MmEiLAoiU3Vic2NyaXB0IjogIlx1MDY5OFx1MDZjZVx1MDYzMVx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMyIsCiJIZWFkZXIgNiI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2N2VcdTA2ZDVcdTA2OTVcdTA2ZDUgNiIsCiJSZWRvIjogIlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNSIsCiJQYXJhZ3JhcGgiOiAiXHUwNjI4XHUwNjk1XHUwNmFmXHUwNmQ1IiwKIk9rIjogIlx1MDYyOFx1MDYyN1x1MDYzNFx1MDZkNSIsCiJCb2xkIjogIlx1MDYyYVx1MDZjNlx1MDYyZVx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiIsCiJDb2RlIjogIlx1MDZhOVx1MDZjNlx1MDYyZiIsCiJJdGFsaWMiOiAiXHUwNjQ0XHUwNjI3XHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhIiwKIkhlYWRlciA1IjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MjhcdTA2MjdcdTA2MjhcdTA2ZDVcdTA2MmEgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjI4XHUwNjI3XHUwNjI4XHUwNmQ1XHUwNjJhIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDZhOVx1MDZkNVx1MDY0NVx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MiLAoiSGVhZGVyIDQiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDY0NFx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0NiBcdTA2MjZcdTA2Y2VcdTA2MzNcdTA2MmFcdTA2MjcgXHUwNjQ0XHUwNmQ1IFx1MDYyOFx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjMzXHUwNjI3XHUwNjJmXHUwNmQ1XHUwNmNjXHUwNmQ1LiBcdTA2NDZcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2OTVcdTA2YzZcdTA2YTlcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYgXHUwNjJmXHUwNmQ1XHUwNjQ0XHUwNmE5XHUwNmNlXHUwNjQ2IFx1MDY0OFx1MDZkNVx1MDZhOSBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjMzXHUwNjI3XHUwNjJmXHUwNmQ1IFx1MDY0N1x1MDZkNVx1MDYyYVx1MDYyNyBcdTA2MjZcdTA2ZDVcdTA2NDUgXHUwNjQ3XHUwNmQ1XHUwNmI1XHUwNjI4XHUwNjk4XHUwNjI3XHUwNjMxXHUwNjJmXHUwNmQ1IFx1MDY0Nlx1MDYyN1x1MDZhOVx1MDYyN1x1MDYzMVx1MDYyNyBcdTA2MmZcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmEuIiwKIlVuZGVybGluZSI6ICJcdTA2NDdcdTA2Y2VcdTA2YjUgXHUwNjI4XHUwNmQ1XHUwNjk4XHUwNmNlXHUwNjMxXHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkNhbmNlbCI6ICJcdTA2N2VcdTA2MjdcdTA2MzRcdTA2YWZcdTA2ZDVcdTA2MzJcdTA2MjhcdTA2NDhcdTA2NDhcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiSnVzdGlmeSI6ICJcdTA2NDdcdTA2MjdcdTA2NDhcdTA2OTVcdTA2Y2VcdTA2YTlcdTA2Y2MgIiwKIklubGluZSI6ICJcdTA2NDRcdTA2ZDVcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2MmZcdTA2Y2VcdTA2MzEiLAoiQ29weSI6ICJcdTA2NDRcdTA2ZDVcdTA2MjhcdTA2ZDVcdTA2MzFcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiQWxpZ24gbGVmdCI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjg2XHUwNmQ1XHUwNjdlIiwKIlZpc3VhbCBhaWRzIjogIlx1MDY0N1x1MDYyN1x1MDY0OFx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2MjhcdTA2Y2NcdTA2NDZcdTA2ZDVcdTA2Y2NcdTA2Y2MiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNmNjXHUwNmM2XHUwNjQ2XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyOFx1MDY4Nlx1MDY0OFx1MDY0OFx1MDZhOSIsCiJTcXVhcmUiOiAiXHUwNjg2XHUwNjQ4XHUwNjI3XHUwNjMxXHUwNmFmXHUwNmM2XHUwNjM0XHUwNmQ1IiwKIkRlZmF1bHQiOiAiXHUwNjI4XHUwNjQ2XHUwNmQ1XHUwNjk1XHUwNmQ1XHUwNjJhXHUwNmNjIiwKIkxvd2VyIEFscGhhIjogIlx1MDYyNlx1MDZkNVx1MDY0NFx1MDY0MVx1MDYyN1x1MDZjYyBcdTA2MjhcdTA2ODZcdTA2NDhcdTA2NDhcdTA2YTkiLAoiQ2lyY2xlIjogIlx1MDYyOFx1MDYyN1x1MDYzMlx1MDY0Nlx1MDZkNSIsCiJEaXNjIjogIlx1MDY3ZVx1MDZkNVx1MDY3ZVx1MDZhOVx1MDZkNSIsCiJVcHBlciBBbHBoYSI6ICJcdTA2MjZcdTA2ZDVcdTA2NDRcdTA2NDFcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNmQ1XHUwNjQ4XHUwNjMxXHUwNmQ1IiwKIlVwcGVyIFJvbWFuIjogIlx1MDY5NVx1MDZjNlx1MDY0NVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2YWZcdTA2ZDVcdTA2NDhcdTA2MzFcdTA2ZDUiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNjk1XHUwNmM2XHUwNjQ1XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyOFx1MDY4Nlx1MDY0OFx1MDY0OFx1MDZhOSIsCiJOYW1lIjogIlx1MDY0Nlx1MDYyN1x1MDY0OCIsCiJBbmNob3IiOiAiXHUwNjQ0XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmQ1XHUwNjMxIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNjJhXHUwNmM2IFx1MDZhZlx1MDZjNlx1MDY5NVx1MDYyN1x1MDY0Nlx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyYSBcdTA2N2VcdTA2MjdcdTA2MzRcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2NDhcdTA2MmEgXHUwNjQ2XHUwNmQ1XHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNmQ1XHUwNjBjIFx1MDYyNlx1MDYyN1x1MDZjY1x1MDYyNyBcdTA2MmZcdTA2YjVcdTA2NDZcdTA2Y2NcdTA2MjdcdTA2Y2NcdTA2MmEgXHUwNjQ0XHUwNmQ1IFx1MDYyZlx1MDZkNVx1MDYzMVx1MDY4Nlx1MDY0OFx1MDY0OFx1MDY0Nlx1MDYyYVx1MDYxZiIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNmFmXHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYyZlx1MDY0OFx1MDYyN1x1MDZjY1x1MDZjY1x1MDY0NiBcdTA2OTVcdTA2ZDVcdTA2MzRcdTA2NDZcdTA2NDhcdTA2NDhcdTA2MzMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzXHUwNmQ1XHUwNmNjIFx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDZkNVx1MDYyYSIsCiJTb3VyY2UgY29kZSI6ICJcdTA2YTlcdTA2YzZcdTA2MmZcdTA2Y2MgXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjg2XHUwNjI3XHUwNjQ4XHUwNmQ1IiwKIkNvbG9yIjogIlx1MDY5NVx1MDZkNVx1MDY0Nlx1MDZhZiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSBcdTA2MjhcdTA2YzYgXHUwNjg2XHUwNmQ1XHUwNjdlIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjg2XHUwNmQ1XHUwNjdlIFx1MDYyOFx1MDZjNiBcdTA2OTVcdTA2MjdcdTA2MzNcdTA2MmEiLAoiRW1vdGljb25zIjogIlx1MDY0OFx1MDZjZVx1MDY0Nlx1MDZjNlx1MDY4Nlx1MDZhOVx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2NDdcdTA2ZDVcdTA2MzNcdTA2MmEiLAoiUm9ib3RzIjogIlx1MDY5NVx1MDZjNlx1MDYyOFx1MDZjNlx1MDYyYVx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDY0N1x1MjAwY1x1MDYyYVx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2MjhcdTA2ZDVcdTA2YjVcdTA2YWZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDVcdTA2ZDUiLAoiVGl0bGUiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNjQ2XHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2IiwKIktleXdvcmRzIjogIlx1MDZhOVx1MDY0NFx1MDZjY1x1MDY0NFx1MDY0N1x1MjAwY1x1MDY0OFx1MDYzNFx1MDY0N1x1MjAwY1x1MDZhOVx1MDYyN1x1MDY0NiIsCiJFbmNvZGluZyI6ICJcdTA2MjhcdTA2ZDVcdTA2YTlcdTA2YzZcdTA2MmZcdTA2YTlcdTA2MzFcdTA2MmZcdTA2NDYiLAoiRGVzY3JpcHRpb24iOiAiXHUwNjI4XHUwNjI3XHUwNjMzXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkF1dGhvciI6ICJcdTA2NDZcdTA2NDhcdTA2NDhcdTA2MzNcdTA2ZDVcdTA2MzEiLAoiRnVsbHNjcmVlbiI6ICJcdTA2OTVcdTA2NDhcdTA2NDhcdTA2N2VcdTA2OTVcdTA2Y2MiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDY0N1x1MDZjZVx1MDZiNVx1MDZjYyBcdTA2MjZcdTA2MjdcdTA2MzNcdTA2YzZcdTA2Y2NcdTA2Y2MiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MgXHUwNjI2XHUwNjI3XHUwNjMzXHUwNmM2XHUwNmNjXHUwNmNjIiwKIkIiOiAiXHUwNjM0XHUwNmNjXHUwNjQ2IiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcL1x1MDYyZlx1MDZkNVx1MDYzM1x1MDYyYVx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2NDhcdTA2Y2VcdTA2NDZcdTA2ZDUiLAoiR2VuZXJhbCI6ICJcdTA2YWZcdTA2MzRcdTA2MmFcdTA2Y2MiLAoiQWR2YW5jZWQiOiAiXHUwNjdlXHUwNmNlXHUwNjM0XHUwNmE5XHUwNmQ1XHUwNjQ4XHUwNjJhXHUwNjQ4XHUwNjQ4IiwKIkciOiAiXHUwNjMzXHUwNmQ1XHUwNjQ4XHUwNjMyIiwKIlIiOiAiXHUwNjMzXHUwNjQ4XHUwNjMxIiwKIlNvdXJjZSI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2ODZcdTA2MjdcdTA2NDhcdTA2ZDUiLAoiQm9yZGVyIjogIlx1MDYzM1x1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ3XHUwNmQ1XHUwNjQ2XHUwNjJmXHUwNmNjIFx1MDY0NVx1MDZkNVx1MDYzMVx1MDYyY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA2MjhcdTA2YzZcdTA2MzRcdTA2MjdcdTA2Y2NcdTA2Y2MgXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ4XHUwNjQ2XHUwNmNjIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDYyOFx1MDYyN1x1MDYzM1x1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2NDhcdTA2Y2VcdTA2NDZcdTA2ZDUiLAoiU3R5bGUiOiAiXHUwNjM0XHUwNmNlXHUwNjQ4XHUwNjI3XHUwNjMyIiwKIkRpbWVuc2lvbnMiOiAiXHUwNjJmXHUwNjQ4XHUwNjQ4XHUwNjMxXHUwNmNjXHUwNmNjXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIkluc2VydCBpbWFnZSI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcdTA2Y2MgXHUwNjQ4XHUwNmNlXHUwNjQ2XHUwNmQ1IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2YzZcdTA2OThcL1x1MDZhOVx1MDYyN1x1MDYyYSIsCiJSZW1vdmUgbGluayI6ICJcdTA2MzNcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2ZDVcdTA2NDhcdTA2ZDVcdTA2Y2MgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxIiwKIlVybCI6ICJcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzEiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MDYyZlx1MDZkNVx1MDY0MiBcdTA2MjhcdTA2YzYgXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjQ2IiwKIkFuY2hvcnMiOiAiXHUwNjQ0XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmQ1XHUwNjMxXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIkluc2VydCBsaW5rIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzEiLAoiTmV3IHdpbmRvdyI6ICJcdTA2N2VcdTA2ZDVcdTA2NDZcdTA2MmNcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNmNlIiwKIk5vbmUiOiAiXHUwNjQ3XHUwNmNjXHUwNjg2IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA2MjZcdTA2ZDVcdTA2NDggXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxXHUwNmQ1XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzM1x1MDZjY1x1MDY0OFx1MDYyYVx1MDZkNSBcdTA2MjhcdTA2ZDUgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxXHUwNmNjIFx1MDYyZlx1MDZkNVx1MDYzMVx1MDZkNVx1MDZhOVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2ODZcdTA2Y2VcdTA2MmEuIFx1MDYyNlx1MDYyN1x1MDZjY1x1MDYyNyBcdTA2MmZcdTA2ZDVcdTA2MmFcdTA2ZDVcdTA2NDhcdTA2Y2VcdTA2MmEgaHR0cDpcL1wvIHByZWZpeCBcdTA2Y2MgXHUwNjI4XHUwNmM2IFx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZiBcdTA2MjhcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmFcdTA2MWYiLAoiVGFyZ2V0IjogIlx1MDYyNlx1MDYyN1x1MDY0NVx1MDYyN1x1MDY0Nlx1MDYyYyIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDYyNlx1MDZkNVx1MDY0OCBcdTA2MjhcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2Y2MgXHUwNjQ2XHUwNjQ4XHUwNjQ4XHUwNjMzXHUwNmNjXHUwNjQ4XHUwNjJhXHUwNmQ1IFx1MDYyOFx1MDZkNSBcdTA2N2VcdTA2ZDVcdTA2Y2NcdTA2MjdcdTA2NDVcdTA2Y2MgXHUwNjI2XHUwNmQ1XHUwNjQ0XHUwNmNjXHUwNmE5XHUwNjJhXHUwNjk1XHUwNmM2XHUwNjQ2XHUwNmNjIFx1MDYyZlx1MDZkNVx1MDY4Nlx1MDZjZVx1MDYyYS4gXHUwNjI2XHUwNjI3XHUwNmNjXHUwNjI3IFx1MDYyZlx1MDZkNVx1MDYyYVx1MDZkNVx1MDY0OFx1MDZjZVx1MDYyYSBtYWlsdG86IHByZWZpeCBcdTA2Y2MgXHUwNjI4XHUwNmM2IFx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZiBcdTA2MjhcdTA2YTlcdTA2ZDVcdTA2Y2NcdTA2MmFcdTA2MWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XC9cdTA2MmZcdTA2ZDVcdTA2MzNcdTA2MmFcdTA2YTlcdTA2MjdcdTA2MzFcdTA2Y2MgXHUwNjI4XHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmQ1XHUwNjMxIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2NDZcdTA2MjdcdTA2NDhcL1x1MDYyZlx1MDZkNVx1MDYzM1x1MDYyYVx1MDZhOVx1MDYyN1x1MDYzMVx1MDZjYyBcdTA2YTRcdTA2Y2NcdTA2MmZcdTA2Y2NcdTA2YzYiLAoiUG9zdGVyIjogIlx1MDY3ZVx1MDZjNlx1MDYzM1x1MDYyYVx1MDZkNVx1MDYzMSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjg2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYyY1x1MDZjZVx1MDZhZlx1MDYzMVx1MDZkNVx1MDY0OFx1MDZkNSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDZhOVx1MDZjNlx1MDYyZlx1MDZjYyBcdTA2MmFcdTA2Y2VcdTA2MmVcdTA2MzNcdTA2MmFcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2ZDVcdTA2MmEgXHUwNjQ0XHUwNmQ1XHUwNjJlXHUwNjQ4XHUwNjI3XHUwNjMxXHUwNmQ1XHUwNjQ4XHUwNmQ1IFx1MDYyOFx1MDY0NFx1MDZhOVx1MDZjZVx1MDY0Nlx1MDZkNToiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2YTRcdTA2Y2NcdTA2MmZcdTA2Y2NcdTA2YzYiLAoiRW1iZWQiOiAiXHUwNjJhXHUwNmNlXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDYyOFx1MDZjNlx1MDYzNFx1MDYyN1x1MDZjY1x1MDZjYyBcdTA2NDZcdTA2ZDVcdTA2MjhcdTA2OTVcdTA2MjdcdTA2NDgiLAoiUGFnZSBicmVhayI6ICJcdTA2MjhcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNjQ0XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjQ2IFx1MDY0OFx1MDZkNVx1MDZhOSBcdTA2MmZcdTA2ZDVcdTA2NDIiLAoiUHJldmlldyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2NDYiLAoiUHJpbnQiOiAiXHUwNjg2XHUwNjI3XHUwNjdlXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIlNhdmUiOiAiXHUwNjdlXHUwNjI3XHUwNjM0XHUwNmQ1XHUwNmE5XHUwNmQ1XHUwNjQ4XHUwNjJhIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA2OTVcdTA2Y2NcdTA2MzJcdTA2MjhcdTA2ZDVcdTA2NDZcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNmNjXHUwNjI3XHUwNjMxXHUwNmNjXHUwNmE5XHUwNjMxXHUwNjI3XHUwNjQ4IFx1MDY0Nlx1MDYyN1x1MDYyZlx1MDZjNlx1MDYzMlx1MDYzMVx1MDZjZVx1MDYyYVx1MDZkNVx1MDY0OFx1MDZkNS4iLAoiUmVwbGFjZSI6ICJcdTA2MmNcdTA2Y2VcdTA2YWZcdTA2YzZcdTA2OTVcdTA2Y2NcdTA2NDYiLAoiTmV4dCI6ICJcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmFcdTA2MzEiLAoiV2hvbGUgd29yZHMiOiAiXHUwNjQ3XHUwNmQ1XHUwNjQ1XHUwNjQ4XHUwNjQ4IFx1MDY0OFx1MDYzNFx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDYyZlx1MDZjNlx1MDYzMlx1MDZjY1x1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNSBcdTA2NDggXHUwNjJjXHUwNmNlXHUwNmFmXHUwNmM2XHUwNjk1XHUwNmNjXHUwNjQ2IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTA2MmNcdTA2Y2VcdTA2YWZcdTA2YzZcdTA2OTVcdTA2Y2NcdTA2NDYgXHUwNjQ0XHUwNmQ1XHUwNmFmXHUwNmQ1XHUwNmI1IiwKIkZpbmQiOiAiXHUwNjJmXHUwNmM2XHUwNjMyXHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1IiwKIlJlcGxhY2UgYWxsIjogIlx1MDYyY1x1MDZjZVx1MDZhZlx1MDZjNlx1MDY5NVx1MDZjY1x1MDY0Nlx1MDZjYyBcdTA2NDdcdTA2ZDVcdTA2NDVcdTA2NDhcdTA2NDgiLAoiTWF0Y2ggY2FzZSI6ICJcdTA2NDdcdTA2MjdcdTA2NDhcdTA2MmFcdTA2MjdcdTA2MjhcdTA2NDhcdTA2NDhcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjI3XHUwNjMxIiwKIlByZXYiOiAiXHUwNjdlXHUwNmNlXHUwNjM0XHUwNjQ4XHUwNjQ4IiwKIlNwZWxsY2hlY2siOiAiXHUwNjdlXHUwNjM0XHUwNmE5XHUwNjQ2XHUwNmNjXHUwNjQ2XHUwNmNjIFx1MDY5NVx1MDZjZVx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMyIsCiJGaW5pc2giOiAiXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjI3XHUwNjQ4IiwKIklnbm9yZSBhbGwiOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmNjXHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2XHUwNmNjIFx1MDY0N1x1MDZkNVx1MDY0NVx1MDY0OFx1MDY0OCIsCiJJZ25vcmUiOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmNjXHUwNjMxXHUwNmE5XHUwNjMxXHUwNjJmXHUwNjQ2IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDYzMlx1MDZjY1x1MDYyN1x1MDYyZlx1MDZhOVx1MDYzMVx1MDYyZlx1MDY0NiBcdTA2MjhcdTA2YzYgXHUwNjQxXHUwNmQ1XHUwNjMxXHUwNjQ3XHUwNmQ1XHUwNjQ2XHUwNmFmIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjI4XHUwNmM2IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJSb3dzIjogIlx1MDY5NVx1MDZjY1x1MDYzMlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJIZWlnaHQiOiAiXHUwNjI4XHUwNmQ1XHUwNjMxXHUwNjMyXHUwNmNjIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA2NDRcdTA2YTlcdTA2MjdcdTA2NDZcdTA2MmZcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIFx1MDY0NFx1MDZkNSBcdTA2MmZcdTA2NDhcdTA2MjdcdTA2MmFcdTA2MzEiLAoiQWxpZ25tZW50IjogIlx1MDY0NFx1MDYyN1x1MDZhZlx1MDYzMVx1MDYyYVx1MDY0NiIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYzM1x1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzMSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNmE5XHUwNmM2XHUwNjQ1XHUwNmQ1XHUwNmI1XHUwNmQ1IFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0NiIsCiJSb3ciOiAiXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNmM2IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJTcGxpdCBjZWxsIjogIlx1MDYyY1x1MDZjY1x1MDYyN1x1MDZhOVx1MDYzMVx1MDYyZlx1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY3ZVx1MDZjNlx1MDYzNFx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDYyOFx1MDZjNlx1MDYzNFx1MDYyN1x1MDZjY1x1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiUm93IHR5cGUiOiAiXHUwNjJjXHUwNmM2XHUwNjMxXHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmNjIFx1MDYyZVx1MDYzNFx1MDYyYVx1MDZkNSIsCiJCb2R5IjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZkNVx1MDY5NVx1MDZjNlx1MDZhOSIsCiJDYXB0aW9uIjogIlx1MDYzM1x1MDZkNVx1MDYzMVx1MDYyZlx1MDZjZVx1MDY5NSIsCiJGb290ZXIiOiAiXHUwNjdlXHUwNmNlXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIkRlbGV0ZSByb3ciOiAiXHUwNjMzXHUwNjk1XHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY0NFx1MDZhOVx1MDYyN1x1MDY0Nlx1MDYyZlx1MDY0Nlx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjQ0XHUwNmQ1IFx1MDY3ZVx1MDZjZVx1MDYzNFx1MDYyYVx1MDYzMSIsCiJTY29wZSI6ICJcdTA2MjhcdTA2NDhcdTA2MjdcdTA2MzEiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDYzM1x1MDY5NVx1MDZjY1x1MDY0Nlx1MDZkNVx1MDY0OFx1MDZkNVx1MDZjYyBcdTA2MmVcdTA2MzRcdTA2MmFcdTA2ZDUiLAoiSCBBbGlnbiI6ICJcdTA2NDRcdTA2MjdcdTA2YWZcdTA2MzFcdTA2MmFcdTA2NDZcdTA2Y2MgXHUwNjI2XHUwNjI3XHUwNjMzXHUwNmM2XHUwNmNjXHUwNmNjIiwKIlRvcCI6ICJcdTA2MzNcdTA2ZDVcdTA2MzFcdTA2ZDVcdTA2NDhcdTA2ZDUiLAoiSGVhZGVyIGNlbGwiOiAiXHUwNjJlXHUwNjI3XHUwNjQ2XHUwNmQ1XHUwNmNjIFx1MDYzM1x1MDZkNVx1MDYzMVx1MDY3ZVx1MDZkNVx1MDY5NVx1MDZkNSIsCiJDb2x1bW4iOiAiXHUwNjMzXHUwNjJhXHUwNjQ4XHUwNjQ4XHUwNjQ2IiwKIlJvdyBncm91cCI6ICJcdTA2YTlcdTA2YzZcdTA2NDVcdTA2ZDVcdTA2YjVcdTA2ZDUgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkNlbGwiOiAiXHUwNjJlXHUwNjI3XHUwNjQ2XHUwNmQ1IiwKIk1pZGRsZSI6ICJcdTA2NDZcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2NDZcdTA2MmYiLAoiQ2VsbCB0eXBlIjogIlx1MDYyY1x1MDZjNlx1MDYzMVx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiQ29weSByb3ciOiAiXHUwNjQ0XHUwNmQ1XHUwNjI4XHUwNmQ1XHUwNjMxXHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDY5NVx1MDZjY1x1MDYzMiIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA2MmFcdTA2MjdcdTA2Y2NcdTA2MjhcdTA2NDdcdTIwMGNcdTA2MmFcdTA2NDVcdTA2NDdcdTIwMGNcdTA2NDZcdTA2MmZcdTA2Y2NcdTA2Y2NcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNjJhXHUwNjI3XHUwNmNjXHUwNjI4XHUwNjQ3XHUyMDBjXHUwNjJhXHUwNjQ1XHUwNjQ3XHUyMDBjXHUwNjQ2XHUwNjJmXHUwNmNjXHUwNmNjXHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDYyZVx1MDYzNFx1MDYyYVx1MDZkNSIsCiJCb3R0b20iOiAiXHUwNjk4XHUwNmNlXHUwNjMxXHUwNmQ1XHUwNjQ4XHUwNmQ1IiwKIlYgQWxpZ24iOiAiXHUwNjQ0XHUwNjI3XHUwNmFmXHUwNjMxXHUwNjJhXHUwNjQ2XHUwNmNjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0Nlx1MDZjYyIsCiJIZWFkZXIiOiAiXHUwNjMzXHUwNmQ1XHUwNjMxXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmQ1IiwKIlJpZ2h0IjogIlx1MDY5NVx1MDYyN1x1MDYzM1x1MDYyYSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MzNcdTA2MmFcdTA2NDhcdTA2NDhcdTA2NDYgXHUwNjI4XHUwNmM2IFx1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYVx1MDYzMSIsCiJDb2xzIjogIlx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0Nlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2OTVcdTA2Y2NcdTA2MzIgXHUwNjI4XHUwNmM2IFx1MDYyZlx1MDY0OFx1MDYyN1x1MDYyYVx1MDYzMSIsCiJXaWR0aCI6ICJcdTA2MmZcdTA2MzFcdTA2Y2VcdTA2OThcdTA2Y2MiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDYyYVx1MDYyN1x1MDZjY1x1MDYyOFx1MDY0N1x1MjAwY1x1MDYyYVx1MDY0NVx1MDY0N1x1MjAwY1x1MDY0Nlx1MDYyZlx1MDZjY1x1MDZjY1x1MDZkNVx1MDZhOVx1MDYyN1x1MDY0Nlx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDUiLAoiTGVmdCI6ICJcdTA2ODZcdTA2ZDVcdTA2N2UiLAoiQ3V0IHJvdyI6ICJcdTA2MjhcdTA2OTVcdTA2Y2NcdTA2NDZcdTA2Y2MgXHUwNjk1XHUwNmNjXHUwNjMyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjMzXHUwNjk1XHUwNmNjXHUwNjQ2XHUwNmQ1XHUwNjQ4XHUwNmQ1XHUwNmNjIFx1MDYzM1x1MDYyYVx1MDY0OFx1MDY0OFx1MDY0NiIsCiJDZW50ZXIiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ4XHUwNmQ1XHUwNjk1XHUwNjI3XHUwNjMzXHUwNjJhIiwKIk1lcmdlIGNlbGxzIjogIlx1MDZjY1x1MDZkNVx1MDZhOVx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZjYyBcdTA2MmVcdTA2MjdcdTA2NDZcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyZVx1MDYzM1x1MDYyYVx1MDY0Nlx1MDZkNVx1MDY0Nlx1MDYyN1x1MDY0OFx1MDZjYyBcdTA2MmZcdTA2MjdcdTA2OTVcdTA2Y2VcdTA2OThcdTA2ZDUiLAoiVGVtcGxhdGVzIjogIlx1MDYyZlx1MDYyN1x1MDY5NVx1MDZjZVx1MDY5OFx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDY5NVx1MDZkNVx1MDY0Nlx1MDZhZlx1MDZjYyBcdTA2N2VcdTA2MjdcdTA2MzRcdTA2MjhcdTA2NDZcdTA2ZDVcdTA2NDVcdTA2MjciLAoiQ3VzdG9tLi4uIjogIlx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYzMVx1MDYyN1x1MDY0OC4uLiIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYyZlx1MDYyN1x1MDY0Nlx1MDYzMVx1MDYyN1x1MDY0OCIsCiJObyBjb2xvciI6ICJcdTA2MjhcdTA2ZDVcdTA2MjhcdTA2Y2UgXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmIiwKIlRleHQgY29sb3IiOiAiXHUwNjk1XHUwNmQ1XHUwNjQ2XHUwNmFmXHUwNmNjIFx1MDYyZlx1MDZkNVx1MDY0MiIsCiJTaG93IGJsb2NrcyI6ICJcdTA2N2VcdTA2Y2NcdTA2MzRcdTA2MjdcdTA2NDZcdTA2MmZcdTA2MjdcdTA2NDZcdTA2Y2MgXHUwNjI4XHUwNjQ0XHUwNmM2XHUwNmE5XHUwNmQ1XHUwNmE5XHUwNjI3XHUwNjQ2IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNjdlXHUwNmNjXHUwNjM0XHUwNjI3XHUwNjQ2XHUwNjJmXHUwNjI3XHUwNjQ2XHUwNmNjIFx1MDY0Nlx1MDY0OFx1MDY0OFx1MDYzM1x1MDZkNSBcdTA2MzRcdTA2MjdcdTA2MzFcdTA2MjdcdTA2NDhcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDYiLAoiV29yZHM6IHswfSI6ICJcdTA2NDhcdTA2MzRcdTA2ZDVcdTA2YTlcdTA2MjdcdTA2NDY6IHswfSIsCiJJbnNlcnQiOiAiXHUwNjJlXHUwNjMzXHUwNjJhXHUwNjQ2XHUwNmQ1XHUwNjQ2XHUwNjI3XHUwNjQ4IiwKIkZpbGUiOiAiXHUwNjdlXHUwNmQ1XHUwNjk1XHUwNmFmXHUwNmQ1IiwKIkVkaXQiOiAiXHUwNjJmXHUwNmQ1XHUwNjMzXHUwNjJhXHUwNmE5XHUwNjI3XHUwNjMxXHUwNmNjIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDY0Nlx1MDYyN1x1MDY0OFx1MDY4Nlx1MDZkNVx1MDZjYyBcdTA2MmZcdTA2ZDVcdTA2NDJcdTA2Y2MgXHUwNjJhXHUwNmQ1XHUwNjQ4XHUwNjI3XHUwNjQ4LiBBTFQtRjkgXHUwNjJmXHUwNjI3XHUwNmFmXHUwNjMxXHUwNmQ1IFx1MDYyOFx1MDZjNiBcdTA2NDRcdTA2Y2NcdTA2MzNcdTA2MmFcdTA2ZDUuIEFMVC1GMTAgXHUwNjJmXHUwNjI3XHUwNmFmXHUwNjMxXHUwNmQ1IFx1MDYyOFx1MDZjNiBcdTA2MmFcdTA2NDhcdTA2NDhcdTA2YjVcdTA2MjdcdTA2NDVcdTA2MzFcdTA2MjdcdTA2MzIuIEFMVC0wIFx1MDYyZlx1MDYyN1x1MDZhZlx1MDYzMVx1MDZkNSBcdTA2MjhcdTA2YzYgXHUwNmNjXHUwNjI3XHUwNjMxXHUwNjQ1XHUwNmQ1XHUwNjJhXHUwNmNjIiwKIlRvb2xzIjogIlx1MDYyNlx1MDYyN1x1MDY0NVx1MDYzMVx1MDYyN1x1MDYzMlx1MDZkNVx1MDZhOVx1MDYyN1x1MDY0NiIsCiJWaWV3IjogIlx1MDYyOFx1MDZjY1x1MDY0Nlx1MDZjY1x1MDY0NiIsCiJUYWJsZSI6ICJcdTA2MmVcdTA2MzRcdTA2MmFcdTA2ZDUiLAoiRm9ybWF0IjogIlx1MDYzNFx1MDZjZVx1MDY0OFx1MDYyN1x1MDYzMiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/lb.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdsYicsewoiQ3V0IjogIkF1c3NjaG5laWRlbiIsCiJIZWFkaW5nIDUiOiAiSXd3ZXJzY2hyXHUwMGViZnQgNSIsCiJIZWFkZXIgMiI6ICJUaXRlbCAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIkRcdTAwZTRpIFdlYi1Ccm93c2VyIFx1MDBlYm5uZXJzdFx1MDBlYnR6dCBrZWVuIGRpcmVrdGVuIEFjY1x1MDBlOHMgb3AgZCdad1x1MDBlYnNjaGVuYXBsYWcuIEJlbm90eiB3LmUuZ2wuIENUUkwrQyBmaXIgZGVuIGF1c2dld2llbHRlbiBUZXh0IHplIGtvcFx1MDBlOWllcmVuIGFuIENUUkwrViBmaXIgZW4gYW56ZXBlY2hlbi4iLAoiSGVhZGluZyA0IjogIkl3d2Vyc2Noclx1MDBlYmZ0IDQiLAoiRGl2IjogIkRJViIsCiJIZWFkaW5nIDIiOiAiSXd3ZXJzY2hyXHUwMGViZnQgMiIsCiJQYXN0ZSI6ICJBcGVjaGVuIiwKIkNsb3NlIjogIlpvdW1hYWNoZW4iLAoiRm9udCBGYW1pbHkiOiAiU2Noclx1MDBlYmZ0LUZhbWlsbCIsCiJQcmUiOiAiUFJFIiwKIkFsaWduIHJpZ2h0IjogIlJpZXRzIGFsaWduXHUwMGU5aWVydCIsCiJOZXcgZG9jdW1lbnQiOiAiTmVpdCBEb2t1bWVudCIsCiJCbG9ja3F1b3RlIjogIlppdGF0IiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtbWVyXHUwMGU5aWVydCBMXHUwMGVic2NodCIsCiJIZWFkaW5nIDEiOiAiSXd3ZXJzY2hyXHUwMGViZnQgMSIsCiJIZWFkaW5ncyI6ICJJd3dlcnNjaHJcdTAwZWJmdGVuIiwKIkluY3JlYXNlIGluZGVudCI6ICJJZGVudFx1MDBlOWllcnVuZyB2ZXJnclx1MDBlOWlzc2VyZW4iLAoiRm9ybWF0cyI6ICJGb3JtYXRlciIsCiJIZWFkZXJzIjogIlRpdGVsZW4iLAoiU2VsZWN0IGFsbCI6ICJBbGxlcyBhdXN3aWVsZW4iLAoiSGVhZGVyIDMiOiAiVGl0ZWwgMyIsCiJCbG9ja3MiOiAiQmxcdTAwZTljayIsCiJVbmRvIjogIlJcdTAwZTlja2dcdTAwZTRuZ2VnIG1hYWNoZW4iLAoiU3RyaWtldGhyb3VnaCI6ICJEdWVyY2hnZXN0cmFjaCIsCiJCdWxsZXQgbGlzdCI6ICJPcHppZWx1bmciLAoiSGVhZGVyIDEiOiAiVGl0ZWwgMSIsCiJTdXBlcnNjcmlwdCI6ICJIXHUwMGU5aWNoZ2VzdGFsbHQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGb3JtYXRcdTAwZTlpZXJ1bmcgbFx1MDBlNHNjaGVuIiwKIkZvbnQgU2l6ZXMiOiAiU2Noclx1MDBlYmZ0LUdyXHUwMGU5aXNzdGVuIiwKIlN1YnNjcmlwdCI6ICJFcm9mZ2VzdGFsbHQiLAoiSGVhZGVyIDYiOiAiVGl0ZWwgNiIsCiJSZWRvIjogIldpZGRlcmh1ZWxlbiIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYXBoIiwKIk9rIjogIk9rZWUiLAoiQm9sZCI6ICJGZXR0IiwKIkNvZGUiOiAiQ09ERSIsCiJJdGFsaWMiOiAiS3Vyc2l2IiwKIkFsaWduIGNlbnRlciI6ICJaZW50clx1MDBlOWllcnQiLAoiSGVhZGVyIDUiOiAiVGl0ZWwgNSIsCiJIZWFkaW5nIDYiOiAiSXd3ZXJzY2hyXHUwMGViZnQgNiIsCiJIZWFkaW5nIDMiOiAiSXd3ZXJzY2hyXHUwMGViZnQgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiSWRlbnRcdTAwZTlpZXJ1bmcgdmVya2xlbmdlcmVuIiwKIkhlYWRlciA0IjogIlRpdGVsIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlwiQXBlY2hlblwiIGFzcyBlbG8gYW0gVGV4dG1vZHVzLiBJbmhhbHRlciBnaW5uIGVsbyBvdW5pIEZvcm1hdFx1MDBlOWllcnVuZ2VuIGFnZXBlY2h0IGJpcyBkdSBkXHUwMGVicyBPcHRpb3VuIGF1c21cdTAwZTljaHMuIiwKIlVuZGVybGluZSI6ICJcdTAwY2JubmVyc3RyYWNoIiwKIkNhbmNlbCI6ICJPZmJyaWVjaGVuIiwKIkp1c3RpZnkiOiAiQmxvY2tzYXoiLAoiSW5saW5lIjogIklubGluZSIsCiJDb3B5IjogIktvcFx1MDBlOWllcmVuIiwKIkFsaWduIGxlZnQiOiAiTFx1MDBlOW5rcyBhbGlnblx1MDBlOWllcnQiLAoiVmlzdWFsIGFpZHMiOiAiVmlzdWVsbCBIXHUwMGVibGxlZmVuIiwKIkxvd2VyIEdyZWVrIjogIktsZW5ndCBncmlpY2hlc2NodCBBbHBoYWJldCIsCiJTcXVhcmUiOiAiUXVhZHJhdCIsCiJEZWZhdWx0IjogIlN0YW5kYXJkIiwKIkxvd2VyIEFscGhhIjogIktsZW5ndCBBbHBoYWJldCIsCiJDaXJjbGUiOiAiS3JlZXMiLAoiRGlzYyI6ICJTY2hlaWYiLAoiVXBwZXIgQWxwaGEiOiAiR3JvdXNzdCBBbHBoYWJldCIsCiJVcHBlciBSb21hbiI6ICJHcm91c3N0IHJcdTAwZTlpbWVzY2h0IEFscGhhYmV0IiwKIkxvd2VyIFJvbWFuIjogIktsZW5ndCByXHUwMGU5aW1lc2NodCBBbHBoYWJldCIsCiJOYW1lIjogIk51bW0iLAoiQW5jaG9yIjogIkFua2VyIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiRHUgaHVlcyBvbmdlc3BcdTAwZTRpY2hlcnQgXHUwMGM0bm5lcnVuZ2VuLiBXXHUwMGVibGxzIGR1IHNcdTAwZTljaGVyIGV3ZWNobmF2aWdcdTAwZTlpZXJlbj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIkxlc2NodGVuIEVudHdvcmYgZXJcdTAwZWJtIHpyXHUwMGU5Y2tzZXR6ZW4iLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlemllbGwgWmVlY2hlbiIsCiJTb3VyY2UgY29kZSI6ICJRdWVsbHRleHQiLAoiQ29sb3IiOiAiRmFhcmYiLAoiUmlnaHQgdG8gbGVmdCI6ICJWdSByaWV0cyBubyBsXHUwMGU5bmtzIiwKIkxlZnQgdG8gcmlnaHQiOiAiVnUgbFx1MDBlOW5rcyBubyByaWV0cyIsCiJFbW90aWNvbnMiOiAiU21pbGV5ZW4iLAoiUm9ib3RzIjogIlJvYm90dGVyIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRWVnZXNjaGFmdGUgdnVtIERva3VtZW50IiwKIlRpdGxlIjogIlRpdGVsIiwKIktleXdvcmRzIjogIlNjaGxcdTAwZWJzc2Vsd2llcmRlciIsCiJFbmNvZGluZyI6ICJDb2RcdTAwZTlpZXJ1bmciLAoiRGVzY3JpcHRpb24iOiAiQmVzY2hyZWl3dW5nIiwKIkF1dGhvciI6ICJBdXRldXIiLAoiRnVsbHNjcmVlbiI6ICJWb2xsYmlsZHNjaGllcm0iLAoiSG9yaXpvbnRhbCBsaW5lIjogIkhvcml6b250YWwgTGlubiIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcml6b250YWxlbiBFc3BhY2UiLAoiQiI6ICJCIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJCaWxkIGFmXHUwMGZjZ2VuXC9cdTAwZTRubmVyZW4iLAoiR2VuZXJhbCI6ICJBbGxnZW1lbmciLAoiQWR2YW5jZWQiOiAiRXJ3ZWlkZXJ0IiwKIkciOiAiRyIsCiJSIjogIlIiLAoiU291cmNlIjogIlF1ZWxsIiwKIkJvcmRlciI6ICJSYW5kIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJQcm9wb3J0aW91bmUgYlx1MDBlNGliZWhhbGVuIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa2FsZW4gRXNwYWNlIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkJpbGRiZXNjaHJlaXd1bmciLAoiU3R5bGUiOiAiU3RpbCIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvdW5lbiIsCiJJbnNlcnQgaW1hZ2UiOiAiQmlsZCBhZlx1MDBmY2dlbiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJEYXR1bVwvWlx1MDBlNGl0IGRyYXNldHplbiIsCiJSZW1vdmUgbGluayI6ICJMaW5rIGxcdTAwZTRzY2hlbiIsCiJVcmwiOiAiVVJMIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IGRlZW4gdW56ZXdlaXNlbiBhc3MiLAoiQW5jaG9ycyI6ICJBbmtlcmVuIiwKIkluc2VydCBsaW5rIjogIkxpbmsgZHJhc2V0emVuIiwKIk5ldyB3aW5kb3ciOiAiTmVpIEZcdTAwZWJuc3RlciIsCiJOb25lIjogIktlZW4iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkQnVVJMIGRcdTAwZTlpIHMgZHUgYWdpbm4gaHVlcyBzY2hcdTAwZTluZ3QgZW4gZXh0ZXJuZSBMaW5rIHplIHNpbm4uIFdcdTAwZWJsbHMgZHUgZGVuIFwiaHR0cDpcL1wvXCItUHJcdTAwZTRmaXggZG9iXHUwMGU0aXNldHplbj8iLAoiVGFyZ2V0IjogIlppbCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkQnVVJMIGRcdTAwZTlpIHMgZHUgYWdpbm4gaHVlcyBzY2hcdTAwZTluZ3QgZW5nIEVtYWlsLUFkcmVzcyB6ZSBzaW5uLiBXXHUwMGVibGxzIGR1IGRlIFwibWFpbHRvOlwiLVByXHUwMGU0Zml4IGRvYlx1MDBlNGlzZXR6ZW4/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkxpbmsgZHJhc2V0emVuXC9cdTAwZTRubmVyZW4iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvIGRyYXNldHplblwvXHUwMGU0bm5lcmVuIiwKIlBvc3RlciI6ICJQb3VzdGVyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2IFF1ZWxsIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiQWJhbm51bmdzY29kZSBoZWkgYXBlY2hlbjoiLAoiSW5zZXJ0IHZpZGVvIjogIlZpZGVvIGRyYXNldHplbiIsCiJFbWJlZCI6ICJBYmFubmVuIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5ldFx1MDBlYm1icmllY2hlbmRlbiBFc3BhY2UiLAoiUGFnZSBicmVhayI6ICJTXHUwMGU0aXRlblx1MDBlYm1icm9jaCIsCiJQYXN0ZSBhcyB0ZXh0IjogIkFscyBUZXh0IGFwZWNoZW4iLAoiUHJldmlldyI6ICJLdWNrZW4iLAoiUHJpbnQiOiAiRHJcdTAwZTlja2VuIiwKIlNhdmUiOiAiU3BcdTAwZTRpY2hlcmVuIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJEZW4gVGV4dCBrb25udCBuZXQgZm9ubnQgZ2lubi4iLAoiUmVwbGFjZSI6ICJFcnNldHplbiIsCiJOZXh0IjogIldlaWRlciIsCiJXaG9sZSB3b3JkcyI6ICJHYW56IFdpZXJkZXIiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJGYW5uZW4gYW4gZXJzZXR6ZW4iLAoiUmVwbGFjZSB3aXRoIjogIkVyc2V0emUgbWF0IiwKIkZpbmQiOiAiRmFubmVuIiwKIlJlcGxhY2UgYWxsIjogIkFsbCBlcnNldHplbiIsCiJNYXRjaCBjYXNlIjogIkdyb3Vzcy1cL0tsZW5nc2NocmVpd3VuZyByZXNwZWt0XHUwMGU5aWVyZW4iLAoiUHJldiI6ICJaclx1MDBlOWNrIiwKIlNwZWxsY2hlY2siOiAiVmVyYmVzc2VyZW4iLAoiRmluaXNoIjogIk9mc2NobFx1MDBlOWlzc2VuIiwKIklnbm9yZSBhbGwiOiAiQWxsIGlnbm9yXHUwMGU5aWVyZW4iLAoiSWdub3JlIjogIklnbm9yXHUwMGU5aWVyZW4iLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQW4gZGVuIERpY3Rpb25uYWlyZSBhbmRyb2VuIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlJlaSB2aXJkcnVuIGRyYXNldHplbiIsCiJSb3dzIjogIlJlaWVuIiwKIkhlaWdodCI6ICJIXHUwMGU5aWNodCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiUmVpIGhlcm5vIGFwZWNoZW4iLAoiQWxpZ25tZW50IjogIkFsaWduXHUwMGU5aWVydW5nIiwKIkJvcmRlciBjb2xvciI6ICJSdW1tLUZhYXJmIiwKIkNvbHVtbiBncm91cCI6ICJLb2xvbm5lZ3J1cHAiLAoiUm93IjogIlJlaSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJLb2xvbm4gdmlyZHJ1biBkcmFzZXR6ZW4iLAoiU3BsaXQgY2VsbCI6ICJaZWxsIG9wc3BsXHUwMGU5Y2tlbiIsCiJDZWxsIHBhZGRpbmciOiAiWmVsbGVub3BmXHUwMGVibGx1bmciLAoiQ2VsbCBzcGFjaW5nIjogIlplbGxlbm9mc3RhbmQiLAoiUm93IHR5cGUiOiAiUmVpZW50eXAiLAoiSW5zZXJ0IHRhYmxlIjogIlRhYmVsbCBkcmFzZXR6ZW4iLAoiQm9keSI6ICJLaWVycGVyIiwKIkNhcHRpb24iOiAiQmVzY2hyXHUwMGViZnR1bmciLAoiRm9vdGVyIjogIkZvdXNzIiwKIkRlbGV0ZSByb3ciOiAiUmVpIGxcdTAwZTRzY2hlbiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlJlaSB2aXJkcnVuIGFwZWNoZW4iLAoiU2NvcGUiOiAiQmVyXHUwMGU0aWNoIiwKIkRlbGV0ZSB0YWJsZSI6ICJUYWJlbGwgbFx1MDBlNHNjaGVuIiwKIkggQWxpZ24iOiAiSC1BbGlnblx1MDBlOWllcnVuZyIsCiJUb3AiOiAiVWV3ZW4iLAoiSGVhZGVyIGNlbGwiOiAiS2FwcHplbGwiLAoiQ29sdW1uIjogIktvbG9ubiIsCiJSb3cgZ3JvdXAiOiAiUmVpZWdydXBwIiwKIkNlbGwiOiAiWmVsbCIsCiJNaWRkbGUiOiAiTVx1MDBlYnR0IiwKIkNlbGwgdHlwZSI6ICJaZWxsZW50eXAiLAoiQ29weSByb3ciOiAiUmVpIGtvcFx1MDBlOWllcmVuIiwKIlJvdyBwcm9wZXJ0aWVzIjogIkVlZ2VzY2hhZnRlIHZ1IFJlaWVuIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiRWVnZXNjaGFmdGUgdnVuIFRhYmVsbGVuIiwKIkJvdHRvbSI6ICJcdTAwY2JubmVuIiwKIlYgQWxpZ24iOiAiVi1BbGlnblx1MDBlOWllcnVuZyIsCiJIZWFkZXIiOiAiS2FwcCIsCiJSaWdodCI6ICJSaWV0cyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIktvbG9ubiBoZXJubyBkcmFzZXR6ZW4iLAoiQ29scyI6ICJLb2xvbm5lbiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlJlaSBoZXJubyBkcmFzZXR6ZW4iLAoiV2lkdGgiOiAiQnJlZXQiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkVlZ2VzY2hhZnRlIHZ1biBaZWxsZW4iLAoiTGVmdCI6ICJMXHUwMGU5bmtzIiwKIkN1dCByb3ciOiAiUmVpIGF1c3NjaG5laWRlbiIsCiJEZWxldGUgY29sdW1uIjogIktvbG9ubiBsXHUwMGU0c2NoZW4iLAoiQ2VudGVyIjogIk1cdTAwZWJ0dCIsCiJNZXJnZSBjZWxscyI6ICJaZWxsZSBmdXNpb25cdTAwZTlpZXJlbiIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVmlybGFnIGRyYXNldHplbiIsCiJUZW1wbGF0ZXMiOiAiVmlybGFnZW4iLAoiQmFja2dyb3VuZCBjb2xvciI6ICJIYW5uZGVyZ3JvbmRmYWFyZiIsCiJDdXN0b20uLi4iOiAiRWVnZW4uLi4iLAoiQ3VzdG9tIGNvbG9yIjogIkVlZ2UgRmFhcmYiLAoiTm8gY29sb3IiOiAiS2VuZyBGYWFyZiIsCiJUZXh0IGNvbG9yIjogIlRleHRmYWFyZiIsCiJTaG93IGJsb2NrcyI6ICJCbFx1MDBlOWNrIHdlaXNlbiIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIk9uc2lpY2h0YmFyIFplZWNoZSB3ZWlzZW4iLAoiV29yZHM6IHswfSI6ICJXaWVyZGVyOiB7MH0iLAoiSW5zZXJ0IjogIkRyYXNldHplbiIsCiJGaWxlIjogIkZpY2hpZXIiLAoiRWRpdCI6ICJcdTAwYzRubmVyZW4iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiQmVyXHUwMGU0aWNoIGZpciBmb3JtYXRcdTAwZTlpZXJ0ZW4gVGV4dC4gRHJcdTAwZTljayBBTFQrRjkgZmlyIGRlIE1lblx1MDBmYy4gRHJcdTAwZTljayBBTFQrRjEwIGZpciBkJ0dlc2NoaXJsZWVzY2h0LiBEclx1MDBlOWNrIEFMVCswIGZpciBkJ0hcdTAwZWJsbGVmLiIsCiJUb29scyI6ICJHZXNjaGlyIiwKIlZpZXciOiAiS3Vja2VuIiwKIlRhYmxlIjogIlRhYmVsbCIsCiJGb3JtYXQiOiAiRm9ybWF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/lt.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdsdCcsewoiQ3V0IjogIklcdTAxNjFraXJwdGkiLAoiSGVhZGluZyA1IjogIkFudHJhXHUwMTYxdFx1MDExNyA1IiwKIkhlYWRlciAyIjogIkFudHJhXHUwMTYxdFx1MDExNyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIk5hclx1MDE2MXlrbFx1MDExN3MgbnVzdGF0eW1haSBuZWxlaWRcdTAxN2VpYSByZWRha3Rvcml1aSB0aWVzaW9naWFpIHBhc2lla3RpIGxhaWtpbm9zaW9zIGF0bWludGllcy4gUHJhXHUwMTYxb21lIG5hdWRvdGkga2xhdmlhdFx1MDE2YnJvcyBrbGF2aVx1MDE2MXVzIEN0cmwrWFwvQ1wvVi4iLAoiSGVhZGluZyA0IjogIkFudHJhXHUwMTYxdFx1MDExNyA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIkFudHJhXHUwMTYxdFx1MDExNyAyIiwKIlBhc3RlIjogIlx1MDEyZWRcdTAxMTd0aSIsCiJDbG9zZSI6ICJVXHUwMTdlZGFyeXRpIiwKIkZvbnQgRmFtaWx5IjogIlx1MDE2MHJpZnRhcyIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIkx5Z2l1b3RpIGRlXHUwMTYxaW5cdTAxMTdqZSIsCiJOZXcgZG9jdW1lbnQiOiAiTmF1amFzIGRva3VtZW50YXMiLAoiQmxvY2txdW90ZSI6ICJDaXRhdGEiLAoiTnVtYmVyZWQgbGlzdCI6ICJTa2FpdG1lbmluaXMgc1x1MDEwNXJhXHUwMTYxYXMiLAoiSGVhZGluZyAxIjogIkFudHJhXHUwMTYxdFx1MDExNyAxIiwKIkhlYWRpbmdzIjogIkFudHJhXHUwMTYxdFx1MDExN3MiLAoiSW5jcmVhc2UgaW5kZW50IjogIkRpZGludGkgXHUwMTJmdHJhdWtcdTAxMDUiLAoiRm9ybWF0cyI6ICJGb3JtYXRhaSIsCiJIZWFkZXJzIjogIkFudHJhXHUwMTYxdFx1MDExN3MiLAoiU2VsZWN0IGFsbCI6ICJQYVx1MDE3ZXltXHUwMTE3dGkgdmlza1x1MDEwNSIsCiJIZWFkZXIgMyI6ICJBbnRyYVx1MDE2MXRcdTAxMTcgMyIsCiJCbG9ja3MiOiAiQmxva2FpIiwKIlVuZG8iOiAiQXRzdGF0eXRpIiwKIlN0cmlrZXRocm91Z2giOiAiUGVyYnJhdWt0YXMiLAoiQnVsbGV0IGxpc3QiOiAiXHUwMTdkZW5rbGluaW1vIHNcdTAxMDVyYVx1MDE2MWFzIiwKIkhlYWRlciAxIjogIkFudHJhXHUwMTYxdFx1MDExNyAxIiwKIlN1cGVyc2NyaXB0IjogIlZpclx1MDE2MXV0aW5pcyBpbmRla3NhcyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIk5haWtpbnRpIGZvcm1hdGF2aW1cdTAxMDUiLAoiRm9udCBTaXplcyI6ICJcdTAxNjByaWZ0byBkeWRcdTAxN2VpYWkiLAoiU3Vic2NyaXB0IjogIkFwYXRpbmlzIGluZGVrc2FzIiwKIkhlYWRlciA2IjogIkFudHJhXHUwMTYxdFx1MDExNyA2IiwKIlJlZG8iOiAiR3JcdTAxMDVcdTAxN2VpbnRpIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZmFzIiwKIk9rIjogIkdlcmFpIiwKIkJvbGQiOiAiUGFyeVx1MDE2MWtpbnRhcyIsCiJDb2RlIjogIktvZGFzIiwKIkl0YWxpYyI6ICJLdXJzeXZpbmlzIiwKIkFsaWduIGNlbnRlciI6ICJDZW50cnVvdGkiLAoiSGVhZGVyIDUiOiAiQW50cmFcdTAxNjF0XHUwMTE3IDUiLAoiSGVhZGluZyA2IjogIkFudHJhXHUwMTYxdFx1MDExNyA2IiwKIkhlYWRpbmcgMyI6ICJBbnRyYVx1MDE2MXRcdTAxMTcgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTWFcdTAxN2VpbnRpIFx1MDEyZnRyYXVrXHUwMTA1IiwKIkhlYWRlciA0IjogIkFudHJhXHUwMTYxdFx1MDExNyA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJEYWJhciBcdTAxMmZ0ZXJwaWFtYSBwYXByYXN0b2pvIHRla3N0byByZVx1MDE3ZWltdS4gS29sIFx1MDE2MWkgcGFyaW5rdGlzIFx1MDEyZmp1bmd0YSwgdHVyaW55cyBidXMgXHUwMTJmdGVycHRhcyBrYWlwIHBhcHJhc3RhcyB0ZWtzdGFzLiIsCiJVbmRlcmxpbmUiOiAiUGFicmF1a3RhcyIsCiJDYW5jZWwiOiAiQXRzaXNha3l0aSIsCiJKdXN0aWZ5IjogIklcdTAxNjFkXHUwMTE3c3R5dGkgcGVyIHZpc1x1MDEwNSBwbG90XHUwMTJmIiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJLb3BpanVvdGkiLAoiQWxpZ24gbGVmdCI6ICJMeWdpdW90aSBrYWlyXHUwMTE3amUiLAoiVmlzdWFsIGFpZHMiOiAiVmFpemRpblx1MDExN3MgcHJpZW1vblx1MDExN3MiLAoiTG93ZXIgR3JlZWsiOiAiTWFcdTAxN2Vvc2lvcyBncmFpa1x1MDE3MyIsCiJTcXVhcmUiOiAiS3ZhZHJhdGFzIiwKIkRlZmF1bHQiOiAiUGFncmluZGluaXMiLAoiTG93ZXIgQWxwaGEiOiAiTWFcdTAxN2Vvc2lvcyByYWlkXHUwMTE3cyIsCiJDaXJjbGUiOiAiQXBza3JpdGltYXMiLAoiRGlzYyI6ICJEaXNrYXMiLAoiVXBwZXIgQWxwaGEiOiAiRGlkXHUwMTdlaW9zaW9zIHJhaWRcdTAxMTdzIiwKIlVwcGVyIFJvbWFuIjogIkRpZFx1MDE3ZWlvc2lvcyByb21cdTAxMTduXHUwMTczIiwKIkxvd2VyIFJvbWFuIjogIk1hXHUwMTdlb3Npb3Mgcm9tXHUwMTE3blx1MDE3MyIsCiJOYW1lIjogIlBhdmFkaW5pbWFzIiwKIkFuY2hvciI6ICJcdTAxN2R5bVx1MDExNyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlR1cml0ZSBuZWlcdTAxNjFzYXVnb3RcdTAxNzMgcGFrZWl0aW1cdTAxNzMhIEFyIHRpa3JhaSBub3JpdGUgaVx1MDE2MWVpdGk/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJBdHN0YXR5dGkgcGFza3V0aW5cdTAxMmYgcHJvamVrdFx1MDEwNSIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJTcGVjaWFsdXMgc2ltYm9saXMiLAoiU291cmNlIGNvZGUiOiAiUGlybWluaXMgXHUwMTYxYWx0aW5pcyIsCiJDb2xvciI6ICJTcGFsdmEiLAoiUmlnaHQgdG8gbGVmdCI6ICJJXHUwMTYxIGRlXHUwMTYxaW5cdTAxMTdzIFx1MDEyZiBrYWlyXHUwMTE5IiwKIkxlZnQgdG8gcmlnaHQiOiAiSVx1MDE2MSBrYWlyXHUwMTE3cyBcdTAxMmYgZGVcdTAxNjFpblx1MDExOSIsCiJFbW90aWNvbnMiOiAiSmF1c3R1a2FpIiwKIlJvYm90cyI6ICJSb2JvdGFpIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9rdW1lbnRvIHNhdnliXHUwMTE3cyIsCiJUaXRsZSI6ICJQYXZhZGluaW1hcyIsCiJLZXl3b3JkcyI6ICJcdTAxN2R5bW9zIiwKIkVuY29kaW5nIjogIktvZGF2aW1hcyIsCiJEZXNjcmlwdGlvbiI6ICJBcHJhXHUwMTYxYXMiLAoiQXV0aG9yIjogIkF1dG9yaXVzIiwKIkZ1bGxzY3JlZW4iOiAiVmlzYXMgZWtyYW5hcyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbGkgbGluaWphIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbHVzIHRhcnBhcyIsCiJCIjogIkIiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDEyZXRlcnB0aXxUdmFya3l0aSBwYXZlaWtzbFx1MDExN2xcdTAxMmYiLAoiR2VuZXJhbCI6ICJCZW5kcmEiLAoiQWR2YW5jZWQiOiAiSVx1MDE2MXBsXHUwMTE3c3RhcyIsCiJHIjogIkciLAoiUiI6ICJSIiwKIlNvdXJjZSI6ICJQaXJtaW5cdTAxMTcgbnVvcm9kYSIsCiJCb3JkZXIiOiAiUlx1MDExN21lbGlzIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJMYWlreXRpcyBwcm9wb3JjaWpcdTAxNzMiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWx1cyB0YXJwYXMiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiUGF2ZWlrc2xcdTAxMTdsaW8gYXByYVx1MDE2MWFzIiwKIlN0eWxlIjogIlN0aWxpdXMiLAoiRGltZW5zaW9ucyI6ICJNYXRtZW55cyIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwMTJldGVycHRpIHBhdmVpa3NsXHUwMTE3bFx1MDEyZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTAxMmV0ZXJwdGkgZGF0XHUwMTA1XC9sYWlrXHUwMTA1IiwKIlJlbW92ZSBsaW5rIjogIlx1MDE2MGFsaW50aSBudW9yb2RcdTAxMDUiLAoiVXJsIjogIk51b3JvZGEiLAoiVGV4dCB0byBkaXNwbGF5IjogIlJvZG9tYXMgdGVrc3RhcyIsCiJBbmNob3JzIjogIlx1MDE3ZHltXHUwMTE3IiwKIkluc2VydCBsaW5rIjogIlx1MDEyZXRlcnB0aSBudW9yb2RcdTAxMDUiLAoiTmV3IHdpbmRvdyI6ICJOYXVqYXMgbGFuZ2FzIiwKIk5vbmUiOiAiTmlla28iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkF0cm9kbywga2FkIFx1MDEyZnZlZFx1MDExN3RlIG51b3RvbGluXHUwMTE5IG51b3JvZFx1MDEwNS4gQXIgbm9yaXRlIHByaWVcdTAxNjEgalx1MDEwNSBcdTAxMmZ2ZXN0aSByZWlrYWxhdWphbVx1MDEwNSBcdTIwMWVodHRwOlwvXC9cdTIwMWM/IiwKIlRhcmdldCI6ICJUaWtzbGluXHUwMTE3IG51b3JvZGEiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJBdHJvZG8sIGthZCBcdTAxMmZ2ZXN0YSBudW9yb2RhIHlyYSBlbGVrdHJvbmluaW8gcGFcdTAxNjF0byBhZHJlc2FzLiBBciBwcmFkXHUwMTdlaW9qZSBub3JpdGUgXHUwMTJmdmVzdGkgcmVpa2FsYXVqYW1cdTAxMDUgXHUyMDFlbWFpbHRvOlx1MjAxYz8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwMTJldGVycHRpXC90YWlzeXRpIG51b3JvZFx1MDEwNSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwMTJldGVycHRpXC90dmFya3l0aSB2aWRlbyIsCiJQb3N0ZXIiOiAiUGxha2F0YXMiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0eXZ1cyBcdTAxNjFhbHRpbmlzIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwMTJldGVycGtpdGUga29kXHUwMTA1IFx1MDE3ZWVtaWF1OiIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwMTJldGVycHRpIHZpZGVvIiwKIkVtYmVkIjogIlx1MDEyZXRlcnB0aSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOZXBlcnRyYXVraWFtb3MgdmlldG9zIiwKIlBhZ2UgYnJlYWsiOiAiUHVzbGFwaW8gc2tpcnR1a2FzIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwMTJla2xpanVvdGkga2FpcCB0ZWtzdFx1MDEwNSIsCiJQcmV2aWV3IjogIlBlclx1MDE3ZWlcdTAxNmJyYSIsCiJQcmludCI6ICJTcGF1c2RpbnRpIiwKIlNhdmUiOiAiSVx1MDE2MXNhdWdvdGkiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5lcGF2eWtvIHJhc3RpIG51cm9keXRvcyBlaWx1dFx1MDExN3MuIiwKIlJlcGxhY2UiOiAiUGFrZWlzdGkiLAoiTmV4dCI6ICJTZWthbnRpcyIsCiJXaG9sZSB3b3JkcyI6ICJWaXN1cyBcdTAxN2VvZFx1MDE3ZWl1cyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlN1cmFzdGkgaXIgcGFrZWlzdGkiLAoiUmVwbGFjZSB3aXRoIjogIkt1byBwYWtlaXN0aSIsCiJGaW5kIjogIkllXHUwMTYxa290aSIsCiJSZXBsYWNlIGFsbCI6ICJQYWtlaXN0aSB2aXNrXHUwMTA1IiwKIk1hdGNoIGNhc2UiOiAiQXRpdGlua2FtdXMiLAoiUHJldiI6ICJBbmtzdGVzbmlzIiwKIlNwZWxsY2hlY2siOiAiUmFcdTAxNjF5Ym9zIHRpa3JpbmltYXMiLAoiRmluaXNoIjogIkJhaWd0aSIsCiJJZ25vcmUgYWxsIjogIklnbm9ydW90aSB2aXNrXHUwMTA1IiwKIklnbm9yZSI6ICJJZ25vcnVvdGkiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiUHJpZFx1MDExN3RpIFx1MDEyZiBcdTAxN2RvZHluXHUwMTA1IiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDEyZXRlcnB0aSBlaWx1dFx1MDExOSBwcmllXHUwMTYxIiwKIlJvd3MiOiAiRWlsdXRcdTAxMTdzIiwKIkhlaWdodCI6ICJBdWtcdTAxNjF0aXMiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDEyZWRcdTAxMTd0aSBlaWx1dFx1MDExOSBwbyIsCiJBbGlnbm1lbnQiOiAiTHlnaWF2aW1hcyIsCiJCb3JkZXIgY29sb3IiOiAiU2llblx1MDE3MyBzcGFsdmEiLAoiQ29sdW1uIGdyb3VwIjogIlN0dWxwZWxpXHUwMTczIGdydXBcdTAxMTciLAoiUm93IjogIkVpbHV0XHUwMTE3cyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTAxMmV0ZXJwdGkgc3R1bHBlbFx1MDEyZiBwcmllXHUwMTYxIiwKIlNwbGl0IGNlbGwiOiAiU2thaWR5dGkgbGFuZ2VsaXVzIiwKIkNlbGwgcGFkZGluZyI6ICJUYXJwYXMgbnVvIGxhbmdlbGlvIGlraSB0ZWtzdG8iLAoiQ2VsbCBzcGFjaW5nIjogIlRhcnBhcyB0YXJwIGxhbmdlbGlcdTAxNzMiLAoiUm93IHR5cGUiOiAiRWlsdVx1MDEwZGlcdTAxNzMgdGlwYXMiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDEyZXRlcnB0aSBsZW50ZWxcdTAxMTkiLAoiQm9keSI6ICJUdXJpbnlzIiwKIkNhcHRpb24iOiAiQW50cmFcdTAxNjF0XHUwMTE3IiwKIkZvb3RlciI6ICJBcGFcdTAxMGRpYSIsCiJEZWxldGUgcm93IjogIk5haWtpbnRpIGVpbHV0XHUwMTE5IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwMTJlZFx1MDExN3RpIGVpbHV0XHUwMTE5IHByaWVcdTAxNjEiLAoiU2NvcGUiOiAiU3RydWt0XHUwMTZicmEiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDE2MGFsaW50aSBsZW50ZWxcdTAxMTkiLAoiSCBBbGlnbiI6ICJIIEx5Z2lhdmltYXMiLAoiVG9wIjogIlZpclx1MDE2MXVqZSIsCiJIZWFkZXIgY2VsbCI6ICJBbnRyYVx1MDE2MXRcdTAxMTdzIGxhbmdlbGlzIiwKIkNvbHVtbiI6ICJTdHVscGVsaXMiLAoiUm93IGdyb3VwIjogIkVpbHVcdTAxMGRpXHUwMTczIGdydXBcdTAxMTciLAoiQ2VsbCI6ICJMYW5nZWxpYWkiLAoiTWlkZGxlIjogIlZpZHVyeWplIiwKIkNlbGwgdHlwZSI6ICJMYW5nZWxpbyB0aXBhcyIsCiJDb3B5IHJvdyI6ICJLb3BpanVvdGkgZWlsdXRcdTAxMTkiLAoiUm93IHByb3BlcnRpZXMiOiAiRWlsdXRcdTAxMTdzIHNhdnliXHUwMTE3cyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIkxlbnRlbFx1MDExN3Mgc2F2eWJcdTAxMTdzIiwKIkJvdHRvbSI6ICJBcGFcdTAxMGRpb2plIiwKIlYgQWxpZ24iOiAiViBMeWdpYXZpbWFzIiwKIkhlYWRlciI6ICJBbnRyYVx1MDE2MXRcdTAxMTciLAoiUmlnaHQiOiAiRGVcdTAxNjFpblx1MDExNyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MDEyZXRlcnB0aSBzdHVscGVsXHUwMTJmIHBvIiwKIkNvbHMiOiAiU3R1bHBlbGlhaSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlx1MDEyZXRlcnB0aSBlaWx1dFx1MDExOSBwbyIsCiJXaWR0aCI6ICJQbG90aXMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkxhbmdlbGlvIHNhdnliXHUwMTE3cyIsCiJMZWZ0IjogIkthaXJcdTAxMTciLAoiQ3V0IHJvdyI6ICJJXHUwMTYxa2lycHRpIGVpbHV0XHUwMTE5IiwKIkRlbGV0ZSBjb2x1bW4iOiAiTmFpa2ludGkgc3R1bHBlbFx1MDEyZiIsCiJDZW50ZXIiOiAiQ2VudHJhcyIsCiJNZXJnZSBjZWxscyI6ICJTdWp1bmd0aSBsYW5nZWxpdXMiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDEyZXRlcnB0aSBcdTAxNjFhYmxvblx1MDEwNSIsCiJUZW1wbGF0ZXMiOiAiXHUwMTYwYWJsb25haSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkZvbm8gc3BhbHZhIiwKIkN1c3RvbS4uLiI6ICJQYXNpcmlua3RpbmFzLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJQYXNpcmlua3RpbmEgc3BhbHZhIiwKIk5vIGNvbG9yIjogIkpva2lvcyBzcGFsdm9zIiwKIlRleHQgY29sb3IiOiAiVGVrc3RvIHNwYWx2YSIsCiJTaG93IGJsb2NrcyI6ICJSb2R5dGkgYmxva3VzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiUm9keXRpIG5lbWF0b211cyBzaW1ib2xpdXMiLAoiV29yZHM6IHswfSI6ICJcdTAxN2RvZFx1MDE3ZWlhaTogezB9IiwKIkluc2VydCI6ICJcdTAxMmV0ZXJwdGkiLAoiRmlsZSI6ICJGYWlsYXMiLAoiRWRpdCI6ICJSZWRhZ3VvdGkiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiU3Vmb3JtYXR1b3RvIHRla3N0byBsYXVrYXMuIERcdTAxMTdsIG1lbml1IHNwYXVza2l0ZSBBTFQtRjkuIFVcdTAxN2VkdW9cdTAxMGRpXHUwMTczIGp1b3N0b3MgXHUwMTJmanVuZ2ltdWkgc3BhdXNraXRlIEFMVC1GMTAuIFBhZ2FsYmFpIC0gc3BhdXNraXRlIEFMVC0wLiIsCiJUb29scyI6ICJcdTAxMmVyYW5raWFpIiwKIlZpZXciOiAiUGVyXHUwMTdlaVx1MDE2YnJhIiwKIlRhYmxlIjogIkxlbnRlbFx1MDExNyIsCiJGb3JtYXQiOiAiRm9ybWF0YXMiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/lv.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdsdicsewoiQ3V0IjogIkl6Z3JpZXp0IiwKIkhlYWRpbmcgNSI6ICI1LmxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJIZWFkZXIgMiI6ICJPdHJcdTAxMDEgbFx1MDEyYm1lXHUwMTQ2YSB2aXJzcmFrc3RzIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIkpcdTAxNmJzdSBwXHUwMTAxcmxcdTAxNmJrcHJvZ3JhbW1hIG5lYXRiYWxzdGEgcGlla1x1MDEzY3V2aSBzdGFycGxpa3R1dmVpLiBMXHUwMTZiZHp1IGl6bWFudG9qaWV0IEN0cmwrWFwvQ1wvViBrbGF2aWF0XHUwMTZicmFzIHNhXHUwMTJic25lcy4iLAoiSGVhZGluZyA0IjogIjQubFx1MDEyYm1lXHUwMTQ2YSB2aXJzcmFrc3RzIiwKIkRpdiI6ICJEaXYgZWxlbWVudHMiLAoiSGVhZGluZyAyIjogIjIubFx1MDEyYm1lXHUwMTQ2YSB2aXJzcmFrc3RzIiwKIlBhc3RlIjogIkllbFx1MDEyYm1cdTAxMTN0IiwKIkNsb3NlIjogIkFpenZcdTAxMTNydCIsCiJGb250IEZhbWlseSI6ICJGb250dSBzYWltZSIsCiJQcmUiOiAiUHJlIGVsZW1lbnRzIiwKIkFsaWduIHJpZ2h0IjogIkxcdTAxMmJkemluXHUwMTAxdCBwYSBsYWJpIiwKIk5ldyBkb2N1bWVudCI6ICJKYXVucyBkb2t1bWVudHMiLAoiQmxvY2txdW90ZSI6ICJDaXRcdTAxMDF0cyIsCiJOdW1iZXJlZCBsaXN0IjogIk51bXVyXHUwMTEzdHMgc2FyYWtzdHMiLAoiSGVhZGluZyAxIjogIjEuIGxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJIZWFkaW5ncyI6ICJWaXJzcmFrc3RpIiwKIkluY3JlYXNlIGluZGVudCI6ICJQYWxpZWxpblx1MDEwMXQgYXRrXHUwMTAxcGkiLAoiRm9ybWF0cyI6ICJGb3JtXHUwMTAxdGkiLAoiSGVhZGVycyI6ICJWaXJzcmFrc3RpIiwKIlNlbGVjdCBhbGwiOiAiSWV6XHUwMTJibVx1MDExM3QiLAoiSGVhZGVyIDMiOiAiVHJlXHUwMTYxXHUwMTAxIGxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJCbG9ja3MiOiAiQmxva2EgZWxlbWVudHMiLAoiVW5kbyI6ICJBdHNhdWt0IiwKIlN0cmlrZXRocm91Z2giOiAiUFx1MDEwMXJzdlx1MDEyYnRyb3QiLAoiQnVsbGV0IGxpc3QiOiAiTmVudW11ZXJcdTAxMTN0cyBzYXJha3N0cyIsCiJIZWFkZXIgMSI6ICJQaXJtXHUwMTAxIGxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJTdXBlcnNjcmlwdCI6ICJBdWdcdTAxNjFyYWtzdHMiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJOb1x1MDE0NmVtdCBmb3JtYXRcdTAxMTNqdW11IiwKIkZvbnQgU2l6ZXMiOiAiRm9udGEgaXptXHUwMTEzcmkiLAoiU3Vic2NyaXB0IjogIkFwYWtcdTAxNjFyYWtzdHMiLAoiSGVhZGVyIDYiOiAiU2VzdFx1MDEwMSBsXHUwMTJibWVcdTAxNDZhIHZpcnNyYWtzdHMiLAoiUmVkbyI6ICJBdGNlbHQgYXRzYXVrXHUwMTYxYW51IiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JcdTAxMDFmcyIsCiJPayI6ICJMYWJpIiwKIkJvbGQiOiAiVHJla25yYWtzdHMiLAoiQ29kZSI6ICJLb2RhIGVsZW1lbnRzIiwKIkl0YWxpYyI6ICJLdXJzXHUwMTJidnMiLAoiQWxpZ24gY2VudGVyIjogIkNlbnRyXHUwMTEzdCIsCiJIZWFkZXIgNSI6ICJQaWVrdFx1MDEwMSBsXHUwMTJibWVcdTAxNDZhIHZpcnNyYWtzdHMiLAoiSGVhZGluZyA2IjogIjYubFx1MDEyYm1lXHUwMTQ2YSB2aXJzcmFrc3RzIiwKIkhlYWRpbmcgMyI6ICIzLmxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiU2FtYXppblx1MDEwMXQgYXRrXHUwMTAxcGkiLAoiSGVhZGVyIDQiOiAiQ2V0dXJ0XHUwMTAxIGxcdTAxMmJtZVx1MDE0NmEgdmlyc3Jha3N0cyIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiSWVsXHUwMTJibVx1MDExM1x1MDE2MWFuYSB0YWdhZCBpciB2aWVua1x1MDEwMXJcdTAxNjF0ZWtzdGEgcmVcdTAxN2VcdTAxMmJtXHUwMTAxLiBTYXR1cnMgdGlrcyBpZWxcdTAxMmJtXHUwMTEzdHMga1x1MDEwMSB2aWVua1x1MDEwMXJcdTAxNjF0ZWtzdHMsIGxcdTAxMmJkeiBcdTAxNjFcdTAxMmIgb3BjaWphIHRpa3MgYXRzbFx1MDExM2d0YS4iLAoiVW5kZXJsaW5lIjogIlBhc3ZcdTAxMmJ0cm90IiwKIkNhbmNlbCI6ICJBdGNlbHQiLAoiSnVzdGlmeSI6ICJMXHUwMTJiZHppblx1MDEwMXQgYWJhcyBtYWxhcyIsCiJJbmxpbmUiOiAiUmluZGlcdTAxNDZhcyBlbGVtZW50cyIsCiJDb3B5IjogIktvcFx1MDExM3QiLAoiQWxpZ24gbGVmdCI6ICJMXHUwMTJiZHppblx1MDEwMXQgcGEga3JlaXNpIiwKIlZpc3VhbCBhaWRzIjogIlV6c2thdGVzIGxcdTAxMmJkemVrXHUwMTNjaSIsCiJMb3dlciBHcmVlayI6ICJHcmllXHUwMTM3dSBtYXppZSBidXJ0aSIsCiJTcXVhcmUiOiAiS3ZhZHJcdTAxMDF0cyIsCiJEZWZhdWx0IjogIk5va2x1c1x1MDExM2p1bWEiLAoiTG93ZXIgQWxwaGEiOiAiTGF0XHUwMTJiXHUwMTQ2dSBtYXppZSBidXJ0aSIsCiJDaXJjbGUiOiAiQXBsaXMiLAoiRGlzYyI6ICJEaXNrcyIsCiJVcHBlciBBbHBoYSI6ICJMYXRcdTAxMmJcdTAxNDZ1IGxpZWxpZSBidXJ0aSIsCiJVcHBlciBSb21hbiI6ICJSb21pZVx1MDE2MXUgbGllbGllIGJ1cnRpIiwKIkxvd2VyIFJvbWFuIjogIlJvbWllXHUwMTYxdSBtYXppZSBidXJ0aSIsCiJOYW1lIjogIlZcdTAxMDFyZHMiLAoiQW5jaG9yIjogIkVua3VyZWxlbWVudHMiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJKdW1zIGlyIG5lc2FnbGFiXHUwMTAxdGFzIGl6bWFpXHUwMTQ2YXMsIGVzYXQgZHJvXHUwMTYxcywga2Egdlx1MDExM2xhdGllcyBkb3RpZXMgcHJvbSIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiQXRqYXVub3QgcFx1MDExM2RcdTAxMTNqbyBtZWxucmFrc3R1IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDEyYXBhXHUwMTYxYWlzIHNpbWJvbHMiLAoiU291cmNlIGNvZGUiOiAiUGlybWtvZHMiLAoiQ29sb3IiOiAiS3JcdTAxMDFzYSIsCiJSaWdodCB0byBsZWZ0IjogIk5vIGxhYlx1MDEwMXMgdXoga3JlaXNvIiwKIkxlZnQgdG8gcmlnaHQiOiAiTm8ga3JlaXNcdTAxMDFzIHV6IGxhYm8iLAoiRW1vdGljb25zIjogIkVtb2NpamFzIiwKIlJvYm90cyI6ICJQcm9ncmFtbWFzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9rdW1lbnRhIHV6c3RcdTAxMDFkXHUwMTJianVtaSIsCiJUaXRsZSI6ICJOb3NhdWt1bXMiLAoiS2V5d29yZHMiOiAiQXRzbFx1MDExM2d2XHUwMTAxcmRpIiwKIkVuY29kaW5nIjogIktvZFx1MDExM2p1bXMiLAoiRGVzY3JpcHRpb24iOiAiQXByYWtzdHMiLAoiQXV0aG9yIjogIkF1dG9ycyIsCiJGdWxsc2NyZWVuIjogIlBpbG5la3JcdTAxMDFuYSByZVx1MDE3ZVx1MDEyYm1zIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udFx1MDEwMWxhIGxcdTAxMmJuaWphIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRcdTAxMDFsXHUwMTAxIHZpZXRhIiwKIkIiOiAiQiIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSWV2aWV0b3RcL2xhYm90IGF0dFx1MDExM2x1IiwKIkdlbmVyYWwiOiAiVmlzcFx1MDEwMXJcdTAxMmJnaSIsCiJBZHZhbmNlZCI6ICJQYXBpbGR1cyIsCiJHIjogIkciLAoiUiI6ICJSIiwKIlNvdXJjZSI6ICJBdm90cyIsCiJCb3JkZXIiOiAiQXBtYWxlIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJTYWdsYWJcdTAxMDF0IG1hbHUgYXR0aWVjXHUwMTJiYnUiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrXHUwMTAxbFx1MDEwMSB2aWV0YSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJBdHRcdTAxMTNsYSBhcHJha3N0cyIsCiJTdHlsZSI6ICJTdGlscyIsCiJEaW1lbnNpb25zIjogIkl6bVx1MDExM3JpIiwKIkluc2VydCBpbWFnZSI6ICJJZXZpZXRvdCBhdHRcdTAxMTNsdSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJZXZpZXRvdCBkYXR1bXVcL2xhaWt1IiwKIlJlbW92ZSBsaW5rIjogIk5vXHUwMTQ2ZW10IHNhaXRpIiwKIlVybCI6ICJBZHJlc2UiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0cyIsCiJBbmNob3JzIjogIkVua3VyZWxlbWVudHMiLAoiSW5zZXJ0IGxpbmsiOiAiSWV2aWV0b3Qgc2FpdGkiLAoiTmV3IHdpbmRvdyI6ICJKYXVucyBsb2dzIiwKIk5vbmUiOiAiTmVrXHUwMTAxIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJMaWVrYXMsIGthIGlldmFkXHUwMTJidFx1MDEwMSBhZHJlc2UgaXIgXHUwMTAxclx1MDExM2phIHNhaXRlLiBWYWkgdlx1MDExM2xpZXRpZXMgcGlldmllbm90IG5lcGllY2llXHUwMTYxYW1vIGh0dHA6XC9cLyBwcmllZFx1MDExM2tsaT8iLAoiVGFyZ2V0IjogIk1cdTAxMTNyXHUwMTM3aXMiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJMaWVrYXMsIGthIGlldmFkXHUwMTJidFx1MDEwMSBhZHJlc2UgaXIgZS1wYXN0cy4gVmFpIHZcdTAxMTNsaWV0aWVzIHBpZXZpZW5vdCBuZXBpZWNpZVx1MDE2MWFtbyBtYWlsdG86IHByaWVkXHUwMTEza2xpPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJZXZpZXRvdFwvbGFib3Qgc2FpdGkiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIklldmlldG90XC9yZWRpXHUwMTIzXHUwMTEzdCB2aWRlbyIsCiJQb3N0ZXIiOiAiQXR0XHUwMTEzbHMiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0XHUwMTJidnMgYXZvdHMiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJJZWtvcFx1MDExM2ppZXQgZW1iZWQga29kdSB6ZW1cdTAxMDFrOiIsCiJJbnNlcnQgdmlkZW8iOiAiSWV2aWV0b3QgdmlkZW8iLAoiRW1iZWQiOiAiRW1iZWQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiTFx1MDEyYm5pai1uZWRhbG9cdTAxNjFzIGF0c3RhcnBlcyBzaW1ib2xzIiwKIlBhZ2UgYnJlYWsiOiAiUFx1MDEwMXJuZXN0IGphdW5cdTAxMDEgbGFwXHUwMTAxIiwKIlBhc3RlIGFzIHRleHQiOiAiSWVsXHUwMTJibVx1MDExM3Qga1x1MDEwMSB0ZWtzdHUiLAoiUHJldmlldyI6ICJQcmlla1x1MDE2MXNrYXRcdTAxMmJqdW1zIiwKIlByaW50IjogIlByaW50XHUwMTEzdCIsCiJTYXZlIjogIlNhZ2xhYlx1MDEwMXQiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk1la2xcdTAxMTN0YWlzIHRla3N0cyBuZXRpa2EgYXRyYXN0cyIsCiJSZXBsYWNlIjogIkFpenZpZXRvdCIsCiJOZXh0IjogIk5cdTAxMDFrb1x1MDE2MWFpcyIsCiJXaG9sZSB3b3JkcyI6ICJQaWxudXMgdlx1MDEwMXJkdXMiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJNZWtsXHUwMTEzdCB1biBhaXp2aWV0b3QiLAoiUmVwbGFjZSB3aXRoIjogIkFpenZpZXRvdCBhciIsCiJGaW5kIjogIk1la2xcdTAxMTN0IiwKIlJlcGxhY2UgYWxsIjogIkFpenZpZXRvdCB2aXN1IiwKIk1hdGNoIGNhc2UiOiAiUmVcdTAxMjNpc3Ryalx1MDE2YnRcdTAxMmJncyIsCiJQcmV2IjogIkllcHJpZWtcdTAxNjFcdTAxMTNqYWlzIiwKIlNwZWxsY2hlY2siOiAiUGFyZWl6cmFrc3RcdTAxMmJiYXMgcFx1MDEwMXJiYXVkZSIsCiJGaW5pc2giOiAiQmVpZ3QiLAoiSWdub3JlIGFsbCI6ICJJZ25vclx1MDExM3QgdmlzdSIsCiJJZ25vcmUiOiAiSWdub3JcdTAxMTN0IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlBpZXZpZW5vdCB2XHUwMTAxcmRuXHUwMTJiY2FpIiwKIkluc2VydCByb3cgYmVmb3JlIjogIklldmlldG90IHJpbmR1IHBpcm1zIiwKIlJvd3MiOiAiUmluZGFzIiwKIkhlaWdodCI6ICJBdWdzdHVtcyIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiSWVsXHUwMTJibVx1MDExM3QgcmluZHUgcFx1MDExM2MiLAoiQWxpZ25tZW50IjogIkxcdTAxMmJkemluXHUwMTAxanVtcyIsCiJCb3JkZXIgY29sb3IiOiAiQXBtYWxlcyBrclx1MDEwMXNhIiwKIkNvbHVtbiBncm91cCI6ICJLb2xvbm51IGdydXBhIiwKIlJvdyI6ICJSaW5kYSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJZXZpZXRvdCBrb2xvbnUgcGlybXMiLAoiU3BsaXQgY2VsbCI6ICJTYWRhbFx1MDEyYnQgXHUwMTYxXHUwMTZibmFzIiwKIkNlbGwgcGFkZGluZyI6ICJcdTAxNjBcdTAxNmJuYXMgYXRzdGF0dW1pIiwKIkNlbGwgc3BhY2luZyI6ICJcdTAxNjBcdTAxNmJudSBhdHN0YXJwZXMiLAoiUm93IHR5cGUiOiAiUmluZGFzIHRpcHMiLAoiSW5zZXJ0IHRhYmxlIjogIklldmlldG90IHRhYnVsdSIsCiJCb2R5IjogIlx1MDEzNmVybWVuaXMiLAoiQ2FwdGlvbiI6ICJWaXJzcmFrc3RzIiwKIkZvb3RlciI6ICJLXHUwMTAxamVuZSIsCiJEZWxldGUgcm93IjogIkR6XHUwMTEzc3QgcmluZHUiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJJZWxcdTAxMmJtXHUwMTEzdCByaW5kdSBwaXJtcyIsCiJTY29wZSI6ICJBcGdhYmFscyIsCiJEZWxldGUgdGFibGUiOiAiRHpcdTAxMTNzdCB0YWJ1bHUiLAoiSCBBbGlnbiI6ICJIb3Jpem9udFx1MDEwMWxhaXMgbm92aWV0b2p1bXMiLAoiVG9wIjogIkF1Z1x1MDE2MVx1MDEwMSIsCiJIZWFkZXIgY2VsbCI6ICJHYWx2ZW5lcyBcdTAxNjFcdTAxNmJuYSIsCiJDb2x1bW4iOiAiS29sb25hIiwKIlJvdyBncm91cCI6ICJSaW5kdSBncnVwYSIsCiJDZWxsIjogIlx1MDE2MFx1MDE2Ym5hIiwKIk1pZGRsZSI6ICJWaWRcdTAxNmIiLAoiQ2VsbCB0eXBlIjogIlx1MDE2MFx1MDE2Ym5hcyB0aXBzIiwKIkNvcHkgcm93IjogIktvcFx1MDExM3QgcmluZHUiLAoiUm93IHByb3BlcnRpZXMiOiAiUmluZGFzIHV6c3RcdTAxMDFkXHUwMTJianVtaSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlRhYnVsYXMgdXpzdFx1MDEwMWRcdTAxMmJqdW1pIiwKIkJvdHRvbSI6ICJBcGFrXHUwMTYxXHUwMTAxIiwKIlYgQWxpZ24iOiAiVmVydGlrXHUwMTAxbGFpcyBub3ZpZXRvanVtcyIsCiJIZWFkZXIiOiAiR2FsdmVuZSIsCiJSaWdodCI6ICJQYSBsYWJpIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSWV2aWV0b3Qga29sb251IHBcdTAxMTNjIiwKIkNvbHMiOiAiS29sb25hcyIsCiJJbnNlcnQgcm93IGFmdGVyIjogIklldmlldG90IHJpbmR1IHBcdTAxMTNjIiwKIldpZHRoIjogIlBsYXR1bXMiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDE2MFx1MDE2Ym5hcyB1enN0XHUwMTAxZFx1MDEyYmp1bWkiLAoiTGVmdCI6ICJQYSBrcmVpc2kiLAoiQ3V0IHJvdyI6ICJJemdyaWV6dCByaW5kdSIsCiJEZWxldGUgY29sdW1uIjogIkR6XHUwMTEzc3Qga29sb251IiwKIkNlbnRlciI6ICJDZW50clx1MDExM3QiLAoiTWVyZ2UgY2VsbHMiOiAiQXB2aWVub3QgXHUwMTYxXHUwMTZibmFzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJZXZpZXRvdCBcdTAxNjFhYmxvbnUiLAoiVGVtcGxhdGVzIjogIlx1MDE2MGFibG9uaSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkZvbmEga3JcdTAxMDFzYSIsCiJDdXN0b20uLi4iOiAiSXp2XHUwMTEzbGVzLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJLclx1MDEwMXNhIHBcdTAxMTNjIGl6dlx1MDExM2xlcyIsCiJObyBjb2xvciI6ICJCZXoga3JcdTAxMDFzYXMiLAoiVGV4dCBjb2xvciI6ICJUZWtzdGEga3JcdTAxMDFzYSIsCiJTaG93IGJsb2NrcyI6ICJSXHUwMTAxZFx1MDEyYnQgYmxva3VzIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiUlx1MDEwMWRcdTAxMmJ0IG5lcmVkemFtXHUwMTAxcyByYWtzdHpcdTAxMmJtZXMiLAoiV29yZHM6IHswfSI6ICJWXHUwMTAxcmRpOiB7MH0iLAoiSW5zZXJ0IjogIklldmlldG90IiwKIkZpbGUiOiAiRmFpbHMiLAoiRWRpdCI6ICJMYWJvdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJWaXp1XHUwMTAxbGkgcmVkaVx1MDEyM1x1MDExM2phbWEgdGVrc3RhIGFwZ2FiYWxzLiBOb3NwaWVkaWV0IEFMVC1GOSBpenZcdTAxMTNsbmVpLCBBTFQtRjEwIHJcdTAxMmJram9zbGFpIHZhaSBBTFQtMCBwYWxcdTAxMmJkelx1MDEyYmJhaS4iLAoiVG9vbHMiOiAiUlx1MDEyYmtpIiwKIlZpZXciOiAiU2thdFx1MDEyYnQiLAoiVGFibGUiOiAiVGFidWxhIiwKIkZvcm1hdCI6ICJGb3JtXHUwMTAxdHMiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ml.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdtbCcsewoiQ3V0IjogIlx1MGQyZVx1MGQ0MVx1MGQzMVx1MGQzZlx1MGQyZlx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSAiLAoiSGVhZGVyIDIiOiAiSGVhZGVyIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iLAoiRGl2IjogIkRpdiIsCiJQYXN0ZSI6ICJcdTBkMTJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMmZcdTBkNGRcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiQ2xvc2UiOiAiXHUwZDA1XHUwZDFmXHUwZDJmXHUwZDRkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkZvbnQgRmFtaWx5IjogIkZvbnQgRmFtaWx5IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwZDM1XHUwZDMyXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDRiXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDRkIiwKIk5ldyBkb2N1bWVudCI6ICJcdTBkMmFcdTBkNDFcdTBkMjRcdTBkM2ZcdTBkMmYgXHUwZDMwXHUwZDFhXHUwZDI4IiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MGQwZVx1MGQyM1x1MGQ0ZFx1MGQyM1x1MGQyZVx1MGQzZlx1MGQxZlx1MGQ0ZFx1MGQxZiBcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MGQzNVx1MGQzZlx1MGQxZlx1MGQzNVx1MGQ0MVx1MGQ0ZCBcdTBkMTVcdTBkNDJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTUiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIkhlYWRlcnMiOiAiSGVhZGVycyIsCiJTZWxlY3QgYWxsIjogIlx1MGQwZVx1MGQzMlx1MGQ0ZFx1MGQzMlx1MGQzZVx1MGQwMiIsCiJIZWFkZXIgMyI6ICJIZWFkZXIgMyIsCiJCbG9ja3MiOiAiQmxvY2tzIiwKIlVuZG8iOiAiXHUwZDM1XHUwZDQ3XHUwZDIzXHUwZDRkXHUwZDFmIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwZDM1XHUwZDQ2XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDE1IiwKIkJ1bGxldCBsaXN0IjogIlx1MGQwNVx1MGQxZlx1MGQyZlx1MGQzZVx1MGQzM1x1MGQyZVx1MGQzZlx1MGQxZlx1MGQ0ZFx1MGQxZiBcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUiLAoiSGVhZGVyIDEiOiAiSGVhZGVyIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwZDM4XHUwZDQyXHUwZDJhXHUwZDRkXHUwZDJhXHUwZDMwXHUwZDRkXHUyMDBkXHUwZDM4XHUwZDRkXHUwZDE1XHUwZDRkXHUwZDMwXHUwZDNmXHUwZDJhXHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDRkIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwZDM1XHUwZDQ2XHUwZDFmXHUwZDNmXHUwZDJhXHUwZDRkXHUwZDJhXHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkZvbnQgU2l6ZXMiOiAiRm9udCBTaXplcyIsCiJTdWJzY3JpcHQiOiAiXHUwZDM4XHUwZDJjXHUwZDRkXHUyMDBjXHUwZDM4XHUwZDRkXHUwZDE1XHUwZDRkXHUwZDMwXHUwZDNmXHUwZDJhXHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDRkIiwKIkhlYWRlciA2IjogIkhlYWRlciA2IiwKIlJlZG8iOiAiXHUwZDM1XHUwZDQwXHUwZDIzXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDAyIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhcGgiLAoiT2siOiAiXHUwZDM2XHUwZDMwXHUwZDNmIiwKIkJvbGQiOiAiXHUwZDE1XHUwZDI4XHUwZDI0XHUwZDRkXHUwZDI0IiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiXHUwZDFhXHUwZDQ2XHUwZDMwXHUwZDNmXHUwZDFlXHUwZDRkXHUwZDFlIiwKIkFsaWduIGNlbnRlciI6ICJcdTBkMjhcdTBkMWZcdTBkNDFcdTBkMzVcdTBkM2ZcdTBkMzJcdTBkNGJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkNGQiLAoiSGVhZGVyIDUiOiAiSGVhZGVyIDUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MGQzNVx1MGQzZlx1MGQxZlx1MGQzNVx1MGQ0MVx1MGQ0ZCBcdTBkMTVcdTBkNDFcdTBkMzFcdTBkMmZcdTBkNGRcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUgIiwKIkhlYWRlciA0IjogIkhlYWRlciA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iLAoiVW5kZXJsaW5lIjogIlx1MGQwNVx1MGQxZlx1MGQzZlx1MGQzNVx1MGQzMCIsCiJDYW5jZWwiOiAiXHUwZDMxXHUwZDI2XHUwZDRkXHUwZDI2XHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkp1c3RpZnkiOiAiXHUwZDM4XHUwZDI4XHUwZDRkXHUwZDI0XHUwZDQxXHUwZDMyXHUwZDNmXHUwZDI0XHUwZDJlXHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJcdTBkMmFcdTBkMTVcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNDFcdTBkMTUiLAoiQWxpZ24gbGVmdCI6ICJcdTBkMDdcdTBkMWZcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNGJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkNGQiLAoiVmlzdWFsIGFpZHMiOiAiXHUwZDI2XHUwZDQzXHUwZDM2XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDM5XHUwZDNlXHUwZDJmXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkxvd2VyIEdyZWVrIjogIkxvd2VyIEdyZWVrIiwKIlNxdWFyZSI6ICJTcXVhcmUiLAoiRGVmYXVsdCI6ICJEZWZhdWx0IiwKIkxvd2VyIEFscGhhIjogIkxvd2VyIEFscGhhIiwKIkNpcmNsZSI6ICJDaXJjbGUiLAoiRGlzYyI6ICJEaXNjIiwKIlVwcGVyIEFscGhhIjogIlVwcGVyIEFscGhhIiwKIlVwcGVyIFJvbWFuIjogIlVwcGVyIFJvbWFuIiwKIkxvd2VyIFJvbWFuIjogIkxvd2VyIFJvbWFuIiwKIk5hbWUiOiAiTmFtZSIsCiJBbmNob3IiOiAiQW5jaG9yIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdG9yZSBsYXN0IGRyYWZ0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpYWwgY2hhcmFjdGVyIiwKIlNvdXJjZSBjb2RlIjogIlNvdXJjZSBjb2RlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUmlnaHQgdG8gbGVmdCIsCiJMZWZ0IHRvIHJpZ2h0IjogIkxlZnQgdG8gcmlnaHQiLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9jdW1lbnQgcHJvcGVydGllcyIsCiJUaXRsZSI6ICJUaXRsZSIsCiJLZXl3b3JkcyI6ICJLZXl3b3JkcyIsCiJFbmNvZGluZyI6ICJFbmNvZGluZyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIsCiJBdXRob3IiOiAiQXV0aG9yIiwKIkZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbCBsaW5lIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbCBzcGFjZSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJ0XC9lZGl0IGltYWdlIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBZHZhbmNlZCIsCiJTb3VyY2UiOiAiU291cmNlIiwKIkJvcmRlciI6ICJCb3JkZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWNhbCBzcGFjZSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJJbWFnZSBkZXNjcmlwdGlvbiIsCiJTdHlsZSI6ICJTdHlsZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiSW5zZXJ0IGltYWdlIjogIkluc2VydCBpbWFnZSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnQgZGF0ZVwvdGltZSIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IHRvIGRpc3BsYXkiLAoiQW5jaG9ycyI6ICJBbmNob3JzIiwKIkluc2VydCBsaW5rIjogIkluc2VydCBsaW5rIiwKIk5ldyB3aW5kb3ciOiAiTmV3IHdpbmRvdyIsCiJOb25lIjogIk5vbmUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiVGFyZ2V0IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcnRcL2VkaXQgbGluayIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJ0XC9lZGl0IHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZlIHNvdXJjZSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VydCB2aWRlbyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOb25icmVha2luZyBzcGFjZSIsCiJQYWdlIGJyZWFrIjogIlBhZ2UgYnJlYWsiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiUHJldmlldyIsCiJQcmludCI6ICJQcmludCIsCiJTYXZlIjogIlNhdmUiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiIsCiJSZXBsYWNlIjogIlJlcGxhY2UiLAoiTmV4dCI6ICJOZXh0IiwKIldob2xlIHdvcmRzIjogIldob2xlIHdvcmRzIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmluZCBhbmQgcmVwbGFjZSIsCiJSZXBsYWNlIHdpdGgiOiAiUmVwbGFjZSB3aXRoIiwKIkZpbmQiOiAiRmluZCIsCiJSZXBsYWNlIGFsbCI6ICJSZXBsYWNlIGFsbCIsCiJNYXRjaCBjYXNlIjogIk1hdGNoIGNhc2UiLAoiUHJldiI6ICJQcmV2IiwKIlNwZWxsY2hlY2siOiAiU3BlbGxjaGVjayIsCiJGaW5pc2giOiAiRmluaXNoIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlIGFsbCIsCiJJZ25vcmUiOiAiSWdub3JlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VydCByb3cgYmVmb3JlIiwKIlJvd3MiOiAiUm93cyIsCiJIZWlnaHQiOiAiSGVpZ2h0IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQYXN0ZSByb3cgYWZ0ZXIiLAoiQWxpZ25tZW50IjogIkFsaWdubWVudCIsCiJDb2x1bW4gZ3JvdXAiOiAiQ29sdW1uIGdyb3VwIiwKIlJvdyI6ICJSb3ciLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiLAoiU3BsaXQgY2VsbCI6ICJTcGxpdCBjZWxsIiwKIkNlbGwgcGFkZGluZyI6ICJDZWxsIHBhZGRpbmciLAoiQ2VsbCBzcGFjaW5nIjogIkNlbGwgc3BhY2luZyIsCiJSb3cgdHlwZSI6ICJSb3cgdHlwZSIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJ0IHRhYmxlIiwKIkJvZHkiOiAiQm9keSIsCiJDYXB0aW9uIjogIkNhcHRpb24iLAoiRm9vdGVyIjogIkZvb3RlciIsCiJEZWxldGUgcm93IjogIkRlbGV0ZSByb3ciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJQYXN0ZSByb3cgYmVmb3JlIiwKIlNjb3BlIjogIlNjb3BlIiwKIkRlbGV0ZSB0YWJsZSI6ICJEZWxldGUgdGFibGUiLAoiSGVhZGVyIGNlbGwiOiAiSGVhZGVyIGNlbGwiLAoiQ29sdW1uIjogIkNvbHVtbiIsCiJDZWxsIjogIkNlbGwiLAoiSGVhZGVyIjogIkhlYWRlciIsCiJDZWxsIHR5cGUiOiAiQ2VsbCB0eXBlIiwKIkNvcHkgcm93IjogIkNvcHkgcm93IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJvdyBwcm9wZXJ0aWVzIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFibGUgcHJvcGVydGllcyIsCiJSb3cgZ3JvdXAiOiAiUm93IGdyb3VwIiwKIlJpZ2h0IjogIlJpZ2h0IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJ0IGNvbHVtbiBhZnRlciIsCiJDb2xzIjogIkNvbHMiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcnQgcm93IGFmdGVyIiwKIldpZHRoIjogIldpZHRoIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsIHByb3BlcnRpZXMiLAoiTGVmdCI6ICJMZWZ0IiwKIkN1dCByb3ciOiAiQ3V0IHJvdyIsCiJEZWxldGUgY29sdW1uIjogIkRlbGV0ZSBjb2x1bW4iLAoiQ2VudGVyIjogIkNlbnRlciIsCiJNZXJnZSBjZWxscyI6ICJNZXJnZSBjZWxscyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJ0IHRlbXBsYXRlIiwKIlRlbXBsYXRlcyI6ICJUZW1wbGF0ZXMiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWNrZ3JvdW5kIGNvbG9yIiwKIlRleHQgY29sb3IiOiAiVGV4dCBjb2xvciIsCiJTaG93IGJsb2NrcyI6ICJTaG93IGJsb2NrcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJJbnNlcnQiLAoiRmlsZSI6ICJGaWxlIiwKIkVkaXQiOiAiRWRpdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIsCiJUb29scyI6ICJUb29scyIsCiJWaWV3IjogIlZpZXciLAoiVGFibGUiOiAiVGFibGUiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ml_IN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdtbF9JTicsewoiQ3V0IjogIlx1MGQyZVx1MGQ0MVx1MGQzMVx1MGQzZlx1MGQyZlx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSAiLAoiSGVhZGVyIDIiOiAiXHUwZDI0XHUwZDMyXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQ2XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDRkXHUyMDBjMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTBkMjhcdTBkM2ZcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNDFcdTBkMWZcdTBkNDYgXHUwZDJjXHUwZDRkXHUwZDMwXHUwZDRjXHUwZDM4XHUwZDMwXHUwZDRkXHUyMDBkIFx1MGQxNVx1MGQ0ZFx1MGQzMlx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQ0ZFx1MGQyY1x1MGQ0Ylx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQyMVx1MGQzZlx1MGQzMlx1MGQ0N1x1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0ZCBcdTBkMmFcdTBkNGRcdTBkMzBcdTBkMzVcdTBkNDdcdTBkMzZcdTBkMjhcdTBkMDIgXHUwZDI4XHUwZDMyXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDQxXHUwZDI4XHUwZDRkXHUwZDI4XHUwZDNmXHUwZDMyXHUwZDRkXHUwZDMyLiBcdTBkMjZcdTBkMmZcdTBkMzVcdTBkNDEgXHUwZDFhXHUwZDQ2XHUwZDJmXHUwZDRkXHUwZDI0IENUUkwrWFwvQ1wvViBcdTBkMzdcdTBkNGJcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNGRcdTBkMTVcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTVcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDA5XHUwZDJhXHUwZDJmXHUwZDRiXHUwZDE3XHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkRpdiI6ICJcdTBkMjFcdTBkM2ZcdTBkMzVcdTBkNGQiLAoiUGFzdGUiOiAiXHUwZDEyXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDJmXHUwZDRkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkNsb3NlIjogIlx1MGQwNVx1MGQxZlx1MGQyZlx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJGb250IEZhbWlseSI6ICJcdTBkMmJcdTBkNGJcdTBkMjNcdTBkNGRcdTBkMWZcdTBkNGQgXHUwZDE1XHUwZDQxXHUwZDFmXHUwZDQxXHUwZDAyXHUwZDJjXHUwZDAyIiwKIlByZSI6ICJcdTBkMmFcdTBkNGRcdTBkMzBcdTBkNDAiLAoiQWxpZ24gcmlnaHQiOiAiXHUwZDM1XHUwZDMyXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDRiXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDRkIFx1MGQyYVx1MGQzZlx1MGQxZlx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwZDJhXHUwZDQxXHUwZDI0XHUwZDNmXHUwZDJmIFx1MGQzMFx1MGQxYVx1MGQyOCIsCiJCbG9ja3F1b3RlIjogIlx1MGQxNVx1MGQ0Mlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQwOVx1MGQyNlx1MGQ0ZFx1MGQyN1x1MGQzMFx1MGQyM1x1MGQzZiIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MGQwZVx1MGQyM1x1MGQ0ZFx1MGQyM1x1MGQyZVx1MGQzZlx1MGQxZlx1MGQ0ZFx1MGQxZiBcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MGQzNVx1MGQzZlx1MGQxZlx1MGQzNVx1MGQ0MVx1MGQ0ZCBcdTBkMTVcdTBkNDJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTUiLAoiRm9ybWF0cyI6ICJcdTBkMTVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMDJcdTBkMmVcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMDIiLAoiSGVhZGVycyI6ICJcdTBkMjRcdTBkMzJcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTVcdTBkMzNcdTBkNGRcdTIwMGQiLAoiU2VsZWN0IGFsbCI6ICJcdTBkMGVcdTBkMzJcdTBkNGRcdTBkMzJcdTBkM2VcdTBkMDIgXHUwZDI0XHUwZDNmXHUwZDMwXHUwZDFlXHUwZDRkXHUwZDFlXHUwZDQ2XHUwZDFmXHUwZDQxXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkhlYWRlciAzIjogIlx1MGQyNFx1MGQzMlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Nlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0ZFx1MjAwYzMiLAoiQmxvY2tzIjogIlx1MGQxNVx1MGQ0Mlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQwMiIsCiJVbmRvIjogIlx1MGQxYVx1MGQ0Nlx1MGQyZlx1MGQ0ZFx1MGQyNFx1MGQyNFx1MGQ0ZCBcdTBkMjRcdTBkM2ZcdTBkMzBcdTBkM2ZcdTBkMWFcdTBkNGRcdTBkMWFcdTBkNDZcdTBkMWZcdTBkNDFcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTBkMzVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMTUiLAoiQnVsbGV0IGxpc3QiOiAiXHUwZDA1XHUwZDFmXHUwZDJmXHUwZDNlXHUwZDMzXHUwZDJlXHUwZDNmXHUwZDFmXHUwZDRkXHUwZDFmIFx1MGQyYVx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQxNSIsCiJIZWFkZXIgMSI6ICJcdTBkMjRcdTBkMzJcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNGRcdTIwMGMxIiwKIlN1cGVyc2NyaXB0IjogIlx1MGQzOFx1MGQ0Mlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQzOFx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQzMFx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MGQzNVx1MGQ0Nlx1MGQxZlx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQzZVx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJGb250IFNpemVzIjogIlx1MGQyYlx1MGQ0Ylx1MGQyM1x1MGQ0ZFx1MGQxZlx1MGQ0ZCBcdTBkMzVcdTBkMzJcdTBkM2ZcdTBkMmFcdTBkNGRcdTBkMmFcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQiLAoiU3Vic2NyaXB0IjogIlx1MGQzOFx1MGQyY1x1MGQ0ZFx1MjAwY1x1MGQzOFx1MGQ0ZFx1MGQxNVx1MGQ0ZFx1MGQzMFx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZCIsCiJIZWFkZXIgNiI6ICJcdTBkMjRcdTBkMzJcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNGRcdTIwMGM2IiwKIlJlZG8iOiAiXHUwZDM1XHUwZDQwXHUwZDIzXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDAyIFx1MGQxYVx1MGQ0Nlx1MGQyZlx1MGQ0ZFx1MGQyZlx1MGQ0MVx1MGQxNSIsCiJQYXJhZ3JhcGgiOiAiXHUwZDE2XHUwZDIzXHUwZDRkXHUyMDBjXHUwZDIxXHUwZDNmXHUwZDE1IiwKIk9rIjogIlx1MGQzNlx1MGQzMFx1MGQzZiIsCiJCb2xkIjogIlx1MGQxNVx1MGQyOFx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJDb2RlIjogIlx1MGQxNVx1MGQ0Ylx1MGQyMVx1MGQ0ZCIsCiJJdGFsaWMiOiAiXHUwZDFhXHUwZDQ2XHUwZDMwXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkFsaWduIGNlbnRlciI6ICJcdTBkMjhcdTBkMWZcdTBkNDFcdTBkMzVcdTBkM2ZcdTBkMzJcdTBkNGJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNDFcdTBkNGQgXHUwZDJhXHUwZDNmXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkhlYWRlciA1IjogIlx1MGQyNFx1MGQzMlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Nlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0ZFx1MjAwYzUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MGQzNVx1MGQzZlx1MGQxZlx1MGQzNVx1MGQ0MVx1MGQ0ZCBcdTBkMTVcdTBkNDFcdTBkMzFcdTBkMmZcdTBkNGRcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUgIiwKIkhlYWRlciA0IjogIlx1MGQyNFx1MGQzMlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Nlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0ZFx1MjAwYzQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MGQxMlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQ0ZCBcdTBkMDdcdTBkMmFcdTBkNGRcdTBkMmFcdTBkNGJcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDMyXHUwZDMzXHUwZDNmXHUwZDI0XHUwZDJlXHUwZDNlXHUwZDJmIFx1MGQxZlx1MGQ0Nlx1MGQxNVx1MGQ0ZFx1MGQzOFx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MjAwYyAgXHUwZDA2XHUwZDJmXHUwZDNmXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNlXHUwZDIzXHUwZDRkLiBcdTBkMjhcdTBkM2ZcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDA4IFx1MGQzOFx1MGQ1N1x1MGQxNVx1MGQzMFx1MGQ0ZFx1MGQyZlx1MGQwMiBcdTBkMmVcdTBkM2VcdTBkMzFcdTBkNGRcdTBkMzFcdTBkNDFcdTBkMjhcdTBkNGRcdTBkMjhcdTBkMjRcdTBkNGQgXHUwZDM1XHUwZDMwXHUwZDQ2IFx1MGQwOVx1MGQzM1x1MGQ0ZFx1MGQzM1x1MGQxZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQwMiBcdTBkMzJcdTBkMzNcdTBkM2ZcdTBkMjQgXHUwZDFmXHUwZDQ2XHUwZDE1XHUwZDRkXHUwZDM4XHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDRkXHUyMDBjIFx1MGQwNlx1MGQyZlx1MGQzZlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZVx1MGQyZlx1MGQzZlx1MGQzMFx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQwMiBcdTBkMTJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMjhcdTBkNGRcdTBkMjhcdTBkMjRcdTBkNGQuICIsCiJVbmRlcmxpbmUiOiAiXHUwZDA1XHUwZDFmXHUwZDNmXHUwZDM1XHUwZDMwXHUwZDJmXHUwZDNmXHUwZDFmXHUwZDQxXHUwZDE1IiwKIkNhbmNlbCI6ICJcdTBkMzFcdTBkMjZcdTBkNGRcdTBkMjZcdTBkM2VcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiSnVzdGlmeSI6ICJcdTBkMzhcdTBkMjhcdTBkNGRcdTBkMjRcdTBkNDFcdTBkMzJcdTBkM2ZcdTBkMjRcdTBkMmVcdTBkM2VcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiSW5saW5lIjogIlx1MGQzNVx1MGQzMFx1MGQzZlx1MGQyZlx1MGQzZlx1MGQzMlx1MGQ0ZFx1MjAwZCIsCiJDb3B5IjogIlx1MGQyYVx1MGQxNVx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJBbGlnbiBsZWZ0IjogIlx1MGQwN1x1MGQxZlx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0Ylx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0MVx1MGQ0ZCBcdTBkMmFcdTBkM2ZcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiVmlzdWFsIGFpZHMiOiAiXHUwZDI2XHUwZDQzXHUwZDM2XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDM5XHUwZDNlXHUwZDJmXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkxvd2VyIEdyZWVrIjogIlx1MGQxYVx1MGQ0Nlx1MGQzMVx1MGQzZlx1MGQyZiBcdTBkMTdcdTBkNGRcdTBkMzBcdTBkNDBcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNGRcdTIwMGMgXHUwZDA1XHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIlNxdWFyZSI6ICJcdTBkMzhcdTBkMmVcdTBkMWFcdTBkMjRcdTBkNDFcdTBkMzBcdTBkMDIiLAoiRGVmYXVsdCI6ICJcdTBkMDlcdTBkMmFcdTBkNDdcdTBkMTVcdTBkNGRcdTBkMzciLAoiTG93ZXIgQWxwaGEiOiAiXHUwZDFhXHUwZDQ2XHUwZDMxXHUwZDNmXHUwZDJmIFx1MGQwNVx1MGQxNVx1MGQ0ZFx1MGQzN1x1MGQzMFx1MGQxOVx1MGQ0ZFx1MGQxOVx1MGQzM1x1MGQ0ZFx1MjAwZCIsCiJDaXJjbGUiOiAiXHUwZDM1XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDAyIiwKIkRpc2MiOiAiXHUwZDFhXHUwZDE1XHUwZDRkXHUwZDMwXHUwZDAyIiwKIlVwcGVyIEFscGhhIjogIlx1MGQzNVx1MGQzMlx1MGQzZlx1MGQyZiBcdTBkMDZcdTBkMzJcdTBkNGRcdTBkMmJcdTBkM2UgXHUwZDA1XHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIlVwcGVyIFJvbWFuIjogIlx1MGQzNVx1MGQzMlx1MGQzZlx1MGQyZiBcdTBkMzFcdTBkNGJcdTBkMmVcdTBkMjhcdTBkNGRcdTIwMGQgXHUwZDA1XHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkxvd2VyIFJvbWFuIjogIlx1MGQxYVx1MGQ0Nlx1MGQzMVx1MGQzZlx1MGQyZiBcdTBkMzFcdTBkNGJcdTBkMmVcdTBkMjhcdTBkNGRcdTIwMGQgXHUwZDA1XHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIk5hbWUiOiAiXHUwZDJhXHUwZDQ3XHUwZDMwXHUwZDRkIiwKIkFuY2hvciI6ICJcdTBkMjhcdTBkMTlcdTBkNGRcdTBkMTVcdTBkNDJcdTBkMzBcdTBkMDIiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTBkMzBcdTBkMTVcdTBkNGRcdTBkMzdcdTBkMmFcdTBkNGRcdTBkMmFcdTBkNDZcdTBkMWZcdTBkNDFcdTBkMjRcdTBkNGRcdTBkMjRcdTBkM2VcdTBkMjRcdTBkNGRcdTBkMjQgXHUwZDJlXHUwZDNlXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQyOFx1MGQzZlx1MGQzMlx1MGQyOFx1MGQzZlx1MGQzMlx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQyOFx1MGQ0ZFx1MGQyOFx1MGQ0MS4gXHUwZDJhXHUwZDQxXHUwZDMxXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQxIFx1MGQxNVx1MGQxZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQyM1x1MGQ0Yj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MGQyYVx1MGQzNFx1MGQyZiBcdTBkMjFcdTBkNGRcdTBkMzBcdTBkM2VcdTBkMmJcdTBkNGRcdTBkMzFcdTBkNGRcdTBkMzFcdTBkNGRcdTIwMGMgXHUwZDI0XHUwZDNmXHUwZDMwXHUwZDNmXHUwZDFhXHUwZDRkXHUwZDFhXHUwZDQxIFx1MGQxNVx1MGQ0YVx1MGQyM1x1MGQ0ZFx1MGQxZlx1MGQ0ZCBcdTBkMzVcdTBkMzBcdTBkM2ZcdTBkMTUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwZDJhXHUwZDRkXHUwZDMwXHUwZDI0XHUwZDRkXHUwZDJmXHUwZDQ3XHUwZDE1XHUwZDNlXHUwZDE1XHUwZDRkXHUwZDM3XHUwZDMwXHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIlNvdXJjZSBjb2RlIjogIlx1MGQzOFx1MGQ0Ylx1MGQzNFx1MGQ0ZFx1MGQzOFx1MGQ0ZCBcdTBkMTVcdTBkNGJcdTBkMjFcdTBkNGQiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTBkMzVcdTBkMzJcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNDEgXHUwZDI4XHUwZDNmXHUwZDI4XHUwZDRkXHUwZDI4XHUwZDQxXHUwZDAyIFx1MGQwN1x1MGQxZlx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0N1x1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0ZCIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1MGQwN1x1MGQxZlx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0ZCBcdTBkMjhcdTBkM2ZcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNDFcdTBkMDIgXHUwZDM1XHUwZDMyXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQ3XHUwZDE1XHUwZDRkXHUwZDE1XHUwZDRkIiwKIkVtb3RpY29ucyI6ICJcdTBkMWFcdTBkM2ZcdTBkMzlcdTBkNGRcdTBkMjggXHUwZDJkXHUwZDNlXHUwZDM3IiwKIlJvYm90cyI6ICJcdTBkMmZcdTBkMjhcdTBkNGRcdTBkMjRcdTBkNGRcdTBkMzBcdTBkMmVcdTBkMjhcdTBkNDFcdTBkMzdcdTBkNGRcdTBkMmZcdTBkMjhcdTBkNGRcdTIwMGQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTBkMjFcdTBkNGJcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMmVcdTBkNDZcdTBkMjhcdTBkNGRcdTBkMzFcdTBkNGQgXHUwZDE3XHUwZDQxXHUwZDIzXHUwZDM1XHUwZDNmXHUwZDM2XHUwZDQ3XHUwZDM3XHUwZDE5XHUwZDRkXHUwZDE5XHUwZDMzXHUwZDRkXHUyMDBkIiwKIlRpdGxlIjogIlx1MGQyNFx1MGQzMlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0Nlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQ0ZCIsCiJLZXl3b3JkcyI6ICJcdTBkMzhcdTBkNDJcdTBkMWFcdTBkMTVcdTBkMmFcdTBkMjZcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQiLAoiRW5jb2RpbmciOiAiXHUwZDBlXHUwZDdiXHUwZDE1XHUwZDRiXHUwZDIxXHUwZDNmXHUwZDAyXHUwZDE3XHUwZDRkIiwKIkRlc2NyaXB0aW9uIjogIlx1MGQzNVx1MGQzZlx1MGQzNVx1MGQzMFx1MGQyM1x1MGQwMiIsCiJBdXRob3IiOiAiXHUwZDMyXHUwZDQ3XHUwZDE2XHUwZDE1XHUwZDI4XHUwZDRkXHUyMDBkIiwKIkZ1bGxzY3JlZW4iOiAiXHUwZDJiXHUwZDQxXHUwZDMzXHUwZDRkXHUyMDBkXHUwZDM4XHUwZDRkXHUwZDE1XHUwZDRkXHUwZDMwXHUwZDQwXHUwZDI4XHUwZDRkXHUyMDBkIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTBkMzZcdTBkM2VcdTBkMTZcdTBkM2VcdTBkMmFcdTBkM2VcdTBkMjQiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTBkMjRcdTBkM2ZcdTBkMzBcdTBkMzZcdTBkNGRcdTBkMWFcdTBkNDBcdTBkMjhcdTBkMmVcdTBkM2VcdTBkMmYgXHUwZDM2XHUwZDQyXHUwZDI4XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDRkXHUwZDI1XHUwZDMyXHUwZDAyIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTBkMWFcdTBkM2ZcdTBkMjRcdTBkNGRcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1XC8gXHUwZDI0XHUwZDNmXHUwZDMwXHUwZDQxXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQxXHUwZDE1IiwKIkdlbmVyYWwiOiAiXHUwZDJhXHUwZDRhXHUwZDI0XHUwZDQxXHUwZDM1XHUwZDNlXHUwZDJmIiwKIkFkdmFuY2VkIjogIlx1MGQyYVx1MGQ0MVx1MGQzMFx1MGQ0N1x1MGQzZVx1MGQxN1x1MGQyZVx1MGQzZlx1MGQxYVx1MGQ0ZFx1MGQxYSIsCiJTb3VyY2UiOiAiXHUwZDA5XHUwZDMxXHUwZDM1XHUwZDNmXHUwZDFmXHUwZDAyIiwKIkJvcmRlciI6ICJcdTBkMDVcdTBkMjRcdTBkM2ZcdTBkMzBcdTBkNGQiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIlx1MGQyOFx1MGQzZlx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQyY1x1MGQyOFx1MGQ0ZFx1MGQyN1x1MGQzZVx1MGQyOFx1MGQ0MVx1MGQyYVx1MGQzZVx1MGQyNFx1MGQwMiIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTBkMzJcdTBkMDJcdTBkMmNcdTBkMmVcdTBkM2VcdTBkMjhcdTBkMmVcdTBkM2VcdTBkMmYgXHUwZDM2XHUwZDQyXHUwZDI4XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDRkXHUwZDI1XHUwZDMyXHUwZDAyIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGQxYVx1MGQzZlx1MGQyNFx1MGQ0ZFx1MGQzMCBcdTBkMzVcdTBkM2ZcdTBkMzVcdTBkMzBcdTBkMjNcdTBkMDIiLAoiU3R5bGUiOiAiXHUwZDM2XHUwZDQ4XHUwZDMyXHUwZDNmIiwKIkRpbWVuc2lvbnMiOiAiXHUwZDA1XHUwZDMzXHUwZDM1XHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkluc2VydCBpbWFnZSI6ICJcdTBkMWFcdTBkM2ZcdTBkMjRcdTBkNGRcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MGQzOFx1MGQyZVx1MGQyZlx1MGQwMlwvXHUwZDI0XHUwZDQwXHUwZDJmXHUwZDI0XHUwZDNmIFx1MGQxYVx1MGQ0N1x1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJSZW1vdmUgbGluayI6ICJcdTBkMTVcdTBkMjNcdTBkNGRcdTBkMjNcdTBkM2YgXHUwZDEyXHUwZDM0XHUwZDNmXHUwZDM1XHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIlVybCI6ICJcdTBkMmZcdTBkNDJcdTBkMDZcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMGVcdTBkMzJcdTBkNGRcdTIwMGQiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MGQxNVx1MGQzZVx1MGQyM1x1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQzZVx1MGQyOFx1MGQ0MVx1MGQzM1x1MGQ0ZFx1MGQzMyBcdTBkMDVcdTBkMTVcdTBkNGRcdTBkMzdcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQiLAoiQW5jaG9ycyI6ICJcdTBkMjhcdTBkMTlcdTBkNGRcdTBkMTVcdTBkNDJcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkN2UiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwZDE1XHUwZDIzXHUwZDRkXHUwZDIzXHUwZDNmIFx1MGQxYVx1MGQ0N1x1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJOZXcgd2luZG93IjogIlx1MGQyYVx1MGQ0MVx1MGQyNFx1MGQzZlx1MGQyZiBcdTBkMWNcdTBkM2VcdTBkMzJcdTBkMTVcdTBkMDIiLAoiTm9uZSI6ICJcdTBkMTJcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNDFcdTBkMmVcdTBkM2ZcdTBkMzJcdTBkNGRcdTBkMzIiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiXHUwZDMyXHUwZDE1XHUwZDRkXHUwZDM3XHUwZDRkXHUwZDJmXHUwZDAyIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTBkMTVcdTBkMjNcdTBkNGRcdTBkMjNcdTBkM2YgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1XC8gXHUwZDE1XHUwZDIzXHUwZDRkXHUwZDIzXHUwZDNmIFx1MGQyNFx1MGQzZlx1MGQzMFx1MGQ0MVx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwZDM1XHUwZDQwXHUwZDIxXHUwZDNmXHUwZDJmXHUwZDRiIFx1MGQxYVx1MGQ0Nlx1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNVwvXHUwZDM1XHUwZDQwXHUwZDIxXHUwZDNmXHUwZDJmXHUwZDRiIFx1MGQyNFx1MGQzZlx1MGQzMFx1MGQ0MVx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJQb3N0ZXIiOiAiXHUwZDFhXHUwZDNmXHUwZDI0XHUwZDRkXHUwZDMwXHUwZDAyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTBkMDdcdTBkMjRcdTBkMzAgXHUwZDM4XHUwZDRkXHUwZDMwXHUwZDRiXHUwZDI0XHUwZDM4XHUwZDRkXHUwZDM4XHUwZDRkXHUyMDBjIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwZDI4XHUwZDNmXHUwZDE5XHUwZDMzXHUwZDQxXHUwZDFmXHUwZDQ2IFx1MGQwZVx1MGQwMlx1MGQyY1x1MGQyMVx1MGQ0ZCBcdTBkMTVcdTBkNGJcdTBkMjFcdTBkNGQgXHUwZDEyXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkluc2VydCB2aWRlbyI6ICJcdTBkMzVcdTBkNDBcdTBkMjFcdTBkM2ZcdTBkMmZcdTBkNGIgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkVtYmVkIjogIlx1MGQwZVx1MGQwMlx1MGQyY1x1MGQ0Nlx1MGQyMVx1MGQ0ZFx1MjAwYyIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTBkMmRcdTBkMDJcdTBkMTdcdTBkMmVcdTBkM2ZcdTBkMzJcdTBkNGRcdTBkMzJcdTBkM2VcdTBkMjRcdTBkNGRcdTBkMjQgXHUwZDM2XHUwZDQyXHUwZDI4XHUwZDRkXHUwZDJmXHUwZDM4XHUwZDRkXHUwZDI1XHUwZDMyXHUwZDAyIiwKIlBhZ2UgYnJlYWsiOiAiXHUwZDI0XHUwZDNlXHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQyZFx1MGQwMlx1MGQxN1x1MGQwMiIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MGQxZlx1MGQ0Nlx1MGQxNVx1MGQ0ZFx1MGQzOFx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MGQzMVx1MGQ0ZFx1MjAwYyBcdTBkMDZcdTBkMmZcdTBkM2YgXHUwZDEyXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIlByZXZpZXciOiAiXHUwZDE1XHUwZDMwXHUwZDFmXHUwZDQxXHUwZDJhXHUwZDI0XHUwZDNmXHUwZDJhXHUwZDRkXHUwZDJhXHUwZDRkIiwKIlByaW50IjogIlx1MGQwNVx1MGQxYVx1MGQ0ZFx1MGQxYVx1MGQxZlx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJTYXZlIjogIlx1MGQzMFx1MGQxNVx1MGQ0ZFx1MGQzN1x1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQ0Nlx1MGQxZlx1MGQ0MVx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwZDA5XHUwZDI2XHUwZDRkXHUwZDI2XHUwZDQ3XHUwZDM2XHUwZDNmXHUwZDFhXHUwZDRkXHUwZDFhIFx1MGQzNVx1MGQzZVx1MGQxYVx1MGQxNVx1MGQwMiBcdTBkMTVcdTBkMjNcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMmFcdTBkM2ZcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkM2VcdTBkMjhcdTBkM2VcdTBkMmZcdTBkM2ZcdTBkMzJcdTBkNGRcdTBkMzIuIiwKIlJlcGxhY2UiOiAiXHUwZDJlXHUwZDNlXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDNmXHUwZDM1XHUwZDJmXHUwZDRkXHUyMDBjXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIk5leHQiOiAiXHUwZDJlXHUwZDQxXHUwZDI4XHUwZDRkXHUwZDI4XHUwZDRiXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDRkIiwKIldob2xlIHdvcmRzIjogIlx1MGQwZVx1MGQzMlx1MGQ0ZFx1MGQzMlx1MGQzZSBcdTBkMzVcdTBkM2VcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTVcdTBkMzNcdTBkNDFcdTBkMDIiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTBkMTVcdTBkMjNcdTBkNGRcdTBkMWZcdTBkNDFcdTBkMmFcdTBkM2ZcdTBkMWZcdTBkM2ZcdTBkMWFcdTBkNGRcdTBkMWFcdTBkNDEgXHUwZDJlXHUwZDNlXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDNmXHUwZDM1XHUwZDJmXHUwZDRkXHUyMDBjXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTBkMmVcdTBkMzFcdTBkNGRcdTBkMzFcdTBkNGFcdTBkMjhcdTBkNGRcdTBkMjhcdTBkM2ZcdTBkMjhcdTBkNGJcdTBkMWZcdTBkNGQgXHUwZDJlXHUwZDNlXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDNmXHUwZDM1XHUwZDJmXHUwZDRkXHUyMDBjXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkZpbmQiOiAiXHUwZDI0XHUwZDNmXHUwZDMwXHUwZDJmXHUwZDQxXHUwZDE1IiwKIlJlcGxhY2UgYWxsIjogIlx1MGQwZVx1MGQzMlx1MGQ0ZFx1MGQzMlx1MGQzZVx1MGQwMiBcdTBkMmVcdTBkM2VcdTBkMzFcdTBkNGRcdTBkMzFcdTBkM2ZcdTBkMzVcdTBkMmZcdTBkNGRcdTIwMGNcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiTWF0Y2ggY2FzZSI6ICJcdTBkMjRcdTBkNDFcdTBkMzJcdTBkNGRcdTBkMmZcdTBkMmVcdTBkM2VcdTBkMmZcdTBkMjRcdTBkNGQiLAoiUHJldiI6ICJcdTBkMmFcdTBkM2ZcdTBkMjhcdTBkNGRcdTBkMjhcdTBkNGJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkNGQiLAoiU3BlbGxjaGVjayI6ICJcdTBkMDVcdTBkMTVcdTBkNGRcdTBkMzdcdTBkMzBcdTBkMzVcdTBkM2ZcdTBkMjhcdTBkNGRcdTBkMmZcdTBkM2VcdTBkMzhcdTBkMDIgXHUwZDJhXHUwZDMwXHUwZDNmXHUwZDM2XHUwZDRiXHUwZDI3XHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkZpbmlzaCI6ICJcdTBkMDVcdTBkMzVcdTBkMzhcdTBkM2VcdTBkMjhcdTBkM2ZcdTBkMmFcdTBkNGRcdTBkMmFcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiSWdub3JlIGFsbCI6ICJcdTBkMGVcdTBkMzJcdTBkNGRcdTBkMzJcdTBkM2VcdTBkMDIgXHUwZDA1XHUwZDM1XHUwZDE3XHUwZDIzXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIklnbm9yZSI6ICJcdTBkMDVcdTBkMzVcdTBkMTdcdTBkMjNcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwZDJlXHUwZDQxXHUwZDJlXHUwZDRkXHUwZDJhXHUwZDNmXHUwZDMyXHUwZDRkXHUyMDBkIFx1MGQyYVx1MGQ0MVx1MGQyNFx1MGQzZlx1MGQyZiBcdTBkMjhcdTBkM2ZcdTBkMzAgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIlJvd3MiOiAiXHUwZDI4XHUwZDNmXHUwZDMwXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkhlaWdodCI6ICJcdTBkMDlcdTBkMmZcdTBkMzBcdTBkMDIiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MGQyOFx1MGQzZlx1MGQzMCBcdTBkMzZcdTBkNDdcdTBkMzdcdTBkMDIgXHUwZDEyXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkFsaWdubWVudCI6ICJcdTBkMDVcdTBkMjNcdTBkM2ZcdTBkMjhcdTBkM2ZcdTBkMzBcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNDFcdTBkMTUiLAoiQ29sdW1uIGdyb3VwIjogIlx1MGQzNVx1MGQzMFx1MGQzZiBcdTBkMTdcdTBkMjNcdTBkMDIiLAoiUm93IjogIlx1MGQyOFx1MGQzZlx1MGQzMCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTBkMmVcdTBkNDFcdTBkMmVcdTBkNGRcdTBkMmFcdTBkM2ZcdTBkMzJcdTBkNGRcdTIwMGQgXHUwZDJhXHUwZDQxXHUwZDI0XHUwZDNmXHUwZDJmIFx1MGQzNVx1MGQzMFx1MGQzZiBcdTBkMWFcdTBkNDdcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiU3BsaXQgY2VsbCI6ICJcdTBkMDVcdTBkMzFcdTBkMTVcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDM1XHUwZDNmXHUwZDJkXHUwZDFjXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkNlbGwgcGFkZGluZyI6ICJcdTBkMDVcdTBkMzEgXHUwZDJhXHUwZDNlXHUwZDIxXHUwZDNmXHUwZDAyXHUwZDE3XHUwZDRkIiwKIkNlbGwgc3BhY2luZyI6ICJcdTBkMDVcdTBkMzFcdTBkMTVcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDI0XHUwZDJlXHUwZDRkXHUwZDJlXHUwZDNmXHUwZDMyXHUwZDQxXHUwZDMzXHUwZDRkXHUwZDMzIFx1MGQwNVx1MGQxNVx1MGQzMlx1MGQwMiIsCiJSb3cgdHlwZSI6ICJcdTBkMjhcdTBkM2ZcdTBkMzAgXHUwZDJlXHUwZDNlXHUwZDI0XHUwZDQzXHUwZDE1IiwKIkluc2VydCB0YWJsZSI6ICJcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkJvZHkiOiAiXHUwZDM2XHUwZDMwXHUwZDQwXHUwZDMwXHUwZDAyIiwKIkNhcHRpb24iOiAiXHUwZDI0XHUwZDMyXHUwZDM1XHUwZDNlXHUwZDFhXHUwZDE1XHUwZDAyIiwKIkZvb3RlciI6ICJcdTBkMDVcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMzFcdTBkM2ZcdTBkMmFcdTBkNGRcdTBkMmFcdTBkNGRcdTIwMGMiLAoiRGVsZXRlIHJvdyI6ICJcdTBkMjhcdTBkM2ZcdTBkMzAgXHUwZDI0XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDJmXHUwZDQxXHUwZDE1IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwZDI4XHUwZDNmXHUwZDMwIFx1MGQyZVx1MGQ0MVx1MGQyZVx1MGQ0ZFx1MGQyYVx1MGQzZVx1MGQyZlx1MGQzZiBcdTBkMTJcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTVcdTBkNGRcdTBkMTVcdTBkNDFcdTBkMTUiLAoiU2NvcGUiOiAiXHUwZDM1XHUwZDRkXHUwZDJmXHUwZDNlXHUwZDJhXHUwZDRkXHUyMDBjXHUwZDI0XHUwZDNmIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUgXHUwZDE1XHUwZDMzXHUwZDJmXHUwZDQxXHUwZDE1IiwKIkhlYWRlciBjZWxsIjogIlx1MGQyNFx1MGQzMiBcdTBkMDVcdTBkMzEiLAoiQ29sdW1uIjogIlx1MGQzNVx1MGQzMFx1MGQzZiIsCiJDZWxsIjogIlx1MGQwNVx1MGQzMSIsCiJIZWFkZXIiOiAiXHUwZDI0XHUwZDMyXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQ2XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDRkXHUyMDBjIiwKIkNlbGwgdHlwZSI6ICJcdTBkMDVcdTBkMzFcdTBkMmZcdTBkNDFcdTBkMWZcdTBkNDYgXHUwZDJlXHUwZDNlXHUwZDI0XHUwZDQzXHUwZDE1IiwKIkNvcHkgcm93IjogIlx1MGQyOFx1MGQzZlx1MGQzMCBcdTBkMmFcdTBkMTVcdTBkMzBcdTBkNGRcdTIwMGRcdTBkMjRcdTBkNGRcdTBkMjRcdTBkNDFcdTBkMTUiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwZDI4XHUwZDNmXHUwZDMwXHUwZDJmXHUwZDQxXHUwZDFmXHUwZDQ2IFx1MGQzOFx1MGQ0ZFx1MGQzNVx1MGQyZFx1MGQzZVx1MGQzNVx1MGQxOVx1MGQ0ZFx1MGQxOVx1MGQzM1x1MGQ0ZFx1MjAwZCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MGQyYVx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQxNVx1MGQyZlx1MGQ0MVx1MGQxZlx1MGQ0NiBcdTBkMzhcdTBkNGRcdTBkMzVcdTBkMmRcdTBkM2VcdTBkMzVcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQiLAoiUm93IGdyb3VwIjogIlx1MGQyOFx1MGQzZlx1MGQzMCBcdTBkMTdcdTBkMjNcdTBkMDIiLAoiUmlnaHQiOiAiXHUwZDM1XHUwZDMyXHUwZDI0XHUwZDRkIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwZDJhXHUwZDNmXHUwZDMxXHUwZDE1XHUwZDNmXHUwZDMyXHUwZDRkXHUyMDBkIFx1MGQyYVx1MGQ0MVx1MGQyNFx1MGQzZlx1MGQyZiBcdTBkMzVcdTBkMzBcdTBkM2YgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIkNvbHMiOiAiXHUwZDM1XHUwZDMwXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwZDJhXHUwZDNmXHUwZDMxXHUwZDE1XHUwZDNmXHUwZDMyXHUwZDRkXHUyMDBkIFx1MGQyYVx1MGQ0MVx1MGQyNFx1MGQzZlx1MGQyZiBcdTBkMjhcdTBkM2ZcdTBkMzAgXHUwZDFhXHUwZDQ3XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIldpZHRoIjogIlx1MGQyOFx1MGQ0MFx1MGQzM1x1MGQwMiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwZDA1XHUwZDMxXHUwZDJmXHUwZDQxXHUwZDFmXHUwZDQ2IFx1MGQzOFx1MGQ0ZFx1MGQzNVx1MGQyZFx1MGQzZVx1MGQzNVx1MGQxOVx1MGQ0ZFx1MGQxOVx1MGQzM1x1MGQ0ZFx1MjAwZCIsCiJMZWZ0IjogIlx1MGQwN1x1MGQxZlx1MGQyNFx1MGQ0ZCIsCiJDdXQgcm93IjogIlx1MGQyOFx1MGQzZlx1MGQzMCBcdTBkMzVcdTBkNDZcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMmVcdTBkM2VcdTBkMzFcdTBkNGRcdTBkMzFcdTBkNDFcdTBkMTUiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTBkMzVcdTBkMzBcdTBkM2YgXHUwZDI0XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDMzXHUwZDJmXHUwZDQxXHUwZDE1IiwKIkNlbnRlciI6ICJcdTBkMjhcdTBkMWZcdTBkNDFcdTBkMzVcdTBkM2ZcdTBkMzJcdTBkNGRcdTIwMGQiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwZDA1XHUwZDMxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQxNVx1MGQ0Mlx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQyZlx1MGQ0Ylx1MGQxY1x1MGQzZlx1MGQyYVx1MGQ0ZFx1MGQyYVx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwZDA1XHUwZDFhXHUwZDRkXHUwZDFhXHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQxYVx1MGQ0N1x1MGQzMFx1MGQ0ZFx1MjAwZFx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJUZW1wbGF0ZXMiOiAiXHUwZDA1XHUwZDFhXHUwZDRkXHUwZDFhXHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwZDJhXHUwZDM2XHUwZDRkXHUwZDFhXHUwZDNlXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDMyIFx1MGQyOFx1MGQzZlx1MGQzMVx1MGQwMiIsCiJUZXh0IGNvbG9yIjogIlx1MGQwNVx1MGQxNVx1MGQ0ZFx1MGQzN1x1MGQzMCBcdTBkMjhcdTBkM2ZcdTBkMzFcdTBkMDIiLAoiU2hvdyBibG9ja3MiOiAiXHUwZDJjXHUwZDRkXHUwZDMyXHUwZDRiXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkIFx1MGQxNVx1MGQzZVx1MGQyM1x1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MGQwNVx1MGQyNlx1MGQ0M1x1MGQzNlx1MGQ0ZFx1MGQyZlx1MGQyZVx1MGQzZVx1MGQyZiBcdTBkMDVcdTBkMTVcdTBkNGRcdTBkMzdcdTBkMzBcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgXHUwZDE1XHUwZDNlXHUwZDIzXHUwZDNmXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1IiwKIldvcmRzOiB7MH0iOiAiXHUwZDM1XHUwZDNlXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDQxXHUwZDE1XHUwZDMzXHUwZDRkXHUyMDBkOiB7MH0iLAoiSW5zZXJ0IjogIlx1MGQyYVx1MGQyNFx1MGQzZlx1MGQxNVx1MGQ0ZFx1MGQxNVx1MGQ0MVx1MGQxNSIsCiJGaWxlIjogIlx1MGQyYlx1MGQyZlx1MGQzMlx1MGQ0ZFx1MjAwZCIsCiJFZGl0IjogIlx1MGQyNFx1MGQzZlx1MGQzMFx1MGQ0MVx1MGQyNFx1MGQ0ZFx1MGQyNFx1MGQ0MVx1MGQxNSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTBkMzFcdTBkM2ZcdTBkMWFcdTBkNGRcdTBkMWFcdTBkNGQgXHUwZDFmXHUwZDQ2XHUwZDE1XHUwZDRkXHUwZDM4XHUwZDRkXHUwZDMxXHUwZDRkXHUwZDMxXHUwZDRkXHUyMDBjIFx1MGQyZVx1MGQ0N1x1MGQxNlx1MGQzMi4gIFx1MGQzNVx1MGQzZlx1MGQzN1x1MGQyZiBcdTBkMmFcdTBkMWZcdTBkNGRcdTBkMWZcdTBkM2ZcdTBkMTUgXHUwZDE1XHUwZDRkXHUwZDE1XHUwZDNlXHUwZDJmXHUwZDNmIEFMVC1GOSAgXHUwZDA1XHUwZDJlXHUwZDMwXHUwZDRkXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQxXHUwZDE1LiBcdTBkMDlcdTBkMmFcdTBkMTVcdTBkMzBcdTBkMjMgXHUwZDJhXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDNmXHUwZDE1XHUwZDE1XHUwZDRkXHUwZDE1XHUwZDNlXHUwZDJmXHUwZDNmIEFMVC1GMTAgXHUwZDA1XHUwZDJlXHUwZDMwXHUwZDRkXHUyMDBkXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDQxXHUwZDE1LiAgXHUwZDM4XHUwZDM5XHUwZDNlXHUwZDJmXHUwZDI0XHUwZDRkXHUwZDI0XHUwZDNmXHUwZDI4XHUwZDQxIEFMVC0wIFx1MGQwOVx1MGQwMiIsCiJUb29scyI6ICJcdTBkMDlcdTBkMmFcdTBkMTVcdTBkMzBcdTBkMjNcdTBkMTlcdTBkNGRcdTBkMTlcdTBkMzNcdTBkNGRcdTIwMGQgIiwKIlZpZXciOiAiXHUwZDI2XHUwZDMwXHUwZDRkXHUyMDBkXHUwZDM2XHUwZDI4XHUwZDAyIiwKIlRhYmxlIjogIlx1MGQyYVx1MGQxZlx1MGQ0ZFx1MGQxZlx1MGQzZlx1MGQxNSIsCiJGb3JtYXQiOiAiXHUwZDE1XHUwZDQ2XHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDAyXHUwZDJlXHUwZDFmXHUwZDRkXHUwZDFmXHUwZDQxXHUwZDAyIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/mn_MN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdtbl9NTicsewoiQ3V0IjogIlx1MDQxZVx1MDQzM1x1MDQ0Mlx1MDQzYlx1MDQzZVx1MDQ0NSIsCiJIZWFkZXIgMiI6ICJIZWFkZXIgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiIsCiJEaXYiOiAiRGl2IiwKIlBhc3RlIjogIlx1MDQyNVx1MDQ0M1x1MDQ0M1x1MDQzYlx1MDQzMVx1MDQzMFx1MDQ0MCBcdTA0MzFcdTA0NDNcdTA0NDNcdTA0M2JcdTA0MzNcdTA0MzBcdTA0NDUiLAoiQ2xvc2UiOiAiQ2xvc2UiLAoiRm9udCBGYW1pbHkiOiAiRm9udCBGYW1pbHkiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJBbGlnbiByaWdodCIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNDI4XHUwNDM4XHUwNDNkXHUwNDRkIFx1MDQzMVx1MDQzMFx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQ0MiIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1iZXJlZCBsaXN0IiwKIkluY3JlYXNlIGluZGVudCI6ICJJbmNyZWFzZSBpbmRlbnQiLAoiRm9ybWF0cyI6ICJGb3JtYXRzIiwKIkhlYWRlcnMiOiAiSGVhZGVycyIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMVx1MDRhZlx1MDQzM1x1MDQzNFx1MDQzOFx1MDQzOVx1MDQzMyBcdTA0NDFcdTA0M2VcdTA0M2RcdTA0MzNcdTA0M2VcdTA0NDUiLAoiSGVhZGVyIDMiOiAiSGVhZGVyIDMiLAoiQmxvY2tzIjogIkJsb2NrcyIsCiJVbmRvIjogIlx1MDRhZVx1MDQzOVx1MDQzYlx1MDQzNFx1MDQzYlx1MDQzOFx1MDQzOVx1MDQzMyBcdTA0MzFcdTA0NDNcdTA0NDZcdTA0MzBcdTA0MzBcdTA0NDUiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA0MTRcdTA0NDNcdTA0M2RcdTA0MzRcdTA0NDNcdTA0NDNcdTA0NDAgXHUwNDM3XHUwNDQzXHUwNDQwXHUwNDMwXHUwNDMwXHUwNDQxIiwKIkJ1bGxldCBsaXN0IjogIkJ1bGxldCBsaXN0IiwKIkhlYWRlciAxIjogIkhlYWRlciAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxN1x1MDQ0ZFx1MDQ0MFx1MDQ0ZFx1MDQzMyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQzYlx1MDQ0Ylx1MDQzMyBcdTA0MzBcdTA0NDBcdTA0MzhcdTA0M2JcdTA0MzNcdTA0MzBcdTA0NDUiLAoiRm9udCBTaXplcyI6ICJGb250IFNpemVzIiwKIlN1YnNjcmlwdCI6ICJcdTA0MThcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDEiLAoiSGVhZGVyIDYiOiAiSGVhZGVyIDYiLAoiUmVkbyI6ICJcdTA0MTRcdTA0MzBcdTA0NDVcdTA0MzhcdTA0M2QgXHUwNDQ1XHUwNDM4XHUwNDM5XHUwNDQ1IiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhcGgiLAoiT2siOiAiXHUwNDFlXHUwNDNhIiwKIkJvbGQiOiAiXHUwNDIyXHUwNDNlXHUwNDM0IiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiXHUwNDFkXHUwNDMwXHUwNDNiXHUwNDQzXHUwNDQzIiwKIkFsaWduIGNlbnRlciI6ICJcdTA0MjJcdTA0ZTlcdTA0MzJcdTA0MzQgXHUwNDM3XHUwNDRkXHUwNDQwXHUwNDRkXHUwNDMzXHUwNDQ2XHUwNGFmXHUwNGFmXHUwNDNiXHUwNDRkXHUwNDQ1IiwKIkhlYWRlciA1IjogIkhlYWRlciA1IiwKIkRlY3JlYXNlIGluZGVudCI6ICJEZWNyZWFzZSBpbmRlbnQiLAoiSGVhZGVyIDQiOiAiSGVhZGVyIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiIsCiJVbmRlcmxpbmUiOiAiXHUwNDE0XHUwNDNlXHUwNDNlXHUwNDMzXHUwNDQzXHUwNDQzXHUwNDQwIFx1MDQzN1x1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQzMFx1MDQ0MSIsCiJDYW5jZWwiOiAiXHUwNDExXHUwNDNlXHUwNDNiXHUwNDM4XHUwNDQ1IiwKIkp1c3RpZnkiOiAiSnVzdGlmeSIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkNvcHkiOiAiXHUwNDI1XHUwNDQzXHUwNDQzXHUwNDNiXHUwNDMwXHUwNDQ1IiwKIkFsaWduIGxlZnQiOiAiXHUwNDE3XHUwNGFmXHUwNGFmXHUwNDNkXHUwNDM0IFx1MDQzN1x1MDQ0ZFx1MDQ0MFx1MDQ0ZFx1MDQzM1x1MDQ0Nlx1MDRhZlx1MDRhZlx1MDQzYlx1MDQ0ZFx1MDQ0NSIsCiJWaXN1YWwgYWlkcyI6ICJcdTA0MTJcdTA0MzhcdTA0MzdcdTA0NDNcdTA0MzBcdTA0M2IgXHUwNDQyXHUwNDQzXHUwNDQxXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDM2IiwKIkxvd2VyIEdyZWVrIjogIkxvd2VyIEdyZWVrIiwKIlNxdWFyZSI6ICJTcXVhcmUiLAoiRGVmYXVsdCI6ICJEZWZhdWx0IiwKIkxvd2VyIEFscGhhIjogIkxvd2VyIEFscGhhIiwKIkNpcmNsZSI6ICJDaXJjbGUiLAoiRGlzYyI6ICJEaXNjIiwKIlVwcGVyIEFscGhhIjogIlVwcGVyIEFscGhhIiwKIlVwcGVyIFJvbWFuIjogIlVwcGVyIFJvbWFuIiwKIkxvd2VyIFJvbWFuIjogIkxvd2VyIFJvbWFuIiwKIk5hbWUiOiAiTmFtZSIsCiJBbmNob3IiOiAiQW5jaG9yIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUmVzdG9yZSBsYXN0IGRyYWZ0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpYWwgY2hhcmFjdGVyIiwKIlNvdXJjZSBjb2RlIjogIlNvdXJjZSBjb2RlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUmlnaHQgdG8gbGVmdCIsCiJMZWZ0IHRvIHJpZ2h0IjogIkxlZnQgdG8gcmlnaHQiLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJSb2JvdHMiOiAiUm9ib3RzIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9jdW1lbnQgcHJvcGVydGllcyIsCiJUaXRsZSI6ICJUaXRsZSIsCiJLZXl3b3JkcyI6ICJLZXl3b3JkcyIsCiJFbmNvZGluZyI6ICJFbmNvZGluZyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIsCiJBdXRob3IiOiAiQXV0aG9yIiwKIkZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiSG9yaXpvbnRhbCBsaW5lIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbCBzcGFjZSIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJ0XC9lZGl0IGltYWdlIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBZHZhbmNlZCIsCiJTb3VyY2UiOiAiU291cmNlIiwKIkJvcmRlciI6ICJCb3JkZXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJWZXJ0aWNhbCBzcGFjZSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJJbWFnZSBkZXNjcmlwdGlvbiIsCiJTdHlsZSI6ICJTdHlsZSIsCiJEaW1lbnNpb25zIjogIkRpbWVuc2lvbnMiLAoiSW5zZXJ0IGltYWdlIjogIkluc2VydCBpbWFnZSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcnQgZGF0ZVwvdGltZSIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IHRvIGRpc3BsYXkiLAoiQW5jaG9ycyI6ICJBbmNob3JzIiwKIkluc2VydCBsaW5rIjogIkluc2VydCBsaW5rIiwKIk5ldyB3aW5kb3ciOiAiTmV3IHdpbmRvdyIsCiJOb25lIjogIk5vbmUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiVGFyZ2V0IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcnRcL2VkaXQgbGluayIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiSW5zZXJ0XC9lZGl0IHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXZlIHNvdXJjZSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiLAoiSW5zZXJ0IHZpZGVvIjogIkluc2VydCB2aWRlbyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOb25icmVha2luZyBzcGFjZSIsCiJQYWdlIGJyZWFrIjogIlBhZ2UgYnJlYWsiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiUHJldmlldyIsCiJQcmludCI6ICJQcmludCIsCiJTYXZlIjogIlNhdmUiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiIsCiJSZXBsYWNlIjogIlJlcGxhY2UiLAoiTmV4dCI6ICJOZXh0IiwKIldob2xlIHdvcmRzIjogIldob2xlIHdvcmRzIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmluZCBhbmQgcmVwbGFjZSIsCiJSZXBsYWNlIHdpdGgiOiAiUmVwbGFjZSB3aXRoIiwKIkZpbmQiOiAiRmluZCIsCiJSZXBsYWNlIGFsbCI6ICJSZXBsYWNlIGFsbCIsCiJNYXRjaCBjYXNlIjogIk1hdGNoIGNhc2UiLAoiUHJldiI6ICJQcmV2IiwKIlNwZWxsY2hlY2siOiAiU3BlbGxjaGVjayIsCiJGaW5pc2giOiAiRmluaXNoIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlIGFsbCIsCiJJZ25vcmUiOiAiSWdub3JlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIkluc2VydCByb3cgYmVmb3JlIiwKIlJvd3MiOiAiUm93cyIsCiJIZWlnaHQiOiAiSGVpZ2h0IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQYXN0ZSByb3cgYWZ0ZXIiLAoiQWxpZ25tZW50IjogIkFsaWdubWVudCIsCiJDb2x1bW4gZ3JvdXAiOiAiQ29sdW1uIGdyb3VwIiwKIlJvdyI6ICJSb3ciLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiLAoiU3BsaXQgY2VsbCI6ICJTcGxpdCBjZWxsIiwKIkNlbGwgcGFkZGluZyI6ICJDZWxsIHBhZGRpbmciLAoiQ2VsbCBzcGFjaW5nIjogIkNlbGwgc3BhY2luZyIsCiJSb3cgdHlwZSI6ICJSb3cgdHlwZSIsCiJJbnNlcnQgdGFibGUiOiAiSW5zZXJ0IHRhYmxlIiwKIkJvZHkiOiAiQm9keSIsCiJDYXB0aW9uIjogIkNhcHRpb24iLAoiRm9vdGVyIjogIkZvb3RlciIsCiJEZWxldGUgcm93IjogIkRlbGV0ZSByb3ciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJQYXN0ZSByb3cgYmVmb3JlIiwKIlNjb3BlIjogIlNjb3BlIiwKIkRlbGV0ZSB0YWJsZSI6ICJEZWxldGUgdGFibGUiLAoiSGVhZGVyIGNlbGwiOiAiSGVhZGVyIGNlbGwiLAoiQ29sdW1uIjogIkNvbHVtbiIsCiJDZWxsIjogIkNlbGwiLAoiSGVhZGVyIjogIkhlYWRlciIsCiJDZWxsIHR5cGUiOiAiQ2VsbCB0eXBlIiwKIkNvcHkgcm93IjogIkNvcHkgcm93IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJvdyBwcm9wZXJ0aWVzIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFibGUgcHJvcGVydGllcyIsCiJSb3cgZ3JvdXAiOiAiUm93IGdyb3VwIiwKIlJpZ2h0IjogIlJpZ2h0IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJ0IGNvbHVtbiBhZnRlciIsCiJDb2xzIjogIkNvbHMiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcnQgcm93IGFmdGVyIiwKIldpZHRoIjogIldpZHRoIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsIHByb3BlcnRpZXMiLAoiTGVmdCI6ICJMZWZ0IiwKIkN1dCByb3ciOiAiQ3V0IHJvdyIsCiJEZWxldGUgY29sdW1uIjogIkRlbGV0ZSBjb2x1bW4iLAoiQ2VudGVyIjogIkNlbnRlciIsCiJNZXJnZSBjZWxscyI6ICJNZXJnZSBjZWxscyIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiSW5zZXJ0IHRlbXBsYXRlIiwKIlRlbXBsYXRlcyI6ICJUZW1wbGF0ZXMiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWNrZ3JvdW5kIGNvbG9yIiwKIlRleHQgY29sb3IiOiAiVGV4dCBjb2xvciIsCiJTaG93IGJsb2NrcyI6ICJTaG93IGJsb2NrcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiLAoiV29yZHM6IHswfSI6ICJXb3JkczogezB9IiwKIkluc2VydCI6ICJJbnNlcnQiLAoiRmlsZSI6ICJGaWxlIiwKIkVkaXQiOiAiRWRpdCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCIsCiJUb29scyI6ICJUb29scyIsCiJWaWV3IjogIlZpZXciLAoiVGFibGUiOiAiVGFibGUiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/nb_NO.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCduYl9OTycsewoiQ3V0IjogIktsaXBwIHV0IiwKIkhlYWRpbmcgNSI6ICJPdmVyc2tyaWZ0IDUiLAoiSGVhZGVyIDIiOiAiT3ZlcnNrcmlmdCAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIk5ldHRsZXNlcmVuIGRpbiBzdFx1MDBmOHR0ZXIgaWtrZSBkaXJla3RlIHRpbGdhbmcgdGlsIHV0a2xpcHBzYm9rZW4uIEJydWsgaXN0ZWRldCB0YXN0YXR1ci1zbmFydmVpZW5lIEN0cmwrWFwvQ1wvViwgZWxsZXIgQ21kK1hcL0NcL1YgcFx1MDBlNSBNYWMuIiwKIkhlYWRpbmcgNCI6ICJPdmVyc2tyaWZ0IDQiLAoiRGl2IjogIkRlbGJsb2trIDxkaXY+IiwKIkhlYWRpbmcgMiI6ICJPdmVyc2tyaWZ0IDIiLAoiUGFzdGUiOiAiTGltIGlubiIsCiJDbG9zZSI6ICJMdWtrIiwKIkZvbnQgRmFtaWx5IjogIlNrcmlmdHNuaXR0IiwKIlByZSI6ICJEZWZpbmVydCA8cHJlPiIsCiJBbGlnbiByaWdodCI6ICJIXHUwMGY4eXJlanVzdGVydCIsCiJOZXcgZG9jdW1lbnQiOiAiTnl0dCBkb2t1bWVudCIsCiJCbG9ja3F1b3RlIjogIlNpdGF0Ymxva2sgPGJsb2NrcXVvdGU+IiwKIk51bWJlcmVkIGxpc3QiOiAiTnVtbWVybGlzdGUiLAoiSGVhZGluZyAxIjogIk92ZXJza3JpZnQgMSIsCiJIZWFkaW5ncyI6ICJPdmVyc2tyaWZ0ZXIiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDBkOGsgaW5ucnlrayIsCiJGb3JtYXRzIjogIlN0aWxlciIsCiJIZWFkZXJzIjogIk92ZXJza3JpZnRlciIsCiJTZWxlY3QgYWxsIjogIk1hcmtlciBhbHQiLAoiSGVhZGVyIDMiOiAiT3ZlcnNrcmlmdCAzIiwKIkJsb2NrcyI6ICJCbG9ra2VyIiwKIlVuZG8iOiAiQW5ncmUiLAoiU3RyaWtldGhyb3VnaCI6ICJHamVubm9tc3RyZWtldCIsCiJCdWxsZXQgbGlzdCI6ICJQdW5rdGxpc3RlIiwKIkhlYWRlciAxIjogIk92ZXJza3JpZnQgMSIsCiJTdXBlcnNjcmlwdCI6ICJIZXZldCBza3JpZnQiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJGamVybiBmb3JtYXRlcmluZ2VyIiwKIkZvbnQgU2l6ZXMiOiAiU3RcdTAwZjhycmVsc2UiLAoiU3Vic2NyaXB0IjogIlNlbmtldCBza3JpZnQiLAoiSGVhZGVyIDYiOiAiT3ZlcnNrcmlmdCA2IiwKIlJlZG8iOiAiVXRmXHUwMGY4ciBsaWtldmVsIiwKIlBhcmFncmFwaCI6ICJBdnNuaXR0IDxwPiIsCiJPayI6ICJPSyIsCiJCb2xkIjogIkhhbHZmZXQiLAoiQ29kZSI6ICJLb2RlIDxjb2RlPiIsCiJJdGFsaWMiOiAiS3Vyc2l2IiwKIkFsaWduIGNlbnRlciI6ICJNaWR0c3RpbHQiLAoiSGVhZGVyIDUiOiAiT3ZlcnNrcmlmdCA1IiwKIkhlYWRpbmcgNiI6ICJPdmVyc2tyaWZ0IDYiLAoiSGVhZGluZyAzIjogIk92ZXJza3JpZnQgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiUmVkdXNlciBpbm5yeWtrIiwKIkhlYWRlciA0IjogIk92ZXJza3JpZnQgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTGltIGlubiBlciBuXHUwMGU1IGkgcmVuLXRla3N0IG1vZHVzLiBLb3BpZXJ0IGlubmhvbGQgdmlsIGJsaSBsaW10IGlubiBzb20gcmVuIHRla3N0IGlubnRpbCBkdSBzbFx1MDBlNXIgYXYgZGV0dGUgdmFsZ2V0LiIsCiJVbmRlcmxpbmUiOiAiVW5kZXJzdHJla2V0IiwKIkNhbmNlbCI6ICJBdmJyeXQiLAoiSnVzdGlmeSI6ICJKdXN0ZXIgYWxsZSBsaW5qZXIiLAoiSW5saW5lIjogIklubmthcHNsZXQgPHNwYW4+IiwKIkNvcHkiOiAiS29waWVyIiwKIkFsaWduIGxlZnQiOiAiVmVuc3RyZWp1c3RlcnQiLAoiVmlzdWFsIGFpZHMiOiAiVmlzdWVsbGUgaGplbHBlbWlkbGVyIiwKIkxvd2VyIEdyZWVrIjogIkdyZXNrZSBtaW51c2tsZXIiLAoiU3F1YXJlIjogIkZ5bHQgZmlya2FudCIsCiJEZWZhdWx0IjogIk5vcm1hbCIsCiJMb3dlciBBbHBoYSI6ICJNaW51c2tsZXIiLAoiQ2lyY2xlIjogIlx1MDBjNXBlbiBzaXJrZWwiLAoiRGlzYyI6ICJGeWx0IHNpcmtlbCIsCiJVcHBlciBBbHBoYSI6ICJWZXJzYWxlciIsCiJVcHBlciBSb21hbiI6ICJSb21lcnNrZSB2ZXJzYWxlciIsCiJMb3dlciBSb21hbiI6ICJSb21lcnNrZSBtaW51c2tsZXIiLAoiTmFtZSI6ICJOYXZuIiwKIkFuY2hvciI6ICJBbmtlciIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkR1IGhhciBpa2tlIGFya2l2ZXJ0IGVuZHJpbmdlbmUuIFZpbCBkdSBmb3J0c2V0dGUgdXRlbiBcdTAwZTUgYXJraXZlcmU/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJHamVub3BwcmV0dCBzaXN0ZSB1dGthc3QiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3Blc2lhbHRlZ24iLAoiU291cmNlIGNvZGUiOiAiS2lsZGVrb2RlIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIkZhcmdlIiwKIlJpZ2h0IHRvIGxlZnQiOiAiSFx1MDBmOHlyZSB0aWwgdmVuc3RyZSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlZlbnN0cmUgdGlsIGhcdTAwZjh5cmUiLAoiRW1vdGljb25zIjogIkh1bVx1MDBmOHJmamVzIiwKIlJvYm90cyI6ICJSb2JvdGVyIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiRG9rdW1lbnRlZ2Vuc2thcGVyIiwKIlRpdGxlIjogIlRpdHRlbCIsCiJLZXl3b3JkcyI6ICJOXHUwMGY4a2tlbG9yZCIsCiJFbmNvZGluZyI6ICJUZWdua29kaW5nIiwKIkRlc2NyaXB0aW9uIjogIkJlc2tyaXZlbHNlIiwKIkF1dGhvciI6ICJGb3JmYXR0ZXIiLAoiRnVsbHNjcmVlbiI6ICJGdWxsc2tqZXJtIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpc29udGFsIGxpbmplIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXNvbnRhbCBtYXJnIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJTZXR0IGlublwvZW5kcmUgYmlsZGUiLAoiR2VuZXJhbCI6ICJHZW5lcmVsdCIsCiJBZHZhbmNlZCI6ICJBdmFuc2VydCIsCiJTb3VyY2UiOiAiQmlsZGVsZW5rZSIsCiJCb3JkZXIiOiAiUmFtbWUiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkJlaG9sZCBwcm9wb3Jzam9uZXIiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrYWwgbWFyZyIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJCaWxkZWJlc2tyaXZlbHNlIiwKIlN0eWxlIjogIlN0aWwiLAoiRGltZW5zaW9ucyI6ICJEaW1lbnNqb25lciIsCiJJbnNlcnQgaW1hZ2UiOiAiU2V0dCBpbm4gYmlsZGUiLAoiWm9vbSBpbiI6ICJab29tIGlubiIsCiJDb250cmFzdCI6ICJLb250cmFzdCIsCiJCYWNrIjogIlRpbGJha2UiLAoiR2FtbWEiOiAiR2FtbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiU3BlaWx2ZW5kIGhvcmlzb250YWx0IiwKIlJlc2l6ZSI6ICJTa2FsZXIiLAoiU2hhcnBlbiI6ICJTa2FycGhldCIsCiJab29tIG91dCI6ICJab29tIHV0IiwKIkltYWdlIG9wdGlvbnMiOiAiQmlsZGUgaW5uc3RpbGxpbmdlciIsCiJBcHBseSI6ICJVdGZcdTAwZjhyIiwKIkJyaWdodG5lc3MiOiAiTHlzc3R5cmtlIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUm90ZXIgbW90IGhcdTAwZjh5cmUiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUm90ZXIgbW90IHZlbnN0cmUiLAoiRWRpdCBpbWFnZSI6ICJSZWRpZ2VyIGJpbGRlIiwKIkNvbG9yIGxldmVscyI6ICJGYXJnZW5pdlx1MDBlNSIsCiJDcm9wIjogIkJlc2tqXHUwMGU2ciIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRlcmluZyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiU3BlaWx2ZW5kIHZlcnRpa2FsdCIsCiJJbnZlcnQiOiAiSW52ZXJ0ZXIiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiU2V0dCBpbm4gZGF0b1wvdGlkIiwKIlJlbW92ZSBsaW5rIjogIkZqZXJuIGxlbmtlIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0IHNvbSBza2FsIHZpc2VzIiwKIkFuY2hvcnMiOiAiQW5rZXIiLAoiSW5zZXJ0IGxpbmsiOiAiU2V0dCBpbm4gbGVua2UiLAoiTmV3IHdpbmRvdyI6ICJOeXR0IHZpbmR1IiwKIk5vbmUiOiAiSW5nZW4iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIk9wcGdpdHQgVVJMIHNlciB1dCB0aWwgXHUwMGU1IHZcdTAwZTZyZSBlbiBlLXBvc3RhZHJlc3NlLiBcdTAwZDhuc2tlciBkdSBcdTAwZTUgc2V0dGUgaW5uIHBcdTAwZTVrcmV2ZCBtYWlsdG86LXByZWZpa3MgZm9yYW4gZS1wb3N0YWRyZXNzZW4/IiwKIlRhcmdldCI6ICJNXHUwMGU1bCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIk9wcGdpdHRlIFVSTCBzZXIgdXQgdGlsIFx1MDBlNSB2XHUwMGU2cmUgZW4gZXBvc3QtYWRyZXNzZS4gXHUwMGQ4bnNrZXIgZHUgXHUwMGU1IHNldHRlIGlubiBwXHUwMGU1a3JldmV0IG1haWx0bzogcHJlZmlrcyBmb3JyYW4gZXBvc3QtYWRyZXNzZW4/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlNldHQgaW5uXC9lbmRyZSBsZW5rZSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiU2V0dCBpbm5cL3JlZGlnZXIgdmlkZW8iLAoiUG9zdGVyIjogIlBsYWthdGJpbGRlIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGl2IGtpbGRlIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiTGltIGlubiAgaW5rbHVkZXJpbmdzLWtvZGVuIG5lZGVuZm9yIiwKIkluc2VydCB2aWRlbyI6ICJTZXR0IGlubiB2aWRlbyIsCiJFbWJlZCI6ICJJbmtsdWRlciIsCiJOb25icmVha2luZyBzcGFjZSI6ICJIYXJkdCBtZWxsb21yb20iLAoiUGFnZSBicmVhayI6ICJTaWRlc2tpZnRlIiwKIlBhc3RlIGFzIHRleHQiOiAiTGltIGlubiBzb20gdGVrc3QiLAoiUHJldmlldyI6ICJGb3JoXHUwMGU1bmRzdmlzbmluZyIsCiJQcmludCI6ICJTa3JpdiB1dCIsCiJTYXZlIjogIkFya2l2ZXIiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkt1bm5lIGlra2UgZmlubmUgZGVuIHNwZXNpZmlzZXJ0ZSB0ZWtzdGVuIiwKIlJlcGxhY2UiOiAiRXJzdGF0dCIsCiJOZXh0IjogIk5lc3RlIiwKIldob2xlIHdvcmRzIjogIkhlbGUgb3JkIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiRmlubiBvZyBlcnN0YXR0IiwKIlJlcGxhY2Ugd2l0aCI6ICJFcnN0YXR0IG1lZCIsCiJGaW5kIjogIkZpbm4iLAoiUmVwbGFjZSBhbGwiOiAiRXJzdGF0dCBhbGxlIiwKIk1hdGNoIGNhc2UiOiAiTWF0Y2ggc3RvcmUgb2cgc21cdTAwZTUgYm9rc3RhdmVyIiwKIlByZXYiOiAiRm9ycmlnZSIsCiJTcGVsbGNoZWNrIjogIlN0YXZla29udHJvbGwiLAoiRmluaXNoIjogIkF2c2x1dHQiLAoiSWdub3JlIGFsbCI6ICJJZ25vcmVyIGFsbGUiLAoiSWdub3JlIjogIklnbm9yZXIiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiTGVnZyB0aWwgaSBvcmRsaXN0ZSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJTZXR0IGlubiByYWQgZlx1MDBmOHIiLAoiUm93cyI6ICJSYWRlciIsCiJIZWlnaHQiOiAiSFx1MDBmOHlkZSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiTGltIGlubiByYWQgZXR0ZXIiLAoiQWxpZ25tZW50IjogIkp1c3RlcmluZyIsCiJCb3JkZXIgY29sb3IiOiAiUmFtbWVmYXJnZSIsCiJDb2x1bW4gZ3JvdXAiOiAiS29sb25uZWdydXBwZSIsCiJSb3ciOiAiUmFkIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlNldHQgaW5uIGtvbG9ubmUgZlx1MDBmOHIiLAoiU3BsaXQgY2VsbCI6ICJTcGxpdHQgY2VsbGUiLAoiQ2VsbCBwYWRkaW5nIjogIkNlbGxlbWFyZyIsCiJDZWxsIHNwYWNpbmciOiAiQ2VsbGVhdnN0YW5kIiwKIlJvdyB0eXBlIjogIlJhZC10eXBlIiwKIkluc2VydCB0YWJsZSI6ICJTZXR0IGlubiB0YWJlbGwiLAoiQm9keSI6ICJCclx1MDBmOGR0ZWtzdCIsCiJDYXB0aW9uIjogIlRpdHRlbCIsCiJGb290ZXIiOiAiQnVubnRla3N0IiwKIkRlbGV0ZSByb3ciOiAiU2xldHQgcmFkIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiTGltIGlubiByYWQgZlx1MDBmOHIiLAoiU2NvcGUiOiAiT21mYW5nIiwKIkRlbGV0ZSB0YWJsZSI6ICJTbGV0dCB0YWJlbGwiLAoiSCBBbGlnbiI6ICJIIEp1c3RlcmluZyIsCiJUb3AiOiAiVG9wcCIsCiJIZWFkZXIgY2VsbCI6ICJUb3BwdGVrc3QtY2VsbGUiLAoiQ29sdW1uIjogIktvbG9ubmUiLAoiUm93IGdyb3VwIjogIlJhZGdydXBwZSIsCiJDZWxsIjogIkNlbGxlIiwKIk1pZGRsZSI6ICJNaWR0ZW4iLAoiQ2VsbCB0eXBlIjogIkNlbGxldHlwZSIsCiJDb3B5IHJvdyI6ICJLb3BpZXIgcmFkIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJhZCBlZ2Vuc2thcGVyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWxsIGVnZW5za2FwZXIiLAoiQm90dG9tIjogIkJ1bm4iLAoiViBBbGlnbiI6ICJWIEp1c3RlcmluZyIsCiJIZWFkZXIiOiAiVG9wcHRla3N0IiwKIlJpZ2h0IjogIkhcdTAwZjh5cmUiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJTZXR0IGlubiBrb2xvbm5lIGV0dGVyIiwKIkNvbHMiOiAiS29sb25uZXIiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJTZXR0IGluIHJhZCBldHRlciIsCiJXaWR0aCI6ICJCcmVkZGUiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkNlbGxlIGVnZW5za2FwZXIiLAoiTGVmdCI6ICJWZW5zdHJlIiwKIkN1dCByb3ciOiAiS2xpcHAgdXQgcmFkIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU2xldHQga29sb25uZSIsCiJDZW50ZXIiOiAiTWlkdHN0aWx0IiwKIk1lcmdlIGNlbGxzIjogIlNsXHUwMGU1IHNhbW1lbiBjZWxsZXIiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlNldHQgaW5uIG1hbCIsCiJUZW1wbGF0ZXMiOiAiTWFsZXIiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWtncnVubnNmYXJnZSIsCiJDdXN0b20uLi4iOiAiVGlscGFzcy4uLiIsCiJDdXN0b20gY29sb3IiOiAiVGlscGFzc2V0IGZhcmdlIiwKIk5vIGNvbG9yIjogIkluZ2VuIGZhcmdlIiwKIlRleHQgY29sb3IiOiAiVGVrc3RmYXJnZSIsCiJTaG93IGJsb2NrcyI6ICJWaXMgYmxva2tlciIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlZpcyBza2p1bHRlIHRlZ24iLAoiV29yZHM6IHswfSI6ICJBbnRhbGwgb3JkOiB7MH0iLAoiSW5zZXJ0IjogIlNldHQgaW5uIiwKIkZpbGUiOiAiQXJraXYiLAoiRWRpdCI6ICJSZWRpZ2VyIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlRla3N0cmVkaWdlcmluZy4gVGFzdCBBTFQtRjkgZm9yIG1lbnkuIFRhc3QgQUxULUYxMCBmb3IgdmVya3RcdTAwZjh5cy1yYWRlci4gVGFzdCBBTFQtMCBmb3IgaGplbHAuIiwKIlRvb2xzIjogIlZlcmt0XHUwMGY4eSIsCiJWaWV3IjogIlZpcyIsCiJUYWJsZSI6ICJUYWJlbGwiLAoiRm9ybWF0IjogIkZvcm1hdCIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/nl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdubCcsewoiQ3V0IjogIktuaXBwZW4iLAoiSGVhZGluZyA1IjogIktvcCA1IiwKIkhlYWRlciAyIjogIktvcCAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlV3IGJyb3dzZXIgb25kZXJzdGV1bnQgZ2VlbiB0b2VnYW5nIHRvdCBoZXQgY2xpcGJvYXJkLiBHZWxpZXZlIGN0cmwrWFwvQ1wvViBzbmVsdG9ldHNlbiB0ZSBnZWJydWlrZW4uIiwKIkhlYWRpbmcgNCI6ICJLb3AgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJLb3AgMiIsCiJQYXN0ZSI6ICJQbGFra2VuIiwKIkNsb3NlIjogIlNsdWl0ZW4iLAoiRm9udCBGYW1pbHkiOiAiTGV0dGVydHlwZSIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlJlY2h0cyB1aXRsaWpuZW4iLAoiTmV3IGRvY3VtZW50IjogIk5pZXV3IGRvY3VtZW50IiwKIkJsb2NrcXVvdGUiOiAiUXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1tZXJpbmciLAoiSGVhZGluZyAxIjogIktvcCAxIiwKIkhlYWRpbmdzIjogIktvcHBlbiIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiSW5zcHJpbmdlbiB2ZXJncm90ZW4iLAoiRm9ybWF0cyI6ICJPcG1hYWsiLAoiSGVhZGVycyI6ICJLb3B0ZWtzdGVuIiwKIlNlbGVjdCBhbGwiOiAiQWxsZXMgc2VsZWN0ZXJlbiIsCiJIZWFkZXIgMyI6ICJLb3AgMyIsCiJCbG9ja3MiOiAiQmxvayIsCiJVbmRvIjogIk9uZ2VkYWFuIG1ha2VuIiwKIlN0cmlrZXRocm91Z2giOiAiRG9vcmhhbGVuIiwKIkJ1bGxldCBsaXN0IjogIk9wc29tbWluZ3N0ZWtlbiIsCiJIZWFkZXIgMSI6ICJLb3AgMSIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlcnNjcmlwdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIk9wbWFhayB2ZXJ3aWpkZXJlbiIsCiJGb250IFNpemVzIjogIlRla2VuZ3Jvb3R0ZSIsCiJTdWJzY3JpcHQiOiAiU3Vic2NyaXB0IiwKIkhlYWRlciA2IjogIktvcCA2IiwKIlJlZG8iOiAiT3BuaWV1dyIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYWFmIiwKIk9rIjogIk9rXHUwMGU5IiwKIkJvbGQiOiAiVmV0IiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiQ3Vyc2llZiIsCiJBbGlnbiBjZW50ZXIiOiAiQ2VudHJlcmVuIiwKIkhlYWRlciA1IjogIktvcCA1IiwKIkhlYWRpbmcgNiI6ICJLb3AgNiIsCiJIZWFkaW5nIDMiOiAiS29wIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIkluc3ByaW5nZW4gdmVya2xlaW5lbiIsCiJIZWFkZXIgNCI6ICJLb3AgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiUGxha2tlbiBnZWJldXJ0IG51IGFscyBwbGF0dGUgdGVrc3QuIFRla3N0IHdvcmR0IG51IGluZ2V2b2VnZCB6b25kZXIgb3BtYWFrIHRvdCBkZXplIG9wdGllIHVpdGdlc2NoYWtlbGQgd29yZHQuIiwKIlVuZGVybGluZSI6ICJPbmRlcnN0cmVlcHQiLAoiQ2FuY2VsIjogIkFubnVsZXJlbiIsCiJKdXN0aWZ5IjogIlVpdGxpam5lbiIsCiJJbmxpbmUiOiAiSW5saWpuIiwKIkNvcHkiOiAiS29waVx1MDBlYnJlbiIsCiJBbGlnbiBsZWZ0IjogIkxpbmtzIHVpdGxpam5lbiIsCiJWaXN1YWwgYWlkcyI6ICJIdWxwbWlkZGVsZW4iLAoiTG93ZXIgR3JlZWsiOiAiR3JpZWtzZSBsZXR0ZXJzIiwKIlNxdWFyZSI6ICJWaWVya2FudCIsCiJEZWZhdWx0IjogIlN0YW5kYWFyZCIsCiJMb3dlciBBbHBoYSI6ICJLbGVpbmUgbGV0dGVycyIsCiJDaXJjbGUiOiAiQ2lya2VsIiwKIkRpc2MiOiAiQm9sbGV0amUiLAoiVXBwZXIgQWxwaGEiOiAiSG9vZmRsZXR0ZXJzIiwKIlVwcGVyIFJvbWFuIjogIlJvbWVpbnNlIGNpamZlcnMgZ3Jvb3QiLAoiTG93ZXIgUm9tYW4iOiAiUm9tZWluc2UgY2lqZmVycyBrbGVpbiIsCiJOYW1lIjogIk5hYW0iLAoiQW5jaG9yIjogIkFua2VyIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiVSBoZWJ0IG5pZXQgYWxsZXMgb3BnZXNsYWdlbiBiZW50IHUgemVrZXIgZGF0IHUgZGUgcGFnaW5hIHdlbnN0IHRlIHZlcmxhdGVuPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiSGVyc3RlbCBoZXQgbGFhdHN0ZSBjb25jZXB0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlNwZWNpYWxlIGthcmFrdGVycyIsCiJTb3VyY2UgY29kZSI6ICJCcm9uY29kZSIsCiJCIjogIkJsYXV3IiwKIlIiOiAiUm9vZCIsCiJHIjogIkdyb2VuIiwKIkNvbG9yIjogIktsZXVyIiwKIlJpZ2h0IHRvIGxlZnQiOiAiUmVjaHRzIG5hYXIgbGlua3MiLAoiTGVmdCB0byByaWdodCI6ICJMaW5rcyBuYWFyIHJlY2h0cyIsCiJFbW90aWNvbnMiOiAiRW1vdGljb25zIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2N1bWVudCBlaWdlbnNjaGFwcGVuIiwKIlRpdGxlIjogIlRpdGVsIiwKIktleXdvcmRzIjogIlNsZXV0ZWx3b29yZGVuIiwKIkVuY29kaW5nIjogIkNvZGVyaW5nIiwKIkRlc2NyaXB0aW9uIjogIk9tc2NocmlqdmluZyIsCiJBdXRob3IiOiAiQXV0ZXVyIiwKIkZ1bGxzY3JlZW4iOiAiVm9sbGVkaWcgc2NoZXJtIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsZSBsaWpuIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbGUgcnVpbXRlIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJBZmJlZWxkaW5nIGludm9lZ2VuXC9iZXdlcmtlbiIsCiJHZW5lcmFsIjogIkFsZ2VtZWVuIiwKIkFkdmFuY2VkIjogIkdlYXZhbmNlZXJkIiwKIlNvdXJjZSI6ICJCcm9uIiwKIkJvcmRlciI6ICJSYW5kIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJWZXJob3VkaW5nZW4gYmVob3VkZW4iLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGljYWxlIHJ1aW10ZSIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJBZmJlZWxkaW5nIG9tc2NocmlqdmluZyIsCiJTdHlsZSI6ICJTdGlqbCIsCiJEaW1lbnNpb25zIjogIkFmbWV0aW5nZW4iLAoiSW5zZXJ0IGltYWdlIjogIkFmYmVlbGRpbmcgaW52b2VnZW4iLAoiWm9vbSBpbiI6ICJJbnpvb21lbiIsCiJDb250cmFzdCI6ICJDb250cmFzdCIsCiJCYWNrIjogIlRlcnVnIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIkhvcml6b250YWFsIHNwaWVnZWxlbiIsCiJSZXNpemUiOiAiRm9ybWFhdCBhYW5wYXNzZW4iLAoiU2hhcnBlbiI6ICJTY2hlcnB0ZSIsCiJab29tIG91dCI6ICJVaXR6b29tZW4iLAoiSW1hZ2Ugb3B0aW9ucyI6ICJBZmJlZWxkaW5nIG9wdGllcyIsCiJBcHBseSI6ICJUb2VwYXNzZW4iLAoiQnJpZ2h0bmVzcyI6ICJIZWxkZXJoZWlkIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUmVjaHRzb20gZHJhYWllbiIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJMaW5rc29tIGRyYWFpZW4iLAoiRWRpdCBpbWFnZSI6ICJCZXdlcmsgYWZiZWVsZGluZyIsCiJDb2xvciBsZXZlbHMiOiAiS2xldXJuaXZlYXUncyIsCiJDcm9wIjogIlVpdHNuaWpkZW4iLAoiT3JpZW50YXRpb24iOiAiT3JpZW50YXRpZSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiVmVydGljYWFsIHNwaWVnZWxlbiIsCiJJbnZlcnQiOiAiT21rZXJlbiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJWb2VnIGRhdHVtXC90aWpkIGluIiwKIlJlbW92ZSBsaW5rIjogIkxpbmsgdmVyd2lqZGVyZW4iLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiTGlua3Rla3N0IiwKIkFuY2hvcnMiOiAiQW5rZXIiLAoiSW5zZXJ0IGxpbmsiOiAiSHlwZXJsaW5rIGludm9lZ2VuIiwKIk5ldyB3aW5kb3ciOiAiTmlldXcgdmVuc3RlciIsCiJOb25lIjogIkdlZW4iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIkRlIGluZ2VnZXZlbiBVUkwgdmVyd2lqc3QgbmFhciBlZW4gZXh0ZXJuIGFkcmVzLiBXaWwgamUgZXIgXCJodHRwOlwvXC9cIiBhYW4gdG9ldm9lZ2VuPyIsCiJUYXJnZXQiOiAiRG9lbCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIkRlIGluZ2VnZXZlbiBVUkwgbGlqa3Qgb3AgZWVuIGUtbWFpbGFkcmVzLiBXaWwgamUgZXIgXCJtYWlsdG86XCIgYWFuIHRvZXZvZWdlbj8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiSHlwZXJsaW5rIGludm9lZ2VuXC9iZXdlcmtlbiIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVmlkZW8gaW52b2VnZW5cL2Jld2Vya2VuIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aWV2ZSBicm9uIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiUGxhayB1IGluIHRlIHNsdWl0ZW4gY29kZSBoaWVyb25kZXI6IiwKIkluc2VydCB2aWRlbyI6ICJWaWRlbyBpbnZvZWdlbiIsCiJFbWJlZCI6ICJJbnNsdWl0ZW4iLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiVmFzdGUgc3BhdGllIGludm9lZ2VuIiwKIlBhZ2UgYnJlYWsiOiAiUGFnaW5hIGVpbmRlIiwKIlBhc3RlIGFzIHRleHQiOiAiUGxha2tlbiBhbHMgdGVrc3QiLAoiUHJldmlldyI6ICJWb29yYmVlbGQiLAoiUHJpbnQiOiAiUHJpbnQiLAoiU2F2ZSI6ICJPcHNsYWFuIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJHZWVuIHJlc3VsdGF0ZW4gZ2V2b25kZW4iLAoiUmVwbGFjZSI6ICJWZXJ2YW5nZW4iLAoiTmV4dCI6ICJWb2xnZW5kZSIsCiJXaG9sZSB3b3JkcyI6ICJBbGxlZW4gaGVsZSB3b29yZGVuIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiWm9layBlbiB2ZXJ2YW5nIiwKIlJlcGxhY2Ugd2l0aCI6ICJWZXJ2YW5nZW4gZG9vciIsCiJGaW5kIjogIlpvZWtlbiIsCiJSZXBsYWNlIGFsbCI6ICJBbGxlcyB2ZXJ2YW5nZW4iLAoiTWF0Y2ggY2FzZSI6ICJJZGVudGlla2UgaG9vZmRcL2tsZWluZSBsZXR0ZXJzIiwKIlByZXYiOiAiVm9yaWdlIiwKIlNwZWxsY2hlY2siOiAiU3BlbGxpbmdzY29udHJvbGUiLAoiRmluaXNoIjogIkVpbmRlIiwKIklnbm9yZSBhbGwiOiAiQWxsZXMgbmVnZXJlbiIsCiJJZ25vcmUiOiAiTmVnZXJlbiIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJUb2V2b2VnZW4gYWFuIHdvb3JkZW5saWpzdCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJWb2VnIHJpaiBib3ZlbiB0b2UiLAoiUm93cyI6ICJSaWplbiIsCiJIZWlnaHQiOiAiSG9vZ3RlIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJQbGFrIHJpaiBvbmRlciIsCiJBbGlnbm1lbnQiOiAiVWl0bGlqbmluZyIsCiJCb3JkZXIgY29sb3IiOiAiUmFuZGtsZXVyIiwKIkNvbHVtbiBncm91cCI6ICJLb2xvbWdyb2VwIiwKIlJvdyI6ICJSaWoiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiVm9lZyBrb2xvbSBpbiB2b29yIiwKIlNwbGl0IGNlbGwiOiAiQ2VsIHNwbGl0c2VuIiwKIkNlbGwgcGFkZGluZyI6ICJSdWltdGUgYmlubmVuIGNlbCIsCiJDZWxsIHNwYWNpbmciOiAiQ2VscnVpbXRlIiwKIlJvdyB0eXBlIjogIlJpanR5cGUiLAoiSW5zZXJ0IHRhYmxlIjogIlRhYmVsIGludm9lZ2VuIiwKIkJvZHkiOiAiQm9keSIsCiJDYXB0aW9uIjogIk9uZGVyc2NocmlmdCIsCiJGb290ZXIiOiAiVm9ldHRla3N0IiwKIkRlbGV0ZSByb3ciOiAiVmVyd2lqZGVyIHJpaiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlBsYWsgcmlqIGJvdmVuIiwKIlNjb3BlIjogIkJlcmVpayIsCiJEZWxldGUgdGFibGUiOiAiVmVyd2lqZGVyIHRhYmVsIiwKIkggQWxpZ24iOiAiTGlua3MgdWl0bGlqbmVuIiwKIlRvcCI6ICJCb3ZlbmFhbiIsCiJIZWFkZXIgY2VsbCI6ICJLb3BjZWwiLAoiQ29sdW1uIjogIktvbG9tIiwKIlJvdyBncm91cCI6ICJSaWpncm9lcCIsCiJDZWxsIjogIkNlbCIsCiJNaWRkbGUiOiAiQ2VudHJlcmVuIiwKIkNlbGwgdHlwZSI6ICJDZWx0eXBlIiwKIkNvcHkgcm93IjogIktvcGllZXIgcmlqIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlJpaiBlaWdlbnNjaGFwcGVuIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWwgZWlnZW5zY2hhcHBlbiIsCiJCb3R0b20iOiAiT25kZXJhYW4iLAoiViBBbGlnbiI6ICJCb3ZlbiB1aXRsaWpuZW4iLAoiSGVhZGVyIjogIktvcHRla3N0IiwKIlJpZ2h0IjogIlJlY2h0cyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlZvZWcga29sb20gaW4gbmEiLAoiQ29scyI6ICJLb2xvbW1lbiIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlZvZWcgcmlqIG9uZGVyIHRvZSIsCiJXaWR0aCI6ICJCcmVlZHRlIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWwgZWlnZW5zY2hhcHBlbiIsCiJMZWZ0IjogIkxpbmtzIiwKIkN1dCByb3ciOiAiS25pcCByaWoiLAoiRGVsZXRlIGNvbHVtbiI6ICJWZXJ3aWpkZXIga29sb20iLAoiQ2VudGVyIjogIk1pZGRlbiIsCiJNZXJnZSBjZWxscyI6ICJDZWxsZW4gc2FtZW52b2VnZW4iLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlNqYWJsb29uIGludm9lZ2VuIiwKIlRlbXBsYXRlcyI6ICJTamFibG9uZW4iLAoiQmFja2dyb3VuZCBjb2xvciI6ICJBY2h0ZXJncm9uZGtsZXVyIiwKIkN1c3RvbS4uLiI6ICJFaWdlbi4uLiIsCiJDdXN0b20gY29sb3IiOiAiRWlnZW4ga2xldXIiLAoiTm8gY29sb3IiOiAiR2VlbiBrbGV1ciIsCiJUZXh0IGNvbG9yIjogIlRla3N0a2xldXIiLAoiU2hvdyBibG9ja3MiOiAiQmxva2tlbiB0b25lbiIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIk9uemljaHRiYXJlIGthcmFrdGVycyB0b25lbiIsCiJXb3JkczogezB9IjogIldvb3JkZW46IHswfSIsCiJJbnNlcnQiOiAiSW52b2VnZW4iLAoiRmlsZSI6ICJCZXN0YW5kIiwKIkVkaXQiOiAiQmV3ZXJrZW4iLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiUmljaCBUZXh0IEFyZWEuIERydWsgQUxULUY5IHZvb3IgaGV0IG1lbnUuIERydWsgQUxULUYxMCB2b29yIGRlIHRvb2xiYXIuIERydWsgQUxULTAgdm9vciBoZWxwLiIsCiJUb29scyI6ICJHZXJlZWRzY2hhcCIsCiJWaWV3IjogIkJlZWxkIiwKIlRhYmxlIjogIlRhYmVsIiwKIkZvcm1hdCI6ICJPcG1hYWsiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/pl.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdwbCcsewoiQ3V0IjogIld5dG5paiIsCiJIZWFkaW5nIDUiOiAiTmFnXHUwMTQyXHUwMGYzd2VrIDUiLAoiSGVhZGVyIDIiOiAiTmFnXHUwMTQyXHUwMGYzd2VrIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVHdvamEgcHJ6ZWdsXHUwMTA1ZGFya2EgbmllIG9ic1x1MDE0MnVndWplIGJlenBvXHUwMTVicmVkbmllZ28gZG9zdFx1MDExOXB1IGRvIHNjaG93a2EuIFVcdTAxN2N5aiB6YW1pYXN0IHRlZ28ga29tYmluYWNqaSBrbGF3aXN6eSBDdHJsK1hcL0NcL1YuIiwKIkhlYWRpbmcgNCI6ICJOYWdcdTAxNDJcdTAwZjN3ZWsgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJOYWdcdTAxNDJcdTAwZjN3ZWsgMiIsCiJQYXN0ZSI6ICJXa2xlaiIsCiJDbG9zZSI6ICJaYW1rbmlqIiwKIkZvbnQgRmFtaWx5IjogIktyXHUwMGYzaiBjemNpb25raSIsCiJQcmUiOiAiU2Zvcm1hdG93YW55IHRla3N0IiwKIkFsaWduIHJpZ2h0IjogIld5clx1MDBmM3duYWogZG8gcHJhd2VqIiwKIk5ldyBkb2N1bWVudCI6ICJOb3d5IGRva3VtZW50IiwKIkJsb2NrcXVvdGUiOiAiQmxvayBjeXRhdHUiLAoiTnVtYmVyZWQgbGlzdCI6ICJMaXN0YSBudW1lcm93YW5hIiwKIkhlYWRpbmcgMSI6ICJOYWdcdTAxNDJcdTAwZjN3ZWsgMSIsCiJIZWFkaW5ncyI6ICJOYWdcdTAxNDJcdTAwZjN3a2kiLAoiSW5jcmVhc2UgaW5kZW50IjogIlp3aVx1MDExOWtzeiB3Y2lcdTAxMTljaWUiLAoiRm9ybWF0cyI6ICJGb3JtYXR5IiwKIkhlYWRlcnMiOiAiTmFnXHUwMTQyXHUwMGYzd2tpIiwKIlNlbGVjdCBhbGwiOiAiWmF6bmFjeiB3c3p5c3RrbyIsCiJIZWFkZXIgMyI6ICJOYWdcdTAxNDJcdTAwZjN3ZWsgMyIsCiJCbG9ja3MiOiAiQmxva2kiLAoiVW5kbyI6ICJDb2ZuaWoiLAoiU3RyaWtldGhyb3VnaCI6ICJQcnpla3JlXHUwMTVibGVuaWUiLAoiQnVsbGV0IGxpc3QiOiAiTGlzdGEgd3lwdW5rdG93YW5hIiwKIkhlYWRlciAxIjogIk5hZ1x1MDE0Mlx1MDBmM3dlayAxIiwKIlN1cGVyc2NyaXB0IjogIkluZGVrcyBnXHUwMGYzcm55IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiV3ljenlcdTAxNWJcdTAxMDcgZm9ybWF0b3dhbmllIiwKIkZvbnQgU2l6ZXMiOiAiUm96bWlhciBjemNpb25raSIsCiJTdWJzY3JpcHQiOiAiSW5kZWtzIGRvbG55IiwKIkhlYWRlciA2IjogIk5hZ1x1MDE0Mlx1MDBmM3dlayA2IiwKIlJlZG8iOiAiUG9uXHUwMGYzdyIsCiJQYXJhZ3JhcGgiOiAiQWthcGl0IiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiUG9ncnViaWVuaWUiLAoiQ29kZSI6ICJLb2QgXHUwMTdhclx1MDBmM2RcdTAxNDJvd3kiLAoiSXRhbGljIjogIkt1cnN5d2EiLAoiQWxpZ24gY2VudGVyIjogIld5clx1MDBmM3duYWogZG8gXHUwMTVicm9ka2EiLAoiSGVhZGVyIDUiOiAiTmFnXHUwMTQyXHUwMGYzd2VrIDUiLAoiSGVhZGluZyA2IjogIk5hZ1x1MDE0Mlx1MDBmM3dlayA2IiwKIkhlYWRpbmcgMyI6ICJOYWdcdTAxNDJcdTAwZjN3ZWsgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiWm1uaWVqc3ogd2NpXHUwMTE5Y2llIiwKIkhlYWRlciA0IjogIk5hZ1x1MDE0Mlx1MDBmM3dlayA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJXa2xlamFuaWUgamVzdCB3IHRyeWJpZSB0ZWtzdG93eW0uIFphd2FydG9cdTAxNWJcdTAxMDcgem9zdGFuaWUgd2tsZWpvbmEgamFrbyB6d3lrXHUwMTQyeSB0ZWtzdCBkb3BcdTAwZjNraSBuaWUgd3lcdTAxNDJcdTAxMDVjenlzeiB0ZWogb3BjamkuIiwKIlVuZGVybGluZSI6ICJQb2RrcmVcdTAxNWJsZW5pZSIsCiJDYW5jZWwiOiAiQW51bHVqIiwKIkp1c3RpZnkiOiAiRG8gbGV3ZWogaSBwcmF3ZWoiLAoiSW5saW5lIjogIlcgdGVrXHUwMTViY2llIiwKIkNvcHkiOiAiS29waXVqIiwKIkFsaWduIGxlZnQiOiAiV3lyXHUwMGYzd25haiBkbyBsZXdlaiIsCiJWaXN1YWwgYWlkcyI6ICJQb21vY2Ugd2l6dWFsbmUiLAoiTG93ZXIgR3JlZWsiOiAiTWFcdTAxNDJlIGdyZWNraWUiLAoiU3F1YXJlIjogIkt3YWRyYXQiLAoiRGVmYXVsdCI6ICJEb215XHUwMTVibG5lIiwKIkxvd2VyIEFscGhhIjogIk1hXHUwMTQyZSBsaXRlcnkiLAoiQ2lyY2xlIjogIktcdTAwZjNcdTAxNDJrbyIsCiJEaXNjIjogIkR5c2siLAoiVXBwZXIgQWxwaGEiOiAiV2llbGtpZSBsaXRlcnkiLAoiVXBwZXIgUm9tYW4iOiAiV2llbGtpZSByenltc2tpZSIsCiJMb3dlciBSb21hbiI6ICJNYVx1MDE0MmUgcnp5bXNraWUiLAoiTmFtZSI6ICJOYXp3YSIsCiJBbmNob3IiOiAiS290d2ljYSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIk1hc3ogbmllemFwaXNhbmUgem1pYW55LiBDenkgbmEgcGV3bm8gY2hjZXN6IG9wdVx1MDE1YmNpXHUwMTA3IHN0cm9uXHUwMTE5PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUHJ6eXdyXHUwMGYzXHUwMTA3IG9zdGF0bmkgc3praWMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiWm5hayBzcGVjamFsbnkiLAoiU291cmNlIGNvZGUiOiAiS29kIFx1MDE3YXJcdTAwZjNkXHUwMTQyb3d5IiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIktvbG9yIiwKIlJpZ2h0IHRvIGxlZnQiOiAiT2QgcHJhd2VqIGRvIGxld2VqIiwKIkxlZnQgdG8gcmlnaHQiOiAiT2QgbGV3ZWogZG8gcHJhd2VqIiwKIkVtb3RpY29ucyI6ICJJa29ueSBlbW9jamkiLAoiUm9ib3RzIjogIlJvYm90eSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIldcdTAxNDJhXHUwMTViY2l3b1x1MDE1YmNpIGRva3VtZW50dSIsCiJUaXRsZSI6ICJUeXR1XHUwMTQyIiwKIktleXdvcmRzIjogIlNcdTAxNDJvd2Ega2x1Y3pvd2UiLAoiRW5jb2RpbmciOiAiS29kb3dhbmllIiwKIkRlc2NyaXB0aW9uIjogIk9waXMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkZ1bGxzY3JlZW4iOiAiUGVcdTAxNDJueSBla3JhbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiUG96aW9tYSBsaW5pYSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIk9kc3RcdTAxMTlwIHBvemlvbXkiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIldzdGF3XC9lZHl0dWogb2JyYXplayIsCiJHZW5lcmFsIjogIk9nXHUwMGYzbG5lIiwKIkFkdmFuY2VkIjogIlphYXdhbnNvd2FuZSIsCiJTb3VyY2UiOiAiXHUwMTc5clx1MDBmM2RcdTAxNDJvIiwKIkJvcmRlciI6ICJSYW1rYSIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiWmFjaG93YWogcHJvcG9yY2plIiwKIlZlcnRpY2FsIHNwYWNlIjogIk9kc3RcdTAxMTlwIHBpb25vd3kiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiT3BpcyBvYnJhemthIiwKIlN0eWxlIjogIlN0eWwiLAoiRGltZW5zaW9ucyI6ICJXeW1pYXJ5IiwKIkluc2VydCBpbWFnZSI6ICJXc3RhdyBvYnJhemVrIiwKIlpvb20gaW4iOiAiUG93aVx1MDExOWtzeiIsCiJDb250cmFzdCI6ICJLb250cmFzdCIsCiJCYWNrIjogIkNvZm5paiIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJQcnplcnp1XHUwMTA3IHcgcG96aW9taWUiLAoiUmVzaXplIjogIlptaWFuYSByb3ptaWFydSIsCiJTaGFycGVuIjogIld5b3N0cnoiLAoiWm9vbSBvdXQiOiAiUG9tbmllanN6IiwKIkltYWdlIG9wdGlvbnMiOiAiT3BjamUgb2JyYXp1IiwKIkFwcGx5IjogIlphYWtjZXB0dWoiLAoiQnJpZ2h0bmVzcyI6ICJKYXNub1x1MDE1Ylx1MDEwNyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIk9iclx1MDBmM1x1MDEwNyB3IHByYXdvIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIk9iclx1MDBmM1x1MDEwNyB3IGxld28iLAoiRWRpdCBpbWFnZSI6ICJFZHl0dWogb2JyYXplayIsCiJDb2xvciBsZXZlbHMiOiAiUG96aW9tIGtvbG9ydSIsCiJDcm9wIjogIlByenl0bmlqIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFjamEiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlByemVyenVcdTAxMDcgdyBwaW9uaWUiLAoiSW52ZXJ0IjogIk9kd3JcdTAwZjNcdTAxMDciLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiV3N0YXcgZGF0XHUwMTE5XC9jemFzIiwKIlJlbW92ZSBsaW5rIjogIlVzdVx1MDE0NCBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0IGRvIHd5XHUwMTVid2lldGxlbmlhIiwKIkFuY2hvcnMiOiAiS290d2ljZSIsCiJJbnNlcnQgbGluayI6ICJXc3RhdyBcdTAxNDJcdTAxMDVjemUiLAoiTmV3IHdpbmRvdyI6ICJOb3dlIG9rbm8iLAoiTm9uZSI6ICJcdTAxN2JhZGVuIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkwsIGt0XHUwMGYzcnkgd3Byb3dhZHppXHUwMTQyZVx1MDE1YiB3eWdsXHUwMTA1ZGEgbmEgbGluayB6ZXduXHUwMTE5dHJ6bnkuIEN6eSBjaGNlc3ogZG9kYVx1MDEwNyBodHRwOlwvXC8gamFrbyBwcmVmaWtzPyIsCiJUYXJnZXQiOiAiQ2VsIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVVJMLCBrdFx1MDBmM3J5IHdwcm93YWR6aVx1MDE0MmVcdTAxNWIgd3lnbFx1MDEwNWRhIG5hIGFkcmVzIGUtbWFpbC4gQ3p5IGNoY2VzeiBkb2RhXHUwMTA3IG1haWx0bzogamFrbyBwcmVmaWtzPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJXc3Rhd1wvZWR5dHVqIGxpbmsiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIldzdGF3XC9lZHl0dWogd2lkZW8iLAoiUG9zdGVyIjogIlBsYWthdCIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXR5d25lIFx1MDE3YXJcdTAwZjNkXHUwMTQybyIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIldrbGVqIHR1dGFqIGtvZCBkbyBvc2FkemVuaWE6IiwKIkluc2VydCB2aWRlbyI6ICJXc3RhdyB3aWRlbyIsCiJFbWJlZCI6ICJPc2FkXHUwMTdhIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIk5pZVx1MDE0MmFtbGl3YSBzcGFjamEiLAoiUGFnZSBicmVhayI6ICJQb2R6aWFcdTAxNDIgc3Ryb255IiwKIlBhc3RlIGFzIHRleHQiOiAiV2tsZWogamFrbyB6d3lrXHUwMTQyeSB0ZWtzdCIsCiJQcmV2aWV3IjogIlBvZGdsXHUwMTA1ZCIsCiJQcmludCI6ICJEcnVrdWoiLAoiU2F2ZSI6ICJaYXBpc3oiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5pZSB6bmFsZXppb25vIHN6dWthbmVnbyB0ZWtzdHUuIiwKIlJlcGxhY2UiOiAiWmFtaWVcdTAxNDQiLAoiTmV4dCI6ICJOYXN0LiIsCiJXaG9sZSB3b3JkcyI6ICJDYVx1MDE0MmUgc1x1MDE0Mm93YSIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlpuYWpkXHUwMTdhIGkgemFtaWVcdTAxNDQiLAoiUmVwbGFjZSB3aXRoIjogIlphbWllXHUwMTQ0IG5hIiwKIkZpbmQiOiAiWm5hamRcdTAxN2EiLAoiUmVwbGFjZSBhbGwiOiAiWmFtaWVcdTAxNDQgd3N6eXN0a28iLAoiTWF0Y2ggY2FzZSI6ICJEb3Bhc3VqIHdpZWxrb1x1MDE1Ylx1MDEwNyBsaXRlciIsCiJQcmV2IjogIlBvcHJ6LiIsCiJTcGVsbGNoZWNrIjogIlNwcmF3ZHphbmllIHBpc293bmkiLAoiRmluaXNoIjogIlpha29cdTAxNDRjeiIsCiJJZ25vcmUgYWxsIjogIklnbm9ydWogd3N6eXN0a28iLAoiSWdub3JlIjogIklnbm9ydWoiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiRG9kYWogZG8gc1x1MDE0Mm93bmlrYSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJXc3RhdyB3aWVyc3ogcHJ6ZWQiLAoiUm93cyI6ICJXaWVyc3ouIiwKIkhlaWdodCI6ICJXeXNva29cdTAxNWJcdTAxMDciLAoiUGFzdGUgcm93IGFmdGVyIjogIldrbGVqIHdpZXJzeiBwbyIsCiJBbGlnbm1lbnQiOiAiV3lyXHUwMGYzd25hbmllIiwKIkJvcmRlciBjb2xvciI6ICJLb2xvciByYW1raSIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cGEga29sdW1uIiwKIlJvdyI6ICJXaWVyc3oiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiV3N0YXcga29sdW1uXHUwMTE5IHByemVkIiwKIlNwbGl0IGNlbGwiOiAiUG9kemllbCBrb21cdTAwZjNya1x1MDExOSIsCiJDZWxsIHBhZGRpbmciOiAiRG9wZVx1MDE0Mm5pZW5pZSBrb21cdTAwZjNya2kiLAoiQ2VsbCBzcGFjaW5nIjogIk9kc3RcdTAxMTlweSBrb21cdTAwZjNyZWsiLAoiUm93IHR5cGUiOiAiVHlwIHdpZXJzemEiLAoiSW5zZXJ0IHRhYmxlIjogIldzdGF3IHRhYmVsXHUwMTE5IiwKIkJvZHkiOiAiVHJlXHUwMTViXHUwMTA3IiwKIkNhcHRpb24iOiAiVHl0dVx1MDE0MiIsCiJGb290ZXIiOiAiU3RvcGthIiwKIkRlbGV0ZSByb3ciOiAiVXN1XHUwMTQ0IHdpZXJzeiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIldrbGVqIHdpZXJzeiBwcnplZCIsCiJTY29wZSI6ICJLb250ZWtzdCIsCiJEZWxldGUgdGFibGUiOiAiVXN1XHUwMTQ0IHRhYmVsXHUwMTE5IiwKIkggQWxpZ24iOiAiV3lyXHUwMGYzd25hbmllIHcgcGlvbmllIiwKIlRvcCI6ICJHXHUwMGYzcmEiLAoiSGVhZGVyIGNlbGwiOiAiS29tXHUwMGYzcmthIG5hZ1x1MDE0Mlx1MDBmM3drYSIsCiJDb2x1bW4iOiAiS29sdW1uYSIsCiJSb3cgZ3JvdXAiOiAiR3J1cGEgd2llcnN6eSIsCiJDZWxsIjogIktvbVx1MDBmM3JrYSIsCiJNaWRkbGUiOiAiXHUwMTVhcm9kZWsiLAoiQ2VsbCB0eXBlIjogIlR5cCBrb21cdTAwZjNya2kiLAoiQ29weSByb3ciOiAiS29waXVqIHdpZXJzeiIsCiJSb3cgcHJvcGVydGllcyI6ICJXXHUwMTQyYVx1MDE1YmNpd29cdTAxNWJjaSB3aWVyc3phIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiV1x1MDE0MmFcdTAxNWJjaXdvXHUwMTViY2kgdGFiZWxpIiwKIkJvdHRvbSI6ICJEXHUwMGYzXHUwMTQyIiwKIlYgQWxpZ24iOiAiV3lyXHUwMGYzd25hbmllIHcgcG96aW9taWUiLAoiSGVhZGVyIjogIk5hZ1x1MDE0Mlx1MDBmM3dlayIsCiJSaWdodCI6ICJQcmF3byIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIldzdGF3IGtvbHVtblx1MDExOSBwbyIsCiJDb2xzIjogIktvbC4iLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJXc3RhdyB3aWVyc3ogcG8iLAoiV2lkdGgiOiAiU3plcm9rb1x1MDE1Ylx1MDEwNyIsCiJDZWxsIHByb3BlcnRpZXMiOiAiV1x1MDE0MmFcdTAxNWJjaXdvXHUwMTViY2kga29tXHUwMGYzcmtpIiwKIkxlZnQiOiAiTGV3byIsCiJDdXQgcm93IjogIld5dG5paiB3aWVyc3oiLAoiRGVsZXRlIGNvbHVtbiI6ICJVc3VcdTAxNDQga29sdW1uXHUwMTE5IiwKIkNlbnRlciI6ICJcdTAxNWFyb2RlayIsCiJNZXJnZSBjZWxscyI6ICJcdTAxNDFcdTAxMDVjeiBrb21cdTAwZjNya2kiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIldzdGF3IHN6YWJsb24iLAoiVGVtcGxhdGVzIjogIlN6YWJsb255IiwKIkJhY2tncm91bmQgY29sb3IiOiAiS29sb3IgdFx1MDE0MmEiLAoiQ3VzdG9tLi4uIjogIk5pZXN0YW5kYXJkb3d5Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJLb2xvciBuaWVzdGFuZGFyZG93eSIsCiJObyBjb2xvciI6ICJCZXoga29sb3J1IiwKIlRleHQgY29sb3IiOiAiS29sb3IgdGVrc3R1IiwKIlNob3cgYmxvY2tzIjogIlBva2FcdTAxN2MgYmxva2kiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJQb2thXHUwMTdjIG5pZXdpZG9jem5lIHpuYWtpIiwKIldvcmRzOiB7MH0iOiAiU1x1MDE0Mlx1MDBmM3c6IHswfSIsCiJJbnNlcnQiOiAiV3N0YXciLAoiRmlsZSI6ICJQbGlrIiwKIkVkaXQiOiAiRWR5Y2phIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIk9ic3phciBFZHljamkuIEFMVC1GOSAtIG1lbnUuIEFMVC1GMTAgLSBwYXNlayBuYXJ6XHUwMTE5ZHppLiBBTFQtMCAtIHBvbW9jIiwKIlRvb2xzIjogIk5hcnpcdTAxMTlkemlhIiwKIlZpZXciOiAiV2lkb2siLAoiVGFibGUiOiAiVGFiZWxhIiwKIkZvcm1hdCI6ICJGb3JtYXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/pt_BR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdwdF9CUicsewoiQ3V0IjogIlJlY29ydGFyIiwKIkhlYWRpbmcgNSI6ICJDYWJlXHUwMGU3YWxobyA1IiwKIkhlYWRlciAyIjogIkNhYmVcdTAwZTdhbGhvIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiU2V1IG5hdmVnYWRvciBuXHUwMGUzbyBzdXBvcnRhIGFjZXNzbyBkaXJldG8gXHUwMGUwIFx1MDBlMXJlYSBkZSB0cmFuc2Zlclx1MDBlYW5jaWEuIFBvciBmYXZvciB1c2Ugb3MgYXRhbGhvcyBDdHJsK1ggLSBDIC0gViBkbyB0ZWNsYWRvIiwKIkhlYWRpbmcgNCI6ICJDYWJlXHUwMGU3YWxobyA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIkNhYmVcdTAwZTdhbGhvIDIiLAoiUGFzdGUiOiAiQ29sYXIiLAoiQ2xvc2UiOiAiRmVjaGFyIiwKIkZvbnQgRmFtaWx5IjogIkZvbnRlIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpbmhhciBcdTAwZTAgZGlyZWl0YSIsCiJOZXcgZG9jdW1lbnQiOiAiTm92byBkb2N1bWVudG8iLAoiQmxvY2txdW90ZSI6ICJBc3BhcyIsCiJOdW1iZXJlZCBsaXN0IjogIkxpc3RhIG9yZGVuYWRhIiwKIkhlYWRpbmcgMSI6ICJDYWJlXHUwMGU3YWxobyAxIiwKIkhlYWRpbmdzIjogIkNhYmVcdTAwZTdhbGhvcyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVtZW50YXIgcmVjdW8iLAoiRm9ybWF0cyI6ICJGb3JtYXRvcyIsCiJIZWFkZXJzIjogIkNhYmVcdTAwZTdhbGhvcyIsCiJTZWxlY3QgYWxsIjogIlNlbGVjaW9uYXIgdHVkbyIsCiJIZWFkZXIgMyI6ICJDYWJlXHUwMGU3YWxobyAzIiwKIkJsb2NrcyI6ICJCbG9jb3MiLAoiVW5kbyI6ICJEZXNmYXplciIsCiJTdHJpa2V0aHJvdWdoIjogIlJpc2NhciIsCiJCdWxsZXQgbGlzdCI6ICJMaXN0YSBuXHUwMGUzbyBvcmRlbmFkYSIsCiJIZWFkZXIgMSI6ICJDYWJlXHUwMGU3YWxobyAxIiwKIlN1cGVyc2NyaXB0IjogIlNvYnJlc2NyaXRvIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiTGltcGFyIGZvcm1hdGFcdTAwZTdcdTAwZTNvIiwKIkZvbnQgU2l6ZXMiOiAiVGFtYW5obyIsCiJTdWJzY3JpcHQiOiAiU3Vic2NyZXZlciIsCiJIZWFkZXIgNiI6ICJDYWJlXHUwMGU3YWxobyA2IiwKIlJlZG8iOiAiUmVmYXplciIsCiJQYXJhZ3JhcGgiOiAiUGFyXHUwMGUxZ3JhZm8iLAoiT2siOiAiT2siLAoiQm9sZCI6ICJOZWdyaXRvIiwKIkNvZGUiOiAiQ1x1MDBmM2RpZ28iLAoiSXRhbGljIjogIkl0XHUwMGUxbGljbyIsCiJBbGlnbiBjZW50ZXIiOiAiQ2VudHJhbGl6YXIiLAoiSGVhZGVyIDUiOiAiQ2FiZVx1MDBlN2FsaG8gNSIsCiJIZWFkaW5nIDYiOiAiQ2FiZVx1MDBlN2FsaG8gNiIsCiJIZWFkaW5nIDMiOiAiQ2FiZVx1MDBlN2FsaG8gMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiRGltaW51aXIgcmVjdW8iLAoiSGVhZGVyIDQiOiAiQ2FiZVx1MDBlN2FsaG8gNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTyBjb21hbmRvIGNvbGFyIGVzdFx1MDBlMSBhZ29yYSBlbSBtb2RvIHRleHRvIHBsYW5vLiBPIGNvbnRlXHUwMGZhZG8gc2VyXHUwMGUxIGNvbGFkbyBjb21vIHRleHRvIHBsYW5vIGF0XHUwMGU5IHZvY1x1MDBlYSBkZXNsaWdhciBlc3RhIG9wXHUwMGU3XHUwMGUzby4iLAoiVW5kZXJsaW5lIjogIlN1YmxpbmhhciIsCiJDYW5jZWwiOiAiQ2FuY2VsYXIiLAoiSnVzdGlmeSI6ICJKdXN0aWZpY2FyIiwKIklubGluZSI6ICJFbSBsaW5oYSIsCiJDb3B5IjogIkNvcGlhciIsCiJBbGlnbiBsZWZ0IjogIkFsaW5oYXIgXHUwMGUwIGVzcXVlcmRhIiwKIlZpc3VhbCBhaWRzIjogIkFqdWRhIHZpc3VhbCIsCiJMb3dlciBHcmVlayI6ICJcdTAzYjEuIFx1MDNiMi4gXHUwM2IzLiAuLi4iLAoiU3F1YXJlIjogIlF1YWRyYWRvIiwKIkRlZmF1bHQiOiAiUGFkclx1MDBlM28iLAoiTG93ZXIgQWxwaGEiOiAiYS4gYi4gYy4gLi4uIiwKIkNpcmNsZSI6ICJDXHUwMGVkcmN1bG8iLAoiRGlzYyI6ICJEaXNjbyIsCiJVcHBlciBBbHBoYSI6ICJBLiBCLiBDLiAuLi4iLAoiVXBwZXIgUm9tYW4iOiAiSS4gSUkuIElJSS4gLi4uIiwKIkxvd2VyIFJvbWFuIjogImkuIGlpLiBpaWkuIC4uLiIsCiJOYW1lIjogIk5vbWUiLAoiQW5jaG9yIjogIlx1MDBjMm5jb3JhIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiVm9jXHUwMGVhIHRlbSBtdWRhblx1MDBlN2FzIG5cdTAwZTNvIHNhbHZhcy4gVm9jXHUwMGVhIHRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgc2Fpcj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlJlc3RhdXJhciBcdTAwZmFsdGltbyByYXNjdW5obyIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJDYXJhY3RlcmVzIGVzcGVjaWFpcyIsCiJTb3VyY2UgY29kZSI6ICJDXHUwMGYzZGlnbyBmb250ZSIsCiJCIjogIkIiLAoiUiI6ICJSIiwKIkciOiAiRyIsCiJDb2xvciI6ICJDb3IiLAoiUmlnaHQgdG8gbGVmdCI6ICJEYSBkaXJlaXRhIHBhcmEgYSBlc3F1ZXJkYSIsCiJMZWZ0IHRvIHJpZ2h0IjogIkRhIGVzcXVlcmRhIHBhcmEgYSBkaXJlaXRhIiwKIkVtb3RpY29ucyI6ICJFbW90aWNvbnMiLAoiUm9ib3RzIjogIlJvYlx1MDBmNHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZG8gZG9jdW1lbnRvIiwKIlRpdGxlIjogIlRcdTAwZWR0dWxvIiwKIktleXdvcmRzIjogIlBhbGF2cmFzLWNoYXZlIiwKIkVuY29kaW5nIjogIkNvZGlmaWNhXHUwMGU3XHUwMGUzbyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlcdTAwZTdcdTAwZTNvIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIlRlbGEgY2hlaWEiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxpbmhhIGhvcml6b250YWwiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJFc3BhXHUwMGU3YW1lbnRvIGhvcml6b250YWwiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc2VyaXJcL2VkaXRhciBpbWFnZW0iLAoiR2VuZXJhbCI6ICJHZXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuXHUwMGU3YWRvIiwKIlNvdXJjZSI6ICJFbmRlcmVcdTAwZTdvIGRhIGltYWdlbSIsCiJCb3JkZXIiOiAiQm9yZGEiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk1hbnRlciBwcm9wb3JcdTAwZTdcdTAwZjVlcyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJFc3BhXHUwMGU3YW1lbnRvIHZlcnRpY2FsIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkluc2VyaXIgZGVzY3JpXHUwMGU3XHUwMGUzbyIsCiJTdHlsZSI6ICJFc3RpbG8iLAoiRGltZW5zaW9ucyI6ICJEaW1lbnNcdTAwZjVlcyIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJpciBpbWFnZW0iLAoiWm9vbSBpbiI6ICJBdW1lbnRhciB6b29tIiwKIkNvbnRyYXN0IjogIkNvbnRyYXN0ZSIsCiJCYWNrIjogIlZvbHRhciIsCiJHYW1tYSI6ICJHYW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlZpcmFyIGhvcml6b250YWxtZW50ZSIsCiJSZXNpemUiOiAiUmVkaW1lbnNpb25hciIsCiJTaGFycGVuIjogIkF1bWVudGFyIG5pdGlkZXoiLAoiWm9vbSBvdXQiOiAiRGltaW51aXIgem9vbSIsCiJJbWFnZSBvcHRpb25zIjogIk9wXHUwMGU3XHUwMGY1ZXMgZGUgSW1hZ2VtIiwKIkFwcGx5IjogIkFwbGljYXIiLAoiQnJpZ2h0bmVzcyI6ICJCcmlsaG8iLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJHaXJhciBlbSBzZW50aWRvIGFudGktaG9yXHUwMGUxcmlvIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIkdpcmFyIGVtIHNlbnRpZG8gaG9yXHUwMGUxcmlvIiwKIkVkaXQgaW1hZ2UiOiAiRWRpdGFyIGltYWdlbSIsCiJDb2xvciBsZXZlbHMiOiAiTlx1MDBlZHZlaXMgZGUgY29yIiwKIkNyb3AiOiAiQ29ydGFyIiwKIk9yaWVudGF0aW9uIjogIk9yaWVudGFcdTAwZTdcdTAwZTNvIiwKIkZsaXAgdmVydGljYWxseSI6ICJWaXJhciB2ZXJ0aWNhbG1lbnRlIiwKIkludmVydCI6ICJJbnZlcnRlciIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcmlyIGRhdGFcL2hvcmEiLAoiUmVtb3ZlIGxpbmsiOiAiUmVtb3ZlciBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRleHRvIHBhcmEgbW9zdHJhciIsCiJBbmNob3JzIjogIlx1MDBjMm5jb3JhcyIsCiJJbnNlcnQgbGluayI6ICJJbnNlcmlyIGxpbmsiLAoiTmV3IHdpbmRvdyI6ICJOb3ZhIGphbmVsYSIsCiJOb25lIjogIk5lbmh1bSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiQSBVUkwgcXVlIHZvY1x1MDBlYSBpbmZvcm1vdSBwYXJlY2Ugc2VyIHVtIGxpbmsgZXh0ZXJuby4gRGVzZWphIGluY2x1aXIgbyBwcmVmaXhvIGh0dHA6XC9cLz8iLAoiVGFyZ2V0IjogIkFsdm8iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluc2VyaXJcL2VkaXRhciBsaW5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbnNlcmlyXC9lZGl0YXIgdlx1MDBlZGRlbyIsCiJQb3N0ZXIiOiAiQXV0b3IiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkZvbnRlIGFsdGVybmF0aXZhIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiSW5zaXJhIG8gY1x1MDBmM2RpZ28gZGUgaW5jb3Jwb3JhXHUwMGU3XHUwMGUzbyBhYmFpeG86IiwKIkluc2VydCB2aWRlbyI6ICJJbnNlcmlyIHZcdTAwZWRkZW8iLAoiRW1iZWQiOiAiSW5jb3Jwb3JhciIsCiJOb25icmVha2luZyBzcGFjZSI6ICJFc3BhXHUwMGU3byBuXHUwMGUzbyBzZXBhclx1MDBlMXZlbCIsCiJQYWdlIGJyZWFrIjogIlF1ZWJyYSBkZSBwXHUwMGUxZ2luYSIsCiJQYXN0ZSBhcyB0ZXh0IjogIkNvbGFyIGNvbW8gdGV4dG8iLAoiUHJldmlldyI6ICJQclx1MDBlOS12aXN1YWxpemFyIiwKIlByaW50IjogIkltcHJpbWlyIiwKIlNhdmUiOiAiU2FsdmFyIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJOXHUwMGUzbyBmb2kgcG9zc1x1MDBlZHZlbCBlbmNvbnRyYXIgbyB0ZXJtbyBlc3BlY2lmaWNhZG8iLAoiUmVwbGFjZSI6ICJTdWJzdGl0dWlyIiwKIk5leHQiOiAiUHJcdTAwZjN4aW1vIiwKIldob2xlIHdvcmRzIjogIlBhbGF2cmFzIGludGVpcmFzIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiTG9jYWxpemFyIGUgc3Vic3RpdHVpciIsCiJSZXBsYWNlIHdpdGgiOiAiU3Vic3RpdHVpciBwb3IiLAoiRmluZCI6ICJMb2NhbGl6YXIiLAoiUmVwbGFjZSBhbGwiOiAiU3Vic3RpdHVpciB0dWRvIiwKIk1hdGNoIGNhc2UiOiAiRGlmZXJlbmNpYXIgbWFpXHUwMGZhc2N1bGFzIGUgbWluXHUwMGZhc2N1bGFzIiwKIlByZXYiOiAiQW50ZXJpb3IiLAoiU3BlbGxjaGVjayI6ICJDb3JyZXRvciBvcnRvZ3JcdTAwZTFmaWNvIiwKIkZpbmlzaCI6ICJGaW5hbGl6YXIiLAoiSWdub3JlIGFsbCI6ICJJZ25vcmFyIHR1ZG8iLAoiSWdub3JlIjogIklnbm9yYXIiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQWRpY2lvbmFyIGFvIERpY2lvblx1MDBlMXJpbyIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcmlyIGxpbmhhIGFudGVzIiwKIlJvd3MiOiAiTGluaGFzIiwKIkhlaWdodCI6ICJBbHR1cmEiLAoiUGFzdGUgcm93IGFmdGVyIjogIkNvbGFyIGxpbmhhIGRlcG9pcyIsCiJBbGlnbm1lbnQiOiAiQWxpbmhhbWVudG8iLAoiQm9yZGVyIGNvbG9yIjogIkNvciBkYSBib3JkYSIsCiJDb2x1bW4gZ3JvdXAiOiAiQWdydXBhciBjb2x1bmEiLAoiUm93IjogIkxpbmhhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluc2VyaXIgY29sdW5hIGFudGVzIiwKIlNwbGl0IGNlbGwiOiAiRGl2aWRpciBjXHUwMGU5bHVsYSIsCiJDZWxsIHBhZGRpbmciOiAiRXNwYVx1MDBlN2FtZW50byBpbnRlcm5vIGRhIGNcdTAwZTlsdWxhIiwKIkNlbGwgc3BhY2luZyI6ICJFc3BhXHUwMGU3YW1lbnRvIGRhIGNcdTAwZTlsdWxhIiwKIlJvdyB0eXBlIjogIlRpcG8gZGUgbGluaGEiLAoiSW5zZXJ0IHRhYmxlIjogIkluc2VyaXIgdGFiZWxhIiwKIkJvZHkiOiAiQ29ycG8iLAoiQ2FwdGlvbiI6ICJMZWdlbmRhIiwKIkZvb3RlciI6ICJSb2RhcFx1MDBlOSIsCiJEZWxldGUgcm93IjogIkV4Y2x1aXIgbGluaGEiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJDb2xhciBsaW5oYSBhbnRlcyIsCiJTY29wZSI6ICJFc2NvcG8iLAoiRGVsZXRlIHRhYmxlIjogIkV4Y2x1aXIgdGFiZWxhIiwKIkggQWxpZ24iOiAiQWxpbmhhbWVudG8gSCIsCiJUb3AiOiAiU3VwZXJpb3IiLAoiSGVhZGVyIGNlbGwiOiAiQ1x1MDBlOWx1bGEgY2FiZVx1MDBlN2FsaG8iLAoiQ29sdW1uIjogIkNvbHVuYSIsCiJSb3cgZ3JvdXAiOiAiQWdydXBhciBsaW5oYSIsCiJDZWxsIjogIkNcdTAwZTlsdWxhIiwKIk1pZGRsZSI6ICJNZWlvIiwKIkNlbGwgdHlwZSI6ICJUaXBvIGRlIGNcdTAwZTlsdWxhIiwKIkNvcHkgcm93IjogIkNvcGlhciBsaW5oYSIsCiJSb3cgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZGEgbGluaGEiLAoiVGFibGUgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZGEgdGFiZWxhIiwKIkJvdHRvbSI6ICJJbmZlcmlvciIsCiJWIEFsaWduIjogIkFsaW5oYW1lbnRvIFYiLAoiSGVhZGVyIjogIkNhYmVcdTAwZTdhbGhvIiwKIlJpZ2h0IjogIkRpcmVpdGEiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbnNlcmlyIGNvbHVuYSBkZXBvaXMiLAoiQ29scyI6ICJDb2x1bmFzIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJpciBsaW5oYSBkZXBvaXMiLAoiV2lkdGgiOiAiTGFyZ3VyYSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiUHJvcHJpZWRhZGVzIGRhIGNcdTAwZTlsdWxhIiwKIkxlZnQiOiAiRXNxdWVyZG8iLAoiQ3V0IHJvdyI6ICJSZWNvcnRhciBsaW5oYSIsCiJEZWxldGUgY29sdW1uIjogIkV4Y2x1aXIgY29sdW5hIiwKIkNlbnRlciI6ICJDZW50cm8iLAoiTWVyZ2UgY2VsbHMiOiAiQWdydXBhciBjXHUwMGU5bHVsYXMiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkluc2VyaXIgbW9kZWxvIiwKIlRlbXBsYXRlcyI6ICJNb2RlbG9zIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQ29yIGRvIGZ1bmRvIiwKIkN1c3RvbS4uLiI6ICJQZXJzb25hbGl6YWRvLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJDb3IgcGVyc29uYWxpemFkYSIsCiJObyBjb2xvciI6ICJOZW5odW1hIGNvciIsCiJUZXh0IGNvbG9yIjogIkNvciBkbyB0ZXh0byIsCiJTaG93IGJsb2NrcyI6ICJNb3N0cmFyIGJsb2NvcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIkV4aWJpciBjYXJhY3RlcmVzIGludmlzXHUwMGVkdmVpcyIsCiJXb3JkczogezB9IjogIlBhbGF2cmFzOiB7MH0iLAoiSW5zZXJ0IjogIkluc2VyaXIiLAoiRmlsZSI6ICJBcnF1aXZvIiwKIkVkaXQiOiAiRWRpdGFyIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDBjMXJlYSBkZSB0ZXh0byBmb3JtYXRhZG8uIFByZXNzaW9uZSBBTFQtRjkgcGFyYSBleGliaXIgbyBtZW51LCBBTFQtRjEwIHBhcmEgZXhpYmlyIGEgYmFycmEgZGUgZmVycmFtZW50YXMgb3UgQUxULTAgcGFyYSBleGliaXIgYSBhanVkYSIsCiJUb29scyI6ICJGZXJyYW1lbnRhcyIsCiJWaWV3IjogIlZpc3VhbGl6YXIiLAoiVGFibGUiOiAiVGFiZWxhIiwKIkZvcm1hdCI6ICJGb3JtYXRhciIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/pt_PT.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdwdF9QVCcsewoiQ3V0IjogIkNvcnRhciIsCiJIZWFkaW5nIDUiOiAiVFx1MDBlZHR1bG8gNSIsCiJIZWFkZXIgMiI6ICJDYWJlXHUwMGU3YWxobyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIk8gc2V1IG5hdmVnYWRvciBuXHUwMGUzbyBzdXBvcnRhIGFjZXNzbyBkaXJldG8gXHUwMGUwIFx1MDBlMXJlYSBkZSB0cmFuc2Zlclx1MDBlYW5jaWEuIFBvciBmYXZvciB1c2Ugb3MgYXRhbGhvcyBDdHJsK1hcL0NcL1YgZG8gc2V1IHRlY2xhZG8uIiwKIkhlYWRpbmcgNCI6ICJUXHUwMGVkdHVsbyA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIlRcdTAwZWR0dWxvIDIiLAoiUGFzdGUiOiAiQ29sYXIiLAoiQ2xvc2UiOiAiRmVjaGFyIiwKIkZvbnQgRmFtaWx5IjogIkZvbnRlIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpbmhhciBcdTAwZTAgZGlyZWl0YSIsCiJOZXcgZG9jdW1lbnQiOiAiTm92byBkb2N1bWVudG8iLAoiQmxvY2txdW90ZSI6ICJDaXRhXHUwMGU3XHUwMGUzbyBlbSBibG9jbyIsCiJOdW1iZXJlZCBsaXN0IjogIkxpc3RhIG51bWVyYWRhIiwKIkhlYWRpbmcgMSI6ICJUXHUwMGVkdHVsbyAxIiwKIkhlYWRpbmdzIjogIlRcdTAwZWR0dWxvcyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiQXVtZW50YXIgYXZhblx1MDBlN28iLAoiRm9ybWF0cyI6ICJGb3JtYXRvcyIsCiJIZWFkZXJzIjogIkNhYmVcdTAwZTdhbGhvcyIsCiJTZWxlY3QgYWxsIjogIlNlbGVjaW9uYXIgdHVkbyIsCiJIZWFkZXIgMyI6ICJDYWJlXHUwMGU3YWxobyAzIiwKIkJsb2NrcyI6ICJCbG9jb3MiLAoiVW5kbyI6ICJBbnVsYXIiLAoiU3RyaWtldGhyb3VnaCI6ICJSYXN1cmFkbyIsCiJCdWxsZXQgbGlzdCI6ICJMaXN0YSBjb20gbWFyY2Fkb3JlcyIsCiJIZWFkZXIgMSI6ICJDYWJlXHUwMGU3YWxobyAxIiwKIlN1cGVyc2NyaXB0IjogIlN1cGVyaW9yIFx1MDBlMCBsaW5oYSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkxpbXBhciBmb3JtYXRhXHUwMGU3XHUwMGUzbyIsCiJGb250IFNpemVzIjogIlRhbWFuaG9zIiwKIlN1YnNjcmlwdCI6ICJJbmZlcmlvciBcdTAwZTAgbGluaGEiLAoiSGVhZGVyIDYiOiAiQ2FiZVx1MDBlN2FsaG8gNiIsCiJSZWRvIjogIlJlZmF6ZXIiLAoiUGFyYWdyYXBoIjogIlBhclx1MDBlMWdyYWZvIiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiTmVncml0byIsCiJDb2RlIjogIkNcdTAwZjNkaWdvIiwKIkl0YWxpYyI6ICJJdFx1MDBlMWxpY28iLAoiQWxpZ24gY2VudGVyIjogIkFsaW5oYXIgYW8gY2VudHJvIiwKIkhlYWRlciA1IjogIkNhYmVcdTAwZTdhbGhvIDUiLAoiSGVhZGluZyA2IjogIlRcdTAwZWR0dWxvIDYiLAoiSGVhZGluZyAzIjogIlRcdTAwZWR0dWxvIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIkRpbWludWlyIGF2YW5cdTAwZTdvIiwKIkhlYWRlciA0IjogIkNhYmVcdTAwZTdhbGhvIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIk8gY29tYW5kbyBjb2xhciBlc3RcdTAwZTEgZW0gbW9kbyBkZSB0ZXh0byBzaW1wbGVzLiBPIGNvbnRlXHUwMGZhZG8gc2VyXHUwMGUxIGNvbGFkbyBjb21vIHRleHRvIHNpbXBsZXMgYXRcdTAwZTkgZGVzYXRpdmFyIGVzdGEgb3BcdTAwZTdcdTAwZTNvLiIsCiJVbmRlcmxpbmUiOiAiU3VibGluaGFkbyIsCiJDYW5jZWwiOiAiQ2FuY2VsYXIiLAoiSnVzdGlmeSI6ICJKdXN0aWZpY2FkbyIsCiJJbmxpbmUiOiAiTmEgbGluaGEiLAoiQ29weSI6ICJDb3BpYXIiLAoiQWxpZ24gbGVmdCI6ICJBbGluaGFyIFx1MDBlMCBlc3F1ZXJkYSIsCiJWaXN1YWwgYWlkcyI6ICJBanVkYSB2aXN1YWwiLAoiTG93ZXIgR3JlZWsiOiAiXFx1MDNiMS4gXFx1MDNiMi4gXFx1MDNiMy4gLi4uIiwKIlNxdWFyZSI6ICJRdWFkcmFkbyIsCiJEZWZhdWx0IjogIlBhZHJcdTAwZTNvIiwKIkxvd2VyIEFscGhhIjogImEuIGIuIGMuIC4uLiIsCiJDaXJjbGUiOiAiQ1x1MDBlZHJjdWxvIiwKIkRpc2MiOiAiRGlzY28iLAoiVXBwZXIgQWxwaGEiOiAiQS4gQi4gQy4gLi4uIiwKIlVwcGVyIFJvbWFuIjogIkkuIElJLiBJSUkuIC4uLiIsCiJMb3dlciBSb21hbiI6ICJpLiBpaS4gaWlpLiAuLi4iLAoiTmFtZSI6ICJOb21lIiwKIkFuY2hvciI6ICJcdTAwYzJuY29yYSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkV4aXN0ZW0gYWx0ZXJhXHUwMGU3XHUwMGY1ZXMgcXVlIGFpbmRhIG5cdTAwZTNvIGZvcmFtIGd1YXJkYWRhcy4gVGVtIGEgY2VydGV6YSBxdWUgcHJldGVuZGUgc2Fpcj8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlJlc3RhdXJhciBvIFx1MDBmYWx0aW1vIHJhc2N1bmhvIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIkNhclx1MDBlMWN0ZXIgZXNwZWNpYWwiLAoiU291cmNlIGNvZGUiOiAiQ1x1MDBmM2RpZ28gZm9udGUiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiQ29yIiwKIlJpZ2h0IHRvIGxlZnQiOiAiRGEgZGlyZWl0YSBwYXJhIGEgZXNxdWVyZGEiLAoiTGVmdCB0byByaWdodCI6ICJEYSBlc3F1ZXJkYSBwYXJhIGEgZGlyZWl0YSIsCiJFbW90aWNvbnMiOiAiRW1vXHUwMGU3XHUwMGY1ZXMiLAoiUm9ib3RzIjogIlJvYlx1MDBmNHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZG8gZG9jdW1lbnRvIiwKIlRpdGxlIjogIlRcdTAwZWR0dWxvIiwKIktleXdvcmRzIjogIlBhbGF2cmFzLWNoYXZlIiwKIkVuY29kaW5nIjogIkNvZGlmaWNhXHUwMGU3XHUwMGUzbyIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmlcdTAwZTdcdTAwZTNvIiwKIkF1dGhvciI6ICJBdXRvciIsCiJGdWxsc2NyZWVuIjogIkVjclx1MDBlMyBjb21wbGV0byIsCiJIb3Jpem9udGFsIGxpbmUiOiAiTGluaGEgaG9yaXpvbnRhbCIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkVzcGFcdTAwZTdhbWVudG8gaG9yaXpvbnRhbCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiSW5zZXJpclwvZWRpdGFyIGltYWdlbSIsCiJHZW5lcmFsIjogIkdlcmFsIiwKIkFkdmFuY2VkIjogIkF2YW5cdTAwZTdhZG8iLAoiU291cmNlIjogIkxvY2FsaXphXHUwMGU3XHUwMGUzbyIsCiJCb3JkZXIiOiAiQ29udG9ybm8iLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk1hbnRlciBwcm9wb3JcdTAwZTdcdTAwZjVlcyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJFc3BhXHUwMGU3YW1lbnRvIHZlcnRpY2FsIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIkRlc2NyaVx1MDBlN1x1MDBlM28gZGEgaW1hZ2VtIiwKIlN0eWxlIjogIkVzdGlsbyIsCiJEaW1lbnNpb25zIjogIkRpbWVuc1x1MDBmNWVzIiwKIkluc2VydCBpbWFnZSI6ICJJbnNlcmlyIGltYWdlbSIsCiJab29tIGluIjogIkFwcm94aW1hciIsCiJDb250cmFzdCI6ICJDb250cmFzdGUiLAoiQmFjayI6ICJWb2x0YXIiLAoiR2FtbWEiOiAiR2FtYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJJbnZlcnRlciBob3Jpem9udGFsbWVudGUiLAoiUmVzaXplIjogIlJlZGltZW5zaW9uYXIiLAoiU2hhcnBlbiI6ICJNYWlzIG5pdGlkZXoiLAoiWm9vbSBvdXQiOiAiQWZhc3RhciIsCiJJbWFnZSBvcHRpb25zIjogIk9wXHUwMGU3XHUwMGY1ZXMgZGUgaW1hZ2VtIiwKIkFwcGx5IjogIkFwbGljYXIiLAoiQnJpZ2h0bmVzcyI6ICJCcmlsaG8iLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJSb3RhXHUwMGU3XHUwMGUzbyBob3JcdTAwZTFyaWEiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUm90YVx1MDBlN1x1MDBlM28gYW50aS1ob3JcdTAwZTFyaWEiLAoiRWRpdCBpbWFnZSI6ICJFZGl0YXIgaW1hZ2VtIiwKIkNvbG9yIGxldmVscyI6ICJOXHUwMGVkdmVpcyBkZSBjb3IiLAoiQ3JvcCI6ICJSZWNvcnRhciIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRhXHUwMGU3XHUwMGUzbyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiSW52ZXJ0ZXIgdmVydGljYWxtZW50ZSIsCiJJbnZlcnQiOiAiSW52ZXJ0ZXIiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiSW5zZXJpciBkYXRhXC9ob3JhIiwKIlJlbW92ZSBsaW5rIjogIlJlbW92ZXIgbGlnYVx1MDBlN1x1MDBlM28iLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiVGV4dG8gYSBleGliaXIiLAoiQW5jaG9ycyI6ICJcdTAwYzJuY29yYSIsCiJJbnNlcnQgbGluayI6ICJJbnNlcmlyIGxpZ2FcdTAwZTdcdTAwZTNvIiwKIk5ldyB3aW5kb3ciOiAiTm92YSBqYW5lbGEiLAoiTm9uZSI6ICJOZW5odW0iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIk8gVVJMIHF1ZSBpbmRpY291IHBhcmVjZSBzZXIgdW0gZW5kZXJlXHUwMGU3byB3ZWIuIFF1ZXIgYWRpY2lvbmFyIG8gcHJlZml4byBodHRwOlwvXC8gdGFsIGNvbW8gbmVjZXNzXHUwMGUxcmlvPyIsCiJUYXJnZXQiOiAiQWx2byIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIk8gVVJMIHF1ZSBpbmRpY291IHBhcmVjZSBzZXIgdW0gZW5kZXJlXHUwMGU3byBkZSBlbWFpbC4gUXVlciBhZGljaW9uYXIgbyBwcmVmaXhvIG1haWx0bzogdGFsIGNvbW8gbmVjZXNzXHUwMGUxcmlvPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJJbnNlcmlyXC9lZGl0YXIgbGlnYVx1MDBlN1x1MDBlM28iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VyaXJcL2VkaXRhciB2XHUwMGVkZGVvIiwKIlBvc3RlciI6ICJBdXRvciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiTG9jYWxpemFcdTAwZTdcdTAwZTNvIGFsdGVybmF0aXZhIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiQ29sYXIgY1x1MDBmM2RpZ28gcGFyYSBlbWJlYmVyOiIsCiJJbnNlcnQgdmlkZW8iOiAiSW5zZXJpciB2XHUwMGVkZGVvIiwKIkVtYmVkIjogIkluY29ycG9yYXIiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiRXNwYVx1MDBlN28gblx1MDBlM28gcXVlYnJcdTAwZTF2ZWwiLAoiUGFnZSBicmVhayI6ICJRdWVicmEgZGUgcFx1MDBlMWdpbmEiLAoiUGFzdGUgYXMgdGV4dCI6ICJDb2xhciBjb21vIHRleHRvIiwKIlByZXZpZXciOiAiUHJcdTAwZTktdmlzdWFsaXphciIsCiJQcmludCI6ICJJbXByaW1pciIsCiJTYXZlIjogIkd1YXJkYXIiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5cdTAwZTNvIGZvaSBwb3NzXHUwMGVkdmVsIGxvY2FsaXphciBvIHRlcm1vIGVzcGVjaWZpY2Fkby4iLAoiUmVwbGFjZSI6ICJTdWJzdGl0dWlyIiwKIk5leHQiOiAiUHJcdTAwZjN4aW1vIiwKIldob2xlIHdvcmRzIjogIlBhbGF2cmFzIGNvbXBsZXRhcyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlBlc3F1aXNhciBlIHN1YnN0aXR1aXIiLAoiUmVwbGFjZSB3aXRoIjogIlN1YnN0aXR1aXIgcG9yIiwKIkZpbmQiOiAiUGVzcXVpc2FyIiwKIlJlcGxhY2UgYWxsIjogIlN1YnN0aXR1aXIgdHVkbyIsCiJNYXRjaCBjYXNlIjogIkRpZmVyZW5jaWFyIG1haVx1MDBmYXNjdWxhcyBlIG1pblx1MDBmYXNjdWxhcyIsCiJQcmV2IjogIkFudGVyaW9yIiwKIlNwZWxsY2hlY2siOiAiQ29ycmV0b3Igb3J0b2dyXHUwMGUxZmljbyIsCiJGaW5pc2giOiAiQ29uY2x1aXIiLAoiSWdub3JlIGFsbCI6ICJJZ25vcmFyIHR1ZG8iLAoiSWdub3JlIjogIklnbm9yYXIiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiQWRpY2lvbmFyIGFvIERpY2lvblx1MDBlMXJpbyIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbnNlcmlyIGxpbmhhIGFudGVzIiwKIlJvd3MiOiAiTGluaGFzIiwKIkhlaWdodCI6ICJBbHR1cmEiLAoiUGFzdGUgcm93IGFmdGVyIjogIkNvbGFyIGxpbmhhIGRlcG9pcyIsCiJBbGlnbm1lbnQiOiAiQWxpbmhhbWVudG8iLAoiQm9yZGVyIGNvbG9yIjogIkNvciBkZSBjb250b3JubyIsCiJDb2x1bW4gZ3JvdXAiOiAiQWdydXBhciBjb2x1bmEiLAoiUm93IjogIkxpbmhhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIkluc2VyaXIgY29sdW5hIGFudGVzIiwKIlNwbGl0IGNlbGwiOiAiRGl2aWRpciBjXHUwMGU5bHVsYSIsCiJDZWxsIHBhZGRpbmciOiAiRXNwYVx1MDBlN2FtZW50byBpbnRlcm5vIGRhIGNcdTAwZTlsdWxhIiwKIkNlbGwgc3BhY2luZyI6ICJFc3BhXHUwMGU3YW1lbnRvIGVudHJlIGNcdTAwZTlsdWxhcyIsCiJSb3cgdHlwZSI6ICJUaXBvIGRlIGxpbmhhIiwKIkluc2VydCB0YWJsZSI6ICJJbnNlcmlyIHRhYmVsYSIsCiJCb2R5IjogIkNvcnBvIiwKIkNhcHRpb24iOiAiTGVnZW5kYSIsCiJGb290ZXIiOiAiUm9kYXBcdTAwZTkiLAoiRGVsZXRlIHJvdyI6ICJFbGltaW5hciBsaW5oYSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkNvbGFyIGxpbmhhIGFudGVzIiwKIlNjb3BlIjogIkVzY29wbyIsCiJEZWxldGUgdGFibGUiOiAiRWxpbWluYXIgdGFiZWxhIiwKIkggQWxpZ24iOiAiQWxpbmhhbWVudG8gSCIsCiJUb3AiOiAiVG9wbyIsCiJIZWFkZXIgY2VsbCI6ICJDXHUwMGU5bHVsYSBkZSBjYWJlXHUwMGU3YWxobyIsCiJDb2x1bW4iOiAiQ29sdW5hIiwKIlJvdyBncm91cCI6ICJBZ3J1cGFyIGxpbmhhIiwKIkNlbGwiOiAiQ1x1MDBlOWx1bGEiLAoiTWlkZGxlIjogIk1laW8iLAoiQ2VsbCB0eXBlIjogIlRpcG8gZGUgY1x1MDBlOWx1bGEiLAoiQ29weSByb3ciOiAiQ29waWFyIGxpbmhhIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlByb3ByaWVkYWRlcyBkYSBsaW5oYSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlByb3ByaWVkYWRlcyBkYSB0YWJlbGEiLAoiQm90dG9tIjogIkZ1bmRvIiwKIlYgQWxpZ24iOiAiQWxpbmhhbWVudG8gViIsCiJIZWFkZXIiOiAiQ2FiZVx1MDBlN2FsaG8iLAoiUmlnaHQiOiAiRGlyZWl0YSIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIkluc2VyaXIgY29sdW5hIGRlcG9pcyIsCiJDb2xzIjogIkNvbHVuYXMiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbnNlcmlyIGxpbmhhIGRlcG9pcyIsCiJXaWR0aCI6ICJMYXJndXJhIiwKIkNlbGwgcHJvcGVydGllcyI6ICJQcm9wcmllZGFkZXMgZGEgY1x1MDBlOWx1bGEiLAoiTGVmdCI6ICJFc3F1ZXJkYSIsCiJDdXQgcm93IjogIkNvcnRhciBsaW5oYSIsCiJEZWxldGUgY29sdW1uIjogIkVsaW1pbmFyIGNvbHVuYSIsCiJDZW50ZXIiOiAiQ2VudHJvIiwKIk1lcmdlIGNlbGxzIjogIlVuaXIgY1x1MDBlOWx1bGFzIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJJbnNlcmlyIG1vZGVsbyIsCiJUZW1wbGF0ZXMiOiAiTW9kZWxvcyIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkNvciBkZSBmdW5kbyIsCiJDdXN0b20uLi4iOiAiUGVyc29uYWxpemFkYS4uLiIsCiJDdXN0b20gY29sb3IiOiAiQ29yIHBlcnNvbmFsaXphZGEiLAoiTm8gY29sb3IiOiAiU2VtIGNvciIsCiJUZXh0IGNvbG9yIjogIkNvciBkbyB0ZXh0byIsCiJTaG93IGJsb2NrcyI6ICJNb3N0cmFyIGJsb2NvcyIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIk1vc3RyYXIgY2FyYWN0ZXJlcyBpbnZpc1x1MDBlZHZlaXMiLAoiV29yZHM6IHswfSI6ICJQYWxhdnJhczogezB9IiwKIkluc2VydCI6ICJJbnNlcmlyIiwKIkZpbGUiOiAiRmljaGVpcm8iLAoiRWRpdCI6ICJFZGl0YXIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiQ2FpeGEgZGUgdGV4dG8gZm9ybWF0YWRvLiBQcmVzc2lvbmUgQUxULUY5IHBhcmEgZXhpYmlyIG8gbWVudS4gUHJlc3Npb25lIEFMVC1GMTAgcGFyYSBleGliaXIgYSBiYXJyYSBkZSBmZXJyYW1lbnRhcy4gUHJlc3Npb25lIEFMVC0wIHBhcmEgZXhpYmlyIGEgYWp1ZGEiLAoiVG9vbHMiOiAiRmVycmFtZW50YXMiLAoiVmlldyI6ICJWZXIiLAoiVGFibGUiOiAiVGFiZWxhIiwKIkZvcm1hdCI6ICJGb3JtYXRhciIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/readme.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VGhpcyBpcyB3aGVyZSBsYW5ndWFnZSBmaWxlcyBzaG91bGQgYmUgcGxhY2VkLgoKUGxlYXNlIERPIE5PVCB0cmFuc2xhdGUgdGhlc2UgZGlyZWN0bHkgdXNlIHRoaXMgc2VydmljZTogaHR0cHM6Ly93d3cudHJhbnNpZmV4LmNvbS9wcm9qZWN0cy9wL3RpbnltY2UvCg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ro.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdybycsewoiQ3V0IjogIkRlY3VwZWF6XHUwMTAzIiwKIkhlYWRpbmcgNSI6ICJUaXRsdSA1IiwKIkhlYWRlciAyIjogIkFudGV0IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiQnJvd3NlcnVsIGR1bW5lYXZvYXN0clx1MDEwMyBudSBzdXBwb3J0XHUwMTAzIGFjY2VzIGRpcmVjdCBsYSBjbGlwYm9hcmQuIEZvbG9zaVx1MDE2M2kgY29tYmluYVx1MDE2M2lsZSBkZSB0YXN0YXR1clx1MDEwMyBDdHJsK1hcL0NcL1YuIiwKIkhlYWRpbmcgNCI6ICJUaXRsdSA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIlRpdGx1IDIiLAoiUGFzdGUiOiAiTGlwZVx1MDE1ZnRlIiwKIkNsb3NlIjogIlx1MDBjZW5jaGlkZSIsCiJGb250IEZhbWlseSI6ICJGb250IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiQWxpbmllcmUgbGEgZHJlYXB0YSIsCiJOZXcgZG9jdW1lbnQiOiAiRG9jdW1lbnQgbm91IiwKIkJsb2NrcXVvdGUiOiAiTWVuXHUwMTYzaXVuZSBibG9jIiwKIk51bWJlcmVkIGxpc3QiOiAiTGlzdFx1MDEwMyBvcmRvbmF0XHUwMTAzIiwKIkhlYWRpbmcgMSI6ICJUaXRsdSAxIiwKIkhlYWRpbmdzIjogIlRpdGx1cmkiLAoiSW5jcmVhc2UgaW5kZW50IjogIkluZGVudGVhelx1MDEwMyIsCiJGb3JtYXRzIjogIkZvcm1hdGUiLAoiSGVhZGVycyI6ICJBbnRldGUiLAoiU2VsZWN0IGFsbCI6ICJTZWxlY3RlYXpcdTAxMDMgdG90IiwKIkhlYWRlciAzIjogIkFudGV0IDMiLAoiQmxvY2tzIjogIkJsb2N1cmkiLAoiVW5kbyI6ICJSZWV4ZWN1dFx1MDEwMyIsCiJTdHJpa2V0aHJvdWdoIjogIlRcdTAxMDNpYXQiLAoiQnVsbGV0IGxpc3QiOiAiTGlzdFx1MDEwMyBuZW9yZG9uYXRcdTAxMDMiLAoiSGVhZGVyIDEiOiAiQW50ZXQgMSIsCiJTdXBlcnNjcmlwdCI6ICJTdXBlcnNjcmlwdCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDE1ZXRlcmdlIGZvcm1hdFx1MDEwM3JpbGUiLAoiRm9udCBTaXplcyI6ICJEaW1lbnNpdW5lIGZvbnQiLAoiU3Vic2NyaXB0IjogIlN1YnNjcmlwdCIsCiJIZWFkZXIgNiI6ICJBbnRldCA2IiwKIlJlZG8iOiAiRGV6ZXhlY3V0XHUwMTAzIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZiIsCiJPayI6ICJPayIsCiJCb2xkIjogIlx1MDBjZW5ncm9cdTAxNWZhdCIsCiJDb2RlIjogIkNvZCIsCiJJdGFsaWMiOiAiSXRhbGljIiwKIkFsaWduIGNlbnRlciI6ICJDZW50cmFyZSIsCiJIZWFkZXIgNSI6ICJBbnRldCA1IiwKIkhlYWRpbmcgNiI6ICJUaXRsdSA2IiwKIkhlYWRpbmcgMyI6ICJUaXRsdSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJEZS1pbmRlbnRlYXpcdTAxMDMiLAoiSGVhZGVyIDQiOiAiQW50ZXQgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiRnVuY3RpYSBcImxpcGVcdTAxNWZ0ZVwiIGVzdGUgYWN1bSBcdTAwZWVuIG1vZHVsIHRleHQgc2ltcGx1LiBDb250aW51dHVsIHZhIGZpIGFjdW0gaW5zZXJhdCBjYSB0ZXh0IHNpbXBsdSBwXHUwMGUyblx1MDEwMyBjXHUwMGUybmQgYWNlYXN0XHUwMTAzIG9wXHUwMjFiaXVuZSB2YSBmaSBkZXphY3RpdmF0LiIsCiJVbmRlcmxpbmUiOiAiU3VibGluaWF0IiwKIkNhbmNlbCI6ICJBbnVsZWF6XHUwMTAzIiwKIkp1c3RpZnkiOiAiQWxpbmllcmUgcGUgdG9hdFx1MDEwMyBsXHUwMTAzXHUwMjFiaW1lYSIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkNvcHkiOiAiQ29waWF6XHUwMTAzIiwKIkFsaWduIGxlZnQiOiAiQWxpbmllcmUgbGEgc3RcdTAwZTJuZ2EiLAoiVmlzdWFsIGFpZHMiOiAiQWp1dG9yIHZpenVhbCIsCiJMb3dlciBHcmVlayI6ICJNaW51c2N1bGUgR3JlY2VzdGkiLAoiU3F1YXJlIjogIlBcdTAxMDN0cmF0IiwKIkRlZmF1bHQiOiAiSW1wbGljaXQiLAoiTG93ZXIgQWxwaGEiOiAiTWludXNjdWxlIEFsZmFudW1lcmljZSIsCiJDaXJjbGUiOiAiQ2VyYyIsCiJEaXNjIjogIkRpc2MiLAoiVXBwZXIgQWxwaGEiOiAiTWFqdXNjdWxlIEFsZmFudW1lcmljZSIsCiJVcHBlciBSb21hbiI6ICJNYWp1c2N1bGUgUm9tYW5lIiwKIkxvd2VyIFJvbWFuIjogIk1pbnVzY3VsZSBSb21hbmUiLAoiTmFtZSI6ICJOdW1lIiwKIkFuY2hvciI6ICJBbmNvclx1MDEwMyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkF2ZVx1MDIxYmkgbW9kaWZpY1x1MDEwM3JpIG5lc2FsdmF0ZSEgU3VudGVcdTAxNjNpIHNpZ3VyIGNcdTAxMDMgZG9yaVx1MDE2M2kgc1x1MDEwMyBpZVx1MDE1Zml0aT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlJlc3RhdXJhcmUgbGEgdWx0aW1hIHNhbHZhcmUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiQ2FyYWN0ZXJlIHNwZWNpYWxlIiwKIlNvdXJjZSBjb2RlIjogIkNvZHVsIHN1cnNcdTAxMDMiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiQ3Vsb2FyZSIsCiJSaWdodCB0byBsZWZ0IjogIkRyZWFwdGEgbGEgc3RcdTAwZTJuZ2EiLAoiTGVmdCB0byByaWdodCI6ICJTdFx1MDBlMm5nYSBsYSBkcmVhcHRhIiwKIkVtb3RpY29ucyI6ICJFbW90aWNvYW5lIiwKIlJvYm90cyI6ICJSb2JvXHUwMjFiaSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlByb3ByaWV0XHUwMTAzXHUwMjFiaSBkb2N1bWVudCIsCiJUaXRsZSI6ICJUaXRsdSIsCiJLZXl3b3JkcyI6ICJDdXZpbnRlIGNoZWllIiwKIkVuY29kaW5nIjogIkNvZGFyZSIsCiJEZXNjcmlwdGlvbiI6ICJEZXNjcmllcmUiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkZ1bGxzY3JlZW4iOiAiUGUgdG90IGVjcmFudWwiLAoiSG9yaXpvbnRhbCBsaW5lIjogIkxpbmllIG9yaXpvbnRhbFx1MDEwMyIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlNwYVx1MDIxYml1bCBvcml6b250YWwiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIkluc2VyYXJlXC9lZGl0YXJlYSBpbWFnaW5pbG9yIiwKIkdlbmVyYWwiOiAiR2VuZXJhbCIsCiJBZHZhbmNlZCI6ICJBdmFuc2F0IiwKIlNvdXJjZSI6ICJTdXJzXHUwMTAzIiwKIkJvcmRlciI6ICJCb3JkdXJcdTAxMDMiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkNvbnN0clx1MDBlMm5nZSBwcm9wb3JcdTAyMWJpaWxlIiwKIlZlcnRpY2FsIHNwYWNlIjogIlNwYVx1MDIxYml1bCB2ZXJ0aWNhbCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJEZXNjcmllcmVhIGltYWdpbmlpIiwKIlN0eWxlIjogIlN0aWwiLAoiRGltZW5zaW9ucyI6ICJEaW1lbnNpdW5pIiwKIkluc2VydCBpbWFnZSI6ICJJbnNlcmFyZSBpbWFnaW5lIiwKIlpvb20gaW4iOiAiTVx1MDEwM3JpcmUiLAoiQ29udHJhc3QiOiAiQ29udHJhc3QiLAoiQmFjayI6ICJcdTAwY2VuYXBvaSIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJSXHUwMTAzc3R1cm5cdTAxMDMgb3Jpem9udGFsIiwKIlJlc2l6ZSI6ICJSZWRpbWVuc2lvbmFyZSIsCiJTaGFycGVuIjogIkFjY2VudHVhcmUiLAoiWm9vbSBvdXQiOiAiTWljXHUwMTVmb3JhcmUiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJPcFx1MDIxYml1bmkgaW1hZ2luZSIsCiJBcHBseSI6ICJTYWx2ZWF6XHUwMTAzIiwKIkJyaWdodG5lc3MiOiAiU3RyXHUwMTAzbHVjaXJlIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUm90aXJlIFx1MDBlZW4gc2Vuc3VsIG9yYXIiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiUm90aXJlIFx1MDBlZW4gc2Vuc3VsIGFudGlvcmFyIiwKIkVkaXQgaW1hZ2UiOiAiRWRpdGFyZSBpbWFnaW5lIiwKIkNvbG9yIGxldmVscyI6ICJOaXZlbHVyaSBkZSBjdWxvYXJlIiwKIkNyb3AiOiAiRGVjdXBhcmUiLAoiT3JpZW50YXRpb24iOiAiT3JpZW50YXJlIiwKIkZsaXAgdmVydGljYWxseSI6ICJSXHUwMTAzc3R1cm5cdTAxMDMgdmVydGljYWwiLAoiSW52ZXJ0IjogIkludmVyc1x1MDEwMyIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbnNlcmVhelx1MDEwMyBkYXRhXC9vcmEiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwMjE4dGVyZ2UgbGluay11bCIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IGRlIGFmaVx1MDIxOWF0IiwKIkFuY2hvcnMiOiAiQW5jb3JcdTAxMDMiLAoiSW5zZXJ0IGxpbmsiOiAiSW5zZXJhcmUgbGluayIsCiJOZXcgd2luZG93IjogIkZlcmVhc3RyXHUwMTAzIG5vdVx1MDEwMyIsCiJOb25lIjogIk5pY2kgdW51bCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVVJMLXVsIGludHJvZHVzIHBhcmUgc1x1MDEwMyBmaWUgbyBhZHJlc1x1MDEwMyB3ZWIuIERvcmlcdTAyMWJpIHNcdTAxMDMgYWRcdTAxMDN1Z2FcdTAyMWJpIHByZWZpeHVsIGh0dHA6XC9cLyA/IiwKIlRhcmdldCI6ICJcdTAyMWFpbnRcdTAxMDMiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJVUkwtdWwgaW50cm9kdXMgcGFyZSBzXHUwMTAzIGZpZSBvIGFkcmVzXHUwMTAzIGRlIGUtbWFpbC4gRG9yaVx1MDIxYmkgc1x1MDEwMyBhZFx1MDEwM3VnYVx1MDIxYmkgcHJlZml4dWwgbWFpbHRvOiA/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluc2VyYXJlXC9lZGl0YXJlIGxpbmsiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkluc2VyYXJlXC9lZGl0YXJlIHZpZGVvIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlN1cnNcdTAxMDMgYWx0ZXJuYXRpdlx1MDEwMyIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIkluc2VyYVx1MDIxYmkgY29kdWw6IiwKIkluc2VydCB2aWRlbyI6ICJJbnNlcmFyZSB2aWRlbyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJTcGFcdTAyMWJpdSBuZXNlcGFyYXRvciIsCiJQYWdlIGJyZWFrIjogIlx1MDBjZW50cmVydXBlcmUgZGUgcGFnaW5cdTAxMDMiLAoiUGFzdGUgYXMgdGV4dCI6ICJMaXBlXHUwMTVmdGUgY2EgdGV4dCIsCiJQcmV2aWV3IjogIlByZXZpenVhbGl6YXJlIiwKIlByaW50IjogIlRpcFx1MDEwM3JlXHUwMjE5dGUiLAoiU2F2ZSI6ICJTYWx2ZWF6XHUwMTAzIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJOdSBhbSBwdXR1dCBnXHUwMTAzc2kgXHUwMjE5aXJ1bCBzcGVjaWZpY2F0LiIsCiJSZXBsYWNlIjogIlx1MDBjZW5sb2N1aWVcdTAxNWZ0ZSIsCiJOZXh0IjogIlByZWNlZGVudCIsCiJXaG9sZSB3b3JkcyI6ICJEb2FyIGN1dlx1MDBlZW50dWwgXHUwMGVlbnRyZWciLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJDYXV0XHUwMTAzIFx1MDE1ZmkgXHUwMGVlbmxvY3VpZVx1MDE1ZnRlIiwKIlJlcGxhY2Ugd2l0aCI6ICJcdTAwY2VubG9jdWllXHUwMTVmdGUgY3UiLAoiRmluZCI6ICJDYXV0XHUwMTAzIiwKIlJlcGxhY2UgYWxsIjogIlx1MDBjZW5sb2N1aWVcdTAxNWZ0ZSB0b2F0ZSIsCiJNYXRjaCBjYXNlIjogIkRpc3RpbmdlIG1hanVzY3VsZVwvbWludXNjdWxlIiwKIlByZXYiOiAiQW50ZXJpb3IiLAoiU3BlbGxjaGVjayI6ICJWZXJpZmljYXJlYSBvcnRvZ3JhZmljXHUwMTAzIiwKIkZpbmlzaCI6ICJGaW5hbGl6ZWF6XHUwMTAzIiwKIklnbm9yZSBhbGwiOiAiSWdub3JcdTAxMDMgdG9hdGUiLAoiSWdub3JlIjogIklnbm9yXHUwMTAzIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkFkYXVnXHUwMTAzIFx1MDBlZW4gRGljXHUwMjFiaW9uYXIiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiSW5zZXJlYXpcdTAxMDMgXHUwMGVlbmFpbnRlIGRlIGxpbmllIiwKIlJvd3MiOiAiTGluaWkiLAoiSGVpZ2h0IjogIlx1MDBjZW5cdTAxMDNsXHUwMTYzaW1lIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJMaXBlXHUwMTVmdGUgbGluaWUgZHVwXHUwMTAzIiwKIkFsaWdubWVudCI6ICJBbGluaWFtZW50IiwKIkJvcmRlciBjb2xvciI6ICJDdWxvYXJlIGJvcmR1clx1MDEwMyIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cCBkZSBjb2xvYW5lIiwKIlJvdyI6ICJMaW5pZSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbnNlcmVhemEgXHUwMGVlbmFpbnRlIGRlIGNvbG9hblx1MDEwMyIsCiJTcGxpdCBjZWxsIjogIlx1MDBjZW1wXHUwMTAzclx1MDIxYmlyZWEgY2VsdWxlbG9yIiwKIkNlbGwgcGFkZGluZyI6ICJTcGFcdTAyMWJpZXJlIiwKIkNlbGwgc3BhY2luZyI6ICJTcGFcdTAyMWJpZXJlIGNlbHVsZSIsCiJSb3cgdHlwZSI6ICJUaXAgZGUgbGluaWUiLAoiSW5zZXJ0IHRhYmxlIjogIkluc2VyZWF6XHUwMTAzIHRhYmVsXHUwMTAzIiwKIkJvZHkiOiAiQ29ycCIsCiJDYXB0aW9uIjogIlRpdGx1IiwKIkZvb3RlciI6ICJTdWJzb2wiLAoiRGVsZXRlIHJvdyI6ICJcdTAyMTh0ZXJnZSBsaW5pYSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIkxpcGVcdTAxNWZ0ZSBcdTAwZWVuYWludGUgZGUgbGluaWUiLAoiU2NvcGUiOiAiRG9tZW5pdSIsCiJEZWxldGUgdGFibGUiOiAiXHUwMjE4dGVyZ2UgdGFiZWxcdTAxMDMiLAoiSCBBbGlnbiI6ICJBbGluaWVyZSBIIiwKIlRvcCI6ICJTdXMiLAoiSGVhZGVyIGNlbGwiOiAiQW50ZXQgY2VsdWxcdTAxMDMiLAoiQ29sdW1uIjogIkNvbG9hblx1MDEwMyIsCiJSb3cgZ3JvdXAiOiAiR3J1cCBkZSBsaW5paSIsCiJDZWxsIjogIkNlbHVsXHUwMTAzIiwKIk1pZGRsZSI6ICJNaWpsb2MiLAoiQ2VsbCB0eXBlIjogIlRpcCBjZWx1bFx1MDEwMyIsCiJDb3B5IHJvdyI6ICJDb3BpYXpcdTAxMDMgbGluaWUiLAoiUm93IHByb3BlcnRpZXMiOiAiUHJvcHJpZXRcdTAxMDNcdTAyMWJpIGxpbmllIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiUHJvcHJpZXRcdTAxMDNcdTAyMWJpIHRhYmVsXHUwMTAzIiwKIkJvdHRvbSI6ICJKb3MiLAoiViBBbGlnbiI6ICJBbGluaWVyZSBWIiwKIkhlYWRlciI6ICJBbnRldCIsCiJSaWdodCI6ICJEcmVhcHRhIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiSW5zZXJlYXphIGR1cFx1MDEwMyBjb2xvYW5cdTAxMDMiLAoiQ29scyI6ICJDb2xvYW5lIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiSW5zZXJlYXpcdTAxMDMgZHVwXHUwMTAzIGxpbmllIiwKIldpZHRoIjogIkxcdTAxMDNcdTAxNjNpbWUiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlByb3ByaWV0XHUwMTAzXHUwMjFiaSBjZWx1bFx1MDEwMyIsCiJMZWZ0IjogIlN0XHUwMGUybmdhIiwKIkN1dCByb3ciOiAiVGFpZSBsaW5pZSIsCiJEZWxldGUgY29sdW1uIjogIlx1MDIxOHRlcmdlIGNvbG9hbmEiLAoiQ2VudGVyIjogIkNlbnRydSIsCiJNZXJnZSBjZWxscyI6ICJcdTAwY2VtYmluYXJlYSBjZWx1bGVsb3IiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkluc2VyZWF6XHUwMTAzIFx1MDIxOWFibG9uIiwKIlRlbXBsYXRlcyI6ICJcdTAxNWVhYmxvYW5lIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQ3Vsb2FyZSBmdW5kYWwiLAoiQ3VzdG9tLi4uIjogIlBlcnNvbmFsaXphdC4uLiIsCiJDdXN0b20gY29sb3IiOiAiQ3Vsb2FyZSBwZXJzb25hbGl6YXRcdTAxMDMiLAoiTm8gY29sb3IiOiAiRlx1MDEwM3JcdTAxMDMgY3Vsb2FyZSIsCiJUZXh0IGNvbG9yIjogIkN1bG9hcmUgdGV4dCIsCiJTaG93IGJsb2NrcyI6ICJBZmlcdTAyMTlhcmUgYmxvY3VyaSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIkFmaVx1MDIxOWFyZSBjYXJhY3RlcmUgaW52aXppYmlsZSIsCiJXb3JkczogezB9IjogIkN1dmludGU6IHswfSIsCiJJbnNlcnQiOiAiSW5zZXJlYXpcdTAxMDMiLAoiRmlsZSI6ICJGaWxcdTAxMDMiLAoiRWRpdCI6ICJFZGl0ZWF6XHUwMTAzIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlpvblx1MDEwMyBjdSBSaWNoIFRleHQuIEFwYXNcdTAxMDMgQUxULUY5IHBlbnRydSBtZW5pdS4gQXBhc1x1MDEwMyBBTFQtRjEwIHBlbnRydSBiYXJhIGRlIHVuZWx0ZS4gQXBhc1x1MDEwMyBBTFQtMCBwZW50cnUgYWp1dG9yIiwKIlRvb2xzIjogIlVuZWx0ZSIsCiJWaWV3IjogIlZlemkiLAoiVGFibGUiOiAiVGFiZWxcdTAxMDMiLAoiRm9ybWF0IjogIkZvcm1hdGVhelx1MDEwMyIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ru.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdydScsewoiQ3V0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzNVx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQ0YyIsCiJIZWFkaW5nIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4IFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDM0XHUwNDM1XHUwNDQwXHUwNDM2XHUwNDM4XHUwNDMyXHUwNDMwXHUwNDM1XHUwNDQyIFx1MDQzZlx1MDQ0MFx1MDQ0Zlx1MDQzY1x1MDQzZVx1MDQzOSBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YgXHUwNDNhIFx1MDQzMVx1MDQ0M1x1MDQ0NFx1MDQzNVx1MDQ0MFx1MDQ0MyBcdTA0M2VcdTA0MzFcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzAuIFx1MDQxZlx1MDQzZVx1MDQzNlx1MDQzMFx1MDQzYlx1MDQ0M1x1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMCwgXHUwNDM4XHUwNDQxXHUwNDNmXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDM3XHUwNDQzXHUwNDM5XHUwNDQyXHUwNDM1IFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzNFx1MDQ0M1x1MDQ0ZVx1MDQ0OVx1MDQzOFx1MDQzNSBcdTA0NDFcdTA0M2VcdTA0NDdcdTA0MzVcdTA0NDJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0NGYgXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQ4OiBDdHJsK1hcL0NcL1YuIiwKIkhlYWRpbmcgNCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNCIsCiJEaXYiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhIiwKIkhlYWRpbmcgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMiIsCiJQYXN0ZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMiLAoiQ2xvc2UiOiAiXHUwNDE3XHUwNDMwXHUwNDNhXHUwNDQwXHUwNDRiXHUwNDQyXHUwNDRjIiwKIkZvbnQgRmFtaWx5IjogIlx1MDQyOFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0MiIsCiJQcmUiOiAiXHUwNDFmXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMyXHUwNDMwXHUwNDQwXHUwNDM4XHUwNDQyXHUwNDM1XHUwNDNiXHUwNDRjXHUwNDNkXHUwNDNlXHUwNDM1IFx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJBbGlnbiByaWdodCI6ICJcdTA0MWZcdTA0M2UgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQ0ZSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNDFkXHUwNDNlXHUwNDMyXHUwNDRiXHUwNDM5IFx1MDQzNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0MiIsCiJCbG9ja3F1b3RlIjogIlx1MDQyNlx1MDQzOFx1MDQ0Mlx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQxZFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0NDFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0M2VcdTA0M2EiLAoiSGVhZGluZyAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIkhlYWRpbmdzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzOCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNDIzXHUwNDMyXHUwNDM1XHUwNDNiXHUwNDM4XHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZVx1MDQ0Mlx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJGb3JtYXRzIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0MiIsCiJIZWFkZXJzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzOCIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMlx1MDQ0Ylx1MDQzNFx1MDQzNVx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0MzJcdTA0NDFcdTA0MzUiLAoiSGVhZGVyIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiQmxvY2tzIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzOCIsCiJVbmRvIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQ0YyIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDQxN1x1MDQzMFx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzYVx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQ0Ylx1MDQzOSIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIiwKIkhlYWRlciAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0MzhcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MWVcdTA0NDdcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDNjXHUwNDM1XHUwNDQwIFx1MDQ0OFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0Mlx1MDQzMCIsCiJTdWJzY3JpcHQiOiAiXHUwNDFkXHUwNDM4XHUwNDM2XHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQzOFx1MDQzZFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQ0MSIsCiJIZWFkZXIgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNiIsCiJSZWRvIjogIlx1MDQxZVx1MDQ0Mlx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJQYXJhZ3JhcGgiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDQ0IiwKIk9rIjogIlx1MDQxZVx1MDQzYSIsCiJCb2xkIjogIlx1MDQxZlx1MDQzZVx1MDQzYlx1MDQ0M1x1MDQzNlx1MDQzOFx1MDQ0MFx1MDQzZFx1MDQ0Ylx1MDQzOSIsCiJDb2RlIjogIlx1MDQxYVx1MDQzZVx1MDQzNCIsCiJJdGFsaWMiOiAiXHUwNDFhXHUwNDQzXHUwNDQwXHUwNDQxXHUwNDM4XHUwNDMyIiwKIkFsaWduIGNlbnRlciI6ICJcdTA0MWZcdTA0M2UgXHUwNDQ2XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQwXHUwNDQzIiwKIkhlYWRlciA1IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQyM1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Y1x1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2VcdTA0NDJcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoiSGVhZGVyIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzYVx1MDQzMCBcdTA0M2VcdTA0NDFcdTA0NDNcdTA0NDlcdTA0MzVcdTA0NDFcdTA0NDJcdTA0MzJcdTA0M2JcdTA0NGZcdTA0MzVcdTA0NDJcdTA0NDFcdTA0NGYgXHUwNDMyIFx1MDQzMlx1MDQzOFx1MDQzNFx1MDQzNSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0NDFcdTA0NDJcdTA0M2VcdTA0MzNcdTA0M2UgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyXHUwNDMwLCBcdTA0M2ZcdTA0M2VcdTA0M2FcdTA0MzAgXHUwNDNkXHUwNDM1IFx1MDQzZVx1MDQ0Mlx1MDQzYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0MzRcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NDNcdTA0NGUgXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDM4XHUwNDRlLiIsCiJVbmRlcmxpbmUiOiAiXHUwNDFmXHUwNDNlXHUwNDM0XHUwNDQ3XHUwNDM1XHUwNDQwXHUwNDNhXHUwNDNkXHUwNDQzXHUwNDQyXHUwNDRiXHUwNDM5IiwKIkNhbmNlbCI6ICJcdTA0MWVcdTA0NDJcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMiLAoiSnVzdGlmeSI6ICJcdTA0MWZcdTA0M2UgXHUwNDQ4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDM1IiwKIklubGluZSI6ICJcdTA0MjFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0NDdcdTA0M2RcdTA0NGJcdTA0MzUiLAoiQ29weSI6ICJcdTA0MWFcdTA0M2VcdTA0M2ZcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMiLAoiQWxpZ24gbGVmdCI6ICJcdTA0MWZcdTA0M2UgXHUwNDNiXHUwNDM1XHUwNDMyXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQ0ZSIsCiJWaXN1YWwgYWlkcyI6ICJcdTA0MWZcdTA0M2VcdTA0M2FcdTA0MzBcdTA0MzdcdTA0NGJcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDNhXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDRiIiwKIkxvd2VyIEdyZWVrIjogIlx1MDQyMVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQ0Ylx1MDQzNSBcdTA0MzNcdTA0NDBcdTA0MzVcdTA0NDdcdTA0MzVcdTA0NDFcdTA0M2FcdTA0MzhcdTA0MzUgXHUwNDMxXHUwNDQzXHUwNDNhXHUwNDMyXHUwNDRiIiwKIlNxdWFyZSI6ICJcdTA0MWFcdTA0MzJcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzBcdTA0NDJcdTA0NGIiLAoiRGVmYXVsdCI6ICJcdTA0MjFcdTA0NDJcdTA0MzBcdTA0M2RcdTA0MzRcdTA0MzBcdTA0NDBcdTA0NDJcdTA0M2RcdTA0NGJcdTA0MzkiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDQ3XHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzZFx1MDQ0MVx1MDQzYVx1MDQzOFx1MDQzNSBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0NGIiLAoiQ2lyY2xlIjogIlx1MDQxZVx1MDQzYVx1MDQ0MFx1MDQ0M1x1MDQzNlx1MDQzZFx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzOCIsCiJEaXNjIjogIlx1MDQxYVx1MDQ0MFx1MDQ0M1x1MDQzM1x1MDQzOCIsCiJVcHBlciBBbHBoYSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0M2RcdTA0NGJcdTA0MzUgXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDNhXHUwNDM4XHUwNDM1IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQ0YiIsCiJVcHBlciBSb21hbiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0M2RcdTA0NGJcdTA0MzUgXHUwNDQwXHUwNDM4XHUwNDNjXHUwNDQxXHUwNDNhXHUwNDM4XHUwNDM1IFx1MDQ0Nlx1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQ0YiIsCiJMb3dlciBSb21hbiI6ICJcdTA0MjFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0NDdcdTA0M2RcdTA0NGJcdTA0MzUgXHUwNDQwXHUwNDM4XHUwNDNjXHUwNDQxXHUwNDNhXHUwNDM4XHUwNDM1IFx1MDQ0Nlx1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQ0YiIsCiJOYW1lIjogIlx1MDQxOFx1MDQzY1x1MDQ0ZiIsCiJBbmNob3IiOiAiXHUwNDJmXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDRjIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHUwNDIzIFx1MDQzMlx1MDQzMFx1MDQ0MSBcdTA0MzVcdTA0NDFcdTA0NDJcdTA0NGMgXHUwNDNkXHUwNDM1IFx1MDQ0MVx1MDQzZVx1MDQ0NVx1MDQ0MFx1MDQzMFx1MDQzZFx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzNSBcdTA0MzhcdTA0MzdcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NGYuIFx1MDQxMlx1MDQ0YiBcdTA0NDNcdTA0MzJcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2RcdTA0NGIsIFx1MDQ0N1x1MDQ0Mlx1MDQzZSBcdTA0NDVcdTA0M2VcdTA0NDJcdTA0MzhcdTA0NDJcdTA0MzUgXHUwNDQzXHUwNDM5XHUwNDQyXHUwNDM4PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNDEyXHUwNDNlXHUwNDQxXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDNlXHUwNDMyXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzNFx1MDQzZFx1MDQzNVx1MDQzM1x1MDQzZSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzVcdTA0M2FcdTA0NDJcdTA0MzAiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNDIxXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDM4XHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDRiXHUwNDM1IFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQ0YiIsCiJTb3VyY2UgY29kZSI6ICJcdTA0MThcdTA0NDFcdTA0NDVcdTA0M2VcdTA0MzRcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDM0IiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0MiIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQxZFx1MDQzMFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzYlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0NDFcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDNiXHUwNDM1XHUwNDMyXHUwNDNlIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDFkXHUwNDMwXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2UiLAoiRW1vdGljb25zIjogIlx1MDQxNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0M2NcdTA0MzBcdTA0MzlcdTA0M2IiLAoiUm9ib3RzIjogIlx1MDQyMFx1MDQzZVx1MDQzMVx1MDQzZVx1MDQ0Mlx1MDQ0YiIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDQyMVx1MDQzMlx1MDQzZVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzMCBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzAiLAoiVGl0bGUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIiwKIktleXdvcmRzIjogIlx1MDQxYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzOFx1MDQzMlx1MDQ0Ylx1MDQzNSBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAiLAoiRW5jb2RpbmciOiAiXHUwNDFhXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDNhXHUwNDMwIiwKIkRlc2NyaXB0aW9uIjogIlx1MDQxZVx1MDQzZlx1MDQzOFx1MDQ0MVx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJBdXRob3IiOiAiXHUwNDEwXHUwNDMyXHUwNDQyXHUwNDNlXHUwNDQwIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFmXHUwNDNlXHUwNDNiXHUwNDNkXHUwNDNlXHUwNDRkXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRiXHUwNDM5IFx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzOFx1MDQzYyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDMwXHUwNDRmIFx1MDQzYlx1MDQzOFx1MDQzZFx1MDQzOFx1MDQ0ZiIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0MzhcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0Y1wvXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMwXHUwNDNhXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDNlXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSIsCiJHZW5lcmFsIjogIlx1MDQxZVx1MDQzMVx1MDQ0OVx1MDQzNVx1MDQzNSIsCiJBZHZhbmNlZCI6ICJcdTA0MjBcdTA0MzBcdTA0NDFcdTA0NDhcdTA0MzhcdTA0NDBcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzUiLAoiU291cmNlIjogIlx1MDQxOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQzOFx1MDQzYSIsCiJCb3JkZXIiOiAiXHUwNDIwXHUwNDMwXHUwNDNjXHUwNDNhXHUwNDMwIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA0MjFcdTA0M2VcdTA0NDVcdTA0NDBcdTA0MzBcdTA0M2RcdTA0NGZcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDNlXHUwNDQwXHUwNDQ2XHUwNDM4XHUwNDM4IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0MzhcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNDFlXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0ZiIsCiJTdHlsZSI6ICJcdTA0MjFcdTA0NDJcdTA0MzhcdTA0M2JcdTA0NGMiLAoiRGltZW5zaW9ucyI6ICJcdTA0MjBcdTA0MzBcdTA0MzdcdTA0M2NcdTA0MzVcdTA0NDAiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzUiLAoiWm9vbSBpbiI6ICJcdTA0MWZcdTA0NDBcdTA0MzhcdTA0MzFcdTA0M2JcdTA0MzhcdTA0MzdcdTA0MzhcdTA0NDJcdTA0NGMiLAoiQ29udHJhc3QiOiAiXHUwNDFhXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDQyIiwKIkJhY2siOiAiXHUwNDFkXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDM0IiwKIkdhbW1hIjogIlx1MDQxM1x1MDQzMFx1MDQzY1x1MDQzY1x1MDQzMCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTA0MWVcdTA0NDJcdTA0NDBcdTA0MzBcdTA0MzdcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDNlIFx1MDQzM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzOCIsCiJSZXNpemUiOiAiXHUwNDE4XHUwNDM3XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzY1x1MDQzNVx1MDQ0MCIsCiJTaGFycGVuIjogIlx1MDQyN1x1MDQzNVx1MDQ0Mlx1MDQzYVx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJab29tIG91dCI6ICJcdTA0MWVcdTA0NDJcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0NGMiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTA0MWRcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0MzlcdTA0M2FcdTA0MzggXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDRmIiwKIkFwcGx5IjogIlx1MDQxZlx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJCcmlnaHRuZXNzIjogIlx1MDQyZlx1MDQ0MFx1MDQzYVx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDQxZlx1MDQzZVx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQ0YyBcdTA0M2ZcdTA0M2UgXHUwNDQ3XHUwNDMwXHUwNDQxXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDM5IFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzNVx1MDQzYlx1MDQzYVx1MDQzNSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQyXHUwNDM4XHUwNDMyIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzOSBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzVcdTA0M2JcdTA0M2FcdTA0MzgiLAoiRWRpdCBpbWFnZSI6ICJcdTA0MjBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM1IiwKIkNvbG9yIGxldmVscyI6ICJcdTA0MjZcdTA0MzJcdTA0MzVcdTA0NDJcdTA0M2VcdTA0MzJcdTA0NGJcdTA0MzUgXHUwNDQzXHUwNDQwXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDM4IiwKIkNyb3AiOiAiXHUwNDFlXHUwNDMxXHUwNDQwXHUwNDM1XHUwNDM3XHUwNDMwXHUwNDQyXHUwNDRjIiwKIk9yaWVudGF0aW9uIjogIlx1MDQxZVx1MDQ0MFx1MDQzOFx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQ0ZiIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHUwNDFlXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDM3XHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQzZSBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0MzgiLAoiSW52ZXJ0IjogIlx1MDQxOFx1MDQzZFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0MVx1MDQzOFx1MDQ0ZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDQzXC9cdTA0MzJcdTA0NDBcdTA0MzVcdTA0M2NcdTA0NGYiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNDIzXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQ0MyIsCiJVcmwiOiAiXHUwNDEwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxIFx1MDQ0MVx1MDQ0MVx1MDQ0Ylx1MDQzYlx1MDQzYVx1MDQzOCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNDFlXHUwNDQyXHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDMwXHUwNDM1XHUwNDNjXHUwNDRiXHUwNDM5IFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJBbmNob3JzIjogIlx1MDQyZlx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQ0ZiIsCiJJbnNlcnQgbGluayI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIk5ldyB3aW5kb3ciOiAiXHUwNDEyIFx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYyBcdTA0M2VcdTA0M2FcdTA0M2RcdTA0MzUiLAoiTm9uZSI6ICJcdTA0MWRcdTA0MzVcdTA0NDIiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlx1MDQxMlx1MDQzMlx1MDQzNVx1MDQzNFx1MDQ1MVx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzOSBVUkwgXHUwNDRmXHUwNDMyXHUwNDNiXHUwNDRmXHUwNDM1XHUwNDQyXHUwNDQxXHUwNDRmIFx1MDQzMlx1MDQzZFx1MDQzNVx1MDQ0OFx1MDQzZFx1MDQzNVx1MDQzOSBcdTA0NDFcdTA0NDFcdTA0NGJcdTA0M2JcdTA0M2FcdTA0M2VcdTA0MzkuIFx1MDQxMlx1MDQ0YiBcdTA0MzZcdTA0MzVcdTA0M2JcdTA0MzBcdTA0MzVcdTA0NDJcdTA0MzUgXHUwNDM0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzOFx1MDQzYVx1MDQ0MSBcdTAwYWJodHRwOlwvXC9cdTAwYmI/IiwKIlRhcmdldCI6ICJcdTA0MWVcdTA0NDJcdTA0M2FcdTA0NDBcdTA0NGJcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNDEyXHUwNDMyXHUwNDM1XHUwNDM0XHUwNDUxXHUwNDNkXHUwNDNkXHUwNDRiXHUwNDM5IFVSTCBcdTA0NGZcdTA0MzJcdTA0M2JcdTA0NGZcdTA0MzVcdTA0NDJcdTA0NDFcdTA0NGYgXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDQwXHUwNDM1XHUwNDNhXHUwNDQyXHUwNDNkXHUwNDRiXHUwNDNjIFx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzNVx1MDQ0MVx1MDQzZVx1MDQzYyBcdTA0NGRcdTA0M2JcdTA0MzVcdTA0M2FcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2RcdTA0M2RcdTA0M2VcdTA0MzkgXHUwNDNmXHUwNDNlXHUwNDQ3XHUwNDQyXHUwNDRiLiBcdTA0MTJcdTA0NGIgXHUwNDM2XHUwNDM1XHUwNDNiXHUwNDMwXHUwNDM1XHUwNDQyXHUwNDM1IFx1MDQzNFx1MDQzZVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzhcdTA0M2FcdTA0NDEgXHUwMGFibWFpbHRvOlx1MDBiYj8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjXC9cdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0M2FcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNhXHUwNDQzIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGNcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzOFx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0YyBcdTA0MzJcdTA0MzhcdTA0MzRcdTA0MzVcdTA0M2UiLAoiUG9zdGVyIjogIlx1MDQxOFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzNSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiXHUwNDEwXHUwNDNiXHUwNDRjXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDNkXHUwNDRiXHUwNDM5IFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQzOFx1MDQzYSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ0Y1x1MDQ0Mlx1MDQzNSBcdTA0MzJcdTA0MzBcdTA0NDggXHUwNDNhXHUwNDNlXHUwNDM0IFx1MDQzZFx1MDQzOFx1MDQzNlx1MDQzNToiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0MzJcdTA0MzhcdTA0MzRcdTA0MzVcdTA0M2UiLAoiRW1iZWQiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IFx1MDQzNFx1MDQzYlx1MDQ0ZiBcdTA0MzJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0M2FcdTA0MzgiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNDFkXHUwNDM1XHUwNDQwXHUwNDMwXHUwNDM3XHUwNDQwXHUwNDRiXHUwNDMyXHUwNDNkXHUwNDRiXHUwNDM5IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzMVx1MDQzNVx1MDQzYiIsCiJQYWdlIGJyZWFrIjogIlx1MDQyMFx1MDQzMFx1MDQzN1x1MDQ0MFx1MDQ0Ylx1MDQzMiBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzhcdTA0NDZcdTA0NGIiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDNhXHUwNDMwXHUwNDNhIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJQcmV2aWV3IjogIlx1MDQxZlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQzY1x1MDQzZVx1MDQ0Mlx1MDQ0MCIsCiJQcmludCI6ICJcdTA0MWZcdTA0MzVcdTA0NDdcdTA0MzBcdTA0NDJcdTA0NGMiLAoiU2F2ZSI6ICJcdTA0MjFcdTA0M2VcdTA0NDVcdTA0NDBcdTA0MzBcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDQxN1x1MDQzMFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzZFx1MDQzMFx1MDQ0ZiBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2FcdTA0MzAgXHUwNDNkXHUwNDM1IFx1MDQzZFx1MDQzMFx1MDQzOVx1MDQzNFx1MDQzNVx1MDQzZFx1MDQzMCIsCiJSZXBsYWNlIjogIlx1MDQxN1x1MDQzMFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJOZXh0IjogIlx1MDQxMlx1MDQzZFx1MDQzOFx1MDQzNyIsCiJXaG9sZSB3b3JkcyI6ICJcdTA0MjFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2UgXHUwNDQ2XHUwNDM1XHUwNDNiXHUwNDM4XHUwNDNhXHUwNDNlXHUwNDNjIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNDFmXHUwNDNlXHUwNDM4XHUwNDQxXHUwNDNhIFx1MDQzOCBcdTA0MzdcdTA0MzBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzAiLAoiUmVwbGFjZSB3aXRoIjogIlx1MDQxN1x1MDQzMFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2RcdTA0MzAiLAoiRmluZCI6ICJcdTA0MWRcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzgiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzMlx1MDQ0MVx1MDQzNSIsCiJNYXRjaCBjYXNlIjogIlx1MDQyM1x1MDQ0N1x1MDQzOFx1MDQ0Mlx1MDQ0Ylx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0YyBcdTA0NDBcdTA0MzVcdTA0MzNcdTA0MzhcdTA0NDFcdTA0NDJcdTA0NDAiLAoiUHJldiI6ICJcdTA0MTJcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDUiLAoiU3BlbGxjaGVjayI6ICJcdTA0MWZcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNlXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM1IiwKIkZpbmlzaCI6ICJcdTA0MTdcdTA0MzBcdTA0M2FcdTA0M2VcdTA0M2RcdTA0NDdcdTA0MzhcdTA0NDJcdTA0NGMiLAoiSWdub3JlIGFsbCI6ICJcdTA0MThcdTA0MzNcdTA0M2RcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDMyXHUwNDQxXHUwNDM1IiwKIklnbm9yZSI6ICJcdTA0MThcdTA0MzNcdTA0M2RcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzMiBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDBcdTA0NGMiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZlx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQ0ZSBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2FcdTA0NDMgXHUwNDQxXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDQzIiwKIlJvd3MiOiAiXHUwNDIxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDM4IiwKIkhlaWdodCI6ICJcdTA0MTJcdTA0NGJcdTA0NDFcdTA0M2VcdTA0NDJcdTA0MzAiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2FcdTA0NDMgXHUwNDQxXHUwNDNkXHUwNDM4XHUwNDM3XHUwNDQzIiwKIkFsaWdubWVudCI6ICJcdTA0MTJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0MiBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0M2FcdTA0MzgiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDQxM1x1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzZlx1MDQzMCBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0M2VcdTA0M2EiLAoiUm93IjogIlx1MDQyMVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYVx1MDQzMCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA0MTRcdTA0M2VcdTA0MzFcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDNiXHUwNDMxXHUwNDM1XHUwNDQ2IFx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzMlx1MDQzMCIsCiJTcGxpdCBjZWxsIjogIlx1MDQyMFx1MDQzMFx1MDQzN1x1MDQzMVx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NGZcdTA0NDdcdTA0MzVcdTA0MzlcdTA0M2FcdTA0NDMiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDQxMlx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQ0MFx1MDQzNVx1MDQzZFx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0M2VcdTA0NDJcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDQxMlx1MDQzZFx1MDQzNVx1MDQ0OFx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0M2VcdTA0NDJcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoiUm93IHR5cGUiOiAiXHUwNDIyXHUwNDM4XHUwNDNmIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYVx1MDQzOCIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ0MyIsCiJCb2R5IjogIlx1MDQyMlx1MDQzNVx1MDQzYlx1MDQzZSIsCiJDYXB0aW9uIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSIsCiJGb290ZXIiOiAiXHUwNDFkXHUwNDM4XHUwNDM3IiwKIkRlbGV0ZSByb3ciOiAiXHUwNDIzXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYVx1MDQ0MyIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2FcdTA0NDMgXHUwNDQxXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDQzIiwKIlNjb3BlIjogIlNjb3BlIiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA0MjNcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDQzIiwKIkggQWxpZ24iOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDNlXHUwNDM1IFx1MDQzMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJUb3AiOiAiXHUwNDFmXHUwNDNlIFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQ0MyIsCiJIZWFkZXIgY2VsbCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EiLAoiQ29sdW1uIjogIlx1MDQyMVx1MDQ0Mlx1MDQzZVx1MDQzYlx1MDQzMVx1MDQzNVx1MDQ0NiIsCiJSb3cgZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDNmXHUwNDMwIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYSIsCiJDZWxsIjogIlx1MDQyZlx1MDQ0N1x1MDQzNVx1MDQzOVx1MDQzYVx1MDQzMCIsCiJNaWRkbGUiOiAiXHUwNDFmXHUwNDNlIFx1MDQ0MVx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQzNSIsCiJDZWxsIHR5cGUiOiAiXHUwNDIyXHUwNDM4XHUwNDNmIFx1MDQ0Zlx1MDQ0N1x1MDQzNVx1MDQzOVx1MDQzYVx1MDQzOCIsCiJDb3B5IHJvdyI6ICJcdTA0MWFcdTA0M2VcdTA0M2ZcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDQzIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDQxZlx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzNVx1MDQ0Mlx1MDQ0MFx1MDQ0YiBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M2VcdTA0M2FcdTA0MzgiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA0MjFcdTA0MzJcdTA0M2VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzJcdTA0MzAgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDRiIiwKIkJvdHRvbSI6ICJcdTA0MWZcdTA0M2UgXHUwNDNkXHUwNDM4XHUwNDM3XHUwNDQzIiwKIlYgQWxpZ24iOiAiXHUwNDEyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDNlXHUwNDM1IFx1MDQzMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSIsCiJIZWFkZXIiOiAiXHUwNDI4XHUwNDMwXHUwNDNmXHUwNDNhXHUwNDMwIiwKIlJpZ2h0IjogIlx1MDQxZlx1MDQzZSBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDRlIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNDE0XHUwNDNlXHUwNDMxXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzYlx1MDQzMVx1MDQzNVx1MDQ0NiBcdTA0NDFcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzAiLAoiQ29scyI6ICJcdTA0MjFcdTA0NDJcdTA0M2VcdTA0M2JcdTA0MzFcdTA0NDZcdTA0NGIiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDNmXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDRlIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzYVx1MDQ0MyBcdTA0NDFcdTA0M2RcdTA0MzhcdTA0MzdcdTA0NDMiLAoiV2lkdGgiOiAiXHUwNDI4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDMwIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDJcdTA0NDBcdTA0NGIgXHUwNDRmXHUwNDQ3XHUwNDM1XHUwNDM5XHUwNDNhXHUwNDM4IiwKIkxlZnQiOiAiXHUwNDFmXHUwNDNlIFx1MDQzYlx1MDQzNVx1MDQzMlx1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiQ3V0IHJvdyI6ICJcdTA0MTJcdTA0NGJcdTA0NDBcdTA0MzVcdTA0MzdcdTA0MzBcdTA0NDJcdTA0NGMgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNhXHUwNDQzIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNDIzXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzYlx1MDQzMVx1MDQzNVx1MDQ0NiIsCiJDZW50ZXIiOiAiXHUwNDFmXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQ0MyIsCiJNZXJnZSBjZWxscyI6ICJcdTA0MWVcdTA0MzFcdTA0NGFcdTA0MzVcdTA0MzRcdTA0MzhcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDRmXHUwNDQ3XHUwNDM1XHUwNDM5XHUwNDNhXHUwNDM4IiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMgXHUwNDQ4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkIiwKIlRlbXBsYXRlcyI6ICJcdTA0MjhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2RcdTA0NGIiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA0MjZcdTA0MzJcdTA0MzVcdTA0NDIgXHUwNDQ0XHUwNDNlXHUwNDNkXHUwNDMwIiwKIkN1c3RvbS4uLiI6ICJcdTA0MTJcdTA0NGJcdTA0MzFcdTA0NDBcdTA0MzBcdTA0NDJcdTA0NGNcdTIwMjYiLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDQxZlx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzN1x1MDQzZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQ0Y1x1MDQ0MVx1MDQzYVx1MDQzOFx1MDQzOSBcdTA0NDZcdTA0MzJcdTA0MzVcdTA0NDIiLAoiTm8gY29sb3IiOiAiXHUwNDExXHUwNDM1XHUwNDM3IFx1MDQ0Nlx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzMCIsCiJUZXh0IGNvbG9yIjogIlx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0MiBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDJcdTA0MzAiLAoiU2hvdyBibG9ja3MiOiAiXHUwNDFmXHUwNDNlXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDRiXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzOCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDQxZlx1MDQzZVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQ0Ylx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0YyBcdTA0M2RcdTA0MzVcdTA0MzJcdTA0MzhcdTA0MzRcdTA0MzhcdTA0M2NcdTA0NGJcdTA0MzUgXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiXHUwNDRiIiwKIldvcmRzOiB7MH0iOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDM4XHUwNDQ3XHUwNDM1XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDNlIFx1MDQ0MVx1MDQzYlx1MDQzZVx1MDQzMjogezB9IiwKIkluc2VydCI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NGMiLAoiRmlsZSI6ICJcdTA0MjRcdTA0MzBcdTA0MzlcdTA0M2IiLAoiRWRpdCI6ICJcdTA0MThcdTA0MzdcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzhcdTA0NDJcdTA0NGMiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNDIyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDM1IFx1MDQzZlx1MDQzZVx1MDQzYlx1MDQzNS4gXHUwNDFkXHUwNDMwXHUwNDM2XHUwNDNjXHUwNDM4XHUwNDQyXHUwNDM1IEFMVC1GOSBcdTA0NDdcdTA0NDJcdTA0M2VcdTA0MzFcdTA0NGIgXHUwNDMyXHUwNDRiXHUwNDM3XHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRjIFx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0ZSwgQUxULUYxMCBcdTA0M2ZcdTA0MzBcdTA0M2RcdTA0MzVcdTA0M2JcdTA0NGMgXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDNlXHUwNDMyLCBBTFQtMCBcdTA0MzRcdTA0M2JcdTA0NGYgXHUwNDMyXHUwNDRiXHUwNDM3XHUwNDNlXHUwNDMyXHUwNDMwIFx1MDQzZlx1MDQzZVx1MDQzY1x1MDQzZVx1MDQ0OVx1MDQzOC4iLAoiVG9vbHMiOiAiXHUwNDE4XHUwNDNkXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyXHUwNDRiIiwKIlZpZXciOiAiXHUwNDEyXHUwNDM4XHUwNDM0IiwKIlRhYmxlIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCIsCiJGb3JtYXQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ru_RU.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdydV9SVScsewoiQ3V0IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzNVx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQ0YyIsCiJIZWFkaW5nIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDUiLAoiSGVhZGVyIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4IFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDNlXHUwNDM0XHUwNDM0XHUwNDM1XHUwNDQwXHUwNDM2XHUwNDM4XHUwNDMyXHUwNDMwXHUwNDM1XHUwNDQyIFx1MDQzZlx1MDQ0MFx1MDQ0Zlx1MDQzY1x1MDQzZVx1MDQzOSBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YgXHUwNDNhIFx1MDQzMVx1MDQ0M1x1MDQ0NFx1MDQzNVx1MDQ0MFx1MDQ0MyBcdTA0M2VcdTA0MzFcdTA0M2NcdTA0MzVcdTA0M2RcdTA0MzAuIFx1MDQxOFx1MDQ0MVx1MDQzZlx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzN1x1MDQ0M1x1MDQzOVx1MDQ0Mlx1MDQzNSwgXHUwNDNmXHUwNDNlXHUwNDM2XHUwNDMwXHUwNDNiXHUwNDQzXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMwLCAgQ3RybCtYXC9DXC9WICBcdTA0M2RcdTA0MzAgXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDMwXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDM1LiIsCiJIZWFkaW5nIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDIiLAoiUGFzdGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDRjIiwKIkNsb3NlIjogIlx1MDQxN1x1MDQzMFx1MDQzYVx1MDQ0MFx1MDQ0Ylx1MDQ0Mlx1MDQ0YyIsCiJGb250IEZhbWlseSI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJcdTA0MTJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUgXHUwNDQxXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDMwIiwKIk5ldyBkb2N1bWVudCI6ICJcdTA0MWRcdTA0M2VcdTA0MzJcdTA0NGJcdTA0MzkgXHUwNDM0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIiwKIkJsb2NrcXVvdGUiOiAiQmxvY2txdW90ZSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQxZFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Ylx1MDQzOSBcdTA0NDFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0M2VcdTA0M2EiLAoiSGVhZGluZyAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSAxIiwKIkhlYWRpbmdzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzYlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQzNSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNDIzXHUwNDMyXHUwNDM1XHUwNDNiXHUwNDM4XHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDRjIFx1MDQzZVx1MDQ0Mlx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJGb3JtYXRzIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQ0YiIsCiJIZWFkZXJzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzOCIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMlx1MDQ0Ylx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0Mlx1MDQ0YyBcdTA0MzJcdTA0NDFcdTA0NTEiLAoiSGVhZGVyIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiQmxvY2tzIjogIkJsb2NrcyIsCiJVbmRvIjogIlx1MDQxZVx1MDQ0Mlx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDQxN1x1MDQzMFx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzYVx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQ0Ylx1MDQzOSIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGJcdTA0MzkgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIiwKIkhlYWRlciAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQyMVx1MDQ0M1x1MDQzZlx1MDQzNVx1MDQ0MFx1MDQ0MVx1MDQzYVx1MDQ0MFx1MDQzOFx1MDQzZlx1MDQ0MiIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQxZVx1MDQ0N1x1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUiLAoiRm9udCBTaXplcyI6ICJcdTA0MjBcdTA0MzBcdTA0MzdcdTA0M2NcdTA0MzVcdTA0NDBcdTA0NGIgXHUwNDQ4XHUwNDQwXHUwNDM4XHUwNDQ0XHUwNDQyXHUwNDNlXHUwNDMyIiwKIlN1YnNjcmlwdCI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0NDFcdTA0M2FcdTA0NDBcdTA0MzhcdTA0M2ZcdTA0NDIiLAoiSGVhZGVyIDYiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDYiLAoiUmVkbyI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDJcdTA0NGMiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFwaCIsCiJPayI6ICJcdTA0M2VcdTA0M2EiLAoiQm9sZCI6ICJcdTA0MTZcdTA0MzhcdTA0NDBcdTA0M2RcdTA0NGJcdTA0MzkiLAoiQ29kZSI6ICJDb2RlIiwKIkl0YWxpYyI6ICJcdTA0MWFcdTA0NDNcdTA0NDBcdTA0NDFcdTA0MzhcdTA0MzIiLAoiQWxpZ24gY2VudGVyIjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0M2ZcdTA0M2UtXHUwNDQ2XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQwXHUwNDQzIiwKIkhlYWRlciA1IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0MzhcdTA0MzUgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNiXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDM1IDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQyM1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Y1x1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2VcdTA0NDJcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoiSGVhZGVyIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0YyBcdTA0M2FcdTA0MzBcdTA0M2EgXHUwNDQ3XHUwNDM4XHUwNDQxXHUwNDQyXHUwNDRiXHUwNDM5IFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mi4gXHUwNDIxXHUwNDNlXHUwNDM0XHUwNDM1XHUwNDQwXHUwNDM2XHUwNDM4XHUwNDNjXHUwNDNlXHUwNDM1IFx1MDQzMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQ0MVx1MDQ0ZiBcdTA0M2FcdTA0MzBcdTA0M2EgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyLCBcdTA0MzRcdTA0M2UgXHUwNDQyXHUwNDM1XHUwNDQ1IFx1MDQzZlx1MDQzZVx1MDQ0MCwgXHUwNDNmXHUwNDNlXHUwNDNhXHUwNDMwIFx1MDQzMlx1MDQzYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzNVx1MDQzZFx1MDQzMCBcdTA0NGRcdTA0NDJcdTA0MzAgXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDM4XHUwNDRmIiwKIlVuZGVybGluZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzRcdTA0NDdcdTA0MzVcdTA0NDBcdTA0M2FcdTA0M2RcdTA0NDNcdTA0NDJcdTA0NGJcdTA0MzkiLAoiQ2FuY2VsIjogIlx1MDQxZVx1MDQ0Mlx1MDQzY1x1MDQzNVx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQ0YyIsCiJKdXN0aWZ5IjogIlx1MDQxMlx1MDQ0Ylx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzNSBcdTA0M2ZcdTA0M2UgXHUwNDQ4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDM1IiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJcdTA0MWFcdTA0M2VcdTA0M2ZcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NGMiLAoiQWxpZ24gbGVmdCI6ICJcdTA0MTJcdTA0NGJcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzhcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzUgXHUwNDQxXHUwNDNiXHUwNDM1XHUwNDMyXHUwNDMwIiwKIlZpc3VhbCBhaWRzIjogIlx1MDQxMlx1MDQzOFx1MDQzN1x1MDQ0M1x1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQ0Ylx1MDQzNSBcdTA0NGRcdTA0M2JcdTA0MzVcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NGIiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/si_LK.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzaV9MSycsewoiQ3V0IjogIlx1MGQ5YVx1MGRiNFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJIZWFkZXIgMiI6ICJIZWFkZXIgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTBkOWNcdTBkY2FcdTIwMGRcdTBkYmJcdTBkY2ZcdTBkYzRcdTBkOWEgXHUwZGI0XHUwZGQ0XHUwZGMwXHUwZGJiXHUwZGQ0XHUwZGMwXHUwZGE3IFx1MGQ4ZFx1MGRhMlx1MGRkNCBcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYzBcdTBkZGFcdTBkYzFcdTBkYmFcdTBkOWFcdTBkY2EgXHUwZGJkXHUwZGI2XHUwZGNmXHUwZGFmXHUwZGQzXHUwZGI4XHUwZGE3IFx1MGQ5NFx1MGRiNlx1MGQ5Y1x1MGRkYSBcdTBkYjZcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYzBcdTBkZDRcdTBkYzNcdTBkYmJcdTBkYmEgXHUwZGMzXHUwZGM0XHUwZGJhXHUwZDlhXHUwZGNhIFx1MGRiMVx1MGRkY1x1MGRhZlx1MGQ5YVx1MGRjYVx1MGRjMFx1MGRiYVx1MGRkMy4gXHUwZDlhXHUwZGJiXHUwZGQ0XHUwZGFiXHUwZGNmXHUwZDlhXHUwZGJiIFx1MGQ5Mlx1MGRjMFx1MGRkOVx1MGRiMVx1MGRkNFx1MGRjMFx1MGRhNyBDdHJsK1hcL0NcL1YgXHUwZGJhXHUwZGIxIFx1MGRiYVx1MGRhZFx1MGRkNFx1MGRiYlx1MGRkNFx1MGRiNFx1MGRkNFx1MGRjMFx1MGRiYlx1MGRkNCBcdTBkOWFcdTBkZDlcdTBkYTdcdTBkZDJcdTBkYjhcdTBkOWYgXHUwZGI3XHUwZGNmXHUwZGMwXHUwZGQyXHUwZGFkXHUwZGNmIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMS4iLAoiRGl2IjogIkRpdiIsCiJQYXN0ZSI6ICJcdTBkODVcdTBkYmRcdTBkYzBcdTBkYjFcdTBkY2FcdTBkYjEiLAoiQ2xvc2UiOiAiXHUwZGMwXHUwZGMzXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkZvbnQgRmFtaWx5IjogIkZvbnQgRmFtaWx5IiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiXHUwZGFmXHUwZDlhXHUwZGQ0XHUwZGFiXHUwZGQ0XHUwZGI0XHUwZGMzXHUwZGE3IFx1MGRiNFx1MGRkOVx1MGRjNVx1MGQ5Y1x1MGRjM1x1MGRjYVx1MGRjMFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwZGIxXHUwZGMwIFx1MGRiZFx1MGRkYVx1MGQ5Ylx1MGRiMVx1MGRiYVx1MGQ5YVx1MGRjYSIsCiJCbG9ja3F1b3RlIjogIkJsb2NrcXVvdGUiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTBkODVcdTBkODJcdTBkOWFcdTBkYjFcdTBkYmEgXHUwZDlhXHUwZGJkIFx1MGRiZFx1MGRkMFx1MGRiYVx1MGRkMlx1MGRjM1x1MGRjYVx1MGRhZFx1MGRkNFx1MGRjMCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwZGMwXHUwZGQwXHUwZGE5XHUwZGQyXHUwZGMwXHUwZGIxIFx1MGQ5MVx1MGRiNlx1MGRkNFx1MGRiOCIsCiJGb3JtYXRzIjogIlx1MGQ4Nlx1MGQ5YVx1MGRkOFx1MGRhZFx1MGRkMiIsCiJIZWFkZXJzIjogIkhlYWRlcnMiLAoiU2VsZWN0IGFsbCI6ICJcdTBkYzNcdTBkZDJcdTBkYmFcdTBkYmRcdTBkY2FcdTBkYmQgXHUwZGFkXHUwZGRkXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkhlYWRlciAzIjogIkhlYWRlciAzIiwKIkJsb2NrcyI6ICJCbG9ja3MiLAoiVW5kbyI6ICJcdTBkYjFcdTBkZDJcdTBkYzJcdTBkY2FcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYjdcdTBkY2YgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGMwXHUwZGNmIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwZGI4XHUwZGQwXHUwZGFmXHUwZGQyIFx1MGQ4OVx1MGRiYlx1MGRkMFx1MGRhZFx1MGRkMiIsCiJCdWxsZXQgbGlzdCI6ICJcdTBkYmRcdTBkZDBcdTBkYmFcdTBkZDJcdTBkYzNcdTBkY2FcdTBkYWRcdTBkZDRcdTBkYzAiLAoiSGVhZGVyIDEiOiAiSGVhZGVyIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwZDhiXHUwZGE5XHUwZGQ0XHUwZGJkXHUwZDlhXHUwZGQ0XHUwZGFiXHUwZGQ0IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHUwZGI0XHUwZGQwXHUwZGM0XHUwZGQwXHUwZGFmXHUwZGQyXHUwZGJkXHUwZGQyIFx1MGQ4Nlx1MGQ5YVx1MGRkOFx1MGRhZFx1MGRkMlx1MGQ5YVx1MGRiYlx1MGRhYlx1MGRiYSIsCiJGb250IFNpemVzIjogIkZvbnQgU2l6ZXMiLAoiU3Vic2NyaXB0IjogIlx1MGRiYVx1MGRhN1x1MGRkMlx1MGRiZFx1MGQ5YVx1MGRkNFx1MGRhYlx1MGRkNCIsCiJIZWFkZXIgNiI6ICJIZWFkZXIgNiIsCiJSZWRvIjogIlx0XHUwZGIxXHUwZGQwXHUwZGMwXHUwZGFkIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYXBoIiwKIk9rIjogIlx1MGQ4NVx1MGRiMVx1MGRkNFx1MGRiOFx1MGRhZCBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiQm9sZCI6ICJcdTBkYjRcdTBkZDBcdTBkYzRcdTBkZDBcdTBkYWZcdTBkZDJcdTBkYmRcdTBkZDIgXHUwZGMzXHUwZGRhIFx1MGRiNFx1MGRkOVx1MGRiMVx1MGRkOVx1MGRiMSIsCiJDb2RlIjogIkNvZGUiLAoiSXRhbGljIjogIlx1MGQ4N1x1MGRiZFx1MGQ5YVx1MGRkNFx1MGRiYlx1MGRkNCIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwZGI4XHUwZGQwXHUwZGFmXHUwZGQyIFx1MGQ5YVx1MGRkY1x1MGRhNyBcdTBkYjRcdTBkZDlcdTBkYzVcdTBkOWNcdTBkYzNcdTBkY2FcdTBkYzBcdTBkYjFcdTBkY2FcdTBkYjEiLAoiSGVhZGVyIDUiOiAiSGVhZGVyIDUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MGQ4NVx1MGRhOVx1MGRkNFx1MGRjMFx1MGRiMSBcdTBkOTFcdTBkYjZcdTBkZDRcdTBkYjgiLAoiSGVhZGVyIDQiOiAiSGVhZGVyIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiIsCiJVbmRlcmxpbmUiOiAiXHUwZGJhXHUwZGE3XHUwZGQyXHUwZGIxXHUwZGNhIFx1MGQ4OVx1MGRiYlx1MGQ5YVx1MGRjYSBcdTBkODVcdTBkYjNcdTBkZDJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiQ2FuY2VsIjogIlx1MGQ4NVx1MGRjNFx1MGRkZFx1MGRjM1x1MGRkMiBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiSnVzdGlmeSI6ICJcdTBkYzNcdTBkYjhcdTBkYzAgXHUwZGI0XHUwZGQ5XHUwZGM1XHUwZDljXHUwZGMzXHUwZGNhXHUwZGMwXHUwZGIxXHUwZGNhXHUwZGIxIiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJcdTBkYjRcdTBkZDJcdTBkYTdcdTBkYjRcdTBkYWRcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkFsaWduIGxlZnQiOiAiXHUwZGMwXHUwZGI4XHUwZGNhXHUwZGI0XHUwZGMzXHUwZGE3IFx1MGRiNFx1MGRkOVx1MGRjNVx1MGQ5Y1x1MGRjM1x1MGRjYVx1MGRjMFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJWaXN1YWwgYWlkcyI6ICJcdTBkYWZcdTBkZDhcdTBkYzFcdTBkY2FcdTIwMGRcdTBkYmFcdTBkY2ZcdTBkYjBcdTBkY2ZcdTBkYmIiLAoiTG93ZXIgR3JlZWsiOiAiXHUwZDlhXHUwZGQ0XHUwZGE5XHUwZGNmIFx1MGQ5Y1x1MGRjYVx1MjAwZFx1MGRiYlx1MGRkM1x1MGQ5YSAiLAoiU3F1YXJlIjogIlx1MGQ5YVx1MGRkY1x1MGRhN1x1MGRkNFx1MGRjMCIsCiJEZWZhdWx0IjogIlx1MGRiNFx1MGRkOVx1MGRiYlx1MGRiMVx1MGRkMlx1MGRiOFx1MGRkMlx1MGRiYSAiLAoiTG93ZXIgQWxwaGEiOiAiXHUwZDlhXHUwZGQ0XHUwZGE5XHUwZGNmIFx1MGQ4N1x1MGRiZFx1MGRjYVx1MGRjNlx1MGRjZiAiLAoiQ2lyY2xlIjogIlx1MGRjMFx1MGQ5YVx1MGRjYVx1MjAwZFx1MGRiYlx1MGRiYSIsCiJEaXNjIjogIlx1MGRhZFx1MGRkMFx1MGRhN1x1MGRkMlx1MGRiYSAiLAoiVXBwZXIgQWxwaGEiOiAiXHUwZGMwXHUwZGQyXHUwZGMxXHUwZGNmXHUwZGJkIFx1MGQ4N1x1MGRiZFx1MGRjYVx1MGRjNlx1MGRjZiAiLAoiVXBwZXIgUm9tYW4iOiAiXHUwZGMwXHUwZGQyXHUwZGMxXHUwZGNmXHUwZGJkIFx1MGRiYlx1MGRkZFx1MGRiOFx1MGRjZlx1MGRiMVx1MGRkNCAiLAoiTG93ZXIgUm9tYW4iOiAiXHUwZDlhXHUwZGQ0XHUwZGE5XHUwZGNmIFx1MGRiYlx1MGRkZFx1MGRiOFx1MGRjZlx1MGRiMVx1MGRkNCAiLAoiTmFtZSI6ICJcdTBkYjFcdTBkY2ZcdTBkYjhcdTBkYmEgIiwKIkFuY2hvciI6ICJcdTBkODdcdTBkYjFcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYmEiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTBkOTRcdTBkYjZcdTBkOWNcdTBkZGEgXHUwZGMzXHUwZGQ0XHUwZGJiXHUwZDlhXHUwZGQyXHUwZGIxIFx1MGRiMVx1MGRkY1x1MGRiZFx1MGRhZiBcdTBkYzBcdTBkZDlcdTBkYjFcdTBkYzNcdTBkY2FcdTBkOWFcdTBkZDJcdTBkYmJcdTBkZDNcdTBkYjhcdTBkY2EgXHUwZDg3XHUwZGFkLFx1MGQ5NFx1MGRiNlx1MGRhNyBcdTBkYzBcdTBkZDJcdTBkYzFcdTBkY2FcdTBkYzBcdTBkY2ZcdTBkYzNcdTBkYWYgXHUwZDg5XHUwZGMwXHUwZGFkXHUwZGE3IFx1MGRiYVx1MGRjZlx1MGRiYVx1MGRkNFx1MGRhZFx1MGRkNFx1MGRiYVx1MGRkMiBcdTBkOWFcdTBkZDJcdTBkYmFcdTBkY2Y/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTBkODVcdTBkYzBcdTBkYzNcdTBkY2ZcdTBkYjFcdTBkYmFcdTBkYTcgXHUwZGI3XHUwZGNmXHUwZGMwXHUwZGQyXHUwZGFkXHUwZGNmXHUwZDlhXHUwZGM1IFx1MGQ5YVx1MGRkOVx1MGRhN1x1MGRkNFx1MGRiOFx1MGRjYVx1MGRiNFx1MGRhZCBcdTBkYjRcdTBkZDJcdTBkYzVcdTBkZDJcdTBkYjFcdTBkOWNcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MGRjMFx1MGRkMlx1MGRjMVx1MGRkYVx1MGRjMiBcdTBkODVcdTBkYjFcdTBkZDRcdTBkYmRcdTBkOWFcdTBkZDRcdTBkYWIgIiwKIlNvdXJjZSBjb2RlIjogIlx1MGRiOFx1MGRkNlx1MGRiZCBcdTBkOWFcdTBkZGFcdTBkYWRcdTBkYmEgIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwZGFmXHUwZDlhXHUwZGQ0XHUwZGFiXHUwZGQ0XHUwZGI0XHUwZGMzIFx1MGRjM1x1MGRkMlx1MGRhNyBcdTBkYzBcdTBkYjhcdTBkY2FcdTBkYjRcdTBkYzNcdTBkYTcgIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwZGMwXHUwZGI4XHUwZGNhXHUwZGI0XHUwZGMzIFx1MGRjM1x1MGRkMlx1MGRhNyBcdTBkYWZcdTBkOWFcdTBkZDRcdTBkYjFcdTBkZDRcdTBkYjRcdTBkYzNcdTBkYTcgIiwKIkVtb3RpY29ucyI6ICJcdTBkYjdcdTBkY2ZcdTBkYzAgXHUwZGIxXHUwZGQyXHUwZGJiXHUwZGQ0XHUwZGI0XHUwZDlhIiwKIlJvYm90cyI6ICJcdTBkYmJcdTBkZGNcdTBkYjZcdTBkZGQiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTBkYmRcdTBkZGFcdTBkOWJcdTBkYjFcdTBkYmFcdTBkZGEgXHUwZDljXHUwZGQ0XHUwZGFiXHUwZGNmXHUwZDgyXHUwZDljICIsCiJUaXRsZSI6ICJcdTBkYjhcdTBkY2ZcdTBkYWRcdTBkZDhcdTBkOWFcdTBkY2ZcdTBkYzAiLAoiS2V5d29yZHMiOiAiXHUwZGI4XHUwZGQ2XHUwZGJkIFx1MGRiNFx1MGRhZlx1MGRiYSAiLAoiRW5jb2RpbmciOiAiXHUwZDlhXHUwZGRhXHUwZGFkXHUwZGIxXHUwZGJhIiwKIkRlc2NyaXB0aW9uIjogIlx1MGRjMFx1MGRkMlx1MGRjM1x1MGRjYVx1MGRhZFx1MGRiYlx1MGRiYSAiLAoiQXV0aG9yIjogIlx1MGQ5YVx1MGRhZFx1MGRkOCAiLAoiRnVsbHNjcmVlbiI6ICJcdTBkYjRcdTBkZDZcdTBkYmJcdTBkY2FcdTBkYWIgXHUwZGFkXHUwZGQyXHUwZGJiXHUwZGJhICIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwZGFkXHUwZGQyXHUwZGJiXHUwZGMzXHUwZGNhIFx1MGQ4OVx1MGRiYiAgIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwZGFkXHUwZGQyXHUwZGJiXHUwZGMzXHUwZGNhIFx1MGRjNFx1MGRkMlx1MGRjM1x1MGRjYSBcdTBkODlcdTBkYTkiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MGRiNFx1MGRkMlx1MGRiMVx1MGRjYVx1MGRhZFx1MGRkNFx1MGRiYlx1MGRiYSBcdTBkODdcdTBkYWRcdTBkZDRcdTBkYmRcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEgXC8gXHUwZGMzXHUwZDlhXHUwZGMzXHUwZGNhXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJHZW5lcmFsIjogIlx1MGRiNFx1MGRkY1x1MGRhZlx1MGRkNCIsCiJBZHZhbmNlZCI6ICJcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkOWNcdTBkYWQiLAoiU291cmNlIjogIlx1MGRiOFx1MGRkNlx1MGRiZFx1MGRiYSAgIiwKIkJvcmRlciI6ICJcdTBkYzNcdTBkZDNcdTBkYjhcdTBkY2ZcdTBkYzAgIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTBkYzNcdTBkODJcdTBkYmJcdTBkZGRcdTBkYWZcdTBkOWEgXHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGI4XHUwZGNmXHUwZGFiXHUwZGIxIiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MGRjM1x1MGRkMlx1MGRiYlx1MGRjM1x1MGRjYSBcdTBkYzRcdTBkZDJcdTBkYzNcdTBkY2EgXHUwZDg5XHUwZGE5IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGRiNFx1MGRkMlx1MGRiMVx1MGRjYVx1MGRhZFx1MGRkNFx1MGRiYlx1MGRiYVx1MGRkYSBcdTBkYzBcdTBkZDJcdTBkYzNcdTBkY2FcdTBkYWRcdTBkYmJcdTBkYmEgIiwKIlN0eWxlIjogIlx1MGRjMFx1MGRkMlx1MGRiZFx1MGRjZlx1MGRjM1x1MGRiYSIsCiJEaW1lbnNpb25zIjogIlx1MGRiOFx1MGRjZlx1MGRiMSIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5zZXJ0IGltYWdlIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MGRhZlx1MGRkMlx1MGRiMVx1MGRiYSBcLyBcdTBkYzBcdTBkZGFcdTBkYmRcdTBkY2ZcdTBkYzAgXHUwZDg3XHUwZGFkXHUwZGQ0XHUwZGJkXHUwZGNhXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlJlbW92ZSBsaW5rIjogIlJlbW92ZSBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1MGRiNFx1MGRkOVx1MGRjNSAtIFx1MGRjM1x1MGQ4Mlx1MGRhZlx1MGRiYlx1MGRjYVx1MGRjMVx1MGQ5YVx1MGRiYSIsCiJBbmNob3JzIjogIkFuY2hvcnMiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwZGMzXHUwZGI2XHUwZGQwXHUwZGIzXHUwZGQyXHUwZGJhIFx1MGQ4N1x1MGRhZFx1MGRkNFx1MGRiZFx1MGRjYVx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJOZXcgd2luZG93IjogIlx1MGRiMVx1MGRjMCBcdTBkOWFcdTBkYzBcdTBkZDRcdTBkYzVcdTBkZDRcdTBkYzBcdTBkOWFcdTBkY2EiLAoiTm9uZSI6ICJcdTBkOWFcdTBkZDJcdTBkYzNcdTBkZDJcdTBkYzBcdTBkOWFcdTBkY2EgXHUwZGIxXHUwZGQwXHUwZGFkIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iLAoiVGFyZ2V0IjogIlx1MGQ4OVx1MGRiZFx1MGQ5YVx1MGRjYVx1MGQ5YVx1MGRiYSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwZGMzXHUwZGI2XHUwZGQwXHUwZGIzXHUwZGQyXHUwZGJhIFx1MGQ4N1x1MGRhZFx1MGRkNFx1MGRiZFx1MGRjYVx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSBcLyBcdTBkYzBcdTBkZDlcdTBkYjFcdTBkYzNcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MGRjMFx1MGRkM1x1MGRhOVx1MGRkMlx1MGRiYVx1MGRkZFx1MGRjMCBcdTBkODdcdTBkYWRcdTBkZDRcdTBkYmRcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEgXC8gXHUwZGMwXHUwZGQ5XHUwZGIxXHUwZGMzXHUwZGNhXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlBvc3RlciI6ICJcdTBkYjRcdTBkZGRcdTBkYzNcdTBkY2FcdTBkYTdcdTBkYmJcdTBkYmEiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MGRjMFx1MGRkMlx1MGQ5YVx1MGRiZFx1MGRjYVx1MGRiNCBcdTBkYjhcdTBkZDZcdTBkYmRcdTBkYmEiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTBkOTRcdTBkYjZcdTBkOWNcdTBkZGEgXHUwZDlhXHUwZGNmXHUwZGMwXHUwZGQwXHUwZGFmXHUwZGNhXHUwZGFmXHUwZGQ2IFx1MGQ5YVx1MGRkYVx1MGRhZFx1MGRiYSBcdTBkYjRcdTBkYzRcdTBkYWRcdTBkZDJcdTBkYjFcdTBkY2EgXHUwZGFmXHUwZGI4XHUwZGIxXHUwZGNhXHUwZGIxIiwKIkluc2VydCB2aWRlbyI6ICJcdTBkYzBcdTBkZDNcdTBkYTlcdTBkZDJcdTBkYmFcdTBkZGRcdTBkYzAgXHUwZDg3XHUwZGFkXHUwZGQ0XHUwZGJkXHUwZGNhXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkVtYmVkIjogIlx1MGQ5YVx1MGRjZlx1MGRjMFx1MGRhZlx1MGRjYVx1MGRhZlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJcdTBkYjFcdTBkZGNcdTBkOWFcdTBkZDBcdTBkYTlcdTBkZDRcdTBkYWJcdTBkZDQgXHUwZGM0XHUwZGQyXHUwZGMzXHUwZGNhIFx1MGQ4OVx1MGRiYiIsCiJQYWdlIGJyZWFrIjogIlx1MGRiNFx1MGRkMlx1MGRhN1x1MGRkNCBcdTBkOWFcdTBkYTlcdTBkYjFcdTBkYmEiLAoiUGFzdGUgYXMgdGV4dCI6ICJQYXN0ZSBhcyB0ZXh0IiwKIlByZXZpZXciOiAiXHUwZGI0XHUwZGQ5XHUwZGJiXHUwZGFmXHUwZGMzXHUwZGQ0XHUwZGIxIiwKIlByaW50IjogIlx1MGRiOFx1MGRkNFx1MGRhZlx1MGRjYVx1MjAwZFx1MGRiYlx1MGRhYlx1MGRiYSBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiU2F2ZSI6ICJcdTBkYzNcdTBkZDRcdTBkYmJcdTBkOWFcdTBkZDJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MGRiMVx1MGRkMlx1MGRiYlx1MGRkNlx1MGRiNFx1MGRkMlx1MGRhZCBcdTBkODVcdTBkYjFcdTBkZDRcdTBkYmRcdTBkOWFcdTBkZDRcdTBkYWJcdTBkZDQgXHUwZGMwXHUwZGQwXHUwZGJkIFx1MGRjM1x1MGRkY1x1MGRiYVx1MGRjZiBcdTBkOWNcdTBkYWQgXHUwZGIxXHUwZGRjXHUwZGM0XHUwZGQwXHUwZDlhXHUwZGQyIFx1MGRjMFx1MGRkMlx1MGRiYSIsCiJSZXBsYWNlIjogIlx1MGRiNFx1MGRjYVx1MjAwZFx1MGRiYlx1MGRhZFx1MGRkMlx1MGRjM1x1MGRjYVx1MGRhZVx1MGRjZlx1MGRiNFx1MGRiMVx1MGRiYSBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiTmV4dCI6ICJcdTBkYjRcdTBkYzNcdTBkZDQiLAoiV2hvbGUgd29yZHMiOiAiXHUwZGMzXHUwZGI4XHUwZGMzXHUwZGNhXHUwZGFkIFx1MGRiNFx1MGRhZiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MGRjM1x1MGRkY1x1MGRiYVx1MGRjZiBcdTBkYjRcdTBkYzNcdTBkZDRcdTBkYzAgXHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGFkXHUwZGQyXHUwZGMzXHUwZGNhXHUwZGFlXHUwZGNmXHUwZGI0XHUwZGIxXHUwZGJhIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwZGI4XHUwZGQ5XHUwZGJhIFx1MGRjM1x1MGRiOFx1MGQ5ZiBcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYWRcdTBkZDJcdTBkYzNcdTBkY2FcdTBkYWVcdTBkY2ZcdTBkYjRcdTBkYjFcdTBkYmEgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIkZpbmQiOiAiXHUwZGMzXHUwZGRjXHUwZGJhXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlJlcGxhY2UgYWxsIjogIlx1MGRjM1x1MGRkMlx1MGRiYVx1MGRiZFx1MGRjYVx1MGRiZFx1MGRiOCBcdTBkYjRcdTBkY2FcdTIwMGRcdTBkYmJcdTBkYWRcdTBkZDJcdTBkYzNcdTBkY2FcdTBkYWVcdTBkY2ZcdTBkYjRcdTBkYjFcdTBkYmEgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIk1hdGNoIGNhc2UiOiAiXHUwZDlhXHUwZGNmXHUwZGJiXHUwZGFiXHUwZGJhIFx1MGQ5Y1x1MGRiZFx1MGRiNFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJQcmV2IjogIlx1MGRiNFx1MGRkOVx1MGRiYiIsCiJTcGVsbGNoZWNrIjogIlx1MGQ4NVx1MGQ5YVx1MGRjYVx1MGRjMlx1MGRiYiBcdTBkYzBcdTBkZDJcdTBkYjFcdTBkY2FcdTIwMGRcdTBkYmFcdTBkY2ZcdTBkYzNcdTBkYmEgXHUwZGI0XHUwZGJiXHUwZGQzXHUwZDlhXHUwZGNhXHUwZGMyXHUwZGNmIFx1MGQ5YVx1MGRiYiBcdTBkYjZcdTBkZDBcdTBkYmRcdTBkZDNcdTBkYjgiLAoiRmluaXNoIjogIlx1MGQ4NVx1MGRjMFx1MGRjM1x1MGRiMVx1MGRjYSIsCiJJZ25vcmUgYWxsIjogIlx1MGRjM1x1MGRkMlx1MGRiYVx1MGRiZFx1MGRjYVx1MGRiZFx1MGRiOCBcdTBkYjFcdTBkZGNcdTBkYzNcdTBkYmRcdTBkOWFcdTBkY2YgXHUwZGM0XHUwZGJiXHUwZGQyXHUwZGIxXHUwZGNhXHUwZGIxIiwKIklnbm9yZSI6ICJcdTBkYjFcdTBkZGNcdTBkYzNcdTBkYmRcdTBkOWFcdTBkY2YgXHUwZGM0XHUwZGQwXHUwZGJiXHUwZGQzXHUwZGI4IiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MGRiOFx1MGRkYSBcdTBkYWRcdTBkZDBcdTBkYjFcdTBkYTcgXHUwZGI0XHUwZGQ5XHUwZGJiIFx1MGRiNFx1MGRkYVx1MGRjNVx1MGRkMlx1MGRiYVx1MGQ5YVx1MGRjYSBcdTBkOTFcdTBkOWFcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlJvd3MiOiAiXHUwZGI0XHUwZGRhXHUwZGM1XHUwZGQyIiwKIkhlaWdodCI6ICJcdTBkOGJcdTBkYzMgIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTBkYjhcdTBkZGEgXHUwZGFkXHUwZGQwXHUwZGIxXHUwZGE3IFx1MGRiNFx1MGRjM1x1MGRkNCBcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDJcdTBkYmEgXHUwZDg1XHUwZGI4XHUwZGQ0XHUwZGFiXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJBbGlnbm1lbnQiOiAiXHUwZGI0XHUwZGQ5XHUwZGM1IFx1MGQ5Y1x1MGRkMFx1MGRjM1x1MGRkNFx1MGRiOCIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwZGFkXHUwZGQzXHUwZGJiXHUwZGQ0IFx1MGQ5YVx1MGRjZlx1MGRhYlx1MGRjYVx1MGRhOVx1MGRiYSIsCiJSb3ciOiAiXHUwZGI0XHUwZGRhXHUwZGM1XHUwZGQyXHUwZGJhICIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTBkYjhcdTBkZGEgXHUwZGFkXHUwZGQwXHUwZGIxXHUwZGE3IFx1MGRiNFx1MGRkOVx1MGRiYiBcdTBkYWRcdTBkZDNcdTBkYmJcdTBkZDRcdTBkYzAgXHUwZDkxXHUwZDlhXHUwZGNhIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSIsCiJTcGxpdCBjZWxsIjogIlx1MGQ5YVx1MGRkY1x1MGRhN1x1MGRkNCBcdTBkYzBcdTBkZDlcdTBkYjFcdTBkY2FcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIkNlbGwgcGFkZGluZyI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDRcdTBkYzBcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZGI0XHUwZGQyXHUwZGJiXHUwZGMwXHUwZGQ0XHUwZGI4IiwKIkNlbGwgc3BhY2luZyI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDRcdTBkYzBcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZDg5XHUwZGE5IFx1MGRjM1x1MGRkM1x1MGRiOFx1MGRjZlx1MGRjMCAiLAoiUm93IHR5cGUiOiAiXHUwZGI0XHUwZGRhXHUwZGM1XHUwZGQyXHUwZGJhXHUwZGQ5XHUwZGM0XHUwZGQyIFx1MGRjMFx1MGRiYlx1MGRjYVx1MGQ5Y1x1MGRiYSIsCiJJbnNlcnQgdGFibGUiOiAiXHUwZGMwXHUwZDljXHUwZGQ0XHUwZGMwXHUwZGE3IFx1MGQ4N1x1MGRhZFx1MGRkNFx1MGRiZFx1MGRjYSBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIkJvZHkiOiAiXHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGIwXHUwZGNmXHUwZGIxIFx1MGQ5YVx1MGRkY1x1MGRhN1x1MGRjMyIsCiJDYXB0aW9uIjogIlx1MGRiYVx1MGRhN1x1MGRkMiBcdTBkYmRcdTBkZDJcdTBkYmFcdTBkYjhcdTBkYjEgIiwKIkZvb3RlciI6ICJcdTBkYjRcdTBkY2ZcdTBkYWZcdTBkOWFcdTBkYmEiLAoiRGVsZXRlIHJvdyI6ICJcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDJcdTBkYmEgXHUwZGI4XHUwZDlhXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MGRiOFx1MGRkYSBcdTBkYWRcdTBkZDBcdTBkYjFcdTBkYTcgXHUwZGI0XHUwZGQ5XHUwZGJiIFx1MGRiNFx1MGRkYVx1MGRjNVx1MGRkMlx1MGRiYSBcdTBkODVcdTBkYjhcdTBkZDRcdTBkYWJcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIlNjb3BlIjogIlx1MGRjMFx1MGRkMlx1MGRjMlx1MGRiYVx1MGRiNFx1MGRhZVx1MGRiYSIsCiJEZWxldGUgdGFibGUiOiAiXHUwZGMwXHUwZDljXHUwZGQ0XHUwZGMwIFx1MGRiOFx1MGQ5YVx1MGRiMVx1MGRjYVx1MGRiMSAiLAoiSGVhZGVyIGNlbGwiOiAiXHUwZGMxXHUwZGQzXHUwZGJiXHUwZGNhXHUwZGMyIFx1MGQ5YVx1MGRkY1x1MGRhN1x1MGRkNFx1MGRjMCIsCiJDb2x1bW4iOiAiXHUwZGFkXHUwZGQzXHUwZGJiXHUwZGQ0XHUwZGMwIiwKIkNlbGwiOiAiXHUwZDlhXHUwZGRjXHUwZGE3XHUwZGQ0XHUwZGMwICIsCiJIZWFkZXIiOiAiXHUwZGMxXHUwZGQzXHUwZGJiXHUwZGNhXHUwZGMyXHUwZDlhXHUwZGJhIiwKIkNlbGwgdHlwZSI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDRcdTBkYzBcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZGMwXHUwZGJiXHUwZGNhXHUwZDljXHUwZGJhIiwKIkNvcHkgcm93IjogIlx1MGRiNFx1MGRkYVx1MGRjNVx1MGRkMlx1MGRiYSBcdTBkYjRcdTBkZDJcdTBkYTdcdTBkYjRcdTBkYWRcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZDljXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDJcdTBkYmFcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZDljXHUwZGQ0XHUwZGFiXHUwZGNmXHUwZDgyXHUwZDljICIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MGRjMFx1MGQ5Y1x1MGRkNFx1MGRjMFx1MGRkOVx1MGRjNFx1MGRkMiBcdTBkOWNcdTBkZDRcdTBkYWJcdTBkY2ZcdTBkODJcdTBkOWMgIiwKIlJvdyBncm91cCI6ICJcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDIgXHUwZDlhXHUwZGNmXHUwZGFiXHUwZGNhXHUwZGE5XHUwZGJhIiwKIlJpZ2h0IjogIlx1MGRhZlx1MGQ5YVx1MGRkNFx1MGRhYiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlx1MGRiOFx1MGRkYSBcdTBkYWRcdTBkZDBcdTBkYjFcdTBkYTcgXHUwZGI0XHUwZGMzXHUwZGQ0IFx1MGRhZFx1MGRkM1x1MGRiYlx1MGRkNFx1MGRjMCBcdTBkOTFcdTBkOWFcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxICIsCiJDb2xzIjogIlx1MGRhZFx1MGRkM1x1MGRiYlx1MGRkNCAiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTBkYjhcdTBkZGEgXHUwZGFkXHUwZGQwXHUwZGIxXHUwZGE3IFx1MGRiNFx1MGRjM1x1MGRkNCBcdTBkYjRcdTBkZGFcdTBkYzVcdTBkZDJcdTBkYmFcdTBkOWFcdTBkY2EgXHUwZDkxXHUwZDlhXHUwZGNhIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSAiLAoiV2lkdGgiOiAiXHUwZGI0XHUwZGM1XHUwZGJkIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDRcdTBkYzBcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZDljXHUwZGQ0XHUwZGFiXHUwZGNmXHUwZDgyXHUwZDljICIsCiJMZWZ0IjogIlx1MGRjMFx1MGRiOCIsCiJDdXQgcm93IjogIlx1MGRiNFx1MGRkYVx1MGRjNVx1MGRkMlx1MGRiYSBcdTBkOWFcdTBkYjRcdTBkY2ZcdTBkOWNcdTBkYjFcdTBkY2FcdTBkYjEgIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwZGFkXHUwZGQzXHUwZGJiXHUwZGQ0XHUwZGMwIFx1MGRiOFx1MGQ5YVx1MGRiMVx1MGRjYVx1MGRiMSAiLAoiQ2VudGVyIjogIlx1MGRiOFx1MGRkMFx1MGRhZiIsCiJNZXJnZSBjZWxscyI6ICJcdTBkOWFcdTBkZGNcdTBkYTdcdTBkZDQgXHUwZDkxXHUwZDlhXHUwZGNhIFx1MGQ5YVx1MGRiYlx1MGRiMVx1MGRjYVx1MGRiMSAiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MGQ4NVx1MGRhMFx1MGRjYVx1MGRhMFx1MGRkNFx1MGRjMCBcdTBkODdcdTBkYWRcdTBkZDRcdTBkYmRcdTBkY2EgXHUwZDlhXHUwZGJiXHUwZGIxXHUwZGNhXHUwZGIxIiwKIlRlbXBsYXRlcyI6ICJcdTBkODVcdTBkYTBcdTBkY2FcdTBkYTBcdTBkZDQiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTBkYjRcdTBkYzNcdTBkZDRcdTBkYjZcdTBkZDJcdTBkYjhcdTBkZDlcdTBkYzRcdTBkZDIgXHUwZGMwXHUwZGJiXHUwZGNhXHUwZGFiXHUwZGJhIiwKIlRleHQgY29sb3IiOiAiXHUwZGI0XHUwZGQ5XHUwZGM1IFx1MGRjM1x1MGRhN1x1MGRjNFx1MGRiMVx1MGRkYSBcdTBkYzBcdTBkYmJcdTBkY2FcdTBkYWJcdTBkYmEiLAoiU2hvdyBibG9ja3MiOiAiXHUwZDlhXHUwZGRjXHUwZGE3XHUwZGMzXHUwZGNhIFx1MGRiNFx1MGRkOVx1MGRiMVx1MGRjYVx1MGRjMFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MGRiMVx1MGRkY1x1MGRiNFx1MGRkOVx1MGRiMVx1MGRkOVx1MGRiMSBcdTBkODVcdTBkYjFcdTBkZDRcdTBkYmRcdTBkOWFcdTBkZDRcdTBkYWJcdTBkZDQgXHUwZGI0XHUwZGQ5XHUwZGIxXHUwZGNhXHUwZGMwXHUwZGIxXHUwZGNhXHUwZGIxIiwKIldvcmRzOiB7MH0iOiAiXHUwZGMwXHUwZGEwXHUwZGIxOiB7MH0iLAoiSW5zZXJ0IjogIlx1MGQ5MVx1MGQ5YVx1MGRjYSBcdTBkOWFcdTBkYmJcdTBkYjFcdTBkY2FcdTBkYjEiLAoiRmlsZSI6ICJcdTBkOWNcdTBkZGNcdTBkYjFcdTBkZDRcdTBkYzAiLAoiRWRpdCI6ICJcdTBkYzNcdTBkOWFcdTBkYzNcdTBkYjFcdTBkY2FcdTBkYjEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwZGI0XHUwZGQ5XHUwZGM1IFx1MGRjM1x1MGRhN1x1MGRjNFx1MGRiMVx1MGRjYSBcdTBkYjZcdTBkYzRcdTBkZDRcdTBkYmQgXHUwZGI0XHUwZGNhXHUyMDBkXHUwZGJiXHUwZGFmXHUwZGRhXHUwZGMxXHUwZGJhLiBcdTBkYjhcdTBkZDlcdTBkYjFcdTBkZDRcdTBkYzAgXHUwZGMzXHUwZGIzXHUwZGM0XHUwZGNmIEFMVC1GOSAgXHUwZDk0XHUwZGI2XHUwZGIxXHUwZGNhXHUwZGIxLiBcdTBkYjhcdTBkZDlcdTBkYzBcdTBkYmRcdTBkYjhcdTBkY2EgXHUwZGFkXHUwZGQzXHUwZGJiXHUwZGQ0XHUwZGMwIFx1MGRjM1x1MGRiM1x1MGRjNFx1MGRjZiBBTFQtRjEwICBcdTBkOTRcdTBkYjZcdTBkYjFcdTBkY2FcdTBkYjEuIFx1MGRjM1x1MGRjNFx1MGRiYSBcdTBkYmRcdTBkYjZcdTBkY2ZcdTBkOWNcdTBkZDBcdTBkYjFcdTBkZDNcdTBkYjggXHUwZGMzXHUwZGIzXHUwZGM0XHUwZGNmIEFMVC0wICBcdTBkOTRcdTBkYjZcdTBkYjFcdTBkY2FcdTBkYjEuIiwKIlRvb2xzIjogIlx1MGRiOFx1MGRkOVx1MGRjMFx1MGRiZFx1MGRiOFx1MGRjYSIsCiJWaWV3IjogIlx1MGRiNFx1MGRkOVx1MGRiMVx1MGRjYVx1MGRjMFx1MGRiMVx1MGRjYVx1MGRiMSIsCiJUYWJsZSI6ICJcdTBkYzBcdTBkOWNcdTBkZDRcdTBkYzAiLAoiRm9ybWF0IjogIlx1MGRjNFx1MGRkMFx1MGRhOVx1MGRhZFx1MGRiZFx1MGRiYSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/sk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzaycsewoiQ3V0IjogIlZ5c3RyaWhuXHUwMGZhXHUwMTY1IiwKIkhlYWRpbmcgNSI6ICJOYWRwaXMgNSIsCiJIZWFkZXIgMiI6ICJOYWRwaXMgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJWXHUwMGUxXHUwMTYxIHByZWhsaWFkYVx1MDEwZCBuZXBvZHBvcnVqZSBwcmlhbXkgcHJcdTAwZWRzdHVwIGRvIHNjaHJcdTAwZTFua3kuIFBvdVx1MDE3ZWl0ZSBrbFx1MDBlMXZlc292XHUwMGU5IHNrcmF0a3kgQ3RybCtYXC9DXC9WLiIsCiJIZWFkaW5nIDQiOiAiTmFkcGlzIDQiLAoiRGl2IjogIkJsb2siLAoiSGVhZGluZyAyIjogIk5hZHBpcyAyIiwKIlBhc3RlIjogIlZsb1x1MDE3ZWlcdTAxNjUiLAoiQ2xvc2UiOiAiWmF0dm9yaVx1MDE2NSIsCiJGb250IEZhbWlseSI6ICJQXHUwMGVkc21vIiwKIlByZSI6ICJQcmVmb3JtXHUwMGUxdG92YW5cdTAwZmQiLAoiQWxpZ24gcmlnaHQiOiAiWmFyb3ZuYVx1MDE2NSB2cHJhdm8iLAoiTmV3IGRvY3VtZW50IjogIk5vdlx1MDBmZCBkb2t1bWVudCIsCiJCbG9ja3F1b3RlIjogIkNpdFx1MDBlMWNpYSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDEwY1x1MDBlZHNsb3Zhblx1MDBmZCB6b3puYW0iLAoiSGVhZGluZyAxIjogIk5hZHBpcyAxIiwKIkhlYWRpbmdzIjogIk5hZHBpc3kiLAoiSW5jcmVhc2UgaW5kZW50IjogIlp2XHUwMGU0XHUwMTBkXHUwMTYxaVx1MDE2NSBvZHNhZGVuaWUiLAoiRm9ybWF0cyI6ICJGb3JtXHUwMGUxdHkiLAoiSGVhZGVycyI6ICJOYWRwaXN5IiwKIlNlbGVjdCBhbGwiOiAiT3puYVx1MDEwZGlcdTAxNjUgdlx1MDE2MWV0a28iLAoiSGVhZGVyIDMiOiAiTmFkcGlzIDMiLAoiQmxvY2tzIjogIkJsb2t5IiwKIlVuZG8iOiAiVnJcdTAwZTF0aVx1MDE2NSIsCiJTdHJpa2V0aHJvdWdoIjogIlByZVx1MDEwZGlhcmtudXRcdTAwZTkiLAoiQnVsbGV0IGxpc3QiOiAiT2RyXHUwMGUxXHUwMTdla3kiLAoiSGVhZGVyIDEiOiAiTmFkcGlzIDEiLAoiU3VwZXJzY3JpcHQiOiAiSG9yblx1MDBmZCBpbmRleCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlZ5bWF6YVx1MDE2NSBmb3JtXHUwMGUxdG92YW5pZSIsCiJGb250IFNpemVzIjogIlZlXHUwMTNla29zXHUwMTY1IHBcdTAwZWRzbWEiLAoiU3Vic2NyaXB0IjogIlNwb2RuXHUwMGZkIGluZGV4IiwKIkhlYWRlciA2IjogIk5hZHBpcyA2IiwKIlJlZG8iOiAiWm5vdmEiLAoiUGFyYWdyYXBoIjogIk9kc2VrIiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiVHVcdTAxMGRuXHUwMGU5IiwKIkNvZGUiOiAiS1x1MDBmM2QiLAoiSXRhbGljIjogIkt1cnpcdTAwZWR2YSIsCiJBbGlnbiBjZW50ZXIiOiAiWmFyb3ZuYVx1MDE2NSBuYSBzdHJlZCIsCiJIZWFkZXIgNSI6ICJOYWRwaXMgNSIsCiJIZWFkaW5nIDYiOiAiTmFkcGlzIDYiLAoiSGVhZGluZyAzIjogIk5hZHBpcyAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJabWVuXHUwMTYxaVx1MDE2NSBvZHNhZGVuaWUiLAoiSGVhZGVyIDQiOiAiTmFkcGlzIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlZrbGFkYW5pZSBqZSB2IG1cdTAwZjNkZSBuZWZvcm1cdTAwZTF0b3Zhblx1MDBlOWhvIHRleHR1LiBWa2xhZGFuXHUwMGZkIG9ic2FoIGJ1ZGUgdmxvXHUwMTdlZW5cdTAwZmQgYWtvIG5lZm9ybVx1MDBlMXRvdmFuXHUwMGZkLCBhXHUwMTdlIHBva1x1MDBmZG0gdFx1MDBmYXRvIG1vXHUwMTdlbm9zXHUwMTY1IG5ldnlwbmV0ZS4iLAoiVW5kZXJsaW5lIjogIlBvZFx1MDEwZGlhcmtudXRcdTAwZTkiLAoiQ2FuY2VsIjogIlpydVx1MDE2MWlcdTAxNjUiLAoiSnVzdGlmeSI6ICJaYXJvdm5hXHUwMTY1IiwKIklubGluZSI6ICJcdTAxNjB0XHUwMGZkbHkiLAoiQ29weSI6ICJLb3BcdTAwZWRyb3ZhXHUwMTY1IiwKIkFsaWduIGxlZnQiOiAiWmFyb3ZuYVx1MDE2NSB2XHUwMTNlYXZvIiwKIlZpc3VhbCBhaWRzIjogIlZpenVcdTAwZTFsbmUgcG9tXHUwMGY0Y2t5IiwKIkxvd2VyIEdyZWVrIjogIk1hbFx1MDBlOSBnclx1MDBlOWNrZSBwXHUwMGVkc21lblx1MDBlMSIsCiJTcXVhcmUiOiAiXHUwMTYwdHZvcmVjIiwKIkRlZmF1bHQiOiAiVlx1MDBmZGNob2R6aWUiLAoiTG93ZXIgQWxwaGEiOiAiTWFsXHUwMGU5IHBcdTAwZWRzbWVuXHUwMGUxIiwKIkNpcmNsZSI6ICJLcnVoIiwKIkRpc2MiOiAiRGlzayIsCiJVcHBlciBBbHBoYSI6ICJWZVx1MDEzZWtcdTAwZTkgcFx1MDBlZHNtZW5cdTAwZTEiLAoiVXBwZXIgUm9tYW4iOiAiVmVcdTAxM2VrXHUwMGU5IHJcdTAwZWRtc2tlIFx1MDEwZFx1MDBlZHNsaWNlIiwKIkxvd2VyIFJvbWFuIjogIk1hbFx1MDBlOSByXHUwMGVkbXNrZSBcdTAxMGRcdTAwZWRzbGljZSIsCiJOYW1lIjogIk5cdTAwZTF6b3YiLAoiQW5jaG9yIjogIk9ka2F6IiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiTVx1MDBlMXRlIG5ldWxvXHUwMTdlZW5cdTAwZTkgem1lbnksIG5hb3phaiBjaGNldGUgb3B1c3RpXHUwMTY1IHN0clx1MDBlMW5rdT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIk9ibm92aVx1MDE2NSBwb3NsZWRuXHUwMGZkIGtvbmNlcHQiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwMTYwcGVjaVx1MDBlMWxueSB6bmFrIiwKIlNvdXJjZSBjb2RlIjogIlpkcm9qb3ZcdTAwZmQga1x1MDBmM2QiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiRmFyYmEiLAoiUmlnaHQgdG8gbGVmdCI6ICJTcHJhdmEgZG9cdTAxM2VhdmEiLAoiTGVmdCB0byByaWdodCI6ICJaXHUwMTNlYXZhIGRvcHJhdmEiLAoiRW1vdGljb25zIjogIlNtYWpsXHUwMGVkY2kiLAoiUm9ib3RzIjogIlByZWhcdTAxM2VhZFx1MDBlMXZhY2llIHJvYm90eSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgZG9rdW1lbnR1IiwKIlRpdGxlIjogIk5hZHBpcyIsCiJLZXl3b3JkcyI6ICJLXHUwMTNlXHUwMGZhXHUwMTBkb3ZcdTAwZTkgc2xvdlx1MDBlMSIsCiJFbmNvZGluZyI6ICJLXHUwMGYzZG92YW5pZSIsCiJEZXNjcmlwdGlvbiI6ICJQb3BpcyIsCiJBdXRob3IiOiAiQXV0b3IiLAoiRnVsbHNjcmVlbiI6ICJOYSBjZWxcdTAwZmEgb2JyYXpvdmt1IiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udFx1MDBlMWxuYSBcdTAxMGRpYXJhIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRcdTAwZTFsbnkgcHJpZXN0b3IiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlZsb1x1MDE3ZWlcdTAxNjVcL3VwcmF2aVx1MDE2NSBvYnJcdTAwZTF6b2siLAoiR2VuZXJhbCI6ICJIbGF2blx1MDBlOSIsCiJBZHZhbmNlZCI6ICJQb2tyb1x1MDEwZGlsXHUwMGU5IiwKIlNvdXJjZSI6ICJaZHJvaiIsCiJCb3JkZXIiOiAiT3JcdTAwZTFtb3ZhbmllIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJWeW1lZHplblx1MDBlOSBwcm9wb3JjaWUiLAoiVmVydGljYWwgc3BhY2UiOiAiVmVydGlrXHUwMGUxbG55IHByaWVzdG9yIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlBvcGlzIG9iclx1MDBlMXprdSIsCiJTdHlsZSI6ICJcdTAxNjB0XHUwMGZkbCIsCiJEaW1lbnNpb25zIjogIlJvem1lcnkiLAoiSW5zZXJ0IGltYWdlIjogIlZsb1x1MDE3ZWlcdTAxNjUgb2JyXHUwMGUxem9rIiwKIlpvb20gaW4iOiAiUHJpYmxcdTAwZWRcdTAxN2VpXHUwMTY1IiwKIkNvbnRyYXN0IjogIktvbnRyYXN0IiwKIkJhY2siOiAiU3BcdTAwZTRcdTAxNjUiLAoiR2FtbWEiOiAiR2FtYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJQcmVrbG9waVx1MDE2NSBob3Jpem9udFx1MDBlMWxuZSIsCiJSZXNpemUiOiAiWm1lbmlcdTAxNjUgdmVcdTAxM2Vrb3NcdTAxNjUiLAoiU2hhcnBlbiI6ICJaYW9zdHJpXHUwMTY1IiwKIlpvb20gb3V0IjogIk9kZGlhbGlcdTAxNjUiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJNb1x1MDE3ZW5vc3RpIG9iclx1MDBlMXprdSIsCiJBcHBseSI6ICJQb3VcdTAxN2VpXHUwMTY1IiwKIkJyaWdodG5lc3MiOiAiSmFzIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiT3RvXHUwMTBkaVx1MDE2NSB2IHNtZXJlIGhvZGlub3ZcdTAwZmRjaCBydVx1MDEwZGlcdTAxMGRpZWsiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiT3RvXHUwMTBkaVx1MDE2NSBwcm90aSBzbWVydSBob2Rpbm92XHUwMGZkY2ggcnVcdTAxMGRpXHUwMTBkaWVrIiwKIkVkaXQgaW1hZ2UiOiAiVXByYXZpXHUwMTY1IG9iclx1MDBlMXpvayIsCiJDb2xvciBsZXZlbHMiOiAiXHUwMGRhcm92bmUgZmFyaWViIiwKIkNyb3AiOiAiVnlyZXphXHUwMTY1IiwKIk9yaWVudGF0aW9uIjogIk9yaWVudFx1MDBlMWNpYSIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiUHJla2xvcGlcdTAxNjUgdmVydGlrXHUwMGUxbG5lIiwKIkludmVydCI6ICJJbnZlcnRvdmFcdTAxNjUiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVmxvXHUwMTdlaVx1MDE2NSBkXHUwMGUxdHVtXC9cdTAxMGRhcyIsCiJSZW1vdmUgbGluayI6ICJPZHN0clx1MDBlMW5pXHUwMTY1IG9ka2F6IiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlpvYnJhemVuXHUwMGZkIHRleHQiLAoiQW5jaG9ycyI6ICJLb3R2eSIsCiJJbnNlcnQgbGluayI6ICJWbG9cdTAxN2VpXHUwMTY1IG9ka2F6IiwKIk5ldyB3aW5kb3ciOiAiTm92XHUwMGU5IG9rbm8iLAoiTm9uZSI6ICJcdTAxN2RpYWRuZSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVVJMIGFkcmVzYSBrdG9yXHUwMGZhIHN0ZSB6YWRhbGkgdnl6ZXJcdTAwZTEgYWtvIGV4dGVyblx1MDBmZCBsaW5rLiBDaGNldGUgcHJpZGFcdTAxNjUgdnlcdTAxN2VhZG92YW5cdTAwZmEgaHR0cDpcL1wvIHByZWRwb251PyIsCiJUYXJnZXQiOiAiQ2llXHUwMTNlIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVVJMLCBrdG9yXHUwMGZhIHN0ZSB2bG9cdTAxN2VpbGkgamUgcHJhdmRlcG9kb2JuZSBlbWFpbG92XHUwMGUxIGFkcmVzYS4gXHUwMTdkZWxcdTAwZTF0ZSBzaSBwcmlkYVx1MDE2NSB2eVx1MDE3ZWFkb3ZcdTAwZmEgbWFpbHRvOiBwcmVkcG9udT8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVmxvXHUwMTdlaVx1MDE2NVwvdXByYXZpXHUwMTY1IG9ka2F6IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJWbG9cdTAxN2VpXHUwMTY1XC91cHJhdmlcdTAxNjUgdmlkZW8iLAoiUG9zdGVyIjogIlVrXHUwMGUxXHUwMTdla2EiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0XHUwMGVkdm55IHpkcm9qIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiVmxvXHUwMTdldGUga1x1MDBmM2QgcHJlIHZsb1x1MDE3ZWVuaWUgbmEgc3RyXHUwMGUxbmt1OiIsCiJJbnNlcnQgdmlkZW8iOiAiVmxvXHUwMTdlaVx1MDE2NSB2aWRlbyIsCiJFbWJlZCI6ICJWbG9cdTAxN2Vlblx1MDBlOSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOZWRlbGl0ZVx1MDEzZW5cdTAwZTEgbWVkemVyYSIsCiJQYWdlIGJyZWFrIjogIlphbG9tZW5pZSBzdHJcdTAwZTFua3kiLAoiUGFzdGUgYXMgdGV4dCI6ICJWbG9cdTAxN2VpXHUwMTY1IGFrbyB0ZXh0IiwKIlByZXZpZXciOiAiTlx1MDBlMWhcdTAxM2VhZCIsCiJQcmludCI6ICJUbGFcdTAxMGRpXHUwMTY1IiwKIlNhdmUiOiAiVWxvXHUwMTdlaVx1MDE2NSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiWmFkYW5cdTAwZmQgcmVcdTAxNjVhemVjIHNhIG5lbmFcdTAxNjFpZWwuIiwKIlJlcGxhY2UiOiAiTmFocmFkaVx1MDE2NSIsCiJOZXh0IjogIk5hc2xlZHVqXHUwMGZhY2UiLAoiV2hvbGUgd29yZHMiOiAiQ2VsXHUwMGU5IHNsb3ZcdTAwZTEiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJWeWhcdTAxM2VhZGFcdTAxNjUgYSBuYWhyYWRpXHUwMTY1IiwKIlJlcGxhY2Ugd2l0aCI6ICJOYWhyYWRpXHUwMTY1IHphIiwKIkZpbmQiOiAiSFx1MDEzZWFkYVx1MDE2NSIsCiJSZXBsYWNlIGFsbCI6ICJOYWhyYWRpXHUwMTY1IHZcdTAxNjFldGtvIiwKIk1hdGNoIGNhc2UiOiAiUm96bGlcdTAxNjFvdmFcdTAxNjUgdmVcdTAxM2VrXHUwMGU5XC9tYWxcdTAwZTkiLAoiUHJldiI6ICJQcmVkY2hcdTAwZTFkemFqXHUwMGZhY2UiLAoiU3BlbGxjaGVjayI6ICJLb250cm9sYSBwcmF2b3Bpc3UiLAoiRmluaXNoIjogIkRva29uXHUwMTBkaVx1MDE2NSIsCiJJZ25vcmUgYWxsIjogIklnbm9yb3ZhXHUwMTY1IHZcdTAxNjFldGtvIiwKIklnbm9yZSI6ICJJZ25vcm92YVx1MDE2NSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJQcmlkYVx1MDE2NSBkbyBzbG92blx1MDBlZGthIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlZsb1x1MDE3ZWlcdTAxNjUgbm92XHUwMGZkIHJpYWRvayBwcmVkIiwKIlJvd3MiOiAiUmlhZGt5IiwKIkhlaWdodCI6ICJWXHUwMGZkXHUwMTYxa2EiLAoiUGFzdGUgcm93IGFmdGVyIjogIlZsb1x1MDE3ZWlcdTAxNjUgcmlhZG9rIHphIiwKIkFsaWdubWVudCI6ICJaYXJvdm5hbmllIiwKIkJvcmRlciBjb2xvciI6ICJGYXJiYSBvclx1MDBlMW1vdmFuaWEiLAoiQ29sdW1uIGdyb3VwIjogIlNrdXBpbmEgc3RcdTAxM2FwY292IiwKIlJvdyI6ICJSaWFkb2siLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiUHJpZGFcdTAxNjUgbm92XHUwMGZkIHN0XHUwMTNhcGVjIHByZWQiLAoiU3BsaXQgY2VsbCI6ICJSb3pkZWxpXHUwMTY1IGJ1bmt1IiwKIkNlbGwgcGFkZGluZyI6ICJPZHNhZGVuaWUgdiBidW5rXHUwMGUxY2giLAoiQ2VsbCBzcGFjaW5nIjogIlByaWVzdG9yIG1lZHppIGJ1bmthbWkiLAoiUm93IHR5cGUiOiAiVHlwIHJpYWRrdSIsCiJJbnNlcnQgdGFibGUiOiAiVmxvXHUwMTdlaVx1MDE2NSB0YWJ1XHUwMTNla3UiLAoiQm9keSI6ICJUZWxvIiwKIkNhcHRpb24iOiAiUG9waXNvayIsCiJGb290ZXIiOiAiUFx1MDBlNHRpXHUwMTBka2EiLAoiRGVsZXRlIHJvdyI6ICJabWF6YVx1MDE2NSByaWFkb2siLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJWbG9cdTAxN2VpXHUwMTY1IHJpYWRvayBwcmVkIiwKIlNjb3BlIjogIk9ibGFzXHUwMTY1IiwKIkRlbGV0ZSB0YWJsZSI6ICJabWF6YVx1MDE2NSB0YWJ1XHUwMTNla3UiLAoiSCBBbGlnbiI6ICJIb3Jpem9udFx1MDBlMWxuZSB6YXJvdm5hbmllIiwKIlRvcCI6ICJWcmNoIiwKIkhlYWRlciBjZWxsIjogIkJ1bmthIHpcdTAwZTFobGF2aWEiLAoiQ29sdW1uIjogIlN0XHUwMTNhcGVjIiwKIlJvdyBncm91cCI6ICJTa3VwaW5hIHJpYWRrb3YiLAoiQ2VsbCI6ICJCdW5rYSIsCiJNaWRkbGUiOiAiU3RyZWQiLAoiQ2VsbCB0eXBlIjogIlR5cCBidW5reSIsCiJDb3B5IHJvdyI6ICJLb3BcdTAwZWRyb3ZhXHUwMTY1IHJpYWRvayIsCiJSb3cgcHJvcGVydGllcyI6ICJWbGFzdG5vc3RpIHJpYWRrdSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIk5hc3RhdmVuaWEgdGFidVx1MDEzZWt5IiwKIkJvdHRvbSI6ICJTcG9kb2siLAoiViBBbGlnbiI6ICJWZXJ0aWtcdTAwZTFsbmUgemFyb3ZuYW5pZSIsCiJIZWFkZXIiOiAiWlx1MDBlMWhsYXZpZSIsCiJSaWdodCI6ICJWcHJhdm8iLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJQcmlkYVx1MDE2NSBub3ZcdTAwZmQgc3RcdTAxM2FwZWMgemEiLAoiQ29scyI6ICJTdFx1MDEzYXBjZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlZsb1x1MDE3ZWlcdTAxNjUgbm92XHUwMGZkIHJpYWRvayB6YSIsCiJXaWR0aCI6ICJcdTAxNjBcdTAwZWRya2EiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlZsYXN0bm9zdGkgYnVua3kiLAoiTGVmdCI6ICJWXHUwMTNlYXZvIiwKIkN1dCByb3ciOiAiVnlzdHJpaG5cdTAwZmFcdTAxNjUgcmlhZG9rIiwKIkRlbGV0ZSBjb2x1bW4iOiAiVnltYXphXHUwMTY1IHN0XHUwMTNhcGVjIiwKIkNlbnRlciI6ICJOYSBzdHJlZCIsCiJNZXJnZSBjZWxscyI6ICJTcG9qaVx1MDE2NSBidW5reSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVmxvXHUwMTdlaVx1MDE2NSBcdTAxNjFhYmxcdTAwZjNudSIsCiJUZW1wbGF0ZXMiOiAiXHUwMTYwYWJsXHUwMGYzbnkiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJGYXJiYSBwb3phZGlhIiwKIkN1c3RvbS4uLiI6ICJWbGFzdG5cdTAwZTEuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlZsYXN0blx1MDBlMSBmYXJiYSIsCiJObyBjb2xvciI6ICJCZXogZmFyYnkiLAoiVGV4dCBjb2xvciI6ICJGYXJiYSB0ZXh0dSIsCiJTaG93IGJsb2NrcyI6ICJab2JyYXppXHUwMTY1IGJsb2t5IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiWm9icmF6aVx1MDE2NSBza3J5dFx1MDBlOSB6bmFreSIsCiJXb3JkczogezB9IjogIlNsb3Y6IHswfSIsCiJJbnNlcnQiOiAiVmxvXHUwMTdlaVx1MDE2NSIsCiJGaWxlIjogIlNcdTAwZmFib3IiLAoiRWRpdCI6ICJVcHJhdmlcdTAxNjUiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiVGV4dG92XHUwMGU5IHBvbGUuIFN0bGFcdTAxMGR0ZSBBTFQtRjkgcHJlIHpvYnJhemVuaWUgbWVudSwgQUxULUYxMCBwcmUgem9icmF6ZW5pZSBwYW5lbGEgblx1MDBlMXN0cm9qb3YsIEFMVC0wIHByZSBuXHUwMGUxcG92ZWR1LiIsCiJUb29scyI6ICJOXHUwMGUxc3Ryb2plIiwKIlZpZXciOiAiWm9icmF6aVx1MDE2NSIsCiJUYWJsZSI6ICJUYWJ1XHUwMTNla2EiLAoiRm9ybWF0IjogIkZvcm1cdTAwZTF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/sl_SI.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzbF9TSScsewoiQ3V0IjogIkl6cmVcdTAxN2VpIiwKIkhlYWRpbmcgNSI6ICJQb2RuYXNsb3YgNSIsCiJIZWFkZXIgMiI6ICJOYXNsb3YgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJWYXJub3N0bmUgbmFzdGF2aXR2ZSBicnNrYWxuaWthIG5lIGRvcHVcdTAxNjFcdTAxMGRham8gZGlyZWt0bmVnYSBkb3N0b3BhIGRvIG9kbG9cdTAxN2VpXHUwMTYxXHUwMTBkYS4gVXBvcmFiaXRlIGtvbWJpbmFjaWpvIHRpcGsgQ3RybCtYXC9DXC9WIG5hIHRpcGtvdm5pY2kuIiwKIkhlYWRpbmcgNCI6ICJQb2RuYXNsb3YgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJQb2RuYXNsb3YgMiIsCiJQYXN0ZSI6ICJQcmlsZXBpIiwKIkNsb3NlIjogIlphcHJpIiwKIkZvbnQgRmFtaWx5IjogIkRydVx1MDE3ZWluYSBwaXNhdiIsCiJQcmUiOiAiUHJlZGZvcm1hdCIsCiJBbGlnbiByaWdodCI6ICJEZXNuYSBwb3Jhdm5hdmEiLAoiTmV3IGRvY3VtZW50IjogIk5vdiBkb2t1bWVudCIsCiJCbG9ja3F1b3RlIjogIlphbWlrIGJlc2VkaWxhIiwKIk51bWJlcmVkIGxpc3QiOiAiT1x1MDE2MXRldmlsXHUwMTBkZW4gc2V6bmFtIiwKIkhlYWRpbmcgMSI6ICJQb2RuYXNsb3YgMSIsCiJIZWFkaW5ncyI6ICJQb2RuYXNsb3ZpIiwKIkluY3JlYXNlIGluZGVudCI6ICJQb3ZlXHUwMTBkYWogemFtaWsiLAoiRm9ybWF0cyI6ICJPYmxpa2EiLAoiSGVhZGVycyI6ICJOYXNsb3ZpIiwKIlNlbGVjdCBhbGwiOiAiSXpiZXJpIHZzZSIsCiJIZWFkZXIgMyI6ICJOYXNsb3YgMyIsCiJCbG9ja3MiOiAiR3J1cGUiLAoiVW5kbyI6ICJSYXp2ZWxqYXZpIiwKIlN0cmlrZXRocm91Z2giOiAiUHJlXHUwMTBkcnRhbm8iLAoiQnVsbGV0IGxpc3QiOiAiT3puYVx1MDEwZGVuIHNlem5hbSIsCiJIZWFkZXIgMSI6ICJOYXNsb3YgMSIsCiJTdXBlcnNjcmlwdCI6ICJOYWRwaXNhbm8iLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJPZHN0cmFuaSBvYmxpa292YW5qZSIsCiJGb250IFNpemVzIjogIlZlbGlrb3N0aSBwaXNhdmUiLAoiU3Vic2NyaXB0IjogIlBvZHBpc2FubyIsCiJIZWFkZXIgNiI6ICJOYXNsb3YgNiIsCiJSZWRvIjogIlBvbm92aSIsCiJQYXJhZ3JhcGgiOiAiT2RzdGF2ZWsiLAoiT2siOiAiViByZWR1IiwKIkJvbGQiOiAiS3JlcGtvIiwKIkNvZGUiOiAiS29kYSIsCiJJdGFsaWMiOiAiTGVcdTAxN2VlXHUwMTBkZSIsCiJBbGlnbiBjZW50ZXIiOiAiU3JlZGluc2thIHBvcmF2bmF2YSIsCiJIZWFkZXIgNSI6ICJOYXNsb3YgNSIsCiJIZWFkaW5nIDYiOiAiUG9kbmFzbG92IDYiLAoiSGVhZGluZyAzIjogIlBvZG5hc2xvdiAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJabWFualx1MDE2MWFqIHphbWlrIiwKIkhlYWRlciA0IjogIk5hc2xvdiA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJPZGxhZ2FsaVx1MDE2MVx1MDEwZGUgamUgemRhaiB2IHRla3N0b3ZuZW0gbmFcdTAxMGRpbnUuIFZzZWJpbmEgYm8gcHJlc2xpa2FuYSBrb3QgZ29sbyBiZXNlZGlsbyBicmV6IG9ibGlrZSwgZG9rbGVyIHRlIG1vXHUwMTdlbm9zdGkgbmUgaXprbGp1XHUwMTBkaXRlLiIsCiJVbmRlcmxpbmUiOiAiUG9kXHUwMTBkcnRhbm8iLAoiQ2FuY2VsIjogIlByZWtsaVx1MDEwZGkiLAoiSnVzdGlmeSI6ICJPYm9qZXN0cmFuc2thIHBvcmF2bmF2YSIsCiJJbmxpbmUiOiAiTWVkIGJlc2VkaWxvbSIsCiJDb3B5IjogIktvcGlyYWoiLAoiQWxpZ24gbGVmdCI6ICJMZXZhIHBvcmF2bmF2YSIsCiJWaXN1YWwgYWlkcyI6ICJWaXp1YWxuaSBwcmlwb21vXHUwMTBka2kiLAoiTG93ZXIgR3JlZWsiOiAiTWFsZSBnclx1MDE2MWtlIFx1MDEwZHJrZSIsCiJTcXVhcmUiOiAiS3ZhZHJhdGVrIiwKIkRlZmF1bHQiOiAiUHJpdnpldG8iLAoiTG93ZXIgQWxwaGEiOiAiTWFsZSB0aXNrYW5lIFx1MDEwZHJrZSIsCiJDaXJjbGUiOiAiUGlraWNhIiwKIkRpc2MiOiAiS3JvZ2xpY2EiLAoiVXBwZXIgQWxwaGEiOiAiVmVsaWtlIHRpc2thbmUgXHUwMTBkcmtlIiwKIlVwcGVyIFJvbWFuIjogIlZlbGlrZSByaW1za2UgXHUwMTYxdGV2aWxrZSIsCiJMb3dlciBSb21hbiI6ICJNYWxlIHJpbXNrZSBcdTAxNjF0ZXZpbGtlIiwKIk5hbWUiOiAiTmF6aXYgemF6bmFta2EiLAoiQW5jaG9yIjogIlphem5hbWVrIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiSW1hdGUgbmVzaHJhbmplbmUgc3ByZW1lbWJlLiBTdGUgcHJlcHJpXHUwMTBkYXRpLCBkYSBcdTAxN2VlbGl0ZSB6YXB1c3RpdGkgc3RyYW4/IiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJPYm5vdmkgemFkbmppIG9zbnV0ZWsiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiUG9zZWJuaSB6bmFraSIsCiJTb3VyY2UgY29kZSI6ICJJenZvcm5hIGtvZGEiLAoiQ29sb3IiOiAiQmFydmEiLAoiUmlnaHQgdG8gbGVmdCI6ICJPZCBkZXNuZSBwcm90aSBsZXZpIiwKIkxlZnQgdG8gcmlnaHQiOiAiT2QgbGV2ZSBwcm90aSBkZXNuaSIsCiJFbW90aWNvbnMiOiAiU21lXHUwMTYxa2kiLAoiUm9ib3RzIjogIlJvYm90a2kiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJMYXN0bm9zdGkgZG9rdW1lbnRhIiwKIlRpdGxlIjogIk5hc2xvdiIsCiJLZXl3b3JkcyI6ICJLbGp1XHUwMTBkbmUgYmVzZWRlIiwKIkVuY29kaW5nIjogIktvZGlyYW5qZSIsCiJEZXNjcmlwdGlvbiI6ICJPcGlzIiwKIkF1dGhvciI6ICJBdnRvciIsCiJGdWxsc2NyZWVuIjogIlx1MDEwY2V6IGNlbCB6YXNsb24iLAoiSG9yaXpvbnRhbCBsaW5lIjogIlZvZG9yYXZuYSBcdTAxMGRydGEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJWb2RvcmF2bmkgcHJvc3RvciIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiVnN0YXZpXC91cmVkaSBzbGlrbyIsCiJHZW5lcmFsIjogIlNwbG9cdTAxNjFubyIsCiJBZHZhbmNlZCI6ICJOYXByZWRubyIsCiJTb3VyY2UiOiAiUG90IiwKIkJvcmRlciI6ICJPYnJvYmEiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk9iZHJcdTAxN2VpIHJhem1lcmplIiwKIlZlcnRpY2FsIHNwYWNlIjogIk5hdnBpXHUwMTBkbmkgcHJvc3RvciIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJPcGlzIHNsaWtlIiwKIlN0eWxlIjogIlNsb2ciLAoiRGltZW5zaW9ucyI6ICJEaW1lbnppamUiLAoiSW5zZXJ0IGltYWdlIjogIlZuZXNpIHNsaWtvIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlZzdGF2aSBkYXR1bVwvXHUwMTBkYXMiLAoiUmVtb3ZlIGxpbmsiOiAiT2RzdHJhbmkgcG92ZXphdm8iLAoiVXJsIjogIlBvdmV6YXZhIiwKIlRleHQgdG8gZGlzcGxheSI6ICJQcmlrYXpubyBiZXNlZGlsbyIsCiJBbmNob3JzIjogIlNpZHJhIiwKIkluc2VydCBsaW5rIjogIlZzdGF2aSBwb3ZlemF2byIsCiJOZXcgd2luZG93IjogIk5vdm8gb2tubyIsCiJOb25lIjogIkJyZXoiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlZuZVx1MDE2MWVuaSBVUkwgcHJlZHN0YXZsamEgenVuYW5qbyBwb3ZlemF2by4gQWxpIFx1MDE3ZWVsaXRlIGRvZGF0aSBcImh0dHA6XC9cL1wiIHByZWRwb25vPyIsCiJUYXJnZXQiOiAiQ2lsaiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlZuZVx1MDE2MWVuaSBVUkwgcHJlZHN0YXZsamEgZS1wb1x1MDE2MXRuaSBuYXNsb3YuIEFsaSBcdTAxN2VlbGl0ZSBkb2RhdGkgcG90cmVibm8gXCJtYWlsdG86XCIgcHJlZHBvbm8/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlZzdGF2aVwvdXJlZGkgcG92ZXphdm8iLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZzdGF2aVwvdXJlZGkgdmlkZW8iLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiTmFkb21lc3RuaSB2aXIiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJQcmlsZXBpdGUga29kbyB6YSB2ZGVsYXZvOiIsCiJJbnNlcnQgdmlkZW8iOiAiVnN0YXZpIHZpZGVvIiwKIkVtYmVkIjogIlZkZWxhaiIsCiJOb25icmVha2luZyBzcGFjZSI6ICJOZWRlbGppdmkgcHJlc2xlZGVrIiwKIlBhZ2UgYnJlYWsiOiAiUHJlbG9tIHN0cmFuaSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlZuZXNpIGtvdCBiZXNlZGlsbyIsCiJQcmV2aWV3IjogIlByZWRvZ2xlZCIsCiJQcmludCI6ICJOYXRpc25pIiwKIlNhdmUiOiAiU2hyYW5pIiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJJc2thbmplIG5pIHZybmlsbyByZXp1bHRhdG92LiIsCiJSZXBsYWNlIjogIlphbWVuamFqIiwKIk5leHQiOiAiTmFwcmVqIiwKIldob2xlIHdvcmRzIjogIkNlbGUgYmVzZWRlIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiUG9pXHUwMTYxXHUwMTBkaSBpbiB6YW1lbmphaiIsCiJSZXBsYWNlIHdpdGgiOiAiWmFtZW5qYWogeiIsCiJGaW5kIjogIklcdTAxNjFcdTAxMGRpIiwKIlJlcGxhY2UgYWxsIjogIlphbWVuamFqIHZzZSIsCiJNYXRjaCBjYXNlIjogIlVqZW1hbmplIG1hbGloIGluIHZlbGlraWggXHUwMTBkcmsiLAoiUHJldiI6ICJOYXphaiIsCiJTcGVsbGNoZWNrIjogIlByZXZlcmphbmplIFx1MDEwZHJrb3ZhbmphIiwKIkZpbmlzaCI6ICJaYWtsanVcdTAxMGRpIiwKIklnbm9yZSBhbGwiOiAiUHJlenJpIHZzZSIsCiJJZ25vcmUiOiAiUHJlenJpIiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIkRvZGFqIHYgc2xvdmFyIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlZzdGF2aSB2cnN0aWNvIHByZWQiLAoiUm93cyI6ICJWcnN0aWNlIiwKIkhlaWdodCI6ICJWaVx1MDE2MWluYSIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiUHJpbGVwaSB2cnN0aWNvIHphIiwKIkFsaWdubWVudCI6ICJQb3Jhdm5hdmEiLAoiQm9yZGVyIGNvbG9yIjogIkJhcnZhIG9icm9iZSIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cGlyYW5qZSBzdG9scGNldiIsCiJSb3ciOiAiVnJzdGljYSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJWc3Rhdmkgc3RvbHBlYyBwcmVkIiwKIlNwbGl0IGNlbGwiOiAiUmF6ZGVsaSBjZWxpY28iLAoiQ2VsbCBwYWRkaW5nIjogIlBvbG5pbG8gbWVkIGNlbGljYW1pIiwKIkNlbGwgc3BhY2luZyI6ICJSYXptaWsgbWVkIGNlbGljYW1pIiwKIlJvdyB0eXBlIjogIlRpcCB2cnN0aWNlIiwKIkluc2VydCB0YWJsZSI6ICJWc3RhdmkgdGFiZWxvIiwKIkJvZHkiOiAiVnNlYmluYSIsCiJDYXB0aW9uIjogIk5hc2xvdiIsCiJGb290ZXIiOiAiTm9nYSIsCiJEZWxldGUgcm93IjogIkl6YnJpXHUwMTYxaSB2cnN0aWNvIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiUHJpbGVwaSB2cnN0aWNvIHByZWQiLAoiU2NvcGUiOiAiT2JzZWciLAoiRGVsZXRlIHRhYmxlIjogIkl6YnJpXHUwMTYxaSB0YWJlbG8iLAoiSCBBbGlnbiI6ICJIb3Jpem9udGFsbmEgcG9yYXZuYXZhIiwKIlRvcCI6ICJWcmgiLAoiSGVhZGVyIGNlbGwiOiAiQ2VsaWNhIGdsYXZlIiwKIkNvbHVtbiI6ICJTdG9scGVjIiwKIlJvdyBncm91cCI6ICJHcnVwaXJhbmplIHZyc3RpYyIsCiJDZWxsIjogIkNlbGljYSIsCiJNaWRkbGUiOiAiU3JlZGluYSIsCiJDZWxsIHR5cGUiOiAiVGlwIGNlbGljZSIsCiJDb3B5IHJvdyI6ICJLb3BpcmFqIHZyc3RpY28iLAoiUm93IHByb3BlcnRpZXMiOiAiTGFzdG5vc3RpIHZyc3RpY2UiLAoiVGFibGUgcHJvcGVydGllcyI6ICJMYXN0bm9zdGkgdGFiZWxlIiwKIkJvdHRvbSI6ICJEbm8iLAoiViBBbGlnbiI6ICJWZXJ0aWthbG5hIHBvcmF2bmF2YSIsCiJIZWFkZXIiOiAiR2xhdmEiLAoiUmlnaHQiOiAiRGVzbm8iLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJWc3Rhdmkgc3RvbHBlYyB6YSIsCiJDb2xzIjogIlN0b2xwY2kiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJWc3RhdmkgdnJzdGljbyB6YSIsCiJXaWR0aCI6ICJcdTAxNjBpcmluYSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiTGFzdG5vc3RpIGNlbGljZSIsCiJMZWZ0IjogIkxldm8iLAoiQ3V0IHJvdyI6ICJJenJlXHUwMTdlaSB2cnN0aWNvIiwKIkRlbGV0ZSBjb2x1bW4iOiAiSXpicmlcdTAxNjFpIHN0b2xwZWMiLAoiQ2VudGVyIjogIlNyZWRpbnNrbyIsCiJNZXJnZSBjZWxscyI6ICJaZHJ1XHUwMTdlaSBjZWxpY2UiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlZzdGF2aSBwcmVkbG9nbyIsCiJUZW1wbGF0ZXMiOiAiUHJlZGxvZ2UiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYXJ2YSBvemFkamEiLAoiQ3VzdG9tLi4uIjogIlBvIG1lcmkgLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJCYXJ2YSBwbyBtZXJpIiwKIk5vIGNvbG9yIjogIkJyZXpiYXJ2bm8iLAoiVGV4dCBjb2xvciI6ICJCYXJ2YSBiZXNlZGlsYSIsCiJTaG93IGJsb2NrcyI6ICJQcmlrYVx1MDE3ZWkgYmxva2UiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJQcmlrYVx1MDE3ZWkgc2tyaXRlIHpuYWtlIiwKIldvcmRzOiB7MH0iOiAiQmVzZWQ6IHswfSIsCiJJbnNlcnQiOiAiVnN0YXZpIiwKIkZpbGUiOiAiRGF0b3Rla2EiLAoiRWRpdCI6ICJVcmVkaSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJCb2dhdG8gYmVzZWRpbG8uIFByaXRpc25pdGUgQUxULUY5IHphIG1lbmkuIFByaXRpc25pdGUgQUxULUYxMCB6YSBvcm9kbm8gdnJzdGljby4gUHJpdGlzbml0ZSBBTFQtMCB6YSBwb21vXHUwMTBkIiwKIlRvb2xzIjogIk9yb2RqYSIsCiJWaWV3IjogIlBvZ2xlZCIsCiJUYWJsZSI6ICJUYWJlbGEiLAoiRm9ybWF0IjogIk9ibGlrYSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/sr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzcicsewoiQ3V0IjogIklzZWNpIiwKIkhlYWRlciAyIjogIlphZ2xhdmxqZSAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlZhXHUwMTYxIHByZXRyYVx1MDE3ZWl2YVx1MDEwZCBuZXBvZHJcdTAxN2VhdmEgZGlyZWt0YW4gcHJpc3R1cCBwcmVub3N1LktvcmlzdGl0ZSBDdHJsK1hcL0NcL1YgcHJlXHUwMTBkaWNlIG5hIHRhc3RhdHVyaSIsCiJEaXYiOiAiRGl2IiwKIlBhc3RlIjogIk5hbGVwaSIsCiJDbG9zZSI6ICJaYXR2b3JpIiwKIkZvbnQgRmFtaWx5IjogIlZyc3RhIGZvbnRhIiwKIlByZSI6ICJQcmUiLAoiQWxpZ24gcmlnaHQiOiAiUG9yYXZuYW5vICBkZXNubyIsCiJOZXcgZG9jdW1lbnQiOiAiTm92aSBkb2t1bWVudCIsCiJCbG9ja3F1b3RlIjogIk5hdm9kbmljaSIsCiJOdW1iZXJlZCBsaXN0IjogIk51bWVyaXNhbmEgbGlzdGEiLAoiSW5jcmVhc2UgaW5kZW50IjogIlBvdmVcdTAxMDdhaiB1dmxhXHUwMTBkZW5qZSIsCiJGb3JtYXRzIjogIkZvcm1hdGlyYWoiLAoiSGVhZGVycyI6ICJaYWdsYXZsamUiLAoiU2VsZWN0IGFsbCI6ICJPYmVsZVx1MDE3ZWkgc3ZlIiwKIkhlYWRlciAzIjogIlphZ2xhdmxqZSAzIiwKIkJsb2NrcyI6ICJCbG9rb3ZpIiwKIlVuZG8iOiAiTmF6YWQiLAoiU3RyaWtldGhyb3VnaCI6ICJQcmVjcnRhbiIsCiJCdWxsZXQgbGlzdCI6ICJMaXN0YSBuYWJyYWphbmphIiwKIkhlYWRlciAxIjogIlphZ2xhdmxqZSAxIiwKIlN1cGVyc2NyaXB0IjogIk5hdHBpcyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkJyaXNhbmplIGZvcm1hdGlyYW5qYSIsCiJGb250IFNpemVzIjogIlZlbGlcdTAxMGRpbmUgZm9udG92YSIsCiJTdWJzY3JpcHQiOiAiUG90cGlzYW4iLAoiSGVhZGVyIDYiOiAiWmFnbGF2bGplIDYiLAoiUmVkbyI6ICJOYXByZWQiLAoiUGFyYWdyYXBoIjogIlBhcmFncmFmIiwKIk9rIjogIk9rIiwKIkJvbGQiOiAiUG9kZWJsamFuIiwKIkNvZGUiOiAiS29kIiwKIkl0YWxpYyI6ICJpc2tvXHUwMTYxZW4iLAoiQWxpZ24gY2VudGVyIjogIlBvcmF2bmFubyBjZW50YXIiLAoiSGVhZGVyIDUiOiAiWmFnbGF2bGplIDUiLAoiRGVjcmVhc2UgaW5kZW50IjogIlNtYW5qaSB1dmxhXHUwMTBkZW5qZSIsCiJIZWFkZXIgNCI6ICJaYWdsYXZsamUgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiTmFsZXBpdGkgamUgc2FkYSB1IG9iaVx1MDEwZG5vbSB0ZXh0IG1vZHUuU2Fkclx1MDE3ZWFqIFx1MDEwN2UgYml0aSBuYWxlcGxqZW4ga2FvIG9iaVx1MDEwZGFuIHRla3N0IGRvayBuZSB1Z2FzaXRlIG92dSBvcGNpanUuIiwKIlVuZGVybGluZSI6ICJQb2R2dVx1MDEwZGVuIiwKIkNhbmNlbCI6ICJPcG96b3ZpIiwKIkp1c3RpZnkiOiAiUG9yYXZuYW5qZSIsCiJJbmxpbmUiOiAiVSBsaW5pamkiLAoiQ29weSI6ICJLb3BpcmFqIiwKIkFsaWduIGxlZnQiOiAiUG9yYXZuYW5vIGxldm8iLAoiVmlzdWFsIGFpZHMiOiAiVml6dWVsbmEgcG9tYWdhbGEiLAoiTG93ZXIgR3JlZWsiOiAiTmlcdTAxN2VpIGdyXHUwMTBka2kiLAoiU3F1YXJlIjogIkt2YWRyYXQiLAoiRGVmYXVsdCI6ICJQb2RyYXp1bWV2YW5vIiwKIkxvd2VyIEFscGhhIjogIkRvbmphIEFscGhhIiwKIkNpcmNsZSI6ICJLcnVnIiwKIkRpc2MiOiAiRGlzayIsCiJVcHBlciBBbHBoYSI6ICJHb3JuamkgQWxwaGEiLAoiVXBwZXIgUm9tYW4iOiAiR29ybmppIFJvbWFuIiwKIkxvd2VyIFJvbWFuIjogIkRvbmppIFJvbWFuIiwKIk5hbWUiOiAiSW1lIiwKIkFuY2hvciI6ICJTaWRybyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkltYXRlIG5lc2FcdTAxMGR1dmFuZSBwcm9tZW5lIGRhbGkgc3RlIHNpZ3VybmkgZGEgXHUwMTdlZWxpdGUgZGEgaXphXHUwMTExZXRlPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiVnJhdGkgIHBvc2xlZG5qaSBuYWNydCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJTcGVjaWphbG5pIGthcmFrdGVyIiwKIlNvdXJjZSBjb2RlIjogIkl6dm9ybmkga29kIiwKIlJpZ2h0IHRvIGxlZnQiOiAiU2EgZGVzbmUgbmEgbGV2dSIsCiJMZWZ0IHRvIHJpZ2h0IjogIlNhIGxldmUgbmEgZGVzbnUiLAoiRW1vdGljb25zIjogIlNtYWpsaWppIiwKIlJvYm90cyI6ICJSb2JvdGkiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJQb3N0YXZrZSBkb2t1bWVudGEiLAoiVGl0bGUiOiAiTmFzbG92IiwKIktleXdvcmRzIjogIktsanVcdTAxMGRuZSByZVx1MDEwZGkiLAoiRW5jb2RpbmciOiAiS29kaXJhbmplIiwKIkRlc2NyaXB0aW9uIjogIk9waXMiLAoiQXV0aG9yIjogIkF1dG9yIiwKIkZ1bGxzY3JlZW4iOiAiUHVuIGVrcmFuIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpem9udGFsbmEgbGluaWphIiwKIkhvcml6b250YWwgc3BhY2UiOiAiSG9yaXpvbnRhbG5pIHJhem1hayIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiVWJhY2lcL1Byb21lbmkgc2xpa3UiLAoiR2VuZXJhbCI6ICJPcFx1MDE2MXRlIiwKIkFkdmFuY2VkIjogIk5hcHJlZG5vIiwKIlNvdXJjZSI6ICJJenZvciIsCiJCb3JkZXIiOiAiT2t2aXIiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIk9ncmFuaVx1MDEwZGVuZSBwcm9wb3JjaWplIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa2FsbmkgcmF6bWFrIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIk9waXMgc2xpa2UiLAoiU3R5bGUiOiAiU3RpbCIsCiJEaW1lbnNpb25zIjogIkRpbWVuemlqZSIsCiJJbnNlcnQgaW1hZ2UiOiAiVWJhY2kgc2xpa3UiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVWJhY2kgZGF0dW1cL3ZyZW1lIiwKIlJlbW92ZSBsaW5rIjogIlVrbG9uaSBsaW5rIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIlRla3N0IHphIHByaWtheiIsCiJBbmNob3JzIjogInNpZHJvIiwKIkluc2VydCBsaW5rIjogIlViYWNpIHZlenUiLAoiTmV3IHdpbmRvdyI6ICJOb3ZpIHByb3pvciIsCiJOb25lIjogIk5pXHUwMTYxdGEiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyIsCiJUYXJnZXQiOiAiTWV0YSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiVWJhY2lcL3Byb21lbmkgdmV6dSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVWJhY2lcL3Byb21lbmkgdmlkZW8iLAoiUG9zdGVyIjogIlBvc3RlciIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiQWx0ZXJuYXRpdm5pIGl6dm9yIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiTmFsZXBpdGUgdWdyYVx1MDExMWVuaSBrb2QgaXNwb2Q6IiwKIkluc2VydCB2aWRlbyI6ICJVYmFjaSB2aWRlbyIsCiJFbWJlZCI6ICJVZ3JhXHUwMTExZW5vIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogImJleiByYW1ha2EiLAoiUGFnZSBicmVhayI6ICJMb21samVuamUgc3RyYW5pY2UiLAoiUGFzdGUgYXMgdGV4dCI6ICJOYWxlcGkga2FvIHRla3N0IiwKIlByZXZpZXciOiAiUHJlZ2xlZCIsCiJQcmludCI6ICJcdTAxNjB0YW1wYW5qZSIsCiJTYXZlIjogIlNhXHUwMTBkdXZhdGkiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIk5pamUgbW9ndVx1MDEwN2UgcHJvbmFcdTAxMDdpIG5hdmVkZW5pIG5pei4iLAoiUmVwbGFjZSI6ICJaYW1lbmkiLAoiTmV4dCI6ICJTbGVkZVx1MDEwN2kiLAoiV2hvbGUgd29yZHMiOiAiQ2VsZSByZVx1MDEwZGkiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJOYVx1MDExMWkgaSB6YW1lbmkiLAoiUmVwbGFjZSB3aXRoIjogIlphbWVuaSBzYSIsCiJGaW5kIjogIk5hXHUwMTExaSIsCiJSZXBsYWNlIGFsbCI6ICJaYW1lbmkgc3ZlIiwKIk1hdGNoIGNhc2UiOiAiUHJlZG1ldCB6YSB1cG9yZVx1MDExMWl2YW5qZSIsCiJQcmV2IjogIlByZXRob2RuaSIsCiJTcGVsbGNoZWNrIjogIlByb3ZlcmEgcHJhdm9waXNhIiwKIkZpbmlzaCI6ICJLcmFqIiwKIklnbm9yZSBhbGwiOiAiSWdub3JpXHUwMTYxaSBzdmUiLAoiSWdub3JlIjogImlnbm9yaVx1MDE2MWkiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVWJhY2kgcmVkIHByZSIsCiJSb3dzIjogIlJlZG92aSIsCiJIZWlnaHQiOiAiVmlzaW5hIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJOYWxlcGkgcmVkIHBvc2xlIiwKIkFsaWdubWVudCI6ICJTdnJzdGF2YW5qZSIsCiJDb2x1bW4gZ3JvdXAiOiAiR3J1cGEga29sb25lIiwKIlJvdyI6ICJSZWQiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiVWJhY2kga29sb251IHByZSIsCiJTcGxpdCBjZWxsIjogIlJhemR2b2ppIFx1MDEwN2VsaWplIiwKIkNlbGwgcGFkZGluZyI6ICJSYXptYWsgXHUwMTA3ZWxpamUiLAoiQ2VsbCBzcGFjaW5nIjogIlByb3N0b3IgXHUwMTA3ZWxpamUiLAoiUm93IHR5cGUiOiAiVGlwIHJlZGEiLAoiSW5zZXJ0IHRhYmxlIjogInViYWNpIHRhYmVsdSIsCiJCb2R5IjogIlRlbG8iLAoiQ2FwdGlvbiI6ICJOYXRwaXMiLAoiRm9vdGVyIjogIlBvZG5vXHUwMTdlamUiLAoiRGVsZXRlIHJvdyI6ICJPYnJpXHUwMTYxaSByZWQiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJOYWxlcGkgcmVkIHByZSIsCiJTY29wZSI6ICJPYmltIiwKIkRlbGV0ZSB0YWJsZSI6ICJPYnJpXHUwMTYxaSB0YWJlbHUiLAoiSGVhZGVyIGNlbGwiOiAiVmlzaW5hIFx1MDEwN2VsaWplIiwKIkNvbHVtbiI6ICJLb2xvbmEiLAoiQ2VsbCI6ICJcdTAxMDZlbGlqYSIsCiJIZWFkZXIiOiAiWmFnbGF2bGplIiwKIkNlbGwgdHlwZSI6ICJUaXAgXHUwMTA3ZWxpamUiLAoiQ29weSByb3ciOiAiS29waXJhaiByZWQiLAoiUm93IHByb3BlcnRpZXMiOiAiUG9zdGF2a2UgcmVkYSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlBvc3RhdmtlIHRhYmVsZSIsCiJSb3cgZ3JvdXAiOiAiR3J1cGEgcmVkYSIsCiJSaWdodCI6ICJEZXNubyIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlViYWNpIGtvbG9udSBwb3NsZSIsCiJDb2xzIjogIktvbG9uZSIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlViYWNpIHJlZCBwb3NsZSIsCiJXaWR0aCI6ICJcdTAxNjBpcmluYSIsCiJDZWxsIHByb3BlcnRpZXMiOiAiUG9zdGF2a2UgXHUwMTA3ZWxpamUiLAoiTGVmdCI6ICJMZXZvIiwKIkN1dCByb3ciOiAiSXNlY2kgcmVkIiwKIkRlbGV0ZSBjb2x1bW4iOiAiT2JyaVx1MDE2MWkga29sb251IiwKIkNlbnRlciI6ICJDZW50YXIiLAoiTWVyZ2UgY2VsbHMiOiAiU3BvamkgXHUwMTA3ZWxpamUiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlViYWNpIFx1MDE2MWFibG9uIiwKIlRlbXBsYXRlcyI6ICJcdTAxNjBhYmxvbmkiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCb2phIHBvemFkaW5lIiwKIlRleHQgY29sb3IiOiAiQm9qYSB0ZWtzdCIsCiJTaG93IGJsb2NrcyI6ICJQcmlrYXogYmxva292YSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlByaWthXHUwMTdlaSBuZXZpZGxqaXZlIGthcmFrdGVyZSIsCiJXb3JkczogezB9IjogIlJlXHUwMTBkaTp7MH0iLAoiSW5zZXJ0IjogIlVtZXRuaSIsCiJGaWxlIjogIkRhdG90ZWthIiwKIkVkaXQiOiAiVXJlXHUwMTExaXZhbmplIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIk9ib2dhXHUwMTA3ZW4gdGVrc3QuIFByaXRpc25pIHRlIEFMVC1GOSB6YSBtZW5pLlByaXRpc25pdGUgQUxULUYxMCB6YSB0cmFrdSBzYSBhbGF0a2FtYS5Qcml0aXNuaXRlIEFMVC0wIHphIHBvbW9cdTAxMDciLAoiVG9vbHMiOiAiQWxhdGtlIiwKIlZpZXciOiAiUHJpa2F6IiwKIlRhYmxlIjogIlRhYmVsYSIsCiJGb3JtYXQiOiAiRm9ybWF0Igp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/sv_SE.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCdzdl9TRScsewoiQ3V0IjogIktsaXBwIHV0IiwKIkhlYWRpbmcgNSI6ICJSdWJyaWsgNSIsCiJIZWFkZXIgMiI6ICJSdWJyaWsgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJEaW4gYnJvd3NlciBzdFx1MDBmNmRqZXIgaW50ZSBkaXJla3QgXHUwMGU1dGtvbXN0IHRpbGwga2xpcHBib2tlbi4gVlx1MDBlNG5saWdlbiBhbnZcdTAwZTRuZCBrb3J0a29tbWFuZG9uYSBDdHJsK1hcL0NcL1YgaSBzdFx1MDBlNGxsZXQuIiwKIkhlYWRpbmcgNCI6ICJSdWJyaWsgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJSdWJyaWsgMiIsCiJQYXN0ZSI6ICJLbGlzdHJhIGluIiwKIkNsb3NlIjogIlN0XHUwMGU0bmciLAoiRm9udCBGYW1pbHkiOiAiVGVja2Vuc25pdHQiLAoiUHJlIjogIkZcdTAwZjZyZm9ybWF0ZXJhZCIsCiJBbGlnbiByaWdodCI6ICJIXHUwMGY2Z2Vyc3RcdTAwZTRsbCIsCiJOZXcgZG9jdW1lbnQiOiAiTnl0dCBkb2t1bWVudCIsCiJCbG9ja3F1b3RlIjogIkJsb2NrY2l0YXQiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1tZXJsaXN0YSIsCiJIZWFkaW5nIDEiOiAiUnVicmlrIDEiLAoiSGVhZGluZ3MiOiAiUnVicmlrZXIiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDBkNmthIGluZHJhZyIsCiJGb3JtYXRzIjogIkZvcm1hdCIsCiJIZWFkZXJzIjogIlJ1YnJpa2VyIiwKIlNlbGVjdCBhbGwiOiAiTWFya2VyYSBhbGx0IiwKIkhlYWRlciAzIjogIlJ1YnJpayAzIiwKIkJsb2NrcyI6ICJCbG9jayIsCiJVbmRvIjogIlx1MDBjNW5ncmEiLAoiU3RyaWtldGhyb3VnaCI6ICJHZW5vbXN0cnVrZW4iLAoiQnVsbGV0IGxpc3QiOiAiUHVua3RsaXN0YSIsCiJIZWFkZXIgMSI6ICJSdWJyaWsgMSIsCiJTdXBlcnNjcmlwdCI6ICJVcHBoXHUwMGY2amQgdGV4dCIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkF2Zm9ybWF0ZXJhIiwKIkZvbnQgU2l6ZXMiOiAiU3RvcmxlayIsCiJTdWJzY3JpcHQiOiAiTmVkc1x1MDBlNG5rdCB0ZXh0IiwKIkhlYWRlciA2IjogIlJ1YnJpayA2IiwKIlJlZG8iOiAiR1x1MDBmNnIgb20iLAoiUGFyYWdyYXBoIjogIkJyXHUwMGY2ZHRleHQiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJGZXRzdGlsIiwKIkNvZGUiOiAiS29kIiwKIkl0YWxpYyI6ICJLdXJzaXYgc3RpbCIsCiJBbGlnbiBjZW50ZXIiOiAiQ2VudHJlcmEiLAoiSGVhZGVyIDUiOiAiUnVicmlrIDUiLAoiSGVhZGluZyA2IjogIlJ1YnJpayA2IiwKIkhlYWRpbmcgMyI6ICJSdWJyaWsgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTWluc2thIGluZHJhZyIsCiJIZWFkZXIgNCI6ICJSdWJyaWsgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiS2xpc3RyYSBpbiBcdTAwZTRyIG51IGkgdGV4dGxcdTAwZTRnZS4gSW5uZWhcdTAwZTVsbCBrb21tZXIgYXR0IGtvbnZlcnRlcmFzIHRpbGwgdGV4dCB0aWxscyBkdSBzbFx1MDBlNXIgYXYgZGV0dGEgbFx1MDBlNGdlLiIsCiJVbmRlcmxpbmUiOiAiVW5kZXJzdHJ1a2VuIiwKIkNhbmNlbCI6ICJBdmJyeXQiLAoiSnVzdGlmeSI6ICJKdXN0ZXJhIiwKIklubGluZSI6ICJJbmxpbmUiLAoiQ29weSI6ICJLb3BpZXJhIiwKIkFsaWduIGxlZnQiOiAiVlx1MDBlNG5zdGVyc3RcdTAwZTRsbCIsCiJWaXN1YWwgYWlkcyI6ICJWaXN1ZWxsYSBoalx1MDBlNGxwbWVkZWwiLAoiTG93ZXIgR3JlZWsiOiAiR3Jla2lza2EgZ2VtZW5lciIsCiJTcXVhcmUiOiAiRnlya2FudCIsCiJEZWZhdWx0IjogIk9yaWdpbmFsIiwKIkxvd2VyIEFscGhhIjogIkdlbWVuZXIiLAoiQ2lyY2xlIjogIkNpcmtlbCIsCiJEaXNjIjogIkRpc2siLAoiVXBwZXIgQWxwaGEiOiAiVmVyc2FsZXIiLAoiVXBwZXIgUm9tYW4iOiAiUm9tZXJza2EgdmVyc2FsZXIiLAoiTG93ZXIgUm9tYW4iOiAiUm9tZXJza2EgZ2VtZW5lciIsCiJOYW1lIjogIk5hbW4iLAoiQW5jaG9yIjogIkFua2FyZSIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIkR1IGhhciBmXHUwMGY2clx1MDBlNG5kcmluZ2FyIHNvbSBkdSBpbnRlIGhhciBzcGFyYXQuIFx1MDBjNHIgZHUgc1x1MDBlNGtlciBwXHUwMGU1IGF0dCBkdSB2aWxsIG5hdmlnZXJhIHZpZGFyZT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDBjNXRlcnN0XHUwMGU0bGwgc2VuYXN0ZSB1dGthc3QiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiU3BlY2lhbHRlY2tlbiIsCiJTb3VyY2UgY29kZSI6ICJLXHUwMGU0bGxrb2QiLAoiQiI6ICJCIiwKIlIiOiAiUiIsCiJHIjogIkciLAoiQ29sb3IiOiAiRlx1MDBlNHJnIiwKIlJpZ2h0IHRvIGxlZnQiOiAiSFx1MDBmNmdlciB0aWxsIHZcdTAwZTRuc3RlciIsCiJMZWZ0IHRvIHJpZ2h0IjogIlZcdTAwZTRuc3RlciB0aWxsIGhcdTAwZjZnZXIiLAoiRW1vdGljb25zIjogIkVtb3RpY29ucyIsCiJSb2JvdHMiOiAiUm9ib3RhciIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIkRva3VtZW50ZWdlbnNrYXBlciIsCiJUaXRsZSI6ICJUaXRlbCIsCiJLZXl3b3JkcyI6ICJOeWNrZWxvcmQiLAoiRW5jb2RpbmciOiAiRW5jb2RpbmciLAoiRGVzY3JpcHRpb24iOiAiQmVza3Jpdm5pbmciLAoiQXV0aG9yIjogIkZcdTAwZjZyZmF0dGFyZSIsCiJGdWxsc2NyZWVuIjogIkZ1bGxza1x1MDBlNHJtIiwKIkhvcml6b250YWwgbGluZSI6ICJIb3Jpc29udGVsbCBsaW5qZSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIkhvcmlzb250ZWxsdCB1dHJ5bW1lIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJJbmZvZ2FcL3JlZGlnZXJhIGJpbGQiLAoiR2VuZXJhbCI6ICJHZW5lcmVsbGEiLAoiQWR2YW5jZWQiOiAiQXZhbmNlcmF0IiwKIlNvdXJjZSI6ICJLXHUwMGU0bGxhIiwKIkJvcmRlciI6ICJSYW0iLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkJlZ3JcdTAwZTRuc2EgcHJvcG9ydGlvbmVyIiwKIlZlcnRpY2FsIHNwYWNlIjogIlZlcnRpa2FsdHV0cnltbWUiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiQmlsZGJlc2tyaXZuaW5nIiwKIlN0eWxlIjogIlN0aWwiLAoiRGltZW5zaW9ucyI6ICJEaW1lbnNpb25lciIsCiJJbnNlcnQgaW1hZ2UiOiAiSW5mb2dhIGJpbGQiLAoiWm9vbSBpbiI6ICJab29tYSBpbiIsCiJDb250cmFzdCI6ICJLb250cmFzdCIsCiJCYWNrIjogIlRpbGxiYWthIiwKIkdhbW1hIjogIkdhbW1hIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlNwZWdlbHZcdTAwZTRuZCBob3Jpc29udGVsbHQiLAoiUmVzaXplIjogIlNrYWxhIG9tIiwKIlNoYXJwZW4iOiAiU2tcdTAwZTRycGEiLAoiWm9vbSBvdXQiOiAiWm9vbWEgdXQiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJCaWxkIGluc3RcdTAwZTRsbG5pbmdhciIsCiJBcHBseSI6ICJBcHBsaWNlcmEiLAoiQnJpZ2h0bmVzcyI6ICJManVzc3R5cmthIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiUm90ZXJhIG1lZHVycyIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJSb3RlcmEgbW90dXJzIiwKIkVkaXQgaW1hZ2UiOiAiUmVkaWdlcmEgYmlsZCIsCiJDb2xvciBsZXZlbHMiOiAiRlx1MDBlNHJnbml2XHUwMGU1ZXIiLAoiQ3JvcCI6ICJCZXNrXHUwMGU0ciIsCiJPcmllbnRhdGlvbiI6ICJPcmllbnRlcmEiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlNwZWdlbHZcdTAwZTRuZCB2ZXJ0aWthbHQiLAoiSW52ZXJ0IjogIkludmVydGVyYSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJJbmZvZ2EgZGF0dW1cL3RpZCIsCiJSZW1vdmUgbGluayI6ICJUYSBib3J0IGxcdTAwZTRuayIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJUZXh0IGF0dCB2aXNhIiwKIkFuY2hvcnMiOiAiQm9rbVx1MDBlNHJrZW4iLAoiSW5zZXJ0IGxpbmsiOiAiSW5mb2dhIGxcdTAwZTRuayIsCiJOZXcgd2luZG93IjogIk55dHQgZlx1MDBmNm5zdGVyIiwKIk5vbmUiOiAiSW5nZW4iLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlVybGVuIGR1IGFuZ2F2IHZlcmthciB2YXJhIGVuIGV4dGVybiBsXHUwMGU0bmsuIFZpbGwgZHUgbFx1MDBlNGdnYSB0aWxsIGh0dHA6XC9cLyBwcmVmaXhldD8iLAoiVGFyZ2V0IjogIk1cdTAwZTVsIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVXJsZW4gZHUgYW5nYXYgdmVya2FyIHZhcmEgZW4gZXBvc3QgYWRyZXNzLiBWaWxsIGR1IGxcdTAwZTRnZ2EgdGlsbCBldHQgbWFpbHRvOiBwcmVmaXg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkluZm9nYVwvcmVkaWdlcmEgbFx1MDBlNG5rIiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJJbmZvZ2FcL3JlZGlnZXJhIHZpZGVvIiwKIlBvc3RlciI6ICJBZmZpc2giLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aXYga1x1MDBlNGxsYSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIktsaXN0cmEgaW4gZGluIGluYlx1MDBlNGRkbmluZ3Nrb2QgbmVkYW46IiwKIkluc2VydCB2aWRlbyI6ICJJbmZvZ2EgdmlkZW8iLAoiRW1iZWQiOiAiSW5iXHUwMGU0ZGRuaW5nIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkF2YnJvdHRzZnJpdHQgbWVsbGFucnVtIiwKIlBhZ2UgYnJlYWsiOiAiU3lkYnJ5dG5pbmciLAoiUGFzdGUgYXMgdGV4dCI6ICJLbGlzdHJhIGluIHNvbSB0ZXh0IiwKIlByZXZpZXciOiAiRlx1MDBmNnJoYW5kc2dyYW5za2EiLAoiUHJpbnQiOiAiU2tyaXYgdXQiLAoiU2F2ZSI6ICJTcGFyYSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiS3VuZGUgaW50ZSBoaXR0YSBkZW4gc3BlY2lmaWVyYWRlIHN0XHUwMGU0bmdlbi4iLAoiUmVwbGFjZSI6ICJFcnNcdTAwZTR0dCIsCiJOZXh0IjogIk5cdTAwZTRzdGEiLAoiV2hvbGUgd29yZHMiOiAiSGVsYSBvcmQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJTXHUwMGY2ayBvY2ggZXJzXHUwMGU0dHQiLAoiUmVwbGFjZSB3aXRoIjogIkVyc1x1MDBlNHR0IG1lZCIsCiJGaW5kIjogIlNcdTAwZjZrIiwKIlJlcGxhY2UgYWxsIjogIkVyc1x1MDBlNHR0IGFsbGEiLAoiTWF0Y2ggY2FzZSI6ICJNYXRjaGEgZ2VtZW5lclwvdmVyc2FsZXIiLAoiUHJldiI6ICJGXHUwMGY2cmVnXHUwMGU1ZW5kZSIsCiJTcGVsbGNoZWNrIjogIlJcdTAwZTR0dHN0YXZhIiwKIkZpbmlzaCI6ICJBdnNsdXRhIiwKIklnbm9yZSBhbGwiOiAiSWdub3JlcmEgYWxsYSIsCiJJZ25vcmUiOiAiSWdub3JlcmEiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiTFx1MDBlNGdnIHRpbGwgaSBvcmRsaXN0YSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJJbmZvZ2EgcmFkIGZcdTAwZjZyZSIsCiJSb3dzIjogIlJhZGVyIiwKIkhlaWdodCI6ICJIXHUwMGY2amQiLAoiUGFzdGUgcm93IGFmdGVyIjogIktsaXN0cmEgaW4gcmFkIGVmdGVyIiwKIkFsaWdubWVudCI6ICJKdXN0ZXJpbmciLAoiQm9yZGVyIGNvbG9yIjogIlJhbWZcdTAwZTRyZyIsCiJDb2x1bW4gZ3JvdXAiOiAiS29sdW1uZ3J1cHAiLAoiUm93IjogIlJhZCIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJJbmZvZ2Ega29sdW1uIGZcdTAwZjZyZSIsCiJTcGxpdCBjZWxsIjogIkJyeXQgaXNcdTAwZTRyIGNlbGxlciIsCiJDZWxsIHBhZGRpbmciOiAiQ2VsbHBhZGRuaW5nIiwKIkNlbGwgc3BhY2luZyI6ICJDZWxsbWVsbGFucnVtIiwKIlJvdyB0eXBlIjogIlJhZHR5cCIsCiJJbnNlcnQgdGFibGUiOiAiSW5mb2dhIHRhYmVsbCIsCiJCb2R5IjogIktyb3BwIiwKIkNhcHRpb24iOiAiUnVicmlrIiwKIkZvb3RlciI6ICJGb3QiLAoiRGVsZXRlIHJvdyI6ICJSYWRlcmEgcmFkIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiS2xpc3RhIGluIHJhZCBmXHUwMGY2cmUiLAoiU2NvcGUiOiAiT21mXHUwMGU1bmciLAoiRGVsZXRlIHRhYmxlIjogIlJhZGVyYSB0YWJlbGwiLAoiSCBBbGlnbiI6ICJILWp1c3RlcmluZyIsCiJUb3AiOiAiVG9wcGVuIiwKIkhlYWRlciBjZWxsIjogIkh1dnVkY2VsbCIsCiJDb2x1bW4iOiAiS29sdW1uIiwKIlJvdyBncm91cCI6ICJSYWRncnVwcCIsCiJDZWxsIjogIkNlbGwiLAoiTWlkZGxlIjogIk1pdHRlbiIsCiJDZWxsIHR5cGUiOiAiQ2VsbHR5cCIsCiJDb3B5IHJvdyI6ICJLb3BpZXJhIHJhZCIsCiJSb3cgcHJvcGVydGllcyI6ICJSYWRlZ2Vuc2thcGVyIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGFiZWxsZWdlbnNrYXBlciIsCiJCb3R0b20iOiAiQm90dGVuIiwKIlYgQWxpZ24iOiAiVi1qdXN0ZXJpbmciLAoiSGVhZGVyIjogIkh1dnVkIiwKIlJpZ2h0IjogIkhcdTAwZjZnZXIiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJJbmZvZ2Ega29sdW1uIGVmdGVyIiwKIkNvbHMiOiAiS29sdW1uZXIiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJJbmZvZ2EgcmFkIGVmdGVyIiwKIldpZHRoIjogIkJyZWRkIiwKIkNlbGwgcHJvcGVydGllcyI6ICJDZWxsZWdlbnNrYXBlciIsCiJMZWZ0IjogIlZcdTAwZTRuc3RlciIsCiJDdXQgcm93IjogIktsaXBwIHV0IHJhZCIsCiJEZWxldGUgY29sdW1uIjogIlJhZGVyYSBrb2x1bW4iLAoiQ2VudGVyIjogIkNlbnRydW0iLAoiTWVyZ2UgY2VsbHMiOiAiU2FtbWFuZm9nYSBjZWxsZXIiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIkluZm9nYSBtYWxsIiwKIlRlbXBsYXRlcyI6ICJNYWxsYXIiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJCYWtncnVuZHNmXHUwMGU0cmciLAoiQ3VzdG9tLi4uIjogIkFucGFzc2FkLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJBbnBhc3NhZCBmXHUwMGU0cmciLAoiTm8gY29sb3IiOiAiSW5nZW4gZlx1MDBlNHJnIiwKIlRleHQgY29sb3IiOiAiVGV4dGZcdTAwZTRyZyIsCiJTaG93IGJsb2NrcyI6ICJWaXNhIGJsb2NrIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiVmlzYSBvbnN5bmxpZ2EgdGVja2VuIiwKIldvcmRzOiB7MH0iOiAiT3JkOiB7MH0iLAoiSW5zZXJ0IjogIkluZm9nYSIsCiJGaWxlIjogIkZpbCIsCiJFZGl0IjogIlJlZGlnZXJhIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlRleHRyZWRpZ2VyYXJlLiBUcnljayBBTFQtRjkgZlx1MDBmNnIgbWVueW4uIFRyeWNrIEFMVC1GMTAgZlx1MDBmNnIgdmVya3R5Z3NyYWRlci4gVHJ5Y2sgQUxULTAgZlx1MDBmNnIgaGpcdTAwZTRscC4iLAoiVG9vbHMiOiAiVmVya3R5ZyIsCiJWaWV3IjogIlZpc2EiLAoiVGFibGUiOiAiVGFiZWxsIiwKIkZvcm1hdCI6ICJGb3JtYXQiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ta.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0YScsewoiQ3V0IjogIlx1MGJiNVx1MGJjNlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJIZWFkaW5nIDUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDUiLAoiSGVhZGVyIDIiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwYmE4XHUwYjk1XHUwYmIyXHUwYjk1XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmIxXHUwYmNkXHUwYjk1XHUwYmMxIFx1MGJhOFx1MGJjN1x1MGJiMFx1MGI5Zlx1MGJiZiBcdTBiODVcdTBiYTNcdTBiYzFcdTBiOTVcdTBiYjJcdTBiYzggXHUwYmE0XHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiMlx1MGJiZVx1MGJiNVx1MGJiZiBcdTBiODZcdTBiYTRcdTBiYjBcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYjVcdTBiYmZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzguIFx1MGI4Nlx1MGI5NVx1MGJiNVx1MGJjNyBcdTBiYjVcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYjJcdTBiOTVcdTBiYzggXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYmI1XHUwYmI0XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmJlXHUwYmE5IEN0cmwrWFwvQ1wvViBcdTBiODdcdTBiYjVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzggXHUwYmE0XHUwYmFmXHUwYmI1XHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJjZFx1MGJhNFx1MGJjMSBcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiOTUuIiwKIkhlYWRpbmcgNCI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgNCIsCiJEaXYiOiAiXHUwYmFhXHUwYmJmXHUwYmIwXHUwYmJmXHUwYmI1XHUwYmMxIChEaXYpIiwKIkhlYWRpbmcgMiI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMiIsCiJQYXN0ZSI6ICJcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiQ2xvc2UiOiAiXHUwYmFlXHUwYmMyXHUwYjlmXHUwYmMxXHUwYjk1IiwKIkZvbnQgRmFtaWx5IjogIlx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJiMFx1MGJjMSBcdTBiOTVcdTBiYzFcdTBiOWZcdTBiYzFcdTBiYWVcdTBiY2RcdTBiYWFcdTBiYWVcdTBiY2QiLAoiUHJlIjogIlx1MGJhZVx1MGJjMVx1MGJhOVx1MGJjZCBcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYWVcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYTRcdTBiYzEgKFByZSkiLAoiQWxpZ24gcmlnaHQiOiAiXHUwYmI1XHUwYmIyXHUwYmE0XHUwYmMxIFx1MGI5YVx1MGJjMFx1MGJiMFx1MGJhZVx1MGJjOCIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwYmFhXHUwYmMxXHUwYmE0XHUwYmJmXHUwYmFmIFx1MGI4Nlx1MGJiNVx1MGJhM1x1MGJhZVx1MGJjZCIsCiJCbG9ja3F1b3RlIjogIlx1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGJhNFx1MGJiZiBcdTBiYWVcdTBiYzdcdTBiYjFcdTBiY2RcdTBiOTVcdTBiY2JcdTBiYjNcdTBiY2QiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTBiOGVcdTBiYTNcdTBiY2RcdTBiYTNcdTBiYmZcdTBiOWZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmJmXHUwYmFmXHUwYmIyXHUwYmNkIiwKIkhlYWRpbmcgMSI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMSIsCiJIZWFkaW5ncyI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MGI4OVx1MGJiM1x1MGJjZFx1MGJhNFx1MGJiM1x1MGJjZFx1MGJiM1x1MGJjMVx1MGJhNFx1MGJiMlx1MGJjOCBcdTBiODVcdTBiYTRcdTBiYmZcdTBiOTVcdTBiYjBcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiRm9ybWF0cyI6ICJcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYWVcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiSGVhZGVycyI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiU2VsZWN0IGFsbCI6ICJcdTBiODVcdTBiYTlcdTBiYzhcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzhcdTBiYWZcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYmE0XHUwYmM3XHUwYmIwXHUwYmNkXHUwYmI1XHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJjZFx1MGI5NSIsCiJIZWFkZXIgMyI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMyIsCiJCbG9ja3MiOiAiXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYmE0XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIlVuZG8iOiAiXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmIyXHUwYmM4IFx1MGJhOFx1MGJjMFx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMVx1MGI5NSIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MGJhOFx1MGI5Zlx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjYlx1MGI5Zlx1MGJjMSIsCiJCdWxsZXQgbGlzdCI6ICJcdTBiYWFcdTBiY2FcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmZcdTBiOWZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWYgIFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiMlx1MGJjZCIsCiJIZWFkZXIgMSI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTBiYWVcdTBiYzdcdTBiYjJcdTBiY2RcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYWVcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzggXHUwYjg1XHUwYmI0XHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkZvbnQgU2l6ZXMiOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmMxIFx1MGI4NVx1MGJiM1x1MGJiNVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJTdWJzY3JpcHQiOiAiXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmNkXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxIiwKIkhlYWRlciA2IjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSA2IiwKIlJlZG8iOiAiXHUwYmFlXHUwYmMwXHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJjZFx1MGI5NSIsCiJQYXJhZ3JhcGgiOiAiXHUwYmFhXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmIiwKIk9rIjogIlx1MGI5YVx1MGJiMFx1MGJiZiIsCiJCb2xkIjogIlx1MGJhNFx1MGI5Zlx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJDb2RlIjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJjMFx1MGI5Zlx1MGJjMSIsCiJJdGFsaWMiOiAiXHUwYjlhXHUwYmJlXHUwYmFmXHUwYmNkXHUwYmI1XHUwYmMxIiwKIkFsaWduIGNlbnRlciI6ICJcdTBiYWVcdTBiYzhcdTBiYWYgXHUwYjlhXHUwYmMwXHUwYmIwXHUwYmFlXHUwYmM4IiwKIkhlYWRlciA1IjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSA1IiwKIkhlYWRpbmcgNiI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgNiIsCiJIZWFkaW5nIDMiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MGI4OVx1MGJiM1x1MGJjZFx1MGJhNFx1MGJiM1x1MGJjZFx1MGJiM1x1MGJjMVx1MGJhNFx1MGJiMlx1MGJjOCBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTUiLAoiSGVhZGVyIDQiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MGI4N1x1MGJhZlx1MGJiMlx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiODlcdTBiYjBcdTBiYzggXHUwYmFlXHUwYmMxXHUwYmIxXHUwYmM4XHUwYmFlXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJiMVx1MGJjZFx1MGJhYVx1MGJjYlx1MGJhNFx1MGJjMSBcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmE0XHUwYmMxLiBcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg3XHUwYmE4XHUwYmNkXHUwYmE0IFx1MGJiNVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjOCBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmM4IFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGI5Zlx1MGI5NVx1MGJjZFx1MGI5NVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiODdcdTBiYWZcdTBiYjJcdTBiY2RcdTBiYWFcdTBiYzEgXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJlXHUwYjk1IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJjZC4iLAoiVW5kZXJsaW5lIjogIlx1MGI4NVx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjYlx1MGI5Zlx1MGJjMSIsCiJDYW5jZWwiOiAiXHUwYmIwXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJjZFx1MGI5NSIsCiJKdXN0aWZ5IjogIlx1MGJhOFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZiBcdTBiOWFcdTBiYzZcdTBiYWZcdTBiY2RcdTBiOTUiLAoiSW5saW5lIjogIlx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCIsCiJDb3B5IjogIlx1MGJhOFx1MGI5NVx1MGJiMlx1MGJjNlx1MGI5Zlx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NSIsCiJBbGlnbiBsZWZ0IjogIlx1MGI4N1x1MGI5Zlx1MGJhNFx1MGJjMSBcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiVmlzdWFsIGFpZHMiOiAiXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlhXHUwYmJmXHUwYmE0XHUwYmNkIFx1MGJhNFx1MGJjMVx1MGJhM1x1MGJjOFx1MGJhZlx1MGJhOVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJMb3dlciBHcmVlayI6ICJcdTBiOTVcdTBiYzBcdTBiYjRcdTBiY2QgXHUwYjk1XHUwYmJmXHUwYmIwXHUwYmM3XHUwYjk1XHUwYmNkXHUwYjk1XHUwYmFlXHUwYmNkIiwKIlNxdWFyZSI6ICJcdTBiOWFcdTBiYTRcdTBiYzFcdTBiYjBcdTBiYWVcdTBiY2QiLAoiRGVmYXVsdCI6ICJcdTBiODlcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiTG93ZXIgQWxwaGEiOiAiXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmNkIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMSIsCiJDaXJjbGUiOiAiXHUwYmI1XHUwYjlmXHUwYmNkXHUwYjlmXHUwYmFlXHUwYmNkIiwKIkRpc2MiOiAiXHUwYmI1XHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxIiwKIlVwcGVyIEFscGhhIjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZCBcdTBiOGVcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiVXBwZXIgUm9tYW4iOiAiXHUwYmFlXHUwYmM3XHUwYmIyXHUwYmNkIFx1MGJiMFx1MGJjYlx1MGJhZVx1MGJiZVx1MGJhOVx1MGJiZlx1MGJhZlx1MGJhZVx1MGJjZCIsCiJMb3dlciBSb21hbiI6ICJcdTBiOTVcdTBiYzBcdTBiYjRcdTBiY2QgXHUwYmIwXHUwYmNiXHUwYmFlXHUwYmJlXHUwYmE5XHUwYmJmXHUwYmFmXHUwYmFlXHUwYmNkIiwKIk5hbWUiOiAiXHUwYmFhXHUwYmM2XHUwYmFmXHUwYmIwXHUwYmNkIiwKIkFuY2hvciI6ICJcdTBiYThcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYzJcdTBiYjBcdTBiYWVcdTBiY2QiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTBiOWFcdTBiYzdcdTBiYWVcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYmVcdTBiYTQgXHUwYmFlXHUwYmJlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGJhOTsgXHUwYmE0XHUwYmJlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiMVx1MGJjMVx1MGJhNFx1MGJiZlx1MGJhZlx1MGJiZVx1MGI5NSBcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmZcdTBiYWZcdTBiYzdcdTBiYjEgXHUwYmI1XHUwYmJmXHUwYmIwXHUwYmMxXHUwYmFlXHUwYmNkXHUwYmFhXHUwYmMxXHUwYjk1XHUwYmJmXHUwYmIxXHUwYmMwXHUwYmIwXHUwYmNkXHUwYjk1XHUwYmJlXHUwYmIzXHUwYmJlPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwYjk1XHUwYjlmXHUwYmE4XHUwYmNkXHUwYmE0IFx1MGJiNVx1MGJiMFx1MGJjOFx1MGJiNVx1MGJjOCBcdTBiYWVcdTBiYzBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzZcdTBiOWZcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJiMFx1MGJjMSIsCiJTb3VyY2UgY29kZSI6ICJcdTBiYWVcdTBiYzJcdTBiYjIgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYmFmXHUwYmMwXHUwYjlmXHUwYmMxIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MGJiNVx1MGJiMlx1MGJhZVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjMSBcdTBiODdcdTBiOWZcdTBiYWVcdTBiY2QiLAoiTGVmdCB0byByaWdodCI6ICJcdTBiODdcdTBiOWZcdTBiYWVcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYThcdTBiY2RcdTBiYTRcdTBiYzEgXHUwYmI1XHUwYmIyXHUwYmFlXHUwYmNkIiwKIkVtb3RpY29ucyI6ICJcdTBiODlcdTBiYTNcdTBiYjBcdTBiY2RcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYmZcdTBiYWVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiUm9ib3RzIjogIlx1MGJhYVx1MGJjYVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJhOVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCAoUm9ib3RzKSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MGI4Nlx1MGJiNVx1MGJhM1x1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGJhOVx1MGJjZCBcdTBiYWFcdTBiYTNcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiVGl0bGUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIktleXdvcmRzIjogIlx1MGJhZVx1MGJjMVx1MGJhNFx1MGJhOVx1MGJjZFx1MGJhZVx1MGJjOFx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjYVx1MGJiMVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJFbmNvZGluZyI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiYmVcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWVcdTBiY2QiLAoiRGVzY3JpcHRpb24iOiAiXHUwYmI1XHUwYmJmXHUwYmI1XHUwYmIwXHUwYmFlXHUwYmNkIiwKIkF1dGhvciI6ICJcdTBiOGVcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmVcdTBiYjNcdTBiYjBcdTBiY2QiLAoiRnVsbHNjcmVlbiI6ICJcdTBiYWVcdTBiYzFcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiYjBcdTBiYzgiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MGI5NVx1MGJiZlx1MGI5Zlx1MGJjOCBcdTBiOTVcdTBiY2JcdTBiOWZcdTBiYzEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTBiOTVcdTBiYmZcdTBiOWZcdTBiYzhcdTBiYWVcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjg3XHUwYjlmXHUwYmM4XHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTBiYWFcdTBiOWZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1XC9cdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiR2VuZXJhbCI6ICJcdTBiYWFcdTBiY2FcdTBiYTRcdTBiYzEiLAoiQWR2YW5jZWQiOiAiXHUwYmFlXHUwYmM3XHUwYmFlXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmE0XHUwYmMxIiwKIlNvdXJjZSI6ICJcdTBiYWVcdTBiYzJcdTBiYjJcdTBiYWVcdTBiY2QiLAoiQm9yZGVyIjogIlx1MGI5NVx1MGJiMFx1MGJjOCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwYmI1XHUwYmJmXHUwYjk1XHUwYmJmXHUwYmE0XHUwYmJlXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmJlXHUwYmIwXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmIyXHUwYmNkIFx1MGI5NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYTRcdTBiYjMgXHUwYjg3XHUwYjlmXHUwYmM4XHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGJhYVx1MGI5ZiBcdTBiYjVcdTBiYmZcdTBiYjVcdTBiYjBcdTBiYWVcdTBiY2QiLAoiU3R5bGUiOiAiXHUwYmFhXHUwYmJlXHUwYmEzXHUwYmJmIiwKIkRpbWVuc2lvbnMiOiAiXHUwYmFhXHUwYmIwXHUwYmJmXHUwYmFlXHUwYmJlXHUwYmEzXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkluc2VydCBpbWFnZSI6ICJcdTBiYWFcdTBiOWZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIlpvb20gaW4iOiAiXHUwYmFhXHUwYmM2XHUwYmIwXHUwYmJmXHUwYmE0XHUwYmJlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIiwKIkNvbnRyYXN0IjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjMVx1MGJhYVx1MGJiZVx1MGI5Zlx1MGJjMSIsCiJCYWNrIjogIlx1MGJhYVx1MGJiZlx1MGJhOVx1MGJjZCIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTBiOTVcdTBiYmZcdTBiOWZcdTBiYzhcdTBiYWVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYWVcdTBiYmVcdTBiOTUgXHUwYmFhXHUwYmMxXHUwYmIwXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxIiwKIlJlc2l6ZSI6ICJcdTBiYWVcdTBiYjFcdTBiYzFcdTBiODVcdTBiYjNcdTBiYjVcdTBiYmZcdTBiOWZcdTBiYzEiLAoiU2hhcnBlbiI6ICJcdTBiOTVcdTBiYzJcdTBiYjBcdTBiY2RcdTBiYWVcdTBiYzhcdTBiYWZcdTBiYmVcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEiLAoiWm9vbSBvdXQiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmJmXHUwYmE0XHUwYmJlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIiwKIkltYWdlIG9wdGlvbnMiOiAiXHUwYmFhXHUwYjlmIFx1MGJiNVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJBcHBseSI6ICJcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiQnJpZ2h0bmVzcyI6ICJcdTBiOTJcdTBiYjNcdTBiYmZcdTBiYjBcdTBiY2RcdTBiYjVcdTBiYzEiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTBiOTVcdTBiOWZcdTBiYmZcdTBiOTVcdTBiYmVcdTBiYjBcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjlhXHUwYmMxXHUwYmI0XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlx1MGI5NVx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJiZVx1MGJiMCBcdTBiOGVcdTBiYTRcdTBiYmZcdTBiYjBcdTBiY2RcdTBiYTRcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjlhXHUwYmMxXHUwYmI0XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxIiwKIkVkaXQgaW1hZ2UiOiAiXHUwYmFhXHUwYjlmXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4IFx1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMSIsCiJDb2xvciBsZXZlbHMiOiAiXHUwYmI1XHUwYmEzXHUwYmNkXHUwYmEzIFx1MGJhOFx1MGJiZlx1MGJiMlx1MGJjOFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJDcm9wIjogIlx1MGI5YVx1MGJjNlx1MGJhNFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJPcmllbnRhdGlvbiI6ICJcdTBiYTRcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYWVcdTBiYzhcdTBiYjVcdTBiYzEiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MGI5YVx1MGJjNlx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZVx1MGI5NSBcdTBiYWFcdTBiYzFcdTBiYjBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzEiLAoiSW52ZXJ0IjogIlx1MGJhOFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTBiYTRcdTBiYzdcdTBiYTRcdTBiYmZcL1x1MGJhOFx1MGJjN1x1MGJiMFx1MGJhZVx1MGJjZCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmM4IFx1MGI4NVx1MGI5NVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJVcmwiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFmXHUwYmFlXHUwYmMxXHUwYjk1XHUwYmI1XHUwYmIwXHUwYmJmIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTBiOTVcdTBiYmVcdTBiOWZcdTBiY2RcdTBiOWFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTQgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmJmXHUwYmFmIFx1MGI4OVx1MGJiMFx1MGJjOCIsCiJBbmNob3JzIjogIlx1MGJhOFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMlx1MGJiMFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJJbnNlcnQgbGluayI6ICJcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIk5ldyB3aW5kb3ciOiAiXHUwYmFhXHUwYmMxXHUwYmE0XHUwYmJmXHUwYmFmIFx1MGI5YVx1MGJiZVx1MGJiM1x1MGJiMFx1MGJhZVx1MGJjZCIsCiJOb25lIjogIlx1MGI4Zlx1MGJhNFx1MGJjMVx1MGJhZVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwYmE0XHUwYmJlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGJiZlx1MGI5Zlx1MGJjZFx1MGI5ZiBcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWZcdTBiYWVcdTBiYzFcdTBiOTVcdTBiYjVcdTBiYjBcdTBiYmYgKFVSTCkgXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGJiNVx1MGJjNlx1MGJiM1x1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMVx1MGJiMSBcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgKGV4dGVybmFsIGxpbmspIFx1MGJhYVx1MGJjYlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiY2JcdTBiYTlcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTVcdTBiYmZcdTBiYjFcdTBiYTRcdTBiYzEuIFx1MGJhNFx1MGJjN1x1MGJiNVx1MGJjOFx1MGJhZlx1MGJiZVx1MGJhOSBodHRwOlwvXC8gXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkLVx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjOFx1MGJhNFx1MGJjZCAocHJlZml4KSBcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjlhXHUwYmM3XHUwYmIwXHUwYmNkXHUwYjk1XHUwYmNkXHUwYjk1IFx1MGJiNVx1MGJjN1x1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJiZT8iLAoiVGFyZ2V0IjogIlx1MGI4N1x1MGJiMlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MGJhNFx1MGJiZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiODlcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFmXHUwYmFlXHUwYmMxXHUwYjk1XHUwYmI1XHUwYmIwXHUwYmJmIChVUkwpIFx1MGI5Mlx1MGJiMFx1MGJjMSBcdTBiYWVcdTBiYmZcdTBiYTlcdTBiY2QtXHUwYjg1XHUwYjllXHUwYmNkXHUwYjlhXHUwYmIyXHUwYmNkIFx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiBcdTBiYWFcdTBiY2JcdTBiYjJcdTBiY2QgXHUwYmE0XHUwYmNiXHUwYmE5XHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1XHUwYmJmXHUwYmIxXHUwYmE0XHUwYmMxLiBcdTBiYTRcdTBiYzdcdTBiYjVcdTBiYzhcdTBiYWZcdTBiYmVcdTBiYTkgbWFpbHRvOiBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QtXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmM4XHUwYmE0XHUwYmNkIChwcmVmaXgpIFx1MGJhNFx1MGJiZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiOWFcdTBiYzdcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmJlPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1XC9cdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MGI5NVx1MGJiZVx1MGJhM1x1MGJjYVx1MGJiM1x1MGJiZlx1MGJhZlx1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTVcL1x1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NSIsCiJQb3N0ZXIiOiAiXHUwYjlhXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmNhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmJmIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzEgXHUwYmFlXHUwYmMyXHUwYmIyXHUwYmFlXHUwYmNkIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwYmE0XHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGI5Zlx1MGJjZFx1MGJhYVx1MGJjNlx1MGJiZVx1MGJhNFx1MGJiZiBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzggXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmM3IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJjMVx1MGJhZVx1MGJjZDoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MGI5NVx1MGJiZVx1MGJhM1x1MGJjYVx1MGJiM1x1MGJiZlx1MGJhZlx1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiRW1iZWQiOiAiXHUwYjg5XHUwYjlmXHUwYmNkXHUwYmFhXHUwYmNhXHUwYmE0XHUwYmJmIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MGJhYVx1MGJiZlx1MGJiMFx1MGJiZlx1MGJhZlx1MGJiZVx1MGJhNCBcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmYiLAoiUGFnZSBicmVhayI6ICJcdTBiYWFcdTBiOTVcdTBiY2RcdTBiOTUgXHUwYmFhXHUwYmJmXHUwYmIwXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJlXHUwYjk1IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJQcmV2aWV3IjogIlx1MGJhZVx1MGJjMVx1MGJhOVx1MGJjZFx1MGJhOFx1MGJjYlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJQcmludCI6ICJcdTBiODVcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiOWZcdTBiYzFcdTBiOTUiLAoiU2F2ZSI6ICJcdTBiOWFcdTBiYzdcdTBiYWVcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJiZlx1MGI5Zlx1MGJjZFx1MGI5ZiBcdTBiOWFcdTBiYjBcdTBiYWVcdTBiY2QgXHUwYjk1XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFhXHUwYmJmXHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IFx1MGJhZVx1MGJjMVx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiNVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJSZXBsYWNlIjogIlx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJOZXh0IjogIlx1MGI4NVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNCIsCiJXaG9sZSB3b3JkcyI6ICJcdTBiYWVcdTBiYzFcdTBiYjRcdTBiYzEgXHUwYjlhXHUwYmNhXHUwYmIxXHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwYjk1XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFhXHUwYmJmXHUwYjlmXHUwYmJmXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxIFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwYjg3XHUwYmE0XHUwYmE5XHUwYmMxXHUwYjlmXHUwYmE5XHUwYmNkIFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJGaW5kIjogIlx1MGI5NVx1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJiZlx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJSZXBsYWNlIGFsbCI6ICJcdTBiODVcdTBiYTlcdTBiYzhcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzhcdTBiYWZcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYmFlXHUwYmJlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1IiwKIk1hdGNoIGNhc2UiOiAiXHUwYmI1XHUwYjlmXHUwYmJmXHUwYmI1XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4IFx1MGJhYVx1MGJjYVx1MGJiMFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NSIsCiJQcmV2IjogIlx1MGJhZVx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjOFx1MGJhZiIsCiJTcGVsbGNoZWNrIjogIlx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJiZlx1MGJiNFx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiOWFcdTBiYjBcdTBiYmZcdTBiYWFcdTBiYmVcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUiLAoiRmluaXNoIjogIlx1MGJhZVx1MGJjMVx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJJZ25vcmUgYWxsIjogIlx1MGI4NVx1MGJhOVx1MGJjOFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjOFx1MGJhZlx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiYWFcdTBiYzFcdTBiYjFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYTNcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiSWdub3JlIjogIlx1MGJhYVx1MGJjMVx1MGJiMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhM1x1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTBiODVcdTBiOTVcdTBiYjBcdTBiYmVcdTBiYTRcdTBiYmZcdTBiYWZcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjlhXHUwYmM3XHUwYmIwXHUwYmNkXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MGI4N1x1MGJhNFx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjMSBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJSb3dzIjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJIZWlnaHQiOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmFlXHUwYmNkIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFhXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiQWxpZ25tZW50IjogIlx1MGI5YVx1MGJjMFx1MGJiMFx1MGJhZVx1MGJjOFx1MGJiNVx1MGJjMSIsCiJCb3JkZXIgY29sb3IiOiAiXHUwYjk1XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwYmE4XHUwYmM2XHUwYjlmXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGI5NVx1MGJjMVx1MGJiNFx1MGJjMSIsCiJSb3ciOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MGI4N1x1MGJhNFx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjMSBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QgXHUwYmE4XHUwYmM2XHUwYjlmXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJTcGxpdCBjZWxsIjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJiMVx1MGJjOFx1MGI5NVx1MGJiM1x1MGJjOCBcdTBiYWFcdTBiYmZcdTBiYjBcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJiMVx1MGJjOCBcdTBiYThcdTBiYmZcdTBiYjBcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYjJcdTBiY2QiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJiMVx1MGJjOCBcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmYiLAoiUm93IHR5cGUiOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGJiNVx1MGI5NVx1MGJjOCIsCiJJbnNlcnQgdGFibGUiOiAiXHUwYjg1XHUwYjlmXHUwYmNkXHUwYjlmXHUwYmI1XHUwYmEzXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJCb2R5IjogIlx1MGI4OVx1MGI5Zlx1MGJiMlx1MGJjZCIsCiJDYXB0aW9uIjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJGb290ZXIiOiAiXHUwYjg1XHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkRlbGV0ZSByb3ciOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGJhOFx1MGJjMFx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMVx1MGI5NSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MGI4N1x1MGJhNFx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjMSBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJTY29wZSI6ICJcdTBiYjVcdTBiYjBcdTBiYzhcdTBiYWZcdTBiYzZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzgiLAoiRGVsZXRlIHRhYmxlIjogIlx1MGI4NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJhM1x1MGJjOFx1MGJhZlx1MGJjOCBcdTBiYThcdTBiYzBcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzFcdTBiOTUiLAoiSCBBbGlnbiI6ICJcdTBiOTVcdTBiYmYgKEgpIFx1MGI5YVx1MGJjMFx1MGJiMFx1MGJhZVx1MGJjOCIsCiJUb3AiOiAiXHUwYmFlXHUwYmM3XHUwYmIyXHUwYmNkIiwKIkhlYWRlciBjZWxsIjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzgiLAoiQ29sdW1uIjogIlx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCIsCiJSb3cgZ3JvdXAiOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGI5NVx1MGJjMVx1MGJiNFx1MGJjMSIsCiJDZWxsIjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJiMVx1MGJjOCIsCiJNaWRkbGUiOiAiXHUwYmE4XHUwYjlmXHUwYmMxIiwKIkNlbGwgdHlwZSI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzggXHUwYmI1XHUwYjk1XHUwYmM4IiwKIkNvcHkgcm93IjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiYThcdTBiOTVcdTBiYjJcdTBiYzZcdTBiOWZcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGJhYVx1MGJhM1x1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MGI4NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJhM1x1MGJjOCBcdTBiYWFcdTBiYTNcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiQm90dG9tIjogIlx1MGI5NVx1MGJjMFx1MGJiNFx1MGJjZCIsCiJWIEFsaWduIjogIlx1MGI5YVx1MGJjNiAoVikgXHUwYjlhXHUwYmMwXHUwYmIwXHUwYmFlXHUwYmM4IiwKIkhlYWRlciI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiUmlnaHQiOiAiXHUwYmI1XHUwYmIyXHUwYmFlXHUwYmNkIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwYjg3XHUwYmE0XHUwYmIxXHUwYmNkXHUwYjk1XHUwYmMxIFx1MGJhYVx1MGJiZlx1MGJhOVx1MGJjZCBcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkNvbHMiOiAiXHUwYmE4XHUwYmM2XHUwYjlmXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYjk1XHUwYmIzXHUwYmNkIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwYjg3XHUwYmE0XHUwYmIxXHUwYmNkXHUwYjk1XHUwYmMxIFx1MGJhYVx1MGJiZlx1MGJhOVx1MGJjZCBcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIldpZHRoIjogIlx1MGI4NVx1MGI5NVx1MGJiMlx1MGJhZVx1MGJjZCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IFx1MGJhYVx1MGJhM1x1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJMZWZ0IjogIlx1MGI4N1x1MGI5Zlx1MGJhZVx1MGJjZCIsCiJDdXQgcm93IjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiYjVcdTBiYzZcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYzggXHUwYmE4XHUwYmMwXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkNlbnRlciI6ICJcdTBiYWVcdTBiYzhcdTBiYWZcdTBiYWVcdTBiY2QiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4XHUwYjk1XHUwYmIzXHUwYmM4IFx1MGI5YVx1MGJjN1x1MGJiMFx1MGJjZFx1MGI5NVx1MGJjZFx1MGI5NSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwYmI1XHUwYmJlXHUwYmIwXHUwYmNkXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmIwXHUwYmMxXHUwYmI1XHUwYmM4IFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJUZW1wbGF0ZXMiOiAiXHUwYmI1XHUwYmJlXHUwYmIwXHUwYmNkXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwYmFhXHUwYmJmXHUwYmE5XHUwYmNkXHUwYmE5XHUwYmEzXHUwYmJmIFx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJDdXN0b20uLi4iOiAiXHUwYmE0XHUwYmE5XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmFmXHUwYmE5XHUwYmNkLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTBiYTRcdTBiYTlcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2QgXHUwYmE4XHUwYmJmXHUwYmIxXHUwYmFlXHUwYmNkIiwKIk5vIGNvbG9yIjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCBcdTBiODdcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzgiLAoiVGV4dCBjb2xvciI6ICJcdTBiODlcdTBiYjBcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYTlcdTBiY2QgXHUwYmE4XHUwYmJmXHUwYmIxXHUwYmFlXHUwYmNkIiwKIlNob3cgYmxvY2tzIjogIlx1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGJhNFx1MGJiZlx1MGI5NVx1MGJiM1x1MGJjOCBcdTBiOTVcdTBiYmVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTBiOTVcdTBiYTNcdTBiY2RcdTBiYTNcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzFcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmM2XHUwYmIwXHUwYmJmXHUwYmFmXHUwYmJlXHUwYmE0IFx1MGI4OVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjOCBcdTBiOTVcdTBiYmVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiV29yZHM6IHswfSI6ICJcdTBiOWFcdTBiY2FcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2Q6IHswfSIsCiJJbnNlcnQiOiAiXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkZpbGUiOiAiXHUwYjk1XHUwYmNiXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkVkaXQiOiAiXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MGI4OVx1MGJhZlx1MGJiMFx1MGJjZCBcdTBiODlcdTBiYjBcdTBiYzggXHUwYmFhXHUwYjk1XHUwYmMxXHUwYmE0XHUwYmJmLiBcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEgQUxULUY5ICwgXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmI1XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmM4XHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIEFMVC1GMTAgLCBcdTBiODlcdTBiYTRcdTBiYjVcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEgQUxULTAiLAoiVG9vbHMiOiAiXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmI1XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIlZpZXciOiAiXHUwYmE4XHUwYmNiXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIlRhYmxlIjogIlx1MGI4NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJhM1x1MGJjOCIsCiJGb3JtYXQiOiAiXHUwYmI1XHUwYjlmXHUwYmJmXHUwYmI1XHUwYmFlXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ta_IN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0YV9JTicsewoiQ3V0IjogIlx1MGJiNVx1MGJjNlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJIZWFkaW5nIDUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDUiLAoiSGVhZGVyIDIiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwYmE4XHUwYjk1XHUwYmIyXHUwYjk1XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmIxXHUwYmNkXHUwYjk1XHUwYmMxIFx1MGJhOFx1MGJjN1x1MGJiMFx1MGI5Zlx1MGJiZiBcdTBiODVcdTBiYTNcdTBiYzFcdTBiOTVcdTBiYjJcdTBiYzggXHUwYmE0XHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiMlx1MGJiZVx1MGJiNVx1MGJiZiBcdTBiODZcdTBiYTRcdTBiYjBcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYjVcdTBiYmZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzguIFx1MGI4Nlx1MGI5NVx1MGJiNVx1MGJjNyBcdTBiYjVcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYjJcdTBiOTVcdTBiYzggXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYmI1XHUwYmI0XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmJlXHUwYmE5IEN0cmwrWFwvQ1wvViBcdTBiODdcdTBiYjVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzggXHUwYmE0XHUwYmFmXHUwYmI1XHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJjZFx1MGJhNFx1MGJjMSBcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzFcdTBiOTUuIiwKIkhlYWRpbmcgNCI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgNCIsCiJEaXYiOiAiXHUwYmFhXHUwYmJmXHUwYmIwXHUwYmJmXHUwYmI1XHUwYmMxIChEaXYpIiwKIkhlYWRpbmcgMiI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMiIsCiJQYXN0ZSI6ICJcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiQ2xvc2UiOiAiXHUwYmFlXHUwYmMyXHUwYjlmXHUwYmMxXHUwYjk1IiwKIkZvbnQgRmFtaWx5IjogIlx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJiMFx1MGJjMSBcdTBiOTVcdTBiYzFcdTBiOWZcdTBiYzFcdTBiYWVcdTBiY2RcdTBiYWFcdTBiYWVcdTBiY2QiLAoiUHJlIjogIlx1MGJhZVx1MGJjMVx1MGJhOVx1MGJjZCBcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYWVcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYTRcdTBiYzEgKFByZSkiLAoiQWxpZ24gcmlnaHQiOiAiXHUwYmI1XHUwYmIyXHUwYmE0XHUwYmMxIFx1MGI5YVx1MGJjMFx1MGJiMFx1MGJhZVx1MGJjOCIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwYmFhXHUwYmMxXHUwYmE0XHUwYmJmXHUwYmFmIFx1MGI4Nlx1MGJiNVx1MGJhM1x1MGJhZVx1MGJjZCIsCiJCbG9ja3F1b3RlIjogIlx1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGJhNFx1MGJiZiBcdTBiYWVcdTBiYzdcdTBiYjFcdTBiY2RcdTBiOTVcdTBiY2JcdTBiYjNcdTBiY2QiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTBiOGVcdTBiYTNcdTBiY2RcdTBiYTNcdTBiYmZcdTBiOWZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmJmXHUwYmFmXHUwYmIyXHUwYmNkIiwKIkhlYWRpbmcgMSI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMSIsCiJIZWFkaW5ncyI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MGI4OVx1MGJiM1x1MGJjZFx1MGJhNFx1MGJiM1x1MGJjZFx1MGJiM1x1MGJjMVx1MGJhNFx1MGJiMlx1MGJjOCBcdTBiODVcdTBiYTRcdTBiYmZcdTBiOTVcdTBiYjBcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiRm9ybWF0cyI6ICJcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYWVcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiSGVhZGVycyI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiU2VsZWN0IGFsbCI6ICJcdTBiODVcdTBiYTlcdTBiYzhcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzhcdTBiYWZcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYmE0XHUwYmM3XHUwYmIwXHUwYmNkXHUwYmI1XHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJjZFx1MGI5NSIsCiJIZWFkZXIgMyI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMyIsCiJCbG9ja3MiOiAiXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYmE0XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIlVuZG8iOiAiXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkXHUwYjlhXHUwYmM2XHUwYmFmXHUwYmIyXHUwYmM4IFx1MGJhOFx1MGJjMFx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMVx1MGI5NSIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MGJhOFx1MGI5Zlx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjYlx1MGI5Zlx1MGJjMSIsCiJCdWxsZXQgbGlzdCI6ICJcdTBiYWFcdTBiY2FcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmZcdTBiOWZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWYgIFx1MGJhYVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiMlx1MGJjZCIsCiJIZWFkZXIgMSI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgMSIsCiJTdXBlcnNjcmlwdCI6ICJcdTBiYWVcdTBiYzdcdTBiYjJcdTBiY2RcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTBiYjVcdTBiOWZcdTBiYmZcdTBiYjVcdTBiYWVcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzggXHUwYjg1XHUwYmI0XHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkZvbnQgU2l6ZXMiOiAiXHUwYjhlXHUwYmI0XHUwYmMxXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxXHUwYmIwXHUwYmMxIFx1MGI4NVx1MGJiM1x1MGJiNVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJTdWJzY3JpcHQiOiAiXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmNkXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxIiwKIkhlYWRlciA2IjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSA2IiwKIlJlZG8iOiAiXHUwYmFlXHUwYmMwXHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmNkIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJjZFx1MGI5NSIsCiJQYXJhZ3JhcGgiOiAiXHUwYmFhXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmIiwKIk9rIjogIlx1MGI5YVx1MGJiMFx1MGJiZiIsCiJCb2xkIjogIlx1MGJhNFx1MGI5Zlx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJDb2RlIjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJjMFx1MGI5Zlx1MGJjMSIsCiJJdGFsaWMiOiAiXHUwYjlhXHUwYmJlXHUwYmFmXHUwYmNkXHUwYmI1XHUwYmMxIiwKIkFsaWduIGNlbnRlciI6ICJcdTBiYWVcdTBiYzhcdTBiYWYgXHUwYjlhXHUwYmMwXHUwYmIwXHUwYmFlXHUwYmM4IiwKIkhlYWRlciA1IjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSA1IiwKIkhlYWRpbmcgNiI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgNiIsCiJIZWFkaW5nIDMiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MGI4OVx1MGJiM1x1MGJjZFx1MGJhNFx1MGJiM1x1MGJjZFx1MGJiM1x1MGJjMVx1MGJhNFx1MGJiMlx1MGJjOCBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYzhcdTBiOTVcdTBiY2RcdTBiOTUiLAoiSGVhZGVyIDQiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MGI4N1x1MGJhZlx1MGJiMlx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiODlcdTBiYjBcdTBiYzggXHUwYmFlXHUwYmMxXHUwYmIxXHUwYmM4XHUwYmFlXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmIyXHUwYmNkIFx1MGJhNFx1MGJiMVx1MGJjZFx1MGJhYVx1MGJjYlx1MGJhNFx1MGJjMSBcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiYTRcdTBiYjJcdTBiY2QgXHUwYjg5XHUwYmIzXHUwYmNkXHUwYmIzXHUwYmE0XHUwYmMxLiBcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjg3XHUwYmE4XHUwYmNkXHUwYmE0IFx1MGJiNVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjOCBcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmM4IFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGI5Zlx1MGI5NVx1MGJjZFx1MGI5NVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiODdcdTBiYWZcdTBiYjJcdTBiY2RcdTBiYWFcdTBiYzEgXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJlXHUwYjk1IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJjZC4iLAoiVW5kZXJsaW5lIjogIlx1MGI4NVx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjYlx1MGI5Zlx1MGJjMSIsCiJDYW5jZWwiOiAiXHUwYmIwXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxIFx1MGI5YVx1MGJjNlx1MGJhZlx1MGJjZFx1MGI5NSIsCiJKdXN0aWZ5IjogIlx1MGJhOFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZiBcdTBiOWFcdTBiYzZcdTBiYWZcdTBiY2RcdTBiOTUiLAoiSW5saW5lIjogIlx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCIsCiJDb3B5IjogIlx1MGJhOFx1MGI5NVx1MGJiMlx1MGJjNlx1MGI5Zlx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NSIsCiJBbGlnbiBsZWZ0IjogIlx1MGI4N1x1MGI5Zlx1MGJhNFx1MGJjMSBcdTBiOWFcdTBiYzBcdTBiYjBcdTBiYWVcdTBiYzgiLAoiVmlzdWFsIGFpZHMiOiAiXHUwYjk1XHUwYmJlXHUwYjlmXHUwYmNkXHUwYjlhXHUwYmJmXHUwYmE0XHUwYmNkIFx1MGJhNFx1MGJjMVx1MGJhM1x1MGJjOFx1MGJhZlx1MGJhOVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJMb3dlciBHcmVlayI6ICJcdTBiOTVcdTBiYzBcdTBiYjRcdTBiY2QgXHUwYjk1XHUwYmJmXHUwYmIwXHUwYmM3XHUwYjk1XHUwYmNkXHUwYjk1XHUwYmFlXHUwYmNkIiwKIlNxdWFyZSI6ICJcdTBiOWFcdTBiYTRcdTBiYzFcdTBiYjBcdTBiYWVcdTBiY2QiLAoiRGVmYXVsdCI6ICJcdTBiODlcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiTG93ZXIgQWxwaGEiOiAiXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmNkIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMSIsCiJDaXJjbGUiOiAiXHUwYmI1XHUwYjlmXHUwYmNkXHUwYjlmXHUwYmFlXHUwYmNkIiwKIkRpc2MiOiAiXHUwYmI1XHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxIiwKIlVwcGVyIEFscGhhIjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZCBcdTBiOGVcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiVXBwZXIgUm9tYW4iOiAiXHUwYmFlXHUwYmM3XHUwYmIyXHUwYmNkIFx1MGJiMFx1MGJjYlx1MGJhZVx1MGJiZVx1MGJhOVx1MGJiZlx1MGJhZlx1MGJhZVx1MGJjZCIsCiJMb3dlciBSb21hbiI6ICJcdTBiOTVcdTBiYzBcdTBiYjRcdTBiY2QgXHUwYmIwXHUwYmNiXHUwYmFlXHUwYmJlXHUwYmE5XHUwYmJmXHUwYmFmXHUwYmFlXHUwYmNkIiwKIk5hbWUiOiAiXHUwYmFhXHUwYmM2XHUwYmFmXHUwYmIwXHUwYmNkIiwKIkFuY2hvciI6ICJcdTBiYThcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYzJcdTBiYjBcdTBiYWVcdTBiY2QiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTBiOWFcdTBiYzdcdTBiYWVcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYmVcdTBiYTQgXHUwYmFlXHUwYmJlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGJhOTsgXHUwYmE0XHUwYmJlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiMVx1MGJjMVx1MGJhNFx1MGJiZlx1MGJhZlx1MGJiZVx1MGI5NSBcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmZcdTBiYWZcdTBiYzdcdTBiYjEgXHUwYmI1XHUwYmJmXHUwYmIwXHUwYmMxXHUwYmFlXHUwYmNkXHUwYmFhXHUwYmMxXHUwYjk1XHUwYmJmXHUwYmIxXHUwYmMwXHUwYmIwXHUwYmNkXHUwYjk1XHUwYmJlXHUwYmIzXHUwYmJlPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwYjk1XHUwYjlmXHUwYmE4XHUwYmNkXHUwYmE0IFx1MGJiNVx1MGJiMFx1MGJjOFx1MGJiNVx1MGJjOCBcdTBiYWVcdTBiYzBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzZcdTBiOWZcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIFx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJiMFx1MGJjMSIsCiJTb3VyY2UgY29kZSI6ICJcdTBiYWVcdTBiYzJcdTBiYjIgXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYmFmXHUwYmMwXHUwYjlmXHUwYmMxIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MGJiNVx1MGJiMlx1MGJhZVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjMSBcdTBiODdcdTBiOWZcdTBiYWVcdTBiY2QiLAoiTGVmdCB0byByaWdodCI6ICJcdTBiODdcdTBiOWZcdTBiYWVcdTBiYmZcdTBiYjBcdTBiYzFcdTBiYThcdTBiY2RcdTBiYTRcdTBiYzEgXHUwYmI1XHUwYmIyXHUwYmFlXHUwYmNkIiwKIkVtb3RpY29ucyI6ICJcdTBiODlcdTBiYTNcdTBiYjBcdTBiY2RcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYmZcdTBiYWVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QiLAoiUm9ib3RzIjogIlx1MGJhYVx1MGJjYVx1MGJiMVx1MGJiZlx1MGJhZlx1MGJhOVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCAoUm9ib3RzKSIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MGI4Nlx1MGJiNVx1MGJhM1x1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZlx1MGJhOVx1MGJjZCBcdTBiYWFcdTBiYTNcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiVGl0bGUiOiAiXHUwYmE0XHUwYmIyXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIktleXdvcmRzIjogIlx1MGJhZVx1MGJjMVx1MGJhNFx1MGJhOVx1MGJjZFx1MGJhZVx1MGJjOFx1MGI5YVx1MGJjZFx1MGI5YVx1MGJjYVx1MGJiMVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJFbmNvZGluZyI6ICJcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiYmVcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYWVcdTBiY2QiLAoiRGVzY3JpcHRpb24iOiAiXHUwYmI1XHUwYmJmXHUwYmI1XHUwYmIwXHUwYmFlXHUwYmNkIiwKIkF1dGhvciI6ICJcdTBiOGVcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmVcdTBiYjNcdTBiYjBcdTBiY2QiLAoiRnVsbHNjcmVlbiI6ICJcdTBiYWVcdTBiYzFcdTBiYjRcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiYjBcdTBiYzgiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MGI5NVx1MGJiZlx1MGI5Zlx1MGJjOCBcdTBiOTVcdTBiY2JcdTBiOWZcdTBiYzEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTBiOTVcdTBiYmZcdTBiOWZcdTBiYzhcdTBiYWVcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjg3XHUwYjlmXHUwYmM4XHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTBiYWFcdTBiOWZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1XC9cdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiR2VuZXJhbCI6ICJcdTBiYWFcdTBiY2FcdTBiYTRcdTBiYzEiLAoiQWR2YW5jZWQiOiAiXHUwYmFlXHUwYmM3XHUwYmFlXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmE0XHUwYmMxIiwKIlNvdXJjZSI6ICJcdTBiYWVcdTBiYzJcdTBiYjJcdTBiYWVcdTBiY2QiLAoiQm9yZGVyIjogIlx1MGI5NVx1MGJiMFx1MGJjOCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwYmI1XHUwYmJmXHUwYjk1XHUwYmJmXHUwYmE0XHUwYmJlXHUwYjlhXHUwYmNkXHUwYjlhXHUwYmJlXHUwYmIwXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmJmXHUwYmIyXHUwYmNkIFx1MGI5NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NSIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYTRcdTBiYjMgXHUwYjg3XHUwYjlmXHUwYmM4XHUwYmI1XHUwYmM2XHUwYmIzXHUwYmJmIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGJhYVx1MGI5ZiBcdTBiYjVcdTBiYmZcdTBiYjVcdTBiYjBcdTBiYWVcdTBiY2QiLAoiU3R5bGUiOiAiXHUwYmFhXHUwYmJlXHUwYmEzXHUwYmJmIiwKIkRpbWVuc2lvbnMiOiAiXHUwYmFhXHUwYmIwXHUwYmJmXHUwYmFlXHUwYmJlXHUwYmEzXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkluc2VydCBpbWFnZSI6ICJcdTBiYWFcdTBiOWZcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIlpvb20gaW4iOiAiXHUwYmFhXHUwYmM2XHUwYmIwXHUwYmJmXHUwYmE0XHUwYmJlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIiwKIkNvbnRyYXN0IjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjMVx1MGJhYVx1MGJiZVx1MGI5Zlx1MGJjMSIsCiJCYWNrIjogIlx1MGJhYVx1MGJiZlx1MGJhOVx1MGJjZCIsCiJHYW1tYSI6ICJHYW1tYSIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTBiOTVcdTBiYmZcdTBiOWZcdTBiYzhcdTBiYWVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYWVcdTBiYmVcdTBiOTUgXHUwYmFhXHUwYmMxXHUwYmIwXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmMxIiwKIlJlc2l6ZSI6ICJcdTBiYWVcdTBiYjFcdTBiYzFcdTBiODVcdTBiYjNcdTBiYjVcdTBiYmZcdTBiOWZcdTBiYzEiLAoiU2hhcnBlbiI6ICJcdTBiOTVcdTBiYzJcdTBiYjBcdTBiY2RcdTBiYWVcdTBiYzhcdTBiYWZcdTBiYmVcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEiLAoiWm9vbSBvdXQiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmJmXHUwYmE0XHUwYmJlXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIiwKIkltYWdlIG9wdGlvbnMiOiAiXHUwYmFhXHUwYjlmIFx1MGJiNVx1MGJiZlx1MGJiMFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJBcHBseSI6ICJcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzEiLAoiQnJpZ2h0bmVzcyI6ICJcdTBiOTJcdTBiYjNcdTBiYmZcdTBiYjBcdTBiY2RcdTBiYjVcdTBiYzEiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTBiOTVcdTBiOWZcdTBiYmZcdTBiOTVcdTBiYmVcdTBiYjBcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjlhXHUwYmMxXHUwYmI0XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlx1MGI5NVx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJiZVx1MGJiMCBcdTBiOGVcdTBiYTRcdTBiYmZcdTBiYjBcdTBiY2RcdTBiYTRcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjlhXHUwYmMxXHUwYmI0XHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxIiwKIkVkaXQgaW1hZ2UiOiAiXHUwYmFhXHUwYjlmXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4IFx1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMSIsCiJDb2xvciBsZXZlbHMiOiAiXHUwYmI1XHUwYmEzXHUwYmNkXHUwYmEzIFx1MGJhOFx1MGJiZlx1MGJiMlx1MGJjOFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJDcm9wIjogIlx1MGI5YVx1MGJjNlx1MGJhNFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJPcmllbnRhdGlvbiI6ICJcdTBiYTRcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYWVcdTBiYzhcdTBiYjVcdTBiYzEiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MGI5YVx1MGJjNlx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJiZVx1MGI5NSBcdTBiYWFcdTBiYzFcdTBiYjBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzEiLAoiSW52ZXJ0IjogIlx1MGJhOFx1MGJjN1x1MGJiMFx1MGJjZFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTBiYTRcdTBiYzdcdTBiYTRcdTBiYmZcL1x1MGJhOFx1MGJjN1x1MGJiMFx1MGJhZVx1MGJjZCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmM4IFx1MGI4NVx1MGI5NVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJVcmwiOiAiXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFmXHUwYmFlXHUwYmMxXHUwYjk1XHUwYmI1XHUwYmIwXHUwYmJmIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTBiOTVcdTBiYmVcdTBiOWZcdTBiY2RcdTBiOWFcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiOWZcdTBiYzFcdTBiYTRcdTBiY2RcdTBiYTQgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmJmXHUwYmFmIFx1MGI4OVx1MGJiMFx1MGJjOCIsCiJBbmNob3JzIjogIlx1MGJhOFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJjMlx1MGJiMFx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJJbnNlcnQgbGluayI6ICJcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIk5ldyB3aW5kb3ciOiAiXHUwYmFhXHUwYmMxXHUwYmE0XHUwYmJmXHUwYmFmIFx1MGI5YVx1MGJiZVx1MGJiM1x1MGJiMFx1MGJhZVx1MGJjZCIsCiJOb25lIjogIlx1MGI4Zlx1MGJhNFx1MGJjMVx1MGJhZVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiXHUwYmE0XHUwYmJlXHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGJiM1x1MGJjZFx1MGJiM1x1MGJiZlx1MGI5Zlx1MGJjZFx1MGI5ZiBcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWZcdTBiYWVcdTBiYzFcdTBiOTVcdTBiYjVcdTBiYjBcdTBiYmYgKFVSTCkgXHUwYjkyXHUwYmIwXHUwYmMxIFx1MGJiNVx1MGJjNlx1MGJiM1x1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMVx1MGJiMSBcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEgKGV4dGVybmFsIGxpbmspIFx1MGJhYVx1MGJjYlx1MGJiMlx1MGJjZCBcdTBiYTRcdTBiY2JcdTBiYTlcdTBiY2RcdTBiYjFcdTBiYzFcdTBiOTVcdTBiYmZcdTBiYjFcdTBiYTRcdTBiYzEuIFx1MGJhNFx1MGJjN1x1MGJiNVx1MGJjOFx1MGJhZlx1MGJiZVx1MGJhOSBodHRwOlwvXC8gXHUwYmFlXHUwYmMxXHUwYmE5XHUwYmNkLVx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjOFx1MGJhNFx1MGJjZCAocHJlZml4KSBcdTBiYTRcdTBiYmVcdTBiOTlcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2QgXHUwYjlhXHUwYmM3XHUwYmIwXHUwYmNkXHUwYjk1XHUwYmNkXHUwYjk1IFx1MGJiNVx1MGJjN1x1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhZVx1MGJiZT8iLAoiVGFyZ2V0IjogIlx1MGI4N1x1MGJiMlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MGJhNFx1MGJiZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiODlcdTBiYjNcdTBiY2RcdTBiYjNcdTBiYmZcdTBiOWZcdTBiY2RcdTBiOWYgXHUwYjg3XHUwYmEzXHUwYmM4XHUwYmFmXHUwYmFlXHUwYmMxXHUwYjk1XHUwYmI1XHUwYmIwXHUwYmJmIChVUkwpIFx1MGI5Mlx1MGJiMFx1MGJjMSBcdTBiYWVcdTBiYmZcdTBiYTlcdTBiY2QtXHUwYjg1XHUwYjllXHUwYmNkXHUwYjlhXHUwYmIyXHUwYmNkIFx1MGJhZVx1MGJjMVx1MGI5NVx1MGJiNVx1MGJiMFx1MGJiZiBcdTBiYWFcdTBiY2JcdTBiYjJcdTBiY2QgXHUwYmE0XHUwYmNiXHUwYmE5XHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1XHUwYmJmXHUwYmIxXHUwYmE0XHUwYmMxLiBcdTBiYTRcdTBiYzdcdTBiYjVcdTBiYzhcdTBiYWZcdTBiYmVcdTBiYTkgbWFpbHRvOiBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QtXHUwYjkyXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmM4XHUwYmE0XHUwYmNkIChwcmVmaXgpIFx1MGJhNFx1MGJiZVx1MGI5OVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjZCBcdTBiOWFcdTBiYzdcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUgXHUwYmI1XHUwYmM3XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFlXHUwYmJlPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTBiODdcdTBiYTNcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1XC9cdTBiYTRcdTBiY2FcdTBiOTVcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MGI5NVx1MGJiZVx1MGJhM1x1MGJjYVx1MGJiM1x1MGJiZlx1MGJhZlx1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTVcL1x1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NSIsCiJQb3N0ZXIiOiAiXHUwYjlhXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmNhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmJmIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTBiYWVcdTBiYmVcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYzEgXHUwYmFlXHUwYmMyXHUwYmIyXHUwYmFlXHUwYmNkIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwYmE0XHUwYjk5XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIFx1MGI4OVx1MGI5Zlx1MGJjZFx1MGJhYVx1MGJjNlx1MGJiZVx1MGJhNFx1MGJiZiBcdTBiOTVcdTBiYzFcdTBiYjFcdTBiYmZcdTBiYWZcdTBiYzBcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzggXHUwYjk1XHUwYmMwXHUwYmI0XHUwYmM3IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJjMVx1MGJhZVx1MGJjZDoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MGI5NVx1MGJiZVx1MGJhM1x1MGJjYVx1MGJiM1x1MGJiZlx1MGJhZlx1MGJjOCBcdTBiOWFcdTBiYzZcdTBiYjBcdTBiYzFcdTBiOTVcdTBiYzFcdTBiOTUiLAoiRW1iZWQiOiAiXHUwYjg5XHUwYjlmXHUwYmNkXHUwYmFhXHUwYmNhXHUwYmE0XHUwYmJmIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MGJhYVx1MGJiZlx1MGJiMFx1MGJiZlx1MGJhZlx1MGJiZVx1MGJhNCBcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmYiLAoiUGFnZSBicmVhayI6ICJcdTBiYWFcdTBiOTVcdTBiY2RcdTBiOTUgXHUwYmFhXHUwYmJmXHUwYmIwXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwYjg5XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJlXHUwYjk1IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJQcmV2aWV3IjogIlx1MGJhZVx1MGJjMVx1MGJhOVx1MGJjZFx1MGJhOFx1MGJjYlx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMSIsCiJQcmludCI6ICJcdTBiODVcdTBiOWFcdTBiY2RcdTBiOWFcdTBiYmZcdTBiOWZcdTBiYzFcdTBiOTUiLAoiU2F2ZSI6ICJcdTBiOWFcdTBiYzdcdTBiYWVcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MGI5NVx1MGJjMVx1MGJiMVx1MGJiZlx1MGJhYVx1MGJjZFx1MGJhYVx1MGJiZlx1MGI5Zlx1MGJjZFx1MGI5ZiBcdTBiOWFcdTBiYjBcdTBiYWVcdTBiY2QgXHUwYjk1XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFhXHUwYmJmXHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1IFx1MGJhZVx1MGJjMVx1MGI5Zlx1MGJiZlx1MGJhZlx1MGJiNVx1MGJiZlx1MGJiMlx1MGJjZFx1MGJiMlx1MGJjOCIsCiJSZXBsYWNlIjogIlx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJOZXh0IjogIlx1MGI4NVx1MGI5Zlx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNCIsCiJXaG9sZSB3b3JkcyI6ICJcdTBiYWVcdTBiYzFcdTBiYjRcdTBiYzEgXHUwYjlhXHUwYmNhXHUwYmIxXHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwYjk1XHUwYmEzXHUwYmNkXHUwYjlmXHUwYmMxXHUwYmFhXHUwYmJmXHUwYjlmXHUwYmJmXHUwYmE0XHUwYmNkXHUwYmE0XHUwYmMxIFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwYjg3XHUwYmE0XHUwYmE5XHUwYmMxXHUwYjlmXHUwYmE5XHUwYmNkIFx1MGJhZVx1MGJiZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGI5NSIsCiJGaW5kIjogIlx1MGI5NVx1MGJhM1x1MGJjZFx1MGI5Zlx1MGJjMVx1MGJhYVx1MGJiZlx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJSZXBsYWNlIGFsbCI6ICJcdTBiODVcdTBiYTlcdTBiYzhcdTBiYTRcdTBiY2RcdTBiYTRcdTBiYzhcdTBiYWZcdTBiYzFcdTBiYWVcdTBiY2QgXHUwYmFlXHUwYmJlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYjk1IiwKIk1hdGNoIGNhc2UiOiAiXHUwYmI1XHUwYjlmXHUwYmJmXHUwYmI1XHUwYmE0XHUwYmNkXHUwYmE0XHUwYmM4IFx1MGJhYVx1MGJjYVx1MGJiMFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGI5NSIsCiJQcmV2IjogIlx1MGJhZVx1MGJjMVx1MGJhOFx1MGJjZFx1MGJhNFx1MGJjOFx1MGJhZiIsCiJTcGVsbGNoZWNrIjogIlx1MGI4ZVx1MGJiNFx1MGJjMVx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjMVx1MGJhYVx1MGJjZFx1MGJhYVx1MGJiZlx1MGJiNFx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiOWFcdTBiYjBcdTBiYmZcdTBiYWFcdTBiYmVcdTBiYjBcdTBiY2RcdTBiOTVcdTBiY2RcdTBiOTUiLAoiRmluaXNoIjogIlx1MGJhZVx1MGJjMVx1MGI5Zlx1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJJZ25vcmUgYWxsIjogIlx1MGI4NVx1MGJhOVx1MGJjOFx1MGJhNFx1MGJjZFx1MGJhNFx1MGJjOFx1MGJhZlx1MGJjMVx1MGJhZVx1MGJjZCBcdTBiYWFcdTBiYzFcdTBiYjFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYTNcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiSWdub3JlIjogIlx1MGJhYVx1MGJjMVx1MGJiMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJhM1x1MGJiZlx1MGI5NVx1MGJjZFx1MGI5NSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTBiODVcdTBiOTVcdTBiYjBcdTBiYmVcdTBiYTRcdTBiYmZcdTBiYWZcdTBiYmZcdTBiYjJcdTBiY2QgXHUwYjlhXHUwYmM3XHUwYmIwXHUwYmNkXHUwYjk1XHUwYmNkXHUwYjk1IiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MGI4N1x1MGJhNFx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjMSBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJSb3dzIjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOFx1MGI5NVx1MGJiM1x1MGJjZCIsCiJIZWlnaHQiOiAiXHUwYjg5XHUwYmFmXHUwYmIwXHUwYmFlXHUwYmNkIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTBiODdcdTBiYTRcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYzEgXHUwYmFhXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiOTJcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiQWxpZ25tZW50IjogIlx1MGI5YVx1MGJjMFx1MGJiMFx1MGJhZVx1MGJjOFx1MGJiNVx1MGJjMSIsCiJCb3JkZXIgY29sb3IiOiAiXHUwYjk1XHUwYmIwXHUwYmM4XHUwYmFmXHUwYmJmXHUwYmE5XHUwYmNkIFx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwYmE4XHUwYmM2XHUwYjlmXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGI5NVx1MGJjMVx1MGJiNFx1MGJjMSIsCiJSb3ciOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MGI4N1x1MGJhNFx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjMSBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QgXHUwYmE4XHUwYmM2XHUwYjlmXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJTcGxpdCBjZWxsIjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJiMVx1MGJjOFx1MGI5NVx1MGJiM1x1MGJjOCBcdTBiYWFcdTBiYmZcdTBiYjBcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTUiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJiMVx1MGJjOCBcdTBiYThcdTBiYmZcdTBiYjBcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYjJcdTBiY2QiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJiMVx1MGJjOCBcdTBiODdcdTBiOWZcdTBiYzhcdTBiYjVcdTBiYzZcdTBiYjNcdTBiYmYiLAoiUm93IHR5cGUiOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGJiNVx1MGI5NVx1MGJjOCIsCiJJbnNlcnQgdGFibGUiOiAiXHUwYjg1XHUwYjlmXHUwYmNkXHUwYjlmXHUwYmI1XHUwYmEzXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJCb2R5IjogIlx1MGI4OVx1MGI5Zlx1MGJiMlx1MGJjZCIsCiJDYXB0aW9uIjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSIsCiJGb290ZXIiOiAiXHUwYjg1XHUwYjlmXHUwYmJmXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYmIxXHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkRlbGV0ZSByb3ciOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGJhOFx1MGJjMFx1MGI5NVx1MGJjZFx1MGI5NVx1MGJjMVx1MGI5NSIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MGI4N1x1MGJhNFx1MGJiMVx1MGJjZFx1MGI5NVx1MGJjMSBcdTBiYWVcdTBiYzFcdTBiYTlcdTBiY2QgXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYmFmXHUwYmM4IFx1MGI5Mlx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJjMVx1MGI5NSIsCiJTY29wZSI6ICJcdTBiYjVcdTBiYjBcdTBiYzhcdTBiYWZcdTBiYzZcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzgiLAoiRGVsZXRlIHRhYmxlIjogIlx1MGI4NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJhM1x1MGJjOFx1MGJhZlx1MGJjOCBcdTBiYThcdTBiYzBcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzFcdTBiOTUiLAoiSCBBbGlnbiI6ICJcdTBiOTVcdTBiYmYgKEgpIFx1MGI4N1x1MGI5YVx1MGJjOFx1MGJiNVx1MGJjMSIsCiJUb3AiOiAiXHUwYmFlXHUwYmM3XHUwYmIyXHUwYmNkIiwKIkhlYWRlciBjZWxsIjogIlx1MGJhNFx1MGJiMlx1MGJjOFx1MGJhYVx1MGJjZFx1MGJhYVx1MGJjMSBcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzgiLAoiQ29sdW1uIjogIlx1MGJhOFx1MGJjNlx1MGI5Zlx1MGJjMVx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOCIsCiJSb3cgZ3JvdXAiOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGI5NVx1MGJjMVx1MGJiNFx1MGJjMSIsCiJDZWxsIjogIlx1MGI5YVx1MGJiZlx1MGJiMVx1MGJjZFx1MGJiMVx1MGJiMVx1MGJjOCIsCiJNaWRkbGUiOiAiXHUwYmE4XHUwYjlmXHUwYmMxIiwKIkNlbGwgdHlwZSI6ICJcdTBiOWFcdTBiYmZcdTBiYjFcdTBiY2RcdTBiYjFcdTBiYjFcdTBiYzggXHUwYmI1XHUwYjk1XHUwYmM4IiwKIkNvcHkgcm93IjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiYThcdTBiOTVcdTBiYjJcdTBiYzZcdTBiOWZcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTUiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4IFx1MGJhYVx1MGJhM1x1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MGI4NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJhM1x1MGJjOCBcdTBiYWFcdTBiYTNcdTBiY2RcdTBiYWFcdTBiYzFcdTBiOTVcdTBiYjNcdTBiY2QiLAoiQm90dG9tIjogIlx1MGJhZVx1MGJjN1x1MGJiMlx1MGJjZCIsCiJWIEFsaWduIjogIlx1MGI5YVx1MGJjNiAoVikgXHUwYjg3XHUwYjlhXHUwYmM4XHUwYmI1XHUwYmMxIiwKIkhlYWRlciI6ICJcdTBiYTRcdTBiYjJcdTBiYzhcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYzEiLAoiUmlnaHQiOiAiXHUwYmI1XHUwYmIyXHUwYmFlXHUwYmNkIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwYjg3XHUwYmE0XHUwYmIxXHUwYmNkXHUwYjk1XHUwYmMxIFx1MGJhYVx1MGJiZlx1MGJhOVx1MGJjZCBcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkNvbHMiOiAiXHUwYmE4XHUwYmM2XHUwYjlmXHUwYmMxXHUwYmI1XHUwYmIwXHUwYmJmXHUwYjlhXHUwYmM4XHUwYjk1XHUwYmIzXHUwYmNkIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwYjg3XHUwYmE0XHUwYmIxXHUwYmNkXHUwYjk1XHUwYmMxIFx1MGJhYVx1MGJiZlx1MGJhOVx1MGJjZCBcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYzggXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIldpZHRoIjogIlx1MGI4NVx1MGI5NVx1MGJiMlx1MGJhZVx1MGJjZCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4IFx1MGJhYVx1MGJhM1x1MGJjZFx1MGJhYVx1MGJjMVx1MGI5NVx1MGJiM1x1MGJjZCIsCiJMZWZ0IjogIlx1MGI4N1x1MGI5Zlx1MGJhZVx1MGJjZCIsCiJDdXQgcm93IjogIlx1MGJiNVx1MGJiMFx1MGJiZlx1MGI5YVx1MGJjOFx1MGJhZlx1MGJjOCBcdTBiYjVcdTBiYzZcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiRGVsZXRlIGNvbHVtbiI6ICJcdTBiYThcdTBiYzZcdTBiOWZcdTBiYzFcdTBiYjVcdTBiYjBcdTBiYmZcdTBiOWFcdTBiYzhcdTBiYWZcdTBiYzggXHUwYmE4XHUwYmMwXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkNlbnRlciI6ICJcdTBiYWVcdTBiYzhcdTBiYWZcdTBiYWVcdTBiY2QiLAoiTWVyZ2UgY2VsbHMiOiAiXHUwYjlhXHUwYmJmXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmIxXHUwYmM4XHUwYjk1XHUwYmIzXHUwYmM4IFx1MGI5YVx1MGJjN1x1MGJiMFx1MGJjZFx1MGI5NVx1MGJjZFx1MGI5NSIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwYmI1XHUwYmJlXHUwYmIwXHUwYmNkXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmIwXHUwYmMxXHUwYmI1XHUwYmM4IFx1MGI5YVx1MGJjNlx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjMVx1MGI5NSIsCiJUZW1wbGF0ZXMiOiAiXHUwYmI1XHUwYmJlXHUwYmIwXHUwYmNkXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxXHUwYmIwXHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmIzXHUwYmNkIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwYmFhXHUwYmJmXHUwYmE5XHUwYmNkXHUwYmE5XHUwYmEzXHUwYmJmIFx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCIsCiJDdXN0b20uLi4iOiAiXHUwYmE0XHUwYmE5XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmFmXHUwYmE5XHUwYmNkLi4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTBiYTRcdTBiYTlcdTBiYmZcdTBiYWFcdTBiY2RcdTBiYWFcdTBiYWZcdTBiYTlcdTBiY2QgXHUwYmE4XHUwYmJmXHUwYmIxXHUwYmFlXHUwYmNkIiwKIk5vIGNvbG9yIjogIlx1MGJhOFx1MGJiZlx1MGJiMVx1MGJhZVx1MGJjZCBcdTBiODdcdTBiYjJcdTBiY2RcdTBiYjJcdTBiYzgiLAoiVGV4dCBjb2xvciI6ICJcdTBiODlcdTBiYjBcdTBiYzhcdTBiYWZcdTBiYmZcdTBiYTlcdTBiY2QgXHUwYmE4XHUwYmJmXHUwYmIxXHUwYmFlXHUwYmNkIiwKIlNob3cgYmxvY2tzIjogIlx1MGJhNFx1MGJjYVx1MGI5NVx1MGJjMVx1MGJhNFx1MGJiZlx1MGI5NVx1MGJiM1x1MGJjOCBcdTBiOTVcdTBiYmVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTBiOTVcdTBiYTNcdTBiY2RcdTBiYTNcdTBiYzFcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzFcdTBiYTRcdTBiY2QgXHUwYmE0XHUwYmM2XHUwYmIwXHUwYmJmXHUwYmFmXHUwYmJlXHUwYmE0IFx1MGI4OVx1MGJiMFx1MGJjMVx1MGI5NVx1MGJjZFx1MGI5NVx1MGJiM1x1MGJjOCBcdTBiOTVcdTBiYmVcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYzFcdTBiOTUiLAoiV29yZHM6IHswfSI6ICJcdTBiOWFcdTBiY2FcdTBiYjFcdTBiY2RcdTBiOTVcdTBiYjNcdTBiY2Q6IHswfSIsCiJJbnNlcnQiOiAiXHUwYjlhXHUwYmM2XHUwYmIwXHUwYmMxXHUwYjk1XHUwYmMxXHUwYjk1IiwKIkZpbGUiOiAiXHUwYjk1XHUwYmNiXHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIiwKIkVkaXQiOiAiXHUwYmE0XHUwYmNhXHUwYjk1XHUwYmMxXHUwYjk1XHUwYmNkXHUwYjk1IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MGI4OVx1MGJhZlx1MGJiMFx1MGJjZCBcdTBiODlcdTBiYjBcdTBiYzggXHUwYmFhXHUwYjk1XHUwYmMxXHUwYmE0XHUwYmJmLiBcdTBiYWFcdTBiOWZcdTBiY2RcdTBiOWZcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEgQUxULUY5ICwgXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmI1XHUwYmJmXHUwYmFhXHUwYmNkXHUwYmFhXHUwYjlmXHUwYmNkXHUwYjlmXHUwYmM4XHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxIEFMVC1GMTAgLCBcdTBiODlcdTBiYTRcdTBiYjVcdTBiYmZcdTBiOTVcdTBiY2RcdTBiOTVcdTBiYzEgQUxULTAiLAoiVG9vbHMiOiAiXHUwYjk1XHUwYmIwXHUwYmMxXHUwYmI1XHUwYmJmXHUwYjk1XHUwYmIzXHUwYmNkIiwKIlZpZXciOiAiXHUwYmE4XHUwYmNiXHUwYjk1XHUwYmNkXHUwYjk1XHUwYmMxXHUwYjk1IiwKIlRhYmxlIjogIlx1MGI4NVx1MGI5Zlx1MGJjZFx1MGI5Zlx1MGJiNVx1MGJhM1x1MGJjOCIsCiJGb3JtYXQiOiAiXHUwYmI1XHUwYjlmXHUwYmJmXHUwYmI1XHUwYmFlXHUwYmM4XHUwYmFhXHUwYmNkXHUwYmFhXHUwYmMxIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/tg.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0ZycsewoiQ3V0IjogIlx1MDQxMVx1MDQ0M1x1MDQ0MFx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJIZWFkaW5nIDUiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNDM4IDUiLAoiSGVhZGVyIDIiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNDM4IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDExXHUwNDMwXHUwNDQwXHUwNDM4IFx1MDQ0OFx1MDQ0M1x1MDQ0MVx1MDQ0NVx1MDQzMFx1MDQzMVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzZVx1MDQ0MFx1MDQzOCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QgQ3RybCtYXC9DXC9WIFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQ0NFx1MDQzZVx1MDQzNFx1MDQzMCBcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzVcdTA0MzQiLAoiSGVhZGluZyA0IjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCAyIiwKIlBhc3RlIjogIlx1MDQxM1x1MDQ0M1x1MDQzN1x1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzZCIsCiJDbG9zZSI6ICJcdTA0MWNcdTA0MzBcdTA0YjNcdTA0M2FcdTA0MzBcdTA0M2MgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIkZvbnQgRmFtaWx5IjogIlx1MDQyOFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0MiIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlx1MDQyMFx1MDQzZVx1MDQ0MVx1MDQ0MiBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDMwXHUwNDM3IFx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0MiIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNGIyXHUwNDQzXHUwNGI3XHUwNGI3XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZFx1MDQzMFx1MDQzMiIsCiJCbG9ja3F1b3RlIjogIlx1MDQxZFx1MDQzZVx1MDQ0NVx1MDQ0M1x1MDQzZFx1MDQzMFx1MDQzYSIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQyMFx1MDQ0M1x1MDQzOVx1MDQ0NVx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzFcdTA0M2UgXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDQyXHUwNDM4XHUwNDMxIiwKIkhlYWRpbmcgMSI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzBcdTA0MzggMSIsCiJIZWFkaW5ncyI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzBcdTA0YjNcdTA0M2UiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDQxMFx1MDQzMVx1MDQzN1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZSBcdTA0MzJcdTA0MzBcdTA0NDFcdTA0MzVcdTA0NGEgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIkZvcm1hdHMiOiAiXHUwNDI0XHUwNDMwXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNGIzXHUwNDNlIiwKIkhlYWRlcnMiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNGIzXHUwNDNlIiwKIlNlbGVjdCBhbGwiOiAiXHUwNDE4XHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQ1XHUwNDNlXHUwNDMxXHUwNDM4IFx1MDQzYVx1MDQ0M1x1MDQzYlx1MDQzYlx1MDQzOCIsCiJIZWFkZXIgMyI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzBcdTA0MzggMyIsCiJCbG9ja3MiOiAiXHUwNDI1XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDRlMyIsCiJVbmRvIjogIlx1MDQxMVx1MDQzZVx1MDQzNyBcdTA0MzNcdTA0MzBcdTA0NDBcdTA0MzRcdTA0M2VcdTA0M2RcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2QiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTA0MTBcdTA0MzcgXHUwNDNjXHUwNDNlXHUwNDMxXHUwNDMwXHUwNDM5XHUwNDNkXHUwNDMwXHUwNDQ4IFx1MDQ0NVx1MDQzMFx1MDQ0MiBcdTA0M2FcdTA0MzBcdTA0NDhcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2QiLAoiQnVsbGV0IGxpc3QiOiAiXHUwNDIwXHUwNDQzXHUwNDM5XHUwNDQ1XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMVx1MDQzNSBcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDJcdTA0MzhcdTA0MzEiLAoiSGVhZGVyIDEiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNDM4IDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNDEwXHUwNDM3IFx1MDQ0NVx1MDQzMFx1MDQ0MiBcdTA0MzFcdTA0M2VcdTA0M2JcdTA0M2VcdTA0NDJcdTA0MzBcdTA0NDAiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0YjNcdTA0M2VcdTA0NDBcdTA0M2UgXHUwNDMxXHUwNDM1XHUwNDNhXHUwNDNlXHUwNDQwIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJGb250IFNpemVzIjogIlx1MDRiMlx1MDQzMFx1MDRiN1x1MDQzY1x1MDQzOCBcdTA0NDhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIiLAoiU3Vic2NyaXB0IjogIlx1MDQxMFx1MDQzNyBcdTA0NDVcdTA0MzBcdTA0NDIgXHUwNDNmXHUwNDNlXHUwNDUxXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDQwIiwKIkhlYWRlciA2IjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCA2IiwKIlJlZG8iOiAiXHUwNDExXHUwNDM1XHUwNDNhXHUwNDNlXHUwNDQwIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJQYXJhZ3JhcGgiOiAiXHUwNDEwXHUwNDMxXHUwNDM3XHUwNDMwXHUwNDQxXHUwNDQyIiwKIk9rIjogIlx1MDQxZVx1MDQzYSIsCiJCb2xkIjogIlx1MDQ5Mlx1MDQzMFx1MDQ0NFx1MDQ0MSIsCiJDb2RlIjogIkNvZGUiLAoiSXRhbGljIjogIlx1MDQxOFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzOFx1MDQzYSIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNDIwXHUwNDNlXHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0MzBcdTA0MzcgXHUwNDNjXHUwNDNlXHUwNDMxXHUwNDMwXHUwNDM5XHUwNDNkIiwKIkhlYWRlciA1IjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCA1IiwKIkhlYWRpbmcgNiI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzBcdTA0MzggNiIsCiJIZWFkaW5nIDMiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwXHUwNDM4IDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQxMFx1MDQzMVx1MDQzN1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzZSBcdTA0NDVcdTA0NDNcdTA0NDBcdTA0MzQgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIkhlYWRlciA0IjogIlx1MDQyMVx1MDQzMFx1MDQ0MFx1MDQzYlx1MDQzMFx1MDQzMlx1MDRiM1x1MDQzMFx1MDQzOCA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MjJcdTA0M2UgXHUwNDNlXHUwNDNkIFx1MDQzN1x1MDQzMFx1MDQzY1x1MDQzZVx1MDQzZFx1MDQzNSwgXHUwNDNhXHUwNDM4IFx1MDQzOFx1MDQzZCBcdTA0NDVcdTA0M2VcdTA0M2NcdTA0NDNcdTA0NDggXHUwNDMwXHUwNDQxXHUwNDQyLCBcdTA0YjNcdTA0MzBcdTA0M2NcdTA0NDdcdTA0NDNcdTA0M2QgXHUwNDNjXHUwNDMwXHUwNDNkXHUwNDQyIFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNCBcdTA0M2FcdTA0NDNcdTA0M2RcdTA0MzVcdTA0MzQuIiwKIlVuZGVybGluZSI6ICJcdTA0MTRcdTA0MzBcdTA0NDAgXHUwNDQyXHUwNDMwXHUwNDMzXHUwNDMwXHUwNDQ4IFx1MDQ0NVx1MDQzMFx1MDQ0MiBcdTA0M2FcdTA0MzBcdTA0NDhcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2QiLAoiQ2FuY2VsIjogIlx1MDQxMVx1MDQzNVx1MDQzYVx1MDQzZVx1MDQ0MCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QiLAoiSnVzdGlmeSI6ICJcdTA0MTBcdTA0MzcgXHUwNGIzXHUwNDMwXHUwNDQwIFx1MDQzNFx1MDQ0MyBcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzBcdTA0NDQgXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJJbmxpbmUiOiAiXHUwNDE0XHUwNDMwXHUwNDQwIFx1MDQ0Zlx1MDQzYSBcdTA0NDVcdTA0MzBcdTA0NDIiLAoiQ29weSI6ICJcdTA0MWRcdTA0NDNcdTA0NDFcdTA0NDVcdTA0MzBcdTA0MzFcdTA0M2VcdTA0NDBcdTA0MzRcdTA0M2VcdTA0M2RcdTA0MzggXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIkFsaWduIGxlZnQiOiAiXHUwNDIwXHUwNDNlXHUwNDQxIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0MzBcdTA0MzcgXHUwNDQ3XHUwNDMwXHUwNDNmIiwKIlZpc3VhbCBhaWRzIjogIlx1MDQxYVx1MDQ0M1x1MDQzY1x1MDQzY1x1MDQzMFx1MDQzYVx1MDQzOCBcdTA0MzBcdTA0NTFcdTA0M2RcdTA0ZTMiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNDI1XHUwNDQzXHUwNDQwXHUwNDM0XHUwNDM4IFx1MDQyZVx1MDQzZFx1MDQzZVx1MDQzZFx1MDRlMyIsCiJTcXVhcmUiOiAiXHUwNDI3XHUwNDNlXHUwNDQwXHUwNDNhXHUwNDQzXHUwNDNkXHUwNGI3XHUwNDMwIiwKIkRlZmF1bHQiOiAiXHUwNDExXHUwNDNlIFx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQzN1x1MDQzOCBcdTA0NDVcdTA0M2VcdTA0M2NcdTA0NDNcdTA0NDhcdTA0ZTMiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNDI1XHUwNDQzXHUwNDQwXHUwNDM0XHUwNDM4IFx1MDQ0ZVx1MDQzZFx1MDQzZVx1MDQzZFx1MDRlMyIsCiJDaXJjbGUiOiAiXHUwNDE0XHUwNDNlXHUwNDM4XHUwNDQwXHUwNDMwIiwKIkRpc2MiOiAiXHUwNDE0XHUwNDM4XHUwNDQxXHUwNDNhIiwKIlVwcGVyIEFscGhhIjogIlx1MDQxYVx1MDQzMFx1MDQzYlx1MDQzZVx1MDQzZFx1MDQzOCBcdTA0NGVcdTA0M2RcdTA0M2VcdTA0M2RcdTA0ZTMiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDFhXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDM4IFx1MDQ0MFx1MDQzZVx1MDQzY1x1MDQzMFx1MDQzZFx1MDRlMyIsCiJMb3dlciBSb21hbiI6ICJcdTA0MjVcdTA0NDNcdTA0NDBcdTA0MzRcdTA0MzggXHUwNDQwXHUwNDNlXHUwNDNjXHUwNDMwXHUwNDNkXHUwNGUzIiwKIk5hbWUiOiAiXHUwNDFkXHUwNDNlXHUwNDNjIiwKIkFuY2hvciI6ICJcdTA0MWJcdTA0MzBcdTA0M2RcdTA0MzNcdTA0MzBcdTA0NDAiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTA0MjJcdTA0MzBcdTA0OTNcdTA0MzhcdTA0NDBcdTA0M2VcdTA0NDJcdTA0YjNcdTA0M2VcdTA0MzggXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDMwXHUwNDQyXHUwNDNlXHUwNDNkXHUwNDQwXHUwNDNlIFx1MDQ0Mlx1MDQzZSBcdTA0YjNcdTA0M2VcdTA0M2IgXHUwNDNkXHUwNDM4XHUwNDMzXHUwNDNlXHUwNGIzIFx1MDQzZFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzNVx1MDQzNCFcblx1MDQxZVx1MDQ1MSBcdTA0NDhcdTA0NDNcdTA0M2NcdTA0M2UgXHUwNDM0XHUwNDMwXHUwNDQwIFx1MDRiM1x1MDQzMFx1MDQ5Ylx1MDQzOFx1MDQ5Ylx1MDQzMFx1MDQ0MiBcdTA0M2NcdTA0MzVcdTA0NDVcdTA0M2VcdTA0YjNcdTA0MzVcdTA0MzQgXHUwNDNhXHUwNDM4IFx1MDQzMVx1MDQzMCBcdTA0MzRcdTA0MzhcdTA0MzNcdTA0MzBcdTA0NDAgXHUwNDliXHUwNDM4XHUwNDQxXHUwNDNjIFx1MDQzM1x1MDQ0M1x1MDQzN1x1MDQzMFx1MDQ0MFx1MDQzNVx1MDQzND8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDQyMlx1MDQzMFx1MDQ5M1x1MDQzOFx1MDQ0MFx1MDQzZVx1MDQ0Mlx1MDRiM1x1MDQzZVx1MDQzOCBcdTA0M2VcdTA0NDVcdTA0MzhcdTA0NDBcdTA0MzhcdTA0M2RcdTA0NDBcdTA0M2UgXHUwNDMxXHUwNDM1XHUwNDNhXHUwNDNlXHUwNDQwIFx1MDQzYVx1MDQ0M1x1MDQzZCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA0MjBcdTA0MzBcdTA0M2NcdTA0MzdcdTA0YjNcdTA0M2VcdTA0MzggXHUwNDNjXHUwNDMwXHUwNDQ1XHUwNDQxXHUwNDQzXHUwNDQxIiwKIlNvdXJjZSBjb2RlIjogIlx1MDQxYVx1MDQzZVx1MDQzNFx1MDQzOCBcdTA0MzBcdTA0NDFcdTA0M2JcdTA0MzgiLAoiQ29sb3IiOiAiXHUwNDIwXHUwNDMwXHUwNDNkXHUwNDMzIiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwNDEwXHUwNDM3IFx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0MiBcdTA0MzFcdTA0MzAgXHUwNDQ3XHUwNDMwXHUwNDNmIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDEwXHUwNDM3IFx1MDQ0N1x1MDQzMFx1MDQzZiBcdTA0MzFcdTA0MzAgXHUwNDQwXHUwNDNlXHUwNDQxXHUwNDQyIiwKIkVtb3RpY29ucyI6ICJcdTA0MmRcdTA0YjNcdTA0NDFcdTA0M2VcdTA0NDFcdTA0YjNcdTA0M2UiLAoiUm9ib3RzIjogIlJvYm90cyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDRiMlx1MDQzZVx1MDQzYlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0YjNcdTA0NDNcdTA0YjdcdTA0YjdcdTA0MzBcdTA0NDIiLAoiVGl0bGUiOiAiXHUwNDIxXHUwNDMwXHUwNDQwXHUwNDNiXHUwNDMwXHUwNDMyXHUwNGIzXHUwNDMwIiwKIktleXdvcmRzIjogIlx1MDQxYVx1MDQzMFx1MDQzYlx1MDQzOFx1MDQzY1x1MDQzMFx1MDRiM1x1MDQzZVx1MDQzOCBcdTA0M2NcdTA0NDNcdTA0NDJcdTA0MzBcdTA0M2RcdTA0M2VcdTA0NDFcdTA0MzhcdTA0MzEiLAoiRW5jb2RpbmciOiAiXHUwNDExXHUwNDNlIFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzNyBcdTA0MzNcdTA0MzBcdTA0NDBcdTA0MzRcdTA0M2VcdTA0M2RcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2QiLAoiRGVzY3JpcHRpb24iOiAiXHUwNDFjXHUwNDMwXHUwNDRhXHUwNDNiXHUwNDQzXHUwNDNjXHUwNDNlXHUwNDQyXHUwNDM4IFx1MDQzY1x1MDQ0M1x1MDQ0NVx1MDQ0Mlx1MDQzMFx1MDQ0MVx1MDQzMFx1MDQ0MCIsCiJBdXRob3IiOiAiXHUwNDFjXHUwNDQzXHUwNDMwXHUwNDNiXHUwNDNiXHUwNDM4XHUwNDQ0IiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFhXHUwNDMwXHUwNDNiXHUwNDNlXHUwNDNkIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDI1XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQ0M1x1MDQ0NFx1MDQ0M1x1MDQ5Ylx1MDRlMyIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDQyNFx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzOCBcdTA0NDNcdTA0NDRcdTA0NDNcdTA0OWJcdTA0ZTMiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDQxMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNFwvXHUwNDIyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwXHUwNDM4IFx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQzYyIsCiJHZW5lcmFsIjogIlx1MDQxZVx1MDQzNFx1MDQzNFx1MDQzOCIsCiJBZHZhbmNlZCI6ICJcdTA0MWNcdTA0NDNcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzBcdTA0OWJcdTA0MzgiLAoiU291cmNlIjogIlx1MDQxY1x1MDQzMFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQzOCBcdTA0MzBcdTA0NDFcdTA0M2VcdTA0NDFcdTA0ZTMiLAoiQm9yZGVyIjogIlx1MDRiMlx1MDQ0M1x1MDQzNFx1MDQ0M1x1MDQzNCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNDI3XHUwNDM1XHUwNDNkXHUwNDMwXHUwNDNhXHUwNGIzXHUwNDNlXHUwNDM4IFx1MDQzY1x1MDQzMFx1MDRiN1x1MDQzMVx1MDQ0M1x1MDQ0MFx1MDQzOCIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA0MjRcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0MzggXHUwNDMwXHUwNDNjXHUwNDQzXHUwNDM0XHUwNGUzIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDQxY1x1MDQzMFx1MDQ0YVx1MDQzYlx1MDQ0M1x1MDQzY1x1MDQzZVx1MDQ0Mlx1MDQzOCBcdTA0M2NcdTA0NDNcdTA0NDVcdTA0NDJcdTA0MzBcdTA0NDFcdTA0MzBcdTA0NDAiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiIiwKIkRpbWVuc2lvbnMiOiAiXHUwNDI3XHUwNDM1XHUwNDNkXHUwNDMwXHUwNDNhXHUwNGIzXHUwNDNlIiwKIkluc2VydCBpbWFnZSI6ICJcdTA0MjBcdTA0MzBcdTA0NDFcdTA0M2MgXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0IFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA0MTJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzRcdTA0MzggXHUwNDIwXHUwNGVmXHUwNDM3XC9cdTA0MjFcdTA0M2VcdTA0MzBcdTA0NDIiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNDFkXHUwNDM1XHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzhcdTA0M2RcdTA0M2VcdTA0MzQiLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNDFjXHUwNDMwXHUwNDQyXHUwNDNkIFx1MDQzMVx1MDQzMFx1MDQ0MFx1MDQzZVx1MDQzOCBcdTA0M2NcdTA0MzBcdTA0M2RcdTA0MzdcdTA0NDNcdTA0NDAiLAoiQW5jaG9ycyI6ICJcdTA0MWJcdTA0MzBcdTA0M2RcdTA0MzNcdTA0MzBcdTA0NDAiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDE4XHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDNlXHUwNDM0IFx1MDQzM1x1MDQ0M1x1MDQzN1x1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzZCIsCiJOZXcgd2luZG93IjogIlx1MDQyMlx1MDQzOFx1MDQ0MFx1MDQzNVx1MDQzN1x1MDQzMFx1MDQzOCBcdTA0M2RcdTA0MzBcdTA0MzIiLAoiTm9uZSI6ICJcdTA0YjJcdTA0MzVcdTA0YjcgXHUwNDQ3XHUwNDM4XHUwNDM3IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkwgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDM1LCBcdTA0M2FcdTA0MzggXHUwNDQ4XHUwNDQzXHUwNDNjXHUwNDNlIFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzVcdTA0MzQgXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDNlXHUwNDM0IFx1MDQzMFx1MDQ0MVx1MDQ0Mi4gXHUwNDFmXHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM4XHUwNDNhXHUwNDQxXHUwNDM4IGh0dHA6XC9cLzogXHUwNDM4XHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwIFx1MDQzYVx1MDQ0M1x1MDQzZFx1MDQzMFx1MDQzYz8iLAoiVGFyZ2V0IjogIlx1MDQxZFx1MDQzOFx1MDQ0OFx1MDQzZVx1MDQzZFx1MDQzMCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlVSTCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0MzUsIFx1MDQzYVx1MDQzOCBcdTA0NDhcdTA0NDNcdTA0M2NcdTA0M2UgXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0IFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzNVx1MDQzNCBFbWFpbCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDEgXHUwNDMwXHUwNDQxXHUwNDQyLiBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzhcdTA0M2FcdTA0NDFcdTA0MzggbWFpbHRvOiBcdTA0MzhcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAgXHUwNDNhXHUwNDQzXHUwNDNkXHUwNDMwXHUwNDNjIiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDQxMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNFwvXHUwNDQyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwIFx1MDQzNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzhcdTA0M2RcdTA0M2VcdTA0MzQiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDQxMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNFwvXHUwNDQyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwXHUwNDM4IFx1MDQzMlx1MDQzOFx1MDQzNFx1MDQzNVx1MDQzZSIsCiJQb3N0ZXIiOiAiXHUwNDJkXHUwNDRhXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDNkXHUwNDNlXHUwNDNjXHUwNDMwIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0NDdcdTA0MzBcdTA0NDhcdTA0M2NcdTA0MzBcdTA0MzggXHUwNDMwXHUwNDNiXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDMyXHUwNGUzIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiZW1iZWQgXHUwNDNhXHUwNDNlXHUwNDM0XHUwNDQwXHUwNDNlIFx1MDQzOFx1MDQzZFx1MDRiN1x1MDQzZSBcdTA0MzJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzQgXHUwNDNhXHUwNDQzXHUwNDNkXHUwNDM1XHUwNDM0IiwKIkluc2VydCB2aWRlbyI6ICJcdTA0MTJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzRcdTA0MzggXHUwNDMyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkVtYmVkIjogIkVtYmVkIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDQxMVx1MDQzNVx1MDQ0NFx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMCIsCiJQYWdlIGJyZWFrIjogIlx1MDQyMVx1MDQzMFx1MDRiM1x1MDQzOFx1MDQ0NFx1MDQzMFx1MDQ0MFx1MDQzZSBcdTA0NDhcdTA0MzhcdTA0M2FcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0M2QiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA0MTNcdTA0NDNcdTA0MzdcdTA0M2VcdTA0NDhcdTA0NDJcdTA0MzBcdTA0M2QgXHUwNGIzXHUwNDMwXHUwNDNjXHUwNDQ3XHUwNDQzIFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzZCIsCiJQcmV2aWV3IjogIlx1MDQxY1x1MDQzMFx1MDQzZFx1MDQzN1x1MDQ0M1x1MDQ0MCIsCiJQcmludCI6ICJcdTA0MjdcdTA0M2VcdTA0M2YgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIlNhdmUiOiAiXHUwNDFkXHUwNDM4XHUwNDMzXHUwNDNlXHUwNGIzIFx1MDQzNFx1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzZCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNDI1XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0NVx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ0OFx1MDQ0M1x1MDQzNFx1MDQzMFx1MDQ0MFx1MDQzZSBcdTA0NTFcdTA0NDRcdTA0NDJcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDNlXHUwNDNkXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNjIiwKIlJlcGxhY2UiOiAiXHUwNDIyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwIiwKIk5leHQiOiAiXHUwNDFlXHUwNDRmXHUwNDNkXHUwNDM0XHUwNDMwIiwKIldob2xlIHdvcmRzIjogIlx1MDQxYVx1MDQzMFx1MDQzYlx1MDQzOFx1MDQzY1x1MDQzMFx1MDRiM1x1MDQzZVx1MDQzOCBcdTA0M2ZcdTA0NDNcdTA0NDBcdTA0NDBcdTA0MzAiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA0MDFcdTA0NDRcdTA0NDJcdTA0MzBcdTA0M2QgXHUwNDMyXHUwNDMwIFx1MDQ0Mlx1MDQzMFx1MDQ5M1x1MDQzOFx1MDQ0MCBcdTA0MzRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0M2QiLAoiUmVwbGFjZSB3aXRoIjogIlx1MDQyMlx1MDQzMFx1MDQ5M1x1MDQzOFx1MDQ0MCBcdTA0MzFcdTA0MzAiLAoiRmluZCI6ICJcdTA0MDFcdTA0NDRcdTA0NDJcdTA0MzBcdTA0M2QiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDIyXHUwNDMwXHUwNDkzXHUwNDM4XHUwNDQwXHUwNDM4IFx1MDRiM1x1MDQzMFx1MDQzY1x1MDQzMFx1MDQzMFx1MDQ0OCIsCiJNYXRjaCBjYXNlIjogIlx1MDQxY1x1MDQ0M1x1MDQzMlx1MDQzZVx1MDQ0NFx1MDQzOFx1MDQ5Ylx1MDQzMFx1MDQ0MiIsCiJQcmV2IjogIlx1MDQxM1x1MDQ0M1x1MDQzN1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQzMCIsCiJTcGVsbGNoZWNrIjogIlx1MDQyMlx1MDQzMFx1MDQ0NFx1MDQ0Mlx1MDQzOFx1MDQ0OFx1MDQzOCBcdTA0MzNcdTA0NDBcdTA0MzBcdTA0M2NcdTA0M2NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0ZTMiLAoiRmluaXNoIjogIlx1MDQyMlx1MDQzMFx1MDQzY1x1MDQzZVx1MDQzYyIsCiJJZ25vcmUgYWxsIjogIlx1MDQxMFx1MDRiM1x1MDQzMFx1MDQzY1x1MDQzOFx1MDQ0Zlx1MDQ0MiBcdTA0M2RcdTA0MzBcdTA0MzRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDMxXHUwNDMwIFx1MDRiM1x1MDQzMFx1MDQzY1x1MDQzY1x1MDQzMFx1MDQ0OCIsCiJJZ25vcmUiOiAiXHUwNDEwXHUwNGIzXHUwNDMwXHUwNDNjXHUwNDM4XHUwNDRmXHUwNDQyIFx1MDQzZFx1MDQzMFx1MDQzNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQzZCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTA0MTRcdTA0MzBcdTA0NDAgXHUwNDNiXHUwNDQzXHUwNDkzXHUwNDMwXHUwNDQyIFx1MDQzOFx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzMCBcdTA0M2FcdTA0NDNcdTA0M2QiLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiXHUwNDI1XHUwNDMwXHUwNDQyIFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDNmXHUwNDM1XHUwNDQ4IFx1MDQzMFx1MDQzNyIsCiJSb3dzIjogIlx1MDQyNVx1MDQzMFx1MDQ0Mlx1MDRiM1x1MDQzZSIsCiJIZWlnaHQiOiAiXHUwNDExXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDM4IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA0MjVcdTA0MzBcdTA0NDIgXHUwNDMzXHUwNDQzXHUwNDM3XHUwNDNlXHUwNDQ4XHUwNDQyXHUwNDMwXHUwNDNkIFx1MDQzZlx1MDQzMFx1MDQ0MSBcdTA0MzBcdTA0MzciLAoiQWxpZ25tZW50IjogIlx1MDQyMFx1MDQzZVx1MDQ0MVx1MDQ0MiBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDQyMFx1MDQzMFx1MDQzZFx1MDQzM1x1MDQzOCBcdTA0YjNcdTA0NDNcdTA0MzRcdTA0NDNcdTA0MzQiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDQxM1x1MDQ0M1x1MDQ0MFx1MDQ0M1x1MDRiM1x1MDQzOCBcdTA0NDFcdTA0NDNcdTA0NDJcdTA0NDNcdTA0M2QiLAoiUm93IjogIlx1MDQyNVx1MDQzMFx1MDQ0MiIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA0MjFcdTA0NDNcdTA0NDJcdTA0NDNcdTA0M2QgXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0IFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0M2ZcdTA0MzVcdTA0NDggXHUwNDMwXHUwNDM3IiwKIlNwbGl0IGNlbGwiOiAiXHUwNDIxXHUwNGVmXHUwNDQwXHUwNDNlXHUwNDQ1XHUwNDM4XHUwNGIzXHUwNDNlXHUwNDQwXHUwNDNlIFx1MDQzMVx1MDQ0M1x1MDQ0MFx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNDI0XHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDM4IFx1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0M1x1MDQzZFx1MDQzMCIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNDI0XHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDM4IFx1MDQzMVx1MDQzNVx1MDQ0MFx1MDQ0M1x1MDQzZFx1MDQzMCIsCiJSb3cgdHlwZSI6ICJcdTA0MWRcdTA0MzBcdTA0M2NcdTA0NDNcdTA0MzRcdTA0MzggXHUwNDQ1XHUwNDMwXHUwNDQyIiwKIkluc2VydCB0YWJsZSI6ICJcdTA0MTJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzQgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM4IFx1MDRiN1x1MDQzMFx1MDQzNFx1MDQzMlx1MDQzMFx1MDQzYiIsCiJCb2R5IjogIlx1MDQ5YVx1MDQzOFx1MDQ0MVx1MDQzY1x1MDQzOCBcdTA0MzBcdTA0NDFcdTA0M2JcdTA0MzgiLAoiQ2FwdGlvbiI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzAiLAoiRm9vdGVyIjogIlx1MDQ5YVx1MDQzOFx1MDQ0MVx1MDQzY1x1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NTFcdTA0M2RcdTA0MzgiLAoiRGVsZXRlIHJvdyI6ICJcdTA0MWRcdTA0MzVcdTA0NDFcdTA0NDIgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM4IFx1MDQ0NVx1MDQzMFx1MDQ0MiIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDQyNVx1MDQzMFx1MDQ0MiBcdTA0MzNcdTA0NDNcdTA0MzdcdTA0M2VcdTA0NDhcdTA0NDJcdTA0MzBcdTA0M2QgXHUwNDNmXHUwNDM1XHUwNDQ4IFx1MDQzMFx1MDQzNyIsCiJTY29wZSI6ICJTY29wZSIsCiJEZWxldGUgdGFibGUiOiAiXHUwNDFkXHUwNDM1XHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0YjdcdTA0MzBcdTA0MzRcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSCBBbGlnbiI6ICJcdTA0MTBcdTA0MzcgXHUwNDMxXHUwNDNlXHUwNDNiXHUwNDNlIFx1MDQzMVx1MDQzMCBcdTA0M2ZcdTA0M2VcdTA0NTFcdTA0M2QiLAoiVG9wIjogIlx1MDQxMVx1MDQzZVx1MDQzYlx1MDQzZSIsCiJIZWFkZXIgY2VsbCI6ICJcdTA0MjFcdTA0MzBcdTA0NDBcdTA0M2JcdTA0MzBcdTA0MzJcdTA0YjNcdTA0MzAiLAoiQ29sdW1uIjogIlx1MDQyMVx1MDQ0M1x1MDQ0Mlx1MDQ0M1x1MDQzZCIsCiJSb3cgZ3JvdXAiOiAiXHUwNDEzXHUwNDQzXHUwNDQwXHUwNDQzXHUwNGIzXHUwNDM4IFx1MDQ0NVx1MDQzMFx1MDQ0Mlx1MDRiM1x1MDQzZSIsCiJDZWxsIjogIlx1MDQyMVx1MDRlZlx1MDQ0MFx1MDQzZVx1MDQ0NSIsCiJNaWRkbGUiOiAiXHUwNDFjXHUwNDNlXHUwNDMxXHUwNDMwXHUwNDM5XHUwNDNkIiwKIkNlbGwgdHlwZSI6ICJcdTA0MWRcdTA0MzBcdTA0M2NcdTA0NDNcdTA0MzRcdTA0MzggXHUwNDQxXHUwNDQzXHUwNDQwXHUwNDNlXHUwNDQ1XHUwNGUzIiwKIkNvcHkgcm93IjogIlx1MDQxZFx1MDQ0M1x1MDQ0MVx1MDQ0NVx1MDQzMFx1MDQzMVx1MDQzZVx1MDQ0MFx1MDQzNFx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzOCBcdTA0NDVcdTA0MzBcdTA0NDIiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDI1XHUwNDQzXHUwNDQxXHUwNDQzXHUwNDQxXHUwNDM4XHUwNDRmXHUwNDQyXHUwNDM4IFx1MDQ0NVx1MDQzMFx1MDQ0MiIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQyNVx1MDQ0M1x1MDQ0MVx1MDQ0M1x1MDQ0MVx1MDQzOFx1MDQ0Zlx1MDQ0Mlx1MDQzOCBcdTA0YjdcdTA0MzBcdTA0MzRcdTA0MzJcdTA0MzBcdTA0M2IiLAoiQm90dG9tIjogIlx1MDQxZlx1MDQzZVx1MDQ1MVx1MDQzZCIsCiJWIEFsaWduIjogIlx1MDQxMFx1MDQzNyBcdTA0NDdcdTA0MzBcdTA0M2YgXHUwNDMxXHUwNDMwIFx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0MiIsCiJIZWFkZXIiOiAiXHUwNDlhXHUwNDM4XHUwNDQxXHUwNDNjXHUwNDM4IFx1MDQzMVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzOCIsCiJSaWdodCI6ICJcdTA0MjBcdTA0M2VcdTA0NDFcdTA0NDIiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJcdTA0MjFcdTA0NDNcdTA0NDJcdTA0NDNcdTA0M2QgXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0IFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0M2ZcdTA0MzBcdTA0NDEgXHUwNDMwXHUwNDM3IiwKIkNvbHMiOiAiXHUwNDIxXHUwNDQzXHUwNDQyXHUwNDQzXHUwNDNkXHUwNGIzXHUwNDNlIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwNDI1XHUwNDMwXHUwNDQyIFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzNCBcdTA0M2FcdTA0MzBcdTA0NDBcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDNmXHUwNDMwXHUwNDQxIFx1MDQzMFx1MDQzNyIsCiJXaWR0aCI6ICJcdTA0MWZcdTA0MzBcdTA0YjNcdTA0M2RcdTA0MzgiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDQyNVx1MDQ0M1x1MDQ0MVx1MDQ0M1x1MDQ0MVx1MDQzOFx1MDQ0Zlx1MDQ0Mlx1MDQzOCBcdTA0NDFcdTA0ZWZcdTA0NDBcdTA0M2VcdTA0NDUiLAoiTGVmdCI6ICJcdTA0MjdcdTA0MzBcdTA0M2YiLAoiQ3V0IHJvdyI6ICJcdTA0MTFcdTA0NDNcdTA0NDBcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2RcdTA0MzggXHUwNDQ1XHUwNDMwXHUwNDQyIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNDFkXHUwNDM1XHUwNDQxXHUwNDQyIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZFx1MDQzOCBcdTA0NDFcdTA0NDNcdTA0NDJcdTA0NDNcdTA0M2QiLAoiQ2VudGVyIjogIlx1MDQxY1x1MDQzMFx1MDQ0MFx1MDQzYVx1MDQzMFx1MDQzNyIsCiJNZXJnZSBjZWxscyI6ICJcdTA0MjFcdTA0ZWZcdTA0NDBcdTA0M2VcdTA0NDVcdTA0MzhcdTA0YjNcdTA0M2VcdTA0NDBcdTA0M2UgXHUwNDRmXHUwNDNhXHUwNGI3XHUwNDNlXHUwNDRmIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzNFx1MDQzMFx1MDQzZCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNDEyXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM0XHUwNDM4IFx1MDQ5Ylx1MDQzZVx1MDQzYlx1MDQzMFx1MDQzMSIsCiJUZW1wbGF0ZXMiOiAiXHUwNDlhXHUwNDNlXHUwNDNiXHUwNDMwXHUwNDMxIiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNDIwXHUwNDMwXHUwNDNkXHUwNDMzXHUwNDM4IFx1MDQzZlx1MDQ0M1x1MDQ0OFx1MDQ0Mlx1MDQzOCBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0M2QiLAoiQ3VzdG9tLi4uIjogIlx1MDQyNVx1MDQ0M1x1MDQ0MVx1MDQ0M1x1MDQ0MVx1MDRlMyIsCiJDdXN0b20gY29sb3IiOiAiXHUwNDIwXHUwNDMwXHUwNDNkXHUwNDMzXHUwNDM4IFx1MDQ0NVx1MDQ0M1x1MDQ0MVx1MDQ0M1x1MDQ0MVx1MDRlMyIsCiJObyBjb2xvciI6ICJcdTA0MTFcdTA0MzUgXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDMzIiwKIlRleHQgY29sb3IiOiAiXHUwNDIwXHUwNDMwXHUwNDNkXHUwNDMzXHUwNDM4IFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzZCIsCiJTaG93IGJsb2NrcyI6ICJcdTA0MWRcdTA0MzhcdTA0NDhcdTA0M2VcdTA0M2QgXHUwNDM0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDNkXHUwNDM4IFx1MDQzM1x1MDQ0M1x1MDQ0MFx1MDQ0M1x1MDRiM1x1MDRiM1x1MDQzZSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDQyMFx1MDQzMFx1MDQzY1x1MDQzN1x1MDRiM1x1MDQzZVx1MDQzOCBcdTA0M2NcdTA0MzBcdTA0NDVcdTA0NDFcdTA0NDNcdTA0NDFcdTA0NDBcdTA0M2UgXHUwNDNkXHUwNDM4XHUwNDQ4XHUwNDNlXHUwNDNkIFx1MDQzNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQzZCIsCiJXb3JkczogezB9IjogIlx1MDQxYVx1MDQzYlx1MDQzOFx1MDQzY1x1MDQzMFx1MDRiM1x1MDQzZTogezB9IiwKIkluc2VydCI6ICJcdTA0MTJcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzQiLAoiRmlsZSI6ICJcdTA0MjRcdTA0MzBcdTA0MzlcdTA0M2IiLAoiRWRpdCI6ICJcdTA0MjJcdTA0MzBcdTA0OTNcdTA0MzhcdTA0NDBcdTA0M2VcdTA0NDIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwNDFjXHUwNDM1XHUwNDNkXHUwNDRlIEFMVC1GOS4gXHUwNDEwXHUwNDQxXHUwNDMxXHUwNDNlXHUwNDMxXHUwNGIzXHUwNDNlIEFMVC1GMTAuIFx1MDQxYVx1MDQ0M1x1MDQzY1x1MDQzY1x1MDQzMFx1MDQzYSBBTFQtMCIsCiJUb29scyI6ICJcdTA0MTBcdTA0NDFcdTA0MzFcdTA0M2VcdTA0MzFcdTA0YjNcdTA0M2UiLAoiVmlldyI6ICJcdTA0MWNcdTA0MzBcdTA0M2RcdTA0MzdcdTA0NDNcdTA0NDAgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDM0XHUwNDMwXHUwNDNkIiwKIlRhYmxlIjogIlx1MDRiNlx1MDQzMFx1MDQzNFx1MDQzMlx1MDQzMFx1MDQzYiIsCiJGb3JtYXQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyIgp9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/th_TH.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0aF9USCcsewoiQ3V0IjogIlx1MGUxNVx1MGUzMVx1MGUxNCIsCiJIZWFkaW5nIDUiOiAiXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTJiXHUwZTMxXHUwZTI3IDUiLAoiSGVhZGVyIDIiOiAiXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTJiXHUwZTMxXHUwZTI3IDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwZTQwXHUwZTFhXHUwZTIzXHUwZTMyXHUwZTI3XHUwZTRjXHUwZTQwXHUwZTBiXHUwZTJkXHUwZTIzXHUwZTRjXHUwZTAyXHUwZTJkXHUwZTA3XHUwZTA0XHUwZTM4XHUwZTEzXHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTJhXHUwZTE5XHUwZTMxXHUwZTFhXHUwZTJhXHUwZTE5XHUwZTM4XHUwZTE5XHUwZTAxXHUwZTMyXHUwZTIzXHUwZTQwXHUwZTAyXHUwZTQ5XHUwZTMyXHUwZTE2XHUwZTM2XHUwZTA3XHUwZTQyXHUwZTE0XHUwZTIyXHUwZTE1XHUwZTIzXHUwZTA3XHUwZTQ0XHUwZTFiXHUwZTIyXHUwZTMxXHUwZTA3XHUwZTA0XHUwZTI1XHUwZTM0XHUwZTFiXHUwZTFhXHUwZTJkXHUwZTIzXHUwZTRjXHUwZTE0IFx1MGUwMVx1MGUyM1x1MGUzOFx1MGUxM1x1MGUzMlx1MGU0M1x1MGUwYVx1MGU0OVx1MGU0MVx1MGUxYlx1MGU0OVx1MGUxOVx1MGUxZVx1MGUzNFx1MGUyMVx1MGUxZVx1MGU0Y1x1MGUyNVx1MGUzMVx1MGUxNCBDdHJsK1hcL0NcL1YgXHUwZTQxXHUwZTE3XHUwZTE5IiwKIkhlYWRpbmcgNCI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgMiIsCiJQYXN0ZSI6ICJcdTBlMjdcdTBlMzJcdTBlMDciLAoiQ2xvc2UiOiAiXHUwZTFiXHUwZTM0XHUwZTE0IiwKIkZvbnQgRmFtaWx5IjogIlx1MGUxNVx1MGUyM1x1MGUzMFx1MGUwMVx1MGUzOVx1MGUyNVx1MGU0MVx1MGUxYVx1MGUxYVx1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyMyIsCiJQcmUiOiAiXHUwZTAxXHUwZTQ4XHUwZTJkXHUwZTE5IiwKIkFsaWduIHJpZ2h0IjogIlx1MGUwOFx1MGUzMVx1MGUxNFx1MGUwYVx1MGUzNFx1MGUxNFx1MGUwMlx1MGUyN1x1MGUzMiIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwZTQwXHUwZTJkXHUwZTAxXHUwZTJhXHUwZTMyXHUwZTIzXHUwZTQzXHUwZTJiXHUwZTIxXHUwZTQ4IiwKIkJsb2NrcXVvdGUiOiAiXHUwZTIyXHUwZTAxXHUwZTAyXHUwZTQ5XHUwZTJkXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxXHUwZTE3XHUwZTMxXHUwZTQ5XHUwZTA3XHUwZTIyXHUwZTQ4XHUwZTJkXHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyIiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwZTIzXHUwZTMyXHUwZTIyXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTI1XHUwZTMzXHUwZTE0XHUwZTMxXHUwZTFhXHUwZTQwXHUwZTI1XHUwZTAyIiwKIkhlYWRpbmcgMSI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgMSIsCiJIZWFkaW5ncyI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgMSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwZTQwXHUwZTFlXHUwZTM0XHUwZTQ4XHUwZTIxXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTQwXHUwZTIyXHUwZTM3XHUwZTQ5XHUwZTJkXHUwZTA3IiwKIkZvcm1hdHMiOiAiXHUwZTIzXHUwZTM5XHUwZTFiXHUwZTQxXHUwZTFhXHUwZTFhIiwKIkhlYWRlcnMiOiAiXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTJiXHUwZTMxXHUwZTI3IiwKIlNlbGVjdCBhbGwiOiAiXHUwZTQwXHUwZTI1XHUwZTM3XHUwZTJkXHUwZTAxXHUwZTE3XHUwZTMxXHUwZTQ5XHUwZTA3XHUwZTJiXHUwZTIxXHUwZTE0IiwKIkhlYWRlciAzIjogIlx1MGUyYVx1MGU0OFx1MGUyN1x1MGUxOVx1MGUyYlx1MGUzMVx1MGUyNyAzIiwKIkJsb2NrcyI6ICJcdTBlMWFcdTBlMjVcdTBlNDdcdTBlMmRcdTBlMDEiLAoiVW5kbyI6ICJcdTBlNDBcdTBlMjVcdTBlMzRcdTBlMDFcdTBlMTdcdTBlMzMiLAoiU3RyaWtldGhyb3VnaCI6ICJcdTBlMDJcdTBlMzVcdTBlMTRcdTBlMTdcdTBlMzFcdTBlMWEiLAoiQnVsbGV0IGxpc3QiOiAiXHUwZTIzXHUwZTMyXHUwZTIyXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTJhXHUwZTMxXHUwZTBkXHUwZTI1XHUwZTMxXHUwZTAxXHUwZTI5XHUwZTEzXHUwZTRjXHUwZTJiXHUwZTMxXHUwZTI3XHUwZTAyXHUwZTQ5XHUwZTJkXHUwZTIyXHUwZTQ4XHUwZTJkXHUwZTIyIiwKIkhlYWRlciAxIjogIlx1MGUyYVx1MGU0OFx1MGUyN1x1MGUxOVx1MGUyYlx1MGUzMVx1MGUyNyAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MGUxNVx1MGUzMVx1MGUyN1x1MGUyMlx1MGUwMSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MGUyNVx1MGU0OVx1MGUzMlx1MGUwN1x1MGUwMVx1MGUzMlx1MGUyM1x1MGUwOFx1MGUzMVx1MGUxNFx1MGUyM1x1MGUzOVx1MGUxYlx1MGU0MVx1MGUxYVx1MGUxYSIsCiJGb250IFNpemVzIjogIlx1MGUwMlx1MGUxOVx1MGUzMlx1MGUxNFx1MGU0MVx1MGUxYVx1MGUxYVx1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyMyIsCiJTdWJzY3JpcHQiOiAiXHUwZTE1XHUwZTMxXHUwZTI3XHUwZTJiXHUwZTQ5XHUwZTJkXHUwZTIyIiwKIkhlYWRlciA2IjogIlx1MGUyYVx1MGU0OFx1MGUyN1x1MGUxOVx1MGUyYlx1MGUzMVx1MGUyNyA2IiwKIlJlZG8iOiAiXHUwZTE3XHUwZTRkXHUwZTMyXHUwZTBiXHUwZTQ5XHUwZTMzIiwKIlBhcmFncmFwaCI6ICJcdTBlMjJcdTBlNDhcdTBlMmRcdTBlMmJcdTBlMTlcdTBlNDlcdTBlMzIiLAoiT2siOiAiXHUwZTE1XHUwZTAxXHUwZTI1XHUwZTA3IiwKIkJvbGQiOiAiXHUwZTE1XHUwZTMxXHUwZTI3XHUwZTJiXHUwZTE5XHUwZTMyIiwKIkNvZGUiOiAiXHUwZTQyXHUwZTA0XHUwZTQ5XHUwZTE0IiwKIkl0YWxpYyI6ICJcdTBlMTVcdTBlMzFcdTBlMjdcdTBlNDBcdTBlMmRcdTBlMzVcdTBlMjJcdTBlMDciLAoiQWxpZ24gY2VudGVyIjogIlx1MGUwOFx1MGUzMVx1MGUxNFx1MGUwMVx1MGUzNlx1MGU0OFx1MGUwN1x1MGUwMVx1MGUyNVx1MGUzMlx1MGUwNyIsCiJIZWFkZXIgNSI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjcgNSIsCiJIZWFkaW5nIDYiOiAiXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTJiXHUwZTMxXHUwZTI3IDYiLAoiSGVhZGluZyAzIjogIlx1MGUyYVx1MGU0OFx1MGUyN1x1MGUxOVx1MGUyYlx1MGUzMVx1MGUyNyAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTBlMjVcdTBlMTRcdTBlMDFcdTBlMzJcdTBlMjNcdTBlNDBcdTBlMjJcdTBlMzdcdTBlNDlcdTBlMmRcdTBlMDciLAoiSGVhZGVyIDQiOiAiXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTJiXHUwZTMxXHUwZTI3IDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MGUwMVx1MGUzMlx1MGUyM1x1MGUyN1x1MGUzMlx1MGUwN1x1MGUxNVx1MGUyZFx1MGUxOVx1MGUxOVx1MGUzNVx1MGU0OVx1MGUyZFx1MGUyMlx1MGUzOVx1MGU0OFx1MGU0M1x1MGUxOVx1MGU0Mlx1MGUyYlx1MGUyMVx1MGUxNFx1MGUwMlx1MGU0OVx1MGUyZFx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGUxOFx1MGUyM1x1MGUyM1x1MGUyMVx1MGUxNFx1MGUzMiBcdTBlNDBcdTBlMTlcdTBlMzdcdTBlNDlcdTBlMmRcdTBlMmJcdTBlMzJcdTBlMDhcdTBlMzBcdTBlMTZcdTBlMzlcdTBlMDFcdTBlMjdcdTBlMzJcdTBlMDdcdTBlNDBcdTBlMWJcdTBlNDdcdTBlMTlcdTBlMDJcdTBlNDlcdTBlMmRcdTBlMDRcdTBlMjdcdTBlMzJcdTBlMjFcdTBlMThcdTBlMjNcdTBlMjNcdTBlMjFcdTBlMTRcdTBlMzJcdTBlMDhcdTBlMTlcdTBlMDFcdTBlMjdcdTBlNDhcdTBlMzJcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMDhcdTBlMzBcdTBlMWJcdTBlMzRcdTBlMTRcdTBlMTVcdTBlMzFcdTBlMjdcdTBlNDBcdTBlMjVcdTBlMzdcdTBlMmRcdTBlMDFcdTBlMTlcdTBlMzVcdTBlNDkiLAoiVW5kZXJsaW5lIjogIlx1MGUwMlx1MGUzNVx1MGUxNFx1MGU0MFx1MGUyYVx1MGU0OVx1MGUxOVx1MGU0M1x1MGUxNVx1MGU0OSIsCiJDYW5jZWwiOiAiXHUwZTIyXHUwZTAxXHUwZTQwXHUwZTI1XHUwZTM0XHUwZTAxIiwKIkp1c3RpZnkiOiAiXHUwZTQwXHUwZTE1XHUwZTQ3XHUwZTIxXHUwZTQxXHUwZTE5XHUwZTI3IiwKIklubGluZSI6ICJcdTBlNDFcdTBlMWFcdTBlMWFcdTBlMmRcdTBlMzRcdTBlMTlcdTBlNDRcdTBlMjVcdTBlMTlcdTBlNGMiLAoiQ29weSI6ICJcdTBlMDRcdTBlMzFcdTBlMTRcdTBlMjVcdTBlMmRcdTBlMDEiLAoiQWxpZ24gbGVmdCI6ICJcdTBlMDhcdTBlMzFcdTBlMTRcdTBlMGFcdTBlMzRcdTBlMTRcdTBlMGJcdTBlNDlcdTBlMzJcdTBlMjIiLAoiVmlzdWFsIGFpZHMiOiAiXHUwZTE3XHUwZTMxXHUwZTI4XHUwZTE5XHUwZTM5XHUwZTFiXHUwZTAxXHUwZTIzXHUwZTEzXHUwZTRjIiwKIkxvd2VyIEdyZWVrIjogIlx1MGUwMVx1MGUyM1x1MGUzNVx1MGUwMVx1MGUxN1x1MGUzNVx1MGU0OFx1MGUxNVx1MGU0OFx1MGUzM1x1MGUwMVx1MGUyN1x1MGU0OFx1MGUzMiIsCiJTcXVhcmUiOiAiXHUwZTA4XHUwZTMxXHUwZTE1XHUwZTM4XHUwZTIzXHUwZTMxXHUwZTJhIiwKIkRlZmF1bHQiOiAiXHUwZTA0XHUwZTQ4XHUwZTMyXHUwZTQwXHUwZTIzXHUwZTM0XHUwZTQ4XHUwZTIxXHUwZTE1XHUwZTQ5XHUwZTE5IiwKIkxvd2VyIEFscGhhIjogIlx1MGUyZFx1MGUzMVx1MGUyNVx1MGUxZlx1MGUzMlx1MGUxN1x1MGUzNVx1MGU0OFx1MGUxNVx1MGU0OFx1MGUzM1x1MGUwMVx1MGUyN1x1MGU0OFx1MGUzMiIsCiJDaXJjbGUiOiAiXHUwZTI3XHUwZTA3XHUwZTAxXHUwZTI1XHUwZTIxIiwKIkRpc2MiOiAiXHUwZTE0XHUwZTM0XHUwZTJhXHUwZTAxXHUwZTRjIiwKIlVwcGVyIEFscGhhIjogIlx1MGUyZFx1MGUzMVx1MGUyNVx1MGUxZlx1MGUzMlx1MGUxN1x1MGUzNVx1MGU0OFx1MGUyYVx1MGUzOVx1MGUwN1x1MGUwMVx1MGUyN1x1MGU0OFx1MGUzMiIsCiJVcHBlciBSb21hbiI6ICJcdTBlNDJcdTBlMjNcdTBlMjFcdTBlMzFcdTBlMTlcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMmFcdTBlMzlcdTBlMDdcdTBlMDFcdTBlMjdcdTBlNDhcdTBlMzIiLAoiTG93ZXIgUm9tYW4iOiAiXHUwZTQyXHUwZTIzXHUwZTIxXHUwZTMxXHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTE1XHUwZTQ4XHUwZTMzXHUwZTAxXHUwZTI3XHUwZTQ4XHUwZTMyIiwKIk5hbWUiOiAiXHUwZTBhXHUwZTM3XHUwZTQ4XHUwZTJkIiwKIkFuY2hvciI6ICJcdTBlMDhcdTBlMzhcdTBlMTRcdTBlMjJcdTBlMzZcdTBlMTQiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMjFcdTBlMzVcdTBlMDFcdTBlMzJcdTBlMjNcdTBlNDBcdTBlMWJcdTBlMjVcdTBlMzVcdTBlNDhcdTBlMjJcdTBlMTlcdTBlNDFcdTBlMWJcdTBlMjVcdTBlMDdcdTBlMTdcdTBlMzVcdTBlNDhcdTBlNDRcdTBlMjFcdTBlNDhcdTBlNDRcdTBlMTRcdTBlNDlcdTBlMWFcdTBlMzFcdTBlMTlcdTBlMTdcdTBlMzZcdTBlMDEgXHUwZTA0XHUwZTM4XHUwZTEzXHUwZTE1XHUwZTQ5XHUwZTJkXHUwZTA3XHUwZTAxXHUwZTMyXHUwZTIzXHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTA4XHUwZTMwXHUwZTJkXHUwZTJkXHUwZTAxXHUwZTJiXHUwZTIzXHUwZTM3XHUwZTJkXHUwZTQ0XHUwZTIxXHUwZTQ4PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwZTA0XHUwZTM3XHUwZTE5XHUwZTA0XHUwZTQ4XHUwZTMyXHUwZTQxXHUwZTFhXHUwZTFhXHUwZTIzXHUwZTQ4XHUwZTMyXHUwZTA3XHUwZTI1XHUwZTQ4XHUwZTMyXHUwZTJhXHUwZTM4XHUwZTE0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MGUyZFx1MGUzMVx1MGUwMVx1MGUwMlx1MGUyM1x1MGUzMFx1MGUxZVx1MGUzNFx1MGU0MFx1MGUyOFx1MGUyOSIsCiJTb3VyY2UgY29kZSI6ICJcdTBlNDJcdTBlMDRcdTBlNDlcdTBlMTRcdTBlMTVcdTBlNDlcdTBlMTlcdTBlMDlcdTBlMWFcdTBlMzFcdTBlMWEiLAoiQ29sb3IiOiAiXHUwZTJhXHUwZTM1IiwKIlJpZ2h0IHRvIGxlZnQiOiAiXHUwZTAyXHUwZTI3XHUwZTMyXHUwZTQ0XHUwZTFiXHUwZTBiXHUwZTQ5XHUwZTMyXHUwZTIyIiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwZTBiXHUwZTQ5XHUwZTMyXHUwZTIyXHUwZTQ0XHUwZTFiXHUwZTAyXHUwZTI3XHUwZTMyIiwKIkVtb3RpY29ucyI6ICJcdTBlMmRcdTBlMzRcdTBlNDJcdTBlMjFcdTBlMTVcdTBlMzRcdTBlMDRcdTBlMmRcdTBlMTkiLAoiUm9ib3RzIjogIlx1MGUyYlx1MGUzOFx1MGU0OFx1MGUxOVx1MGUyMlx1MGUxOVx1MGUxNVx1MGU0YyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyYVx1MGUyMVx1MGUxYVx1MGUzMVx1MGUxNVx1MGUzNFx1MGUwMlx1MGUyZFx1MGUwN1x1MGU0MFx1MGUyZFx1MGUwMVx1MGUyYVx1MGUzMlx1MGUyMyIsCiJUaXRsZSI6ICJcdTBlMGFcdTBlMzdcdTBlNDhcdTBlMmRcdTBlNDBcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDciLAoiS2V5d29yZHMiOiAiXHUwZTA0XHUwZTMzXHUwZTJhXHUwZTMzXHUwZTA0XHUwZTMxXHUwZTBkIiwKIkVuY29kaW5nIjogIlx1MGUwMVx1MGUzMlx1MGUyM1x1MGU0MFx1MGUwMlx1MGU0OVx1MGUzMlx1MGUyM1x1MGUyYlx1MGUzMVx1MGUyYSIsCiJEZXNjcmlwdGlvbiI6ICJcdTBlMDRcdTBlMzNcdTBlMmRcdTBlMThcdTBlMzRcdTBlMWFcdTBlMzJcdTBlMjIiLAoiQXV0aG9yIjogIlx1MGUxY1x1MGUzOVx1MGU0OVx1MGU0MFx1MGUwMlx1MGUzNVx1MGUyMlx1MGUxOSIsCiJGdWxsc2NyZWVuIjogIlx1MGU0MFx1MGUxNVx1MGU0N1x1MGUyMVx1MGUwOFx1MGUyZCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwZTQwXHUwZTJhXHUwZTQ5XHUwZTE5XHUwZTQxXHUwZTE5XHUwZTI3XHUwZTE5XHUwZTJkXHUwZTE5IiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwZTBhXHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTI3XHUwZTQ4XHUwZTMyXHUwZTA3XHUwZTQxXHUwZTE5XHUwZTI3XHUwZTE5XHUwZTJkXHUwZTE5IiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDFcL1x1MGU0MVx1MGUwMVx1MGU0OVx1MGU0NFx1MGUwMlx1MGUyM1x1MGUzOVx1MGUxYiIsCiJHZW5lcmFsIjogIlx1MGUxN1x1MGUzMVx1MGU0OFx1MGUyN1x1MGU0NFx1MGUxYiIsCiJBZHZhbmNlZCI6ICJcdTBlMDJcdTBlMzFcdTBlNDlcdTBlMTlcdTBlMmFcdTBlMzlcdTBlMDciLAoiU291cmNlIjogIlx1MGU0MVx1MGUyYlx1MGUyNVx1MGU0OFx1MGUwN1x1MGUxN1x1MGUzNVx1MGU0OFx1MGUyMVx1MGUzMiIsCiJCb3JkZXIiOiAiXHUwZTQwXHUwZTJhXHUwZTQ5XHUwZTE5XHUwZTAyXHUwZTJkXHUwZTFhIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTBlMDhcdTBlMzNcdTBlMDFcdTBlMzFcdTBlMTRcdTBlMmFcdTBlMzFcdTBlMTRcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTkiLAoiVmVydGljYWwgc3BhY2UiOiAiXHUwZTBhXHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTI3XHUwZTQ4XHUwZTMyXHUwZTA3XHUwZTQxXHUwZTE5XHUwZTI3XHUwZTE1XHUwZTMxXHUwZTQ5XHUwZTA3IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MGUwNFx1MGUzM1x1MGUyZFx1MGUxOFx1MGUzNFx1MGUxYVx1MGUzMlx1MGUyMlx1MGUyM1x1MGUzOVx1MGUxYiIsCiJTdHlsZSI6ICJcdTBlMjNcdTBlMzlcdTBlMWJcdTBlNDFcdTBlMWFcdTBlMWEiLAoiRGltZW5zaW9ucyI6ICJcdTBlMDJcdTBlMTlcdTBlMzJcdTBlMTQiLAoiSW5zZXJ0IGltYWdlIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVx1MGUyM1x1MGUzOVx1MGUxYlx1MGUyMFx1MGUzMlx1MGUxZSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDFcdTBlMjdcdTBlMzFcdTBlMTlcdTBlMTdcdTBlMzVcdTBlNDhcL1x1MGU0MFx1MGUyN1x1MGUyNVx1MGUzMiIsCiJSZW1vdmUgbGluayI6ICJcdTBlNDBcdTBlMmRcdTBlMzJcdTBlMjVcdTBlMzRcdTBlMDdcdTBlMDFcdTBlNGNcdTBlMmRcdTBlMmRcdTBlMDEiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwZTAyXHUwZTQ5XHUwZTJkXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxXHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTA4XHUwZTMwXHUwZTQxXHUwZTJhXHUwZTE0XHUwZTA3IiwKIkFuY2hvcnMiOiAiXHUwZTA4XHUwZTM4XHUwZTE0XHUwZTIyXHUwZTM2XHUwZTE0IiwKIkluc2VydCBsaW5rIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVx1MGUyNVx1MGUzNFx1MGUwN1x1MGUwMVx1MGU0YyIsCiJOZXcgd2luZG93IjogIlx1MGU0MFx1MGUxYlx1MGUzNFx1MGUxNFx1MGUyYlx1MGUxOVx1MGU0OVx1MGUzMlx1MGUxNVx1MGU0OFx1MGUzMlx1MGUwN1x1MGU0M1x1MGUyYlx1MGUyMVx1MGU0OCIsCiJOb25lIjogIlx1MGU0NFx1MGUyMVx1MGU0OFx1MGUyMVx1MGUzNSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVVJMIFx1MGUxN1x1MGUzNVx1MGU0OFx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyM1x1MGUzMFx1MGUxYVx1MGUzOFx1MGUxNFx1MGUzOVx1MGU0MFx1MGUyYlx1MGUyMVx1MGUzN1x1MGUyZFx1MGUxOVx1MGUyN1x1MGU0OFx1MGUzMlx1MGU0MFx1MGUxYlx1MGU0N1x1MGUxOVx1MGUyNVx1MGUzNFx1MGU0OVx1MGUwN1x1MGUwNFx1MGU0Y1x1MGUyMFx1MGUzMlx1MGUyMlx1MGUxOVx1MGUyZFx1MGUwMSBcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMTVcdTBlNDlcdTBlMmRcdTBlMDdcdTBlMDFcdTBlMzJcdTBlMjNcdTBlNDNcdTBlMmFcdTBlNDggaHR0cDpcL1wvIFx1MGUxOVx1MGUzM1x1MGUyYlx1MGUxOVx1MGU0OVx1MGUzMlx1MGUyYlx1MGUyM1x1MGUzN1x1MGUyZFx1MGU0NFx1MGUyMVx1MGU0OCIsCiJUYXJnZXQiOiAiXHUwZTQwXHUwZTFiXHUwZTQ5XHUwZTMyXHUwZTJiXHUwZTIxXHUwZTMyXHUwZTIyIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiVVJMIFx1MGUxN1x1MGUzNVx1MGU0OFx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyM1x1MGUzMFx1MGUxYVx1MGUzOFx1MGUxNFx1MGUzOVx1MGU0MFx1MGUyYlx1MGUyMVx1MGUzN1x1MGUyZFx1MGUxOVx1MGUyN1x1MGU0OFx1MGUzMlx1MGU0MFx1MGUxYlx1MGU0N1x1MGUxOVx1MGUyZFx1MGUzNVx1MGU0MFx1MGUyMVx1MGUyNVx1MGU0Y1x1MGU0MVx1MGUyZFx1MGUxNFx1MGU0MFx1MGUxNFx1MGUyM1x1MGUyYSBcdTBlMDRcdTBlMzhcdTBlMTNcdTBlMTVcdTBlNDlcdTBlMmRcdTBlMDdcdTBlMDFcdTBlMzJcdTBlMjNcdTBlNDNcdTBlMmFcdTBlNDggbWFpbHRvOiBcdTBlMTlcdTBlMzNcdTBlMmJcdTBlMTlcdTBlNDlcdTBlMzJcdTBlMmJcdTBlMjNcdTBlMzdcdTBlMmRcdTBlNDRcdTBlMjFcdTBlNDgiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXC9cdTBlNDFcdTBlMDFcdTBlNDlcdTBlNDRcdTBlMDJcdTBlMjVcdTBlMzRcdTBlMDdcdTBlMDFcdTBlNGMiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVwvXHUwZTQxXHUwZTAxXHUwZTQ5XHUwZTQ0XHUwZTAyXHUwZTI3XHUwZTM0XHUwZTE0XHUwZTM1XHUwZTQyXHUwZTJkIiwKIlBvc3RlciI6ICJcdTBlNDJcdTBlMWJcdTBlMmFcdTBlNDBcdTBlMTVcdTBlMmRcdTBlMjNcdTBlNGMiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MGU0MVx1MGUyYlx1MGUyNVx1MGU0OFx1MGUwN1x1MGUxN1x1MGUzNVx1MGU0OFx1MGUyMVx1MGUzMlx1MGUyYVx1MGUzM1x1MGUyM1x1MGUyZFx1MGUwNyIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MGUyN1x1MGUzMlx1MGUwN1x1MGU0Mlx1MGUwNFx1MGU0OVx1MGUxNFx1MGUxZFx1MGUzMVx1MGUwN1x1MGUxNVx1MGUzMVx1MGUyN1x1MGUwMlx1MGUyZFx1MGUwN1x1MGUwNFx1MGUzOFx1MGUxM1x1MGUxNFx1MGU0OVx1MGUzMlx1MGUxOVx1MGUyNVx1MGU0OFx1MGUzMlx1MGUwNzoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVx1MGUyN1x1MGUzNFx1MGUxNFx1MGUzNVx1MGU0Mlx1MGUyZCIsCiJFbWJlZCI6ICJcdTBlMWRcdTBlMzFcdTBlMDciLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwZTBhXHUwZTQ4XHUwZTJkXHUwZTA3XHUwZTI3XHUwZTQ4XHUwZTMyXHUwZTA3XHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTQxXHUwZTIyXHUwZTAxIiwKIlBhZ2UgYnJlYWsiOiAiXHUwZTE1XHUwZTMxXHUwZTI3XHUwZTQxXHUwZTFhXHUwZTQ4XHUwZTA3XHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyIiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwZTI3XHUwZTMyXHUwZTA3XHUwZTQwXHUwZTFiXHUwZTQ3XHUwZTE5XHUwZTAyXHUwZTQ5XHUwZTJkXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxIiwKIlByZXZpZXciOiAiXHUwZTQxXHUwZTJhXHUwZTE0XHUwZTA3XHUwZTE1XHUwZTMxXHUwZTI3XHUwZTJkXHUwZTIyXHUwZTQ4XHUwZTMyXHUwZTA3IiwKIlByaW50IjogIlx1MGUxZVx1MGUzNFx1MGUyMVx1MGUxZVx1MGU0YyIsCiJTYXZlIjogIlx1MGUxYVx1MGUzMVx1MGUxOVx1MGUxN1x1MGUzNlx1MGUwMSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTFlXHUwZTFhXHUwZTJhXHUwZTE1XHUwZTIzXHUwZTM0XHUwZTA3XHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTIzXHUwZTMwXHUwZTFhXHUwZTM4IiwKIlJlcGxhY2UiOiAiXHUwZTQxXHUwZTE3XHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4IiwKIk5leHQiOiAiXHUwZTE2XHUwZTMxXHUwZTE0XHUwZTQ0XHUwZTFiIiwKIldob2xlIHdvcmRzIjogIlx1MGUxN1x1MGUzMVx1MGU0OVx1MGUwN1x1MGUwNFx1MGUzMyIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MGUwNFx1MGU0OVx1MGUxOVx1MGUyYlx1MGUzMlx1MGU0MVx1MGUyNVx1MGUzMFx1MGU0MVx1MGUxN1x1MGUxOVx1MGUxN1x1MGUzNVx1MGU0OCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwZTQxXHUwZTE3XHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4XHUwZTE0XHUwZTQ5XHUwZTI3XHUwZTIyIiwKIkZpbmQiOiAiXHUwZTA0XHUwZTQ5XHUwZTE5XHUwZTJiXHUwZTMyIiwKIlJlcGxhY2UgYWxsIjogIlx1MGU0MVx1MGUxN1x1MGUxOVx1MGUxN1x1MGUzNVx1MGU0OFx1MGUxN1x1MGUzMVx1MGU0OVx1MGUwN1x1MGUyYlx1MGUyMVx1MGUxNCIsCiJNYXRjaCBjYXNlIjogIlx1MGUxNVx1MGUyM1x1MGUwN1x1MGUxNVx1MGUzMlx1MGUyMVx1MGUxNVx1MGUzMVx1MGUyN1x1MGUxZVx1MGUzNFx1MGUyMVx1MGUxZVx1MGU0Y1x1MGU0M1x1MGUyYlx1MGUwZFx1MGU0OC1cdTBlNDBcdTBlMjVcdTBlNDdcdTBlMDEiLAoiUHJldiI6ICJcdTBlMDFcdTBlNDhcdTBlMmRcdTBlMTlcdTBlMmJcdTBlMTlcdTBlNDlcdTBlMzIiLAoiU3BlbGxjaGVjayI6ICJcdTBlMTVcdTBlMjNcdTBlMjdcdTBlMDhcdTBlMDFcdTBlMzJcdTBlMjNcdTBlMmFcdTBlMzBcdTBlMDFcdTBlMTQiLAoiRmluaXNoIjogIlx1MGU0MFx1MGUyYVx1MGUyM1x1MGU0N1x1MGUwOFx1MGUyYVx1MGUzNFx1MGU0OVx1MGUxOSIsCiJJZ25vcmUgYWxsIjogIlx1MGUyNVx1MGUzMFx1MGU0MFx1MGUyN1x1MGU0OVx1MGUxOVx1MGUxN1x1MGUzMVx1MGU0OVx1MGUwN1x1MGUyYlx1MGUyMVx1MGUxNCIsCiJJZ25vcmUiOiAiXHUwZTI1XHUwZTMwXHUwZTQwXHUwZTI3XHUwZTQ5XHUwZTE5IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MGU0MFx1MGUxZVx1MGUzNFx1MGU0OFx1MGUyMVx1MGU0M1x1MGUxOVx1MGUxZVx1MGUwOFx1MGUxOVx1MGUzMlx1MGUxOVx1MGUzOFx1MGUwMVx1MGUyM1x1MGUyMSIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDFcdTBlNDFcdTBlMTZcdTBlMjdcdTBlMTRcdTBlNDlcdTBlMzJcdTBlMTlcdTBlMWFcdTBlMTkiLAoiUm93cyI6ICJcdTBlNDFcdTBlMTZcdTBlMjciLAoiSGVpZ2h0IjogIlx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGUyYVx1MGUzOVx1MGUwNyIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwZTI3XHUwZTMyXHUwZTA3XHUwZTQxXHUwZTE2XHUwZTI3XHUwZTE0XHUwZTQ5XHUwZTMyXHUwZTE5XHUwZTI1XHUwZTQ4XHUwZTMyXHUwZTA3IiwKIkFsaWdubWVudCI6ICJcdTBlMDFcdTBlMzJcdTBlMjNcdTBlMDhcdTBlMzFcdTBlMTRcdTBlNDFcdTBlMTlcdTBlMjciLAoiQm9yZGVyIGNvbG9yIjogIlx1MGUyYVx1MGUzNVx1MGUwMlx1MGUyZFx1MGUxYSIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwZTAxXHUwZTI1XHUwZTM4XHUwZTQ4XHUwZTIxXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjIiwKIlJvdyI6ICJcdTBlNDFcdTBlMTZcdTBlMjciLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjXHUwZTAyXHUwZTQ5XHUwZTMyXHUwZTA3XHUwZTJiXHUwZTE5XHUwZTQ5XHUwZTMyIiwKIlNwbGl0IGNlbGwiOiAiXHUwZTQxXHUwZTIyXHUwZTAxXHUwZTQwXHUwZTBiXHUwZTI1XHUwZTI1XHUwZTRjIiwKIkNlbGwgcGFkZGluZyI6ICJcdTBlMGFcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMjdcdTBlNDhcdTBlMzJcdTBlMDdcdTBlMjBcdTBlMzJcdTBlMjJcdTBlNDNcdTBlMTlcdTBlNDBcdTBlMGJcdTBlMjVcdTBlMjVcdTBlNGMiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MGUwYVx1MGU0OFx1MGUyZFx1MGUwN1x1MGUyN1x1MGU0OFx1MGUzMlx1MGUwN1x1MGUyM1x1MGUzMFx1MGUyYlx1MGUyN1x1MGU0OFx1MGUzMlx1MGUwN1x1MGU0MFx1MGUwYlx1MGUyNVx1MGUyNVx1MGU0YyIsCiJSb3cgdHlwZSI6ICJcdTBlMGFcdTBlMTlcdTBlMzRcdTBlMTRcdTBlMDJcdTBlMmRcdTBlMDdcdTBlNDFcdTBlMTZcdTBlMjciLAoiSW5zZXJ0IHRhYmxlIjogIlx1MGU0MVx1MGUxN1x1MGUyM1x1MGUwMVx1MGUxNVx1MGUzMlx1MGUyM1x1MGUzMlx1MGUwNyIsCiJCb2R5IjogIlx1MGU0MFx1MGUxOVx1MGUzN1x1MGU0OVx1MGUyZFx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMSIsCiJDYXB0aW9uIjogIlx1MGUxYlx1MGU0OVx1MGUzMlx1MGUyMlx1MGUwNFx1MGUzM1x1MGUyZFx1MGUxOFx1MGUzNFx1MGUxYVx1MGUzMlx1MGUyMiIsCiJGb290ZXIiOiAiXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTE3XHUwZTQ5XHUwZTMyXHUwZTIyIiwKIkRlbGV0ZSByb3ciOiAiXHUwZTI1XHUwZTFhXHUwZTQxXHUwZTE2XHUwZTI3IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwZTI3XHUwZTMyXHUwZTA3XHUwZTQxXHUwZTE2XHUwZTI3XHUwZTE0XHUwZTQ5XHUwZTMyXHUwZTE5XHUwZTFhXHUwZTE5IiwKIlNjb3BlIjogIlx1MGUwMlx1MGUyZFx1MGUxYVx1MGU0MFx1MGUwMlx1MGUxNSIsCiJEZWxldGUgdGFibGUiOiAiXHUwZTI1XHUwZTFhXHUwZTE1XHUwZTMyXHUwZTIzXHUwZTMyXHUwZTA3IiwKIkggQWxpZ24iOiAiXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTQwXHUwZTIzXHUwZTM1XHUwZTIyXHUwZTA3XHUwZTQzXHUwZTE5XHUwZTQxXHUwZTE5XHUwZTI3XHUwZTE5XHUwZTJkXHUwZTE5IiwKIlRvcCI6ICJcdTBlMWFcdTBlMTkiLAoiSGVhZGVyIGNlbGwiOiAiXHUwZTQwXHUwZTBiXHUwZTI1XHUwZTI1XHUwZTRjXHUwZTJhXHUwZTQ4XHUwZTI3XHUwZTE5XHUwZTJiXHUwZTMxXHUwZTI3IiwKIkNvbHVtbiI6ICJcdTBlMDRcdTBlMmRcdTBlMjVcdTBlMzFcdTBlMjFcdTBlMTlcdTBlNGMiLAoiUm93IGdyb3VwIjogIlx1MGUwMVx1MGUyNVx1MGUzOFx1MGU0OFx1MGUyMVx1MGU0MVx1MGUxNlx1MGUyNyIsCiJDZWxsIjogIlx1MGU0MFx1MGUwYlx1MGUyNVx1MGUyNVx1MGU0YyIsCiJNaWRkbGUiOiAiXHUwZTAxXHUwZTI1XHUwZTMyXHUwZTA3IiwKIkNlbGwgdHlwZSI6ICJcdTBlMGFcdTBlMTlcdTBlMzRcdTBlMTRcdTBlMDJcdTBlMmRcdTBlMDdcdTBlNDBcdTBlMGJcdTBlMjVcdTBlMjVcdTBlNGMiLAoiQ29weSByb3ciOiAiXHUwZTA0XHUwZTMxXHUwZTE0XHUwZTI1XHUwZTJkXHUwZTAxXHUwZTQxXHUwZTE2XHUwZTI3IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyYVx1MGUyMVx1MGUxYVx1MGUzMVx1MGUxNVx1MGUzNFx1MGUwMlx1MGUyZFx1MGUwN1x1MGU0MVx1MGUxNlx1MGUyNyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MGUwNFx1MGUzOFx1MGUxM1x1MGUyYVx1MGUyMVx1MGUxYVx1MGUzMVx1MGUxNVx1MGUzNFx1MGUwMlx1MGUyZFx1MGUwN1x1MGUxNVx1MGUzMlx1MGUyM1x1MGUzMlx1MGUwNyIsCiJCb3R0b20iOiAiXHUwZTI1XHUwZTQ4XHUwZTMyXHUwZTA3IiwKIlYgQWxpZ24iOiAiXHUwZTAxXHUwZTMyXHUwZTIzXHUwZTQwXHUwZTIzXHUwZTM1XHUwZTIyXHUwZTA3XHUwZTQzXHUwZTE5XHUwZTQxXHUwZTE5XHUwZTI3XHUwZTE1XHUwZTMxXHUwZTQ5XHUwZTA3IiwKIkhlYWRlciI6ICJcdTBlMmFcdTBlNDhcdTBlMjdcdTBlMTlcdTBlMmJcdTBlMzFcdTBlMjciLAoiUmlnaHQiOiAiXHUwZTAyXHUwZTI3XHUwZTMyIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjXHUwZTAyXHUwZTQ5XHUwZTMyXHUwZTA3XHUwZTJiXHUwZTI1XHUwZTMxXHUwZTA3IiwKIkNvbHMiOiAiXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHUwZTQxXHUwZTE3XHUwZTIzXHUwZTAxXHUwZTQxXHUwZTE2XHUwZTI3XHUwZTE0XHUwZTQ5XHUwZTMyXHUwZTE5XHUwZTI1XHUwZTQ4XHUwZTMyXHUwZTA3IiwKIldpZHRoIjogIlx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGUwMVx1MGUyN1x1MGU0OVx1MGUzMlx1MGUwNyIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHUwZTA0XHUwZTM4XHUwZTEzXHUwZTJhXHUwZTIxXHUwZTFhXHUwZTMxXHUwZTE1XHUwZTM0XHUwZTAyXHUwZTJkXHUwZTA3XHUwZTQwXHUwZTBiXHUwZTI1XHUwZTI1XHUwZTRjIiwKIkxlZnQiOiAiXHUwZTBiXHUwZTQ5XHUwZTMyXHUwZTIyIiwKIkN1dCByb3ciOiAiXHUwZTE1XHUwZTMxXHUwZTE0XHUwZTQxXHUwZTE2XHUwZTI3IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwZTI1XHUwZTFhXHUwZTA0XHUwZTJkXHUwZTI1XHUwZTMxXHUwZTIxXHUwZTE5XHUwZTRjIiwKIkNlbnRlciI6ICJcdTBlMDFcdTBlMzZcdTBlNDhcdTBlMDdcdTBlMDFcdTBlMjVcdTBlMzJcdTBlMDciLAoiTWVyZ2UgY2VsbHMiOiAiXHUwZTFjXHUwZTJhXHUwZTMyXHUwZTE5XHUwZTQwXHUwZTBiXHUwZTI1XHUwZTI1XHUwZTRjIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDFcdTBlNDFcdTBlMjFcdTBlNDhcdTBlNDFcdTBlMWFcdTBlMWEiLAoiVGVtcGxhdGVzIjogIlx1MGU0MVx1MGUyMVx1MGU0OFx1MGU0MVx1MGUxYVx1MGUxYSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MGUyYVx1MGUzNVx1MGUxZVx1MGUzN1x1MGU0OVx1MGUxOVx1MGUyYlx1MGUyNVx1MGUzMVx1MGUwNyIsCiJDdXN0b20uLi4iOiAiXHUwZTAxXHUwZTMzXHUwZTJiXHUwZTE5XHUwZTE0XHUwZTQwXHUwZTJkXHUwZTA3IiwKIkN1c3RvbSBjb2xvciI6ICJcdTBlMmFcdTBlMzVcdTBlMTdcdTBlMzVcdTBlNDhcdTBlMDFcdTBlMzNcdTBlMmJcdTBlMTlcdTBlMTRcdTBlNDBcdTBlMmRcdTBlMDciLAoiTm8gY29sb3IiOiAiXHUwZTQ0XHUwZTIxXHUwZTQ4XHUwZTIxXHUwZTM1XHUwZTJhXHUwZTM1IiwKIlRleHQgY29sb3IiOiAiXHUwZTJhXHUwZTM1XHUwZTAyXHUwZTQ5XHUwZTJkXHUwZTA0XHUwZTI3XHUwZTMyXHUwZTIxIiwKIlNob3cgYmxvY2tzIjogIlx1MGU0MVx1MGUyYVx1MGUxNFx1MGUwN1x1MGUxYVx1MGUyNVx1MGU0N1x1MGUyZFx1MGUwMSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MGU0MVx1MGUyYVx1MGUxNFx1MGUwN1x1MGUxNVx1MGUzMVx1MGUyN1x1MGUyZFx1MGUzMVx1MGUwMVx1MGUyOVx1MGUyM1x1MGUxN1x1MGUzNVx1MGU0OFx1MGUyMVx1MGUyZFx1MGUwN1x1MGU0NFx1MGUyMVx1MGU0OFx1MGU0MFx1MGUyYlx1MGU0N1x1MGUxOSIsCiJXb3JkczogezB9IjogIlx1MGUwNFx1MGUzMzogezB9IiwKIkluc2VydCI6ICJcdTBlNDFcdTBlMTdcdTBlMjNcdTBlMDEiLAoiRmlsZSI6ICJcdTBlNDRcdTBlMWZcdTBlMjVcdTBlNGMiLAoiRWRpdCI6ICJcdTBlNDFcdTBlMDFcdTBlNDlcdTBlNDRcdTBlMDIiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHUwZTFlXHUwZTM3XHUwZTQ5XHUwZTE5XHUwZTE3XHUwZTM1XHUwZTQ4IFJpY2ggVGV4dCBcdTBlMDFcdTBlMTQgQUxULUY5IFx1MGUyYVx1MGUzM1x1MGUyYlx1MGUyM1x1MGUzMVx1MGUxYVx1MGU0MFx1MGUyMVx1MGUxOVx1MGUzOSBcdTBlMDFcdTBlMTQgQUxULUYxMCBcdTBlMmFcdTBlMzNcdTBlMmJcdTBlMjNcdTBlMzFcdTBlMWFcdTBlNDFcdTBlMTZcdTBlMWFcdTBlNDBcdTBlMDRcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMjFcdTBlMzdcdTBlMmQgXHUwZTAxXHUwZTE0IEFMVC0wIFx1MGUyYVx1MGUzM1x1MGUyYlx1MGUyM1x1MGUzMVx1MGUxYVx1MGUwNFx1MGUyN1x1MGUzMlx1MGUyMVx1MGUwYVx1MGU0OFx1MGUyN1x1MGUyMlx1MGU0MFx1MGUyYlx1MGUyNVx1MGUzN1x1MGUyZCIsCiJUb29scyI6ICJcdTBlNDBcdTBlMDRcdTBlMjNcdTBlMzdcdTBlNDhcdTBlMmRcdTBlMDdcdTBlMjFcdTBlMzdcdTBlMmQiLAoiVmlldyI6ICJcdTBlMjFcdTBlMzhcdTBlMjFcdTBlMjFcdTBlMmRcdTBlMDciLAoiVGFibGUiOiAiXHUwZTE1XHUwZTMyXHUwZTIzXHUwZTMyXHUwZTA3IiwKIkZvcm1hdCI6ICJcdTBlMjNcdTBlMzlcdTBlMWJcdTBlNDFcdTBlMWFcdTBlMWEiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/tr.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0cicsewoiQ3V0IjogIktlcyIsCiJIZWFkaW5nIDUiOiAiQmFcdTAxNWZsXHUwMTMxayA1IiwKIkhlYWRlciAyIjogIkJhXHUwMTVmbFx1MDEzMWsgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJUYXJheVx1MDEzMWNcdTAxMzFuXHUwMTMxeiBwYW5veWEgZG9cdTAxMWZydWRhbiBlcmlcdTAxNWZpbWkgZGVzdGVrbGVtaXlvci4gTFx1MDBmY3RmZW4gQ3RybCtYXFxcL0NcXFwvViBrbGF2eWUga1x1MDEzMXNheW9sbGFyXHUwMTMxblx1MDEzMSBrdWxsYW5cdTAxMzFuXHUwMTMxei4iLAoiSGVhZGluZyA0IjogIkJhXHUwMTVmbFx1MDEzMWsgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJCYVx1MDE1ZmxcdTAxMzFrIDIiLAoiUGFzdGUiOiAiWWFwXHUwMTMxXHUwMTVmdFx1MDEzMXIiLAoiQ2xvc2UiOiAiS2FwYXQiLAoiRm9udCBGYW1pbHkiOiAiWWF6XHUwMTMxIFRpcGxlcmkiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJTYVx1MDExZmEgaGl6YWxhIiwKIk5ldyBkb2N1bWVudCI6ICJZZW5pIGRva1x1MDBmY21hbiIsCiJCbG9ja3F1b3RlIjogIkFsXHUwMTMxbnRcdTAxMzEiLAoiTnVtYmVyZWQgbGlzdCI6ICJOdW1hcmFsXHUwMTMxIGxpc3RlICIsCiJIZWFkaW5nIDEiOiAiQmFcdTAxNWZsXHUwMTMxayAxIiwKIkhlYWRpbmdzIjogIkJhXHUwMTVmbFx1MDEzMWtsYXIiLAoiSW5jcmVhc2UgaW5kZW50IjogIkdpcmludGl5aSBhcnRcdTAxMzFyIiwKIkZvcm1hdHMiOiAiQmlcdTAwZTdpbWxlciIsCiJIZWFkZXJzIjogIkJhXHUwMTVmbFx1MDEzMWtsYXIiLAoiU2VsZWN0IGFsbCI6ICJUXHUwMGZjbVx1MDBmY25cdTAwZmMgc2VcdTAwZTciLAoiSGVhZGVyIDMiOiAiQmFcdTAxNWZsXHUwMTMxayAzIiwKIkJsb2NrcyI6ICJCbG9rbGFyIiwKIlVuZG8iOiAiR2VyaSBhbCIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDBkY3N0XHUwMGZjIFx1MDBlN2l6aWxpIiwKIkJ1bGxldCBsaXN0IjogIlx1MDEzMFx1MDE1ZmFyZXRsaSBsaXN0ZSIsCiJIZWFkZXIgMSI6ICJCYVx1MDE1ZmxcdTAxMzFrIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwMGRjc3Qgc2ltZ2UiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJCaVx1MDBlN2ltaSB0ZW1pemxlIiwKIkZvbnQgU2l6ZXMiOiAiWWF6XHUwMTMxIEJveXV0bGFyXHUwMTMxIiwKIlN1YnNjcmlwdCI6ICJBbHQgc2ltZ2UiLAoiSGVhZGVyIDYiOiAiQmFcdTAxNWZsXHUwMTMxayA2IiwKIlJlZG8iOiAiWWluZWxlIiwKIlBhcmFncmFwaCI6ICJQYXJhZ3JhZiIsCiJPayI6ICJUYW1hbSIsCiJCb2xkIjogIkthbFx1MDEzMW4iLAoiQ29kZSI6ICJLb2QiLAoiSXRhbGljIjogIlx1MDEzMHRhbGlrIiwKIkFsaWduIGNlbnRlciI6ICJPcnRhbGEiLAoiSGVhZGVyIDUiOiAiQmFcdTAxNWZsXHUwMTMxayA1IiwKIkhlYWRpbmcgNiI6ICJCYVx1MDE1ZmxcdTAxMzFrIDYiLAoiSGVhZGluZyAzIjogIkJhXHUwMTVmbFx1MDEzMWsgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiR2lyaW50aXlpIGF6YWx0IiwKIkhlYWRlciA0IjogIkJhXHUwMTVmbFx1MDEzMWsgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiRFx1MDBmY3ogbWV0aW4gbW9kdW5kYSB5YXBcdTAxMzFcdTAxNWZ0XHUwMTMxci4gQnUgc2VcdTAwZTdlbmVcdTAxMWZpIGthcGF0YW5hIGthZGFyIGlcdTAwZTdlcmlrbGVyIGRcdTAwZmN6IG1ldGluIG9sYXJhayB5YXBcdTAxMzFcdTAxNWZ0XHUwMTMxclx1MDEzMWxcdTAxMzFyLiIsCiJVbmRlcmxpbmUiOiAiQWx0XHUwMTMxIFx1MDBlN2l6aWxpIiwKIkNhbmNlbCI6ICJcdTAxMzBwdGFsIiwKIkp1c3RpZnkiOiAiXHUwMTMwa2kgeWFuYSB5YXNsYSIsCiJJbmxpbmUiOiAiU2F0XHUwMTMxciBpXHUwMGU3aSIsCiJDb3B5IjogIktvcHlhbGEiLAoiQWxpZ24gbGVmdCI6ICJTb2xhIGhpemFsYSIsCiJWaXN1YWwgYWlkcyI6ICJHXHUwMGY2cnNlbCBhcmFcdTAwZTdsYXIiLAoiTG93ZXIgR3JlZWsiOiAiS1x1MDBmY1x1MDBlN1x1MDBmY2sgWXVuYW4gSGFyZmxlcmkiLAoiU3F1YXJlIjogIkthcmUiLAoiRGVmYXVsdCI6ICJWYXJzYXlcdTAxMzFsYW4iLAoiTG93ZXIgQWxwaGEiOiAiS1x1MDBmY1x1MDBlN1x1MDBmY2sgSGFyZiIsCiJDaXJjbGUiOiAiRGFpcmUiLAoiRGlzYyI6ICJEaXNrIiwKIlVwcGVyIEFscGhhIjogIkJcdTAwZmN5XHUwMGZjayBIYXJmIiwKIlVwcGVyIFJvbWFuIjogIkJcdTAwZmN5XHUwMGZjayBSb21hbiBIYXJmbGVyaSAiLAoiTG93ZXIgUm9tYW4iOiAiS1x1MDBmY1x1MDBlN1x1MDBmY2sgUm9tYW4gSGFyZmxlcmkgIiwKIk5hbWUiOiAiXHUwMTMwc2ltIiwKIkFuY2hvciI6ICJcdTAwYzdhcGEiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJLYXlkZWRpbG1lbWlcdTAxNWYgZGVcdTAxMWZpXHUwMTVmaWtsaWtsZXIgdmFyLCBzYXlmYWRhbiBheXJcdTAxMzFsbWFrIGlzdGVkaVx1MDExZmluaXplIGVtaW4gbWlzaW5pej8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlNvbiB0YXNsYVx1MDExZlx1MDEzMSBnZXJpIHlcdTAwZmNrbGUiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwMGQ2emVsIGthcmFrdGVyIiwKIlNvdXJjZSBjb2RlIjogIktheW5hayBrb2R1IiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlJlbmsiLAoiUmlnaHQgdG8gbGVmdCI6ICJTYVx1MDExZmRhbiBzb2xhIiwKIkxlZnQgdG8gcmlnaHQiOiAiU29sZGFuIHNhXHUwMTFmYSIsCiJFbW90aWNvbnMiOiAiXHUwMTMwZmFkZWxlciIsCiJSb2JvdHMiOiAiUm9ib3RsYXIiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2tcdTAwZmNtYW4gXHUwMGY2emVsbGlrbGVyaSIsCiJUaXRsZSI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIktleXdvcmRzIjogIkFuYWh0YXIga2VsaW1lbGVyIiwKIkVuY29kaW5nIjogIktvZGxhbWEiLAoiRGVzY3JpcHRpb24iOiAiQVx1MDBlN1x1MDEzMWtsYW1hIiwKIkF1dGhvciI6ICJZYXphciIsCiJGdWxsc2NyZWVuIjogIlRhbSBla3JhbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiWWF0YXkgXHUwMGU3aXpnaSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIllhdGF5IGJvXHUwMTVmbHVrIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJSZXNpbSBla2xlXC9kXHUwMGZjemVubGUiLAoiR2VuZXJhbCI6ICJHZW5lbCIsCiJBZHZhbmNlZCI6ICJHZWxpXHUwMTVmbWlcdTAxNWYiLAoiU291cmNlIjogIktheW5hayIsCiJCb3JkZXIiOiAiS2VuYXJsXHUwMTMxayIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiT3Jhbmxhclx1MDEzMSBrb3J1IiwKIlZlcnRpY2FsIHNwYWNlIjogIkRpa2V5IGJvXHUwMTVmbHVrIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlJlc2ltIGFcdTAwZTdcdTAxMzFrbGFtYXNcdTAxMzEiLAoiU3R5bGUiOiAiU3RpbCIsCiJEaW1lbnNpb25zIjogIkJveXV0bGFyIiwKIkluc2VydCBpbWFnZSI6ICJSZXNpbSBla2xlIiwKIlpvb20gaW4iOiAiWWFrXHUwMTMxbmxhXHUwMTVmdFx1MDEzMXIiLAoiQ29udHJhc3QiOiAiS29udHJhc3QiLAoiQmFjayI6ICJHZXJpIiwKIkdhbW1hIjogIkdhbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiRW5pbmUgXHUwMGU3ZXZpciIsCiJSZXNpemUiOiAiWWVuaWRlbiBCb3l1dGxhbmRcdTAxMzFyIiwKIlNoYXJwZW4iOiAiS2Vza2lubGVcdTAxNWZ0aXIiLAoiWm9vbSBvdXQiOiAiVXpha2xhXHUwMTVmdFx1MDEzMXIiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJSZXNpbSBheWFybGFyXHUwMTMxIiwKIkFwcGx5IjogIlV5Z3VsYSIsCiJCcmlnaHRuZXNzIjogIlBhcmxha2xcdTAxMzFrIiwKIlJvdGF0ZSBjbG9ja3dpc2UiOiAiU2FhdCB5XHUwMGY2blx1MDBmY25kZSBkXHUwMGY2bmRcdTAwZmNyIiwKIlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIjogIlNhYXRpbiB0ZXJzaSB5XHUwMGY2blx1MDBmY25kZSBkXHUwMGY2bmRcdTAwZmNyIiwKIkVkaXQgaW1hZ2UiOiAiUmVzbWkgZFx1MDBmY3plbmxlIiwKIkNvbG9yIGxldmVscyI6ICJSZW5rIGRcdTAwZmN6ZXlsZXJpIiwKIkNyb3AiOiAiS1x1MDEzMXJwIiwKIk9yaWVudGF0aW9uIjogIk9yeWFudGFzeW9uIiwKIkZsaXAgdmVydGljYWxseSI6ICJEaWtpbmUgXHUwMGU3ZXZpciIsCiJJbnZlcnQiOiAiVGVycyBcdTAwYzdldmlyIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlRhcmloXC9zYWF0IGVrbGUiLAoiUmVtb3ZlIGxpbmsiOiAiQmFcdTAxMWZsYW50XHUwMTMxeVx1MDEzMSBrYWxkXHUwMTMxciIsCiJVcmwiOiAiVXJsIiwKIlRleHQgdG8gZGlzcGxheSI6ICJZYXpcdTAxMzF5XHUwMTMxIGdcdTAwZjZyXHUwMGZjbnRcdTAwZmNsZSIsCiJBbmNob3JzIjogIlx1MDBjN2FwYWxhciIsCiJJbnNlcnQgbGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzEgZWtsZSIsCiJOZXcgd2luZG93IjogIlllbmkgcGVuY2VyZSIsCiJOb25lIjogIkhpXHUwMGU3YmlyaSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiR2lyZGlcdTAxMWZpbml6IFVSTCBiaXIgZFx1MDEzMVx1MDE1ZiBiYVx1MDExZmxhbnRcdTAxMzEgZ2liaSBnXHUwMGY2clx1MDBmY25cdTAwZmN5b3IuIEdlcmVrbGkgb2xhbiBodHRwOlwvXC8gXHUwMGY2bmVraW5pIGVrbGVtZWsgaXN0ZXIgbWlzaW5pej8iLAoiVGFyZ2V0IjogIkhlZGVmIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiR2lyZGlcdTAxMWZpbml6IFVSTCBiaXIgZS1wb3N0YSBhZHJlc2kgZ2liaSBnXHUwMGY2clx1MDBmY25cdTAwZmN5b3IuIEdlcmVrbGkgb2xhbiBtYWlsdG86IFx1MDBmNm5la2luaSBla2xlbWVrIGlzdGVyIG1pc2luaXo/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIkJhXHUwMTFmbGFudFx1MDEzMSBla2xlXC9kXHUwMGZjemVubGUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlZpZGVvIGVrbGVcL2RcdTAwZmN6ZW5sZSIsCiJQb3N0ZXIiOiAiUG9zdGVyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJBbHRlcm5hdGlmIGtheW5hayIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlZpZGVvIGdcdTAwZjZtbWUga29kdW51IGFcdTAxNWZhXHUwMTFmXHUwMTMxeWEgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXJcdTAxMzFuXHUwMTMxejoiLAoiSW5zZXJ0IHZpZGVvIjogIlZpZGVvIGVrbGUiLAoiRW1iZWQiOiAiR1x1MDBmNm1tZSIsCiJOb25icmVha2luZyBzcGFjZSI6ICJCXHUwMGY2bFx1MDBmY25lbWV6IGJvXHUwMTVmbHVrIiwKIlBhZ2UgYnJlYWsiOiAiU2F5ZmEgc29udSIsCiJQYXN0ZSBhcyB0ZXh0IjogIk1ldGluIG9sYXJhayB5YXBcdTAxMzFcdTAxNWZ0XHUwMTMxciIsCiJQcmV2aWV3IjogIlx1MDBkNm5pemxlbWUiLAoiUHJpbnQiOiAiWWF6ZFx1MDEzMXIiLAoiU2F2ZSI6ICJLYXlkZXQiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIkhlcmhhbmdpIGJpciBzb251XHUwMGU3IGJ1bHVuYW1hZFx1MDEzMS4iLAoiUmVwbGFjZSI6ICJEZVx1MDExZmlcdTAxNWZ0aXIiLAoiTmV4dCI6ICJTb25yYWtpIiwKIldob2xlIHdvcmRzIjogIlRhbSBrZWxpbWVsZXIiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJCdWwgdmUgZGVcdTAxMWZpXHUwMTVmdGlyIiwKIlJlcGxhY2Ugd2l0aCI6ICJCdW51bmxhIGRlXHUwMTFmaVx1MDE1ZnRpciIsCiJGaW5kIjogIkJ1bCIsCiJSZXBsYWNlIGFsbCI6ICJUXHUwMGZjbVx1MDBmY25cdTAwZmMgZGVcdTAxMWZpXHUwMTVmdGlyIiwKIk1hdGNoIGNhc2UiOiAiQlx1MDBmY3lcdTAwZmNrXC9rXHUwMGZjXHUwMGU3XHUwMGZjayBoYXJmIGR1eWFybFx1MDEzMSIsCiJQcmV2IjogIlx1MDBkNm5jZWtpIiwKIlNwZWxsY2hlY2siOiAiWWF6XHUwMTMxbSBkZW5ldGltaSIsCiJGaW5pc2giOiAiQml0aXIiLAoiSWdub3JlIGFsbCI6ICJUXHUwMGZjbVx1MDBmY25cdTAwZmMgeW9rc2F5IiwKIklnbm9yZSI6ICJZb2tzYXkiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiU1x1MDBmNnpsXHUwMGZjXHUwMTFmZSBFa2xlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDBkY3N0ZSBzYXRcdTAxMzFyIGVrbGUiLAoiUm93cyI6ICJTYXRcdTAxMzFybGFyIiwKIkhlaWdodCI6ICJZXHUwMGZja3Nla2xpayIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiQWx0YSBzYXRcdTAxMzFyIHlhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyIiwKIkFsaWdubWVudCI6ICJIaXphbGFtYSIsCiJCb3JkZXIgY29sb3IiOiAiS2VuYXJsXHUwMTMxayByZW5naSIsCiJDb2x1bW4gZ3JvdXAiOiAiU1x1MDBmY3R1biBncnVidSIsCiJSb3ciOiAiU2F0XHUwMTMxciIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJTb2xhIHNcdTAwZmN0dW4gZWtsZSIsCiJTcGxpdCBjZWxsIjogIkhcdTAwZmNjcmUgYlx1MDBmNmwiLAoiQ2VsbCBwYWRkaW5nIjogIkhcdTAwZmNjcmUgZG9sZ3VzdSIsCiJDZWxsIHNwYWNpbmciOiAiSFx1MDBmY2NyZSBhcmFsXHUwMTMxXHUwMTFmXHUwMTMxIiwKIlJvdyB0eXBlIjogIlNhdFx1MDEzMXIgdGlwaSIsCiJJbnNlcnQgdGFibGUiOiAiVGFibG8gZWtsZSIsCiJCb2R5IjogIkdcdTAwZjZ2ZGUiLAoiQ2FwdGlvbiI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIkZvb3RlciI6ICJBbHQiLAoiRGVsZXRlIHJvdyI6ICJTYXRcdTAxMzFyIHNpbCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDBkY3N0ZSBzYXRcdTAxMzFyIHlhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyIiwKIlNjb3BlIjogIkthcHNhbSIsCiJEZWxldGUgdGFibGUiOiAiVGFibG8gc2lsIiwKIkggQWxpZ24iOiAiWWF0YXkgSGl6YWxhbWEiLAoiVG9wIjogIlx1MDBkY3N0IiwKIkhlYWRlciBjZWxsIjogIkJhXHUwMTVmbFx1MDEzMWsgaFx1MDBmY2NyZXNpIiwKIkNvbHVtbiI6ICJTXHUwMGZjdHVuIiwKIlJvdyBncm91cCI6ICJTYXRcdTAxMzFyIGdydWJ1IiwKIkNlbGwiOiAiSFx1MDBmY2NyZSIsCiJNaWRkbGUiOiAiT3J0YSIsCiJDZWxsIHR5cGUiOiAiSFx1MDBmY2NyZSB0aXBpIiwKIkNvcHkgcm93IjogIlNhdFx1MDEzMXJcdTAxMzEga29weWFsYSIsCiJSb3cgcHJvcGVydGllcyI6ICJTYXRcdTAxMzFyIFx1MDBmNnplbGxpa2xlcmkiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJsbyBcdTAwZjZ6ZWxsaWtsZXJpIiwKIkJvdHRvbSI6ICJBbHQiLAoiViBBbGlnbiI6ICJEaWtleSBIaXphbGFtYSIsCiJIZWFkZXIiOiAiQmFcdTAxNWZsXHUwMTMxayIsCiJSaWdodCI6ICJTYVx1MDExZiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlNhXHUwMTFmYSBzXHUwMGZjdHVuIGVrbGUiLAoiQ29scyI6ICJTXHUwMGZjdHVubGFyIiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiQWx0YSBzYXRcdTAxMzFyIGVrbGUgIiwKIldpZHRoIjogIkdlbmlcdTAxNWZsaWsiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkhcdTAwZmNjcmUgXHUwMGY2emVsbGlrbGVyaSIsCiJMZWZ0IjogIlNvbCIsCiJDdXQgcm93IjogIlNhdFx1MDEzMXJcdTAxMzEga2VzIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU1x1MDBmY3R1biBzaWwiLAoiQ2VudGVyIjogIk9ydGEiLAoiTWVyZ2UgY2VsbHMiOiAiSFx1MDBmY2NyZWxlcmkgYmlybGVcdTAxNWZ0aXIiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDE1ZWFibG9uIGVrbGUiLAoiVGVtcGxhdGVzIjogIlx1MDE1ZWFibG9ubGFyIiwKIkJhY2tncm91bmQgY29sb3IiOiAiQXJrYSBwbGFuIHJlbmdpIiwKIkN1c3RvbS4uLiI6ICJcdTAwZDZ6ZWwuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDBkNnplbCByZW5rIiwKIk5vIGNvbG9yIjogIlJlbmsgeW9rIiwKIlRleHQgY29sb3IiOiAiWWF6XHUwMTMxIHJlbmdpIiwKIlNob3cgYmxvY2tzIjogIkJsb2tsYXJcdTAxMzEgZ1x1MDBmNnN0ZXIiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJHXHUwMGY2clx1MDBmY25tZXoga2FyYWt0ZXJsZXJpIGdcdTAwZjZzdGVyIiwKIldvcmRzOiB7MH0iOiAiS2VsaW1lOiB7MH0iLAoiSW5zZXJ0IjogIkVrbGUiLAoiRmlsZSI6ICJEb3N5YSIsCiJFZGl0IjogIkRcdTAwZmN6ZW5sZSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJaZW5naW4gTWV0aW4gQWxhblx1MDEzMS4gTWVuXHUwMGZjIGlcdTAwZTdpbiBBTFQtRjkgdHVcdTAxNWZ1bmEgYmFzXHUwMTMxblx1MDEzMXouIEFyYVx1MDBlNyBcdTAwZTd1YnVcdTAxMWZ1IGlcdTAwZTdpbiBBTFQtRjEwIHR1XHUwMTVmdW5hIGJhc1x1MDEzMW5cdTAxMzF6LiBZYXJkXHUwMTMxbSBpXHUwMGU3aW4gQUxULTAgdHVcdTAxNWZ1bmEgYmFzXHUwMTMxblx1MDEzMXouIiwKIlRvb2xzIjogIkFyYVx1MDBlN2xhciIsCiJWaWV3IjogIkdcdTAwZjZyXHUwMGZjblx1MDBmY20iLAoiVGFibGUiOiAiVGFibG8iLAoiRm9ybWF0IjogIkJpXHUwMGU3aW0iCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/tr_TR.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0cl9UUicsewoiQ3V0IjogIktlcyIsCiJIZWFkaW5nIDUiOiAiQmFcdTAxNWZsXHUwMTMxayA1IiwKIkhlYWRlciAyIjogIkJhXHUwMTVmbFx1MDEzMWsgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJUYXJheVx1MDEzMWNcdTAxMzFuXHUwMTMxeiBwYW5veWEgZGlyZWsgZXJpXHUwMTVmaW1pIGRlc3Rla2xlbWl5b3IuIExcdTAwZmN0ZmVuIEN0cmwrWFwvQ1wvViBrbGF2eWUga1x1MDEzMXNheW9sbGFyXHUwMTMxblx1MDEzMSBrdWxsYW5cdTAxMzFuLiIsCiJIZWFkaW5nIDQiOiAiQmFcdTAxNWZsXHUwMTMxayA0IiwKIkRpdiI6ICJEaXYiLAoiSGVhZGluZyAyIjogIkJhXHUwMTVmbFx1MDEzMWsgMiIsCiJQYXN0ZSI6ICJZYXBcdTAxMzFcdTAxNWZ0XHUwMTMxciIsCiJDbG9zZSI6ICJLYXBhdCIsCiJGb250IEZhbWlseSI6ICJZYXpcdTAxMzF0aXBpIEFpbGVzaSIsCiJQcmUiOiAiXHUwMGQ2biIsCiJBbGlnbiByaWdodCI6ICJTYVx1MDExZmEgaGl6YWxhIiwKIk5ldyBkb2N1bWVudCI6ICJZZW5pIGRva1x1MDBmY21hbiIsCiJCbG9ja3F1b3RlIjogIkFsXHUwMTMxbnRcdTAxMzEiLAoiTnVtYmVyZWQgbGlzdCI6ICJTXHUwMTMxcmFsXHUwMTMxIGxpc3RlIiwKIkhlYWRpbmcgMSI6ICJCYVx1MDE1ZmxcdTAxMzFrIDEiLAoiSGVhZGluZ3MiOiAiQmFcdTAxNWZsXHUwMTMxa2xhciIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiR2lyaW50aXlpIGFydFx1MDEzMXIiLAoiRm9ybWF0cyI6ICJCaVx1MDBlN2ltbGVyIiwKIkhlYWRlcnMiOiAiQmFcdTAxNWZsXHUwMTMxa2xhciIsCiJTZWxlY3QgYWxsIjogIlRcdTAwZmNtXHUwMGZjblx1MDBmYyBzZVx1MDBlNyIsCiJIZWFkZXIgMyI6ICJCYVx1MDE1ZmxcdTAxMzFrIDMiLAoiQmxvY2tzIjogIkJsb2tsYXIiLAoiVW5kbyI6ICJHZXJpIEFsIiwKIlN0cmlrZXRocm91Z2giOiAiXHUwMGRjc3RcdTAwZmMgXHUwMGU3aXppbGkiLAoiQnVsbGV0IGxpc3QiOiAiU1x1MDEzMXJhc1x1MDEzMXogbGlzdGUiLAoiSGVhZGVyIDEiOiAiQmFcdTAxNWZsXHUwMTMxayAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDBkY3N0IHNpbWdlIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiQmlcdTAwZTdpbWkgdGVtaXpsZSIsCiJGb250IFNpemVzIjogIllhelx1MDEzMXRpcGkgQlx1MDBmY3lcdTAwZmNrbFx1MDBmY1x1MDExZlx1MDBmYyIsCiJTdWJzY3JpcHQiOiAiQWx0IHNpbWdlIiwKIkhlYWRlciA2IjogIkJhXHUwMTVmbFx1MDEzMWsgNiIsCiJSZWRvIjogIllpbmVsZSIsCiJQYXJhZ3JhcGgiOiAiUGFyYWdyYWYiLAoiT2siOiAiVGFtYW0iLAoiQm9sZCI6ICJLYWxcdTAxMzFuIiwKIkNvZGUiOiAiS29kIiwKIkl0YWxpYyI6ICJcdTAxMzB0YWxpayIsCiJBbGlnbiBjZW50ZXIiOiAiT3J0YWxhIiwKIkhlYWRlciA1IjogIkJhXHUwMTVmbFx1MDEzMWsgNSIsCiJIZWFkaW5nIDYiOiAiQmFcdTAxNWZsXHUwMTMxayA2IiwKIkhlYWRpbmcgMyI6ICJCYVx1MDE1ZmxcdTAxMzFrIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIkdpcmludGl5aSBhemFsdCIsCiJIZWFkZXIgNCI6ICJCYVx1MDE1ZmxcdTAxMzFrIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIkRcdTAwZmN6IG1ldGluIG1vZHVuZGEgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXIuIEJ1IHNlXHUwMGU3ZW5lXHUwMTFmaSBrYXBhdGFuYSBrYWRhciBpXHUwMGU3ZXJpa2xlciBkXHUwMGZjeiBtZXRpbiBvbGFyYWsgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXJcdTAxMzFsXHUwMTMxci4iLAoiVW5kZXJsaW5lIjogIkFsdFx1MDEzMSBcdTAwZTdpemlsaSIsCiJDYW5jZWwiOiAiXHUwMTMwcHRhbCIsCiJKdXN0aWZ5IjogIlx1MDEzMGtpIHlhbmEgeWFzbGEiLAoiSW5saW5lIjogIlNhdFx1MDEzMXIgaVx1MDBlN2kiLAoiQ29weSI6ICJLb3B5YWxhIiwKIkFsaWduIGxlZnQiOiAiU29sYSBoaXphbGEiLAoiVmlzdWFsIGFpZHMiOiAiR1x1MDBmNnJzZWwgYXJhXHUwMGU3bGFyIiwKIkxvd2VyIEdyZWVrIjogIktcdTAwZmNcdTAwZTdcdTAwZmNrIFl1bmFuIGFsZmFiZXNpIiwKIlNxdWFyZSI6ICJLYXJlIiwKIkRlZmF1bHQiOiAiVmFyc2F5XHUwMTMxbGFuIiwKIkxvd2VyIEFscGhhIjogIktcdTAwZmNcdTAwZTdcdTAwZmNrIEFCQyIsCiJDaXJjbGUiOiAiRGFpcmUiLAoiRGlzYyI6ICJEaXNrIiwKIlVwcGVyIEFscGhhIjogIkJcdTAwZmN5XHUwMGZjayBBQkMiLAoiVXBwZXIgUm9tYW4iOiAiQlx1MDBmY3lcdTAwZmNrIFJvbWFuIGFsZmFiZXNpIiwKIkxvd2VyIFJvbWFuIjogIktcdTAwZmNcdTAwZTdcdTAwZmNrIFJvbWFuIGFsZmFiZXNpIiwKIk5hbWUiOiAiXHUwMTMwc2ltIiwKIkFuY2hvciI6ICJcdTAwYzdhcGEiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJLYXlkZWRpbG1lbWlcdTAxNWYgZGVcdTAxMWZpXHUwMTVmaWtsaWtsZXIgdmFyLCBzYXlmYWRhbiBheXJcdTAxMzFsbWFrIGlzdGVkaVx1MDExZmluaXplIGVtaW4gbWlzaW5pej8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlNvbiB0YXNsYVx1MDExZlx1MDEzMSBrdXJ0YXIiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwMGQ2emVsIGthcmFrdGVyIiwKIlNvdXJjZSBjb2RlIjogIktheW5hayBrb2R1IiwKIkNvbG9yIjogIlJlbmsiLAoiUmlnaHQgdG8gbGVmdCI6ICJTYVx1MDExZmRhbiBzb2xhIiwKIkxlZnQgdG8gcmlnaHQiOiAiU29sZGFuIHNhXHUwMTFmYSIsCiJFbW90aWNvbnMiOiAiR1x1MDBmY2xcdTAwZmNjXHUwMGZja2xlciIsCiJSb2JvdHMiOiAiUm9ib3RsYXIiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJEb2tcdTAwZmNtYW4gXHUwMGY2emVsbGlrbGVyaSIsCiJUaXRsZSI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIktleXdvcmRzIjogIkFuYWh0YXIga2VsaW1lbGVyIiwKIkVuY29kaW5nIjogIktvZGxhbWEiLAoiRGVzY3JpcHRpb24iOiAiQVx1MDBlN1x1MDEzMWtsYW1hIiwKIkF1dGhvciI6ICJZYXphciIsCiJGdWxsc2NyZWVuIjogIlRhbSBla3JhbiIsCiJIb3Jpem9udGFsIGxpbmUiOiAiWWF0YXkgXHUwMGU3aXpnaSIsCiJIb3Jpem9udGFsIHNwYWNlIjogIllhdGF5IGJvXHUwMTVmbHVrIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJSZXNpbSBla2xlXC9kXHUwMGZjemVubGUiLAoiR2VuZXJhbCI6ICJHZW5lbCIsCiJBZHZhbmNlZCI6ICJHZWxpXHUwMTVmbWlcdTAxNWYiLAoiU291cmNlIjogIktheW5hayIsCiJCb3JkZXIiOiAiXHUwMGM3ZXJcdTAwZTdldmUiLAoiQ29uc3RyYWluIHByb3BvcnRpb25zIjogIkVuIC0gQm95IG9yYW5cdTAxMzFuXHUwMTMxIGtvcnUiLAoiVmVydGljYWwgc3BhY2UiOiAiRGlrZXkgYm9cdTAxNWZsdWsiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiUmVzaW0gYVx1MDBlN1x1MDEzMWtsYW1hc1x1MDEzMSIsCiJTdHlsZSI6ICJTdGlsIiwKIkRpbWVuc2lvbnMiOiAiQm95dXRsYXIiLAoiSW5zZXJ0IGltYWdlIjogIlJlc2ltIGVrbGUiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiVGFyaWggXC8gWmFtYW4gZWtsZSIsCiJSZW1vdmUgbGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzF5XHUwMTMxIGthbGRcdTAxMzFyIiwKIlVybCI6ICJVcmwiLAoiVGV4dCB0byBkaXNwbGF5IjogIkdcdTAwZjZyXHUwMGZjbmVuIHlhelx1MDEzMSIsCiJBbmNob3JzIjogIlx1MDBjN2FwYWxhciIsCiJJbnNlcnQgbGluayI6ICJCYVx1MDExZmxhbnRcdTAxMzEgZWtsZSIsCiJOZXcgd2luZG93IjogIlllbmkgcGVuY2VyZSIsCiJOb25lIjogIkhpXHUwMGU3YmlyaSIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiR2lyZGlcdTAxMWZpbml6IFVSTCBiaXIgZFx1MDEzMVx1MDE1ZiBiYVx1MDExZmxhbnRcdTAxMzEgZ2liaSBnXHUwMGY2elx1MDBmY2tcdTAwZmN5b3IuIEdlcmVrbGkgb2xhbiBodHRwOlwvXC8gXHUwMGY2bmVraW5pIGVrbGVtZWsgaXN0ZXIgbWlzaW5pej8iLAoiVGFyZ2V0IjogIkhlZGVmIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiR2lyZGlcdTAxMWZpbml6IFVSTCBiaXIgZXBvc3RhIGFkcmVzaSBnaWJpIGdcdTAwZjZ6XHUwMGZja1x1MDBmY3lvci4gR2VyZWtsaSBvbGFuIG1haWx0bzogXHUwMGY2bmVraW5pIGVrbGVtZWsgaXN0ZXIgbWlzaW5pej8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiQmFcdTAxMWZsYW50XHUwMTMxIGVrbGVcL2RcdTAwZmN6ZW5sZSIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiVmlkZW8gZWtsZVwvZFx1MDBmY3plbmxlIiwKIlBvc3RlciI6ICJQb3N0ZXIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIkFsdGVybmF0aWYga2F5bmFrIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiTWVkeWEgZ1x1MDBmNm1tZSBrb2R1bnUgYnVyYXlhIHlhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyOiIsCiJJbnNlcnQgdmlkZW8iOiAiVmlkZW8gZWtsZSIsCiJFbWJlZCI6ICJHXHUwMGY2bW1lIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIkJcdTAwZjZsXHUwMGZjbmVtZXogYm9cdTAxNWZsdWsiLAoiUGFnZSBicmVhayI6ICJTYXlmYSBzb251IiwKIlBhc3RlIGFzIHRleHQiOiAiTWV0aW4gb2xhcmFrIHlhcFx1MDEzMVx1MDE1ZnRcdTAxMzFyIiwKIlByZXZpZXciOiAiXHUwMGQ2bml6bGVtZSIsCiJQcmludCI6ICJZYXpkXHUwMTMxciIsCiJTYXZlIjogIktheWRldCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiSGVyaGFuZ2kgYmlyIHNvbnVcdTAwZTcgYnVsdW5hbWFkXHUwMTMxLiIsCiJSZXBsYWNlIjogIkRlXHUwMTFmaVx1MDE1ZnRpciIsCiJOZXh0IjogIlNvbnJha2kiLAoiV2hvbGUgd29yZHMiOiAiVGFtIHNcdTAwZjZ6Y1x1MDBmY2tsZXIiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJCdWwgdmUgZGVcdTAxMWZpXHUwMTVmdGlyIiwKIlJlcGxhY2Ugd2l0aCI6ICJCdW51bmxhIGRlXHUwMTFmaVx1MDE1ZnRpciIsCiJGaW5kIjogIkJ1bCIsCiJSZXBsYWNlIGFsbCI6ICJUXHUwMGZjbVx1MDBmY25cdTAwZmMgZGVcdTAxMWZpXHUwMTVmdGlyIiwKIk1hdGNoIGNhc2UiOiAiQlx1MDBmY3lcdTAwZmNrIFwvIEtcdTAwZmNcdTAwZTdcdTAwZmNrIGhhcmZlIGR1eWFybFx1MDEzMSIsCiJQcmV2IjogIlx1MDBkNm5jZWtpIiwKIlNwZWxsY2hlY2siOiAiWWF6XHUwMTMxbSBkZW5ldGltaSIsCiJGaW5pc2giOiAiQml0aXIiLAoiSWdub3JlIGFsbCI6ICJUXHUwMGZjbVx1MDBmY25cdTAwZmMgeW9rc2F5IiwKIklnbm9yZSI6ICJZb2tzYXkiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiU1x1MDBmNnpsXHUwMGZjXHUwMTFmZSBla2xlIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDBkNm5jZXNpbmUgeWVuaSBzYXRcdTAxMzFyIGVrbGUiLAoiUm93cyI6ICJTYXRcdTAxMzFybGFyIiwKIkhlaWdodCI6ICJZXHUwMGZja3Nla2xpayIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiU29ucmFzXHUwMTMxbmEgc2F0XHUwMTMxciAgeWFwXHUwMTMxXHUwMTVmdFx1MDEzMXIiLAoiQWxpZ25tZW50IjogIkhpemFsYW1hIiwKIkJvcmRlciBjb2xvciI6ICJLZW5hcmxcdTAxMzFrIFJlbmdpIiwKIkNvbHVtbiBncm91cCI6ICJTXHUwMGZjdHVuIGdydWJ1IiwKIlJvdyI6ICJTYXRcdTAxMzFyIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDBkNm5jZXNpbmUgeWVuaSBzXHUwMGZjdHVuIGVrbGUiLAoiU3BsaXQgY2VsbCI6ICJIXHUwMGZjY3JlbGVyaSBheVx1MDEzMXIiLAoiQ2VsbCBwYWRkaW5nIjogIkhcdTAwZmNjcmUgaVx1MDBlNyBib1x1MDE1Zmx1XHUwMTFmdSIsCiJDZWxsIHNwYWNpbmciOiAiSFx1MDBmY2NyZSBhcmFsXHUwMTMxXHUwMTFmXHUwMTMxIiwKIlJvdyB0eXBlIjogIlNhdFx1MDEzMXIgdGlwaSIsCiJJbnNlcnQgdGFibGUiOiAiVGFibG8gZWtsZSIsCiJCb2R5IjogIkdcdTAwZjZ2ZGUiLAoiQ2FwdGlvbiI6ICJCYVx1MDE1ZmxcdTAxMzFrIiwKIkZvb3RlciI6ICJBbHQiLAoiRGVsZXRlIHJvdyI6ICJTYXRcdTAxMzFyXHUwMTMxIHNpbCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDBkNm5jZXNpbmUgc2F0XHUwMTMxciB5YXBcdTAxMzFcdTAxNWZ0XHUwMTMxciIsCiJTY29wZSI6ICJLYXBzYW0iLAoiRGVsZXRlIHRhYmxlIjogIlRhYmxveXUgc2lsIiwKIkggQWxpZ24iOiAiWWF0YXkgSGl6YWxhbWEiLAoiVG9wIjogIlx1MDBkY3N0IiwKIkhlYWRlciBjZWxsIjogIkJhXHUwMTVmbFx1MDEzMWsgaFx1MDBmY2NyZXNpIiwKIkNvbHVtbiI6ICJTXHUwMGZjdHVuIiwKIlJvdyBncm91cCI6ICJTYXRcdTAxMzFyIGdydWJ1IiwKIkNlbGwiOiAiSFx1MDBmY2NyZSIsCiJNaWRkbGUiOiAiT3J0YSIsCiJDZWxsIHR5cGUiOiAiSFx1MDBmY2NyZSB0aXBpIiwKIkNvcHkgcm93IjogIlNhdFx1MDEzMXJcdTAxMzEga29weWFsYSIsCiJSb3cgcHJvcGVydGllcyI6ICJTYXRcdTAxMzFyIFx1MDBmNnplbGxpa2xlcmkiLAoiVGFibGUgcHJvcGVydGllcyI6ICJUYWJsbyBcdTAwZjZ6ZWxsaWtsZXJpIiwKIkJvdHRvbSI6ICJBbHQiLAoiViBBbGlnbiI6ICJEaWtleSBIaXphbGFtYSIsCiJIZWFkZXIiOiAiQmFcdTAxNWZsXHUwMTMxayIsCiJSaWdodCI6ICJTYVx1MDExZiIsCiJJbnNlcnQgY29sdW1uIGFmdGVyIjogIlNvbnJhc1x1MDEzMW5hIHllbmkgc1x1MDBmY3R1biBla2xlIiwKIkNvbHMiOiAiU1x1MDBmY3R1bmxhciIsCiJJbnNlcnQgcm93IGFmdGVyIjogIlNvbnJhc1x1MDEzMW5hIHllbmkgc2F0XHUwMTMxciBla2xlIiwKIldpZHRoIjogIkdlbmlcdTAxNWZsaWsiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIkhcdTAwZmNjcmUgXHUwMGY2emVsbGlrbGVyaSIsCiJMZWZ0IjogIlNvbCIsCiJDdXQgcm93IjogIlNhdFx1MDEzMXJcdTAxMzEga2VzIiwKIkRlbGV0ZSBjb2x1bW4iOiAiU1x1MDBmY3R1bnUgc2lsIiwKIkNlbnRlciI6ICJPcnRhIiwKIk1lcmdlIGNlbGxzIjogIkhcdTAwZmNjcmVsZXJpIGJpcmxlXHUwMTVmdGlyIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTAxNWVhYmxvbiBla2xlIiwKIlRlbXBsYXRlcyI6ICJcdTAxNWVhYmxvbmxhciIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIkFya2FwbGFuIHJlbmdpIiwKIkN1c3RvbS4uLiI6ICJcdTAwZDZ6ZWwiLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDBkNnplbCBSZW5rIiwKIk5vIGNvbG9yIjogIlJlbmsgWW9rIiwKIlRleHQgY29sb3IiOiAiWWF6XHUwMTMxIHJlbmdpIiwKIlNob3cgYmxvY2tzIjogIkJsb2tsYXJcdTAxMzEgZ1x1MDBmNnJcdTAwZmNudFx1MDBmY2xlIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiR1x1MDBmNnJcdTAwZmNubWV6IGthcmFrdGVybGVyaSBnXHUwMGY2c3RlciIsCiJXb3JkczogezB9IjogIktlbGltZTogezB9IiwKIkluc2VydCI6ICJFa2xlIiwKIkZpbGUiOiAiRG9zeWEiLAoiRWRpdCI6ICJEXHUwMGZjemVubGUiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiWmVuZ2luIE1ldGluIEFsYW5cdTAxMzEuIE1lblx1MDBmYyBpXHUwMGU3aW4gQUxULUY5IGtcdTAxMzFzYXlvbHVudSBrdWxsYW5cdTAxMzFuLiBBcmFcdTAwZTcgXHUwMGU3dWJ1XHUwMTFmdSBpXHUwMGU3aW4gQUxULUYxMCBrXHUwMTMxc2F5b2x1bnUga3VsbGFuXHUwMTMxbi4gWWFyZFx1MDEzMW0gaVx1MDBlN2luIEFMVC0wIGtcdTAxMzFzYXlvbHVudSBrdWxsYW5cdTAxMzFuLiIsCiJUb29scyI6ICJBcmFcdTAwZTdsYXIiLAoiVmlldyI6ICJHXHUwMGY2clx1MDBmY250XHUwMGZjbGUiLAoiVGFibGUiOiAiVGFibG8iLAoiRm9ybWF0IjogIkJpXHUwMGU3aW0iCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/tt.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd0dCcsewoiQ3V0IjogIlx1MDQxYVx1MDQzOFx1MDQ0MVx1MDQzNVx1MDQzZiBcdTA0MzBcdTA0M2JcdTA0NDMiLAoiSGVhZGluZyA1IjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyA1IiwKIkhlYWRlciAyIjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1MDQxMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MFx1MDQ0Ylx1MDQzM1x1MDQ0Ylx1MDQzNyBcdTA0MzBcdTA0M2JcdTA0M2NcdTA0MzBcdTA0NDhcdTA0NDMgXHUwNDMxXHUwNDQzXHUwNDQ0XHUwNDM1XHUwNDQwXHUwNDRiXHUwNDNkXHUwNDMwIFx1MDQzYVx1MDQzNVx1MDQ0MFx1MDRhZiBcdTA0M2NcdTA0ZTlcdTA0M2NcdTA0M2FcdTA0MzhcdTA0M2RcdTA0M2JcdTA0MzVcdTA0MzNcdTA0MzUgXHUwNDMxXHUwNDM1XHUwNDNiXHUwNGQ5XHUwNDNkIFx1MDQ0Mlx1MDRkOVx1MDQ0ZFx1MDQzY1x1MDQzOFx1MDQzZCBcdTA0MzhcdTA0NDJcdTA0MzVcdTA0M2JcdTA0M2NcdTA0ZDlcdTA0MzNcdTA0ZDlcdTA0M2QuIFx1MDQxMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0OFx1MDQzYVx1MDQzMCBDdHJsK1hcL0NcL1YgXHUwNDNhXHUwNDQzXHUwNDNiXHUwNDNiXHUwNDMwXHUwNDNkXHUwNDRiXHUwNDMzXHUwNDRiXHUwNDM3LiIsCiJIZWFkaW5nIDQiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDIiLAoiUGFzdGUiOiAiXHUwNGU4XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNGFmIiwKIkNsb3NlIjogIlx1MDQyZlx1MDQzMVx1MDQ0Ylx1MDQ0MFx1MDQzM1x1MDQzMCIsCiJGb250IEZhbWlseSI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIgXHUwNDQyXHUwNGU5XHUwNDQwXHUwNDM1IiwKIlByZSI6ICJcdTA0MTBcdTA0M2JcdTA0MzRcdTA0MzBcdTA0M2QgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDNkXHUwNDMzXHUwNDMwXHUwNDNkIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJBbGlnbiByaWdodCI6ICJcdTA0MjNcdTA0YTMgXHUwNDRmXHUwNDNhIFx1MDQzYVx1MDQ0Ylx1MDQ0MFx1MDQ0Ylx1MDQzOVx1MDQzNFx1MDQzMFx1MDQzZCBcdTA0NDJcdTA0MzhcdTA0MzNcdTA0MzVcdTA0MzdcdTA0M2JcdTA0ZDlcdTA0YWYiLAoiTmV3IGRvY3VtZW50IjogIlx1MDQyZlx1MDRhM1x1MDQzMCBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDIiLAoiQmxvY2txdW90ZSI6ICJcdTA0MjZcdTA0MzhcdTA0NDJcdTA0MzBcdTA0NDJcdTA0MzAiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA0MWRcdTA0NDNcdTA0M2NcdTA0MzVcdTA0NDBcdTA0MzBcdTA0NDZcdTA0MzhcdTA0NGYiLAoiSGVhZGluZyAxIjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyAxIiwKIkhlYWRpbmdzIjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzYlx1MDQzMFx1MDQ0MCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNDFlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmXHUwNDNkXHUwNDRiIFx1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJGb3JtYXRzIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJIZWFkZXJzIjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzYlx1MDQzMFx1MDQ0MCIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMVx1MDQzMFx1MDQ0MFx1MDQ0Ylx1MDQ0MVx1MDQ0Ylx1MDQzZCBcdTA0NDFcdTA0MzBcdTA0MzlcdTA0M2JcdTA0MzBcdTA0NDMiLAoiSGVhZGVyIDMiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDMiLAoiQmxvY2tzIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJVbmRvIjogIlx1MDQxYVx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0MyIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDQyMVx1MDQ0Ylx1MDQzN1x1MDQ0Ylx1MDQzYlx1MDQzM1x1MDQzMFx1MDQzZCIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzVcdTA0NDBcdTA0M2JcdTA0MzBcdTA0NDAiLAoiSGVhZGVyIDEiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHUwNGU4XHUwNDQxXHUwNDNhXHUwNDM1IFx1MDQzOFx1MDQzZFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQ0MSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQ0M1x1MDQzZFx1MDQ0YiBcdTA0NDdcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDJcdTA0NDMiLAoiRm9udCBTaXplcyI6ICJcdTA0MjhcdTA0NDBcdTA0MzhcdTA0NDRcdTA0NDIgXHUwNDM3XHUwNDQzXHUwNDQwXHUwNDNiXHUwNDRiXHUwNDNhXHUwNDNiXHUwNDMwXHUwNDQwXHUwNDRiIiwKIlN1YnNjcmlwdCI6ICJcdTA0MTBcdTA0NDFcdTA0M2FcdTA0NGIgXHUwNDM4XHUwNDNkXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDQxIiwKIkhlYWRlciA2IjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyA2IiwKIlJlZG8iOiAiXHUwNDFhXHUwNDMwXHUwNDMxXHUwNDMwXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQzIiwKIlBhcmFncmFwaCI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0MzNcdTA0NDBcdTA0MzBcdTA0NDQiLAoiT2siOiAiXHUwNDIyXHUwNGQ5XHUwNDNjXHUwNDMwXHUwNDNjIiwKIkJvbGQiOiAiXHUwNDFhXHUwNDMwXHUwNDNiXHUwNDRiXHUwNDNkIiwKIkNvZGUiOiAiXHUwNDFhXHUwNDNlXHUwNDM0IiwKIkl0YWxpYyI6ICJcdTA0MWFcdTA0NDNcdTA0NDBcdTA0NDFcdTA0MzhcdTA0MzIiLAoiQWxpZ24gY2VudGVyIjogIlx1MDRhZVx1MDQzN1x1MDRkOVx1MDQzYVx1MDQzYVx1MDRkOSBcdTA0NDJcdTA0MzhcdTA0MzNcdTA0MzVcdTA0MzdcdTA0M2JcdTA0ZDlcdTA0YWYiLAoiSGVhZGVyIDUiOiAiXHUwNDExXHUwNDMwXHUwNDQ4XHUwNDNiXHUwNDMwXHUwNDNjIDUiLAoiSGVhZGluZyA2IjogIlx1MDQxMVx1MDQzMFx1MDQ0OFx1MDQzYlx1MDQzMFx1MDQzYyA2IiwKIkhlYWRpbmcgMyI6ICJcdTA0MTFcdTA0MzBcdTA0NDhcdTA0M2JcdTA0MzBcdTA0M2MgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiXHUwNDFlXHUwNDQyXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmXHUwNDNkXHUwNDRiIFx1MDQzYVx1MDQzNVx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDRkOVx1MDQzOVx1MDQ0Mlx1MDRhZiIsCiJIZWFkZXIgNCI6ICJcdTA0MTFcdTA0MzBcdTA0NDhcdTA0M2JcdTA0MzBcdTA0M2MgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHUwNGU4XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNGFmIFx1MDQ0NFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQ0M1x1MDQ0MVx1MDQ0Ylx1MDQzNyBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNDQwXHUwNDM1XHUwNDM2XHUwNDM4XHUwNDNjXHUwNDRiXHUwNDNkXHUwNDM0XHUwNDMwLiBcdTA0ZDhcdTA0M2JcdTA0MzVcdTA0MzNcdTA0MzUgXHUwNGFmXHUwNDM3XHUwNDNiXHUwNDM1XHUwNDNhXHUwNDNkXHUwNDM1IFx1MDQ0MVx1MDRhZlx1MDQzZFx1MDQzNFx1MDQzNVx1MDQ0MFx1MDQzM1x1MDRkOVx1MDQzZFx1MDQ0N1x1MDQzNSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQzXHUwNDQxXHUwNDRiXHUwNDM3IFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDQzYlx1MDQzNVx1MDQ0MC4iLAoiVW5kZXJsaW5lIjogIlx1MDQxMFx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQzZFx1MDQzMCBcdTA0NDFcdTA0NGJcdTA0MzdcdTA0NGJcdTA0M2JcdTA0MzNcdTA0MzBcdTA0M2QiLAoiQ2FuY2VsIjogIlx1MDQxMVx1MDQzMFx1MDQ0OCBcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDJcdTA0NDMiLAoiSnVzdGlmeSI6ICJcdTA0MWFcdTA0MzhcdTA0YTNcdTA0M2JcdTA0MzVcdTA0M2FcdTA0M2FcdTA0ZDkgXHUwNDNhXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNmIFx1MDQ0Mlx1MDQzOFx1MDQzM1x1MDQzNVx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJJbmxpbmUiOiAiXHUwNDJlXHUwNDNiIFx1MDQ0NVx1MDRkOVx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzNSIsCiJDb3B5IjogIlx1MDQxYVx1MDRhZlx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzY1x1MDRkOVx1MDQzYlx1MDRkOVx1MDRhZiIsCiJBbGlnbiBsZWZ0IjogIlx1MDQyMVx1MDQ0M1x1MDQzYiBcdTA0NGZcdTA0M2EgXHUwNDNhXHUwNDRiXHUwNDQwXHUwNDRiXHUwNDM5XHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQ0Mlx1MDQzOFx1MDQzM1x1MDQzNVx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJWaXN1YWwgYWlkcyI6ICJcdTA0MWFcdTA0YWZcdTA0NDBcdTA0NDFcdTA0ZDlcdTA0NDJcdTA0M2NcdTA0ZDkgXHUwNGQ5XHUwNDQxXHUwNDMxXHUwNDMwXHUwNDNmXHUwNDNiXHUwNDMwXHUwNDQwIiwKIkxvd2VyIEdyZWVrIjogIlx1MDQxM1x1MDQ0MFx1MDQzNVx1MDQzYSBcdTA0NGVcdTA0M2IgXHUwNDQ1XHUwNGQ5XHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM1IiwKIlNxdWFyZSI6ICJcdTA0MjhcdTA0MzBcdTA0M2FcdTA0M2NcdTA0MzBcdTA0M2EiLAoiRGVmYXVsdCI6ICJcdTA0ZDhcdTA0YWZcdTA0MzJcdTA0ZDlcdTA0M2JcdTA0MzNcdTA0MzUgXHUwNDNhXHUwNGU5XHUwNDM5XHUwNDNiXHUwNGQ5XHUwNGFmXHUwNDNiXHUwNGQ5XHUwNDQwIiwKIkxvd2VyIEFscGhhIjogIlx1MDQxMFx1MDQzYlx1MDQ0Y1x1MDQ0NFx1MDQzMCBcdTA0NGVcdTA0M2IgXHUwNDQ1XHUwNGQ5XHUwNDQwXHUwNDM1XHUwNDQ0XHUwNDM1IiwKIkNpcmNsZSI6ICJcdTA0MjJcdTA0YWZcdTA0MzNcdTAyNTlcdTA0NDBcdTAyNTlcdTA0M2EiLAoiRGlzYyI6ICJcdTA0MTRcdTA0MzhcdTA0NDFcdTA0M2EiLAoiVXBwZXIgQWxwaGEiOiAiXHUwNDEwXHUwNDNiXHUwNDRjXHUwNDQ0XHUwNDMwIFx1MDQzMVx1MDQzMFx1MDQ0OCBcdTA0NDVcdTA0ZDlcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzUiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDIwXHUwNDM4XHUwNDNjIFx1MDQzMVx1MDQzMFx1MDQ0OCBcdTA0NDVcdTA0ZDlcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzUiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNDIwXHUwNDM4XHUwNDNjIFx1MDQ0ZVx1MDQzYiBcdTA0NDVcdTA0ZDlcdTA0NDBcdTA0MzVcdTA0NDRcdTA0MzUiLAoiTmFtZSI6ICJcdTA0MThcdTA0NDFcdTA0MzVcdTA0M2MiLAoiQW5jaG9yIjogIlx1MDQyZlx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQ0YyIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDQyMVx1MDQzMFx1MDQzYVx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzY1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZCBcdTA0YWZcdTA0MzdcdTA0MzNcdTA0ZDlcdTA0NDBcdTA0MzVcdTA0NDhcdTA0M2JcdTA0ZDlcdTA0NDAgXHUwNDMxXHUwNDMwXHUwNDQwLiBcdTA0MjFcdTA0MzVcdTA0MzcgXHUwNDQ3XHUwNDRiXHUwNDNkXHUwNDNkXHUwNDMwXHUwNDNkIFx1MDQzNFx1MDQzMCBcdTA0NDdcdTA0NGJcdTA0MzNcdTA0MzBcdTA0NDBcdTA0MzNcdTA0MzAgXHUwNDQyXHUwNDM1XHUwNDNiXHUwNDM4XHUwNDQxXHUwNDM1XHUwNDM3XHUwNDNjXHUwNDM1PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNDIxXHUwNDNlXHUwNGEzXHUwNDMzXHUwNDRiIFx1MDQzYVx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzMFx1MDQzZFx1MDQ0YiBcdTA0M2FcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NDMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNDFjXHUwNDMwXHUwNDQ1XHUwNDQxXHUwNDQzXHUwNDQxIFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYiIsCiJTb3VyY2UgY29kZSI6ICJcdTA0MjdcdTA0NGJcdTA0MzNcdTA0MzBcdTA0M2RcdTA0MzBcdTA0M2EgXHUwNDNhXHUwNDNlXHUwNDM0IiwKIkNvbG9yIjogIlx1MDQyMlx1MDRlOVx1MDQ0MSIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQyM1x1MDRhM1x1MDQzZFx1MDQzMFx1MDQzZCBcdTA0NDFcdTA0NDNcdTA0M2JcdTA0MzNcdTA0MzAgXHUwNDRmXHUwNDM3XHUwNDRiXHUwNDNiXHUwNDRiXHUwNDQ4IiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNDIxXHUwNDQzXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQ0M1x1MDRhM1x1MDQzM1x1MDQzMCBcdTA0NGZcdTA0MzdcdTA0NGJcdTA0M2JcdTA0NGJcdTA0NDgiLAoiRW1vdGljb25zIjogIlx1MDQyMVx1MDQzY1x1MDQzMFx1MDQzOVx1MDQzYlx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJSb2JvdHMiOiAiXHUwNDIwXHUwNDNlXHUwNDMxXHUwNDNlXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQwIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHUwNDE0XHUwNDNlXHUwNDNhXHUwNDQzXHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQyIFx1MDRhZlx1MDQzN1x1MDQzYlx1MDQzNVx1MDQzYVx1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzNSIsCiJUaXRsZSI6ICJcdTA0MThcdTA0NDFcdTA0MzVcdTA0M2MiLAoiS2V5d29yZHMiOiAiXHUwNDIyXHUwNGU5XHUwNDNmIFx1MDQ0MVx1MDRhZlx1MDQzN1x1MDQzYlx1MDRkOVx1MDQ0MCIsCiJFbmNvZGluZyI6ICJcdTA0MWFcdTA0M2VcdTA0MzRcdTA0MzhcdTA0NDBcdTA0M2VcdTA0MzJcdTA0M2FcdTA0MzAiLAoiRGVzY3JpcHRpb24iOiAiXHUwNDIyXHUwNDMwXHUwNDQxXHUwNDMyXHUwNDM4XHUwNDQwXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDMwIiwKIkF1dGhvciI6ICJcdTA0MTBcdTA0MzJcdTA0NDJcdTA0M2VcdTA0NDAiLAoiRnVsbHNjcmVlbiI6ICJcdTA0MjJcdTA0NDNcdTA0M2JcdTA0NGIgXHUwNDRkXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDM0XHUwNDMwIiwKIkhvcml6b250YWwgbGluZSI6ICJcdTA0MTNcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NGMgXHUwNDQxXHUwNDRiXHUwNDM3XHUwNDRiXHUwNDNhIiwKIkhvcml6b250YWwgc3BhY2UiOiAiXHUwNDJmXHUwNDQyXHUwNDNjXHUwNDMwIFx1MDQzMFx1MDQ0MFx1MDQzMCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHUwNDIwXHUwNGQ5XHUwNDQxXHUwNDM1XHUwNDNjIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZlwvXHUwNGFmXHUwNDM3XHUwNDMzXHUwNGQ5XHUwNDQwXHUwNDQyXHUwNGFmIiwKIkdlbmVyYWwiOiAiXHUwNDEzXHUwNDNlXHUwNDNjXHUwNDQzXHUwNDNjXHUwNDM4IiwKIkFkdmFuY2VkIjogIlx1MDQxYVx1MDQzOFx1MDRhM1x1MDRkOVx1MDQzOVx1MDQ0Mlx1MDQzNVx1MDQzYlx1MDQzM1x1MDRkOVx1MDQzZCBcdTA0M2FcdTA0ZTlcdTA0MzlcdTA0M2JcdTA0ZDlcdTA0YWZcdTA0M2JcdTA0ZDlcdTA0NDAiLAoiU291cmNlIjogIlx1MDQyN1x1MDQ0Ylx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQzYSIsCiJCb3JkZXIiOiAiXHUwNDI3XHUwNDM4XHUwNDNhIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA0MjdcdTA0MzhcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0M2NcdTA0ZDlcdTA0M2JcdTA0ZDlcdTA0NDAgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQwXHUwNDQ2XHUwNDM4XHUwNDRmXHUwNDNiXHUwNGQ5XHUwNDQwXHUwNDM1IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMFx1MDQ0MVx1MDQzY1x1MDQzMCBcdTA0MzBcdTA0NDBcdTA0MzAiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNDIyXHUwNDMwXHUwNDQxXHUwNDMyXHUwNDM4XHUwNDQwXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDMwIiwKIlN0eWxlIjogIlx1MDQyMVx1MDQ0Mlx1MDQzOFx1MDQzYlx1MDQ0YyIsCiJEaW1lbnNpb25zIjogIlx1MDRhZVx1MDQzYlx1MDQ0N1x1MDRkOVx1MDQzZFx1MDQzNVx1MDQ0OFx1MDQzYlx1MDRkOVx1MDQ0MCIsCiJJbnNlcnQgaW1hZ2UiOiAiXHUwNDIwXHUwNGQ5XHUwNDQxXHUwNDM1XHUwNDNjIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA0MTRcdTA0MzBcdTA0NDJcdTA0MzBcL1x1MDQzMlx1MDQzMFx1MDQzYVx1MDQ0Ylx1MDQ0MiBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNDIxXHUwNDRiXHUwNDNiXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDMwXHUwNDNkXHUwNDRiIFx1MDQzMVx1MDQzNVx1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDRhZiIsCiJVcmwiOiAiXHUwNDIxXHUwNDRiXHUwNDNiXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDNjXHUwNDMwIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA0MWFcdTA0YWZcdTA0NDBcdTA0NDFcdTA0ZDlcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzNcdTA0ZDlcdTA0M2QgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIiwKIkFuY2hvcnMiOiAiXHUwNDJmXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDRjXHUwNDNiXHUwNGQ5XHUwNDQwIiwKIkluc2VydCBsaW5rIjogIlx1MDQyMVx1MDQ0Ylx1MDQzYlx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzMCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiTmV3IHdpbmRvdyI6ICJcdTA0MmZcdTA0YTNcdTA0MzAgXHUwNDQyXHUwNGQ5XHUwNDQwXHUwNGQ5XHUwNDM3XHUwNGQ5IiwKIk5vbmUiOiAiXHUwNGJhXHUwNDM4XHUwNDQ3XHUwNDMxXHUwNDM1XHUwNDQwIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA0ZThcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2JcdTA0MzNcdTA0ZDlcdTA0M2QgVVJMIFx1MDQ0ZFx1MDQzYlx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzZCBcdTA0M2ZcdTA0M2VcdTA0NDdcdTA0NDJcdTA0MzAgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDRiIFx1MDQzMVx1MDQ0M1x1MDQzYlx1MDQ0MVx1MDQzMCBcdTA0M2FcdTA0MzhcdTA0NDBcdTA0ZDlcdTA0M2EuIFx1MDQxN1x1MDQzMFx1MDQ0MFx1MDQ0M1x1MDQ0MFx1MDQzOCBtYWlsdG86IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzOFx1MDQzYVx1MDQ0MSBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2JcdTA0NDFcdTA0MzVcdTA0M2RcdTA0M2NcdTA0MzU/IiwKIlRhcmdldCI6ICJcdTA0MWNcdTA0MzBcdTA0M2FcdTA0NDFcdTA0MzBcdTA0NDIiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJcdTA0ZThcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2JcdTA0MzNcdTA0ZDlcdTA0M2QgVVJMIFx1MDQ0ZFx1MDQzYlx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzZCBcdTA0M2ZcdTA0M2VcdTA0NDdcdTA0NDJcdTA0MzAgXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDRiIFx1MDQzMVx1MDQ0M1x1MDQzYlx1MDQ0MVx1MDQzMCBcdTA0M2FcdTA0MzhcdTA0NDBcdTA0ZDlcdTA0M2EuIFx1MDQxN1x1MDQzMFx1MDQ0MFx1MDQ0M1x1MDQ0MFx1MDQzOCBtYWlsdG86IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzOFx1MDQzYVx1MDQ0MSBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2JcdTA0NDFcdTA0MzVcdTA0M2RcdTA0M2NcdTA0MzU/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDQyMVx1MDQ0Ylx1MDQzYlx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQzMFx1MDQzY1x1MDQzMCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWZcL1x1MDRhZlx1MDQzN1x1MDQzM1x1MDRkOVx1MDQ0MFx1MDQ0Mlx1MDRhZiIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZlwvXHUwNGFmXHUwNDM3XHUwNDMzXHUwNGQ5XHUwNDQwXHUwNDQyXHUwNGFmIiwKIlBvc3RlciI6ICJcdTA0MWZcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzVcdTA0NDAiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDQxMFx1MDQzYlx1MDQ0Y1x1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzMiBcdTA0NDdcdTA0NGJcdTA0MzNcdTA0MzBcdTA0M2RcdTA0MzBcdTA0M2EiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA0MmRcdTA0NDdcdTA0MzVcdTA0M2RcdTA0ZDkgXHUwNDQxXHUwNDMwXHUwNDNiXHUwNDRiXHUwNDNkXHUwNDMzXHUwNDMwXHUwNDNkIFx1MDQzYVx1MDQzZVx1MDQzNFx1MDQzZFx1MDQ0YiBcdTA0NDJcdTA0YWZcdTA0MzFcdTA0ZDlcdTA0M2RcdTA0NDBcdTA0ZDlcdTA0M2EgXHUwNGU5XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNDMzXHUwNDM1XHUwNDM3OiIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNlIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJFbWJlZCI6ICJcdTA0MmRcdTA0NDdcdTA0MzVcdTA0M2RcdTA0ZDkgXHUwNDQxXHUwNDMwXHUwNDNiXHUwNDQzIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDRlOFx1MDQzN1x1MDQzNVx1MDQzYlx1MDQzY1x1MDRkOVx1MDQ0MSBcdTA0MzFcdTA0NDNcdTA0NDhcdTA0M2JcdTA0NGJcdTA0M2EiLAoiUGFnZSBicmVhayI6ICJcdTA0MTFcdTA0MzhcdTA0NDIgXHUwNDMxXHUwNGFmXHUwNDNiXHUwNDMzXHUwNDM1XHUwNDQ3XHUwNDM1IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDNiXHUwNDMwXHUwNDQzXHUwNDQxXHUwNDRiXHUwNDM3IFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiUHJldmlldyI6ICJcdTA0MWFcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2YgXHUwNDMwXHUwNDNiXHUwNDQzIiwKIlByaW50IjogIlx1MDQxMVx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJTYXZlIjogIlx1MDQyMVx1MDQzMFx1MDQzYVx1MDQzYlx1MDQzMFx1MDQ0MyIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNDJkXHUwNDM3XHUwNDNiXHUwNGQ5XHUwNDNkXHUwNDMzXHUwNGQ5XHUwNDNkIFx1MDQ0ZFx1MDQzYlx1MDQzNVx1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0MiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0NGJcdTA0M2JcdTA0M2NcdTA0MzBcdTA0MzRcdTA0NGIuIiwKIlJlcGxhY2UiOiAiXHUwNDEwXHUwNDNiXHUwNDNjXHUwNDMwXHUwNDQ4XHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIk5leHQiOiAiXHUwNDFhXHUwNDM4XHUwNDNiXHUwNGQ5XHUwNDQxXHUwNDM1IiwKIldob2xlIHdvcmRzIjogIlx1MDQyMVx1MDRhZlx1MDQzN1x1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzZFx1MDQzNSBcdTA0NDJcdTA0NDNcdTA0M2JcdTA0NGJcdTA0NDFcdTA0NGJcdTA0M2RcdTA0NDdcdTA0MzAgXHUwNDMzXHUwNDRiXHUwNDNkXHUwNDMwIFx1MDQ0ZFx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlx1MDQyZFx1MDQzN1x1MDQzYlx1MDRkOVx1MDQzZiBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0NDMgXHUwNGJiXHUwNGQ5XHUwNDNjIFx1MDQzMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDFkXHUwNGQ5XHUwNDQwXHUwNDQxXHUwNGQ5XHUwNDMzXHUwNGQ5IFx1MDQzMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJGaW5kIjogIlx1MDQyZFx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJSZXBsYWNlIGFsbCI6ICJcdTA0MTFcdTA0MzBcdTA0NDBcdTA0NGJcdTA0NDFcdTA0NGJcdTA0M2QgXHUwNDM0XHUwNDMwIFx1MDQzMFx1MDQzYlx1MDQzY1x1MDQzMFx1MDQ0OFx1MDQ0Mlx1MDQ0Ylx1MDQ0MFx1MDQ0MyIsCiJNYXRjaCBjYXNlIjogIlx1MDQxMVx1MDQzMFx1MDQ0OCBcdTA0YmJcdTA0ZDlcdTA0M2MgXHUwNDRlXHUwNDNiIFx1MDQ0NVx1MDRkOVx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzNVx1MDQzZCBcdTA0MzhcdTA0NDFcdTA0ZDlcdTA0M2ZcdTA0M2FcdTA0ZDkgXHUwNDMwXHUwNDNiXHUwNDQzIiwKIlByZXYiOiAiXHUwNDEwXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDMzXHUwNDRiIiwKIlNwZWxsY2hlY2siOiAiXHUwNDE0XHUwNGU5XHUwNDQwXHUwNDM1XHUwNDQxIFx1MDQ0Zlx1MDQzN1x1MDQ0Ylx1MDQzYlx1MDQ0Ylx1MDQ0OCIsCiJGaW5pc2giOiAiXHUwNDIyXHUwNGQ5XHUwNDNjXHUwNDMwXHUwNDNjIiwKIklnbm9yZSBhbGwiOiAiXHUwNDExXHUwNDMwXHUwNDQwXHUwNDRiXHUwNDQxXHUwNDRiXHUwNDNkIFx1MDQzNFx1MDQzMCBcdTA0M2FcdTA0MzBcdTA0M2JcdTA0MzRcdTA0NGJcdTA0NDBcdTA0NDMiLAoiSWdub3JlIjogIlx1MDQxOFx1MDQzM1x1MDQ0YVx1MDQ0Mlx1MDQzOFx1MDQzMVx1MDQzMFx1MDQ0MFx1MDQ0MVx1MDQ0Ylx1MDQzNyBcdTA0M2FcdTA0MzBcdTA0M2JcdTA0MzRcdTA0NGJcdTA0NDBcdTA0NDMiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNDIxXHUwNGFmXHUwNDM3XHUwNDNiXHUwNDM1XHUwNDNhXHUwNDNhXHUwNGQ5IFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA0ZThcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0M2QgXHUwNDRlXHUwNDNiXHUwNDNiXHUwNDMwXHUwNDQwIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJSb3dzIjogIlx1MDQyZVx1MDQzYlx1MDQzYlx1MDQzMFx1MDQ0MCIsCiJIZWlnaHQiOiAiXHUwNDExXHUwNDM4XHUwNDM1XHUwNDNhXHUwNDNiXHUwNDM1XHUwNDNhIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA0MmVcdTA0M2JcdTA0M2RcdTA0NGIgXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNkIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJBbGlnbm1lbnQiOiAiXHUwNDIyXHUwNDM4XHUwNDMzXHUwNDM1XHUwNDM3XHUwNDNiXHUwNGQ5XHUwNGFmIiwKIkJvcmRlciBjb2xvciI6ICJcdTA0MjdcdTA0MzhcdTA0M2EgXHUwNDQyXHUwNGU5XHUwNDQxXHUwNDM1IiwKIkNvbHVtbiBncm91cCI6ICJcdTA0MTFcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDAgXHUwNDMzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDNmXHUwNDMwXHUwNDQxXHUwNDRiIiwKIlJvdyI6ICJcdTA0MmVcdTA0M2IiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwNDIxXHUwNDQzXHUwNDNiXHUwNDM0XHUwNDMwXHUwNDNkIFx1MDQzMVx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiU3BsaXQgY2VsbCI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2FcdTA0M2RcdTA0MzUgXHUwNDMxXHUwNGFmXHUwNDNiXHUwNGFmIiwKIkNlbGwgcGFkZGluZyI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2FcdTA0M2RcdTA0MzUgXHUwNDQyXHUwNDQzXHUwNDQyXHUwNDRiXHUwNDQwXHUwNDQzIiwKIkNlbGwgc3BhY2luZyI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0NDAgXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDRiIiwKIlJvdyB0eXBlIjogIlx1MDQyZVx1MDQzYiBcdTA0NDJcdTA0ZTlcdTA0NDBcdTA0MzUiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiQm9keSI6ICJcdTA0MTFcdTA0ZDlcdTA0MzRcdTA0ZDlcdTA0M2QiLAoiQ2FwdGlvbiI6ICJcdTA0MThcdTA0NDFcdTA0MzVcdTA0M2MiLAoiRm9vdGVyIjogIlx1MDQxMFx1MDQ0MVx1MDQzYVx1MDQ0YiBcdTA0ZTlcdTA0M2JcdTA0MzVcdTA0NDgiLAoiRGVsZXRlIHJvdyI6ICJcdTA0MmVcdTA0M2JcdTA0M2RcdTA0NGIgXHUwNDMxXHUwNDM1XHUwNDQyXHUwNDM1XHUwNDQwXHUwNGFmIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNDJlXHUwNDNiXHUwNDNkXHUwNDRiIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDQzZCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiU2NvcGUiOiAiXHUwNGU4XHUwNDNiXHUwNDNhXHUwNGQ5IiwKIkRlbGV0ZSB0YWJsZSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0MzBcdTA0M2RcdTA0NGIgXHUwNDMxXHUwNDM1XHUwNDQyXHUwNDM1XHUwNDQwXHUwNGFmIiwKIkggQWxpZ24iOiAiXHUwNDJmXHUwNDQyXHUwNDNjXHUwNDMwIFx1MDQ0Mlx1MDQzOFx1MDQzM1x1MDQzNVx1MDQzN1x1MDQzYlx1MDRkOVx1MDRhZiIsCiJUb3AiOiAiXHUwNGU4XHUwNDQxXHUwNDNhXHUwNGQ5IiwKIkhlYWRlciBjZWxsIjogIlx1MDQxMVx1MDQzMFx1MDQ0OCBcdTA0M2FcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2EiLAoiQ29sdW1uIjogIlx1MDQxMVx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMCIsCiJSb3cgZ3JvdXAiOiAiXHUwNDJlXHUwNDNiXHUwNDNiXHUwNDMwXHUwNDQwIFx1MDQzM1x1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzZlx1MDQzMFx1MDQ0MVx1MDQ0YiIsCiJDZWxsIjogIlx1MDQxYVx1MDRhZlx1MDQzN1x1MDRkOVx1MDQzZFx1MDRkOVx1MDQzYSIsCiJNaWRkbGUiOiAiXHUwNDIzXHUwNDQwXHUwNDQyXHUwNDMwXHUwNDMzXHUwNDMwIiwKIkNlbGwgdHlwZSI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2EgXHUwNDQyXHUwNGU5XHUwNDQwXHUwNDM1IiwKIkNvcHkgcm93IjogIlx1MDQyZVx1MDQzYlx1MDQzZFx1MDQ0YiBcdTA0M2FcdTA0YWZcdTA0NDdcdTA0MzVcdTA0NDBcdTA0M2NcdTA0ZDlcdTA0M2JcdTA0ZDlcdTA0YWYiLAoiUm93IHByb3BlcnRpZXMiOiAiXHUwNDJlXHUwNDNiIFx1MDRhZlx1MDQzN1x1MDQzYlx1MDQzNVx1MDQzYVx1MDQzYlx1MDRkOVx1MDQ0MFx1MDQzNSIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1MDQyMlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQzMCBcdTA0YWZcdTA0MzdcdTA0M2JcdTA0MzVcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0NDBcdTA0MzUiLAoiQm90dG9tIjogIlx1MDQxMFx1MDQ0MVx1MDQzYVx1MDQzMCIsCiJWIEFsaWduIjogIlx1MDQxMFx1MDQ0MVx1MDQzY1x1MDQzMCBcdTA0NDJcdTA0MzhcdTA0MzNcdTA0MzVcdTA0MzdcdTA0M2JcdTA0ZDlcdTA0YWYiLAoiSGVhZGVyIjogIlx1MDRlOFx1MDQ0MVx1MDQzYVx1MDQzNSBcdTA0ZTlcdTA0M2JcdTA0MzVcdTA0NDgiLAoiUmlnaHQiOiAiXHUwNDIzXHUwNGEzIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNDIzXHUwNGEzXHUwNDNkXHUwNDMwXHUwNDNkIFx1MDQzMVx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQzYlx1MDQzMFx1MDQ0MCBcdTA0ZTlcdTA0NDFcdTA0NDJcdTA0ZDlcdTA0YWYiLAoiQ29scyI6ICJcdTA0MTFcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDAiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA0MTBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0M2QgXHUwNDRlXHUwNDNiXHUwNDNiXHUwNDMwXHUwNDQwIFx1MDRlOVx1MDQ0MVx1MDQ0Mlx1MDRkOVx1MDRhZiIsCiJXaWR0aCI6ICJcdTA0MWFcdTA0MzhcdTA0YTNcdTA0M2JcdTA0MzVcdTA0M2EiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDQxYVx1MDRhZlx1MDQzN1x1MDRkOVx1MDQzZFx1MDRkOVx1MDQzYSBcdTA0YWZcdTA0MzdcdTA0M2JcdTA0MzVcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0NDBcdTA0MzUiLAoiTGVmdCI6ICJcdTA0MjFcdTA0NDNcdTA0M2IiLAoiQ3V0IHJvdyI6ICJcdTA0MmVcdTA0M2JcdTA0M2RcdTA0NGIgXHUwNDNhXHUwNDM4XHUwNDQxXHUwNDM1XHUwNDNmIFx1MDQzMFx1MDQzYlx1MDQ0MyIsCiJEZWxldGUgY29sdW1uIjogIlx1MDQxMVx1MDQzMFx1MDQzM1x1MDQzMFx1MDQzZFx1MDQzMFx1MDQzZFx1MDQ0YiBcdTA0MzFcdTA0MzVcdTA0NDJcdTA0MzVcdTA0NDBcdTA0YWYiLAoiQ2VudGVyIjogIlx1MDRhZVx1MDQzN1x1MDRkOVx1MDQzYSIsCiJNZXJnZSBjZWxscyI6ICJcdTA0MWFcdTA0YWZcdTA0MzdcdTA0ZDlcdTA0M2RcdTA0ZDlcdTA0M2FcdTA0M2JcdTA0ZDlcdTA0NDBcdTA0M2RcdTA0MzUgXHUwNDMxXHUwNDM1XHUwNDQwXHUwNDNiXHUwNGQ5XHUwNDQ4XHUwNDQyXHUwNDM1XHUwNDQwXHUwNGFmIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA0MjhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2QgXHUwNGU5XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNGFmIiwKIlRlbXBsYXRlcyI6ICJcdTA0MjhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2RcdTA0M2RcdTA0MzBcdTA0NDAiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA0MjRcdTA0M2VcdTA0M2QgXHUwNDQyXHUwNGU5XHUwNDQxXHUwNDM1IiwKIkN1c3RvbS4uLiI6ICJcdTA0YWVcdTA0MzdcdTA0MzVcdTA0M2RcdTA0NDdcdTA0ZDlcdTA0M2JcdTA0MzVcdTA0M2FcdTA0M2JcdTA0MzUuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDRhZVx1MDQzN1x1MDQzNVx1MDQzZFx1MDQ0N1x1MDRkOVx1MDQzYlx1MDQzNVx1MDQzYVx1MDQzYlx1MDQzNSBcdTA0NDJcdTA0ZTlcdTA0NDEiLAoiTm8gY29sb3IiOiAiXHUwNDIyXHUwNGU5XHUwNDQxXHUwNDQxXHUwNDM1XHUwNDM3IiwKIlRleHQgY29sb3IiOiAiXHUwNDIyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIFx1MDQ0Mlx1MDRlOVx1MDQ0MVx1MDQzNSIsCiJTaG93IGJsb2NrcyI6ICJcdTA0MTFcdTA0M2JcdTA0M2VcdTA0M2FcdTA0M2JcdTA0MzBcdTA0NDBcdTA0M2RcdTA0NGIgXHUwNDNhXHUwNGFmXHUwNDQwXHUwNDQxXHUwNGQ5XHUwNDQyXHUwNGFmIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNDJmXHUwNDQ4XHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNkIFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzYlx1MDQzMFx1MDQ0MFx1MDQzZFx1MDQ0YiBcdTA0M2FcdTA0YWZcdTA0NDBcdTA0NDFcdTA0ZDlcdTA0NDJcdTA0YWYiLAoiV29yZHM6IHswfSI6ICJcdTA0MjFcdTA0YWZcdTA0MzdcdTA0M2JcdTA0ZDlcdTA0NDA6IHswfSIsCiJJbnNlcnQiOiAiXHUwNGU4XHUwNDQxXHUwNDQyXHUwNGQ5XHUwNGFmIiwKIkZpbGUiOiAiXHUwNDI0XHUwNDMwXHUwNDM5XHUwNDNiIiwKIkVkaXQiOiAiXHUwNDIyXHUwNGU5XHUwNDNmIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzYlx1MDQzMFx1MDQ0M1x1MDQzYlx1MDQ0YiBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIgXHUwNGU5XHUwNDNiXHUwNDNhXHUwNGQ5XHUwNDQxXHUwNDM1LiBcdTA0MWNcdTA0MzVcdTA0M2RcdTA0NGVcdTA0MzNcdTA0MzAgXHUwNDNhXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDQwIFx1MDRlOVx1MDQ0N1x1MDQzNVx1MDQzZCBBTFQtRjkgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDMzXHUwNDRiXHUwNDM3LiBcdTA0MWFcdTA0M2VcdTA0NDBcdTA0MzBcdTA0M2JcdTA0M2JcdTA0MzBcdTA0NDAgXHUwNDNmXHUwNDMwXHUwNDNkXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNkXHUwNGQ5IFx1MDQzYVx1MDRhZlx1MDQ0N1x1MDQzNVx1MDQ0MCBcdTA0ZTlcdTA0NDdcdTA0MzVcdTA0M2QgQUxULUYxMCBcdTA0MzFcdTA0MzBcdTA0NDFcdTA0NGJcdTA0MzNcdTA0NGJcdTA0MzcuIFx1MDQyZlx1MDQ0MFx1MDQzNFx1MDRkOVx1MDQzYyBcdTA0ZTlcdTA0NDdcdTA0MzVcdTA0M2QgQUxULTAgXHUwNDMxXHUwNDMwXHUwNDQxXHUwNDRiXHUwNDMzXHUwNDRiXHUwNDM3LiIsCiJUb29scyI6ICJcdTA0MWFcdTA0M2VcdTA0NDBcdTA0MzBcdTA0M2JcdTA0M2JcdTA0MzBcdTA0NDAiLAoiVmlldyI6ICJcdTA0MWFcdTA0YWZcdTA0NDBcdTA0MzVcdTA0M2RcdTA0MzVcdTA0NDgiLAoiVGFibGUiOiAiXHUwNDIyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDMwIiwKIkZvcm1hdCI6ICJcdTA0MjRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0M2JcdTA0MzBcdTA0NDMiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/ug.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd1ZycsewoiQ3V0IjogIlx1MDY0M1x1MDZkMFx1MDYzM1x1MDY0OVx1MDYzNCIsCiJIZWFkZXIgMiI6ICJcdTA2MmFcdTA2ZDBcdTA2NDVcdTA2MjcgMiIsCiJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYXC9DXC9WIGtleWJvYXJkIHNob3J0Y3V0cyBpbnN0ZWFkLiI6ICJcdTA2MzNcdTA2NDlcdTA2MzJcdTA2NDZcdTA2NDlcdTA2YWQgXHUwNjJhXHUwNjQ4XHUwNjMxIFx1MDY0M1x1MDZjNlx1MDYzMVx1MDZhZlx1MDZjOFx1MDY4Nlx1MDY0OVx1MDZhZFx1MDY0OVx1MDYzMiBcdTA2NDJcdTA2NDlcdTA2NGFcdTA2NDlcdTA2N2UgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IFx1MDYyYVx1MDYyN1x1MDYyZVx1MDYyYVx1MDY0OVx1MDYzM1x1MDY0OSBcdTA2MzJcdTA2NDlcdTA2NGFcdTA2MjdcdTA2MzFcdTA2ZDVcdTA2MmEgXHUwNjQyXHUwNjQ5XHUwNjQ0XHUwNjQ5XHUwNjM0XHUwNjQ2XHUwNjQ5IFx1MDY0Mlx1MDY0OFx1MDY0NFx1MDY0NFx1MDY0OVx1MDY0NVx1MDYyN1x1MDY0YVx1MDYyZlx1MDZjNy4gIEN0cmwrWFwvQ1wvViBcdTA2MmFcdTA2ZDBcdTA2MzJcdTA2NDRcdTA2ZDVcdTA2MmFcdTA2NDVcdTA2ZDUgXHUwNjQzXHUwNjQ4XHUwNjQ2XHUwNmM3XHUwNjdlXHUwNjQzXHUwNjQ5XHUwNjMzXHUwNjQ5IFx1MDYyNlx1MDYyN1x1MDYzMVx1MDY0Mlx1MDY0OVx1MDY0NFx1MDY0OVx1MDY0MiBcdTA2NDNcdTA2ZDBcdTA2MzNcdTA2NDlcdTA2N2UgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IFx1MDY0NVx1MDZkNVx1MDYzNFx1MDYzYVx1MDZjN1x1MDY0NFx1MDYyN1x1MDYyYVx1MDY0OSBcdTA2NDJcdTA2NDlcdTA2NDRcdTA2NDlcdTA2YWQuIiwKIkRpdiI6ICJEaXYiLAoiUGFzdGUiOiAiXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkNsb3NlIjogIlx1MDYyYVx1MDYyN1x1MDY0Mlx1MDYyN1x1MDYzNCIsCiJGb250IEZhbWlseSI6ICJGb250IEZhbWlseSIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlx1MDYyNlx1MDY0OFx1MDZhZFx1MDYzYVx1MDYyNyBcdTA2MmFcdTA2NDhcdTA2M2FcdTA2YzdcdTA2MzFcdTA2NDRcdTA2MjdcdTA2MzQiLAoiTmV3IGRvY3VtZW50IjogIlx1MDY0YVx1MDZkMFx1MDZhZFx1MDY0OSBcdTA2YmVcdTA2YzZcdTA2MmNcdTA2MmNcdTA2ZDVcdTA2MmEgXHUwNjQyXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIkJsb2NrcXVvdGUiOiAiXHUwNjI2XHUwNmQ1XHUwNjMzXHUwNjQzXHUwNmQ1XHUwNjMxXHUwNjJhXHUwNjQ5XHUwNjM0IiwKIk51bWJlcmVkIGxpc3QiOiAiXHUwNjMzXHUwNjI3XHUwNjQ2XHUwNjQ0XHUwNjQ5XHUwNjQyIFx1MDYyYVx1MDY0OVx1MDYzMlx1MDY0OVx1MDY0NVx1MDY0NFx1MDY0OVx1MDY0MyIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNjQzXHUwNmQ1XHUwNjRhXHUwNjQ2XHUwNjQ5XHUwNmFmXHUwNmQ1IFx1MDYzM1x1MDZjOFx1MDYzMVx1MDZjOFx1MDYzNCIsCiJGb3JtYXRzIjogIlx1MDY0MVx1MDY0OFx1MDYzMVx1MDY0NVx1MDYyN1x1MDYyYSIsCiJIZWFkZXJzIjogIkhlYWRlcnMiLAoiU2VsZWN0IGFsbCI6ICJcdTA2YmVcdTA2ZDVcdTA2NDVcdTA2NDVcdTA2NDlcdTA2NDZcdTA2NDkgXHUwNjJhXHUwNjI3XHUwNjQ0XHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkhlYWRlciAzIjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyAzIiwKIkJsb2NrcyI6ICJCbG9ja3MiLAoiVW5kbyI6ICJcdTA2MjZcdTA2MjdcdTA2MzFcdTA2NDJcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjRhXHUwNmQwXHUwNjQ2XHUwNjQ5XHUwNjM0IiwKIlN0cmlrZXRocm91Z2giOiAiXHUwNjI2XHUwNmM2XHUwNjg2XHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IFx1MDYzM1x1MDY0OVx1MDYzMlx1MDY0OVx1MDY0Mlx1MDY0OSIsCiJCdWxsZXQgbGlzdCI6ICJcdTA2MjhcdTA2ZDVcdTA2NDRcdTA2YWZcdTA2ZDUgXHUwNjJhXHUwNjQ5XHUwNjMyXHUwNjQ5XHUwNjQ1XHUwNjQ0XHUwNjQ5XHUwNjQzIiwKIkhlYWRlciAxIjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDYyNlx1MDZjOFx1MDYzM1x1MDYyYVx1MDZjOFx1MDY0Nlx1MDY0M1x1MDY0OSBcdTA2MjhcdTA2ZDVcdTA2NDRcdTA2YWZcdTA2ZDUiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA2NDFcdTA2NDhcdTA2MzFcdTA2NDVcdTA2MjdcdTA2MmFcdTA2NDZcdTA2NDkgXHUwNjJhXHUwNjI3XHUwNjMyXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkZvbnQgU2l6ZXMiOiAiRm9udCBTaXplcyIsCiJTdWJzY3JpcHQiOiAiXHUwNjI2XHUwNjI3XHUwNjMzXHUwNjJhXHUwNjQ5XHUwNjQ2XHUwNjQyXHUwNjQ5IFx1MDYyOFx1MDZkNVx1MDY0NFx1MDZhZlx1MDZkNSIsCiJIZWFkZXIgNiI6ICJcdTA2MmFcdTA2ZDBcdTA2NDVcdTA2MjcgNiIsCiJSZWRvIjogIlx1MDY0Mlx1MDYyN1x1MDY0YVx1MDYyYVx1MDYyNyBcdTA2NDJcdTA2NDlcdTA2NDRcdTA2NDlcdTA2MzQiLAoiUGFyYWdyYXBoIjogIlx1MDY3ZVx1MDYyN1x1MDYzMVx1MDYyN1x1MDZhZlx1MDY0OVx1MDYzMVx1MDYyNyBcdTA2NDEiLAoiT2siOiAiXHUwNjJjXHUwNmQ1XHUwNjMyXHUwNjQ5XHUwNjQ1XHUwNjQ0XHUwNmQ1XHUwNjM0IiwKIkJvbGQiOiAiXHUwNjJhXHUwNjQ4XHUwNjQ1IiwKIkNvZGUiOiAiQ29kZSIsCiJJdGFsaWMiOiAiXHUwNjRhXHUwNjI3XHUwNjQ2XHUwNjJhXHUwNmM3IiwKIkFsaWduIGNlbnRlciI6ICJcdTA2NDVcdTA2ZDVcdTA2MzFcdTA2NDNcdTA2ZDVcdTA2MzJcdTA2YWZcdTA2ZDUgXHUwNjJhXHUwNjQ4XHUwNjNhXHUwNmM3XHUwNjMxXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkhlYWRlciA1IjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyA1IiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjMzXHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IiwKIkhlYWRlciA0IjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA2YmVcdTA2MjdcdTA2MzJcdTA2NDlcdTA2MzEgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjQ5XHUwNjMzXHUwNjQ5XHUwNmFkXHUwNjQ5XHUwNjMyIFx1MDYzM1x1MDYyN1x1MDY3ZSBcdTA2MmFcdTA2ZDBcdTA2NDNcdTA2NDlcdTA2MzQgXHUwNjQ1XHUwNmQ1XHUwNjMyXHUwNjQ1XHUwNmM3XHUwNjQ2XHUwNjQ5IFx1MDY4Nlx1MDYyN1x1MDY3ZVx1MDY0NFx1MDY0OVx1MDY0Nlx1MDY0OVx1MDYyZlx1MDZjNy4gXHUwNjJhXHUwNmQwXHUwNjQzXHUwNjQ5XHUwNjM0IFx1MDYzNFx1MDZkNVx1MDY0M1x1MDY0NFx1MDY0OVx1MDYyZlx1MDZkNSBcdTA2ODZcdTA2MjdcdTA2N2VcdTA2NDRcdTA2MjdcdTA2MzQgXHUwNjJhXHUwNmQ1XHUwNmFkXHUwNjM0XHUwNjQ5XHUwNjQzXHUwNjQ5XHUwNjQ2XHUwNjQ5IFx1MDYyYVx1MDYyN1x1MDY0Mlx1MDY0OVx1MDZjYlx1MDZkNVx1MDYyYVx1MDY0M1x1MDZkNVx1MDY0Nlx1MDZhZlx1MDZkNSBcdTA2NDJcdTA2ZDVcdTA2MmZcdTA2ZDVcdTA2MzEuIiwKIlVuZGVybGluZSI6ICJcdTA2MjZcdTA2MjdcdTA2MzNcdTA2MmFcdTA2NDkgXHUwNjMzXHUwNjQ5XHUwNjMyXHUwNjQ5XHUwNjQyIiwKIkNhbmNlbCI6ICJcdTA2NDJcdTA2MjdcdTA2NDRcdTA2MmZcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiSnVzdGlmeSI6ICJcdTA2MjZcdTA2NDlcdTA2NDNcdTA2NDNcdTA2NDkgXHUwNjRhXHUwNjI3XHUwNjQ2XHUwNjNhXHUwNjI3IFx1MDYyYVx1MDY0OFx1MDYzYVx1MDZjN1x1MDYzMVx1MDY0NFx1MDYyN1x1MDYzNCIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkNvcHkiOiAiXHUwNjQzXHUwNmM2XHUwNjg2XHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IiwKIkFsaWduIGxlZnQiOiAiXHUwNjMzXHUwNjQ4XHUwNjQ0XHUwNjNhXHUwNjI3IFx1MDYyYVx1MDY0OFx1MDYzYVx1MDYzMVx1MDY0OVx1MDY0NFx1MDYyN1x1MDYzNCIsCiJWaXN1YWwgYWlkcyI6ICJcdTA2MjZcdTA2ZDVcdTA2MzNcdTA2NDNcdTA2ZDVcdTA2MzFcdTA2MmFcdTA2NDlcdTA2MzQiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNmFmXHUwNjMxXHUwNmQwXHUwNjJhXHUwNjMzXHUwNjQ5XHUwNjRhXHUwNjQ5XHUwNjg2XHUwNmQ1IFx1MDY0M1x1MDY0OVx1MDY4Nlx1MDY0OVx1MDY0MyBcdTA2NGFcdTA2ZDBcdTA2MzJcdTA2NDlcdTA2NDRcdTA2NDlcdTA2MzRcdTA2NDkiLAoiU3F1YXJlIjogIlx1MDY0M1x1MDZjYlx1MDYyN1x1MDYyZlx1MDYzMVx1MDYyN1x1MDYyYSIsCiJEZWZhdWx0IjogIlx1MDYzM1x1MDZjOFx1MDY0M1x1MDZjOFx1MDYyYSIsCiJMb3dlciBBbHBoYSI6ICJcdTA2MjZcdTA2NDlcdTA2NDZcdTA2YWZcdTA2NDlcdTA2NDRcdTA2NDlcdTA2MzJcdTA2ODZcdTA2ZDUgXHUwNjQzXHUwNjQ5XHUwNjg2XHUwNjQ5XHUwNjQzIFx1MDY0YVx1MDZkMFx1MDYzMlx1MDY0OVx1MDY0NFx1MDY0OVx1MDYzNFx1MDY0OSIsCiJDaXJjbGUiOiAiXHUwNjg2XHUwNmQ1XHUwNjQ1XHUwNjI4XHUwNmQ1XHUwNjMxIiwKIkRpc2MiOiAiXHUwNjJmXHUwNmQwXHUwNjMzXHUwNjQzXHUwNjI3IiwKIlVwcGVyIEFscGhhIjogIlx1MDYyNlx1MDY0OVx1MDY0Nlx1MDZhZlx1MDY0OVx1MDY0NFx1MDY0OVx1MDYzMlx1MDY4Nlx1MDZkNSBcdTA2ODZcdTA2NDhcdTA2YWQgXHUwNjRhXHUwNmQwXHUwNjMyXHUwNjQ5XHUwNjQ0XHUwNjQ5XHUwNjM0XHUwNjQ5IiwKIlVwcGVyIFJvbWFuIjogIlx1MDYzMVx1MDY0OVx1MDY0NVx1MDY4Nlx1MDZkNSBcdTA2ODZcdTA2NDhcdTA2YWQgXHUwNjRhXHUwNmQwXHUwNjMyXHUwNjQ5XHUwNjQ0XHUwNjQ5XHUwNjM0XHUwNjQ5IiwKIkxvd2VyIFJvbWFuIjogIlx1MDYzMVx1MDY0OVx1MDY0NVx1MDY4Nlx1MDZkNSBcdTA2NDNcdTA2NDlcdTA2ODZcdTA2NDlcdTA2NDMgXHUwNjRhXHUwNmQwXHUwNjMyXHUwNjQ5XHUwNjQ0XHUwNjQ5XHUwNjM0XHUwNjQ5IiwKIk5hbWUiOiAiXHUwNjQ2XHUwNjI3XHUwNjQ1XHUwNjQ5IiwKIkFuY2hvciI6ICJcdTA2MjZcdTA2YzdcdTA2NDRcdTA2MjdcdTA2NDZcdTA2NDVcdTA2MjciLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTA2MzNcdTA2NDlcdTA2MzIgXHUwNjJhXHUwNmQwXHUwNjJlXHUwNjQ5IFx1MDY0NVx1MDZkNVx1MDYzMlx1MDY0NVx1MDZjN1x1MDY0Nlx1MDY0Nlx1MDY0OSBcdTA2MzNcdTA2MjdcdTA2NDJcdTA2NDRcdTA2NDlcdTA2NDVcdTA2NDlcdTA2MmZcdTA2NDlcdTA2YWRcdTA2NDlcdTA2MzJcdTA2MGMgXHUwNjI2XHUwNjI3XHUwNjRhXHUwNjMxXHUwNjQ5XHUwNjQ0XHUwNjI3XHUwNjQ1XHUwNjMzXHUwNjQ5XHUwNjMyXHUwNjFmIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdTA2MjZcdTA2MjdcdTA2MmVcdTA2NDlcdTA2MzFcdTA2NDJcdTA2NDkgXHUwNjQzXHUwNmM3XHUwNjdlXHUwNjQ5XHUwNjRhXHUwNjQ5XHUwNmFmXHUwNmQ1IFx1MDY0Mlx1MDYyN1x1MDY0YVx1MDYyYVx1MDY0OVx1MDYzNCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MjdcdTA2YmVcdTA2NDlcdTA2MmZcdTA2ZDUgXHUwNjI4XHUwNmQ1XHUwNjQ0XHUwNmFmXHUwNjQ5XHUwNjQ0XHUwNmQ1XHUwNjMxIiwKIlNvdXJjZSBjb2RlIjogIlx1MDYyNlx1MDZkNVx1MDYzM1x1MDY0NFx1MDY0OSBcdTA2NDNcdTA2NDhcdTA2MmZcdTA2NDkiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTA2MjZcdTA2NDhcdTA2YWRcdTA2MmZcdTA2NDlcdTA2NDYgXHUwNjMzXHUwNjQ4XHUwNjQ0XHUwNjNhXHUwNjI3IiwKIkxlZnQgdG8gcmlnaHQiOiAiXHUwNjMzXHUwNjQ4XHUwNjQ0XHUwNjJmXHUwNjQ5XHUwNjQ2IFx1MDYyNlx1MDY0OFx1MDZhZFx1MDYzYVx1MDYyNyAiLAoiRW1vdGljb25zIjogIlx1MDY4Nlx1MDY0OVx1MDYzMVx1MDYyN1x1MDY0YSBcdTA2MjZcdTA2NDlcdTA2N2VcdTA2MjdcdTA2MmZcdTA2ZDUiLAoiUm9ib3RzIjogIlx1MDY0NVx1MDYyN1x1MDYzNFx1MDY0OVx1MDY0Nlx1MDYyNyBcdTA2MjZcdTA2MjdcdTA2MmZcdTA2ZDVcdTA2NDUiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTA2YmVcdTA2YzZcdTA2MmNcdTA2MmNcdTA2ZDVcdTA2MmEgXHUwNjJlXHUwNjI3XHUwNjMzXHUwNjQ0XHUwNjQ5XHUwNjQyXHUwNjQ5IiwKIlRpdGxlIjogIlx1MDYyYVx1MDZkMFx1MDY0NVx1MDYyNyIsCiJLZXl3b3JkcyI6ICJcdTA2YmVcdTA2MjdcdTA2NDRcdTA2NDJcdTA2NDlcdTA2NDRcdTA2NDlcdTA2NDIgXHUwNjMzXHUwNmM2XHUwNjMyIiwKIkVuY29kaW5nIjogIlx1MDY0M1x1MDY0OFx1MDYyZlx1MDY0NFx1MDYyN1x1MDYzNCIsCiJEZXNjcmlwdGlvbiI6ICJcdTA2MmFcdTA2ZDVcdTA2MzNcdTA2NDlcdTA2Y2JcdTA2NDlcdTA2MzEiLAoiQXV0aG9yIjogIlx1MDYyNlx1MDZjN1x1MDY0NFx1MDYyN1x1MDY0Nlx1MDY0NVx1MDYyNyIsCiJGdWxsc2NyZWVuIjogIlx1MDY3ZVx1MDZjOFx1MDYyYVx1MDZjOFx1MDY0NiBcdTA2MjZcdTA2ZDBcdTA2NDNcdTA2MzFcdTA2MjdcdTA2NDYiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDZhZlx1MDY0OFx1MDYzMVx1MDYzMlx1MDY0OVx1MDY0Nlx1MDYyYVx1MDYyN1x1MDY0NCBcdTA2NDJcdTA2YzdcdTA2MzEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA2YWZcdTA2NDhcdTA2MzFcdTA2MzJcdTA2NDlcdTA2NDZcdTA2MmFcdTA2MjdcdTA2NDQgXHUwNjI4XHUwNjQ4XHUwNjM0XHUwNjQ0XHUwNmM3XHUwNjQyIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA2MzFcdTA2ZDVcdTA2MzNcdTA2NDlcdTA2NDUgXHUwNjQyXHUwNjQ5XHUwNjMzXHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IFx1MDY0YVx1MDYyN1x1MDY0M1x1MDY0OSBcdTA2MmFcdTA2ZDVcdTA2YmVcdTA2MzFcdTA2NDlcdTA2MzFcdTA2NDRcdTA2ZDVcdTA2MzQiLAoiR2VuZXJhbCI6ICJcdTA2MjZcdTA2MjdcdTA2MmZcdTA2ZDVcdTA2MmFcdTA2MmFcdTA2NDlcdTA2NDNcdTA2NDkiLAoiQWR2YW5jZWQiOiAiXHUwNjI2XHUwNjI3XHUwNjQ0XHUwNjI3XHUwNmJlXHUwNjQ5XHUwNjJmXHUwNmQ1IiwKIlNvdXJjZSI6ICJcdTA2NDVcdTA2ZDVcdTA2NDZcdTA2MjhcdTA2ZDUiLAoiQm9yZGVyIjogIlx1MDY0YVx1MDYyN1x1MDY0Mlx1MDYyNyIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNjI2XHUwNmQwXHUwNmFmXHUwNjQ5XHUwNjMyXHUwNjQ0XHUwNjQ5XHUwNjQzLVx1MDY0M1x1MDZkNVx1MDZhZFx1MDY0NFx1MDY0OVx1MDY0MyBcdTA2NDZcdTA2NDlcdTA2MzNcdTA2N2VcdTA2NDlcdTA2MmFcdTA2NDlcdTA2NDZcdTA2NDkgXHUwNjMzXHUwNjI3XHUwNjQyXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDZjYlx1MDZkMFx1MDYzMVx1MDYyYVx1MDY0OVx1MDY0M1x1MDYyN1x1MDY0NCBcdTA2MjhcdTA2NDhcdTA2MzRcdTA2NDRcdTA2YzdcdTA2NDIiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNjMxXHUwNmQ1XHUwNjMzXHUwNjQ5XHUwNjQ1IFx1MDYyYVx1MDZkNVx1MDYzM1x1MDZjYlx1MDY0OVx1MDYzMVx1MDY0OSIsCiJTdHlsZSI6ICJcdTA2MjZcdTA2YzdcdTA2MzNcdTA2NDRcdTA2YzdcdTA2N2UiLAoiRGltZW5zaW9ucyI6ICJcdTA2ODZcdTA2NDhcdTA2YWQtXHUwNjQzXHUwNjQ5XHUwNjg2XHUwNjQ5XHUwNjQzIiwKIkluc2VydCBpbWFnZSI6ICJcdTA2MzFcdTA2ZDVcdTA2MzNcdTA2NDlcdTA2NDUgXHUwNjQyXHUwNjQ5XHUwNjMzXHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIkluc2VydCBkYXRlXC90aW1lIjogIlx1MDY4Nlx1MDY0OVx1MDYzM1x1MDY0NFx1MDYyN1wvXHUwNmNiXHUwNjI3XHUwNjQyXHUwNjQ5XHUwNjJhIFx1MDY0M1x1MDY0OVx1MDYzMVx1MDZhZlx1MDZjOFx1MDYzMlx1MDZjOFx1MDYzNCIsCiJSZW1vdmUgbGluayI6ICJSZW1vdmUgbGluayIsCiJVcmwiOiAiXHUwNjI2XHUwNjI3XHUwNjJmXHUwNjMxXHUwNjQ5XHUwNjMzIiwKIlRleHQgdG8gZGlzcGxheSI6ICJcdTA2NDNcdTA2YzZcdTA2MzFcdTA2YzhcdTA2NDZcdTA2NDlcdTA2MmZcdTA2NDlcdTA2M2FcdTA2MjdcdTA2NDYgXHUwNjQ1XHUwNmQ1XHUwNjMyXHUwNjQ1XHUwNmM3XHUwNjQ2IiwKIkFuY2hvcnMiOiAiQW5jaG9ycyIsCiJJbnNlcnQgbGluayI6ICJcdTA2MjZcdTA2YzdcdTA2NDRcdTA2NDlcdTA2NDZcdTA2NDlcdTA2MzQgXHUwNjQyXHUwNjQ5XHUwNjMzXHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIk5ldyB3aW5kb3ciOiAiXHUwNjRhXHUwNmQwXHUwNmFkXHUwNjQ5IFx1MDY0M1x1MDZjNlx1MDYzMlx1MDY0Nlx1MDZkNVx1MDY0MyIsCiJOb25lIjogIlx1MDY0YVx1MDY0OFx1MDY0MiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGV4dGVybmFsIGxpbmsuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgaHR0cDpcL1wvIHByZWZpeD8iOiAiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IiwKIlRhcmdldCI6ICJcdTA2NDZcdTA2NDlcdTA2MzRcdTA2MjdcdTA2NDYiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDYyNlx1MDZjN1x1MDY0NFx1MDY0OVx1MDY0Nlx1MDY0OVx1MDYzNCBcdTA2NDJcdTA2YzdcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzRcL1x1MDYyYVx1MDZkNVx1MDZiZVx1MDYzMVx1MDY0OVx1MDYzMVx1MDY0NFx1MDZkNVx1MDYzNCIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNjMzXHUwNjQ5XHUwNjQ2IFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNFwvXHUwNjJhXHUwNmQ1XHUwNmJlXHUwNjMxXHUwNjQ5XHUwNjMxXHUwNjQ0XHUwNmQ1XHUwNjM0IiwKIlBvc3RlciI6ICJcdTA2NGFcdTA2NDhcdTA2NDRcdTA2NDRcdTA2NDlcdTA2M2FcdTA2YzdcdTA2ODZcdTA2NDkiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDYyYVx1MDZkNVx1MDYzM1x1MDZjYlx1MDY0OVx1MDYzMVx1MDY0OSIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDY0NVx1MDYyN1x1MDY0Mlx1MDY4Nlx1MDY0OSBcdTA2MjhcdTA2NDhcdTA2NDRcdTA2M2FcdTA2MjdcdTA2NDYgXHUwNjQzXHUwNjQ4XHUwNjJmXHUwNjQ2XHUwNjQ5IFx1MDY4Nlx1MDYyN1x1MDY3ZVx1MDY0NFx1MDYyN1x1MDZhZCIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNjMzXHUwNjQ5XHUwNjQ2IFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJFbWJlZCI6ICJcdTA2NDJcdTA2NDlcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNjI4XHUwNjQ4XHUwNjM0XHUwNjQ0XHUwNmM3XHUwNjQyIiwKIlBhZ2UgYnJlYWsiOiAiXHUwNjI4XHUwNmQ1XHUwNjJhIFx1MDYyNlx1MDYyN1x1MDYyZVx1MDY0OVx1MDYzMVx1MDY0NFx1MDYyN1x1MDYzNFx1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1MDYyYVx1MDZkMFx1MDY0M1x1MDY0OVx1MDYzNCBcdTA2MzRcdTA2ZDVcdTA2NDNcdTA2NDRcdTA2NDlcdTA2MmZcdTA2ZDUgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIlByZXZpZXciOiAiXHUwNjQzXHUwNmM2XHUwNjMxXHUwNmM4XHUwNjM0IiwKIlByaW50IjogIlx1MDYyOFx1MDYyN1x1MDYzM1x1MDY0NVx1MDYyN1x1MDY0MiAiLAoiU2F2ZSI6ICJcdTA2MzNcdTA2MjdcdTA2NDJcdTA2NDRcdTA2MjdcdTA2MzQiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1MDYyNlx1MDY0OVx1MDYzMlx1MDYyZlx1MDY0OVx1MDY0NVx1MDZkNVx1MDY0M1x1MDY4Nlx1MDY0OSBcdTA2MjhcdTA2NDhcdTA2NDRcdTA2M2FcdTA2MjdcdTA2NDYgXHUwNjQ1XHUwNmQ1XHUwNjMyXHUwNjQ1XHUwNmM3XHUwNjQ2XHUwNjQ2XHUwNjQ5IFx1MDYyYVx1MDYyN1x1MDY3ZVx1MDYyN1x1MDY0NFx1MDY0NVx1MDY0OVx1MDYyZlx1MDY0OS4iLAoiUmVwbGFjZSI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjdcdTA2MzRcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiTmV4dCI6ICJcdTA2NDNcdTA2ZDBcdTA2NGFcdTA2NDlcdTA2NDZcdTA2NDNcdTA2NDlcdTA2MzNcdTA2NDkiLAoiV2hvbGUgd29yZHMiOiAiXHUwNjJhXHUwNjQ4XHUwNjQ0XHUwNmM3XHUwNjQyICBcdTA2NDVcdTA2MjdcdTA2MzNcdTA2NDRcdTA2MjdcdTA2MzRcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA2MjZcdTA2NDlcdTA2MzJcdTA2MmZcdTA2ZDVcdTA2MzQgXHUwNmNiXHUwNmQ1IFx1MDYyNlx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyN1x1MDYzNFx1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNjI2XHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjI3XHUwNjM0XHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIkZpbmQiOiAiXHUwNjI2XHUwNjQ5XHUwNjMyXHUwNjJmXHUwNmQ1XHUwNjM0IiwKIlJlcGxhY2UgYWxsIjogIlx1MDZiZVx1MDZkNVx1MDY0NVx1MDY0NVx1MDY0OVx1MDY0Nlx1MDY0OSBcdTA2MjZcdTA2MjdcdTA2NDRcdTA2NDVcdTA2MjdcdTA2MzRcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiTWF0Y2ggY2FzZSI6ICJcdTA2ODZcdTA2NDhcdTA2YWQgXHUwNjQzXHUwNjQ5XHUwNjg2XHUwNjQ5XHUwNjQzIFx1MDZiZVx1MDZkNVx1MDYzMVx1MDY0OVx1MDY3ZVx1MDY0Nlx1MDY0OSBcdTA2N2VcdTA2ZDVcdTA2MzFcdTA2NDlcdTA2NDJcdTA2NDRcdTA2ZDVcdTA2NDZcdTA2MmZcdTA2YzhcdTA2MzFcdTA2YzhcdTA2MzQiLAoiUHJldiI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2NDZcdTA2NDJcdTA2NDlcdTA2MzNcdTA2NDkiLAoiU3BlbGxjaGVjayI6ICJcdTA2MjZcdTA2NDlcdTA2NDVcdTA2NDRcdTA2MjcgXHUwNjJhXHUwNmQ1XHUwNjQzXHUwNjM0XHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IiwKIkZpbmlzaCI6ICJcdTA2MjZcdTA2MjdcdTA2MmVcdTA2NDlcdTA2MzFcdTA2NDRcdTA2MjdcdTA2MzRcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiSWdub3JlIGFsbCI6ICJcdTA2YmVcdTA2ZDVcdTA2NDVcdTA2NDVcdTA2NDlcdTA2NDZcdTA2NDkgXHUwNjI2XHUwNmM2XHUwNjJhXHUwNjQzXHUwNmM4XHUwNjMyXHUwNmM4XHUwNjM0IiwKIklnbm9yZSI6ICJcdTA2MjZcdTA2YzZcdTA2MmFcdTA2NDNcdTA2YzhcdTA2MzJcdTA2YzhcdTA2MzQiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiXHUwNjQ0XHUwNmM3XHUwNjNhXHUwNmQ1XHUwNjJhIFx1MDY0Mlx1MDY0OFx1MDYzNFx1MDZjN1x1MDYzNCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjQyXHUwNmM3XHUwNjMxIFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJSb3dzIjogIlx1MDY0Mlx1MDZjN1x1MDYzMSIsCiJIZWlnaHQiOiAiXHUwNjI2XHUwNmQwXHUwNmFmXHUwNjQ5XHUwNjMyXHUwNjQ0XHUwNjQ5XHUwNjQzXHUwNjQ5IiwKIlBhc3RlIHJvdyBhZnRlciI6ICJcdTA2NDJcdTA2YzdcdTA2MzEgXHUwNjQzXHUwNmQ1XHUwNjRhXHUwNjQ2XHUwNjQ5XHUwNmFmXHUwNmQ1IFx1MDY4Nlx1MDYyN1x1MDY3ZVx1MDY0NFx1MDYyN1x1MDYzNCIsCiJBbGlnbm1lbnQiOiAiXHUwNjRhXHUwNmM2XHUwNjQ0XHUwNjQ5XHUwNjQ2XHUwNjQ5XHUwNjM0XHUwNjQ5IiwKIkJvcmRlciBjb2xvciI6ICJcdTA2MzFcdTA2MjdcdTA2NDVcdTA2NDNcdTA2MjcgXHUwNjMxXHUwNmQ1XHUwNmFkXHUwNmFmXHUwNjQ5IiwKIkNvbHVtbiBncm91cCI6ICJcdTA2MzFcdTA2ZDVcdTA2MmEgXHUwNmFmXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjdlXHUwNjdlXHUwNjQ5XHUwNjMzXHUwNjQ5IiwKIlJvdyI6ICJcdTA2NDJcdTA2YzdcdTA2MzEiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHUwNjMxXHUwNmQ1XHUwNjJhIFx1MDYyNlx1MDYyN1x1MDY0NFx1MDYyZlx1MDY0OVx1MDYzYVx1MDYyNyBcdTA2NDJcdTA2NDlcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiU3BsaXQgY2VsbCI6ICJcdTA2NDNcdTA2MjdcdTA2MmFcdTA2ZDVcdTA2NDMgXHUwNjdlXHUwNjI3XHUwNjMxXHUwNjg2XHUwNjQ5XHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkNlbGwgcGFkZGluZyI6ICJcdTA2NDNcdTA2MjdcdTA2MmFcdTA2ZDVcdTA2NDMgXHUwNjI2XHUwNjQ5XHUwNjg2XHUwNjQzXHUwNjQ5IFx1MDYyNlx1MDYyN1x1MDYzMVx1MDY0OVx1MDY0NFx1MDY0OVx1MDY0Mlx1MDY0OSIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNjQzXHUwNjI3XHUwNjJhXHUwNmQ1XHUwNjQzIFx1MDYzM1x1MDY0OVx1MDYzMVx1MDYyYVx1MDY0Mlx1MDY0OSBcdTA2MjZcdTA2MjdcdTA2MzFcdTA2NDlcdTA2NDRcdTA2NDlcdTA2NDJcdTA2NDkiLAoiUm93IHR5cGUiOiAiXHUwNjQyXHUwNmM3XHUwNjMxIFx1MDYyYVx1MDY0OVx1MDY3ZVx1MDY0OSIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNjJjXHUwNmQ1XHUwNjJmXHUwNmNiXHUwNmQ1XHUwNjQ0IFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJCb2R5IjogIlx1MDYyOFx1MDZkNVx1MDYyZlx1MDY0OVx1MDY0Nlx1MDY0OSIsCiJDYXB0aW9uIjogIlx1MDY4Nlx1MDZjOFx1MDYzNFx1MDZkNVx1MDY0Nlx1MDYyZlx1MDZjOFx1MDYzMVx1MDZjOFx1MDYzNCIsCiJGb290ZXIiOiAiXHUwNjdlXHUwNmM3XHUwNjJhXHUwNjQ5IiwKIkRlbGV0ZSByb3ciOiAiXHUwNjQyXHUwNmM3XHUwNjMxIFx1MDYyNlx1MDZjNlx1MDY4Nlx1MDZjOFx1MDYzMVx1MDZjOFx1MDYzNCIsCiJQYXN0ZSByb3cgYmVmb3JlIjogIlx1MDY0Mlx1MDZjN1x1MDYzMSBcdTA2MjZcdTA2MjdcdTA2NDRcdTA2MmZcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjg2XHUwNjI3XHUwNjdlXHUwNjQ0XHUwNjI3XHUwNjM0IiwKIlNjb3BlIjogIlx1MDYyZlx1MDYyN1x1MDYyNlx1MDY0OVx1MDYzMVx1MDZkNSIsCiJEZWxldGUgdGFibGUiOiAiXHUwNjJjXHUwNmQ1XHUwNjJmXHUwNmNiXHUwNmQ1XHUwNjQ0IFx1MDYyNlx1MDZjNlx1MDY4Nlx1MDZjOFx1MDYzMVx1MDYzNCIsCiJIIEFsaWduIjogIlx1MDZhZlx1MDY0OFx1MDYzMVx1MDYzMlx1MDY0OVx1MDY0Nlx1MDYyYVx1MDYyN1x1MDY0NCBcdTA2MmFcdTA2NDhcdTA2M2FcdTA2MzFcdTA2NDlcdTA2NDRcdTA2MjdcdTA2MzQiLAoiVG9wIjogIlx1MDYyNlx1MDZjOFx1MDYzM1x1MDYyYVx1MDY0OSIsCiJIZWFkZXIgY2VsbCI6ICJcdTA2MjhcdTA2MjdcdTA2MzQgXHUwNjQzXHUwNjI3XHUwNjJhXHUwNmQ1XHUwNjQzIiwKIkNvbHVtbiI6ICJcdTA2MzFcdTA2ZDVcdTA2MmEiLAoiUm93IGdyb3VwIjogIlx1MDY0Mlx1MDZjN1x1MDYzMSBcdTA2YWZcdTA2YzdcdTA2MzFcdTA2YzdcdTA2N2VcdTA2N2VcdTA2NDlcdTA2MzNcdTA2NDkiLAoiQ2VsbCI6ICJcdTA2NDNcdTA2MjdcdTA2MmFcdTA2ZDVcdTA2NDMiLAoiTWlkZGxlIjogIlx1MDYyNlx1MDY0OFx1MDYyYVx1MDYyYVx1MDZjN1x1MDYzMVx1MDYzM1x1MDY0OSIsCiJDZWxsIHR5cGUiOiAiXHUwNjQzXHUwNjI3XHUwNjJhXHUwNmQ1XHUwNjQzIFx1MDYyYVx1MDY0OVx1MDY3ZVx1MDY0OSIsCiJDb3B5IHJvdyI6ICJcdTA2NDJcdTA2YzdcdTA2MzEgXHUwNjQzXHUwNmM2XHUwNjg2XHUwNmM4XHUwNjMxXHUwNmM4XHUwNjM0IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDY0Mlx1MDZjN1x1MDYzMSBcdTA2MmVcdTA2MjdcdTA2MzNcdTA2NDRcdTA2NDlcdTA2NDJcdTA2NDkiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA2MmNcdTA2ZDVcdTA2MmZcdTA2Y2JcdTA2ZDVcdTA2NDQgXHUwNjJlXHUwNjI3XHUwNjMzXHUwNjQ0XHUwNjQ5XHUwNjQyXHUwNjQ5IiwKIkJvdHRvbSI6ICJcdTA2MjZcdTA2MjdcdTA2MzNcdTA2MmFcdTA2NDkiLAoiViBBbGlnbiI6ICJcdTA2Y2JcdTA2ZDBcdTA2MzFcdTA2MmFcdTA2NDlcdTA2NDNcdTA2MjdcdTA2NDQgXHUwNjJhXHUwNjQ4XHUwNjNhXHUwNjMxXHUwNjQ5XHUwNjQ0XHUwNjI3XHUwNjM0IiwKIkhlYWRlciI6ICJcdTA2MjhcdTA2ZDBcdTA2MzRcdTA2NDkiLAoiUmlnaHQiOiAiXHUwNjI2XHUwNjQ4XHUwNmFkIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNjMxXHUwNmQ1XHUwNjJhIFx1MDY0M1x1MDZkNVx1MDY0YVx1MDY0Nlx1MDY0OVx1MDZhZlx1MDZkNSBcdTA2NDJcdTA2NDlcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiQ29scyI6ICJcdTA2MzFcdTA2ZDVcdTA2MmEiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA2MjZcdTA2MjdcdTA2MzFcdTA2NDJcdTA2NDlcdTA2M2FcdTA2MjcgXHUwNjQyXHUwNmM3XHUwNjMxIFx1MDY0Mlx1MDY0OVx1MDYzM1x1MDYyYVx1MDZjN1x1MDYzMVx1MDZjN1x1MDYzNCIsCiJXaWR0aCI6ICJcdTA2NDNcdTA2ZDVcdTA2YWRcdTA2NDRcdTA2NDlcdTA2NDNcdTA2NDkiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDY0M1x1MDYyN1x1MDYyYVx1MDZkNVx1MDY0MyBcdTA2MmVcdTA2MjdcdTA2MzNcdTA2NDRcdTA2NDlcdTA2NDJcdTA2NDkiLAoiTGVmdCI6ICJcdTA2MzNcdTA2NDhcdTA2NDQiLAoiQ3V0IHJvdyI6ICJcdTA2NDJcdTA2YzdcdTA2MzEgXHUwNjQzXHUwNmQwXHUwNjMzXHUwNjQ5XHUwNjM0IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNjMxXHUwNmQ1XHUwNjJhIFx1MDYyNlx1MDZjNlx1MDY4Nlx1MDZjOFx1MDYzMVx1MDZjOFx1MDYzNCIsCiJDZW50ZXIiOiAiXHUwNjQ1XHUwNmQ1XHUwNjMxXHUwNjQzXHUwNmQ1XHUwNjMyIiwKIk1lcmdlIGNlbGxzIjogIlx1MDY0M1x1MDYyN1x1MDYyYVx1MDZkNVx1MDY0MyBcdTA2MjhcdTA2NDlcdTA2MzFcdTA2NDRcdTA2ZDVcdTA2MzRcdTA2MmFcdTA2YzhcdTA2MzFcdTA2YzhcdTA2MzQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlx1MDYyNlx1MDZjOFx1MDY0NFx1MDZhZlx1MDZkNSBcdTA2NDJcdTA2NDlcdTA2MzNcdTA2MmFcdTA2YzdcdTA2MzFcdTA2YzdcdTA2MzQiLAoiVGVtcGxhdGVzIjogIlx1MDYyNlx1MDZjOFx1MDY0NFx1MDZhZlx1MDY0OVx1MDY0NFx1MDZkNVx1MDYzMSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1MDYyNlx1MDYyN1x1MDYzMVx1MDY0Mlx1MDYyNyBcdTA2MzFcdTA2ZDVcdTA2YWRcdTA2YWZcdTA2NDkiLAoiQ3VzdG9tLi4uIjogIlx1MDYyNlx1MDY0OVx1MDYyZVx1MDYyYVx1MDY0OVx1MDY0YVx1MDYyN1x1MDYzMVx1MDY0OSIsCiJDdXN0b20gY29sb3IiOiAiXHUwNjI2XHUwNjQ5XHUwNjJlXHUwNjJhXHUwNjQ5XHUwNjRhXHUwNjI3XHUwNjMxXHUwNjQ5IFx1MDYzMVx1MDZkNVx1MDZhZCIsCiJObyBjb2xvciI6ICJcdTA2MzFcdTA2ZDVcdTA2YWQgXHUwNjRhXHUwNjQ4XHUwNjQyIiwKIlRleHQgY29sb3IiOiAiXHUwNjJlXHUwNmQ1XHUwNjJhIFx1MDYzMVx1MDZkNVx1MDZhZFx1MDZhZlx1MDY0OSIsCiJTaG93IGJsb2NrcyI6ICJcdTA2MzFcdTA2MjdcdTA2NGFcdTA2NDhcdTA2NDYgXHUwNjQzXHUwNmM2XHUwNjMxXHUwNjMzXHUwNjQ5XHUwNjJhXHUwNjQ5XHUwNjM0IiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHUwNjQzXHUwNmM2XHUwNjMxXHUwNmM4XHUwNjQ2XHUwNjQ1XHUwNmQ1XHUwNjRhXHUwNjJmXHUwNjQ5XHUwNjNhXHUwNjI3XHUwNjQ2IFx1MDZiZVx1MDZkNVx1MDYzMVx1MDY0OVx1MDY3ZVx1MDY0NFx1MDZkNVx1MDYzMVx1MDY0Nlx1MDY0OSBcdTA2NDNcdTA2YzZcdTA2MzFcdTA2MzNcdTA2NDlcdTA2MmFcdTA2NDlcdTA2MzQiLAoiV29yZHM6IHswfSI6ICJcdTA2MzNcdTA2YzZcdTA2MzI6IHswfSIsCiJJbnNlcnQiOiAiXHUwNjQyXHUwNjQ5XHUwNjMzXHUwNjJhXHUwNmM3XHUwNjMxXHUwNmM3XHUwNjM0IiwKIkZpbGUiOiAiXHUwNmJlXHUwNmM2XHUwNjJjXHUwNjJjXHUwNmQ1XHUwNjJhIiwKIkVkaXQiOiAiXHUwNjJhXHUwNmQ1XHUwNmJlXHUwNjMxXHUwNjQ5XHUwNjMxXHUwNjQ0XHUwNmQ1XHUwNjM0IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIiwKIlRvb2xzIjogIlx1MDY0Mlx1MDZjN1x1MDYzMVx1MDYyN1x1MDY0NCIsCiJWaWV3IjogIlx1MDY0M1x1MDZjNlx1MDYzMVx1MDZjOFx1MDYzNCIsCiJUYWJsZSI6ICJcdTA2MmNcdTA2ZDVcdTA2MmZcdTA2Y2JcdTA2ZDVcdTA2NDQiLAoiRm9ybWF0IjogIlx1MDY0MVx1MDY0OFx1MDYzMVx1MDY0NVx1MDYyN1x1MDYyYSIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/uk.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd1aycsewoiQ3V0IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJIZWFkaW5nIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4IFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDU2XHUwNDM0XHUwNDQyXHUwNDQwXHUwNDM4XHUwNDNjXHUwNDQzXHUwNDU0IFx1MDQzZlx1MDQ0MFx1MDQ0Zlx1MDQzY1x1MDQzOFx1MDQzOSBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YgXHUwNDM0XHUwNDNlIFx1MDQzMVx1MDQ0M1x1MDQ0NFx1MDQzNVx1MDQ0MFx1MDQ0MyBcdTA0M2VcdTA0MzFcdTA0M2NcdTA0NTZcdTA0M2RcdTA0NDMuIFx1MDQxMVx1MDQ0M1x1MDQzNFx1MDQ0YyBcdTA0M2JcdTA0MzBcdTA0NDFcdTA0M2FcdTA0MzAsIFx1MDQzMlx1MDQzOFx1MDQzYVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQ0M1x1MDQzOVx1MDQ0Mlx1MDQzNSBDdHJsK1hcL0NcL1YgXHUwNDM3XHUwNDMwXHUwNDNjXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDRjIFx1MDQ0MVx1MDQzZlx1MDQzZVx1MDQzYlx1MDQ0M1x1MDQ0N1x1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiBcdTA0M2FcdTA0M2JcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDguIiwKIkhlYWRpbmcgNCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNCIsCiJEaXYiOiAiXHUwNDExXHUwNDNiXHUwNDNlXHUwNDNhIiwKIkhlYWRpbmcgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMiIsCiJQYXN0ZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzgiLAoiQ2xvc2UiOiAiXHUwNDE3XHUwNDMwXHUwNDNhXHUwNDQwXHUwNDM4XHUwNDQyXHUwNDM4IiwKIkZvbnQgRmFtaWx5IjogIlx1MDQyOFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0MiBcdTA0MzdcdTA0M2NcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NDMiLAoiUHJlIjogIlx1MDQxZlx1MDQzZVx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQ1NCBcdTA0NDRcdTA0M2VcdTA0NDBcdTA0M2NcdTA0MzBcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQWxpZ24gcmlnaHQiOiAiXHUwNDFmXHUwNDNlIFx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiTmV3IGRvY3VtZW50IjogIlx1MDQxZFx1MDQzZVx1MDQzMlx1MDQzOFx1MDQzOSBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDIiLAoiQmxvY2txdW90ZSI6ICJcdTA0MjZcdTA0MzhcdTA0NDJcdTA0MzBcdTA0NDJcdTA0MzAiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTA0MWRcdTA0NDNcdTA0M2NcdTA0MzVcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIiwKIkhlYWRpbmcgMSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMSIsCiJIZWFkaW5ncyI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EiLAoiSW5jcmVhc2UgaW5kZW50IjogIlx1MDQxN1x1MDQzMVx1MDQ1Nlx1MDQzYlx1MDQ0Y1x1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQzOCAgXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkZvcm1hdHMiOiAiXHUwNDI0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDM4IiwKIkhlYWRlcnMiOiAiSGVhZGVycyIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQ1Nlx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzJcdTA0NDFcdTA0MzUiLAoiSGVhZGVyIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiQmxvY2tzIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzOCIsCiJVbmRvIjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDQxN1x1MDQzMFx1MDQzYVx1MDQ0MFx1MDQzNVx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzOSIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MWRcdTA0MzVcdTA0M2RcdTA0NDNcdTA0M2NcdTA0MzVcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIiwKIkhlYWRlciAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQ1Nlx1MDQzOSBcdTA0NTZcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MWVcdTA0NDdcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNDIwXHUwNDNlXHUwNDM3XHUwNDNjXHUwNDU2XHUwNDQwIFx1MDQ0OFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0Mlx1MDQ0MyIsCiJTdWJzY3JpcHQiOiAiXHUwNDFkXHUwNDM4XHUwNDM2XHUwNDNkXHUwNDU2XHUwNDM5IFx1MDQ1Nlx1MDQzZFx1MDQzNFx1MDQzNVx1MDQzYVx1MDQ0MSIsCiJIZWFkZXIgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNiIsCiJSZWRvIjogIlx1MDQxZlx1MDQzZVx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQzOCIsCiJQYXJhZ3JhcGgiOiAiXHUwNDFmXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDQ0IiwKIk9rIjogIlx1MDQxM1x1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzNCIsCiJCb2xkIjogIlx1MDQxNlx1MDQzOFx1MDQ0MFx1MDQzZFx1MDQzOFx1MDQzOSIsCiJDb2RlIjogIlx1MDQxYVx1MDQzZVx1MDQzNCIsCiJJdGFsaWMiOiAiXHUwNDFhXHUwNDQzXHUwNDQwXHUwNDQxXHUwNDM4XHUwNDMyIiwKIkFsaWduIGNlbnRlciI6ICJcdTA0MWZcdTA0M2UgXHUwNDQ2XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQwXHUwNDQzIiwKIkhlYWRlciA1IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA1IiwKIkhlYWRpbmcgNiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNiIsCiJIZWFkaW5nIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1MDQxN1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YiLAoiSGVhZGVyIDQiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDQiLAoiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzYVx1MDQzMCBcdTA0MzdcdTA0MzRcdTA0NTZcdTA0MzlcdTA0NDFcdTA0M2RcdTA0NGVcdTA0NTRcdTA0NDJcdTA0NGNcdTA0NDFcdTA0NGYgXHUwNDQzIFx1MDQzMlx1MDQzOFx1MDQzM1x1MDQzYlx1MDQ0Zlx1MDQzNFx1MDQ1NiBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0NDFcdTA0NDJcdTA0M2VcdTA0MzNcdTA0M2UgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyXHUwNDQzLCBcdTA0M2ZcdTA0M2VcdTA0M2FcdTA0MzggXHUwNDNkXHUwNDM1IFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzRcdTA0MzBcdTA0M2RcdTA0NDMgXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDU2XHUwNDRlLiIsCiJVbmRlcmxpbmUiOiAiXHUwNDFmXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDQwXHUwNDM1XHUwNDQxXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM5IiwKIkNhbmNlbCI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzgiLAoiSnVzdGlmeSI6ICJcdTA0MTJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NGVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSW5saW5lIjogIlx1MDQxMlx1MDQzMVx1MDQ0M1x1MDQzNFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQ1NiIsCiJDb3B5IjogIlx1MDQxYVx1MDQzZVx1MDQzZlx1MDQ1Nlx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJBbGlnbiBsZWZ0IjogIlx1MDQxZlx1MDQzZSBcdTA0M2JcdTA0NTZcdTA0MzJcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDRlIiwKIlZpc3VhbCBhaWRzIjogIlx1MDQxZFx1MDQzMFx1MDQzZVx1MDQ0N1x1MDQzZFx1MDQ1NiBcdTA0M2ZcdTA0NDBcdTA0MzhcdTA0M2JcdTA0MzBcdTA0MzRcdTA0MzRcdTA0NGYiLAoiTG93ZXIgR3JlZWsiOiAiXHUwNDFjXHUwNDMwXHUwNDNiXHUwNDU2IFx1MDQzM1x1MDQ0MFx1MDQzNVx1MDQ0Nlx1MDQ0Y1x1MDQzYVx1MDQ1NiBcdTA0MzFcdTA0NDNcdTA0M2FcdTA0MzJcdTA0MzgiLAoiU3F1YXJlIjogIlx1MDQxYVx1MDQzMlx1MDQzMFx1MDQzNFx1MDQ0MFx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJEZWZhdWx0IjogIlx1MDQyMVx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQzZFx1MDQzOFx1MDQzOSIsCiJMb3dlciBBbHBoYSI6ICJcdTA0MWNcdTA0MzBcdTA0M2JcdTA0NTYgXHUwNDNiXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDNkXHUwNDQxXHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQzMVx1MDQ0M1x1MDQzYVx1MDQzMlx1MDQzOCIsCiJDaXJjbGUiOiAiXHUwNDFlXHUwNDNhXHUwNDQwXHUwNDQzXHUwNDM2XHUwNDNkXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDU2IiwKIkRpc2MiOiAiXHUwNDFhXHUwNDQwXHUwNDQzXHUwNDMzXHUwNDM4IiwKIlVwcGVyIEFscGhhIjogIlx1MDQxMlx1MDQzNVx1MDQzYlx1MDQzOFx1MDQzYVx1MDQ1NiBcdTA0M2JcdTA0MzBcdTA0NDJcdTA0MzhcdTA0M2RcdTA0NDFcdTA0NGNcdTA0M2FcdTA0NTYgXHUwNDMxXHUwNDQzXHUwNDNhXHUwNDMyXHUwNDM4IiwKIlVwcGVyIFJvbWFuIjogIlx1MDQyMFx1MDQzOFx1MDQzY1x1MDQ0MVx1MDQ0Y1x1MDQzYVx1MDQ1NiBcdTA0NDZcdTA0MzhcdTA0NDRcdTA0NDBcdTA0MzgiLAoiTG93ZXIgUm9tYW4iOiAiXHUwNDFjXHUwNDMwXHUwNDNiXHUwNDU2IFx1MDQ0MFx1MDQzOFx1MDQzY1x1MDQ0MVx1MDQ0Y1x1MDQzYVx1MDQ1NiBcdTA0NDZcdTA0MzhcdTA0NDRcdTA0NDBcdTA0MzgiLAoiTmFtZSI6ICJcdTA0MWRcdTA0MzBcdTA0MzdcdTA0MzJcdTA0MzAiLAoiQW5jaG9yIjogIlx1MDQyZlx1MDQzYVx1MDQ1Nlx1MDQ0MCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDQyMyBcdTA0MTJcdTA0MzBcdTA0NDEgXHUwNDU0IFx1MDQzZFx1MDQzNVx1MDQzN1x1MDQzMVx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzNVx1MDQzZFx1MDQ1NiBcdTA0MzdcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzguIFx1MDQxMlx1MDQzOCBcdTA0MzJcdTA0M2ZcdTA0MzVcdTA0MzJcdTA0M2RcdTA0MzVcdTA0M2RcdTA0NTYsIFx1MDQ0OVx1MDQzZSBcdTA0NDVcdTA0M2VcdTA0NDdcdTA0MzVcdTA0NDJcdTA0MzUgXHUwNDNmXHUwNDU2XHUwNDQyXHUwNDM4PyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiXHUwNDEyXHUwNDU2XHUwNDM0XHUwNDNkXHUwNDNlXHUwNDMyXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Y1x1MDQzZVx1MDQzM1x1MDQzZSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzVcdTA0M2FcdTA0NDJcdTA0NDMiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHUwNDIxXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDU2XHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDU2IFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzOCIsCiJTb3VyY2UgY29kZSI6ICJcdTA0MTJcdTA0MzhcdTA0NDVcdTA0NTZcdTA0MzRcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDM0IiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MDQzYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQyMVx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0NTZcdTA0MzJcdTA0M2UiLAoiTGVmdCB0byByaWdodCI6ICJcdTA0MTdcdTA0M2JcdTA0NTZcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNlIiwKIkVtb3RpY29ucyI6ICJcdTA0MTVcdTA0M2NcdTA0M2VcdTA0NDZcdTA0NTZcdTA0NTciLAoiUm9ib3RzIjogIlx1MDQyMFx1MDQzZVx1MDQzMVx1MDQzZVx1MDQ0Mlx1MDQzOCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDQxMlx1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ1NiBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0MzAiLAoiVGl0bGUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIiwKIktleXdvcmRzIjogIlx1MDQxYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzZVx1MDQzMlx1MDQ1NiBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAiLAoiRW5jb2RpbmciOiAiXHUwNDFhXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkRlc2NyaXB0aW9uIjogIlx1MDQxZVx1MDQzZlx1MDQzOFx1MDQ0MSIsCiJBdXRob3IiOiAiXHUwNDEwXHUwNDMyXHUwNDQyXHUwNDNlXHUwNDQwIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFmXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDNlXHUwNDM1XHUwNDNhXHUwNDQwXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzOFx1MDQzYyIsCiJIb3Jpem9udGFsIGxpbmUiOiAiXHUwNDEzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM3XHUwNDNlXHUwNDNkXHUwNDQyXHUwNDMwXHUwNDNiXHUwNDRjXHUwNDNkXHUwNDMwIFx1MDQzYlx1MDQ1Nlx1MDQzZFx1MDQ1Nlx1MDQ0ZiIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzOFx1MDQzOSBcdTA0NTZcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOFwvXHUwNDM3XHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJHZW5lcmFsIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQ1NiIsCiJBZHZhbmNlZCI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0NDhcdTA0MzhcdTA0NDBcdTA0MzVcdTA0M2RcdTA0NTYiLAoiU291cmNlIjogIlx1MDQxNFx1MDQzNlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzYlx1MDQzZSIsCiJCb3JkZXIiOiAiXHUwNDFjXHUwNDM1XHUwNDM2XHUwNDMwIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTA0MTdcdTA0MzFcdTA0MzVcdTA0NDBcdTA0NTZcdTA0MzNcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDNlXHUwNDQwXHUwNDQ2XHUwNDU2XHUwNDU3IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzOFx1MDQzOSBcdTA0NTZcdTA0M2RcdTA0NDJcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0M2IiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiXHUwNDFlXHUwNDNmXHUwNDM4XHUwNDQxIFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJTdHlsZSI6ICJcdTA0MjFcdTA0NDJcdTA0MzhcdTA0M2JcdTA0NGMiLAoiRGltZW5zaW9ucyI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0M2NcdTA0NTZcdTA0NDAiLAoiSW5zZXJ0IGltYWdlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiWm9vbSBpbiI6ICJcdTA0MWRcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0MzdcdTA0MzhcdTA0NDJcdTA0MzgiLAoiQ29udHJhc3QiOiAiXHUwNDFhXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDQyIiwKIkJhY2siOiAiXHUwNDFmXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQyXHUwNDM4XHUwNDQxXHUwNDRmIiwKIkdhbW1hIjogIlx1MDQxM1x1MDQzMFx1MDQzY1x1MDQzY1x1MDQzMCIsCiJGbGlwIGhvcml6b250YWxseSI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzdcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlIFx1MDQzM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ1NiIsCiJSZXNpemUiOiAiXHUwNDE3XHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQzZVx1MDQzN1x1MDQzY1x1MDQ1Nlx1MDQ0MCIsCiJTaGFycGVuIjogIlx1MDQyN1x1MDQ1Nlx1MDQ0Mlx1MDQzYVx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJab29tIG91dCI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0MzgiLAoiSW1hZ2Ugb3B0aW9ucyI6ICJcdTA0MWRcdTA0MzBcdTA0M2JcdTA0MzBcdTA0NDhcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYgXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIkFwcGx5IjogIlx1MDQxN1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQ0MVx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJCcmlnaHRuZXNzIjogIlx1MDQyZlx1MDQ0MVx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0YyIsCiJSb3RhdGUgY2xvY2t3aXNlIjogIlx1MDQxZlx1MDQzZVx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQzOCBcdTA0MzdcdTA0MzAgXHUwNDMzXHUwNDNlXHUwNDM0XHUwNDM4XHUwNDNkXHUwNDNkXHUwNDM4XHUwNDNhXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDRlIFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ1Nlx1MDQzYlx1MDQzYVx1MDQzZVx1MDQ0ZSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0NDNcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDQyXHUwNDM4IFx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQzZFx1MDQzOFx1MDQzYVx1MDQzZVx1MDQzMlx1MDQzZVx1MDQ1NyBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NTZcdTA0M2JcdTA0M2FcdTA0MzgiLAoiRWRpdCBpbWFnZSI6ICJcdTA0MjBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0MzNcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIkNvbG9yIGxldmVscyI6ICJcdTA0MjBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NTYgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDRjXHUwNDNlXHUwNDQwXHUwNDU2XHUwNDMyIiwKIkNyb3AiOiAiXHUwNDFlXHUwNDMxXHUwNDQwXHUwNDU2XHUwNDM3XHUwNDMwXHUwNDQyXHUwNDM4IiwKIk9yaWVudGF0aW9uIjogIlx1MDQxZVx1MDQ0MFx1MDQ1Nlx1MDQ1NFx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQ1Nlx1MDQ0ZiIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiXHUwNDEyXHUwNDU2XHUwNDM0XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM3XHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZSBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0NTYiLAoiSW52ZXJ0IjogIlx1MDQwNlx1MDQzZFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0MVx1MDQ1Nlx1MDQ0ZiIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDQzXC9cdTA0NDdcdTA0MzBcdTA0NDEiLAoiUmVtb3ZlIGxpbmsiOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJVcmwiOiAiXHUwNDEwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDMwIFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNDIyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIFx1MDQzNFx1MDQzYlx1MDQ0ZiBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQW5jaG9ycyI6ICJcdTA0MmZcdTA0M2FcdTA0M2VcdTA0NDBcdTA0NTYiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJOZXcgd2luZG93IjogIlx1MDQyMyBcdTA0M2RcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDMyXHUwNDU2XHUwNDNhXHUwNDNkXHUwNDU2IiwKIk5vbmUiOiAiXHUwNDFkXHUwNDU2IiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTA0MjFcdTA0NDVcdTA0M2VcdTA0MzZcdTA0MzUsIFx1MDQ0OVx1MDQzZSBcdTA0MzJcdTA0MzggXHUwNDMyXHUwNDMyXHUwNDM1XHUwNDNiXHUwNDM4IFx1MDQzN1x1MDQzZVx1MDQzMlx1MDQzZFx1MDQ1Nlx1MDQ0OFx1MDQzZFx1MDQ1NCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYuIFx1MDQxMlx1MDQzOCBcdTA0MzFcdTA0MzBcdTA0MzZcdTA0MzBcdTA0NTRcdTA0NDJcdTA0MzUgXHUwNDM0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDM4IGh0dHA6XC9cLyBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0NDRcdTA0NTZcdTA0M2FcdTA0NDE/IiwKIlRhcmdldCI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2FcdTA0NDBcdTA0MzhcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlXHUwNDQxXHUwNDM4XHUwNDNiXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwNDIxXHUwNDQ1XHUwNDNlXHUwNDM2XHUwNDM1LCBcdTA0NDlcdTA0M2UgXHUwNDMyXHUwNDM4IFx1MDQzMlx1MDQzMlx1MDQzNVx1MDQzYlx1MDQzOCBcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0NDMgXHUwNDM1XHUwNDNiXHUwNDM1XHUwNDNhXHUwNDQyXHUwNDQwXHUwNDNlXHUwNDNkXHUwNDNkXHUwNDNlXHUwNDU3IFx1MDQzZlx1MDQzZVx1MDQ0OFx1MDQ0Mlx1MDQzOC4gXHUwNDEyXHUwNDM4IFx1MDQzMVx1MDQzMFx1MDQzNlx1MDQzMFx1MDQ1NFx1MDQ0Mlx1MDQzNSBcdTA0MzRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDJcdTA0MzggbWFpbHRvOiBcdTA0M2ZcdTA0NDBcdTA0MzVcdTA0NDRcdTA0NTZcdTA0M2FcdTA0NDE/IiwKIkluc2VydFwvZWRpdCBsaW5rIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOFwvXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMwXHUwNDMzXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJJbnNlcnRcL2VkaXQgdmlkZW8iOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4XC9cdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzBcdTA0MzNcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDM1XHUwNDNlIiwKIlBvc3RlciI6ICJcdTA0MTdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1MDQxMFx1MDQzYlx1MDQ0Y1x1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZFx1MDQzNSBcdTA0MzRcdTA0MzZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2JcdTA0M2UiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0NDJcdTA0MzUgXHUwNDMyXHUwNDMwXHUwNDQ4IFx1MDQzYVx1MDQzZVx1MDQzNCBcdTA0M2RcdTA0MzhcdTA0MzZcdTA0NDdcdTA0MzU6IiwKIkluc2VydCB2aWRlbyI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDM1XHUwNDNlIiwKIkVtYmVkIjogIlx1MDQxYVx1MDQzZVx1MDQzNCBcdTA0MzRcdTA0M2JcdTA0NGYgXHUwNDMyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDNhXHUwNDM4IiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1MDQxZFx1MDQzNVx1MDQ0MFx1MDQzZVx1MDQzN1x1MDQ0MFx1MDQzOFx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzFcdTA0NTZcdTA0M2IiLAoiUGFnZSBicmVhayI6ICJcdTA0MjBcdTA0M2VcdTA0MzdcdTA0NDBcdTA0MzhcdTA0MzIgXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDQwXHUwNDU2XHUwNDNkXHUwNDNhXHUwNDM4IiwKIlBhc3RlIGFzIHRleHQiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0Zlx1MDQzYSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIiLAoiUHJldmlldyI6ICJcdTA0MWZcdTA0M2VcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzRcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDMzXHUwNDNiXHUwNDRmXHUwNDM0IiwKIlByaW50IjogIlx1MDQxNFx1MDQ0MFx1MDQ0M1x1MDQzYVx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJTYXZlIjogIlx1MDQxN1x1MDQzMVx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzM1x1MDQ0Mlx1MDQzOCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHUwNDEyXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0M2RcdTA0MzUgXHUwNDM3XHUwNDNkXHUwNDMwXHUwNDM5XHUwNDM0XHUwNDM1XHUwNDNkXHUwNDNlIiwKIlJlcGxhY2UiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IiwKIk5leHQiOiAiXHUwNDEyXHUwNDNkXHUwNDM4XHUwNDM3IiwKIldob2xlIHdvcmRzIjogIlx1MDQyNlx1MDQ1Nlx1MDQzYlx1MDQ1NiBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTA0MWZcdTA0M2VcdTA0NDhcdTA0NDNcdTA0M2EgXHUwNDU2IFx1MDQzN1x1MDQzMFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzMCIsCiJSZXBsYWNlIHdpdGgiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZFx1MDQzMCIsCiJGaW5kIjogIlx1MDQxN1x1MDQzZFx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzOCIsCiJSZXBsYWNlIGFsbCI6ICJcdTA0MTdcdTA0MzBcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDQxXHUwNDM1IiwKIk1hdGNoIGNhc2UiOiAiXHUwNDEyXHUwNDQwXHUwNDMwXHUwNDQ1XHUwNDNlXHUwNDMyXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQzNVx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0MCIsCiJQcmV2IjogIlx1MDQxMlx1MDQzM1x1MDQzZVx1MDQ0MFx1MDQ0MyIsCiJTcGVsbGNoZWNrIjogIlx1MDQxZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzMlx1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzMCBcdTA0M2VcdTA0NDBcdTA0NDRcdTA0M2VcdTA0MzNcdTA0NDBcdTA0MzBcdTA0NDRcdTA0NTZcdTA0NTciLAoiRmluaXNoIjogIlx1MDQxN1x1MDQzMFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0OFx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJJZ25vcmUgYWxsIjogIlx1MDQwNlx1MDQzM1x1MDQzZFx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzJcdTA0NDFcdTA0MzUiLAoiSWdub3JlIjogIlx1MDQwNlx1MDQzM1x1MDQzZFx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJcdTA0MTRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDM0XHUwNDNlIFx1MDQyMVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZFx1MDQzOFx1MDQzYVx1MDQzMCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlXHUwNDQwXHUwNDNlXHUwNDM2XHUwNDNkXHUwNDU2XHUwNDM5IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0NDMiLAoiUm93cyI6ICJcdTA0MjBcdTA0NGZcdTA0MzRcdTA0M2FcdTA0MzgiLAoiSGVpZ2h0IjogIlx1MDQxMlx1MDQzOFx1MDQ0MVx1MDQzZVx1MDQ0Mlx1MDQzMCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0M2RcdTA0MzhcdTA0MzdcdTA0NDMiLAoiQWxpZ25tZW50IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJCb3JkZXIgY29sb3IiOiAiXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDU2XHUwNDQwIFx1MDQ0MFx1MDQzMFx1MDQzY1x1MDQzYVx1MDQzOCIsCiJDb2x1bW4gZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDMwIFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQ0Nlx1MDQ1Nlx1MDQzMiIsCiJSb3ciOiAiXHUwNDIwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIiwKIkluc2VydCBjb2x1bW4gYmVmb3JlIjogIlx1MDQxNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0NDFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0MzVcdTA0NDZcdTA0NGMgXHUwNDNiXHUwNDU2XHUwNDMyXHUwNDNlXHUwNDQwXHUwNDQzXHUwNDQ3IiwKIlNwbGl0IGNlbGwiOiAiXHUwNDIwXHUwNDNlXHUwNDM3XHUwNDMxXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQ0MyIsCiJDZWxsIHBhZGRpbmciOiAiXHUwNDFmXHUwNDNlXHUwNDNiXHUwNDRmIFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzZVx1MDQzYSIsCiJDZWxsIHNwYWNpbmciOiAiXHUwNDEyXHUwNDU2XHUwNDM0XHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNkXHUwNDRjIFx1MDQzY1x1MDQ1Nlx1MDQzNiBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzBcdTA0M2NcdTA0MzgiLAoiUm93IHR5cGUiOiAiXHUwNDIyXHUwNDM4XHUwNDNmIFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQzMCIsCiJJbnNlcnQgdGFibGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ0ZSIsCiJCb2R5IjogIlx1MDQyMlx1MDQ1Nlx1MDQzYlx1MDQzZSIsCiJDYXB0aW9uIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSIsCiJGb290ZXIiOiAiXHUwNDFkXHUwNDM4XHUwNDM2XHUwNDNkXHUwNDU2XHUwNDM5IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzOFx1MDQ0Mlx1MDQ0M1x1MDQzYiIsCiJEZWxldGUgcm93IjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EiLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIFx1MDQzN1x1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQ0MyIsCiJTY29wZSI6ICJcdTA0MjFcdTA0NDRcdTA0MzVcdTA0NDBcdTA0MzAiLAoiRGVsZXRlIHRhYmxlIjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0NGUiLAoiSCBBbGlnbiI6ICJcdTA0MTNcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzUgIFx1MDQzMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzMlx1MDQzZFx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJUb3AiOiAiXHUwNDFmXHUwNDNlIFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQ0Y1x1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiSGVhZGVyIGNlbGwiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIiwKIkNvbHVtbiI6ICJcdTA0MjFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0MzVcdTA0NDZcdTA0NGMiLAoiUm93IGdyb3VwIjogIlx1MDQxM1x1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzMCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2FcdTA0NTZcdTA0MzIiLAoiQ2VsbCI6ICJcdTA0MWFcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzAiLAoiTWlkZGxlIjogIlx1MDQxZlx1MDQzZSBcdTA0NDZcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NDBcdTA0NDMiLAoiQ2VsbCB0eXBlIjogIlx1MDQyMlx1MDQzOFx1MDQzZiBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzgiLAoiQ29weSByb3ciOiAiXHUwNDFhXHUwNDNlXHUwNDNmXHUwNDU2XHUwNDRlXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSIsCiJSb3cgcHJvcGVydGllcyI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDJcdTA0NDBcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNhXHUwNDMwIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiXHUwNDEyXHUwNDNiXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDNlXHUwNDQxXHUwNDQyXHUwNDU2IFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ1NiIsCiJCb3R0b20iOiAiXHUwNDFmXHUwNDNlIFx1MDQzZFx1MDQzOFx1MDQzNlx1MDQzZFx1MDQ0Y1x1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiViBBbGlnbiI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzUgXHUwNDMyXHUwNDM4XHUwNDQwXHUwNDU2XHUwNDMyXHUwNDNkXHUwNDRlXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkhlYWRlciI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDQyXHUwNDM4XHUwNDQyXHUwNDQzXHUwNDNiIiwKIlJpZ2h0IjogIlx1MDQxZlx1MDQzZSBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDRlIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNDE0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ0YyBcdTA0M2ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M2VcdTA0NDBcdTA0NDNcdTA0NDciLAoiQ29scyI6ICJcdTA0MjFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0NDZcdTA0NTYiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDNmXHUwNDNlXHUwNDQwXHUwNDNlXHUwNDM2XHUwNDNkXHUwNDU2XHUwNDM5IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0MzdcdTA0M2RcdTA0MzhcdTA0MzdcdTA0NDMiLAoiV2lkdGgiOiAiXHUwNDI4XHUwNDM4XHUwNDQwXHUwNDM4XHUwNDNkXHUwNDMwIiwKIkNlbGwgcHJvcGVydGllcyI6ICJcdTA0MWZcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M2NcdTA0MzVcdTA0NDJcdTA0NDBcdTA0MzggXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDM4IiwKIkxlZnQiOiAiXHUwNDFmXHUwNDNlIFx1MDQzYlx1MDQ1Nlx1MDQzMlx1MDQzZVx1MDQzY1x1MDQ0MyBcdTA0M2FcdTA0NDBcdTA0MzBcdTA0NGUiLAoiQ3V0IHJvdyI6ICJcdTA0MTJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzdcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ0YyIsCiJDZW50ZXIiOiAiXHUwNDFmXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQ0MyIsCiJNZXJnZSBjZWxscyI6ICJcdTA0MWVcdTA0MzEnXHUwNDU0XHUwNDM0XHUwNDNkXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzOCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0OFx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzZCIsCiJUZW1wbGF0ZXMiOiAiXHUwNDI4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkXHUwNDM4IiwKIkJhY2tncm91bmQgY29sb3IiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDU2XHUwNDQwIFx1MDQ0NFx1MDQzZVx1MDQzZFx1MDQ0MyIsCiJDdXN0b20uLi4iOiAiXHUwNDNhXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQ2XHUwNDRjXHUwNDNhXHUwNDM4XHUwNDM5IiwKIkN1c3RvbSBjb2xvciI6ICJcdTA0M2FcdTA0M2VcdTA0NDBcdTA0MzhcdTA0NDFcdTA0NDJcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDZcdTA0NGNcdTA0M2FcdTA0MzhcdTA0MzkgXHUwNDNhXHUwNDNlXHUwNDNiXHUwNDU2XHUwNDQwIiwKIk5vIGNvbG9yIjogIlx1MDQzMVx1MDQzNVx1MDQzNyBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0NGNcdTA0M2VcdTA0NDBcdTA0NDMiLAoiVGV4dCBjb2xvciI6ICJcdTA0MWFcdTA0M2VcdTA0M2JcdTA0NTZcdTA0NDAgXHUwNDQyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyXHUwNDQzIiwKIlNob3cgYmxvY2tzIjogIlx1MDQxZlx1MDQzZVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2FcdTA0MzgiLAoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyI6ICJcdTA0MWZcdTA0M2VcdTA0M2FcdTA0MzBcdTA0MzdcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNkXHUwNDM1XHUwNDMyXHUwNDM4XHUwNDM0XHUwNDM4XHUwNDNjXHUwNDU2IFx1MDQ0MVx1MDQzOFx1MDQzY1x1MDQzMlx1MDQzZVx1MDQzYlx1MDQzOCIsCiJXb3JkczogezB9IjogIlx1MDQxYVx1MDQ1Nlx1MDQzYlx1MDQ0Y1x1MDQzYVx1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0YyBcdTA0NDFcdTA0M2JcdTA0NTZcdTA0MzI6IHswfSIsCiJJbnNlcnQiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IiwKIkZpbGUiOiAiXHUwNDI0XHUwNDMwXHUwNDM5XHUwNDNiIiwKIkVkaXQiOiAiXHUwNDE3XHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1MDQyMlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzNSBcdTA0M2ZcdTA0M2VcdTA0M2JcdTA0MzUuIFx1MDQxZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQzZFx1MDQ1Nlx1MDQ0Mlx1MDQ0YyBBTFQtRjkgXHUwNDQ5XHUwNDNlXHUwNDMxIFx1MDQzMlx1MDQzOFx1MDQzYVx1MDQzYlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGUsIEFMVC1GMTAgXHUwNDNmXHUwNDMwXHUwNDNkXHUwNDM1XHUwNDNiXHUwNDRjIFx1MDQ1Nlx1MDQzZFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ1Nlx1MDQzMiwgQUxULTAgXHUwNDM0XHUwNDNiXHUwNDRmIFx1MDQzMlx1MDQzOFx1MDQzYVx1MDQzYlx1MDQzOFx1MDQzYVx1MDQ0MyBcdTA0MzRcdTA0M2VcdTA0M2ZcdTA0M2VcdTA0M2NcdTA0M2VcdTA0MzNcdTA0MzguIiwKIlRvb2xzIjogIlx1MDQwNlx1MDQzZFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzOCIsCiJWaWV3IjogIlx1MDQxMlx1MDQzOFx1MDQzM1x1MDQzYlx1MDQ0Zlx1MDQzNCIsCiJUYWJsZSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0NGYiLAoiRm9ybWF0IjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0MiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/uk_UA.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd1a19VQScsewoiQ3V0IjogIlx1MDQxMlx1MDQzOFx1MDQ0MFx1MDQ1Nlx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJIZWFkaW5nIDUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDUiLAoiSGVhZGVyIDIiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHUwNDEyXHUwNDMwXHUwNDQ4IFx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0M1x1MDQzN1x1MDQzNVx1MDQ0MCBcdTA0M2RcdTA0MzUgXHUwNDNmXHUwNDU2XHUwNDM0XHUwNDQyXHUwNDQwXHUwNDM4XHUwNDNjXHUwNDQzXHUwNDU0IFx1MDQzZlx1MDQ0MFx1MDQ0Zlx1MDQzY1x1MDQzOFx1MDQzOSBcdTA0MzRcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M2YgXHUwNDM0XHUwNDNlIFx1MDQzMVx1MDQ0M1x1MDQ0NFx1MDQzNVx1MDQ0MFx1MDQzMCBcdTA0M2VcdTA0MzFcdTA0M2NcdTA0NTZcdTA0M2RcdTA0NDMuIFx1MDQxN1x1MDQzMFx1MDQzY1x1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0YyBcdTA0NDZcdTA0NGNcdTA0M2VcdTA0MzNcdTA0M2UgXHUwNDMyXHUwNDM4XHUwNDNhXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDQzXHUwNDM5XHUwNDQyXHUwNDM1IFx1MDQzZlx1MDQzZVx1MDQ1NFx1MDQzNFx1MDQzZFx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiBcdTA0M2FcdTA0M2JcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDggQ3RybCArIFhcL0NcL1YuIiwKIkhlYWRpbmcgNCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNCIsCiJEaXYiOiAiRGl2IiwKIkhlYWRpbmcgMiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgMiIsCiJQYXN0ZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzgiLAoiQ2xvc2UiOiAiXHUwNDE3XHUwNDMwXHUwNDNhXHUwNDQwXHUwNDM4XHUwNDQyXHUwNDM4IiwKIkZvbnQgRmFtaWx5IjogIlx1MDQyOFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0MiIsCiJQcmUiOiAiUHJlIiwKIkFsaWduIHJpZ2h0IjogIlx1MDQxZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQ0NyIsCiJOZXcgZG9jdW1lbnQiOiAiXHUwNDFkXHUwNDNlXHUwNDMyXHUwNDM4XHUwNDM5IFx1MDQzNFx1MDQzZVx1MDQzYVx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0MiIsCiJCbG9ja3F1b3RlIjogIlx1MDQyNlx1MDQzOFx1MDQ0Mlx1MDQzMFx1MDQ0Mlx1MDQzMCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1MDQxZlx1MDQ0MFx1MDQzZVx1MDQzZFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQ0MFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzOSBcdTA0NDFcdTA0M2ZcdTA0MzhcdTA0NDFcdTA0M2VcdTA0M2EiLAoiSGVhZGluZyAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIkhlYWRpbmdzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzOCIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiXHUwNDE3XHUwNDMxXHUwNDU2XHUwNDNiXHUwNDRjXHUwNDQ4XHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZiIsCiJGb3JtYXRzIjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJIZWFkZXJzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzOCIsCiJTZWxlY3QgYWxsIjogIlx1MDQxMlx1MDQzOFx1MDQzMVx1MDQzNVx1MDQ0MFx1MDQ1Nlx1MDQ0Mlx1MDQ0YyBcdTA0NDNcdTA0NDFcdTA0MzUiLAoiSGVhZGVyIDMiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDMiLAoiQmxvY2tzIjogIlx1MDQxMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzOCIsCiJVbmRvIjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJTdHJpa2V0aHJvdWdoIjogIlx1MDQxZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzYVx1MDQ0MFx1MDQzNVx1MDQ0MVx1MDQzYlx1MDQzNVx1MDQzZFx1MDQzOFx1MDQzOSIsCiJCdWxsZXQgbGlzdCI6ICJcdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0NTZcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDQxXHUwNDNmXHUwNDM4XHUwNDQxXHUwNDNlXHUwNDNhIiwKIkhlYWRlciAxIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAxIiwKIlN1cGVyc2NyaXB0IjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQ1Nlx1MDQzOSBcdTA0NTZcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDEiLAoiQ2xlYXIgZm9ybWF0dGluZyI6ICJcdTA0MWVcdTA0NDdcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQyXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkZvbnQgU2l6ZXMiOiAiXHUwNDIwXHUwNDNlXHUwNDM3XHUwNDNjXHUwNDU2XHUwNDQwIFx1MDQ0OFx1MDQ0MFx1MDQzOFx1MDQ0NFx1MDQ0Mlx1MDQzMCIsCiJTdWJzY3JpcHQiOiAiXHUwNDA2XHUwNDNkXHUwNDM0XHUwNDM1XHUwNDNhXHUwNDQxIiwKIkhlYWRlciA2IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA2IiwKIlJlZG8iOiAiXHUwNDEyXHUwNDU2XHUwNDM0XHUwNDNkXHUwNDNlXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IiwKIlBhcmFncmFwaCI6ICJcdTA0MTBcdTA0MzFcdTA0MzdcdTA0MzBcdTA0NDYiLAoiT2siOiAiT2siLAoiQm9sZCI6ICJcdTA0MTZcdTA0MzhcdTA0NDBcdTA0M2RcdTA0MzhcdTA0MzkiLAoiQ29kZSI6ICJcdTA0MWFcdTA0M2VcdTA0MzQiLAoiSXRhbGljIjogIlx1MDQxYVx1MDQ0M1x1MDQ0MFx1MDQ0MVx1MDQzOFx1MDQzMiIsCiJBbGlnbiBjZW50ZXIiOiAiXHUwNDFmXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQ0MyIsCiJIZWFkZXIgNSI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EgNSIsCiJIZWFkaW5nIDYiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIDYiLAoiSGVhZGluZyAzIjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSAzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJcdTA0MTdcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDhcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDQxXHUwNDQyXHUwNDQzXHUwNDNmIiwKIkhlYWRlciA0IjogIlx1MDQxN1x1MDQzMFx1MDQzM1x1MDQzZVx1MDQzYlx1MDQzZVx1MDQzMlx1MDQzZVx1MDQzYSA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0M2FcdTA0MzAgXHUwNDM3XHUwNDMwXHUwNDQwXHUwNDMwXHUwNDM3IFx1MDQzMiBcdTA0NDBcdTA0MzVcdTA0MzZcdTA0MzhcdTA0M2NcdTA0NTYgXHUwNDM3XHUwNDMyXHUwNDM4XHUwNDQ3XHUwNDMwXHUwNDM5XHUwNDNkXHUwNDNlXHUwNDMzXHUwNDNlIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0Mlx1MDQ0My4gXHUwNDE3XHUwNDNjXHUwNDU2XHUwNDQxXHUwNDQyIFx1MDQzMVx1MDQ0M1x1MDQzNFx1MDQzNSBcdTA0MzJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0M2JcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDRmXHUwNDNhIFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzOSBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDIsIFx1MDQzZlx1MDQzZVx1MDQzYVx1MDQzOCBcdTA0MTJcdTA0MzggXHUwNDNkXHUwNDM1IFx1MDQzMlx1MDQzOFx1MDQzY1x1MDQzYVx1MDQzZFx1MDQzNVx1MDQ0Mlx1MDQzNSBcdTA0NDZcdTA0NGUgXHUwNDNlXHUwNDNmXHUwNDQ2XHUwNDU2XHUwNDRlLiIsCiJVbmRlcmxpbmUiOiAiXHUwNDFmXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDQwXHUwNDM1XHUwNDQxXHUwNDNiXHUwNDM1XHUwNDNkXHUwNDM4XHUwNDM5IiwKIkNhbmNlbCI6ICJcdTA0MTJcdTA0NTZcdTA0MzRcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzgiLAoiSnVzdGlmeSI6ICJcdTA0MTJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NGZcdTA0NDJcdTA0MzgiLAoiSW5saW5lIjogIlx1MDQxMlx1MDQzMVx1MDQ0M1x1MDQzNFx1MDQzZVx1MDQzMlx1MDQzMFx1MDQzZFx1MDQzOFx1MDQzOSIsCiJDb3B5IjogIlx1MDQxYVx1MDQzZVx1MDQzZlx1MDQ1Nlx1MDQ0ZVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJBbGlnbiBsZWZ0IjogIlx1MDQxYlx1MDQ1Nlx1MDQzMlx1MDQzZVx1MDQ0MFx1MDQ0M1x1MDQ0NyIsCiJWaXN1YWwgYWlkcyI6ICJcdTA0MTJcdTA0NTZcdTA0MzdcdTA0NDNcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0NTYgXHUwNDM3XHUwNDMwXHUwNDQxXHUwNDNlXHUwNDMxXHUwNDM4IiwKIkxvd2VyIEdyZWVrIjogIlx1MDQxY1x1MDQzMFx1MDQzYlx1MDQ1NiBcdTA0MzNcdTA0NDBcdTA0MzVcdTA0NDZcdTA0NGNcdTA0M2FcdTA0NTYgXHUwNDNiXHUwNDU2XHUwNDQyXHUwNDM1XHUwNDQwXHUwNDM4IiwKIlNxdWFyZSI6ICJcdTA0MWFcdTA0MzJcdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzBcdTA0NDIiLAoiRGVmYXVsdCI6ICJcdTA0MjNcdTA0M2NcdTA0M2VcdTA0MzJcdTA0NDdcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiTG93ZXIgQWxwaGEiOiAiXHUwNDFkXHUwNDM4XHUwNDM2XHUwNDNkXHUwNDU2XHUwNDM5IFx1MDQ0MFx1MDQzNVx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0MCIsCiJDaXJjbGUiOiAiXHUwNDFhXHUwNDNlXHUwNDNiXHUwNDNlIiwKIkRpc2MiOiAiXHUwNDE0XHUwNDM4XHUwNDQxXHUwNDNhIiwKIlVwcGVyIEFscGhhIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQ1Nlx1MDQzOSBcdTA0NDBcdTA0MzVcdTA0MzNcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NDAiLAoiVXBwZXIgUm9tYW4iOiAiXHUwNDIwXHUwNDM4XHUwNDNjXHUwNDQxXHUwNDRjXHUwNDNhXHUwNDU2IFx1MDQ0Nlx1MDQzOFx1MDQ0NFx1MDQ0MFx1MDQzOCBcdTA0NDMgXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQ1XHUwNDNkXHUwNDRjXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQ0MFx1MDQzNVx1MDQzM1x1MDQ1Nlx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ1NiIsCiJMb3dlciBSb21hbiI6ICJcdTA0MjBcdTA0MzhcdTA0M2NcdTA0NDFcdTA0NGNcdTA0M2FcdTA0NTYgXHUwNDQ2XHUwNDM4XHUwNDQ0XHUwNDQwXHUwNDM4IFx1MDQ0MyBcdTA0M2RcdTA0MzhcdTA0MzZcdTA0M2RcdTA0NGNcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDQwXHUwNDM1XHUwNDMzXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDQwXHUwNDU2IiwKIk5hbWUiOiAiXHUwNDA2XHUwNDNjJ1x1MDQ0ZiIsCiJBbmNob3IiOiAiXHUwNDFmXHUwNDQwXHUwNDM4XHUwNDMyJ1x1MDQ0Zlx1MDQzN1x1MDQzYVx1MDQzMCIsCiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IjogIlx1MDQyMyBcdTA0MzJcdTA0MzBcdTA0NDEgXHUwNDU0IFx1MDQzZFx1MDQzNVx1MDQzN1x1MDQzMVx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzNVx1MDQzZFx1MDQ1NiBcdTA0MzdcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzguIFx1MDQxMlx1MDQzOCBcdTA0MzJcdTA0M2ZcdTA0MzVcdTA0MzJcdTA0M2RcdTA0MzVcdTA0M2RcdTA0NTYsIFx1MDQ0OVx1MDQzZSBcdTA0NDVcdTA0M2VcdTA0NDdcdTA0MzVcdTA0NDJcdTA0MzUgXHUwNDNmXHUwNDU2XHUwNDQyXHUwNDM4ID8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzZFx1MDQzZVx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NTZcdTA0MzkgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDM1XHUwNDNhXHUwNDQyIiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIlx1MDQyMVx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ1Nlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzOFx1MDQzOSBcdTA0NDFcdTA0MzhcdTA0M2NcdTA0MzJcdTA0M2VcdTA0M2IiLAoiU291cmNlIGNvZGUiOiAiXHUwNDE0XHUwNDM2XHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNiXHUwNDNlIiwKIkIiOiAiQiIsCiJSIjogIlIiLAoiRyI6ICJHIiwKIkNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCIsCiJSaWdodCB0byBsZWZ0IjogIlx1MDQyMVx1MDQzZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzMCBcdTA0M2RcdTA0MzBcdTA0M2JcdTA0NTZcdTA0MzJcdTA0M2UiLAoiTGVmdCB0byByaWdodCI6ICJcdTA0MTdcdTA0M2JcdTA0NTZcdTA0MzJcdTA0MzAgXHUwNDNkXHUwNDMwXHUwNDNmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNlIiwKIkVtb3RpY29ucyI6ICJcdTA0MjFcdTA0M2NcdTA0MzBcdTA0MzlcdTA0M2JcdTA0MzgiLAoiUm9ib3RzIjogIlx1MDQyMFx1MDQzZVx1MDQzMVx1MDQzZVx1MDQ0Mlx1MDQzOCIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlx1MDQxMlx1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ1NiBcdTA0MzRcdTA0M2VcdTA0M2FcdTA0NDNcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NDMiLAoiVGl0bGUiOiAiXHUwNDE3XHUwNDMwXHUwNDMzXHUwNDNlXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNlXHUwNDNhIiwKIktleXdvcmRzIjogIlx1MDQxYVx1MDQzYlx1MDQ0ZVx1MDQ0N1x1MDQzZVx1MDQzMlx1MDQ1NiBcdTA0NDFcdTA0M2JcdTA0M2VcdTA0MzJcdTA0MzAiLAoiRW5jb2RpbmciOiAiXHUwNDFhXHUwNDNlXHUwNDM0XHUwNDQzXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIiwKIkRlc2NyaXB0aW9uIjogIlx1MDQxZVx1MDQzZlx1MDQzOFx1MDQ0MSIsCiJBdXRob3IiOiAiXHUwNDEwXHUwNDMyXHUwNDQyXHUwNDNlXHUwNDQwIiwKIkZ1bGxzY3JlZW4iOiAiXHUwNDFkXHUwNDMwIFx1MDQzMlx1MDQzNVx1MDQ0MVx1MDQ0YyBcdTA0MzVcdTA0M2FcdTA0NDBcdTA0MzBcdTA0M2QiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzMCBcdTA0M2JcdTA0NTZcdTA0M2RcdTA0NTZcdTA0NGYiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTA0MTNcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDQzXHUwNDQxXHUwNDNhIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzhcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzM1x1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiR2VuZXJhbCI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzUiLAoiQWR2YW5jZWQiOiAiXHUwNDE0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDNhXHUwNDNlXHUwNDMyXHUwNDNlIiwKIlNvdXJjZSI6ICJcdTA0MTRcdTA0MzZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M2JcdTA0M2UiLAoiQm9yZGVyIjogIlx1MDQxY1x1MDQzNVx1MDQzNlx1MDQzMCIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHUwNDE3XHUwNDMxXHUwNDM1XHUwNDQwXHUwNDU2XHUwNDMzXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzZlx1MDQzZVx1MDQ0MFx1MDQ0Nlx1MDQ1Nlx1MDQ1NyIsCiJWZXJ0aWNhbCBzcGFjZSI6ICJcdTA0MTJcdTA0MzVcdTA0NDBcdTA0NDJcdTA0MzhcdTA0M2FcdTA0MzBcdTA0M2JcdTA0NGNcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDNmXHUwNDQwXHUwNDNlXHUwNDNmXHUwNDQzXHUwNDQxXHUwNDNhIiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1MDQxZVx1MDQzZlx1MDQzOFx1MDQ0MSBcdTA0MzdcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiU3R5bGUiOiAiXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNiXHUwNDRjIiwKIkRpbWVuc2lvbnMiOiAiXHUwNDIwXHUwNDNlXHUwNDM3XHUwNDNjXHUwNDU2XHUwNDQwIiwKIkluc2VydCBpbWFnZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDM3XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM2XHUwNDM1XHUwNDNkXHUwNDNkXHUwNDRmIiwKIlpvb20gaW4iOiAiXHUwNDE3XHUwNDMxXHUwNDU2XHUwNDNiXHUwNDRjXHUwNDQ4XHUwNDM4XHUwNDQyXHUwNDM4IiwKIkNvbnRyYXN0IjogIlx1MDQxYVx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQ0MiIsCiJCYWNrIjogIlx1MDQxZlx1MDQzZVx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzZFx1MDQ0M1x1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQ0ZiIsCiJHYW1tYSI6ICJcdTA0MTNcdTA0MzBcdTA0M2NcdTA0M2NcdTA0MzAiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiXHUwNDEyXHUwNDU2XHUwNDM0XHUwNDNlXHUwNDMxXHUwNDQwXHUwNDMwXHUwNDM3XHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZSBcdTA0MzNcdTA0M2VcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzBcdTA0M2JcdTA0NTYiLAoiUmVzaXplIjogIlx1MDQxN1x1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0M2VcdTA0MzdcdTA0M2NcdTA0NTZcdTA0NDAiLAoiU2hhcnBlbiI6ICJcdTA0MjdcdTA0NTZcdTA0NDJcdTA0M2FcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NGMiLAoiWm9vbSBvdXQiOiAiXHUwNDE3XHUwNDNjXHUwNDM1XHUwNDNkXHUwNDQ4XHUwNDM4XHUwNDQyXHUwNDM4IiwKIkltYWdlIG9wdGlvbnMiOiAiXHUwNDFkXHUwNDMwXHUwNDNiXHUwNDMwXHUwNDQ4XHUwNDQyXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDNkXHUwNDNkXHUwNDRmIFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJBcHBseSI6ICJcdTA0MTdcdTA0MzBcdTA0NDFcdTA0NDJcdTA0M2VcdTA0NDFcdTA0NDNcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzgiLAoiQnJpZ2h0bmVzcyI6ICJcdTA0MmZcdTA0NDFcdTA0M2FcdTA0NDBcdTA0MzBcdTA0MzJcdTA0NTZcdTA0NDFcdTA0NDJcdTA0NGMiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTA0MWZcdTA0M2VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0NDNcdTA0NDJcdTA0MzggXHUwNDM3XHUwNDMwIFx1MDQzM1x1MDQzZVx1MDQzNFx1MDQzOFx1MDQzZFx1MDQzZFx1MDQzOFx1MDQzYVx1MDQzZVx1MDQzMlx1MDQzZVx1MDQ0ZSBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0NTZcdTA0M2JcdTA0M2FcdTA0M2VcdTA0NGUiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHUwNDFmXHUwNDNlXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDNkXHUwNDQzXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQ0Mlx1MDQzOCBcdTA0MzNcdTA0M2VcdTA0MzRcdTA0MzhcdTA0M2RcdTA0M2RcdTA0MzhcdTA0M2FcdTA0M2VcdTA0MzJcdTA0M2VcdTA0NTcgXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDU2XHUwNDNiXHUwNDNhXHUwNDM4IiwKIkVkaXQgaW1hZ2UiOiAiXHUwNDIwXHUwNDM1XHUwNDM0XHUwNDMwXHUwNDMzXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzN1x1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzNlx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJDb2xvciBsZXZlbHMiOiAiXHUwNDIwXHUwNDU2XHUwNDMyXHUwNDNkXHUwNDU2IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzZVx1MDQ0MFx1MDQ1Nlx1MDQzMiIsCiJDcm9wIjogIlx1MDQxZVx1MDQzMVx1MDQ0MFx1MDQ1Nlx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCIsCiJPcmllbnRhdGlvbiI6ICJcdTA0MWVcdTA0NDBcdTA0NTZcdTA0NTRcdTA0M2RcdTA0NDJcdTA0MzBcdTA0NDZcdTA0NTZcdTA0NGYiLAoiRmxpcCB2ZXJ0aWNhbGx5IjogIlx1MDQxMlx1MDQ1Nlx1MDQzNFx1MDQzZVx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2UgXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDM4XHUwNDNhXHUwNDMwXHUwNDNiXHUwNDU2IiwKIkludmVydCI6ICJcdTA0MDZcdTA0M2RcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDFcdTA0NTZcdTA0NGYiLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQ0M1wvXHUwNDQ3XHUwNDMwXHUwNDQxIiwKIlJlbW92ZSBsaW5rIjogIlx1MDQxMlx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzYlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiVXJsIjogIlVSTCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiXHUwNDIyXHUwNDM1XHUwNDNhXHUwNDQxXHUwNDQyIFx1MDQzNFx1MDQzYlx1MDQ0ZiBcdTA0MzJcdTA0NTZcdTA0MzRcdTA0M2VcdTA0MzFcdTA0NDBcdTA0MzBcdTA0MzZcdTA0MzVcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQW5jaG9ycyI6ICJcdTA0MmZcdTA0M2FcdTA0M2VcdTA0NDBcdTA0NGYiLAoiSW5zZXJ0IGxpbmsiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0ZiIsCiJOZXcgd2luZG93IjogIlx1MDQxZFx1MDQzZVx1MDQzMlx1MDQzNSBcdTA0MzJcdTA0NTZcdTA0M2FcdTA0M2RcdTA0M2UiLAoiTm9uZSI6ICJcdTA0MWRcdTA0NTYiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlx1MDQyMVx1MDQ0NVx1MDQzZVx1MDQzNlx1MDQzNSwgXHUwNDQ5XHUwNDNlIFx1MDQzMlx1MDQzOCBcdTA0MzJcdTA0MzJcdTA0MzVcdTA0M2JcdTA0MzggXHUwNDM3XHUwNDNlXHUwNDMyXHUwNDNkXHUwNDU2XHUwNDQ4XHUwNDNkXHUwNDU0IFx1MDQzZlx1MDQzZVx1MDQ0MVx1MDQzOFx1MDQzYlx1MDQzMFx1MDQzZFx1MDQzZFx1MDQ0Zi4gXHUwNDEyXHUwNDM4IFx1MDQzMVx1MDQzMFx1MDQzNlx1MDQzMFx1MDQ1NFx1MDQ0Mlx1MDQzNSBcdTA0MzRcdTA0M2VcdTA0MzRcdTA0MzBcdTA0NDJcdTA0MzggaHR0cDpcL1wvIFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQ1Nlx1MDQzYVx1MDQ0MT8iLAoiVGFyZ2V0IjogIlx1MDQxY1x1MDQzNVx1MDQ0Mlx1MDQzMCIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1MDQyMVx1MDQ0NVx1MDQzZVx1MDQzNlx1MDQzNSwgXHUwNDQ5XHUwNDNlIFx1MDQzMlx1MDQzOCBcdTA0MzJcdTA0MzJcdTA0MzVcdTA0M2JcdTA0MzggXHUwNDMwXHUwNDM0XHUwNDQwXHUwNDM1XHUwNDQxXHUwNDQzIFx1MDQzNVx1MDQzYlx1MDQzNVx1MDQzYVx1MDQ0Mlx1MDQ0MFx1MDQzZVx1MDQzZFx1MDQzZFx1MDQzZVx1MDQ1NyBcdTA0M2ZcdTA0M2VcdTA0NDhcdTA0NDJcdTA0MzguIFx1MDQxMlx1MDQzOCBcdTA0MzFcdTA0MzBcdTA0MzZcdTA0MzBcdTA0NTRcdTA0NDJcdTA0MzUgXHUwNDM0XHUwNDNlXHUwNDM0XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzZlx1MDQ0MFx1MDQzNVx1MDQ0NFx1MDQ1Nlx1MDQzYVx1MDQ0MSBtYWlsdG86PyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzhcL1x1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzMFx1MDQzM1x1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2ZcdTA0M2VcdTA0NDFcdTA0MzhcdTA0M2JcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOFwvXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDMwXHUwNDMzXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzNVx1MDQzZSIsCiJQb3N0ZXIiOiAiXHUwNDFmXHUwNDNiXHUwNDMwXHUwNDNhXHUwNDMwXHUwNDQyIiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTA0MTBcdTA0M2JcdTA0NGNcdTA0NDJcdTA0MzVcdTA0NDBcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzhcdTA0MzJcdTA0M2RcdTA0MzUgXHUwNDM0XHUwNDM2XHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNiXHUwNDNlIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDQyXHUwNDM1IFx1MDQzMlx1MDQzMFx1MDQ0OCBcdTA0M2FcdTA0M2VcdTA0MzQgXHUwNDNkXHUwNDM4XHUwNDM2XHUwNDQ3XHUwNDM1OiIsCiJJbnNlcnQgdmlkZW8iOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ1Nlx1MDQzNFx1MDQzNVx1MDQzZSIsCiJFbWJlZCI6ICJcdTA0MTJcdTA0M2ZcdTA0NDBcdTA0M2VcdTA0MzJcdTA0MzBcdTA0MzRcdTA0MzhcdTA0NDJcdTA0MzgiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHUwNDFkXHUwNDM1XHUwNDQwXHUwNDNlXHUwNDM3XHUwNDQwXHUwNDM4XHUwNDMyXHUwNDNkXHUwNDM4XHUwNDM5IFx1MDQzZlx1MDQ0MFx1MDQzZVx1MDQzZlx1MDQ0M1x1MDQ0MVx1MDQzYSIsCiJQYWdlIGJyZWFrIjogIlx1MDQyMFx1MDQzZVx1MDQzN1x1MDQ0MFx1MDQzOFx1MDQzMiBcdTA0NDFcdTA0NDJcdTA0M2VcdTA0NDBcdTA0NTZcdTA0M2RcdTA0M2FcdTA0MzgiLAoiUGFzdGUgYXMgdGV4dCI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDRmXHUwNDNhIFx1MDQ0Mlx1MDQzNVx1MDQzYVx1MDQ0MVx1MDQ0MiIsCiJQcmV2aWV3IjogIlx1MDQxZlx1MDQzZVx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzZFx1MDQ1Nlx1MDQzOSBcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzNcdTA0M2JcdTA0NGZcdTA0MzQiLAoiUHJpbnQiOiAiXHUwNDE0XHUwNDQwXHUwNDQzXHUwNDNhIiwKIlNhdmUiOiAiXHUwNDE3XHUwNDMxXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDMzXHUwNDQyXHUwNDM4IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJcdTA0MWRcdTA0MzUgXHUwNDMyXHUwNDM0XHUwNDMwXHUwNDNiXHUwNDNlXHUwNDQxXHUwNDRmIFx1MDQzN1x1MDQzZFx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzOCBcdTA0MzdcdTA0MzBcdTA0MzdcdTA0M2RcdTA0MzBcdTA0NDdcdTA0MzVcdTA0M2RcdTA0MzhcdTA0MzkgXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhLiIsCiJSZXBsYWNlIjogIlx1MDQxN1x1MDQzMFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJOZXh0IjogIlx1MDQxZFx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzZlx1MDQzZFx1MDQzOFx1MDQzOSIsCiJXaG9sZSB3b3JkcyI6ICJcdTA0MjZcdTA0NTZcdTA0M2JcdTA0NTYgXHUwNDQxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiXHUwNDE3XHUwNDNkXHUwNDMwXHUwNDM5XHUwNDQyXHUwNDM4IFx1MDQ1NiBcdTA0MzdcdTA0MzBcdTA0M2NcdTA0NTZcdTA0M2RcdTA0MzhcdTA0NDJcdTA0MzgiLAoiUmVwbGFjZSB3aXRoIjogIlx1MDQxN1x1MDQzMFx1MDQzY1x1MDQ1Nlx1MDQzZFx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2RcdTA0MzAiLAoiRmluZCI6ICJcdTA0MTdcdTA0M2RcdTA0MzBcdTA0MzlcdTA0NDJcdTA0MzgiLAoiUmVwbGFjZSBhbGwiOiAiXHUwNDE3XHUwNDMwXHUwNDNjXHUwNDU2XHUwNDNkXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ0MVx1MDQzNSIsCiJNYXRjaCBjYXNlIjogIlx1MDQxNyBcdTA0NDNcdTA0NDBcdTA0MzBcdTA0NDVcdTA0NDNcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGZcdTA0M2MgXHUwNDQwXHUwNDM1XHUwNDMzXHUwNDU2XHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzIiwKIlByZXYiOiAiXHUwNDFmXHUwNDNlXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNkXHUwNDU2XHUwNDM5IiwKIlNwZWxsY2hlY2siOiAiXHUwNDFmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDMyXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDMwIFx1MDQzZVx1MDQ0MFx1MDQ0NFx1MDQzZVx1MDQzM1x1MDQ0MFx1MDQzMFx1MDQ0NFx1MDQ1Nlx1MDQ1NyIsCiJGaW5pc2giOiAiXHUwNDE3XHUwNDMwXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDQ4XHUwNDM4XHUwNDQyXHUwNDM4IiwKIklnbm9yZSBhbGwiOiAiXHUwNDA2XHUwNDMzXHUwNDNkXHUwNDNlXHUwNDQwXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQ0MVx1MDQzNSIsCiJJZ25vcmUiOiAiXHUwNDA2XHUwNDMzXHUwNDNkXHUwNDNlXHUwNDQwXHUwNDQzXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDM4IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1MDQxNFx1MDQzZVx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0MzIgXHUwNDQxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDNkXHUwNDM4XHUwNDNhIiwKIkluc2VydCByb3cgYmVmb3JlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQ0Mlx1MDQzNSBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDNmXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDM0IiwKIlJvd3MiOiAiXHUwNDIwXHUwNDRmXHUwNDM0XHUwNDNhXHUwNDM4IiwKIkhlaWdodCI6ICJcdTA0MTJcdTA0MzhcdTA0NDFcdTA0M2VcdTA0NDJcdTA0MzAiLAoiUGFzdGUgcm93IGFmdGVyIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2VcdTA0M2EgXHUwNDNmXHUwNDU2XHUwNDQxXHUwNDNiXHUwNDRmIiwKIkFsaWdubWVudCI6ICJcdTA0MTJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NGVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiQm9yZGVyIGNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCBcdTA0M2NcdTA0MzVcdTA0MzZcdTA0NTYiLAoiQ29sdW1uIGdyb3VwIjogIlx1MDQxM1x1MDQ0MFx1MDQ0M1x1MDQzZlx1MDQzMCBcdTA0NDFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0NDZcdTA0NTZcdTA0MzIiLAoiUm93IjogIlx1MDQyMFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQxXHUwNDQyXHUwNDNlXHUwNDMyXHUwNDNmXHUwNDM1XHUwNDQ2XHUwNDRjIFx1MDQzZlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNCIsCiJTcGxpdCBjZWxsIjogIlx1MDQyMFx1MDQzZVx1MDQzN1x1MDQzMVx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0NDMiLAoiQ2VsbCBwYWRkaW5nIjogIlx1MDQxN1x1MDQzMFx1MDQzZlx1MDQzZVx1MDQzMlx1MDQzZFx1MDQzNVx1MDQzZFx1MDQzZFx1MDQ0ZiBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2VcdTA0M2EiLAoiQ2VsbCBzcGFjaW5nIjogIlx1MDQwNlx1MDQzZFx1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzMlx1MDQzMFx1MDQzYiBcdTA0M2NcdTA0NTZcdTA0MzYgXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDMwXHUwNDNjXHUwNDM4IiwKIlJvdyB0eXBlIjogIlx1MDQyMlx1MDQzOFx1MDQzZiBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2FcdTA0MzAiLAoiSW5zZXJ0IHRhYmxlIjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCBcdTA0NDJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0NGUiLAoiQm9keSI6ICJcdTA0MjJcdTA0NTZcdTA0M2JcdTA0M2UiLAoiQ2FwdGlvbiI6ICJcdTA0MTdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2VcdTA0M2EiLAoiRm9vdGVyIjogIlx1MDQxZFx1MDQzOFx1MDQzNlx1MDQzZFx1MDQ1Nlx1MDQzOSBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzhcdTA0NDJcdTA0NDNcdTA0M2IiLAoiRGVsZXRlIHJvdyI6ICJcdTA0MTJcdTA0MzhcdTA0MzRcdTA0MzBcdTA0M2JcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzZVx1MDQzYSBcdTA0M2ZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzQiLAoiU2NvcGUiOiAiXHUwNDIzIFx1MDQzY1x1MDQzNVx1MDQzNlx1MDQzMFx1MDQ0NSIsCiJEZWxldGUgdGFibGUiOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzYlx1MDQzOFx1MDQ0Nlx1MDQ0ZSIsCiJIIEFsaWduIjogIlx1MDQxM1x1MDQzZVx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzNSBcdTA0MzJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NGVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiVG9wIjogIlx1MDQxZlx1MDQzZSBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0NDVcdTA0M2RcdTA0NGNcdTA0M2VcdTA0M2NcdTA0NDMgXHUwNDNhXHUwNDQwXHUwNDMwXHUwNDRlIiwKIkhlYWRlciBjZWxsIjogIlx1MDQxYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzMCBcdTA0MzdcdTA0MzBcdTA0MzNcdTA0M2VcdTA0M2JcdTA0M2VcdTA0MzJcdTA0M2FcdTA0NDMiLAoiQ29sdW1uIjogIlx1MDQyMVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ0YyIsCiJSb3cgZ3JvdXAiOiAiXHUwNDEzXHUwNDQwXHUwNDQzXHUwNDNmXHUwNDMwIFx1MDQ0MFx1MDQ0Zlx1MDQzNFx1MDQzYVx1MDQ1Nlx1MDQzMiIsCiJDZWxsIjogIlx1MDQxYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzMCIsCiJNaWRkbGUiOiAiXHUwNDFmXHUwNDNlIFx1MDQ0Nlx1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ0MFx1MDQ0MyIsCiJDZWxsIHR5cGUiOiAiXHUwNDIyXHUwNDM4XHUwNDNmIFx1MDQzYVx1MDQzZVx1MDQzY1x1MDQ1Nlx1MDQ0MFx1MDQzYVx1MDQzOCIsCiJDb3B5IHJvdyI6ICJcdTA0MWFcdTA0M2VcdTA0M2ZcdTA0NTZcdTA0NGVcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1MDQxMlx1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ1NiBcdTA0NDBcdTA0NGZcdTA0MzRcdTA0M2FcdTA0MzAiLAoiVGFibGUgcHJvcGVydGllcyI6ICJcdTA0MTJcdTA0M2JcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzhcdTA0MzJcdTA0M2VcdTA0NDFcdTA0NDJcdTA0NTYgXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDU2IiwKIkJvdHRvbSI6ICJcdTA0MWZcdTA0M2UgXHUwNDNkXHUwNDM4XHUwNDM2XHUwNDNkXHUwNDRjXHUwNDNlXHUwNDNjXHUwNDQzIFx1MDQzYVx1MDQ0MFx1MDQzMFx1MDQ0ZSIsCiJWIEFsaWduIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0Mlx1MDQzOFx1MDQzYVx1MDQzMFx1MDQzYlx1MDQ0Y1x1MDQzZFx1MDQzNSBcdTA0MzJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzJcdTA0M2RcdTA0NGVcdTA0MzJcdTA0MzBcdTA0M2RcdTA0M2RcdTA0NGYiLAoiSGVhZGVyIjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQ0NVx1MDQzZFx1MDQ1Nlx1MDQzOSBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0M2VcdTA0M2RcdTA0NDJcdTA0MzhcdTA0NDJcdTA0NDNcdTA0M2IiLAoiUmlnaHQiOiAiXHUwNDFmXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNlXHUwNDQwXHUwNDQzXHUwNDQ3IiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHUwNDEyXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ0YyBcdTA0M2ZcdTA0NTZcdTA0NDFcdTA0M2JcdTA0NGYiLAoiQ29scyI6ICJcdTA0MjFcdTA0NDJcdTA0M2VcdTA0MzJcdTA0M2ZcdTA0NDZcdTA0NTYiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIFx1MDQzZlx1MDQ1Nlx1MDQ0MVx1MDQzYlx1MDQ0ZiIsCiJXaWR0aCI6ICJcdTA0MjhcdTA0MzhcdTA0NDBcdTA0MzhcdTA0M2RcdTA0MzAiLAoiQ2VsbCBwcm9wZXJ0aWVzIjogIlx1MDQxMlx1MDQzYlx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzZVx1MDQ0MVx1MDQ0Mlx1MDQ1NiBcdTA0M2FcdTA0M2VcdTA0M2NcdTA0NTZcdTA0NDBcdTA0M2FcdTA0MzgiLAoiTGVmdCI6ICJcdTA0MWJcdTA0NTZcdTA0MzJcdTA0M2VcdTA0NDBcdTA0NDNcdTA0NDciLAoiQ3V0IHJvdyI6ICJcdTA0MTJcdTA0MzhcdTA0NDBcdTA0NTZcdTA0MzdcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDQwXHUwNDRmXHUwNDM0XHUwNDNlXHUwNDNhIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDMwXHUwNDNiXHUwNDM4XHUwNDQyXHUwNDM4IFx1MDQ0MVx1MDQ0Mlx1MDQzZVx1MDQzMlx1MDQzZlx1MDQzNVx1MDQ0Nlx1MDQ0YyIsCiJDZW50ZXIiOiAiXHUwNDI2XHUwNDM1XHUwNDNkXHUwNDQyXHUwNDQwIiwKIk1lcmdlIGNlbGxzIjogIlx1MDQxZVx1MDQzMSdcdTA0NTRcdTA0MzRcdTA0M2RcdTA0MzBcdTA0NDJcdTA0MzggXHUwNDNhXHUwNDNlXHUwNDNjXHUwNDU2XHUwNDQwXHUwNDNhXHUwNDM4IiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTA0MTJcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0MzggXHUwNDQ4XHUwNDMwXHUwNDMxXHUwNDNiXHUwNDNlXHUwNDNkIiwKIlRlbXBsYXRlcyI6ICJcdTA0MjhcdTA0MzBcdTA0MzFcdTA0M2JcdTA0M2VcdTA0M2RcdTA0MzgiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJcdTA0MWFcdTA0M2VcdTA0M2JcdTA0NTZcdTA0NDAgXHUwNDQ0XHUwNDNlXHUwNDNkXHUwNDQzIiwKIkN1c3RvbS4uLiI6ICJcdTA0MDZcdTA0M2RcdTA0NDhcdTA0MzhcdTA0MzkuLi4iLAoiQ3VzdG9tIGNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzMlx1MDQzMFx1MDQ0Nlx1MDQ0Y1x1MDQzYVx1MDQzOFx1MDQzOSBcdTA0M2FcdTA0M2VcdTA0M2JcdTA0NTZcdTA0NDAiLAoiTm8gY29sb3IiOiAiXHUwNDExXHUwNDM1XHUwNDM3IFx1MDQzYVx1MDQzZVx1MDQzYlx1MDQ0Y1x1MDQzZVx1MDQ0MFx1MDQ0MyIsCiJUZXh0IGNvbG9yIjogIlx1MDQxYVx1MDQzZVx1MDQzYlx1MDQ1Nlx1MDQ0MCBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDJcdTA0NDMiLAoiU2hvdyBibG9ja3MiOiAiXHUwNDFmXHUwNDNlXHUwNDNhXHUwNDMwXHUwNDM3XHUwNDMwXHUwNDQyXHUwNDM4IFx1MDQzMVx1MDQzYlx1MDQzZVx1MDQzYVx1MDQzOCIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1MDQxZlx1MDQzZVx1MDQzYVx1MDQzMFx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzOCBcdTA0M2RcdTA0MzVcdTA0MzJcdTA0MzhcdTA0MzRcdTA0MzhcdTA0M2NcdTA0NTYgXHUwNDQxXHUwNDM4XHUwNDNjXHUwNDMyXHUwNDNlXHUwNDNiXHUwNDM4IiwKIldvcmRzOiB7MH0iOiAiXHUwNDIxXHUwNDNiXHUwNDNlXHUwNDMyXHUwNDMwOiB7MH0iLAoiSW5zZXJ0IjogIlx1MDQxMlx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzOFx1MDQ0Mlx1MDQzOCIsCiJGaWxlIjogIlx1MDQyNFx1MDQzMFx1MDQzOVx1MDQzYiIsCiJFZGl0IjogIlx1MDQxZlx1MDQ0MFx1MDQzMFx1MDQzMlx1MDQzYVx1MDQzMCIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJcdTA0MWVcdTA0MzFcdTA0M2JcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NGMgUmljaCBcdTA0NDJcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NDJcdTA0NDMuIFx1MDQxZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQzZFx1MDQ1Nlx1MDQ0Mlx1MDQ0YyBBTFQtRjkgLSBcdTA0M2NcdTA0MzVcdTA0M2RcdTA0NGUuIFx1MDQxZFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQ0MVx1MDQzZFx1MDQ1Nlx1MDQ0Mlx1MDQ0YyBBTFQtRjEwIC0gXHUwNDNmXHUwNDMwXHUwNDNkXHUwNDM1XHUwNDNiXHUwNDRjIFx1MDQ1Nlx1MDQzZFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQ1Nlx1MDQzMi4gXHUwNDFkXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDQxXHUwNDNkXHUwNDU2XHUwNDQyXHUwNDRjIEFMVC0wIC0gXHUwNDM0XHUwNDNlXHUwNDMyXHUwNDU2XHUwNDM0XHUwNDNhXHUwNDMwIiwKIlRvb2xzIjogIlx1MDQwNlx1MDQzZFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQ0M1x1MDQzY1x1MDQzNVx1MDQzZFx1MDQ0Mlx1MDQzOCIsCiJWaWV3IjogIlx1MDQxMlx1MDQzOFx1MDQzNCIsCiJUYWJsZSI6ICJcdTA0MjJcdTA0MzBcdTA0MzFcdTA0M2JcdTA0MzhcdTA0NDZcdTA0NGYiLAoiRm9ybWF0IjogIlx1MDQyNFx1MDQzZVx1MDQ0MFx1MDQzY1x1MDQzMFx1MDQ0MiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/vi.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd2aScsewoiQ3V0IjogIkNcdTFlYWZ0IiwKIkhlYWRpbmcgNSI6ICJINSIsCiJIZWFkZXIgMiI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiVHJcdTAwZWNuaCBkdXlcdTFlYzd0IGNcdTFlZTdhIGJcdTFlYTFuIGtoXHUwMGY0bmcgaFx1MWVkNyB0clx1MWVlMyB0cnV5IGNcdTFlYWRwIHRydXkgY1x1MWVhZHAgYlx1MWVkOSBuaFx1MWVkYiBcdTFlYTNvLCB2dWkgbFx1MDBmMm5nIHNcdTFlZWQgZFx1MWVlNW5nIGNcdTAwZTFjIHRcdTFlZDUgaFx1MWVlM3AgcGhcdTAwZWRtIEN0cmwgKyBYLCBDLCBWLiIsCiJIZWFkaW5nIDQiOiAiSDQiLAoiRGl2IjogIktodW5nIiwKIkhlYWRpbmcgMiI6ICJIMiIsCiJQYXN0ZSI6ICJEXHUwMGUxbiIsCiJDbG9zZSI6ICJcdTAxMTBcdTAwZjNuZyBMXHUxZWExaSIsCiJGb250IEZhbWlseSI6ICJLaVx1MWVjM3UgY2hcdTFlZWYiLAoiUHJlIjogIlx1MDExMFx1MWVjYm5oIGRcdTFlYTFuZyIsCiJBbGlnbiByaWdodCI6ICJDYW5oIHBoXHUxZWEzaSIsCiJOZXcgZG9jdW1lbnQiOiAiVFx1MWVhMW8gdFx1MDBlMGkgbGlcdTFlYzd1IG1cdTFlZGJpIiwKIkJsb2NrcXVvdGUiOiAiXHUwMTEwb1x1MWVhMW4gVHJcdTAwZWRjaCBEXHUxZWFibiIsCiJOdW1iZXJlZCBsaXN0IjogIkRhbmggc1x1MDBlMWNoIGRcdTFlYTFuZyBzXHUxZWQxIiwKIkhlYWRpbmcgMSI6ICJIMSIsCiJIZWFkaW5ncyI6ICJQaFx1MWVhN24gXHUwMTExXHUxZWE3dSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiVFx1MDEwM25nIGtob1x1MWVhM25nIGNcdTAwZTFjaCBkXHUwMGYybmciLAoiRm9ybWF0cyI6ICJcdTAxMTBcdTFlY2JuaCBkXHUxZWExbmciLAoiSGVhZGVycyI6ICJcdTAxMTBcdTFlYTd1IHRyYW5nIiwKIlNlbGVjdCBhbGwiOiAiQ2hcdTFlY2RuIHRcdTFlYTV0IGNcdTFlYTMiLAoiSGVhZGVyIDMiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSAzIiwKIkJsb2NrcyI6ICJCYW8iLAoiVW5kbyI6ICJIXHUxZWU3eSB0aGFvIHRcdTAwZTFjIiwKIlN0cmlrZXRocm91Z2giOiAiR1x1MWVhMWNoIG5nYW5nIiwKIkJ1bGxldCBsaXN0IjogIkRhbmggc1x1MDBlMWNoIGRcdTFlYTFuZyBiaVx1MWVjM3UgdFx1MDFiMFx1MWVlM25nIiwKIkhlYWRlciAxIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgMSIsCiJTdXBlcnNjcmlwdCI6ICJLXHUwMGZkIHRcdTFlZjEgbVx1MDE2OSIsCiJDbGVhciBmb3JtYXR0aW5nIjogIkxcdTAxYjBcdTFlZTNjIGJcdTFlY2YgcGhcdTFlYTduIGhpXHUxZWM3dSBcdTFlZTluZyIsCiJGb250IFNpemVzIjogIkNcdTFlZTEgY2hcdTFlZWYiLAoiU3Vic2NyaXB0IjogIktcdTAwZmQgdFx1MWVmMSB0aFx1MWVhNXAiLAoiSGVhZGVyIDYiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSA2IiwKIlJlZG8iOiAiTFx1MDBlMG0gbFx1MWVhMWkiLAoiUGFyYWdyYXBoIjogIlx1MDExMG9cdTFlYTFuIHZcdTAxMDNuIiwKIk9rIjogIlx1MDExMFx1MWVkM25nIFx1MDBkZCIsCiJCb2xkIjogIkluIFx1MDExMVx1MWVhZG0iLAoiQ29kZSI6ICJNXHUwMGUzIiwKIkl0YWxpYyI6ICJJbiBuZ2hpXHUwMGVhbmciLAoiQWxpZ24gY2VudGVyIjogIkNhbmggZ2lcdTFlZWZhIiwKIkhlYWRlciA1IjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgNSIsCiJIZWFkaW5nIDYiOiAiRzYiLAoiSGVhZGluZyAzIjogIkgzIiwKIkRlY3JlYXNlIGluZGVudCI6ICJUaFx1MWVlNXQgbFx1MDBmOWkgZFx1MDBmMm5nIiwKIkhlYWRlciA0IjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiQ2hcdTFlZTljIG5cdTAxMDNuZyBEXHUwMGUxbiBcdTAxMTFhbmcgdHJvbmcgdHJcdTFlYTFuZyB0aFx1MDBlMWkgdlx1MDEwM24gYlx1MWVhM24gXHUwMTExXHUwMWExbiBnaVx1MWVhM24uIE5cdTFlZDlpIGR1bmcgc1x1MWViZCBcdTAxMTFcdTAxYjBcdTFlZTNjIGRcdTAwZTFuIGRcdTAxYjBcdTFlZGJpIGRcdTFlYTFuZyB2XHUwMTAzbiBiXHUxZWEzbiB0aHVcdTFlYTduLCBraFx1MDBmNG5nIGNcdTAwZjMgXHUwMTExXHUxZWNibmggZFx1MWVhMW5nLiIsCiJVbmRlcmxpbmUiOiAiR1x1MWVhMWNoIGRcdTAxYjBcdTFlZGJpIiwKIkNhbmNlbCI6ICJIdVx1MWVmNyBCXHUxZWNmIiwKIkp1c3RpZnkiOiAiQ2FuaCBcdTAxMTFcdTFlYzF1IGhhaSBiXHUwMGVhbiIsCiJJbmxpbmUiOiAiQ1x1MDBmOW5nIGRcdTAwZjJuZyIsCiJDb3B5IjogIlNhbyBjaFx1MDBlOXAiLAoiQWxpZ24gbGVmdCI6ICJDYW5oIHRyXHUwMGUxaSIsCiJWaXN1YWwgYWlkcyI6ICJNXHUxZWRmIGtodW5nIHNvXHUxZWExbiB0aFx1MWVhM28iLAoiTG93ZXIgR3JlZWsiOiAiU1x1MWVkMSBoeSBsXHUxZWExcCB0aFx1MDFiMFx1MWVkZG5nIiwKIlNxdWFyZSI6ICJcdTAwZDQgdnVcdTAwZjRuZyIsCiJEZWZhdWx0IjogIk1cdTFlYjdjIFx1MDExMVx1MWVjYm5oIiwKIkxvd2VyIEFscGhhIjogIktcdTAwZmQgdFx1MWVmMSB0aFx1MDFiMFx1MWVkZG5nIiwKIkNpcmNsZSI6ICJIXHUwMGVjbmggdHJcdTAwZjJuIiwKIkRpc2MiOiAiSFx1MDBlY25oIHRyXHUwMGYybiAgZFx1MWVhMW5nIG1cdTFlY2ZuZyIsCiJVcHBlciBBbHBoYSI6ICJLXHUwMGZkIHRcdTFlZjEgaG9hIiwKIlVwcGVyIFJvbWFuIjogIlNcdTFlZDEgbGEgbVx1MDBlMyBob2EiLAoiTG93ZXIgUm9tYW4iOiAiU1x1MWVkMSBsYSBtXHUwMGUzIHRoXHUwMWIwXHUxZWRkbmciLAoiTmFtZSI6ICJUXHUwMGVhbiIsCiJBbmNob3IiOiAiTmVvIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiQlx1MWVhMW4gY2hcdTAxYjBhIGxcdTAxYjB1IHRoYXkgXHUwMTExXHUxZWQ1aSBiXHUxZWExbiBjXHUwMGYzIGNoXHUxZWFmYyBiXHUxZWExbiBtdVx1MWVkMW4gZGkgY2h1eVx1MWVjM24gXHUwMTExaT8iLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIktoXHUwMGY0aSBwaFx1MWVlNWMgYlx1MWVhM24gZ1x1MWVhN24gbmhcdTFlYTV0IiwKIlNwZWNpYWwgY2hhcmFjdGVyIjogIktcdTAwZmQgdFx1MWVmMSBcdTAxMTFcdTFlYjdjIGJpXHUxZWM3dCIsCiJTb3VyY2UgY29kZSI6ICJNXHUwMGUzIG5ndVx1MWVkM24iLAoiQ29sb3IiOiAiTVx1MDBlMHUgc1x1MWVhZmMiLAoiUmlnaHQgdG8gbGVmdCI6ICJQaFx1MWVhM2kgc2FuZyB0clx1MDBlMWkiLAoiTGVmdCB0byByaWdodCI6ICJUclx1MDBlMWkgc2FuZyBwaFx1MWVhM2kiLAoiRW1vdGljb25zIjogIkJpXHUxZWMzdSB0XHUwMWIwXHUxZWUzbmcgY1x1MWVhM20geFx1MDBmYWMiLAoiUm9ib3RzIjogIlJvYm90cyIsCiJEb2N1bWVudCBwcm9wZXJ0aWVzIjogIlRodVx1MWVkOWMgdFx1MDBlZG5oIHRcdTAwZTBpIGxpXHUxZWM3dSIsCiJUaXRsZSI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIiwKIktleXdvcmRzIjogIlRcdTFlZWIga2hcdTAwZjNhIiwKIkVuY29kaW5nIjogIk1cdTAwZTMgaFx1MDBmM2EiLAoiRGVzY3JpcHRpb24iOiAiTVx1MDBmNCB0XHUxZWEzIiwKIkF1dGhvciI6ICJUXHUwMGUxYyBnaVx1MWVhMyIsCiJGdWxsc2NyZWVuIjogIlRvXHUwMGUwbiBtXHUwMGUwbiBoXHUwMGVjbmgiLAoiSG9yaXpvbnRhbCBsaW5lIjogIktcdTFlYmIgbmdhbmciLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJOXHUxZWIxbSBuZ2FuZyIsCiJCIjogIk1cdTAwZTB1IHhhbmggZGEgdHJcdTFlZGRpIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJDaFx1MDBlOG5cL3NcdTFlZWRhIFx1MWVhM25oIiwKIkdlbmVyYWwiOiAiQ2h1bmciLAoiQWR2YW5jZWQiOiAiTlx1MDBlMm5nIGNhbyIsCiJHIjogIk1cdTAwZTB1IHhhbmggbFx1MDBlMSBjXHUwMGUyeSIsCiJSIjogIk1cdTAwZTB1IFx1MDExMVx1MWVjZiIsCiJTb3VyY2UiOiAiTmd1XHUxZWQzbiIsCiJCb3JkZXIiOiAiXHUwMTEwXHUwMWIwXHUxZWRkbmcgdmlcdTFlYzFuIiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJUXHUxZWY3IGxcdTFlYzcgaFx1MWVhMW4gY2hcdTFlYmYiLAoiVmVydGljYWwgc3BhY2UiOiAiTlx1MWViMW0gZFx1MWVjZGMiLAoiSW1hZ2UgZGVzY3JpcHRpb24iOiAiTVx1MDBmNCB0XHUxZWEzIFx1MWVhM25oIiwKIlN0eWxlIjogIktpXHUxZWMzdSIsCiJEaW1lbnNpb25zIjogIktcdTAwZWRjaCB0aFx1MDFiMFx1MWVkYmMiLAoiSW5zZXJ0IGltYWdlIjogIkNoXHUwMGU4biBcdTFlYTNuaCIsCiJab29tIGluIjogIlRodSBuaFx1MWVjZiIsCiJDb250cmFzdCI6ICJcdTAxMTBcdTFlZDkgdFx1MDFiMFx1MDFhMW5nIHBoXHUxZWEzbiIsCiJCYWNrIjogIlF1YXkgbFx1MWVhMWkiLAoiR2FtbWEiOiAiTVx1MDBlMHUgR2FtbWEiLAoiRmxpcCBob3Jpem9udGFsbHkiOiAiTFx1MWVhZHQgbmdhbmciLAoiUmVzaXplIjogIlRoYXkgXHUwMTExXHUxZWQ1aSBrXHUwMGVkY2ggdGhcdTAxYjBcdTFlZGJjIiwKIlNoYXJwZW4iOiAiTFx1MDBlMG0gc1x1MWVhZmMgblx1MDBlOXQiLAoiWm9vbSBvdXQiOiAiUGhcdTAwZjNuZyB0byIsCiJJbWFnZSBvcHRpb25zIjogIlRcdTAwZjl5IGNoXHUxZWNkbiBcdTFlYTNuaCIsCiJBcHBseSI6ICJcdTAwYzFwIGRcdTFlZTVuZyIsCiJCcmlnaHRuZXNzIjogIlx1MDExMFx1MWVkOSBzXHUwMGUxbmciLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJYb2F5IHBoXHUxZWEzaSIsCiJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSI6ICJYb2F5IHRyXHUwMGUxaSIsCiJFZGl0IGltYWdlIjogIkNoXHUxZWM5bmggc1x1MWVlZGEgXHUxZWEzbmgiLAoiQ29sb3IgbGV2ZWxzIjogIk1cdTFlZTljIFx1MDExMVx1MWVkOSBtXHUwMGUwdSIsCiJDcm9wIjogIkNcdTFlYWZ0IFx1MWVhM25oIiwKIk9yaWVudGF0aW9uIjogIlx1MDExMFx1MWVjYm5oIGhcdTAxYjBcdTFlZGJuZyIsCiJGbGlwIHZlcnRpY2FsbHkiOiAiTFx1MWVhZHQgZFx1MWVjZGMiLAoiSW52ZXJ0IjogIlx1MDExMFx1MWVhM28gbmdcdTAxYjBcdTFlZTNjIiwKIkluc2VydCBkYXRlXC90aW1lIjogIkNoXHUwMGU4biBuZ1x1MDBlMHlcL3RoXHUwMGUxbmciLAoiUmVtb3ZlIGxpbmsiOiAiQlx1MWVjZiBsaVx1MDBlYW4ga1x1MWViZnQiLAoiVXJsIjogIlVybCIsCiJUZXh0IHRvIGRpc3BsYXkiOiAiTlx1MWVkOWkgZHVuZyBoaVx1MWVjM24gdGhcdTFlY2IiLAoiQW5jaG9ycyI6ICJOZW8iLAoiSW5zZXJ0IGxpbmsiOiAiQ2hcdTAwZThuIGxpXHUwMGVhbiBrXHUxZWJmdCIsCiJOZXcgd2luZG93IjogIkNcdTFlZWRhIHNcdTFlZDUgbVx1MWVkYmkiLAoiTm9uZSI6ICJLaFx1MDBmNG5nIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJcdTAxMTBcdTFlY2JhIGNoXHUxZWM5IFVSTCBiXHUxZWExbiB2XHUxZWViYSBuaFx1MWVhZHAgZ2lcdTFlZDFuZyBuaFx1MDFiMCBtXHUxZWQ5dCBsaVx1MDBlYW4ga1x1MWViZnQuIEJcdTFlYTFuIGNcdTAwZjMgbXVcdTFlZDFuIHRoXHUwMGVhbSB0aVx1MWVjMW4gdFx1MWVkMSBodHRwOlwvXC8ga2hcdTAwZjRuZz8iLAoiVGFyZ2V0IjogIlx1MDExMFx1MDBlZGNoIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZW1haWwgYWRkcmVzcy4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBtYWlsdG86IHByZWZpeD8iOiAiXHUwMTEwXHUxZWNiYSBjaFx1MWVjOSBVUkwgYlx1MWVhMW4gdlx1MWVlYmEgbmhcdTFlYWRwIGdpXHUxZWQxbmcgbmhcdTAxYjAgbVx1MWVkOXQgXHUwMTExXHUxZWNiYSBjaFx1MWVjOSBlbWFpbC4gQlx1MWVhMW4gY1x1MDBmMyBtdVx1MWVkMW4gdGhcdTAwZWFtIHRpXHUxZWMxbiB0XHUxZWQxIG1haWx0bzoga2hcdTAwZjRuZz8iLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiQ2hcdTAwZThuXC9zXHUxZWVkYSBsaVx1MDBlYW4ga1x1MWViZnQiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIkNoXHUwMGU4blwvc1x1MWVlZGEgdmlkZW8iLAoiUG9zdGVyIjogIk5nXHUwMWIwXHUxZWRkaSBnXHUxZWVkaSIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiTmd1XHUxZWQzbiB0aGF5IHRoXHUxZWJmIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiRFx1MDBlMW4gbVx1MDBlMyBuaFx1MDBmYW5nIGNcdTFlZTdhIGJcdTFlYTFuIGRcdTAxYjBcdTFlZGJpIFx1MDExMVx1MDBlMnk6IiwKIkluc2VydCB2aWRlbyI6ICJDaFx1MDBlOG4gdmlkZW8iLAoiRW1iZWQiOiAiTmhcdTAwZmFuZyIsCiJOb25icmVha2luZyBzcGFjZSI6ICJLaFx1MDBmNG5nIHh1XHUxZWQxbmcgaFx1MDBlMG5nIiwKIlBhZ2UgYnJlYWsiOiAiTmdcdTFlYWZ0IHRyYW5nIiwKIlBhc3RlIGFzIHRleHQiOiAiRFx1MDBlMW4gXHUwMTExb1x1MWVhMW4gdlx1MDEwM24gYlx1MWVhM24iLAoiUHJldmlldyI6ICJYZW0gdGhcdTFlZWQiLAoiUHJpbnQiOiAiSW4iLAoiU2F2ZSI6ICJMXHUwMWIwdSIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiS2hcdTAwZjRuZyB0XHUwMGVjbSB0aFx1MWVhNXkgY2h1XHUxZWQ3aSBxdWkgXHUwMTExXHUxZWNibmgiLAoiUmVwbGFjZSI6ICJUaGF5IHRoXHUxZWJmIiwKIk5leHQiOiAiS1x1MWViZiB0aVx1MWViZnAiLAoiV2hvbGUgd29yZHMiOiAiVG9cdTAwZTBuIGJcdTFlZDkgdFx1MWVlYiIsCiJGaW5kIGFuZCByZXBsYWNlIjogIlRcdTAwZWNtIHZcdTAwZTAgdGhheSB0aFx1MWViZiIsCiJSZXBsYWNlIHdpdGgiOiAiVGhheSB0aFx1MWViZiBiXHUxZWRmaSIsCiJGaW5kIjogIlRcdTAwZWNtIGtpXHUxZWJmbSIsCiJSZXBsYWNlIGFsbCI6ICJUaGF5IHRcdTFlYTV0IGNcdTFlYTMiLAoiTWF0Y2ggY2FzZSI6ICJUclx1MDFiMFx1MWVkZG5nIGhcdTFlZTNwIHhlbSIsCiJQcmV2IjogIlRyXHUwMWIwXHUxZWRiYyIsCiJTcGVsbGNoZWNrIjogIktpXHUxZWMzbSB0cmEgY2hcdTAwZWRuaCB0XHUxZWEzIiwKIkZpbmlzaCI6ICJIb1x1MDBlMG4gdFx1MWVhNXQiLAoiSWdub3JlIGFsbCI6ICJCXHUxZWNmIHF1YSB0XHUxZWE1dCIsCiJJZ25vcmUiOiAiQlx1MWVjZiBxdWEiLAoiQWRkIHRvIERpY3Rpb25hcnkiOiAiVGhcdTAwZWFtIHZcdTAwZTBvIHRcdTFlZWIgXHUwMTExaVx1MWVjM24iLAoiSW5zZXJ0IHJvdyBiZWZvcmUiOiAiVGhcdTAwZWFtIGRcdTAwZjJuZyBwaFx1MDBlZGEgdHJcdTAwZWFuIiwKIlJvd3MiOiAiRFx1MDBmMm5nIiwKIkhlaWdodCI6ICJcdTAxMTBcdTFlZDkgQ2FvIiwKIlBhc3RlIHJvdyBhZnRlciI6ICJEXHUwMGUxbiB2XHUwMGUwbyBwaFx1MDBlZGEgc2F1LCBkXHUwMWIwXHUxZWRiaSIsCiJBbGlnbm1lbnQiOiAiQ2FuaCBjaFx1MWVjOW5oIiwKIkJvcmRlciBjb2xvciI6ICJNXHUwMGUwdSB2aVx1MWVjMW4iLAoiQ29sdW1uIGdyb3VwIjogIkdvbSBuaFx1MDBmM20gY1x1MWVkOXQiLAoiUm93IjogIkRcdTAwZjJuZyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJUaFx1MDBlYW0gY1x1MWVkOXQgYlx1MDBlYW4gdHJcdTAwZTFpIiwKIlNwbGl0IGNlbGwiOiAiQ2hpYSBjXHUxZWFmdCBcdTAwZjQiLAoiQ2VsbCBwYWRkaW5nIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCB0cm9uZyBcdTAwZjQiLAoiQ2VsbCBzcGFjaW5nIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCBcdTAwZjQiLAoiUm93IHR5cGUiOiAiVGhcdTFlYzMgbG9cdTFlYTFpIGRcdTAwZjJuZyIsCiJJbnNlcnQgdGFibGUiOiAiVGhcdTAwZWFtIGJcdTFlYTNuZyIsCiJCb2R5IjogIk5cdTFlZDlpIGR1bmciLAoiQ2FwdGlvbiI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIiwKIkZvb3RlciI6ICJDaFx1MDBlMm4iLAoiRGVsZXRlIHJvdyI6ICJYb1x1MDBlMSBkXHUwMGYybmciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJEXHUwMGUxbiB2XHUwMGUwbyBwaFx1MDBlZGEgdHJcdTAxYjBcdTFlZGJjLCB0clx1MDBlYW4iLAoiU2NvcGUiOiAiUXV5XHUxZWMxbiIsCiJEZWxldGUgdGFibGUiOiAiWG9cdTAwZTEgYlx1MWVhM25nIiwKIkggQWxpZ24iOiAiTFx1MWVjMSBuZ2FuZyIsCiJUb3AiOiAiVHJcdTAwZWFuIiwKIkhlYWRlciBjZWxsIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgXHUwMGY0IiwKIkNvbHVtbiI6ICJDXHUxZWQ5dCIsCiJSb3cgZ3JvdXAiOiAiR29tIG5oXHUwMGYzbSBkXHUwMGYybmciLAoiQ2VsbCI6ICJcdTAwZDQiLAoiTWlkZGxlIjogIktob1x1MWVhM25nIGdpXHUxZWVmYSIsCiJDZWxsIHR5cGUiOiAiTG9cdTFlYTFpIFx1MDBmNCIsCiJDb3B5IHJvdyI6ICJTYW8gY2hcdTAwZTlwIGRcdTAwZjJuZyIsCiJSb3cgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCBkXHUwMGYybmciLAoiVGFibGUgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCBiXHUxZWEzbmciLAoiQm90dG9tIjogIkRcdTAxYjBcdTFlZGJpIiwKIlYgQWxpZ24iOiAiTFx1MWVjMSBkXHUxZWNkYyIsCiJIZWFkZXIiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSIsCiJSaWdodCI6ICJQaFx1MWVhM2kiLAoiSW5zZXJ0IGNvbHVtbiBhZnRlciI6ICJUaFx1MDBlYW0gY1x1MWVkOXQgYlx1MDBlYW4gcGhcdTFlYTNpIiwKIkNvbHMiOiAiQ1x1MWVkOXQiLAoiSW5zZXJ0IHJvdyBhZnRlciI6ICJUaFx1MDBlYW0gZFx1MDBmMm5nIHBoXHUwMGVkYSBkXHUwMWIwXHUxZWRiaSIsCiJXaWR0aCI6ICJcdTAxMTBcdTFlZDkgUlx1MWVkOW5nIiwKIkNlbGwgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCBcdTAwZjQiLAoiTGVmdCI6ICJUclx1MDBlMWkiLAoiQ3V0IHJvdyI6ICJDXHUxZWFmdCBkXHUwMGYybmciLAoiRGVsZXRlIGNvbHVtbiI6ICJYb1x1MDBlMSBjXHUxZWQ5dCIsCiJDZW50ZXIiOiAiR2lcdTFlZWZhIiwKIk1lcmdlIGNlbGxzIjogIlRyXHUxZWQ5biBcdTAwZjQiLAoiSW5zZXJ0IHRlbXBsYXRlIjogIlRoXHUwMGVhbSBtXHUxZWFidSIsCiJUZW1wbGF0ZXMiOiAiTVx1MWVhYnUiLAoiQmFja2dyb3VuZCBjb2xvciI6ICJNXHUwMGUwdSBuXHUxZWMxbiIsCiJDdXN0b20uLi4iOiAiVHVcdTFlZjMgY2hcdTFlYzluaC4uLiIsCiJDdXN0b20gY29sb3IiOiAiVHVcdTFlZjMgY2hcdTFlYzluaCBtXHUwMGUwdSIsCiJObyBjb2xvciI6ICJLaFx1MDBmNG5nIGNcdTAwZjMgbVx1MDBlMHUiLAoiVGV4dCBjb2xvciI6ICJNXHUwMGUwdSB2XHUwMTAzbiBiXHUxZWEzbiIsCiJTaG93IGJsb2NrcyI6ICJIaVx1MWVjM24gdGhcdTFlY2Iga2hcdTFlZDFpIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiSGlcdTFlYzNuIHRoXHUxZWNiIGtcdTAwZmQgdFx1MWVmMSBcdTFlYTluIiwKIldvcmRzOiB7MH0iOiAiVFx1MWVlYjogezB9IiwKIkluc2VydCI6ICJDaFx1MDBlOG4iLAoiRmlsZSI6ICJUXHUxZWFkcCB0aW4iLAoiRWRpdCI6ICJTXHUxZWVkYSIsCiJSaWNoIFRleHQgQXJlYS4gUHJlc3MgQUxULUY5IGZvciBtZW51LiBQcmVzcyBBTFQtRjEwIGZvciB0b29sYmFyLiBQcmVzcyBBTFQtMCBmb3IgaGVscCI6ICJSaWNoIFRleHQgQXJlYS4gQlx1MWVhNW0gQUxULUY5IG1cdTFlZGYgbWVudS4gQlx1MWVhNW0gQUxULUYxMCBtXHUxZWRmIHRoYW5oIGNcdTAwZjRuZyBjXHUxZWU1LiBCXHUxZWE1bSBBTFQtMCBtXHUxZWRmIHRyXHUxZWUzIGdpXHUwMGZhcCIsCiJUb29scyI6ICJDXHUwMGY0bmcgY1x1MWVlNSIsCiJWaWV3IjogIlhlbSIsCiJUYWJsZSI6ICJCXHUxZWEzbmciLAoiRm9ybWF0IjogIlx1MDExMFx1MWVjYm5oIGRcdTFlYTFuZyIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/vi_VN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd2aV9WTicsewoiQ3V0IjogIkNcdTFlYWZ0IiwKIkhlYWRpbmcgNSI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIDUiLAoiSGVhZGVyIDIiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSAyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlRyXHUwMGVjbmggZHV5XHUxZWM3dCBjXHUxZWU3YSBiXHUxZWExbiBraFx1MDBmNG5nIGhcdTFlZDcgdHJcdTFlZTMgdHJ1eSBjXHUxZWFkcCBjbGlwYm9hcmQsIHZ1aSBsXHUwMGYybmcgc1x1MWVlZCBkXHUxZWU1bmcgY1x1MDBlMWMgdFx1MWVkNSBoXHUxZWUzcCBDdHJsICsgWCwgQywgVi4iLAoiSGVhZGluZyA0IjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgNCIsCiJEaXYiOiAiS2h1bmciLAoiSGVhZGluZyAyIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgMiIsCiJQYXN0ZSI6ICJEXHUwMGUxbiIsCiJDbG9zZSI6ICJcdTAxMTBcdTAwZjNuZyIsCiJGb250IEZhbWlseSI6ICJQaFx1MDBmNG5nIiwKIlByZSI6ICJcdTAxMTBcdTFlY2JuaCBkXHUxZWExbmciLAoiQWxpZ24gcmlnaHQiOiAiQ2FuaCBwaFx1MWVhM2kiLAoiTmV3IGRvY3VtZW50IjogIlRcdTFlYTFvIHRcdTAwZTBpIGxpXHUxZWM3dSBtXHUxZWRiaSIsCiJCbG9ja3F1b3RlIjogIlRyXHUwMGVkY2giLAoiTnVtYmVyZWQgbGlzdCI6ICJEYW5oIHNcdTAwZTFjaCBzXHUxZWQxIiwKIkhlYWRpbmcgMSI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIDEiLAoiSGVhZGluZ3MiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSIsCiJJbmNyZWFzZSBpbmRlbnQiOiAiTFx1MDBmOWkgdlx1MDBlMG8iLAoiRm9ybWF0cyI6ICJcdTAxMTBcdTFlY2JuaCBkXHUxZWExbmciLAoiSGVhZGVycyI6ICJcdTAxMTBcdTFlYTd1IHRyYW5nIiwKIlNlbGVjdCBhbGwiOiAiQ2hcdTFlY2RuIHRcdTFlYTV0IGNcdTFlYTMiLAoiSGVhZGVyIDMiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSAzIiwKIkJsb2NrcyI6ICJCYW8iLAoiVW5kbyI6ICJIdVx1MWVmNyB0aGFvIHRcdTAwZTFjIiwKIlN0cmlrZXRocm91Z2giOiAiR1x1MWVhMWNoIG5nYW5nIiwKIkJ1bGxldCBsaXN0IjogIkRcdTFlYTV1IFx1MDExMVx1MWVhN3UgZFx1MDBmMm5nIiwKIkhlYWRlciAxIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgMSIsCiJTdXBlcnNjcmlwdCI6ICJUclx1MDBlYW4gZFx1MDBmMm5nIiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiWG9cdTAwZTEgXHUwMTExXHUxZWNibmggZFx1MWVhMW5nIiwKIkZvbnQgU2l6ZXMiOiAiS1x1MDBlZGNoIHRoXHUwMWIwXHUxZWRiYyBwaFx1MDBmNG5nIiwKIlN1YnNjcmlwdCI6ICJEXHUwMWIwXHUxZWRiaSBkXHUwMGYybmciLAoiSGVhZGVyIDYiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSA2IiwKIlJlZG8iOiAiSG9cdTAwZTBuIHRcdTAwZTF0IiwKIlBhcmFncmFwaCI6ICJcdTAxMTBvXHUxZWExbiB2XHUwMTAzbiIsCiJPayI6ICJPSyIsCiJCb2xkIjogIlRcdTAwZjQgXHUwMTExXHUxZWFkbSIsCiJDb2RlIjogIk1cdTAwZTMiLAoiSXRhbGljIjogIkluIG5naGlcdTAwZWFuZyIsCiJBbGlnbiBjZW50ZXIiOiAiQ2FuaCBnaVx1MWVlZmEiLAoiSGVhZGVyIDUiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSA1IiwKIkhlYWRpbmcgNiI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIDYiLAoiSGVhZGluZyAzIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgMyIsCiJEZWNyZWFzZSBpbmRlbnQiOiAiTFx1MDBmOWkgcmEiLAoiSGVhZGVyIDQiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSA0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJEXHUwMGUxbiBiXHUwMGUyeSBnaVx1MWVkZCBsXHUwMGUwIFx1MWVkZiBjaFx1MWViZiBcdTAxMTFcdTFlZDkgdlx1MDEwM24gYlx1MWVhM24gXHUwMTExXHUwMWExbiBnaVx1MWVhM24uIE5cdTFlZDlpIGR1bmcgc1x1MWViZCBcdTAxMTFcdTAxYjBcdTFlZTNjIGRcdTAwZTFuIG5oXHUwMWIwIFx1MDExMVx1MWVkM25nIGJcdTFlYjFuZyB2XHUwMTAzbiBiXHUxZWEzbiBjaG8gXHUwMTExXHUxZWJmbiBraGkgYlx1MWVhMW4gY2h1eVx1MWVjM24gXHUwMTExXHUxZWQ1aSB0XHUwMGY5eSBjaFx1MWVjZG4gblx1MDBlMHkuIiwKIlVuZGVybGluZSI6ICJHXHUxZWExY2ggZFx1MDFiMFx1MWVkYmkiLAoiQ2FuY2VsIjogIkh1XHUxZWY3IiwKIkp1c3RpZnkiOiAiQ2FuaCBcdTAxMTFcdTFlYzF1IGhhaSBiXHUwMGVhbiIsCiJJbmxpbmUiOiAiQ1x1MDBmOW5nIGRcdTAwZjJuZyIsCiJDb3B5IjogIkNoXHUwMGU5cCIsCiJBbGlnbiBsZWZ0IjogIkNhbmggdHJcdTAwZTFpIiwKIlZpc3VhbCBhaWRzIjogIkhpXHUxZWM3biBraHVuZyBzb1x1MWVhMW4gdGhcdTFlYTNvIiwKIkxvd2VyIEdyZWVrIjogIlNcdTFlZDEgaHkgbFx1MWVhMXAgdGhcdTAxYjBcdTFlZGRuZyIsCiJTcXVhcmUiOiAiXHUwMGQ0IHZ1XHUwMGY0bmciLAoiRGVmYXVsdCI6ICJOZ1x1MWVhN20gXHUwMTExXHUxZWNibmgiLAoiTG93ZXIgQWxwaGEiOiAiS1x1MDBmZCB0XHUxZWYxIHRoXHUwMWIwXHUxZWRkbmciLAoiQ2lyY2xlIjogIkhcdTAwZWNuaCB0clx1MDBmMm4iLAoiRGlzYyI6ICJIXHUwMGVjbmggdHJcdTAwZjJuIG1cdTFlY2ZuZyIsCiJVcHBlciBBbHBoYSI6ICJLXHUwMGZkIHRcdTFlZjEgaG9hIiwKIlVwcGVyIFJvbWFuIjogIlNcdTFlZDEgbGEgbVx1MDBlMyBob2EiLAoiTG93ZXIgUm9tYW4iOiAiU1x1MWVkMSBsYSBtXHUwMGUzIHRoXHUwMWIwXHUxZWRkbmciLAoiTmFtZSI6ICJUXHUwMGVhbiIsCiJBbmNob3IiOiAiTmVvIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiQlx1MWVhMW4gY2hcdTAxYjBhIGxcdTAxYjB1IGNcdTAwZTFjIHRoYXkgXHUwMTExXHUxZWQ1aSwgYlx1MWVhMW4gY1x1MDBmMyB0aFx1MWVhZHQgc1x1MWVmMSBtdVx1MWVkMW4gXHUwMTExXHUwMGYzbmcgPyIsCiJSZXN0b3JlIGxhc3QgZHJhZnQiOiAiUGhcdTFlZTVjIGhcdTFlZDNpIGJcdTFlYTNuIGxcdTAxYjB1IGdcdTFlYTduIG5oXHUxZWE1dCIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJLXHUwMGZkIHRcdTFlZjEgXHUwMTExXHUxZWI3YyBiaVx1MWVjN3QiLAoiU291cmNlIGNvZGUiOiAiTVx1MDBlMyBuZ3VcdTFlZDNuIiwKIkNvbG9yIjogIk1cdTAwZTB1IiwKIlJpZ2h0IHRvIGxlZnQiOiAiUGhcdTFlYTNpIHNhbmcgdHJcdTAwZTFpIiwKIkxlZnQgdG8gcmlnaHQiOiAiVHJcdTAwZTFpIHNhbmcgcGhcdTFlYTNpIiwKIkVtb3RpY29ucyI6ICJCaVx1MWVjM3UgdFx1MDFiMFx1MWVlM25nIGNcdTFlYTNtIHhcdTAwZmFjIiwKIlJvYm90cyI6ICJSb2JvdHMiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCB0XHUwMGUwaSBsaVx1MWVjN3UiLAoiVGl0bGUiOiAiVGlcdTAwZWF1IFx1MDExMVx1MWVjMSIsCiJLZXl3b3JkcyI6ICJUXHUxZWViIGtob1x1MDBlMSIsCiJFbmNvZGluZyI6ICJNXHUwMGUzIGhvXHUwMGUxIiwKIkRlc2NyaXB0aW9uIjogIk1pXHUwMGVhdSB0XHUxZWEzIiwKIkF1dGhvciI6ICJOZW8iLAoiRnVsbHNjcmVlbiI6ICJcdTAxMTBcdTFlYTd5IG1cdTAwZTBuIGhcdTAwZWNuaCIsCiJIb3Jpem9udGFsIGxpbmUiOiAiR1x1MWVhMWNoIG5nYW5nIiwKIkhvcml6b250YWwgc3BhY2UiOiAiS2hvXHUxZWEzbmcgY1x1MDBlMWNoIG5nYW5nIiwKIkluc2VydFwvZWRpdCBpbWFnZSI6ICJUaFx1MDBlYW0gXC8gc1x1MWVlZGEgaFx1MDBlY25oIFx1MWVhM25oIiwKIkdlbmVyYWwiOiAiVFx1MWVkNW5nIGhcdTFlZTNwIiwKIkFkdmFuY2VkIjogIk5cdTAwZTJuZyBjYW8iLAoiU291cmNlIjogIk5ndVx1MWVkM24iLAoiQm9yZGVyIjogIlx1MDExMFx1MDFiMFx1MWVkZG5nIHZpXHUxZWMxbiIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiSFx1MWVhMW4gY2hcdTFlYmYgdFx1MWVmNyBsXHUxZWM3IiwKIlZlcnRpY2FsIHNwYWNlIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCBkXHUxZWNkYyIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJNaVx1MDBlYXUgdFx1MWVhMyBoXHUwMGVjbmggXHUxZWEzbmgiLAoiU3R5bGUiOiAiS2lcdTFlYzN1IiwKIkRpbWVuc2lvbnMiOiAiS1x1MDBlZGNoIHRoXHUwMWIwXHUxZWRiYyIsCiJJbnNlcnQgaW1hZ2UiOiAiQ2hcdTAwZThuIFx1MWVhM25oIiwKIkluc2VydCBkYXRlXC90aW1lIjogIlRoXHUwMGVhbSBuZ1x1MDBlMHkgXC8gZ2lcdTFlZGQiLAoiUmVtb3ZlIGxpbmsiOiAiWG9cdTAwZTEgbGlcdTAwZWFuIGtcdTFlYmZ0IiwKIlVybCI6ICJMaVx1MDBlYW4ga1x1MWViZnQiLAoiVGV4dCB0byBkaXNwbGF5IjogIkNoXHUxZWVmIGhpXHUxZWMzbiB0aFx1MWVjYiIsCiJBbmNob3JzIjogIkdoaW0iLAoiSW5zZXJ0IGxpbmsiOiAiVGhcdTAwZWFtIGxpXHUwMGVhbiBrXHUxZWJmdCIsCiJOZXcgd2luZG93IjogIkNcdTFlZWRhIHNcdTFlZDUgbVx1MWVkYmkiLAoiTm9uZSI6ICJLaFx1MDBmNG5nIiwKIlRoZSBVUkwgeW91IGVudGVyZWQgc2VlbXMgdG8gYmUgYW4gZXh0ZXJuYWwgbGluay4gRG8geW91IHdhbnQgdG8gYWRkIHRoZSByZXF1aXJlZCBodHRwOlwvXC8gcHJlZml4PyI6ICJVUkwgYlx1MWVhMW4gbmhcdTFlYWRwIHZcdTAwZTBvIGNcdTAwZjMgdlx1MWViYiBsXHUwMGUwIG1cdTFlZDl0IGxpXHUwMGVhbiBrXHUxZWJmdCBiXHUwMGVhbiBuZ29cdTAwZTBpLiBCXHUxZWExbiBjXHUwMGYzIG11XHUxZWQxbiB0aFx1MDBlYW0gdGlcdTFlYzFuIHRcdTFlZDEgaHR0cDpcL1wvIGNcdTFlYTduIHRoaVx1MWViZnQ/IiwKIlRhcmdldCI6ICJNXHUxZWU1YyB0aVx1MDBlYXUiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBlbWFpbCBhZGRyZXNzLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIG1haWx0bzogcHJlZml4PyI6ICJVUkwgYlx1MWVhMW4gbmhcdTFlYWRwIHZcdTAwZTBvIGNcdTAwZjMgdlx1MWViYiBsXHUwMGUwIG1cdTFlZDl0IFx1MDExMVx1MWVjYmEgY2hcdTFlYzkgZW1haWwuIEJcdTFlYTFuIGNcdTAwZjMgbXVcdTFlZDFuIHRoXHUwMGVhbSBjXHUwMGUxYyB5XHUwMGVhdSBjXHUxZWE3dSBtYWlsdG86IHRpXHUxZWMxbiB0XHUxZWQxPyIsCiJJbnNlcnRcL2VkaXQgbGluayI6ICJUaFx1MDBlYW0gXC8gc1x1MWVlZGEgbGlcdTAwZWFuIGtcdTFlYmZ0IiwKIkluc2VydFwvZWRpdCB2aWRlbyI6ICJUaFx1MDBlYW0gXC8gc1x1MWVlZGEgdmlkZW8iLAoiUG9zdGVyIjogIk5nXHUwMWIwXHUxZWRkaSBcdTAxMTFcdTAxMDNuZyIsCiJBbHRlcm5hdGl2ZSBzb3VyY2UiOiAiTmd1XHUxZWQzbiB0aGF5IHRoXHUxZWJmIiwKIlBhc3RlIHlvdXIgZW1iZWQgY29kZSBiZWxvdzoiOiAiRFx1MDBlMW4gbVx1MDBlMyBlbWJlZCB2XHUwMGUwbzoiLAoiSW5zZXJ0IHZpZGVvIjogIlRoXHUwMGVhbSB2aWRlbyIsCiJFbWJlZCI6ICJFbWJlZCIsCiJOb25icmVha2luZyBzcGFjZSI6ICJLaFx1MDBmNG5nIG5nXHUxZWFmdCBraG9cdTFlYTNuZyIsCiJQYWdlIGJyZWFrIjogIk5nXHUxZWFmdCB0cmFuZyIsCiJQYXN0ZSBhcyB0ZXh0IjogIkRcdTAwZTFuIG5oXHUwMWIwIHZcdTAxMDNuIGJcdTFlYTNuIiwKIlByZXZpZXciOiAiWGVtIHRyXHUwMWIwXHUxZWRiYyIsCiJQcmludCI6ICJJbiIsCiJTYXZlIjogIkxcdTAxYjB1IiwKIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiI6ICJLaFx1MDBmNG5nIHRcdTAwZWNtIHRoXHUxZWE1eSBjaHVcdTFlZDdpIHlcdTAwZWF1IGNcdTFlYTd1IiwKIlJlcGxhY2UiOiAiVGhheSB0aFx1MWViZiIsCiJOZXh0IjogIlNhdSIsCiJXaG9sZSB3b3JkcyI6ICJUXHUxZWE1dCBjXHUxZWEzIFx1MDExMW9cdTFlYTFuIiwKIkZpbmQgYW5kIHJlcGxhY2UiOiAiVFx1MDBlY20gdlx1MDBlMCB0aGF5IHRoXHUxZWJmIiwKIlJlcGxhY2Ugd2l0aCI6ICJUaGF5IHRoXHUxZWJmIGJcdTFlYjFuZyIsCiJGaW5kIjogIlRcdTAwZWNtIiwKIlJlcGxhY2UgYWxsIjogIlRoYXkgdGhcdTFlYmYgdFx1MWVhNXQgY1x1MWVhMyIsCiJNYXRjaCBjYXNlIjogIlBoXHUwMGUybiBiaVx1MWVjN3QgaG9hIHRoXHUwMWIwXHUxZWRkbmciLAoiUHJldiI6ICJUclx1MDFiMFx1MWVkYmMiLAoiU3BlbGxjaGVjayI6ICJLaVx1MWVjM20gdHJhIGNoXHUwMGVkbmggdFx1MWVhMyIsCiJGaW5pc2giOiAiSG9cdTAwZTBuIHRcdTFlYTV0IiwKIklnbm9yZSBhbGwiOiAiTFx1MWVkZCB0XHUxZWE1dCBjXHUxZWEzIiwKIklnbm9yZSI6ICJMXHUxZWRkIHF1YSIsCiJBZGQgdG8gRGljdGlvbmFyeSI6ICJUaFx1MDBlYW0gdlx1MDBlMG8gdFx1MWVlYiBcdTAxMTFpXHUxZWMzbiIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJUaFx1MDBlYW0gZFx1MDBmMm5nIHBoXHUwMGVkYSB0clx1MDBlYW4iLAoiUm93cyI6ICJEXHUwMGYybmciLAoiSGVpZ2h0IjogIkNhbyIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiRFx1MDBlMW4gdlx1MDBlMG8gcGhcdTAwZWRhIHNhdSwgZFx1MDFiMFx1MWVkYmkiLAoiQWxpZ25tZW50IjogIkNhbmggY2hcdTFlYzluaCIsCiJCb3JkZXIgY29sb3IiOiAiTVx1MDBlMHUgdmlcdTFlYzFuIiwKIkNvbHVtbiBncm91cCI6ICJOaFx1MDBmM20gY1x1MWVkOXQiLAoiUm93IjogIkRcdTAwZjJuZyIsCiJJbnNlcnQgY29sdW1uIGJlZm9yZSI6ICJUaFx1MDBlYW0gY1x1MWVkOXQgYlx1MDBlYW4gdHJcdTAwZTFpIiwKIlNwbGl0IGNlbGwiOiAiQ2hpYSBcdTAwZjQiLAoiQ2VsbCBwYWRkaW5nIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCB0cm9uZyBcdTAwZjQiLAoiQ2VsbCBzcGFjaW5nIjogIktob1x1MWVhM25nIGNcdTAwZTFjaCBcdTAwZjQiLAoiUm93IHR5cGUiOiAiTG9cdTFlYTFpIGRcdTAwZjJuZyIsCiJJbnNlcnQgdGFibGUiOiAiVGhcdTAwZWFtIGJcdTFlYTNuZyIsCiJCb2R5IjogIk5cdTFlZDlpIGR1bmciLAoiQ2FwdGlvbiI6ICJUaVx1MDBlYXUgXHUwMTExXHUxZWMxIiwKIkZvb3RlciI6ICJDaFx1MDBlMm4iLAoiRGVsZXRlIHJvdyI6ICJYb1x1MDBlMSBkXHUwMGYybmciLAoiUGFzdGUgcm93IGJlZm9yZSI6ICJEXHUwMGUxbiB2XHUwMGUwbyBwaFx1MDBlZGEgdHJcdTAxYjBcdTFlZGJjLCB0clx1MDBlYW4iLAoiU2NvcGUiOiAiUXV5XHUxZWMxbiIsCiJEZWxldGUgdGFibGUiOiAiWG9cdTAwZTEgYlx1MWVhM25nIiwKIkggQWxpZ24iOiAiWFx1MWViZnAgbmdhbmciLAoiVG9wIjogIlx1MDExMFx1MWVjOW5oIiwKIkhlYWRlciBjZWxsIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEgXHUwMGY0IiwKIkNvbHVtbiI6ICJDXHUxZWQ5dCIsCiJSb3cgZ3JvdXAiOiAiTmhcdTAwZjNtIGRcdTAwZjJuZyIsCiJDZWxsIjogIlx1MDBkNCIsCiJNaWRkbGUiOiAiR2lcdTFlZWZhIiwKIkNlbGwgdHlwZSI6ICJMb1x1MWVhMWkgXHUwMGY0IiwKIkNvcHkgcm93IjogIkNoXHUwMGU5cCBkXHUwMGYybmciLAoiUm93IHByb3BlcnRpZXMiOiAiVGh1XHUxZWQ5YyB0XHUwMGVkbmggZFx1MDBmMm5nIiwKIlRhYmxlIHByb3BlcnRpZXMiOiAiVGh1XHUxZWQ5YyB0XHUwMGVkbmggYlx1MWVhM25nIiwKIkJvdHRvbSI6ICJcdTAxMTBcdTAwZTF5IiwKIlYgQWxpZ24iOiAiWFx1MWViZnAgZFx1MWVjZGMiLAoiSGVhZGVyIjogIlRpXHUwMGVhdSBcdTAxMTFcdTFlYzEiLAoiUmlnaHQiOiAiUGhcdTFlYTNpIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiVGhcdTAwZWFtIGNcdTFlZDl0IGJcdTAwZWFuIHBoXHUxZWEzaSIsCiJDb2xzIjogIkNcdTFlZDl0IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiVGhcdTAwZWFtIGRcdTAwZjJuZyBwaFx1MDBlZGEgZFx1MDFiMFx1MWVkYmkiLAoiV2lkdGgiOiAiUlx1MWVkOW5nIiwKIkNlbGwgcHJvcGVydGllcyI6ICJUaHVcdTFlZDljIHRcdTAwZWRuaCBcdTAwZjQiLAoiTGVmdCI6ICJUclx1MDBlMWkiLAoiQ3V0IHJvdyI6ICJDXHUxZWFmdCBkXHUwMGYybmciLAoiRGVsZXRlIGNvbHVtbiI6ICJYb1x1MDBlMSBjXHUxZWQ5dCIsCiJDZW50ZXIiOiAiR2lcdTFlZWZhIiwKIk1lcmdlIGNlbGxzIjogIk5cdTFlZDFpIFx1MDBmNCIsCiJJbnNlcnQgdGVtcGxhdGUiOiAiVGhcdTAwZWFtIG1cdTFlYWJ1IiwKIlRlbXBsYXRlcyI6ICJNXHUxZWFidSIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIk1cdTAwZTB1IG5cdTFlYzFuIiwKIkN1c3RvbS4uLiI6ICJUXHUwMGY5eSBjaFx1MWVjZG4uLi4iLAoiQ3VzdG9tIGNvbG9yIjogIk1cdTAwZTB1IHRcdTAwZjl5IGNoXHUxZWNkbiIsCiJObyBjb2xvciI6ICJLaFx1MDBmNG5nIG1cdTAwZTF1IiwKIlRleHQgY29sb3IiOiAiTVx1MDBlMHUgY2hcdTFlZWYiLAoiU2hvdyBibG9ja3MiOiAiSGlcdTFlYzNuIHRoXHUxZWNiIGtoXHUxZWQxaSIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIkhpXHUxZWMzbiB0aFx1MWVjYiBjXHUwMGUxYyBrXHUwMGZkIHRcdTFlZjEgXHUxZWE5biIsCiJXb3JkczogezB9IjogIlRcdTFlZWI6IHswfSIsCiJJbnNlcnQiOiAiVGhcdTAwZWFtIiwKIkZpbGUiOiAiVFx1MWVhZHAgdGluIiwKIkVkaXQiOiAiU1x1MWVlZGEiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiS2h1IHZcdTFlZjFjIHNvXHUxZWExbiB0aFx1MWVhM28uIE5oXHUxZWE1biBBTFQtRjkgXHUwMTExXHUxZWMzIGhpXHUxZWM3biBtZW51LCBBTFQtRjEwIFx1MDExMVx1MWVjMyBoaVx1MWVjN24gdGhhbmggY1x1MDBmNG5nIGNcdTFlZTUuIENcdTFlYTduIHRyXHUxZWUzIGdpXHUwMGZhcCBuaFx1MWVhNW4gQUxULTAiLAoiVG9vbHMiOiAiQ1x1MDBmNG5nIGNcdTFlZTUiLAoiVmlldyI6ICJYZW0iLAoiVGFibGUiOiAiQlx1MWVhM25nIiwKIkZvcm1hdCI6ICJcdTAxMTBcdTFlY2JuaCBkXHUxZWExbmciCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/zh_CN.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd6aF9DTicsewoiQ3V0IjogIlx1NTI2YVx1NTIwNyIsCiJIZWFkaW5nIDUiOiAiXHU2ODA3XHU5ODk4NSIsCiJIZWFkZXIgMiI6ICJcdTY4MDdcdTk4OTgyIiwKIllvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGlyZWN0IGFjY2VzcyB0byB0aGUgY2xpcGJvYXJkLiBQbGVhc2UgdXNlIHRoZSBDdHJsK1hcL0NcL1Yga2V5Ym9hcmQgc2hvcnRjdXRzIGluc3RlYWQuIjogIlx1NGY2MFx1NzY4NFx1NmQ0Zlx1ODljOFx1NTY2OFx1NGUwZFx1NjUyZlx1NjMwMVx1NWJmOVx1NTI2YVx1OGQzNFx1Njc3Zlx1NzY4NFx1OGJiZlx1OTVlZVx1ZmYwY1x1OGJmN1x1NGY3Zlx1NzUyOEN0cmwrWFwvQ1wvVlx1OTUyZVx1OGZkYlx1ODg0Y1x1NTkwZFx1NTIzNlx1N2M5OFx1OGQzNFx1MzAwMiIsCiJIZWFkaW5nIDQiOiAiXHU2ODA3XHU5ODk4NCIsCiJEaXYiOiAiRGl2XHU1MzNhXHU1NzU3IiwKIkhlYWRpbmcgMiI6ICJcdTY4MDdcdTk4OTgyIiwKIlBhc3RlIjogIlx1N2M5OFx1OGQzNCIsCiJDbG9zZSI6ICJcdTUxNzNcdTk1ZWQiLAoiRm9udCBGYW1pbHkiOiAiXHU1YjU3XHU0ZjUzIiwKIlByZSI6ICJcdTk4ODRcdTY4M2NcdTVmMGZcdTY1ODdcdTY3MmMiLAoiQWxpZ24gcmlnaHQiOiAiXHU1M2YzXHU1YmY5XHU5ZjUwIiwKIk5ldyBkb2N1bWVudCI6ICJcdTY1YjBcdTY1ODdcdTY4NjMiLAoiQmxvY2txdW90ZSI6ICJcdTVmMTVcdTc1MjgiLAoiTnVtYmVyZWQgbGlzdCI6ICJcdTdmMTZcdTUzZjdcdTUyMTdcdTg4NjgiLAoiSGVhZGluZyAxIjogIlx1NjgwN1x1OTg5ODEiLAoiSGVhZGluZ3MiOiAiXHU2ODA3XHU5ODk4IiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTU4OWVcdTUyYTBcdTdmMjlcdThmZGIiLAoiRm9ybWF0cyI6ICJcdTY4M2NcdTVmMGYiLAoiSGVhZGVycyI6ICJcdTY4MDdcdTk4OTgiLAoiU2VsZWN0IGFsbCI6ICJcdTUxNjhcdTkwMDkiLAoiSGVhZGVyIDMiOiAiXHU2ODA3XHU5ODk4MyIsCiJCbG9ja3MiOiAiXHU1MzNhXHU1NzU3IiwKIlVuZG8iOiAiXHU2NGE0XHU2ZDg4IiwKIlN0cmlrZXRocm91Z2giOiAiXHU1MjIwXHU5NjY0XHU3ZWJmIiwKIkJ1bGxldCBsaXN0IjogIlx1OTg3OVx1NzZlZVx1N2IyNlx1NTNmNyIsCiJIZWFkZXIgMSI6ICJcdTY4MDdcdTk4OTgxIiwKIlN1cGVyc2NyaXB0IjogIlx1NGUwYVx1NjgwNyIsCiJDbGVhciBmb3JtYXR0aW5nIjogIlx1NmUwNVx1OTY2NFx1NjgzY1x1NWYwZiIsCiJGb250IFNpemVzIjogIlx1NWI1N1x1NTNmNyIsCiJTdWJzY3JpcHQiOiAiXHU0ZTBiXHU2ODA3IiwKIkhlYWRlciA2IjogIlx1NjgwN1x1OTg5ODYiLAoiUmVkbyI6ICJcdTkxY2RcdTU5MGQiLAoiUGFyYWdyYXBoIjogIlx1NmJiNVx1ODQzZCIsCiJPayI6ICJcdTc4NmVcdTViOWEiLAoiQm9sZCI6ICJcdTdjOTdcdTRmNTMiLAoiQ29kZSI6ICJcdTRlZTNcdTc4MDEiLAoiSXRhbGljIjogIlx1NjU5Y1x1NGY1MyIsCiJBbGlnbiBjZW50ZXIiOiAiXHU1YzQ1XHU0ZTJkIiwKIkhlYWRlciA1IjogIlx1NjgwN1x1OTg5ODUiLAoiSGVhZGluZyA2IjogIlx1NjgwN1x1OTg5ODYiLAoiSGVhZGluZyAzIjogIlx1NjgwN1x1OTg5ODMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1NTFjZlx1NWMxMVx1N2YyOVx1OGZkYiIsCiJIZWFkZXIgNCI6ICJcdTY4MDdcdTk4OTg0IiwKIlBhc3RlIGlzIG5vdyBpbiBwbGFpbiB0ZXh0IG1vZGUuIENvbnRlbnRzIHdpbGwgbm93IGJlIHBhc3RlZCBhcyBwbGFpbiB0ZXh0IHVudGlsIHlvdSB0b2dnbGUgdGhpcyBvcHRpb24gb2ZmLiI6ICJcdTVmNTNcdTUyNGRcdTRlM2FcdTdlYWZcdTY1ODdcdTY3MmNcdTdjOThcdThkMzRcdTZhMjFcdTVmMGZcdWZmMGNcdTUxOGRcdTZiMjFcdTcwYjlcdTUxZmJcdTUzZWZcdTRlZTVcdTU2ZGVcdTUyMzBcdTY2NmVcdTkwMWFcdTdjOThcdThkMzRcdTZhMjFcdTVmMGZcdTMwMDIiLAoiVW5kZXJsaW5lIjogIlx1NGUwYlx1NTIxMlx1N2ViZiIsCiJDYW5jZWwiOiAiXHU1M2Q2XHU2ZDg4IiwKIkp1c3RpZnkiOiAiXHU0ZTI0XHU3YWVmXHU1YmY5XHU5ZjUwIiwKIklubGluZSI6ICJcdTY1ODdcdTY3MmMiLAoiQ29weSI6ICJcdTU5MGRcdTUyMzYiLAoiQWxpZ24gbGVmdCI6ICJcdTVkZTZcdTViZjlcdTlmNTAiLAoiVmlzdWFsIGFpZHMiOiAiXHU3ZjUxXHU2ODNjXHU3ZWJmIiwKIkxvd2VyIEdyZWVrIjogIlx1NWMwZlx1NTE5OVx1NWUwY1x1ODE0YVx1NWI1N1x1NmJjZCIsCiJTcXVhcmUiOiAiXHU2NWI5XHU1NzU3IiwKIkRlZmF1bHQiOiAiXHU5ZWQ4XHU4YmE0IiwKIkxvd2VyIEFscGhhIjogIlx1NWMwZlx1NTE5OVx1ODJmMVx1NjU4N1x1NWI1N1x1NmJjZCIsCiJDaXJjbGUiOiAiXHU3YTdhXHU1ZmMzXHU1NzA2IiwKIkRpc2MiOiAiXHU1YjllXHU1ZmMzXHU1NzA2IiwKIlVwcGVyIEFscGhhIjogIlx1NTkyN1x1NTE5OVx1ODJmMVx1NjU4N1x1NWI1N1x1NmJjZCIsCiJVcHBlciBSb21hbiI6ICJcdTU5MjdcdTUxOTlcdTdmNTdcdTlhNmNcdTViNTdcdTZiY2QiLAoiTG93ZXIgUm9tYW4iOiAiXHU1YzBmXHU1MTk5XHU3ZjU3XHU5YTZjXHU1YjU3XHU2YmNkIiwKIk5hbWUiOiAiXHU1NDBkXHU3OWYwIiwKIkFuY2hvciI6ICJcdTk1MWFcdTcwYjkiLAoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBuYXZpZ2F0ZSBhd2F5PyI6ICJcdTRmNjBcdThmZDhcdTY3MDlcdTY1ODdcdTY4NjNcdTVjMWFcdTY3MmFcdTRmZGRcdTViNThcdWZmMGNcdTc4NmVcdTViOWFcdTg5ODFcdTc5YmJcdTVmMDBcdWZmMWYiLAoiUmVzdG9yZSBsYXN0IGRyYWZ0IjogIlx1NjA2Mlx1NTkwZFx1NGUwYVx1NmIyMVx1NzY4NFx1ODM0OVx1N2EzZiIsCiJTcGVjaWFsIGNoYXJhY3RlciI6ICJcdTcyNzlcdTZiOGFcdTdiMjZcdTUzZjciLAoiU291cmNlIGNvZGUiOiAiXHU2ZTkwXHU0ZWUzXHU3ODAxIiwKIkNvbG9yIjogIlx1OTg5Y1x1ODI3MiIsCiJSaWdodCB0byBsZWZ0IjogIlx1NGVjZVx1NTNmM1x1NTIzMFx1NWRlNiIsCiJMZWZ0IHRvIHJpZ2h0IjogIlx1NGVjZVx1NWRlNlx1NTIzMFx1NTNmMyIsCiJFbW90aWNvbnMiOiAiXHU4ODY4XHU2MGM1IiwKIlJvYm90cyI6ICJcdTY3M2FcdTU2NjhcdTRlYmEiLAoiRG9jdW1lbnQgcHJvcGVydGllcyI6ICJcdTY1ODdcdTY4NjNcdTVjNWVcdTYwMjciLAoiVGl0bGUiOiAiXHU2ODA3XHU5ODk4IiwKIktleXdvcmRzIjogIlx1NTE3M1x1OTUyZVx1OGJjZCIsCiJFbmNvZGluZyI6ICJcdTdmMTZcdTc4MDEiLAoiRGVzY3JpcHRpb24iOiAiXHU2M2NmXHU4ZmYwIiwKIkF1dGhvciI6ICJcdTRmNWNcdTgwMDUiLAoiRnVsbHNjcmVlbiI6ICJcdTUxNjhcdTVjNGYiLAoiSG9yaXpvbnRhbCBsaW5lIjogIlx1NmMzNFx1NWU3M1x1NTIwNlx1NTI3Mlx1N2ViZiIsCiJIb3Jpem9udGFsIHNwYWNlIjogIlx1NmMzNFx1NWU3M1x1OGZiOVx1OGRkZCIsCiJJbnNlcnRcL2VkaXQgaW1hZ2UiOiAiXHU2M2QyXHU1MTY1XC9cdTdmMTZcdThmOTFcdTU2ZmVcdTcyNDciLAoiR2VuZXJhbCI6ICJcdTY2NmVcdTkwMWEiLAoiQWR2YW5jZWQiOiAiXHU5YWQ4XHU3ZWE3IiwKIlNvdXJjZSI6ICJcdTU3MzBcdTU3NDAiLAoiQm9yZGVyIjogIlx1OGZiOVx1Njg0NiIsCiJDb25zdHJhaW4gcHJvcG9ydGlvbnMiOiAiXHU0ZmRkXHU2MzAxXHU3ZWI1XHU2YTJhXHU2YmQ0IiwKIlZlcnRpY2FsIHNwYWNlIjogIlx1NTc4Mlx1NzZmNFx1OGZiOVx1OGRkZCIsCiJJbWFnZSBkZXNjcmlwdGlvbiI6ICJcdTU2ZmVcdTcyNDdcdTYzY2ZcdThmZjAiLAoiU3R5bGUiOiAiXHU2ODM3XHU1ZjBmIiwKIkRpbWVuc2lvbnMiOiAiXHU1OTI3XHU1YzBmIiwKIkluc2VydCBpbWFnZSI6ICJcdTYzZDJcdTUxNjVcdTU2ZmVcdTcyNDciLAoiSW5zZXJ0IGRhdGVcL3RpbWUiOiAiXHU2M2QyXHU1MTY1XHU2NWU1XHU2NzFmXC9cdTY1ZjZcdTk1ZjQiLAoiUmVtb3ZlIGxpbmsiOiAiXHU1MjIwXHU5NjY0XHU5NGZlXHU2M2E1IiwKIlVybCI6ICJcdTU3MzBcdTU3NDAiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1NjYzZVx1NzkzYVx1NjU4N1x1NWI1NyIsCiJBbmNob3JzIjogIlx1OTUxYVx1NzBiOSIsCiJJbnNlcnQgbGluayI6ICJcdTYzZDJcdTUxNjVcdTk0ZmVcdTYzYTUiLAoiTmV3IHdpbmRvdyI6ICJcdTU3MjhcdTY1YjBcdTdhOTdcdTUzZTNcdTYyNTNcdTVmMDAiLAoiTm9uZSI6ICJcdTY1ZTAiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlx1NGY2MFx1NjI0MFx1NTg2Ylx1NTE5OVx1NzY4NFVSTFx1NTczMFx1NTc0MFx1NWM1ZVx1NGU4ZVx1NTkxNlx1OTBlOFx1OTRmZVx1NjNhNVx1ZmYwY1x1OTcwMFx1ODk4MVx1NTJhMFx1NGUwYWh0dHA6XC9cLzpcdTUyNGRcdTdmMDBcdTU0MTdcdWZmMWYiLAoiVGFyZ2V0IjogIlx1NjI1M1x1NWYwMFx1NjViOVx1NWYwZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1NGY2MFx1NjI0MFx1NTg2Ylx1NTE5OVx1NzY4NFVSTFx1NTczMFx1NTc0MFx1OGM4Y1x1NGYzY1x1NjYyZlx1OTBhZVx1NGVmNlx1NTczMFx1NTc0MFx1ZmYwY1x1OTcwMFx1ODk4MVx1NTJhMFx1NGUwYW1haWx0bzpcdTUyNGRcdTdmMDBcdTU0MTdcdWZmMWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHU2M2QyXHU1MTY1XC9cdTdmMTZcdThmOTFcdTk0ZmVcdTYzYTUiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1NjNkMlx1NTE2NVwvXHU3ZjE2XHU4ZjkxXHU4OWM2XHU5ODkxIiwKIlBvc3RlciI6ICJcdTVjMDFcdTk3NjIiLAoiQWx0ZXJuYXRpdmUgc291cmNlIjogIlx1OTU1Y1x1NTBjZiIsCiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6IjogIlx1NWMwNlx1NTE4NVx1NWQ0Y1x1NGVlM1x1NzgwMVx1N2M5OFx1OGQzNFx1NTcyOFx1NGUwYlx1OTc2MjoiLAoiSW5zZXJ0IHZpZGVvIjogIlx1NjNkMlx1NTE2NVx1ODljNlx1OTg5MSIsCiJFbWJlZCI6ICJcdTUxODVcdTVkNGMiLAoiTm9uYnJlYWtpbmcgc3BhY2UiOiAiXHU0ZTBkXHU5NWY0XHU2NWFkXHU3YTdhXHU2ODNjIiwKIlBhZ2UgYnJlYWsiOiAiXHU1MjA2XHU5ODc1XHU3YjI2IiwKIlBhc3RlIGFzIHRleHQiOiAiXHU3Yzk4XHU4ZDM0XHU0ZTNhXHU2NTg3XHU2NzJjIiwKIlByZXZpZXciOiAiXHU5ODg0XHU4OWM4IiwKIlByaW50IjogIlx1NjI1M1x1NTM3MCIsCiJTYXZlIjogIlx1NGZkZFx1NWI1OCIsCiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIHN0cmluZy4iOiAiXHU2NzJhXHU2MjdlXHU1MjMwXHU2NDFjXHU3ZDIyXHU1MTg1XHU1YmI5LiIsCiJSZXBsYWNlIjogIlx1NjZmZlx1NjM2MiIsCiJOZXh0IjogIlx1NGUwYlx1NGUwMFx1NGUyYSIsCiJXaG9sZSB3b3JkcyI6ICJcdTUxNjhcdTViNTdcdTUzMzlcdTkxNGQiLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTY3ZTVcdTYyN2VcdTU0OGNcdTY2ZmZcdTYzNjIiLAoiUmVwbGFjZSB3aXRoIjogIlx1NjZmZlx1NjM2Mlx1NGUzYSIsCiJGaW5kIjogIlx1NjdlNVx1NjI3ZSIsCiJSZXBsYWNlIGFsbCI6ICJcdTUxNjhcdTkwZThcdTY2ZmZcdTYzNjIiLAoiTWF0Y2ggY2FzZSI6ICJcdTUzM2FcdTUyMDZcdTU5MjdcdTVjMGZcdTUxOTkiLAoiUHJldiI6ICJcdTRlMGFcdTRlMDBcdTRlMmEiLAoiU3BlbGxjaGVjayI6ICJcdTYyZmNcdTUxOTlcdTY4YzBcdTY3ZTUiLAoiRmluaXNoIjogIlx1NWI4Y1x1NjIxMCIsCiJJZ25vcmUgYWxsIjogIlx1NTE2OFx1OTBlOFx1NWZmZFx1NzU2NSIsCiJJZ25vcmUiOiAiXHU1ZmZkXHU3NTY1IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1NmRmYlx1NTJhMFx1NTIzMFx1NWI1N1x1NTE3OCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTU3MjhcdTRlMGFcdTY1YjlcdTYzZDJcdTUxNjUiLAoiUm93cyI6ICJcdTg4NGMiLAoiSGVpZ2h0IjogIlx1OWFkOCIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHU3Yzk4XHU4ZDM0XHU1MjMwXHU0ZTBiXHU2NWI5IiwKIkFsaWdubWVudCI6ICJcdTViZjlcdTlmNTBcdTY1YjlcdTVmMGYiLAoiQm9yZGVyIGNvbG9yIjogIlx1OGZiOVx1Njg0Nlx1OTg5Y1x1ODI3MiIsCiJDb2x1bW4gZ3JvdXAiOiAiXHU1MjE3XHU3ZWM0IiwKIlJvdyI6ICJcdTg4NGMiLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHU1NzI4XHU1ZGU2XHU0ZmE3XHU2M2QyXHU1MTY1IiwKIlNwbGl0IGNlbGwiOiAiXHU2MmM2XHU1MjA2XHU1MzU1XHU1MTQzXHU2ODNjIiwKIkNlbGwgcGFkZGluZyI6ICJcdTUzNTVcdTUxNDNcdTY4M2NcdTUxODVcdThmYjlcdThkZGQiLAoiQ2VsbCBzcGFjaW5nIjogIlx1NTM1NVx1NTE0M1x1NjgzY1x1NTkxNlx1OTVmNFx1OGRkZCIsCiJSb3cgdHlwZSI6ICJcdTg4NGNcdTdjN2JcdTU3OGIiLAoiSW5zZXJ0IHRhYmxlIjogIlx1NjNkMlx1NTE2NVx1ODg2OFx1NjgzYyIsCiJCb2R5IjogIlx1ODg2OFx1NGY1MyIsCiJDYXB0aW9uIjogIlx1NjgwN1x1OTg5OCIsCiJGb290ZXIiOiAiXHU4ODY4XHU1YzNlIiwKIkRlbGV0ZSByb3ciOiAiXHU1MjIwXHU5NjY0XHU4ODRjIiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHU3Yzk4XHU4ZDM0XHU1MjMwXHU0ZTBhXHU2NWI5IiwKIlNjb3BlIjogIlx1ODMwM1x1NTZmNCIsCiJEZWxldGUgdGFibGUiOiAiXHU1MjIwXHU5NjY0XHU4ODY4XHU2ODNjIiwKIkggQWxpZ24iOiAiXHU2YzM0XHU1ZTczXHU1YmY5XHU5ZjUwIiwKIlRvcCI6ICJcdTk4NzZcdTkwZThcdTViZjlcdTlmNTAiLAoiSGVhZGVyIGNlbGwiOiAiXHU4ODY4XHU1OTM0XHU1MzU1XHU1MTQzXHU2ODNjIiwKIkNvbHVtbiI6ICJcdTUyMTciLAoiUm93IGdyb3VwIjogIlx1ODg0Y1x1N2VjNCIsCiJDZWxsIjogIlx1NTM1NVx1NTE0M1x1NjgzYyIsCiJNaWRkbGUiOiAiXHU1NzgyXHU3NmY0XHU1YzQ1XHU0ZTJkIiwKIkNlbGwgdHlwZSI6ICJcdTUzNTVcdTUxNDNcdTY4M2NcdTdjN2JcdTU3OGIiLAoiQ29weSByb3ciOiAiXHU1OTBkXHU1MjM2XHU4ODRjIiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1ODg0Y1x1NWM1ZVx1NjAyNyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1ODg2OFx1NjgzY1x1NWM1ZVx1NjAyNyIsCiJCb3R0b20iOiAiXHU1ZTk1XHU5MGU4XHU1YmY5XHU5ZjUwIiwKIlYgQWxpZ24iOiAiXHU1NzgyXHU3NmY0XHU1YmY5XHU5ZjUwIiwKIkhlYWRlciI6ICJcdTg4NjhcdTU5MzQiLAoiUmlnaHQiOiAiXHU1M2YzXHU1YmY5XHU5ZjUwIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHU1NzI4XHU1M2YzXHU0ZmE3XHU2M2QyXHU1MTY1IiwKIkNvbHMiOiAiXHU1MjE3IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHU1NzI4XHU0ZTBiXHU2NWI5XHU2M2QyXHU1MTY1IiwKIldpZHRoIjogIlx1NWJiZCIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHU1MzU1XHU1MTQzXHU2ODNjXHU1YzVlXHU2MDI3IiwKIkxlZnQiOiAiXHU1ZGU2XHU1YmY5XHU5ZjUwIiwKIkN1dCByb3ciOiAiXHU1MjZhXHU1MjA3XHU4ODRjIiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHU1MjIwXHU5NjY0XHU1MjE3IiwKIkNlbnRlciI6ICJcdTVjNDVcdTRlMmQiLAoiTWVyZ2UgY2VsbHMiOiAiXHU1NDA4XHU1ZTc2XHU1MzU1XHU1MTQzXHU2ODNjIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTYzZDJcdTUxNjVcdTZhMjFcdTY3N2YiLAoiVGVtcGxhdGVzIjogIlx1NmEyMVx1Njc3ZiIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1ODBjY1x1NjY2Zlx1ODI3MiIsCiJDdXN0b20uLi4iOiAiXHU4MWVhXHU1YjlhXHU0ZTQ5Li4uIiwKIkN1c3RvbSBjb2xvciI6ICJcdTgxZWFcdTViOWFcdTRlNDlcdTk4OWNcdTgyNzIiLAoiTm8gY29sb3IiOiAiXHU2NWUwIiwKIlRleHQgY29sb3IiOiAiXHU2NTg3XHU1YjU3XHU5ODljXHU4MjcyIiwKIlNob3cgYmxvY2tzIjogIlx1NjYzZVx1NzkzYVx1NTMzYVx1NTc1N1x1OGZiOVx1Njg0NiIsCiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIjogIlx1NjYzZVx1NzkzYVx1NGUwZFx1NTNlZlx1ODljMVx1NWI1N1x1N2IyNiIsCiJXb3JkczogezB9IjogIlx1NWI1N1x1NjU3MFx1ZmYxYXswfSIsCiJJbnNlcnQiOiAiXHU2M2QyXHU1MTY1IiwKIkZpbGUiOiAiXHU2NTg3XHU0ZWY2IiwKIkVkaXQiOiAiXHU3ZjE2XHU4ZjkxIiwKIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIjogIlx1NTcyOFx1N2YxNlx1OGY5MVx1NTMzYVx1NjMwOUFMVC1GOVx1NjI1M1x1NWYwMFx1ODNkY1x1NTM1NVx1ZmYwY1x1NjMwOUFMVC1GMTBcdTYyNTNcdTVmMDBcdTVkZTVcdTUxNzdcdTY4MGZcdWZmMGNcdTYzMDlBTFQtMFx1NjdlNVx1NzcwYlx1NWUyZVx1NTJhOSIsCiJUb29scyI6ICJcdTVkZTVcdTUxNzciLAoiVmlldyI6ICJcdTg5YzZcdTU2ZmUiLAoiVGFibGUiOiAiXHU4ODY4XHU2ODNjIiwKIkZvcm1hdCI6ICJcdTY4M2NcdTVmMGYiCn0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/langs/zh_TW.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5hZGRJMThuKCd6aF9UVycsewoiQ3V0IjogIlx1NTI2YVx1NGUwYiIsCiJIZWFkaW5nIDUiOiAiXHU2YTE5XHU5ODRjIDUiLAoiSGVhZGVyIDIiOiAiXHU2YTE5XHU5ODRjIDIiLAoiWW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkaXJlY3QgYWNjZXNzIHRvIHRoZSBjbGlwYm9hcmQuIFBsZWFzZSB1c2UgdGhlIEN0cmwrWFwvQ1wvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iOiAiXHU2MGE4XHU3Njg0XHU3MDBmXHU4OWJkXHU1NjY4XHU0ZTBkXHU2NTJmXHU2M2Y0XHU1YjU4XHU1M2Q2XHU1MjZhXHU4Y2JjXHU3YzNmXHVmZjBjXHU1M2VmXHU0ZWU1XHU0ZjdmXHU3NTI4XHU1ZmViXHU5MDFmXHU5Mzc1IEN0cmwgKyBYXC9DXC9WIFx1NGVlM1x1NjZmZlx1NTI2YVx1NGUwYlx1MzAwMVx1ODkwN1x1ODhmZFx1ODIwN1x1OGNiY1x1NGUwYVx1MzAwMiIsCiJIZWFkaW5nIDQiOiAiXHU2YTE5XHU5ODRjIDQiLAoiRGl2IjogIkRpdiIsCiJIZWFkaW5nIDIiOiAiXHU2YTE5XHU5ODRjIDIiLAoiUGFzdGUiOiAiXHU4Y2JjXHU0ZTBhIiwKIkNsb3NlIjogIlx1OTVkY1x1OTU4OSIsCiJGb250IEZhbWlseSI6ICJcdTViNTdcdTlhZDQiLAoiUHJlIjogIlByZSIsCiJBbGlnbiByaWdodCI6ICJcdTdmNmVcdTUzZjNcdTVjMGRcdTlmNGEiLAoiTmV3IGRvY3VtZW50IjogIlx1NjViMFx1NjU4N1x1NGVmNiIsCiJCbG9ja3F1b3RlIjogIlx1NWYxNVx1NzUyOCIsCiJOdW1iZXJlZCBsaXN0IjogIlx1NjU3OFx1NWI1N1x1NmUwNVx1NTVhZSIsCiJIZWFkaW5nIDEiOiAiXHU2YTE5XHU5ODRjIDEiLAoiSGVhZGluZ3MiOiAiXHU2YTE5XHU5ODRjIiwKIkluY3JlYXNlIGluZGVudCI6ICJcdTU4OWVcdTUyYTBcdTdlMmVcdTYzOTIiLAoiRm9ybWF0cyI6ICJcdTY4M2NcdTVmMGYiLAoiSGVhZGVycyI6ICJcdTZhMTlcdTk4NGMiLAoiU2VsZWN0IGFsbCI6ICJcdTUxNjhcdTkwNzgiLAoiSGVhZGVyIDMiOiAiXHU2YTE5XHU5ODRjIDMiLAoiQmxvY2tzIjogIlx1NTM0MFx1NTg0YSIsCiJVbmRvIjogIlx1NWZhOVx1NTM5ZiIsCiJTdHJpa2V0aHJvdWdoIjogIlx1NTIyYVx1OTY2NFx1N2RkYSIsCiJCdWxsZXQgbGlzdCI6ICJcdTk4MDVcdTc2ZWVcdTZlMDVcdTU1YWUiLAoiSGVhZGVyIDEiOiAiXHU2YTE5XHU5ODRjIDEiLAoiU3VwZXJzY3JpcHQiOiAiXHU0ZTBhXHU2YTE5IiwKIkNsZWFyIGZvcm1hdHRpbmciOiAiXHU2ZTA1XHU5NjY0XHU2ODNjXHU1ZjBmIiwKIkZvbnQgU2l6ZXMiOiAiXHU1YjU3XHU1NzhiXHU1OTI3XHU1YzBmIiwKIlN1YnNjcmlwdCI6ICJcdTRlMGJcdTZhMTkiLAoiSGVhZGVyIDYiOiAiXHU2YTE5XHU5ODRjIDYiLAoiUmVkbyI6ICJcdTUzZDZcdTZkODhcdTVmYTlcdTUzOWYiLAoiUGFyYWdyYXBoIjogIlx1NmJiNVx1ODQzZCIsCiJPayI6ICJcdTc4YmFcdTViOWEiLAoiQm9sZCI6ICJcdTdjOTdcdTlhZDQiLAoiQ29kZSI6ICJcdTdhMGJcdTVmMGZcdTc4YmMiLAoiSXRhbGljIjogIlx1NjU5Y1x1OWFkNCIsCiJBbGlnbiBjZW50ZXIiOiAiXHU3ZjZlXHU0ZTJkXHU1YzBkXHU5ZjRhIiwKIkhlYWRlciA1IjogIlx1NmExOVx1OTg0YyA1IiwKIkhlYWRpbmcgNiI6ICJcdTZhMTlcdTk4NGMgNiIsCiJIZWFkaW5nIDMiOiAiXHU2YTE5XHU5ODRjIDMiLAoiRGVjcmVhc2UgaW5kZW50IjogIlx1NmUxYlx1NWMxMVx1N2UyZVx1NjM5MiIsCiJIZWFkZXIgNCI6ICJcdTZhMTlcdTk4NGMgNCIsCiJQYXN0ZSBpcyBub3cgaW4gcGxhaW4gdGV4dCBtb2RlLiBDb250ZW50cyB3aWxsIG5vdyBiZSBwYXN0ZWQgYXMgcGxhaW4gdGV4dCB1bnRpbCB5b3UgdG9nZ2xlIHRoaXMgb3B0aW9uIG9mZi4iOiAiXHU3NmVlXHU1MjRkXHU1YzA3XHU0ZWU1XHU3ZDE0XHU2NTg3XHU1YjU3XHU3Njg0XHU2YTIxXHU1ZjBmXHU4Y2JjXHU0ZTBhXHVmZjBjXHU2MGE4XHU1M2VmXHU0ZWU1XHU1MThkXHU5ZWRlXHU5MDc4XHU0ZTAwXHU2YjIxXHU1M2Q2XHU2ZDg4XHUzMDAyIiwKIlVuZGVybGluZSI6ICJcdTVlOTVcdTdkZGEiLAoiQ2FuY2VsIjogIlx1NTNkNlx1NmQ4OCIsCiJKdXN0aWZ5IjogIlx1NWRlNlx1NTNmM1x1NWMwZFx1OWY0YSIsCiJJbmxpbmUiOiAiSW5saW5lIiwKIkNvcHkiOiAiXHU4OTA3XHU4OGZkIiwKIkFsaWduIGxlZnQiOiAiXHU3ZjZlXHU1ZGU2XHU1YzBkXHU5ZjRhIiwKIlZpc3VhbCBhaWRzIjogIlx1NWMwZlx1NWU2Ylx1NjI0YiIsCiJMb3dlciBHcmVlayI6ICJcdTVlMGNcdTgxZDhcdTViNTdcdTZiY2QiLAoiU3F1YXJlIjogIlx1NmI2M1x1NjViOVx1NWY2MiIsCiJEZWZhdWx0IjogIlx1OTgxMFx1OGEyZCIsCiJMb3dlciBBbHBoYSI6ICJcdTVjMGZcdTViZWJcdTgyZjFcdTY1ODdcdTViNTdcdTZiY2QiLAoiQ2lyY2xlIjogIlx1N2E3YVx1NWZjM1x1NTcxMyIsCiJEaXNjIjogIlx1NWJlNlx1NWZjM1x1NTcxMyIsCiJVcHBlciBBbHBoYSI6ICJcdTU5MjdcdTViZWJcdTgyZjFcdTY1ODdcdTViNTdcdTZiY2QiLAoiVXBwZXIgUm9tYW4iOiAiXHU1OTI3XHU1YmViXHU3Zjg1XHU5OWFjXHU2NTc4XHU1YjU3IiwKIkxvd2VyIFJvbWFuIjogIlx1NWMwZlx1NWJlYlx1N2Y4NVx1OTlhY1x1NjU3OFx1NWI1NyIsCiJOYW1lIjogIlx1NTQwZFx1N2EzMSIsCiJBbmNob3IiOiAiXHU1MmEwXHU1MTY1XHU5MzI4XHU5ZWRlIiwKIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbmF2aWdhdGUgYXdheT8iOiAiXHU3ZGU4XHU4ZjJmXHU1YzFhXHU2NzJhXHU4OGFiXHU1MTMyXHU1YjU4XHVmZjBjXHU0ZjYwXHU3OGJhXHU1YjlhXHU4OTgxXHU5NmUyXHU5NThiXHVmZjFmIiwKIlJlc3RvcmUgbGFzdCBkcmFmdCI6ICJcdThmMDlcdTUxNjVcdTRlMGFcdTRlMDBcdTZiMjFcdTdkZThcdThmMmZcdTc2ODRcdTgzNDlcdTdhM2YiLAoiU3BlY2lhbCBjaGFyYWN0ZXIiOiAiXHU3Mjc5XHU2YjhhXHU1YjU3XHU1MTQzIiwKIlNvdXJjZSBjb2RlIjogIlx1NTM5Zlx1NTljYlx1NzhiYyIsCiJCIjogIlx1ODVjZCIsCiJSIjogIlx1N2QwNSIsCiJHIjogIlx1N2RhMCIsCiJDb2xvciI6ICJcdTk4NGZcdTgyNzIiLAoiUmlnaHQgdG8gbGVmdCI6ICJcdTVmOWVcdTUzZjNcdTUyMzBcdTVkZTYiLAoiTGVmdCB0byByaWdodCI6ICJcdTVmOWVcdTVkZTZcdTUyMzBcdTUzZjMiLAoiRW1vdGljb25zIjogIlx1ODg2OFx1NjBjNSIsCiJSb2JvdHMiOiAiXHU2YTVmXHU1NjY4XHU0ZWJhIiwKIkRvY3VtZW50IHByb3BlcnRpZXMiOiAiXHU2NTg3XHU0ZWY2XHU3Njg0XHU1YzZjXHU2MDI3IiwKIlRpdGxlIjogIlx1NmExOVx1OTg0YyIsCiJLZXl3b3JkcyI6ICJcdTk1ZGNcdTkzNzVcdTViNTciLAoiRW5jb2RpbmciOiAiXHU3ZGU4XHU3OGJjIiwKIkRlc2NyaXB0aW9uIjogIlx1NjNjZlx1OGZmMCIsCiJBdXRob3IiOiAiXHU0ZjVjXHU4MDA1IiwKIkZ1bGxzY3JlZW4iOiAiXHU1MTY4XHU4N2EyXHU1ZTU1IiwKIkhvcml6b250YWwgbGluZSI6ICJcdTZjMzRcdTVlNzNcdTdkZGEiLAoiSG9yaXpvbnRhbCBzcGFjZSI6ICJcdTViZWNcdTVlYTYiLAoiSW5zZXJ0XC9lZGl0IGltYWdlIjogIlx1NjNkMlx1NTE2NVwvXHU3ZGU4XHU4ZjJmIFx1NTcxNlx1NzI0NyIsCiJHZW5lcmFsIjogIlx1NGUwMFx1ODIyYyIsCiJBZHZhbmNlZCI6ICJcdTkwMzJcdTk2OGUiLAoiU291cmNlIjogIlx1NTcxNlx1NzI0N1x1N2RiMlx1NTc0MCIsCiJCb3JkZXIiOiAiXHU5MDhhXHU2ODQ2IiwKIkNvbnN0cmFpbiBwcm9wb3J0aW9ucyI6ICJcdTdiNDlcdTZiZDRcdTRmOGJcdTdlMmVcdTY1M2UiLAoiVmVydGljYWwgc3BhY2UiOiAiXHU5YWQ4XHU1ZWE2IiwKIkltYWdlIGRlc2NyaXB0aW9uIjogIlx1NTcxNlx1NzI0N1x1NjNjZlx1OGZmMCIsCiJTdHlsZSI6ICJcdTZhMjNcdTVmMGYiLAoiRGltZW5zaW9ucyI6ICJcdTVjM2FcdTViZjgiLAoiSW5zZXJ0IGltYWdlIjogIlx1NjNkMlx1NTE2NVx1NTcxNlx1NzI0NyIsCiJab29tIGluIjogIlx1NjUzZVx1NTkyNyIsCiJDb250cmFzdCI6ICJcdTVjMGRcdTZiZDQiLAoiQmFjayI6ICJcdTVmOGNcdTkwMDAiLAoiR2FtbWEiOiAiXHU0ZjNkXHU5OWFjXHU1MDNjIiwKIkZsaXAgaG9yaXpvbnRhbGx5IjogIlx1NmMzNFx1NWU3M1x1N2ZmYlx1OGY0OSIsCiJSZXNpemUiOiAiXHU4YWJmXHU2NTc0XHU1OTI3XHU1YzBmIiwKIlNoYXJwZW4iOiAiXHU5MmIzXHU1MzE2IiwKIlpvb20gb3V0IjogIlx1N2UyZVx1NWMwZiIsCiJJbWFnZSBvcHRpb25zIjogIlx1NTcxNlx1NzI0N1x1OTA3OFx1OTgwNSIsCiJBcHBseSI6ICJcdTYxYzlcdTc1MjgiLAoiQnJpZ2h0bmVzcyI6ICJcdTRlYWVcdTVlYTYiLAoiUm90YXRlIGNsb2Nrd2lzZSI6ICJcdTk4MDZcdTY2NDJcdTkxZGRcdTY1Y2JcdThmNDkiLAoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiOiAiXHU5MDA2XHU2NjQyXHU5MWRkXHU2NWNiXHU4ZjQ5IiwKIkVkaXQgaW1hZ2UiOiAiXHU3ZGU4XHU4ZjJmXHU1NzE2XHU3MjQ3IiwKIkNvbG9yIGxldmVscyI6ICJcdTk4NGZcdTgyNzJcdTVjNjRcdTZiMjEiLAoiQ3JvcCI6ICJcdTg4YzFcdTUyNmEiLAoiT3JpZW50YXRpb24iOiAiXHU2NWI5XHU1NDExIiwKIkZsaXAgdmVydGljYWxseSI6ICJcdTU3ODJcdTc2ZjRcdTdmZmJcdThmNDkiLAoiSW52ZXJ0IjogIlx1NTNjZFx1OGY0OSIsCiJJbnNlcnQgZGF0ZVwvdGltZSI6ICJcdTYzZDJcdTUxNjUgXHU2NWU1XHU2NzFmXC9cdTY2NDJcdTk1OTMiLAoiUmVtb3ZlIGxpbmsiOiAiXHU3OWZiXHU5NjY0XHU5MDIzXHU3ZDUwIiwKIlVybCI6ICJcdTdkYjJcdTU3NDAiLAoiVGV4dCB0byBkaXNwbGF5IjogIlx1OTg2Zlx1NzkzYVx1NjU4N1x1NWI1NyIsCiJBbmNob3JzIjogIlx1NTJhMFx1NTE2NVx1OTMyOFx1OWVkZSIsCiJJbnNlcnQgbGluayI6ICJcdTYzZDJcdTUxNjVcdTkwMjNcdTdkNTAiLAoiTmV3IHdpbmRvdyI6ICJcdTUzZTZcdTk1OGJcdTg5OTZcdTdhOTciLAoiTm9uZSI6ICJcdTcxMjEiLAoiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6XC9cLyBwcmVmaXg/IjogIlx1NGY2MFx1NjI0MFx1NTg2Ylx1NWJlYlx1NzY4NFVSTFx1NWM2Y1x1NjViY1x1NTkxNlx1OTBlOFx1OTNjOFx1NjNhNVx1ZmYwY1x1OTcwMFx1ODk4MVx1NTJhMFx1NGUwYWh0dHA6XC9cLzpcdTUyNGRcdTdkYjRcdTU1Y2VcdWZmMWYiLAoiVGFyZ2V0IjogIlx1OTU4Ylx1NTU1Zlx1NjViOVx1NWYwZiIsCiJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IjogIlx1NGY2MFx1NjI0MFx1NTg2Ylx1NWJlYlx1NzY4NFVSTFx1NzBiYVx1OTZmYlx1NWI1MFx1OTBmNVx1NGVmNlx1ZmYwY1x1OTcwMFx1ODk4MVx1NTJhMFx1NGUwYW1haWx0bzpcdTUyNGRcdTdkYjRcdTU1Y2VcdWZmMWYiLAoiSW5zZXJ0XC9lZGl0IGxpbmsiOiAiXHU2M2QyXHU1MTY1XC9cdTdkZThcdThmMmZcdTkwMjNcdTdkNTAiLAoiSW5zZXJ0XC9lZGl0IHZpZGVvIjogIlx1NjNkMlx1NGVmNlwvXHU3ZGU4XHU4ZjJmIFx1NWY3MVx1OTdmMyIsCiJQb3N0ZXIiOiAiXHU5ODEwXHU4OWJkXHU1NzE2XHU3MjQ3IiwKIkFsdGVybmF0aXZlIHNvdXJjZSI6ICJcdTY2ZmZcdTRlZTNcdTVmNzFcdTk3ZjMiLAoiUGFzdGUgeW91ciBlbWJlZCBjb2RlIGJlbG93OiI6ICJcdThhY2JcdTVjMDdcdTYwYThcdTc2ODRcdTVkNGNcdTUxNjVcdTVmMGZcdTdhMGJcdTVmMGZcdTc4YmNcdThjYmNcdTU3MjhcdTRlMGJcdTk3NjI6IiwKIkluc2VydCB2aWRlbyI6ICJcdTYzZDJcdTUxNjVcdTVmNzFcdTk3ZjMiLAoiRW1iZWQiOiAiXHU1ZDRjXHU1MTY1XHU3OGJjIiwKIk5vbmJyZWFraW5nIHNwYWNlIjogIlx1NGUwZFx1NTIwNlx1ODg0Y1x1NzY4NFx1N2E3YVx1NjgzYyIsCiJQYWdlIGJyZWFrIjogIlx1NTIwNlx1OTgwMSIsCiJQYXN0ZSBhcyB0ZXh0IjogIlx1NGVlNVx1N2QxNFx1NjU4N1x1NWI1N1x1OGNiY1x1NGUwYSIsCiJQcmV2aWV3IjogIlx1OTgxMFx1ODliZCIsCiJQcmludCI6ICJcdTUyMTdcdTUzNzAiLAoiU2F2ZSI6ICJcdTUxMzJcdTViNTgiLAoiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBzdHJpbmcuIjogIlx1NzEyMVx1NmNkNVx1NjdlNVx1OGE2Mlx1NTIzMFx1NmI2NFx1NzI3OVx1NWI5YVx1NWI1N1x1NGUzMiIsCiJSZXBsYWNlIjogIlx1NjZmZlx1NjNkYiIsCiJOZXh0IjogIlx1NGUwYlx1NGUwMFx1NTAwYiIsCiJXaG9sZSB3b3JkcyI6ICJcdTY1NzRcdTUwMGJcdTU1YWVcdTViNTciLAoiRmluZCBhbmQgcmVwbGFjZSI6ICJcdTVjMGJcdTYyN2VcdTUzY2FcdTUzZDZcdTRlZTMiLAoiUmVwbGFjZSB3aXRoIjogIlx1NjZmNFx1NjNkYiIsCiJGaW5kIjogIlx1NjQxY1x1NWMwYiIsCiJSZXBsYWNlIGFsbCI6ICJcdTY2ZmZcdTYzZGJcdTUxNjhcdTkwZTgiLAoiTWF0Y2ggY2FzZSI6ICJcdTc2ZjhcdTUzMzlcdTkxNGRcdTY4NDhcdTRlZjYiLAoiUHJldiI6ICJcdTRlMGFcdTRlMDBcdTUwMGIiLAoiU3BlbGxjaGVjayI6ICJcdTYyZmNcdTViNTdcdTZhYTJcdTY3ZTUiLAoiRmluaXNoIjogIlx1NWI4Y1x1NjIxMCIsCiJJZ25vcmUgYWxsIjogIlx1NWZmZFx1NzU2NVx1NjI0MFx1NjcwOSIsCiJJZ25vcmUiOiAiXHU1ZmZkXHU3NTY1IiwKIkFkZCB0byBEaWN0aW9uYXJ5IjogIlx1NTJhMFx1NTE2NVx1NWI1N1x1NTE3OFx1NGUyZCIsCiJJbnNlcnQgcm93IGJlZm9yZSI6ICJcdTYzZDJcdTUxNjVcdTUyMTdcdTU3MjguLi5cdTRlNGJcdTUyNGQiLAoiUm93cyI6ICJcdTUyMTciLAoiSGVpZ2h0IjogIlx1OWFkOFx1NWVhNiIsCiJQYXN0ZSByb3cgYWZ0ZXIiOiAiXHU4Y2JjXHU0ZTBhXHU1MjE3XHU1NzI4Li4uXHU0ZTRiXHU1ZjhjIiwKIkFsaWdubWVudCI6ICJcdTVjMGRcdTlmNGEiLAoiQm9yZGVyIGNvbG9yIjogIlx1OTA4YVx1Njg0Nlx1OTg0Zlx1ODI3MiIsCiJDb2x1bW4gZ3JvdXAiOiAiXHU2YjA0XHU0ZjRkXHU3ZmE0XHU3ZDQ0IiwKIlJvdyI6ICJcdTUyMTciLAoiSW5zZXJ0IGNvbHVtbiBiZWZvcmUiOiAiXHU2M2QyXHU1MTY1XHU2YjA0XHU0ZjRkXHU1NzI4Li4uXHU0ZTRiXHU1MjRkIiwKIlNwbGl0IGNlbGwiOiAiXHU1MjA2XHU1MjcyXHU1MTMyXHU1YjU4XHU2ODNjIiwKIkNlbGwgcGFkZGluZyI6ICJcdTUxMzJcdTViNThcdTY4M2NcdTc2ODRcdTkwOGFcdThkZGQiLAoiQ2VsbCBzcGFjaW5nIjogIlx1NTEzMlx1NWI1OFx1NjgzY1x1NWY5N1x1OTU5M1x1OGRkZCIsCiJSb3cgdHlwZSI6ICJcdTg4NGNcdTc2ODRcdTk4NWVcdTU3OGIiLAoiSW5zZXJ0IHRhYmxlIjogIlx1NjNkMlx1NTE2NVx1ODg2OFx1NjgzYyIsCiJCb2R5IjogIlx1NGUzYlx1OWFkNCIsCiJDYXB0aW9uIjogIlx1ODg2OFx1NjgzY1x1NmExOVx1OTg0YyIsCiJGb290ZXIiOiAiXHU5ODAxXHU1YzNlIiwKIkRlbGV0ZSByb3ciOiAiXHU1MjJhXHU5NjY0XHU1MjE3IiwKIlBhc3RlIHJvdyBiZWZvcmUiOiAiXHU4Y2JjXHU0ZTBhXHU1MjE3XHU1NzI4Li4uXHU0ZTRiXHU1MjRkIiwKIlNjb3BlIjogIlx1N2JjNFx1NTcwZCIsCiJEZWxldGUgdGFibGUiOiAiXHU1MjJhXHU5NjY0XHU4ODY4XHU2ODNjIiwKIkggQWxpZ24iOiAiXHU2YzM0XHU1ZTczXHU0ZjRkXHU3ZjZlIiwKIlRvcCI6ICJcdTdmNmVcdTk4MDIiLAoiSGVhZGVyIGNlbGwiOiAiXHU2YTE5XHU5ODJkXHU1MTMyXHU1YjU4XHU2ODNjIiwKIkNvbHVtbiI6ICJcdTg4NGMiLAoiUm93IGdyb3VwIjogIlx1NTIxN1x1N2ZhNFx1N2Q0NCIsCiJDZWxsIjogIlx1NTEzMlx1NWI1OFx1NjgzYyIsCiJNaWRkbGUiOiAiXHU3ZjZlXHU0ZTJkIiwKIkNlbGwgdHlwZSI6ICJcdTUxMzJcdTViNThcdTY4M2NcdTc2ODRcdTk4NWVcdTU3OGIiLAoiQ29weSByb3ciOiAiXHU4OTA3XHU4OGZkXHU1MjE3IiwKIlJvdyBwcm9wZXJ0aWVzIjogIlx1NTIxN1x1NWM2Y1x1NjAyNyIsCiJUYWJsZSBwcm9wZXJ0aWVzIjogIlx1ODg2OFx1NjgzY1x1NWM2Y1x1NjAyNyIsCiJCb3R0b20iOiAiXHU3ZjZlXHU1ZTk1IiwKIlYgQWxpZ24iOiAiXHU1NzgyXHU3NmY0XHU0ZjRkXHU3ZjZlIiwKIkhlYWRlciI6ICJcdTZhMTlcdTk4MmQiLAoiUmlnaHQiOiAiXHU1M2YzXHU5MDhhIiwKIkluc2VydCBjb2x1bW4gYWZ0ZXIiOiAiXHU2M2QyXHU1MTY1XHU2YjA0XHU0ZjRkXHU1NzI4Li4uXHU0ZTRiXHU1ZjhjIiwKIkNvbHMiOiAiXHU2YjA0XHU0ZjRkXHU2YmI1IiwKIkluc2VydCByb3cgYWZ0ZXIiOiAiXHU2M2QyXHU1MTY1XHU1MjE3XHU1NzI4Li4uXHU0ZTRiXHU1ZjhjIiwKIldpZHRoIjogIlx1NWJlY1x1NWVhNiIsCiJDZWxsIHByb3BlcnRpZXMiOiAiXHU1MTMyXHU1YjU4XHU2ODNjXHU1YzZjXHU2MDI3IiwKIkxlZnQiOiAiXHU1ZGU2XHU5MDhhIiwKIkN1dCByb3ciOiAiXHU1MjZhXHU0ZTBiXHU1MjE3IiwKIkRlbGV0ZSBjb2x1bW4iOiAiXHU1MjJhXHU5NjY0XHU4ODRjIiwKIkNlbnRlciI6ICJcdTRlMmRcdTk1OTMiLAoiTWVyZ2UgY2VsbHMiOiAiXHU1NDA4XHU0Zjc1XHU1MTMyXHU1YjU4XHU2ODNjIiwKIkluc2VydCB0ZW1wbGF0ZSI6ICJcdTYzZDJcdTUxNjVcdTZhMjNcdTcyNDgiLAoiVGVtcGxhdGVzIjogIlx1NmEyM1x1NzI0OCIsCiJCYWNrZ3JvdW5kIGNvbG9yIjogIlx1ODBjY1x1NjY2Zlx1OTg0Zlx1ODI3MiIsCiJDdXN0b20uLi4iOiAiXHU4MWVhXHU4YTAyIiwKIkN1c3RvbSBjb2xvciI6ICJcdTgxZWFcdThhMDJcdTk4NGZcdTgyNzIiLAoiTm8gY29sb3IiOiAiTm8gY29sb3IiLAoiVGV4dCBjb2xvciI6ICJcdTY1ODdcdTViNTdcdTk4NGZcdTgyNzIiLAoiU2hvdyBibG9ja3MiOiAiXHU5ODZmXHU3OTNhXHU1MzQwXHU1ODRhXHU4Y2M3XHU4YTBhIiwKIlNob3cgaW52aXNpYmxlIGNoYXJhY3RlcnMiOiAiXHU5ODZmXHU3OTNhXHU5NmIxXHU4NWNmXHU1YjU3XHU1MTQzIiwKIldvcmRzOiB7MH0iOiAiXHU1YjU3XHU2NTc4XHVmZjFhezB9IiwKIkluc2VydCI6ICJcdTYzZDJcdTUxNjUiLAoiRmlsZSI6ICJcdTZhOTRcdTY4NDgiLAoiRWRpdCI6ICJcdTdkZThcdThmMmYiLAoiUmljaCBUZXh0IEFyZWEuIFByZXNzIEFMVC1GOSBmb3IgbWVudS4gUHJlc3MgQUxULUYxMCBmb3IgdG9vbGJhci4gUHJlc3MgQUxULTAgZm9yIGhlbHAiOiAiXHU4YzUwXHU1YmNjXHU3Njg0XHU2NTg3XHU2NzJjXHU1MzQwXHU1N2RmXHUzMDAyXHU2MzA5QUxULUY5XHU1MjRkXHU1ZjgwXHU0ZTNiXHU5MDc4XHU1NWFlXHUzMDAyXHU2MzA5QUxULUYxMFx1NTQ3Y1x1NTNlYlx1NWRlNVx1NTE3N1x1NmIwNFx1MzAwMlx1NjMwOUFMVC0wXHU1YzBiXHU2YzQyXHU1ZTZiXHU1MmE5IiwKIlRvb2xzIjogIlx1NWRlNVx1NTE3NyIsCiJWaWV3IjogIlx1NmFhMlx1ODk5NiIsCiJUYWJsZSI6ICJcdTg4NjhcdTY4M2MiLAoiRm9ybWF0IjogIlx1NjgzY1x1NWYwZiIKfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/license.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CQkgIEdOVSBMRVNTRVIgR0VORVJBTCBQVUJMSUMgTElDRU5TRQoJCSAgICAgICBWZXJzaW9uIDIuMSwgRmVicnVhcnkgMTk5OQoKIENvcHlyaWdodCAoQykgMTk5MSwgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCltUaGlzIGlzIHRoZSBmaXJzdCByZWxlYXNlZCB2ZXJzaW9uIG9mIHRoZSBMZXNzZXIgR1BMLiAgSXQgYWxzbyBjb3VudHMKIGFzIHRoZSBzdWNjZXNzb3Igb2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsIGhlbmNlCiB0aGUgdmVyc2lvbiBudW1iZXIgMi4xLl0KCgkJCSAgICBQcmVhbWJsZQoKICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCmZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCkxpY2Vuc2VzIGFyZSBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UKZnJlZSBzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLgoKICBUaGlzIGxpY2Vuc2UsIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYXBwbGllcyB0byBzb21lCnNwZWNpYWxseSBkZXNpZ25hdGVkIHNvZnR3YXJlIHBhY2thZ2VzLS10eXBpY2FsbHkgbGlicmFyaWVzLS1vZiB0aGUKRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGFuZCBvdGhlciBhdXRob3JzIHdobyBkZWNpZGUgdG8gdXNlIGl0LiAgWW91CmNhbiB1c2UgaXQgdG9vLCBidXQgd2Ugc3VnZ2VzdCB5b3UgZmlyc3QgdGhpbmsgY2FyZWZ1bGx5IGFib3V0IHdoZXRoZXIKdGhpcyBsaWNlbnNlIG9yIHRoZSBvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIHRoZSBiZXR0ZXIKc3RyYXRlZ3kgdG8gdXNlIGluIGFueSBwYXJ0aWN1bGFyIGNhc2UsIGJhc2VkIG9uIHRoZSBleHBsYW5hdGlvbnMgYmVsb3cuCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tIG9mIHVzZSwKbm90IHByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdAp5b3UgaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlCmZvciB0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpOyB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQKaXQgaWYgeW91IHdhbnQgaXQ7IHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIGFuZCB1c2UgcGllY2VzIG9mCml0IGluIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3UgYXJlIGluZm9ybWVkIHRoYXQgeW91IGNhbiBkbwp0aGVzZSB0aGluZ3MuCgogIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKZGlzdHJpYnV0b3JzIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0aGVzZQpyaWdodHMuICBUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IKeW91IGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgbGlicmFyeSBvciBpZiB5b3UgbW9kaWZ5IGl0LgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBsaWJyYXJ5LCB3aGV0aGVyIGdyYXRpcwpvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdCB3ZSBnYXZlCnlvdS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZSBzb3VyY2UKY29kZS4gIElmIHlvdSBsaW5rIG90aGVyIGNvZGUgd2l0aCB0aGUgbGlicmFyeSwgeW91IG11c3QgcHJvdmlkZQpjb21wbGV0ZSBvYmplY3QgZmlsZXMgdG8gdGhlIHJlY2lwaWVudHMsIHNvIHRoYXQgdGhleSBjYW4gcmVsaW5rIHRoZW0Kd2l0aCB0aGUgbGlicmFyeSBhZnRlciBtYWtpbmcgY2hhbmdlcyB0byB0aGUgbGlicmFyeSBhbmQgcmVjb21waWxpbmcKaXQuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpciByaWdodHMuCgogIFdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCBhIHR3by1zdGVwIG1ldGhvZDogKDEpIHdlIGNvcHlyaWdodCB0aGUKbGlicmFyeSwgYW5kICgyKSB3ZSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlLCB3aGljaCBnaXZlcyB5b3UgbGVnYWwKcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIGxpYnJhcnkuCgogIFRvIHByb3RlY3QgZWFjaCBkaXN0cmlidXRvciwgd2Ugd2FudCB0byBtYWtlIGl0IHZlcnkgY2xlYXIgdGhhdAp0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIGZyZWUgbGlicmFyeS4gIEFsc28sIGlmIHRoZSBsaWJyYXJ5IGlzCm1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB0aGUgcmVjaXBpZW50cyBzaG91bGQga25vdwp0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwgdmVyc2lvbiwgc28gdGhhdCB0aGUgb3JpZ2luYWwKYXV0aG9yJ3MgcmVwdXRhdGlvbiB3aWxsIG5vdCBiZSBhZmZlY3RlZCBieSBwcm9ibGVtcyB0aGF0IG1pZ2h0IGJlCmludHJvZHVjZWQgYnkgb3RoZXJzLgoKICBGaW5hbGx5LCBzb2Z0d2FyZSBwYXRlbnRzIHBvc2UgYSBjb25zdGFudCB0aHJlYXQgdG8gdGhlIGV4aXN0ZW5jZSBvZgphbnkgZnJlZSBwcm9ncmFtLiAgV2Ugd2lzaCB0byBtYWtlIHN1cmUgdGhhdCBhIGNvbXBhbnkgY2Fubm90CmVmZmVjdGl2ZWx5IHJlc3RyaWN0IHRoZSB1c2VycyBvZiBhIGZyZWUgcHJvZ3JhbSBieSBvYnRhaW5pbmcgYQpyZXN0cmljdGl2ZSBsaWNlbnNlIGZyb20gYSBwYXRlbnQgaG9sZGVyLiAgVGhlcmVmb3JlLCB3ZSBpbnNpc3QgdGhhdAphbnkgcGF0ZW50IGxpY2Vuc2Ugb2J0YWluZWQgZm9yIGEgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSBtdXN0IGJlCmNvbnNpc3RlbnQgd2l0aCB0aGUgZnVsbCBmcmVlZG9tIG9mIHVzZSBzcGVjaWZpZWQgaW4gdGhpcyBsaWNlbnNlLgoKICBNb3N0IEdOVSBzb2Z0d2FyZSwgaW5jbHVkaW5nIHNvbWUgbGlicmFyaWVzLCBpcyBjb3ZlcmVkIGJ5IHRoZQpvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoaXMgbGljZW5zZSwgdGhlIEdOVSBMZXNzZXIKR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYXBwbGllcyB0byBjZXJ0YWluIGRlc2lnbmF0ZWQgbGlicmFyaWVzLCBhbmQKaXMgcXVpdGUgZGlmZmVyZW50IGZyb20gdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBXZSB1c2UKdGhpcyBsaWNlbnNlIGZvciBjZXJ0YWluIGxpYnJhcmllcyBpbiBvcmRlciB0byBwZXJtaXQgbGlua2luZyB0aG9zZQpsaWJyYXJpZXMgaW50byBub24tZnJlZSBwcm9ncmFtcy4KCiAgV2hlbiBhIHByb2dyYW0gaXMgbGlua2VkIHdpdGggYSBsaWJyYXJ5LCB3aGV0aGVyIHN0YXRpY2FsbHkgb3IgdXNpbmcKYSBzaGFyZWQgbGlicmFyeSwgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSB0d28gaXMgbGVnYWxseSBzcGVha2luZyBhCmNvbWJpbmVkIHdvcmssIGEgZGVyaXZhdGl2ZSBvZiB0aGUgb3JpZ2luYWwgbGlicmFyeS4gIFRoZSBvcmRpbmFyeQpHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHRoZXJlZm9yZSBwZXJtaXRzIHN1Y2ggbGlua2luZyBvbmx5IGlmIHRoZQplbnRpcmUgY29tYmluYXRpb24gZml0cyBpdHMgY3JpdGVyaWEgb2YgZnJlZWRvbS4gIFRoZSBMZXNzZXIgR2VuZXJhbApQdWJsaWMgTGljZW5zZSBwZXJtaXRzIG1vcmUgbGF4IGNyaXRlcmlhIGZvciBsaW5raW5nIG90aGVyIGNvZGUgd2l0aAp0aGUgbGlicmFyeS4KCiAgV2UgY2FsbCB0aGlzIGxpY2Vuc2UgdGhlICJMZXNzZXIiIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYmVjYXVzZSBpdApkb2VzIExlc3MgdG8gcHJvdGVjdCB0aGUgdXNlcidzIGZyZWVkb20gdGhhbiB0aGUgb3JkaW5hcnkgR2VuZXJhbApQdWJsaWMgTGljZW5zZS4gIEl0IGFsc28gcHJvdmlkZXMgb3RoZXIgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzIExlc3MKb2YgYW4gYWR2YW50YWdlIG92ZXIgY29tcGV0aW5nIG5vbi1mcmVlIHByb2dyYW1zLiAgVGhlc2UgZGlzYWR2YW50YWdlcwphcmUgdGhlIHJlYXNvbiB3ZSB1c2UgdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1hbnkKbGlicmFyaWVzLiAgSG93ZXZlciwgdGhlIExlc3NlciBsaWNlbnNlIHByb3ZpZGVzIGFkdmFudGFnZXMgaW4gY2VydGFpbgpzcGVjaWFsIGNpcmN1bXN0YW5jZXMuCgogIEZvciBleGFtcGxlLCBvbiByYXJlIG9jY2FzaW9ucywgdGhlcmUgbWF5IGJlIGEgc3BlY2lhbCBuZWVkIHRvCmVuY291cmFnZSB0aGUgd2lkZXN0IHBvc3NpYmxlIHVzZSBvZiBhIGNlcnRhaW4gbGlicmFyeSwgc28gdGhhdCBpdCBiZWNvbWVzCmEgZGUtZmFjdG8gc3RhbmRhcmQuICBUbyBhY2hpZXZlIHRoaXMsIG5vbi1mcmVlIHByb2dyYW1zIG11c3QgYmUKYWxsb3dlZCB0byB1c2UgdGhlIGxpYnJhcnkuICBBIG1vcmUgZnJlcXVlbnQgY2FzZSBpcyB0aGF0IGEgZnJlZQpsaWJyYXJ5IGRvZXMgdGhlIHNhbWUgam9iIGFzIHdpZGVseSB1c2VkIG5vbi1mcmVlIGxpYnJhcmllcy4gIEluIHRoaXMKY2FzZSwgdGhlcmUgaXMgbGl0dGxlIHRvIGdhaW4gYnkgbGltaXRpbmcgdGhlIGZyZWUgbGlicmFyeSB0byBmcmVlCnNvZnR3YXJlIG9ubHksIHNvIHdlIHVzZSB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCgogIEluIG90aGVyIGNhc2VzLCBwZXJtaXNzaW9uIHRvIHVzZSBhIHBhcnRpY3VsYXIgbGlicmFyeSBpbiBub24tZnJlZQpwcm9ncmFtcyBlbmFibGVzIGEgZ3JlYXRlciBudW1iZXIgb2YgcGVvcGxlIHRvIHVzZSBhIGxhcmdlIGJvZHkgb2YKZnJlZSBzb2Z0d2FyZS4gIEZvciBleGFtcGxlLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgR05VIEMgTGlicmFyeSBpbgpub24tZnJlZSBwcm9ncmFtcyBlbmFibGVzIG1hbnkgbW9yZSBwZW9wbGUgdG8gdXNlIHRoZSB3aG9sZSBHTlUKb3BlcmF0aW5nIHN5c3RlbSwgYXMgd2VsbCBhcyBpdHMgdmFyaWFudCwgdGhlIEdOVS9MaW51eCBvcGVyYXRpbmcKc3lzdGVtLgoKICBBbHRob3VnaCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgTGVzcyBwcm90ZWN0aXZlIG9mIHRoZQp1c2VycycgZnJlZWRvbSwgaXQgZG9lcyBlbnN1cmUgdGhhdCB0aGUgdXNlciBvZiBhIHByb2dyYW0gdGhhdCBpcwpsaW5rZWQgd2l0aCB0aGUgTGlicmFyeSBoYXMgdGhlIGZyZWVkb20gYW5kIHRoZSB3aGVyZXdpdGhhbCB0byBydW4KdGhhdCBwcm9ncmFtIHVzaW5nIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgTGlicmFyeS4KCiAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKbW9kaWZpY2F0aW9uIGZvbGxvdy4gIFBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhCiJ3b3JrIGJhc2VkIG9uIHRoZSBsaWJyYXJ5IiBhbmQgYSAid29yayB0aGF0IHVzZXMgdGhlIGxpYnJhcnkiLiAgVGhlCmZvcm1lciBjb250YWlucyBjb2RlIGRlcml2ZWQgZnJvbSB0aGUgbGlicmFyeSwgd2hlcmVhcyB0aGUgbGF0dGVyIG11c3QKYmUgY29tYmluZWQgd2l0aCB0aGUgbGlicmFyeSBpbiBvcmRlciB0byBydW4uCgoJCSAgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCiAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgoKICAwLiBUaGlzIExpY2Vuc2UgQWdyZWVtZW50IGFwcGxpZXMgdG8gYW55IHNvZnR3YXJlIGxpYnJhcnkgb3Igb3RoZXIKcHJvZ3JhbSB3aGljaCBjb250YWlucyBhIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgb3IKb3RoZXIgYXV0aG9yaXplZCBwYXJ0eSBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZgp0aGlzIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChhbHNvIGNhbGxlZCAidGhpcyBMaWNlbnNlIikuCkVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgoKICBBICJsaWJyYXJ5IiBtZWFucyBhIGNvbGxlY3Rpb24gb2Ygc29mdHdhcmUgZnVuY3Rpb25zIGFuZC9vciBkYXRhCnByZXBhcmVkIHNvIGFzIHRvIGJlIGNvbnZlbmllbnRseSBsaW5rZWQgd2l0aCBhcHBsaWNhdGlvbiBwcm9ncmFtcwood2hpY2ggdXNlIHNvbWUgb2YgdGhvc2UgZnVuY3Rpb25zIGFuZCBkYXRhKSB0byBmb3JtIGV4ZWN1dGFibGVzLgoKICBUaGUgIkxpYnJhcnkiLCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHNvZnR3YXJlIGxpYnJhcnkgb3Igd29yawp3aGljaCBoYXMgYmVlbiBkaXN0cmlidXRlZCB1bmRlciB0aGVzZSB0ZXJtcy4gIEEgIndvcmsgYmFzZWQgb24gdGhlCkxpYnJhcnkiIG1lYW5zIGVpdGhlciB0aGUgTGlicmFyeSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyCmNvcHlyaWdodCBsYXc6IHRoYXQgaXMgdG8gc2F5LCBhIHdvcmsgY29udGFpbmluZyB0aGUgTGlicmFyeSBvciBhCnBvcnRpb24gb2YgaXQsIGVpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQKc3RyYWlnaHRmb3J3YXJkbHkgaW50byBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcwppbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4gdGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKQoKICAiU291cmNlIGNvZGUiIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgptYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhIGxpYnJhcnksIGNvbXBsZXRlIHNvdXJjZSBjb2RlIG1lYW5zCmFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueSBhc3NvY2lhdGVkCmludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8gY29udHJvbCBjb21waWxhdGlvbgphbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBsaWJyYXJ5LgoKICBBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdApjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mCnJ1bm5pbmcgYSBwcm9ncmFtIHVzaW5nIHRoZSBMaWJyYXJ5IGlzIG5vdCByZXN0cmljdGVkLCBhbmQgb3V0cHV0IGZyb20Kc3VjaCBhIHByb2dyYW0gaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZApvbiB0aGUgTGlicmFyeSAoaW5kZXBlbmRlbnQgb2YgdGhlIHVzZSBvZiB0aGUgTGlicmFyeSBpbiBhIHRvb2wgZm9yCndyaXRpbmcgaXQpLiAgV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBMaWJyYXJ5IGRvZXMKYW5kIHdoYXQgdGhlIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IGRvZXMuCiAgCiAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgTGlicmFyeSdzCmNvbXBsZXRlIHNvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0CnlvdSBjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuCmFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0CmFsbCB0aGUgbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55CndhcnJhbnR5OyBhbmQgZGlzdHJpYnV0ZSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggdGhlCkxpYnJhcnkuCgogIFlvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksCmFuZCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEKZmVlLgoKICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBMaWJyYXJ5IG9yIGFueSBwb3J0aW9uCm9mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCBhbmQgY29weSBhbmQKZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCmFib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIG1vZGlmaWVkIHdvcmsgbXVzdCBpdHNlbGYgYmUgYSBzb2Z0d2FyZSBsaWJyYXJ5LgoKICAgIGIpIFlvdSBtdXN0IGNhdXNlIHRoZSBmaWxlcyBtb2RpZmllZCB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcwogICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KCiAgICBjKSBZb3UgbXVzdCBjYXVzZSB0aGUgd2hvbGUgb2YgdGhlIHdvcmsgdG8gYmUgbGljZW5zZWQgYXQgbm8KICAgIGNoYXJnZSB0byBhbGwgdGhpcmQgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgoKICAgIGQpIElmIGEgZmFjaWxpdHkgaW4gdGhlIG1vZGlmaWVkIExpYnJhcnkgcmVmZXJzIHRvIGEgZnVuY3Rpb24gb3IgYQogICAgdGFibGUgb2YgZGF0YSB0byBiZSBzdXBwbGllZCBieSBhbiBhcHBsaWNhdGlvbiBwcm9ncmFtIHRoYXQgdXNlcwogICAgdGhlIGZhY2lsaXR5LCBvdGhlciB0aGFuIGFzIGFuIGFyZ3VtZW50IHBhc3NlZCB3aGVuIHRoZSBmYWNpbGl0eQogICAgaXMgaW52b2tlZCwgdGhlbiB5b3UgbXVzdCBtYWtlIGEgZ29vZCBmYWl0aCBlZmZvcnQgdG8gZW5zdXJlIHRoYXQsCiAgICBpbiB0aGUgZXZlbnQgYW4gYXBwbGljYXRpb24gZG9lcyBub3Qgc3VwcGx5IHN1Y2ggZnVuY3Rpb24gb3IKICAgIHRhYmxlLCB0aGUgZmFjaWxpdHkgc3RpbGwgb3BlcmF0ZXMsIGFuZCBwZXJmb3JtcyB3aGF0ZXZlciBwYXJ0IG9mCiAgICBpdHMgcHVycG9zZSByZW1haW5zIG1lYW5pbmdmdWwuCgogICAgKEZvciBleGFtcGxlLCBhIGZ1bmN0aW9uIGluIGEgbGlicmFyeSB0byBjb21wdXRlIHNxdWFyZSByb290cyBoYXMKICAgIGEgcHVycG9zZSB0aGF0IGlzIGVudGlyZWx5IHdlbGwtZGVmaW5lZCBpbmRlcGVuZGVudCBvZiB0aGUKICAgIGFwcGxpY2F0aW9uLiAgVGhlcmVmb3JlLCBTdWJzZWN0aW9uIDJkIHJlcXVpcmVzIHRoYXQgYW55CiAgICBhcHBsaWNhdGlvbi1zdXBwbGllZCBmdW5jdGlvbiBvciB0YWJsZSB1c2VkIGJ5IHRoaXMgZnVuY3Rpb24gbXVzdAogICAgYmUgb3B0aW9uYWw6IGlmIHRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgaXQsIHRoZSBzcXVhcmUKICAgIHJvb3QgZnVuY3Rpb24gbXVzdCBzdGlsbCBjb21wdXRlIHNxdWFyZSByb290cy4pCgpUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmCmlkZW50aWZpYWJsZSBzZWN0aW9ucyBvZiB0aGF0IHdvcmsgYXJlIG5vdCBkZXJpdmVkIGZyb20gdGhlIExpYnJhcnksCmFuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgp0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCnNlY3Rpb25zIHdoZW4geW91IGRpc3RyaWJ1dGUgdGhlbSBhcyBzZXBhcmF0ZSB3b3Jrcy4gIEJ1dCB3aGVuIHlvdQpkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKb24gdGhlIExpYnJhcnksIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11c3QgYmUgb24gdGhlIHRlcm1zIG9mCnRoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRlbmQgdG8gdGhlCmVudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZQppdC4KClRodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdAp5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCmNvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIExpYnJhcnkuCgpJbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBMaWJyYXJ5CndpdGggdGhlIExpYnJhcnkgKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5KSBvbiBhIHZvbHVtZSBvZgphIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgp0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgoKICAzLiBZb3UgbWF5IG9wdCB0byBhcHBseSB0aGUgdGVybXMgb2YgdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYwpMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlIHRvIGEgZ2l2ZW4gY29weSBvZiB0aGUgTGlicmFyeS4gIFRvIGRvCnRoaXMsIHlvdSBtdXN0IGFsdGVyIGFsbCB0aGUgbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSwgc28KdGhhdCB0aGV5IHJlZmVyIHRvIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLAppbnN0ZWFkIG9mIHRvIHRoaXMgTGljZW5zZS4gIChJZiBhIG5ld2VyIHZlcnNpb24gdGhhbiB2ZXJzaW9uIDIgb2YgdGhlCm9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGhhcyBhcHBlYXJlZCwgdGhlbiB5b3UgY2FuIHNwZWNpZnkKdGhhdCB2ZXJzaW9uIGluc3RlYWQgaWYgeW91IHdpc2guKSAgRG8gbm90IG1ha2UgYW55IG90aGVyIGNoYW5nZSBpbgp0aGVzZSBub3RpY2VzLgoKICBPbmNlIHRoaXMgY2hhbmdlIGlzIG1hZGUgaW4gYSBnaXZlbiBjb3B5LCBpdCBpcyBpcnJldmVyc2libGUgZm9yCnRoYXQgY29weSwgc28gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gYWxsCnN1YnNlcXVlbnQgY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtzIG1hZGUgZnJvbSB0aGF0IGNvcHkuCgogIFRoaXMgb3B0aW9uIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIGNvcHkgcGFydCBvZiB0aGUgY29kZSBvZgp0aGUgTGlicmFyeSBpbnRvIGEgcHJvZ3JhbSB0aGF0IGlzIG5vdCBhIGxpYnJhcnkuCgogIDQuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYSBwb3J0aW9uIG9yCmRlcml2YXRpdmUgb2YgaXQsIHVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtCnVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFjY29tcGFueQppdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUgc291cmNlIGNvZGUsIHdoaWNoCm11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYQptZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UuCgogIElmIGRpc3RyaWJ1dGlvbiBvZiBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5CmZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlCnNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2Ugc2F0aXNmaWVzIHRoZSByZXF1aXJlbWVudCB0bwpkaXN0cmlidXRlIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90CmNvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCgogIDUuIEEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIG5vIGRlcml2YXRpdmUgb2YgYW55IHBvcnRpb24gb2YgdGhlCkxpYnJhcnksIGJ1dCBpcyBkZXNpZ25lZCB0byB3b3JrIHdpdGggdGhlIExpYnJhcnkgYnkgYmVpbmcgY29tcGlsZWQgb3IKbGlua2VkIHdpdGggaXQsIGlzIGNhbGxlZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIuICBTdWNoIGEKd29yaywgaW4gaXNvbGF0aW9uLCBpcyBub3QgYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnksIGFuZAp0aGVyZWZvcmUgZmFsbHMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgoKICBIb3dldmVyLCBsaW5raW5nIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5CmNyZWF0ZXMgYW4gZXhlY3V0YWJsZSB0aGF0IGlzIGEgZGVyaXZhdGl2ZSBvZiB0aGUgTGlicmFyeSAoYmVjYXVzZSBpdApjb250YWlucyBwb3J0aW9ucyBvZiB0aGUgTGlicmFyeSksIHJhdGhlciB0aGFuIGEgIndvcmsgdGhhdCB1c2VzIHRoZQpsaWJyYXJ5Ii4gIFRoZSBleGVjdXRhYmxlIGlzIHRoZXJlZm9yZSBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZS4KU2VjdGlvbiA2IHN0YXRlcyB0ZXJtcyBmb3IgZGlzdHJpYnV0aW9uIG9mIHN1Y2ggZXhlY3V0YWJsZXMuCgogIFdoZW4gYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHVzZXMgbWF0ZXJpYWwgZnJvbSBhIGhlYWRlciBmaWxlCnRoYXQgaXMgcGFydCBvZiB0aGUgTGlicmFyeSwgdGhlIG9iamVjdCBjb2RlIGZvciB0aGUgd29yayBtYXkgYmUgYQpkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnkgZXZlbiB0aG91Z2ggdGhlIHNvdXJjZSBjb2RlIGlzIG5vdC4KV2hldGhlciB0aGlzIGlzIHRydWUgaXMgZXNwZWNpYWxseSBzaWduaWZpY2FudCBpZiB0aGUgd29yayBjYW4gYmUKbGlua2VkIHdpdGhvdXQgdGhlIExpYnJhcnksIG9yIGlmIHRoZSB3b3JrIGlzIGl0c2VsZiBhIGxpYnJhcnkuICBUaGUKdGhyZXNob2xkIGZvciB0aGlzIHRvIGJlIHRydWUgaXMgbm90IHByZWNpc2VseSBkZWZpbmVkIGJ5IGxhdy4KCiAgSWYgc3VjaCBhbiBvYmplY3QgZmlsZSB1c2VzIG9ubHkgbnVtZXJpY2FsIHBhcmFtZXRlcnMsIGRhdGEKc3RydWN0dXJlIGxheW91dHMgYW5kIGFjY2Vzc29ycywgYW5kIHNtYWxsIG1hY3JvcyBhbmQgc21hbGwgaW5saW5lCmZ1bmN0aW9ucyAodGVuIGxpbmVzIG9yIGxlc3MgaW4gbGVuZ3RoKSwgdGhlbiB0aGUgdXNlIG9mIHRoZSBvYmplY3QKZmlsZSBpcyB1bnJlc3RyaWN0ZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBsZWdhbGx5IGEgZGVyaXZhdGl2ZQp3b3JrLiAgKEV4ZWN1dGFibGVzIGNvbnRhaW5pbmcgdGhpcyBvYmplY3QgY29kZSBwbHVzIHBvcnRpb25zIG9mIHRoZQpMaWJyYXJ5IHdpbGwgc3RpbGwgZmFsbCB1bmRlciBTZWN0aW9uIDYuKQoKICBPdGhlcndpc2UsIGlmIHRoZSB3b3JrIGlzIGEgZGVyaXZhdGl2ZSBvZiB0aGUgTGlicmFyeSwgeW91IG1heQpkaXN0cmlidXRlIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gNi4KQW55IGV4ZWN1dGFibGVzIGNvbnRhaW5pbmcgdGhhdCB3b3JrIGFsc28gZmFsbCB1bmRlciBTZWN0aW9uIDYsCndoZXRoZXIgb3Igbm90IHRoZXkgYXJlIGxpbmtlZCBkaXJlY3RseSB3aXRoIHRoZSBMaWJyYXJ5IGl0c2VsZi4KCiAgNi4gQXMgYW4gZXhjZXB0aW9uIHRvIHRoZSBTZWN0aW9ucyBhYm92ZSwgeW91IG1heSBhbHNvIGNvbWJpbmUgb3IKbGluayBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgd2l0aCB0aGUgTGlicmFyeSB0byBwcm9kdWNlIGEKd29yayBjb250YWluaW5nIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5LCBhbmQgZGlzdHJpYnV0ZSB0aGF0IHdvcmsKdW5kZXIgdGVybXMgb2YgeW91ciBjaG9pY2UsIHByb3ZpZGVkIHRoYXQgdGhlIHRlcm1zIHBlcm1pdAptb2RpZmljYXRpb24gb2YgdGhlIHdvcmsgZm9yIHRoZSBjdXN0b21lcidzIG93biB1c2UgYW5kIHJldmVyc2UKZW5naW5lZXJpbmcgZm9yIGRlYnVnZ2luZyBzdWNoIG1vZGlmaWNhdGlvbnMuCgogIFlvdSBtdXN0IGdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIGVhY2ggY29weSBvZiB0aGUgd29yayB0aGF0IHRoZQpMaWJyYXJ5IGlzIHVzZWQgaW4gaXQgYW5kIHRoYXQgdGhlIExpYnJhcnkgYW5kIGl0cyB1c2UgYXJlIGNvdmVyZWQgYnkKdGhpcyBMaWNlbnNlLiAgWW91IG11c3Qgc3VwcGx5IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZiB0aGUgd29yawpkdXJpbmcgZXhlY3V0aW9uIGRpc3BsYXlzIGNvcHlyaWdodCBub3RpY2VzLCB5b3UgbXVzdCBpbmNsdWRlIHRoZQpjb3B5cmlnaHQgbm90aWNlIGZvciB0aGUgTGlicmFyeSBhbW9uZyB0aGVtLCBhcyB3ZWxsIGFzIGEgcmVmZXJlbmNlCmRpcmVjdGluZyB0aGUgdXNlciB0byB0aGUgY29weSBvZiB0aGlzIExpY2Vuc2UuICBBbHNvLCB5b3UgbXVzdCBkbyBvbmUKb2YgdGhlc2UgdGhpbmdzOgoKICAgIGEpIEFjY29tcGFueSB0aGUgd29yayB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nCiAgICBtYWNoaW5lLXJlYWRhYmxlIHNvdXJjZSBjb2RlIGZvciB0aGUgTGlicmFyeSBpbmNsdWRpbmcgd2hhdGV2ZXIKICAgIGNoYW5nZXMgd2VyZSB1c2VkIGluIHRoZSB3b3JrICh3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyCiAgICBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlKTsgYW5kLCBpZiB0aGUgd29yayBpcyBhbiBleGVjdXRhYmxlIGxpbmtlZAogICAgd2l0aCB0aGUgTGlicmFyeSwgd2l0aCB0aGUgY29tcGxldGUgbWFjaGluZS1yZWFkYWJsZSAid29yayB0aGF0CiAgICB1c2VzIHRoZSBMaWJyYXJ5IiwgYXMgb2JqZWN0IGNvZGUgYW5kL29yIHNvdXJjZSBjb2RlLCBzbyB0aGF0IHRoZQogICAgdXNlciBjYW4gbW9kaWZ5IHRoZSBMaWJyYXJ5IGFuZCB0aGVuIHJlbGluayB0byBwcm9kdWNlIGEgbW9kaWZpZWQKICAgIGV4ZWN1dGFibGUgY29udGFpbmluZyB0aGUgbW9kaWZpZWQgTGlicmFyeS4gIChJdCBpcyB1bmRlcnN0b29kCiAgICB0aGF0IHRoZSB1c2VyIHdobyBjaGFuZ2VzIHRoZSBjb250ZW50cyBvZiBkZWZpbml0aW9ucyBmaWxlcyBpbiB0aGUKICAgIExpYnJhcnkgd2lsbCBub3QgbmVjZXNzYXJpbHkgYmUgYWJsZSB0byByZWNvbXBpbGUgdGhlIGFwcGxpY2F0aW9uCiAgICB0byB1c2UgdGhlIG1vZGlmaWVkIGRlZmluaXRpb25zLikKCiAgICBiKSBVc2UgYSBzdWl0YWJsZSBzaGFyZWQgbGlicmFyeSBtZWNoYW5pc20gZm9yIGxpbmtpbmcgd2l0aCB0aGUKICAgIExpYnJhcnkuICBBIHN1aXRhYmxlIG1lY2hhbmlzbSBpcyBvbmUgdGhhdCAoMSkgdXNlcyBhdCBydW4gdGltZSBhCiAgICBjb3B5IG9mIHRoZSBsaWJyYXJ5IGFscmVhZHkgcHJlc2VudCBvbiB0aGUgdXNlcidzIGNvbXB1dGVyIHN5c3RlbSwKICAgIHJhdGhlciB0aGFuIGNvcHlpbmcgbGlicmFyeSBmdW5jdGlvbnMgaW50byB0aGUgZXhlY3V0YWJsZSwgYW5kICgyKQogICAgd2lsbCBvcGVyYXRlIHByb3Blcmx5IHdpdGggYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCBpZgogICAgdGhlIHVzZXIgaW5zdGFsbHMgb25lLCBhcyBsb25nIGFzIHRoZSBtb2RpZmllZCB2ZXJzaW9uIGlzCiAgICBpbnRlcmZhY2UtY29tcGF0aWJsZSB3aXRoIHRoZSB2ZXJzaW9uIHRoYXQgdGhlIHdvcmsgd2FzIG1hZGUgd2l0aC4KCiAgICBjKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdAogICAgbGVhc3QgdGhyZWUgeWVhcnMsIHRvIGdpdmUgdGhlIHNhbWUgdXNlciB0aGUgbWF0ZXJpYWxzCiAgICBzcGVjaWZpZWQgaW4gU3Vic2VjdGlvbiA2YSwgYWJvdmUsIGZvciBhIGNoYXJnZSBubyBtb3JlCiAgICB0aGFuIHRoZSBjb3N0IG9mIHBlcmZvcm1pbmcgdGhpcyBkaXN0cmlidXRpb24uCgogICAgZCkgSWYgZGlzdHJpYnV0aW9uIG9mIHRoZSB3b3JrIGlzIG1hZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIHRvIGNvcHkKICAgIGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZSBhYm92ZQogICAgc3BlY2lmaWVkIG1hdGVyaWFscyBmcm9tIHRoZSBzYW1lIHBsYWNlLgoKICAgIGUpIFZlcmlmeSB0aGF0IHRoZSB1c2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIGEgY29weSBvZiB0aGVzZQogICAgbWF0ZXJpYWxzIG9yIHRoYXQgeW91IGhhdmUgYWxyZWFkeSBzZW50IHRoaXMgdXNlciBhIGNvcHkuCgogIEZvciBhbiBleGVjdXRhYmxlLCB0aGUgcmVxdWlyZWQgZm9ybSBvZiB0aGUgIndvcmsgdGhhdCB1c2VzIHRoZQpMaWJyYXJ5IiBtdXN0IGluY2x1ZGUgYW55IGRhdGEgYW5kIHV0aWxpdHkgcHJvZ3JhbXMgbmVlZGVkIGZvcgpyZXByb2R1Y2luZyB0aGUgZXhlY3V0YWJsZSBmcm9tIGl0LiAgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwKdGhlIG1hdGVyaWFscyB0byBiZSBkaXN0cmlidXRlZCBuZWVkIG5vdCBpbmNsdWRlIGFueXRoaW5nIHRoYXQgaXMKbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5IGZvcm0pIHdpdGggdGhlIG1ham9yCmNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24Kd2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRoYXQgY29tcG9uZW50IGl0c2VsZiBhY2NvbXBhbmllcwp0aGUgZXhlY3V0YWJsZS4KCiAgSXQgbWF5IGhhcHBlbiB0aGF0IHRoaXMgcmVxdWlyZW1lbnQgY29udHJhZGljdHMgdGhlIGxpY2Vuc2UKcmVzdHJpY3Rpb25zIG9mIG90aGVyIHByb3ByaWV0YXJ5IGxpYnJhcmllcyB0aGF0IGRvIG5vdCBub3JtYWxseQphY2NvbXBhbnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0uICBTdWNoIGEgY29udHJhZGljdGlvbiBtZWFucyB5b3UgY2Fubm90CnVzZSBib3RoIHRoZW0gYW5kIHRoZSBMaWJyYXJ5IHRvZ2V0aGVyIGluIGFuIGV4ZWN1dGFibGUgdGhhdCB5b3UKZGlzdHJpYnV0ZS4KCiAgNy4gWW91IG1heSBwbGFjZSBsaWJyYXJ5IGZhY2lsaXRpZXMgdGhhdCBhcmUgYSB3b3JrIGJhc2VkIG9uIHRoZQpMaWJyYXJ5IHNpZGUtYnktc2lkZSBpbiBhIHNpbmdsZSBsaWJyYXJ5IHRvZ2V0aGVyIHdpdGggb3RoZXIgbGlicmFyeQpmYWNpbGl0aWVzIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgc3VjaCBhIGNvbWJpbmVkCmxpYnJhcnksIHByb3ZpZGVkIHRoYXQgdGhlIHNlcGFyYXRlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd29yayBiYXNlZCBvbgp0aGUgTGlicmFyeSBhbmQgb2YgdGhlIG90aGVyIGxpYnJhcnkgZmFjaWxpdGllcyBpcyBvdGhlcndpc2UKcGVybWl0dGVkLCBhbmQgcHJvdmlkZWQgdGhhdCB5b3UgZG8gdGhlc2UgdHdvIHRoaW5nczoKCiAgICBhKSBBY2NvbXBhbnkgdGhlIGNvbWJpbmVkIGxpYnJhcnkgd2l0aCBhIGNvcHkgb2YgdGhlIHNhbWUgd29yawogICAgYmFzZWQgb24gdGhlIExpYnJhcnksIHVuY29tYmluZWQgd2l0aCBhbnkgb3RoZXIgbGlicmFyeQogICAgZmFjaWxpdGllcy4gIFRoaXMgbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCiAgICBTZWN0aW9ucyBhYm92ZS4KCiAgICBiKSBHaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCB0aGUgY29tYmluZWQgbGlicmFyeSBvZiB0aGUgZmFjdAogICAgdGhhdCBwYXJ0IG9mIGl0IGlzIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSwgYW5kIGV4cGxhaW5pbmcKICAgIHdoZXJlIHRvIGZpbmQgdGhlIGFjY29tcGFueWluZyB1bmNvbWJpbmVkIGZvcm0gb2YgdGhlIHNhbWUgd29yay4KCiAgOC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgsIG9yIGRpc3RyaWJ1dGUKdGhlIExpYnJhcnkgZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkKYXR0ZW1wdCBvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgsIG9yCmRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91cgpyaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsCm9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIgdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMKdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2ggcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgoKICA5LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCnByb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCkxpYnJhcnkpLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCmFsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKdGhlIExpYnJhcnkgb3Igd29ya3MgYmFzZWQgb24gaXQuCgogIDEwLiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCkxpYnJhcnkpLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlCm9yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUsIGxpbmsgd2l0aCBvciBtb2RpZnkgdGhlIExpYnJhcnkKc3ViamVjdCB0byB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgpyZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCllvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGgKdGhpcyBMaWNlbnNlLgoKICAxMS4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAppbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLApjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91Cm1heSBub3QgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgTGlicmFyeSBieQphbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bwpyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBMaWJyYXJ5LgoKSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyIGFueQpwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gYXBwbHksCmFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyIGNpcmN1bXN0YW5jZXMuCgpJdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CnBhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55CnN1Y2ggY2xhaW1zOyB0aGlzIHNlY3Rpb24gaGFzIHRoZSBzb2xlIHB1cnBvc2Ugb2YgcHJvdGVjdGluZyB0aGUKaW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0gd2hpY2ggaXMKaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCmdlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKdGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZwp0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKaW1wb3NlIHRoYXQgY2hvaWNlLgoKVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCmJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgoKICAxMi4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBMaWJyYXJ5IGlzIHJlc3RyaWN0ZWQgaW4KY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCm9yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgTGlicmFyeSB1bmRlciB0aGlzIExpY2Vuc2UgbWF5IGFkZAphbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nIHRob3NlIGNvdW50cmllcywKc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcgY291bnRyaWVzIG5vdCB0aHVzCmV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzIHRoZSBsaW1pdGF0aW9uIGFzIGlmCndyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgoKICAxMy4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcKdmVyc2lvbnMgb2YgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLgpTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsIGJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sCmJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0byBhZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCkVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIExpYnJhcnkKc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kCiJhbnkgbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQKY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIExpYnJhcnkgZG9lcyBub3Qgc3BlY2lmeSBhCmxpY2Vuc2UgdmVyc2lvbiBudW1iZXIsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIDE0LiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgTGlicmFyeSBpbnRvIG90aGVyIGZyZWUKcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGluY29tcGF0aWJsZSB3aXRoIHRoZXNlLAp3cml0ZSB0byB0aGUgYXV0aG9yIHRvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcwpjb3B5cmlnaHRlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZQpTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMgbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyCmRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMgb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMKb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZCBvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcKYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KCgkJCSAgICBOTyBXQVJSQU5UWQoKICAxNS4gQkVDQVVTRSBUSEUgTElCUkFSWSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8KV0FSUkFOVFkgRk9SIFRIRSBMSUJSQVJZLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4KRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IKT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBMSUJSQVJZICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCklNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUKTElCUkFSWSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgTElCUkFSWSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUKVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTgpXUklUSU5HIFdJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1PRElGWQpBTkQvT1IgUkVESVNUUklCVVRFIFRIRSBMSUJSQVJZIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVQpGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SCkNPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFCkxJQlJBUlkgKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcKUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEKRkFJTFVSRSBPRiBUSEUgTElCUkFSWSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFNPRlRXQVJFKSwgRVZFTiBJRgpTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICkRBTUFHRVMuCgoJCSAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCgogICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBMaWJyYXJpZXMKCiAgSWYgeW91IGRldmVsb3AgYSBuZXcgbGlicmFyeSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdApwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgd2UgcmVjb21tZW5kIG1ha2luZyBpdCBmcmVlIHNvZnR3YXJlIHRoYXQKZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlLiAgWW91IGNhbiBkbyBzbyBieSBwZXJtaXR0aW5nCnJlZGlzdHJpYnV0aW9uIHVuZGVyIHRoZXNlIHRlcm1zIChvciwgYWx0ZXJuYXRpdmVseSwgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQpvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlKS4KCiAgVG8gYXBwbHkgdGhlc2UgdGVybXMsIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIGxpYnJhcnkuICBJdCBpcwpzYWZlc3QgdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQpjb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCB0aGUKImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgbGlicmFyeSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoKICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgpZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3IgeW91cgpzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBsaWJyYXJ5LCBpZgpuZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CgogIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlCiAgbGlicmFyeSBgRnJvYicgKGEgbGlicmFyeSBmb3IgdHdlYWtpbmcga25vYnMpIHdyaXR0ZW4gYnkgSmFtZXMgUmFuZG9tIEhhY2tlci4KCiAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTkwCiAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKClRoYXQncyBhbGwgdGhlcmUgaXMgdG8gaXQhCgoK]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/advlist/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/advlist/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/advlist/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiYWR2bGlzdCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhLGIpe3ZhciBjPVtdO3JldHVybiB0aW55bWNlLmVhY2goYi5zcGxpdCgvWyAsXS8pLGZ1bmN0aW9uKGEpe2MucHVzaCh7dGV4dDphLnJlcGxhY2UoL1wtL2csIiAiKS5yZXBsYWNlKC9cYlx3L2csZnVuY3Rpb24oYSl7cmV0dXJuIGEudG9VcHBlckNhc2UoKX0pLGRhdGE6ImRlZmF1bHQiPT1hPyIiOmF9KX0pLGN9ZnVuY3Rpb24gYyhiLGMpe2EudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXt2YXIgZCxlPWEuZG9tLGY9YS5zZWxlY3Rpb247ZD1lLmdldFBhcmVudChmLmdldE5vZGUoKSwib2wsdWwiKSxkJiZkLm5vZGVOYW1lPT1iJiZjIT09ITF8fGEuZXhlY0NvbW1hbmQoIlVMIj09Yj8iSW5zZXJ0VW5vcmRlcmVkTGlzdCI6Ikluc2VydE9yZGVyZWRMaXN0IiksYz1jPT09ITE/Z1tiXTpjLGdbYl09YyxkPWUuZ2V0UGFyZW50KGYuZ2V0Tm9kZSgpLCJvbCx1bCIpLGQmJihlLnNldFN0eWxlKGQsImxpc3RTdHlsZVR5cGUiLGM/YzpudWxsKSxkLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2Utc3R5bGUiKSksYS5mb2N1cygpfSl9ZnVuY3Rpb24gZChiKXt2YXIgYz1hLmRvbS5nZXRTdHlsZShhLmRvbS5nZXRQYXJlbnQoYS5zZWxlY3Rpb24uZ2V0Tm9kZSgpLCJvbCx1bCIpLCJsaXN0U3R5bGVUeXBlIil8fCIiO2IuY29udHJvbC5pdGVtcygpLmVhY2goZnVuY3Rpb24oYSl7YS5hY3RpdmUoYS5zZXR0aW5ncy5kYXRhPT09Yyl9KX12YXIgZSxmLGc9e307ZT1iKCJPTCIsYS5nZXRQYXJhbSgiYWR2bGlzdF9udW1iZXJfc3R5bGVzIiwiZGVmYXVsdCxsb3dlci1hbHBoYSxsb3dlci1ncmVlayxsb3dlci1yb21hbix1cHBlci1hbHBoYSx1cHBlci1yb21hbiIpKSxmPWIoIlVMIixhLmdldFBhcmFtKCJhZHZsaXN0X2J1bGxldF9zdHlsZXMiLCJkZWZhdWx0LGNpcmNsZSxkaXNjLHNxdWFyZSIpKSxhLmFkZEJ1dHRvbigibnVtbGlzdCIse3R5cGU6InNwbGl0YnV0dG9uIix0b29sdGlwOiJOdW1iZXJlZCBsaXN0IixtZW51OmUsb25zaG93OmQsb25zZWxlY3Q6ZnVuY3Rpb24oYSl7YygiT0wiLGEuY29udHJvbC5zZXR0aW5ncy5kYXRhKX0sb25jbGljazpmdW5jdGlvbigpe2MoIk9MIiwhMSl9fSksYS5hZGRCdXR0b24oImJ1bGxpc3QiLHt0eXBlOiJzcGxpdGJ1dHRvbiIsdG9vbHRpcDoiQnVsbGV0IGxpc3QiLG1lbnU6ZixvbnNob3c6ZCxvbnNlbGVjdDpmdW5jdGlvbihhKXtjKCJVTCIsYS5jb250cm9sLnNldHRpbmdzLmRhdGEpfSxvbmNsaWNrOmZ1bmN0aW9uKCl7YygiVUwiLCExKX19KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/anchor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/anchor/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/anchor/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiYW5jaG9yIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dmFyIGI9YS5zZWxlY3Rpb24uZ2V0Tm9kZSgpLGM9IiIsZD0iQSI9PWIudGFnTmFtZSYmIiI9PT1hLmRvbS5nZXRBdHRyaWIoYiwiaHJlZiIpO2QmJihjPWIubmFtZXx8Yi5pZHx8IiIpLGEud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiQW5jaG9yIixib2R5Ont0eXBlOiJ0ZXh0Ym94IixuYW1lOiJuYW1lIixzaXplOjQwLGxhYmVsOiJOYW1lIix2YWx1ZTpjfSxvbnN1Ym1pdDpmdW5jdGlvbihjKXt2YXIgZT1jLmRhdGEubmFtZTtkP2IuaWQ9ZTooYS5zZWxlY3Rpb24uY29sbGFwc2UoITApLGEuZXhlY0NvbW1hbmQoIm1jZUluc2VydENvbnRlbnQiLCExLGEuZG9tLmNyZWF0ZUhUTUwoImEiLHtpZDplfSkpKX19KX1hLmFkZENvbW1hbmQoIm1jZUFuY2hvciIsYiksYS5hZGRCdXR0b24oImFuY2hvciIse2ljb246ImFuY2hvciIsdG9vbHRpcDoiQW5jaG9yIixvbmNsaWNrOmIsc3RhdGVTZWxlY3RvcjoiYTpub3QoW2hyZWZdKSJ9KSxhLmFkZE1lbnVJdGVtKCJhbmNob3IiLHtpY29uOiJhbmNob3IiLHRleHQ6IkFuY2hvciIsY29udGV4dDoiaW5zZXJ0IixvbmNsaWNrOmJ9KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autolink/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autolink/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autolink/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiYXV0b2xpbmsiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSl7ZShhLC0xLCIoIiwhMCl9ZnVuY3Rpb24gYyhhKXtlKGEsMCwiIiwhMCl9ZnVuY3Rpb24gZChhKXtlKGEsLTEsIiIsITEpfWZ1bmN0aW9uIGUoYSxiLGMpe2Z1bmN0aW9uIGQoYSxiKXtpZigwPmImJihiPTApLDM9PWEubm9kZVR5cGUpe3ZhciBjPWEuZGF0YS5sZW5ndGg7Yj5jJiYoYj1jKX1yZXR1cm4gYn1mdW5jdGlvbiBlKGEsYil7MSE9YS5ub2RlVHlwZXx8YS5oYXNDaGlsZE5vZGVzKCk/aC5zZXRTdGFydChhLGQoYSxiKSk6aC5zZXRTdGFydEJlZm9yZShhKX1mdW5jdGlvbiBmKGEsYil7MSE9YS5ub2RlVHlwZXx8YS5oYXNDaGlsZE5vZGVzKCk/aC5zZXRFbmQoYSxkKGEsYikpOmguc2V0RW5kQWZ0ZXIoYSl9dmFyIGgsaSxqLGssbCxtLG4sbyxwLHE7aWYoIkEiIT1hLnNlbGVjdGlvbi5nZXROb2RlKCkudGFnTmFtZSl7aWYoaD1hLnNlbGVjdGlvbi5nZXRSbmcoITApLmNsb25lUmFuZ2UoKSxoLnN0YXJ0T2Zmc2V0PDUpe2lmKG89aC5lbmRDb250YWluZXIucHJldmlvdXNTaWJsaW5nLCFvKXtpZighaC5lbmRDb250YWluZXIuZmlyc3RDaGlsZHx8IWguZW5kQ29udGFpbmVyLmZpcnN0Q2hpbGQubmV4dFNpYmxpbmcpcmV0dXJuO289aC5lbmRDb250YWluZXIuZmlyc3RDaGlsZC5uZXh0U2libGluZ31pZihwPW8ubGVuZ3RoLGUobyxwKSxmKG8scCksaC5lbmRPZmZzZXQ8NSlyZXR1cm47aT1oLmVuZE9mZnNldCxrPW99ZWxzZXtpZihrPWguZW5kQ29udGFpbmVyLDMhPWsubm9kZVR5cGUmJmsuZmlyc3RDaGlsZCl7Zm9yKDszIT1rLm5vZGVUeXBlJiZrLmZpcnN0Q2hpbGQ7KWs9ay5maXJzdENoaWxkOzM9PWsubm9kZVR5cGUmJihlKGssMCksZihrLGsubm9kZVZhbHVlLmxlbmd0aCkpfWk9MT09aC5lbmRPZmZzZXQ/MjpoLmVuZE9mZnNldC0xLWJ9aj1pO2RvIGUoayxpPj0yP2ktMjowKSxmKGssaT49MT9pLTE6MCksaS09MSxxPWgudG9TdHJpbmcoKTt3aGlsZSgiICIhPXEmJiIiIT09cSYmMTYwIT1xLmNoYXJDb2RlQXQoMCkmJmktMj49MCYmcSE9Yyk7aC50b1N0cmluZygpPT1jfHwxNjA9PWgudG9TdHJpbmcoKS5jaGFyQ29kZUF0KDApPyhlKGssaSksZihrLGopLGkrPTEpOjA9PT1oLnN0YXJ0T2Zmc2V0PyhlKGssMCksZihrLGopKTooZShrLGkpLGYoayxqKSksbT1oLnRvU3RyaW5nKCksIi4iPT1tLmNoYXJBdChtLmxlbmd0aC0xKSYmZihrLGotMSksbT1oLnRvU3RyaW5nKCksbj1tLm1hdGNoKGcpLG4mJigid3d3LiI9PW5bMV0/blsxXT0iaHR0cDovL3d3dy4iOi9AJC8udGVzdChuWzFdKSYmIS9ebWFpbHRvOi8udGVzdChuWzFdKSYmKG5bMV09Im1haWx0bzoiK25bMV0pLGw9YS5zZWxlY3Rpb24uZ2V0Qm9va21hcmsoKSxhLnNlbGVjdGlvbi5zZXRSbmcoaCksYS5leGVjQ29tbWFuZCgiY3JlYXRlbGluayIsITEsblsxXStuWzJdKSxhLnNlbGVjdGlvbi5tb3ZlVG9Cb29rbWFyayhsKSxhLm5vZGVDaGFuZ2VkKCkpfX12YXIgZixnPS9eKGh0dHBzPzpcL1wvfHNzaDpcL1wvfGZ0cDpcL1wvfGZpbGU6XC98d3d3XC58KD86bWFpbHRvOik/W0EtWjAtOS5fJStcLV0rQCkoLispJC9pO3JldHVybiBhLnNldHRpbmdzLmF1dG9saW5rX3BhdHRlcm4mJihnPWEuc2V0dGluZ3MuYXV0b2xpbmtfcGF0dGVybiksYS5vbigia2V5ZG93biIsZnVuY3Rpb24oYil7cmV0dXJuIDEzPT1iLmtleUNvZGU/ZChhKTp2b2lkIDB9KSx0aW55bWNlLkVudi5pZT92b2lkIGEub24oImZvY3VzIixmdW5jdGlvbigpe2lmKCFmKXtmPSEwO3RyeXthLmV4ZWNDb21tYW5kKCJBdXRvVXJsRGV0ZWN0IiwhMSwhMCl9Y2F0Y2goYil7fX19KTooYS5vbigia2V5cHJlc3MiLGZ1bmN0aW9uKGMpe3JldHVybiA0MT09Yy5rZXlDb2RlP2IoYSk6dm9pZCAwfSksdm9pZCBhLm9uKCJrZXl1cCIsZnVuY3Rpb24oYil7cmV0dXJuIDMyPT1iLmtleUNvZGU/YyhhKTp2b2lkIDB9KSl9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autoresize/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autoresize/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autoresize/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiYXV0b3Jlc2l6ZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3JldHVybiBhLnBsdWdpbnMuZnVsbHNjcmVlbiYmYS5wbHVnaW5zLmZ1bGxzY3JlZW4uaXNGdWxsc2NyZWVuKCl9ZnVuY3Rpb24gYyhkKXt2YXIgZyxoLGksaixrLGwsbSxuLG8scCxxLHIscz10aW55bWNlLkRPTTtpZihoPWEuZ2V0RG9jKCkpe2lmKGk9aC5ib2R5LGo9aC5kb2N1bWVudEVsZW1lbnQsaz1lLmF1dG9yZXNpemVfbWluX2hlaWdodCwhaXx8ZCYmInNldGNvbnRlbnQiPT09ZC50eXBlJiZkLmluaXRpYWx8fGIoKSlyZXR1cm4gdm9pZChpJiZqJiYoaS5zdHlsZS5vdmVyZmxvd1k9ImF1dG8iLGouc3R5bGUub3ZlcmZsb3dZPSJhdXRvIikpO209YS5kb20uZ2V0U3R5bGUoaSwibWFyZ2luLXRvcCIsITApLG49YS5kb20uZ2V0U3R5bGUoaSwibWFyZ2luLWJvdHRvbSIsITApLG89YS5kb20uZ2V0U3R5bGUoaSwicGFkZGluZy10b3AiLCEwKSxwPWEuZG9tLmdldFN0eWxlKGksInBhZGRpbmctYm90dG9tIiwhMCkscT1hLmRvbS5nZXRTdHlsZShpLCJib3JkZXItdG9wLXdpZHRoIiwhMCkscj1hLmRvbS5nZXRTdHlsZShpLCJib3JkZXItYm90dG9tLXdpZHRoIiwhMCksbD1pLm9mZnNldEhlaWdodCtwYXJzZUludChtLDEwKStwYXJzZUludChuLDEwKStwYXJzZUludChvLDEwKStwYXJzZUludChwLDEwKStwYXJzZUludChxLDEwKStwYXJzZUludChyLDEwKSwoaXNOYU4obCl8fDA+PWwpJiYobD10aW55bWNlLkVudi5pZT9pLnNjcm9sbEhlaWdodDp0aW55bWNlLkVudi53ZWJraXQmJjA9PT1pLmNsaWVudEhlaWdodD8wOmkub2Zmc2V0SGVpZ2h0KSxsPmUuYXV0b3Jlc2l6ZV9taW5faGVpZ2h0JiYoaz1sKSxlLmF1dG9yZXNpemVfbWF4X2hlaWdodCYmbD5lLmF1dG9yZXNpemVfbWF4X2hlaWdodD8oaz1lLmF1dG9yZXNpemVfbWF4X2hlaWdodCxpLnN0eWxlLm92ZXJmbG93WT0iYXV0byIsai5zdHlsZS5vdmVyZmxvd1k9ImF1dG8iKTooaS5zdHlsZS5vdmVyZmxvd1k9ImhpZGRlbiIsai5zdHlsZS5vdmVyZmxvd1k9ImhpZGRlbiIsaS5zY3JvbGxUb3A9MCksayE9PWYmJihnPWstZixzLnNldFN0eWxlKGEuaWZyYW1lRWxlbWVudCwiaGVpZ2h0IixrKyJweCIpLGY9ayx0aW55bWNlLmlzV2ViS2l0JiYwPmcmJmMoZCkpfX1mdW5jdGlvbiBkKGIsZSxmKXt0aW55bWNlLnV0aWwuRGVsYXkuc2V0RWRpdG9yVGltZW91dChhLGZ1bmN0aW9uKCl7Yyh7fSksYi0tP2QoYixlLGYpOmYmJmYoKX0sZSl9dmFyIGU9YS5zZXR0aW5ncyxmPTA7YS5zZXR0aW5ncy5pbmxpbmV8fChlLmF1dG9yZXNpemVfbWluX2hlaWdodD1wYXJzZUludChhLmdldFBhcmFtKCJhdXRvcmVzaXplX21pbl9oZWlnaHQiLGEuZ2V0RWxlbWVudCgpLm9mZnNldEhlaWdodCksMTApLGUuYXV0b3Jlc2l6ZV9tYXhfaGVpZ2h0PXBhcnNlSW50KGEuZ2V0UGFyYW0oImF1dG9yZXNpemVfbWF4X2hlaWdodCIsMCksMTApLGEub24oImluaXQiLGZ1bmN0aW9uKCl7dmFyIGIsYztiPWEuZ2V0UGFyYW0oImF1dG9yZXNpemVfb3ZlcmZsb3dfcGFkZGluZyIsMSksYz1hLmdldFBhcmFtKCJhdXRvcmVzaXplX2JvdHRvbV9tYXJnaW4iLDUwKSxiIT09ITEmJmEuZG9tLnNldFN0eWxlcyhhLmdldEJvZHkoKSx7cGFkZGluZ0xlZnQ6YixwYWRkaW5nUmlnaHQ6Yn0pLGMhPT0hMSYmYS5kb20uc2V0U3R5bGVzKGEuZ2V0Qm9keSgpLHtwYWRkaW5nQm90dG9tOmN9KX0pLGEub24oIm5vZGVjaGFuZ2Ugc2V0Y29udGVudCBrZXl1cCBGdWxsc2NyZWVuU3RhdGVDaGFuZ2VkIixjKSxhLmdldFBhcmFtKCJhdXRvcmVzaXplX29uX2luaXQiLCEwKSYmYS5vbigiaW5pdCIsZnVuY3Rpb24oKXtkKDIwLDEwMCxmdW5jdGlvbigpe2QoNSwxZTMpfSl9KSxhLmFkZENvbW1hbmQoIm1jZUF1dG9SZXNpemUiLGMpKX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autosave/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autosave/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/autosave/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5fYmVmb3JlVW5sb2FkSGFuZGxlcj1mdW5jdGlvbigpe3ZhciBhO3JldHVybiB0aW55bWNlLmVhY2godGlueW1jZS5lZGl0b3JzLGZ1bmN0aW9uKGIpe2IucGx1Z2lucy5hdXRvc2F2ZSYmYi5wbHVnaW5zLmF1dG9zYXZlLnN0b3JlRHJhZnQoKSwhYSYmYi5pc0RpcnR5KCkmJmIuZ2V0UGFyYW0oImF1dG9zYXZlX2Fza19iZWZvcmVfdW5sb2FkIiwhMCkmJihhPWIudHJhbnNsYXRlKCJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIG5hdmlnYXRlIGF3YXk/IikpfSksYX0sdGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiYXV0b3NhdmUiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSxiKXt2YXIgYz17czoxZTMsbTo2ZTR9O3JldHVybiBhPS9eKFxkKykoW21zXT8pJC8uZXhlYygiIisoYXx8YikpLChhWzJdP2NbYVsyXV06MSkqcGFyc2VJbnQoYSwxMCl9ZnVuY3Rpb24gYygpe3ZhciBhPXBhcnNlSW50KG4uZ2V0SXRlbShrKyJ0aW1lIiksMTApfHwwO3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpLWE+bS5hdXRvc2F2ZV9yZXRlbnRpb24/KGQoITEpLCExKTohMH1mdW5jdGlvbiBkKGIpe24ucmVtb3ZlSXRlbShrKyJkcmFmdCIpLG4ucmVtb3ZlSXRlbShrKyJ0aW1lIiksYiE9PSExJiZhLmZpcmUoIlJlbW92ZURyYWZ0Iil9ZnVuY3Rpb24gZSgpeyFqKCkmJmEuaXNEaXJ0eSgpJiYobi5zZXRJdGVtKGsrImRyYWZ0IixhLmdldENvbnRlbnQoe2Zvcm1hdDoicmF3Iixub19ldmVudHM6ITB9KSksbi5zZXRJdGVtKGsrInRpbWUiLChuZXcgRGF0ZSkuZ2V0VGltZSgpKSxhLmZpcmUoIlN0b3JlRHJhZnQiKSl9ZnVuY3Rpb24gZigpe2MoKSYmKGEuc2V0Q29udGVudChuLmdldEl0ZW0oaysiZHJhZnQiKSx7Zm9ybWF0OiJyYXcifSksYS5maXJlKCJSZXN0b3JlRHJhZnQiKSl9ZnVuY3Rpb24gZygpe2x8fChzZXRJbnRlcnZhbChmdW5jdGlvbigpe2EucmVtb3ZlZHx8ZSgpfSxtLmF1dG9zYXZlX2ludGVydmFsKSxsPSEwKX1mdW5jdGlvbiBoKCl7dmFyIGI9dGhpcztiLmRpc2FibGVkKCFjKCkpLGEub24oIlN0b3JlRHJhZnQgUmVzdG9yZURyYWZ0IFJlbW92ZURyYWZ0IixmdW5jdGlvbigpe2IuZGlzYWJsZWQoIWMoKSl9KSxnKCl9ZnVuY3Rpb24gaSgpe2EudW5kb01hbmFnZXIuYmVmb3JlQ2hhbmdlKCksZigpLGQoKSxhLnVuZG9NYW5hZ2VyLmFkZCgpfWZ1bmN0aW9uIGooYil7dmFyIGM9YS5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9jaztyZXR1cm4gYj10aW55bWNlLnRyaW0oInVuZGVmaW5lZCI9PXR5cGVvZiBiP2EuZ2V0Qm9keSgpLmlubmVySFRNTDpiKSwiIj09PWJ8fG5ldyBSZWdFeHAoIl48IitjKyJbXj5dKj4oKFx4YTB8Jm5ic3A7fFsgCV18PGJyW14+XSo+KSs/fCk8LyIrYysiPnw8YnI+JCIsImkiKS50ZXN0KGIpfXZhciBrLGwsbT1hLnNldHRpbmdzLG49dGlueW1jZS51dGlsLkxvY2FsU3RvcmFnZTtrPW0uYXV0b3NhdmVfcHJlZml4fHwidGlueW1jZS1hdXRvc2F2ZS17cGF0aH17cXVlcnl9LXtpZH0tIixrPWsucmVwbGFjZSgvXHtwYXRoXH0vZyxkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSksaz1rLnJlcGxhY2UoL1x7cXVlcnlcfS9nLGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCksaz1rLnJlcGxhY2UoL1x7aWRcfS9nLGEuaWQpLG0uYXV0b3NhdmVfaW50ZXJ2YWw9YihtLmF1dG9zYXZlX2ludGVydmFsLCIzMHMiKSxtLmF1dG9zYXZlX3JldGVudGlvbj1iKG0uYXV0b3NhdmVfcmV0ZW50aW9uLCIyMG0iKSxhLmFkZEJ1dHRvbigicmVzdG9yZWRyYWZ0Iix7dGl0bGU6IlJlc3RvcmUgbGFzdCBkcmFmdCIsb25jbGljazppLG9uUG9zdFJlbmRlcjpofSksYS5hZGRNZW51SXRlbSgicmVzdG9yZWRyYWZ0Iix7dGV4dDoiUmVzdG9yZSBsYXN0IGRyYWZ0IixvbmNsaWNrOmksb25Qb3N0UmVuZGVyOmgsY29udGV4dDoiZmlsZSJ9KSxhLnNldHRpbmdzLmF1dG9zYXZlX3Jlc3RvcmVfd2hlbl9lbXB0eSE9PSExJiYoYS5vbigiaW5pdCIsZnVuY3Rpb24oKXtjKCkmJmooKSYmZigpfSksYS5vbigic2F2ZUNvbnRlbnQiLGZ1bmN0aW9uKCl7ZCgpfSkpLHdpbmRvdy5vbmJlZm9yZXVubG9hZD10aW55bWNlLl9iZWZvcmVVbmxvYWRIYW5kbGVyLHRoaXMuaGFzRHJhZnQ9Yyx0aGlzLnN0b3JlRHJhZnQ9ZSx0aGlzLnJlc3RvcmVEcmFmdD1mLHRoaXMucmVtb3ZlRHJhZnQ9ZCx0aGlzLmlzRW1wdHk9an0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/bbcode/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/bbcode/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/bbcode/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKCl7dGlueW1jZS5jcmVhdGUoInRpbnltY2UucGx1Z2lucy5CQkNvZGVQbHVnaW4iLHtpbml0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1hLmdldFBhcmFtKCJiYmNvZGVfZGlhbGVjdCIsInB1bmJiIikudG9Mb3dlckNhc2UoKTthLm9uKCJiZWZvcmVTZXRDb250ZW50IixmdW5jdGlvbihhKXthLmNvbnRlbnQ9YlsiXyIrYysiX2JiY29kZTJodG1sIl0oYS5jb250ZW50KX0pLGEub24oInBvc3RQcm9jZXNzIixmdW5jdGlvbihhKXthLnNldCYmKGEuY29udGVudD1iWyJfIitjKyJfYmJjb2RlMmh0bWwiXShhLmNvbnRlbnQpKSxhLmdldCYmKGEuY29udGVudD1iWyJfIitjKyJfaHRtbDJiYmNvZGUiXShhLmNvbnRlbnQpKX0pfSxnZXRJbmZvOmZ1bmN0aW9uKCl7cmV0dXJue2xvbmduYW1lOiJCQkNvZGUgUGx1Z2luIixhdXRob3I6IkVwaG94IENvcnAiLGF1dGhvcnVybDoiaHR0cDovL3d3dy50aW55bWNlLmNvbSIsaW5mb3VybDoiaHR0cDovL3d3dy50aW55bWNlLmNvbS93aWtpLnBocC9QbHVnaW46YmJjb2RlIn19LF9wdW5iYl9odG1sMmJiY29kZTpmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGIsYyl7YT1hLnJlcGxhY2UoYixjKX1yZXR1cm4gYT10aW55bWNlLnRyaW0oYSksYigvPGEuKj9ocmVmPVwiKC4qPylcIi4qPz4oLio/KTxcL2E+L2dpLCJbdXJsPSQxXSQyWy91cmxdIiksYigvPGZvbnQuKj9jb2xvcj1cIiguKj8pXCIuKj9jbGFzcz1cImNvZGVTdHlsZVwiLio/PiguKj8pPFwvZm9udD4vZ2ksIltjb2RlXVtjb2xvcj0kMV0kMlsvY29sb3JdWy9jb2RlXSIpLGIoLzxmb250Lio/Y29sb3I9XCIoLio/KVwiLio/Y2xhc3M9XCJxdW90ZVN0eWxlXCIuKj8+KC4qPyk8XC9mb250Pi9naSwiW3F1b3RlXVtjb2xvcj0kMV0kMlsvY29sb3JdWy9xdW90ZV0iKSxiKC88Zm9udC4qP2NsYXNzPVwiY29kZVN0eWxlXCIuKj9jb2xvcj1cIiguKj8pXCIuKj8+KC4qPyk8XC9mb250Pi9naSwiW2NvZGVdW2NvbG9yPSQxXSQyWy9jb2xvcl1bL2NvZGVdIiksYigvPGZvbnQuKj9jbGFzcz1cInF1b3RlU3R5bGVcIi4qP2NvbG9yPVwiKC4qPylcIi4qPz4oLio/KTxcL2ZvbnQ+L2dpLCJbcXVvdGVdW2NvbG9yPSQxXSQyWy9jb2xvcl1bL3F1b3RlXSIpLGIoLzxzcGFuIHN0eWxlPVwiY29sb3I6ID8oLio/KTtcIj4oLio/KTxcL3NwYW4+L2dpLCJbY29sb3I9JDFdJDJbL2NvbG9yXSIpLGIoLzxmb250Lio/Y29sb3I9XCIoLio/KVwiLio/PiguKj8pPFwvZm9udD4vZ2ksIltjb2xvcj0kMV0kMlsvY29sb3JdIiksYigvPHNwYW4gc3R5bGU9XCJmb250LXNpemU6KC4qPyk7XCI+KC4qPyk8XC9zcGFuPi9naSwiW3NpemU9JDFdJDJbL3NpemVdIiksYigvPGZvbnQ+KC4qPyk8XC9mb250Pi9naSwiJDEiKSxiKC88aW1nLio/c3JjPVwiKC4qPylcIi4qP1wvPi9naSwiW2ltZ10kMVsvaW1nXSIpLGIoLzxzcGFuIGNsYXNzPVwiY29kZVN0eWxlXCI+KC4qPyk8XC9zcGFuPi9naSwiW2NvZGVdJDFbL2NvZGVdIiksYigvPHNwYW4gY2xhc3M9XCJxdW90ZVN0eWxlXCI+KC4qPyk8XC9zcGFuPi9naSwiW3F1b3RlXSQxWy9xdW90ZV0iKSxiKC88c3Ryb25nIGNsYXNzPVwiY29kZVN0eWxlXCI+KC4qPyk8XC9zdHJvbmc+L2dpLCJbY29kZV1bYl0kMVsvYl1bL2NvZGVdIiksYigvPHN0cm9uZyBjbGFzcz1cInF1b3RlU3R5bGVcIj4oLio/KTxcL3N0cm9uZz4vZ2ksIltxdW90ZV1bYl0kMVsvYl1bL3F1b3RlXSIpLGIoLzxlbSBjbGFzcz1cImNvZGVTdHlsZVwiPiguKj8pPFwvZW0+L2dpLCJbY29kZV1baV0kMVsvaV1bL2NvZGVdIiksYigvPGVtIGNsYXNzPVwicXVvdGVTdHlsZVwiPiguKj8pPFwvZW0+L2dpLCJbcXVvdGVdW2ldJDFbL2ldWy9xdW90ZV0iKSxiKC88dSBjbGFzcz1cImNvZGVTdHlsZVwiPiguKj8pPFwvdT4vZ2ksIltjb2RlXVt1XSQxWy91XVsvY29kZV0iKSxiKC88dSBjbGFzcz1cInF1b3RlU3R5bGVcIj4oLio/KTxcL3U+L2dpLCJbcXVvdGVdW3VdJDFbL3VdWy9xdW90ZV0iKSxiKC88XC8oc3Ryb25nfGIpPi9naSwiWy9iXSIpLGIoLzwoc3Ryb25nfGIpPi9naSwiW2JdIiksYigvPFwvKGVtfGkpPi9naSwiWy9pXSIpLGIoLzwoZW18aSk+L2dpLCJbaV0iKSxiKC88XC91Pi9naSwiWy91XSIpLGIoLzxzcGFuIHN0eWxlPVwidGV4dC1kZWNvcmF0aW9uOiA/dW5kZXJsaW5lO1wiPiguKj8pPFwvc3Bhbj4vZ2ksIlt1XSQxWy91XSIpLGIoLzx1Pi9naSwiW3VdIiksYigvPGJsb2NrcXVvdGVbXj5dKj4vZ2ksIltxdW90ZV0iKSxiKC88XC9ibG9ja3F1b3RlPi9naSwiWy9xdW90ZV0iKSxiKC88YnIgXC8+L2dpLCJcbiIpLGIoLzxiclwvPi9naSwiXG4iKSxiKC88YnI+L2dpLCJcbiIpLGIoLzxwPi9naSwiIiksYigvPFwvcD4vZ2ksIlxuIiksYigvJm5ic3A7fFx1MDBhMC9naSwiICIpLGIoLyZxdW90Oy9naSwnIicpLGIoLyZsdDsvZ2ksIjwiKSxiKC8mZ3Q7L2dpLCI+IiksYigvJmFtcDsvZ2ksIiYiKSxhfSxfcHVuYmJfYmJjb2RlMmh0bWw6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihiLGMpe2E9YS5yZXBsYWNlKGIsYyl9cmV0dXJuIGE9dGlueW1jZS50cmltKGEpLGIoL1xuL2dpLCI8YnIgLz4iKSxiKC9cW2JcXS9naSwiPHN0cm9uZz4iKSxiKC9cW1wvYlxdL2dpLCI8L3N0cm9uZz4iKSxiKC9cW2lcXS9naSwiPGVtPiIpLGIoL1xbXC9pXF0vZ2ksIjwvZW0+IiksYigvXFt1XF0vZ2ksIjx1PiIpLGIoL1xbXC91XF0vZ2ksIjwvdT4iKSxiKC9cW3VybD0oW15cXV0rKVxdKC4qPylcW1wvdXJsXF0vZ2ksJzxhIGhyZWY9IiQxIj4kMjwvYT4nKSxiKC9cW3VybFxdKC4qPylcW1wvdXJsXF0vZ2ksJzxhIGhyZWY9IiQxIj4kMTwvYT4nKSxiKC9cW2ltZ1xdKC4qPylcW1wvaW1nXF0vZ2ksJzxpbWcgc3JjPSIkMSIgLz4nKSxiKC9cW2NvbG9yPSguKj8pXF0oLio/KVxbXC9jb2xvclxdL2dpLCc8Zm9udCBjb2xvcj0iJDEiPiQyPC9mb250PicpLGIoL1xbY29kZVxdKC4qPylcW1wvY29kZVxdL2dpLCc8c3BhbiBjbGFzcz0iY29kZVN0eWxlIj4kMTwvc3Bhbj4mbmJzcDsnKSxiKC9cW3F1b3RlLio/XF0oLio/KVxbXC9xdW90ZVxdL2dpLCc8c3BhbiBjbGFzcz0icXVvdGVTdHlsZSI+JDE8L3NwYW4+Jm5ic3A7JyksYX19KSx0aW55bWNlLlBsdWdpbk1hbmFnZXIuYWRkKCJiYmNvZGUiLHRpbnltY2UucGx1Z2lucy5CQkNvZGVQbHVnaW4pfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/charmap/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/charmap/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/charmap/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiY2hhcm1hcCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3JldHVybltbIjE2MCIsIm5vLWJyZWFrIHNwYWNlIl0sWyIxNzMiLCJzb2Z0IGh5cGhlbiJdLFsiMzQiLCJxdW90YXRpb24gbWFyayJdLFsiMTYyIiwiY2VudCBzaWduIl0sWyI4MzY0IiwiZXVybyBzaWduIl0sWyIxNjMiLCJwb3VuZCBzaWduIl0sWyIxNjUiLCJ5ZW4gc2lnbiJdLFsiMTY5IiwiY29weXJpZ2h0IHNpZ24iXSxbIjE3NCIsInJlZ2lzdGVyZWQgc2lnbiJdLFsiODQ4MiIsInRyYWRlIG1hcmsgc2lnbiJdLFsiODI0MCIsInBlciBtaWxsZSBzaWduIl0sWyIxODEiLCJtaWNybyBzaWduIl0sWyIxODMiLCJtaWRkbGUgZG90Il0sWyI4MjI2IiwiYnVsbGV0Il0sWyI4MjMwIiwidGhyZWUgZG90IGxlYWRlciJdLFsiODI0MiIsIm1pbnV0ZXMgLyBmZWV0Il0sWyI4MjQzIiwic2Vjb25kcyAvIGluY2hlcyJdLFsiMTY3Iiwic2VjdGlvbiBzaWduIl0sWyIxODIiLCJwYXJhZ3JhcGggc2lnbiJdLFsiMjIzIiwic2hhcnAgcyAvIGVzcy16ZWQiXSxbIjgyNDkiLCJzaW5nbGUgbGVmdC1wb2ludGluZyBhbmdsZSBxdW90YXRpb24gbWFyayJdLFsiODI1MCIsInNpbmdsZSByaWdodC1wb2ludGluZyBhbmdsZSBxdW90YXRpb24gbWFyayJdLFsiMTcxIiwibGVmdCBwb2ludGluZyBndWlsbGVtZXQiXSxbIjE4NyIsInJpZ2h0IHBvaW50aW5nIGd1aWxsZW1ldCJdLFsiODIxNiIsImxlZnQgc2luZ2xlIHF1b3RhdGlvbiBtYXJrIl0sWyI4MjE3IiwicmlnaHQgc2luZ2xlIHF1b3RhdGlvbiBtYXJrIl0sWyI4MjIwIiwibGVmdCBkb3VibGUgcXVvdGF0aW9uIG1hcmsiXSxbIjgyMjEiLCJyaWdodCBkb3VibGUgcXVvdGF0aW9uIG1hcmsiXSxbIjgyMTgiLCJzaW5nbGUgbG93LTkgcXVvdGF0aW9uIG1hcmsiXSxbIjgyMjIiLCJkb3VibGUgbG93LTkgcXVvdGF0aW9uIG1hcmsiXSxbIjYwIiwibGVzcy10aGFuIHNpZ24iXSxbIjYyIiwiZ3JlYXRlci10aGFuIHNpZ24iXSxbIjg4MDQiLCJsZXNzLXRoYW4gb3IgZXF1YWwgdG8iXSxbIjg4MDUiLCJncmVhdGVyLXRoYW4gb3IgZXF1YWwgdG8iXSxbIjgyMTEiLCJlbiBkYXNoIl0sWyI4MjEyIiwiZW0gZGFzaCJdLFsiMTc1IiwibWFjcm9uIl0sWyI4MjU0Iiwib3ZlcmxpbmUiXSxbIjE2NCIsImN1cnJlbmN5IHNpZ24iXSxbIjE2NiIsImJyb2tlbiBiYXIiXSxbIjE2OCIsImRpYWVyZXNpcyJdLFsiMTYxIiwiaW52ZXJ0ZWQgZXhjbGFtYXRpb24gbWFyayJdLFsiMTkxIiwidHVybmVkIHF1ZXN0aW9uIG1hcmsiXSxbIjcxMCIsImNpcmN1bWZsZXggYWNjZW50Il0sWyI3MzIiLCJzbWFsbCB0aWxkZSJdLFsiMTc2IiwiZGVncmVlIHNpZ24iXSxbIjg3MjIiLCJtaW51cyBzaWduIl0sWyIxNzciLCJwbHVzLW1pbnVzIHNpZ24iXSxbIjI0NyIsImRpdmlzaW9uIHNpZ24iXSxbIjgyNjAiLCJmcmFjdGlvbiBzbGFzaCJdLFsiMjE1IiwibXVsdGlwbGljYXRpb24gc2lnbiJdLFsiMTg1Iiwic3VwZXJzY3JpcHQgb25lIl0sWyIxNzgiLCJzdXBlcnNjcmlwdCB0d28iXSxbIjE3OSIsInN1cGVyc2NyaXB0IHRocmVlIl0sWyIxODgiLCJmcmFjdGlvbiBvbmUgcXVhcnRlciJdLFsiMTg5IiwiZnJhY3Rpb24gb25lIGhhbGYiXSxbIjE5MCIsImZyYWN0aW9uIHRocmVlIHF1YXJ0ZXJzIl0sWyI0MDIiLCJmdW5jdGlvbiAvIGZsb3JpbiJdLFsiODc0NyIsImludGVncmFsIl0sWyI4NzIxIiwibi1hcnkgc3VtYXRpb24iXSxbIjg3MzQiLCJpbmZpbml0eSJdLFsiODczMCIsInNxdWFyZSByb290Il0sWyI4NzY0Iiwic2ltaWxhciB0byJdLFsiODc3MyIsImFwcHJveGltYXRlbHkgZXF1YWwgdG8iXSxbIjg3NzYiLCJhbG1vc3QgZXF1YWwgdG8iXSxbIjg4MDAiLCJub3QgZXF1YWwgdG8iXSxbIjg4MDEiLCJpZGVudGljYWwgdG8iXSxbIjg3MTIiLCJlbGVtZW50IG9mIl0sWyI4NzEzIiwibm90IGFuIGVsZW1lbnQgb2YiXSxbIjg3MTUiLCJjb250YWlucyBhcyBtZW1iZXIiXSxbIjg3MTkiLCJuLWFyeSBwcm9kdWN0Il0sWyI4NzQzIiwibG9naWNhbCBhbmQiXSxbIjg3NDQiLCJsb2dpY2FsIG9yIl0sWyIxNzIiLCJub3Qgc2lnbiJdLFsiODc0NSIsImludGVyc2VjdGlvbiJdLFsiODc0NiIsInVuaW9uIl0sWyI4NzA2IiwicGFydGlhbCBkaWZmZXJlbnRpYWwiXSxbIjg3MDQiLCJmb3IgYWxsIl0sWyI4NzA3IiwidGhlcmUgZXhpc3RzIl0sWyI4NzA5IiwiZGlhbWV0ZXIiXSxbIjg3MTEiLCJiYWNrd2FyZCBkaWZmZXJlbmNlIl0sWyI4NzI3IiwiYXN0ZXJpc2sgb3BlcmF0b3IiXSxbIjg3MzMiLCJwcm9wb3J0aW9uYWwgdG8iXSxbIjg3MzYiLCJhbmdsZSJdLFsiMTgwIiwiYWN1dGUgYWNjZW50Il0sWyIxODQiLCJjZWRpbGxhIl0sWyIxNzAiLCJmZW1pbmluZSBvcmRpbmFsIGluZGljYXRvciJdLFsiMTg2IiwibWFzY3VsaW5lIG9yZGluYWwgaW5kaWNhdG9yIl0sWyI4MjI0IiwiZGFnZ2VyIl0sWyI4MjI1IiwiZG91YmxlIGRhZ2dlciJdLFsiMTkyIiwiQSAtIGdyYXZlIl0sWyIxOTMiLCJBIC0gYWN1dGUiXSxbIjE5NCIsIkEgLSBjaXJjdW1mbGV4Il0sWyIxOTUiLCJBIC0gdGlsZGUiXSxbIjE5NiIsIkEgLSBkaWFlcmVzaXMiXSxbIjE5NyIsIkEgLSByaW5nIGFib3ZlIl0sWyIxOTgiLCJsaWdhdHVyZSBBRSJdLFsiMTk5IiwiQyAtIGNlZGlsbGEiXSxbIjIwMCIsIkUgLSBncmF2ZSJdLFsiMjAxIiwiRSAtIGFjdXRlIl0sWyIyMDIiLCJFIC0gY2lyY3VtZmxleCJdLFsiMjAzIiwiRSAtIGRpYWVyZXNpcyJdLFsiMjA0IiwiSSAtIGdyYXZlIl0sWyIyMDUiLCJJIC0gYWN1dGUiXSxbIjIwNiIsIkkgLSBjaXJjdW1mbGV4Il0sWyIyMDciLCJJIC0gZGlhZXJlc2lzIl0sWyIyMDgiLCJFVEgiXSxbIjIwOSIsIk4gLSB0aWxkZSJdLFsiMjEwIiwiTyAtIGdyYXZlIl0sWyIyMTEiLCJPIC0gYWN1dGUiXSxbIjIxMiIsIk8gLSBjaXJjdW1mbGV4Il0sWyIyMTMiLCJPIC0gdGlsZGUiXSxbIjIxNCIsIk8gLSBkaWFlcmVzaXMiXSxbIjIxNiIsIk8gLSBzbGFzaCJdLFsiMzM4IiwibGlnYXR1cmUgT0UiXSxbIjM1MiIsIlMgLSBjYXJvbiJdLFsiMjE3IiwiVSAtIGdyYXZlIl0sWyIyMTgiLCJVIC0gYWN1dGUiXSxbIjIxOSIsIlUgLSBjaXJjdW1mbGV4Il0sWyIyMjAiLCJVIC0gZGlhZXJlc2lzIl0sWyIyMjEiLCJZIC0gYWN1dGUiXSxbIjM3NiIsIlkgLSBkaWFlcmVzaXMiXSxbIjIyMiIsIlRIT1JOIl0sWyIyMjQiLCJhIC0gZ3JhdmUiXSxbIjIyNSIsImEgLSBhY3V0ZSJdLFsiMjI2IiwiYSAtIGNpcmN1bWZsZXgiXSxbIjIyNyIsImEgLSB0aWxkZSJdLFsiMjI4IiwiYSAtIGRpYWVyZXNpcyJdLFsiMjI5IiwiYSAtIHJpbmcgYWJvdmUiXSxbIjIzMCIsImxpZ2F0dXJlIGFlIl0sWyIyMzEiLCJjIC0gY2VkaWxsYSJdLFsiMjMyIiwiZSAtIGdyYXZlIl0sWyIyMzMiLCJlIC0gYWN1dGUiXSxbIjIzNCIsImUgLSBjaXJjdW1mbGV4Il0sWyIyMzUiLCJlIC0gZGlhZXJlc2lzIl0sWyIyMzYiLCJpIC0gZ3JhdmUiXSxbIjIzNyIsImkgLSBhY3V0ZSJdLFsiMjM4IiwiaSAtIGNpcmN1bWZsZXgiXSxbIjIzOSIsImkgLSBkaWFlcmVzaXMiXSxbIjI0MCIsImV0aCJdLFsiMjQxIiwibiAtIHRpbGRlIl0sWyIyNDIiLCJvIC0gZ3JhdmUiXSxbIjI0MyIsIm8gLSBhY3V0ZSJdLFsiMjQ0IiwibyAtIGNpcmN1bWZsZXgiXSxbIjI0NSIsIm8gLSB0aWxkZSJdLFsiMjQ2IiwibyAtIGRpYWVyZXNpcyJdLFsiMjQ4IiwibyBzbGFzaCJdLFsiMzM5IiwibGlnYXR1cmUgb2UiXSxbIjM1MyIsInMgLSBjYXJvbiJdLFsiMjQ5IiwidSAtIGdyYXZlIl0sWyIyNTAiLCJ1IC0gYWN1dGUiXSxbIjI1MSIsInUgLSBjaXJjdW1mbGV4Il0sWyIyNTIiLCJ1IC0gZGlhZXJlc2lzIl0sWyIyNTMiLCJ5IC0gYWN1dGUiXSxbIjI1NCIsInRob3JuIl0sWyIyNTUiLCJ5IC0gZGlhZXJlc2lzIl0sWyI5MTMiLCJBbHBoYSJdLFsiOTE0IiwiQmV0YSJdLFsiOTE1IiwiR2FtbWEiXSxbIjkxNiIsIkRlbHRhIl0sWyI5MTciLCJFcHNpbG9uIl0sWyI5MTgiLCJaZXRhIl0sWyI5MTkiLCJFdGEiXSxbIjkyMCIsIlRoZXRhIl0sWyI5MjEiLCJJb3RhIl0sWyI5MjIiLCJLYXBwYSJdLFsiOTIzIiwiTGFtYmRhIl0sWyI5MjQiLCJNdSJdLFsiOTI1IiwiTnUiXSxbIjkyNiIsIlhpIl0sWyI5MjciLCJPbWljcm9uIl0sWyI5MjgiLCJQaSJdLFsiOTI5IiwiUmhvIl0sWyI5MzEiLCJTaWdtYSJdLFsiOTMyIiwiVGF1Il0sWyI5MzMiLCJVcHNpbG9uIl0sWyI5MzQiLCJQaGkiXSxbIjkzNSIsIkNoaSJdLFsiOTM2IiwiUHNpIl0sWyI5MzciLCJPbWVnYSJdLFsiOTQ1IiwiYWxwaGEiXSxbIjk0NiIsImJldGEiXSxbIjk0NyIsImdhbW1hIl0sWyI5NDgiLCJkZWx0YSJdLFsiOTQ5IiwiZXBzaWxvbiJdLFsiOTUwIiwiemV0YSJdLFsiOTUxIiwiZXRhIl0sWyI5NTIiLCJ0aGV0YSJdLFsiOTUzIiwiaW90YSJdLFsiOTU0Iiwia2FwcGEiXSxbIjk1NSIsImxhbWJkYSJdLFsiOTU2IiwibXUiXSxbIjk1NyIsIm51Il0sWyI5NTgiLCJ4aSJdLFsiOTU5Iiwib21pY3JvbiJdLFsiOTYwIiwicGkiXSxbIjk2MSIsInJobyJdLFsiOTYyIiwiZmluYWwgc2lnbWEiXSxbIjk2MyIsInNpZ21hIl0sWyI5NjQiLCJ0YXUiXSxbIjk2NSIsInVwc2lsb24iXSxbIjk2NiIsInBoaSJdLFsiOTY3IiwiY2hpIl0sWyI5NjgiLCJwc2kiXSxbIjk2OSIsIm9tZWdhIl0sWyI4NTAxIiwiYWxlZiBzeW1ib2wiXSxbIjk4MiIsInBpIHN5bWJvbCJdLFsiODQ3NiIsInJlYWwgcGFydCBzeW1ib2wiXSxbIjk3OCIsInVwc2lsb24gLSBob29rIHN5bWJvbCJdLFsiODQ3MiIsIldlaWVyc3RyYXNzIHAiXSxbIjg0NjUiLCJpbWFnaW5hcnkgcGFydCJdLFsiODU5MiIsImxlZnR3YXJkcyBhcnJvdyJdLFsiODU5MyIsInVwd2FyZHMgYXJyb3ciXSxbIjg1OTQiLCJyaWdodHdhcmRzIGFycm93Il0sWyI4NTk1IiwiZG93bndhcmRzIGFycm93Il0sWyI4NTk2IiwibGVmdCByaWdodCBhcnJvdyJdLFsiODYyOSIsImNhcnJpYWdlIHJldHVybiJdLFsiODY1NiIsImxlZnR3YXJkcyBkb3VibGUgYXJyb3ciXSxbIjg2NTciLCJ1cHdhcmRzIGRvdWJsZSBhcnJvdyJdLFsiODY1OCIsInJpZ2h0d2FyZHMgZG91YmxlIGFycm93Il0sWyI4NjU5IiwiZG93bndhcmRzIGRvdWJsZSBhcnJvdyJdLFsiODY2MCIsImxlZnQgcmlnaHQgZG91YmxlIGFycm93Il0sWyI4NzU2IiwidGhlcmVmb3JlIl0sWyI4ODM0Iiwic3Vic2V0IG9mIl0sWyI4ODM1Iiwic3VwZXJzZXQgb2YiXSxbIjg4MzYiLCJub3QgYSBzdWJzZXQgb2YiXSxbIjg4MzgiLCJzdWJzZXQgb2Ygb3IgZXF1YWwgdG8iXSxbIjg4MzkiLCJzdXBlcnNldCBvZiBvciBlcXVhbCB0byJdLFsiODg1MyIsImNpcmNsZWQgcGx1cyJdLFsiODg1NSIsImNpcmNsZWQgdGltZXMiXSxbIjg4NjkiLCJwZXJwZW5kaWN1bGFyIl0sWyI4OTAxIiwiZG90IG9wZXJhdG9yIl0sWyI4OTY4IiwibGVmdCBjZWlsaW5nIl0sWyI4OTY5IiwicmlnaHQgY2VpbGluZyJdLFsiODk3MCIsImxlZnQgZmxvb3IiXSxbIjg5NzEiLCJyaWdodCBmbG9vciJdLFsiOTAwMSIsImxlZnQtcG9pbnRpbmcgYW5nbGUgYnJhY2tldCJdLFsiOTAwMiIsInJpZ2h0LXBvaW50aW5nIGFuZ2xlIGJyYWNrZXQiXSxbIjk2NzQiLCJsb3plbmdlIl0sWyI5ODI0IiwiYmxhY2sgc3BhZGUgc3VpdCJdLFsiOTgyNyIsImJsYWNrIGNsdWIgc3VpdCJdLFsiOTgyOSIsImJsYWNrIGhlYXJ0IHN1aXQiXSxbIjk4MzAiLCJibGFjayBkaWFtb25kIHN1aXQiXSxbIjgxOTQiLCJlbiBzcGFjZSJdLFsiODE5NSIsImVtIHNwYWNlIl0sWyI4MjAxIiwidGhpbiBzcGFjZSJdLFsiODIwNCIsInplcm8gd2lkdGggbm9uLWpvaW5lciJdLFsiODIwNSIsInplcm8gd2lkdGggam9pbmVyIl0sWyI4MjA2IiwibGVmdC10by1yaWdodCBtYXJrIl0sWyI4MjA3IiwicmlnaHQtdG8tbGVmdCBtYXJrIl1dfWZ1bmN0aW9uIGMoYSl7cmV0dXJuIHRpbnltY2UudXRpbC5Ub29scy5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGkoYSkmJjI9PWEubGVuZ3RofSl9ZnVuY3Rpb24gZChhKXtyZXR1cm4gaShhKT9bXS5jb25jYXQoYyhhKSk6ImZ1bmN0aW9uIj09dHlwZW9mIGE/YSgpOltdfWZ1bmN0aW9uIGUoYil7dmFyIGM9YS5zZXR0aW5ncztyZXR1cm4gYy5jaGFybWFwJiYoYj1kKGMuY2hhcm1hcCkpLGMuY2hhcm1hcF9hcHBlbmQ/W10uY29uY2F0KGIpLmNvbmNhdChkKGMuY2hhcm1hcF9hcHBlbmQpKTpifWZ1bmN0aW9uIGYoKXtyZXR1cm4gZShiKCkpfWZ1bmN0aW9uIGcoYil7YS5maXJlKCJpbnNlcnRDdXN0b21DaGFyIix7Y2hyOmJ9KS5jaHIsYS5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEsYil9ZnVuY3Rpb24gaCgpe2Z1bmN0aW9uIGIoYSl7Zm9yKDthOyl7aWYoIlREIj09YS5ub2RlTmFtZSlyZXR1cm4gYTthPWEucGFyZW50Tm9kZX19dmFyIGMsZCxlLGg7Yz0nPHRhYmxlIHJvbGU9InByZXNlbnRhdGlvbiIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJtY2UtY2hhcm1hcCI+PHRib2R5Pic7dmFyIGk9ZigpLGo9TWF0aC5taW4oaS5sZW5ndGgsMjUpLGs9TWF0aC5jZWlsKGkubGVuZ3RoL2opO2ZvcihlPTA7az5lO2UrKyl7Zm9yKGMrPSI8dHI+IixkPTA7aj5kO2QrKyl7dmFyIGw9ZSpqK2Q7aWYobDxpLmxlbmd0aCl7dmFyIG09aVtsXTtjKz0nPHRkIHRpdGxlPSInK21bMV0rJyI+PGRpdiB0YWJpbmRleD0iLTEiIHRpdGxlPSInK21bMV0rJyIgcm9sZT0iYnV0dG9uIj4nKyhtP1N0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQobVswXSwxMCkpOiImbmJzcDsiKSsiPC9kaXY+PC90ZD4ifWVsc2UgYys9Ijx0ZCAvPiJ9Yys9IjwvdHI+In1jKz0iPC90Ym9keT48L3RhYmxlPiI7dmFyIG49e3R5cGU6ImNvbnRhaW5lciIsaHRtbDpjLG9uY2xpY2s6ZnVuY3Rpb24oYSl7dmFyIGM9YS50YXJnZXQ7L14oVER8RElWKSQvLnRlc3QoYy5ub2RlTmFtZSkmJmIoYykuZmlyc3RDaGlsZCYmKGcodGlueW1jZS50cmltKGMuaW5uZXJUZXh0fHxjLnRleHRDb250ZW50KSksYS5jdHJsS2V5fHxoLmNsb3NlKCkpfSxvbm1vdXNlb3ZlcjpmdW5jdGlvbihhKXt2YXIgYz1iKGEudGFyZ2V0KTtjJiZjLmZpcnN0Q2hpbGQ/KGguZmluZCgiI3ByZXZpZXciKS50ZXh0KGMuZmlyc3RDaGlsZC5maXJzdENoaWxkLmRhdGEpLGguZmluZCgiI3ByZXZpZXdUaXRsZSIpLnRleHQoYy50aXRsZSkpOihoLmZpbmQoIiNwcmV2aWV3IikudGV4dCgiICIpLGguZmluZCgiI3ByZXZpZXdUaXRsZSIpLnRleHQoIiAiKSl9fTtoPWEud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiU3BlY2lhbCBjaGFyYWN0ZXIiLHNwYWNpbmc6MTAscGFkZGluZzoxMCxpdGVtczpbbix7dHlwZToiY29udGFpbmVyIixsYXlvdXQ6ImZsZXgiLGRpcmVjdGlvbjoiY29sdW1uIixhbGlnbjoiY2VudGVyIixzcGFjaW5nOjUsbWluV2lkdGg6MTYwLG1pbkhlaWdodDoxNjAsaXRlbXM6W3t0eXBlOiJsYWJlbCIsbmFtZToicHJldmlldyIsdGV4dDoiICIsc3R5bGU6ImZvbnQtc2l6ZTogNDBweDsgdGV4dC1hbGlnbjogY2VudGVyIixib3JkZXI6MSxtaW5XaWR0aDoxNDAsbWluSGVpZ2h0OjgwfSx7dHlwZToibGFiZWwiLG5hbWU6InByZXZpZXdUaXRsZSIsdGV4dDoiICIsc3R5bGU6InRleHQtYWxpZ246IGNlbnRlciIsYm9yZGVyOjEsbWluV2lkdGg6MTQwLG1pbkhlaWdodDo4MH1dfV0sYnV0dG9uczpbe3RleHQ6IkNsb3NlIixvbmNsaWNrOmZ1bmN0aW9uKCl7aC5jbG9zZSgpfX1dfSl9dmFyIGk9dGlueW1jZS51dGlsLlRvb2xzLmlzQXJyYXk7cmV0dXJuIGEuYWRkQ29tbWFuZCgibWNlU2hvd0NoYXJtYXAiLGgpLGEuYWRkQnV0dG9uKCJjaGFybWFwIix7aWNvbjoiY2hhcm1hcCIsdG9vbHRpcDoiU3BlY2lhbCBjaGFyYWN0ZXIiLGNtZDoibWNlU2hvd0NoYXJtYXAifSksYS5hZGRNZW51SXRlbSgiY2hhcm1hcCIse2ljb246ImNoYXJtYXAiLHRleHQ6IlNwZWNpYWwgY2hhcmFjdGVyIixjbWQ6Im1jZVNob3dDaGFybWFwIixjb250ZXh0OiJpbnNlcnQifSkse2dldENoYXJNYXA6ZixpbnNlcnRDaGFyOmd9fSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/code/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/code/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/code/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiY29kZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3ZhciBiPWEud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiU291cmNlIGNvZGUiLGJvZHk6e3R5cGU6InRleHRib3giLG5hbWU6ImNvZGUiLG11bHRpbGluZTohMCxtaW5XaWR0aDphLmdldFBhcmFtKCJjb2RlX2RpYWxvZ193aWR0aCIsNjAwKSxtaW5IZWlnaHQ6YS5nZXRQYXJhbSgiY29kZV9kaWFsb2dfaGVpZ2h0IixNYXRoLm1pbih0aW55bWNlLkRPTS5nZXRWaWV3UG9ydCgpLmgtMjAwLDUwMCkpLHNwZWxsY2hlY2s6ITEsc3R5bGU6ImRpcmVjdGlvbjogbHRyOyB0ZXh0LWFsaWduOiBsZWZ0In0sb25TdWJtaXQ6ZnVuY3Rpb24oYil7YS5mb2N1cygpLGEudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXthLnNldENvbnRlbnQoYi5kYXRhLmNvZGUpfSksYS5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24oKSxhLm5vZGVDaGFuZ2VkKCl9fSk7Yi5maW5kKCIjY29kZSIpLnZhbHVlKGEuZ2V0Q29udGVudCh7c291cmNlX3ZpZXc6ITB9KSl9YS5hZGRDb21tYW5kKCJtY2VDb2RlRWRpdG9yIixiKSxhLmFkZEJ1dHRvbigiY29kZSIse2ljb246ImNvZGUiLHRvb2x0aXA6IlNvdXJjZSBjb2RlIixvbmNsaWNrOmJ9KSxhLmFkZE1lbnVJdGVtKCJjb2RlIix7aWNvbjoiY29kZSIsdGV4dDoiU291cmNlIGNvZGUiLGNvbnRleHQ6InRvb2xzIixvbmNsaWNrOmJ9KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/css/prism.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogaHR0cDovL3ByaXNtanMuY29tL2Rvd25sb2FkLmh0bWw/dGhlbWVzPXByaXNtJmxhbmd1YWdlcz1tYXJrdXArY3NzK2NsaWtlK2phdmFzY3JpcHQgKi8KLyoqCiAqIHByaXNtLmpzIGRlZmF1bHQgdGhlbWUgZm9yIEphdmFTY3JpcHQsIENTUyBhbmQgSFRNTAogKiBCYXNlZCBvbiBkYWJibGV0IChodHRwOi8vZGFiYmxldC5jb20pCiAqIEBhdXRob3IgTGVhIFZlcm91CiAqLwoKY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLApwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXSB7Cgljb2xvcjogYmxhY2s7Cgl0ZXh0LXNoYWRvdzogMCAxcHggd2hpdGU7Cglmb250LWZhbWlseTogQ29uc29sYXMsIE1vbmFjbywgJ0FuZGFsZSBNb25vJywgJ1VidW50dSBNb25vJywgbW9ub3NwYWNlOwoJZGlyZWN0aW9uOiBsdHI7Cgl0ZXh0LWFsaWduOiBsZWZ0OwoJd2hpdGUtc3BhY2U6IHByZTsKCXdvcmQtc3BhY2luZzogbm9ybWFsOwoJd29yZC1icmVhazogbm9ybWFsOwoJd29yZC13cmFwOiBub3JtYWw7CglsaW5lLWhlaWdodDogMS41OwoKCS1tb3otdGFiLXNpemU6IDQ7Cgktby10YWItc2l6ZTogNDsKCXRhYi1zaXplOiA0OwoKCS13ZWJraXQtaHlwaGVuczogbm9uZTsKCS1tb3otaHlwaGVuczogbm9uZTsKCS1tcy1oeXBoZW5zOiBub25lOwoJaHlwaGVuczogbm9uZTsKfQoKcHJlW2NsYXNzKj0ibGFuZ3VhZ2UtIl06Oi1tb3otc2VsZWN0aW9uLCBwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXSA6Oi1tb3otc2VsZWN0aW9uLApjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl06Oi1tb3otc2VsZWN0aW9uLCBjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0gOjotbW96LXNlbGVjdGlvbiB7Cgl0ZXh0LXNoYWRvdzogbm9uZTsKCWJhY2tncm91bmQ6ICNiM2Q0ZmM7Cn0KCnByZVtjbGFzcyo9Imxhbmd1YWdlLSJdOjpzZWxlY3Rpb24sIHByZVtjbGFzcyo9Imxhbmd1YWdlLSJdIDo6c2VsZWN0aW9uLApjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl06OnNlbGVjdGlvbiwgY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdIDo6c2VsZWN0aW9uIHsKCXRleHQtc2hhZG93OiBub25lOwoJYmFja2dyb3VuZDogI2IzZDRmYzsKfQoKQG1lZGlhIHByaW50IHsKCWNvZGVbY2xhc3MqPSJsYW5ndWFnZS0iXSwKCXByZVtjbGFzcyo9Imxhbmd1YWdlLSJdIHsKCQl0ZXh0LXNoYWRvdzogbm9uZTsKCX0KfQoKLyogQ29kZSBibG9ja3MgKi8KcHJlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0gewoJcGFkZGluZzogMWVtOwoJbWFyZ2luOiAuNWVtIDA7CglvdmVyZmxvdzogYXV0bzsKfQoKOm5vdChwcmUpID4gY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLApwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXSB7CgliYWNrZ3JvdW5kOiAjZjVmMmYwOwp9CgovKiBJbmxpbmUgY29kZSAqLwo6bm90KHByZSkgPiBjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0gewoJcGFkZGluZzogLjFlbTsKCWJvcmRlci1yYWRpdXM6IC4zZW07Cn0KCi50b2tlbi5jb21tZW50LAoudG9rZW4ucHJvbG9nLAoudG9rZW4uZG9jdHlwZSwKLnRva2VuLmNkYXRhIHsKCWNvbG9yOiBzbGF0ZWdyYXk7Cn0KCi50b2tlbi5wdW5jdHVhdGlvbiB7Cgljb2xvcjogIzk5OTsKfQoKLm5hbWVzcGFjZSB7CglvcGFjaXR5OiAuNzsKfQoKLnRva2VuLnByb3BlcnR5LAoudG9rZW4udGFnLAoudG9rZW4uYm9vbGVhbiwKLnRva2VuLm51bWJlciwKLnRva2VuLmNvbnN0YW50LAoudG9rZW4uc3ltYm9sLAoudG9rZW4uZGVsZXRlZCB7Cgljb2xvcjogIzkwNTsKfQoKLnRva2VuLnNlbGVjdG9yLAoudG9rZW4uYXR0ci1uYW1lLAoudG9rZW4uc3RyaW5nLAoudG9rZW4uY2hhciwKLnRva2VuLmJ1aWx0aW4sCi50b2tlbi5pbnNlcnRlZCB7Cgljb2xvcjogIzY5MDsKfQoKLnRva2VuLm9wZXJhdG9yLAoudG9rZW4uZW50aXR5LAoudG9rZW4udXJsLAoubGFuZ3VhZ2UtY3NzIC50b2tlbi5zdHJpbmcsCi5zdHlsZSAudG9rZW4uc3RyaW5nIHsKCWNvbG9yOiAjYTY3ZjU5OwoJYmFja2dyb3VuZDogaHNsYSgwLCAwJSwgMTAwJSwgLjUpOwp9CgoudG9rZW4uYXRydWxlLAoudG9rZW4uYXR0ci12YWx1ZSwKLnRva2VuLmtleXdvcmQgewoJY29sb3I6ICMwN2E7Cn0KCi50b2tlbi5mdW5jdGlvbiB7Cgljb2xvcjogI0RENEE2ODsKfQoKLnRva2VuLnJlZ2V4LAoudG9rZW4uaW1wb3J0YW50LAoudG9rZW4udmFyaWFibGUgewoJY29sb3I6ICNlOTA7Cn0KCi50b2tlbi5pbXBvcnRhbnQsCi50b2tlbi5ib2xkIHsKCWZvbnQtd2VpZ2h0OiBib2xkOwp9Ci50b2tlbi5pdGFsaWMgewoJZm9udC1zdHlsZTogaXRhbGljOwp9CgoudG9rZW4uZW50aXR5IHsKCWN1cnNvcjogaGVscDsKfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/codesample/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGEsYil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGMoYSxiKXtmb3IodmFyIGMsZD1bXSxmPTA7ZjxhLmxlbmd0aDsrK2Ype2lmKGM9Z1thW2ZdXXx8ZShhW2ZdKSwhYyl0aHJvdyJtb2R1bGUgZGVmaW5pdGlvbiBkZXBlbmRlY3kgbm90IGZvdW5kOiAiK2FbZl07ZC5wdXNoKGMpfWIuYXBwbHkobnVsbCxkKX1mdW5jdGlvbiBkKGEsZCxlKXtpZigic3RyaW5nIiE9dHlwZW9mIGEpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgbW9kdWxlIGlkIG11c3QgYmUgZGVmaW5lZCBhbmQgYmUgYSBzdHJpbmciO2lmKGQ9PT1iKXRocm93ImludmFsaWQgbW9kdWxlIGRlZmluaXRpb24sIGRlcGVuZGVuY2llcyBtdXN0IGJlIHNwZWNpZmllZCI7aWYoZT09PWIpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgZGVmaW5pdGlvbiBmdW5jdGlvbiBtdXN0IGJlIHNwZWNpZmllZCI7YyhkLGZ1bmN0aW9uKCl7Z1thXT1lLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pfWZ1bmN0aW9uIGUoYil7Zm9yKHZhciBjPWEsZD1iLnNwbGl0KC9bLlwvXS8pLGU9MDtlPGQubGVuZ3RoOysrZSl7aWYoIWNbZFtlXV0pcmV0dXJuO2M9Y1tkW2VdXX1yZXR1cm4gY31mdW5jdGlvbiBmKGMpe3ZhciBkLGUsZixoLGk7Zm9yKGQ9MDtkPGMubGVuZ3RoO2QrKyl7ZT1hLGY9Y1tkXSxoPWYuc3BsaXQoL1suXC9dLyk7Zm9yKHZhciBqPTA7ajxoLmxlbmd0aC0xOysraillW2hbal1dPT09YiYmKGVbaFtqXV09e30pLGU9ZVtoW2pdXTtlW2hbaC5sZW5ndGgtMV1dPWdbZl19aWYoYS5BTURMQ19URVNUUyl7aT1hLnByaXZhdGVNb2R1bGVzfHx7fTtmb3IoZiBpbiBnKWlbZl09Z1tmXTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWRlbGV0ZSBpW2NbZF1dO2EucHJpdmF0ZU1vZHVsZXM9aX19dmFyIGc9e307ZCgidGlueW1jZS9jb2Rlc2FtcGxlcGx1Z2luL1ByaXNtIixbXSxmdW5jdGlvbigpe3ZhciBhPXt9LGI9InVuZGVmaW5lZCIhPXR5cGVvZiBhP2E6InVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXJHbG9iYWxTY29wZSYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlP3NlbGY6e30sYz1mdW5jdGlvbigpe3ZhciBhPS9cYmxhbmcoPzp1YWdlKT8tKD8hXCopKFx3KylcYi9pLGM9Yi5QcmlzbT17dXRpbDp7ZW5jb2RlOmZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgZD9uZXcgZChhLnR5cGUsYy51dGlsLmVuY29kZShhLmNvbnRlbnQpLGEuYWxpYXMpOiJBcnJheSI9PT1jLnV0aWwudHlwZShhKT9hLm1hcChjLnV0aWwuZW5jb2RlKTphLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC9cdTAwYTAvZywiICIpfSx0eXBlOmZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSkubWF0Y2goL1xbb2JqZWN0IChcdyspXF0vKVsxXX0sY2xvbmU6ZnVuY3Rpb24oYSl7dmFyIGI9Yy51dGlsLnR5cGUoYSk7c3dpdGNoKGIpe2Nhc2UiT2JqZWN0Ijp2YXIgZD17fTtmb3IodmFyIGUgaW4gYSlhLmhhc093blByb3BlcnR5KGUpJiYoZFtlXT1jLnV0aWwuY2xvbmUoYVtlXSkpO3JldHVybiBkO2Nhc2UiQXJyYXkiOnJldHVybiBhLm1hcCYmYS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGMudXRpbC5jbG9uZShhKX0pfXJldHVybiBhfX0sbGFuZ3VhZ2VzOntleHRlbmQ6ZnVuY3Rpb24oYSxiKXt2YXIgZD1jLnV0aWwuY2xvbmUoYy5sYW5ndWFnZXNbYV0pO2Zvcih2YXIgZSBpbiBiKWRbZV09YltlXTtyZXR1cm4gZH0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGEsYixkLGUpe2U9ZXx8Yy5sYW5ndWFnZXM7dmFyIGY9ZVthXTtpZigyPT1hcmd1bWVudHMubGVuZ3RoKXtkPWFyZ3VtZW50c1sxXTtmb3IodmFyIGcgaW4gZClkLmhhc093blByb3BlcnR5KGcpJiYoZltnXT1kW2ddKTtyZXR1cm4gZn12YXIgaD17fTtmb3IodmFyIGkgaW4gZilpZihmLmhhc093blByb3BlcnR5KGkpKXtpZihpPT1iKWZvcih2YXIgZyBpbiBkKWQuaGFzT3duUHJvcGVydHkoZykmJihoW2ddPWRbZ10pO2hbaV09ZltpXX1yZXR1cm4gYy5sYW5ndWFnZXMuREZTKGMubGFuZ3VhZ2VzLGZ1bmN0aW9uKGIsYyl7Yz09PWVbYV0mJmIhPWEmJih0aGlzW2JdPWgpfSksZVthXT1ofSxERlM6ZnVuY3Rpb24oYSxiLGQpe2Zvcih2YXIgZSBpbiBhKWEuaGFzT3duUHJvcGVydHkoZSkmJihiLmNhbGwoYSxlLGFbZV0sZHx8ZSksIk9iamVjdCI9PT1jLnV0aWwudHlwZShhW2VdKT9jLmxhbmd1YWdlcy5ERlMoYVtlXSxiKToiQXJyYXkiPT09Yy51dGlsLnR5cGUoYVtlXSkmJmMubGFuZ3VhZ2VzLkRGUyhhW2VdLGIsZSkpfX0scGx1Z2luczp7fSxoaWdobGlnaHRBbGw6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGQsZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0sIFtjbGFzcyo9Imxhbmd1YWdlLSJdIGNvZGUsIGNvZGVbY2xhc3MqPSJsYW5nLSJdLCBbY2xhc3MqPSJsYW5nLSJdIGNvZGUnKSxmPTA7ZD1lW2YrK107KWMuaGlnaGxpZ2h0RWxlbWVudChkLGE9PT0hMCxiKX0saGlnaGxpZ2h0RWxlbWVudDpmdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnLGgsaT1kO2kmJiFhLnRlc3QoaS5jbGFzc05hbWUpOylpPWkucGFyZW50Tm9kZTtpJiYoZz0oaS5jbGFzc05hbWUubWF0Y2goYSl8fFssIiJdKVsxXSxoPWMubGFuZ3VhZ2VzW2ddKSxkLmNsYXNzTmFtZT1kLmNsYXNzTmFtZS5yZXBsYWNlKGEsIiIpLnJlcGxhY2UoL1xzKy9nLCIgIikrIiBsYW5ndWFnZS0iK2csaT1kLnBhcmVudE5vZGUsL3ByZS9pLnRlc3QoaS5ub2RlTmFtZSkmJihpLmNsYXNzTmFtZT1pLmNsYXNzTmFtZS5yZXBsYWNlKGEsIiIpLnJlcGxhY2UoL1xzKy9nLCIgIikrIiBsYW5ndWFnZS0iK2cpO3ZhciBqPWQudGV4dENvbnRlbnQsaz17ZWxlbWVudDpkLGxhbmd1YWdlOmcsZ3JhbW1hcjpoLGNvZGU6an07aWYoIWp8fCFoKXJldHVybiB2b2lkIGMuaG9va3MucnVuKCJjb21wbGV0ZSIsayk7aWYoYy5ob29rcy5ydW4oImJlZm9yZS1oaWdobGlnaHQiLGspLGUmJmIuV29ya2VyKXt2YXIgbD1uZXcgV29ya2VyKGMuZmlsZW5hbWUpO2wub25tZXNzYWdlPWZ1bmN0aW9uKGEpe2suaGlnaGxpZ2h0ZWRDb2RlPWEuZGF0YSxjLmhvb2tzLnJ1bigiYmVmb3JlLWluc2VydCIsayksay5lbGVtZW50LmlubmVySFRNTD1rLmhpZ2hsaWdodGVkQ29kZSxmJiZmLmNhbGwoay5lbGVtZW50KSxjLmhvb2tzLnJ1bigiYWZ0ZXItaGlnaGxpZ2h0IixrKSxjLmhvb2tzLnJ1bigiY29tcGxldGUiLGspfSxsLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtsYW5ndWFnZTprLmxhbmd1YWdlLGNvZGU6ay5jb2RlLGltbWVkaWF0ZUNsb3NlOiEwfSkpfWVsc2Ugay5oaWdobGlnaHRlZENvZGU9Yy5oaWdobGlnaHQoay5jb2RlLGsuZ3JhbW1hcixrLmxhbmd1YWdlKSxjLmhvb2tzLnJ1bigiYmVmb3JlLWluc2VydCIsayksay5lbGVtZW50LmlubmVySFRNTD1rLmhpZ2hsaWdodGVkQ29kZSxmJiZmLmNhbGwoZCksYy5ob29rcy5ydW4oImFmdGVyLWhpZ2hsaWdodCIsayksYy5ob29rcy5ydW4oImNvbXBsZXRlIixrKX0saGlnaGxpZ2h0OmZ1bmN0aW9uKGEsYixlKXt2YXIgZj1jLnRva2VuaXplKGEsYik7cmV0dXJuIGQuc3RyaW5naWZ5KGMudXRpbC5lbmNvZGUoZiksZSl9LHRva2VuaXplOmZ1bmN0aW9uKGEsYixkKXt2YXIgZT1jLlRva2VuLGY9W2FdLGc9Yi5yZXN0O2lmKGcpe2Zvcih2YXIgaCBpbiBnKWJbaF09Z1toXTtkZWxldGUgYi5yZXN0fWE6Zm9yKHZhciBoIGluIGIpaWYoYi5oYXNPd25Qcm9wZXJ0eShoKSYmYltoXSl7dmFyIGk9YltoXTtpPSJBcnJheSI9PT1jLnV0aWwudHlwZShpKT9pOltpXTtmb3IodmFyIGo9MDtqPGkubGVuZ3RoOysrail7dmFyIGs9aVtqXSxsPWsuaW5zaWRlLG09ISFrLmxvb2tiZWhpbmQsbj0wLG89ay5hbGlhcztrPWsucGF0dGVybnx8aztmb3IodmFyIHA9MDtwPGYubGVuZ3RoO3ArKyl7dmFyIHE9ZltwXTtpZihmLmxlbmd0aD5hLmxlbmd0aClicmVhayBhO2lmKCEocSBpbnN0YW5jZW9mIGUpKXtrLmxhc3RJbmRleD0wO3ZhciByPWsuZXhlYyhxKTtpZihyKXttJiYobj1yWzFdLmxlbmd0aCk7dmFyIHM9ci5pbmRleC0xK24scj1yWzBdLnNsaWNlKG4pLHQ9ci5sZW5ndGgsdT1zK3Qsdj1xLnNsaWNlKDAscysxKSx3PXEuc2xpY2UodSsxKSx4PVtwLDFdO3YmJngucHVzaCh2KTt2YXIgeT1uZXcgZShoLGw/Yy50b2tlbml6ZShyLGwpOnIsbyk7eC5wdXNoKHkpLHcmJngucHVzaCh3KSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KGYseCl9fX19fXJldHVybiBmfSxob29rczp7YWxsOnt9LGFkZDpmdW5jdGlvbihhLGIpe3ZhciBkPWMuaG9va3MuYWxsO2RbYV09ZFthXXx8W10sZFthXS5wdXNoKGIpfSxydW46ZnVuY3Rpb24oYSxiKXt2YXIgZD1jLmhvb2tzLmFsbFthXTtpZihkJiZkLmxlbmd0aClmb3IodmFyIGUsZj0wO2U9ZFtmKytdOyllKGIpfX19LGQ9Yy5Ub2tlbj1mdW5jdGlvbihhLGIsYyl7dGhpcy50eXBlPWEsdGhpcy5jb250ZW50PWIsdGhpcy5hbGlhcz1jfTtyZXR1cm4gZC5zdHJpbmdpZnk9ZnVuY3Rpb24oYSxiLGUpe2lmKCJzdHJpbmciPT10eXBlb2YgYSlyZXR1cm4gYTtpZigiQXJyYXkiPT09Yy51dGlsLnR5cGUoYSkpcmV0dXJuIGEubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBkLnN0cmluZ2lmeShjLGIsYSl9KS5qb2luKCIiKTt2YXIgZj17dHlwZTphLnR5cGUsY29udGVudDpkLnN0cmluZ2lmeShhLmNvbnRlbnQsYixlKSx0YWc6InNwYW4iLGNsYXNzZXM6WyJ0b2tlbiIsYS50eXBlXSxhdHRyaWJ1dGVzOnt9LGxhbmd1YWdlOmIscGFyZW50OmV9O2lmKCJjb21tZW50Ij09Zi50eXBlJiYoZi5hdHRyaWJ1dGVzLnNwZWxsY2hlY2s9InRydWUiKSxhLmFsaWFzKXt2YXIgZz0iQXJyYXkiPT09Yy51dGlsLnR5cGUoYS5hbGlhcyk/YS5hbGlhczpbYS5hbGlhc107QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoZi5jbGFzc2VzLGcpfWMuaG9va3MucnVuKCJ3cmFwIixmKTt2YXIgaD0iIjtmb3IodmFyIGkgaW4gZi5hdHRyaWJ1dGVzKWgrPShoPyIgIjoiIikraSsnPSInKyhmLmF0dHJpYnV0ZXNbaV18fCIiKSsnIic7cmV0dXJuIjwiK2YudGFnKycgY2xhc3M9IicrZi5jbGFzc2VzLmpvaW4oIiAiKSsnIiAnK2grIj4iK2YuY29udGVudCsiPC8iK2YudGFnKyI+In0sYi5kb2N1bWVudD92b2lkIDA6Yi5hZGRFdmVudExpc3RlbmVyPyhiLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKGEpe3ZhciBkPUpTT04ucGFyc2UoYS5kYXRhKSxlPWQubGFuZ3VhZ2UsZj1kLmNvZGUsZz1kLmltbWVkaWF0ZUNsb3NlO2IucG9zdE1lc3NhZ2UoYy5oaWdobGlnaHQoZixjLmxhbmd1YWdlc1tlXSxlKSksZyYmYi5jbG9zZSgpfSwhMSksYi5QcmlzbSk6Yi5QcmlzbX0oKTtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJihtb2R1bGUuZXhwb3J0cz1jKSwidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbCYmKGdsb2JhbC5QcmlzbT1jKSxjLmxhbmd1YWdlcy5tYXJrdXA9e2NvbW1lbnQ6LzwhLS1bXHdcV10qPy0tPi8scHJvbG9nOi88XD9bXHdcV10rP1w/Pi8sZG9jdHlwZTovPCFET0NUWVBFW1x3XFddKz8+LyxjZGF0YTovPCFcW0NEQVRBXFtbXHdcV10qP11dPi9pLHRhZzp7cGF0dGVybjovPFwvP1teXHM+XC89Ll0rKD86XHMrW15ccz5cLz1dKyg/Oj0oPzooInwnKSg/OlxcXDF8XFw/KD8hXDEpW1x3XFddKSpcMXxbXlxzJyI+PV0rKSk/KSpccypcLz8+L2ksaW5zaWRlOnt0YWc6e3BhdHRlcm46L148XC8/W15ccz5cL10rL2ksaW5zaWRlOntwdW5jdHVhdGlvbjovXjxcLz8vLG5hbWVzcGFjZTovXlteXHM+XC86XSs6L319LCJhdHRyLXZhbHVlIjp7cGF0dGVybjovPSg/OignfCIpW1x3XFddKj8oXDEpfFteXHM+XSspL2ksaW5zaWRlOntwdW5jdHVhdGlvbjovWz0+IiddL319LHB1bmN0dWF0aW9uOi9cLz8+LywiYXR0ci1uYW1lIjp7cGF0dGVybjovW15ccz5cL10rLyxpbnNpZGU6e25hbWVzcGFjZTovXlteXHM+XC86XSs6L319fX0sZW50aXR5Oi8mIz9bXGRhLXpdezEsOH07L2l9LGMuaG9va3MuYWRkKCJ3cmFwIixmdW5jdGlvbihhKXsiZW50aXR5Ij09PWEudHlwZSYmKGEuYXR0cmlidXRlcy50aXRsZT1hLmNvbnRlbnQucmVwbGFjZSgvJmFtcDsvLCImIikpfSksYy5sYW5ndWFnZXMueG1sPWMubGFuZ3VhZ2VzLm1hcmt1cCxjLmxhbmd1YWdlcy5odG1sPWMubGFuZ3VhZ2VzLm1hcmt1cCxjLmxhbmd1YWdlcy5tYXRobWw9Yy5sYW5ndWFnZXMubWFya3VwLGMubGFuZ3VhZ2VzLnN2Zz1jLmxhbmd1YWdlcy5tYXJrdXAsYy5sYW5ndWFnZXMuY3NzPXtjb21tZW50Oi9cL1wqW1x3XFddKj9cKlwvLyxhdHJ1bGU6e3BhdHRlcm46L0BbXHctXSs/Lio/KDt8KD89XHMqXHspKS9pLGluc2lkZTp7cnVsZTovQFtcdy1dKy99fSx1cmw6L3VybFwoKD86KFsiJ10pKFxcKD86XHJcbnxbXHdcV10pfCg/IVwxKVteXFxcclxuXSkqXDF8Lio/KVwpL2ksc2VsZWN0b3I6L1teXHtcfVxzXVteXHtcfTtdKj8oPz1ccypceykvLHN0cmluZzovKCJ8JykoXFwoPzpcclxufFtcd1xXXSl8KD8hXDEpW15cXFxyXG5dKSpcMS8scHJvcGVydHk6LyhcYnxcQilbXHctXSsoPz1ccyo6KS9pLGltcG9ydGFudDovXEIhaW1wb3J0YW50XGIvaSwiZnVuY3Rpb24iOi9bLWEtejAtOV0rKD89XCgpL2kscHVuY3R1YXRpb246L1soKXt9OzpdL30sYy5sYW5ndWFnZXMuY3NzLmF0cnVsZS5pbnNpZGUucmVzdD1jLnV0aWwuY2xvbmUoYy5sYW5ndWFnZXMuY3NzKSxjLmxhbmd1YWdlcy5tYXJrdXAmJihjLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoIm1hcmt1cCIsInRhZyIse3N0eWxlOntwYXR0ZXJuOi88c3R5bGVbXHdcV10qPz5bXHdcV10qPzxcL3N0eWxlPi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi88c3R5bGVbXHdcV10qPz58PFwvc3R5bGU+L2ksaW5zaWRlOmMubGFuZ3VhZ2VzLm1hcmt1cC50YWcuaW5zaWRlfSxyZXN0OmMubGFuZ3VhZ2VzLmNzc30sYWxpYXM6Imxhbmd1YWdlLWNzcyJ9fSksYy5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJpbnNpZGUiLCJhdHRyLXZhbHVlIix7InN0eWxlLWF0dHIiOntwYXR0ZXJuOi9ccypzdHlsZT0oInwnKS4qP1wxL2ksaW5zaWRlOnsiYXR0ci1uYW1lIjp7cGF0dGVybjovXlxzKnN0eWxlL2ksaW5zaWRlOmMubGFuZ3VhZ2VzLm1hcmt1cC50YWcuaW5zaWRlfSxwdW5jdHVhdGlvbjovXlxzKj1ccypbJyJdfFsnIl1ccyokLywiYXR0ci12YWx1ZSI6e3BhdHRlcm46Ly4rL2ksaW5zaWRlOmMubGFuZ3VhZ2VzLmNzc319LGFsaWFzOiJsYW5ndWFnZS1jc3MifX0sYy5sYW5ndWFnZXMubWFya3VwLnRhZykpLGMubGFuZ3VhZ2VzLmNsaWtlPXtjb21tZW50Olt7cGF0dGVybjovKF58W15cXF0pXC9cKltcd1xXXSo/XCpcLy8sbG9va2JlaGluZDohMH0se3BhdHRlcm46LyhefFteXFw6XSlcL1wvLiovLGxvb2tiZWhpbmQ6ITB9XSxzdHJpbmc6LyhbIiddKShcXCg/OlxyXG58W1xzXFNdKXwoPyFcMSlbXlxcXHJcbl0pKlwxLywiY2xhc3MtbmFtZSI6e3BhdHRlcm46LygoPzpcYig/OmNsYXNzfGludGVyZmFjZXxleHRlbmRzfGltcGxlbWVudHN8dHJhaXR8aW5zdGFuY2VvZnxuZXcpXHMrKXwoPzpjYXRjaFxzK1woKSlbYS16MC05X1wuXFxdKy9pLGxvb2tiZWhpbmQ6ITAsaW5zaWRlOntwdW5jdHVhdGlvbjovKFwufFxcKS99fSxrZXl3b3JkOi9cYihpZnxlbHNlfHdoaWxlfGRvfGZvcnxyZXR1cm58aW58aW5zdGFuY2VvZnxmdW5jdGlvbnxuZXd8dHJ5fHRocm93fGNhdGNofGZpbmFsbHl8bnVsbHxicmVha3xjb250aW51ZSlcYi8sImJvb2xlYW4iOi9cYih0cnVlfGZhbHNlKVxiLywiZnVuY3Rpb24iOi9bYS16MC05X10rKD89XCgpL2ksbnVtYmVyOi9cYi0/KD86MHhbXGRhLWZdK3xcZCpcLj9cZCsoPzplWystXT9cZCspPylcYi9pLG9wZXJhdG9yOi8tLT98XCtcKz98IT0/PT98PD0/fD49P3w9PT89P3wmJj98XHxcfD98XD98XCp8XC98fnxcXnwlLyxwdW5jdHVhdGlvbjovW3t9W1xdOygpLC46XS99LGMubGFuZ3VhZ2VzLmphdmFzY3JpcHQ9Yy5sYW5ndWFnZXMuZXh0ZW5kKCJjbGlrZSIse2tleXdvcmQ6L1xiKGFzfGFzeW5jfGF3YWl0fGJyZWFrfGNhc2V8Y2F0Y2h8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVidWdnZXJ8ZGVmYXVsdHxkZWxldGV8ZG98ZWxzZXxlbnVtfGV4cG9ydHxleHRlbmRzfGZhbHNlfGZpbmFsbHl8Zm9yfGZyb218ZnVuY3Rpb258Z2V0fGlmfGltcGxlbWVudHN8aW1wb3J0fGlufGluc3RhbmNlb2Z8aW50ZXJmYWNlfGxldHxuZXd8bnVsbHxvZnxwYWNrYWdlfHByaXZhdGV8cHJvdGVjdGVkfHB1YmxpY3xyZXR1cm58c2V0fHN0YXRpY3xzdXBlcnxzd2l0Y2h8dGhpc3x0aHJvd3x0cnVlfHRyeXx0eXBlb2Z8dmFyfHZvaWR8d2hpbGV8d2l0aHx5aWVsZClcYi8sbnVtYmVyOi9cYi0/KDB4W1xkQS1GYS1mXSt8MGJbMDFdK3wwb1swLTddK3xcZCpcLj9cZCsoW0VlXVsrLV0/XGQrKT98TmFOfEluZmluaXR5KVxiLywiZnVuY3Rpb24iOi9bXyRhLXpBLVpceEEwLVx1RkZGRl1bXyRhLXpBLVowLTlceEEwLVx1RkZGRl0qKD89XCgpL2l9KSxjLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImphdmFzY3JpcHQiLCJrZXl3b3JkIix7cmVnZXg6e3BhdHRlcm46LyhefFteXC9dKVwvKD8hXC8pKFxbLis/XXxcXC58W15cL1xcXHJcbl0pK1wvW2dpbXl1XXswLDV9KD89XHMqKCR8W1xyXG4sLjt9KV0pKS8sbG9va2JlaGluZDohMH19KSxjLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImphdmFzY3JpcHQiLCJjbGFzcy1uYW1lIix7InRlbXBsYXRlLXN0cmluZyI6e3BhdHRlcm46L2AoPzpcXGB8XFw/W15gXSkqYC8saW5zaWRlOntpbnRlcnBvbGF0aW9uOntwYXR0ZXJuOi9cJFx7W159XStcfS8saW5zaWRlOnsiaW50ZXJwb2xhdGlvbi1wdW5jdHVhdGlvbiI6e3BhdHRlcm46L15cJFx7fFx9JC8sYWxpYXM6InB1bmN0dWF0aW9uIn0scmVzdDpjLmxhbmd1YWdlcy5qYXZhc2NyaXB0fX0sc3RyaW5nOi9bXHNcU10rL319fSksYy5sYW5ndWFnZXMubWFya3VwJiZjLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoIm1hcmt1cCIsInRhZyIse3NjcmlwdDp7cGF0dGVybjovPHNjcmlwdFtcd1xXXSo/Pltcd1xXXSo/PFwvc2NyaXB0Pi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi88c2NyaXB0W1x3XFddKj8+fDxcL3NjcmlwdD4vaSxpbnNpZGU6Yy5sYW5ndWFnZXMubWFya3VwLnRhZy5pbnNpZGV9LHJlc3Q6Yy5sYW5ndWFnZXMuamF2YXNjcmlwdH0sYWxpYXM6Imxhbmd1YWdlLWphdmFzY3JpcHQifX0pLGMubGFuZ3VhZ2VzLmpzPWMubGFuZ3VhZ2VzLmphdmFzY3JpcHQsYy5sYW5ndWFnZXMuYz1jLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYXNtfHR5cGVvZnxpbmxpbmV8YXV0b3xicmVha3xjYXNlfGNoYXJ8Y29uc3R8Y29udGludWV8ZGVmYXVsdHxkb3xkb3VibGV8ZWxzZXxlbnVtfGV4dGVybnxmbG9hdHxmb3J8Z290b3xpZnxpbnR8bG9uZ3xyZWdpc3RlcnxyZXR1cm58c2hvcnR8c2lnbmVkfHNpemVvZnxzdGF0aWN8c3RydWN0fHN3aXRjaHx0eXBlZGVmfHVuaW9ufHVuc2lnbmVkfHZvaWR8dm9sYXRpbGV8d2hpbGUpXGIvLG9wZXJhdG9yOi9cLVs+LV0/fFwrXCs/fCE9P3w8PD89P3w+Pj89P3w9PT98JiY/fFx8P1x8fFt+XiU/KlwvXS8sbnVtYmVyOi9cYi0/KD86MHhbXGRhLWZdK3xcZCpcLj9cZCsoPzplWystXT9cZCspPylbZnVsXSpcYi9pfSksYy5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJjIiwic3RyaW5nIix7bWFjcm86e3BhdHRlcm46LyheXHMqKSNccypbYS16XSsoW15cclxuXFxdfFxcLnxcXCg/OlxyXG4/fFxuKSkqL2ltLGxvb2tiZWhpbmQ6ITAsYWxpYXM6InByb3BlcnR5IixpbnNpZGU6e3N0cmluZzp7cGF0dGVybjovKCNccyppbmNsdWRlXHMqKSg8Lis/PnwoInwnKShcXD8uKSs/XDMpLyxsb29rYmVoaW5kOiEwfX19fSksZGVsZXRlIGMubGFuZ3VhZ2VzLmNbImNsYXNzLW5hbWUiXSxkZWxldGUgYy5sYW5ndWFnZXMuY1siYm9vbGVhbiJdLGMubGFuZ3VhZ2VzLmNzaGFycD1jLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYWJzdHJhY3R8YXN8YXN5bmN8YXdhaXR8YmFzZXxib29sfGJyZWFrfGJ5dGV8Y2FzZXxjYXRjaHxjaGFyfGNoZWNrZWR8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVjaW1hbHxkZWZhdWx0fGRlbGVnYXRlfGRvfGRvdWJsZXxlbHNlfGVudW18ZXZlbnR8ZXhwbGljaXR8ZXh0ZXJufGZhbHNlfGZpbmFsbHl8Zml4ZWR8ZmxvYXR8Zm9yfGZvcmVhY2h8Z290b3xpZnxpbXBsaWNpdHxpbnxpbnR8aW50ZXJmYWNlfGludGVybmFsfGlzfGxvY2t8bG9uZ3xuYW1lc3BhY2V8bmV3fG51bGx8b2JqZWN0fG9wZXJhdG9yfG91dHxvdmVycmlkZXxwYXJhbXN8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJlYWRvbmx5fHJlZnxyZXR1cm58c2J5dGV8c2VhbGVkfHNob3J0fHNpemVvZnxzdGFja2FsbG9jfHN0YXRpY3xzdHJpbmd8c3RydWN0fHN3aXRjaHx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx1aW50fHVsb25nfHVuY2hlY2tlZHx1bnNhZmV8dXNob3J0fHVzaW5nfHZpcnR1YWx8dm9pZHx2b2xhdGlsZXx3aGlsZXxhZGR8YWxpYXN8YXNjZW5kaW5nfGFzeW5jfGF3YWl0fGRlc2NlbmRpbmd8ZHluYW1pY3xmcm9tfGdldHxnbG9iYWx8Z3JvdXB8aW50b3xqb2lufGxldHxvcmRlcmJ5fHBhcnRpYWx8cmVtb3ZlfHNlbGVjdHxzZXR8dmFsdWV8dmFyfHdoZXJlfHlpZWxkKVxiLyxzdHJpbmc6Wy9AKCJ8JykoXDFcMXxcXFwxfFxcPyg/IVwxKVtcc1xTXSkqXDEvLC8oInwnKShcXD8uKSo/XDEvXSxudW1iZXI6L1xiLT8oMHhbXGRhLWZdK3xcZCpcLj9cZCspXGIvaX0pLGMubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiY3NoYXJwIiwia2V5d29yZCIse3ByZXByb2Nlc3Nvcjp7cGF0dGVybjovKF5ccyopIy4qL20sbG9va2JlaGluZDohMH19KSxjLmxhbmd1YWdlcy5jcHA9Yy5sYW5ndWFnZXMuZXh0ZW5kKCJjIix7a2V5d29yZDovXGIoYWxpZ25hc3xhbGlnbm9mfGFzbXxhdXRvfGJvb2x8YnJlYWt8Y2FzZXxjYXRjaHxjaGFyfGNoYXIxNl90fGNoYXIzMl90fGNsYXNzfGNvbXBsfGNvbnN0fGNvbnN0ZXhwcnxjb25zdF9jYXN0fGNvbnRpbnVlfGRlY2x0eXBlfGRlZmF1bHR8ZGVsZXRlfGRvfGRvdWJsZXxkeW5hbWljX2Nhc3R8ZWxzZXxlbnVtfGV4cGxpY2l0fGV4cG9ydHxleHRlcm58ZmxvYXR8Zm9yfGZyaWVuZHxnb3RvfGlmfGlubGluZXxpbnR8bG9uZ3xtdXRhYmxlfG5hbWVzcGFjZXxuZXd8bm9leGNlcHR8bnVsbHB0cnxvcGVyYXRvcnxwcml2YXRlfHByb3RlY3RlZHxwdWJsaWN8cmVnaXN0ZXJ8cmVpbnRlcnByZXRfY2FzdHxyZXR1cm58c2hvcnR8c2lnbmVkfHNpemVvZnxzdGF0aWN8c3RhdGljX2Fzc2VydHxzdGF0aWNfY2FzdHxzdHJ1Y3R8c3dpdGNofHRlbXBsYXRlfHRoaXN8dGhyZWFkX2xvY2FsfHRocm93fHRyeXx0eXBlZGVmfHR5cGVpZHx0eXBlbmFtZXx1bmlvbnx1bnNpZ25lZHx1c2luZ3x2aXJ0dWFsfHZvaWR8dm9sYXRpbGV8d2NoYXJfdHx3aGlsZSlcYi8sImJvb2xlYW4iOi9cYih0cnVlfGZhbHNlKVxiLyxvcGVyYXRvcjovWy0rXXsxLDJ9fCE9P3w8ezEsMn09P3w+ezEsMn09P3xcLT58OnsxLDJ9fD17MSwyfXxcXnx+fCV8JnsxLDJ9fFx8P1x8fFw/fFwqfFwvfFxiKGFuZHxhbmRfZXF8Yml0YW5kfGJpdG9yfG5vdHxub3RfZXF8b3J8b3JfZXF8eG9yfHhvcl9lcSlcYi99KSxjLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImNwcCIsImtleXdvcmQiLHsiY2xhc3MtbmFtZSI6e3BhdHRlcm46LyhjbGFzc1xzKylbYS16MC05X10rL2ksbG9va2JlaGluZDohMH19KSxjLmxhbmd1YWdlcy5qYXZhPWMubGFuZ3VhZ2VzLmV4dGVuZCgiY2xpa2UiLHtrZXl3b3JkOi9cYihhYnN0cmFjdHxjb250aW51ZXxmb3J8bmV3fHN3aXRjaHxhc3NlcnR8ZGVmYXVsdHxnb3RvfHBhY2thZ2V8c3luY2hyb25pemVkfGJvb2xlYW58ZG98aWZ8cHJpdmF0ZXx0aGlzfGJyZWFrfGRvdWJsZXxpbXBsZW1lbnRzfHByb3RlY3RlZHx0aHJvd3xieXRlfGVsc2V8aW1wb3J0fHB1YmxpY3x0aHJvd3N8Y2FzZXxlbnVtfGluc3RhbmNlb2Z8cmV0dXJufHRyYW5zaWVudHxjYXRjaHxleHRlbmRzfGludHxzaG9ydHx0cnl8Y2hhcnxmaW5hbHxpbnRlcmZhY2V8c3RhdGljfHZvaWR8Y2xhc3N8ZmluYWxseXxsb25nfHN0cmljdGZwfHZvbGF0aWxlfGNvbnN0fGZsb2F0fG5hdGl2ZXxzdXBlcnx3aGlsZSlcYi8sbnVtYmVyOi9cYjBiWzAxXStcYnxcYjB4W1xkYS1mXSpcLj9bXGRhLWZwXC1dK1xifFxiXGQqXC4/XGQrKD86ZVsrLV0/XGQrKT9bZGZdP1xiL2ksb3BlcmF0b3I6e3BhdHRlcm46LyhefFteLl0pKD86XCtbKz1dP3wtWy09XT98IT0/fDw8Pz0/fD4+Pz4/PT98PT0/fCZbJj1dP3xcfFt8PV0/fFwqPT98XC89P3wlPT98XF49P3xbPzp+XSkvbSxsb29rYmVoaW5kOiEwfX0pLGMubGFuZ3VhZ2VzLnBocD1jLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYW5kfG9yfHhvcnxhcnJheXxhc3xicmVha3xjYXNlfGNmdW5jdGlvbnxjbGFzc3xjb25zdHxjb250aW51ZXxkZWNsYXJlfGRlZmF1bHR8ZGllfGRvfGVsc2V8ZWxzZWlmfGVuZGRlY2xhcmV8ZW5kZm9yfGVuZGZvcmVhY2h8ZW5kaWZ8ZW5kc3dpdGNofGVuZHdoaWxlfGV4dGVuZHN8Zm9yfGZvcmVhY2h8ZnVuY3Rpb258aW5jbHVkZXxpbmNsdWRlX29uY2V8Z2xvYmFsfGlmfG5ld3xyZXR1cm58c3RhdGljfHN3aXRjaHx1c2V8cmVxdWlyZXxyZXF1aXJlX29uY2V8dmFyfHdoaWxlfGFic3RyYWN0fGludGVyZmFjZXxwdWJsaWN8aW1wbGVtZW50c3xwcml2YXRlfHByb3RlY3RlZHxwYXJlbnR8dGhyb3d8bnVsbHxlY2hvfHByaW50fHRyYWl0fG5hbWVzcGFjZXxmaW5hbHx5aWVsZHxnb3RvfGluc3RhbmNlb2Z8ZmluYWxseXx0cnl8Y2F0Y2gpXGIvaSxjb25zdGFudDovXGJbQS1aMC05X117Mix9XGIvLGNvbW1lbnQ6e3BhdHRlcm46LyhefFteXFxdKSg/OlwvXCpbXHdcV10qP1wqXC98XC9cLy4qKS8sbG9va2JlaGluZDohMH19KSxjLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInBocCIsImNsYXNzLW5hbWUiLHsic2hlbGwtY29tbWVudCI6e3BhdHRlcm46LyhefFteXFxdKSMuKi8sbG9va2JlaGluZDohMCxhbGlhczoiY29tbWVudCJ9fSksYy5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJwaHAiLCJrZXl3b3JkIix7ZGVsaW1pdGVyOi9cPz58PFw/KD86cGhwKT8vaSx2YXJpYWJsZTovXCRcdytcYi9pLCJwYWNrYWdlIjp7cGF0dGVybjovKFxcfG5hbWVzcGFjZVxzK3x1c2VccyspW1x3XFxdKy8sbG9va2JlaGluZDohMCxpbnNpZGU6e3B1bmN0dWF0aW9uOi9cXC99fX0pLGMubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgicGhwIiwib3BlcmF0b3IiLHtwcm9wZXJ0eTp7cGF0dGVybjovKC0+KVtcd10rLyxsb29rYmVoaW5kOiEwfX0pLGMubGFuZ3VhZ2VzLm1hcmt1cCYmKGMuaG9va3MuYWRkKCJiZWZvcmUtaGlnaGxpZ2h0IixmdW5jdGlvbihhKXsicGhwIj09PWEubGFuZ3VhZ2UmJihhLnRva2VuU3RhY2s9W10sYS5iYWNrdXBDb2RlPWEuY29kZSxhLmNvZGU9YS5jb2RlLnJlcGxhY2UoLyg/OjxcP3BocHw8XD8pW1x3XFddKj8oPzpcPz4pL2dpLGZ1bmN0aW9uKGIpe3JldHVybiBhLnRva2VuU3RhY2sucHVzaChiKSwie3t7UEhQIithLnRva2VuU3RhY2subGVuZ3RoKyJ9fX0ifSkpfSksYy5ob29rcy5hZGQoImJlZm9yZS1pbnNlcnQiLGZ1bmN0aW9uKGEpeyJwaHAiPT09YS5sYW5ndWFnZSYmKGEuY29kZT1hLmJhY2t1cENvZGUsZGVsZXRlIGEuYmFja3VwQ29kZSl9KSxjLmhvb2tzLmFkZCgiYWZ0ZXItaGlnaGxpZ2h0IixmdW5jdGlvbihhKXtpZigicGhwIj09PWEubGFuZ3VhZ2Upe2Zvcih2YXIgYixkPTA7Yj1hLnRva2VuU3RhY2tbZF07ZCsrKWEuaGlnaGxpZ2h0ZWRDb2RlPWEuaGlnaGxpZ2h0ZWRDb2RlLnJlcGxhY2UoInt7e1BIUCIrKGQrMSkrIn19fSIsYy5oaWdobGlnaHQoYixhLmdyYW1tYXIsInBocCIpLnJlcGxhY2UoL1wkL2csIiQkJCQiKSk7YS5lbGVtZW50LmlubmVySFRNTD1hLmhpZ2hsaWdodGVkQ29kZX19KSxjLmhvb2tzLmFkZCgid3JhcCIsZnVuY3Rpb24oYSl7InBocCI9PT1hLmxhbmd1YWdlJiYibWFya3VwIj09PWEudHlwZSYmKGEuY29udGVudD1hLmNvbnRlbnQucmVwbGFjZSgvKFx7XHtce1BIUFswLTldK1x9XH1cfSkvZywnPHNwYW4gY2xhc3M9InRva2VuIHBocCI+JDE8L3NwYW4+JykpfSksYy5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJwaHAiLCJjb21tZW50Iix7bWFya3VwOntwYXR0ZXJuOi88W14/XVwvPyguKj8pPi8saW5zaWRlOmMubGFuZ3VhZ2VzLm1hcmt1cH0scGhwOi9ce1x7XHtQSFBbMC05XStcfVx9XH0vfSkpLGMubGFuZ3VhZ2VzLnB5dGhvbj17Y29tbWVudDp7cGF0dGVybjovKF58W15cXF0pIy4qLyxsb29rYmVoaW5kOiEwfSxzdHJpbmc6LyIiIltcc1xTXSs/IiIifCcnJ1tcc1xTXSs/JycnfCgifCcpKD86XFw/LikqP1wxLywiZnVuY3Rpb24iOntwYXR0ZXJuOi8oKD86XnxccylkZWZbIFx0XSspW2EtekEtWl9dW2EtekEtWjAtOV9dKig/PVwoKS9nLGxvb2tiZWhpbmQ6ITB9LCJjbGFzcy1uYW1lIjp7cGF0dGVybjovKFxiY2xhc3NccyspW2EtejAtOV9dKy9pLGxvb2tiZWhpbmQ6ITB9LGtleXdvcmQ6L1xiKD86YXN8YXNzZXJ0fGFzeW5jfGF3YWl0fGJyZWFrfGNsYXNzfGNvbnRpbnVlfGRlZnxkZWx8ZWxpZnxlbHNlfGV4Y2VwdHxleGVjfGZpbmFsbHl8Zm9yfGZyb218Z2xvYmFsfGlmfGltcG9ydHxpbnxpc3xsYW1iZGF8cGFzc3xwcmludHxyYWlzZXxyZXR1cm58dHJ5fHdoaWxlfHdpdGh8eWllbGQpXGIvLCJib29sZWFuIjovXGIoPzpUcnVlfEZhbHNlKVxiLyxudW1iZXI6L1xiLT8oPzowW2JvXSk/KD86KD86XGR8MHhbXGRhLWZdKVtcZGEtZl0qXC4/XGQqfFwuXGQrKSg/OmVbKy1dP1xkKyk/aj9cYi9pLG9wZXJhdG9yOi9bLSslPV09P3whPXxcKlwqPz0/fFwvXC8/PT98PFs8PT5dP3w+Wz0+XT98WyZ8Xn5dfFxiKD86b3J8YW5kfG5vdClcYi8scHVuY3R1YXRpb246L1t7fVtcXTsoKSwuOl0vfSxmdW5jdGlvbihhKXthLmxhbmd1YWdlcy5ydWJ5PWEubGFuZ3VhZ2VzLmV4dGVuZCgiY2xpa2UiLHtjb21tZW50Oi8jKD8hXHtbXlxyXG5dKj9cfSkuKi8sa2V5d29yZDovXGIoYWxpYXN8YW5kfEJFR0lOfGJlZ2lufGJyZWFrfGNhc2V8Y2xhc3N8ZGVmfGRlZmluZV9tZXRob2R8ZGVmaW5lZHxkb3xlYWNofGVsc2V8ZWxzaWZ8RU5EfGVuZHxlbnN1cmV8ZmFsc2V8Zm9yfGlmfGlufG1vZHVsZXxuZXd8bmV4dHxuaWx8bm90fG9yfHJhaXNlfHJlZG98cmVxdWlyZXxyZXNjdWV8cmV0cnl8cmV0dXJufHNlbGZ8c3VwZXJ8dGhlbnx0aHJvd3x0cnVlfHVuZGVmfHVubGVzc3x1bnRpbHx3aGVufHdoaWxlfHlpZWxkKVxiL30pO3ZhciBiPXtwYXR0ZXJuOi8jXHtbXn1dK1x9LyxpbnNpZGU6e2RlbGltaXRlcjp7cGF0dGVybjovXiNce3xcfSQvLGFsaWFzOiJ0YWcifSxyZXN0OmEudXRpbC5jbG9uZShhLmxhbmd1YWdlcy5ydWJ5KX19O2EubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgicnVieSIsImtleXdvcmQiLHtyZWdleDpbe3BhdHRlcm46LyVyKFteYS16QS1aMC05XHNce1woXFs8XSkoPzpbXlxcXXxcXFtcc1xTXSkqP1wxW2dpbV17MCwzfS8saW5zaWRlOntpbnRlcnBvbGF0aW9uOmJ9fSx7cGF0dGVybjovJXJcKCg/OlteKClcXF18XFxbXHNcU10pKlwpW2dpbV17MCwzfS8saW5zaWRlOntpbnRlcnBvbGF0aW9uOmJ9fSx7cGF0dGVybjovJXJceyg/OlteI3t9XFxdfCMoPzpce1tefV0rXH0pP3xcXFtcc1xTXSkqXH1bZ2ltXXswLDN9LyxpbnNpZGU6e2ludGVycG9sYXRpb246Yn19LHtwYXR0ZXJuOi8lclxbKD86W15cW1xdXFxdfFxcW1xzXFNdKSpcXVtnaW1dezAsM30vLGluc2lkZTp7aW50ZXJwb2xhdGlvbjpifX0se3BhdHRlcm46LyVyPCg/OltePD5cXF18XFxbXHNcU10pKj5bZ2ltXXswLDN9LyxpbnNpZGU6e2ludGVycG9sYXRpb246Yn19LHtwYXR0ZXJuOi8oXnxbXlwvXSlcLyg/IVwvKShcWy4rP118XFwufFteXC9cclxuXSkrXC9bZ2ltXXswLDN9KD89XHMqKCR8W1xyXG4sLjt9KV0pKS8sbG9va2JlaGluZDohMH1dLHZhcmlhYmxlOi9bQCRdK1thLXpBLVpfXVthLXpBLVpfMC05XSooPzpbPyFdfFxiKS8sc3ltYm9sOi86W2EtekEtWl9dW2EtekEtWl8wLTldKig/Ols/IV18XGIpL30pLGEubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgicnVieSIsIm51bWJlciIse2J1aWx0aW46L1xiKEFycmF5fEJpZ251bXxCaW5kaW5nfENsYXNzfENvbnRpbnVhdGlvbnxEaXJ8RXhjZXB0aW9ufEZhbHNlQ2xhc3N8RmlsZXxTdGF0fEZpbGV8Rml4bnVtfEZsb2FkfEhhc2h8SW50ZWdlcnxJT3xNYXRjaERhdGF8TWV0aG9kfE1vZHVsZXxOaWxDbGFzc3xOdW1lcmljfE9iamVjdHxQcm9jfFJhbmdlfFJlZ2V4cHxTdHJpbmd8U3RydWN0fFRNU3xTeW1ib2x8VGhyZWFkR3JvdXB8VGhyZWFkfFRpbWV8VHJ1ZUNsYXNzKVxiLyxjb25zdGFudDovXGJbQS1aXVthLXpBLVpfMC05XSooPzpbPyFdfFxiKS99KSxhLmxhbmd1YWdlcy5ydWJ5LnN0cmluZz1be3BhdHRlcm46LyVbcVFpSXdXeHNdPyhbXmEtekEtWjAtOVxzXHtcKFxbPF0pKD86W15cXF18XFxbXHNcU10pKj9cMS8saW5zaWRlOntpbnRlcnBvbGF0aW9uOmJ9fSx7cGF0dGVybjovJVtxUWlJd1d4c10/XCgoPzpbXigpXFxdfFxcW1xzXFNdKSpcKS8saW5zaWRlOntpbnRlcnBvbGF0aW9uOmJ9fSx7cGF0dGVybjovJVtxUWlJd1d4c10/XHsoPzpbXiN7fVxcXXwjKD86XHtbXn1dK1x9KT98XFxbXHNcU10pKlx9LyxpbnNpZGU6e2ludGVycG9sYXRpb246Yn19LHtwYXR0ZXJuOi8lW3FRaUl3V3hzXT9cWyg/OlteXFtcXVxcXXxcXFtcc1xTXSkqXF0vLGluc2lkZTp7aW50ZXJwb2xhdGlvbjpifX0se3BhdHRlcm46LyVbcVFpSXdXeHNdPzwoPzpbXjw+XFxdfFxcW1xzXFNdKSo+LyxpbnNpZGU6e2ludGVycG9sYXRpb246Yn19LHtwYXR0ZXJuOi8oInwnKSgjXHtbXn1dK1x9fFxcKD86XHI/XG58XHIpfFxcPy4pKj9cMS8saW5zaWRlOntpbnRlcnBvbGF0aW9uOmJ9fV19KGMpLGN9KSxkKCJ0aW55bWNlL2NvZGVzYW1wbGVwbHVnaW4vVXRpbHMiLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShhKXtyZXR1cm4gYSYmIlBSRSI9PWEubm9kZU5hbWUmJi0xIT09YS5jbGFzc05hbWUuaW5kZXhPZigibGFuZ3VhZ2UtIil9ZnVuY3Rpb24gYihhKXtyZXR1cm4gZnVuY3Rpb24oYixjKXtyZXR1cm4gYShjKX19cmV0dXJue2lzQ29kZVNhbXBsZTphLHRyaW1Bcmc6Yn19KSxkKCJ0aW55bWNlL2NvZGVzYW1wbGVwbHVnaW4vRGlhbG9nIixbInRpbnltY2UvZG9tL0RPTVV0aWxzIiwidGlueW1jZS9jb2Rlc2FtcGxlcGx1Z2luL1V0aWxzIiwidGlueW1jZS9jb2Rlc2FtcGxlcGx1Z2luL1ByaXNtIl0sZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSxiLGQpe2EudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXt2YXIgZj1lKGEpO2Q9aC5lbmNvZGUoZCksZj8oYS5kb20uc2V0QXR0cmliKGYsImNsYXNzIiwibGFuZ3VhZ2UtIitiKSxmLmlubmVySFRNTD1kLGMuaGlnaGxpZ2h0RWxlbWVudChmKSxhLnNlbGVjdGlvbi5zZWxlY3QoZikpOihhLmluc2VydENvbnRlbnQoJzxwcmUgaWQ9Il9fbmV3IiBjbGFzcz0ibGFuZ3VhZ2UtJytiKyciPicrZCsiPC9wcmU+IiksYS5zZWxlY3Rpb24uc2VsZWN0KGEuJCgiI19fbmV3IikucmVtb3ZlQXR0cigiaWQiKVswXSkpfSl9ZnVuY3Rpb24gZShhKXt2YXIgYz1hLnNlbGVjdGlvbi5nZXROb2RlKCk7cmV0dXJuIGIuaXNDb2RlU2FtcGxlKGMpP2M6bnVsbH1mdW5jdGlvbiBmKGEpe3ZhciBiPWUoYSk7cmV0dXJuIGI/Yi50ZXh0Q29udGVudDoiIn1mdW5jdGlvbiBnKGEpe3ZhciBiLGM9ZShhKTtyZXR1cm4gYz8oYj1jLmNsYXNzTmFtZS5tYXRjaCgvbGFuZ3VhZ2UtKFx3KykvKSxiP2JbMV06IiIpOiIifXZhciBoPWEuRE9NLGk9W3t0ZXh0OiJIVE1ML1hNTCIsdmFsdWU6Im1hcmt1cCJ9LHt0ZXh0OiJKYXZhU2NyaXB0Iix2YWx1ZToiamF2YXNjcmlwdCJ9LHt0ZXh0OiJDU1MiLHZhbHVlOiJjc3MifSx7dGV4dDoiUEhQIix2YWx1ZToicGhwIn0se3RleHQ6IlJ1YnkiLHZhbHVlOiJydWJ5In0se3RleHQ6IlB5dGhvbiIsdmFsdWU6InB5dGhvbiJ9LHt0ZXh0OiJKYXZhIix2YWx1ZToiamF2YSJ9LHt0ZXh0OiJDIix2YWx1ZToiYyJ9LHt0ZXh0OiJDIyIsdmFsdWU6ImNzaGFycCJ9LHt0ZXh0OiJDKysiLHZhbHVlOiJjcHAifV07cmV0dXJue29wZW46ZnVuY3Rpb24oYSl7YS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJJbnNlcnQvRWRpdCBjb2RlIHNhbXBsZSIsbWluV2lkdGg6TWF0aC5taW4oaC5nZXRWaWV3UG9ydCgpLncsODAwKSxtaW5IZWlnaHQ6TWF0aC5taW4oaC5nZXRWaWV3UG9ydCgpLmgsNjUwKSxsYXlvdXQ6ImZpdCIsYm9keTpbe3R5cGU6Imxpc3Rib3giLG5hbWU6Imxhbmd1YWdlIixsYWJlbDoiTGFuZ3VhZ2UiLG1heFdpZHRoOjIwMCx2YWx1ZTpnKGEpLHZhbHVlczppfSx7dHlwZToidGV4dGJveCIsbmFtZToiY29kZSIsbXVsdGlsaW5lOiEwLHNwZWxsY2hlY2s6ITEsYXJpYUxhYmVsOiJDb2RlIHZpZXciLGZsZXg6MSxzdHlsZToiZGlyZWN0aW9uOiBsdHI7IHRleHQtYWxpZ246IGxlZnQiLGNsYXNzZXM6Im1vbm9zcGFjZSIsdmFsdWU6ZihhKSxhdXRvZm9jdXM6ITB9XSxvblN1Ym1pdDpmdW5jdGlvbihiKXtkKGEsYi5kYXRhLmxhbmd1YWdlLGIuZGF0YS5jb2RlKX19KX19fSksZCgidGlueW1jZS9jb2Rlc2FtcGxlcGx1Z2luL1BsdWdpbiIsWyJ0aW55bWNlL0VudiIsInRpbnltY2UvUGx1Z2luTWFuYWdlciIsInRpbnltY2UvY29kZXNhbXBsZXBsdWdpbi9QcmlzbSIsInRpbnltY2UvY29kZXNhbXBsZXBsdWdpbi9EaWFsb2ciLCJ0aW55bWNlL2NvZGVzYW1wbGVwbHVnaW4vVXRpbHMiXSxmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc9ZS50cmltQXJnO2IuYWRkKCJjb2Rlc2FtcGxlIixmdW5jdGlvbihiLGgpe2Z1bmN0aW9uIGkoKXt2YXIgYTtiLmlubGluZSYmZnx8IWIuaW5saW5lJiZqfHwoYi5pbmxpbmU/Zj0hMDpqPSEwLGE9Yi5kb20uY3JlYXRlKCJsaW5rIix7cmVsOiJzdHlsZXNoZWV0IixocmVmOmgrIi9jc3MvcHJpc20uY3NzIn0pLGIuZ2V0RG9jKCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChhKSl9dmFyIGosaz1iLiQ7YS5jZUZhbHNlJiYoYi5vbigiUHJlUHJvY2VzcyIsZnVuY3Rpb24oYSl7aygicHJlW2NvbnRlbnRlZGl0YWJsZT1mYWxzZV0iLGEubm9kZSkuZmlsdGVyKGcoZS5pc0NvZGVTYW1wbGUpKS5lYWNoKGZ1bmN0aW9uKGEsYil7dmFyIGM9ayhiKSxkPWIudGV4dENvbnRlbnQ7Yy5hdHRyKCJjbGFzcyIsay50cmltKGMuYXR0cigiY2xhc3MiKSkpLGMucmVtb3ZlQXR0cigiY29udGVudEVkaXRhYmxlIiksYy5lbXB0eSgpLmFwcGVuZChrKCI8Y29kZT48L2NvZGU+IikuZWFjaChmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9ZH0pKX0pfSksYi5vbigiU2V0Q29udGVudCIsZnVuY3Rpb24oKXt2YXIgYT1rKCJwcmUiKS5maWx0ZXIoZyhlLmlzQ29kZVNhbXBsZSkpLmZpbHRlcihmdW5jdGlvbihhLGIpe3JldHVybiJmYWxzZSIhPT1iLmNvbnRlbnRFZGl0YWJsZX0pO2EubGVuZ3RoJiZiLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7YS5lYWNoKGZ1bmN0aW9uKGEsZCl7ayhkKS5maW5kKCJiciIpLmVhY2goZnVuY3Rpb24oYSxjKXtjLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGIuZ2V0RG9jKCkuY3JlYXRlVGV4dE5vZGUoIlxuIiksYyl9KSxkLmNvbnRlbnRFZGl0YWJsZT0hMSxkLmlubmVySFRNTD1iLmRvbS5lbmNvZGUoZC50ZXh0Q29udGVudCksYy5oaWdobGlnaHRFbGVtZW50KGQpLGQuY2xhc3NOYW1lPWsudHJpbShkLmNsYXNzTmFtZSl9KX0pfSksYi5hZGRDb21tYW5kKCJjb2Rlc2FtcGxlIixmdW5jdGlvbigpe2Qub3BlbihiKX0pLGIuYWRkQnV0dG9uKCJjb2Rlc2FtcGxlIix7Y21kOiJjb2Rlc2FtcGxlIix0aXRsZToiSW5zZXJ0L0VkaXQgY29kZSBzYW1wbGUifSksYi5vbigiaW5pdCIsaSkpfSl9KSxmKFsidGlueW1jZS9jb2Rlc2FtcGxlcGx1Z2luL1ByaXNtIiwidGlueW1jZS9jb2Rlc2FtcGxlcGx1Z2luL1V0aWxzIiwidGlueW1jZS9jb2Rlc2FtcGxlcGx1Z2luL0RpYWxvZyIsInRpbnltY2UvY29kZXNhbXBsZXBsdWdpbi9QbHVnaW4iXSl9KHRoaXMpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/colorpicker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/colorpicker/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/colorpicker/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiY29sb3JwaWNrZXIiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYixjKXtmdW5jdGlvbiBkKGEpe3ZhciBiPW5ldyB0aW55bWNlLnV0aWwuQ29sb3IoYSksYz1iLnRvUmdiKCk7Zi5mcm9tSlNPTih7cjpjLnIsZzpjLmcsYjpjLmIsaGV4OmIudG9IZXgoKS5zdWJzdHIoMSl9KSxlKGIudG9IZXgoKSl9ZnVuY3Rpb24gZShhKXtmLmZpbmQoIiNwcmV2aWV3IilbMF0uZ2V0RWwoKS5zdHlsZS5iYWNrZ3JvdW5kPWF9dmFyIGY9YS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJDb2xvciIsaXRlbXM6e3R5cGU6ImNvbnRhaW5lciIsbGF5b3V0OiJmbGV4IixkaXJlY3Rpb246InJvdyIsYWxpZ246InN0cmV0Y2giLHBhZGRpbmc6NSxzcGFjaW5nOjEwLGl0ZW1zOlt7dHlwZToiY29sb3JwaWNrZXIiLHZhbHVlOmMsb25jaGFuZ2U6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnJnYigpO2YmJihmLmZpbmQoIiNyIikudmFsdWUoYS5yKSxmLmZpbmQoIiNnIikudmFsdWUoYS5nKSxmLmZpbmQoIiNiIikudmFsdWUoYS5iKSxmLmZpbmQoIiNoZXgiKS52YWx1ZSh0aGlzLnZhbHVlKCkuc3Vic3RyKDEpKSxlKHRoaXMudmFsdWUoKSkpfX0se3R5cGU6ImZvcm0iLHBhZGRpbmc6MCxsYWJlbEdhcDo1LGRlZmF1bHRzOnt0eXBlOiJ0ZXh0Ym94IixzaXplOjcsdmFsdWU6IjAiLGZsZXg6MSxzcGVsbGNoZWNrOiExLG9uY2hhbmdlOmZ1bmN0aW9uKCl7dmFyIGEsYixjPWYuZmluZCgiY29sb3JwaWNrZXIiKVswXTtyZXR1cm4gYT10aGlzLm5hbWUoKSxiPXRoaXMudmFsdWUoKSwiaGV4Ij09YT8oYj0iIyIrYixkKGIpLHZvaWQgYy52YWx1ZShiKSk6KGI9e3I6Zi5maW5kKCIjciIpLnZhbHVlKCksZzpmLmZpbmQoIiNnIikudmFsdWUoKSxiOmYuZmluZCgiI2IiKS52YWx1ZSgpfSxjLnZhbHVlKGIpLHZvaWQgZChiKSl9fSxpdGVtczpbe25hbWU6InIiLGxhYmVsOiJSIixhdXRvZm9jdXM6MX0se25hbWU6ImciLGxhYmVsOiJHIn0se25hbWU6ImIiLGxhYmVsOiJCIn0se25hbWU6ImhleCIsbGFiZWw6IiMiLHZhbHVlOiIwMDAwMDAifSx7bmFtZToicHJldmlldyIsdHlwZToiY29udGFpbmVyIixib3JkZXI6MX1dfV19LG9uU3VibWl0OmZ1bmN0aW9uKCl7YigiIyIrdGhpcy50b0pTT04oKS5oZXgpfX0pO2QoYyl9YS5zZXR0aW5ncy5jb2xvcl9waWNrZXJfY2FsbGJhY2t8fChhLnNldHRpbmdzLmNvbG9yX3BpY2tlcl9jYWxsYmFjaz1iKX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/contextmenu/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/contextmenu/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/contextmenu/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiY29udGV4dG1lbnUiLGZ1bmN0aW9uKGEpe3ZhciBiLGM9YS5zZXR0aW5ncy5jb250ZXh0bWVudV9uZXZlcl91c2VfbmF0aXZlO2Eub24oImNvbnRleHRtZW51IixmdW5jdGlvbihkKXt2YXIgZSxmPWEuZ2V0RG9jKCk7aWYoIWQuY3RybEtleXx8Yyl7aWYoZC5wcmV2ZW50RGVmYXVsdCgpLHRpbnltY2UuRW52Lm1hYyYmdGlueW1jZS5FbnYud2Via2l0JiYyPT1kLmJ1dHRvbiYmZi5jYXJldFJhbmdlRnJvbVBvaW50JiZhLnNlbGVjdGlvbi5zZXRSbmcoZi5jYXJldFJhbmdlRnJvbVBvaW50KGQueCxkLnkpKSxlPWEuc2V0dGluZ3MuY29udGV4dG1lbnV8fCJsaW5rIGltYWdlIGluc2VydHRhYmxlIHwgY2VsbCByb3cgY29sdW1uIGRlbGV0ZXRhYmxlIixiKWIuc2hvdygpO2Vsc2V7dmFyIGc9W107dGlueW1jZS5lYWNoKGUuc3BsaXQoL1sgLF0vKSxmdW5jdGlvbihiKXt2YXIgYz1hLm1lbnVJdGVtc1tiXTsifCI9PWImJihjPXt0ZXh0OmJ9KSxjJiYoYy5zaG9ydGN1dD0iIixnLnB1c2goYykpfSk7Zm9yKHZhciBoPTA7aDxnLmxlbmd0aDtoKyspInwiPT1nW2hdLnRleHQmJigwIT09aCYmaCE9Zy5sZW5ndGgtMXx8Zy5zcGxpY2UoaCwxKSk7Yj1uZXcgdGlueW1jZS51aS5NZW51KHtpdGVtczpnLGNvbnRleHQ6ImNvbnRleHRtZW51IixjbGFzc2VzOiJjb250ZXh0bWVudSJ9KS5yZW5kZXJUbygpLGEub24oInJlbW92ZSIsZnVuY3Rpb24oKXtiLnJlbW92ZSgpLGI9bnVsbH0pfXZhciBpPXt4OmQucGFnZVgseTpkLnBhZ2VZfTthLmlubGluZXx8KGk9dGlueW1jZS5ET00uZ2V0UG9zKGEuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKSksaS54Kz1kLmNsaWVudFgsaS55Kz1kLmNsaWVudFkpLGIubW92ZVRvKGkueCxpLnkpfX0pfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/directionality/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/directionality/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/directionality/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZGlyZWN0aW9uYWxpdHkiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYil7dmFyIGMsZD1hLmRvbSxlPWEuc2VsZWN0aW9uLmdldFNlbGVjdGVkQmxvY2tzKCk7ZS5sZW5ndGgmJihjPWQuZ2V0QXR0cmliKGVbMF0sImRpciIpLHRpbnltY2UuZWFjaChlLGZ1bmN0aW9uKGEpe2QuZ2V0UGFyZW50KGEucGFyZW50Tm9kZSwiKltkaXI9JyIrYisiJ10iLGQuZ2V0Um9vdCgpKXx8KGMhPWI/ZC5zZXRBdHRyaWIoYSwiZGlyIixiKTpkLnNldEF0dHJpYihhLCJkaXIiLG51bGwpKX0pLGEubm9kZUNoYW5nZWQoKSl9ZnVuY3Rpb24gYyhhKXt2YXIgYj1bXTtyZXR1cm4gdGlueW1jZS5lYWNoKCJoMSBoMiBoMyBoNCBoNSBoNiBkaXYgcCIuc3BsaXQoIiAiKSxmdW5jdGlvbihjKXtiLnB1c2goYysiW2Rpcj0iK2ErIl0iKX0pLGIuam9pbigiLCIpfWEuYWRkQ29tbWFuZCgibWNlRGlyZWN0aW9uTFRSIixmdW5jdGlvbigpe2IoImx0ciIpfSksYS5hZGRDb21tYW5kKCJtY2VEaXJlY3Rpb25SVEwiLGZ1bmN0aW9uKCl7YigicnRsIil9KSxhLmFkZEJ1dHRvbigibHRyIix7dGl0bGU6IkxlZnQgdG8gcmlnaHQiLGNtZDoibWNlRGlyZWN0aW9uTFRSIixzdGF0ZVNlbGVjdG9yOmMoImx0ciIpfSksYS5hZGRCdXR0b24oInJ0bCIse3RpdGxlOiJSaWdodCB0byBsZWZ0IixjbWQ6Im1jZURpcmVjdGlvblJUTCIsc3RhdGVTZWxlY3RvcjpjKCJydGwiKX0pfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-cool.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQVAAsJBZF6DszMy+HJE4aGhFxWFNzSPLOYFe7u7b6pTjo4FvXYFL64ntG/I1tbV+vpWSMhGt7TMb+mLC8vLN3b1fr6+vzoICYKAsm/YvjuQfz5X3pgCqSMC8GoFhcVDQAAACH5BAEAAB8ALAAAAAASABIAAAXf4CeKVWmWY0pSycFxR0JVKokd0aNpT3RgtBRC0tlljpldR4IYVVoYQ6RxnBpuCRoBAlAUFABAoeDpfj0eAgFAcEzeEwWYQXg7AA4BZALxQPoSEX59ex4UFBsecn0BCwMcaHIeBQgUHD0NAwMLjpoDHQMPBwgIBw8Wj5yqCxybGR2kCREZCwEbm44bjRkRCQgVDEUWCxsXxhcbCxYaHQwlCAkNGhYWHQEBHdQaDb40FQISDQ8Z1NQZDw0SAkEfCAIJHbNGER0JAk0pFRQMCURLCQxm1PhQoZKAgwIo/EoRAgA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-cry.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQYAC4TAi6K8rOWC76rUNzQMsGrIbKzk/bxT6W60f7pI9rmct7i57CXIc+7H/rxOPjcFXJYCsrCnp3D86Gxe9jWtbjGsFI+Cox2Efb29sq2auLugsba8sbGxlqi8v36agAAACH5BAEAAB8ALAAAAAASABIAAAXG4CeKWGmWY0pSAyMIzEBhKpkJxOF5ByFktBSGUdgRHA7CrsAIfjCDBq9wQRIdnsaAhqEIPI4r0sHECmZQZXK9PnoI2+HhgLxYkJaqY97EfJENAAAFBYICDw8HAiUCGhsUEwgZiBUVExQbCosYBQESiKChDxIBBSUDEw6iog4TcREdEgmIEIIQiAkSHRElCwENBwkXAg0NFxcJBw0BC1wIBcAOCdMJew0FCEGkEgMFOTs9BQPbI80LBt2E4gbmNb0c8BzNTh8hADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-embarassed.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQSACoOAsS8naqRFfrTG8CpTPzRVNS/KP7mILmbEfykQfnuVMKrIdra2frvOv35bOLCOnZbF493G/b29lg4D8bGxuHTN5ZkJKx8KPu/Kv7ZPeDYurybJP6OV8KwYv62UQAAACH5BAEAAB8ALAAAAAASABIAAAXI4CeKUmmWY0pqxCYIG6FJKtkhj+I4yoN0tJRks+BVGo2KbrEJfiSEYmMRQQoWDceCQJNoEI4GDIlcCLKIGVSZjECQ7qOiwpUgFIpMBjJBTiZ6eE12DgUeHhcWBwMRFgkJGAoIJQiGHByQAwMYCZcJBZNDlpgYmpyeBYMEDwWPpZqbjwUPdQELeRgCEwAAExcYGQoLASUMBAYKB8rLygoGBAxdDAvIDcwNzgvRIxIMHQtKO3MLHdtCDAFRC+sEAeYqxRTyFNFOHyEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfALmbHMbGxpZ+D/bZEsq2avrsILicDe/v7sCsTVI6Cfj2WtG9HtzQMW1UC7qiK/nzSPr6+uDYuvz6b8S8neHbT5uKJ8KqF9fX1v76NtPEMDoiAqeKCuvdNiYKAvvuNwAAACH5BAUAAB8ALAAAAAASABIAQAXT4CeKUGmWo3gYEuY2TTHAQ60YxwhdE+JYFgdicoGkIIiFpOLgeJ6OimSBMEImFsWiw+VqBImFwjIxkgiGDEUioWQMBPMHyVC8EneXglE9ABQeNYIGDQYaCQMPADk7DmIYBQsLAg0UCw5FKXMRCAAbGwAIEXIjBz8KCBUcHBUIYw45mywPHBkZT7YcDxIGo34KDy4JeBjDLg8KiystkILONQ84BwgMgRsCGw1chA0efAcQ02LDGxodAhYCD1TgKhcIFgzIwBkWCBexRwcXAf0B+KRCAAA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-frown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQRAEEnBcbGxqCCCPPVD93PMsq2ar+qTu/v7vPxWM69IvzvN2hUErebDb+jLf79cfzlGVpBCvr6+uDYuvryR8SrFcS8ndfX1v75N/76Wu7aIrmbHPjdFPnpJXhgENLCMAAAACH5BAEAAB8ALAAAAAASABIAAAXR4CeKUWmWY0pKhiYImiFFKlkwHuI4iMcUtNShQUFgJgrFBIOgNA6jiCHhmHg8yevEkTDQIhJGVbGAJMtKB2MmJWAuFwgALodjCN6DBjGBdxZ+gBcTCBoHB2JwFwoZHBsDkBsbGAyHiReOkJqRE5V6CAqSFHIAEBSSDxOGBwYEoQylHR1yDBsKeAcRFRQYGQIbD8EPGwIZGBQVJawJCBzCwhwIXbkfERYNzJjBHBfSDRZBHwcWBhQES0cEFAYWUCnWFQZETgYV4DXV4wH7Ae3hHyEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-innocent.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQSADgqCNzLrejNEqlxBsuxjc7OWsGTVe/t7LOPDvnbE7+lFsrCoP32OHdpFdmrGvPvVNHR0cy1IPr6+v39cb+oTt7GKmFLCop6GvznHbqQML+jLf76Vtq+Qt/WMrJ1IgAAACH5BAEAAB8ALAAAAAASABIAAAXN4CeKUmmW43gQhudlSIxkBhEcYkssFFI9k8mjgqC0DAeDIaBRPDYPBuP5UGgOAc8nMOgqHJWwmIMYZAKSAKIQaTvecAdngJZQOhvGBdDodBp8HQ8dFBIHTlIWFg2Ji1JVBwcIE1J9GBgJFgICCQkbCpEKlAxtnAlfpp+hUZ2trgkYkAd3DK0IigitDIQHEgsKG5gJAoqmGJ8LJbMVwZfOlxsVFL0fEhAaEVHPUxEaEBIqEBQKghtQHQoUEDgp1jxNVhQL3ykjhhD4+dQjIQA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-kiss.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQUAFI9C8bGxu40NIZzHPPwWcq2auinE7WUCt7SMu/v7pQhEL+qTtLAKvfaE/7uKa2ZIrsfGMJtFv79ccCmF/r6+uDYuvnuPtI5KdqaHsS8nf76OdfX1r2lKfvmHP76WQAAACH5BAEAAB8ALAAAAAASABIAAAXP4CeKVGmWY0pWy3Mcz1JRKlkcCCFJBHIUtFSCMyF4EBYLwkOYcBIjyoIhGVis16uEsaBRKgeJ5sF5JMkPjeQwky45AwBAo5EPOMduokivzzVxfU0JCWF9Gg4dDYuMHgeEhogNBouUjY97BA6VCi8Klh0WE4QLSA0RChCqEAoRDUoLCRQZEx4dHREQAgIXEbceExklCVMemxgXFxgNDh5csh8UGxwMBIi3DhoEDBwbQR8JGwsTSB4eShMLG1Ap0hkLRE4LGd410eEB+QHr3x8hADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-laughing.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfAMKmMq6qpuPQHKOGBqGVjPXnLO/v7r+qTnJeSPPwWdK+H8OrGsjHxWpTEsS8nfbYEPryR+DYurebE/r6+v79cf32N4h1WtjV07qfLsq2at7SMnljE9XDMVI9Df77WgAAACH5BAUAAB8ALAAAAAASABIAQAXU4CeKU2mWo2hIVOUW8CMIT+1JxjhdzgEsC8DBcZmkJgcFBcLhuJoQiuJgnDgWHkHjwigxLg2FZ+EwkjISToJCSXAkGfMHqfG4Op17vuLRUFcJCwgWhIWECBgQOHMXAAoJFQsbAwsVCQoARSlzEQcSAwMSBxFyIwYYCwkeEKwQHoEYOZwsEBUNe7cVURKkgLUVGw0uwS4QCTgrFAUcNDXODwsCigYGBxq2BAwBFxcBDATCfgYT1WICGwTc4AIeU+MqFwcLGq6rGgsHF7JHBlwM//pKhQAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-money-mouth.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQUACkYBr62mpiMHMKoIsKsUffaE25YNvn0UoS1auPYMdra2T5eKrSXCvz6bvz0ObKbJEozB4lzE8rCoK6iVvb29k13OVpGPjJCGrHlmZqGNtG+JtnTv3J4JJJ+FcLCwgAAACH5BAEAAB8ALAAAAAASABIAAAW+4CeKVGmWY0puxMMwD7FRKkkw2tE0h8YQtBTlMeAdHI6DbvAIfigEDe+BRD50GuBzw2g4IgAIEixuMGbQxCEBiCQcbHcyARwqkQLA25FXH5oUXUgQbQUFhBGGBwwlgniGhh2QiyUDBwQZGpCbRAcDJQRvBhakpaQGcHUSlg8AFQgVrxUAAp4SJQpRHAsLsK8LFRdZCjQUCgMXvBgICBgLFwIDxCPGE7sY2M4DBNNCCgG84QsB3Sq4HugexE4fIQA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-sealed.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfAMCqF764n/bdFKePCYiIiOLavredE+DaUr2qSfrqHvDw7823GbKyspaKSsq2aufbNZiGILenKPb0XPn5+WxVDczMzM7OTuTk5MO7P/33Ovz6b62VIt7WtlI9C9XGLwAAACH5BAUAAB8ALAAAAAASABIAQAXA4CeKU2mWo6gYWuZSVCLAQi0ZyjhdARIBgAgicJmkJoiFZhN5uDIRiGaBME4CwYliy91OfgEjyWHwHDSag8fgEH+QD8mrM3dJHtWVJHLqTwwZOG8VEBeGh4gQFW4kBQgbAwMbCAWMKj8SGBAPDxAYEkE5bxwsGQ8eHi6oThoGHFoGci4ddBm0TzdbLA8RBpG/vwu5Cgi8EwRdWwRfeAo7CIUEFdPUBBcQCEUqDA0QERgWFhhRDQyiRwoX1BUXzikhADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-smile.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfAHlgDsbGxpZ6DOrPEcq2at7SMr+qTu/v7vPwWdC9HlI9DbSYDPzwNmhUEsSrGfvmHvr6+uDYuv79cfryR8S8nbqeLtfX1tXDMf75N7mbHMKmMv77WvjaEiYKAqqKAgAAACH5BAUAAB8ALAAAAAASABIAQAXV4CeKUGmWo3gsEuYyz8MNA2dvyzFCFmVoDofGQLFAUhBDQjK5XBgM50SSMBwhFMcmBuh4O4DYxkE5kgiLC0IiQVwWBPMnWdi4FIp7HrMpWA8ZCAwDHjaGHB4DDxMZOjwaCQgYMA8MGAgJGkYpcxEGGR4eGQYRciMHFQ4IGxNQExsIDhU6nSytDQpQuAxTC6WACBMuAA3DxRgTCI0rLTCHhjUTOQcGBQwcAgAJNgkAAhwMfgcQ1AlbDw4CAg5iVeMqFgYOBa+sBQ4GFrRIBxYB/wH0mQoBADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-surprised.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfAPvkGsbGxp2MKOrND/zrI8q2ar+qTu/v7lI7CfPxWtDAJt3PMqqKAr6lLGtTDMKnF/r6+uDYuv73N/z6b/nbE+7gN8S8ndfX1vnzRj4iAraaEeDaUv77WCgMAsS4RAAAACH5BAUAAB8ALAAAAAASABIAQAXP4CeKUGmWo3hok+Q6DgHAVM1pxwhdltE8j4bBcoGkIAbFRNCouCoNwURhMEIsD44MkOl4AQAC52ExkgqaxWYy2Sw0BfMHueC8EHcXZ1E9PBISNRQPXhqCABgPOTsNCoAKGRkKEgkKDUUpcxEGGgwMGgYRciMHPwkeAhUVAh4JQTmaLBgVC5MStRUYExqiKwkYLgh4EsIuGAk4Ky0SBAPOz4IYyQYLgTUIXgiCtwYHEAdJWjPZYRxU3ioXBg8LGBwcGAsPBhewRwcXAfoB9aMhADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-tongue-out.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQUACYKAsbGxpd9C/faEqcYGcq2avzrI7+qTu/v7tK+Hfn1WFI9DfIaGrOWCt7SMr+jLtY6Om5YEfvyRv79cfr6+uDYur6iGVoHArYvJ8S8nf31N9fX1tXDMfXgIvpSVAAAACH5BAEAAB8ALAAAAAASABIAAAXF4CeKVGmWY0pWh9U01lFRKlk0nDJNCtcUtBTiYVEoJEiJ0fJAjCiHxETC4Wg0VckkcaBRKo2pJrK4kjXaxgzqUFwXZQ38qnB0EUWJObK/Ki0ICGFXVx0GA4iJCg2BgxqHiZEDEox4bpKSHRKACAcOGgICCZEJoRp2CBQZRR0RAK8XsREdChYZJZ0JCgalGBAQGAYKXKkfFBsPuo8EDAwEww8bQR8IGy0OEgQeHgQxG04pxxkHDxgEBBgZ0jXG1QHvAd/THyEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-undecided.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQRACoWAsbGxop5G/fYEMq2av3sJb+qTu/v7qeJB/PwWda6DmRODN7SMrebDb+jLfryR/79cfr6+uDYukIvB8OqFvvvOcS8nfvjGdfX1v76WVZDDP75N3ZiEbmbHM6/JAAAACH5BAEAAB8ALAAAAAASABIAAAXO4CeKUWmWY0pKRocgnSFFKkk0TAJBCdMQtNTBQUlkHpXKI5OgOA6jiMEDQSavD4jHQItIGlXBRJAUC7KNmZSR2WgWnI1bE88wuIdO4rHhVOR9fxsPCR0HB2ByHh4FBRcUCgMXFxkNh4kbBQObnJwPlnkJmp0IEwsNkg+GBwYMFZOPEwB0CBcVdwcRFhQZjg0cFLAXBRkUFiWsHr3Ck8RbuR8RGA4eCZnNGwkeDhhBHwcYBhQMS0cMFAYYUCnSFgZETgYW3TXR4AH4AereHyEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-wink.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASAPQfANHCKcbGxp1/CerPEd7RMsq2ar+qTvPwWe/v7sezHlA6DPzwLLSYDL6kLHVcDvryR/zmHf79cfr6+uDYusGoGMS8nf78Nta+EtfX1u7mMv76WfjaEraaHCgNAv3xOgAAACH5BAUAAB8ALAAAAAASABIAQAXb4CeKUmmWo4gwkeVaC7QNw2ZrDDJKWGU0FErDUMFIUhJDIvLwOD0AwCOSMBwlFYoGAnF0vh0HV0OpHEkFBuEQiRwIjML5kyRoAIpvwqJQuDQEVggcBwsDDDaJGwwDEA8cOjwNAAceMRALHgcADUYpdBMGHAICHAYTcyMIQAcaTR4PGgdCOqAsDQQeGQAeDgqwEQyogwcPFhkJGS4ODi4PB5ArLTGKiTUPOQgGuRsCDhc2Fw4CGx6BCBLaABoxCaQJmHcG6CoYBhQEsa4EFAYYtUgQYAhAMMC/VCEAADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/img/smiley-yell.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgASANQSADIWAsnGxX9lFvTVGZaGe62ICb+qTvn2We7u7dG/KFI0Cv3wNO2rE8q2ar6eK97SM82OD/TAEPr6+m5UPODYuvrbOYdzSv79cfnwSMS8nbWZEdfX1tWqKmxMDMKnFwAAACH5BAEAAB8ALAAAAAASABIAAAXN4CeKUmmWY0pShlYUmkFJKtloz3Fdx6M1tBTC4TkcMJUKxuhxIEYSQ+KCTFoxl4SBJqFosgmrNTHVzKK5haDDSXI6gkVvi9AcFxUFwOEAKCoLSxoIdRcLCXAcDAwQHR0eAweDhQsLAxGMEIsREQMYk0WWAxoTFgQTBZ2eHoQGD5YJBAGEAQSQCw8GCBIZoRoAwMEFch4ZJQhSBwPBwTlaux8SGw4JPaYEFs4OG0EfCBsGHg9LRw8eBhtPKdIZBkRNBhncNdHfAfcB6d0fIQA7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/emoticons/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZW1vdGljb25zIixmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt2YXIgYTtyZXR1cm4gYT0nPHRhYmxlIHJvbGU9Imxpc3QiIGNsYXNzPSJtY2UtZ3JpZCI+Jyx0aW55bWNlLmVhY2goZCxmdW5jdGlvbihjKXthKz0iPHRyPiIsdGlueW1jZS5lYWNoKGMsZnVuY3Rpb24oYyl7dmFyIGQ9YisiL2ltZy9zbWlsZXktIitjKyIuZ2lmIjthKz0nPHRkPjxhIGhyZWY9IiMiIGRhdGEtbWNlLXVybD0iJytkKyciIGRhdGEtbWNlLWFsdD0iJytjKyciIHRhYmluZGV4PSItMSIgcm9sZT0ib3B0aW9uIiBhcmlhLWxhYmVsPSInK2MrJyI+PGltZyBzcmM9IicrZCsnIiBzdHlsZT0id2lkdGg6IDE4cHg7IGhlaWdodDogMThweCIgcm9sZT0icHJlc2VudGF0aW9uIiAvPjwvYT48L3RkPid9KSxhKz0iPC90cj4ifSksYSs9IjwvdGFibGU+In12YXIgZD1bWyJjb29sIiwiY3J5IiwiZW1iYXJhc3NlZCIsImZvb3QtaW4tbW91dGgiXSxbImZyb3duIiwiaW5ub2NlbnQiLCJraXNzIiwibGF1Z2hpbmciXSxbIm1vbmV5LW1vdXRoIiwic2VhbGVkIiwic21pbGUiLCJzdXJwcmlzZWQiXSxbInRvbmd1ZS1vdXQiLCJ1bmRlY2lkZWQiLCJ3aW5rIiwieWVsbCJdXTthLmFkZEJ1dHRvbigiZW1vdGljb25zIix7dHlwZToicGFuZWxidXR0b24iLHBhbmVsOntyb2xlOiJhcHBsaWNhdGlvbiIsYXV0b2hpZGU6ITAsaHRtbDpjLG9uY2xpY2s6ZnVuY3Rpb24oYil7dmFyIGM9YS5kb20uZ2V0UGFyZW50KGIudGFyZ2V0LCJhIik7YyYmKGEuaW5zZXJ0Q29udGVudCgnPGltZyBzcmM9IicrYy5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXVybCIpKyciIGFsdD0iJytjLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtYWx0IikrJyIgLz4nKSx0aGlzLmhpZGUoKSl9fSx0b29sdGlwOiJFbW90aWNvbnMifSl9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example/dialog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KCTxoMz5DdXN0b20gZGlhbG9nPC9oMz4KCUlucHV0IHNvbWUgdGV4dDogPGlucHV0IGlkPSJjb250ZW50Ij4KCTxidXR0b24gb25jbGljaz0idG9wLnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuZ2V0V2luZG93cygpWzBdLmNsb3NlKCk7Ij5DbG9zZSB3aW5kb3c8L2J1dHRvbj4KPC9ib2R5Pgo8L2h0bWw+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZXhhbXBsZSIsZnVuY3Rpb24oYSxiKXthLmFkZEJ1dHRvbigiZXhhbXBsZSIse3RleHQ6Ik15IGJ1dHRvbiIsaWNvbjohMSxvbmNsaWNrOmZ1bmN0aW9uKCl7YS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJFeGFtcGxlIHBsdWdpbiIsYm9keTpbe3R5cGU6InRleHRib3giLG5hbWU6InRpdGxlIixsYWJlbDoiVGl0bGUifV0sb25zdWJtaXQ6ZnVuY3Rpb24oYil7YS5pbnNlcnRDb250ZW50KCJUaXRsZTogIitiLmRhdGEudGl0bGUpfX0pfX0pLGEuYWRkTWVudUl0ZW0oImV4YW1wbGUiLHt0ZXh0OiJFeGFtcGxlIHBsdWdpbiIsY29udGV4dDoidG9vbHMiLG9uY2xpY2s6ZnVuY3Rpb24oKXthLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlRpbnlNQ0Ugc2l0ZSIsdXJsOmIrIi9kaWFsb2cuaHRtbCIsd2lkdGg6NjAwLGhlaWdodDo0MDAsYnV0dG9uczpbe3RleHQ6Ikluc2VydCIsb25jbGljazpmdW5jdGlvbigpe3ZhciBiPWEud2luZG93TWFuYWdlci5nZXRXaW5kb3dzKClbMF07YS5pbnNlcnRDb250ZW50KGIuZ2V0Q29udGVudFdpbmRvdygpLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50IikudmFsdWUpLGIuY2xvc2UoKX19LHt0ZXh0OiJDbG9zZSIsb25jbGljazoiY2xvc2UifV19KX19KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example_dependency/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example_dependency/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/example_dependency/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZXhhbXBsZV9kZXBlbmRlbmN5IixmdW5jdGlvbigpe30sWyJleGFtcGxlIl0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullpage/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullpage/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullpage/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZnVsbHBhZ2UiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXt2YXIgYj1jKCk7YS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJEb2N1bWVudCBwcm9wZXJ0aWVzIixkYXRhOmIsZGVmYXVsdHM6e3R5cGU6InRleHRib3giLHNpemU6NDB9LGJvZHk6W3tuYW1lOiJ0aXRsZSIsbGFiZWw6IlRpdGxlIn0se25hbWU6ImtleXdvcmRzIixsYWJlbDoiS2V5d29yZHMifSx7bmFtZToiZGVzY3JpcHRpb24iLGxhYmVsOiJEZXNjcmlwdGlvbiJ9LHtuYW1lOiJyb2JvdHMiLGxhYmVsOiJSb2JvdHMifSx7bmFtZToiYXV0aG9yIixsYWJlbDoiQXV0aG9yIn0se25hbWU6ImRvY2VuY29kaW5nIixsYWJlbDoiRW5jb2RpbmcifV0sb25TdWJtaXQ6ZnVuY3Rpb24oYSl7ZCh0aW55bWNlLmV4dGVuZChiLGEuZGF0YSkpfX0pfWZ1bmN0aW9uIGMoKXtmdW5jdGlvbiBiKGEsYil7dmFyIGM9YS5hdHRyKGIpO3JldHVybiBjfHwiIn12YXIgYyxkLGY9ZSgpLGc9e307cmV0dXJuIGcuZm9udGZhY2U9YS5nZXRQYXJhbSgiZnVsbHBhZ2VfZGVmYXVsdF9mb250ZmFjZSIsIiIpLGcuZm9udHNpemU9YS5nZXRQYXJhbSgiZnVsbHBhZ2VfZGVmYXVsdF9mb250c2l6ZSIsIiIpLGM9Zi5maXJzdENoaWxkLDc9PWMudHlwZSYmKGcueG1sX3BpPSEwLGQ9L2VuY29kaW5nPSIoW14iXSspIi8uZXhlYyhjLnZhbHVlKSxkJiYoZy5kb2NlbmNvZGluZz1kWzFdKSksYz1mLmdldEFsbCgiI2RvY3R5cGUiKVswXSxjJiYoZy5kb2N0eXBlPSI8IURPQ1RZUEUiK2MudmFsdWUrIj4iKSxjPWYuZ2V0QWxsKCJ0aXRsZSIpWzBdLGMmJmMuZmlyc3RDaGlsZCYmKGcudGl0bGU9Yy5maXJzdENoaWxkLnZhbHVlKSxrKGYuZ2V0QWxsKCJtZXRhIiksZnVuY3Rpb24oYSl7dmFyIGIsYz1hLmF0dHIoIm5hbWUiKSxkPWEuYXR0cigiaHR0cC1lcXVpdiIpO2M/Z1tjLnRvTG93ZXJDYXNlKCldPWEuYXR0cigiY29udGVudCIpOiJDb250ZW50LVR5cGUiPT1kJiYoYj0vY2hhcnNldFxzKj1ccyooLiopXHMqL2dpLmV4ZWMoYS5hdHRyKCJjb250ZW50IikpLGImJihnLmRvY2VuY29kaW5nPWJbMV0pKX0pLGM9Zi5nZXRBbGwoImh0bWwiKVswXSxjJiYoZy5sYW5nY29kZT1iKGMsImxhbmciKXx8YihjLCJ4bWw6bGFuZyIpKSxnLnN0eWxlc2hlZXRzPVtdLHRpbnltY2UuZWFjaChmLmdldEFsbCgibGluayIpLGZ1bmN0aW9uKGEpeyJzdHlsZXNoZWV0Ij09YS5hdHRyKCJyZWwiKSYmZy5zdHlsZXNoZWV0cy5wdXNoKGEuYXR0cigiaHJlZiIpKX0pLGM9Zi5nZXRBbGwoImJvZHkiKVswXSxjJiYoZy5sYW5nZGlyPWIoYywiZGlyIiksZy5zdHlsZT1iKGMsInN0eWxlIiksZy52aXNpdGVkX2NvbG9yPWIoYywidmxpbmsiKSxnLmxpbmtfY29sb3I9YihjLCJsaW5rIiksZy5hY3RpdmVfY29sb3I9YihjLCJhbGluayIpKSxnfWZ1bmN0aW9uIGQoYil7ZnVuY3Rpb24gYyhhLGIsYyl7YS5hdHRyKGIsYz9jOnZvaWQgMCl9ZnVuY3Rpb24gZChhKXtnLmZpcnN0Q2hpbGQ/Zy5pbnNlcnQoYSxnLmZpcnN0Q2hpbGQpOmcuYXBwZW5kKGEpfXZhciBmLGcsaCxqLG0sbj1hLmRvbTtmPWUoKSxnPWYuZ2V0QWxsKCJoZWFkIilbMF0sZ3x8KGo9Zi5nZXRBbGwoImh0bWwiKVswXSxnPW5ldyBsKCJoZWFkIiwxKSxqLmZpcnN0Q2hpbGQ/ai5pbnNlcnQoZyxqLmZpcnN0Q2hpbGQsITApOmouYXBwZW5kKGcpKSxqPWYuZmlyc3RDaGlsZCxiLnhtbF9waT8obT0ndmVyc2lvbj0iMS4wIicsYi5kb2NlbmNvZGluZyYmKG0rPScgZW5jb2Rpbmc9IicrYi5kb2NlbmNvZGluZysnIicpLDchPWoudHlwZSYmKGo9bmV3IGwoInhtbCIsNyksZi5pbnNlcnQoaixmLmZpcnN0Q2hpbGQsITApKSxqLnZhbHVlPW0pOmomJjc9PWoudHlwZSYmai5yZW1vdmUoKSxqPWYuZ2V0QWxsKCIjZG9jdHlwZSIpWzBdLGIuZG9jdHlwZT8oanx8KGo9bmV3IGwoIiNkb2N0eXBlIiwxMCksYi54bWxfcGk/Zi5pbnNlcnQoaixmLmZpcnN0Q2hpbGQpOmQoaikpLGoudmFsdWU9Yi5kb2N0eXBlLnN1YnN0cmluZyg5LGIuZG9jdHlwZS5sZW5ndGgtMSkpOmomJmoucmVtb3ZlKCksaj1udWxsLGsoZi5nZXRBbGwoIm1ldGEiKSxmdW5jdGlvbihhKXsiQ29udGVudC1UeXBlIj09YS5hdHRyKCJodHRwLWVxdWl2IikmJihqPWEpfSksYi5kb2NlbmNvZGluZz8oanx8KGo9bmV3IGwoIm1ldGEiLDEpLGouYXR0cigiaHR0cC1lcXVpdiIsIkNvbnRlbnQtVHlwZSIpLGouc2hvcnRFbmRlZD0hMCxkKGopKSxqLmF0dHIoImNvbnRlbnQiLCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9IitiLmRvY2VuY29kaW5nKSk6aiYmai5yZW1vdmUoKSxqPWYuZ2V0QWxsKCJ0aXRsZSIpWzBdLGIudGl0bGU/KGo/ai5lbXB0eSgpOihqPW5ldyBsKCJ0aXRsZSIsMSksZChqKSksai5hcHBlbmQobmV3IGwoIiN0ZXh0IiwzKSkudmFsdWU9Yi50aXRsZSk6aiYmai5yZW1vdmUoKSxrKCJrZXl3b3JkcyxkZXNjcmlwdGlvbixhdXRob3IsY29weXJpZ2h0LHJvYm90cyIuc3BsaXQoIiwiKSxmdW5jdGlvbihhKXt2YXIgYyxlLGc9Zi5nZXRBbGwoIm1ldGEiKSxoPWJbYV07Zm9yKGM9MDtjPGcubGVuZ3RoO2MrKylpZihlPWdbY10sZS5hdHRyKCJuYW1lIik9PWEpcmV0dXJuIHZvaWQoaD9lLmF0dHIoImNvbnRlbnQiLGgpOmUucmVtb3ZlKCkpO2gmJihqPW5ldyBsKCJtZXRhIiwxKSxqLmF0dHIoIm5hbWUiLGEpLGouYXR0cigiY29udGVudCIsaCksai5zaG9ydEVuZGVkPSEwLGQoaikpfSk7dmFyIG89e307dGlueW1jZS5lYWNoKGYuZ2V0QWxsKCJsaW5rIiksZnVuY3Rpb24oYSl7InN0eWxlc2hlZXQiPT1hLmF0dHIoInJlbCIpJiYob1thLmF0dHIoImhyZWYiKV09YSl9KSx0aW55bWNlLmVhY2goYi5zdHlsZXNoZWV0cyxmdW5jdGlvbihhKXtvW2FdfHwoaj1uZXcgbCgibGluayIsMSksai5hdHRyKHtyZWw6InN0eWxlc2hlZXQiLHRleHQ6InRleHQvY3NzIixocmVmOmF9KSxqLnNob3J0RW5kZWQ9ITAsZChqKSksZGVsZXRlIG9bYV19KSx0aW55bWNlLmVhY2gobyxmdW5jdGlvbihhKXthLnJlbW92ZSgpfSksaj1mLmdldEFsbCgiYm9keSIpWzBdLGomJihjKGosImRpciIsYi5sYW5nZGlyKSxjKGosInN0eWxlIixiLnN0eWxlKSxjKGosInZsaW5rIixiLnZpc2l0ZWRfY29sb3IpLGMoaiwibGluayIsYi5saW5rX2NvbG9yKSxjKGosImFsaW5rIixiLmFjdGl2ZV9jb2xvciksbi5zZXRBdHRyaWJzKGEuZ2V0Qm9keSgpLHtzdHlsZTpiLnN0eWxlLGRpcjpiLmRpcix2TGluazpiLnZpc2l0ZWRfY29sb3IsbGluazpiLmxpbmtfY29sb3IsYUxpbms6Yi5hY3RpdmVfY29sb3J9KSksaj1mLmdldEFsbCgiaHRtbCIpWzBdLGomJihjKGosImxhbmciLGIubGFuZ2NvZGUpLGMoaiwieG1sOmxhbmciLGIubGFuZ2NvZGUpKSxnLmZpcnN0Q2hpbGR8fGcucmVtb3ZlKCksaD1uZXcgdGlueW1jZS5odG1sLlNlcmlhbGl6ZXIoe3ZhbGlkYXRlOiExLGluZGVudDohMCxhcHBseV9zb3VyY2VfZm9ybWF0dGluZzohMCxpbmRlbnRfYmVmb3JlOiJoZWFkLGh0bWwsYm9keSxtZXRhLHRpdGxlLHNjcmlwdCxsaW5rLHN0eWxlIixpbmRlbnRfYWZ0ZXI6ImhlYWQsaHRtbCxib2R5LG1ldGEsdGl0bGUsc2NyaXB0LGxpbmssc3R5bGUifSkuc2VyaWFsaXplKGYpLGk9aC5zdWJzdHJpbmcoMCxoLmluZGV4T2YoIjwvYm9keT4iKSl9ZnVuY3Rpb24gZSgpe3JldHVybiBuZXcgdGlueW1jZS5odG1sLkRvbVBhcnNlcih7dmFsaWRhdGU6ITEscm9vdF9uYW1lOiIjZG9jdW1lbnQifSkucGFyc2UoaSl9ZnVuY3Rpb24gZihiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBhLnJlcGxhY2UoLzxcLz9bQS1aXSsvZyxmdW5jdGlvbihhKXtyZXR1cm4gYS50b0xvd2VyQ2FzZSgpfSl9dmFyIGQsZixoLGwsbT1iLmNvbnRlbnQsbj0iIixvPWEuZG9tO2lmKCFiLnNlbGVjdGlvbiYmISgicmF3Ij09Yi5mb3JtYXQmJml8fGIuc291cmNlX3ZpZXcmJmEuZ2V0UGFyYW0oImZ1bGxwYWdlX2hpZGVfaW5fc291cmNlX3ZpZXciKSkpezAhPT1tLmxlbmd0aHx8Yi5zb3VyY2Vfdmlld3x8KG09dGlueW1jZS50cmltKGkpKyJcbiIrdGlueW1jZS50cmltKG0pKyJcbiIrdGlueW1jZS50cmltKGopKSxtPW0ucmVwbGFjZSgvPChcLz8pQk9EWS9naSwiPCQxYm9keSIpLGQ9bS5pbmRleE9mKCI8Ym9keSIpLC0xIT1kPyhkPW0uaW5kZXhPZigiPiIsZCksaT1jKG0uc3Vic3RyaW5nKDAsZCsxKSksZj1tLmluZGV4T2YoIjwvYm9keSIsZCksLTE9PWYmJihmPW0ubGVuZ3RoKSxiLmNvbnRlbnQ9bS5zdWJzdHJpbmcoZCsxLGYpLGo9YyhtLnN1YnN0cmluZyhmKSkpOihpPWcoKSxqPSJcbjwvYm9keT5cbjwvaHRtbD4iKSxoPWUoKSxrKGguZ2V0QWxsKCJzdHlsZSIpLGZ1bmN0aW9uKGEpe2EuZmlyc3RDaGlsZCYmKG4rPWEuZmlyc3RDaGlsZC52YWx1ZSl9KSxsPWguZ2V0QWxsKCJib2R5IilbMF0sbCYmby5zZXRBdHRyaWJzKGEuZ2V0Qm9keSgpLHtzdHlsZTpsLmF0dHIoInN0eWxlIil8fCIiLGRpcjpsLmF0dHIoImRpciIpfHwiIix2TGluazpsLmF0dHIoInZsaW5rIil8fCIiLGxpbms6bC5hdHRyKCJsaW5rIil8fCIiLGFMaW5rOmwuYXR0cigiYWxpbmsiKXx8IiJ9KSxvLnJlbW92ZSgiZnVsbHBhZ2Vfc3R5bGVzIik7dmFyIHA9YS5nZXREb2MoKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdO24mJihvLmFkZChwLCJzdHlsZSIse2lkOiJmdWxscGFnZV9zdHlsZXMifSxuKSxsPW8uZ2V0KCJmdWxscGFnZV9zdHlsZXMiKSxsLnN0eWxlU2hlZXQmJihsLnN0eWxlU2hlZXQuY3NzVGV4dD1uKSk7dmFyIHE9e307dGlueW1jZS5lYWNoKHAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSxmdW5jdGlvbihhKXsic3R5bGVzaGVldCI9PWEucmVsJiZhLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtZnVsbHBhZ2UiKSYmKHFbYS5ocmVmXT1hKX0pLHRpbnltY2UuZWFjaChoLmdldEFsbCgibGluayIpLGZ1bmN0aW9uKGEpe3ZhciBiPWEuYXR0cigiaHJlZiIpO3FbYl18fCJzdHlsZXNoZWV0IiE9YS5hdHRyKCJyZWwiKXx8by5hZGQocCwibGluayIse3JlbDoic3R5bGVzaGVldCIsdGV4dDoidGV4dC9jc3MiLGhyZWY6YiwiZGF0YS1tY2UtZnVsbHBhZ2UiOiIxIn0pLGRlbGV0ZSBxW2JdfSksdGlueW1jZS5lYWNoKHEsZnVuY3Rpb24oYSl7YS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpfSl9fWZ1bmN0aW9uIGcoKXt2YXIgYixjPSIiLGQ9IiI7cmV0dXJuIGEuZ2V0UGFyYW0oImZ1bGxwYWdlX2RlZmF1bHRfeG1sX3BpIikmJihjKz0nPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iJythLmdldFBhcmFtKCJmdWxscGFnZV9kZWZhdWx0X2VuY29kaW5nIiwiSVNPLTg4NTktMSIpKyciID8+XG4nKSxjKz1hLmdldFBhcmFtKCJmdWxscGFnZV9kZWZhdWx0X2RvY3R5cGUiLCI8IURPQ1RZUEUgaHRtbD4iKSxjKz0iXG48aHRtbD5cbjxoZWFkPlxuIiwoYj1hLmdldFBhcmFtKCJmdWxscGFnZV9kZWZhdWx0X3RpdGxlIikpJiYoYys9Ijx0aXRsZT4iK2IrIjwvdGl0bGU+XG4iKSwoYj1hLmdldFBhcmFtKCJmdWxscGFnZV9kZWZhdWx0X2VuY29kaW5nIikpJiYoYys9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PScrYisnIiAvPlxuJyksKGI9YS5nZXRQYXJhbSgiZnVsbHBhZ2VfZGVmYXVsdF9mb250X2ZhbWlseSIpKSYmKGQrPSJmb250LWZhbWlseTogIitiKyI7IiksKGI9YS5nZXRQYXJhbSgiZnVsbHBhZ2VfZGVmYXVsdF9mb250X3NpemUiKSkmJihkKz0iZm9udC1zaXplOiAiK2IrIjsiKSwoYj1hLmdldFBhcmFtKCJmdWxscGFnZV9kZWZhdWx0X3RleHRfY29sb3IiKSkmJihkKz0iY29sb3I6ICIrYisiOyIpLGMrPSI8L2hlYWQ+XG48Ym9keSIrKGQ/JyBzdHlsZT0iJytkKyciJzoiIikrIj5cbiJ9ZnVuY3Rpb24gaChiKXtiLnNlbGVjdGlvbnx8Yi5zb3VyY2VfdmlldyYmYS5nZXRQYXJhbSgiZnVsbHBhZ2VfaGlkZV9pbl9zb3VyY2VfdmlldyIpfHwoYi5jb250ZW50PXRpbnltY2UudHJpbShpKSsiXG4iK3RpbnltY2UudHJpbShiLmNvbnRlbnQpKyJcbiIrdGlueW1jZS50cmltKGopKX12YXIgaSxqLGs9dGlueW1jZS5lYWNoLGw9dGlueW1jZS5odG1sLk5vZGU7YS5hZGRDb21tYW5kKCJtY2VGdWxsUGFnZVByb3BlcnRpZXMiLGIpLGEuYWRkQnV0dG9uKCJmdWxscGFnZSIse3RpdGxlOiJEb2N1bWVudCBwcm9wZXJ0aWVzIixjbWQ6Im1jZUZ1bGxQYWdlUHJvcGVydGllcyJ9KSxhLmFkZE1lbnVJdGVtKCJmdWxscGFnZSIse3RleHQ6IkRvY3VtZW50IHByb3BlcnRpZXMiLGNtZDoibWNlRnVsbFBhZ2VQcm9wZXJ0aWVzIixjb250ZXh0OiJmaWxlIn0pLGEub24oIkJlZm9yZVNldENvbnRlbnQiLGYpLGEub24oIkdldENvbnRlbnQiLGgpfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullscreen/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullscreen/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/fullscreen/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZnVsbHNjcmVlbiIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3ZhciBhLGIsYz13aW5kb3csZD1kb2N1bWVudCxlPWQuYm9keTtyZXR1cm4gZS5vZmZzZXRXaWR0aCYmKGE9ZS5vZmZzZXRXaWR0aCxiPWUub2Zmc2V0SGVpZ2h0KSxjLmlubmVyV2lkdGgmJmMuaW5uZXJIZWlnaHQmJihhPWMuaW5uZXJXaWR0aCxiPWMuaW5uZXJIZWlnaHQpLHt3OmEsaDpifX1mdW5jdGlvbiBjKCl7dmFyIGE9dGlueW1jZS5ET00uZ2V0Vmlld1BvcnQoKTtyZXR1cm57eDphLngseTphLnl9fWZ1bmN0aW9uIGQoYSl7c2Nyb2xsVG8oYS54LGEueSl9ZnVuY3Rpb24gZSgpe2Z1bmN0aW9uIGUoKXttLnNldFN0eWxlKHAsImhlaWdodCIsYigpLmgtKG8uY2xpZW50SGVpZ2h0LXAuY2xpZW50SGVpZ2h0KSl9dmFyIG4sbyxwLHEscj1kb2N1bWVudC5ib2R5LHM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2w9IWwsbz1hLmdldENvbnRhaW5lcigpLG49by5zdHlsZSxwPWEuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKS5maXJzdENoaWxkLHE9cC5zdHlsZSxsPyhrPWMoKSxmPXEud2lkdGgsZz1xLmhlaWdodCxxLndpZHRoPXEuaGVpZ2h0PSIxMDAlIixpPW4ud2lkdGgsaj1uLmhlaWdodCxuLndpZHRoPW4uaGVpZ2h0PSIiLG0uYWRkQ2xhc3MociwibWNlLWZ1bGxzY3JlZW4iKSxtLmFkZENsYXNzKHMsIm1jZS1mdWxsc2NyZWVuIiksbS5hZGRDbGFzcyhvLCJtY2UtZnVsbHNjcmVlbiIpLG0uYmluZCh3aW5kb3csInJlc2l6ZSIsZSksZSgpLGg9ZSk6KHEud2lkdGg9ZixxLmhlaWdodD1nLGkmJihuLndpZHRoPWkpLGomJihuLmhlaWdodD1qKSxtLnJlbW92ZUNsYXNzKHIsIm1jZS1mdWxsc2NyZWVuIiksbS5yZW1vdmVDbGFzcyhzLCJtY2UtZnVsbHNjcmVlbiIpLG0ucmVtb3ZlQ2xhc3MobywibWNlLWZ1bGxzY3JlZW4iKSxtLnVuYmluZCh3aW5kb3csInJlc2l6ZSIsaCksZChrKSksYS5maXJlKCJGdWxsc2NyZWVuU3RhdGVDaGFuZ2VkIix7c3RhdGU6bH0pfXZhciBmLGcsaCxpLGosayxsPSExLG09dGlueW1jZS5ET007cmV0dXJuIGEuc2V0dGluZ3MuaW5saW5lP3ZvaWQgMDooYS5vbigiaW5pdCIsZnVuY3Rpb24oKXthLmFkZFNob3J0Y3V0KCJDdHJsK1NoaWZ0K0YiLCIiLGUpfSksYS5vbigicmVtb3ZlIixmdW5jdGlvbigpe2gmJm0udW5iaW5kKHdpbmRvdywicmVzaXplIixoKX0pLGEuYWRkQ29tbWFuZCgibWNlRnVsbFNjcmVlbiIsZSksYS5hZGRNZW51SXRlbSgiZnVsbHNjcmVlbiIse3RleHQ6IkZ1bGxzY3JlZW4iLHNob3J0Y3V0OiJNZXRhK0FsdCtGIixzZWxlY3RhYmxlOiEwLG9uQ2xpY2s6ZnVuY3Rpb24oKXtlKCksYS5mb2N1cygpfSxvblBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgYj10aGlzO2Eub24oIkZ1bGxzY3JlZW5TdGF0ZUNoYW5nZWQiLGZ1bmN0aW9uKGEpe2IuYWN0aXZlKGEuc3RhdGUpfSl9LGNvbnRleHQ6InZpZXcifSksYS5hZGRCdXR0b24oImZ1bGxzY3JlZW4iLHt0b29sdGlwOiJGdWxsc2NyZWVuIixzaG9ydGN1dDoiTWV0YStBbHQrRiIsb25DbGljazplLG9uUG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBiPXRoaXM7YS5vbigiRnVsbHNjcmVlblN0YXRlQ2hhbmdlZCIsZnVuY3Rpb24oYSl7Yi5hY3RpdmUoYS5zdGF0ZSl9KX19KSx7aXNGdWxsc2NyZWVuOmZ1bmN0aW9uKCl7cmV0dXJuIGx9fSl9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/hr/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/hr/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/hr/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiaHIiLGZ1bmN0aW9uKGEpe2EuYWRkQ29tbWFuZCgiSW5zZXJ0SG9yaXpvbnRhbFJ1bGUiLGZ1bmN0aW9uKCl7YS5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEsIjxociAvPiIpfSksYS5hZGRCdXR0b24oImhyIix7aWNvbjoiaHIiLHRvb2x0aXA6Ikhvcml6b250YWwgbGluZSIsY21kOiJJbnNlcnRIb3Jpem9udGFsUnVsZSJ9KSxhLmFkZE1lbnVJdGVtKCJociIse2ljb246ImhyIix0ZXh0OiJIb3Jpem9udGFsIGxpbmUiLGNtZDoiSW5zZXJ0SG9yaXpvbnRhbFJ1bGUiLGNvbnRleHQ6Imluc2VydCJ9KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/image/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/image/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/image/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiaW1hZ2UiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSxiKXtmdW5jdGlvbiBjKGEsYyl7ZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCksYih7d2lkdGg6YSxoZWlnaHQ6Y30pfXZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO2Qub25sb2FkPWZ1bmN0aW9uKCl7YyhNYXRoLm1heChkLndpZHRoLGQuY2xpZW50V2lkdGgpLE1hdGgubWF4KGQuaGVpZ2h0LGQuY2xpZW50SGVpZ2h0KSl9LGQub25lcnJvcj1mdW5jdGlvbigpe2MoKX07dmFyIGU9ZC5zdHlsZTtlLnZpc2liaWxpdHk9ImhpZGRlbiIsZS5wb3NpdGlvbj0iZml4ZWQiLGUuYm90dG9tPWUubGVmdD0wLGUud2lkdGg9ZS5oZWlnaHQ9ImF1dG8iLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZCksZC5zcmM9YX1mdW5jdGlvbiBjKGEsYixjKXtmdW5jdGlvbiBkKGEsYyl7cmV0dXJuIGM9Y3x8W10sdGlueW1jZS5lYWNoKGEsZnVuY3Rpb24oYSl7dmFyIGU9e3RleHQ6YS50ZXh0fHxhLnRpdGxlfTthLm1lbnU/ZS5tZW51PWQoYS5tZW51KTooZS52YWx1ZT1hLnZhbHVlLGIoZSkpLGMucHVzaChlKX0pLGN9cmV0dXJuIGQoYSxjfHxbXSl9ZnVuY3Rpb24gZChiKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYz1hLnNldHRpbmdzLmltYWdlX2xpc3Q7InN0cmluZyI9PXR5cGVvZiBjP3RpbnltY2UudXRpbC5YSFIuc2VuZCh7dXJsOmMsc3VjY2VzczpmdW5jdGlvbihhKXtiKHRpbnltY2UudXRpbC5KU09OLnBhcnNlKGEpKX19KToiZnVuY3Rpb24iPT10eXBlb2YgYz9jKGIpOmIoYyl9fWZ1bmN0aW9uIGUoZCl7ZnVuY3Rpb24gZSgpe3ZhciBhLGIsYyxkO2E9bC5maW5kKCIjd2lkdGgiKVswXSxiPWwuZmluZCgiI2hlaWdodCIpWzBdLGEmJmImJihjPWEudmFsdWUoKSxkPWIudmFsdWUoKSxsLmZpbmQoIiNjb25zdHJhaW4iKVswXS5jaGVja2VkKCkmJm8mJnAmJmMmJmQmJihvIT1jPyhkPU1hdGgucm91bmQoYy9vKmQpLGlzTmFOKGQpfHxiLnZhbHVlKGQpKTooYz1NYXRoLnJvdW5kKGQvcCpjKSxpc05hTihjKXx8YS52YWx1ZShjKSkpLG89YyxwPWQpfWZ1bmN0aW9uIGYoKXtmdW5jdGlvbiBiKGIpe2Z1bmN0aW9uIGMoKXtiLm9ubG9hZD1iLm9uZXJyb3I9bnVsbCxhLnNlbGVjdGlvbiYmKGEuc2VsZWN0aW9uLnNlbGVjdChiKSxhLm5vZGVDaGFuZ2VkKCkpfWIub25sb2FkPWZ1bmN0aW9uKCl7cy53aWR0aHx8cy5oZWlnaHR8fCF1fHx0LnNldEF0dHJpYnMoYix7d2lkdGg6Yi5jbGllbnRXaWR0aCxoZWlnaHQ6Yi5jbGllbnRIZWlnaHR9KSxjKCl9LGIub25lcnJvcj1jfXZhciBjLGQ7aigpLGUoKSxzPXRpbnltY2UuZXh0ZW5kKHMsbC50b0pTT04oKSkscy5hbHR8fChzLmFsdD0iIikscy50aXRsZXx8KHMudGl0bGU9IiIpLCIiPT09cy53aWR0aCYmKHMud2lkdGg9bnVsbCksIiI9PT1zLmhlaWdodCYmKHMuaGVpZ2h0PW51bGwpLHMuc3R5bGV8fChzLnN0eWxlPW51bGwpLHM9e3NyYzpzLnNyYyxhbHQ6cy5hbHQsdGl0bGU6cy50aXRsZSx3aWR0aDpzLndpZHRoLGhlaWdodDpzLmhlaWdodCxzdHlsZTpzLnN0eWxlLGNhcHRpb246cy5jYXB0aW9uLCJjbGFzcyI6c1siY2xhc3MiXX0sYS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2Z1bmN0aW9uIGUoYil7cmV0dXJuIGEuc2NoZW1hLmdldFRleHRCbG9ja0VsZW1lbnRzKClbYi5ub2RlTmFtZV19aWYoIXMuc3JjKXJldHVybiB2b2lkKG0mJih0LnJlbW92ZShtKSxhLmZvY3VzKCksYS5ub2RlQ2hhbmdlZCgpKSk7aWYoIiI9PT1zLnRpdGxlJiYocy50aXRsZT1udWxsKSxtP3Quc2V0QXR0cmlicyhtLHMpOihzLmlkPSJfX21jZW5ldyIsYS5mb2N1cygpLGEuc2VsZWN0aW9uLnNldENvbnRlbnQodC5jcmVhdGVIVE1MKCJpbWciLHMpKSxtPXQuZ2V0KCJfX21jZW5ldyIpLHQuc2V0QXR0cmliKG0sImlkIixudWxsKSksYS5lZGl0b3JVcGxvYWQudXBsb2FkSW1hZ2VzQXV0bygpLHMuY2FwdGlvbj09PSExJiZ0LmlzKG0ucGFyZW50Tm9kZSwiZmlndXJlLmltYWdlIikmJihjPW0ucGFyZW50Tm9kZSx0Lmluc2VydEFmdGVyKG0sYyksdC5yZW1vdmUoYykpLHMuY2FwdGlvbiE9PSEwKWIobSk7ZWxzZSBpZighdC5pcyhtLnBhcmVudE5vZGUsImZpZ3VyZS5pbWFnZSIpKXtkPW0sbT1tLmNsb25lTm9kZSghMCksYz10LmNyZWF0ZSgiZmlndXJlIix7ImNsYXNzIjoiaW1hZ2UifSksYy5hcHBlbmRDaGlsZChtKSxjLmFwcGVuZENoaWxkKHQuY3JlYXRlKCJmaWdjYXB0aW9uIix7Y29udGVudEVkaXRhYmxlOiEwfSwiQ2FwdGlvbiIpKSxjLmNvbnRlbnRFZGl0YWJsZT0hMTt2YXIgZj10LmdldFBhcmVudChkLGUpO2Y/dC5zcGxpdChmLGQsYyk6dC5yZXBsYWNlKGMsZCksYS5zZWxlY3Rpb24uc2VsZWN0KGMpfX0pfWZ1bmN0aW9uIGcoYSl7cmV0dXJuIGEmJihhPWEucmVwbGFjZSgvcHgkLywiIikpLGF9ZnVuY3Rpb24gaChjKXt2YXIgZCxlLGYsZz1jLm1ldGF8fHt9O3EmJnEudmFsdWUoYS5jb252ZXJ0VVJMKHRoaXMudmFsdWUoKSwic3JjIikpLHRpbnltY2UuZWFjaChnLGZ1bmN0aW9uKGEsYil7bC5maW5kKCIjIitiKS52YWx1ZShhKX0pLGcud2lkdGh8fGcuaGVpZ2h0fHwoZD1hLmNvbnZlcnRVUkwodGhpcy52YWx1ZSgpLCJzcmMiKSxlPWEuc2V0dGluZ3MuaW1hZ2VfcHJlcGVuZF91cmwsZj1uZXcgUmVnRXhwKCJeKD86W2Etel0rOik/Ly8iLCJpIiksZSYmIWYudGVzdChkKSYmZC5zdWJzdHJpbmcoMCxlLmxlbmd0aCkhPT1lJiYoZD1lK2QpLHRoaXMudmFsdWUoZCksYihhLmRvY3VtZW50QmFzZVVSSS50b0Fic29sdXRlKHRoaXMudmFsdWUoKSksZnVuY3Rpb24oYSl7YS53aWR0aCYmYS5oZWlnaHQmJnUmJihvPWEud2lkdGgscD1hLmhlaWdodCxsLmZpbmQoIiN3aWR0aCIpLnZhbHVlKG8pLGwuZmluZCgiI2hlaWdodCIpLnZhbHVlKHApKX0pKX1mdW5jdGlvbiBpKGEpe2lmKGEubWFyZ2luKXt2YXIgYj1hLm1hcmdpbi5zcGxpdCgiICIpO3N3aXRjaChiLmxlbmd0aCl7Y2FzZSAxOmFbIm1hcmdpbi10b3AiXT1hWyJtYXJnaW4tdG9wIl18fGJbMF0sYVsibWFyZ2luLXJpZ2h0Il09YVsibWFyZ2luLXJpZ2h0Il18fGJbMF0sYVsibWFyZ2luLWJvdHRvbSJdPWFbIm1hcmdpbi1ib3R0b20iXXx8YlswXSxhWyJtYXJnaW4tbGVmdCJdPWFbIm1hcmdpbi1sZWZ0Il18fGJbMF07YnJlYWs7Y2FzZSAyOmFbIm1hcmdpbi10b3AiXT1hWyJtYXJnaW4tdG9wIl18fGJbMF0sYVsibWFyZ2luLXJpZ2h0Il09YVsibWFyZ2luLXJpZ2h0Il18fGJbMV0sYVsibWFyZ2luLWJvdHRvbSJdPWFbIm1hcmdpbi1ib3R0b20iXXx8YlswXSxhWyJtYXJnaW4tbGVmdCJdPWFbIm1hcmdpbi1sZWZ0Il18fGJbMV07YnJlYWs7Y2FzZSAzOmFbIm1hcmdpbi10b3AiXT1hWyJtYXJnaW4tdG9wIl18fGJbMF0sYVsibWFyZ2luLXJpZ2h0Il09YVsibWFyZ2luLXJpZ2h0Il18fGJbMV0sYVsibWFyZ2luLWJvdHRvbSJdPWFbIm1hcmdpbi1ib3R0b20iXXx8YlsyXSxhWyJtYXJnaW4tbGVmdCJdPWFbIm1hcmdpbi1sZWZ0Il18fGJbMV07YnJlYWs7Y2FzZSA0OmFbIm1hcmdpbi10b3AiXT1hWyJtYXJnaW4tdG9wIl18fGJbMF0sYVsibWFyZ2luLXJpZ2h0Il09YVsibWFyZ2luLXJpZ2h0Il18fGJbMV0sYVsibWFyZ2luLWJvdHRvbSJdPWFbIm1hcmdpbi1ib3R0b20iXXx8YlsyXSxhWyJtYXJnaW4tbGVmdCJdPWFbIm1hcmdpbi1sZWZ0Il18fGJbM119ZGVsZXRlIGEubWFyZ2lufXJldHVybiBhfWZ1bmN0aW9uIGooKXtmdW5jdGlvbiBiKGEpe3JldHVybiBhLmxlbmd0aD4wJiYvXlswLTldKyQvLnRlc3QoYSkmJihhKz0icHgiKSxhfWlmKGEuc2V0dGluZ3MuaW1hZ2VfYWR2dGFiKXt2YXIgYz1sLnRvSlNPTigpLGQ9dC5wYXJzZVN0eWxlKGMuc3R5bGUpO2Q9aShkKSxjLnZzcGFjZSYmKGRbIm1hcmdpbi10b3AiXT1kWyJtYXJnaW4tYm90dG9tIl09YihjLnZzcGFjZSkpLGMuaHNwYWNlJiYoZFsibWFyZ2luLWxlZnQiXT1kWyJtYXJnaW4tcmlnaHQiXT1iKGMuaHNwYWNlKSksYy5ib3JkZXImJihkWyJib3JkZXItd2lkdGgiXT1iKGMuYm9yZGVyKSksbC5maW5kKCIjc3R5bGUiKS52YWx1ZSh0LnNlcmlhbGl6ZVN0eWxlKHQucGFyc2VTdHlsZSh0LnNlcmlhbGl6ZVN0eWxlKGQpKSkpfX1mdW5jdGlvbiBrKCl7aWYoYS5zZXR0aW5ncy5pbWFnZV9hZHZ0YWIpe3ZhciBiPWwudG9KU09OKCksYz10LnBhcnNlU3R5bGUoYi5zdHlsZSk7bC5maW5kKCIjdnNwYWNlIikudmFsdWUoIiIpLGwuZmluZCgiI2hzcGFjZSIpLnZhbHVlKCIiKSxjPWkoYyksKGNbIm1hcmdpbi10b3AiXSYmY1sibWFyZ2luLWJvdHRvbSJdfHxjWyJtYXJnaW4tcmlnaHQiXSYmY1sibWFyZ2luLWxlZnQiXSkmJihjWyJtYXJnaW4tdG9wIl09PT1jWyJtYXJnaW4tYm90dG9tIl0/bC5maW5kKCIjdnNwYWNlIikudmFsdWUoZyhjWyJtYXJnaW4tdG9wIl0pKTpsLmZpbmQoIiN2c3BhY2UiKS52YWx1ZSgiIiksY1sibWFyZ2luLXJpZ2h0Il09PT1jWyJtYXJnaW4tbGVmdCJdP2wuZmluZCgiI2hzcGFjZSIpLnZhbHVlKGcoY1sibWFyZ2luLXJpZ2h0Il0pKTpsLmZpbmQoIiNoc3BhY2UiKS52YWx1ZSgiIikpLGNbImJvcmRlci13aWR0aCJdJiZsLmZpbmQoIiNib3JkZXIiKS52YWx1ZShnKGNbImJvcmRlci13aWR0aCJdKSksbC5maW5kKCIjc3R5bGUiKS52YWx1ZSh0LnNlcmlhbGl6ZVN0eWxlKHQucGFyc2VTdHlsZSh0LnNlcmlhbGl6ZVN0eWxlKGMpKSkpfX12YXIgbCxtLG4sbyxwLHEscixzPXt9LHQ9YS5kb20sdT1hLnNldHRpbmdzLmltYWdlX2RpbWVuc2lvbnMhPT0hMTttPWEuc2VsZWN0aW9uLmdldE5vZGUoKSxuPXQuZ2V0UGFyZW50KG0sImZpZ3VyZS5pbWFnZSIpLG4mJihtPXQuc2VsZWN0KCJpbWciLG4pWzBdKSxtJiYoIklNRyIhPW0ubm9kZU5hbWV8fG0uZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1vYmplY3QiKXx8bS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXBsYWNlaG9sZGVyIikpJiYobT1udWxsKSxtJiYobz10LmdldEF0dHJpYihtLCJ3aWR0aCIpLHA9dC5nZXRBdHRyaWIobSwiaGVpZ2h0Iikscz17c3JjOnQuZ2V0QXR0cmliKG0sInNyYyIpLGFsdDp0LmdldEF0dHJpYihtLCJhbHQiKSx0aXRsZTp0LmdldEF0dHJpYihtLCJ0aXRsZSIpLCJjbGFzcyI6dC5nZXRBdHRyaWIobSwiY2xhc3MiKSx3aWR0aDpvLGhlaWdodDpwLGNhcHRpb246ISFufSksZCYmKHE9e3R5cGU6Imxpc3Rib3giLGxhYmVsOiJJbWFnZSBsaXN0Iix2YWx1ZXM6YyhkLGZ1bmN0aW9uKGIpe2IudmFsdWU9YS5jb252ZXJ0VVJMKGIudmFsdWV8fGIudXJsLCJzcmMiKX0sW3t0ZXh0OiJOb25lIix2YWx1ZToiIn1dKSx2YWx1ZTpzLnNyYyYmYS5jb252ZXJ0VVJMKHMuc3JjLCJzcmMiKSxvbnNlbGVjdDpmdW5jdGlvbihhKXt2YXIgYj1sLmZpbmQoIiNhbHQiKTsoIWIudmFsdWUoKXx8YS5sYXN0Q29udHJvbCYmYi52YWx1ZSgpPT1hLmxhc3RDb250cm9sLnRleHQoKSkmJmIudmFsdWUoYS5jb250cm9sLnRleHQoKSksbC5maW5kKCIjc3JjIikudmFsdWUoYS5jb250cm9sLnZhbHVlKCkpLmZpcmUoImNoYW5nZSIpfSxvblBvc3RSZW5kZXI6ZnVuY3Rpb24oKXtxPXRoaXN9fSksYS5zZXR0aW5ncy5pbWFnZV9jbGFzc19saXN0JiYocj17bmFtZToiY2xhc3MiLHR5cGU6Imxpc3Rib3giLGxhYmVsOiJDbGFzcyIsdmFsdWVzOmMoYS5zZXR0aW5ncy5pbWFnZV9jbGFzc19saXN0LGZ1bmN0aW9uKGIpe2IudmFsdWUmJihiLnRleHRTdHlsZT1mdW5jdGlvbigpe3JldHVybiBhLmZvcm1hdHRlci5nZXRDc3NUZXh0KHtpbmxpbmU6ImltZyIsY2xhc3NlczpbYi52YWx1ZV19KX0pfSl9KTt2YXIgdj1be25hbWU6InNyYyIsdHlwZToiZmlsZXBpY2tlciIsZmlsZXR5cGU6ImltYWdlIixsYWJlbDoiU291cmNlIixhdXRvZm9jdXM6ITAsb25jaGFuZ2U6aH0scV07YS5zZXR0aW5ncy5pbWFnZV9kZXNjcmlwdGlvbiE9PSExJiZ2LnB1c2goe25hbWU6ImFsdCIsdHlwZToidGV4dGJveCIsbGFiZWw6IkltYWdlIGRlc2NyaXB0aW9uIn0pLGEuc2V0dGluZ3MuaW1hZ2VfdGl0bGUmJnYucHVzaCh7bmFtZToidGl0bGUiLHR5cGU6InRleHRib3giLGxhYmVsOiJJbWFnZSBUaXRsZSJ9KSx1JiZ2LnB1c2goe3R5cGU6ImNvbnRhaW5lciIsbGFiZWw6IkRpbWVuc2lvbnMiLGxheW91dDoiZmxleCIsZGlyZWN0aW9uOiJyb3ciLGFsaWduOiJjZW50ZXIiLHNwYWNpbmc6NSxpdGVtczpbe25hbWU6IndpZHRoIix0eXBlOiJ0ZXh0Ym94IixtYXhMZW5ndGg6NSxzaXplOjMsb25jaGFuZ2U6ZSxhcmlhTGFiZWw6IldpZHRoIn0se3R5cGU6ImxhYmVsIix0ZXh0OiJ4In0se25hbWU6ImhlaWdodCIsdHlwZToidGV4dGJveCIsbWF4TGVuZ3RoOjUsc2l6ZTozLG9uY2hhbmdlOmUsYXJpYUxhYmVsOiJIZWlnaHQifSx7bmFtZToiY29uc3RyYWluIix0eXBlOiJjaGVja2JveCIsY2hlY2tlZDohMCx0ZXh0OiJDb25zdHJhaW4gcHJvcG9ydGlvbnMifV19KSx2LnB1c2gociksYS5zZXR0aW5ncy5pbWFnZV9jYXB0aW9uJiZ0aW55bWNlLkVudi5jZUZhbHNlJiZ2LnB1c2goe25hbWU6ImNhcHRpb24iLHR5cGU6ImNoZWNrYm94IixsYWJlbDoiQ2FwdGlvbiJ9KSxhLnNldHRpbmdzLmltYWdlX2FkdnRhYj8obSYmKG0uc3R5bGUubWFyZ2luTGVmdCYmbS5zdHlsZS5tYXJnaW5SaWdodCYmbS5zdHlsZS5tYXJnaW5MZWZ0PT09bS5zdHlsZS5tYXJnaW5SaWdodCYmKHMuaHNwYWNlPWcobS5zdHlsZS5tYXJnaW5MZWZ0KSksbS5zdHlsZS5tYXJnaW5Ub3AmJm0uc3R5bGUubWFyZ2luQm90dG9tJiZtLnN0eWxlLm1hcmdpblRvcD09PW0uc3R5bGUubWFyZ2luQm90dG9tJiYocy52c3BhY2U9ZyhtLnN0eWxlLm1hcmdpblRvcCkpLG0uc3R5bGUuYm9yZGVyV2lkdGgmJihzLmJvcmRlcj1nKG0uc3R5bGUuYm9yZGVyV2lkdGgpKSxzLnN0eWxlPWEuZG9tLnNlcmlhbGl6ZVN0eWxlKGEuZG9tLnBhcnNlU3R5bGUoYS5kb20uZ2V0QXR0cmliKG0sInN0eWxlIikpKSksbD1hLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6Ikluc2VydC9lZGl0IGltYWdlIixkYXRhOnMsYm9keVR5cGU6InRhYnBhbmVsIixib2R5Olt7dGl0bGU6IkdlbmVyYWwiLHR5cGU6ImZvcm0iLGl0ZW1zOnZ9LHt0aXRsZToiQWR2YW5jZWQiLHR5cGU6ImZvcm0iLHBhY2s6InN0YXJ0IixpdGVtczpbe2xhYmVsOiJTdHlsZSIsbmFtZToic3R5bGUiLHR5cGU6InRleHRib3giLG9uY2hhbmdlOmt9LHt0eXBlOiJmb3JtIixsYXlvdXQ6ImdyaWQiLHBhY2tWOiJzdGFydCIsY29sdW1uczoyLHBhZGRpbmc6MCxhbGlnbkg6WyJsZWZ0IiwicmlnaHQiXSxkZWZhdWx0czp7dHlwZToidGV4dGJveCIsbWF4V2lkdGg6NTAsb25jaGFuZ2U6an0saXRlbXM6W3tsYWJlbDoiVmVydGljYWwgc3BhY2UiLG5hbWU6InZzcGFjZSJ9LHtsYWJlbDoiSG9yaXpvbnRhbCBzcGFjZSIsbmFtZToiaHNwYWNlIn0se2xhYmVsOiJCb3JkZXIiLG5hbWU6ImJvcmRlciJ9XX1dfV0sb25TdWJtaXQ6Zn0pKTpsPWEud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiSW5zZXJ0L2VkaXQgaW1hZ2UiLGRhdGE6cyxib2R5OnYsb25TdWJtaXQ6Zn0pfWEub24oInByZUluaXQiLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihhKXt2YXIgYj1hLmF0dHIoImNsYXNzIik7cmV0dXJuIGImJi9cYmltYWdlXGIvLnRlc3QoYil9ZnVuY3Rpb24gYyhhKXtyZXR1cm4gZnVuY3Rpb24oYyl7ZnVuY3Rpb24gZChiKXtiLmF0dHIoImNvbnRlbnRlZGl0YWJsZSIsYT8idHJ1ZSI6bnVsbCl9Zm9yKHZhciBlLGY9Yy5sZW5ndGg7Zi0tOyllPWNbZl0sYihlKSYmKGUuYXR0cigiY29udGVudGVkaXRhYmxlIixhPyJmYWxzZSI6bnVsbCksdGlueW1jZS5lYWNoKGUuZ2V0QWxsKCJmaWdjYXB0aW9uIiksZCkpfX1hLnBhcnNlci5hZGROb2RlRmlsdGVyKCJmaWd1cmUiLGMoITApKSxhLnNlcmlhbGl6ZXIuYWRkTm9kZUZpbHRlcigiZmlndXJlIixjKCExKSl9KSxhLmFkZEJ1dHRvbigiaW1hZ2UiLHtpY29uOiJpbWFnZSIsdG9vbHRpcDoiSW5zZXJ0L2VkaXQgaW1hZ2UiLG9uY2xpY2s6ZChlKSxzdGF0ZVNlbGVjdG9yOiJpbWc6bm90KFtkYXRhLW1jZS1vYmplY3RdLFtkYXRhLW1jZS1wbGFjZWhvbGRlcl0pLGZpZ3VyZS5pbWFnZSJ9KSxhLmFkZE1lbnVJdGVtKCJpbWFnZSIse2ljb246ImltYWdlIix0ZXh0OiJJbnNlcnQvZWRpdCBpbWFnZSIsb25jbGljazpkKGUpLGNvbnRleHQ6Imluc2VydCIscHJlcGVuZFRvQ29udGV4dDohMH0pLGEuYWRkQ29tbWFuZCgibWNlSW1hZ2UiLGQoZSkpfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/imagetools/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/imagetools/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/imagetools/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKCl7dmFyIGE9e30sYj1mdW5jdGlvbihiKXtmb3IodmFyIGM9YVtiXSxlPWMuZGVwcyxmPWMuZGVmbixnPWUubGVuZ3RoLGg9bmV3IEFycmF5KGcpLGk9MDtnPmk7KytpKWhbaV09ZChlW2ldKTt2YXIgaj1mLmFwcGx5KG51bGwsaCk7aWYodm9pZCAwPT09ail0aHJvdyJtb2R1bGUgWyIrYisiXSByZXR1cm5lZCB1bmRlZmluZWQiO2MuaW5zdGFuY2U9an0sYz1mdW5jdGlvbihiLGMsZCl7aWYoInN0cmluZyIhPXR5cGVvZiBiKXRocm93Im1vZHVsZSBpZCBtdXN0IGJlIGEgc3RyaW5nIjtpZih2b2lkIDA9PT1jKXRocm93Im5vIGRlcGVuZGVuY2llcyBmb3IgIitiO2lmKHZvaWQgMD09PWQpdGhyb3cibm8gZGVmaW5pdGlvbiBmdW5jdGlvbiBmb3IgIitiO2FbYl09e2RlcHM6YyxkZWZuOmQsaW5zdGFuY2U6dm9pZCAwfX0sZD1mdW5jdGlvbihjKXt2YXIgZD1hW2NdO2lmKHZvaWQgMD09PWQpdGhyb3cibW9kdWxlIFsiK2MrIl0gd2FzIHVuZGVmaW5lZCI7cmV0dXJuIHZvaWQgMD09PWQuaW5zdGFuY2UmJmIoYyksZC5pbnN0YW5jZX0sZT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aCxlPW5ldyBBcnJheShjKSxmPTA7Yz5mOysrZillLnB1c2goZChhW2ZdKSk7Yi5hcHBseShudWxsLGIpfSxmPXt9O2YuYm9sdD17bW9kdWxlOnthcGk6e2RlZmluZTpjLHJlcXVpcmU6ZSxkZW1hbmQ6ZH19fTt2YXIgZz1jLGg9ZnVuY3Rpb24oYSxiKXtnKGEsW10sZnVuY3Rpb24oKXtyZXR1cm4gYn0pfTtoKCIxIix0aW55bWNlLlBsdWdpbk1hbmFnZXIpLGgoIjIiLHRpbnltY2UuRW52KSxoKCIzIix0aW55bWNlLnV0aWwuUHJvbWlzZSksaCgiNCIsdGlueW1jZS51dGlsLlVSSSksaCgiNSIsdGlueW1jZS51dGlsLlRvb2xzKSxoKCI2Iix0aW55bWNlLnV0aWwuRGVsYXkpLGcoImoiLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShhLGIpe3JldHVybiBjKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGEsYil9ZnVuY3Rpb24gYihhKXtyZXR1cm4gYS5nZXRDb250ZXh0KCIyZCIpfWZ1bmN0aW9uIGMoYSxiLGMpe3JldHVybiBhLndpZHRoPWIsYS5oZWlnaHQ9YyxhfXJldHVybntjcmVhdGU6YSxyZXNpemU6YyxnZXQyZENvbnRleHQ6Yn19KSxnKCJrIixbXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGEubmF0dXJhbFdpZHRofHxhLndpZHRofWZ1bmN0aW9uIGIoYSl7cmV0dXJuIGEubmF0dXJhbEhlaWdodHx8YS5oZWlnaHR9cmV0dXJue2dldFdpZHRoOmEsZ2V0SGVpZ2h0OmJ9fSksZygibCIsW10sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7YS5hcHBseShiLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGIoYil7aWYoIm9iamVjdCIhPXR5cGVvZiB0aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBiKXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9bnVsbCx0aGlzLl92YWx1ZT1udWxsLHRoaXMuX2RlZmVycmVkcz1bXSxoKGIsYShkLHRoaXMpLGEoZSx0aGlzKSl9ZnVuY3Rpb24gYyhhKXt2YXIgYj10aGlzO3JldHVybiBudWxsPT09dGhpcy5fc3RhdGU/dm9pZCB0aGlzLl9kZWZlcnJlZHMucHVzaChhKTp2b2lkIGkoZnVuY3Rpb24oKXt2YXIgYz1iLl9zdGF0ZT9hLm9uRnVsZmlsbGVkOmEub25SZWplY3RlZDtpZihudWxsPT09YylyZXR1cm4gdm9pZChiLl9zdGF0ZT9hLnJlc29sdmU6YS5yZWplY3QpKGIuX3ZhbHVlKTt2YXIgZDt0cnl7ZD1jKGIuX3ZhbHVlKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBhLnJlamVjdChlKX1hLnJlc29sdmUoZCl9KX1mdW5jdGlvbiBkKGIpe3RyeXtpZihiPT09dGhpcyl0aHJvdyBuZXcgVHlwZUVycm9yKCJBIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmVkIHdpdGggaXRzZWxmLiIpO2lmKGImJigib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSl7dmFyIGM9Yi50aGVuO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBjKXJldHVybiB2b2lkIGgoYShjLGIpLGEoZCx0aGlzKSxhKGUsdGhpcykpfXRoaXMuX3N0YXRlPSEwLHRoaXMuX3ZhbHVlPWIsZi5jYWxsKHRoaXMpfWNhdGNoKGcpe2UuY2FsbCh0aGlzLGcpfX1mdW5jdGlvbiBlKGEpe3RoaXMuX3N0YXRlPSExLHRoaXMuX3ZhbHVlPWEsZi5jYWxsKHRoaXMpfWZ1bmN0aW9uIGYoKXtmb3IodmFyIGE9MCxiPXRoaXMuX2RlZmVycmVkcy5sZW5ndGg7Yj5hO2ErKyljLmNhbGwodGhpcyx0aGlzLl9kZWZlcnJlZHNbYV0pO3RoaXMuX2RlZmVycmVkcz1udWxsfWZ1bmN0aW9uIGcoYSxiLGMsZCl7dGhpcy5vbkZ1bGZpbGxlZD0iZnVuY3Rpb24iPT10eXBlb2YgYT9hOm51bGwsdGhpcy5vblJlamVjdGVkPSJmdW5jdGlvbiI9PXR5cGVvZiBiP2I6bnVsbCx0aGlzLnJlc29sdmU9Yyx0aGlzLnJlamVjdD1kfWZ1bmN0aW9uIGgoYSxiLGMpe3ZhciBkPSExO3RyeXthKGZ1bmN0aW9uKGEpe2R8fChkPSEwLGIoYSkpfSxmdW5jdGlvbihhKXtkfHwoZD0hMCxjKGEpKX0pfWNhdGNoKGUpe2lmKGQpcmV0dXJuO2Q9ITAsYyhlKX19aWYod2luZG93LlByb21pc2UpcmV0dXJuIHdpbmRvdy5Qcm9taXNlO3ZhciBpPWIuaW1tZWRpYXRlRm58fCJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJnNldEltbWVkaWF0ZXx8ZnVuY3Rpb24oYSl7c2V0VGltZW91dChhLDEpfSxqPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGEpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSl9O3JldHVybiBiLnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsYSl9LGIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxkKXt2YXIgZT10aGlzO3JldHVybiBuZXcgYihmdW5jdGlvbihiLGYpe2MuY2FsbChlLG5ldyBnKGEsZCxiLGYpKX0pfSxiLmFsbD1mdW5jdGlvbigpe3ZhciBhPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKDE9PT1hcmd1bWVudHMubGVuZ3RoJiZqKGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cyk7cmV0dXJuIG5ldyBiKGZ1bmN0aW9uKGIsYyl7ZnVuY3Rpb24gZChmLGcpe3RyeXtpZihnJiYoIm9iamVjdCI9PXR5cGVvZiBnfHwiZnVuY3Rpb24iPT10eXBlb2YgZykpe3ZhciBoPWcudGhlbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgaClyZXR1cm4gdm9pZCBoLmNhbGwoZyxmdW5jdGlvbihhKXtkKGYsYSl9LGMpfWFbZl09ZywwPT09LS1lJiZiKGEpfWNhdGNoKGkpe2MoaSl9fWlmKDA9PT1hLmxlbmd0aClyZXR1cm4gYihbXSk7Zm9yKHZhciBlPWEubGVuZ3RoLGY9MDtmPGEubGVuZ3RoO2YrKylkKGYsYVtmXSl9KX0sYi5yZXNvbHZlPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYib2JqZWN0Ij09dHlwZW9mIGEmJmEuY29uc3RydWN0b3I9PT1iP2E6bmV3IGIoZnVuY3Rpb24oYil7YihhKX0pfSxiLnJlamVjdD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGIoZnVuY3Rpb24oYixjKXtjKGEpfSl9LGIucmFjZT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGIoZnVuY3Rpb24oYixjKXtmb3IodmFyIGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYVtkXS50aGVuKGIsYyl9KX0sYn0pLGcoIm0iLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7cmV0dXJuIGIuaHJlZj1hLGIucGF0aG5hbWV9ZnVuY3Rpb24gYihiKXt2YXIgYz1hKGIpLnNwbGl0KCIuIiksZD1jW2MubGVuZ3RoLTFdLGU9e2pwZzoiaW1hZ2UvanBlZyIsanBlZzoiaW1hZ2UvanBlZyIscG5nOiJpbWFnZS9wbmcifTtyZXR1cm4gZCYmKGQ9ZC50b0xvd2VyQ2FzZSgpKSxlW2RdfXJldHVybntndWVzc01pbWVUeXBlOmJ9fSksZygiYyIsWyJsIiwiaiIsIm0iLCJrIl0sZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24gZShiKXtyZXR1cm4gbmV3IGEoZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYygpe2IucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYyksYShiKX1iLmNvbXBsZXRlP2EoYik6Yi5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixjKX0pfWZ1bmN0aW9uIGYoYSl7cmV0dXJuIGUoYSkudGhlbihmdW5jdGlvbihhKXt2YXIgYyxlO3JldHVybiBlPWIuY3JlYXRlKGQuZ2V0V2lkdGgoYSksZC5nZXRIZWlnaHQoYSkpLGM9Yi5nZXQyZENvbnRleHQoZSksYy5kcmF3SW1hZ2UoYSwwLDApLGV9KX1mdW5jdGlvbiBnKGEpe3JldHVybiBlKGEpLnRoZW4oZnVuY3Rpb24oYSl7dmFyIGI9YS5zcmM7cmV0dXJuIDA9PT1iLmluZGV4T2YoImJsb2I6Iik/aShiKTowPT09Yi5pbmRleE9mKCJkYXRhOiIpP2ooYik6ZihhKS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBqKGEudG9EYXRhVVJMKGMuZ3Vlc3NNaW1lVHlwZShiKSkpfSl9KX1mdW5jdGlvbiBoKGIpe3JldHVybiBuZXcgYShmdW5jdGlvbihhKXtmdW5jdGlvbiBjKCl7ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixjKSxhKGQpfXZhciBkPW5ldyBJbWFnZTtkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGMpLGQuc3JjPVVSTC5jcmVhdGVPYmplY3RVUkwoYiksZC5jb21wbGV0ZSYmYygpfSl9ZnVuY3Rpb24gaShiKXtyZXR1cm4gbmV3IGEoZnVuY3Rpb24oYSl7dmFyIGM9bmV3IFhNTEh0dHBSZXF1ZXN0O2Mub3BlbigiR0VUIixiLCEwKSxjLnJlc3BvbnNlVHlwZT0iYmxvYiIsYy5vbmxvYWQ9ZnVuY3Rpb24oKXsyMDA9PXRoaXMuc3RhdHVzJiZhKHRoaXMucmVzcG9uc2UpfSxjLnNlbmQoKX0pfWZ1bmN0aW9uIGooYil7cmV0dXJuIG5ldyBhKGZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxmLGcsaDtpZihiPWIuc3BsaXQoIiwiKSxmPS9kYXRhOihbXjtdKykvLmV4ZWMoYlswXSksZiYmKGc9ZlsxXSksYz1hdG9iKGJbMV0pLHdpbmRvdy5XZWJLaXRCbG9iQnVpbGRlcil7Zm9yKGg9bmV3IFdlYktpdEJsb2JCdWlsZGVyLGQ9bmV3IEFycmF5QnVmZmVyKGMubGVuZ3RoKSxlPTA7ZTxkLmxlbmd0aDtlKyspZFtlXT1jLmNoYXJDb2RlQXQoZSk7cmV0dXJuIGguYXBwZW5kKGQpLHZvaWQgYShoLmdldEJsb2IoZykpfWZvcihkPW5ldyBVaW50OEFycmF5KGMubGVuZ3RoKSxlPTA7ZTxkLmxlbmd0aDtlKyspZFtlXT1jLmNoYXJDb2RlQXQoZSk7YShuZXcgQmxvYihbZF0se3R5cGU6Z30pKX0pfWZ1bmN0aW9uIGsoYSl7cmV0dXJuIDA9PT1hLmluZGV4T2YoImJsb2I6Iik/aShhKTowPT09YS5pbmRleE9mKCJkYXRhOiIpP2ooYSk6bnVsbH1mdW5jdGlvbiBsKGEsYil7cmV0dXJuIGooYS50b0RhdGFVUkwoYikpfWZ1bmN0aW9uIG0oYil7cmV0dXJuIG5ldyBhKGZ1bmN0aW9uKGEpe3ZhciBjPW5ldyBGaWxlUmVhZGVyO2Mub25sb2FkZW5kPWZ1bmN0aW9uKCl7YShjLnJlc3VsdCl9LGMucmVhZEFzRGF0YVVSTChiKX0pfWZ1bmN0aW9uIG4oYSl7cmV0dXJuIG0oYSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5zcGxpdCgiLCIpWzFdfSl9ZnVuY3Rpb24gbyhhKXtVUkwucmV2b2tlT2JqZWN0VVJMKGEuc3JjKX1yZXR1cm57YmxvYlRvSW1hZ2U6aCxpbWFnZVRvQmxvYjpnLGJsb2JUb0RhdGFVcmk6bSxibG9iVG9CYXNlNjQ6bixpbWFnZVRvQ2FudmFzOmYsY2FudmFzVG9CbG9iOmwscmV2b2tlSW1hZ2VVcmw6byx1cmlUb0Jsb2I6a319KSxnKCJuIixbXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSxiLGMpe3JldHVybiBhPXBhcnNlRmxvYXQoYSksYT5jP2E9YzpiPmEmJihhPWIpLGF9ZnVuY3Rpb24gYigpe3JldHVyblsxLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwxXX1mdW5jdGlvbiBjKGEsYil7dmFyIGMsZCxlLGYsZz1bXSxoPW5ldyBBcnJheSgxMCk7Zm9yKGM9MDs1PmM7YysrKXtmb3IoZD0wOzU+ZDtkKyspZ1tkXT1iW2QrNSpjXTtmb3IoZD0wOzU+ZDtkKyspe2ZvcihmPTAsZT0wOzU+ZTtlKyspZis9YVtkKzUqZV0qZ1tlXTtoW2QrNSpjXT1mfX1yZXR1cm4gaH1mdW5jdGlvbiBkKGIsYyl7cmV0dXJuIGM9YShjLDAsMSksYi5tYXAoZnVuY3Rpb24oYixkKXtyZXR1cm4gZCU2PT09MD9iPTEtKDEtYikqYzpiKj1jLGEoYiwwLDEpfSl9ZnVuY3Rpb24gZShiLGQpe3ZhciBlO3JldHVybiBkPWEoZCwtMSwxKSxkKj0xMDAsMD5kP2U9MTI3K2QvMTAwKjEyNzooZT1kJTEsZT0wPT09ZT9sW2RdOmxbTWF0aC5mbG9vcihkKV0qKDEtZSkrbFtNYXRoLmZsb29yKGQpKzFdKmUsZT0xMjcqZSsxMjcpLGMoYixbZS8xMjcsMCwwLDAsLjUqKDEyNy1lKSwwLGUvMTI3LDAsMCwuNSooMTI3LWUpLDAsMCxlLzEyNywwLC41KigxMjctZSksMCwwLDAsMSwwLDAsMCwwLDAsMV0pfWZ1bmN0aW9uIGYoYixkKXt2YXIgZSxmLGcsaDtyZXR1cm4gZD1hKGQsLTEsMSksZT0xKyhkPjA/MypkOmQpLGY9LjMwODYsZz0uNjA5NCxoPS4wODIsYyhiLFtmKigxLWUpK2UsZyooMS1lKSxoKigxLWUpLDAsMCxmKigxLWUpLGcqKDEtZSkrZSxoKigxLWUpLDAsMCxmKigxLWUpLGcqKDEtZSksaCooMS1lKStlLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwxXSl9ZnVuY3Rpb24gZyhiLGQpe3ZhciBlLGYsZyxoLGk7cmV0dXJuIGQ9YShkLC0xODAsMTgwKS8xODAqTWF0aC5QSSxlPU1hdGguY29zKGQpLGY9TWF0aC5zaW4oZCksZz0uMjEzLGg9LjcxNSxpPS4wNzIsYyhiLFtnK2UqKDEtZykrZiotZyxoK2UqLWgrZiotaCxpK2UqLWkrZiooMS1pKSwwLDAsZytlKi1nKy4xNDMqZixoK2UqKDEtaCkrLjE0KmYsaStlKi1pK2YqLS4yODMsMCwwLGcrZSotZytmKi0oMS1nKSxoK2UqLWgrZipoLGkrZSooMS1pKStmKmksMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDFdKX1mdW5jdGlvbiBoKGIsZCl7cmV0dXJuIGQ9YSgyNTUqZCwtMjU1LDI1NSksYyhiLFsxLDAsMCwwLGQsMCwxLDAsMCxkLDAsMCwxLDAsZCwwLDAsMCwxLDAsMCwwLDAsMCwxXSl9ZnVuY3Rpb24gaShiLGQsZSxmKXtyZXR1cm4gZD1hKGQsMCwyKSxlPWEoZSwwLDIpLGY9YShmLDAsMiksYyhiLFtkLDAsMCwwLDAsMCxlLDAsMCwwLDAsMCxmLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwxXSl9ZnVuY3Rpb24gaihiLGUpe3JldHVybiBlPWEoZSwwLDEpLGMoYixkKFsuMzkzLC43NjksLjE4OSwwLDAsLjM0OSwuNjg2LC4xNjgsMCwwLC4yNzIsLjUzNCwuMTMxLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwxXSxlKSl9ZnVuY3Rpb24gayhiLGUpe3JldHVybiBlPWEoZSwwLDEpLGMoYixkKFsuMzMsLjM0LC4zMywwLDAsLjMzLC4zNCwuMzMsMCwwLC4zMywuMzQsLjMzLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwxXSxlKSl9dmFyIGw9WzAsLjAxLC4wMiwuMDQsLjA1LC4wNiwuMDcsLjA4LC4xLC4xMSwuMTIsLjE0LC4xNSwuMTYsLjE3LC4xOCwuMiwuMjEsLjIyLC4yNCwuMjUsLjI3LC4yOCwuMywuMzIsLjM0LC4zNiwuMzgsLjQsLjQyLC40NCwuNDYsLjQ4LC41LC41MywuNTYsLjU5LC42MiwuNjUsLjY4LC43MSwuNzQsLjc3LC44LC44MywuODYsLjg5LC45MiwuOTUsLjk4LDEsMS4wNiwxLjEyLDEuMTgsMS4yNCwxLjMsMS4zNiwxLjQyLDEuNDgsMS41NCwxLjYsMS42NiwxLjcyLDEuNzgsMS44NCwxLjksMS45NiwyLDIuMTIsMi4yNSwyLjM3LDIuNSwyLjYyLDIuNzUsMi44NywzLDMuMiwzLjQsMy42LDMuOCw0LDQuMyw0LjcsNC45LDUsNS41LDYsNi41LDYuOCw3LDcuMyw3LjUsNy44LDgsOC40LDguNyw5LDkuNCw5LjYsOS44LDEwXTtyZXR1cm57aWRlbnRpdHk6YixhZGp1c3Q6ZCxtdWx0aXBseTpjLGFkanVzdENvbnRyYXN0OmUsYWRqdXN0QnJpZ2h0bmVzczpoLGFkanVzdFNhdHVyYXRpb246ZixhZGp1c3RIdWU6ZyxhZGp1c3RDb2xvcnM6aSxhZGp1c3RTZXBpYTpqLGFkanVzdEdyYXlzY2FsZTprfX0pLGcoImEiLFsiaiIsImsiLCJjIiwibiJdLGZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoZCxlKXtyZXR1cm4gYy5ibG9iVG9JbWFnZShkKS50aGVuKGZ1bmN0aW9uKGQpe2Z1bmN0aW9uIGYoYSxiKXt2YXIgYyxkLGUsZixnLGg9YS5kYXRhLGk9YlswXSxqPWJbMV0saz1iWzJdLGw9YlszXSxtPWJbNF0sbj1iWzVdLG89Yls2XSxwPWJbN10scT1iWzhdLHI9Yls5XSxzPWJbMTBdLHQ9YlsxMV0sdT1iWzEyXSx2PWJbMTNdLHc9YlsxNF0seD1iWzE1XSx5PWJbMTZdLHo9YlsxN10sQT1iWzE4XSxCPWJbMTldO2ZvcihnPTA7ZzxoLmxlbmd0aDtnKz00KWM9aFtnXSxkPWhbZysxXSxlPWhbZysyXSxmPWhbZyszXSxoW2ddPWMqaStkKmorZSprK2YqbCttLGhbZysxXT1jKm4rZCpvK2UqcCtmKnErcixoW2crMl09YypzK2QqdCtlKnUrZip2K3csaFtnKzNdPWMqeCtkKnkrZSp6K2YqQStCO3JldHVybiBhfXZhciBnLGg9YS5jcmVhdGUoYi5nZXRXaWR0aChkKSxiLmdldEhlaWdodChkKSksaT1hLmdldDJkQ29udGV4dChoKTtyZXR1cm4gaS5kcmF3SW1hZ2UoZCwwLDApLGsoZCksZz1mKGkuZ2V0SW1hZ2VEYXRhKDAsMCxoLndpZHRoLGguaGVpZ2h0KSxlKSxpLnB1dEltYWdlRGF0YShnLDAsMCksYy5jYW52YXNUb0Jsb2IoaCl9KX1mdW5jdGlvbiBmKGQsZSl7cmV0dXJuIGMuYmxvYlRvSW1hZ2UoZCkudGhlbihmdW5jdGlvbihkKXtmdW5jdGlvbiBmKGEsYixjKXtmdW5jdGlvbiBkKGEsYixjKXtyZXR1cm4gYT5jP2E9YzpiPmEmJihhPWIpLGF9dmFyIGUsZixnLGgsaSxqLGssbCxtLG4sbyxwLHEscixzLHQsdTtmb3IoZz1NYXRoLnJvdW5kKE1hdGguc3FydChjLmxlbmd0aCkpLGg9TWF0aC5mbG9vcihnLzIpLGU9YS5kYXRhLGY9Yi5kYXRhLHQ9YS53aWR0aCx1PWEuaGVpZ2h0LGo9MDt1Pmo7aisrKWZvcihpPTA7dD5pO2krKyl7Zm9yKGs9bD1tPTAsbz0wO2c+bztvKyspZm9yKG49MDtnPm47bisrKXA9ZChpK24taCwwLHQtMSkscT1kKGorby1oLDAsdS0xKSxyPTQqKHEqdCtwKSxzPWNbbypnK25dLGsrPWVbcl0qcyxsKz1lW3IrMV0qcyxtKz1lW3IrMl0qcztyPTQqKGoqdCtpKSxmW3JdPWQoaywwLDI1NSksZltyKzFdPWQobCwwLDI1NSksZltyKzJdPWQobSwwLDI1NSl9cmV0dXJuIGJ9dmFyIGcsaCxpPWEuY3JlYXRlKGIuZ2V0V2lkdGgoZCksYi5nZXRIZWlnaHQoZCkpLGo9YS5nZXQyZENvbnRleHQoaSk7cmV0dXJuIGouZHJhd0ltYWdlKGQsMCwwKSxrKGQpLGc9ai5nZXRJbWFnZURhdGEoMCwwLGkud2lkdGgsaS5oZWlnaHQpLGg9ai5nZXRJbWFnZURhdGEoMCwwLGkud2lkdGgsaS5oZWlnaHQpLGg9ZihnLGgsZSksai5wdXRJbWFnZURhdGEoaCwwLDApLGMuY2FudmFzVG9CbG9iKGkpfSl9ZnVuY3Rpb24gZyhkKXtyZXR1cm4gZnVuY3Rpb24oZSxmKXtyZXR1cm4gYy5ibG9iVG9JbWFnZShlKS50aGVuKGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGcoYSxiKXt2YXIgYyxkPWEuZGF0YTtmb3IoYz0wO2M8ZC5sZW5ndGg7Yys9NClkW2NdPWJbZFtjXV0sZFtjKzFdPWJbZFtjKzFdXSxkW2MrMl09YltkW2MrMl1dO3JldHVybiBhfXZhciBoLGksaj1hLmNyZWF0ZShiLmdldFdpZHRoKGUpLGIuZ2V0SGVpZ2h0KGUpKSxsPWEuZ2V0MmRDb250ZXh0KGopLG09bmV3IEFycmF5KDI1Nik7Zm9yKGk9MDtpPG0ubGVuZ3RoO2krKyltW2ldPWQoaSxmKTtyZXR1cm4gbC5kcmF3SW1hZ2UoZSwwLDApLGsoZSksaD1nKGwuZ2V0SW1hZ2VEYXRhKDAsMCxqLndpZHRoLGouaGVpZ2h0KSxtKSxsLnB1dEltYWdlRGF0YShoLDAsMCksYy5jYW52YXNUb0Jsb2Ioail9KX19ZnVuY3Rpb24gaChhKXtyZXR1cm4gZnVuY3Rpb24oYixjKXtyZXR1cm4gZShiLGEoZC5pZGVudGl0eSgpLGMpKX19ZnVuY3Rpb24gaShhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGUoYixhKX19ZnVuY3Rpb24gaihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGYoYixhKX19dmFyIGs9Yy5yZXZva2VJbWFnZVVybDtyZXR1cm57aW52ZXJ0OmkoWy0xLDAsMCwwLDI1NSwwLC0xLDAsMCwyNTUsMCwwLC0xLDAsMjU1LDAsMCwwLDEsMF0pLGJyaWdodG5lc3M6aChkLmFkanVzdEJyaWdodG5lc3MpLGh1ZTpoKGQuYWRqdXN0SHVlKSxzYXR1cmF0ZTpoKGQuYWRqdXN0U2F0dXJhdGlvbiksY29udHJhc3Q6aChkLmFkanVzdENvbnRyYXN0KSxncmF5c2NhbGU6aChkLmFkanVzdEdyYXlzY2FsZSksc2VwaWE6aChkLmFkanVzdFNlcGlhKSxjb2xvcml6ZTpmdW5jdGlvbihhLGIsYyxmKXtyZXR1cm4gZShhLGQuYWRqdXN0Q29sb3JzKGQuaWRlbnRpdHkoKSxiLGMsZikpfSxzaGFycGVuOmooWzAsLTEsMCwtMSw1LC0xLDAsLTEsMF0pLGVtYm9zczpqKFstMiwtMSwwLC0xLDEsMSwwLDEsMl0pLGdhbW1hOmcoZnVuY3Rpb24oYSxiKXtyZXR1cm4gMjU1Kk1hdGgucG93KGEvMjU1LDEtYil9KSxleHBvc3VyZTpnKGZ1bmN0aW9uKGEsYil7cmV0dXJuIDI1NSooMS1NYXRoLmV4cCgtKGEvMjU1KSpiKSl9KSxjb2xvckZpbHRlcjplLGNvbnZvbHV0ZUZpbHRlcjpmfX0pLGcoImIiLFsiYyIsImoiLCJrIl0sZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZCxlKXtyZXR1cm4gYS5ibG9iVG9JbWFnZShkKS50aGVuKGZ1bmN0aW9uKGYpe3ZhciBnPWIuY3JlYXRlKGMuZ2V0V2lkdGgoZiksYy5nZXRIZWlnaHQoZikpLGk9Yi5nZXQyZENvbnRleHQoZyksaj0wLGs9MDtyZXR1cm4gZT0wPmU/MzYwK2U6ZSw5MCE9ZSYmMjcwIT1lfHxiLnJlc2l6ZShnLGcuaGVpZ2h0LGcud2lkdGgpLDkwIT1lJiYxODAhPWV8fChqPWcud2lkdGgpLDI3MCE9ZSYmMTgwIT1lfHwoaz1nLmhlaWdodCksaS50cmFuc2xhdGUoaixrKSxpLnJvdGF0ZShlKk1hdGguUEkvMTgwKSxpLmRyYXdJbWFnZShmLDAsMCksaChmKSxhLmNhbnZhc1RvQmxvYihnLGQudHlwZSl9KX1mdW5jdGlvbiBlKGQsZSl7cmV0dXJuIGEuYmxvYlRvSW1hZ2UoZCkudGhlbihmdW5jdGlvbihkKXt2YXIgZj1iLmNyZWF0ZShjLmdldFdpZHRoKGQpLGMuZ2V0SGVpZ2h0KGQpKSxnPWIuZ2V0MmRDb250ZXh0KGYpO3JldHVybiJ2Ij09ZT8oZy5zY2FsZSgxLC0xKSxnLmRyYXdJbWFnZShkLDAsLWYuaGVpZ2h0KSk6KGcuc2NhbGUoLTEsMSksZy5kcmF3SW1hZ2UoZCwtZi53aWR0aCwwKSksaChkKSxhLmNhbnZhc1RvQmxvYihmKX0pfWZ1bmN0aW9uIGYoYyxkLGUsZixnKXtyZXR1cm4gYS5ibG9iVG9JbWFnZShjKS50aGVuKGZ1bmN0aW9uKGMpe3ZhciBpPWIuY3JlYXRlKGYsZyksaj1iLmdldDJkQ29udGV4dChpKTtyZXR1cm4gai5kcmF3SW1hZ2UoYywtZCwtZSksaChjKSxhLmNhbnZhc1RvQmxvYihpKX0pfWZ1bmN0aW9uIGcoYyxkLGUpe3JldHVybiBhLmJsb2JUb0ltYWdlKGMpLnRoZW4oZnVuY3Rpb24oZil7dmFyIGc9Yi5jcmVhdGUoZCxlKSxpPWIuZ2V0MmRDb250ZXh0KGcpO3JldHVybiBpLmRyYXdJbWFnZShmLDAsMCxkLGUpLGgoZiksYS5jYW52YXNUb0Jsb2IoZyxjLnR5cGUpfSl9dmFyIGg9YS5yZXZva2VJbWFnZVVybDtyZXR1cm57cm90YXRlOmQsZmxpcDplLGNyb3A6ZixyZXNpemU6Z319KSxnKCI3IixbImEiLCJiIl0sZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbihiKXtyZXR1cm4gYS5pbnZlcnQoYil9LGQ9ZnVuY3Rpb24oYil7cmV0dXJuIGEuc2hhcnBlbihiKX0sZT1mdW5jdGlvbihiKXtyZXR1cm4gYS5lbWJvc3MoYil9LGY9ZnVuY3Rpb24oYixjKXtyZXR1cm4gYS5nYW1tYShiLGMpfSxnPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuZXhwb3N1cmUoYixjKX0saD1mdW5jdGlvbihiLGMsZCxlKXtyZXR1cm4gYS5jb2xvcml6ZShiLGMsZCxlKX0saT1mdW5jdGlvbihiLGMpe3JldHVybiBhLmJyaWdodG5lc3MoYixjKX0saj1mdW5jdGlvbihiLGMpe3JldHVybiBhLmh1ZShiLGMpfSxrPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuc2F0dXJhdGUoYixjKX0sbD1mdW5jdGlvbihiLGMpe3JldHVybiBhLmNvbnRyYXN0KGIsYyl9LG09ZnVuY3Rpb24oYixjKXtyZXR1cm4gYS5ncmF5c2NhbGUoYixjKX0sbj1mdW5jdGlvbihiLGMpe3JldHVybiBhLnNlcGlhKGIsYyl9LG89ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYi5mbGlwKGEsYyl9LHA9ZnVuY3Rpb24oYSxjLGQsZSxmKXtyZXR1cm4gYi5jcm9wKGEsYyxkLGUsZil9LHE9ZnVuY3Rpb24oYSxjLGQpe3JldHVybiBiLnJlc2l6ZShhLGMsZCl9LHI9ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYi5yb3RhdGUoYSxjKX07cmV0dXJue2ludmVydDpjLHNoYXJwZW46ZCxlbWJvc3M6ZSxicmlnaHRuZXNzOmksaHVlOmosc2F0dXJhdGU6ayxjb250cmFzdDpsLGdyYXlzY2FsZTptLHNlcGlhOm4sY29sb3JpemU6aCxnYW1tYTpmLGV4cG9zdXJlOmcsZmxpcDpvLGNyb3A6cCxyZXNpemU6cSxyb3RhdGU6cn19KSxnKCI4IixbImMiXSxmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihiKXtyZXR1cm4gYS5ibG9iVG9JbWFnZShiKX0sYz1mdW5jdGlvbihiKXtyZXR1cm4gYS5pbWFnZVRvQmxvYihiKX0sZD1mdW5jdGlvbihiKXtyZXR1cm4gYS5ibG9iVG9EYXRhVXJpKGIpfSxlPWZ1bmN0aW9uKGIpe3JldHVybiBhLmJsb2JUb0Jhc2U2NChiKX07cmV0dXJue2Jsb2JUb0ltYWdlOmIsaW1hZ2VUb0Jsb2I6YyxibG9iVG9EYXRhVXJpOmQsYmxvYlRvQmFzZTY0OmV9fSksaCgiZCIsdGlueW1jZS5kb20uRE9NVXRpbHMpLGgoImUiLHRpbnltY2UudWkuRmFjdG9yeSksaCgiZiIsdGlueW1jZS51aS5Gb3JtKSxoKCJnIix0aW55bWNlLnVpLkNvbnRhaW5lciksaCgibyIsdGlueW1jZS51aS5Db250cm9sKSxoKCJwIix0aW55bWNlLnVpLkRyYWdIZWxwZXIpLGgoInEiLHRpbnltY2UuZ2VvbS5SZWN0KSxoKCJzIix0aW55bWNlLmRvbS5Eb21RdWVyeSksaCgidCIsdGlueW1jZS51dGlsLk9ic2VydmFibGUpLGgoInUiLHRpbnltY2UudXRpbC5WSyksZygiciIsWyJzIiwicCIsInEiLCI1IiwidCIsInUiXSxmdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9MDtyZXR1cm4gZnVuY3Rpb24oaCxpLGosayxsKXtmdW5jdGlvbiBtKGEsYil7cmV0dXJue3g6Yi54K2EueCx5OmIueSthLnksdzpiLncsaDpiLmh9fWZ1bmN0aW9uIG4oYSxiKXtyZXR1cm57eDpiLngtYS54LHk6Yi55LWEueSx3OmIudyxoOmIuaH19ZnVuY3Rpb24gbygpe3JldHVybiBuKGosaCl9ZnVuY3Rpb24gcChhLGIsZCxlKXt2YXIgZixnLGksayxsO2Y9Yi54LGc9Yi55LGk9Yi53LGs9Yi5oLGYrPWQqYS5kZWx0YVgsZys9ZSphLmRlbHRhWSxpKz1kKmEuZGVsdGFXLGsrPWUqYS5kZWx0YUgsMjA+aSYmKGk9MjApLDIwPmsmJihrPTIwKSxsPWg9Yy5jbGFtcCh7eDpmLHk6Zyx3OmksaDprfSxqLCJtb3ZlIj09YS5uYW1lKSxsPW4oaixsKSx5LmZpcmUoInVwZGF0ZVJlY3QiLHtyZWN0Omx9KSx2KGwpfWZ1bmN0aW9uIHEoKXtmdW5jdGlvbiBjKGEpe3ZhciBjO3JldHVybiBuZXcgYihELHtkb2N1bWVudDprLm93bmVyRG9jdW1lbnQsaGFuZGxlOkQrIi0iK2EubmFtZSxzdGFydDpmdW5jdGlvbigpe2M9aH0sZHJhZzpmdW5jdGlvbihiKXtwKGEsYyxiLmRlbHRhWCxiLmRlbHRhWSl9fSl9YSgnPGRpdiBpZD0iJytEKyciIGNsYXNzPSInK0MrJ2Nyb3ByZWN0LWNvbnRhaW5lciIgcm9sZT0iZ3JpZCIgYXJpYS1kcm9wZWZmZWN0PSJleGVjdXRlIj4nKS5hcHBlbmRUbyhrKSxkLmVhY2goQixmdW5jdGlvbihiKXthKCIjIitELGspLmFwcGVuZCgnPGRpdiBpZD0iJytEKyItIitiKyciY2xhc3M9IicrQysnY3JvcHJlY3QtYmxvY2siIHN0eWxlPSJkaXNwbGF5OiBub25lIiBkYXRhLW1jZS1ib2d1cz0iYWxsIj4nKX0pLGQuZWFjaCh6LGZ1bmN0aW9uKGIpe2EoIiMiK0QsaykuYXBwZW5kKCc8ZGl2IGlkPSInK0QrIi0iK2IubmFtZSsnIiBjbGFzcz0iJytDKyJjcm9wcmVjdC1oYW5kbGUgIitDKyJjcm9wcmVjdC1oYW5kbGUtIitiLm5hbWUrJyJzdHlsZT0iZGlzcGxheTogbm9uZSIgZGF0YS1tY2UtYm9ndXM9ImFsbCIgcm9sZT0iZ3JpZGNlbGwiIHRhYmluZGV4PSItMSIgYXJpYS1sYWJlbD0iJytiLmxhYmVsKyciIGFyaWEtZ3JhYmJlZD0iZmFsc2UiPicpfSksQT1kLm1hcCh6LGMpLHMoaCksYShrKS5vbigiZm9jdXNpbiBmb2N1c291dCIsZnVuY3Rpb24oYil7YShiLnRhcmdldCkuYXR0cigiYXJpYS1ncmFiYmVkIiwiZm9jdXMiPT09Yi50eXBlKX0pLGEoaykub24oImtleWRvd24iLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSxiLGQsZSxmKXthLnN0b3BQcm9wYWdhdGlvbigpLGEucHJldmVudERlZmF1bHQoKSxwKGMsZCxlLGYpfXZhciBjO3N3aXRjaChkLmVhY2goeixmdW5jdGlvbihiKXtyZXR1cm4gYS50YXJnZXQuaWQ9PUQrIi0iK2IubmFtZT8oYz1iLCExKTp2b2lkIDB9KSxhLmtleUNvZGUpe2Nhc2UgZi5MRUZUOmIoYSxjLGgsLTEwLDApO2JyZWFrO2Nhc2UgZi5SSUdIVDpiKGEsYyxoLDEwLDApO2JyZWFrO2Nhc2UgZi5VUDpiKGEsYyxoLDAsLTEwKTticmVhaztjYXNlIGYuRE9XTjpiKGEsYyxoLDAsMTApO2JyZWFrO2Nhc2UgZi5FTlRFUjpjYXNlIGYuU1BBQ0VCQVI6YS5wcmV2ZW50RGVmYXVsdCgpLGwoKX19KX1mdW5jdGlvbiByKGIpe3ZhciBjO2M9ZC5tYXAoeixmdW5jdGlvbihhKXtyZXR1cm4iIyIrRCsiLSIrYS5uYW1lfSkuY29uY2F0KGQubWFwKEIsZnVuY3Rpb24oYSl7cmV0dXJuIiMiK0QrIi0iK2F9KSkuam9pbigiLCIpLGI/YShjLGspLnNob3coKTphKGMsaykuaGlkZSgpfWZ1bmN0aW9uIHMoYil7ZnVuY3Rpb24gYyhiLGMpe2MuaDwwJiYoYy5oPTApLGMudzwwJiYoYy53PTApLGEoIiMiK0QrIi0iK2IsaykuY3NzKHtsZWZ0OmMueCx0b3A6Yy55LHdpZHRoOmMudyxoZWlnaHQ6Yy5ofSl9ZC5lYWNoKHosZnVuY3Rpb24oYyl7YSgiIyIrRCsiLSIrYy5uYW1lLGspLmNzcyh7bGVmdDpiLncqYy54TXVsK2IueCx0b3A6Yi5oKmMueU11bCtiLnl9KX0pLGMoInRvcCIse3g6aS54LHk6aS55LHc6aS53LGg6Yi55LWkueX0pLGMoInJpZ2h0Iix7eDpiLngrYi53LHk6Yi55LHc6aS53LWIueC1iLncraS54LGg6Yi5ofSksYygiYm90dG9tIix7eDppLngseTpiLnkrYi5oLHc6aS53LGg6aS5oLWIueS1iLmgraS55fSksYygibGVmdCIse3g6aS54LHk6Yi55LHc6Yi54LWkueCxoOmIuaH0pLGMoIm1vdmUiLGIpfWZ1bmN0aW9uIHQoYSl7aD1hLHMoaCl9ZnVuY3Rpb24gdShhKXtpPWEscyhoKX1mdW5jdGlvbiB2KGEpe3QobShqLGEpKX1mdW5jdGlvbiB3KGEpe2o9YSxzKGgpfWZ1bmN0aW9uIHgoKXtkLmVhY2goQSxmdW5jdGlvbihhKXthLmRlc3Ryb3koKX0pLEE9W119dmFyIHkseixBLEIsQz0ibWNlLSIsRD1DKyJjcmlkLSIrZysrO3JldHVybiB6PVt7bmFtZToibW92ZSIseE11bDowLHlNdWw6MCxkZWx0YVg6MSxkZWx0YVk6MSxkZWx0YVc6MCxkZWx0YUg6MCxsYWJlbDoiQ3JvcCBNYXNrIn0se25hbWU6Im53Iix4TXVsOjAseU11bDowLGRlbHRhWDoxLGRlbHRhWToxLGRlbHRhVzotMSxkZWx0YUg6LTEsbGFiZWw6IlRvcCBMZWZ0IENyb3AgSGFuZGxlIn0se25hbWU6Im5lIix4TXVsOjEseU11bDowLGRlbHRhWDowLGRlbHRhWToxLGRlbHRhVzoxLGRlbHRhSDotMSxsYWJlbDoiVG9wIFJpZ2h0IENyb3AgSGFuZGxlIn0se25hbWU6InN3Iix4TXVsOjAseU11bDoxLGRlbHRhWDoxLGRlbHRhWTowLGRlbHRhVzotMSxkZWx0YUg6MSxsYWJlbDoiQm90dG9tIExlZnQgQ3JvcCBIYW5kbGUifSx7bmFtZToic2UiLHhNdWw6MSx5TXVsOjEsZGVsdGFYOjAsZGVsdGFZOjAsZGVsdGFXOjEsZGVsdGFIOjEsbGFiZWw6IkJvdHRvbSBSaWdodCBDcm9wIEhhbmRsZSJ9XSxCPVsidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0Il0scShrKSx5PWQuZXh0ZW5kKHt0b2dnbGVWaXNpYmlsaXR5OnIsc2V0Q2xhbXBSZWN0Oncsc2V0UmVjdDp0LGdldElubmVyUmVjdDpvLHNldElubmVyUmVjdDp2LHNldFZpZXdQb3J0UmVjdDp1LGRlc3Ryb3k6eH0sZSl9fSksZygiaCIsWyJvIiwicCIsInEiLCI1IiwiMyIsInIiXSxmdW5jdGlvbihhLGIsYyxkLGUsZil7ZnVuY3Rpb24gZyhhKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oYil7ZnVuY3Rpb24gYygpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYyksYihhKX1hLmNvbXBsZXRlP2IoYSk6YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixjKX0pfXJldHVybiBhLmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6ImltYWdlcGFuZWwifSxzZWxlY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJyZWN0IixhKSx0aGlzKTp0aGlzLnN0YXRlLmdldCgicmVjdCIpfSxpbWFnZVNpemU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnN0YXRlLmdldCgidmlld1JlY3QiKTtyZXR1cm57dzphLncsaDphLmh9fSx0b2dnbGVDcm9wUmVjdDpmdW5jdGlvbihhKXt0aGlzLnN0YXRlLnNldCgiY3JvcEVuYWJsZWQiLGEpfSxpbWFnZVNyYzpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGQ9bmV3IEltYWdlO2Quc3JjPWEsZyhkKS50aGVuKGZ1bmN0aW9uKCl7dmFyIGEsZSxmPWIuc3RhdGUuZ2V0KCJ2aWV3UmVjdCIpO2U9Yi4kZWwuZmluZCgiaW1nIiksZVswXT9lLnJlcGxhY2VXaXRoKGQpOmIuZ2V0RWwoKS5hcHBlbmRDaGlsZChkKSxhPXt4OjAseTowLHc6ZC5uYXR1cmFsV2lkdGgsaDpkLm5hdHVyYWxIZWlnaHR9LGIuc3RhdGUuc2V0KCJ2aWV3UmVjdCIsYSksYi5zdGF0ZS5zZXQoInJlY3QiLGMuaW5mbGF0ZShhLC0yMCwtMjApKSxmJiZmLnc9PWEudyYmZi5oPT1hLmh8fGIuem9vbUZpdCgpLGIucmVwYWludEltYWdlKCksYi5maXJlKCJsb2FkIil9KX0sem9vbTpmdW5jdGlvbihhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5zdGF0ZS5zZXQoInpvb20iLGEpLHRoaXMpOnRoaXMuc3RhdGUuZ2V0KCJ6b29tIil9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZVNyYyh0aGlzLnNldHRpbmdzLmltYWdlU3JjKSx0aGlzLl9zdXBlcigpfSx6b29tRml0OmZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGcsaD10aGlzO2c9MTAsYT1oLiRlbC5maW5kKCJpbWciKSxiPWguZ2V0RWwoKS5jbGllbnRXaWR0aCxjPWguZ2V0RWwoKS5jbGllbnRIZWlnaHQsZD1hWzBdLm5hdHVyYWxXaWR0aCxlPWFbMF0ubmF0dXJhbEhlaWdodCxmPU1hdGgubWluKChiLWcpL2QsKGMtZykvZSksZj49MSYmKGY9MSksaC56b29tKGYpfSxyZXBhaW50SW1hZ2U6ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZyxoLGksajtqPXRoaXMuZ2V0RWwoKSxoPXRoaXMuem9vbSgpLGk9dGhpcy5zdGF0ZS5nZXQoInJlY3QiKSxnPXRoaXMuJGVsLmZpbmQoImltZyIpLGU9ai5vZmZzZXRXaWR0aCxmPWoub2Zmc2V0SGVpZ2h0LGM9Z1swXS5uYXR1cmFsV2lkdGgqaCxkPWdbMF0ubmF0dXJhbEhlaWdodCpoLGE9TWF0aC5tYXgoMCxlLzItYy8yKSxiPU1hdGgubWF4KDAsZi8yLWQvMiksZy5jc3Moe2xlZnQ6YSx0b3A6Yix3aWR0aDpjLGhlaWdodDpkfSksdGhpcy5jcm9wUmVjdCYmKHRoaXMuY3JvcFJlY3Quc2V0UmVjdCh7eDppLngqaCthLHk6aS55KmgrYix3OmkudypoLGg6aS5oKmh9KSx0aGlzLmNyb3BSZWN0LnNldENsYW1wUmVjdCh7eDphLHk6Yix3OmMsaDpkfSksdGhpcy5jcm9wUmVjdC5zZXRWaWV3UG9ydFJlY3Qoe3g6MCx5OjAsdzplLGg6Zn0pKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSl7Yi5jcm9wUmVjdD1uZXcgZihhLGIuc3RhdGUuZ2V0KCJ2aWV3UmVjdCIpLGIuc3RhdGUuZ2V0KCJ2aWV3UmVjdCIpLGIuZ2V0RWwoKSxmdW5jdGlvbigpe2IuZmlyZSgiY3JvcCIpfSksYi5jcm9wUmVjdC5vbigidXBkYXRlUmVjdCIsZnVuY3Rpb24oYSl7dmFyIGM9YS5yZWN0LGQ9Yi56b29tKCk7Yz17eDpNYXRoLnJvdW5kKGMueC9kKSx5Ok1hdGgucm91bmQoYy55L2QpLHc6TWF0aC5yb3VuZChjLncvZCksaDpNYXRoLnJvdW5kKGMuaC9kKX0sYi5zdGF0ZS5zZXQoInJlY3QiLGMpfSksYi5vbigicmVtb3ZlIixiLmNyb3BSZWN0LmRlc3Ryb3kpfXZhciBiPXRoaXM7Yi5zdGF0ZS5vbigiY2hhbmdlOmNyb3BFbmFibGVkIixmdW5jdGlvbihhKXtiLmNyb3BSZWN0LnRvZ2dsZVZpc2liaWxpdHkoYS52YWx1ZSksYi5yZXBhaW50SW1hZ2UoKX0pLGIuc3RhdGUub24oImNoYW5nZTp6b29tIixmdW5jdGlvbigpe2IucmVwYWludEltYWdlKCl9KSxiLnN0YXRlLm9uKCJjaGFuZ2U6cmVjdCIsZnVuY3Rpb24oYyl7dmFyIGQ9Yy52YWx1ZTtiLmNyb3BSZWN0fHxhKGQpLGIuY3JvcFJlY3Quc2V0UmVjdChkKX0pfX0pfSksZygiaSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGEpe3ZhciBiO3JldHVybiBiPWYuc3BsaWNlKCsrZyksZi5wdXNoKGEpLHtzdGF0ZTphLHJlbW92ZWQ6Yn19ZnVuY3Rpb24gYigpe3JldHVybiBkKCk/ZlstLWddOnZvaWQgMH1mdW5jdGlvbiBjKCl7cmV0dXJuIGUoKT9mWysrZ106dm9pZCAwfWZ1bmN0aW9uIGQoKXtyZXR1cm4gZz4wfWZ1bmN0aW9uIGUoKXtyZXR1cm4tMSE9ZyYmZzxmLmxlbmd0aC0xfXZhciBmPVtdLGc9LTE7cmV0dXJue2RhdGE6ZixhZGQ6YSx1bmRvOmIscmVkbzpjLGNhblVuZG86ZCxjYW5SZWRvOmV9fX0pLGcoIjkiLFsiZCIsIjUiLCIzIiwiZSIsImYiLCJnIiwiaCIsIjciLCI4IiwiaSJdLGZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxpLGope2Z1bmN0aW9uIGsoYSl7cmV0dXJue2Jsb2I6YSx1cmw6VVJMLmNyZWF0ZU9iamVjdFVSTChhKX19ZnVuY3Rpb24gbChhKXthJiZVUkwucmV2b2tlT2JqZWN0VVJMKGEudXJsKX1mdW5jdGlvbiBtKGEpe2IuZWFjaChhLGwpfWZ1bmN0aW9uIG4oYyxpLG4pe2Z1bmN0aW9uIG8oYSl7dmFyIGIsYyxkLGU7Yj1MLmZpbmQoIiN3IilbMF0sYz1MLmZpbmQoIiNoIilbMF0sZD1wYXJzZUludChiLnZhbHVlKCksMTApLGU9cGFyc2VJbnQoYy52YWx1ZSgpLDEwKSxMLmZpbmQoIiNjb25zdHJhaW4iKVswXS5jaGVja2VkKCkmJmdhJiZoYSYmZCYmZSYmKCJ3Ij09YS5jb250cm9sLnNldHRpbmdzLm5hbWU/KGU9TWF0aC5yb3VuZChkKmlhKSxjLnZhbHVlKGUpKTooZD1NYXRoLnJvdW5kKGUqamEpLGIudmFsdWUoZCkpKSxnYT1kLGhhPWV9ZnVuY3Rpb24gcChhKXtyZXR1cm4gTWF0aC5yb3VuZCgxMDAqYSkrIiUifWZ1bmN0aW9uIHEoKXtMLmZpbmQoIiN1bmRvIikuZGlzYWJsZWQoIWthLmNhblVuZG8oKSksTC5maW5kKCIjcmVkbyIpLmRpc2FibGVkKCFrYS5jYW5SZWRvKCkpLEwuc3RhdHVzYmFyLmZpbmQoIiNzYXZlIikuZGlzYWJsZWQoIWthLmNhblVuZG8oKSl9ZnVuY3Rpb24gcigpe0wuZmluZCgiI3VuZG8iKS5kaXNhYmxlZCghMCksTC5maW5kKCIjcmVkbyIpLmRpc2FibGVkKCEwKX1mdW5jdGlvbiBzKGEpe2EmJlMuaW1hZ2VTcmMoYS51cmwpfWZ1bmN0aW9uIHQoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9Yi5ncmVwKGZhLGZ1bmN0aW9uKGIpe3JldHVybiBiLnNldHRpbmdzLm5hbWUhPWF9KTtiLmVhY2goYyxmdW5jdGlvbihhKXthLmhpZGUoKX0pLGEuc2hvdygpLGEuZm9jdXMoKX19ZnVuY3Rpb24gdShhKXtPPWsoYSkscyhPKX1mdW5jdGlvbiB2KGEpe2M9ayhhKSxzKGMpLG0oa2EuYWRkKGMpLnJlbW92ZWQpLHEoKX1mdW5jdGlvbiB3KCl7dmFyIGE9Uy5zZWxlY3Rpb24oKTtoLmNyb3AoYy5ibG9iLGEueCxhLnksYS53LGEuaCkudGhlbihmdW5jdGlvbihhKXt2KGEpLHooKX0pfWZ1bmN0aW9uIHgoYSl7dmFyIGI9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9T3x8YzthLmFwcGx5KHRoaXMsW2QuYmxvYl0uY29uY2F0KGIpKS50aGVuKHUpfX1mdW5jdGlvbiB5KGEpe3ZhciBiPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe2EuYXBwbHkodGhpcyxbYy5ibG9iXS5jb25jYXQoYikpLnRoZW4odil9fWZ1bmN0aW9uIHooKXtzKGMpLGwoTyksdChNKSgpLHEoKX1mdW5jdGlvbiBBKCl7TyYmKHYoTy5ibG9iKSx6KCkpfWZ1bmN0aW9uIEIoKXt2YXIgYT1TLnpvb20oKTsyPmEmJihhKz0uMSksUy56b29tKGEpfWZ1bmN0aW9uIEMoKXt2YXIgYT1TLnpvb20oKTthPi4xJiYoYS09LjEpLFMuem9vbShhKX1mdW5jdGlvbiBEKCl7Yz1rYS51bmRvKCkscyhjKSxxKCl9ZnVuY3Rpb24gRSgpe2M9a2EucmVkbygpLHMoYykscSgpfWZ1bmN0aW9uIEYoKXtpKGMuYmxvYiksTC5jbG9zZSgpfWZ1bmN0aW9uIEcoYSl7cmV0dXJuIG5ldyBlKHtsYXlvdXQ6ImZsZXgiLGRpcmVjdGlvbjoicm93IixsYWJlbEdhcDo1LGJvcmRlcjoiMCAwIDEgMCIsYWxpZ246ImNlbnRlciIscGFjazoiY2VudGVyIixwYWRkaW5nOiIwIDEwIDAgMTAiLHNwYWNpbmc6NSxmbGV4OjAsbWluSGVpZ2h0OjYwLGRlZmF1bHRzOntjbGFzc2VzOiJpbWFnZXRvb2wiLHR5cGU6ImJ1dHRvbiJ9LGl0ZW1zOmF9KX1mdW5jdGlvbiBIKGEsYil7cmV0dXJuIEcoW3t0ZXh0OiJCYWNrIixvbmNsaWNrOnp9LHt0eXBlOiJzcGFjZXIiLGZsZXg6MX0se3RleHQ6IkFwcGx5IixzdWJ0eXBlOiJwcmltYXJ5IixvbmNsaWNrOkF9XSkuaGlkZSgpLm9uKCJzaG93IixmdW5jdGlvbigpe3IoKSxiKGMuYmxvYikudGhlbihmdW5jdGlvbihhKXt2YXIgYj1rKGEpO3MoYiksbChPKSxPPWJ9KX0pfWZ1bmN0aW9uIEkoYSxiLGQsZSxmKXtmdW5jdGlvbiBnKGEpe2IoYy5ibG9iLGEpLnRoZW4oZnVuY3Rpb24oYSl7dmFyIGI9ayhhKTtzKGIpLGwoTyksTz1ifSl9cmV0dXJuIEcoW3t0ZXh0OiJCYWNrIixvbmNsaWNrOnp9LHt0eXBlOiJzcGFjZXIiLGZsZXg6MX0se3R5cGU6InNsaWRlciIsZmxleDoxLG9uZHJhZ2VuZDpmdW5jdGlvbihhKXtnKGEudmFsdWUpfSxtaW5WYWx1ZTplLG1heFZhbHVlOmYsdmFsdWU6ZCxwcmV2aWV3RmlsdGVyOnB9LHt0eXBlOiJzcGFjZXIiLGZsZXg6MX0se3RleHQ6IkFwcGx5IixzdWJ0eXBlOiJwcmltYXJ5IixvbmNsaWNrOkF9XSkuaGlkZSgpLm9uKCJzaG93IixmdW5jdGlvbigpe3RoaXMuZmluZCgic2xpZGVyIikudmFsdWUoZCkscigpfSl9ZnVuY3Rpb24gSihhLGIpe2Z1bmN0aW9uIGQoKXt2YXIgYSxkLGU7YT1MLmZpbmQoIiNyIilbMF0udmFsdWUoKSxkPUwuZmluZCgiI2ciKVswXS52YWx1ZSgpLGU9TC5maW5kKCIjYiIpWzBdLnZhbHVlKCksYihjLmJsb2IsYSxkLGUpLnRoZW4oZnVuY3Rpb24oYSl7dmFyIGI9ayhhKTtzKGIpLGwoTyksTz1ifSl9cmV0dXJuIEcoW3t0ZXh0OiJCYWNrIixvbmNsaWNrOnp9LHt0eXBlOiJzcGFjZXIiLGZsZXg6MX0se3R5cGU6InNsaWRlciIsbGFiZWw6IlIiLG5hbWU6InIiLG1pblZhbHVlOjAsdmFsdWU6MSxtYXhWYWx1ZToyLG9uZHJhZ2VuZDpkLHByZXZpZXdGaWx0ZXI6cH0se3R5cGU6InNsaWRlciIsbGFiZWw6IkciLG5hbWU6ImciLG1pblZhbHVlOjAsdmFsdWU6MSxtYXhWYWx1ZToyLG9uZHJhZ2VuZDpkLHByZXZpZXdGaWx0ZXI6cH0se3R5cGU6InNsaWRlciIsbGFiZWw6IkIiLG5hbWU6ImIiLG1pblZhbHVlOjAsdmFsdWU6MSxtYXhWYWx1ZToyLG9uZHJhZ2VuZDpkLHByZXZpZXdGaWx0ZXI6cH0se3R5cGU6InNwYWNlciIsZmxleDoxfSx7dGV4dDoiQXBwbHkiLHN1YnR5cGU6InByaW1hcnkiLG9uY2xpY2s6QX1dKS5oaWRlKCkub24oInNob3ciLGZ1bmN0aW9uKCl7TC5maW5kKCIjciwjZywjYiIpLnZhbHVlKDEpLHIoKX0pfWZ1bmN0aW9uIEsoYSl7YS5jb250cm9sLnZhbHVlKCk9PT0hMCYmKGlhPWhhL2dhLGphPWdhL2hhKX12YXIgTCxNLE4sTyxQLFEsUixTLFQsVSxWLFcsWCxZLFosJCxfLGFhLGJhLGNhLGRhLGVhLGZhLGdhLGhhLGlhLGphLGthPW5ldyBqO1A9Ryhbe3RleHQ6IkJhY2siLG9uY2xpY2s6en0se3R5cGU6InNwYWNlciIsZmxleDoxfSx7dGV4dDoiQXBwbHkiLHN1YnR5cGU6InByaW1hcnkiLG9uY2xpY2s6d31dKS5oaWRlKCkub24oInNob3cgaGlkZSIsZnVuY3Rpb24oYSl7Uy50b2dnbGVDcm9wUmVjdCgic2hvdyI9PWEudHlwZSl9KS5vbigic2hvdyIsciksUT1HKFt7dGV4dDoiQmFjayIsb25jbGljazp6fSx7dHlwZToic3BhY2VyIixmbGV4OjF9LHt0eXBlOiJ0ZXh0Ym94IixuYW1lOiJ3IixsYWJlbDoiV2lkdGgiLHNpemU6NCxvbmtleXVwOm99LHt0eXBlOiJ0ZXh0Ym94IixuYW1lOiJoIixsYWJlbDoiSGVpZ2h0IixzaXplOjQsb25rZXl1cDpvfSx7dHlwZToiY2hlY2tib3giLG5hbWU6ImNvbnN0cmFpbiIsdGV4dDoiQ29uc3RyYWluIHByb3BvcnRpb25zIixjaGVja2VkOiEwLG9uY2hhbmdlOkt9LHt0eXBlOiJzcGFjZXIiLGZsZXg6MX0se3RleHQ6IkFwcGx5IixzdWJ0eXBlOiJwcmltYXJ5IixvbmNsaWNrOiJzdWJtaXQifV0pLmhpZGUoKS5vbigic3VibWl0IixmdW5jdGlvbihhKXt2YXIgYj1wYXJzZUludChMLmZpbmQoIiN3IikudmFsdWUoKSwxMCksYz1wYXJzZUludChMLmZpbmQoIiNoIikudmFsdWUoKSwxMCk7YS5wcmV2ZW50RGVmYXVsdCgpLHkoaC5yZXNpemUsYixjKSgpLHooKX0pLm9uKCJzaG93IixyKSxSPUcoW3t0ZXh0OiJCYWNrIixvbmNsaWNrOnp9LHt0eXBlOiJzcGFjZXIiLGZsZXg6MX0se2ljb246ImZsaXBoIix0b29sdGlwOiJGbGlwIGhvcml6b250YWxseSIsb25jbGljazp4KGguZmxpcCwiaCIpfSx7aWNvbjoiZmxpcHYiLHRvb2x0aXA6IkZsaXAgdmVydGljYWxseSIsb25jbGljazp4KGguZmxpcCwidiIpfSx7aWNvbjoicm90YXRlbGVmdCIsdG9vbHRpcDoiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2UiLG9uY2xpY2s6eChoLnJvdGF0ZSwtOTApfSx7aWNvbjoicm90YXRlcmlnaHQiLHRvb2x0aXA6IlJvdGF0ZSBjbG9ja3dpc2UiLG9uY2xpY2s6eChoLnJvdGF0ZSw5MCl9LHt0eXBlOiJzcGFjZXIiLGZsZXg6MX0se3RleHQ6IkFwcGx5IixzdWJ0eXBlOiJwcmltYXJ5IixvbmNsaWNrOkF9XSkuaGlkZSgpLm9uKCJzaG93IixyKSxWPUgoIkludmVydCIsaC5pbnZlcnQpLGJhPUgoIlNoYXJwZW4iLGguc2hhcnBlbiksY2E9SCgiRW1ib3NzIixoLmVtYm9zcyksVz1JKCJCcmlnaHRuZXNzIixoLmJyaWdodG5lc3MsMCwtMSwxKSxYPUkoIkh1ZSIsaC5odWUsMTgwLDAsMzYwKSxZPUkoIlNhdHVyYXRlIixoLnNhdHVyYXRlLDAsLTEsMSksWj1JKCJDb250cmFzdCIsaC5jb250cmFzdCwwLC0xLDEpLCQ9SSgiR3JheXNjYWxlIixoLmdyYXlzY2FsZSwwLDAsMSksXz1JKCJTZXBpYSIsaC5zZXBpYSwwLDAsMSksYWE9SigiQ29sb3JpemUiLGguY29sb3JpemUpLGRhPUkoIkdhbW1hIixoLmdhbW1hLDAsLTEsMSksZWE9SSgiRXhwb3N1cmUiLGguZXhwb3N1cmUsMSwwLDIpLE49Ryhbe3RleHQ6IkJhY2siLG9uY2xpY2s6en0se3R5cGU6InNwYWNlciIsZmxleDoxfSx7dGV4dDoiaHVlIixpY29uOiJodWUiLG9uY2xpY2s6dChYKX0se3RleHQ6InNhdHVyYXRlIixpY29uOiJzYXR1cmF0ZSIsb25jbGljazp0KFkpfSx7dGV4dDoic2VwaWEiLGljb246InNlcGlhIixvbmNsaWNrOnQoXyl9LHt0ZXh0OiJlbWJvc3MiLGljb246ImVtYm9zcyIsb25jbGljazp0KGNhKX0se3RleHQ6ImV4cG9zdXJlIixpY29uOiJleHBvc3VyZSIsb25jbGljazp0KGVhKX0se3R5cGU6InNwYWNlciIsZmxleDoxfV0pLmhpZGUoKSxNPUcoW3t0b29sdGlwOiJDcm9wIixpY29uOiJjcm9wIixvbmNsaWNrOnQoUCl9LHt0b29sdGlwOiJSZXNpemUiLGljb246InJlc2l6ZTIiLG9uY2xpY2s6dChRKX0se3Rvb2x0aXA6Ik9yaWVudGF0aW9uIixpY29uOiJvcmllbnRhdGlvbiIsb25jbGljazp0KFIpfSx7dG9vbHRpcDoiQnJpZ2h0bmVzcyIsaWNvbjoic3VuIixvbmNsaWNrOnQoVyl9LHt0b29sdGlwOiJTaGFycGVuIixpY29uOiJzaGFycGVuIixvbmNsaWNrOnQoYmEpfSx7dG9vbHRpcDoiQ29udHJhc3QiLGljb246ImNvbnRyYXN0IixvbmNsaWNrOnQoWil9LHt0b29sdGlwOiJDb2xvciBsZXZlbHMiLGljb246ImRyb3AiLG9uY2xpY2s6dChhYSl9LHt0b29sdGlwOiJHYW1tYSIsaWNvbjoiZ2FtbWEiLG9uY2xpY2s6dChkYSl9LHt0b29sdGlwOiJJbnZlcnQiLGljb246ImludmVydCIsb25jbGljazp0KFYpfV0pLFM9bmV3IGcoe2ZsZXg6MSxpbWFnZVNyYzpjLnVybH0pLFQ9bmV3IGYoe2xheW91dDoiZmxleCIsZGlyZWN0aW9uOiJjb2x1bW4iLGJvcmRlcjoiMCAxIDAgMCIscGFkZGluZzo1LHNwYWNpbmc6NSxpdGVtczpbe3R5cGU6ImJ1dHRvbiIsaWNvbjoidW5kbyIsdG9vbHRpcDoiVW5kbyIsbmFtZToidW5kbyIsb25jbGljazpEfSx7dHlwZToiYnV0dG9uIixpY29uOiJyZWRvIix0b29sdGlwOiJSZWRvIixuYW1lOiJyZWRvIixvbmNsaWNrOkV9LHt0eXBlOiJidXR0b24iLGljb246Inpvb21pbiIsdG9vbHRpcDoiWm9vbSBpbiIsb25jbGljazpCfSx7dHlwZToiYnV0dG9uIixpY29uOiJ6b29tb3V0Iix0b29sdGlwOiJab29tIG91dCIsb25jbGljazpDfV19KSxVPW5ldyBmKHt0eXBlOiJjb250YWluZXIiLGxheW91dDoiZmxleCIsZGlyZWN0aW9uOiJyb3ciLGFsaWduOiJzdHJldGNoIixmbGV4OjEsaXRlbXM6W1QsU119KSxmYT1bTSxQLFEsUixOLFYsVyxYLFksWiwkLF8sYWEsYmEsY2EsZGEsZWFdLEw9ZC5jcmVhdGUoIndpbmRvdyIse2xheW91dDoiZmxleCIsZGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduOiJzdHJldGNoIixtaW5XaWR0aDpNYXRoLm1pbihhLkRPTS5nZXRWaWV3UG9ydCgpLncsODAwKSxtaW5IZWlnaHQ6TWF0aC5taW4oYS5ET00uZ2V0Vmlld1BvcnQoKS5oLDY1MCksdGl0bGU6IkVkaXQgaW1hZ2UiLGl0ZW1zOmZhLmNvbmNhdChbVV0pLGJ1dHRvbnM6W3t0ZXh0OiJTYXZlIixuYW1lOiJzYXZlIixzdWJ0eXBlOiJwcmltYXJ5IixvbmNsaWNrOkZ9LHt0ZXh0OiJDYW5jZWwiLG9uY2xpY2s6ImNsb3NlIn1dfSksTC5yZW5kZXJUbyhkb2N1bWVudC5ib2R5KS5yZWZsb3coKSxMLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXtuKCksbShrYS5kYXRhKSxrYT1udWxsLE89bnVsbH0pLGthLmFkZChjKSxxKCksUy5vbigibG9hZCIsZnVuY3Rpb24oKXtnYT1TLmltYWdlU2l6ZSgpLncsaGE9Uy5pbWFnZVNpemUoKS5oLGlhPWhhL2dhLGphPWdhL2hhLEwuZmluZCgiI3ciKS52YWx1ZShnYSksTC5maW5kKCIjaCIpLnZhbHVlKGhhKX0pLFMub24oImNyb3AiLHcpfWZ1bmN0aW9uIG8oYSl7cmV0dXJuIG5ldyBjKGZ1bmN0aW9uKGIsYyl7bihrKGEpLGIsYyl9KX1yZXR1cm57ZWRpdDpvfX0pLGcoIjAiLFsiMSIsIjIiLCIzIiwiNCIsIjUiLCI2IiwiNyIsIjgiLCI5Il0sZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGkpe3ZhciBqPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGooYil7ZnVuY3Rpb24gYyhhKXtyZXR1cm4gYS5pbmRleE9mKCJweCIpPT1hLmxlbmd0aC0yfXZhciBkLGU7cmV0dXJuIGQ9Yi5zdHlsZS53aWR0aCxlPWIuc3R5bGUuaGVpZ2h0LGR8fGU/YyhkKSYmYyhlKT97dzpwYXJzZUludChkLDEwKSxoOnBhcnNlSW50KGUsMTApfTpudWxsOihkPWEuJChiKS5hdHRyKCJ3aWR0aCIpLGU9YS4kKGIpLmF0dHIoImhlaWdodCIpLGQmJmU/e3c6cGFyc2VJbnQoZCwxMCksaDpwYXJzZUludChlLDEwKX06bnVsbCl9ZnVuY3Rpb24gayhiLGMpe3ZhciBkLGU7YyYmKGQ9Yi5zdHlsZS53aWR0aCxlPWIuc3R5bGUuaGVpZ2h0LChkfHxlKSYmYS4kKGIpLmNzcyh7d2lkdGg6Yy53LGhlaWdodDpjLmh9KS5yZW1vdmVBdHRyKCJkYXRhLW1jZS1zdHlsZSIpLGQ9Yi53aWR0aCxlPWIuaGVpZ2h0LChkfHxlKSYmYS4kKGIpLmF0dHIoe3dpZHRoOmMudyxoZWlnaHQ6Yy5ofSkpfWZ1bmN0aW9uIGwoYSl7cmV0dXJue3c6YS5uYXR1cmFsV2lkdGgsaDphLm5hdHVyYWxIZWlnaHR9fWZ1bmN0aW9uIG0oKXtyZXR1cm4gYS5zZWxlY3Rpb24uZ2V0Tm9kZSgpfWZ1bmN0aW9uIG4oKXtyZXR1cm4iaW1hZ2V0b29scyIrSCsrfWZ1bmN0aW9uIG8oYil7dmFyIGM9Yi5zcmM7cmV0dXJuIDA9PT1jLmluZGV4T2YoImRhdGE6Iil8fDA9PT1jLmluZGV4T2YoImJsb2I6Iil8fG5ldyBkKGMpLmhvc3Q9PT1hLmRvY3VtZW50QmFzZVVSSS5ob3N0fWZ1bmN0aW9uIHAoYil7cmV0dXJuLTEhPT1lLmluQXJyYXkoYS5zZXR0aW5ncy5pbWFnZXRvb2xzX2NvcnNfaG9zdHMsbmV3IGQoYi5zcmMpLmhvc3QpfWZ1bmN0aW9uIHEoKXtyZXR1cm4gYS5zZXR0aW5ncy5hcGlfa2V5fHxhLnNldHRpbmdzLmltYWdldG9vbHNfYXBpX2tleX1mdW5jdGlvbiByKGEpe3JldHVybiBuZXcgYyhmdW5jdGlvbihiKXt2YXIgYyxkO2M9bmV3IFhNTEh0dHBSZXF1ZXN0LGMub25sb2FkPWZ1bmN0aW9uKCl7Yih0aGlzLnJlc3BvbnNlKX0sYy5vcGVuKCJHRVQiLGEsITApLGQ9cSgpLGQmJihjLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpLGMuc2V0UmVxdWVzdEhlYWRlcigidGlueS1hcGkta2V5IixkKSksYy5yZXNwb25zZVR5cGU9ImJsb2IiLGMuc2VuZCgpfSl9ZnVuY3Rpb24gcyhiKXt2YXIgYz1iLnNyYztpZihwKGIpKXJldHVybiByKGIuc3JjKTtpZighbyhiKSl7aWYoYz1hLnNldHRpbmdzLmltYWdldG9vbHNfcHJveHksYys9KC0xPT09Yy5pbmRleE9mKCI/Iik/Ij8iOiImIikrInVybD0iK2VuY29kZVVSSUNvbXBvbmVudChiLnNyYykscSgpKXJldHVybiByKGMpO2I9bmV3IEltYWdlLGIuc3JjPWN9cmV0dXJuIGguaW1hZ2VUb0Jsb2IoYil9ZnVuY3Rpb24gdCgpe3ZhciBiO3JldHVybiBiPWEuZWRpdG9yVXBsb2FkLmJsb2JDYWNoZS5nZXRCeVVyaShtKCkuc3JjKSxiP2I6cyhtKCkpLnRoZW4oZnVuY3Rpb24oYil7cmV0dXJuIGguYmxvYlRvQmFzZTY0KGIpLnRoZW4oZnVuY3Rpb24oYyl7dmFyIGQ9YS5lZGl0b3JVcGxvYWQuYmxvYkNhY2hlLGU9ZC5jcmVhdGUobigpLGIsYyk7cmV0dXJuIGQuYWRkKGUpLGV9KX0pfWZ1bmN0aW9uIHUoKXtGPWYuc2V0RWRpdG9yVGltZW91dChhLGZ1bmN0aW9uKCl7YS5lZGl0b3JVcGxvYWQudXBsb2FkSW1hZ2VzQXV0bygpfSwzZTQpfWZ1bmN0aW9uIHYoKXtjbGVhclRpbWVvdXQoRil9ZnVuY3Rpb24gdyhiLGMpe3JldHVybiBoLmJsb2JUb0RhdGFVcmkoYikudGhlbihmdW5jdGlvbihlKXt2YXIgZixnLGgsaSxqO3JldHVybiBqPW0oKSxmPW4oKSxoPWEuZWRpdG9yVXBsb2FkLmJsb2JDYWNoZSxnPWQucGFyc2VEYXRhVXJpKGUpLmRhdGEsaT1oLmNyZWF0ZShmLGIsZyksaC5hZGQoaSksYS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXthLiQoaikub2ZmKCJsb2FkIixiKSxhLm5vZGVDaGFuZ2VkKCksYz9hLmVkaXRvclVwbG9hZC51cGxvYWRJbWFnZXNBdXRvKCk6KHYoKSx1KCkpfWEuJChqKS5vbigibG9hZCIsYiksYS4kKGopLmF0dHIoe3NyYzppLmJsb2JVcmkoKX0pLnJlbW92ZUF0dHIoImRhdGEtbWNlLXNyYyIpfSksaX0pfWZ1bmN0aW9uIHgoYil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuX3NjYW5Gb3JJbWFnZXMoKS50aGVuKHQpLnRoZW4oYikudGhlbih3KX19ZnVuY3Rpb24geShhKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4geChmdW5jdGlvbihiKXt2YXIgYz1qKG0oKSk7cmV0dXJuIGMmJmsobSgpLHt3OmMuaCxoOmMud30pLGcucm90YXRlKGIuYmxvYigpLGEpfSkoKX19ZnVuY3Rpb24geihhKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4geChmdW5jdGlvbihiKXtyZXR1cm4gZy5mbGlwKGIuYmxvYigpLGEpfSkoKX19ZnVuY3Rpb24gQSgpe3ZhciBhPW0oKSxiPWwoYSk7YSYmcyhhKS50aGVuKGkuZWRpdCkudGhlbihmdW5jdGlvbihkKXtyZXR1cm4gbmV3IGMoZnVuY3Rpb24oYyl7aC5ibG9iVG9JbWFnZShkKS50aGVuKGZ1bmN0aW9uKGUpe3ZhciBmPWwoZSk7Yi53PT1mLncmJmIuaD09Zi5ofHxqKGEpJiZrKGEsZiksVVJMLnJldm9rZU9iamVjdFVSTChlLnNyYyksYyhkKX0pfSl9KS50aGVuKGZ1bmN0aW9uKGEpe3coYSwhMCl9LGZ1bmN0aW9uKCl7fSl9ZnVuY3Rpb24gQigpe2EuYWRkQnV0dG9uKCJyb3RhdGVsZWZ0Iix7dGl0bGU6IlJvdGF0ZSBjb3VudGVyY2xvY2t3aXNlIixvbmNsaWNrOnkoLTkwKX0pLGEuYWRkQnV0dG9uKCJyb3RhdGVyaWdodCIse3RpdGxlOiJSb3RhdGUgY2xvY2t3aXNlIixvbmNsaWNrOnkoOTApfSksYS5hZGRCdXR0b24oImZsaXB2Iix7dGl0bGU6IkZsaXAgdmVydGljYWxseSIsb25jbGljazp6KCJ2Iil9KSxhLmFkZEJ1dHRvbigiZmxpcGgiLHt0aXRsZToiRmxpcCBob3Jpem9udGFsbHkiLG9uY2xpY2s6eigiaCIpfSksYS5hZGRCdXR0b24oImVkaXRpbWFnZSIse3RpdGxlOiJFZGl0IGltYWdlIixvbmNsaWNrOkF9KSxhLmFkZEJ1dHRvbigiaW1hZ2VvcHRpb25zIix7dGl0bGU6IkltYWdlIG9wdGlvbnMiLGljb246Im9wdGlvbnMiLGNtZDoibWNlSW1hZ2UifSl9ZnVuY3Rpb24gQygpe2Eub24oIk5vZGVDaGFuZ2UiLGZ1bmN0aW9uKGIpe0cmJkcuc3JjIT1iLmVsZW1lbnQuc3JjJiYodigpLGEuZWRpdG9yVXBsb2FkLnVwbG9hZEltYWdlc0F1dG8oKSxHPXZvaWQgMCksRChiLmVsZW1lbnQpJiYoRz1iLmVsZW1lbnQpfSl9ZnVuY3Rpb24gRChiKXt2YXIgYz1hLmRvbS5pcyhiLCJpbWc6bm90KFtkYXRhLW1jZS1vYmplY3RdLFtkYXRhLW1jZS1wbGFjZWhvbGRlcl0pIik7cmV0dXJuIGMmJihvKGIpfHxwKGIpfHxhLnNldHRpbmdzLmltYWdldG9vbHNfcHJveHkpfWZ1bmN0aW9uIEUoKXt2YXIgYj1hLnNldHRpbmdzLmltYWdldG9vbHNfdG9vbGJhcjtifHwoYj0icm90YXRlbGVmdCByb3RhdGVyaWdodCB8IGZsaXB2IGZsaXBoIHwgY3JvcCBlZGl0aW1hZ2UgaW1hZ2VvcHRpb25zIiksYS5hZGRDb250ZXh0VG9vbGJhcihELGIpfXZhciBGLEcsSD0wO2IuZmlsZUFwaSYmKEIoKSxFKCksQygpLGEuYWRkQ29tbWFuZCgibWNlRWRpdEltYWdlIixBKSl9O3JldHVybiBhLmFkZCgiaW1hZ2V0b29scyIsaiksZnVuY3Rpb24oKXt9fSksZCgiMCIpKCl9KCk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/importcss/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/importcss/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/importcss/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiaW1wb3J0Y3NzIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGEpe3ZhciBiPXRpbnltY2UuRW52LmNhY2hlU3VmZml4O3JldHVybiJzdHJpbmciPT10eXBlb2YgYSYmKGE9YS5yZXBsYWNlKCI/IitiLCIiKS5yZXBsYWNlKCImIitiLCIiKSksYX1mdW5jdGlvbiBjKGIpe3ZhciBjPWEuc2V0dGluZ3MsZD1jLnNraW4hPT0hMT9jLnNraW58fCJsaWdodGdyYXkiOiExO2lmKGQpe3ZhciBlPWMuc2tpbl91cmw7cmV0dXJuIGU9ZT9hLmRvY3VtZW50QmFzZVVSSS50b0Fic29sdXRlKGUpOnRpbnltY2UuYmFzZVVSTCsiL3NraW5zLyIrZCxiPT09ZSsiL2NvbnRlbnQiKyhhLmlubGluZT8iLmlubGluZSI6IiIpKyIubWluLmNzcyJ9cmV0dXJuITF9ZnVuY3Rpb24gZChhKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGE/ZnVuY3Rpb24oYil7cmV0dXJuLTEhPT1iLmluZGV4T2YoYSl9OmEgaW5zdGFuY2VvZiBSZWdFeHA/ZnVuY3Rpb24oYil7cmV0dXJuIGEudGVzdChiKX06YX1mdW5jdGlvbiBlKGQsZSl7ZnVuY3Rpb24gZihhLGQpe3ZhciBpLGo9YS5ocmVmO2lmKGo9YihqKSxqJiZlKGosZCkmJiFjKGopKXtoKGEuaW1wb3J0cyxmdW5jdGlvbihhKXtmKGEsITApfSk7dHJ5e2k9YS5jc3NSdWxlc3x8YS5ydWxlc31jYXRjaChrKXt9aChpLGZ1bmN0aW9uKGEpe2Euc3R5bGVTaGVldD9mKGEuc3R5bGVTaGVldCwhMCk6YS5zZWxlY3RvclRleHQmJmgoYS5zZWxlY3RvclRleHQuc3BsaXQoIiwiKSxmdW5jdGlvbihhKXtnLnB1c2godGlueW1jZS50cmltKGEpKX0pfSl9fXZhciBnPVtdLGk9e307aChhLmNvbnRlbnRDU1MsZnVuY3Rpb24oYSl7aVthXT0hMH0pLGV8fChlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGJ8fGlbYV19KTt0cnl7aChkLnN0eWxlU2hlZXRzLGZ1bmN0aW9uKGEpe2YoYSl9KX1jYXRjaChqKXt9cmV0dXJuIGd9ZnVuY3Rpb24gZihiKXt2YXIgYyxkPS9eKD86KFthLXowLTlcLV9dKykpPyhcLlthLXowLTlfXC1cLl0rKSQvaS5leGVjKGIpO2lmKGQpe3ZhciBlPWRbMV0sZj1kWzJdLnN1YnN0cigxKS5zcGxpdCgiLiIpLmpvaW4oIiAiKSxnPXRpbnltY2UubWFrZU1hcCgiYSxpbWciKTtyZXR1cm4gZFsxXT8oYz17dGl0bGU6Yn0sYS5zY2hlbWEuZ2V0VGV4dEJsb2NrRWxlbWVudHMoKVtlXT9jLmJsb2NrPWU6YS5zY2hlbWEuZ2V0QmxvY2tFbGVtZW50cygpW2VdfHxnW2UudG9Mb3dlckNhc2UoKV0/Yy5zZWxlY3Rvcj1lOmMuaW5saW5lPWUpOmRbMl0mJihjPXtpbmxpbmU6InNwYW4iLHRpdGxlOmIuc3Vic3RyKDEpLGNsYXNzZXM6Zn0pLGEuc2V0dGluZ3MuaW1wb3J0Y3NzX21lcmdlX2NsYXNzZXMhPT0hMT9jLmNsYXNzZXM9ZjpjLmF0dHJpYnV0ZXM9eyJjbGFzcyI6Zn0sY319dmFyIGc9dGhpcyxoPXRpbnltY2UuZWFjaDthLm9uKCJyZW5kZXJGb3JtYXRzTWVudSIsZnVuY3Rpb24oYil7dmFyIGM9YS5zZXR0aW5ncyxpPXt9LGo9Yy5pbXBvcnRjc3Nfc2VsZWN0b3JfY29udmVydGVyfHxmLGs9ZChjLmltcG9ydGNzc19zZWxlY3Rvcl9maWx0ZXIpLGw9Yi5jb250cm9sO2Euc2V0dGluZ3MuaW1wb3J0Y3NzX2FwcGVuZHx8bC5pdGVtcygpLnJlbW92ZSgpO3ZhciBtPVtdO3RpbnltY2UuZWFjaChjLmltcG9ydGNzc19ncm91cHMsZnVuY3Rpb24oYSl7YT10aW55bWNlLmV4dGVuZCh7fSxhKSxhLmZpbHRlcj1kKGEuZmlsdGVyKSxtLnB1c2goYSl9KSxoKGUoYi5kb2N8fGEuZ2V0RG9jKCksZChjLmltcG9ydGNzc19maWxlX2ZpbHRlcikpLGZ1bmN0aW9uKGIpe2lmKC0xPT09Yi5pbmRleE9mKCIubWNlLSIpJiYhaVtiXSYmKCFrfHxrKGIpKSl7dmFyIGMsZD1qLmNhbGwoZyxiKTtpZihkKXt2YXIgZT1kLm5hbWV8fHRpbnltY2UuRE9NLnVuaXF1ZUlkKCk7aWYobSlmb3IodmFyIGY9MDtmPG0ubGVuZ3RoO2YrKylpZighbVtmXS5maWx0ZXJ8fG1bZl0uZmlsdGVyKGIpKXttW2ZdLml0ZW18fChtW2ZdLml0ZW09e3RleHQ6bVtmXS50aXRsZSxtZW51OltdfSksYz1tW2ZdLml0ZW0ubWVudTticmVha31hLmZvcm1hdHRlci5yZWdpc3RlcihlLGQpO3ZhciBoPXRpbnltY2UuZXh0ZW5kKHt9LGwuc2V0dGluZ3MuaXRlbURlZmF1bHRzLHt0ZXh0OmQudGl0bGUsZm9ybWF0OmV9KTtjP2MucHVzaChoKTpsLmFkZChoKX1pW2JdPSEwfX0pLGgobSxmdW5jdGlvbihhKXtsLmFkZChhLml0ZW0pfSksYi5jb250cm9sLnJlbmRlck5ldygpfSksZy5jb252ZXJ0U2VsZWN0b3JUb0Zvcm1hdD1mfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/insertdatetime/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/insertdatetime/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/insertdatetime/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiaW5zZXJ0ZGF0ZXRpbWUiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYixjKXtmdW5jdGlvbiBkKGEsYil7aWYoYT0iIithLGEubGVuZ3RoPGIpZm9yKHZhciBjPTA7YzxiLWEubGVuZ3RoO2MrKylhPSIwIithO3JldHVybiBhfXJldHVybiBjPWN8fG5ldyBEYXRlLGI9Yi5yZXBsYWNlKCIlRCIsIiVtLyVkLyVZIiksYj1iLnJlcGxhY2UoIiVyIiwiJUk6JU06JVMgJXAiKSxiPWIucmVwbGFjZSgiJVkiLCIiK2MuZ2V0RnVsbFllYXIoKSksYj1iLnJlcGxhY2UoIiV5IiwiIitjLmdldFllYXIoKSksYj1iLnJlcGxhY2UoIiVtIixkKGMuZ2V0TW9udGgoKSsxLDIpKSxiPWIucmVwbGFjZSgiJWQiLGQoYy5nZXREYXRlKCksMikpLGI9Yi5yZXBsYWNlKCIlSCIsIiIrZChjLmdldEhvdXJzKCksMikpLGI9Yi5yZXBsYWNlKCIlTSIsIiIrZChjLmdldE1pbnV0ZXMoKSwyKSksYj1iLnJlcGxhY2UoIiVTIiwiIitkKGMuZ2V0U2Vjb25kcygpLDIpKSxiPWIucmVwbGFjZSgiJUkiLCIiKygoYy5nZXRIb3VycygpKzExKSUxMisxKSksYj1iLnJlcGxhY2UoIiVwIiwiIisoYy5nZXRIb3VycygpPDEyPyJBTSI6IlBNIikpLGI9Yi5yZXBsYWNlKCIlQiIsIiIrYS50cmFuc2xhdGUoaVtjLmdldE1vbnRoKCldKSksYj1iLnJlcGxhY2UoIiViIiwiIithLnRyYW5zbGF0ZShoW2MuZ2V0TW9udGgoKV0pKSxiPWIucmVwbGFjZSgiJUEiLCIiK2EudHJhbnNsYXRlKGdbYy5nZXREYXkoKV0pKSxiPWIucmVwbGFjZSgiJWEiLCIiK2EudHJhbnNsYXRlKGZbYy5nZXREYXkoKV0pKSxiPWIucmVwbGFjZSgiJSUiLCIlIil9ZnVuY3Rpb24gYyhjKXt2YXIgZD1iKGMpO2lmKGEuc2V0dGluZ3MuaW5zZXJ0ZGF0ZXRpbWVfZWxlbWVudCl7dmFyIGU7ZT1iKC8lW0hNU0lwXS8udGVzdChjKT8iJVktJW0tJWRUJUg6JU0iOiIlWS0lbS0lZCIpLGQ9Jzx0aW1lIGRhdGV0aW1lPSInK2UrJyI+JytkKyI8L3RpbWU+Ijt2YXIgZj1hLmRvbS5nZXRQYXJlbnQoYS5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwidGltZSIpO2lmKGYpcmV0dXJuIHZvaWQgYS5kb20uc2V0T3V0ZXJIVE1MKGYsZCl9YS5pbnNlcnRDb250ZW50KGQpfXZhciBkLGUsZj0iU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biIuc3BsaXQoIiAiKSxnPSJTdW5kYXkgTW9uZGF5IFR1ZXNkYXkgV2VkbmVzZGF5IFRodXJzZGF5IEZyaWRheSBTYXR1cmRheSBTdW5kYXkiLnNwbGl0KCIgIiksaD0iSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksaT0iSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKSxqPVtdO2EuYWRkQ29tbWFuZCgibWNlSW5zZXJ0RGF0ZSIsZnVuY3Rpb24oKXtjKGEuZ2V0UGFyYW0oImluc2VydGRhdGV0aW1lX2RhdGVmb3JtYXQiLGEudHJhbnNsYXRlKCIlWS0lbS0lZCIpKSl9KSxhLmFkZENvbW1hbmQoIm1jZUluc2VydFRpbWUiLGZ1bmN0aW9uKCl7YyhhLmdldFBhcmFtKCJpbnNlcnRkYXRldGltZV90aW1lZm9ybWF0IixhLnRyYW5zbGF0ZSgiJUg6JU06JVMiKSkpfSksYS5hZGRCdXR0b24oImluc2VydGRhdGV0aW1lIix7dHlwZToic3BsaXRidXR0b24iLHRpdGxlOiJJbnNlcnQgZGF0ZS90aW1lIixvbmNsaWNrOmZ1bmN0aW9uKCl7YyhkfHxlKX0sbWVudTpqfSksdGlueW1jZS5lYWNoKGEuc2V0dGluZ3MuaW5zZXJ0ZGF0ZXRpbWVfZm9ybWF0c3x8WyIlSDolTTolUyIsIiVZLSVtLSVkIiwiJUk6JU06JVMgJXAiLCIlRCJdLGZ1bmN0aW9uKGEpe2V8fChlPWEpLGoucHVzaCh7dGV4dDpiKGEpLG9uY2xpY2s6ZnVuY3Rpb24oKXtkPWEsYyhhKX19KX0pLGEuYWRkTWVudUl0ZW0oImluc2VydGRhdGV0aW1lIix7aWNvbjoiZGF0ZSIsdGV4dDoiSW5zZXJ0IGRhdGUvdGltZSIsbWVudTpqLGNvbnRleHQ6Imluc2VydCJ9KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/layer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/layer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/layer/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgibGF5ZXIiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSl7ZG8gaWYoYS5jbGFzc05hbWUmJi0xIT1hLmNsYXNzTmFtZS5pbmRleE9mKCJtY2VJdGVtTGF5ZXIiKSlyZXR1cm4gYTt3aGlsZShhPWEucGFyZW50Tm9kZSl9ZnVuY3Rpb24gYyhiKXt2YXIgYz1hLmRvbTt0aW55bWNlLmVhY2goYy5zZWxlY3QoImRpdixwIixiKSxmdW5jdGlvbihhKXsvXihhYnNvbHV0ZXxyZWxhdGl2ZXxmaXhlZCkkL2kudGVzdChhLnN0eWxlLnBvc2l0aW9uKSYmKGEuaGFzVmlzdWFsP2MuYWRkQ2xhc3MoYSwibWNlSXRlbVZpc3VhbEFpZCIpOmMucmVtb3ZlQ2xhc3MoYSwibWNlSXRlbVZpc3VhbEFpZCIpLGMuYWRkQ2xhc3MoYSwibWNlSXRlbUxheWVyIikpfSl9ZnVuY3Rpb24gZChjKXt2YXIgZCxlLGY9W10sZz1iKGEuc2VsZWN0aW9uLmdldE5vZGUoKSksaD0tMSxpPS0xO2ZvcihlPVtdLHRpbnltY2Uud2FsayhhLmdldEJvZHkoKSxmdW5jdGlvbihhKXsxPT1hLm5vZGVUeXBlJiYvXihhYnNvbHV0ZXxyZWxhdGl2ZXxzdGF0aWMpJC9pLnRlc3QoYS5zdHlsZS5wb3NpdGlvbikmJmUucHVzaChhKX0sImNoaWxkTm9kZXMiKSxkPTA7ZDxlLmxlbmd0aDtkKyspZltkXT1lW2RdLnN0eWxlLnpJbmRleD9wYXJzZUludChlW2RdLnN0eWxlLnpJbmRleCwxMCk6MCwwPmgmJmVbZF09PWcmJihoPWQpO2lmKDA+Yyl7Zm9yKGQ9MDtkPGYubGVuZ3RoO2QrKylpZihmW2RdPGZbaF0pe2k9ZDticmVha31pPi0xPyhlW2hdLnN0eWxlLnpJbmRleD1mW2ldLGVbaV0uc3R5bGUuekluZGV4PWZbaF0pOmZbaF0+MCYmKGVbaF0uc3R5bGUuekluZGV4PWZbaF0tMSl9ZWxzZXtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKWlmKGZbZF0+ZltoXSl7aT1kO2JyZWFrfWk+LTE/KGVbaF0uc3R5bGUuekluZGV4PWZbaV0sZVtpXS5zdHlsZS56SW5kZXg9ZltoXSk6ZVtoXS5zdHlsZS56SW5kZXg9ZltoXSsxfWEuZXhlY0NvbW1hbmQoIm1jZVJlcGFpbnQiKX1mdW5jdGlvbiBlKCl7dmFyIGI9YS5kb20sYz1iLmdldFBvcyhiLmdldFBhcmVudChhLnNlbGVjdGlvbi5nZXROb2RlKCksIioiKSksZD1hLmdldEJvZHkoKTthLmRvbS5hZGQoZCwiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpjLngsdG9wOmMueT4yMD9jLnk6MjAsd2lkdGg6MTAwLGhlaWdodDoxMDB9LCJjbGFzcyI6Im1jZUl0ZW1WaXN1YWxBaWQgbWNlSXRlbUxheWVyIn0sYS5zZWxlY3Rpb24uZ2V0Q29udGVudCgpfHxhLmdldExhbmcoImxheWVyLmNvbnRlbnQiKSksdGlueW1jZS5FbnYuaWUmJmIuc2V0SFRNTChkLGQuaW5uZXJIVE1MKX1mdW5jdGlvbiBmKCl7dmFyIGM9YihhLnNlbGVjdGlvbi5nZXROb2RlKCkpO2N8fChjPWEuZG9tLmdldFBhcmVudChhLnNlbGVjdGlvbi5nZXROb2RlKCksIkRJVixQLElNRyIpKSxjJiYoImFic29sdXRlIj09Yy5zdHlsZS5wb3NpdGlvbi50b0xvd2VyQ2FzZSgpPyhhLmRvbS5zZXRTdHlsZXMoYyx7cG9zaXRpb246IiIsbGVmdDoiIix0b3A6IiIsd2lkdGg6IiIsaGVpZ2h0OiIifSksYS5kb20ucmVtb3ZlQ2xhc3MoYywibWNlSXRlbVZpc3VhbEFpZCIpLGEuZG9tLnJlbW92ZUNsYXNzKGMsIm1jZUl0ZW1MYXllciIpKTooYy5zdHlsZS5sZWZ0fHwoYy5zdHlsZS5sZWZ0PSIyMHB4IiksYy5zdHlsZS50b3B8fChjLnN0eWxlLnRvcD0iMjBweCIpLGMuc3R5bGUud2lkdGh8fChjLnN0eWxlLndpZHRoPWMud2lkdGg/Yy53aWR0aCsicHgiOiIxMDBweCIpLGMuc3R5bGUuaGVpZ2h0fHwoYy5zdHlsZS5oZWlnaHQ9Yy5oZWlnaHQ/Yy5oZWlnaHQrInB4IjoiMTAwcHgiKSxjLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsYS5kb20uc2V0QXR0cmliKGMsImRhdGEtbWNlLXN0eWxlIiwiIiksYS5hZGRWaXN1YWwoYS5nZXRCb2R5KCkpKSxhLmV4ZWNDb21tYW5kKCJtY2VSZXBhaW50IiksYS5ub2RlQ2hhbmdlZCgpKX1hLmFkZENvbW1hbmQoIm1jZUluc2VydExheWVyIixlKSxhLmFkZENvbW1hbmQoIm1jZU1vdmVGb3J3YXJkIixmdW5jdGlvbigpe2QoMSl9KSxhLmFkZENvbW1hbmQoIm1jZU1vdmVCYWNrd2FyZCIsZnVuY3Rpb24oKXtkKC0xKX0pLGEuYWRkQ29tbWFuZCgibWNlTWFrZUFic29sdXRlIixmdW5jdGlvbigpe2YoKX0pLGEuYWRkQnV0dG9uKCJtb3ZlZm9yd2FyZCIse3RpdGxlOiJsYXllci5mb3J3YXJkX2Rlc2MiLGNtZDoibWNlTW92ZUZvcndhcmQifSksYS5hZGRCdXR0b24oIm1vdmViYWNrd2FyZCIse3RpdGxlOiJsYXllci5iYWNrd2FyZF9kZXNjIixjbWQ6Im1jZU1vdmVCYWNrd2FyZCJ9KSxhLmFkZEJ1dHRvbigiYWJzb2x1dGUiLHt0aXRsZToibGF5ZXIuYWJzb2x1dGVfZGVzYyIsY21kOiJtY2VNYWtlQWJzb2x1dGUifSksYS5hZGRCdXR0b24oImluc2VydGxheWVyIix7dGl0bGU6ImxheWVyLmluc2VydGxheWVyX2Rlc2MiLGNtZDoibWNlSW5zZXJ0TGF5ZXIifSksYS5vbigiaW5pdCIsZnVuY3Rpb24oKXt0aW55bWNlLkVudi5pZSYmYS5nZXREb2MoKS5leGVjQ29tbWFuZCgiMkQtUG9zaXRpb24iLCExLCEwKX0pLGEub24oIm1vdXNldXAiLGZ1bmN0aW9uKGMpe3ZhciBkPWIoYy50YXJnZXQpO2QmJmEuZG9tLnNldEF0dHJpYihkLCJkYXRhLW1jZS1zdHlsZSIsIiIpfSksYS5vbigibW91c2Vkb3duIixmdW5jdGlvbihjKXt2YXIgZCxlPWMudGFyZ2V0LGY9YS5nZXREb2MoKTt0aW55bWNlLkVudi5nZWNrbyYmKGIoZSk/Im9uIiE9PWYuZGVzaWduTW9kZSYmKGYuZGVzaWduTW9kZT0ib24iLGU9Zi5ib2R5LGQ9ZS5wYXJlbnROb2RlLGQucmVtb3ZlQ2hpbGQoZSksZC5hcHBlbmRDaGlsZChlKSk6Im9uIj09Zi5kZXNpZ25Nb2RlJiYoZi5kZXNpZ25Nb2RlPSJvZmYiKSl9KSxhLm9uKCJOb2RlQ2hhbmdlIixjKX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/legacyoutput/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/legacyoutput/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/legacyoutput/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGEpe2Eub24oIkFkZEVkaXRvciIsZnVuY3Rpb24oYSl7YS5lZGl0b3Iuc2V0dGluZ3MuaW5saW5lX3N0eWxlcz0hMX0pLGEuUGx1Z2luTWFuYWdlci5hZGQoImxlZ2FjeW91dHB1dCIsZnVuY3Rpb24oYixjLGQpe2Iub24oImluaXQiLGZ1bmN0aW9uKCl7dmFyIGM9InAsaDEsaDIsaDMsaDQsaDUsaDYsdGQsdGgsZGl2LHVsLG9sLGxpLHRhYmxlLGltZyIsZD1hLmV4cGxvZGUoYi5zZXR0aW5ncy5mb250X3NpemVfc3R5bGVfdmFsdWVzKSxlPWIuc2NoZW1hO2IuZm9ybWF0dGVyLnJlZ2lzdGVyKHthbGlnbmxlZnQ6e3NlbGVjdG9yOmMsYXR0cmlidXRlczp7YWxpZ246ImxlZnQifX0sYWxpZ25jZW50ZXI6e3NlbGVjdG9yOmMsYXR0cmlidXRlczp7YWxpZ246ImNlbnRlciJ9fSxhbGlnbnJpZ2h0OntzZWxlY3RvcjpjLGF0dHJpYnV0ZXM6e2FsaWduOiJyaWdodCJ9fSxhbGlnbmp1c3RpZnk6e3NlbGVjdG9yOmMsYXR0cmlidXRlczp7YWxpZ246Imp1c3RpZnkifX0sYm9sZDpbe2lubGluZToiYiIscmVtb3ZlOiJhbGwifSx7aW5saW5lOiJzdHJvbmciLHJlbW92ZToiYWxsIn0se2lubGluZToic3BhbiIsc3R5bGVzOntmb250V2VpZ2h0OiJib2xkIn19XSxpdGFsaWM6W3tpbmxpbmU6ImkiLHJlbW92ZToiYWxsIn0se2lubGluZToiZW0iLHJlbW92ZToiYWxsIn0se2lubGluZToic3BhbiIsc3R5bGVzOntmb250U3R5bGU6Iml0YWxpYyJ9fV0sdW5kZXJsaW5lOlt7aW5saW5lOiJ1IixyZW1vdmU6ImFsbCJ9LHtpbmxpbmU6InNwYW4iLHN0eWxlczp7dGV4dERlY29yYXRpb246InVuZGVybGluZSJ9LGV4YWN0OiEwfV0sc3RyaWtldGhyb3VnaDpbe2lubGluZToic3RyaWtlIixyZW1vdmU6ImFsbCJ9LHtpbmxpbmU6InNwYW4iLHN0eWxlczp7dGV4dERlY29yYXRpb246ImxpbmUtdGhyb3VnaCJ9LGV4YWN0OiEwfV0sZm9udG5hbWU6e2lubGluZToiZm9udCIsYXR0cmlidXRlczp7ZmFjZToiJXZhbHVlIn19LGZvbnRzaXplOntpbmxpbmU6ImZvbnQiLGF0dHJpYnV0ZXM6e3NpemU6ZnVuY3Rpb24oYil7cmV0dXJuIGEuaW5BcnJheShkLGIudmFsdWUpKzF9fX0sZm9yZWNvbG9yOntpbmxpbmU6ImZvbnQiLGF0dHJpYnV0ZXM6e2NvbG9yOiIldmFsdWUifX0saGlsaXRlY29sb3I6e2lubGluZToiZm9udCIsc3R5bGVzOntiYWNrZ3JvdW5kQ29sb3I6IiV2YWx1ZSJ9fX0pLGEuZWFjaCgiYixpLHUsc3RyaWtlIi5zcGxpdCgiLCIpLGZ1bmN0aW9uKGEpe2UuYWRkVmFsaWRFbGVtZW50cyhhKyJbKl0iKX0pLGUuZ2V0RWxlbWVudFJ1bGUoImZvbnQiKXx8ZS5hZGRWYWxpZEVsZW1lbnRzKCJmb250W2ZhY2V8c2l6ZXxjb2xvcnxzdHlsZV0iKSxhLmVhY2goYy5zcGxpdCgiLCIpLGZ1bmN0aW9uKGEpe3ZhciBiPWUuZ2V0RWxlbWVudFJ1bGUoYSk7YiYmKGIuYXR0cmlidXRlcy5hbGlnbnx8KGIuYXR0cmlidXRlcy5hbGlnbj17fSxiLmF0dHJpYnV0ZXNPcmRlci5wdXNoKCJhbGlnbiIpKSl9KX0pLGIuYWRkQnV0dG9uKCJmb250c2l6ZXNlbGVjdCIsZnVuY3Rpb24oKXt2YXIgYT1bXSxjPSI4cHQ9MSAxMHB0PTIgMTJwdD0zIDE0cHQ9NCAxOHB0PTUgMjRwdD02IDM2cHQ9NyIsZD1iLnNldHRpbmdzLmZvbnRzaXplX2Zvcm1hdHN8fGM7cmV0dXJuIGIuJC5lYWNoKGQuc3BsaXQoIiAiKSxmdW5jdGlvbihiLGMpe3ZhciBkPWMsZT1jLGY9Yy5zcGxpdCgiPSIpO2YubGVuZ3RoPjEmJihkPWZbMF0sZT1mWzFdKSxhLnB1c2goe3RleHQ6ZCx2YWx1ZTplfSl9KSx7dHlwZToibGlzdGJveCIsdGV4dDoiRm9udCBTaXplcyIsdG9vbHRpcDoiRm9udCBTaXplcyIsdmFsdWVzOmEsZml4ZWRXaWR0aDohMCxvblBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2Iub24oIk5vZGVDaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIGM7Yz1iLmRvbS5nZXRQYXJlbnQoYi5zZWxlY3Rpb24uZ2V0Tm9kZSgpLCJmb250IiksYz9hLnZhbHVlKGMuc2l6ZSk6YS52YWx1ZSgiIil9KX0sb25jbGljazpmdW5jdGlvbihhKXthLmNvbnRyb2wuc2V0dGluZ3MudmFsdWUmJmIuZXhlY0NvbW1hbmQoIkZvbnRTaXplIiwhMSxhLmNvbnRyb2wuc2V0dGluZ3MudmFsdWUpfX19KSxiLmFkZEJ1dHRvbigiZm9udHNlbGVjdCIsZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGEpe2E9YS5yZXBsYWNlKC87JC8sIiIpLnNwbGl0KCI7Iik7Zm9yKHZhciBiPWEubGVuZ3RoO2ItLTspYVtiXT1hW2JdLnNwbGl0KCI9Iik7cmV0dXJuIGF9dmFyIGM9IkFuZGFsZSBNb25vPWFuZGFsZSBtb25vLG1vbm9zcGFjZTtBcmlhbD1hcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZjtBcmlhbCBCbGFjaz1hcmlhbCBibGFjayxzYW5zLXNlcmlmO0Jvb2sgQW50aXF1YT1ib29rIGFudGlxdWEscGFsYXRpbm8sc2VyaWY7Q29taWMgU2FucyBNUz1jb21pYyBzYW5zIG1zLHNhbnMtc2VyaWY7Q291cmllciBOZXc9Y291cmllciBuZXcsY291cmllcixtb25vc3BhY2U7R2VvcmdpYT1nZW9yZ2lhLHBhbGF0aW5vLHNlcmlmO0hlbHZldGljYT1oZWx2ZXRpY2EsYXJpYWwsc2Fucy1zZXJpZjtJbXBhY3Q9aW1wYWN0LHNhbnMtc2VyaWY7U3ltYm9sPXN5bWJvbDtUYWhvbWE9dGFob21hLGFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmO1Rlcm1pbmFsPXRlcm1pbmFsLG1vbmFjbyxtb25vc3BhY2U7VGltZXMgTmV3IFJvbWFuPXRpbWVzIG5ldyByb21hbix0aW1lcyxzZXJpZjtUcmVidWNoZXQgTVM9dHJlYnVjaGV0IG1zLGdlbmV2YSxzYW5zLXNlcmlmO1ZlcmRhbmE9dmVyZGFuYSxnZW5ldmEsc2Fucy1zZXJpZjtXZWJkaW5ncz13ZWJkaW5ncztXaW5nZGluZ3M9d2luZ2RpbmdzLHphcGYgZGluZ2JhdHMiLGU9W10sZj1hKGIuc2V0dGluZ3MuZm9udF9mb3JtYXRzfHxjKTtyZXR1cm4gZC5lYWNoKGYsZnVuY3Rpb24oYSxiKXtlLnB1c2goe3RleHQ6e3JhdzpiWzBdfSx2YWx1ZTpiWzFdLHRleHRTdHlsZTotMT09YlsxXS5pbmRleE9mKCJkaW5ncyIpPyJmb250LWZhbWlseToiK2JbMV06IiJ9KX0pLHt0eXBlOiJsaXN0Ym94Iix0ZXh0OiJGb250IEZhbWlseSIsdG9vbHRpcDoiRm9udCBGYW1pbHkiLHZhbHVlczplLGZpeGVkV2lkdGg6ITAsb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcztiLm9uKCJOb2RlQ2hhbmdlIixmdW5jdGlvbigpe3ZhciBjO2M9Yi5kb20uZ2V0UGFyZW50KGIuc2VsZWN0aW9uLmdldE5vZGUoKSwiZm9udCIpLGM/YS52YWx1ZShjLmZhY2UpOmEudmFsdWUoIiIpfSl9LG9uc2VsZWN0OmZ1bmN0aW9uKGEpe2EuY29udHJvbC5zZXR0aW5ncy52YWx1ZSYmYi5leGVjQ29tbWFuZCgiRm9udE5hbWUiLCExLGEuY29udHJvbC5zZXR0aW5ncy52YWx1ZSl9fX0pfSl9KHRpbnltY2UpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/link/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/link/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/link/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgibGluayIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihiKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYz1hLnNldHRpbmdzLmxpbmtfbGlzdDsic3RyaW5nIj09dHlwZW9mIGM/dGlueW1jZS51dGlsLlhIUi5zZW5kKHt1cmw6YyxzdWNjZXNzOmZ1bmN0aW9uKGEpe2IodGlueW1jZS51dGlsLkpTT04ucGFyc2UoYSkpfX0pOiJmdW5jdGlvbiI9PXR5cGVvZiBjP2MoYik6YihjKX19ZnVuY3Rpb24gYyhhLGIsYyl7ZnVuY3Rpb24gZChhLGMpe3JldHVybiBjPWN8fFtdLHRpbnltY2UuZWFjaChhLGZ1bmN0aW9uKGEpe3ZhciBlPXt0ZXh0OmEudGV4dHx8YS50aXRsZX07YS5tZW51P2UubWVudT1kKGEubWVudSk6KGUudmFsdWU9YS52YWx1ZSxiJiZiKGUpKSxjLnB1c2goZSl9KSxjfXJldHVybiBkKGEsY3x8W10pfWZ1bmN0aW9uIGQoYil7ZnVuY3Rpb24gZChhKXt2YXIgYj1sLmZpbmQoIiN0ZXh0Iik7KCFiLnZhbHVlKCl8fGEubGFzdENvbnRyb2wmJmIudmFsdWUoKT09YS5sYXN0Q29udHJvbC50ZXh0KCkpJiZiLnZhbHVlKGEuY29udHJvbC50ZXh0KCkpLGwuZmluZCgiI2hyZWYiKS52YWx1ZShhLmNvbnRyb2wudmFsdWUoKSl9ZnVuY3Rpb24gZShiKXt2YXIgYz1bXTtyZXR1cm4gdGlueW1jZS5lYWNoKGEuZG9tLnNlbGVjdCgiYTpub3QoW2hyZWZdKSIpLGZ1bmN0aW9uKGEpe3ZhciBkPWEubmFtZXx8YS5pZDtkJiZjLnB1c2goe3RleHQ6ZCx2YWx1ZToiIyIrZCxzZWxlY3RlZDotMSE9Yi5pbmRleE9mKCIjIitkKX0pfSksYy5sZW5ndGg/KGMudW5zaGlmdCh7dGV4dDoiTm9uZSIsdmFsdWU6IiJ9KSx7bmFtZToiYW5jaG9yIix0eXBlOiJsaXN0Ym94IixsYWJlbDoiQW5jaG9ycyIsdmFsdWVzOmMsb25zZWxlY3Q6ZH0pOnZvaWQgMH1mdW5jdGlvbiBmKCl7IWsmJjA9PT11LnRleHQubGVuZ3RoJiZtJiZ0aGlzLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoIiN0ZXh0IilbMF0udmFsdWUodGhpcy52YWx1ZSgpKX1mdW5jdGlvbiBnKGIpe3ZhciBjPWIubWV0YXx8e307byYmby52YWx1ZShhLmNvbnZlcnRVUkwodGhpcy52YWx1ZSgpLCJocmVmIikpLHRpbnltY2UuZWFjaChiLm1ldGEsZnVuY3Rpb24oYSxiKXtsLmZpbmQoIiMiK2IpLnZhbHVlKGEpfSksYy50ZXh0fHxmLmNhbGwodGhpcyl9ZnVuY3Rpb24gaChhKXt2YXIgYj12LmdldENvbnRlbnQoKTtpZigvPC8udGVzdChiKSYmKCEvXjxhIFtePl0rPltePF0rPFwvYT4kLy50ZXN0KGIpfHwtMT09Yi5pbmRleE9mKCJocmVmPSIpKSlyZXR1cm4hMTtpZihhKXt2YXIgYyxkPWEuY2hpbGROb2RlcztpZigwPT09ZC5sZW5ndGgpcmV0dXJuITE7Zm9yKGM9ZC5sZW5ndGgtMTtjPj0wO2MtLSlpZigzIT1kW2NdLm5vZGVUeXBlKXJldHVybiExfXJldHVybiEwfXZhciBpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PXt9LHY9YS5zZWxlY3Rpb24sdz1hLmRvbTtpPXYuZ2V0Tm9kZSgpLGo9dy5nZXRQYXJlbnQoaSwiYVtocmVmXSIpLG09aCgpLHUudGV4dD1rPWo/ai5pbm5lclRleHR8fGoudGV4dENvbnRlbnQ6di5nZXRDb250ZW50KHtmb3JtYXQ6InRleHQifSksdS5ocmVmPWo/dy5nZXRBdHRyaWIoaiwiaHJlZiIpOiIiLGo/dS50YXJnZXQ9dy5nZXRBdHRyaWIoaiwidGFyZ2V0Iik6YS5zZXR0aW5ncy5kZWZhdWx0X2xpbmtfdGFyZ2V0JiYodS50YXJnZXQ9YS5zZXR0aW5ncy5kZWZhdWx0X2xpbmtfdGFyZ2V0KSwodD13LmdldEF0dHJpYihqLCJyZWwiKSkmJih1LnJlbD10KSwodD13LmdldEF0dHJpYihqLCJjbGFzcyIpKSYmKHVbImNsYXNzIl09dCksKHQ9dy5nZXRBdHRyaWIoaiwidGl0bGUiKSkmJih1LnRpdGxlPXQpLG0mJihuPXtuYW1lOiJ0ZXh0Iix0eXBlOiJ0ZXh0Ym94IixzaXplOjQwLGxhYmVsOiJUZXh0IHRvIGRpc3BsYXkiLG9uY2hhbmdlOmZ1bmN0aW9uKCl7dS50ZXh0PXRoaXMudmFsdWUoKX19KSxiJiYobz17dHlwZToibGlzdGJveCIsbGFiZWw6IkxpbmsgbGlzdCIsdmFsdWVzOmMoYixmdW5jdGlvbihiKXtiLnZhbHVlPWEuY29udmVydFVSTChiLnZhbHVlfHxiLnVybCwiaHJlZiIpfSxbe3RleHQ6Ik5vbmUiLHZhbHVlOiIifV0pLG9uc2VsZWN0OmQsdmFsdWU6YS5jb252ZXJ0VVJMKHUuaHJlZiwiaHJlZiIpLG9uUG9zdFJlbmRlcjpmdW5jdGlvbigpe289dGhpc319KSxhLnNldHRpbmdzLnRhcmdldF9saXN0IT09ITEmJihhLnNldHRpbmdzLnRhcmdldF9saXN0fHwoYS5zZXR0aW5ncy50YXJnZXRfbGlzdD1be3RleHQ6Ik5vbmUiLHZhbHVlOiIifSx7dGV4dDoiTmV3IHdpbmRvdyIsdmFsdWU6Il9ibGFuayJ9XSkscT17bmFtZToidGFyZ2V0Iix0eXBlOiJsaXN0Ym94IixsYWJlbDoiVGFyZ2V0Iix2YWx1ZXM6YyhhLnNldHRpbmdzLnRhcmdldF9saXN0KX0pLGEuc2V0dGluZ3MucmVsX2xpc3QmJihwPXtuYW1lOiJyZWwiLHR5cGU6Imxpc3Rib3giLGxhYmVsOiJSZWwiLHZhbHVlczpjKGEuc2V0dGluZ3MucmVsX2xpc3QpfSksYS5zZXR0aW5ncy5saW5rX2NsYXNzX2xpc3QmJihyPXtuYW1lOiJjbGFzcyIsdHlwZToibGlzdGJveCIsbGFiZWw6IkNsYXNzIix2YWx1ZXM6YyhhLnNldHRpbmdzLmxpbmtfY2xhc3NfbGlzdCxmdW5jdGlvbihiKXtiLnZhbHVlJiYoYi50ZXh0U3R5bGU9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mb3JtYXR0ZXIuZ2V0Q3NzVGV4dCh7aW5saW5lOiJhIixjbGFzc2VzOltiLnZhbHVlXX0pfSl9KX0pLGEuc2V0dGluZ3MubGlua190aXRsZSE9PSExJiYocz17bmFtZToidGl0bGUiLHR5cGU6InRleHRib3giLGxhYmVsOiJUaXRsZSIsdmFsdWU6dS50aXRsZX0pLGw9YS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJJbnNlcnQgbGluayIsZGF0YTp1LGJvZHk6W3tuYW1lOiJocmVmIix0eXBlOiJmaWxlcGlja2VyIixmaWxldHlwZToiZmlsZSIsc2l6ZTo0MCxhdXRvZm9jdXM6ITAsbGFiZWw6IlVybCIsb25jaGFuZ2U6ZyxvbmtleXVwOmZ9LG4scyxlKHUuaHJlZiksbyxwLHEscl0sb25TdWJtaXQ6ZnVuY3Rpb24oYil7ZnVuY3Rpb24gYyhiLGMpe3ZhciBkPWEuc2VsZWN0aW9uLmdldFJuZygpO3RpbnltY2UudXRpbC5EZWxheS5zZXRFZGl0b3JUaW1lb3V0KGEsZnVuY3Rpb24oKXthLndpbmRvd01hbmFnZXIuY29uZmlybShiLGZ1bmN0aW9uKGIpe2Euc2VsZWN0aW9uLnNldFJuZyhkKSxjKGIpfSl9KX1mdW5jdGlvbiBkKCl7dmFyIGI9e2hyZWY6ZSx0YXJnZXQ6dS50YXJnZXQ/dS50YXJnZXQ6bnVsbCxyZWw6dS5yZWw/dS5yZWw6bnVsbCwiY2xhc3MiOnVbImNsYXNzIl0/dVsiY2xhc3MiXTpudWxsLHRpdGxlOnUudGl0bGU/dS50aXRsZTpudWxsfTtqPyhhLmZvY3VzKCksbSYmdS50ZXh0IT1rJiYoImlubmVyVGV4dCJpbiBqP2ouaW5uZXJUZXh0PXUudGV4dDpqLnRleHRDb250ZW50PXUudGV4dCksdy5zZXRBdHRyaWJzKGosYiksdi5zZWxlY3QoaiksYS51bmRvTWFuYWdlci5hZGQoKSk6bT9hLmluc2VydENvbnRlbnQody5jcmVhdGVIVE1MKCJhIixiLHcuZW5jb2RlKHUudGV4dCkpKTphLmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRMaW5rIiwhMSxiKX12YXIgZTtyZXR1cm4gdT10aW55bWNlLmV4dGVuZCh1LGIuZGF0YSksKGU9dS5ocmVmKT9lLmluZGV4T2YoIkAiKT4wJiYtMT09ZS5pbmRleE9mKCIvLyIpJiYtMT09ZS5pbmRleE9mKCJtYWlsdG86Iik/dm9pZCBjKCJUaGUgVVJMIHlvdSBlbnRlcmVkIHNlZW1zIHRvIGJlIGFuIGVtYWlsIGFkZHJlc3MuIERvIHlvdSB3YW50IHRvIGFkZCB0aGUgcmVxdWlyZWQgbWFpbHRvOiBwcmVmaXg/IixmdW5jdGlvbihhKXthJiYoZT0ibWFpbHRvOiIrZSksZCgpfSk6YS5zZXR0aW5ncy5saW5rX2Fzc3VtZV9leHRlcm5hbF90YXJnZXRzJiYhL15cdys6L2kudGVzdChlKXx8IWEuc2V0dGluZ3MubGlua19hc3N1bWVfZXh0ZXJuYWxfdGFyZ2V0cyYmL15ccyp3d3dbXC58XGRcLl0vaS50ZXN0KGUpP3ZvaWQgYygiVGhlIFVSTCB5b3UgZW50ZXJlZCBzZWVtcyB0byBiZSBhbiBleHRlcm5hbCBsaW5rLiBEbyB5b3Ugd2FudCB0byBhZGQgdGhlIHJlcXVpcmVkIGh0dHA6Ly8gcHJlZml4PyIsZnVuY3Rpb24oYSl7YSYmKGU9Imh0dHA6Ly8iK2UpLGQoKX0pOnZvaWQgZCgpOnZvaWQgYS5leGVjQ29tbWFuZCgidW5saW5rIil9fSl9YS5hZGRCdXR0b24oImxpbmsiLHtpY29uOiJsaW5rIix0b29sdGlwOiJJbnNlcnQvZWRpdCBsaW5rIixzaG9ydGN1dDoiTWV0YStLIixvbmNsaWNrOmIoZCksc3RhdGVTZWxlY3RvcjoiYVtocmVmXSJ9KSxhLmFkZEJ1dHRvbigidW5saW5rIix7aWNvbjoidW5saW5rIix0b29sdGlwOiJSZW1vdmUgbGluayIsY21kOiJ1bmxpbmsiLHN0YXRlU2VsZWN0b3I6ImFbaHJlZl0ifSksYS5hZGRTaG9ydGN1dCgiTWV0YStLIiwiIixiKGQpKSxhLmFkZENvbW1hbmQoIm1jZUxpbmsiLGIoZCkpLHRoaXMuc2hvd0RpYWxvZz1kLGEuYWRkTWVudUl0ZW0oImxpbmsiLHtpY29uOiJsaW5rIix0ZXh0OiJJbnNlcnQvZWRpdCBsaW5rIixzaG9ydGN1dDoiTWV0YStLIixvbmNsaWNrOmIoZCksc3RhdGVTZWxlY3RvcjoiYVtocmVmXSIsY29udGV4dDoiaW5zZXJ0IixwcmVwZW5kVG9Db250ZXh0OiEwfSl9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/lists/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/lists/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/lists/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgibGlzdHMiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYil7cmV0dXJuIGEuJC5jb250YWlucyhhLmdldEJvZHkoKSxiKX1mdW5jdGlvbiBjKGEpe3JldHVybiBhJiYiQlIiPT1hLm5vZGVOYW1lfWZ1bmN0aW9uIGQoYSl7cmV0dXJuIGEmJi9eKE9MfFVMfERMKSQvLnRlc3QoYS5ub2RlTmFtZSkmJmIoYSl9ZnVuY3Rpb24gZShhKXtyZXR1cm4gYS5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ9PWF9ZnVuY3Rpb24gZihhKXtyZXR1cm4gYS5wYXJlbnROb2RlLmxhc3RDaGlsZD09YX1mdW5jdGlvbiBnKGIpe3JldHVybiBiJiYhIWEuc2NoZW1hLmdldFRleHRCbG9ja0VsZW1lbnRzKClbYi5ub2RlTmFtZV19ZnVuY3Rpb24gaChiKXtyZXR1cm4gYj09PWEuZ2V0Qm9keSgpfXZhciBpPXRoaXM7YS5vbigiaW5pdCIsZnVuY3Rpb24oKXtmdW5jdGlvbiBqKGEsYil7dmFyIGM9QS5pc0VtcHR5KGEpO3JldHVybiBiJiZBLnNlbGVjdCgic3BhbltkYXRhLW1jZS10eXBlPWJvb2ttYXJrXSIpLmxlbmd0aD4wPyExOmN9ZnVuY3Rpb24gayhhKXtmdW5jdGlvbiBiKGIpe3ZhciBkLGUsZjtlPWFbYj8ic3RhcnRDb250YWluZXIiOiJlbmRDb250YWluZXIiXSxmPWFbYj8ic3RhcnRPZmZzZXQiOiJlbmRPZmZzZXQiXSwxPT1lLm5vZGVUeXBlJiYoZD1BLmNyZWF0ZSgic3BhbiIseyJkYXRhLW1jZS10eXBlIjoiYm9va21hcmsifSksZS5oYXNDaGlsZE5vZGVzKCk/KGY9TWF0aC5taW4oZixlLmNoaWxkTm9kZXMubGVuZ3RoLTEpLGI/ZS5pbnNlcnRCZWZvcmUoZCxlLmNoaWxkTm9kZXNbZl0pOkEuaW5zZXJ0QWZ0ZXIoZCxlLmNoaWxkTm9kZXNbZl0pKTplLmFwcGVuZENoaWxkKGQpLGU9ZCxmPTApLGNbYj8ic3RhcnRDb250YWluZXIiOiJlbmRDb250YWluZXIiXT1lLGNbYj8ic3RhcnRPZmZzZXQiOiJlbmRPZmZzZXQiXT1mfXZhciBjPXt9O3JldHVybiBiKCEwKSxhLmNvbGxhcHNlZHx8YigpLGN9ZnVuY3Rpb24gbChhKXtmdW5jdGlvbiBiKGIpe2Z1bmN0aW9uIGMoYSl7Zm9yKHZhciBiPWEucGFyZW50Tm9kZS5maXJzdENoaWxkLGM9MDtiOyl7aWYoYj09YSlyZXR1cm4gYzsxPT1iLm5vZGVUeXBlJiYiYm9va21hcmsiPT1iLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtdHlwZSIpfHxjKyssYj1iLm5leHRTaWJsaW5nfXJldHVybi0xfXZhciBkLGUsZjtkPWY9YVtiPyJzdGFydENvbnRhaW5lciI6ImVuZENvbnRhaW5lciJdLGU9YVtiPyJzdGFydE9mZnNldCI6ImVuZE9mZnNldCJdLGQmJigxPT1kLm5vZGVUeXBlJiYoZT1jKGQpLGQ9ZC5wYXJlbnROb2RlLEEucmVtb3ZlKGYpKSxhW2I/InN0YXJ0Q29udGFpbmVyIjoiZW5kQ29udGFpbmVyIl09ZCxhW2I/InN0YXJ0T2Zmc2V0IjoiZW5kT2Zmc2V0Il09ZSl9YighMCksYigpO3ZhciBjPUEuY3JlYXRlUm5nKCk7Yy5zZXRTdGFydChhLnN0YXJ0Q29udGFpbmVyLGEuc3RhcnRPZmZzZXQpLGEuZW5kQ29udGFpbmVyJiZjLnNldEVuZChhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCksQi5zZXRSbmcoYyl9ZnVuY3Rpb24gbShiLGMpe3ZhciBkLGUsZixnPUEuY3JlYXRlRnJhZ21lbnQoKSxoPWEuc2NoZW1hLmdldEJsb2NrRWxlbWVudHMoKTtpZihhLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrJiYoYz1jfHxhLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrKSxjJiYoZT1BLmNyZWF0ZShjKSxlLnRhZ05hbWU9PT1hLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrJiZBLnNldEF0dHJpYnMoZSxhLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrX2F0dHJzKSxnLmFwcGVuZENoaWxkKGUpKSxiKWZvcig7ZD1iLmZpcnN0Q2hpbGQ7KXt2YXIgaT1kLm5vZGVOYW1lO2Z8fCJTUEFOIj09aSYmImJvb2ttYXJrIj09ZC5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXR5cGUiKXx8KGY9ITApLGhbaV0/KGcuYXBwZW5kQ2hpbGQoZCksZT1udWxsKTpjPyhlfHwoZT1BLmNyZWF0ZShjKSxnLmFwcGVuZENoaWxkKGUpKSxlLmFwcGVuZENoaWxkKGQpKTpnLmFwcGVuZENoaWxkKGQpfXJldHVybiBhLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrP2Z8fHRpbnltY2UuRW52LmllJiYhKHRpbnltY2UuRW52LmllPjEwKXx8ZS5hcHBlbmRDaGlsZChBLmNyZWF0ZSgiYnIiLHsiZGF0YS1tY2UtYm9ndXMiOiIxIn0pKTpnLmFwcGVuZENoaWxkKEEuY3JlYXRlKCJiciIpKSxnfWZ1bmN0aW9uIG4oKXtyZXR1cm4gdGlueW1jZS5ncmVwKEIuZ2V0U2VsZWN0ZWRCbG9ja3MoKSxmdW5jdGlvbihhKXtyZXR1cm4vXihMSXxEVHxERCkkLy50ZXN0KGEubm9kZU5hbWUpfSl9ZnVuY3Rpb24gbyhhLGIsYyl7ZnVuY3Rpb24gZChhKXt0aW55bWNlLmVhY2goZyxmdW5jdGlvbihjKXthLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMsYi5wYXJlbnROb2RlKX0pLEEucmVtb3ZlKGEpfXZhciBlLGYsZyxoO2ZvcihnPUEuc2VsZWN0KCdzcGFuW2RhdGEtbWNlLXR5cGU9ImJvb2ttYXJrIl0nLGEpLGM9Y3x8bShiKSxlPUEuY3JlYXRlUm5nKCksZS5zZXRTdGFydEFmdGVyKGIpLGUuc2V0RW5kQWZ0ZXIoYSksZj1lLmV4dHJhY3RDb250ZW50cygpLGg9Zi5maXJzdENoaWxkO2g7aD1oLmZpcnN0Q2hpbGQpaWYoIkxJIj09aC5ub2RlTmFtZSYmQS5pc0VtcHR5KGgpKXtBLnJlbW92ZShoKTticmVha31BLmlzRW1wdHkoZil8fEEuaW5zZXJ0QWZ0ZXIoZixhKSxBLmluc2VydEFmdGVyKGMsYSksaihiLnBhcmVudE5vZGUpJiZkKGIucGFyZW50Tm9kZSksQS5yZW1vdmUoYiksaihhKSYmQS5yZW1vdmUoYSl9ZnVuY3Rpb24gcChhKXt2YXIgYixjO2lmKGI9YS5uZXh0U2libGluZyxiJiZkKGIpJiZiLm5vZGVOYW1lPT1hLm5vZGVOYW1lKXtmb3IoO2M9Yi5maXJzdENoaWxkOylhLmFwcGVuZENoaWxkKGMpO0EucmVtb3ZlKGIpfWlmKGI9YS5wcmV2aW91c1NpYmxpbmcsYiYmZChiKSYmYi5ub2RlTmFtZT09YS5ub2RlTmFtZSl7Zm9yKDtjPWIuZmlyc3RDaGlsZDspYS5pbnNlcnRCZWZvcmUoYyxhLmZpcnN0Q2hpbGQpO0EucmVtb3ZlKGIpfX1mdW5jdGlvbiBxKGEpe3RpbnltY2UuZWFjaCh0aW55bWNlLmdyZXAoQS5zZWxlY3QoIm9sLHVsIixhKSksZnVuY3Rpb24oYSl7dmFyIGIsYz1hLnBhcmVudE5vZGU7IkxJIj09Yy5ub2RlTmFtZSYmYy5maXJzdENoaWxkPT1hJiYoYj1jLnByZXZpb3VzU2libGluZyxiJiYiTEkiPT1iLm5vZGVOYW1lJiYoYi5hcHBlbmRDaGlsZChhKSxqKGMpJiZBLnJlbW92ZShjKSkpLGQoYykmJihiPWMucHJldmlvdXNTaWJsaW5nLGImJiJMSSI9PWIubm9kZU5hbWUmJmIuYXBwZW5kQ2hpbGQoYSkpfSl9ZnVuY3Rpb24gcihhKXtmdW5jdGlvbiBiKGEpe2ooYSkmJkEucmVtb3ZlKGEpfXZhciBjLGc9YS5wYXJlbnROb2RlLGk9Zy5wYXJlbnROb2RlO3JldHVybiBoKGcpPyEwOiJERCI9PWEubm9kZU5hbWU/KEEucmVuYW1lKGEsIkRUIiksITApOmUoYSkmJmYoYSk/KCJMSSI9PWkubm9kZU5hbWU/KEEuaW5zZXJ0QWZ0ZXIoYSxpKSxiKGkpLEEucmVtb3ZlKGcpKTpkKGkpP0EucmVtb3ZlKGcsITApOihpLmluc2VydEJlZm9yZShtKGEpLGcpLEEucmVtb3ZlKGcpKSwhMCk6ZShhKT8oIkxJIj09aS5ub2RlTmFtZT8oQS5pbnNlcnRBZnRlcihhLGkpLGEuYXBwZW5kQ2hpbGQoZyksYihpKSk6ZChpKT9pLmluc2VydEJlZm9yZShhLGcpOihpLmluc2VydEJlZm9yZShtKGEpLGcpLEEucmVtb3ZlKGEpKSwhMCk6ZihhKT8oIkxJIj09aS5ub2RlTmFtZT9BLmluc2VydEFmdGVyKGEsaSk6ZChpKT9BLmluc2VydEFmdGVyKGEsZyk6KEEuaW5zZXJ0QWZ0ZXIobShhKSxnKSxBLnJlbW92ZShhKSksITApOigiTEkiPT1pLm5vZGVOYW1lPyhnPWksYz1tKGEsIkxJIikpOmM9ZChpKT9tKGEsIkxJIik6bShhKSxvKGcsYSxjKSxxKGcucGFyZW50Tm9kZSksITApfWZ1bmN0aW9uIHMoYSl7ZnVuY3Rpb24gYihiLGMpe3ZhciBlO2lmKGQoYikpe2Zvcig7ZT1hLmxhc3RDaGlsZC5maXJzdENoaWxkOyljLmFwcGVuZENoaWxkKGUpO0EucmVtb3ZlKGIpfX12YXIgYyxlO3JldHVybiJEVCI9PWEubm9kZU5hbWU/KEEucmVuYW1lKGEsIkREIiksITApOihjPWEucHJldmlvdXNTaWJsaW5nLGMmJmQoYyk/KGMuYXBwZW5kQ2hpbGQoYSksITApOmMmJiJMSSI9PWMubm9kZU5hbWUmJmQoYy5sYXN0Q2hpbGQpPyhjLmxhc3RDaGlsZC5hcHBlbmRDaGlsZChhKSxiKGEubGFzdENoaWxkLGMubGFzdENoaWxkKSwhMCk6KGM9YS5uZXh0U2libGluZyxjJiZkKGMpPyhjLmluc2VydEJlZm9yZShhLGMuZmlyc3RDaGlsZCksITApOihjPWEucHJldmlvdXNTaWJsaW5nLGMmJiJMSSI9PWMubm9kZU5hbWU/KGU9QS5jcmVhdGUoYS5wYXJlbnROb2RlLm5vZGVOYW1lKSxjLmFwcGVuZENoaWxkKGUpLGUuYXBwZW5kQ2hpbGQoYSksYihhLmxhc3RDaGlsZCxlKSwhMCk6ITEpKSl9ZnVuY3Rpb24gdCgpe3ZhciBiPW4oKTtpZihiLmxlbmd0aCl7Zm9yKHZhciBjPWsoQi5nZXRSbmcoITApKSxkPTA7ZDxiLmxlbmd0aCYmKHMoYltkXSl8fDAhPT1kKTtkKyspO3JldHVybiBsKGMpLGEubm9kZUNoYW5nZWQoKSwhMH19ZnVuY3Rpb24gdSgpe3ZhciBiPW4oKTtpZihiLmxlbmd0aCl7dmFyIGMsZCxlPWsoQi5nZXRSbmcoITApKSxmPWEuZ2V0Qm9keSgpO2ZvcihjPWIubGVuZ3RoO2MtLTspZm9yKHZhciBnPWJbY10ucGFyZW50Tm9kZTtnJiZnIT1mOyl7Zm9yKGQ9Yi5sZW5ndGg7ZC0tOylpZihiW2RdPT09Zyl7Yi5zcGxpY2UoYywxKTticmVha31nPWcucGFyZW50Tm9kZX1mb3IoYz0wO2M8Yi5sZW5ndGgmJihyKGJbY10pfHwwIT09Yyk7YysrKTtyZXR1cm4gbChlKSxhLm5vZGVDaGFuZ2VkKCksITB9fWZ1bmN0aW9uIHYoYil7ZnVuY3Rpb24gZSgpe2Z1bmN0aW9uIGIoYSl7dmFyIGIsYztmb3IoYj1oW2E/InN0YXJ0Q29udGFpbmVyIjoiZW5kQ29udGFpbmVyIl0sYz1oW2E/InN0YXJ0T2Zmc2V0IjoiZW5kT2Zmc2V0Il0sMT09Yi5ub2RlVHlwZSYmKGI9Yi5jaGlsZE5vZGVzW01hdGgubWluKGMsYi5jaGlsZE5vZGVzLmxlbmd0aC0xKV18fGIpO2IucGFyZW50Tm9kZSE9Zjspe2lmKGcoYikpcmV0dXJuIGI7aWYoL14oVER8VEgpJC8udGVzdChiLnBhcmVudE5vZGUubm9kZU5hbWUpKXJldHVybiBiO2I9Yi5wYXJlbnROb2RlfXJldHVybiBifWZvcih2YXIgZCxlPVtdLGY9YS5nZXRCb2R5KCksaT1iKCEwKSxqPWIoKSxrPVtdLGw9aTtsJiYoay5wdXNoKGwpLGwhPWopO2w9bC5uZXh0U2libGluZyk7cmV0dXJuIHRpbnltY2UuZWFjaChrLGZ1bmN0aW9uKGEpe2lmKGcoYSkpcmV0dXJuIGUucHVzaChhKSx2b2lkKGQ9bnVsbCk7aWYoQS5pc0Jsb2NrKGEpfHxjKGEpKXJldHVybiBjKGEpJiZBLnJlbW92ZShhKSx2b2lkKGQ9bnVsbCk7dmFyIGI9YS5uZXh0U2libGluZztyZXR1cm4gdGlueW1jZS5kb20uQm9va21hcmtNYW5hZ2VyLmlzQm9va21hcmtOb2RlKGEpJiYoZyhiKXx8IWImJmEucGFyZW50Tm9kZT09Zik/dm9pZChkPW51bGwpOihkfHwoZD1BLmNyZWF0ZSgicCIpLGEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZCxhKSxlLnB1c2goZCkpLHZvaWQgZC5hcHBlbmRDaGlsZChhKSl9KSxlfXZhciBmLGg9Qi5nZXRSbmcoITApLGk9IkxJIjsiZmFsc2UiIT09QS5nZXRDb250ZW50RWRpdGFibGUoQi5nZXROb2RlKCkpJiYoYj1iLnRvVXBwZXJDYXNlKCksIkRMIj09YiYmKGk9IkRUIiksZj1rKGgpLHRpbnltY2UuZWFjaChlKCksZnVuY3Rpb24oYSl7dmFyIGMsZTtlPWEucHJldmlvdXNTaWJsaW5nLGUmJmQoZSkmJmUubm9kZU5hbWU9PWI/KGM9ZSxhPUEucmVuYW1lKGEsaSksZS5hcHBlbmRDaGlsZChhKSk6KGM9QS5jcmVhdGUoYiksYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGEpLGMuYXBwZW5kQ2hpbGQoYSksYT1BLnJlbmFtZShhLGkpKSxwKGMpfSksbChmKSl9ZnVuY3Rpb24gdygpe3ZhciBiPWsoQi5nZXRSbmcoITApKSxjPWEuZ2V0Qm9keSgpO3RpbnltY2UuZWFjaChuKCksZnVuY3Rpb24oYSl7dmFyIGIsZTtpZighaChhLnBhcmVudE5vZGUpKXtpZihqKGEpKXJldHVybiB2b2lkIHIoYSk7Zm9yKGI9YTtiJiZiIT1jO2I9Yi5wYXJlbnROb2RlKWQoYikmJihlPWIpO28oZSxhKX19KSxsKGIpfWZ1bmN0aW9uIHgoYSl7dmFyIGI9QS5nZXRQYXJlbnQoQi5nZXRTdGFydCgpLCJPTCxVTCxETCIpO2lmKCFoKGIpKWlmKGIpaWYoYi5ub2RlTmFtZT09YSl3KGEpO2Vsc2V7dmFyIGM9ayhCLmdldFJuZyghMCkpO3AoQS5yZW5hbWUoYixhKSksbChjKX1lbHNlIHYoYSl9ZnVuY3Rpb24geShiKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYz1BLmdldFBhcmVudChhLnNlbGVjdGlvbi5nZXRTdGFydCgpLCJVTCxPTCxETCIpO3JldHVybiBjJiZjLm5vZGVOYW1lPT1ifX1mdW5jdGlvbiB6KGEpe3JldHVybiBjKGEpPyEoIUEuaXNCbG9jayhhLm5leHRTaWJsaW5nKXx8YyhhLnByZXZpb3VzU2libGluZykpOiExfXZhciBBPWEuZG9tLEI9YS5zZWxlY3Rpb247aS5iYWNrc3BhY2VEZWxldGU9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gZihiLGMpe3ZhciBkLGUsZj1iLnN0YXJ0Q29udGFpbmVyLGc9Yi5zdGFydE9mZnNldDtpZigzPT1mLm5vZGVUeXBlJiYoYz9nPGYuZGF0YS5sZW5ndGg6Zz4wKSlyZXR1cm4gZjtmb3IoZD1hLnNjaGVtYS5nZXROb25FbXB0eUVsZW1lbnRzKCksMT09Zi5ub2RlVHlwZSYmKGY9dGlueW1jZS5kb20uUmFuZ2VVdGlscy5nZXROb2RlKGYsZykpLGU9bmV3IHRpbnltY2UuZG9tLlRyZWVXYWxrZXIoZixhLmdldEJvZHkoKSksYyYmeihmKSYmZS5uZXh0KCk7Zj1lW2M/Im5leHQiOiJwcmV2MiJdKCk7KXtpZigiTEkiPT1mLm5vZGVOYW1lJiYhZi5oYXNDaGlsZE5vZGVzKCkpcmV0dXJuIGY7aWYoZFtmLm5vZGVOYW1lXSlyZXR1cm4gZjtpZigzPT1mLm5vZGVUeXBlJiZmLmRhdGEubGVuZ3RoPjApcmV0dXJuIGZ9fWZ1bmN0aW9uIGcoYSxlKXt2YXIgZixnLGk9YS5wYXJlbnROb2RlO2lmKGIoYSkmJmIoZSkpe2lmKGQoZS5sYXN0Q2hpbGQpJiYoZz1lLmxhc3RDaGlsZCksaT09ZS5sYXN0Q2hpbGQmJmMoaS5wcmV2aW91c1NpYmxpbmcpJiZBLnJlbW92ZShpLnByZXZpb3VzU2libGluZyksZj1lLmxhc3RDaGlsZCxmJiZjKGYpJiZhLmhhc0NoaWxkTm9kZXMoKSYmQS5yZW1vdmUoZiksaihlLCEwKSYmQS4kKGUpLmVtcHR5KCksIWooYSwhMCkpZm9yKDtmPWEuZmlyc3RDaGlsZDspZS5hcHBlbmRDaGlsZChmKTtnJiZlLmFwcGVuZENoaWxkKGcpLEEucmVtb3ZlKGEpLGooaSkmJiFoKGkpJiZBLnJlbW92ZShpKX19aWYoQi5pc0NvbGxhcHNlZCgpKXt2YXIgaSxtLG4sbz1BLmdldFBhcmVudChCLmdldFN0YXJ0KCksIkxJIik7aWYobyl7aWYoaT1vLnBhcmVudE5vZGUsaChpKSYmQS5pc0VtcHR5KGkpKXJldHVybiEwO2lmKG09Qi5nZXRSbmcoITApLG49QS5nZXRQYXJlbnQoZihtLGUpLCJMSSIpLG4mJm4hPW8pe3ZhciBwPWsobSk7cmV0dXJuIGU/ZyhuLG8pOmcobyxuKSxsKHApLCEwfWlmKCFuJiYhZSYmdyhpLm5vZGVOYW1lKSlyZXR1cm4hMH19fSxhLm9uKCJCZWZvcmVFeGVjQ29tbWFuZCIsZnVuY3Rpb24oYil7dmFyIGMsZD1iLmNvbW1hbmQudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5kZW50Ij09ZD90KCkmJihjPSEwKToib3V0ZGVudCI9PWQmJnUoKSYmKGM9ITApLGM/KGEuZmlyZSgiRXhlY0NvbW1hbmQiLHtjb21tYW5kOmIuY29tbWFuZH0pLGIucHJldmVudERlZmF1bHQoKSwhMCk6dm9pZCAwfSksYS5hZGRDb21tYW5kKCJJbnNlcnRVbm9yZGVyZWRMaXN0IixmdW5jdGlvbigpe3goIlVMIil9KSxhLmFkZENvbW1hbmQoIkluc2VydE9yZGVyZWRMaXN0IixmdW5jdGlvbigpe3goIk9MIil9KSxhLmFkZENvbW1hbmQoIkluc2VydERlZmluaXRpb25MaXN0IixmdW5jdGlvbigpe3goIkRMIil9KSxhLmFkZFF1ZXJ5U3RhdGVIYW5kbGVyKCJJbnNlcnRVbm9yZGVyZWRMaXN0Iix5KCJVTCIpKSxhLmFkZFF1ZXJ5U3RhdGVIYW5kbGVyKCJJbnNlcnRPcmRlcmVkTGlzdCIseSgiT0wiKSksYS5hZGRRdWVyeVN0YXRlSGFuZGxlcigiSW5zZXJ0RGVmaW5pdGlvbkxpc3QiLHkoIkRMIikpLGEub24oImtleWRvd24iLGZ1bmN0aW9uKGIpezkhPWIua2V5Q29kZXx8dGlueW1jZS51dGlsLlZLLm1ldGFLZXlQcmVzc2VkKGIpfHxhLmRvbS5nZXRQYXJlbnQoYS5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwiTEksRFQsREQiKSYmKGIucHJldmVudERlZmF1bHQoKSxiLnNoaWZ0S2V5P3UoKTp0KCkpfSl9KSxhLmFkZEJ1dHRvbigiaW5kZW50Iix7aWNvbjoiaW5kZW50Iix0aXRsZToiSW5jcmVhc2UgaW5kZW50IixjbWQ6IkluZGVudCIsb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGI9dGhpczthLm9uKCJub2RlY2hhbmdlIixmdW5jdGlvbigpe2Zvcih2YXIgYz1hLnNlbGVjdGlvbi5nZXRTZWxlY3RlZEJsb2NrcygpLGQ9ITEsZj0wLGc9Yy5sZW5ndGg7IWQmJmc+ZjtmKyspe3ZhciBoPWNbZl0ubm9kZU5hbWU7ZD0iTEkiPT1oJiZlKGNbZl0pfHwiVUwiPT1ofHwiT0wiPT1ofHwiREQiPT1ofWIuZGlzYWJsZWQoZCl9KX19KSxhLm9uKCJrZXlkb3duIixmdW5jdGlvbihhKXthLmtleUNvZGU9PXRpbnltY2UudXRpbC5WSy5CQUNLU1BBQ0U/aS5iYWNrc3BhY2VEZWxldGUoKSYmYS5wcmV2ZW50RGVmYXVsdCgpOmEua2V5Q29kZT09dGlueW1jZS51dGlsLlZLLkRFTEVURSYmaS5iYWNrc3BhY2VEZWxldGUoITApJiZhLnByZXZlbnREZWZhdWx0KCl9KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/media/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/media/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/media/moxieplayer.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/media/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgibWVkaWEiLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtyZXR1cm4gYT1hLnRvTG93ZXJDYXNlKCksLTEhPWEuaW5kZXhPZigiLm1wMyIpPyJhdWRpby9tcGVnIjotMSE9YS5pbmRleE9mKCIud2F2Iik/ImF1ZGlvL3dhdiI6LTEhPWEuaW5kZXhPZigiLm1wNCIpPyJ2aWRlby9tcDQiOi0xIT1hLmluZGV4T2YoIi53ZWJtIik/InZpZGVvL3dlYm0iOi0xIT1hLmluZGV4T2YoIi5vZ2ciKT8idmlkZW8vb2dnIjotMSE9YS5pbmRleE9mKCIuc3dmIik/ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIjoiIn1mdW5jdGlvbiBkKGIpe3ZhciBjPWEuc2V0dGluZ3MubWVkaWFfc2NyaXB0cztpZihjKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKC0xIT09Yi5pbmRleE9mKGNbZF0uZmlsdGVyKSlyZXR1cm4gY1tkXX1mdW5jdGlvbiBlKCl7ZnVuY3Rpb24gYihhKXt2YXIgYixjLGYsZztiPWQuZmluZCgiI3dpZHRoIilbMF0sYz1kLmZpbmQoIiNoZWlnaHQiKVswXSxmPWIudmFsdWUoKSxnPWMudmFsdWUoKSxkLmZpbmQoIiNjb25zdHJhaW4iKVswXS5jaGVja2VkKCkmJmUmJmomJmYmJmcmJihhLmNvbnRyb2w9PWI/KGc9TWF0aC5yb3VuZChmL2UqZyksaXNOYU4oZyl8fGMudmFsdWUoZykpOihmPU1hdGgucm91bmQoZy9qKmYpLGlzTmFOKGYpfHxiLnZhbHVlKGYpKSksZT1mLGo9Z31mdW5jdGlvbiBjKCl7az1oKHRoaXMudmFsdWUoKSksdGhpcy5wYXJlbnQoKS5wYXJlbnQoKS5mcm9tSlNPTihrKX12YXIgZCxlLGosayxsPVt7bmFtZToic291cmNlMSIsdHlwZToiZmlsZXBpY2tlciIsZmlsZXR5cGU6Im1lZGlhIixzaXplOjQwLGF1dG9mb2N1czohMCxsYWJlbDoiU291cmNlIixvbmNoYW5nZTpmdW5jdGlvbihhKXt0aW55bWNlLmVhY2goYS5tZXRhLGZ1bmN0aW9uKGEsYil7ZC5maW5kKCIjIitiKS52YWx1ZShhKX0pfX1dO2Euc2V0dGluZ3MubWVkaWFfYWx0X3NvdXJjZSE9PSExJiZsLnB1c2goe25hbWU6InNvdXJjZTIiLHR5cGU6ImZpbGVwaWNrZXIiLGZpbGV0eXBlOiJtZWRpYSIsc2l6ZTo0MCxsYWJlbDoiQWx0ZXJuYXRpdmUgc291cmNlIn0pLGEuc2V0dGluZ3MubWVkaWFfcG9zdGVyIT09ITEmJmwucHVzaCh7bmFtZToicG9zdGVyIix0eXBlOiJmaWxlcGlja2VyIixmaWxldHlwZToiaW1hZ2UiLHNpemU6NDAsbGFiZWw6IlBvc3RlciJ9KSxhLnNldHRpbmdzLm1lZGlhX2RpbWVuc2lvbnMhPT0hMSYmbC5wdXNoKHt0eXBlOiJjb250YWluZXIiLGxhYmVsOiJEaW1lbnNpb25zIixsYXlvdXQ6ImZsZXgiLGFsaWduOiJjZW50ZXIiLHNwYWNpbmc6NSxpdGVtczpbe25hbWU6IndpZHRoIix0eXBlOiJ0ZXh0Ym94IixtYXhMZW5ndGg6NSxzaXplOjMsb25jaGFuZ2U6YixhcmlhTGFiZWw6IldpZHRoIn0se3R5cGU6ImxhYmVsIix0ZXh0OiJ4In0se25hbWU6ImhlaWdodCIsdHlwZToidGV4dGJveCIsbWF4TGVuZ3RoOjUsc2l6ZTozLG9uY2hhbmdlOmIsYXJpYUxhYmVsOiJIZWlnaHQifSx7bmFtZToiY29uc3RyYWluIix0eXBlOiJjaGVja2JveCIsY2hlY2tlZDohMCx0ZXh0OiJDb25zdHJhaW4gcHJvcG9ydGlvbnMifV19KSxrPWkoYS5zZWxlY3Rpb24uZ2V0Tm9kZSgpKSxlPWsud2lkdGgsaj1rLmhlaWdodDt2YXIgbT17aWQ6Im1jZW1lZGlhc291cmNlIix0eXBlOiJ0ZXh0Ym94IixmbGV4OjEsbmFtZToiZW1iZWQiLHZhbHVlOmYoKSxtdWx0aWxpbmU6ITAsbGFiZWw6IlNvdXJjZSJ9O21bcF09YyxkPWEud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiSW5zZXJ0L2VkaXQgdmlkZW8iLGRhdGE6ayxib2R5VHlwZToidGFicGFuZWwiLGJvZHk6W3t0aXRsZToiR2VuZXJhbCIsdHlwZToiZm9ybSIsb25TaG93VGFiOmZ1bmN0aW9uKCl7az1oKHRoaXMubmV4dCgpLmZpbmQoIiNlbWJlZCIpLnZhbHVlKCkpLHRoaXMuZnJvbUpTT04oayl9LGl0ZW1zOmx9LHt0aXRsZToiRW1iZWQiLHR5cGU6ImNvbnRhaW5lciIsbGF5b3V0OiJmbGV4IixkaXJlY3Rpb246ImNvbHVtbiIsYWxpZ246InN0cmV0Y2giLHBhZGRpbmc6MTAsc3BhY2luZzoxMCxvblNob3dUYWI6ZnVuY3Rpb24oKXt0aGlzLmZpbmQoIiNlbWJlZCIpLnZhbHVlKGcodGhpcy5wYXJlbnQoKS50b0pTT04oKSkpfSxpdGVtczpbe3R5cGU6ImxhYmVsIix0ZXh0OiJQYXN0ZSB5b3VyIGVtYmVkIGNvZGUgYmVsb3c6Iixmb3JJZDoibWNlbWVkaWFzb3VyY2UifSxtXX1dLG9uU3VibWl0OmZ1bmN0aW9uKCl7dmFyIGIsYyxkLGU7Zm9yKGI9YS5kb20uc2VsZWN0KCJpbWdbZGF0YS1tY2Utb2JqZWN0XSIpLGEuaW5zZXJ0Q29udGVudChnKHRoaXMudG9KU09OKCkpKSxjPWEuZG9tLnNlbGVjdCgiaW1nW2RhdGEtbWNlLW9iamVjdF0iKSxkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKGU9Yy5sZW5ndGgtMTtlPj0wO2UtLSliW2RdPT1jW2VdJiZjLnNwbGljZShlLDEpO2Euc2VsZWN0aW9uLnNlbGVjdChjWzBdKSxhLm5vZGVDaGFuZ2VkKCl9fSl9ZnVuY3Rpb24gZigpe3ZhciBiPWEuc2VsZWN0aW9uLmdldE5vZGUoKTtyZXR1cm4gYi5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLW9iamVjdCIpP2Euc2VsZWN0aW9uLmdldENvbnRlbnQoKTp2b2lkIDB9ZnVuY3Rpb24gZyhlKXt2YXIgZj0iIjtpZighZS5zb3VyY2UxJiYodGlueW1jZS5leHRlbmQoZSxoKGUuZW1iZWQpKSwhZS5zb3VyY2UxKSlyZXR1cm4iIjtpZihlLnNvdXJjZTJ8fChlLnNvdXJjZTI9IiIpLGUucG9zdGVyfHwoZS5wb3N0ZXI9IiIpLGUuc291cmNlMT1hLmNvbnZlcnRVUkwoZS5zb3VyY2UxLCJzb3VyY2UiKSxlLnNvdXJjZTI9YS5jb252ZXJ0VVJMKGUuc291cmNlMiwic291cmNlIiksZS5zb3VyY2UxbWltZT1jKGUuc291cmNlMSksZS5zb3VyY2UybWltZT1jKGUuc291cmNlMiksZS5wb3N0ZXI9YS5jb252ZXJ0VVJMKGUucG9zdGVyLCJwb3N0ZXIiKSxlLmZsYXNoUGxheWVyVXJsPWEuY29udmVydFVSTChiKyIvbW94aWVwbGF5ZXIuc3dmIiwibW92aWUiKSx0aW55bWNlLmVhY2gobyxmdW5jdGlvbihhKXt2YXIgYixjLGQ7aWYoYj1hLnJlZ2V4LmV4ZWMoZS5zb3VyY2UxKSl7Zm9yKGQ9YS51cmwsYz0wO2JbY107YysrKWQ9ZC5yZXBsYWNlKCIkIitjLGZ1bmN0aW9uKCl7cmV0dXJuIGJbY119KTtlLnNvdXJjZTE9ZCxlLnR5cGU9YS50eXBlLGUuYWxsb3dGdWxsc2NyZWVuPWEuYWxsb3dGdWxsc2NyZWVuLGUud2lkdGg9ZS53aWR0aHx8YS53LGUuaGVpZ2h0PWUuaGVpZ2h0fHxhLmh9fSksZS5lbWJlZClmPWsoZS5lbWJlZCxlLCEwKTtlbHNle3ZhciBnPWQoZS5zb3VyY2UxKTtpZihnJiYoZS50eXBlPSJzY3JpcHQiLGUud2lkdGg9Zy53aWR0aCxlLmhlaWdodD1nLmhlaWdodCksZS53aWR0aD1lLndpZHRofHwzMDAsZS5oZWlnaHQ9ZS5oZWlnaHR8fDE1MCx0aW55bWNlLmVhY2goZSxmdW5jdGlvbihiLGMpe2VbY109YS5kb20uZW5jb2RlKGIpfSksImlmcmFtZSI9PWUudHlwZSl7dmFyIGk9ZS5hbGxvd0Z1bGxzY3JlZW4/JyBhbGxvd0Z1bGxzY3JlZW49IjEiJzoiIjtmKz0nPGlmcmFtZSBzcmM9IicrZS5zb3VyY2UxKyciIHdpZHRoPSInK2Uud2lkdGgrJyIgaGVpZ2h0PSInK2UuaGVpZ2h0KyciJytpKyI+PC9pZnJhbWU+In1lbHNlImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIj09ZS5zb3VyY2UxbWltZT8oZis9JzxvYmplY3QgZGF0YT0iJytlLnNvdXJjZTErJyIgd2lkdGg9IicrZS53aWR0aCsnIiBoZWlnaHQ9IicrZS5oZWlnaHQrJyIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giPicsZS5wb3N0ZXImJihmKz0nPGltZyBzcmM9IicrZS5wb3N0ZXIrJyIgd2lkdGg9IicrZS53aWR0aCsnIiBoZWlnaHQ9IicrZS5oZWlnaHQrJyIgLz4nKSxmKz0iPC9vYmplY3Q+Iik6LTEhPWUuc291cmNlMW1pbWUuaW5kZXhPZigiYXVkaW8iKT9hLnNldHRpbmdzLmF1ZGlvX3RlbXBsYXRlX2NhbGxiYWNrP2Y9YS5zZXR0aW5ncy5hdWRpb190ZW1wbGF0ZV9jYWxsYmFjayhlKTpmKz0nPGF1ZGlvIGNvbnRyb2xzPSJjb250cm9scyIgc3JjPSInK2Uuc291cmNlMSsnIj4nKyhlLnNvdXJjZTI/J1xuPHNvdXJjZSBzcmM9IicrZS5zb3VyY2UyKyciJysoZS5zb3VyY2UybWltZT8nIHR5cGU9IicrZS5zb3VyY2UybWltZSsnIic6IiIpKyIgLz5cbiI6IiIpKyI8L2F1ZGlvPiI6InNjcmlwdCI9PWUudHlwZT9mKz0nPHNjcmlwdCBzcmM9IicrZS5zb3VyY2UxKyciPjwvc2NyaXB0Pic6Zj1hLnNldHRpbmdzLnZpZGVvX3RlbXBsYXRlX2NhbGxiYWNrP2Euc2V0dGluZ3MudmlkZW9fdGVtcGxhdGVfY2FsbGJhY2soZSk6Jzx2aWRlbyB3aWR0aD0iJytlLndpZHRoKyciIGhlaWdodD0iJytlLmhlaWdodCsnIicrKGUucG9zdGVyPycgcG9zdGVyPSInK2UucG9zdGVyKyciJzoiIikrJyBjb250cm9scz0iY29udHJvbHMiPlxuPHNvdXJjZSBzcmM9IicrZS5zb3VyY2UxKyciJysoZS5zb3VyY2UxbWltZT8nIHR5cGU9IicrZS5zb3VyY2UxbWltZSsnIic6IiIpKyIgLz5cbiIrKGUuc291cmNlMj8nPHNvdXJjZSBzcmM9IicrZS5zb3VyY2UyKyciJysoZS5zb3VyY2UybWltZT8nIHR5cGU9IicrZS5zb3VyY2UybWltZSsnIic6IiIpKyIgLz5cbiI6IiIpKyI8L3ZpZGVvPiJ9cmV0dXJuIGZ9ZnVuY3Rpb24gaChhKXt2YXIgYj17fTtyZXR1cm4gbmV3IHRpbnltY2UuaHRtbC5TYXhQYXJzZXIoe3ZhbGlkYXRlOiExLGFsbG93X2NvbmRpdGlvbmFsX2NvbW1lbnRzOiEwLHNwZWNpYWw6InNjcmlwdCxub3NjcmlwdCIsc3RhcnQ6ZnVuY3Rpb24oYSxjKXtpZihiLnNvdXJjZTF8fCJwYXJhbSIhPWF8fChiLnNvdXJjZTE9Yy5tYXAubW92aWUpLCJpZnJhbWUiIT1hJiYib2JqZWN0IiE9YSYmImVtYmVkIiE9YSYmInZpZGVvIiE9YSYmImF1ZGlvIiE9YXx8KGIudHlwZXx8KGIudHlwZT1hKSxiPXRpbnltY2UuZXh0ZW5kKGMubWFwLGIpKSwic2NyaXB0Ij09YSl7dmFyIGU9ZChjLm1hcC5zcmMpO2lmKCFlKXJldHVybjtiPXt0eXBlOiJzY3JpcHQiLHNvdXJjZTE6Yy5tYXAuc3JjLHdpZHRoOmUud2lkdGgsaGVpZ2h0OmUuaGVpZ2h0fX0ic291cmNlIj09YSYmKGIuc291cmNlMT9iLnNvdXJjZTJ8fChiLnNvdXJjZTI9Yy5tYXAuc3JjKTpiLnNvdXJjZTE9Yy5tYXAuc3JjKSwiaW1nIiE9YXx8Yi5wb3N0ZXJ8fChiLnBvc3Rlcj1jLm1hcC5zcmMpfX0pLnBhcnNlKGEpLGIuc291cmNlMT1iLnNvdXJjZTF8fGIuc3JjfHxiLmRhdGEsYi5zb3VyY2UyPWIuc291cmNlMnx8IiIsYi5wb3N0ZXI9Yi5wb3N0ZXJ8fCIiLGJ9ZnVuY3Rpb24gaShiKXtyZXR1cm4gYi5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLW9iamVjdCIpP2goYS5zZXJpYWxpemVyLnNlcmlhbGl6ZShiLHtzZWxlY3Rpb246ITB9KSk6e319ZnVuY3Rpb24gaihiKXtpZihhLnNldHRpbmdzLm1lZGlhX2ZpbHRlcl9odG1sPT09ITEpcmV0dXJuIGI7dmFyIGMsZD1uZXcgdGlueW1jZS5odG1sLldyaXRlcjtyZXR1cm4gbmV3IHRpbnltY2UuaHRtbC5TYXhQYXJzZXIoe3ZhbGlkYXRlOiExLGFsbG93X2NvbmRpdGlvbmFsX2NvbW1lbnRzOiExLHNwZWNpYWw6InNjcmlwdCxub3NjcmlwdCIsY29tbWVudDpmdW5jdGlvbihhKXtkLmNvbW1lbnQoYSl9LGNkYXRhOmZ1bmN0aW9uKGEpe2QuY2RhdGEoYSl9LHRleHQ6ZnVuY3Rpb24oYSxiKXtkLnRleHQoYSxiKX0sc3RhcnQ6ZnVuY3Rpb24oYixlLGYpe2lmKGM9ITAsInNjcmlwdCIhPWImJiJub3NjcmlwdCIhPWIpe2Zvcih2YXIgZz0wO2c8ZS5sZW5ndGg7ZysrKXtpZigwPT09ZVtnXS5uYW1lLmluZGV4T2YoIm9uIikpcmV0dXJuOyJzdHlsZSI9PWVbZ10ubmFtZSYmKGVbZ10udmFsdWU9YS5kb20uc2VyaWFsaXplU3R5bGUoYS5kb20ucGFyc2VTdHlsZShlW2ddLnZhbHVlKSxiKSl9ZC5zdGFydChiLGUsZiksYz0hMX19LGVuZDpmdW5jdGlvbihhKXtjfHxkLmVuZChhKX19LG5ldyB0aW55bWNlLmh0bWwuU2NoZW1hKHt9KSkucGFyc2UoYiksZC5nZXRDb250ZW50KCl9ZnVuY3Rpb24gayhhLGIsYyl7ZnVuY3Rpb24gZChhLGIpe3ZhciBjLGQsZSxmO2ZvcihjIGluIGIpaWYoZT0iIitiW2NdLGEubWFwW2NdKWZvcihkPWEubGVuZ3RoO2QtLTspZj1hW2RdLGYubmFtZT09YyYmKGU/KGEubWFwW2NdPWUsZi52YWx1ZT1lKTooZGVsZXRlIGEubWFwW2NdLGEuc3BsaWNlKGQsMSkpKTtlbHNlIGUmJihhLnB1c2goe25hbWU6Yyx2YWx1ZTplfSksYS5tYXBbY109ZSl9dmFyIGUsZj1uZXcgdGlueW1jZS5odG1sLldyaXRlcixnPTA7cmV0dXJuIG5ldyB0aW55bWNlLmh0bWwuU2F4UGFyc2VyKHt2YWxpZGF0ZTohMSxhbGxvd19jb25kaXRpb25hbF9jb21tZW50czohMCxzcGVjaWFsOiJzY3JpcHQsbm9zY3JpcHQiLGNvbW1lbnQ6ZnVuY3Rpb24oYSl7Zi5jb21tZW50KGEpfSxjZGF0YTpmdW5jdGlvbihhKXtmLmNkYXRhKGEpfSx0ZXh0OmZ1bmN0aW9uKGEsYil7Zi50ZXh0KGEsYil9LHN0YXJ0OmZ1bmN0aW9uKGEsaCxpKXtzd2l0Y2goYSl7Y2FzZSJ2aWRlbyI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOmNhc2UiaW1nIjpjYXNlImlmcmFtZSI6ZChoLHt3aWR0aDpiLndpZHRoLGhlaWdodDpiLmhlaWdodH0pfWlmKGMpc3dpdGNoKGEpe2Nhc2UidmlkZW8iOmQoaCx7cG9zdGVyOmIucG9zdGVyLHNyYzoiIn0pLGIuc291cmNlMiYmZChoLHtzcmM6IiJ9KTticmVhaztjYXNlImlmcmFtZSI6ZChoLHtzcmM6Yi5zb3VyY2UxfSk7YnJlYWs7Y2FzZSJzb3VyY2UiOmlmKGcrKywyPj1nJiYoZChoLHtzcmM6Ylsic291cmNlIitnXSx0eXBlOmJbInNvdXJjZSIrZysibWltZSJdfSksIWJbInNvdXJjZSIrZ10pKXJldHVybjticmVhaztjYXNlImltZyI6aWYoIWIucG9zdGVyKXJldHVybjtlPSEwfWYuc3RhcnQoYSxoLGkpfSxlbmQ6ZnVuY3Rpb24oYSl7aWYoInZpZGVvIj09YSYmYylmb3IodmFyIGg9MTsyPj1oO2grKylpZihiWyJzb3VyY2UiK2hdKXt2YXIgaT1bXTtpLm1hcD17fSxoPmcmJihkKGkse3NyYzpiWyJzb3VyY2UiK2hdLHR5cGU6Ylsic291cmNlIitoKyJtaW1lIl19KSxmLnN0YXJ0KCJzb3VyY2UiLGksITApKX1pZihiLnBvc3RlciYmIm9iamVjdCI9PWEmJmMmJiFlKXt2YXIgaj1bXTtqLm1hcD17fSxkKGose3NyYzpiLnBvc3Rlcix3aWR0aDpiLndpZHRoLGhlaWdodDpiLmhlaWdodH0pLGYuc3RhcnQoImltZyIsaiwhMCl9Zi5lbmQoYSl9fSxuZXcgdGlueW1jZS5odG1sLlNjaGVtYSh7fSkpLnBhcnNlKGEpLGYuZ2V0Q29udGVudCgpfWZ1bmN0aW9uIGwoYixjKXt2YXIgZCxlLGYsZyxoO2ZvcihmPWIuYXR0cmlidXRlcyxnPWYubGVuZ3RoO2ctLTspZD1mW2ddLm5hbWUsZT1mW2ddLnZhbHVlLCJ3aWR0aCIhPT1kJiYiaGVpZ2h0IiE9PWQmJiJzdHlsZSIhPT1kJiYoImRhdGEiIT1kJiYic3JjIiE9ZHx8KGU9YS5jb252ZXJ0VVJMKGUsZCkpLGMuYXR0cigiZGF0YS1tY2UtcC0iK2QsZSkpO2g9Yi5maXJzdENoaWxkJiZiLmZpcnN0Q2hpbGQudmFsdWUsaCYmKGMuYXR0cigiZGF0YS1tY2UtaHRtbCIsZXNjYXBlKGgpKSxjLmZpcnN0Q2hpbGQ9bnVsbCl9ZnVuY3Rpb24gbShhKXt2YXIgYixjPWEubmFtZTtyZXR1cm4gYj1uZXcgdGlueW1jZS5odG1sLk5vZGUoImltZyIsMSksYi5zaG9ydEVuZGVkPSEwLGwoYSxiKSxiLmF0dHIoe3dpZHRoOmEuYXR0cigid2lkdGgiKXx8IjMwMCIsaGVpZ2h0OmEuYXR0cigiaGVpZ2h0Iil8fCgiYXVkaW8iPT1jPyIzMCI6IjE1MCIpLHN0eWxlOmEuYXR0cigic3R5bGUiKSxzcmM6dGlueW1jZS5FbnYudHJhbnNwYXJlbnRTcmMsImRhdGEtbWNlLW9iamVjdCI6YywiY2xhc3MiOiJtY2Utb2JqZWN0IG1jZS1vYmplY3QtIitjfSksYn1mdW5jdGlvbiBuKGEpe3ZhciBiLGMsZCxlPWEubmFtZTtyZXR1cm4gYj1uZXcgdGlueW1jZS5odG1sLk5vZGUoInNwYW4iLDEpLGIuYXR0cih7Y29udGVudEVkaXRhYmxlOiJmYWxzZSIsc3R5bGU6YS5hdHRyKCJzdHlsZSIpLCJkYXRhLW1jZS1vYmplY3QiOmUsImNsYXNzIjoibWNlLXByZXZpZXctb2JqZWN0IG1jZS1vYmplY3QtIitlfSksbChhLGIpLGM9bmV3IHRpbnltY2UuaHRtbC5Ob2RlKGUsMSksYy5hdHRyKHtzcmM6YS5hdHRyKCJzcmMiKSxhbGxvd2Z1bGxzY3JlZW46YS5hdHRyKCJhbGxvd2Z1bGxzY3JlZW4iKSx3aWR0aDphLmF0dHIoIndpZHRoIil8fCIzMDAiLGhlaWdodDphLmF0dHIoImhlaWdodCIpfHwoImF1ZGlvIj09ZT8iMzAiOiIxNTAiKSxmcmFtZWJvcmRlcjoiMCJ9KSxkPW5ldyB0aW55bWNlLmh0bWwuTm9kZSgic3BhbiIsMSksZC5hdHRyKCJjbGFzcyIsIm1jZS1zaGltIiksYi5hcHBlbmQoYyksYi5hcHBlbmQoZCksYn12YXIgbz1be3JlZ2V4Oi95b3V0dVwuYmVcLyhbXHdcLS5dKykvLHR5cGU6ImlmcmFtZSIsdzo1NjAsaDozMTQsdXJsOiIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8kMSIsYWxsb3dGdWxsc2NyZWVuOiEwfSx7cmVnZXg6L3lvdXR1YmVcLmNvbSguKyl2PShbXiZdKykvLHR5cGU6ImlmcmFtZSIsdzo1NjAsaDozMTQsdXJsOiIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8kMiIsYWxsb3dGdWxsc2NyZWVuOiEwfSx7cmVnZXg6L3lvdXR1YmUuY29tXC9lbWJlZFwvKFthLXowLTlcLV9dKykvaSx0eXBlOiJpZnJhbWUiLHc6NTYwLGg6MzE0LHVybDoiLy93d3cueW91dHViZS5jb20vZW1iZWQvJDEiLGFsbG93RnVsbHNjcmVlbjohMH0se3JlZ2V4Oi92aW1lb1wuY29tXC8oWzAtOV0rKS8sdHlwZToiaWZyYW1lIix3OjQyNSxoOjM1MCx1cmw6Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8kMT90aXRsZT0wJmJ5bGluZT0wJnBvcnRyYWl0PTAmY29sb3I9OGRjN2RjIixhbGxvd2Z1bGxzY3JlZW46ITB9LHtyZWdleDovdmltZW9cLmNvbVwvKC4qKVwvKFswLTldKykvLHR5cGU6ImlmcmFtZSIsdzo0MjUsaDozNTAsdXJsOiIvL3BsYXllci52aW1lby5jb20vdmlkZW8vJDI/dGl0bGU9MCZhbXA7YnlsaW5lPTAiLGFsbG93ZnVsbHNjcmVlbjohMH0se3JlZ2V4Oi9tYXBzXC5nb29nbGVcLihbYS16XXsyLDN9KVwvbWFwc1wvKC4rKW1zaWQ9KC4rKS8sdHlwZToiaWZyYW1lIix3OjQyNSxoOjM1MCx1cmw6Jy8vbWFwcy5nb29nbGUuY29tL21hcHMvbXM/bXNpZD0kMiZvdXRwdXQ9ZW1iZWQiJyxhbGxvd0Z1bGxzY3JlZW46ITF9LHtyZWdleDovZGFpbHltb3Rpb25cLmNvbVwvdmlkZW9cLyhbXl9dKykvLHR5cGU6ImlmcmFtZSIsdzo0ODAsaDoyNzAsdXJsOiIvL3d3dy5kYWlseW1vdGlvbi5jb20vZW1iZWQvdmlkZW8vJDEiLGFsbG93RnVsbHNjcmVlbjohMH1dLHA9dGlueW1jZS5FbnYuaWUmJnRpbnltY2UuRW52LmllPD04PyJvbkNoYW5nZSI6Im9uSW5wdXQiO2Eub24oIlJlc29sdmVOYW1lIixmdW5jdGlvbihhKXt2YXIgYjsxPT1hLnRhcmdldC5ub2RlVHlwZSYmKGI9YS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1vYmplY3QiKSkmJihhLm5hbWU9Yil9KSxhLm9uKCJwcmVJbml0IixmdW5jdGlvbigpe3ZhciBiPWEuc2NoZW1hLmdldFNwZWNpYWxFbGVtZW50cygpO3RpbnltY2UuZWFjaCgidmlkZW8gYXVkaW8gaWZyYW1lIG9iamVjdCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhKXtiW2FdPW5ldyBSZWdFeHAoIjwvIithKyJbXj5dKj4iLCJnaSIpfSk7dmFyIGM9YS5zY2hlbWEuZ2V0Qm9vbEF0dHJzKCk7dGlueW1jZS5lYWNoKCJ3ZWJraXRhbGxvd2Z1bGxzY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93ZnVsbHNjcmVlbiIuc3BsaXQoIiAiKSxmdW5jdGlvbihhKXtjW2FdPXt9fSksYS5wYXJzZXIuYWRkTm9kZUZpbHRlcigiaWZyYW1lLHZpZGVvLGF1ZGlvLG9iamVjdCxlbWJlZCxzY3JpcHQiLGZ1bmN0aW9uKGIpe2Zvcih2YXIgYyxlLGYsZz1iLmxlbmd0aDtnLS07KWM9YltnXSxjLnBhcmVudCYmKGMucGFyZW50LmF0dHIoImRhdGEtbWNlLW9iamVjdCIpfHwoInNjcmlwdCIhPWMubmFtZXx8KGY9ZChjLmF0dHIoInNyYyIpKSkpJiYoZiYmKGYud2lkdGgmJmMuYXR0cigid2lkdGgiLGYud2lkdGgudG9TdHJpbmcoKSksZi5oZWlnaHQmJmMuYXR0cigiaGVpZ2h0IixmLmhlaWdodC50b1N0cmluZygpKSksZT0iaWZyYW1lIj09Yy5uYW1lJiZhLnNldHRpbmdzLm1lZGlhX2xpdmVfZW1iZWRzIT09ITEmJnRpbnltY2UuRW52LmNlRmFsc2U/bihjKTptKGMpLGMucmVwbGFjZShlKSkpfSksYS5zZXJpYWxpemVyLmFkZEF0dHJpYnV0ZUZpbHRlcigiZGF0YS1tY2Utb2JqZWN0IixmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkLGUsZixnLGgsaSxrLGw9YS5sZW5ndGg7bC0tOylpZihjPWFbbF0sYy5wYXJlbnQpe2ZvcihpPWMuYXR0cihiKSxkPW5ldyB0aW55bWNlLmh0bWwuTm9kZShpLDEpLCJhdWRpbyIhPWkmJiJzY3JpcHQiIT1pJiYoaz1jLmF0dHIoImNsYXNzIiksayYmLTEhPT1rLmluZGV4T2YoIm1jZS1wcmV2aWV3LW9iamVjdCIpP2QuYXR0cih7d2lkdGg6Yy5maXJzdENoaWxkLmF0dHIoIndpZHRoIiksaGVpZ2h0OmMuZmlyc3RDaGlsZC5hdHRyKCJoZWlnaHQiKX0pOmQuYXR0cih7d2lkdGg6Yy5hdHRyKCJ3aWR0aCIpLGhlaWdodDpjLmF0dHIoImhlaWdodCIpfSkpLGQuYXR0cih7c3R5bGU6Yy5hdHRyKCJzdHlsZSIpfSksZj1jLmF0dHJpYnV0ZXMsZT1mLmxlbmd0aDtlLS07KXt2YXIgbT1mW2VdLm5hbWU7MD09PW0uaW5kZXhPZigiZGF0YS1tY2UtcC0iKSYmZC5hdHRyKG0uc3Vic3RyKDExKSxmW2VdLnZhbHVlKX0ic2NyaXB0Ij09aSYmZC5hdHRyKCJ0eXBlIiwidGV4dC9qYXZhc2NyaXB0IiksZz1jLmF0dHIoImRhdGEtbWNlLWh0bWwiKSxnJiYoaD1uZXcgdGlueW1jZS5odG1sLk5vZGUoIiN0ZXh0IiwzKSxoLnJhdz0hMCxoLnZhbHVlPWoodW5lc2NhcGUoZykpLGQuYXBwZW5kKGgpKSxjLnJlcGxhY2UoZCl9fSl9KSxhLm9uKCJjbGljayBrZXl1cCIsZnVuY3Rpb24oKXt2YXIgYj1hLnNlbGVjdGlvbi5nZXROb2RlKCk7YiYmYS5kb20uaGFzQ2xhc3MoYiwibWNlLXByZXZpZXctb2JqZWN0IikmJmEuZG9tLmdldEF0dHJpYihiLCJkYXRhLW1jZS1zZWxlY3RlZCIpJiZiLnNldEF0dHJpYnV0ZSgiZGF0YS1tY2Utc2VsZWN0ZWQiLCIyIil9KSxhLm9uKCJPYmplY3RTZWxlY3RlZCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1vYmplY3QiKTsiYXVkaW8iIT1iJiYic2NyaXB0IiE9Ynx8YS5wcmV2ZW50RGVmYXVsdCgpfSksYS5vbigib2JqZWN0UmVzaXplZCIsZnVuY3Rpb24oYSl7dmFyIGIsYz1hLnRhcmdldDtjLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2Utb2JqZWN0IikmJihiPWMuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1odG1sIiksYiYmKGI9dW5lc2NhcGUoYiksYy5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWh0bWwiLGVzY2FwZShrKGIse3dpZHRoOmEud2lkdGgsaGVpZ2h0OmEuaGVpZ2h0fSkpKSkpfSksYS5hZGRCdXR0b24oIm1lZGlhIix7dG9vbHRpcDoiSW5zZXJ0L2VkaXQgdmlkZW8iLG9uY2xpY2s6ZSxzdGF0ZVNlbGVjdG9yOlsiaW1nW2RhdGEtbWNlLW9iamVjdF0iLCJzcGFuW2RhdGEtbWNlLW9iamVjdF0iXX0pLGEuYWRkTWVudUl0ZW0oIm1lZGlhIix7aWNvbjoibWVkaWEiLHRleHQ6Ikluc2VydC9lZGl0IHZpZGVvIixvbmNsaWNrOmUsY29udGV4dDoiaW5zZXJ0IixwcmVwZW5kVG9Db250ZXh0OiEwfSksYS5vbigic2V0Q29udGVudCIsZnVuY3Rpb24oKXthLiQoInNwYW4ubWNlLXByZXZpZXctb2JqZWN0IikuZWFjaChmdW5jdGlvbihiLGMpe3ZhciBkPWEuJChjKTswPT09ZC5maW5kKCJzcGFuLm1jZS1zaGltIixjKS5sZW5ndGgmJmQuYXBwZW5kKCc8c3BhbiBjbGFzcz0ibWNlLXNoaW0iPjwvc3Bhbj4nKX0pfSksYS5hZGRDb21tYW5kKCJtY2VNZWRpYSIsZSksdGhpcy5zaG93RGlhbG9nPWV9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/nonbreaking/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/nonbreaking/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/nonbreaking/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgibm9uYnJlYWtpbmciLGZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0UGFyYW0oIm5vbmJyZWFraW5nX2ZvcmNlX3RhYiIpO2lmKGEuYWRkQ29tbWFuZCgibWNlTm9uQnJlYWtpbmciLGZ1bmN0aW9uKCl7YS5pbnNlcnRDb250ZW50KGEucGx1Z2lucy52aXN1YWxjaGFycyYmYS5wbHVnaW5zLnZpc3VhbGNoYXJzLnN0YXRlPyc8c3BhbiBjbGFzcz0ibWNlLW5ic3AiPiZuYnNwOzwvc3Bhbj4nOiImbmJzcDsiKSxhLmRvbS5zZXRBdHRyaWIoYS5kb20uc2VsZWN0KCJzcGFuLm1jZS1uYnNwIiksImRhdGEtbWNlLWJvZ3VzIiwiMSIpfSksYS5hZGRCdXR0b24oIm5vbmJyZWFraW5nIix7dGl0bGU6Ik5vbmJyZWFraW5nIHNwYWNlIixjbWQ6Im1jZU5vbkJyZWFraW5nIn0pLGEuYWRkTWVudUl0ZW0oIm5vbmJyZWFraW5nIix7dGV4dDoiTm9uYnJlYWtpbmcgc3BhY2UiLGNtZDoibWNlTm9uQnJlYWtpbmciLGNvbnRleHQ6Imluc2VydCJ9KSxiKXt2YXIgYz0rYj4xPytiOjM7YS5vbigia2V5ZG93biIsZnVuY3Rpb24oYil7aWYoOT09Yi5rZXlDb2RlKXtpZihiLnNoaWZ0S2V5KXJldHVybjtiLnByZXZlbnREZWZhdWx0KCk7Zm9yKHZhciBkPTA7Yz5kO2QrKylhLmV4ZWNDb21tYW5kKCJtY2VOb25CcmVha2luZyIpfX0pfX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/noneditable/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/noneditable/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/noneditable/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgibm9uZWRpdGFibGUiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybi0xIT09KCIgIitiLmF0dHIoImNsYXNzIikrIiAiKS5pbmRleE9mKGEpfX1mdW5jdGlvbiBjKGIpe2Z1bmN0aW9uIGMoYil7dmFyIGM9YXJndW1lbnRzLGQ9Y1tjLmxlbmd0aC0yXTtyZXR1cm4gZD4wJiYnIic9PWcuY2hhckF0KGQtMSk/YjonPHNwYW4gY2xhc3M9IicraCsnIiBkYXRhLW1jZS1jb250ZW50PSInK2EuZG9tLmVuY29kZShjWzBdKSsnIj4nK2EuZG9tLmVuY29kZSgic3RyaW5nIj09dHlwZW9mIGNbMV0/Y1sxXTpjWzBdKSsiPC9zcGFuPiJ9dmFyIGQ9Zi5sZW5ndGgsZz1iLmNvbnRlbnQsaD10aW55bWNlLnRyaW0oZSk7aWYoInJhdyIhPWIuZm9ybWF0KXtmb3IoO2QtLTspZz1nLnJlcGxhY2UoZltkXSxjKTtiLmNvbnRlbnQ9Z319dmFyIGQsZSxmLGc9ImNvbnRlbnRlZGl0YWJsZSI7ZD0iICIrdGlueW1jZS50cmltKGEuZ2V0UGFyYW0oIm5vbmVkaXRhYmxlX2VkaXRhYmxlX2NsYXNzIiwibWNlRWRpdGFibGUiKSkrIiAiLGU9IiAiK3RpbnltY2UudHJpbShhLmdldFBhcmFtKCJub25lZGl0YWJsZV9ub25lZGl0YWJsZV9jbGFzcyIsIm1jZU5vbkVkaXRhYmxlIikpKyIgIjt2YXIgaD1iKGQpLGk9YihlKTtmPWEuZ2V0UGFyYW0oIm5vbmVkaXRhYmxlX3JlZ2V4cCIpLGYmJiFmLmxlbmd0aCYmKGY9W2ZdKSxhLm9uKCJQcmVJbml0IixmdW5jdGlvbigpe2YmJmEub24oIkJlZm9yZVNldENvbnRlbnQiLGMpLGEucGFyc2VyLmFkZEF0dHJpYnV0ZUZpbHRlcigiY2xhc3MiLGZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjPWEubGVuZ3RoO2MtLTspYj1hW2NdLGgoYik/Yi5hdHRyKGcsInRydWUiKTppKGIpJiZiLmF0dHIoZywiZmFsc2UiKX0pLGEuc2VyaWFsaXplci5hZGRBdHRyaWJ1dGVGaWx0ZXIoZyxmdW5jdGlvbihhKXtmb3IodmFyIGIsYz1hLmxlbmd0aDtjLS07KWI9YVtjXSwoaChiKXx8aShiKSkmJihmJiZiLmF0dHIoImRhdGEtbWNlLWNvbnRlbnQiKT8oYi5uYW1lPSIjdGV4dCIsYi50eXBlPTMsYi5yYXc9ITAsYi52YWx1ZT1iLmF0dHIoImRhdGEtbWNlLWNvbnRlbnQiKSk6Yi5hdHRyKGcsbnVsbCkpfSl9KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/pagebreak/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/pagebreak/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/pagebreak/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgicGFnZWJyZWFrIixmdW5jdGlvbihhKXt2YXIgYj0ibWNlLXBhZ2VicmVhayIsYz1hLmdldFBhcmFtKCJwYWdlYnJlYWtfc2VwYXJhdG9yIiwiPCEtLSBwYWdlYnJlYWsgLS0+IiksZD1uZXcgUmVnRXhwKGMucmVwbGFjZSgvW1w/XC5cKlxbXF1cKFwpXHtcfVwrXF5cJFw6XS9nLGZ1bmN0aW9uKGEpe3JldHVybiJcXCIrYX0pLCJnaSIpLGU9JzxpbWcgc3JjPSInK3RpbnltY2UuRW52LnRyYW5zcGFyZW50U3JjKyciIGNsYXNzPSInK2IrJyIgZGF0YS1tY2UtcmVzaXplPSJmYWxzZSIgZGF0YS1tY2UtcGxhY2Vob2xkZXIgLz4nO2EuYWRkQ29tbWFuZCgibWNlUGFnZUJyZWFrIixmdW5jdGlvbigpe2Euc2V0dGluZ3MucGFnZWJyZWFrX3NwbGl0X2Jsb2NrP2EuaW5zZXJ0Q29udGVudCgiPHA+IitlKyI8L3A+Iik6YS5pbnNlcnRDb250ZW50KGUpfSksYS5hZGRCdXR0b24oInBhZ2VicmVhayIse3RpdGxlOiJQYWdlIGJyZWFrIixjbWQ6Im1jZVBhZ2VCcmVhayJ9KSxhLmFkZE1lbnVJdGVtKCJwYWdlYnJlYWsiLHt0ZXh0OiJQYWdlIGJyZWFrIixpY29uOiJwYWdlYnJlYWsiLGNtZDoibWNlUGFnZUJyZWFrIixjb250ZXh0OiJpbnNlcnQifSksYS5vbigiUmVzb2x2ZU5hbWUiLGZ1bmN0aW9uKGMpeyJJTUciPT1jLnRhcmdldC5ub2RlTmFtZSYmYS5kb20uaGFzQ2xhc3MoYy50YXJnZXQsYikmJihjLm5hbWU9InBhZ2VicmVhayIpfSksYS5vbigiY2xpY2siLGZ1bmN0aW9uKGMpe2M9Yy50YXJnZXQsIklNRyI9PT1jLm5vZGVOYW1lJiZhLmRvbS5oYXNDbGFzcyhjLGIpJiZhLnNlbGVjdGlvbi5zZWxlY3QoYyl9KSxhLm9uKCJCZWZvcmVTZXRDb250ZW50IixmdW5jdGlvbihhKXthLmNvbnRlbnQ9YS5jb250ZW50LnJlcGxhY2UoZCxlKX0pLGEub24oIlByZUluaXQiLGZ1bmN0aW9uKCl7YS5zZXJpYWxpemVyLmFkZE5vZGVGaWx0ZXIoImltZyIsZnVuY3Rpb24oYil7Zm9yKHZhciBkLGUsZj1iLmxlbmd0aDtmLS07KWlmKGQ9YltmXSxlPWQuYXR0cigiY2xhc3MiKSxlJiYtMSE9PWUuaW5kZXhPZigibWNlLXBhZ2VicmVhayIpKXt2YXIgZz1kLnBhcmVudDtpZihhLnNjaGVtYS5nZXRCbG9ja0VsZW1lbnRzKClbZy5uYW1lXSYmYS5zZXR0aW5ncy5wYWdlYnJlYWtfc3BsaXRfYmxvY2spe2cudHlwZT0zLGcudmFsdWU9YyxnLnJhdz0hMCxkLnJlbW92ZSgpO2NvbnRpbnVlfWQudHlwZT0zLGQudmFsdWU9YyxkLnJhdz0hMH19KX0pfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/paste/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/paste/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/paste/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGEsYil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGMoYSxiKXtmb3IodmFyIGMsZD1bXSxmPTA7ZjxhLmxlbmd0aDsrK2Ype2lmKGM9Z1thW2ZdXXx8ZShhW2ZdKSwhYyl0aHJvdyJtb2R1bGUgZGVmaW5pdGlvbiBkZXBlbmRlY3kgbm90IGZvdW5kOiAiK2FbZl07ZC5wdXNoKGMpfWIuYXBwbHkobnVsbCxkKX1mdW5jdGlvbiBkKGEsZCxlKXtpZigic3RyaW5nIiE9dHlwZW9mIGEpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgbW9kdWxlIGlkIG11c3QgYmUgZGVmaW5lZCBhbmQgYmUgYSBzdHJpbmciO2lmKGQ9PT1iKXRocm93ImludmFsaWQgbW9kdWxlIGRlZmluaXRpb24sIGRlcGVuZGVuY2llcyBtdXN0IGJlIHNwZWNpZmllZCI7aWYoZT09PWIpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgZGVmaW5pdGlvbiBmdW5jdGlvbiBtdXN0IGJlIHNwZWNpZmllZCI7YyhkLGZ1bmN0aW9uKCl7Z1thXT1lLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pfWZ1bmN0aW9uIGUoYil7Zm9yKHZhciBjPWEsZD1iLnNwbGl0KC9bLlwvXS8pLGU9MDtlPGQubGVuZ3RoOysrZSl7aWYoIWNbZFtlXV0pcmV0dXJuO2M9Y1tkW2VdXX1yZXR1cm4gY31mdW5jdGlvbiBmKGMpe3ZhciBkLGUsZixoLGk7Zm9yKGQ9MDtkPGMubGVuZ3RoO2QrKyl7ZT1hLGY9Y1tkXSxoPWYuc3BsaXQoL1suXC9dLyk7Zm9yKHZhciBqPTA7ajxoLmxlbmd0aC0xOysraillW2hbal1dPT09YiYmKGVbaFtqXV09e30pLGU9ZVtoW2pdXTtlW2hbaC5sZW5ndGgtMV1dPWdbZl19aWYoYS5BTURMQ19URVNUUyl7aT1hLnByaXZhdGVNb2R1bGVzfHx7fTtmb3IoZiBpbiBnKWlbZl09Z1tmXTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWRlbGV0ZSBpW2NbZF1dO2EucHJpdmF0ZU1vZHVsZXM9aX19dmFyIGc9e307ZCgidGlueW1jZS9wYXN0ZXBsdWdpbi9VdGlscyIsWyJ0aW55bWNlL3V0aWwvVG9vbHMiLCJ0aW55bWNlL2h0bWwvRG9tUGFyc2VyIiwidGlueW1jZS9odG1sL1NjaGVtYSJdLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGIsYyl7cmV0dXJuIGEuZWFjaChjLGZ1bmN0aW9uKGEpe2I9YS5jb25zdHJ1Y3Rvcj09UmVnRXhwP2IucmVwbGFjZShhLCIiKTpiLnJlcGxhY2UoYVswXSxhWzFdKX0pLGJ9ZnVuY3Rpb24gZShlKXtmdW5jdGlvbiBmKGEpe3ZhciBiPWEubmFtZSxjPWE7aWYoImJyIj09PWIpcmV0dXJuIHZvaWQoaSs9IlxuIik7aWYoaltiXSYmKGkrPSIgIiksa1tiXSlyZXR1cm4gdm9pZChpKz0iICIpO2lmKDM9PWEudHlwZSYmKGkrPWEudmFsdWUpLCFhLnNob3J0RW5kZWQmJihhPWEuZmlyc3RDaGlsZCkpZG8gZihhKTt3aGlsZShhPWEubmV4dCk7bFtiXSYmYy5uZXh0JiYoaSs9IlxuIiwicCI9PWImJihpKz0iXG4iKSl9dmFyIGc9bmV3IGMsaD1uZXcgYih7fSxnKSxpPSIiLGo9Zy5nZXRTaG9ydEVuZGVkRWxlbWVudHMoKSxrPWEubWFrZU1hcCgic2NyaXB0IG5vc2NyaXB0IHN0eWxlIHRleHRhcmVhIHZpZGVvIGF1ZGlvIGlmcmFtZSBvYmplY3QiLCIgIiksbD1nLmdldEJsb2NrRWxlbWVudHMoKTtyZXR1cm4gZT1kKGUsWy88IVxbW15cXV0rXF0+L2ddKSxmKGgucGFyc2UoZSkpLGl9ZnVuY3Rpb24gZihhKXtmdW5jdGlvbiBiKGEsYixjKXtyZXR1cm4gYnx8Yz8iXHhhMCI6IiAifXJldHVybiBhPWQoYSxbL15bXHNcU10qPGJvZHlbXj5dKj5ccyp8XHMqPFwvYm9keVtePl0qPltcc1xTXSokL2csLzwhLS1TdGFydEZyYWdtZW50LS0+fDwhLS1FbmRGcmFnbWVudC0tPi9nLFsvKCA/KTxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPlx1MDBhMDxcL3NwYW4+KCA/KS9nLGJdLC88YnIgY2xhc3M9IkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPi9nLC88YnI+JC9pXSl9ZnVuY3Rpb24gZyhhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhK2IrK319cmV0dXJue2ZpbHRlcjpkLGlubmVyVGV4dDplLHRyaW1IdG1sOmYsY3JlYXRlSWRHZW5lcmF0b3I6Z319KSxkKCJ0aW55bWNlL3Bhc3RlcGx1Z2luL0NsaXBib2FyZCIsWyJ0aW55bWNlL0VudiIsInRpbnltY2UvZG9tL1JhbmdlVXRpbHMiLCJ0aW55bWNlL3V0aWwvVksiLCJ0aW55bWNlL3Bhc3RlcGx1Z2luL1V0aWxzIiwidGlueW1jZS91dGlsL0RlbGF5Il0sZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gZnVuY3Rpb24oZil7ZnVuY3Rpb24gZyhhKXt2YXIgYixjPWYuZG9tO2lmKGI9Zi5maXJlKCJCZWZvcmVQYXN0ZVByZVByb2Nlc3MiLHtjb250ZW50OmF9KSxiPWYuZmlyZSgiUGFzdGVQcmVQcm9jZXNzIixiKSxhPWIuY29udGVudCwhYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7aWYoZi5oYXNFdmVudExpc3RlbmVycygiUGFzdGVQb3N0UHJvY2VzcyIpJiYhYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGQ9Yy5hZGQoZi5nZXRCb2R5KCksImRpdiIse3N0eWxlOiJkaXNwbGF5Om5vbmUifSxhKTtiPWYuZmlyZSgiUGFzdGVQb3N0UHJvY2VzcyIse25vZGU6ZH0pLGMucmVtb3ZlKGQpLGE9Yi5ub2RlLmlubmVySFRNTH1iLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLmluc2VydENvbnRlbnQoYSx7bWVyZ2U6Zi5zZXR0aW5ncy5wYXN0ZV9tZXJnZV9mb3JtYXRzIT09ITEsZGF0YTp7cGFzdGU6ITB9fSl9fWZ1bmN0aW9uIGgoYSl7YT1mLmRvbS5lbmNvZGUoYSkucmVwbGFjZSgvXHJcbi9nLCJcbiIpO3ZhciBiLGM9Zi5kb20uZ2V0UGFyZW50KGYuc2VsZWN0aW9uLmdldFN0YXJ0KCksZi5kb20uaXNCbG9jayksZT1mLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrO2UmJihiPWYuZG9tLmNyZWF0ZUhUTUwoZSxmLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrX2F0dHJzKSxiPWIuc3Vic3RyKDAsYi5sZW5ndGgtMykrIj4iKSxjJiYvXihQUkV8RElWKSQvLnRlc3QoYy5ub2RlTmFtZSl8fCFlP2E9ZC5maWx0ZXIoYSxbWy9cbi9nLCI8YnI+Il1dKTooYT1kLmZpbHRlcihhLFtbL1xuXG4vZywiPC9wPiIrYl0sWy9eKC4qPFwvcD4pKDxwPikkLyxiKyIkMSJdLFsvXG4vZywiPGJyIC8+Il1dKSwtMSE9YS5pbmRleE9mKCI8cD4iKSYmKGE9YithKSksZyhhKX1mdW5jdGlvbiBpKCl7ZnVuY3Rpb24gYihhKXt2YXIgYixjLGUsZj1hLnN0YXJ0Q29udGFpbmVyO2lmKGI9YS5nZXRDbGllbnRSZWN0cygpLGIubGVuZ3RoKXJldHVybiBiWzBdO2lmKGEuY29sbGFwc2VkJiYxPT1mLm5vZGVUeXBlKXtmb3IoZT1mLmNoaWxkTm9kZXNbdi5zdGFydE9mZnNldF07ZSYmMz09ZS5ub2RlVHlwZSYmIWUuZGF0YS5sZW5ndGg7KWU9ZS5uZXh0U2libGluZztpZihlKXJldHVybiJCUiI9PWUudGFnTmFtZSYmKGM9ZC5kb2MuY3JlYXRlVGV4dE5vZGUoIlx1ZmVmZiIpLGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxlKSxhPWQuY3JlYXRlUm5nKCksYS5zZXRTdGFydEJlZm9yZShjKSxhLnNldEVuZEFmdGVyKGMpLGI9YS5nZXRDbGllbnRSZWN0cygpLGQucmVtb3ZlKGMpKSxiLmxlbmd0aD9iWzBdOnZvaWQgMH19dmFyIGMsZD1mLmRvbSxlPWYuZ2V0Qm9keSgpLGc9Zi5kb20uZ2V0Vmlld1BvcnQoZi5nZXRXaW4oKSksaD1nLnksaT0yMDtpZih2PWYuc2VsZWN0aW9uLmdldFJuZygpLGYuaW5saW5lJiYoYz1mLnNlbGVjdGlvbi5nZXRTY3JvbGxDb250YWluZXIoKSxjJiZjLnNjcm9sbFRvcD4wJiYoaD1jLnNjcm9sbFRvcCkpLHYuZ2V0Q2xpZW50UmVjdHMpe3ZhciBqPWIodik7aWYoailpPWgrKGoudG9wLWQuZ2V0UG9zKGUpLnkpO2Vsc2V7aT1oO3ZhciBrPXYuc3RhcnRDb250YWluZXI7ayYmKDM9PWsubm9kZVR5cGUmJmsucGFyZW50Tm9kZSE9ZSYmKGs9ay5wYXJlbnROb2RlKSwxPT1rLm5vZGVUeXBlJiYoaT1kLmdldFBvcyhrLGN8fGUpLnkpKX19dT1kLmFkZChmLmdldEJvZHkoKSwiZGl2Iix7aWQ6Im1jZXBhc3RlYmluIixjb250ZW50RWRpdGFibGU6ITAsImRhdGEtbWNlLWJvZ3VzIjoiYWxsIixzdHlsZToicG9zaXRpb246IGFic29sdXRlOyB0b3A6ICIraSsicHg7d2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgb3BhY2l0eTogMCJ9LEEpLChhLmllfHxhLmdlY2tvKSYmZC5zZXRTdHlsZSh1LCJsZWZ0IiwicnRsIj09ZC5nZXRTdHlsZShlLCJkaXJlY3Rpb24iLCEwKT82NTUzNTotNjU1MzUpLGQuYmluZCh1LCJiZWZvcmVkZWFjdGl2YXRlIGZvY3VzaW4gZm9jdXNvdXQiLGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCl9KSx1LmZvY3VzKCksZi5zZWxlY3Rpb24uc2VsZWN0KHUsITApfWZ1bmN0aW9uIGooKXtpZih1KXtmb3IodmFyIGE7YT1mLmRvbS5nZXQoIm1jZXBhc3RlYmluIik7KWYuZG9tLnJlbW92ZShhKSxmLmRvbS51bmJpbmQoYSk7diYmZi5zZWxlY3Rpb24uc2V0Um5nKHYpfXU9dj1udWxsfWZ1bmN0aW9uIGsoKXt2YXIgYSxiLGMsZCxlPSIiO2ZvcihhPWYuZG9tLnNlbGVjdCgiZGl2W2lkPW1jZXBhc3RlYmluXSIpLGI9MDtiPGEubGVuZ3RoO2IrKyljPWFbYl0sYy5maXJzdENoaWxkJiYibWNlcGFzdGViaW4iPT1jLmZpcnN0Q2hpbGQuaWQmJihjPWMuZmlyc3RDaGlsZCksZD1jLmlubmVySFRNTCxlIT1BJiYoZSs9ZCk7cmV0dXJuIGV9ZnVuY3Rpb24gbChhKXt2YXIgYj17fTtpZihhKXtpZihhLmdldERhdGEpe3ZhciBjPWEuZ2V0RGF0YSgiVGV4dCIpO2MmJmMubGVuZ3RoPjAmJi0xPT1jLmluZGV4T2YoQikmJihiWyJ0ZXh0L3BsYWluIl09Yyl9aWYoYS50eXBlcylmb3IodmFyIGQ9MDtkPGEudHlwZXMubGVuZ3RoO2QrKyl7dmFyIGU9YS50eXBlc1tkXTtiW2VdPWEuZ2V0RGF0YShlKX19cmV0dXJuIGJ9ZnVuY3Rpb24gbShhKXtyZXR1cm4gbChhLmNsaXBib2FyZERhdGF8fGYuZ2V0RG9jKCkuZGF0YVRyYW5zZmVyKX1mdW5jdGlvbiBuKGEpe3JldHVybiByKGEsInRleHQvaHRtbCIpfHxyKGEsInRleHQvcGxhaW4iKX1mdW5jdGlvbiBvKGEsYil7ZnVuY3Rpb24gYyhhKXt2YXIgYjtyZXR1cm4gYj1hLmluZGV4T2YoIiwiKSwtMSE9PWI/YS5zdWJzdHIoYisxKTpudWxsfWZ1bmN0aW9uIGQoZCl7ZnVuY3Rpb24gZShhLGQpe2ImJihmLnNlbGVjdGlvbi5zZXRSbmcoYiksYj1udWxsKTt2YXIgZT1mLmVkaXRvclVwbG9hZC5ibG9iQ2FjaGUsaD1lLmNyZWF0ZShDKCksZCxjKGEucmVzdWx0KSk7ZS5hZGQoaCksZygnPGltZyBzcmM9IicraC5ibG9iVXJpKCkrJyI+Jyl9dmFyIGgsaSxqLGs9ITE7aWYoZClmb3IoaD0wO2g8ZC5sZW5ndGg7aCsrKWlmKGk9ZFtoXSwvXmltYWdlXC8oanBlZ3xwbmd8Z2lmfGJtcCkkLy50ZXN0KGkudHlwZSkpe3ZhciBsPWkuZ2V0QXNGaWxlP2kuZ2V0QXNGaWxlKCk6aTtqPW5ldyBGaWxlUmVhZGVyLGoub25sb2FkPWUuYmluZChudWxsLGosbCksai5yZWFkQXNEYXRhVVJMKGwpLGEucHJldmVudERlZmF1bHQoKSxrPSEwfXJldHVybiBrfXZhciBlPWEuY2xpcGJvYXJkRGF0YXx8YS5kYXRhVHJhbnNmZXI7cmV0dXJuIGYuc2V0dGluZ3MucGFzdGVfZGF0YV9pbWFnZXMmJmU/ZChlLml0ZW1zKXx8ZChlLmZpbGVzKTp2b2lkIDB9ZnVuY3Rpb24gcChhKXt2YXIgYj1hLmNsaXBib2FyZERhdGE7cmV0dXJuLTEhPW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQW5kcm9pZCIpJiZiJiZiLml0ZW1zJiYwPT09Yi5pdGVtcy5sZW5ndGh9ZnVuY3Rpb24gcShhKXtyZXR1cm4gYi5nZXRDYXJldFJhbmdlRnJvbVBvaW50KGEuY2xpZW50WCxhLmNsaWVudFksZi5nZXREb2MoKSl9ZnVuY3Rpb24gcihhLGIpe3JldHVybiBiIGluIGEmJmFbYl0ubGVuZ3RoPjB9ZnVuY3Rpb24gcyhhKXtyZXR1cm4gYy5tZXRhS2V5UHJlc3NlZChhKSYmODY9PWEua2V5Q29kZXx8YS5zaGlmdEtleSYmNDU9PWEua2V5Q29kZX1mdW5jdGlvbiB0KCl7ZnVuY3Rpb24gYihhLGIsYyl7dmFyIGU7cmV0dXJuIHIoYSwidGV4dC9odG1sIik/ZT1hWyJ0ZXh0L2h0bWwiXTooZT1rKCksZT09QSYmKGM9ITApKSxlPWQudHJpbUh0bWwoZSksdSYmdS5maXJzdENoaWxkJiYibWNlcGFzdGViaW4iPT09dS5maXJzdENoaWxkLmlkJiYoYz0hMCksaigpLGUubGVuZ3RofHwoYz0hMCksYyYmKGU9cihhLCJ0ZXh0L3BsYWluIikmJi0xPT1lLmluZGV4T2YoIjwvcD4iKT9hWyJ0ZXh0L3BsYWluIl06ZC5pbm5lclRleHQoZSkpLGU9PUE/dm9pZChifHxmLndpbmRvd01hbmFnZXIuYWxlcnQoIlBsZWFzZSB1c2UgQ3RybCtWL0NtZCtWIGtleWJvYXJkIHNob3J0Y3V0cyB0byBwYXN0ZSBjb250ZW50cy4iKSk6dm9pZChjP2goZSk6ZyhlKSl9ZnVuY3Rpb24gYyhhKXtyZXR1cm4gMD09PWFbInRleHQvcGxhaW4iXS5pbmRleE9mKCJmaWxlOi8vIil9Zi5vbigia2V5ZG93biIsZnVuY3Rpb24oYil7ZnVuY3Rpb24gYyhhKXtzKGEpJiYhYS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmaigpfWlmKHMoYikmJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZih3PWIuc2hpZnRLZXkmJjg2PT1iLmtleUNvZGUsdyYmYS53ZWJraXQmJi0xIT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIlZlcnNpb24vIikpcmV0dXJuO2lmKGIuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkseT0obmV3IERhdGUpLmdldFRpbWUoKSxhLmllJiZ3KXJldHVybiBiLnByZXZlbnREZWZhdWx0KCksdm9pZCBmLmZpcmUoInBhc3RlIix7aWVGYWtlOiEwfSk7aigpLGkoKSxmLm9uY2UoImtleXVwIixjKSxmLm9uY2UoInBhc3RlIixmdW5jdGlvbigpe2Yub2ZmKCJrZXl1cCIsYyl9KX19KTt2YXIgdD1mdW5jdGlvbigpe3JldHVybiB2fHxmLnNlbGVjdGlvbi5nZXRSbmcoKX07Zi5vbigicGFzdGUiLGZ1bmN0aW9uKGMpe3ZhciBkPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGc9bShjKSxoPShuZXcgRGF0ZSkuZ2V0VGltZSgpLWQsbD0obmV3IERhdGUpLmdldFRpbWUoKS15LWg8MWUzLHE9InRleHQiPT14LnBhc3RlRm9ybWF0fHx3O3JldHVybiB3PSExLGMuaXNEZWZhdWx0UHJldmVudGVkKCl8fHAoYyk/dm9pZCBqKCk6IW4oZykmJm8oYyx0KCkpP3ZvaWQgaigpOihsfHxjLnByZXZlbnREZWZhdWx0KCksIWEuaWV8fGwmJiFjLmllRmFrZXx8KGkoKSxmLmRvbS5iaW5kKHUsInBhc3RlIixmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpfSksZi5nZXREb2MoKS5leGVjQ29tbWFuZCgiUGFzdGUiLCExLG51bGwpLGdbInRleHQvaHRtbCJdPWsoKSksdm9pZChyKGcsInRleHQvaHRtbCIpPyhjLnByZXZlbnREZWZhdWx0KCksYihnLGwscSkpOmUuc2V0RWRpdG9yVGltZW91dChmLGZ1bmN0aW9uKCl7YihnLGwscSl9LDApKSl9KSxmLm9uKCJkcmFnc3RhcnQgZHJhZ2VuZCIsZnVuY3Rpb24oYSl7ej0iZHJhZ3N0YXJ0Ij09YS50eXBlfSksZi5vbigiZHJvcCIsZnVuY3Rpb24oYSl7dmFyIGIsaTtpZihpPXEoYSksIWEuaXNEZWZhdWx0UHJldmVudGVkKCkmJiF6JiYoYj1sKGEuZGF0YVRyYW5zZmVyKSwobihiKSYmIWMoYil8fCFvKGEsaSkpJiZpJiZmLnNldHRpbmdzLnBhc3RlX2ZpbHRlcl9kcm9wIT09ITEpKXt2YXIgaj1iWyJtY2UtaW50ZXJuYWwiXXx8YlsidGV4dC9odG1sIl18fGJbInRleHQvcGxhaW4iXTtqJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGUuc2V0RWRpdG9yVGltZW91dChmLGZ1bmN0aW9uKCl7Zi51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2JbIm1jZS1pbnRlcm5hbCJdJiZmLmV4ZWNDb21tYW5kKCJEZWxldGUiKSxmLnNlbGVjdGlvbi5zZXRSbmcoaSksaj1kLnRyaW1IdG1sKGopLGJbInRleHQvaHRtbCJdP2coaik6aChqKX0pfSkpfX0pLGYub24oImRyYWdvdmVyIGRyYWdlbmQiLGZ1bmN0aW9uKGEpe2Yuc2V0dGluZ3MucGFzdGVfZGF0YV9pbWFnZXMmJmEucHJldmVudERlZmF1bHQoKX0pfXZhciB1LHYsdyx4PXRoaXMseT0wLHo9ITEsQT0iJU1DRVBBU1RFQklOJSIsQj0iZGF0YTp0ZXh0L21jZS1pbnRlcm5hbCwiLEM9ZC5jcmVhdGVJZEdlbmVyYXRvcigibWNlY2xpcCIpO3gucGFzdGVIdG1sPWcseC5wYXN0ZVRleHQ9aCxmLm9uKCJwcmVJbml0IixmdW5jdGlvbigpe3QoKSxmLnBhcnNlci5hZGROb2RlRmlsdGVyKCJpbWciLGZ1bmN0aW9uKGIsYyxkKXtmdW5jdGlvbiBlKGEpe3JldHVybiBhLmRhdGEmJmEuZGF0YS5wYXN0ZT09PSEwfWZ1bmN0aW9uIGcoYil7Yi5hdHRyKCJkYXRhLW1jZS1vYmplY3QiKXx8az09PWEudHJhbnNwYXJlbnRTcmN8fGIucmVtb3ZlKCl9ZnVuY3Rpb24gaChhKXtyZXR1cm4gMD09PWEuaW5kZXhPZigid2Via2l0LWZha2UtdXJsIil9ZnVuY3Rpb24gaShhKXtyZXR1cm4gMD09PWEuaW5kZXhPZigiZGF0YToiKX1pZighZi5zZXR0aW5ncy5wYXN0ZV9kYXRhX2ltYWdlcyYmZShkKSlmb3IodmFyIGo9Yi5sZW5ndGg7ai0tOyl7dmFyIGs9YltqXS5hdHRyaWJ1dGVzLm1hcC5zcmM7ayYmKGgoayk/ZyhiW2pdKTohZi5zZXR0aW5ncy5hbGxvd19odG1sX2RhdGFfdXJscyYmaShrKSYmZyhiW2pdKSl9fSl9KX19KSxkKCJ0aW55bWNlL3Bhc3RlcGx1Z2luL1dvcmRGaWx0ZXIiLFsidGlueW1jZS91dGlsL1Rvb2xzIiwidGlueW1jZS9odG1sL0RvbVBhcnNlciIsInRpbnltY2UvaHRtbC9TY2hlbWEiLCJ0aW55bWNlL2h0bWwvU2VyaWFsaXplciIsInRpbnltY2UvaHRtbC9Ob2RlIiwidGlueW1jZS9wYXN0ZXBsdWdpbi9VdGlscyJdLGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtmdW5jdGlvbiBnKGEpe3JldHVybi88Zm9udCBmYWNlPSJUaW1lcyBOZXcgUm9tYW4ifGNsYXNzPSI/TXNvfHN0eWxlPSJbXiJdKlxibXNvLXxzdHlsZT0nW14nJ10qXGJtc28tfHc6V29yZERvY3VtZW50L2kudGVzdChhKXx8L2NsYXNzPSJPdXRsaW5lRWxlbWVudC8udGVzdChhKXx8L2lkPSI/ZG9jc1wtaW50ZXJuYWxcLWd1aWRcLS8udGVzdChhKX1mdW5jdGlvbiBoKGIpe3ZhciBjLGQ7cmV0dXJuIGQ9Wy9eW0lWWExNQ0RdezEsMn1cLlsgXHUwMGEwXS8sL15baXZ4bG1jZF17MSwyfVwuWyBcdTAwYTBdLywvXlthLXpdezEsMn1bXC5cKV1bIFx1MDBhMF0vLC9eW0EtWl17MSwyfVtcLlwpXVsgXHUwMGEwXS8sL15bMC05XStcLlsgXHUwMGEwXS8sL15bXHUzMDA3XHU0ZTAwXHU0ZThjXHU0ZTA5XHU1NmRiXHU0ZTk0XHU1MTZkXHU0ZTAzXHU1MTZiXHU0ZTVkXStcLlsgXHUwMGEwXS8sL15bXHU1OGYxXHU1ZjEwXHU1M2MyXHU1NmRiXHU0ZjBkXHU1MTZkXHU0ZTAzXHU1MTZiXHU0ZTVkXHU2MmZlXStcLlsgXHUwMGEwXS9dLGI9Yi5yZXBsYWNlKC9eW1x1MDBhMCBdKy8sIiIpLGEuZWFjaChkLGZ1bmN0aW9uKGEpe3JldHVybiBhLnRlc3QoYik/KGM9ITAsITEpOnZvaWQgMH0pLGN9ZnVuY3Rpb24gaShhKXtyZXR1cm4vXltcc1x1MDBhMF0qW1x1MjAyMlx1MDBiN1x1MDBhN1x1MjVDRl1ccyovLnRlc3QoYSl9ZnVuY3Rpb24gaihqKXt2YXIgaz1qLnNldHRpbmdzO2oub24oIkJlZm9yZVBhc3RlUHJlUHJvY2VzcyIsZnVuY3Rpb24obCl7ZnVuY3Rpb24gbShhKXtmdW5jdGlvbiBiKGEpe3ZhciBjPSIiO2lmKDM9PT1hLnR5cGUpcmV0dXJuIGEudmFsdWU7aWYoYT1hLmZpcnN0Q2hpbGQpZG8gYys9YihhKTt3aGlsZShhPWEubmV4dCk7cmV0dXJuIGN9ZnVuY3Rpb24gYyhhLGIpe2lmKDM9PT1hLnR5cGUmJmIudGVzdChhLnZhbHVlKSlyZXR1cm4gYS52YWx1ZT1hLnZhbHVlLnJlcGxhY2UoYiwiIiksITE7aWYoYT1hLmZpcnN0Q2hpbGQpZG8gaWYoIWMoYSxiKSlyZXR1cm4hMTt3aGlsZShhPWEubmV4dCk7cmV0dXJuITB9ZnVuY3Rpb24gZChhKXtpZihhLl9saXN0SWdub3JlKXJldHVybiB2b2lkIGEucmVtb3ZlKCk7aWYoYT1hLmZpcnN0Q2hpbGQpZG8gZChhKTt3aGlsZShhPWEubmV4dCl9ZnVuY3Rpb24gZihhLGIsZil7dmFyIGg9YS5fbGlzdExldmVsfHxrO2ghPWsmJihrPmg/ZyYmKGc9Zy5wYXJlbnQucGFyZW50KTooaj1nLGc9bnVsbCkpLGcmJmcubmFtZT09Yj9nLmFwcGVuZChhKTooaj1qfHxnLGc9bmV3IGUoYiwxKSxmPjEmJmcuYXR0cigic3RhcnQiLCIiK2YpLGEud3JhcChnKSksYS5uYW1lPSJsaSIsaD5rJiZqJiZqLmxhc3RDaGlsZC5hcHBlbmQoZyksaz1oLGQoYSksYyhhLC9eXHUwMGEwKy8pLGMoYSwvXlxzKihbXHUyMDIyXHUwMGI3XHUwMGE3XHUyNUNGXXxcdytcLikvKSxjKGEsL15cdTAwYTArLyl9Zm9yKHZhciBnLGosaz0xLGw9W10sbT1hLmZpcnN0Q2hpbGQ7InVuZGVmaW5lZCIhPXR5cGVvZiBtJiZudWxsIT09bTspaWYobC5wdXNoKG0pLG09bS53YWxrKCksbnVsbCE9PW0pZm9yKDsidW5kZWZpbmVkIiE9dHlwZW9mIG0mJm0ucGFyZW50IT09YTspbT1tLndhbGsoKTtmb3IodmFyIG49MDtuPGwubGVuZ3RoO24rKylpZihhPWxbbl0sInAiPT1hLm5hbWUmJmEuZmlyc3RDaGlsZCl7dmFyIG89YihhKTtpZihpKG8pKXtmKGEsInVsIik7Y29udGludWV9aWYoaChvKSl7dmFyIHA9LyhbMC05XSspXC4vLmV4ZWMobykscT0xO3AmJihxPXBhcnNlSW50KHBbMV0sMTApKSxmKGEsIm9sIixxKTtjb250aW51ZX1pZihhLl9saXN0TGV2ZWwpe2YoYSwidWwiLDEpO2NvbnRpbnVlfWc9bnVsbH1lbHNlIGo9ZyxnPW51bGx9ZnVuY3Rpb24gbihiLGMpe3ZhciBkLGY9e30sZz1qLmRvbS5wYXJzZVN0eWxlKGMpO3JldHVybiBhLmVhY2goZyxmdW5jdGlvbihhLGUpe3N3aXRjaChlKXtjYXNlIm1zby1saXN0IjpkPS9cdysgXHcrKFswLTldKykvaS5leGVjKGMpLGQmJihiLl9saXN0TGV2ZWw9cGFyc2VJbnQoZFsxXSwxMCkpLC9JZ25vcmUvaS50ZXN0KGEpJiZiLmZpcnN0Q2hpbGQmJihiLl9saXN0SWdub3JlPSEwLGIuZmlyc3RDaGlsZC5fbGlzdElnbm9yZT0hMCk7YnJlYWs7Y2FzZSJob3Jpei1hbGlnbiI6ZT0idGV4dC1hbGlnbiI7YnJlYWs7Y2FzZSJ2ZXJ0LWFsaWduIjplPSJ2ZXJ0aWNhbC1hbGlnbiI7YnJlYWs7Y2FzZSJmb250LWNvbG9yIjpjYXNlIm1zby1mb3JlZ3JvdW5kIjplPSJjb2xvciI7YnJlYWs7Y2FzZSJtc28tYmFja2dyb3VuZCI6Y2FzZSJtc28taGlnaGxpZ2h0IjplPSJiYWNrZ3JvdW5kIjticmVhaztjYXNlImZvbnQtd2VpZ2h0IjpjYXNlImZvbnQtc3R5bGUiOnJldHVybiB2b2lkKCJub3JtYWwiIT1hJiYoZltlXT1hKSk7Y2FzZSJtc28tZWxlbWVudCI6aWYoL14oY29tbWVudHxjb21tZW50LWxpc3QpJC9pLnRlc3QoYSkpcmV0dXJuIHZvaWQgYi5yZW1vdmUoKX1yZXR1cm4gMD09PWUuaW5kZXhPZigibXNvLWNvbW1lbnQiKT92b2lkIGIucmVtb3ZlKCk6dm9pZCgwIT09ZS5pbmRleE9mKCJtc28tIikmJigiYWxsIj09b3x8cCYmcFtlXSkmJihmW2VdPWEpKX0pLC8oYm9sZCkvaS50ZXN0KGZbImZvbnQtd2VpZ2h0Il0pJiYoZGVsZXRlIGZbImZvbnQtd2VpZ2h0Il0sYi53cmFwKG5ldyBlKCJiIiwxKSkpLC8oaXRhbGljKS9pLnRlc3QoZlsiZm9udC1zdHlsZSJdKSYmKGRlbGV0ZSBmWyJmb250LXN0eWxlIl0sYi53cmFwKG5ldyBlKCJpIiwxKSkpLGY9ai5kb20uc2VyaWFsaXplU3R5bGUoZixiLm5hbWUpLGY/ZjpudWxsfXZhciBvLHAscT1sLmNvbnRlbnQ7aWYocT1xLnJlcGxhY2UoLzxiW14+XStpZD0iP2RvY3MtaW50ZXJuYWwtW14+XSo+L2dpLCIiKSxxPXEucmVwbGFjZSgvPGJyIGNsYXNzPSI/QXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI/Pi9naSwiIiksbz1rLnBhc3RlX3JldGFpbl9zdHlsZV9wcm9wZXJ0aWVzLG8mJihwPWEubWFrZU1hcChvLnNwbGl0KC9bLCBdLykpKSxrLnBhc3RlX2VuYWJsZV9kZWZhdWx0X2ZpbHRlcnMhPT0hMSYmZyhsLmNvbnRlbnQpKXtsLndvcmRDb250ZW50PSEwLHE9Zi5maWx0ZXIocSxbLzwhLS1bXHNcU10rPy0tPi9naSwvPCghfHNjcmlwdFtePl0qPi4qPzxcL3NjcmlwdCg/PVs+XHNdKXxcLz8oXD94bWwoOlx3Kyk/fGltZ3xtZXRhfGxpbmt8c3R5bGV8XHc6XHcrKSg/PVtcc1wvPl0pKVtePl0qPi9naSxbLzwoXC8/KXM+L2dpLCI8JDFzdHJpa2U+Il0sWy8mbmJzcDsvZ2ksIlx4YTAiXSxbLzxzcGFuXHMrc3R5bGVccyo9XHMqIlxzKm1zby1zcGFjZXJ1blxzKjpccyp5ZXNccyo7P1xzKiJccyo+KFtcc1x1MDBhMF0qKTxcL3NwYW4+L2dpLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGIubGVuZ3RoPjA/Yi5yZXBsYWNlKC8uLywiICIpLnNsaWNlKE1hdGguZmxvb3IoYi5sZW5ndGgvMikpLnNwbGl0KCIiKS5qb2luKCJceGEwIik6IiJ9XV0pO3ZhciByPWsucGFzdGVfd29yZF92YWxpZF9lbGVtZW50cztyfHwocj0iLXN0cm9uZy9iLC1lbS9pLC11LC1zcGFuLC1wLC1vbCwtdWwsLWxpLC1oMSwtaDIsLWgzLC1oNCwtaDUsLWg2LC1wL2RpdiwtYVtocmVmfG5hbWVdLHN1YixzdXAsc3RyaWtlLGJyLGRlbCx0YWJsZVt3aWR0aF0sdHIsdGRbY29sc3Bhbnxyb3dzcGFufHdpZHRoXSx0aFtjb2xzcGFufHJvd3NwYW58d2lkdGhdLHRoZWFkLHRmb290LHRib2R5Iik7dmFyIHM9bmV3IGMoe3ZhbGlkX2VsZW1lbnRzOnIsdmFsaWRfY2hpbGRyZW46Ii1saVtwXSJ9KTthLmVhY2gocy5lbGVtZW50cyxmdW5jdGlvbihhKXthLmF0dHJpYnV0ZXNbImNsYXNzIl18fChhLmF0dHJpYnV0ZXNbImNsYXNzIl09e30sYS5hdHRyaWJ1dGVzT3JkZXIucHVzaCgiY2xhc3MiKSksYS5hdHRyaWJ1dGVzLnN0eWxlfHwoYS5hdHRyaWJ1dGVzLnN0eWxlPXt9LGEuYXR0cmlidXRlc09yZGVyLnB1c2goInN0eWxlIikpfSk7dmFyIHQ9bmV3IGIoe30scyk7dC5hZGRBdHRyaWJ1dGVGaWx0ZXIoInN0eWxlIixmdW5jdGlvbihhKXtmb3IodmFyIGIsYz1hLmxlbmd0aDtjLS07KWI9YVtjXSxiLmF0dHIoInN0eWxlIixuKGIsYi5hdHRyKCJzdHlsZSIpKSksInNwYW4iPT1iLm5hbWUmJmIucGFyZW50JiYhYi5hdHRyaWJ1dGVzLmxlbmd0aCYmYi51bndyYXAoKX0pLHQuYWRkQXR0cmlidXRlRmlsdGVyKCJjbGFzcyIsZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLmxlbmd0aDtkLS07KWI9YVtkXSxjPWIuYXR0cigiY2xhc3MiKSwvXihNc29Db21tZW50UmVmZXJlbmNlfE1zb0NvbW1lbnRUZXh0fG1zb0RlbCkkL2kudGVzdChjKSYmYi5yZW1vdmUoKSxiLmF0dHIoImNsYXNzIixudWxsKX0pLHQuYWRkTm9kZUZpbHRlcigiZGVsIixmdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7Yi0tOylhW2JdLnJlbW92ZSgpfSksdC5hZGROb2RlRmlsdGVyKCJhIixmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkLGU9YS5sZW5ndGg7ZS0tOylpZihiPWFbZV0sYz1iLmF0dHIoImhyZWYiKSxkPWIuYXR0cigibmFtZSIpLGMmJi0xIT1jLmluZGV4T2YoIiNfbXNvY29tXyIpKWIucmVtb3ZlKCk7ZWxzZSBpZihjJiYwPT09Yy5pbmRleE9mKCJmaWxlOi8vIikmJihjPWMuc3BsaXQoIiMiKVsxXSxjJiYoYz0iIyIrYykpLGN8fGQpe2lmKGQmJiEvXl8/KD86dG9jfGVkbnxmdG4pL2kudGVzdChkKSl7Yi51bndyYXAoKTtjb250aW51ZX1iLmF0dHIoe2hyZWY6YyxuYW1lOmR9KX1lbHNlIGIudW53cmFwKCl9KTt2YXIgdT10LnBhcnNlKHEpO2sucGFzdGVfY29udmVydF93b3JkX2Zha2VfbGlzdHMhPT0hMSYmbSh1KSxsLmNvbnRlbnQ9bmV3IGQoe3ZhbGlkYXRlOmsudmFsaWRhdGV9LHMpLnNlcmlhbGl6ZSh1KX19KX1yZXR1cm4gai5pc1dvcmRDb250ZW50PWcsan0pLGQoInRpbnltY2UvcGFzdGVwbHVnaW4vUXVpcmtzIixbInRpbnltY2UvRW52IiwidGlueW1jZS91dGlsL1Rvb2xzIiwidGlueW1jZS9wYXN0ZXBsdWdpbi9Xb3JkRmlsdGVyIiwidGlueW1jZS9wYXN0ZXBsdWdpbi9VdGlscyJdLGZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBmdW5jdGlvbihlKXtmdW5jdGlvbiBmKGEpe2Uub24oIkJlZm9yZVBhc3RlUHJlUHJvY2VzcyIsZnVuY3Rpb24oYil7Yi5jb250ZW50PWEoYi5jb250ZW50KX0pfWZ1bmN0aW9uIGcoYSl7aWYoIWMuaXNXb3JkQ29udGVudChhKSlyZXR1cm4gYTt2YXIgZj1bXTtiLmVhY2goZS5zY2hlbWEuZ2V0QmxvY2tFbGVtZW50cygpLGZ1bmN0aW9uKGEsYil7Zi5wdXNoKGIpfSk7dmFyIGc9bmV3IFJlZ0V4cCgiKD86PGJyPiZuYnNwO1tcXHNcXHJcXG5dK3w8YnI+KSooPFxcLz8oIitmLmpvaW4oInwiKSsiKVtePl0qPikoPzo8YnI+Jm5ic3A7W1xcc1xcclxcbl0rfDxicj4pKiIsImciKTtyZXR1cm4gYT1kLmZpbHRlcihhLFtbZywiJDEiXV0pLGE9ZC5maWx0ZXIoYSxbWy88YnI+PGJyPi9nLCI8QlI+PEJSPiJdLFsvPGJyPi9nLCIgIl0sWy88QlI+PEJSPi9nLCI8YnI+Il1dKX1mdW5jdGlvbiBoKGEpe2lmKGMuaXNXb3JkQ29udGVudChhKSlyZXR1cm4gYTt2YXIgYj1lLnNldHRpbmdzLnBhc3RlX3dlYmtpdF9zdHlsZXM7aWYoZS5zZXR0aW5ncy5wYXN0ZV9yZW1vdmVfc3R5bGVzX2lmX3dlYmtpdD09PSExfHwiYWxsIj09YilyZXR1cm4gYTtpZihiJiYoYj1iLnNwbGl0KC9bLCBdLykpLGIpe3ZhciBkPWUuZG9tLGY9ZS5zZWxlY3Rpb24uZ2V0Tm9kZSgpO2E9YS5yZXBsYWNlKC8oPFtePl0rKSBzdHlsZT0iKFteIl0qKSIoW14+XSo+KS9naSxmdW5jdGlvbihhLGMsZSxnKXt2YXIgaD1kLnBhcnNlU3R5bGUoZSwic3BhbiIpLGk9e307aWYoIm5vbmUiPT09YilyZXR1cm4gYytnO2Zvcih2YXIgaj0wO2o8Yi5sZW5ndGg7aisrKXt2YXIgaz1oW2Jbal1dLGw9ZC5nZXRTdHlsZShmLGJbal0sITApOy9jb2xvci8udGVzdChiW2pdKSYmKGs9ZC50b0hleChrKSxsPWQudG9IZXgobCkpLGwhPWsmJihpW2Jbal1dPWspfXJldHVybiBpPWQuc2VyaWFsaXplU3R5bGUoaSwic3BhbiIpLGk/YysnIHN0eWxlPSInK2krJyInK2c6YytnfSl9ZWxzZSBhPWEucmVwbGFjZSgvKDxbXj5dKykgc3R5bGU9IihbXiJdKikiKFtePl0qPikvZ2ksIiQxJDMiKTtyZXR1cm4gYT1hLnJlcGxhY2UoLyg8W14+XSspIGRhdGEtbWNlLXN0eWxlPSIoW14iXSspIihbXj5dKj4pL2dpLGZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBiKycgc3R5bGU9IicrYysnIicrZH0pfWEud2Via2l0JiZmKGgpLGEuaWUmJmYoZyl9fSksZCgidGlueW1jZS9wYXN0ZXBsdWdpbi9QbHVnaW4iLFsidGlueW1jZS9QbHVnaW5NYW5hZ2VyIiwidGlueW1jZS9wYXN0ZXBsdWdpbi9DbGlwYm9hcmQiLCJ0aW55bWNlL3Bhc3RlcGx1Z2luL1dvcmRGaWx0ZXIiLCJ0aW55bWNlL3Bhc3RlcGx1Z2luL1F1aXJrcyJdLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO2EuYWRkKCJwYXN0ZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gZigpe3JldHVybiBlfHxhLnNldHRpbmdzLnBhc3RlX3BsYWludGV4dF9pbmZvcm09PT0hMX1mdW5jdGlvbiBnKCl7aWYoInRleHQiPT1oLnBhc3RlRm9ybWF0KXRoaXMuYWN0aXZlKCExKSxoLnBhc3RlRm9ybWF0PSJodG1sIixhLmZpcmUoIlBhc3RlUGxhaW5UZXh0VG9nZ2xlIix7c3RhdGU6ITF9KTtlbHNlIGlmKGgucGFzdGVGb3JtYXQ9InRleHQiLHRoaXMuYWN0aXZlKCEwKSwhZigpKXt2YXIgYj1hLnRyYW5zbGF0ZSgiUGFzdGUgaXMgbm93IGluIHBsYWluIHRleHQgbW9kZS4gQ29udGVudHMgd2lsbCBub3cgYmUgcGFzdGVkIGFzIHBsYWluIHRleHQgdW50aWwgeW91IHRvZ2dsZSB0aGlzIG9wdGlvbiBvZmYuIik7YS5ub3RpZmljYXRpb25NYW5hZ2VyLm9wZW4oe3RleHQ6Yix0eXBlOiJpbmZvIn0pLGU9ITAsYS5maXJlKCJQYXN0ZVBsYWluVGV4dFRvZ2dsZSIse3N0YXRlOiEwfSl9YS5mb2N1cygpfXZhciBoLGk9dGhpcyxqPWEuc2V0dGluZ3M7aS5jbGlwYm9hcmQ9aD1uZXcgYihhKSxpLnF1aXJrcz1uZXcgZChhKSxpLndvcmRGaWx0ZXI9bmV3IGMoYSksYS5zZXR0aW5ncy5wYXN0ZV9hc190ZXh0JiYoaS5jbGlwYm9hcmQucGFzdGVGb3JtYXQ9InRleHQiKSxqLnBhc3RlX3ByZXByb2Nlc3MmJmEub24oIlBhc3RlUHJlUHJvY2VzcyIsZnVuY3Rpb24oYSl7ai5wYXN0ZV9wcmVwcm9jZXNzLmNhbGwoaSxpLGEpfSksai5wYXN0ZV9wb3N0cHJvY2VzcyYmYS5vbigiUGFzdGVQb3N0UHJvY2VzcyIsZnVuY3Rpb24oYSl7ai5wYXN0ZV9wb3N0cHJvY2Vzcy5jYWxsKGksaSxhKX0pLGEuYWRkQ29tbWFuZCgibWNlSW5zZXJ0Q2xpcGJvYXJkQ29udGVudCIsZnVuY3Rpb24oYSxiKXtiLmNvbnRlbnQmJmkuY2xpcGJvYXJkLnBhc3RlSHRtbChiLmNvbnRlbnQpLGIudGV4dCYmaS5jbGlwYm9hcmQucGFzdGVUZXh0KGIudGV4dCl9KSxhLnNldHRpbmdzLnBhc3RlX2Jsb2NrX2Ryb3AmJmEub24oImRyYWdlbmQgZHJhZ292ZXIgZHJhZ2dlc3R1cmUgZHJhZ2Ryb3AgZHJvcCBkcmFnIixmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKX0pLGEuc2V0dGluZ3MucGFzdGVfZGF0YV9pbWFnZXN8fGEub24oImRyb3AiLGZ1bmN0aW9uKGEpe3ZhciBiPWEuZGF0YVRyYW5zZmVyO2ImJmIuZmlsZXMmJmIuZmlsZXMubGVuZ3RoPjAmJmEucHJldmVudERlZmF1bHQoKX0pLGEuYWRkQnV0dG9uKCJwYXN0ZXRleHQiLHtpY29uOiJwYXN0ZXRleHQiLHRvb2x0aXA6IlBhc3RlIGFzIHRleHQiLG9uY2xpY2s6ZyxhY3RpdmU6InRleHQiPT1pLmNsaXBib2FyZC5wYXN0ZUZvcm1hdH0pLGEuYWRkTWVudUl0ZW0oInBhc3RldGV4dCIse3RleHQ6IlBhc3RlIGFzIHRleHQiLHNlbGVjdGFibGU6ITAsYWN0aXZlOmgucGFzdGVGb3JtYXQsb25jbGljazpnfSl9KX0pLGYoWyJ0aW55bWNlL3Bhc3RlcGx1Z2luL1V0aWxzIl0pfSh0aGlzKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/preview/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/preview/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/preview/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgicHJldmlldyIsZnVuY3Rpb24oYSl7dmFyIGI9YS5zZXR0aW5ncyxjPSF0aW55bWNlLkVudi5pZTthLmFkZENvbW1hbmQoIm1jZVByZXZpZXciLGZ1bmN0aW9uKCl7YS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJQcmV2aWV3Iix3aWR0aDpwYXJzZUludChhLmdldFBhcmFtKCJwbHVnaW5fcHJldmlld193aWR0aCIsIjY1MCIpLDEwKSxoZWlnaHQ6cGFyc2VJbnQoYS5nZXRQYXJhbSgicGx1Z2luX3ByZXZpZXdfaGVpZ2h0IiwiNTAwIiksMTApLGh0bWw6JzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OlwnXCciIGZyYW1lYm9yZGVyPSIwIicrKGM/JyBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIic6IiIpKyI+PC9pZnJhbWU+IixidXR0b25zOnt0ZXh0OiJDbG9zZSIsb25jbGljazpmdW5jdGlvbigpe3RoaXMucGFyZW50KCkucGFyZW50KCkuY2xvc2UoKX19LG9uUG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBkLGU9IiI7ZSs9JzxiYXNlIGhyZWY9IicrYS5kb2N1bWVudEJhc2VVUkkuZ2V0VVJJKCkrJyI+Jyx0aW55bWNlLmVhY2goYS5jb250ZW50Q1NTLGZ1bmN0aW9uKGIpe2UrPSc8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSInK2EuZG9jdW1lbnRCYXNlVVJJLnRvQWJzb2x1dGUoYikrJyI+J30pO3ZhciBmPWIuYm9keV9pZHx8InRpbnltY2UiOy0xIT1mLmluZGV4T2YoIj0iKSYmKGY9YS5nZXRQYXJhbSgiYm9keV9pZCIsIiIsImhhc2giKSxmPWZbYS5pZF18fGYpO3ZhciBnPWIuYm9keV9jbGFzc3x8IiI7LTEhPWcuaW5kZXhPZigiPSIpJiYoZz1hLmdldFBhcmFtKCJib2R5X2NsYXNzIiwiIiwiaGFzaCIpLGc9Z1thLmlkXXx8IiIpO3ZhciBoPSc8c2NyaXB0PmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgJiYgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbihlKSB7Zm9yICh2YXIgZWxtID0gZS50YXJnZXQ7IGVsbTsgZWxtID0gZWxtLnBhcmVudE5vZGUpIHtpZiAoZWxtLm5vZGVOYW1lID09PSAiQSIpIHtlLnByZXZlbnREZWZhdWx0KCk7fX19LCBmYWxzZSk7PC9zY3JpcHQ+ICcsaT1hLnNldHRpbmdzLmRpcmVjdGlvbmFsaXR5PycgZGlyPSInK2Euc2V0dGluZ3MuZGlyZWN0aW9uYWxpdHkrJyInOiIiO2lmKGQ9IjwhRE9DVFlQRSBodG1sPjxodG1sPjxoZWFkPiIrZSsnPC9oZWFkPjxib2R5IGlkPSInK2YrJyIgY2xhc3M9Im1jZS1jb250ZW50LWJvZHkgJytnKyciJytpKyI+IithLmdldENvbnRlbnQoKStoKyI8L2JvZHk+PC9odG1sPiIsYyl0aGlzLmdldEVsKCJib2R5IikuZmlyc3RDaGlsZC5zcmM9ImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgsIitlbmNvZGVVUklDb21wb25lbnQoZCk7ZWxzZXt2YXIgaj10aGlzLmdldEVsKCJib2R5IikuZmlyc3RDaGlsZC5jb250ZW50V2luZG93LmRvY3VtZW50O2oub3BlbigpLGoud3JpdGUoZCksai5jbG9zZSgpfX19KX0pLGEuYWRkQnV0dG9uKCJwcmV2aWV3Iix7dGl0bGU6IlByZXZpZXciLGNtZDoibWNlUHJldmlldyJ9KSxhLmFkZE1lbnVJdGVtKCJwcmV2aWV3Iix7dGV4dDoiUHJldmlldyIsY21kOiJtY2VQcmV2aWV3Iixjb250ZXh0OiJ2aWV3In0pfSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/print/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/print/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/print/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgicHJpbnQiLGZ1bmN0aW9uKGEpe2EuYWRkQ29tbWFuZCgibWNlUHJpbnQiLGZ1bmN0aW9uKCl7YS5nZXRXaW4oKS5wcmludCgpfSksYS5hZGRCdXR0b24oInByaW50Iix7dGl0bGU6IlByaW50IixjbWQ6Im1jZVByaW50In0pLGEuYWRkU2hvcnRjdXQoIk1ldGErUCIsIiIsIm1jZVByaW50IiksYS5hZGRNZW51SXRlbSgicHJpbnQiLHt0ZXh0OiJQcmludCIsY21kOiJtY2VQcmludCIsaWNvbjoicHJpbnQiLHNob3J0Y3V0OiJNZXRhK1AiLGNvbnRleHQ6ImZpbGUifSl9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/save/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/save/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/save/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgic2F2ZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3ZhciBiO3JldHVybiBiPXRpbnltY2UuRE9NLmdldFBhcmVudChhLmlkLCJmb3JtIiksIWEuZ2V0UGFyYW0oInNhdmVfZW5hYmxld2hlbmRpcnR5IiwhMCl8fGEuaXNEaXJ0eSgpPyh0aW55bWNlLnRyaWdnZXJTYXZlKCksYS5nZXRQYXJhbSgic2F2ZV9vbnNhdmVjYWxsYmFjayIpPyhhLmV4ZWNDYWxsYmFjaygic2F2ZV9vbnNhdmVjYWxsYmFjayIsYSksdm9pZCBhLm5vZGVDaGFuZ2VkKCkpOnZvaWQoYj8oYS5zZXREaXJ0eSghMSksYi5vbnN1Ym1pdCYmIWIub25zdWJtaXQoKXx8KCJmdW5jdGlvbiI9PXR5cGVvZiBiLnN1Ym1pdD9iLnN1Ym1pdCgpOmMoYS50cmFuc2xhdGUoIkVycm9yOiBGb3JtIHN1Ym1pdCBmaWVsZCBjb2xsaXNpb24uIikpKSxhLm5vZGVDaGFuZ2VkKCkpOmMoYS50cmFuc2xhdGUoIkVycm9yOiBObyBmb3JtIGVsZW1lbnQgZm91bmQuIikpKSk6dm9pZCAwfWZ1bmN0aW9uIGMoYil7YS5ub3RpZmljYXRpb25NYW5hZ2VyLm9wZW4oe3RleHQ6Yix0eXBlOiJlcnJvciJ9KX1mdW5jdGlvbiBkKCl7dmFyIGI9dGlueW1jZS50cmltKGEuc3RhcnRDb250ZW50KTtyZXR1cm4gYS5nZXRQYXJhbSgic2F2ZV9vbmNhbmNlbGNhbGxiYWNrIik/dm9pZCBhLmV4ZWNDYWxsYmFjaygic2F2ZV9vbmNhbmNlbGNhbGxiYWNrIixhKTooYS5zZXRDb250ZW50KGIpLGEudW5kb01hbmFnZXIuY2xlYXIoKSx2b2lkIGEubm9kZUNoYW5nZWQoKSl9ZnVuY3Rpb24gZSgpe3ZhciBiPXRoaXM7YS5vbigibm9kZUNoYW5nZSBkaXJ0eSIsZnVuY3Rpb24oKXtiLmRpc2FibGVkKGEuZ2V0UGFyYW0oInNhdmVfZW5hYmxld2hlbmRpcnR5IiwhMCkmJiFhLmlzRGlydHkoKSl9KX1hLmFkZENvbW1hbmQoIm1jZVNhdmUiLGIpLGEuYWRkQ29tbWFuZCgibWNlQ2FuY2VsIixkKSxhLmFkZEJ1dHRvbigic2F2ZSIse2ljb246InNhdmUiLHRleHQ6IlNhdmUiLGNtZDoibWNlU2F2ZSIsZGlzYWJsZWQ6ITAsb25Qb3N0UmVuZGVyOmV9KSxhLmFkZEJ1dHRvbigiY2FuY2VsIix7dGV4dDoiQ2FuY2VsIixpY29uOiExLGNtZDoibWNlQ2FuY2VsIixkaXNhYmxlZDohMCxvblBvc3RSZW5kZXI6ZX0pLGEuYWRkU2hvcnRjdXQoIk1ldGErUyIsIiIsIm1jZVNhdmUiKX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/searchreplace/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/searchreplace/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/searchreplace/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShhKXtyZXR1cm4gYSYmMT09YS5ub2RlVHlwZSYmImZhbHNlIj09PWEuY29udGVudEVkaXRhYmxlfWZ1bmN0aW9uIGIoYixjLGQsZSxmKXtmdW5jdGlvbiBnKGEsYil7aWYoYj1ifHwwLCFhWzBdKXRocm93ImZpbmRBbmRSZXBsYWNlRE9NVGV4dCBjYW5ub3QgaGFuZGxlIHplcm8tbGVuZ3RoIG1hdGNoZXMiO3ZhciBjPWEuaW5kZXg7aWYoYj4wKXt2YXIgZD1hW2JdO2lmKCFkKXRocm93IkludmFsaWQgY2FwdHVyZSBncm91cCI7Yys9YVswXS5pbmRleE9mKGQpLGFbMF09ZH1yZXR1cm5bYyxjK2FbMF0ubGVuZ3RoLFthWzBdXV19ZnVuY3Rpb24gaChiKXt2YXIgYztpZigzPT09Yi5ub2RlVHlwZSlyZXR1cm4gYi5kYXRhO2lmKG9bYi5ub2RlTmFtZV0mJiFuW2Iubm9kZU5hbWVdKXJldHVybiIiO2lmKGM9IiIsYShiKSlyZXR1cm4iXG4iO2lmKChuW2Iubm9kZU5hbWVdfHxwW2Iubm9kZU5hbWVdKSYmKGMrPSJcbiIpLGI9Yi5maXJzdENoaWxkKWRvIGMrPWgoYik7d2hpbGUoYj1iLm5leHRTaWJsaW5nKTtyZXR1cm4gY31mdW5jdGlvbiBpKGIsYyxkKXt2YXIgZSxmLGcsaCxpPVtdLGo9MCxrPWIsbD1jLnNoaWZ0KCksbT0wO2E6Zm9yKDs7KXtpZigobltrLm5vZGVOYW1lXXx8cFtrLm5vZGVOYW1lXXx8YShrKSkmJmorKywzPT09ay5ub2RlVHlwZSYmKCFmJiZrLmxlbmd0aCtqPj1sWzFdPyhmPWssaD1sWzFdLWopOmUmJmkucHVzaChrKSwhZSYmay5sZW5ndGgraj5sWzBdJiYoZT1rLGc9bFswXS1qKSxqKz1rLmxlbmd0aCksZSYmZil7aWYoaz1kKHtzdGFydE5vZGU6ZSxzdGFydE5vZGVJbmRleDpnLGVuZE5vZGU6ZixlbmROb2RlSW5kZXg6aCxpbm5lck5vZGVzOmksbWF0Y2g6bFsyXSxtYXRjaEluZGV4Om19KSxqLT1mLmxlbmd0aC1oLGU9bnVsbCxmPW51bGwsaT1bXSxsPWMuc2hpZnQoKSxtKyssIWwpYnJlYWt9ZWxzZSBpZihvW2subm9kZU5hbWVdJiYhbltrLm5vZGVOYW1lXXx8IWsuZmlyc3RDaGlsZCl7aWYoay5uZXh0U2libGluZyl7az1rLm5leHRTaWJsaW5nO2NvbnRpbnVlfX1lbHNlIGlmKCFhKGspKXtrPWsuZmlyc3RDaGlsZDtjb250aW51ZX1mb3IoOzspe2lmKGsubmV4dFNpYmxpbmcpe2s9ay5uZXh0U2libGluZzticmVha31pZihrLnBhcmVudE5vZGU9PT1iKWJyZWFrIGE7az1rLnBhcmVudE5vZGV9fX1mdW5jdGlvbiBqKGEpe3ZhciBiO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBhKXt2YXIgYz1hLm5vZGVUeXBlP2E6bS5jcmVhdGVFbGVtZW50KGEpO2I9ZnVuY3Rpb24oYSxiKXt2YXIgZD1jLmNsb25lTm9kZSghMSk7cmV0dXJuIGQuc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1pbmRleCIsYiksYSYmZC5hcHBlbmRDaGlsZChtLmNyZWF0ZVRleHROb2RlKGEpKSxkfX1lbHNlIGI9YTtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGMsZCxlLGY9YS5zdGFydE5vZGUsZz1hLmVuZE5vZGUsaD1hLm1hdGNoSW5kZXg7aWYoZj09PWcpe3ZhciBpPWY7ZT1pLnBhcmVudE5vZGUsYS5zdGFydE5vZGVJbmRleD4wJiYoYz1tLmNyZWF0ZVRleHROb2RlKGkuZGF0YS5zdWJzdHJpbmcoMCxhLnN0YXJ0Tm9kZUluZGV4KSksZS5pbnNlcnRCZWZvcmUoYyxpKSk7dmFyIGo9YihhLm1hdGNoWzBdLGgpO3JldHVybiBlLmluc2VydEJlZm9yZShqLGkpLGEuZW5kTm9kZUluZGV4PGkubGVuZ3RoJiYoZD1tLmNyZWF0ZVRleHROb2RlKGkuZGF0YS5zdWJzdHJpbmcoYS5lbmROb2RlSW5kZXgpKSxlLmluc2VydEJlZm9yZShkLGkpKSxpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksan1jPW0uY3JlYXRlVGV4dE5vZGUoZi5kYXRhLnN1YnN0cmluZygwLGEuc3RhcnROb2RlSW5kZXgpKSxkPW0uY3JlYXRlVGV4dE5vZGUoZy5kYXRhLnN1YnN0cmluZyhhLmVuZE5vZGVJbmRleCkpO2Zvcih2YXIgaz1iKGYuZGF0YS5zdWJzdHJpbmcoYS5zdGFydE5vZGVJbmRleCksaCksbD1bXSxuPTAsbz1hLmlubmVyTm9kZXMubGVuZ3RoO28+bjsrK24pe3ZhciBwPWEuaW5uZXJOb2Rlc1tuXSxxPWIocC5kYXRhLGgpO3AucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocSxwKSxsLnB1c2gocSl9dmFyIHI9YihnLmRhdGEuc3Vic3RyaW5nKDAsYS5lbmROb2RlSW5kZXgpLGgpO3JldHVybiBlPWYucGFyZW50Tm9kZSxlLmluc2VydEJlZm9yZShjLGYpLGUuaW5zZXJ0QmVmb3JlKGssZiksZS5yZW1vdmVDaGlsZChmKSxlPWcucGFyZW50Tm9kZSxlLmluc2VydEJlZm9yZShyLGcpLGUuaW5zZXJ0QmVmb3JlKGQsZyksZS5yZW1vdmVDaGlsZChnKSxyfX12YXIgayxsLG0sbixvLHAscT1bXSxyPTA7aWYobT1jLm93bmVyRG9jdW1lbnQsbj1mLmdldEJsb2NrRWxlbWVudHMoKSxvPWYuZ2V0V2hpdGVTcGFjZUVsZW1lbnRzKCkscD1mLmdldFNob3J0RW5kZWRFbGVtZW50cygpLGw9aChjKSl7aWYoYi5nbG9iYWwpZm9yKDtrPWIuZXhlYyhsKTspcS5wdXNoKGcoayxlKSk7ZWxzZSBrPWwubWF0Y2goYikscS5wdXNoKGcoayxlKSk7cmV0dXJuIHEubGVuZ3RoJiYocj1xLmxlbmd0aCxpKGMscSxqKGQpKSkscn19ZnVuY3Rpb24gYyhhKXtmdW5jdGlvbiBjKCl7ZnVuY3Rpb24gYigpe2Yuc3RhdHVzYmFyLmZpbmQoIiNuZXh0IikuZGlzYWJsZWQoIWcobCsxKS5sZW5ndGgpLGYuc3RhdHVzYmFyLmZpbmQoIiNwcmV2IikuZGlzYWJsZWQoIWcobC0xKS5sZW5ndGgpfWZ1bmN0aW9uIGMoKXthLndpbmRvd01hbmFnZXIuYWxlcnQoIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgc3RyaW5nLiIsZnVuY3Rpb24oKXtmLmZpbmQoIiNmaW5kIilbMF0uZm9jdXMoKX0pfXZhciBkLGU9e307ZD10aW55bWNlLnRyaW0oYS5zZWxlY3Rpb24uZ2V0Q29udGVudCh7Zm9ybWF0OiJ0ZXh0In0pKTt2YXIgZj1hLndpbmRvd01hbmFnZXIub3Blbih7bGF5b3V0OiJmbGV4IixwYWNrOiJjZW50ZXIiLGFsaWduOiJjZW50ZXIiLG9uQ2xvc2U6ZnVuY3Rpb24oKXthLmZvY3VzKCksay5kb25lKCl9LG9uU3VibWl0OmZ1bmN0aW9uKGEpe3ZhciBkLGgsaSxqO3JldHVybiBhLnByZXZlbnREZWZhdWx0KCksaD1mLmZpbmQoIiNjYXNlIikuY2hlY2tlZCgpLGo9Zi5maW5kKCIjd29yZHMiKS5jaGVja2VkKCksaT1mLmZpbmQoIiNmaW5kIikudmFsdWUoKSxpLmxlbmd0aD9lLnRleHQ9PWkmJmUuY2FzZVN0YXRlPT1oJiZlLndob2xlV29yZD09aj8wPT09ZyhsKzEpLmxlbmd0aD92b2lkIGMoKTooay5uZXh0KCksdm9pZCBiKCkpOihkPWsuZmluZChpLGgsaiksZHx8YygpLGYuc3RhdHVzYmFyLml0ZW1zKCkuc2xpY2UoMSkuZGlzYWJsZWQoMD09PWQpLGIoKSx2b2lkKGU9e3RleHQ6aSxjYXNlU3RhdGU6aCx3aG9sZVdvcmQ6an0pKTooay5kb25lKCExKSx2b2lkIGYuc3RhdHVzYmFyLml0ZW1zKCkuc2xpY2UoMSkuZGlzYWJsZWQoITApKX0sYnV0dG9uczpbe3RleHQ6IkZpbmQiLHN1YnR5cGU6InByaW1hcnkiLG9uY2xpY2s6ZnVuY3Rpb24oKXtmLnN1Ym1pdCgpfX0se3RleHQ6IlJlcGxhY2UiLGRpc2FibGVkOiEwLG9uY2xpY2s6ZnVuY3Rpb24oKXtrLnJlcGxhY2UoZi5maW5kKCIjcmVwbGFjZSIpLnZhbHVlKCkpfHwoZi5zdGF0dXNiYXIuaXRlbXMoKS5zbGljZSgxKS5kaXNhYmxlZCghMCksbD0tMSxlPXt9KX19LHt0ZXh0OiJSZXBsYWNlIGFsbCIsZGlzYWJsZWQ6ITAsb25jbGljazpmdW5jdGlvbigpe2sucmVwbGFjZShmLmZpbmQoIiNyZXBsYWNlIikudmFsdWUoKSwhMCwhMCksZi5zdGF0dXNiYXIuaXRlbXMoKS5zbGljZSgxKS5kaXNhYmxlZCghMCksZT17fX19LHt0eXBlOiJzcGFjZXIiLGZsZXg6MX0se3RleHQ6IlByZXYiLG5hbWU6InByZXYiLGRpc2FibGVkOiEwLG9uY2xpY2s6ZnVuY3Rpb24oKXtrLnByZXYoKSxiKCl9fSx7dGV4dDoiTmV4dCIsbmFtZToibmV4dCIsZGlzYWJsZWQ6ITAsb25jbGljazpmdW5jdGlvbigpe2submV4dCgpLGIoKX19XSx0aXRsZToiRmluZCBhbmQgcmVwbGFjZSIsaXRlbXM6e3R5cGU6ImZvcm0iLHBhZGRpbmc6MjAsbGFiZWxHYXA6MzAsc3BhY2luZzoxMCxpdGVtczpbe3R5cGU6InRleHRib3giLG5hbWU6ImZpbmQiLHNpemU6NDAsbGFiZWw6IkZpbmQiLHZhbHVlOmR9LHt0eXBlOiJ0ZXh0Ym94IixuYW1lOiJyZXBsYWNlIixzaXplOjQwLGxhYmVsOiJSZXBsYWNlIHdpdGgifSx7dHlwZToiY2hlY2tib3giLG5hbWU6ImNhc2UiLHRleHQ6Ik1hdGNoIGNhc2UiLGxhYmVsOiIgIn0se3R5cGU6ImNoZWNrYm94IixuYW1lOiJ3b3JkcyIsdGV4dDoiV2hvbGUgd29yZHMiLGxhYmVsOiIgIn1dfX0pfWZ1bmN0aW9uIGQoYSl7dmFyIGI9YS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWluZGV4Iik7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBiPyIiK2I6Yn1mdW5jdGlvbiBlKGMpe3ZhciBkLGU7cmV0dXJuIGU9YS5kb20uY3JlYXRlKCJzcGFuIix7ImRhdGEtbWNlLWJvZ3VzIjoxfSksZS5jbGFzc05hbWU9Im1jZS1tYXRjaC1tYXJrZXIiLGQ9YS5nZXRCb2R5KCksay5kb25lKCExKSxiKGMsZCxlLCExLGEuc2NoZW1hKX1mdW5jdGlvbiBmKGEpe3ZhciBiPWEucGFyZW50Tm9kZTthLmZpcnN0Q2hpbGQmJmIuaW5zZXJ0QmVmb3JlKGEuZmlyc3RDaGlsZCxhKSxhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSl9ZnVuY3Rpb24gZyhiKXt2YXIgYyxlPVtdO2lmKGM9dGlueW1jZS50b0FycmF5KGEuZ2V0Qm9keSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIikpLGMubGVuZ3RoKWZvcih2YXIgZj0wO2Y8Yy5sZW5ndGg7ZisrKXt2YXIgZz1kKGNbZl0pO251bGwhPT1nJiZnLmxlbmd0aCYmZz09PWIudG9TdHJpbmcoKSYmZS5wdXNoKGNbZl0pfXJldHVybiBlfWZ1bmN0aW9uIGgoYil7dmFyIGM9bCxkPWEuZG9tO2I9YiE9PSExLGI/YysrOmMtLSxkLnJlbW92ZUNsYXNzKGcobCksIm1jZS1tYXRjaC1tYXJrZXItc2VsZWN0ZWQiKTt2YXIgZT1nKGMpO3JldHVybiBlLmxlbmd0aD8oZC5hZGRDbGFzcyhnKGMpLCJtY2UtbWF0Y2gtbWFya2VyLXNlbGVjdGVkIiksYS5zZWxlY3Rpb24uc2Nyb2xsSW50b1ZpZXcoZVswXSksYyk6LTF9ZnVuY3Rpb24gaShiKXt2YXIgYz1hLmRvbSxkPWIucGFyZW50Tm9kZTtjLnJlbW92ZShiKSxjLmlzRW1wdHkoZCkmJmMucmVtb3ZlKGQpfWZ1bmN0aW9uIGooYSl7dmFyIGI9ZChhKTtyZXR1cm4gbnVsbCE9PWImJmIubGVuZ3RoPjB9dmFyIGs9dGhpcyxsPS0xO2suaW5pdD1mdW5jdGlvbihhKXthLmFkZE1lbnVJdGVtKCJzZWFyY2hyZXBsYWNlIix7dGV4dDoiRmluZCBhbmQgcmVwbGFjZSIsc2hvcnRjdXQ6Ik1ldGErRiIsb25jbGljazpjLHNlcGFyYXRvcjoiYmVmb3JlIixjb250ZXh0OiJlZGl0In0pLGEuYWRkQnV0dG9uKCJzZWFyY2hyZXBsYWNlIix7dG9vbHRpcDoiRmluZCBhbmQgcmVwbGFjZSIsc2hvcnRjdXQ6Ik1ldGErRiIsb25jbGljazpjfSksYS5hZGRDb21tYW5kKCJTZWFyY2hSZXBsYWNlIixjKSxhLnNob3J0Y3V0cy5hZGQoIk1ldGErRiIsIiIsYyl9LGsuZmluZD1mdW5jdGlvbihhLGIsYyl7YT1hLnJlcGxhY2UoL1tcLVxbXF1cL1x7XH1cKFwpXCpcK1w/XC5cXFxeXCRcfF0vZywiXFwkJiIpLGE9Yz8iXFxiIithKyJcXGIiOmE7dmFyIGQ9ZShuZXcgUmVnRXhwKGEsYj8iZyI6ImdpIikpO3JldHVybiBkJiYobD0tMSxsPWgoITApKSxkfSxrLm5leHQ9ZnVuY3Rpb24oKXt2YXIgYT1oKCEwKTstMSE9PWEmJihsPWEpfSxrLnByZXY9ZnVuY3Rpb24oKXt2YXIgYT1oKCExKTstMSE9PWEmJihsPWEpfSxrLnJlcGxhY2U9ZnVuY3Rpb24oYixjLGUpe3ZhciBoLG0sbixvLHAscSxyPWw7Zm9yKGM9YyE9PSExLG49YS5nZXRCb2R5KCksbT10aW55bWNlLmdyZXAodGlueW1jZS50b0FycmF5KG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKSksaiksaD0wO2g8bS5sZW5ndGg7aCsrKXt2YXIgcz1kKG1baF0pO2lmKG89cD1wYXJzZUludChzLDEwKSxlfHxvPT09bCl7Zm9yKGIubGVuZ3RoPyhtW2hdLmZpcnN0Q2hpbGQubm9kZVZhbHVlPWIsZihtW2hdKSk6aShtW2hdKTttWysraF07KXtpZihvPXBhcnNlSW50KGQobVtoXSksMTApLG8hPT1wKXtoLS07YnJlYWt9aShtW2hdKX1jJiZyLS19ZWxzZSBwPmwmJm1baF0uc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1pbmRleCIscC0xKX1yZXR1cm4gYS51bmRvTWFuYWdlci5hZGQoKSxsPXIsYz8ocT1nKHIrMSkubGVuZ3RoPjAsay5uZXh0KCkpOihxPWcoci0xKS5sZW5ndGg+MCxrLnByZXYoKSksIWUmJnF9LGsuZG9uZT1mdW5jdGlvbihiKXt2YXIgYyxlLGcsaDtmb3IoZT10aW55bWNlLnRvQXJyYXkoYS5nZXRCb2R5KCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKSksYz0wO2M8ZS5sZW5ndGg7YysrKXt2YXIgaT1kKGVbY10pO251bGwhPT1pJiZpLmxlbmd0aCYmKGk9PT1sLnRvU3RyaW5nKCkmJihnfHwoZz1lW2NdLmZpcnN0Q2hpbGQpLGg9ZVtjXS5maXJzdENoaWxkKSxmKGVbY10pKX1pZihnJiZoKXt2YXIgaj1hLmRvbS5jcmVhdGVSbmcoKTtyZXR1cm4gai5zZXRTdGFydChnLDApLGouc2V0RW5kKGgsaC5kYXRhLmxlbmd0aCksYiE9PSExJiZhLnNlbGVjdGlvbi5zZXRSbmcoaiksan19fXRpbnltY2UuUGx1Z2luTWFuYWdlci5hZGQoInNlYXJjaHJlcGxhY2UiLGMpfSgpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/spellchecker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/spellchecker/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/spellchecker/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGEsYil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGMoYSxiKXtmb3IodmFyIGMsZD1bXSxmPTA7ZjxhLmxlbmd0aDsrK2Ype2lmKGM9Z1thW2ZdXXx8ZShhW2ZdKSwhYyl0aHJvdyJtb2R1bGUgZGVmaW5pdGlvbiBkZXBlbmRlY3kgbm90IGZvdW5kOiAiK2FbZl07ZC5wdXNoKGMpfWIuYXBwbHkobnVsbCxkKX1mdW5jdGlvbiBkKGEsZCxlKXtpZigic3RyaW5nIiE9dHlwZW9mIGEpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgbW9kdWxlIGlkIG11c3QgYmUgZGVmaW5lZCBhbmQgYmUgYSBzdHJpbmciO2lmKGQ9PT1iKXRocm93ImludmFsaWQgbW9kdWxlIGRlZmluaXRpb24sIGRlcGVuZGVuY2llcyBtdXN0IGJlIHNwZWNpZmllZCI7aWYoZT09PWIpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgZGVmaW5pdGlvbiBmdW5jdGlvbiBtdXN0IGJlIHNwZWNpZmllZCI7YyhkLGZ1bmN0aW9uKCl7Z1thXT1lLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pfWZ1bmN0aW9uIGUoYil7Zm9yKHZhciBjPWEsZD1iLnNwbGl0KC9bLlwvXS8pLGU9MDtlPGQubGVuZ3RoOysrZSl7aWYoIWNbZFtlXV0pcmV0dXJuO2M9Y1tkW2VdXX1yZXR1cm4gY31mdW5jdGlvbiBmKGMpe3ZhciBkLGUsZixoLGk7Zm9yKGQ9MDtkPGMubGVuZ3RoO2QrKyl7ZT1hLGY9Y1tkXSxoPWYuc3BsaXQoL1suXC9dLyk7Zm9yKHZhciBqPTA7ajxoLmxlbmd0aC0xOysraillW2hbal1dPT09YiYmKGVbaFtqXV09e30pLGU9ZVtoW2pdXTtlW2hbaC5sZW5ndGgtMV1dPWdbZl19aWYoYS5BTURMQ19URVNUUyl7aT1hLnByaXZhdGVNb2R1bGVzfHx7fTtmb3IoZiBpbiBnKWlbZl09Z1tmXTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWRlbGV0ZSBpW2NbZF1dO2EucHJpdmF0ZU1vZHVsZXM9aX19dmFyIGc9e307ZCgidGlueW1jZS9zcGVsbGNoZWNrZXJwbHVnaW4vRG9tVGV4dE1hdGNoZXIiLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShhKXtyZXR1cm4gYSYmMT09YS5ub2RlVHlwZSYmImZhbHNlIj09PWEuY29udGVudEVkaXRhYmxlfXJldHVybiBmdW5jdGlvbihiLGMpe2Z1bmN0aW9uIGQoYSxiKXtpZighYVswXSl0aHJvdyJmaW5kQW5kUmVwbGFjZURPTVRleHQgY2Fubm90IGhhbmRsZSB6ZXJvLWxlbmd0aCBtYXRjaGVzIjtyZXR1cm57c3RhcnQ6YS5pbmRleCxlbmQ6YS5pbmRleCthWzBdLmxlbmd0aCx0ZXh0OmFbMF0sZGF0YTpifX1mdW5jdGlvbiBlKGIpe3ZhciBjO2lmKDM9PT1iLm5vZGVUeXBlKXJldHVybiBiLmRhdGE7aWYoeVtiLm5vZGVOYW1lXSYmIXhbYi5ub2RlTmFtZV0pcmV0dXJuIiI7aWYoYShiKSlyZXR1cm4iXG4iO2lmKGM9IiIsKHhbYi5ub2RlTmFtZV18fHpbYi5ub2RlTmFtZV0pJiYoYys9IlxuIiksYj1iLmZpcnN0Q2hpbGQpZG8gYys9ZShiKTt3aGlsZShiPWIubmV4dFNpYmxpbmcpO3JldHVybiBjfWZ1bmN0aW9uIGYoYixjLGQpe3ZhciBlLGYsZyxoLGksaj1bXSxrPTAsbD1iLG09MDtjPWMuc2xpY2UoMCksYy5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3RhcnQtYi5zdGFydH0pLGk9Yy5zaGlmdCgpO2E6Zm9yKDs7KXtpZigoeFtsLm5vZGVOYW1lXXx8eltsLm5vZGVOYW1lXXx8YShsKSkmJmsrKywzPT09bC5ub2RlVHlwZSYmKCFmJiZsLmxlbmd0aCtrPj1pLmVuZD8oZj1sLGg9aS5lbmQtayk6ZSYmai5wdXNoKGwpLCFlJiZsLmxlbmd0aCtrPmkuc3RhcnQmJihlPWwsZz1pLnN0YXJ0LWspLGsrPWwubGVuZ3RoKSxlJiZmKXtpZihsPWQoe3N0YXJ0Tm9kZTplLHN0YXJ0Tm9kZUluZGV4OmcsZW5kTm9kZTpmLGVuZE5vZGVJbmRleDpoLGlubmVyTm9kZXM6aixtYXRjaDppLnRleHQsbWF0Y2hJbmRleDptfSksay09Zi5sZW5ndGgtaCxlPW51bGwsZj1udWxsLGo9W10saT1jLnNoaWZ0KCksbSsrLCFpKWJyZWFrfWVsc2UgaWYoeVtsLm5vZGVOYW1lXSYmIXhbbC5ub2RlTmFtZV18fCFsLmZpcnN0Q2hpbGQpe2lmKGwubmV4dFNpYmxpbmcpe2w9bC5uZXh0U2libGluZztjb250aW51ZX19ZWxzZSBpZighYShsKSl7bD1sLmZpcnN0Q2hpbGQ7Y29udGludWV9Zm9yKDs7KXtpZihsLm5leHRTaWJsaW5nKXtsPWwubmV4dFNpYmxpbmc7YnJlYWt9aWYobC5wYXJlbnROb2RlPT09YilicmVhayBhO2w9bC5wYXJlbnROb2RlfX19ZnVuY3Rpb24gZyhhKXtmdW5jdGlvbiBiKGIsYyl7dmFyIGQ9QVtjXTtkLnN0ZW5jaWx8fChkLnN0ZW5jaWw9YShkKSk7dmFyIGU9ZC5zdGVuY2lsLmNsb25lTm9kZSghMSk7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1pbmRleCIsYyksYiYmZS5hcHBlbmRDaGlsZChCLmRvYy5jcmVhdGVUZXh0Tm9kZShiKSksZX1yZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGMsZCxlLGY9YS5zdGFydE5vZGUsZz1hLmVuZE5vZGUsaD1hLm1hdGNoSW5kZXgsaT1CLmRvYztpZihmPT09Zyl7dmFyIGo9ZjtlPWoucGFyZW50Tm9kZSxhLnN0YXJ0Tm9kZUluZGV4PjAmJihjPWkuY3JlYXRlVGV4dE5vZGUoai5kYXRhLnN1YnN0cmluZygwLGEuc3RhcnROb2RlSW5kZXgpKSxlLmluc2VydEJlZm9yZShjLGopKTt2YXIgaz1iKGEubWF0Y2gsaCk7cmV0dXJuIGUuaW5zZXJ0QmVmb3JlKGssaiksYS5lbmROb2RlSW5kZXg8ai5sZW5ndGgmJihkPWkuY3JlYXRlVGV4dE5vZGUoai5kYXRhLnN1YnN0cmluZyhhLmVuZE5vZGVJbmRleCkpLGUuaW5zZXJ0QmVmb3JlKGQsaikpLGoucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChqKSxrfWM9aS5jcmVhdGVUZXh0Tm9kZShmLmRhdGEuc3Vic3RyaW5nKDAsYS5zdGFydE5vZGVJbmRleCkpLGQ9aS5jcmVhdGVUZXh0Tm9kZShnLmRhdGEuc3Vic3RyaW5nKGEuZW5kTm9kZUluZGV4KSk7Zm9yKHZhciBsPWIoZi5kYXRhLnN1YnN0cmluZyhhLnN0YXJ0Tm9kZUluZGV4KSxoKSxtPVtdLG49MCxvPWEuaW5uZXJOb2Rlcy5sZW5ndGg7bz5uOysrbil7dmFyIHA9YS5pbm5lck5vZGVzW25dLHE9YihwLmRhdGEsaCk7cC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChxLHApLG0ucHVzaChxKX12YXIgcj1iKGcuZGF0YS5zdWJzdHJpbmcoMCxhLmVuZE5vZGVJbmRleCksaCk7cmV0dXJuIGU9Zi5wYXJlbnROb2RlLGUuaW5zZXJ0QmVmb3JlKGMsZiksZS5pbnNlcnRCZWZvcmUobCxmKSxlLnJlbW92ZUNoaWxkKGYpLGU9Zy5wYXJlbnROb2RlLGUuaW5zZXJ0QmVmb3JlKHIsZyksZS5pbnNlcnRCZWZvcmUoZCxnKSxlLnJlbW92ZUNoaWxkKGcpLHJ9fWZ1bmN0aW9uIGgoYSl7dmFyIGI9YS5wYXJlbnROb2RlO2IuaW5zZXJ0QmVmb3JlKGEuZmlyc3RDaGlsZCxhKSxhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSl9ZnVuY3Rpb24gaShhKXt2YXIgYz1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIiksZD1bXTthPSJudW1iZXIiPT10eXBlb2YgYT8iIithOm51bGw7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBmPWNbZV0sZz1mLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtaW5kZXgiKTtudWxsIT09ZyYmZy5sZW5ndGgmJihnIT09YSYmbnVsbCE9PWF8fGQucHVzaChmKSl9cmV0dXJuIGR9ZnVuY3Rpb24gaihhKXtmb3IodmFyIGI9QS5sZW5ndGg7Yi0tOylpZihBW2JdPT09YSlyZXR1cm4gYjtyZXR1cm4tMX1mdW5jdGlvbiBrKGEpe3ZhciBiPVtdO3JldHVybiBsKGZ1bmN0aW9uKGMsZCl7YShjLGQpJiZiLnB1c2goYyl9KSxBPWIsdGhpc31mdW5jdGlvbiBsKGEpe2Zvcih2YXIgYj0wLGM9QS5sZW5ndGg7Yz5iJiZhKEFbYl0sYikhPT0hMTtiKyspO3JldHVybiB0aGlzfWZ1bmN0aW9uIG0oYSl7cmV0dXJuIEEubGVuZ3RoJiZmKGIsQSxnKGEpKSx0aGlzfWZ1bmN0aW9uIG4oYSxiKXtpZih3JiZhLmdsb2JhbClmb3IoO3Y9YS5leGVjKHcpOylBLnB1c2goZCh2LGIpKTtyZXR1cm4gdGhpc31mdW5jdGlvbiBvKGEpe3ZhciBiLGM9aShhP2ooYSk6bnVsbCk7Zm9yKGI9Yy5sZW5ndGg7Yi0tOyloKGNbYl0pO3JldHVybiB0aGlzfWZ1bmN0aW9uIHAoYSl7cmV0dXJuIEFbYS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWluZGV4IildfWZ1bmN0aW9uIHEoYSl7cmV0dXJuIGkoaihhKSlbMF19ZnVuY3Rpb24gcihhLGIsYyl7cmV0dXJuIEEucHVzaCh7c3RhcnQ6YSxlbmQ6YStiLHRleHQ6dy5zdWJzdHIoYSxiKSxkYXRhOmN9KSx0aGlzfWZ1bmN0aW9uIHMoYSl7dmFyIGI9aShqKGEpKSxkPWMuZG9tLmNyZWF0ZVJuZygpO3JldHVybiBkLnNldFN0YXJ0QmVmb3JlKGJbMF0pLGQuc2V0RW5kQWZ0ZXIoYltiLmxlbmd0aC0xXSksZH1mdW5jdGlvbiB0KGEsYil7dmFyIGQ9cyhhKTtyZXR1cm4gZC5kZWxldGVDb250ZW50cygpLGIubGVuZ3RoPjAmJmQuaW5zZXJ0Tm9kZShjLmRvbS5kb2MuY3JlYXRlVGV4dE5vZGUoYikpLGR9ZnVuY3Rpb24gdSgpe3JldHVybiBBLnNwbGljZSgwLEEubGVuZ3RoKSxvKCksdGhpc312YXIgdix3LHgseSx6LEE9W10sQj1jLmRvbTtyZXR1cm4geD1jLnNjaGVtYS5nZXRCbG9ja0VsZW1lbnRzKCkseT1jLnNjaGVtYS5nZXRXaGl0ZVNwYWNlRWxlbWVudHMoKSx6PWMuc2NoZW1hLmdldFNob3J0RW5kZWRFbGVtZW50cygpLHc9ZShiKSx7dGV4dDp3LG1hdGNoZXM6QSxlYWNoOmwsZmlsdGVyOmsscmVzZXQ6dSxtYXRjaEZyb21FbGVtZW50OnAsZWxlbWVudEZyb21NYXRjaDpxLGZpbmQ6bixhZGQ6cix3cmFwOm0sdW53cmFwOm8scmVwbGFjZTp0LHJhbmdlRnJvbU1hdGNoOnMsaW5kZXhPZjpqfX19KSxkKCJ0aW55bWNlL3NwZWxsY2hlY2tlcnBsdWdpbi9QbHVnaW4iLFsidGlueW1jZS9zcGVsbGNoZWNrZXJwbHVnaW4vRG9tVGV4dE1hdGNoZXIiLCJ0aW55bWNlL1BsdWdpbk1hbmFnZXIiLCJ0aW55bWNlL3V0aWwvVG9vbHMiLCJ0aW55bWNlL3VpL01lbnUiLCJ0aW55bWNlL2RvbS9ET01VdGlscyIsInRpbnltY2UvdXRpbC9YSFIiLCJ0aW55bWNlL3V0aWwvVVJJIiwidGlueW1jZS91dGlsL0pTT04iXSxmdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe2IuYWRkKCJzcGVsbGNoZWNrZXIiLGZ1bmN0aW9uKGIsaSl7ZnVuY3Rpb24gaigpe3JldHVybiBFLnRleHRNYXRjaGVyfHwoRS50ZXh0TWF0Y2hlcj1uZXcgYShiLmdldEJvZHkoKSxiKSksRS50ZXh0TWF0Y2hlcn1mdW5jdGlvbiBrKGEsYil7dmFyIGQ9W107cmV0dXJuIGMuZWFjaChiLGZ1bmN0aW9uKGEpe2QucHVzaCh7c2VsZWN0YWJsZTohMCx0ZXh0OmEubmFtZSxkYXRhOmEudmFsdWV9KX0pLGR9ZnVuY3Rpb24gbChhKXtmb3IodmFyIGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBtKGEsZil7dmFyIGc9W10saD1BW2FdO2MuZWFjaChoLGZ1bmN0aW9uKGEpe2cucHVzaCh7dGV4dDphLG9uY2xpY2s6ZnVuY3Rpb24oKXtiLmluc2VydENvbnRlbnQoYi5kb20uZW5jb2RlKGEpKSxiLmRvbS5yZW1vdmUoZikscigpfX0pfSksZy5wdXNoKHt0ZXh0OiItIn0pLEQmJmcucHVzaCh7dGV4dDoiQWRkIHRvIERpY3Rpb25hcnkiLG9uY2xpY2s6ZnVuY3Rpb24oKXtzKGEsZil9fSksZy5wdXNoLmFwcGx5KGcsW3t0ZXh0OiJJZ25vcmUiLG9uY2xpY2s6ZnVuY3Rpb24oKXt0KGEsZil9fSx7dGV4dDoiSWdub3JlIGFsbCIsb25jbGljazpmdW5jdGlvbigpe3QoYSxmLCEwKX19XSksQz1uZXcgZCh7aXRlbXM6Zyxjb250ZXh0OiJjb250ZXh0bWVudSIsb25hdXRvaGlkZTpmdW5jdGlvbihhKXstMSE9YS50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoInNwZWxsY2hlY2tlciIpJiZhLnByZXZlbnREZWZhdWx0KCl9LG9uaGlkZTpmdW5jdGlvbigpe0MucmVtb3ZlKCksQz1udWxsfX0pLEMucmVuZGVyVG8oZG9jdW1lbnQuYm9keSk7dmFyIGk9ZS5ET00uZ2V0UG9zKGIuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKSksaj1iLmRvbS5nZXRQb3MoZlswXSksaz1iLmRvbS5nZXRSb290KCk7IkJPRFkiPT1rLm5vZGVOYW1lPyhqLngtPWsub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ay5zY3JvbGxMZWZ0LGoueS09ay5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGsuc2Nyb2xsVG9wKTooai54LT1rLnNjcm9sbExlZnQsai55LT1rLnNjcm9sbFRvcCksaS54Kz1qLngsaS55Kz1qLnksQy5tb3ZlVG8oaS54LGkueStmWzBdLm9mZnNldEhlaWdodCl9ZnVuY3Rpb24gbigpe3JldHVybiBiLmdldFBhcmFtKCJzcGVsbGNoZWNrZXJfd29yZGNoYXJfcGF0dGVybiIpfHxuZXcgUmVnRXhwKCdbXlxccyEiIyQlJigpKissLS4vOjs8PT4/QFtcXF1eX3t8fWBceGE3XHhhOVx4YWJceGFlXHhiMVx4YjZceGI3XHhiOFx4YmJceGJjXHhiZFx4YmVceGJmXHhkN1x4ZjdceGE0XHUyMDFkXHUyMDFjXHUyMDFlXHhhMFx1MjAwMlx1MjAwM1x1MjAwOV0rJywiZyIpfWZ1bmN0aW9uIG8oYSxkLGUsail7dmFyIGs9e21ldGhvZDphLGxhbmc6Ri5zcGVsbGNoZWNrZXJfbGFuZ3VhZ2V9LGw9IiI7a1siYWRkVG9EaWN0aW9uYXJ5Ij09YT8id29yZCI6InRleHQiXT1kLGMuZWFjaChrLGZ1bmN0aW9uKGEsYil7bCYmKGwrPSImIiksbCs9YisiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGEpfSksZi5zZW5kKHt1cmw6bmV3IGcoaSkudG9BYnNvbHV0ZShGLnNwZWxsY2hlY2tlcl9ycGNfdXJsKSx0eXBlOiJwb3N0Iixjb250ZW50X3R5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIsZGF0YTpsLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7aWYoYT1oLnBhcnNlKGEpKWEuZXJyb3I/aihhLmVycm9yKTplKGEpO2Vsc2V7dmFyIGM9Yi50cmFuc2xhdGUoIlNlcnZlciByZXNwb25zZSB3YXNuJ3QgcHJvcGVyIEpTT04uIik7aihjKX19LGVycm9yOmZ1bmN0aW9uKCl7dmFyIGE9Yi50cmFuc2xhdGUoIlRoZSBzcGVsbGluZyBzZXJ2aWNlIHdhcyBub3QgZm91bmQ6ICgiKStGLnNwZWxsY2hlY2tlcl9ycGNfdXJsK2IudHJhbnNsYXRlKCIpIik7aihhKX19KX1mdW5jdGlvbiBwKGEsYixjLGQpe3ZhciBlPUYuc3BlbGxjaGVja2VyX2NhbGxiYWNrfHxvO2UuY2FsbChFLGEsYixjLGQpfWZ1bmN0aW9uIHEoKXtmdW5jdGlvbiBhKGEpe2Iubm90aWZpY2F0aW9uTWFuYWdlci5vcGVuKHt0ZXh0OmEsdHlwZToiZXJyb3IifSksYi5zZXRQcm9ncmVzc1N0YXRlKCExKSx1KCl9dSgpfHwoYi5zZXRQcm9ncmVzc1N0YXRlKCEwKSxwKCJzcGVsbGNoZWNrIixqKCkudGV4dCx5LGEpLGIuZm9jdXMoKSl9ZnVuY3Rpb24gcigpe2IuZG9tLnNlbGVjdCgic3Bhbi5tY2Utc3BlbGxjaGVja2VyLXdvcmQiKS5sZW5ndGh8fHUoKX1mdW5jdGlvbiBzKGEsYyl7Yi5zZXRQcm9ncmVzc1N0YXRlKCEwKSxwKCJhZGRUb0RpY3Rpb25hcnkiLGEsZnVuY3Rpb24oKXtiLnNldFByb2dyZXNzU3RhdGUoITEpLGIuZG9tLnJlbW92ZShjLCEwKSxyKCl9LGZ1bmN0aW9uKGEpe2Iubm90aWZpY2F0aW9uTWFuYWdlci5vcGVuKHt0ZXh0OmEsdHlwZToiZXJyb3IifSksYi5zZXRQcm9ncmVzc1N0YXRlKCExKX0pfWZ1bmN0aW9uIHQoYSxkLGUpe2Iuc2VsZWN0aW9uLmNvbGxhcHNlKCksZT9jLmVhY2goYi5kb20uc2VsZWN0KCJzcGFuLm1jZS1zcGVsbGNoZWNrZXItd29yZCIpLGZ1bmN0aW9uKGMpe2MuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS13b3JkIik9PWEmJmIuZG9tLnJlbW92ZShjLCEwKX0pOmIuZG9tLnJlbW92ZShkLCEwKSxyKCl9ZnVuY3Rpb24gdSgpe3JldHVybiBqKCkucmVzZXQoKSxFLnRleHRNYXRjaGVyPW51bGwsQj8oQj0hMSxiLmZpcmUoIlNwZWxsY2hlY2tFbmQiKSwhMCk6dm9pZCAwfWZ1bmN0aW9uIHYoYSl7dmFyIGI9YS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWluZGV4Iik7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBiPyIiK2I6Yn1mdW5jdGlvbiB3KGEpe3ZhciBkLGU9W107aWYoZD1jLnRvQXJyYXkoYi5nZXRCb2R5KCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKSksZC5sZW5ndGgpZm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPXYoZFtmXSk7bnVsbCE9PWcmJmcubGVuZ3RoJiZnPT09YS50b1N0cmluZygpJiZlLnB1c2goZFtmXSl9cmV0dXJuIGV9ZnVuY3Rpb24geChhKXt2YXIgYj1GLnNwZWxsY2hlY2tlcl9sYW5ndWFnZTthLmNvbnRyb2wuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGEpe2EuYWN0aXZlKGEuc2V0dGluZ3MuZGF0YT09PWIpfSl9ZnVuY3Rpb24geShhKXt2YXIgYztpZihhLndvcmRzPyhEPSEhYS5kaWN0aW9uYXJ5LGM9YS53b3Jkcyk6Yz1hLGIuc2V0UHJvZ3Jlc3NTdGF0ZSghMSksbChjKSl7dmFyIGQ9Yi50cmFuc2xhdGUoIk5vIG1pc3NwZWxsaW5ncyBmb3VuZC4iKTtyZXR1cm4gYi5ub3RpZmljYXRpb25NYW5hZ2VyLm9wZW4oe3RleHQ6ZCx0eXBlOiJpbmZvIn0pLHZvaWQoQj0hMSl9QT1jLGooKS5maW5kKG4oKSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiEhY1thLnRleHRdfSkud3JhcChmdW5jdGlvbihhKXtyZXR1cm4gYi5kb20uY3JlYXRlKCJzcGFuIix7ImNsYXNzIjoibWNlLXNwZWxsY2hlY2tlci13b3JkIiwiZGF0YS1tY2UtYm9ndXMiOjEsImRhdGEtbWNlLXdvcmQiOmEudGV4dH0pfSksQj0hMCxiLmZpcmUoIlNwZWxsY2hlY2tTdGFydCIpfXZhciB6LEEsQixDLEQsRT10aGlzLEY9Yi5zZXR0aW5ncyxHPUYuc3BlbGxjaGVja2VyX2xhbmd1YWdlc3x8IkVuZ2xpc2g9ZW4sRGFuaXNoPWRhLER1dGNoPW5sLEZpbm5pc2g9ZmksRnJlbmNoPWZyX0ZSLEdlcm1hbj1kZSxJdGFsaWFuPWl0LFBvbGlzaD1wbCxQb3J0dWd1ZXNlPXB0X0JSLFNwYW5pc2g9ZXMsU3dlZGlzaD1zdiI7ej1rKCJMYW5ndWFnZSIsYy5tYXAoRy5zcGxpdCgiLCIpLGZ1bmN0aW9uKGEpe3JldHVybiBhPWEuc3BsaXQoIj0iKSx7bmFtZTphWzBdLHZhbHVlOmFbMV19fSkpLGIub24oImNsaWNrIixmdW5jdGlvbihhKXt2YXIgYz1hLnRhcmdldDtpZigibWNlLXNwZWxsY2hlY2tlci13b3JkIj09Yy5jbGFzc05hbWUpe2EucHJldmVudERlZmF1bHQoKTt2YXIgZD13KHYoYykpO2lmKGQubGVuZ3RoPjApe3ZhciBlPWIuZG9tLmNyZWF0ZVJuZygpO2Uuc2V0U3RhcnRCZWZvcmUoZFswXSksZS5zZXRFbmRBZnRlcihkW2QubGVuZ3RoLTFdKSxiLnNlbGVjdGlvbi5zZXRSbmcoZSksbShjLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2Utd29yZCIpLGQpfX19KSxiLmFkZE1lbnVJdGVtKCJzcGVsbGNoZWNrZXIiLHt0ZXh0OiJTcGVsbGNoZWNrIixjb250ZXh0OiJ0b29scyIsb25jbGljazpxLHNlbGVjdGFibGU6ITAsb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGE9dGhpczthLmFjdGl2ZShCKSxiLm9uKCJTcGVsbGNoZWNrU3RhcnQgU3BlbGxjaGVja0VuZCIsZnVuY3Rpb24oKXthLmFjdGl2ZShCKX0pfX0pO3ZhciBIPXt0b29sdGlwOiJTcGVsbGNoZWNrIixvbmNsaWNrOnEsb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcztiLm9uKCJTcGVsbGNoZWNrU3RhcnQgU3BlbGxjaGVja0VuZCIsZnVuY3Rpb24oKXthLmFjdGl2ZShCKX0pfX07ei5sZW5ndGg+MSYmKEgudHlwZT0ic3BsaXRidXR0b24iLEgubWVudT16LEgub25zaG93PXgsSC5vbnNlbGVjdD1mdW5jdGlvbihhKXtGLnNwZWxsY2hlY2tlcl9sYW5ndWFnZT1hLmNvbnRyb2wuc2V0dGluZ3MuZGF0YX0pLGIuYWRkQnV0dG9uKCJzcGVsbGNoZWNrZXIiLEgpLGIuYWRkQ29tbWFuZCgibWNlU3BlbGxDaGVjayIscSksYi5vbigicmVtb3ZlIixmdW5jdGlvbigpe0MmJihDLnJlbW92ZSgpLEM9bnVsbCl9KSxiLm9uKCJjaGFuZ2UiLHIpLHRoaXMuZ2V0VGV4dE1hdGNoZXI9aix0aGlzLmdldFdvcmRDaGFyUGF0dGVybj1uLHRoaXMubWFya0Vycm9ycz15LHRoaXMuZ2V0TGFuZ3VhZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gRi5zcGVsbGNoZWNrZXJfbGFuZ3VhZ2V9LEYuc3BlbGxjaGVja2VyX2xhbmd1YWdlPUYuc3BlbGxjaGVja2VyX2xhbmd1YWdlfHxGLmxhbmd1YWdlfHwiZW4ifSl9KSxmKFsidGlueW1jZS9zcGVsbGNoZWNrZXJwbHVnaW4vRG9tVGV4dE1hdGNoZXIiXSl9KHRoaXMpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/tabfocus/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/tabfocus/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/tabfocus/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgidGFiZm9jdXMiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSl7OSE9PWEua2V5Q29kZXx8YS5jdHJsS2V5fHxhLmFsdEtleXx8YS5tZXRhS2V5fHxhLnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gYyhiKXtmdW5jdGlvbiBjKGMpe2Z1bmN0aW9uIGYoYSl7cmV0dXJuIkJPRFkiPT09YS5ub2RlTmFtZXx8ImhpZGRlbiIhPWEudHlwZSYmIm5vbmUiIT1hLnN0eWxlLmRpc3BsYXkmJiJoaWRkZW4iIT1hLnN0eWxlLnZpc2liaWxpdHkmJmYoYS5wYXJlbnROb2RlKX1mdW5jdGlvbiBpKGEpe3JldHVybi9JTlBVVHxURVhUQVJFQXxCVVRUT04vLnRlc3QoYS50YWdOYW1lKSYmdGlueW1jZS5nZXQoYi5pZCkmJi0xIT1hLnRhYkluZGV4JiZmKGEpfWlmKGg9ZC5zZWxlY3QoIjppbnB1dDplbmFibGVkLCpbdGFiaW5kZXhdOm5vdChpZnJhbWUpIiksZShoLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGIuaWQ9PWEuaWQ/KGc9YywhMSk6dm9pZCAwfSksYz4wKXtmb3Ioaj1nKzE7ajxoLmxlbmd0aDtqKyspaWYoaShoW2pdKSlyZXR1cm4gaFtqXX1lbHNlIGZvcihqPWctMTtqPj0wO2otLSlpZihpKGhbal0pKXJldHVybiBoW2pdO3JldHVybiBudWxsfXZhciBnLGgsaSxqO2lmKCEoOSE9PWIua2V5Q29kZXx8Yi5jdHJsS2V5fHxiLmFsdEtleXx8Yi5tZXRhS2V5fHxiLmlzRGVmYXVsdFByZXZlbnRlZCgpKSYmKGk9ZihhLmdldFBhcmFtKCJ0YWJfZm9jdXMiLGEuZ2V0UGFyYW0oInRhYmZvY3VzX2VsZW1lbnRzIiwiOnByZXYsOm5leHQiKSkpLDE9PWkubGVuZ3RoJiYoaVsxXT1pWzBdLGlbMF09IjpwcmV2IiksaD1iLnNoaWZ0S2V5PyI6cHJldiI9PWlbMF0/YygtMSk6ZC5nZXQoaVswXSk6IjpuZXh0Ij09aVsxXT9jKDEpOmQuZ2V0KGlbMV0pKSl7dmFyIGs9dGlueW1jZS5nZXQoaC5pZHx8aC5uYW1lKTtoLmlkJiZrP2suZm9jdXMoKTp0aW55bWNlLnV0aWwuRGVsYXkuc2V0VGltZW91dChmdW5jdGlvbigpe3RpbnltY2UuRW52LndlYmtpdHx8d2luZG93LmZvY3VzKCksaC5mb2N1cygpfSwxMCksYi5wcmV2ZW50RGVmYXVsdCgpfX12YXIgZD10aW55bWNlLkRPTSxlPXRpbnltY2UuZWFjaCxmPXRpbnltY2UuZXhwbG9kZTthLm9uKCJpbml0IixmdW5jdGlvbigpe2EuaW5saW5lJiZ0aW55bWNlLkRPTS5zZXRBdHRyaWIoYS5nZXRCb2R5KCksInRhYkluZGV4IixudWxsKSxhLm9uKCJrZXl1cCIsYiksdGlueW1jZS5FbnYuZ2Vja28/YS5vbigia2V5cHJlc3Mga2V5ZG93biIsYyk6YS5vbigia2V5ZG93biIsYyl9KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/table/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/table/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/table/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGEsYil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGMoYSxiKXtmb3IodmFyIGMsZD1bXSxnPTA7ZzxhLmxlbmd0aDsrK2cpe2lmKGM9ZlthW2ddXXx8ZShhW2ddKSwhYyl0aHJvdyJtb2R1bGUgZGVmaW5pdGlvbiBkZXBlbmRlY3kgbm90IGZvdW5kOiAiK2FbZ107ZC5wdXNoKGMpfWIuYXBwbHkobnVsbCxkKX1mdW5jdGlvbiBkKGEsZCxlKXtpZigic3RyaW5nIiE9dHlwZW9mIGEpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgbW9kdWxlIGlkIG11c3QgYmUgZGVmaW5lZCBhbmQgYmUgYSBzdHJpbmciO2lmKGQ9PT1iKXRocm93ImludmFsaWQgbW9kdWxlIGRlZmluaXRpb24sIGRlcGVuZGVuY2llcyBtdXN0IGJlIHNwZWNpZmllZCI7aWYoZT09PWIpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgZGVmaW5pdGlvbiBmdW5jdGlvbiBtdXN0IGJlIHNwZWNpZmllZCI7YyhkLGZ1bmN0aW9uKCl7ZlthXT1lLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pfWZ1bmN0aW9uIGUoYil7Zm9yKHZhciBjPWEsZD1iLnNwbGl0KC9bLlwvXS8pLGU9MDtlPGQubGVuZ3RoOysrZSl7aWYoIWNbZFtlXV0pcmV0dXJuO2M9Y1tkW2VdXX1yZXR1cm4gY312YXIgZj17fTtkKCJ0aW55bWNlL3RhYmxlcGx1Z2luL1V0aWxzIixbInRpbnltY2UvRW52Il0sZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhLGIpe3JldHVybiBwYXJzZUludChhLmdldEF0dHJpYnV0ZShiKXx8MSwxMCl9ZnVuY3Rpb24gYyhiKXsoIWEuaWV8fGEuaWU+OSkmJihiLmhhc0NoaWxkTm9kZXMoKXx8KGIuaW5uZXJIVE1MPSc8YnIgZGF0YS1tY2UtYm9ndXM9IjEiIC8+JykpfXJldHVybntnZXRTcGFuVmFsOmIscGFkZENlbGw6Y319KSxkKCJ0aW55bWNlL3RhYmxlcGx1Z2luL1RhYmxlR3JpZCIsWyJ0aW55bWNlL3V0aWwvVG9vbHMiLCJ0aW55bWNlL0VudiIsInRpbnltY2UvdGFibGVwbHVnaW4vVXRpbHMiXSxmdW5jdGlvbihhLGMsZCl7dmFyIGU9YS5lYWNoLGY9ZC5nZXRTcGFuVmFsO3JldHVybiBmdW5jdGlvbihnLGgsaSl7ZnVuY3Rpb24gaigpe2cuJCgidGRbZGF0YS1tY2Utc2VsZWN0ZWRdLHRoW2RhdGEtbWNlLXNlbGVjdGVkXSIpLnJlbW92ZUF0dHIoImRhdGEtbWNlLXNlbGVjdGVkIil9ZnVuY3Rpb24gayhhKXtyZXR1cm4gYT09PWcuZ2V0Qm9keSgpfWZ1bmN0aW9uIGwoYixjKXtyZXR1cm4gYj8oYz1hLm1hcChjLnNwbGl0KCIsIiksZnVuY3Rpb24oYSl7cmV0dXJuIGEudG9Mb3dlckNhc2UoKX0pLGEuZ3JlcChiLmNoaWxkTm9kZXMsZnVuY3Rpb24oYil7cmV0dXJuLTEhPT1hLmluQXJyYXkoYyxiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfSkpOltdfWZ1bmN0aW9uIG0oKXt2YXIgYT0wO089W10sUD0wLGUoWyJ0aGVhZCIsInRib2R5IiwidGZvb3QiXSxmdW5jdGlvbihiKXt2YXIgYz1sKGgsYilbMF0sZD1sKGMsInRyIik7ZShkLGZ1bmN0aW9uKGMsZCl7ZCs9YSxlKGwoYywidGQsdGgiKSxmdW5jdGlvbihhLGMpe3ZhciBlLGcsaCxpO2lmKE9bZF0pZm9yKDtPW2RdW2NdOyljKys7Zm9yKGg9ZihhLCJyb3dzcGFuIiksaT1mKGEsImNvbHNwYW4iKSxnPWQ7ZCtoPmc7ZysrKWZvcihPW2ddfHwoT1tnXT1bXSksZT1jO2MraT5lO2UrKylPW2ddW2VdPXtwYXJ0OmIscmVhbDpnPT1kJiZlPT1jLGVsbTphLHJvd3NwYW46aCxjb2xzcGFuOml9O1A9TWF0aC5tYXgoUCxjKzEpfSl9KSxhKz1kLmxlbmd0aH0pfWZ1bmN0aW9uIG4oYSl7cmV0dXJuIGcuZmlyZSgibmV3cm93Iix7bm9kZTphfSksYX1mdW5jdGlvbiBvKGEpe3JldHVybiBnLmZpcmUoIm5ld2NlbGwiLHtub2RlOmF9KSxhfWZ1bmN0aW9uIHAoYSxiKXtyZXR1cm4gYT1hLmNsb25lTm9kZShiKSxhLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKSxhfWZ1bmN0aW9uIHEoYSxiKXt2YXIgYztyZXR1cm4gYz1PW2JdLGM/Y1thXTp2b2lkIDB9ZnVuY3Rpb24gcihhLGIsYyl7YSYmKGM9cGFyc2VJbnQoYywxMCksMT09PWM/YS5yZW1vdmVBdHRyaWJ1dGUoYiwxKTphLnNldEF0dHJpYnV0ZShiLGMsMSkpfWZ1bmN0aW9uIHMoYSl7cmV0dXJuIGEmJighIVQuZ2V0QXR0cmliKGEuZWxtLCJkYXRhLW1jZS1zZWxlY3RlZCIpfHxhPT1pKX1mdW5jdGlvbiB0KCl7dmFyIGE9W107cmV0dXJuIGUoaC5yb3dzLGZ1bmN0aW9uKGIpe2UoYi5jZWxscyxmdW5jdGlvbihjKXtyZXR1cm4gVC5nZXRBdHRyaWIoYywiZGF0YS1tY2Utc2VsZWN0ZWQiKXx8aSYmYz09aS5lbG0/KGEucHVzaChiKSwhMSk6dm9pZCAwfSl9KSxhfWZ1bmN0aW9uIHUoKXt2YXIgYT1ULmNyZWF0ZVJuZygpO2soaCl8fChhLnNldFN0YXJ0QWZ0ZXIoaCksYS5zZXRFbmRBZnRlcihoKSxTLnNldFJuZyhhKSxULnJlbW92ZShoKSl9ZnVuY3Rpb24gdihiKXt2YXIgZixoPXt9O3JldHVybiBnLnNldHRpbmdzLnRhYmxlX2Nsb25lX2VsZW1lbnRzIT09ITEmJihoPWEubWFrZU1hcCgoZy5zZXR0aW5ncy50YWJsZV9jbG9uZV9lbGVtZW50c3x8InN0cm9uZyBlbSBiIGkgc3BhbiBmb250IGgxIGgyIGgzIGg0IGg1IGg2IHAgZGl2IikudG9VcHBlckNhc2UoKSwvWyAsXS8pKSxhLndhbGsoYixmdW5jdGlvbihhKXt2YXIgZDtyZXR1cm4gMz09YS5ub2RlVHlwZT8oZShULmdldFBhcmVudHMoYS5wYXJlbnROb2RlLG51bGwsYikucmV2ZXJzZSgpLGZ1bmN0aW9uKGEpe2hbYS5ub2RlTmFtZV0mJihhPXAoYSwhMSksZj9kJiZkLmFwcGVuZENoaWxkKGEpOmY9ZD1hLGQ9YSl9KSxkJiYoZC5pbm5lckhUTUw9Yy5pZSYmYy5pZTwxMD8iJm5ic3A7IjonPGJyIGRhdGEtbWNlLWJvZ3VzPSIxIiAvPicpLCExKTp2b2lkIDB9LCJjaGlsZE5vZGVzIiksYj1wKGIsITEpLG8oYikscihiLCJyb3dTcGFuIiwxKSxyKGIsImNvbFNwYW4iLDEpLGY/Yi5hcHBlbmRDaGlsZChmKTpkLnBhZGRDZWxsKGIpLGJ9ZnVuY3Rpb24gdygpe3ZhciBhLGI9VC5jcmVhdGVSbmcoKTtyZXR1cm4gZShULnNlbGVjdCgidHIiLGgpLGZ1bmN0aW9uKGEpezA9PT1hLmNlbGxzLmxlbmd0aCYmVC5yZW1vdmUoYSl9KSwwPT09VC5zZWxlY3QoInRyIixoKS5sZW5ndGg/KGIuc2V0U3RhcnRCZWZvcmUoaCksYi5zZXRFbmRCZWZvcmUoaCksUy5zZXRSbmcoYiksdm9pZCBULnJlbW92ZShoKSk6KGUoVC5zZWxlY3QoInRoZWFkLHRib2R5LHRmb290IixoKSxmdW5jdGlvbihhKXswPT09YS5yb3dzLmxlbmd0aCYmVC5yZW1vdmUoYSl9KSxtKCksdm9pZChRJiYoYT1PW01hdGgubWluKE8ubGVuZ3RoLTEsUS55KV0sYSYmKFMuc2VsZWN0KGFbTWF0aC5taW4oYS5sZW5ndGgtMSxRLngpXS5lbG0sITApLFMuY29sbGFwc2UoITApKSkpKX1mdW5jdGlvbiB4KGEsYixjLGQpe3ZhciBlLGYsZyxoLGk7Zm9yKGU9T1tiXVthXS5lbG0ucGFyZW50Tm9kZSxnPTE7Yz49ZztnKyspaWYoZT1ULmdldE5leHQoZSwidHIiKSl7Zm9yKGY9YTtmPj0wO2YtLSlpZihpPU9bYitnXVtmXS5lbG0saS5wYXJlbnROb2RlPT1lKXtmb3IoaD0xO2Q+PWg7aCsrKVQuaW5zZXJ0QWZ0ZXIodihpKSxpKTticmVha31pZigtMT09Zilmb3IoaD0xO2Q+PWg7aCsrKWUuaW5zZXJ0QmVmb3JlKHYoZS5jZWxsc1swXSksZS5jZWxsc1swXSl9fWZ1bmN0aW9uIHkoKXtlKE8sZnVuY3Rpb24oYSxiKXtlKGEsZnVuY3Rpb24oYSxjKXt2YXIgZCxlLGc7aWYocyhhKSYmKGE9YS5lbG0sZD1mKGEsImNvbHNwYW4iKSxlPWYoYSwicm93c3BhbiIpLGQ+MXx8ZT4xKSl7Zm9yKHIoYSwicm93U3BhbiIsMSkscihhLCJjb2xTcGFuIiwxKSxnPTA7ZC0xPmc7ZysrKVQuaW5zZXJ0QWZ0ZXIodihhKSxhKTt4KGMsYixlLTEsZCl9fSl9KX1mdW5jdGlvbiB6KGIsYyxkKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCx0O2lmKGI/KGY9SihiKSxnPWYueCxoPWYueSxpPWcrKGMtMSksaj1oKyhkLTEpKTooUT1SPW51bGwsZShPLGZ1bmN0aW9uKGEsYil7ZShhLGZ1bmN0aW9uKGEsYyl7cyhhKSYmKFF8fChRPXt4OmMseTpifSksUj17eDpjLHk6Yn0pfSl9KSxRJiYoZz1RLngsaD1RLnksaT1SLngsaj1SLnkpKSxuPXEoZyxoKSxvPXEoaSxqKSxuJiZvJiZuLnBhcnQ9PW8ucGFydCl7Zm9yKHkoKSxtKCksbj1xKGcsaCkuZWxtLHIobiwiY29sU3BhbiIsaS1nKzEpLHIobiwicm93U3BhbiIsai1oKzEpLGw9aDtqPj1sO2wrKylmb3Ioaz1nO2k+PWs7aysrKU9bbF0mJk9bbF1ba10mJihiPU9bbF1ba10uZWxtLGIhPW4mJihwPWEuZ3JlcChiLmNoaWxkTm9kZXMpLGUocCxmdW5jdGlvbihhKXtuLmFwcGVuZENoaWxkKGEpfSkscC5sZW5ndGgmJihwPWEuZ3JlcChuLmNoaWxkTm9kZXMpLHQ9MCxlKHAsZnVuY3Rpb24oYSl7IkJSIj09YS5ub2RlTmFtZSYmdCsrPHAubGVuZ3RoLTEmJm4ucmVtb3ZlQ2hpbGQoYSl9KSksVC5yZW1vdmUoYikpKTt3KCl9fWZ1bmN0aW9uIEEoYSl7dmFyIGMsZCxnLGgsaSxqLGssbCxtO2lmKGUoTyxmdW5jdGlvbihiLGQpe3JldHVybiBlKGIsZnVuY3Rpb24oYil7cmV0dXJuIHMoYikmJihiPWIuZWxtLGk9Yi5wYXJlbnROb2RlLGo9bihwKGksITEpKSxjPWQsYSk/ITE6dm9pZCAwfSksYT8hYzp2b2lkIDB9KSxjIT09Yil7Zm9yKGg9MDtoPE9bMF0ubGVuZ3RoO2grKylpZihPW2NdW2hdJiYoZD1PW2NdW2hdLmVsbSxkIT1nKSl7aWYoYSl7aWYoYz4wJiZPW2MtMV1baF0mJihsPU9bYy0xXVtoXS5lbG0sbT1mKGwsInJvd1NwYW4iKSxtPjEpKXtyKGwsInJvd1NwYW4iLG0rMSk7Y29udGludWV9fWVsc2UgaWYobT1mKGQsInJvd3NwYW4iKSxtPjEpe3IoZCwicm93U3BhbiIsbSsxKTtjb250aW51ZX1rPXYoZCkscihrLCJjb2xTcGFuIixkLmNvbFNwYW4pLGouYXBwZW5kQ2hpbGQoayksZz1kfWouaGFzQ2hpbGROb2RlcygpJiYoYT9pLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGosaSk6VC5pbnNlcnRBZnRlcihqLGkpKX19ZnVuY3Rpb24gQihhKXt2YXIgYixjO2UoTyxmdW5jdGlvbihjKXtyZXR1cm4gZShjLGZ1bmN0aW9uKGMsZCl7cmV0dXJuIHMoYykmJihiPWQsYSk/ITE6dm9pZCAwfSksYT8hYjp2b2lkIDB9KSxlKE8sZnVuY3Rpb24oZCxlKXt2YXIgZyxoLGk7ZFtiXSYmKGc9ZFtiXS5lbG0sZyE9YyYmKGk9ZihnLCJjb2xzcGFuIiksaD1mKGcsInJvd3NwYW4iKSwxPT1pP2E/KGcucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodihnKSxnKSx4KGIsZSxoLTEsaSkpOihULmluc2VydEFmdGVyKHYoZyksZykseChiLGUsaC0xLGkpKTpyKGcsImNvbFNwYW4iLGcuY29sU3BhbisxKSxjPWcpKX0pfWZ1bmN0aW9uIEMoYil7cmV0dXJuIGEuZ3JlcChEKGIpLHMpfWZ1bmN0aW9uIEQoYSl7dmFyIGI9W107cmV0dXJuIGUoYSxmdW5jdGlvbihhKXtlKGEsZnVuY3Rpb24oYSl7Yi5wdXNoKGEpfSl9KSxifWZ1bmN0aW9uIEUoKXt2YXIgYj1bXTtpZihrKGgpKXtpZigxPT1PWzBdLmxlbmd0aClyZXR1cm47aWYoQyhPKS5sZW5ndGg9PUQoTykubGVuZ3RoKXJldHVybn1lKE8sZnVuY3Rpb24oYyl7ZShjLGZ1bmN0aW9uKGMsZCl7cyhjKSYmLTE9PT1hLmluQXJyYXkoYixkKSYmKGUoTyxmdW5jdGlvbihhKXt2YXIgYixjPWFbZF0uZWxtO2I9ZihjLCJjb2xTcGFuIiksYj4xP3IoYywiY29sU3BhbiIsYi0xKTpULnJlbW92ZShjKX0pLGIucHVzaChkKSl9KX0pLHcoKX1mdW5jdGlvbiBGKCl7ZnVuY3Rpb24gYShhKXt2YXIgYixjO2UoYS5jZWxscyxmdW5jdGlvbihhKXt2YXIgYz1mKGEsInJvd1NwYW4iKTtjPjEmJihyKGEsInJvd1NwYW4iLGMtMSksYj1KKGEpLHgoYi54LGIueSwxLDEpKX0pLGI9SihhLmNlbGxzWzBdKSxlKE9bYi55XSxmdW5jdGlvbihhKXt2YXIgYjthPWEuZWxtLGEhPWMmJihiPWYoYSwicm93U3BhbiIpLDE+PWI/VC5yZW1vdmUoYSk6cihhLCJyb3dTcGFuIixiLTEpLGM9YSl9KX12YXIgYjtiPXQoKSxrKGgpJiZiLmxlbmd0aD09aC5yb3dzLmxlbmd0aHx8KGUoYi5yZXZlcnNlKCksZnVuY3Rpb24oYil7YShiKX0pLHcoKSl9ZnVuY3Rpb24gRygpe3ZhciBhPXQoKTtpZighayhoKXx8YS5sZW5ndGghPWgucm93cy5sZW5ndGgpcmV0dXJuIFQucmVtb3ZlKGEpLHcoKSxhfWZ1bmN0aW9uIEgoKXt2YXIgYT10KCk7cmV0dXJuIGUoYSxmdW5jdGlvbihiLGMpe2FbY109cChiLCEwKX0pLGF9ZnVuY3Rpb24gSShhLGIpe3ZhciBjPXQoKSxkPWNbYj8wOmMubGVuZ3RoLTFdLGY9ZC5jZWxscy5sZW5ndGg7YSYmKGUoTyxmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gZj0wLGUoYSxmdW5jdGlvbihhKXthLnJlYWwmJihmKz1hLmNvbHNwYW4pLGEuZWxtLnBhcmVudE5vZGU9PWQmJihiPTEpfSksYj8hMTp2b2lkIDB9KSxifHxhLnJldmVyc2UoKSxlKGEsZnVuY3Rpb24oYSl7dmFyIGMsZSxnPWEuY2VsbHMubGVuZ3RoO2ZvcihuKGEpLGM9MDtnPmM7YysrKWU9YS5jZWxsc1tjXSxvKGUpLHIoZSwiY29sU3BhbiIsMSkscihlLCJyb3dTcGFuIiwxKTtmb3IoYz1nO2Y+YztjKyspYS5hcHBlbmRDaGlsZChvKHYoYS5jZWxsc1tnLTFdKSkpO2ZvcihjPWY7Zz5jO2MrKylULnJlbW92ZShhLmNlbGxzW2NdKTtiP2QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxkKTpULmluc2VydEFmdGVyKGEsZCl9KSxqKCkpfWZ1bmN0aW9uIEooYSl7dmFyIGI7cmV0dXJuIGUoTyxmdW5jdGlvbihjLGQpe3JldHVybiBlKGMsZnVuY3Rpb24oYyxlKXtyZXR1cm4gYy5lbG09PWE/KGI9e3g6ZSx5OmR9LCExKTp2b2lkIDB9KSwhYn0pLGJ9ZnVuY3Rpb24gSyhhKXtRPUooYSl9ZnVuY3Rpb24gTCgpe3ZhciBhLGI7cmV0dXJuIGE9Yj0wLGUoTyxmdW5jdGlvbihjLGQpe2UoYyxmdW5jdGlvbihjLGUpe3ZhciBmLGc7cyhjKSYmKGM9T1tkXVtlXSxlPmEmJihhPWUpLGQ+YiYmKGI9ZCksYy5yZWFsJiYoZj1jLmNvbHNwYW4tMSxnPWMucm93c3Bhbi0xLGYmJmUrZj5hJiYoYT1lK2YpLGcmJmQrZz5iJiYoYj1kK2cpKSl9KX0pLHt4OmEseTpifX1mdW5jdGlvbiBNKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksayxsO2lmKFI9SihhKSxRJiZSKXtmb3IoYj1NYXRoLm1pbihRLngsUi54KSxjPU1hdGgubWluKFEueSxSLnkpLGQ9TWF0aC5tYXgoUS54LFIueCksZT1NYXRoLm1heChRLnksUi55KSxmPWQsZz1lLGw9YztnPj1sO2wrKylhPU9bbF1bYl0sYS5yZWFsfHxiLShhLmNvbHNwYW4tMSk8YiYmKGItPWEuY29sc3Bhbi0xKTtmb3Ioaz1iO2Y+PWs7aysrKWE9T1tjXVtrXSxhLnJlYWx8fGMtKGEucm93c3Bhbi0xKTxjJiYoYy09YS5yb3dzcGFuLTEpO2ZvcihsPWM7ZT49bDtsKyspZm9yKGs9YjtkPj1rO2srKylhPU9bbF1ba10sYS5yZWFsJiYoaD1hLmNvbHNwYW4tMSxpPWEucm93c3Bhbi0xLGgmJmsraD5mJiYoZj1rK2gpLGkmJmwraT5nJiYoZz1sK2kpKTtmb3IoaigpLGw9YztnPj1sO2wrKylmb3Ioaz1iO2Y+PWs7aysrKU9bbF1ba10mJlQuc2V0QXR0cmliKE9bbF1ba10uZWxtLCJkYXRhLW1jZS1zZWxlY3RlZCIsIjEiKX19ZnVuY3Rpb24gTihhLGIpe3ZhciBjLGQsZTtjPUooYSksZD1jLnkqUCtjLng7ZG97aWYoZCs9YixlPXEoZCVQLE1hdGguZmxvb3IoZC9QKSksIWUpYnJlYWs7aWYoZS5lbG0hPWEpcmV0dXJuIFMuc2VsZWN0KGUuZWxtLCEwKSxULmlzRW1wdHkoZS5lbG0pJiZTLmNvbGxhcHNlKCEwKSwhMH13aGlsZShlLmVsbT09YSk7cmV0dXJuITF9dmFyIE8sUCxRLFIsUz1nLnNlbGVjdGlvbixUPVMuZG9tO2g9aHx8VC5nZXRQYXJlbnQoUy5nZXRTdGFydCghMCksInRhYmxlIiksbSgpLGk9aXx8VC5nZXRQYXJlbnQoUy5nZXRTdGFydCghMCksInRoLHRkIiksaSYmKFE9SihpKSxSPUwoKSxpPXEoUS54LFEueSkpLGEuZXh0ZW5kKHRoaXMse2RlbGV0ZVRhYmxlOnUsc3BsaXQ6eSxtZXJnZTp6LGluc2VydFJvdzpBLGluc2VydENvbDpCLGRlbGV0ZUNvbHM6RSxkZWxldGVSb3dzOkYsY3V0Um93czpHLGNvcHlSb3dzOkgscGFzdGVSb3dzOkksZ2V0UG9zOkosc2V0U3RhcnRDZWxsOkssc2V0RW5kQ2VsbDpNLG1vdmVSZWxJZHg6TixyZWZyZXNoOm19KX19KSxkKCJ0aW55bWNlL3RhYmxlcGx1Z2luL1F1aXJrcyIsWyJ0aW55bWNlL3V0aWwvVksiLCJ0aW55bWNlL3V0aWwvRGVsYXkiLCJ0aW55bWNlL0VudiIsInRpbnltY2UvdXRpbC9Ub29scyIsInRpbnltY2UvdGFibGVwbHVnaW4vVXRpbHMiXSxmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWQuZWFjaCxnPWUuZ2V0U3BhblZhbDtyZXR1cm4gZnVuY3Rpb24oaCl7ZnVuY3Rpb24gaSgpe2Z1bmN0aW9uIGMoYyl7ZnVuY3Rpb24gZChhLGIpe3ZhciBkPWE/InByZXZpb3VzU2libGluZyI6Im5leHRTaWJsaW5nIixmPWguZG9tLmdldFBhcmVudChiLCJ0ciIpLGc9ZltkXTtpZihnKXJldHVybiByKGgsYixnLGEpLGMucHJldmVudERlZmF1bHQoKSwhMDt2YXIgaT1oLmRvbS5nZXRQYXJlbnQoZiwidGFibGUiKSxsPWYucGFyZW50Tm9kZSxtPWwubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZigidGJvZHkiPT09bXx8bT09PShhPyJ0Zm9vdCI6InRoZWFkIikpe3ZhciBuPWUoYSxpLGwsInRib2R5Iik7aWYobnVsbCE9PW4pcmV0dXJuIGooYSxuLGIpfXJldHVybiBrKGEsZixkLGkpfWZ1bmN0aW9uIGUoYSxiLGMsZCl7dmFyIGU9aC5kb20uc2VsZWN0KCI+IitkLGIpLGY9ZS5pbmRleE9mKGMpO2lmKGEmJjA9PT1mfHwhYSYmZj09PWUubGVuZ3RoLTEpcmV0dXJuIGkoYSxiKTtpZigtMT09PWYpe3ZhciBnPSJ0aGVhZCI9PT1jLnRhZ05hbWUudG9Mb3dlckNhc2UoKT8wOmUubGVuZ3RoLTE7cmV0dXJuIGVbZ119cmV0dXJuIGVbZisoYT8tMToxKV19ZnVuY3Rpb24gaShhLGIpe3ZhciBjPWE/InRoZWFkIjoidGZvb3QiLGQ9aC5kb20uc2VsZWN0KCI+IitjLGIpO3JldHVybiAwIT09ZC5sZW5ndGg/ZFswXTpudWxsfWZ1bmN0aW9uIGooYSxiLGQpe3ZhciBlPWwoYixhKTtyZXR1cm4gZSYmcihoLGQsZSxhKSxjLnByZXZlbnREZWZhdWx0KCksITB9ZnVuY3Rpb24gayhhLGIsZSxmKXt2YXIgZz1mW2VdO2lmKGcpcmV0dXJuIG0oZyksITA7dmFyIGk9aC5kb20uZ2V0UGFyZW50KGYsInRkLHRoIik7aWYoaSlyZXR1cm4gZChhLGksYyk7dmFyIGo9bChiLCFhKTtyZXR1cm4gbShqKSxjLnByZXZlbnREZWZhdWx0KCksITF9ZnVuY3Rpb24gbChhLGIpe3ZhciBjPWEmJmFbYj8ibGFzdENoaWxkIjoiZmlyc3RDaGlsZCJdO3JldHVybiBjJiYiQlIiPT09Yy5ub2RlTmFtZT9oLmRvbS5nZXRQYXJlbnQoYywidGQsdGgiKTpjfWZ1bmN0aW9uIG0oYSl7aC5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24oYSwwKX1mdW5jdGlvbiBuKCl7cmV0dXJuIHU9PWEuVVB8fHU9PWEuRE9XTn1mdW5jdGlvbiBvKGEpe3ZhciBiPWEuc2VsZWN0aW9uLmdldE5vZGUoKSxjPWEuZG9tLmdldFBhcmVudChiLCJ0ciIpO3JldHVybiBudWxsIT09Y31mdW5jdGlvbiBwKGEpe2Zvcih2YXIgYj0wLGM9YTtjLnByZXZpb3VzU2libGluZzspYz1jLnByZXZpb3VzU2libGluZyxiKz1nKGMsImNvbHNwYW4iKTtyZXR1cm4gYn1mdW5jdGlvbiBxKGEsYil7dmFyIGM9MCxkPTA7cmV0dXJuIGYoYS5jaGlsZHJlbixmdW5jdGlvbihhLGUpe3JldHVybiBjKz1nKGEsImNvbHNwYW4iKSxkPWUsYz5iPyExOnZvaWQgMH0pLGR9ZnVuY3Rpb24gcihhLGIsYyxkKXt2YXIgZT1wKGguZG9tLmdldFBhcmVudChiLCJ0ZCx0aCIpKSxmPXEoYyxlKSxnPWMuY2hpbGROb2Rlc1tmXSxpPWwoZyxkKTttKGl8fGcpfWZ1bmN0aW9uIHMoYSl7dmFyIGI9aC5zZWxlY3Rpb24uZ2V0Tm9kZSgpLGM9aC5kb20uZ2V0UGFyZW50KGIsInRkLHRoIiksZD1oLmRvbS5nZXRQYXJlbnQoYSwidGQsdGgiKTtyZXR1cm4gYyYmYyE9PWQmJnQoYyxkKX1mdW5jdGlvbiB0KGEsYil7cmV0dXJuIGguZG9tLmdldFBhcmVudChhLCJUQUJMRSIpPT09aC5kb20uZ2V0UGFyZW50KGIsIlRBQkxFIil9dmFyIHU9Yy5rZXlDb2RlO2lmKG4oKSYmbyhoKSl7dmFyIHY9aC5zZWxlY3Rpb24uZ2V0Tm9kZSgpO2Iuc2V0RWRpdG9yVGltZW91dChoLGZ1bmN0aW9uKCl7cyh2KSYmZCghYy5zaGlmdEtleSYmdT09PWEuVVAsdixjKX0sMCl9fWgub24oIktleURvd24iLGZ1bmN0aW9uKGEpe2MoYSl9KX1mdW5jdGlvbiBqKCl7ZnVuY3Rpb24gYShhLGIpe3ZhciBjLGQ9Yi5vd25lckRvY3VtZW50LGU9ZC5jcmVhdGVSYW5nZSgpO3JldHVybiBlLnNldFN0YXJ0QmVmb3JlKGIpLGUuc2V0RW5kKGEuZW5kQ29udGFpbmVyLGEuZW5kT2Zmc2V0KSxjPWQuY3JlYXRlRWxlbWVudCgiYm9keSIpLGMuYXBwZW5kQ2hpbGQoZS5jbG9uZUNvbnRlbnRzKCkpLDA9PT1jLmlubmVySFRNTC5yZXBsYWNlKC88KGJyfGltZ3xvYmplY3R8ZW1iZWR8aW5wdXR8dGV4dGFyZWEpW14+XSo+L2dpLCItIikucmVwbGFjZSgvPFtePl0rPi9nLCIiKS5sZW5ndGh9aC5vbigiS2V5RG93biIsZnVuY3Rpb24oYil7dmFyIGMsZCxlPWguZG9tOzM3IT1iLmtleUNvZGUmJjM4IT1iLmtleUNvZGV8fChjPWguc2VsZWN0aW9uLmdldFJuZygpLGQ9ZS5nZXRQYXJlbnQoYy5zdGFydENvbnRhaW5lciwidGFibGUiKSxkJiZoLmdldEJvZHkoKS5maXJzdENoaWxkPT1kJiZhKGMsZCkmJihjPWUuY3JlYXRlUm5nKCksYy5zZXRTdGFydEJlZm9yZShkKSxjLnNldEVuZEJlZm9yZShkKSxoLnNlbGVjdGlvbi5zZXRSbmcoYyksYi5wcmV2ZW50RGVmYXVsdCgpKSl9KX1mdW5jdGlvbiBrKCl7aC5vbigiS2V5RG93biBTZXRDb250ZW50IFZpc3VhbEFpZCIsZnVuY3Rpb24oKXt2YXIgYTtmb3IoYT1oLmdldEJvZHkoKS5sYXN0Q2hpbGQ7YTthPWEucHJldmlvdXNTaWJsaW5nKWlmKDM9PWEubm9kZVR5cGUpe2lmKGEubm9kZVZhbHVlLmxlbmd0aD4wKWJyZWFrfWVsc2UgaWYoMT09YS5ub2RlVHlwZSYmKCJCUiI9PWEudGFnTmFtZXx8IWEuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpKSlicmVhazthJiYiVEFCTEUiPT1hLm5vZGVOYW1lJiYoaC5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9jaz9oLmRvbS5hZGQoaC5nZXRCb2R5KCksaC5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9jayxoLnNldHRpbmdzLmZvcmNlZF9yb290X2Jsb2NrX2F0dHJzLGMuaWUmJmMuaWU8MTA/IiZuYnNwOyI6JzxiciBkYXRhLW1jZS1ib2d1cz0iMSIgLz4nKTpoLmRvbS5hZGQoaC5nZXRCb2R5KCksImJyIix7ImRhdGEtbWNlLWJvZ3VzIjoiMSJ9KSl9KSxoLm9uKCJQcmVQcm9jZXNzIixmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGUubGFzdENoaWxkO2ImJigiQlIiPT1iLm5vZGVOYW1lfHwxPT1iLmNoaWxkTm9kZXMubGVuZ3RoJiYoIkJSIj09Yi5maXJzdENoaWxkLm5vZGVOYW1lfHwiXHhhMCI9PWIuZmlyc3RDaGlsZC5ub2RlVmFsdWUpKSYmYi5wcmV2aW91c1NpYmxpbmcmJiJUQUJMRSI9PWIucHJldmlvdXNTaWJsaW5nLm5vZGVOYW1lJiZoLmRvbS5yZW1vdmUoYil9KX1mdW5jdGlvbiBsKCl7ZnVuY3Rpb24gYShhLGIsYyxkKXt2YXIgZSxmLGcsaD0zLGk9YS5kb20uZ2V0UGFyZW50KGIuc3RhcnRDb250YWluZXIsIlRBQkxFIik7cmV0dXJuIGkmJihlPWkucGFyZW50Tm9kZSksZj1iLnN0YXJ0Q29udGFpbmVyLm5vZGVUeXBlPT1oJiYwPT09Yi5zdGFydE9mZnNldCYmMD09PWIuZW5kT2Zmc2V0JiZkJiYoIlRSIj09Yy5ub2RlTmFtZXx8Yz09ZSksZz0oIlREIj09Yy5ub2RlTmFtZXx8IlRIIj09Yy5ub2RlTmFtZSkmJiFkLGZ8fGd9ZnVuY3Rpb24gYigpe3ZhciBiPWguc2VsZWN0aW9uLmdldFJuZygpLGM9aC5zZWxlY3Rpb24uZ2V0Tm9kZSgpLGQ9aC5kb20uZ2V0UGFyZW50KGIuc3RhcnRDb250YWluZXIsIlRELFRIIik7aWYoYShoLGIsYyxkKSl7ZHx8KGQ9Yyk7Zm9yKHZhciBlPWQubGFzdENoaWxkO2UubGFzdENoaWxkOyllPWUubGFzdENoaWxkOzM9PWUubm9kZVR5cGUmJihiLnNldEVuZChlLGUuZGF0YS5sZW5ndGgpLGguc2VsZWN0aW9uLnNldFJuZyhiKSl9fWgub24oIktleURvd24iLGZ1bmN0aW9uKCl7YigpfSksaC5vbigiTW91c2VEb3duIixmdW5jdGlvbihhKXsyIT1hLmJ1dHRvbiYmYigpfSl9ZnVuY3Rpb24gbSgpe2Z1bmN0aW9uIGIoYSl7aC5zZWxlY3Rpb24uc2VsZWN0KGEsITApLGguc2VsZWN0aW9uLmNvbGxhcHNlKCEwKX1mdW5jdGlvbiBjKGEpe2guJChhKS5lbXB0eSgpLGUucGFkZENlbGwoYSl9aC5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7aWYoKGUua2V5Q29kZT09YS5ERUxFVEV8fGUua2V5Q29kZT09YS5CQUNLU1BBQ0UpJiYhZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGYsZyxpLGo7aWYoZj1oLmRvbS5nZXRQYXJlbnQoaC5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwidGFibGUiKSl7aWYoZz1oLmRvbS5zZWxlY3QoInRkLHRoIixmKSxpPWQuZ3JlcChnLGZ1bmN0aW9uKGEpe3JldHVybiEhaC5kb20uZ2V0QXR0cmliKGEsImRhdGEtbWNlLXNlbGVjdGVkIil9KSwwPT09aS5sZW5ndGgpcmV0dXJuIGo9aC5kb20uZ2V0UGFyZW50KGguc2VsZWN0aW9uLmdldFN0YXJ0KCksInRkLHRoIiksdm9pZChoLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpJiZqJiZoLmRvbS5pc0VtcHR5KGopJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGMoaiksYihqKSkpO2UucHJldmVudERlZmF1bHQoKSxoLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7Zy5sZW5ndGg9PWkubGVuZ3RoP2guZXhlY0NvbW1hbmQoIm1jZVRhYmxlRGVsZXRlIik6KGQuZWFjaChpLGMpLGIoaVswXSkpfSl9fX0pfW0oKSxjLndlYmtpdCYmKGkoKSxsKCkpLGMuZ2Vja28mJihqKCksaygpKSxjLmllPjkmJihqKCksaygpKX19KSxkKCJ0aW55bWNlL3RhYmxlcGx1Z2luL0NlbGxTZWxlY3Rpb24iLFsidGlueW1jZS90YWJsZXBsdWdpbi9UYWJsZUdyaWQiLCJ0aW55bWNlL2RvbS9UcmVlV2Fsa2VyIiwidGlueW1jZS91dGlsL1Rvb2xzIl0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXtmdW5jdGlvbiBlKGEpe2QuZ2V0Qm9keSgpLnN0eWxlLndlYmtpdFVzZXJTZWxlY3Q9IiIsKGF8fG4pJiYoZC4kKCJ0ZFtkYXRhLW1jZS1zZWxlY3RlZF0sdGhbZGF0YS1tY2Utc2VsZWN0ZWRdIikucmVtb3ZlQXR0cigiZGF0YS1tY2Utc2VsZWN0ZWQiKSxuPSExKX1mdW5jdGlvbiBmKGEsYil7cmV0dXJuIGEmJmI/YT09PW0uZ2V0UGFyZW50KGIsInRhYmxlIik6ITF9ZnVuY3Rpb24gZyhiKXt2YXIgYyxlLGc9Yi50YXJnZXQ7aWYoIWwmJmchPT1rJiYoaz1nLGomJmkpKXtpZihlPW0uZ2V0UGFyZW50KGcsInRkLHRoIiksZihqLGUpfHwoZT1tLmdldFBhcmVudChqLCJ0ZCx0aCIpKSxpPT09ZSYmIW4pcmV0dXJuO2lmKGYoaixlKSl7Yi5wcmV2ZW50RGVmYXVsdCgpLGh8fChoPW5ldyBhKGQsaixpKSxkLmdldEJvZHkoKS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PSJub25lIiksaC5zZXRFbmRDZWxsKGUpLG49ITAsYz1kLnNlbGVjdGlvbi5nZXRTZWwoKTt0cnl7Yy5yZW1vdmVBbGxSYW5nZXM/Yy5yZW1vdmVBbGxSYW5nZXMoKTpjLmVtcHR5KCl9Y2F0Y2gobyl7fX19fXZhciBoLGksaixrLGwsbT1kLmRvbSxuPSEwO3JldHVybiBkLm9uKCJTZWxlY3Rpb25DaGFuZ2UiLGZ1bmN0aW9uKGEpe24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9LCEwKSxkLm9uKCJNb3VzZURvd24iLGZ1bmN0aW9uKGEpezI9PWEuYnV0dG9ufHxsfHwoZSgpLGk9bS5nZXRQYXJlbnQoYS50YXJnZXQsInRkLHRoIiksaj1tLmdldFBhcmVudChpLCJ0YWJsZSIpKX0pLGQub24oIm1vdXNlb3ZlciIsZyksZC5vbigicmVtb3ZlIixmdW5jdGlvbigpe20udW5iaW5kKGQuZ2V0RG9jKCksIm1vdXNlb3ZlciIsZyksZSgpfSksZC5vbigiTW91c2VVcCIsZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGEsZCl7dmFyIGY9bmV3IGIoYSxhKTtkb3tpZigzPT1hLm5vZGVUeXBlJiYwIT09Yy50cmltKGEubm9kZVZhbHVlKS5sZW5ndGgpcmV0dXJuIHZvaWQoZD9lLnNldFN0YXJ0KGEsMCk6ZS5zZXRFbmQoYSxhLm5vZGVWYWx1ZS5sZW5ndGgpKTtpZigiQlIiPT1hLm5vZGVOYW1lKXJldHVybiB2b2lkKGQ/ZS5zZXRTdGFydEJlZm9yZShhKTplLnNldEVuZEJlZm9yZShhKSl9d2hpbGUoYT1kP2YubmV4dCgpOmYucHJldigpKX12YXIgZSxmLGcsbCxuLG89ZC5zZWxlY3Rpb247aWYoaSl7aWYoaCYmKGQuZ2V0Qm9keSgpLnN0eWxlLndlYmtpdFVzZXJTZWxlY3Q9IiIpLGY9bS5zZWxlY3QoInRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF0iKSxmLmxlbmd0aD4wKXtlPW0uY3JlYXRlUm5nKCksbD1mWzBdLGUuc2V0U3RhcnRCZWZvcmUobCksZS5zZXRFbmRBZnRlcihsKSxhKGwsMSksZz1uZXcgYihsLG0uZ2V0UGFyZW50KGZbMF0sInRhYmxlIikpO2RvIGlmKCJURCI9PWwubm9kZU5hbWV8fCJUSCI9PWwubm9kZU5hbWUpe2lmKCFtLmdldEF0dHJpYihsLCJkYXRhLW1jZS1zZWxlY3RlZCIpKWJyZWFrO249bH13aGlsZShsPWcubmV4dCgpKTthKG4pLG8uc2V0Um5nKGUpfWQubm9kZUNoYW5nZWQoKSxpPWg9aj1rPW51bGx9fSksZC5vbigiS2V5VXAgRHJvcCBTZXRDb250ZW50IixmdW5jdGlvbihhKXtlKCJzZXRjb250ZW50Ij09YS50eXBlKSxpPWg9aj1rPW51bGwsbD0hMX0pLGQub24oIk9iamVjdFJlc2l6ZVN0YXJ0IE9iamVjdFJlc2l6ZWQiLGZ1bmN0aW9uKGEpe2w9Im9iamVjdHJlc2l6ZWQiIT1hLnR5cGV9KSx7Y2xlYXI6ZX19fSksZCgidGlueW1jZS90YWJsZXBsdWdpbi9EaWFsb2dzIixbInRpbnltY2UvdXRpbC9Ub29scyIsInRpbnltY2UvRW52Il0sZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmVhY2g7cmV0dXJuIGZ1bmN0aW9uKGQpe2Z1bmN0aW9uIGUoKXt2YXIgYT1kLnNldHRpbmdzLmNvbG9yX3BpY2tlcl9jYWxsYmFjaztyZXR1cm4gYT9mdW5jdGlvbigpe3ZhciBiPXRoaXM7YS5jYWxsKGQsZnVuY3Rpb24oYSl7Yi52YWx1ZShhKS5maXJlKCJjaGFuZ2UiKX0sYi52YWx1ZSgpKX06dm9pZCAwfWZ1bmN0aW9uIGYoYSl7cmV0dXJue3RpdGxlOiJBZHZhbmNlZCIsdHlwZToiZm9ybSIsZGVmYXVsdHM6e29uY2hhbmdlOmZ1bmN0aW9uKCl7bChhLHRoaXMucGFyZW50cygpLnJldmVyc2UoKVswXSwic3R5bGUiPT10aGlzLm5hbWUoKSl9fSxpdGVtczpbe2xhYmVsOiJTdHlsZSIsbmFtZToic3R5bGUiLHR5cGU6InRleHRib3gifSx7dHlwZToiZm9ybSIscGFkZGluZzowLGZvcm1JdGVtRGVmYXVsdHM6e2xheW91dDoiZ3JpZCIsYWxpZ25IOlsic3RhcnQiLCJyaWdodCJdfSxkZWZhdWx0czp7c2l6ZTo3fSxpdGVtczpbe2xhYmVsOiJCb3JkZXIgY29sb3IiLHR5cGU6ImNvbG9yYm94IixuYW1lOiJib3JkZXJDb2xvciIsb25hY3Rpb246ZSgpfSx7bGFiZWw6IkJhY2tncm91bmQgY29sb3IiLHR5cGU6ImNvbG9yYm94IixuYW1lOiJiYWNrZ3JvdW5kQ29sb3IiLG9uYWN0aW9uOmUoKX1dfV19fWZ1bmN0aW9uIGcoYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC9weCQvLCIiKToiIn1mdW5jdGlvbiBoKGEpe3JldHVybi9eWzAtOV0rJC8udGVzdChhKSYmKGErPSJweCIpLGF9ZnVuY3Rpb24gaShhKXtjKCJsZWZ0IGNlbnRlciByaWdodCIuc3BsaXQoIiAiKSxmdW5jdGlvbihiKXtkLmZvcm1hdHRlci5yZW1vdmUoImFsaWduIitiLHt9LGEpfSl9ZnVuY3Rpb24gaihhKXtjKCJ0b3AgbWlkZGxlIGJvdHRvbSIuc3BsaXQoIiAiKSxmdW5jdGlvbihiKXtkLmZvcm1hdHRlci5yZW1vdmUoInZhbGlnbiIrYix7fSxhKX0pfWZ1bmN0aW9uIGsoYixjLGQpe2Z1bmN0aW9uIGUoYixkKXtyZXR1cm4gZD1kfHxbXSxhLmVhY2goYixmdW5jdGlvbihhKXt2YXIgYj17dGV4dDphLnRleHR8fGEudGl0bGV9O2EubWVudT9iLm1lbnU9ZShhLm1lbnUpOihiLnZhbHVlPWEudmFsdWUsYyYmYyhiKSksZC5wdXNoKGIpfSksZH1yZXR1cm4gZShiLGR8fFtdKX1mdW5jdGlvbiBsKGEsYixjKXt2YXIgZD1iLnRvSlNPTigpLGU9YS5wYXJzZVN0eWxlKGQuc3R5bGUpO2M/KGIuZmluZCgiI2JvcmRlckNvbG9yIikudmFsdWUoZVsiYm9yZGVyLWNvbG9yIl18fCIiKVswXS5maXJlKCJjaGFuZ2UiKSxiLmZpbmQoIiNiYWNrZ3JvdW5kQ29sb3IiKS52YWx1ZShlWyJiYWNrZ3JvdW5kLWNvbG9yIl18fCIiKVswXS5maXJlKCJjaGFuZ2UiKSk6KGVbImJvcmRlci1jb2xvciJdPWQuYm9yZGVyQ29sb3IsZVsiYmFja2dyb3VuZC1jb2xvciJdPWQuYmFja2dyb3VuZENvbG9yKSxiLmZpbmQoIiNzdHlsZSIpLnZhbHVlKGEuc2VyaWFsaXplU3R5bGUoYS5wYXJzZVN0eWxlKGEuc2VyaWFsaXplU3R5bGUoZSkpKSl9ZnVuY3Rpb24gbShhLGIsYyl7dmFyIGQ9YS5wYXJzZVN0eWxlKGEuZ2V0QXR0cmliKGMsInN0eWxlIikpO2RbImJvcmRlci1jb2xvciJdJiYoYi5ib3JkZXJDb2xvcj1kWyJib3JkZXItY29sb3IiXSksZFsiYmFja2dyb3VuZC1jb2xvciJdJiYoYi5iYWNrZ3JvdW5kQ29sb3I9ZFsiYmFja2dyb3VuZC1jb2xvciJdKSxiLnN0eWxlPWEuc2VyaWFsaXplU3R5bGUoZCl9ZnVuY3Rpb24gbihhLGIsZCl7dmFyIGU9YS5wYXJzZVN0eWxlKGEuZ2V0QXR0cmliKGIsInN0eWxlIikpO2MoZCxmdW5jdGlvbihhKXtlW2EubmFtZV09YS52YWx1ZX0pLGEuc2V0QXR0cmliKGIsInN0eWxlIixhLnNlcmlhbGl6ZVN0eWxlKGEucGFyc2VTdHlsZShhLnNlcmlhbGl6ZVN0eWxlKGUpKSkpfXZhciBvPXRoaXM7by50YWJsZVByb3BzPWZ1bmN0aW9uKCl7by50YWJsZSghMCl9LG8udGFibGU9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaigpe2Z1bmN0aW9uIGMoYSxiLGQpe2lmKCJURCI9PT1hLnRhZ05hbWV8fCJUSCI9PT1hLnRhZ05hbWUpdi5zZXRTdHlsZShhLGIsZCk7ZWxzZSBpZihhLmNoaWxkcmVuKWZvcih2YXIgZT0wO2U8YS5jaGlsZHJlbi5sZW5ndGg7ZSsrKWMoYS5jaGlsZHJlbltlXSxiLGQpfXZhciBlO2wodix0aGlzKSx3PWEuZXh0ZW5kKHcsdGhpcy50b0pTT04oKSksd1siY2xhc3MiXT09PSExJiZkZWxldGUgd1siY2xhc3MiXSxkLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7aWYocHx8KHA9ZC5wbHVnaW5zLnRhYmxlLmluc2VydFRhYmxlKHcuY29sc3x8MSx3LnJvd3N8fDEpKSxkLmRvbS5zZXRBdHRyaWJzKHAse3N0eWxlOncuc3R5bGUsImNsYXNzIjp3WyJjbGFzcyJdfSksZC5zZXR0aW5ncy50YWJsZV9zdHlsZV9ieV9jc3Mpe2lmKHU9W10sdS5wdXNoKHtuYW1lOiJib3JkZXIiLHZhbHVlOncuYm9yZGVyfSksdS5wdXNoKHtuYW1lOiJib3JkZXItc3BhY2luZyIsdmFsdWU6aCh3LmNlbGxzcGFjaW5nKX0pLG4odixwLHUpLHYuc2V0QXR0cmlicyhwLHsiZGF0YS1tY2UtYm9yZGVyLWNvbG9yIjp3LmJvcmRlckNvbG9yLCJkYXRhLW1jZS1jZWxsLXBhZGRpbmciOncuY2VsbHBhZGRpbmcsImRhdGEtbWNlLWJvcmRlciI6dy5ib3JkZXJ9KSxwLmNoaWxkcmVuKWZvcih2YXIgYT0wO2E8cC5jaGlsZHJlbi5sZW5ndGg7YSsrKWMocC5jaGlsZHJlblthXSwiYm9yZGVyIix3LmJvcmRlciksYyhwLmNoaWxkcmVuW2FdLCJwYWRkaW5nIixoKHcuY2VsbHBhZGRpbmcpKX1lbHNlIGQuZG9tLnNldEF0dHJpYnMocCx7Ym9yZGVyOncuYm9yZGVyLGNlbGxwYWRkaW5nOncuY2VsbHBhZGRpbmcsY2VsbHNwYWNpbmc6dy5jZWxsc3BhY2luZ30pO3YuZ2V0QXR0cmliKHAsIndpZHRoIikmJiFkLnNldHRpbmdzLnRhYmxlX3N0eWxlX2J5X2Nzcz92LnNldEF0dHJpYihwLCJ3aWR0aCIsZyh3LndpZHRoKSk6di5zZXRTdHlsZShwLCJ3aWR0aCIsaCh3LndpZHRoKSksdi5zZXRTdHlsZShwLCJoZWlnaHQiLGgody5oZWlnaHQpKSxlPXYuc2VsZWN0KCJjYXB0aW9uIixwKVswXSxlJiYhdy5jYXB0aW9uJiZ2LnJlbW92ZShlKSwhZSYmdy5jYXB0aW9uJiYoZT12LmNyZWF0ZSgiY2FwdGlvbiIpLGUuaW5uZXJIVE1MPWIuaWU/Ilx4YTAiOic8YnIgZGF0YS1tY2UtYm9ndXM9IjEiLz4nLHAuaW5zZXJ0QmVmb3JlKGUscC5maXJzdENoaWxkKSksaShwKSx3LmFsaWduJiZkLmZvcm1hdHRlci5hcHBseSgiYWxpZ24iK3cuYWxpZ24se30scCksZC5mb2N1cygpLGQuYWRkVmlzdWFsKCl9KX1mdW5jdGlvbiBvKGEsYil7ZnVuY3Rpb24gYyhhLGMpe2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT12LmdldFN0eWxlKGNbZF0sYik7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBhJiYoYT1lKSxhIT1lKXJldHVybiIifXJldHVybiBhfXZhciBlLGY9ZC5kb20uc2VsZWN0KCJ0ZCx0aCIsYSk7cmV0dXJuIGU9YyhlLGYpfXZhciBwLHEscixzLHQsdSx2PWQuZG9tLHc9e307ZT09PSEwPyhwPXYuZ2V0UGFyZW50KGQuc2VsZWN0aW9uLmdldFN0YXJ0KCksInRhYmxlIikscCYmKHc9e3dpZHRoOmcodi5nZXRTdHlsZShwLCJ3aWR0aCIpfHx2LmdldEF0dHJpYihwLCJ3aWR0aCIpKSxoZWlnaHQ6Zyh2LmdldFN0eWxlKHAsImhlaWdodCIpfHx2LmdldEF0dHJpYihwLCJoZWlnaHQiKSksY2VsbHNwYWNpbmc6Zyh2LmdldFN0eWxlKHAsImJvcmRlci1zcGFjaW5nIil8fHYuZ2V0QXR0cmliKHAsImNlbGxzcGFjaW5nIikpLGNlbGxwYWRkaW5nOnYuZ2V0QXR0cmliKHAsImRhdGEtbWNlLWNlbGwtcGFkZGluZyIpfHx2LmdldEF0dHJpYihwLCJjZWxscGFkZGluZyIpfHxvKHAsInBhZGRpbmciKSxib3JkZXI6di5nZXRBdHRyaWIocCwiZGF0YS1tY2UtYm9yZGVyIil8fHYuZ2V0QXR0cmliKHAsImJvcmRlciIpfHxvKHAsImJvcmRlciIpLGJvcmRlckNvbG9yOnYuZ2V0QXR0cmliKHAsImRhdGEtbWNlLWJvcmRlci1jb2xvciIpLGNhcHRpb246ISF2LnNlbGVjdCgiY2FwdGlvbiIscClbMF0sImNsYXNzIjp2LmdldEF0dHJpYihwLCJjbGFzcyIpfSxjKCJsZWZ0IGNlbnRlciByaWdodCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhKXtkLmZvcm1hdHRlci5tYXRjaE5vZGUocCwiYWxpZ24iK2EpJiYody5hbGlnbj1hKX0pKSk6KHE9e2xhYmVsOiJDb2xzIixuYW1lOiJjb2xzIn0scj17bGFiZWw6IlJvd3MiLG5hbWU6InJvd3MifSksZC5zZXR0aW5ncy50YWJsZV9jbGFzc19saXN0JiYod1siY2xhc3MiXSYmKHdbImNsYXNzIl09d1siY2xhc3MiXS5yZXBsYWNlKC9ccyptY2VcLWl0ZW1cLXRhYmxlXHMqL2csIiIpKSxzPXtuYW1lOiJjbGFzcyIsdHlwZToibGlzdGJveCIsbGFiZWw6IkNsYXNzIix2YWx1ZXM6ayhkLnNldHRpbmdzLnRhYmxlX2NsYXNzX2xpc3QsZnVuY3Rpb24oYSl7YS52YWx1ZSYmKGEudGV4dFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGQuZm9ybWF0dGVyLmdldENzc1RleHQoe2Jsb2NrOiJ0YWJsZSIsY2xhc3NlczpbYS52YWx1ZV19KX0pfSl9KSx0PXt0eXBlOiJmb3JtIixsYXlvdXQ6ImZsZXgiLGRpcmVjdGlvbjoiY29sdW1uIixsYWJlbEdhcENhbGM6ImNoaWxkcmVuIixwYWRkaW5nOjAsaXRlbXM6W3t0eXBlOiJmb3JtIixsYWJlbEdhcENhbGM6ITEscGFkZGluZzowLGxheW91dDoiZ3JpZCIsY29sdW1uczoyLGRlZmF1bHRzOnt0eXBlOiJ0ZXh0Ym94IixtYXhXaWR0aDo1MH0saXRlbXM6ZC5zZXR0aW5ncy50YWJsZV9hcHBlYXJhbmNlX29wdGlvbnMhPT0hMT9bcSxyLHtsYWJlbDoiV2lkdGgiLG5hbWU6IndpZHRoIn0se2xhYmVsOiJIZWlnaHQiLG5hbWU6ImhlaWdodCJ9LHtsYWJlbDoiQ2VsbCBzcGFjaW5nIixuYW1lOiJjZWxsc3BhY2luZyJ9LHtsYWJlbDoiQ2VsbCBwYWRkaW5nIixuYW1lOiJjZWxscGFkZGluZyJ9LHtsYWJlbDoiQm9yZGVyIixuYW1lOiJib3JkZXIifSx7bGFiZWw6IkNhcHRpb24iLG5hbWU6ImNhcHRpb24iLHR5cGU6ImNoZWNrYm94In1dOltxLHIse2xhYmVsOiJXaWR0aCIsbmFtZToid2lkdGgifSx7bGFiZWw6IkhlaWdodCIsbmFtZToiaGVpZ2h0In1dfSx7bGFiZWw6IkFsaWdubWVudCIsbmFtZToiYWxpZ24iLHR5cGU6Imxpc3Rib3giLHRleHQ6Ik5vbmUiLHZhbHVlczpbe3RleHQ6Ik5vbmUiLHZhbHVlOiIifSx7dGV4dDoiTGVmdCIsdmFsdWU6ImxlZnQifSx7dGV4dDoiQ2VudGVyIix2YWx1ZToiY2VudGVyIn0se3RleHQ6IlJpZ2h0Iix2YWx1ZToicmlnaHQifV19LHNdfSxkLnNldHRpbmdzLnRhYmxlX2FkdnRhYiE9PSExPyhtKHYsdyxwKSxkLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlRhYmxlIHByb3BlcnRpZXMiLGRhdGE6dyxib2R5VHlwZToidGFicGFuZWwiLGJvZHk6W3t0aXRsZToiR2VuZXJhbCIsdHlwZToiZm9ybSIsaXRlbXM6dH0sZih2KV0sb25zdWJtaXQ6an0pKTpkLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlRhYmxlIHByb3BlcnRpZXMiLGRhdGE6dyxib2R5OnQsb25zdWJtaXQ6an0pfSxvLm1lcmdlPWZ1bmN0aW9uKGEsYil7ZC53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJNZXJnZSBjZWxscyIsYm9keTpbe2xhYmVsOiJDb2xzIixuYW1lOiJjb2xzIix0eXBlOiJ0ZXh0Ym94Iix2YWx1ZToiMSIsc2l6ZToxMH0se2xhYmVsOiJSb3dzIixuYW1lOiJyb3dzIix0eXBlOiJ0ZXh0Ym94Iix2YWx1ZToiMSIsc2l6ZToxMH1dLG9uc3VibWl0OmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy50b0pTT04oKTtkLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7YS5tZXJnZShiLGMuY29scyxjLnJvd3MpfSl9fSl9LG8uY2VsbD1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXtsKHAsdGhpcyksbj1hLmV4dGVuZChuLHRoaXMudG9KU09OKCkpLGQudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXtjKHEsZnVuY3Rpb24oYSl7ZC5kb20uc2V0QXR0cmlicyhhLHtzY29wZTpuLnNjb3BlLHN0eWxlOm4uc3R5bGUsImNsYXNzIjpuWyJjbGFzcyJdfSksZC5kb20uc2V0U3R5bGVzKGEse3dpZHRoOmgobi53aWR0aCksaGVpZ2h0Omgobi5oZWlnaHQpfSksbi50eXBlJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPW4udHlwZSYmKGE9cC5yZW5hbWUoYSxuLnR5cGUpKSxpKGEpLG4uYWxpZ24mJmQuZm9ybWF0dGVyLmFwcGx5KCJhbGlnbiIrbi5hbGlnbix7fSxhKSxqKGEpLG4udmFsaWduJiZkLmZvcm1hdHRlci5hcHBseSgidmFsaWduIituLnZhbGlnbix7fSxhKX0pLGQuZm9jdXMoKX0pfXZhciBlLG4sbyxwPWQuZG9tLHE9W107aWYocT1kLmRvbS5zZWxlY3QoInRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF0iKSxlPWQuZG9tLmdldFBhcmVudChkLnNlbGVjdGlvbi5nZXRTdGFydCgpLCJ0ZCx0aCIpLCFxLmxlbmd0aCYmZSYmcS5wdXNoKGUpLGU9ZXx8cVswXSl7bj17d2lkdGg6ZyhwLmdldFN0eWxlKGUsIndpZHRoIil8fHAuZ2V0QXR0cmliKGUsIndpZHRoIikpLGhlaWdodDpnKHAuZ2V0U3R5bGUoZSwiaGVpZ2h0Iil8fHAuZ2V0QXR0cmliKGUsImhlaWdodCIpKSxzY29wZTpwLmdldEF0dHJpYihlLCJzY29wZSIpLCJjbGFzcyI6cC5nZXRBdHRyaWIoZSwiY2xhc3MiKX0sbi50eXBlPWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxjKCJsZWZ0IGNlbnRlciByaWdodCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhKXtkLmZvcm1hdHRlci5tYXRjaE5vZGUoZSwiYWxpZ24iK2EpJiYobi5hbGlnbj1hKX0pLGMoInRvcCBtaWRkbGUgYm90dG9tIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEpe2QuZm9ybWF0dGVyLm1hdGNoTm9kZShlLCJ2YWxpZ24iK2EpJiYobi52YWxpZ249YSl9KSxkLnNldHRpbmdzLnRhYmxlX2NlbGxfY2xhc3NfbGlzdCYmKG89e25hbWU6ImNsYXNzIix0eXBlOiJsaXN0Ym94IixsYWJlbDoiQ2xhc3MiLHZhbHVlczprKGQuc2V0dGluZ3MudGFibGVfY2VsbF9jbGFzc19saXN0LGZ1bmN0aW9uKGEpe2EudmFsdWUmJihhLnRleHRTdHlsZT1mdW5jdGlvbigpe3JldHVybiBkLmZvcm1hdHRlci5nZXRDc3NUZXh0KHtibG9jazoidGQiLGNsYXNzZXM6W2EudmFsdWVdfSl9KX0pfSk7dmFyIHI9e3R5cGU6ImZvcm0iLGxheW91dDoiZmxleCIsZGlyZWN0aW9uOiJjb2x1bW4iLGxhYmVsR2FwQ2FsYzoiY2hpbGRyZW4iLHBhZGRpbmc6MCxpdGVtczpbe3R5cGU6ImZvcm0iLGxheW91dDoiZ3JpZCIsY29sdW1uczoyLGxhYmVsR2FwQ2FsYzohMSxwYWRkaW5nOjAsZGVmYXVsdHM6e3R5cGU6InRleHRib3giLG1heFdpZHRoOjUwfSxpdGVtczpbe2xhYmVsOiJXaWR0aCIsbmFtZToid2lkdGgifSx7bGFiZWw6IkhlaWdodCIsbmFtZToiaGVpZ2h0In0se2xhYmVsOiJDZWxsIHR5cGUiLG5hbWU6InR5cGUiLHR5cGU6Imxpc3Rib3giLHRleHQ6Ik5vbmUiLG1pbldpZHRoOjkwLG1heFdpZHRoOm51bGwsdmFsdWVzOlt7dGV4dDoiQ2VsbCIsdmFsdWU6InRkIn0se3RleHQ6IkhlYWRlciBjZWxsIix2YWx1ZToidGgifV19LHtsYWJlbDoiU2NvcGUiLG5hbWU6InNjb3BlIix0eXBlOiJsaXN0Ym94Iix0ZXh0OiJOb25lIixtaW5XaWR0aDo5MCxtYXhXaWR0aDpudWxsLHZhbHVlczpbe3RleHQ6Ik5vbmUiLHZhbHVlOiIifSx7dGV4dDoiUm93Iix2YWx1ZToicm93In0se3RleHQ6IkNvbHVtbiIsdmFsdWU6ImNvbCJ9LHt0ZXh0OiJSb3cgZ3JvdXAiLHZhbHVlOiJyb3dncm91cCJ9LHt0ZXh0OiJDb2x1bW4gZ3JvdXAiLHZhbHVlOiJjb2xncm91cCJ9XX0se2xhYmVsOiJIIEFsaWduIixuYW1lOiJhbGlnbiIsdHlwZToibGlzdGJveCIsdGV4dDoiTm9uZSIsbWluV2lkdGg6OTAsbWF4V2lkdGg6bnVsbCx2YWx1ZXM6W3t0ZXh0OiJOb25lIix2YWx1ZToiIn0se3RleHQ6IkxlZnQiLHZhbHVlOiJsZWZ0In0se3RleHQ6IkNlbnRlciIsdmFsdWU6ImNlbnRlciJ9LHt0ZXh0OiJSaWdodCIsdmFsdWU6InJpZ2h0In1dfSx7bGFiZWw6IlYgQWxpZ24iLG5hbWU6InZhbGlnbiIsdHlwZToibGlzdGJveCIsdGV4dDoiTm9uZSIsbWluV2lkdGg6OTAsbWF4V2lkdGg6bnVsbCx2YWx1ZXM6W3t0ZXh0OiJOb25lIix2YWx1ZToiIn0se3RleHQ6IlRvcCIsdmFsdWU6InRvcCJ9LHt0ZXh0OiJNaWRkbGUiLHZhbHVlOiJtaWRkbGUifSx7dGV4dDoiQm90dG9tIix2YWx1ZToiYm90dG9tIn1dfV19LG9dfTtkLnNldHRpbmdzLnRhYmxlX2NlbGxfYWR2dGFiIT09ITE/KG0ocCxuLGUpLGQud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZToiQ2VsbCBwcm9wZXJ0aWVzIixib2R5VHlwZToidGFicGFuZWwiLGRhdGE6bixib2R5Olt7dGl0bGU6IkdlbmVyYWwiLHR5cGU6ImZvcm0iLGl0ZW1zOnJ9LGYocCldLG9uc3VibWl0OmJ9KSk6ZC53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJDZWxsIHByb3BlcnRpZXMiLGRhdGE6bixib2R5OnIsb25zdWJtaXQ6Yn0pfX0sby5yb3c9ZnVuY3Rpb24oKXtmdW5jdGlvbiBiKCl7dmFyIGIsZSxmO2wocix0aGlzKSxwPWEuZXh0ZW5kKHAsdGhpcy50b0pTT04oKSksZC51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe3ZhciBhPXAudHlwZTtjKHMsZnVuY3Rpb24oYyl7ZC5kb20uc2V0QXR0cmlicyhjLHtzY29wZTpwLnNjb3BlLHN0eWxlOnAuc3R5bGUsImNsYXNzIjpwWyJjbGFzcyJdfSksZC5kb20uc2V0U3R5bGVzKGMse2hlaWdodDpoKHAuaGVpZ2h0KX0pLGEhPWMucGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYoYj1yLmdldFBhcmVudChjLCJ0YWJsZSIpLGU9Yy5wYXJlbnROb2RlLGY9ci5zZWxlY3QoYSxiKVswXSxmfHwoZj1yLmNyZWF0ZShhKSxiLmZpcnN0Q2hpbGQ/Yi5pbnNlcnRCZWZvcmUoZixiLmZpcnN0Q2hpbGQpOmIuYXBwZW5kQ2hpbGQoZikpLGYuYXBwZW5kQ2hpbGQoYyksZS5oYXNDaGlsZE5vZGVzKCl8fHIucmVtb3ZlKGUpKSxpKGMpLHAuYWxpZ24mJmQuZm9ybWF0dGVyLmFwcGx5KCJhbGlnbiIrcC5hbGlnbix7fSxjKX0pLGQuZm9jdXMoKX0pfXZhciBlLGosbixvLHAscSxyPWQuZG9tLHM9W107ZT1kLmRvbS5nZXRQYXJlbnQoZC5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwidGFibGUiKSxqPWQuZG9tLmdldFBhcmVudChkLnNlbGVjdGlvbi5nZXRTdGFydCgpLCJ0ZCx0aCIpLGMoZS5yb3dzLGZ1bmN0aW9uKGEpe2MoYS5jZWxscyxmdW5jdGlvbihiKXtyZXR1cm4gci5nZXRBdHRyaWIoYiwiZGF0YS1tY2Utc2VsZWN0ZWQiKXx8Yj09aj8ocy5wdXNoKGEpLCExKTp2b2lkIDB9KX0pLG49c1swXSxuJiYocD17aGVpZ2h0Omcoci5nZXRTdHlsZShuLCJoZWlnaHQiKXx8ci5nZXRBdHRyaWIobiwiaGVpZ2h0IikpLHNjb3BlOnIuZ2V0QXR0cmliKG4sInNjb3BlIiksImNsYXNzIjpyLmdldEF0dHJpYihuLCJjbGFzcyIpfSxwLnR5cGU9bi5wYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksYygibGVmdCBjZW50ZXIgcmlnaHQiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSl7ZC5mb3JtYXR0ZXIubWF0Y2hOb2RlKG4sImFsaWduIithKSYmKHAuYWxpZ249YSl9KSxkLnNldHRpbmdzLnRhYmxlX3Jvd19jbGFzc19saXN0JiYobz17bmFtZToiY2xhc3MiLHR5cGU6Imxpc3Rib3giLGxhYmVsOiJDbGFzcyIsdmFsdWVzOmsoZC5zZXR0aW5ncy50YWJsZV9yb3dfY2xhc3NfbGlzdCxmdW5jdGlvbihhKXthLnZhbHVlJiYoYS50ZXh0U3R5bGU9ZnVuY3Rpb24oKXtyZXR1cm4gZC5mb3JtYXR0ZXIuZ2V0Q3NzVGV4dCh7YmxvY2s6InRyIixjbGFzc2VzOlthLnZhbHVlXX0pfSl9KX0pLHE9e3R5cGU6ImZvcm0iLGNvbHVtbnM6MixwYWRkaW5nOjAsZGVmYXVsdHM6e3R5cGU6InRleHRib3gifSxpdGVtczpbe3R5cGU6Imxpc3Rib3giLG5hbWU6InR5cGUiLGxhYmVsOiJSb3cgdHlwZSIsdGV4dDoiTm9uZSIsbWF4V2lkdGg6bnVsbCx2YWx1ZXM6W3t0ZXh0OiJIZWFkZXIiLHZhbHVlOiJ0aGVhZCJ9LHt0ZXh0OiJCb2R5Iix2YWx1ZToidGJvZHkifSx7dGV4dDoiRm9vdGVyIix2YWx1ZToidGZvb3QifV19LHt0eXBlOiJsaXN0Ym94IixuYW1lOiJhbGlnbiIsbGFiZWw6IkFsaWdubWVudCIsdGV4dDoiTm9uZSIsbWF4V2lkdGg6bnVsbCx2YWx1ZXM6W3t0ZXh0OiJOb25lIix2YWx1ZToiIn0se3RleHQ6IkxlZnQiLHZhbHVlOiJsZWZ0In0se3RleHQ6IkNlbnRlciIsdmFsdWU6ImNlbnRlciJ9LHt0ZXh0OiJSaWdodCIsdmFsdWU6InJpZ2h0In1dfSx7bGFiZWw6IkhlaWdodCIsbmFtZToiaGVpZ2h0In0sb119LGQuc2V0dGluZ3MudGFibGVfcm93X2FkdnRhYiE9PSExPyhtKHIscCxuKSxkLndpbmRvd01hbmFnZXIub3Blbih7dGl0bGU6IlJvdyBwcm9wZXJ0aWVzIixkYXRhOnAsYm9keVR5cGU6InRhYnBhbmVsIixib2R5Olt7dGl0bGU6IkdlbmVyYWwiLHR5cGU6ImZvcm0iLGl0ZW1zOnF9LGYocildLG9uc3VibWl0OmJ9KSk6ZC53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJSb3cgcHJvcGVydGllcyIsZGF0YTpwLGJvZHk6cSxvbnN1Ym1pdDpifSkpfX19KSxkKCJ0aW55bWNlL3RhYmxlcGx1Z2luL1Jlc2l6ZUJhcnMiLFsidGlueW1jZS91dGlsL1Rvb2xzIiwidGlueW1jZS91dGlsL1ZLIl0sZnVuY3Rpb24oYSxjKXt2YXIgZDtyZXR1cm4gZnVuY3Rpb24oZSl7ZnVuY3Rpb24gZihhLGIpe3JldHVybntpbmRleDphLHk6ZS5kb20uZ2V0UG9zKGIpLnl9fWZ1bmN0aW9uIGcoYSxiKXtyZXR1cm57aW5kZXg6YSx5OmUuZG9tLmdldFBvcyhiKS55K2Iub2Zmc2V0SGVpZ2h0fX1mdW5jdGlvbiBoKGEsYil7cmV0dXJue2luZGV4OmEseDplLmRvbS5nZXRQb3MoYikueH19ZnVuY3Rpb24gaShhLGIpe3JldHVybntpbmRleDphLHg6ZS5kb20uZ2V0UG9zKGIpLngrYi5vZmZzZXRXaWR0aH19ZnVuY3Rpb24gaigpe3ZhciBhPWUuZ2V0Qm9keSgpLmRpcjtyZXR1cm4icnRsIj09PWF9ZnVuY3Rpb24gaygpe3JldHVybiBlLmlubGluZX1mdW5jdGlvbiBsKCl7cmV0dXJuIGs/ZS5nZXRCb2R5KCkub3duZXJEb2N1bWVudC5ib2R5OmUuZ2V0Qm9keSgpfWZ1bmN0aW9uIG0oYSxiKXtyZXR1cm4gaigpP2koYSxiKTpoKGEsYil9ZnVuY3Rpb24gbihhLGIpe3JldHVybiBqKCk/aChhLGIpOmkoYSxiKX1mdW5jdGlvbiBvKGEsYil7cmV0dXJuIHAoYSwid2lkdGgiKS9wKGIsIndpZHRoIikqMTAwfWZ1bmN0aW9uIHAoYSxiKXt2YXIgYz1lLmRvbS5nZXRTdHlsZShhLGIsITApLGQ9cGFyc2VJbnQoYywxMCk7cmV0dXJuIGR9ZnVuY3Rpb24gcShhKXt2YXIgYj1wKGEsIndpZHRoIiksYz1wKGEucGFyZW50RWxlbWVudCwid2lkdGgiKTtyZXR1cm4gYi9jKjEwMH1mdW5jdGlvbiByKGEsYil7dmFyIGM9cChhLCJ3aWR0aCIpO3JldHVybiBiL2MqMTAwfWZ1bmN0aW9uIHMoYSxiKXt2YXIgYz1wKGEucGFyZW50RWxlbWVudCwid2lkdGgiKTtyZXR1cm4gYi9jKjEwMH1mdW5jdGlvbiB0KGEsYixjKXtmb3IodmFyIGQ9W10sZT0xO2U8Yy5sZW5ndGg7ZSsrKXt2YXIgZj1jW2VdLmVsZW1lbnQ7ZC5wdXNoKGEoZS0xLGYpKX12YXIgZz1jW2MubGVuZ3RoLTFdO3JldHVybiBkLnB1c2goYihjLmxlbmd0aC0xLGcuZWxlbWVudCkpLGR9ZnVuY3Rpb24gdSgpe3ZhciBiPWUuZG9tLnNlbGVjdCgiLiIrbWEsbCgpKTthLmVhY2goYixmdW5jdGlvbihhKXtlLmRvbS5yZW1vdmUoYSl9KX1mdW5jdGlvbiB2KGEpe3UoKSxGKGEpfWZ1bmN0aW9uIHcoYSxiLGMsZCxlLGYsZyxoKXt2YXIgaT17ImRhdGEtbWNlLWJvZ3VzIjoiYWxsIiwiY2xhc3MiOm1hKyIgIithLHVuc2VsZWN0YWJsZToib24iLCJkYXRhLW1jZS1yZXNpemUiOiExLHN0eWxlOiJjdXJzb3I6ICIrYisiOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogIitjKyJweDsgdG9wOiAiK2QrInB4OyBoZWlnaHQ6ICIrZSsicHg7IHdpZHRoOiAiK2YrInB4OyAifTtyZXR1cm4gaVtnXT1oLGl9ZnVuY3Rpb24geChiLGMsZCl7YS5lYWNoKGIsZnVuY3Rpb24oYSl7dmFyIGI9ZC54LGY9YS55LXZhLzIsZz12YSxoPWM7ZS5kb20uYWRkKGwoKSwiZGl2Iix3KG5hLG9hLGIsZixnLGgscGEsYS5pbmRleCkpfSl9ZnVuY3Rpb24geShiLGMsZCl7YS5lYWNoKGIsZnVuY3Rpb24oYSl7dmFyIGI9YS54LXZhLzIsZj1kLnksZz1jLGg9dmE7ZS5kb20uYWRkKGwoKSwiZGl2Iix3KHJhLHNhLGIsZixnLGgsdGEsYS5pbmRleCkpfSl9ZnVuY3Rpb24geihiKXtyZXR1cm4gYS5tYXAoYi5yb3dzLGZ1bmN0aW9uKGIpe3ZhciBjPWEubWFwKGIuY2VsbHMsZnVuY3Rpb24oYSl7dmFyIGI9YS5oYXNBdHRyaWJ1dGUoInJvd3NwYW4iKT9wYXJzZUludChhLmdldEF0dHJpYnV0ZSgicm93c3BhbiIpLDEwKToxLGM9YS5oYXNBdHRyaWJ1dGUoImNvbHNwYW4iKT9wYXJzZUludChhLmdldEF0dHJpYnV0ZSgiY29sc3BhbiIpLDEwKToxO3JldHVybntlbGVtZW50OmEscm93c3BhbjpiLGNvbHNwYW46Y319KTtyZXR1cm57ZWxlbWVudDpiLGNlbGxzOmN9fSl9ZnVuY3Rpb24gQShjKXtmdW5jdGlvbiBkKGEsYil7cmV0dXJuIGErIiwiK2J9ZnVuY3Rpb24gZShhLGIpe3JldHVybiBoW2QoYSxiKV19ZnVuY3Rpb24gZigpe3ZhciBiPVtdO3JldHVybiBhLmVhY2goaSxmdW5jdGlvbihhKXtiPWIuY29uY2F0KGEuY2VsbHMpfSksYn1mdW5jdGlvbiBnKCl7cmV0dXJuIGl9dmFyIGg9e30saT1bXSxqPTAsaz0wO3JldHVybiBhLmVhY2goYyxmdW5jdGlvbihjLGUpe3ZhciBmPVtdO2EuZWFjaChjLmNlbGxzLGZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0wO2hbZChlLGMpXSE9PWI7KWMrKztmb3IodmFyIGc9e2VsZW1lbnQ6YS5lbGVtZW50LGNvbHNwYW46YS5jb2xzcGFuLHJvd3NwYW46YS5yb3dzcGFuLHJvd0luZGV4OmUsY29sSW5kZXg6Y30saT0wO2k8YS5jb2xzcGFuO2krKylmb3IodmFyIGw9MDtsPGEucm93c3BhbjtsKyspe3ZhciBtPWUrbCxuPWMraTtoW2QobSxuKV09ZyxqPU1hdGgubWF4KGosbSsxKSxrPU1hdGgubWF4KGssbisxKX1mLnB1c2goZyl9KSxpLnB1c2goe2VsZW1lbnQ6Yy5lbGVtZW50LGNlbGxzOmZ9KX0pLHtncmlkOnttYXhSb3dzOmosbWF4Q29sczprfSxnZXRBdDplLGdldEFsbENlbGxzOmYsZ2V0QWxsUm93czpnfX1mdW5jdGlvbiBCKGEsYil7Zm9yKHZhciBjPVtdLGQ9YTtiPmQ7ZCsrKWMucHVzaChkKTtyZXR1cm4gY31mdW5jdGlvbiBDKGEsYixjKXtmb3IodmFyIGQsZT1hKCksZj0wO2Y8ZS5sZW5ndGg7ZisrKWIoZVtmXSkmJihkPWVbZl0pO3JldHVybiBkP2Q6YygpfWZ1bmN0aW9uIEQoYil7dmFyIGM9QigwLGIuZ3JpZC5tYXhDb2xzKSxkPUIoMCxiLmdyaWQubWF4Um93cyk7cmV0dXJuIGEubWFwKGMsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYygpe2Zvcih2YXIgYz1bXSxlPTA7ZTxkLmxlbmd0aDtlKyspe3ZhciBmPWIuZ2V0QXQoZSxhKTtmJiZmLmNvbEluZGV4PT09YSYmYy5wdXNoKGYpfXJldHVybiBjfWZ1bmN0aW9uIGUoYSl7cmV0dXJuIDE9PT1hLmNvbHNwYW59ZnVuY3Rpb24gZigpe2Zvcih2YXIgYyxlPTA7ZTxkLmxlbmd0aDtlKyspaWYoYz1iLmdldEF0KGUsYSkpcmV0dXJuIGM7cmV0dXJuIG51bGx9cmV0dXJuIEMoYyxlLGYpfSl9ZnVuY3Rpb24gRShiKXt2YXIgYz1CKDAsYi5ncmlkLm1heENvbHMpLGQ9QigwLGIuZ3JpZC5tYXhSb3dzKTtyZXR1cm4gYS5tYXAoZCxmdW5jdGlvbihhKXtmdW5jdGlvbiBkKCl7Zm9yKHZhciBkPVtdLGU9MDtlPGMubGVuZ3RoO2UrKyl7dmFyIGY9Yi5nZXRBdChhLGUpO2YmJmYucm93SW5kZXg9PT1hJiZkLnB1c2goZil9cmV0dXJuIGR9ZnVuY3Rpb24gZShhKXtyZXR1cm4gMT09PWEucm93c3Bhbn1mdW5jdGlvbiBmKCl7cmV0dXJuIGIuZ2V0QXQoYSwwKX1yZXR1cm4gQyhkLGUsZil9KX1mdW5jdGlvbiBGKGEpe3ZhciBiPXooYSksYz1BKGIpLGQ9RShjKSxoPUQoYyksaT1lLmRvbS5nZXRQb3MoYSksaj1kLmxlbmd0aD4wP3QoZixnLGQpOltdLGs9aC5sZW5ndGg+MD90KG0sbixoKTpbXTt4KGosYS5vZmZzZXRXaWR0aCxpKSx5KGssYS5vZmZzZXRIZWlnaHQsaSl9ZnVuY3Rpb24gRyhhLGIsYyxkKXtpZigwPmJ8fGI+PWEubGVuZ3RoLTEpcmV0dXJuIiI7dmFyIGU9YVtiXTtpZihlKWU9e3ZhbHVlOmUsZGVsdGE6MH07ZWxzZSBmb3IodmFyIGY9YS5zbGljZSgwLGIpLnJldmVyc2UoKSxnPTA7ZzxmLmxlbmd0aDtnKyspZltnXSYmKGU9e3ZhbHVlOmZbZ10sZGVsdGE6ZysxfSk7dmFyIGg9YVtiKzFdO2lmKGgpaD17dmFsdWU6aCxkZWx0YToxfTtlbHNlIGZvcih2YXIgaT1hLnNsaWNlKGIrMSksaj0wO2o8aS5sZW5ndGg7aisrKWlbal0mJihoPXt2YWx1ZTppW2pdLGRlbHRhOmorMX0pO3ZhciBrPWguZGVsdGEtZS5kZWx0YSxsPU1hdGguYWJzKGgudmFsdWUtZS52YWx1ZSkvaztyZXR1cm4gYz9sL3AoZCwid2lkdGgiKSoxMDA6bH1mdW5jdGlvbiBIKGEsYil7dmFyIGM9ZS5kb20uZ2V0U3R5bGUoYSxiKTtyZXR1cm4gY3x8KGM9ZS5kb20uZ2V0QXR0cmliKGEsYikpLGN8fChjPWUuZG9tLmdldFN0eWxlKGEsYiwhMCkpLGN9ZnVuY3Rpb24gSShhLGIsYyl7dmFyIGQ9SChhLCJ3aWR0aCIpLGU9cGFyc2VJbnQoZCwxMCksZj1iP28oYSxjKTpwKGEsIndpZHRoIik7cmV0dXJuKGImJiFSKGQpfHwhYiYmIVMoZCkpJiYoZT0wKSwhaXNOYU4oZSkmJmU+MD9lOmZ9ZnVuY3Rpb24gSihiLGMsZCl7Zm9yKHZhciBlPUQoYiksZj1hLm1hcChlLGZ1bmN0aW9uKGEpe3JldHVybiBtKGEuY29sSW5kZXgsYS5lbGVtZW50KS54fSksZz1bXSxoPTA7aDxlLmxlbmd0aDtoKyspe3ZhciBpPWVbaF0uZWxlbWVudC5oYXNBdHRyaWJ1dGUoImNvbHNwYW4iKT9wYXJzZUludChlW2hdLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJjb2xzcGFuIiksMTApOjEsaj1pPjE/RyhmLGgpOkkoZVtoXS5lbGVtZW50LGMsZCk7aj1qP2o6d2EsZy5wdXNoKGopfXJldHVybiBnfWZ1bmN0aW9uIEsoYSl7dmFyIGI9SChhLCJoZWlnaHQiKSxjPXBhcnNlSW50KGIsMTApO3JldHVybiBSKGIpJiYoYz0wKSwhaXNOYU4oYykmJmM+MD9jOnAoYSwiaGVpZ2h0Iil9ZnVuY3Rpb24gTChiKXtmb3IodmFyIGM9RShiKSxkPWEubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJuIGYoYS5yb3dJbmRleCxhLmVsZW1lbnQpLnl9KSxlPVtdLGc9MDtnPGMubGVuZ3RoO2crKyl7dmFyIGg9Y1tnXS5lbGVtZW50Lmhhc0F0dHJpYnV0ZSgicm93c3BhbiIpP3BhcnNlSW50KGNbZ10uZWxlbWVudC5nZXRBdHRyaWJ1dGUoInJvd3NwYW4iKSwxMCk6MSxpPWg+MT9HKGQsZyk6SyhjW2ddLmVsZW1lbnQpO2k9aT9pOnhhLGUucHVzaChpKX1yZXR1cm4gZX1mdW5jdGlvbiBNKGIsYyxkLGUsZil7ZnVuY3Rpb24gZyhiKXtyZXR1cm4gYS5tYXAoYixmdW5jdGlvbigpe3JldHVybiAwfSl9ZnVuY3Rpb24gaCgpe3ZhciBhO2lmKGYpYT1bMTAwLWxbMF1dO2Vsc2V7dmFyIGI9TWF0aC5tYXgoZSxsWzBdK2QpO2E9W2ItbFswXV19cmV0dXJuIGF9ZnVuY3Rpb24gaShhLGIpe3ZhciBjLGY9ZyhsLnNsaWNlKDAsYSkpLGg9ZyhsLnNsaWNlKGIrMSkpO2lmKGQ+PTApe3ZhciBpPU1hdGgubWF4KGUsbFtiXS1kKTtjPWYuY29uY2F0KFtkLGktbFtiXV0pLmNvbmNhdChoKX1lbHNle3ZhciBqPU1hdGgubWF4KGUsbFthXStkKSxrPWxbYV0tajtjPWYuY29uY2F0KFtqLWxbYV0sa10pLmNvbmNhdChoKX1yZXR1cm4gY31mdW5jdGlvbiBqKGEsYil7dmFyIGMsZj1nKGwuc2xpY2UoMCxiKSk7aWYoZD49MCljPWYuY29uY2F0KFtkXSk7ZWxzZXt2YXIgaD1NYXRoLm1heChlLGxbYl0rZCk7Yz1mLmNvbmNhdChbaC1sW2JdXSl9cmV0dXJuIGN9dmFyIGssbD1iLnNsaWNlKDApO3JldHVybiBrPTA9PT1iLmxlbmd0aD9bXToxPT09Yi5sZW5ndGg/aCgpOjA9PT1jP2koMCwxKTpjPjAmJmM8Yi5sZW5ndGgtMT9pKGMsYysxKTpjPT09Yi5sZW5ndGgtMT9qKGMtMSxjKTpbXX1mdW5jdGlvbiBOKGEsYixjKXtmb3IodmFyIGQ9MCxlPWE7Yj5lO2UrKylkKz1jW2VdO3JldHVybiBkfWZ1bmN0aW9uIE8oYixjKXt2YXIgZD1iLmdldEFsbENlbGxzKCk7cmV0dXJuIGEubWFwKGQsZnVuY3Rpb24oYSl7dmFyIGI9TihhLmNvbEluZGV4LGEuY29sSW5kZXgrYS5jb2xzcGFuLGMpO3JldHVybntlbGVtZW50OmEuZWxlbWVudCx3aWR0aDpiLGNvbHNwYW46YS5jb2xzcGFufX0pfWZ1bmN0aW9uIFAoYixjKXt2YXIgZD1iLmdldEFsbENlbGxzKCk7cmV0dXJuIGEubWFwKGQsZnVuY3Rpb24oYSl7dmFyIGI9TihhLnJvd0luZGV4LGEucm93SW5kZXgrYS5yb3dzcGFuLGMpO3JldHVybntlbGVtZW50OmEuZWxlbWVudCxoZWlnaHQ6Yixyb3dzcGFuOmEucm93c3Bhbn19KX1mdW5jdGlvbiBRKGIsYyl7dmFyIGQ9Yi5nZXRBbGxSb3dzKCk7cmV0dXJuIGEubWFwKGQsZnVuY3Rpb24oYSxiKXtyZXR1cm57ZWxlbWVudDphLmVsZW1lbnQsaGVpZ2h0OmNbYl19fSl9ZnVuY3Rpb24gUihhKXtyZXR1cm4gemEudGVzdChhKX1mdW5jdGlvbiBTKGEpe3JldHVybiBBYS50ZXN0KGEpfWZ1bmN0aW9uIFQoYixjLGQpe2Z1bmN0aW9uIGYoYixjKXthLmVhY2goYixmdW5jdGlvbihhKXtlLmRvbS5zZXRTdHlsZShhLmVsZW1lbnQsIndpZHRoIixhLndpZHRoK2MpLGUuZG9tLnNldEF0dHJpYihhLmVsZW1lbnQsIndpZHRoIixudWxsKX0pfWZ1bmN0aW9uIGcoKXtyZXR1cm4gZDxrLmdyaWQubWF4Q29scy0xP3EoYik6cShiKStzKGIsYyl9ZnVuY3Rpb24gaCgpe3JldHVybiBkPGsuZ3JpZC5tYXhDb2xzLTE/cChiLCJ3aWR0aCIpOnAoYiwid2lkdGgiKStjfWZ1bmN0aW9uIGkoYSxjLGYpe2QhPWsuZ3JpZC5tYXhDb2xzLTEmJmZ8fChlLmRvbS5zZXRTdHlsZShiLCJ3aWR0aCIsYStjKSxlLmRvbS5zZXRBdHRyaWIoYiwid2lkdGgiLG51bGwpKX1mb3IodmFyIGo9eihiKSxrPUEoaiksbD1SKGIud2lkdGgpfHxSKGIuc3R5bGUud2lkdGgpLG09SihrLGwsYiksbj1sP3IoYixjKTpjLG89TShtLGQsbix3YSxsLGIpLHQ9W10sdT0wO3U8by5sZW5ndGg7dSsrKXQucHVzaChvW3VdK21bdV0pO3ZhciB2PU8oayx0KSx3PWw/IiUiOiJweCIseD1sP2coKTpoKCk7ZS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2Yodix3KSxpKHgsdyxsKX0pfWZ1bmN0aW9uIFUoYixjLGQpe2Zvcih2YXIgZj16KGIpLGc9QShmKSxoPUwoZyksaT1bXSxqPTAsaz0wO2s8aC5sZW5ndGg7aysrKWkucHVzaChrPT09ZD9jK2hba106aFtrXSksais9altrXTt2YXIgbD1QKGcsaSksbT1RKGcsaSk7ZS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2EuZWFjaChtLGZ1bmN0aW9uKGEpe2UuZG9tLnNldFN0eWxlKGEuZWxlbWVudCwiaGVpZ2h0IixhLmhlaWdodCsicHgiKSxlLmRvbS5zZXRBdHRyaWIoYS5lbGVtZW50LCJoZWlnaHQiLG51bGwpfSksYS5lYWNoKGwsZnVuY3Rpb24oYSl7ZS5kb20uc2V0U3R5bGUoYS5lbGVtZW50LCJoZWlnaHQiLGEuaGVpZ2h0KyJweCIpLGUuZG9tLnNldEF0dHJpYihhLmVsZW1lbnQsImhlaWdodCIsbnVsbCl9KSxlLmRvbS5zZXRTdHlsZShiLCJoZWlnaHQiLGorInB4IiksZS5kb20uc2V0QXR0cmliKGIsImhlaWdodCIsbnVsbCl9KX1mdW5jdGlvbiBWKCl7Z2E9c2V0VGltZW91dChmdW5jdGlvbigpe1ooKX0sMjAwKX1mdW5jdGlvbiBXKCl7Y2xlYXJUaW1lb3V0KGdhKX1mdW5jdGlvbiBYKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGEuc2V0QXR0cmlidXRlKCJzdHlsZSIsIm1hcmdpbjogMDsgcGFkZGluZzogMDsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwcHg7IHRvcDogMHB4OyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyIpLGEuc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIsImFsbCIpLGF9ZnVuY3Rpb24gWShhLGIpe2UuZG9tLmJpbmQoYSwibW91c2V1cCIsZnVuY3Rpb24oKXtaKCl9KSxlLmRvbS5iaW5kKGEsIm1vdXNlbW92ZSIsZnVuY3Rpb24oYSl7ClcoKSxoYSYmYihhKX0pLGUuZG9tLmJpbmQoYSwibW91c2VvdXQiLGZ1bmN0aW9uKCl7VigpfSl9ZnVuY3Rpb24gWigpe2lmKGUuZG9tLnJlbW92ZShpYSksaGEpe2UuZG9tLnJlbW92ZUNsYXNzKGphLHlhKSxoYT0hMTt2YXIgYSxiO2lmKF8oamEpKXt2YXIgYz1wYXJzZUludChlLmRvbS5nZXRBdHRyaWIoamEsdWEpLDEwKSxmPWUuZG9tLmdldFBvcyhqYSkueDthPXBhcnNlSW50KGUuZG9tLmdldEF0dHJpYihqYSx0YSksMTApLGI9aigpP2MtZjpmLWMsVChkLGIsYSl9ZWxzZSBpZihhYShqYSkpe3ZhciBnPXBhcnNlSW50KGUuZG9tLmdldEF0dHJpYihqYSxxYSksMTApLGg9ZS5kb20uZ2V0UG9zKGphKS55O2E9cGFyc2VJbnQoZS5kb20uZ2V0QXR0cmliKGphLHBhKSwxMCksYj1oLWcsVShkLGIsYSl9dihkKSxlLm5vZGVDaGFuZ2VkKCl9fWZ1bmN0aW9uICQoYSxiKXtpYT1pYT9pYTpYKCksaGE9ITAsZS5kb20uYWRkQ2xhc3MoYSx5YSksamE9YSxZKGlhLGIpLGUuZG9tLmFkZChsKCksaWEpfWZ1bmN0aW9uIF8oYSl7cmV0dXJuIGUuZG9tLmhhc0NsYXNzKGEscmEpfWZ1bmN0aW9uIGFhKGEpe3JldHVybiBlLmRvbS5oYXNDbGFzcyhhLG5hKX1mdW5jdGlvbiBiYShhKXtrYT1rYSE9PWI/a2E6YS5jbGllbnRYO3ZhciBjPWEuY2xpZW50WC1rYTtrYT1hLmNsaWVudFg7dmFyIGQ9ZS5kb20uZ2V0UG9zKGphKS54O2UuZG9tLnNldFN0eWxlKGphLCJsZWZ0IixkK2MrInB4Iil9ZnVuY3Rpb24gY2EoYSl7bGE9bGEhPT1iP2xhOmEuY2xpZW50WTt2YXIgYz1hLmNsaWVudFktbGE7bGE9YS5jbGllbnRZO3ZhciBkPWUuZG9tLmdldFBvcyhqYSkueTtlLmRvbS5zZXRTdHlsZShqYSwidG9wIixkK2MrInB4Iil9ZnVuY3Rpb24gZGEoYSl7a2E9YiwkKGEsYmEpfWZ1bmN0aW9uIGVhKGEpe2xhPWIsJChhLGNhKX1mdW5jdGlvbiBmYShhKXt2YXIgYj1hLnRhcmdldCxjPWUuZ2V0Qm9keSgpO2lmKGUuJC5jb250YWlucyhjLGQpfHxkPT09YylpZihfKGIpKXthLnByZXZlbnREZWZhdWx0KCk7dmFyIGY9ZS5kb20uZ2V0UG9zKGIpLng7ZS5kb20uc2V0QXR0cmliKGIsdWEsZiksZGEoYil9ZWxzZSBpZihhYShiKSl7YS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBnPWUuZG9tLmdldFBvcyhiKS55O2UuZG9tLnNldEF0dHJpYihiLHFhLGcpLGVhKGIpfX12YXIgZ2EsaGEsaWEsamEsa2EsbGEsbWE9Im1jZS1yZXNpemUtYmFyIixuYT0ibWNlLXJlc2l6ZS1iYXItcm93IixvYT0icm93LXJlc2l6ZSIscGE9ImRhdGEtcm93IixxYT0iZGF0YS1pbml0aWFsLXRvcCIscmE9Im1jZS1yZXNpemUtYmFyLWNvbCIsc2E9ImNvbC1yZXNpemUiLHRhPSJkYXRhLWNvbCIsdWE9ImRhdGEtaW5pdGlhbC1sZWZ0Iix2YT00LHdhPTEwLHhhPTEwLHlhPSJtY2UtcmVzaXplLWJhci1kcmFnZ2luZyIsemE9bmV3IFJlZ0V4cCgvKFxkKyhcLlxkKyk/JSkvKSxBYT1uZXcgUmVnRXhwKC9weHxlbS8pO3JldHVybiBlLm9uKCJpbml0IixmdW5jdGlvbigpe2UuZG9tLmJpbmQobCgpLCJtb3VzZWRvd24iLGZhKX0pLGUub24oIk9iamVjdFJlc2l6ZWQiLGZ1bmN0aW9uKGIpe3ZhciBjPWIudGFyZ2V0O2lmKCJUQUJMRSI9PT1jLm5vZGVOYW1lKXt2YXIgZD1bXTthLmVhY2goYy5yb3dzLGZ1bmN0aW9uKGIpe2EuZWFjaChiLmNlbGxzLGZ1bmN0aW9uKGEpe3ZhciBiPWUuZG9tLmdldFN0eWxlKGEsIndpZHRoIiwhMCk7ZC5wdXNoKHtjZWxsOmEsd2lkdGg6Yn0pfSl9KSxhLmVhY2goZCxmdW5jdGlvbihhKXtlLmRvbS5zZXRTdHlsZShhLmNlbGwsIndpZHRoIixhLndpZHRoKSxlLmRvbS5zZXRBdHRyaWIoYS5jZWxsLCJ3aWR0aCIsbnVsbCl9KX19KSxlLm9uKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKGEpe2lmKCFoYSl7dmFyIGI9ZS5kb20uZ2V0UGFyZW50KGEudGFyZ2V0LCJ0YWJsZSIpOygiVEFCTEUiPT09YS50YXJnZXQubm9kZU5hbWV8fGIpJiYoZD1iLHYoYikpfX0pLGUub24oImtleWRvd24iLGZ1bmN0aW9uKGEpe3N3aXRjaChhLmtleUNvZGUpe2Nhc2UgYy5MRUZUOmNhc2UgYy5SSUdIVDpjYXNlIGMuVVA6Y2FzZSBjLkRPV046dSgpfX0pLGUub24oInJlbW92ZSIsZnVuY3Rpb24oKXt1KCksZS5kb20udW5iaW5kKGwoKSwibW91c2Vkb3duIixmYSl9KSx7YWRqdXN0V2lkdGg6VCxhZGp1c3RIZWlnaHQ6VSxjbGVhckJhcnM6dSxkcmF3QmFyczpGLGRldGVybWluZURlbHRhczpNLGdldFRhYmxlR3JpZDpBLGdldFRhYmxlRGV0YWlsczp6LGdldFdpZHRoczpKLGdldFBpeGVsSGVpZ2h0czpMLGlzUGVyY2VudGFnZUJhc2VkU2l6ZTpSLGlzUGl4ZWxCYXNlZFNpemU6UyxyZWNhbGN1bGF0ZVdpZHRoczpPLHJlY2FsY3VsYXRlQ2VsbEhlaWdodHM6UCxyZWNhbGN1bGF0ZVJvd0hlaWdodHM6UX19fSksZCgidGlueW1jZS90YWJsZXBsdWdpbi9QbHVnaW4iLFsidGlueW1jZS90YWJsZXBsdWdpbi9UYWJsZUdyaWQiLCJ0aW55bWNlL3RhYmxlcGx1Z2luL1F1aXJrcyIsInRpbnltY2UvdGFibGVwbHVnaW4vQ2VsbFNlbGVjdGlvbiIsInRpbnltY2UvdGFibGVwbHVnaW4vRGlhbG9ncyIsInRpbnltY2UvdGFibGVwbHVnaW4vUmVzaXplQmFycyIsInRpbnltY2UvdXRpbC9Ub29scyIsInRpbnltY2UvZG9tL1RyZWVXYWxrZXIiLCJ0aW55bWNlL0VudiIsInRpbnltY2UvUGx1Z2luTWFuYWdlciJdLGZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxpKXtmdW5jdGlvbiBqKGYpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zi5leGVjQ29tbWFuZChhKX19ZnVuY3Rpb24gaShhLGIpe3ZhciBjLGQsZSxnO2ZvcihlPSc8dGFibGUgaWQ9Il9fbWNlIj48dGJvZHk+JyxjPTA7Yj5jO2MrKyl7Zm9yKGUrPSI8dHI+IixkPTA7YT5kO2QrKyllKz0iPHRkPiIrKGguaWUmJmguaWU8MTA/IiZuYnNwOyI6Ijxicj4iKSsiPC90ZD4iO2UrPSI8L3RyPiJ9cmV0dXJuIGUrPSI8L3Rib2R5PjwvdGFibGU+IixmLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7Zi5pbnNlcnRDb250ZW50KGUpLGc9Zi5kb20uZ2V0KCJfX21jZSIpLGYuZG9tLnNldEF0dHJpYihnLCJpZCIsbnVsbCksZi4kKCJ0ciIsZykuZWFjaChmdW5jdGlvbihhLGIpe2YuZmlyZSgibmV3cm93Iix7bm9kZTpifSksZi4kKCJ0aCx0ZCIsYikuZWFjaChmdW5jdGlvbihhLGIpe2YuZmlyZSgibmV3Y2VsbCIse25vZGU6Yn0pfSl9KSxmLmRvbS5zZXRBdHRyaWJzKGcsZi5zZXR0aW5ncy50YWJsZV9kZWZhdWx0X2F0dHJpYnV0ZXN8fHt9KSxmLmRvbS5zZXRTdHlsZXMoZyxmLnNldHRpbmdzLnRhYmxlX2RlZmF1bHRfc3R5bGVzfHx7fSl9KSxnfWZ1bmN0aW9uIGooYSxiLGMpe2Z1bmN0aW9uIGQoKXt2YXIgZCxlLGcsaD17fSxpPTA7ZT1mLmRvbS5zZWxlY3QoInRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF0iKSxkPWVbMF0sZHx8KGQ9Zi5zZWxlY3Rpb24uZ2V0U3RhcnQoKSksYyYmZS5sZW5ndGg+MD8oayhlLGZ1bmN0aW9uKGEpe3JldHVybiBoW2EucGFyZW50Tm9kZS5wYXJlbnROb2RlLm5vZGVOYW1lXT0xfSksayhoLGZ1bmN0aW9uKGEpe2krPWF9KSxnPTEhPT1pKTpnPSFmLmRvbS5nZXRQYXJlbnQoZCxiKSxhLmRpc2FibGVkKGcpLGYuc2VsZWN0aW9uLnNlbGVjdG9yQ2hhbmdlZChiLGZ1bmN0aW9uKGIpe2EuZGlzYWJsZWQoIWIpfSl9Zi5pbml0aWFsaXplZD9kKCk6Zi5vbigiaW5pdCIsZCl9ZnVuY3Rpb24gbCgpe2oodGhpcywidGFibGUiKX1mdW5jdGlvbiBtKCl7aih0aGlzLCJ0ZCx0aCIpfWZ1bmN0aW9uIG4oKXtqKHRoaXMsInRkLHRoIiwhMCl9ZnVuY3Rpb24gbygpe3ZhciBhPSIiO2E9Jzx0YWJsZSByb2xlPSJncmlkIiBjbGFzcz0ibWNlLWdyaWQgbWNlLWdyaWQtYm9yZGVyIiBhcmlhLXJlYWRvbmx5PSJ0cnVlIj4nO2Zvcih2YXIgYj0wOzEwPmI7YisrKXthKz0iPHRyPiI7Zm9yKHZhciBjPTA7MTA+YztjKyspYSs9Jzx0ZCByb2xlPSJncmlkY2VsbCIgdGFiaW5kZXg9Ii0xIj48YSBpZD0ibWNlZ3JpZCcrKDEwKmIrYykrJyIgaHJlZj0iIyIgZGF0YS1tY2UteD0iJytjKyciIGRhdGEtbWNlLXk9IicrYisnIj48L2E+PC90ZD4nO2ErPSI8L3RyPiJ9cmV0dXJuIGErPSI8L3RhYmxlPiIsYSs9JzxkaXYgY2xhc3M9Im1jZS10ZXh0LWNlbnRlciIgcm9sZT0icHJlc2VudGF0aW9uIj4xIHggMTwvZGl2Pid9ZnVuY3Rpb24gcChhLGIsYyl7dmFyIGQsZSxnLGgsaSxqPWMuZ2V0RWwoKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGFibGUiKVswXSxrPWMuaXNSdGwoKXx8InRsLXRyIj09Yy5wYXJlbnQoKS5yZWw7Zm9yKGoubmV4dFNpYmxpbmcuaW5uZXJIVE1MPWErMSsiIHggIisoYisxKSxrJiYoYT05LWEpLGU9MDsxMD5lO2UrKylmb3IoZD0wOzEwPmQ7ZCsrKWg9ai5yb3dzW2VdLmNoaWxkTm9kZXNbZF0uZmlyc3RDaGlsZCxpPShrP2Q+PWE6YT49ZCkmJmI+PWUsZi5kb20udG9nZ2xlQ2xhc3MoaCwibWNlLWFjdGl2ZSIsaSksaSYmKGc9aCk7cmV0dXJuIGcucGFyZW50Tm9kZX1mdW5jdGlvbiBxKCl7Zi5hZGRCdXR0b24oInRhYmxlcHJvcHMiLHt0aXRsZToiVGFibGUgcHJvcGVydGllcyIsb25jbGljazp3LnRhYmxlUHJvcHMsaWNvbjoidGFibGUifSksZi5hZGRCdXR0b24oInRhYmxlZGVsZXRlIix7dGl0bGU6IkRlbGV0ZSB0YWJsZSIsb25jbGljazpnKCJtY2VUYWJsZURlbGV0ZSIpfSksZi5hZGRCdXR0b24oInRhYmxlY2VsbHByb3BzIix7dGl0bGU6IkNlbGwgcHJvcGVydGllcyIsb25jbGljazpnKCJtY2VUYWJsZUNlbGxQcm9wcyIpfSksZi5hZGRCdXR0b24oInRhYmxlbWVyZ2VjZWxscyIse3RpdGxlOiJNZXJnZSBjZWxscyIsb25jbGljazpnKCJtY2VUYWJsZU1lcmdlQ2VsbHMiKX0pLGYuYWRkQnV0dG9uKCJ0YWJsZXNwbGl0Y2VsbHMiLHt0aXRsZToiU3BsaXQgY2VsbCIsb25jbGljazpnKCJtY2VUYWJsZVNwbGl0Q2VsbHMiKX0pLGYuYWRkQnV0dG9uKCJ0YWJsZWluc2VydHJvd2JlZm9yZSIse3RpdGxlOiJJbnNlcnQgcm93IGJlZm9yZSIsb25jbGljazpnKCJtY2VUYWJsZUluc2VydFJvd0JlZm9yZSIpfSksZi5hZGRCdXR0b24oInRhYmxlaW5zZXJ0cm93YWZ0ZXIiLHt0aXRsZToiSW5zZXJ0IHJvdyBhZnRlciIsb25jbGljazpnKCJtY2VUYWJsZUluc2VydFJvd0FmdGVyIil9KSxmLmFkZEJ1dHRvbigidGFibGVkZWxldGVyb3ciLHt0aXRsZToiRGVsZXRlIHJvdyIsb25jbGljazpnKCJtY2VUYWJsZURlbGV0ZVJvdyIpfSksZi5hZGRCdXR0b24oInRhYmxlcm93cHJvcHMiLHt0aXRsZToiUm93IHByb3BlcnRpZXMiLG9uY2xpY2s6ZygibWNlVGFibGVSb3dQcm9wcyIpfSksZi5hZGRCdXR0b24oInRhYmxlY3V0cm93Iix7dGl0bGU6IkN1dCByb3ciLG9uY2xpY2s6ZygibWNlVGFibGVDdXRSb3ciKX0pLGYuYWRkQnV0dG9uKCJ0YWJsZWNvcHlyb3ciLHt0aXRsZToiQ29weSByb3ciLG9uY2xpY2s6ZygibWNlVGFibGVDb3B5Um93Iil9KSxmLmFkZEJ1dHRvbigidGFibGVwYXN0ZXJvd2JlZm9yZSIse3RpdGxlOiJQYXN0ZSByb3cgYmVmb3JlIixvbmNsaWNrOmcoIm1jZVRhYmxlUGFzdGVSb3dCZWZvcmUiKX0pLGYuYWRkQnV0dG9uKCJ0YWJsZXBhc3Rlcm93YWZ0ZXIiLHt0aXRsZToiUGFzdGUgcm93IGFmdGVyIixvbmNsaWNrOmcoIm1jZVRhYmxlUGFzdGVSb3dBZnRlciIpfSksZi5hZGRCdXR0b24oInRhYmxlaW5zZXJ0Y29sYmVmb3JlIix7dGl0bGU6Ikluc2VydCBjb2x1bW4gYmVmb3JlIixvbmNsaWNrOmcoIm1jZVRhYmxlSW5zZXJ0Q29sQmVmb3JlIil9KSxmLmFkZEJ1dHRvbigidGFibGVpbnNlcnRjb2xhZnRlciIse3RpdGxlOiJJbnNlcnQgY29sdW1uIGFmdGVyIixvbmNsaWNrOmcoIm1jZVRhYmxlSW5zZXJ0Q29sQWZ0ZXIiKX0pLGYuYWRkQnV0dG9uKCJ0YWJsZWRlbGV0ZWNvbCIse3RpdGxlOiJEZWxldGUgY29sdW1uIixvbmNsaWNrOmcoIm1jZVRhYmxlRGVsZXRlQ29sIil9KX1mdW5jdGlvbiByKGEpe3ZhciBiPWYuZG9tLmlzKGEsInRhYmxlIikmJmYuZ2V0Qm9keSgpLmNvbnRhaW5zKGEpO3JldHVybiBifWZ1bmN0aW9uIHMoKXt2YXIgYT1mLnNldHRpbmdzLnRhYmxlX3Rvb2xiYXI7IiIhPT1hJiZhIT09ITEmJihhfHwoYT0idGFibGVwcm9wcyB0YWJsZWRlbGV0ZSB8IHRhYmxlaW5zZXJ0cm93YmVmb3JlIHRhYmxlaW5zZXJ0cm93YWZ0ZXIgdGFibGVkZWxldGVyb3cgfCB0YWJsZWluc2VydGNvbGJlZm9yZSB0YWJsZWluc2VydGNvbGFmdGVyIHRhYmxlZGVsZXRlY29sIiksZi5hZGRDb250ZXh0VG9vbGJhcihyLGEpKX12YXIgdCx1LHY9dGhpcyx3PW5ldyBkKGYpOyFmLnNldHRpbmdzLm9iamVjdF9yZXNpemluZ3x8Zi5zZXR0aW5ncy50YWJsZV9yZXNpemVfYmFycz09PSExfHxmLnNldHRpbmdzLm9iamVjdF9yZXNpemluZyE9PSEwJiYidGFibGUiIT09Zi5zZXR0aW5ncy5vYmplY3RfcmVzaXppbmd8fCh1PWUoZikpLGYuc2V0dGluZ3MudGFibGVfZ3JpZD09PSExP2YuYWRkTWVudUl0ZW0oImluc2VydHRhYmxlIix7dGV4dDoiSW5zZXJ0IHRhYmxlIixpY29uOiJ0YWJsZSIsY29udGV4dDoidGFibGUiLG9uY2xpY2s6dy50YWJsZX0pOmYuYWRkTWVudUl0ZW0oImluc2VydHRhYmxlIix7dGV4dDoiSW5zZXJ0IHRhYmxlIixpY29uOiJ0YWJsZSIsY29udGV4dDoidGFibGUiLGFyaWFIaWRlTWVudTohMCxvbmNsaWNrOmZ1bmN0aW9uKGEpe2EuYXJpYSYmKHRoaXMucGFyZW50KCkuaGlkZUFsbCgpLGEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdy50YWJsZSgpKX0sb25zaG93OmZ1bmN0aW9uKCl7cCgwLDAsdGhpcy5tZW51Lml0ZW1zKClbMF0pfSxvbmhpZGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm1lbnUuaXRlbXMoKVswXS5nZXRFbCgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIik7Zi5kb20ucmVtb3ZlQ2xhc3MoYSwibWNlLWFjdGl2ZSIpLGYuZG9tLmFkZENsYXNzKGFbMF0sIm1jZS1hY3RpdmUiKX0sbWVudTpbe3R5cGU6ImNvbnRhaW5lciIsaHRtbDpvKCksb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dGhpcy5sYXN0WD10aGlzLmxhc3RZPTB9LG9ubW91c2Vtb3ZlOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1hLnRhcmdldDsiQSI9PWQudGFnTmFtZS50b1VwcGVyQ2FzZSgpJiYoYj1wYXJzZUludChkLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UteCIpLDEwKSxjPXBhcnNlSW50KGQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS15IiksMTApLCh0aGlzLmlzUnRsKCl8fCJ0bC10ciI9PXRoaXMucGFyZW50KCkucmVsKSYmKGI9OS1iKSxiPT09dGhpcy5sYXN0WCYmYz09PXRoaXMubGFzdFl8fChwKGIsYyxhLmNvbnRyb2wpLHRoaXMubGFzdFg9Yix0aGlzLmxhc3RZPWMpKX0sb25jbGljazpmdW5jdGlvbihhKXt2YXIgYj10aGlzOyJBIj09YS50YXJnZXQudGFnTmFtZS50b1VwcGVyQ2FzZSgpJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCksYi5wYXJlbnQoKS5jYW5jZWwoKSxmLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7aShiLmxhc3RYKzEsYi5sYXN0WSsxKX0pLGYuYWRkVmlzdWFsKCkpfX1dfSksZi5hZGRNZW51SXRlbSgidGFibGVwcm9wcyIse3RleHQ6IlRhYmxlIHByb3BlcnRpZXMiLGNvbnRleHQ6InRhYmxlIixvblBvc3RSZW5kZXI6bCxvbmNsaWNrOncudGFibGVQcm9wc30pLGYuYWRkTWVudUl0ZW0oImRlbGV0ZXRhYmxlIix7dGV4dDoiRGVsZXRlIHRhYmxlIixjb250ZXh0OiJ0YWJsZSIsb25Qb3N0UmVuZGVyOmwsY21kOiJtY2VUYWJsZURlbGV0ZSJ9KSxmLmFkZE1lbnVJdGVtKCJjZWxsIix7c2VwYXJhdG9yOiJiZWZvcmUiLHRleHQ6IkNlbGwiLGNvbnRleHQ6InRhYmxlIixtZW51Olt7dGV4dDoiQ2VsbCBwcm9wZXJ0aWVzIixvbmNsaWNrOmcoIm1jZVRhYmxlQ2VsbFByb3BzIiksb25Qb3N0UmVuZGVyOm19LHt0ZXh0OiJNZXJnZSBjZWxscyIsb25jbGljazpnKCJtY2VUYWJsZU1lcmdlQ2VsbHMiKSxvblBvc3RSZW5kZXI6bn0se3RleHQ6IlNwbGl0IGNlbGwiLG9uY2xpY2s6ZygibWNlVGFibGVTcGxpdENlbGxzIiksb25Qb3N0UmVuZGVyOm19XX0pLGYuYWRkTWVudUl0ZW0oInJvdyIse3RleHQ6IlJvdyIsY29udGV4dDoidGFibGUiLG1lbnU6W3t0ZXh0OiJJbnNlcnQgcm93IGJlZm9yZSIsb25jbGljazpnKCJtY2VUYWJsZUluc2VydFJvd0JlZm9yZSIpLG9uUG9zdFJlbmRlcjptfSx7dGV4dDoiSW5zZXJ0IHJvdyBhZnRlciIsb25jbGljazpnKCJtY2VUYWJsZUluc2VydFJvd0FmdGVyIiksb25Qb3N0UmVuZGVyOm19LHt0ZXh0OiJEZWxldGUgcm93IixvbmNsaWNrOmcoIm1jZVRhYmxlRGVsZXRlUm93Iiksb25Qb3N0UmVuZGVyOm19LHt0ZXh0OiJSb3cgcHJvcGVydGllcyIsb25jbGljazpnKCJtY2VUYWJsZVJvd1Byb3BzIiksb25Qb3N0UmVuZGVyOm19LHt0ZXh0OiItIn0se3RleHQ6IkN1dCByb3ciLG9uY2xpY2s6ZygibWNlVGFibGVDdXRSb3ciKSxvblBvc3RSZW5kZXI6bX0se3RleHQ6IkNvcHkgcm93IixvbmNsaWNrOmcoIm1jZVRhYmxlQ29weVJvdyIpLG9uUG9zdFJlbmRlcjptfSx7dGV4dDoiUGFzdGUgcm93IGJlZm9yZSIsb25jbGljazpnKCJtY2VUYWJsZVBhc3RlUm93QmVmb3JlIiksb25Qb3N0UmVuZGVyOm19LHt0ZXh0OiJQYXN0ZSByb3cgYWZ0ZXIiLG9uY2xpY2s6ZygibWNlVGFibGVQYXN0ZVJvd0FmdGVyIiksb25Qb3N0UmVuZGVyOm19XX0pLGYuYWRkTWVudUl0ZW0oImNvbHVtbiIse3RleHQ6IkNvbHVtbiIsY29udGV4dDoidGFibGUiLG1lbnU6W3t0ZXh0OiJJbnNlcnQgY29sdW1uIGJlZm9yZSIsb25jbGljazpnKCJtY2VUYWJsZUluc2VydENvbEJlZm9yZSIpLG9uUG9zdFJlbmRlcjptfSx7dGV4dDoiSW5zZXJ0IGNvbHVtbiBhZnRlciIsb25jbGljazpnKCJtY2VUYWJsZUluc2VydENvbEFmdGVyIiksb25Qb3N0UmVuZGVyOm19LHt0ZXh0OiJEZWxldGUgY29sdW1uIixvbmNsaWNrOmcoIm1jZVRhYmxlRGVsZXRlQ29sIiksb25Qb3N0UmVuZGVyOm19XX0pO3ZhciB4PVtdO2soImluc2VydHRhYmxlIHRhYmxlcHJvcHMgZGVsZXRldGFibGUgfCBjZWxsIHJvdyBjb2x1bW4iLnNwbGl0KCIgIiksZnVuY3Rpb24oYSl7InwiPT1hP3gucHVzaCh7dGV4dDoiLSJ9KTp4LnB1c2goZi5tZW51SXRlbXNbYV0pfSksZi5hZGRCdXR0b24oInRhYmxlIix7dHlwZToibWVudWJ1dHRvbiIsdGl0bGU6IlRhYmxlIixtZW51Onh9KSxoLmlzSUV8fGYub24oImNsaWNrIixmdW5jdGlvbihhKXthPWEudGFyZ2V0LCJUQUJMRSI9PT1hLm5vZGVOYW1lJiYoZi5zZWxlY3Rpb24uc2VsZWN0KGEpLGYubm9kZUNoYW5nZWQoKSl9KSx2LnF1aXJrcz1uZXcgYihmKSxmLm9uKCJJbml0IixmdW5jdGlvbigpe3YuY2VsbFNlbGVjdGlvbj1uZXcgYyhmKSx2LnJlc2l6ZUJhcnM9dX0pLGYub24oIlByZUluaXQiLGZ1bmN0aW9uKCl7Zi5zZXJpYWxpemVyLmFkZEF0dHJpYnV0ZUZpbHRlcigiZGF0YS1tY2UtY2VsbC1wYWRkaW5nLGRhdGEtbWNlLWJvcmRlcixkYXRhLW1jZS1ib3JkZXItY29sb3IiLGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEubGVuZ3RoO2MtLTspYVtjXS5hdHRyKGIsbnVsbCl9KX0pLGsoe21jZVRhYmxlU3BsaXRDZWxsczpmdW5jdGlvbihhKXthLnNwbGl0KCl9LG1jZVRhYmxlTWVyZ2VDZWxsczpmdW5jdGlvbihhKXt2YXIgYjtiPWYuZG9tLmdldFBhcmVudChmLnNlbGVjdGlvbi5nZXRTdGFydCgpLCJ0aCx0ZCIpLGYuZG9tLnNlbGVjdCgidGRbZGF0YS1tY2Utc2VsZWN0ZWRdLHRoW2RhdGEtbWNlLXNlbGVjdGVkXSIpLmxlbmd0aD9hLm1lcmdlKCk6dy5tZXJnZShhLGIpfSxtY2VUYWJsZUluc2VydFJvd0JlZm9yZTpmdW5jdGlvbihhKXthLmluc2VydFJvdyghMCl9LG1jZVRhYmxlSW5zZXJ0Um93QWZ0ZXI6ZnVuY3Rpb24oYSl7YS5pbnNlcnRSb3coKX0sbWNlVGFibGVJbnNlcnRDb2xCZWZvcmU6ZnVuY3Rpb24oYSl7YS5pbnNlcnRDb2woITApfSxtY2VUYWJsZUluc2VydENvbEFmdGVyOmZ1bmN0aW9uKGEpe2EuaW5zZXJ0Q29sKCl9LG1jZVRhYmxlRGVsZXRlQ29sOmZ1bmN0aW9uKGEpe2EuZGVsZXRlQ29scygpfSxtY2VUYWJsZURlbGV0ZVJvdzpmdW5jdGlvbihhKXthLmRlbGV0ZVJvd3MoKX0sbWNlVGFibGVDdXRSb3c6ZnVuY3Rpb24oYSl7dD1hLmN1dFJvd3MoKX0sbWNlVGFibGVDb3B5Um93OmZ1bmN0aW9uKGEpe3Q9YS5jb3B5Um93cygpfSxtY2VUYWJsZVBhc3RlUm93QmVmb3JlOmZ1bmN0aW9uKGEpe2EucGFzdGVSb3dzKHQsITApfSxtY2VUYWJsZVBhc3RlUm93QWZ0ZXI6ZnVuY3Rpb24oYSl7YS5wYXN0ZVJvd3ModCl9LG1jZVRhYmxlRGVsZXRlOmZ1bmN0aW9uKGEpe3UmJnUuY2xlYXJCYXJzKCksYS5kZWxldGVUYWJsZSgpfX0sZnVuY3Rpb24oYixjKXtmLmFkZENvbW1hbmQoYyxmdW5jdGlvbigpe3ZhciBjPW5ldyBhKGYpO2MmJihiKGMpLGYuZXhlY0NvbW1hbmQoIm1jZVJlcGFpbnQiKSx2LmNlbGxTZWxlY3Rpb24uY2xlYXIoKSl9KX0pLGsoe21jZUluc2VydFRhYmxlOncudGFibGUsbWNlVGFibGVQcm9wczpmdW5jdGlvbigpe3cudGFibGUoITApfSxtY2VUYWJsZVJvd1Byb3BzOncucm93LG1jZVRhYmxlQ2VsbFByb3BzOncuY2VsbH0sZnVuY3Rpb24oYSxiKXtmLmFkZENvbW1hbmQoYixmdW5jdGlvbihiLGMpe2EoYyl9KX0pLHEoKSxzKCksZi5zZXR0aW5ncy50YWJsZV90YWJfbmF2aWdhdGlvbiE9PSExJiZmLm9uKCJrZXlkb3duIixmdW5jdGlvbihiKXt2YXIgYyxkLGU7OT09Yi5rZXlDb2RlJiYoYz1mLmRvbS5nZXRQYXJlbnQoZi5zZWxlY3Rpb24uZ2V0U3RhcnQoKSwidGgsdGQiKSxjJiYoYi5wcmV2ZW50RGVmYXVsdCgpLGQ9bmV3IGEoZiksZT1iLnNoaWZ0S2V5Py0xOjEsZi51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpeyFkLm1vdmVSZWxJZHgoYyxlKSYmZT4wJiYoZC5pbnNlcnRSb3coKSxkLnJlZnJlc2goKSxkLm1vdmVSZWxJZHgoYyxlKSl9KSkpfSksdi5pbnNlcnRUYWJsZT1pfXZhciBrPWYuZWFjaDtpLmFkZCgidGFibGUiLGopfSl9KHRoaXMpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/template/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/template/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/template/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgidGVtcGxhdGUiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9YS5zZXR0aW5ncy50ZW1wbGF0ZXM7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGM/dm9pZCBjKGIpOnZvaWQoInN0cmluZyI9PXR5cGVvZiBjP3RpbnltY2UudXRpbC5YSFIuc2VuZCh7dXJsOmMsc3VjY2VzczpmdW5jdGlvbihhKXtiKHRpbnltY2UudXRpbC5KU09OLnBhcnNlKGEpKX19KTpiKGMpKX19ZnVuY3Rpb24gYyhiKXtmdW5jdGlvbiBjKGIpe2Z1bmN0aW9uIGMoYil7aWYoLTE9PWIuaW5kZXhPZigiPGh0bWw+Iikpe3ZhciBjPSIiO3RpbnltY2UuZWFjaChhLmNvbnRlbnRDU1MsZnVuY3Rpb24oYil7Yys9JzxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicrYS5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShiKSsnIj4nfSk7dmFyIGU9YS5zZXR0aW5ncy5ib2R5X2NsYXNzfHwiIjstMSE9ZS5pbmRleE9mKCI9IikmJihlPWEuZ2V0UGFyYW0oImJvZHlfY2xhc3MiLCIiLCJoYXNoIiksZT1lW2EuaWRdfHwiIiksYj0iPCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+IitjKyc8L2hlYWQ+PGJvZHkgY2xhc3M9IicrZSsnIj4nK2IrIjwvYm9keT48L2h0bWw+In1iPWYoYiwidGVtcGxhdGVfcHJldmlld19yZXBsYWNlX3ZhbHVlcyIpO3ZhciBnPWQuZmluZCgiaWZyYW1lIilbMF0uZ2V0RWwoKS5jb250ZW50V2luZG93LmRvY3VtZW50O2cub3BlbigpLGcud3JpdGUoYiksZy5jbG9zZSgpfXZhciBnPWIuY29udHJvbC52YWx1ZSgpO2cudXJsP3RpbnltY2UudXRpbC5YSFIuc2VuZCh7dXJsOmcudXJsLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7ZT1hLGMoZSl9fSk6KGU9Zy5jb250ZW50LGMoZSkpLGQuZmluZCgiI2Rlc2NyaXB0aW9uIilbMF0udGV4dChiLmNvbnRyb2wudmFsdWUoKS5kZXNjcmlwdGlvbil9dmFyIGQsZSxoPVtdO2lmKCFifHwwPT09Yi5sZW5ndGgpe3ZhciBpPWEudHJhbnNsYXRlKCJObyB0ZW1wbGF0ZXMgZGVmaW5lZC4iKTtyZXR1cm4gdm9pZCBhLm5vdGlmaWNhdGlvbk1hbmFnZXIub3Blbih7dGV4dDppLHR5cGU6ImluZm8ifSl9dGlueW1jZS5lYWNoKGIsZnVuY3Rpb24oYSl7aC5wdXNoKHtzZWxlY3RlZDohaC5sZW5ndGgsdGV4dDphLnRpdGxlLHZhbHVlOnt1cmw6YS51cmwsY29udGVudDphLmNvbnRlbnQsZGVzY3JpcHRpb246YS5kZXNjcmlwdGlvbn19KX0pLGQ9YS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOiJJbnNlcnQgdGVtcGxhdGUiLGxheW91dDoiZmxleCIsZGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduOiJzdHJldGNoIixwYWRkaW5nOjE1LHNwYWNpbmc6MTAsaXRlbXM6W3t0eXBlOiJmb3JtIixmbGV4OjAscGFkZGluZzowLGl0ZW1zOlt7dHlwZToiY29udGFpbmVyIixsYWJlbDoiVGVtcGxhdGVzIixpdGVtczp7dHlwZToibGlzdGJveCIsbGFiZWw6IlRlbXBsYXRlcyIsbmFtZToidGVtcGxhdGUiLHZhbHVlczpoLG9uc2VsZWN0OmN9fV19LHt0eXBlOiJsYWJlbCIsbmFtZToiZGVzY3JpcHRpb24iLGxhYmVsOiJEZXNjcmlwdGlvbiIsdGV4dDoiXHhhMCJ9LHt0eXBlOiJpZnJhbWUiLGZsZXg6MSxib3JkZXI6MX1dLG9uc3VibWl0OmZ1bmN0aW9uKCl7ZyghMSxlKX0sd2lkdGg6YS5nZXRQYXJhbSgidGVtcGxhdGVfcG9wdXBfd2lkdGgiLDYwMCksaGVpZ2h0OmEuZ2V0UGFyYW0oInRlbXBsYXRlX3BvcHVwX2hlaWdodCIsNTAwKX0pLGQuZmluZCgibGlzdGJveCIpWzBdLmZpcmUoInNlbGVjdCIpfWZ1bmN0aW9uIGQoYixjKXtmdW5jdGlvbiBkKGEsYil7aWYoYT0iIithLGEubGVuZ3RoPGIpZm9yKHZhciBjPTA7YzxiLWEubGVuZ3RoO2MrKylhPSIwIithO3JldHVybiBhfXZhciBlPSJTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuIi5zcGxpdCgiICIpLGY9IlN1bmRheSBNb25kYXkgVHVlc2RheSBXZWRuZXNkYXkgVGh1cnNkYXkgRnJpZGF5IFNhdHVyZGF5IFN1bmRheSIuc3BsaXQoIiAiKSxnPSJKYW4gRmViIE1hciBBcHIgTWF5IEp1biBKdWwgQXVnIFNlcCBPY3QgTm92IERlYyIuc3BsaXQoIiAiKSxoPSJKYW51YXJ5IEZlYnJ1YXJ5IE1hcmNoIEFwcmlsIE1heSBKdW5lIEp1bHkgQXVndXN0IFNlcHRlbWJlciBPY3RvYmVyIE5vdmVtYmVyIERlY2VtYmVyIi5zcGxpdCgiICIpO3JldHVybiBjPWN8fG5ldyBEYXRlLGI9Yi5yZXBsYWNlKCIlRCIsIiVtLyVkLyVZIiksYj1iLnJlcGxhY2UoIiVyIiwiJUk6JU06JVMgJXAiKSxiPWIucmVwbGFjZSgiJVkiLCIiK2MuZ2V0RnVsbFllYXIoKSksYj1iLnJlcGxhY2UoIiV5IiwiIitjLmdldFllYXIoKSksYj1iLnJlcGxhY2UoIiVtIixkKGMuZ2V0TW9udGgoKSsxLDIpKSxiPWIucmVwbGFjZSgiJWQiLGQoYy5nZXREYXRlKCksMikpLGI9Yi5yZXBsYWNlKCIlSCIsIiIrZChjLmdldEhvdXJzKCksMikpLGI9Yi5yZXBsYWNlKCIlTSIsIiIrZChjLmdldE1pbnV0ZXMoKSwyKSksYj1iLnJlcGxhY2UoIiVTIiwiIitkKGMuZ2V0U2Vjb25kcygpLDIpKSxiPWIucmVwbGFjZSgiJUkiLCIiKygoYy5nZXRIb3VycygpKzExKSUxMisxKSksYj1iLnJlcGxhY2UoIiVwIiwiIisoYy5nZXRIb3VycygpPDEyPyJBTSI6IlBNIikpLGI9Yi5yZXBsYWNlKCIlQiIsIiIrYS50cmFuc2xhdGUoaFtjLmdldE1vbnRoKCldKSksYj1iLnJlcGxhY2UoIiViIiwiIithLnRyYW5zbGF0ZShnW2MuZ2V0TW9udGgoKV0pKSxiPWIucmVwbGFjZSgiJUEiLCIiK2EudHJhbnNsYXRlKGZbYy5nZXREYXkoKV0pKSxiPWIucmVwbGFjZSgiJWEiLCIiK2EudHJhbnNsYXRlKGVbYy5nZXREYXkoKV0pKSxiPWIucmVwbGFjZSgiJSUiLCIlIil9ZnVuY3Rpb24gZShiKXt2YXIgYz1hLmRvbSxkPWEuZ2V0UGFyYW0oInRlbXBsYXRlX3JlcGxhY2VfdmFsdWVzIik7aChjLnNlbGVjdCgiKiIsYiksZnVuY3Rpb24oYSl7aChkLGZ1bmN0aW9uKGIsZSl7Yy5oYXNDbGFzcyhhLGUpJiYiZnVuY3Rpb24iPT10eXBlb2YgZFtlXSYmZFtlXShhKX0pfSl9ZnVuY3Rpb24gZihiLGMpe3JldHVybiBoKGEuZ2V0UGFyYW0oYyksZnVuY3Rpb24oYSxjKXsiZnVuY3Rpb24iPT10eXBlb2YgYSYmKGE9YShjKSksYj1iLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFx7XFwkIitjKyJcXH0iLCJnIiksYSl9KSxifWZ1bmN0aW9uIGcoYixjKXtmdW5jdGlvbiBnKGEsYil7cmV0dXJuIG5ldyBSZWdFeHAoIlxcYiIrYisiXFxiIiwiZyIpLnRlc3QoYS5jbGFzc05hbWUpfXZhciBpLGosaz1hLmRvbSxsPWEuc2VsZWN0aW9uLmdldENvbnRlbnQoKTtjPWYoYywidGVtcGxhdGVfcmVwbGFjZV92YWx1ZXMiKSxpPWsuY3JlYXRlKCJkaXYiLG51bGwsYyksaj1rLnNlbGVjdCgiLm1jZVRtcGwiLGkpLGomJmoubGVuZ3RoPjAmJihpPWsuY3JlYXRlKCJkaXYiLG51bGwpLGkuYXBwZW5kQ2hpbGQoalswXS5jbG9uZU5vZGUoITApKSksaChrLnNlbGVjdCgiKiIsaSksZnVuY3Rpb24oYil7ZyhiLGEuZ2V0UGFyYW0oInRlbXBsYXRlX2NkYXRlX2NsYXNzZXMiLCJjZGF0ZSIpLnJlcGxhY2UoL1xzKy9nLCJ8IikpJiYoYi5pbm5lckhUTUw9ZChhLmdldFBhcmFtKCJ0ZW1wbGF0ZV9jZGF0ZV9mb3JtYXQiLGEuZ2V0TGFuZygidGVtcGxhdGUuY2RhdGVfZm9ybWF0IikpKSksZyhiLGEuZ2V0UGFyYW0oInRlbXBsYXRlX21kYXRlX2NsYXNzZXMiLCJtZGF0ZSIpLnJlcGxhY2UoL1xzKy9nLCJ8IikpJiYoYi5pbm5lckhUTUw9ZChhLmdldFBhcmFtKCJ0ZW1wbGF0ZV9tZGF0ZV9mb3JtYXQiLGEuZ2V0TGFuZygidGVtcGxhdGUubWRhdGVfZm9ybWF0IikpKSksZyhiLGEuZ2V0UGFyYW0oInRlbXBsYXRlX3NlbGVjdGVkX2NvbnRlbnRfY2xhc3NlcyIsInNlbGNvbnRlbnQiKS5yZXBsYWNlKC9ccysvZywifCIpKSYmKGIuaW5uZXJIVE1MPWwpfSksZShpKSxhLmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRDb250ZW50IiwhMSxpLmlubmVySFRNTCksYS5hZGRWaXN1YWwoKX12YXIgaD10aW55bWNlLmVhY2g7YS5hZGRDb21tYW5kKCJtY2VJbnNlcnRUZW1wbGF0ZSIsZyksYS5hZGRCdXR0b24oInRlbXBsYXRlIix7dGl0bGU6Ikluc2VydCB0ZW1wbGF0ZSIsb25jbGljazpiKGMpfSksYS5hZGRNZW51SXRlbSgidGVtcGxhdGUiLHt0ZXh0OiJJbnNlcnQgdGVtcGxhdGUiLG9uY2xpY2s6YihjKSxjb250ZXh0OiJpbnNlcnQifSksYS5vbigiUHJlUHJvY2VzcyIsZnVuY3Rpb24oYil7dmFyIGM9YS5kb207aChjLnNlbGVjdCgiZGl2IixiLm5vZGUpLGZ1bmN0aW9uKGIpe2MuaGFzQ2xhc3MoYiwibWNlVG1wbCIpJiYoaChjLnNlbGVjdCgiKiIsYiksZnVuY3Rpb24oYil7Yy5oYXNDbGFzcyhiLGEuZ2V0UGFyYW0oInRlbXBsYXRlX21kYXRlX2NsYXNzZXMiLCJtZGF0ZSIpLnJlcGxhY2UoL1xzKy9nLCJ8IikpJiYoYi5pbm5lckhUTUw9ZChhLmdldFBhcmFtKCJ0ZW1wbGF0ZV9tZGF0ZV9mb3JtYXQiLGEuZ2V0TGFuZygidGVtcGxhdGUubWRhdGVfZm9ybWF0IikpKSl9KSxlKGIpKX0pfSl9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textcolor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textcolor/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textcolor/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgidGV4dGNvbG9yIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGIpe3ZhciBjO3JldHVybiBhLmRvbS5nZXRQYXJlbnRzKGEuc2VsZWN0aW9uLmdldFN0YXJ0KCksZnVuY3Rpb24oYSl7dmFyIGQ7KGQ9YS5zdHlsZVsiZm9yZWNvbG9yIj09Yj8iY29sb3IiOiJiYWNrZ3JvdW5kLWNvbG9yIl0pJiYoYz1kKX0pLGN9ZnVuY3Rpb24gYyhiKXt2YXIgYyxkLGU9W107Zm9yKGQ9WyIwMDAwMDAiLCJCbGFjayIsIjk5MzMwMCIsIkJ1cm50IG9yYW5nZSIsIjMzMzMwMCIsIkRhcmsgb2xpdmUiLCIwMDMzMDAiLCJEYXJrIGdyZWVuIiwiMDAzMzY2IiwiRGFyayBhenVyZSIsIjAwMDA4MCIsIk5hdnkgQmx1ZSIsIjMzMzM5OSIsIkluZGlnbyIsIjMzMzMzMyIsIlZlcnkgZGFyayBncmF5IiwiODAwMDAwIiwiTWFyb29uIiwiRkY2NjAwIiwiT3JhbmdlIiwiODA4MDAwIiwiT2xpdmUiLCIwMDgwMDAiLCJHcmVlbiIsIjAwODA4MCIsIlRlYWwiLCIwMDAwRkYiLCJCbHVlIiwiNjY2Njk5IiwiR3JheWlzaCBibHVlIiwiODA4MDgwIiwiR3JheSIsIkZGMDAwMCIsIlJlZCIsIkZGOTkwMCIsIkFtYmVyIiwiOTlDQzAwIiwiWWVsbG93IGdyZWVuIiwiMzM5OTY2IiwiU2VhIGdyZWVuIiwiMzNDQ0NDIiwiVHVycXVvaXNlIiwiMzM2NkZGIiwiUm95YWwgYmx1ZSIsIjgwMDA4MCIsIlB1cnBsZSIsIjk5OTk5OSIsIk1lZGl1bSBncmF5IiwiRkYwMEZGIiwiTWFnZW50YSIsIkZGQ0MwMCIsIkdvbGQiLCJGRkZGMDAiLCJZZWxsb3ciLCIwMEZGMDAiLCJMaW1lIiwiMDBGRkZGIiwiQXF1YSIsIjAwQ0NGRiIsIlNreSBibHVlIiwiOTkzMzY2IiwiUmVkIHZpb2xldCIsIkZGRkZGRiIsIldoaXRlIiwiRkY5OUNDIiwiUGluayIsIkZGQ0M5OSIsIlBlYWNoIiwiRkZGRjk5IiwiTGlnaHQgeWVsbG93IiwiQ0NGRkNDIiwiUGFsZSBncmVlbiIsIkNDRkZGRiIsIlBhbGUgY3lhbiIsIjk5Q0NGRiIsIkxpZ2h0IHNreSBibHVlIiwiQ0M5OUZGIiwiUGx1bSJdLGQ9YS5zZXR0aW5ncy50ZXh0Y29sb3JfbWFwfHxkLGQ9YS5zZXR0aW5nc1tiKyJfbWFwIl18fGQsYz0wO2M8ZC5sZW5ndGg7Yys9MillLnB1c2goe3RleHQ6ZFtjKzFdLGNvbG9yOiIjIitkW2NdfSk7cmV0dXJuIGV9ZnVuY3Rpb24gZCgpe2Z1bmN0aW9uIGIoYSxiKXt2YXIgYz0idHJhbnNwYXJlbnQiPT1hO3JldHVybic8dGQgY2xhc3M9Im1jZS1ncmlkLWNlbGwnKyhjPyIgbWNlLWNvbG9yYnRuLXRyYW5zIjoiIikrJyI+PGRpdiBpZD0iJytvKyItIitwKysgKyciIGRhdGEtbWNlLWNvbG9yPSInKyhhP2E6IiIpKyciIHJvbGU9Im9wdGlvbiIgdGFiSW5kZXg9Ii0xIiBzdHlsZT0iJysoYT8iYmFja2dyb3VuZC1jb2xvcjogIithOiIiKSsnIiB0aXRsZT0iJyt0aW55bWNlLnRyYW5zbGF0ZShiKSsnIj4nKyhjPyImIzIxNTsiOiIiKSsiPC9kaXY+PC90ZD4ifXZhciBkLGUsZixnLGgsayxsLG0sbj10aGlzLG89bi5faWQscD0wO2ZvcihtPW4uc2V0dGluZ3Mub3JpZ2luLGQ9YyhtKSxkLnB1c2goe3RleHQ6dGlueW1jZS50cmFuc2xhdGUoIk5vIGNvbG9yIiksY29sb3I6InRyYW5zcGFyZW50In0pLGY9Jzx0YWJsZSBjbGFzcz0ibWNlLWdyaWQgbWNlLWdyaWQtYm9yZGVyIG1jZS1jb2xvcmJ1dHRvbi1ncmlkIiByb2xlPSJsaXN0IiBjZWxsc3BhY2luZz0iMCI+PHRib2R5PicsZz1kLmxlbmd0aC0xLGs9MDtrPGpbbV07aysrKXtmb3IoZis9Ijx0cj4iLGg9MDtoPGlbbV07aCsrKWw9ayppW21dK2gsbD5nP2YrPSI8dGQ+PC90ZD4iOihlPWRbbF0sZis9YihlLmNvbG9yLGUudGV4dCkpO2YrPSI8L3RyPiJ9aWYoYS5zZXR0aW5ncy5jb2xvcl9waWNrZXJfY2FsbGJhY2spe2ZvcihmKz0nPHRyPjx0ZCBjb2xzcGFuPSInK2lbbV0rJyIgY2xhc3M9Im1jZS1jdXN0b20tY29sb3ItYnRuIj48ZGl2IGlkPSInK28rJy1jIiBjbGFzcz0ibWNlLXdpZGdldCBtY2UtYnRuIG1jZS1idG4tc21hbGwgbWNlLWJ0bi1mbGF0IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSItMSIgYXJpYS1sYWJlbGxlZGJ5PSInK28rJy1jIiBzdHlsZT0id2lkdGg6IDEwMCUiPjxidXR0b24gdHlwZT0iYnV0dG9uIiByb2xlPSJwcmVzZW50YXRpb24iIHRhYmluZGV4PSItMSI+Jyt0aW55bWNlLnRyYW5zbGF0ZSgiQ3VzdG9tLi4uIikrIjwvYnV0dG9uPjwvZGl2PjwvdGQ+PC90cj4iLGYrPSI8dHI+IixoPTA7aDxpW21dO2grKylmKz1iKCIiLCJDdXN0b20gY29sb3IiKTtmKz0iPC90cj4ifXJldHVybiBmKz0iPC90Ym9keT48L3RhYmxlPiJ9ZnVuY3Rpb24gZShiLGMpe2EudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXthLmZvY3VzKCksYS5mb3JtYXR0ZXIuYXBwbHkoYix7dmFsdWU6Y30pLGEubm9kZUNoYW5nZWQoKX0pfWZ1bmN0aW9uIGYoYil7YS51bmRvTWFuYWdlci50cmFuc2FjdChmdW5jdGlvbigpe2EuZm9jdXMoKSxhLmZvcm1hdHRlci5yZW1vdmUoYix7dmFsdWU6bnVsbH0sbnVsbCwhMCksYS5ub2RlQ2hhbmdlZCgpfSl9ZnVuY3Rpb24gZyhjKXtmdW5jdGlvbiBkKGEpe2wuaGlkZVBhbmVsKCksbC5jb2xvcihhKSxlKGwuc2V0dGluZ3MuZm9ybWF0LGEpfWZ1bmN0aW9uIGcoKXtsLmhpZGVQYW5lbCgpLGwucmVzZXRDb2xvcigpLGYobC5zZXR0aW5ncy5mb3JtYXQpfWZ1bmN0aW9uIGgoYSxiKXthLnN0eWxlLmJhY2tncm91bmQ9YixhLnNldEF0dHJpYnV0ZSgiZGF0YS1tY2UtY29sb3IiLGIpfXZhciBqLGssbD10aGlzLnBhcmVudCgpO2s9bC5zZXR0aW5ncy5vcmlnaW4sdGlueW1jZS5ET00uZ2V0UGFyZW50KGMudGFyZ2V0LCIubWNlLWN1c3RvbS1jb2xvci1idG4iKSYmKGwuaGlkZVBhbmVsKCksYS5zZXR0aW5ncy5jb2xvcl9waWNrZXJfY2FsbGJhY2suY2FsbChhLGZ1bmN0aW9uKGEpe3ZhciBiLGMsZSxmPWwucGFuZWwuZ2V0RWwoKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGFibGUiKVswXTtmb3IoYj10aW55bWNlLm1hcChmLnJvd3NbZi5yb3dzLmxlbmd0aC0xXS5jaGlsZE5vZGVzLGZ1bmN0aW9uKGEpe3JldHVybiBhLmZpcnN0Q2hpbGR9KSxlPTA7ZTxiLmxlbmd0aCYmKGM9YltlXSxjLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtY29sb3IiKSk7ZSsrKTtpZihlPT1pW2tdKWZvcihlPTA7ZTxpW2tdLTE7ZSsrKWgoYltlXSxiW2UrMV0uZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1jb2xvciIpKTtoKGMsYSksZChhKX0sYihsLnNldHRpbmdzLmZvcm1hdCkpKSxqPWMudGFyZ2V0LmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtY29sb3IiKSxqPyh0aGlzLmxhc3RJZCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5sYXN0SWQpLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsITEpLGMudGFyZ2V0LnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsITApLHRoaXMubGFzdElkPWMudGFyZ2V0LmlkLCJ0cmFuc3BhcmVudCI9PWo/ZygpOmQoaikpOm51bGwhPT1qJiZsLmhpZGVQYW5lbCgpfWZ1bmN0aW9uIGgoKXt2YXIgYT10aGlzO2EuX2NvbG9yP2UoYS5zZXR0aW5ncy5mb3JtYXQsYS5fY29sb3IpOmYoYS5zZXR0aW5ncy5mb3JtYXQpfXZhciBpLGo7aj17Zm9yZWNvbG9yOmEuc2V0dGluZ3MuZm9yZWNvbG9yX3Jvd3N8fGEuc2V0dGluZ3MudGV4dGNvbG9yX3Jvd3N8fDUsYmFja2NvbG9yOmEuc2V0dGluZ3MuYmFja2NvbG9yX3Jvd3N8fGEuc2V0dGluZ3MudGV4dGNvbG9yX3Jvd3N8fDV9LGk9e2ZvcmVjb2xvcjphLnNldHRpbmdzLmZvcmVjb2xvcl9jb2xzfHxhLnNldHRpbmdzLnRleHRjb2xvcl9jb2xzfHw4LGJhY2tjb2xvcjphLnNldHRpbmdzLmJhY2tjb2xvcl9jb2xzfHxhLnNldHRpbmdzLnRleHRjb2xvcl9jb2xzfHw4fSxhLmFkZEJ1dHRvbigiZm9yZWNvbG9yIix7dHlwZToiY29sb3JidXR0b24iLHRvb2x0aXA6IlRleHQgY29sb3IiLGZvcm1hdDoiZm9yZWNvbG9yIixwYW5lbDp7b3JpZ2luOiJmb3JlY29sb3IiLHJvbGU6ImFwcGxpY2F0aW9uIixhcmlhUmVtZW1iZXI6ITAsaHRtbDpkLG9uY2xpY2s6Z30sb25jbGljazpofSksYS5hZGRCdXR0b24oImJhY2tjb2xvciIse3R5cGU6ImNvbG9yYnV0dG9uIix0b29sdGlwOiJCYWNrZ3JvdW5kIGNvbG9yIixmb3JtYXQ6ImhpbGl0ZWNvbG9yIixwYW5lbDp7b3JpZ2luOiJiYWNrY29sb3IiLHJvbGU6ImFwcGxpY2F0aW9uIixhcmlhUmVtZW1iZXI6ITAsaHRtbDpkLG9uY2xpY2s6Z30sb25jbGljazpofSl9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textpattern/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textpattern/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/textpattern/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgidGV4dHBhdHRlcm4iLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtyZXR1cm4gaiYmKGkuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLnN0YXJ0Lmxlbmd0aD5iLnN0YXJ0Lmxlbmd0aD8tMTphLnN0YXJ0Lmxlbmd0aDxiLnN0YXJ0Lmxlbmd0aD8xOjB9KSxqPSExKSxpfWZ1bmN0aW9uIGMoYSl7Zm9yKHZhciBjPWIoKSxkPTA7ZDxjLmxlbmd0aDtkKyspaWYoMD09PWEuaW5kZXhPZihjW2RdLnN0YXJ0KSYmKCFjW2RdLmVuZHx8YS5sYXN0SW5kZXhPZihjW2RdLmVuZCk9PWEubGVuZ3RoLWNbZF0uZW5kLmxlbmd0aCkpcmV0dXJuIGNbZF19ZnVuY3Rpb24gZChhLGMsZCl7dmFyIGUsZixnO2ZvcihlPWIoKSxnPTA7ZzxlLmxlbmd0aDtnKyspaWYoZj1lW2ddLGYuZW5kJiZhLnN1YnN0cihjLWYuZW5kLmxlbmd0aC1kLGYuZW5kLmxlbmd0aCk9PWYuZW5kKXJldHVybiBmfWZ1bmN0aW9uIGUoYil7ZnVuY3Rpb24gZSgpe2k9aS5zcGxpdFRleHQoayksaS5zcGxpdFRleHQoai1rLW8pLGkuZGVsZXRlRGF0YSgwLG4uc3RhcnQubGVuZ3RoKSxpLmRlbGV0ZURhdGEoaS5kYXRhLmxlbmd0aC1uLmVuZC5sZW5ndGgsbi5lbmQubGVuZ3RoKX12YXIgZixnLGgsaSxqLGssbCxtLG4sbyxwO3JldHVybiBmPWEuc2VsZWN0aW9uLGc9YS5kb20sZi5pc0NvbGxhcHNlZCgpJiYoaD1mLmdldFJuZyghMCksaT1oLnN0YXJ0Q29udGFpbmVyLGo9aC5zdGFydE9mZnNldCxsPWkuZGF0YSxvPWI/MTowLDM9PWkubm9kZVR5cGUmJihuPWQobCxqLG8pLG4mJihrPU1hdGgubWF4KDAsai1vKSxrPWwubGFzdEluZGV4T2Yobi5zdGFydCxrLW4uZW5kLmxlbmd0aC0xKSwtMSE9PWsmJihtPWcuY3JlYXRlUm5nKCksbS5zZXRTdGFydChpLGspLG0uc2V0RW5kKGksai1vKSxuPWMobS50b1N0cmluZygpKSxuJiZuLmVuZCYmIShpLmRhdGEubGVuZ3RoPD1uLnN0YXJ0Lmxlbmd0aCtuLmVuZC5sZW5ndGgpKSkpKT8ocD1hLmZvcm1hdHRlci5nZXQobi5mb3JtYXQpLHAmJnBbMF0uaW5saW5lPyhlKCksYS5mb3JtYXR0ZXIuYXBwbHkobi5mb3JtYXQse30saSksaSk6dm9pZCAwKTp2b2lkIDB9ZnVuY3Rpb24gZigpe3ZhciBiLGQsZSxmLGcsaCxpLGosayxsLG07aWYoYj1hLnNlbGVjdGlvbixkPWEuZG9tLGIuaXNDb2xsYXBzZWQoKSYmKGk9ZC5nZXRQYXJlbnQoYi5nZXRTdGFydCgpLCJwIikpKXtmb3Ioaz1uZXcgdGlueW1jZS5kb20uVHJlZVdhbGtlcihpLGkpO2c9ay5uZXh0KCk7KWlmKDM9PWcubm9kZVR5cGUpe2Y9ZzticmVha31pZihmKXtpZihqPWMoZi5kYXRhKSwhailyZXR1cm47aWYobD1iLmdldFJuZyghMCksZT1sLnN0YXJ0Q29udGFpbmVyLG09bC5zdGFydE9mZnNldCxmPT1lJiYobT1NYXRoLm1heCgwLG0tai5zdGFydC5sZW5ndGgpKSx0aW55bWNlLnRyaW0oZi5kYXRhKS5sZW5ndGg9PWouc3RhcnQubGVuZ3RoKXJldHVybjtqLmZvcm1hdCYmKGg9YS5mb3JtYXR0ZXIuZ2V0KGouZm9ybWF0KSxoJiZoWzBdLmJsb2NrJiYoZi5kZWxldGVEYXRhKDAsai5zdGFydC5sZW5ndGgpLGEuZm9ybWF0dGVyLmFwcGx5KGouZm9ybWF0LHt9LGYpLGwuc2V0U3RhcnQoZSxtKSxsLmNvbGxhcHNlKCEwKSxiLnNldFJuZyhsKSkpLGouY21kJiZhLnVuZG9NYW5hZ2VyLnRyYW5zYWN0KGZ1bmN0aW9uKCl7Zi5kZWxldGVEYXRhKDAsai5zdGFydC5sZW5ndGgpLGEuZXhlY0NvbW1hbmQoai5jbWQpfSl9fX1mdW5jdGlvbiBnKCl7dmFyIGIsYztjPWUoKSxjJiYoYj1hLmRvbS5jcmVhdGVSbmcoKSxiLnNldFN0YXJ0KGMsYy5kYXRhLmxlbmd0aCksYi5zZXRFbmQoYyxjLmRhdGEubGVuZ3RoKSxhLnNlbGVjdGlvbi5zZXRSbmcoYikpLGYoKX1mdW5jdGlvbiBoKCl7dmFyIGIsYyxkLGYsZztiPWUoITApLGImJihnPWEuZG9tLGM9Yi5kYXRhLnNsaWNlKC0xKSwvW1x1MDBhMCBdLy50ZXN0KGMpJiYoYi5kZWxldGVEYXRhKGIuZGF0YS5sZW5ndGgtMSwxKSxkPWcuZG9jLmNyZWF0ZVRleHROb2RlKGMpLGIubmV4dFNpYmxpbmc/Zy5pbnNlcnRBZnRlcihkLGIubmV4dFNpYmxpbmcpOmIucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChkKSxmPWcuY3JlYXRlUm5nKCksZi5zZXRTdGFydChkLDEpLGYuc2V0RW5kKGQsMSksYS5zZWxlY3Rpb24uc2V0Um5nKGYpKSl9dmFyIGksaj0hMDtpPWEuc2V0dGluZ3MudGV4dHBhdHRlcm5fcGF0dGVybnN8fFt7c3RhcnQ6IioiLGVuZDoiKiIsZm9ybWF0OiJpdGFsaWMifSx7c3RhcnQ6IioqIixlbmQ6IioqIixmb3JtYXQ6ImJvbGQifSx7c3RhcnQ6IiMiLGZvcm1hdDoiaDEifSx7c3RhcnQ6IiMjIixmb3JtYXQ6ImgyIn0se3N0YXJ0OiIjIyMiLGZvcm1hdDoiaDMifSx7c3RhcnQ6IiMjIyMiLGZvcm1hdDoiaDQifSx7c3RhcnQ6IiMjIyMjIixmb3JtYXQ6Img1In0se3N0YXJ0OiIjIyMjIyMiLGZvcm1hdDoiaDYifSx7c3RhcnQ6IjEuICIsY21kOiJJbnNlcnRPcmRlcmVkTGlzdCJ9LHtzdGFydDoiKiAiLGNtZDoiSW5zZXJ0VW5vcmRlcmVkTGlzdCJ9LHtzdGFydDoiLSAiLGNtZDoiSW5zZXJ0VW5vcmRlcmVkTGlzdCJ9XSxhLm9uKCJrZXlkb3duIixmdW5jdGlvbihhKXsxMyE9YS5rZXlDb2RlfHx0aW55bWNlLnV0aWwuVksubW9kaWZpZXJQcmVzc2VkKGEpfHxnKCl9LCEwKSxhLm9uKCJrZXl1cCIsZnVuY3Rpb24oYSl7MzIhPWEua2V5Q29kZXx8dGlueW1jZS51dGlsLlZLLm1vZGlmaWVyUHJlc3NlZChhKXx8aCgpfSksdGhpcy5nZXRQYXR0ZXJucz1iLHRoaXMuc2V0UGF0dGVybnM9ZnVuY3Rpb24oYSl7aT1hLGo9ITB9fSk7]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/css/visualblocks.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lm1jZS12aXN1YWxibG9ja3MgcCB7CglwYWRkaW5nLXRvcDogMTBweDsKCWJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwoJbWFyZ2luLWxlZnQ6IDNweDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQ1FBSkFKRUFBQUFBQVAvLy83dTd1Ly8vL3lINUJBRUFBQU1BTEFBQUFBQUpBQWtBQUFJUW5HK0NxQ04vbWx5dnNSVXBUaEc2QWdBNyk7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGgxIHsKCXBhZGRpbmctdG9wOiAxMHB4OwoJYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CgltYXJnaW4tbGVmdDogM3B4OwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEUUFLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU5BQW9BQUFJWGpJOEd5Ykd1MUp1eEhvQWZSTlJXM1RXWHlGMllpUlVBT3c9PSk7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGgyIHsKCXBhZGRpbmctdG9wOiAxMHB4OwoJYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CgltYXJnaW4tbGVmdDogM3B4OwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4NG9PdXFnVHluSmQ2YkdsV2czRGtKem9hVUFBQU93PT0pOwp9CgoubWNlLXZpc3VhbGJsb2NrcyBoMyB7CglwYWRkaW5nLXRvcDogMTBweDsKCWJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwoJbWFyZ2luLWxlZnQ6IDNweDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSVpqSThIeWJieDRvT3VxZ1R5bkpmMkxuMk5PSHBRcG1oQUFRQTcpOwp9CgoubWNlLXZpc3VhbGJsb2NrcyBoNCB7CglwYWRkaW5nLXRvcDogMTBweDsKCWJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwoJbWFyZ2luLWxlZnQ6IDNweDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRGdBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFPQUFvQUFBSWFqSThIeWJieEluUjB6cWVBZGh0SmxYd1Yxb0NsbDJIYVdnQUFPdz09KTsKfQoKLm1jZS12aXN1YWxibG9ja3MgaDUgewoJcGFkZGluZy10b3A6IDEwcHg7Cglib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKCW1hcmdpbi1sZWZ0OiAzcHg7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBT0FBb0FBQUlhakk4SHliYnhJb2l1d2phbmU0aXE1R2xXMDVHZ0lrSVpVQUFBT3c9PSk7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGg2IHsKCXBhZGRpbmctdG9wOiAxMHB4OwoJYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CgltYXJnaW4tbGVmdDogM3B4OwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhEZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQU9BQW9BQUFJYWpJOEh5YmJ4SW9pdXdqYW4wNGplcDFpWjFYUmxBbzViVmdBQU93PT0pOwp9CgoubWNlLXZpc3VhbGJsb2NrcyBkaXY6bm90KFtkYXRhLW1jZS1ib2d1c10pIHsKCXBhZGRpbmctdG9wOiAxMHB4OwoJYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CgltYXJnaW4tbGVmdDogM3B4OwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhFZ0FLQUlBQkFMdTd1Ly8vL3lINUJBRUFBQUVBTEFBQUFBQVNBQW9BQUFJZmpJOXBvSTBjZ0R5d3JodXhmYnJ6REViUU0yRWk1YVJqbW95U1c0cEFBUUE3KTsKfQoKLm1jZS12aXN1YWxibG9ja3Mgc2VjdGlvbiB7CglwYWRkaW5nLXRvcDogMTBweDsKCWJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwoJbWFyZ2luOiAwIDAgMWVtIDNweDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoS0FBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFvQUFvQUFBSTVqSStweXdjTlkzc0JXSGROcnBseXREMmVsbERlU1ZicCtHbVdxYURxRE1lcGM4dDE3WTR2QnNLNWhEeUpNY0k2S2t1WVUranBqTG9LQURzPSk7Cn0KCi5tY2UtdmlzdWFsYmxvY2tzIGFydGljbGUgewoJcGFkZGluZy10b3A6IDEwcHg7Cglib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKCW1hcmdpbjogMCAwIDFlbSAzcHg7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEtnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBcUFBb0FBQUk2akkrcHl3a05ZM3dHMEdCdnJzZDJ0WEdZU0duZmlGN2lrcFhlbVRwT2lKU2Nhc1lvREpKcmpzRzlna0NKMGFnNktobWFJZTNwakRZQkJRQTcpOwp9CgoubWNlLXZpc3VhbGJsb2NrcyBibG9ja3F1b3RlIHsKCXBhZGRpbmctdG9wOiAxMHB4OwoJYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaFBnQUtBSUFCQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBK0FBb0FBQUpQakkrcHkrMEtucHoweFFEeXVVaHZmb0dnSVg1aVNLWllncTV1Tkw1cTY5YXNaOHM1cnJmMHlabXBOa0paekZlc0JUdThUT2xEVkFhYlV5YXRndVZoV2R1dWQzRXlpVWs0NXhoVFRnTUJCUUE3KTsKfQoKLm1jZS12aXN1YWxibG9ja3MgYWRkcmVzcyB7CglwYWRkaW5nLXRvcDogMTBweDsKCWJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwoJbWFyZ2luOiAwIDAgMWVtIDNweDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoTFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUF0QUFvQUFBSS9qSStweXd3Tm96U1AxZ0R5eVpjamIzVWFScFhrV2FYbVpXNE9xS0xoQm1McytLMjYzRGtKSzdPSmVpZmg3RmljS0Q5QTEvSXBHZEtreUZwTm1Da0FBRHM9KTsKfQoKLm1jZS12aXN1YWxibG9ja3MgcHJlIHsKCXBhZGRpbmctdG9wOiAxMHB4OwoJYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CgltYXJnaW4tbGVmdDogM3B4OwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhGUUFLQUlBQkFMdTd1d0FBQUNINUJBRUFBQUVBTEFBQUFBQVZBQW9BQUFJampJK1pvTjBjZ0R3U21ucHoxTkN1ZVlFUmhuaWJaVktMTm5iT3E4SXZLcEp0VlFBQU93PT0pOwp9CgoubWNlLXZpc3VhbGJsb2NrcyBmaWd1cmUgewoJcGFkZGluZy10b3A6IDEwcHg7Cglib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKCW1hcmdpbjogMCAwIDFlbSAzcHg7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEpBQUtBSUFBQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBa0FBb0FBQUkwakkrcHkrMmZ3QUhVU0Z2RDNSbHZHNEhJcDRuWDVKRlNwblpVSjZMbHJNNTJPRTd1U1dvc0JIU2Nna1NaajdkREtuV0FBZ0E3KTsKfQoKLm1jZS12aXN1YWxibG9ja3MgaGdyb3VwIHsKCXBhZGRpbmctdG9wOiAxMHB4OwoJYm9yZGVyOiAxcHggZGFzaGVkICNCQkI7CgltYXJnaW46IDAgMCAxZW0gM3B4OwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhKd0FLQUlBQkFMdTd1d0FBQUNINUJBRUFBQUVBTEFBQUFBQW5BQW9BQUFJM2pJK3B5d1lOSTN1QjBncHNSdHQ1ZkZuZk5aYVZTWUppbDRXbzAzSHY2WjYydU9DZ2lYSDFrWklJSjhOaUl4UnJBWk5NWkF0UUFBQTcpOwp9CgoubWNlLXZpc3VhbGJsb2NrcyBhc2lkZSB7CglwYWRkaW5nLXRvcDogMTBweDsKCWJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwoJbWFyZ2luOiAwIDAgMWVtIDNweDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoSGdBS0FJQUJBS3FxcXYvLy95SDVCQUVBQUFFQUxBQUFBQUFlQUFvQUFBSXRqSStwRzhBUGpaT1R6Z3RxeTdJM2YxeWVobVFjRlk0V0taYnFCeXV0bVc0YUhVZDZ2ZmNWYmd1ZGdwWUNBRHM9KTsKfQoKLm1jZS12aXN1YWxibG9ja3MgZmlnY2FwdGlvbiB7Cglib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKfQoKLm1jZS12aXN1YWxibG9ja3MgdWwgewoJcGFkZGluZy10b3A6IDEwcHg7Cglib3JkZXI6IDFweCBkYXNoZWQgI0JCQjsKCW1hcmdpbjogMCAwIDFlbSAzcHg7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaERRQUtBSUFBQUx1N3UvLy8veUg1QkFFQUFBRUFMQUFBQUFBTkFBb0FBQUlYakk4R3liR3VZbnFVVlNqdncyNkR6elhpcUlEbFZ3QUFPdz09KQp9CgoubWNlLXZpc3VhbGJsb2NrcyBvbCB7CglwYWRkaW5nLXRvcDogMTBweDsKCWJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwoJbWFyZ2luOiAwIDAgMWVtIDNweDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJINkhIdDBxb3VyeEM2Q3Z6WGllSHllV1FBQU93PT0pOwp9CgoubWNlLXZpc3VhbGJsb2NrcyBkbCB7CglwYWRkaW5nLXRvcDogMTBweDsKCWJvcmRlcjogMXB4IGRhc2hlZCAjQkJCOwoJbWFyZ2luOiAwIDAgMWVtIDNweDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRFFBS0FJQUJBTHU3dS8vLy95SDVCQUVBQUFFQUxBQUFBQUFOQUFvQUFBSVhqSThHeWJFT25tT3ZVb1d6blRxZXVFak5TQ3FlR1JVQU93PT0pOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualblocks/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgidmlzdWFsYmxvY2tzIixmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt2YXIgYj10aGlzO2IuYWN0aXZlKGYpLGEub24oIlZpc3VhbEJsb2NrcyIsZnVuY3Rpb24oKXtiLmFjdGl2ZShhLmRvbS5oYXNDbGFzcyhhLmdldEJvZHkoKSwibWNlLXZpc3VhbGJsb2NrcyIpKX0pfXZhciBkLGUsZjt3aW5kb3cuTm9kZUxpc3QmJihhLmFkZENvbW1hbmQoIm1jZVZpc3VhbEJsb2NrcyIsZnVuY3Rpb24oKXt2YXIgYyxnPWEuZG9tO2R8fChkPWcudW5pcXVlSWQoKSxjPWcuY3JlYXRlKCJsaW5rIix7aWQ6ZCxyZWw6InN0eWxlc2hlZXQiLGhyZWY6YisiL2Nzcy92aXN1YWxibG9ja3MuY3NzIn0pLGEuZ2V0RG9jKCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChjKSksYS5vbigiUHJldmlld0Zvcm1hdHMgQWZ0ZXJQcmV2aWV3Rm9ybWF0cyIsZnVuY3Rpb24oYil7ZiYmZy50b2dnbGVDbGFzcyhhLmdldEJvZHkoKSwibWNlLXZpc3VhbGJsb2NrcyIsImFmdGVycHJldmlld2Zvcm1hdHMiPT1iLnR5cGUpfSksZy50b2dnbGVDbGFzcyhhLmdldEJvZHkoKSwibWNlLXZpc3VhbGJsb2NrcyIpLGY9YS5kb20uaGFzQ2xhc3MoYS5nZXRCb2R5KCksIm1jZS12aXN1YWxibG9ja3MiKSxlJiZlLmFjdGl2ZShnLmhhc0NsYXNzKGEuZ2V0Qm9keSgpLCJtY2UtdmlzdWFsYmxvY2tzIikpLGEuZmlyZSgiVmlzdWFsQmxvY2tzIil9KSxhLmFkZEJ1dHRvbigidmlzdWFsYmxvY2tzIix7dGl0bGU6IlNob3cgYmxvY2tzIixjbWQ6Im1jZVZpc3VhbEJsb2NrcyIsb25Qb3N0UmVuZGVyOmN9KSxhLmFkZE1lbnVJdGVtKCJ2aXN1YWxibG9ja3MiLHt0ZXh0OiJTaG93IGJsb2NrcyIsY21kOiJtY2VWaXN1YWxCbG9ja3MiLG9uUG9zdFJlbmRlcjpjLHNlbGVjdGFibGU6ITAsY29udGV4dDoidmlldyIscHJlcGVuZFRvQ29udGV4dDohMH0pLGEub24oImluaXQiLGZ1bmN0aW9uKCl7YS5zZXR0aW5ncy52aXN1YWxibG9ja3NfZGVmYXVsdF9zdGF0ZSYmYS5leGVjQ29tbWFuZCgibWNlVmlzdWFsQmxvY2tzIiwhMSxudWxsLHtza2lwX2ZvY3VzOiEwfSl9KSxhLm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7YS5kb20ucmVtb3ZlQ2xhc3MoYS5nZXRCb2R5KCksIm1jZS12aXN1YWxibG9ja3MiKX0pKX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualchars/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualchars/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/visualchars/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgidmlzdWFsY2hhcnMiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYil7ZnVuY3Rpb24gYyhhKXtyZXR1cm4nPHNwYW4gZGF0YS1tY2UtYm9ndXM9IjEiIGNsYXNzPSJtY2UtJytuW2FdKyciPicrYSsiPC9zcGFuPiJ9ZnVuY3Rpb24gZigpe3ZhciBhLGI9IiI7Zm9yKGEgaW4gbiliKz1hO3JldHVybiBuZXcgUmVnRXhwKCJbIitiKyJdIiwiZyIpfWZ1bmN0aW9uIGcoKXt2YXIgYSxiPSIiO2ZvcihhIGluIG4pYiYmKGIrPSIsIiksYis9InNwYW4ubWNlLSIrblthXTtyZXR1cm4gYn12YXIgaCxpLGosayxsLG0sbixvLHA9YS5nZXRCb2R5KCkscT1hLnNlbGVjdGlvbjtpZihuPXsiXHhhMCI6Im5ic3AiLCJceGFkIjoic2h5In0sZD0hZCxlLnN0YXRlPWQsYS5maXJlKCJWaXN1YWxDaGFycyIse3N0YXRlOmR9KSxvPWYoKSxiJiYobT1xLmdldEJvb2ttYXJrKCkpLGQpZm9yKGk9W10sdGlueW1jZS53YWxrKHAsZnVuY3Rpb24oYSl7Mz09YS5ub2RlVHlwZSYmYS5ub2RlVmFsdWUmJm8udGVzdChhLm5vZGVWYWx1ZSkmJmkucHVzaChhKX0sImNoaWxkTm9kZXMiKSxqPTA7ajxpLmxlbmd0aDtqKyspe2ZvcihrPWlbal0ubm9kZVZhbHVlLGs9ay5yZXBsYWNlKG8sYyksbD1hLmRvbS5jcmVhdGUoImRpdiIsbnVsbCxrKTtoPWwubGFzdENoaWxkOylhLmRvbS5pbnNlcnRBZnRlcihoLGlbal0pO2EuZG9tLnJlbW92ZShpW2pdKX1lbHNlIGZvcihpPWEuZG9tLnNlbGVjdChnKCkscCksaj1pLmxlbmd0aC0xO2o+PTA7ai0tKWEuZG9tLnJlbW92ZShpW2pdLDEpO3EubW92ZVRvQm9va21hcmsobSl9ZnVuY3Rpb24gYygpe3ZhciBiPXRoaXM7YS5vbigiVmlzdWFsQ2hhcnMiLGZ1bmN0aW9uKGEpe2IuYWN0aXZlKGEuc3RhdGUpfSl9dmFyIGQsZT10aGlzO2EuYWRkQ29tbWFuZCgibWNlVmlzdWFsQ2hhcnMiLGIpLGEuYWRkQnV0dG9uKCJ2aXN1YWxjaGFycyIse3RpdGxlOiJTaG93IGludmlzaWJsZSBjaGFyYWN0ZXJzIixjbWQ6Im1jZVZpc3VhbENoYXJzIixvblBvc3RSZW5kZXI6Y30pLGEuYWRkTWVudUl0ZW0oInZpc3VhbGNoYXJzIix7dGV4dDoiU2hvdyBpbnZpc2libGUgY2hhcmFjdGVycyIsY21kOiJtY2VWaXN1YWxDaGFycyIsb25Qb3N0UmVuZGVyOmMsc2VsZWN0YWJsZTohMCxjb250ZXh0OiJ2aWV3IixwcmVwZW5kVG9Db250ZXh0OiEwfSksYS5vbigiYmVmb3JlZ2V0Y29udGVudCIsZnVuY3Rpb24oYSl7ZCYmInJhdyIhPWEuZm9ybWF0JiYhYS5kcmFmdCYmKGQ9ITAsYighMSkpfSl9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/wordcount/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/wordcount/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/plugins/wordcount/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgid29yZGNvdW50IixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7YS50aGVtZS5wYW5lbC5maW5kKCIjd29yZGNvdW50IikudGV4dChbIldvcmRzOiB7MH0iLGUuZ2V0Q291bnQoKV0pfXZhciBjLGQsZT10aGlzO2M9YS5nZXRQYXJhbSgid29yZGNvdW50X2NvdW50cmVnZXgiLC9bXHdcdTIwMTlceDI3XC1cdTAwQzAtXHUxRkZGXSsvZyksZD1hLmdldFBhcmFtKCJ3b3JkY291bnRfY2xlYW5yZWdleCIsL1swLTkuKCksOzohPyUjJD9ceDI3XHgyMl8rPVxcXC9cLV0qL2cpLGEub24oImluaXQiLGZ1bmN0aW9uKCl7dmFyIGM9YS50aGVtZS5wYW5lbCYmYS50aGVtZS5wYW5lbC5maW5kKCIjc3RhdHVzYmFyIilbMF07YyYmdGlueW1jZS51dGlsLkRlbGF5LnNldEVkaXRvclRpbWVvdXQoYSxmdW5jdGlvbigpe2MuaW5zZXJ0KHt0eXBlOiJsYWJlbCIsbmFtZToid29yZGNvdW50Iix0ZXh0OlsiV29yZHM6IHswfSIsZS5nZXRDb3VudCgpXSxjbGFzc2VzOiJ3b3JkY291bnQiLGRpc2FibGVkOmEuc2V0dGluZ3MucmVhZG9ubHl9LDApLGEub24oInNldGNvbnRlbnQgYmVmb3JlYWRkdW5kbyIsYiksYS5vbigia2V5dXAiLGZ1bmN0aW9uKGEpezMyPT1hLmtleUNvZGUmJmIoKX0pfSwwKX0pLGUuZ2V0Q291bnQ9ZnVuY3Rpb24oKXt2YXIgYj1hLmdldENvbnRlbnQoe2Zvcm1hdDoicmF3In0pLGU9MDtpZihiKXtiPWIucmVwbGFjZSgvXC5cLlwuL2csIiAiKSxiPWIucmVwbGFjZSgvPC5bXjw+XSo/Pi9nLCIgIikucmVwbGFjZSgvJm5ic3A7fCYjMTYwOy9naSwiICIpLGI9Yi5yZXBsYWNlKC8oXHcrKSgmIz9bYS16MC05XSs7KSsoXHcrKS9pLCIkMSQzIikucmVwbGFjZSgvJi4rPzsvZywiICIpLGI9Yi5yZXBsYWNlKGQsIiIpO3ZhciBmPWIubWF0Y2goYyk7ZiYmKGU9Zi5sZW5ndGgpfXJldHVybiBlfX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/content.inline.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lm1jZS1jb250ZW50LWJvZHkgLm1jZS1yZXNldHttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowO3ZlcnRpY2FsLWFsaWduOnRvcDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmJsYWNrO2ZvbnQtZmFtaWx5OkFyaWFsO2ZvbnQtc2l6ZToxMXB4O3RleHQtc2hhZG93Om5vbmU7ZmxvYXQ6bm9uZTtwb3NpdGlvbjpzdGF0aWM7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7Y3Vyc29yOmluaGVyaXQ7bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmxlZnQ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXJlY3Rpb246bHRyO21heC13aWR0aDpub25lfS5tY2Utb2JqZWN0e2JvcmRlcjoxcHggZG90dGVkICMzYTNhM2E7YmFja2dyb3VuZDojZDVkNWQ1IHVybChpbWcvb2JqZWN0LmdpZikgbm8tcmVwZWF0IGNlbnRlcn0ubWNlLXByZXZpZXctb2JqZWN0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowIDJweCAwIDJweDtsaW5lLWhlaWdodDowO2JvcmRlcjoxcHggc29saWQgZ3JheX0ubWNlLXByZXZpZXctb2JqZWN0IC5tY2Utc2hpbXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcpfWZpZ3VyZS5hbGlnbi1sZWZ0e2Zsb2F0OmxlZnR9ZmlndXJlLmFsaWduLXJpZ2h0e2Zsb2F0OnJpZ2h0fWZpZ3VyZS5pbWFnZS5hbGlnbi1jZW50ZXJ7ZGlzcGxheTp0YWJsZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfWZpZ3VyZS5pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6MXB4IHNvbGlkIGdyYXk7bWFyZ2luOjAgMnB4IDAgMXB4O2JhY2tncm91bmQ6I2Y1ZjJmMH1maWd1cmUuaW1hZ2UgaW1ne21hcmdpbjo4cHggOHB4IDAgOHB4fWZpZ3VyZS5pbWFnZSBmaWdjYXB0aW9ue21hcmdpbjo2cHggOHB4IDZweCA4cHg7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1jZS1wcmV2aWV3LW9iamVjdFtkYXRhLW1jZS1zZWxlY3RlZD0iMiJdIC5tY2Utc2hpbXtkaXNwbGF5Om5vbmV9Lm1jZS1wYWdlYnJlYWt7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpibG9jaztib3JkZXI6MDt3aWR0aDoxMDAlO2hlaWdodDo1cHg7Ym9yZGVyOjFweCBkYXNoZWQgIzY2NjttYXJnaW4tdG9wOjE1cHg7cGFnZS1icmVhay1iZWZvcmU6YWx3YXlzfUBtZWRpYSBwcmludHsubWNlLXBhZ2VicmVha3tib3JkZXI6MH19Lm1jZS1pdGVtLWFuY2hvcntjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXVzZXItc2VsZWN0OmFsbDstd2Via2l0LXVzZXItbW9kaWZ5OnJlYWQtb25seTstbW96LXVzZXItc2VsZWN0OmFsbDstbW96LXVzZXItbW9kaWZ5OnJlYWQtb25seTt1c2VyLXNlbGVjdDphbGw7dXNlci1tb2RpZnk6cmVhZC1vbmx5O3dpZHRoOjlweCAhaW1wb3J0YW50O2hlaWdodDo5cHggIWltcG9ydGFudDtib3JkZXI6MXB4IGRvdHRlZCAjM2EzYTNhO2JhY2tncm91bmQ6I2Q1ZDVkNSB1cmwoaW1nL2FuY2hvci5naWYpIG5vLXJlcGVhdCBjZW50ZXJ9Lm1jZS1uYnNwLC5tY2Utc2h5e2JhY2tncm91bmQ6I2FhYX0ubWNlLXNoeTo6YWZ0ZXJ7Y29udGVudDonLSd9aHJ7Y3Vyc29yOmRlZmF1bHR9Lm1jZS1tYXRjaC1tYXJrZXJ7YmFja2dyb3VuZDojYWFhO2NvbG9yOiNmZmZ9Lm1jZS1tYXRjaC1tYXJrZXItc2VsZWN0ZWR7YmFja2dyb3VuZDojMzlmO2NvbG9yOiNmZmZ9Lm1jZS1zcGVsbGNoZWNrZXItd29yZHtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZjAwO2N1cnNvcjpkZWZhdWx0fS5tY2Utc3BlbGxjaGVja2VyLWdyYW1tYXJ7Ym9yZGVyLWJvdHRvbToycHggc29saWQgIzAwODAwMDtjdXJzb3I6ZGVmYXVsdH0ubWNlLWl0ZW0tdGFibGUsLm1jZS1pdGVtLXRhYmxlIHRkLC5tY2UtaXRlbS10YWJsZSB0aCwubWNlLWl0ZW0tdGFibGUgY2FwdGlvbntib3JkZXI6MXB4IGRhc2hlZCAjYmJifXRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF17YmFja2dyb3VuZC1jb2xvcjojMzlmICFpbXBvcnRhbnR9Lm1jZS1lZGl0LWZvY3Vze291dGxpbmU6MXB4IGRvdHRlZCAjMzMzfS5tY2UtY29udGVudC1ib2R5ICpbY29udGVudEVkaXRhYmxlPWZhbHNlXSAqW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCAjMmQ4YWM3fS5tY2UtY29udGVudC1ib2R5ICpbY29udGVudEVkaXRhYmxlPWZhbHNlXSAqW2NvbnRlbnRFZGl0YWJsZT10cnVlXTpob3ZlcntvdXRsaW5lOjJweCBzb2xpZCAjN2FjYWZmfS5tY2UtY29udGVudC1ib2R5ICpbY29udGVudEVkaXRhYmxlPWZhbHNlXVtkYXRhLW1jZS1zZWxlY3RlZF17b3V0bGluZToycHggc29saWQgIzJkOGFjN30ubWNlLXJlc2l6ZS1iYXItZHJhZ2dpbmd7YmFja2dyb3VuZC1jb2xvcjpibHVlO29wYWNpdHk6LjI1O2ZpbHRlcjphbHBoYShvcGFjaXR5PTI1KTt6b29tOjF9]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/content.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ym9keXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAwMDtmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMXB4O3Njcm9sbGJhci0zZGxpZ2h0LWNvbG9yOiNmMGYwZWU7c2Nyb2xsYmFyLWFycm93LWNvbG9yOiM2NzY2NjI7c2Nyb2xsYmFyLWJhc2UtY29sb3I6I2YwZjBlZTtzY3JvbGxiYXItZGFya3NoYWRvdy1jb2xvcjojZGRkO3Njcm9sbGJhci1mYWNlLWNvbG9yOiNlMGUwZGQ7c2Nyb2xsYmFyLWhpZ2hsaWdodC1jb2xvcjojZjBmMGVlO3Njcm9sbGJhci1zaGFkb3ctY29sb3I6I2YwZjBlZTtzY3JvbGxiYXItdHJhY2stY29sb3I6I2Y1ZjVmNX10ZCx0aHtmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMXB4fS5tY2UtY29udGVudC1ib2R5IC5tY2UtcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjpibGFjaztmb250LWZhbWlseTpBcmlhbDtmb250LXNpemU6MTFweDt0ZXh0LXNoYWRvdzpub25lO2Zsb2F0Om5vbmU7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjppbmhlcml0O2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7dGV4dC1hbGlnbjpsZWZ0Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6bm9uZX0ubWNlLW9iamVjdHtib3JkZXI6MXB4IGRvdHRlZCAjM2EzYTNhO2JhY2tncm91bmQ6I2Q1ZDVkNSB1cmwoaW1nL29iamVjdC5naWYpIG5vLXJlcGVhdCBjZW50ZXJ9Lm1jZS1wcmV2aWV3LW9iamVjdHtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MCAycHggMCAycHg7bGluZS1oZWlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkIGdyYXl9Lm1jZS1wcmV2aWV3LW9iamVjdCAubWNlLXNoaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3KX1maWd1cmUuYWxpZ24tbGVmdHtmbG9hdDpsZWZ0fWZpZ3VyZS5hbGlnbi1yaWdodHtmbG9hdDpyaWdodH1maWd1cmUuaW1hZ2UuYWxpZ24tY2VudGVye2Rpc3BsYXk6dGFibGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b31maWd1cmUuaW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOjFweCBzb2xpZCBncmF5O21hcmdpbjowIDJweCAwIDFweDtiYWNrZ3JvdW5kOiNmNWYyZjB9ZmlndXJlLmltYWdlIGltZ3ttYXJnaW46OHB4IDhweCAwIDhweH1maWd1cmUuaW1hZ2UgZmlnY2FwdGlvbnttYXJnaW46NnB4IDhweCA2cHggOHB4O3RleHQtYWxpZ246Y2VudGVyfS5tY2UtcHJldmlldy1vYmplY3RbZGF0YS1tY2Utc2VsZWN0ZWQ9IjIiXSAubWNlLXNoaW17ZGlzcGxheTpub25lfS5tY2UtcGFnZWJyZWFre2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjA7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2JvcmRlcjoxcHggZGFzaGVkICM2NjY7bWFyZ2luLXRvcDoxNXB4O3BhZ2UtYnJlYWstYmVmb3JlOmFsd2F5c31AbWVkaWEgcHJpbnR7Lm1jZS1wYWdlYnJlYWt7Ym9yZGVyOjB9fS5tY2UtaXRlbS1hbmNob3J7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7LXdlYmtpdC11c2VyLXNlbGVjdDphbGw7LXdlYmtpdC11c2VyLW1vZGlmeTpyZWFkLW9ubHk7LW1vei11c2VyLXNlbGVjdDphbGw7LW1vei11c2VyLW1vZGlmeTpyZWFkLW9ubHk7dXNlci1zZWxlY3Q6YWxsO3VzZXItbW9kaWZ5OnJlYWQtb25seTt3aWR0aDo5cHggIWltcG9ydGFudDtoZWlnaHQ6OXB4ICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBkb3R0ZWQgIzNhM2EzYTtiYWNrZ3JvdW5kOiNkNWQ1ZDUgdXJsKGltZy9hbmNob3IuZ2lmKSBuby1yZXBlYXQgY2VudGVyfS5tY2UtbmJzcCwubWNlLXNoeXtiYWNrZ3JvdW5kOiNhYWF9Lm1jZS1zaHk6OmFmdGVye2NvbnRlbnQ6Jy0nfWhye2N1cnNvcjpkZWZhdWx0fS5tY2UtbWF0Y2gtbWFya2Vye2JhY2tncm91bmQ6I2FhYTtjb2xvcjojZmZmfS5tY2UtbWF0Y2gtbWFya2VyLXNlbGVjdGVke2JhY2tncm91bmQ6IzM5Zjtjb2xvcjojZmZmfS5tY2Utc3BlbGxjaGVja2VyLXdvcmR7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2YwMDtjdXJzb3I6ZGVmYXVsdH0ubWNlLXNwZWxsY2hlY2tlci1ncmFtbWFye2JvcmRlci1ib3R0b206MnB4IHNvbGlkICMwMDgwMDA7Y3Vyc29yOmRlZmF1bHR9Lm1jZS1pdGVtLXRhYmxlLC5tY2UtaXRlbS10YWJsZSB0ZCwubWNlLWl0ZW0tdGFibGUgdGgsLm1jZS1pdGVtLXRhYmxlIGNhcHRpb257Ym9yZGVyOjFweCBkYXNoZWQgI2JiYn10ZFtkYXRhLW1jZS1zZWxlY3RlZF0sdGhbZGF0YS1tY2Utc2VsZWN0ZWRde2JhY2tncm91bmQtY29sb3I6IzM5ZiAhaW1wb3J0YW50fS5tY2UtZWRpdC1mb2N1c3tvdXRsaW5lOjFweCBkb3R0ZWQgIzMzM30ubWNlLWNvbnRlbnQtYm9keSAqW2NvbnRlbnRFZGl0YWJsZT1mYWxzZV0gKltjb250ZW50RWRpdGFibGU9dHJ1ZV06Zm9jdXN7b3V0bGluZToycHggc29saWQgIzJkOGFjN30ubWNlLWNvbnRlbnQtYm9keSAqW2NvbnRlbnRFZGl0YWJsZT1mYWxzZV0gKltjb250ZW50RWRpdGFibGU9dHJ1ZV06aG92ZXJ7b3V0bGluZToycHggc29saWQgIzdhY2FmZn0ubWNlLWNvbnRlbnQtYm9keSAqW2NvbnRlbnRFZGl0YWJsZT1mYWxzZV1bZGF0YS1tY2Utc2VsZWN0ZWRde291dGxpbmU6MnB4IHNvbGlkICMyZDhhYzd9Lm1jZS1yZXNpemUtYmFyLWRyYWdnaW5ne2JhY2tncm91bmQtY29sb3I6Ymx1ZTtvcGFjaXR5Oi4yNTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0yNSk7em9vbToxfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-small.eot</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[FCUAAFgkAAABAAIAAAAAAAAAAAAAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAv0OCEAAAAAAAAAAAAAAAAAAAAAAAABoAdABpAG4AeQBtAGMAZQAtAHMAbQBhAGwAbAAAAA4AUgBlAGcAdQBsAGEAcgAAABYAVgBlAHIAcwBpAG8AbgAgADEALgAwAAAAGgB0AGkAbgB5AG0AYwBlAC0AcwBtAGEAbABsAAAAAAAAAQAAAAsAgAADADBPUy8yDxIDJAAAALwAAABgY21hcMatwYQAAAEcAAAAbGdhc3AAAAAQAAABiAAAAAhnbHlmCUcewQAAAZAAAB8EaGVhZAdnwHsAACCUAAAANmhoZWEHqwPyAAAgzAAAACRobXR42gISmwAAIPAAAADkbG9jYdAk2FoAACHUAAAAdG1heHAASQDQAAAiSAAAACBuYW1l/kzcgQAAImgAAAHOcG9zdAADAAAAACQ4AAAAIAADA/cBkAAFAAACmQLMAAAAjwKZAswAAAHrADMBCQAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAOYDA8D/wABAA8AAQAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAMAAAAcAAMAAQAAABwABABQAAAAEAAQAAMAAAABACDgKOAy4DXmA//9//8AAAAAACDgAOAq4DTmA//9//8AAf/jIAQgAyACGjUAAwABAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAQAQAAAA8ADgAAOABMAHgA3AAAlESchIgYVERQWMyEyNjUBMxUjNRMhETgBMSE4ATERMyMRNCYjISIGFREjETMVFBYzITI2PQEXEQPA4P2wIS8vIQLgIS/+gEBAgP6AAYCAQCYa/oAaJkBAJhoBQBomgFACUOAvIf0gIS8vIQKwwMD9gAEA/wABABomJhr/AAKAwBomJhqrgP4VAAMAgAAAA4ADgAAUAB4ALgAAAScuASMhIgYVERQWMyEyNjURNCYnBx4BFyM1HgEfARMhOAExETgBMSERIRE4ATEDU4YSQRr+YBomJhoCgBomGxIuBgoDuAoRBYUb/YABgAEAAs2GEhsmGv0AGiYmGgIgGkESLQURCrgDCgaF/aADAP8A/gAAAAACAAD/wAQAA8AAMAA5AAABNScuASc3JwcuAS8BIwcOAQcnBxcOAQ8BFRceARcHFzceAR8BMzc+ATcXNyc+AT8BJQcjJzU3MxcVBACfBhILaHGAEysXEKAQFysTgHFoCxIGn58GEgtocYATKxcQoBAXKxOAcWgLEgaf/sCAgICAgIABcKAQFysTgHFoCxIGn58GEgtocYATKxcQoBAXKxOAcWgLEgafnwYSC2hxgBMrFxAQgICAgICAAAAAAAQAQABAA8ADAAADAAcACwAPAAATIRUhESEVIREhFSERIRUhQAOA/IADgPyAAkD9wAJA/cADAID/AIABQID/AIAAAAAABABAAEADwAMAAAMABwALAA8AABMhFSERIRUhEyEVIREhFSFAA4D8gAOA/IDAAgD+AAIA/gADAID/AIABQID/AIAAAAAEAEAAQAPAAwAAAwAHAAsADwAAEyEVIREhFSEBIRUhESEVIUADgPyAA4D8gAFAAkD9wAJA/cADAID/AIABQID/AIAAAAQAQABAA8ADAAADAAcACwAPAAATIRUhESEVIREhFSERIRUhQAOA/IADgPyAA4D8gAOA/IADAID/AIABQID/AIAAAAAABACJACkDdwNgACoAQABNAGMAAAEuAQcnNzA+ASYnCQEOAR4BMRcHJgYHDgEXFjY3PgEnNxcGFhceATc2JicFDgEHDgEjIiYnJjY3PgEzMhYXHgEHNyImNTQ2MzIWFRQGIwUOASMiJicuAScmNjc+ATMyFhceAQcDYCJWKT/AJBgMMP7A/sAwDBgkwD8pViI5DS8vkjgjIAQ/PwQgIziSLy8NOf4BAhIPESkTCBQIEAgeESkUCBQICQQBnxslJRsbJSUbATMIFAgTKREPEgIBBAkIFAgUKREeCBABIiMgBD/ALEhcMP7AAUAwXEgswD8EICM4ki8vDTkiVik/PylWIjkNLy+SOFkSJBAQEwUIEEMeERIECAoaCJclGxslJRsbJfMIBRMQECQSCBoKCAQSER5DEAAFAEAAAAOAA4AAHAAnACwAMAA3AAABNTQmKwE1NCYrASIGHQEjIgYVERQWOwEVITcRIwE4ATEzOAExFSM1BzUhFSEBNTMHNyMVIREhEQLAEw2gJhqAGiagDRMTDeABgMDA/oCAgIABgP6AAgBlZYDA/wABwAJAoA0TQBomJhpAEw3+AA0TwMABgAEAQEDAQED922VlpcABwP8AAAAEAEAAAAPAA4AAKgA5AEgAVwAAASMRMzUhFTMRIREzNSEVMxEjIgYVERQWOwEyNjURMxEUFjsBMjY1ETQmIwEjIiY1NDY7ATIWFRQGIxMjIiY1NDY7ATIWFRQGIwEjIiY1NDY7ATIWFRQGIwN4OED+wED/AED+wEA4HioqHvAeKoAqHvAeKioe/eS4DxUVD7gPFRUPxEANExMNQA0TEw0BPLgPFRUPuA8VFQ8CQAEAQED/AAEAQED/ACoe/lAeKioeATj+yB4qKh4BsB4q/gATDQ0TEw0NEwGAEw0NExMNDRP+gBMNDRMTDQ0TAAYAgABAA8ADQAADAAcACwAYACUAMgAAASEVIRUhFSEVIRUhARQWMzI2NTQmIyIGFREUFjMyNjU0JiMiBhURFBYzMjY1NCYjIgYVAYACQP3AAkD9wAJA/cD/ACUbGyUlGxslJRsbJSUbGyUlGxslJRsbJQNAgMCAwIACwBslJRsbJSUb/sAbJSUbGyUlG/7AGyUlGxslJRsABACAAAADwAOAAAMABwALACUAAAEhFSEVIRUhFSEVIQM1IxEjFTMRIxUzFQcVMxUjFTMVIxUzESM1AYACQP3AAkD9wAJA/cBAQIBAQICAgICAgMCAA0CAwIDAgAFukgFAQP8AQDI8kkBAQEABQDIAAAUAQABAA8ADAAADAAcACwAPABIAABMhFSEBIRUhESEVIQEhFSERFwdAA4D8gAFAAkD9wAJA/cD+wAOA/IDg4AMAgP8AgAFAgP8AgAIAoKAABQBAAEADwAMAAAMABwALAA8AEgAAEyEVIREhFSERIRUhESEVIQEHF0ADgPyAAkD9wAJA/cADgPyAA4Dg4AMAgP8AgAFAgP8AgAIAoKAAAAACAEAAgAPAAwAAHwA/AAABMh4CFRQOAiMiLgI1JzQ+AjMVIgYHDgEHPgEzITIeAhUUDgIjIi4CNSc0PgIzFSIGBw4BBz4BMwEAKEY0Hh40RignRjQeATxojE83ZCYIDQcIDwcCAChGNB4eNEYoJ0Y0HgE8aIxPN2QmCA0HCA8HAhcgN0oqK0o3ICA3SisdVJRvQHQsKggQCQEBIDdKKitKNyAgN0orHVSUb0B0LCoIEAkBAQABAHAAAALAA4AADgAAJT4BLgEHFQkBFTYeAQYHAsAWJCKFk/6wAVCwzD9PbABLoIRTBN4BUAFQ2QR5xPZ4AAAAAQFAAAADkAOAAA4AAAE1CQE1Jg4BFhcuAT4BFwJAAVD+sJOFIiQWbE8/zLACp9n+sP6w3gRThKBLePbEeQQAAAMAQAAAA58DgAAwAG0AfwAAAScuASMiBg8BBhQfATcnJjQ/AT4BMzIWHwEWFA8BDgEjIiYvAQcXHgEzMjY/ATY0JwEHFx4BFRQGDwEOASMiJi8BLgE1NDY/AT4BMzIWHwE3Jy4BIyIGDwEOARUUFh8BHgEzMjY/AT4BNTQmLwEHIiYnJjQ3ATYyFxYUBwEOASMDn4UQKRYXKRClISEDRAMFBaUDBwIBBwOFBQWlAwcBAgcDAkQCECkXFikQpSEh/ohEAwMCAgOlAwcCAQcDhQMCAgOlAwcBAgcDAkQCECkXFikQpRARERCFECkWFykQpRARERADxwcOBgsLAUALIAsLC/7ABg4HAtqFEBEREKUhXSECRAIFDQWlAwICA4UFDQWlAwICAwNEAxARERClIV0h/o1EAgMHAgEHA6UDAgIDhQMHAQIHA6UDAgIDA0QDEBEREKUQKRcWKRCFEBEREKUQKRYXKRACbQYFCyALAUALCwsgC/7ABQYAAAAACABAAAADwAOAADAAbQB/AI4AnQCvAL4AzQAAAScuASMiBg8BBhQfATcnJjQ/AT4BMzIWHwEWFA8BDgEjIiYvAQcXHgEzMjY/ATY0JwEHFx4BFRQGDwEOASMiJi8BLgE1NDY/AT4BMzIWHwE3Jy4BIyIGDwEOARUUFh8BHgEzMjY/AT4BNTQmLwEXIiYvASY0NzYyHwEWFAcOASMHIiY9ATQ2MzIWHQEUBiMBIyImNTQ2OwEyFhUUBiMBMhYfARYUBwYiLwEmNDc+ATM3MhYdARQGIyImPQE0NjMBMzIWFRQGKwEiJjU0NjMDn4UQKRYXKRClISEDRAMFBaUDBwIBBwOFBQWlAwcBAgcDAkQCECkXFikQpSEh/ohEAwMCAgOlAwcCAQcDhQMCAgOlAwcBAgcDAkQCECkXFikQpRARERCFECkWFykQpRARERAD+QcOBoALCwsgC4ALCwYOB8ANExMNDRMTDQFAgA0TEw2ADRMTDf1ABw4GgAsLCyALgAsLBg4HwA0TEw0NExMN/sCADRMTDYANExMNAtqFEBEREKUhXSECRAIFDQWlAwICA4UFDQWlAwICAwNEAxARERClIV0h/o1EAgMHAgEHA6UDAgIDhQMHAQIHA6UDAgIDA0QDEBEREKUQKRcWKRCFEBEREKUQKRYXKRAC7QYFgAsgCwsLgAsgCwUGehMNgA0TEw2ADRMBQBMNDRMTDQ0TAcYGBYALIAsLC4ALIAsFBnoTDYANExMNgA0T/sATDQ0TEw0NEwAAAAIBAAAAAwADgAAFAAsAAAERCQERIQEnBxEhEQEAAQABAP4AAcDAwAGAA4D8gAEA/wADgP0rwMAClf1rAAMAQABAA8ADQAAQACQAMQAAASEiBhURFBYzITI2NRE0JiMROAExAwcLATgBMRE4ATEhOAExEQEUFjMyNjU0JiMiBhUDgP0AGiYmGgMAGiYmGsCg4MADAP8AOCgoODgoKDgDQCYa/YAaJiYaAoAaJv1AAUCAASD+IAKA/YAB4Cg4OCgoODgoAAAJAEAAQAPAA0AAEAAVABoAHwAkACkALgAzADYAAAEhIgYVERQWMyEyNjURNCYjASM1MxURIzUzFREjNTMVASERIREzIzUzFREjNTMVESM1MxUhESUDgP0AGiYmGgMAGiYmGv2AgICAgICAAcD+gAGAwICAgICAgP4AASADQCYa/YAaJiYaAoAaJv1AgIABAICAAQCAgP4AAoD9gICAAQCAgAEAgID+gMAAAAAAAwBAAAADwAOAAAQAEQA6AAABMxUjNQEyFh0BByM1NzUhNSEnIg4CBw4DFRQeAhceAzMyPgI3PgM1NC4CJy4DIwHAgIABABsl5FzA/sABgMAtVlFJICAwIhERIjAgIElRVi0tVlFJICAwIhERIjAgIElRVi0BAICAAcAlG6aaQIBAgMARIjAgIElRVi0tVlFJICAwIhERIjAgIElRVi0tVlFJICAwIhEAAgBgAMADoALAAAUACwAAASc3JwkBAQcXBxcBAaDAwED/AAEAAUBAwMBAAQABAMDAQP8A/wACAEDAwEABAAAAAAUATgAAA7IDZgAKABUAKQA+AFMAABMXPgE3Jw4DByUHHgEXNy4DJwMiJi8BNTQ2MzIWHQEXHgEHDgEjAyIOAhUUHgIzMj4CNTQuAiMRIi4CNTQ+AjMyHgIVFA4CI05RJnJFHitORTsXAlQeRXImURc7RU4rQgQHA5ITDQ0TbgwJBgUPCWBQi2k8PGmLUFCLaTw8aYtQPGlOLS1OaTw8aU4tLU5pPAKPMz1bF1sOKzZCJtdbF1s9MyZCNisO/ZoCAUnUDRMTDaw3BhkMCQkCADxpi1BQi2k8PGmLUFCLaTz9YC1OaTw8aU4tLU5pPDxpTi0AAAAEAEAAgAPAAxYAHgAzAEAAZQAAEz4BNz4BMzIWFx4BFzUuAScuAyMiDgIHDgEHFSUiDgIHHgMzMj4CNy4DIxUUBiMiJjU0NjMyFhUXDgEjIiYnLgEnPgE3PgE3DgEVFBYzMjY1NCYnHgEXHgEXDgEHQCJNKkSWTU2WRCpNIhk0HCdUVlktLVlWVCccNBkBwEWAc2ImJmJzgEVFgHNiJiZic4BFJRsbJSUbGyXYM2w5OWwzJ0YdHUYnChQKCAhwUFBwCAgKFAonRh0dRicB+CY/GCgpKSgYPyZ2FSUQFyMYDAwYIxcQJRV2iCRDXzo6X0MkJENfOjpfQyTAGyUlGxslJRu5HR4eHRc9JSU9FwULBRInFVBwcFAVJxIFCwUXPSUlPRcAAgDkAMADHAMAABEAHAAAAS4BKwEiBgc4ATEDMzczFzMDBzc+ATEwFhcxFyMCixIeO0A8HROQcTriOnGR1icHHR0HJ5YCpD4eIED+IMDAAeSkiBkFBRmIAAoAQABAA8ADAAAEAAkADgATABgAHQAiACcALAAxAAATESERIQE1IRUhBRUhNSERFSE1ISEVIzUzBzMVIzUhMxUjNT0BMxUjATMVIzUFNTMVI0ADgPyAAUABAP8AAQD/AAEA/wABAP7AwMDAwMACQMDAwMD9wMDAAkDAwAMA/UACwP5AgIBAgIABgICAgIDAgICAgECAgP8AgICAgIAAAAABAEABgAPAAgAAAwAAEyEVIUADgPyAAgCAAAAAAwBAAEAD4AOAAAQADQAaAAA3IRUhNQEjAyMTIzUhFRMnByc3JzcXNxcHFwdAAgD+AALA3beFuN8CQKKCgj6Cgj6Cgj6Cgj7AgIACQP4AAgCAgP1AgoI+goI+goI+goI+AAAAAAIAHP/AA4ACwAALABcAACUVMxUjNTc1IzUzFQMjBycjCQEzNxczAQMAgMCAgMDciLy8iAEA/wCIvLyI/wAyMkCSPDJAkgJSvLz/AP8AvLwBAAAAAAIAHADAA4ADwAALABcAAAEVMxUjNTc1IzUzFQcjBycjCQEzNxczAQMAgMCAgMDciLy8iAEA/wCIvLyI/wAC8jJAkjwyQJJuvLz/AP8AvLwBAAAAAAEAQAAAA8ADgAA0AAAlNT4DNTQuAiMiDgIVFB4CFxUjJxUhNS4DNTQ+AjMyHgIVFA4CBxUhNQcjAsA5XkQlRnqjXV2jekYlRF45wEABQCY/LRkvUW0+Pm1RLxktPyYBQEDAgCUXR1pqOVCLaTw8aYtQOWpaRxclYODfEztLWDBCdVcyMld1QjBYSzsT3+BgAAUAQAAAA8ADgAAYAC4AOwBIAFkAAAEyFhceARUUBgcOASMiJicuATU0Njc+ATM1Ig4CFRQeAjMyPgI1NC4CIzEDFBYzMjY1NCYjIgYVIRQWMzI2NTQmIyIGFQMiJiceAzMyPgI3DgEjAgBLhzU1ODg1NYdLS4c1NTg4NTWHS12jekZGeqNdXaN6RkZ6o13AJRsbJSUbGyUBACUbGyUlGxslQEyDLAktQ1MvL1NDLQksg0wDNDg1NYdLS4c1NTg4NTWHS0uHNTU4TEZ6o11do3pGRnqjXV2jekb+wBslJRsbJSUbGyUlGxslJRv+8DMrLEs4Hx84SywrMwAAAAQAQABAA8ADQAAEABkAHgArAAABIRUhNQUhIgYVERQWOwEVITUzMjY1ETQmIwMhESERExQGIyImNTQ2MzIWFQEAAgD+AAKA/QAaJiYagAIAgBomJhrA/oABgM4bExMbGxMTGwNAgIDAJhr/ABomwMAmGgEAGib+AAEA/wABoBMbGxMTGxsTAAAEAEAAAAPAA4AABgANABQAGwAAASc3IRE3FyE3FxEhFwcRFwchEQcnIQcnESEnNwHgwID+oIDAAQDAgP6ggMDAgAFggMD/AMCAAWCAwAJAwID+oIDAwIABYIDA/wDAgAFggMDAgP6ggMAAAAAGAEAAAAPAA4AAEwAiACcAOQA+AEMAAAE1IyIGFREUFhcBJwcTATM1IxEzATMRNCYrASIGFREzNTMVAzUzFSMFNTQmIzI2PQE0JisBETMyNjUDMxUjNRUzFSM1A8DAGiYIB/7RjlLgAaCAwMD9QEAmGoAaJkCAgICAAgASGhoSJhrAwBomwICAgIADQEAmGv7ADBUJ/vyURv7gAcBAAUD+gAGAGiYmGv6AwMABAICAwGAaJiYaYBom/kAmGgFAgIDAgIAAAgBAAEADwALAAAwAFQAAASM1MzUzFTMVIxUjNQURIREzFSE1MwHAgICAgICAAgD8gIACgIABwICAgICAgED+wAFAwMAAAAAADgBAAAADwAOAAAMABwALABEAFQAZAB0AIwApAC4AMwA5AD0AQQAAATMVIxEzFSMTMxUjNxUjFTMRITMVIwczFSMRMxUjAxEzNTM1ATMRIxUjAREhESEBIREhEQERMzUzNQEzFSMnMxUjAgCAgICAQICAwECA/kCAgECAgICAgEBAAYCAQED9gAOA/IADQP0AAwD9QEBAAQCAgMCAgAJAQP7AQAEAQEDAQAEAQIBAAcBAAQD/AMBA/wABAMABQPyAA4D8wAMA/QABQP8AwEABgEBAQAAHAEAAAAPAA4AACAARABUAGQAdACEAJQAAARMhEzMTIRMzAQMhAyMDIQMjAzMVIzczFSM3MxUjNzMVIzczFSMDMBD9gBAgEAIAECD9oBACgBAgEP4AECCQgIDAgIDAgIDAgIDAgIADgP6AAYD+wAFA/IABQP7AAQD/AAHAQEBAQEBAQEBAAAAAAv/gAAAEAAOAACYALAAAATIeAhUUDgIjNTI2Nz4BNTQmJy4BIyIGBw4BBzMLATM+AzMTFSERMxUCQF2jekZGeqNdR4AyMjU1MjKAR0eAMiYyCbrg4KULTnaXVcD/AIADgEZ6o11do3pGYDUyMoBHR4AyMjU1MiZfNP8AAQBRjWc7/oCAAUDAAAMBAABAAwADQAATACAALQAAAT4BNTQuAisBESEyPgI1NCYnJzQ2OwEyFhUUBisBNRMjIiY9ATMyFhUUBiMCcSQrIz1SLuABIC5SPSNQP/EcFEMgLS0gc6NzFByjIC0tIAHSHFMvK0w4If0AIThMK0JpF74UHDgoKDiQ/jAcFJA4KCg4AAEAgABAA0ADQAAMAAABFSMBMxUhNTMBIzUhA0CQ/wCQ/kCQAQCQAcADQED9gEBAAoBAAAACAMAAQAMAA0AABAAhAAA3IRUhNQERFAYHDgEjIiYnLgE1ESMRFB4CMzI+AjURI8ACQP3AAcAVFBg9IiI9GBQVgC1OaTw8aU4tgIBAQALA/oAXLREVFhYVES0XAYD+gDVdRigoRl01AYAAAAABAEAAQAPAA0AAPgAAASEuASMiJjU0NjMyFhczLgEnLgEjIgYHDgEVFBYXHgEXIRUhHgEVFAYjIiYnIx4BFx4BMzI2Nz4BNTQmJzM1A8D+9iVeM0NiYkM4WQ5xBisjJmE1NWEmKS0tKQEDAv72AgErOWJDOFkOcQYrIyZhNTVhJiktDw/MAcAbHEEtLEEvIyZFGhwfHxwfVC0uVB8BAgFADTYiLEEvIyZFGhwfHxwfVC0bMxdAAAAAAQCgAEADQANAABQAAAEiDgIVFB4CMxEzETMRMxEzNSEBgC5SPSMjPVIugECAgP5AA0AjPVIuLlI9I/7AAoD9gAKAgAACAEAAQAOAA0AAFAAXAAABIg4CFRQeAjMRMxEzETMRMzUhATcnAcAuUj0jIz1SLoBAgID+QP6A4OADQCM9Ui4uUj0j/sACgP2AAoCA/QDAwAAAAAACAGAAQAPAA0AAFAAXAAABIg4CFRQeAjMRMxEzETMRMzUhAQcXAUAuUj0jIz1SLoBAgID+QAKA4OADQCM9Ui4uUj0j/sACgP2AAoCA/oDAwAAAAAAFAEAAAAQAA4AACgAOABIAGQAiAAABIzUnIREhFSERJxUXIzUBFyM1JSEVMxEhEQEhNTMRMxUzEQNAwMD+gAGAAkDAZWX+gGVl/sABAMD+QANA/kCAgMACgEDA/UDAAcDAW2VlAQBlZRvA/oACQP0AgAGAwP7AAAAPAQAAgANAAsAAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAAAEzFSMHMxUjFTMVIxUzFSMnMxUjFTMVIyczFSMBMxUjFTMVIxUzFSMVMxUjJzMVIyczFSMnMxUjJzMVIwMAQECAQEBAQEBAgEBAQECAQEABgEBAQEBAQEBAgEBAgEBAgEBAgEBAAsBAQEBAQEBAwEBAQEBAAUBAQEBAQEBAQEBAQEBAQEAAAAQAQAASA8ADgAAFAB0ANgBDAAABISchByEDMxMhEyEuAzU0PgIzMh4CFRQGBxcnPgE1NCYjIgYVFBYzMjY3Fx4BPwE2JiclIiY1NDYzMhYVFAYjA6D+YCD+oEADgHhYIPyAQAFkJ0IwGytKYzg4Y0orBAQjhg0OcFBQcHBQGzIWbxEzEwUTAhT+1TNJSTMzSUkzA0BAgP4AAcD9gA4zQlEsOGNKKytKYzgQIBCSbxYyG1BwcFBQcA4NhhQCEwUTMxFWSTMzSUkzM0kAAAUAQAAAA4ADgAAbACYAKwAwAEAAAAE1NCYrATU0JisBIgYdASMiBhURFBY7ARUhESMBOAExMzgBMRUjNQc1IRUhASERIREBFTM3MxUjFTM1IzUzFzM1AsATDaAmGoAaJqANExMN4AJAwP6AgICAAYD+gAKA/kABwP6AICBAMKAwQCAgAkCgDRNAGiYmGkATDf4ADRPAAkABAEBAwEBA/cABwP5AAYCAQMBAQMBAgAAABP/4ACAECANgACUASwBYAGsAABM1NDY7ATUjIgYdARQGKwEVMzIWHQEUFjsBNSMiJj0BNCYnPgE1ITU0JisBNTMyFh0BFBY7ARUjIgYdARQGKwE1MzI2PQE0NjcuATUnFAYjIiY1NDYzMhYVByIGFRQWFw4BBxUwPgI1NCYjyC4gGhpLay4gGhogLmtLGhogLh0aGh0CcC4gGhpLay4gGhogLmtLGhogLh0aGh3QPSsrPT0rKz1oKz0uPBI1I0FOQT0rAkJoIC5oa0toIC5oLiBoS2toLiBoJkMZGUMmaCAuaGtLaCAuaC4gaEtraC4gaCZDGRlDJhkrPT0rKz09K5o9Kyo7AxkXAz4CJVpYKz0AAAAAAQAAAAEAABCCQ79fDzz1AAsEAAAAAADSMD3/AAAAANIwPf//4P/ABAgDwAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAP/g//gECAABAAAAAAAAAAAAAAAAAAAAOQQAAAAAAAAAAAAAAAIAAAAEAABABAAAgAQAAAAEAABABAAAQAQAAEAEAABABAAAiQQAAEAEAABABAAAgAQAAIAEAABABAAAQAQAAEAEAABwBAABQAQAAEAEAABABAABAAQAAEAEAABABAAAQAQAAGAEAABOBAAAQAQAAOQEAABABAAAQAQAAEAEAAAcBAAAHAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAD/4AQAAQAEAACABAAAwAQAAEAEAACgBAAAQAQAAGAEAABABAABAAQAAEAEAABABAD/+AAAAAAACgAUAB4AbACwAQ4BMAFSAXQBlgIwAn4C9ANAA3gDoAPIBCIEQgRiBSAGQgZgBqQG+gdOB24H6Ah6CKYI9gkECTYJYAmKCdIKUAqUCsoLLAtQC7oL/gxCDIQMngzUDTANUg18DaYN4g46DqAO+A+CAAEAAAA5AM4ADwAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQANAAAAAQAAAAAAAgAHAJYAAQAAAAAAAwANAEgAAQAAAAAABAANAKsAAQAAAAAABQALACcAAQAAAAAABgANAG8AAQAAAAAACgAaANIAAwABBAkAAQAaAA0AAwABBAkAAgAOAJ0AAwABBAkAAwAaAFUAAwABBAkABAAaALgAAwABBAkABQAWADIAAwABBAkABgAaAHwAAwABBAkACgA0AOx0aW55bWNlLXNtYWxsAHQAaQBuAHkAbQBjAGUALQBzAG0AYQBsAGxWZXJzaW9uIDEuMABWAGUAcgBzAGkAbwBuACAAMQAuADB0aW55bWNlLXNtYWxsAHQAaQBuAHkAbQBjAGUALQBzAG0AYQBsAGx0aW55bWNlLXNtYWxsAHQAaQBuAHkAbQBjAGUALQBzAG0AYQBsAGxSZWd1bGFyAFIAZQBnAHUAbABhAHJ0aW55bWNlLXNtYWxsAHQAaQBuAHkAbQBjAGUALQBzAG0AYQBsAGxGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-small.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+R2VuZXJhdGVkIGJ5IEljb01vb248L21ldGFkYXRhPgo8ZGVmcz4KPGZvbnQgaWQ9InRpbnltY2Utc21hbGwiIGhvcml6LWFkdi14PSIxMDI0Ij4KPGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjEwMjQiIGFzY2VudD0iOTYwIiBkZXNjZW50PSItNjQiIC8+CjxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxMDI0IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjA7IiBob3Jpei1hZHYteD0iNTEyIiBkPSIiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAwOyIgZ2x5cGgtbmFtZT0ic2F2ZSIgZD0iTTk2MCA4MHY1OTEuOTM4bC0yMjMuOTM4IDIyNC4wNjJoLTU5Mi4wNjJjLTQ0LjE4MiAwLTgwLTM1LjgxNi04MC04MHYtNzM2YzAtNDQuMTg0IDM1LjgxOC04MCA4MC04MGg3MzZjNDQuMTg0IDAgODAgMzUuODE2IDgwIDgwek01NzYgNzY4aDY0di0xOTJoLTY0djE5MnpNNzA0IDEyOGgtMzg0djI1NS44ODJjMC4wMzQgMC4wNDIgMC4wNzYgMC4wODIgMC4xMTYgMC4xMThoMzgzLjc3YzAuMDQwLTAuMDM2IDAuMDgyLTAuMDc2IDAuMTE2LTAuMTE4bC0wLjAwMi0yNTUuODgyek04MzIgMTI4aC02NHYyNTZjMCAzNS4yLTI4LjggNjQtNjQgNjRoLTM4NGMtMzUuMiAwLTY0LTI4LjgtNjQtNjR2LTI1NmgtNjR2NjQwaDY0di0xOTJjMC0zNS4yIDI4LjgtNjQgNjQtNjRoMzIwYzM1LjIgMCA2NCAyOC44IDY0IDY0djE3MS4wMTBsMTI4LTEyOC4wNzJ2LTQ5MC45Mzh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGdseXBoLW5hbWU9Im5ld2RvY3VtZW50IiBkPSJNODUwLjc0NiA3MTcuMjU0bC0xMzMuNDkyIDEzMy40OWMtMjQuODg4IDI0Ljg5Mi03NC4wNTQgNDUuMjU2LTEwOS4yNTQgNDUuMjU2aC00MTZjLTM1LjIgMC02NC0yOC44LTY0LTY0di03NjhjMC0zNS4yIDI4LjgtNjQgNjQtNjRoNjQwYzM1LjIgMCA2NCAyOC44IDY0IDY0djU0NGMwIDM1LjItMjAuMzY2IDg0LjM2NC00NS4yNTQgMTA5LjI1NHpNODA1LjQ5IDY3Mi4wMDJjNi43OTItNi43OTYgMTMuNzkyLTE5LjE2MiAxOC44OTQtMzIuMDAyaC0xODQuMzg0djE4NC4zODZjMTIuODQtNS4xIDI1LjIwNC0xMi4xIDMyLTE4Ljg5NmwxMzMuNDktMTMzLjQ4OHpNODMxLjg4NCA2NGgtNjM5Ljc3Yy0wLjA0MCAwLjAzNC0wLjA4MiAwLjA3Ni0wLjExNCAwLjExNnY3NjcuNzdjMC4wMzQgMC4wNDAgMC4wNzYgMC4wODIgMC4xMTQgMC4xMTRoMzgzLjg4NnYtMjU2aDI1NnYtNTExLjg4NGMtMC4wMzQtMC4wNDAtMC4wNzYtMC4wODItMC4xMTYtMC4xMTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGdseXBoLW5hbWU9ImZ1bGxwYWdlIiBkPSJNMTAyNCAzNjcuNTQydjE2MC45MTZsLTE1OS4xNDQgMTUuOTE0Yy04LjE4NiAzMC4wNDItMjAuMDg4IDU4LjU0OC0zNS4yMSA4NC45OGwxMDQuNTk2IDEyNy44MzgtMTEzLjA1MiAxMTMuMDUwLTEyNy44MzYtMTA0LjU5NmMtMjYuNDM0IDE1LjEyNC01NC45NDIgMjcuMDI2LTg0Ljk4MiAzNS4yMDhsLTE1LjkxNCAxNTkuMTQ4aC0xNjAuOTE2bC0xNS45MTQtMTU5LjE0NmMtMzAuMDQyLTguMTg2LTU4LjU0OC0yMC4wODYtODQuOTgtMzUuMjA4bC0xMjcuODM4IDEwNC41OTQtMTEzLjA1MC0xMTMuMDUwIDEwNC41OTYtMTI3LjgzNmMtMTUuMTI0LTI2LjQzMi0yNy4wMjYtNTQuOTQtMzUuMjEtODQuOThsLTE1OS4xNDYtMTUuOTE2di0xNjAuOTE2bDE1OS4xNDYtMTUuOTE0YzguMTg2LTMwLjA0MiAyMC4wODYtNTguNTQ4IDM1LjIxLTg0Ljk4MmwtMTA0LjU5Ni0xMjcuODM2IDExMy4wNDgtMTEzLjA0OCAxMjcuODM4IDEwNC41OTZjMjYuNDMyLTE1LjEyNCA1NC45NC0yNy4wMjggODQuOTgtMzUuMjFsMTUuOTE2LTE1OS4xNDhoMTYwLjkxNmwxNS45MTQgMTU5LjE0NGMzMC4wNDIgOC4xODYgNTguNTQ4IDIwLjA4OCA4NC45ODIgMzUuMjFsMTI3LjgzNi0xMDQuNTk2IDExMy4wNDggMTEzLjA0OC0xMDQuNTk2IDEyNy44MzZjMTUuMTI0IDI2LjQzNCAyNy4wMjggNTQuOTQyIDM1LjIxIDg0Ljk4bDE1OS4xNDggMTUuOTJ6TTcwNCAzODRsLTEyOC0xMjhoLTEyOGwtMTI4IDEyOHYxMjhsMTI4IDEyOGgxMjhsMTI4LTEyOHYtMTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBnbHlwaC1uYW1lPSJhbGlnbmxlZnQiIGQ9Ik02NCA3NjhoODk2di0xMjhoLTg5NnpNNjQgMzg0aDg5NnYtMTI4aC04OTZ6TTY0IDU3Nmg1NzZ2LTEyOGgtNTc2ek02NCAxOTJoNTc2di0xMjhoLTU3NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA0OyIgZ2x5cGgtbmFtZT0iYWxpZ25jZW50ZXIiIGQ9Ik02NCA3NjhoODk2di0xMjhoLTg5NnpNNjQgMzg0aDg5NnYtMTI4aC04OTZ6TTI1NiA1NzZoNTEydi0xMjhoLTUxMnpNMjU2IDE5Mmg1MTJ2LTEyOGgtNTEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBnbHlwaC1uYW1lPSJhbGlnbnJpZ2h0IiBkPSJNNjQgNzY4aDg5NnYtMTI4aC04OTZ6TTY0IDM4NGg4OTZ2LTEyOGgtODk2ek0zODQgNTc2aDU3NnYtMTI4aC01NzZ6TTM4NCAxOTJoNTc2di0xMjhoLTU3NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA2OyIgZ2x5cGgtbmFtZT0iYWxpZ25qdXN0aWZ5IiBkPSJNNjQgNzY4aDg5NnYtMTI4aC04OTZ6TTY0IDM4NGg4OTZ2LTEyOGgtODk2ek02NCA1NzZoODk2di0xMjhoLTg5NnpNNjQgMTkyaDg5NnYtMTI4aC04OTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNzsiIGdseXBoLW5hbWU9ImN1dCIgZD0iTTg2NC40MDggMjg5Ljg2OGMtNDYuNDcgNDYuNDctMTA2LjkzOCA2OC4wMDQtMTYxLjA4MiA2Mi44MDZsLTYzLjMyNiA2My4zMjYgMTkyIDE5MmMwIDAgMTI4IDEyOCAwIDI1NmwtMzIwLTMyMC0zMjAgMzIwYy0xMjgtMTI4IDAtMjU2IDAtMjU2bDE5Mi0xOTItNjMuMzI2LTYzLjMyNmMtNTQuMTQ0IDUuMTk4LTExNC42MS0xNi4zMzgtMTYxLjA4MC02Mi44MDYtNzQuOTgtNzQuOTgtODUuMTEyLTE4Ni40MTgtMjIuNjI2LTI0OC45IDYyLjQ4Mi02Mi40ODIgMTczLjkyLTUyLjM1NCAyNDguOSAyMi42MjYgNDYuNDcgNDYuNDY4IDY4LjAwMiAxMDYuOTM4IDYyLjgwNiAxNjEuMDgwbDYzLjMyNiA2My4zMjYgNjMuMzI4LTYzLjMyOGMtNS4xOTYtNTQuMTQ0IDE2LjMzNi0xMTQuNjEgNjIuODA2LTE2MS4wNzggNzQuOTc4LTc0Ljk4IDE4Ni40MTgtODUuMTEyIDI0OC44OTgtMjIuNjI2IDYyLjQ4OCA2Mi40ODIgNTIuMzU2IDE3My45MTgtMjIuNjI0IDI0OC45ek0zNTMuMTI0IDIwMS40MjJjLTIuMjEyLTI0LjMzMi0xNS4wMjAtNDkuODI2LTM1LjE0LTY5Ljk0Ni0yMi4yMTItMjIuMjE0LTUxLjA4MC0zNS40NzYtNzcuMjE4LTM1LjQ3Ni0xMC41MjQgMC0yNS4yOTggMi4yMjgtMzUuOTE2IDEyLjg0OC0yMS40MDYgMjEuNDA0LTE3LjM3NiA3My4xMzIgMjIuNjI2IDExMy4xMzYgMjIuMjEyIDIyLjIxNCA1MS4wODAgMzUuNDc2IDc3LjIxOCAzNS40NzYgMTAuNTI0IDAgMjUuMjk4LTIuMjI4IDM1LjkxNi0xMi44NDggMTMuMTEyLTEzLjExIDEzLjQ3LTMyLjY4OCAxMi41MTQtNDMuMTl6TTUxMiAzNTJjLTM1LjM0NiAwLTY0IDI4LjY1NC02NCA2NHMyOC42NTQgNjQgNjQgNjQgNjQtMjguNjU0IDY0LTY0LTI4LjY1NC02NC02NC02NHpNODE5LjE1MiAxMDguODQ4Yy0xMC42Mi0xMC42Mi0yNS4zOTItMTIuODQ4LTM1LjkxNi0xMi44NDgtMjYuMTM4IDAtNTUuMDA2IDEzLjI2Mi03Ny4yMTggMzUuNDc2LTIwLjEyMiAyMC4xMi0zMi45MjggNDUuNjE0LTM1LjEzOCA2OS45NDYtMC45NTggMTAuNTAyLTAuNiAzMC4wODAgMTIuNTE0IDQzLjE5MiAxMC42MTggMTAuNjIyIDI1LjM5IDEyLjg0OCAzNS45MTYgMTIuODQ4IDI2LjEzNiAwIDU1LjAwNi0xMy4yNjIgNzcuMjE2LTM1LjQ3NCA0MC4wMDQtNDAuMDA4IDQ0LjAzMi05MS43MzYgMjIuNjI2LTExMy4xNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA4OyIgZ2x5cGgtbmFtZT0icGFzdGUiIGQ9Ik03MDQgNTc2djE2MGMwIDE3LjYtMTQuNCAzMi0zMiAzMmgtMTYwdjY0YzAgMzUuMi0yOC44IDY0LTY0IDY0aC0xMjhjLTM1LjIwNCAwLTY0LTI4LjgtNjQtNjR2LTY0aC0xNjBjLTE3LjYwMiAwLTMyLTE0LjQtMzItMzJ2LTUxMmMwLTE3LjYgMTQuMzk4LTMyIDMyLTMyaDIyNHYtMTkyaDM4NGwxOTIgMTkydjM4NGgtMTkyek0zMjAgODMxLjg4NmMwLjAzNCAwLjAzOCAwLjA3MiAwLjA3OCAwLjExNCAwLjExNGgxMjcuNzY4YzAuMDQyLTAuMDM2IDAuMDgyLTAuMDc2IDAuMTE4LTAuMTE0di02My44ODZoLTEyOHY2My44ODZ6TTE5MiA2NDB2NjRoMzg0di02NGgtMzg0ek03MDQgOTAuNTF2MTAxLjQ5aDEwMS40OWwtMTAxLjQ5LTEwMS40OXpNODMyIDI1NmgtMTkydi0xOTJoLTI1NnY0NDhoNDQ4di0yNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwOTsiIGdseXBoLW5hbWU9InNlYXJjaHJlcGxhY2UiIGQ9Ik04ODggNTc2aC01NnYyNTZoNjR2NjRoLTMyMHYtNjRoNjR2LTI1NmgtMjU2djI1Nmg2NHY2NGgtMzIwdi02NGg2NHYtMjU2aC01NmMtMzkuNiAwLTcyLTMyLjQtNzItNzJ2LTQzMmMwLTM5LjYgMzIuNC03MiA3Mi03MmgyNDBjMzkuNiAwIDcyIDMyLjQgNzIgNzJ2MzEyaDEyOHYtMzEyYzAtMzkuNiAzMi40LTcyIDcyLTcyaDI0MGMzOS42IDAgNzIgMzIuNCA3MiA3MnY0MzJjMCAzOS42LTMyLjQgNzItNzIgNzJ6TTM0OCA2NGgtMTg0Yy0xOS44IDAtMzYgMTQuNC0zNiAzMnMxNi4yIDMyIDM2IDMyaDE4NGMxOS44IDAgMzYtMTQuNCAzNi0zMnMtMTYuMi0zMi0zNi0zMnpNNTQ0IDQ0OGgtNjRjLTE3LjYgMC0zMiAxNC40LTMyIDMyczE0LjQgMzIgMzIgMzJoNjRjMTcuNiAwIDMyLTE0LjQgMzItMzJzLTE0LjQtMzItMzItMzJ6TTg2MCA2NGgtMTg0Yy0xOS44IDAtMzYgMTQuNC0zNiAzMnMxNi4yIDMyIDM2IDMyaDE4NGMxOS44IDAgMzYtMTQuNCAzNi0zMnMtMTYuMi0zMi0zNi0zMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBhOyIgZ2x5cGgtbmFtZT0iYnVsbGlzdCIgZD0iTTM4NCA4MzJoNTc2di0xMjhoLTU3NnpNMzg0IDUxMmg1NzZ2LTEyOGgtNTc2ek0zODQgMTkyaDU3NnYtMTI4aC01NzZ6TTEyOCA3NjhjMC0zNS4zNDYgMjguNjU0LTY0IDY0LTY0czY0IDI4LjY1NCA2NCA2NGMwIDM1LjM0Ni0yOC42NTQgNjQtNjQgNjRzLTY0LTI4LjY1NC02NC02NHpNMTI4IDQ0OGMwLTM1LjM0NiAyOC42NTQtNjQgNjQtNjRzNjQgMjguNjU0IDY0IDY0YzAgMzUuMzQ2LTI4LjY1NCA2NC02NCA2NHMtNjQtMjguNjU0LTY0LTY0ek0xMjggMTI4YzAtMzUuMzQ2IDI4LjY1NC02NCA2NC02NHM2NCAyOC42NTQgNjQgNjRjMCAzNS4zNDYtMjguNjU0IDY0LTY0IDY0cy02NC0yOC42NTQtNjQtNjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwYjsiIGdseXBoLW5hbWU9Im51bWxpc3QiIGQ9Ik0zODQgODMyaDU3NnYtMTI4aC01NzZ6TTM4NCA1MTJoNTc2di0xMjhoLTU3NnpNMzg0IDE5Mmg1NzZ2LTEyOGgtNTc2ek0zMjAgNDMwdjE0NmgtNjR2MzIwaC0xMjh2LTY0aDY0di0yNTZoLTY0di02NGgxMjh2LTUwbC0xMjgtNjB2LTE0NmgxMjh2LTY0aC0xMjh2LTY0aDEyOHYtNjRoLTEyOHYtNjRoMTkydjMyMGgtMTI4djUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGM7IiBnbHlwaC1uYW1lPSJpbmRlbnQiIGQ9Ik02NCA3NjhoODk2di0xMjhoLTg5NnpNMzg0IDM4NGg1NzZ2LTEyOGgtNTc2ek0zODQgNTc2aDU3NnYtMTI4aC01NzZ6TTY0IDE5Mmg4OTZ2LTEyOGgtODk2ek02NCA1NzZsMjI0LTE2MC0yMjQtMTYweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGQ7IiBnbHlwaC1uYW1lPSJvdXRkZW50IiBkPSJNNjQgNzY4aDg5NnYtMTI4aC04OTZ6TTY0IDM4NGg1NzZ2LTEyOGgtNTc2ek02NCA1NzZoNTc2di0xMjhoLTU3NnpNNjQgMTkyaDg5NnYtMTI4aC04OTZ6TTk2MCA1NzZsLTIyNC0xNjAgMjI0LTE2MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBlOyIgZ2x5cGgtbmFtZT0iYmxvY2txdW90ZSIgZD0iTTI1Ni40MjggNTM1LjI3NGMxMDUuOCAwIDE5MS41NzItOTEuMTcgMTkxLjU3Mi0yMDMuNjM4IDAtMTEyLjQ2NC04NS43NzItMjAzLjYzNi0xOTEuNTcyLTIwMy42MzYtMTA1LjgwMiAwLTE5MS41NzIgOTEuMTctMTkxLjU3MiAyMDMuNjM2bC0wLjg1NiAyOS4wOTJjMCAyMjQuOTMgMTcxLjU0IDQwNy4yNzIgMzgzLjE0NCA0MDcuMjcydi0xMTYuMzY0Yy03My4xIDAtMTQxLjgyNi0zMC4yNi0xOTMuNTE2LTg1LjIwNC05Ljk1NC0xMC41NzgtMTkuMDM0LTIxLjgzNC0yNy4yMjQtMzMuNjU2IDkuNzg0IDEuNjQgMTkuODA2IDIuNDk4IDMwLjAyNCAyLjQ5OHpNNzY4LjQyOCA1MzUuMjc0YzEwNS44IDAgMTkxLjU3Mi05MS4xNyAxOTEuNTcyLTIwMy42MzggMC0xMTIuNDY0LTg1Ljc3Mi0yMDMuNjM2LTE5MS41NzItMjAzLjYzNi0xMDUuODAyIDAtMTkxLjU3MiA5MS4xNy0xOTEuNTcyIDIwMy42MzZsLTAuODU2IDI5LjA5MmMwIDIyNC45MyAxNzEuNTQgNDA3LjI3MiAzODMuMTQ0IDQwNy4yNzJ2LTExNi4zNjRjLTczLjEgMC0xNDEuODI2LTMwLjI2LTE5My41MTYtODUuMjA0LTkuOTU2LTEwLjU3OC0xOS4wMzYtMjEuODM0LTI3LjIyNC0zMy42NTYgOS43ODQgMS42NCAxOS44MDYgMi40OTggMzAuMDI0IDIuNDk4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGY7IiBnbHlwaC1uYW1lPSJ1bmRvIiBkPSJNNzA0IDBjNTkgMTk5IDEzNC45MDYgNDU1LjI2Ni0yNTYgNDQ2LjA5NnYtMjIyLjA5NmwtMzM2LjAwMiAzMzYgMzM2LjAwMiAzMzZ2LTIxNy4zMjZjNDY4LjA5MiAxMi4yIDU0NC0zNTguNjc0IDI1Ni02NzguNjc0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBnbHlwaC1uYW1lPSJyZWRvIiBkPSJNNTc2IDY3OC42NzR2MjE3LjMyNmwzMzYuMDAyLTMzNi0zMzYuMDAyLTMzNnYyMjIuMDk2Yy0zOTAuOTA2IDkuMTctMzE1LTI0Ny4wOTYtMjU2LTQ0Ni4wOTYtMjg4IDMyMC0yMTIuMDkyIDY5MC44NzQgMjU2IDY3OC42NzR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGdseXBoLW5hbWU9InVubGluayIgZD0iTTkyNy4yNzQgNzI5Ljc4NGwtMTMzLjQ5IDEzMy40ODhjLTIxLjEwNCAyMS4xMDQtNDkuMjMyIDMyLjcyOC03OS4xOTggMzIuNzI4cy01OC4wOTQtMTEuNjI0LTc5LjE5Ni0zMi43MjZsLTE2NS40OTItMTY1LjQ5Yy00My42NjgtNDMuNjY4LTQzLjY2OC0xMTQuNzI0IDAtMTU4LjM5MmwyLjc0Ni0yLjc0NiA2Ny44ODIgNjcuODgyLTIuNzQ2IDIuNzQ2Yy02LjEzMiA2LjEzMi02LjEzMiAxNi40OTQgMCAyMi42MjZsMTY1LjQ5MiAxNjUuNDkyYzQuMDEwIDQuMDA4IDguODA4IDQuNjA4IDExLjMxMiA0LjYwOHM3LjMwMi0wLjU5OCAxMS4zMTItNC42MWwxMzMuNDktMTMzLjQ4OGM2LjEzMi02LjEzNCA2LjEzMi0xNi40OTggMC4wMDItMjIuNjI4bC0xNjUuNDk0LTE2NS40OTRjLTQuMDA4LTQuMDA4LTguODA2LTQuNjA4LTExLjMxLTQuNjA4cy03LjMwMiAwLjYtMTEuMzEyIDQuNjEybC0yLjc0NiAyLjc0Ni02Ny44OC02Ny44ODQgMi43NDItMi43NDJjMjEuMTA2LTIxLjEwOCA0OS4yMy0zMi43MjggNzkuMi0zMi43MjhzNTguMDk0IDExLjYyNCA3OS4xOTYgMzIuNzI2bDE2NS40OTQgMTY1LjQ5MmM0My42NjIgNDMuNjY2IDQzLjY2MiAxMTQuNzItMC4wMDQgMTU4LjM5ek01NTEuMzU2IDM1OS4zNTZsLTY3Ljg4Mi02Ny44ODIgMi43NDYtMi43NDZjNC4wMDgtNC4wMDggNC42MS04LjgwNiA0LjYxLTExLjMxIDAtMi41MDYtMC41OTgtNy4zMDItNC42MDYtMTEuMzE0bC0xNjUuNDk0LTE2NS40OWMtNC4wMTAtNC4wMTAtOC44MS00LjYxLTExLjMxNC00LjYxcy03LjMwNCAwLjYtMTEuMzE0IDQuNjFsLTEzMy40OTIgMTMzLjQ4NmMtNC4wMTAgNC4wMTAtNC42MSA4LjgxLTQuNjEgMTEuMzE0czAuNTk4IDcuMyA0LjYxIDExLjMxMmwxNjUuNDkgMTY1LjQ4OGM0LjAxMCA0LjAxMiA4LjgxIDQuNjEyIDExLjMxNCA0LjYxMnM3LjMwNC0wLjYgMTEuMzE0LTQuNjEybDIuNzQ2LTIuNzQyIDY3Ljg4MiA2Ny44OC0yLjc0NiAyLjc0NmMtMjEuMTA0IDIxLjEwNC00OS4yMyAzMi43MjYtNzkuMTk2IDMyLjcyNnMtNTguMDkyLTExLjYyNC03OS4xOTYtMzIuNzI2bC0xNjUuNDg4LTE2NS40ODZjLTIxLjEwNi0yMS4xMDQtMzIuNzMtNDkuMjM0LTMyLjczLTc5LjE5OHMxMS42MjQtNTguMDk0IDMyLjcyNi03OS4xOThsMTMzLjQ5LTEzMy40OWMyMS4xMDYtMjEuMTAyIDQ5LjIzMi0zMi43MjYgNzkuMTk4LTMyLjcyNnM1OC4wOTIgMTEuNjI0IDc5LjE5NiAzMi43MjZsMTY1LjQ5NCAxNjUuNDkyYzIxLjEwNCAyMS4xMDQgMzIuNzIyIDQ5LjIzIDMyLjcyMiA3OS4xOTZzLTExLjYyNCA1OC4wOTQtMzIuNzI2IDc5LjE5NmwtMi43NDQgMi43NDZ6TTM1MiAyNTBjLTkuNzI0IDAtMTkuNDUgMy43MS0yNi44NyAxMS4xMjgtMTQuODQgMTQuODQtMTQuODQgMzguODk4IDAgNTMuNzM4bDMyMCAzMjBjMTQuODQgMTQuODQgMzguODk2IDE0Ljg0IDUzLjczNiAwIDE0Ljg0NC0xNC44NCAxNC44NDQtMzguOSAwLTUzLjc0bC0zMjAtMzIwYy03LjQxNi03LjQxNi0xNy4xNDItMTEuMTI2LTI2Ljg2Ni0xMS4xMjZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGdseXBoLW5hbWU9ImxpbmsiIGQ9Ik05MjcuMjc0IDcyOS43ODRsLTEzMy40OSAxMzMuNDg4Yy0yMS4xMDQgMjEuMTA0LTQ5LjIzMiAzMi43MjgtNzkuMTk4IDMyLjcyOHMtNTguMDk0LTExLjYyNC03OS4xOTYtMzIuNzI2bC0xNjUuNDkyLTE2NS40OWMtNDMuNjY4LTQzLjY2OC00My42NjgtMTE0LjcyNCAwLTE1OC4zOTJsMi43NDYtMi43NDYgNjcuODgyIDY3Ljg4Mi0yLjc0NiAyLjc0NmMtNi4xMzIgNi4xMzItNi4xMzIgMTYuNDk0IDAgMjIuNjI2bDE2NS40OTIgMTY1LjQ5MmM0LjAxMCA0LjAwOCA4LjgwOCA0LjYwOCAxMS4zMTIgNC42MDhzNy4zMDItMC41OTggMTEuMzEyLTQuNjFsMTMzLjQ5LTEzMy40ODhjNi4xMzItNi4xMzQgNi4xMzItMTYuNDk4IDAuMDAyLTIyLjYyOGwtMTY1LjQ5NC0xNjUuNDk0Yy00LjAwOC00LjAwOC04LjgwNi00LjYwOC0xMS4zMS00LjYwOHMtNy4zMDIgMC42LTExLjMxMiA0LjYxMmwtMi43NDYgMi43NDYtNjcuODgtNjcuODg0IDIuNzQyLTIuNzQyYzIxLjEwNi0yMS4xMDggNDkuMjMtMzIuNzI4IDc5LjItMzIuNzI4czU4LjA5NCAxMS42MjQgNzkuMTk2IDMyLjcyNmwxNjUuNDk0IDE2NS40OTJjNDMuNjYyIDQzLjY2NiA0My42NjIgMTE0LjcyLTAuMDA0IDE1OC4zOXpNNTUxLjM1NiAzNTkuMzU2bC02Ny44ODItNjcuODgyIDIuNzQ2LTIuNzQ2YzQuMDA4LTQuMDA4IDQuNjEtOC44MDYgNC42MS0xMS4zMSAwLTIuNTA2LTAuNTk4LTcuMzAyLTQuNjA2LTExLjMxNGwtMTY1LjQ5NC0xNjUuNDljLTQuMDEwLTQuMDEwLTguODEtNC42MS0xMS4zMTQtNC42MXMtNy4zMDQgMC42LTExLjMxNCA0LjYxbC0xMzMuNDkyIDEzMy40ODZjLTQuMDEwIDQuMDEwLTQuNjEgOC44MS00LjYxIDExLjMxNHMwLjU5OCA3LjMgNC42MSAxMS4zMTJsMTY1LjQ5IDE2NS40ODhjNC4wMTAgNC4wMTIgOC44MSA0LjYxMiAxMS4zMTQgNC42MTJzNy4zMDQtMC42IDExLjMxNC00LjYxMmwyLjc0Ni0yLjc0MiA2Ny44ODIgNjcuODgtMi43NDYgMi43NDZjLTIxLjEwNCAyMS4xMDQtNDkuMjMgMzIuNzI2LTc5LjE5NiAzMi43MjZzLTU4LjA5Mi0xMS42MjQtNzkuMTk2LTMyLjcyNmwtMTY1LjQ4OC0xNjUuNDg2Yy0yMS4xMDYtMjEuMTA0LTMyLjczLTQ5LjIzNC0zMi43My03OS4xOThzMTEuNjI0LTU4LjA5NCAzMi43MjYtNzkuMTk4bDEzMy40OS0xMzMuNDljMjEuMTA2LTIxLjEwMiA0OS4yMzItMzIuNzI2IDc5LjE5OC0zMi43MjZzNTguMDkyIDExLjYyNCA3OS4xOTYgMzIuNzI2bDE2NS40OTQgMTY1LjQ5MmMyMS4xMDQgMjEuMTA0IDMyLjcyMiA0OS4yMyAzMi43MjIgNzkuMTk2cy0xMS42MjQgNTguMDk0LTMyLjcyNiA3OS4xOTZsLTIuNzQ0IDIuNzQ2ek04MDAgMTIyYy05LjcyNCAwLTE5LjQ1IDMuNzA4LTI2Ljg3IDExLjEzbC0xMjggMTI3Ljk5OGMtMTQuODQ0IDE0Ljg0LTE0Ljg0NCAzOC44OTggMCA1My43MzggMTQuODQgMTQuODQ0IDM4Ljg5NiAxNC44NDQgNTMuNzM2IDBsMTI4LTEyOGMxNC44NDQtMTQuODQgMTQuODQ0LTM4Ljg5NiAwLTUzLjczNi03LjQxNi03LjQyMi0xNy4xNDItMTEuMTMtMjYuODY2LTExLjEzek02MDggMGMtMTcuNjc0IDAtMzIgMTQuMzI2LTMyIDMydjEyOGMwIDE3LjY3NCAxNC4zMjYgMzIgMzIgMzJzMzItMTQuMzI2IDMyLTMydi0xMjhjMC0xNy42NzQtMTQuMzI2LTMyLTMyLTMyek05MjggMzIwaC0xMjhjLTE3LjY3NCAwLTMyIDE0LjMyNi0zMiAzMnMxNC4zMjYgMzIgMzIgMzJoMTI4YzE3LjY3NCAwIDMyLTE0LjMyNiAzMi0zMnMtMTQuMzI2LTMyLTMyLTMyek0yMjQgNzc0YzkuNzI0IDAgMTkuNDUtMy43MDggMjYuODctMTEuMTNsMTI4LTEyOGMxNC44NDItMTQuODQgMTQuODQyLTM4Ljg5OCAwLTUzLjczOC0xNC44NC0xNC44NDQtMzguODk4LTE0Ljg0NC01My43MzggMGwtMTI4IDEyOGMtMTQuODQyIDE0Ljg0LTE0Ljg0MiAzOC44OTggMCA1My43MzggNy40MTggNy40MjIgMTcuMTQ0IDExLjEzIDI2Ljg2OCAxMS4xM3pNNDE2IDg5NmMxNy42NzQgMCAzMi0xNC4zMjYgMzItMzJ2LTEyOGMwLTE3LjY3NC0xNC4zMjYtMzItMzItMzJzLTMyIDE0LjMyNi0zMiAzMnYxMjhjMCAxNy42NzQgMTQuMzI2IDMyIDMyIDMyek05NiA1NzZoMTI4YzE3LjY3NCAwIDMyLTE0LjMyNiAzMi0zMnMtMTQuMzI2LTMyLTMyLTMyaC0xMjhjLTE3LjY3NCAwLTMyIDE0LjMyNi0zMiAzMnMxNC4zMjYgMzIgMzIgMzJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGdseXBoLW5hbWU9ImJvb2ttYXJrIiBkPSJNMjU2IDg5NnYtODk2bDI1NiAyNTYgMjU2LTI1NnY4OTZoLTUxMnpNNzA0IDE3MC41MWwtMTkyIDE5Mi0xOTItMTkydjY2MS40OWgzODR2LTY2MS40OXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE0OyIgZ2x5cGgtbmFtZT0iaW1hZ2UiIGQ9Ik04OTYgODMyaC03NjhjLTM1LjIgMC02NC0yOC44LTY0LTY0di02NDBjMC0zNS4yIDI4LjgtNjQgNjQtNjRoNzY4YzM1LjIgMCA2NCAyOC44IDY0IDY0djY0MGMwIDM1LjItMjguOCA2NC02NCA2NHpNODk2IDEyOC4xMTZjLTAuMDEyLTAuMDE0LTAuMDMwLTAuMDI4LTAuMDQyLTAuMDQybC0xOTEuOTU4IDMxOS45MjYtMTYwLTEyOC0yMjQgMjg4LTE5MS45NjgtNDc5LjkxNmMtMC4wMTAgMC4wMTAtMC4wMjIgMC4wMjItMC4wMzIgMC4wMzJ2NjM5Ljc3YzAuMDM0IDAuMDQwIDAuMDc2IDAuMDgyIDAuMTE0IDAuMTE0aDc2Ny43N2MwLjA0MC0wLjAzNCAwLjA4Mi0wLjA3NiAwLjExNi0wLjExNnYtNjM5Ljc2OHpNNjQwIDYwOGMwLTUzLjAxOSA0Mi45ODEtOTYgOTYtOTZzOTYgNDIuOTgxIDk2IDk2YzAgNTMuMDE5LTQyLjk4MSA5Ni05NiA5NnMtOTYtNDIuOTgxLTk2LTk2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBnbHlwaC1uYW1lPSJtZWRpYSIgZD0iTTg5NiA4MzJoLTc2OGMtMzUuMiAwLTY0LTI4LjgtNjQtNjR2LTY0MGMwLTM1LjIgMjguOC02NCA2NC02NGg3NjhjMzUuMiAwIDY0IDI4LjggNjQgNjR2NjQwYzAgMzUuMi0yOC44IDY0LTY0IDY0ek0yNTYgMTI4aC0xMjh2MTI4aDEyOHYtMTI4ek0yNTYgMzg0aC0xMjh2MTI4aDEyOHYtMTI4ek0yNTYgNjQwaC0xMjh2MTI4aDEyOHYtMTI4ek03MDQgMTI4aC0zODR2NjQwaDM4NHYtNjQwek04OTYgMTI4aC0xMjh2MTI4aDEyOHYtMTI4ek04OTYgMzg0aC0xMjh2MTI4aDEyOHYtMTI4ek04OTYgNjQwaC0xMjh2MTI4aDEyOHYtMTI4ek0zODQgNjQwdi0zODRsMjg4IDE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE2OyIgZ2x5cGgtbmFtZT0iaGVscCIgZD0iTTQ0OCAyNTZoMTI4di0xMjhoLTEyOHYxMjh6TTcwNCA3MDRjMzUuMzQ2IDAgNjQtMjguNjU0IDY0LTY0di0xNjZsLTIyOC0xNTRoLTkydjY0bDE5MiAxMjh2NjRoLTMyMHYxMjhoMzg0ek01MTIgODk2Yy0xMTkuNjY2IDAtMjMyLjE2Ni00Ni42LTMxNi43ODQtMTMxLjIxNi04NC42MTQtODQuNjE4LTEzMS4yMTYtMTk3LjExOC0xMzEuMjE2LTMxNi43ODQgMC0xMTkuNjY0IDQ2LjYwMi0yMzIuMTY4IDEzMS4yMTYtMzE2Ljc4NCA4NC42MTgtODQuNjE2IDE5Ny4xMTgtMTMxLjIxNiAzMTYuNzg0LTEzMS4yMTYgMTE5LjY2NCAwIDIzMi4xNjggNDYuNiAzMTYuNzg0IDEzMS4yMTZzMTMxLjIxNiAxOTcuMTIgMTMxLjIxNiAzMTYuNzg0YzAgMTE5LjY2Ni00Ni42IDIzMi4xNjYtMTMxLjIxNiAzMTYuNzg0LTg0LjYxNiA4NC42MTYtMTk3LjEyIDEzMS4yMTYtMzE2Ljc4NCAxMzEuMjE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTc7IiBnbHlwaC1uYW1lPSJjb2RlIiBkPSJNNDE2IDI1NmwtMTkyIDE5MiAxOTIgMTkyLTY0IDY0LTI1Ni0yNTYgMjU2LTI1NnpNNjcyIDcwNGwtNjQtNjQgMTkyLTE5Mi0xOTItMTkyIDY0LTY0IDI1NiAyNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxODsiIGdseXBoLW5hbWU9Imluc2VydGRhdGV0aW1lIiBkPSJNNzcuNzk4IDY1NS4zNzZsODEuNDE0LTUwLjg4MmM1MC44MDIgODEuMTE0IDEyOC43ODggMTQzLjQ1NCAyMjEuMjA4IDE3NC4yNDZsLTMwLjM2NiA5MS4wOTRjLTExMy43NDgtMzcuODk4LTIwOS43MjgtMTE0LjYyNi0yNzIuMjU2LTIxNC40NTh6TTY3My45NDYgODY5LjgzNGwtMzAuMzY2LTkxLjA5NGM5Mi40MjItMzAuNzkyIDE3MC40MDQtOTMuMTMyIDIyMS4yMDgtMTc0LjI0OGw4MS40MTIgNTAuODgyYy02Mi41MjYgOTkuODM0LTE1OC41MDYgMTc2LjU2Mi0yNzIuMjU0IDIxNC40NnpNNjA3Ljk3NCAyNTUuOTkyYy00LjgwOCAwLTkuNjkyIDEuMDkwLTE0LjI4NiAzLjM4NmwtMTQ1LjY4OCA3Mi44NDR2MjExLjc3OGMwIDE3LjY3MiAxNC4zMjggMzIgMzIgMzJzMzItMTQuMzI4IDMyLTMydi0xNzIuMjIybDExMC4zMS01NS4xNTZjMTUuODA2LTcuOTAyIDIyLjIxNC0yNy4xMjQgMTQuMzEtNDIuOTMyLTUuNjA0LTExLjIxNC0xNi45MDgtMTcuNjk2LTI4LjY0Ni0xNy42OTh6TTUxMiA3NjhjLTIxMi4wNzggMC0zODQtMTcxLjkyMi0zODQtMzg0czE3MS45MjItMzg0IDM4NC0zODRjMjEyLjA3OCAwIDM4NCAxNzEuOTIyIDM4NCAzODRzLTE3MS45MjIgMzg0LTM4NCAzODR6TTUxMiA5NmMtMTU5LjA1OCAwLTI4OCAxMjguOTQyLTI4OCAyODhzMTI4Ljk0MiAyODggMjg4IDI4OGMxNTkuMDU4IDAgMjg4LTEyOC45NDIgMjg4LTI4OHMtMTI4Ljk0Mi0yODgtMjg4LTI4OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZ2x5cGgtbmFtZT0icHJldmlldyIgZD0iTTY0IDUwNC4yNTRjNDUuMzE4IDQ5LjkyIDk3LjE2MiA5Mi4zNiAxNTMuMjcyIDEyNS4xMjQgOTAuMzMyIDUyLjc0NCAxOTIuMjQ2IDgwLjYyMiAyOTQuNzI4IDgwLjYyMiAxMDIuNDggMCAyMDQuMzk2LTI3Ljg3OCAyOTQuNzI2LTgwLjYyNCA1Ni4xMTItMzIuNzY0IDEwNy45NTYtNzUuMjA0IDE1My4yNzQtMTI1LjEyNHYxMTcuNDMyYy0zMy4wMTAgMjguMTE4LTY4LjEyNCA1My4xNC0xMDQuODY4IDc0LjU5NC0xMDUuMDA2IDYxLjMxNC0yMjMuNjU4IDkzLjcyMi0zNDMuMTMyIDkzLjcyMnMtMjM4LjEyOC0zMi40MDgtMzQzLjEzNC05My43MmMtMzYuNzQyLTIxLjQ1NC03MS44NTYtNDYuNDc4LTEwNC44NjYtNzQuNTk2di0xMTcuNDN6TTUxMiA2NDBjLTE4My4xOTYgMC0zNDUuODM4LTEwMC41NTYtNDQ4LTI1NiAxMDIuMTYyLTE1NS40NDggMjY0LjgwNC0yNTYgNDQ4LTI1NnMzNDUuODM4IDEwMC41NTIgNDQ4IDI1NmMtMTAyLjE2MiAxNTUuNDQ0LTI2NC44MDQgMjU2LTQ0OCAyNTZ6TTUxMiA0NDhjMC0zNS4zNDYtMjguNjU0LTY0LTY0LTY0cy02NCAyOC42NTQtNjQgNjRjMCAzNS4zNDggMjguNjU0IDY0IDY0IDY0czY0LTI4LjY1MiA2NC02NHpNNzI4LjA2NiAyNjMuMzM4Yy02Ny40MzQtMzkuMzc0LTE0MC4xMjgtNTkuMzM4LTIxNi4wNjYtNTkuMzM4cy0xNDguNjMyIDE5Ljk2NC0yMTYuMDY2IDU5LjMzOGMtNTEuNTU0IDMwLjEwNC05OC42MTYgNzEuMzEtMTM4LjExNCAxMjAuNjYyIDM5LjQ5OCA0OS4zNSA4Ni41NiA5MC41NTggMTM4LjExNiAxMjAuNjYgMTMuMjc2IDcuNzUyIDI2Ljc1OCAxNC43NCA0MC40MjYgMjAuOTgyLTEwLjUxMi0yMy43NDItMTYuMzYyLTUwLjAwOC0xNi4zNjItNzcuNjQyIDAtMTA2LjA0MCA4NS45NjItMTkyIDE5Mi0xOTIgMTA2LjA0MCAwIDE5MiA4NS45NiAxOTIgMTkyIDAgMjcuNjM0LTUuODUgNTMuOS0xNi4zNiA3Ny42NDIgMTMuNjY4LTYuMjQ0IDI3LjE1LTEzLjIzIDQwLjQyNi0yMC45ODIgNTEuNTU0LTMwLjEwMiA5OC42MTYtNzEuMzEgMTM4LjExNi0xMjAuNjYtMzkuNDk4LTQ5LjM1Mi04Ni41Ni05MC41NTgtMTM4LjExNi0xMjAuNjYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWE7IiBnbHlwaC1uYW1lPSJmb3JlY29sb3IiIGQ9Ik02NTEuMTY4IDY3Ni4xNjZjLTI0LjYxMiA4MS45NjItMjguODc2IDkxLjgzNC0xMDcuMTY4IDkxLjgzNGgtNjRjLTc5LjYxOCAwLTgyLjY2NC0xMC4xNTItMTA4LjQxOC05NiAwLTAuMDAyIDAtMC4wMDItMC4wMDItMC4wMDRsLTE0My45OTgtNDc5Ljk5NmgxMTMuNjM2bDU3LjYgMTkyaDIyNi4zNjZsNTcuNi0xOTJoMTEzLjYzbC0xNDUuMjQ2IDQ4NC4xNjZ6TTQzNy4yMTggNTEybDM4LjQgMTM2YzEwLjA4NiAzMy42MTggMzYuMzggMzAgMzYuMzggMzBzMjYuMjk0IDMuNjE4IDM2LjM4LTMwaDAuMDA0bDM4LjQtMTM2aC0xNDkuNTY0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWI7IiBnbHlwaC1uYW1lPSJ0YWJsZSIgZD0iTTY0IDc2OHYtNzA0aDg5NnY3MDRoLTg5NnpNMzg0IDMyMHYxMjhoMjU2di0xMjhoLTI1NnpNNjQwIDI1NnYtMTI4aC0yNTZ2MTI4aDI1NnpNNjQwIDY0MHYtMTI4aC0yNTZ2MTI4aDI1NnpNMzIwIDY0MHYtMTI4aC0xOTJ2MTI4aDE5MnpNMTI4IDQ0OGgxOTJ2LTEyOGgtMTkydjEyOHpNNzA0IDQ0OGgxOTJ2LTEyOGgtMTkydjEyOHpNNzA0IDUxMnYxMjhoMTkydi0xMjhoLTE5MnpNMTI4IDI1NmgxOTJ2LTEyOGgtMTkydjEyOHpNNzA0IDEyOHYxMjhoMTkydi0xMjhoLTE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFjOyIgZ2x5cGgtbmFtZT0iaHIiIGQ9Ik02NCA1MTJoODk2di0xMjhoLTg5NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFkOyIgZ2x5cGgtbmFtZT0icmVtb3ZlZnJvbWF0IiBkPSJNNjQgMTkyaDUxMnYtMTI4aC01MTJ2MTI4ek03NjggNzY4aC0yMjAuNTU4bC0xODMuNzY2LTUxMmgtMTMyLjI4OGwxODMuNzYyIDUxMmgtMjIzLjE1djEyOGg1NzZ2LTEyOHpNOTI5Ljc3NCA2NGwtMTI5Ljc3NCAxMjkuNzc0LTEyOS43NzQtMTI5Ljc3NC02Mi4yMjYgNjIuMjI2IDEyOS43NzQgMTI5Ljc3NC0xMjkuNzc0IDEyOS43NzQgNjIuMjI2IDYyLjIyNiAxMjkuNzc0LTEyOS43NzQgMTI5Ljc3NCAxMjkuNzc0IDYyLjIyNi02Mi4yMjYtMTI5Ljc3NC0xMjkuNzc0IDEyOS43NzQtMTI5Ljc3NC02Mi4yMjYtNjIuMjI2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWU7IiBnbHlwaC1uYW1lPSJzdWJzY3JpcHQiIGQ9Ik03NjggNTB2LTUwaDEyOHYtNjRoLTE5MnYxNDZsMTI4IDYwdjUwaC0xMjh2NjRoMTkydi0xNDZ6TTY3NiA3MDRoLTEzNmwtMTg4LTE4OC0xODggMTg4aC0xMzZsMjU2LTI1Ni0yNTYtMjU2aDEzNmwxODggMTg4IDE4OC0xODhoMTM2bC0yNTYgMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWY7IiBnbHlwaC1uYW1lPSJzdXBlcnNjcmlwdCIgZD0iTTc2OCA3NTR2LTUwaDEyOHYtNjRoLTE5MnYxNDZsMTI4IDYwdjUwaC0xMjh2NjRoMTkydi0xNDZ6TTY3NiA3MDRoLTEzNmwtMTg4LTE4OC0xODggMTg4aC0xMzZsMjU2LTI1Ni0yNTYtMjU2aDEzNmwxODggMTg4IDE4OC0xODhoMTM2bC0yNTYgMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBnbHlwaC1uYW1lPSJjaGFybWFwIiBkPSJNNzA0IDEyOHYzNy4wMDRjMTUxLjM0OCA2MS42MjggMjU2IDE5My44MiAyNTYgMzQ2Ljk5NiAwIDIxMi4wNzgtMjAwLjU3NiAzODQtNDQ4IDM4NHMtNDQ4LTE3MS45MjItNDQ4LTM4NGMwLTE1My4xNzYgMTA0LjY1NC0yODUuMzY4IDI1Ni0zNDYuOTk2di0zNy4wMDRoLTE5MmwtNjQgOTZ2LTIyNGgzMjB2MjIyLjgxMmMtMTAwLjkgNTEuMzYyLTE3MC42NjYgMTYxLjU0LTE3MC42NjYgMjg5LjE4OCAwIDE3Ni43MzIgMTMzLjcxOCAzMjAgMjk4LjY2NiAzMjBzMjk4LjY2Ni0xNDMuMjY4IDI5OC42NjYtMzIwYzAtMTI3LjY0OC02OS43NjYtMjM3LjgyNi0xNzAuNjY2LTI4OS4xODh2LTIyMi44MTJoMzIwdjIyNGwtNjQtOTZoLTE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIxOyIgZ2x5cGgtbmFtZT0iZW1vdGljb25zIiBkPSJNNTEyIDgyMGM5OS4zNjYgMCAxOTIuNzgyLTM4LjY5NCAyNjMuMDQyLTEwOC45NTZzMTA4Ljk1OC0xNjMuNjc4IDEwOC45NTgtMjYzLjA0NC0zOC42OTYtMTkyLjc4Mi0xMDguOTU4LTI2My4wNDItMTYzLjY3Ni0xMDguOTU4LTI2My4wNDItMTA4Ljk1OC0xOTIuNzgyIDM4LjY5Ni0yNjMuMDQ0IDEwOC45NTgtMTA4Ljk1NiAxNjMuNjc2LTEwOC45NTYgMjYzLjA0MiAzOC42OTQgMTkyLjc4MiAxMDguOTU2IDI2My4wNDQgMTYzLjY3OCAxMDguOTU2IDI2My4wNDQgMTA4Ljk1NnpNNTEyIDg5NmMtMjQ3LjQyNCAwLTQ0OC0yMDAuNTc2LTQ0OC00NDhzMjAwLjU3Ni00NDggNDQ4LTQ0OCA0NDggMjAwLjU3NiA0NDggNDQ4LTIwMC41NzYgNDQ4LTQ0OCA0NDh2MHpNMzIwIDU3NmMwLTM1LjM0NiAyOC42NTQtNjQgNjQtNjRzNjQgMjguNjU0IDY0IDY0YzAgMzUuMzQ2LTI4LjY1NCA2NC02NCA2NHMtNjQtMjguNjU0LTY0LTY0ek01NzYgNTc2YzAtMzUuMzQ2IDI4LjY1NC02NCA2NC02NHM2NCAyOC42NTQgNjQgNjRjMCAzNS4zNDYtMjguNjU0IDY0LTY0IDY0cy02NC0yOC42NTQtNjQtNjR6TTUxMiAzMDRjLTEwMS44NCAwLTE5Mi41NiAzNi44NzQtMjUxLjE2NiA5NC4zMjggMjMuMTI2LTExNy42MDggMTI2Ljc3OC0yMDYuMzI4IDI1MS4xNjYtMjA2LjMyOHMyMjguMDQwIDg4LjcyIDI1MS4xNjggMjA2LjMyOGMtNTguNjA4LTU3LjQ1NC0xNDkuMzI4LTk0LjMyOC0yNTEuMTY4LTk0LjMyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZ2x5cGgtbmFtZT0icHJpbnQiIGQ9Ik0yNTYgODMyaDUxMnYtMTI4aC01MTJ2MTI4ek04OTYgNjQwaC03NjhjLTM1LjIgMC02NC0yOC44LTY0LTY0di0yNTZjMC0zNS4yIDI4Ljc5Ni02NCA2NC02NGgxMjh2LTE5Mmg1MTJ2MTkyaDEyOGMzNS4yIDAgNjQgMjguOCA2NCA2NHYyNTZjMCAzNS4yLTI4LjggNjQtNjQgNjR6TTcwNCAxMjhoLTM4NHYyNTZoMzg0di0yNTZ6TTkxMC40IDU0NGMwLTI1LjYyNi0yMC43NzQtNDYuNC00Ni4zOTgtNDYuNHMtNDYuNDAyIDIwLjc3NC00Ni40MDIgNDYuNCAyMC43NzggNDYuNCA0Ni40MDIgNDYuNGMyNS42MjYgMCA0Ni4zOTgtMjAuNzc0IDQ2LjM5OC00Ni40eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBnbHlwaC1uYW1lPSJmdWxsc2NyZWVuIiBkPSJNNDgwIDU3NmwtMTkyIDE5MiAxMjggMTI4aC0zNTJ2LTM1MmwxMjggMTI4IDE5Mi0xOTJ6TTY0MCA0ODBsMTkyIDE5MiAxMjgtMTI4djM1MmgtMzUybDEyOC0xMjgtMTkyLTE5MnpNNTQ0IDMyMGwxOTItMTkyLTEyOC0xMjhoMzUydjM1MmwtMTI4LTEyOC0xOTIgMTkyek0zODQgNDE2bC0xOTItMTkyLTEyOCAxMjh2LTM1MmgzNTJsLTEyOCAxMjggMTkyIDE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZ2x5cGgtbmFtZT0ic3BlbGxjaGVjayIgZD0iTTk2MCA4MzJ2NjRoLTE5MmMtMzUuMjAyIDAtNjQtMjguOC02NC02NHYtMzIwYzAtMTUuODU2IDUuODU4LTMwLjQwMiAxNS40OTYtNDEuNjE0bC0zMDMuNDk2LTI2MC4zODYtMTQyIDE0OC04Mi03MCAyMjQtMjg4IDQxNiA0NDhoMTI4djY0aC0xOTJ2MzIwaDE5MnpNMjU2IDQ0OGg2NHYzODRjMCAzNS4yLTI4LjggNjQtNjQgNjRoLTEyOGMtMzUuMiAwLTY0LTI4LjgtNjQtNjR2LTM4NGg2NHYxOTJoMTI4di0xOTJ6TTEyOCA3MDR2MTI4aDEyOHYtMTI4aC0xMjh6TTY0MCA1MTJ2OTZjMCAzNS4yLTguOCA2NC00NCA2NCAzNS4yIDAgNDQgMjguOCA0NCA2NHY5NmMwIDM1LjItMjguOCA2NC02NCA2NGgtMTkydi00NDhoMTkyYzM1LjIgMCA2NCAyOC44IDY0IDY0ek00NDggODMyaDEyOHYtMTI4aC0xMjh2MTI4ek00NDggNjQwaDEyOHYtMTI4aC0xMjh2MTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjU7IiBnbHlwaC1uYW1lPSJub25icmVha2luZyIgZD0iTTQ0OCA0NDhoLTEyOHYxMjhoMTI4djEyOGgxMjh2LTEyOGgxMjh2LTEyOGgtMTI4di0xMjhoLTEyOHYxMjh6TTk2MCAzODR2LTMyMGgtODk2djMyMGgxMjh2LTE5Mmg2NDB2MTkyaDEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZ2x5cGgtbmFtZT0idGVtcGxhdGUiIGQ9Ik01MTIgNTc2aDEyOHYtNjRoLTEyOHpNNTEyIDE5MmgxMjh2LTY0aC0xMjh6TTU3NiAzODRoMTI4di02NGgtMTI4ek03NjggMzg0di0xOTJoLTY0di02NGgxMjh2MjU2ek0zODQgMzg0aDEyOHYtNjRoLTEyOHpNMzIwIDE5MmgxMjh2LTY0aC0xMjh6TTMyMCA1NzZoMTI4di02NGgtMTI4ek0xOTIgNzY4di0yNTZoNjR2MTkyaDY0djY0ek03MDQgNTEyaDEyOHYyNTZoLTY0di0xOTJoLTY0ek02NCA4OTZ2LTg5Nmg4OTZ2ODk2aC04OTZ6TTg5NiA2NGgtNzY4djc2OGg3Njh2LTc2OHpNMTkyIDM4NHYtMjU2aDY0djE5Mmg2NHY2NHpNNTc2IDc2OGgxMjh2LTY0aC0xMjh6TTM4NCA3NjhoMTI4di02NGgtMTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjc7IiBnbHlwaC1uYW1lPSJwYWdlYnJlYWsiIGQ9Ik04MTYgODk2bDE2LTM4NGgtNjQwbDE2IDM4NGgzMmwxNi0zMjBoNTEybDE2IDMyMGgzMnpNMjA4IDBsLTE2IDMyMGg2NDBsLTE2LTMyMGgtMzJsLTE2IDI1NmgtNTEybC0xNi0yNTZoLTMyek02NCA0NDhoMTI4di02NGgtMTI4ek0yNTYgNDQ4aDEyOHYtNjRoLTEyOHpNNDQ4IDQ0OGgxMjh2LTY0aC0xMjh6TTY0MCA0NDhoMTI4di02NGgtMTI4ek04MzIgNDQ4aDEyOHYtNjRoLTEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZ2x5cGgtbmFtZT0icmVzdG9yZWRyYWZ0IiBkPSJNNTc2IDg5NmMyNDcuNDI0IDAgNDQ4LTIwMC41NzYgNDQ4LTQ0OHMtMjAwLjU3Ni00NDgtNDQ4LTQ0OHY5NmM5NC4wMjQgMCAxODIuNDE4IDM2LjYxNCAyNDguOTAyIDEwMy4wOThzMTAzLjA5OCAxNTQuODc4IDEwMy4wOTggMjQ4LjkwMmMwIDk0LjAyMi0zNi42MTQgMTgyLjQxOC0xMDMuMDk4IDI0OC45MDJzLTE1NC44NzggMTAzLjA5OC0yNDguOTAyIDEwMy4wOThjLTk0LjAyMiAwLTE4Mi40MTgtMzYuNjE0LTI0OC45MDItMTAzLjA5OC01MS4xNC01MS4xMzgtODQuNTgyLTExNS4yNDYtOTcuMzA2LTE4NC45MDJoMTg2LjIwOGwtMjI0LTI1Ni0yMjQgMjU2aDE2NC41N2MzMS4wNjAgMjE3LjEwMiAyMTcuNzM4IDM4NCA0NDMuNDMgMzg0ek03NjggNTEydi0xMjhoLTI1NnYzMjBoMTI4di0xOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyYTsiIGdseXBoLW5hbWU9ImJvbGQiIGQ9Ik02MjUuNDQyIDQ2NS44MThjNDguMDc0IDM4LjE1IDc4LjU1OCA5NC44NTYgNzguNTU4IDE1OC4xODIgMCAxMTQuODc2LTEwMC4yOSAyMDgtMjI0IDIwOGgtMjI0di03NjhoMjg4YzEyMy43MTIgMCAyMjQgOTMuMTI0IDIyNCAyMDggMCA4OC4xOTYtNTkuMTE4IDE2My41NjItMTQyLjU1OCAxOTMuODE4ek0zODQgNjU2YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNjcuMjA0YzQyLjQxNCAwIDc2Ljc5Ni00Mi45OCA3Ni43OTYtOTZzLTM0LjM4Mi05Ni03Ni43OTYtOTZoLTExNS4yMDR2MTQ0ek01NDcuMiAxOTJoLTExNS4yYy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djE0NGgxNjMuMmM0Mi40MTggMCA3Ni44LTQyLjk4IDc2LjgtOTZzLTM0LjM4Mi05Ni03Ni44LTk2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMmI7IiBnbHlwaC1uYW1lPSJpdGFsaWMiIGQ9Ik04MzIgODMydi02NGgtMTQ0bC0yNTYtNjQwaDE0NHYtNjRoLTQ0OHY2NGgxNDRsMjU2IDY0MGgtMTQ0djY0aDQ0OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDJjOyIgZ2x5cGgtbmFtZT0idW5kZXJsaW5lIiBkPSJNMTkyIDEyOGg1NzZ2LTY0aC01NzZ2NjR6TTY0MCA4MzJ2LTM4NGMwLTMxLjMxMi0xNC43LTYxLjYyNC00MS4zOS04NS4zNTItMzAuOTQyLTI3LjUwMi03My4wNjgtNDIuNjQ4LTExOC42MS00Mi42NDgtNDUuNTQ0IDAtODcuNjY4IDE1LjE0Ni0xMTguNjA4IDQyLjY0OC0yNi42OTIgMjMuNzI4LTQxLjM5MiA1NC4wNDAtNDEuMzkyIDg1LjM1MnYzODRoLTEyOHYtMzg0YzAtMTQxLjM4MiAxMjguOTQyLTI1NiAyODgtMjU2czI4OCAxMTQuNjE4IDI4OCAyNTZ2Mzg0aC0xMjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyZDsiIGdseXBoLW5hbWU9InN0cmlrZXRocm91Z2giIGQ9Ik05NjAgNDQ4aC0yNjUuODc2Yy01MC4wNzggMzUuNDItMTE0LjQzIDU0Ljg2LTE4Mi4xMjQgNTQuODYtODkuMjA2IDAtMTY0LjU3MiA1MC4yNDItMTY0LjU3MiAxMDkuNzEyczc1LjM2NiAxMDkuNzE0IDE2NC41NzIgMTA5LjcxNGM3NS4wNTggMCAxNDAuMzA4LTM1LjU3NiAxNTkuMTItODIuMjg2aDExMy4wMTZjLTcuOTMgNTAuNjQ0LTM3LjU4IDk3Ljk2OC04NC4wNTggMTMyLjgyNi01MC44OCAzOC4xNi0xMTcuNjc2IDU5LjE3NC0xODguMDc4IDU5LjE3NC03MC40MDQgMC0xMzcuMTk2LTIxLjAxNC0xODguMDc0LTU5LjE3NC01NC43ODgtNDEuMDkwLTg2LjIxMi05OS41MDItODYuMjEyLTE2MC4yNTRzMzEuNDI0LTExOS4xNjQgODYuMjEyLTE2MC4yNTRjMS45NTYtMS40NjYgMy45NDItMi44OTggNS45NDYtNC4zMTZoLTI2NS44NzJ2LTY0aDUxMi41MzJjNTguMjA4LTE3LjEwNiAxMDAuMDQyLTU2LjI3IDEwMC4wNDItMTAwLjU3MiAwLTU5LjQ2OC03NS4zNjgtMTA5LjcxLTE2NC41NzItMTA5LjcxLTc1LjA2MCAwLTE0MC4zMDggMzUuNTc0LTE1OS4xMTggODIuMjg2aC0xMTMuMDE2YzcuOTMtNTAuNjQgMzcuNTgyLTk3Ljk2OCA4NC4wNjAtMTMyLjgyNiA1MC44NzYtMzguMTY0IDExNy42NjgtNTkuMTggMTg4LjA3Mi01OS4xOCA3MC40MDIgMCAxMzcuMTk4IDIxLjAxNiAxODguMDc0IDU5LjE3NCA1NC43OSA0MS4wOTAgODYuMjA4IDk5LjUwMiA4Ni4yMDggMTYwLjI1NCAwIDM1LjI5OC0xMC42NTQgNjkuNzkyLTMwLjI5NCAxMDAuNTcyaDIwNC4wMTJ2NjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyZTsiIGdseXBoLW5hbWU9InZpc3VhbGNoYXJzIiBkPSJNMzg0IDgzMmMtMTIzLjcxMiAwLTIyNC0xMDAuMjg4LTIyNC0yMjRzMTAwLjI4OC0yMjQgMjI0LTIyNHYtMzIwaDEyOHY2NDBoNjR2LTY0MGgxMjh2NjQwaDEyOHYxMjhoLTQ0OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDJmOyIgZ2x5cGgtbmFtZT0ibHRyIiBkPSJNNDQ4IDgzMmMtMTIzLjcxMiAwLTIyNC0xMDAuMjg4LTIyNC0yMjRzMTAwLjI4OC0yMjQgMjI0LTIyNHYtMzIwaDEyOHY2NDBoNjR2LTY0MGgxMjh2NjQwaDEyOHYxMjhoLTQ0OHpNNjQgNjRsMjI0IDE5Mi0yMjQgMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzA7IiBnbHlwaC1uYW1lPSJydGwiIGQ9Ik0zMjAgODMyYy0xMjMuNzEyIDAtMjI0LTEwMC4yODgtMjI0LTIyNHMxMDAuMjg4LTIyNCAyMjQtMjI0di0zMjBoMTI4djY0MGg2NHYtNjQwaDEyOHY2NDBoMTI4djEyOGgtNDQ4ek05NjAgNDQ4bC0yMjQtMTkyIDIyNC0xOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMTsiIGdseXBoLW5hbWU9ImNvcHkiIGQ9Ik04MzIgNjQwaC0xOTJ2NjRsLTE5MiAxOTJoLTM4NHYtNzA0aDM4NHYtMTkyaDU3NnY0NDhsLTE5MiAxOTJ6TTgzMiA1NDkuNDlsMTAxLjQ5LTEwMS40OWgtMTAxLjQ5djEwMS40OXpNNDQ4IDgwNS40OWwxMDEuNDktMTAxLjQ5aC0xMDEuNDl2MTAxLjQ5ek0xMjggODMyaDI1NnYtMTkyaDE5MnYtMzg0aC00NDh2NTc2ek05NjAgNjRoLTQ0OHYxMjhoMTI4djM4NGgxMjh2LTE5MmgxOTJ2LTMyMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZ2x5cGgtbmFtZT0icmVzaXplIiBkPSJNNzY4IDcwNGg2NHYtNjRoLTY0ek02NDAgNTc2aDY0di02NGgtNjR6TTY0MCA0NDhoNjR2LTY0aC02NHpNNjQwIDMyMGg2NHYtNjRoLTY0ek01MTIgNDQ4aDY0di02NGgtNjR6TTUxMiAzMjBoNjR2LTY0aC02NHpNMzg0IDMyMGg2NHYtNjRoLTY0ek03NjggNTc2aDY0di02NGgtNjR6TTc2OCA0NDhoNjR2LTY0aC02NHpNNzY4IDMyMGg2NHYtNjRoLTY0ek03NjggMTkyaDY0di02NGgtNjR6TTY0MCAxOTJoNjR2LTY0aC02NHpNNTEyIDE5Mmg2NHYtNjRoLTY0ek0zODQgMTkyaDY0di02NGgtNjR6TTI1NiAxOTJoNjR2LTY0aC02NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM0OyIgZ2x5cGgtbmFtZT0iYnJvd3NlIiBkPSJNOTI4IDgzMmgtNDE2bC0zMiA2NGgtMzUybC02NC0xMjhoODk2ek04NDAuMzQgMjU2aDg3LjY2bDMyIDQ0OGgtODk2bDY0LTY0MGgzNTYuMDgwYy0xMDQuODgyIDM3Ljc3Ni0xODAuMDgwIDEzOC4yNjYtMTgwLjA4MCAyNTYgMCAxNDkuOTgyIDEyMi4wMTggMjcyIDI3MiAyNzIgMTQ5Ljk4IDAgMjcyLTEyMi4wMTggMjcyLTI3MiAwLTIxLjY3OC0yLjYyMi00My4xNS03LjY2LTY0ek04NzQuOTk2IDExMC4yNWwtMTM0LjQ5NiAxMTAuNjkyYzE3LjQ1NCAyOC45MjIgMjcuNSA2Mi44MTQgMjcuNSA5OS4wNTggMCAxMDYuMDQwLTg1Ljk2IDE5Mi0xOTIgMTkycy0xOTItODUuOTYtMTkyLTE5MiA4NS45Ni0xOTIgMTkyLTE5MmMzNi4yNDQgMCA3MC4xMzggMTAuMDQ2IDk5LjA1OCAyNy41bDExMC42OTItMTM0LjQ5NmMyMi45NjItMjYuNjc4IDYyLjExOC0yOC4xNCA4Ny4wMDYtMy4yNTJsNS40OTIgNS40OTJjMjQuODg4IDI0Ljg4OCAyMy40MjYgNjQuMDQ0LTMuMjUyIDg3LjAwNnpNNTc2IDE5NmMtNjguNDg0IDAtMTI0IDU1LjUxNi0xMjQgMTI0czU1LjUxNiAxMjQgMTI0IDEyNCAxMjQtNTUuNTE2IDEyNC0xMjQtNTUuNTE2LTEyNC0xMjQtMTI0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzU7IiBnbHlwaC1uYW1lPSJwYXN0ZXRleHQiIGQ9Ik03MDQgNTc2djE2MGMwIDE3LjYtMTQuNCAzMi0zMiAzMmgtMTYwdjY0YzAgMzUuMi0yOC44IDY0LTY0IDY0aC0xMjhjLTM1LjIwNCAwLTY0LTI4LjgtNjQtNjR2LTY0aC0xNjBjLTE3LjYwMiAwLTMyLTE0LjQtMzItMzJ2LTUxMmMwLTE3LjYgMTQuMzk4LTMyIDMyLTMyaDIyNHYtMTkyaDU3NnY1NzZoLTE5MnpNMzIwIDgzMS44ODZjMC4wMzQgMC4wMzggMC4wNzIgMC4wNzggMC4xMTQgMC4xMTRoMTI3Ljc2OGMwLjA0Mi0wLjAzNiAwLjA4Mi0wLjA3NiAwLjExOC0wLjExNHYtNjMuODg2aC0xMjh2NjMuODg2ek0xOTIgNjQwdjY0aDM4NHYtNjRoLTM4NHpNODMyIDY0aC00NDh2NDQ4aDQ0OHYtNDQ4ek00NDggNDQ4di0xMjhoMzJsMzIgNjRoNjR2LTE5MmgtNDh2LTY0aDE2MHY2NGgtNDh2MTkyaDY0bDMyLTY0aDMydjEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlNjAzOyIgZ2x5cGgtbmFtZT0iY29kZXNhbXBsZSIgZD0iTTIwMC4wMTUgNTc3Ljk5NHYxMDMuOTk0YzAgNDMuMDc3IDM0LjkxOSA3Ny45OTcgNzcuOTk3IDc3Ljk5N2gyNnYxMDMuOTk0aC0yNmMtMTAwLjUxIDAtMTgxLjk5MS04MS40ODEtMTgxLjk5MS0xODEuOTkxdi0xMDMuOTk0YzAtNDMuMDc3LTM0LjkxOS03Ny45OTctNzcuOTk3LTc3Ljk5N2gtMjZ2LTEwMy45OTRoMjZjNDMuMDc3IDAgNzcuOTk3LTM0LjkxOSA3Ny45OTctNzcuOTk3di0xMDMuOTk0YzAtMTAwLjUwOSA4MS40ODEtMTgxLjk5MSAxODEuOTkxLTE4MS45OTFoMjZ2MTAzLjk5NGgtMjZjLTQzLjA3NyAwLTc3Ljk5NyAzNC45MTktNzcuOTk3IDc3Ljk5N3YxMDMuOTk0YzAgNTAuOTI3LTIwLjkyOCA5Ni45NjEtNTQuNjQyIDEyOS45OTQgMzMuNzE0IDMzLjAzMiA1NC42NDIgNzkuMDY1IDU0LjY0MiAxMjkuOTk0ek04MjMuOTg1IDU3Ny45OTR2MTAzLjk5NGMwIDQzLjA3Ny0zNC45MTkgNzcuOTk3LTc3Ljk5NyA3Ny45OTdoLTI2djEwMy45OTRoMjZjMTAwLjUwOSAwIDE4MS45OTEtODEuNDgxIDE4MS45OTEtMTgxLjk5MXYtMTAzLjk5NGMwLTQzLjA3NyAzNC45MTktNzcuOTk3IDc3Ljk5Ny03Ny45OTdoMjZ2LTEwMy45OTRoLTI2Yy00My4wNzcgMC03Ny45OTctMzQuOTE5LTc3Ljk5Ny03Ny45OTd2LTEwMy45OTRjMC0xMDAuNTA5LTgxLjQ4Mi0xODEuOTkxLTE4MS45OTEtMTgxLjk5MWgtMjZ2MTAzLjk5NGgyNmM0My4wNzcgMCA3Ny45OTcgMzQuOTE5IDc3Ljk5NyA3Ny45OTd2MTAzLjk5NGMwIDUwLjkyNyAyMC45MjggOTYuOTYxIDU0LjY0MiAxMjkuOTk0LTMzLjcxNCAzMy4wMzItNTQuNjQyIDc5LjA2NS01NC42NDIgMTI5Ljk5NHpNNjE1Ljk5NyA2MDMuMjc3YzAtNTcuNDM1LTQ2LjU2LTEwMy45OTQtMTAzLjk5NC0xMDMuOTk0cy0xMDMuOTk0IDQ2LjU2LTEwMy45OTQgMTAzLjk5NGMwIDU3LjQzNSA0Ni41NiAxMDMuOTk0IDEwMy45OTQgMTAzLjk5NHMxMDMuOTk0LTQ2LjU2IDEwMy45OTQtMTAzLjk5NHpNNTEyIDQ0OC43MTdjLTU3LjQzNSAwLTEwMy45OTQtNDYuNTYtMTAzLjk5NC0xMDMuOTk0IDAtNTUuODQxIDI2LTEwMC4xMDcgMTA1Ljc0Ny0xMDMuODc1LTIzLjcxNS0zMy40MTMtNTkuNDM3LTQ2LjYwOC0xMDUuNzQ3LTUwLjk0di02MS43NDdjMCAwIDIwNy45OTEtMTguMTQ0IDIwNy45OTEgMjE2LjU2MS0wLjIwMiA1Ny40MzctNDYuNTYgMTAzLjk5Ni0xMDMuOTk0IDEwMy45OTZ6IiAvPgo8L2ZvbnQ+PC9kZWZzPjwvc3ZnPg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce-small.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce.eot</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+R2VuZXJhdGVkIGJ5IEljb01vb248L21ldGFkYXRhPgo8ZGVmcz4KPGZvbnQgaWQ9InRpbnltY2UiIGhvcml6LWFkdi14PSIxMDI0Ij4KPGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjEwMjQiIGFzY2VudD0iOTYwIiBkZXNjZW50PSItNjQiIC8+CjxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxMDI0IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjA7IiBob3Jpei1hZHYteD0iNTEyIiBkPSIiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAwOyIgZ2x5cGgtbmFtZT0ic2F2ZSIgZD0iTTg5NiA5NjBoLTg5NnYtMTAyNGgxMDI0djg5NmwtMTI4IDEyOHpNNTEyIDgzMmgxMjh2LTI1NmgtMTI4djI1NnpNODk2IDY0aC03Njh2NzY4aDY0di0zMjBoNTc2djMyMGg3NC45NzhsNTMuMDIyLTUzLjAxOHYtNzE0Ljk4MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAxOyIgZ2x5cGgtbmFtZT0ibmV3ZG9jdW1lbnQiIGQ9Ik05MDMuNDMyIDc2MC41N2wtMTQyLjg2NCAxNDIuODYyYy0zMS4xMTIgMzEuMTEyLTkyLjU2OCA1Ni41NjgtMTM2LjU2OCA1Ni41NjhoLTQ4MGMtNDQgMC04MC0zNi04MC04MHYtODY0YzAtNDQgMzYtODAgODAtODBoNzM2YzQ0IDAgODAgMzYgODAgODB2NjA4YzAgNDQtMjUuNDU2IDEwNS40NTgtNTYuNTY4IDEzNi41N3pNODU4LjE3OCA3MTUuMzE0YzMuMTMtMy4xMyA2LjI1LTYuOTc0IDkuMjgtMTEuMzE0aC0xNjMuNDU4djE2My40NTZjNC4zNC0zLjAzMCA4LjE4NC02LjE1IDExLjMxNC05LjI4bDE0Mi44NjQtMTQyLjg2MnpNODk2IDE2YzAtOC42NzItNy4zMjgtMTYtMTYtMTZoLTczNmMtOC42NzIgMC0xNiA3LjMyOC0xNiAxNnY4NjRjMCA4LjY3MiA3LjMyOCAxNiAxNiAxNmg0ODBjNC44MzIgMCAxMC4yNTQtMC42MSAxNi0xLjcwNHYtMjU0LjI5NmgyNTQuMjk2YzEuMDk0LTUuNzQ2IDEuNzA0LTExLjE2NiAxLjcwNC0xNnYtNjA4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDI7IiBnbHlwaC1uYW1lPSJmdWxscGFnZSIgZD0iTTEwMjQgMzY3LjU0MnYxNjAuOTE2bC0xNTkuMTQ0IDE1LjkxNGMtOC4xODYgMzAuMDQyLTIwLjA4OCA1OC41NDgtMzUuMjEgODQuOThsMTA0LjU5NiAxMjcuODM4LTExMy4wNTIgMTEzLjA1MC0xMjcuODM2LTEwNC41OTZjLTI2LjQzNCAxNS4xMjQtNTQuOTQyIDI3LjAyNi04NC45ODIgMzUuMjA4bC0xNS45MTQgMTU5LjE0OGgtMTYwLjkxNmwtMTUuOTE0LTE1OS4xNDZjLTMwLjA0Mi04LjE4Ni01OC41NDgtMjAuMDg2LTg0Ljk4LTM1LjIwOGwtMTI3LjgzOCAxMDQuNTk0LTExMy4wNTAtMTEzLjA1MCAxMDQuNTk2LTEyNy44MzZjLTE1LjEyNC0yNi40MzItMjcuMDI2LTU0Ljk0LTM1LjIxLTg0Ljk4bC0xNTkuMTQ2LTE1LjkxNnYtMTYwLjkxNmwxNTkuMTQ2LTE1LjkxNGM4LjE4Ni0zMC4wNDIgMjAuMDg2LTU4LjU0OCAzNS4yMS04NC45ODJsLTEwNC41OTYtMTI3LjgzNiAxMTMuMDQ4LTExMy4wNDggMTI3LjgzOCAxMDQuNTk2YzI2LjQzMi0xNS4xMjQgNTQuOTQtMjcuMDI4IDg0Ljk4LTM1LjIxbDE1LjkxNi0xNTkuMTQ4aDE2MC45MTZsMTUuOTE0IDE1OS4xNDRjMzAuMDQyIDguMTg2IDU4LjU0OCAyMC4wODggODQuOTgyIDM1LjIxbDEyNy44MzYtMTA0LjU5NiAxMTMuMDQ4IDExMy4wNDgtMTA0LjU5NiAxMjcuODM2YzE1LjEyNCAyNi40MzQgMjcuMDI4IDU0Ljk0MiAzNS4yMSA4NC45OGwxNTkuMTQ4IDE1Ljkyek03MDQgMzg0bC0xMjgtMTI4aC0xMjhsLTEyOCAxMjh2MTI4bDEyOCAxMjhoMTI4bDEyOC0xMjh2LTEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAzOyIgZ2x5cGgtbmFtZT0iYWxpZ25sZWZ0IiBkPSJNMCA4OTZoMTAyNHYtMTI4aC0xMDI0ek0wIDcwNGg2NDB2LTEyOGgtNjQwek0wIDMyMGg2NDB2LTEyOGgtNjQwek0wIDUxMmgxMDI0di0xMjhoLTEwMjR6TTAgMTI4aDEwMjR2LTEyOGgtMTAyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA0OyIgZ2x5cGgtbmFtZT0iYWxpZ25jZW50ZXIiIGQ9Ik0wIDg5NmgxMDI0di0xMjhoLTEwMjR6TTE5MiA3MDRoNjQwdi0xMjhoLTY0MHpNMTkyIDMyMGg2NDB2LTEyOGgtNjQwek0wIDUxMmgxMDI0di0xMjhoLTEwMjR6TTAgMTI4aDEwMjR2LTEyOGgtMTAyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA1OyIgZ2x5cGgtbmFtZT0iYWxpZ25yaWdodCIgZD0iTTAgODk2aDEwMjR2LTEyOGgtMTAyNHpNMzg0IDcwNGg2NDB2LTEyOGgtNjQwek0zODQgMzIwaDY0MHYtMTI4aC02NDB6TTAgNTEyaDEwMjR2LTEyOGgtMTAyNHpNMCAxMjhoMTAyNHYtMTI4aC0xMDI0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDY7IiBnbHlwaC1uYW1lPSJhbGlnbmp1c3RpZnkiIGQ9Ik0wIDg5NmgxMDI0di0xMjhoLTEwMjR6TTAgNzA0aDEwMjR2LTEyOGgtMTAyNHpNMCA1MTJoMTAyNHYtMTI4aC0xMDI0ek0wIDMyMGgxMDI0di0xMjhoLTEwMjR6TTAgMTI4aDEwMjR2LTEyOGgtMTAyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA3OyIgZ2x5cGgtbmFtZT0iY3V0IiBkPSJNODkwLjc3NCAyNTAuODQ2Yy00NS42NTQgNDUuNTU2LTEwMy43MjggNjkuMDcyLTE1Ny45NDYgNjkuMDcyaC0yOS4xMTJsLTYzLjkwNCA2NC4wMDggMjU1LjYyIDI1Ni4wMzhjNjMuOTA0IDY0LjAxMCA2My45MDQgMTkyLjAyOCAwIDI1Ni4wMzhsLTM4My40My0zODQuMDU2LTM4My40MzIgMzg0LjA1NGMtNjMuOTA0LTY0LjAwOC02My45MDQtMTkyLjAyOCAwLTI1Ni4wMzhsMjU1LjYyMi0yNTYuMDM0LTYzLjkwNi02NC4wMDhoLTI5LjExNGMtNTQuMjIgMC0xMTIuMjkyLTIzLjUxOC0xNTcuOTQ4LTY5LjA3Ni04MS42MjItODEuNDQyLTkyLjY1LTIwMi40ODQtMjQuNjMtMjcwLjM1IDI5Ljk3LTI5LjkwMiA3MC4yODgtNDQuNDk0IDExMi45OTYtNDQuNDk0IDU0LjIxNiAwIDExMi4yOSAyMy41MTQgMTU3Ljk0NiA2OS4wNzIgNTMuNTg0IDUzLjQ2NCA3Ni43NDIgMTI0IDY3LjA4NCAxODUuMzQ4bDY1LjM4NCA2NS40ODggNjUuMzc2LTY1LjQ4OGMtOS42NTYtNjEuMzQ4IDEzLjUwNi0xMzEuODgyIDY3LjA4NC0xODUuMzQ4IDQ1LjY2Mi00NS41NTggMTAzLjczMi02OS4wNzIgMTU3Ljk0OC02OS4wNzIgNDIuNzA4IDAgODMuMDI0IDE0LjU5MiAxMTIuOTk0IDQ0LjQ5NiA2OC4wMjAgNjcuODY2IDU2Ljk4OCAxODguOTA4LTI0LjYzMiAyNzAuMzV6TTM1My4wMjQgMTE0LjQ2MmMtNy42OTgtMTcuODgyLTE5LjAxMC0zNC4zNDYtMzMuNjI2LTQ4LjkyNi0xNC42MzYtMTQuNjA0LTMxLjE3Mi0yNS45MTgtNDkuMTQ4LTMzLjYyNC0xNi4xMzItNi45MTYtMzIuOTYtMTAuNTY4LTQ4LjY2Mi0xMC41NjgtMTUuMTQ2IDAtMzYuNjEyIDMuNDAyLTUyLjg2MiAxOS42MTItMTYuMTM2IDE2LjEwNC0xOS41MiAzNy4zMTgtMTkuNTIgNTIuMjg4IDAgMTUuNTQyIDMuNjQyIDMyLjIxIDEwLjUyNiA0OC4yMTIgNy43IDE3Ljg4NCAxOS4wMTQgMzQuMzQ2IDMzLjYyNiA0OC45MjYgMTQuNjM0IDE0LjYwNiAzMS4xNzIgMjUuOTE0IDQ5LjE1IDMzLjYyNCAxNi4xMzQgNi45MTQgMzIuOTYgMTAuNTY4IDQ4LjY2NCAxMC41NjggMTUuMTQ2IDAgMzYuNjEyLTMuNCA1Mi44NTgtMTkuNjE0IDE2LjEzNC0xNi4wOTggMTkuNTIyLTM3LjMxNiAxOS41MjItNTIuMjg0IDAuMDAyLTE1LjU0Mi0zLjYzOC0zMi4yMTYtMTAuNTI4LTQ4LjIxNHpNNTEyLjAwNCAyOTMuNDA0Yy00OS45MTQgMC05MC4zNzYgNDAuNTMyLTkwLjM3NiA5MC41MjYgMCA0OS45OTIgNDAuNDYyIDkwLjUyIDkwLjM3NiA5MC41MnM5MC4zNzItNDAuNTI4IDkwLjM3Mi05MC41MmMwLTQ5Ljk5OC00MC40Ni05MC41MjYtOTAuMzcyLTkwLjUyNnpNODU1LjI3MiA0MC45NThjLTE2LjI0OC0xNi4yMDgtMzcuNzEyLTE5LjYxMi01Mi44Ni0xOS42MTItMTUuNzA0IDAtMzIuNTMgMy42NTItNDguNjY2IDEwLjU2OC0xNy45NzIgNy43MDYtMzQuNTA4IDE5LjAyMC00OS4xNDIgMzMuNjI0LTE0LjYxNCAxNC41OC0yNS45MjYgMzEuMDQyLTMzLjYyNiA0OC45MjYtNi44ODYgMTUuOTk4LTEwLjUyNiAzMi42NzItMTAuNTI2IDQ4LjIxMiAwIDE0Ljk2NiAzLjM4NCAzNi4xODggMTkuNTIgNTIuMjg2IDE2LjI0NiAxNi4yMDggMzcuNzEyIDE5LjYxNCA1Mi44NiAxOS42MTQgMTUuNyAwIDMyLjUzLTMuNjU0IDQ4LjY2LTEwLjU2OCAxNy45NzgtNy43MDggMzQuNTE2LTE5LjAxOCA0OS4xNS0zMy42MjQgMTQuNjEtMTQuNTggMjUuOTI0LTMxLjA0MiAzMy42MjYtNDguOTI2IDYuODg0LTE1Ljk5OCAxMC41MjYtMzIuNjcgMTAuNTI2LTQ4LjIxMi0wLjAwMi0xNC45Ny0zLjM5LTM2LjE4Ni0xOS41MjItNTIuMjg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDg7IiBnbHlwaC1uYW1lPSJwYXN0ZSIgZD0iTTgzMiA2NDB2MTYwYzAgMTcuNi0xNC40IDMyLTMyIDMyaC0yMjR2NjRjMCAzNS4yLTI4LjggNjQtNjQgNjRoLTEyOGMtMzUuMjA0IDAtNjQtMjguOC02NC02NHYtNjRoLTIyNGMtMTcuNjAyIDAtMzItMTQuNC0zMi0zMnYtNjQwYzAtMTcuNiAxNC4zOTgtMzIgMzItMzJoMjg4di0xOTJoNDQ4bDE5MiAxOTJ2NTEyaC0xOTJ6TTM4NCA4OTUuODg2YzAuMDM0IDAuMDM4IDAuMDcyIDAuMDc4IDAuMTE0IDAuMTE0aDEyNy43NjhjMC4wNDItMC4wMzYgMC4wODItMC4wNzYgMC4xMTgtMC4xMTR2LTYzLjg4NmgtMTI4djYzLjg4NnpNMTkyIDcwNHY2NGg1MTJ2LTY0aC01MTJ6TTgzMiAyNi41MXYxMDEuNDloMTAxLjQ5bC0xMDEuNDktMTAxLjQ5ek05NjAgMTkyaC0xOTJ2LTE5MmgtMzIwdjU3Nmg1MTJ2LTM4NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA5OyIgZ2x5cGgtbmFtZT0ic2VhcmNocmVwbGFjZSIgZD0iTTY0IDk2MGgzODR2LTY0aC0zODR6TTU3NiA5NjBoMzg0di02NGgtMzg0ek05NTIgNjQwaC01NnYyNTZoLTI1NnYtMjU2aC0yNTZ2MjU2aC0yNTZ2LTI1NmgtNTZjLTM5LjYgMC03Mi0zMi40LTcyLTcydi01NjBjMC0zOS42IDMyLjQtNzIgNzItNzJoMzA0YzM5LjYgMCA3MiAzMi40IDcyIDcydjM3NmgxMjh2LTM3NmMwLTM5LjYgMzIuNC03MiA3Mi03MmgzMDRjMzkuNiAwIDcyIDMyLjQgNzIgNzJ2NTYwYzAgMzkuNi0zMi40IDcyLTcyIDcyek0zNDggMGgtMjQ4Yy0xOS44IDAtMzYgMTQuNC0zNiAzMnMxNi4yIDMyIDM2IDMyaDI0OGMxOS44IDAgMzYtMTQuNCAzNi0zMnMtMTYuMi0zMi0zNi0zMnpNNTQ0IDQ0OGgtNjRjLTE3LjYgMC0zMiAxNC40LTMyIDMyczE0LjQgMzIgMzIgMzJoNjRjMTcuNiAwIDMyLTE0LjQgMzItMzJzLTE0LjQtMzItMzItMzJ6TTkyNCAwaC0yNDhjLTE5LjggMC0zNiAxNC40LTM2IDMyczE2LjIgMzIgMzYgMzJoMjQ4YzE5LjggMCAzNi0xNC40IDM2LTMycy0xNi4yLTMyLTM2LTMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGE7IiBnbHlwaC1uYW1lPSJidWxsaXN0IiBkPSJNMzg0IDg5Nmg2NDB2LTEyOGgtNjQwdjEyOHpNMzg0IDUxMmg2NDB2LTEyOGgtNjQwdjEyOHpNMzg0IDEyOGg2NDB2LTEyOGgtNjQwdjEyOHpNMCA4MzJjMCA3MC42OTIgNTcuMzA4IDEyOCAxMjggMTI4czEyOC01Ny4zMDggMTI4LTEyOGMwLTcwLjY5Mi01Ny4zMDgtMTI4LTEyOC0xMjhzLTEyOCA1Ny4zMDgtMTI4IDEyOHpNMCA0NDhjMCA3MC42OTIgNTcuMzA4IDEyOCAxMjggMTI4czEyOC01Ny4zMDggMTI4LTEyOGMwLTcwLjY5Mi01Ny4zMDgtMTI4LTEyOC0xMjhzLTEyOCA1Ny4zMDgtMTI4IDEyOHpNMCA2NGMwIDcwLjY5MiA1Ny4zMDggMTI4IDEyOCAxMjhzMTI4LTU3LjMwOCAxMjgtMTI4YzAtNzAuNjkyLTU3LjMwOC0xMjgtMTI4LTEyOHMtMTI4IDU3LjMwOC0xMjggMTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGI7IiBnbHlwaC1uYW1lPSJudW1saXN0IiBkPSJNMzg0IDEyOGg2NDB2LTEyOGgtNjQwek0zODQgNTEyaDY0MHYtMTI4aC02NDB6TTM4NCA4OTZoNjQwdi0xMjhoLTY0MHpNMTkyIDk2MHYtMjU2aC02NHYxOTJoLTY0djY0ek0xMjggNDM0di01MGgxMjh2LTY0aC0xOTJ2MTQ2bDEyOCA2MHY1MGgtMTI4djY0aDE5MnYtMTQ2ek0yNTYgMjU2di0zMjBoLTE5MnY2NGgxMjh2NjRoLTEyOHY2NGgxMjh2NjRoLTEyOHY2NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBjOyIgZ2x5cGgtbmFtZT0iaW5kZW50IiBkPSJNMCA4OTZoMTAyNHYtMTI4aC0xMDI0ek0zODQgNzA0aDY0MHYtMTI4aC02NDB6TTM4NCA1MTJoNjQwdi0xMjhoLTY0MHpNMzg0IDMyMGg2NDB2LTEyOGgtNjQwek0wIDEyOGgxMDI0di0xMjhoLTEwMjR6TTAgMjU2djM4NGwyNTYtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGQ7IiBnbHlwaC1uYW1lPSJvdXRkZW50IiBkPSJNMCA4OTZoMTAyNHYtMTI4aC0xMDI0ek0zODQgNzA0aDY0MHYtMTI4aC02NDB6TTM4NCA1MTJoNjQwdi0xMjhoLTY0MHpNMzg0IDMyMGg2NDB2LTEyOGgtNjQwek0wIDEyOGgxMDI0di0xMjhoLTEwMjR6TTI1NiA2NDB2LTM4NGwtMjU2IDE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBlOyIgZ2x5cGgtbmFtZT0iYmxvY2txdW90ZSIgZD0iTTIyNSA1MTJjMTIzLjcxMiAwIDIyNC0xMDAuMjkgMjI0LTIyNCAwLTEyMy43MTItMTAwLjI4OC0yMjQtMjI0LTIyNHMtMjI0IDEwMC4yODgtMjI0IDIyNGwtMSAzMmMwIDI0Ny40MjQgMjAwLjU3NiA0NDggNDQ4IDQ0OHYtMTI4Yy04NS40NzQgMC0xNjUuODM0LTMzLjI4Ni0yMjYuMjc0LTkzLjcyNi0xMS42MzQtMTEuNjM2LTIyLjI1Mi0yNC4wMTYtMzEuODMtMzcuMDIwIDExLjQzOCAxLjggMjMuMTYgMi43NDYgMzUuMTA0IDIuNzQ2ek04MDEgNTEyYzEyMy43MSAwIDIyNC0xMDAuMjkgMjI0LTIyNCAwLTEyMy43MTItMTAwLjI5LTIyNC0yMjQtMjI0cy0yMjQgMTAwLjI4OC0yMjQgMjI0bC0xIDMyYzAgMjQ3LjQyNCAyMDAuNTc2IDQ0OCA0NDggNDQ4di0xMjhjLTg1LjQ3NCAwLTE2NS44MzQtMzMuMjg2LTIyNi4yNzQtOTMuNzI2LTExLjYzNi0xMS42MzYtMjIuMjU0LTI0LjAxNi0zMS44MzItMzcuMDIwIDExLjQ0IDEuOCAyMy4xNiAyLjc0NiAzNS4xMDYgMi43NDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwZjsiIGdseXBoLW5hbWU9InVuZG8iIGQ9Ik03NjEuODYyLTY0YzExMy43MjYgMjA2LjAzMiAxMzIuODg4IDUyMC4zMDYtMzEzLjg2MiA1MDkuODI0di0yNTMuODI0bC0zODQgMzg0IDM4NCAzODR2LTI0OC4zNzJjNTM0Ljk2MiAxMy45NDIgNTk0LjU3LTQ3Mi4yMTQgMzEzLjg2Mi03NzUuNjI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBnbHlwaC1uYW1lPSJyZWRvIiBkPSJNNTc2IDcxMS42Mjh2MjQ4LjM3MmwzODQtMzg0LTM4NC0zODR2MjUzLjgyNGMtNDQ2Ljc1IDEwLjQ4Mi00MjcuNTg4LTMwMy43OTItMzEzLjg2LTUwOS44MjQtMjgwLjcxMiAzMDMuNDE0LTIyMS4xIDc4OS41NyAzMTMuODYgNzc1LjYyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDExOyIgZ2x5cGgtbmFtZT0ibGluayIgZD0iTTMyMCAyNTZjMTcuNi0xNy42IDQ3LjI3NC0xNi43MjYgNjUuOTQyIDEuOTQybDMxNi4xMTggMzE2LjExNmMxOC42NjggMTguNjY4IDE5LjU0IDQ4LjM0MiAxLjk0IDY1Ljk0MnMtNDcuMjc0IDE2LjcyNi02NS45NDItMS45NDJsLTMxNi4xMTYtMzE2LjExNmMtMTguNjY4LTE4LjY2OC0xOS41NDItNDguMzQyLTEuOTQyLTY1Ljk0MnpNNDc2Ljg4OCAyODQuODg4YzQuNTYtOS4wNTAgNi45OS0xOS4xNiA2Ljk5LTI5LjY5NiAwLTE3LjYxNi02Ljc0NC0zNC4wNjAtMTguOTkyLTQ2LjMwOGwtMTYzLjM4Mi0xNjMuMzgyYy0xMi4yNDgtMTIuMjQ4LTI4LjY5NC0xOC45OTItNDYuMzA4LTE4Ljk5MnMtMzQuMDYwIDYuNzQ0LTQ2LjMwOCAxOC45OTJsLTk5LjM4MiA5OS4zODJjLTEyLjI0OCAxMi4yNDgtMTguOTkyIDI4LjY5NC0xOC45OTIgNDYuMzA4czYuNzQ0IDM0LjA2MCAxOC45OTIgNDYuMzA4bDE2My4zODIgMTYzLjM4MmMxMi4yNDggMTIuMjQ4IDI4LjY5NCAxOC45OTQgNDYuMzA4IDE4Ljk5NCAxMC41MzYgMCAyMC42NDQtMi40MyAyOS42OTYtNi45OWw2NS4zMzggNjUuMzM4Yy0yNy44NyAyMS40MS02MS40NCAzMi4xNi05NS4wMzQgMzIuMTYtMzkuOTg2IDAtNzkuOTcyLTE1LjE2Ni0xMTAuMzA4LTQ1LjUwMmwtMTYzLjM4Mi0xNjMuMzgyYy02MC42Ny02MC42Ny02MC42Ny0xNTkuOTQ4IDAtMjIwLjYxOGw5OS4zODItOTkuMzgyYzMwLjMzNC0zMC4zMzIgNzAuMzItNDUuNSAxMTAuMzA2LTQ1LjUgMzkuOTg4IDAgNzkuOTc0IDE1LjE2OCAxMTAuMzA4IDQ1LjUwMmwxNjMuMzgyIDE2My4zODJjNTUuODIgNTUuODIgNjAuMjM4IDE0NC4yOTggMTMuMzQ0IDIwNS4zNDRsLTY1LjM0LTY1LjM0ek05NzguNDk4IDgxNS4xMTZsLTk5LjM4MiA5OS4zODJjLTMwLjMzNCAzMC4zMzYtNzAuMzIgNDUuNTAyLTExMC4zMDggNDUuNTAyLTM5Ljk4NiAwLTc5Ljk3Mi0xNS4xNjYtMTEwLjMwOC00NS41MDJsLTE2My4zODItMTYzLjM4MmMtNTUuODItNTUuODItNjAuMjM4LTE0NC4yOTgtMTMuMzQyLTIwNS4zNDJsNjUuMzM4IDY1LjM0Yy00LjU1OCA5LjA1MC02Ljk4OCAxOS4xNi02Ljk4OCAyOS42OTQgMCAxNy42MTYgNi43NDQgMzQuMDYwIDE4Ljk5MiA0Ni4zMDhsMTYzLjM4MiAxNjMuMzgyYzEyLjI0OCAxMi4yNDggMjguNjk0IDE4Ljk5NCA0Ni4zMDggMTguOTk0czM0LjA2MC02Ljc0NiA0Ni4zMDgtMTguOTk0bDk5LjM4Mi05OS4zODJjMTIuMjQ4LTEyLjI0OCAxOC45OTItMjguNjk0IDE4Ljk5Mi00Ni4zMDhzLTYuNzQ0LTM0LjA2MC0xOC45OTItNDYuMzA4bC0xNjMuMzgyLTE2My4zODJjLTEyLjI0OC0xMi4yNDgtMjguNjk0LTE4Ljk5Mi00Ni4zMDgtMTguOTkyLTEwLjUzNiAwLTIwLjY0NCAyLjQzLTI5LjY5NiA2Ljk5bC02NS4zMzgtNjUuMzM4YzI3Ljg3Mi0yMS40MSA2MS40NC0zMi4xNiA5NS4wMzQtMzIuMTYgMzkuOTg4IDAgNzkuOTc0IDE1LjE2OCAxMTAuMzA4IDQ1LjUwMmwxNjMuMzgyIDE2My4zODJjNjAuNjcgNjAuNjY2IDYwLjY3IDE1OS45NDQgMCAyMjAuNjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTI7IiBnbHlwaC1uYW1lPSJ1bmxpbmsiIGQ9Ik00NzYuODg4IDI4NC44ODZjNC41Ni05LjA0OCA2Ljk5LTE5LjE1OCA2Ljk5LTI5LjY5NiAwLTE3LjYxNi02Ljc0NC0zNC4wNTgtMTguOTkyLTQ2LjMwOGwtMTYzLjM4LTE2My4zOGMtMTIuMjQ4LTEyLjI0OC0yOC42OTYtMTguOTkyLTQ2LjMwOC0xOC45OTJzLTM0LjA2MCA2Ljc0NC00Ni4zMDggMTguOTkybC05OS4zOCA5OS4zOGMtMTIuMjQ4IDEyLjI1LTE4Ljk5MiAyOC42OTYtMTguOTkyIDQ2LjMwOHM2Ljc0NCAzNC4wNjAgMTguOTkyIDQ2LjMwOGwxNjMuMzggMTYzLjM4MmMxMi4yNDggMTIuMjQ2IDI4LjY5NiAxOC45OTIgNDYuMzA4IDE4Ljk5MiAxMC41MzggMCAyMC42NDQtMi40MyAyOS42OTYtNi45ODhsNjUuMzM4IDY1LjMzNmMtMjcuODcgMjEuNDEtNjEuNDQgMzIuMTYtOTUuMDM0IDMyLjE2LTM5Ljk4NiAwLTc5Ljk3Mi0xNS4xNjYtMTEwLjMwOC00NS41MDJsLTE2My4zOC0xNjMuMzgyYy02MC42Ny02MC42Ny02MC42Ny0xNTkuOTUgMC0yMjAuNjE4bDk5LjM4LTk5LjM4MmMzMC4zMzQtMzAuMzMyIDcwLjMyLTQ1LjUgMTEwLjMwNi00NS41IDM5Ljk4OCAwIDc5Ljk3NCAxNS4xNjggMTEwLjMwOCA0NS41MDJsMTYzLjM4IDE2My4zOGM1NS44MiA1NS44MiA2MC4yMzggMTQ0LjI5OCAxMy4zNDQgMjA1LjM0NmwtNjUuMzQtNjUuMzM4ek05NzguNDk2IDgxNS4xMTZsLTk5LjM4IDk5LjM4MmMtMzAuMzM0IDMwLjMzNi03MC4zMiA0NS41MDItMTEwLjMwOCA0NS41MDItMzkuOTg2IDAtNzkuOTctMTUuMTY2LTExMC4zMDYtNDUuNTAybC0xNjMuMzgyLTE2My4zODJjLTU1LjgyLTU1LjgyLTYwLjIzOC0xNDQuMjk4LTEzLjM0Mi0yMDUuMzQybDY1LjMzOCA2NS4zNGMtNC41NTggOS4wNTAtNi45ODggMTkuMTYtNi45ODggMjkuNjk0IDAgMTcuNjE2IDYuNzQ0IDM0LjA2MCAxOC45OTIgNDYuMzA4bDE2My4zODIgMTYzLjM4MmMxMi4yNDYgMTIuMjQ4IDI4LjY5NCAxOC45OTQgNDYuMzA2IDE4Ljk5NCAxNy42MTYgMCAzNC4wNjAtNi43NDYgNDYuMzA4LTE4Ljk5NGw5OS4zOC05OS4zODJjMTIuMjQ4LTEyLjI0OCAxOC45OTItMjguNjk0IDE4Ljk5Mi00Ni4zMDhzLTYuNzQ0LTM0LjA2MC0xOC45OTItNDYuMzA4bC0xNjMuMzgtMTYzLjM4MmMtMTIuMjQ4LTEyLjI0OC0yOC42OTQtMTguOTkyLTQ2LjMwOC0xOC45OTItMTAuNTM2IDAtMjAuNjQ0IDIuNDMtMjkuNjk2IDYuOTlsLTY1LjMzOC02NS4zMzhjMjcuODcyLTIxLjQxIDYxLjQ0LTMyLjE2IDk1LjAzNC0zMi4xNiAzOS45ODggMCA3OS45NzQgMTUuMTY4IDExMC4zMDggNDUuNTA0bDE2My4zOCAxNjMuMzhjNjAuNjcyIDYwLjY2NiA2MC42NzIgMTU5Ljk0NCAwIDIyMC42MTR6TTIzMy4zNjggNjgxLjM3NmwtMTkxLjk5NCAxOTEuOTk0IDQ1LjI1NiA0NS4yNTYgMTkxLjk5NC0xOTEuOTk0ek0zODQgOTYwaDY0di0xOTJoLTY0ek0wIDU3NmgxOTJ2LTY0aC0xOTJ6TTc5MC42MzIgMjE0LjYyNGwxOTEuOTk2LTE5MS45OTYtNDUuMjU2LTQ1LjI1Ni0xOTEuOTk2IDE5MS45OTZ6TTU3NiAxMjhoNjR2LTE5MmgtNjR6TTgzMiAzODRoMTkydi02NGgtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTM7IiBnbHlwaC1uYW1lPSJhbmNob3IiIGQ9Ik0xOTIgOTYwdi0xMDI0bDMyMCAzMjAgMzIwLTMyMHYxMDI0aC02NDB6TTc2OCA5MC41MWwtMjU2IDI1Ni0yNTYtMjU2djgwNS40OWg1MTJ2LTgwNS40OXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE0OyIgZ2x5cGgtbmFtZT0iaW1hZ2UiIGQ9Ik0wIDgzMnYtODMyaDEwMjR2ODMyaC0xMDI0ek05NjAgNjRoLTg5NnY3MDRoODk2di03MDR6TTcwNCA2MDhjMCA1My4wMTkgNDIuOTgxIDk2IDk2IDk2czk2LTQyLjk4MSA5Ni05NmMwLTUzLjAxOS00Mi45ODEtOTYtOTYtOTZzLTk2IDQyLjk4MS05NiA5NnpNODk2IDEyOGgtNzY4bDE5MiA1MTIgMjU2LTMyMCAxMjggOTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNTsiIGdseXBoLW5hbWU9Im1lZGlhIiBkPSJNMCA4MzJ2LTc2OGgxMDI0djc2OGgtMTAyNHpNMTkyIDEyOGgtMTI4djEyOGgxMjh2LTEyOHpNMTkyIDM4NGgtMTI4djEyOGgxMjh2LTEyOHpNMTkyIDY0MGgtMTI4djEyOGgxMjh2LTEyOHpNNzY4IDEyOGgtNTEydjY0MGg1MTJ2LTY0MHpNOTYwIDEyOGgtMTI4djEyOGgxMjh2LTEyOHpNOTYwIDM4NGgtMTI4djEyOGgxMjh2LTEyOHpNOTYwIDY0MGgtMTI4djEyOGgxMjh2LTEyOHpNMzg0IDY0MHYtMzg0bDI1NiAxOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNjsiIGdseXBoLW5hbWU9ImhlbHAiIGQ9Ik00NDggMjU2aDEyOHYtMTI4aC0xMjh6TTcwNCA3MDRjMzUuMzQ2IDAgNjQtMjguNjU0IDY0LTY0di0xOTJsLTE5Mi0xMjhoLTEyOHY2NGwxOTIgMTI4djY0aC0zMjB2MTI4aDM4NHpNNTEyIDg2NGMtMTExLjExOCAwLTIxNS41ODQtNDMuMjcyLTI5NC4xNTYtMTIxLjg0NHMtMTIxLjg0NC0xODMuMDM4LTEyMS44NDQtMjk0LjE1NmMwLTExMS4xMTggNDMuMjcyLTIxNS41ODQgMTIxLjg0NC0yOTQuMTU2czE4My4wMzgtMTIxLjg0NCAyOTQuMTU2LTEyMS44NDRjMTExLjExOCAwIDIxNS41ODQgNDMuMjcyIDI5NC4xNTYgMTIxLjg0NHMxMjEuODQ0IDE4My4wMzggMTIxLjg0NCAyOTQuMTU2YzAgMTExLjExOC00My4yNzIgMjE1LjU4NC0xMjEuODQ0IDI5NC4xNTZzLTE4My4wMzggMTIxLjg0NC0yOTQuMTU2IDEyMS44NDR6TTUxMiA5NjB2MGMyODIuNzcgMCA1MTItMjI5LjIzIDUxMi01MTJzLTIyOS4yMy01MTItNTEyLTUxMmMtMjgyLjc3IDAtNTEyIDIyOS4yMy01MTIgNTEyczIyOS4yMyA1MTIgNTEyIDUxMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE3OyIgZ2x5cGgtbmFtZT0iY29kZSIgZD0iTTMyMCA3MDRsLTI1Ni0yNTYgMjU2LTI1NmgxMjhsLTI1NiAyNTYgMjU2IDI1NnpNNzA0IDcwNGgtMTI4bDI1Ni0yNTYtMjU2LTI1NmgxMjhsMjU2IDI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE4OyIgZ2x5cGgtbmFtZT0iaW5zZXJ0dGltZSIgZD0iTTUxMiA3NjhjLTIxMi4wNzYgMC0zODQtMTcxLjkyMi0zODQtMzg0czE3MS45MjItMzg0IDM4NC0zODRjMjEyLjA3NCAwIDM4NCAxNzEuOTIyIDM4NCAzODRzLTE3MS45MjYgMzg0LTM4NCAzODR6TTcxNS42NDQgMTgwLjM1NGMtNTQuMzkyLTU0LjM5Ni0xMjYuNzE2LTg0LjM1NC0yMDMuNjQ0LTg0LjM1NHMtMTQ5LjI1IDI5Ljk1OC0yMDMuNjQ2IDg0LjM1NGMtNTQuMzk2IDU0LjM5NC04NC4zNTQgMTI2LjcxOC04NC4zNTQgMjAzLjY0NnMyOS45NTggMTQ5LjI1IDg0LjM1NCAyMDMuNjQ2YzU0LjM5NiA1NC4zOTYgMTI2LjcxOCA4NC4zNTQgMjAzLjY0NiA4NC4zNTRzMTQ5LjI1Mi0yOS45NTggMjAzLjY0Mi04NC4zNTRjNTQuNDAyLTU0LjM5NiA4NC4zNTgtMTI2LjcxOCA4NC4zNTgtMjAzLjY0NnMtMjkuOTU4LTE0OS4yNTItODQuMzU2LTIwMy42NDZ6TTMyNS45MyA3NTYuMTM4bC00Mi45NCA4NS44NzhjLTk4Ljg3NC00OS41MzYtMTc5LjQ3LTEzMC4xMzItMjI5LjAwNi0yMjkuMDA4bDg1Ljg3Ni00Mi45NGM0MC4yNDggODAuMzM2IDEwNS43MzIgMTQ1LjgyMiAxODYuMDcwIDE4Ni4wNzB6TTg4NC4xMzQgNTcwLjA3MGw4NS44NzggNDIuOTM4Yy00OS41MzIgOTguODc2LTEzMC4xMjYgMTc5LjQ3Mi0yMjkuMDA0IDIyOS4wMDhsLTQyLjk0NC04NS44NzhjODAuMzM4LTQwLjI0OCAxNDUuODI0LTEwNS43MzIgMTg2LjA3MC0xODYuMDY4ek01MTIgNTc2aC02NHYtMTkyYzAtMTAuMTEgNC43LTE5LjExIDEyLjAyMi0yNC45NzJsLTAuMDEyLTAuMDE2IDE2MC0xMjggMzkuOTc2IDQ5Ljk3Ni0xNDcuOTg2IDExOC4zOXYxNzYuNjIyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTk7IiBnbHlwaC1uYW1lPSJwcmV2aWV3IiBkPSJNNTEyIDY0MGMtMjA5LjM2OCAwLTM5NS4yNDQtMTAwLjU1Ni01MTItMjU2IDExNi43NTYtMTU1LjQ0NiAzMDIuNjMyLTI1NiA1MTItMjU2czM5NS4yNDQgMTAwLjU1NCA1MTIgMjU2Yy0xMTYuNzU2IDE1NS40NDQtMzAyLjYzMiAyNTYtNTEyIDI1NnpNNDQ4IDUxMmMzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjRzLTI4LjY1NC02NC02NC02NC02NCAyOC42NTQtNjQgNjQgMjguNjU0IDY0IDY0IDY0ek03NzMuNjE2IDI1NC43MDRjLTM5LjY0OC0yMC4yNTgtODEuNjUyLTM1Ljg2Mi0xMjQuODQ2LTQ2LjM3Ni00NC40ODgtMTAuODM2LTkwLjUwMi0xNi4zMjgtMTM2Ljc3LTE2LjMyOC00Ni4yNjYgMC05Mi4yODIgNS40OTItMTM2Ljc2OCAxNi4zMjQtNDMuMTk0IDEwLjUxOC04NS4xOTggMjYuMTIyLTEyNC44NDYgNDYuMzc2LTYzLjAyMCAzMi4yMDItMTIwLjIyMiA3Ni40MS0xNjcuNjQgMTI5LjI5OCA0Ny40MTggNTIuODg4IDEwNC42MiA5Ny4xIDE2Ny42NCAxMjkuMjk4IDMyLjMzNiAxNi41MjIgNjYuMjQyIDI5Ljk0NiAxMDEuMDgyIDQwLjA0MC0xOS44ODgtMzAuMjQyLTMxLjQ2OC02Ni40MzQtMzEuNDY4LTEwNS4zMzYgMC0xMDYuMDQwIDg1Ljk2Mi0xOTIgMTkyLTE5MnMxOTIgODUuOTYgMTkyIDE5MmMwIDM4LjkwMi0xMS41ODIgNzUuMDk0LTMxLjQ2NiAxMDUuMzQgMzQuODM4LTEwLjA5NiA2OC43NDQtMjMuNTIgMTAxLjA4Mi00MC4wNDIgNjMuMDIyLTMyLjE5OCAxMjAuMjE4LTc2LjQwOCAxNjcuNjM4LTEyOS4yOTgtNDcuNDItNTIuODg2LTEwNC42MTgtOTcuMS0xNjcuNjM4LTEyOS4yOTZ6TTg2MC45MTggNzE2LjI3OGMtMTA4LjcyIDU1LjU1NC0yMjYuMTEyIDgzLjcyMi0zNDguOTE4IDgzLjcyMnMtMjQwLjE5OC0yOC4xNjgtMzQ4LjkxOC04My43MjJjLTU4Ljc3Mi0zMC4wMzItMTEzLjczMi02Ny45MDQtMTYzLjA4Mi0xMTIuMDc2di0xMDkuMjA2YzU1LjMzOCA1OC41NjYgMTIwLjY5NCAxMDcuNzU0IDE5Mi4xOTQgMTQ0LjI5IDk5LjYyIDUwLjkwNCAyMDcuMjE4IDc2LjcxNCAzMTkuODA2IDc2LjcxNHMyMjAuMTg2LTI1LjgxIDMxOS44MDQtNzYuNzE2YzcxLjUwMi0zNi41MzYgMTM2Ljg1OC04NS43MjQgMTkyLjE5Ni0xNDQuMjl2MTA5LjIwNmMtNDkuMzUgNDQuMTc0LTEwNC4zMDggODIuMDQ2LTE2My4wODIgMTEyLjA3OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFhOyIgZ2x5cGgtbmFtZT0iZm9yZWNvbG9yIiBkPSJNMzIyLjAxOCAxMjhsNTcuNiAxOTJoMjY0Ljc2NGw1Ny42LTE5MmgxMTMuNjMybC0xOTEuOTk2IDY0MGgtMjIzLjIzNmwtMTkyLTY0MGgxMTMuNjM2ek00NzUuNjE4IDY0MGg3Mi43NjRsNTcuNi0xOTJoLTE4Ny45NjRsNTcuNiAxOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxYjsiIGdseXBoLW5hbWU9InRhYmxlIiBkPSJNMCA4OTZ2LTg5NmgxMDI0djg5NmgtMTAyNHpNMzg0IDMyMHYxOTJoMjU2di0xOTJoLTI1NnpNNjQwIDI1NnYtMTkyaC0yNTZ2MTkyaDI1NnpNNjQwIDc2OHYtMTkyaC0yNTZ2MTkyaDI1NnpNMzIwIDc2OHYtMTkyaC0yNTZ2MTkyaDI1NnpNNjQgNTEyaDI1NnYtMTkyaC0yNTZ2MTkyek03MDQgNTEyaDI1NnYtMTkyaC0yNTZ2MTkyek03MDQgNTc2djE5MmgyNTZ2LTE5MmgtMjU2ek02NCAyNTZoMjU2di0xOTJoLTI1NnYxOTJ6TTcwNCA2NHYxOTJoMjU2di0xOTJoLTI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFjOyIgZ2x5cGgtbmFtZT0iaHIiIGQ9Ik0wIDUxMmgxMDI0di0xMjhoLTEwMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxZDsiIGdseXBoLW5hbWU9InJlbW92ZWZvcm1hdCIgZD0iTTAgNjRoNTc2di0xMjhoLTU3NnpNMTkyIDk2MGg3MDR2LTEyOGgtNzA0ek0yNzcuMzg4IDEyOGwyMDQuNjg4IDc4NC4xNjQgMTIzLjg1LTMyLjMyOC0xOTYuMjUtNzUxLjgzNnpNOTI5Ljc3NC02NGwtMTI5Ljc3NCAxMjkuNzc0LTEyOS43NzQtMTI5Ljc3NC02Mi4yMjYgNjIuMjI2IDEyOS43NzQgMTI5Ljc3NC0xMjkuNzc0IDEyOS43NzQgNjIuMjI2IDYyLjIyNiAxMjkuNzc0LTEyOS43NzQgMTI5Ljc3NCAxMjkuNzc0IDYyLjIyNi02Mi4yMjYtMTI5Ljc3NC0xMjkuNzc0IDEyOS43NzQtMTI5Ljc3NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFlOyIgZ2x5cGgtbmFtZT0ic3ViIiBkPSJNNzY4IDUwdi01MGgxMjh2LTY0aC0xOTJ2MTQ2bDEyOCA2MHY1MGgtMTI4djY0aDE5MnYtMTQ2ek02NzYgNzA0aC0xMzZsLTE4OC0xODgtMTg4IDE4OGgtMTM2bDI1Ni0yNTYtMjU2LTI1NmgxMzZsMTg4IDE4OCAxODgtMTg4aDEzNmwtMjU2IDI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFmOyIgZ2x5cGgtbmFtZT0ic3VwIiBkPSJNNzY4IDc1NHYtNTBoMTI4di02NGgtMTkydjE0NmwxMjggNjB2NTBoLTEyOHY2NGgxOTJ2LTE0NnpNNjc2IDcwNGgtMTM2bC0xODgtMTg4LTE4OCAxODhoLTEzNmwyNTYtMjU2LTI1Ni0yNTZoMTM2bDE4OCAxODggMTg4LTE4OGgxMzZsLTI1NiAyNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMDsiIGdseXBoLW5hbWU9ImNoYXJtYXAiIGQ9Ik03MDQgNjRoMjU2bDY0IDEyOHYtMjU2aC0zODR2MjE0LjIxNGMxMzEuMTEyIDU2LjQ4NCAyMjQgMTk3LjE2MiAyMjQgMzYxLjc4NiAwIDIxNC40MzItMTU3LjU5OCAzODIuMjY2LTM1MiAzODIuMjY2LTE5NC40MDYgMC0zNTItMTY3LjgzMi0zNTItMzgyLjI2NiAwLTE2NC42MjQgOTIuODg2LTMwNS4zMDIgMjI0LTM2MS43ODZ2LTIxNC4yMTRoLTM4NHYyNTZsNjQtMTI4aDI1NnYzMi41OWMtMTg3LjYzIDY2LjQ2LTMyMCAyMjcuNDAyLTMyMCA0MTUuNDEgMCAyNDcuNDI0IDIyOS4yMyA0NDggNTEyIDQ0OHM1MTItMjAwLjU3NiA1MTItNDQ4YzAtMTg4LjAwOC0xMzIuMzctMzQ4Ljk1LTMyMC00MTUuNDF2LTMyLjU5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjE7IiBnbHlwaC1uYW1lPSJlbW90aWNvbnMiIGQ9Ik01MTIgOTYwYy0yODIuNzcgMC01MTItMjI5LjIyOC01MTItNTEyIDAtMjgyLjc3IDIyOS4yMjgtNTEyIDUxMi01MTIgMjgyLjc3IDAgNTEyIDIyOS4yMyA1MTIgNTEyIDAgMjgyLjc3Mi0yMjkuMjMgNTEyLTUxMiA1MTJ6TTUxMiAxNmMtMjM4LjU4NiAwLTQzMiAxOTMuNDEyLTQzMiA0MzIgMCAyMzguNTg2IDE5My40MTQgNDMyIDQzMiA0MzIgMjM4LjU5IDAgNDMyLTE5My40MTQgNDMyLTQzMiAwLTIzOC41ODgtMTkzLjQxLTQzMi00MzItNDMyek0zODQgNjQwYzAtMzUuMzQ2LTI4LjY1NC02NC02NC02NHMtNjQgMjguNjU0LTY0IDY0IDI4LjY1NCA2NCA2NCA2NCA2NC0yOC42NTQgNjQtNjR6TTc2OCA2NDBjMC0zNS4zNDYtMjguNjUyLTY0LTY0LTY0cy02NCAyOC42NTQtNjQgNjQgMjguNjUyIDY0IDY0IDY0IDY0LTI4LjY1NCA2NC02NHpNNTEyIDMwOGMxNDEuMDc0IDAgMjYyLjY4OCA1Ny41MzIgMzE4LjQ2MiAxMjMuMTkyLTIwLjg3Mi0xNzEuMjItMTU2LjI4OC0zMDMuMTkyLTMxOC40NjItMzAzLjE5Mi0xNjIuMTE4IDAtMjk3LjQ5OCAxMzIuMDI2LTMxOC40NDQgMzAzLjE2OCA1NS43ODYtNjUuNjQ2IDE3Ny4zODYtMTIzLjE2OCAzMTguNDQ0LTEyMy4xNjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMjsiIGdseXBoLW5hbWU9InByaW50IiBkPSJNMjU2IDg5Nmg1MTJ2LTEyOGgtNTEyek05NjAgNzA0aC04OTZjLTM1LjIgMC02NC0yOC44LTY0LTY0di0zMjBjMC0zNS4yIDI4Ljc5Ni02NCA2NC02NGgxOTJ2LTI1Nmg1MTJ2MjU2aDE5MmMzNS4yIDAgNjQgMjguOCA2NCA2NHYzMjBjMCAzNS4yLTI4LjggNjQtNjQgNjR6TTcwNCA2NGgtMzg0djMyMGgzODR2LTMyMHpNOTc0LjQgNjA4YzAtMjUuNjI2LTIwLjc3NC00Ni40LTQ2LjM5OC00Ni40LTI1LjYyNiAwLTQ2LjQwMiAyMC43NzQtNDYuNDAyIDQ2LjRzMjAuNzc2IDQ2LjQgNDYuNDAyIDQ2LjRjMjUuNjI2IDAgNDYuMzk4LTIwLjc3NCA0Ni4zOTgtNDYuNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIzOyIgZ2x5cGgtbmFtZT0iZnVsbHNjcmVlbiIgZD0iTTEwMjQgOTYwdi0zODRsLTEzOC4yNiAxMzguMjYtMjEyLTIxMi0xMDcuNDggMTA3LjQ4IDIxMiAyMTItMTM4LjI2IDEzOC4yNnpNMjQ1Ljc0IDgyMS43NGwyMTItMjEyLTEwNy40OC0xMDcuNDgtMjEyIDIxMi0xMzguMjYtMTM4LjI2djM4NGgzODR6TTg4NS43NCAxODEuNzRsMTM4LjI2IDEzOC4yNnYtMzg0aC0zODRsMTM4LjI2IDEzOC4yNi0yMTIgMjEyIDEwNy40OCAxMDcuNDh6TTQ1Ny43NCAyODYuMjZsLTIxMi0yMTIgMTM4LjI2LTEzOC4yNmgtMzg0djM4NGwxMzguMjYtMTM4LjI2IDIxMiAyMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNDsiIGdseXBoLW5hbWU9InNwZWxsY2hlY2tlciIgZD0iTTEyOCA3MDRoMTI4di0xOTJoNjR2Mzg0YzAgMzUuMi0yOC44IDY0LTY0IDY0aC0xMjhjLTM1LjIgMC02NC0yOC44LTY0LTY0di0zODRoNjR2MTkyek0xMjggODk2aDEyOHYtMTI4aC0xMjh2MTI4ek05NjAgODk2djY0aC0xOTJjLTM1LjIwMiAwLTY0LTI4LjgtNjQtNjR2LTMyMGMwLTM1LjIgMjguNzk4LTY0IDY0LTY0aDE5MnY2NGgtMTkydjMyMGgxOTJ6TTY0MCA4MDB2OTZjMCAzNS4yLTI4LjggNjQtNjQgNjRoLTE5MnYtNDQ4aDE5MmMzNS4yIDAgNjQgMjguOCA2NCA2NHY5NmMwIDM1LjItOC44IDY0LTQ0IDY0IDM1LjIgMCA0NCAyOC44IDQ0IDY0ek01NzYgNTc2aC0xMjh2MTI4aDEyOHYtMTI4ek01NzYgNzY4aC0xMjh2MTI4aDEyOHYtMTI4ek04MzIgMzg0bC00MTYtNDQ4LTIyNCAyODggODIgNzAgMTQyLTE0OCAzNTIgMzAyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjU7IiBnbHlwaC1uYW1lPSJub25icmVha2luZyIgZD0iTTQ0OCAzODRoLTE5MnYxMjhoMTkydjE5MmgxMjh2LTE5MmgxOTJ2LTEyOGgtMTkydi0xOTJoLTEyOHpNMTAyNCAzMjB2LTM4NGgtMTAyNHYzODRoMTI4di0yNTZoNzY4djI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZ2x5cGgtbmFtZT0idGVtcGxhdGUiIGQ9Ik0zODQgNzY4aDEyOHYtNjRoLTEyOHpNNTc2IDc2OGgxMjh2LTY0aC0xMjh6TTg5NiA3Njh2LTI1NmgtMTkydjY0aDEyOHYxMjhoLTY0djY0ek0zMjAgNTc2aDEyOHYtNjRoLTEyOHpNNTEyIDU3NmgxMjh2LTY0aC0xMjh6TTE5MiA3MDR2LTEyOGg2NHYtNjRoLTEyOHYyNTZoMTkydi02NHpNMzg0IDM4NGgxMjh2LTY0aC0xMjh6TTU3NiAzODRoMTI4di02NGgtMTI4ek04OTYgMzg0di0yNTZoLTE5MnY2NGgxMjh2MTI4aC02NHY2NHpNMzIwIDE5MmgxMjh2LTY0aC0xMjh6TTUxMiAxOTJoMTI4di02NGgtMTI4ek0xOTIgMzIwdi0xMjhoNjR2LTY0aC0xMjh2MjU2aDE5MnYtNjR6TTk2MCA4OTZoLTg5NnYtODk2aDg5NnY4OTZ6TTEwMjQgOTYwdjAtMTAyNGgtMTAyNHYxMDI0aDEwMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGdseXBoLW5hbWU9InBhZ2VicmVhayIgZD0iTTAgNDQ4aDEyOHYtNjRoLTEyOHpNMTkyIDQ0OGgxOTJ2LTY0aC0xOTJ6TTQ0OCA0NDhoMTI4di02NGgtMTI4ek02NDAgNDQ4aDE5MnYtNjRoLTE5MnpNODk2IDQ0OGgxMjh2LTY0aC0xMjh6TTg4MCA5NjBsMTYtNDQ4aC03NjhsMTYgNDQ4aDMybDE2LTM4NGg2NDBsMTYgMzg0ek0xNDQtNjRsLTE2IDM4NGg3NjhsLTE2LTM4NGgtMzJsLTE2IDMyMGgtNjQwbC0xNi0zMjB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyODsiIGdseXBoLW5hbWU9InJlc3RvcmVkcmFmdCIgZD0iTTU3NiA4OTZjMjQ3LjQyNCAwIDQ0OC0yMDAuNTc2IDQ0OC00NDhzLTIwMC41NzYtNDQ4LTQ0OC00NDh2OTZjOTQuMDI0IDAgMTgyLjQxOCAzNi42MTQgMjQ4LjkwMiAxMDMuMDk4czEwMy4wOTggMTU0Ljg3OCAxMDMuMDk4IDI0OC45MDJjMCA5NC4wMjItMzYuNjE0IDE4Mi40MTgtMTAzLjA5OCAyNDguOTAycy0xNTQuODc4IDEwMy4wOTgtMjQ4LjkwMiAxMDMuMDk4Yy05NC4wMjIgMC0xODIuNDE4LTM2LjYxNC0yNDguOTAyLTEwMy4wOTgtNTEuMTQtNTEuMTM4LTg0LjU4Mi0xMTUuMjQ2LTk3LjMwNi0xODQuOTAyaDE4Ni4yMDhsLTIyNC0yNTYtMjI0IDI1NmgxNjQuNTdjMzEuMDYwIDIxNy4xMDIgMjE3LjczOCAzODQgNDQzLjQzIDM4NHpNNzY4IDUxMnYtMTI4aC0yNTZ2MzIwaDEyOHYtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMmE7IiBnbHlwaC1uYW1lPSJib2xkIiBkPSJNNzA3Ljg4IDQ3NS4zNDhjMzcuNDk4IDQ0LjU0MiA2MC4xMiAxMDIuMDA4IDYwLjEyIDE2NC42NTIgMCAxNDEuMTYtMTE0Ljg0MiAyNTYtMjU2IDI1NmgtMzIwdi04OTZoMzg0YzE0MS4xNTggMCAyNTYgMTE0Ljg0MiAyNTYgMjU2IDAgOTIuOTU2LTQ5Ljc5OCAxNzQuNDk2LTEyNC4xMiAyMTkuMzQ4ek0zODQgNzY4aDEwMS41YzU1Ljk2OCAwIDEwMS41LTU3LjQyIDEwMS41LTEyOHMtNDUuNTMyLTEyOC0xMDEuNS0xMjhoLTEwMS41djI1NnpNNTQzIDEyOGgtMTU5djI1NmgxNTljNTguNDUgMCAxMDYtNTcuNDIgMTA2LTEyOHMtNDcuNTUtMTI4LTEwNi0xMjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyYjsiIGdseXBoLW5hbWU9Iml0YWxpYyIgZD0iTTg5NiA4OTZ2LTY0aC0xMjhsLTMyMC03NjhoMTI4di02NGgtNDQ4djY0aDEyOGwzMjAgNzY4aC0xMjh2NjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyYzsiIGdseXBoLW5hbWU9InVuZGVybGluZSIgZD0iTTcwNCA4OTZoMTI4di00MTZjMC0xNTkuMDU4LTE0My4yNjgtMjg4LTMyMC0yODgtMTc2LjczIDAtMzIwIDEyOC45NDItMzIwIDI4OHY0MTZoMTI4di00MTZjMC00MC4xNjYgMTguMjM4LTc4LjcwNCA1MS4zNTQtMTA4LjUwNiAzNi44OTYtMzMuMjA0IDg2Ljg0Ni01MS40OTQgMTQwLjY0Ni01MS40OTRzMTAzLjc1IDE4LjI5IDE0MC42NDYgNTEuNDk0YzMzLjExNiAyOS44MDIgNTEuMzU0IDY4LjM0IDUxLjM1NCAxMDguNTA2djQxNnpNMTkyIDEyOGg2NDB2LTEyOGgtNjQweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMmQ7IiBnbHlwaC1uYW1lPSJzdHJpa2V0aHJvdWdoIiBkPSJNNzMxLjQyIDQ0Mi45NjRjNjMuOTItNDcuOTM4IDEwMC41OC0xMTYuMDg2IDEwMC41OC0xODYuOTY0cy0zNi42Ni0xMzkuMDI2LTEwMC41OC0xODYuOTY0Yy01OS4zNTgtNDQuNTE4LTEzNy4yODQtNjkuMDM2LTIxOS40Mi02OS4wMzYtODIuMTM4IDAtMTYwLjA2MiAyNC41MTgtMjE5LjQyIDY5LjAzNi02My45MiA0Ny45MzgtMTAwLjU4IDExNi4wODYtMTAwLjU4IDE4Ni45NjRoMTI4YzAtNjkuMzgyIDg3LjkyNi0xMjggMTkyLTEyOHMxOTIgNTguNjE4IDE5MiAxMjhjMCA2OS4zODItODcuOTI2IDEyOC0xOTIgMTI4LTgyLjEzOCAwLTE2MC4wNjIgMjQuNTE4LTIxOS40MiA2OS4wMzYtNjMuOTIgNDcuOTQtMTAwLjU4IDExNi4wODYtMTAwLjU4IDE4Ni45NjRzMzYuNjYgMTM5LjAyNCAxMDAuNTggMTg2Ljk2NGM1OS4zNTggNDQuNTE4IDEzNy4yODIgNjkuMDM2IDIxOS40MiA2OS4wMzYgODIuMTM2IDAgMTYwLjA2Mi0yNC41MTggMjE5LjQyLTY5LjAzNiA2My45Mi00Ny45NCAxMDAuNTgtMTE2LjA4NiAxMDAuNTgtMTg2Ljk2NGgtMTI4YzAgNjkuMzgyLTg3LjkyNiAxMjgtMTkyIDEyOHMtMTkyLTU4LjYxOC0xOTItMTI4YzAtNjkuMzgyIDg3LjkyNi0xMjggMTkyLTEyOCA4Mi4xMzYgMCAxNjAuMDYyLTI0LjUxOCAyMTkuNDItNjkuMDM2ek0wIDQ0OGgxMDI0di02NGgtMTAyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDJlOyIgZ2x5cGgtbmFtZT0idmlzdWFsY2hhcnMiIGQ9Ik0zODQgODk2aDUxMnYtMTI4aC0xMjh2LTc2OGgtMTI4djc2OGgtMTI4di03NjhoLTEyOHY0NDhjLTEyMy43MTIgMC0yMjQgMTAwLjI4OC0yMjQgMjI0czEwMC4yODggMjI0IDIyNCAyMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyZjsiIGdseXBoLW5hbWU9Imx0ciIgZD0iTTQ0OCA4OTZoNTEydi0xMjhoLTEyOHYtNzY4aC0xMjh2NzY4aC0xMjh2LTc2OGgtMTI4djQ0OGMtMTIzLjcxMiAwLTIyNCAxMDAuMjg4LTIyNCAyMjRzMTAwLjI4OCAyMjQgMjI0IDIyNHpNNjQgNTEybDI1Ni0yMjQtMjU2LTIyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMwOyIgZ2x5cGgtbmFtZT0icnRsIiBkPSJNMjU2IDg5Nmg1MTJ2LTEyOGgtMTI4di03NjhoLTEyOHY3NjhoLTEyOHYtNzY4aC0xMjh2NDQ4Yy0xMjMuNzEyIDAtMjI0IDEwMC4yODgtMjI0IDIyNHMxMDAuMjg4IDIyNCAyMjQgMjI0ek05NjAgNjRsLTI1NiAyMjQgMjU2IDIyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZ2x5cGgtbmFtZT0iY29weSIgZD0iTTgzMiA3MDRoLTE5MnY2NGwtMTkyIDE5MmgtNDQ4di03NjhoMzg0di0yNTZoNjQwdjU3NmwtMTkyIDE5MnpNODMyIDYxMy40OWwxMDEuNDktMTAxLjQ5aC0xMDEuNDl2MTAxLjQ5ek00NDggODY5LjQ5bDEwMS40OS0xMDEuNDloLTEwMS40OXYxMDEuNDl6TTY0IDg5NmgzMjB2LTE5MmgxOTJ2LTQ0OGgtNTEydjY0MHpNOTYwIDBoLTUxMnYxOTJoMTkydjQ0OGgxMjh2LTE5MmgxOTJ2LTQ0OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZ2x5cGgtbmFtZT0icmVzaXplIiBkPSJNNzY4IDcwNGg2NHYtNjRoLTY0ek02NDAgNTc2aDY0di02NGgtNjR6TTY0MCA0NDhoNjR2LTY0aC02NHpNNjQwIDMyMGg2NHYtNjRoLTY0ek01MTIgNDQ4aDY0di02NGgtNjR6TTUxMiAzMjBoNjR2LTY0aC02NHpNMzg0IDMyMGg2NHYtNjRoLTY0ek03NjggNTc2aDY0di02NGgtNjR6TTc2OCA0NDhoNjR2LTY0aC02NHpNNzY4IDMyMGg2NHYtNjRoLTY0ek03NjggMTkyaDY0di02NGgtNjR6TTY0MCAxOTJoNjR2LTY0aC02NHpNNTEyIDE5Mmg2NHYtNjRoLTY0ek0zODQgMTkyaDY0di02NGgtNjR6TTI1NiAxOTJoNjR2LTY0aC02NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMzOyIgZ2x5cGgtbmFtZT0iY2hlY2tib3giIGQ9Ik0xMjggNDE2bDI4OC0yODggNDgwIDQ4MC0xMjggMTI4LTM1Mi0zNTItMTYwIDE2MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM0OyIgZ2x5cGgtbmFtZT0iYnJvd3NlIiBkPSJNOTI4IDgzMmgtNDE2bC0zMiA2NGgtMzUybC02NC0xMjhoODk2ek05MDQuMzQgMjU2aDc0Ljg2bDQ0LjggNDQ4aC0xMDI0bDY0LTY0MGg0ODQuMDgwYy0xMDQuODgyIDM3Ljc3Ni0xODAuMDgwIDEzOC4yNjYtMTgwLjA4MCAyNTYgMCAxNDkuOTgyIDEyMi4wMTggMjcyIDI3MiAyNzIgMTQ5Ljk4IDAgMjcyLTEyMi4wMTggMjcyLTI3MiAwLTIxLjY3OC0yLjYyMi00My4xNS03LjY2LTY0ek0xMDAyLjk5NiA0Ni4yNWwtMTk4LjQ5NiAxNzQuNjkyYzE3LjQ1NCAyOC45MiAyNy41IDYyLjgxNCAyNy41IDk5LjA1OCAwIDEwNi4wNDAtODUuOTYgMTkyLTE5MiAxOTJzLTE5Mi04NS45Ni0xOTItMTkyIDg1Ljk2LTE5MiAxOTItMTkyYzM2LjI0NCAwIDcwLjEzOCAxMC4wNDYgOTkuMDU4IDI3LjVsMTc0LjY5Mi0xOTguNDk2YzIyLjk2Mi0yNi42NzggNjIuMTE4LTI4LjE0IDg3LjAwNi0zLjI1Mmw1LjQ5MiA1LjQ5MmMyNC44ODggMjQuODg4IDIzLjQyNiA2NC4wNDQtMy4yNTIgODcuMDA2ek02NDAgMTk2Yy02OC40ODQgMC0xMjQgNTUuNTE2LTEyNCAxMjRzNTUuNTE2IDEyNCAxMjQgMTI0IDEyNC01NS41MTYgMTI0LTEyNC01NS41MTYtMTI0LTEyNC0xMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNTsiIGdseXBoLW5hbWU9InBhc3RldGV4dCIgZD0iTTUxMiA0NDh2LTEyOGgzMmwzMiA2NGg2NHYtMjU2aC00OHYtNjRoMjI0djY0aC00OHYyNTZoNjRsMzItNjRoMzJ2MTI4ek04MzIgNjQwdjE2MGMwIDE3LjYtMTQuNCAzMi0zMiAzMmgtMjI0djY0YzAgMzUuMi0yOC44IDY0LTY0IDY0aC0xMjhjLTM1LjIwNCAwLTY0LTI4LjgtNjQtNjR2LTY0aC0yMjRjLTE3LjYwMiAwLTMyLTE0LjQtMzItMzJ2LTY0MGMwLTE3LjYgMTQuMzk4LTMyIDMyLTMyaDI4OHYtMTkyaDY0MHY3MDRoLTE5MnpNMzg0IDg5NS44ODZjMC4wMzQgMC4wMzggMC4wNzIgMC4wNzggMC4xMTQgMC4xMTRoMTI3Ljc2OGMwLjA0Mi0wLjAzNiAwLjA4Mi0wLjA3NiAwLjExOC0wLjExNHYtNjMuODg2aC0xMjh2NjMuODg2ek0xOTIgNzA0djY0aDUxMnYtNjRoLTUxMnpNOTYwIDBoLTUxMnY1NzZoNTEydi01NzZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwMDsiIGdseXBoLW5hbWU9ImdhbW1hIiBkPSJNNDgzLjIgMzIwbC0xNDcuMiAzMzZjLTkuNiAyNS42LTE5LjIgNDQuOC0yNS42IDU0LjRzLTE2IDEyLjgtMjUuNiAxMi44Yy0xNiAwLTI1LjYtMy4yLTI4LjgtMy4ydjcwLjRjOS42IDYuNCAyNS42IDYuNCAzOC40IDkuNiAzMiAwIDU3LjYtNi40IDczLjYtMjIuNCA2LjQtNi40IDEyLjgtMTYgMTkuMi0yNS42IDYuNC0xMi44IDEyLjgtMjUuNiAxNi00MS42bDEyMS42LTI5MS4yIDE1MC40IDM3MS4yaDkyLjhsLTE5OC40LTQ3MC40di0yMjRoLTg2LjR2MjI0ek0wIDk2MHYtMTAyNGgxMDI0djEwMjRoLTEwMjR6TTk2MCAwaC04OTZ2ODk2aDg5NnYtODk2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MDE7IiBnbHlwaC1uYW1lPSJvcmllbnRhdGlvbiIgZD0iTTYyNy4yIDgwaC01NzkuMnYzOTYuOGg1NzkuMnYtMzk2Ljh6TTU1My42IDQwNi40aC00MzUuMnYtMjU2aDQzNS4ydjI1NnpNMjU5LjIgNzMyLjhjMTc2IDE3NiA0NTcuNiAxNzYgNjMzLjYgMHMxNzYtNDU3LjYgMC02MzMuNmMtMTIxLjYtMTIxLjYtMjk3LjYtMTYwLTQ1NC40LTEwOC44IDEyMS42LTI4LjggMjYyLjQgOS42IDM2MS42IDEwOC44IDE1MC40IDE1MC40IDE2MCAzODQgMjIuNCA1MjEuNi0xMjEuNiAxMjEuNi0zMjAgMTI4LTQ3MC40IDE5LjJsODYuNC04Ni40LTI5NC40LTIyLjQgMjIuNCAyOTQuNCA5Mi44LTkyLjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwMjsiIGdseXBoLW5hbWU9ImludmVydCIgZD0iTTg5Mi44LTIyLjRsLTg5LjYgODkuNmMtNzAuNC04MC0xNzIuOC0xMzEuMi0yODgtMTMxLjItMjA4IDAtMzgwLjggMTY2LjQtMzg0IDM3Ny42IDAgMCAwIDAgMCAwIDAgMy4yIDAgMy4yIDAgNi40czAgMy4yIDAgNi40djBjMCAwIDAgMCAwIDMuMiAwIDAgMCAzLjIgMCAzLjIgMy4yIDEwNS42IDQ4IDIxMS4yIDEwNS42IDMwNGwtMTkyIDE5MiA0NC44IDQ0LjggMTgyLjQtMTgyLjRjMCAwIDAgMCAwIDBsNTY5LjYtNTY5LjZjMCAwIDAgMCAwIDBsOTkuMi05OS4yLTQ4LTQ0Ljh6TTg5NiAzMjYuNGMwIDAgMCAwIDAgMCAwIDMuMiAwIDYuNCAwIDYuNC05LjYgMzE2LjgtMzg0IDYyNy4yLTM4NCA2MjcuMnMtMTA4LjgtODkuNi0yMDgtMjIwLjhsNzAuNC03MC40YzYuNCA5LjYgMTYgMjIuNCAyMi40IDMyIDQxLjYgNTEuMiA4My4yIDk2IDExNS4yIDEyOHYwYzMyLTMyIDczLjYtNzYuOCAxMTUuMi0xMjggMTA4LjgtMTM3LjYgMTY5LjYtMjY1LjYgMTcyLjgtMzcxLjIgMCAwIDAtMy4yIDAtMy4ydjAgMGMwLTMuMiAwLTMuMiAwLTYuNHMwLTMuMiAwLTMuMnYwIDBjMC0yMi40LTMuMi00MS42LTkuNi02NGw3Ni44LTc2LjhjMTYgNDEuNiAyOC44IDg5LjYgMjguOCAxMzcuNiAwIDAgMCAwIDAgMCAwIDMuMiAwIDMuMiAwIDYuNHMwIDMuMiAwIDYuNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlNjAzOyIgZ2x5cGgtbmFtZT0iY29kZXNhbXBsZSIgZD0iTTE5OS45OTUgNTc4LjAwMnYxMDQuMDAyYzAgNDMuMDc4IDM0LjkyMyA3OC4wMDEgNzguMDAxIDc4LjAwMWgyNnYxMDQuMDAyaC0yNmMtMTAwLjUxOCAwLTE4Mi4wMDMtODEuNDg1LTE4Mi4wMDMtMTgyLjAwM3YtMTA0LjAwMmMwLTQzLjA3OC0zNC45MjMtNzguMDAxLTc4LjAwMS03OC4wMDFoLTI2di0xMDQuMDAyaDI2YzQzLjA3OCAwIDc4LjAwMS0zNC45MjMgNzguMDAxLTc4LjAwMXYtMTA0LjAwMmMwLTEwMC41MTUgODEuNDg1LTE4Mi4wMDMgMTgyLjAwMy0xODIuMDAzaDI2djEwNC4wMDJoLTI2Yy00My4wNzggMC03OC4wMDEgMzQuOTIzLTc4LjAwMSA3OC4wMDF2MTA0LjAwMmMwIDUwLjkzMS0yMC45MjggOTYuOTY2LTU0LjY0NiAxMzAuMDAyIDMzLjcxNiAzMy4wMzYgNTQuNjQ2IDc5LjA3MiA1NC42NDYgMTMwLjAwMnpNODI0LjAwNSA1NzguMDAydjEwNC4wMDJjMCA0My4wNzgtMzQuOTIzIDc4LjAwMS03OC4wMDEgNzguMDAxaC0yNnYxMDQuMDAyaDI2YzEwMC41MTUgMCAxODIuMDAzLTgxLjQ4NSAxODIuMDAzLTE4Mi4wMDN2LTEwNC4wMDJjMC00My4wNzggMzQuOTIzLTc4LjAwMSA3OC4wMDEtNzguMDAxaDI2di0xMDQuMDAyaC0yNmMtNDMuMDc4IDAtNzguMDAxLTM0LjkyMy03OC4wMDEtNzguMDAxdi0xMDQuMDAyYzAtMTAwLjUxNS04MS40ODgtMTgyLjAwMy0xODIuMDAzLTE4Mi4wMDNoLTI2djEwNC4wMDJoMjZjNDMuMDc4IDAgNzguMDAxIDM0LjkyMyA3OC4wMDEgNzguMDAxdjEwNC4wMDJjMCA1MC45MzEgMjAuOTI4IDk2Ljk2NiA1NC42NDYgMTMwLjAwMi0zMy43MTYgMzMuMDM2LTU0LjY0NiA3OS4wNzItNTQuNjQ2IDEzMC4wMDJ6TTYxNi4wMDIgNjAzLjI4NWMwLTU3LjQzOS00Ni41NjItMTA0LjAwMi0xMDQuMDAyLTEwNC4wMDJzLTEwNC4wMDIgNDYuNTYyLTEwNC4wMDIgMTA0LjAwMmMwIDU3LjQzOSA0Ni41NjIgMTA0LjAwMiAxMDQuMDAyIDEwNC4wMDJzMTA0LjAwMi00Ni41NjIgMTA0LjAwMi0xMDQuMDAyek01MTIgNDQ4LjcxN2MtNTcuNDM5IDAtMTA0LjAwMi00Ni41NjItMTA0LjAwMi0xMDQuMDAyIDAtNTUuODQ1IDI2LTEwMC4xMTUgMTA1Ljc1Mi0xMDMuODgtMjMuNzE5LTMzLjQxNy01OS40NDEtNDYuNjEyLTEwNS43NTItNTAuOTQ0di02MS43NTFjMCAwIDIwOC4wMDMtMTguMTQ0IDIwOC4wMDMgMjE2LjU3Ny0wLjIwMiA1Ny40NDEtNDYuNTYgMTA0LjAwNC0xMDQuMDAyIDEwNC4wMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwNDsiIGdseXBoLW5hbWU9InRhYmxlcm93cHJvcHMiIGQ9Ik0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek02NDAgMjU2di0xOTJoLTI1NnYxOTJoMjU2ek02NDAgNzY4di0xOTJoLTI1NnYxOTJoMjU2ek0zMjAgNzY4di0xOTJoLTI1NnYxOTJoMjU2ek03MDQgNTc2djE5MmgyNTZ2LTE5MmgtMjU2ek02NCAyNTZoMjU2di0xOTJoLTI1NnYxOTJ6TTcwNCA2NHYxOTJoMjU2di0xOTJoLTI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlNjA1OyIgZ2x5cGgtbmFtZT0idGFibGVjZWxscHJvcHMiIGQ9Ik0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek02NDAgMjU2di0xOTJoLTI1NnYxOTJoMjU2ek02NDAgNzY4di0xOTJoLTI1NnYxOTJoMjU2ek0zMjAgNzY4di0xOTJoLTI1NnYxOTJoMjU2ek02NCA1MTJoMjU2di0xOTJoLTI1NnYxOTJ6TTcwNCA1MTJoMjU2di0xOTJoLTI1NnYxOTJ6TTcwNCA1NzZ2MTkyaDI1NnYtMTkyaC0yNTZ6TTY0IDI1NmgyNTZ2LTE5MmgtMjU2djE5MnpNNzA0IDY0djE5MmgyNTZ2LTE5MmgtMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MDY7IiBnbHlwaC1uYW1lPSJ0YWJsZTIiIGQ9Ik0wIDg5NnYtODMyaDEwMjR2ODMyaC0xMDI0ek0zMjAgMTI4aC0yNTZ2MTkyaDI1NnYtMTkyek0zMjAgMzg0aC0yNTZ2MTkyaDI1NnYtMTkyek02NDAgMTI4aC0yNTZ2MTkyaDI1NnYtMTkyek02NDAgMzg0aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgMTI4aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgMzg0aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgNjQwaC04OTZ2MTkyaDg5NnYtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MDc7IiBnbHlwaC1uYW1lPSJ0YWJsZW1lcmdlY2VsbHMiIGQ9Ik0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek0zODQgNjR2NDQ4aDU3NnYtNDQ4aC01NzZ6TTY0MCA3Njh2LTE5MmgtMjU2djE5MmgyNTZ6TTMyMCA3Njh2LTE5MmgtMjU2djE5MmgyNTZ6TTY0IDUxMmgyNTZ2LTE5MmgtMjU2djE5MnpNNzA0IDU3NnYxOTJoMjU2di0xOTJoLTI1NnpNNjQgMjU2aDI1NnYtMTkyaC0yNTZ2MTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MDg7IiBnbHlwaC1uYW1lPSJ0YWJsZWluc2VydGNvbGJlZm9yZSIgZD0iTTMyMCAxODguOHYxODIuNGgtMTgyLjR2ODkuNmgxODIuNHYxODIuNGg4Ni40di0xODIuNGgxODUuNnYtODkuNmgtMTg1LjZ2LTE4Mi40ek0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek02NDAgNjRoLTU3NnY3MDRoNTc2di03MDR6TTk2MCA2NGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDMyMGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDU3NmgtMjU2djE5MmgyNTZ2LTE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlNjA5OyIgZ2x5cGgtbmFtZT0idGFibGVpbnNlcnRjb2xhZnRlciIgZD0iTTcwNCA2NDMuMnYtMTgyLjRoMTgyLjR2LTg5LjZoLTE4Mi40di0xODIuNGgtODYuNHYxODIuNGgtMTg1LjZ2ODkuNmgxODUuNnYxODIuNHpNMCA4OTZ2LTg5NmgxMDI0djg5NmgtMTAyNHpNMzIwIDY0aC0yNTZ2MTkyaDI1NnYtMTkyek0zMjAgMzIwaC0yNTZ2MTkyaDI1NnYtMTkyek0zMjAgNTc2aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgNjRoLTU3NnY3MDRoNTc2di03MDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwYTsiIGdseXBoLW5hbWU9InRhYmxlaW5zZXJ0cm93YmVmb3JlIiBkPSJNNjkxLjIgNTA4LjhoLTE0NHYtMTQ0aC03MC40djE0NGgtMTQ0djY3LjJoMTQ0djE0NGg3MC40di0xNDRoMTQ0ek0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek0zMjAgNjRoLTI1NnYxOTJoMjU2di0xOTJ6TTY0MCA2NGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDY0aC0yNTZ2MTkyaDI1NnYtMTkyek05NjAgMzE2LjhoLTg5NnY0NTEuMmg4OTZ2LTQ1MS4yeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MGI7IiBnbHlwaC1uYW1lPSJ0YWJsZWluc2VydHJvd2FmdGVyIiBkPSJNMzMyLjggMzIzLjJoMTQ0djE0NGg3MC40di0xNDRoMTQ0di02Ny4yaC0xNDR2LTE0NGgtNzAuNHYxNDRoLTE0NHpNMCA4OTZ2LTg5NmgxMDI0djg5NmgtMTAyNHpNMzg0IDc2OGgyNTZ2LTE5MmgtMjU2djE5MnpNNjQgNzY4aDI1NnYtMTkyaC0yNTZ2MTkyek05NjAgNjRoLTg5NnY0NTEuMmg4OTZ2LTQ1MS4yek05NjAgNTc2aC0yNTZ2MTkyaDI1NnYtMTkyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU2MGQ7IiBnbHlwaC1uYW1lPSJ0YWJsZXNwbGl0Y2VsbHMiIGQ9Ik0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek0zODQgNzY4aDI1NnYtMTkyaC0yNTZ2MTkyek0zMjAgNjRoLTI1NnYxOTJoMjU2di0xOTJ6TTMyMCAzMjBoLTI1NnYxOTJoMjU2di0xOTJ6TTMyMCA1NzZoLTI1NnYxOTJoMjU2di0xOTJ6TTk2MCA2NGgtNTc2djQ0OGg1NzZ2LTQ0OHpNOTYwIDU3NmgtMjU2djE5MmgyNTZ2LTE5MnpNODY0IDE1Ni44bC02MC44LTYwLjgtMTMxLjIgMTMxLjItMTMxLjItMTMxLjItNjAuOCA2MC44IDEzMS4yIDEzMS4yLTEzMS4yIDEzMS4yIDYwLjggNjAuOCAxMzEuMi0xMzEuMiAxMzEuMiAxMzEuMiA2MC44LTYwLjgtMTMxLjItMTMxLjJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYwZTsiIGdseXBoLW5hbWU9InRhYmxlZGVsZXRlIiBkPSJNMCA4OTZoMTAyNHYtODk2aC0xMDI0djg5NnpNNjAuOCA3Njh2LTcwNGg4OTkuMnY3MDRoLTg5OS4yek04MDkuNiAyMTEuMmwtOTYtOTYtMjA0LjggMjA0LjgtMjA0LjgtMjA0LjgtOTYgOTYgMjA0LjggMjA0LjgtMjA0LjggMjA0LjggOTYgOTYgMjA0LjgtMjA0LjggMjA0LjggMjA0LjggOTYtOTYtMjA0LjgtMjA0Ljh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYyYTsiIGdseXBoLW5hbWU9InRhYmxlbGVmdGhlYWRlciIgZD0iTTAgODk2di04MzJoMTAyNHY4MzJoLTEwMjR6TTY0MCAxMjhoLTI1NnYxOTJoMjU2di0xOTJ6TTY0MCAzODRoLTI1NnYxOTJoMjU2di0xOTJ6TTY0MCA2NDBoLTI1NnYxOTJoMjU2di0xOTJ6TTk2MCAxMjhoLTI1NnYxOTJoMjU2di0xOTJ6TTk2MCAzODRoLTI1NnYxOTJoMjU2di0xOTJ6TTk2MCA2NDBoLTI1NnYxOTJoMjU2di0xOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTYyYjsiIGdseXBoLW5hbWU9InRhYmxldG9waGVhZGVyIiBkPSJNMCA4OTZ2LTgzMmgxMDI0djgzMmgtMTAyNHpNMzIwIDEyOGgtMjU2djE5MmgyNTZ2LTE5MnpNMzIwIDM4NGgtMjU2djE5MmgyNTZ2LTE5MnpNNjQwIDEyOGgtMjU2djE5MmgyNTZ2LTE5MnpNNjQwIDM4NGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDEyOGgtMjU2djE5MmgyNTZ2LTE5MnpNOTYwIDM4NGgtMjU2djE5MmgyNTZ2LTE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlODAwOyIgZ2x5cGgtbmFtZT0idGFibGVkZWxldGVyb3ciIGQ9Ik04ODYuNCA1NzIuOGwtMTU2LjgtMTU2LjggMTYwLTE2MC03Ni44LTc2LjgtMTYwIDE2MC0xNTYuOC0xNTYuOC03Ni44IDczLjYgMTYwIDE2MC0xNjMuMiAxNjMuMiA3Ni44IDc2LjggMTYzLjItMTYzLjIgMTU2LjggMTU2LjggNzMuNi03Ni44ek0wIDg5NnYtODk2aDEwMjR2ODk2aC0xMDI0ek05NjAgNTc2aC0yMi40bC02NC02NGg4Ni40di0xOTJoLTg5LjZsNjQtNjRoMjUuNnYtMTkyaC04OTZ2MTkyaDMxMC40bDY0IDY0aC0zNzQuNHYxOTJoMzcxLjJsLTY0IDY0aC0zMDcuMnYxOTJoODk2di0xOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTgwMTsiIGdseXBoLW5hbWU9InRhYmxlZGVsZXRlY29sIiBkPSJNMzIwIDQ5OS4ybDY0LTY0di0xMi44bC02NC02NHYxNDAuOHpNNjQwIDQyMi40bDY0LTY0djEzNy42bC02NC02NHYtOS42ek0xMDI0IDg5NnYtODk2aC0xMDI0djg5NmgxMDI0ek05NjAgNzY4aC0yNTZ2LTUxLjJsLTEyLjggMTIuOC01MS4yLTUxLjJ2ODkuNmgtMjU2di04OS42bC01MS4yIDUxLjItMTIuOC0xMi44djUxLjJoLTI1NnYtNzA0aDI1NnYxMTguNGwzNS4yLTM1LjIgMjguOCAyOC44di0xMTUuMmgyNTZ2MTE1LjJsNDgtNDggMTYgMTZ2LTgzLjJoMjU2djcwNy4yek02NzIgNjYyLjRsLTE1Ni44LTE1Ni44LTE2My4yIDE2My4yLTc2LjgtNzYuOCAxNjMuMi0xNjMuMi0xNTYuOC0xNTYuOCA3Ni44LTc2LjggMTU2LjggMTU2LjggMTYwLTE2MCA3Ni44IDc2LjgtMTYwIDE2MCAxNTYuOCAxNTYuOC03Ni44IDc2Ljh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkwMDsiIGdseXBoLW5hbWU9ImExMXkiIGQ9Ik05NjAgNzA0djY0bC00NDgtMTI4LTQ0OCAxMjh2LTY0bDMyMC0xMjh2LTI1NmwtMTI4LTQ0OGg2NGwxOTIgNDQ4IDE5Mi00NDhoNjRsLTEyOCA0NDh2MjU2ek00MTYgODAwcTAgNDAgMjggNjh0NjggMjggNjgtMjggMjgtNjgtMjgtNjgtNjgtMjgtNjggMjgtMjggNjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkwMjsiIGdseXBoLW5hbWU9ImZpbGwiIGQ9Ik01MjEuNiA5MTUuMmwtNjcuMi02Ny4yLTg2LjQgODYuNC04Ni40LTg2LjQgODYuNC04Ni40LTM2OC0zNjggNDMyLTQzMiA1MTguNCA1MTguNC00MjguOCA0MzUuMnpNNDM1LjIgMTM0LjRsLTI2Mi40IDI2Mi40IDM1LjIgMzUuMiA1NzYgNTEuMi0zNDguOC0zNDguOHpNOTUzLjYgNDA5LjZjLTYuNC02LjQtMTYtMTYtMjguOC0zMi0yOC44LTMyLTQxLjYtNjQtNDEuNi04OS42djAgMCAwIDAgMCAwIDBjMC0xNiA2LjQtMzUuMiAyMi40LTQ4IDEyLjgtMTIuOCAzMi0yMi40IDQ4LTIyLjRzMzUuMiA2LjQgNDggMjIuNCAyMi40IDMyIDIyLjQgNDh2MCAwIDAgMCAwIDAgMGMwIDI1LjYtMTIuOCA1NC40LTQxLjYgODkuNi05LjYgMTYtMjIuNCAyNS42LTI4LjggMzJ2MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTAzOyIgZ2x5cGgtbmFtZT0iYm9yZGVyd2lkdGgiIGQ9Ik0wIDI2NS42aDEwMjR2LTEyOGgtMTAyNHYxMjh6TTAgMzJoMTAyNHYtNjRoLTEwMjR2NjR6TTAgNTY2LjRoMTAyNHYtMTkyaC0xMDI0djE5MnpNMCA5MjhoMTAyNHYtMjU2aC0xMDI0djI1NnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTA0OyIgZ2x5cGgtbmFtZT0ibGluZSIgZD0iTTczOS4yIDYyNy4ybC01MDIuNC01MDIuNGgtMTg1LjZ2MTg1LjZsNTAyLjQgNTAyLjQgMTg1LjYtMTg1LjZ6TTgwMy4yIDY4OGwtMTg1LjYgMTg1LjYgNjcuMiA2Ny4yYzIyLjQgMjIuNCA1NC40IDIyLjQgNzYuOCAwbDEwOC44LTEwOC44YzIyLjQtMjIuNCAyMi40LTU0LjQgMC03Ni44bC02Ny4yLTY3LjJ6TTQxLjYgNDhoOTQwLjh2LTExMmgtOTQwLjh2MTEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MDU7IiBnbHlwaC1uYW1lPSJjb3VudCIgZD0iTTAgNDgwaDEwMjR2LTY0aC0xMDI0djY0ek0zMDQgOTEydi0zMzkuMmgtNjcuMnYyNzJoLTY3LjJ2NjcuMnpNNDQ0LjggNjk0LjR2LTU0LjRoMTM0LjR2LTY3LjJoLTIwMS42djE1My42bDEzNC40IDY0djU0LjRoLTEzNC40djY3LjJoMjAxLjZ2LTE1My42ek04NTQuNCA5MTJ2LTMzOS4yaC0yMDQuOHY2Ny4yaDEzNy42djY3LjJoLTEzNy42djcwLjRoMTM3LjZ2NjcuMmgtMTM3LjZ2NjcuMnpNMTE1LjIgMTY2LjRjMy4yIDU3LjYgMzguNCA4My4yIDEwOC44IDgzLjIgMzguNCAwIDY3LjItOS42IDg2LjQtMjUuNnMyNS42LTM1LjIgMjUuNi03MC40di0xMTJjMC0yNS42IDAtMjguOCA5LjYtNDEuNmgtNzMuNmMtMy4yIDkuNi0zLjIgOS42LTYuNCAxOS4yLTIyLjQtMTkuMi00MS42LTI1LjYtNzAuNC0yNS42LTU0LjQgMC04OS42IDMyLTg5LjYgNzYuOHMyOC44IDcwLjQgOTkuMiA4MGwzOC40IDYuNGMxNiAzLjIgMjIuNCA2LjQgMjIuNCAxNiAwIDEyLjgtMTIuOCAyMi40LTM4LjQgMjIuNHMtNDEuNi05LjYtNDQuOC0yOC44aC02Ny4yek0yNjIuNCAxMTUuMmMtNi40LTMuMi0xMi44LTYuNC0yNS42LTYuNGwtMjUuNi02LjRjLTI1LjYtNi40LTM4LjQtMTYtMzguNC0yOC44IDAtMTYgMTIuOC0yNS42IDM1LjItMjUuNnM0MS42IDkuNiA1NC40IDMydjM1LjJ6TTM5MC40IDMzNmg3My42di0xMTJjMjIuNCAxNiA0MS42IDIyLjQgNjcuMiAyMi40IDY0IDAgMTA1LjYtNTEuMiAxMDUuNi0xMjQuOCAwLTc2LjgtNDQuOC0xMzQuNC0xMDguOC0xMzQuNC0zMiAwLTQ4IDkuNi02Ny4yIDM1LjJ2LTI4LjhoLTcwLjR2MzQyLjR6TTQ2MC44IDEyMS42YzAtNDEuNiAyMi40LTcwLjQgNTEuMi03MC40czUxLjIgMjguOCA1MS4yIDcwLjRjMCA0NC44LTE5LjIgNzAuNC01MS4yIDcwLjQtMjguOCAwLTUxLjItMjguOC01MS4yLTcwLjR6TTg1MS4yIDE1My42Yy0zLjIgMjIuNC0xOS4yIDM1LjItNDQuOCAzNS4yLTMyIDAtNTEuMi0yNS42LTUxLjItNzAuNCAwLTQ4IDE5LjItNzMuNiA1MS4yLTczLjYgMjUuNiAwIDQxLjYgMTIuOCA0NC44IDQxLjZsNzAuNC0zLjJjLTkuNi02MC44LTU0LjQtOTYtMTE4LjQtOTYtNzMuNiAwLTEyMS42IDUxLjItMTIxLjYgMTI4IDAgODAgNDggMTMxLjIgMTI0LjggMTMxLjIgNjQgMCAxMDguOC0zNS4yIDExMi05NmgtNjcuMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTA3OyIgZ2x5cGgtbmFtZT0idHJhbnNsYXRlIiBkPSJNNTUzLjYgMzA0bC0xMTguNCAxMTguNGM4MCA4OS42IDEzNy42IDE5NS4yIDE3Mi44IDMwNGgxMzcuNnY5Mi44aC0zMjYuNHY5Mi44aC05Mi44di05Mi44aC0zMjYuNHYtOTIuOGg1MTguNGMtMzItODkuNi04MC0xNzYtMTQ3LjItMjQ5LjYtNDQuOCA0OC04MCA5OS4yLTEwOC44IDE1Ni44aC05Mi44YzM1LjItNzYuOCA4MC0xNDcuMiAxMzcuNi0yMTEuMmwtMjM2LjgtMjMzLjYgNjcuMi02Ny4yIDIzMy42IDIzMy42IDE0NC0xNDRjMy4yIDAgMzguNCA5Mi44IDM4LjQgOTIuOHpNODE2IDU0MC44aC05Mi44bC0yMDgtNTYwaDkyLjhsNTEuMiAxNDAuOGgyMjAuOGw1MS4yLTE0MC44aDkyLjhsLTIwOCA1NjB6TTY5MS4yIDIxNC40bDc2LjggMjAxLjYgNzYuOC0yMDEuNmgtMTUzLjZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkwODsiIGdseXBoLW5hbWU9ImRyYWciIGQ9Ik01NzYgODk2aDEyOHYtMTI4aC0xMjh2MTI4ek01NzYgNjQwaDEyOHYtMTI4aC0xMjh2MTI4ek0zMjAgNjQwaDEyOHYtMTI4aC0xMjh2MTI4ek01NzYgMzg0aDEyOHYtMTI4aC0xMjh2MTI4ek0zMjAgMzg0aDEyOHYtMTI4aC0xMjh2MTI4ek0zMjAgMTI4aDEyOHYtMTI4aC0xMjh2MTI4ek01NzYgMTI4aDEyOHYtMTI4aC0xMjh2MTI4ek0zMjAgODk2aDEyOHYtMTI4aC0xMjh2MTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MGI7IiBnbHlwaC1uYW1lPSJob21lIiBkPSJNMTAyNCAzNjkuNTU2bC01MTIgMzk3LjQyNi01MTItMzk3LjQyOHYxNjIuMDM4bDUxMiAzOTcuNDI2IDUxMi0zOTcuNDI4ek04OTYgMzg0di0zODRoLTI1NnYyNTZoLTI1NnYtMjU2aC0yNTZ2Mzg0bDM4NCAyODh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkxMTsiIGdseXBoLW5hbWU9ImJvb2tzIiBkPSJNNTc2LjIzNCA2NzAuNzNsMjQyLjcxMiA4MS40MzIgMjAzLjU4NC02MDYuNzg0LTI0Mi43MTItODEuNDMyek0wIDY0aDI1NnY3MDRoLTI1NnYtNzA0ek02NCA2NDBoMTI4di02NGgtMTI4djY0ek0zMjAgNjRoMjU2djcwNGgtMjU2di03MDR6TTM4NCA2NDBoMTI4di02NGgtMTI4djY0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MTQ7IiBnbHlwaC1uYW1lPSJ1cGxvYWQiIGQ9Ik04MzkuNDMyIDc2MC41N2MyNy40OTItMjcuNDkyIDUwLjU1NC03OC42NzIgNTUuNTUyLTEyMC41N2gtMzE4Ljk4NHYzMTguOTg0YzQxLjg5OC00Ljk5OCA5My4wNzYtMjguMDYwIDEyMC41NjgtNTUuNTUybDE0Mi44NjQtMTQyLjg2MnpNNTEyIDU3NnYzODRoLTM2OGMtNDQgMC04MC0zNi04MC04MHYtODY0YzAtNDQgMzYtODAgODAtODBoNjcyYzQ0IDAgODAgMzYgODAgODB2NTYwaC0zODR6TTU3NiAxOTJ2LTE5MmgtMTkydjE5MmgtMTYwbDI1NiAyNTYgMjU2LTI1NmgtMTYweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MTU7IiBnbHlwaC1uYW1lPSJlZGl0aW1hZ2UiIGQ9Ik03NjggNDE2di0zNTJoLTY0MHY2NDBoMzUybDEyOCAxMjhoLTUxMmMtNTIuOCAwLTk2LTQzLjItOTYtOTZ2LTcwNGMwLTUyLjggNDMuMi05NiA5Ni05Nmg3MDRjNTIuNzk4IDAgOTYgNDMuMiA5NiA5NnY1MTJsLTEyOC0xMjh6TTg2NCA5NjBsLTYwOC02MDh2LTE2MGgxNjBsNjA4IDYwOGMwIDk2LTY0IDE2MC0xNjAgMTYwek00MTYgMzIwbC00OCA0OCA0ODAgNDgwIDQ4LTQ4LTQ4MC00ODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkxYzsiIGdseXBoLW5hbWU9ImJ1YmJsZSIgZD0iTTkyOCA4OTZoLTgzMmMtNTIuOCAwLTk2LTQzLjItOTYtOTZ2LTUxMmMwLTUyLjggNDMuMi05NiA5Ni05NmgxNjB2LTI1NmwzMDcuMiAyNTZoMzY0LjhjNTIuOCAwIDk2IDQzLjIgOTYgOTZ2NTEyYzAgNTIuOC00My4yIDk2LTk2IDk2ek04OTYgMzIwaC0zNzkuMTQybC0xOTYuODU4LTE3NC43MTR2MTc0LjcxNGgtMTkydjQ0OGg3Njh2LTQ0OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTFkOyIgZ2x5cGgtbmFtZT0idXNlciIgZD0iTTYyMi44MjYgMjU3LjI2NGMtMjIuMTEgMy41MTgtMjIuNjE0IDY0LjMxNC0yMi42MTQgNjQuMzE0czY0Ljk2OCA2NC4zMTYgNzkuMTI4IDE1MC44MDJjMzguMDkwIDAgNjEuNjE4IDkxLjk0NiAyMy41MjIgMTI0LjI5NiAxLjU5IDM0LjA1NCA0OC45NiAyNjcuMzI0LTE5MC44NjIgMjY3LjMyNHMtMTkyLjQ1LTIzMy4yNy0xOTAuODY0LTI2Ny4zMjRjLTM4LjA5NC0zMi4zNS0xNC41Ny0xMjQuMjk2IDIzLjUyMi0xMjQuMjk2IDE0LjE1OC04Ni40ODYgNzkuMTI4LTE1MC44MDIgNzkuMTI4LTE1MC44MDJzLTAuNTA0LTYwLjc5Ni0yMi42MTQtNjQuMzE0Yy03MS4yMi0xMS4zMzItMzM3LjE3Mi0xMjguNjM0LTMzNy4xNzItMjU3LjI2NGg4OTZjMCAxMjguNjMtMjY1Ljk1MiAyNDUuOTMyLTMzNy4xNzQgMjU3LjI2NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTI2OyIgZ2x5cGgtbmFtZT0ibG9jayIgZD0iTTU5MiA1MTJoLTE2djE5MmMwIDEwNS44Ny04Ni4xMyAxOTItMTkyIDE5MmgtMTI4Yy0xMDUuODcgMC0xOTItODYuMTMtMTkyLTE5MnYtMTkyaC0xNmMtMjYuNCAwLTQ4LTIxLjYtNDgtNDh2LTQ4MGMwLTI2LjQgMjEuNi00OCA0OC00OGg1NDRjMjYuNCAwIDQ4IDIxLjYgNDggNDh2NDgwYzAgMjYuNC0yMS42IDQ4LTQ4IDQ4ek0xOTIgNzA0YzAgMzUuMjkgMjguNzEgNjQgNjQgNjRoMTI4YzM1LjI5IDAgNjQtMjguNzEgNjQtNjR2LTE5MmgtMjU2djE5MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTI3OyIgZ2x5cGgtbmFtZT0idW5sb2NrIiBkPSJNNzY4IDg5NmMxMDUuODcgMCAxOTItODYuMTMgMTkyLTE5MnYtMTkyaC0xMjh2MTkyYzAgMzUuMjktMjguNzEgNjQtNjQgNjRoLTEyOGMtMzUuMjkgMC02NC0yOC43MS02NC02NHYtMTkyaDE2YzI2LjQgMCA0OC0yMS42IDQ4LTQ4di00ODBjMC0yNi40LTIxLjYtNDgtNDgtNDhoLTU0NGMtMjYuNCAwLTQ4IDIxLjYtNDggNDh2NDgwYzAgMjYuNCAyMS42IDQ4IDQ4IDQ4aDQwMHYxOTJjMCAxMDUuODcgODYuMTMgMTkyIDE5MiAxOTJoMTI4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5Mjg7IiBnbHlwaC1uYW1lPSJzZXR0aW5ncyIgZD0iTTQ0OCA4MzJ2MTZjMCAyNi40LTIxLjYgNDgtNDggNDhoLTE2MGMtMjYuNCAwLTQ4LTIxLjYtNDgtNDh2LTE2aC0xOTJ2LTEyOGgxOTJ2LTE2YzAtMjYuNCAyMS42LTQ4IDQ4LTQ4aDE2MGMyNi40IDAgNDggMjEuNiA0OCA0OHYxNmg1NzZ2MTI4aC01NzZ6TTI1NiA3MDR2MTI4aDEyOHYtMTI4aC0xMjh6TTgzMiA1MjhjMCAyNi40LTIxLjYgNDgtNDggNDhoLTE2MGMtMjYuNCAwLTQ4LTIxLjYtNDgtNDh2LTE2aC01NzZ2LTEyOGg1NzZ2LTE2YzAtMjYuNCAyMS42LTQ4IDQ4LTQ4aDE2MGMyNi40IDAgNDggMjEuNiA0OCA0OHYxNmgxOTJ2MTI4aC0xOTJ2MTZ6TTY0MCAzODR2MTI4aDEyOHYtMTI4aC0xMjh6TTQ0OCAyMDhjMCAyNi40LTIxLjYgNDgtNDggNDhoLTE2MGMtMjYuNCAwLTQ4LTIxLjYtNDgtNDh2LTE2aC0xOTJ2LTEyOGgxOTJ2LTE2YzAtMjYuNCAyMS42LTQ4IDQ4LTQ4aDE2MGMyNi40IDAgNDggMjEuNiA0OCA0OHYxNmg1NzZ2MTI4aC01NzZ2MTZ6TTI1NiA2NHYxMjhoMTI4di0xMjhoLTEyOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTJhOyIgZ2x5cGgtbmFtZT0icmVtb3ZlMiIgZD0iTTE5Mi02NGg2NDBsNjQgNzA0aC03Njh6TTY0MCA4MzJ2MTI4aC0yNTZ2LTEyOGgtMzIwdi0xOTJsNjQgNjRoNzY4bDY0LTY0djE5MmgtMzIwek01NzYgODMyaC0xMjh2NjRoMTI4di02NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTJkOyIgZ2x5cGgtbmFtZT0ibWVudSIgZD0iTTM4NCA4OTZoMjU2di0yNTZoLTI1NnpNMzg0IDU3NmgyNTZ2LTI1NmgtMjU2ek0zODQgMjU2aDI1NnYtMjU2aC0yNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzMDsiIGdseXBoLW5hbWU9Indhcm5pbmciIGQ9Ik0xMDA5Ljk1NiA0NC4yNGwtNDM3LjA3NCA4NzEuMTEyYy0xNi43NDIgMjkuNzY2LTM4LjgxMiA0NC42NDgtNjAuODgyIDQ0LjY0OHMtNDQuMTQtMTQuODgyLTYwLjg4NC00NC42NDhsLTQzNy4wNzQtODcxLjExMmMtMzMuNDg2LTU5LjUzMi01LTEwOC4yNCA2My4zMDQtMTA4LjI0aDg2OS4zMDhjNjguMzAyIDAgOTYuNzkyIDQ4LjcwOCA2My4zMDIgMTA4LjI0ek01MTIgNjRjLTM1LjM0NiAwLTY0IDI4LjY1NC02NCA2NCAwIDM1LjM0OCAyOC42NTQgNjQgNjQgNjQgMzUuMzQ4IDAgNjQtMjguNjUyIDY0LTY0IDAtMzUuMzQ2LTI4LjY1Mi02NC02NC02NHpNNTU2IDI1NmgtODhsLTIwIDI1NmMwIDM1LjM0NiAyOC42NTQgNjQgNjQgNjRzNjQtMjguNjU0IDY0LTY0bC0yMC0yNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzMTsiIGdseXBoLW5hbWU9InF1ZXN0aW9uIiBkPSJNNDQ4IDI1NmgxMjh2LTEyOGgtMTI4ek03MDQgNzA0YzM1LjM0NiAwIDY0LTI4LjY1NCA2NC02NHYtMTkybC0xOTItMTI4aC0xMjh2NjRsMTkyIDEyOHY2NGgtMzIwdjEyOGgzODR6TTUxMiA4NjRjLTExMS4xMTggMC0yMTUuNTg0LTQzLjI3Mi0yOTQuMTU2LTEyMS44NDRzLTEyMS44NDQtMTgzLjAzOC0xMjEuODQ0LTI5NC4xNTZjMC0xMTEuMTE4IDQzLjI3Mi0yMTUuNTg0IDEyMS44NDQtMjk0LjE1NnMxODMuMDM4LTEyMS44NDQgMjk0LjE1Ni0xMjEuODQ0YzExMS4xMTggMCAyMTUuNTg0IDQzLjI3MiAyOTQuMTU2IDEyMS44NDRzMTIxLjg0NCAxODMuMDM4IDEyMS44NDQgMjk0LjE1NmMwIDExMS4xMTgtNDMuMjcyIDIxNS41ODQtMTIxLjg0NCAyOTQuMTU2cy0xODMuMDM4IDEyMS44NDQtMjk0LjE1NiAxMjEuODQ0ek01MTIgOTYwdjBjMjgyLjc3IDAgNTEyLTIyOS4yMyA1MTItNTEycy0yMjkuMjMtNTEyLTUxMi01MTJjLTI4Mi43NyAwLTUxMiAyMjkuMjMtNTEyIDUxMnMyMjkuMjMgNTEyIDUxMiA1MTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzMjsiIGdseXBoLW5hbWU9InBsdXNjaXJjbGUiIGQ9Ik01MTIgOTYwYy0yODIuNzcgMC01MTItMjI5LjIzLTUxMi01MTJzMjI5LjIzLTUxMiA1MTItNTEyIDUxMiAyMjkuMjMgNTEyIDUxMi0yMjkuMjMgNTEyLTUxMiA1MTJ6TTUxMiA2NGMtMjEyLjA3OCAwLTM4NCAxNzEuOTIyLTM4NCAzODRzMTcxLjkyMiAzODQgMzg0IDM4NGMyMTIuMDc4IDAgMzg0LTE3MS45MjIgMzg0LTM4NHMtMTcxLjkyMi0zODQtMzg0LTM4NHpNNzY4IDM4NGgtMTkydi0xOTJoLTEyOHYxOTJoLTE5MnYxMjhoMTkydjE5MmgxMjh2LTE5MmgxOTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzMzsiIGdseXBoLW5hbWU9ImluZm8iIGQ9Ik01MTIgOTYwYy0yODIuNzcgMC01MTItMjI5LjIzLTUxMi01MTJzMjI5LjIzLTUxMiA1MTItNTEyIDUxMiAyMjkuMjMgNTEyIDUxMi0yMjkuMjMgNTEyLTUxMiA1MTJ6TTQ0OCA3NjhoMTI4di0xMjhoLTEyOHYxMjh6TTY0MCAxMjhoLTI1NnY2NGg2NHYyNTZoLTY0djY0aDE5MnYtMzIwaDY0di02NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTM0OyIgZ2x5cGgtbmFtZT0ibm90aWNlIiBkPSJNMTAyNCAyMjRsLTI4OCA3MzZoLTQ0OGwtMjg4LTI4OHYtNDQ4bDI4OC0yODhoNDQ4bDI4OCAyODh2NDQ4bC0yODggMjg4ek01NzYgMTI4aC0xMjh2MTI4aDEyOHYtMTI4ek01NzYgMzg0aC0xMjh2Mzg0aDEyOHYtMzg0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MzU7IiBnbHlwaC1uYW1lPSJkcm9wIiBkPSJNODY0LjYyNiA0ODYuODM4Yy02NS43NTQgMTgzLjQ0LTIwNS4xMSAzNDguMTUtMzUyLjYyNiA0NzMuMTYyLTE0Ny41MTYtMTI1LjAxMi0yODYuODctMjg5LjcyMi0zNTIuNjI2LTQ3My4xNjItNDAuNjY0LTExMy40MzYtNDQuNjgyLTIzNi41NjIgMTIuNTg0LTM0NS40IDY1Ljg0Ni0xMjUuMTQgMTk4LjYzMi0yMDUuNDM4IDM0MC4wNDItMjA1LjQzOHMyNzQuMTk2IDgwLjI5OCAzNDAuMDQwIDIwNS40NGM1Ny4yNyAxMDguODM4IDUzLjI1IDIzMS45NjIgMTIuNTg2IDM0NS4zOTh6TTczOC43NjQgMjAxLjA0NGMtNDMuODAyLTgzLjI1Mi0xMzIuODEyLTEzNy4wNDQtMjI2Ljc2NC0xMzcuMDQ0LTU1LjEyIDAtMTA4LjUyNCAxOC41MzYtMTUyLjExMiA1MC42NTIgMTMuMjQyLTEuNzI0IDI2LjYzMi0yLjY1MiA0MC4xMTItMi42NTIgMTE3LjQyNiAwIDIyOC42NjggNjcuMjE0IDI4My40MDIgMTcxLjI0MiA0NC44NzggODUuMjkyIDQwLjk3OCAxNzMuODQ4IDIzLjg4MiAyNDQuMzM4IDE0LjU1OC0yOC4xNSAyNi45MDYtNTYuMTk4IDM2Ljg0OC04My45MzIgMjIuNjA2LTYzLjA2MiA0MC4wMjQtMTU2LjM0LTUuMzY4LTI0Mi42MDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzOTsiIGdseXBoLW5hbWU9Im1pbnVzIiBkPSJNMCA1NDR2LTE5MmMwLTE3LjY3MiAxNC4zMjgtMzIgMzItMzJoOTYwYzE3LjY3MiAwIDMyIDE0LjMyOCAzMiAzMnYxOTJjMCAxNy42NzItMTQuMzI4IDMyLTMyIDMyaC05NjBjLTE3LjY3MiAwLTMyLTE0LjMyOC0zMi0zMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTNhOyIgZ2x5cGgtbmFtZT0icGx1cyIgZD0iTTk5MiA1NzZoLTM1MnYzNTJjMCAxNy42NzItMTQuMzI4IDMyLTMyIDMyaC0xOTJjLTE3LjY3MiAwLTMyLTE0LjMyOC0zMi0zMnYtMzUyaC0zNTJjLTE3LjY3MiAwLTMyLTE0LjMyOC0zMi0zMnYtMTkyYzAtMTcuNjcyIDE0LjMyOC0zMiAzMi0zMmgzNTJ2LTM1MmMwLTE3LjY3MiAxNC4zMjgtMzIgMzItMzJoMTkyYzE3LjY3MiAwIDMyIDE0LjMyOCAzMiAzMnYzNTJoMzUyYzE3LjY3MiAwIDMyIDE0LjMyOCAzMiAzMnYxOTJjMCAxNy42NzItMTQuMzI4IDMyLTMyIDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5M2I7IiBnbHlwaC1uYW1lPSJhcnJvd3VwIiBkPSJNMCAzMjBsMTkyLTE5MiAzMjAgMzIwIDMyMC0zMjAgMTkyIDE5Mi01MTEuOTk4IDUxMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTNjOyIgZ2x5cGgtbmFtZT0iYXJyb3dyaWdodCIgZD0iTTM4NCA5NjBsLTE5Mi0xOTIgMzIwLTMyMC0zMjAtMzIwIDE5Mi0xOTIgNTEyIDUxMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTNkOyIgZ2x5cGgtbmFtZT0iYXJyb3dkb3duIiBkPSJNMTAyNCA1NzZsLTE5MiAxOTItMzIwLTMyMC0zMjAgMzIwLTE5Mi0xOTIgNTEyLTUxMS45OTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkzZjsiIGdseXBoLW5hbWU9ImFycm93dXAyIiBkPSJNNzY4IDMyMGwtMjU2IDI1Ni0yNTYtMjU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5NDA7IiBnbHlwaC1uYW1lPSJhcnJvd2Rvd24yIiBkPSJNMjU2IDU3NmwyNTYtMjU2IDI1NiAyNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTk0MTsiIGdseXBoLW5hbWU9Im1lbnUyIiBkPSJNMjU2IDcwNGwyNTYtMjU2IDI1NiAyNTZ6TTI1NS45OTYgMzg0LjAwNGwyNTYtMjU2IDI1NiAyNTZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTk2MTsiIGdseXBoLW5hbWU9Im5ld3RhYiIgZD0iTTcwNCAzODRsMTI4IDEyOHYtNTEyaC03Njh2NzY4aDUxMmwtMTI4LTEyOGgtMjU2di01MTJoNTEyek05NjAgODk2di0zNTJsLTEzMC43NDQgMTMwLjc0NC0zNTQuNzQ2LTM1NC43NDRoLTkwLjUxdjkwLjUxMmwzNTQuNzQ0IDM1NC43NDQtMTMwLjc0NCAxMzAuNzQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVhYTg7IiBnbHlwaC1uYW1lPSJyb3RhdGVsZWZ0IiBkPSJNNjA3Ljk5OCA4MzEuOTg2Yy0yMTIuMDcwIDAtMzgzLjk4Ni0xNzEuOTE2LTM4My45ODYtMzgzLjk4NmgtMTkxLjk5NGwyNDYuODQ4LTI0Ni44NDggMjQ2Ljg0OCAyNDYuODQ4aC0xOTEuOTk0YzAgMTUxLjQ3OCAxMjIuNzk4IDI3NC4yNzYgMjc0LjI3NiAyNzQuMjc2IDE1MS40OCAwIDI3NC4yNzYtMTIyLjc5OCAyNzQuMjc2LTI3NC4yNzYgMC0xNTEuNDgtMTIyLjc5Ni0yNzQuMjc2LTI3NC4yNzYtMjc0LjI3NnYtMTA5LjcxYzIxMi4wNzAgMCAzODMuOTg2IDE3MS45MTYgMzgzLjk4NiAzODMuOTg2cy0xNzEuOTE2IDM4My45ODYtMzgzLjk4NiAzODMuOTg2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVhYTk7IiBnbHlwaC1uYW1lPSJyb3RhdGVyaWdodCIgZD0iTTQxNi4wMDIgODMxLjk4NmMyMTIuMDcwIDAgMzgzLjk4Ni0xNzEuOTE2IDM4My45ODYtMzgzLjk4NmgxOTEuOTk0bC0yNDYuODQ4LTI0Ni44NDgtMjQ2Ljg0OCAyNDYuODQ4aDE5MS45OTRjMCAxNTEuNDc4LTEyMi43OTggMjc0LjI3Ni0yNzQuMjc2IDI3NC4yNzYtMTUxLjQ4IDAtMjc0LjI3Ni0xMjIuNzk4LTI3NC4yNzYtMjc0LjI3NiAwLTE1MS40OCAxMjIuNzk2LTI3NC4yNzYgMjc0LjI3Ni0yNzQuMjc2di0xMDkuNzFjLTIxMi4wNzAgMC0zODMuOTg2IDE3MS45MTYtMzgzLjk4NiAzODMuOTg2czE3MS45MTYgMzgzLjk4NiAzODMuOTg2IDM4My45ODZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWFhYTsiIGdseXBoLW5hbWU9ImZsaXB2IiBkPSJNMCA1NzZoMTAyNHYzODR6TTEwMjQgMHYzODRoLTEwMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWFhYzsiIGdseXBoLW5hbWU9ImZsaXBoIiBkPSJNNTc2IDk2MHYtMTAyNGgzODR6TTAtNjRoMzg0djEwMjR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWIzNTsiIGdseXBoLW5hbWU9Inpvb21pbiIgZD0iTTk5Mi4yNjIgODguNjA0bC0yNDIuNTUyIDIwNi4yOTRjLTI1LjA3NCAyMi41NjYtNTEuODkgMzIuOTI2LTczLjU1MiAzMS45MjYgNTcuMjU2IDY3LjA2OCA5MS44NDIgMTU0LjA3OCA5MS44NDIgMjQ5LjE3NiAwIDIxMi4wNzgtMTcxLjkyMiAzODQtMzg0IDM4NC0yMTIuMDc2IDAtMzg0LTE3MS45MjItMzg0LTM4NHMxNzEuOTIyLTM4NCAzODQtMzg0Yzk1LjA5OCAwIDE4Mi4xMDggMzQuNTg2IDI0OS4xNzYgOTEuODQ0LTEtMjEuNjYyIDkuMzYtNDguNDc4IDMxLjkyNi03My41NTJsMjA2LjI5NC0yNDIuNTUyYzM1LjMyMi0zOS4yNDYgOTMuMDIyLTQyLjU1NCAxMjguMjItNy4zNTZzMzEuODkyIDkyLjg5OC03LjM1NCAxMjguMjJ6TTM4NCAzMjBjLTE0MS4zODQgMC0yNTYgMTE0LjYxNi0yNTYgMjU2czExNC42MTYgMjU2IDI1NiAyNTYgMjU2LTExNC42MTYgMjU2LTI1Ni0xMTQuNjE0LTI1Ni0yNTYtMjU2ek00NDggNzY4aC0xMjh2LTEyOGgtMTI4di0xMjhoMTI4di0xMjhoMTI4djEyOGgxMjh2MTI4aC0xMjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWIzNjsiIGdseXBoLW5hbWU9Inpvb21vdXQiIGQ9Ik05OTIuMjYyIDg4LjYwNGwtMjQyLjU1MiAyMDYuMjk0Yy0yNS4wNzQgMjIuNTY2LTUxLjg5IDMyLjkyNi03My41NTIgMzEuOTI2IDU3LjI1NiA2Ny4wNjggOTEuODQyIDE1NC4wNzggOTEuODQyIDI0OS4xNzYgMCAyMTIuMDc4LTE3MS45MjIgMzg0LTM4NCAzODQtMjEyLjA3NiAwLTM4NC0xNzEuOTIyLTM4NC0zODRzMTcxLjkyMi0zODQgMzg0LTM4NGM5NS4wOTggMCAxODIuMTA4IDM0LjU4NiAyNDkuMTc2IDkxLjg0NC0xLTIxLjY2MiA5LjM2LTQ4LjQ3OCAzMS45MjYtNzMuNTUybDIwNi4yOTQtMjQyLjU1MmMzNS4zMjItMzkuMjQ2IDkzLjAyMi00Mi41NTQgMTI4LjIyLTcuMzU2czMxLjg5MiA5Mi44OTgtNy4zNTQgMTI4LjIyek0zODQgMzIwYy0xNDEuMzg0IDAtMjU2IDExNC42MTYtMjU2IDI1NnMxMTQuNjE2IDI1NiAyNTYgMjU2IDI1Ni0xMTQuNjE2IDI1Ni0yNTYtMTE0LjYxNC0yNTYtMjU2LTI1NnpNMTkyIDY0MGgzODR2LTEyOGgtMzg0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGViYTc7IiBnbHlwaC1uYW1lPSJzaGFycGVuIiBkPSJNNzY4IDgzMmgtNTEybC0yNTYtMjU2IDUxMi01NzYgNTEyIDU3Ni0yNTYgMjU2ek01MTIgMTgxLjMzNHYyLjY2NmgtMi4zN2wtMTQuMjIyIDE2aDE2LjU5MnYxNmgtMzAuODE0bC0xNC4yMjIgMTZoNDUuMDM2djE2aC01OS4yNThsLTE0LjIyMiAxNmg3My40OHYxNmgtODcuNzA0bC0xNC4yMjIgMTZoMTAxLjkyNnYxNmgtMTE2LjE0OGwtMTQuMjIyIDE2aDEzMC4zN3YxNmgtMTQ0LjU5MmwtMTQuMjIyIDE2aDE1OC44MTR2MTZoLTE3My4wMzhsLTE0LjIyMiAxNmgxODcuMjZ2MTZoLTIwMS40ODJsLTE0LjIyMiAxNmgyMTUuNzA0djE2aC0yMjkuOTI2bC0xNC4yMjIgMTZoMjQ0LjE0OHYxNmgtMjU4LjM3MmwtMTQuMjIyIDE2aDI3Mi41OTR2MTZoLTI4Ni44MTZsLTE0LjIyMiAxNmgzMDEuMDM4djE2aC0zMTUuMjZsLTE0LjIyMiAxNmgzMjkuNDgydjE2aC0zNDMuNzA2bC03LjM0NCA4LjI2MiAxMzkuMDcyIDEzOS4wNzJoMjExLjk3OHYtMy4zMzRoMjE1LjMxNGwxNi0xNmgtMjMxLjMxNHYtMTZoMjQ3LjMxNGwxNi0xNmgtMjYzLjMxNHYtMTZoMjc5LjMxNGwxNi0xNmgtMjk1LjMxNHYtMTZoMzExLjMxNGwxNi0xNmgtMzI3LjMxNHYtMTZoMzQzLjMxMmw3LjczOC03LjczOC0zNTEuMDUwLTM5NC45Mjh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWM2YTsiIGdseXBoLW5hbWU9Im9wdGlvbnMiIGQ9Ik02NCA3NjhoODk2di0xOTJoLTg5NnpNNjQgNTEyaDg5NnYtMTkyaC04OTZ6TTY0IDI1Nmg4OTZ2LTE5MmgtODk2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVjY2M7IiBnbHlwaC1uYW1lPSJzdW4iIGQ9Ik01MTIgMTI4YzM1LjM0NiAwIDY0LTI4LjY1NCA2NC02NHYtNjRjMC0zNS4zNDYtMjguNjU0LTY0LTY0LTY0cy02NCAyOC42NTQtNjQgNjR2NjRjMCAzNS4zNDYgMjguNjU0IDY0IDY0IDY0ek01MTIgNzY4Yy0zNS4zNDYgMC02NCAyOC42NTQtNjQgNjR2NjRjMCAzNS4zNDYgMjguNjU0IDY0IDY0IDY0czY0LTI4LjY1NCA2NC02NHYtNjRjMC0zNS4zNDYtMjguNjU0LTY0LTY0LTY0ek05NjAgNTEyYzM1LjM0NiAwIDY0LTI4LjY1NCA2NC02NHMtMjguNjU0LTY0LTY0LTY0aC02NGMtMzUuMzQ4IDAtNjQgMjguNjU0LTY0IDY0czI4LjY1MiA2NCA2NCA2NGg2NHpNMTkyIDQ0OGMwLTM1LjM0Ni0yOC42NTQtNjQtNjQtNjRoLTY0Yy0zNS4zNDYgMC02NCAyOC42NTQtNjQgNjRzMjguNjU0IDY0IDY0IDY0aDY0YzM1LjM0NiAwIDY0LTI4LjY1NCA2NC02NHpNODI4Ljc4NCAyMjEuNzI2bDQ1LjI1Ni00NS4yNThjMjQuOTkyLTI0Ljk5IDI0Ljk5Mi02NS41MTYgMC05MC41MDgtMjQuOTk0LTI0Ljk5Mi02NS41MTgtMjQuOTkyLTkwLjUxIDBsLTQ1LjI1NiA0NS4yNTZjLTI0Ljk5MiAyNC45OS0yNC45OTIgNjUuNTE2IDAgOTAuNTEgMjQuOTk0IDI0Ljk5MiA2NS41MTggMjQuOTkyIDkwLjUxIDB6TTE5NS4yMTYgNjc0LjI3NGwtNDUuMjU2IDQ1LjI1NmMtMjQuOTk0IDI0Ljk5NC0yNC45OTQgNjUuNTE2IDAgOTAuNTFzNjUuNTE2IDI0Ljk5NCA5MC41MSAwbDQ1LjI1Ni00NS4yNTZjMjQuOTk0LTI0Ljk5NCAyNC45OTQtNjUuNTE2IDAtOTAuNTFzLTY1LjUxNi0yNC45OTQtOTAuNTEgMHpNODI4Ljc4NCA2NzQuMjc0Yy0yNC45OTItMjQuOTkyLTY1LjUxNi0yNC45OTItOTAuNTEgMC0yNC45OTIgMjQuOTk0LTI0Ljk5MiA2NS41MTYgMCA5MC41MWw0NS4yNTYgNDUuMjU0YzI0Ljk5MiAyNC45OTQgNjUuNTE2IDI0Ljk5NCA5MC41MSAwIDI0Ljk5Mi0yNC45OTQgMjQuOTkyLTY1LjUxNiAwLTkwLjUxbC00NS4yNTYtNDUuMjU0ek0xOTUuMjE2IDIyMS43MjZjMjQuOTkyIDI0Ljk5MiA2NS41MTggMjQuOTkyIDkwLjUwOCAwIDI0Ljk5NC0yNC45OTQgMjQuOTk0LTY1LjUyIDAtOTAuNTFsLTQ1LjI1NC00NS4yNTZjLTI0Ljk5NC0yNC45OTItNjUuNTE2LTI0Ljk5Mi05MC41MSAwcy0yNC45OTQgNjUuNTE4IDAgOTAuNTA4bDQ1LjI1NiA0NS4yNTh6TTUxMiA3MDRjLTE0MS4zODQgMC0yNTYtMTE0LjYxNi0yNTYtMjU2IDAtMTQxLjM4MiAxMTQuNjE2LTI1NiAyNTYtMjU2IDE0MS4zODIgMCAyNTYgMTE0LjYxOCAyNTYgMjU2IDAgMTQxLjM4NC0xMTQuNjE2IDI1Ni0yNTYgMjU2ek01MTIgMjg4Yy04OC4zNjYgMC0xNjAgNzEuNjM0LTE2MCAxNjBzNzEuNjM0IDE2MCAxNjAgMTYwIDE2MC03MS42MzQgMTYwLTE2MC03MS42MzQtMTYwLTE2MC0xNjB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWNjZDsiIGdseXBoLW5hbWU9Im1vb24iIGQ9Ik03MTUuODEyIDg5NS41MmMtNjAuMjUgMzQuNzg0LTEyNC42MTggNTUuOTA0LTE4OS41NzIgNjQuNDggMTIyLjkzNi0xNjAuMDgyIDE0NC43NjgtMzg0Ljc2MiAzNy41NzQtNTcwLjQyLTEwNy4yLTE4NS42Ny0zMTIuNjg4LTI3OS4xMTItNTEyLjc4OC0yNTIuNjggMzkuODk4LTUxLjk1OCA5MC4zNzYtOTcuMTQ2IDE1MC42MjgtMTMxLjkzNCAyNDUuOTA4LTE0MS45NzQgNTYwLjM3LTU3LjcyIDcwMi4zNDQgMTg4LjE5OCAxNDEuOTg4IDI0NS45MjQgNTcuNzMyIDU2MC4zNzItMTg4LjE4NiA3MDIuMzU2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGVjZDQ7IiBnbHlwaC1uYW1lPSJjb250cmFzdCIgZD0iTTUxMiA5NjBjLTI4Mi43NyAwLTUxMi0yMjkuMjMtNTEyLTUxMnMyMjkuMjMtNTEyIDUxMi01MTIgNTEyIDIyOS4yMyA1MTIgNTEyLTIyOS4yMyA1MTItNTEyIDUxMnpNMTI4IDQ0OGMwIDIxMi4wNzggMTcxLjkyMiAzODQgMzg0IDM4NHYtNzY4Yy0yMTIuMDc4IDAtMzg0IDE3MS45MjItMzg0IDM4NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlZDZhOyIgZ2x5cGgtbmFtZT0icmVtb3ZlMjIiIGQ9Ik04OTMuMjU0IDczOC43NDZsLTkwLjUwOCA5MC41MDgtMjkwLjc0Ni0yOTAuNzQ0LTI5MC43NDYgMjkwLjc0NC05MC41MDgtOTAuNTA2IDI5MC43NDYtMjkwLjc0OC0yOTAuNzQ2LTI5MC43NDYgOTAuNTA4LTkwLjUwOCAyOTAuNzQ2IDI5MC43NDYgMjkwLjc0Ni0yOTAuNzQ2IDkwLjUwOCA5MC41MS0yOTAuNzQ0IDI5MC43NDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWRjMDsiIGdseXBoLW5hbWU9ImFycm93bGVmdCIgZD0iTTY3Mi02NGwxOTIgMTkyLTMyMCAzMjAgMzIwIDMyMC0xOTIgMTkyLTUxMi01MTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZWRmOTsiIGdseXBoLW5hbWU9InJlc2l6ZTIiIGQ9Ik0wIDg5NnYtMzg0YzAtMzUuMzQ2IDI4LjY1NC02NCA2NC02NHM2NCAyOC42NTQgNjQgNjR2MjI5LjQ4OGw2NzcuNDg4LTY3Ny40ODhoLTIyOS40ODhjLTM1LjM0NiAwLTY0LTI4LjY1Mi02NC02NCAwLTM1LjM0NiAyOC42NTQtNjQgNjQtNjRoMzg0YzM1LjM0NiAwIDY0IDI4LjY1NCA2NCA2NHYzODRjMCAzNS4zNDgtMjguNjU0IDY0LTY0IDY0cy02NC0yOC42NTItNjQtNjR2LTIyOS40ODhsLTY3Ny40ODggNjc3LjQ4OGgyMjkuNDg4YzM1LjM0NiAwIDY0IDI4LjY1NCA2NCA2NHMtMjguNjUyIDY0LTY0IDY0aC0zODRjLTM1LjM0NiAwLTY0LTI4LjY1NC02NC02NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlZTc4OyIgZ2x5cGgtbmFtZT0iY3JvcCIgZD0iTTgzMiA3MDRsMTkyIDE5Mi02NCA2NC0xOTItMTkyaC00NDh2MTkyaC0xMjh2LTE5MmgtMTkydi0xMjhoMTkydi01MTJoNTEydi0xOTJoMTI4djE5MmgxOTJ2MTI4aC0xOTJ2NDQ4ek0zMjAgNjQwaDMyMGwtMzIwLTMyMHYzMjB6TTM4NCAyNTZsMzIwIDMyMHYtMzIwaC0zMjB6IiAvPgo8L2ZvbnQ+PC9kZWZzPjwvc3ZnPg==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce.ttf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/fonts/tinymce.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/anchor.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhBwAHAIABAAAAAP///yH5BAEAAAEALAAAAAAHAAcAAAIMjGGJmMH9mHQ0AlYAADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/loader.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/object.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEQANALMPAOXl5T8/P29vb7S0tFdXV/39/djY2N3d3crKyu/v7/f39/Ly8p2dnf///zMzMwAAACH5BAEAAA8ALAAAAAARAA0AAARF0MlJq3uutay75lmGNU9pjiNFCsipqhgxmO9HSgFTgtt9O4EBABWa3AiGwvBlfAgWisPOyCslDDSbSHTa+SzgpmdMbkQAADs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/img/trans.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAJAAAAAAAAAAACH5BAEUAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/skin.ie7.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lm1jZS1jb250YWluZXIsLm1jZS1jb250YWluZXIgKiwubWNlLXdpZGdldCwubWNlLXdpZGdldCAqLC5tY2UtcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7dGV4dC1zaGFkb3c6bm9uZTtmbG9hdDpub25lO3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO3doaXRlLXNwYWNlOm5vd3JhcDtjdXJzb3I6aW5oZXJpdDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmxlZnQ7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOm5vbmV9Lm1jZS13aWRnZXQgYnV0dG9uey1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWNlLWNvbnRhaW5lciAqW3Vuc2VsZWN0YWJsZV17LW1vei11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm1jZS1mYWRle29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXJ9Lm1jZS1mYWRlLm1jZS1pbntvcGFjaXR5OjF9Lm1jZS10aW55bWNle3Zpc2liaWxpdHk6aW5oZXJpdCAhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtZnVsbHNjcmVlbntib3JkZXI6MDtwYWRkaW5nOjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlO3otaW5kZXg6MTAwfWRpdi5tY2UtZnVsbHNjcmVlbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30ubWNlLXRpbnltY2V7ZGlzcGxheTpibG9ja30ubWNlLXdvcmRjb3VudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmc6OHB4fWRpdi5tY2UtZWRpdC1hcmVhe2JhY2tncm91bmQ6I2ZmZjtmaWx0ZXI6bm9uZX0ubWNlLXN0YXR1c2Jhcntwb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLXN0YXR1c2JhciAubWNlLWNvbnRhaW5lci1ib2R5e3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtZnVsbHNjcmVlbiAubWNlLXJlc2l6ZWhhbmRsZXtkaXNwbGF5Om5vbmV9Lm1jZS1jaGFybWFwe2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0ubWNlLWNoYXJtYXAgdGR7Y3Vyc29yOmRlZmF1bHQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nOjJweH0ubWNlLWNoYXJtYXAgdGQgZGl2e3RleHQtYWxpZ246Y2VudGVyfS5tY2UtY2hhcm1hcCB0ZDpob3ZlcntiYWNrZ3JvdW5kOiNkOWQ5ZDl9Lm1jZS1ncmlkIHRkLm1jZS1ncmlkLWNlbGwgZGl2e2JvcmRlcjoxcHggc29saWQgI2Q2ZDZkNjt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O21hcmdpbjowO2N1cnNvcjpwb2ludGVyfS5tY2UtZ3JpZCB0ZC5tY2UtZ3JpZC1jZWxsIGRpdjpmb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLWdyaWQgdGQubWNlLWdyaWQtY2VsbCBkaXZbZGlzYWJsZWRde2N1cnNvcjpub3QtYWxsb3dlZH0ubWNlLWdyaWR7Ym9yZGVyLXNwYWNpbmc6MnB4O2JvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZX0ubWNlLWdyaWQgYXtkaXNwbGF5OmJsb2NrO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9Lm1jZS1ncmlkIGE6aG92ZXIsLm1jZS1ncmlkIGE6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMzNDk4ZGJ9Lm1jZS1ncmlkLWJvcmRlcnttYXJnaW46MCA0cHggMCA0cHh9Lm1jZS1ncmlkLWJvcmRlciBhe2JvcmRlci1jb2xvcjojZDZkNmQ2O3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9Lm1jZS1ncmlkLWJvcmRlciBhOmhvdmVyLC5tY2UtZ3JpZC1ib3JkZXIgYS5tY2UtYWN0aXZle2JvcmRlci1jb2xvcjojMzQ5OGRiO2JhY2tncm91bmQ6IzM0OThkYn0ubWNlLXRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfWRpdi5tY2UtdGlueW1jZS1pbmxpbmV7d2lkdGg6MTAwJX0ubWNlLWNvbG9yYnRuLXRyYW5zIGRpdnt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxNnB4O2NvbG9yOiM3MDcwNzB9Lm1jZS1tb25vc3BhY2V7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IixDb3VyaWVyLG1vbm9zcGFjZX0ubWNlLXRvb2xiYXItZ3Jwe3BhZGRpbmc6MnB4IDB9Lm1jZS10b29sYmFyLWdycCAubWNlLWZsb3ctbGF5b3V0LWl0ZW17bWFyZ2luLWJvdHRvbTowfS5tY2UtcnRsIC5tY2Utd29yZGNvdW50e2xlZnQ6MDtyaWdodDphdXRvfS5tY2UtY3JvcHJlY3QtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ubWNlLWNyb3ByZWN0LWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlfS5tY2UtY3JvcHJlY3QtaGFuZGxlLW53e2JvcmRlci13aWR0aDoycHggMCAwIDJweDttYXJnaW46LTJweCAwIDAgLTJweDtjdXJzb3I6bnctcmVzaXplO3RvcDoxMDBweDtsZWZ0OjEwMHB4fS5tY2UtY3JvcHJlY3QtaGFuZGxlLW5le2JvcmRlci13aWR0aDoycHggMnB4IDAgMDttYXJnaW46LTJweCAwIDAgLTIwcHg7Y3Vyc29yOm5lLXJlc2l6ZTt0b3A6MTAwcHg7bGVmdDoyMDBweH0ubWNlLWNyb3ByZWN0LWhhbmRsZS1zd3tib3JkZXItd2lkdGg6MCAwIDJweCAycHg7bWFyZ2luOi0yMHB4IDJweCAwIC0ycHg7Y3Vyc29yOnN3LXJlc2l6ZTt0b3A6MjAwcHg7bGVmdDoxMDBweH0ubWNlLWNyb3ByZWN0LWhhbmRsZS1zZXtib3JkZXItd2lkdGg6MCAycHggMnB4IDA7bWFyZ2luOi0yMHB4IDAgMCAtMjBweDtjdXJzb3I6c2UtcmVzaXplO3RvcDoyMDBweDtsZWZ0OjIwMHB4fS5tY2UtY3JvcHJlY3QtaGFuZGxlLW1vdmV7cG9zaXRpb246YWJzb2x1dGU7Y3Vyc29yOm1vdmU7Ym9yZGVyOjB9Lm1jZS1jcm9wcmVjdC1ibG9ja3tvcGFjaXR5Oi4zO2ZpbHRlcjphbHBoYShvcGFjaXR5PTMwKTt6b29tOjE7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpibGFja30ubWNlLWNyb3ByZWN0LWhhbmRsZTpmb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLWNyb3ByZWN0LWhhbmRsZS1tb3ZlOmZvY3Vze291dGxpbmU6MXB4IHNvbGlkICMzNDk4ZGJ9Lm1jZS1pbWFnZXBhbmVse292ZXJmbG93OmF1dG87YmFja2dyb3VuZDpibGFja30ubWNlLWltYWdlcGFuZWwgaW1ne3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtaW1hZ2V0b29sLm1jZS1idG4gLm1jZS1pY297ZGlzcGxheTpibG9jazt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC1zaXplOjIwcHg7cGFkZGluZzo1cHh9Lm1jZS1hcnJvdy11cHttYXJnaW4tdG9wOjNweH0ubWNlLWFycm93LWRvd257bWFyZ2luLXRvcDotM3B4fS5tY2UtYXJyb3c6YmVmb3JlLC5tY2UtYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Y29udGVudDoiIn0ubWNlLWFycm93Lm1jZS1hcnJvdy11cDpiZWZvcmV7dG9wOi05cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLXdpZHRoOjAgOXB4IDlweDttYXJnaW4tbGVmdDotOXB4fS5tY2UtYXJyb3cubWNlLWFycm93LWRvd246YmVmb3Jle2JvdHRvbTotOXB4O2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwwLjIpO2JvcmRlci13aWR0aDo5cHggOXB4IDA7bWFyZ2luLWxlZnQ6LTlweH0ubWNlLWFycm93Lm1jZS1hcnJvdy11cDphZnRlcnt0b3A6LThweDtib3JkZXItYm90dG9tLWNvbG9yOiNmMGYwZjA7Ym9yZGVyLXdpZHRoOjAgOHB4IDhweDttYXJnaW4tbGVmdDotOHB4fS5tY2UtYXJyb3cubWNlLWFycm93LWRvd246YWZ0ZXJ7Ym90dG9tOi04cHg7Ym9yZGVyLXRvcC1jb2xvcjojZjBmMGYwO2JvcmRlci13aWR0aDo4cHggOHB4IDA7bWFyZ2luLWxlZnQ6LThweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmJlZm9yZSwubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmFmdGVye21hcmdpbjowfS5tY2UtYXJyb3cubWNlLWFycm93LWxlZnQ6YmVmb3Jle2xlZnQ6MjBweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmFmdGVye2xlZnQ6MjFweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1yaWdodDpiZWZvcmUsLm1jZS1hcnJvdy5tY2UtYXJyb3ctcmlnaHQ6YWZ0ZXJ7bGVmdDphdXRvO21hcmdpbjowfS5tY2UtYXJyb3cubWNlLWFycm93LXJpZ2h0OmJlZm9yZXtyaWdodDoyMHB4fS5tY2UtYXJyb3cubWNlLWFycm93LXJpZ2h0OmFmdGVye3JpZ2h0OjIxcHh9Lm1jZS1jb250YWluZXIsLm1jZS1jb250YWluZXItYm9keXtkaXNwbGF5OmJsb2NrfS5tY2UtYXV0b3Njcm9sbHtvdmVyZmxvdzpoaWRkZW59Lm1jZS1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6N3B4O2hlaWdodDoxMDAlO3RvcDoycHg7cmlnaHQ6MnB4O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLXNjcm9sbGJhci1oe3RvcDphdXRvO3JpZ2h0OmF1dG87bGVmdDoycHg7Ym90dG9tOjJweDt3aWR0aDoxMDAlO2hlaWdodDo3cHh9Lm1jZS1zY3JvbGxiYXItdGh1bWJ7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggc29saWQgIzg4ODtib3JkZXItY29sb3I6cmdiYSg4NSw4NSw4NSwwLjYpO3dpZHRoOjVweDtoZWlnaHQ6MTAwJX0ubWNlLXNjcm9sbGJhci1oIC5tY2Utc2Nyb2xsYmFyLXRodW1ie3dpZHRoOjEwMCU7aGVpZ2h0OjVweH0ubWNlLXNjcm9sbGJhcjpob3ZlciwubWNlLXNjcm9sbGJhci5tY2UtYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2FhYTtvcGFjaXR5Oi42O2ZpbHRlcjphbHBoYShvcGFjaXR5PTYwKTt6b29tOjF9Lm1jZS1zY3JvbGx7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS1wYW5lbHtib3JkZXI6MCBzb2xpZCAjY2FjYWNhO2JvcmRlcjowIHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjB9Lm1jZS1mbG9hdHBhbmVse3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtZmxvYXRwYW5lbC5tY2UtZml4ZWR7cG9zaXRpb246Zml4ZWR9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3csLm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3d7Ym9yZGVyLXdpZHRoOjExcHh9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3c6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjEwcHg7Y29udGVudDoiIn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXJ7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dG9wOjA7bGVmdDowO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yNSl9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b217bWFyZ2luLXRvcDoxMHB4OyptYXJnaW4tdG9wOjB9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b20+Lm1jZS1hcnJvd3tsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItdG9wLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMjUpO3RvcDotMTFweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbT4ubWNlLWFycm93OmFmdGVye3RvcDoxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2Utc3RhcnR7bWFyZ2luLWxlZnQ6LTIycHh9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b20ubWNlLXN0YXJ0Pi5tY2UtYXJyb3d7bGVmdDoyMHB4fS5tY2UtZmxvYXRwYW5lbC5tY2UtcG9wb3Zlci5tY2UtYm90dG9tLm1jZS1lbmR7bWFyZ2luLWxlZnQ6MjJweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2UtZW5kPi5tY2UtYXJyb3d7cmlnaHQ6MTBweDtsZWZ0OmF1dG99Lm1jZS1mdWxsc2NyZWVue2JvcmRlcjowO3BhZGRpbmc6MDttYXJnaW46MDtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjEwMCV9ZGl2Lm1jZS1mdWxsc2NyZWVue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MH0jbWNlLW1vZGFsLWJsb2Nre29wYWNpdHk6MDtmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTt6b29tOjE7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwfSNtY2UtbW9kYWwtYmxvY2subWNlLWlue29wYWNpdHk6LjM7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MzApO3pvb206MX0ubWNlLXdpbmRvdy1tb3Zle2N1cnNvcjptb3ZlfS5tY2Utd2luZG93e2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JhY2tncm91bmQ6I2ZmZjtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwbXMgZWFzZS1pbixvcGFjaXR5IDE1MG1zIGVhc2UtaW59Lm1jZS13aW5kb3cubWNlLWlue3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9Lm1jZS13aW5kb3ctaGVhZHtwYWRkaW5nOjlweCAxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjNWM1YzU7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS13aW5kb3ctaGVhZCAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7aGVpZ2h0OjM4cHg7d2lkdGg6MzhweDt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ubWNlLXdpbmRvdy1oZWFkIC5tY2UtY2xvc2UgaXtjb2xvcjojODU4NTg1fS5tY2UtY2xvc2U6aG92ZXIgaXtjb2xvcjojYWRhZGFkfS5tY2Utd2luZG93LWhlYWQgLm1jZS10aXRsZXtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVsZWdpYmlsaXR5O3BhZGRpbmctcmlnaHQ6MjBweH0ubWNlLXdpbmRvdyAubWNlLWNvbnRhaW5lci1ib2R5e2Rpc3BsYXk6YmxvY2t9Lm1jZS1mb290e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci10b3A6MXB4IHNvbGlkICNjNWM1YzV9Lm1jZS13aW5kb3ctaGVhZCAubWNlLWRyYWdoe3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtjdXJzb3I6bW92ZTt3aWR0aDo5MCU7aGVpZ2h0OjEwMCV9Lm1jZS13aW5kb3cgaWZyYW1le3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lm1jZS13aW5kb3ctYm9keSAubWNlLWxpc3Rib3h7Ym9yZGVyLWNvbG9yOiNjY2N9Lm1jZS1ydGwgLm1jZS13aW5kb3ctaGVhZCAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OmF1dG87bGVmdDoxNXB4fS5tY2UtcnRsIC5tY2Utd2luZG93LWhlYWQgLm1jZS1kcmFnaHtsZWZ0OmF1dG87cmlnaHQ6MH0ubWNlLXJ0bCAubWNlLXdpbmRvdy1oZWFkIC5tY2UtdGl0bGV7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtdG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjVweDtvcGFjaXR5Oi44O2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKTt6b29tOjF9Lm1jZS10b29sdGlwLWlubmVye2ZvbnQtc2l6ZToxMXB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtjb2xvcjp3aGl0ZTttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzo1cHggOHB4IDRweCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtdG9vbHRpcC1hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO2xpbmUtaGVpZ2h0OjA7Ym9yZGVyOjVweCBkYXNoZWQgIzAwMH0ubWNlLXRvb2x0aXAtYXJyb3ctbntib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLWFycm93LXN7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS5tY2UtdG9vbHRpcC1hcnJvdy1le2JvcmRlci1sZWZ0LWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLWFycm93LXd7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLW53LC5tY2UtdG9vbHRpcC1zd3ttYXJnaW4tbGVmdDotMTRweH0ubWNlLXRvb2x0aXAtbiAubWNlLXRvb2x0aXAtYXJyb3d7dG9wOjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLW53IC5tY2UtdG9vbHRpcC1hcnJvd3t0b3A6MDtsZWZ0OjEwcHg7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1uZSAubWNlLXRvb2x0aXAtYXJyb3d7dG9wOjA7cmlnaHQ6MTBweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLXMgLm1jZS10b29sdGlwLWFycm93e2JvdHRvbTowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1zdyAubWNlLXRvb2x0aXAtYXJyb3d7Ym90dG9tOjA7bGVmdDoxMHB4O2JvcmRlci10b3Atc3R5bGU6c29saWQ7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXRvb2x0aXAtc2UgLm1jZS10b29sdGlwLWFycm93e2JvdHRvbTowO3JpZ2h0OjEwcHg7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1lIC5tY2UtdG9vbHRpcC1hcnJvd3tyaWdodDowO3RvcDo1MCU7bWFyZ2luLXRvcDotNXB4O2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXRvb2x0aXAtdyAubWNlLXRvb2x0aXAtYXJyb3d7bGVmdDowO3RvcDo1MCU7bWFyZ2luLXRvcDotNXB4O2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXByb2dyZXNze2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoyMHB4fS5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMHB4O2hlaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO292ZXJmbG93OmhpZGRlbn0ubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO2ZvbnQtc2l6ZToxNHB4O3dpZHRoOjQwcHg7Y29sb3I6IzMzM30ubWNlLWJhcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZDdkN2Q3Oy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZTt0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlfS5tY2Utbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDtwYWRkaW5nOjVweDttYXJnaW4tdG9wOjVweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2NjYzt0cmFuc2Zvcm06c2NhbGUoLjEpO3RyYW5zaXRpb246dHJhbnNmb3JtIDEwMG1zIGVhc2UtaW4sb3BhY2l0eSAxNTBtcyBlYXNlLWluO29wYWNpdHk6MH0ubWNlLW5vdGlmaWNhdGlvbi5tY2UtaW57b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ubWNlLW5vdGlmaWNhdGlvbi1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6I2Q2ZTljNn0ubWNlLW5vdGlmaWNhdGlvbi1pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6Izc3OWVjYn0ubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztib3JkZXItY29sb3I6I2ZhZWJjY30ubWNlLW5vdGlmaWNhdGlvbi1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9Lm1jZS1ub3RpZmljYXRpb24ubWNlLWhhcy1jbG9zZXtwYWRkaW5nLXJpZ2h0OjE1cHh9Lm1jZS1ub3RpZmljYXRpb24gLm1jZS1pY297bWFyZ2luLXRvcDo1cHh9Lm1jZS1ub3RpZmljYXRpb24taW5uZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjVweCA4cHggNHB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7Y29sb3I6IzMxNzA4Zn0ubWNlLW5vdGlmaWNhdGlvbi1pbm5lciBhe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y3Vyc29yOnBvaW50ZXJ9Lm1jZS1ub3RpZmljYXRpb24gLm1jZS1wcm9ncmVzc3ttYXJnaW4tcmlnaHQ6OHB4fS5tY2Utbm90aWZpY2F0aW9uIC5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e21hcmdpbi10b3A6NXB4fS5tY2Utbm90aWZpY2F0aW9uICosLm1jZS1ub3RpZmljYXRpb24gLm1jZS1wcm9ncmVzcyAubWNlLXRleHR7Y29sb3I6IzMzM30ubWNlLW5vdGlmaWNhdGlvbiAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lcntib3JkZXItY29sb3I6I2NjY30ubWNlLW5vdGlmaWNhdGlvbiAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lciAubWNlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9Lm1jZS1ub3RpZmljYXRpb24tc3VjY2VzcyAqLC5tY2Utbm90aWZpY2F0aW9uLXN1Y2Nlc3MgLm1jZS1wcm9ncmVzcyAubWNlLXRleHR7Y29sb3I6IzNjNzYzZH0ubWNlLW5vdGlmaWNhdGlvbi1zdWNjZXNzIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2JvcmRlci1jb2xvcjojZDZlOWM2fS5tY2Utbm90aWZpY2F0aW9uLXN1Y2Nlc3MgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXIgLm1jZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjojM2M3NjNkfS5tY2Utbm90aWZpY2F0aW9uLWluZm8gKiwubWNlLW5vdGlmaWNhdGlvbi1pbmZvIC5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e2NvbG9yOiMzMTcwOGZ9Lm1jZS1ub3RpZmljYXRpb24taW5mbyAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lcntib3JkZXItY29sb3I6Izc3OWVjYn0ubWNlLW5vdGlmaWNhdGlvbi1pbmZvIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVyIC5tY2UtYmFye2JhY2tncm91bmQtY29sb3I6IzMxNzA4Zn0ubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5nICosLm1jZS1ub3RpZmljYXRpb24td2FybmluZyAubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtjb2xvcjojOGE2ZDNifS5tY2Utbm90aWZpY2F0aW9uLXdhcm5pbmcgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXJ7Ym9yZGVyLWNvbG9yOiNmYWViY2N9Lm1jZS1ub3RpZmljYXRpb24td2FybmluZyAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lciAubWNlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiM4YTZkM2J9Lm1jZS1ub3RpZmljYXRpb24tZXJyb3IgKiwubWNlLW5vdGlmaWNhdGlvbi1lcnJvciAubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtjb2xvcjojYTk0NDQyfS5tY2Utbm90aWZpY2F0aW9uLWVycm9yIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2JvcmRlci1jb2xvcjojZWJjY2QxfS5tY2Utbm90aWZpY2F0aW9uLWVycm9yIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVyIC5tY2UtYmFye2JhY2tncm91bmQtY29sb3I6I2E5NDQ0Mn0ubWNlLW5vdGlmaWNhdGlvbiAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6OHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojODU4NTg1O2N1cnNvcjpwb2ludGVyO2hlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbn0ubWNlLWFicy1sYXlvdXR7cG9zaXRpb246cmVsYXRpdmV9Ym9keSAubWNlLWFicy1sYXlvdXQtaXRlbSwubWNlLWFicy1lbmR7cG9zaXRpb246YWJzb2x1dGV9Lm1jZS1hYnMtZW5ke3dpZHRoOjFweDtoZWlnaHQ6MXB4fS5tY2UtY29udGFpbmVyLWJvZHkubWNlLWFicy1sYXlvdXR7b3ZlcmZsb3c6aGlkZGVufS5tY2UtYnRue2JvcmRlcjoxcHggc29saWQgI2IxYjFiMTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7YmFja2dyb3VuZC1jb2xvcjojZjBmMGYwfS5tY2UtYnRuOmhvdmVyLC5tY2UtYnRuOmZvY3Vze2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTNlM2UzO2JvcmRlci1jb2xvcjojY2NjfS5tY2UtYnRuLm1jZS1kaXNhYmxlZCBidXR0b24sLm1jZS1idG4ubWNlLWRpc2FibGVkOmhvdmVyIGJ1dHRvbntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5Oi40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKTt6b29tOjF9Lm1jZS1idG4ubWNlLWFjdGl2ZSwubWNlLWJ0bi5tY2UtYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RiZGJkYjtib3JkZXItY29sb3I6I2NjY30ubWNlLWJ0bjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZTBlMGUwO2JvcmRlci1jb2xvcjojY2NjfS5tY2UtYnRuIGJ1dHRvbntwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDsqbGluZS1oZWlnaHQ6MTZweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojMzMzO3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OnZpc2libGU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Lm1jZS1idG4gYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0ubWNlLWJ0biBpe3RleHQtc2hhZG93OjFweCAxcHggbm9uZX0ubWNlLXByaW1hcnl7bWluLXdpZHRoOjUwcHg7Y29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOiMyZDhhYzd9Lm1jZS1wcmltYXJ5OmhvdmVyLC5tY2UtcHJpbWFyeTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiMyNTdjYjY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtcHJpbWFyeS5tY2UtZGlzYWJsZWQgYnV0dG9uLC5tY2UtcHJpbWFyeS5tY2UtZGlzYWJsZWQ6aG92ZXIgYnV0dG9ue2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLXByaW1hcnkubWNlLWFjdGl2ZSwubWNlLXByaW1hcnkubWNlLWFjdGl2ZTpob3ZlciwubWNlLXByaW1hcnk6bm90KC5tY2UtZGlzYWJsZWQpOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMDZlYTF9Lm1jZS1wcmltYXJ5IGJ1dHRvbiwubWNlLXByaW1hcnkgYnV0dG9uIGl7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzoxcHggMXB4IG5vbmV9Lm1jZS1idG4gLm1jZS10eHR7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0fS5tY2UtYnRuLWxhcmdlIGJ1dHRvbntwYWRkaW5nOjlweCAxNHB4O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ubWNlLWJ0bi1sYXJnZSBpe21hcmdpbi10b3A6MnB4fS5tY2UtYnRuLXNtYWxsIGJ1dHRvbntwYWRkaW5nOjFweCA1cHg7Zm9udC1zaXplOjEycHg7KnBhZGRpbmctYm90dG9tOjJweH0ubWNlLWJ0bi1zbWFsbCBpe2xpbmUtaGVpZ2h0OjIwcHg7dmVydGljYWwtYWxpZ246dG9wOypsaW5lLWhlaWdodDoxOHB4fS5tY2UtYnRuIC5tY2UtY2FyZXR7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWxlZnQ6MH0ubWNlLWJ0bi1zbWFsbCAubWNlLWNhcmV0e21hcmdpbi10b3A6OHB4O21hcmdpbi1sZWZ0OjB9Lm1jZS1jYXJldHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MTt3aWR0aDowO2hlaWdodDowO3ZlcnRpY2FsLWFsaWduOnRvcDtib3JkZXItdG9wOjRweCBzb2xpZCAjMzMzO2JvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6IiJ9Lm1jZS1kaXNhYmxlZCAubWNlLWNhcmV0e2JvcmRlci10b3AtY29sb3I6I2FhYX0ubWNlLWNhcmV0Lm1jZS11cHtib3JkZXItYm90dG9tOjRweCBzb2xpZCAjMzMzO2JvcmRlci10b3A6MH0ubWNlLWJ0bi1mbGF0e2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ZmlsdGVyOm5vbmV9Lm1jZS1idG4tZmxhdDpob3ZlciwubWNlLWJ0bi1mbGF0Lm1jZS1hY3RpdmUsLm1jZS1idG4tZmxhdDpmb2N1cywubWNlLWJ0bi1mbGF0OmFjdGl2ZXtib3JkZXI6MDtiYWNrZ3JvdW5kOiNlNmU2ZTY7ZmlsdGVyOm5vbmV9Lm1jZS1idG4taGFzLXRleHQgLm1jZS1pY297cGFkZGluZy1yaWdodDo1cHh9Lm1jZS1ydGwgLm1jZS1idG4gYnV0dG9ue2RpcmVjdGlvbjpydGx9Lm1jZS1idG4tZ3JvdXAgLm1jZS1idG57Ym9yZGVyLXdpZHRoOjFweDttYXJnaW46MDttYXJnaW4tbGVmdDoycHh9Lm1jZS1idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkOWQ5ZDk7cGFkZGluZy1sZWZ0OjNweDttYXJnaW4tbGVmdDozcHh9Lm1jZS1idG4tZ3JvdXAgLm1jZS1maXJzdHttYXJnaW4tbGVmdDowfS5tY2UtYnRuLWdyb3VwIC5tY2UtYnRuLm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjowfS5tY2UtcnRsIC5tY2UtYnRuLWdyb3VwIC5tY2UtYnRue21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjJweH0ubWNlLXJ0bCAubWNlLWJ0bi1ncm91cCAubWNlLWZpcnN0e21hcmdpbi1yaWdodDowfS5tY2UtcnRsIC5tY2UtYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDlkOWQ5O3BhZGRpbmctcmlnaHQ6NHB4O21hcmdpbi1yaWdodDo0cHh9Lm1jZS1jaGVja2JveHtjdXJzb3I6cG9pbnRlcn1pLm1jZS1pLWNoZWNrYm94e21hcmdpbjowIDNweCAwIDA7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDt0ZXh0LWluZGVudDotMTBlbTsqZm9udC1zaXplOjA7KmxpbmUtaGVpZ2h0OjA7KnRleHQtaW5kZW50OjA7b3ZlcmZsb3c6aGlkZGVufS5tY2UtY2hlY2tlZCBpLm1jZS1pLWNoZWNrYm94e2NvbG9yOiMzMzM7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MTZweDt0ZXh0LWluZGVudDowfS5tY2UtY2hlY2tib3g6Zm9jdXMgaS5tY2UtaS1jaGVja2JveCwubWNlLWNoZWNrYm94Lm1jZS1mb2N1cyBpLm1jZS1pLWNoZWNrYm94e2JvcmRlcjoxcHggc29saWQgcmdiYSg4MiwxNjgsMjM2LDAuOCl9Lm1jZS1jaGVja2JveC5tY2UtZGlzYWJsZWQgLm1jZS1sYWJlbCwubWNlLWNoZWNrYm94Lm1jZS1kaXNhYmxlZCBpLm1jZS1pLWNoZWNrYm94e2NvbG9yOiNhY2FjYWN9Lm1jZS1jaGVja2JveCAubWNlLWxhYmVse3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWNlLXJ0bCAubWNlLWNoZWNrYm94e2RpcmVjdGlvbjpydGw7dGV4dC1hbGlnbjpyaWdodH0ubWNlLXJ0bCBpLm1jZS1pLWNoZWNrYm94e21hcmdpbjowIDAgMCAzcHh9Lm1jZS1jb21ib2JveHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MTsqaGVpZ2h0OjMycHh9Lm1jZS1jb21ib2JveCBpbnB1dHtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNjNWM1YzU7aGVpZ2h0OjI4cHh9Lm1jZS1jb21ib2JveC5tY2UtZGlzYWJsZWQgaW5wdXR7Y29sb3I6I2FkYWRhZH0ubWNlLWNvbWJvYm94IC5tY2UtYnRue2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtib3JkZXItbGVmdDowfS5tY2UtY29tYm9ib3ggYnV0dG9ue3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDo4cHh9Lm1jZS1jb21ib2JveC5tY2UtZGlzYWJsZWQgLm1jZS1idG4gYnV0dG9ue2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLWNvbG9yYm94IGl7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9Lm1jZS1jb2xvcmJ1dHRvbiAubWNlLWljb3twb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLWNvbG9yYnV0dG9uLWdyaWR7bWFyZ2luOjRweH0ubWNlLWNvbG9yYnV0dG9uIGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjZweDtwYWRkaW5nLWxlZnQ6NnB4fS5tY2UtY29sb3JidXR0b24gLm1jZS1wcmV2aWV3e3BhZGRpbmctcmlnaHQ6M3B4O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotMTdweDttYXJnaW4tdG9wOjdweDtiYWNrZ3JvdW5kOmdyYXk7d2lkdGg6MTNweDtoZWlnaHQ6MnB4O292ZXJmbG93OmhpZGRlbn0ubWNlLWNvbG9yYnV0dG9uLm1jZS1idG4tc21hbGwgLm1jZS1wcmV2aWV3e21hcmdpbi1sZWZ0Oi0xNnB4O3BhZGRpbmctcmlnaHQ6MDt3aWR0aDoxNnB4fS5tY2UtY29sb3JidXR0b24gLm1jZS1vcGVue3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5tY2UtY29sb3JidXR0b246aG92ZXIgLm1jZS1vcGVue2JvcmRlci1jb2xvcjojY2NjfS5tY2UtY29sb3JidXR0b24ubWNlLWJ0bi1zbWFsbCAubWNlLW9wZW57cGFkZGluZzowIDNweCAwIDNweH0ubWNlLXJ0bCAubWNlLWNvbG9yYnV0dG9ue2RpcmVjdGlvbjpydGx9Lm1jZS1ydGwgLm1jZS1jb2xvcmJ1dHRvbiAubWNlLXByZXZpZXd7bWFyZ2luLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjNweH0ubWNlLXJ0bCAubWNlLWNvbG9yYnV0dG9uLm1jZS1idG4tc21hbGwgLm1jZS1wcmV2aWV3e21hcmdpbi1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoycHh9Lm1jZS1ydGwgLm1jZS1jb2xvcmJ1dHRvbiAubWNlLW9wZW57cGFkZGluZy1sZWZ0OjRweDtwYWRkaW5nLXJpZ2h0OjRweDtib3JkZXItbGVmdDowfS5tY2UtY29sb3JwaWNrZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjUwcHg7aGVpZ2h0OjIyMHB4fS5tY2UtY29sb3JwaWNrZXItc3Z7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjkwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59Lm1jZS1jb2xvcnBpY2tlci1oLWNodW5re3dpZHRoOjEwMCV9Lm1jZS1jb2xvcnBpY2tlci1vdmVybGF5MSwubWNlLWNvbG9ycGlja2VyLW92ZXJsYXkye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5tY2UtY29sb3JwaWNrZXItb3ZlcmxheTF7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MSwgc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDBmZmZmZmYnKTstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoR3JhZGllbnRUeXBlPTEsc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDBmZmZmZmYnKSI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYsIHJnYmEoMjU1LDI1NSwyNTUsMCkpfS5tY2UtY29sb3JwaWNrZXItb3ZlcmxheTJ7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCwgc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnKTstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoR3JhZGllbnRUeXBlPTAsc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnKSI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApLCAjMDAwKX0ubWNlLWNvbG9ycGlja2VyLXNlbGVjdG9yMXtiYWNrZ3JvdW5kOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW46LThweCAwIDAgLThweDtib3JkZXI6MXB4IHNvbGlkIGJsYWNrO2JvcmRlci1yYWRpdXM6NTAlfS5tY2UtY29sb3JwaWNrZXItc2VsZWN0b3Iye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjUwJX0ubWNlLWNvbG9ycGlja2VyLWh7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo2LjUlO2hlaWdodDoxMDAlO2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtjdXJzb3I6Y3Jvc3NoYWlyfS5tY2UtY29sb3JwaWNrZXItaC1tYXJrZXJ7bWFyZ2luLXRvcDotNHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6LTFweDt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgIzMzMztiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjRweDt6LWluZGV4OjEwMH0ubWNlLXBhdGh7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7cGFkZGluZzo4cHg7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtcGF0aCAubWNlLXR4dHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0OjNweH0ubWNlLXBhdGggLm1jZS1wYXRoLWJvZHl7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm1jZS1wYXRoLWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6IzMzM30ubWNlLXBhdGgtaXRlbTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5tY2UtcGF0aC1pdGVtOmZvY3Vze2JhY2tncm91bmQ6IzY2Njtjb2xvcjojZmZmfS5tY2UtcGF0aCAubWNlLWRpdmlkZXJ7ZGlzcGxheTppbmxpbmV9Lm1jZS1kaXNhYmxlZCAubWNlLXBhdGgtaXRlbXtjb2xvcjojYWFhfS5tY2UtcnRsIC5tY2UtcGF0aHtkaXJlY3Rpb246cnRsfS5tY2UtZmllbGRzZXR7Ym9yZGVyOjAgc29saWQgIzllOWU5ZX0ubWNlLWZpZWxkc2V0Pi5tY2UtY29udGFpbmVyLWJvZHl7bWFyZ2luLXRvcDotMTVweH0ubWNlLWZpZWxkc2V0LXRpdGxle21hcmdpbi1sZWZ0OjVweDtwYWRkaW5nOjAgNXB4IDAgNXB4fS5tY2UtZml0LWxheW91dHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MX0ubWNlLWZpdC1sYXlvdXQtaXRlbXtwb3NpdGlvbjphYnNvbHV0ZX0ubWNlLWZsb3ctbGF5b3V0LWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjF9Lm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjoycHggMCAycHggMnB4fS5tY2UtZmxvdy1sYXlvdXQtaXRlbS5tY2UtbGFzdHttYXJnaW4tcmlnaHQ6MnB4fS5tY2UtZmxvdy1sYXlvdXR7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtdGlueW1jZS1pbmxpbmUgLm1jZS1mbG93LWxheW91dHt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1jZS1ydGwgLm1jZS1mbG93LWxheW91dHt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGx9Lm1jZS1ydGwgLm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjoycHggMnB4IDJweCAwfS5tY2UtcnRsIC5tY2UtZmxvdy1sYXlvdXQtaXRlbS5tY2UtbGFzdHttYXJnaW4tbGVmdDoycHh9Lm1jZS1pZnJhbWV7Ym9yZGVyOjAgc29saWQgcmdiYSgwLDAsMCwwLjIpO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lm1jZS1pbmZvYm94e2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO3RleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO292ZXJmbG93OmhpZGRlbjtib3JkZXI6MXB4IHNvbGlkIHJlZH0ubWNlLWluZm9ib3ggZGl2e2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjVweH0ubWNlLWluZm9ib3ggZGl2IGJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3JpZ2h0OjRweDtjdXJzb3I6cG9pbnRlcjttYXJnaW4tdG9wOi04cHg7ZGlzcGxheTpub25lfS5tY2UtaW5mb2JveCBkaXYgYnV0dG9uOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkICNjY2N9Lm1jZS1pbmZvYm94Lm1jZS1oYXMtaGVscCBkaXZ7bWFyZ2luLXJpZ2h0OjI1cHh9Lm1jZS1pbmZvYm94Lm1jZS1oYXMtaGVscCBidXR0b257ZGlzcGxheTpibG9ja30ubWNlLWluZm9ib3gubWNlLXN1Y2Nlc3N7YmFja2dyb3VuZDojZGZmMGQ4O2JvcmRlci1jb2xvcjojZDZlOWM2fS5tY2UtaW5mb2JveC5tY2Utc3VjY2VzcyBkaXZ7Y29sb3I6IzNjNzYzZH0ubWNlLWluZm9ib3gubWNlLXdhcm5pbmd7YmFja2dyb3VuZDojZmNmOGUzO2JvcmRlci1jb2xvcjojZmFlYmNjfS5tY2UtaW5mb2JveC5tY2Utd2FybmluZyBkaXZ7Y29sb3I6IzhhNmQzYn0ubWNlLWluZm9ib3gubWNlLWVycm9ye2JhY2tncm91bmQ6I2YyZGVkZTtib3JkZXItY29sb3I6I2ViY2NkMX0ubWNlLWluZm9ib3gubWNlLWVycm9yIGRpdntjb2xvcjojYTk0NDQyfS5tY2UtcnRsIC5tY2UtaW5mb2JveCBkaXZ7dGV4dC1hbGlnbjpyaWdodDtkaXJlY3Rpb246cnRsfS5tY2UtbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7dGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7b3ZlcmZsb3c6aGlkZGVufS5tY2UtbGFiZWwubWNlLWF1dG9zY3JvbGx7b3ZlcmZsb3c6YXV0b30ubWNlLWxhYmVsLm1jZS1kaXNhYmxlZHtjb2xvcjojYWFhfS5tY2UtbGFiZWwubWNlLW11bHRpbGluZXt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWNlLWxhYmVsLm1jZS1zdWNjZXNze2NvbG9yOiM0Njg4NDd9Lm1jZS1sYWJlbC5tY2Utd2FybmluZ3tjb2xvcjojYzA5ODUzfS5tY2UtbGFiZWwubWNlLWVycm9ye2NvbG9yOiNiOTRhNDh9Lm1jZS1ydGwgLm1jZS1sYWJlbHt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGx9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0bntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtmaWx0ZXI6bm9uZX0ubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuIGJ1dHRvbntjb2xvcjojMzMzfS5tY2UtbWVudWJhcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjE3LDIxNywyMTcsMC41Mil9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0biBidXR0b24gc3Bhbntjb2xvcjojMzMzfS5tY2UtbWVudWJhciAubWNlLWNhcmV0e2JvcmRlci10b3AtY29sb3I6IzMzM30ubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuOmhvdmVyLC5tY2UtbWVudWJhciAubWNlLW1lbnVidG4ubWNlLWFjdGl2ZSwubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuOmZvY3Vze2JvcmRlci1jb2xvcjojY2NjO2JhY2tncm91bmQ6I2ZmZjtmaWx0ZXI6bm9uZX0ubWNlLW1lbnVidG4gYnV0dG9ue2NvbG9yOiMzMzN9Lm1jZS1tZW51YnRuLm1jZS1idG4tc21hbGwgc3Bhbntmb250LXNpemU6MTJweH0ubWNlLW1lbnVidG4ubWNlLWZpeGVkLXdpZHRoIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3cteDpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aWR0aDo5MHB4fS5tY2UtbWVudWJ0bi5tY2UtZml4ZWQtd2lkdGgubWNlLWJ0bi1zbWFsbCBzcGFue3dpZHRoOjcwcHh9Lm1jZS1tZW51YnRuIC5tY2UtY2FyZXR7Km1hcmdpbi10b3A6NnB4fS5tY2UtcnRsIC5tY2UtbWVudWJ0biBidXR0b257ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtbWVudS1pdGVte2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo2cHggMTVweCA2cHggMTJweDtjbGVhcjpib3RoO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiMzMzM7d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0Om5vcm1hbDtib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWJvdHRvbToxcHh9Lm1jZS1tZW51LWl0ZW0gLm1jZS1pY28sLm1jZS1tZW51LWl0ZW0gLm1jZS10ZXh0e2NvbG9yOiMzMzN9Lm1jZS1tZW51LWl0ZW0ubWNlLWRpc2FibGVkIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS5tY2UtZGlzYWJsZWQgLm1jZS1pY297Y29sb3I6I2FkYWRhZH0ubWNlLW1lbnUtaXRlbTpob3ZlciAubWNlLXRleHQsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLXRleHR7Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW06aG92ZXIgLm1jZS1pY28sLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtaWNvLC5tY2UtbWVudS1pdGVtOmZvY3VzIC5tY2UtaWNve2NvbG9yOndoaXRlfS5tY2UtbWVudS1pdGVtLm1jZS1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOiNjY2N9Lm1jZS1tZW51LXNob3J0Y3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiNhZGFkYWR9Lm1jZS1tZW51LXNob3J0Y3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO3BhZGRpbmc6MCAxNXB4IDAgMjBweH0ubWNlLW1lbnUtaXRlbTpob3ZlciAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtbWVudS1zaG9ydGN1dCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLW1lbnUtc2hvcnRjdXR7Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW0gLm1jZS1jYXJldHttYXJnaW4tdG9wOjRweDsqbWFyZ2luLXRvcDozcHg7bWFyZ2luLXJpZ2h0OjZweDtib3JkZXItdG9wOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDo0cHggc29saWQgIzMzM30ubWNlLW1lbnUtaXRlbS5tY2Utc2VsZWN0ZWQgLm1jZS1jYXJldCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLWNhcmV0LC5tY2UtbWVudS1pdGVtOmhvdmVyIC5tY2UtY2FyZXR7Ym9yZGVyLWxlZnQtY29sb3I6d2hpdGV9Lm1jZS1tZW51LWFsaWduIC5tY2UtbWVudS1zaG9ydGN1dHsqbWFyZ2luLXRvcDotMnB4fS5tY2UtbWVudS1hbGlnbiAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWFsaWduIC5tY2UtY2FyZXR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ubWNlLW1lbnUtaXRlbS5tY2UtYWN0aXZlIGl7dmlzaWJpbGl0eTp2aXNpYmxlfS5tY2UtbWVudS1pdGVtLW5vcm1hbC5tY2UtYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzM0OThkYn0ubWNlLW1lbnUtaXRlbS1wcmV2aWV3Lm1jZS1hY3RpdmV7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICNhYWF9Lm1jZS1tZW51LWl0ZW0tbm9ybWFsLm1jZS1hY3RpdmUgLm1jZS10ZXh0e2NvbG9yOndoaXRlfS5tY2UtbWVudS1pdGVtLW5vcm1hbC5tY2UtYWN0aXZlOmhvdmVyIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS1ub3JtYWwubWNlLWFjdGl2ZTpob3ZlciAubWNlLWljb3tjb2xvcjp3aGl0ZX0ubWNlLW1lbnUtaXRlbS1ub3JtYWwubWNlLWFjdGl2ZTpmb2N1cyAubWNlLXRleHQsLm1jZS1tZW51LWl0ZW0tbm9ybWFsLm1jZS1hY3RpdmU6Zm9jdXMgLm1jZS1pY297Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW06aG92ZXIsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkLC5tY2UtbWVudS1pdGVtOmZvY3Vze3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6IzJkOGFjN31kaXYubWNlLW1lbnUgLm1jZS1tZW51LWl0ZW0tc2VwLC5tY2UtbWVudS1pdGVtLXNlcDpob3Zlcntib3JkZXI6MDtwYWRkaW5nOjA7aGVpZ2h0OjFweDttYXJnaW46OXB4IDFweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Y3Vyc29yOmRlZmF1bHQ7ZmlsdGVyOm5vbmV9Lm1jZS1tZW51Lm1jZS1ydGx7ZGlyZWN0aW9uOnJ0bH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbXt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGw7cGFkZGluZzo2cHggMTJweCA2cHggMTVweH0ubWNlLW1lbnUtYWxpZ24ubWNlLXJ0bCAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWFsaWduLm1jZS1ydGwgLm1jZS1jYXJldHtyaWdodDphdXRvO2xlZnQ6MH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbSAubWNlLWNhcmV0e21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkICMzMzM7Ym9yZGVyLWxlZnQ6MH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbS5tY2Utc2VsZWN0ZWQgLm1jZS1jYXJldCwubWNlLXJ0bCAubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLWNhcmV0LC5tY2UtcnRsIC5tY2UtbWVudS1pdGVtOmhvdmVyIC5tY2UtY2FyZXR7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOndoaXRlfS5tY2UtdGhyb2JiZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7em9vbToxO2JhY2tncm91bmQ6I2ZmZiB1cmwoJ2ltZy9sb2FkZXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXJ9Lm1jZS10aHJvYmJlci1pbmxpbmV7cG9zaXRpb246c3RhdGljO2hlaWdodDo1MHB4fS5tY2UtbWVudSAubWNlLXRocm9iYmVyLWlubGluZXtoZWlnaHQ6MjVweDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ubWNlLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3otaW5kZXg6MTAwMDtwYWRkaW5nOjVweCAwIDVweCAwO21hcmdpbjotMXB4IDAgMDttaW4td2lkdGg6MTYwcHg7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzk4OTg5ODtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTt6LWluZGV4OjEwMDI7bWF4LWhlaWdodDo0MDBweDtvdmVyZmxvdzphdXRvO292ZXJmbG93LXg6aGlkZGVufS5tY2UtbWVudSBpe2Rpc3BsYXk6bm9uZX0ubWNlLW1lbnUtaGFzLWljb25zIGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lfS5tY2UtbWVudS1zdWItdHItdGx7bWFyZ2luOi02cHggMCAwIC0xcHh9Lm1jZS1tZW51LXN1Yi1ici1ibHttYXJnaW46NnB4IDAgMCAtMXB4fS5tY2UtbWVudS1zdWItdGwtdHJ7bWFyZ2luOi02cHggMCAwIDFweH0ubWNlLW1lbnUtc3ViLWJsLWJye21hcmdpbjo2cHggMCAwIDFweH0ubWNlLWxpc3Rib3ggYnV0dG9ue3RleHQtYWxpZ246bGVmdDtwYWRkaW5nLXJpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS1saXN0Ym94IC5tY2UtY2FyZXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDotMnB4O3JpZ2h0OjhweDt0b3A6NTAlfS5tY2UtcnRsIC5tY2UtbGlzdGJveCAubWNlLWNhcmV0e3JpZ2h0OmF1dG87bGVmdDo4cHh9Lm1jZS1ydGwgLm1jZS1saXN0Ym94IGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1sZWZ0OjIwcHh9Lm1jZS1jb250YWluZXItYm9keSAubWNlLXJlc2l6ZWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbTowO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7dmlzaWJpbGl0eTp2aXNpYmxlO2N1cnNvcjpzLXJlc2l6ZTttYXJnaW46MH0ubWNlLWNvbnRhaW5lci1ib2R5IC5tY2UtcmVzaXplaGFuZGxlLWJvdGh7Y3Vyc29yOnNlLXJlc2l6ZX1pLm1jZS1pLXJlc2l6ZXtjb2xvcjojMzMzfS5tY2Utc2VsZWN0Ym94e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzV9Lm1jZS1zbGlkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2VlZTt3aWR0aDoxMDBweDtoZWlnaHQ6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS5tY2Utc2xpZGVyLm1jZS12ZXJ0aWNhbHt3aWR0aDoxMHB4O2hlaWdodDoxMDBweH0ubWNlLXNsaWRlci1oYW5kbGV7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JhY2tncm91bmQ6I2RkZDtkaXNwbGF5OmJsb2NrO3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbi1sZWZ0Oi0xcHg7bWFyZ2luLXRvcDotMnB4fS5tY2Utc2xpZGVyLWhhbmRsZTpmb2N1c3tiYWNrZ3JvdW5kOiNiYmJ9Lm1jZS1zcGFjZXJ7dmlzaWJpbGl0eTpoaWRkZW59Lm1jZS1zcGxpdGJ0biAubWNlLW9wZW57Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5tY2Utc3BsaXRidG46aG92ZXIgLm1jZS1vcGVue2JvcmRlci1sZWZ0LWNvbG9yOiNjY2N9Lm1jZS1zcGxpdGJ0biBidXR0b257cGFkZGluZy1yaWdodDo2cHg7cGFkZGluZy1sZWZ0OjZweH0ubWNlLXNwbGl0YnRuIC5tY2Utb3BlbntwYWRkaW5nLXJpZ2h0OjRweDtwYWRkaW5nLWxlZnQ6NHB4fS5tY2Utc3BsaXRidG4gLm1jZS1vcGVuLm1jZS1hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZGJkYmRiO291dGxpbmU6MXB4IHNvbGlkICNjY2N9Lm1jZS1zcGxpdGJ0bi5tY2UtYnRuLXNtYWxsIC5tY2Utb3BlbntwYWRkaW5nOjAgM3B4IDAgM3B4fS5tY2UtcnRsIC5tY2Utc3BsaXRidG57ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtcnRsIC5tY2Utc3BsaXRidG4gYnV0dG9ue3BhZGRpbmctcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDo0cHh9Lm1jZS1ydGwgLm1jZS1zcGxpdGJ0biAubWNlLW9wZW57Ym9yZGVyLWxlZnQ6MH0ubWNlLXN0YWNrLWxheW91dC1pdGVte2Rpc3BsYXk6YmxvY2t9Lm1jZS10YWJze2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2M1YzVjNX0ubWNlLXRhYnMsLm1jZS10YWJzKy5tY2UtY29udGFpbmVyLWJvZHl7YmFja2dyb3VuZDojZmZmfS5tY2UtdGFie2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtib3JkZXItd2lkdGg6MCAxcHggMCAwO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjhweDt0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtoZWlnaHQ6MTNweDtjdXJzb3I6cG9pbnRlcn0ubWNlLXRhYjpob3ZlcntiYWNrZ3JvdW5kOiNmZGZkZmR9Lm1jZS10YWIubWNlLWFjdGl2ZXtiYWNrZ3JvdW5kOiNmZGZkZmQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDttYXJnaW4tYm90dG9tOi0xcHg7aGVpZ2h0OjE0cHh9Lm1jZS1ydGwgLm1jZS10YWJze3RleHQtYWxpZ246cmlnaHQ7ZGlyZWN0aW9uOnJ0bH0ubWNlLXJ0bCAubWNlLXRhYntib3JkZXItd2lkdGg6MCAwIDAgMXB4fS5tY2UtdGV4dGJveHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtdHJhbnNpdGlvbjpib3JkZXIgbGluZWFyIC4ycywgYm94LXNoYWRvdyBsaW5lYXIgLjJzO3RyYW5zaXRpb246Ym9yZGVyIGxpbmVhciAuMnMsIGJveC1zaGFkb3cgbGluZWFyIC4ycztoZWlnaHQ6MjhweDtyZXNpemU6bm9uZTtwYWRkaW5nOjAgNHB4IDAgNHB4O3doaXRlLXNwYWNlOnByZS13cmFwOyp3aGl0ZS1zcGFjZTpwcmU7Y29sb3I6IzMzM30ubWNlLXRleHRib3g6Zm9jdXMsLm1jZS10ZXh0Ym94Lm1jZS1mb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLXBsYWNlaG9sZGVyIC5tY2UtdGV4dGJveHtjb2xvcjojYWFhfS5tY2UtdGV4dGJveC5tY2UtbXVsdGlsaW5le3BhZGRpbmc6NHB4O2hlaWdodDphdXRvfS5tY2UtdGV4dGJveC5tY2UtZGlzYWJsZWR7Y29sb3I6I2FkYWRhZH0ubWNlLXJ0bCAubWNlLXRleHRib3h7dGV4dC1hbGlnbjpyaWdodDtkaXJlY3Rpb246cnRsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J3RpbnltY2UnO3NyYzp1cmwoJ2ZvbnRzL3RpbnltY2UuZW90Jyk7c3JjOnVybCgnZm9udHMvdGlueW1jZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnZm9udHMvdGlueW1jZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCdmb250cy90aW55bWNlLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJ2ZvbnRzL3RpbnltY2Uuc3ZnI3RpbnltY2UnKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5Oid0aW55bWNlLXNtYWxsJztzcmM6dXJsKCdmb250cy90aW55bWNlLXNtYWxsLmVvdCcpO3NyYzp1cmwoJ2ZvbnRzL3RpbnltY2Utc21hbGwuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ2ZvbnRzL3RpbnltY2Utc21hbGwud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnZm9udHMvdGlueW1jZS1zbWFsbC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCdmb250cy90aW55bWNlLXNtYWxsLnN2ZyN0aW55bWNlJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWx9Lm1jZS1pY297Zm9udC1mYW1pbHk6J3RpbnltY2UnO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxNnB4O3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZDp0cmFuc3BhcmVudCBjZW50ZXIgY2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Y29sb3I6IzMzMzstaWU3LWljb246JyAnfS5tY2UtYnRuLXNtYWxsIC5tY2UtaWNve2ZvbnQtZmFtaWx5Oid0aW55bWNlLXNtYWxsJ30ubWNlLWljbyxpLm1jZS1pLWNoZWNrYm94e3pvb206ZXhwcmVzc2lvbih0aGlzLnJ1bnRpbWVTdHlsZVsnem9vbSddID0gJzEnLCB0aGlzLmlubmVySFRNTCA9IHRoaXMuY3VycmVudFN0eWxlWyctaWU3LWljb24nXS5zdWJzdHIoMSwgMSkgKyAnJm5ic3A7Jyl9Lm1jZS1pLXNhdmV7LWllNy1pY29uOiJcZTAwMCJ9Lm1jZS1pLW5ld2RvY3VtZW50ey1pZTctaWNvbjoiXGUwMDEifS5tY2UtaS1mdWxscGFnZXstaWU3LWljb246IlxlMDAyIn0ubWNlLWktYWxpZ25sZWZ0ey1pZTctaWNvbjoiXGUwMDMifS5tY2UtaS1hbGlnbmNlbnRlcnstaWU3LWljb246IlxlMDA0In0ubWNlLWktYWxpZ25yaWdodHstaWU3LWljb246IlxlMDA1In0ubWNlLWktYWxpZ25qdXN0aWZ5ey1pZTctaWNvbjoiXGUwMDYifS5tY2UtaS1hbGlnbm5vbmV7LWllNy1pY29uOiJcZTAwMyJ9Lm1jZS1pLWN1dHstaWU3LWljb246IlxlMDA3In0ubWNlLWktcGFzdGV7LWllNy1pY29uOiJcZTAwOCJ9Lm1jZS1pLXNlYXJjaHJlcGxhY2V7LWllNy1pY29uOiJcZTAwOSJ9Lm1jZS1pLWJ1bGxpc3R7LWllNy1pY29uOiJcZTAwYSJ9Lm1jZS1pLW51bWxpc3R7LWllNy1pY29uOiJcZTAwYiJ9Lm1jZS1pLWluZGVudHstaWU3LWljb246IlxlMDBjIn0ubWNlLWktb3V0ZGVudHstaWU3LWljb246IlxlMDBkIn0ubWNlLWktYmxvY2txdW90ZXstaWU3LWljb246IlxlMDBlIn0ubWNlLWktdW5kb3staWU3LWljb246IlxlMDBmIn0ubWNlLWktcmVkb3staWU3LWljb246IlxlMDEwIn0ubWNlLWktbGlua3staWU3LWljb246IlxlMDExIn0ubWNlLWktdW5saW5rey1pZTctaWNvbjoiXGUwMTIifS5tY2UtaS1hbmNob3J7LWllNy1pY29uOiJcZTAxMyJ9Lm1jZS1pLWltYWdley1pZTctaWNvbjoiXGUwMTQifS5tY2UtaS1tZWRpYXstaWU3LWljb246IlxlMDE1In0ubWNlLWktaGVscHstaWU3LWljb246IlxlMDE2In0ubWNlLWktY29kZXstaWU3LWljb246IlxlMDE3In0ubWNlLWktaW5zZXJ0ZGF0ZXRpbWV7LWllNy1pY29uOiJcZTAxOCJ9Lm1jZS1pLXByZXZpZXd7LWllNy1pY29uOiJcZTAxOSJ9Lm1jZS1pLWZvcmVjb2xvcnstaWU3LWljb246IlxlMDFhIn0ubWNlLWktYmFja2NvbG9yey1pZTctaWNvbjoiXGUwMWEifS5tY2UtaS10YWJsZXstaWU3LWljb246IlxlMDFiIn0ubWNlLWktaHJ7LWllNy1pY29uOiJcZTAxYyJ9Lm1jZS1pLXJlbW92ZWZvcm1hdHstaWU3LWljb246IlxlMDFkIn0ubWNlLWktc3Vic2NyaXB0ey1pZTctaWNvbjoiXGUwMWUifS5tY2UtaS1zdXBlcnNjcmlwdHstaWU3LWljb246IlxlMDFmIn0ubWNlLWktY2hhcm1hcHstaWU3LWljb246IlxlMDIwIn0ubWNlLWktZW1vdGljb25zey1pZTctaWNvbjoiXGUwMjEifS5tY2UtaS1wcmludHstaWU3LWljb246IlxlMDIyIn0ubWNlLWktZnVsbHNjcmVlbnstaWU3LWljb246IlxlMDIzIn0ubWNlLWktc3BlbGxjaGVja2Vyey1pZTctaWNvbjoiXGUwMjQifS5tY2UtaS1ub25icmVha2luZ3staWU3LWljb246IlxlMDI1In0ubWNlLWktdGVtcGxhdGV7LWllNy1pY29uOiJcZTAyNiJ9Lm1jZS1pLXBhZ2VicmVha3staWU3LWljb246IlxlMDI3In0ubWNlLWktcmVzdG9yZWRyYWZ0ey1pZTctaWNvbjoiXGUwMjgifS5tY2UtaS11bnRpdGxlZHstaWU3LWljb246IlxlMDI5In0ubWNlLWktYm9sZHstaWU3LWljb246IlxlMDJhIn0ubWNlLWktaXRhbGljey1pZTctaWNvbjoiXGUwMmIifS5tY2UtaS11bmRlcmxpbmV7LWllNy1pY29uOiJcZTAyYyJ9Lm1jZS1pLXN0cmlrZXRocm91Z2h7LWllNy1pY29uOiJcZTAyZCJ9Lm1jZS1pLXZpc3VhbGNoYXJzey1pZTctaWNvbjoiXGUwMmUifS5tY2UtaS1sdHJ7LWllNy1pY29uOiJcZTAyZiJ9Lm1jZS1pLXJ0bHstaWU3LWljb246IlxlMDMwIn0ubWNlLWktY29weXstaWU3LWljb246IlxlMDMxIn0ubWNlLWktcmVzaXpley1pZTctaWNvbjoiXGUwMzIifS5tY2UtaS1icm93c2V7LWllNy1pY29uOiJcZTAzNCJ9Lm1jZS1pLXBhc3RldGV4dHstaWU3LWljb246IlxlMDM1In0ubWNlLWktcm90YXRlbGVmdHstaWU3LWljb246IlxlYWE4In0ubWNlLWktcm90YXRlcmlnaHR7LWllNy1pY29uOiJcZWFhOSJ9Lm1jZS1pLWNyb3B7LWllNy1pY29uOiJcZWU3OCJ9Lm1jZS1pLWVkaXRpbWFnZXstaWU3LWljb246IlxlOTE0In0ubWNlLWktb3B0aW9uc3staWU3LWljb246IlxlYzZhIn0ubWNlLWktZmxpcHZ7LWllNy1pY29uOiJcZWFhYSJ9Lm1jZS1pLWZsaXBoey1pZTctaWNvbjoiXGVhYWMifS5tY2UtaS16b29taW57LWllNy1pY29uOiJcZWIzNSJ9Lm1jZS1pLXpvb21vdXR7LWllNy1pY29uOiJcZWIzNiJ9Lm1jZS1pLXN1bnstaWU3LWljb246IlxlY2NjIn0ubWNlLWktbW9vbnstaWU3LWljb246IlxlY2NkIn0ubWNlLWktYXJyb3dsZWZ0ey1pZTctaWNvbjoiXGVkYzAifS5tY2UtaS1hcnJvd3JpZ2h0ey1pZTctaWNvbjoiXGVkYjgifS5tY2UtaS1kcm9wey1pZTctaWNvbjoiXGU5MzQifS5tY2UtaS1jb250cmFzdHstaWU3LWljb246IlxlY2Q0In0ubWNlLWktc2hhcnBlbnstaWU3LWljb246IlxlYmE3In0ubWNlLWktcGFsZXR0ZXstaWU3LWljb246IlxlOTJhIn0ubWNlLWktcmVzaXplMnstaWU3LWljb246IlxlZGY5In0ubWNlLWktb3JpZW50YXRpb257LWllNy1pY29uOiJcZTYwMSJ9Lm1jZS1pLWludmVydHstaWU3LWljb246IlxlNjAyIn0ubWNlLWktZ2FtbWF7LWllNy1pY29uOiJcZTYwMCJ9Lm1jZS1pLXJlbW92ZXstaWU3LWljb246IlxlZDZhIn0ubWNlLWktY29kZXNhbXBsZXstaWU3LWljb246IlxlNjAzIn0ubWNlLWktY2hlY2tib3gsLm1jZS1pLXNlbGVjdGVkey1pZTctaWNvbjoiXGUwMzMifS5tY2UtaS1zZWxlY3RlZHt2aXNpYmlsaXR5OmhpZGRlbn0ubWNlLWktYmFja2NvbG9ye2JhY2tncm91bmQ6I2JiYn0=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/skins/lightgray/skin.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lm1jZS1jb250YWluZXIsLm1jZS1jb250YWluZXIgKiwubWNlLXdpZGdldCwubWNlLXdpZGdldCAqLC5tY2UtcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7dGV4dC1zaGFkb3c6bm9uZTtmbG9hdDpub25lO3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO3doaXRlLXNwYWNlOm5vd3JhcDtjdXJzb3I6aW5oZXJpdDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmxlZnQ7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOm5vbmV9Lm1jZS13aWRnZXQgYnV0dG9uey1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWNlLWNvbnRhaW5lciAqW3Vuc2VsZWN0YWJsZV17LW1vei11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm1jZS1mYWRle29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXJ9Lm1jZS1mYWRlLm1jZS1pbntvcGFjaXR5OjF9Lm1jZS10aW55bWNle3Zpc2liaWxpdHk6aW5oZXJpdCAhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtZnVsbHNjcmVlbntib3JkZXI6MDtwYWRkaW5nOjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlO3otaW5kZXg6MTAwfWRpdi5tY2UtZnVsbHNjcmVlbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30ubWNlLXRpbnltY2V7ZGlzcGxheTpibG9ja30ubWNlLXdvcmRjb3VudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmc6OHB4fWRpdi5tY2UtZWRpdC1hcmVhe2JhY2tncm91bmQ6I2ZmZjtmaWx0ZXI6bm9uZX0ubWNlLXN0YXR1c2Jhcntwb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLXN0YXR1c2JhciAubWNlLWNvbnRhaW5lci1ib2R5e3Bvc2l0aW9uOnJlbGF0aXZlfS5tY2UtZnVsbHNjcmVlbiAubWNlLXJlc2l6ZWhhbmRsZXtkaXNwbGF5Om5vbmV9Lm1jZS1jaGFybWFwe2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0ubWNlLWNoYXJtYXAgdGR7Y3Vyc29yOmRlZmF1bHQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nOjJweH0ubWNlLWNoYXJtYXAgdGQgZGl2e3RleHQtYWxpZ246Y2VudGVyfS5tY2UtY2hhcm1hcCB0ZDpob3ZlcntiYWNrZ3JvdW5kOiNkOWQ5ZDl9Lm1jZS1ncmlkIHRkLm1jZS1ncmlkLWNlbGwgZGl2e2JvcmRlcjoxcHggc29saWQgI2Q2ZDZkNjt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O21hcmdpbjowO2N1cnNvcjpwb2ludGVyfS5tY2UtZ3JpZCB0ZC5tY2UtZ3JpZC1jZWxsIGRpdjpmb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLWdyaWQgdGQubWNlLWdyaWQtY2VsbCBkaXZbZGlzYWJsZWRde2N1cnNvcjpub3QtYWxsb3dlZH0ubWNlLWdyaWR7Ym9yZGVyLXNwYWNpbmc6MnB4O2JvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZX0ubWNlLWdyaWQgYXtkaXNwbGF5OmJsb2NrO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9Lm1jZS1ncmlkIGE6aG92ZXIsLm1jZS1ncmlkIGE6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMzNDk4ZGJ9Lm1jZS1ncmlkLWJvcmRlcnttYXJnaW46MCA0cHggMCA0cHh9Lm1jZS1ncmlkLWJvcmRlciBhe2JvcmRlci1jb2xvcjojZDZkNmQ2O3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9Lm1jZS1ncmlkLWJvcmRlciBhOmhvdmVyLC5tY2UtZ3JpZC1ib3JkZXIgYS5tY2UtYWN0aXZle2JvcmRlci1jb2xvcjojMzQ5OGRiO2JhY2tncm91bmQ6IzM0OThkYn0ubWNlLXRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfWRpdi5tY2UtdGlueW1jZS1pbmxpbmV7d2lkdGg6MTAwJX0ubWNlLWNvbG9yYnRuLXRyYW5zIGRpdnt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxNnB4O2NvbG9yOiM3MDcwNzB9Lm1jZS1tb25vc3BhY2V7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IixDb3VyaWVyLG1vbm9zcGFjZX0ubWNlLXRvb2xiYXItZ3Jwe3BhZGRpbmc6MnB4IDB9Lm1jZS10b29sYmFyLWdycCAubWNlLWZsb3ctbGF5b3V0LWl0ZW17bWFyZ2luLWJvdHRvbTowfS5tY2UtcnRsIC5tY2Utd29yZGNvdW50e2xlZnQ6MDtyaWdodDphdXRvfS5tY2UtY3JvcHJlY3QtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ubWNlLWNyb3ByZWN0LWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlfS5tY2UtY3JvcHJlY3QtaGFuZGxlLW53e2JvcmRlci13aWR0aDoycHggMCAwIDJweDttYXJnaW46LTJweCAwIDAgLTJweDtjdXJzb3I6bnctcmVzaXplO3RvcDoxMDBweDtsZWZ0OjEwMHB4fS5tY2UtY3JvcHJlY3QtaGFuZGxlLW5le2JvcmRlci13aWR0aDoycHggMnB4IDAgMDttYXJnaW46LTJweCAwIDAgLTIwcHg7Y3Vyc29yOm5lLXJlc2l6ZTt0b3A6MTAwcHg7bGVmdDoyMDBweH0ubWNlLWNyb3ByZWN0LWhhbmRsZS1zd3tib3JkZXItd2lkdGg6MCAwIDJweCAycHg7bWFyZ2luOi0yMHB4IDJweCAwIC0ycHg7Y3Vyc29yOnN3LXJlc2l6ZTt0b3A6MjAwcHg7bGVmdDoxMDBweH0ubWNlLWNyb3ByZWN0LWhhbmRsZS1zZXtib3JkZXItd2lkdGg6MCAycHggMnB4IDA7bWFyZ2luOi0yMHB4IDAgMCAtMjBweDtjdXJzb3I6c2UtcmVzaXplO3RvcDoyMDBweDtsZWZ0OjIwMHB4fS5tY2UtY3JvcHJlY3QtaGFuZGxlLW1vdmV7cG9zaXRpb246YWJzb2x1dGU7Y3Vyc29yOm1vdmU7Ym9yZGVyOjB9Lm1jZS1jcm9wcmVjdC1ibG9ja3tvcGFjaXR5Oi4zO2ZpbHRlcjphbHBoYShvcGFjaXR5PTMwKTt6b29tOjE7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpibGFja30ubWNlLWNyb3ByZWN0LWhhbmRsZTpmb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLWNyb3ByZWN0LWhhbmRsZS1tb3ZlOmZvY3Vze291dGxpbmU6MXB4IHNvbGlkICMzNDk4ZGJ9Lm1jZS1pbWFnZXBhbmVse292ZXJmbG93OmF1dG87YmFja2dyb3VuZDpibGFja30ubWNlLWltYWdlcGFuZWwgaW1ne3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtaW1hZ2V0b29sLm1jZS1idG4gLm1jZS1pY297ZGlzcGxheTpibG9jazt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC1zaXplOjIwcHg7cGFkZGluZzo1cHh9Lm1jZS1hcnJvdy11cHttYXJnaW4tdG9wOjNweH0ubWNlLWFycm93LWRvd257bWFyZ2luLXRvcDotM3B4fS5tY2UtYXJyb3c6YmVmb3JlLC5tY2UtYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Y29udGVudDoiIn0ubWNlLWFycm93Lm1jZS1hcnJvdy11cDpiZWZvcmV7dG9wOi05cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLXdpZHRoOjAgOXB4IDlweDttYXJnaW4tbGVmdDotOXB4fS5tY2UtYXJyb3cubWNlLWFycm93LWRvd246YmVmb3Jle2JvdHRvbTotOXB4O2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwwLjIpO2JvcmRlci13aWR0aDo5cHggOXB4IDA7bWFyZ2luLWxlZnQ6LTlweH0ubWNlLWFycm93Lm1jZS1hcnJvdy11cDphZnRlcnt0b3A6LThweDtib3JkZXItYm90dG9tLWNvbG9yOiNmMGYwZjA7Ym9yZGVyLXdpZHRoOjAgOHB4IDhweDttYXJnaW4tbGVmdDotOHB4fS5tY2UtYXJyb3cubWNlLWFycm93LWRvd246YWZ0ZXJ7Ym90dG9tOi04cHg7Ym9yZGVyLXRvcC1jb2xvcjojZjBmMGYwO2JvcmRlci13aWR0aDo4cHggOHB4IDA7bWFyZ2luLWxlZnQ6LThweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmJlZm9yZSwubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmFmdGVye21hcmdpbjowfS5tY2UtYXJyb3cubWNlLWFycm93LWxlZnQ6YmVmb3Jle2xlZnQ6MjBweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1sZWZ0OmFmdGVye2xlZnQ6MjFweH0ubWNlLWFycm93Lm1jZS1hcnJvdy1yaWdodDpiZWZvcmUsLm1jZS1hcnJvdy5tY2UtYXJyb3ctcmlnaHQ6YWZ0ZXJ7bGVmdDphdXRvO21hcmdpbjowfS5tY2UtYXJyb3cubWNlLWFycm93LXJpZ2h0OmJlZm9yZXtyaWdodDoyMHB4fS5tY2UtYXJyb3cubWNlLWFycm93LXJpZ2h0OmFmdGVye3JpZ2h0OjIxcHh9Lm1jZS1jb250YWluZXIsLm1jZS1jb250YWluZXItYm9keXtkaXNwbGF5OmJsb2NrfS5tY2UtYXV0b3Njcm9sbHtvdmVyZmxvdzpoaWRkZW59Lm1jZS1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6N3B4O2hlaWdodDoxMDAlO3RvcDoycHg7cmlnaHQ6MnB4O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLXNjcm9sbGJhci1oe3RvcDphdXRvO3JpZ2h0OmF1dG87bGVmdDoycHg7Ym90dG9tOjJweDt3aWR0aDoxMDAlO2hlaWdodDo3cHh9Lm1jZS1zY3JvbGxiYXItdGh1bWJ7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggc29saWQgIzg4ODtib3JkZXItY29sb3I6cmdiYSg4NSw4NSw4NSwwLjYpO3dpZHRoOjVweDtoZWlnaHQ6MTAwJX0ubWNlLXNjcm9sbGJhci1oIC5tY2Utc2Nyb2xsYmFyLXRodW1ie3dpZHRoOjEwMCU7aGVpZ2h0OjVweH0ubWNlLXNjcm9sbGJhcjpob3ZlciwubWNlLXNjcm9sbGJhci5tY2UtYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2FhYTtvcGFjaXR5Oi42O2ZpbHRlcjphbHBoYShvcGFjaXR5PTYwKTt6b29tOjF9Lm1jZS1zY3JvbGx7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS1wYW5lbHtib3JkZXI6MCBzb2xpZCAjY2FjYWNhO2JvcmRlcjowIHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjB9Lm1jZS1mbG9hdHBhbmVse3Bvc2l0aW9uOmFic29sdXRlfS5tY2UtZmxvYXRwYW5lbC5tY2UtZml4ZWR7cG9zaXRpb246Zml4ZWR9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3csLm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3d7Ym9yZGVyLXdpZHRoOjExcHh9Lm1jZS1mbG9hdHBhbmVsIC5tY2UtYXJyb3c6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjEwcHg7Y29udGVudDoiIn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXJ7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dG9wOjA7bGVmdDowO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yNSl9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b217bWFyZ2luLXRvcDoxMHB4OyptYXJnaW4tdG9wOjB9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b20+Lm1jZS1hcnJvd3tsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItdG9wLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLDAuMjUpO3RvcDotMTFweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbT4ubWNlLWFycm93OmFmdGVye3RvcDoxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2Utc3RhcnR7bWFyZ2luLWxlZnQ6LTIycHh9Lm1jZS1mbG9hdHBhbmVsLm1jZS1wb3BvdmVyLm1jZS1ib3R0b20ubWNlLXN0YXJ0Pi5tY2UtYXJyb3d7bGVmdDoyMHB4fS5tY2UtZmxvYXRwYW5lbC5tY2UtcG9wb3Zlci5tY2UtYm90dG9tLm1jZS1lbmR7bWFyZ2luLWxlZnQ6MjJweH0ubWNlLWZsb2F0cGFuZWwubWNlLXBvcG92ZXIubWNlLWJvdHRvbS5tY2UtZW5kPi5tY2UtYXJyb3d7cmlnaHQ6MTBweDtsZWZ0OmF1dG99Lm1jZS1mdWxsc2NyZWVue2JvcmRlcjowO3BhZGRpbmc6MDttYXJnaW46MDtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjEwMCV9ZGl2Lm1jZS1mdWxsc2NyZWVue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MH0jbWNlLW1vZGFsLWJsb2Nre29wYWNpdHk6MDtmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTt6b29tOjE7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwfSNtY2UtbW9kYWwtYmxvY2subWNlLWlue29wYWNpdHk6LjM7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MzApO3pvb206MX0ubWNlLXdpbmRvdy1tb3Zle2N1cnNvcjptb3ZlfS5tY2Utd2luZG93e2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JhY2tncm91bmQ6I2ZmZjtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwbXMgZWFzZS1pbixvcGFjaXR5IDE1MG1zIGVhc2UtaW59Lm1jZS13aW5kb3cubWNlLWlue3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9Lm1jZS13aW5kb3ctaGVhZHtwYWRkaW5nOjlweCAxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjNWM1YzU7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS13aW5kb3ctaGVhZCAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7aGVpZ2h0OjM4cHg7d2lkdGg6MzhweDt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ubWNlLXdpbmRvdy1oZWFkIC5tY2UtY2xvc2UgaXtjb2xvcjojODU4NTg1fS5tY2UtY2xvc2U6aG92ZXIgaXtjb2xvcjojYWRhZGFkfS5tY2Utd2luZG93LWhlYWQgLm1jZS10aXRsZXtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVsZWdpYmlsaXR5O3BhZGRpbmctcmlnaHQ6MjBweH0ubWNlLXdpbmRvdyAubWNlLWNvbnRhaW5lci1ib2R5e2Rpc3BsYXk6YmxvY2t9Lm1jZS1mb290e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci10b3A6MXB4IHNvbGlkICNjNWM1YzV9Lm1jZS13aW5kb3ctaGVhZCAubWNlLWRyYWdoe3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtjdXJzb3I6bW92ZTt3aWR0aDo5MCU7aGVpZ2h0OjEwMCV9Lm1jZS13aW5kb3cgaWZyYW1le3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lm1jZS13aW5kb3ctYm9keSAubWNlLWxpc3Rib3h7Ym9yZGVyLWNvbG9yOiNjY2N9Lm1jZS1ydGwgLm1jZS13aW5kb3ctaGVhZCAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OmF1dG87bGVmdDoxNXB4fS5tY2UtcnRsIC5tY2Utd2luZG93LWhlYWQgLm1jZS1kcmFnaHtsZWZ0OmF1dG87cmlnaHQ6MH0ubWNlLXJ0bCAubWNlLXdpbmRvdy1oZWFkIC5tY2UtdGl0bGV7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtdG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjVweDtvcGFjaXR5Oi44O2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKTt6b29tOjF9Lm1jZS10b29sdGlwLWlubmVye2ZvbnQtc2l6ZToxMXB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtjb2xvcjp3aGl0ZTttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzo1cHggOHB4IDRweCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtdG9vbHRpcC1hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO2xpbmUtaGVpZ2h0OjA7Ym9yZGVyOjVweCBkYXNoZWQgIzAwMH0ubWNlLXRvb2x0aXAtYXJyb3ctbntib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLWFycm93LXN7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS5tY2UtdG9vbHRpcC1hcnJvdy1le2JvcmRlci1sZWZ0LWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLWFycm93LXd7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMwMDB9Lm1jZS10b29sdGlwLW53LC5tY2UtdG9vbHRpcC1zd3ttYXJnaW4tbGVmdDotMTRweH0ubWNlLXRvb2x0aXAtbiAubWNlLXRvb2x0aXAtYXJyb3d7dG9wOjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLW53IC5tY2UtdG9vbHRpcC1hcnJvd3t0b3A6MDtsZWZ0OjEwcHg7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1uZSAubWNlLXRvb2x0aXAtYXJyb3d7dG9wOjA7cmlnaHQ6MTBweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1jZS10b29sdGlwLXMgLm1jZS10b29sdGlwLWFycm93e2JvdHRvbTowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1zdyAubWNlLXRvb2x0aXAtYXJyb3d7Ym90dG9tOjA7bGVmdDoxMHB4O2JvcmRlci10b3Atc3R5bGU6c29saWQ7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXRvb2x0aXAtc2UgLm1jZS10b29sdGlwLWFycm93e2JvdHRvbTowO3JpZ2h0OjEwcHg7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtdG9vbHRpcC1lIC5tY2UtdG9vbHRpcC1hcnJvd3tyaWdodDowO3RvcDo1MCU7bWFyZ2luLXRvcDotNXB4O2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXRvb2x0aXAtdyAubWNlLXRvb2x0aXAtYXJyb3d7bGVmdDowO3RvcDo1MCU7bWFyZ2luLXRvcDotNXB4O2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH0ubWNlLXByb2dyZXNze2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoyMHB4fS5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMHB4O2hlaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO292ZXJmbG93OmhpZGRlbn0ubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO2ZvbnQtc2l6ZToxNHB4O3dpZHRoOjQwcHg7Y29sb3I6IzMzM30ubWNlLWJhcntkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZDdkN2Q3Oy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZTt0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlfS5tY2Utbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDtwYWRkaW5nOjVweDttYXJnaW4tdG9wOjVweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2NjYzt0cmFuc2Zvcm06c2NhbGUoLjEpO3RyYW5zaXRpb246dHJhbnNmb3JtIDEwMG1zIGVhc2UtaW4sb3BhY2l0eSAxNTBtcyBlYXNlLWluO29wYWNpdHk6MH0ubWNlLW5vdGlmaWNhdGlvbi5tY2UtaW57b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ubWNlLW5vdGlmaWNhdGlvbi1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6I2Q2ZTljNn0ubWNlLW5vdGlmaWNhdGlvbi1pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6Izc3OWVjYn0ubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztib3JkZXItY29sb3I6I2ZhZWJjY30ubWNlLW5vdGlmaWNhdGlvbi1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9Lm1jZS1ub3RpZmljYXRpb24ubWNlLWhhcy1jbG9zZXtwYWRkaW5nLXJpZ2h0OjE1cHh9Lm1jZS1ub3RpZmljYXRpb24gLm1jZS1pY297bWFyZ2luLXRvcDo1cHh9Lm1jZS1ub3RpZmljYXRpb24taW5uZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjVweCA4cHggNHB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7Y29sb3I6IzMxNzA4Zn0ubWNlLW5vdGlmaWNhdGlvbi1pbm5lciBhe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y3Vyc29yOnBvaW50ZXJ9Lm1jZS1ub3RpZmljYXRpb24gLm1jZS1wcm9ncmVzc3ttYXJnaW4tcmlnaHQ6OHB4fS5tY2Utbm90aWZpY2F0aW9uIC5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e21hcmdpbi10b3A6NXB4fS5tY2Utbm90aWZpY2F0aW9uICosLm1jZS1ub3RpZmljYXRpb24gLm1jZS1wcm9ncmVzcyAubWNlLXRleHR7Y29sb3I6IzMzM30ubWNlLW5vdGlmaWNhdGlvbiAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lcntib3JkZXItY29sb3I6I2NjY30ubWNlLW5vdGlmaWNhdGlvbiAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lciAubWNlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9Lm1jZS1ub3RpZmljYXRpb24tc3VjY2VzcyAqLC5tY2Utbm90aWZpY2F0aW9uLXN1Y2Nlc3MgLm1jZS1wcm9ncmVzcyAubWNlLXRleHR7Y29sb3I6IzNjNzYzZH0ubWNlLW5vdGlmaWNhdGlvbi1zdWNjZXNzIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2JvcmRlci1jb2xvcjojZDZlOWM2fS5tY2Utbm90aWZpY2F0aW9uLXN1Y2Nlc3MgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXIgLm1jZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjojM2M3NjNkfS5tY2Utbm90aWZpY2F0aW9uLWluZm8gKiwubWNlLW5vdGlmaWNhdGlvbi1pbmZvIC5tY2UtcHJvZ3Jlc3MgLm1jZS10ZXh0e2NvbG9yOiMzMTcwOGZ9Lm1jZS1ub3RpZmljYXRpb24taW5mbyAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lcntib3JkZXItY29sb3I6Izc3OWVjYn0ubWNlLW5vdGlmaWNhdGlvbi1pbmZvIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVyIC5tY2UtYmFye2JhY2tncm91bmQtY29sb3I6IzMxNzA4Zn0ubWNlLW5vdGlmaWNhdGlvbi13YXJuaW5nICosLm1jZS1ub3RpZmljYXRpb24td2FybmluZyAubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtjb2xvcjojOGE2ZDNifS5tY2Utbm90aWZpY2F0aW9uLXdhcm5pbmcgLm1jZS1wcm9ncmVzcyAubWNlLWJhci1jb250YWluZXJ7Ym9yZGVyLWNvbG9yOiNmYWViY2N9Lm1jZS1ub3RpZmljYXRpb24td2FybmluZyAubWNlLXByb2dyZXNzIC5tY2UtYmFyLWNvbnRhaW5lciAubWNlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiM4YTZkM2J9Lm1jZS1ub3RpZmljYXRpb24tZXJyb3IgKiwubWNlLW5vdGlmaWNhdGlvbi1lcnJvciAubWNlLXByb2dyZXNzIC5tY2UtdGV4dHtjb2xvcjojYTk0NDQyfS5tY2Utbm90aWZpY2F0aW9uLWVycm9yIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVye2JvcmRlci1jb2xvcjojZWJjY2QxfS5tY2Utbm90aWZpY2F0aW9uLWVycm9yIC5tY2UtcHJvZ3Jlc3MgLm1jZS1iYXItY29udGFpbmVyIC5tY2UtYmFye2JhY2tncm91bmQtY29sb3I6I2E5NDQ0Mn0ubWNlLW5vdGlmaWNhdGlvbiAubWNlLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6OHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojODU4NTg1O2N1cnNvcjpwb2ludGVyO2hlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbn0ubWNlLWFicy1sYXlvdXR7cG9zaXRpb246cmVsYXRpdmV9Ym9keSAubWNlLWFicy1sYXlvdXQtaXRlbSwubWNlLWFicy1lbmR7cG9zaXRpb246YWJzb2x1dGV9Lm1jZS1hYnMtZW5ke3dpZHRoOjFweDtoZWlnaHQ6MXB4fS5tY2UtY29udGFpbmVyLWJvZHkubWNlLWFicy1sYXlvdXR7b3ZlcmZsb3c6aGlkZGVufS5tY2UtYnRue2JvcmRlcjoxcHggc29saWQgI2IxYjFiMTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7YmFja2dyb3VuZC1jb2xvcjojZjBmMGYwfS5tY2UtYnRuOmhvdmVyLC5tY2UtYnRuOmZvY3Vze2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTNlM2UzO2JvcmRlci1jb2xvcjojY2NjfS5tY2UtYnRuLm1jZS1kaXNhYmxlZCBidXR0b24sLm1jZS1idG4ubWNlLWRpc2FibGVkOmhvdmVyIGJ1dHRvbntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5Oi40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKTt6b29tOjF9Lm1jZS1idG4ubWNlLWFjdGl2ZSwubWNlLWJ0bi5tY2UtYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RiZGJkYjtib3JkZXItY29sb3I6I2NjY30ubWNlLWJ0bjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZTBlMGUwO2JvcmRlci1jb2xvcjojY2NjfS5tY2UtYnRuIGJ1dHRvbntwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDsqbGluZS1oZWlnaHQ6MTZweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojMzMzO3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OnZpc2libGU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Lm1jZS1idG4gYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0ubWNlLWJ0biBpe3RleHQtc2hhZG93OjFweCAxcHggbm9uZX0ubWNlLXByaW1hcnl7bWluLXdpZHRoOjUwcHg7Y29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOiMyZDhhYzd9Lm1jZS1wcmltYXJ5OmhvdmVyLC5tY2UtcHJpbWFyeTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiMyNTdjYjY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tY2UtcHJpbWFyeS5tY2UtZGlzYWJsZWQgYnV0dG9uLC5tY2UtcHJpbWFyeS5tY2UtZGlzYWJsZWQ6aG92ZXIgYnV0dG9ue2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLXByaW1hcnkubWNlLWFjdGl2ZSwubWNlLXByaW1hcnkubWNlLWFjdGl2ZTpob3ZlciwubWNlLXByaW1hcnk6bm90KC5tY2UtZGlzYWJsZWQpOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMDZlYTF9Lm1jZS1wcmltYXJ5IGJ1dHRvbiwubWNlLXByaW1hcnkgYnV0dG9uIGl7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzoxcHggMXB4IG5vbmV9Lm1jZS1idG4gLm1jZS10eHR7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0fS5tY2UtYnRuLWxhcmdlIGJ1dHRvbntwYWRkaW5nOjlweCAxNHB4O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ubWNlLWJ0bi1sYXJnZSBpe21hcmdpbi10b3A6MnB4fS5tY2UtYnRuLXNtYWxsIGJ1dHRvbntwYWRkaW5nOjFweCA1cHg7Zm9udC1zaXplOjEycHg7KnBhZGRpbmctYm90dG9tOjJweH0ubWNlLWJ0bi1zbWFsbCBpe2xpbmUtaGVpZ2h0OjIwcHg7dmVydGljYWwtYWxpZ246dG9wOypsaW5lLWhlaWdodDoxOHB4fS5tY2UtYnRuIC5tY2UtY2FyZXR7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWxlZnQ6MH0ubWNlLWJ0bi1zbWFsbCAubWNlLWNhcmV0e21hcmdpbi10b3A6OHB4O21hcmdpbi1sZWZ0OjB9Lm1jZS1jYXJldHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MTt3aWR0aDowO2hlaWdodDowO3ZlcnRpY2FsLWFsaWduOnRvcDtib3JkZXItdG9wOjRweCBzb2xpZCAjMzMzO2JvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2NvbnRlbnQ6IiJ9Lm1jZS1kaXNhYmxlZCAubWNlLWNhcmV0e2JvcmRlci10b3AtY29sb3I6I2FhYX0ubWNlLWNhcmV0Lm1jZS11cHtib3JkZXItYm90dG9tOjRweCBzb2xpZCAjMzMzO2JvcmRlci10b3A6MH0ubWNlLWJ0bi1mbGF0e2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ZmlsdGVyOm5vbmV9Lm1jZS1idG4tZmxhdDpob3ZlciwubWNlLWJ0bi1mbGF0Lm1jZS1hY3RpdmUsLm1jZS1idG4tZmxhdDpmb2N1cywubWNlLWJ0bi1mbGF0OmFjdGl2ZXtib3JkZXI6MDtiYWNrZ3JvdW5kOiNlNmU2ZTY7ZmlsdGVyOm5vbmV9Lm1jZS1idG4taGFzLXRleHQgLm1jZS1pY297cGFkZGluZy1yaWdodDo1cHh9Lm1jZS1ydGwgLm1jZS1idG4gYnV0dG9ue2RpcmVjdGlvbjpydGx9Lm1jZS1idG4tZ3JvdXAgLm1jZS1idG57Ym9yZGVyLXdpZHRoOjFweDttYXJnaW46MDttYXJnaW4tbGVmdDoycHh9Lm1jZS1idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkOWQ5ZDk7cGFkZGluZy1sZWZ0OjNweDttYXJnaW4tbGVmdDozcHh9Lm1jZS1idG4tZ3JvdXAgLm1jZS1maXJzdHttYXJnaW4tbGVmdDowfS5tY2UtYnRuLWdyb3VwIC5tY2UtYnRuLm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjowfS5tY2UtcnRsIC5tY2UtYnRuLWdyb3VwIC5tY2UtYnRue21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjJweH0ubWNlLXJ0bCAubWNlLWJ0bi1ncm91cCAubWNlLWZpcnN0e21hcmdpbi1yaWdodDowfS5tY2UtcnRsIC5tY2UtYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDlkOWQ5O3BhZGRpbmctcmlnaHQ6NHB4O21hcmdpbi1yaWdodDo0cHh9Lm1jZS1jaGVja2JveHtjdXJzb3I6cG9pbnRlcn1pLm1jZS1pLWNoZWNrYm94e21hcmdpbjowIDNweCAwIDA7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDt0ZXh0LWluZGVudDotMTBlbTsqZm9udC1zaXplOjA7KmxpbmUtaGVpZ2h0OjA7KnRleHQtaW5kZW50OjA7b3ZlcmZsb3c6aGlkZGVufS5tY2UtY2hlY2tlZCBpLm1jZS1pLWNoZWNrYm94e2NvbG9yOiMzMzM7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MTZweDt0ZXh0LWluZGVudDowfS5tY2UtY2hlY2tib3g6Zm9jdXMgaS5tY2UtaS1jaGVja2JveCwubWNlLWNoZWNrYm94Lm1jZS1mb2N1cyBpLm1jZS1pLWNoZWNrYm94e2JvcmRlcjoxcHggc29saWQgcmdiYSg4MiwxNjgsMjM2LDAuOCl9Lm1jZS1jaGVja2JveC5tY2UtZGlzYWJsZWQgLm1jZS1sYWJlbCwubWNlLWNoZWNrYm94Lm1jZS1kaXNhYmxlZCBpLm1jZS1pLWNoZWNrYm94e2NvbG9yOiNhY2FjYWN9Lm1jZS1jaGVja2JveCAubWNlLWxhYmVse3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWNlLXJ0bCAubWNlLWNoZWNrYm94e2RpcmVjdGlvbjpydGw7dGV4dC1hbGlnbjpyaWdodH0ubWNlLXJ0bCBpLm1jZS1pLWNoZWNrYm94e21hcmdpbjowIDAgMCAzcHh9Lm1jZS1jb21ib2JveHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MTsqaGVpZ2h0OjMycHh9Lm1jZS1jb21ib2JveCBpbnB1dHtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNjNWM1YzU7aGVpZ2h0OjI4cHh9Lm1jZS1jb21ib2JveC5tY2UtZGlzYWJsZWQgaW5wdXR7Y29sb3I6I2FkYWRhZH0ubWNlLWNvbWJvYm94IC5tY2UtYnRue2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtib3JkZXItbGVmdDowfS5tY2UtY29tYm9ib3ggYnV0dG9ue3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDo4cHh9Lm1jZS1jb21ib2JveC5tY2UtZGlzYWJsZWQgLm1jZS1idG4gYnV0dG9ue2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NDApO3pvb206MX0ubWNlLWNvbG9yYm94IGl7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9Lm1jZS1jb2xvcmJ1dHRvbiAubWNlLWljb3twb3NpdGlvbjpyZWxhdGl2ZX0ubWNlLWNvbG9yYnV0dG9uLWdyaWR7bWFyZ2luOjRweH0ubWNlLWNvbG9yYnV0dG9uIGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjZweDtwYWRkaW5nLWxlZnQ6NnB4fS5tY2UtY29sb3JidXR0b24gLm1jZS1wcmV2aWV3e3BhZGRpbmctcmlnaHQ6M3B4O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotMTdweDttYXJnaW4tdG9wOjdweDtiYWNrZ3JvdW5kOmdyYXk7d2lkdGg6MTNweDtoZWlnaHQ6MnB4O292ZXJmbG93OmhpZGRlbn0ubWNlLWNvbG9yYnV0dG9uLm1jZS1idG4tc21hbGwgLm1jZS1wcmV2aWV3e21hcmdpbi1sZWZ0Oi0xNnB4O3BhZGRpbmctcmlnaHQ6MDt3aWR0aDoxNnB4fS5tY2UtY29sb3JidXR0b24gLm1jZS1vcGVue3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5tY2UtY29sb3JidXR0b246aG92ZXIgLm1jZS1vcGVue2JvcmRlci1jb2xvcjojY2NjfS5tY2UtY29sb3JidXR0b24ubWNlLWJ0bi1zbWFsbCAubWNlLW9wZW57cGFkZGluZzowIDNweCAwIDNweH0ubWNlLXJ0bCAubWNlLWNvbG9yYnV0dG9ue2RpcmVjdGlvbjpydGx9Lm1jZS1ydGwgLm1jZS1jb2xvcmJ1dHRvbiAubWNlLXByZXZpZXd7bWFyZ2luLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjNweH0ubWNlLXJ0bCAubWNlLWNvbG9yYnV0dG9uLm1jZS1idG4tc21hbGwgLm1jZS1wcmV2aWV3e21hcmdpbi1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoycHh9Lm1jZS1ydGwgLm1jZS1jb2xvcmJ1dHRvbiAubWNlLW9wZW57cGFkZGluZy1sZWZ0OjRweDtwYWRkaW5nLXJpZ2h0OjRweDtib3JkZXItbGVmdDowfS5tY2UtY29sb3JwaWNrZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjUwcHg7aGVpZ2h0OjIyMHB4fS5tY2UtY29sb3JwaWNrZXItc3Z7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjkwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59Lm1jZS1jb2xvcnBpY2tlci1oLWNodW5re3dpZHRoOjEwMCV9Lm1jZS1jb2xvcnBpY2tlci1vdmVybGF5MSwubWNlLWNvbG9ycGlja2VyLW92ZXJsYXkye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5tY2UtY29sb3JwaWNrZXItb3ZlcmxheTF7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MSwgc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDBmZmZmZmYnKTstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoR3JhZGllbnRUeXBlPTEsc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDBmZmZmZmYnKSI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYsIHJnYmEoMjU1LDI1NSwyNTUsMCkpfS5tY2UtY29sb3JwaWNrZXItb3ZlcmxheTJ7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCwgc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnKTstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoR3JhZGllbnRUeXBlPTAsc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnKSI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApLCAjMDAwKX0ubWNlLWNvbG9ycGlja2VyLXNlbGVjdG9yMXtiYWNrZ3JvdW5kOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW46LThweCAwIDAgLThweDtib3JkZXI6MXB4IHNvbGlkIGJsYWNrO2JvcmRlci1yYWRpdXM6NTAlfS5tY2UtY29sb3JwaWNrZXItc2VsZWN0b3Iye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjUwJX0ubWNlLWNvbG9ycGlja2VyLWh7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo2LjUlO2hlaWdodDoxMDAlO2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtjdXJzb3I6Y3Jvc3NoYWlyfS5tY2UtY29sb3JwaWNrZXItaC1tYXJrZXJ7bWFyZ2luLXRvcDotNHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6LTFweDt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgIzMzMztiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjRweDt6LWluZGV4OjEwMH0ubWNlLXBhdGh7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7cGFkZGluZzo4cHg7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtcGF0aCAubWNlLXR4dHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0OjNweH0ubWNlLXBhdGggLm1jZS1wYXRoLWJvZHl7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm1jZS1wYXRoLWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6IzMzM30ubWNlLXBhdGgtaXRlbTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5tY2UtcGF0aC1pdGVtOmZvY3Vze2JhY2tncm91bmQ6IzY2Njtjb2xvcjojZmZmfS5tY2UtcGF0aCAubWNlLWRpdmlkZXJ7ZGlzcGxheTppbmxpbmV9Lm1jZS1kaXNhYmxlZCAubWNlLXBhdGgtaXRlbXtjb2xvcjojYWFhfS5tY2UtcnRsIC5tY2UtcGF0aHtkaXJlY3Rpb246cnRsfS5tY2UtZmllbGRzZXR7Ym9yZGVyOjAgc29saWQgIzllOWU5ZX0ubWNlLWZpZWxkc2V0Pi5tY2UtY29udGFpbmVyLWJvZHl7bWFyZ2luLXRvcDotMTVweH0ubWNlLWZpZWxkc2V0LXRpdGxle21hcmdpbi1sZWZ0OjVweDtwYWRkaW5nOjAgNXB4IDAgNXB4fS5tY2UtZml0LWxheW91dHtkaXNwbGF5OmlubGluZS1ibG9jazsqZGlzcGxheTppbmxpbmU7Knpvb206MX0ubWNlLWZpdC1sYXlvdXQtaXRlbXtwb3NpdGlvbjphYnNvbHV0ZX0ubWNlLWZsb3ctbGF5b3V0LWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjF9Lm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjoycHggMCAycHggMnB4fS5tY2UtZmxvdy1sYXlvdXQtaXRlbS5tY2UtbGFzdHttYXJnaW4tcmlnaHQ6MnB4fS5tY2UtZmxvdy1sYXlvdXR7d2hpdGUtc3BhY2U6bm9ybWFsfS5tY2UtdGlueW1jZS1pbmxpbmUgLm1jZS1mbG93LWxheW91dHt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1jZS1ydGwgLm1jZS1mbG93LWxheW91dHt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGx9Lm1jZS1ydGwgLm1jZS1mbG93LWxheW91dC1pdGVte21hcmdpbjoycHggMnB4IDJweCAwfS5tY2UtcnRsIC5tY2UtZmxvdy1sYXlvdXQtaXRlbS5tY2UtbGFzdHttYXJnaW4tbGVmdDoycHh9Lm1jZS1pZnJhbWV7Ym9yZGVyOjAgc29saWQgcmdiYSgwLDAsMCwwLjIpO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lm1jZS1pbmZvYm94e2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO3RleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO292ZXJmbG93OmhpZGRlbjtib3JkZXI6MXB4IHNvbGlkIHJlZH0ubWNlLWluZm9ib3ggZGl2e2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjVweH0ubWNlLWluZm9ib3ggZGl2IGJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3JpZ2h0OjRweDtjdXJzb3I6cG9pbnRlcjttYXJnaW4tdG9wOi04cHg7ZGlzcGxheTpub25lfS5tY2UtaW5mb2JveCBkaXYgYnV0dG9uOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkICNjY2N9Lm1jZS1pbmZvYm94Lm1jZS1oYXMtaGVscCBkaXZ7bWFyZ2luLXJpZ2h0OjI1cHh9Lm1jZS1pbmZvYm94Lm1jZS1oYXMtaGVscCBidXR0b257ZGlzcGxheTpibG9ja30ubWNlLWluZm9ib3gubWNlLXN1Y2Nlc3N7YmFja2dyb3VuZDojZGZmMGQ4O2JvcmRlci1jb2xvcjojZDZlOWM2fS5tY2UtaW5mb2JveC5tY2Utc3VjY2VzcyBkaXZ7Y29sb3I6IzNjNzYzZH0ubWNlLWluZm9ib3gubWNlLXdhcm5pbmd7YmFja2dyb3VuZDojZmNmOGUzO2JvcmRlci1jb2xvcjojZmFlYmNjfS5tY2UtaW5mb2JveC5tY2Utd2FybmluZyBkaXZ7Y29sb3I6IzhhNmQzYn0ubWNlLWluZm9ib3gubWNlLWVycm9ye2JhY2tncm91bmQ6I2YyZGVkZTtib3JkZXItY29sb3I6I2ViY2NkMX0ubWNlLWluZm9ib3gubWNlLWVycm9yIGRpdntjb2xvcjojYTk0NDQyfS5tY2UtcnRsIC5tY2UtaW5mb2JveCBkaXZ7dGV4dC1hbGlnbjpyaWdodDtkaXJlY3Rpb246cnRsfS5tY2UtbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lOyp6b29tOjE7dGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7b3ZlcmZsb3c6aGlkZGVufS5tY2UtbGFiZWwubWNlLWF1dG9zY3JvbGx7b3ZlcmZsb3c6YXV0b30ubWNlLWxhYmVsLm1jZS1kaXNhYmxlZHtjb2xvcjojYWFhfS5tY2UtbGFiZWwubWNlLW11bHRpbGluZXt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWNlLWxhYmVsLm1jZS1zdWNjZXNze2NvbG9yOiM0Njg4NDd9Lm1jZS1sYWJlbC5tY2Utd2FybmluZ3tjb2xvcjojYzA5ODUzfS5tY2UtbGFiZWwubWNlLWVycm9ye2NvbG9yOiNiOTRhNDh9Lm1jZS1ydGwgLm1jZS1sYWJlbHt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGx9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0bntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtmaWx0ZXI6bm9uZX0ubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuIGJ1dHRvbntjb2xvcjojMzMzfS5tY2UtbWVudWJhcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjE3LDIxNywyMTcsMC41Mil9Lm1jZS1tZW51YmFyIC5tY2UtbWVudWJ0biBidXR0b24gc3Bhbntjb2xvcjojMzMzfS5tY2UtbWVudWJhciAubWNlLWNhcmV0e2JvcmRlci10b3AtY29sb3I6IzMzM30ubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuOmhvdmVyLC5tY2UtbWVudWJhciAubWNlLW1lbnVidG4ubWNlLWFjdGl2ZSwubWNlLW1lbnViYXIgLm1jZS1tZW51YnRuOmZvY3Vze2JvcmRlci1jb2xvcjojY2NjO2JhY2tncm91bmQ6I2ZmZjtmaWx0ZXI6bm9uZX0ubWNlLW1lbnVidG4gYnV0dG9ue2NvbG9yOiMzMzN9Lm1jZS1tZW51YnRuLm1jZS1idG4tc21hbGwgc3Bhbntmb250LXNpemU6MTJweH0ubWNlLW1lbnVidG4ubWNlLWZpeGVkLXdpZHRoIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3cteDpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aWR0aDo5MHB4fS5tY2UtbWVudWJ0bi5tY2UtZml4ZWQtd2lkdGgubWNlLWJ0bi1zbWFsbCBzcGFue3dpZHRoOjcwcHh9Lm1jZS1tZW51YnRuIC5tY2UtY2FyZXR7Km1hcmdpbi10b3A6NnB4fS5tY2UtcnRsIC5tY2UtbWVudWJ0biBidXR0b257ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtbWVudS1pdGVte2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo2cHggMTVweCA2cHggMTJweDtjbGVhcjpib3RoO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiMzMzM7d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpwb2ludGVyO2xpbmUtaGVpZ2h0Om5vcm1hbDtib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWJvdHRvbToxcHh9Lm1jZS1tZW51LWl0ZW0gLm1jZS1pY28sLm1jZS1tZW51LWl0ZW0gLm1jZS10ZXh0e2NvbG9yOiMzMzN9Lm1jZS1tZW51LWl0ZW0ubWNlLWRpc2FibGVkIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS5tY2UtZGlzYWJsZWQgLm1jZS1pY297Y29sb3I6I2FkYWRhZH0ubWNlLW1lbnUtaXRlbTpob3ZlciAubWNlLXRleHQsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLXRleHR7Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW06aG92ZXIgLm1jZS1pY28sLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtaWNvLC5tY2UtbWVudS1pdGVtOmZvY3VzIC5tY2UtaWNve2NvbG9yOndoaXRlfS5tY2UtbWVudS1pdGVtLm1jZS1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOiNjY2N9Lm1jZS1tZW51LXNob3J0Y3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiNhZGFkYWR9Lm1jZS1tZW51LXNob3J0Y3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO3BhZGRpbmc6MCAxNXB4IDAgMjBweH0ubWNlLW1lbnUtaXRlbTpob3ZlciAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkIC5tY2UtbWVudS1zaG9ydGN1dCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLW1lbnUtc2hvcnRjdXR7Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW0gLm1jZS1jYXJldHttYXJnaW4tdG9wOjRweDsqbWFyZ2luLXRvcDozcHg7bWFyZ2luLXJpZ2h0OjZweDtib3JkZXItdG9wOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDo0cHggc29saWQgIzMzM30ubWNlLW1lbnUtaXRlbS5tY2Utc2VsZWN0ZWQgLm1jZS1jYXJldCwubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLWNhcmV0LC5tY2UtbWVudS1pdGVtOmhvdmVyIC5tY2UtY2FyZXR7Ym9yZGVyLWxlZnQtY29sb3I6d2hpdGV9Lm1jZS1tZW51LWFsaWduIC5tY2UtbWVudS1zaG9ydGN1dHsqbWFyZ2luLXRvcDotMnB4fS5tY2UtbWVudS1hbGlnbiAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWFsaWduIC5tY2UtY2FyZXR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ubWNlLW1lbnUtaXRlbS5tY2UtYWN0aXZlIGl7dmlzaWJpbGl0eTp2aXNpYmxlfS5tY2UtbWVudS1pdGVtLW5vcm1hbC5tY2UtYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzM0OThkYn0ubWNlLW1lbnUtaXRlbS1wcmV2aWV3Lm1jZS1hY3RpdmV7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICNhYWF9Lm1jZS1tZW51LWl0ZW0tbm9ybWFsLm1jZS1hY3RpdmUgLm1jZS10ZXh0e2NvbG9yOndoaXRlfS5tY2UtbWVudS1pdGVtLW5vcm1hbC5tY2UtYWN0aXZlOmhvdmVyIC5tY2UtdGV4dCwubWNlLW1lbnUtaXRlbS1ub3JtYWwubWNlLWFjdGl2ZTpob3ZlciAubWNlLWljb3tjb2xvcjp3aGl0ZX0ubWNlLW1lbnUtaXRlbS1ub3JtYWwubWNlLWFjdGl2ZTpmb2N1cyAubWNlLXRleHQsLm1jZS1tZW51LWl0ZW0tbm9ybWFsLm1jZS1hY3RpdmU6Zm9jdXMgLm1jZS1pY297Y29sb3I6d2hpdGV9Lm1jZS1tZW51LWl0ZW06aG92ZXIsLm1jZS1tZW51LWl0ZW0ubWNlLXNlbGVjdGVkLC5tY2UtbWVudS1pdGVtOmZvY3Vze3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6IzJkOGFjN31kaXYubWNlLW1lbnUgLm1jZS1tZW51LWl0ZW0tc2VwLC5tY2UtbWVudS1pdGVtLXNlcDpob3Zlcntib3JkZXI6MDtwYWRkaW5nOjA7aGVpZ2h0OjFweDttYXJnaW46OXB4IDFweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Y3Vyc29yOmRlZmF1bHQ7ZmlsdGVyOm5vbmV9Lm1jZS1tZW51Lm1jZS1ydGx7ZGlyZWN0aW9uOnJ0bH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbXt0ZXh0LWFsaWduOnJpZ2h0O2RpcmVjdGlvbjpydGw7cGFkZGluZzo2cHggMTJweCA2cHggMTVweH0ubWNlLW1lbnUtYWxpZ24ubWNlLXJ0bCAubWNlLW1lbnUtc2hvcnRjdXQsLm1jZS1tZW51LWFsaWduLm1jZS1ydGwgLm1jZS1jYXJldHtyaWdodDphdXRvO2xlZnQ6MH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbSAubWNlLWNhcmV0e21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkICMzMzM7Ym9yZGVyLWxlZnQ6MH0ubWNlLXJ0bCAubWNlLW1lbnUtaXRlbS5tY2Utc2VsZWN0ZWQgLm1jZS1jYXJldCwubWNlLXJ0bCAubWNlLW1lbnUtaXRlbTpmb2N1cyAubWNlLWNhcmV0LC5tY2UtcnRsIC5tY2UtbWVudS1pdGVtOmhvdmVyIC5tY2UtY2FyZXR7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0LWNvbG9yOndoaXRlfS5tY2UtdGhyb2JiZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouNjtmaWx0ZXI6YWxwaGEob3BhY2l0eT02MCk7em9vbToxO2JhY2tncm91bmQ6I2ZmZiB1cmwoJ2ltZy9sb2FkZXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXJ9Lm1jZS10aHJvYmJlci1pbmxpbmV7cG9zaXRpb246c3RhdGljO2hlaWdodDo1MHB4fS5tY2UtbWVudSAubWNlLXRocm9iYmVyLWlubGluZXtoZWlnaHQ6MjVweDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ubWNlLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3otaW5kZXg6MTAwMDtwYWRkaW5nOjVweCAwIDVweCAwO21hcmdpbjotMXB4IDAgMDttaW4td2lkdGg6MTYwcHg7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzk4OTg5ODtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTt6LWluZGV4OjEwMDI7bWF4LWhlaWdodDo0MDBweDtvdmVyZmxvdzphdXRvO292ZXJmbG93LXg6aGlkZGVufS5tY2UtbWVudSBpe2Rpc3BsYXk6bm9uZX0ubWNlLW1lbnUtaGFzLWljb25zIGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7KmRpc3BsYXk6aW5saW5lfS5tY2UtbWVudS1zdWItdHItdGx7bWFyZ2luOi02cHggMCAwIC0xcHh9Lm1jZS1tZW51LXN1Yi1ici1ibHttYXJnaW46NnB4IDAgMCAtMXB4fS5tY2UtbWVudS1zdWItdGwtdHJ7bWFyZ2luOi02cHggMCAwIDFweH0ubWNlLW1lbnUtc3ViLWJsLWJye21hcmdpbjo2cHggMCAwIDFweH0ubWNlLWxpc3Rib3ggYnV0dG9ue3RleHQtYWxpZ246bGVmdDtwYWRkaW5nLXJpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmV9Lm1jZS1saXN0Ym94IC5tY2UtY2FyZXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDotMnB4O3JpZ2h0OjhweDt0b3A6NTAlfS5tY2UtcnRsIC5tY2UtbGlzdGJveCAubWNlLWNhcmV0e3JpZ2h0OmF1dG87bGVmdDo4cHh9Lm1jZS1ydGwgLm1jZS1saXN0Ym94IGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1sZWZ0OjIwcHh9Lm1jZS1jb250YWluZXItYm9keSAubWNlLXJlc2l6ZWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbTowO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7dmlzaWJpbGl0eTp2aXNpYmxlO2N1cnNvcjpzLXJlc2l6ZTttYXJnaW46MH0ubWNlLWNvbnRhaW5lci1ib2R5IC5tY2UtcmVzaXplaGFuZGxlLWJvdGh7Y3Vyc29yOnNlLXJlc2l6ZX1pLm1jZS1pLXJlc2l6ZXtjb2xvcjojMzMzfS5tY2Utc2VsZWN0Ym94e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzV9Lm1jZS1zbGlkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JhY2tncm91bmQ6I2VlZTt3aWR0aDoxMDBweDtoZWlnaHQ6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS5tY2Utc2xpZGVyLm1jZS12ZXJ0aWNhbHt3aWR0aDoxMHB4O2hlaWdodDoxMDBweH0ubWNlLXNsaWRlci1oYW5kbGV7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JhY2tncm91bmQ6I2RkZDtkaXNwbGF5OmJsb2NrO3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbi1sZWZ0Oi0xcHg7bWFyZ2luLXRvcDotMnB4fS5tY2Utc2xpZGVyLWhhbmRsZTpmb2N1c3tiYWNrZ3JvdW5kOiNiYmJ9Lm1jZS1zcGFjZXJ7dmlzaWJpbGl0eTpoaWRkZW59Lm1jZS1zcGxpdGJ0biAubWNlLW9wZW57Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5tY2Utc3BsaXRidG46aG92ZXIgLm1jZS1vcGVue2JvcmRlci1sZWZ0LWNvbG9yOiNjY2N9Lm1jZS1zcGxpdGJ0biBidXR0b257cGFkZGluZy1yaWdodDo2cHg7cGFkZGluZy1sZWZ0OjZweH0ubWNlLXNwbGl0YnRuIC5tY2Utb3BlbntwYWRkaW5nLXJpZ2h0OjRweDtwYWRkaW5nLWxlZnQ6NHB4fS5tY2Utc3BsaXRidG4gLm1jZS1vcGVuLm1jZS1hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZGJkYmRiO291dGxpbmU6MXB4IHNvbGlkICNjY2N9Lm1jZS1zcGxpdGJ0bi5tY2UtYnRuLXNtYWxsIC5tY2Utb3BlbntwYWRkaW5nOjAgM3B4IDAgM3B4fS5tY2UtcnRsIC5tY2Utc3BsaXRidG57ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fS5tY2UtcnRsIC5tY2Utc3BsaXRidG4gYnV0dG9ue3BhZGRpbmctcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDo0cHh9Lm1jZS1ydGwgLm1jZS1zcGxpdGJ0biAubWNlLW9wZW57Ym9yZGVyLWxlZnQ6MH0ubWNlLXN0YWNrLWxheW91dC1pdGVte2Rpc3BsYXk6YmxvY2t9Lm1jZS10YWJze2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2M1YzVjNX0ubWNlLXRhYnMsLm1jZS10YWJzKy5tY2UtY29udGFpbmVyLWJvZHl7YmFja2dyb3VuZDojZmZmfS5tY2UtdGFie2Rpc3BsYXk6aW5saW5lLWJsb2NrOypkaXNwbGF5OmlubGluZTsqem9vbToxO2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtib3JkZXItd2lkdGg6MCAxcHggMCAwO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjhweDt0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtoZWlnaHQ6MTNweDtjdXJzb3I6cG9pbnRlcn0ubWNlLXRhYjpob3ZlcntiYWNrZ3JvdW5kOiNmZGZkZmR9Lm1jZS10YWIubWNlLWFjdGl2ZXtiYWNrZ3JvdW5kOiNmZGZkZmQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDttYXJnaW4tYm90dG9tOi0xcHg7aGVpZ2h0OjE0cHh9Lm1jZS1ydGwgLm1jZS10YWJze3RleHQtYWxpZ246cmlnaHQ7ZGlyZWN0aW9uOnJ0bH0ubWNlLXJ0bCAubWNlLXRhYntib3JkZXItd2lkdGg6MCAwIDAgMXB4fS5tY2UtdGV4dGJveHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYzVjNWM1O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtdHJhbnNpdGlvbjpib3JkZXIgbGluZWFyIC4ycywgYm94LXNoYWRvdyBsaW5lYXIgLjJzO3RyYW5zaXRpb246Ym9yZGVyIGxpbmVhciAuMnMsIGJveC1zaGFkb3cgbGluZWFyIC4ycztoZWlnaHQ6MjhweDtyZXNpemU6bm9uZTtwYWRkaW5nOjAgNHB4IDAgNHB4O3doaXRlLXNwYWNlOnByZS13cmFwOyp3aGl0ZS1zcGFjZTpwcmU7Y29sb3I6IzMzM30ubWNlLXRleHRib3g6Zm9jdXMsLm1jZS10ZXh0Ym94Lm1jZS1mb2N1c3tib3JkZXItY29sb3I6IzM0OThkYn0ubWNlLXBsYWNlaG9sZGVyIC5tY2UtdGV4dGJveHtjb2xvcjojYWFhfS5tY2UtdGV4dGJveC5tY2UtbXVsdGlsaW5le3BhZGRpbmc6NHB4O2hlaWdodDphdXRvfS5tY2UtdGV4dGJveC5tY2UtZGlzYWJsZWR7Y29sb3I6I2FkYWRhZH0ubWNlLXJ0bCAubWNlLXRleHRib3h7dGV4dC1hbGlnbjpyaWdodDtkaXJlY3Rpb246cnRsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J3RpbnltY2UnO3NyYzp1cmwoJ2ZvbnRzL3RpbnltY2UuZW90Jyk7c3JjOnVybCgnZm9udHMvdGlueW1jZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnZm9udHMvdGlueW1jZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCdmb250cy90aW55bWNlLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJ2ZvbnRzL3RpbnltY2Uuc3ZnI3RpbnltY2UnKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5Oid0aW55bWNlLXNtYWxsJztzcmM6dXJsKCdmb250cy90aW55bWNlLXNtYWxsLmVvdCcpO3NyYzp1cmwoJ2ZvbnRzL3RpbnltY2Utc21hbGwuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ2ZvbnRzL3RpbnltY2Utc21hbGwud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnZm9udHMvdGlueW1jZS1zbWFsbC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCdmb250cy90aW55bWNlLXNtYWxsLnN2ZyN0aW55bWNlJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWx9Lm1jZS1pY297Zm9udC1mYW1pbHk6J3RpbnltY2UnLEFyaWFsO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjE2cHg7c3BlYWs6bm9uZTt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Y29sb3I6IzMzM30ubWNlLWJ0bi1zbWFsbCAubWNlLWljb3tmb250LWZhbWlseTondGlueW1jZS1zbWFsbCcsQXJpYWx9Lm1jZS1pLXNhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDAwIn0ubWNlLWktbmV3ZG9jdW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDAxIn0ubWNlLWktZnVsbHBhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDAyIn0ubWNlLWktYWxpZ25sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTAwMyJ9Lm1jZS1pLWFsaWduY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZTAwNCJ9Lm1jZS1pLWFsaWducmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDA1In0ubWNlLWktYWxpZ25qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZTAwNiJ9Lm1jZS1pLWFsaWdubm9uZTpiZWZvcmV7Y29udGVudDoiXGUwMDMifS5tY2UtaS1jdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDA3In0ubWNlLWktcGFzdGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDA4In0ubWNlLWktc2VhcmNocmVwbGFjZTpiZWZvcmV7Y29udGVudDoiXGUwMDkifS5tY2UtaS1idWxsaXN0OmJlZm9yZXtjb250ZW50OiJcZTAwYSJ9Lm1jZS1pLW51bWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDBiIn0ubWNlLWktaW5kZW50OmJlZm9yZXtjb250ZW50OiJcZTAwYyJ9Lm1jZS1pLW91dGRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDBkIn0ubWNlLWktYmxvY2txdW90ZTpiZWZvcmV7Y29udGVudDoiXGUwMGUifS5tY2UtaS11bmRvOmJlZm9yZXtjb250ZW50OiJcZTAwZiJ9Lm1jZS1pLXJlZG86YmVmb3Jle2NvbnRlbnQ6IlxlMDEwIn0ubWNlLWktbGluazpiZWZvcmV7Y29udGVudDoiXGUwMTEifS5tY2UtaS11bmxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlMDEyIn0ubWNlLWktYW5jaG9yOmJlZm9yZXtjb250ZW50OiJcZTAxMyJ9Lm1jZS1pLWltYWdlOmJlZm9yZXtjb250ZW50OiJcZTAxNCJ9Lm1jZS1pLW1lZGlhOmJlZm9yZXtjb250ZW50OiJcZTAxNSJ9Lm1jZS1pLWhlbHA6YmVmb3Jle2NvbnRlbnQ6IlxlMDE2In0ubWNlLWktY29kZTpiZWZvcmV7Y29udGVudDoiXGUwMTcifS5tY2UtaS1pbnNlcnRkYXRldGltZTpiZWZvcmV7Y29udGVudDoiXGUwMTgifS5tY2UtaS1wcmV2aWV3OmJlZm9yZXtjb250ZW50OiJcZTAxOSJ9Lm1jZS1pLWZvcmVjb2xvcjpiZWZvcmV7Y29udGVudDoiXGUwMWEifS5tY2UtaS1iYWNrY29sb3I6YmVmb3Jle2NvbnRlbnQ6IlxlMDFhIn0ubWNlLWktdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDFiIn0ubWNlLWktaHI6YmVmb3Jle2NvbnRlbnQ6IlxlMDFjIn0ubWNlLWktcmVtb3ZlZm9ybWF0OmJlZm9yZXtjb250ZW50OiJcZTAxZCJ9Lm1jZS1pLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGUwMWUifS5tY2UtaS1zdXBlcnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGUwMWYifS5tY2UtaS1jaGFybWFwOmJlZm9yZXtjb250ZW50OiJcZTAyMCJ9Lm1jZS1pLWVtb3RpY29uczpiZWZvcmV7Y29udGVudDoiXGUwMjEifS5tY2UtaS1wcmludDpiZWZvcmV7Y29udGVudDoiXGUwMjIifS5tY2UtaS1mdWxsc2NyZWVuOmJlZm9yZXtjb250ZW50OiJcZTAyMyJ9Lm1jZS1pLXNwZWxsY2hlY2tlcjpiZWZvcmV7Y29udGVudDoiXGUwMjQifS5tY2UtaS1ub25icmVha2luZzpiZWZvcmV7Y29udGVudDoiXGUwMjUifS5tY2UtaS10ZW1wbGF0ZTpiZWZvcmV7Y29udGVudDoiXGUwMjYifS5tY2UtaS1wYWdlYnJlYWs6YmVmb3Jle2NvbnRlbnQ6IlxlMDI3In0ubWNlLWktcmVzdG9yZWRyYWZ0OmJlZm9yZXtjb250ZW50OiJcZTAyOCJ9Lm1jZS1pLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDJhIn0ubWNlLWktaXRhbGljOmJlZm9yZXtjb250ZW50OiJcZTAyYiJ9Lm1jZS1pLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGUwMmMifS5tY2UtaS1zdHJpa2V0aHJvdWdoOmJlZm9yZXtjb250ZW50OiJcZTAyZCJ9Lm1jZS1pLXZpc3VhbGNoYXJzOmJlZm9yZXtjb250ZW50OiJcZTAyZSJ9Lm1jZS1pLXZpc3VhbGJsb2NrczpiZWZvcmV7Y29udGVudDoiXGUwMmUifS5tY2UtaS1sdHI6YmVmb3Jle2NvbnRlbnQ6IlxlMDJmIn0ubWNlLWktcnRsOmJlZm9yZXtjb250ZW50OiJcZTAzMCJ9Lm1jZS1pLWNvcHk6YmVmb3Jle2NvbnRlbnQ6IlxlMDMxIn0ubWNlLWktcmVzaXplOmJlZm9yZXtjb250ZW50OiJcZTAzMiJ9Lm1jZS1pLWJyb3dzZTpiZWZvcmV7Y29udGVudDoiXGUwMzQifS5tY2UtaS1wYXN0ZXRleHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDM1In0ubWNlLWktcm90YXRlbGVmdDpiZWZvcmV7Y29udGVudDoiXGVhYTgifS5tY2UtaS1yb3RhdGVyaWdodDpiZWZvcmV7Y29udGVudDoiXGVhYTkifS5tY2UtaS1jcm9wOmJlZm9yZXtjb250ZW50OiJcZWU3OCJ9Lm1jZS1pLWVkaXRpbWFnZTpiZWZvcmV7Y29udGVudDoiXGU5MTUifS5tY2UtaS1vcHRpb25zOmJlZm9yZXtjb250ZW50OiJcZWM2YSJ9Lm1jZS1pLWZsaXB2OmJlZm9yZXtjb250ZW50OiJcZWFhYSJ9Lm1jZS1pLWZsaXBoOmJlZm9yZXtjb250ZW50OiJcZWFhYyJ9Lm1jZS1pLXpvb21pbjpiZWZvcmV7Y29udGVudDoiXGViMzUifS5tY2UtaS16b29tb3V0OmJlZm9yZXtjb250ZW50OiJcZWIzNiJ9Lm1jZS1pLXN1bjpiZWZvcmV7Y29udGVudDoiXGVjY2MifS5tY2UtaS1tb29uOmJlZm9yZXtjb250ZW50OiJcZWNjZCJ9Lm1jZS1pLWFycm93bGVmdDpiZWZvcmV7Y29udGVudDoiXGVkYzAifS5tY2UtaS1hcnJvd3JpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTkzYyJ9Lm1jZS1pLWRyb3A6YmVmb3Jle2NvbnRlbnQ6IlxlOTM1In0ubWNlLWktY29udHJhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlY2Q0In0ubWNlLWktc2hhcnBlbjpiZWZvcmV7Y29udGVudDoiXGViYTcifS5tY2UtaS1yZXNpemUyOmJlZm9yZXtjb250ZW50OiJcZWRmOSJ9Lm1jZS1pLW9yaWVudGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZTYwMSJ9Lm1jZS1pLWludmVydDpiZWZvcmV7Y29udGVudDoiXGU2MDIifS5tY2UtaS1nYW1tYTpiZWZvcmV7Y29udGVudDoiXGU2MDAifS5tY2UtaS1yZW1vdmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDZhIn0ubWNlLWktdGFibGVyb3dwcm9wczpiZWZvcmV7Y29udGVudDoiXGU2MDQifS5tY2UtaS10YWJsZWNlbGxwcm9wczpiZWZvcmV7Y29udGVudDoiXGU2MDUifS5tY2UtaS10YWJsZTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjA2In0ubWNlLWktdGFibGVtZXJnZWNlbGxzOmJlZm9yZXtjb250ZW50OiJcZTYwNyJ9Lm1jZS1pLXRhYmxlaW5zZXJ0Y29sYmVmb3JlOmJlZm9yZXtjb250ZW50OiJcZTYwOCJ9Lm1jZS1pLXRhYmxlaW5zZXJ0Y29sYWZ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNjA5In0ubWNlLWktdGFibGVpbnNlcnRyb3diZWZvcmU6YmVmb3Jle2NvbnRlbnQ6IlxlNjBhIn0ubWNlLWktdGFibGVpbnNlcnRyb3dhZnRlcjpiZWZvcmV7Y29udGVudDoiXGU2MGIifS5tY2UtaS10YWJsZXNwbGl0Y2VsbHM6YmVmb3Jle2NvbnRlbnQ6IlxlNjBkIn0ubWNlLWktdGFibGVkZWxldGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjBlIn0ubWNlLWktdGFibGVsZWZ0aGVhZGVyOmJlZm9yZXtjb250ZW50OiJcZTYyYSJ9Lm1jZS1pLXRhYmxldG9waGVhZGVyOmJlZm9yZXtjb250ZW50OiJcZTYyYiJ9Lm1jZS1pLXRhYmxlZGVsZXRlcm93OmJlZm9yZXtjb250ZW50OiJcZTgwMCJ9Lm1jZS1pLXRhYmxlZGVsZXRlY29sOmJlZm9yZXtjb250ZW50OiJcZTgwMSJ9Lm1jZS1pLWNvZGVzYW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjAzIn0ubWNlLWktZmlsbDpiZWZvcmV7Y29udGVudDoiXGU5MDIifS5tY2UtaS1ib3JkZXJ3aWR0aDpiZWZvcmV7Y29udGVudDoiXGU5MDMifS5tY2UtaS1saW5lOmJlZm9yZXtjb250ZW50OiJcZTkwNCJ9Lm1jZS1pLWNvdW50OmJlZm9yZXtjb250ZW50OiJcZTkwNSJ9Lm1jZS1pLXRyYW5zbGF0ZTpiZWZvcmV7Y29udGVudDoiXGU5MDcifS5tY2UtaS1kcmFnOmJlZm9yZXtjb250ZW50OiJcZTkwOCJ9Lm1jZS1pLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxlOTBiIn0ubWNlLWktdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZTkxNCJ9Lm1jZS1pLWJ1YmJsZTpiZWZvcmV7Y29udGVudDoiXGU5MWMifS5tY2UtaS11c2VyOmJlZm9yZXtjb250ZW50OiJcZTkxZCJ9Lm1jZS1pLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlOTI2In0ubWNlLWktdW5sb2NrOmJlZm9yZXtjb250ZW50OiJcZTkyNyJ9Lm1jZS1pLXNldHRpbmdzOmJlZm9yZXtjb250ZW50OiJcZTkyOCJ9Lm1jZS1pLXJlbW92ZTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTJhIn0ubWNlLWktbWVudTpiZWZvcmV7Y29udGVudDoiXGU5MmQifS5tY2UtaS13YXJuaW5nOmJlZm9yZXtjb250ZW50OiJcZTkzMCJ9Lm1jZS1pLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OiJcZTkzMSJ9Lm1jZS1pLXBsdXNjaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTMyIn0ubWNlLWktaW5mbzpiZWZvcmV7Y29udGVudDoiXGU5MzMifS5tY2UtaS1ub3RpY2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTM0In0ubWNlLWktYXJyb3d1cDpiZWZvcmV7Y29udGVudDoiXGU5M2IifS5tY2UtaS1hcnJvd2Rvd246YmVmb3Jle2NvbnRlbnQ6IlxlOTNkIn0ubWNlLWktYXJyb3d1cDI6YmVmb3Jle2NvbnRlbnQ6IlxlOTNmIn0ubWNlLWktYXJyb3dkb3duMjpiZWZvcmV7Y29udGVudDoiXGU5NDAifS5tY2UtaS1tZW51MjpiZWZvcmV7Y29udGVudDoiXGU5NDEifS5tY2UtaS1uZXd0YWI6YmVmb3Jle2NvbnRlbnQ6IlxlOTYxIn0ubWNlLWktYTExeTpiZWZvcmV7Y29udGVudDoiXGU5MDAifS5tY2UtaS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZTkzYSJ9Lm1jZS1pLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZTkzOSJ9Lm1jZS1pLWJvb2tzOmJlZm9yZXtjb250ZW50OiJcZTkxMSJ9Lm1jZS1pLWNoZWNrYm94OmJlZm9yZSwubWNlLWktc2VsZWN0ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDMzIn0ubWNlLWktc2VsZWN0ZWR7dmlzaWJpbGl0eTpoaWRkZW59aS5tY2UtaS1iYWNrY29sb3J7dGV4dC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kOiNiYmJ9]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/modern/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/modern/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/themes/modern/theme.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5UaGVtZU1hbmFnZXIuYWRkKCJtb2Rlcm4iLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYixjKXt2YXIgZCxlPVtdO2lmKGIpcmV0dXJuIG8oYi5zcGxpdCgvWyAsXS8pLGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGYoKXtmdW5jdGlvbiBjKGEpe3JldHVybiBmdW5jdGlvbihjLGQpe2Zvcih2YXIgZSxmPWQucGFyZW50cy5sZW5ndGg7Zi0tJiYoZT1kLnBhcmVudHNbZl0ubm9kZU5hbWUsIk9MIiE9ZSYmIlVMIiE9ZSk7KTtiLmFjdGl2ZShjJiZlPT1hKX19dmFyIGQ9YS5zZWxlY3Rpb247ImJ1bGxpc3QiPT1nJiZkLnNlbGVjdG9yQ2hhbmdlZCgidWwgPiBsaSIsYygiVUwiKSksIm51bWxpc3QiPT1nJiZkLnNlbGVjdG9yQ2hhbmdlZCgib2wgPiBsaSIsYygiT0wiKSksYi5zZXR0aW5ncy5zdGF0ZVNlbGVjdG9yJiZkLnNlbGVjdG9yQ2hhbmdlZChiLnNldHRpbmdzLnN0YXRlU2VsZWN0b3IsZnVuY3Rpb24oYSl7Yi5hY3RpdmUoYSl9LCEwKSxiLnNldHRpbmdzLmRpc2FibGVkU3RhdGVTZWxlY3RvciYmZC5zZWxlY3RvckNoYW5nZWQoYi5zZXR0aW5ncy5kaXNhYmxlZFN0YXRlU2VsZWN0b3IsZnVuY3Rpb24oYSl7Yi5kaXNhYmxlZChhKX0pfXZhciBnOyJ8Ij09Yj9kPW51bGw6bi5oYXMoYik/KGI9e3R5cGU6YixzaXplOmN9LGUucHVzaChiKSxkPW51bGwpOihkfHwoZD17dHlwZToiYnV0dG9uZ3JvdXAiLGl0ZW1zOltdfSxlLnB1c2goZCkpLGEuYnV0dG9uc1tiXSYmKGc9YixiPWEuYnV0dG9uc1tnXSwiZnVuY3Rpb24iPT10eXBlb2YgYiYmKGI9YigpKSxiLnR5cGU9Yi50eXBlfHwiYnV0dG9uIixiLnNpemU9YyxiPW4uY3JlYXRlKGIpLGQuaXRlbXMucHVzaChiKSxhLmluaXRpYWxpemVkP2YoKTphLm9uKCJpbml0IixmKSkpfSkse3R5cGU6InRvb2xiYXIiLGxheW91dDoiZmxvdyIsaXRlbXM6ZX19ZnVuY3Rpb24gYyhhKXtmdW5jdGlvbiBjKGMpe3JldHVybiBjPyhkLnB1c2goYihjLGEpKSwhMCk6dm9pZCAwfXZhciBkPVtdO2lmKHRpbnltY2UuaXNBcnJheShtLnRvb2xiYXIpKXtpZigwPT09bS50b29sYmFyLmxlbmd0aClyZXR1cm47dGlueW1jZS5lYWNoKG0udG9vbGJhcixmdW5jdGlvbihhLGIpe21bInRvb2xiYXIiKyhiKzEpXT1hfSksZGVsZXRlIG0udG9vbGJhcn1mb3IodmFyIGU9MTsxMD5lJiZjKG1bInRvb2xiYXIiK2VdKTtlKyspO3JldHVybiBkLmxlbmd0aHx8bS50b29sYmFyPT09ITF8fGMobS50b29sYmFyfHx0KSxkLmxlbmd0aD97dHlwZToicGFuZWwiLGxheW91dDoic3RhY2siLGNsYXNzZXM6InRvb2xiYXItZ3JwIixhcmlhUm9vdDohMCxhcmlhUmVtZW1iZXI6ITAsaXRlbXM6ZH06dm9pZCAwfWZ1bmN0aW9uIGQoKXtmdW5jdGlvbiBiKGIpe3ZhciBjO3JldHVybiJ8Ij09Yj97dGV4dDoifCJ9OmM9YS5tZW51SXRlbXNbYl19ZnVuY3Rpb24gYyhjKXt2YXIgZCxlLGYsZyxoO2lmKGg9dGlueW1jZS5tYWtlTWFwKChtLnJlbW92ZWRfbWVudWl0ZW1zfHwiIikuc3BsaXQoL1sgLF0vKSksbS5tZW51PyhlPW0ubWVudVtjXSxnPSEwKTplPXNbY10sZSl7ZD17dGV4dDplLnRpdGxlfSxmPVtdLG8oKGUuaXRlbXN8fCIiKS5zcGxpdCgvWyAsXS8pLGZ1bmN0aW9uKGEpe3ZhciBjPWIoYSk7YyYmIWhbYV0mJmYucHVzaChiKGEpKX0pLGd8fG8oYS5tZW51SXRlbXMsZnVuY3Rpb24oYSl7YS5jb250ZXh0PT1jJiYoImJlZm9yZSI9PWEuc2VwYXJhdG9yJiZmLnB1c2goe3RleHQ6InwifSksYS5wcmVwZW5kVG9Db250ZXh0P2YudW5zaGlmdChhKTpmLnB1c2goYSksImFmdGVyIj09YS5zZXBhcmF0b3ImJmYucHVzaCh7dGV4dDoifCJ9KSl9KTtmb3IodmFyIGk9MDtpPGYubGVuZ3RoO2krKykifCI9PWZbaV0udGV4dCYmKDAhPT1pJiZpIT1mLmxlbmd0aC0xfHxmLnNwbGljZShpLDEpKTtpZihkLm1lbnU9ZiwhZC5tZW51Lmxlbmd0aClyZXR1cm4gbnVsbH1yZXR1cm4gZH12YXIgZCxlPVtdLGY9W107aWYobS5tZW51KWZvcihkIGluIG0ubWVudSlmLnB1c2goZCk7ZWxzZSBmb3IoZCBpbiBzKWYucHVzaChkKTtmb3IodmFyIGc9InN0cmluZyI9PXR5cGVvZiBtLm1lbnViYXI/bS5tZW51YmFyLnNwbGl0KC9bICxdLyk6ZixoPTA7aDxnLmxlbmd0aDtoKyspe3ZhciBpPWdbaF07aT1jKGkpLGkmJmUucHVzaChpKX1yZXR1cm4gZX1mdW5jdGlvbiBlKGIpe2Z1bmN0aW9uIGMoYSl7dmFyIGM9Yi5maW5kKGEpWzBdO2MmJmMuZm9jdXMoITApfWEuc2hvcnRjdXRzLmFkZCgiQWx0K0Y5IiwiIixmdW5jdGlvbigpe2MoIm1lbnViYXIiKX0pLGEuc2hvcnRjdXRzLmFkZCgiQWx0K0YxMCIsIiIsZnVuY3Rpb24oKXtjKCJ0b29sYmFyIil9KSxhLnNob3J0Y3V0cy5hZGQoIkFsdCtGMTEiLCIiLGZ1bmN0aW9uKCl7YygiZWxlbWVudHBhdGgiKX0pLGIub24oImNhbmNlbCIsZnVuY3Rpb24oKXthLmZvY3VzKCl9KX1mdW5jdGlvbiBmKGIsYyl7ZnVuY3Rpb24gZChhKXtyZXR1cm57d2lkdGg6YS5jbGllbnRXaWR0aCxoZWlnaHQ6YS5jbGllbnRIZWlnaHR9fXZhciBlLGYsZyxoO2U9YS5nZXRDb250YWluZXIoKSxmPWEuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKS5maXJzdENoaWxkLGc9ZChlKSxoPWQoZiksbnVsbCE9PWImJihiPU1hdGgubWF4KG0ubWluX3dpZHRofHwxMDAsYiksYj1NYXRoLm1pbihtLm1heF93aWR0aHx8NjU1MzUsYikscC5zZXRTdHlsZShlLCJ3aWR0aCIsYisoZy53aWR0aC1oLndpZHRoKSkscC5zZXRTdHlsZShmLCJ3aWR0aCIsYikpLGM9TWF0aC5tYXgobS5taW5faGVpZ2h0fHwxMDAsYyksYz1NYXRoLm1pbihtLm1heF9oZWlnaHR8fDY1NTM1LGMpLHAuc2V0U3R5bGUoZiwiaGVpZ2h0IixjKSxhLmZpcmUoIlJlc2l6ZUVkaXRvciIpfWZ1bmN0aW9uIGcoYixjKXt2YXIgZD1hLmdldENvbnRlbnRBcmVhQ29udGFpbmVyKCk7bC5yZXNpemVUbyhkLmNsaWVudFdpZHRoK2IsZC5jbGllbnRIZWlnaHQrYyl9ZnVuY3Rpb24gaCgpe2Z1bmN0aW9uIGMoKXtyZXR1cm4gYS5jb250ZXh0VG9vbGJhcnN8fFtdfWZ1bmN0aW9uIGQoYil7dmFyIGMsZCxlO3JldHVybiBjPXRpbnltY2UuRE9NLmdldFBvcyhhLmdldENvbnRlbnRBcmVhQ29udGFpbmVyKCkpLGQ9YS5kb20uZ2V0UmVjdChiKSxlPWEuZG9tLmdldFJvb3QoKSwiQk9EWSI9PWUubm9kZU5hbWUmJihkLngtPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZS5zY3JvbGxMZWZ0LGQueS09ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGUuc2Nyb2xsVG9wKSxkLngrPWMueCxkLnkrPWMueSxkfWZ1bmN0aW9uIGUoKXtvKGEuY29udGV4dFRvb2xiYXJzLGZ1bmN0aW9uKGEpe2EucGFuZWwmJmEucGFuZWwuaGlkZSgpfSl9ZnVuY3Rpb24gZihhLGIsYyl7Yj1iP2Iuc3Vic3RyKDAsMik6IiIsbyh7dDoiZG93biIsYjoidXAifSxmdW5jdGlvbihkLGUpe2EuY2xhc3Nlcy50b2dnbGUoImFycm93LSIrZCxjKGUsYi5zdWJzdHIoMCwxKSkpfSksbyh7bDoibGVmdCIscjoicmlnaHQifSxmdW5jdGlvbihkLGUpe2EuY2xhc3Nlcy50b2dnbGUoImFycm93LSIrZCxjKGUsYi5zdWJzdHIoMSwxKSkpfSl9ZnVuY3Rpb24gZyhhKXtyZXR1cm57bGVmdDphLngsdG9wOmEueSx3aWR0aDphLncsaGVpZ2h0OmEuaCxyaWdodDphLngrYS53LGJvdHRvbTphLnkrYS5ofX1mdW5jdGlvbiBoKGEsYixjLGQsZSl7cmV0dXJuIGU9Zyh7eDphLHk6Yix3OmUudyxoOmUuaH0pLG0uaW5saW5lX3Rvb2xiYXJfcG9zaXRpb25faGFuZGxlciYmKGU9bS5pbmxpbmVfdG9vbGJhcl9wb3NpdGlvbl9oYW5kbGVyKHtlbGVtZW50UmVjdDpnKGMpLGNvbnRlbnRBcmVhUmVjdDpnKGQpLHBhbmVsUmVjdDplfSkpLGV9ZnVuY3Rpb24gaShhLGIpe2EubW92ZVRvKGIubGVmdCxiLnRvcCl9ZnVuY3Rpb24gaihiKXt2YXIgYyxnLGosayxsLG0sbjtpZighYS5yZW1vdmVkKXtpZighYnx8IWIudG9vbGJhci5wYW5lbClyZXR1cm4gdm9pZCBlKCk7bj1bImJjLXRjIiwidGMtYmMiLCJ0bC1ibCIsImJsLXRsIiwidHItYnIiLCJici10ciJdLGw9Yi50b29sYmFyLnBhbmVsLGwuc2hvdygpLGo9ZChiLmVsZW1lbnQpLGc9dGlueW1jZS5ET00uZ2V0UmVjdChsLmdldEVsKCkpLGs9dGlueW1jZS5ET00uZ2V0UmVjdChhLmdldENvbnRlbnRBcmVhQ29udGFpbmVyKCl8fGEuZ2V0Qm9keSgpKSxqLnc9Yi5lbGVtZW50LmNsaWVudFdpZHRoLGouaD1iLmVsZW1lbnQuY2xpZW50SGVpZ2h0LGEuaW5saW5lfHwoay53PWEuZ2V0RG9jKCkuZG9jdW1lbnRFbGVtZW50Lm9mZnNldFdpZHRoKSxhLnNlbGVjdGlvbi5jb250cm9sU2VsZWN0aW9uLmlzUmVzaXphYmxlKGIuZWxlbWVudCkmJihqPXEuaW5mbGF0ZShqLDAsOCkpLGM9cS5maW5kQmVzdFJlbGF0aXZlUG9zaXRpb24oZyxqLGssbiksaj1xLmNsYW1wKGosayksYz8obT1xLnJlbGF0aXZlUG9zaXRpb24oZyxqLGMpLGkobCxoKG0ueCxtLnksaixrLGcpKSk6KGsuaCs9NDAsaj1xLmludGVyc2VjdChrLGopLGo/KGM9cS5maW5kQmVzdFJlbGF0aXZlUG9zaXRpb24oZyxqLGssWyJiYy10YyIsImJsLXRsIiwiYnItdHIiXSksYz8obT1xLnJlbGF0aXZlUG9zaXRpb24oZyxqLGMpLGkobCxoKG0ueCxtLnksaixrLGcpKSk6aShsLGgoai54LGoueSxqLGssZykpKTpsLmhpZGUoKSksZihsLGMsZnVuY3Rpb24oYSxiKXtyZXR1cm4oIWp8fGoudz40MCkmJmE9PT1ifSl9fWZ1bmN0aW9uIGsoKXtmdW5jdGlvbiBiKCl7YS5zZWxlY3Rpb24mJmoocyhhLnNlbGVjdGlvbi5nZXROb2RlKCkpKX10aW55bWNlLnV0aWwuRGVsYXkucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWZ1bmN0aW9uIGwoKXt0fHwodD1hLnNlbGVjdGlvbi5nZXRTY3JvbGxDb250YWluZXIoKXx8YS5nZXRXaW4oKSx0aW55bWNlLiQodCkub24oInNjcm9sbCIsayksYS5vbigicmVtb3ZlIixmdW5jdGlvbigpe3RpbnltY2UuJCh0KS5vZmYoInNjcm9sbCIpfSkpfWZ1bmN0aW9uIHAoYyl7dmFyIGQ7cmV0dXJuIGMudG9vbGJhci5wYW5lbD8oYy50b29sYmFyLnBhbmVsLnNob3coKSx2b2lkIGooYykpOihsKCksZD1uLmNyZWF0ZSh7dHlwZToiZmxvYXRwYW5lbCIscm9sZToiZGlhbG9nIixjbGFzc2VzOiJ0aW55bWNlIHRpbnltY2UtaW5saW5lIGFycm93IixhcmlhTGFiZWw6IklubGluZSB0b29sYmFyIixsYXlvdXQ6ImZsZXgiLGRpcmVjdGlvbjoiY29sdW1uIixhbGlnbjoic3RyZXRjaCIsYXV0b2hpZGU6ITEsYXV0b2ZpeDohMCxmaXhlZDohMCxib3JkZXI6MSxpdGVtczpiKGMudG9vbGJhci5pdGVtcyksb25jYW5jZWw6ZnVuY3Rpb24oKXthLmZvY3VzKCl9fSksYy50b29sYmFyLnBhbmVsPWQsZC5yZW5kZXJUbyhkb2N1bWVudC5ib2R5KS5yZWZsb3coKSx2b2lkIGooYykpfWZ1bmN0aW9uIHIoKXt0aW55bWNlLmVhY2goYygpLGZ1bmN0aW9uKGEpe2EucGFuZWwmJmEucGFuZWwuaGlkZSgpfSl9ZnVuY3Rpb24gcyhiKXt2YXIgZCxlLGYsZz1jKCk7Zm9yKGY9YS4kKGIpLnBhcmVudHMoKS5hZGQoYiksZD1mLmxlbmd0aC0xO2Q+PTA7ZC0tKWZvcihlPWcubGVuZ3RoLTE7ZT49MDtlLS0paWYoZ1tlXS5wcmVkaWNhdGUoZltkXSkpcmV0dXJue3Rvb2xiYXI6Z1tlXSxlbGVtZW50OmZbZF19O3JldHVybiBudWxsfXZhciB0O2Eub24oImNsaWNrIGtleXVwIHNldENvbnRlbnQiLGZ1bmN0aW9uKGIpeygic2V0Y29udGVudCIhPWIudHlwZXx8Yi5zZWxlY3Rpb24pJiZ0aW55bWNlLnV0aWwuRGVsYXkuc2V0RWRpdG9yVGltZW91dChhLGZ1bmN0aW9uKCl7dmFyIGI7Yj1zKGEuc2VsZWN0aW9uLmdldE5vZGUoKSksYj8ocigpLHAoYikpOnIoKX0pfSksYS5vbigiYmx1ciBoaWRlIixyKSxhLm9uKCJPYmplY3RSZXNpemVTdGFydCIsZnVuY3Rpb24oKXt2YXIgYj1zKGEuc2VsZWN0aW9uLmdldE5vZGUoKSk7YiYmYi50b29sYmFyLnBhbmVsJiZiLnRvb2xiYXIucGFuZWwuaGlkZSgpfSksYS5vbigibm9kZUNoYW5nZSBSZXNpemVFZGl0b3IgUmVzaXplV2luZG93IixrKSxhLm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7dGlueW1jZS5lYWNoKGMoKSxmdW5jdGlvbihhKXthLnBhbmVsJiZhLnBhbmVsLnJlbW92ZSgpfSksYS5jb250ZXh0VG9vbGJhcnM9e319KSxhLnNob3J0Y3V0cy5hZGQoImN0cmwrc2hpZnQrZSA+IGN0cmwrc2hpZnQrcCIsIiIsZnVuY3Rpb24oKXt2YXIgYj1zKGEuc2VsZWN0aW9uLmdldE5vZGUoKSk7YiYmYi50b29sYmFyLnBhbmVsJiZiLnRvb2xiYXIucGFuZWwuaXRlbXMoKVswXS5mb2N1cygpfSl9ZnVuY3Rpb24gaShhKXtyZXR1cm4gZnVuY3Rpb24oKXthLmluaXRpYWxpemVkP2EuZmlyZSgiU2tpbkxvYWRlZCIpOmEub24oImluaXQiLGZ1bmN0aW9uKCl7YS5maXJlKCJTa2luTG9hZGVkIil9KX19ZnVuY3Rpb24gaihiKXtmdW5jdGlvbiBmKCl7aWYobyYmby5tb3ZlUmVsJiZvLnZpc2libGUoKSYmIW8uX2ZpeGVkKXt2YXIgYj1hLnNlbGVjdGlvbi5nZXRTY3JvbGxDb250YWluZXIoKSxjPWEuZ2V0Qm9keSgpLGQ9MCxlPTA7aWYoYil7dmFyIGY9cC5nZXRQb3MoYyksZz1wLmdldFBvcyhiKTtkPU1hdGgubWF4KDAsZy54LWYueCksZT1NYXRoLm1heCgwLGcueS1mLnkpfW8uZml4ZWQoITEpLm1vdmVSZWwoYyxhLnJ0bD9bInRyLWJyIiwiYnItdHIiXTpbInRsLWJsIiwiYmwtdGwiLCJ0ci1iciJdKS5tb3ZlQnkoZCxlKX19ZnVuY3Rpb24gZygpe28mJihvLnNob3coKSxmKCkscC5hZGRDbGFzcyhhLmdldEJvZHkoKSwibWNlLWVkaXQtZm9jdXMiKSl9ZnVuY3Rpb24gaigpe28mJihvLmhpZGUoKSxyLmhpZGVBbGwoKSxwLnJlbW92ZUNsYXNzKGEuZ2V0Qm9keSgpLCJtY2UtZWRpdC1mb2N1cyIpKX1mdW5jdGlvbiBrKCl7cmV0dXJuIG8/dm9pZChvLnZpc2libGUoKXx8ZygpKToobz1sLnBhbmVsPW4uY3JlYXRlKHt0eXBlOnE/InBhbmVsIjoiZmxvYXRwYW5lbCIscm9sZToiYXBwbGljYXRpb24iLGNsYXNzZXM6InRpbnltY2UgdGlueW1jZS1pbmxpbmUiLGxheW91dDoiZmxleCIsZGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduOiJzdHJldGNoIixhdXRvaGlkZTohMSxhdXRvZml4OiEwLGZpeGVkOiEhcSxib3JkZXI6MSxpdGVtczpbbS5tZW51YmFyPT09ITE/bnVsbDp7dHlwZToibWVudWJhciIsYm9yZGVyOiIwIDAgMSAwIixpdGVtczpkKCl9LGMobS50b29sYmFyX2l0ZW1zX3NpemUpXX0pLGEuZmlyZSgiQmVmb3JlUmVuZGVyVUkiKSxvLnJlbmRlclRvKHF8fGRvY3VtZW50LmJvZHkpLnJlZmxvdygpLGUobyksZygpLGgoKSxhLm9uKCJub2RlQ2hhbmdlIixmKSxhLm9uKCJhY3RpdmF0ZSIsZyksYS5vbigiZGVhY3RpdmF0ZSIsaiksdm9pZCBhLm5vZGVDaGFuZ2VkKCkpfXZhciBvLHE7cmV0dXJuIG0uZml4ZWRfdG9vbGJhcl9jb250YWluZXImJihxPXAuc2VsZWN0KG0uZml4ZWRfdG9vbGJhcl9jb250YWluZXIpWzBdKSxtLmNvbnRlbnRfZWRpdGFibGU9ITAsYS5vbigiZm9jdXMiLGZ1bmN0aW9uKCl7Yi5za2luVWlDc3M/dGlueW1jZS5ET00uc3R5bGVTaGVldExvYWRlci5sb2FkKGIuc2tpblVpQ3NzLGssayk6aygpfSksYS5vbigiYmx1ciBoaWRlIixqKSxhLm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7byYmKG8ucmVtb3ZlKCksbz1udWxsKX0pLGIuc2tpblVpQ3NzJiZ0aW55bWNlLkRPTS5zdHlsZVNoZWV0TG9hZGVyLmxvYWQoYi5za2luVWlDc3MsaShhKSkse319ZnVuY3Rpb24gayhiKXtmdW5jdGlvbiBnKCl7cmV0dXJuIGZ1bmN0aW9uKGEpeyJyZWFkb25seSI9PWEubW9kZT9qLmZpbmQoIioiKS5kaXNhYmxlZCghMCk6ai5maW5kKCIqIikuZGlzYWJsZWQoITEpfX12YXIgaixrLG87cmV0dXJuIGIuc2tpblVpQ3NzJiZ0aW55bWNlLkRPTS5zdHlsZVNoZWV0TG9hZGVyLmxvYWQoYi5za2luVWlDc3MsaShhKSksaj1sLnBhbmVsPW4uY3JlYXRlKHt0eXBlOiJwYW5lbCIscm9sZToiYXBwbGljYXRpb24iLGNsYXNzZXM6InRpbnltY2UiLHN0eWxlOiJ2aXNpYmlsaXR5OiBoaWRkZW4iLGxheW91dDoic3RhY2siLGJvcmRlcjoxLGl0ZW1zOlttLm1lbnViYXI9PT0hMT9udWxsOnt0eXBlOiJtZW51YmFyIixib3JkZXI6IjAgMCAxIDAiLGl0ZW1zOmQoKX0sYyhtLnRvb2xiYXJfaXRlbXNfc2l6ZSkse3R5cGU6InBhbmVsIixuYW1lOiJpZnJhbWUiLGxheW91dDoic3RhY2siLGNsYXNzZXM6ImVkaXQtYXJlYSIsaHRtbDoiIixib3JkZXI6IjEgMCAwIDAifV19KSxtLnJlc2l6ZSE9PSExJiYoaz17dHlwZToicmVzaXplaGFuZGxlIixkaXJlY3Rpb246bS5yZXNpemUsb25SZXNpemVTdGFydDpmdW5jdGlvbigpe3ZhciBiPWEuZ2V0Q29udGVudEFyZWFDb250YWluZXIoKS5maXJzdENoaWxkO289e3dpZHRoOmIuY2xpZW50V2lkdGgsaGVpZ2h0OmIuY2xpZW50SGVpZ2h0fX0sb25SZXNpemU6ZnVuY3Rpb24oYSl7ImJvdGgiPT1tLnJlc2l6ZT9mKG8ud2lkdGgrYS5kZWx0YVgsby5oZWlnaHQrYS5kZWx0YVkpOmYobnVsbCxvLmhlaWdodCthLmRlbHRhWSl9fSksbS5zdGF0dXNiYXIhPT0hMSYmai5hZGQoe3R5cGU6InBhbmVsIixuYW1lOiJzdGF0dXNiYXIiLGNsYXNzZXM6InN0YXR1c2JhciIsbGF5b3V0OiJmbG93Iixib3JkZXI6IjEgMCAwIDAiLGFyaWFSb290OiEwLGl0ZW1zOlt7dHlwZToiZWxlbWVudHBhdGgifSxrXX0pLGEuZmlyZSgiQmVmb3JlUmVuZGVyVUkiKSxhLm9uKCJTd2l0Y2hNb2RlIixnKCkpLGoucmVuZGVyQmVmb3JlKGIudGFyZ2V0Tm9kZSkucmVmbG93KCksbS5yZWFkb25seSYmYS5zZXRNb2RlKCJyZWFkb25seSIpLG0ud2lkdGgmJnRpbnltY2UuRE9NLnNldFN0eWxlKGouZ2V0RWwoKSwid2lkdGgiLG0ud2lkdGgpLGEub24oInJlbW92ZSIsZnVuY3Rpb24oKXtqLnJlbW92ZSgpLGo9bnVsbH0pLGUoaiksaCgpLHtpZnJhbWVDb250YWluZXI6ai5maW5kKCIjaWZyYW1lIilbMF0uZ2V0RWwoKSxlZGl0b3JDb250YWluZXI6ai5nZXRFbCgpfX12YXIgbD10aGlzLG09YS5zZXR0aW5ncyxuPXRpbnltY2UudWkuRmFjdG9yeSxvPXRpbnltY2UuZWFjaCxwPXRpbnltY2UuRE9NLHE9dGlueW1jZS5nZW9tLlJlY3Qscj10aW55bWNlLnVpLkZsb2F0UGFuZWwscz17ZmlsZTp7dGl0bGU6IkZpbGUiLGl0ZW1zOiJuZXdkb2N1bWVudCJ9LGVkaXQ6e3RpdGxlOiJFZGl0IixpdGVtczoidW5kbyByZWRvIHwgY3V0IGNvcHkgcGFzdGUgcGFzdGV0ZXh0IHwgc2VsZWN0YWxsIn0saW5zZXJ0Ont0aXRsZToiSW5zZXJ0IixpdGVtczoifCJ9LHZpZXc6e3RpdGxlOiJWaWV3IixpdGVtczoidmlzdWFsYWlkIHwifSxmb3JtYXQ6e3RpdGxlOiJGb3JtYXQiLGl0ZW1zOiJib2xkIGl0YWxpYyB1bmRlcmxpbmUgc3RyaWtldGhyb3VnaCBzdXBlcnNjcmlwdCBzdWJzY3JpcHQgfCBmb3JtYXRzIHwgcmVtb3ZlZm9ybWF0In0sdGFibGU6e3RpdGxlOiJUYWJsZSJ9LHRvb2xzOnt0aXRsZToiVG9vbHMifX0sdD0idW5kbyByZWRvIHwgc3R5bGVzZWxlY3QgfCBib2xkIGl0YWxpYyB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IGFsaWduanVzdGlmeSB8IGJ1bGxpc3QgbnVtbGlzdCBvdXRkZW50IGluZGVudCB8IGxpbmsgaW1hZ2UiO2wucmVuZGVyVUk9ZnVuY3Rpb24oYil7dmFyIGM9bS5za2luIT09ITE/bS5za2lufHwibGlnaHRncmF5IjohMTtpZihjKXt2YXIgZD1tLnNraW5fdXJsO2Q9ZD9hLmRvY3VtZW50QmFzZVVSSS50b0Fic29sdXRlKGQpOnRpbnltY2UuYmFzZVVSTCsiL3NraW5zLyIrYyx0aW55bWNlLkVudi5kb2N1bWVudE1vZGU8PTc/Yi5za2luVWlDc3M9ZCsiL3NraW4uaWU3Lm1pbi5jc3MiOmIuc2tpblVpQ3NzPWQrIi9za2luLm1pbi5jc3MiLGEuY29udGVudENTUy5wdXNoKGQrIi9jb250ZW50IisoYS5pbmxpbmU/Ii5pbmxpbmUiOiIiKSsiLm1pbi5jc3MiKX1yZXR1cm4gYS5vbigiUHJvZ3Jlc3NTdGF0ZSIsZnVuY3Rpb24oYSl7bC50aHJvYmJlcj1sLnRocm9iYmVyfHxuZXcgdGlueW1jZS51aS5UaHJvYmJlcihsLnBhbmVsLmdldEVsKCJib2R5IikpLGEuc3RhdGU/bC50aHJvYmJlci5zaG93KGEudGltZSk6bC50aHJvYmJlci5oaWRlKCl9KSxtLmlubGluZT9qKGIpOmsoYil9LGwucmVzaXplVG89ZixsLnJlc2l6ZUJ5PWd9KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce/tinymce.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gNC4zLjExICgyMDE2LTA0LTI1KQohZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2Zvcih2YXIgbixyPVtdLGk9MDtpPGUubGVuZ3RoOysraSl7aWYobj1zW2VbaV1dfHxvKGVbaV0pLCFuKXRocm93Im1vZHVsZSBkZWZpbml0aW9uIGRlcGVuZGVjeSBub3QgZm91bmQ6ICIrZVtpXTtyLnB1c2gobil9dC5hcHBseShudWxsLHIpfWZ1bmN0aW9uIHIoZSxyLGkpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyJpbnZhbGlkIG1vZHVsZSBkZWZpbml0aW9uLCBtb2R1bGUgaWQgbXVzdCBiZSBkZWZpbmVkIGFuZCBiZSBhIHN0cmluZyI7aWYocj09PXQpdGhyb3ciaW52YWxpZCBtb2R1bGUgZGVmaW5pdGlvbiwgZGVwZW5kZW5jaWVzIG11c3QgYmUgc3BlY2lmaWVkIjtpZihpPT09dCl0aHJvdyJpbnZhbGlkIG1vZHVsZSBkZWZpbml0aW9uLCBkZWZpbml0aW9uIGZ1bmN0aW9uIG11c3QgYmUgc3BlY2lmaWVkIjtuKHIsZnVuY3Rpb24oKXtzW2VdPWkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSl9ZnVuY3Rpb24gaShlKXtyZXR1cm4hIXNbZV19ZnVuY3Rpb24gbyh0KXtmb3IodmFyIG49ZSxyPXQuc3BsaXQoL1suXC9dLyksaT0wO2k8ci5sZW5ndGg7KytpKXtpZighbltyW2ldXSlyZXR1cm47bj1uW3JbaV1dfXJldHVybiBufWZ1bmN0aW9uIGEobil7dmFyIHIsaSxvLGEsbDtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXtpPWUsbz1uW3JdLGE9by5zcGxpdCgvWy5cL10vKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoLTE7KytjKWlbYVtjXV09PT10JiYoaVthW2NdXT17fSksaT1pW2FbY11dO2lbYVthLmxlbmd0aC0xXV09c1tvXX1pZihlLkFNRExDX1RFU1RTKXtsPWUucHJpdmF0ZU1vZHVsZXN8fHt9O2ZvcihvIGluIHMpbFtvXT1zW29dO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspZGVsZXRlIGxbbltyXV07ZS5wcml2YXRlTW9kdWxlcz1sfX12YXIgcz17fSxsPSJ0aW55bWNlL2dlb20vUmVjdCIsYz0idGlueW1jZS91dGlsL1Byb21pc2UiLHU9InRpbnltY2UvdXRpbC9EZWxheSIsZD0idGlueW1jZS9kb20vRXZlbnRVdGlscyIsZj0idGlueW1jZS9kb20vU2l6emxlIixoPSJ0aW55bWNlL0VudiIscD0idGlueW1jZS91dGlsL0FyciIsbT0idGlueW1jZS91dGlsL1Rvb2xzIixnPSJ0aW55bWNlL2RvbS9Eb21RdWVyeSIsdj0idGlueW1jZS9odG1sL1N0eWxlcyIseT0idGlueW1jZS9kb20vVHJlZVdhbGtlciIsYj0idGlueW1jZS9kb20vUmFuZ2UiLEM9InRpbnltY2UvaHRtbC9FbnRpdGllcyIseD0idGlueW1jZS9kb20vU3R5bGVTaGVldExvYWRlciIsdz0idGlueW1jZS9kb20vRE9NVXRpbHMiLE49InRpbnltY2UvZG9tL1NjcmlwdExvYWRlciIsRT0idGlueW1jZS9BZGRPbk1hbmFnZXIiLF89InRpbnltY2UvZG9tL05vZGVUeXBlIixTPSJ0aW55bWNlL3RleHQvWndzcCIsaz0idGlueW1jZS9jYXJldC9DYXJldENvbnRhaW5lciIsVD0idGlueW1jZS9kb20vUmFuZ2VVdGlscyIsUj0idGlueW1jZS9Ob2RlQ2hhbmdlIixBPSJ0aW55bWNlL2h0bWwvTm9kZSIsQj0idGlueW1jZS9odG1sL1NjaGVtYSIsRD0idGlueW1jZS9odG1sL1NheFBhcnNlciIsTT0idGlueW1jZS9odG1sL0RvbVBhcnNlciIsTD0idGlueW1jZS9odG1sL1dyaXRlciIsUD0idGlueW1jZS9odG1sL1NlcmlhbGl6ZXIiLEg9InRpbnltY2UvZG9tL1NlcmlhbGl6ZXIiLE89InRpbnltY2UvZG9tL1RyaWRlbnRTZWxlY3Rpb24iLEk9InRpbnltY2UvdXRpbC9WSyIsRj0idGlueW1jZS9kb20vQ29udHJvbFNlbGVjdGlvbiIsej0idGlueW1jZS91dGlsL0Z1biIsVz0idGlueW1jZS9jYXJldC9DYXJldENhbmRpZGF0ZSIsVj0idGlueW1jZS9nZW9tL0NsaWVudFJlY3QiLFU9InRpbnltY2UvdGV4dC9FeHRlbmRpbmdDaGFyIiwkPSJ0aW55bWNlL2NhcmV0L0NhcmV0UG9zaXRpb24iLHE9InRpbnltY2UvY2FyZXQvQ2FyZXRCb29rbWFyayIsaj0idGlueW1jZS9kb20vQm9va21hcmtNYW5hZ2VyIixZPSJ0aW55bWNlL2RvbS9TZWxlY3Rpb24iLFg9InRpbnltY2UvZG9tL0VsZW1lbnRVdGlscyIsSz0idGlueW1jZS9mbXQvUHJldmlldyIsRz0idGlueW1jZS9mbXQvSG9va3MiLEo9InRpbnltY2UvRm9ybWF0dGVyIixRPSJ0aW55bWNlL1VuZG9NYW5hZ2VyIixaPSJ0aW55bWNlL0VudGVyS2V5IixlZT0idGlueW1jZS9Gb3JjZUJsb2NrcyIsdGU9InRpbnltY2UvY2FyZXQvQ2FyZXRVdGlscyIsbmU9InRpbnltY2UvY2FyZXQvQ2FyZXRXYWxrZXIiLHJlPSJ0aW55bWNlL0VkaXRvckNvbW1hbmRzIixpZT0idGlueW1jZS91dGlsL1VSSSIsb2U9InRpbnltY2UvdXRpbC9DbGFzcyIsYWU9InRpbnltY2UvdXRpbC9FdmVudERpc3BhdGNoZXIiLHNlPSJ0aW55bWNlL2RhdGEvQmluZGluZyIsbGU9InRpbnltY2UvdXRpbC9PYnNlcnZhYmxlIixjZT0idGlueW1jZS9kYXRhL09ic2VydmFibGVPYmplY3QiLHVlPSJ0aW55bWNlL3VpL1NlbGVjdG9yIixkZT0idGlueW1jZS91aS9Db2xsZWN0aW9uIixmZT0idGlueW1jZS91aS9Eb21VdGlscyIsaGU9InRpbnltY2UvdWkvQm94VXRpbHMiLHBlPSJ0aW55bWNlL3VpL0NsYXNzTGlzdCIsbWU9InRpbnltY2UvdWkvUmVmbG93UXVldWUiLGdlPSJ0aW55bWNlL3VpL0NvbnRyb2wiLHZlPSJ0aW55bWNlL3VpL0ZhY3RvcnkiLHllPSJ0aW55bWNlL3VpL0tleWJvYXJkTmF2aWdhdGlvbiIsYmU9InRpbnltY2UvdWkvQ29udGFpbmVyIixDZT0idGlueW1jZS91aS9EcmFnSGVscGVyIix4ZT0idGlueW1jZS91aS9TY3JvbGxhYmxlIix3ZT0idGlueW1jZS91aS9QYW5lbCIsTmU9InRpbnltY2UvdWkvTW92YWJsZSIsRWU9InRpbnltY2UvdWkvUmVzaXphYmxlIixfZT0idGlueW1jZS91aS9GbG9hdFBhbmVsIixTZT0idGlueW1jZS91aS9XaW5kb3ciLGtlPSJ0aW55bWNlL3VpL01lc3NhZ2VCb3giLFRlPSJ0aW55bWNlL1dpbmRvd01hbmFnZXIiLFJlPSJ0aW55bWNlL3VpL1Rvb2x0aXAiLEFlPSJ0aW55bWNlL3VpL1dpZGdldCIsQmU9InRpbnltY2UvdWkvUHJvZ3Jlc3MiLERlPSJ0aW55bWNlL3VpL05vdGlmaWNhdGlvbiIsTWU9InRpbnltY2UvTm90aWZpY2F0aW9uTWFuYWdlciIsTGU9InRpbnltY2UvZG9tL05vZGVQYXRoIixQZT0idGlueW1jZS91dGlsL1F1aXJrcyIsSGU9InRpbnltY2UvRWRpdG9yT2JzZXJ2YWJsZSIsT2U9InRpbnltY2UvTW9kZSIsSWU9InRpbnltY2UvU2hvcnRjdXRzIixGZT0idGlueW1jZS9maWxlL1VwbG9hZGVyIix6ZT0idGlueW1jZS9maWxlL0NvbnZlcnNpb25zIixXZT0idGlueW1jZS9maWxlL0ltYWdlU2Nhbm5lciIsVmU9InRpbnltY2UvZmlsZS9CbG9iQ2FjaGUiLFVlPSJ0aW55bWNlL0VkaXRvclVwbG9hZCIsJGU9InRpbnltY2UvY2FyZXQvRmFrZUNhcmV0IixxZT0idGlueW1jZS9kb20vRGltZW5zaW9ucyIsamU9InRpbnltY2UvY2FyZXQvTGluZVdhbGtlciIsWWU9InRpbnltY2UvY2FyZXQvTGluZVV0aWxzIixYZT0idGlueW1jZS9EcmFnRHJvcE92ZXJyaWRlcyIsS2U9InRpbnltY2UvU2VsZWN0aW9uT3ZlcnJpZGVzIixHZT0idGlueW1jZS9FZGl0b3IiLEplPSJ0aW55bWNlL3V0aWwvSTE4biIsUWU9InRpbnltY2UvRm9jdXNNYW5hZ2VyIixaZT0idGlueW1jZS9FZGl0b3JNYW5hZ2VyIixldD0idGlueW1jZS9MZWdhY3lJbnB1dCIsdHQ9InRpbnltY2UvdXRpbC9YSFIiLG50PSJ0aW55bWNlL3V0aWwvSlNPTiIscnQ9InRpbnltY2UvdXRpbC9KU09OUmVxdWVzdCIsaXQ9InRpbnltY2UvdXRpbC9KU09OUCIsb3Q9InRpbnltY2UvdXRpbC9Mb2NhbFN0b3JhZ2UiLGF0PSJ0aW55bWNlL0NvbXBhdCIsc3Q9InRpbnltY2UvdWkvTGF5b3V0IixsdD0idGlueW1jZS91aS9BYnNvbHV0ZUxheW91dCIsY3Q9InRpbnltY2UvdWkvQnV0dG9uIix1dD0idGlueW1jZS91aS9CdXR0b25Hcm91cCIsZHQ9InRpbnltY2UvdWkvQ2hlY2tib3giLGZ0PSJ0aW55bWNlL3VpL0NvbWJvQm94IixodD0idGlueW1jZS91aS9Db2xvckJveCIscHQ9InRpbnltY2UvdWkvUGFuZWxCdXR0b24iLG10PSJ0aW55bWNlL3VpL0NvbG9yQnV0dG9uIixndD0idGlueW1jZS91dGlsL0NvbG9yIix2dD0idGlueW1jZS91aS9Db2xvclBpY2tlciIseXQ9InRpbnltY2UvdWkvUGF0aCIsYnQ9InRpbnltY2UvdWkvRWxlbWVudFBhdGgiLEN0PSJ0aW55bWNlL3VpL0Zvcm1JdGVtIix4dD0idGlueW1jZS91aS9Gb3JtIix3dD0idGlueW1jZS91aS9GaWVsZFNldCIsTnQ9InRpbnltY2UvdWkvRmlsZVBpY2tlciIsRXQ9InRpbnltY2UvdWkvRml0TGF5b3V0IixfdD0idGlueW1jZS91aS9GbGV4TGF5b3V0IixTdD0idGlueW1jZS91aS9GbG93TGF5b3V0IixrdD0idGlueW1jZS91aS9Gb3JtYXRDb250cm9scyIsVHQ9InRpbnltY2UvdWkvR3JpZExheW91dCIsUnQ9InRpbnltY2UvdWkvSWZyYW1lIixBdD0idGlueW1jZS91aS9JbmZvQm94IixCdD0idGlueW1jZS91aS9MYWJlbCIsRHQ9InRpbnltY2UvdWkvVG9vbGJhciIsTXQ9InRpbnltY2UvdWkvTWVudUJhciIsTHQ9InRpbnltY2UvdWkvTWVudUJ1dHRvbiIsUHQ9InRpbnltY2UvdWkvTWVudUl0ZW0iLEh0PSJ0aW55bWNlL3VpL1Rocm9iYmVyIixPdD0idGlueW1jZS91aS9NZW51IixJdD0idGlueW1jZS91aS9MaXN0Qm94IixGdD0idGlueW1jZS91aS9SYWRpbyIsenQ9InRpbnltY2UvdWkvUmVzaXplSGFuZGxlIixXdD0idGlueW1jZS91aS9TZWxlY3RCb3giLFZ0PSJ0aW55bWNlL3VpL1NsaWRlciIsVXQ9InRpbnltY2UvdWkvU3BhY2VyIiwkdD0idGlueW1jZS91aS9TcGxpdEJ1dHRvbiIscXQ9InRpbnltY2UvdWkvU3RhY2tMYXlvdXQiLGp0PSJ0aW55bWNlL3VpL1RhYlBhbmVsIixZdD0idGlueW1jZS91aS9UZXh0Qm94IixYdD0idGlueW1jZS9SZWdpc3RlciI7cihsLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbil7dmFyIHIsaSxhLHMsbCx1O3JldHVybiByPXQueCxpPXQueSxhPWUudyxzPWUuaCxsPXQudyx1PXQuaCxuPShufHwiIikuc3BsaXQoIiIpLCJiIj09PW5bMF0mJihpKz11KSwiciI9PT1uWzFdJiYocis9bCksImMiPT09blswXSYmKGkrPWModS8yKSksImMiPT09blsxXSYmKHIrPWMobC8yKSksImIiPT09blszXSYmKGktPXMpLCJyIj09PW5bNF0mJihyLT1hKSwiYyI9PT1uWzNdJiYoaS09YyhzLzIpKSwiYyI9PT1uWzRdJiYoci09YyhhLzIpKSxvKHIsaSxhLHMpfWZ1bmN0aW9uIHQodCxuLHIsaSl7dmFyIG8sYTtmb3IoYT0wO2E8aS5sZW5ndGg7YSsrKWlmKG89ZSh0LG4saVthXSksby54Pj1yLngmJm8ueCtvLnc8PXIudytyLngmJm8ueT49ci55JiZvLnkrby5oPD1yLmgrci55KXJldHVybiBpW2FdO3JldHVybiBudWxsfWZ1bmN0aW9uIG4oZSx0LG4pe3JldHVybiBvKGUueC10LGUueS1uLGUudysyKnQsZS5oKzIqbil9ZnVuY3Rpb24gcihlLHQpe3ZhciBuLHIsaSxhO3JldHVybiBuPWwoZS54LHQueCkscj1sKGUueSx0LnkpLGk9cyhlLngrZS53LHQueCt0LncpLGE9cyhlLnkrZS5oLHQueSt0LmgpLDA+aS1ufHwwPmEtcj9udWxsOm8obixyLGktbixhLXIpfWZ1bmN0aW9uIGkoZSx0LG4pe3ZhciByLGksYSxzLGMsdSxkLGYsaCxwO3JldHVybiBjPWUueCx1PWUueSxkPWUueCtlLncsZj1lLnkrZS5oLGg9dC54K3QudyxwPXQueSt0Lmgscj1sKDAsdC54LWMpLGk9bCgwLHQueS11KSxhPWwoMCxkLWgpLHM9bCgwLGYtcCksYys9cix1Kz1pLG4mJihkKz1yLGYrPWksYy09YSx1LT1zKSxkLT1hLGYtPXMsbyhjLHUsZC1jLGYtdSl9ZnVuY3Rpb24gbyhlLHQsbixyKXtyZXR1cm57eDplLHk6dCx3Om4saDpyfX1mdW5jdGlvbiBhKGUpe3JldHVybiBvKGUubGVmdCxlLnRvcCxlLndpZHRoLGUuaGVpZ2h0KX12YXIgcz1NYXRoLm1pbixsPU1hdGgubWF4LGM9TWF0aC5yb3VuZDtyZXR1cm57aW5mbGF0ZTpuLHJlbGF0aXZlUG9zaXRpb246ZSxmaW5kQmVzdFJlbGF0aXZlUG9zaXRpb246dCxpbnRlcnNlY3Q6cixjbGFtcDppLGNyZWF0ZTpvLGZyb21DbGllbnRSZWN0OmF9fSkscihjLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3JldHVybiBmdW5jdGlvbigpe2UuYXBwbHkodCxhcmd1bWVudHMpfX1mdW5jdGlvbiB0KHQpe2lmKCJvYmplY3QiIT10eXBlb2YgdGhpcyl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXciKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJub3QgYSBmdW5jdGlvbiIpO3RoaXMuX3N0YXRlPW51bGwsdGhpcy5fdmFsdWU9bnVsbCx0aGlzLl9kZWZlcnJlZHM9W10scyh0LGUocix0aGlzKSxlKGksdGhpcykpfWZ1bmN0aW9uIG4oZSl7dmFyIHQ9dGhpcztyZXR1cm4gbnVsbD09PXRoaXMuX3N0YXRlP3ZvaWQgdGhpcy5fZGVmZXJyZWRzLnB1c2goZSk6dm9pZCBsKGZ1bmN0aW9uKCl7dmFyIG49dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbD09PW4pcmV0dXJuIHZvaWQodC5fc3RhdGU/ZS5yZXNvbHZlOmUucmVqZWN0KSh0Ll92YWx1ZSk7dmFyIHI7dHJ5e3I9bih0Ll92YWx1ZSl9Y2F0Y2goaSl7cmV0dXJuIHZvaWQgZS5yZWplY3QoaSl9ZS5yZXNvbHZlKHIpfSl9ZnVuY3Rpb24gcih0KXt0cnl7aWYodD09PXRoaXMpdGhyb3cgbmV3IFR5cGVFcnJvcigiQSBwcm9taXNlIGNhbm5vdCBiZSByZXNvbHZlZCB3aXRoIGl0c2VsZi4iKTtpZih0JiYoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCkpe3ZhciBuPXQudGhlbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gdm9pZCBzKGUobix0KSxlKHIsdGhpcyksZShpLHRoaXMpKX10aGlzLl9zdGF0ZT0hMCx0aGlzLl92YWx1ZT10LG8uY2FsbCh0aGlzKX1jYXRjaChhKXtpLmNhbGwodGhpcyxhKX19ZnVuY3Rpb24gaShlKXt0aGlzLl9zdGF0ZT0hMSx0aGlzLl92YWx1ZT1lLG8uY2FsbCh0aGlzKX1mdW5jdGlvbiBvKCl7Zm9yKHZhciBlPTAsdD10aGlzLl9kZWZlcnJlZHMubGVuZ3RoO3Q+ZTtlKyspbi5jYWxsKHRoaXMsdGhpcy5fZGVmZXJyZWRzW2VdKTt0aGlzLl9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiBhKGUsdCxuLHIpe3RoaXMub25GdWxmaWxsZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMub25SZWplY3RlZD0iZnVuY3Rpb24iPT10eXBlb2YgdD90Om51bGwsdGhpcy5yZXNvbHZlPW4sdGhpcy5yZWplY3Q9cn1mdW5jdGlvbiBzKGUsdCxuKXt2YXIgcj0hMTt0cnl7ZShmdW5jdGlvbihlKXtyfHwocj0hMCx0KGUpKX0sZnVuY3Rpb24oZSl7cnx8KHI9ITAsbihlKSl9KX1jYXRjaChpKXtpZihyKXJldHVybjtyPSEwLG4oaSl9fWlmKHdpbmRvdy5Qcm9taXNlKXJldHVybiB3aW5kb3cuUHJvbWlzZTt2YXIgbD10LmltbWVkaWF0ZUZufHwiZnVuY3Rpb24iPT10eXBlb2Ygc2V0SW1tZWRpYXRlJiZzZXRJbW1lZGlhdGV8fGZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoZSwxKX0sYz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfTtyZXR1cm4gdC5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudGhlbihudWxsLGUpfSx0LnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUscil7dmFyIGk9dGhpcztyZXR1cm4gbmV3IHQoZnVuY3Rpb24odCxvKXtuLmNhbGwoaSxuZXcgYShlLHIsdCxvKSl9KX0sdC5hbGw9ZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCgxPT09YXJndW1lbnRzLmxlbmd0aCYmYyhhcmd1bWVudHNbMF0pP2FyZ3VtZW50c1swXTphcmd1bWVudHMpO3JldHVybiBuZXcgdChmdW5jdGlvbih0LG4pe2Z1bmN0aW9uIHIobyxhKXt0cnl7aWYoYSYmKCJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGEpKXt2YXIgcz1hLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKGEsZnVuY3Rpb24oZSl7cihvLGUpfSxuKX1lW29dPWEsMD09PS0taSYmdChlKX1jYXRjaChsKXtuKGwpfX1pZigwPT09ZS5sZW5ndGgpcmV0dXJuIHQoW10pO2Zvcih2YXIgaT1lLmxlbmd0aCxvPTA7bzxlLmxlbmd0aDtvKyspcihvLGVbb10pfSl9LHQucmVzb2x2ZT1mdW5jdGlvbihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLmNvbnN0cnVjdG9yPT09dD9lOm5ldyB0KGZ1bmN0aW9uKHQpe3QoZSl9KX0sdC5yZWplY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0KGZ1bmN0aW9uKHQsbil7bihlKX0pfSx0LnJhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0KGZ1bmN0aW9uKHQsbil7Zm9yKHZhciByPTAsaT1lLmxlbmd0aDtpPnI7cisrKWVbcl0udGhlbih0LG4pfSl9LHR9KSxyKHUsW2NdLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0KXtmdW5jdGlvbiBuKGUpe3dpbmRvdy5zZXRUaW1lb3V0KGUsMCl9dmFyIHIsaT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLG89WyJtcyIsIm1veiIsIndlYmtpdCJdO2ZvcihyPTA7cjxvLmxlbmd0aCYmIWk7cisrKWk9d2luZG93W29bcl0rIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdO2l8fChpPW4pLGkoZSx0KX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0JiYodD0wKSxzZXRUaW1lb3V0KGUsdCl9ZnVuY3Rpb24gcihlLHQpe3JldHVybiJudW1iZXIiIT10eXBlb2YgdCYmKHQ9MCksc2V0SW50ZXJ2YWwoZSx0KX1mdW5jdGlvbiBpKGUpe3JldHVybiBjbGVhclRpbWVvdXQoZSl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gY2xlYXJJbnRlcnZhbChlKX12YXIgYTtyZXR1cm57cmVxdWVzdEFuaW1hdGlvbkZyYW1lOmZ1bmN0aW9uKG4scil7cmV0dXJuIGE/dm9pZCBhLnRoZW4obik6dm9pZChhPW5ldyBlKGZ1bmN0aW9uKGUpe3J8fChyPWRvY3VtZW50LmJvZHkpLHQoZSxyKX0pLnRoZW4obikpfSxzZXRUaW1lb3V0Om4sc2V0SW50ZXJ2YWw6cixzZXRFZGl0b3JUaW1lb3V0OmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gbihmdW5jdGlvbigpe2UucmVtb3ZlZHx8dCgpfSxyKX0sc2V0RWRpdG9ySW50ZXJ2YWw6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpO3JldHVybiBpPXIoZnVuY3Rpb24oKXtlLnJlbW92ZWQ/Y2xlYXJJbnRlcnZhbChpKTp0KCl9LG4pfSx0aHJvdHRsZTpmdW5jdGlvbihlLHQpe3ZhciByLGk7cmV0dXJuIGk9ZnVuY3Rpb24oKXt2YXIgaT1hcmd1bWVudHM7Y2xlYXJUaW1lb3V0KHIpLHI9bihmdW5jdGlvbigpe2UuYXBwbHkodGhpcyxpKX0sdCl9LGkuc3RvcD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChyKX0saX0sY2xlYXJJbnRlcnZhbDpvLGNsZWFyVGltZW91dDppfX0pLHIoZCxbdV0sZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLHQsbixyKXtlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKHQsbixyfHwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK3Qsbil9ZnVuY3Rpb24gbihlLHQsbixyKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXI/ZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbixyfHwhMSk6ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK3Qsbil9ZnVuY3Rpb24gcihlLHQpe2Z1bmN0aW9uIG4oKXtyZXR1cm4hMX1mdW5jdGlvbiByKCl7cmV0dXJuITB9dmFyIGksbz10fHx7fSxhO2ZvcihpIGluIGUpbFtpXXx8KG9baV09ZVtpXSk7aWYoby50YXJnZXR8fChvLnRhcmdldD1vLnNyY0VsZW1lbnR8fGRvY3VtZW50KSxvLnBhdGgmJihvLnRhcmdldD1vLnBhdGhbMF18fG8udGFyZ2V0KSxvLmRlZXBQYXRoJiYoby50YXJnZXQ9by5kZWVwUGF0aFswXXx8by50YXJnZXQpLGUmJnMudGVzdChlLnR5cGUpJiZlLnBhZ2VYPT09YSYmZS5jbGllbnRYIT09YSl7dmFyIGM9by50YXJnZXQub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQsdT1jLmRvY3VtZW50RWxlbWVudCxkPWMuYm9keTtvLnBhZ2VYPWUuY2xpZW50WCsodSYmdS5zY3JvbGxMZWZ0fHxkJiZkLnNjcm9sbExlZnR8fDApLSh1JiZ1LmNsaWVudExlZnR8fGQmJmQuY2xpZW50TGVmdHx8MCksby5wYWdlWT1lLmNsaWVudFkrKHUmJnUuc2Nyb2xsVG9wfHxkJiZkLnNjcm9sbFRvcHx8MCktKHUmJnUuY2xpZW50VG9wfHxkJiZkLmNsaWVudFRvcHx8MCl9cmV0dXJuIG8ucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtvLmlzRGVmYXVsdFByZXZlbnRlZD1yLGUmJihlLnByZXZlbnREZWZhdWx0P2UucHJldmVudERlZmF1bHQoKTplLnJldHVyblZhbHVlPSExKX0sby5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtvLmlzUHJvcGFnYXRpb25TdG9wcGVkPXIsZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6ZS5jYW5jZWxCdWJibGU9ITApfSxvLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbj1mdW5jdGlvbigpe28uaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9cixvLnN0b3BQcm9wYWdhdGlvbigpfSxvLmlzRGVmYXVsdFByZXZlbnRlZHx8KG8uaXNEZWZhdWx0UHJldmVudGVkPW4sby5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1uLG8uaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9biksInVuZGVmaW5lZCI9PXR5cGVvZiBvLm1ldGFLZXkmJihvLm1ldGFLZXk9ITEpLG99ZnVuY3Rpb24gaShyLGksbyl7ZnVuY3Rpb24gYSgpe28uZG9tTG9hZGVkfHwoby5kb21Mb2FkZWQ9ITAsaSh1KSl9ZnVuY3Rpb24gcygpeygiY29tcGxldGUiPT09Yy5yZWFkeVN0YXRlfHwiaW50ZXJhY3RpdmUiPT09Yy5yZWFkeVN0YXRlJiZjLmJvZHkpJiYobihjLCJyZWFkeXN0YXRlY2hhbmdlIixzKSxhKCkpfWZ1bmN0aW9uIGwoKXt0cnl7Yy5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwoImxlZnQiKX1jYXRjaCh0KXtyZXR1cm4gdm9pZCBlLnNldFRpbWVvdXQobCl9YSgpfXZhciBjPXIuZG9jdW1lbnQsdT17dHlwZToicmVhZHkifTtyZXR1cm4gby5kb21Mb2FkZWQ/dm9pZCBpKHUpOihjLmFkZEV2ZW50TGlzdGVuZXI/ImNvbXBsZXRlIj09PWMucmVhZHlTdGF0ZT9hKCk6dChyLCJET01Db250ZW50TG9hZGVkIixhKToodChjLCJyZWFkeXN0YXRlY2hhbmdlIixzKSxjLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCYmci5zZWxmPT09ci50b3AmJmwoKSksdm9pZCB0KHIsImxvYWQiLGEpKX1mdW5jdGlvbiBvKCl7ZnVuY3Rpb24gZShlLHQpe3ZhciBuLHIsaSxvLGE9c1t0XTtpZihuPWEmJmFbZS50eXBlXSlmb3Iocj0wLGk9bi5sZW5ndGg7aT5yO3IrKylpZihvPW5bcl0sbyYmby5mdW5jLmNhbGwoby5zY29wZSxlKT09PSExJiZlLnByZXZlbnREZWZhdWx0KCksZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKXJldHVybn12YXIgbz10aGlzLHM9e30sbCxjLHUsZCxmO2M9YSsoK25ldyBEYXRlKS50b1N0cmluZygzMiksZD0ib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx1PSJvbmZvY3VzaW4iaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGY9e21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSxsPTEsby5kb21Mb2FkZWQ9ITEsby5ldmVudHM9cyxvLmJpbmQ9ZnVuY3Rpb24obixhLGgscCl7ZnVuY3Rpb24gbSh0KXtlKHIodHx8Ti5ldmVudCksZyl9dmFyIGcsdix5LGIsQyx4LHcsTj13aW5kb3c7aWYobiYmMyE9PW4ubm9kZVR5cGUmJjghPT1uLm5vZGVUeXBlKXtmb3IobltjXT9nPW5bY106KGc9bCsrLG5bY109ZyxzW2ddPXt9KSxwPXB8fG4sYT1hLnNwbGl0KCIgIikseT1hLmxlbmd0aDt5LS07KWI9YVt5XSx4PW0sQz13PSExLCJET01Db250ZW50TG9hZGVkIj09PWImJihiPSJyZWFkeSIpLG8uZG9tTG9hZGVkJiYicmVhZHkiPT09YiYmImNvbXBsZXRlIj09bi5yZWFkeVN0YXRlP2guY2FsbChwLHIoe3R5cGU6Yn0pKTooZHx8KEM9ZltiXSxDJiYoeD1mdW5jdGlvbih0KXt2YXIgbixpO2lmKG49dC5jdXJyZW50VGFyZ2V0LGk9dC5yZWxhdGVkVGFyZ2V0LGkmJm4uY29udGFpbnMpaT1uLmNvbnRhaW5zKGkpO2Vsc2UgZm9yKDtpJiZpIT09bjspaT1pLnBhcmVudE5vZGU7aXx8KHQ9cih0fHxOLmV2ZW50KSx0LnR5cGU9Im1vdXNlb3V0Ij09PXQudHlwZT8ibW91c2VsZWF2ZSI6Im1vdXNlZW50ZXIiLHQudGFyZ2V0PW4sZSh0LGcpKX0pKSx1fHwiZm9jdXNpbiIhPT1iJiYiZm9jdXNvdXQiIT09Ynx8KHc9ITAsQz0iZm9jdXNpbiI9PT1iPyJmb2N1cyI6ImJsdXIiLHg9ZnVuY3Rpb24odCl7dD1yKHR8fE4uZXZlbnQpLHQudHlwZT0iZm9jdXMiPT09dC50eXBlPyJmb2N1c2luIjoiZm9jdXNvdXQiLGUodCxnKX0pLHY9c1tnXVtiXSx2PyJyZWFkeSI9PT1iJiZvLmRvbUxvYWRlZD9oKHt0eXBlOmJ9KTp2LnB1c2goe2Z1bmM6aCxzY29wZTpwfSk6KHNbZ11bYl09dj1be2Z1bmM6aCxzY29wZTpwfV0sdi5mYWtlTmFtZT1DLHYuY2FwdHVyZT13LHYubmF0aXZlSGFuZGxlcj14LCJyZWFkeSI9PT1iP2kobix4LG8pOnQobixDfHxiLHgsdykpKTtyZXR1cm4gbj12PTAsaH19LG8udW5iaW5kPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaSxhLGwsdSxkLGY7aWYoIWV8fDM9PT1lLm5vZGVUeXBlfHw4PT09ZS5ub2RlVHlwZSlyZXR1cm4gbztpZihpPWVbY10pe2lmKGY9c1tpXSx0KXtmb3IodD10LnNwbGl0KCIgIiksbD10Lmxlbmd0aDtsLS07KWlmKGQ9dFtsXSxhPWZbZF0pe2lmKHIpZm9yKHU9YS5sZW5ndGg7dS0tOylpZihhW3VdLmZ1bmM9PT1yKXt2YXIgaD1hLm5hdGl2ZUhhbmRsZXIscD1hLmZha2VOYW1lLG09YS5jYXB0dXJlO2E9YS5zbGljZSgwLHUpLmNvbmNhdChhLnNsaWNlKHUrMSkpLGEubmF0aXZlSGFuZGxlcj1oLGEuZmFrZU5hbWU9cCxhLmNhcHR1cmU9bSxmW2RdPWF9ciYmMCE9PWEubGVuZ3RofHwoZGVsZXRlIGZbZF0sbihlLGEuZmFrZU5hbWV8fGQsYS5uYXRpdmVIYW5kbGVyLGEuY2FwdHVyZSkpfX1lbHNle2ZvcihkIGluIGYpYT1mW2RdLG4oZSxhLmZha2VOYW1lfHxkLGEubmF0aXZlSGFuZGxlcixhLmNhcHR1cmUpO2Y9e319Zm9yKGQgaW4gZilyZXR1cm4gbztkZWxldGUgc1tpXTt0cnl7ZGVsZXRlIGVbY119Y2F0Y2goZyl7ZVtjXT1udWxsfX1yZXR1cm4gb30sby5maXJlPWZ1bmN0aW9uKHQsbixpKXt2YXIgYTtpZighdHx8Mz09PXQubm9kZVR5cGV8fDg9PT10Lm5vZGVUeXBlKXJldHVybiBvO2k9cihudWxsLGkpLGkudHlwZT1uLGkudGFyZ2V0PXQ7ZG8gYT10W2NdLGEmJmUoaSxhKSx0PXQucGFyZW50Tm9kZXx8dC5vd25lckRvY3VtZW50fHx0LmRlZmF1bHRWaWV3fHx0LnBhcmVudFdpbmRvdzt3aGlsZSh0JiYhaS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKTtyZXR1cm4gb30sby5jbGVhbj1mdW5jdGlvbihlKXt2YXIgdCxuLHI9by51bmJpbmQ7aWYoIWV8fDM9PT1lLm5vZGVUeXBlfHw4PT09ZS5ub2RlVHlwZSlyZXR1cm4gbztpZihlW2NdJiZyKGUpLGUuZ2V0RWxlbWVudHNCeVRhZ05hbWV8fChlPWUuZG9jdW1lbnQpLGUmJmUuZ2V0RWxlbWVudHNCeVRhZ05hbWUpZm9yKHIoZSksbj1lLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIiksdD1uLmxlbmd0aDt0LS07KWU9blt0XSxlW2NdJiZyKGUpO3JldHVybiBvfSxvLmRlc3Ryb3k9ZnVuY3Rpb24oKXtzPXt9fSxvLmNhbmNlbD1mdW5jdGlvbihlKXtyZXR1cm4gZSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpKSwhMX19dmFyIGE9Im1jZS1kYXRhLSIscz0vXig/Om1vdXNlfGNvbnRleHRtZW51KXxjbGljay8sbD17a2V5TG9jYXRpb246MSxsYXllclg6MSxsYXllclk6MSxyZXR1cm5WYWx1ZToxLHdlYmtpdE1vdmVtZW50WDoxLHdlYmtpdE1vdmVtZW50WToxfTtyZXR1cm4gby5FdmVudD1uZXcgbyxvLkV2ZW50LmJpbmQod2luZG93LCJyZWFkeSIsZnVuY3Rpb24oKXt9KSxvfSkscihmLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbixyKXt2YXIgaSxvLGEscyxsLGMsZCxoLHAsbTtpZigodD90Lm93bmVyRG9jdW1lbnR8fHQ6eikhPT1EJiZCKHQpLHQ9dHx8RCxuPW58fFtdLCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG47aWYoMSE9PShzPXQubm9kZVR5cGUpJiY5IT09cylyZXR1cm5bXTtpZihMJiYhcil7aWYoaT12ZS5leGVjKGUpKWlmKGE9aVsxXSl7aWYoOT09PXMpe2lmKG89dC5nZXRFbGVtZW50QnlJZChhKSwhb3x8IW8ucGFyZW50Tm9kZSlyZXR1cm4gbjtpZihvLmlkPT09YSlyZXR1cm4gbi5wdXNoKG8pLG59ZWxzZSBpZih0Lm93bmVyRG9jdW1lbnQmJihvPXQub3duZXJEb2N1bWVudC5nZXRFbGVtZW50QnlJZChhKSkmJkkodCxvKSYmby5pZD09PWEpcmV0dXJuIG4ucHVzaChvKSxufWVsc2V7aWYoaVsyXSlyZXR1cm4gWi5hcHBseShuLHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSkpLG47aWYoKGE9aVszXSkmJnguZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gWi5hcHBseShuLHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKSksbn1pZih4LnFzYSYmKCFQfHwhUC50ZXN0KGUpKSl7aWYoaD1kPUYscD10LG09OT09PXMmJmUsMT09PXMmJiJvYmplY3QiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXtmb3IoYz1fKGUpLChkPXQuZ2V0QXR0cmlidXRlKCJpZCIpKT9oPWQucmVwbGFjZShiZSwiXFwkJiIpOnQuc2V0QXR0cmlidXRlKCJpZCIsaCksaD0iW2lkPSciK2grIiddICIsbD1jLmxlbmd0aDtsLS07KWNbbF09aCtmKGNbbF0pO3A9eWUudGVzdChlKSYmdSh0LnBhcmVudE5vZGUpfHx0LG09Yy5qb2luKCIsIil9aWYobSl0cnl7cmV0dXJuIFouYXBwbHkobixwLnF1ZXJ5U2VsZWN0b3JBbGwobSkpLG59Y2F0Y2goZyl7fWZpbmFsbHl7ZHx8dC5yZW1vdmVBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gayhlLnJlcGxhY2Uoc2UsIiQxIiksdCxuLHIpfWZ1bmN0aW9uIG4oKXtmdW5jdGlvbiBlKG4scil7cmV0dXJuIHQucHVzaChuKyIgIik+dy5jYWNoZUxlbmd0aCYmZGVsZXRlIGVbdC5zaGlmdCgpXSxlW24rIiAiXT1yfXZhciB0PVtdO3JldHVybiBlfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGVbRl09ITAsZX1mdW5jdGlvbiBpKGUpe3ZhciB0PUQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhZSh0KX1jYXRjaChuKXtyZXR1cm4hMX1maW5hbGx5e3QucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLHQ9bnVsbH19ZnVuY3Rpb24gbyhlLHQpe2Zvcih2YXIgbj1lLnNwbGl0KCJ8Iikscj1lLmxlbmd0aDtyLS07KXcuYXR0ckhhbmRsZVtuW3JdXT10fWZ1bmN0aW9uIGEoZSx0KXt2YXIgbj10JiZlLHI9biYmMT09PWUubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlJiYofnQuc291cmNlSW5kZXh8fFgpLSh+ZS5zb3VyY2VJbmRleHx8WCk7aWYocilyZXR1cm4gcjtpZihuKWZvcig7bj1uLm5leHRTaWJsaW5nOylpZihuPT09dClyZXR1cm4tMTtyZXR1cm4gZT8xOi0xfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09biYmdC50eXBlPT09ZX19ZnVuY3Rpb24gbChlKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09bnx8ImJ1dHRvbiI9PT1uKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcihmdW5jdGlvbih0KXtyZXR1cm4gdD0rdCxyKGZ1bmN0aW9uKG4scil7Zm9yKHZhciBpLG89ZShbXSxuLmxlbmd0aCx0KSxhPW8ubGVuZ3RoO2EtLTspbltpPW9bYV1dJiYobltpXT0hKHJbaV09bltpXSkpfSl9KX1mdW5jdGlvbiB1KGUpe3JldHVybiBlJiZ0eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PVkmJmV9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBmKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj0iIjtuPnQ7dCsrKXIrPWVbdF0udmFsdWU7cmV0dXJuIHJ9ZnVuY3Rpb24gaChlLHQsbil7dmFyIHI9dC5kaXIsaT1uJiYicGFyZW50Tm9kZSI9PT1yLG89VisrO3JldHVybiB0LmZpcnN0P2Z1bmN0aW9uKHQsbixvKXtmb3IoO3Q9dFtyXTspaWYoMT09PXQubm9kZVR5cGV8fGkpcmV0dXJuIGUodCxuLG8pfTpmdW5jdGlvbih0LG4sYSl7dmFyIHMsbCxjPVtXLG9dO2lmKGEpe2Zvcig7dD10W3JdOylpZigoMT09PXQubm9kZVR5cGV8fGkpJiZlKHQsbixhKSlyZXR1cm4hMH1lbHNlIGZvcig7dD10W3JdOylpZigxPT09dC5ub2RlVHlwZXx8aSl7aWYobD10W0ZdfHwodFtGXT17fSksKHM9bFtyXSkmJnNbMF09PT1XJiZzWzFdPT09bylyZXR1cm4gY1syXT1zWzJdO2lmKGxbcl09YyxjWzJdPWUodCxuLGEpKXJldHVybiEwfX19ZnVuY3Rpb24gcChlKXtyZXR1cm4gZS5sZW5ndGg+MT9mdW5jdGlvbih0LG4scil7Zm9yKHZhciBpPWUubGVuZ3RoO2ktLTspaWYoIWVbaV0odCxuLHIpKXJldHVybiExO3JldHVybiEwfTplWzBdfWZ1bmN0aW9uIG0odCxuLHIpe2Zvcih2YXIgaT0wLG89bi5sZW5ndGg7bz5pO2krKyllKHQsbltpXSxyKTtyZXR1cm4gcn1mdW5jdGlvbiBnKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLGw9ZS5sZW5ndGgsYz1udWxsIT10O2w+cztzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksYyYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gdihlLHQsbixpLG8sYSl7cmV0dXJuIGkmJiFpW0ZdJiYoaT12KGkpKSxvJiYhb1tGXSYmKG89dihvLGEpKSxyKGZ1bmN0aW9uKHIsYSxzLGwpe3ZhciBjLHUsZCxmPVtdLGg9W10scD1hLmxlbmd0aCx2PXJ8fG0odHx8IioiLHMubm9kZVR5cGU/W3NdOnMsW10pLHk9IWV8fCFyJiZ0P3Y6Zyh2LGYsZSxzLGwpLGI9bj9vfHwocj9lOnB8fGkpP1tdOmE6eTtpZihuJiZuKHksYixzLGwpLGkpZm9yKGM9ZyhiLGgpLGkoYyxbXSxzLGwpLHU9Yy5sZW5ndGg7dS0tOykoZD1jW3VdKSYmKGJbaFt1XV09ISh5W2hbdV1dPWQpKTtpZihyKXtpZihvfHxlKXtpZihvKXtmb3IoYz1bXSx1PWIubGVuZ3RoO3UtLTspKGQ9Ylt1XSkmJmMucHVzaCh5W3VdPWQpO28obnVsbCxiPVtdLGMsbCl9Zm9yKHU9Yi5sZW5ndGg7dS0tOykoZD1iW3VdKSYmKGM9bz90ZS5jYWxsKHIsZCk6Zlt1XSk+LTEmJihyW2NdPSEoYVtjXT1kKSl9fWVsc2UgYj1nKGI9PT1hP2Iuc3BsaWNlKHAsYi5sZW5ndGgpOmIpLG8/byhudWxsLGEsYixsKTpaLmFwcGx5KGEsYil9KX1mdW5jdGlvbiB5KGUpe2Zvcih2YXIgdCxuLHIsaT1lLmxlbmd0aCxvPXcucmVsYXRpdmVbZVswXS50eXBlXSxhPW98fHcucmVsYXRpdmVbIiAiXSxzPW8/MTowLGw9aChmdW5jdGlvbihlKXtyZXR1cm4gZT09PXR9LGEsITApLGM9aChmdW5jdGlvbihlKXtyZXR1cm4gdGUuY2FsbCh0LGUpPi0xfSxhLCEwKSx1PVtmdW5jdGlvbihlLG4scil7cmV0dXJuIW8mJihyfHxuIT09VCl8fCgodD1uKS5ub2RlVHlwZT9sKGUsbixyKTpjKGUsbixyKSl9XTtpPnM7cysrKWlmKG49dy5yZWxhdGl2ZVtlW3NdLnR5cGVdKXU9W2gocCh1KSxuKV07ZWxzZXtpZihuPXcuZmlsdGVyW2Vbc10udHlwZV0uYXBwbHkobnVsbCxlW3NdLm1hdGNoZXMpLG5bRl0pe2ZvcihyPSsrcztpPnImJiF3LnJlbGF0aXZlW2Vbcl0udHlwZV07cisrKTtyZXR1cm4gdihzPjEmJnAodSkscz4xJiZmKGUuc2xpY2UoMCxzLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09ZVtzLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2Uoc2UsIiQxIiksbixyPnMmJnkoZS5zbGljZShzLHIpKSxpPnImJnkoZT1lLnNsaWNlKHIpKSxpPnImJmYoZSkpfXUucHVzaChuKX1yZXR1cm4gcCh1KX1mdW5jdGlvbiBiKHQsbil7dmFyIGk9bi5sZW5ndGg+MCxvPXQubGVuZ3RoPjAsYT1mdW5jdGlvbihyLGEscyxsLGMpe3ZhciB1LGQsZixoPTAscD0iMCIsbT1yJiZbXSx2PVtdLHk9VCxiPXJ8fG8mJncuZmluZC5UQUcoIioiLGMpLEM9Vys9bnVsbD09eT8xOk1hdGgucmFuZG9tKCl8fC4xLHg9Yi5sZW5ndGg7Zm9yKGMmJihUPWEhPT1EJiZhKTtwIT09eCYmbnVsbCE9KHU9YltwXSk7cCsrKXtpZihvJiZ1KXtmb3IoZD0wO2Y9dFtkKytdOylpZihmKHUsYSxzKSl7bC5wdXNoKHUpO2JyZWFrfWMmJihXPUMpfWkmJigodT0hZiYmdSkmJmgtLSxyJiZtLnB1c2godSkpfWlmKGgrPXAsaSYmcCE9PWgpe2ZvcihkPTA7Zj1uW2QrK107KWYobSx2LGEscyk7aWYocil7aWYoaD4wKWZvcig7cC0tOyltW3BdfHx2W3BdfHwodltwXT1KLmNhbGwobCkpO3Y9Zyh2KX1aLmFwcGx5KGwsdiksYyYmIXImJnYubGVuZ3RoPjAmJmgrbi5sZW5ndGg+MSYmZS51bmlxdWVTb3J0KGwpfXJldHVybiBjJiYoVz1DLFQ9eSksbX07cmV0dXJuIGk/cihhKTphfXZhciBDLHgsdyxOLEUsXyxTLGssVCxSLEEsQixELE0sTCxQLEgsTyxJLEY9InNpenpsZSIrLW5ldyBEYXRlLHo9d2luZG93LmRvY3VtZW50LFc9MCxWPTAsVT1uKCksJD1uKCkscT1uKCksaj1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKEE9ITApLDB9LFk9dHlwZW9mIHQsWD0xPDwzMSxLPXt9Lmhhc093blByb3BlcnR5LEc9W10sSj1HLnBvcCxRPUcucHVzaCxaPUcucHVzaCxlZT1HLnNsaWNlLHRlPUcuaW5kZXhPZnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsbj10aGlzLmxlbmd0aDtuPnQ7dCsrKWlmKHRoaXNbdF09PT1lKXJldHVybiB0O3JldHVybi0xfSxuZT0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLHJlPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixpZT0iKD86XFxcXC58W1xcdy1dfFteXFx4MDAtXFx4YTBdKSsiLG9lPSJcXFsiK3JlKyIqKCIraWUrIikoPzoiK3JlKyIqKFsqXiR8IX5dPz0pIityZSsiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK2llKyIpKXwpIityZSsiKlxcXSIsYWU9IjooIitpZSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrb2UrIikqKXwuKilcXCl8KSIsc2U9bmV3IFJlZ0V4cCgiXiIrcmUrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrcmUrIiskIiwiZyIpLGxlPW5ldyBSZWdFeHAoIl4iK3JlKyIqLCIrcmUrIioiKSxjZT1uZXcgUmVnRXhwKCJeIityZSsiKihbPit+XXwiK3JlKyIpIityZSsiKiIpLHVlPW5ldyBSZWdFeHAoIj0iK3JlKyIqKFteXFxdJ1wiXSo/KSIrcmUrIipcXF0iLCJnIiksZGU9bmV3IFJlZ0V4cChhZSksZmU9bmV3IFJlZ0V4cCgiXiIraWUrIiQiKSxoZT17SUQ6bmV3IFJlZ0V4cCgiXiMoIitpZSsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitpZSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIraWUrInxbKl0pIiksQVRUUjpuZXcgUmVnRXhwKCJeIitvZSksUFNFVURPOm5ldyBSZWdFeHAoIl4iK2FlKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK3JlKyIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIityZSsiKig/OihbKy1dfCkiK3JlKyIqKFxcZCspfCkpIityZSsiKlxcKXwpIiwiaSIpLGJvb2w6bmV3IFJlZ0V4cCgiXig/OiIrbmUrIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIityZSsiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIityZSsiKigoPzotXFxkKT9cXGQqKSIrcmUrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LHBlPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksbWU9L15oXGQkL2ksZ2U9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLHZlPS9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8seWU9L1srfl0vLGJlPS8nfFxcL2csQ2U9bmV3IFJlZ0V4cCgiXFxcXChbXFxkYS1mXXsxLDZ9IityZSsiP3woIityZSsiKXwuKSIsImlnIikseGU9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPSIweCIrdC02NTUzNjtyZXR1cm4gciE9PXJ8fG4/dDowPnI/U3RyaW5nLmZyb21DaGFyQ29kZShyKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKHI+PjEwfDU1Mjk2LDEwMjMmcnw1NjMyMCl9O3RyeXtaLmFwcGx5KEc9ZWUuY2FsbCh6LmNoaWxkTm9kZXMpLHouY2hpbGROb2RlcyksR1t6LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaCh3ZSl7Wj17YXBwbHk6Ry5sZW5ndGg/ZnVuY3Rpb24oZSx0KXtRLmFwcGx5KGUsZWUuY2FsbCh0KSl9OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9MDtlW24rK109dFtyKytdOyk7ZS5sZW5ndGg9bi0xfX19eD1lLnN1cHBvcnQ9e30sRT1lLmlzWE1MPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJihlLm93bmVyRG9jdW1lbnR8fGUpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gdD8iSFRNTCIhPT10Lm5vZGVOYW1lOiExfSxCPWUuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXt0cnl7cmV0dXJuIGUudG9wfWNhdGNoKHQpe31yZXR1cm4gbnVsbH12YXIgbixyPWU/ZS5vd25lckRvY3VtZW50fHxlOnosbz1yLmRlZmF1bHRWaWV3O3JldHVybiByIT09RCYmOT09PXIubm9kZVR5cGUmJnIuZG9jdW1lbnRFbGVtZW50PyhEPXIsTT1yLmRvY3VtZW50RWxlbWVudCxMPSFFKHIpLG8mJm8hPT10KG8pJiYoby5hZGRFdmVudExpc3RlbmVyP28uYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixmdW5jdGlvbigpe0IoKX0sITEpOm8uYXR0YWNoRXZlbnQmJm8uYXR0YWNoRXZlbnQoIm9udW5sb2FkIixmdW5jdGlvbigpe0IoKX0pKSx4LmF0dHJpYnV0ZXM9aShmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc05hbWU9ImkiLCFlLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIil9KSx4LmdldEVsZW1lbnRzQnlUYWdOYW1lPWkoZnVuY3Rpb24oZSl7cmV0dXJuIGUuYXBwZW5kQ2hpbGQoci5jcmVhdGVDb21tZW50KCIiKSksIWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGh9KSx4LmdldEVsZW1lbnRzQnlDbGFzc05hbWU9Z2UudGVzdChyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLHguZ2V0QnlJZD1pKGZ1bmN0aW9uKGUpe3JldHVybiBNLmFwcGVuZENoaWxkKGUpLmlkPUYsIXIuZ2V0RWxlbWVudHNCeU5hbWV8fCFyLmdldEVsZW1lbnRzQnlOYW1lKEYpLmxlbmd0aH0pLHguZ2V0QnlJZD8ody5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQhPT1ZJiZMKXt2YXIgbj10LmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBuJiZuLnBhcmVudE5vZGU/W25dOltdfX0sdy5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKENlLHhlKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJpZCIpPT09dH19KTooZGVsZXRlIHcuZmluZC5JRCx3LmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoQ2UseGUpO3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj10eXBlb2YgZS5nZXRBdHRyaWJ1dGVOb2RlIT09WSYmZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBuJiZuLnZhbHVlPT09dH19KSx3LmZpbmQuVEFHPXguZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHlwZW9mIHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT1ZP3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk6dm9pZCAwfTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT0wLG89dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTtpZigiKiI9PT1lKXtmb3IoO249b1tpKytdOykxPT09bi5ub2RlVHlwZSYmci5wdXNoKG4pO3JldHVybiByfXJldHVybiBvfSx3LmZpbmQuQ0xBU1M9eC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbihlLHQpe3JldHVybiBMP3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKTp2b2lkIDB9LEg9W10sUD1bXSwoeC5xc2E9Z2UudGVzdChyLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGkoZnVuY3Rpb24oZSl7ZS5pbm5lckhUTUw9IjxzZWxlY3QgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLGUucXVlcnlTZWxlY3RvckFsbCgiW21zYWxsb3djYXB0dXJlXj0nJ10iKS5sZW5ndGgmJlAucHVzaCgiWypeJF09IityZSsiKig/OicnfFwiXCIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxQLnB1c2goIlxcWyIrcmUrIiooPzp2YWx1ZXwiK25lKyIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8UC5wdXNoKCI6Y2hlY2tlZCIpfSksaShmdW5jdGlvbihlKXt2YXIgdD1yLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7dC5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKSxlLmFwcGVuZENoaWxkKHQpLnNldEF0dHJpYnV0ZSgibmFtZSIsIkQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoJiZQLnB1c2goIm5hbWUiK3JlKyIqWypeJHwhfl0/PSIpLGUucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fFAucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxQLnB1c2goIiwuKjoiKX0pKSwoeC5tYXRjaGVzU2VsZWN0b3I9Z2UudGVzdChPPU0ubWF0Y2hlc3x8TS53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fE0ubW96TWF0Y2hlc1NlbGVjdG9yfHxNLm9NYXRjaGVzU2VsZWN0b3J8fE0ubXNNYXRjaGVzU2VsZWN0b3IpKSYmaShmdW5jdGlvbihlKXt4LmRpc2Nvbm5lY3RlZE1hdGNoPU8uY2FsbChlLCJkaXYiKSxPLmNhbGwoZSwiW3MhPScnXTp4IiksSC5wdXNoKCIhPSIsYWUpfSksUD1QLmxlbmd0aCYmbmV3IFJlZ0V4cChQLmpvaW4oInwiKSksSD1ILmxlbmd0aCYmbmV3IFJlZ0V4cChILmpvaW4oInwiKSksbj1nZS50ZXN0KE0uY29tcGFyZURvY3VtZW50UG9zaXRpb24pLEk9bnx8Z2UudGVzdChNLmNvbnRhaW5zKT9mdW5jdGlvbihlLHQpe3ZhciBuPTk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUscj10JiZ0LnBhcmVudE5vZGU7cmV0dXJuIGU9PT1yfHwhKCFyfHwxIT09ci5ub2RlVHlwZXx8IShuLmNvbnRhaW5zP24uY29udGFpbnMocik6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSkpfTpmdW5jdGlvbihlLHQpe2lmKHQpZm9yKDt0PXQucGFyZW50Tm9kZTspaWYodD09PWUpcmV0dXJuITA7cmV0dXJuITF9LGo9bj9mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBBPSEwLDA7dmFyIG49IWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIXQuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIG4/bjoobj0oZS5vd25lckRvY3VtZW50fHxlKT09PSh0Lm93bmVyRG9jdW1lbnR8fHQpP2UuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCk6MSwxJm58fCF4LnNvcnREZXRhY2hlZCYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKT09PW4/ZT09PXJ8fGUub3duZXJEb2N1bWVudD09PXomJkkoeixlKT8tMTp0PT09cnx8dC5vd25lckRvY3VtZW50PT09eiYmSSh6LHQpPzE6Uj90ZS5jYWxsKFIsZSktdGUuY2FsbChSLHQpOjA6NCZuPy0xOjEpfTpmdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBBPSEwLDA7dmFyIG4saT0wLG89ZS5wYXJlbnROb2RlLHM9dC5wYXJlbnROb2RlLGw9W2VdLGM9W3RdO2lmKCFvfHwhcylyZXR1cm4gZT09PXI/LTE6dD09PXI/MTpvPy0xOnM/MTpSP3RlLmNhbGwoUixlKS10ZS5jYWxsKFIsdCk6MDtpZihvPT09cylyZXR1cm4gYShlLHQpO2ZvcihuPWU7bj1uLnBhcmVudE5vZGU7KWwudW5zaGlmdChuKTtmb3Iobj10O249bi5wYXJlbnROb2RlOyljLnVuc2hpZnQobik7Zm9yKDtsW2ldPT09Y1tpXTspaSsrO3JldHVybiBpP2EobFtpXSxjW2ldKTpsW2ldPT09ej8tMTpjW2ldPT09ej8xOjB9LHIpOkR9LGUubWF0Y2hlcz1mdW5jdGlvbih0LG4pe3JldHVybiBlKHQsbnVsbCxudWxsLG4pfSxlLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbih0LG4pe2lmKCh0Lm93bmVyRG9jdW1lbnR8fHQpIT09RCYmQih0KSxuPW4ucmVwbGFjZSh1ZSwiPSckMSddIikseC5tYXRjaGVzU2VsZWN0b3ImJkwmJighSHx8IUgudGVzdChuKSkmJighUHx8IVAudGVzdChuKSkpdHJ5e3ZhciByPU8uY2FsbCh0LG4pO2lmKHJ8fHguZGlzY29ubmVjdGVkTWF0Y2h8fHQuZG9jdW1lbnQmJjExIT09dC5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gcn1jYXRjaChpKXt9cmV0dXJuIGUobixELG51bGwsW3RdKS5sZW5ndGg+MH0sZS5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybihlLm93bmVyRG9jdW1lbnR8fGUpIT09RCYmQihlKSxJKGUsdCl9LGUuYXR0cj1mdW5jdGlvbihlLG4peyhlLm93bmVyRG9jdW1lbnR8fGUpIT09RCYmQihlKTt2YXIgcj13LmF0dHJIYW5kbGVbbi50b0xvd2VyQ2FzZSgpXSxpPXImJksuY2FsbCh3LmF0dHJIYW5kbGUsbi50b0xvd2VyQ2FzZSgpKT9yKGUsbiwhTCk6dDtyZXR1cm4gaSE9PXQ/aTp4LmF0dHJpYnV0ZXN8fCFMP2UuZ2V0QXR0cmlidXRlKG4pOihpPWUuZ2V0QXR0cmlidXRlTm9kZShuKSkmJmkuc3BlY2lmaWVkP2kudmFsdWU6bnVsbH0sZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZSl9LGUudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxuPVtdLHI9MCxpPTA7aWYoQT0heC5kZXRlY3REdXBsaWNhdGVzLFI9IXguc29ydFN0YWJsZSYmZS5zbGljZSgwKSxlLnNvcnQoaiksQSl7Zm9yKDt0PWVbaSsrXTspdD09PWVbaV0mJihyPW4ucHVzaChpKSk7Zm9yKDtyLS07KWUuc3BsaWNlKG5bcl0sMSl9cmV0dXJuIFI9bnVsbCxlfSxOPWUuZ2V0VGV4dD1mdW5jdGlvbihlKXt2YXIgdCxuPSIiLHI9MCxpPWUubm9kZVR5cGU7aWYoaSl7aWYoMT09PWl8fDk9PT1pfHwxMT09PWkpe2lmKCJzdHJpbmciPT10eXBlb2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpbis9TihlKX1lbHNlIGlmKDM9PT1pfHw0PT09aSlyZXR1cm4gZS5ub2RlVmFsdWV9ZWxzZSBmb3IoO3Q9ZVtyKytdOyluKz1OKHQpO3JldHVybiBufSx3PWUuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86cixtYXRjaDpoZSxhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZGUifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2libGluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS5yZXBsYWNlKENlLHhlKSxlWzNdPShlWzNdfHxlWzRdfHxlWzVdfHwiIikucmVwbGFjZShDZSx4ZSksIn49Ij09PWVbMl0mJihlWzNdPSIgIitlWzNdKyIgIiksZS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbih0KXtyZXR1cm4gdFsxXT10WzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT10WzFdLnNsaWNlKDAsMyk/KHRbM118fGUuZXJyb3IodFswXSksdFs0XT0rKHRbNF0/dFs1XSsodFs2XXx8MSk6MiooImV2ZW4iPT09dFszXXx8Im9kZCI9PT10WzNdKSksdFs1XT0rKHRbN10rdFs4XXx8Im9kZCI9PT10WzNdKSk6dFszXSYmZS5lcnJvcih0WzBdKSx0fSxQU0VVRE86ZnVuY3Rpb24oZSl7dmFyIHQsbj0hZVs2XSYmZVsyXTtyZXR1cm4gaGUuQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdP2VbMl09ZVs0XXx8ZVs1XXx8IiI6biYmZGUudGVzdChuKSYmKHQ9XyhuLCEwKSkmJih0PW4uaW5kZXhPZigiKSIsbi5sZW5ndGgtdCktbi5sZW5ndGgpJiYoZVswXT1lWzBdLnNsaWNlKDAsdCksZVsyXT1uLnNsaWNlKDAsdCkpLGUuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoQ2UseGUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09ZT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH19LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PVVbZSsiICJdO3JldHVybiB0fHwodD1uZXcgUmVnRXhwKCIoXnwiK3JlKyIpIitlKyIoIityZSsifCQpIikpJiZVKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHQudGVzdCgic3RyaW5nIj09dHlwZW9mIGUuY2xhc3NOYW1lJiZlLmNsYXNzTmFtZXx8dHlwZW9mIGUuZ2V0QXR0cmlidXRlIT09WSYmZS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG89ZS5hdHRyKGksdCk7cmV0dXJuIG51bGw9PW8/IiE9Ij09PW46bj8obys9IiIsIj0iPT09bj9vPT09cjoiIT0iPT09bj9vIT09cjoiXj0iPT09bj9yJiYwPT09by5pbmRleE9mKHIpOiIqPSI9PT1uP3ImJm8uaW5kZXhPZihyKT4tMToiJD0iPT09bj9yJiZvLnNsaWNlKC1yLmxlbmd0aCk9PT1yOiJ+PSI9PT1uPygiICIrbysiICIpLmluZGV4T2Yocik+LTE6Inw9Ij09PW4/bz09PXJ8fG8uc2xpY2UoMCxyLmxlbmd0aCsxKT09PXIrIi0iOiExKTohMH19LENISUxEOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG89Im50aCIhPT1lLnNsaWNlKDAsMyksYT0ibGFzdCIhPT1lLnNsaWNlKC00KSxzPSJvZi10eXBlIj09PXQ7cmV0dXJuIDE9PT1yJiYwPT09aT9mdW5jdGlvbihlKXtyZXR1cm4hIWUucGFyZW50Tm9kZX06ZnVuY3Rpb24odCxuLGwpe3ZhciBjLHUsZCxmLGgscCxtPW8hPT1hPyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyIsZz10LnBhcmVudE5vZGUsdj1zJiZ0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkseT0hbCYmIXM7aWYoZyl7aWYobyl7Zm9yKDttOyl7Zm9yKGQ9dDtkPWRbbV07KWlmKHM/ZC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09djoxPT09ZC5ub2RlVHlwZSlyZXR1cm4hMTtwPW09Im9ubHkiPT09ZSYmIXAmJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYocD1bYT9nLmZpcnN0Q2hpbGQ6Zy5sYXN0Q2hpbGRdLGEmJnkpe2Zvcih1PWdbRl18fChnW0ZdPXt9KSxjPXVbZV18fFtdLGg9Y1swXT09PVcmJmNbMV0sZj1jWzBdPT09VyYmY1syXSxkPWgmJmcuY2hpbGROb2Rlc1toXTtkPSsraCYmZCYmZFttXXx8KGY9aD0wKXx8cC5wb3AoKTspaWYoMT09PWQubm9kZVR5cGUmJisrZiYmZD09PXQpe3VbZV09W1csaCxmXTticmVha319ZWxzZSBpZih5JiYoYz0odFtGXXx8KHRbRl09e30pKVtlXSkmJmNbMF09PT1XKWY9Y1sxXTtlbHNlIGZvcig7KGQ9KytoJiZkJiZkW21dfHwoZj1oPTApfHxwLnBvcCgpKSYmKChzP2Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PXY6MSE9PWQubm9kZVR5cGUpfHwhKytmfHwoeSYmKChkW0ZdfHwoZFtGXT17fSkpW2VdPVtXLGZdKSxkIT09dCkpOyk7cmV0dXJuIGYtPWksZj09PXJ8fGYlcj09PTAmJmYvcj49MH19fSxQU0VVRE86ZnVuY3Rpb24odCxuKXt2YXIgaSxvPXcucHNldWRvc1t0XXx8dy5zZXRGaWx0ZXJzW3QudG9Mb3dlckNhc2UoKV18fGUuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIit0KTtyZXR1cm4gb1tGXT9vKG4pOm8ubGVuZ3RoPjE/KGk9W3QsdCwiIixuXSx3LnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkodC50b0xvd2VyQ2FzZSgpKT9yKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByLGk9byhlLG4pLGE9aS5sZW5ndGg7YS0tOylyPXRlLmNhbGwoZSxpW2FdKSxlW3JdPSEodFtyXT1pW2FdKX0pOmZ1bmN0aW9uKGUpe3JldHVybiBvKGUsMCxpKX0pOm99fSxwc2V1ZG9zOntub3Q6cihmdW5jdGlvbihlKXt2YXIgdD1bXSxuPVtdLGk9UyhlLnJlcGxhY2Uoc2UsIiQxIikpO3JldHVybiBpW0ZdP3IoZnVuY3Rpb24oZSx0LG4scil7Zm9yKHZhciBvLGE9aShlLG51bGwscixbXSkscz1lLmxlbmd0aDtzLS07KShvPWFbc10pJiYoZVtzXT0hKHRbc109bykpfSk6ZnVuY3Rpb24oZSxyLG8pe3JldHVybiB0WzBdPWUsaSh0LG51bGwsbyxuKSwhbi5wb3AoKX19KSxoYXM6cihmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIGUodCxuKS5sZW5ndGg+MH19KSxjb250YWluczpyKGZ1bmN0aW9uKGUpe3JldHVybiBlPWUucmVwbGFjZShDZSx4ZSksZnVuY3Rpb24odCl7cmV0dXJuKHQudGV4dENvbnRlbnR8fHQuaW5uZXJUZXh0fHxOKHQpKS5pbmRleE9mKGUpPi0xfX0pLGxhbmc6cihmdW5jdGlvbih0KXtyZXR1cm4gZmUudGVzdCh0fHwiIil8fGUuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrdCksdD10LnJlcGxhY2UoQ2UseGUpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oZSl7dmFyIG47ZG8gaWYobj1MP2UubGFuZzplLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8ZS5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gbj1uLnRvTG93ZXJDYXNlKCksbj09PXR8fDA9PT1uLmluZGV4T2YodCsiLSIpO3doaWxlKChlPWUucGFyZW50Tm9kZSkmJjE9PT1lLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9d2luZG93LmxvY2F0aW9uJiZ3aW5kb3cubG9jYXRpb24uaGFzaDtyZXR1cm4gdCYmdC5zbGljZSgxKT09PWUuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1NfSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PUQuYWN0aXZlRWxlbWVudCYmKCFELmhhc0ZvY3VzfHxELmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLmRpc2FibGVkPT09ITF9LGRpc2FibGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10JiYhIWUuY2hlY2tlZHx8Im9wdGlvbiI9PT10JiYhIWUuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGUuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oZSl7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKWlmKGUubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGUpe3JldHVybiF3LnBzZXVkb3MuZW1wdHkoZSl9LGhlYWRlcjpmdW5jdGlvbihlKXtyZXR1cm4gbWUudGVzdChlLm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHBlLnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OmMoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0OmMoZnVuY3Rpb24oZSx0KXtyZXR1cm5bdC0xXX0pLGVxOmMoZnVuY3Rpb24oZSx0LG4pe3JldHVyblswPm4/bit0Om5dfSksZXZlbjpjKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTA7dD5uO24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksb2RkOmMoZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MTt0Pm47bis9MillLnB1c2gobik7cmV0dXJuIGV9KSxsdDpjKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9MD5uP24rdDpuOy0tcj49MDspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6YyhmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPTA+bj9uK3Q6bjsrK3I8dDspZS5wdXNoKHIpO3JldHVybiBlfSl9fSx3LnBzZXVkb3MubnRoPXcucHNldWRvcy5lcTtmb3IoQyBpbntyYWRpbzohMCxjaGVja2JveDohMCxmaWxlOiEwLHBhc3N3b3JkOiEwLGltYWdlOiEwfSl3LnBzZXVkb3NbQ109cyhDKTtmb3IoQyBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KXcucHNldWRvc1tDXT1sKEMpO3JldHVybiBkLnByb3RvdHlwZT13LmZpbHRlcnM9dy5wc2V1ZG9zLHcuc2V0RmlsdGVycz1uZXcgZCxfPWUudG9rZW5pemU9ZnVuY3Rpb24odCxuKXt2YXIgcixpLG8sYSxzLGwsYyx1PSRbdCsiICJdO2lmKHUpcmV0dXJuIG4/MDp1LnNsaWNlKDApO2ZvcihzPXQsbD1bXSxjPXcucHJlRmlsdGVyO3M7KXtyJiYhKGk9bGUuZXhlYyhzKSl8fChpJiYocz1zLnNsaWNlKGlbMF0ubGVuZ3RoKXx8cyksbC5wdXNoKG89W10pKSxyPSExLChpPWNlLmV4ZWMocykpJiYocj1pLnNoaWZ0KCksby5wdXNoKHt2YWx1ZTpyLHR5cGU6aVswXS5yZXBsYWNlKHNlLCIgIil9KSxzPXMuc2xpY2Uoci5sZW5ndGgpKTtmb3IoYSBpbiB3LmZpbHRlcikhKGk9aGVbYV0uZXhlYyhzKSl8fGNbYV0mJiEoaT1jW2FdKGkpKXx8KHI9aS5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6cix0eXBlOmEsbWF0Y2hlczppfSkscz1zLnNsaWNlKHIubGVuZ3RoKSk7aWYoIXIpYnJlYWt9cmV0dXJuIG4/cy5sZW5ndGg6cz9lLmVycm9yKHQpOiQodCxsKS5zbGljZSgwKX0sUz1lLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9W10sbz1xW2UrIiAiXTtpZighbyl7Zm9yKHR8fCh0PV8oZSkpLG49dC5sZW5ndGg7bi0tOylvPXkodFtuXSksb1tGXT9yLnB1c2gobyk6aS5wdXNoKG8pO289cShlLGIoaSxyKSksby5zZWxlY3Rvcj1lfXJldHVybiBvfSxrPWUuc2VsZWN0PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLGwsYz0iZnVuY3Rpb24iPT10eXBlb2YgZSYmZSxkPSFyJiZfKGU9Yy5zZWxlY3Rvcnx8ZSk7aWYobj1ufHxbXSwxPT09ZC5sZW5ndGgpe2lmKG89ZFswXT1kWzBdLnNsaWNlKDApLG8ubGVuZ3RoPjImJiJJRCI9PT0oYT1vWzBdKS50eXBlJiZ4LmdldEJ5SWQmJjk9PT10Lm5vZGVUeXBlJiZMJiZ3LnJlbGF0aXZlW29bMV0udHlwZV0pe2lmKHQ9KHcuZmluZC5JRChhLm1hdGNoZXNbMF0ucmVwbGFjZShDZSx4ZSksdCl8fFtdKVswXSwhdClyZXR1cm4gbjtjJiYodD10LnBhcmVudE5vZGUpLGU9ZS5zbGljZShvLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mb3IoaT1oZS5uZWVkc0NvbnRleHQudGVzdChlKT8wOm8ubGVuZ3RoO2ktLSYmKGE9b1tpXSwhdy5yZWxhdGl2ZVtzPWEudHlwZV0pOylpZigobD13LmZpbmRbc10pJiYocj1sKGEubWF0Y2hlc1swXS5yZXBsYWNlKENlLHhlKSx5ZS50ZXN0KG9bMF0udHlwZSkmJnUodC5wYXJlbnROb2RlKXx8dCkpKXtpZihvLnNwbGljZShpLDEpLGU9ci5sZW5ndGgmJmYobyksIWUpcmV0dXJuIFouYXBwbHkobixyKSxuO2JyZWFrfX1yZXR1cm4oY3x8UyhlLGQpKShyLHQsIUwsbix5ZS50ZXN0KGUpJiZ1KHQucGFyZW50Tm9kZSl8fHQpLG59LHguc29ydFN0YWJsZT1GLnNwbGl0KCIiKS5zb3J0KGopLmpvaW4oIiIpPT09Rix4LmRldGVjdER1cGxpY2F0ZXM9ISFBLEIoKSx4LnNvcnREZXRhY2hlZD1pKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oRC5jcmVhdGVFbGVtZW50KCJkaXYiKSl9KSxpKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsIiMiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fG8oInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbj92b2lkIDA6ZS5nZXRBdHRyaWJ1dGUodCwidHlwZSI9PT10LnRvTG93ZXJDYXNlKCk/MToyKX0pLHguYXR0cmlidXRlcyYmaShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxpbnB1dC8+IixlLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxvKCJ2YWx1ZSIsZnVuY3Rpb24oZSx0LG4pe3JldHVybiBufHwiaW5wdXQiIT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP3ZvaWQgMDplLmRlZmF1bHRWYWx1ZX0pLGkoZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWUuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fG8obmUsZnVuY3Rpb24oZSx0LG4pe3ZhciByO3JldHVybiBuP3ZvaWQgMDplW3RdPT09ITA/dC50b0xvd2VyQ2FzZSgpOihyPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJnIuc3BlY2lmaWVkP3IudmFsdWU6bnVsbH0pLGV9KSxyKGgsW10sZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3JldHVybiJtYXRjaE1lZGlhImluIHdpbmRvdz9tYXRjaE1lZGlhKGUpLm1hdGNoZXM6ITF9dmFyIHQ9bmF2aWdhdG9yLG49dC51c2VyQWdlbnQscixpLG8sYSxzLGwsYyx1LGQsZixoLHAsbTtyPXdpbmRvdy5vcGVyYSYmd2luZG93Lm9wZXJhLmJ1aWxkTnVtYmVyLGQ9L0FuZHJvaWQvLnRlc3QobiksaT0vV2ViS2l0Ly50ZXN0KG4pLG89IWkmJiFyJiYvTVNJRS9naS50ZXN0KG4pJiYvRXhwbG9yZXIvZ2kudGVzdCh0LmFwcE5hbWUpLApvPW8mJi9NU0lFIChcdyspXC4vLmV4ZWMobilbMV0sYT0tMT09bi5pbmRleE9mKCJUcmlkZW50LyIpfHwtMT09bi5pbmRleE9mKCJydjoiKSYmLTE9PXQuYXBwTmFtZS5pbmRleE9mKCJOZXRzY2FwZSIpPyExOjExLHM9LTE9PW4uaW5kZXhPZigiRWRnZS8iKXx8b3x8YT8hMToxMixvPW98fGF8fHMsbD0haSYmIWEmJi9HZWNrby8udGVzdChuKSxjPS0xIT1uLmluZGV4T2YoIk1hYyIpLHU9LyhpUGFkfGlQaG9uZSkvLnRlc3QobiksZj0iRm9ybURhdGEiaW4gd2luZG93JiYiRmlsZVJlYWRlciJpbiB3aW5kb3cmJiJVUkwiaW4gd2luZG93JiYhIVVSTC5jcmVhdGVPYmplY3RVUkwsaD1lKCJvbmx5IHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDQ4MHB4KSIpJiYoZHx8dSkscD1lKCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIikmJihkfHx1KSxtPS0xIT1uLmluZGV4T2YoIldpbmRvd3MgUGhvbmUiKSxzJiYoaT0hMSk7dmFyIGc9IXV8fGZ8fG4ubWF0Y2goL0FwcGxlV2ViS2l0XC8oXGQqKS8pWzFdPj01MzQ7cmV0dXJue29wZXJhOnIsd2Via2l0OmksaWU6byxnZWNrbzpsLG1hYzpjLGlPUzp1LGFuZHJvaWQ6ZCxjb250ZW50RWRpdGFibGU6Zyx0cmFuc3BhcmVudFNyYzoiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3IixjYXJldEFmdGVyOjghPW8scmFuZ2U6d2luZG93LmdldFNlbGVjdGlvbiYmIlJhbmdlImluIHdpbmRvdyxkb2N1bWVudE1vZGU6byYmIXM/ZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw3OjEwLGZpbGVBcGk6ZixjZUZhbHNlOm89PT0hMXx8bz44LGRlc2t0b3A6IWgmJiFwLHdpbmRvd3NQaG9uZTptfX0pLHIocCxbXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9ZSxuLHI7aWYoIXUoZSkpZm9yKHQ9W10sbj0wLHI9ZS5sZW5ndGg7cj5uO24rKyl0W25dPWVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gbihlLG4scil7dmFyIGksbztpZighZSlyZXR1cm4gMDtpZihyPXJ8fGUsZS5sZW5ndGghPT10KXtmb3IoaT0wLG89ZS5sZW5ndGg7bz5pO2krKylpZihuLmNhbGwocixlW2ldLGksZSk9PT0hMSlyZXR1cm4gMH1lbHNlIGZvcihpIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShpKSYmbi5jYWxsKHIsZVtpXSxpLGUpPT09ITEpcmV0dXJuIDA7cmV0dXJuIDF9ZnVuY3Rpb24gcihlLHQpe3ZhciByPVtdO3JldHVybiBuKGUsZnVuY3Rpb24obixpKXtyLnB1c2godChuLGksZSkpfSkscn1mdW5jdGlvbiBpKGUsdCl7dmFyIHI9W107cmV0dXJuIG4oZSxmdW5jdGlvbihuLGkpe3QmJiF0KG4saSxlKXx8ci5wdXNoKG4pfSkscn1mdW5jdGlvbiBvKGUsdCl7dmFyIG4scjtpZihlKWZvcihuPTAscj1lLmxlbmd0aDtyPm47bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIGEoZSx0LG4scil7dmFyIGk9MDtmb3IoYXJndW1lbnRzLmxlbmd0aDwzJiYobj1lWzBdKTtpPGUubGVuZ3RoO2krKyluPXQuY2FsbChyLG4sZVtpXSxpKTtyZXR1cm4gbn1mdW5jdGlvbiBzKGUsdCxuKXt2YXIgcixpO2ZvcihyPTAsaT1lLmxlbmd0aDtpPnI7cisrKWlmKHQuY2FsbChuLGVbcl0scixlKSlyZXR1cm4gcjtyZXR1cm4tMX1mdW5jdGlvbiBsKGUsbixyKXt2YXIgaT1zKGUsbixyKTtyZXR1cm4tMSE9PWk/ZVtpXTp0fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGVbZS5sZW5ndGgtMV19dmFyIHU9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07cmV0dXJue2lzQXJyYXk6dSx0b0FycmF5OmUsZWFjaDpuLG1hcDpyLGZpbHRlcjppLGluZGV4T2Y6byxyZWR1Y2U6YSxmaW5kSW5kZXg6cyxmaW5kOmwsbGFzdDpjfX0pLHIobSxbaCxwXSxmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG51bGw9PT1lfHxlPT09dD8iIjooIiIrZSkucmVwbGFjZShoLCIiKX1mdW5jdGlvbiBpKGUscil7cmV0dXJuIHI/ImFycmF5Ij09ciYmbi5pc0FycmF5KGUpPyEwOnR5cGVvZiBlPT1yOmUhPT10fWZ1bmN0aW9uIG8oZSx0LG4pe3ZhciByO2ZvcihlPWV8fFtdLHQ9dHx8IiwiLCJzdHJpbmciPT10eXBlb2YgZSYmKGU9ZS5zcGxpdCh0KSksbj1ufHx7fSxyPWUubGVuZ3RoO3ItLTspbltlW3JdXT17fTtyZXR1cm4gbn1mdW5jdGlvbiBhKGUsdCxuKXt2YXIgcj10aGlzLGksbyxhLHMsbCxjPTA7aWYoZT0vXigoc3RhdGljKSApPyhbXHcuXSspKDooW1x3Ll0rKSk/Ly5leGVjKGUpLGE9ZVszXS5tYXRjaCgvKF58XC4pKFx3KykkL2kpWzJdLG89ci5jcmVhdGVOUyhlWzNdLnJlcGxhY2UoL1wuXHcrJC8sIiIpLG4pLCFvW2FdKXtpZigic3RhdGljIj09ZVsyXSlyZXR1cm4gb1thXT10LHZvaWQodGhpcy5vbkNyZWF0ZSYmdGhpcy5vbkNyZWF0ZShlWzJdLGVbM10sb1thXSkpO3RbYV18fCh0W2FdPWZ1bmN0aW9uKCl7fSxjPTEpLG9bYV09dFthXSxyLmV4dGVuZChvW2FdLnByb3RvdHlwZSx0KSxlWzVdJiYoaT1yLnJlc29sdmUoZVs1XSkucHJvdG90eXBlLHM9ZVs1XS5tYXRjaCgvXC4oXHcrKSQvaSlbMV0sbD1vW2FdLGM/b1thXT1mdW5jdGlvbigpe3JldHVybiBpW3NdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX06b1thXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudD1pW3NdLGwuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxvW2FdLnByb3RvdHlwZVthXT1vW2FdLHIuZWFjaChpLGZ1bmN0aW9uKGUsdCl7b1thXS5wcm90b3R5cGVbdF09aVt0XX0pLHIuZWFjaCh0LGZ1bmN0aW9uKGUsdCl7aVt0XT9vW2FdLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudD1pW3RdLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfTp0IT1hJiYob1thXS5wcm90b3R5cGVbdF09ZSl9KSksci5lYWNoKHRbInN0YXRpYyJdLGZ1bmN0aW9uKGUsdCl7b1thXVt0XT1lfSl9fWZ1bmN0aW9uIHMoZSxuKXt2YXIgcixpLG8sYT1hcmd1bWVudHMscztmb3Iocj0xLGk9YS5sZW5ndGg7aT5yO3IrKyl7bj1hW3JdO2ZvcihvIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShvKSYmKHM9bltvXSxzIT09dCYmKGVbb109cykpfXJldHVybiBlfWZ1bmN0aW9uIGwoZSx0LHIsaSl7aT1pfHx0aGlzLGUmJihyJiYoZT1lW3JdKSxuLmVhY2goZSxmdW5jdGlvbihlLG4pe3JldHVybiB0LmNhbGwoaSxlLG4scik9PT0hMT8hMTp2b2lkIGwoZSx0LHIsaSl9KSl9ZnVuY3Rpb24gYyhlLHQpe3ZhciBuLHI7Zm9yKHQ9dHx8d2luZG93LGU9ZS5zcGxpdCgiLiIpLG49MDtuPGUubGVuZ3RoO24rKylyPWVbbl0sdFtyXXx8KHRbcl09e30pLHQ9dFtyXTtyZXR1cm4gdH1mdW5jdGlvbiB1KGUsdCl7dmFyIG4scjtmb3IodD10fHx3aW5kb3csZT1lLnNwbGl0KCIuIiksbj0wLHI9ZS5sZW5ndGg7cj5uJiYodD10W2Vbbl1dLHQpO24rKyk7cmV0dXJuIHR9ZnVuY3Rpb24gZChlLHQpe3JldHVybiFlfHxpKGUsImFycmF5Iik/ZTpuLm1hcChlLnNwbGl0KHR8fCIsIikscil9ZnVuY3Rpb24gZih0KXt2YXIgbj1lLmNhY2hlU3VmZml4O3JldHVybiBuJiYodCs9KC0xPT09dC5pbmRleE9mKCI/Iik/Ij8iOiImIikrbiksdH12YXIgaD0vXlxzKnxccyokL2c7cmV0dXJue3RyaW06cixpc0FycmF5Om4uaXNBcnJheSxpczppLHRvQXJyYXk6bi50b0FycmF5LG1ha2VNYXA6byxlYWNoOm4uZWFjaCxtYXA6bi5tYXAsZ3JlcDpuLmZpbHRlcixpbkFycmF5Om4uaW5kZXhPZixleHRlbmQ6cyxjcmVhdGU6YSx3YWxrOmwsY3JlYXRlTlM6YyxyZXNvbHZlOnUsZXhwbG9kZTpkLF9hZGRDYWNoZVN1ZmZpeDpmfX0pLHIoZyxbZCxmLG0saF0sZnVuY3Rpb24oZSxuLHIsaSl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGV9ZnVuY3Rpb24gYShlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZSYmZT09ZS53aW5kb3d9ZnVuY3Rpb24gbChlLHQpe3ZhciBuLHIsaTtmb3IodD10fHx3LGk9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuPXQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGkuaW5uZXJIVE1MPWU7cj1pLmZpcnN0Q2hpbGQ7KW4uYXBwZW5kQ2hpbGQocik7cmV0dXJuIG59ZnVuY3Rpb24gYyhlLHQsbixyKXt2YXIgaTtpZihhKHQpKXQ9bCh0LHYoZVswXSkpO2Vsc2UgaWYodC5sZW5ndGgmJiF0Lm5vZGVUeXBlKXtpZih0PWYubWFrZUFycmF5KHQpLHIpZm9yKGk9dC5sZW5ndGgtMTtpPj0wO2ktLSljKGUsdFtpXSxuLHIpO2Vsc2UgZm9yKGk9MDtpPHQubGVuZ3RoO2krKyljKGUsdFtpXSxuLHIpO3JldHVybiBlfWlmKHQubm9kZVR5cGUpZm9yKGk9ZS5sZW5ndGg7aS0tOyluLmNhbGwoZVtpXSx0KTtyZXR1cm4gZX1mdW5jdGlvbiB1KGUsdCl7cmV0dXJuIGUmJnQmJi0xIT09KCIgIitlLmNsYXNzTmFtZSsiICIpLmluZGV4T2YoIiAiK3QrIiAiKX1mdW5jdGlvbiBkKGUsdCxuKXt2YXIgcixpO3JldHVybiB0PWYodClbMF0sZS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztuJiZyPT1lLnBhcmVudE5vZGU/aS5hcHBlbmRDaGlsZChlKToocj1lLnBhcmVudE5vZGUsaT10LmNsb25lTm9kZSghMSksZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShpLGUpLGkuYXBwZW5kQ2hpbGQoZSkpfSksZX1mdW5jdGlvbiBmKGUsdCl7cmV0dXJuIG5ldyBmLmZuLmluaXQoZSx0KX1mdW5jdGlvbiBoKGUsdCl7dmFyIG47aWYodC5pbmRleE9mKXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKG49dC5sZW5ndGg7bi0tOylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX1mdW5jdGlvbiBwKGUpe3JldHVybiBudWxsPT09ZXx8ZT09PWs/IiI6KCIiK2UpLnJlcGxhY2UoUCwiIil9ZnVuY3Rpb24gbShlLHQpe3ZhciBuLHIsaSxvLGE7aWYoZSlpZihuPWUubGVuZ3RoLG49PT1vKXtmb3IociBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkocikmJihhPWVbcl0sdC5jYWxsKGEscixhKT09PSExKSlicmVha31lbHNlIGZvcihpPTA7bj5pJiYoYT1lW2ldLHQuY2FsbChhLGksYSkhPT0hMSk7aSsrKTtyZXR1cm4gZX1mdW5jdGlvbiBnKGUsdCl7dmFyIG49W107cmV0dXJuIG0oZSxmdW5jdGlvbihlLHIpe3QocixlKSYmbi5wdXNoKHIpfSksbn1mdW5jdGlvbiB2KGUpe3JldHVybiBlPzk9PWUubm9kZVR5cGU/ZTplLm93bmVyRG9jdW1lbnQ6d31mdW5jdGlvbiB5KGUsbixyKXt2YXIgaT1bXSxvPWVbbl07Zm9yKCJzdHJpbmciIT10eXBlb2YgciYmciBpbnN0YW5jZW9mIGYmJihyPXJbMF0pO28mJjkhPT1vLm5vZGVUeXBlOyl7aWYociE9PXQpe2lmKG89PT1yKWJyZWFrO2lmKCJzdHJpbmciPT10eXBlb2YgciYmZihvKS5pcyhyKSlicmVha30xPT09by5ub2RlVHlwZSYmaS5wdXNoKG8pLG89b1tuXX1yZXR1cm4gaX1mdW5jdGlvbiBiKGUsbixyLGkpe3ZhciBvPVtdO2ZvcihpIGluc3RhbmNlb2YgZiYmKGk9aVswXSk7ZTtlPWVbbl0paWYoIXJ8fGUubm9kZVR5cGU9PT1yKXtpZihpIT09dCl7aWYoZT09PWkpYnJlYWs7aWYoInN0cmluZyI9PXR5cGVvZiBpJiZmKGUpLmlzKGkpKWJyZWFrfW8ucHVzaChlKX1yZXR1cm4gb31mdW5jdGlvbiBDKGUsdCxuKXtmb3IoZT1lW3RdO2U7ZT1lW3RdKWlmKGUubm9kZVR5cGU9PW4pcmV0dXJuIGU7cmV0dXJuIG51bGx9ZnVuY3Rpb24geChlLHQsbil7bShuLGZ1bmN0aW9uKG4scil7ZVtuXT1lW25dfHx7fSxlW25dW3RdPXJ9KX12YXIgdz1kb2N1bWVudCxOPUFycmF5LnByb3RvdHlwZS5wdXNoLEU9QXJyYXkucHJvdG90eXBlLnNsaWNlLF89L14oPzpbXiM8XSooPFtcd1xXXSs+KVtePl0qJHwjKFtcd1wtXSopJCkvLFM9ZS5FdmVudCxrLFQ9ci5tYWtlTWFwKCJjaGlsZHJlbixjb250ZW50cyxuZXh0LHByZXYiKSxSPXIubWFrZU1hcCgiZmlsbE9wYWNpdHkgZm9udFdlaWdodCBsaW5lSGVpZ2h0IG9wYWNpdHkgb3JwaGFucyB3aWRvd3MgekluZGV4IHpvb20iLCIgIiksQT1yLm1ha2VNYXAoImNoZWNrZWQgY29tcGFjdCBkZWNsYXJlIGRlZmVyIGRpc2FibGVkIGlzbWFwIG11bHRpcGxlIG5vaHJlZiBub3NoYWRlIG5vd3JhcCByZWFkb25seSBzZWxlY3RlZCIsIiAiKSxCPXsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIixyZWFkb25seToicmVhZE9ubHkifSxEPXsiZmxvYXQiOiJjc3NGbG9hdCJ9LE09e30sTD17fSxQPS9eXHMqfFxzKiQvZztyZXR1cm4gZi5mbj1mLnByb3RvdHlwZT17Y29uc3RydWN0b3I6ZixzZWxlY3RvcjoiIixjb250ZXh0Om51bGwsbGVuZ3RoOjAsaW5pdDpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscixpO2lmKCFlKXJldHVybiBuO2lmKGUubm9kZVR5cGUpcmV0dXJuIG4uY29udGV4dD1uWzBdPWUsbi5sZW5ndGg9MSxuO2lmKHQmJnQubm9kZVR5cGUpbi5jb250ZXh0PXQ7ZWxzZXtpZih0KXJldHVybiBmKGUpLmF0dHIodCk7bi5jb250ZXh0PXQ9ZG9jdW1lbnR9aWYoYShlKSl7aWYobi5zZWxlY3Rvcj1lLHI9IjwiPT09ZS5jaGFyQXQoMCkmJiI+Ij09PWUuY2hhckF0KGUubGVuZ3RoLTEpJiZlLmxlbmd0aD49Mz9bbnVsbCxlLG51bGxdOl8uZXhlYyhlKSwhcilyZXR1cm4gZih0KS5maW5kKGUpO2lmKHJbMV0pZm9yKGk9bChlLHYodCkpLmZpcnN0Q2hpbGQ7aTspTi5jYWxsKG4saSksaT1pLm5leHRTaWJsaW5nO2Vsc2V7aWYoaT12KHQpLmdldEVsZW1lbnRCeUlkKHJbMl0pLCFpKXJldHVybiBuO2lmKGkuaWQhPT1yWzJdKXJldHVybiBuLmZpbmQoZSk7bi5sZW5ndGg9MSxuWzBdPWl9fWVsc2UgdGhpcy5hZGQoZSwhMSk7cmV0dXJuIG59LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gci50b0FycmF5KHRoaXMpfSxhZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLHIsaTtpZihhKGUpKXJldHVybiBuLmFkZChmKGUpKTtpZih0IT09ITEpZm9yKHI9Zi51bmlxdWUobi50b0FycmF5KCkuY29uY2F0KGYubWFrZUFycmF5KGUpKSksbi5sZW5ndGg9ci5sZW5ndGgsaT0wO2k8ci5sZW5ndGg7aSsrKW5baV09cltpXTtlbHNlIE4uYXBwbHkobixmLm1ha2VBcnJheShlKSk7cmV0dXJuIG59LGF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLHI7aWYoIm9iamVjdCI9PXR5cGVvZiBlKW0oZSxmdW5jdGlvbihlLHQpe24uYXR0cihlLHQpfSk7ZWxzZXtpZighbyh0KSl7aWYoblswXSYmMT09PW5bMF0ubm9kZVR5cGUpe2lmKHI9TVtlXSxyJiZyLmdldClyZXR1cm4gci5nZXQoblswXSxlKTtpZihBW2VdKXJldHVybiBuLnByb3AoZSk/ZTprO3Q9blswXS5nZXRBdHRyaWJ1dGUoZSwyKSxudWxsPT09dCYmKHQ9ayl9cmV0dXJuIHR9dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG47aWYoMT09PXRoaXMubm9kZVR5cGUpe2lmKG49TVtlXSxuJiZuLnNldClyZXR1cm4gdm9pZCBuLnNldCh0aGlzLHQpO251bGw9PT10P3RoaXMucmVtb3ZlQXR0cmlidXRlKGUsMik6dGhpcy5zZXRBdHRyaWJ1dGUoZSx0LDIpfX0pfXJldHVybiBufSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmF0dHIoZSxudWxsKX0scHJvcDpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7aWYoZT1CW2VdfHxlLCJvYmplY3QiPT10eXBlb2YgZSltKGUsZnVuY3Rpb24oZSx0KXtuLnByb3AoZSx0KX0pO2Vsc2V7aWYoIW8odCkpcmV0dXJuIG5bMF0mJm5bMF0ubm9kZVR5cGUmJmUgaW4gblswXT9uWzBdW2VdOnQ7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7MT09dGhpcy5ub2RlVHlwZSYmKHRoaXNbZV09dCl9KX1yZXR1cm4gbn0sY3NzOmZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC8tKFxEKS9nLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX0pfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUucmVwbGFjZSgvW0EtWl0vZyxmdW5jdGlvbihlKXtyZXR1cm4iLSIrZX0pfXZhciBpPXRoaXMsYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgZSltKGUsZnVuY3Rpb24oZSx0KXtpLmNzcyhlLHQpfSk7ZWxzZSBpZihvKHQpKWU9bihlKSwibnVtYmVyIiE9dHlwZW9mIHR8fFJbZV18fCh0Kz0icHgiKSxpLmVhY2goZnVuY3Rpb24oKXt2YXIgbj10aGlzLnN0eWxlO2lmKHM9TFtlXSxzJiZzLnNldClyZXR1cm4gdm9pZCBzLnNldCh0aGlzLHQpO3RyeXt0aGlzLnN0eWxlW0RbZV18fGVdPXR9Y2F0Y2goaSl7fW51bGwhPT10JiYiIiE9PXR8fChuLnJlbW92ZVByb3BlcnR5P24ucmVtb3ZlUHJvcGVydHkocihlKSk6bi5yZW1vdmVBdHRyaWJ1dGUoZSkpfSk7ZWxzZXtpZihhPWlbMF0scz1MW2VdLHMmJnMuZ2V0KXJldHVybiBzLmdldChhKTtpZihhLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpdHJ5e3JldHVybiBhLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpLmdldFByb3BlcnR5VmFsdWUocihlKSl9Y2F0Y2gobCl7cmV0dXJuIGt9ZWxzZSBpZihhLmN1cnJlbnRTdHlsZSlyZXR1cm4gYS5jdXJyZW50U3R5bGVbbihlKV19cmV0dXJuIGl9LHJlbW92ZTpmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLHQsbj10aGlzLmxlbmd0aDtuLS07KXQ9ZVtuXSxTLmNsZWFuKHQpLHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpO3JldHVybiB0aGlzfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLHQsbj10aGlzLmxlbmd0aDtuLS07KWZvcih0PWVbbl07dC5maXJzdENoaWxkOyl0LnJlbW92ZUNoaWxkKHQuZmlyc3RDaGlsZCk7cmV0dXJuIHRoaXN9LGh0bWw6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuO2lmKG8oZSkpe249dC5sZW5ndGg7dHJ5e2Zvcig7bi0tOyl0W25dLmlubmVySFRNTD1lfWNhdGNoKHIpe2YodFtuXSkuZW1wdHkoKS5hcHBlbmQoZSl9cmV0dXJuIHR9cmV0dXJuIHRbMF0/dFswXS5pbm5lckhUTUw6IiJ9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuO2lmKG8oZSkpe2ZvcihuPXQubGVuZ3RoO24tLTspImlubmVyVGV4dCJpbiB0W25dP3Rbbl0uaW5uZXJUZXh0PWU6dFswXS50ZXh0Q29udGVudD1lO3JldHVybiB0fXJldHVybiB0WzBdP3RbMF0uaW5uZXJUZXh0fHx0WzBdLnRleHRDb250ZW50OiIifSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gYyh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXsoMT09PXRoaXMubm9kZVR5cGV8fHRoaXMuaG9zdCYmMT09PXRoaXMuaG9zdC5ub2RlVHlwZSkmJnRoaXMuYXBwZW5kQ2hpbGQoZSl9KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBjKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpeygxPT09dGhpcy5ub2RlVHlwZXx8dGhpcy5ob3N0JiYxPT09dGhpcy5ob3N0Lm5vZGVUeXBlKSYmdGhpcy5pbnNlcnRCZWZvcmUoZSx0aGlzLmZpcnN0Q2hpbGQpfSwhMCl9LGJlZm9yZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGVbMF0mJmVbMF0ucGFyZW50Tm9kZT9jKGUsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pOmV9LGFmdGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZVswXSYmZVswXS5wYXJlbnROb2RlP2MoZSxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSwhMCk6ZX0sYXBwZW5kVG86ZnVuY3Rpb24oZSl7cmV0dXJuIGYoZSkuYXBwZW5kKHRoaXMpLHRoaXN9LHByZXBlbmRUbzpmdW5jdGlvbihlKXtyZXR1cm4gZihlKS5wcmVwZW5kKHRoaXMpLHRoaXN9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmJlZm9yZShlKS5yZW1vdmUoKX0sd3JhcDpmdW5jdGlvbihlKXtyZXR1cm4gZCh0aGlzLGUpfSx3cmFwQWxsOmZ1bmN0aW9uKGUpe3JldHVybiBkKHRoaXMsZSwhMCl9LHdyYXBJbm5lcjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zih0aGlzKS5jb250ZW50cygpLndyYXBBbGwoZSl9KSx0aGlzfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7Zih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSl9LGNsb25lOmZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2UucHVzaCh0aGlzLmNsb25lTm9kZSghMCkpfSksZihlKX0sYWRkQ2xhc3M6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudG9nZ2xlQ2xhc3MoZSwhMCl9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnRvZ2dsZUNsYXNzKGUsITEpfSx0b2dnbGVDbGFzczpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP246KC0xIT09ZS5pbmRleE9mKCIgIik/bShlLnNwbGl0KCIgIiksZnVuY3Rpb24oKXtuLnRvZ2dsZUNsYXNzKHRoaXMsdCl9KTpuLmVhY2goZnVuY3Rpb24obixyKXt2YXIgaSxvO289dShyLGUpLG8hPT10JiYoaT1yLmNsYXNzTmFtZSxvP3IuY2xhc3NOYW1lPXAoKCIgIitpKyIgIikucmVwbGFjZSgiICIrZSsiICIsIiAiKSk6ci5jbGFzc05hbWUrPWk/IiAiK2U6ZSl9KSxuKX0saGFzQ2xhc3M6ZnVuY3Rpb24oZSl7cmV0dXJuIHUodGhpc1swXSxlKX0sZWFjaDpmdW5jdGlvbihlKXtyZXR1cm4gbSh0aGlzLGUpfSxvbjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLmJpbmQodGhpcyxlLHQpfSl9LG9mZjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLnVuYmluZCh0aGlzLGUsdCl9KX0sdHJpZ2dlcjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Im9iamVjdCI9PXR5cGVvZiBlP1MuZmlyZSh0aGlzLGUudHlwZSxlKTpTLmZpcmUodGhpcyxlKX0pfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3NzKCJkaXNwbGF5IiwiIil9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jc3MoImRpc3BsYXkiLCJub25lIil9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBmKEUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZXE6ZnVuY3Rpb24oZSl7cmV0dXJuLTE9PT1lP3RoaXMuc2xpY2UoZSk6dGhpcy5zbGljZShlLCtlKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj1bXTtmb3IodD0wLG49dGhpcy5sZW5ndGg7bj50O3QrKylmLmZpbmQoZSx0aGlzW3RdLHIpO3JldHVybiBmKHIpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGYoImZ1bmN0aW9uIj09dHlwZW9mIGU/Zyh0aGlzLnRvQXJyYXkoKSxmdW5jdGlvbih0LG4pe3JldHVybiBlKG4sdCl9KTpmLmZpbHRlcihlLHRoaXMudG9BcnJheSgpKSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSl7dmFyIHQ9W107cmV0dXJuIGUgaW5zdGFuY2VvZiBmJiYoZT1lWzBdKSx0aGlzLmVhY2goZnVuY3Rpb24obixyKXtmb3IoO3I7KXtpZigic3RyaW5nIj09dHlwZW9mIGUmJmYocikuaXMoZSkpe3QucHVzaChyKTticmVha31pZihyPT1lKXt0LnB1c2gocik7YnJlYWt9cj1yLnBhcmVudE5vZGV9fSksZih0KX0sb2Zmc2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPTAsbz0wLGE7cmV0dXJuIGU/dGhpcy5jc3MoZSk6KHQ9dGhpc1swXSx0JiYobj10Lm93bmVyRG9jdW1lbnQscj1uLmRvY3VtZW50RWxlbWVudCx0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCYmKGE9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWEubGVmdCsoci5zY3JvbGxMZWZ0fHxuLmJvZHkuc2Nyb2xsTGVmdCktci5jbGllbnRMZWZ0LG89YS50b3ArKHIuc2Nyb2xsVG9wfHxuLmJvZHkuc2Nyb2xsVG9wKS1yLmNsaWVudFRvcCkpLHtsZWZ0OmksdG9wOm99KX0scHVzaDpOLHNvcnQ6W10uc29ydCxzcGxpY2U6W10uc3BsaWNlfSxyLmV4dGVuZChmLHtleHRlbmQ6ci5leHRlbmQsbWFrZUFycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBzKGUpfHxlLm5vZGVUeXBlP1tlXTpyLnRvQXJyYXkoZSl9LGluQXJyYXk6aCxpc0FycmF5OnIuaXNBcnJheSxlYWNoOm0sdHJpbTpwLGdyZXA6ZyxmaW5kOm4sZXhwcjpuLnNlbGVjdG9ycyx1bmlxdWU6bi51bmlxdWVTb3J0LHRleHQ6bi5nZXRUZXh0LGNvbnRhaW5zOm4uY29udGFpbnMsZmlsdGVyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10Lmxlbmd0aDtmb3IobiYmKGU9Ijpub3QoIitlKyIpIik7ci0tOykxIT10W3JdLm5vZGVUeXBlJiZ0LnNwbGljZShyLDEpO3JldHVybiB0PTE9PT10Lmxlbmd0aD9mLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHRbMF0sZSk/W3RbMF1dOltdOmYuZmluZC5tYXRjaGVzKGUsdCl9fSksbSh7cGFyZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmMTEhPT10Lm5vZGVUeXBlP3Q6bnVsbH0scGFyZW50czpmdW5jdGlvbihlKXtyZXR1cm4geShlLCJwYXJlbnROb2RlIil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSwibmV4dFNpYmxpbmciLDEpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBDKGUsInByZXZpb3VzU2libGluZyIsMSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBiKGUuZmlyc3RDaGlsZCwibmV4dFNpYmxpbmciLDEpfSxjb250ZW50czpmdW5jdGlvbihlKXtyZXR1cm4gci50b0FycmF5KCgiaWZyYW1lIj09PWUubm9kZU5hbWU/ZS5jb250ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDplKS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGUsdCl7Zi5mbltlXT1mdW5jdGlvbihuKXt2YXIgcj10aGlzLGk9W107cmV0dXJuIHIuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQuY2FsbChpLHRoaXMsbixpKTtlJiYoZi5pc0FycmF5KGUpP2kucHVzaC5hcHBseShpLGUpOmkucHVzaChlKSl9KSx0aGlzLmxlbmd0aD4xJiYoVFtlXXx8KGk9Zi51bmlxdWUoaSkpLDA9PT1lLmluZGV4T2YoInBhcmVudHMiKSYmKGk9aS5yZXZlcnNlKCkpKSxpPWYoaSksbj9pLmZpbHRlcihuKTppfX0pLG0oe3BhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQpe3JldHVybiB5KGUsInBhcmVudE5vZGUiLHQpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYihlLCJuZXh0U2libGluZyIsMSx0KS5zbGljZSgxKX0scHJldlVudGlsOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGIoZSwicHJldmlvdXNTaWJsaW5nIiwxLHQpLnNsaWNlKDEpfX0sZnVuY3Rpb24oZSx0KXtmLmZuW2VdPWZ1bmN0aW9uKG4scil7dmFyIGk9dGhpcyxvPVtdO3JldHVybiBpLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10LmNhbGwobyx0aGlzLG4sbyk7ZSYmKGYuaXNBcnJheShlKT9vLnB1c2guYXBwbHkobyxlKTpvLnB1c2goZSkpfSksdGhpcy5sZW5ndGg+MSYmKG89Zi51bmlxdWUobyksMCE9PWUuaW5kZXhPZigicGFyZW50cyIpJiYicHJldlVudGlsIiE9PWV8fChvPW8ucmV2ZXJzZSgpKSksbz1mKG8pLHI/by5maWx0ZXIocik6b319KSxmLmZuLmlzPWZ1bmN0aW9uKGUpe3JldHVybiEhZSYmdGhpcy5maWx0ZXIoZSkubGVuZ3RoPjB9LGYuZm4uaW5pdC5wcm90b3R5cGU9Zi5mbixmLm92ZXJyaWRlRGVmYXVsdHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLGkpe3JldHVybiBuPW58fGUoKSwwPT09YXJndW1lbnRzLmxlbmd0aCYmKHI9bi5lbGVtZW50KSxpfHwoaT1uLmNvbnRleHQpLG5ldyB0LmZuLmluaXQocixpKX12YXIgbjtyZXR1cm4gZi5leHRlbmQodCx0aGlzKSx0fSxpLmllJiZpLmllPDgmJih4KE0sImdldCIse21heGxlbmd0aDpmdW5jdGlvbihlKXt2YXIgdD1lLm1heExlbmd0aDtyZXR1cm4gMjE0NzQ4MzY0Nz09PXQ/azp0fSxzaXplOmZ1bmN0aW9uKGUpe3ZhciB0PWUuc2l6ZTtyZXR1cm4gMjA9PT10P2s6dH0sImNsYXNzIjpmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc05hbWV9LHN0eWxlOmZ1bmN0aW9uKGUpe3ZhciB0PWUuc3R5bGUuY3NzVGV4dDtyZXR1cm4gMD09PXQubGVuZ3RoP2s6dH19KSx4KE0sInNldCIseyJjbGFzcyI6ZnVuY3Rpb24oZSx0KXtlLmNsYXNzTmFtZT10fSxzdHlsZTpmdW5jdGlvbihlLHQpe2Uuc3R5bGUuY3NzVGV4dD10fX0pKSxpLmllJiZpLmllPDkmJihEWyJmbG9hdCJdPSJzdHlsZUZsb2F0Iix4KEwsInNldCIse29wYWNpdHk6ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLnN0eWxlO251bGw9PT10fHwiIj09PXQ/bi5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpOihuLnpvb209MSxuLmZpbHRlcj0iYWxwaGEob3BhY2l0eT0iKzEwMCp0KyIpIil9fSkpLGYuYXR0ckhvb2tzPU0sZi5jc3NIb29rcz1MLGZ9KSxyKHYsW10sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKGUsdCxuLHIpe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGU9cGFyc2VJbnQoZSwxMCkudG9TdHJpbmcoMTYpLGUubGVuZ3RoPjE/ZToiMCIrZX1yZXR1cm4iIyIraSh0KStpKG4pK2kocil9dmFyIHI9L3JnYlxzKlwoXHMqKFswLTldKylccyosXHMqKFswLTldKylccyosXHMqKFswLTldKylccypcKS9naSxpPS8oPzp1cmwoPzooPzpcKFxzKlwiKFteXCJdKylcIlxzKlwpKXwoPzpcKFxzKlwnKFteXCddKylcJ1xzKlwpKXwoPzpcKFxzKihbXilcc10rKVxzKlwpKSkpfCg/OlwnKFteXCddKylcJyl8KD86XCIoW15cIl0rKVwiKS9naSxvPS9ccyooW146XSspOlxzKihbXjtdKyk7Py9nLGE9L1xzKyQvLHMsbCxjPXt9LHUsZCxmLGg9Ilx1ZmVmZiI7Zm9yKGU9ZXx8e30sdCYmKGQ9dC5nZXRWYWxpZFN0eWxlcygpLGY9dC5nZXRJbnZhbGlkU3R5bGVzKCkpLHU9KCJcXFwiIFxcJyBcXDsgXFw6IDsgOiAiK2gpLnNwbGl0KCIgIiksbD0wO2w8dS5sZW5ndGg7bCsrKWNbdVtsXV09aCtsLGNbaCtsXT11W2xdO3JldHVybnt0b0hleDpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKHIsbil9LHBhcnNlOmZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHMoZSx0LG4pe3ZhciByLGksbyxhO2lmKHI9bVtlKyItdG9wIit0XSxyJiYoaT1tW2UrIi1yaWdodCIrdF0saSYmKG89bVtlKyItYm90dG9tIit0XSxvJiYoYT1tW2UrIi1sZWZ0Iit0XSkpKSl7dmFyIHM9W3IsaSxvLGFdO2ZvcihsPXMubGVuZ3RoLTE7bC0tJiZzW2xdPT09c1tsKzFdOyk7bD4tMSYmbnx8KG1bZSt0XT0tMT09bD9zWzBdOnMuam9pbigiICIpLGRlbGV0ZSBtW2UrIi10b3AiK3RdLGRlbGV0ZSBtW2UrIi1yaWdodCIrdF0sZGVsZXRlIG1bZSsiLWJvdHRvbSIrdF0sZGVsZXRlIG1bZSsiLWxlZnQiK3RdKX19ZnVuY3Rpb24gdShlKXt2YXIgdD1tW2VdLG47aWYodCl7Zm9yKHQ9dC5zcGxpdCgiICIpLG49dC5sZW5ndGg7bi0tOylpZih0W25dIT09dFswXSlyZXR1cm4hMTtyZXR1cm4gbVtlXT10WzBdLCEwfX1mdW5jdGlvbiBkKGUsdCxuLHIpe3UodCkmJnUobikmJnUocikmJihtW2VdPW1bdF0rIiAiK21bbl0rIiAiK21bcl0sZGVsZXRlIG1bdF0sZGVsZXRlIG1bbl0sZGVsZXRlIG1bcl0pfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIGI9ITAsY1tlXX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIGImJihlPWUucmVwbGFjZSgvXHVGRUZGWzAtOV0vZyxmdW5jdGlvbihlKXtyZXR1cm4gY1tlXX0pKSx0fHwoZT1lLnJlcGxhY2UoL1xcKFtcJ1wiOzpdKS9nLCIkMSIpKSxlfWZ1bmN0aW9uIHAodCxuLHIsaSxvLGEpe2lmKG89b3x8YSlyZXR1cm4gbz1oKG8pLCInIitvLnJlcGxhY2UoL1wnL2csIlxcJyIpKyInIjtpZihuPWgobnx8cnx8aSksIWUuYWxsb3dfc2NyaXB0X3VybHMpe3ZhciBzPW4ucmVwbGFjZSgvW1xzXHJcbl0rLywiIik7aWYoLyhqYXZhfHZiKXNjcmlwdDovaS50ZXN0KHMpKXJldHVybiIiO2lmKCFlLmFsbG93X3N2Z19kYXRhX3VybHMmJi9eZGF0YTppbWFnZVwvc3ZnL2kudGVzdChzKSlyZXR1cm4iIn1yZXR1cm4gQyYmKG49Qy5jYWxsKHgsbiwic3R5bGUiKSksInVybCgnIituLnJlcGxhY2UoL1wnL2csIlxcJyIpKyInKSJ9dmFyIG09e30sZyx2LHksYixDPWUudXJsX2NvbnZlcnRlcix4PWUudXJsX2NvbnZlcnRlcl9zY29wZXx8dGhpcztpZih0KXtmb3IodD10LnJlcGxhY2UoL1tcdTAwMDAtXHUwMDFGXS9nLCIiKSx0PXQucmVwbGFjZSgvXFxbXCJcJzs6XHVGRUZGXS9nLGYpLnJlcGxhY2UoL1wiW15cIl0rXCJ8XCdbXlwnXStcJy9nLGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1s7Ol0vZyxmKX0pO2c9by5leGVjKHQpOyl7aWYodj1nWzFdLnJlcGxhY2UoYSwiIikudG9Mb3dlckNhc2UoKSx5PWdbMl0ucmVwbGFjZShhLCIiKSx5PXkucmVwbGFjZSgvXFxbMC05YS1mXSsvZyxmdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChlLnN1YnN0cigxKSwxNikpfSksdiYmeS5sZW5ndGg+MCl7aWYoIWUuYWxsb3dfc2NyaXB0X3VybHMmJigiYmVoYXZpb3IiPT12fHwvZXhwcmVzc2lvblxzKlwofFwvXCp8XCpcLy8udGVzdCh5KSkpY29udGludWU7ImZvbnQtd2VpZ2h0Ij09PXYmJiI3MDAiPT09eT95PSJib2xkIjoiY29sb3IiIT09diYmImJhY2tncm91bmQtY29sb3IiIT09dnx8KHk9eS50b0xvd2VyQ2FzZSgpKSx5PXkucmVwbGFjZShyLG4pLHk9eS5yZXBsYWNlKGkscCksbVt2XT1iP2goeSwhMCk6eX1vLmxhc3RJbmRleD1nLmluZGV4K2dbMF0ubGVuZ3RofXMoImJvcmRlciIsIiIsITApLHMoImJvcmRlciIsIi13aWR0aCIpLHMoImJvcmRlciIsIi1jb2xvciIpLHMoImJvcmRlciIsIi1zdHlsZSIpLHMoInBhZGRpbmciLCIiKSxzKCJtYXJnaW4iLCIiKSxkKCJib3JkZXIiLCJib3JkZXItd2lkdGgiLCJib3JkZXItc3R5bGUiLCJib3JkZXItY29sb3IiKSwibWVkaXVtIG5vbmUiPT09bS5ib3JkZXImJmRlbGV0ZSBtLmJvcmRlciwibm9uZSI9PT1tWyJib3JkZXItaW1hZ2UiXSYmZGVsZXRlIG1bImJvcmRlci1pbWFnZSJdfXJldHVybiBtfSxzZXJpYWxpemU6ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKHQpe3ZhciBuLHIsbyxhO2lmKG49ZFt0XSlmb3Iocj0wLG89bi5sZW5ndGg7bz5yO3IrKyl0PW5bcl0sYT1lW3RdLGEhPT1zJiZhLmxlbmd0aD4wJiYoaSs9KGkubGVuZ3RoPjA/IiAiOiIiKSt0KyI6ICIrYSsiOyIpfWZ1bmN0aW9uIHIoZSx0KXt2YXIgbjtyZXR1cm4gbj1mWyIqIl0sbiYmbltlXT8hMToobj1mW3RdLCFufHwhbltlXSl9dmFyIGk9IiIsbyxhO2lmKHQmJmQpbigiKiIpLG4odCk7ZWxzZSBmb3IobyBpbiBlKWE9ZVtvXSxhIT09cyYmYS5sZW5ndGg+MCYmKGYmJiFyKG8sdCl8fChpKz0oaS5sZW5ndGg+MD8iICI6IiIpK28rIjogIithKyI7IikpO3JldHVybiBpfX19fSkscih5LFtdLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlLG4scixpKXt2YXIgbyxhO2lmKGUpe2lmKCFpJiZlW25dKXJldHVybiBlW25dO2lmKGUhPXQpe2lmKG89ZVtyXSlyZXR1cm4gbztmb3IoYT1lLnBhcmVudE5vZGU7YSYmYSE9dDthPWEucGFyZW50Tm9kZSlpZihvPWFbcl0pcmV0dXJuIG99fX1mdW5jdGlvbiByKGUsbixyLGkpe3ZhciBvLGEscztpZihlKXtpZihvPWVbcl0sdCYmbz09PXQpcmV0dXJuO2lmKG8pe2lmKCFpKWZvcihzPW9bbl07cztzPXNbbl0paWYoIXNbbl0pcmV0dXJuIHM7cmV0dXJuIG99aWYoYT1lLnBhcmVudE5vZGUsYSYmYSE9PXQpcmV0dXJuIGF9fXZhciBpPWU7dGhpcy5jdXJyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGl9LHRoaXMubmV4dD1mdW5jdGlvbihlKXtyZXR1cm4gaT1uKGksImZpcnN0Q2hpbGQiLCJuZXh0U2libGluZyIsZSl9LHRoaXMucHJldj1mdW5jdGlvbihlKXtyZXR1cm4gaT1uKGksImxhc3RDaGlsZCIsInByZXZpb3VzU2libGluZyIsZSl9LHRoaXMucHJldjI9ZnVuY3Rpb24oZSl7cmV0dXJuIGk9cihpLCJsYXN0Q2hpbGQiLCJwcmV2aW91c1NpYmxpbmciLGUpfX19KSxyKGIsW21dLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQobil7ZnVuY3Rpb24gcigpe3JldHVybiBQLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1mdW5jdGlvbiBpKGUsdCl7TihGLGUsdCl9ZnVuY3Rpb24gbyhlLHQpe04oeixlLHQpfWZ1bmN0aW9uIGEoZSl7aShlLnBhcmVudE5vZGUsaihlKSl9ZnVuY3Rpb24gcyhlKXtpKGUucGFyZW50Tm9kZSxqKGUpKzEpfWZ1bmN0aW9uIGwoZSl7byhlLnBhcmVudE5vZGUsaihlKSl9ZnVuY3Rpb24gYyhlKXtvKGUucGFyZW50Tm9kZSxqKGUpKzEpfWZ1bmN0aW9uIHUoZSl7ZT8oTFtVXT1MW1ZdLExbJF09TFtXXSk6KExbVl09TFtVXSxMW1ddPUxbJF0pLEwuY29sbGFwc2VkPUZ9ZnVuY3Rpb24gZChlKXthKGUpLGMoZSl9ZnVuY3Rpb24gZihlKXtpKGUsMCksbyhlLDE9PT1lLm5vZGVUeXBlP2UuY2hpbGROb2Rlcy5sZW5ndGg6ZS5ub2RlVmFsdWUubGVuZ3RoKX1mdW5jdGlvbiBoKGUsdCl7dmFyIG49TFtWXSxyPUxbV10saT1MW1VdLG89TFskXSxhPXQuc3RhcnRDb250YWluZXIscz10LnN0YXJ0T2Zmc2V0LGw9dC5lbmRDb250YWluZXIsYz10LmVuZE9mZnNldDtyZXR1cm4gMD09PWU/dyhuLHIsYSxzKToxPT09ZT93KGksbyxhLHMpOjI9PT1lP3coaSxvLGwsYyk6Mz09PWU/dyhuLHIsbCxjKTp2b2lkIDB9ZnVuY3Rpb24gcCgpe0UoSSl9ZnVuY3Rpb24gbSgpe3JldHVybiBFKEgpfWZ1bmN0aW9uIGcoKXtyZXR1cm4gRShPKX1mdW5jdGlvbiB2KGUpe3ZhciB0PXRoaXNbVl0scj10aGlzW1ddLGksbzszIT09dC5ub2RlVHlwZSYmNCE9PXQubm9kZVR5cGV8fCF0Lm5vZGVWYWx1ZT8odC5jaGlsZE5vZGVzLmxlbmd0aD4wJiYobz10LmNoaWxkTm9kZXNbcl0pLG8/dC5pbnNlcnRCZWZvcmUoZSxvKTozPT10Lm5vZGVUeXBlP24uaW5zZXJ0QWZ0ZXIoZSx0KTp0LmFwcGVuZENoaWxkKGUpKTpyP3I+PXQubm9kZVZhbHVlLmxlbmd0aD9uLmluc2VydEFmdGVyKGUsdCk6KGk9dC5zcGxpdFRleHQociksdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLGkpKTp0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdCl9ZnVuY3Rpb24geShlKXt2YXIgdD1MLmV4dHJhY3RDb250ZW50cygpO0wuaW5zZXJ0Tm9kZShlKSxlLmFwcGVuZENoaWxkKHQpLEwuc2VsZWN0Tm9kZShlKX1mdW5jdGlvbiBiKCl7cmV0dXJuIHEobmV3IHQobikse3N0YXJ0Q29udGFpbmVyOkxbVl0sc3RhcnRPZmZzZXQ6TFtXXSxlbmRDb250YWluZXI6TFtVXSxlbmRPZmZzZXQ6TFskXSxjb2xsYXBzZWQ6TC5jb2xsYXBzZWQsY29tbW9uQW5jZXN0b3JDb250YWluZXI6TC5jb21tb25BbmNlc3RvckNvbnRhaW5lcn0pfWZ1bmN0aW9uIEMoZSx0KXt2YXIgbjtpZigzPT1lLm5vZGVUeXBlKXJldHVybiBlO2lmKDA+dClyZXR1cm4gZTtmb3Iobj1lLmZpcnN0Q2hpbGQ7biYmdD4wOyktLXQsbj1uLm5leHRTaWJsaW5nO3JldHVybiBuP246ZX1mdW5jdGlvbiB4KCl7cmV0dXJuIExbVl09PUxbVV0mJkxbV109PUxbJF19ZnVuY3Rpb24gdyhlLHQscixpKXt2YXIgbyxhLHMsbCxjLHU7aWYoZT09cilyZXR1cm4gdD09aT8wOmk+dD8tMToxO2ZvcihvPXI7byYmby5wYXJlbnROb2RlIT1lOylvPW8ucGFyZW50Tm9kZTtpZihvKXtmb3IoYT0wLHM9ZS5maXJzdENoaWxkO3MhPW8mJnQ+YTspYSsrLHM9cy5uZXh0U2libGluZztyZXR1cm4gYT49dD8tMToxfWZvcihvPWU7byYmby5wYXJlbnROb2RlIT1yOylvPW8ucGFyZW50Tm9kZTtpZihvKXtmb3IoYT0wLHM9ci5maXJzdENoaWxkO3MhPW8mJmk+YTspYSsrLHM9cy5uZXh0U2libGluZztyZXR1cm4gaT5hPy0xOjF9Zm9yKGw9bi5maW5kQ29tbW9uQW5jZXN0b3IoZSxyKSxjPWU7YyYmYy5wYXJlbnROb2RlIT1sOyljPWMucGFyZW50Tm9kZTtmb3IoY3x8KGM9bCksdT1yO3UmJnUucGFyZW50Tm9kZSE9bDspdT11LnBhcmVudE5vZGU7aWYodXx8KHU9bCksYz09dSlyZXR1cm4gMDtmb3Iocz1sLmZpcnN0Q2hpbGQ7czspe2lmKHM9PWMpcmV0dXJuLTE7aWYocz09dSlyZXR1cm4gMTtzPXMubmV4dFNpYmxpbmd9fWZ1bmN0aW9uIE4oZSx0LHIpe3ZhciBpLG87Zm9yKGU/KExbVl09dCxMW1ddPXIpOihMW1VdPXQsTFskXT1yKSxpPUxbVV07aS5wYXJlbnROb2RlOylpPWkucGFyZW50Tm9kZTtmb3Iobz1MW1ZdO28ucGFyZW50Tm9kZTspbz1vLnBhcmVudE5vZGU7bz09aT93KExbVl0sTFtXXSxMW1VdLExbJF0pPjAmJkwuY29sbGFwc2UoZSk6TC5jb2xsYXBzZShlKSxMLmNvbGxhcHNlZD14KCksTC5jb21tb25BbmNlc3RvckNvbnRhaW5lcj1uLmZpbmRDb21tb25BbmNlc3RvcihMW1ZdLExbVV0pfWZ1bmN0aW9uIEUoZSl7dmFyIHQsbj0wLHI9MCxpLG8sYSxzLGwsYztpZihMW1ZdPT1MW1VdKXJldHVybiBfKGUpO2Zvcih0PUxbVV0saT10LnBhcmVudE5vZGU7aTt0PWksaT1pLnBhcmVudE5vZGUpe2lmKGk9PUxbVl0pcmV0dXJuIFModCxlKTsrK259Zm9yKHQ9TFtWXSxpPXQucGFyZW50Tm9kZTtpO3Q9aSxpPWkucGFyZW50Tm9kZSl7aWYoaT09TFtVXSlyZXR1cm4gayh0LGUpOysrcn1mb3Iobz1yLW4sYT1MW1ZdO28+MDspYT1hLnBhcmVudE5vZGUsby0tO2ZvcihzPUxbVV07MD5vOylzPXMucGFyZW50Tm9kZSxvKys7Zm9yKGw9YS5wYXJlbnROb2RlLGM9cy5wYXJlbnROb2RlO2whPWM7bD1sLnBhcmVudE5vZGUsYz1jLnBhcmVudE5vZGUpYT1sLHM9YztyZXR1cm4gVChhLHMsZSl9ZnVuY3Rpb24gXyhlKXt2YXIgdCxuLGksbyxhLHMsbCxjLHU7aWYoZSE9SSYmKHQ9cigpKSxMW1ddPT1MWyRdKXJldHVybiB0O2lmKDM9PUxbVl0ubm9kZVR5cGUpe2lmKG49TFtWXS5ub2RlVmFsdWUsaT1uLnN1YnN0cmluZyhMW1ddLExbJF0pLGUhPU8mJihvPUxbVl0sYz1MW1ddLHU9TFskXS1MW1ddLDA9PT1jJiZ1Pj1vLm5vZGVWYWx1ZS5sZW5ndGgtMT9vLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobyk6by5kZWxldGVEYXRhKGMsdSksTC5jb2xsYXBzZShGKSksZT09SSlyZXR1cm47cmV0dXJuIGkubGVuZ3RoPjAmJnQuYXBwZW5kQ2hpbGQoUC5jcmVhdGVUZXh0Tm9kZShpKSksdH1mb3Iobz1DKExbVl0sTFtXXSksYT1MWyRdLUxbV107byYmYT4wOylzPW8ubmV4dFNpYmxpbmcsbD1EKG8sZSksdCYmdC5hcHBlbmRDaGlsZChsKSwtLWEsbz1zO3JldHVybiBlIT1PJiZMLmNvbGxhcHNlKEYpLHR9ZnVuY3Rpb24gUyhlLHQpe3ZhciBuLGksbyxhLHMsbDtpZih0IT1JJiYobj1yKCkpLGk9UihlLHQpLG4mJm4uYXBwZW5kQ2hpbGQoaSksbz1qKGUpLGE9by1MW1ddLDA+PWEpcmV0dXJuIHQhPU8mJihMLnNldEVuZEJlZm9yZShlKSxMLmNvbGxhcHNlKHopKSxuO2ZvcihpPWUucHJldmlvdXNTaWJsaW5nO2E+MDspcz1pLnByZXZpb3VzU2libGluZyxsPUQoaSx0KSxuJiZuLmluc2VydEJlZm9yZShsLG4uZmlyc3RDaGlsZCksLS1hLGk9cztyZXR1cm4gdCE9TyYmKEwuc2V0RW5kQmVmb3JlKGUpLEwuY29sbGFwc2UoeikpLG59ZnVuY3Rpb24gayhlLHQpe3ZhciBuLGksbyxhLHMsbDtmb3IodCE9SSYmKG49cigpKSxvPUEoZSx0KSxuJiZuLmFwcGVuZENoaWxkKG8pLGk9aihlKSwrK2ksYT1MWyRdLWksbz1lLm5leHRTaWJsaW5nO28mJmE+MDspcz1vLm5leHRTaWJsaW5nLGw9RChvLHQpLG4mJm4uYXBwZW5kQ2hpbGQobCksLS1hLG89cztyZXR1cm4gdCE9TyYmKEwuc2V0U3RhcnRBZnRlcihlKSxMLmNvbGxhcHNlKEYpKSxufWZ1bmN0aW9uIFQoZSx0LG4pe3ZhciBpLG8sYSxzLGwsYyx1O2ZvcihuIT1JJiYobz1yKCkpLGk9QShlLG4pLG8mJm8uYXBwZW5kQ2hpbGQoaSksYT1qKGUpLHM9aih0KSwrK2EsbD1zLWEsYz1lLm5leHRTaWJsaW5nO2w+MDspdT1jLm5leHRTaWJsaW5nLGk9RChjLG4pLG8mJm8uYXBwZW5kQ2hpbGQoaSksYz11LC0tbDtyZXR1cm4gaT1SKHQsbiksbyYmby5hcHBlbmRDaGlsZChpKSxuIT1PJiYoTC5zZXRTdGFydEFmdGVyKGUpLEwuY29sbGFwc2UoRikpLG99ZnVuY3Rpb24gUihlLHQpe3ZhciBuPUMoTFtVXSxMWyRdLTEpLHIsaSxvLGEscyxsPW4hPUxbVV07aWYobj09ZSlyZXR1cm4gQihuLGwseix0KTtmb3Iocj1uLnBhcmVudE5vZGUsaT1CKHIseix6LHQpO3I7KXtmb3IoO247KW89bi5wcmV2aW91c1NpYmxpbmcsYT1CKG4sbCx6LHQpLHQhPUkmJmkuaW5zZXJ0QmVmb3JlKGEsaS5maXJzdENoaWxkKSxsPUYsbj1vO2lmKHI9PWUpcmV0dXJuIGk7bj1yLnByZXZpb3VzU2libGluZyxyPXIucGFyZW50Tm9kZSxzPUIocix6LHosdCksdCE9SSYmcy5hcHBlbmRDaGlsZChpKSxpPXN9fWZ1bmN0aW9uIEEoZSx0KXt2YXIgbj1DKExbVl0sTFtXXSkscj1uIT1MW1ZdLGksbyxhLHMsbDtpZihuPT1lKXJldHVybiBCKG4scixGLHQpO2ZvcihpPW4ucGFyZW50Tm9kZSxvPUIoaSx6LEYsdCk7aTspe2Zvcig7bjspYT1uLm5leHRTaWJsaW5nLHM9QihuLHIsRix0KSx0IT1JJiZvLmFwcGVuZENoaWxkKHMpLHI9RixuPWE7aWYoaT09ZSlyZXR1cm4gbztuPWkubmV4dFNpYmxpbmcsaT1pLnBhcmVudE5vZGUsbD1CKGkseixGLHQpLHQhPUkmJmwuYXBwZW5kQ2hpbGQobyksbz1sfX1mdW5jdGlvbiBCKGUsdCxyLGkpe3ZhciBvLGEscyxsLGM7aWYodClyZXR1cm4gRChlLGkpO2lmKDM9PWUubm9kZVR5cGUpe2lmKG89ZS5ub2RlVmFsdWUscj8obD1MW1ddLGE9by5zdWJzdHJpbmcobCkscz1vLnN1YnN0cmluZygwLGwpKToobD1MWyRdLGE9by5zdWJzdHJpbmcoMCxsKSxzPW8uc3Vic3RyaW5nKGwpKSxpIT1PJiYoZS5ub2RlVmFsdWU9cyksaT09SSlyZXR1cm47cmV0dXJuIGM9bi5jbG9uZShlLHopLGMubm9kZVZhbHVlPWEsY31pZihpIT1JKXJldHVybiBuLmNsb25lKGUseil9ZnVuY3Rpb24gRChlLHQpe3JldHVybiB0IT1JP3Q9PU8/bi5jbG9uZShlLEYpOmU6dm9pZCBlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9ZnVuY3Rpb24gTSgpe3JldHVybiBuLmNyZWF0ZSgiYm9keSIsbnVsbCxnKCkpLm91dGVyVGV4dH12YXIgTD10aGlzLFA9bi5kb2MsSD0wLE89MSxJPTIsRj0hMCx6PSExLFc9InN0YXJ0T2Zmc2V0IixWPSJzdGFydENvbnRhaW5lciIsVT0iZW5kQ29udGFpbmVyIiwkPSJlbmRPZmZzZXQiLHE9ZS5leHRlbmQsaj1uLm5vZGVJbmRleDtyZXR1cm4gcShMLHtzdGFydENvbnRhaW5lcjpQLHN0YXJ0T2Zmc2V0OjAsZW5kQ29udGFpbmVyOlAsZW5kT2Zmc2V0OjAsY29sbGFwc2VkOkYsY29tbW9uQW5jZXN0b3JDb250YWluZXI6UCxTVEFSVF9UT19TVEFSVDowLFNUQVJUX1RPX0VORDoxLEVORF9UT19FTkQ6MixFTkRfVE9fU1RBUlQ6MyxzZXRTdGFydDppLHNldEVuZDpvLHNldFN0YXJ0QmVmb3JlOmEsc2V0U3RhcnRBZnRlcjpzLHNldEVuZEJlZm9yZTpsLHNldEVuZEFmdGVyOmMsY29sbGFwc2U6dSxzZWxlY3ROb2RlOmQsc2VsZWN0Tm9kZUNvbnRlbnRzOmYsY29tcGFyZUJvdW5kYXJ5UG9pbnRzOmgsZGVsZXRlQ29udGVudHM6cCxleHRyYWN0Q29udGVudHM6bSxjbG9uZUNvbnRlbnRzOmcsaW5zZXJ0Tm9kZTp2LHN1cnJvdW5kQ29udGVudHM6eSxjbG9uZVJhbmdlOmIsdG9TdHJpbmdJRTpNfSksTH1yZXR1cm4gdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b1N0cmluZ0lFKCl9LHR9KSxyKEMsW21dLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7dmFyIHQ7cmV0dXJuIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5pbm5lckhUTUw9ZSx0LnRleHRDb250ZW50fHx0LmlubmVyVGV4dHx8ZX1mdW5jdGlvbiBuKGUsdCl7dmFyIG4scixpLGE9e307aWYoZSl7Zm9yKGU9ZS5zcGxpdCgiLCIpLHQ9dHx8MTAsbj0wO248ZS5sZW5ndGg7bis9MilyPVN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoZVtuXSx0KSksb1tyXXx8KGk9IiYiK2VbbisxXSsiOyIsYVtyXT1pLGFbaV09cik7cmV0dXJuIGF9fXZhciByPWUubWFrZU1hcCxpLG8sYSxzPS9bJjw+XCJcdTAwNjBcdTAwN0UtXHVEN0ZGXHVFMDAwLVx1RkZFRl18W1x1RDgwMC1cdURCRkZdW1x1REMwMC1cdURGRkZdL2csbD0vWzw+Jlx1MDA3RS1cdUQ3RkZcdUUwMDAtXHVGRkVGXXxbXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl0vZyxjPS9bPD4mXCJcJ10vZyx1PS8mIyhbYS16MC05XSspOz98JihbYS16MC05XSspOy9naSxkPXsxMjg6Ilx1MjBhYyIsMTMwOiJcdTIwMWEiLDEzMToiXHUwMTkyIiwxMzI6Ilx1MjAxZSIsMTMzOiJcdTIwMjYiLDEzNDoiXHUyMDIwIiwxMzU6Ilx1MjAyMSIsMTM2OiJcdTAyYzYiLDEzNzoiXHUyMDMwIiwxMzg6Ilx1MDE2MCIsMTM5OiJcdTIwMzkiLDE0MDoiXHUwMTUyIiwxNDI6Ilx1MDE3ZCIsMTQ1OiJcdTIwMTgiLDE0NjoiXHUyMDE5IiwxNDc6Ilx1MjAxYyIsMTQ4OiJcdTIwMWQiLDE0OToiXHUyMDIyIiwxNTA6Ilx1MjAxMyIsMTUxOiJcdTIwMTQiLDE1MjoiXHUwMmRjIiwxNTM6Ilx1MjEyMiIsMTU0OiJcdTAxNjEiLDE1NToiXHUyMDNhIiwxNTY6Ilx1MDE1MyIsMTU4OiJcdTAxN2UiLDE1OToiXHUwMTc4In07bz17JyInOiImcXVvdDsiLCInIjoiJiMzOTsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwiJiI6IiZhbXA7IiwiYCI6IiYjOTY7In0sYT17IiZsdDsiOiI8IiwiJmd0OyI6Ij4iLCImYW1wOyI6IiYiLCImcXVvdDsiOiciJywiJmFwb3M7IjoiJyJ9LGk9bigiNTAsbmJzcCw1MSxpZXhjbCw1MixjZW50LDUzLHBvdW5kLDU0LGN1cnJlbiw1NSx5ZW4sNTYsYnJ2YmFyLDU3LHNlY3QsNTgsdW1sLDU5LGNvcHksNWEsb3JkZiw1YixsYXF1byw1Yyxub3QsNWQsc2h5LDVlLHJlZyw1ZixtYWNyLDVnLGRlZyw1aCxwbHVzbW4sNWksc3VwMiw1aixzdXAzLDVrLGFjdXRlLDVsLG1pY3JvLDVtLHBhcmEsNW4sbWlkZG90LDVvLGNlZGlsLDVwLHN1cDEsNXEsb3JkbSw1cixyYXF1byw1cyxmcmFjMTQsNXQsZnJhYzEyLDV1LGZyYWMzNCw1dixpcXVlc3QsNjAsQWdyYXZlLDYxLEFhY3V0ZSw2MixBY2lyYyw2MyxBdGlsZGUsNjQsQXVtbCw2NSxBcmluZyw2NixBRWxpZyw2NyxDY2VkaWwsNjgsRWdyYXZlLDY5LEVhY3V0ZSw2YSxFY2lyYyw2YixFdW1sLDZjLElncmF2ZSw2ZCxJYWN1dGUsNmUsSWNpcmMsNmYsSXVtbCw2ZyxFVEgsNmgsTnRpbGRlLDZpLE9ncmF2ZSw2aixPYWN1dGUsNmssT2NpcmMsNmwsT3RpbGRlLDZtLE91bWwsNm4sdGltZXMsNm8sT3NsYXNoLDZwLFVncmF2ZSw2cSxVYWN1dGUsNnIsVWNpcmMsNnMsVXVtbCw2dCxZYWN1dGUsNnUsVEhPUk4sNnYsc3psaWcsNzAsYWdyYXZlLDcxLGFhY3V0ZSw3MixhY2lyYyw3MyxhdGlsZGUsNzQsYXVtbCw3NSxhcmluZyw3NixhZWxpZyw3NyxjY2VkaWwsNzgsZWdyYXZlLDc5LGVhY3V0ZSw3YSxlY2lyYyw3YixldW1sLDdjLGlncmF2ZSw3ZCxpYWN1dGUsN2UsaWNpcmMsN2YsaXVtbCw3ZyxldGgsN2gsbnRpbGRlLDdpLG9ncmF2ZSw3aixvYWN1dGUsN2ssb2NpcmMsN2wsb3RpbGRlLDdtLG91bWwsN24sZGl2aWRlLDdvLG9zbGFzaCw3cCx1Z3JhdmUsN3EsdWFjdXRlLDdyLHVjaXJjLDdzLHV1bWwsN3QseWFjdXRlLDd1LHRob3JuLDd2LHl1bWwsY2ksZm5vZixzaCxBbHBoYSxzaSxCZXRhLHNqLEdhbW1hLHNrLERlbHRhLHNsLEVwc2lsb24sc20sWmV0YSxzbixFdGEsc28sVGhldGEsc3AsSW90YSxzcSxLYXBwYSxzcixMYW1iZGEsc3MsTXUsc3QsTnUsc3UsWGksc3YsT21pY3Jvbix0MCxQaSx0MSxSaG8sdDMsU2lnbWEsdDQsVGF1LHQ1LFVwc2lsb24sdDYsUGhpLHQ3LENoaSx0OCxQc2ksdDksT21lZ2EsdGgsYWxwaGEsdGksYmV0YSx0aixnYW1tYSx0ayxkZWx0YSx0bCxlcHNpbG9uLHRtLHpldGEsdG4sZXRhLHRvLHRoZXRhLHRwLGlvdGEsdHEsa2FwcGEsdHIsbGFtYmRhLHRzLG11LHR0LG51LHR1LHhpLHR2LG9taWNyb24sdTAscGksdTEscmhvLHUyLHNpZ21hZix1MyxzaWdtYSx1NCx0YXUsdTUsdXBzaWxvbix1NixwaGksdTcsY2hpLHU4LHBzaSx1OSxvbWVnYSx1aCx0aGV0YXN5bSx1aSx1cHNpaCx1bSxwaXYsODEyLGJ1bGwsODE2LGhlbGxpcCw4MWkscHJpbWUsODFqLFByaW1lLDgxdSxvbGluZSw4MjQsZnJhc2wsODhvLHdlaWVycCw4OGgsaW1hZ2UsODhzLHJlYWwsODkyLHRyYWRlLDg5bCxhbGVmc3ltLDhjZyxsYXJyLDhjaCx1YXJyLDhjaSxyYXJyLDhjaixkYXJyLDhjayxoYXJyLDhkbCxjcmFyciw4ZWcsbEFyciw4ZWgsdUFyciw4ZWksckFyciw4ZWosZEFyciw4ZWssaEFyciw4ZzAsZm9yYWxsLDhnMixwYXJ0LDhnMyxleGlzdCw4ZzUsZW1wdHksOGc3LG5hYmxhLDhnOCxpc2luLDhnOSxub3Rpbiw4Z2IsbmksOGdmLHByb2QsOGdoLHN1bSw4Z2ksbWludXMsOGduLGxvd2FzdCw4Z3EscmFkaWMsOGd0LHByb3AsOGd1LGluZmluLDhoMCxhbmcsOGg3LGFuZCw4aDgsb3IsOGg5LGNhcCw4aGEsY3VwLDhoYixpbnQsOGhrLHRoZXJlNCw4aHMsc2ltLDhpNSxjb25nLDhpOCxhc3ltcCw4ajAsbmUsOGoxLGVxdWl2LDhqNCxsZSw4ajUsZ2UsOGsyLHN1Yiw4azMsc3VwLDhrNCxuc3ViLDhrNixzdWJlLDhrNyxzdXBlLDhrbCxvcGx1cyw4a24sb3RpbWVzLDhsNSxwZXJwLDhtNSxzZG90LDhvOCxsY2VpbCw4bzkscmNlaWwsOG9hLGxmbG9vciw4b2IscmZsb29yLDhwOSxsYW5nLDhwYSxyYW5nLDllYSxsb3osOWowLHNwYWRlcyw5ajMsY2x1YnMsOWo1LGhlYXJ0cyw5ajYsZGlhbXMsYWksT0VsaWcsYWosb2VsaWcsYjAsU2Nhcm9uLGIxLHNjYXJvbixibyxZdW1sLG02LGNpcmMsbXMsdGlsZGUsODAyLGVuc3AsODAzLGVtc3AsODA5LHRoaW5zcCw4MGMsenduaiw4MGQsendqLDgwZSxscm0sODBmLHJsbSw4MGosbmRhc2gsODBrLG1kYXNoLDgwbyxsc3F1byw4MHAscnNxdW8sODBxLHNicXVvLDgwcyxsZHF1byw4MHQscmRxdW8sODB1LGJkcXVvLDgxMCxkYWdnZXIsODExLERhZ2dlciw4MWcscGVybWlsLDgxcCxsc2FxdW8sODFxLHJzYXF1byw4NWMsZXVybyIsMzIpO3ZhciBmPXtlbmNvZGVSYXc6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHQ/czpsLGZ1bmN0aW9uKGUpe3JldHVybiBvW2VdfHxlfSl9LGVuY29kZUFsbFJhdzpmdW5jdGlvbihlKXtyZXR1cm4oIiIrZSkucmVwbGFjZShjLGZ1bmN0aW9uKGUpe3JldHVybiBvW2VdfHxlfSl9LGVuY29kZU51bWVyaWM6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHQ/czpsLGZ1bmN0aW9uKGUpe3JldHVybiBlLmxlbmd0aD4xPyImIyIrKDEwMjQqKGUuY2hhckNvZGVBdCgwKS01NTI5NikrKGUuY2hhckNvZGVBdCgxKS01NjMyMCkrNjU1MzYpKyI7IjpvW2VdfHwiJiMiK2UuY2hhckNvZGVBdCgwKSsiOyJ9KX0sZW5jb2RlTmFtZWQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuPW58fGksZS5yZXBsYWNlKHQ/czpsLGZ1bmN0aW9uKGUpe3JldHVybiBvW2VdfHxuW2VdfHxlfSl9LGdldEVuY29kZUZ1bmM6ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBhKGUsbil7cmV0dXJuIGUucmVwbGFjZShuP3M6bCxmdW5jdGlvbihlKXtyZXR1cm4gb1tlXXx8dFtlXXx8IiYjIitlLmNoYXJDb2RlQXQoMCkrIjsifHxlfSl9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiBmLmVuY29kZU5hbWVkKGUsbix0KX1yZXR1cm4gdD1uKHQpfHxpLGU9cihlLnJlcGxhY2UoL1wrL2csIiwiKSksZS5uYW1lZCYmZS5udW1lcmljP2E6ZS5uYW1lZD90P2M6Zi5lbmNvZGVOYW1lZDplLm51bWVyaWM/Zi5lbmNvZGVOdW1lcmljOmYuZW5jb2RlUmF3fSxkZWNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSh1LGZ1bmN0aW9uKGUsbil7cmV0dXJuIG4/KG49IngiPT09bi5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKT9wYXJzZUludChuLnN1YnN0cigxKSwxNik6cGFyc2VJbnQobiwxMCksbj42NTUzNT8obi09NjU1MzYsU3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5Nisobj4+MTApLDU2MzIwKygxMDIzJm4pKSk6ZFtuXXx8U3RyaW5nLmZyb21DaGFyQ29kZShuKSk6YVtlXXx8aVtlXXx8dChlKX0pfX07cmV0dXJuIGZ9KSxyKHgsW20sdV0sZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24obixyKXtmdW5jdGlvbiBpKGUpe24uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChlKX1mdW5jdGlvbiBvKHIsbyxjKXtmdW5jdGlvbiB1KCl7Zm9yKHZhciBlPWIucGFzc2VkLHQ9ZS5sZW5ndGg7dC0tOyllW3RdKCk7Yi5zdGF0dXM9MixiLnBhc3NlZD1bXSxiLmZhaWxlZD1bXX1mdW5jdGlvbiBkKCl7Zm9yKHZhciBlPWIuZmFpbGVkLHQ9ZS5sZW5ndGg7dC0tOyllW3RdKCk7Yi5zdGF0dXM9MyxiLnBhc3NlZD1bXSxiLmZhaWxlZD1bXX1mdW5jdGlvbiBmKCl7dmFyIGU9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2ViS2l0XC8oXGQqKS8pO3JldHVybiEhKGUmJmVbMV08NTM2KX1mdW5jdGlvbiBoKGUsbil7ZSgpfHwoKG5ldyBEYXRlKS5nZXRUaW1lKCkteTxsP3Quc2V0VGltZW91dChuKTpkKCkpfWZ1bmN0aW9uIHAoKXtoKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPW4uc3R5bGVTaGVldHMsdCxyPWUubGVuZ3RoLGk7ci0tOylpZih0PWVbcl0saT10Lm93bmVyTm9kZT90Lm93bmVyTm9kZTp0Lm93bmluZ0VsZW1lbnQsaSYmaS5pZD09PWcuaWQpcmV0dXJuIHUoKSwhMH0scCl9ZnVuY3Rpb24gbSgpe2goZnVuY3Rpb24oKXt0cnl7dmFyIGU9di5zaGVldC5jc3NSdWxlcztyZXR1cm4gdSgpLCEhZX1jYXRjaCh0KXt9fSxtKX12YXIgZyx2LHksYjtpZihyPWUuX2FkZENhY2hlU3VmZml4KHIpLHNbcl0/Yj1zW3JdOihiPXtwYXNzZWQ6W10sZmFpbGVkOltdfSxzW3JdPWIpLG8mJmIucGFzc2VkLnB1c2gobyksYyYmYi5mYWlsZWQucHVzaChjKSwxIT1iLnN0YXR1cyl7aWYoMj09Yi5zdGF0dXMpcmV0dXJuIHZvaWQgdSgpO2lmKDM9PWIuc3RhdHVzKXJldHVybiB2b2lkIGQoKTtpZihiLnN0YXR1cz0xLGc9bi5jcmVhdGVFbGVtZW50KCJsaW5rIiksZy5yZWw9InN0eWxlc2hlZXQiLGcudHlwZT0idGV4dC9jc3MiLGcuaWQ9InUiK2ErKyxnLmFzeW5jPSExLGcuZGVmZXI9ITEseT0obmV3IERhdGUpLmdldFRpbWUoKSwib25sb2FkImluIGcmJiFmKCkpZy5vbmxvYWQ9cCxnLm9uZXJyb3I9ZDtlbHNle2lmKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiRmlyZWZveCIpPjApcmV0dXJuIHY9bi5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLHYudGV4dENvbnRlbnQ9J0BpbXBvcnQgIicrcisnIicsbSgpLHZvaWQgaSh2KTtwKCl9aShnKSxnLmhyZWY9cn19dmFyIGE9MCxzPXt9LGw7cj1yfHx7fSxsPXIubWF4TG9hZFRpbWV8fDVlMyx0aGlzLmxvYWQ9b319KSxyKHcsW2YsZyx2LGQseSxiLEMsaCxtLHhdLGZ1bmN0aW9uKGUsbixyLGksbyxhLHMsbCxjLHUpe2Z1bmN0aW9uIGQoZSx0KXt2YXIgbj17fSxyPXQua2VlcF92YWx1ZXMsaTtyZXR1cm4gaT17c2V0OmZ1bmN0aW9uKG4scixpKXt0LnVybF9jb252ZXJ0ZXImJihyPXQudXJsX2NvbnZlcnRlci5jYWxsKHQudXJsX2NvbnZlcnRlcl9zY29wZXx8ZSxyLGksblswXSkpLG4uYXR0cigiZGF0YS1tY2UtIitpLHIpLmF0dHIoaSxyKX0sZ2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuYXR0cigiZGF0YS1tY2UtIit0KXx8ZS5hdHRyKHQpfX0sbj17c3R5bGU6e3NldDpmdW5jdGlvbihlLHQpe3JldHVybiBudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0P3ZvaWQgZS5jc3ModCk6KHImJmUuYXR0cigiZGF0YS1tY2Utc3R5bGUiLHQpLHZvaWQgZS5hdHRyKCJzdHlsZSIsdCkpfSxnZXQ6ZnVuY3Rpb24odCl7dmFyIG49dC5hdHRyKCJkYXRhLW1jZS1zdHlsZSIpfHx0LmF0dHIoInN0eWxlIik7cmV0dXJuIG49ZS5zZXJpYWxpemVTdHlsZShlLnBhcnNlU3R5bGUobiksdFswXS5ub2RlTmFtZSl9fX0sciYmKG4uaHJlZj1uLnNyYz1pKSxufWZ1bmN0aW9uIGYoZSx0KXt2YXIgbj10LmF0dHIoInN0eWxlIik7bj1lLnNlcmlhbGl6ZVN0eWxlKGUucGFyc2VTdHlsZShuKSx0WzBdLm5vZGVOYW1lKSxufHwobj1udWxsKSx0LmF0dHIoImRhdGEtbWNlLXN0eWxlIixuKX1mdW5jdGlvbiBoKGUsdCl7dmFyIG49MCxyLGk7aWYoZSlmb3Iocj1lLm5vZGVUeXBlLGU9ZS5wcmV2aW91c1NpYmxpbmc7ZTtlPWUucHJldmlvdXNTaWJsaW5nKWk9ZS5ub2RlVHlwZSwoIXR8fDMhPWl8fGkhPXImJmUubm9kZVZhbHVlLmxlbmd0aCkmJihuKysscj1pKTtyZXR1cm4gbn1mdW5jdGlvbiBwKGUsdCl7dmFyIG89dGhpcyxhO28uZG9jPWUsby53aW49d2luZG93LG8uZmlsZXM9e30sby5jb3VudGVyPTAsby5zdGRNb2RlPSFifHxlLmRvY3VtZW50TW9kZT49OCxvLmJveE1vZGVsPSFifHwiQ1NTMUNvbXBhdCI9PWUuY29tcGF0TW9kZXx8by5zdGRNb2RlLG8uc3R5bGVTaGVldExvYWRlcj1uZXcgdShlKSxvLmJvdW5kRXZlbnRzPVtdLG8uc2V0dGluZ3M9dD10fHx7fSxvLnNjaGVtYT10LnNjaGVtYSxvLnN0eWxlcz1uZXcgcih7dXJsX2NvbnZlcnRlcjp0LnVybF9jb252ZXJ0ZXIsdXJsX2NvbnZlcnRlcl9zY29wZTp0LnVybF9jb252ZXJ0ZXJfc2NvcGV9LHQuc2NoZW1hKSxvLmZpeERvYyhlKSxvLmV2ZW50cz10Lm93bkV2ZW50cz9uZXcgaSh0LnByb3h5KTppLkV2ZW50LG8uYXR0ckhvb2tzPWQobyx0KSxhPXQuc2NoZW1hP3Quc2NoZW1hLmdldEJsb2NrRWxlbWVudHMoKTp7fSxvLiQ9bi5vdmVycmlkZURlZmF1bHRzKGZ1bmN0aW9uKCl7cmV0dXJue2NvbnRleHQ6ZSxlbGVtZW50Om8uZ2V0Um9vdCgpfX0pLG8uaXNCbG9jaz1mdW5jdGlvbihlKXtpZighZSlyZXR1cm4hMTt2YXIgdD1lLm5vZGVUeXBlO3JldHVybiB0PyEoMSE9PXR8fCFhW2Uubm9kZU5hbWVdKTohIWFbZV19fXZhciBtPWMuZWFjaCxnPWMuaXMsdj1jLmdyZXAseT1jLnRyaW0sYj1sLmllLEM9L14oW2EtejAtOV0sPykrJC9pLHg9L15bIFx0XHJcbl0qJC87cmV0dXJuIHAucHJvdG90eXBlPXskJDpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuZ2V0KGUpKSx0aGlzLiQoZSl9LHJvb3Q6bnVsbCxmaXhEb2M6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5zZXR0aW5ncyxuO2lmKGImJnQuc2NoZW1hKXsiYWJiciBhcnRpY2xlIGFzaWRlIGF1ZGlvIGNhbnZhcyBkZXRhaWxzIGZpZ2NhcHRpb24gZmlndXJlIGZvb3RlciBoZWFkZXIgaGdyb3VwIG1hcmsgbWVudSBtZXRlciBuYXYgb3V0cHV0IHByb2dyZXNzIHNlY3Rpb24gc3VtbWFyeSB0aW1lIHZpZGVvIi5yZXBsYWNlKC9cdysvZyxmdW5jdGlvbih0KXtlLmNyZWF0ZUVsZW1lbnQodCl9KTtmb3IobiBpbiB0LnNjaGVtYS5nZXRDdXN0b21FbGVtZW50cygpKWUuY3JlYXRlRWxlbWVudChuKX19LGNsb25lOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcyxyLGk7cmV0dXJuIWJ8fDEhPT1lLm5vZGVUeXBlfHx0P2UuY2xvbmVOb2RlKHQpOihpPW4uZG9jLHQ/ci5maXJzdENoaWxkOihyPWkuY3JlYXRlRWxlbWVudChlLm5vZGVOYW1lKSxtKG4uZ2V0QXR0cmlicyhlKSxmdW5jdGlvbih0KXtuLnNldEF0dHJpYihyLHQubm9kZU5hbWUsbi5nZXRBdHRyaWIoZSx0Lm5vZGVOYW1lKSl9KSxyKSl9LGdldFJvb3Q6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnNldHRpbmdzLnJvb3RfZWxlbWVudHx8ZS5kb2MuYm9keX0sZ2V0Vmlld1BvcnQ6ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4gZT1lP2U6dGhpcy53aW4sdD1lLmRvY3VtZW50LG49dGhpcy5ib3hNb2RlbD90LmRvY3VtZW50RWxlbWVudDp0LmJvZHkse3g6ZS5wYWdlWE9mZnNldHx8bi5zY3JvbGxMZWZ0LHk6ZS5wYWdlWU9mZnNldHx8bi5zY3JvbGxUb3AsdzplLmlubmVyV2lkdGh8fG4uY2xpZW50V2lkdGgsaDplLmlubmVySGVpZ2h0fHxuLmNsaWVudEhlaWdodH19LGdldFJlY3Q6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuLHI7cmV0dXJuIGU9dC5nZXQoZSksbj10LmdldFBvcyhlKSxyPXQuZ2V0U2l6ZShlKSx7eDpuLngseTpuLnksdzpyLncsaDpyLmh9fSxnZXRTaXplOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbixyO3JldHVybiBlPXQuZ2V0KGUpLG49dC5nZXRTdHlsZShlLCJ3aWR0aCIpLHI9dC5nZXRTdHlsZShlLCJoZWlnaHQiKSwtMT09PW4uaW5kZXhPZigicHgiKSYmKG49MCksLTE9PT1yLmluZGV4T2YoInB4IikmJihyPTApLHt3OnBhcnNlSW50KG4sMTApfHxlLm9mZnNldFdpZHRofHxlLmNsaWVudFdpZHRoLGg6cGFyc2VJbnQociwxMCl8fGUub2Zmc2V0SGVpZ2h0fHxlLmNsaWVudEhlaWdodH19LGdldFBhcmVudDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuZ2V0UGFyZW50cyhlLHQsbiwhMSl9LGdldFBhcmVudHM6ZnVuY3Rpb24oZSxuLHIsaSl7dmFyIG89dGhpcyxhLHM9W107Zm9yKGU9by5nZXQoZSksaT1pPT09dCxyPXJ8fCgiQk9EWSIhPW8uZ2V0Um9vdCgpLm5vZGVOYW1lP28uZ2V0Um9vdCgpLnBhcmVudE5vZGU6bnVsbCksZyhuLCJzdHJpbmciKSYmKGE9bixuPSIqIj09PW4/ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PWUubm9kZVR5cGV9OmZ1bmN0aW9uKGUpe3JldHVybiBvLmlzKGUsYSl9KTtlJiZlIT1yJiZlLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZTspe2lmKCFufHxuKGUpKXtpZighaSlyZXR1cm4gZTtzLnB1c2goZSl9ZT1lLnBhcmVudE5vZGV9cmV0dXJuIGk/czpudWxsfSxnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIGUmJnRoaXMuZG9jJiYic3RyaW5nIj09dHlwZW9mIGUmJih0PWUsZT10aGlzLmRvYy5nZXRFbGVtZW50QnlJZChlKSwKZSYmZS5pZCE9PXQpP3RoaXMuZG9jLmdldEVsZW1lbnRzQnlOYW1lKHQpWzFdOmV9LGdldE5leHQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZmluZFNpYihlLHQsIm5leHRTaWJsaW5nIil9LGdldFByZXY6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZmluZFNpYihlLHQsInByZXZpb3VzU2libGluZyIpfSxzZWxlY3Q6ZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzO3JldHVybiBlKHQsci5nZXQobil8fHIuc2V0dGluZ3Mucm9vdF9lbGVtZW50fHxyLmRvYyxbXSl9LGlzOmZ1bmN0aW9uKG4scil7dmFyIGk7aWYobi5sZW5ndGg9PT10KXtpZigiKiI9PT1yKXJldHVybiAxPT1uLm5vZGVUeXBlO2lmKEMudGVzdChyKSl7Zm9yKHI9ci50b0xvd2VyQ2FzZSgpLnNwbGl0KC8sLyksbj1uLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksaT1yLmxlbmd0aC0xO2k+PTA7aS0tKWlmKHJbaV09PW4pcmV0dXJuITA7cmV0dXJuITF9fWlmKG4ubm9kZVR5cGUmJjEhPW4ubm9kZVR5cGUpcmV0dXJuITE7dmFyIG89bi5ub2RlVHlwZT9bbl06bjtyZXR1cm4gZShyLG9bMF0ub3duZXJEb2N1bWVudHx8b1swXSxudWxsLG8pLmxlbmd0aD4wfSxhZGQ6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbz10aGlzO3JldHVybiB0aGlzLnJ1bihlLGZ1bmN0aW9uKGUpe3ZhciBhO3JldHVybiBhPWcodCwic3RyaW5nIik/by5kb2MuY3JlYXRlRWxlbWVudCh0KTp0LG8uc2V0QXR0cmlicyhhLG4pLHImJihyLm5vZGVUeXBlP2EuYXBwZW5kQ2hpbGQocik6by5zZXRIVE1MKGEscikpLGk/YTplLmFwcGVuZENoaWxkKGEpfSl9LGNyZWF0ZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuYWRkKHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoZSksZSx0LG4sMSl9LGNyZWF0ZUhUTUw6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPSIiLGk7cis9IjwiK2U7Zm9yKGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiZudWxsIT09dFtpXSYmInVuZGVmaW5lZCIhPXR5cGVvZiB0W2ldJiYocis9IiAiK2krJz0iJyt0aGlzLmVuY29kZSh0W2ldKSsnIicpO3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2Ygbj9yKyI+IituKyI8LyIrZSsiPiI6cisiIC8+In0sY3JlYXRlRnJhZ21lbnQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPXRoaXMuZG9jLGk7Zm9yKGk9ci5jcmVhdGVFbGVtZW50KCJkaXYiKSx0PXIuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGUmJihpLmlubmVySFRNTD1lKTtuPWkuZmlyc3RDaGlsZDspdC5hcHBlbmRDaGlsZChuKTtyZXR1cm4gdH0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9dGhpcy4kJChlKSx0P2UuZWFjaChmdW5jdGlvbigpe2Zvcih2YXIgZTtlPXRoaXMuZmlyc3RDaGlsZDspMz09ZS5ub2RlVHlwZSYmMD09PWUuZGF0YS5sZW5ndGg/dGhpcy5yZW1vdmVDaGlsZChlKTp0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcyl9KS5yZW1vdmUoKTplLnJlbW92ZSgpLGUubGVuZ3RoPjE/ZS50b0FycmF5KCk6ZVswXX0sc2V0U3R5bGU6ZnVuY3Rpb24oZSx0LG4pe2U9dGhpcy4kJChlKS5jc3ModCxuKSx0aGlzLnNldHRpbmdzLnVwZGF0ZV9zdHlsZXMmJmYodGhpcyxlKX0sZ2V0U3R5bGU6ZnVuY3Rpb24oZSxuLHIpe3JldHVybiBlPXRoaXMuJCQoZSkscj9lLmNzcyhuKToobj1uLnJlcGxhY2UoLy0oXEQpL2csZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpfSksImZsb2F0Ij09biYmKG49bC5pZSYmbC5pZTwxMj8ic3R5bGVGbG9hdCI6ImNzc0Zsb2F0IiksZVswXSYmZVswXS5zdHlsZT9lWzBdLnN0eWxlW25dOnQpfSxzZXRTdHlsZXM6ZnVuY3Rpb24oZSx0KXtlPXRoaXMuJCQoZSkuY3NzKHQpLHRoaXMuc2V0dGluZ3MudXBkYXRlX3N0eWxlcyYmZih0aGlzLGUpfSxyZW1vdmVBbGxBdHRyaWJzOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJ1bihlLGZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5hdHRyaWJ1dGVzO2Zvcih0PW4ubGVuZ3RoLTE7dD49MDt0LS0pZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKG4uaXRlbSh0KSl9KX0sc2V0QXR0cmliOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLGksbyxhPXIuc2V0dGluZ3M7IiI9PT1uJiYobj1udWxsKSxlPXIuJCQoZSksaT1lLmF0dHIodCksZS5sZW5ndGgmJihvPXIuYXR0ckhvb2tzW3RdLG8mJm8uc2V0P28uc2V0KGUsbix0KTplLmF0dHIodCxuKSxpIT1uJiZhLm9uU2V0QXR0cmliJiZhLm9uU2V0QXR0cmliKHthdHRyRWxtOmUsYXR0ck5hbWU6dCxhdHRyVmFsdWU6bn0pKX0sc2V0QXR0cmliczpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7bi4kJChlKS5lYWNoKGZ1bmN0aW9uKGUscil7bSh0LGZ1bmN0aW9uKGUsdCl7bi5zZXRBdHRyaWIocix0LGUpfSl9KX0sZ2V0QXR0cmliOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLGksbztyZXR1cm4gZT1yLiQkKGUpLGUubGVuZ3RoJiYoaT1yLmF0dHJIb29rc1t0XSxvPWkmJmkuZ2V0P2kuZ2V0KGUsdCk6ZS5hdHRyKHQpKSwidW5kZWZpbmVkIj09dHlwZW9mIG8mJihvPW58fCIiKSxvfSxnZXRQb3M6ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLGk9MCxvPTAsYSxzPXIuZG9jLGw9cy5ib2R5LGM7aWYoZT1yLmdldChlKSx0PXR8fGwsZSl7aWYodD09PWwmJmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0JiYic3RhdGljIj09PW4obCkuY3NzKCJwb3NpdGlvbiIpKXJldHVybiBjPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdD1yLmJveE1vZGVsP3MuZG9jdW1lbnRFbGVtZW50OmwsaT1jLmxlZnQrKHMuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnR8fGwuc2Nyb2xsTGVmdCktdC5jbGllbnRMZWZ0LG89Yy50b3ArKHMuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8bC5zY3JvbGxUb3ApLXQuY2xpZW50VG9wLHt4OmkseTpvfTtmb3IoYT1lO2EmJmEhPXQmJmEubm9kZVR5cGU7KWkrPWEub2Zmc2V0TGVmdHx8MCxvKz1hLm9mZnNldFRvcHx8MCxhPWEub2Zmc2V0UGFyZW50O2ZvcihhPWUucGFyZW50Tm9kZTthJiZhIT10JiZhLm5vZGVUeXBlOylpLT1hLnNjcm9sbExlZnR8fDAsby09YS5zY3JvbGxUb3B8fDAsYT1hLnBhcmVudE5vZGV9cmV0dXJue3g6aSx5Om99fSxwYXJzZVN0eWxlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnN0eWxlcy5wYXJzZShlKX0sc2VyaWFsaXplU3R5bGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5zdHlsZXMuc2VyaWFsaXplKGUsdCl9LGFkZFN0eWxlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10LmRvYyxyLGk7aWYodCE9PXAuRE9NJiZuPT09ZG9jdW1lbnQpe3ZhciBvPXAuRE9NLmFkZGVkU3R5bGVzO2lmKG89b3x8W10sb1tlXSlyZXR1cm47b1tlXT0hMCxwLkRPTS5hZGRlZFN0eWxlcz1vfWk9bi5nZXRFbGVtZW50QnlJZCgibWNlRGVmYXVsdFN0eWxlcyIpLGl8fChpPW4uY3JlYXRlRWxlbWVudCgic3R5bGUiKSxpLmlkPSJtY2VEZWZhdWx0U3R5bGVzIixpLnR5cGU9InRleHQvY3NzIixyPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSxyLmZpcnN0Q2hpbGQ/ci5pbnNlcnRCZWZvcmUoaSxyLmZpcnN0Q2hpbGQpOnIuYXBwZW5kQ2hpbGQoaSkpLGkuc3R5bGVTaGVldD9pLnN0eWxlU2hlZXQuY3NzVGV4dCs9ZTppLmFwcGVuZENoaWxkKG4uY3JlYXRlVGV4dE5vZGUoZSkpfSxsb2FkQ1NTOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10LmRvYyxyO3JldHVybiB0IT09cC5ET00mJm49PT1kb2N1bWVudD92b2lkIHAuRE9NLmxvYWRDU1MoZSk6KGV8fChlPSIiKSxyPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSx2b2lkIG0oZS5zcGxpdCgiLCIpLGZ1bmN0aW9uKGUpe3ZhciBpO2U9Yy5fYWRkQ2FjaGVTdWZmaXgoZSksdC5maWxlc1tlXXx8KHQuZmlsZXNbZV09ITAsaT10LmNyZWF0ZSgibGluayIse3JlbDoic3R5bGVzaGVldCIsaHJlZjplfSksYiYmbi5kb2N1bWVudE1vZGUmJm4ucmVjYWxjJiYoaS5vbmxvYWQ9ZnVuY3Rpb24oKXtuLnJlY2FsYyYmbi5yZWNhbGMoKSxpLm9ubG9hZD1udWxsfSksci5hcHBlbmRDaGlsZChpKSl9KSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUsdCl7dGhpcy4kJChlKS5hZGRDbGFzcyh0KX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oZSx0KXt0aGlzLnRvZ2dsZUNsYXNzKGUsdCwhMSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuJCQoZSkuaGFzQ2xhc3ModCl9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsdCxyKXt0aGlzLiQkKGUpLnRvZ2dsZUNsYXNzKHQscikuZWFjaChmdW5jdGlvbigpeyIiPT09dGhpcy5jbGFzc05hbWUmJm4odGhpcykuYXR0cigiY2xhc3MiLG51bGwpfSl9LHNob3c6ZnVuY3Rpb24oZSl7dGhpcy4kJChlKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oZSl7dGhpcy4kJChlKS5oaWRlKCl9LGlzSGlkZGVuOmZ1bmN0aW9uKGUpe3JldHVybiJub25lIj09dGhpcy4kJChlKS5jc3MoImRpc3BsYXkiKX0sdW5pcXVlSWQ6ZnVuY3Rpb24oZSl7cmV0dXJuKGU/ZToibWNlXyIpK3RoaXMuY291bnRlcisrfSxzZXRIVE1MOmZ1bmN0aW9uKGUsdCl7ZT10aGlzLiQkKGUpLGI/ZS5lYWNoKGZ1bmN0aW9uKGUscil7aWYoci5jYW5IYXZlSFRNTCE9PSExKXtmb3IoO3IuZmlyc3RDaGlsZDspci5yZW1vdmVDaGlsZChyLmZpcnN0Q2hpbGQpO3RyeXtyLmlubmVySFRNTD0iPGJyPiIrdCxyLnJlbW92ZUNoaWxkKHIuZmlyc3RDaGlsZCl9Y2F0Y2goaSl7bigiPGRpdj4iKS5odG1sKCI8YnI+Iit0KS5jb250ZW50cygpLnNsaWNlKDEpLmFwcGVuZFRvKHIpfXJldHVybiB0fX0pOmUuaHRtbCh0KX0sZ2V0T3V0ZXJIVE1MOmZ1bmN0aW9uKGUpe3JldHVybiBlPXRoaXMuZ2V0KGUpLDE9PWUubm9kZVR5cGUmJiJvdXRlckhUTUwiaW4gZT9lLm91dGVySFRNTDpuKCI8ZGl2PiIpLmFwcGVuZChuKGUpLmNsb25lKCkpLmh0bWwoKX0sc2V0T3V0ZXJIVE1MOmZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcztyLiQkKGUpLmVhY2goZnVuY3Rpb24oKXt0cnl7aWYoIm91dGVySFRNTCJpbiB0aGlzKXJldHVybiB2b2lkKHRoaXMub3V0ZXJIVE1MPXQpfWNhdGNoKGUpe31yLnJlbW92ZShuKHRoaXMpLmh0bWwodCksITApfSl9LGRlY29kZTpzLmRlY29kZSxlbmNvZGU6cy5lbmNvZGVBbGxSYXcsaW5zZXJ0QWZ0ZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD10aGlzLmdldCh0KSx0aGlzLnJ1bihlLGZ1bmN0aW9uKGUpe3ZhciBuLHI7cmV0dXJuIG49dC5wYXJlbnROb2RlLHI9dC5uZXh0U2libGluZyxyP24uaW5zZXJ0QmVmb3JlKGUscik6bi5hcHBlbmRDaGlsZChlKSxlfSl9LHJlcGxhY2U6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXM7cmV0dXJuIHIucnVuKHQsZnVuY3Rpb24odCl7cmV0dXJuIGcodCwiYXJyYXkiKSYmKGU9ZS5jbG9uZU5vZGUoITApKSxuJiZtKHYodC5jaGlsZE5vZGVzKSxmdW5jdGlvbih0KXtlLmFwcGVuZENoaWxkKHQpfSksdC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChlLHQpfSl9LHJlbmFtZTpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscjtyZXR1cm4gZS5ub2RlTmFtZSE9dC50b1VwcGVyQ2FzZSgpJiYocj1uLmNyZWF0ZSh0KSxtKG4uZ2V0QXR0cmlicyhlKSxmdW5jdGlvbih0KXtuLnNldEF0dHJpYihyLHQubm9kZU5hbWUsbi5nZXRBdHRyaWIoZSx0Lm5vZGVOYW1lKSl9KSxuLnJlcGxhY2UocixlLDEpKSxyfHxlfSxmaW5kQ29tbW9uQW5jZXN0b3I6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZSxyO247KXtmb3Iocj10O3ImJm4hPXI7KXI9ci5wYXJlbnROb2RlO2lmKG49PXIpYnJlYWs7bj1uLnBhcmVudE5vZGV9cmV0dXJuIW4mJmUub3duZXJEb2N1bWVudD9lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Om59LHRvSGV4OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnN0eWxlcy50b0hleChjLnRyaW0oZSkpfSxydW46ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMsaTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXIuZ2V0KGUpKSxlPyhuPW58fHRoaXMsZS5ub2RlVHlwZXx8IWUubGVuZ3RoJiYwIT09ZS5sZW5ndGg/dC5jYWxsKG4sZSk6KGk9W10sbShlLGZ1bmN0aW9uKGUsbyl7ZSYmKCJzdHJpbmciPT10eXBlb2YgZSYmKGU9ci5nZXQoZSkpLGkucHVzaCh0LmNhbGwobixlLG8pKSl9KSxpKSk6ITF9LGdldEF0dHJpYnM6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoZT10aGlzLmdldChlKSwhZSlyZXR1cm5bXTtpZihiKXtpZih0PVtdLCJPQkpFQ1QiPT1lLm5vZGVOYW1lKXJldHVybiBlLmF0dHJpYnV0ZXM7Ik9QVElPTiI9PT1lLm5vZGVOYW1lJiZ0aGlzLmdldEF0dHJpYihlLCJzZWxlY3RlZCIpJiZ0LnB1c2goe3NwZWNpZmllZDoxLG5vZGVOYW1lOiJzZWxlY3RlZCJ9KTt2YXIgbj0vPFwvP1tcdzpcLV0rID98PVtcIl1bXlwiXStcInw9XCdbXlwnXStcJ3w9W1x3XC1dK3w+L2dpO3JldHVybiBlLmNsb25lTm9kZSghMSkub3V0ZXJIVE1MLnJlcGxhY2UobiwiIikucmVwbGFjZSgvW1x3OlwtXSsvZ2ksZnVuY3Rpb24oZSl7dC5wdXNoKHtzcGVjaWZpZWQ6MSxub2RlTmFtZTplfSl9KSx0fXJldHVybiBlLmF0dHJpYnV0ZXN9LGlzRW1wdHk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLHIsaSxhLHMsbCxjPTA7aWYoZT1lLmZpcnN0Q2hpbGQpe3M9bmV3IG8oZSxlLnBhcmVudE5vZGUpLHQ9dHx8KG4uc2NoZW1hP24uc2NoZW1hLmdldE5vbkVtcHR5RWxlbWVudHMoKTpudWxsKTtkb3tpZihhPWUubm9kZVR5cGUsMT09PWEpe2lmKGUuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpKWNvbnRpbnVlO2lmKGw9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHQmJnRbbF0pe2lmKCJiciI9PT1sKXtjKys7Y29udGludWV9cmV0dXJuITF9Zm9yKGk9bi5nZXRBdHRyaWJzKGUpLHI9aS5sZW5ndGg7ci0tOylpZihsPWlbcl0ubm9kZU5hbWUsIm5hbWUiPT09bHx8ImRhdGEtbWNlLWJvb2ttYXJrIj09PWwpcmV0dXJuITF9aWYoOD09YSlyZXR1cm4hMTtpZigzPT09YSYmIXgudGVzdChlLm5vZGVWYWx1ZSkpcmV0dXJuITF9d2hpbGUoZT1zLm5leHQoKSl9cmV0dXJuIDE+PWN9LGNyZWF0ZVJuZzpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZG9jO3JldHVybiBlLmNyZWF0ZVJhbmdlP2UuY3JlYXRlUmFuZ2UoKTpuZXcgYSh0aGlzKX0sbm9kZUluZGV4Omgsc3BsaXQ6ZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIHIoZSl7ZnVuY3Rpb24gdChlKXt2YXIgdD1lLnByZXZpb3VzU2libGluZyYmIlNQQU4iPT1lLnByZXZpb3VzU2libGluZy5ub2RlTmFtZSxuPWUubmV4dFNpYmxpbmcmJiJTUEFOIj09ZS5uZXh0U2libGluZy5ub2RlTmFtZTtyZXR1cm4gdCYmbn12YXIgbixvPWUuY2hpbGROb2RlcyxhPWUubm9kZVR5cGU7aWYoMSE9YXx8ImJvb2ttYXJrIiE9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXR5cGUiKSl7Zm9yKG49by5sZW5ndGgtMTtuPj0wO24tLSlyKG9bbl0pO2lmKDkhPWEpe2lmKDM9PWEmJmUubm9kZVZhbHVlLmxlbmd0aD4wKXt2YXIgcz15KGUubm9kZVZhbHVlKS5sZW5ndGg7aWYoIWkuaXNCbG9jayhlLnBhcmVudE5vZGUpfHxzPjB8fDA9PT1zJiZ0KGUpKXJldHVybn1lbHNlIGlmKDE9PWEmJihvPWUuY2hpbGROb2RlcywxPT1vLmxlbmd0aCYmb1swXSYmMT09b1swXS5ub2RlVHlwZSYmImJvb2ttYXJrIj09b1swXS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXR5cGUiKSYmZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShvWzBdLGUpLG8ubGVuZ3RofHwvXihicnxocnxpbnB1dHxpbWcpJC9pLnRlc3QoZS5ub2RlTmFtZSkpKXJldHVybjtpLnJlbW92ZShlKX1yZXR1cm4gZX19dmFyIGk9dGhpcyxvPWkuY3JlYXRlUm5nKCksYSxzLGw7cmV0dXJuIGUmJnQ/KG8uc2V0U3RhcnQoZS5wYXJlbnROb2RlLGkubm9kZUluZGV4KGUpKSxvLnNldEVuZCh0LnBhcmVudE5vZGUsaS5ub2RlSW5kZXgodCkpLGE9by5leHRyYWN0Q29udGVudHMoKSxvPWkuY3JlYXRlUm5nKCksby5zZXRTdGFydCh0LnBhcmVudE5vZGUsaS5ub2RlSW5kZXgodCkrMSksby5zZXRFbmQoZS5wYXJlbnROb2RlLGkubm9kZUluZGV4KGUpKzEpLHM9by5leHRyYWN0Q29udGVudHMoKSxsPWUucGFyZW50Tm9kZSxsLmluc2VydEJlZm9yZShyKGEpLGUpLG4/bC5pbnNlcnRCZWZvcmUobixlKTpsLmluc2VydEJlZm9yZSh0LGUpLGwuaW5zZXJ0QmVmb3JlKHIocyksZSksaS5yZW1vdmUoZSksbnx8dCk6dm9pZCAwfSxiaW5kOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRoaXM7aWYoYy5pc0FycmF5KGUpKXtmb3IodmFyIG89ZS5sZW5ndGg7by0tOyllW29dPWkuYmluZChlW29dLHQsbixyKTtyZXR1cm4gZX1yZXR1cm4haS5zZXR0aW5ncy5jb2xsZWN0fHxlIT09aS5kb2MmJmUhPT1pLndpbnx8aS5ib3VuZEV2ZW50cy5wdXNoKFtlLHQsbixyXSksaS5ldmVudHMuYmluZChlLHQsbixyfHxpKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLGk7aWYoYy5pc0FycmF5KGUpKXtmb3IoaT1lLmxlbmd0aDtpLS07KWVbaV09ci51bmJpbmQoZVtpXSx0LG4pO3JldHVybiBlfWlmKHIuYm91bmRFdmVudHMmJihlPT09ci5kb2N8fGU9PT1yLndpbikpZm9yKGk9ci5ib3VuZEV2ZW50cy5sZW5ndGg7aS0tOyl7dmFyIG89ci5ib3VuZEV2ZW50c1tpXTtlIT1vWzBdfHx0JiZ0IT1vWzFdfHxuJiZuIT1vWzJdfHx0aGlzLmV2ZW50cy51bmJpbmQob1swXSxvWzFdLG9bMl0pfXJldHVybiB0aGlzLmV2ZW50cy51bmJpbmQoZSx0LG4pfSxmaXJlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5ldmVudHMuZmlyZShlLHQsbil9LGdldENvbnRlbnRFZGl0YWJsZTpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gZSYmMT09ZS5ub2RlVHlwZT8odD1lLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtY29udGVudGVkaXRhYmxlIiksdCYmImluaGVyaXQiIT09dD90OiJpbmhlcml0IiE9PWUuY29udGVudEVkaXRhYmxlP2UuY29udGVudEVkaXRhYmxlOm51bGwpOm51bGx9LGdldENvbnRlbnRFZGl0YWJsZVBhcmVudDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhpcy5nZXRSb290KCksbj1udWxsO2UmJmUhPT10JiYobj10aGlzLmdldENvbnRlbnRFZGl0YWJsZShlKSxudWxsPT09bik7ZT1lLnBhcmVudE5vZGUpO3JldHVybiBufSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZih0LmJvdW5kRXZlbnRzKXtmb3IodmFyIG49dC5ib3VuZEV2ZW50cy5sZW5ndGg7bi0tOyl7dmFyIHI9dC5ib3VuZEV2ZW50c1tuXTt0aGlzLmV2ZW50cy51bmJpbmQoclswXSxyWzFdLHJbMl0pfXQuYm91bmRFdmVudHM9bnVsbH1lLnNldERvY3VtZW50JiZlLnNldERvY3VtZW50KCksdC53aW49dC5kb2M9dC5yb290PXQuZXZlbnRzPXQuZnJhZz1udWxsfSxpc0NoaWxkT2Y6ZnVuY3Rpb24oZSx0KXtmb3IoO2U7KXtpZih0PT09ZSlyZXR1cm4hMDtlPWUucGFyZW50Tm9kZX1yZXR1cm4hMX0sZHVtcFJuZzpmdW5jdGlvbihlKXtyZXR1cm4ic3RhcnRDb250YWluZXI6ICIrZS5zdGFydENvbnRhaW5lci5ub2RlTmFtZSsiLCBzdGFydE9mZnNldDogIitlLnN0YXJ0T2Zmc2V0KyIsIGVuZENvbnRhaW5lcjogIitlLmVuZENvbnRhaW5lci5ub2RlTmFtZSsiLCBlbmRPZmZzZXQ6ICIrZS5lbmRPZmZzZXR9LF9maW5kU2liOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLGk9dDtpZihlKWZvcigic3RyaW5nIj09dHlwZW9mIGkmJihpPWZ1bmN0aW9uKGUpe3JldHVybiByLmlzKGUsdCl9KSxlPWVbbl07ZTtlPWVbbl0paWYoaShlKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH19LHAuRE9NPW5ldyBwKGRvY3VtZW50KSxwLm5vZGVJbmRleD1oLHB9KSxyKE4sW3csbV0sZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7ZnVuY3Rpb24gZShlLG4pe2Z1bmN0aW9uIGkoKXthLnJlbW92ZShsKSxzJiYocy5vbnJlYWR5c3RhdGVjaGFuZ2U9cy5vbmxvYWQ9cz1udWxsKSxuKCl9ZnVuY3Rpb24gbygpeyJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS5sb2cmJmNvbnNvbGUubG9nKCJGYWlsZWQgdG8gbG9hZDogIitlKX12YXIgYT1yLHMsbDtsPWEudW5pcXVlSWQoKSxzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLHMuaWQ9bCxzLnR5cGU9InRleHQvamF2YXNjcmlwdCIscy5zcmM9dC5fYWRkQ2FjaGVTdWZmaXgoZSksIm9ucmVhZHlzdGF0ZWNoYW5nZSJpbiBzP3Mub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7L2xvYWRlZHxjb21wbGV0ZS8udGVzdChzLnJlYWR5U3RhdGUpJiZpKCl9OnMub25sb2FkPWkscy5vbmVycm9yPW8sKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHMpfXZhciBuPTAsYT0xLHM9MixsPXt9LGM9W10sdT17fSxkPVtdLGY9MCxoO3RoaXMuaXNEb25lPWZ1bmN0aW9uKGUpe3JldHVybiBsW2VdPT1zfSx0aGlzLm1hcmtEb25lPWZ1bmN0aW9uKGUpe2xbZV09c30sdGhpcy5hZGQ9dGhpcy5sb2FkPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT1sW2VdO2k9PWgmJihjLnB1c2goZSksbFtlXT1uKSx0JiYodVtlXXx8KHVbZV09W10pLHVbZV0ucHVzaCh7ZnVuYzp0LHNjb3BlOnJ8fHRoaXN9KSl9LHRoaXMubG9hZFF1ZXVlPWZ1bmN0aW9uKGUsdCl7dGhpcy5sb2FkU2NyaXB0cyhjLGUsdCl9LHRoaXMubG9hZFNjcmlwdHM9ZnVuY3Rpb24odCxuLHIpe2Z1bmN0aW9uIGMoZSl7aSh1W2VdLGZ1bmN0aW9uKGUpe2UuZnVuYy5jYWxsKGUuc2NvcGUpfSksdVtlXT1ofXZhciBwO2QucHVzaCh7ZnVuYzpuLHNjb3BlOnJ8fHRoaXN9KSwocD1mdW5jdGlvbigpe3ZhciBuPW8odCk7dC5sZW5ndGg9MCxpKG4sZnVuY3Rpb24odCl7cmV0dXJuIGxbdF09PXM/dm9pZCBjKHQpOnZvaWQobFt0XSE9YSYmKGxbdF09YSxmKyssZSh0LGZ1bmN0aW9uKCl7bFt0XT1zLGYtLSxjKHQpLHAoKX0pKSl9KSxmfHwoaShkLGZ1bmN0aW9uKGUpe2UuZnVuYy5jYWxsKGUuc2NvcGUpfSksZC5sZW5ndGg9MCl9KSgpfX12YXIgcj1lLkRPTSxpPXQuZWFjaCxvPXQuZ3JlcDtyZXR1cm4gbi5TY3JpcHRMb2FkZXI9bmV3IG4sbn0pLHIoRSxbTixtXSxmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIHIoKXt2YXIgZT10aGlzO2UuaXRlbXM9W10sZS51cmxzPXt9LGUubG9va3VwPXt9fXZhciBpPW4uZWFjaDtyZXR1cm4gci5wcm90b3R5cGU9e2dldDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sb29rdXBbZV0/dGhpcy5sb29rdXBbZV0uaW5zdGFuY2U6dH0sZGVwZW5kZW5jaWVzOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzLmxvb2t1cFtlXSYmKHQ9dGhpcy5sb29rdXBbZV0uZGVwZW5kZW5jaWVzKSx0fHxbXX0scmVxdWlyZUxhbmdQYWNrOmZ1bmN0aW9uKHQsbil7dmFyIGk9ci5sYW5ndWFnZTtpZihpJiZyLmxhbmd1YWdlTG9hZCE9PSExKXtpZihuKWlmKG49IiwiK24rIiwiLC0xIT1uLmluZGV4T2YoIiwiK2kuc3Vic3RyKDAsMikrIiwiKSlpPWkuc3Vic3RyKDAsMik7ZWxzZSBpZigtMT09bi5pbmRleE9mKCIsIitpKyIsIikpcmV0dXJuO2UuU2NyaXB0TG9hZGVyLmFkZCh0aGlzLnVybHNbdF0rIi9sYW5ncy8iK2krIi5qcyIpfX0sYWRkOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5pdGVtcy5wdXNoKHQpLHRoaXMubG9va3VwW2VdPXtpbnN0YW5jZTp0LGRlcGVuZGVuY2llczpufSx0fSxjcmVhdGVVcmw6ZnVuY3Rpb24oZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQ/dDp7cHJlZml4OmUucHJlZml4LHJlc291cmNlOnQsc3VmZml4OmUuc3VmZml4fX0sYWRkQ29tcG9uZW50czpmdW5jdGlvbih0LG4pe3ZhciByPXRoaXMudXJsc1t0XTtpKG4sZnVuY3Rpb24odCl7ZS5TY3JpcHRMb2FkZXIuYWRkKHIrIi8iK3QpfSl9LGxvYWQ6ZnVuY3Rpb24obixvLGEscyl7ZnVuY3Rpb24gbCgpe3ZhciByPWMuZGVwZW5kZW5jaWVzKG4pO2kocixmdW5jdGlvbihlKXt2YXIgbj1jLmNyZWF0ZVVybChvLGUpO2MubG9hZChuLnJlc291cmNlLG4sdCx0KX0pLGEmJihzP2EuY2FsbChzKTphLmNhbGwoZSkpfXZhciBjPXRoaXMsdT1vO2MudXJsc1tuXXx8KCJvYmplY3QiPT10eXBlb2YgbyYmKHU9by5wcmVmaXgrby5yZXNvdXJjZStvLnN1ZmZpeCksMCE9PXUuaW5kZXhPZigiLyIpJiYtMT09dS5pbmRleE9mKCI6Ly8iKSYmKHU9ci5iYXNlVVJMKyIvIit1KSxjLnVybHNbbl09dS5zdWJzdHJpbmcoMCx1Lmxhc3RJbmRleE9mKCIvIikpLGMubG9va3VwW25dP2woKTplLlNjcmlwdExvYWRlci5hZGQodSxsLHMpKX19LHIuUGx1Z2luTWFuYWdlcj1uZXcgcixyLlRoZW1lTWFuYWdlcj1uZXcgcixyfSkscihfLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuISF0JiZ0Lm5vZGVUeXBlPT1lfX1mdW5jdGlvbiB0KGUpe3JldHVybiBlPWUudG9Mb3dlckNhc2UoKS5zcGxpdCgiICIpLGZ1bmN0aW9uKHQpe3ZhciBuLHI7aWYodCYmdC5ub2RlVHlwZSlmb3Iocj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbj0wO248ZS5sZW5ndGg7bisrKWlmKHI9PT1lW25dKXJldHVybiEwO3JldHVybiExfX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIHQ9dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIgIiksZnVuY3Rpb24obil7dmFyIHIsaTtpZihzKG4pKWZvcihyPTA7cjx0Lmxlbmd0aDtyKyspaWYoaT1nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShlKSxpPT09dFtyXSlyZXR1cm4hMDtyZXR1cm4hMX19ZnVuY3Rpb24gcihlLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gcyhuKSYmbltlXT09PXR9fWZ1bmN0aW9uIGkoZSx0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHMobikmJm4uZ2V0QXR0cmlidXRlKGUpPT09dH19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gcyhlKSYmZS5oYXNBdHRyaWJ1dGUoImRhdGEtbWNlLWJvZ3VzIil9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZnVuY3Rpb24odCl7aWYocyh0KSl7aWYodC5jb250ZW50RWRpdGFibGU9PT1lKXJldHVybiEwO2lmKHQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1jb250ZW50ZWRpdGFibGUiKT09PWUpcmV0dXJuITB9cmV0dXJuITF9fXZhciBzPWUoMSk7cmV0dXJue2lzVGV4dDplKDMpLGlzRWxlbWVudDpzLGlzQ29tbWVudDplKDgpLGlzQnI6dCgiYnIiKSxpc0NvbnRlbnRFZGl0YWJsZVRydWU6YSgidHJ1ZSIpLGlzQ29udGVudEVkaXRhYmxlRmFsc2U6YSgiZmFsc2UiKSxtYXRjaE5vZGVOYW1lczp0LGhhc1Byb3BWYWx1ZTpyLGhhc0F0dHJpYnV0ZVZhbHVlOmksbWF0Y2hTdHlsZVZhbHVlczpuLGlzQm9ndXM6b319KSxyKFMsW10sZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3JldHVybiBlPT1ufWZ1bmN0aW9uIHQoZSl7cmV0dXJuIGUucmVwbGFjZShuZXcgUmVnRXhwKG4sImciKSwiIil9dmFyIG49Ilx1MjAwYiI7cmV0dXJue2lzWndzcDplLFpXU1A6bix0cmltOnR9fSkscihrLFtfLFNdLGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZChlKSYmKGU9ZS5wYXJlbnROb2RlKSx1KGUpJiZlLmhhc0F0dHJpYnV0ZSgiZGF0YS1tY2UtY2FyZXQiKX1mdW5jdGlvbiByKGUpe3JldHVybiBkKGUpJiZ0LmlzWndzcChlLmRhdGEpfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIG4oZSl8fHIoZSl9ZnVuY3Rpb24gbyhlLG4pe3ZhciByLG8sYSxzO2lmKHI9ZS5vd25lckRvY3VtZW50LGE9ci5jcmVhdGVUZXh0Tm9kZSh0LlpXU1ApLHM9ZS5wYXJlbnROb2RlLG4pe2lmKG89ZS5wcmV2aW91c1NpYmxpbmcsZChvKSl7aWYoaShvKSlyZXR1cm4gbztpZihjKG8pKXJldHVybiBvLnNwbGl0VGV4dChvLmRhdGEubGVuZ3RoLTEpfXMuaW5zZXJ0QmVmb3JlKGEsZSl9ZWxzZXtpZihvPWUubmV4dFNpYmxpbmcsZChvKSl7aWYoaShvKSlyZXR1cm4gbztpZihsKG8pKXJldHVybiBvLnNwbGl0VGV4dCgxKSxvfWUubmV4dFNpYmxpbmc/cy5pbnNlcnRCZWZvcmUoYSxlLm5leHRTaWJsaW5nKTpzLmFwcGVuZENoaWxkKGEpfXJldHVybiBhfWZ1bmN0aW9uIGEoZSx0LG4pe3ZhciByLGksbztyZXR1cm4gcj10Lm93bmVyRG9jdW1lbnQsaT1yLmNyZWF0ZUVsZW1lbnQoZSksaS5zZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWNhcmV0IixuPyJiZWZvcmUiOiJhZnRlciIpLGkuc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIsImFsbCIpLGkuYXBwZW5kQ2hpbGQoci5jcmVhdGVUZXh0Tm9kZSgiXHhhMCIpKSxvPXQucGFyZW50Tm9kZSxuP28uaW5zZXJ0QmVmb3JlKGksdCk6dC5uZXh0U2libGluZz9vLmluc2VydEJlZm9yZShpLHQubmV4dFNpYmxpbmcpOm8uYXBwZW5kQ2hpbGQoaSksaX1mdW5jdGlvbiBzKGUpe3ZhciBuO3UoZSkmJmkoZSkmJigiJm5ic3A7IiE9ZS5pbm5lckhUTUw/ZS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLWNhcmV0Iik6ZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSkpLGQoZSkmJihuPXQudHJpbShlLmRhdGEpLDA9PT1uLmxlbmd0aCYmZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSksZS5ub2RlVmFsdWU9bil9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZChlKSYmZS5kYXRhWzBdPT10LlpXU1B9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZChlKSYmZS5kYXRhW2UuZGF0YS5sZW5ndGgtMV09PXQuWldTUH12YXIgdT1lLmlzRWxlbWVudCxkPWUuaXNUZXh0O3JldHVybntpc0NhcmV0Q29udGFpbmVyOmksaXNDYXJldENvbnRhaW5lckJsb2NrOm4saXNDYXJldENvbnRhaW5lcklubGluZTpyLGluc2VydElubGluZTpvLGluc2VydEJsb2NrOmEscmVtb3ZlOnMsc3RhcnRzV2l0aENhcmV0Q29udGFpbmVyOmwsZW5kc1dpdGhDYXJldENvbnRhaW5lcjpjfX0pLHIoVCxbbSx5LF8sa10sZnVuY3Rpb24oZSx0LG4scil7ZnVuY3Rpb24gaShlLHQpe3ZhciBuPWUuY2hpbGROb2RlcztyZXR1cm4gdC0tLHQ+bi5sZW5ndGgtMT90PW4ubGVuZ3RoLTE6MD50JiYodD0wKSxuW3RdfHxlfWZ1bmN0aW9uIG8oZSl7dGhpcy53YWxrPWZ1bmN0aW9uKHQsbil7ZnVuY3Rpb24gcihlKXt2YXIgdDtyZXR1cm4gdD1lWzBdLDM9PT10Lm5vZGVUeXBlJiZ0PT09YyYmdT49dC5ub2RlVmFsdWUubGVuZ3RoJiZlLnNwbGljZSgwLDEpLHQ9ZVtlLmxlbmd0aC0xXSwwPT09ZiYmZS5sZW5ndGg+MCYmdD09PWQmJjM9PT10Lm5vZGVUeXBlJiZlLnNwbGljZShlLmxlbmd0aC0xLDEpLGV9ZnVuY3Rpb24gbyhlLHQsbil7Zm9yKHZhciByPVtdO2UmJmUhPW47ZT1lW3RdKXIucHVzaChlKTtyZXR1cm4gcn1mdW5jdGlvbiBhKGUsdCl7ZG97aWYoZS5wYXJlbnROb2RlPT10KXJldHVybiBlO2U9ZS5wYXJlbnROb2RlfXdoaWxlKGUpfWZ1bmN0aW9uIGwoZSx0LGkpe3ZhciBhPWk/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIjtmb3IoZz1lLHY9Zy5wYXJlbnROb2RlO2cmJmchPXQ7Zz12KXY9Zy5wYXJlbnROb2RlLHk9byhnPT1lP2c6Z1thXSxhKSx5Lmxlbmd0aCYmKGl8fHkucmV2ZXJzZSgpLG4ocih5KSkpfXZhciBjPXQuc3RhcnRDb250YWluZXIsdT10LnN0YXJ0T2Zmc2V0LGQ9dC5lbmRDb250YWluZXIsZj10LmVuZE9mZnNldCxoLHAsbSxnLHYseSxiO2lmKGI9ZS5zZWxlY3QoInRkW2RhdGEtbWNlLXNlbGVjdGVkXSx0aFtkYXRhLW1jZS1zZWxlY3RlZF0iKSxiLmxlbmd0aD4wKXJldHVybiB2b2lkIHMoYixmdW5jdGlvbihlKXtuKFtlXSl9KTtpZigxPT1jLm5vZGVUeXBlJiZjLmhhc0NoaWxkTm9kZXMoKSYmKGM9Yy5jaGlsZE5vZGVzW3VdKSwxPT1kLm5vZGVUeXBlJiZkLmhhc0NoaWxkTm9kZXMoKSYmKGQ9aShkLGYpKSxjPT1kKXJldHVybiBuKHIoW2NdKSk7Zm9yKGg9ZS5maW5kQ29tbW9uQW5jZXN0b3IoYyxkKSxnPWM7ZztnPWcucGFyZW50Tm9kZSl7aWYoZz09PWQpcmV0dXJuIGwoYyxoLCEwKTtpZihnPT09aClicmVha31mb3IoZz1kO2c7Zz1nLnBhcmVudE5vZGUpe2lmKGc9PT1jKXJldHVybiBsKGQsaCk7aWYoZz09PWgpYnJlYWt9cD1hKGMsaCl8fGMsbT1hKGQsaCl8fGQsbChjLHAsITApLHk9byhwPT1jP3A6cC5uZXh0U2libGluZywibmV4dFNpYmxpbmciLG09PWQ/bS5uZXh0U2libGluZzptKSx5Lmxlbmd0aCYmbihyKHkpKSxsKGQsbSl9LHRoaXMuc3BsaXQ9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLHQpe3JldHVybiBlLnNwbGl0VGV4dCh0KX12YXIgbj1lLnN0YXJ0Q29udGFpbmVyLHI9ZS5zdGFydE9mZnNldCxpPWUuZW5kQ29udGFpbmVyLG89ZS5lbmRPZmZzZXQ7cmV0dXJuIG49PWkmJjM9PW4ubm9kZVR5cGU/cj4wJiZyPG4ubm9kZVZhbHVlLmxlbmd0aCYmKGk9dChuLHIpLG49aS5wcmV2aW91c1NpYmxpbmcsbz5yPyhvLT1yLG49aT10KGksbykucHJldmlvdXNTaWJsaW5nLG89aS5ub2RlVmFsdWUubGVuZ3RoLHI9MCk6bz0wKTooMz09bi5ub2RlVHlwZSYmcj4wJiZyPG4ubm9kZVZhbHVlLmxlbmd0aCYmKG49dChuLHIpLHI9MCksMz09aS5ub2RlVHlwZSYmbz4wJiZvPGkubm9kZVZhbHVlLmxlbmd0aCYmKGk9dChpLG8pLnByZXZpb3VzU2libGluZyxvPWkubm9kZVZhbHVlLmxlbmd0aCkpLHtzdGFydENvbnRhaW5lcjpuLHN0YXJ0T2Zmc2V0OnIsZW5kQ29udGFpbmVyOmksZW5kT2Zmc2V0Om99fSx0aGlzLm5vcm1hbGl6ZT1mdW5jdGlvbihuKXtmdW5jdGlvbiByKHIpe2Z1bmN0aW9uIGEoZSl7cmV0dXJuIGUmJi9eKFREfFRIfENBUFRJT04pJC8udGVzdChlLm5vZGVOYW1lKX1mdW5jdGlvbiBzKG4scil7Zm9yKHZhciBpPW5ldyB0KG4sZS5nZXRQYXJlbnQobi5wYXJlbnROb2RlLGUuaXNCbG9jayl8fGcpO249aVtyPyJwcmV2IjoibmV4dCJdKCk7KWlmKCJCUiI9PT1uLm5vZGVOYW1lKXJldHVybiEwfWZ1bmN0aW9uIHUoZSl7Zm9yKDtlJiZlIT1nOyl7aWYobChlKSlyZXR1cm4hMDtlPWUucGFyZW50Tm9kZX1yZXR1cm4hMX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGUucHJldmlvdXNTaWJsaW5nJiZlLnByZXZpb3VzU2libGluZy5ub2RlTmFtZT09dH1mdW5jdGlvbiBmKG4scil7dmFyIGEscyxsO2lmKHI9cnx8aCxsPWUuZ2V0UGFyZW50KHIucGFyZW50Tm9kZSxlLmlzQmxvY2spfHxnLG4mJiJCUiI9PXIubm9kZU5hbWUmJkMmJmUuaXNFbXB0eShsKSlyZXR1cm4gaD1yLnBhcmVudE5vZGUscD1lLm5vZGVJbmRleChyKSx2b2lkKGk9ITApO2ZvcihhPW5ldyB0KHIsbCk7dj1hW24/InByZXYiOiJuZXh0Il0oKTspe2lmKCJmYWxzZSI9PT1lLmdldENvbnRlbnRFZGl0YWJsZVBhcmVudCh2KXx8Yyh2KSlyZXR1cm47aWYoMz09PXYubm9kZVR5cGUmJnYubm9kZVZhbHVlLmxlbmd0aD4wKXJldHVybiBoPXYscD1uP3Yubm9kZVZhbHVlLmxlbmd0aDowLHZvaWQoaT0hMCk7aWYoZS5pc0Jsb2NrKHYpfHx5W3Yubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pcmV0dXJuO3M9dn1vJiZzJiYoaD1zLGk9ITAscD0wKX12YXIgaCxwLG0sZz1lLmdldFJvb3QoKSx2LHksYixDO2lmKGg9blsocj8ic3RhcnQiOiJlbmQiKSsiQ29udGFpbmVyIl0scD1uWyhyPyJzdGFydCI6ImVuZCIpKyJPZmZzZXQiXSxDPTE9PWgubm9kZVR5cGUmJnA9PT1oLmNoaWxkTm9kZXMubGVuZ3RoLHk9ZS5zY2hlbWEuZ2V0Tm9uRW1wdHlFbGVtZW50cygpLGI9ciwhYyhoKSl7aWYoMT09aC5ub2RlVHlwZSYmcD5oLmNoaWxkTm9kZXMubGVuZ3RoLTEmJihiPSExKSw5PT09aC5ub2RlVHlwZSYmKGg9ZS5nZXRSb290KCkscD0wKSxoPT09Zyl7aWYoYiYmKHY9aC5jaGlsZE5vZGVzW3A+MD9wLTE6MF0pKXtpZihjKHYpKXJldHVybjtpZih5W3Yubm9kZU5hbWVdfHwiVEFCTEUiPT12Lm5vZGVOYW1lKXJldHVybn1pZihoLmhhc0NoaWxkTm9kZXMoKSl7aWYocD1NYXRoLm1pbighYiYmcD4wP3AtMTpwLGguY2hpbGROb2Rlcy5sZW5ndGgtMSksaD1oLmNoaWxkTm9kZXNbcF0scD0wLHUoaCl8fGMoaCkpcmV0dXJuO2lmKGguaGFzQ2hpbGROb2RlcygpJiYhL1RBQkxFLy50ZXN0KGgubm9kZU5hbWUpKXt2PWgsbT1uZXcgdChoLGcpO2Rve2lmKGwodil8fGModikpe2k9ITE7YnJlYWt9aWYoMz09PXYubm9kZVR5cGUmJnYubm9kZVZhbHVlLmxlbmd0aD4wKXtwPWI/MDp2Lm5vZGVWYWx1ZS5sZW5ndGgsaD12LGk9ITA7YnJlYWt9aWYoeVt2Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldJiYhYSh2KSl7cD1lLm5vZGVJbmRleCh2KSxoPXYucGFyZW50Tm9kZSwiSU1HIiE9di5ub2RlTmFtZXx8Ynx8cCsrLGk9ITA7YnJlYWt9fXdoaWxlKHY9Yj9tLm5leHQoKTptLnByZXYoKSl9fX1vJiYoMz09PWgubm9kZVR5cGUmJjA9PT1wJiZmKCEwKSwxPT09aC5ub2RlVHlwZSYmKHY9aC5jaGlsZE5vZGVzW3BdLHZ8fCh2PWguY2hpbGROb2Rlc1twLTFdKSwhdnx8IkJSIiE9PXYubm9kZU5hbWV8fGQodiwiQSIpfHxzKHYpfHxzKHYsITApfHxmKCEwLHYpKSksYiYmIW8mJjM9PT1oLm5vZGVUeXBlJiZwPT09aC5ub2RlVmFsdWUubGVuZ3RoJiZmKCExKSxpJiZuWyJzZXQiKyhyPyJTdGFydCI6IkVuZCIpXShoLHApfX12YXIgaSxvO3JldHVybiBvPW4uY29sbGFwc2VkLHIoITApLG98fHIoKSxpJiZvJiZuLmNvbGxhcHNlKCEwKSxpfX1mdW5jdGlvbiBhKHQsbixyKXt2YXIgaSxvLGE7aWYoaT1yLmVsZW1lbnRGcm9tUG9pbnQodCxuKSxvPXIuYm9keS5jcmVhdGVUZXh0UmFuZ2UoKSwiSFRNTCI9PWkudGFnTmFtZSYmKGk9ci5ib2R5KSxvLm1vdmVUb0VsZW1lbnRUZXh0KGkpLGE9ZS50b0FycmF5KG8uZ2V0Q2xpZW50UmVjdHMoKSksYT1hLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1NYXRoLmFicyhNYXRoLm1heChlLnRvcC1uLGUuYm90dG9tLW4pKSx0PU1hdGguYWJzKE1hdGgubWF4KHQudG9wLW4sdC5ib3R0b20tbikpLGUtdH0pLGEubGVuZ3RoPjApe249KGFbMF0uYm90dG9tK2FbMF0udG9wKS8yO3RyeXtyZXR1cm4gby5tb3ZlVG9Qb2ludCh0LG4pLG8uY29sbGFwc2UoITApLG99Y2F0Y2gocyl7fX1yZXR1cm4gbnVsbH12YXIgcz1lLmVhY2gsbD1uLmlzQ29udGVudEVkaXRhYmxlRmFsc2UsYz1yLmlzQ2FyZXRDb250YWluZXI7cmV0dXJuIG8uY29tcGFyZVJhbmdlcz1mdW5jdGlvbihlLHQpe2lmKGUmJnQpe2lmKCFlLml0ZW0mJiFlLmR1cGxpY2F0ZSlyZXR1cm4gZS5zdGFydENvbnRhaW5lcj09dC5zdGFydENvbnRhaW5lciYmZS5zdGFydE9mZnNldD09dC5zdGFydE9mZnNldDtpZihlLml0ZW0mJnQuaXRlbSYmZS5pdGVtKDApPT09dC5pdGVtKDApKXJldHVybiEwO2lmKGUuaXNFcXVhbCYmdC5pc0VxdWFsJiZ0LmlzRXF1YWwoZSkpcmV0dXJuITB9cmV0dXJuITF9LG8uZ2V0Q2FyZXRSYW5nZUZyb21Qb2ludD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaTtpZihuLmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQpaT1uLmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQoZSx0KSxyPW4uY3JlYXRlUmFuZ2UoKSxyLnNldFN0YXJ0KGkub2Zmc2V0Tm9kZSxpLm9mZnNldCksci5jb2xsYXBzZSghMCk7ZWxzZSBpZihuLmNhcmV0UmFuZ2VGcm9tUG9pbnQpcj1uLmNhcmV0UmFuZ2VGcm9tUG9pbnQoZSx0KTtlbHNlIGlmKG4uYm9keS5jcmVhdGVUZXh0UmFuZ2Upe3I9bi5ib2R5LmNyZWF0ZVRleHRSYW5nZSgpO3RyeXtyLm1vdmVUb1BvaW50KGUsdCksci5jb2xsYXBzZSghMCl9Y2F0Y2gobyl7cj1hKGUsdCxuKX19cmV0dXJuIHJ9LG8uZ2V0U2VsZWN0ZWROb2RlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RhcnRDb250YWluZXIsbj1lLnN0YXJ0T2Zmc2V0O3JldHVybiB0Lmhhc0NoaWxkTm9kZXMoKSYmZS5lbmRPZmZzZXQ9PW4rMT90LmNoaWxkTm9kZXNbbl06bnVsbH0sby5nZXROb2RlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIDE9PWUubm9kZVR5cGUmJmUuaGFzQ2hpbGROb2RlcygpJiYodD49ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKHQ9ZS5jaGlsZE5vZGVzLmxlbmd0aC0xKSxlPWUuY2hpbGROb2Rlc1t0XSksZX0sb30pLHIoUixbVCxoLHVdLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7ZnVuY3Rpb24gaShlKXt2YXIgdCxuO2lmKG49ci4kKGUpLnBhcmVudHNVbnRpbChyLmdldEJvZHkoKSkuYWRkKGUpLG4ubGVuZ3RoPT09YS5sZW5ndGgpe2Zvcih0PW4ubGVuZ3RoO3Q+PTAmJm5bdF09PT1hW3RdO3QtLSk7aWYoLTE9PT10KXJldHVybiBhPW4sITB9cmV0dXJuIGE9biwhMX12YXIgbyxhPVtdOyJvbnNlbGVjdGlvbmNoYW5nZSJpbiByLmdldERvYygpfHxyLm9uKCJOb2RlQ2hhbmdlIENsaWNrIE1vdXNlVXAgS2V5VXAgRm9jdXMiLGZ1bmN0aW9uKHQpe3ZhciBuLGk7bj1yLnNlbGVjdGlvbi5nZXRSbmcoKSxpPXtzdGFydENvbnRhaW5lcjpuLnN0YXJ0Q29udGFpbmVyLHN0YXJ0T2Zmc2V0Om4uc3RhcnRPZmZzZXQsZW5kQ29udGFpbmVyOm4uZW5kQ29udGFpbmVyLGVuZE9mZnNldDpuLmVuZE9mZnNldH0sIm5vZGVjaGFuZ2UiIT10LnR5cGUmJmUuY29tcGFyZVJhbmdlcyhpLG8pfHxyLmZpcmUoIlNlbGVjdGlvbkNoYW5nZSIpLG89aX0pLHIub24oImNvbnRleHRtZW51IixmdW5jdGlvbigpe3IuZmlyZSgiU2VsZWN0aW9uQ2hhbmdlIil9KSxyLm9uKCJTZWxlY3Rpb25DaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIGU9ci5zZWxlY3Rpb24uZ2V0U3RhcnQoITApOyF0LnJhbmdlJiZyLnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpfHwhaShlKSYmci5kb20uaXNDaGlsZE9mKGUsci5nZXRCb2R5KCkpJiZyLm5vZGVDaGFuZ2VkKHtzZWxlY3Rpb25DaGFuZ2U6ITB9KX0pLHIub24oIk1vdXNlVXAiLGZ1bmN0aW9uKGUpe2UuaXNEZWZhdWx0UHJldmVudGVkKCl8fCgiSU1HIj09ci5zZWxlY3Rpb24uZ2V0Tm9kZSgpLm5vZGVOYW1lP24uc2V0RWRpdG9yVGltZW91dChyLGZ1bmN0aW9uKCl7ci5ub2RlQ2hhbmdlZCgpfSk6ci5ub2RlQ2hhbmdlZCgpKX0pLHRoaXMubm9kZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ci5zZWxlY3Rpb24sbixpLG87ci5pbml0aWFsaXplZCYmdCYmIXIuc2V0dGluZ3MuZGlzYWJsZV9ub2RlY2hhbmdlJiYhci5yZWFkb25seSYmKG89ci5nZXRCb2R5KCksbj10LmdldFN0YXJ0KCl8fG8sbj1uLm93bmVyRG9jdW1lbnQhPXIuZ2V0RG9jKCk/ci5nZXRCb2R5KCk6biwiSU1HIj09bi5ub2RlTmFtZSYmdC5pc0NvbGxhcHNlZCgpJiYobj1uLnBhcmVudE5vZGUpLGk9W10sci5kb20uZ2V0UGFyZW50KG4sZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1vPyEwOnZvaWQgaS5wdXNoKGUpfSksZT1lfHx7fSxlLmVsZW1lbnQ9bixlLnBhcmVudHM9aSxyLmZpcmUoIk5vZGVDaGFuZ2UiLGUpKX19fSkscihBLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbil7dmFyIHIsaSxvPW4/Imxhc3RDaGlsZCI6ImZpcnN0Q2hpbGQiLGE9bj8icHJldiI6Im5leHQiO2lmKGVbb10pcmV0dXJuIGVbb107aWYoZSE9PXQpe2lmKHI9ZVthXSlyZXR1cm4gcjtmb3IoaT1lLnBhcmVudDtpJiZpIT09dDtpPWkucGFyZW50KWlmKHI9aVthXSlyZXR1cm4gcn19ZnVuY3Rpb24gdChlLHQpe3RoaXMubmFtZT1lLHRoaXMudHlwZT10LDE9PT10JiYodGhpcy5hdHRyaWJ1dGVzPVtdLHRoaXMuYXR0cmlidXRlcy5tYXA9e30pfXZhciBuPS9eWyBcdFxyXG5dKiQvLHI9eyIjdGV4dCI6MywiI2NvbW1lbnQiOjgsIiNjZGF0YSI6NCwiI3BpIjo3LCIjZG9jdHlwZSI6MTAsIiNkb2N1bWVudC1mcmFnbWVudCI6MTF9O3JldHVybiB0LnByb3RvdHlwZT17cmVwbGFjZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiBlLnBhcmVudCYmZS5yZW1vdmUoKSx0Lmluc2VydChlLHQpLHQucmVtb3ZlKCksdH0sYXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscixpLG87aWYoInN0cmluZyIhPXR5cGVvZiBlKXtmb3IoaSBpbiBlKW4uYXR0cihpLGVbaV0pO3JldHVybiBufWlmKHI9bi5hdHRyaWJ1dGVzKXtpZih0IT09byl7aWYobnVsbD09PXQpe2lmKGUgaW4gci5tYXApZm9yKGRlbGV0ZSByLm1hcFtlXSxpPXIubGVuZ3RoO2ktLTspaWYocltpXS5uYW1lPT09ZSlyZXR1cm4gcj1yLnNwbGljZShpLDEpLG47cmV0dXJuIG59aWYoZSBpbiByLm1hcCl7Zm9yKGk9ci5sZW5ndGg7aS0tOylpZihyW2ldLm5hbWU9PT1lKXtyW2ldLnZhbHVlPXQ7YnJlYWt9fWVsc2Ugci5wdXNoKHtuYW1lOmUsdmFsdWU6dH0pO3JldHVybiByLm1hcFtlXT10LG59cmV0dXJuIHIubWFwW2VdfX0sY2xvbmU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49bmV3IHQoZS5uYW1lLGUudHlwZSkscixpLG8sYSxzO2lmKG89ZS5hdHRyaWJ1dGVzKXtmb3Iocz1bXSxzLm1hcD17fSxyPTAsaT1vLmxlbmd0aDtpPnI7cisrKWE9b1tyXSwiaWQiIT09YS5uYW1lJiYoc1tzLmxlbmd0aF09e25hbWU6YS5uYW1lLHZhbHVlOmEudmFsdWV9LHMubWFwW2EubmFtZV09YS52YWx1ZSk7bi5hdHRyaWJ1dGVzPXN9cmV0dXJuIG4udmFsdWU9ZS52YWx1ZSxuLnNob3J0RW5kZWQ9ZS5zaG9ydEVuZGVkLG59LHdyYXA6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gdC5wYXJlbnQuaW5zZXJ0KGUsdCksZS5hcHBlbmQodCksdH0sdW53cmFwOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0LG47Zm9yKHQ9ZS5maXJzdENoaWxkO3Q7KW49dC5uZXh0LGUuaW5zZXJ0KHQsZSwhMCksdD1uO2UucmVtb3ZlKCl9LHJlbW92ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLnBhcmVudCxuPWUubmV4dCxyPWUucHJldjtyZXR1cm4gdCYmKHQuZmlyc3RDaGlsZD09PWU/KHQuZmlyc3RDaGlsZD1uLG4mJihuLnByZXY9bnVsbCkpOnIubmV4dD1uLHQubGFzdENoaWxkPT09ZT8odC5sYXN0Q2hpbGQ9cixyJiYoci5uZXh0PW51bGwpKTpuLnByZXY9cixlLnBhcmVudD1lLm5leHQ9ZS5wcmV2PW51bGwpLGV9LGFwcGVuZDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG47cmV0dXJuIGUucGFyZW50JiZlLnJlbW92ZSgpLG49dC5sYXN0Q2hpbGQsbj8obi5uZXh0PWUsZS5wcmV2PW4sdC5sYXN0Q2hpbGQ9ZSk6dC5sYXN0Q2hpbGQ9dC5maXJzdENoaWxkPWUsZS5wYXJlbnQ9dCxlfSxpbnNlcnQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO3JldHVybiBlLnBhcmVudCYmZS5yZW1vdmUoKSxyPXQucGFyZW50fHx0aGlzLG4/KHQ9PT1yLmZpcnN0Q2hpbGQ/ci5maXJzdENoaWxkPWU6dC5wcmV2Lm5leHQ9ZSxlLnByZXY9dC5wcmV2LGUubmV4dD10LHQucHJldj1lKToodD09PXIubGFzdENoaWxkP3IubGFzdENoaWxkPWU6dC5uZXh0LnByZXY9ZSxlLm5leHQ9dC5uZXh0LGUucHJldj10LHQubmV4dD1lKSxlLnBhcmVudD1yLGV9LGdldEFsbDpmdW5jdGlvbih0KXt2YXIgbj10aGlzLHIsaT1bXTtmb3Iocj1uLmZpcnN0Q2hpbGQ7cjtyPWUocixuKSlyLm5hbWU9PT10JiZpLnB1c2gocik7cmV0dXJuIGl9LGVtcHR5OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxuLHIsaTtpZih0LmZpcnN0Q2hpbGQpe2ZvcihuPVtdLGk9dC5maXJzdENoaWxkO2k7aT1lKGksdCkpbi5wdXNoKGkpO2ZvcihyPW4ubGVuZ3RoO3ItLTspaT1uW3JdLGkucGFyZW50PWkuZmlyc3RDaGlsZD1pLmxhc3RDaGlsZD1pLm5leHQ9aS5wcmV2PW51bGx9cmV0dXJuIHQuZmlyc3RDaGlsZD10Lmxhc3RDaGlsZD1udWxsLHR9LGlzRW1wdHk6ZnVuY3Rpb24odCl7dmFyIHI9dGhpcyxpPXIuZmlyc3RDaGlsZCxvLGE7aWYoaSlkb3tpZigxPT09aS50eXBlKXtpZihpLmF0dHJpYnV0ZXMubWFwWyJkYXRhLW1jZS1ib2d1cyJdKWNvbnRpbnVlO2lmKHRbaS5uYW1lXSlyZXR1cm4hMTtmb3Iobz1pLmF0dHJpYnV0ZXMubGVuZ3RoO28tLTspaWYoYT1pLmF0dHJpYnV0ZXNbb10ubmFtZSwibmFtZSI9PT1hfHwwPT09YS5pbmRleE9mKCJkYXRhLW1jZS1ib29rbWFyayIpKXJldHVybiExfWlmKDg9PT1pLnR5cGUpcmV0dXJuITE7aWYoMz09PWkudHlwZSYmIW4udGVzdChpLnZhbHVlKSlyZXR1cm4hMX13aGlsZShpPWUoaSxyKSk7cmV0dXJuITB9LHdhbGs6ZnVuY3Rpb24odCl7cmV0dXJuIGUodGhpcyxudWxsLHQpfX0sdC5jcmVhdGU9ZnVuY3Rpb24oZSxuKXt2YXIgaSxvO2lmKGk9bmV3IHQoZSxyW2VdfHwxKSxuKWZvcihvIGluIG4paS5hdHRyKG8sbltvXSk7cmV0dXJuIGl9LHR9KSxyKEIsW21dLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0KXtyZXR1cm4gZT9lLnNwbGl0KHR8fCIgIik6W119ZnVuY3Rpb24gbihlKXtmdW5jdGlvbiBuKGUsbixyKXtmdW5jdGlvbiBpKGUsdCl7dmFyIG49e30scixpO2ZvcihyPTAsaT1lLmxlbmd0aDtpPnI7cisrKW5bZVtyXV09dHx8e307cmV0dXJuIG59dmFyIHMsYyx1LGQ9YXJndW1lbnRzO2ZvcihyPXJ8fFtdLG49bnx8IiIsInN0cmluZyI9PXR5cGVvZiByJiYocj10KHIpKSxjPTM7YzxkLmxlbmd0aDtjKyspInN0cmluZyI9PXR5cGVvZiBkW2NdJiYoZFtjXT10KGRbY10pKSxyLnB1c2guYXBwbHkocixkW2NdKTtmb3IoZT10KGUpLHM9ZS5sZW5ndGg7cy0tOyl1PVtdLmNvbmNhdChsLHQobikpLGFbZVtzXV09e2F0dHJpYnV0ZXM6aSh1KSxhdHRyaWJ1dGVzT3JkZXI6dSxjaGlsZHJlbjppKHIsbyl9fWZ1bmN0aW9uIHIoZSxuKXt2YXIgcixpLG8scztmb3IoZT10KGUpLHI9ZS5sZW5ndGgsbj10KG4pO3ItLTspZm9yKGk9YVtlW3JdXSxvPTAscz1uLmxlbmd0aDtzPm87bysrKWkuYXR0cmlidXRlc1tuW29dXT17fSxpLmF0dHJpYnV0ZXNPcmRlci5wdXNoKG5bb10pfXZhciBhPXt9LGwsYyx1LGQsZixoO3JldHVybiBpW2VdP2lbZV06KGw9dCgiaWQgYWNjZXNza2V5IGNsYXNzIGRpciBsYW5nIHN0eWxlIHRhYmluZGV4IHRpdGxlIiksYz10KCJhZGRyZXNzIGJsb2NrcXVvdGUgZGl2IGRsIGZpZWxkc2V0IGZvcm0gaDEgaDIgaDMgaDQgaDUgaDYgaHIgbWVudSBvbCBwIHByZSB0YWJsZSB1bCIpLHU9dCgiYSBhYmJyIGIgYmRvIGJyIGJ1dHRvbiBjaXRlIGNvZGUgZGVsIGRmbiBlbSBlbWJlZCBpIGlmcmFtZSBpbWcgaW5wdXQgaW5zIGtiZCBsYWJlbCBtYXAgbm9zY3JpcHQgb2JqZWN0IHEgcyBzYW1wIHNjcmlwdCBzZWxlY3Qgc21hbGwgc3BhbiBzdHJvbmcgc3ViIHN1cCB0ZXh0YXJlYSB1IHZhciAjdGV4dCAjY29tbWVudCIpLCJodG1sNCIhPWUmJihsLnB1c2guYXBwbHkobCx0KCJjb250ZW50ZWRpdGFibGUgY29udGV4dG1lbnUgZHJhZ2dhYmxlIGRyb3B6b25lIGhpZGRlbiBzcGVsbGNoZWNrIHRyYW5zbGF0ZSIpKSxjLnB1c2guYXBwbHkoYyx0KCJhcnRpY2xlIGFzaWRlIGRldGFpbHMgZGlhbG9nIGZpZ3VyZSBoZWFkZXIgZm9vdGVyIGhncm91cCBzZWN0aW9uIG5hdiIpKSx1LnB1c2guYXBwbHkodSx0KCJhdWRpbyBjYW52YXMgY29tbWFuZCBkYXRhbGlzdCBtYXJrIG1ldGVyIG91dHB1dCBwaWN0dXJlIHByb2dyZXNzIHRpbWUgd2JyIHZpZGVvIHJ1YnkgYmRpIGtleWdlbiIpKSksImh0bWw1LXN0cmljdCIhPWUmJihsLnB1c2goInhtbDpsYW5nIiksaD10KCJhY3JvbnltIGFwcGxldCBiYXNlZm9udCBiaWcgZm9udCBzdHJpa2UgdHQiKSx1LnB1c2guYXBwbHkodSxoKSxzKGgsZnVuY3Rpb24oZSl7bihlLCIiLHUpfSksZj10KCJjZW50ZXIgZGlyIGlzaW5kZXggbm9mcmFtZXMiKSxjLnB1c2guYXBwbHkoYyxmKSxkPVtdLmNvbmNhdChjLHUpLHMoZixmdW5jdGlvbihlKXtuKGUsIiIsZCl9KSksZD1kfHxbXS5jb25jYXQoYyx1KSxuKCJodG1sIiwibWFuaWZlc3QiLCJoZWFkIGJvZHkiKSxuKCJoZWFkIiwiIiwiYmFzZSBjb21tYW5kIGxpbmsgbWV0YSBub3NjcmlwdCBzY3JpcHQgc3R5bGUgdGl0bGUiKSxuKCJ0aXRsZSBociBub3NjcmlwdCBiciIpLG4oImJhc2UiLCJocmVmIHRhcmdldCIpLG4oImxpbmsiLCJocmVmIHJlbCBtZWRpYSBocmVmbGFuZyB0eXBlIHNpemVzIGhyZWZsYW5nIiksbigibWV0YSIsIm5hbWUgaHR0cC1lcXVpdiBjb250ZW50IGNoYXJzZXQiKSxuKCJzdHlsZSIsIm1lZGlhIHR5cGUgc2NvcGVkIiksbigic2NyaXB0Iiwic3JjIGFzeW5jIGRlZmVyIHR5cGUgY2hhcnNldCIpLG4oImJvZHkiLCJvbmFmdGVycHJpbnQgb25iZWZvcmVwcmludCBvbmJlZm9yZXVubG9hZCBvbmJsdXIgb25lcnJvciBvbmZvY3VzIG9uaGFzaGNoYW5nZSBvbmxvYWQgb25tZXNzYWdlIG9ub2ZmbGluZSBvbm9ubGluZSBvbnBhZ2VoaWRlIG9ucGFnZXNob3cgb25wb3BzdGF0ZSBvbnJlc2l6ZSBvbnNjcm9sbCBvbnN0b3JhZ2Ugb251bmxvYWQiLGQpLG4oImFkZHJlc3MgZHQgZGQgZGl2IGNhcHRpb24iLCIiLGQpLG4oImgxIGgyIGgzIGg0IGg1IGg2IHByZSBwIGFiYnIgY29kZSB2YXIgc2FtcCBrYmQgc3ViIHN1cCBpIGIgdSBiZG8gc3BhbiBsZWdlbmQgZW0gc3Ryb25nIHNtYWxsIHMgY2l0ZSBkZm4iLCIiLHUpLG4oImJsb2NrcXVvdGUiLCJjaXRlIixkKSxuKCJvbCIsInJldmVyc2VkIHN0YXJ0IHR5cGUiLCJsaSIpLG4oInVsIiwiIiwibGkiKSxuKCJsaSIsInZhbHVlIixkKSxuKCJkbCIsIiIsImR0IGRkIiksbigiYSIsImhyZWYgdGFyZ2V0IHJlbCBtZWRpYSBocmVmbGFuZyB0eXBlIix1KSxuKCJxIiwiY2l0ZSIsdSksbigiaW5zIGRlbCIsImNpdGUgZGF0ZXRpbWUiLGQpLG4oImltZyIsInNyYyBzaXplcyBzcmNzZXQgYWx0IHVzZW1hcCBpc21hcCB3aWR0aCBoZWlnaHQiKSxuKCJpZnJhbWUiLCJzcmMgbmFtZSB3aWR0aCBoZWlnaHQiLGQpLG4oImVtYmVkIiwic3JjIHR5cGUgd2lkdGggaGVpZ2h0Iiksbigib2JqZWN0IiwiZGF0YSB0eXBlIHR5cGVtdXN0bWF0Y2ggbmFtZSB1c2VtYXAgZm9ybSB3aWR0aCBoZWlnaHQiLGQsInBhcmFtIiksbigicGFyYW0iLCJuYW1lIHZhbHVlIiksbigibWFwIiwibmFtZSIsZCwiYXJlYSIpLG4oImFyZWEiLCJhbHQgY29vcmRzIHNoYXBlIGhyZWYgdGFyZ2V0IHJlbCBtZWRpYSBocmVmbGFuZyB0eXBlIiksbigidGFibGUiLCJib3JkZXIiLCJjYXB0aW9uIGNvbGdyb3VwIHRoZWFkIHRmb290IHRib2R5IHRyIisoImh0bWw0Ij09ZT8iIGNvbCI6IiIpKSxuKCJjb2xncm91cCIsInNwYW4iLCJjb2wiKSxuKCJjb2wiLCJzcGFuIiksbigidGJvZHkgdGhlYWQgdGZvb3QiLCIiLCJ0ciIpLG4oInRyIiwiIiwidGQgdGgiKSxuKCJ0ZCIsImNvbHNwYW4gcm93c3BhbiBoZWFkZXJzIixkKSxuKCJ0aCIsImNvbHNwYW4gcm93c3BhbiBoZWFkZXJzIHNjb3BlIGFiYnIiLGQpLG4oImZvcm0iLCJhY2NlcHQtY2hhcnNldCBhY3Rpb24gYXV0b2NvbXBsZXRlIGVuY3R5cGUgbWV0aG9kIG5hbWUgbm92YWxpZGF0ZSB0YXJnZXQiLGQpLG4oImZpZWxkc2V0IiwiZGlzYWJsZWQgZm9ybSBuYW1lIixkLCJsZWdlbmQiKSxuKCJsYWJlbCIsImZvcm0gZm9yIix1KSxuKCJpbnB1dCIsImFjY2VwdCBhbHQgYXV0b2NvbXBsZXRlIGNoZWNrZWQgZGlybmFtZSBkaXNhYmxlZCBmb3JtIGZvcm1hY3Rpb24gZm9ybWVuY3R5cGUgZm9ybW1ldGhvZCBmb3Jtbm92YWxpZGF0ZSBmb3JtdGFyZ2V0IGhlaWdodCBsaXN0IG1heCBtYXhsZW5ndGggbWluIG11bHRpcGxlIG5hbWUgcGF0dGVybiByZWFkb25seSByZXF1aXJlZCBzaXplIHNyYyBzdGVwIHR5cGUgdmFsdWUgd2lkdGgiKSxuKCJidXR0b24iLCJkaXNhYmxlZCBmb3JtIGZvcm1hY3Rpb24gZm9ybWVuY3R5cGUgZm9ybW1ldGhvZCBmb3Jtbm92YWxpZGF0ZSBmb3JtdGFyZ2V0IG5hbWUgdHlwZSB2YWx1ZSIsImh0bWw0Ij09ZT9kOnUpLG4oInNlbGVjdCIsImRpc2FibGVkIGZvcm0gbXVsdGlwbGUgbmFtZSByZXF1aXJlZCBzaXplIiwib3B0aW9uIG9wdGdyb3VwIiksbigib3B0Z3JvdXAiLCJkaXNhYmxlZCBsYWJlbCIsIm9wdGlvbiIpLG4oIm9wdGlvbiIsImRpc2FibGVkIGxhYmVsIHNlbGVjdGVkIHZhbHVlIiksbigidGV4dGFyZWEiLCJjb2xzIGRpcm5hbWUgZGlzYWJsZWQgZm9ybSBtYXhsZW5ndGggbmFtZSByZWFkb25seSByZXF1aXJlZCByb3dzIHdyYXAiKSxuKCJtZW51IiwidHlwZSBsYWJlbCIsZCwibGkiKSxuKCJub3NjcmlwdCIsIiIsZCksImh0bWw0IiE9ZSYmKG4oIndiciIpLG4oInJ1YnkiLCIiLHUsInJ0IHJwIiksbigiZmlnY2FwdGlvbiIsIiIsZCksbigibWFyayBydCBycCBzdW1tYXJ5IGJkaSIsIiIsdSksbigiY2FudmFzIiwid2lkdGggaGVpZ2h0IixkKSxuKCJ2aWRlbyIsInNyYyBjcm9zc29yaWdpbiBwb3N0ZXIgcHJlbG9hZCBhdXRvcGxheSBtZWRpYWdyb3VwIGxvb3AgbXV0ZWQgY29udHJvbHMgd2lkdGggaGVpZ2h0IGJ1ZmZlcmVkIixkLCJ0cmFjayBzb3VyY2UiKSxuKCJhdWRpbyIsInNyYyBjcm9zc29yaWdpbiBwcmVsb2FkIGF1dG9wbGF5IG1lZGlhZ3JvdXAgbG9vcCBtdXRlZCBjb250cm9scyBidWZmZXJlZCB2b2x1bWUiLGQsInRyYWNrIHNvdXJjZSIpLG4oInBpY3R1cmUiLCIiLCJpbWcgc291cmNlIiksbigic291cmNlIiwic3JjIHNyY3NldCB0eXBlIG1lZGlhIHNpemVzIiksbigidHJhY2siLCJraW5kIHNyYyBzcmNsYW5nIGxhYmVsIGRlZmF1bHQiKSxuKCJkYXRhbGlzdCIsIiIsdSwib3B0aW9uIiksbigiYXJ0aWNsZSBzZWN0aW9uIG5hdiBhc2lkZSBoZWFkZXIgZm9vdGVyIiwiIixkKSxuKCJoZ3JvdXAiLCIiLCJoMSBoMiBoMyBoNCBoNSBoNiIpLG4oImZpZ3VyZSIsIiIsZCwiZmlnY2FwdGlvbiIpLG4oInRpbWUiLCJkYXRldGltZSIsdSksbigiZGlhbG9nIiwib3BlbiIsZCksbigiY29tbWFuZCIsInR5cGUgbGFiZWwgaWNvbiBkaXNhYmxlZCBjaGVja2VkIHJhZGlvZ3JvdXAgY29tbWFuZCIpLG4oIm91dHB1dCIsImZvciBmb3JtIG5hbWUiLHUpLG4oInByb2dyZXNzIiwidmFsdWUgbWF4Iix1KSxuKCJtZXRlciIsInZhbHVlIG1pbiBtYXggbG93IGhpZ2ggb3B0aW11bSIsdSksbigiZGV0YWlscyIsIm9wZW4iLGQsInN1bW1hcnkiKSxuKCJrZXlnZW4iLCJhdXRvZm9jdXMgY2hhbGxlbmdlIGRpc2FibGVkIGZvcm0ga2V5dHlwZSBuYW1lIikpLCJodG1sNS1zdHJpY3QiIT1lJiYocigic2NyaXB0IiwibGFuZ3VhZ2UgeG1sOnNwYWNlIikscigic3R5bGUiLCJ4bWw6c3BhY2UiKSxyKCJvYmplY3QiLCJkZWNsYXJlIGNsYXNzaWQgY29kZSBjb2RlYmFzZSBjb2RldHlwZSBhcmNoaXZlIHN0YW5kYnkgYWxpZ24gYm9yZGVyIGhzcGFjZSB2c3BhY2UiKSxyKCJlbWJlZCIsImFsaWduIG5hbWUgaHNwYWNlIHZzcGFjZSIpLHIoInBhcmFtIiwidmFsdWV0eXBlIHR5cGUiKSxyKCJhIiwiY2hhcnNldCBuYW1lIHJldiBzaGFwZSBjb29yZHMiKSxyKCJiciIsImNsZWFyIikscigiYXBwbGV0IiwiY29kZWJhc2UgYXJjaGl2ZSBjb2RlIG9iamVjdCBhbHQgbmFtZSB3aWR0aCBoZWlnaHQgYWxpZ24gaHNwYWNlIHZzcGFjZSIpLHIoImltZyIsIm5hbWUgbG9uZ2Rlc2MgYWxpZ24gYm9yZGVyIGhzcGFjZSB2c3BhY2UiKSxyKCJpZnJhbWUiLCJsb25nZGVzYyBmcmFtZWJvcmRlciBtYXJnaW53aWR0aCBtYXJnaW5oZWlnaHQgc2Nyb2xsaW5nIGFsaWduIikscigiZm9udCBiYXNlZm9udCIsInNpemUgY29sb3IgZmFjZSIpLHIoImlucHV0IiwidXNlbWFwIGFsaWduIikscigic2VsZWN0Iiwib25jaGFuZ2UiKSxyKCJ0ZXh0YXJlYSIpLHIoImgxIGgyIGgzIGg0IGg1IGg2IGRpdiBwIGxlZ2VuZCBjYXB0aW9uIiwiYWxpZ24iKSxyKCJ1bCIsInR5cGUgY29tcGFjdCIpLHIoImxpIiwidHlwZSIpLHIoIm9sIGRsIG1lbnUgZGlyIiwiY29tcGFjdCIpLHIoInByZSIsIndpZHRoIHhtbDpzcGFjZSIpLHIoImhyIiwiYWxpZ24gbm9zaGFkZSBzaXplIHdpZHRoIikscigiaXNpbmRleCIsInByb21wdCIpLHIoInRhYmxlIiwic3VtbWFyeSB3aWR0aCBmcmFtZSBydWxlcyBjZWxsc3BhY2luZyBjZWxscGFkZGluZyBhbGlnbiBiZ2NvbG9yIikscigiY29sIiwid2lkdGggYWxpZ24gY2hhciBjaGFyb2ZmIHZhbGlnbiIpLHIoImNvbGdyb3VwIiwid2lkdGggYWxpZ24gY2hhciBjaGFyb2ZmIHZhbGlnbiIpLHIoInRoZWFkIiwiYWxpZ24gY2hhciBjaGFyb2ZmIHZhbGlnbiIpLHIoInRyIiwiYWxpZ24gY2hhciBjaGFyb2ZmIHZhbGlnbiBiZ2NvbG9yIikscigidGgiLCJheGlzIGFsaWduIGNoYXIgY2hhcm9mZiB2YWxpZ24gbm93cmFwIGJnY29sb3Igd2lkdGggaGVpZ2h0IikscigiZm9ybSIsImFjY2VwdCIpLHIoInRkIiwiYWJiciBheGlzIHNjb3BlIGFsaWduIGNoYXIgY2hhcm9mZiB2YWxpZ24gbm93cmFwIGJnY29sb3Igd2lkdGggaGVpZ2h0IikscigidGZvb3QiLCJhbGlnbiBjaGFyIGNoYXJvZmYgdmFsaWduIikscigidGJvZHkiLCJhbGlnbiBjaGFyIGNoYXJvZmYgdmFsaWduIikscigiYXJlYSIsIm5vaHJlZiIpLHIoImJvZHkiLCJiYWNrZ3JvdW5kIGJnY29sb3IgdGV4dCBsaW5rIHZsaW5rIGFsaW5rIikpLCJodG1sNCIhPWUmJihyKCJpbnB1dCBidXR0b24gc2VsZWN0IHRleHRhcmVhIiwiYXV0b2ZvY3VzIikscigiaW5wdXQgdGV4dGFyZWEiLCJwbGFjZWhvbGRlciIpLHIoImEiLCJkb3dubG9hZCIpLHIoImxpbmsgc2NyaXB0IGltZyIsImNyb3Nzb3JpZ2luIikscigiaWZyYW1lIiwic2FuZGJveCBzZWFtbGVzcyBhbGxvd2Z1bGxzY3JlZW4iKSkscyh0KCJhIGZvcm0gbWV0ZXIgcHJvZ3Jlc3MgZGZuIiksZnVuY3Rpb24oZSl7YVtlXSYmZGVsZXRlIGFbZV0uY2hpbGRyZW5bZV19KSxkZWxldGUgYS5jYXB0aW9uLmNoaWxkcmVuLnRhYmxlLGRlbGV0ZSBhLnNjcmlwdCxpW2VdPWEsYSl9ZnVuY3Rpb24gcihlLHQpe3ZhciBuO3JldHVybiBlJiYobj17fSwic3RyaW5nIj09dHlwZW9mIGUmJihlPXsiKiI6ZX0pLHMoZSxmdW5jdGlvbihlLHIpe25bcl09bltyLnRvVXBwZXJDYXNlKCldPSJtYXAiPT10P2EoZSwvWywgXS8pOmMoZSwvWywgXS8pfSkpLG59dmFyIGk9e30sbz17fSxhPWUubWFrZU1hcCxzPWUuZWFjaCxsPWUuZXh0ZW5kLGM9ZS5leHBsb2RlLHU9ZS5pbkFycmF5O3JldHVybiBmdW5jdGlvbihlKXtmdW5jdGlvbiBvKHQsbixyKXt2YXIgbz1lW3RdO3JldHVybiBvP289YShvLC9bLCBdLyxhKG8udG9VcHBlckNhc2UoKSwvWywgXS8pKToobz1pW3RdLG98fChvPWEobiwiICIsYShuLnRvVXBwZXJDYXNlKCksIiAiKSksbz1sKG8sciksaVt0XT1vKSksb31mdW5jdGlvbiBkKGUpe3JldHVybiBuZXcgUmVnRXhwKCJeIitlLnJlcGxhY2UoLyhbPysqXSkvZywiLiQxIikrIiQiKX1mdW5jdGlvbiBmKGUpe3ZhciBuLHIsaSxvLHMsbCxjLGYsaCxwLG0sZyx2LGIseCx3LE4sRSxfLFM9L14oWyMrXC1dKT8oW15cWyFcL10rKSg/OlwvKFteXFshXSspKT8oPzooIT8pXFsoW15cXV0rKVxdKT8kLyxrPS9eKFshXC1dKT8oXHcrOjpcdyt8W149OjxdKyk/KD86KFs9OjxdKSguKikpPyQvLFQ9L1sqPytdLztpZihlKWZvcihlPXQoZSwiLCIpLHlbIkAiXSYmKHc9eVsiQCJdLmF0dHJpYnV0ZXMsTj15WyJAIl0uYXR0cmlidXRlc09yZGVyKSxuPTAscj1lLmxlbmd0aDtyPm47bisrKWlmKHM9Uy5leGVjKGVbbl0pKXtpZihiPXNbMV0saD1zWzJdLHg9c1szXSxmPXNbNV0sZz17fSx2PVtdLGw9e2F0dHJpYnV0ZXM6ZyxhdHRyaWJ1dGVzT3JkZXI6dn0sIiMiPT09YiYmKGwucGFkZEVtcHR5PSEwKSwiLSI9PT1iJiYobC5yZW1vdmVFbXB0eT0hMCksIiEiPT09c1s0XSYmKGwucmVtb3ZlRW1wdHlBdHRycz0hMCksdyl7Zm9yKEUgaW4gdylnW0VdPXdbRV07di5wdXNoLmFwcGx5KHYsTil9aWYoZilmb3IoZj10KGYsInwiKSxpPTAsbz1mLmxlbmd0aDtvPmk7aSsrKWlmKHM9ay5leGVjKGZbaV0pKXtpZihjPXt9LG09c1sxXSxwPXNbMl0ucmVwbGFjZSgvOjovZywiOiIpLGI9c1szXSxfPXNbNF0sIiEiPT09bSYmKGwuYXR0cmlidXRlc1JlcXVpcmVkPWwuYXR0cmlidXRlc1JlcXVpcmVkfHxbXSxsLmF0dHJpYnV0ZXNSZXF1aXJlZC5wdXNoKHApLGMucmVxdWlyZWQ9ITApLCItIj09PW0pe2RlbGV0ZSBnW3BdLHYuc3BsaWNlKHUodixwKSwxKTtjb250aW51ZX1iJiYoIj0iPT09YiYmKGwuYXR0cmlidXRlc0RlZmF1bHQ9bC5hdHRyaWJ1dGVzRGVmYXVsdHx8W10sbC5hdHRyaWJ1dGVzRGVmYXVsdC5wdXNoKHtuYW1lOnAsdmFsdWU6X30pLGMuZGVmYXVsdFZhbHVlPV8pLCI6Ij09PWImJihsLmF0dHJpYnV0ZXNGb3JjZWQ9bC5hdHRyaWJ1dGVzRm9yY2VkfHxbXSxsLmF0dHJpYnV0ZXNGb3JjZWQucHVzaCh7bmFtZTpwLHZhbHVlOl99KSxjLmZvcmNlZFZhbHVlPV8pLCI8Ij09PWImJihjLnZhbGlkVmFsdWVzPWEoXywiPyIpKSksVC50ZXN0KHApPyhsLmF0dHJpYnV0ZVBhdHRlcm5zPWwuYXR0cmlidXRlUGF0dGVybnN8fFtdLGMucGF0dGVybj1kKHApLGwuYXR0cmlidXRlUGF0dGVybnMucHVzaChjKSk6KGdbcF18fHYucHVzaChwKSxnW3BdPWMpfXd8fCJAIiE9aHx8KHc9ZyxOPXYpLHgmJihsLm91dHB1dE5hbWU9aCx5W3hdPWwpLFQudGVzdChoKT8obC5wYXR0ZXJuPWQoaCksQy5wdXNoKGwpKTp5W2hdPWx9fWZ1bmN0aW9uIGgoZSl7eT17fSxDPVtdLGYoZSkscyhOLGZ1bmN0aW9uKGUsdCl7Ylt0XT1lLmNoaWxkcmVufSl9ZnVuY3Rpb24gcChlKXt2YXIgbj0vXih+KT8oLispJC87ZSYmKGkudGV4dF9ibG9ja19lbGVtZW50cz1pLmJsb2NrX2VsZW1lbnRzPW51bGwscyh0KGUsIiwiKSxmdW5jdGlvbihlKXt2YXIgdD1uLmV4ZWMoZSkscj0ifiI9PT10WzFdLGk9cj8ic3BhbiI6ImRpdiIsbz10WzJdO2lmKGJbb109YltpXSxMW29dPWkscnx8KFJbby50b1VwcGVyQ2FzZSgpXT17fSxSW29dPXt9KSwheVtvXSl7dmFyIGE9eVtpXTsKYT1sKHt9LGEpLGRlbGV0ZSBhLnJlbW92ZUVtcHR5QXR0cnMsZGVsZXRlIGEucmVtb3ZlRW1wdHkseVtvXT1hfXMoYixmdW5jdGlvbihlLHQpe2VbaV0mJihiW3RdPWU9bCh7fSxiW3RdKSxlW29dPWVbaV0pfSl9KSl9ZnVuY3Rpb24gbShuKXt2YXIgcj0vXihbK1wtXT8pKFx3KylcWyhbXlxdXSspXF0kLztpW2Uuc2NoZW1hXT1udWxsLG4mJnModChuLCIsIiksZnVuY3Rpb24oZSl7dmFyIG49ci5leGVjKGUpLGksbztuJiYobz1uWzFdLGk9bz9iW25bMl1dOmJbblsyXV09eyIjY29tbWVudCI6e319LGk9YltuWzJdXSxzKHQoblszXSwifCIpLGZ1bmN0aW9uKGUpeyItIj09PW8/ZGVsZXRlIGlbZV06aVtlXT17fX0pKX0pfWZ1bmN0aW9uIGcoZSl7dmFyIHQ9eVtlXSxuO2lmKHQpcmV0dXJuIHQ7Zm9yKG49Qy5sZW5ndGg7bi0tOylpZih0PUNbbl0sdC5wYXR0ZXJuLnRlc3QoZSkpcmV0dXJuIHR9dmFyIHY9dGhpcyx5PXt9LGI9e30sQz1bXSx4LHcsTixFLF8sUyxrLFQsUixBLEIsRCxNLEw9e30sUD17fTtlPWV8fHt9LE49bihlLnNjaGVtYSksZS52ZXJpZnlfaHRtbD09PSExJiYoZS52YWxpZF9lbGVtZW50cz0iKlsqXSIpLHg9cihlLnZhbGlkX3N0eWxlcyksdz1yKGUuaW52YWxpZF9zdHlsZXMsIm1hcCIpLFQ9cihlLnZhbGlkX2NsYXNzZXMsIm1hcCIpLEU9bygid2hpdGVzcGFjZV9lbGVtZW50cyIsInByZSBzY3JpcHQgbm9zY3JpcHQgc3R5bGUgdGV4dGFyZWEgdmlkZW8gYXVkaW8gaWZyYW1lIG9iamVjdCIpLF89bygic2VsZl9jbG9zaW5nX2VsZW1lbnRzIiwiY29sZ3JvdXAgZGQgZHQgbGkgb3B0aW9uIHAgdGQgdGZvb3QgdGggdGhlYWQgdHIiKSxTPW8oInNob3J0X2VuZGVkX2VsZW1lbnRzIiwiYXJlYSBiYXNlIGJhc2Vmb250IGJyIGNvbCBmcmFtZSBociBpbWcgaW5wdXQgaXNpbmRleCBsaW5rIG1ldGEgcGFyYW0gZW1iZWQgc291cmNlIHdiciB0cmFjayIpLGs9bygiYm9vbGVhbl9hdHRyaWJ1dGVzIiwiY2hlY2tlZCBjb21wYWN0IGRlY2xhcmUgZGVmZXIgZGlzYWJsZWQgaXNtYXAgbXVsdGlwbGUgbm9ocmVmIG5vcmVzaXplIG5vc2hhZGUgbm93cmFwIHJlYWRvbmx5IHNlbGVjdGVkIGF1dG9wbGF5IGxvb3AgY29udHJvbHMiKSxBPW8oIm5vbl9lbXB0eV9lbGVtZW50cyIsInRkIHRoIGlmcmFtZSB2aWRlbyBhdWRpbyBvYmplY3Qgc2NyaXB0IixTKSxCPW8oIm1vdmVfY2FyZXRfYmVmb3JlX29uX2VudGVyX2VsZW1lbnRzIiwidGFibGUiLEEpLEQ9bygidGV4dF9ibG9ja19lbGVtZW50cyIsImgxIGgyIGgzIGg0IGg1IGg2IHAgZGl2IGFkZHJlc3MgcHJlIGZvcm0gYmxvY2txdW90ZSBjZW50ZXIgZGlyIGZpZWxkc2V0IGhlYWRlciBmb290ZXIgYXJ0aWNsZSBzZWN0aW9uIGhncm91cCBhc2lkZSBuYXYgZmlndXJlIiksUj1vKCJibG9ja19lbGVtZW50cyIsImhyIHRhYmxlIHRib2R5IHRoZWFkIHRmb290IHRoIHRyIHRkIGxpIG9sIHVsIGNhcHRpb24gZGwgZHQgZGQgbm9zY3JpcHQgbWVudSBpc2luZGV4IG9wdGlvbiBkYXRhbGlzdCBzZWxlY3Qgb3B0Z3JvdXAgZmlnY2FwdGlvbiIsRCksTT1vKCJ0ZXh0X2lubGluZV9lbGVtZW50cyIsInNwYW4gc3Ryb25nIGIgZW0gaSBmb250IHN0cmlrZSB1IHZhciBjaXRlIGRmbiBjb2RlIG1hcmsgcSBzdXAgc3ViIHNhbXAiKSxzKChlLnNwZWNpYWx8fCJzY3JpcHQgbm9zY3JpcHQgc3R5bGUgdGV4dGFyZWEiKS5zcGxpdCgiICIpLGZ1bmN0aW9uKGUpe1BbZV09bmV3IFJlZ0V4cCgiPC8iK2UrIltePl0qPiIsImdpIil9KSxlLnZhbGlkX2VsZW1lbnRzP2goZS52YWxpZF9lbGVtZW50cyk6KHMoTixmdW5jdGlvbihlLHQpe3lbdF09e2F0dHJpYnV0ZXM6ZS5hdHRyaWJ1dGVzLGF0dHJpYnV0ZXNPcmRlcjplLmF0dHJpYnV0ZXNPcmRlcn0sYlt0XT1lLmNoaWxkcmVufSksImh0bWw1IiE9ZS5zY2hlbWEmJnModCgic3Ryb25nL2IgZW0vaSIpLGZ1bmN0aW9uKGUpe2U9dChlLCIvIikseVtlWzFdXS5vdXRwdXROYW1lPWVbMF19KSxzKHQoIm9sIHVsIHN1YiBzdXAgYmxvY2txdW90ZSBzcGFuIGZvbnQgYSB0YWJsZSB0Ym9keSB0ciBzdHJvbmcgZW0gYiBpIiksZnVuY3Rpb24oZSl7eVtlXSYmKHlbZV0ucmVtb3ZlRW1wdHk9ITApfSkscyh0KCJwIGgxIGgyIGgzIGg0IGg1IGg2IHRoIHRkIHByZSBkaXYgYWRkcmVzcyBjYXB0aW9uIiksZnVuY3Rpb24oZSl7eVtlXS5wYWRkRW1wdHk9ITB9KSxzKHQoInNwYW4iKSxmdW5jdGlvbihlKXt5W2VdLnJlbW92ZUVtcHR5QXR0cnM9ITB9KSkscChlLmN1c3RvbV9lbGVtZW50cyksbShlLnZhbGlkX2NoaWxkcmVuKSxmKGUuZXh0ZW5kZWRfdmFsaWRfZWxlbWVudHMpLG0oIitvbFt1bHxvbF0sK3VsW3VsfG9sXSIpLGUuaW52YWxpZF9lbGVtZW50cyYmcyhjKGUuaW52YWxpZF9lbGVtZW50cyksZnVuY3Rpb24oZSl7eVtlXSYmZGVsZXRlIHlbZV19KSxnKCJzcGFuIil8fGYoInNwYW5bIWRhdGEtbWNlLXR5cGV8Kl0iKSx2LmNoaWxkcmVuPWIsdi5nZXRWYWxpZFN0eWxlcz1mdW5jdGlvbigpe3JldHVybiB4fSx2LmdldEludmFsaWRTdHlsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gd30sdi5nZXRWYWxpZENsYXNzZXM9ZnVuY3Rpb24oKXtyZXR1cm4gVH0sdi5nZXRCb29sQXR0cnM9ZnVuY3Rpb24oKXtyZXR1cm4ga30sdi5nZXRCbG9ja0VsZW1lbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIFJ9LHYuZ2V0VGV4dEJsb2NrRWxlbWVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gRH0sdi5nZXRUZXh0SW5saW5lRWxlbWVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gTX0sdi5nZXRTaG9ydEVuZGVkRWxlbWVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gU30sdi5nZXRTZWxmQ2xvc2luZ0VsZW1lbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIF99LHYuZ2V0Tm9uRW1wdHlFbGVtZW50cz1mdW5jdGlvbigpe3JldHVybiBBfSx2LmdldE1vdmVDYXJldEJlZm9yZU9uRW50ZXJFbGVtZW50cz1mdW5jdGlvbigpe3JldHVybiBCfSx2LmdldFdoaXRlU3BhY2VFbGVtZW50cz1mdW5jdGlvbigpe3JldHVybiBFfSx2LmdldFNwZWNpYWxFbGVtZW50cz1mdW5jdGlvbigpe3JldHVybiBQfSx2LmlzVmFsaWRDaGlsZD1mdW5jdGlvbihlLHQpe3ZhciBuPWJbZV07cmV0dXJuISghbnx8IW5bdF0pfSx2LmlzVmFsaWQ9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGk9ZyhlKTtpZihpKXtpZighdClyZXR1cm4hMDtpZihpLmF0dHJpYnV0ZXNbdF0pcmV0dXJuITA7aWYobj1pLmF0dHJpYnV0ZVBhdHRlcm5zKWZvcihyPW4ubGVuZ3RoO3ItLTspaWYobltyXS5wYXR0ZXJuLnRlc3QoZSkpcmV0dXJuITB9cmV0dXJuITF9LHYuZ2V0RWxlbWVudFJ1bGU9Zyx2LmdldEN1c3RvbUVsZW1lbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIEx9LHYuYWRkVmFsaWRFbGVtZW50cz1mLHYuc2V0VmFsaWRFbGVtZW50cz1oLHYuYWRkQ3VzdG9tRWxlbWVudHM9cCx2LmFkZFZhbGlkQ2hpbGRyZW49bSx2LmVsZW1lbnRzPXl9fSkscihELFtCLEMsbV0sZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIHIoZSx0LG4pe3ZhciByPTEsaSxvLGEscztmb3Iocz1lLmdldFNob3J0RW5kZWRFbGVtZW50cygpLGE9LzwoWyE/XC9dKT8oW0EtWmEtejAtOVwtX1w6XC5dKykoKD86XHMrW14iXCc+XSsoPzooPzoiW14iXSoiKXwoPzpcJ1teXCddKlwnKXxbXj5dKikpKnxcL3xccyspPi9nLGEubGFzdEluZGV4PWk9bjtvPWEuZXhlYyh0KTspe2lmKGk9YS5sYXN0SW5kZXgsIi8iPT09b1sxXSlyLS07ZWxzZSBpZighb1sxXSl7aWYob1syXWluIHMpY29udGludWU7cisrfWlmKDA9PT1yKWJyZWFrfXJldHVybiBpfWZ1bmN0aW9uIGkoaSxhKXtmdW5jdGlvbiBzKCl7fXZhciBsPXRoaXM7aT1pfHx7fSxsLnNjaGVtYT1hPWF8fG5ldyBlLGkuZml4X3NlbGZfY2xvc2luZyE9PSExJiYoaS5maXhfc2VsZl9jbG9zaW5nPSEwKSxvKCJjb21tZW50IGNkYXRhIHRleHQgc3RhcnQgZW5kIHBpIGRvY3R5cGUiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSl7ZSYmKGxbZV09aVtlXXx8cyl9KSxsLnBhcnNlPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8oZSl7dmFyIHQsbjtmb3IodD1oLmxlbmd0aDt0LS0mJmhbdF0ubmFtZSE9PWU7KTtpZih0Pj0wKXtmb3Iobj1oLmxlbmd0aC0xO24+PXQ7bi0tKWU9aFtuXSxlLnZhbGlkJiZsLmVuZChlLm5hbWUpO2gubGVuZ3RoPXR9fWZ1bmN0aW9uIHMoZSx0LG4scixvKXt2YXIgYSxzLGw9L1tcc1x1MDAwMC1cdTAwMUZdKy9nO2lmKHQ9dC50b0xvd2VyQ2FzZSgpLG49dCBpbiB4P3Q6eihufHxyfHxvfHwiIiksTiYmIXkmJjAhPT10LmluZGV4T2YoImRhdGEtIikpe2lmKGE9VFt0XSwhYSYmUil7Zm9yKHM9Ui5sZW5ndGg7cy0tJiYoYT1SW3NdLCFhLnBhdHRlcm4udGVzdCh0KSk7KTstMT09PXMmJihhPW51bGwpfWlmKCFhKXJldHVybjtpZihhLnZhbGlkVmFsdWVzJiYhKG4gaW4gYS52YWxpZFZhbHVlcykpcmV0dXJufWlmKFZbdF0mJiFpLmFsbG93X3NjcmlwdF91cmxzKXt2YXIgYz1uLnJlcGxhY2UobCwiIik7dHJ5e2M9ZGVjb2RlVVJJQ29tcG9uZW50KGMpfWNhdGNoKHUpe2M9dW5lc2NhcGUoYyl9aWYoVS50ZXN0KGMpKXJldHVybjtpZighaS5hbGxvd19odG1sX2RhdGFfdXJscyYmJC50ZXN0KGMpJiYhL15kYXRhOmltYWdlXC8vaS50ZXN0KGMpKXJldHVybn1wLm1hcFt0XT1uLHAucHVzaCh7bmFtZTp0LHZhbHVlOm59KX12YXIgbD10aGlzLGMsdT0wLGQsZixoPVtdLHAsbSxnLHYseSxiLEMseCx3LE4sRSxfLFMsayxULFIsQSxCLEQsTSxMLFAsSCxPLEksRj0wLHo9dC5kZWNvZGUsVyxWPW4ubWFrZU1hcCgic3JjLGhyZWYsZGF0YSxiYWNrZ3JvdW5kLGZvcm1hY3Rpb24scG9zdGVyIiksVT0vKChqYXZhfHZiKXNjcmlwdHxtaHRtbCk6L2ksJD0vXmRhdGE6L2k7Zm9yKFA9bmV3IFJlZ0V4cCgiPCg/Oig/OiEtLShbXFx3XFxXXSo/KS0tPil8KD86IVxcW0NEQVRBXFxbKFtcXHdcXFddKj8pXFxdXFxdPil8KD86IURPQ1RZUEUoW1xcd1xcV10qPyk+KXwoPzpcXD8oW15cXHNcXC88Pl0rKSA/KFtcXHdcXFddKj8pWz8vXT4pfCg/OlxcLyhbXj5dKyk+KXwoPzooW0EtWmEtejAtOVxcLV9cXDpcXC5dKykoKD86XFxzK1teXCInPl0rKD86KD86XCJbXlwiXSpcIil8KD86J1teJ10qJyl8W14+XSopKSp8XFwvfFxccyspPikpIiwiZyIpLEg9LyhbXHc6XC1dKykoPzpccyo9XHMqKD86KD86XCIoKD86W15cIl0pKilcIil8KD86XCcoKD86W15cJ10pKilcJyl8KFtePlxzXSspKSk/L2csQz1hLmdldFNob3J0RW5kZWRFbGVtZW50cygpLEw9aS5zZWxmX2Nsb3NpbmdfZWxlbWVudHN8fGEuZ2V0U2VsZkNsb3NpbmdFbGVtZW50cygpLHg9YS5nZXRCb29sQXR0cnMoKSxOPWkudmFsaWRhdGUsYj1pLnJlbW92ZV9pbnRlcm5hbHMsVz1pLmZpeF9zZWxmX2Nsb3NpbmcsTz1hLmdldFNwZWNpYWxFbGVtZW50cygpO2M9UC5leGVjKGUpOyl7aWYodTxjLmluZGV4JiZsLnRleHQoeihlLnN1YnN0cih1LGMuaW5kZXgtdSkpKSxkPWNbNl0pZD1kLnRvTG93ZXJDYXNlKCksIjoiPT09ZC5jaGFyQXQoMCkmJihkPWQuc3Vic3RyKDEpKSxvKGQpO2Vsc2UgaWYoZD1jWzddKXtpZihkPWQudG9Mb3dlckNhc2UoKSwiOiI9PT1kLmNoYXJBdCgwKSYmKGQ9ZC5zdWJzdHIoMSkpLHc9ZCBpbiBDLFcmJkxbZF0mJmgubGVuZ3RoPjAmJmhbaC5sZW5ndGgtMV0ubmFtZT09PWQmJm8oZCksIU58fChFPWEuZ2V0RWxlbWVudFJ1bGUoZCkpKXtpZihfPSEwLE4mJihUPUUuYXR0cmlidXRlcyxSPUUuYXR0cmlidXRlUGF0dGVybnMpLChrPWNbOF0pPyh5PS0xIT09ay5pbmRleE9mKCJkYXRhLW1jZS10eXBlIikseSYmYiYmKF89ITEpLHA9W10scC5tYXA9e30say5yZXBsYWNlKEgscykpOihwPVtdLHAubWFwPXt9KSxOJiYheSl7aWYoQT1FLmF0dHJpYnV0ZXNSZXF1aXJlZCxCPUUuYXR0cmlidXRlc0RlZmF1bHQsRD1FLmF0dHJpYnV0ZXNGb3JjZWQsTT1FLnJlbW92ZUVtcHR5QXR0cnMsTSYmIXAubGVuZ3RoJiYoXz0hMSksRClmb3IobT1ELmxlbmd0aDttLS07KVM9RFttXSx2PVMubmFtZSxJPVMudmFsdWUsInskdWlkfSI9PT1JJiYoST0ibWNlXyIrRisrKSxwLm1hcFt2XT1JLHAucHVzaCh7bmFtZTp2LHZhbHVlOkl9KTtpZihCKWZvcihtPUIubGVuZ3RoO20tLTspUz1CW21dLHY9Uy5uYW1lLHYgaW4gcC5tYXB8fChJPVMudmFsdWUsInskdWlkfSI9PT1JJiYoST0ibWNlXyIrRisrKSxwLm1hcFt2XT1JLHAucHVzaCh7bmFtZTp2LHZhbHVlOkl9KSk7aWYoQSl7Zm9yKG09QS5sZW5ndGg7bS0tJiYhKEFbbV1pbiBwLm1hcCk7KTstMT09PW0mJihfPSExKX1pZihTPXAubWFwWyJkYXRhLW1jZS1ib2d1cyJdKXtpZigiYWxsIj09PVMpe3U9cihhLGUsUC5sYXN0SW5kZXgpLFAubGFzdEluZGV4PXU7Y29udGludWV9Xz0hMX19XyYmbC5zdGFydChkLHAsdyl9ZWxzZSBfPSExO2lmKGY9T1tkXSl7Zi5sYXN0SW5kZXg9dT1jLmluZGV4K2NbMF0ubGVuZ3RoLChjPWYuZXhlYyhlKSk/KF8mJihnPWUuc3Vic3RyKHUsYy5pbmRleC11KSksdT1jLmluZGV4K2NbMF0ubGVuZ3RoKTooZz1lLnN1YnN0cih1KSx1PWUubGVuZ3RoKSxfJiYoZy5sZW5ndGg+MCYmbC50ZXh0KGcsITApLGwuZW5kKGQpKSxQLmxhc3RJbmRleD11O2NvbnRpbnVlfXd8fChrJiZrLmluZGV4T2YoIi8iKT09ay5sZW5ndGgtMT9fJiZsLmVuZChkKTpoLnB1c2goe25hbWU6ZCx2YWxpZDpffSkpfWVsc2UoZD1jWzFdKT8oIj4iPT09ZC5jaGFyQXQoMCkmJihkPSIgIitkKSxpLmFsbG93X2NvbmRpdGlvbmFsX2NvbW1lbnRzfHwiW2lmIiE9PWQuc3Vic3RyKDAsMyl8fChkPSIgIitkKSxsLmNvbW1lbnQoZCkpOihkPWNbMl0pP2wuY2RhdGEoZCk6KGQ9Y1szXSk/bC5kb2N0eXBlKGQpOihkPWNbNF0pJiZsLnBpKGQsY1s1XSk7dT1jLmluZGV4K2NbMF0ubGVuZ3RofWZvcih1PGUubGVuZ3RoJiZsLnRleHQoeihlLnN1YnN0cih1KSkpLG09aC5sZW5ndGgtMTttPj0wO20tLSlkPWhbbV0sZC52YWxpZCYmbC5lbmQoZC5uYW1lKX19dmFyIG89bi5lYWNoO3JldHVybiBpLmZpbmRFbmRUYWc9cixpfSkscihNLFtBLEIsRCxtXSxmdW5jdGlvbihlLHQsbixyKXt2YXIgaT1yLm1ha2VNYXAsbz1yLmVhY2gsYT1yLmV4cGxvZGUscz1yLmV4dGVuZDtyZXR1cm4gZnVuY3Rpb24ocixsKXtmdW5jdGlvbiBjKHQpe3ZhciBuLHIsbyxhLHMsYyxkLGYsaCxwLG0sZyx2LHksYjtmb3IobT1pKCJ0cix0ZCx0aCx0Ym9keSx0aGVhZCx0Zm9vdCx0YWJsZSIpLHA9bC5nZXROb25FbXB0eUVsZW1lbnRzKCksZz1sLmdldFRleHRCbG9ja0VsZW1lbnRzKCksdj1sLmdldFNwZWNpYWxFbGVtZW50cygpLG49MDtuPHQubGVuZ3RoO24rKylpZihyPXRbbl0sci5wYXJlbnQmJiFyLmZpeGVkKWlmKGdbci5uYW1lXSYmImxpIj09ci5wYXJlbnQubmFtZSl7Zm9yKHk9ci5uZXh0O3kmJmdbeS5uYW1lXTspeS5uYW1lPSJsaSIseS5maXhlZD0hMCxyLnBhcmVudC5pbnNlcnQoeSxyLnBhcmVudCkseT15Lm5leHQ7ci51bndyYXAocil9ZWxzZXtmb3IoYT1bcl0sbz1yLnBhcmVudDtvJiYhbC5pc1ZhbGlkQ2hpbGQoby5uYW1lLHIubmFtZSkmJiFtW28ubmFtZV07bz1vLnBhcmVudClhLnB1c2gobyk7aWYobyYmYS5sZW5ndGg+MSl7Zm9yKGEucmV2ZXJzZSgpLHM9Yz11LmZpbHRlck5vZGUoYVswXS5jbG9uZSgpKSxoPTA7aDxhLmxlbmd0aC0xO2grKyl7Zm9yKGwuaXNWYWxpZENoaWxkKGMubmFtZSxhW2hdLm5hbWUpPyhkPXUuZmlsdGVyTm9kZShhW2hdLmNsb25lKCkpLGMuYXBwZW5kKGQpKTpkPWMsZj1hW2hdLmZpcnN0Q2hpbGQ7ZiYmZiE9YVtoKzFdOyliPWYubmV4dCxkLmFwcGVuZChmKSxmPWI7Yz1kfXMuaXNFbXB0eShwKT9vLmluc2VydChyLGFbMF0sITApOihvLmluc2VydChzLGFbMF0sITApLG8uaW5zZXJ0KHIscykpLG89YVswXSwoby5pc0VtcHR5KHApfHxvLmZpcnN0Q2hpbGQ9PT1vLmxhc3RDaGlsZCYmImJyIj09PW8uZmlyc3RDaGlsZC5uYW1lKSYmby5lbXB0eSgpLnJlbW92ZSgpfWVsc2UgaWYoci5wYXJlbnQpe2lmKCJsaSI9PT1yLm5hbWUpe2lmKHk9ci5wcmV2LHkmJigidWwiPT09eS5uYW1lfHwidWwiPT09eS5uYW1lKSl7eS5hcHBlbmQocik7Y29udGludWV9aWYoeT1yLm5leHQseSYmKCJ1bCI9PT15Lm5hbWV8fCJ1bCI9PT15Lm5hbWUpKXt5Lmluc2VydChyLHkuZmlyc3RDaGlsZCwhMCk7Y29udGludWV9ci53cmFwKHUuZmlsdGVyTm9kZShuZXcgZSgidWwiLDEpKSk7Y29udGludWV9bC5pc1ZhbGlkQ2hpbGQoci5wYXJlbnQubmFtZSwiZGl2IikmJmwuaXNWYWxpZENoaWxkKCJkaXYiLHIubmFtZSk/ci53cmFwKHUuZmlsdGVyTm9kZShuZXcgZSgiZGl2IiwxKSkpOnZbci5uYW1lXT9yLmVtcHR5KCkucmVtb3ZlKCk6ci51bndyYXAoKX19fXZhciB1PXRoaXMsZD17fSxmPVtdLGg9e30scD17fTtyPXJ8fHt9LHIudmFsaWRhdGU9InZhbGlkYXRlImluIHI/ci52YWxpZGF0ZTohMCxyLnJvb3RfbmFtZT1yLnJvb3RfbmFtZXx8ImJvZHkiLHUuc2NoZW1hPWw9bHx8bmV3IHQsdS5maWx0ZXJOb2RlPWZ1bmN0aW9uKGUpe3ZhciB0LG4scjtuIGluIGQmJihyPWhbbl0scj9yLnB1c2goZSk6aFtuXT1bZV0pLHQ9Zi5sZW5ndGg7Zm9yKDt0LS07KW49Zlt0XS5uYW1lLG4gaW4gZS5hdHRyaWJ1dGVzLm1hcCYmKHI9cFtuXSxyP3IucHVzaChlKTpwW25dPVtlXSk7cmV0dXJuIGV9LHUuYWRkTm9kZUZpbHRlcj1mdW5jdGlvbihlLHQpe28oYShlKSxmdW5jdGlvbihlKXt2YXIgbj1kW2VdO258fChkW2VdPW49W10pLG4ucHVzaCh0KX0pfSx1LmFkZEF0dHJpYnV0ZUZpbHRlcj1mdW5jdGlvbihlLHQpe28oYShlKSxmdW5jdGlvbihlKXt2YXIgbjtmb3Iobj0wO248Zi5sZW5ndGg7bisrKWlmKGZbbl0ubmFtZT09PWUpcmV0dXJuIHZvaWQgZltuXS5jYWxsYmFja3MucHVzaCh0KTtmLnB1c2goe25hbWU6ZSxjYWxsYmFja3M6W3RdfSl9KX0sdS5wYXJzZT1mdW5jdGlvbih0LG8pe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBlKGUpe2UmJih0PWUuZmlyc3RDaGlsZCx0JiYzPT10LnR5cGUmJih0LnZhbHVlPXQudmFsdWUucmVwbGFjZShSLCIiKSksdD1lLmxhc3RDaGlsZCx0JiYzPT10LnR5cGUmJih0LnZhbHVlPXQudmFsdWUucmVwbGFjZShELCIiKSkpfXZhciB0PXkuZmlyc3RDaGlsZCxuLGk7aWYobC5pc1ZhbGlkQ2hpbGQoeS5uYW1lLEkudG9Mb3dlckNhc2UoKSkpe2Zvcig7dDspbj10Lm5leHQsMz09dC50eXBlfHwxPT10LnR5cGUmJiJwIiE9PXQubmFtZSYmIVRbdC5uYW1lXSYmIXQuYXR0cigiZGF0YS1tY2UtdHlwZSIpP2k/aS5hcHBlbmQodCk6KGk9dShJLDEpLGkuYXR0cihyLmZvcmNlZF9yb290X2Jsb2NrX2F0dHJzKSx5Lmluc2VydChpLHQpLGkuYXBwZW5kKHQpKTooZShpKSxpPW51bGwpLHQ9bjtlKGkpfX1mdW5jdGlvbiB1KHQsbil7dmFyIHI9bmV3IGUodCxuKSxpO3JldHVybiB0IGluIGQmJihpPWhbdF0saT9pLnB1c2gocik6aFt0XT1bcl0pLHJ9ZnVuY3Rpb24gbShlKXt2YXIgdCxuLHIsaSxvPWwuZ2V0QmxvY2tFbGVtZW50cygpO2Zvcih0PWUucHJldjt0JiYzPT09dC50eXBlOyl7aWYocj10LnZhbHVlLnJlcGxhY2UoRCwiIiksci5sZW5ndGg+MClyZXR1cm4gdm9pZCh0LnZhbHVlPXIpO2lmKG49dC5uZXh0KXtpZigzPT1uLnR5cGUmJm4udmFsdWUubGVuZ3RoKXt0PXQucHJldjtjb250aW51ZX1pZighb1tuLm5hbWVdJiYic2NyaXB0IiE9bi5uYW1lJiYic3R5bGUiIT1uLm5hbWUpe3Q9dC5wcmV2O2NvbnRpbnVlfX1pPXQucHJldix0LnJlbW92ZSgpLHQ9aX19ZnVuY3Rpb24gZyhlKXt2YXIgdCxuPXt9O2Zvcih0IGluIGUpImxpIiE9PXQmJiJwIiE9dCYmKG5bdF09ZVt0XSk7cmV0dXJuIG59dmFyIHYseSxiLEMseCx3LE4sRSxfLFMsayxULFIsQT1bXSxCLEQsTSxMLFAsSCxPLEk7aWYobz1vfHx7fSxoPXt9LHA9e30sVD1zKGkoInNjcmlwdCxzdHlsZSxoZWFkLGh0bWwsYm9keSx0aXRsZSxtZXRhLHBhcmFtIiksbC5nZXRCbG9ja0VsZW1lbnRzKCkpLE89bC5nZXROb25FbXB0eUVsZW1lbnRzKCksSD1sLmNoaWxkcmVuLGs9ci52YWxpZGF0ZSxJPSJmb3JjZWRfcm9vdF9ibG9jayJpbiBvP28uZm9yY2VkX3Jvb3RfYmxvY2s6ci5mb3JjZWRfcm9vdF9ibG9jayxQPWwuZ2V0V2hpdGVTcGFjZUVsZW1lbnRzKCksUj0vXlsgXHRcclxuXSsvLEQ9L1sgXHRcclxuXSskLyxNPS9bIFx0XHJcbl0rL2csTD0vXlsgXHRcclxuXSskLyx2PW5ldyBuKHt2YWxpZGF0ZTprLGFsbG93X3NjcmlwdF91cmxzOnIuYWxsb3dfc2NyaXB0X3VybHMsYWxsb3dfY29uZGl0aW9uYWxfY29tbWVudHM6ci5hbGxvd19jb25kaXRpb25hbF9jb21tZW50cyxzZWxmX2Nsb3NpbmdfZWxlbWVudHM6ZyhsLmdldFNlbGZDbG9zaW5nRWxlbWVudHMoKSksY2RhdGE6ZnVuY3Rpb24oZSl7Yi5hcHBlbmQodSgiI2NkYXRhIiw0KSkudmFsdWU9ZX0sdGV4dDpmdW5jdGlvbihlLHQpe3ZhciBuO0J8fChlPWUucmVwbGFjZShNLCIgIiksYi5sYXN0Q2hpbGQmJlRbYi5sYXN0Q2hpbGQubmFtZV0mJihlPWUucmVwbGFjZShSLCIiKSkpLDAhPT1lLmxlbmd0aCYmKG49dSgiI3RleHQiLDMpLG4ucmF3PSEhdCxiLmFwcGVuZChuKS52YWx1ZT1lKX0sY29tbWVudDpmdW5jdGlvbihlKXtiLmFwcGVuZCh1KCIjY29tbWVudCIsOCkpLnZhbHVlPWV9LHBpOmZ1bmN0aW9uKGUsdCl7Yi5hcHBlbmQodShlLDcpKS52YWx1ZT10LG0oYil9LGRvY3R5cGU6ZnVuY3Rpb24oZSl7dmFyIHQ7dD1iLmFwcGVuZCh1KCIjZG9jdHlwZSIsMTApKSx0LnZhbHVlPWUsbShiKX0sc3RhcnQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHM7aWYobz1rP2wuZ2V0RWxlbWVudFJ1bGUoZSk6e30pe2ZvcihyPXUoby5vdXRwdXROYW1lfHxlLDEpLHIuYXR0cmlidXRlcz10LHIuc2hvcnRFbmRlZD1uLGIuYXBwZW5kKHIpLHM9SFtiLm5hbWVdLHMmJkhbci5uYW1lXSYmIXNbci5uYW1lXSYmQS5wdXNoKHIpLGk9Zi5sZW5ndGg7aS0tOylhPWZbaV0ubmFtZSxhIGluIHQubWFwJiYoXz1wW2FdLF8/Xy5wdXNoKHIpOnBbYV09W3JdKTtUW2VdJiZtKHIpLG58fChiPXIpLCFCJiZQW2VdJiYoQj0hMCl9fSxlbmQ6ZnVuY3Rpb24odCl7dmFyIG4scixpLG8sYTtpZihyPWs/bC5nZXRFbGVtZW50UnVsZSh0KTp7fSl7aWYoVFt0XSYmIUIpe2lmKG49Yi5maXJzdENoaWxkLG4mJjM9PT1uLnR5cGUpaWYoaT1uLnZhbHVlLnJlcGxhY2UoUiwiIiksaS5sZW5ndGg+MCluLnZhbHVlPWksbj1uLm5leHQ7ZWxzZSBmb3Iobz1uLm5leHQsbi5yZW1vdmUoKSxuPW87biYmMz09PW4udHlwZTspaT1uLnZhbHVlLG89bi5uZXh0LCgwPT09aS5sZW5ndGh8fEwudGVzdChpKSkmJihuLnJlbW92ZSgpLG49byksbj1vO2lmKG49Yi5sYXN0Q2hpbGQsbiYmMz09PW4udHlwZSlpZihpPW4udmFsdWUucmVwbGFjZShELCIiKSxpLmxlbmd0aD4wKW4udmFsdWU9aSxuPW4ucHJldjtlbHNlIGZvcihvPW4ucHJldixuLnJlbW92ZSgpLG49bztuJiYzPT09bi50eXBlOylpPW4udmFsdWUsbz1uLnByZXYsKDA9PT1pLmxlbmd0aHx8TC50ZXN0KGkpKSYmKG4ucmVtb3ZlKCksbj1vKSxuPW99aWYoQiYmUFt0XSYmKEI9ITEpLChyLnJlbW92ZUVtcHR5fHxyLnBhZGRFbXB0eSkmJmIuaXNFbXB0eShPKSlpZihyLnBhZGRFbXB0eSliLmVtcHR5KCkuYXBwZW5kKG5ldyBlKCIjdGV4dCIsIjMiKSkudmFsdWU9Ilx4YTAiO2Vsc2UgaWYoIWIuYXR0cmlidXRlcy5tYXAubmFtZSYmIWIuYXR0cmlidXRlcy5tYXAuaWQpcmV0dXJuIGE9Yi5wYXJlbnQsVFtiLm5hbWVdP2IuZW1wdHkoKS5yZW1vdmUoKTpiLnVud3JhcCgpLHZvaWQoYj1hKTtiPWIucGFyZW50fX19LGwpLHk9Yj1uZXcgZShvLmNvbnRleHR8fHIucm9vdF9uYW1lLDExKSx2LnBhcnNlKHQpLGsmJkEubGVuZ3RoJiYoby5jb250ZXh0P28uaW52YWxpZD0hMDpjKEEpKSxJJiYoImJvZHkiPT15Lm5hbWV8fG8uaXNSb290Q29udGVudCkmJmEoKSwhby5pbnZhbGlkKXtmb3IoUyBpbiBoKXtmb3IoXz1kW1NdLEM9aFtTXSxOPUMubGVuZ3RoO04tLTspQ1tOXS5wYXJlbnR8fEMuc3BsaWNlKE4sMSk7Zm9yKHg9MCx3PV8ubGVuZ3RoO3c+eDt4KyspX1t4XShDLFMsbyl9Zm9yKHg9MCx3PWYubGVuZ3RoO3c+eDt4KyspaWYoXz1mW3hdLF8ubmFtZSBpbiBwKXtmb3IoQz1wW18ubmFtZV0sTj1DLmxlbmd0aDtOLS07KUNbTl0ucGFyZW50fHxDLnNwbGljZShOLDEpO2ZvcihOPTAsRT1fLmNhbGxiYWNrcy5sZW5ndGg7RT5OO04rKylfLmNhbGxiYWNrc1tOXShDLF8ubmFtZSxvKX19cmV0dXJuIHl9LHIucmVtb3ZlX3RyYWlsaW5nX2JycyYmdS5hZGROb2RlRmlsdGVyKCJiciIsZnVuY3Rpb24odCl7dmFyIG4scj10Lmxlbmd0aCxpLG89cyh7fSxsLmdldEJsb2NrRWxlbWVudHMoKSksYT1sLmdldE5vbkVtcHR5RWxlbWVudHMoKSxjLHUsZCxmLGgscDtmb3Ioby5ib2R5PTEsbj0wO3I+bjtuKyspaWYoaT10W25dLGM9aS5wYXJlbnQsb1tpLnBhcmVudC5uYW1lXSYmaT09PWMubGFzdENoaWxkKXtmb3IoZD1pLnByZXY7ZDspe2lmKGY9ZC5uYW1lLCJzcGFuIiE9PWZ8fCJib29rbWFyayIhPT1kLmF0dHIoImRhdGEtbWNlLXR5cGUiKSl7aWYoImJyIiE9PWYpYnJlYWs7aWYoImJyIj09PWYpe2k9bnVsbDticmVha319ZD1kLnByZXZ9aSYmKGkucmVtb3ZlKCksYy5pc0VtcHR5KGEpJiYoaD1sLmdldEVsZW1lbnRSdWxlKGMubmFtZSksaCYmKGgucmVtb3ZlRW1wdHk/Yy5yZW1vdmUoKTpoLnBhZGRFbXB0eSYmKGMuZW1wdHkoKS5hcHBlbmQobmV3IGUoIiN0ZXh0IiwzKSkudmFsdWU9Ilx4YTAiKSkpKX1lbHNle2Zvcih1PWk7YyYmYy5maXJzdENoaWxkPT09dSYmYy5sYXN0Q2hpbGQ9PT11JiYodT1jLCFvW2MubmFtZV0pOyljPWMucGFyZW50O3U9PT1jJiYocD1uZXcgZSgiI3RleHQiLDMpLHAudmFsdWU9Ilx4YTAiLGkucmVwbGFjZShwKSl9fSksci5hbGxvd19odG1sX2luX25hbWVkX2FuY2hvcnx8dS5hZGRBdHRyaWJ1dGVGaWx0ZXIoImlkLG5hbWUiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmxlbmd0aCxuLHIsaSxvO3QtLTspaWYobz1lW3RdLCJhIj09PW8ubmFtZSYmby5maXJzdENoaWxkJiYhby5hdHRyKCJocmVmIikpe2k9by5wYXJlbnQsbj1vLmxhc3RDaGlsZDtkbyByPW4ucHJldixpLmluc2VydChuLG8pLG49cjt3aGlsZShuKX19KSxyLnZhbGlkYXRlJiZsLmdldFZhbGlkQ2xhc3NlcygpJiZ1LmFkZEF0dHJpYnV0ZUZpbHRlcigiY2xhc3MiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmxlbmd0aCxuLHIsaSxvLGEscz1sLmdldFZhbGlkQ2xhc3NlcygpLGMsdTt0LS07KXtmb3Iobj1lW3RdLHI9bi5hdHRyKCJjbGFzcyIpLnNwbGl0KCIgIiksYT0iIixpPTA7aTxyLmxlbmd0aDtpKyspbz1yW2ldLHU9ITEsYz1zWyIqIl0sYyYmY1tvXSYmKHU9ITApLGM9c1tuLm5hbWVdLCF1JiZjJiZjW29dJiYodT0hMCksdSYmKGEmJihhKz0iICIpLGErPW8pO2EubGVuZ3RofHwoYT1udWxsKSxuLmF0dHIoImNsYXNzIixhKX19KX19KSxyKEwsW0MsbV0sZnVuY3Rpb24oZSx0KXt2YXIgbj10Lm1ha2VNYXA7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPVtdLGksbyxhLHMsbDtyZXR1cm4gdD10fHx7fSxpPXQuaW5kZW50LG89bih0LmluZGVudF9iZWZvcmV8fCIiKSxhPW4odC5pbmRlbnRfYWZ0ZXJ8fCIiKSxzPWUuZ2V0RW5jb2RlRnVuYyh0LmVudGl0eV9lbmNvZGluZ3x8InJhdyIsdC5lbnRpdGllcyksbD0iaHRtbCI9PXQuZWxlbWVudF9mb3JtYXQse3N0YXJ0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgYyx1LGQsZjtpZihpJiZvW2VdJiZyLmxlbmd0aD4wJiYoZj1yW3IubGVuZ3RoLTFdLGYubGVuZ3RoPjAmJiJcbiIhPT1mJiZyLnB1c2goIlxuIikpLHIucHVzaCgiPCIsZSksdClmb3IoYz0wLHU9dC5sZW5ndGg7dT5jO2MrKylkPXRbY10sci5wdXNoKCIgIixkLm5hbWUsJz0iJyxzKGQudmFsdWUsITApLCciJyk7IW58fGw/cltyLmxlbmd0aF09Ij4iOnJbci5sZW5ndGhdPSIgLz4iLG4mJmkmJmFbZV0mJnIubGVuZ3RoPjAmJihmPXJbci5sZW5ndGgtMV0sZi5sZW5ndGg+MCYmIlxuIiE9PWYmJnIucHVzaCgiXG4iKSl9LGVuZDpmdW5jdGlvbihlKXt2YXIgdDtyLnB1c2goIjwvIixlLCI+IiksaSYmYVtlXSYmci5sZW5ndGg+MCYmKHQ9cltyLmxlbmd0aC0xXSx0Lmxlbmd0aD4wJiYiXG4iIT09dCYmci5wdXNoKCJcbiIpKX0sdGV4dDpmdW5jdGlvbihlLHQpe2UubGVuZ3RoPjAmJihyW3IubGVuZ3RoXT10P2U6cyhlKSl9LGNkYXRhOmZ1bmN0aW9uKGUpe3IucHVzaCgiPCFbQ0RBVEFbIixlLCJdXT4iKX0sY29tbWVudDpmdW5jdGlvbihlKXtyLnB1c2goIjwhLS0iLGUsIi0tPiIpfSxwaTpmdW5jdGlvbihlLHQpe3Q/ci5wdXNoKCI8PyIsZSwiICIscyh0KSwiPz4iKTpyLnB1c2goIjw/IixlLCI/PiIpLGkmJnIucHVzaCgiXG4iKX0sZG9jdHlwZTpmdW5jdGlvbihlKXtyLnB1c2goIjwhRE9DVFlQRSIsZSwiPiIsaT8iXG4iOiIiKX0scmVzZXQ6ZnVuY3Rpb24oKXtyLmxlbmd0aD0wfSxnZXRDb250ZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHIuam9pbigiIikucmVwbGFjZSgvXG4kLywiIil9fX19KSxyKFAsW0wsQl0sZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24obixyKXt2YXIgaT10aGlzLG89bmV3IGUobik7bj1ufHx7fSxuLnZhbGlkYXRlPSJ2YWxpZGF0ZSJpbiBuP24udmFsaWRhdGU6ITAsaS5zY2hlbWE9cj1yfHxuZXcgdCxpLndyaXRlcj1vLGkuc2VyaWFsaXplPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7dmFyIG49aVtlLnR5cGVdLHMsbCxjLHUsZCxmLGgscCxtO2lmKG4pbihlKTtlbHNle2lmKHM9ZS5uYW1lLGw9ZS5zaG9ydEVuZGVkLGM9ZS5hdHRyaWJ1dGVzLGEmJmMmJmMubGVuZ3RoPjEmJihmPVtdLGYubWFwPXt9LG09ci5nZXRFbGVtZW50UnVsZShlLm5hbWUpKSl7Zm9yKGg9MCxwPW0uYXR0cmlidXRlc09yZGVyLmxlbmd0aDtwPmg7aCsrKXU9bS5hdHRyaWJ1dGVzT3JkZXJbaF0sdSBpbiBjLm1hcCYmKGQ9Yy5tYXBbdV0sZi5tYXBbdV09ZCxmLnB1c2goe25hbWU6dSx2YWx1ZTpkfSkpO2ZvcihoPTAscD1jLmxlbmd0aDtwPmg7aCsrKXU9Y1toXS5uYW1lLHUgaW4gZi5tYXB8fChkPWMubWFwW3VdLGYubWFwW3VdPWQsZi5wdXNoKHtuYW1lOnUsdmFsdWU6ZH0pKTtjPWZ9aWYoby5zdGFydChlLm5hbWUsYyxsKSwhbCl7aWYoZT1lLmZpcnN0Q2hpbGQpZG8gdChlKTt3aGlsZShlPWUubmV4dCk7by5lbmQocyl9fX12YXIgaSxhO3JldHVybiBhPW4udmFsaWRhdGUsaT17MzpmdW5jdGlvbihlKXtvLnRleHQoZS52YWx1ZSxlLnJhdyl9LDg6ZnVuY3Rpb24oZSl7by5jb21tZW50KGUudmFsdWUpfSw3OmZ1bmN0aW9uKGUpe28ucGkoZS5uYW1lLGUudmFsdWUpfSwxMDpmdW5jdGlvbihlKXtvLmRvY3R5cGUoZS52YWx1ZSl9LDQ6ZnVuY3Rpb24oZSl7by5jZGF0YShlLnZhbHVlKX0sMTE6ZnVuY3Rpb24oZSl7aWYoZT1lLmZpcnN0Q2hpbGQpZG8gdChlKTt3aGlsZShlPWUubmV4dCl9fSxvLnJlc2V0KCksMSE9ZS50eXBlfHxuLmlubmVyP2lbMTFdKGUpOnQoZSksby5nZXRDb250ZW50KCl9fX0pLHIoSCxbdyxNLEQsQyxQLEEsQixoLG0sU10sZnVuY3Rpb24oZSx0LG4scixpLG8sYSxzLGwsYyl7ZnVuY3Rpb24gdShlKXtmdW5jdGlvbiB0KGUpe3JldHVybiBlJiYiYnIiPT09ZS5uYW1lfXZhciBuLHI7bj1lLmxhc3RDaGlsZCx0KG4pJiYocj1uLnByZXYsdChyKSYmKG4ucmVtb3ZlKCksci5yZW1vdmUoKSkpfXZhciBkPWwuZWFjaCxmPWwudHJpbSxoPWUuRE9NLHA9WyJkYXRhLW1jZS1zZWxlY3RlZCJdO3JldHVybiBmdW5jdGlvbihlLG8pe2Z1bmN0aW9uIG0oZSl7dmFyIHQ9bmV3IFJlZ0V4cChbIjxzcGFuW14+XStkYXRhLW1jZS1ib2d1c1tePl0rPltcdTIwMGJcdWZlZmZdKzxcXC9zcGFuPiIsIlxccz8oIitwLmpvaW4oInwiKSsnKT0iW14iXSsiJ10uam9pbigifCIpLCJnaSIpO3JldHVybiBlPWMudHJpbShlLnJlcGxhY2UodCwiIikpfWZ1bmN0aW9uIGcoKXt2YXIgZT1vLmdldEJvZHkoKS5pbm5lckhUTUwsdD0vPChcdyspIFtePl0qZGF0YS1tY2UtYm9ndXM9ImFsbCJbXj5dKj4vZyxyLGksYSxzLGwsYz1vLnNjaGVtYTtmb3IoZT1tKGUpLGw9Yy5nZXRTaG9ydEVuZGVkRWxlbWVudHMoKTtzPXQuZXhlYyhlKTspaT10Lmxhc3RJbmRleCxhPXNbMF0ubGVuZ3RoLHI9bFtzWzFdXT9pOm4uZmluZEVuZFRhZyhjLGUsaSksZT1lLnN1YnN0cmluZygwLGktYSkrZS5zdWJzdHJpbmcociksdC5sYXN0SW5kZXg9aS1hO3JldHVybiBmKGUpfWZ1bmN0aW9uIHYoZSl7LTE9PT1sLmluQXJyYXkocCxlKSYmKEMuYWRkQXR0cmlidXRlRmlsdGVyKGUsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZS5sZW5ndGg7bi0tOyllW25dLmF0dHIodCxudWxsKX0pLHAucHVzaChlKSl9dmFyIHksYixDO3JldHVybiBvJiYoeT1vLmRvbSxiPW8uc2NoZW1hKSx5PXl8fGgsYj1ifHxuZXcgYShlKSxlLmVudGl0eV9lbmNvZGluZz1lLmVudGl0eV9lbmNvZGluZ3x8Im5hbWVkIixlLnJlbW92ZV90cmFpbGluZ19icnM9InJlbW92ZV90cmFpbGluZ19icnMiaW4gZT9lLnJlbW92ZV90cmFpbGluZ19icnM6ITAsQz1uZXcgdChlLGIpLEMuYWRkQXR0cmlidXRlRmlsdGVyKCJkYXRhLW1jZS10YWJpbmRleCIsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZS5sZW5ndGgscjtuLS07KXI9ZVtuXSxyLmF0dHIoInRhYmluZGV4IixyLmF0dHJpYnV0ZXMubWFwWyJkYXRhLW1jZS10YWJpbmRleCJdKSxyLmF0dHIodCxudWxsKX0pLEMuYWRkQXR0cmlidXRlRmlsdGVyKCJzcmMsaHJlZixzdHlsZSIsZnVuY3Rpb24odCxuKXtmb3IodmFyIHI9dC5sZW5ndGgsaSxvLGE9ImRhdGEtbWNlLSIrbixzPWUudXJsX2NvbnZlcnRlcixsPWUudXJsX2NvbnZlcnRlcl9zY29wZSxjO3ItLTspaT10W3JdLG89aS5hdHRyaWJ1dGVzLm1hcFthXSxvIT09Yz8oaS5hdHRyKG4sby5sZW5ndGg+MD9vOm51bGwpLGkuYXR0cihhLG51bGwpKToobz1pLmF0dHJpYnV0ZXMubWFwW25dLCJzdHlsZSI9PT1uP289eS5zZXJpYWxpemVTdHlsZSh5LnBhcnNlU3R5bGUobyksaS5uYW1lKTpzJiYobz1zLmNhbGwobCxvLG4saS5uYW1lKSksaS5hdHRyKG4sby5sZW5ndGg+MD9vOm51bGwpKX0pLEMuYWRkQXR0cmlidXRlRmlsdGVyKCJjbGFzcyIsZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUubGVuZ3RoLG4scjt0LS07KW49ZVt0XSxyPW4uYXR0cigiY2xhc3MiKSxyJiYocj1uLmF0dHIoImNsYXNzIikucmVwbGFjZSgvKD86XnxccyltY2UtaXRlbS1cdysoPyFcUykvZywiIiksbi5hdHRyKCJjbGFzcyIsci5sZW5ndGg+MD9yOm51bGwpKX0pLEMuYWRkQXR0cmlidXRlRmlsdGVyKCJkYXRhLW1jZS10eXBlIixmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPWUubGVuZ3RoLGk7ci0tOylpPWVbcl0sImJvb2ttYXJrIiE9PWkuYXR0cmlidXRlcy5tYXBbImRhdGEtbWNlLXR5cGUiXXx8bi5jbGVhbnVwfHxpLnJlbW92ZSgpfSksQy5hZGROb2RlRmlsdGVyKCJub3NjcmlwdCIsZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUubGVuZ3RoLG47dC0tOyluPWVbdF0uZmlyc3RDaGlsZCxuJiYobi52YWx1ZT1yLmRlY29kZShuLnZhbHVlKSl9KSxDLmFkZE5vZGVGaWx0ZXIoInNjcmlwdCxzdHlsZSIsZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyg8IS0tXFtDREFUQVxbfFxdXF0tLT4pL2csIlxuIikucmVwbGFjZSgvXltcclxuXSp8W1xyXG5dKiQvZywiIikucmVwbGFjZSgvXlxzKigoPCEtLSk/KFxzKlwvXC8pP1xzKjwhXFtDREFUQVxbfCg8IS0tXHMqKT9cL1wqXHMqPCFcW0NEQVRBXFtccypcKlwvfChcL1wvKT9ccyo8IS0tfFwvXCpccyo8IS0tXHMqXCpcLylccypbXHJcbl0qL2dpLCIiKS5yZXBsYWNlKC9ccyooXC9cKlxzKlxdXF0+XHMqXCpcLygtLT4pP3xccypcL1wvXHMqXF1cXT4oLS0+KT98XC9cL1xzKigtLT4pP3xcXVxdPnxcL1wqXHMqLS0+XHMqXCpcL3xccyotLT5ccyopXHMqJC9nLCIiKX1mb3IodmFyIHI9ZS5sZW5ndGgsaSxvLGE7ci0tOylpPWVbcl0sbz1pLmZpcnN0Q2hpbGQ/aS5maXJzdENoaWxkLnZhbHVlOiIiLCJzY3JpcHQiPT09dD8oYT1pLmF0dHIoInR5cGUiKSxhJiZpLmF0dHIoInR5cGUiLCJtY2Utbm8vdHlwZSI9PWE/bnVsbDphLnJlcGxhY2UoL15tY2VcLS8sIiIpKSxvLmxlbmd0aD4wJiYoaS5maXJzdENoaWxkLnZhbHVlPSIvLyA8IVtDREFUQVtcbiIrbihvKSsiXG4vLyBdXT4iKSk6by5sZW5ndGg+MCYmKGkuZmlyc3RDaGlsZC52YWx1ZT0iPCEtLVxuIituKG8pKyJcbi0tPiIpfSksQy5hZGROb2RlRmlsdGVyKCIjY29tbWVudCIsZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUubGVuZ3RoLG47dC0tOyluPWVbdF0sMD09PW4udmFsdWUuaW5kZXhPZigiW0NEQVRBWyIpPyhuLm5hbWU9IiNjZGF0YSIsbi50eXBlPTQsbi52YWx1ZT1uLnZhbHVlLnJlcGxhY2UoL15cW0NEQVRBXFt8XF1cXSQvZywiIikpOjA9PT1uLnZhbHVlLmluZGV4T2YoIm1jZTpwcm90ZWN0ZWQgIikmJihuLm5hbWU9IiN0ZXh0IixuLnR5cGU9MyxuLnJhdz0hMCxuLnZhbHVlPXVuZXNjYXBlKG4udmFsdWUpLnN1YnN0cigxNCkpfSksQy5hZGROb2RlRmlsdGVyKCJ4bWw6bmFtZXNwYWNlLGlucHV0IixmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aCxyO24tLTspcj1lW25dLDc9PT1yLnR5cGU/ci5yZW1vdmUoKToxPT09ci50eXBlJiYoImlucHV0IiE9PXR8fCJ0eXBlImluIHIuYXR0cmlidXRlcy5tYXB8fHIuYXR0cigidHlwZSIsInRleHQiKSl9KSxlLmZpeF9saXN0X2VsZW1lbnRzJiZDLmFkZE5vZGVGaWx0ZXIoInVsLG9sIixmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS5sZW5ndGgsbixyO3QtLTspbj1lW3RdLHI9bi5wYXJlbnQsInVsIiE9PXIubmFtZSYmIm9sIiE9PXIubmFtZXx8bi5wcmV2JiYibGkiPT09bi5wcmV2Lm5hbWUmJm4ucHJldi5hcHBlbmQobil9KSxDLmFkZEF0dHJpYnV0ZUZpbHRlcigiZGF0YS1tY2Utc3JjLGRhdGEtbWNlLWhyZWYsZGF0YS1tY2Utc3R5bGUsZGF0YS1tY2Utc2VsZWN0ZWQsZGF0YS1tY2UtZXhwYW5kbyxkYXRhLW1jZS10eXBlLGRhdGEtbWNlLXJlc2l6ZSIsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZS5sZW5ndGg7bi0tOyllW25dLmF0dHIodCxudWxsKX0pLHtzY2hlbWE6YixhZGROb2RlRmlsdGVyOkMuYWRkTm9kZUZpbHRlcixhZGRBdHRyaWJ1dGVGaWx0ZXI6Qy5hZGRBdHRyaWJ1dGVGaWx0ZXIsc2VyaWFsaXplOmZ1bmN0aW9uKHQsbil7dmFyIHI9dGhpcyxvLGEsbCxoLHAsbTtyZXR1cm4gcy5pZSYmeS5zZWxlY3QoInNjcmlwdCxzdHlsZSxzZWxlY3QsbWFwIikubGVuZ3RoPjA/KHA9dC5pbm5lckhUTUwsdD10LmNsb25lTm9kZSghMSkseS5zZXRIVE1MKHQscCkpOnQ9dC5jbG9uZU5vZGUoITApLG89dC5vd25lckRvY3VtZW50LmltcGxlbWVudGF0aW9uLG8uY3JlYXRlSFRNTERvY3VtZW50JiYoYT1vLmNyZWF0ZUhUTUxEb2N1bWVudCgiIiksZCgiQk9EWSI9PXQubm9kZU5hbWU/dC5jaGlsZE5vZGVzOlt0XSxmdW5jdGlvbihlKXthLmJvZHkuYXBwZW5kQ2hpbGQoYS5pbXBvcnROb2RlKGUsITApKX0pLHQ9IkJPRFkiIT10Lm5vZGVOYW1lP2EuYm9keS5maXJzdENoaWxkOmEuYm9keSxsPXkuZG9jLHkuZG9jPWEpLG49bnx8e30sbi5mb3JtYXQ9bi5mb3JtYXR8fCJodG1sIixuLnNlbGVjdGlvbiYmKG4uZm9yY2VkX3Jvb3RfYmxvY2s9IiIpLG4ubm9fZXZlbnRzfHwobi5ub2RlPXQsci5vblByZVByb2Nlc3MobikpLG09Qy5wYXJzZShmKG4uZ2V0SW5uZXI/dC5pbm5lckhUTUw6eS5nZXRPdXRlckhUTUwodCkpLG4pLHUobSksaD1uZXcgaShlLGIpLG4uY29udGVudD1oLnNlcmlhbGl6ZShtKSxuLmNsZWFudXB8fChuLmNvbnRlbnQ9Yy50cmltKG4uY29udGVudCksbi5jb250ZW50PW4uY29udGVudC5yZXBsYWNlKC9cdUZFRkYvZywiIikpLG4ubm9fZXZlbnRzfHxyLm9uUG9zdFByb2Nlc3MobiksbCYmKHkuZG9jPWwpLG4ubm9kZT1udWxsLG4uY29udGVudH0sYWRkUnVsZXM6ZnVuY3Rpb24oZSl7Yi5hZGRWYWxpZEVsZW1lbnRzKGUpfSxzZXRSdWxlczpmdW5jdGlvbihlKXtiLnNldFZhbGlkRWxlbWVudHMoZSl9LG9uUHJlUHJvY2VzczpmdW5jdGlvbihlKXtvJiZvLmZpcmUoIlByZVByb2Nlc3MiLGUpfSxvblBvc3RQcm9jZXNzOmZ1bmN0aW9uKGUpe28mJm8uZmlyZSgiUG9zdFByb2Nlc3MiLGUpfSxhZGRUZW1wQXR0cjp2LHRyaW1IdG1sOm0sZ2V0VHJpbW1lZENvbnRlbnQ6Z319fSkscihPLFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtmdW5jdGlvbiB0KHQsbil7dmFyIHIsaT0wLG8sYSxzLGwsYyx1LGQ9LTEsZjtpZihyPXQuZHVwbGljYXRlKCksci5jb2xsYXBzZShuKSxmPXIucGFyZW50RWxlbWVudCgpLGYub3duZXJEb2N1bWVudD09PWUuZG9tLmRvYyl7Zm9yKDsiZmFsc2UiPT09Zi5jb250ZW50RWRpdGFibGU7KWY9Zi5wYXJlbnROb2RlO2lmKCFmLmhhc0NoaWxkTm9kZXMoKSlyZXR1cm57bm9kZTpmLGluc2lkZToxfTtmb3Iocz1mLmNoaWxkcmVuLG89cy5sZW5ndGgtMTtvPj1pOylpZih1PU1hdGguZmxvb3IoKGkrbykvMiksbD1zW3VdLHIubW92ZVRvRWxlbWVudFRleHQobCksZD1yLmNvbXBhcmVFbmRQb2ludHMobj8iU3RhcnRUb1N0YXJ0IjoiRW5kVG9FbmQiLHQpLGQ+MClvPXUtMTtlbHNle2lmKCEoMD5kKSlyZXR1cm57bm9kZTpsfTtpPXUrMX1pZigwPmQpZm9yKGw/ci5jb2xsYXBzZSghMSk6KHIubW92ZVRvRWxlbWVudFRleHQoZiksci5jb2xsYXBzZSghMCksbD1mLGE9ITApLGM9MDswIT09ci5jb21wYXJlRW5kUG9pbnRzKG4/IlN0YXJ0VG9TdGFydCI6IlN0YXJ0VG9FbmQiLHQpJiYwIT09ci5tb3ZlKCJjaGFyYWN0ZXIiLDEpJiZmPT1yLnBhcmVudEVsZW1lbnQoKTspYysrO2Vsc2UgZm9yKHIuY29sbGFwc2UoITApLGM9MDswIT09ci5jb21wYXJlRW5kUG9pbnRzKG4/IlN0YXJ0VG9TdGFydCI6IlN0YXJ0VG9FbmQiLHQpJiYwIT09ci5tb3ZlKCJjaGFyYWN0ZXIiLC0xKSYmZj09ci5wYXJlbnRFbGVtZW50KCk7KWMrKztyZXR1cm57bm9kZTpsLHBvc2l0aW9uOmQsb2Zmc2V0OmMsaW5zaWRlOmF9fX1mdW5jdGlvbiBuKCl7ZnVuY3Rpb24gbihlKXt2YXIgbj10KG8sZSkscixpLHM9MCxsLGMsdTtpZihyPW4ubm9kZSxpPW4ub2Zmc2V0LG4uaW5zaWRlJiYhci5oYXNDaGlsZE5vZGVzKCkpcmV0dXJuIHZvaWQgYVtlPyJzZXRTdGFydCI6InNldEVuZCJdKHIsMCk7aWYoaT09PWMpcmV0dXJuIHZvaWQgYVtlPyJzZXRTdGFydEJlZm9yZSI6InNldEVuZEFmdGVyIl0ocik7aWYobi5wb3NpdGlvbjwwKXtpZihsPW4uaW5zaWRlP3IuZmlyc3RDaGlsZDpyLm5leHRTaWJsaW5nLCFsKXJldHVybiB2b2lkIGFbZT8ic2V0U3RhcnRBZnRlciI6InNldEVuZEFmdGVyIl0ocik7aWYoIWkpcmV0dXJuIHZvaWQoMz09bC5ub2RlVHlwZT9hW2U/InNldFN0YXJ0Ijoic2V0RW5kIl0obCwwKTphW2U/InNldFN0YXJ0QmVmb3JlIjoic2V0RW5kQmVmb3JlIl0obCkpO2Zvcig7bDspe2lmKDM9PWwubm9kZVR5cGUmJih1PWwubm9kZVZhbHVlLHMrPXUubGVuZ3RoLHM+PWkpKXtyPWwscy09aSxzPXUubGVuZ3RoLXM7YnJlYWt9bD1sLm5leHRTaWJsaW5nfX1lbHNle2lmKGw9ci5wcmV2aW91c1NpYmxpbmcsIWwpcmV0dXJuIGFbZT8ic2V0U3RhcnRCZWZvcmUiOiJzZXRFbmRCZWZvcmUiXShyKTtpZighaSlyZXR1cm4gdm9pZCgzPT1yLm5vZGVUeXBlP2FbZT8ic2V0U3RhcnQiOiJzZXRFbmQiXShsLHIubm9kZVZhbHVlLmxlbmd0aCk6YVtlPyJzZXRTdGFydEFmdGVyIjoic2V0RW5kQWZ0ZXIiXShsKSk7Zm9yKDtsOyl7aWYoMz09bC5ub2RlVHlwZSYmKHMrPWwubm9kZVZhbHVlLmxlbmd0aCxzPj1pKSl7cj1sLHMtPWk7YnJlYWt9bD1sLnByZXZpb3VzU2libGluZ319YVtlPyJzZXRTdGFydCI6InNldEVuZCJdKHIscyl9dmFyIG89ZS5nZXRSbmcoKSxhPWkuY3JlYXRlUm5nKCkscyxsLGMsdSxkO2lmKHM9by5pdGVtP28uaXRlbSgwKTpvLnBhcmVudEVsZW1lbnQoKSxzLm93bmVyRG9jdW1lbnQhPWkuZG9jKXJldHVybiBhO2lmKGw9ZS5pc0NvbGxhcHNlZCgpLG8uaXRlbSlyZXR1cm4gYS5zZXRTdGFydChzLnBhcmVudE5vZGUsaS5ub2RlSW5kZXgocykpLGEuc2V0RW5kKGEuc3RhcnRDb250YWluZXIsYS5zdGFydE9mZnNldCsxKSxhO3RyeXtuKCEwKSxsfHxuKCl9Y2F0Y2goZil7aWYoLTIxNDcwMjQ4MDkhPWYubnVtYmVyKXRocm93IGY7ZD1yLmdldEJvb2ttYXJrKDIpLGM9by5kdXBsaWNhdGUoKSxjLmNvbGxhcHNlKCEwKSxzPWMucGFyZW50RWxlbWVudCgpLGx8fChjPW8uZHVwbGljYXRlKCksYy5jb2xsYXBzZSghMSksdT1jLnBhcmVudEVsZW1lbnQoKSx1LmlubmVySFRNTD11LmlubmVySFRNTCkscy5pbm5lckhUTUw9cy5pbm5lckhUTUwsci5tb3ZlVG9Cb29rbWFyayhkKSxvPWUuZ2V0Um5nKCksbighMCksbHx8bigpfXJldHVybiBhfXZhciByPXRoaXMsaT1lLmRvbSxvPSExO3RoaXMuZ2V0Qm9va21hcms9ZnVuY3Rpb24obil7ZnVuY3Rpb24gcihlKXt2YXIgdCxuLHIsbyxhPVtdO2Zvcih0PWUucGFyZW50Tm9kZSxuPWkuZ2V0Um9vdCgpLnBhcmVudE5vZGU7dCE9biYmOSE9PXQubm9kZVR5cGU7KXtmb3Iocj10LmNoaWxkcmVuLG89ci5sZW5ndGg7by0tOylpZihlPT09cltvXSl7YS5wdXNoKG8pO2JyZWFrfWU9dCx0PXQucGFyZW50Tm9kZX1yZXR1cm4gYX1mdW5jdGlvbiBvKGUpe3ZhciBuO3JldHVybiBuPXQoYSxlKSxuP3twb3NpdGlvbjpuLnBvc2l0aW9uLG9mZnNldDpuLm9mZnNldCxpbmRleGVzOnIobi5ub2RlKSxpbnNpZGU6bi5pbnNpZGV9OnZvaWQgMH12YXIgYT1lLmdldFJuZygpLHM9e307cmV0dXJuIDI9PT1uJiYoYS5pdGVtP3Muc3RhcnQ9e2N0cmw6ITAsaW5kZXhlczpyKGEuaXRlbSgwKSl9OihzLnN0YXJ0PW8oITApLGUuaXNDb2xsYXBzZWQoKXx8KHMuZW5kPW8oKSkpKSxzfSx0aGlzLm1vdmVUb0Jvb2ttYXJrPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7dmFyIHQsbixyLG87Zm9yKHQ9aS5nZXRSb290KCksbj1lLmxlbmd0aC0xO24+PTA7bi0tKW89dC5jaGlsZHJlbixyPWVbbl0scjw9by5sZW5ndGgtMSYmKHQ9b1tyXSk7cmV0dXJuIHR9ZnVuY3Rpb24gbihuKXt2YXIgaT1lW24/InN0YXJ0IjoiZW5kIl0sYSxzLGwsYztpJiYoYT1pLnBvc2l0aW9uPjAscz1vLmNyZWF0ZVRleHRSYW5nZSgpLHMubW92ZVRvRWxlbWVudFRleHQodChpLmluZGV4ZXMpKSxjPWkub2Zmc2V0LGMhPT1sPyhzLmNvbGxhcHNlKGkuaW5zaWRlfHxhKSxzLm1vdmVTdGFydCgiY2hhcmFjdGVyIixhPy1jOmMpKTpzLmNvbGxhcHNlKG4pLHIuc2V0RW5kUG9pbnQobj8iU3RhcnRUb1N0YXJ0IjoiRW5kVG9TdGFydCIscyksbiYmci5jb2xsYXBzZSghMCkpfXZhciByLG89aS5kb2MuYm9keTtlLnN0YXJ0JiYoZS5zdGFydC5jdHJsPyhyPW8uY3JlYXRlQ29udHJvbFJhbmdlKCksci5hZGRFbGVtZW50KHQoZS5zdGFydC5pbmRleGVzKSksci5zZWxlY3QoKSk6KHI9by5jcmVhdGVUZXh0UmFuZ2UoKSxuKCEwKSxuKCksci5zZWxlY3QoKSkpfSx0aGlzLmFkZFJhbmdlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oZSl7dmFyIHQsbixhLGQscDthPWkuY3JlYXRlKCJhIiksdD1lP3M6YyxuPWU/bDp1LGQ9ci5kdXBsaWNhdGUoKSx0IT1mJiZ0IT1mLmRvY3VtZW50RWxlbWVudHx8KHQ9aCxuPTApLDM9PXQubm9kZVR5cGU/KHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0KSxkLm1vdmVUb0VsZW1lbnRUZXh0KGEpLGQubW92ZVN0YXJ0KCJjaGFyYWN0ZXIiLG4pLGkucmVtb3ZlKGEpLHIuc2V0RW5kUG9pbnQoZT8iU3RhcnRUb1N0YXJ0IjoiRW5kVG9FbmQiLGQpKToocD10LmNoaWxkTm9kZXMscC5sZW5ndGg/KG4+PXAubGVuZ3RoP2kuaW5zZXJ0QWZ0ZXIoYSxwW3AubGVuZ3RoLTFdKTp0Lmluc2VydEJlZm9yZShhLHBbbl0pLGQubW92ZVRvRWxlbWVudFRleHQoYSkpOnQuY2FuSGF2ZUhUTUwmJih0LmlubmVySFRNTD0iPHNwYW4+JiN4RkVGRjs8L3NwYW4+IixhPXQuZmlyc3RDaGlsZCxkLm1vdmVUb0VsZW1lbnRUZXh0KGEpLGQuY29sbGFwc2UobykpLHIuc2V0RW5kUG9pbnQoZT8iU3RhcnRUb1N0YXJ0IjoiRW5kVG9FbmQiLGQpLGkucmVtb3ZlKGEpKX12YXIgcixhLHMsbCxjLHUsZCxmPWUuZG9tLmRvYyxoPWYuYm9keSxwLG07aWYocz10LnN0YXJ0Q29udGFpbmVyLGw9dC5zdGFydE9mZnNldCxjPXQuZW5kQ29udGFpbmVyLHU9dC5lbmRPZmZzZXQscj1oLmNyZWF0ZVRleHRSYW5nZSgpLHM9PWMmJjE9PXMubm9kZVR5cGUpe2lmKGw9PXUmJiFzLmhhc0NoaWxkTm9kZXMoKSl7aWYocy5jYW5IYXZlSFRNTClyZXR1cm4gZD1zLnByZXZpb3VzU2libGluZyxkJiYhZC5oYXNDaGlsZE5vZGVzKCkmJmkuaXNCbG9jayhkKT9kLmlubmVySFRNTD0iJiN4RkVGRjsiOmQ9bnVsbCxzLmlubmVySFRNTD0iPHNwYW4+JiN4RkVGRjs8L3NwYW4+PHNwYW4+JiN4RkVGRjs8L3NwYW4+IixyLm1vdmVUb0VsZW1lbnRUZXh0KHMubGFzdENoaWxkKSxyLnNlbGVjdCgpLGkuZG9jLnNlbGVjdGlvbi5jbGVhcigpLHMuaW5uZXJIVE1MPSIiLHZvaWQoZCYmKGQuaW5uZXJIVE1MPSIiKSk7bD1pLm5vZGVJbmRleChzKSxzPXMucGFyZW50Tm9kZX1pZihsPT11LTEpdHJ5e2lmKG09cy5jaGlsZE5vZGVzW2xdLGE9aC5jcmVhdGVDb250cm9sUmFuZ2UoKSxhLmFkZEVsZW1lbnQobSksYS5zZWxlY3QoKSxwPWUuZ2V0Um5nKCkscC5pdGVtJiZtPT09cC5pdGVtKDApKXJldHVybn1jYXRjaChnKXt9fW4oITApLG4oKSxyLnNlbGVjdCgpfSx0aGlzLmdldFJhbmdlQXQ9bn1yZXR1cm4gZX0pLHIoSSxbaF0sZnVuY3Rpb24oZSl7cmV0dXJue0JBQ0tTUEFDRTo4LERFTEVURTo0NixET1dOOjQwLEVOVEVSOjEzLExFRlQ6MzcsUklHSFQ6MzksU1BBQ0VCQVI6MzIsVEFCOjksVVA6MzgsbW9kaWZpZXJQcmVzc2VkOmZ1bmN0aW9uKGUpe3JldHVybiBlLnNoaWZ0S2V5fHxlLmN0cmxLZXl8fGUuYWx0S2V5fHx0aGlzLm1ldGFLZXlQcmVzc2VkKGUpfSxtZXRhS2V5UHJlc3NlZDpmdW5jdGlvbih0KXtyZXR1cm4gZS5tYWM/dC5tZXRhS2V5OnQuY3RybEtleSYmIXQuYWx0S2V5fX19KSxyKEYsW0ksbSx1LGgsX10sZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbz1pLmlzQ29udGVudEVkaXRhYmxlRmFsc2U7cmV0dXJuIGZ1bmN0aW9uKGksYSl7ZnVuY3Rpb24gcyhlKXt2YXIgdD1hLnNldHRpbmdzLm9iamVjdF9yZXNpemluZztyZXR1cm4gdD09PSExfHxyLmlPUz8hMTooInN0cmluZyIhPXR5cGVvZiB0JiYodD0idGFibGUsaW1nLGRpdiIpLCJmYWxzZSI9PT1lLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtcmVzaXplIik/ITE6ZT09YS5nZXRCb2R5KCk/ITE6YS5kb20uaXMoZSx0KSl9ZnVuY3Rpb24gbCh0KXt2YXIgbixyLGksbyxzO249dC5zY3JlZW5YLUIscj10LnNjcmVlblktRCxGPW4qUlsyXStQLHo9cipSWzNdK0gsRj01PkY/NTpGLHo9NT56PzU6eixpPSJJTUciPT1fLm5vZGVOYW1lJiZhLnNldHRpbmdzLnJlc2l6ZV9pbWdfcHJvcG9ydGlvbmFsIT09ITE/IWUubW9kaWZpZXJQcmVzc2VkKHQpOmUubW9kaWZpZXJQcmVzc2VkKHQpfHwiSU1HIj09Xy5ub2RlTmFtZSYmUlsyXSpSWzNdIT09MCxpJiYoJChuKT4kKHIpPyh6PXEoRipPKSxGPXEoei9PKSk6KEY9cSh6L08pLHo9cShGKk8pKSksTi5zZXRTdHlsZXMoUyx7d2lkdGg6RixoZWlnaHQ6en0pLG89Ui5zdGFydFBvcy54K24scz1SLnN0YXJ0UG9zLnkrcixvPW8+MD9vOjAscz1zPjA/czowLE4uc2V0U3R5bGVzKGsse2xlZnQ6byx0b3A6cyxkaXNwbGF5OiJibG9jayJ9KSxrLmlubmVySFRNTD1GKyIgJnRpbWVzOyAiK3osUlsyXTwwJiZTLmNsaWVudFdpZHRoPD1GJiZOLnNldFN0eWxlKFMsImxlZnQiLE0rKFAtRikpLFJbM108MCYmUy5jbGllbnRIZWlnaHQ8PXomJk4uc2V0U3R5bGUoUywidG9wIixMKyhILXopKSxuPWouc2Nyb2xsV2lkdGgtWSxyPWouc2Nyb2xsSGVpZ2h0LVgsbityIT09MCYmTi5zZXRTdHlsZXMoayx7bGVmdDpvLW4sdG9wOnMtcn0pLEl8fChhLmZpcmUoIk9iamVjdFJlc2l6ZVN0YXJ0Iix7dGFyZ2V0Ol8sd2lkdGg6UCxoZWlnaHQ6SH0pLEk9ITApfWZ1bmN0aW9uIGMoKXtmdW5jdGlvbiBlKGUsdCl7dCYmKF8uc3R5bGVbZV18fCFhLnNjaGVtYS5pc1ZhbGlkKF8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxlKT9OLnNldFN0eWxlKF8sZSx0KTpOLnNldEF0dHJpYihfLGUsdCkpfUk9ITEsZSgid2lkdGgiLEYpLGUoImhlaWdodCIseiksTi51bmJpbmQoVywibW91c2Vtb3ZlIixsKSxOLnVuYmluZChXLCJtb3VzZXVwIixjKSxWIT1XJiYoTi51bmJpbmQoViwibW91c2Vtb3ZlIixsKSxOLnVuYmluZChWLCJtb3VzZXVwIixjKSksTi5yZW1vdmUoUyksTi5yZW1vdmUoayksVSYmIlRBQkxFIiE9Xy5ub2RlTmFtZXx8dShfKSxhLmZpcmUoIk9iamVjdFJlc2l6ZWQiLHt0YXJnZXQ6Xyx3aWR0aDpGLGhlaWdodDp6fSksTi5zZXRBdHRyaWIoXywic3R5bGUiLE4uZ2V0QXR0cmliKF8sInN0eWxlIikpLGEubm9kZUNoYW5nZWQoKX1mdW5jdGlvbiB1KGUsdCxuKXt2YXIgaSxvLHUsZixoO2QoKSxiKCksaT1OLmdldFBvcyhlLGopLE09aS54LEw9aS55LGg9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPWgud2lkdGh8fGgucmlnaHQtaC5sZWZ0LHU9aC5oZWlnaHR8fGguYm90dG9tLWgudG9wLF8hPWUmJih5KCksXz1lLEY9ej0wKSxmPWEuZmlyZSgiT2JqZWN0U2VsZWN0ZWQiLHt0YXJnZXQ6ZX0pLHMoZSkmJiFmLmlzRGVmYXVsdFByZXZlbnRlZCgpP0UoVCxmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIGEodCl7Qj10LnNjcmVlblgsRD10LnNjcmVlblksUD1fLmNsaWVudFdpZHRoLEg9Xy5jbGllbnRIZWlnaHQsTz1IL1AsUj1lLGUuc3RhcnRQb3M9e3g6byplWzBdK00seTp1KmVbMV0rTH0sWT1qLnNjcm9sbFdpZHRoLFg9ai5zY3JvbGxIZWlnaHQsUz1fLmNsb25lTm9kZSghMCksTi5hZGRDbGFzcyhTLCJtY2UtY2xvbmVkcmVzaXphYmxlIiksTi5zZXRBdHRyaWIoUywiZGF0YS1tY2UtYm9ndXMiLCJhbGwiKSxTLmNvbnRlbnRFZGl0YWJsZT0hMSxTLnVuU2VsZWN0YWJlPSEwLE4uc2V0U3R5bGVzKFMse2xlZnQ6TSx0b3A6TCxtYXJnaW46MH0pLFMucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW1jZS1zZWxlY3RlZCIpLGouYXBwZW5kQ2hpbGQoUyksTi5iaW5kKFcsIm1vdXNlbW92ZSIsbCksTi5iaW5kKFcsIm1vdXNldXAiLGMpLFYhPVcmJihOLmJpbmQoViwibW91c2Vtb3ZlIixsKSxOLmJpbmQoViwibW91c2V1cCIsYykpLGs9Ti5hZGQoaiwiZGl2Iix7ImNsYXNzIjoibWNlLXJlc2l6ZS1oZWxwZXIiLCJkYXRhLW1jZS1ib2d1cyI6ImFsbCJ9LFArIiAmdGltZXM7ICIrSCl9dmFyIHM7cmV0dXJuIHQ/dm9pZChpPT10JiZhKG4pKToocz1OLmdldCgibWNlUmVzaXplSGFuZGxlIitpKSxzJiZOLnJlbW92ZShzKSxzPU4uYWRkKGosImRpdiIse2lkOiJtY2VSZXNpemVIYW5kbGUiK2ksImRhdGEtbWNlLWJvZ3VzIjoiYWxsIiwiY2xhc3MiOiJtY2UtcmVzaXplaGFuZGxlIix1bnNlbGVjdGFibGU6ITAsc3R5bGU6ImN1cnNvcjoiK2krIi1yZXNpemU7IG1hcmdpbjowOyBwYWRkaW5nOjAifSksci5pZSYmKHMuY29udGVudEVkaXRhYmxlPSExKSxOLmJpbmQocywibW91c2Vkb3duIixmdW5jdGlvbihlKXtlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKSxhKGUpfSksZS5lbG09cyx2b2lkIE4uc2V0U3R5bGVzKHMse2xlZnQ6byplWzBdK00tcy5vZmZzZXRXaWR0aC8yLHRvcDp1KmVbMV0rTC1zLm9mZnNldEhlaWdodC8yfSkpfSk6ZCgpLF8uc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1zZWxlY3RlZCIsIjEiKX1mdW5jdGlvbiBkKCl7dmFyIGUsdDtiKCksXyYmXy5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLXNlbGVjdGVkIik7Zm9yKGUgaW4gVCl0PU4uZ2V0KCJtY2VSZXNpemVIYW5kbGUiK2UpLHQmJihOLnVuYmluZCh0KSxOLnJlbW92ZSh0KSl9ZnVuY3Rpb24gZihlKXtmdW5jdGlvbiB0KGUsdCl7aWYoZSlkbyBpZihlPT09dClyZXR1cm4hMDt3aGlsZShlPWUucGFyZW50Tm9kZSl9dmFyIG4scjtpZighSSYmIWEucmVtb3ZlZClyZXR1cm4gRShOLnNlbGVjdCgiaW1nW2RhdGEtbWNlLXNlbGVjdGVkXSxocltkYXRhLW1jZS1zZWxlY3RlZF0iKSxmdW5jdGlvbihlKXtlLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2Utc2VsZWN0ZWQiKX0pLHI9Im1vdXNlZG93biI9PWUudHlwZT9lLnRhcmdldDppLmdldE5vZGUoKSxyPU4uJChyKS5jbG9zZXN0KFU/InRhYmxlIjoidGFibGUsaW1nLGhyIilbMF0sdChyLGopJiYoQygpLG49aS5nZXRTdGFydCghMCksdChuLHIpJiZ0KGkuZ2V0RW5kKCEwKSxyKSYmKCFVfHxyIT1uJiYiSU1HIiE9PW4ubm9kZU5hbWUpKT92b2lkIHUocik6dm9pZCBkKCl9ZnVuY3Rpb24gaChlLHQsbil7ZSYmZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK3Qsbil9ZnVuY3Rpb24gcChlLHQsbil7ZSYmZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK3Qsbil9ZnVuY3Rpb24gbShlKXt2YXIgdD1lLnNyY0VsZW1lbnQsbixyLGksbyxzLGwsYztuPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbD1BLmNsaWVudFgtbi5sZWZ0LGM9QS5jbGllbnRZLW4udG9wO2ZvcihyIGluIFQpaWYoaT1UW3JdLG89dC5vZmZzZXRXaWR0aCppWzBdLHM9dC5vZmZzZXRIZWlnaHQqaVsxXSwkKG8tbCk8OCYmJChzLWMpPDgpe1I9aTticmVha31JPSEwLGEuZmlyZSgiT2JqZWN0UmVzaXplU3RhcnQiLHt0YXJnZXQ6Xyx3aWR0aDpfLmNsaWVudFdpZHRoLGhlaWdodDpfLmNsaWVudEhlaWdodH0pLGEuZ2V0RG9jKCkuc2VsZWN0aW9uLmVtcHR5KCksdSh0LHIsQSl9ZnVuY3Rpb24gZyhlKXtlLnByZXZlbnREZWZhdWx0P2UucHJldmVudERlZmF1bHQoKTplLnJldHVyblZhbHVlPSExfWZ1bmN0aW9uIHYoZSl7dmFyIHQ9ZS5zcmNFbGVtZW50O2lmKG8odCkpcmV0dXJuIHZvaWQgZyhlKTtpZih0IT1fKXtpZihhLmZpcmUoIk9iamVjdFNlbGVjdGVkIix7dGFyZ2V0OnR9KSx5KCksMD09PXQuaWQuaW5kZXhPZigibWNlUmVzaXplSGFuZGxlIikpcmV0dXJuIHZvaWQoZS5yZXR1cm5WYWx1ZT0hMSk7IklNRyIhPXQubm9kZU5hbWUmJiJUQUJMRSIhPXQubm9kZU5hbWV8fChkKCksXz10LGgodCwicmVzaXplc3RhcnQiLG0pKX19ZnVuY3Rpb24geSgpe3AoXywicmVzaXplc3RhcnQiLG0pfWZ1bmN0aW9uIGIoKXtmb3IodmFyIGUgaW4gVCl7dmFyIHQ9VFtlXTt0LmVsbSYmKE4udW5iaW5kKHQuZWxtKSxkZWxldGUgdC5lbG0pfX1mdW5jdGlvbiBDKCl7dHJ5e2EuZ2V0RG9jKCkuZXhlY0NvbW1hbmQoImVuYWJsZU9iamVjdFJlc2l6aW5nIiwhMSwhMSl9Y2F0Y2goZSl7fX1mdW5jdGlvbiB4KGUpe3ZhciB0O2lmKFUpe3Q9Vy5ib2R5LmNyZWF0ZUNvbnRyb2xSYW5nZSgpO3RyeXtyZXR1cm4gdC5hZGRFbGVtZW50KGUpLHQuc2VsZWN0KCksITB9Y2F0Y2gobil7fX19ZnVuY3Rpb24gdygpe189Uz1udWxsLFUmJih5KCkscChqLCJjb250cm9sc2VsZWN0Iix2KSl9dmFyIE49YS5kb20sRT10LmVhY2gsXyxTLGssVCxSLEEsQixELE0sTCxQLEgsTyxJLEYseixXPWEuZ2V0RG9jKCksVj1kb2N1bWVudCxVPXIuaWUmJnIuaWU8MTEsJD1NYXRoLmFicyxxPU1hdGgucm91bmQsaj1hLmdldEJvZHkoKSxZLFg7VD17bnc6WzAsMCwtMSwtMV0sbmU6WzEsMCwxLC0xXSxzZTpbMSwxLDEsMV0sc3c6WzAsMSwtMSwxXX07dmFyIEs9Ii5tY2UtY29udGVudC1ib2R5IjtyZXR1cm4gYS5jb250ZW50U3R5bGVzLnB1c2goSysiIGRpdi5tY2UtcmVzaXplaGFuZGxlIHtwb3NpdGlvbjogYWJzb2x1dGU7Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7Ym94LXNpemluZzogYm94LXNpemluZztiYWNrZ3JvdW5kOiAjRkZGO3dpZHRoOiA3cHg7aGVpZ2h0OiA3cHg7ei1pbmRleDogMTAwMDB9IitLKyIgLm1jZS1yZXNpemVoYW5kbGU6aG92ZXIge2JhY2tncm91bmQ6ICMwMDB9IitLKyIgaW1nW2RhdGEtbWNlLXNlbGVjdGVkXSwiK0srIiBocltkYXRhLW1jZS1zZWxlY3RlZF0ge291dGxpbmU6IDFweCBzb2xpZCBibGFjaztyZXNpemU6IG5vbmV9IitLKyIgLm1jZS1jbG9uZWRyZXNpemFibGUge3Bvc2l0aW9uOiBhYnNvbHV0ZTsiKyhyLmdlY2tvPyIiOiJvdXRsaW5lOiAxcHggZGFzaGVkIGJsYWNrOyIpKyJvcGFjaXR5OiAuNTtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO3otaW5kZXg6IDEwMDAwfSIrSysiIC5tY2UtcmVzaXplLWhlbHBlciB7YmFja2dyb3VuZDogIzU1NTtiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNzUpO2JvcmRlci1yYWRpdXM6IDNweDtib3JkZXI6IDFweDtjb2xvcjogd2hpdGU7ZGlzcGxheTogbm9uZTtmb250LWZhbWlseTogc2Fucy1zZXJpZjtmb250LXNpemU6IDEycHg7d2hpdGUtc3BhY2U6IG5vd3JhcDtsaW5lLWhlaWdodDogMTRweDttYXJnaW46IDVweCAxMHB4O3BhZGRpbmc6IDVweDtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogMTAwMDF9IiksYS5vbigiaW5pdCIsZnVuY3Rpb24oKXtVPyhhLm9uKCJPYmplY3RSZXNpemVkIixmdW5jdGlvbihlKXsiVEFCTEUiIT1lLnRhcmdldC5ub2RlTmFtZSYmKGQoKSx4KGUudGFyZ2V0KSl9KSxoKGosImNvbnRyb2xzZWxlY3QiLHYpLGEub24oIm1vdXNlZG93biIsZnVuY3Rpb24oZSl7QT1lfSkpOihDKCksci5pZT49MTEmJihhLm9uKCJtb3VzZWRvd24gY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0Lm5vZGVOYW1lOyFJJiYvXihUQUJMRXxJTUd8SFIpJC8udGVzdCh0KSYmKGEuc2VsZWN0aW9uLnNlbGVjdChlLnRhcmdldCwiVEFCTEUiPT10KSwibW91c2Vkb3duIj09ZS50eXBlJiZhLm5vZGVDaGFuZ2VkKCkpfSksYS5kb20uYmluZChqLCJtc2NvbnRyb2xzZWxlY3QiLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7bi5zZXRFZGl0b3JUaW1lb3V0KGEsZnVuY3Rpb24oKXthLnNlbGVjdGlvbi5zZWxlY3QoZSl9KX1yZXR1cm4gbyhlLnRhcmdldCk/KGUucHJldmVudERlZmF1bHQoKSx2b2lkIHQoZS50YXJnZXQpKTp2b2lkKC9eKFRBQkxFfElNR3xIUikkLy50ZXN0KGUudGFyZ2V0Lm5vZGVOYW1lKSYmKGUucHJldmVudERlZmF1bHQoKSwiSU1HIj09ZS50YXJnZXQudGFnTmFtZSYmdChlLnRhcmdldCkpKX0pKSk7dmFyIGU9bi50aHJvdHRsZShmKTthLm9uKCJub2RlY2hhbmdlIFJlc2l6ZUVkaXRvciBSZXNpemVXaW5kb3cgZHJvcCIsZnVuY3Rpb24odCl7YS5jb21wb3Npbmd8fGUodCl9KSxhLm9uKCJrZXlkb3duIGtleXVwIGNvbXBvc2l0aW9uZW5kIixmdW5jdGlvbih0KXtfJiYiVEFCTEUiPT1fLm5vZGVOYW1lJiYhYS5jb21wb3NpbmcmJmUodCl9KSxhLm9uKCJoaWRlIGJsdXIiLGQpfSksYS5vbigicmVtb3ZlIixiKSx7aXNSZXNpemFibGU6cyxzaG93UmVzaXplUmVjdDp1LGhpZGVSZXNpemVSZWN0OmQsdXBkYXRlUmVzaXplUmVjdDpmLGNvbnRyb2xTZWxlY3Q6eCxkZXN0cm95Ond9fX0pLHIoeixbXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fWZ1bmN0aW9uIHQoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiFlKHQpfX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBlKHQobikpfX1mdW5jdGlvbiByKCl7dmFyIGU9YS5jYWxsKGFyZ3VtZW50cyk7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKWlmKGVbbl0odCkpcmV0dXJuITA7cmV0dXJuITF9fWZ1bmN0aW9uIGkoKXt2YXIgZT1hLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspaWYoIWVbbl0odCkpcmV0dXJuITE7cmV0dXJuITB9fWZ1bmN0aW9uIG8oZSl7dmFyIHQ9YS5jYWxsKGFyZ3VtZW50cyk7cmV0dXJuIHQubGVuZ3RoLTE+PWUubGVuZ3RoP2UuYXBwbHkodGhpcyx0LnNsaWNlKDEpKTpmdW5jdGlvbigpe3ZhciBlPXQuY29uY2F0KFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7cmV0dXJuIG8uYXBwbHkodGhpcyxlKX19dmFyIGE9W10uc2xpY2U7cmV0dXJue2NvbnN0YW50OmUsbmVnYXRlOnQsYW5kOmksb3I6cixjdXJyeTpvLGNvbXBvc2U6bn19KSxyKFcsW18scCxrXSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcihlKXtyZXR1cm4gbShlKT8hMTpkKGUpPyFmKGUucGFyZW50Tm9kZSk6aChlKXx8dShlKXx8cChlKXx8YyhlKX1mdW5jdGlvbiBpKGUsdCl7Zm9yKGU9ZS5wYXJlbnROb2RlO2UmJmUhPXQ7ZT1lLnBhcmVudE5vZGUpe2lmKGMoZSkpcmV0dXJuITE7aWYobChlKSlyZXR1cm4hMH1yZXR1cm4hMH1mdW5jdGlvbiBvKGUpe3JldHVybiBjKGUpP3QucmVkdWNlKGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxmdW5jdGlvbihlLHQpe3JldHVybiBlfHxsKHQpOwp9LCExKSE9PSEwOiExfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIGgoZSl8fG8oZSl9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiByKGUpJiZpKGUsdCl9dmFyIGw9ZS5pc0NvbnRlbnRFZGl0YWJsZVRydWUsYz1lLmlzQ29udGVudEVkaXRhYmxlRmFsc2UsdT1lLmlzQnIsZD1lLmlzVGV4dCxmPWUubWF0Y2hOb2RlTmFtZXMoInNjcmlwdCBzdHlsZSB0ZXh0YXJlYSIpLGg9ZS5tYXRjaE5vZGVOYW1lcygiaW1nIGlucHV0IHRleHRhcmVhIGhyIGlmcmFtZSB2aWRlbyBhdWRpbyBvYmplY3QiKSxwPWUubWF0Y2hOb2RlTmFtZXMoInRhYmxlIiksbT1uLmlzQ2FyZXRDb250YWluZXI7cmV0dXJue2lzQ2FyZXRDYW5kaWRhdGU6cixpc0luRWRpdGFibGU6aSxpc0F0b21pYzphLGlzRWRpdGFibGVDYXJldENhbmRpZGF0ZTpzfX0pLHIoVixbXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7cmV0dXJuIGU/e2xlZnQ6dShlLmxlZnQpLHRvcDp1KGUudG9wKSxib3R0b206dShlLmJvdHRvbSkscmlnaHQ6dShlLnJpZ2h0KSx3aWR0aDp1KGUud2lkdGgpLGhlaWdodDp1KGUuaGVpZ2h0KX06e2xlZnQ6MCx0b3A6MCxib3R0b206MCxyaWdodDowLHdpZHRoOjAsaGVpZ2h0OjB9fWZ1bmN0aW9uIHQodCxuKXtyZXR1cm4gdD1lKHQpLG4/dC5yaWdodD10LmxlZnQ6KHQubGVmdD10LmxlZnQrdC53aWR0aCx0LnJpZ2h0PXQubGVmdCksdC53aWR0aD0wLHR9ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlLmxlZnQ9PT10LmxlZnQmJmUudG9wPT09dC50b3AmJmUuYm90dG9tPT09dC5ib3R0b20mJmUucmlnaHQ9PT10LnJpZ2h0fWZ1bmN0aW9uIHIoZSx0LG4pe3JldHVybiBlPj0wJiZlPD1NYXRoLm1pbih0LmhlaWdodCxuLmhlaWdodCkvMn1mdW5jdGlvbiBpKGUsdCl7cmV0dXJuIGUuYm90dG9tPHQudG9wPyEwOmUudG9wPnQuYm90dG9tPyExOnIodC50b3AtZS5ib3R0b20sZSx0KX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIGUudG9wPnQuYm90dG9tPyEwOmUuYm90dG9tPHQudG9wPyExOnIodC5ib3R0b20tZS50b3AsZSx0KX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGUubGVmdDx0LmxlZnR9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlLnJpZ2h0PnQucmlnaHR9ZnVuY3Rpb24gbChlLHQpe3JldHVybiBpKGUsdCk/LTE6byhlLHQpPzE6YShlLHQpPy0xOnMoZSx0KT8xOjB9ZnVuY3Rpb24gYyhlLHQsbil7cmV0dXJuIHQ+PWUubGVmdCYmdDw9ZS5yaWdodCYmbj49ZS50b3AmJm48PWUuYm90dG9tfXZhciB1PU1hdGgucm91bmQ7cmV0dXJue2Nsb25lOmUsY29sbGFwc2U6dCxpc0VxdWFsOm4saXNBYm92ZTppLGlzQmVsb3c6byxpc0xlZnQ6YSxpc1JpZ2h0OnMsY29tcGFyZTpsLGNvbnRhaW5zWFk6Y319KSxyKFUsW10sZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmZS5jaGFyQ29kZUF0KDApPj03NjgmJnQudGVzdChlKX12YXIgdD1uZXcgUmVnRXhwKCJbXHUwMzAwLVx1MDM2Zlx1MDQ4My1cdTA0ODdcdTA0ODgtXHUwNDg5XHUwNTkxLVx1MDViZFx1MDViZlx1MDVjMS1cdTA1YzJcdTA1YzQtXHUwNWM1XHUwNWM3XHUwNjEwLVx1MDYxYVx1MDY0Yi1cdTA2NWZcdTA2NzBcdTA2ZDYtXHUwNmRjXHUwNmRmLVx1MDZlNFx1MDZlNy1cdTA2ZThcdTA2ZWEtXHUwNmVkXHUwNzExXHUwNzMwLVx1MDc0YVx1MDdhNi1cdTA3YjBcdTA3ZWItXHUwN2YzXHUwODE2LVx1MDgxOVx1MDgxYi1cdTA4MjNcdTA4MjUtXHUwODI3XHUwODI5LVx1MDgyZFx1MDg1OS1cdTA4NWJcdTA4ZTMtXHUwOTAyXHUwOTNhXHUwOTNjXHUwOTQxLVx1MDk0OFx1MDk0ZFx1MDk1MS1cdTA5NTdcdTA5NjItXHUwOTYzXHUwOTgxXHUwOWJjXHUwOWJlXHUwOWMxLVx1MDljNFx1MDljZFx1MDlkN1x1MDllMi1cdTA5ZTNcdTBhMDEtXHUwYTAyXHUwYTNjXHUwYTQxLVx1MGE0Mlx1MGE0Ny1cdTBhNDhcdTBhNGItXHUwYTRkXHUwYTUxXHUwYTcwLVx1MGE3MVx1MGE3NVx1MGE4MS1cdTBhODJcdTBhYmNcdTBhYzEtXHUwYWM1XHUwYWM3LVx1MGFjOFx1MGFjZFx1MGFlMi1cdTBhZTNcdTBiMDFcdTBiM2NcdTBiM2VcdTBiM2ZcdTBiNDEtXHUwYjQ0XHUwYjRkXHUwYjU2XHUwYjU3XHUwYjYyLVx1MGI2M1x1MGI4Mlx1MGJiZVx1MGJjMFx1MGJjZFx1MGJkN1x1MGMwMFx1MGMzZS1cdTBjNDBcdTBjNDYtXHUwYzQ4XHUwYzRhLVx1MGM0ZFx1MGM1NS1cdTBjNTZcdTBjNjItXHUwYzYzXHUwYzgxXHUwY2JjXHUwY2JmXHUwY2MyXHUwY2M2XHUwY2NjLVx1MGNjZFx1MGNkNS1cdTBjZDZcdTBjZTItXHUwY2UzXHUwZDAxXHUwZDNlXHUwZDQxLVx1MGQ0NFx1MGQ0ZFx1MGQ1N1x1MGQ2Mi1cdTBkNjNcdTBkY2FcdTBkY2ZcdTBkZDItXHUwZGQ0XHUwZGQ2XHUwZGRmXHUwZTMxXHUwZTM0LVx1MGUzYVx1MGU0Ny1cdTBlNGVcdTBlYjFcdTBlYjQtXHUwZWI5XHUwZWJiLVx1MGViY1x1MGVjOC1cdTBlY2RcdTBmMTgtXHUwZjE5XHUwZjM1XHUwZjM3XHUwZjM5XHUwZjcxLVx1MGY3ZVx1MGY4MC1cdTBmODRcdTBmODYtXHUwZjg3XHUwZjhkLVx1MGY5N1x1MGY5OS1cdTBmYmNcdTBmYzZcdTEwMmQtXHUxMDMwXHUxMDMyLVx1MTAzN1x1MTAzOS1cdTEwM2FcdTEwM2QtXHUxMDNlXHUxMDU4LVx1MTA1OVx1MTA1ZS1cdTEwNjBcdTEwNzEtXHUxMDc0XHUxMDgyXHUxMDg1LVx1MTA4Nlx1MTA4ZFx1MTA5ZFx1MTM1ZC1cdTEzNWZcdTE3MTItXHUxNzE0XHUxNzMyLVx1MTczNFx1MTc1Mi1cdTE3NTNcdTE3NzItXHUxNzczXHUxN2I0LVx1MTdiNVx1MTdiNy1cdTE3YmRcdTE3YzZcdTE3YzktXHUxN2QzXHUxN2RkXHUxODBiLVx1MTgwZFx1MThhOVx1MTkyMC1cdTE5MjJcdTE5MjctXHUxOTI4XHUxOTMyXHUxOTM5LVx1MTkzYlx1MWExNy1cdTFhMThcdTFhMWJcdTFhNTZcdTFhNTgtXHUxYTVlXHUxYTYwXHUxYTYyXHUxYTY1LVx1MWE2Y1x1MWE3My1cdTFhN2NcdTFhN2ZcdTFhYjAtXHUxYWJkXHUxYWJlXHUxYjAwLVx1MWIwM1x1MWIzNFx1MWIzNi1cdTFiM2FcdTFiM2NcdTFiNDJcdTFiNmItXHUxYjczXHUxYjgwLVx1MWI4MVx1MWJhMi1cdTFiYTVcdTFiYTgtXHUxYmE5XHUxYmFiLVx1MWJhZFx1MWJlNlx1MWJlOC1cdTFiZTlcdTFiZWRcdTFiZWYtXHUxYmYxXHUxYzJjLVx1MWMzM1x1MWMzNi1cdTFjMzdcdTFjZDAtXHUxY2QyXHUxY2Q0LVx1MWNlMFx1MWNlMi1cdTFjZThcdTFjZWRcdTFjZjRcdTFjZjgtXHUxY2Y5XHUxZGMwLVx1MWRmNVx1MWRmYy1cdTFkZmZcdTIwMGMtXHUyMDBkXHUyMGQwLVx1MjBkY1x1MjBkZC1cdTIwZTBcdTIwZTFcdTIwZTItXHUyMGU0XHUyMGU1LVx1MjBmMFx1MmNlZi1cdTJjZjFcdTJkN2ZcdTJkZTAtXHUyZGZmXHUzMDJhLVx1MzAyZFx1MzAyZS1cdTMwMmZcdTMwOTktXHUzMDlhXHVhNjZmXHVhNjcwLVx1YTY3Mlx1YTY3NC1cdWE2N2RcdWE2OWUtXHVhNjlmXHVhNmYwLVx1YTZmMVx1YTgwMlx1YTgwNlx1YTgwYlx1YTgyNS1cdWE4MjZcdWE4YzRcdWE4ZTAtXHVhOGYxXHVhOTI2LVx1YTkyZFx1YTk0Ny1cdWE5NTFcdWE5ODAtXHVhOTgyXHVhOWIzXHVhOWI2LVx1YTliOVx1YTliY1x1YTllNVx1YWEyOS1cdWFhMmVcdWFhMzEtXHVhYTMyXHVhYTM1LVx1YWEzNlx1YWE0M1x1YWE0Y1x1YWE3Y1x1YWFiMFx1YWFiMi1cdWFhYjRcdWFhYjctXHVhYWI4XHVhYWJlLVx1YWFiZlx1YWFjMVx1YWFlYy1cdWFhZWRcdWFhZjZcdWFiZTVcdWFiZThcdWFiZWRcdWZiMWVcdWZlMDAtXHVmZTBmXHVmZTIwLVx1ZmUyZlx1ZmY5ZS1cdWZmOWZdIik7cmV0dXJue2lzRXh0ZW5kaW5nQ2hhcjplfX0pLHIoJCxbeixfLHcsVCxXLFYsVV0sZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZSYmL1tcclxuXHQgXS8udGVzdChlKX1mdW5jdGlvbiBsKGUpe3ZhciB0PWUuc3RhcnRDb250YWluZXIsbj1lLnN0YXJ0T2Zmc2V0LHI7cmV0dXJuISEocyhlLnRvU3RyaW5nKCkpJiZnKHQucGFyZW50Tm9kZSkmJihyPXQuZGF0YSxzKHJbbi0xXSl8fHMocltuKzFdKSkpfWZ1bmN0aW9uIGMoZSl7ZnVuY3Rpb24gdChlKXt2YXIgdD1lLm93bmVyRG9jdW1lbnQsbj10LmNyZWF0ZVJhbmdlKCkscj10LmNyZWF0ZVRleHROb2RlKCJceGEwIiksaT1lLnBhcmVudE5vZGUsYTtyZXR1cm4gaS5pbnNlcnRCZWZvcmUocixlKSxuLnNldFN0YXJ0KHIsMCksbi5zZXRFbmQociwxKSxhPW8uY2xvbmUobi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksaS5yZW1vdmVDaGlsZChyKSxhfWZ1bmN0aW9uIG4oZSl7dmFyIG4scjtyZXR1cm4gcj1lLmdldENsaWVudFJlY3RzKCksbj1yLmxlbmd0aD4wP28uY2xvbmUoclswXSk6by5jbG9uZShlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSx5KGUpJiYwPT09bi5sZWZ0P3QoZSk6bn1mdW5jdGlvbiByKGUsdCl7cmV0dXJuIGU9by5jb2xsYXBzZShlLHQpLGUud2lkdGg9MSxlLnJpZ2h0PWUubGVmdCsxLGV9ZnVuY3Rpb24gaShlKXswIT09ZS5oZWlnaHQmJihjLmxlbmd0aD4wJiZvLmlzRXF1YWwoZSxjW2MubGVuZ3RoLTFdKXx8Yy5wdXNoKGUpKX1mdW5jdGlvbiBzKGUsdCl7dmFyIG89ZS5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aWYodDxlLmRhdGEubGVuZ3RoKXtpZihhLmlzRXh0ZW5kaW5nQ2hhcihlLmRhdGFbdF0pKXJldHVybiBjO2lmKGEuaXNFeHRlbmRpbmdDaGFyKGUuZGF0YVt0LTFdKSYmKG8uc2V0U3RhcnQoZSx0KSxvLnNldEVuZChlLHQrMSksIWwobykpKXJldHVybiBpKHIobihvKSwhMSkpLGN9dD4wJiYoby5zZXRTdGFydChlLHQtMSksby5zZXRFbmQoZSx0KSxsKG8pfHxpKHIobihvKSwhMSkpKSx0PGUuZGF0YS5sZW5ndGgmJihvLnNldFN0YXJ0KGUsdCksby5zZXRFbmQoZSx0KzEpLGwobyl8fGkocihuKG8pLCEwKSkpfXZhciBjPVtdLHUsZjtpZih2KGUuY29udGFpbmVyKCkpKXJldHVybiBzKGUuY29udGFpbmVyKCksZS5vZmZzZXQoKSksYztpZihkKGUuY29udGFpbmVyKCkpKWlmKGUuaXNBdEVuZCgpKWY9QyhlLmNvbnRhaW5lcigpLGUub2Zmc2V0KCkpLHYoZikmJnMoZixmLmRhdGEubGVuZ3RoKSxtKGYpJiYheShmKSYmaShyKG4oZiksITEpKTtlbHNle2lmKGY9QyhlLmNvbnRhaW5lcigpLGUub2Zmc2V0KCkpLHYoZikmJnMoZiwwKSxtKGYpJiZlLmlzQXRFbmQoKSlyZXR1cm4gaShyKG4oZiksITEpKSxjO3U9QyhlLmNvbnRhaW5lcigpLGUub2Zmc2V0KCktMSksbSh1KSYmIXkodSkmJihoKHUpfHxoKGYpfHwhbShmKSkmJmkocihuKHUpLCExKSksbShmKSYmaShyKG4oZiksITApKX1yZXR1cm4gY31mdW5jdGlvbiB1KHQsbixyKXtmdW5jdGlvbiBpKCl7cmV0dXJuIHYodCk/MD09PW46MD09PW59ZnVuY3Rpb24gbygpe3JldHVybiB2KHQpP24+PXQuZGF0YS5sZW5ndGg6bj49dC5jaGlsZE5vZGVzLmxlbmd0aH1mdW5jdGlvbiBhKCl7dmFyIGU7cmV0dXJuIGU9dC5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksZS5zZXRTdGFydCh0LG4pLGUuc2V0RW5kKHQsbiksZX1mdW5jdGlvbiBzKCl7cmV0dXJuIHJ8fChyPWMobmV3IHUodCxuKSkpLHJ9ZnVuY3Rpb24gbCgpe3JldHVybiBzKCkubGVuZ3RoPjB9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZSYmdD09PWUuY29udGFpbmVyKCkmJm49PT1lLm9mZnNldCgpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIEModCxlP24tMTpuKX1yZXR1cm57Y29udGFpbmVyOmUuY29uc3RhbnQodCksb2Zmc2V0OmUuY29uc3RhbnQobiksdG9SYW5nZTphLGdldENsaWVudFJlY3RzOnMsaXNWaXNpYmxlOmwsaXNBdFN0YXJ0OmksaXNBdEVuZDpvLGlzRXF1YWw6ZCxnZXROb2RlOmZ9fXZhciBkPXQuaXNFbGVtZW50LGY9aS5pc0NhcmV0Q2FuZGlkYXRlLGg9dC5tYXRjaFN0eWxlVmFsdWVzKCJkaXNwbGF5IiwiYmxvY2sgdGFibGUiKSxwPXQubWF0Y2hTdHlsZVZhbHVlcygiZmxvYXQiLCJsZWZ0IHJpZ2h0IiksbT1lLmFuZChkLGYsZS5uZWdhdGUocCkpLGc9ZS5uZWdhdGUodC5tYXRjaFN0eWxlVmFsdWVzKCJ3aGl0ZS1zcGFjZSIsInByZSBwcmUtbGluZSBwcmUtd3JhcCIpKSx2PXQuaXNUZXh0LHk9dC5pc0JyLGI9bi5ub2RlSW5kZXgsQz1yLmdldE5vZGU7cmV0dXJuIHUuZnJvbVJhbmdlU3RhcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB1KGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCl9LHUuZnJvbVJhbmdlRW5kPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdShlLmVuZENvbnRhaW5lcixlLmVuZE9mZnNldCl9LHUuYWZ0ZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB1KGUucGFyZW50Tm9kZSxiKGUpKzEpfSx1LmJlZm9yZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHUoZS5wYXJlbnROb2RlLGIoZSkpfSx1fSkscihxLFtfLHcseixwLCRdLGZ1bmN0aW9uKGUsdCxuLHIsaSl7ZnVuY3Rpb24gbyhlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHYodCk/byh0KTp0fWZ1bmN0aW9uIGEoZSl7cmV0dXJuIGU/ci5yZWR1Y2UoZS5jaGlsZE5vZGVzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHYodCkmJiJCUiIhPXQubm9kZU5hbWU/ZT1lLmNvbmNhdChhKHQpKTplLnB1c2godCksZX0sW10pOltdfWZ1bmN0aW9uIHMoZSx0KXtmb3IoOyhlPWUucHJldmlvdXNTaWJsaW5nKSYmZyhlKTspdCs9ZS5kYXRhLmxlbmd0aDtyZXR1cm4gdH1mdW5jdGlvbiBsKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZT09PXR9fWZ1bmN0aW9uIGModCl7dmFyIG4saSxzO3JldHVybiBuPWEobyh0KSksaT1yLmZpbmRJbmRleChuLGwodCksdCksbj1uLnNsaWNlKDAsaSsxKSxzPXIucmVkdWNlKG4sZnVuY3Rpb24oZSx0LHIpe3JldHVybiBnKHQpJiZnKG5bci0xXSkmJmUrKyxlfSwwKSxuPXIuZmlsdGVyKG4sZS5tYXRjaE5vZGVOYW1lcyh0Lm5vZGVOYW1lKSksaT1yLmZpbmRJbmRleChuLGwodCksdCksaS1zfWZ1bmN0aW9uIHUoZSl7dmFyIHQ7cmV0dXJuIHQ9ZyhlKT8idGV4dCgpIjplLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksdCsiWyIrYyhlKSsiXSJ9ZnVuY3Rpb24gZChlLHQsbil7dmFyIHI9W107Zm9yKHQ9dC5wYXJlbnROb2RlO3QhPWUmJighbnx8IW4odCkpO3Q9dC5wYXJlbnROb2RlKXIucHVzaCh0KTtyZXR1cm4gcn1mdW5jdGlvbiBmKHQsaSl7dmFyIG8sYSxsPVtdLGMsZixoO3JldHVybiBvPWkuY29udGFpbmVyKCksYT1pLm9mZnNldCgpLGcobyk/Yz1zKG8sYSk6KGY9by5jaGlsZE5vZGVzLGE+PWYubGVuZ3RoPyhjPSJhZnRlciIsYT1mLmxlbmd0aC0xKTpjPSJiZWZvcmUiLG89ZlthXSksbC5wdXNoKHUobykpLGg9ZCh0LG8pLGg9ci5maWx0ZXIoaCxuLm5lZ2F0ZShlLmlzQm9ndXMpKSxsPWwuY29uY2F0KHIubWFwKGgsZnVuY3Rpb24oZSl7cmV0dXJuIHUoZSl9KSksbC5yZXZlcnNlKCkuam9pbigiLyIpKyIsIitjfWZ1bmN0aW9uIGgodCxuLGkpe3ZhciBvPWEodCk7cmV0dXJuIG89ci5maWx0ZXIobyxmdW5jdGlvbihlLHQpe3JldHVybiFnKGUpfHwhZyhvW3QtMV0pfSksbz1yLmZpbHRlcihvLGUubWF0Y2hOb2RlTmFtZXMobikpLG9baV19ZnVuY3Rpb24gcChlLHQpe2Zvcih2YXIgbj1lLHI9MCxvO2cobik7KXtpZihvPW4uZGF0YS5sZW5ndGgsdD49ciYmcitvPj10KXtlPW4sdC09cjticmVha31pZighZyhuLm5leHRTaWJsaW5nKSl7ZT1uLHQ9bzticmVha31yKz1vLG49bi5uZXh0U2libGluZ31yZXR1cm4gdD5lLmRhdGEubGVuZ3RoJiYodD1lLmRhdGEubGVuZ3RoKSxuZXcgaShlLHQpfWZ1bmN0aW9uIG0oZSx0KXt2YXIgbixvLGE7cmV0dXJuIHQ/KG49dC5zcGxpdCgiLCIpLHQ9blswXS5zcGxpdCgiLyIpLGE9bi5sZW5ndGg+MT9uWzFdOiJiZWZvcmUiLG89ci5yZWR1Y2UodCxmdW5jdGlvbihlLHQpe3JldHVybih0PS8oW1x3XC1cKFwpXSspXFsoWzAtOV0rKVxdLy5leGVjKHQpKT8oInRleHQoKSI9PT10WzFdJiYodFsxXT0iI3RleHQiKSxoKGUsdFsxXSxwYXJzZUludCh0WzJdLDEwKSkpOm51bGx9LGUpLG8/ZyhvKT9wKG8scGFyc2VJbnQoYSwxMCkpOihhPSJhZnRlciI9PT1hP3kobykrMTp5KG8pLG5ldyBpKG8ucGFyZW50Tm9kZSxhKSk6bnVsbCk6bnVsbH12YXIgZz1lLmlzVGV4dCx2PWUuaXNCb2d1cyx5PXQubm9kZUluZGV4O3JldHVybntjcmVhdGU6ZixyZXNvbHZlOm19fSkscihqLFtoLG0sayxxLCQsX10sZnVuY3Rpb24oZSx0LG4scixpLG8pe2Z1bmN0aW9uIGEoYSl7dmFyIGw9YS5kb207dGhpcy5nZXRCb29rbWFyaz1mdW5jdGlvbihlLGMpe2Z1bmN0aW9uIHUoZSxuKXt2YXIgcj0wO3JldHVybiB0LmVhY2gobC5zZWxlY3QoZSksZnVuY3Rpb24oZSl7cmV0dXJuImFsbCIhPT1lLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtYm9ndXMiKT9lPT1uPyExOnZvaWQgcisrOnZvaWQgMH0pLHJ9ZnVuY3Rpb24gZChlKXtmdW5jdGlvbiB0KHQpe3ZhciBuLHIsaSxvPXQ/InN0YXJ0IjoiZW5kIjtuPWVbbysiQ29udGFpbmVyIl0scj1lW28rIk9mZnNldCJdLDE9PW4ubm9kZVR5cGUmJiJUUiI9PW4ubm9kZU5hbWUmJihpPW4uY2hpbGROb2RlcyxuPWlbTWF0aC5taW4odD9yOnItMSxpLmxlbmd0aC0xKV0sbiYmKHI9dD8wOm4uY2hpbGROb2Rlcy5sZW5ndGgsZVsic2V0IisodD8iU3RhcnQiOiJFbmQiKV0obixyKSkpfXJldHVybiB0KCEwKSx0KCksZX1mdW5jdGlvbiBmKGUpe2Z1bmN0aW9uIHQoZSx0KXt2YXIgcj1lW3Q/InN0YXJ0Q29udGFpbmVyIjoiZW5kQ29udGFpbmVyIl0saT1lW3Q/InN0YXJ0T2Zmc2V0IjoiZW5kT2Zmc2V0Il0sbz1bXSxhLHMsdT0wO2lmKDM9PXIubm9kZVR5cGUpe2lmKGMpZm9yKGE9ci5wcmV2aW91c1NpYmxpbmc7YSYmMz09YS5ub2RlVHlwZTthPWEucHJldmlvdXNTaWJsaW5nKWkrPWEubm9kZVZhbHVlLmxlbmd0aDtvLnB1c2goaSl9ZWxzZSBzPXIuY2hpbGROb2RlcyxpPj1zLmxlbmd0aCYmcy5sZW5ndGgmJih1PTEsaT1NYXRoLm1heCgwLHMubGVuZ3RoLTEpKSxvLnB1c2gobC5ub2RlSW5kZXgoc1tpXSxjKSt1KTtmb3IoO3ImJnIhPW47cj1yLnBhcmVudE5vZGUpby5wdXNoKGwubm9kZUluZGV4KHIsYykpO3JldHVybiBvfXZhciBuPWwuZ2V0Um9vdCgpLHI9e307cmV0dXJuIHIuc3RhcnQ9dChlLCEwKSxhLmlzQ29sbGFwc2VkKCl8fChyLmVuZD10KGUpKSxyfWZ1bmN0aW9uIGgoZSl7ZnVuY3Rpb24gdChlKXt2YXIgdDtpZihuLmlzQ2FyZXRDb250YWluZXIoZSkpe2lmKG8uaXNUZXh0KGUpJiZuLmlzQ2FyZXRDb250YWluZXJCbG9jayhlKSYmKGU9ZS5wYXJlbnROb2RlKSx0PWUucHJldmlvdXNTaWJsaW5nLHModCkpcmV0dXJuIHQ7aWYodD1lLm5leHRTaWJsaW5nLHModCkpcmV0dXJuIHR9fXJldHVybiB0KGUuc3RhcnRDb250YWluZXIpfHx0KGUuZW5kQ29udGFpbmVyKX12YXIgcCxtLGcsdix5LGIsQz0iJiN4RkVGRjsiLHg7aWYoMj09ZSlyZXR1cm4gYj1hLmdldE5vZGUoKSx5PWI/Yi5ub2RlTmFtZTpudWxsLHA9YS5nZXRSbmcoKSxzKGIpfHwiSU1HIj09eT97bmFtZTp5LGluZGV4OnUoeSxiKX06YS50cmlkZW50U2VsP2EudHJpZGVudFNlbC5nZXRCb29rbWFyayhlKTooYj1oKHApLGI/KHk9Yi50YWdOYW1lLHtuYW1lOnksaW5kZXg6dSh5LGIpfSk6ZihwKSk7aWYoMz09ZSlyZXR1cm4gcD1hLmdldFJuZygpLHtzdGFydDpyLmNyZWF0ZShsLmdldFJvb3QoKSxpLmZyb21SYW5nZVN0YXJ0KHApKSxlbmQ6ci5jcmVhdGUobC5nZXRSb290KCksaS5mcm9tUmFuZ2VFbmQocCkpfTtpZihlKXJldHVybntybmc6YS5nZXRSbmcoKX07aWYocD1hLmdldFJuZygpLGc9bC51bmlxdWVJZCgpLHY9YS5pc0NvbGxhcHNlZCgpLHg9Im92ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDowcHgiLHAuZHVwbGljYXRlfHxwLml0ZW0pe2lmKHAuaXRlbSlyZXR1cm4gYj1wLml0ZW0oMCkseT1iLm5vZGVOYW1lLHtuYW1lOnksaW5kZXg6dSh5LGIpfTttPXAuZHVwbGljYXRlKCk7dHJ5e3AuY29sbGFwc2UoKSxwLnBhc3RlSFRNTCgnPHNwYW4gZGF0YS1tY2UtdHlwZT0iYm9va21hcmsiIGlkPSInK2crJ19zdGFydCIgc3R5bGU9IicreCsnIj4nK0MrIjwvc3Bhbj4iKSx2fHwobS5jb2xsYXBzZSghMSkscC5tb3ZlVG9FbGVtZW50VGV4dChtLnBhcmVudEVsZW1lbnQoKSksMD09PXAuY29tcGFyZUVuZFBvaW50cygiU3RhcnRUb0VuZCIsbSkmJm0ubW92ZSgiY2hhcmFjdGVyIiwtMSksbS5wYXN0ZUhUTUwoJzxzcGFuIGRhdGEtbWNlLXR5cGU9ImJvb2ttYXJrIiBpZD0iJytnKydfZW5kIiBzdHlsZT0iJyt4KyciPicrQysiPC9zcGFuPiIpKX1jYXRjaCh3KXtyZXR1cm4gbnVsbH19ZWxzZXtpZihiPWEuZ2V0Tm9kZSgpLHk9Yi5ub2RlTmFtZSwiSU1HIj09eSlyZXR1cm57bmFtZTp5LGluZGV4OnUoeSxiKX07bT1kKHAuY2xvbmVSYW5nZSgpKSx2fHwobS5jb2xsYXBzZSghMSksbS5pbnNlcnROb2RlKGwuY3JlYXRlKCJzcGFuIix7ImRhdGEtbWNlLXR5cGUiOiJib29rbWFyayIsaWQ6ZysiX2VuZCIsc3R5bGU6eH0sQykpKSxwPWQocCkscC5jb2xsYXBzZSghMCkscC5pbnNlcnROb2RlKGwuY3JlYXRlKCJzcGFuIix7ImRhdGEtbWNlLXR5cGUiOiJib29rbWFyayIsaWQ6ZysiX3N0YXJ0IixzdHlsZTp4fSxDKSl9cmV0dXJuIGEubW92ZVRvQm9va21hcmsoe2lkOmcsa2VlcDoxfSkse2lkOmd9fSx0aGlzLm1vdmVUb0Jvb2ttYXJrPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGkoZSl7dmFyIHQ9bltlPyJzdGFydCI6ImVuZCJdLHIsaSxvLGE7aWYodCl7Zm9yKG89dFswXSxpPWQscj10Lmxlbmd0aC0xO3I+PTE7ci0tKXtpZihhPWkuY2hpbGROb2Rlcyx0W3JdPmEubGVuZ3RoLTEpcmV0dXJuO2k9YVt0W3JdXX0zPT09aS5ub2RlVHlwZSYmKG89TWF0aC5taW4odFswXSxpLm5vZGVWYWx1ZS5sZW5ndGgpKSwxPT09aS5ub2RlVHlwZSYmKG89TWF0aC5taW4odFswXSxpLmNoaWxkTm9kZXMubGVuZ3RoKSksZT91LnNldFN0YXJ0KGksbyk6dS5zZXRFbmQoaSxvKX1yZXR1cm4hMH1mdW5jdGlvbiBvKHIpe3ZhciBpPWwuZ2V0KG4uaWQrIl8iK3IpLG8sYSxzLGMsdT1uLmtlZXA7aWYoaSYmKG89aS5wYXJlbnROb2RlLCJzdGFydCI9PXI/KHU/KG89aS5maXJzdENoaWxkLGE9MSk6YT1sLm5vZGVJbmRleChpKSxmPWg9byxwPW09YSk6KHU/KG89aS5maXJzdENoaWxkLGE9MSk6YT1sLm5vZGVJbmRleChpKSxoPW8sbT1hKSwhdSkpe2ZvcihjPWkucHJldmlvdXNTaWJsaW5nLHM9aS5uZXh0U2libGluZyx0LmVhY2godC5ncmVwKGkuY2hpbGROb2RlcyksZnVuY3Rpb24oZSl7Mz09ZS5ub2RlVHlwZSYmKGUubm9kZVZhbHVlPWUubm9kZVZhbHVlLnJlcGxhY2UoL1x1RkVGRi9nLCIiKSl9KTtpPWwuZ2V0KG4uaWQrIl8iK3IpOylsLnJlbW92ZShpLDEpO2MmJnMmJmMubm9kZVR5cGU9PXMubm9kZVR5cGUmJjM9PWMubm9kZVR5cGUmJiFlLm9wZXJhJiYoYT1jLm5vZGVWYWx1ZS5sZW5ndGgsYy5hcHBlbmREYXRhKHMubm9kZVZhbHVlKSxsLnJlbW92ZShzKSwic3RhcnQiPT1yPyhmPWg9YyxwPW09YSk6KGg9YyxtPWEpKX19ZnVuY3Rpb24gcyh0KXtyZXR1cm4hbC5pc0Jsb2NrKHQpfHx0LmlubmVySFRNTHx8ZS5pZXx8KHQuaW5uZXJIVE1MPSc8YnIgZGF0YS1tY2UtYm9ndXM9IjEiIC8+JyksdH1mdW5jdGlvbiBjKCl7dmFyIGUsdDtyZXR1cm4gZT1sLmNyZWF0ZVJuZygpLHQ9ci5yZXNvbHZlKGwuZ2V0Um9vdCgpLG4uc3RhcnQpLGUuc2V0U3RhcnQodC5jb250YWluZXIoKSx0Lm9mZnNldCgpKSx0PXIucmVzb2x2ZShsLmdldFJvb3QoKSxuLmVuZCksZS5zZXRFbmQodC5jb250YWluZXIoKSx0Lm9mZnNldCgpKSxlfXZhciB1LGQsZixoLHAsbTtpZihuKWlmKHQuaXNBcnJheShuLnN0YXJ0KSl7aWYodT1sLmNyZWF0ZVJuZygpLGQ9bC5nZXRSb290KCksYS50cmlkZW50U2VsKXJldHVybiBhLnRyaWRlbnRTZWwubW92ZVRvQm9va21hcmsobik7aSghMCkmJmkoKSYmYS5zZXRSbmcodSl9ZWxzZSJzdHJpbmciPT10eXBlb2Ygbi5zdGFydD9hLnNldFJuZyhjKG4pKTpuLmlkPyhvKCJzdGFydCIpLG8oImVuZCIpLGYmJih1PWwuY3JlYXRlUm5nKCksdS5zZXRTdGFydChzKGYpLHApLHUuc2V0RW5kKHMoaCksbSksYS5zZXRSbmcodSkpKTpuLm5hbWU/YS5zZWxlY3QobC5zZWxlY3Qobi5uYW1lKVtuLmluZGV4XSk6bi5ybmcmJmEuc2V0Um5nKG4ucm5nKX19dmFyIHM9by5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlO3JldHVybiBhLmlzQm9va21hcmtOb2RlPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYiU1BBTiI9PT1lLnRhZ05hbWUmJiJib29rbWFyayI9PT1lLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtdHlwZSIpfSxhfSkscihZLFt5LE8sRixULGosXyxoLG1dLGZ1bmN0aW9uKGUsbixyLGksbyxhLHMsbCl7ZnVuY3Rpb24gYyhlLHQsaSxhKXt2YXIgcz10aGlzO3MuZG9tPWUscy53aW49dCxzLnNlcmlhbGl6ZXI9aSxzLmVkaXRvcj1hLHMuYm9va21hcmtNYW5hZ2VyPW5ldyBvKHMpLHMuY29udHJvbFNlbGVjdGlvbj1uZXcgcihzLGEpLHMud2luLmdldFNlbGVjdGlvbnx8KHMudHJpZGVudFNlbD1uZXcgbihzKSl9dmFyIHU9bC5lYWNoLGQ9bC50cmltLGY9cy5pZTtyZXR1cm4gYy5wcm90b3R5cGU9e3NldEN1cnNvckxvY2F0aW9uOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcyxyPW4uZG9tLmNyZWF0ZVJuZygpO2U/KHIuc2V0U3RhcnQoZSx0KSxyLnNldEVuZChlLHQpLG4uc2V0Um5nKHIpLG4uY29sbGFwc2UoITEpKToobi5fbW92ZUVuZFBvaW50KHIsbi5lZGl0b3IuZ2V0Qm9keSgpLCEwKSxuLnNldFJuZyhyKSl9LGdldENvbnRlbnQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcyxyPW4uZ2V0Um5nKCksaT1uLmRvbS5jcmVhdGUoImJvZHkiKSxvPW4uZ2V0U2VsKCksYSxzLGw7cmV0dXJuIGU9ZXx8e30sYT1zPSIiLGUuZ2V0PSEwLGUuZm9ybWF0PWUuZm9ybWF0fHwiaHRtbCIsZS5zZWxlY3Rpb249ITAsbi5lZGl0b3IuZmlyZSgiQmVmb3JlR2V0Q29udGVudCIsZSksInRleHQiPT1lLmZvcm1hdD9uLmlzQ29sbGFwc2VkKCk/IiI6ci50ZXh0fHwoby50b1N0cmluZz9vLnRvU3RyaW5nKCk6IiIpOihyLmNsb25lQ29udGVudHM/KGw9ci5jbG9uZUNvbnRlbnRzKCksbCYmaS5hcHBlbmRDaGlsZChsKSk6ci5pdGVtIT09dHx8ci5odG1sVGV4dCE9PXQ/KGkuaW5uZXJIVE1MPSI8YnI+Iisoci5pdGVtP3IuaXRlbSgwKS5vdXRlckhUTUw6ci5odG1sVGV4dCksaS5yZW1vdmVDaGlsZChpLmZpcnN0Q2hpbGQpKTppLmlubmVySFRNTD1yLnRvU3RyaW5nKCksL15ccy8udGVzdChpLmlubmVySFRNTCkmJihhPSIgIiksL1xzKyQvLnRlc3QoaS5pbm5lckhUTUwpJiYocz0iICIpLGUuZ2V0SW5uZXI9ITAsZS5jb250ZW50PW4uaXNDb2xsYXBzZWQoKT8iIjphK24uc2VyaWFsaXplci5zZXJpYWxpemUoaSxlKStzLG4uZWRpdG9yLmZpcmUoIkdldENvbnRlbnQiLGUpLGUuY29udGVudCl9LHNldENvbnRlbnQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLHI9bi5nZXRSbmcoKSxpLG89bi53aW4uZG9jdW1lbnQsYSxzO2lmKHQ9dHx8e2Zvcm1hdDoiaHRtbCJ9LHQuc2V0PSEwLHQuc2VsZWN0aW9uPSEwLHQuY29udGVudD1lLHQubm9fZXZlbnRzfHxuLmVkaXRvci5maXJlKCJCZWZvcmVTZXRDb250ZW50Iix0KSxlPXQuY29udGVudCxyLmluc2VydE5vZGUpe2UrPSc8c3BhbiBpZD0iX19jYXJldCI+Xzwvc3Bhbj4nLHIuc3RhcnRDb250YWluZXI9PW8mJnIuZW5kQ29udGFpbmVyPT1vP28uYm9keS5pbm5lckhUTUw9ZTooci5kZWxldGVDb250ZW50cygpLDA9PT1vLmJvZHkuY2hpbGROb2Rlcy5sZW5ndGg/by5ib2R5LmlubmVySFRNTD1lOnIuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50P3IuaW5zZXJ0Tm9kZShyLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChlKSk6KGE9by5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkscz1vLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGEuYXBwZW5kQ2hpbGQocykscy5vdXRlckhUTUw9ZSxyLmluc2VydE5vZGUoYSkpKSxpPW4uZG9tLmdldCgiX19jYXJldCIpLHI9by5jcmVhdGVSYW5nZSgpLHIuc2V0U3RhcnRCZWZvcmUoaSksci5zZXRFbmRCZWZvcmUoaSksbi5zZXRSbmcociksbi5kb20ucmVtb3ZlKCJfX2NhcmV0Iik7dHJ5e24uc2V0Um5nKHIpfWNhdGNoKGwpe319ZWxzZSByLml0ZW0mJihvLmV4ZWNDb21tYW5kKCJEZWxldGUiLCExLG51bGwpLHI9bi5nZXRSbmcoKSksL15ccysvLnRlc3QoZSk/KHIucGFzdGVIVE1MKCc8c3BhbiBpZD0iX19tY2VfdG1wIj5fPC9zcGFuPicrZSksbi5kb20ucmVtb3ZlKCJfX21jZV90bXAiKSk6ci5wYXN0ZUhUTUwoZSk7dC5ub19ldmVudHN8fG4uZWRpdG9yLmZpcmUoIlNldENvbnRlbnQiLHQpfSxnZXRTdGFydDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dC5nZXRSbmcoKSxyLGksbyxhO2lmKG4uZHVwbGljYXRlfHxuLml0ZW0pe2lmKG4uaXRlbSlyZXR1cm4gbi5pdGVtKDApO2ZvcihvPW4uZHVwbGljYXRlKCksby5jb2xsYXBzZSgxKSxyPW8ucGFyZW50RWxlbWVudCgpLHIub3duZXJEb2N1bWVudCE9PXQuZG9tLmRvYyYmKHI9dC5kb20uZ2V0Um9vdCgpKSxpPWE9bi5wYXJlbnRFbGVtZW50KCk7YT1hLnBhcmVudE5vZGU7KWlmKGE9PXIpe3I9aTticmVha31yZXR1cm4gcn1yZXR1cm4gcj1uLnN0YXJ0Q29udGFpbmVyLDE9PXIubm9kZVR5cGUmJnIuaGFzQ2hpbGROb2RlcygpJiYoZSYmbi5jb2xsYXBzZWR8fChyPXIuY2hpbGROb2Rlc1tNYXRoLm1pbihyLmNoaWxkTm9kZXMubGVuZ3RoLTEsbi5zdGFydE9mZnNldCldKSksciYmMz09ci5ub2RlVHlwZT9yLnBhcmVudE5vZGU6cn0sZ2V0RW5kOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10LmdldFJuZygpLHIsaTtyZXR1cm4gbi5kdXBsaWNhdGV8fG4uaXRlbT9uLml0ZW0/bi5pdGVtKDApOihuPW4uZHVwbGljYXRlKCksbi5jb2xsYXBzZSgwKSxyPW4ucGFyZW50RWxlbWVudCgpLHIub3duZXJEb2N1bWVudCE9PXQuZG9tLmRvYyYmKHI9dC5kb20uZ2V0Um9vdCgpKSxyJiYiQk9EWSI9PXIubm9kZU5hbWU/ci5sYXN0Q2hpbGR8fHI6cik6KHI9bi5lbmRDb250YWluZXIsaT1uLmVuZE9mZnNldCwxPT1yLm5vZGVUeXBlJiZyLmhhc0NoaWxkTm9kZXMoKSYmKGUmJm4uY29sbGFwc2VkfHwocj1yLmNoaWxkTm9kZXNbaT4wP2ktMTppXSkpLHImJjM9PXIubm9kZVR5cGU/ci5wYXJlbnROb2RlOnIpfSxnZXRCb29rbWFyazpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmJvb2ttYXJrTWFuYWdlci5nZXRCb29rbWFyayhlLHQpfSxtb3ZlVG9Cb29rbWFyazpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ib29rbWFya01hbmFnZXIubW92ZVRvQm9va21hcmsoZSl9LHNlbGVjdDpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscj1uLmRvbSxpPXIuY3JlYXRlUm5nKCksbztpZihuLmxhc3RGb2N1c0Jvb2ttYXJrPW51bGwsZSl7aWYoIXQmJm4uY29udHJvbFNlbGVjdGlvbi5jb250cm9sU2VsZWN0KGUpKXJldHVybjtvPXIubm9kZUluZGV4KGUpLGkuc2V0U3RhcnQoZS5wYXJlbnROb2RlLG8pLGkuc2V0RW5kKGUucGFyZW50Tm9kZSxvKzEpLHQmJihuLl9tb3ZlRW5kUG9pbnQoaSxlLCEwKSxuLl9tb3ZlRW5kUG9pbnQoaSxlKSksbi5zZXRSbmcoaSl9cmV0dXJuIGV9LGlzQ29sbGFwc2VkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuZ2V0Um5nKCksbj1lLmdldFNlbCgpO3JldHVybiF0fHx0Lml0ZW0/ITE6dC5jb21wYXJlRW5kUG9pbnRzPzA9PT10LmNvbXBhcmVFbmRQb2ludHMoIlN0YXJ0VG9FbmQiLHQpOiFufHx0LmNvbGxhcHNlZH0sY29sbGFwc2U6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXQuZ2V0Um5nKCkscjtuLml0ZW0mJihyPW4uaXRlbSgwKSxuPXQud2luLmRvY3VtZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdlKCksbi5tb3ZlVG9FbGVtZW50VGV4dChyKSksbi5jb2xsYXBzZSghIWUpLHQuc2V0Um5nKG4pfSxnZXRTZWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLndpbjtyZXR1cm4gZS5nZXRTZWxlY3Rpb24/ZS5nZXRTZWxlY3Rpb24oKTplLmRvY3VtZW50LnNlbGVjdGlvbn0sZ2V0Um5nOmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0LG4pe3RyeXtyZXR1cm4gdC5jb21wYXJlQm91bmRhcnlQb2ludHMoZSxuKX1jYXRjaChyKXtyZXR1cm4tMX19dmFyIG49dGhpcyxyLGksbyxhLHMsbDtpZighbi53aW4pcmV0dXJuIG51bGw7aWYoYT1uLndpbi5kb2N1bWVudCwhZSYmbi5sYXN0Rm9jdXNCb29rbWFyayl7dmFyIGM9bi5sYXN0Rm9jdXNCb29rbWFyaztyZXR1cm4gYy5zdGFydENvbnRhaW5lcj8oaT1hLmNyZWF0ZVJhbmdlKCksaS5zZXRTdGFydChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLGkuc2V0RW5kKGMuZW5kQ29udGFpbmVyLGMuZW5kT2Zmc2V0KSk6aT1jLGl9aWYoZSYmbi50cmlkZW50U2VsKXJldHVybiBuLnRyaWRlbnRTZWwuZ2V0UmFuZ2VBdCgwKTt0cnl7KHI9bi5nZXRTZWwoKSkmJihpPXIucmFuZ2VDb3VudD4wP3IuZ2V0UmFuZ2VBdCgwKTpyLmNyZWF0ZVJhbmdlP3IuY3JlYXRlUmFuZ2UoKTphLmNyZWF0ZVJhbmdlKCkpfWNhdGNoKHUpe31pZihsPW4uZWRpdG9yLmZpcmUoIkdldFNlbGVjdGlvblJhbmdlIix7cmFuZ2U6aX0pLGwucmFuZ2UhPT1pKXJldHVybiBsLnJhbmdlO2lmKGYmJmkmJmkuc2V0U3RhcnQmJmEuc2VsZWN0aW9uKXt0cnl7cz1hLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpfWNhdGNoKHUpe31zJiZzLml0ZW0mJihvPXMuaXRlbSgwKSxpPWEuY3JlYXRlUmFuZ2UoKSxpLnNldFN0YXJ0QmVmb3JlKG8pLGkuc2V0RW5kQWZ0ZXIobykpfXJldHVybiBpfHwoaT1hLmNyZWF0ZVJhbmdlP2EuY3JlYXRlUmFuZ2UoKTphLmJvZHkuY3JlYXRlVGV4dFJhbmdlKCkpLGkuc2V0U3RhcnQmJjk9PT1pLnN0YXJ0Q29udGFpbmVyLm5vZGVUeXBlJiZpLmNvbGxhcHNlZCYmKG89bi5kb20uZ2V0Um9vdCgpLGkuc2V0U3RhcnQobywwKSxpLnNldEVuZChvLDApKSxuLnNlbGVjdGVkUmFuZ2UmJm4uZXhwbGljaXRSYW5nZSYmKDA9PT10KGkuU1RBUlRfVE9fU1RBUlQsaSxuLnNlbGVjdGVkUmFuZ2UpJiYwPT09dChpLkVORF9UT19FTkQsaSxuLnNlbGVjdGVkUmFuZ2UpP2k9bi5leHBsaWNpdFJhbmdlOihuLnNlbGVjdGVkUmFuZ2U9bnVsbCxuLmV4cGxpY2l0UmFuZ2U9bnVsbCkpLGl9LHNldFJuZzpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscixpLG87aWYoZSlpZihlLnNlbGVjdCl7bi5leHBsaWNpdFJhbmdlPW51bGw7dHJ5e2Uuc2VsZWN0KCl9Y2F0Y2goYSl7fX1lbHNlIGlmKG4udHJpZGVudFNlbCl7aWYoZS5jbG9uZVJhbmdlKXRyeXtuLnRyaWRlbnRTZWwuYWRkUmFuZ2UoZSl9Y2F0Y2goYSl7fX1lbHNle2lmKHI9bi5nZXRTZWwoKSxvPW4uZWRpdG9yLmZpcmUoIlNldFNlbGVjdGlvblJhbmdlIix7cmFuZ2U6ZX0pLGU9by5yYW5nZSxyKXtuLmV4cGxpY2l0UmFuZ2U9ZTt0cnl7ci5yZW1vdmVBbGxSYW5nZXMoKSxyLmFkZFJhbmdlKGUpfWNhdGNoKGEpe310PT09ITEmJnIuZXh0ZW5kJiYoci5jb2xsYXBzZShlLmVuZENvbnRhaW5lcixlLmVuZE9mZnNldCksci5leHRlbmQoZS5zdGFydENvbnRhaW5lcixlLnN0YXJ0T2Zmc2V0KSksbi5zZWxlY3RlZFJhbmdlPXIucmFuZ2VDb3VudD4wP3IuZ2V0UmFuZ2VBdCgwKTpudWxsfWUuY29sbGFwc2VkfHxlLnN0YXJ0Q29udGFpbmVyIT1lLmVuZENvbnRhaW5lcnx8IXIuc2V0QmFzZUFuZEV4dGVudHx8cy5pZXx8ZS5lbmRPZmZzZXQtZS5zdGFydE9mZnNldDwyJiZlLnN0YXJ0Q29udGFpbmVyLmhhc0NoaWxkTm9kZXMoKSYmKGk9ZS5zdGFydENvbnRhaW5lci5jaGlsZE5vZGVzW2Uuc3RhcnRPZmZzZXRdLGkmJiJJTUciPT1pLnRhZ05hbWUmJm4uZ2V0U2VsKCkuc2V0QmFzZUFuZEV4dGVudChpLDAsaSwxKSl9fSxzZXROb2RlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHQuc2V0Q29udGVudCh0LmRvbS5nZXRPdXRlckhUTUwoZSkpLGV9LGdldE5vZGU6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7Zm9yKHZhciBuPWU7ZSYmMz09PWUubm9kZVR5cGUmJjA9PT1lLmxlbmd0aDspZT10P2UubmV4dFNpYmxpbmc6ZS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGV8fG59dmFyIHQ9dGhpcyxuPXQuZ2V0Um5nKCkscixpLG8sYSxzLGw9dC5kb20uZ2V0Um9vdCgpO3JldHVybiBuPyhpPW4uc3RhcnRDb250YWluZXIsbz1uLmVuZENvbnRhaW5lcixhPW4uc3RhcnRPZmZzZXQscz1uLmVuZE9mZnNldCxuLnNldFN0YXJ0PyhyPW4uY29tbW9uQW5jZXN0b3JDb250YWluZXIsIW4uY29sbGFwc2VkJiYoaT09byYmMj5zLWEmJmkuaGFzQ2hpbGROb2RlcygpJiYocj1pLmNoaWxkTm9kZXNbYV0pLDM9PT1pLm5vZGVUeXBlJiYzPT09by5ub2RlVHlwZSYmKGk9aS5sZW5ndGg9PT1hP2UoaS5uZXh0U2libGluZywhMCk6aS5wYXJlbnROb2RlLG89MD09PXM/ZShvLnByZXZpb3VzU2libGluZywhMSk6by5wYXJlbnROb2RlLGkmJmk9PT1vKSk/aTpyJiYzPT1yLm5vZGVUeXBlP3IucGFyZW50Tm9kZTpyKToocj1uLml0ZW0/bi5pdGVtKDApOm4ucGFyZW50RWxlbWVudCgpLHIub3duZXJEb2N1bWVudCE9PXQud2luLmRvY3VtZW50JiYocj1sKSxyKSk6bH0sZ2V0U2VsZWN0ZWRCbG9ja3M6ZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzLGk9ci5kb20sbyxhLHM9W107aWYoYT1pLmdldFJvb3QoKSx0PWkuZ2V0UGFyZW50KHR8fHIuZ2V0U3RhcnQoKSxpLmlzQmxvY2spLG49aS5nZXRQYXJlbnQobnx8ci5nZXRFbmQoKSxpLmlzQmxvY2spLHQmJnQhPWEmJnMucHVzaCh0KSx0JiZuJiZ0IT1uKXtvPXQ7Zm9yKHZhciBsPW5ldyBlKHQsYSk7KG89bC5uZXh0KCkpJiZvIT1uOylpLmlzQmxvY2sobykmJnMucHVzaChvKX1yZXR1cm4gbiYmdCE9biYmbiE9YSYmcy5wdXNoKG4pLHN9LGlzRm9yd2FyZDpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZG9tLHQ9dGhpcy5nZXRTZWwoKSxuLHI7cmV0dXJuIHQmJnQuYW5jaG9yTm9kZSYmdC5mb2N1c05vZGU/KG49ZS5jcmVhdGVSbmcoKSxuLnNldFN0YXJ0KHQuYW5jaG9yTm9kZSx0LmFuY2hvck9mZnNldCksbi5jb2xsYXBzZSghMCkscj1lLmNyZWF0ZVJuZygpLHIuc2V0U3RhcnQodC5mb2N1c05vZGUsdC5mb2N1c09mZnNldCksci5jb2xsYXBzZSghMCksbi5jb21wYXJlQm91bmRhcnlQb2ludHMobi5TVEFSVF9UT19TVEFSVCxyKTw9MCk6ITB9LG5vcm1hbGl6ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLmdldFJuZygpO3JldHVybiBzLnJhbmdlJiZuZXcgaShlLmRvbSkubm9ybWFsaXplKHQpJiZlLnNldFJuZyh0LGUuaXNGb3J3YXJkKCkpLHR9LHNlbGVjdG9yQ2hhbmdlZDpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscjtyZXR1cm4gbi5zZWxlY3RvckNoYW5nZWREYXRhfHwobi5zZWxlY3RvckNoYW5nZWREYXRhPXt9LHI9e30sbi5lZGl0b3Iub24oIk5vZGVDaGFuZ2UiLGZ1bmN0aW9uKGUpe3ZhciB0PWUuZWxlbWVudCxpPW4uZG9tLG89aS5nZXRQYXJlbnRzKHQsbnVsbCxpLmdldFJvb3QoKSksYT17fTt1KG4uc2VsZWN0b3JDaGFuZ2VkRGF0YSxmdW5jdGlvbihlLHQpe3UobyxmdW5jdGlvbihuKXtyZXR1cm4gaS5pcyhuLHQpPyhyW3RdfHwodShlLGZ1bmN0aW9uKGUpe2UoITAse25vZGU6bixzZWxlY3Rvcjp0LHBhcmVudHM6b30pfSksclt0XT1lKSxhW3RdPWUsITEpOnZvaWQgMH0pfSksdShyLGZ1bmN0aW9uKGUsbil7YVtuXXx8KGRlbGV0ZSByW25dLHUoZSxmdW5jdGlvbihlKXtlKCExLHtub2RlOnQsc2VsZWN0b3I6bixwYXJlbnRzOm99KX0pKX0pfSkpLG4uc2VsZWN0b3JDaGFuZ2VkRGF0YVtlXXx8KG4uc2VsZWN0b3JDaGFuZ2VkRGF0YVtlXT1bXSksbi5zZWxlY3RvckNoYW5nZWREYXRhW2VdLnB1c2godCksbn0sZ2V0U2Nyb2xsQ29udGFpbmVyOmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9dGhpcy5kb20uZ2V0Um9vdCgpO3QmJiJCT0RZIiE9dC5ub2RlTmFtZTspe2lmKHQuc2Nyb2xsSGVpZ2h0PnQuY2xpZW50SGVpZ2h0KXtlPXQ7YnJlYWt9dD10LnBhcmVudE5vZGV9cmV0dXJuIGV9LHNjcm9sbEludG9WaWV3OmZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXtmb3IodmFyIHQ9MCxuPTAscj1lO3ImJnIubm9kZVR5cGU7KXQrPXIub2Zmc2V0TGVmdHx8MCxuKz1yLm9mZnNldFRvcHx8MCxyPXIub2Zmc2V0UGFyZW50O3JldHVybnt4OnQseTpufX12YXIgcixpLG89dGhpcyxzPW8uZG9tLGw9cy5nZXRSb290KCksYyx1LGQ9MDtpZihhLmlzRWxlbWVudChlKSl7aWYodD09PSExJiYoZD1lLm9mZnNldEhlaWdodCksIkJPRFkiIT1sLm5vZGVOYW1lKXt2YXIgZj1vLmdldFNjcm9sbENvbnRhaW5lcigpO2lmKGYpcmV0dXJuIHI9bihlKS55LW4oZikueStkLHU9Zi5jbGllbnRIZWlnaHQsYz1mLnNjcm9sbFRvcCx2b2lkKChjPnJ8fHIrMjU+Yyt1KSYmKGYuc2Nyb2xsVG9wPWM+cj9yOnItdSsyNSkpfWk9cy5nZXRWaWV3UG9ydChvLmVkaXRvci5nZXRXaW4oKSkscj1zLmdldFBvcyhlKS55K2QsYz1pLnksdT1pLmgsKHI8aS55fHxyKzI1PmMrdSkmJm8uZWRpdG9yLmdldFdpbigpLnNjcm9sbFRvKDAsYz5yP3I6ci11KzI1KX19LHBsYWNlQ2FyZXRBdDpmdW5jdGlvbihlLHQpe3RoaXMuc2V0Um5nKGkuZ2V0Q2FyZXRSYW5nZUZyb21Qb2ludChlLHQsdGhpcy5lZGl0b3IuZ2V0RG9jKCkpKX0sX21vdmVFbmRQb2ludDpmdW5jdGlvbih0LG4scil7dmFyIGk9bixvPW5ldyBlKG4saSksYT10aGlzLmRvbS5zY2hlbWEuZ2V0Tm9uRW1wdHlFbGVtZW50cygpO2Rve2lmKDM9PW4ubm9kZVR5cGUmJjAhPT1kKG4ubm9kZVZhbHVlKS5sZW5ndGgpcmV0dXJuIHZvaWQocj90LnNldFN0YXJ0KG4sMCk6dC5zZXRFbmQobixuLm5vZGVWYWx1ZS5sZW5ndGgpKTtpZihhW24ubm9kZU5hbWVdJiYhL14oVER8VEgpJC8udGVzdChuLm5vZGVOYW1lKSlyZXR1cm4gdm9pZChyP3Quc2V0U3RhcnRCZWZvcmUobik6IkJSIj09bi5ub2RlTmFtZT90LnNldEVuZEJlZm9yZShuKTp0LnNldEVuZEFmdGVyKG4pKTtpZihzLmllJiZzLmllPDExJiZ0aGlzLmRvbS5pc0Jsb2NrKG4pJiZ0aGlzLmRvbS5pc0VtcHR5KG4pKXJldHVybiB2b2lkKHI/dC5zZXRTdGFydChuLDApOnQuc2V0RW5kKG4sMCkpfXdoaWxlKG49cj9vLm5leHQoKTpvLnByZXYoKSk7IkJPRFkiPT1pLm5vZGVOYW1lJiYocj90LnNldFN0YXJ0KGksMCk6dC5zZXRFbmQoaSxpLmNoaWxkTm9kZXMubGVuZ3RoKSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLndpbj1udWxsLHRoaXMuY29udHJvbFNlbGVjdGlvbi5kZXN0cm95KCl9fSxjfSkscihYLFtqLG1dLGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbih0KXt0aGlzLmNvbXBhcmU9ZnVuY3Rpb24obixpKXtmdW5jdGlvbiBvKGUpe3ZhciBuPXt9O3JldHVybiByKHQuZ2V0QXR0cmlicyhlKSxmdW5jdGlvbihyKXt2YXIgaT1yLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7MCE9PWkuaW5kZXhPZigiXyIpJiYic3R5bGUiIT09aSYmImRhdGEtbWNlLXN0eWxlIiE9PWkmJiJkYXRhLW1jZS1mcmFnbWVudCIhPWkmJihuW2ldPXQuZ2V0QXR0cmliKGUsaSkpfSksbn1mdW5jdGlvbiBhKGUsdCl7dmFyIG4scjtmb3IociBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkocikpe2lmKG49dFtyXSwidW5kZWZpbmVkIj09dHlwZW9mIG4pcmV0dXJuITE7aWYoZVtyXSE9bilyZXR1cm4hMTtkZWxldGUgdFtyXX1mb3IociBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkocikpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuIG4ubm9kZU5hbWUhPWkubm9kZU5hbWU/ITE6YShvKG4pLG8oaSkpJiZhKHQucGFyc2VTdHlsZSh0LmdldEF0dHJpYihuLCJzdHlsZSIpKSx0LnBhcnNlU3R5bGUodC5nZXRBdHRyaWIoaSwic3R5bGUiKSkpPyFlLmlzQm9va21hcmtOb2RlKG4pJiYhZS5pc0Jvb2ttYXJrTm9kZShpKTohMX19dmFyIHI9dC5lYWNoO3JldHVybiBufSkscihLLFttXSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCl7ZnVuY3Rpb24gcihlKXtyZXR1cm4gZS5yZXBsYWNlKC8lKFx3KykvZywiIil9dmFyIGksbyxhPWUuZG9tLHM9IiIsbCxjO2lmKGM9ZS5zZXR0aW5ncy5wcmV2aWV3X3N0eWxlcyxjPT09ITEpcmV0dXJuIiI7aWYoY3x8KGM9ImZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXdlaWdodCBmb250LXN0eWxlIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXRyYW5zZm9ybSBjb2xvciBiYWNrZ3JvdW5kLWNvbG9yIGJvcmRlciBib3JkZXItcmFkaXVzIG91dGxpbmUgdGV4dC1zaGFkb3ciKSwic3RyaW5nIj09dHlwZW9mIHQpe2lmKHQ9ZS5mb3JtYXR0ZXIuZ2V0KHQpLCF0KXJldHVybjt0PXRbMF19cmV0dXJuIGk9dC5ibG9ja3x8dC5pbmxpbmV8fCJzcGFuIixvPWEuY3JlYXRlKGkpLG4odC5zdHlsZXMsZnVuY3Rpb24oZSx0KXtlPXIoZSksZSYmYS5zZXRTdHlsZShvLHQsZSl9KSxuKHQuYXR0cmlidXRlcyxmdW5jdGlvbihlLHQpe2U9cihlKSxlJiZhLnNldEF0dHJpYihvLHQsZSl9KSxuKHQuY2xhc3NlcyxmdW5jdGlvbihlKXtlPXIoZSksYS5oYXNDbGFzcyhvLGUpfHxhLmFkZENsYXNzKG8sZSl9KSxlLmZpcmUoIlByZXZpZXdGb3JtYXRzIiksYS5zZXRTdHlsZXMobyx7cG9zaXRpb246ImFic29sdXRlIixsZWZ0Oi02NTUzNX0pLGUuZ2V0Qm9keSgpLmFwcGVuZENoaWxkKG8pLGw9YS5nZXRTdHlsZShlLmdldEJvZHkoKSwiZm9udFNpemUiLCEwKSxsPS9weCQvLnRlc3QobCk/cGFyc2VJbnQobCwxMCk6MCxuKGMuc3BsaXQoIiAiKSxmdW5jdGlvbih0KXt2YXIgbj1hLmdldFN0eWxlKG8sdCwhMCk7aWYoISgiYmFja2dyb3VuZC1jb2xvciI9PXQmJi90cmFuc3BhcmVudHxyZ2JhXHMqXChbXildKyxccyowXCkvLnRlc3QobikmJihuPWEuZ2V0U3R5bGUoZS5nZXRCb2R5KCksdCwhMCksIiNmZmZmZmYiPT1hLnRvSGV4KG4pLnRvTG93ZXJDYXNlKCkpfHwiY29sb3IiPT10JiYiIzAwMDAwMCI9PWEudG9IZXgobikudG9Mb3dlckNhc2UoKSkpe2lmKCJmb250LXNpemUiPT10JiYvZW18JSQvLnRlc3Qobikpe2lmKDA9PT1sKXJldHVybjtuPXBhcnNlRmxvYXQobiwxMCkvKC8lJC8udGVzdChuKT8xMDA6MSksbj1uKmwrInB4In0iYm9yZGVyIj09dCYmbiYmKHMrPSJwYWRkaW5nOjAgMnB4OyIpLHMrPXQrIjoiK24rIjsifX0pLGUuZmlyZSgiQWZ0ZXJQcmV2aWV3Rm9ybWF0cyIpLGEucmVtb3ZlKG8pLHN9dmFyIG49ZS5lYWNoO3JldHVybntnZXRDc3NUZXh0OnR9fSkscihHLFtwLF8sZ10sZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIHIoZSx0KXt2YXIgbj1vW2VdO258fChvW2VdPW49W10pLG9bZV0ucHVzaCh0KX1mdW5jdGlvbiBpKGUsdCl7cyhvW2VdLGZ1bmN0aW9uKGUpe2UodCl9KX12YXIgbz1bXSxhPWUuZmlsdGVyLHM9ZS5lYWNoO3JldHVybiByKCJwcmUiLGZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGkodCl7cmV0dXJuIGModC5wcmV2aW91c1NpYmxpbmcpJiYtMSE9ZS5pbmRleE9mKHUsdC5wcmV2aW91c1NpYmxpbmcpfWZ1bmN0aW9uIG8oZSx0KXtuKHQpLnJlbW92ZSgpLG4oZSkuYXBwZW5kKCI8YnI+PGJyPiIpLmFwcGVuZCh0LmNoaWxkTm9kZXMpfXZhciBsPXIuc2VsZWN0aW9uLmdldFJuZygpLGMsdTtjPXQubWF0Y2hOb2RlTmFtZXMoInByZSIpLGwuY29sbGFwc2VkfHwodT1yLnNlbGVjdGlvbi5nZXRTZWxlY3RlZEJsb2NrcygpLHMoYShhKHUsYyksaSksZnVuY3Rpb24oZSl7byhlLnByZXZpb3VzU2libGluZyxlKX0pKX0pLHtwb3N0UHJvY2VzczppfX0pLHIoSixbeSxULGosWCxtLEssR10sZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7cmV0dXJuIGZ1bmN0aW9uKHMpe2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGUubm9kZVR5cGUmJihlPWUubm9kZU5hbWUpLCEhcy5zY2hlbWEuZ2V0VGV4dEJsb2NrRWxlbWVudHMoKVtlLnRvTG93ZXJDYXNlKCldfWZ1bmN0aW9uIGMoZSl7cmV0dXJuL14oVEh8VEQpJC8udGVzdChlLm5vZGVOYW1lKX1mdW5jdGlvbiB1KGUpe3JldHVybiBlJiYvXihJTUcpJC8udGVzdChlLm5vZGVOYW1lKX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIFkuZ2V0UGFyZW50cyhlLHQsWS5nZXRSb290KCkpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlJiYiX21jZV9jYXJldCI9PT1lLmlkfWZ1bmN0aW9uIGgoKXtnKHt2YWxpZ250b3A6W3tzZWxlY3RvcjoidGQsdGgiLHN0eWxlczp7dmVydGljYWxBbGlnbjoidG9wIn19XSx2YWxpZ25taWRkbGU6W3tzZWxlY3RvcjoidGQsdGgiLHN0eWxlczp7dmVydGljYWxBbGlnbjoibWlkZGxlIn19XSx2YWxpZ25ib3R0b206W3tzZWxlY3RvcjoidGQsdGgiLHN0eWxlczp7dmVydGljYWxBbGlnbjoiYm90dG9tIn19XSxhbGlnbmxlZnQ6W3tzZWxlY3RvcjoiZmlndXJlLmltYWdlIixjb2xsYXBzZWQ6ITEsY2xhc3NlczoiYWxpZ24tbGVmdCIsY2VGYWxzZU92ZXJyaWRlOiEwfSx7c2VsZWN0b3I6ImZpZ3VyZSxwLGgxLGgyLGgzLGg0LGg1LGg2LHRkLHRoLHRyLGRpdix1bCxvbCxsaSIsc3R5bGVzOnt0ZXh0QWxpZ246ImxlZnQifSxpbmhlcml0OiExLGRlZmF1bHRCbG9jazoiZGl2In0se3NlbGVjdG9yOiJpbWcsdGFibGUiLGNvbGxhcHNlZDohMSxzdHlsZXM6eyJmbG9hdCI6ImxlZnQifX1dLGFsaWduY2VudGVyOlt7c2VsZWN0b3I6ImZpZ3VyZSxwLGgxLGgyLGgzLGg0LGg1LGg2LHRkLHRoLHRyLGRpdix1bCxvbCxsaSIsc3R5bGVzOnt0ZXh0QWxpZ246ImNlbnRlciJ9LGluaGVyaXQ6ITEsZGVmYXVsdEJsb2NrOiJkaXYifSx7c2VsZWN0b3I6ImZpZ3VyZS5pbWFnZSIsY29sbGFwc2VkOiExLGNsYXNzZXM6ImFsaWduLWNlbnRlciIsY2VGYWxzZU92ZXJyaWRlOiEwfSx7c2VsZWN0b3I6ImltZyIsY29sbGFwc2VkOiExLHN0eWxlczp7ZGlzcGxheToiYmxvY2siLG1hcmdpbkxlZnQ6ImF1dG8iLG1hcmdpblJpZ2h0OiJhdXRvIn19LHtzZWxlY3RvcjoidGFibGUiLGNvbGxhcHNlZDohMSxzdHlsZXM6e21hcmdpbkxlZnQ6ImF1dG8iLG1hcmdpblJpZ2h0OiJhdXRvIn19XSxhbGlnbnJpZ2h0Olt7c2VsZWN0b3I6ImZpZ3VyZS5pbWFnZSIsY29sbGFwc2VkOiExLGNsYXNzZXM6ImFsaWduLXJpZ2h0IixjZUZhbHNlT3ZlcnJpZGU6ITB9LHtzZWxlY3RvcjoiZmlndXJlLHAsaDEsaDIsaDMsaDQsaDUsaDYsdGQsdGgsdHIsZGl2LHVsLG9sLGxpIixzdHlsZXM6e3RleHRBbGlnbjoicmlnaHQifSxpbmhlcml0OiExLGRlZmF1bHRCbG9jazoiZGl2In0se3NlbGVjdG9yOiJpbWcsdGFibGUiLGNvbGxhcHNlZDohMSxzdHlsZXM6eyJmbG9hdCI6InJpZ2h0In19XSxhbGlnbmp1c3RpZnk6W3tzZWxlY3RvcjoiZmlndXJlLHAsaDEsaDIsaDMsaDQsaDUsaDYsdGQsdGgsdHIsZGl2LHVsLG9sLGxpIixzdHlsZXM6e3RleHRBbGlnbjoianVzdGlmeSJ9LGluaGVyaXQ6ITEsZGVmYXVsdEJsb2NrOiJkaXYifV0sYm9sZDpbe2lubGluZToic3Ryb25nIixyZW1vdmU6ImFsbCJ9LHtpbmxpbmU6InNwYW4iLHN0eWxlczp7Zm9udFdlaWdodDoiYm9sZCJ9fSx7aW5saW5lOiJiIixyZW1vdmU6ImFsbCJ9XSxpdGFsaWM6W3tpbmxpbmU6ImVtIixyZW1vdmU6ImFsbCJ9LHtpbmxpbmU6InNwYW4iLHN0eWxlczp7Zm9udFN0eWxlOiJpdGFsaWMifX0se2lubGluZToiaSIscmVtb3ZlOiJhbGwifV0sdW5kZXJsaW5lOlt7aW5saW5lOiJzcGFuIixzdHlsZXM6e3RleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUifSxleGFjdDohMH0se2lubGluZToidSIscmVtb3ZlOiJhbGwifV0sc3RyaWtldGhyb3VnaDpbe2lubGluZToic3BhbiIsc3R5bGVzOnt0ZXh0RGVjb3JhdGlvbjoibGluZS10aHJvdWdoIn0sZXhhY3Q6ITB9LHtpbmxpbmU6InN0cmlrZSIscmVtb3ZlOiJhbGwifV0sZm9yZWNvbG9yOntpbmxpbmU6InNwYW4iLHN0eWxlczp7Y29sb3I6IiV2YWx1ZSJ9LGxpbmtzOiEwLHJlbW92ZV9zaW1pbGFyOiEwfSxoaWxpdGVjb2xvcjp7aW5saW5lOiJzcGFuIixzdHlsZXM6e2JhY2tncm91bmRDb2xvcjoiJXZhbHVlIn0sbGlua3M6ITAscmVtb3ZlX3NpbWlsYXI6ITB9LGZvbnRuYW1lOntpbmxpbmU6InNwYW4iLHN0eWxlczp7Zm9udEZhbWlseToiJXZhbHVlIn19LGZvbnRzaXplOntpbmxpbmU6InNwYW4iLHN0eWxlczp7Zm9udFNpemU6IiV2YWx1ZSJ9fSxmb250c2l6ZV9jbGFzczp7aW5saW5lOiJzcGFuIixhdHRyaWJ1dGVzOnsiY2xhc3MiOiIldmFsdWUifX0sYmxvY2txdW90ZTp7YmxvY2s6ImJsb2NrcXVvdGUiLHdyYXBwZXI6MSxyZW1vdmU6ImFsbCJ9LHN1YnNjcmlwdDp7aW5saW5lOiJzdWIifSxzdXBlcnNjcmlwdDp7aW5saW5lOiJzdXAifSxjb2RlOntpbmxpbmU6ImNvZGUifSxsaW5rOntpbmxpbmU6ImEiLHNlbGVjdG9yOiJhIixyZW1vdmU6ImFsbCIsc3BsaXQ6ITAsZGVlcDohMCxvbm1hdGNoOmZ1bmN0aW9uKCl7cmV0dXJuITB9LG9uZm9ybWF0OmZ1bmN0aW9uKGUsdCxuKXt1ZShuLGZ1bmN0aW9uKHQsbil7WS5zZXRBdHRyaWIoZSxuLHQpfSl9fSxyZW1vdmVmb3JtYXQ6W3tzZWxlY3RvcjoiYixzdHJvbmcsZW0saSxmb250LHUsc3RyaWtlLHN1YixzdXAsZGZuLGNvZGUsc2FtcCxrYmQsdmFyLGNpdGUsbWFyayxxLGRlbCxpbnMiLHJlbW92ZToiYWxsIixzcGxpdDohMCxleHBhbmQ6ITEsYmxvY2tfZXhwYW5kOiEwLGRlZXA6ITB9LHtzZWxlY3Rvcjoic3BhbiIsYXR0cmlidXRlczpbInN0eWxlIiwiY2xhc3MiXSxyZW1vdmU6ImVtcHR5IixzcGxpdDohMCxleHBhbmQ6ITEsZGVlcDohMH0se3NlbGVjdG9yOiIqIixhdHRyaWJ1dGVzOlsic3R5bGUiLCJjbGFzcyJdLHNwbGl0OiExLGV4cGFuZDohMSxkZWVwOiEwfV19KSx1ZSgicCBoMSBoMiBoMyBoNCBoNSBoNiBkaXYgYWRkcmVzcyBwcmUgZGl2IGR0IGRkIHNhbXAiLnNwbGl0KC9ccy8pLGZ1bmN0aW9uKGUpe2coZSx7YmxvY2s6ZSxyZW1vdmU6ImFsbCJ9KX0pLGcocy5zZXR0aW5ncy5mb3JtYXRzKX1mdW5jdGlvbiBwKCl7cy5hZGRTaG9ydGN1dCgibWV0YStiIiwiYm9sZF9kZXNjIiwiQm9sZCIpLHMuYWRkU2hvcnRjdXQoIm1ldGEraSIsIml0YWxpY19kZXNjIiwiSXRhbGljIikscy5hZGRTaG9ydGN1dCgibWV0YSt1IiwidW5kZXJsaW5lX2Rlc2MiLCJVbmRlcmxpbmUiKTtmb3IodmFyIGU9MTs2Pj1lO2UrKylzLmFkZFNob3J0Y3V0KCJhY2Nlc3MrIitlLCIiLFsiRm9ybWF0QmxvY2siLCExLCJoIitlXSk7cy5hZGRTaG9ydGN1dCgiYWNjZXNzKzciLCIiLFsiRm9ybWF0QmxvY2siLCExLCJwIl0pLHMuYWRkU2hvcnRjdXQoImFjY2Vzcys4IiwiIixbIkZvcm1hdEJsb2NrIiwhMSwiZGl2Il0pLHMuYWRkU2hvcnRjdXQoImFjY2Vzcys5IiwiIixbIkZvcm1hdEJsb2NrIiwhMSwiYWRkcmVzcyJdKX1mdW5jdGlvbiBtKGUpe3JldHVybiBlP2pbZV06an1mdW5jdGlvbiBnKGUsdCl7ZSYmKCJzdHJpbmciIT10eXBlb2YgZT91ZShlLGZ1bmN0aW9uKGUsdCl7Zyh0LGUpfSk6KHQ9dC5sZW5ndGg/dDpbdF0sdWUodCxmdW5jdGlvbihlKXtlLmRlZXA9PT1vZSYmKGUuZGVlcD0hZS5zZWxlY3RvciksZS5zcGxpdD09PW9lJiYoZS5zcGxpdD0hZS5zZWxlY3Rvcnx8ZS5pbmxpbmUpLGUucmVtb3ZlPT09b2UmJmUuc2VsZWN0b3ImJiFlLmlubGluZSYmKGUucmVtb3ZlPSJub25lIiksZS5zZWxlY3RvciYmZS5pbmxpbmUmJihlLm1peGVkPSEwLGUuYmxvY2tfZXhwYW5kPSEwKSwic3RyaW5nIj09dHlwZW9mIGUuY2xhc3NlcyYmKGUuY2xhc3Nlcz1lLmNsYXNzZXMuc3BsaXQoL1xzKy8pKX0pLGpbZV09dCkpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGUmJmpbZV0mJmRlbGV0ZSBqW2VdLGp9ZnVuY3Rpb24geShlLHQpe3ZhciBuPW0odCk7aWYobilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKylpZihuW3JdLmluaGVyaXQ9PT0hMSYmWS5pcyhlLG5bcl0uc2VsZWN0b3IpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGIoZSl7dmFyIHQ7cmV0dXJuIHMuZG9tLmdldFBhcmVudChlLGZ1bmN0aW9uKGUpe3JldHVybiB0PXMuZG9tLmdldFN0eWxlKGUsInRleHQtZGVjb3JhdGlvbiIpLHQmJiJub25lIiE9PXR9KSx0fWZ1bmN0aW9uIEMoZSl7dmFyIHQ7MT09PWUubm9kZVR5cGUmJmUucGFyZW50Tm9kZSYmMT09PWUucGFyZW50Tm9kZS5ub2RlVHlwZSYmKHQ9YihlLnBhcmVudE5vZGUpLHMuZG9tLmdldFN0eWxlKGUsImNvbG9yIikmJnQ/cy5kb20uc2V0U3R5bGUoZSwidGV4dC1kZWNvcmF0aW9uIix0KTpzLmRvbS5nZXRTdHlsZShlLCJ0ZXh0LWRlY29yYXRpb24iKT09PXQmJnMuZG9tLnNldFN0eWxlKGUsInRleHQtZGVjb3JhdGlvbiIsbnVsbCkpfWZ1bmN0aW9uIHgodCxuLHIpe2Z1bmN0aW9uIGkoZSx0KXtpZih0PXR8fGQsZSl7aWYodC5vbmZvcm1hdCYmdC5vbmZvcm1hdChlLHQsbixyKSx1ZSh0LnN0eWxlcyxmdW5jdGlvbih0LHIpe1kuc2V0U3R5bGUoZSxyLEwodCxuKSl9KSx0LnN0eWxlcyl7dmFyIGk9WS5nZXRBdHRyaWIoZSwic3R5bGUiKTtpJiZlLnNldEF0dHJpYnV0ZSgiZGF0YS1tY2Utc3R5bGUiLGkpfXVlKHQuYXR0cmlidXRlcyxmdW5jdGlvbih0LHIpe1kuc2V0QXR0cmliKGUscixMKHQsbikpfSksdWUodC5jbGFzc2VzLGZ1bmN0aW9uKHQpe3Q9TCh0LG4pLFkuaGFzQ2xhc3MoZSx0KXx8WS5hZGRDbGFzcyhlLHQpfSl9fWZ1bmN0aW9uIG8oKXtmdW5jdGlvbiB0KHQsbil7dmFyIGk9bmV3IGUobik7Zm9yKHI9aS5wcmV2MigpO3I7cj1pLnByZXYyKCkpe2lmKDM9PXIubm9kZVR5cGUmJnIuZGF0YS5sZW5ndGg+MClyZXR1cm4gcjtpZihyLmNoaWxkTm9kZXMubGVuZ3RoPjF8fHI9PXR8fCJCUiI9PXIudGFnTmFtZSlyZXR1cm4gcn19dmFyIG49cy5zZWxlY3Rpb24uZ2V0Um5nKCksaT1uLnN0YXJ0Q29udGFpbmVyLG89bi5lbmRDb250YWluZXI7aWYoaSE9byYmMD09PW4uZW5kT2Zmc2V0KXt2YXIgYT10KGksbyksbD0zPT1hLm5vZGVUeXBlP2EuZGF0YS5sZW5ndGg6YS5jaGlsZE5vZGVzLmxlbmd0aDtuLnNldEVuZChhLGwpfXJldHVybiBufWZ1bmN0aW9uIGMoZSxyLG8pe3ZhciBhPVtdLHMsYyxoPSEwO3M9ZC5pbmxpbmV8fGQuYmxvY2ssYz1ZLmNyZWF0ZShzKSxpKGMpLEsud2FsayhlLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIoZSl7dmFyIG0sdix5LGIsQztyZXR1cm4gQz1oLG09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHY9ZS5wYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksMT09PWUubm9kZVR5cGUmJmFlKGUpJiYoQz1oLGg9InRydWUiPT09YWUoZSksYj0hMCksQihtLCJiciIpPyhwPTAsdm9pZChkLmJsb2NrJiZZLnJlbW92ZShlKSkpOmQud3JhcHBlciYmRShlLHQsbik/dm9pZChwPTApOmgmJiFiJiZkLmJsb2NrJiYhZC53cmFwcGVyJiZsKG0pJiZHKHYscyk/KGU9WS5yZW5hbWUoZSxzKSxpKGUpLGEucHVzaChlKSx2b2lkKHA9MCkpOmQuc2VsZWN0b3ImJih1ZSh1LGZ1bmN0aW9uKHQpe3JldHVybiJjb2xsYXBzZWQiaW4gdCYmdC5jb2xsYXBzZWQhPT1nP3ZvaWQgMDpZLmlzKGUsdC5zZWxlY3RvcikmJiFmKGUpPyhpKGUsdCkseT0hMCwhMSk6dm9pZCAwfSksIWQuaW5saW5lfHx5KT92b2lkKHA9MCk6dm9pZCghaHx8Ynx8IUcocyxtKXx8IUcodixzKXx8IW8mJjM9PT1lLm5vZGVUeXBlJiYxPT09ZS5ub2RlVmFsdWUubGVuZ3RoJiY2NTI3OT09PWUubm9kZVZhbHVlLmNoYXJDb2RlQXQoMCl8fGYoZSl8fGQuaW5saW5lJiZKKGUpPyhwPTAsdWUoZGUoZS5jaGlsZE5vZGVzKSxyKSxiJiYoaD1DKSxwPTApOihwfHwocD1ZLmNsb25lKGMsbmUpLGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocCxlKSxhLnB1c2gocCkpLHAuYXBwZW5kQ2hpbGQoZSkpKX12YXIgcDt1ZShlLHIpfSksZC5saW5rcz09PSEwJiZ1ZShhLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7IkEiPT09ZS5ub2RlTmFtZSYmaShlLGQpLHVlKGRlKGUuY2hpbGROb2RlcyksdCl9dChlKX0pLHVlKGEsZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihlKXt2YXIgdD0wO3JldHVybiB1ZShlLmNoaWxkTm9kZXMsZnVuY3Rpb24oZSl7UChlKXx8Y2UoZSl8fHQrK30pLHR9ZnVuY3Rpb24gbyhlKXt2YXIgdCxuO3JldHVybiB1ZShlLmNoaWxkTm9kZXMsZnVuY3Rpb24oZSl7cmV0dXJuIDEhPWUubm9kZVR5cGV8fGNlKGUpfHxmKGUpP3ZvaWQgMDoodD1lLG5lKX0pLHQmJiFjZSh0KSYmQSh0LGQpJiYobj1ZLmNsb25lKHQsbmUpLGkobiksWS5yZXBsYWNlKG4sZSxyZSksWS5yZW1vdmUodCwxKSksbnx8ZX12YXIgcztpZihzPXIoZSksKGEubGVuZ3RoPjF8fCFKKGUpKSYmMD09PXMpcmV0dXJuIHZvaWQgWS5yZW1vdmUoZSwxKTtpZihkLmlubGluZXx8ZC53cmFwcGVyKXtpZihkLmV4YWN0fHwxIT09c3x8KGU9byhlKSksdWUodSxmdW5jdGlvbih0KXt1ZShZLnNlbGVjdCh0LmlubGluZSxlKSxmdW5jdGlvbihlKXtjZShlKXx8Rih0LG4sZSx0LmV4YWN0P2U6bnVsbCl9KX0pLEUoZS5wYXJlbnROb2RlLHQsbikpcmV0dXJuIFkucmVtb3ZlKGUsMSksZT0wLHJlO2QubWVyZ2Vfd2l0aF9wYXJlbnRzJiZZLmdldFBhcmVudChlLnBhcmVudE5vZGUsZnVuY3Rpb24ocil7cmV0dXJuIEUocix0LG4pPyhZLnJlbW92ZShlLDEpLGU9MCxyZSk6dm9pZCAwfSksZSYmZC5tZXJnZV9zaWJsaW5ncyE9PSExJiYoZT1WKFcoZSksZSksZT1WKGUsVyhlLHJlKSkpfX0pfXZhciB1PW0odCksZD11WzBdLGgscCxnPSFyJiZYLmlzQ29sbGFwc2VkKCk7aWYoImZhbHNlIiE9PWFlKFguZ2V0Tm9kZSgpKSl7aWYoZCl7aWYocilyLm5vZGVUeXBlPyhwPVkuY3JlYXRlUm5nKCkscC5zZXRTdGFydEJlZm9yZShyKSxwLnNldEVuZEFmdGVyKHIpLGMoTyhwLHUpLG51bGwsITApKTpjKHIsbnVsbCwhMCk7ZWxzZSBpZihnJiZkLmlubGluZSYmIVkuc2VsZWN0KCJ0ZFtkYXRhLW1jZS1zZWxlY3RlZF0sdGhbZGF0YS1tY2Utc2VsZWN0ZWRdIikubGVuZ3RoKSQoImFwcGx5Iix0LG4pO2Vsc2V7dmFyIHY9cy5zZWxlY3Rpb24uZ2V0Tm9kZSgpO1F8fCF1WzBdLmRlZmF1bHRCbG9ja3x8WS5nZXRQYXJlbnQodixZLmlzQmxvY2spfHx4KHVbMF0uZGVmYXVsdEJsb2NrKSxzLnNlbGVjdGlvbi5zZXRSbmcobygpKSxoPVguZ2V0Qm9va21hcmsoKSxjKE8oWC5nZXRSbmcocmUpLHUpLGgpLGQuc3R5bGVzJiYoZC5zdHlsZXMuY29sb3J8fGQuc3R5bGVzLnRleHREZWNvcmF0aW9uKSYmKGZlKHYsQywiY2hpbGROb2RlcyIpLEModikpLFgubW92ZVRvQm9va21hcmsoaCkscShYLmdldFJuZyhyZSkpLHMubm9kZUNoYW5nZWQoKX1hLnBvc3RQcm9jZXNzKHQscyl9fWVsc2V7cj1YLmdldE5vZGUoKTtmb3IodmFyIHk9MCxiPXUubGVuZ3RoO2I+eTt5KyspaWYodVt5XS5jZUZhbHNlT3ZlcnJpZGUmJlkuaXMocix1W3ldLnNlbGVjdG9yKSlyZXR1cm4gdm9pZCBpKHIsdVt5XSl9fWZ1bmN0aW9uIHcoZSx0LG4scil7ZnVuY3Rpb24gaShlKXt2YXIgbixyLG8sYSxzO2lmKDE9PT1lLm5vZGVUeXBlJiZhZShlKSYmKGE9eSx5PSJ0cnVlIj09PWFlKGUpLHM9ITApLG49ZGUoZS5jaGlsZE5vZGVzKSx5JiYhcylmb3Iocj0wLG89aC5sZW5ndGg7bz5yJiYhRihoW3JdLHQsZSxlKTtyKyspO2lmKHAuZGVlcCYmbi5sZW5ndGgpe2ZvcihyPTAsbz1uLmxlbmd0aDtvPnI7cisrKWkobltyXSk7cyYmKHk9YSl9fWZ1bmN0aW9uIG8obil7dmFyIGk7cmV0dXJuIHVlKGQobi5wYXJlbnROb2RlKS5yZXZlcnNlKCksZnVuY3Rpb24obil7dmFyIG87aXx8Il9zdGFydCI9PW4uaWR8fCJfZW5kIj09bi5pZHx8KG89RShuLGUsdCxyKSxvJiZvLnNwbGl0IT09ITEmJihpPW4pKX0pLGl9ZnVuY3Rpb24gYShlLG4scixpKXt2YXIgbyxhLHMsbCxjLHU7aWYoZSl7Zm9yKHU9ZS5wYXJlbnROb2RlLG89bi5wYXJlbnROb2RlO28mJm8hPXU7bz1vLnBhcmVudE5vZGUpe2ZvcihhPVkuY2xvbmUobyxuZSksYz0wO2M8aC5sZW5ndGg7YysrKWlmKEYoaFtjXSx0LGEsYSkpe2E9MDticmVha31hJiYocyYmYS5hcHBlbmRDaGlsZChzKSxsfHwobD1hKSxzPWEpfSFpfHxwLm1peGVkJiZKKGUpfHwobj1ZLnNwbGl0KGUsbikpLHMmJihyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsciksbC5hcHBlbmRDaGlsZChyKSl9cmV0dXJuIG59ZnVuY3Rpb24gbChlKXtyZXR1cm4gYShvKGUpLGUsZSwhMCl9ZnVuY3Rpb24gdShlKXt2YXIgdD1ZLmdldChlPyJfc3RhcnQiOiJfZW5kIiksbj10W2U/ImZpcnN0Q2hpbGQiOiJsYXN0Q2hpbGQiXTtyZXR1cm4gY2UobikmJihuPW5bZT8iZmlyc3RDaGlsZCI6Imxhc3RDaGlsZCJdKSwzPT1uLm5vZGVUeXBlJiYwPT09bi5kYXRhLmxlbmd0aCYmKG49ZT90LnByZXZpb3VzU2libGluZ3x8dC5uZXh0U2libGluZzp0Lm5leHRTaWJsaW5nfHx0LnByZXZpb3VzU2libGluZyksWS5yZW1vdmUodCwhMCksbn1mdW5jdGlvbiBmKGUpe3ZhciB0LG4scj1lLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyO2lmKGU9TyhlLGgscmUpLHAuc3BsaXQpe2lmKHQ9VShlLHJlKSxuPVUoZSksdCE9bil7aWYoL14oVFJ8VEh8VEQpJC8udGVzdCh0Lm5vZGVOYW1lKSYmdC5maXJzdENoaWxkJiYodD0iVFIiPT10Lm5vZGVOYW1lP3QuZmlyc3RDaGlsZC5maXJzdENoaWxkfHx0OnQuZmlyc3RDaGlsZHx8dCksciYmL15UKEhFQUR8Qk9EWXxGT09UfFIpJC8udGVzdChyLm5vZGVOYW1lKSYmYyhuKSYmbi5maXJzdENoaWxkJiYobj1uLmZpcnN0Q2hpbGR8fG4pLApZLmlzQ2hpbGRPZih0LG4pJiYhSihuKSYmIWModCkmJiFjKG4pKXJldHVybiB0PUgodCwic3BhbiIse2lkOiJfc3RhcnQiLCJkYXRhLW1jZS10eXBlIjoiYm9va21hcmsifSksbCh0KSx2b2lkKHQ9dShyZSkpO3Q9SCh0LCJzcGFuIix7aWQ6Il9zdGFydCIsImRhdGEtbWNlLXR5cGUiOiJib29rbWFyayJ9KSxuPUgobiwic3BhbiIse2lkOiJfZW5kIiwiZGF0YS1tY2UtdHlwZSI6ImJvb2ttYXJrIn0pLGwodCksbChuKSx0PXUocmUpLG49dSgpfWVsc2UgdD1uPWwodCk7ZS5zdGFydENvbnRhaW5lcj10LnBhcmVudE5vZGU/dC5wYXJlbnROb2RlOnQsZS5zdGFydE9mZnNldD1aKHQpLGUuZW5kQ29udGFpbmVyPW4ucGFyZW50Tm9kZT9uLnBhcmVudE5vZGU6bixlLmVuZE9mZnNldD1aKG4pKzF9Sy53YWxrKGUsZnVuY3Rpb24oZSl7dWUoZSxmdW5jdGlvbihlKXtpKGUpLDE9PT1lLm5vZGVUeXBlJiYidW5kZXJsaW5lIj09PXMuZG9tLmdldFN0eWxlKGUsInRleHQtZGVjb3JhdGlvbiIpJiZlLnBhcmVudE5vZGUmJiJ1bmRlcmxpbmUiPT09YihlLnBhcmVudE5vZGUpJiZGKHtkZWVwOiExLGV4YWN0OiEwLGlubGluZToic3BhbiIsc3R5bGVzOnt0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lIn19LG51bGwsZSl9KX0pfXZhciBoPW0oZSkscD1oWzBdLGcsdix5PSEwO2lmKG4pcmV0dXJuIHZvaWQobi5ub2RlVHlwZT8odj1ZLmNyZWF0ZVJuZygpLHYuc2V0U3RhcnRCZWZvcmUobiksdi5zZXRFbmRBZnRlcihuKSxmKHYpKTpmKG4pKTtpZigiZmFsc2UiIT09YWUoWC5nZXROb2RlKCkpKVguaXNDb2xsYXBzZWQoKSYmcC5pbmxpbmUmJiFZLnNlbGVjdCgidGRbZGF0YS1tY2Utc2VsZWN0ZWRdLHRoW2RhdGEtbWNlLXNlbGVjdGVkXSIpLmxlbmd0aD8kKCJyZW1vdmUiLGUsdCxyKTooZz1YLmdldEJvb2ttYXJrKCksZihYLmdldFJuZyhyZSkpLFgubW92ZVRvQm9va21hcmsoZykscC5pbmxpbmUmJl8oZSx0LFguZ2V0U3RhcnQoKSkmJnEoWC5nZXRSbmcoITApKSxzLm5vZGVDaGFuZ2VkKCkpO2Vsc2V7bj1YLmdldE5vZGUoKTtmb3IodmFyIEM9MCx4PWgubGVuZ3RoO3g+QyYmKCFoW0NdLmNlRmFsc2VPdmVycmlkZXx8IUYoaFtDXSx0LG4sbikpO0MrKyk7fX1mdW5jdGlvbiBOKGUsdCxuKXt2YXIgcj1tKGUpOyFfKGUsdCxuKXx8InRvZ2dsZSJpbiByWzBdJiYhclswXS50b2dnbGU/eChlLHQsbik6dyhlLHQsbil9ZnVuY3Rpb24gRShlLHQsbixyKXtmdW5jdGlvbiBpKGUsdCxpKXt2YXIgbyxhLHM9dFtpXSxsO2lmKHQub25tYXRjaClyZXR1cm4gdC5vbm1hdGNoKGUsdCxpKTtpZihzKWlmKHMubGVuZ3RoPT09b2Upe2ZvcihvIGluIHMpaWYocy5oYXNPd25Qcm9wZXJ0eShvKSl7aWYoYT0iYXR0cmlidXRlcyI9PT1pP1kuZ2V0QXR0cmliKGUsbyk6RChlLG8pLHImJiFhJiYhdC5leGFjdClyZXR1cm47aWYoKCFyfHx0LmV4YWN0KSYmIUIoYSxNKEwoc1tvXSxuKSxvKSkpcmV0dXJufX1lbHNlIGZvcihsPTA7bDxzLmxlbmd0aDtsKyspaWYoImF0dHJpYnV0ZXMiPT09aT9ZLmdldEF0dHJpYihlLHNbbF0pOkQoZSxzW2xdKSlyZXR1cm4gdDtyZXR1cm4gdH12YXIgbz1tKHQpLGEscyxsO2lmKG8mJmUpZm9yKHM9MDtzPG8ubGVuZ3RoO3MrKylpZihhPW9bc10sQShlLGEpJiZpKGUsYSwiYXR0cmlidXRlcyIpJiZpKGUsYSwic3R5bGVzIikpe2lmKGw9YS5jbGFzc2VzKWZvcihzPTA7czxsLmxlbmd0aDtzKyspaWYoIVkuaGFzQ2xhc3MoZSxsW3NdKSlyZXR1cm47cmV0dXJuIGF9fWZ1bmN0aW9uIF8oZSx0LG4pe2Z1bmN0aW9uIHIobil7dmFyIHI9WS5nZXRSb290KCk7cmV0dXJuIG49PT1yPyExOihuPVkuZ2V0UGFyZW50KG4sZnVuY3Rpb24obil7cmV0dXJuIHkobixlKT8hMDpuLnBhcmVudE5vZGU9PT1yfHwhIUUobixlLHQsITApfSksRShuLGUsdCkpfXZhciBpO3JldHVybiBuP3Iobik6KG49WC5nZXROb2RlKCkscihuKT9yZTooaT1YLmdldFN0YXJ0KCksaSE9biYmcihpKT9yZTpuZSkpfWZ1bmN0aW9uIFMoZSx0KXt2YXIgbixyPVtdLGk9e307cmV0dXJuIG49WC5nZXRTdGFydCgpLFkuZ2V0UGFyZW50KG4sZnVuY3Rpb24obil7dmFyIG8sYTtmb3Iobz0wO288ZS5sZW5ndGg7bysrKWE9ZVtvXSwhaVthXSYmRShuLGEsdCkmJihpW2FdPSEwLHIucHVzaChhKSl9LFkuZ2V0Um9vdCgpKSxyfWZ1bmN0aW9uIGsoZSl7dmFyIHQ9bShlKSxuLHIsaSxvLGE7aWYodClmb3Iobj1YLmdldFN0YXJ0KCkscj1kKG4pLG89dC5sZW5ndGgtMTtvPj0wO28tLSl7aWYoYT10W29dLnNlbGVjdG9yLCFhfHx0W29dLmRlZmF1bHRCbG9jaylyZXR1cm4gcmU7Zm9yKGk9ci5sZW5ndGgtMTtpPj0wO2ktLSlpZihZLmlzKHJbaV0sYSkpcmV0dXJuIHJlfXJldHVybiBuZX1mdW5jdGlvbiBUKGUsdCxuKXt2YXIgcjtyZXR1cm4gaWV8fChpZT17fSxyPXt9LHMub24oIk5vZGVDaGFuZ2UiLGZ1bmN0aW9uKGUpe3ZhciB0PWQoZS5lbGVtZW50KSxuPXt9O3Q9aS5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIDE9PWUubm9kZVR5cGUmJiFlLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtYm9ndXMiKX0pLHVlKGllLGZ1bmN0aW9uKGUsaSl7dWUodCxmdW5jdGlvbihvKXtyZXR1cm4gRShvLGkse30sZS5zaW1pbGFyKT8ocltpXXx8KHVlKGUsZnVuY3Rpb24oZSl7ZSghMCx7bm9kZTpvLGZvcm1hdDppLHBhcmVudHM6dH0pfSkscltpXT1lKSxuW2ldPWUsITEpOnkobyxpKT8hMTp2b2lkIDB9KX0pLHVlKHIsZnVuY3Rpb24oaSxvKXtuW29dfHwoZGVsZXRlIHJbb10sdWUoaSxmdW5jdGlvbihuKXtuKCExLHtub2RlOmUuZWxlbWVudCxmb3JtYXQ6byxwYXJlbnRzOnR9KX0pKX0pfSkpLHVlKGUuc3BsaXQoIiwiKSxmdW5jdGlvbihlKXtpZVtlXXx8KGllW2VdPVtdLGllW2VdLnNpbWlsYXI9biksaWVbZV0ucHVzaCh0KX0pLHRoaXN9ZnVuY3Rpb24gUihlKXtyZXR1cm4gby5nZXRDc3NUZXh0KHMsZSl9ZnVuY3Rpb24gQShlLHQpe3JldHVybiBCKGUsdC5pbmxpbmUpP3JlOkIoZSx0LmJsb2NrKT9yZTp0LnNlbGVjdG9yPzE9PWUubm9kZVR5cGUmJlkuaXMoZSx0LnNlbGVjdG9yKTp2b2lkIDB9ZnVuY3Rpb24gQihlLHQpe3JldHVybiBlPWV8fCIiLHQ9dHx8IiIsZT0iIisoZS5ub2RlTmFtZXx8ZSksdD0iIisodC5ub2RlTmFtZXx8dCksZS50b0xvd2VyQ2FzZSgpPT10LnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gRChlLHQpe3JldHVybiBNKFkuZ2V0U3R5bGUoZSx0KSx0KX1mdW5jdGlvbiBNKGUsdCl7cmV0dXJuImNvbG9yIiE9dCYmImJhY2tncm91bmRDb2xvciIhPXR8fChlPVkudG9IZXgoZSkpLCJmb250V2VpZ2h0Ij09dCYmNzAwPT1lJiYoZT0iYm9sZCIpLCJmb250RmFtaWx5Ij09dCYmKGU9ZS5yZXBsYWNlKC9bXCdcIl0vZywiIikucmVwbGFjZSgvLFxzKy9nLCIsIikpLCIiK2V9ZnVuY3Rpb24gTChlLHQpe3JldHVybiJzdHJpbmciIT10eXBlb2YgZT9lPWUodCk6dCYmKGU9ZS5yZXBsYWNlKC8lKFx3KykvZyxmdW5jdGlvbihlLG4pe3JldHVybiB0W25dfHxlfSkpLGV9ZnVuY3Rpb24gUChlKXtyZXR1cm4gZSYmMz09PWUubm9kZVR5cGUmJi9eKFtcdCBcclxuXSt8KSQvLnRlc3QoZS5ub2RlVmFsdWUpfWZ1bmN0aW9uIEgoZSx0LG4pe3ZhciByPVkuY3JlYXRlKHQsbik7cmV0dXJuIGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocixlKSxyLmFwcGVuZENoaWxkKGUpLHJ9ZnVuY3Rpb24gTyh0LG4scil7ZnVuY3Rpb24gaShlKXtmdW5jdGlvbiB0KGUpe3JldHVybiJCUiI9PWUubm9kZU5hbWUmJmUuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1ib2d1cyIpJiYhZS5uZXh0U2libGluZ312YXIgcixpLG8sYSxzO2lmKHI9aT1lP2c6eSxhPWU/InByZXZpb3VzU2libGluZyI6Im5leHRTaWJsaW5nIixzPVkuZ2V0Um9vdCgpLDM9PXIubm9kZVR5cGUmJiFQKHIpJiYoZT92PjA6YjxyLm5vZGVWYWx1ZS5sZW5ndGgpKXJldHVybiByO2Zvcig7Oyl7aWYoIW5bMF0uYmxvY2tfZXhwYW5kJiZKKGkpKXJldHVybiBpO2ZvcihvPWlbYV07bztvPW9bYV0paWYoIWNlKG8pJiYhUChvKSYmIXQobykpcmV0dXJuIGk7aWYoaT09c3x8aS5wYXJlbnROb2RlPT1zKXtyPWk7YnJlYWt9aT1pLnBhcmVudE5vZGV9cmV0dXJuIHJ9ZnVuY3Rpb24gbyhlLHQpe2Zvcih0PT09b2UmJih0PTM9PT1lLm5vZGVUeXBlP2UubGVuZ3RoOmUuY2hpbGROb2Rlcy5sZW5ndGgpO2UmJmUuaGFzQ2hpbGROb2RlcygpOyllPWUuY2hpbGROb2Rlc1t0XSxlJiYodD0zPT09ZS5ub2RlVHlwZT9lLmxlbmd0aDplLmNoaWxkTm9kZXMubGVuZ3RoKTtyZXR1cm57bm9kZTplLG9mZnNldDp0fX1mdW5jdGlvbiBhKGUpe2Zvcih2YXIgdD1lO3Q7KXtpZigxPT09dC5ub2RlVHlwZSYmYWUodCkpcmV0dXJuImZhbHNlIj09PWFlKHQpP3Q6ZTt0PXQucGFyZW50Tm9kZX1yZXR1cm4gZX1mdW5jdGlvbiBjKHQsbixpKXtmdW5jdGlvbiBvKGUsdCl7dmFyIG4sbyxhPWUubm9kZVZhbHVlO3JldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgdCYmKHQ9aT9hLmxlbmd0aDowKSxpPyhuPWEubGFzdEluZGV4T2YoIiAiLHQpLG89YS5sYXN0SW5kZXhPZigiXHhhMCIsdCksbj1uPm8/bjpvLC0xPT09bnx8cnx8bisrKToobj1hLmluZGV4T2YoIiAiLHQpLG89YS5pbmRleE9mKCJceGEwIix0KSxuPS0xIT09biYmKC0xPT09b3x8bz5uKT9uOm8pLG59dmFyIGEsbCxjLHU7aWYoMz09PXQubm9kZVR5cGUpe2lmKGM9byh0LG4pLC0xIT09YylyZXR1cm57Y29udGFpbmVyOnQsb2Zmc2V0OmN9O3U9dH1mb3IoYT1uZXcgZSh0LFkuZ2V0UGFyZW50KHQsSil8fHMuZ2V0Qm9keSgpKTtsPWFbaT8icHJldiI6Im5leHQiXSgpOylpZigzPT09bC5ub2RlVHlwZSl7aWYodT1sLGM9byhsKSwtMSE9PWMpcmV0dXJue2NvbnRhaW5lcjpsLG9mZnNldDpjfX1lbHNlIGlmKEoobCkpYnJlYWs7cmV0dXJuIHU/KG49aT8wOnUubGVuZ3RoLHtjb250YWluZXI6dSxvZmZzZXQ6bn0pOnZvaWQgMH1mdW5jdGlvbiB1KGUscil7dmFyIGksbyxhLHM7Zm9yKDM9PWUubm9kZVR5cGUmJjA9PT1lLm5vZGVWYWx1ZS5sZW5ndGgmJmVbcl0mJihlPWVbcl0pLGk9ZChlKSxvPTA7bzxpLmxlbmd0aDtvKyspZm9yKGE9MDthPG4ubGVuZ3RoO2ErKylpZihzPW5bYV0sISgiY29sbGFwc2VkImluIHMmJnMuY29sbGFwc2VkIT09dC5jb2xsYXBzZWQpJiZZLmlzKGlbb10scy5zZWxlY3RvcikpcmV0dXJuIGlbb107cmV0dXJuIGV9ZnVuY3Rpb24gZihlLHQpe3ZhciByLGk9WS5nZXRSb290KCk7aWYoblswXS53cmFwcGVyfHwocj1ZLmdldFBhcmVudChlLG5bMF0uYmxvY2ssaSkpLHJ8fChyPVkuZ2V0UGFyZW50KDM9PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUsZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWkmJmwoZSl9KSksciYmblswXS53cmFwcGVyJiYocj1kKHIsInVsLG9sIikucmV2ZXJzZSgpWzBdfHxyKSwhcilmb3Iocj1lO3JbdF0mJiFKKHJbdF0pJiYocj1yW3RdLCFCKHIsImJyIikpOyk7cmV0dXJuIHJ8fGV9dmFyIGgscCxtLGc9dC5zdGFydENvbnRhaW5lcix2PXQuc3RhcnRPZmZzZXQseT10LmVuZENvbnRhaW5lcixiPXQuZW5kT2Zmc2V0O2lmKDE9PWcubm9kZVR5cGUmJmcuaGFzQ2hpbGROb2RlcygpJiYoaD1nLmNoaWxkTm9kZXMubGVuZ3RoLTEsZz1nLmNoaWxkTm9kZXNbdj5oP2g6dl0sMz09Zy5ub2RlVHlwZSYmKHY9MCkpLDE9PXkubm9kZVR5cGUmJnkuaGFzQ2hpbGROb2RlcygpJiYoaD15LmNoaWxkTm9kZXMubGVuZ3RoLTEseT15LmNoaWxkTm9kZXNbYj5oP2g6Yi0xXSwzPT15Lm5vZGVUeXBlJiYoYj15Lm5vZGVWYWx1ZS5sZW5ndGgpKSxnPWEoZykseT1hKHkpLChjZShnLnBhcmVudE5vZGUpfHxjZShnKSkmJihnPWNlKGcpP2c6Zy5wYXJlbnROb2RlLGc9Zy5uZXh0U2libGluZ3x8ZywzPT1nLm5vZGVUeXBlJiYodj0wKSksKGNlKHkucGFyZW50Tm9kZSl8fGNlKHkpKSYmKHk9Y2UoeSk/eTp5LnBhcmVudE5vZGUseT15LnByZXZpb3VzU2libGluZ3x8eSwzPT15Lm5vZGVUeXBlJiYoYj15Lmxlbmd0aCkpLG5bMF0uaW5saW5lJiYodC5jb2xsYXBzZWQmJihtPWMoZyx2LCEwKSxtJiYoZz1tLmNvbnRhaW5lcix2PW0ub2Zmc2V0KSxtPWMoeSxiKSxtJiYoeT1tLmNvbnRhaW5lcixiPW0ub2Zmc2V0KSkscD1vKHksYikscC5ub2RlKSl7Zm9yKDtwLm5vZGUmJjA9PT1wLm9mZnNldCYmcC5ub2RlLnByZXZpb3VzU2libGluZzspcD1vKHAubm9kZS5wcmV2aW91c1NpYmxpbmcpO3Aubm9kZSYmcC5vZmZzZXQ+MCYmMz09PXAubm9kZS5ub2RlVHlwZSYmIiAiPT09cC5ub2RlLm5vZGVWYWx1ZS5jaGFyQXQocC5vZmZzZXQtMSkmJnAub2Zmc2V0PjEmJih5PXAubm9kZSx5LnNwbGl0VGV4dChwLm9mZnNldC0xKSl9cmV0dXJuKG5bMF0uaW5saW5lfHxuWzBdLmJsb2NrX2V4cGFuZCkmJihuWzBdLmlubGluZSYmMz09Zy5ub2RlVHlwZSYmMCE9PXZ8fChnPWkoITApKSxuWzBdLmlubGluZSYmMz09eS5ub2RlVHlwZSYmYiE9PXkubm9kZVZhbHVlLmxlbmd0aHx8KHk9aSgpKSksblswXS5zZWxlY3RvciYmblswXS5leHBhbmQhPT1uZSYmIW5bMF0uaW5saW5lJiYoZz11KGcsInByZXZpb3VzU2libGluZyIpLHk9dSh5LCJuZXh0U2libGluZyIpKSwoblswXS5ibG9ja3x8blswXS5zZWxlY3RvcikmJihnPWYoZywicHJldmlvdXNTaWJsaW5nIikseT1mKHksIm5leHRTaWJsaW5nIiksblswXS5ibG9jayYmKEooZyl8fChnPWkoITApKSxKKHkpfHwoeT1pKCkpKSksMT09Zy5ub2RlVHlwZSYmKHY9WihnKSxnPWcucGFyZW50Tm9kZSksMT09eS5ub2RlVHlwZSYmKGI9Wih5KSsxLHk9eS5wYXJlbnROb2RlKSx7c3RhcnRDb250YWluZXI6ZyxzdGFydE9mZnNldDp2LGVuZENvbnRhaW5lcjp5LGVuZE9mZnNldDpifX1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIHQubGlua3MmJiJBIj09ZS50YWdOYW1lfWZ1bmN0aW9uIEYoZSx0LG4scil7dmFyIGksbyxhO2lmKCFBKG4sZSkmJiFJKG4sZSkpcmV0dXJuIG5lO2lmKCJhbGwiIT1lLnJlbW92ZSlmb3IodWUoZS5zdHlsZXMsZnVuY3Rpb24oaSxvKXtpPU0oTChpLHQpLG8pLCJudW1iZXIiPT10eXBlb2YgbyYmKG89aSxyPTApLChlLnJlbW92ZV9zaW1pbGFyfHwhcnx8QihEKHIsbyksaSkpJiZZLnNldFN0eWxlKG4sbywiIiksYT0xfSksYSYmIiI9PT1ZLmdldEF0dHJpYihuLCJzdHlsZSIpJiYobi5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIiksbi5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLXN0eWxlIikpLHVlKGUuYXR0cmlidXRlcyxmdW5jdGlvbihlLGkpe3ZhciBvO2lmKGU9TChlLHQpLCJudW1iZXIiPT10eXBlb2YgaSYmKGk9ZSxyPTApLCFyfHxCKFkuZ2V0QXR0cmliKHIsaSksZSkpe2lmKCJjbGFzcyI9PWkmJihlPVkuZ2V0QXR0cmliKG4saSksZSYmKG89IiIsdWUoZS5zcGxpdCgvXHMrLyksZnVuY3Rpb24oZSl7L21jZVwtXHcrLy50ZXN0KGUpJiYobys9KG8/IiAiOiIiKStlKX0pLG8pKSlyZXR1cm4gdm9pZCBZLnNldEF0dHJpYihuLGksbyk7ImNsYXNzIj09aSYmbi5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzTmFtZSIpLHRlLnRlc3QoaSkmJm4ucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW1jZS0iK2kpLG4ucmVtb3ZlQXR0cmlidXRlKGkpfX0pLHVlKGUuY2xhc3NlcyxmdW5jdGlvbihlKXtlPUwoZSx0KSxyJiYhWS5oYXNDbGFzcyhyLGUpfHxZLnJlbW92ZUNsYXNzKG4sZSl9KSxvPVkuZ2V0QXR0cmlicyhuKSxpPTA7aTxvLmxlbmd0aDtpKyspaWYoMCE9PW9baV0ubm9kZU5hbWUuaW5kZXhPZigiXyIpKXJldHVybiBuZTtyZXR1cm4ibm9uZSIhPWUucmVtb3ZlPyh6KG4sZSkscmUpOnZvaWQgMH1mdW5jdGlvbiB6KGUsdCl7ZnVuY3Rpb24gbihlLHQsbil7cmV0dXJuIGU9VyhlLHQsbiksIWV8fCJCUiI9PWUubm9kZU5hbWV8fEooZSl9dmFyIHI9ZS5wYXJlbnROb2RlLGk7dC5ibG9jayYmKFE/cj09WS5nZXRSb290KCkmJih0Lmxpc3RfYmxvY2smJkIoZSx0Lmxpc3RfYmxvY2spfHx1ZShkZShlLmNoaWxkTm9kZXMpLGZ1bmN0aW9uKGUpe0coUSxlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpP2k/aS5hcHBlbmRDaGlsZChlKTooaT1IKGUsUSksWS5zZXRBdHRyaWJzKGkscy5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9ja19hdHRycykpOmk9MH0pKTpKKGUpJiYhSihyKSYmKG4oZSxuZSl8fG4oZS5maXJzdENoaWxkLHJlLDEpfHxlLmluc2VydEJlZm9yZShZLmNyZWF0ZSgiYnIiKSxlLmZpcnN0Q2hpbGQpLG4oZSxyZSl8fG4oZS5sYXN0Q2hpbGQsbmUsMSl8fGUuYXBwZW5kQ2hpbGQoWS5jcmVhdGUoImJyIikpKSksdC5zZWxlY3RvciYmdC5pbmxpbmUmJiFCKHQuaW5saW5lLGUpfHxZLnJlbW92ZShlLDEpfWZ1bmN0aW9uIFcoZSx0LG4pe2lmKGUpZm9yKHQ9dD8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLGU9bj9lOmVbdF07ZTtlPWVbdF0paWYoMT09ZS5ub2RlVHlwZXx8IVAoZSkpcmV0dXJuIGV9ZnVuY3Rpb24gVihlLHQpe2Z1bmN0aW9uIG4oZSx0KXtmb3IoaT1lO2k7aT1pW3RdKXtpZigzPT1pLm5vZGVUeXBlJiYwIT09aS5ub2RlVmFsdWUubGVuZ3RoKXJldHVybiBlO2lmKDE9PWkubm9kZVR5cGUmJiFjZShpKSlyZXR1cm4gaX1yZXR1cm4gZX12YXIgaSxvLGE9bmV3IHIoWSk7aWYoZSYmdCYmKGU9bihlLCJwcmV2aW91c1NpYmxpbmciKSx0PW4odCwibmV4dFNpYmxpbmciKSxhLmNvbXBhcmUoZSx0KSkpe2ZvcihpPWUubmV4dFNpYmxpbmc7aSYmaSE9dDspbz1pLGk9aS5uZXh0U2libGluZyxlLmFwcGVuZENoaWxkKG8pO3JldHVybiBZLnJlbW92ZSh0KSx1ZShkZSh0LmNoaWxkTm9kZXMpLGZ1bmN0aW9uKHQpe2UuYXBwZW5kQ2hpbGQodCl9KSxlfXJldHVybiB0fWZ1bmN0aW9uIFUodCxuKXt2YXIgcixpLG87cmV0dXJuIHI9dFtuPyJzdGFydENvbnRhaW5lciI6ImVuZENvbnRhaW5lciJdLGk9dFtuPyJzdGFydE9mZnNldCI6ImVuZE9mZnNldCJdLDE9PXIubm9kZVR5cGUmJihvPXIuY2hpbGROb2Rlcy5sZW5ndGgtMSwhbiYmaSYmaS0tLHI9ci5jaGlsZE5vZGVzW2k+bz9vOmldKSwzPT09ci5ub2RlVHlwZSYmbiYmaT49ci5ub2RlVmFsdWUubGVuZ3RoJiYocj1uZXcgZShyLHMuZ2V0Qm9keSgpKS5uZXh0KCl8fHIpLDMhPT1yLm5vZGVUeXBlfHxufHwwIT09aXx8KHI9bmV3IGUocixzLmdldEJvZHkoKSkucHJldigpfHxyKSxyfWZ1bmN0aW9uICQodCxuLHIsaSl7ZnVuY3Rpb24gbyhlKXt2YXIgdD1ZLmNyZWF0ZSgic3BhbiIse2lkOmcsImRhdGEtbWNlLWJvZ3VzIjohMCxzdHlsZTp2PyJjb2xvcjpyZWQiOiIifSk7cmV0dXJuIGUmJnQuYXBwZW5kQ2hpbGQocy5nZXREb2MoKS5jcmVhdGVUZXh0Tm9kZShlZSkpLHR9ZnVuY3Rpb24gYShlLHQpe2Zvcig7ZTspe2lmKDM9PT1lLm5vZGVUeXBlJiZlLm5vZGVWYWx1ZSE9PWVlfHxlLmNoaWxkTm9kZXMubGVuZ3RoPjEpcmV0dXJuITE7dCYmMT09PWUubm9kZVR5cGUmJnQucHVzaChlKSxlPWUuZmlyc3RDaGlsZH1yZXR1cm4hMH1mdW5jdGlvbiBjKGUpe2Zvcig7ZTspe2lmKGUuaWQ9PT1nKXJldHVybiBlO2U9ZS5wYXJlbnROb2RlfX1mdW5jdGlvbiB1KHQpe3ZhciBuO2lmKHQpZm9yKG49bmV3IGUodCx0KSx0PW4uY3VycmVudCgpO3Q7dD1uLm5leHQoKSlpZigzPT09dC5ub2RlVHlwZSlyZXR1cm4gdH1mdW5jdGlvbiBkKGUsdCl7dmFyIG4scjtpZihlKXI9WC5nZXRSbmcoITApLGEoZSk/KHQhPT0hMSYmKHIuc2V0U3RhcnRCZWZvcmUoZSksci5zZXRFbmRCZWZvcmUoZSkpLFkucmVtb3ZlKGUpKToobj11KGUpLG4ubm9kZVZhbHVlLmNoYXJBdCgwKT09PWVlJiYobi5kZWxldGVEYXRhKDAsMSksci5zdGFydENvbnRhaW5lcj09biYmci5zdGFydE9mZnNldD4wJiZyLnNldFN0YXJ0KG4sci5zdGFydE9mZnNldC0xKSxyLmVuZENvbnRhaW5lcj09biYmci5lbmRPZmZzZXQ+MCYmci5zZXRFbmQobixyLmVuZE9mZnNldC0xKSksWS5yZW1vdmUoZSwxKSksWC5zZXRSbmcocik7ZWxzZSBpZihlPWMoWC5nZXRTdGFydCgpKSwhZSlmb3IoO2U9WS5nZXQoZyk7KWQoZSwhMSl9ZnVuY3Rpb24gZigpe3ZhciBlLHQsaSxhLHMsbCxkO2U9WC5nZXRSbmcoITApLGE9ZS5zdGFydE9mZnNldCxsPWUuc3RhcnRDb250YWluZXIsZD1sLm5vZGVWYWx1ZSx0PWMoWC5nZXRTdGFydCgpKSx0JiYoaT11KHQpKSxkJiZhPjAmJmE8ZC5sZW5ndGgmJi9cdy8udGVzdChkLmNoYXJBdChhKSkmJi9cdy8udGVzdChkLmNoYXJBdChhLTEpKT8ocz1YLmdldEJvb2ttYXJrKCksZS5jb2xsYXBzZSghMCksZT1PKGUsbShuKSksZT1LLnNwbGl0KGUpLHgobixyLGUpLFgubW92ZVRvQm9va21hcmsocykpOih0JiZpLm5vZGVWYWx1ZT09PWVlP3gobixyLHQpOih0PW8oITApLGk9dC5maXJzdENoaWxkLGUuaW5zZXJ0Tm9kZSh0KSxhPTEseChuLHIsdCkpLFguc2V0Q3Vyc29yTG9jYXRpb24oaSxhKSl9ZnVuY3Rpb24gaCgpe3ZhciBlPVguZ2V0Um5nKCEwKSx0LGEscyxjLHUsZCxmPVtdLGgscDtmb3IodD1lLnN0YXJ0Q29udGFpbmVyLGE9ZS5zdGFydE9mZnNldCx1PXQsMz09dC5ub2RlVHlwZSYmKGEhPXQubm9kZVZhbHVlLmxlbmd0aCYmKGM9ITApLHU9dS5wYXJlbnROb2RlKTt1Oyl7aWYoRSh1LG4scixpKSl7ZD11O2JyZWFrfXUubmV4dFNpYmxpbmcmJihjPSEwKSxmLnB1c2godSksdT11LnBhcmVudE5vZGV9aWYoZClpZihjKXM9WC5nZXRCb29rbWFyaygpLGUuY29sbGFwc2UoITApLGU9TyhlLG0obiksITApLGU9Sy5zcGxpdChlKSx3KG4scixlKSxYLm1vdmVUb0Jvb2ttYXJrKHMpO2Vsc2V7Zm9yKHA9bygpLHU9cCxoPWYubGVuZ3RoLTE7aD49MDtoLS0pdS5hcHBlbmRDaGlsZChZLmNsb25lKGZbaF0sITEpKSx1PXUuZmlyc3RDaGlsZDt1LmFwcGVuZENoaWxkKFkuZG9jLmNyZWF0ZVRleHROb2RlKGVlKSksdT11LmZpcnN0Q2hpbGQ7dmFyIGc9WS5nZXRQYXJlbnQoZCxsKTtnJiZZLmlzRW1wdHkoZyk/ZC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChwLGQpOlkuaW5zZXJ0QWZ0ZXIocCxkKSxYLnNldEN1cnNvckxvY2F0aW9uKHUsMSksWS5pc0VtcHR5KGQpJiZZLnJlbW92ZShkKX19ZnVuY3Rpb24gcCgpe3ZhciBlO2U9YyhYLmdldFN0YXJ0KCkpLGUmJiFZLmlzRW1wdHkoZSkmJmZlKGUsZnVuY3Rpb24oZSl7MSE9ZS5ub2RlVHlwZXx8ZS5pZD09PWd8fFkuaXNFbXB0eShlKXx8WS5zZXRBdHRyaWIoZSwiZGF0YS1tY2UtYm9ndXMiLG51bGwpfSwiY2hpbGROb2RlcyIpfXZhciBnPSJfbWNlX2NhcmV0Iix2PXMuc2V0dGluZ3MuY2FyZXRfZGVidWc7cy5faGFzQ2FyZXRFdmVudHN8fChsZT1mdW5jdGlvbigpe3ZhciBlPVtdLHQ7aWYoYShjKFguZ2V0U3RhcnQoKSksZSkpZm9yKHQ9ZS5sZW5ndGg7dC0tOylZLnNldEF0dHJpYihlW3RdLCJkYXRhLW1jZS1ib2d1cyIsIjEiKX0sc2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5rZXlDb2RlO2QoKSw4PT10JiZYLmlzQ29sbGFwc2VkKCkmJlguZ2V0U3RhcnQoKS5pbm5lckhUTUw9PWVlJiZkKGMoWC5nZXRTdGFydCgpKSksMzchPXQmJjM5IT10fHxkKGMoWC5nZXRTdGFydCgpKSkscCgpfSxzLm9uKCJTZXRDb250ZW50IixmdW5jdGlvbihlKXtlLnNlbGVjdGlvbiYmcCgpfSkscy5faGFzQ2FyZXRFdmVudHM9ITApLCJhcHBseSI9PXQ/ZigpOmgoKX1mdW5jdGlvbiBxKHQpe3ZhciBuPXQuc3RhcnRDb250YWluZXIscj10LnN0YXJ0T2Zmc2V0LGksbyxhLHMsbDtpZigodC5zdGFydENvbnRhaW5lciE9dC5lbmRDb250YWluZXJ8fCF1KHQuc3RhcnRDb250YWluZXIuY2hpbGROb2Rlc1t0LnN0YXJ0T2Zmc2V0XSkpJiYoMz09bi5ub2RlVHlwZSYmcj49bi5ub2RlVmFsdWUubGVuZ3RoJiYocj1aKG4pLG49bi5wYXJlbnROb2RlLGk9ITApLDE9PW4ubm9kZVR5cGUpKWZvcihzPW4uY2hpbGROb2RlcyxuPXNbTWF0aC5taW4ocixzLmxlbmd0aC0xKV0sbz1uZXcgZShuLFkuZ2V0UGFyZW50KG4sWS5pc0Jsb2NrKSksKHI+cy5sZW5ndGgtMXx8aSkmJm8ubmV4dCgpLGE9by5jdXJyZW50KCk7YTthPW8ubmV4dCgpKWlmKDM9PWEubm9kZVR5cGUmJiFQKGEpKXJldHVybiBsPVkuY3JlYXRlKCJhIix7ImRhdGEtbWNlLWJvZ3VzIjoiYWxsIn0sZWUpLGEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxhKSx0LnNldFN0YXJ0KGEsMCksWC5zZXRSbmcodCksdm9pZCBZLnJlbW92ZShsKX12YXIgaj17fSxZPXMuZG9tLFg9cy5zZWxlY3Rpb24sSz1uZXcgdChZKSxHPXMuc2NoZW1hLmlzVmFsaWRDaGlsZCxKPVkuaXNCbG9jayxRPXMuc2V0dGluZ3MuZm9yY2VkX3Jvb3RfYmxvY2ssWj1ZLm5vZGVJbmRleCxlZT0iXHVmZWZmIix0ZT0vXihzcmN8aHJlZnxzdHlsZSkkLyxuZT0hMSxyZT0hMCxpZSxvZSxhZT1ZLmdldENvbnRlbnRFZGl0YWJsZSxzZSxsZSxjZT1uLmlzQm9va21hcmtOb2RlLHVlPWkuZWFjaCxkZT1pLmdyZXAsZmU9aS53YWxrLGhlPWkuZXh0ZW5kO2hlKHRoaXMse2dldDptLHJlZ2lzdGVyOmcsdW5yZWdpc3Rlcjp2LGFwcGx5OngscmVtb3ZlOncsdG9nZ2xlOk4sbWF0Y2g6XyxtYXRjaEFsbDpTLG1hdGNoTm9kZTpFLGNhbkFwcGx5OmssZm9ybWF0Q2hhbmdlZDpULGdldENzc1RleHQ6Un0pLGgoKSxwKCkscy5vbigiQmVmb3JlR2V0Q29udGVudCIsZnVuY3Rpb24oZSl7bGUmJiJyYXciIT1lLmZvcm1hdCYmbGUoKX0pLHMub24oIm1vdXNldXAga2V5ZG93biIsZnVuY3Rpb24oZSl7c2UmJnNlKGUpfSl9fSkscihRLFtJLGhdLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gZS5zZXJpYWxpemVyLmdldFRyaW1tZWRDb250ZW50KCl9ZnVuY3Rpb24gcih0KXtlLnNldERpcnR5KHQpfWZ1bmN0aW9uIGkoZSl7by50eXBpbmc9ITEsby5hZGQoe30sZSl9dmFyIG89dGhpcyxhPTAscz1bXSxsLGMsdT0wO3JldHVybiBlLm9uKCJpbml0IixmdW5jdGlvbigpe28uYWRkKCl9KSxlLm9uKCJCZWZvcmVFeGVjQ29tbWFuZCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb21tYW5kOyJVbmRvIiE9dCYmIlJlZG8iIT10JiYibWNlUmVwYWludCIhPXQmJm8uYmVmb3JlQ2hhbmdlKCl9KSxlLm9uKCJFeGVjQ29tbWFuZCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb21tYW5kOyJVbmRvIiE9dCYmIlJlZG8iIT10JiYibWNlUmVwYWludCIhPXQmJmkoZSl9KSxlLm9uKCJPYmplY3RSZXNpemVTdGFydCBDdXQiLGZ1bmN0aW9uKCl7by5iZWZvcmVDaGFuZ2UoKX0pLGUub24oIlNhdmVDb250ZW50IE9iamVjdFJlc2l6ZWQgYmx1ciIsaSksZS5vbigiRHJhZ0VuZCIsaSksZS5vbigiS2V5VXAiLGZ1bmN0aW9uKGEpe3ZhciBsPWEua2V5Q29kZTthLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoKGw+PTMzJiYzNj49bHx8bD49MzcmJjQwPj1sfHw0NT09bHx8MTM9PWx8fGEuY3RybEtleSkmJihpKCksZS5ub2RlQ2hhbmdlZCgpKSwoNDY9PWx8fDg9PWx8fHQubWFjJiYoOTE9PWx8fDkzPT1sKSkmJmUubm9kZUNoYW5nZWQoKSxjJiZvLnR5cGluZyYmKGUuaXNEaXJ0eSgpfHwocihzWzBdJiZuKCkhPXNbMF0uY29udGVudCksZS5pc0RpcnR5KCkmJmUuZmlyZSgiY2hhbmdlIix7bGV2ZWw6c1swXSxsYXN0TGV2ZWw6bnVsbH0pKSxlLmZpcmUoIlR5cGluZ1VuZG8iKSxjPSExLGUubm9kZUNoYW5nZWQoKSkpfSksZS5vbigiS2V5RG93biIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5rZXlDb2RlO2lmKCFlLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZih0Pj0zMyYmMzY+PXR8fHQ+PTM3JiY0MD49dHx8NDU9PXQpcmV0dXJuIHZvaWQoby50eXBpbmcmJmkoZSkpO3ZhciBuPWUuY3RybEtleSYmIWUuYWx0S2V5fHxlLm1ldGFLZXk7ISgxNj50fHx0PjIwKXx8MjI0PT10fHw5MT09dHx8by50eXBpbmd8fG58fChvLmJlZm9yZUNoYW5nZSgpLG8udHlwaW5nPSEwLG8uYWRkKHt9LGUpLGM9ITApfX0pLGUub24oIk1vdXNlRG93biIsZnVuY3Rpb24oZSl7by50eXBpbmcmJmkoZSl9KSxlLmFkZFNob3J0Y3V0KCJtZXRhK3oiLCIiLCJVbmRvIiksZS5hZGRTaG9ydGN1dCgibWV0YSt5LG1ldGErc2hpZnQreiIsIiIsIlJlZG8iKSxlLm9uKCJBZGRVbmRvIFVuZG8gUmVkbyBDbGVhclVuZG9zIixmdW5jdGlvbih0KXt0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxlLm5vZGVDaGFuZ2VkKCl9KSxvPXtkYXRhOnMsdHlwaW5nOiExLGJlZm9yZUNoYW5nZTpmdW5jdGlvbigpe3V8fChsPWUuc2VsZWN0aW9uLmdldEJvb2ttYXJrKDIsITApKX0sYWRkOmZ1bmN0aW9uKHQsaSl7dmFyIG8sYz1lLnNldHRpbmdzLGQ7aWYodD10fHx7fSx0LmNvbnRlbnQ9bigpLHV8fGUucmVtb3ZlZClyZXR1cm4gbnVsbDtpZihkPXNbYV0sZS5maXJlKCJCZWZvcmVBZGRVbmRvIix7bGV2ZWw6dCxsYXN0TGV2ZWw6ZCxvcmlnaW5hbEV2ZW50Oml9KS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm4gbnVsbDtpZihkJiZkLmNvbnRlbnQ9PXQuY29udGVudClyZXR1cm4gbnVsbDtpZihzW2FdJiYoc1thXS5iZWZvcmVCb29rbWFyaz1sKSxjLmN1c3RvbV91bmRvX3JlZG9fbGV2ZWxzJiZzLmxlbmd0aD5jLmN1c3RvbV91bmRvX3JlZG9fbGV2ZWxzKXtmb3Iobz0wO288cy5sZW5ndGgtMTtvKyspc1tvXT1zW28rMV07cy5sZW5ndGgtLSxhPXMubGVuZ3RofXQuYm9va21hcms9ZS5zZWxlY3Rpb24uZ2V0Qm9va21hcmsoMiwhMCksYTxzLmxlbmd0aC0xJiYocy5sZW5ndGg9YSsxKSxzLnB1c2godCksYT1zLmxlbmd0aC0xO3ZhciBmPXtsZXZlbDp0LGxhc3RMZXZlbDpkLG9yaWdpbmFsRXZlbnQ6aX07cmV0dXJuIGUuZmlyZSgiQWRkVW5kbyIsZiksYT4wJiYocighMCksZS5maXJlKCJjaGFuZ2UiLGYpKSx0fSx1bmRvOmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIG8udHlwaW5nJiYoby5hZGQoKSxvLnR5cGluZz0hMSksYT4wJiYodD1zWy0tYV0sZS5zZXRDb250ZW50KHQuY29udGVudCx7Zm9ybWF0OiJyYXcifSksZS5zZWxlY3Rpb24ubW92ZVRvQm9va21hcmsodC5iZWZvcmVCb29rbWFyaykscighMCksZS5maXJlKCJ1bmRvIix7bGV2ZWw6dH0pKSx0fSxyZWRvOmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIGE8cy5sZW5ndGgtMSYmKHQ9c1srK2FdLGUuc2V0Q29udGVudCh0LmNvbnRlbnQse2Zvcm1hdDoicmF3In0pLGUuc2VsZWN0aW9uLm1vdmVUb0Jvb2ttYXJrKHQuYm9va21hcmspLHIoITApLGUuZmlyZSgicmVkbyIse2xldmVsOnR9KSksdH0sY2xlYXI6ZnVuY3Rpb24oKXtzPVtdLGE9MCxvLnR5cGluZz0hMSxlLmZpcmUoIkNsZWFyVW5kb3MiKX0saGFzVW5kbzpmdW5jdGlvbigpe3JldHVybiBhPjB8fG8udHlwaW5nJiZzWzBdJiZuKCkhPXNbMF0uY29udGVudH0saGFzUmVkbzpmdW5jdGlvbigpe3JldHVybiBhPHMubGVuZ3RoLTEmJiF0aGlzLnR5cGluZ30sdHJhbnNhY3Q6ZnVuY3Rpb24oZSl7by5iZWZvcmVDaGFuZ2UoKTt0cnl7dSsrLGUoKX1maW5hbGx5e3UtLX1vLmFkZCgpfX19fSkscihaLFt5LFQsaF0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4uaWUmJm4uaWU8MTE7cmV0dXJuIGZ1bmN0aW9uKGkpe2Z1bmN0aW9uIG8obyl7ZnVuY3Rpb24gaChlKXtyZXR1cm4gZSYmYS5pc0Jsb2NrKGUpJiYhL14oVER8VEh8Q0FQVElPTnxGT1JNKSQvLnRlc3QoZS5ub2RlTmFtZSkmJiEvXihmaXhlZHxhYnNvbHV0ZSkvaS50ZXN0KGUuc3R5bGUucG9zaXRpb24pJiYidHJ1ZSIhPT1hLmdldENvbnRlbnRFZGl0YWJsZShlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBlJiYvXihURHxUSHxDQVBUSU9OKSQvLnRlc3QoZS5ub2RlTmFtZSl9ZnVuY3Rpb24gbShlKXt2YXIgdDthLmlzQmxvY2soZSkmJih0PXMuZ2V0Um5nKCksZS5hcHBlbmRDaGlsZChhLmNyZWF0ZSgic3BhbiIsbnVsbCwiXHhhMCIpKSxzLnNlbGVjdChlKSxlLmxhc3RDaGlsZC5vdXRlckhUTUw9IiIscy5zZXRSbmcodCkpfWZ1bmN0aW9uIGcoZSl7dmFyIHQ9ZSxuPVtdLHI7aWYodCl7Zm9yKDt0PXQuZmlyc3RDaGlsZDspe2lmKGEuaXNCbG9jayh0KSlyZXR1cm47MSE9dC5ub2RlVHlwZXx8ZFt0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldfHxuLnB1c2godCl9Zm9yKHI9bi5sZW5ndGg7ci0tOyl0PW5bcl0sIXQuaGFzQ2hpbGROb2RlcygpfHx0LmZpcnN0Q2hpbGQ9PXQubGFzdENoaWxkJiYiIj09PXQuZmlyc3RDaGlsZC5ub2RlVmFsdWU/YS5yZW1vdmUodCk6IkEiPT10Lm5vZGVOYW1lJiYiICI9PT0odC5pbm5lclRleHR8fHQudGV4dENvbnRlbnQpJiZhLnJlbW92ZSh0KX19ZnVuY3Rpb24gdih0KXtmdW5jdGlvbiByKGUpe2Zvcig7ZTspe2lmKDE9PWUubm9kZVR5cGV8fDM9PWUubm9kZVR5cGUmJmUuZGF0YSYmL1tcclxuXHNdLy50ZXN0KGUuZGF0YSkpcmV0dXJuIGU7ZT1lLm5leHRTaWJsaW5nfX12YXIgaSxvLGwsYz10LHU7aWYodCl7aWYobi5pZSYmbi5pZTw5JiZMJiZMLmZpcnN0Q2hpbGQmJkwuZmlyc3RDaGlsZD09TC5sYXN0Q2hpbGQmJiJCUiI9PUwuZmlyc3RDaGlsZC50YWdOYW1lJiZhLnJlbW92ZShMLmZpcnN0Q2hpbGQpLC9eKExJfERUfEREKSQvLnRlc3QodC5ub2RlTmFtZSkpe3ZhciBkPXIodC5maXJzdENoaWxkKTtkJiYvXihVTHxPTHxETCkkLy50ZXN0KGQubm9kZU5hbWUpJiZ0Lmluc2VydEJlZm9yZShhLmRvYy5jcmVhdGVUZXh0Tm9kZSgiXHhhMCIpLHQuZmlyc3RDaGlsZCl9aWYobD1hLmNyZWF0ZVJuZygpLG4uaWV8fHQubm9ybWFsaXplKCksdC5oYXNDaGlsZE5vZGVzKCkpe2ZvcihpPW5ldyBlKHQsdCk7bz1pLmN1cnJlbnQoKTspe2lmKDM9PW8ubm9kZVR5cGUpe2wuc2V0U3RhcnQobywwKSxsLnNldEVuZChvLDApO2JyZWFrfWlmKGZbby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSl7bC5zZXRTdGFydEJlZm9yZShvKSxsLnNldEVuZEJlZm9yZShvKTticmVha31jPW8sbz1pLm5leHQoKX1vfHwobC5zZXRTdGFydChjLDApLGwuc2V0RW5kKGMsMCkpfWVsc2UiQlIiPT10Lm5vZGVOYW1lP3QubmV4dFNpYmxpbmcmJmEuaXNCbG9jayh0Lm5leHRTaWJsaW5nKT8oKCFQfHw5PlApJiYodT1hLmNyZWF0ZSgiYnIiKSx0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHUsdCkpLGwuc2V0U3RhcnRCZWZvcmUodCksbC5zZXRFbmRCZWZvcmUodCkpOihsLnNldFN0YXJ0QWZ0ZXIodCksbC5zZXRFbmRBZnRlcih0KSk6KGwuc2V0U3RhcnQodCwwKSxsLnNldEVuZCh0LDApKTtzLnNldFJuZyhsKSxhLnJlbW92ZSh1KSxzLnNjcm9sbEludG9WaWV3KHQpfX1mdW5jdGlvbiB5KGUpe3ZhciB0PWwuZm9yY2VkX3Jvb3RfYmxvY2s7dCYmdC50b0xvd2VyQ2FzZSgpPT09ZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkmJmEuc2V0QXR0cmlicyhlLGwuZm9yY2VkX3Jvb3RfYmxvY2tfYXR0cnMpfWZ1bmN0aW9uIGIoZSl7ZS5pbm5lckhUTUw9cj8iIjonPGJyIGRhdGEtbWNlLWJvZ3VzPSIxIj4nfWZ1bmN0aW9uIEMoZSl7dmFyIHQ9RCxuLGksbyxzPXUuZ2V0VGV4dElubGluZUVsZW1lbnRzKCk7aWYoZXx8IlRBQkxFIj09ej8obj1hLmNyZWF0ZShlfHxWKSx5KG4pKTpuPUwuY2xvbmVOb2RlKCExKSxvPW4sbC5rZWVwX3N0eWxlcyE9PSExKWRvIGlmKHNbdC5ub2RlTmFtZV0pe2lmKCJfbWNlX2NhcmV0Ij09dC5pZCljb250aW51ZTtpPXQuY2xvbmVOb2RlKCExKSxhLnNldEF0dHJpYihpLCJpZCIsIiIpLG4uaGFzQ2hpbGROb2RlcygpPyhpLmFwcGVuZENoaWxkKG4uZmlyc3RDaGlsZCksbi5hcHBlbmRDaGlsZChpKSk6KG89aSxuLmFwcGVuZENoaWxkKGkpKX13aGlsZSgodD10LnBhcmVudE5vZGUpJiZ0IT1CKTtyZXR1cm4gcnx8KG8uaW5uZXJIVE1MPSc8YnIgZGF0YS1tY2UtYm9ndXM9IjEiPicpLG59ZnVuY3Rpb24geCh0KXt2YXIgbixyLGk7aWYoMz09RC5ub2RlVHlwZSYmKHQ/TT4wOk08RC5ub2RlVmFsdWUubGVuZ3RoKSlyZXR1cm4hMTtpZihELnBhcmVudE5vZGU9PUwmJlUmJiF0KXJldHVybiEwO2lmKHQmJjE9PUQubm9kZVR5cGUmJkQ9PUwuZmlyc3RDaGlsZClyZXR1cm4hMDtpZigiVEFCTEUiPT09RC5ub2RlTmFtZXx8RC5wcmV2aW91c1NpYmxpbmcmJiJUQUJMRSI9PUQucHJldmlvdXNTaWJsaW5nLm5vZGVOYW1lKXJldHVybiBVJiYhdHx8IVUmJnQ7Zm9yKG49bmV3IGUoRCxMKSwzPT1ELm5vZGVUeXBlJiYodCYmMD09PU0/bi5wcmV2KCk6dHx8TSE9RC5ub2RlVmFsdWUubGVuZ3RofHxuLm5leHQoKSk7cj1uLmN1cnJlbnQoKTspe2lmKDE9PT1yLm5vZGVUeXBlKXtpZighci5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWJvZ3VzIikmJihpPXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxkW2ldJiYiYnIiIT09aSkpcmV0dXJuITF9ZWxzZSBpZigzPT09ci5ub2RlVHlwZSYmIS9eWyBcdFxyXG5dKiQvLnRlc3Qoci5ub2RlVmFsdWUpKXJldHVybiExO3Q/bi5wcmV2KCk6bi5uZXh0KCl9cmV0dXJuITB9ZnVuY3Rpb24gdyhlLHQpe3ZhciBuLHIsbyxzLGwsYyxkPVZ8fCJQIjtpZihyPWEuZ2V0UGFyZW50KGUsYS5pc0Jsb2NrKSwhcnx8IWgocikpe2lmKHI9cnx8QixjPXI9PWkuZ2V0Qm9keSgpfHxwKHIpP3Iubm9kZU5hbWUudG9Mb3dlckNhc2UoKTpyLnBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwhci5oYXNDaGlsZE5vZGVzKCkpcmV0dXJuIG49YS5jcmVhdGUoZCkseShuKSxyLmFwcGVuZENoaWxkKG4pLFIuc2V0U3RhcnQobiwwKSxSLnNldEVuZChuLDApLG47Zm9yKHM9ZTtzLnBhcmVudE5vZGUhPXI7KXM9cy5wYXJlbnROb2RlO2Zvcig7cyYmIWEuaXNCbG9jayhzKTspbz1zLHM9cy5wcmV2aW91c1NpYmxpbmc7aWYobyYmdS5pc1ZhbGlkQ2hpbGQoYyxkLnRvTG93ZXJDYXNlKCkpKXtmb3Iobj1hLmNyZWF0ZShkKSx5KG4pLG8ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobixvKSxzPW87cyYmIWEuaXNCbG9jayhzKTspbD1zLm5leHRTaWJsaW5nLG4uYXBwZW5kQ2hpbGQocykscz1sO1Iuc2V0U3RhcnQoZSx0KSxSLnNldEVuZChlLHQpfX1yZXR1cm4gZX1mdW5jdGlvbiBOKCl7ZnVuY3Rpb24gZShlKXtmb3IodmFyIHQ9RltlPyJmaXJzdENoaWxkIjoibGFzdENoaWxkIl07dCYmMSE9dC5ub2RlVHlwZTspdD10W2U/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIl07cmV0dXJuIHQ9PT1MfWZ1bmN0aW9uIHQoKXt2YXIgZT1GLnBhcmVudE5vZGU7cmV0dXJuL14oTEl8RFR8REQpJC8udGVzdChlLm5vZGVOYW1lKT9lOkZ9aWYoRiE9aS5nZXRCb2R5KCkpe3ZhciBuPUYucGFyZW50Tm9kZS5ub2RlTmFtZTsvXihPTHxVTHxMSSkkLy50ZXN0KG4pJiYoVj0iTEkiKSxPPVY/QyhWKTphLmNyZWF0ZSgiQlIiKSxlKCEwKSYmZSgpPyJMSSI9PW4/YS5pbnNlcnRBZnRlcihPLHQoKSk6YS5yZXBsYWNlKE8sRik6ZSghMCk/IkxJIj09bj8oYS5pbnNlcnRBZnRlcihPLHQoKSksTy5hcHBlbmRDaGlsZChhLmRvYy5jcmVhdGVUZXh0Tm9kZSgiICIpKSxPLmFwcGVuZENoaWxkKEYpKTpGLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKE8sRik6ZSgpPyhhLmluc2VydEFmdGVyKE8sdCgpKSxtKE8pKTooRj10KCksQT1SLmNsb25lUmFuZ2UoKSxBLnNldFN0YXJ0QWZ0ZXIoTCksQS5zZXRFbmRBZnRlcihGKSxJPUEuZXh0cmFjdENvbnRlbnRzKCksIkxJIj09ViYmIkxJIj09SS5maXJzdENoaWxkLm5vZGVOYW1lPyhPPUkuZmlyc3RDaGlsZCxhLmluc2VydEFmdGVyKEksRikpOihhLmluc2VydEFmdGVyKEksRiksYS5pbnNlcnRBZnRlcihPLEYpKSksYS5yZW1vdmUoTCksdihPKSxjLmFkZCgpfX1mdW5jdGlvbiBFKCl7aS5leGVjQ29tbWFuZCgiSW5zZXJ0TGluZUJyZWFrIiwhMSxvKX1mdW5jdGlvbiBfKGUpe2RvIDM9PT1lLm5vZGVUeXBlJiYoZS5ub2RlVmFsdWU9ZS5ub2RlVmFsdWUucmVwbGFjZSgvXltcclxuXSsvLCIiKSksZT1lLmZpcnN0Q2hpbGQ7d2hpbGUoZSl9ZnVuY3Rpb24gUyhlKXt2YXIgdD1hLmdldFJvb3QoKSxuLHI7Zm9yKG49ZTtuIT09dCYmImZhbHNlIiE9PWEuZ2V0Q29udGVudEVkaXRhYmxlKG4pOykidHJ1ZSI9PT1hLmdldENvbnRlbnRFZGl0YWJsZShuKSYmKHI9biksbj1uLnBhcmVudE5vZGU7cmV0dXJuIG4hPT10P3I6dH1mdW5jdGlvbiBrKGUpe3ZhciB0O3J8fChlLm5vcm1hbGl6ZSgpLHQ9ZS5sYXN0Q2hpbGQsdCYmIS9eKGxlZnR8cmlnaHQpJC9naS50ZXN0KGEuZ2V0U3R5bGUodCwiZmxvYXQiLCEwKSl8fGEuYWRkKGUsImJyIikpfWZ1bmN0aW9uIFQoKXtPPS9eKEhbMS02XXxQUkV8RklHVVJFKSQvLnRlc3QoeikmJiJIR1JPVVAiIT1XP0MoVik6QygpLGwuZW5kX2NvbnRhaW5lcl9vbl9lbXB0eV9ibG9jayYmaChGKSYmYS5pc0VtcHR5KEwpP089YS5zcGxpdChGLEwpOmEuaW5zZXJ0QWZ0ZXIoTyxMKSx2KE8pfXZhciBSLEEsQixELE0sTCxQLEgsTyxJLEYseixXLFYsVTtpZihSPXMuZ2V0Um5nKCEwKSwhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7aWYoIVIuY29sbGFwc2VkKXJldHVybiB2b2lkIGkuZXhlY0NvbW1hbmQoIkRlbGV0ZSIpO2lmKG5ldyB0KGEpLm5vcm1hbGl6ZShSKSxEPVIuc3RhcnRDb250YWluZXIsTT1SLnN0YXJ0T2Zmc2V0LFY9KGwuZm9yY2VfcF9uZXdsaW5lcz8icCI6IiIpfHxsLmZvcmNlZF9yb290X2Jsb2NrLFY9Vj9WLnRvVXBwZXJDYXNlKCk6IiIsUD1hLmRvYy5kb2N1bWVudE1vZGUsSD1vLnNoaWZ0S2V5LDE9PUQubm9kZVR5cGUmJkQuaGFzQ2hpbGROb2RlcygpJiYoVT1NPkQuY2hpbGROb2Rlcy5sZW5ndGgtMSxEPUQuY2hpbGROb2Rlc1tNYXRoLm1pbihNLEQuY2hpbGROb2Rlcy5sZW5ndGgtMSldfHxELE09VSYmMz09RC5ub2RlVHlwZT9ELm5vZGVWYWx1ZS5sZW5ndGg6MCksQj1TKEQpKXtpZihjLmJlZm9yZUNoYW5nZSgpLCFhLmlzQmxvY2soQikmJkIhPWEuZ2V0Um9vdCgpKXJldHVybiB2b2lkKFYmJiFIfHxFKCkpO2lmKChWJiYhSHx8IVYmJkgpJiYoRD13KEQsTSkpLEw9YS5nZXRQYXJlbnQoRCxhLmlzQmxvY2spLEY9TD9hLmdldFBhcmVudChMLnBhcmVudE5vZGUsYS5pc0Jsb2NrKTpudWxsLHo9TD9MLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk6IiIsVz1GP0Yubm9kZU5hbWUudG9VcHBlckNhc2UoKToiIiwiTEkiIT1XfHxvLmN0cmxLZXl8fChMPUYsej1XKSwvXihMSXxEVHxERCkkLy50ZXN0KHopKXtpZighViYmSClyZXR1cm4gdm9pZCBFKCk7aWYoYS5pc0VtcHR5KEwpKXJldHVybiB2b2lkIE4oKX1pZigiUFJFIj09eiYmbC5icl9pbl9wcmUhPT0hMSl7aWYoIUgpcmV0dXJuIHZvaWQgRSgpfWVsc2UgaWYoIVYmJiFIJiYiTEkiIT16fHxWJiZIKXJldHVybiB2b2lkIEUoKTtWJiZMPT09aS5nZXRCb2R5KCl8fChWPVZ8fCJQIix4KCk/VCgpOngoITApPyhPPUwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoQygpLEwpLG0oTyksdihMKSk6KEE9Ui5jbG9uZVJhbmdlKCksQS5zZXRFbmRBZnRlcihMKSxJPUEuZXh0cmFjdENvbnRlbnRzKCksXyhJKSxPPUkuZmlyc3RDaGlsZCxhLmluc2VydEFmdGVyKEksTCksZyhPKSxrKEwpLGEuaXNFbXB0eShMKSYmYihMKSxPLm5vcm1hbGl6ZSgpLGEuaXNFbXB0eShPKT8oYS5yZW1vdmUoTyksVCgpKTp2KE8pKSxhLnNldEF0dHJpYihPLCJpZCIsIiIpLGkuZmlyZSgiTmV3QmxvY2siLHtuZXdCbG9jazpPfSksYy5hZGQoKSl9fX12YXIgYT1pLmRvbSxzPWkuc2VsZWN0aW9uLGw9aS5zZXR0aW5ncyxjPWkudW5kb01hbmFnZXIsdT1pLnNjaGVtYSxkPXUuZ2V0Tm9uRW1wdHlFbGVtZW50cygpLGY9dS5nZXRNb3ZlQ2FyZXRCZWZvcmVPbkVudGVyRWxlbWVudHMoKTtpLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXsxMz09ZS5rZXlDb2RlJiZvKGUpIT09ITEmJmUucHJldmVudERlZmF1bHQoKX0pfX0pLHIoZWUsW10sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3ZhciB0PWkuZ2V0U3RhcnQoKSxzPWUuZ2V0Qm9keSgpLGwsYyx1LGQsZixoLHAsbT0tMTY3NzcyMTUsZyx2LHksYixDO2lmKEM9bi5mb3JjZWRfcm9vdF9ibG9jayx0JiYxPT09dC5ub2RlVHlwZSYmQyl7Zm9yKDt0JiZ0IT1zOyl7aWYoYVt0Lm5vZGVOYW1lXSlyZXR1cm47dD10LnBhcmVudE5vZGV9aWYobD1pLmdldFJuZygpLGwuc2V0U3RhcnQpe2M9bC5zdGFydENvbnRhaW5lcix1PWwuc3RhcnRPZmZzZXQsZD1sLmVuZENvbnRhaW5lcixmPWwuZW5kT2Zmc2V0O3RyeXt2PWUuZ2V0RG9jKCkuYWN0aXZlRWxlbWVudD09PXN9Y2F0Y2goeCl7fX1lbHNlIGwuaXRlbSYmKHQ9bC5pdGVtKDApLGw9ZS5nZXREb2MoKS5ib2R5LmNyZWF0ZVRleHRSYW5nZSgpLGwubW92ZVRvRWxlbWVudFRleHQodCkpLHY9bC5wYXJlbnRFbGVtZW50KCkub3duZXJEb2N1bWVudD09PWUuZ2V0RG9jKCkseT1sLmR1cGxpY2F0ZSgpLHkuY29sbGFwc2UoITApLHU9LTEqeS5tb3ZlKCJjaGFyYWN0ZXIiLG0pLHkuY29sbGFwc2VkfHwoeT1sLmR1cGxpY2F0ZSgpLHkuY29sbGFwc2UoITEpLGY9LTEqeS5tb3ZlKCJjaGFyYWN0ZXIiLG0pLXUpO2Zvcih0PXMuZmlyc3RDaGlsZCxiPXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKTt0OylpZigoMz09PXQubm9kZVR5cGV8fDE9PXQubm9kZVR5cGUmJiFhW3Qubm9kZU5hbWVdKSYmby5pc1ZhbGlkQ2hpbGQoYixDLnRvTG93ZXJDYXNlKCkpKXtpZigzPT09dC5ub2RlVHlwZSYmMD09PXQubm9kZVZhbHVlLmxlbmd0aCl7cD10LHQ9dC5uZXh0U2libGluZyxyLnJlbW92ZShwKTtjb250aW51ZX1ofHwoaD1yLmNyZWF0ZShDLGUuc2V0dGluZ3MuZm9yY2VkX3Jvb3RfYmxvY2tfYXR0cnMpLHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaCx0KSxnPSEwKSxwPXQsdD10Lm5leHRTaWJsaW5nLGguYXBwZW5kQ2hpbGQocCl9ZWxzZSBoPW51bGwsdD10Lm5leHRTaWJsaW5nO2lmKGcmJnYpe2lmKGwuc2V0U3RhcnQpbC5zZXRTdGFydChjLHUpLGwuc2V0RW5kKGQsZiksaS5zZXRSbmcobCk7ZWxzZSB0cnl7bD1lLmdldERvYygpLmJvZHkuY3JlYXRlVGV4dFJhbmdlKCksbC5tb3ZlVG9FbGVtZW50VGV4dChzKSxsLmNvbGxhcHNlKCEwKSxsLm1vdmVTdGFydCgiY2hhcmFjdGVyIix1KSxmPjAmJmwubW92ZUVuZCgiY2hhcmFjdGVyIixmKSxsLnNlbGVjdCgpfWNhdGNoKHgpe31lLm5vZGVDaGFuZ2VkKCl9fX12YXIgbj1lLnNldHRpbmdzLHI9ZS5kb20saT1lLnNlbGVjdGlvbixvPWUuc2NoZW1hLGE9by5nZXRCbG9ja0VsZW1lbnRzKCk7bi5mb3JjZWRfcm9vdF9ibG9jayYmZS5vbigiTm9kZUNoYW5nZSIsdCl9fSkscih0ZSxbeix5LF8sJCxrLFddLGZ1bmN0aW9uKGUsdCxuLHIsaSxvKXtmdW5jdGlvbiBhKGUpe3JldHVybiBlPjB9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gMD5lfWZ1bmN0aW9uIGwoZSxuLHIsaSxvKXt2YXIgbD1uZXcgdChlLGkpO2lmKHMobikpe2lmKEMoZSkmJihlPWwucHJldighMCkscihlKSkpcmV0dXJuIGU7Zm9yKDtlPWwucHJldihvKTspaWYocihlKSlyZXR1cm4gZX1pZihhKG4pKXtpZihDKGUpJiYoZT1sLm5leHQoITApLHIoZSkpKXJldHVybiBlO2Zvcig7ZT1sLm5leHQobyk7KWlmKHIoZSkpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYyhlLHQpe2ZvcihlPWUucGFyZW50Tm9kZTtlJiZlIT10O2U9ZS5wYXJlbnROb2RlKWlmKGIoZSkpcmV0dXJuIGU7cmV0dXJuIHR9ZnVuY3Rpb24gdShlLHQpe2Zvcig7ZSYmZSE9dDspe2lmKHgoZSkpcmV0dXJuIGU7ZT1lLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZChlLHQsbil7cmV0dXJuIHUoZS5jb250YWluZXIoKSxuKT09dSh0LmNvbnRhaW5lcigpLG4pfWZ1bmN0aW9uIGYoZSx0LG4pe3JldHVybiBjKGUuY29udGFpbmVyKCksbik9PWModC5jb250YWluZXIoKSxuKX1mdW5jdGlvbiBoKGUsdCl7dmFyIG4scjtyZXR1cm4gdD8obj10LmNvbnRhaW5lcigpLHI9dC5vZmZzZXQoKSxFKG4pP24uY2hpbGROb2Rlc1tyK2VdOm51bGwpOm51bGx9ZnVuY3Rpb24gcChlLHQpe3ZhciBuPXQub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBlPyhuLnNldFN0YXJ0QmVmb3JlKHQpLG4uc2V0RW5kQmVmb3JlKHQpKToobi5zZXRTdGFydEFmdGVyKHQpLG4uc2V0RW5kQWZ0ZXIodCkpLG59ZnVuY3Rpb24gbShlLHQsbil7cmV0dXJuIHUodCxlKT09dShuLGUpfWZ1bmN0aW9uIGcoZSx0LG4pe3ZhciByLGk7Zm9yKGk9ZT8icHJldmlvdXNTaWJsaW5nIjoibmV4dFNpYmxpbmciO24mJm4hPXQ7KXtpZihyPW5baV0sdyhyKSYmKHI9cltpXSksQyhyKSl7aWYobSh0LHIsbikpcmV0dXJuIHI7YnJlYWt9aWYoXyhyKSlicmVhaztuPW4ucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB2KGUsdCxyKXt2YXIgbyxhLHMsbCxjPU4oZywhMCx0KSx1PU4oZywhMSx0KTtpZihhPXIuc3RhcnRDb250YWluZXIscz1yLnN0YXJ0T2Zmc2V0LGkuaXNDYXJldENvbnRhaW5lckJsb2NrKGEpKXtpZihFKGEpfHwoYT1hLnBhcmVudE5vZGUpLGw9YS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLWNhcmV0IiksImJlZm9yZSI9PWwmJihvPWEubmV4dFNpYmxpbmcsQyhvKSkpcmV0dXJuIFMobyk7aWYoImFmdGVyIj09bCYmKG89YS5wcmV2aW91c1NpYmxpbmcsQyhvKSkpcmV0dXJuIGsobyl9aWYoIXIuY29sbGFwc2VkKXJldHVybiByO2lmKG4uaXNUZXh0KGEpKXtpZih3KGEpKXtpZigxPT09ZSl7aWYobz11KGEpKXJldHVybiBTKG8pO2lmKG89YyhhKSlyZXR1cm4gayhvKX1pZigtMT09PWUpe2lmKG89YyhhKSlyZXR1cm4gayhvKTtpZihvPXUoYSkpcmV0dXJuIFMobyl9cmV0dXJuIHJ9aWYoaS5lbmRzV2l0aENhcmV0Q29udGFpbmVyKGEpJiZzPj1hLmRhdGEubGVuZ3RoLTEpcmV0dXJuIDE9PT1lJiYobz11KGEpKT9TKG8pOnI7aWYoaS5zdGFydHNXaXRoQ2FyZXRDb250YWluZXIoYSkmJjE+PXMpcmV0dXJuLTE9PT1lJiYobz1jKGEpKT9rKG8pOnI7aWYocz09PWEuZGF0YS5sZW5ndGgpcmV0dXJuIG89dShhKSxvP1Mobyk6cjtpZigwPT09cylyZXR1cm4gbz1jKGEpLG8/ayhvKTpyfXJldHVybiByfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gQyhoKGUsdCkpfXZhciBiPW4uaXNDb250ZW50RWRpdGFibGVUcnVlLEM9bi5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLHg9bi5tYXRjaFN0eWxlVmFsdWVzKCJkaXNwbGF5IiwiYmxvY2sgdGFibGUgdGFibGUtY2VsbCB0YWJsZS1jYXB0aW9uIiksdz1pLmlzQ2FyZXRDb250YWluZXIsTj1lLmN1cnJ5LEU9bi5pc0VsZW1lbnQsXz1vLmlzQ2FyZXRDYW5kaWRhdGUsUz1OKHAsITApLGs9TihwLCExKTtyZXR1cm57aXNGb3J3YXJkczphLGlzQmFja3dhcmRzOnMsZmluZE5vZGU6bCxnZXRFZGl0aW5nSG9zdDpjLGdldFBhcmVudEJsb2NrOnUsaXNJblNhbWVCbG9jazpkLGlzSW5TYW1lRWRpdGluZ0hvc3Q6Zixpc0JlZm9yZUNvbnRlbnRFZGl0YWJsZUZhbHNlOk4oeSwwKSxpc0FmdGVyQ29udGVudEVkaXRhYmxlRmFsc2U6Tih5LC0xKSxub3JtYWxpemVSYW5nZTp2fX0pLHIobmUsW18sVywkLHRlLHAsel0sZnVuY3Rpb24oZSx0LG4scixpLG8pe2Z1bmN0aW9uIGEoZSx0KXtmb3IodmFyIG49W107ZSYmZSE9dDspbi5wdXNoKGUpLGU9ZS5wYXJlbnROb2RlO3JldHVybiBufWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZS5oYXNDaGlsZE5vZGVzKCkmJnQ8ZS5jaGlsZE5vZGVzLmxlbmd0aD9lLmNoaWxkTm9kZXNbdF06bnVsbH1mdW5jdGlvbiBsKGUsdCl7aWYobShlKSl7aWYodih0LnByZXZpb3VzU2libGluZykmJiFmKHQucHJldmlvdXNTaWJsaW5nKSlyZXR1cm4gbi5iZWZvcmUodCk7aWYoZih0KSlyZXR1cm4gbih0LDApfWlmKGcoZSkpe2lmKHYodC5uZXh0U2libGluZykmJiFmKHQubmV4dFNpYmxpbmcpKXJldHVybiBuLmFmdGVyKHQpO2lmKGYodCkpcmV0dXJuIG4odCx0LmRhdGEubGVuZ3RoKX1yZXR1cm4gZyhlKT9wKHQpP24uYmVmb3JlKHQpOm4uYWZ0ZXIodCk6bi5iZWZvcmUodCl9ZnVuY3Rpb24gYyh0LGkpe3ZhciBvO3JldHVybiBlLmlzQnIodCk/KG89dSgxLG4uYWZ0ZXIodCksaSksbz8hci5pc0luU2FtZUJsb2NrKG4uYmVmb3JlKHQpLG4uYmVmb3JlKG8pLGkpOiExKTohMX1mdW5jdGlvbiB1KGUsdCxwKXt2YXIgQyx4LHcsTixFLF8sUztpZighaChwKXx8IXQpcmV0dXJuIG51bGw7aWYoUz10LEM9Uy5jb250YWluZXIoKSx4PVMub2Zmc2V0KCksZihDKSl7aWYoZyhlKSYmeD4wKXJldHVybiBuKEMsLS14KTtpZihtKGUpJiZ4PEMubGVuZ3RoKXJldHVybiBuKEMsKyt4KTt3PUN9ZWxzZXtpZihnKGUpJiZ4PjAmJihOPXMoQyx4LTEpLHYoTikpKXJldHVybiF5KE4pJiYoRT1yLmZpbmROb2RlKE4sZSxiLE4pKT9mKEUpP24oRSxFLmRhdGEubGVuZ3RoKTpuLmFmdGVyKEUpOmYoTik/bihOLE4uZGF0YS5sZW5ndGgpOm4uYmVmb3JlKE4pO2lmKG0oZSkmJng8Qy5jaGlsZE5vZGVzLmxlbmd0aCYmKE49cyhDLHgpLHYoTikpKXJldHVybiBjKE4scCk/dShlLG4uYWZ0ZXIoTikscCk6IXkoTikmJihFPXIuZmluZE5vZGUoTixlLGIsTikpP2YoRSk/bihFLDApOm4uYmVmb3JlKEUpOmYoTik/bihOLDApOm4uYWZ0ZXIoTik7dz1TLmdldE5vZGUoKX1yZXR1cm4obShlKSYmUy5pc0F0RW5kKCl8fGcoZSkmJlMuaXNBdFN0YXJ0KCkpJiYodz1yLmZpbmROb2RlKHcsZSxvLmNvbnN0YW50KCEwKSxwLCEwKSxiKHcpKT9sKGUsdyk6KE49ci5maW5kTm9kZSh3LGUsYixwKSxfPWkubGFzdChpLmZpbHRlcihhKEMscCksZCkpLCFffHxOJiZfLmNvbnRhaW5zKE4pP04/bChlLE4pOm51bGw6Uz1tKGUpP24uYWZ0ZXIoXyk6bi5iZWZvcmUoXykpfXZhciBkPWUuaXNDb250ZW50RWRpdGFibGVGYWxzZSxmPWUuaXNUZXh0LGg9ZS5pc0VsZW1lbnQscD1lLmlzQnIsbT1yLmlzRm9yd2FyZHMsZz1yLmlzQmFja3dhcmRzLHY9dC5pc0NhcmV0Q2FuZGlkYXRlLHk9dC5pc0F0b21pYyxiPXQuaXNFZGl0YWJsZUNhcmV0Q2FuZGlkYXRlO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm57bmV4dDpmdW5jdGlvbih0KXtyZXR1cm4gdSgxLHQsZSl9LHByZXY6ZnVuY3Rpb24odCl7cmV0dXJuIHUoLTEsdCxlKX19fX0pLHIocmUsW1AsaCxtLFgsVCx5LG5lLCQsX10sZnVuY3Rpb24oZSxuLHIsaSxvLGEscyxsLGMpe3ZhciB1PXIuZWFjaCxkPXIuZXh0ZW5kLGY9ci5tYXAsaD1yLmluQXJyYXkscD1yLmV4cGxvZGUsbT1uLmllLGc9bi5pZSYmbi5pZTwxMSx2PSEwLHk9ITEsYj1jLm1hdGNoTm9kZU5hbWVzKCJ0ZCB0aCIpO3JldHVybiBmdW5jdGlvbihjKXtmdW5jdGlvbiBDKGUsdCxuLHIpe3ZhciBpLG8sYT0wO2lmKC9eKG1jZUFkZFVuZG9MZXZlbHxtY2VFbmRVbmRvTGV2ZWx8bWNlQmVnaW5VbmRvTGV2ZWx8bWNlUmVwYWludCkkLy50ZXN0KGUpfHxyJiZyLnNraXBfZm9jdXN8fGMuZm9jdXMoKSxyPWMuZmlyZSgiQmVmb3JlRXhlY0NvbW1hbmQiLHtjb21tYW5kOmUsdWk6dCx2YWx1ZTpufSksci5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm4hMTtpZihvPWUudG9Mb3dlckNhc2UoKSxpPU8uZXhlY1tvXSlyZXR1cm4gaShvLHQsbiksYy5maXJlKCJFeGVjQ29tbWFuZCIse2NvbW1hbmQ6ZSx1aTp0LHZhbHVlOm59KSwhMDtpZih1KGMucGx1Z2lucyxmdW5jdGlvbihyKXtyZXR1cm4gci5leGVjQ29tbWFuZCYmci5leGVjQ29tbWFuZChlLHQsbik/KGMuZmlyZSgiRXhlY0NvbW1hbmQiLHtjb21tYW5kOmUsdWk6dCx2YWx1ZTpufSksYT0hMCwhMSk6dm9pZCAwfSksYSlyZXR1cm4gYTtpZihjLnRoZW1lJiZjLnRoZW1lLmV4ZWNDb21tYW5kJiZjLnRoZW1lLmV4ZWNDb21tYW5kKGUsdCxuKSlyZXR1cm4gYy5maXJlKCJFeGVjQ29tbWFuZCIse2NvbW1hbmQ6ZSx1aTp0LHZhbHVlOm59KSwhMDt0cnl7YT1jLmdldERvYygpLmV4ZWNDb21tYW5kKGUsdCxuKX1jYXRjaChzKXt9cmV0dXJuIGE/KGMuZmlyZSgiRXhlY0NvbW1hbmQiLHtjb21tYW5kOmUsdWk6dCx2YWx1ZTpufSksITApOiExfWZ1bmN0aW9uIHgoZSl7dmFyIHQ7aWYoIWMucXVpcmtzLmlzSGlkZGVuKCkpe2lmKGU9ZS50b0xvd2VyQ2FzZSgpLHQ9Ty5zdGF0ZVtlXSlyZXR1cm4gdChlKTt0cnl7cmV0dXJuIGMuZ2V0RG9jKCkucXVlcnlDb21tYW5kU3RhdGUoZSl9Y2F0Y2gobil7fXJldHVybiExfX1mdW5jdGlvbiB3KGUpe3ZhciB0O2lmKCFjLnF1aXJrcy5pc0hpZGRlbigpKXtpZihlPWUudG9Mb3dlckNhc2UoKSx0PU8udmFsdWVbZV0pcmV0dXJuIHQoZSk7dHJ5e3JldHVybiBjLmdldERvYygpLnF1ZXJ5Q29tbWFuZFZhbHVlKGUpfWNhdGNoKG4pe319fWZ1bmN0aW9uIE4oZSx0KXt0PXR8fCJleGVjIix1KGUsZnVuY3Rpb24oZSxuKXt1KG4udG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLGZ1bmN0aW9uKG4pe09bdF1bbl09ZX0pfSl9ZnVuY3Rpb24gRShlLHQsbil7ZT1lLnRvTG93ZXJDYXNlKCksTy5leGVjW2VdPWZ1bmN0aW9uKGUscixpLG8pe3JldHVybiB0LmNhbGwobnx8YyxyLGksbyl9fWZ1bmN0aW9uIF8oZSl7aWYoZT1lLnRvTG93ZXJDYXNlKCksTy5leGVjW2VdKXJldHVybiEwO3RyeXtyZXR1cm4gYy5nZXREb2MoKS5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQoZSl9Y2F0Y2godCl7fXJldHVybiExfWZ1bmN0aW9uIFMoZSx0LG4pe2U9ZS50b0xvd2VyQ2FzZSgpLE8uc3RhdGVbZV09ZnVuY3Rpb24oKXtyZXR1cm4gdC5jYWxsKG58fGMpfX1mdW5jdGlvbiBrKGUsdCxuKXtlPWUudG9Mb3dlckNhc2UoKSxPLnZhbHVlW2VdPWZ1bmN0aW9uKCl7cmV0dXJuIHQuY2FsbChufHxjKX19ZnVuY3Rpb24gVChlKXtyZXR1cm4gZT1lLnRvTG93ZXJDYXNlKCksISFPLmV4ZWNbZV19ZnVuY3Rpb24gUihlLG4scil7cmV0dXJuIG49PT10JiYobj15KSxyPT09dCYmKHI9bnVsbCksYy5nZXREb2MoKS5leGVjQ29tbWFuZChlLG4scil9ZnVuY3Rpb24gQShlKXtyZXR1cm4gSC5tYXRjaChlKX1mdW5jdGlvbiBCKGUsbil7SC50b2dnbGUoZSxuP3t2YWx1ZTpufTp0KSxjLm5vZGVDaGFuZ2VkKCl9ZnVuY3Rpb24gRChlKXtGPVAuZ2V0Qm9va21hcmsoZSl9ZnVuY3Rpb24gTSgpe1AubW92ZVRvQm9va21hcmsoRil9dmFyIEwsUCxILE89e3N0YXRlOnt9LGV4ZWM6e30sdmFsdWU6e319LEk9Yy5zZXR0aW5ncyxGO2Mub24oIlByZUluaXQiLGZ1bmN0aW9uKCl7TD1jLmRvbSxQPWMuc2VsZWN0aW9uLEk9Yy5zZXR0aW5ncyxIPWMuZm9ybWF0dGVyfSksZCh0aGlzLHtleGVjQ29tbWFuZDpDLHF1ZXJ5Q29tbWFuZFN0YXRlOngscXVlcnlDb21tYW5kVmFsdWU6dyxxdWVyeUNvbW1hbmRTdXBwb3J0ZWQ6XyxhZGRDb21tYW5kczpOLGFkZENvbW1hbmQ6RSxhZGRRdWVyeVN0YXRlSGFuZGxlcjpTLGFkZFF1ZXJ5VmFsdWVIYW5kbGVyOmssaGFzQ3VzdG9tQ29tbWFuZDpUfSksTih7Im1jZVJlc2V0RGVzaWduTW9kZSxtY2VCZWdpblVuZG9MZXZlbCI6ZnVuY3Rpb24oKXt9LCJtY2VFbmRVbmRvTGV2ZWwsbWNlQWRkVW5kb0xldmVsIjpmdW5jdGlvbigpe2MudW5kb01hbmFnZXIuYWRkKCl9LCJDdXQsQ29weSxQYXN0ZSI6ZnVuY3Rpb24oZSl7dmFyIHQ9Yy5nZXREb2MoKSxyO3RyeXtSKGUpfWNhdGNoKGkpe3I9dn1pZihyfHwhdC5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQoZSkpe3ZhciBvPWMudHJhbnNsYXRlKCJZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGNsaXBib2FyZC4gUGxlYXNlIHVzZSB0aGUgQ3RybCtYL0MvViBrZXlib2FyZCBzaG9ydGN1dHMgaW5zdGVhZC4iKTtuLm1hYyYmKG89by5yZXBsYWNlKC9DdHJsXCsvZywiXHUyMzE4KyIpKSxjLm5vdGlmaWNhdGlvbk1hbmFnZXIub3Blbih7dGV4dDpvLHR5cGU6ImVycm9yIn0pfX0sdW5saW5rOmZ1bmN0aW9uKCl7aWYoUC5pc0NvbGxhcHNlZCgpKXt2YXIgZT1QLmdldE5vZGUoKTtyZXR1cm4gdm9pZCgiQSI9PWUudGFnTmFtZSYmYy5kb20ucmVtb3ZlKGUsITApKX1ILnJlbW92ZSgibGluayIpfSwiSnVzdGlmeUxlZnQsSnVzdGlmeUNlbnRlcixKdXN0aWZ5UmlnaHQsSnVzdGlmeUZ1bGwsSnVzdGlmeU5vbmUiOmZ1bmN0aW9uKGUpe3ZhciB0PWUuc3Vic3RyaW5nKDcpOyJmdWxsIj09dCYmKHQ9Imp1c3RpZnkiKSx1KCJsZWZ0LGNlbnRlcixyaWdodCxqdXN0aWZ5Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKGUpe3QhPWUmJkgucmVtb3ZlKCJhbGlnbiIrZSl9KSwibm9uZSIhPXQmJkIoImFsaWduIit0KX0sIkluc2VydFVub3JkZXJlZExpc3QsSW5zZXJ0T3JkZXJlZExpc3QiOmZ1bmN0aW9uKGUpe3ZhciB0LG47UihlKSx0PUwuZ2V0UGFyZW50KFAuZ2V0Tm9kZSgpLCJvbCx1bCIpLHQmJihuPXQucGFyZW50Tm9kZSwvXihIWzEtNl18UHxBRERSRVNTfFBSRSkkLy50ZXN0KG4ubm9kZU5hbWUpJiYoRCgpLEwuc3BsaXQobix0KSxNKCkpKX0sIkJvbGQsSXRhbGljLFVuZGVybGluZSxTdHJpa2V0aHJvdWdoLFN1cGVyc2NyaXB0LFN1YnNjcmlwdCI6ZnVuY3Rpb24oZSl7QihlKX0sIkZvcmVDb2xvcixIaWxpdGVDb2xvcixGb250TmFtZSI6ZnVuY3Rpb24oZSx0LG4pe0IoZSxuKX0sRm9udFNpemU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7bj49MSYmNz49biYmKGk9cChJLmZvbnRfc2l6ZV9zdHlsZV92YWx1ZXMpLHI9cChJLmZvbnRfc2l6ZV9jbGFzc2VzKSxuPXI/cltuLTFdfHxuOmlbbi0xXXx8biksQihlLG4pfSxSZW1vdmVGb3JtYXQ6ZnVuY3Rpb24oZSl7SC5yZW1vdmUoZSl9LG1jZUJsb2NrUXVvdGU6ZnVuY3Rpb24oKXtCKCJibG9ja3F1b3RlIil9LEZvcm1hdEJsb2NrOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gQihufHwicCIpfSxtY2VDbGVhbnVwOmZ1bmN0aW9uKCl7dmFyIGU9UC5nZXRCb29rbWFyaygpO2Muc2V0Q29udGVudChjLmdldENvbnRlbnQoe2NsZWFudXA6dn0pLHtjbGVhbnVwOnZ9KSxQLm1vdmVUb0Jvb2ttYXJrKGUpfSxtY2VSZW1vdmVOb2RlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1ufHxQLmdldE5vZGUoKTtyIT1jLmdldEJvZHkoKSYmKEQoKSxjLmRvbS5yZW1vdmUocix2KSxNKCkpfSxtY2VTZWxlY3ROb2RlRGVwdGg6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPTA7TC5nZXRQYXJlbnQoUC5nZXROb2RlKCksZnVuY3Rpb24oZSl7cmV0dXJuIDE9PWUubm9kZVR5cGUmJnIrKz09bj8oUC5zZWxlY3QoZSkseSk6dm9pZCAwfSxjLmdldEJvZHkoKSl9LG1jZVNlbGVjdE5vZGU6ZnVuY3Rpb24oZSx0LG4pe1Auc2VsZWN0KG4pfSxtY2VJbnNlcnRDb250ZW50OmZ1bmN0aW9uKHQsbixvKXtmdW5jdGlvbiBhKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIHJbZV0mJjM9PXJbZV0ubm9kZVR5cGV9dmFyIG4scixpO3JldHVybiBuPVAuZ2V0Um5nKCEwKSxyPW4uc3RhcnRDb250YWluZXIsaT1uLnN0YXJ0T2Zmc2V0LDM9PXIubm9kZVR5cGUmJihpPjA/ZT1lLnJlcGxhY2UoL14mbmJzcDsvLCIgIik6dCgicHJldmlvdXNTaWJsaW5nIil8fChlPWUucmVwbGFjZSgvXiAvLCImbmJzcDsiKSksaTxyLmxlbmd0aD9lPWUucmVwbGFjZSgvJm5ic3A7KDxicj58KSQvLCIgIik6dCgibmV4dFNpYmxpbmciKXx8KGU9ZS5yZXBsYWNlKC8oJm5ic3A7fCApKDxicj58KSQvLCImbmJzcDsiKSkpLGV9ZnVuY3Rpb24gZCgpe3ZhciBlLHQsbjtlPVAuZ2V0Um5nKCEwKSx0PWUuc3RhcnRDb250YWluZXIsbj1lLnN0YXJ0T2Zmc2V0LDM9PXQubm9kZVR5cGUmJmUuY29sbGFwc2VkJiYoIlx4YTAiPT09dC5kYXRhW25dPyh0LmRlbGV0ZURhdGEobiwxKSwvW1x1MDBhMHwgXSQvLnRlc3Qobyl8fChvKz0iICIpKToiXHhhMCI9PT10LmRhdGFbbi0xXSYmKHQuZGVsZXRlRGF0YShuLTEsMSksL1tcdTAwYTB8IF0kLy50ZXN0KG8pfHwobz0iICIrbykpKX1mdW5jdGlvbiBmKGUpe2lmKEQpZm9yKFI9ZS5maXJzdENoaWxkO1I7Uj1SLndhbGsoITApKUhbUi5uYW1lXSYmUi5hdHRyKCJkYXRhLW1jZS1uZXciLCJ0cnVlIil9ZnVuY3Rpb24gaCgpe2lmKEQpe3ZhciBlPWMuZ2V0Qm9keSgpLHQ9bmV3IGkoTCk7dShMLnNlbGVjdCgiKltkYXRhLW1jZS1uZXddIiksZnVuY3Rpb24obil7bi5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbWNlLW5ldyIpO2Zvcih2YXIgcj1uLnBhcmVudE5vZGU7ciYmciE9ZTtyPXIucGFyZW50Tm9kZSl0LmNvbXBhcmUocixuKSYmTC5yZW1vdmUobiwhMCl9KX19ZnVuY3Rpb24gcChlKXtmb3IodmFyIHQ9ZTt0PXQud2FsaygpOykxPT09dC50eXBlJiZ0LmF0dHIoImRhdGEtbWNlLWZyYWdtZW50IiwiMSIpfWZ1bmN0aW9uIGcoZSl7ci5lYWNoKGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxmdW5jdGlvbihlKXtlLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1tY2UtZnJhZ21lbnQiKX0pfWZ1bmN0aW9uIHYoZSl7cmV0dXJuISFlLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtZnJhZ21lbnQiKX1mdW5jdGlvbiB5KGUpe3JldHVybiBlJiYhYy5zY2hlbWEuZ2V0U2hvcnRFbmRlZEVsZW1lbnRzKClbZS5ub2RlTmFtZV19ZnVuY3Rpb24gQyhlKXtmdW5jdGlvbiB0KGUpe2Zvcih2YXIgdD1jLmdldEJvZHkoKTtlJiZlIT09dDtlPWUucGFyZW50Tm9kZSlpZigiZmFsc2UiPT09Yy5kb20uZ2V0Q29udGVudEVkaXRhYmxlKGUpKXJldHVybiBlO3JldHVybiBudWxsfWZ1bmN0aW9uIG4oZSl7dmFyIHQ9bC5mcm9tUmFuZ2VTdGFydChlKSxuPW5ldyBzKGMuZ2V0Qm9keSgpKTtyZXR1cm4gdD1uLm5leHQodCksdD90LnRvUmFuZ2UoKTp2b2lkIDA7Cn12YXIgcixpLG87aWYoZSl7aWYoUC5zY3JvbGxJbnRvVmlldyhlKSxyPXQoZSkpcmV0dXJuIEwucmVtb3ZlKGUpLHZvaWQgUC5zZWxlY3Qocik7VD1MLmNyZWF0ZVJuZygpLFI9ZS5wcmV2aW91c1NpYmxpbmcsUiYmMz09Ui5ub2RlVHlwZT8oVC5zZXRTdGFydChSLFIubm9kZVZhbHVlLmxlbmd0aCksbXx8KEE9ZS5uZXh0U2libGluZyxBJiYzPT1BLm5vZGVUeXBlJiYoUi5hcHBlbmREYXRhKEEuZGF0YSksQS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEEpKSkpOihULnNldFN0YXJ0QmVmb3JlKGUpLFQuc2V0RW5kQmVmb3JlKGUpKSxpPUwuZ2V0UGFyZW50KGUsTC5pc0Jsb2NrKSxMLnJlbW92ZShlKSxpJiZMLmlzRW1wdHkoaSkmJihjLiQoaSkuZW1wdHkoKSxULnNldFN0YXJ0KGksMCksVC5zZXRFbmQoaSwwKSxiKGkpfHx2KGkpfHwhKG89bihUKSk/TC5hZGQoaSxMLmNyZWF0ZSgiYnIiLHsiZGF0YS1tY2UtYm9ndXMiOiIxIn0pKTooVD1vLEwucmVtb3ZlKGkpKSksUC5zZXRSbmcoVCl9fXZhciB4LHcsTixFLF8sUyxrLFQsUixBLEIsRCxNLEg9Yy5zY2hlbWEuZ2V0VGV4dElubGluZUVsZW1lbnRzKCk7InN0cmluZyIhPXR5cGVvZiBvJiYoRD1vLm1lcmdlLE09by5kYXRhLG89by5jb250ZW50KSwvXiB8ICQvLnRlc3QobykmJihvPWEobykpLHg9Yy5wYXJzZXIsdz1uZXcgZSh7dmFsaWRhdGU6SS52YWxpZGF0ZX0sYy5zY2hlbWEpLEI9JzxzcGFuIGlkPSJtY2VfbWFya2VyIiBkYXRhLW1jZS10eXBlPSJib29rbWFyayI+JiN4RkVGRjsmI3gyMDBCOzwvc3Bhbj4nLFM9e2NvbnRlbnQ6byxmb3JtYXQ6Imh0bWwiLHNlbGVjdGlvbjohMH0sYy5maXJlKCJCZWZvcmVTZXRDb250ZW50IixTKSxvPVMuY29udGVudCwtMT09by5pbmRleE9mKCJ7JGNhcmV0fSIpJiYobys9InskY2FyZXR9Iiksbz1vLnJlcGxhY2UoL1x7XCRjYXJldFx9LyxCKSxUPVAuZ2V0Um5nKCk7dmFyIE89VC5zdGFydENvbnRhaW5lcnx8KFQucGFyZW50RWxlbWVudD9ULnBhcmVudEVsZW1lbnQoKTpudWxsKSxGPWMuZ2V0Qm9keSgpO089PT1GJiZQLmlzQ29sbGFwc2VkKCkmJkwuaXNCbG9jayhGLmZpcnN0Q2hpbGQpJiZ5KEYuZmlyc3RDaGlsZCkmJkwuaXNFbXB0eShGLmZpcnN0Q2hpbGQpJiYoVD1MLmNyZWF0ZVJuZygpLFQuc2V0U3RhcnQoRi5maXJzdENoaWxkLDApLFQuc2V0RW5kKEYuZmlyc3RDaGlsZCwwKSxQLnNldFJuZyhUKSksUC5pc0NvbGxhcHNlZCgpfHwoYy5zZWxlY3Rpb24uc2V0Um5nKGMuc2VsZWN0aW9uLmdldFJuZygpKSxjLmdldERvYygpLmV4ZWNDb21tYW5kKCJEZWxldGUiLCExLG51bGwpLGQoKSksTj1QLmdldE5vZGUoKTt2YXIgej17Y29udGV4dDpOLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksZGF0YTpNfTtpZihfPXgucGFyc2Uobyx6KSxwKF8pLGYoXyksUj1fLmxhc3RDaGlsZCwibWNlX21hcmtlciI9PVIuYXR0cigiaWQiKSlmb3Ioaz1SLFI9Ui5wcmV2O1I7Uj1SLndhbGsoITApKWlmKDM9PVIudHlwZXx8IUwuaXNCbG9jayhSLm5hbWUpKXtjLnNjaGVtYS5pc1ZhbGlkQ2hpbGQoUi5wYXJlbnQubmFtZSwic3BhbiIpJiZSLnBhcmVudC5pbnNlcnQoayxSLCJiciI9PT1SLm5hbWUpO2JyZWFrfWlmKGMuX3NlbGVjdGlvbk92ZXJyaWRlcy5zaG93QmxvY2tDYXJldENvbnRhaW5lcihOKSx6LmludmFsaWQpe2ZvcihQLnNldENvbnRlbnQoQiksTj1QLmdldE5vZGUoKSxFPWMuZ2V0Qm9keSgpLDk9PU4ubm9kZVR5cGU/Tj1SPUU6Uj1OO1IhPT1FOylOPVIsUj1SLnBhcmVudE5vZGU7bz1OPT1FP0UuaW5uZXJIVE1MOkwuZ2V0T3V0ZXJIVE1MKE4pLG89dy5zZXJpYWxpemUoeC5wYXJzZShvLnJlcGxhY2UoLzxzcGFuIChpZD0ibWNlX21hcmtlciJ8aWQ9bWNlX21hcmtlcikuKz88XC9zcGFuPi9pLGZ1bmN0aW9uKCl7cmV0dXJuIHcuc2VyaWFsaXplKF8pfSkpKSxOPT1FP0wuc2V0SFRNTChFLG8pOkwuc2V0T3V0ZXJIVE1MKE4sbyl9ZWxzZSBvPXcuc2VyaWFsaXplKF8pLFI9Ti5maXJzdENoaWxkLEE9Ti5sYXN0Q2hpbGQsIVJ8fFI9PT1BJiYiQlIiPT09Ui5ub2RlTmFtZT9MLnNldEhUTUwoTixvKTpQLnNldENvbnRlbnQobyk7aCgpLEMoTC5nZXQoIm1jZV9tYXJrZXIiKSksZyhjLmdldEJvZHkoKSksYy5maXJlKCJTZXRDb250ZW50IixTKSxjLmFkZFZpc3VhbCgpfSxtY2VJbnNlcnRSYXdIVE1MOmZ1bmN0aW9uKGUsdCxuKXtQLnNldENvbnRlbnQoInRpbnlfbWNlX21hcmtlciIpLGMuc2V0Q29udGVudChjLmdldENvbnRlbnQoKS5yZXBsYWNlKC90aW55X21jZV9tYXJrZXIvZyxmdW5jdGlvbigpe3JldHVybiBufSkpfSxtY2VUb2dnbGVGb3JtYXQ6ZnVuY3Rpb24oZSx0LG4pe0Iobil9LG1jZVNldENvbnRlbnQ6ZnVuY3Rpb24oZSx0LG4pe2Muc2V0Q29udGVudChuKX0sIkluZGVudCxPdXRkZW50IjpmdW5jdGlvbihlKXt2YXIgdCxuLHI7dD1JLmluZGVudGF0aW9uLG49L1thLXolXSskL2kuZXhlYyh0KSx0PXBhcnNlSW50KHQsMTApLHgoIkluc2VydFVub3JkZXJlZExpc3QiKXx8eCgiSW5zZXJ0T3JkZXJlZExpc3QiKT9SKGUpOihJLmZvcmNlZF9yb290X2Jsb2NrfHxMLmdldFBhcmVudChQLmdldE5vZGUoKSxMLmlzQmxvY2spfHxILmFwcGx5KCJkaXYiKSx1KFAuZ2V0U2VsZWN0ZWRCbG9ja3MoKSxmdW5jdGlvbihpKXtpZigiZmFsc2UiIT09TC5nZXRDb250ZW50RWRpdGFibGUoaSkmJiJMSSIhPWkubm9kZU5hbWUpe3ZhciBvPWMuZ2V0UGFyYW0oImluZGVudF91c2VfbWFyZ2luIiwhMSk/Im1hcmdpbiI6InBhZGRpbmciO28rPSJydGwiPT1MLmdldFN0eWxlKGksImRpcmVjdGlvbiIsITApPyJSaWdodCI6IkxlZnQiLCJvdXRkZW50Ij09ZT8ocj1NYXRoLm1heCgwLHBhcnNlSW50KGkuc3R5bGVbb118fDAsMTApLXQpLEwuc2V0U3R5bGUoaSxvLHI/cituOiIiKSk6KHI9cGFyc2VJbnQoaS5zdHlsZVtvXXx8MCwxMCkrdCtuLEwuc2V0U3R5bGUoaSxvLHIpKX19KSl9LG1jZVJlcGFpbnQ6ZnVuY3Rpb24oKXt9LEluc2VydEhvcml6b250YWxSdWxlOmZ1bmN0aW9uKCl7Yy5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEsIjxociAvPiIpfSxtY2VUb2dnbGVWaXN1YWxBaWQ6ZnVuY3Rpb24oKXtjLmhhc1Zpc3VhbD0hYy5oYXNWaXN1YWwsYy5hZGRWaXN1YWwoKX0sbWNlUmVwbGFjZUNvbnRlbnQ6ZnVuY3Rpb24oZSx0LG4pe2MuZXhlY0NvbW1hbmQoIm1jZUluc2VydENvbnRlbnQiLCExLG4ucmVwbGFjZSgvXHtcJHNlbGVjdGlvblx9L2csUC5nZXRDb250ZW50KHtmb3JtYXQ6InRleHQifSkpKX0sbWNlSW5zZXJ0TGluazpmdW5jdGlvbihlLHQsbil7dmFyIHI7InN0cmluZyI9PXR5cGVvZiBuJiYobj17aHJlZjpufSkscj1MLmdldFBhcmVudChQLmdldE5vZGUoKSwiYSIpLG4uaHJlZj1uLmhyZWYucmVwbGFjZSgiICIsIiUyMCIpLHImJm4uaHJlZnx8SC5yZW1vdmUoImxpbmsiKSxuLmhyZWYmJkguYXBwbHkoImxpbmsiLG4scil9LHNlbGVjdEFsbDpmdW5jdGlvbigpe3ZhciBlPUwuZ2V0Um9vdCgpLHQ7UC5nZXRSbmcoKS5zZXRTdGFydD8odD1MLmNyZWF0ZVJuZygpLHQuc2V0U3RhcnQoZSwwKSx0LnNldEVuZChlLGUuY2hpbGROb2Rlcy5sZW5ndGgpLFAuc2V0Um5nKHQpKToodD1QLmdldFJuZygpLHQuaXRlbXx8KHQubW92ZVRvRWxlbWVudFRleHQoZSksdC5zZWxlY3QoKSkpfSwiZGVsZXRlIjpmdW5jdGlvbigpe1IoIkRlbGV0ZSIpO3ZhciBlPWMuZ2V0Qm9keSgpO0wuaXNFbXB0eShlKSYmKGMuc2V0Q29udGVudCgiIiksZS5maXJzdENoaWxkJiZMLmlzQmxvY2soZS5maXJzdENoaWxkKT9jLnNlbGVjdGlvbi5zZXRDdXJzb3JMb2NhdGlvbihlLmZpcnN0Q2hpbGQsMCk6Yy5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24oZSwwKSl9LG1jZU5ld0RvY3VtZW50OmZ1bmN0aW9uKCl7Yy5zZXRDb250ZW50KCIiKX0sSW5zZXJ0TGluZUJyZWFrOmZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKCl7Zm9yKHZhciBlPW5ldyBhKGgsbSksdCxuPWMuc2NoZW1hLmdldE5vbkVtcHR5RWxlbWVudHMoKTt0PWUubmV4dCgpOylpZihuW3Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKV18fHQubGVuZ3RoPjApcmV0dXJuITB9dmFyIGk9bixzLGwsdSxkPVAuZ2V0Um5nKCEwKTtuZXcgbyhMKS5ub3JtYWxpemUoZCk7dmFyIGY9ZC5zdGFydE9mZnNldCxoPWQuc3RhcnRDb250YWluZXI7aWYoMT09aC5ub2RlVHlwZSYmaC5oYXNDaGlsZE5vZGVzKCkpe3ZhciBwPWY+aC5jaGlsZE5vZGVzLmxlbmd0aC0xO2g9aC5jaGlsZE5vZGVzW01hdGgubWluKGYsaC5jaGlsZE5vZGVzLmxlbmd0aC0xKV18fGgsZj1wJiYzPT1oLm5vZGVUeXBlP2gubm9kZVZhbHVlLmxlbmd0aDowfXZhciBtPUwuZ2V0UGFyZW50KGgsTC5pc0Jsb2NrKSx5PW0/bS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpOiIiLGI9bT9MLmdldFBhcmVudChtLnBhcmVudE5vZGUsTC5pc0Jsb2NrKTpudWxsLEM9Yj9iLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk6IiIseD1pJiZpLmN0cmxLZXk7IkxJIiE9Q3x8eHx8KG09Yix5PUMpLGgmJjM9PWgubm9kZVR5cGUmJmY+PWgubm9kZVZhbHVlLmxlbmd0aCYmKGd8fHIoKXx8KHM9TC5jcmVhdGUoImJyIiksZC5pbnNlcnROb2RlKHMpLGQuc2V0U3RhcnRBZnRlcihzKSxkLnNldEVuZEFmdGVyKHMpLGw9ITApKSxzPUwuY3JlYXRlKCJiciIpLGQuaW5zZXJ0Tm9kZShzKTt2YXIgdz1MLmRvYy5kb2N1bWVudE1vZGU7cmV0dXJuIGcmJiJQUkUiPT15JiYoIXd8fDg+dykmJnMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoTC5kb2MuY3JlYXRlVGV4dE5vZGUoIlxyIikscyksdT1MLmNyZWF0ZSgic3BhbiIse30sIiZuYnNwOyIpLHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodSxzKSxQLnNjcm9sbEludG9WaWV3KHUpLEwucmVtb3ZlKHUpLGw/KGQuc2V0U3RhcnRCZWZvcmUocyksZC5zZXRFbmRCZWZvcmUocykpOihkLnNldFN0YXJ0QWZ0ZXIocyksZC5zZXRFbmRBZnRlcihzKSksUC5zZXRSbmcoZCksYy51bmRvTWFuYWdlci5hZGQoKSx2fX0pLE4oeyJKdXN0aWZ5TGVmdCxKdXN0aWZ5Q2VudGVyLEp1c3RpZnlSaWdodCxKdXN0aWZ5RnVsbCI6ZnVuY3Rpb24oZSl7dmFyIHQ9ImFsaWduIitlLnN1YnN0cmluZyg3KSxuPVAuaXNDb2xsYXBzZWQoKT9bTC5nZXRQYXJlbnQoUC5nZXROb2RlKCksTC5pc0Jsb2NrKV06UC5nZXRTZWxlY3RlZEJsb2NrcygpLHI9ZihuLGZ1bmN0aW9uKGUpe3JldHVybiEhSC5tYXRjaE5vZGUoZSx0KX0pO3JldHVybi0xIT09aChyLHYpfSwiQm9sZCxJdGFsaWMsVW5kZXJsaW5lLFN0cmlrZXRocm91Z2gsU3VwZXJzY3JpcHQsU3Vic2NyaXB0IjpmdW5jdGlvbihlKXtyZXR1cm4gQShlKX0sbWNlQmxvY2tRdW90ZTpmdW5jdGlvbigpe3JldHVybiBBKCJibG9ja3F1b3RlIil9LE91dGRlbnQ6ZnVuY3Rpb24oKXt2YXIgZTtpZihJLmlubGluZV9zdHlsZXMpe2lmKChlPUwuZ2V0UGFyZW50KFAuZ2V0U3RhcnQoKSxMLmlzQmxvY2spKSYmcGFyc2VJbnQoZS5zdHlsZS5wYWRkaW5nTGVmdCwxMCk+MClyZXR1cm4gdjtpZigoZT1MLmdldFBhcmVudChQLmdldEVuZCgpLEwuaXNCbG9jaykpJiZwYXJzZUludChlLnN0eWxlLnBhZGRpbmdMZWZ0LDEwKT4wKXJldHVybiB2fXJldHVybiB4KCJJbnNlcnRVbm9yZGVyZWRMaXN0Iil8fHgoIkluc2VydE9yZGVyZWRMaXN0Iil8fCFJLmlubGluZV9zdHlsZXMmJiEhTC5nZXRQYXJlbnQoUC5nZXROb2RlKCksIkJMT0NLUVVPVEUiKX0sIkluc2VydFVub3JkZXJlZExpc3QsSW5zZXJ0T3JkZXJlZExpc3QiOmZ1bmN0aW9uKGUpe3ZhciB0PUwuZ2V0UGFyZW50KFAuZ2V0Tm9kZSgpLCJ1bCxvbCIpO3JldHVybiB0JiYoImluc2VydHVub3JkZXJlZGxpc3QiPT09ZSYmIlVMIj09PXQudGFnTmFtZXx8Imluc2VydG9yZGVyZWRsaXN0Ij09PWUmJiJPTCI9PT10LnRhZ05hbWUpfX0sInN0YXRlIiksTih7IkZvbnRTaXplLEZvbnROYW1lIjpmdW5jdGlvbihlKXt2YXIgdD0wLG47cmV0dXJuKG49TC5nZXRQYXJlbnQoUC5nZXROb2RlKCksInNwYW4iKSkmJih0PSJmb250c2l6ZSI9PWU/bi5zdHlsZS5mb250U2l6ZTpuLnN0eWxlLmZvbnRGYW1pbHkucmVwbGFjZSgvLCAvZywiLCIpLnJlcGxhY2UoL1tcJ1wiXS9nLCIiKS50b0xvd2VyQ2FzZSgpKSx0fX0sInZhbHVlIiksTih7VW5kbzpmdW5jdGlvbigpe2MudW5kb01hbmFnZXIudW5kbygpfSxSZWRvOmZ1bmN0aW9uKCl7Yy51bmRvTWFuYWdlci5yZWRvKCl9fSl9fSkscihpZSxbbV0sZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLG8pe3ZhciBhPXRoaXMscyxsO2lmKGU9cihlKSxvPWEuc2V0dGluZ3M9b3x8e30scz1vLmJhc2VfdXJpLC9eKFtcd1wtXSspOihbXlwvXXsyfSkvaS50ZXN0KGUpfHwvXlxzKiMvLnRlc3QoZSkpcmV0dXJuIHZvaWQoYS5zb3VyY2U9ZSk7dmFyIGM9MD09PWUuaW5kZXhPZigiLy8iKTswIT09ZS5pbmRleE9mKCIvIil8fGN8fChlPShzP3MucHJvdG9jb2x8fCJodHRwIjoiaHR0cCIpKyI6Ly9tY2VfaG9zdCIrZSksL15bXHdcLV0qOj9cL1wvLy50ZXN0KGUpfHwobD1vLmJhc2VfdXJpP28uYmFzZV91cmkucGF0aDpuZXcgdChsb2NhdGlvbi5ocmVmKS5kaXJlY3RvcnksIiI9PT1vLmJhc2VfdXJpLnByb3RvY29sP2U9Ii8vbWNlX2hvc3QiK2EudG9BYnNQYXRoKGwsZSk6KGU9LyhbXiM/XSopKFsjP10/LiopLy5leGVjKGUpLGU9KHMmJnMucHJvdG9jb2x8fCJodHRwIikrIjovL21jZV9ob3N0IithLnRvQWJzUGF0aChsLGVbMV0pK2VbMl0pKSxlPWUucmVwbGFjZSgvQEAvZywiKG1jZV9hdCkiKSxlPS9eKD86KD8hW146QF0rOlteOkBcL10qQCkoW146XC8/Iy5dKyk6KT8oPzpcL1wvKT8oKD86KChbXjpAXC9dKik6PyhbXjpAXC9dKikpP0ApPyhbXjpcLz8jXSopKD86OihcZCopKT8pKCgoXC8oPzpbXj8jXSg/IVtePyNcL10qXC5bXj8jXC8uXSsoPzpbPyNdfCQpKSkqXC8/KT8oW14/I1wvXSopKSg/Olw/KFteI10qKSk/KD86IyguKikpPykvLmV4ZWMoZSksbihpLGZ1bmN0aW9uKHQsbil7dmFyIHI9ZVtuXTtyJiYocj1yLnJlcGxhY2UoL1wobWNlX2F0XCkvZywiQEAiKSksYVt0XT1yfSkscyYmKGEucHJvdG9jb2x8fChhLnByb3RvY29sPXMucHJvdG9jb2wpLGEudXNlckluZm98fChhLnVzZXJJbmZvPXMudXNlckluZm8pLGEucG9ydHx8Im1jZV9ob3N0IiE9PWEuaG9zdHx8KGEucG9ydD1zLnBvcnQpLGEuaG9zdCYmIm1jZV9ob3N0IiE9PWEuaG9zdHx8KGEuaG9zdD1zLmhvc3QpLGEuc291cmNlPSIiKSxjJiYoYS5wcm90b2NvbD0iIil9dmFyIG49ZS5lYWNoLHI9ZS50cmltLGk9InNvdXJjZSBwcm90b2NvbCBhdXRob3JpdHkgdXNlckluZm8gdXNlciBwYXNzd29yZCBob3N0IHBvcnQgcmVsYXRpdmUgcGF0aCBkaXJlY3RvcnkgZmlsZSBxdWVyeSBhbmNob3IiLnNwbGl0KCIgIiksbz17ZnRwOjIxLGh0dHA6ODAsaHR0cHM6NDQzLG1haWx0bzoyNX07cmV0dXJuIHQucHJvdG90eXBlPXtzZXRQYXRoOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7ZT0vXiguKj8pXC8/KFx3Kyk/JC8uZXhlYyhlKSx0LnBhdGg9ZVswXSx0LmRpcmVjdG9yeT1lWzFdLHQuZmlsZT1lWzJdLHQuc291cmNlPSIiLHQuZ2V0VVJJKCl9LHRvUmVsYXRpdmU6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcyxyO2lmKCIuLyI9PT1lKXJldHVybiBlO2lmKGU9bmV3IHQoZSx7YmFzZV91cmk6bn0pLCJtY2VfaG9zdCIhPWUuaG9zdCYmbi5ob3N0IT1lLmhvc3QmJmUuaG9zdHx8bi5wb3J0IT1lLnBvcnR8fG4ucHJvdG9jb2whPWUucHJvdG9jb2wmJiIiIT09ZS5wcm90b2NvbClyZXR1cm4gZS5nZXRVUkkoKTt2YXIgaT1uLmdldFVSSSgpLG89ZS5nZXRVUkkoKTtyZXR1cm4gaT09b3x8Ii8iPT1pLmNoYXJBdChpLmxlbmd0aC0xKSYmaS5zdWJzdHIoMCxpLmxlbmd0aC0xKT09bz9pOihyPW4udG9SZWxQYXRoKG4ucGF0aCxlLnBhdGgpLGUucXVlcnkmJihyKz0iPyIrZS5xdWVyeSksZS5hbmNob3ImJihyKz0iIyIrZS5hbmNob3IpLHIpfSx0b0Fic29sdXRlOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGU9bmV3IHQoZSx7YmFzZV91cmk6dGhpc30pLGUuZ2V0VVJJKG4mJnRoaXMuaXNTYW1lT3JpZ2luKGUpKX0saXNTYW1lT3JpZ2luOmZ1bmN0aW9uKGUpe2lmKHRoaXMuaG9zdD09ZS5ob3N0JiZ0aGlzLnByb3RvY29sPT1lLnByb3RvY29sKXtpZih0aGlzLnBvcnQ9PWUucG9ydClyZXR1cm4hMDt2YXIgdD1vW3RoaXMucHJvdG9jb2xdO2lmKHQmJih0aGlzLnBvcnR8fHQpPT0oZS5wb3J0fHx0KSlyZXR1cm4hMH1yZXR1cm4hMX0sdG9SZWxQYXRoOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9IiIsbyxhO2lmKGU9ZS5zdWJzdHJpbmcoMCxlLmxhc3RJbmRleE9mKCIvIikpLGU9ZS5zcGxpdCgiLyIpLG49dC5zcGxpdCgiLyIpLGUubGVuZ3RoPj1uLmxlbmd0aClmb3Iobz0wLGE9ZS5sZW5ndGg7YT5vO28rKylpZihvPj1uLmxlbmd0aHx8ZVtvXSE9bltvXSl7cj1vKzE7YnJlYWt9aWYoZS5sZW5ndGg8bi5sZW5ndGgpZm9yKG89MCxhPW4ubGVuZ3RoO2E+bztvKyspaWYobz49ZS5sZW5ndGh8fGVbb10hPW5bb10pe3I9bysxO2JyZWFrfWlmKDE9PT1yKXJldHVybiB0O2ZvcihvPTAsYT1lLmxlbmd0aC0oci0xKTthPm87bysrKWkrPSIuLi8iO2ZvcihvPXItMSxhPW4ubGVuZ3RoO2E+bztvKyspaSs9byE9ci0xPyIvIituW29dOm5bb107cmV0dXJuIGl9LHRvQWJzUGF0aDpmdW5jdGlvbihlLHQpe3ZhciByLGk9MCxvPVtdLGEscztmb3IoYT0vXC8kLy50ZXN0KHQpPyIvIjoiIixlPWUuc3BsaXQoIi8iKSx0PXQuc3BsaXQoIi8iKSxuKGUsZnVuY3Rpb24oZSl7ZSYmby5wdXNoKGUpfSksZT1vLHI9dC5sZW5ndGgtMSxvPVtdO3I+PTA7ci0tKTAhPT10W3JdLmxlbmd0aCYmIi4iIT09dFtyXSYmKCIuLiIhPT10W3JdP2k+MD9pLS06by5wdXNoKHRbcl0pOmkrKyk7cmV0dXJuIHI9ZS5sZW5ndGgtaSxzPTA+PXI/by5yZXZlcnNlKCkuam9pbigiLyIpOmUuc2xpY2UoMCxyKS5qb2luKCIvIikrIi8iK28ucmV2ZXJzZSgpLmpvaW4oIi8iKSwwIT09cy5pbmRleE9mKCIvIikmJihzPSIvIitzKSxhJiZzLmxhc3RJbmRleE9mKCIvIikhPT1zLmxlbmd0aC0xJiYocys9YSksc30sZ2V0VVJJOmZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcztyZXR1cm4gbi5zb3VyY2UmJiFlfHwodD0iIixlfHwodCs9bi5wcm90b2NvbD9uLnByb3RvY29sKyI6Ly8iOiIvLyIsbi51c2VySW5mbyYmKHQrPW4udXNlckluZm8rIkAiKSxuLmhvc3QmJih0Kz1uLmhvc3QpLG4ucG9ydCYmKHQrPSI6IituLnBvcnQpKSxuLnBhdGgmJih0Kz1uLnBhdGgpLG4ucXVlcnkmJih0Kz0iPyIrbi5xdWVyeSksbi5hbmNob3ImJih0Kz0iIyIrbi5hbmNob3IpLG4uc291cmNlPXQpLG4uc291cmNlfX0sdC5wYXJzZURhdGFVcmk9ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4gZT1kZWNvZGVVUklDb21wb25lbnQoZSkuc3BsaXQoIiwiKSxuPS9kYXRhOihbXjtdKykvLmV4ZWMoZVswXSksbiYmKHQ9blsxXSkse3R5cGU6dCxkYXRhOmVbMV19fSx0LmdldERvY3VtZW50QmFzZVVybD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdD0wIT09ZS5wcm90b2NvbC5pbmRleE9mKCJodHRwIikmJiJmaWxlOiIhPT1lLnByb3RvY29sP2UuaHJlZjplLnByb3RvY29sKyIvLyIrZS5ob3N0K2UucGF0aG5hbWUsL15bXjpdKzpcL1wvXC8/W15cL10rXC8vLnRlc3QodCkmJih0PXQucmVwbGFjZSgvW1w/I10uKiQvLCIiKS5yZXBsYWNlKC9bXC9cXF1bXlwvXSskLywiIiksL1tcL1xcXSQvLnRlc3QodCl8fCh0Kz0iLyIpKSx0fSx0fSkscihvZSxbbV0sZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe312YXIgbj1lLmVhY2gscj1lLmV4dGVuZCxpLG87cmV0dXJuIHQuZXh0ZW5kPWk9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3ZhciBlLHQsbixyPXRoaXM7aWYoIW8mJihyLmluaXQmJnIuaW5pdC5hcHBseShyLGFyZ3VtZW50cyksdD1yLk1peGlucykpZm9yKGU9dC5sZW5ndGg7ZS0tOyluPXRbZV0sbi5pbml0JiZuLmluaXQuYXBwbHkocixhcmd1bWVudHMpfWZ1bmN0aW9uIGEoKXtyZXR1cm4gdGhpc31mdW5jdGlvbiBzKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dGhpcyxyPW4uX3N1cGVyLGk7cmV0dXJuIG4uX3N1cGVyPWNbZV0saT10LmFwcGx5KG4sYXJndW1lbnRzKSxuLl9zdXBlcj1yLGl9fXZhciBsPXRoaXMsYz1sLnByb3RvdHlwZSx1LGQsZjtvPSEwLHU9bmV3IGwsbz0hMSxlLk1peGlucyYmKG4oZS5NaXhpbnMsZnVuY3Rpb24odCl7Zm9yKHZhciBuIGluIHQpImluaXQiIT09biYmKGVbbl09dFtuXSl9KSxjLk1peGlucyYmKGUuTWl4aW5zPWMuTWl4aW5zLmNvbmNhdChlLk1peGlucykpKSxlLk1ldGhvZHMmJm4oZS5NZXRob2RzLnNwbGl0KCIsIiksZnVuY3Rpb24odCl7ZVt0XT1hfSksZS5Qcm9wZXJ0aWVzJiZuKGUuUHJvcGVydGllcy5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQpe3ZhciBuPSJfIit0O2VbdF09ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyO3JldHVybiBlIT09cj8odFtuXT1lLHQpOnRbbl19fSksZS5TdGF0aWNzJiZuKGUuU3RhdGljcyxmdW5jdGlvbihlLG4pe3Rbbl09ZX0pLGUuRGVmYXVsdHMmJmMuRGVmYXVsdHMmJihlLkRlZmF1bHRzPXIoe30sYy5EZWZhdWx0cyxlLkRlZmF1bHRzKSk7Zm9yKGQgaW4gZSlmPWVbZF0sImZ1bmN0aW9uIj09dHlwZW9mIGYmJmNbZF0/dVtkXT1zKGQsZik6dVtkXT1mO3JldHVybiB0LnByb3RvdHlwZT11LHQuY29uc3RydWN0b3I9dCx0LmV4dGVuZD1pLHR9LHR9KSxyKGFlLFttXSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2Z1bmN0aW9uIG4oKXtyZXR1cm4hMX1mdW5jdGlvbiByKCl7cmV0dXJuITB9ZnVuY3Rpb24gaShlLGkpe3ZhciBvLHMsbCxjO2lmKGU9ZS50b0xvd2VyQ2FzZSgpLGk9aXx8e30saS50eXBlPWUsaS50YXJnZXR8fChpLnRhcmdldD11KSxpLnByZXZlbnREZWZhdWx0fHwoaS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe2kuaXNEZWZhdWx0UHJldmVudGVkPXJ9LGkuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7aS5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1yfSxpLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbj1mdW5jdGlvbigpe2kuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9cn0saS5pc0RlZmF1bHRQcmV2ZW50ZWQ9bixpLmlzUHJvcGFnYXRpb25TdG9wcGVkPW4saS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1uKSx0LmJlZm9yZUZpcmUmJnQuYmVmb3JlRmlyZShpKSxvPWRbZV0pZm9yKHM9MCxsPW8ubGVuZ3RoO2w+cztzKyspe2lmKGM9b1tzXSxjLm9uY2UmJmEoZSxjLmZ1bmMpLGkuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSlyZXR1cm4gaS5zdG9wUHJvcGFnYXRpb24oKSxpO2lmKGMuZnVuYy5jYWxsKHUsaSk9PT0hMSlyZXR1cm4gaS5wcmV2ZW50RGVmYXVsdCgpLGl9cmV0dXJuIGl9ZnVuY3Rpb24gbyh0LHIsaSxvKXt2YXIgYSxzLGw7aWYocj09PSExJiYocj1uKSxyKWZvcihyPXtmdW5jOnJ9LG8mJmUuZXh0ZW5kKHIsbykscz10LnRvTG93ZXJDYXNlKCkuc3BsaXQoIiAiKSxsPXMubGVuZ3RoO2wtLTspdD1zW2xdLGE9ZFt0XSxhfHwoYT1kW3RdPVtdLGYodCwhMCkpLGk/YS51bnNoaWZ0KHIpOmEucHVzaChyKTtyZXR1cm4gY31mdW5jdGlvbiBhKGUsdCl7dmFyIG4scixpLG8sYTtpZihlKWZvcihvPWUudG9Mb3dlckNhc2UoKS5zcGxpdCgiICIpLG49by5sZW5ndGg7bi0tOyl7aWYoZT1vW25dLHI9ZFtlXSwhZSl7Zm9yKGkgaW4gZClmKGksITEpLGRlbGV0ZSBkW2ldO3JldHVybiBjfWlmKHIpe2lmKHQpZm9yKGE9ci5sZW5ndGg7YS0tOylyW2FdLmZ1bmM9PT10JiYocj1yLnNsaWNlKDAsYSkuY29uY2F0KHIuc2xpY2UoYSsxKSksZFtlXT1yKTtlbHNlIHIubGVuZ3RoPTA7ci5sZW5ndGh8fChmKGUsITEpLGRlbGV0ZSBkW2VdKX19ZWxzZXtmb3IoZSBpbiBkKWYoZSwhMSk7ZD17fX1yZXR1cm4gY31mdW5jdGlvbiBzKGUsdCxuKXtyZXR1cm4gbyhlLHQsbix7b25jZTohMH0pfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLCEoIWRbZV18fDA9PT1kW2VdLmxlbmd0aCl9dmFyIGM9dGhpcyx1LGQ9e30sZjt0PXR8fHt9LHU9dC5zY29wZXx8YyxmPXQudG9nZ2xlRXZlbnR8fG4sYy5maXJlPWksYy5vbj1vLGMub2ZmPWEsYy5vbmNlPXMsYy5oYXM9bH12YXIgbj1lLm1ha2VNYXAoImZvY3VzIGJsdXIgZm9jdXNpbiBmb2N1c291dCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIGJlZm9yZXBhc3RlIHBhc3RlIGN1dCBjb3B5IHNlbGVjdGlvbmNoYW5nZSBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgd2hlZWwga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBjb250ZXh0bWVudSBkcmFnc3RhcnQgZHJhZ2VuZCBkcmFnb3ZlciBkcmFnZ2VzdHVyZSBkcmFnZHJvcCBkcm9wIGRyYWcgc3VibWl0IGNvbXBvc2l0aW9uc3RhcnQgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb251cGRhdGUgdG91Y2hzdGFydCB0b3VjaGVuZCIsIiAiKTtyZXR1cm4gdC5pc05hdGl2ZT1mdW5jdGlvbihlKXtyZXR1cm4hIW5bZS50b0xvd2VyQ2FzZSgpXX0sdH0pLHIoc2UsW10sZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMuY3JlYXRlPWUuY3JlYXRlfXJldHVybiBlLmNyZWF0ZT1mdW5jdGlvbih0LG4pe3JldHVybiBuZXcgZSh7Y3JlYXRlOmZ1bmN0aW9uKGUscil7ZnVuY3Rpb24gaSh0KXtlLnNldChyLHQudmFsdWUpfWZ1bmN0aW9uIG8oZSl7dC5zZXQobixlLnZhbHVlKX12YXIgYTtyZXR1cm4gZS5vbigiY2hhbmdlOiIrcixvKSx0Lm9uKCJjaGFuZ2U6IituLGkpLGE9ZS5fYmluZGluZ3MsYXx8KGE9ZS5fYmluZGluZ3M9W10sZS5vbigiZGVzdHJveSIsZnVuY3Rpb24oKXtmb3IodmFyIGU9YS5sZW5ndGg7ZS0tOylhW2VdKCl9KSksYS5wdXNoKGZ1bmN0aW9uKCl7dC5vZmYoImNoYW5nZToiK24saSl9KSx0LmdldChuKX19KX0sZX0pLHIobGUsW2FlXSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe3JldHVybiB0Ll9ldmVudERpc3BhdGNoZXJ8fCh0Ll9ldmVudERpc3BhdGNoZXI9bmV3IGUoe3Njb3BlOnQsdG9nZ2xlRXZlbnQ6ZnVuY3Rpb24obixyKXtlLmlzTmF0aXZlKG4pJiZ0LnRvZ2dsZU5hdGl2ZUV2ZW50JiZ0LnRvZ2dsZU5hdGl2ZUV2ZW50KG4scil9fSkpLHQuX2V2ZW50RGlzcGF0Y2hlcn1yZXR1cm57ZmlyZTpmdW5jdGlvbihlLG4scil7dmFyIGk9dGhpcztpZihpLnJlbW92ZWQmJiJyZW1vdmUiIT09ZSlyZXR1cm4gbjtpZihuPXQoaSkuZmlyZShlLG4sciksciE9PSExJiZpLnBhcmVudClmb3IodmFyIG89aS5wYXJlbnQoKTtvJiYhbi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylvLmZpcmUoZSxuLCExKSxvPW8ucGFyZW50KCk7cmV0dXJuIG59LG9uOmZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdCh0aGlzKS5vbihlLG4scil9LG9mZjpmdW5jdGlvbihlLG4pe3JldHVybiB0KHRoaXMpLm9mZihlLG4pfSxvbmNlOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQodGhpcykub25jZShlLG4pfSxoYXNFdmVudExpc3RlbmVyczpmdW5jdGlvbihlKXtyZXR1cm4gdCh0aGlzKS5oYXMoZSl9fX0pLHIoY2UsW3NlLGxlLG9lLG1dLGZ1bmN0aW9uKGUsdCxuLHIpe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUubm9kZVR5cGU+MH1mdW5jdGlvbiBvKGUsdCl7dmFyIG4sYTtpZihlPT09dClyZXR1cm4hMDtpZihudWxsPT09ZXx8bnVsbD09PXQpcmV0dXJuIGU9PT10O2lmKCJvYmplY3QiIT10eXBlb2YgZXx8Im9iamVjdCIhPXR5cGVvZiB0KXJldHVybiBlPT09dDtpZihyLmlzQXJyYXkodCkpe2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKG49ZS5sZW5ndGg7bi0tOylpZighbyhlW25dLHRbbl0pKXJldHVybiExfWlmKGkoZSl8fGkodCkpcmV0dXJuIGU9PT10O2E9e307Zm9yKG4gaW4gdCl7aWYoIW8oZVtuXSx0W25dKSlyZXR1cm4hMTthW25dPSEwfWZvcihuIGluIGUpaWYoIWFbbl0mJiFvKGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuIG4uZXh0ZW5kKHtNaXhpbnM6W3RdLGluaXQ6ZnVuY3Rpb24odCl7dmFyIG4scjt0PXR8fHt9O2ZvcihuIGluIHQpcj10W25dLHIgaW5zdGFuY2VvZiBlJiYodFtuXT1yLmNyZWF0ZSh0aGlzLG4pKTt0aGlzLmRhdGE9dH0sc2V0OmZ1bmN0aW9uKHQsbil7dmFyIHIsaSxhPXRoaXMuZGF0YVt0XTtpZihuIGluc3RhbmNlb2YgZSYmKG49bi5jcmVhdGUodGhpcyx0KSksIm9iamVjdCI9PXR5cGVvZiB0KXtmb3IociBpbiB0KXRoaXMuc2V0KHIsdFtyXSk7cmV0dXJuIHRoaXN9cmV0dXJuIG8oYSxuKXx8KHRoaXMuZGF0YVt0XT1uLGk9e3RhcmdldDp0aGlzLG5hbWU6dCx2YWx1ZTpuLG9sZFZhbHVlOmF9LHRoaXMuZmlyZSgiY2hhbmdlOiIrdCxpKSx0aGlzLmZpcmUoImNoYW5nZSIsaSkpLHRoaXN9LGdldDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5kYXRhW2VdfSxoYXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW4gdGhpcy5kYXRhfSxiaW5kOmZ1bmN0aW9uKHQpe3JldHVybiBlLmNyZWF0ZSh0aGlzLHQpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJkZXN0cm95Iil9fSl9KSxyKHVlLFtvZV0sZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXtmb3IodmFyIHQ9W10sbj1lLmxlbmd0aCxyO24tLTspcj1lW25dLHIuX19jaGVja2VkfHwodC5wdXNoKHIpLHIuX19jaGVja2VkPTEpO2ZvcihuPXQubGVuZ3RoO24tLTspZGVsZXRlIHRbbl0uX19jaGVja2VkO3JldHVybiB0fXZhciBuPS9eKFtcd1xcKl0rKT8oPzojKFtcd1wtXFxdKykpPyg/OlwuKFtcd1xcXC5dKykpPyg/OlxbXEA/KFtcd1xcXSspKFtcXlwkXCohfl0/PSkoW1x3XFxdKylcXSk/KD86XDooLispKT8vaSxyPS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15cW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygoPzoufFxyfFxuKSopL2csaT0vXlxzKnxccyokL2csbyxhPWUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIGU/KGU9ZS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKHQpe3JldHVybiIqIj09PWV8fHQudHlwZT09PWV9KTp2b2lkIDB9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9mdW5jdGlvbih0KXtyZXR1cm4gdC5fbmFtZT09PWV9OnZvaWQgMH1mdW5jdGlvbiBhKGUpe3JldHVybiBlPyhlPWUuc3BsaXQoIi4iKSxmdW5jdGlvbih0KXtmb3IodmFyIG49ZS5sZW5ndGg7bi0tOylpZighdC5jbGFzc2VzLmNvbnRhaW5zKGVbbl0pKXJldHVybiExO3JldHVybiEwfSk6dm9pZCAwfWZ1bmN0aW9uIHMoZSx0LG4pe3JldHVybiBlP2Z1bmN0aW9uKHIpe3ZhciBpPXJbZV0/cltlXSgpOiIiO3JldHVybiB0PyI9Ij09PXQ/aT09PW46Iio9Ij09PXQ/aS5pbmRleE9mKG4pPj0wOiJ+PSI9PT10PygiICIraSsiICIpLmluZGV4T2YoIiAiK24rIiAiKT49MDoiIT0iPT09dD9pIT1uOiJePSI9PT10PzA9PT1pLmluZGV4T2Yobik6IiQ9Ij09PXQ/aS5zdWJzdHIoaS5sZW5ndGgtbi5sZW5ndGgpPT09bjohMTohIW59OnZvaWQgMH1mdW5jdGlvbiBsKGUpe3ZhciB0O3JldHVybiBlPyhlPS8oPzpub3RcKCguKylcKSl8KC4rKS9pLmV4ZWMoZSksZVsxXT8odD11KGVbMV0sW10pLGZ1bmN0aW9uKGUpe3JldHVybiFkKGUsdCl9KTooZT1lWzJdLGZ1bmN0aW9uKHQsbixyKXtyZXR1cm4iZmlyc3QiPT09ZT8wPT09bjoibGFzdCI9PT1lP249PT1yLTE6ImV2ZW4iPT09ZT9uJTI9PT0wOiJvZGQiPT09ZT9uJTI9PT0xOnRbZV0/dFtlXSgpOiExfSkpOnZvaWQgMH1mdW5jdGlvbiBjKGUscixjKXtmdW5jdGlvbiB1KGUpe2UmJnIucHVzaChlKX12YXIgZDtyZXR1cm4gZD1uLmV4ZWMoZS5yZXBsYWNlKGksIiIpKSx1KHQoZFsxXSkpLHUobyhkWzJdKSksdShhKGRbM10pKSx1KHMoZFs0XSxkWzVdLGRbNl0pKSx1KGwoZFs3XSkpLHIucHNldWRvPSEhZFs3XSxyLmRpcmVjdD1jLHJ9ZnVuY3Rpb24gdShlLHQpe3ZhciBuPVtdLGksbyxhO2RvIGlmKHIuZXhlYygiIiksbz1yLmV4ZWMoZSksbyYmKGU9b1szXSxuLnB1c2gob1sxXSksb1syXSkpe2k9b1szXTticmVha313aGlsZShvKTtmb3IoaSYmdShpLHQpLGU9W10sYT0wO2E8bi5sZW5ndGg7YSsrKSI+IiE9blthXSYmZS5wdXNoKGMoblthXSxbXSwiPiI9PT1uW2EtMV0pKTtyZXR1cm4gdC5wdXNoKGUpLHR9dmFyIGQ9dGhpcy5tYXRjaDt0aGlzLl9zZWxlY3RvcnM9dShlLFtdKX0sbWF0Y2g6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhLHMsbCxjLHUsZCxmLGgscDtmb3IodD10fHx0aGlzLl9zZWxlY3RvcnMsbj0wLHI9dC5sZW5ndGg7cj5uO24rKyl7Zm9yKGE9dFtuXSxvPWEubGVuZ3RoLHA9ZSxoPTAsaT1vLTE7aT49MDtpLS0pZm9yKGM9YVtpXTtwOyl7aWYoYy5wc2V1ZG8pZm9yKGY9cC5wYXJlbnQoKS5pdGVtcygpLHU9ZD1mLmxlbmd0aDt1LS0mJmZbdV0hPT1wOyk7Zm9yKHM9MCxsPWMubGVuZ3RoO2w+cztzKyspaWYoIWNbc10ocCx1LGQpKXtzPWwrMTticmVha31pZihzPT09bCl7aCsrO2JyZWFrfWlmKGk9PT1vLTEpYnJlYWs7cD1wLnBhcmVudCgpfWlmKGg9PT1vKXJldHVybiEwfXJldHVybiExfSxmaW5kOmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oZSx0LGkpe3ZhciBvLGEscyxsLGMsdT10W2ldO2ZvcihvPTAsYT1lLmxlbmd0aDthPm87bysrKXtmb3IoYz1lW29dLHM9MCxsPXUubGVuZ3RoO2w+cztzKyspaWYoIXVbc10oYyxvLGEpKXtzPWwrMTticmVha31pZihzPT09bClpPT10Lmxlbmd0aC0xP3IucHVzaChjKTpjLml0ZW1zJiZuKGMuaXRlbXMoKSx0LGkrMSk7ZWxzZSBpZih1LmRpcmVjdClyZXR1cm47Yy5pdGVtcyYmbihjLml0ZW1zKCksdCxpKX19dmFyIHI9W10saSxzLGw9dGhpcy5fc2VsZWN0b3JzO2lmKGUuaXRlbXMpe2ZvcihpPTAscz1sLmxlbmd0aDtzPmk7aSsrKW4oZS5pdGVtcygpLGxbaV0sMCk7cz4xJiYocj10KHIpKX1yZXR1cm4gb3x8KG89YS5Db2xsZWN0aW9uKSxuZXcgbyhyKX19KTtyZXR1cm4gYX0pLHIoZGUsW20sdWUsb2VdLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89QXJyYXkucHJvdG90eXBlLnB1c2gsYT1BcnJheS5wcm90b3R5cGUuc2xpY2U7cmV0dXJuIGk9e2xlbmd0aDowLGluaXQ6ZnVuY3Rpb24oZSl7ZSYmdGhpcy5hZGQoZSl9LGFkZDpmdW5jdGlvbih0KXt2YXIgbj10aGlzO3JldHVybiBlLmlzQXJyYXkodCk/by5hcHBseShuLHQpOnQgaW5zdGFuY2VvZiByP24uYWRkKHQudG9BcnJheSgpKTpvLmNhbGwobix0KSxufSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXQubGVuZ3RoLHI7Zm9yKHQubGVuZ3RoPTAsdC5hZGQoZSkscj10Lmxlbmd0aDtuPnI7cisrKWRlbGV0ZSB0W3JdO3JldHVybiB0fSxmaWx0ZXI6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcyxpLG8sYT1bXSxzLGw7Zm9yKCJzdHJpbmciPT10eXBlb2YgZT8oZT1uZXcgdChlKSxsPWZ1bmN0aW9uKHQpe3JldHVybiBlLm1hdGNoKHQpfSk6bD1lLGk9MCxvPW4ubGVuZ3RoO28+aTtpKyspcz1uW2ldLGwocykmJmEucHVzaChzKTtyZXR1cm4gbmV3IHIoYSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKGEuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZXE6ZnVuY3Rpb24oZSl7cmV0dXJuLTE9PT1lP3RoaXMuc2xpY2UoZSk6dGhpcy5zbGljZShlLCtlKzEpfSxlYWNoOmZ1bmN0aW9uKHQpe3JldHVybiBlLmVhY2godGhpcyx0KSx0aGlzfSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIGUudG9BcnJheSh0aGlzKX0saW5kZXhPZjpmdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhpcyxuPXQubGVuZ3RoO24tLSYmdFtuXSE9PWU7KTtyZXR1cm4gbn0scmV2ZXJzZTpmdW5jdGlvbigpe3JldHVybiBuZXcgcihlLnRvQXJyYXkodGhpcykucmV2ZXJzZSgpKX0saGFzQ2xhc3M6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXNbMF0/dGhpc1swXS5jbGFzc2VzLmNvbnRhaW5zKGUpOiExfSxwcm9wOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcyxyLGk7cmV0dXJuIHQhPT1yPyhuLmVhY2goZnVuY3Rpb24obil7bltlXSYmbltlXSh0KX0pLG4pOihpPW5bMF0saSYmaVtlXT9pW2VdKCk6dm9pZCAwKX0sZXhlYzpmdW5jdGlvbih0KXt2YXIgbj10aGlzLHI9ZS50b0FycmF5KGFyZ3VtZW50cykuc2xpY2UoMSk7cmV0dXJuIG4uZWFjaChmdW5jdGlvbihlKXtlW3RdJiZlW3RdLmFwcGx5KGUscil9KSxufSxyZW1vdmU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5sZW5ndGg7ZS0tOyl0aGlzW2VdLnJlbW92ZSgpO3JldHVybiB0aGlzfSxhZGRDbGFzczpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3QuY2xhc3Nlcy5hZGQoZSl9KX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXt0LmNsYXNzZXMucmVtb3ZlKGUpfSl9fSxlLmVhY2goImZpcmUgb24gb2ZmIHNob3cgaGlkZSBhcHBlbmQgcHJlcGVuZCBiZWZvcmUgYWZ0ZXIgcmVmbG93Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKHQpe2lbdF09ZnVuY3Rpb24oKXt2YXIgbj1lLnRvQXJyYXkoYXJndW1lbnRzKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe3QgaW4gZSYmZVt0XS5hcHBseShlLG4pfSksdGhpc319KSxlLmVhY2goInRleHQgbmFtZSBkaXNhYmxlZCBhY3RpdmUgc2VsZWN0ZWQgY2hlY2tlZCB2aXNpYmxlIHBhcmVudCB2YWx1ZSBkYXRhIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGUpe2lbZV09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJvcChlLHQpfX0pLHI9bi5leHRlbmQoaSksdC5Db2xsZWN0aW9uPXIscn0pLHIoZmUsW20sd10sZnVuY3Rpb24oZSx0KXt2YXIgbj0wO3JldHVybntpZDpmdW5jdGlvbigpe3JldHVybiJtY2V1XyIrbisrfSxjcmVhdGU6ZnVuY3Rpb24obixyLGkpe3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobik7cmV0dXJuIHQuRE9NLnNldEF0dHJpYnMobyxyKSwic3RyaW5nIj09dHlwZW9mIGk/by5pbm5lckhUTUw9aTplLmVhY2goaSxmdW5jdGlvbihlKXtlLm5vZGVUeXBlJiZvLmFwcGVuZENoaWxkKGUpfSksb30sY3JlYXRlRnJhZ21lbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuRE9NLmNyZWF0ZUZyYWdtZW50KGUpfSxnZXRXaW5kb3dTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHQuRE9NLmdldFZpZXdQb3J0KCl9LGdldFNpemU6ZnVuY3Rpb24oZSl7dmFyIHQsbjtpZihlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCl7dmFyIHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0PU1hdGgubWF4KHIud2lkdGh8fHIucmlnaHQtci5sZWZ0LGUub2Zmc2V0V2lkdGgpLG49TWF0aC5tYXgoci5oZWlnaHR8fHIuYm90dG9tLXIuYm90dG9tLGUub2Zmc2V0SGVpZ2h0KX1lbHNlIHQ9ZS5vZmZzZXRXaWR0aCxuPWUub2Zmc2V0SGVpZ2h0O3JldHVybnt3aWR0aDp0LGhlaWdodDpufX0sZ2V0UG9zOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuRE9NLmdldFBvcyhlLG4pfSxnZXRWaWV3UG9ydDpmdW5jdGlvbihlKXtyZXR1cm4gdC5ET00uZ2V0Vmlld1BvcnQoZSl9LGdldDpmdW5jdGlvbihlKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuRE9NLmFkZENsYXNzKGUsbil9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuRE9NLnJlbW92ZUNsYXNzKGUsbil9LGhhc0NsYXNzOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuRE9NLmhhc0NsYXNzKGUsbil9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdC5ET00udG9nZ2xlQ2xhc3MoZSxuLHIpfSxjc3M6ZnVuY3Rpb24oZSxuLHIpe3JldHVybiB0LkRPTS5zZXRTdHlsZShlLG4scil9LGdldFJ1bnRpbWVTdHlsZTpmdW5jdGlvbihlLG4pe3JldHVybiB0LkRPTS5nZXRTdHlsZShlLG4sITApfSxvbjpmdW5jdGlvbihlLG4scixpKXtyZXR1cm4gdC5ET00uYmluZChlLG4scixpKX0sb2ZmOmZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdC5ET00udW5iaW5kKGUsbixyKX0sZmlyZTpmdW5jdGlvbihlLG4scil7cmV0dXJuIHQuRE9NLmZpcmUoZSxuLHIpfSxpbm5lckh0bWw6ZnVuY3Rpb24oZSxuKXt0LkRPTS5zZXRIVE1MKGUsbil9fX0pLHIoaGUsW10sZnVuY3Rpb24oKXtyZXR1cm57cGFyc2VCb3g6ZnVuY3Rpb24oZSl7dmFyIHQsbj0xMDtpZihlKXJldHVybiJudW1iZXIiPT10eXBlb2YgZT8oZT1lfHwwLHt0b3A6ZSxsZWZ0OmUsYm90dG9tOmUscmlnaHQ6ZX0pOihlPWUuc3BsaXQoIiAiKSx0PWUubGVuZ3RoLDE9PT10P2VbMV09ZVsyXT1lWzNdPWVbMF06Mj09PXQ/KGVbMl09ZVswXSxlWzNdPWVbMV0pOjM9PT10JiYoZVszXT1lWzFdKSx7dG9wOnBhcnNlSW50KGVbMF0sbil8fDAscmlnaHQ6cGFyc2VJbnQoZVsxXSxuKXx8MCxib3R0b206cGFyc2VJbnQoZVsyXSxuKXx8MCxsZWZ0OnBhcnNlSW50KGVbM10sbil8fDB9KX0sbWVhc3VyZUJveDpmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4odCl7dmFyIG49ZG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIG4/KHQ9dC5yZXBsYWNlKC9bQS1aXS9nLGZ1bmN0aW9uKGUpe3JldHVybiItIitlfSksbi5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSh0KSk6ZS5jdXJyZW50U3R5bGVbdF19ZnVuY3Rpb24gcihlKXt2YXIgdD1wYXJzZUZsb2F0KG4oZSksMTApO3JldHVybiBpc05hTih0KT8wOnR9cmV0dXJue3RvcDpyKHQrIlRvcFdpZHRoIikscmlnaHQ6cih0KyJSaWdodFdpZHRoIiksYm90dG9tOnIodCsiQm90dG9tV2lkdGgiKSxsZWZ0OnIodCsiTGVmdFdpZHRoIil9fX19KSxyKHBlLFttXSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7fWZ1bmN0aW9uIG4oZSl7dGhpcy5jbHM9W10sdGhpcy5jbHMuX21hcD17fSx0aGlzLm9uY2hhbmdlPWV8fHQsdGhpcy5wcmVmaXg9IiJ9cmV0dXJuIGUuZXh0ZW5kKG4ucHJvdG90eXBlLHthZGQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiF0aGlzLmNvbnRhaW5zKGUpJiYodGhpcy5jbHMuX21hcFtlXT0hMCx0aGlzLmNscy5wdXNoKGUpLHRoaXMuX2NoYW5nZSgpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oZSl7aWYodGhpcy5jb250YWlucyhlKSl7Zm9yKHZhciB0PTA7dDx0aGlzLmNscy5sZW5ndGgmJnRoaXMuY2xzW3RdIT09ZTt0KyspO3RoaXMuY2xzLnNwbGljZSh0LDEpLGRlbGV0ZSB0aGlzLmNscy5fbWFwW2VdLHRoaXMuX2NoYW5nZSgpfXJldHVybiB0aGlzfSx0b2dnbGU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNvbnRhaW5zKGUpO3JldHVybiBuIT09dCYmKG4/dGhpcy5yZW1vdmUoZSk6dGhpcy5hZGQoZSksdGhpcy5fY2hhbmdlKCkpLHRoaXN9LGNvbnRhaW5zOmZ1bmN0aW9uKGUpe3JldHVybiEhdGhpcy5jbHMuX21hcFtlXX0sX2NoYW5nZTpmdW5jdGlvbigpe2RlbGV0ZSB0aGlzLmNsc1ZhbHVlLHRoaXMub25jaGFuZ2UuY2FsbCh0aGlzKX19KSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMuY2xzVmFsdWUpcmV0dXJuIHRoaXMuY2xzVmFsdWU7ZT0iIjtmb3IodmFyIHQ9MDt0PHRoaXMuY2xzLmxlbmd0aDt0KyspdD4wJiYoZSs9IiAiKSxlKz10aGlzLnByZWZpeCt0aGlzLmNsc1t0XTtyZXR1cm4gZX0sbn0pLHIobWUsW3VdLGZ1bmN0aW9uKGUpe3ZhciB0PXt9LG47cmV0dXJue2FkZDpmdW5jdGlvbihyKXt2YXIgaT1yLnBhcmVudCgpO2lmKGkpe2lmKCFpLl9sYXlvdXR8fGkuX2xheW91dC5pc05hdGl2ZSgpKXJldHVybjt0W2kuX2lkXXx8KHRbaS5faWRdPWkpLG58fChuPSEwLGUucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7dmFyIGUscjtuPSExO2ZvcihlIGluIHQpcj10W2VdLHIuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiZyLnJlZmxvdygpO3Q9e319LGRvY3VtZW50LmJvZHkpKX19LHJlbW92ZTpmdW5jdGlvbihlKXt0W2UuX2lkXSYmZGVsZXRlIHRbZS5faWRdfX19KSxyKGdlLFtvZSxtLGFlLGNlLGRlLGZlLGcsaGUscGUsbWVdLGZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEscyxsLGMpe2Z1bmN0aW9uIHUoZSl7cmV0dXJuIGUuX2V2ZW50RGlzcGF0Y2hlcnx8KGUuX2V2ZW50RGlzcGF0Y2hlcj1uZXcgbih7c2NvcGU6ZSx0b2dnbGVFdmVudDpmdW5jdGlvbih0LHIpe3ImJm4uaXNOYXRpdmUodCkmJihlLl9uYXRpdmVFdmVudHN8fChlLl9uYXRpdmVFdmVudHM9e30pLGUuX25hdGl2ZUV2ZW50c1t0XT0hMCxlLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmZChlKSl9fSkpLGUuX2V2ZW50RGlzcGF0Y2hlcn1mdW5jdGlvbiBkKGUpe2Z1bmN0aW9uIHQodCl7dmFyIG49ZS5nZXRQYXJlbnRDdHJsKHQudGFyZ2V0KTtuJiZuLmZpcmUodC50eXBlLHQpfWZ1bmN0aW9uIG4oKXt2YXIgZT1jLl9sYXN0SG92ZXJDdHJsO2UmJihlLmZpcmUoIm1vdXNlbGVhdmUiLHt0YXJnZXQ6ZS5nZXRFbCgpfSksZS5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbihlKXtlLmZpcmUoIm1vdXNlbGVhdmUiLHt0YXJnZXQ6ZS5nZXRFbCgpfSl9KSxjLl9sYXN0SG92ZXJDdHJsPW51bGwpfWZ1bmN0aW9uIHIodCl7dmFyIG49ZS5nZXRQYXJlbnRDdHJsKHQudGFyZ2V0KSxyPWMuX2xhc3RIb3ZlckN0cmwsaT0wLG8sYSxzO2lmKG4hPT1yKXtpZihjLl9sYXN0SG92ZXJDdHJsPW4sYT1uLnBhcmVudHMoKS50b0FycmF5KCkucmV2ZXJzZSgpLGEucHVzaChuKSxyKXtmb3Iocz1yLnBhcmVudHMoKS50b0FycmF5KCkucmV2ZXJzZSgpLHMucHVzaChyKSxpPTA7aTxzLmxlbmd0aCYmYVtpXT09PXNbaV07aSsrKTtmb3Iobz1zLmxlbmd0aC0xO28+PWk7by0tKXI9c1tvXSxyLmZpcmUoIm1vdXNlbGVhdmUiLHt0YXJnZXQ6ci5nZXRFbCgpfSl9Zm9yKG89aTtvPGEubGVuZ3RoO28rKyluPWFbb10sbi5maXJlKCJtb3VzZWVudGVyIix7dGFyZ2V0Om4uZ2V0RWwoKX0pfX1mdW5jdGlvbiBpKHQpe3QucHJldmVudERlZmF1bHQoKSwibW91c2V3aGVlbCI9PXQudHlwZT8odC5kZWx0YVk9LTEvNDAqdC53aGVlbERlbHRhLHQud2hlZWxEZWx0YVgmJih0LmRlbHRhWD0tMS80MCp0LndoZWVsRGVsdGFYKSk6KHQuZGVsdGFYPTAsdC5kZWx0YVk9dC5kZXRhaWwpLHQ9ZS5maXJlKCJ3aGVlbCIsdCl9dmFyIG8scyxsLGMsdSxkO2lmKHU9ZS5fbmF0aXZlRXZlbnRzKXtmb3IobD1lLnBhcmVudHMoKS50b0FycmF5KCksbC51bnNoaWZ0KGUpLG89MCxzPWwubGVuZ3RoOyFjJiZzPm87bysrKWM9bFtvXS5fZXZlbnRzUm9vdDtmb3IoY3x8KGM9bFtsLmxlbmd0aC0xXXx8ZSksZS5fZXZlbnRzUm9vdD1jLHM9byxvPTA7cz5vO28rKylsW29dLl9ldmVudHNSb290PWM7dmFyIHA9Yy5fZGVsZWdhdGVzO3B8fChwPWMuX2RlbGVnYXRlcz17fSk7Zm9yKGQgaW4gdSl7aWYoIXUpcmV0dXJuITE7IndoZWVsIiE9PWR8fGg/KCJtb3VzZWVudGVyIj09PWR8fCJtb3VzZWxlYXZlIj09PWQ/Yy5faGFzTW91c2VFbnRlcnx8KGEoYy5nZXRFbCgpKS5vbigibW91c2VsZWF2ZSIsbikub24oIm1vdXNlb3ZlciIsciksYy5faGFzTW91c2VFbnRlcj0xKTpwW2RdfHwoYShjLmdldEVsKCkpLm9uKGQsdCkscFtkXT0hMCksdVtkXT0hMSk6Zj9hKGUuZ2V0RWwoKSkub24oIm1vdXNld2hlZWwiLGkpOmEoZS5nZXRFbCgpKS5vbigiRE9NTW91c2VTY3JvbGwiLGkpfX19dmFyIGY9Im9ubW91c2V3aGVlbCJpbiBkb2N1bWVudCxoPSExLHA9Im1jZS0iLG0sZz0wLHY9e1N0YXRpY3M6e2NsYXNzUHJlZml4OnB9LGlzUnRsOmZ1bmN0aW9uKCl7cmV0dXJuIG0ucnRsfSxjbGFzc1ByZWZpeDpwLGluaXQ6ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihlKXt2YXIgdDtmb3IoZT1lLnNwbGl0KCIgIiksdD0wO3Q8ZS5sZW5ndGg7dCsrKWkuY2xhc3Nlcy5hZGQoZVt0XSl9dmFyIGk9dGhpcyxvLGM7aS5zZXR0aW5ncz1lPXQuZXh0ZW5kKHt9LGkuRGVmYXVsdHMsZSksaS5faWQ9ZS5pZHx8Im1jZXVfIitnKyssaS5fYXJpYT17cm9sZTplLnJvbGV9LGkuX2VsbUNhY2hlPXt9LGkuJD1hLGkuc3RhdGU9bmV3IHIoe3Zpc2libGU6ITAsYWN0aXZlOiExLGRpc2FibGVkOiExLHZhbHVlOiIifSksaS5kYXRhPW5ldyByKGUuZGF0YSksaS5jbGFzc2VzPW5ldyBsKGZ1bmN0aW9uKCl7aS5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJihpLmdldEVsKCkuY2xhc3NOYW1lPXRoaXMudG9TdHJpbmcoKSl9KSxpLmNsYXNzZXMucHJlZml4PWkuY2xhc3NQcmVmaXgsbz1lLmNsYXNzZXMsbyYmKGkuRGVmYXVsdHMmJihjPWkuRGVmYXVsdHMuY2xhc3NlcyxjJiZvIT1jJiZuKGMpKSxuKG8pKSx0LmVhY2goInRpdGxlIHRleHQgbmFtZSB2aXNpYmxlIGRpc2FibGVkIGFjdGl2ZSB2YWx1ZSIuc3BsaXQoIiAiKSxmdW5jdGlvbih0KXt0IGluIGUmJmlbdF0oZVt0XSl9KSxpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtyZXR1cm4gaS5kaXNhYmxlZCgpPyExOnZvaWQgMH0pLGkuc2V0dGluZ3M9ZSxpLmJvcmRlckJveD1zLnBhcnNlQm94KGUuYm9yZGVyKSxpLnBhZGRpbmdCb3g9cy5wYXJzZUJveChlLnBhZGRpbmcpLGkubWFyZ2luQm94PXMucGFyc2VCb3goZS5tYXJnaW4pLGUuaGlkZGVuJiZpLmhpZGUoKX0sUHJvcGVydGllczoicGFyZW50LG5hbWUiLGdldENvbnRhaW5lckVsbTpmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5ib2R5fSxnZXRQYXJlbnRDdHJsOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPXRoaXMuZ2V0Um9vdCgpLmNvbnRyb2xJZExvb2t1cDtlJiZuJiYhKHQ9bltlLmlkXSk7KWU9ZS5wYXJlbnROb2RlO3JldHVybiB0fSxpbml0TGF5b3V0UmVjdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLnNldHRpbmdzLG4scixpPWUuZ2V0RWwoKSxhLGwsYyx1LGQsZixoLHA7bj1lLmJvcmRlckJveD1lLmJvcmRlckJveHx8cy5tZWFzdXJlQm94KGksImJvcmRlciIpLGUucGFkZGluZ0JveD1lLnBhZGRpbmdCb3h8fHMubWVhc3VyZUJveChpLCJwYWRkaW5nIiksZS5tYXJnaW5Cb3g9ZS5tYXJnaW5Cb3h8fHMubWVhc3VyZUJveChpLCJtYXJnaW4iKSxwPW8uZ2V0U2l6ZShpKSxmPXQubWluV2lkdGgsaD10Lm1pbkhlaWdodCxjPWZ8fHAud2lkdGgsdT1ofHxwLmhlaWdodCxhPXQud2lkdGgsbD10LmhlaWdodCxkPXQuYXV0b1Jlc2l6ZSxkPSJ1bmRlZmluZWQiIT10eXBlb2YgZD9kOiFhJiYhbCxhPWF8fGMsbD1sfHx1O3ZhciBtPW4ubGVmdCtuLnJpZ2h0LGc9bi50b3Arbi5ib3R0b20sdj10Lm1heFdpZHRofHw2NTUzNSx5PXQubWF4SGVpZ2h0fHw2NTUzNTtyZXR1cm4gZS5fbGF5b3V0UmVjdD1yPXt4OnQueHx8MCx5OnQueXx8MCx3OmEsaDpsLGRlbHRhVzptLGRlbHRhSDpnLGNvbnRlbnRXOmEtbSxjb250ZW50SDpsLWcsaW5uZXJXOmEtbSxpbm5lckg6bC1nLHN0YXJ0TWluV2lkdGg6Znx8MCxzdGFydE1pbkhlaWdodDpofHwwLG1pblc6TWF0aC5taW4oYyx2KSxtaW5IOk1hdGgubWluKHUseSksbWF4Vzp2LG1heEg6eSxhdXRvUmVzaXplOmQsc2Nyb2xsVzowfSxlLl9sYXN0TGF5b3V0UmVjdD17fSxyfSxsYXlvdXRSZWN0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10Ll9sYXlvdXRSZWN0LHIsaSxvLGEscyxsO3JldHVybiBufHwobj10LmluaXRMYXlvdXRSZWN0KCkpLGU/KG89bi5kZWx0YVcsYT1uLmRlbHRhSCxlLnghPT1zJiYobi54PWUueCksZS55IT09cyYmKG4ueT1lLnkpLGUubWluVyE9PXMmJihuLm1pblc9ZS5taW5XKSxlLm1pbkghPT1zJiYobi5taW5IPWUubWluSCksaT1lLncsaSE9PXMmJihpPWk8bi5taW5XP24ubWluVzppLGk9aT5uLm1heFc/bi5tYXhXOmksbi53PWksbi5pbm5lclc9aS1vKSxpPWUuaCxpIT09cyYmKGk9aTxuLm1pbkg/bi5taW5IOmksaT1pPm4ubWF4SD9uLm1heEg6aSxuLmg9aSxuLmlubmVySD1pLWEpLGk9ZS5pbm5lclcsaSE9PXMmJihpPWk8bi5taW5XLW8/bi5taW5XLW86aSxpPWk+bi5tYXhXLW8/bi5tYXhXLW86aSxuLmlubmVyVz1pLG4udz1pK28pLGk9ZS5pbm5lckgsaSE9PXMmJihpPWk8bi5taW5ILWE/bi5taW5ILWE6aSxpPWk+bi5tYXhILWE/bi5tYXhILWE6aSxuLmlubmVySD1pLG4uaD1pK2EpLGUuY29udGVudFchPT1zJiYobi5jb250ZW50Vz1lLmNvbnRlbnRXKSxlLmNvbnRlbnRIIT09cyYmKG4uY29udGVudEg9ZS5jb250ZW50SCkscj10Ll9sYXN0TGF5b3V0UmVjdCxyLng9PT1uLngmJnIueT09PW4ueSYmci53PT09bi53JiZyLmg9PT1uLmh8fChsPW0ucmVwYWludENvbnRyb2xzLGwmJmwubWFwJiYhbC5tYXBbdC5faWRdJiYobC5wdXNoKHQpLGwubWFwW3QuX2lkXT0hMCksci54PW4ueCxyLnk9bi55LHIudz1uLncsci5oPW4uaCksdCk6bn0scmVwYWludDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdCxuLHIsaSxvLGEscyxsLGMsdTtjPWRvY3VtZW50LmNyZWF0ZVJhbmdlP2Z1bmN0aW9uKGUpe3JldHVybiBlfTpNYXRoLnJvdW5kLHQ9ZS5nZXRFbCgpLnN0eWxlLGk9ZS5fbGF5b3V0UmVjdCxsPWUuX2xhc3RSZXBhaW50UmVjdHx8e30sbz1lLmJvcmRlckJveCxhPW8ubGVmdCtvLnJpZ2h0LHM9by50b3Arby5ib3R0b20saS54IT09bC54JiYodC5sZWZ0PWMoaS54KSsicHgiLGwueD1pLngpLGkueSE9PWwueSYmKHQudG9wPWMoaS55KSsicHgiLGwueT1pLnkpLGkudyE9PWwudyYmKHU9YyhpLnctYSksdC53aWR0aD0odT49MD91OjApKyJweCIsbC53PWkudyksaS5oIT09bC5oJiYodT1jKGkuaC1zKSx0LmhlaWdodD0odT49MD91OjApKyJweCIsbC5oPWkuaCksZS5faGFzQm9keSYmaS5pbm5lclchPT1sLmlubmVyVyYmKHU9YyhpLmlubmVyVykscj1lLmdldEVsKCJib2R5IiksciYmKG49ci5zdHlsZSxuLndpZHRoPSh1Pj0wP3U6MCkrInB4IiksbC5pbm5lclc9aS5pbm5lclcpLGUuX2hhc0JvZHkmJmkuaW5uZXJIIT09bC5pbm5lckgmJih1PWMoaS5pbm5lckgpLHI9cnx8ZS5nZXRFbCgiYm9keSIpLHImJihuPW58fHIuc3R5bGUsbi5oZWlnaHQ9KHU+PTA/dTowKSsicHgiKSxsLmlubmVySD1pLmlubmVySCksZS5fbGFzdFJlcGFpbnRSZWN0PWwsZS5maXJlKCJyZXBhaW50Iix7fSwhMSl9LHVwZGF0ZUxheW91dFJlY3Q6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2UucGFyZW50KCkuX2xhc3RSZWN0PW51bGwsby5jc3MoZS5nZXRFbCgpLHt3aWR0aDoiIixoZWlnaHQ6IiJ9KSxlLl9sYXlvdXRSZWN0PWUuX2xhc3RSZXBhaW50UmVjdD1lLl9sYXN0TGF5b3V0UmVjdD1udWxsLGUuaW5pdExheW91dFJlY3QoKX0sb246ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKGUpe3ZhciB0LG47cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP2U6ZnVuY3Rpb24oaSl7cmV0dXJuIHR8fHIucGFyZW50c0FuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKHIpe3ZhciBpPXIuc2V0dGluZ3MuY2FsbGJhY2tzO3JldHVybiBpJiYodD1pW2VdKT8obj1yLCExKTp2b2lkIDB9KSx0P3QuY2FsbChuLGkpOihpLmFjdGlvbj1lLHZvaWQgdGhpcy5maXJlKCJleGVjdXRlIixpKSl9fXZhciByPXRoaXM7cmV0dXJuIHUocikub24oZSxuKHQpKSxyfSxvZmY6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdSh0aGlzKS5vZmYoZSx0KSx0aGlzfSxmaXJlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzO2lmKHQ9dHx8e30sdC5jb250cm9sfHwodC5jb250cm9sPXIpLHQ9dShyKS5maXJlKGUsdCksbiE9PSExJiZyLnBhcmVudClmb3IodmFyIGk9ci5wYXJlbnQoKTtpJiYhdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylpLmZpcmUoZSx0LCExKSxpPWkucGFyZW50KCk7cmV0dXJuIHR9LGhhc0V2ZW50TGlzdGVuZXJzOmZ1bmN0aW9uKGUpe3JldHVybiB1KHRoaXMpLmhhcyhlKX0scGFyZW50czpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG4scj1uZXcgaTtmb3Iobj10LnBhcmVudCgpO247bj1uLnBhcmVudCgpKXIuYWRkKG4pO3JldHVybiBlJiYocj1yLmZpbHRlcihlKSkscn0scGFyZW50c0FuZFNlbGY6ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBpKHRoaXMpLmFkZCh0aGlzLnBhcmVudHMoZSkpfSxuZXh0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJlbnQoKS5pdGVtcygpO3JldHVybiBlW2UuaW5kZXhPZih0aGlzKSsxXX0scHJldjpmdW5jdGlvbigpe3ZhciBlPXRoaXMucGFyZW50KCkuaXRlbXMoKTtyZXR1cm4gZVtlLmluZGV4T2YodGhpcyktMV19LGlubmVySHRtbDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy4kZWwuaHRtbChlKSx0aGlzfSxnZXRFbDpmdW5jdGlvbihlKXt2YXIgdD1lP3RoaXMuX2lkKyItIitlOnRoaXMuX2lkO3JldHVybiB0aGlzLl9lbG1DYWNoZVt0XXx8KHRoaXMuX2VsbUNhY2hlW3RdPWEoIiMiK3QpWzBdKSx0aGlzLl9lbG1DYWNoZVt0XX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZpc2libGUoITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmlzaWJsZSghMSl9LGZvY3VzOmZ1bmN0aW9uKCl7dHJ5e3RoaXMuZ2V0RWwoKS5mb2N1cygpfWNhdGNoKGUpe31yZXR1cm4gdGhpc30sYmx1cjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEVsKCkuYmx1cigpLHRoaXN9LGFyaWE6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLHI9bi5nZXRFbChuLmFyaWFUYXJnZXQpO3JldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgdD9uLl9hcmlhW2VdOihuLl9hcmlhW2VdPXQsbi5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJnIuc2V0QXR0cmlidXRlKCJyb2xlIj09ZT9lOiJhcmlhLSIrZSx0KSxuKX0sZW5jb2RlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQhPT0hMSYmKGU9dGhpcy50cmFuc2xhdGUoZSkpLChlfHwiIikucmVwbGFjZSgvWyY8PiJdL2csZnVuY3Rpb24oZSl7cmV0dXJuIiYjIitlLmNoYXJDb2RlQXQoMCkrIjsifSl9LHRyYW5zbGF0ZTpmdW5jdGlvbihlKXtyZXR1cm4gbS50cmFuc2xhdGU/bS50cmFuc2xhdGUoZSk6ZX0sYmVmb3JlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10LnBhcmVudCgpO3JldHVybiBuJiZuLmluc2VydChlLG4uaXRlbXMoKS5pbmRleE9mKHQpLCEwKSx0fSxhZnRlcjpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dC5wYXJlbnQoKTtyZXR1cm4gbiYmbi5pbnNlcnQoZSxuLml0ZW1zKCkuaW5kZXhPZih0KSksdH0scmVtb3ZlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuZ2V0RWwoKSxuPWUucGFyZW50KCkscixpO2lmKGUuaXRlbXMpe3ZhciBvPWUuaXRlbXMoKS50b0FycmF5KCk7Zm9yKGk9by5sZW5ndGg7aS0tOylvW2ldLnJlbW92ZSgpfW4mJm4uaXRlbXMmJihyPVtdLG4uaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQpe3QhPT1lJiZyLnB1c2godCl9KSxuLml0ZW1zKCkuc2V0KHIpLG4uX2xhc3RSZWN0PW51bGwpLGUuX2V2ZW50c1Jvb3QmJmUuX2V2ZW50c1Jvb3Q9PWUmJmEodCkub2ZmKCk7dmFyIHM9ZS5nZXRSb290KCkuY29udHJvbElkTG9va3VwO3JldHVybiBzJiZkZWxldGUgc1tlLl9pZF0sdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksZS5zdGF0ZS5zZXQoInJlbmRlcmVkIiwhMSksZS5zdGF0ZS5kZXN0cm95KCksZS5maXJlKCJyZW1vdmUiKSxlfSxyZW5kZXJCZWZvcmU6ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZSkuYmVmb3JlKHRoaXMucmVuZGVySHRtbCgpKSx0aGlzLnBvc3RSZW5kZXIoKSx0aGlzfSxyZW5kZXJUbzpmdW5jdGlvbihlKXtyZXR1cm4gYShlfHx0aGlzLmdldENvbnRhaW5lckVsbSgpKS5hcHBlbmQodGhpcy5yZW5kZXJIdG1sKCkpLHRoaXMucG9zdFJlbmRlcigpLHRoaXN9LHByZVJlbmRlcjpmdW5jdGlvbigpe30scmVuZGVyOmZ1bmN0aW9uKCl7fSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7cmV0dXJuJzxkaXYgaWQ9IicrdGhpcy5faWQrJyIgY2xhc3M9IicrdGhpcy5jbGFzc2VzKyciPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5zZXR0aW5ncyxuLHIsaSxvLHM7ZS4kZWw9YShlLmdldEVsKCkpLGUuc3RhdGUuc2V0KCJyZW5kZXJlZCIsITApO2ZvcihvIGluIHQpMD09PW8uaW5kZXhPZigib24iKSYmZS5vbihvLnN1YnN0cigyKSx0W29dKTtpZihlLl9ldmVudHNSb290KXtmb3IoaT1lLnBhcmVudCgpOyFzJiZpO2k9aS5wYXJlbnQoKSlzPWkuX2V2ZW50c1Jvb3Q7aWYocylmb3IobyBpbiBzLl9uYXRpdmVFdmVudHMpZS5fbmF0aXZlRXZlbnRzW29dPSEwfWQoZSksdC5zdHlsZSYmKG49ZS5nZXRFbCgpLG4mJihuLnNldEF0dHJpYnV0ZSgic3R5bGUiLHQuc3R5bGUpLG4uc3R5bGUuY3NzVGV4dD10LnN0eWxlKSksZS5zZXR0aW5ncy5ib3JkZXImJihyPWUuYm9yZGVyQm94LGUuJGVsLmNzcyh7ImJvcmRlci10b3Atd2lkdGgiOnIudG9wLCJib3JkZXItcmlnaHQtd2lkdGgiOnIucmlnaHQsImJvcmRlci1ib3R0b20td2lkdGgiOnIuYm90dG9tLCJib3JkZXItbGVmdC13aWR0aCI6ci5sZWZ0fSkpO3ZhciBsPWUuZ2V0Um9vdCgpO2wuY29udHJvbElkTG9va3VwfHwobC5jb250cm9sSWRMb29rdXA9e30pLGwuY29udHJvbElkTG9va3VwW2UuX2lkXT1lO2Zvcih2YXIgdSBpbiBlLl9hcmlhKWUuYXJpYSh1LGUuX2FyaWFbdV0pO2Uuc3RhdGUuZ2V0KCJ2aXNpYmxlIik9PT0hMSYmKGUuZ2V0RWwoKS5zdHlsZS5kaXNwbGF5PSJub25lIiksZS5iaW5kU3RhdGVzKCksZS5zdGF0ZS5vbigiY2hhbmdlOnZpc2libGUiLGZ1bmN0aW9uKHQpe3ZhciBuPXQudmFsdWUscjtlLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmKGUuZ2V0RWwoKS5zdHlsZS5kaXNwbGF5PW49PT0hMT8ibm9uZSI6IiIsZS5nZXRFbCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxyPWUucGFyZW50KCksciYmKHIuX2xhc3RSZWN0PW51bGwpLGUuZmlyZShuPyJzaG93IjoiaGlkZSIpLGMuYWRkKGUpfSksZS5maXJlKCJwb3N0cmVuZGVyIix7fSwhMSl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt9LHNjcm9sbEludG9WaWV3OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0KXt2YXIgbixyLGk9ZTtmb3Iobj1yPTA7aSYmaSE9dCYmaS5ub2RlVHlwZTspbis9aS5vZmZzZXRMZWZ0fHwwLHIrPWkub2Zmc2V0VG9wfHwwLGk9aS5vZmZzZXRQYXJlbnQ7cmV0dXJue3g6bix5OnJ9fXZhciBuPXRoaXMuZ2V0RWwoKSxyPW4ucGFyZW50Tm9kZSxpLG8sYSxzLGwsYyx1PXQobixyKTtyZXR1cm4gaT11Lngsbz11LnksYT1uLm9mZnNldFdpZHRoLHM9bi5vZmZzZXRIZWlnaHQsbD1yLmNsaWVudFdpZHRoLGM9ci5jbGllbnRIZWlnaHQsImVuZCI9PWU/KGktPWwtYSxvLT1jLXMpOiJjZW50ZXIiPT1lJiYoaS09bC8yLWEvMixvLT1jLzItcy8yKSxyLnNjcm9sbExlZnQ9aSxyLnNjcm9sbFRvcD1vLHRoaXN9LGdldFJvb3Q6ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcyx0LG49W107ZTspe2lmKGUucm9vdENvbnRyb2wpe3Q9ZS5yb290Q29udHJvbDticmVha31uLnB1c2goZSksdD1lLGU9ZS5wYXJlbnQoKX10fHwodD10aGlzKTtmb3IodmFyIHI9bi5sZW5ndGg7ci0tOyluW3JdLnJvb3RDb250cm9sPXQ7cmV0dXJuIHR9LHJlZmxvdzpmdW5jdGlvbigpe2MucmVtb3ZlKHRoaXMpO3ZhciBlPXRoaXMucGFyZW50KCk7cmV0dXJuIGUuX2xheW91dCYmIWUuX2xheW91dC5pc05hdGl2ZSgpJiZlLnJlZmxvdygpLHRoaXN9fTtyZXR1cm4gdC5lYWNoKCJ0ZXh0IHRpdGxlIHZpc2libGUgZGlzYWJsZWQgYWN0aXZlIHZhbHVlIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGUpe3ZbZV09ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuc3RhdGUuZ2V0KGUpOigidW5kZWZpbmVkIiE9dHlwZW9mIHQmJnRoaXMuc3RhdGUuc2V0KGUsdCksdGhpcyl9fSksbT1lLmV4dGVuZCh2KX0pLHIodmUsW10sZnVuY3Rpb24oKXt2YXIgZT17fSx0O3JldHVybnthZGQ6ZnVuY3Rpb24odCxuKXtlW3QudG9Mb3dlckNhc2UoKV09bn0saGFzOmZ1bmN0aW9uKHQpe3JldHVybiEhZVt0LnRvTG93ZXJDYXNlKCldfSxjcmVhdGU6ZnVuY3Rpb24obixyKXt2YXIgaSxvLGE7aWYoIXQpe2E9dGlueW1jZS51aTtmb3IobyBpbiBhKWVbby50b0xvd2VyQ2FzZSgpXT1hW29dO3Q9ITB9aWYoInN0cmluZyI9PXR5cGVvZiBuPyhyPXJ8fHt9LHIudHlwZT1uKToocj1uLG49ci50eXBlKSxuPW4udG9Mb3dlckNhc2UoKSxpPWVbbl0sIWkpdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCBjb250cm9sIGJ5IHR5cGU6ICIrbik7cmV0dXJuIGk9bmV3IGkociksaS50eXBlPW4saX19fSkscih5ZSxbXSxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUpe3JldHVybiBlJiYxPT09ZS5ub2RlVHlwZX1mdW5jdGlvbiBuKGUpe3JldHVybiBlPWV8fEMsdChlKT9lLmdldEF0dHJpYnV0ZSgicm9sZSIpOm51bGx9ZnVuY3Rpb24gcihlKXtmb3IodmFyIHQscj1lfHxDO3I9ci5wYXJlbnROb2RlOylpZih0PW4ocikpcmV0dXJuIHR9ZnVuY3Rpb24gaShlKXt2YXIgbj1DO3JldHVybiB0KG4pP24uZ2V0QXR0cmlidXRlKCJhcmlhLSIrZSk6dm9pZCAwfWZ1bmN0aW9uIG8oZSl7dmFyIHQ9ZS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7CnJldHVybiJJTlBVVCI9PXR8fCJURVhUQVJFQSI9PXR8fCJTRUxFQ1QiPT10fWZ1bmN0aW9uIGEoZSl7cmV0dXJuIG8oZSkmJiFlLmhpZGRlbj8hMDohIS9eKGJ1dHRvbnxtZW51aXRlbXxjaGVja2JveHx0YWJ8bWVudWl0ZW1jaGVja2JveHxvcHRpb258Z3JpZGNlbGx8c2xpZGVyKSQvLnRlc3QobihlKSl9ZnVuY3Rpb24gcyhlKXtmdW5jdGlvbiB0KGUpe2lmKDE9PWUubm9kZVR5cGUmJiJub25lIiE9ZS5zdHlsZS5kaXNwbGF5KXthKGUpJiZuLnB1c2goZSk7Zm9yKHZhciByPTA7cjxlLmNoaWxkTm9kZXMubGVuZ3RoO3IrKyl0KGUuY2hpbGROb2Rlc1tyXSl9fXZhciBuPVtdO3JldHVybiB0KGV8fGIuZ2V0RWwoKSksbn1mdW5jdGlvbiBsKGUpe3ZhciB0LG47ZT1lfHx4LG49ZS5wYXJlbnRzKCkudG9BcnJheSgpLG4udW5zaGlmdChlKTtmb3IodmFyIHI9MDtyPG4ubGVuZ3RoJiYodD1uW3JdLCF0LnNldHRpbmdzLmFyaWFSb290KTtyKyspO3JldHVybiB0fWZ1bmN0aW9uIGMoZSl7dmFyIHQ9bChlKSxuPXModC5nZXRFbCgpKTt0LnNldHRpbmdzLmFyaWFSZW1lbWJlciYmImxhc3RBcmlhSW5kZXgiaW4gdD91KHQubGFzdEFyaWFJbmRleCxuKTp1KDAsbil9ZnVuY3Rpb24gdShlLHQpe3JldHVybiAwPmU/ZT10Lmxlbmd0aC0xOmU+PXQubGVuZ3RoJiYoZT0wKSx0W2VdJiZ0W2VdLmZvY3VzKCksZX1mdW5jdGlvbiBkKGUsdCl7dmFyIG49LTEscj1sKCk7dD10fHxzKHIuZ2V0RWwoKSk7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspdFtpXT09PUMmJihuPWkpO24rPWUsci5sYXN0QXJpYUluZGV4PXUobix0KX1mdW5jdGlvbiBmKCl7dmFyIGU9cigpOyJ0YWJsaXN0Ij09ZT9kKC0xLHMoQy5wYXJlbnROb2RlKSk6eC5wYXJlbnQoKS5zdWJtZW51P3YoKTpkKC0xKX1mdW5jdGlvbiBoKCl7dmFyIGU9bigpLHQ9cigpOyJ0YWJsaXN0Ij09dD9kKDEscyhDLnBhcmVudE5vZGUpKToibWVudWl0ZW0iPT1lJiYibWVudSI9PXQmJmkoImhhc3BvcHVwIik/eSgpOmQoMSl9ZnVuY3Rpb24gcCgpe2QoLTEpfWZ1bmN0aW9uIG0oKXt2YXIgZT1uKCksdD1yKCk7Im1lbnVpdGVtIj09ZSYmIm1lbnViYXIiPT10P3koKToiYnV0dG9uIj09ZSYmaSgiaGFzcG9wdXAiKT95KHtrZXk6ImRvd24ifSk6ZCgxKX1mdW5jdGlvbiBnKGUpe3ZhciB0PXIoKTtpZigidGFibGlzdCI9PXQpe3ZhciBuPXMoeC5nZXRFbCgiYm9keSIpKVswXTtuJiZuLmZvY3VzKCl9ZWxzZSBkKGUuc2hpZnRLZXk/LTE6MSl9ZnVuY3Rpb24gdigpe3guZmlyZSgiY2FuY2VsIil9ZnVuY3Rpb24geShlKXtlPWV8fHt9LHguZmlyZSgiY2xpY2siLHt0YXJnZXQ6QyxhcmlhOmV9KX12YXIgYj1lLnJvb3QsQyx4O3RyeXtDPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9Y2F0Y2godyl7Qz1kb2N1bWVudC5ib2R5fXJldHVybiB4PWIuZ2V0UGFyZW50Q3RybChDKSxiLm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCl7byhDKXx8InNsaWRlciIhPT1uKEMpJiZ0KGUpIT09ITEmJmUucHJldmVudERlZmF1bHQoKX1pZighZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIDM3OnQoZSxmKTticmVhaztjYXNlIDM5OnQoZSxoKTticmVhaztjYXNlIDM4OnQoZSxwKTticmVhaztjYXNlIDQwOnQoZSxtKTticmVhaztjYXNlIDI3OnYoKTticmVhaztjYXNlIDE0OmNhc2UgMTM6Y2FzZSAzMjp0KGUseSk7YnJlYWs7Y2FzZSA5OmcoZSkhPT0hMSYmZS5wcmV2ZW50RGVmYXVsdCgpfX0pLGIub24oImZvY3VzaW4iLGZ1bmN0aW9uKGUpe0M9ZS50YXJnZXQseD1lLmNvbnRyb2x9KSx7Zm9jdXNGaXJzdDpjfX19KSxyKGJlLFtnZSxkZSx1ZSx2ZSx5ZSxtLGcscGUsbWVdLGZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEscyxsKXt2YXIgYz17fTtyZXR1cm4gZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztuLl9zdXBlcihlKSxlPW4uc2V0dGluZ3MsZS5maXhlZCYmbi5zdGF0ZS5zZXQoImZpeGVkIiwhMCksbi5faXRlbXM9bmV3IHQsbi5pc1J0bCgpJiZuLmNsYXNzZXMuYWRkKCJydGwiKSxuLmJvZHlDbGFzc2VzPW5ldyBzKGZ1bmN0aW9uKCl7bi5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJihuLmdldEVsKCJib2R5IikuY2xhc3NOYW1lPXRoaXMudG9TdHJpbmcoKSl9KSxuLmJvZHlDbGFzc2VzLnByZWZpeD1uLmNsYXNzUHJlZml4LG4uY2xhc3Nlcy5hZGQoImNvbnRhaW5lciIpLG4uYm9keUNsYXNzZXMuYWRkKCJjb250YWluZXItYm9keSIpLGUuY29udGFpbmVyQ2xzJiZuLmNsYXNzZXMuYWRkKGUuY29udGFpbmVyQ2xzKSxuLl9sYXlvdXQ9ci5jcmVhdGUoKGUubGF5b3V0fHwiIikrImxheW91dCIpLG4uc2V0dGluZ3MuaXRlbXM/bi5hZGQobi5zZXR0aW5ncy5pdGVtcyk6bi5hZGQobi5yZW5kZXIoKSksbi5faGFzQm9keT0hMH0saXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXRlbXN9LGZpbmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9Y1tlXT1jW2VdfHxuZXcgbihlKSxlLmZpbmQodGhpcyl9LGFkZDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0Lml0ZW1zKCkuYWRkKHQuY3JlYXRlKGUpKS5wYXJlbnQodCksdH0sZm9jdXM6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuLHIsaTtyZXR1cm4gZSYmKHI9dC5rZXlib2FyZE5hdnx8dC5wYXJlbnRzKCkuZXEoLTEpWzBdLmtleWJvYXJkTmF2KT92b2lkIHIuZm9jdXNGaXJzdCh0KTooaT10LmZpbmQoIioiKSx0LnN0YXR1c2JhciYmaS5hZGQodC5zdGF0dXNiYXIuaXRlbXMoKSksaS5lYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnNldHRpbmdzLmF1dG9mb2N1cz8obj1udWxsLCExKTp2b2lkKGUuY2FuRm9jdXMmJihuPW58fGUpKX0pLG4mJm4uZm9jdXMoKSx0KX0scmVwbGFjZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbixyPXRoaXMuaXRlbXMoKSxpPXIubGVuZ3RoO2ktLTspaWYocltpXT09PWUpe3JbaV09dDticmVha31pPj0wJiYobj10LmdldEVsKCksbiYmbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pLG49ZS5nZXRFbCgpLG4mJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSksdC5wYXJlbnQodGhpcyl9LGNyZWF0ZTpmdW5jdGlvbih0KXt2YXIgbj10aGlzLGksYT1bXTtyZXR1cm4gby5pc0FycmF5KHQpfHwodD1bdF0pLG8uZWFjaCh0LGZ1bmN0aW9uKHQpe3QmJih0IGluc3RhbmNlb2YgZXx8KCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9e3R5cGU6dH0pLGk9by5leHRlbmQoe30sbi5zZXR0aW5ncy5kZWZhdWx0cyx0KSx0LnR5cGU9aS50eXBlPWkudHlwZXx8dC50eXBlfHxuLnNldHRpbmdzLmRlZmF1bHRUeXBlfHwoaS5kZWZhdWx0cz9pLmRlZmF1bHRzLnR5cGU6bnVsbCksdD1yLmNyZWF0ZShpKSksYS5wdXNoKHQpKX0pLGF9LHJlbmRlck5ldzpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQsbil7dmFyIHI7dC5wYXJlbnQoZSksdC5zdGF0ZS5nZXQoInJlbmRlcmVkIil8fChyPWUuZ2V0RWwoImJvZHkiKSxyLmhhc0NoaWxkTm9kZXMoKSYmbjw9ci5jaGlsZE5vZGVzLmxlbmd0aC0xP2Eoci5jaGlsZE5vZGVzW25dKS5iZWZvcmUodC5yZW5kZXJIdG1sKCkpOmEocikuYXBwZW5kKHQucmVuZGVySHRtbCgpKSx0LnBvc3RSZW5kZXIoKSxsLmFkZCh0KSl9KSxlLl9sYXlvdXQuYXBwbHlDbGFzc2VzKGUuaXRlbXMoKS5maWx0ZXIoIjp2aXNpYmxlIikpLGUuX2xhc3RSZWN0PW51bGwsZX0sYXBwZW5kOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmFkZChlKS5yZW5kZXJOZXcoKX0scHJlcGVuZDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0Lml0ZW1zKCkuc2V0KHQuY3JlYXRlKGUpLmNvbmNhdCh0Lml0ZW1zKCkudG9BcnJheSgpKSksdC5yZW5kZXJOZXcoKX0saW5zZXJ0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLGksbyxhO3JldHVybiBlPXIuY3JlYXRlKGUpLGk9ci5pdGVtcygpLCFuJiZ0PGkubGVuZ3RoLTEmJih0Kz0xKSx0Pj0wJiZ0PGkubGVuZ3RoJiYobz1pLnNsaWNlKDAsdCkudG9BcnJheSgpLGE9aS5zbGljZSh0KS50b0FycmF5KCksaS5zZXQoby5jb25jYXQoZSxhKSkpLHIucmVuZGVyTmV3KCl9LGZyb21KU09OOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7Zm9yKHZhciBuIGluIGUpdC5maW5kKCIjIituKS52YWx1ZShlW25dKTtyZXR1cm4gdH0sdG9KU09OOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXt9O3JldHVybiBlLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBuPWUubmFtZSgpLHI9ZS52YWx1ZSgpO24mJiJ1bmRlZmluZWQiIT10eXBlb2YgciYmKHRbbl09cil9KSx0fSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX2xheW91dCxuPXRoaXMuc2V0dGluZ3Mucm9sZTtyZXR1cm4gZS5wcmVSZW5kZXIoKSx0LnByZVJlbmRlcihlKSwnPGRpdiBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyInKyhuPycgcm9sZT0iJyt0aGlzLnNldHRpbmdzLnJvbGUrJyInOiIiKSsnPjxkaXYgaWQ9IicrZS5faWQrJy1ib2R5IiBjbGFzcz0iJytlLmJvZHlDbGFzc2VzKyciPicrKGUuc2V0dGluZ3MuaHRtbHx8IiIpK3QucmVuZGVySHRtbChlKSsiPC9kaXY+PC9kaXY+In0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdDtyZXR1cm4gZS5pdGVtcygpLmV4ZWMoInBvc3RSZW5kZXIiKSxlLl9zdXBlcigpLGUuX2xheW91dC5wb3N0UmVuZGVyKGUpLGUuc3RhdGUuc2V0KCJyZW5kZXJlZCIsITApLGUuc2V0dGluZ3Muc3R5bGUmJmUuJGVsLmNzcyhlLnNldHRpbmdzLnN0eWxlKSxlLnNldHRpbmdzLmJvcmRlciYmKHQ9ZS5ib3JkZXJCb3gsZS4kZWwuY3NzKHsiYm9yZGVyLXRvcC13aWR0aCI6dC50b3AsImJvcmRlci1yaWdodC13aWR0aCI6dC5yaWdodCwiYm9yZGVyLWJvdHRvbS13aWR0aCI6dC5ib3R0b20sImJvcmRlci1sZWZ0LXdpZHRoIjp0LmxlZnR9KSksZS5wYXJlbnQoKXx8KGUua2V5Ym9hcmROYXY9bmV3IGkoe3Jvb3Q6ZX0pKSxlfSxpbml0TGF5b3V0UmVjdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9zdXBlcigpO3JldHVybiBlLl9sYXlvdXQucmVjYWxjKGUpLHR9LHJlY2FsYzpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9sYXlvdXRSZWN0LG49ZS5fbGFzdFJlY3Q7cmV0dXJuIG4mJm4udz09dC53JiZuLmg9PXQuaD92b2lkIDA6KGUuX2xheW91dC5yZWNhbGMoZSksdD1lLmxheW91dFJlY3QoKSxlLl9sYXN0UmVjdD17eDp0LngseTp0Lnksdzp0LncsaDp0Lmh9LCEwKX0scmVmbG93OmZ1bmN0aW9uKCl7dmFyIHQ7aWYobC5yZW1vdmUodGhpcyksdGhpcy52aXNpYmxlKCkpe2ZvcihlLnJlcGFpbnRDb250cm9scz1bXSxlLnJlcGFpbnRDb250cm9scy5tYXA9e30sdGhpcy5yZWNhbGMoKSx0PWUucmVwYWludENvbnRyb2xzLmxlbmd0aDt0LS07KWUucmVwYWludENvbnRyb2xzW3RdLnJlcGFpbnQoKTsiZmxvdyIhPT10aGlzLnNldHRpbmdzLmxheW91dCYmInN0YWNrIiE9PXRoaXMuc2V0dGluZ3MubGF5b3V0JiZ0aGlzLnJlcGFpbnQoKSxlLnJlcGFpbnRDb250cm9scz1bXX1yZXR1cm4gdGhpc319KX0pLHIoQ2UsW2ddLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7dmFyIHQsbixyLGksbyxhLHMsbCxjPU1hdGgubWF4O3JldHVybiB0PWUuZG9jdW1lbnRFbGVtZW50LG49ZS5ib2R5LHI9Yyh0LnNjcm9sbFdpZHRoLG4uc2Nyb2xsV2lkdGgpLGk9Yyh0LmNsaWVudFdpZHRoLG4uY2xpZW50V2lkdGgpLG89Yyh0Lm9mZnNldFdpZHRoLG4ub2Zmc2V0V2lkdGgpLGE9Yyh0LnNjcm9sbEhlaWdodCxuLnNjcm9sbEhlaWdodCkscz1jKHQuY2xpZW50SGVpZ2h0LG4uY2xpZW50SGVpZ2h0KSxsPWModC5vZmZzZXRIZWlnaHQsbi5vZmZzZXRIZWlnaHQpLHt3aWR0aDpvPnI/aTpyLGhlaWdodDpsPmE/czphfX1mdW5jdGlvbiBuKGUpe3ZhciB0LG47aWYoZS5jaGFuZ2VkVG91Y2hlcylmb3IodD0ic2NyZWVuWCBzY3JlZW5ZIHBhZ2VYIHBhZ2VZIGNsaWVudFggY2xpZW50WSIuc3BsaXQoIiAiKSxuPTA7bjx0Lmxlbmd0aDtuKyspZVt0W25dXT1lLmNoYW5nZWRUb3VjaGVzWzBdW3Rbbl1dfXJldHVybiBmdW5jdGlvbihyLGkpe2Z1bmN0aW9uIG8oKXtyZXR1cm4gcy5nZXRFbGVtZW50QnlJZChpLmhhbmRsZXx8cil9dmFyIGEscz1pLmRvY3VtZW50fHxkb2N1bWVudCxsLGMsdSxkLGYsaDtpPWl8fHt9LGM9ZnVuY3Rpb24ocil7dmFyIGM9dChzKSxwLG07bihyKSxyLnByZXZlbnREZWZhdWx0KCksbD1yLmJ1dHRvbixwPW8oKSxmPXIuc2NyZWVuWCxoPXIuc2NyZWVuWSxtPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlP3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHAsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiY3Vyc29yIik6cC5ydW50aW1lU3R5bGUuY3Vyc29yLGE9ZSgiPGRpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHdpZHRoOmMud2lkdGgsaGVpZ2h0OmMuaGVpZ2h0LHpJbmRleDoyMTQ3NDgzNjQ3LG9wYWNpdHk6MWUtNCxjdXJzb3I6bX0pLmFwcGVuZFRvKHMuYm9keSksZShzKS5vbigibW91c2Vtb3ZlIHRvdWNobW92ZSIsZCkub24oIm1vdXNldXAgdG91Y2hlbmQiLHUpLGkuc3RhcnQocil9LGQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oZSksZS5idXR0b24hPT1sP3UoZSk6KGUuZGVsdGFYPWUuc2NyZWVuWC1mLGUuZGVsdGFZPWUuc2NyZWVuWS1oLGUucHJldmVudERlZmF1bHQoKSx2b2lkIGkuZHJhZyhlKSl9LHU9ZnVuY3Rpb24odCl7bih0KSxlKHMpLm9mZigibW91c2Vtb3ZlIHRvdWNobW92ZSIsZCkub2ZmKCJtb3VzZXVwIHRvdWNoZW5kIix1KSxhLnJlbW92ZSgpLGkuc3RvcCYmaS5zdG9wKHQpfSx0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oKXtlKG8oKSkub2ZmKCl9LGUobygpKS5vbigibW91c2Vkb3duIHRvdWNoc3RhcnQiLGMpfX0pLHIoeGUsW2csQ2VdLGZ1bmN0aW9uKGUsdCl7cmV0dXJue2luaXQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2Uub24oInJlcGFpbnQiLGUucmVuZGVyU2Nyb2xsKX0scmVuZGVyU2Nyb2xsOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe2Z1bmN0aW9uIHQodCxhLHMsbCxjLHUpe3ZhciBkLGYsaCxwLG0sZyx2LHksYjtpZihmPWkuZ2V0RWwoInNjcm9sbCIrdCkpe2lmKHk9YS50b0xvd2VyQ2FzZSgpLGI9cy50b0xvd2VyQ2FzZSgpLGUoaS5nZXRFbCgiYWJzZW5kIikpLmNzcyh5LGkubGF5b3V0UmVjdCgpW2xdLTEpLCFjKXJldHVybiB2b2lkIGUoZikuY3NzKCJkaXNwbGF5Iiwibm9uZSIpO2UoZikuY3NzKCJkaXNwbGF5IiwiYmxvY2siKSxkPWkuZ2V0RWwoImJvZHkiKSxoPWkuZ2V0RWwoInNjcm9sbCIrdCsidCIpLHA9ZFsiY2xpZW50IitzXS0yKm8scC09biYmcj9mWyJjbGllbnQiK3VdOjAsbT1kWyJzY3JvbGwiK3NdLGc9cC9tLHY9e30sdlt5XT1kWyJvZmZzZXQiK2FdK28sdltiXT1wLGUoZikuY3NzKHYpLHY9e30sdlt5XT1kWyJzY3JvbGwiK2FdKmcsdltiXT1wKmcsZShoKS5jc3Modil9fXZhciBuLHIsYTthPWkuZ2V0RWwoImJvZHkiKSxuPWEuc2Nyb2xsV2lkdGg+YS5jbGllbnRXaWR0aCxyPWEuc2Nyb2xsSGVpZ2h0PmEuY2xpZW50SGVpZ2h0LHQoImgiLCJMZWZ0IiwiV2lkdGgiLCJjb250ZW50VyIsbiwiSGVpZ2h0IiksdCgidiIsIlRvcCIsIkhlaWdodCIsImNvbnRlbnRIIixyLCJXaWR0aCIpfWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBuKG4scixhLHMsbCl7dmFyIGMsdT1pLl9pZCsiLXNjcm9sbCIrbixkPWkuY2xhc3NQcmVmaXg7ZShpLmdldEVsKCkpLmFwcGVuZCgnPGRpdiBpZD0iJyt1KyciIGNsYXNzPSInK2QrInNjcm9sbGJhciAiK2QrInNjcm9sbGJhci0iK24rJyI+PGRpdiBpZD0iJyt1Kyd0IiBjbGFzcz0iJytkKydzY3JvbGxiYXItdGh1bWIiPjwvZGl2PjwvZGl2PicpLGkuZHJhZ2hlbHBlcj1uZXcgdCh1KyJ0Iix7c3RhcnQ6ZnVuY3Rpb24oKXtjPWkuZ2V0RWwoImJvZHkiKVsic2Nyb2xsIityXSxlKCIjIit1KS5hZGRDbGFzcyhkKyJhY3RpdmUiKX0sZHJhZzpmdW5jdGlvbihlKXt2YXIgdCx1LGQsZixoPWkubGF5b3V0UmVjdCgpO3U9aC5jb250ZW50Vz5oLmlubmVyVyxkPWguY29udGVudEg+aC5pbm5lckgsZj1pLmdldEVsKCJib2R5IilbImNsaWVudCIrYV0tMipvLGYtPXUmJmQ/aS5nZXRFbCgic2Nyb2xsIituKVsiY2xpZW50IitsXTowLHQ9Zi9pLmdldEVsKCJib2R5IilbInNjcm9sbCIrYV0saS5nZXRFbCgiYm9keSIpWyJzY3JvbGwiK3JdPWMrZVsiZGVsdGEiK3NdL3R9LHN0b3A6ZnVuY3Rpb24oKXtlKCIjIit1KS5yZW1vdmVDbGFzcyhkKyJhY3RpdmUiKX19KX1pLmNsYXNzZXMuYWRkKCJzY3JvbGwiKSxuKCJ2IiwiVG9wIiwiSGVpZ2h0IiwiWSIsIldpZHRoIiksbigiaCIsIkxlZnQiLCJXaWR0aCIsIlgiLCJIZWlnaHQiKX12YXIgaT10aGlzLG89MjtpLnNldHRpbmdzLmF1dG9TY3JvbGwmJihpLl9oYXNTY3JvbGx8fChpLl9oYXNTY3JvbGw9ITAscigpLGkub24oIndoZWVsIixmdW5jdGlvbihlKXt2YXIgdD1pLmdldEVsKCJib2R5Iik7dC5zY3JvbGxMZWZ0Kz0xMCooZS5kZWx0YVh8fDApLHQuc2Nyb2xsVG9wKz0xMCplLmRlbHRhWSxuKCl9KSxlKGkuZ2V0RWwoImJvZHkiKSkub24oInNjcm9sbCIsbikpLG4oKSl9fX0pLHIod2UsW2JlLHhlXSxmdW5jdGlvbihlLHQpe3JldHVybiBlLmV4dGVuZCh7RGVmYXVsdHM6e2xheW91dDoiZml0Iixjb250YWluZXJDbHM6InBhbmVsIn0sTWl4aW5zOlt0XSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX2xheW91dCxuPWUuc2V0dGluZ3MuaHRtbDtyZXR1cm4gZS5wcmVSZW5kZXIoKSx0LnByZVJlbmRlcihlKSwidW5kZWZpbmVkIj09dHlwZW9mIG4/bj0nPGRpdiBpZD0iJytlLl9pZCsnLWJvZHkiIGNsYXNzPSInK2UuYm9keUNsYXNzZXMrJyI+Jyt0LnJlbmRlckh0bWwoZSkrIjwvZGl2PiI6KCJmdW5jdGlvbiI9PXR5cGVvZiBuJiYobj1uLmNhbGwoZSkpLGUuX2hhc0JvZHk9ITEpLCc8ZGl2IGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSIgcm9sZT0iZ3JvdXAiPicrKGUuX3ByZUJvZHlIdG1sfHwiIikrbisiPC9kaXY+In19KX0pLHIoTmUsW2ZlXSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQsbixyKXt2YXIgaSxvLGEscyxsLGMsdSxkLGYsaDtyZXR1cm4gZj1lLmdldFZpZXdQb3J0KCksbz1lLmdldFBvcyhuKSxhPW8ueCxzPW8ueSx0LnN0YXRlLmdldCgiZml4ZWQiKSYmInN0YXRpYyI9PWUuZ2V0UnVudGltZVN0eWxlKGRvY3VtZW50LmJvZHksInBvc2l0aW9uIikmJihhLT1mLngscy09Zi55KSxpPXQuZ2V0RWwoKSxoPWUuZ2V0U2l6ZShpKSxsPWgud2lkdGgsYz1oLmhlaWdodCxoPWUuZ2V0U2l6ZShuKSx1PWgud2lkdGgsZD1oLmhlaWdodCxyPShyfHwiIikuc3BsaXQoIiIpLCJiIj09PXJbMF0mJihzKz1kKSwiciI9PT1yWzFdJiYoYSs9dSksImMiPT09clswXSYmKHMrPU1hdGgucm91bmQoZC8yKSksImMiPT09clsxXSYmKGErPU1hdGgucm91bmQodS8yKSksImIiPT09clszXSYmKHMtPWMpLCJyIj09PXJbNF0mJihhLT1sKSwiYyI9PT1yWzNdJiYocy09TWF0aC5yb3VuZChjLzIpKSwiYyI9PT1yWzRdJiYoYS09TWF0aC5yb3VuZChsLzIpKSx7eDphLHk6cyx3OmwsaDpjfX1yZXR1cm57dGVzdE1vdmVSZWw6ZnVuY3Rpb24obixyKXtmb3IodmFyIGk9ZS5nZXRWaWV3UG9ydCgpLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGE9dCh0aGlzLG4scltvXSk7aWYodGhpcy5zdGF0ZS5nZXQoImZpeGVkIikpe2lmKGEueD4wJiZhLngrYS53PGkudyYmYS55PjAmJmEueSthLmg8aS5oKXJldHVybiByW29dfWVsc2UgaWYoYS54PmkueCYmYS54K2EudzxpLncraS54JiZhLnk+aS55JiZhLnkrYS5oPGkuaCtpLnkpcmV0dXJuIHJbb119cmV0dXJuIHJbMF19LG1vdmVSZWw6ZnVuY3Rpb24oZSxuKXsic3RyaW5nIiE9dHlwZW9mIG4mJihuPXRoaXMudGVzdE1vdmVSZWwoZSxuKSk7dmFyIHI9dCh0aGlzLGUsbik7cmV0dXJuIHRoaXMubW92ZVRvKHIueCxyLnkpfSxtb3ZlQnk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLHI9bi5sYXlvdXRSZWN0KCk7cmV0dXJuIG4ubW92ZVRvKHIueCtlLHIueSt0KSxufSxtb3ZlVG86ZnVuY3Rpb24odCxuKXtmdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gMD5lPzA6ZStuPnQ/KGU9dC1uLDA+ZT8wOmUpOmV9dmFyIGk9dGhpcztpZihpLnNldHRpbmdzLmNvbnN0cmFpblRvVmlld3BvcnQpe3ZhciBvPWUuZ2V0Vmlld1BvcnQod2luZG93KSxhPWkubGF5b3V0UmVjdCgpO3Q9cih0LG8udytvLngsYS53KSxuPXIobixvLmgrby55LGEuaCl9cmV0dXJuIGkuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpP2kubGF5b3V0UmVjdCh7eDp0LHk6bn0pLnJlcGFpbnQoKTooaS5zZXR0aW5ncy54PXQsaS5zZXR0aW5ncy55PW4pLGkuZmlyZSgibW92ZSIse3g6dCx5Om59KSxpfX19KSxyKEVlLFtmZV0sZnVuY3Rpb24oZSl7cmV0dXJue3Jlc2l6ZVRvQ29udGVudDpmdW5jdGlvbigpe3RoaXMuX2xheW91dFJlY3QuYXV0b1Jlc2l6ZT0hMCx0aGlzLl9sYXN0UmVjdD1udWxsLHRoaXMucmVmbG93KCl9LHJlc2l6ZVRvOmZ1bmN0aW9uKHQsbil7aWYoMT49dHx8MT49bil7dmFyIHI9ZS5nZXRXaW5kb3dTaXplKCk7dD0xPj10P3Qqci53OnQsbj0xPj1uP24qci5oOm59cmV0dXJuIHRoaXMuX2xheW91dFJlY3QuYXV0b1Jlc2l6ZT0hMSx0aGlzLmxheW91dFJlY3Qoe21pblc6dCxtaW5IOm4sdzp0LGg6bn0pLnJlZmxvdygpfSxyZXNpemVCeTpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscj1uLmxheW91dFJlY3QoKTtyZXR1cm4gbi5yZXNpemVUbyhyLncrZSxyLmgrdCl9fX0pLHIoX2UsW3dlLE5lLEVlLGZlLGcsdV0sZnVuY3Rpb24oZSx0LG4scixpLG8pe2Z1bmN0aW9uIGEoZSx0KXtmb3IoO2U7KXtpZihlPT10KXJldHVybiEwO2U9ZS5wYXJlbnQoKX19ZnVuY3Rpb24gcyhlKXtmb3IodmFyIHQ9di5sZW5ndGg7dC0tOyl7dmFyIG49dlt0XSxyPW4uZ2V0UGFyZW50Q3RybChlLnRhcmdldCk7aWYobi5zZXR0aW5ncy5hdXRvaGlkZSl7aWYociYmKGEocixuKXx8bi5wYXJlbnQoKT09PXIpKWNvbnRpbnVlO2U9bi5maXJlKCJhdXRvaGlkZSIse3RhcmdldDplLnRhcmdldH0pLGUuaXNEZWZhdWx0UHJldmVudGVkKCl8fG4uaGlkZSgpfX19ZnVuY3Rpb24gbCgpe3B8fChwPWZ1bmN0aW9uKGUpezIhPWUuYnV0dG9uJiZzKGUpfSxpKGRvY3VtZW50KS5vbigiY2xpY2sgdG91Y2hzdGFydCIscCkpfWZ1bmN0aW9uIGMoKXttfHwobT1mdW5jdGlvbigpe3ZhciBlO2ZvcihlPXYubGVuZ3RoO2UtLTspZCh2W2VdKX0saSh3aW5kb3cpLm9uKCJzY3JvbGwiLG0pKX1mdW5jdGlvbiB1KCl7aWYoIWcpe3ZhciBlPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0PWUuY2xpZW50V2lkdGgsbj1lLmNsaWVudEhlaWdodDtnPWZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWxsJiZ0PT1lLmNsaWVudFdpZHRoJiZuPT1lLmNsaWVudEhlaWdodHx8KHQ9ZS5jbGllbnRXaWR0aCxuPWUuY2xpZW50SGVpZ2h0LEMuaGlkZUFsbCgpKX0saSh3aW5kb3cpLm9uKCJyZXNpemUiLGcpfX1mdW5jdGlvbiBkKGUpe2Z1bmN0aW9uIHQodCxuKXtmb3IodmFyIHIsaT0wO2k8di5sZW5ndGg7aSsrKWlmKHZbaV0hPWUpZm9yKHI9dltpXS5wYXJlbnQoKTtyJiYocj1yLnBhcmVudCgpKTspcj09ZSYmdltpXS5maXhlZCh0KS5tb3ZlQnkoMCxuKS5yZXBhaW50KCl9dmFyIG49ci5nZXRWaWV3UG9ydCgpLnk7ZS5zZXR0aW5ncy5hdXRvZml4JiYoZS5zdGF0ZS5nZXQoImZpeGVkIik/ZS5fYXV0b0ZpeFk+biYmKGUuZml4ZWQoITEpLmxheW91dFJlY3Qoe3k6ZS5fYXV0b0ZpeFl9KS5yZXBhaW50KCksdCghMSxlLl9hdXRvRml4WS1uKSk6KGUuX2F1dG9GaXhZPWUubGF5b3V0UmVjdCgpLnksZS5fYXV0b0ZpeFk8biYmKGUuZml4ZWQoITApLmxheW91dFJlY3Qoe3k6MH0pLnJlcGFpbnQoKSx0KCEwLG4tZS5fYXV0b0ZpeFkpKSkpfWZ1bmN0aW9uIGYoZSx0KXt2YXIgbixyPUMuekluZGV4fHw2NTUzNSxvO2lmKGUpeS5wdXNoKHQpO2Vsc2UgZm9yKG49eS5sZW5ndGg7bi0tOyl5W25dPT09dCYmeS5zcGxpY2UobiwxKTtpZih5Lmxlbmd0aClmb3Iobj0wO248eS5sZW5ndGg7bisrKXlbbl0ubW9kYWwmJihyKyssbz15W25dKSx5W25dLmdldEVsKCkuc3R5bGUuekluZGV4PXIseVtuXS56SW5kZXg9cixyKys7dmFyIGE9aSgiIyIrdC5jbGFzc1ByZWZpeCsibW9kYWwtYmxvY2siLHQuZ2V0Q29udGFpbmVyRWxtKCkpWzBdO28/aShhKS5jc3MoInotaW5kZXgiLG8uekluZGV4LTEpOmEmJihhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSksYj0hMSksQy5jdXJyZW50WkluZGV4PXJ9ZnVuY3Rpb24gaChlKXt2YXIgdDtmb3IodD12Lmxlbmd0aDt0LS07KXZbdF09PT1lJiZ2LnNwbGljZSh0LDEpO2Zvcih0PXkubGVuZ3RoO3QtLTspeVt0XT09PWUmJnkuc3BsaWNlKHQsMSl9dmFyIHAsbSxnLHY9W10seT1bXSxiLEM9ZS5leHRlbmQoe01peGluczpbdCxuXSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fc3VwZXIoZSksdC5fZXZlbnRzUm9vdD10LHQuY2xhc3Nlcy5hZGQoImZsb2F0cGFuZWwiKSxlLmF1dG9oaWRlJiYobCgpLHUoKSx2LnB1c2godCkpLGUuYXV0b2ZpeCYmKGMoKSx0Lm9uKCJtb3ZlIixmdW5jdGlvbigpe2QodGhpcyl9KSksdC5vbigicG9zdHJlbmRlciBzaG93IixmdW5jdGlvbihlKXtpZihlLmNvbnRyb2w9PXQpe3ZhciBuLHI9dC5jbGFzc1ByZWZpeDt0Lm1vZGFsJiYhYiYmKG49aSgiIyIrcisibW9kYWwtYmxvY2siLHQuZ2V0Q29udGFpbmVyRWxtKCkpLG5bMF18fChuPWkoJzxkaXYgaWQ9IicrcisnbW9kYWwtYmxvY2siIGNsYXNzPSInK3IrInJlc2V0ICIrcisnZmFkZSI+PC9kaXY+JykuYXBwZW5kVG8odC5nZXRDb250YWluZXJFbG0oKSkpLG8uc2V0VGltZW91dChmdW5jdGlvbigpe24uYWRkQ2xhc3MocisiaW4iKSxpKHQuZ2V0RWwoKSkuYWRkQ2xhc3MocisiaW4iKX0pLGI9ITApLGYoITAsdCl9fSksdC5vbigic2hvdyIsZnVuY3Rpb24oKXt0LnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnN0YXRlLmdldCgiZml4ZWQiKT8odC5maXhlZCghMCksITEpOnZvaWQgMH0pfSksZS5wb3BvdmVyJiYodC5fcHJlQm9keUh0bWw9JzxkaXYgY2xhc3M9IicrdC5jbGFzc1ByZWZpeCsnYXJyb3ciPjwvZGl2PicsdC5jbGFzc2VzLmFkZCgicG9wb3ZlciIpLmFkZCgiYm90dG9tIikuYWRkKHQuaXNSdGwoKT8iZW5kIjoic3RhcnQiKSksdC5hcmlhKCJsYWJlbCIsZS5hcmlhTGFiZWwpLHQuYXJpYSgibGFiZWxsZWRieSIsdC5faWQpLHQuYXJpYSgiZGVzY3JpYmVkYnkiLHQuZGVzY3JpYmVkQnl8fHQuX2lkKyItbm9uZSIpfSxmaXhlZDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKHQuc3RhdGUuZ2V0KCJmaXhlZCIpIT1lKXtpZih0LnN0YXRlLmdldCgicmVuZGVyZWQiKSl7dmFyIG49ci5nZXRWaWV3UG9ydCgpO2U/dC5sYXlvdXRSZWN0KCkueS09bi55OnQubGF5b3V0UmVjdCgpLnkrPW4ueX10LmNsYXNzZXMudG9nZ2xlKCJmaXhlZCIsZSksdC5zdGF0ZS5zZXQoImZpeGVkIixlKX1yZXR1cm4gdH0sc2hvdzpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdCxuPWUuX3N1cGVyKCk7Zm9yKHQ9di5sZW5ndGg7dC0tJiZ2W3RdIT09ZTspO3JldHVybi0xPT09dCYmdi5wdXNoKGUpLG59LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gaCh0aGlzKSxmKCExLHRoaXMpLHRoaXMuX3N1cGVyKCl9LGhpZGVBbGw6ZnVuY3Rpb24oKXtDLmhpZGVBbGwoKX0sY2xvc2U6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLmZpcmUoImNsb3NlIikuaXNEZWZhdWx0UHJldmVudGVkKCl8fChlLnJlbW92ZSgpLGYoITEsZSkpLGV9LHJlbW92ZTpmdW5jdGlvbigpe2godGhpcyksdGhpcy5fc3VwZXIoKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuc2V0dGluZ3MuYm9keVJvbGUmJnRoaXMuZ2V0RWwoImJvZHkiKS5zZXRBdHRyaWJ1dGUoInJvbGUiLGUuc2V0dGluZ3MuYm9keVJvbGUpLGUuX3N1cGVyKCl9fSk7cmV0dXJuIEMuaGlkZUFsbD1mdW5jdGlvbigpe2Zvcih2YXIgZT12Lmxlbmd0aDtlLS07KXt2YXIgdD12W2VdO3QmJnQuc2V0dGluZ3MuYXV0b2hpZGUmJih0LmhpZGUoKSx2LnNwbGljZShlLDEpKX19LEN9KSxyKFNlLFtfZSx3ZSxmZSxnLENlLGhlLGgsdV0sZnVuY3Rpb24oZSx0LG4scixpLG8sYSxzKXtmdW5jdGlvbiBsKGUpe3ZhciB0PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLjAsdXNlci1zY2FsYWJsZT0wLG1pbmltdW0tc2NhbGU9MS4wLG1heGltdW0tc2NhbGU9MS4wIixuPXIoIm1ldGFbbmFtZT12aWV3cG9ydF0iKVswXSxpO2Eub3ZlcnJpZGVWaWV3UG9ydCE9PSExJiYobnx8KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpLG4uc2V0QXR0cmlidXRlKCJuYW1lIiwidmlld3BvcnQiKSxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKG4pKSxpPW4uZ2V0QXR0cmlidXRlKCJjb250ZW50IiksaSYmInVuZGVmaW5lZCIhPXR5cGVvZiBmJiYoZj1pKSxuLnNldEF0dHJpYnV0ZSgiY29udGVudCIsZT90OmYpKX1mdW5jdGlvbiBjKGUpe2Zvcih2YXIgdD0wO3Q8ZC5sZW5ndGg7dCsrKWlmKGRbdF0uX2Z1bGxzY3JlZW4pcmV0dXJuO3IoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCxkb2N1bWVudC5ib2R5XSkucmVtb3ZlQ2xhc3MoZSsiZnVsbHNjcmVlbiIpfWZ1bmN0aW9uIHUoKXtmdW5jdGlvbiBlKCl7dmFyIGUsdD1uLmdldFdpbmRvd1NpemUoKSxyO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspcj1kW2VdLmxheW91dFJlY3QoKSxkW2VdLm1vdmVUbyhkW2VdLnNldHRpbmdzLnh8fE1hdGgubWF4KDAsdC53LzItci53LzIpLGRbZV0uc2V0dGluZ3MueXx8TWF0aC5tYXgoMCx0LmgvMi1yLmgvMikpfWlmKCFhLmRlc2t0b3Ape3ZhciB0PXt3OndpbmRvdy5pbm5lcldpZHRoLGg6d2luZG93LmlubmVySGVpZ2h0fTtzLnNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIGU9d2luZG93LmlubmVyV2lkdGgsbj13aW5kb3cuaW5uZXJIZWlnaHQ7dC53PT1lJiZ0Lmg9PW58fCh0PXt3OmUsaDpufSxyKHdpbmRvdykudHJpZ2dlcigicmVzaXplIikpfSwxMDApfXIod2luZG93KS5vbigicmVzaXplIixlKX12YXIgZD1bXSxmPSIiLGg9ZS5leHRlbmQoe21vZGFsOiEwLERlZmF1bHRzOntib3JkZXI6MSxsYXlvdXQ6ImZsZXgiLGNvbnRhaW5lckNsczoicGFuZWwiLHJvbGU6ImRpYWxvZyIsY2FsbGJhY2tzOntzdWJtaXQ6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoInN1Ym1pdCIse2RhdGE6dGhpcy50b0pTT04oKX0pfSxjbG9zZTpmdW5jdGlvbigpe3RoaXMuY2xvc2UoKX19fSxpbml0OmZ1bmN0aW9uKGUpe3ZhciByPXRoaXM7ci5fc3VwZXIoZSksci5pc1J0bCgpJiZyLmNsYXNzZXMuYWRkKCJydGwiKSxyLmNsYXNzZXMuYWRkKCJ3aW5kb3ciKSxyLmJvZHlDbGFzc2VzLmFkZCgid2luZG93LWJvZHkiKSxyLnN0YXRlLnNldCgiZml4ZWQiLCEwKSxlLmJ1dHRvbnMmJihyLnN0YXR1c2Jhcj1uZXcgdCh7bGF5b3V0OiJmbGV4Iixib3JkZXI6IjEgMCAwIDAiLHNwYWNpbmc6MyxwYWRkaW5nOjEwLGFsaWduOiJjZW50ZXIiLHBhY2s6ci5pc1J0bCgpPyJzdGFydCI6ImVuZCIsZGVmYXVsdHM6e3R5cGU6ImJ1dHRvbiJ9LGl0ZW1zOmUuYnV0dG9uc30pLHIuc3RhdHVzYmFyLmNsYXNzZXMuYWRkKCJmb290Iiksci5zdGF0dXNiYXIucGFyZW50KHIpKSxyLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIHQ9ci5jbGFzc1ByZWZpeCsiY2xvc2UiOyhuLmhhc0NsYXNzKGUudGFyZ2V0LHQpfHxuLmhhc0NsYXNzKGUudGFyZ2V0LnBhcmVudE5vZGUsdCkpJiZyLmNsb3NlKCl9KSxyLm9uKCJjYW5jZWwiLGZ1bmN0aW9uKCl7ci5jbG9zZSgpfSksci5hcmlhKCJkZXNjcmliZWRieSIsci5kZXNjcmliZWRCeXx8ci5faWQrIi1ub25lIiksci5hcmlhKCJsYWJlbCIsZS50aXRsZSksci5fZnVsbHNjcmVlbj0hMX0scmVjYWxjOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuc3RhdHVzYmFyLHIsaSxvLGE7ZS5fZnVsbHNjcmVlbiYmKGUubGF5b3V0UmVjdChuLmdldFdpbmRvd1NpemUoKSksZS5sYXlvdXRSZWN0KCkuY29udGVudEg9ZS5sYXlvdXRSZWN0KCkuaW5uZXJIKSxlLl9zdXBlcigpLHI9ZS5sYXlvdXRSZWN0KCksZS5zZXR0aW5ncy50aXRsZSYmIWUuX2Z1bGxzY3JlZW4mJihpPXIuaGVhZGVyVyxpPnIudyYmKG89ci54LU1hdGgubWF4KDAsaS8yKSxlLmxheW91dFJlY3Qoe3c6aSx4Om99KSxhPSEwKSksdCYmKHQubGF5b3V0UmVjdCh7dzplLmxheW91dFJlY3QoKS5pbm5lcld9KS5yZWNhbGMoKSxpPXQubGF5b3V0UmVjdCgpLm1pblcrci5kZWx0YVcsaT5yLncmJihvPXIueC1NYXRoLm1heCgwLGktci53KSxlLmxheW91dFJlY3Qoe3c6aSx4Om99KSxhPSEwKSksYSYmZS5yZWNhbGMoKX0saW5pdExheW91dFJlY3Q6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5fc3VwZXIoKSxyPTAsaTtpZihlLnNldHRpbmdzLnRpdGxlJiYhZS5fZnVsbHNjcmVlbil7aT1lLmdldEVsKCJoZWFkIik7dmFyIG89bi5nZXRTaXplKGkpO3QuaGVhZGVyVz1vLndpZHRoLHQuaGVhZGVySD1vLmhlaWdodCxyKz10LmhlYWRlckh9ZS5zdGF0dXNiYXImJihyKz1lLnN0YXR1c2Jhci5sYXlvdXRSZWN0KCkuaCksdC5kZWx0YUgrPXIsdC5taW5IKz1yLHQuaCs9cjt2YXIgYT1uLmdldFdpbmRvd1NpemUoKTtyZXR1cm4gdC54PWUuc2V0dGluZ3MueHx8TWF0aC5tYXgoMCxhLncvMi10LncvMiksdC55PWUuc2V0dGluZ3MueXx8TWF0aC5tYXgoMCxhLmgvMi10LmgvMiksdH0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9sYXlvdXQsbj1lLl9pZCxyPWUuY2xhc3NQcmVmaXgsaT1lLnNldHRpbmdzLG89IiIsYT0iIixzPWkuaHRtbDtyZXR1cm4gZS5wcmVSZW5kZXIoKSx0LnByZVJlbmRlcihlKSxpLnRpdGxlJiYobz0nPGRpdiBpZD0iJytuKyctaGVhZCIgY2xhc3M9Iicrcisnd2luZG93LWhlYWQiPjxkaXYgaWQ9IicrbisnLXRpdGxlIiBjbGFzcz0iJytyKyd0aXRsZSI+JytlLmVuY29kZShpLnRpdGxlKSsnPC9kaXY+PGRpdiBpZD0iJytuKyctZHJhZ2giIGNsYXNzPSInK3IrJ2RyYWdoIj48L2Rpdj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrcisnY2xvc2UiIGFyaWEtaGlkZGVuPSJ0cnVlIj48aSBjbGFzcz0ibWNlLWljbyBtY2UtaS1yZW1vdmUiPjwvaT48L2J1dHRvbj48L2Rpdj4nKSxpLnVybCYmKHM9JzxpZnJhbWUgc3JjPSInK2kudXJsKyciIHRhYmluZGV4PSItMSI+PC9pZnJhbWU+JyksInVuZGVmaW5lZCI9PXR5cGVvZiBzJiYocz10LnJlbmRlckh0bWwoZSkpLGUuc3RhdHVzYmFyJiYoYT1lLnN0YXR1c2Jhci5yZW5kZXJIdG1sKCkpLCc8ZGl2IGlkPSInK24rJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciIGhpZGVmb2N1cz0iMSI+PGRpdiBjbGFzcz0iJytlLmNsYXNzUHJlZml4KydyZXNldCIgcm9sZT0iYXBwbGljYXRpb24iPicrbysnPGRpdiBpZD0iJytuKyctYm9keSIgY2xhc3M9IicrZS5ib2R5Q2xhc3NlcysnIj4nK3MrIjwvZGl2PiIrYSsiPC9kaXY+PC9kaXY+In0sZnVsbHNjcmVlbjpmdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGEsbD10LmNsYXNzUHJlZml4LGM7aWYoZSE9dC5fZnVsbHNjcmVlbilpZihyKHdpbmRvdykub24oInJlc2l6ZSIsZnVuY3Rpb24oKXt2YXIgZTtpZih0Ll9mdWxsc2NyZWVuKWlmKGEpdC5fdGltZXJ8fCh0Ll90aW1lcj1zLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZT1uLmdldFdpbmRvd1NpemUoKTt0Lm1vdmVUbygwLDApLnJlc2l6ZVRvKGUudyxlLmgpLHQuX3RpbWVyPTB9LDUwKSk7ZWxzZXtlPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciByPW4uZ2V0V2luZG93U2l6ZSgpO3QubW92ZVRvKDAsMCkucmVzaXplVG8oci53LHIuaCksKG5ldyBEYXRlKS5nZXRUaW1lKCktZT41MCYmKGE9ITApfX0pLGM9dC5sYXlvdXRSZWN0KCksdC5fZnVsbHNjcmVlbj1lLGUpe3QuX2luaXRpYWw9e3g6Yy54LHk6Yy55LHc6Yy53LGg6Yy5ofSx0LmJvcmRlckJveD1vLnBhcnNlQm94KCIwIiksdC5nZXRFbCgiaGVhZCIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGMuZGVsdGFILT1jLmhlYWRlckgrMixyKFtpLGRvY3VtZW50LmJvZHldKS5hZGRDbGFzcyhsKyJmdWxsc2NyZWVuIiksdC5jbGFzc2VzLmFkZCgiZnVsbHNjcmVlbiIpO3ZhciB1PW4uZ2V0V2luZG93U2l6ZSgpO3QubW92ZVRvKDAsMCkucmVzaXplVG8odS53LHUuaCl9ZWxzZSB0LmJvcmRlckJveD1vLnBhcnNlQm94KHQuc2V0dGluZ3MuYm9yZGVyKSx0LmdldEVsKCJoZWFkIikuc3R5bGUuZGlzcGxheT0iIixjLmRlbHRhSCs9Yy5oZWFkZXJILHIoW2ksZG9jdW1lbnQuYm9keV0pLnJlbW92ZUNsYXNzKGwrImZ1bGxzY3JlZW4iKSx0LmNsYXNzZXMucmVtb3ZlKCJmdWxsc2NyZWVuIiksdC5tb3ZlVG8odC5faW5pdGlhbC54LHQuX2luaXRpYWwueSkucmVzaXplVG8odC5faW5pdGlhbC53LHQuX2luaXRpYWwuaCk7cmV0dXJuIHQucmVmbG93KCl9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ7c2V0VGltZW91dChmdW5jdGlvbigpe2UuY2xhc3Nlcy5hZGQoImluIiksZS5maXJlKCJvcGVuIil9LDApLGUuX3N1cGVyKCksZS5zdGF0dXNiYXImJmUuc3RhdHVzYmFyLnBvc3RSZW5kZXIoKSxlLmZvY3VzKCksdGhpcy5kcmFnSGVscGVyPW5ldyBpKGUuX2lkKyItZHJhZ2giLHtzdGFydDpmdW5jdGlvbigpe3Q9e3g6ZS5sYXlvdXRSZWN0KCkueCx5OmUubGF5b3V0UmVjdCgpLnl9fSxkcmFnOmZ1bmN0aW9uKG4pe2UubW92ZVRvKHQueCtuLmRlbHRhWCx0Lnkrbi5kZWx0YVkpfX0pLGUub24oInN1Ym1pdCIsZnVuY3Rpb24odCl7dC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8ZS5jbG9zZSgpfSksZC5wdXNoKGUpLGwoITApfSxzdWJtaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maXJlKCJzdWJtaXQiLHtkYXRhOnRoaXMudG9KU09OKCl9KX0scmVtb3ZlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0O2ZvcihlLmRyYWdIZWxwZXIuZGVzdHJveSgpLGUuX3N1cGVyKCksZS5zdGF0dXNiYXImJnRoaXMuc3RhdHVzYmFyLnJlbW92ZSgpLHQ9ZC5sZW5ndGg7dC0tOylkW3RdPT09ZSYmZC5zcGxpY2UodCwxKTtsKGQubGVuZ3RoPjApLGMoZS5jbGFzc1ByZWZpeCl9LGdldENvbnRlbnRXaW5kb3c6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmdldEVsKCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdO3JldHVybiBlP2UuY29udGVudFdpbmRvdzpudWxsfX0pO3JldHVybiB1KCksaH0pLHIoa2UsW1NlXSxmdW5jdGlvbihlKXt2YXIgdD1lLmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXtlPXtib3JkZXI6MSxwYWRkaW5nOjIwLGxheW91dDoiZmxleCIscGFjazoiY2VudGVyIixhbGlnbjoiY2VudGVyIixjb250YWluZXJDbHM6InBhbmVsIixhdXRvU2Nyb2xsOiEwLGJ1dHRvbnM6e3R5cGU6ImJ1dHRvbiIsdGV4dDoiT2siLGFjdGlvbjoib2sifSxpdGVtczp7dHlwZToibGFiZWwiLG11bHRpbGluZTohMCxtYXhXaWR0aDo1MDAsbWF4SGVpZ2h0OjIwMH19LHRoaXMuX3N1cGVyKGUpfSxTdGF0aWNzOntPSzoxLE9LX0NBTkNFTDoyLFlFU19OTzozLFlFU19OT19DQU5DRUw6NCxtc2dCb3g6ZnVuY3Rpb24obil7ZnVuY3Rpb24gcihlLHQsbil7cmV0dXJue3R5cGU6ImJ1dHRvbiIsdGV4dDplLHN1YnR5cGU6bj8icHJpbWFyeSI6IiIsb25DbGljazpmdW5jdGlvbihlKXtlLmNvbnRyb2wucGFyZW50cygpWzFdLmNsb3NlKCksbyh0KX19fXZhciBpLG89bi5jYWxsYmFja3x8ZnVuY3Rpb24oKXt9O3N3aXRjaChuLmJ1dHRvbnMpe2Nhc2UgdC5PS19DQU5DRUw6aT1bcigiT2siLCEwLCEwKSxyKCJDYW5jZWwiLCExKV07YnJlYWs7Y2FzZSB0LllFU19OTzpjYXNlIHQuWUVTX05PX0NBTkNFTDppPVtyKCJZZXMiLDEsITApLHIoIk5vIiwwKV0sbi5idXR0b25zPT10LllFU19OT19DQU5DRUwmJmkucHVzaChyKCJDYW5jZWwiLC0xKSk7YnJlYWs7ZGVmYXVsdDppPVtyKCJPayIsITAsITApXX1yZXR1cm4gbmV3IGUoe3BhZGRpbmc6MjAseDpuLngseTpuLnksbWluV2lkdGg6MzAwLG1pbkhlaWdodDoxMDAsbGF5b3V0OiJmbGV4IixwYWNrOiJjZW50ZXIiLGFsaWduOiJjZW50ZXIiLGJ1dHRvbnM6aSx0aXRsZTpuLnRpdGxlLHJvbGU6ImFsZXJ0ZGlhbG9nIixpdGVtczp7dHlwZToibGFiZWwiLG11bHRpbGluZTohMCxtYXhXaWR0aDo1MDAsbWF4SGVpZ2h0OjIwMCx0ZXh0Om4udGV4dH0sb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dGhpcy5hcmlhKCJkZXNjcmliZWRieSIsdGhpcy5pdGVtcygpWzBdLl9pZCl9LG9uQ2xvc2U6bi5vbkNsb3NlLG9uQ2FuY2VsOmZ1bmN0aW9uKCl7byghMSl9fSkucmVuZGVyVG8oZG9jdW1lbnQuYm9keSkucmVmbG93KCl9LGFsZXJ0OmZ1bmN0aW9uKGUsbil7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT17dGV4dDplfSksZS5jYWxsYmFjaz1uLHQubXNnQm94KGUpfSxjb25maXJtOmZ1bmN0aW9uKGUsbil7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT17dGV4dDplfSksZS5jYWxsYmFjaz1uLGUuYnV0dG9ucz10Lk9LX0NBTkNFTCx0Lm1zZ0JveChlKX19fSk7cmV0dXJuIHR9KSxyKFRlLFtTZSxrZV0sZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24obil7ZnVuY3Rpb24gcigpe3JldHVybiBzLmxlbmd0aD9zW3MubGVuZ3RoLTFdOnZvaWQgMH1mdW5jdGlvbiBpKGUpe24uZmlyZSgiT3BlbldpbmRvdyIse3dpbjplfSl9ZnVuY3Rpb24gbyhlKXtuLmZpcmUoIkNsb3NlV2luZG93Iix7d2luOmV9KX12YXIgYT10aGlzLHM9W107YS53aW5kb3dzPXMsbi5vbigicmVtb3ZlIixmdW5jdGlvbigpe2Zvcih2YXIgZT1zLmxlbmd0aDtlLS07KXNbZV0uY2xvc2UoKX0pLGEub3Blbj1mdW5jdGlvbih0LHIpe3ZhciBhO3JldHVybiBuLmVkaXRvck1hbmFnZXIuc2V0QWN0aXZlKG4pLHQudGl0bGU9dC50aXRsZXx8IiAiLHQudXJsPXQudXJsfHx0LmZpbGUsdC51cmwmJih0LndpZHRoPXBhcnNlSW50KHQud2lkdGh8fDMyMCwxMCksdC5oZWlnaHQ9cGFyc2VJbnQodC5oZWlnaHR8fDI0MCwxMCkpLHQuYm9keSYmKHQuaXRlbXM9e2RlZmF1bHRzOnQuZGVmYXVsdHMsdHlwZTp0LmJvZHlUeXBlfHwiZm9ybSIsaXRlbXM6dC5ib2R5LGRhdGE6dC5kYXRhLGNhbGxiYWNrczp0LmNvbW1hbmRzfSksdC51cmx8fHQuYnV0dG9uc3x8KHQuYnV0dG9ucz1be3RleHQ6Ik9rIixzdWJ0eXBlOiJwcmltYXJ5IixvbmNsaWNrOmZ1bmN0aW9uKCl7YS5maW5kKCJmb3JtIilbMF0uc3VibWl0KCl9fSx7dGV4dDoiQ2FuY2VsIixvbmNsaWNrOmZ1bmN0aW9uKCl7YS5jbG9zZSgpfX1dKSxhPW5ldyBlKHQpLHMucHVzaChhKSxhLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXtmb3IodmFyIGU9cy5sZW5ndGg7ZS0tOylzW2VdPT09YSYmcy5zcGxpY2UoZSwxKTtzLmxlbmd0aHx8bi5mb2N1cygpLG8oYSl9KSx0LmRhdGEmJmEub24oInBvc3RSZW5kZXIiLGZ1bmN0aW9uKCl7dGhpcy5maW5kKCIqIikuZWFjaChmdW5jdGlvbihlKXt2YXIgbj1lLm5hbWUoKTtuIGluIHQuZGF0YSYmZS52YWx1ZSh0LmRhdGFbbl0pfSl9KSxhLmZlYXR1cmVzPXR8fHt9LGEucGFyYW1zPXJ8fHt9LDE9PT1zLmxlbmd0aCYmbi5ub2RlQ2hhbmdlZCgpLGE9YS5yZW5kZXJUbygpLnJlZmxvdygpLGkoYSksYX0sYS5hbGVydD1mdW5jdGlvbihlLHIsYSl7dmFyIHM7cz10LmFsZXJ0KGUsZnVuY3Rpb24oKXtyP3IuY2FsbChhfHx0aGlzKTpuLmZvY3VzKCl9KSxzLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXtvKHMpfSksaShzKX0sYS5jb25maXJtPWZ1bmN0aW9uKGUsbixyKXt2YXIgYTthPXQuY29uZmlybShlLGZ1bmN0aW9uKGUpe24uY2FsbChyfHx0aGlzLGUpfSksYS5vbigiY2xvc2UiLGZ1bmN0aW9uKCl7byhhKX0pLGkoYSl9LGEuY2xvc2U9ZnVuY3Rpb24oKXtyKCkmJnIoKS5jbG9zZSgpfSxhLmdldFBhcmFtcz1mdW5jdGlvbigpe3JldHVybiByKCk/cigpLnBhcmFtczpudWxsfSxhLnNldFBhcmFtcz1mdW5jdGlvbihlKXtyKCkmJihyKCkucGFyYW1zPWUpfSxhLmdldFdpbmRvd3M9ZnVuY3Rpb24oKXtyZXR1cm4gc319fSkscihSZSxbZ2UsTmVdLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZXh0ZW5kKHtNaXhpbnM6W3RdLERlZmF1bHRzOntjbGFzc2VzOiJ3aWRnZXQgdG9vbHRpcCB0b29sdGlwLW4ifSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuY2xhc3NQcmVmaXg7cmV0dXJuJzxkaXYgaWQ9IicrZS5faWQrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciIHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdiBjbGFzcz0iJyt0Kyd0b29sdGlwLWFycm93Ij48L2Rpdj48ZGl2IGNsYXNzPSInK3QrJ3Rvb2x0aXAtaW5uZXIiPicrZS5lbmNvZGUoZS5zdGF0ZS5nZXQoInRleHQiKSkrIjwvZGl2PjwvZGl2PiJ9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnN0YXRlLm9uKCJjaGFuZ2U6dGV4dCIsZnVuY3Rpb24odCl7ZS5nZXRFbCgpLmxhc3RDaGlsZC5pbm5lckhUTUw9ZS5lbmNvZGUodC52YWx1ZSl9KSxlLl9zdXBlcigpfSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0LG47dD1lLmdldEVsKCkuc3R5bGUsbj1lLl9sYXlvdXRSZWN0LHQubGVmdD1uLngrInB4Iix0LnRvcD1uLnkrInB4Iix0LnpJbmRleD0xMzEwNzB9fSl9KSxyKEFlLFtnZSxSZV0sZnVuY3Rpb24oZSx0KXt2YXIgbixyPWUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fc3VwZXIoZSksZT10LnNldHRpbmdzLHQuY2FuRm9jdXM9ITAsZS50b29sdGlwJiZyLnRvb2x0aXBzIT09ITEmJih0Lm9uKCJtb3VzZWVudGVyIixmdW5jdGlvbihuKXt2YXIgcj10LnRvb2x0aXAoKS5tb3ZlVG8oLTY1NTM1KTtpZihuLmNvbnRyb2w9PXQpe3ZhciBpPXIudGV4dChlLnRvb2x0aXApLnNob3coKS50ZXN0TW92ZVJlbCh0LmdldEVsKCksWyJiYy10YyIsImJjLXRsIiwiYmMtdHIiXSk7ci5jbGFzc2VzLnRvZ2dsZSgidG9vbHRpcC1uIiwiYmMtdGMiPT1pKSxyLmNsYXNzZXMudG9nZ2xlKCJ0b29sdGlwLW53IiwiYmMtdGwiPT1pKSxyLmNsYXNzZXMudG9nZ2xlKCJ0b29sdGlwLW5lIiwiYmMtdHIiPT1pKSxyLm1vdmVSZWwodC5nZXRFbCgpLGkpfWVsc2Ugci5oaWRlKCl9KSx0Lm9uKCJtb3VzZWxlYXZlIG1vdXNlZG93biBjbGljayIsZnVuY3Rpb24oKXt0LnRvb2x0aXAoKS5oaWRlKCl9KSksdC5hcmlhKCJsYWJlbCIsZS5hcmlhTGFiZWx8fGUudG9vbHRpcCl9LHRvb2x0aXA6ZnVuY3Rpb24oKXtyZXR1cm4gbnx8KG49bmV3IHQoe3R5cGU6InRvb2x0aXAifSksbi5yZW5kZXJUbygpKSxufSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuc2V0dGluZ3M7ZS5fc3VwZXIoKSxlLnBhcmVudCgpfHwhdC53aWR0aCYmIXQuaGVpZ2h0fHwoZS5pbml0TGF5b3V0UmVjdCgpLGUucmVwYWludCgpKSx0LmF1dG9mb2N1cyYmZS5mb2N1cygpfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtuLmFyaWEoImRpc2FibGVkIixlKSxuLmNsYXNzZXMudG9nZ2xlKCJkaXNhYmxlZCIsZSl9ZnVuY3Rpb24gdChlKXtuLmFyaWEoInByZXNzZWQiLGUpLG4uY2xhc3Nlcy50b2dnbGUoImFjdGl2ZSIsZSl9dmFyIG49dGhpcztyZXR1cm4gbi5zdGF0ZS5vbigiY2hhbmdlOmRpc2FibGVkIixmdW5jdGlvbih0KXtlKHQudmFsdWUpfSksbi5zdGF0ZS5vbigiY2hhbmdlOmFjdGl2ZSIsZnVuY3Rpb24oZSl7dChlLnZhbHVlKX0pLG4uc3RhdGUuZ2V0KCJkaXNhYmxlZCIpJiZlKCEwKSxuLnN0YXRlLmdldCgiYWN0aXZlIikmJnQoITApLG4uX3N1cGVyKCl9LHJlbW92ZTpmdW5jdGlvbigpe3RoaXMuX3N1cGVyKCksbiYmKG4ucmVtb3ZlKCksbj1udWxsKX19KTtyZXR1cm4gcn0pLHIoQmUsW0FlXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5leHRlbmQoe0RlZmF1bHRzOnt2YWx1ZTowfSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fc3VwZXIoZSksdC5jbGFzc2VzLmFkZCgicHJvZ3Jlc3MiKSx0LnNldHRpbmdzLmZpbHRlcnx8KHQuc2V0dGluZ3MuZmlsdGVyPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLnJvdW5kKGUpfSl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5faWQsbj10aGlzLmNsYXNzUHJlZml4O3JldHVybic8ZGl2IGlkPSInK3QrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciPjxkaXYgY2xhc3M9IicrbisnYmFyLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0iJytuKydiYXIiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrbisndGV4dCI+MCU8L2Rpdj48L2Rpdj4nfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5fc3VwZXIoKSxlLnZhbHVlKGUuc2V0dGluZ3MudmFsdWUpLGV9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe2U9dC5zZXR0aW5ncy5maWx0ZXIoZSksdC5nZXRFbCgpLmxhc3RDaGlsZC5pbm5lckhUTUw9ZSsiJSIsdC5nZXRFbCgpLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZC5zdHlsZS53aWR0aD1lKyIlIn12YXIgdD10aGlzO3JldHVybiB0LnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKHQpe2UodC52YWx1ZSl9KSxlKHQuc3RhdGUuZ2V0KCJ2YWx1ZSIpKSx0Ll9zdXBlcigpfX0pfSkscihEZSxbZ2UsTmUsQmUsdV0sZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIGUuZXh0ZW5kKHtNaXhpbnM6W3RdLERlZmF1bHRzOntjbGFzc2VzOiJ3aWRnZXQgbm90aWZpY2F0aW9uIn0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3QuX3N1cGVyKGUpLGUudGV4dCYmdC50ZXh0KGUudGV4dCksZS5pY29uJiYodC5pY29uPWUuaWNvbiksZS5jb2xvciYmKHQuY29sb3I9ZS5jb2xvciksZS50eXBlJiZ0LmNsYXNzZXMuYWRkKCJub3RpZmljYXRpb24tIitlLnR5cGUpLGUudGltZW91dCYmKGUudGltZW91dDwwfHxlLnRpbWVvdXQ+MCkmJiFlLmNsb3NlQnV0dG9uP3QuY2xvc2VCdXR0b249ITE6KHQuY2xhc3Nlcy5hZGQoImhhcy1jbG9zZSIpLHQuY2xvc2VCdXR0b249ITApLGUucHJvZ3Jlc3NCYXImJih0LnByb2dyZXNzQmFyPW5ldyBuKSx0Lm9uKCJjbGljayIsZnVuY3Rpb24oZSl7LTEhPWUudGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKHQuY2xhc3NQcmVmaXgrImNsb3NlIikmJnQuY2xvc2UoKX0pfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuY2xhc3NQcmVmaXgsbj0iIixyPSIiLGk9IiIsbz0iIjtyZXR1cm4gZS5pY29uJiYobj0nPGkgY2xhc3M9IicrdCsiaWNvICIrdCsiaS0iK2UuaWNvbisnIj48L2k+JyksZS5jb2xvciYmKG89JyBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogJytlLmNvbG9yKyciJyksZS5jbG9zZUJ1dHRvbiYmKHI9JzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJyt0KydjbG9zZSIgYXJpYS1oaWRkZW49InRydWUiPlx4ZDc8L2J1dHRvbj4nKSxlLnByb2dyZXNzQmFyJiYoaT1lLnByb2dyZXNzQmFyLnJlbmRlckh0bWwoKSksJzxkaXYgaWQ9IicrZS5faWQrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciJytvKycgcm9sZT0icHJlc2VudGF0aW9uIj4nK24rJzxkaXYgY2xhc3M9IicrdCsnbm90aWZpY2F0aW9uLWlubmVyIj4nK2Uuc3RhdGUuZ2V0KCJ0ZXh0IikrIjwvZGl2PiIraStyKyI8L2Rpdj4ifSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gci5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS4kZWwuYWRkQ2xhc3MoZS5jbGFzc1ByZWZpeCsiaW4iKX0pLGUuX3N1cGVyKCl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnN0YXRlLm9uKCJjaGFuZ2U6dGV4dCIsZnVuY3Rpb24odCl7ZS5nZXRFbCgpLmNoaWxkTm9kZXNbMV0uaW5uZXJIVE1MPXQudmFsdWV9KSxlLnByb2dyZXNzQmFyJiZlLnByb2dyZXNzQmFyLmJpbmRTdGF0ZXMoKSxlLl9zdXBlcigpfSxjbG9zZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuZmlyZSgiY2xvc2UiKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8ZS5yZW1vdmUoKSxlfSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0LG47dD1lLmdldEVsKCkuc3R5bGUsbj1lLl9sYXlvdXRSZWN0LHQubGVmdD1uLngrInB4Iix0LnRvcD1uLnkrInB4Iix0LnpJbmRleD0xMzEwNzB9fSl9KSxyKE1lLFtEZSx1XSxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihuKXtmdW5jdGlvbiByKCl7cmV0dXJuIGwubGVuZ3RoP2xbbC5sZW5ndGgtMV06dm9pZCAwfWZ1bmN0aW9uIGkoKXt0LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe28oKSxhKCl9KX1mdW5jdGlvbiBvKCl7Zm9yKHZhciBlPTA7ZTxsLmxlbmd0aDtlKyspbFtlXS5tb3ZlVG8oMCwwKX1mdW5jdGlvbiBhKCl7aWYobC5sZW5ndGg+MCl7dmFyIGU9bC5zbGljZSgwLDEpWzBdLHQ9bi5pbmxpbmU/bi5nZXRFbGVtZW50KCk6bi5nZXRDb250ZW50QXJlYUNvbnRhaW5lcigpO2lmKGUubW92ZVJlbCh0LCJ0Yy10YyIpLGwubGVuZ3RoPjEpZm9yKHZhciByPTE7cjxsLmxlbmd0aDtyKyspbFtyXS5tb3ZlUmVsKGxbci0xXS5nZXRFbCgpLCJiYy10YyIpfX12YXIgcz10aGlzLGw9W107cy5ub3RpZmljYXRpb25zPWwsbi5vbigicmVtb3ZlIixmdW5jdGlvbigpe2Zvcih2YXIgZT1sLmxlbmd0aDtlLS07KWxbZV0uY2xvc2UoKX0pLG4ub24oIlJlc2l6ZUVkaXRvciIsYSksbi5vbigiUmVzaXplV2luZG93IixpKSxzLm9wZW49ZnVuY3Rpb24odCl7dmFyIHI7cmV0dXJuIG4uZWRpdG9yTWFuYWdlci5zZXRBY3RpdmUobikscj1uZXcgZSh0KSxsLnB1c2gociksdC50aW1lb3V0PjAmJihyLnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLmNsb3NlKCl9LHQudGltZW91dCkpLHIub24oImNsb3NlIixmdW5jdGlvbigpe3ZhciBlPWwubGVuZ3RoO2ZvcihyLnRpbWVyJiZuLmdldFdpbigpLmNsZWFyVGltZW91dChyLnRpbWVyKTtlLS07KWxbZV09PT1yJiZsLnNwbGljZShlLDEpO2EoKX0pLHIucmVuZGVyVG8oKSxhKCkscn0scy5jbG9zZT1mdW5jdGlvbigpe3IoKSYmcigpLmNsb3NlKCl9LHMuZ2V0Tm90aWZpY2F0aW9ucz1mdW5jdGlvbigpe3JldHVybiBsfSxuLm9uKCJTa2luTG9hZGVkIixmdW5jdGlvbigpe3ZhciBlPW4uc2V0dGluZ3Muc2VydmljZV9tZXNzYWdlO2UmJm4ubm90aWZpY2F0aW9uTWFuYWdlci5vcGVuKHt0ZXh0OmUsdHlwZToid2FybmluZyIsdGltZW91dDowLGljb246IiJ9KX0pfX0pLHIoTGUsW3ddLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCxuLHIpe2Zvcih2YXIgaT1bXTtuJiZuIT10O249bi5wYXJlbnROb2RlKWkucHVzaChlLm5vZGVJbmRleChuLHIpKTtyZXR1cm4gaX1mdW5jdGlvbiBuKGUsdCl7dmFyIG4scixpO2ZvcihyPWUsbj10Lmxlbmd0aC0xO24+PTA7bi0tKXtpZihpPXIuY2hpbGROb2Rlcyx0W25dPmkubGVuZ3RoLTEpcmV0dXJuIG51bGw7cj1pW3Rbbl1dfXJldHVybiByfXJldHVybntjcmVhdGU6dCxyZXNvbHZlOm59fSkscihQZSxbSSxULHksTGUsQSxDLGgsbSx1LGtdLGZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEscyxsLGMpe3JldHVybiBmdW5jdGlvbih1KXtmdW5jdGlvbiBkKGUsdCl7dHJ5e3UuZ2V0RG9jKCkuZXhlY0NvbW1hbmQoZSwhMSx0KX1jYXRjaChuKXt9fWZ1bmN0aW9uIGYoKXt2YXIgZT11LmdldERvYygpLmRvY3VtZW50TW9kZTtyZXR1cm4gZT9lOjZ9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKX1mdW5jdGlvbiBwKGUpe3ZhciB0LG47ZS5kYXRhVHJhbnNmZXImJih1LnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpJiYiSU1HIj09ZS50YXJnZXQudGFnTmFtZSYmZWUuc2VsZWN0KGUudGFyZ2V0KSx0PXUuc2VsZWN0aW9uLmdldENvbnRlbnQoKSx0Lmxlbmd0aD4wJiYobj1zZStlc2NhcGUodS5pZCkrIiwiK2VzY2FwZSh0KSxlLmRhdGFUcmFuc2Zlci5zZXREYXRhKGxlLG4pKSl9ZnVuY3Rpb24gbShlKXt2YXIgdDtyZXR1cm4gZS5kYXRhVHJhbnNmZXImJih0PWUuZGF0YVRyYW5zZmVyLmdldERhdGEobGUpLHQmJnQuaW5kZXhPZihzZSk+PTApPyh0PXQuc3Vic3RyKHNlLmxlbmd0aCkuc3BsaXQoIiwiKSx7aWQ6dW5lc2NhcGUodFswXSksaHRtbDp1bmVzY2FwZSh0WzFdKX0pOm51bGx9ZnVuY3Rpb24gZyhlKXt1LnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZCgibWNlSW5zZXJ0Q2xpcGJvYXJkQ29udGVudCIpP3UuZXhlY0NvbW1hbmQoIm1jZUluc2VydENsaXBib2FyZENvbnRlbnQiLCExLHtjb250ZW50OmV9KTp1LmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRDb250ZW50IiwhMSxlKX1mdW5jdGlvbiB2KCl7ZnVuY3Rpb24gaShlKXt2YXIgdD1DLnNjaGVtYS5nZXRCbG9ja0VsZW1lbnRzKCksbj11LmdldEJvZHkoKTtpZigiQlIiIT1lLm5vZGVOYW1lKXJldHVybiExO2Zvcig7ZSE9biYmIXRbZS5ub2RlTmFtZV07ZT1lLnBhcmVudE5vZGUpaWYoZS5uZXh0U2libGluZylyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBvKGUsdCl7dmFyIG47Zm9yKG49ZS5uZXh0U2libGluZztuJiZuIT10O249bi5uZXh0U2libGluZylpZigoMyE9bi5ub2RlVHlwZXx8MCE9PUcudHJpbShuLmRhdGEpLmxlbmd0aCkmJm4hPT10KXJldHVybiExO3JldHVybiBuPT09dH1mdW5jdGlvbiBhKGUsdCxyKXt2YXIgbyxhLHM7Zm9yKHM9Qy5zY2hlbWEuZ2V0Tm9uRW1wdHlFbGVtZW50cygpLG89bmV3IG4ocnx8ZSxlKTthPW9bdD8ibmV4dCI6InByZXYiXSgpOyl7aWYoc1thLm5vZGVOYW1lXSYmIWkoYSkpcmV0dXJuIGE7aWYoMz09YS5ub2RlVHlwZSYmYS5kYXRhLmxlbmd0aD4wKXJldHVybiBhfX1mdW5jdGlvbiBjKGUpe3ZhciBuLHIsaSxvLHM7aWYoIWUuY29sbGFwc2VkJiYobj1DLmdldFBhcmVudCh0LmdldE5vZGUoZS5zdGFydENvbnRhaW5lcixlLnN0YXJ0T2Zmc2V0KSxDLmlzQmxvY2spLHI9Qy5nZXRQYXJlbnQodC5nZXROb2RlKGUuZW5kQ29udGFpbmVyLGUuZW5kT2Zmc2V0KSxDLmlzQmxvY2spLHM9dS5zY2hlbWEuZ2V0VGV4dEJsb2NrRWxlbWVudHMoKSxuIT1yJiZzW24ubm9kZU5hbWVdJiZzW3Iubm9kZU5hbWVdJiYiZmFsc2UiIT09Qy5nZXRDb250ZW50RWRpdGFibGUobikmJiJmYWxzZSIhPT1DLmdldENvbnRlbnRFZGl0YWJsZShyKSkpcmV0dXJuIGUuZGVsZXRlQ29udGVudHMoKSxpPWEobiwhMSksbz1hKHIsITApLEMuaXNFbXB0eShyKXx8RyhuKS5hcHBlbmQoci5jaGlsZE5vZGVzKSxHKHIpLnJlbW92ZSgpLGk/MT09aS5ub2RlVHlwZT8iQlIiPT1pLm5vZGVOYW1lPyhlLnNldFN0YXJ0QmVmb3JlKGkpLGUuc2V0RW5kQmVmb3JlKGkpKTooZS5zZXRTdGFydEFmdGVyKGkpLGUuc2V0RW5kQWZ0ZXIoaSkpOihlLnNldFN0YXJ0KGksaS5kYXRhLmxlbmd0aCksZS5zZXRFbmQoaSxpLmRhdGEubGVuZ3RoKSk6byYmKDE9PW8ubm9kZVR5cGU/KGUuc2V0U3RhcnRCZWZvcmUobyksZS5zZXRFbmRCZWZvcmUobykpOihlLnNldFN0YXJ0KG8sMCksZS5zZXRFbmQobywwKSkpLHguc2V0Um5nKGUpLCEwfWZ1bmN0aW9uIGQoZSxuKXt2YXIgcixpLHMsbCxjLGQ7aWYoIWUuY29sbGFwc2VkKXJldHVybiBlO2lmKGM9ZS5zdGFydENvbnRhaW5lcixkPWUuc3RhcnRPZmZzZXQsMz09Yy5ub2RlVHlwZSlpZihuKXtpZihkPGMuZGF0YS5sZW5ndGgpcmV0dXJuIGV9ZWxzZSBpZihkPjApcmV0dXJuIGU7aWYocj10LmdldE5vZGUoZS5zdGFydENvbnRhaW5lcixlLnN0YXJ0T2Zmc2V0KSxzPUMuZ2V0UGFyZW50KHIsQy5pc0Jsb2NrKSxpPWEodS5nZXRCb2R5KCksbixyKSxsPUMuZ2V0UGFyZW50KGksQy5pc0Jsb2NrKSwhcnx8IWkpcmV0dXJuIGU7aWYobCYmcyE9bClpZihuKXtpZighbyhzLGwpKXJldHVybiBlOzE9PXIubm9kZVR5cGU/IkJSIj09ci5ub2RlTmFtZT9lLnNldFN0YXJ0QmVmb3JlKHIpOmUuc2V0U3RhcnRBZnRlcihyKTplLnNldFN0YXJ0KHIsci5kYXRhLmxlbmd0aCksMT09aS5ub2RlVHlwZT9lLnNldEVuZChpLDApOmUuc2V0RW5kQmVmb3JlKGkpfWVsc2V7aWYoIW8obCxzKSlyZXR1cm4gZTsxPT1pLm5vZGVUeXBlPyJCUiI9PWkubm9kZU5hbWU/ZS5zZXRTdGFydEJlZm9yZShpKTplLnNldFN0YXJ0QWZ0ZXIoaSk6ZS5zZXRTdGFydChpLGkuZGF0YS5sZW5ndGgpLDE9PXIubm9kZVR5cGU/ZS5zZXRFbmQociwwKTplLnNldEVuZEJlZm9yZShyKX1yZXR1cm4gZX1mdW5jdGlvbiBmKGUpe3ZhciB0PXguZ2V0Um5nKCk7cmV0dXJuIHQ9ZCh0LGUpLGModCk/ITA6dm9pZCAwfWZ1bmN0aW9uIHYoZSx0KXtmdW5jdGlvbiBuKGUsbil7cmV0dXJuIG09RyhuKS5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKGUsdCl7cmV0dXJuISF1LnNjaGVtYS5nZXRUZXh0SW5saW5lRWxlbWVudHMoKVt0Lm5vZGVOYW1lXX0pLGw9ZS5jbG9uZU5vZGUoITEpLG09cy5tYXAobSxmdW5jdGlvbihlKXtyZXR1cm4gZT1lLmNsb25lTm9kZSghMSksbC5oYXNDaGlsZE5vZGVzKCk/KGUuYXBwZW5kQ2hpbGQobC5maXJzdENoaWxkKSxsLmFwcGVuZENoaWxkKGUpKTpsLmFwcGVuZENoaWxkKGUpLGwuYXBwZW5kQ2hpbGQoZSksZX0pLG0ubGVuZ3RoPyhwPUMuY3JlYXRlKCJiciIpLG1bMF0uYXBwZW5kQ2hpbGQocCksQy5yZXBsYWNlKGwsZSksdC5zZXRTdGFydEJlZm9yZShwKSx0LnNldEVuZEJlZm9yZShwKSx1LnNlbGVjdGlvbi5zZXRSbmcodCkscCk6bnVsbH1mdW5jdGlvbiBpKGUpe3JldHVybiBlJiZ1LnNjaGVtYS5nZXRUZXh0QmxvY2tFbGVtZW50cygpW2UudGFnTmFtZV19dmFyIG8sYSxsLGMsZCxmLGgscCxtO2lmKHQuY29sbGFwc2VkJiYoZj10LnN0YXJ0Q29udGFpbmVyLGg9dC5zdGFydE9mZnNldCxhPUMuZ2V0UGFyZW50KGYsQy5pc0Jsb2NrKSxpKGEpKSlpZigxPT1mLm5vZGVUeXBlKXtpZihmPWYuY2hpbGROb2Rlc1toXSxmJiYiQlIiIT1mLnRhZ05hbWUpcmV0dXJuO2lmKGQ9ZT9hLm5leHRTaWJsaW5nOmEucHJldmlvdXNTaWJsaW5nLEMuaXNFbXB0eShhKSYmaShkKSYmQy5pc0VtcHR5KGQpJiZuKGEsZikpcmV0dXJuIEMucmVtb3ZlKGQpLCEwfWVsc2UgaWYoMz09Zi5ub2RlVHlwZSl7aWYobz1yLmNyZWF0ZShhLGYpLGM9YS5jbG9uZU5vZGUoITApLGY9ci5yZXNvbHZlKGMsbyksZSl7aWYoaD49Zi5kYXRhLmxlbmd0aClyZXR1cm47Zi5kZWxldGVEYXRhKGgsMSl9ZWxzZXtpZigwPj1oKXJldHVybjtmLmRlbGV0ZURhdGEoaC0xLDEpfWlmKEMuaXNFbXB0eShjKSlyZXR1cm4gbihhLGYpfX1mdW5jdGlvbiB5KGUpe3ZhciB0LG4scjtmKGUpfHwocy5lYWNoKHUuZ2V0Qm9keSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIiksZnVuY3Rpb24oZSl7IlNQQU4iPT1lLnRhZ05hbWUmJmUuc2V0QXR0cmlidXRlKCJtY2UtZGF0YS1tYXJrZWQiLDEpLCFlLmhhc0F0dHJpYnV0ZSgiZGF0YS1tY2Utc3R5bGUiKSYmZS5oYXNBdHRyaWJ1dGUoInN0eWxlIikmJnUuZG9tLnNldEF0dHJpYihlLCJzdHlsZSIsdS5kb20uZ2V0QXR0cmliKGUsInN0eWxlIikpfSksdD1uZXcgdyhmdW5jdGlvbigpe30pLHQub2JzZXJ2ZSh1LmdldERvYygpLHtjaGlsZExpc3Q6ITAsYXR0cmlidXRlczohMCxzdWJ0cmVlOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInN0eWxlIl19KSx1LmdldERvYygpLmV4ZWNDb21tYW5kKGU/IkZvcndhcmREZWxldGUiOiJEZWxldGUiLCExLG51bGwpLG49dS5zZWxlY3Rpb24uZ2V0Um5nKCkscj1uLnN0YXJ0Q29udGFpbmVyLnBhcmVudE5vZGUscy5lYWNoKHQudGFrZVJlY29yZHMoKSxmdW5jdGlvbihlKXtpZihDLmlzQ2hpbGRPZihlLnRhcmdldCx1LmdldEJvZHkoKSkpe2lmKCJzdHlsZSI9PWUuYXR0cmlidXRlTmFtZSl7dmFyIHQ9ZS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLW1jZS1zdHlsZSIpO3Q/ZS50YXJnZXQuc2V0QXR0cmlidXRlKCJzdHlsZSIsdCk6ZS50YXJnZXQucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpfXMuZWFjaChlLmFkZGVkTm9kZXMsZnVuY3Rpb24oZSl7aWYoIlNQQU4iPT1lLm5vZGVOYW1lJiYhZS5nZXRBdHRyaWJ1dGUoIm1jZS1kYXRhLW1hcmtlZCIpKXt2YXIgdCxpO2U9PXImJih0PW4uc3RhcnRPZmZzZXQsaT1lLmZpcnN0Q2hpbGQpLEMucmVtb3ZlKGUsITApLGkmJihuLnNldFN0YXJ0KGksdCksbi5zZXRFbmQoaSx0KSx1LnNlbGVjdGlvbi5zZXRSbmcobikpfX0pfX0pLHQuZGlzY29ubmVjdCgpLHMuZWFjaCh1LmRvbS5zZWxlY3QoInNwYW5bbWNlLWRhdGEtbWFya2VkXSIpLGZ1bmN0aW9uKGUpe2UucmVtb3ZlQXR0cmlidXRlKCJtY2UtZGF0YS1tYXJrZWQiKX0pKX12YXIgYj11LmdldERvYygpLEM9dS5kb20seD11LnNlbGVjdGlvbix3PXdpbmRvdy5NdXRhdGlvbk9ic2VydmVyLE4sRTsKd3x8KE49ITAsdz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9ZS5yZWxhdGVkTm9kZXx8ZS50YXJnZXQ7bi5wdXNoKHt0YXJnZXQ6dCxhZGRlZE5vZGVzOlt0XX0pfWZ1bmN0aW9uIHQoZSl7dmFyIHQ9ZS5yZWxhdGVkTm9kZXx8ZS50YXJnZXQ7bi5wdXNoKHt0YXJnZXQ6dCxhdHRyaWJ1dGVOYW1lOmUuYXR0ck5hbWV9KX12YXIgbj1bXSxyO3RoaXMub2JzZXJ2ZT1mdW5jdGlvbihuKXtyPW4sci5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLGUsITEpLHIuYWRkRXZlbnRMaXN0ZW5lcigiRE9NTm9kZUluc2VydGVkSW50b0RvY3VtZW50IixlLCExKSxyLmFkZEV2ZW50TGlzdGVuZXIoIkRPTU5vZGVJbnNlcnRlZCIsZSwhMSksci5hZGRFdmVudExpc3RlbmVyKCJET01BdHRyTW9kaWZpZWQiLHQsITEpfSx0aGlzLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtyLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTVN1YnRyZWVNb2RpZmllZCIsZSwhMSksci5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQiLGUsITEpLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NTm9kZUluc2VydGVkIixlLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUF0dHJNb2RpZmllZCIsdCwhMSl9LHRoaXMudGFrZVJlY29yZHM9ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSx1Lm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXt2YXIgdD1lLmtleUNvZGU9PVEsbj1lLmN0cmxLZXl8fGUubWV0YUtleTtpZighaChlKSYmKHR8fGUua2V5Q29kZT09Sikpe3ZhciByPXUuc2VsZWN0aW9uLmdldFJuZygpLGk9ci5zdGFydENvbnRhaW5lcixvPXIuc3RhcnRPZmZzZXQ7aWYodCYmZS5zaGlmdEtleSlyZXR1cm47aWYodih0LHIpKXJldHVybiB2b2lkIGUucHJldmVudERlZmF1bHQoKTtpZighbiYmci5jb2xsYXBzZWQmJjM9PWkubm9kZVR5cGUmJih0P288aS5kYXRhLmxlbmd0aDpvPjApKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCksbiYmdS5zZWxlY3Rpb24uZ2V0U2VsKCkubW9kaWZ5KCJleHRlbmQiLHQ/ImZvcndhcmQiOiJiYWNrd2FyZCIsZS5tZXRhS2V5PyJsaW5lYm91bmRhcnkiOiJ3b3JkIikseSh0KX19KSx1Lm9uKCJrZXlwcmVzcyIsZnVuY3Rpb24odCl7aWYoIWgodCkmJiF4LmlzQ29sbGFwc2VkKCkmJnQuY2hhckNvZGU+MzEmJiFlLm1ldGFLZXlQcmVzc2VkKHQpKXt2YXIgbixyLGksbyxhLHM7bj11LnNlbGVjdGlvbi5nZXRSbmcoKSxzPVN0cmluZy5mcm9tQ2hhckNvZGUodC5jaGFyQ29kZSksdC5wcmV2ZW50RGVmYXVsdCgpLHI9RyhuLnN0YXJ0Q29udGFpbmVyKS5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKGUsdCl7cmV0dXJuISF1LnNjaGVtYS5nZXRUZXh0SW5saW5lRWxlbWVudHMoKVt0Lm5vZGVOYW1lXX0pLHkoITApLHI9ci5maWx0ZXIoZnVuY3Rpb24oZSx0KXtyZXR1cm4hRy5jb250YWlucyh1LmdldEJvZHkoKSx0KX0pLHIubGVuZ3RoPyhpPUMuY3JlYXRlRnJhZ21lbnQoKSxyLmVhY2goZnVuY3Rpb24oZSx0KXt0PXQuY2xvbmVOb2RlKCExKSxpLmhhc0NoaWxkTm9kZXMoKT8odC5hcHBlbmRDaGlsZChpLmZpcnN0Q2hpbGQpLGkuYXBwZW5kQ2hpbGQodCkpOihhPXQsaS5hcHBlbmRDaGlsZCh0KSksaS5hcHBlbmRDaGlsZCh0KX0pLGEuYXBwZW5kQ2hpbGQodS5nZXREb2MoKS5jcmVhdGVUZXh0Tm9kZShzKSksbz1DLmdldFBhcmVudChuLnN0YXJ0Q29udGFpbmVyLEMuaXNCbG9jayksQy5pc0VtcHR5KG8pP0cobykuZW1wdHkoKS5hcHBlbmQoaSk6bi5pbnNlcnROb2RlKGkpLG4uc2V0U3RhcnQoYS5maXJzdENoaWxkLDEpLG4uc2V0RW5kKGEuZmlyc3RDaGlsZCwxKSx1LnNlbGVjdGlvbi5zZXRSbmcobikpOnUuc2VsZWN0aW9uLnNldENvbnRlbnQocyl9fSksdS5hZGRDb21tYW5kKCJEZWxldGUiLGZ1bmN0aW9uKCl7eSgpfSksdS5hZGRDb21tYW5kKCJGb3J3YXJkRGVsZXRlIixmdW5jdGlvbigpe3koITApfSksTnx8KHUub24oImRyYWdzdGFydCIsZnVuY3Rpb24oZSl7RT14LmdldFJuZygpLHAoZSl9KSx1Lm9uKCJkcm9wIixmdW5jdGlvbihlKXtpZighaChlKSl7dmFyIG49bShlKTtuJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGwuc2V0RWRpdG9yVGltZW91dCh1LGZ1bmN0aW9uKCl7dmFyIHI9dC5nZXRDYXJldFJhbmdlRnJvbVBvaW50KGUueCxlLnksYik7RSYmKHguc2V0Um5nKEUpLEU9bnVsbCkseSgpLHguc2V0Um5nKHIpLGcobi5odG1sKX0pKX19KSx1Lm9uKCJjdXQiLGZ1bmN0aW9uKGUpe2goZSl8fCFlLmNsaXBib2FyZERhdGF8fHUuc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCl8fChlLnByZXZlbnREZWZhdWx0KCksZS5jbGlwYm9hcmREYXRhLmNsZWFyRGF0YSgpLGUuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCJ0ZXh0L2h0bWwiLHUuc2VsZWN0aW9uLmdldENvbnRlbnQoKSksZS5jbGlwYm9hcmREYXRhLnNldERhdGEoInRleHQvcGxhaW4iLHUuc2VsZWN0aW9uLmdldENvbnRlbnQoe2Zvcm1hdDoidGV4dCJ9KSksbC5zZXRFZGl0b3JUaW1lb3V0KHUsZnVuY3Rpb24oKXt5KCEwKX0pKX0pKX1mdW5jdGlvbiB5KCl7ZnVuY3Rpb24gZShlKXt2YXIgdD1aLmNyZWF0ZSgiYm9keSIpLG49ZS5jbG9uZUNvbnRlbnRzKCk7cmV0dXJuIHQuYXBwZW5kQ2hpbGQobiksZWUuc2VyaWFsaXplci5zZXJpYWxpemUodCx7Zm9ybWF0OiJodG1sIn0pfWZ1bmN0aW9uIG4obil7aWYoIW4uc2V0U3RhcnQpe2lmKG4uaXRlbSlyZXR1cm4hMTt2YXIgcj1uLmR1cGxpY2F0ZSgpO3JldHVybiByLm1vdmVUb0VsZW1lbnRUZXh0KHUuZ2V0Qm9keSgpKSx0LmNvbXBhcmVSYW5nZXMobixyKX12YXIgaT1lKG4pLG89Wi5jcmVhdGVSbmcoKTtvLnNlbGVjdE5vZGUodS5nZXRCb2R5KCkpO3ZhciBhPWUobyk7cmV0dXJuIGk9PT1hfXUub24oImtleWRvd24iLGZ1bmN0aW9uKGUpe3ZhciB0PWUua2V5Q29kZSxyLGk7aWYoIWgoZSkmJih0PT1RfHx0PT1KKSl7aWYocj11LnNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpLGk9dS5nZXRCb2R5KCksciYmIVouaXNFbXB0eShpKSlyZXR1cm47aWYoIXImJiFuKHUuc2VsZWN0aW9uLmdldFJuZygpKSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLHUuc2V0Q29udGVudCgiIiksaS5maXJzdENoaWxkJiZaLmlzQmxvY2soaS5maXJzdENoaWxkKT91LnNlbGVjdGlvbi5zZXRDdXJzb3JMb2NhdGlvbihpLmZpcnN0Q2hpbGQsMCk6dS5zZWxlY3Rpb24uc2V0Q3Vyc29yTG9jYXRpb24oaSwwKSx1Lm5vZGVDaGFuZ2VkKCl9fSl9ZnVuY3Rpb24gYigpe3Uuc2hvcnRjdXRzLmFkZCgibWV0YSthIixudWxsLCJTZWxlY3RBbGwiKX1mdW5jdGlvbiBDKCl7dS5zZXR0aW5ncy5jb250ZW50X2VkaXRhYmxlfHxaLmJpbmQodS5nZXREb2MoKSwibW91c2Vkb3duIG1vdXNldXAiLGZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUudGFyZ2V0PT11LmdldERvYygpLmRvY3VtZW50RWxlbWVudClpZih0PWVlLmdldFJuZygpLHUuZ2V0Qm9keSgpLmZvY3VzKCksIm1vdXNlZG93biI9PWUudHlwZSl7aWYoYy5pc0NhcmV0Q29udGFpbmVyKHQuc3RhcnRDb250YWluZXIpKXJldHVybjtlZS5wbGFjZUNhcmV0QXQoZS5jbGllbnRYLGUuY2xpZW50WSl9ZWxzZSBlZS5zZXRSbmcodCl9KX1mdW5jdGlvbiB4KCl7dS5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7aWYoIWgoZSkmJmUua2V5Q29kZT09PUope2lmKCF1LmdldEJvZHkoKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaHIiKS5sZW5ndGgpcmV0dXJuO2lmKGVlLmlzQ29sbGFwc2VkKCkmJjA9PT1lZS5nZXRSbmcoITApLnN0YXJ0T2Zmc2V0KXt2YXIgdD1lZS5nZXROb2RlKCksbj10LnByZXZpb3VzU2libGluZztpZigiSFIiPT10Lm5vZGVOYW1lKXJldHVybiBaLnJlbW92ZSh0KSx2b2lkIGUucHJldmVudERlZmF1bHQoKTtuJiZuLm5vZGVOYW1lJiYiaHIiPT09bi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYoWi5yZW1vdmUobiksZS5wcmV2ZW50RGVmYXVsdCgpKX19fSl9ZnVuY3Rpb24gdygpe3dpbmRvdy5SYW5nZS5wcm90b3R5cGUuZ2V0Q2xpZW50UmVjdHN8fHUub24oIm1vdXNlZG93biIsZnVuY3Rpb24oZSl7aWYoIWgoZSkmJiJIVE1MIj09PWUudGFyZ2V0Lm5vZGVOYW1lKXt2YXIgdD11LmdldEJvZHkoKTt0LmJsdXIoKSxsLnNldEVkaXRvclRpbWVvdXQodSxmdW5jdGlvbigpe3QuZm9jdXMoKX0pfX0pfWZ1bmN0aW9uIE4oKXt1Lm9uKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7L14oSU1HfEhSKSQvLnRlc3QodC5ub2RlTmFtZSkmJiJmYWxzZSIhPT1aLmdldENvbnRlbnRFZGl0YWJsZVBhcmVudCh0KSYmKGUucHJldmVudERlZmF1bHQoKSxlZS5nZXRTZWwoKS5zZXRCYXNlQW5kRXh0ZW50KHQsMCx0LDEpLHUubm9kZUNoYW5nZWQoKSksIkEiPT10Lm5vZGVOYW1lJiZaLmhhc0NsYXNzKHQsIm1jZS1pdGVtLWFuY2hvciIpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGVlLnNlbGVjdCh0KSl9KX1mdW5jdGlvbiBFKCl7ZnVuY3Rpb24gZSgpe3ZhciBlPVouZ2V0QXR0cmlicyhlZS5nZXRTdGFydCgpLmNsb25lTm9kZSghMSkpO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PWVlLmdldFN0YXJ0KCk7dCE9PXUuZ2V0Qm9keSgpJiYoWi5zZXRBdHRyaWIodCwic3R5bGUiLG51bGwpLEsoZSxmdW5jdGlvbihlKXt0LnNldEF0dHJpYnV0ZU5vZGUoZS5jbG9uZU5vZGUoITApKX0pKX19ZnVuY3Rpb24gdCgpe3JldHVybiFlZS5pc0NvbGxhcHNlZCgpJiZaLmdldFBhcmVudChlZS5nZXRTdGFydCgpLFouaXNCbG9jaykhPVouZ2V0UGFyZW50KGVlLmdldEVuZCgpLFouaXNCbG9jayl9dS5vbigia2V5cHJlc3MiLGZ1bmN0aW9uKG4pe3ZhciByO3JldHVybiBoKG4pfHw4IT1uLmtleUNvZGUmJjQ2IT1uLmtleUNvZGV8fCF0KCk/dm9pZCAwOihyPWUoKSx1LmdldERvYygpLmV4ZWNDb21tYW5kKCJkZWxldGUiLCExLG51bGwpLHIoKSxuLnByZXZlbnREZWZhdWx0KCksITEpfSksWi5iaW5kKHUuZ2V0RG9jKCksImN1dCIsZnVuY3Rpb24obil7dmFyIHI7IWgobikmJnQoKSYmKHI9ZSgpLGwuc2V0RWRpdG9yVGltZW91dCh1LGZ1bmN0aW9uKCl7cigpfSkpfSl9ZnVuY3Rpb24gXygpe2RvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJyb2xlIiwiYXBwbGljYXRpb24iKX1mdW5jdGlvbiBTKCl7dS5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7aWYoIWgoZSkmJmUua2V5Q29kZT09PUomJmVlLmlzQ29sbGFwc2VkKCkmJjA9PT1lZS5nZXRSbmcoITApLnN0YXJ0T2Zmc2V0KXt2YXIgdD1lZS5nZXROb2RlKCkucHJldmlvdXNTaWJsaW5nO2lmKHQmJnQubm9kZU5hbWUmJiJ0YWJsZSI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSwhMX19KX1mdW5jdGlvbiBrKCl7ZigpPjd8fChkKCJSZXNwZWN0VmlzaWJpbGl0eUluRGVzaWduIiwhMCksdS5jb250ZW50U3R5bGVzLnB1c2goIi5tY2VIaWRlQnJJblByZSBwcmUgYnIge2Rpc3BsYXk6IG5vbmV9IiksWi5hZGRDbGFzcyh1LmdldEJvZHkoKSwibWNlSGlkZUJySW5QcmUiKSxuZS5hZGROb2RlRmlsdGVyKCJwcmUiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmxlbmd0aCxuLHIsbyxhO3QtLTspZm9yKG49ZVt0XS5nZXRBbGwoImJyIikscj1uLmxlbmd0aDtyLS07KW89bltyXSxhPW8ucHJldixhJiYzPT09YS50eXBlJiYiXG4iIT1hLnZhbHVlLmNoYXJBdChhLnZhbHVlLTEpP2EudmFsdWUrPSJcbiI6by5wYXJlbnQuaW5zZXJ0KG5ldyBpKCIjdGV4dCIsMyksbywhMCkudmFsdWU9IlxuIn0pLHJlLmFkZE5vZGVGaWx0ZXIoInByZSIsZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUubGVuZ3RoLG4scixpLG87dC0tOylmb3Iobj1lW3RdLmdldEFsbCgiYnIiKSxyPW4ubGVuZ3RoO3ItLTspaT1uW3JdLG89aS5wcmV2LG8mJjM9PW8udHlwZSYmKG8udmFsdWU9by52YWx1ZS5yZXBsYWNlKC9ccj9cbiQvLCIiKSl9KSl9ZnVuY3Rpb24gVCgpe1ouYmluZCh1LmdldEJvZHkoKSwibW91c2V1cCIsZnVuY3Rpb24oKXt2YXIgZSx0PWVlLmdldE5vZGUoKTsiSU1HIj09dC5ub2RlTmFtZSYmKChlPVouZ2V0U3R5bGUodCwid2lkdGgiKSkmJihaLnNldEF0dHJpYih0LCJ3aWR0aCIsZS5yZXBsYWNlKC9bXjAtOSVdKy9nLCIiKSksWi5zZXRTdHlsZSh0LCJ3aWR0aCIsIiIpKSwoZT1aLmdldFN0eWxlKHQsImhlaWdodCIpKSYmKFouc2V0QXR0cmliKHQsImhlaWdodCIsZS5yZXBsYWNlKC9bXjAtOSVdKy9nLCIiKSksWi5zZXRTdHlsZSh0LCJoZWlnaHQiLCIiKSkpfSl9ZnVuY3Rpb24gUigpe3Uub24oImtleWRvd24iLGZ1bmN0aW9uKHQpe3ZhciBuLHIsaSxvLGE7aWYoIWgodCkmJnQua2V5Q29kZT09ZS5CQUNLU1BBQ0UmJihuPWVlLmdldFJuZygpLHI9bi5zdGFydENvbnRhaW5lcixpPW4uc3RhcnRPZmZzZXQsbz1aLmdldFJvb3QoKSxhPXIsbi5jb2xsYXBzZWQmJjA9PT1pKSl7Zm9yKDthJiZhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5maXJzdENoaWxkPT1hJiZhLnBhcmVudE5vZGUhPW87KWE9YS5wYXJlbnROb2RlOyJCTE9DS1FVT1RFIj09PWEudGFnTmFtZSYmKHUuZm9ybWF0dGVyLnRvZ2dsZSgiYmxvY2txdW90ZSIsbnVsbCxhKSxuPVouY3JlYXRlUm5nKCksbi5zZXRTdGFydChyLDApLG4uc2V0RW5kKHIsMCksZWUuc2V0Um5nKG4pKX19KX1mdW5jdGlvbiBBKCl7ZnVuY3Rpb24gZSgpe1koKSxkKCJTdHlsZVdpdGhDU1MiLCExKSxkKCJlbmFibGVJbmxpbmVUYWJsZUVkaXRpbmciLCExKSx0ZS5vYmplY3RfcmVzaXppbmd8fGQoImVuYWJsZU9iamVjdFJlc2l6aW5nIiwhMSl9dGUucmVhZG9ubHl8fHUub24oIkJlZm9yZUV4ZWNDb21tYW5kIE1vdXNlRG93biIsZSl9ZnVuY3Rpb24gQigpe2Z1bmN0aW9uIGUoKXtLKFouc2VsZWN0KCJhIiksZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlLG49Wi5nZXRSb290KCk7aWYodC5sYXN0Q2hpbGQ9PT1lKXtmb3IoO3QmJiFaLmlzQmxvY2sodCk7KXtpZih0LnBhcmVudE5vZGUubGFzdENoaWxkIT09dHx8dD09PW4pcmV0dXJuO3Q9dC5wYXJlbnROb2RlfVouYWRkKHQsImJyIix7ImRhdGEtbWNlLWJvZ3VzIjoxfSl9fSl9dS5vbigiU2V0Q29udGVudCBFeGVjQ29tbWFuZCIsZnVuY3Rpb24odCl7InNldGNvbnRlbnQiIT10LnR5cGUmJiJtY2VJbnNlcnRMaW5rIiE9PXQuY29tbWFuZHx8ZSgpfSl9ZnVuY3Rpb24gRCgpe3RlLmZvcmNlZF9yb290X2Jsb2NrJiZ1Lm9uKCJpbml0IixmdW5jdGlvbigpe2QoIkRlZmF1bHRQYXJhZ3JhcGhTZXBhcmF0b3IiLHRlLmZvcmNlZF9yb290X2Jsb2NrKX0pfWZ1bmN0aW9uIE0oKXt1Lm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXt2YXIgdDtoKGUpfHxlLmtleUNvZGUhPUp8fCh0PXUuZ2V0RG9jKCkuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCksdCYmdC5pdGVtJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHUudW5kb01hbmFnZXIuYmVmb3JlQ2hhbmdlKCksWi5yZW1vdmUodC5pdGVtKDApKSx1LnVuZG9NYW5hZ2VyLmFkZCgpKSl9KX1mdW5jdGlvbiBMKCl7dmFyIGU7ZigpPj0xMCYmKGU9IiIsSygicCBkaXYgaDEgaDIgaDMgaDQgaDUgaDYiLnNwbGl0KCIgIiksZnVuY3Rpb24odCxuKXtlKz0obj4wPyIsIjoiIikrdCsiOmVtcHR5In0pLHUuY29udGVudFN0eWxlcy5wdXNoKGUrIntwYWRkaW5nLXJpZ2h0OiAxcHggIWltcG9ydGFudH0iKSl9ZnVuY3Rpb24gUCgpe2YoKTw5JiYobmUuYWRkTm9kZUZpbHRlcigibm9zY3JpcHQiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmxlbmd0aCxuLHI7dC0tOyluPWVbdF0scj1uLmZpcnN0Q2hpbGQsciYmbi5hdHRyKCJkYXRhLW1jZS1pbm5lcnRleHQiLHIudmFsdWUpfSkscmUuYWRkTm9kZUZpbHRlcigibm9zY3JpcHQiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmxlbmd0aCxuLHIsYTt0LS07KW49ZVt0XSxyPWVbdF0uZmlyc3RDaGlsZCxyP3IudmFsdWU9by5kZWNvZGUoci52YWx1ZSk6KGE9bi5hdHRyaWJ1dGVzLm1hcFsiZGF0YS1tY2UtaW5uZXJ0ZXh0Il0sYSYmKG4uYXR0cigiZGF0YS1tY2UtaW5uZXJ0ZXh0IixudWxsKSxyPW5ldyBpKCIjdGV4dCIsMyksci52YWx1ZT1hLHIucmF3PSEwLG4uYXBwZW5kKHIpKSl9KSl9ZnVuY3Rpb24gSCgpe2Z1bmN0aW9uIGUoZSx0KXt2YXIgbj1pLmNyZWF0ZVRleHRSYW5nZSgpO3RyeXtuLm1vdmVUb1BvaW50KGUsdCl9Y2F0Y2gocil7bj1udWxsfXJldHVybiBufWZ1bmN0aW9uIHQodCl7dmFyIHI7dC5idXR0b24/KHI9ZSh0LngsdC55KSxyJiYoci5jb21wYXJlRW5kUG9pbnRzKCJTdGFydFRvU3RhcnQiLGEpPjA/ci5zZXRFbmRQb2ludCgiU3RhcnRUb1N0YXJ0IixhKTpyLnNldEVuZFBvaW50KCJFbmRUb0VuZCIsYSksci5zZWxlY3QoKSkpOm4oKX1mdW5jdGlvbiBuKCl7dmFyIGU9ci5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTthJiYhZS5pdGVtJiYwPT09ZS5jb21wYXJlRW5kUG9pbnRzKCJTdGFydFRvRW5kIixlKSYmYS5zZWxlY3QoKSxaLnVuYmluZChyLCJtb3VzZXVwIixuKSxaLnVuYmluZChyLCJtb3VzZW1vdmUiLHQpLGE9bz0wfXZhciByPVouZG9jLGk9ci5ib2R5LG8sYSxzO3IuZG9jdW1lbnRFbGVtZW50LnVuc2VsZWN0YWJsZT0hMCxaLmJpbmQociwibW91c2Vkb3duIGNvbnRleHRtZW51IixmdW5jdGlvbihpKXtpZigiSFRNTCI9PT1pLnRhcmdldC5ub2RlTmFtZSl7aWYobyYmbigpLHM9ci5kb2N1bWVudEVsZW1lbnQscy5zY3JvbGxIZWlnaHQ+cy5jbGllbnRIZWlnaHQpcmV0dXJuO289MSxhPWUoaS54LGkueSksYSYmKFouYmluZChyLCJtb3VzZXVwIixuKSxaLmJpbmQociwibW91c2Vtb3ZlIix0KSxaLmdldFJvb3QoKS5mb2N1cygpLGEuc2VsZWN0KCkpfX0pfWZ1bmN0aW9uIE8oKXt1Lm9uKCJrZXl1cCBmb2N1c2luIG1vdXNldXAiLGZ1bmN0aW9uKHQpezY1PT10LmtleUNvZGUmJmUubWV0YUtleVByZXNzZWQodCl8fGVlLm5vcm1hbGl6ZSgpfSwhMCl9ZnVuY3Rpb24gSSgpe3UuY29udGVudFN0eWxlcy5wdXNoKCJpbWc6LW1vei1icm9rZW4gey1tb3otZm9yY2UtYnJva2VuLWltYWdlLWljb246MTttaW4td2lkdGg6MjRweDttaW4taGVpZ2h0OjI0cHh9Iil9ZnVuY3Rpb24gRigpe3UuaW5saW5lfHx1Lm9uKCJrZXlkb3duIixmdW5jdGlvbigpe2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PWRvY3VtZW50LmJvZHkmJnUuZ2V0V2luKCkuZm9jdXMoKX0pfWZ1bmN0aW9uIHooKXt1LmlubGluZXx8KHUuY29udGVudFN0eWxlcy5wdXNoKCJib2R5IHttaW4taGVpZ2h0OiAxNTBweH0iKSx1Lm9uKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIHQ7aWYoIkhUTUwiPT1lLnRhcmdldC5ub2RlTmFtZSl7aWYoYS5pZT4xMSlyZXR1cm4gdm9pZCB1LmdldEJvZHkoKS5mb2N1cygpO3Q9dS5zZWxlY3Rpb24uZ2V0Um5nKCksdS5nZXRCb2R5KCkuZm9jdXMoKSx1LnNlbGVjdGlvbi5zZXRSbmcodCksdS5zZWxlY3Rpb24ubm9ybWFsaXplKCksdS5ub2RlQ2hhbmdlZCgpfX0pKX1mdW5jdGlvbiBXKCl7YS5tYWMmJnUub24oImtleWRvd24iLGZ1bmN0aW9uKHQpeyFlLm1ldGFLZXlQcmVzc2VkKHQpfHx0LnNoaWZ0S2V5fHwzNyE9dC5rZXlDb2RlJiYzOSE9dC5rZXlDb2RlfHwodC5wcmV2ZW50RGVmYXVsdCgpLHUuc2VsZWN0aW9uLmdldFNlbCgpLm1vZGlmeSgibW92ZSIsMzc9PXQua2V5Q29kZT8iYmFja3dhcmQiOiJmb3J3YXJkIiwibGluZWJvdW5kYXJ5IikpfSl9ZnVuY3Rpb24gVigpe2QoIkF1dG9VcmxEZXRlY3QiLCExKX1mdW5jdGlvbiBVKCl7dS5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2RvIGlmKCJBIj09PXQudGFnTmFtZSlyZXR1cm4gdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7d2hpbGUodD10LnBhcmVudE5vZGUpfSksdS5jb250ZW50U3R5bGVzLnB1c2goIi5tY2UtY29udGVudC1ib2R5IHstd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmV9Iil9ZnVuY3Rpb24gJCgpe3Uub24oImluaXQiLGZ1bmN0aW9uKCl7dS5kb20uYmluZCh1LmdldEJvZHkoKSwic3VibWl0IixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9KX0pfWZ1bmN0aW9uIHEoKXtuZS5hZGROb2RlRmlsdGVyKCJiciIsZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUubGVuZ3RoO3QtLTspIkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPT1lW3RdLmF0dHIoImNsYXNzIikmJmVbdF0ucmVtb3ZlKCl9KX1mdW5jdGlvbiBqKCl7dS5vbigiZHJhZ3N0YXJ0IixmdW5jdGlvbihlKXtwKGUpfSksdS5vbigiZHJvcCIsZnVuY3Rpb24oZSl7aWYoIWgoZSkpe3ZhciBuPW0oZSk7aWYobiYmbi5pZCE9dS5pZCl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciByPXQuZ2V0Q2FyZXRSYW5nZUZyb21Qb2ludChlLngsZS55LHUuZ2V0RG9jKCkpO2VlLnNldFJuZyhyKSxnKG4uaHRtbCl9fX0pfWZ1bmN0aW9uIFkoKXt2YXIgZSx0O1goKSYmKGU9dS5nZXRCb2R5KCksdD1lLnBhcmVudE5vZGUsdC5yZW1vdmVDaGlsZChlKSx0LmFwcGVuZENoaWxkKGUpLGUuZm9jdXMoKSl9ZnVuY3Rpb24gWCgpe3ZhciBlO3JldHVybiBpZT8oZT11LnNlbGVjdGlvbi5nZXRTZWwoKSwhZXx8IWUucmFuZ2VDb3VudHx8MD09PWUucmFuZ2VDb3VudCk6MH12YXIgSz1zLmVhY2gsRz11LiQsSj1lLkJBQ0tTUEFDRSxRPWUuREVMRVRFLFo9dS5kb20sZWU9dS5zZWxlY3Rpb24sdGU9dS5zZXR0aW5ncyxuZT11LnBhcnNlcixyZT11LnNlcmlhbGl6ZXIsaWU9YS5nZWNrbyxvZT1hLmllLGFlPWEud2Via2l0LHNlPSJkYXRhOnRleHQvbWNlLWludGVybmFsLCIsbGU9b2U/IlRleHQiOiJVUkwiO3JldHVybiBSKCkseSgpLGEud2luZG93c1Bob25lfHxPKCksYWUmJih2KCksQygpLE4oKSxEKCksJCgpLFMoKSxxKCksYS5pT1M/KEYoKSx6KCksVSgpKTpiKCkpLG9lJiZhLmllPDExJiYoeCgpLF8oKSxrKCksVCgpLE0oKSxMKCksUCgpLEgoKSksYS5pZT49MTEmJih6KCksUygpKSxhLmllJiYoYigpLFYoKSxqKCkpLGllJiYoeCgpLHcoKSxFKCksQSgpLEIoKSxJKCksVygpLFMoKSkse3JlZnJlc2hDb250ZW50RWRpdGFibGU6WSxpc0hpZGRlbjpYfX19KSxyKEhlLFtsZSx3LG1dLGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUsdCl7cmV0dXJuInNlbGVjdGlvbmNoYW5nZSI9PXQ/ZS5nZXREb2MoKTohZS5pbmxpbmUmJi9ebW91c2V8Y2xpY2t8Y29udGV4dG1lbnV8ZHJvcHxkcmFnb3ZlcnxkcmFnZW5kLy50ZXN0KHQpP2UuZ2V0RG9jKCkuZG9jdW1lbnRFbGVtZW50OmUuc2V0dGluZ3MuZXZlbnRfcm9vdD8oZS5ldmVudFJvb3R8fChlLmV2ZW50Um9vdD1vLnNlbGVjdChlLnNldHRpbmdzLmV2ZW50X3Jvb3QpWzBdKSxlLmV2ZW50Um9vdCk6ZS5nZXRCb2R5KCl9ZnVuY3Rpb24gaShlLHQpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIWUuaGlkZGVuJiYhZS5yZWFkb25seX12YXIgaT1yKGUsdCkscztpZihlLmRlbGVnYXRlc3x8KGUuZGVsZWdhdGVzPXt9KSwhZS5kZWxlZ2F0ZXNbdF0paWYoZS5zZXR0aW5ncy5ldmVudF9yb290KXtpZihhfHwoYT17fSxlLmVkaXRvck1hbmFnZXIub24oInJlbW92ZUVkaXRvciIsZnVuY3Rpb24oKXt2YXIgdDtpZighZS5lZGl0b3JNYW5hZ2VyLmFjdGl2ZUVkaXRvciYmYSl7Zm9yKHQgaW4gYSllLmRvbS51bmJpbmQocihlLHQpKTthPW51bGx9fSkpLGFbdF0pcmV0dXJuO3M9ZnVuY3Rpb24ocil7Zm9yKHZhciBpPXIudGFyZ2V0LGE9ZS5lZGl0b3JNYW5hZ2VyLmVkaXRvcnMscz1hLmxlbmd0aDtzLS07KXt2YXIgbD1hW3NdLmdldEJvZHkoKTsobD09PWl8fG8uaXNDaGlsZE9mKGksbCkpJiZuKGFbc10pJiZhW3NdLmZpcmUodCxyKX19LGFbdF09cyxvLmJpbmQoaSx0LHMpfWVsc2Ugcz1mdW5jdGlvbihyKXtuKGUpJiZlLmZpcmUodCxyKX0sby5iaW5kKGksdCxzKSxlLmRlbGVnYXRlc1t0XT1zfXZhciBvPXQuRE9NLGEscz17YmluZFBlbmRpbmdFdmVudERlbGVnYXRlczpmdW5jdGlvbigpe3ZhciBlPXRoaXM7bi5lYWNoKGUuX3BlbmRpbmdOYXRpdmVFdmVudHMsZnVuY3Rpb24odCl7aShlLHQpfSl9LHRvZ2dsZU5hdGl2ZUV2ZW50OmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczsiZm9jdXMiIT1lJiYiYmx1ciIhPWUmJih0P24uaW5pdGlhbGl6ZWQ/aShuLGUpOm4uX3BlbmRpbmdOYXRpdmVFdmVudHM/bi5fcGVuZGluZ05hdGl2ZUV2ZW50cy5wdXNoKGUpOm4uX3BlbmRpbmdOYXRpdmVFdmVudHM9W2VdOm4uaW5pdGlhbGl6ZWQmJihuLmRvbS51bmJpbmQocihuLGUpLGUsbi5kZWxlZ2F0ZXNbZV0pLGRlbGV0ZSBuLmRlbGVnYXRlc1tlXSkpfSx1bmJpbmRBbGxOYXRpdmVFdmVudHM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ7aWYoZS5kZWxlZ2F0ZXMpe2Zvcih0IGluIGUuZGVsZWdhdGVzKWUuZG9tLnVuYmluZChyKGUsdCksdCxlLmRlbGVnYXRlc1t0XSk7ZGVsZXRlIGUuZGVsZWdhdGVzfWUuaW5saW5lfHwoZS5nZXRCb2R5KCkub25sb2FkPW51bGwsZS5kb20udW5iaW5kKGUuZ2V0V2luKCkpLGUuZG9tLnVuYmluZChlLmdldERvYygpKSksZS5kb20udW5iaW5kKGUuZ2V0Qm9keSgpKSxlLmRvbS51bmJpbmQoZS5nZXRDb250YWluZXIoKSl9fTtyZXR1cm4gcz1uLmV4dGVuZCh7fSxlLHMpfSkscihPZSxbXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe3RyeXtlLmdldERvYygpLmV4ZWNDb21tYW5kKHQsITEsbil9Y2F0Y2gocil7fX1mdW5jdGlvbiB0KGUpe3ZhciB0LG47cmV0dXJuIHQ9ZS5nZXRCb2R5KCksbj1mdW5jdGlvbih0KXtlLmRvbS5nZXRQYXJlbnRzKHQudGFyZ2V0LCJhIikubGVuZ3RoPjAmJnQucHJldmVudERlZmF1bHQoKX0sZS5kb20uYmluZCh0LCJjbGljayIsbikse3VuYmluZDpmdW5jdGlvbigpe2UuZG9tLnVuYmluZCh0LCJjbGljayIsbil9fX1mdW5jdGlvbiBuKG4scil7bi5fY2xpY2tCbG9ja2VyJiYobi5fY2xpY2tCbG9ja2VyLnVuYmluZCgpLG4uX2NsaWNrQmxvY2tlcj1udWxsKSxyPyhuLl9jbGlja0Jsb2NrZXI9dChuKSxuLnNlbGVjdGlvbi5jb250cm9sU2VsZWN0aW9uLmhpZGVSZXNpemVSZWN0KCksbi5yZWFkb25seT0hMCxuLmdldEJvZHkoKS5jb250ZW50RWRpdGFibGU9ITEpOihuLnJlYWRvbmx5PSExLG4uZ2V0Qm9keSgpLmNvbnRlbnRFZGl0YWJsZT0hMCxlKG4sIlN0eWxlV2l0aENTUyIsITEpLGUobiwiZW5hYmxlSW5saW5lVGFibGVFZGl0aW5nIiwhMSksZShuLCJlbmFibGVPYmplY3RSZXNpemluZyIsITEpLG4uZm9jdXMoKSxuLm5vZGVDaGFuZ2VkKCkpfWZ1bmN0aW9uIHIoZSx0KXt2YXIgcj1lLnJlYWRvbmx5PyJyZWFkb25seSI6ImRlc2lnbiI7dCE9ciYmKGUuaW5pdGlhbGl6ZWQ/bihlLCJyZWFkb25seSI9PXQpOmUub24oImluaXQiLGZ1bmN0aW9uKCl7bihlLCJyZWFkb25seSI9PXQpfSksZS5maXJlKCJTd2l0Y2hNb2RlIix7bW9kZTp0fSkpfXJldHVybntzZXRNb2RlOnJ9fSkscihJZSxbbSxoXSxmdW5jdGlvbihlLHQpe3ZhciBuPWUuZWFjaCxyPWUuZXhwbG9kZSxpPXtmOToxMjAsZjEwOjEyMSxmMTE6MTIyfSxvPWUubWFrZU1hcCgiYWx0LGN0cmwsc2hpZnQsbWV0YSxhY2Nlc3MiKTtyZXR1cm4gZnVuY3Rpb24oYSl7ZnVuY3Rpb24gcyhlKXt2YXIgYSxzLGw9e307bihyKGUsIisiKSxmdW5jdGlvbihlKXtlIGluIG8/bFtlXT0hMDovXlswLTldezIsfSQvLnRlc3QoZSk/bC5rZXlDb2RlPXBhcnNlSW50KGUsMTApOihsLmNoYXJDb2RlPWUuY2hhckNvZGVBdCgwKSxsLmtleUNvZGU9aVtlXXx8ZS50b1VwcGVyQ2FzZSgpLmNoYXJDb2RlQXQoMCkpfSksYT1bbC5rZXlDb2RlXTtmb3IocyBpbiBvKWxbc10/YS5wdXNoKHMpOmxbc109ITE7cmV0dXJuIGwuaWQ9YS5qb2luKCIsIiksbC5hY2Nlc3MmJihsLmFsdD0hMCx0Lm1hYz9sLmN0cmw9ITA6bC5zaGlmdD0hMCksbC5tZXRhJiYodC5tYWM/bC5tZXRhPSEwOihsLmN0cmw9ITAsbC5tZXRhPSExKSksbH1mdW5jdGlvbiBsKHQsbixpLG8pe3ZhciBsO3JldHVybiBsPWUubWFwKHIodCwiPiIpLHMpLGxbbC5sZW5ndGgtMV09ZS5leHRlbmQobFtsLmxlbmd0aC0xXSx7ZnVuYzppLHNjb3BlOm98fGF9KSxlLmV4dGVuZChsWzBdLHtkZXNjOmEudHJhbnNsYXRlKG4pLHN1YnBhdHRlcm5zOmwuc2xpY2UoMSl9KX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmFsdEtleXx8ZS5jdHJsS2V5fHxlLm1ldGFLZXl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gZS5rZXlDb2RlPj0xMTImJmUua2V5Q29kZTw9MTIzfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gdD90LmN0cmwhPWUuY3RybEtleXx8dC5tZXRhIT1lLm1ldGFLZXk/ITE6dC5hbHQhPWUuYWx0S2V5fHx0LnNoaWZ0IT1lLnNoaWZ0S2V5PyExOmUua2V5Q29kZT09dC5rZXlDb2RlfHxlLmNoYXJDb2RlJiZlLmNoYXJDb2RlPT10LmNoYXJDb2RlPyhlLnByZXZlbnREZWZhdWx0KCksITApOiExOiExfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIGUuZnVuYz9lLmZ1bmMuY2FsbChlLnNjb3BlKTpudWxsfXZhciBoPXRoaXMscD17fSxtPVtdO2Eub24oImtleXVwIGtleXByZXNzIGtleWRvd24iLGZ1bmN0aW9uKGUpeyFjKGUpJiYhdShlKXx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KG4ocCxmdW5jdGlvbih0KXtyZXR1cm4gZChlLHQpPyhtPXQuc3VicGF0dGVybnMuc2xpY2UoMCksImtleWRvd24iPT1lLnR5cGUmJmYodCksITApOnZvaWQgMH0pLGQoZSxtWzBdKSYmKDE9PT1tLmxlbmd0aCYmImtleWRvd24iPT1lLnR5cGUmJmYobVswXSksbS5zaGlmdCgpKSl9KSxoLmFkZD1mdW5jdGlvbih0LGksbyxzKXt2YXIgYztyZXR1cm4gYz1vLCJzdHJpbmciPT10eXBlb2Ygbz9vPWZ1bmN0aW9uKCl7YS5leGVjQ29tbWFuZChjLCExLG51bGwpfTplLmlzQXJyYXkoYykmJihvPWZ1bmN0aW9uKCl7YS5leGVjQ29tbWFuZChjWzBdLGNbMV0sY1syXSl9KSxuKHIoZS50cmltKHQudG9Mb3dlckNhc2UoKSkpLGZ1bmN0aW9uKGUpe3ZhciB0PWwoZSxpLG8scyk7cFt0LmlkXT10fSksITB9LGgucmVtb3ZlPWZ1bmN0aW9uKGUpe3ZhciB0PWwoZSk7cmV0dXJuIHBbdC5pZF0/KGRlbGV0ZSBwW3QuaWRdLCEwKTohMX19fSkscihGZSxbYyxtLHpdLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7ZnVuY3Rpb24gaShlKXt2YXIgdCxuO3JldHVybiBuPXsiaW1hZ2UvanBlZyI6ImpwZyIsImltYWdlL2pwZyI6ImpwZyIsImltYWdlL2dpZiI6ImdpZiIsImltYWdlL3BuZyI6InBuZyJ9LHQ9bltlLmJsb2IoKS50eXBlLnRvTG93ZXJDYXNlKCldfHwiZGF0IixlLmlkKCkrIi4iK3R9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBlP2UucmVwbGFjZSgvXC8kLywiIikrIi8iK3QucmVwbGFjZSgvXlwvLywiIik6dH1mdW5jdGlvbiBhKGUpe3JldHVybntpZDplLmlkLGJsb2I6ZS5ibG9iLGJhc2U2NDplLmJhc2U2NCxmaWxlbmFtZTpuLmNvbnN0YW50KGkoZSkpfX1mdW5jdGlvbiBzKGUsdCxuLGEpe3ZhciBzLGwsYztzPW5ldyBYTUxIdHRwUmVxdWVzdCxzLm9wZW4oIlBPU1QiLHIudXJsKSxzLndpdGhDcmVkZW50aWFscz1yLmNyZWRlbnRpYWxzLGM9YSgpLHMudXBsb2FkLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC5yb3VuZChlLmxvYWRlZC9lLnRvdGFsKjEwMCk7Yy5wcm9ncmVzc0Jhci52YWx1ZSh0KX0scy5vbmVycm9yPWZ1bmN0aW9uKCl7Yy5jbG9zZSgpLG4oIkltYWdlIHVwbG9hZCBmYWlsZWQgZHVlIHRvIGEgWEhSIFRyYW5zcG9ydCBlcnJvci4gQ29kZTogIitzLnN0YXR1cyl9LHMub25sb2FkPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIGMuY2xvc2UoKSwyMDAhPXMuc3RhdHVzP3ZvaWQgbigiSFRUUCBFcnJvcjogIitzLnN0YXR1cyk6KGU9SlNPTi5wYXJzZShzLnJlc3BvbnNlVGV4dCksZSYmInN0cmluZyI9PXR5cGVvZiBlLmxvY2F0aW9uP3ZvaWQgdChvKHIuYmFzZVBhdGgsZS5sb2NhdGlvbikpOnZvaWQgbigiSW52YWxpZCBKU09OOiAiK3MucmVzcG9uc2VUZXh0KSl9LGw9bmV3IEZvcm1EYXRhLGwuYXBwZW5kKCJmaWxlIixlLmJsb2IoKSxpKGUpKSxzLnNlbmQobCl9ZnVuY3Rpb24gbCgpe3JldHVybiBuZXcgZShmdW5jdGlvbihlKXtlKFtdKX0pfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZX0pWyJjYXRjaCJdKGZ1bmN0aW9uKGUpe3JldHVybiBlfSl9ZnVuY3Rpb24gdShlLHQsbil7dmFyIHI9ZShuKSxpPWMocik7cmV0dXJuIGRlbGV0ZSBwW3RdLHBbdF09aSxpfWZ1bmN0aW9uIGQoZSxuKXtyZXR1cm4gdC5tYXAoZSxmdW5jdGlvbihlKXt2YXIgdD1lLmlkKCk7cmV0dXJuIHBbdF0/cFt0XTp1KG4sdCxlKX0pfWZ1bmN0aW9uIGYodCxuKXtmdW5jdGlvbiBpKHQpe3JldHVybiBuZXcgZShmdW5jdGlvbihlKXt2YXIgaT1yLmhhbmRsZXI7dHJ5e2koYSh0KSxmdW5jdGlvbihuKXtlKHt1cmw6bixibG9iSW5mbzp0LHN0YXR1czohMH0pfSxmdW5jdGlvbihuKXtlKHt1cmw6IiIsYmxvYkluZm86dCxzdGF0dXM6ITEsZXJyb3I6bn0pfSxuKX1jYXRjaChvKXtlKHt1cmw6IiIsYmxvYkluZm86dCxzdGF0dXM6ITEsZXJyb3I6by5tZXNzYWdlfSl9fSl9dmFyIG89ZCh0LGkpO3JldHVybiBlLmFsbChvKX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIHIudXJsfHxyLmhhbmRsZXIhPT1zP2YoZSx0KTpsKCl9dmFyIHA9e307cmV0dXJuIHI9dC5leHRlbmQoe2NyZWRlbnRpYWxzOiExLGhhbmRsZXI6c30scikse3VwbG9hZDpofX19KSxyKHplLFtjXSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe3JldHVybiBuZXcgZShmdW5jdGlvbihlKXt2YXIgbj1uZXcgWE1MSHR0cFJlcXVlc3Q7bi5vcGVuKCJHRVQiLHQsITApLG4ucmVzcG9uc2VUeXBlPSJibG9iIixuLm9ubG9hZD1mdW5jdGlvbigpezIwMD09dGhpcy5zdGF0dXMmJmUodGhpcy5yZXNwb25zZSl9LG4uc2VuZCgpfSl9ZnVuY3Rpb24gbihlKXt2YXIgdCxuO3JldHVybiBlPWRlY29kZVVSSUNvbXBvbmVudChlKS5zcGxpdCgiLCIpLG49L2RhdGE6KFteO10rKS8uZXhlYyhlWzBdKSxuJiYodD1uWzFdKSx7dHlwZTp0LGRhdGE6ZVsxXX19ZnVuY3Rpb24gcih0KXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oZSl7dmFyIHIsaSxvO3Q9bih0KTt0cnl7cj1hdG9iKHQuZGF0YSl9Y2F0Y2goYSl7cmV0dXJuIHZvaWQgZShuZXcgQmxvYihbXSkpfWZvcihpPW5ldyBVaW50OEFycmF5KHIubGVuZ3RoKSxvPTA7bzxpLmxlbmd0aDtvKyspaVtvXT1yLmNoYXJDb2RlQXQobyk7ZShuZXcgQmxvYihbaV0se3R5cGU6dC50eXBlfSkpfSl9ZnVuY3Rpb24gaShlKXtyZXR1cm4gMD09PWUuaW5kZXhPZigiYmxvYjoiKT90KGUpOjA9PT1lLmluZGV4T2YoImRhdGE6Iik/cihlKTpudWxsfWZ1bmN0aW9uIG8odCl7cmV0dXJuIG5ldyBlKGZ1bmN0aW9uKGUpe3ZhciBuPW5ldyBGaWxlUmVhZGVyO24ub25sb2FkZW5kPWZ1bmN0aW9uKCl7ZShuLnJlc3VsdCl9LG4ucmVhZEFzRGF0YVVSTCh0KX0pfXJldHVybnt1cmlUb0Jsb2I6aSxibG9iVG9EYXRhVXJpOm8scGFyc2VEYXRhVXJpOm59fSkscihXZSxbYyxwLHosemUsaF0sZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbz0wO3JldHVybiBmdW5jdGlvbihhKXtmdW5jdGlvbiBzKHMsYyl7ZnVuY3Rpb24gdShlLHQpe3ZhciBuLGk7cmV0dXJuIDA9PT1lLnNyYy5pbmRleE9mKCJibG9iOiIpPyhpPWEuZ2V0QnlVcmkoZS5zcmMpLHZvaWQoaSYmdCh7aW1hZ2U6ZSxibG9iSW5mbzppfSkpKToobj1yLnBhcnNlRGF0YVVyaShlLnNyYykuZGF0YSxpPWEuZmluZEZpcnN0KGZ1bmN0aW9uKGUpe3JldHVybiBlLmJhc2U2NCgpPT09bn0pLHZvaWQoaT90KHtpbWFnZTplLGJsb2JJbmZvOml9KTpyLnVyaVRvQmxvYihlLnNyYykudGhlbihmdW5jdGlvbihyKXt2YXIgaT0iYmxvYmlkIitvKysscz1hLmNyZWF0ZShpLHIsbik7YS5hZGQocyksdCh7aW1hZ2U6ZSxibG9iSW5mbzpzfSl9KSkpfXZhciBkLGY7cmV0dXJuIGN8fChjPW4uY29uc3RhbnQoITApKSxkPXQuZmlsdGVyKHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImltZyIpLGZ1bmN0aW9uKGUpe3ZhciB0PWUuc3JjO3JldHVybiBpLmZpbGVBcGk/ZS5oYXNBdHRyaWJ1dGUoImRhdGEtbWNlLWJvZ3VzIik/ITE6ZS5oYXNBdHRyaWJ1dGUoImRhdGEtbWNlLXBsYWNlaG9sZGVyIik/ITE6dCYmdCE9aS50cmFuc3BhcmVudFNyYz8wPT09dC5pbmRleE9mKCJibG9iOiIpPyEwOjA9PT10LmluZGV4T2YoImRhdGE6Iik/YyhlKTohMTohMTohMX0pLGY9dC5tYXAoZCxmdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4gbFt0LnNyY10/bmV3IGUoZnVuY3Rpb24oZSl7bFt0LnNyY10udGhlbihmdW5jdGlvbihuKXtlKHtpbWFnZTp0LGJsb2JJbmZvOm4uYmxvYkluZm99KX0pfSk6KG49bmV3IGUoZnVuY3Rpb24oZSl7dSh0LGUpfSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZGVsZXRlIGxbZS5pbWFnZS5zcmNdLGV9KVsiY2F0Y2giXShmdW5jdGlvbihlKXtyZXR1cm4gZGVsZXRlIGxbdC5zcmNdLGV9KSxsW3Quc3JjXT1uLG4pfSksZS5hbGwoZil9dmFyIGw9e307cmV0dXJue2ZpbmRBbGw6c319fSkscihWZSxbcCx6XSxmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIG4oZSx0LG4pe3JldHVybntpZDpjKGUpLGJsb2I6Yyh0KSxiYXNlNjQ6YyhuKSxibG9iVXJpOmMoVVJMLmNyZWF0ZU9iamVjdFVSTCh0KSl9fWZ1bmN0aW9uIHIoZSl7aShlLmlkKCkpfHxsLnB1c2goZSl9ZnVuY3Rpb24gaShlKXtyZXR1cm4gbyhmdW5jdGlvbih0KXtyZXR1cm4gdC5pZCgpPT09ZX0pfWZ1bmN0aW9uIG8odCl7cmV0dXJuIGUuZmlsdGVyKGwsdClbMF19ZnVuY3Rpb24gYShlKXtyZXR1cm4gbyhmdW5jdGlvbih0KXtyZXR1cm4gdC5ibG9iVXJpKCk9PWV9KX1mdW5jdGlvbiBzKCl7ZS5lYWNoKGwsZnVuY3Rpb24oZSl7VVJMLnJldm9rZU9iamVjdFVSTChlLmJsb2JVcmkoKSl9KSxsPVtdfXZhciBsPVtdLGM9dC5jb25zdGFudDtyZXR1cm57Y3JlYXRlOm4sYWRkOnIsZ2V0OmksZ2V0QnlVcmk6YSxmaW5kRmlyc3Q6byxkZXN0cm95OnN9fX0pLHIoVWUsW3AsRmUsV2UsVmVdLGZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBmdW5jdGlvbihpKXtmdW5jdGlvbiBvKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gaS5zZWxlY3Rpb24/ZSh0KTpbXX19ZnVuY3Rpb24gYShlLHQsbil7dmFyIHI9MDtkbyByPWUuaW5kZXhPZih0LHIpLC0xIT09ciYmKGU9ZS5zdWJzdHJpbmcoMCxyKStuK2Uuc3Vic3RyKHIrdC5sZW5ndGgpLHIrPW4ubGVuZ3RoLXQubGVuZ3RoKzEpO3doaWxlKC0xIT09cik7cmV0dXJuIGV9ZnVuY3Rpb24gcyhlLHQsbil7cmV0dXJuIGU9YShlLCdzcmM9IicrdCsnIicsJ3NyYz0iJytuKyciJyksZT1hKGUsJ2RhdGEtbWNlLXNyYz0iJyt0KyciJywnZGF0YS1tY2Utc3JjPSInK24rJyInKX1mdW5jdGlvbiBsKHQsbil7ZS5lYWNoKGkudW5kb01hbmFnZXIuZGF0YSxmdW5jdGlvbihlKXtlLmNvbnRlbnQ9cyhlLmNvbnRlbnQsdCxuKX0pfWZ1bmN0aW9uIGMoKXtyZXR1cm4gaS5ub3RpZmljYXRpb25NYW5hZ2VyLm9wZW4oe3RleHQ6aS50cmFuc2xhdGUoIkltYWdlIHVwbG9hZGluZy4uLiIpLHR5cGU6ImluZm8iLHRpbWVvdXQ6LTEscHJvZ3Jlc3NCYXI6ITB9KX1mdW5jdGlvbiB1KG4pe3JldHVybiBnfHwoZz1uZXcgdCh7dXJsOnkuaW1hZ2VzX3VwbG9hZF91cmwsYmFzZVBhdGg6eS5pbWFnZXNfdXBsb2FkX2Jhc2VfcGF0aCxjcmVkZW50aWFsczp5LmltYWdlc191cGxvYWRfY3JlZGVudGlhbHMsaGFuZGxlcjp5LmltYWdlc191cGxvYWRfaGFuZGxlcn0pKSxmKCkudGhlbihvKGZ1bmN0aW9uKHQpe3ZhciByO3JldHVybiByPWUubWFwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIGUuYmxvYkluZm99KSxnLnVwbG9hZChyLGMpLnRoZW4obyhmdW5jdGlvbihyKXtyZXR1cm4gcj1lLm1hcChyLGZ1bmN0aW9uKGUsbil7dmFyIHI9dFtuXS5pbWFnZTtyZXR1cm4gZS5zdGF0dXMmJihsKHIuc3JjLGUudXJsKSxpLiQocikuYXR0cih7c3JjOmUudXJsLCJkYXRhLW1jZS1zcmMiOmkuY29udmVydFVSTChlLnVybCwic3JjIil9KSkse2VsZW1lbnQ6cixzdGF0dXM6ZS5zdGF0dXN9fSksbiYmbihyKSxyfSkpfSkpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHkuYXV0b21hdGljX3VwbG9hZHMhPT0hMT91KGUpOnZvaWQgMH1mdW5jdGlvbiBmKCl7cmV0dXJuIHZ8fCh2PW5ldyBuKG0pKSx2LmZpbmRBbGwoaS5nZXRCb2R5KCkseS5pbWFnZXNfZGF0YWltZ19maWx0ZXIpLnRoZW4obyhmdW5jdGlvbih0KXtyZXR1cm4gZS5lYWNoKHQsZnVuY3Rpb24oZSl7bChlLmltYWdlLnNyYyxlLmJsb2JJbmZvLmJsb2JVcmkoKSksZS5pbWFnZS5zcmM9ZS5ibG9iSW5mby5ibG9iVXJpKCl9KSx0fSkpfWZ1bmN0aW9uIGgoKXttLmRlc3Ryb3koKSx2PWc9bnVsbH1mdW5jdGlvbiBwKHQpe3JldHVybiB0LnJlcGxhY2UoL3NyYz0iKGJsb2I6W14iXSspIi9nLGZ1bmN0aW9uKHQsbil7dmFyIHI9bS5nZXRCeVVyaShuKTtyZXR1cm4gcnx8KHI9ZS5yZWR1Y2UoaS5lZGl0b3JNYW5hZ2VyLmVkaXRvcnMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gZXx8dC5lZGl0b3JVcGxvYWQuYmxvYkNhY2hlLmdldEJ5VXJpKG4pfSxudWxsKSkscj8nc3JjPSJkYXRhOicrci5ibG9iKCkudHlwZSsiO2Jhc2U2NCwiK3IuYmFzZTY0KCkrJyInOnR9KX12YXIgbT1uZXcgcixnLHYseT1pLnNldHRpbmdzO3JldHVybiBpLm9uKCJzZXRDb250ZW50IixmdW5jdGlvbigpe2kuc2V0dGluZ3MuYXV0b21hdGljX3VwbG9hZHMhPT0hMT9kKCk6ZigpfSksaS5vbigiUmF3U2F2ZUNvbnRlbnQiLGZ1bmN0aW9uKGUpe2UuY29udGVudD1wKGUuY29udGVudCl9KSxpLm9uKCJnZXRDb250ZW50IixmdW5jdGlvbihlKXtlLnNvdXJjZV92aWV3fHwicmF3Ij09ZS5mb3JtYXR8fChlLmNvbnRlbnQ9cChlLmNvbnRlbnQpKX0pLHtibG9iQ2FjaGU6bSx1cGxvYWRJbWFnZXM6dSx1cGxvYWRJbWFnZXNBdXRvOmQsc2NhbkZvckltYWdlczpmLGRlc3Ryb3k6aH19fSkscigkZSxbaywkLF8sVCxnLFYsdV0sZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7dmFyIHM9bi5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlO3JldHVybiBmdW5jdGlvbih0LG4pe2Z1bmN0aW9uIHIoZSxuKXt2YXIgcj1vLmNvbGxhcHNlKGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbiksaSxhLHMsbCxjO3JldHVybiJCT0RZIj09dC50YWdOYW1lPyhpPXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYT10LnNjcm9sbExlZnR8fGkuc2Nyb2xsTGVmdCxzPXQuc2Nyb2xsVG9wfHxpLnNjcm9sbFRvcCk6KGM9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhPXQuc2Nyb2xsTGVmdC1jLmxlZnQscz10LnNjcm9sbFRvcC1jLnRvcCksci5sZWZ0Kz1hLHIucmlnaHQrPWEsci50b3ArPXMsci5ib3R0b20rPXMsci53aWR0aD0xLGw9ZS5vZmZzZXRXaWR0aC1lLmNsaWVudFdpZHRoLGw+MCYmKG4mJihsKj0tMSksci5sZWZ0Kz1sLHIucmlnaHQrPWwpLHJ9ZnVuY3Rpb24gbCgpe3ZhciBuLHIsbyxhLHM7Zm9yKG49aSgiKltjb250ZW50RWRpdGFibGU9ZmFsc2VdIix0KSxhPTA7YTxuLmxlbmd0aDthKyspcj1uW2FdLG89ci5wcmV2aW91c1NpYmxpbmcsZS5lbmRzV2l0aENhcmV0Q29udGFpbmVyKG8pJiYocz1vLmRhdGEsMT09cy5sZW5ndGg/by5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pOm8uZGVsZXRlRGF0YShzLmxlbmd0aC0xLDEpKSxvPXIubmV4dFNpYmxpbmcsZS5zdGFydHNXaXRoQ2FyZXRDb250YWluZXIobykmJihzPW8uZGF0YSwxPT1zLmxlbmd0aD9vLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobyk6by5kZWxldGVEYXRhKDAsMSkpO3JldHVybiBudWxsfWZ1bmN0aW9uIGMobyxhKXt2YXIgbCxjLGY7cmV0dXJuIHUoKSxuKGEpPyhnPWUuaW5zZXJ0QmxvY2soInAiLGEsbyksbD1yKGEsbyksaShnKS5jc3MoInRvcCIsbC50b3ApLG09aSgnPGRpdiBjbGFzcz0ibWNlLXZpc3VhbC1jYXJldCIgZGF0YS1tY2UtYm9ndXM9ImFsbCI+PC9kaXY+JykuY3NzKGwpLmFwcGVuZFRvKHQpLG8mJm0uYWRkQ2xhc3MoIm1jZS12aXN1YWwtY2FyZXQtYmVmb3JlIiksZCgpLGM9YS5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksZj1nLmZpcnN0Q2hpbGQsYy5zZXRTdGFydChmLDApLGMuc2V0RW5kKGYsMSksYyk6KGc9ZS5pbnNlcnRJbmxpbmUoYSxvKSxjPWEub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpLHMoZy5uZXh0U2libGluZyk/KGMuc2V0U3RhcnQoZywwKSxjLnNldEVuZChnLDApKTooYy5zZXRTdGFydChnLDEpLGMuc2V0RW5kKGcsMSkpLGMpfWZ1bmN0aW9uIHUoKXtsKCksZyYmKGUucmVtb3ZlKGcpLGc9bnVsbCksbSYmKG0ucmVtb3ZlKCksbT1udWxsKSxjbGVhckludGVydmFsKHApfWZ1bmN0aW9uIGQoKXtwPWEuc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpKCJkaXYubWNlLXZpc3VhbC1jYXJldCIsdCkudG9nZ2xlQ2xhc3MoIm1jZS12aXN1YWwtY2FyZXQtaGlkZGVuIil9LDUwMCl9ZnVuY3Rpb24gZigpe2EuY2xlYXJJbnRlcnZhbChwKX1mdW5jdGlvbiBoKCl7cmV0dXJuIi5tY2UtdmlzdWFsLWNhcmV0IHtwb3NpdGlvbjogYWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7YmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO30ubWNlLXZpc3VhbC1jYXJldC1oaWRkZW4ge2Rpc3BsYXk6IG5vbmU7fSpbZGF0YS1tY2UtY2FyZXRdIHtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogLTEwMDBweDtyaWdodDogYXV0bzt0b3A6IDA7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fSJ9dmFyIHAsbSxnO3JldHVybntzaG93OmMsaGlkZTp1LGdldENzczpoLGRlc3Ryb3k6Zn19fSkscihxZSxbcCxfLFZdLGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGkpe2Z1bmN0aW9uIG8odCl7cmV0dXJuIGUubWFwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIGU9bi5jbG9uZShlKSxlLm5vZGU9aSxlfSl9aWYoZS5pc0FycmF5KGkpKXJldHVybiBlLnJlZHVjZShpLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuY29uY2F0KHIodCkpfSxbXSk7aWYodC5pc0VsZW1lbnQoaSkpcmV0dXJuIG8oaS5nZXRDbGllbnRSZWN0cygpKTtpZih0LmlzVGV4dChpKSl7dmFyIGE9aS5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIGEuc2V0U3RhcnQoaSwwKSxhLnNldEVuZChpLGkuZGF0YS5sZW5ndGgpLG8oYS5nZXRDbGllbnRSZWN0cygpKX19cmV0dXJue2dldENsaWVudFJlY3RzOnJ9fSkscihqZSxbeixwLHFlLFcsdGUsbmUsJCxWXSxmdW5jdGlvbihlLHQsbixyLGksbyxhLHMpe2Z1bmN0aW9uIGwoZSx0LG4sbyl7Zm9yKDtvPWkuZmluZE5vZGUobyxlLHIuaXNFZGl0YWJsZUNhcmV0Q2FuZGlkYXRlLHQpOylpZihuKG8pKXJldHVybn1mdW5jdGlvbiBjKGUscixpLG8sYSxzKXtmdW5jdGlvbiBjKG8pe3ZhciBzLGwsYztmb3IoYz1uLmdldENsaWVudFJlY3RzKG8pLC0xPT1lJiYoYz1jLnJldmVyc2UoKSkscz0wO3M8Yy5sZW5ndGg7cysrKWlmKGw9Y1tzXSwhaShsLGgpKXtpZihmLmxlbmd0aD4wJiZyKGwsdC5sYXN0KGYpKSYmdSsrLGwubGluZT11LGEobCkpcmV0dXJuITA7Zi5wdXNoKGwpfX12YXIgdT0wLGQsZj1bXSxoO3JldHVybihoPXQubGFzdChzLmdldENsaWVudFJlY3RzKCkpKT8oZD1zLmdldE5vZGUoKSxjKGQpLGwoZSxvLGMsZCksZik6Zn1mdW5jdGlvbiB1KGUsdCl7cmV0dXJuIHQubGluZT5lfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gdC5saW5lPT09ZX1mdW5jdGlvbiBmKGUsbixyLGkpe2Z1bmN0aW9uIGwobil7cmV0dXJuIDE9PWU/dC5sYXN0KG4uZ2V0Q2xpZW50UmVjdHMoKSk6dC5sYXN0KG4uZ2V0Q2xpZW50UmVjdHMoKSl9dmFyIGM9bmV3IG8obiksdSxkLGYsaCxwPVtdLG09MCxnLHY7MT09ZT8odT1jLm5leHQsZD1zLmlzQmVsb3csZj1zLmlzQWJvdmUsaD1hLmFmdGVyKGkpKToodT1jLnByZXYsZD1zLmlzQWJvdmUsZj1zLmlzQmVsb3csaD1hLmJlZm9yZShpKSksdj1sKGgpO2RvIGlmKGguaXNWaXNpYmxlKCkmJihnPWwoaCksIWYoZyx2KSkpe2lmKHAubGVuZ3RoPjAmJmQoZyx0Lmxhc3QocCkpJiZtKyssZz1zLmNsb25lKGcpLGcucG9zaXRpb249aCxnLmxpbmU9bSxyKGcpKXJldHVybiBwO3AucHVzaChnKX13aGlsZShoPXUoaCkpO3JldHVybiBwfXZhciBoPWUuY3VycnkscD1oKGMsLTEscy5pc0Fib3ZlLHMuaXNCZWxvdyksbT1oKGMsMSxzLmlzQmVsb3cscy5pc0Fib3ZlKTtyZXR1cm57dXBVbnRpbDpwLGRvd25VbnRpbDptLHBvc2l0aW9uc1VudGlsOmYsaXNBYm92ZUxpbmU6aCh1KSxpc0xpbmU6aChkKX19KSxyKFllLFt6LHAsXyxxZSxWLHRlLFddLGZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gTWF0aC5hYnMoZS5sZWZ0LXQpfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gTWF0aC5hYnMoZS5yaWdodC10KX1mdW5jdGlvbiBjKGUsbil7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBlPj10LmxlZnQmJmU8PXQucmlnaHR9cmV0dXJuIHQucmVkdWNlKGUsZnVuY3Rpb24oZSx0KXt2YXIgaSxvO3JldHVybiBpPU1hdGgubWluKHMoZSxuKSxsKGUsbikpLG89TWF0aC5taW4ocyh0LG4pLGwodCxuKSkscihuLHQpP3Q6cihuLGUpP2U6bz09aSYmbSh0Lm5vZGUpP3Q6aT5vP3Q6ZX0pfWZ1bmN0aW9uIHUoZSx0LG4scil7Zm9yKDtyPWcocixlLGEuaXNFZGl0YWJsZUNhcmV0Q2FuZGlkYXRlLHQpOylpZihuKHIpKXJldHVybn1mdW5jdGlvbiBkKGUsbil7ZnVuY3Rpb24gbyhlLGkpe3ZhciBvO3JldHVybiBvPXQuZmlsdGVyKHIuZ2V0Q2xpZW50UmVjdHMoaSksZnVuY3Rpb24odCl7cmV0dXJuIWUodCxuKX0pLGE9YS5jb25jYXQobyksMD09PW8ubGVuZ3RofXZhciBhPVtdO3JldHVybiBhLnB1c2gobiksdSgtMSxlLHYobyxpLmlzQWJvdmUpLG4ubm9kZSksdSgxLGUsdihvLGkuaXNCZWxvdyksbi5ub2RlKSxhfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIHQuZmlsdGVyKHQudG9BcnJheShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLG0pfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm57bm9kZTplLm5vZGUsYmVmb3JlOnMoZSx0KTxsKGUsdCl9fWZ1bmN0aW9uIHAoZSxuLGkpe3ZhciBvLGE7cmV0dXJuIG89ci5nZXRDbGllbnRSZWN0cyhmKGUpKSxvPXQuZmlsdGVyKG8sZnVuY3Rpb24oZSl7cmV0dXJuIGk+PWUudG9wJiZpPD1lLmJvdHRvbX0pLGE9YyhvLG4pLGEmJihhPWMoZChlLGEpLG4pLGEmJm0oYS5ub2RlKSk/aChhLG4pOm51bGx9dmFyIG09bi5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLGc9by5maW5kTm9kZSx2PWUuY3Vycnk7cmV0dXJue2ZpbmRDbG9zZXN0Q2xpZW50UmVjdDpjLGZpbmRMaW5lTm9kZVJlY3RzOmQsY2xvc2VzdENhcmV0OnB9fSkscihYZSxbXyxwLHpdLGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGkoZSl9ZnVuY3Rpb24gYSh0KXtmKGUuZ2V0Qm9keSgpKS5jc3MoImN1cnNvciIsdCl9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdD09Zy5lbGVtZW50fHxlLmRvbS5pc0NoaWxkT2YodCxnLmVsZW1lbnQpPyExOiFpKHQpfWZ1bmN0aW9uIGwodCl7dmFyIG4scixpLG8scz0wLGw9MCxjLHUsZCxoOzA9PT10LmJ1dHRvbiYmKG49dC5zY3JlZW5YLWcuc2NyZWVuWCxyPXQuc2NyZWVuWS1nLnNjcmVlblksYz1NYXRoLm1heChNYXRoLmFicyhuKSxNYXRoLmFicyhyKSksIWcuZHJhZ2dpbmcmJmM+MTAmJihnLmRyYWdnaW5nPSEwLGEoImRlZmF1bHQiKSxnLmNsb25lPWcuZWxlbWVudC5jbG9uZU5vZGUoITApLGk9bS5nZXRQb3MoZy5lbGVtZW50KSxnLnJlbFg9Zy5jbGllbnRYLWkueCxnLnJlbFk9Zy5jbGllbnRZLWkueSxnLndpZHRoPWcuZWxlbWVudC5vZmZzZXRXaWR0aCxnLmhlaWdodD1nLmVsZW1lbnQub2Zmc2V0SGVpZ2h0LGYoZy5jbG9uZSkuY3NzKHt3aWR0aDpnLndpZHRoLGhlaWdodDpnLmhlaWdodH0pLnJlbW92ZUF0dHIoImRhdGEtbWNlLXNlbGVjdGVkIiksZy5naG9zdD1mKCI8ZGl2PiIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixvcGFjaXR5Oi41LG92ZXJmbG93OiJoaWRkZW4iLHdpZHRoOmcud2lkdGgsaGVpZ2h0OmcuaGVpZ2h0fSkuYXR0cih7ImRhdGEtbWNlLWJvZ3VzIjoiYWxsIix1bnNlbGVjdGFibGU6Im9uIixjb250ZW50ZWRpdGFibGU6ImZhbHNlIn0pLmFkZENsYXNzKCJtY2UtZHJhZy1jb250YWluZXIgbWNlLXJlc2V0IikuYXBwZW5kKGcuY2xvbmUpLmFwcGVuZFRvKGUuZ2V0Qm9keSgpKVswXSxvPWUuZG9tLmdldFZpZXdQb3J0KGUuZ2V0V2luKCkpLGcubWF4WD1vLncsZy5tYXhZPW8uaCksZy5kcmFnZ2luZyYmKGUuc2VsZWN0aW9uLnBsYWNlQ2FyZXRBdCh0LmNsaWVudFgsdC5jbGllbnRZKSx1PWcuY2xpZW50WCtuLWcucmVsWCxkPWcuY2xpZW50WStyKzUsdStnLndpZHRoPmcubWF4WCYmKHM9dStnLndpZHRoLWcubWF4WCksZCtnLmhlaWdodD5nLm1heFkmJihsPWQrZy5oZWlnaHQtZy5tYXhZKSxoPSJCT0RZIiE9ZS5nZXRCb2R5KCkubm9kZU5hbWU/ZS5nZXRCb2R5KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6e2xlZnQ6MCx0b3A6MH0sZihnLmdob3N0KS5jc3Moe2xlZnQ6dS1oLmxlZnQsdG9wOmQtaC50b3Asd2lkdGg6Zy53aWR0aC1zLGhlaWdodDpnLmhlaWdodC1sfSkpKX1mdW5jdGlvbiBjKCl7dmFyIHQ7aWYoZy5kcmFnZ2luZyYmKGUuc2VsZWN0aW9uLnNldFJuZyhlLnNlbGVjdGlvbi5nZXRTZWwoKS5nZXRSYW5nZUF0KDApKSxzKGUuc2VsZWN0aW9uLmdldE5vZGUoKSkpKXt2YXIgbj1nLmVsZW1lbnQ7aWYodD1lLmZpcmUoImRyb3AiLHt0YXJnZXRDbG9uZTpufSksdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm47bj10LnRhcmdldENsb25lLGUudW5kb01hbmFnZXIudHJhbnNhY3QoZnVuY3Rpb24oKXtlLmluc2VydENvbnRlbnQobS5nZXRPdXRlckhUTUwobikpLGYoZy5lbGVtZW50KS5yZW1vdmUoKX0pfWQoKX1mdW5jdGlvbiB1KGEpe3ZhciBzLHU7aWYoZCgpLDA9PT1hLmJ1dHRvbiYmKHM9dC5maW5kKGUuZG9tLmdldFBhcmVudHMoYS50YXJnZXQpLG4ub3IoaSxvKSkscihzKSkpe2lmKHU9ZS5maXJlKCJkcmFnc3RhcnQiLHt0YXJnZXQ6c30pLHUuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO2Uub24oIm1vdXNlbW92ZSIsbCksZS5vbigibW91c2V1cCIsYyksaCE9cCYmKG0uYmluZChoLCJtb3VzZW1vdmUiLGwpLG0uYmluZChoLCJtb3VzZXVwIixjKSksZz17c2NyZWVuWDphLnNjcmVlblgsc2NyZWVuWTphLnNjcmVlblksY2xpZW50WDphLmNsaWVudFgsY2xpZW50WTphLmNsaWVudFksZWxlbWVudDpzfX19ZnVuY3Rpb24gZCgpe2YoZy5naG9zdCkucmVtb3ZlKCksYShudWxsKSxlLm9mZigibW91c2Vtb3ZlIixsKSxlLm9mZigibW91c2V1cCIsZCksaCE9cCYmKG0udW5iaW5kKGgsIm1vdXNlbW92ZSIsbCksbS51bmJpbmQoaCwibW91c2V1cCIsZCkpLGc9e319dmFyIGY9ZS4kLGg9ZG9jdW1lbnQscD1lLmdldERvYygpLG09ZS5kb20sZz17fTtlLm9uKCJtb3VzZWRvd24iLHUpLGUub24oImRyb3AiLGZ1bmN0aW9uKHQpe3ZhciBuPWUuZ2V0RG9jKCkuZWxlbWVudEZyb21Qb2ludCh0LmNsaWVudFgsdC5jbGllbnRZKTsoaShuKXx8aShlLmRvbS5nZXRDb250ZW50RWRpdGFibGVQYXJlbnQobikpKSYmdC5wcmV2ZW50RGVmYXVsdCgpfSl9dmFyIGk9ZS5pc0NvbnRlbnRFZGl0YWJsZUZhbHNlLG89ZS5pc0NvbnRlbnRFZGl0YWJsZVRydWU7cmV0dXJue2luaXQ6cn19KSxyKEtlLFtoLG5lLCQsayx0ZSwkZSxqZSxZZSxfLFQsVixJLHoscCx1LFhlLFNdLGZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEscyxsLGMsdSxkLGYsaCxwLG0sZyl7ZnVuY3Rpb24gdihlLHQpe2Zvcig7dD1lKHQpOylpZih0LmlzVmlzaWJsZSgpKXJldHVybiB0O3JldHVybiB0fWZ1bmN0aW9uIHkoYyl7ZnVuY3Rpb24geShlKXtyZXR1cm4gYy5kb20uaXNCbG9jayhlKX1mdW5jdGlvbiBTKGUpe2UmJmMuc2VsZWN0aW9uLnNldFJuZyhlKX1mdW5jdGlvbiBrKCl7cmV0dXJuIGMuc2VsZWN0aW9uLmdldFJuZygpfWZ1bmN0aW9uIFQoZSx0KXtjLnNlbGVjdGlvbi5zY3JvbGxJbnRvVmlldyhlLHQpfWZ1bmN0aW9uIFIoZSx0LG4pe3ZhciByO3JldHVybiByPWMuZmlyZSgiU2hvd0NhcmV0Iix7dGFyZ2V0OnQsZGlyZWN0aW9uOmUsYmVmb3JlOm59KSxyLmlzRGVmYXVsdFByZXZlbnRlZCgpP251bGw6KFQodCwtMT09PWUpLHJlLnNob3cobix0KSl9ZnVuY3Rpb24gQShlKXt2YXIgdDtyZXR1cm4gcmUuaGlkZSgpLHQ9Yy5maXJlKCJCZWZvcmVPYmplY3RTZWxlY3RlZCIse3RhcmdldDplfSksdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKT9udWxsOkIoZSl9ZnVuY3Rpb24gQihlKXt2YXIgdD1lLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gdC5zZWxlY3ROb2RlKGUpLHR9ZnVuY3Rpb24gRChlLHQpe3ZhciBuPWkuaXNJblNhbWVCbG9jayhlLHQpO3JldHVybiFuJiZsLmlzQnIoZS5nZXROb2RlKCkpPyEwOm59ZnVuY3Rpb24gTShlLHQpe3JldHVybiB0PWkubm9ybWFsaXplUmFuZ2UoZSxaLHQpLC0xPT1lP24uZnJvbVJhbmdlU3RhcnQodCk6bi5mcm9tUmFuZ2VFbmQodCl9ZnVuY3Rpb24gTChlKXtyZXR1cm4gci5pc0NhcmV0Q29udGFpbmVyQmxvY2soZS5zdGFydENvbnRhaW5lcil9ZnVuY3Rpb24gUChlLHQsbixyKXt2YXIgaSxvLGEscztyZXR1cm4hci5jb2xsYXBzZWQmJihpPV8ocikseChpKSk/UihlLGksLTE9PWUpOihzPUwociksbz1NKGUsciksbihvKT9BKG8uZ2V0Tm9kZSgtMT09ZSkpOihvPXQobykpP24obyk/UihlLG8uZ2V0Tm9kZSgtMT09ZSksMT09ZSk6KGE9dChvKSxuKGEpJiZEKG8sYSk/UihlLGEuZ2V0Tm9kZSgtMT09ZSksMT09ZSk6cz9VKG8udG9SYW5nZSgpKTpudWxsKTpzP3I6bnVsbCl9ZnVuY3Rpb24gSChlLHQsbil7dmFyIHIsaSxvLGwsYyx1LGQsZixwO2lmKHA9XyhuKSxyPU0oZSxuKSxpPXQoWixhLmlzQWJvdmVMaW5lKDEpLHIpLG89aC5maWx0ZXIoaSxhLmlzTGluZSgxKSksYz1oLmxhc3Qoci5nZXRDbGllbnRSZWN0cygpKSxFKHIpJiYocD1yLmdldE5vZGUoKSksTihyKSYmKHA9ci5nZXROb2RlKCEwKSksIWMpcmV0dXJuIG51bGw7aWYodT1jLmxlZnQsbD1zLmZpbmRDbG9zZXN0Q2xpZW50UmVjdChvLHUpLGwmJngobC5ub2RlKSlyZXR1cm4gZD1NYXRoLmFicyh1LWwubGVmdCksZj1NYXRoLmFicyh1LWwucmlnaHQpLFIoZSxsLm5vZGUsZj5kKTtpZihwKXt2YXIgbT1hLnBvc2l0aW9uc1VudGlsKGUsWixhLmlzQWJvdmVMaW5lKDEpLHApO2lmKGw9cy5maW5kQ2xvc2VzdENsaWVudFJlY3QoaC5maWx0ZXIobSxhLmlzTGluZSgxKSksdSkpcmV0dXJuIFUobC5wb3NpdGlvbi50b1JhbmdlKCkpO2lmKGw9aC5sYXN0KGguZmlsdGVyKG0sYS5pc0xpbmUoMCkpKSlyZXR1cm4gVShsLnBvc2l0aW9uLnRvUmFuZ2UoKSl9fWZ1bmN0aW9uIE8odCxyKXtmdW5jdGlvbiBpKCl7dmFyIHQ9Yy5kb20uY3JlYXRlKGMuc2V0dGluZ3MuZm9yY2VkX3Jvb3RfYmxvY2spO3JldHVybighZS5pZXx8ZS5pZT49MTEpJiYodC5pbm5lckhUTUw9JzxiciBkYXRhLW1jZS1ib2d1cz0iMSI+JyksdH12YXIgbyxhLHM7aWYoci5jb2xsYXBzZWQmJmMuc2V0dGluZ3MuZm9yY2VkX3Jvb3RfYmxvY2spe2lmKG89Yy5kb20uZ2V0UGFyZW50KHIuc3RhcnRDb250YWluZXIsIlBSRSIpLCFvKXJldHVybjthPTE9PXQ/dGUobi5mcm9tUmFuZ2VTdGFydChyKSk6bmUobi5mcm9tUmFuZ2VTdGFydChyKSksYXx8KHM9aSgpLDE9PXQ/Yy4kKG8pLmFmdGVyKHMpOmMuJChvKS5iZWZvcmUocyksYy5zZWxlY3Rpb24uc2VsZWN0KHMsITApLGMuc2VsZWN0aW9uLmNvbGxhcHNlKCkpfX1mdW5jdGlvbiBJKGUsdCxuLHIpe3ZhciBpO3JldHVybihpPVAoZSx0LG4scikpP2k6KGk9TyhlLHIpLGk/aTpudWxsKX1mdW5jdGlvbiBGKGUsdCxuKXt2YXIgcjtyZXR1cm4ocj1IKGUsdCxuKSk/cjoocj1PKGUsbikscj9yOm51bGwpfWZ1bmN0aW9uIHooKXtyZXR1cm4gYWUoIipbZGF0YS1tY2UtY2FyZXRdIilbMF19ZnVuY3Rpb24gVyhlKXtlPWFlKGUpLGUuYXR0cigiZGF0YS1tY2UtY2FyZXQiKSYmKHJlLmhpZGUoKSxlLnJlbW92ZUF0dHIoImRhdGEtbWNlLWNhcmV0IiksZS5yZW1vdmVBdHRyKCJkYXRhLW1jZS1ib2d1cyIpLGUucmVtb3ZlQXR0cigic3R5bGUiKSxTKGsoKSksVChlWzBdKSl9ZnVuY3Rpb24gVihlKXt2YXIgdCxyO3JldHVybiBlPWkubm9ybWFsaXplUmFuZ2UoMSxaLGUpLHQ9bi5mcm9tUmFuZ2VTdGFydChlKSx4KHQuZ2V0Tm9kZSgpKT9SKDEsdC5nZXROb2RlKCksIXQuaXNBdEVuZCgpKTp4KHQuZ2V0Tm9kZSghMCkpP1IoMSx0LmdldE5vZGUoITApLCExKToocj1jLmRvbS5nZXRQYXJlbnQodC5nZXROb2RlKCksZi5vcih4LEMpKSx4KHIpP1IoMSxyLCExKToocmUuaGlkZSgpLG51bGwpKX1mdW5jdGlvbiBVKGUpe3ZhciB0O3JldHVybiBlJiZlLmNvbGxhcHNlZD8odD1WKGUpLHQ/dDplKTplfWZ1bmN0aW9uICQoZSl7dmFyIHQsaSxvLGE7cmV0dXJuIHgoZSk/KHgoZS5wcmV2aW91c1NpYmxpbmcpJiYobz1lLnByZXZpb3VzU2libGluZyksaT1uZShuLmJlZm9yZShlKSksaXx8KHQ9dGUobi5hZnRlcihlKSkpLHQmJncodC5nZXROb2RlKCkpJiYoYT10LmdldE5vZGUoKSksci5yZW1vdmUoZS5wcmV2aW91c1NpYmxpbmcpLHIucmVtb3ZlKGUubmV4dFNpYmxpbmcpLGMuZG9tLnJlbW92ZShlKSxKKCksYy5kb20uaXNFbXB0eShjLmdldEJvZHkoKSk/KGMuc2V0Q29udGVudCgiIiksdm9pZCBjLmZvY3VzKCkpOm8/bi5hZnRlcihvKS50b1JhbmdlKCk6YT9uLmJlZm9yZShhKS50b1JhbmdlKCk6aT9pLnRvUmFuZ2UoKTp0P3QudG9SYW5nZSgpOm51bGwpOm51bGx9ZnVuY3Rpb24gcShlLHQsbil7dmFyIHI9Yy5kb20saSxvLGEscztpZigtMT09PWUpe2lmKE4obikmJnkobi5nZXROb2RlKCEwKSkpcmV0dXJuICQobi5nZXROb2RlKCEwKSl9ZWxzZSBpZihFKHQpJiZ5KHQuZ2V0Tm9kZSgpKSlyZXR1cm4gJCh0LmdldE5vZGUoKSk7aWYocz1jLnNjaGVtYS5nZXRUZXh0QmxvY2tFbGVtZW50cygpLGk9ci5nZXRQYXJlbnQodC5nZXROb2RlKCksci5pc0Jsb2NrKSxvPXIuZ2V0UGFyZW50KG4uZ2V0Tm9kZSgpLHIuaXNCbG9jayksaT09PW98fCFzW2kubm9kZU5hbWVdfHwhc1tvLm5vZGVOYW1lXSlyZXR1cm4gbnVsbDtmb3IoO2E9aS5maXJzdENoaWxkOylvLmFwcGVuZENoaWxkKGEpO3JldHVybiBjLmRvbS5yZW1vdmUoaSksbi50b1JhbmdlKCl9ZnVuY3Rpb24gaihlLHQsbil7dmFyIHIsaSxvO3JldHVybiFuLmNvbGxhcHNlZCYmKHI9XyhuKSx4KHIpKT9VKCQocikpOihpPU0oZSxuKSx0KGkpP1UoJChpLmdldE5vZGUoLTE9PWUpKSk6KG89LTE9PWU/ZWUucHJldihpKTplZS5uZXh0KGkpLHQobyk/LTE9PT1lP3EoZSxpLG8pOnEoZSxvLGkpOnZvaWQgMCkpfWZ1bmN0aW9uIFkoKXtmdW5jdGlvbiBlKGUsdCl7dmFyIG49dChrKCkpO24mJiFlLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLFMobikpfWZ1bmN0aW9uIHQoZSl7Zm9yKHZhciB0PWMuZ2V0Qm9keSgpO2UmJmUhPXQ7KXtpZihDKGUpfHx4KGUpKXJldHVybiBlO2U9ZS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIHIoZSx0LG4pe3JldHVybiBuLmNvbGxhcHNlZD8hMTpoLnJlZHVjZShuLmdldENsaWVudFJlY3RzKCksZnVuY3Rpb24obixyKXtyZXR1cm4gbnx8dS5jb250YWluc1hZKHIsZSx0KX0sITEpfWZ1bmN0aW9uIGkoKXt2YXIgZSxyPXQoYy5zZWxlY3Rpb24uZ2V0Tm9kZSgpKTtDKHIpJiZ5KHIpJiZjLmRvbS5pc0VtcHR5KHIpJiYoZT1jLmRvbS5jcmVhdGUoImJyIix7ImRhdGEtbWNlLWJvZ3VzIjoiMSJ9KSxjLiQocikuZW1wdHkoKS5hcHBlbmQoZSksYy5zZWxlY3Rpb24uc2V0Um5nKG4uYmVmb3JlKGUpLnRvUmFuZ2UoKSkpfWZ1bmN0aW9uIG8oZSl7dmFyIHQ9eigpO2lmKHQpcmV0dXJuImNvbXBvc2l0aW9uc3RhcnQiPT1lLnR5cGU/KGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHZvaWQgVyh0KSk6dm9pZCgiJm5ic3A7IiE9dC5pbm5lckhUTUwmJlcodCkpfWZ1bmN0aW9uIGwoZSl7dmFyIHQ7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSBkLkRFTEVURTp0PWkoKTticmVhaztjYXNlIGQuQkFDS1NQQUNFOnQ9aSgpfXQmJmUucHJldmVudERlZmF1bHQoKX12YXIgZj1iKEksMSx0ZSxFKSxnPWIoSSwtMSxuZSxOKSx2PWIoaiwxLEUpLHc9YihqLC0xLE4pLF89YihGLC0xLGEudXBVbnRpbCksVD1iKEYsMSxhLmRvd25VbnRpbCk7Yy5vbigibW91c2V1cCIsZnVuY3Rpb24oKXt2YXIgZT1rKCk7ZS5jb2xsYXBzZWQmJlMoVihlKSl9KSxjLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIG47bj10KGUudGFyZ2V0KSxuJiZ4KG4pJiZlLnByZXZlbnREZWZhdWx0KCl9KSxjLm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKGUpe3ZhciBuO2lmKG49dChlLnRhcmdldCkpeChuKT8oZS5wcmV2ZW50RGVmYXVsdCgpLApHKEEobikpKTooSigpLHIoZS5jbGllbnRYLGUuY2xpZW50WSxjLnNlbGVjdGlvbi5nZXRSbmcoKSl8fGMuc2VsZWN0aW9uLnBsYWNlQ2FyZXRBdChlLmNsaWVudFgsZS5jbGllbnRZKSk7ZWxzZXtKKCkscmUuaGlkZSgpO3ZhciBpPXMuY2xvc2VzdENhcmV0KFosZS5jbGllbnRYLGUuY2xpZW50WSk7aSYmKGUucHJldmVudERlZmF1bHQoKSxjLmdldEJvZHkoKS5mb2N1cygpLFMoUigxLGkubm9kZSxpLmJlZm9yZSkpKX19KSxjLm9uKCJrZXlkb3duIixmdW5jdGlvbih0KXtpZighZC5tb2RpZmllclByZXNzZWQodCkpc3dpdGNoKHQua2V5Q29kZSl7Y2FzZSBkLlJJR0hUOmUodCxmKTticmVhaztjYXNlIGQuRE9XTjplKHQsVCk7YnJlYWs7Y2FzZSBkLkxFRlQ6ZSh0LGcpO2JyZWFrO2Nhc2UgZC5VUDplKHQsXyk7YnJlYWs7Y2FzZSBkLkRFTEVURTplKHQsdik7YnJlYWs7Y2FzZSBkLkJBQ0tTUEFDRTplKHQsdyk7YnJlYWs7ZGVmYXVsdDp4KGMuc2VsZWN0aW9uLmdldE5vZGUoKSkmJnQucHJldmVudERlZmF1bHQoKX19KSxjLm9uKCJrZXl1cCBjb21wb3NpdGlvbnN0YXJ0IixmdW5jdGlvbihlKXtvKGUpLGwoZSl9LCEwKSxjLm9uKCJjdXQiLGZ1bmN0aW9uKCl7dmFyIGU9Yy5zZWxlY3Rpb24uZ2V0Tm9kZSgpO3goZSkmJnAuc2V0RWRpdG9yVGltZW91dChjLGZ1bmN0aW9uKCl7UyhVKCQoZSkpKX0pfSksYy5vbigiZ2V0U2VsZWN0aW9uUmFuZ2UiLGZ1bmN0aW9uKGUpe3ZhciB0PWUucmFuZ2U7aWYob2Upe2lmKCFvZS5wYXJlbnROb2RlKXJldHVybiB2b2lkKG9lPW51bGwpO3Q9dC5jbG9uZVJhbmdlKCksdC5zZWxlY3ROb2RlKG9lKSxlLnJhbmdlPXR9fSksYy5vbigic2V0U2VsZWN0aW9uUmFuZ2UiLGZ1bmN0aW9uKGUpe3ZhciB0O3Q9RyhlLnJhbmdlKSx0JiYoZS5yYW5nZT10KX0pLGMub24oImZvY3VzIixmdW5jdGlvbigpe3Auc2V0RWRpdG9yVGltZW91dChjLGZ1bmN0aW9uKCl7Yy5zZWxlY3Rpb24uc2V0Um5nKFUoYy5zZWxlY3Rpb24uZ2V0Um5nKCkpKX0sMCl9KSxtLmluaXQoYyl9ZnVuY3Rpb24gWCgpe3ZhciBlPWMuY29udGVudFN0eWxlcyx0PSIubWNlLWNvbnRlbnQtYm9keSI7ZS5wdXNoKHJlLmdldENzcygpKSxlLnB1c2godCsiIC5tY2Utb2Zmc2NyZWVuLXNlbGVjdGlvbiB7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IC05OTk5OTk5OTk5cHg7d2lkdGg6IDEwMHB4O2hlaWdodDogMTAwcHg7fSIrdCsiICpbY29udGVudEVkaXRhYmxlPWZhbHNlXSB7Y3Vyc29yOiBkZWZhdWx0O30iK3QrIiAqW2NvbnRlbnRFZGl0YWJsZT10cnVlXSB7Y3Vyc29yOiB0ZXh0O30iKX1mdW5jdGlvbiBLKGUpe3JldHVybiByLmlzQ2FyZXRDb250YWluZXIoZS5zdGFydENvbnRhaW5lcil8fHIuaXNDYXJldENvbnRhaW5lcihlLmVuZENvbnRhaW5lcil9ZnVuY3Rpb24gRyh0KXt2YXIgbixyPWMuJCxpPWMuZG9tLG8sYSxzLGwsdSxkLGYsaCxwO2lmKCF0KXJldHVybiBKKCksbnVsbDtpZih0LmNvbGxhcHNlZCl7aWYoSigpLCFLKHQpKXtpZihmPU0oMSx0KSx4KGYuZ2V0Tm9kZSgpKSlyZXR1cm4gUigxLGYuZ2V0Tm9kZSgpLCFmLmlzQXRFbmQoKSk7aWYoeChmLmdldE5vZGUoITApKSlyZXR1cm4gUigxLGYuZ2V0Tm9kZSghMCksITEpfXJldHVybiBudWxsfXJldHVybiBzPXQuc3RhcnRDb250YWluZXIsbD10LnN0YXJ0T2Zmc2V0LHU9dC5lbmRPZmZzZXQsMz09cy5ub2RlVHlwZSYmMD09bCYmeChzLnBhcmVudE5vZGUpJiYocz1zLnBhcmVudE5vZGUsbD1pLm5vZGVJbmRleChzKSxzPXMucGFyZW50Tm9kZSksMSE9cy5ub2RlVHlwZT8oSigpLG51bGwpOih1PT1sKzEmJihuPXMuY2hpbGROb2Rlc1tsXSkseChuKT8oaD1wPW4uY2xvbmVOb2RlKCEwKSxkPWMuZmlyZSgiT2JqZWN0U2VsZWN0ZWQiLHt0YXJnZXQ6bix0YXJnZXRDbG9uZTpofSksZC5pc0RlZmF1bHRQcmV2ZW50ZWQoKT8oSigpLG51bGwpOihoPWQudGFyZ2V0Q2xvbmUsbz1yKCIjIitpZSksMD09PW8ubGVuZ3RoJiYobz1yKCc8ZGl2IGRhdGEtbWNlLWJvZ3VzPSJhbGwiIGNsYXNzPSJtY2Utb2Zmc2NyZWVuLXNlbGVjdGlvbiI+PC9kaXY+JykuYXR0cigiaWQiLGllKSxvLmFwcGVuZFRvKGMuZ2V0Qm9keSgpKSksdD1jLmRvbS5jcmVhdGVSbmcoKSxoPT09cCYmZS5pZT8oby5lbXB0eSgpLmFwcGVuZChnLlpXU1ApLmFwcGVuZChoKS5hcHBlbmQoZy5aV1NQKSx0LnNldFN0YXJ0KG9bMF0uZmlyc3RDaGlsZCwwKSx0LnNldEVuZChvWzBdLmxhc3RDaGlsZCwxKSk6KG8uZW1wdHkoKS5hcHBlbmQoIlx4YTAiKS5hcHBlbmQoaCkuYXBwZW5kKCJceGEwIiksdC5zZXRTdGFydChvWzBdLmZpcnN0Q2hpbGQsMSksdC5zZXRFbmQob1swXS5sYXN0Q2hpbGQsMCkpLG8uY3NzKHt0b3A6aS5nZXRQb3MobixjLmdldEJvZHkoKSkueX0pLGMuZ2V0Qm9keSgpLmZvY3VzKCksb1swXS5mb2N1cygpLGE9Yy5zZWxlY3Rpb24uZ2V0U2VsKCksYS5yZW1vdmVBbGxSYW5nZXMoKSxhLmFkZFJhbmdlKHQpLGMuJCgiKltkYXRhLW1jZS1zZWxlY3RlZF0iKS5yZW1vdmVBdHRyKCJkYXRhLW1jZS1zZWxlY3RlZCIpLG4uc2V0QXR0cmlidXRlKCJkYXRhLW1jZS1zZWxlY3RlZCIsMSksb2U9bix0KSk6KEooKSxudWxsKSl9ZnVuY3Rpb24gSigpe29lJiYob2UucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW1jZS1zZWxlY3RlZCIpLGMuJCgiIyIraWUpLnJlbW92ZSgpLG9lPW51bGwpfWZ1bmN0aW9uIFEoKXtyZS5kZXN0cm95KCksb2U9bnVsbH12YXIgWj1jLmdldEJvZHkoKSxlZT1uZXcgdChaKSx0ZT1iKHYsZWUubmV4dCksbmU9Yih2LGVlLnByZXYpLHJlPW5ldyBvKGMuZ2V0Qm9keSgpLHkpLGllPSJzZWwtIitjLmRvbS51bmlxdWVJZCgpLG9lLGFlPWMuJDtyZXR1cm4gZS5jZUZhbHNlJiYoWSgpLFgoKSkse3Nob3dCbG9ja0NhcmV0Q29udGFpbmVyOlcsZGVzdHJveTpRfX12YXIgYj1mLmN1cnJ5LEM9bC5pc0NvbnRlbnRFZGl0YWJsZVRydWUseD1sLmlzQ29udGVudEVkaXRhYmxlRmFsc2Usdz1sLmlzRWxlbWVudCxOPWkuaXNBZnRlckNvbnRlbnRFZGl0YWJsZUZhbHNlLEU9aS5pc0JlZm9yZUNvbnRlbnRFZGl0YWJsZUZhbHNlLF89Yy5nZXRTZWxlY3RlZE5vZGU7cmV0dXJuIHl9KSxyKEdlLFt3LGcsRSxSLEEsSCxQLFksSixRLFosZWUscmUsaWUsTixkLFRlLE1lLEIsTSxQZSxoLG0sdSxIZSxPZSxJZSxVZSxLZV0sZnVuY3Rpb24oZSxuLHIsaSxvLGEscyxsLGMsdSxkLGYsaCxwLG0sZyx2LHksYixDLHgsdyxOLEUsXyxTLGssVCxSKXtmdW5jdGlvbiBBKGUsdCxpKXt2YXIgbz10aGlzLGEscyxsO2E9by5kb2N1bWVudEJhc2VVcmw9aS5kb2N1bWVudEJhc2VVUkwscz1pLmJhc2VVUkksbD1pLmRlZmF1bHRTZXR0aW5ncyx0PUwoe2lkOmUsdGhlbWU6Im1vZGVybiIsZGVsdGFfd2lkdGg6MCxkZWx0YV9oZWlnaHQ6MCxwb3B1cF9jc3M6IiIscGx1Z2luczoiIixkb2N1bWVudF9iYXNlX3VybDphLGFkZF9mb3JtX3N1Ym1pdF90cmlnZ2VyOiEwLHN1Ym1pdF9wYXRjaDohMCxhZGRfdW5sb2FkX3RyaWdnZXI6ITAsY29udmVydF91cmxzOiEwLHJlbGF0aXZlX3VybHM6ITAscmVtb3ZlX3NjcmlwdF9ob3N0OiEwLG9iamVjdF9yZXNpemluZzohMCxkb2N0eXBlOiI8IURPQ1RZUEUgaHRtbD4iLHZpc3VhbDohMCxmb250X3NpemVfc3R5bGVfdmFsdWVzOiJ4eC1zbWFsbCx4LXNtYWxsLHNtYWxsLG1lZGl1bSxsYXJnZSx4LWxhcmdlLHh4LWxhcmdlIixmb250X3NpemVfbGVnYWN5X3ZhbHVlczoieHgtc21hbGwsc21hbGwsbWVkaXVtLGxhcmdlLHgtbGFyZ2UseHgtbGFyZ2UsMzAwJSIsZm9yY2VkX3Jvb3RfYmxvY2s6InAiLGhpZGRlbl9pbnB1dDohMCxwYWRkX2VtcHR5X2VkaXRvcjohMCxyZW5kZXJfdWk6ITAsaW5kZW50YXRpb246IjMwcHgiLGlubGluZV9zdHlsZXM6ITAsY29udmVydF9mb250c190b19zcGFuczohMCxpbmRlbnQ6InNpbXBsZSIsaW5kZW50X2JlZm9yZToicCxoMSxoMixoMyxoNCxoNSxoNixibG9ja3F1b3RlLGRpdix0aXRsZSxzdHlsZSxwcmUsc2NyaXB0LHRkLHRoLHVsLG9sLGxpLGRsLGR0LGRkLGFyZWEsdGFibGUsdGhlYWQsdGZvb3QsdGJvZHksdHIsc2VjdGlvbixhcnRpY2xlLGhncm91cCxhc2lkZSxmaWd1cmUsZmlnY2FwdGlvbixvcHRpb24sb3B0Z3JvdXAsZGF0YWxpc3QiLGluZGVudF9hZnRlcjoicCxoMSxoMixoMyxoNCxoNSxoNixibG9ja3F1b3RlLGRpdix0aXRsZSxzdHlsZSxwcmUsc2NyaXB0LHRkLHRoLHVsLG9sLGxpLGRsLGR0LGRkLGFyZWEsdGFibGUsdGhlYWQsdGZvb3QsdGJvZHksdHIsc2VjdGlvbixhcnRpY2xlLGhncm91cCxhc2lkZSxmaWd1cmUsZmlnY2FwdGlvbixvcHRpb24sb3B0Z3JvdXAsZGF0YWxpc3QiLHZhbGlkYXRlOiEwLGVudGl0eV9lbmNvZGluZzoibmFtZWQiLHVybF9jb252ZXJ0ZXI6by5jb252ZXJ0VVJMLHVybF9jb252ZXJ0ZXJfc2NvcGU6byxpZTdfY29tcGF0OiEwfSxsLHQpLGwmJmwuZXh0ZXJuYWxfcGx1Z2lucyYmdC5leHRlcm5hbF9wbHVnaW5zJiYodC5leHRlcm5hbF9wbHVnaW5zPUwoe30sbC5leHRlcm5hbF9wbHVnaW5zLHQuZXh0ZXJuYWxfcGx1Z2lucykpLG8uc2V0dGluZ3M9dCxyLmxhbmd1YWdlPXQubGFuZ3VhZ2V8fCJlbiIsci5sYW5ndWFnZUxvYWQ9dC5sYW5ndWFnZV9sb2FkLHIuYmFzZVVSTD1pLmJhc2VVUkwsby5pZD10LmlkPWUsby5zZXREaXJ0eSghMSksby5wbHVnaW5zPXt9LG8uZG9jdW1lbnRCYXNlVVJJPW5ldyBwKHQuZG9jdW1lbnRfYmFzZV91cmx8fGEse2Jhc2VfdXJpOnN9KSxvLmJhc2VVUkk9cyxvLmNvbnRlbnRDU1M9W10sby5jb250ZW50U3R5bGVzPVtdLG8uc2hvcnRjdXRzPW5ldyBrKG8pLG8ubG9hZGVkQ1NTPXt9LG8uZWRpdG9yQ29tbWFuZHM9bmV3IGgobyksdC50YXJnZXQmJihvLnRhcmdldEVsbT10LnRhcmdldCksby5zdWZmaXg9aS5zdWZmaXgsby5lZGl0b3JNYW5hZ2VyPWksby5pbmxpbmU9dC5pbmxpbmUsdC5jYWNoZV9zdWZmaXgmJih3LmNhY2hlU3VmZml4PXQuY2FjaGVfc3VmZml4LnJlcGxhY2UoL15bXD9cJl0rLywiIikpLHQub3ZlcnJpZGVfdmlld3BvcnQ9PT0hMSYmKHcub3ZlcnJpZGVWaWV3UG9ydD0hMSksaS5maXJlKCJTZXR1cEVkaXRvciIsbyksby5leGVjQ2FsbGJhY2soInNldHVwIixvKSxvLiQ9bi5vdmVycmlkZURlZmF1bHRzKGZ1bmN0aW9uKCl7cmV0dXJue2NvbnRleHQ6by5pbmxpbmU/by5nZXRCb2R5KCk6by5nZXREb2MoKSxlbGVtZW50Om8uZ2V0Qm9keSgpfX0pfXZhciBCPWUuRE9NLEQ9ci5UaGVtZU1hbmFnZXIsTT1yLlBsdWdpbk1hbmFnZXIsTD1OLmV4dGVuZCxQPU4uZWFjaCxIPU4uZXhwbG9kZSxPPU4uaW5BcnJheSxJPU4udHJpbSxGPU4ucmVzb2x2ZSx6PWcuRXZlbnQsVz13LmdlY2tvLFY9dy5pZTtyZXR1cm4gQS5wcm90b3R5cGU9e3JlbmRlcjpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtCLnVuYmluZCh3aW5kb3csInJlYWR5IixlKSxuLnJlbmRlcigpfWZ1bmN0aW9uIHQoKXt2YXIgZT1tLlNjcmlwdExvYWRlcjtpZihyLmxhbmd1YWdlJiYiZW4iIT1yLmxhbmd1YWdlJiYhci5sYW5ndWFnZV91cmwmJihyLmxhbmd1YWdlX3VybD1uLmVkaXRvck1hbmFnZXIuYmFzZVVSTCsiL2xhbmdzLyIrci5sYW5ndWFnZSsiLmpzIiksci5sYW5ndWFnZV91cmwmJmUuYWRkKHIubGFuZ3VhZ2VfdXJsKSxyLnRoZW1lJiYiZnVuY3Rpb24iIT10eXBlb2Ygci50aGVtZSYmIi0iIT1yLnRoZW1lLmNoYXJBdCgwKSYmIUQudXJsc1tyLnRoZW1lXSl7dmFyIHQ9ci50aGVtZV91cmw7dD10P24uZG9jdW1lbnRCYXNlVVJJLnRvQWJzb2x1dGUodCk6InRoZW1lcy8iK3IudGhlbWUrIi90aGVtZSIrbysiLmpzIixELmxvYWQoci50aGVtZSx0KX1OLmlzQXJyYXkoci5wbHVnaW5zKSYmKHIucGx1Z2lucz1yLnBsdWdpbnMuam9pbigiICIpKSxQKHIuZXh0ZXJuYWxfcGx1Z2lucyxmdW5jdGlvbihlLHQpe00ubG9hZCh0LGUpLHIucGx1Z2lucys9IiAiK3R9KSxQKHIucGx1Z2lucy5zcGxpdCgvWyAsXS8pLGZ1bmN0aW9uKGUpe2lmKGU9SShlKSxlJiYhTS51cmxzW2VdKWlmKCItIj09ZS5jaGFyQXQoMCkpe2U9ZS5zdWJzdHIoMSxlLmxlbmd0aCk7dmFyIHQ9TS5kZXBlbmRlbmNpZXMoZSk7UCh0LGZ1bmN0aW9uKGUpe3ZhciB0PXtwcmVmaXg6InBsdWdpbnMvIixyZXNvdXJjZTplLHN1ZmZpeDoiL3BsdWdpbiIrbysiLmpzIn07ZT1NLmNyZWF0ZVVybCh0LGUpLE0ubG9hZChlLnJlc291cmNlLGUpfSl9ZWxzZSBNLmxvYWQoZSx7cHJlZml4OiJwbHVnaW5zLyIscmVzb3VyY2U6ZSxzdWZmaXg6Ii9wbHVnaW4iK28rIi5qcyJ9KX0pLGUubG9hZFF1ZXVlKGZ1bmN0aW9uKCl7bi5yZW1vdmVkfHxuLmluaXQoKX0pfXZhciBuPXRoaXMscj1uLnNldHRpbmdzLGk9bi5pZCxvPW4uc3VmZml4O2lmKCF6LmRvbUxvYWRlZClyZXR1cm4gdm9pZCBCLmJpbmQod2luZG93LCJyZWFkeSIsZSk7aWYobi5nZXRFbGVtZW50KCkmJncuY29udGVudEVkaXRhYmxlKXtyLmlubGluZT9uLmlubGluZT0hMDoobi5vcmdWaXNpYmlsaXR5PW4uZ2V0RWxlbWVudCgpLnN0eWxlLnZpc2liaWxpdHksbi5nZXRFbGVtZW50KCkuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIik7dmFyIGE9bi5nZXRFbGVtZW50KCkuZm9ybXx8Qi5nZXRQYXJlbnQoaSwiZm9ybSIpO2EmJihuLmZvcm1FbGVtZW50PWEsci5oaWRkZW5faW5wdXQmJiEvVEVYVEFSRUF8SU5QVVQvaS50ZXN0KG4uZ2V0RWxlbWVudCgpLm5vZGVOYW1lKSYmKEIuaW5zZXJ0QWZ0ZXIoQi5jcmVhdGUoImlucHV0Iix7dHlwZToiaGlkZGVuIixuYW1lOml9KSxpKSxuLmhhc0hpZGRlbklucHV0PSEwKSxuLmZvcm1FdmVudERlbGVnYXRlPWZ1bmN0aW9uKGUpe24uZmlyZShlLnR5cGUsZSl9LEIuYmluZChhLCJzdWJtaXQgcmVzZXQiLG4uZm9ybUV2ZW50RGVsZWdhdGUpLG4ub24oInJlc2V0IixmdW5jdGlvbigpe24uc2V0Q29udGVudChuLnN0YXJ0Q29udGVudCx7Zm9ybWF0OiJyYXcifSl9KSwhci5zdWJtaXRfcGF0Y2h8fGEuc3VibWl0Lm5vZGVUeXBlfHxhLnN1Ym1pdC5sZW5ndGh8fGEuX21jZU9sZFN1Ym1pdHx8KGEuX21jZU9sZFN1Ym1pdD1hLnN1Ym1pdCxhLnN1Ym1pdD1mdW5jdGlvbigpe3JldHVybiBuLmVkaXRvck1hbmFnZXIudHJpZ2dlclNhdmUoKSxuLnNldERpcnR5KCExKSxhLl9tY2VPbGRTdWJtaXQoYSl9KSksbi53aW5kb3dNYW5hZ2VyPW5ldyB2KG4pLG4ubm90aWZpY2F0aW9uTWFuYWdlcj1uZXcgeShuKSwieG1sIj09ci5lbmNvZGluZyYmbi5vbigiR2V0Q29udGVudCIsZnVuY3Rpb24oZSl7ZS5zYXZlJiYoZS5jb250ZW50PUIuZW5jb2RlKGUuY29udGVudCkpfSksci5hZGRfZm9ybV9zdWJtaXRfdHJpZ2dlciYmbi5vbigic3VibWl0IixmdW5jdGlvbigpe24uaW5pdGlhbGl6ZWQmJm4uc2F2ZSgpfSksci5hZGRfdW5sb2FkX3RyaWdnZXImJihuLl9iZWZvcmVVbmxvYWQ9ZnVuY3Rpb24oKXshbi5pbml0aWFsaXplZHx8bi5kZXN0cm95ZWR8fG4uaXNIaWRkZW4oKXx8bi5zYXZlKHtmb3JtYXQ6InJhdyIsbm9fZXZlbnRzOiEwLHNldF9kaXJ0eTohMX0pfSxuLmVkaXRvck1hbmFnZXIub24oIkJlZm9yZVVubG9hZCIsbi5fYmVmb3JlVW5sb2FkKSksdCgpfX0saW5pdDpmdW5jdGlvbigpe2Z1bmN0aW9uIGUobil7dmFyIHI9TS5nZXQobiksaSxvO2lmKGk9TS51cmxzW25dfHx0LmRvY3VtZW50QmFzZVVybC5yZXBsYWNlKC9cLyQvLCIiKSxuPUkobiksciYmLTE9PT1PKG0sbikpe2lmKFAoTS5kZXBlbmRlbmNpZXMobiksZnVuY3Rpb24odCl7ZSh0KX0pLHQucGx1Z2luc1tuXSlyZXR1cm47bz1uZXcgcih0LGksdC4kKSx0LnBsdWdpbnNbbl09byxvLmluaXQmJihvLmluaXQodCxpKSxtLnB1c2gobikpfX12YXIgdD10aGlzLG49dC5zZXR0aW5ncyxyPXQuZ2V0RWxlbWVudCgpLGksbyxhLHMsbCxjLHUsZCxmLGgscCxtPVtdO2lmKHRoaXMuZWRpdG9yTWFuYWdlci5pMThuLnNldENvZGUobi5sYW5ndWFnZSksdC5ydGw9bi5ydGxfdWl8fHRoaXMuZWRpdG9yTWFuYWdlci5pMThuLnJ0bCx0LmVkaXRvck1hbmFnZXIuYWRkKHQpLG4uYXJpYV9sYWJlbD1uLmFyaWFfbGFiZWx8fEIuZ2V0QXR0cmliKHIsImFyaWEtbGFiZWwiLHQuZ2V0TGFuZygiYXJpYS5yaWNoX3RleHRfYXJlYSIpKSxuLnRoZW1lJiYoImZ1bmN0aW9uIiE9dHlwZW9mIG4udGhlbWU/KG4udGhlbWU9bi50aGVtZS5yZXBsYWNlKC8tLywiIiksYz1ELmdldChuLnRoZW1lKSx0LnRoZW1lPW5ldyBjKHQsRC51cmxzW24udGhlbWVdKSx0LnRoZW1lLmluaXQmJnQudGhlbWUuaW5pdCh0LEQudXJsc1tuLnRoZW1lXXx8dC5kb2N1bWVudEJhc2VVcmwucmVwbGFjZSgvXC8kLywiIiksdC4kKSk6dC50aGVtZT1uLnRoZW1lKSxQKG4ucGx1Z2lucy5yZXBsYWNlKC9cLS9nLCIiKS5zcGxpdCgvWyAsXS8pLGUpLG4ucmVuZGVyX3VpJiZ0LnRoZW1lJiYodC5vcmdEaXNwbGF5PXIuc3R5bGUuZGlzcGxheSwiZnVuY3Rpb24iIT10eXBlb2Ygbi50aGVtZT8oaT1uLndpZHRofHxyLnN0eWxlLndpZHRofHxyLm9mZnNldFdpZHRoLG89bi5oZWlnaHR8fHIuc3R5bGUuaGVpZ2h0fHxyLm9mZnNldEhlaWdodCxhPW4ubWluX2hlaWdodHx8MTAwLGg9L15bMC05XC5dKyh8cHgpJC9pLGgudGVzdCgiIitpKSYmKGk9TWF0aC5tYXgocGFyc2VJbnQoaSwxMCksMTAwKSksaC50ZXN0KCIiK28pJiYobz1NYXRoLm1heChwYXJzZUludChvLDEwKSxhKSksbD10LnRoZW1lLnJlbmRlclVJKHt0YXJnZXROb2RlOnIsd2lkdGg6aSxoZWlnaHQ6byxkZWx0YVdpZHRoOm4uZGVsdGFfd2lkdGgsZGVsdGFIZWlnaHQ6bi5kZWx0YV9oZWlnaHR9KSxuLmNvbnRlbnRfZWRpdGFibGV8fChvPShsLmlmcmFtZUhlaWdodHx8bykrKCJudW1iZXIiPT10eXBlb2Ygbz9sLmRlbHRhSGVpZ2h0fHwwOiIiKSxhPm8mJihvPWEpKSk6KGw9bi50aGVtZSh0LHIpLGwuZWRpdG9yQ29udGFpbmVyLm5vZGVUeXBlJiYobC5lZGl0b3JDb250YWluZXI9bC5lZGl0b3JDb250YWluZXIuaWQ9bC5lZGl0b3JDb250YWluZXIuaWR8fHQuaWQrIl9wYXJlbnQiKSxsLmlmcmFtZUNvbnRhaW5lci5ub2RlVHlwZSYmKGwuaWZyYW1lQ29udGFpbmVyPWwuaWZyYW1lQ29udGFpbmVyLmlkPWwuaWZyYW1lQ29udGFpbmVyLmlkfHx0LmlkKyJfaWZyYW1lY29udGFpbmVyIiksbz1sLmlmcmFtZUhlaWdodHx8ci5vZmZzZXRIZWlnaHQpLHQuZWRpdG9yQ29udGFpbmVyPWwuZWRpdG9yQ29udGFpbmVyKSxuLmNvbnRlbnRfY3NzJiZQKEgobi5jb250ZW50X2NzcyksZnVuY3Rpb24oZSl7dC5jb250ZW50Q1NTLnB1c2godC5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZShlKSl9KSxuLmNvbnRlbnRfc3R5bGUmJnQuY29udGVudFN0eWxlcy5wdXNoKG4uY29udGVudF9zdHlsZSksbi5jb250ZW50X2VkaXRhYmxlKXJldHVybiByPXM9bD1udWxsLHQuaW5pdENvbnRlbnRCb2R5KCk7aWYodC5pZnJhbWVIVE1MPW4uZG9jdHlwZSsiPGh0bWw+PGhlYWQ+IixuLmRvY3VtZW50X2Jhc2VfdXJsIT10LmRvY3VtZW50QmFzZVVybCYmKHQuaWZyYW1lSFRNTCs9JzxiYXNlIGhyZWY9IicrdC5kb2N1bWVudEJhc2VVUkkuZ2V0VVJJKCkrJyIgLz4nKSwhdy5jYXJldEFmdGVyJiZuLmllN19jb21wYXQmJih0LmlmcmFtZUhUTUwrPSc8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPTciIC8+JyksdC5pZnJhbWVIVE1MKz0nPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+JywhLyMkLy50ZXN0KGRvY3VtZW50LmxvY2F0aW9uLmhyZWYpKWZvcihwPTA7cDx0LmNvbnRlbnRDU1MubGVuZ3RoO3ArKyl7dmFyIGc9dC5jb250ZW50Q1NTW3BdO3QuaWZyYW1lSFRNTCs9JzxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicrTi5fYWRkQ2FjaGVTdWZmaXgoZykrJyIgLz4nLHQubG9hZGVkQ1NTW2ddPSEwfWQ9bi5ib2R5X2lkfHwidGlueW1jZSIsLTEhPWQuaW5kZXhPZigiPSIpJiYoZD10LmdldFBhcmFtKCJib2R5X2lkIiwiIiwiaGFzaCIpLGQ9ZFt0LmlkXXx8ZCksZj1uLmJvZHlfY2xhc3N8fCIiLC0xIT1mLmluZGV4T2YoIj0iKSYmKGY9dC5nZXRQYXJhbSgiYm9keV9jbGFzcyIsIiIsImhhc2giKSxmPWZbdC5pZF18fCIiKSxuLmNvbnRlbnRfc2VjdXJpdHlfcG9saWN5JiYodC5pZnJhbWVIVE1MKz0nPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9Iicrbi5jb250ZW50X3NlY3VyaXR5X3BvbGljeSsnIiAvPicpLHQuaWZyYW1lSFRNTCs9JzwvaGVhZD48Ym9keSBpZD0iJytkKyciIGNsYXNzPSJtY2UtY29udGVudC1ib2R5ICcrZisnIiBkYXRhLWlkPSInK3QuaWQrJyI+PGJyPjwvYm9keT48L2h0bWw+Jzt2YXIgdj0namF2YXNjcmlwdDooZnVuY3Rpb24oKXtkb2N1bWVudC5vcGVuKCk7ZG9jdW1lbnQuZG9tYWluPSInK2RvY3VtZW50LmRvbWFpbisnIjt2YXIgZWQgPSB3aW5kb3cucGFyZW50LnRpbnltY2UuZ2V0KCInK3QuaWQrJyIpO2RvY3VtZW50LndyaXRlKGVkLmlmcmFtZUhUTUwpO2RvY3VtZW50LmNsb3NlKCk7ZWQuaW5pdENvbnRlbnRCb2R5KHRydWUpO30pKCknO2RvY3VtZW50LmRvbWFpbiE9bG9jYXRpb24uaG9zdG5hbWUmJncuaWUmJncuaWU8MTImJih1PXYpO3ZhciB5PUIuY3JlYXRlKCJpZnJhbWUiLHtpZDp0LmlkKyJfaWZyIixmcmFtZUJvcmRlcjoiMCIsYWxsb3dUcmFuc3BhcmVuY3k6InRydWUiLHRpdGxlOnQuZWRpdG9yTWFuYWdlci50cmFuc2xhdGUoIlJpY2ggVGV4dCBBcmVhLiBQcmVzcyBBTFQtRjkgZm9yIG1lbnUuIFByZXNzIEFMVC1GMTAgZm9yIHRvb2xiYXIuIFByZXNzIEFMVC0wIGZvciBoZWxwIiksc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6byxkaXNwbGF5OiJibG9jayJ9fSk7aWYoeS5vbmxvYWQ9ZnVuY3Rpb24oKXt5Lm9ubG9hZD1udWxsLHQuZmlyZSgibG9hZCIpfSxCLnNldEF0dHJpYih5LCJzcmMiLHV8fCdqYXZhc2NyaXB0OiIiJyksdC5jb250ZW50QXJlYUNvbnRhaW5lcj1sLmlmcmFtZUNvbnRhaW5lcix0LmlmcmFtZUVsZW1lbnQ9eSxzPUIuYWRkKGwuaWZyYW1lQ29udGFpbmVyLHkpLFYpdHJ5e3QuZ2V0RG9jKCl9Y2F0Y2goYil7cy5zcmM9dT12fWwuZWRpdG9yQ29udGFpbmVyJiYoQi5nZXQobC5lZGl0b3JDb250YWluZXIpLnN0eWxlLmRpc3BsYXk9dC5vcmdEaXNwbGF5LHQuaGlkZGVuPUIuaXNIaWRkZW4obC5lZGl0b3JDb250YWluZXIpKSx0LmdldEVsZW1lbnQoKS5zdHlsZS5kaXNwbGF5PSJub25lIixCLnNldEF0dHJpYih0LmlkLCJhcmlhLWhpZGRlbiIsITApLHV8fHQuaW5pdENvbnRlbnRCb2R5KCkscj1zPWw9bnVsbH0saW5pdENvbnRlbnRCb2R5OmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMscj1uLnNldHRpbmdzLHM9bi5nZXRFbGVtZW50KCksaD1uLmdldERvYygpLHAsbTtyLmlubGluZXx8KG4uZ2V0RWxlbWVudCgpLnN0eWxlLnZpc2liaWxpdHk9bi5vcmdWaXNpYmlsaXR5KSx0fHxyLmNvbnRlbnRfZWRpdGFibGV8fChoLm9wZW4oKSxoLndyaXRlKG4uaWZyYW1lSFRNTCksaC5jbG9zZSgpKSxyLmNvbnRlbnRfZWRpdGFibGUmJihuLm9uKCJyZW1vdmUiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXRCb2R5KCk7Qi5yZW1vdmVDbGFzcyhlLCJtY2UtY29udGVudC1ib2R5IiksQi5yZW1vdmVDbGFzcyhlLCJtY2UtZWRpdC1mb2N1cyIpLEIuc2V0QXR0cmliKGUsImNvbnRlbnRFZGl0YWJsZSIsbnVsbCl9KSxCLmFkZENsYXNzKHMsIm1jZS1jb250ZW50LWJvZHkiKSxuLmNvbnRlbnREb2N1bWVudD1oPXIuY29udGVudF9kb2N1bWVudHx8ZG9jdW1lbnQsbi5jb250ZW50V2luZG93PXIuY29udGVudF93aW5kb3d8fHdpbmRvdyxuLmJvZHlFbGVtZW50PXMsci5jb250ZW50X2RvY3VtZW50PXIuY29udGVudF93aW5kb3c9bnVsbCxyLnJvb3RfbmFtZT1zLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpLHA9bi5nZXRCb2R5KCkscC5kaXNhYmxlZD0hMCxuLnJlYWRvbmx5PXIucmVhZG9ubHksbi5yZWFkb25seXx8KG4uaW5saW5lJiYic3RhdGljIj09Qi5nZXRTdHlsZShwLCJwb3NpdGlvbiIsITApJiYocC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxwLmNvbnRlbnRFZGl0YWJsZT1uLmdldFBhcmFtKCJjb250ZW50X2VkaXRhYmxlX3N0YXRlIiwhMCkpLHAuZGlzYWJsZWQ9ITEsbi5lZGl0b3JVcGxvYWQ9bmV3IFQobiksbi5zY2hlbWE9bmV3IGIociksbi5kb209bmV3IGUoaCx7a2VlcF92YWx1ZXM6ITAsdXJsX2NvbnZlcnRlcjpuLmNvbnZlcnRVUkwsdXJsX2NvbnZlcnRlcl9zY29wZTpuLGhleF9jb2xvcnM6ci5mb3JjZV9oZXhfc3R5bGVfY29sb3JzLGNsYXNzX2ZpbHRlcjpyLmNsYXNzX2ZpbHRlcix1cGRhdGVfc3R5bGVzOiEwLHJvb3RfZWxlbWVudDpuLmlubGluZT9uLmdldEJvZHkoKTpudWxsLGNvbGxlY3Q6ci5jb250ZW50X2VkaXRhYmxlLHNjaGVtYTpuLnNjaGVtYSxvblNldEF0dHJpYjpmdW5jdGlvbihlKXtuLmZpcmUoIlNldEF0dHJpYiIsZSl9fSksbi5wYXJzZXI9bmV3IEMocixuLnNjaGVtYSksbi5wYXJzZXIuYWRkQXR0cmlidXRlRmlsdGVyKCJzcmMsaHJlZixzdHlsZSx0YWJpbmRleCIsZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9ZS5sZW5ndGgsaSxvPW4uZG9tLGEscztyLS07KWlmKGk9ZVtyXSxhPWkuYXR0cih0KSxzPSJkYXRhLW1jZS0iK3QsIWkuYXR0cmlidXRlcy5tYXBbc10pe2lmKDA9PT1hLmluZGV4T2YoImRhdGE6Iil8fDA9PT1hLmluZGV4T2YoImJsb2I6IikpY29udGludWU7InN0eWxlIj09PXQ/KGE9by5zZXJpYWxpemVTdHlsZShvLnBhcnNlU3R5bGUoYSksaS5uYW1lKSxhLmxlbmd0aHx8KGE9bnVsbCksaS5hdHRyKHMsYSksaS5hdHRyKHQsYSkpOiJ0YWJpbmRleCI9PT10PyhpLmF0dHIocyxhKSxpLmF0dHIodCxudWxsKSk6aS5hdHRyKHMsbi5jb252ZXJ0VVJMKGEsdCxpLm5hbWUpKX19KSxuLnBhcnNlci5hZGROb2RlRmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmxlbmd0aCxuLHI7dC0tOyluPWVbdF0scj1uLmF0dHIoInR5cGUiKXx8Im5vL3R5cGUiLDAhPT1yLmluZGV4T2YoIm1jZS0iKSYmbi5hdHRyKCJ0eXBlIiwibWNlLSIrcil9KSxuLnBhcnNlci5hZGROb2RlRmlsdGVyKCIjY2RhdGEiLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmxlbmd0aCxuO3QtLTspbj1lW3RdLG4udHlwZT04LG4ubmFtZT0iI2NvbW1lbnQiLG4udmFsdWU9IltDREFUQVsiK24udmFsdWUrIl1dIn0pLG4ucGFyc2VyLmFkZE5vZGVGaWx0ZXIoInAsaDEsaDIsaDMsaDQsaDUsaDYsZGl2IixmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS5sZW5ndGgscixpPW4uc2NoZW1hLmdldE5vbkVtcHR5RWxlbWVudHMoKTt0LS07KXI9ZVt0XSxyLmlzRW1wdHkoaSkmJihyLmFwcGVuZChuZXcgbygiYnIiLDEpKS5zaG9ydEVuZGVkPSEwKX0pLG4uc2VyaWFsaXplcj1uZXcgYShyLG4pLG4uc2VsZWN0aW9uPW5ldyBsKG4uZG9tLG4uZ2V0V2luKCksbi5zZXJpYWxpemVyLG4pLG4uZm9ybWF0dGVyPW5ldyBjKG4pLG4udW5kb01hbmFnZXI9bmV3IHUobiksbi5mb3JjZUJsb2Nrcz1uZXcgZihuKSxuLmVudGVyS2V5PW5ldyBkKG4pLG4uX25vZGVDaGFuZ2VEaXNwYXRjaGVyPW5ldyBpKG4pLG4uX3NlbGVjdGlvbk92ZXJyaWRlcz1uZXcgUihuKSxuLmZpcmUoIlByZUluaXQiKSxyLmJyb3dzZXJfc3BlbGxjaGVja3x8ci5nZWNrb19zcGVsbGNoZWNrfHwoaC5ib2R5LnNwZWxsY2hlY2s9ITEsQi5zZXRBdHRyaWIocCwic3BlbGxjaGVjayIsImZhbHNlIikpLG4uZmlyZSgiUG9zdFJlbmRlciIpLG4ucXVpcmtzPW5ldyB4KG4pLHIuZGlyZWN0aW9uYWxpdHkmJihwLmRpcj1yLmRpcmVjdGlvbmFsaXR5KSxyLm5vd3JhcCYmKHAuc3R5bGUud2hpdGVTcGFjZT0ibm93cmFwIiksci5wcm90ZWN0JiZuLm9uKCJCZWZvcmVTZXRDb250ZW50IixmdW5jdGlvbihlKXtQKHIucHJvdGVjdCxmdW5jdGlvbih0KXtlLmNvbnRlbnQ9ZS5jb250ZW50LnJlcGxhY2UodCxmdW5jdGlvbihlKXtyZXR1cm4iPCEtLW1jZTpwcm90ZWN0ZWQgIitlc2NhcGUoZSkrIi0tPiJ9KX0pfSksbi5vbigiU2V0Q29udGVudCIsZnVuY3Rpb24oKXtuLmFkZFZpc3VhbChuLmdldEJvZHkoKSl9KSxyLnBhZGRfZW1wdHlfZWRpdG9yJiZuLm9uKCJQb3N0UHJvY2VzcyIsZnVuY3Rpb24oZSl7ZS5jb250ZW50PWUuY29udGVudC5yZXBsYWNlKC9eKDxwW14+XSo+KCZuYnNwO3wmIzE2MDt8XHN8XHUwMGEwfCk8XC9wPltcclxuXSp8PGJyIFwvPltcclxuXSopJC8sIiIpfSksbi5sb2FkKHtpbml0aWFsOiEwLGZvcm1hdDoiaHRtbCJ9KSxuLnN0YXJ0Q29udGVudD1uLmdldENvbnRlbnQoe2Zvcm1hdDoicmF3In0pLG4uaW5pdGlhbGl6ZWQ9ITAsbi5iaW5kUGVuZGluZ0V2ZW50RGVsZWdhdGVzKCksbi5maXJlKCJpbml0Iiksbi5mb2N1cyghMCksbi5ub2RlQ2hhbmdlZCh7aW5pdGlhbDohMH0pLG4uZXhlY0NhbGxiYWNrKCJpbml0X2luc3RhbmNlX2NhbGxiYWNrIixuKSxuLm9uKCJjb21wb3NpdGlvbnN0YXJ0IGNvbXBvc2l0aW9uZW5kIixmdW5jdGlvbihlKXtuLmNvbXBvc2luZz0iY29tcG9zaXRpb25zdGFydCI9PT1lLnR5cGV9KSxuLmNvbnRlbnRTdHlsZXMubGVuZ3RoPjAmJihtPSIiLFAobi5jb250ZW50U3R5bGVzLGZ1bmN0aW9uKGUpe20rPWUrIlxyXG4ifSksbi5kb20uYWRkU3R5bGUobSkpLFAobi5jb250ZW50Q1NTLGZ1bmN0aW9uKGUpe24ubG9hZGVkQ1NTW2VdfHwobi5kb20ubG9hZENTUyhlKSxuLmxvYWRlZENTU1tlXT0hMCl9KSxyLmF1dG9fZm9jdXMmJkUuc2V0RWRpdG9yVGltZW91dChuLGZ1bmN0aW9uKCl7dmFyIGU7ZT1yLmF1dG9fZm9jdXM9PT0hMD9uOm4uZWRpdG9yTWFuYWdlci5nZXQoci5hdXRvX2ZvY3VzKSxlLmRlc3Ryb3llZHx8ZS5mb2N1cygpfSwxMDApLHM9aD1wPW51bGx9LGZvY3VzOmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIG4uZG9tLmdldFBhcmVudChlLGZ1bmN0aW9uKGUpe3JldHVybiJ0cnVlIj09PW4uZG9tLmdldENvbnRlbnRFZGl0YWJsZShlKX0pfXZhciBuPXRoaXMscj1uLnNlbGVjdGlvbixpPW4uc2V0dGluZ3MuY29udGVudF9lZGl0YWJsZSxvLGEscz1uLmdldERvYygpLGw9bi5nZXRCb2R5KCksYztpZighZSl7aWYobz1yLmdldFJuZygpLG8uaXRlbSYmKGE9by5pdGVtKDApKSxuLnF1aXJrcy5yZWZyZXNoQ29udGVudEVkaXRhYmxlKCksYz10KHIuZ2V0Tm9kZSgpKSxuLiQuY29udGFpbnMobCxjKSlyZXR1cm4gYy5mb2N1cygpLHIubm9ybWFsaXplKCksdm9pZCBuLmVkaXRvck1hbmFnZXIuc2V0QWN0aXZlKG4pO2lmKGl8fCh3Lm9wZXJhfHxuLmdldEJvZHkoKS5mb2N1cygpLG4uZ2V0V2luKCkuZm9jdXMoKSksV3x8aSl7aWYobC5zZXRBY3RpdmUpdHJ5e2wuc2V0QWN0aXZlKCl9Y2F0Y2godSl7bC5mb2N1cygpfWVsc2UgbC5mb2N1cygpO2kmJnIubm9ybWFsaXplKCl9YSYmYS5vd25lckRvY3VtZW50PT1zJiYobz1zLmJvZHkuY3JlYXRlQ29udHJvbFJhbmdlKCksby5hZGRFbGVtZW50KGEpLG8uc2VsZWN0KCkpfW4uZWRpdG9yTWFuYWdlci5zZXRBY3RpdmUobil9LGV4ZWNDYWxsYmFjazpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dC5zZXR0aW5nc1tlXSxyO2lmKG4pcmV0dXJuIHQuY2FsbGJhY2tMb29rdXAmJihyPXQuY2FsbGJhY2tMb29rdXBbZV0pJiYobj1yLmZ1bmMscj1yLnNjb3BlKSwic3RyaW5nIj09dHlwZW9mIG4mJihyPW4ucmVwbGFjZSgvXC5cdyskLywiIikscj1yP0Yocik6MCxuPUYobiksdC5jYWxsYmFja0xvb2t1cD10LmNhbGxiYWNrTG9va3VwfHx7fSx0LmNhbGxiYWNrTG9va3VwW2VdPXtmdW5jOm4sc2NvcGU6cn0pLG4uYXBwbHkocnx8dCxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpfSx0cmFuc2xhdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5zZXR0aW5ncy5sYW5ndWFnZXx8ImVuIixuPXRoaXMuZWRpdG9yTWFuYWdlci5pMThuO3JldHVybiBlP24uZGF0YVt0KyIuIitlXXx8ZS5yZXBsYWNlKC9ce1wjKFteXH1dKylcfS9nLGZ1bmN0aW9uKGUscil7cmV0dXJuIG4uZGF0YVt0KyIuIityXXx8InsjIityKyJ9In0pOiIifSxnZXRMYW5nOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMuZWRpdG9yTWFuYWdlci5pMThuLmRhdGFbKHRoaXMuc2V0dGluZ3MubGFuZ3VhZ2V8fCJlbiIpKyIuIitlXXx8KG4hPT10P246InsjIitlKyJ9Iil9LGdldFBhcmFtOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lIGluIHRoaXMuc2V0dGluZ3M/dGhpcy5zZXR0aW5nc1tlXTp0LGk7cmV0dXJuImhhc2giPT09bj8oaT17fSwic3RyaW5nIj09dHlwZW9mIHI/UChyLmluZGV4T2YoIj0iKT4wP3Iuc3BsaXQoL1s7LF0oPyFbXj07LF0qKD86WzssXXwkKSkvKTpyLnNwbGl0KCIsIiksZnVuY3Rpb24oZSl7ZT1lLnNwbGl0KCI9IiksZS5sZW5ndGg+MT9pW0koZVswXSldPUkoZVsxXSk6aVtJKGVbMF0pXT1JKGUpfSk6aT1yLGkpOnJ9LG5vZGVDaGFuZ2VkOmZ1bmN0aW9uKGUpe3RoaXMuX25vZGVDaGFuZ2VEaXNwYXRjaGVyLm5vZGVDaGFuZ2VkKGUpfSxhZGRCdXR0b246ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO3QuY21kJiYodC5vbmNsaWNrPWZ1bmN0aW9uKCl7bi5leGVjQ29tbWFuZCh0LmNtZCl9KSx0LnRleHR8fHQuaWNvbnx8KHQuaWNvbj1lKSxuLmJ1dHRvbnM9bi5idXR0b25zfHx7fSx0LnRvb2x0aXA9dC50b29sdGlwfHx0LnRpdGxlLG4uYnV0dG9uc1tlXT10fSxhZGRNZW51SXRlbTpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7dC5jbWQmJih0Lm9uY2xpY2s9ZnVuY3Rpb24oKXtuLmV4ZWNDb21tYW5kKHQuY21kKX0pLG4ubWVudUl0ZW1zPW4ubWVudUl0ZW1zfHx7fSxuLm1lbnVJdGVtc1tlXT10fSxhZGRDb250ZXh0VG9vbGJhcjpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscjtuLmNvbnRleHRUb29sYmFycz1uLmNvbnRleHRUb29sYmFyc3x8W10sInN0cmluZyI9PXR5cGVvZiBlJiYocj1lLGU9ZnVuY3Rpb24oZSl7cmV0dXJuIG4uZG9tLmlzKGUscil9KSxuLmNvbnRleHRUb29sYmFycy5wdXNoKHtwcmVkaWNhdGU6ZSxpdGVtczp0fSl9LGFkZENvbW1hbmQ6ZnVuY3Rpb24oZSx0LG4pe3RoaXMuZWRpdG9yQ29tbWFuZHMuYWRkQ29tbWFuZChlLHQsbil9LGFkZFF1ZXJ5U3RhdGVIYW5kbGVyOmZ1bmN0aW9uKGUsdCxuKXt0aGlzLmVkaXRvckNvbW1hbmRzLmFkZFF1ZXJ5U3RhdGVIYW5kbGVyKGUsdCxuKX0sYWRkUXVlcnlWYWx1ZUhhbmRsZXI6ZnVuY3Rpb24oZSx0LG4pe3RoaXMuZWRpdG9yQ29tbWFuZHMuYWRkUXVlcnlWYWx1ZUhhbmRsZXIoZSx0LG4pfSxhZGRTaG9ydGN1dDpmdW5jdGlvbihlLHQsbixyKXt0aGlzLnNob3J0Y3V0cy5hZGQoZSx0LG4scil9LGV4ZWNDb21tYW5kOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLmVkaXRvckNvbW1hbmRzLmV4ZWNDb21tYW5kKGUsdCxuLHIpfSxxdWVyeUNvbW1hbmRTdGF0ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lZGl0b3JDb21tYW5kcy5xdWVyeUNvbW1hbmRTdGF0ZShlKX0scXVlcnlDb21tYW5kVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWRpdG9yQ29tbWFuZHMucXVlcnlDb21tYW5kVmFsdWUoZSl9LHF1ZXJ5Q29tbWFuZFN1cHBvcnRlZDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lZGl0b3JDb21tYW5kcy5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQoZSl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2UuaGlkZGVuJiYoZS5oaWRkZW49ITEsZS5pbmxpbmU/ZS5nZXRCb2R5KCkuY29udGVudEVkaXRhYmxlPSEwOihCLnNob3coZS5nZXRDb250YWluZXIoKSksQi5oaWRlKGUuaWQpKSxlLmxvYWQoKSxlLmZpcmUoInNob3ciKSl9LGhpZGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5nZXREb2MoKTtlLmhpZGRlbnx8KFYmJnQmJiFlLmlubGluZSYmdC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiksZS5zYXZlKCksZS5pbmxpbmU/KGUuZ2V0Qm9keSgpLmNvbnRlbnRFZGl0YWJsZT0hMSxlPT1lLmVkaXRvck1hbmFnZXIuZm9jdXNlZEVkaXRvciYmKGUuZWRpdG9yTWFuYWdlci5mb2N1c2VkRWRpdG9yPW51bGwpKTooQi5oaWRlKGUuZ2V0Q29udGFpbmVyKCkpLEIuc2V0U3R5bGUoZS5pZCwiZGlzcGxheSIsZS5vcmdEaXNwbGF5KSksZS5oaWRkZW49ITAsZS5maXJlKCJoaWRlIikpfSxpc0hpZGRlbjpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5oaWRkZW59LHNldFByb2dyZXNzU3RhdGU6ZnVuY3Rpb24oZSx0KXt0aGlzLmZpcmUoIlByb2dyZXNzU3RhdGUiLHtzdGF0ZTplLHRpbWU6dH0pfSxsb2FkOmZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMscj1uLmdldEVsZW1lbnQoKSxpO3JldHVybiByPyhlPWV8fHt9LGUubG9hZD0hMCxpPW4uc2V0Q29udGVudChyLnZhbHVlIT09dD9yLnZhbHVlOnIuaW5uZXJIVE1MLGUpLGUuZWxlbWVudD1yLGUubm9fZXZlbnRzfHxuLmZpcmUoIkxvYWRDb250ZW50IixlKSxlLmVsZW1lbnQ9cj1udWxsLGkpOnZvaWQgMH0sc2F2ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dC5nZXRFbGVtZW50KCkscixpO2lmKG4mJnQuaW5pdGlhbGl6ZWQpcmV0dXJuIGU9ZXx8e30sZS5zYXZlPSEwLGUuZWxlbWVudD1uLHI9ZS5jb250ZW50PXQuZ2V0Q29udGVudChlKSxlLm5vX2V2ZW50c3x8dC5maXJlKCJTYXZlQ29udGVudCIsZSksInJhdyI9PWUuZm9ybWF0JiZ0LmZpcmUoIlJhd1NhdmVDb250ZW50IixlKSxyPWUuY29udGVudCwvVEVYVEFSRUF8SU5QVVQvaS50ZXN0KG4ubm9kZU5hbWUpP24udmFsdWU9cjoodC5pbmxpbmV8fChuLmlubmVySFRNTD1yKSwoaT1CLmdldFBhcmVudCh0LmlkLCJmb3JtIikpJiZQKGkuZWxlbWVudHMsZnVuY3Rpb24oZSl7cmV0dXJuIGUubmFtZT09dC5pZD8oZS52YWx1ZT1yLCExKTp2b2lkIDB9KSksZS5lbGVtZW50PW49bnVsbCxlLnNldF9kaXJ0eSE9PSExJiZ0LnNldERpcnR5KCExKSxyfSxzZXRDb250ZW50OmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcyxyPW4uZ2V0Qm9keSgpLGksbztyZXR1cm4gdD10fHx7fSx0LmZvcm1hdD10LmZvcm1hdHx8Imh0bWwiLHQuc2V0PSEwLHQuY29udGVudD1lLHQubm9fZXZlbnRzfHxuLmZpcmUoIkJlZm9yZVNldENvbnRlbnQiLHQpLGU9dC5jb250ZW50LDA9PT1lLmxlbmd0aHx8L15ccyskLy50ZXN0KGUpPyhvPVYmJjExPlY/IiI6JzxiciBkYXRhLW1jZS1ib2d1cz0iMSI+JywiVEFCTEUiPT1yLm5vZGVOYW1lP2U9Ijx0cj48dGQ+IitvKyI8L3RkPjwvdHI+IjovXihVTHxPTCkkLy50ZXN0KHIubm9kZU5hbWUpJiYoZT0iPGxpPiIrbysiPC9saT4iKSxpPW4uc2V0dGluZ3MuZm9yY2VkX3Jvb3RfYmxvY2ssaSYmbi5zY2hlbWEuaXNWYWxpZENoaWxkKHIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxpLnRvTG93ZXJDYXNlKCkpPyhlPW8sZT1uLmRvbS5jcmVhdGVIVE1MKGksbi5zZXR0aW5ncy5mb3JjZWRfcm9vdF9ibG9ja19hdHRycyxlKSk6Vnx8ZXx8KGU9JzxiciBkYXRhLW1jZS1ib2d1cz0iMSI+Jyksbi5kb20uc2V0SFRNTChyLGUpLG4uZmlyZSgiU2V0Q29udGVudCIsdCkpOigicmF3IiE9PXQuZm9ybWF0JiYoZT1uZXcgcyh7dmFsaWRhdGU6bi52YWxpZGF0ZX0sbi5zY2hlbWEpLnNlcmlhbGl6ZShuLnBhcnNlci5wYXJzZShlLHtpc1Jvb3RDb250ZW50OiEwfSkpKSx0LmNvbnRlbnQ9SShlKSxuLmRvbS5zZXRIVE1MKHIsdC5jb250ZW50KSx0Lm5vX2V2ZW50c3x8bi5maXJlKCJTZXRDb250ZW50Iix0KSksdC5jb250ZW50fSxnZXRDb250ZW50OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbixyPXQuZ2V0Qm9keSgpO3JldHVybiBlPWV8fHt9LGUuZm9ybWF0PWUuZm9ybWF0fHwiaHRtbCIsZS5nZXQ9ITAsZS5nZXRJbm5lcj0hMCxlLm5vX2V2ZW50c3x8dC5maXJlKCJCZWZvcmVHZXRDb250ZW50IixlKSxuPSJyYXciPT1lLmZvcm1hdD90LnNlcmlhbGl6ZXIuZ2V0VHJpbW1lZENvbnRlbnQoKToidGV4dCI9PWUuZm9ybWF0P3IuaW5uZXJUZXh0fHxyLnRleHRDb250ZW50OnQuc2VyaWFsaXplci5zZXJpYWxpemUocixlKSwidGV4dCIhPWUuZm9ybWF0P2UuY29udGVudD1JKG4pOmUuY29udGVudD1uLGUubm9fZXZlbnRzfHx0LmZpcmUoIkdldENvbnRlbnQiLGUpLGUuY29udGVudH0saW5zZXJ0Q29udGVudDpmdW5jdGlvbihlLHQpe3QmJihlPUwoe2NvbnRlbnQ6ZX0sdCkpLHRoaXMuZXhlY0NvbW1hbmQoIm1jZUluc2VydENvbnRlbnQiLCExLGUpfSxpc0RpcnR5OmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNOb3REaXJ0eX0sc2V0RGlydHk6ZnVuY3Rpb24oZSl7dmFyIHQ9IXRoaXMuaXNOb3REaXJ0eTt0aGlzLmlzTm90RGlydHk9IWUsZSYmZSE9dCYmdGhpcy5maXJlKCJkaXJ0eSIpfSxzZXRNb2RlOmZ1bmN0aW9uKGUpe1Muc2V0TW9kZSh0aGlzLGUpfSxnZXRDb250YWluZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLmNvbnRhaW5lcnx8KGUuY29udGFpbmVyPUIuZ2V0KGUuZWRpdG9yQ29udGFpbmVyfHxlLmlkKyJfcGFyZW50IikpLGUuY29udGFpbmVyfSxnZXRDb250ZW50QXJlYUNvbnRhaW5lcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnRBcmVhQ29udGFpbmVyfSxnZXRFbGVtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFyZ2V0RWxtfHwodGhpcy50YXJnZXRFbG09Qi5nZXQodGhpcy5pZCkpLHRoaXMudGFyZ2V0RWxtfSxnZXRXaW46ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ7cmV0dXJuIGUuY29udGVudFdpbmRvd3x8KHQ9ZS5pZnJhbWVFbGVtZW50LHQmJihlLmNvbnRlbnRXaW5kb3c9dC5jb250ZW50V2luZG93KSksZS5jb250ZW50V2luZG93fSxnZXREb2M6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ7cmV0dXJuIGUuY29udGVudERvY3VtZW50fHwodD1lLmdldFdpbigpLHQmJihlLmNvbnRlbnREb2N1bWVudD10LmRvY3VtZW50KSksZS5jb250ZW50RG9jdW1lbnR9LGdldEJvZHk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ib2R5RWxlbWVudHx8dGhpcy5nZXREb2MoKS5ib2R5fSxjb252ZXJ0VVJMOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLGk9ci5zZXR0aW5ncztyZXR1cm4gaS51cmxjb252ZXJ0ZXJfY2FsbGJhY2s/ci5leGVjQ2FsbGJhY2soInVybGNvbnZlcnRlcl9jYWxsYmFjayIsZSxuLCEwLHQpOiFpLmNvbnZlcnRfdXJsc3x8biYmIkxJTksiPT1uLm5vZGVOYW1lfHwwPT09ZS5pbmRleE9mKCJmaWxlOiIpfHwwPT09ZS5sZW5ndGg/ZTppLnJlbGF0aXZlX3VybHM/ci5kb2N1bWVudEJhc2VVUkkudG9SZWxhdGl2ZShlKTplPXIuZG9jdW1lbnRCYXNlVVJJLnRvQWJzb2x1dGUoZSxpLnJlbW92ZV9zY3JpcHRfaG9zdCl9LGFkZFZpc3VhbDpmdW5jdGlvbihlKXt2YXIgbj10aGlzLHI9bi5zZXR0aW5ncyxpPW4uZG9tLG87ZT1lfHxuLmdldEJvZHkoKSxuLmhhc1Zpc3VhbD09PXQmJihuLmhhc1Zpc3VhbD1yLnZpc3VhbCksUChpLnNlbGVjdCgidGFibGUsYSIsZSksZnVuY3Rpb24oZSl7dmFyIHQ7c3dpdGNoKGUubm9kZU5hbWUpe2Nhc2UiVEFCTEUiOnJldHVybiBvPXIudmlzdWFsX3RhYmxlX2NsYXNzfHwibWNlLWl0ZW0tdGFibGUiLHQ9aS5nZXRBdHRyaWIoZSwiYm9yZGVyIiksdm9pZCh0JiYiMCIhPXR8fCFuLmhhc1Zpc3VhbD9pLnJlbW92ZUNsYXNzKGUsbyk6aS5hZGRDbGFzcyhlLG8pKTtjYXNlIkEiOnJldHVybiB2b2lkKGkuZ2V0QXR0cmliKGUsImhyZWYiLCExKXx8KHQ9aS5nZXRBdHRyaWIoZSwibmFtZSIpfHxlLmlkLG89ci52aXN1YWxfYW5jaG9yX2NsYXNzfHwibWNlLWl0ZW0tYW5jaG9yIix0JiZuLmhhc1Zpc3VhbD9pLmFkZENsYXNzKGUsbyk6aS5yZW1vdmVDbGFzcyhlLG8pKSl9fSksbi5maXJlKCJWaXN1YWxBaWQiLHtlbGVtZW50OmUsaGFzVmlzdWFsOm4uaGFzVmlzdWFsfSl9LHJlbW92ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5yZW1vdmVkfHwoZS5zYXZlKCksZS5yZW1vdmVkPTEsZS51bmJpbmRBbGxOYXRpdmVFdmVudHMoKSxlLmhhc0hpZGRlbklucHV0JiZCLnJlbW92ZShlLmdldEVsZW1lbnQoKS5uZXh0U2libGluZyksZS5pbmxpbmV8fChWJiYxMD5WJiZlLmdldERvYygpLmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCExLG51bGwpLEIuc2V0U3R5bGUoZS5pZCwiZGlzcGxheSIsZS5vcmdEaXNwbGF5KSxlLmdldEJvZHkoKS5vbmxvYWQ9bnVsbCksZS5maXJlKCJyZW1vdmUiKSxlLmVkaXRvck1hbmFnZXIucmVtb3ZlKGUpLEIucmVtb3ZlKGUuZ2V0Q29udGFpbmVyKCkpLGUuX3NlbGVjdGlvbk92ZXJyaWRlcy5kZXN0cm95KCksZS5lZGl0b3JVcGxvYWQuZGVzdHJveSgpLGUuZGVzdHJveSgpKX0sZGVzdHJveTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG47aWYoIXQuZGVzdHJveWVkKXtpZighZSYmIXQucmVtb3ZlZClyZXR1cm4gdm9pZCB0LnJlbW92ZSgpO2V8fCh0LmVkaXRvck1hbmFnZXIub2ZmKCJiZWZvcmV1bmxvYWQiLHQuX2JlZm9yZVVubG9hZCksdC50aGVtZSYmdC50aGVtZS5kZXN0cm95JiZ0LnRoZW1lLmRlc3Ryb3koKSx0LnNlbGVjdGlvbi5kZXN0cm95KCksdC5kb20uZGVzdHJveSgpKSxuPXQuZm9ybUVsZW1lbnQsbiYmKG4uX21jZU9sZFN1Ym1pdCYmKG4uc3VibWl0PW4uX21jZU9sZFN1Ym1pdCxuLl9tY2VPbGRTdWJtaXQ9bnVsbCksQi51bmJpbmQobiwic3VibWl0IHJlc2V0Iix0LmZvcm1FdmVudERlbGVnYXRlKSksdC5jb250ZW50QXJlYUNvbnRhaW5lcj10LmZvcm1FbGVtZW50PXQuY29udGFpbmVyPXQuZWRpdG9yQ29udGFpbmVyPW51bGwsdC5ib2R5RWxlbWVudD10LmNvbnRlbnREb2N1bWVudD10LmNvbnRlbnRXaW5kb3c9bnVsbCx0LmlmcmFtZUVsZW1lbnQ9dC50YXJnZXRFbG09bnVsbCx0LnNlbGVjdGlvbiYmKHQuc2VsZWN0aW9uPXQuc2VsZWN0aW9uLndpbj10LnNlbGVjdGlvbi5kb209dC5zZWxlY3Rpb24uZG9tLmRvYz1udWxsKSx0LmRlc3Ryb3llZD0xfX0sdXBsb2FkSW1hZ2VzOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVkaXRvclVwbG9hZC51cGxvYWRJbWFnZXMoZSl9LF9zY2FuRm9ySW1hZ2VzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRpdG9yVXBsb2FkLnNjYW5Gb3JJbWFnZXMoKX19LEwoQS5wcm90b3R5cGUsXyksQX0pLHIoSmUsW10sZnVuY3Rpb24oKXt2YXIgZT17fSx0PSJlbiI7cmV0dXJue3NldENvZGU6ZnVuY3Rpb24oZSl7ZSYmKHQ9ZSx0aGlzLnJ0bD10aGlzLmRhdGFbZV0/InJ0bCI9PT10aGlzLmRhdGFbZV0uX2RpcjohMSl9LGdldENvZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdH0scnRsOiExLGFkZDpmdW5jdGlvbih0LG4pe3ZhciByPWVbdF07cnx8KGVbdF09cj17fSk7Zm9yKHZhciBpIGluIG4pcltpXT1uW2ldO3RoaXMuc2V0Q29kZSh0KX0sdHJhbnNsYXRlOmZ1bmN0aW9uKG4pe3ZhciByO2lmKHI9ZVt0XSxyfHwocj17fSksInVuZGVmaW5lZCI9PXR5cGVvZiBuKXJldHVybiBuO2lmKCJzdHJpbmciIT10eXBlb2YgbiYmbi5yYXcpcmV0dXJuIG4ucmF3O2lmKG4ucHVzaCl7dmFyIGk9bi5zbGljZSgxKTtuPShyW25bMF1dfHxuWzBdKS5yZXBsYWNlKC9ceyhbMC05XSspXH0vZyxmdW5jdGlvbihlLHQpe3JldHVybiBpW3RdfSl9cmV0dXJuKHJbbl18fG4pLnJlcGxhY2UoL3tjb250ZXh0Olx3K30kLywiIil9LGRhdGE6ZX19KSxyKFFlLFt3LHUsaF0sZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIHIoZSl7ZnVuY3Rpb24gbCgpe3RyeXtyZXR1cm4gZG9jdW1lbnQuYWN0aXZlRWxlbWVudH1jYXRjaChlKXtyZXR1cm4gZG9jdW1lbnQuYm9keX19ZnVuY3Rpb24gYyhlLHQpe2lmKHQmJnQuc3RhcnRDb250YWluZXIpe2lmKCFlLmlzQ2hpbGRPZih0LnN0YXJ0Q29udGFpbmVyLGUuZ2V0Um9vdCgpKXx8IWUuaXNDaGlsZE9mKHQuZW5kQ29udGFpbmVyLGUuZ2V0Um9vdCgpKSlyZXR1cm47cmV0dXJue3N0YXJ0Q29udGFpbmVyOnQuc3RhcnRDb250YWluZXIsc3RhcnRPZmZzZXQ6dC5zdGFydE9mZnNldCxlbmRDb250YWluZXI6dC5lbmRDb250YWluZXIsZW5kT2Zmc2V0OnQuZW5kT2Zmc2V0fX1yZXR1cm4gdH1mdW5jdGlvbiB1KGUsdCl7dmFyIG47cmV0dXJuIHQuc3RhcnRDb250YWluZXI/KG49ZS5nZXREb2MoKS5jcmVhdGVSYW5nZSgpLG4uc2V0U3RhcnQodC5zdGFydENvbnRhaW5lcix0LnN0YXJ0T2Zmc2V0KSxuLnNldEVuZCh0LmVuZENvbnRhaW5lcix0LmVuZE9mZnNldCkpOm49dCxufWZ1bmN0aW9uIGQoZSl7cmV0dXJuISFzLmdldFBhcmVudChlLHIuaXNFZGl0b3JVSUVsZW1lbnQpfWZ1bmN0aW9uIGYocil7dmFyIGY9ci5lZGl0b3I7Zi5vbigiaW5pdCIsZnVuY3Rpb24oKXsoZi5pbmxpbmV8fG4uaWUpJiYoIm9uYmVmb3JlZGVhY3RpdmF0ZSJpbiBkb2N1bWVudCYmbi5pZTw5P2YuZG9tLmJpbmQoZi5nZXRCb2R5KCksImJlZm9yZWRlYWN0aXZhdGUiLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0PT1mLmdldEJvZHkoKSl0cnl7Zi5sYXN0Um5nPWYuc2VsZWN0aW9uLmdldFJuZygpfWNhdGNoKHQpe319KTpmLm9uKCJub2RlY2hhbmdlIG1vdXNldXAga2V5dXAiLGZ1bmN0aW9uKGUpe3ZhciB0PWwoKTsibm9kZWNoYW5nZSI9PWUudHlwZSYmZS5zZWxlY3Rpb25DaGFuZ2V8fCh0JiZ0LmlkPT1mLmlkKyJfaWZyIiYmKHQ9Zi5nZXRCb2R5KCkpLGYuZG9tLmlzQ2hpbGRPZih0LGYuZ2V0Qm9keSgpKSYmKGYubGFzdFJuZz1mLnNlbGVjdGlvbi5nZXRSbmcoKSkpfSksbi53ZWJraXQmJiFpJiYoaT1mdW5jdGlvbigpe3ZhciB0PWUuYWN0aXZlRWRpdG9yO2lmKHQmJnQuc2VsZWN0aW9uKXt2YXIgbj10LnNlbGVjdGlvbi5nZXRSbmcoKTtuJiYhbi5jb2xsYXBzZWQmJihmLmxhc3RSbmc9bil9fSxzLmJpbmQoZG9jdW1lbnQsInNlbGVjdGlvbmNoYW5nZSIsaSkpKX0pLGYub24oInNldGNvbnRlbnQiLGZ1bmN0aW9uKCl7Zi5sYXN0Um5nPW51bGx9KSxmLm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7Zi5zZWxlY3Rpb24ubGFzdEZvY3VzQm9va21hcms9bnVsbH0pLGYub24oImZvY3VzaW4iLGZ1bmN0aW9uKCl7dmFyIHQ9ZS5mb2N1c2VkRWRpdG9yLG47Zi5zZWxlY3Rpb24ubGFzdEZvY3VzQm9va21hcmsmJihuPXUoZixmLnNlbGVjdGlvbi5sYXN0Rm9jdXNCb29rbWFyayksZi5zZWxlY3Rpb24ubGFzdEZvY3VzQm9va21hcms9bnVsbCxmLnNlbGVjdGlvbi5zZXRSbmcobikpLHQhPWYmJih0JiZ0LmZpcmUoImJsdXIiLHtmb2N1c2VkRWRpdG9yOmZ9KSxlLnNldEFjdGl2ZShmKSxlLmZvY3VzZWRFZGl0b3I9ZixmLmZpcmUoImZvY3VzIix7Ymx1cnJlZEVkaXRvcjp0fSksZi5mb2N1cyghMCkpLGYubGFzdFJuZz1udWxsfSksZi5vbigiZm9jdXNvdXQiLGZ1bmN0aW9uKCl7dC5zZXRFZGl0b3JUaW1lb3V0KGYsZnVuY3Rpb24oKXt2YXIgdD1lLmZvY3VzZWRFZGl0b3I7ZChsKCkpfHx0IT1mfHwoZi5maXJlKCJibHVyIix7Zm9jdXNlZEVkaXRvcjpudWxsfSksZS5mb2N1c2VkRWRpdG9yPW51bGwsZi5zZWxlY3Rpb24mJihmLnNlbGVjdGlvbi5sYXN0Rm9jdXNCb29rbWFyaz1udWxsKSl9KX0pLG98fChvPWZ1bmN0aW9uKHQpe3ZhciBuPWUuYWN0aXZlRWRpdG9yLHI7cj10LnRhcmdldCxuJiZyLm93bmVyRG9jdW1lbnQ9PWRvY3VtZW50JiYobi5zZWxlY3Rpb24mJnIhPW4uZ2V0Qm9keSgpJiYobi5zZWxlY3Rpb24ubGFzdEZvY3VzQm9va21hcms9YyhuLmRvbSxuLmxhc3RSbmcpKSxyPT1kb2N1bWVudC5ib2R5fHxkKHIpfHxlLmZvY3VzZWRFZGl0b3IhPW58fChuLmZpcmUoImJsdXIiLHtmb2N1c2VkRWRpdG9yOm51bGx9KSxlLmZvY3VzZWRFZGl0b3I9bnVsbCkpfSxzLmJpbmQoZG9jdW1lbnQsImZvY3VzaW4iLG8pKSxmLmlubGluZSYmIWEmJihhPWZ1bmN0aW9uKHQpe3ZhciBuPWUuYWN0aXZlRWRpdG9yO2lmKG4uaW5saW5lJiYhbi5kb20uaXNDaGlsZE9mKHQudGFyZ2V0LG4uZ2V0Qm9keSgpKSl7dmFyIHI9bi5zZWxlY3Rpb24uZ2V0Um5nKCk7ci5jb2xsYXBzZWR8fChuLmxhc3RSbmc9cil9fSxzLmJpbmQoZG9jdW1lbnQsIm1vdXNldXAiLGEpKX1mdW5jdGlvbiBoKHQpe2UuZm9jdXNlZEVkaXRvcj09dC5lZGl0b3ImJihlLmZvY3VzZWRFZGl0b3I9bnVsbCksZS5hY3RpdmVFZGl0b3J8fChzLnVuYmluZChkb2N1bWVudCwic2VsZWN0aW9uY2hhbmdlIixpKSxzLnVuYmluZChkb2N1bWVudCwiZm9jdXNpbiIsbykscy51bmJpbmQoZG9jdW1lbnQsIm1vdXNldXAiLGEpLGk9bz1hPW51bGwpfWUub24oIkFkZEVkaXRvciIsZiksZS5vbigiUmVtb3ZlRWRpdG9yIixoKX12YXIgaSxvLGEscz1lLkRPTTtyZXR1cm4gci5pc0VkaXRvclVJRWxlbWVudD1mdW5jdGlvbihlKXtyZXR1cm4tMSE9PWUuY2xhc3NOYW1lLnRvU3RyaW5nKCkuaW5kZXhPZigibWNlLSIpfSxyfSkscihaZSxbR2UsZyx3LGllLGgsbSxjLGxlLEplLFFlXSxmdW5jdGlvbihlLHQsbixyLGksbyxhLHMsbCxjKXtmdW5jdGlvbiB1KGUpe2coQy5lZGl0b3JzLGZ1bmN0aW9uKHQpeyJzY3JvbGwiPT09ZS50eXBlP3QuZmlyZSgiU2Nyb2xsV2luZG93IixlKTp0LmZpcmUoIlJlc2l6ZVdpbmRvdyIsZSl9KX1mdW5jdGlvbiBkKGUsbil7biE9PXgmJihuP3Qod2luZG93KS5vbigicmVzaXplIHNjcm9sbCIsdSk6dCh3aW5kb3cpLm9mZigicmVzaXplIHNjcm9sbCIsdSkseD1uKX1mdW5jdGlvbiBmKGUpe3ZhciB0PUMuZWRpdG9ycyxuO2RlbGV0ZSB0W2UuaWRdO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWlmKHRbcl09PWUpe3Quc3BsaWNlKHIsMSksbj0hMDticmVha31yZXR1cm4gQy5hY3RpdmVFZGl0b3I9PWUmJihDLmFjdGl2ZUVkaXRvcj10WzBdKSxDLmZvY3VzZWRFZGl0b3I9PWUmJihDLmZvY3VzZWRFZGl0b3I9bnVsbCksbn1mdW5jdGlvbiBoKGUpe3JldHVybiBlJiYhKGUuZ2V0Q29udGFpbmVyKCl8fGUuZ2V0Qm9keSgpKS5wYXJlbnROb2RlJiYoZihlKSxlLnVuYmluZEFsbE5hdGl2ZUV2ZW50cygpLGUuZGVzdHJveSghMCksZS5yZW1vdmVkPSEwLGU9bnVsbCksZX12YXIgcD1uLkRPTSxtPW8uZXhwbG9kZSxnPW8uZWFjaCx2PW8uZXh0ZW5kLHk9MCxiLEMseD0hMTtyZXR1cm4gQz17JDp0LG1ham9yVmVyc2lvbjoiNCIsbWlub3JWZXJzaW9uOiIzLjExIixyZWxlYXNlRGF0ZToiMjAxNi0wNC0yNSIsZWRpdG9yczpbXSxpMThuOmwsYWN0aXZlRWRpdG9yOm51bGwsc2V0dXA6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQsbixpPSIiLG8sYTtpZihuPXIuZ2V0RG9jdW1lbnRCYXNlVXJsKGRvY3VtZW50LmxvY2F0aW9uKSwvXlteOl0rOlwvXC9cLz9bXlwvXStcLy8udGVzdChuKSYmKG49bi5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpLnJlcGxhY2UoL1tcL1xcXVteXC9dKyQvLCIiKSwvW1wvXFxdJC8udGVzdChuKXx8KG4rPSIvIikpLG89d2luZG93LnRpbnltY2V8fHdpbmRvdy50aW55TUNFUHJlSW5pdCl0PW8uYmFzZXx8by5iYXNlVVJMLGk9by5zdWZmaXg7ZWxzZXtmb3IodmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGw9MDtsPHMubGVuZ3RoO2wrKyl7YT1zW2xdLnNyYzt2YXIgdT1hLnN1YnN0cmluZyhhLmxhc3RJbmRleE9mKCIvIikpO2lmKC90aW55bWNlKFwuZnVsbHxcLmpxdWVyeXwpKFwubWlufFwuZGV2fClcLmpzLy50ZXN0KGEpKXstMSE9dS5pbmRleE9mKCIubWluIikmJihpPSIubWluIiksdD1hLnN1YnN0cmluZygwLGEubGFzdEluZGV4T2YoIi8iKSk7YnJlYWt9fSF0JiZkb2N1bWVudC5jdXJyZW50U2NyaXB0JiYoYT1kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYywtMSE9YS5pbmRleE9mKCIubWluIikmJihpPSIubWluIiksdD1hLnN1YnN0cmluZygwLGEubGFzdEluZGV4T2YoIi8iKSkpfWUuYmFzZVVSTD1uZXcgcihuKS50b0Fic29sdXRlKHQpLGUuZG9jdW1lbnRCYXNlVVJMPW4sZS5iYXNlVVJJPW5ldyByKGUuYmFzZVVSTCksZS5zdWZmaXg9aSxlLmZvY3VzTWFuYWdlcj1uZXcgYyhlKX0sb3ZlcnJpZGVEZWZhdWx0czpmdW5jdGlvbihlKXt2YXIgdCxuO3Q9ZS5iYXNlX3VybCx0JiYodGhpcy5iYXNlVVJMPW5ldyByKHRoaXMuZG9jdW1lbnRCYXNlVVJMKS50b0Fic29sdXRlKHQucmVwbGFjZSgvXC8rJC8sIiIpKSx0aGlzLmJhc2VVUkk9bmV3IHIodGhpcy5iYXNlVVJMKSksbj1lLnN1ZmZpeCxlLnN1ZmZpeCYmKHRoaXMuc3VmZml4PW4pLHRoaXMuZGVmYXVsdFNldHRpbmdzPWV9LGluaXQ6ZnVuY3Rpb24obil7ZnVuY3Rpb24gcihlKXt2YXIgdD1lLmlkO3JldHVybiB0fHwodD1lLm5hbWUsdD10JiYhcC5nZXQodCk/ZS5uYW1lOnAudW5pcXVlSWQoKSxlLnNldEF0dHJpYnV0ZSgiaWQiLHQpKSx0fWZ1bmN0aW9uIGkoZSl7dmFyIHQ9bltlXTtpZih0KXJldHVybiB0LmFwcGx5KHUsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpKX1mdW5jdGlvbiBzKGUsdCl7cmV0dXJuIHQuY29uc3RydWN0b3I9PT1SZWdFeHA/dC50ZXN0KGUuY2xhc3NOYW1lKTpwLmhhc0NsYXNzKGUsdCl9ZnVuY3Rpb24gbChlKXt2YXIgdCxuPVtdO2lmKGUudHlwZXMpcmV0dXJuIGcoZS50eXBlcyxmdW5jdGlvbihlKXtuPW4uY29uY2F0KHAuc2VsZWN0KGUuc2VsZWN0b3IpKX0pLG47aWYoZS5zZWxlY3RvcilyZXR1cm4gcC5zZWxlY3QoZS5zZWxlY3Rvcik7aWYoZS50YXJnZXQpcmV0dXJuW2UudGFyZ2V0XTtzd2l0Y2goZS5tb2RlKXtjYXNlImV4YWN0Ijp0PWUuZWxlbWVudHN8fCIiLHQubGVuZ3RoPjAmJmcobSh0KSxmdW5jdGlvbihlKXt2YXIgdDsodD1wLmdldChlKSk/bi5wdXNoKHQpOmcoZG9jdW1lbnQuZm9ybXMsZnVuY3Rpb24odCl7Zyh0LmVsZW1lbnRzLGZ1bmN0aW9uKHQpe3QubmFtZT09PWUmJihlPSJtY2VfZWRpdG9yXyIreSsrLHAuc2V0QXR0cmliKHQsImlkIixlKSxuLnB1c2godCkpfSl9KX0pO2JyZWFrO2Nhc2UidGV4dGFyZWFzIjpjYXNlInNwZWNpZmljX3RleHRhcmVhcyI6ZyhwLnNlbGVjdCgidGV4dGFyZWEiKSxmdW5jdGlvbih0KXtlLmVkaXRvcl9kZXNlbGVjdG9yJiZzKHQsZS5lZGl0b3JfZGVzZWxlY3Rvcil8fGUuZWRpdG9yX3NlbGVjdG9yJiYhcyh0LGUuZWRpdG9yX3NlbGVjdG9yKXx8bi5wdXNoKHQpfSl9cmV0dXJuIG59ZnVuY3Rpb24gYygpe2Z1bmN0aW9uIGEodCxuLHIpe2lmKCFoKHUuZ2V0KHQpKSl7dmFyIGk9bmV3IGUodCxuLHUpO2QucHVzaChpKSxpLm9uKCJpbml0IixmdW5jdGlvbigpeysrcz09PW0ubGVuZ3RoJiZmKGQpfSksaS50YXJnZXRFbG09aS50YXJnZXRFbG18fHIsaS5yZW5kZXIoKX19dmFyIHM9MCxkPVtdLG07cmV0dXJuIHAudW5iaW5kKHdpbmRvdywicmVhZHkiLGMpLGkoIm9ucGFnZWxvYWQiKSxtPXQudW5pcXVlKGwobikpLG4udHlwZXM/dm9pZCBnKG4udHlwZXMsZnVuY3Rpb24oZSl7by5lYWNoKG0sZnVuY3Rpb24odCl7cmV0dXJuIHAuaXModCxlLnNlbGVjdG9yKT8oYShyKHQpLHYoe30sbixlKSx0KSwhMSk6ITB9KX0pOnZvaWQgZyhtLGZ1bmN0aW9uKGUpe2EocihlKSxuLGUpfSl9dmFyIHU9dGhpcyxkLGY9ZnVuY3Rpb24oZSl7ZD1lfTtyZXR1cm4gdS5zZXR0aW5ncz1uLHAuYmluZCh3aW5kb3csInJlYWR5IixjKSxuZXcgYShmdW5jdGlvbihlKXtkP2UoZCk6Zj1mdW5jdGlvbih0KXtlKHQpfX0pfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/ZSBpbiB0aGlzLmVkaXRvcnM/dGhpcy5lZGl0b3JzW2VdOm51bGw6dGhpcy5lZGl0b3JzfSxhZGQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXQuZWRpdG9ycztyZXR1cm4gbltlLmlkXT1lLG4ucHVzaChlKSxkKG4sITApLHQuYWN0aXZlRWRpdG9yPWUsdC5maXJlKCJBZGRFZGl0b3IiLHtlZGl0b3I6ZX0pLGJ8fChiPWZ1bmN0aW9uKCl7dC5maXJlKCJCZWZvcmVVbmxvYWQiKX0scC5iaW5kKHdpbmRvdywiYmVmb3JldW5sb2FkIixiKSksZX0sY3JlYXRlRWRpdG9yOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHRoaXMuYWRkKG5ldyBlKHQsbix0aGlzKSl9LHJlbW92ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG4scj10LmVkaXRvcnMsaTt7aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/KGU9ZS5zZWxlY3Rvcnx8ZSx2b2lkIGcocC5zZWxlY3QoZSksZnVuY3Rpb24oZSl7aT1yW2UuaWRdLGkmJnQucmVtb3ZlKGkpfSkpOihpPWUscltpLmlkXT8oZihpKSYmdC5maXJlKCJSZW1vdmVFZGl0b3IiLHtlZGl0b3I6aX0pLHIubGVuZ3RofHxwLnVuYmluZCh3aW5kb3csImJlZm9yZXVubG9hZCIsYiksaS5yZW1vdmUoKSxkKHIsci5sZW5ndGg+MCksaSk6bnVsbCk7Zm9yKG49ci5sZW5ndGgtMTtuPj0wO24tLSl0LnJlbW92ZShyW25dKX19LGV4ZWNDb21tYW5kOmZ1bmN0aW9uKHQsbixyKXt2YXIgaT10aGlzLG89aS5nZXQocik7c3dpdGNoKHQpe2Nhc2UibWNlQWRkRWRpdG9yIjpyZXR1cm4gaS5nZXQocil8fG5ldyBlKHIsaS5zZXR0aW5ncyxpKS5yZW5kZXIoKSwhMDtjYXNlIm1jZVJlbW92ZUVkaXRvciI6cmV0dXJuIG8mJm8ucmVtb3ZlKCksITA7Y2FzZSJtY2VUb2dnbGVFZGl0b3IiOnJldHVybiBvPyhvLmlzSGlkZGVuKCk/by5zaG93KCk6by5oaWRlKCksITApOihpLmV4ZWNDb21tYW5kKCJtY2VBZGRFZGl0b3IiLDAsciksITApfXJldHVybiBpLmFjdGl2ZUVkaXRvcj9pLmFjdGl2ZUVkaXRvci5leGVjQ29tbWFuZCh0LG4scik6ITF9LHRyaWdnZXJTYXZlOmZ1bmN0aW9uKCl7Zyh0aGlzLmVkaXRvcnMsZnVuY3Rpb24oZSl7ZS5zYXZlKCl9KX0sYWRkSTE4bjpmdW5jdGlvbihlLHQpe2wuYWRkKGUsdCl9LHRyYW5zbGF0ZTpmdW5jdGlvbihlKXtyZXR1cm4gbC50cmFuc2xhdGUoZSl9LHNldEFjdGl2ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmFjdGl2ZUVkaXRvcjt0aGlzLmFjdGl2ZUVkaXRvciE9ZSYmKHQmJnQuZmlyZSgiZGVhY3RpdmF0ZSIse3JlbGF0ZWRUYXJnZXQ6ZX0pLGUuZmlyZSgiYWN0aXZhdGUiLHtyZWxhdGVkVGFyZ2V0OnR9KSksdGhpcy5hY3RpdmVFZGl0b3I9ZX19LHYoQyxzKSxDLnNldHVwKCksd2luZG93LnRpbnltY2U9d2luZG93LnRpbnlNQ0U9QyxDfSkscihldCxbWmUsbV0sZnVuY3Rpb24oZSx0KXt2YXIgbj10LmVhY2gscj10LmV4cGxvZGU7ZS5vbigiQWRkRWRpdG9yIixmdW5jdGlvbihlKXt2YXIgdD1lLmVkaXRvcjt0Lm9uKCJwcmVJbml0IixmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXtuKHQsZnVuY3Rpb24odCxuKXt0JiZzLnNldFN0eWxlKGUsbix0KX0pLHMucmVuYW1lKGUsInNwYW4iKX1mdW5jdGlvbiBpKGUpe3M9dC5kb20sbC5jb252ZXJ0X2ZvbnRzX3RvX3NwYW5zJiZuKHMuc2VsZWN0KCJmb250LHUsc3RyaWtlIixlLm5vZGUpLGZ1bmN0aW9uKGUpe29bZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXShzLGUpfSl9dmFyIG8sYSxzLGw9dC5zZXR0aW5ncztsLmlubGluZV9zdHlsZXMmJihhPXIobC5mb250X3NpemVfbGVnYWN5X3ZhbHVlcyksbz17Zm9udDpmdW5jdGlvbih0LG4pe2Uobix7YmFja2dyb3VuZENvbG9yOm4uc3R5bGUuYmFja2dyb3VuZENvbG9yLGNvbG9yOm4uY29sb3IsZm9udEZhbWlseTpuLmZhY2UsZm9udFNpemU6YVtwYXJzZUludChuLnNpemUsMTApLTFdfSl9LHU6ZnVuY3Rpb24obixyKXsiaHRtbDQiPT09dC5zZXR0aW5ncy5zY2hlbWEmJmUocix7dGV4dERlY29yYXRpb246InVuZGVybGluZSJ9KX0sc3RyaWtlOmZ1bmN0aW9uKHQsbil7ZShuLHt0ZXh0RGVjb3JhdGlvbjoibGluZS10aHJvdWdoIn0pfX0sdC5vbigiUHJlUHJvY2VzcyBTZXRDb250ZW50IixpKSl9KX0pfSkscih0dCxbbGUsbV0sZnVuY3Rpb24oZSx0KXt2YXIgbj17c2VuZDpmdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7IWUuYXN5bmN8fDQ9PWkucmVhZHlTdGF0ZXx8bysrPjFlND8oZS5zdWNjZXNzJiYxZTQ+byYmMjAwPT1pLnN0YXR1cz9lLnN1Y2Nlc3MuY2FsbChlLnN1Y2Nlc3Nfc2NvcGUsIiIraS5yZXNwb25zZVRleHQsaSxlKTplLmVycm9yJiZlLmVycm9yLmNhbGwoZS5lcnJvcl9zY29wZSxvPjFlND8iVElNRURfT1VUIjoiR0VORVJBTCIsaSxlKSxpPW51bGwpOnNldFRpbWVvdXQociwxMCl9dmFyIGksbz0wO2lmKGUuc2NvcGU9ZS5zY29wZXx8dGhpcyxlLnN1Y2Nlc3Nfc2NvcGU9ZS5zdWNjZXNzX3Njb3BlfHxlLnNjb3BlLGUuZXJyb3Jfc2NvcGU9ZS5lcnJvcl9zY29wZXx8ZS5zY29wZSxlLmFzeW5jPWUuYXN5bmMhPT0hMSxlLmRhdGE9ZS5kYXRhfHwiIixuLmZpcmUoImJlZm9yZUluaXRpYWxpemUiLHtzZXR0aW5nczplfSksaT1uZXcgWE1MSHR0cFJlcXVlc3Qpe2lmKGkub3ZlcnJpZGVNaW1lVHlwZSYmaS5vdmVycmlkZU1pbWVUeXBlKGUuY29udGVudF90eXBlKSxpLm9wZW4oZS50eXBlfHwoZS5kYXRhPyJQT1NUIjoiR0VUIiksZS51cmwsZS5hc3luYyksZS5jcm9zc0RvbWFpbiYmKGkud2l0aENyZWRlbnRpYWxzPSEwKSxlLmNvbnRlbnRfdHlwZSYmaS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGUuY29udGVudF90eXBlKSwKZS5yZXF1ZXN0aGVhZGVycyYmdC5lYWNoKGUucmVxdWVzdGhlYWRlcnMsZnVuY3Rpb24oZSl7aS5zZXRSZXF1ZXN0SGVhZGVyKGUua2V5LGUudmFsdWUpfSksaS5zZXRSZXF1ZXN0SGVhZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKSxpPW4uZmlyZSgiYmVmb3JlU2VuZCIse3hocjppLHNldHRpbmdzOmV9KS54aHIsaS5zZW5kKGUuZGF0YSksIWUuYXN5bmMpcmV0dXJuIHIoKTtzZXRUaW1lb3V0KHIsMTApfX19O3JldHVybiB0LmV4dGVuZChuLGUpLG59KSxyKG50LFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4pe3ZhciByLGksbyxhO2lmKG49bnx8JyInLG51bGw9PT10KXJldHVybiJudWxsIjtpZihvPXR5cGVvZiB0LCJzdHJpbmciPT1vKXJldHVybiBpPSJcYmIJdFxublxmZlxyclwiXCInJ1xcXFwiLG4rdC5yZXBsYWNlKC8oW1x1MDA4MC1cdUZGRkZceDAwLVx4MWZcIlwnXFxdKS9nLGZ1bmN0aW9uKGUsdCl7cmV0dXJuJyInPT09biYmIiciPT09ZT9lOihyPWkuaW5kZXhPZih0KSxyKzE/IlxcIitpLmNoYXJBdChyKzEpOihlPXQuY2hhckNvZGVBdCgpLnRvU3RyaW5nKDE2KSwiXFx1IisiMDAwMCIuc3Vic3RyaW5nKGUubGVuZ3RoKStlKSl9KStuO2lmKCJvYmplY3QiPT1vKXtpZih0Lmhhc093blByb3BlcnR5JiYiW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKXtmb3Iocj0wLGk9IlsiO3I8dC5sZW5ndGg7cisrKWkrPShyPjA/IiwiOiIiKStlKHRbcl0sbik7cmV0dXJuIGkrIl0ifWk9InsiO2ZvcihhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKGkrPSJmdW5jdGlvbiIhPXR5cGVvZiB0W2FdPyhpLmxlbmd0aD4xPyIsIituOm4pK2ErbisiOiIrZSh0W2FdLG4pOiIiKTtyZXR1cm4gaSsifSJ9cmV0dXJuIiIrdH1yZXR1cm57c2VyaWFsaXplOmUscGFyc2U6ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB3aW5kb3dbU3RyaW5nLmZyb21DaGFyQ29kZSgxMDEpKyJ2YWwiXSgiKCIrZSsiKSIpfWNhdGNoKHQpe319fX0pLHIocnQsW250LHR0LG1dLGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe3RoaXMuc2V0dGluZ3M9aSh7fSxlKSx0aGlzLmNvdW50PTB9dmFyIGk9bi5leHRlbmQ7cmV0dXJuIHIuc2VuZFJQQz1mdW5jdGlvbihlKXtyZXR1cm4obmV3IHIpLnNlbmQoZSl9LHIucHJvdG90eXBlPXtzZW5kOmZ1bmN0aW9uKG4pe3ZhciByPW4uZXJyb3Isbz1uLnN1Y2Nlc3M7bj1pKHRoaXMuc2V0dGluZ3Msbiksbi5zdWNjZXNzPWZ1bmN0aW9uKHQsaSl7dD1lLnBhcnNlKHQpLCJ1bmRlZmluZWQiPT10eXBlb2YgdCYmKHQ9e2Vycm9yOiJKU09OIFBhcnNlIGVycm9yLiJ9KSx0LmVycm9yP3IuY2FsbChuLmVycm9yX3Njb3BlfHxuLnNjb3BlLHQuZXJyb3IsaSk6by5jYWxsKG4uc3VjY2Vzc19zY29wZXx8bi5zY29wZSx0LnJlc3VsdCl9LG4uZXJyb3I9ZnVuY3Rpb24oZSx0KXtyJiZyLmNhbGwobi5lcnJvcl9zY29wZXx8bi5zY29wZSxlLHQpfSxuLmRhdGE9ZS5zZXJpYWxpemUoe2lkOm4uaWR8fCJjIit0aGlzLmNvdW50KyssbWV0aG9kOm4ubWV0aG9kLHBhcmFtczpuLnBhcmFtc30pLG4uY29udGVudF90eXBlPSJhcHBsaWNhdGlvbi9qc29uIix0LnNlbmQobil9fSxyfSkscihpdCxbd10sZnVuY3Rpb24oZSl7cmV0dXJue2NhbGxiYWNrczp7fSxjb3VudDowLHNlbmQ6ZnVuY3Rpb24obil7dmFyIHI9dGhpcyxpPWUuRE9NLG89bi5jb3VudCE9PXQ/bi5jb3VudDpyLmNvdW50LGE9InRpbnltY2VfanNvbnBfIitvO3IuY2FsbGJhY2tzW29dPWZ1bmN0aW9uKGUpe2kucmVtb3ZlKGEpLGRlbGV0ZSByLmNhbGxiYWNrc1tvXSxuLmNhbGxiYWNrKGUpfSxpLmFkZChpLmRvYy5ib2R5LCJzY3JpcHQiLHtpZDphLHNyYzpuLnVybCx0eXBlOiJ0ZXh0L2phdmFzY3JpcHQifSksci5jb3VudCsrfX19KSxyKG90LFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe3M9W107Zm9yKHZhciBlIGluIGEpcy5wdXNoKGUpO2kubGVuZ3RoPXMubGVuZ3RofWZ1bmN0aW9uIG4oKXtmdW5jdGlvbiBuKGUpe3ZhciBuLHI7cmV0dXJuIHI9ZSE9PXQ/dStlOmkuaW5kZXhPZigiLCIsdSksLTE9PT1yfHxyPmkubGVuZ3RoP251bGw6KG49aS5zdWJzdHJpbmcodSxyKSx1PXIrMSxuKX12YXIgcixpLHMsdT0wO2lmKGE9e30sYyl7by5sb2FkKGwpLGk9by5nZXRBdHRyaWJ1dGUobCl8fCIiO2Rve3ZhciBkPW4oKTtpZihudWxsPT09ZClicmVhaztpZihyPW4ocGFyc2VJbnQoZCwzMil8fDApLG51bGwhPT1yKXtpZihkPW4oKSxudWxsPT09ZClicmVhaztzPW4ocGFyc2VJbnQoZCwzMil8fDApLHImJihhW3JdPXMpfX13aGlsZShudWxsIT09cik7ZSgpfX1mdW5jdGlvbiByKCl7dmFyIHQsbj0iIjtpZihjKXtmb3IodmFyIHIgaW4gYSl0PWFbcl0sbis9KG4/IiwiOiIiKStyLmxlbmd0aC50b1N0cmluZygzMikrIiwiK3IrIiwiK3QubGVuZ3RoLnRvU3RyaW5nKDMyKSsiLCIrdDtvLnNldEF0dHJpYnV0ZShsLG4pO3RyeXtvLnNhdmUobCl9Y2F0Y2goaSl7fWUoKX19dmFyIGksbyxhLHMsbCxjO3RyeXtpZih3aW5kb3cubG9jYWxTdG9yYWdlKXJldHVybiBsb2NhbFN0b3JhZ2V9Y2F0Y2godSl7fXJldHVybiBsPSJ0aW55bWNlIixvPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxjPSEhby5hZGRCZWhhdmlvcixjJiZvLmFkZEJlaGF2aW9yKCIjZGVmYXVsdCN1c2VyRGF0YSIpLGk9e2tleTpmdW5jdGlvbihlKXtyZXR1cm4gc1tlXX0sZ2V0SXRlbTpmdW5jdGlvbihlKXtyZXR1cm4gZSBpbiBhP2FbZV06bnVsbH0sc2V0SXRlbTpmdW5jdGlvbihlLHQpe2FbZV09IiIrdCxyKCl9LHJlbW92ZUl0ZW06ZnVuY3Rpb24oZSl7ZGVsZXRlIGFbZV0scigpfSxjbGVhcjpmdW5jdGlvbigpe2E9e30scigpfX0sbigpLGl9KSxyKGF0LFt3LGQsTixFLG0saF0sZnVuY3Rpb24oZSx0LG4scixpLG8pe3ZhciBhPXdpbmRvdy50aW55bWNlO3JldHVybiBhLkRPTT1lLkRPTSxhLlNjcmlwdExvYWRlcj1uLlNjcmlwdExvYWRlcixhLlBsdWdpbk1hbmFnZXI9ci5QbHVnaW5NYW5hZ2VyLGEuVGhlbWVNYW5hZ2VyPXIuVGhlbWVNYW5hZ2VyLGEuZG9tPWEuZG9tfHx7fSxhLmRvbS5FdmVudD10LkV2ZW50LGkuZWFjaChpLGZ1bmN0aW9uKGUsdCl7YVt0XT1lfSksaS5lYWNoKCJpc09wZXJhIGlzV2ViS2l0IGlzSUUgaXNHZWNrbyBpc01hYyIuc3BsaXQoIiAiKSxmdW5jdGlvbihlKXthW2VdPW9bZS5zdWJzdHIoMikudG9Mb3dlckNhc2UoKV19KSx7fX0pLHIoc3QsW29lLG1dLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZXh0ZW5kKHtEZWZhdWx0czp7Zmlyc3RDb250cm9sQ2xhc3M6ImZpcnN0IixsYXN0Q29udHJvbENsYXNzOiJsYXN0In0saW5pdDpmdW5jdGlvbihlKXt0aGlzLnNldHRpbmdzPXQuZXh0ZW5kKHt9LHRoaXMuRGVmYXVsdHMsZSl9LHByZVJlbmRlcjpmdW5jdGlvbihlKXtlLmJvZHlDbGFzc2VzLmFkZCh0aGlzLnNldHRpbmdzLmNvbnRhaW5lckNsYXNzKX0sYXBwbHlDbGFzc2VzOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10LnNldHRpbmdzLHIsaSxvLGE7cj1uLmZpcnN0Q29udHJvbENsYXNzLGk9bi5sYXN0Q29udHJvbENsYXNzLGUuZWFjaChmdW5jdGlvbihlKXtlLmNsYXNzZXMucmVtb3ZlKHIpLnJlbW92ZShpKS5hZGQobi5jb250cm9sQ2xhc3MpLGUudmlzaWJsZSgpJiYob3x8KG89ZSksYT1lKX0pLG8mJm8uY2xhc3Nlcy5hZGQociksYSYmYS5jbGFzc2VzLmFkZChpKX0scmVuZGVySHRtbDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49IiI7cmV0dXJuIHQuYXBwbHlDbGFzc2VzKGUuaXRlbXMoKSksZS5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7bis9ZS5yZW5kZXJIdG1sKCl9KSxufSxyZWNhbGM6ZnVuY3Rpb24oKXt9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt9LGlzTmF0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuITF9fSl9KSxyKGx0LFtzdF0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtEZWZhdWx0czp7Y29udGFpbmVyQ2xhc3M6ImFicy1sYXlvdXQiLGNvbnRyb2xDbGFzczoiYWJzLWxheW91dC1pdGVtIn0scmVjYWxjOmZ1bmN0aW9uKGUpe2UuaXRlbXMoKS5maWx0ZXIoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNldHRpbmdzO2UubGF5b3V0UmVjdCh7eDp0LngseTp0Lnksdzp0LncsaDp0Lmh9KSxlLnJlY2FsYyYmZS5yZWNhbGMoKX0pfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKGUpe3JldHVybic8ZGl2IGlkPSInK2UuX2lkKyctYWJzZW5kIiBjbGFzcz0iJytlLmNsYXNzUHJlZml4KydhYnMtZW5kIj48L2Rpdj4nK3RoaXMuX3N1cGVyKGUpfX0pfSkscihjdCxbQWVdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6IndpZGdldCBidG4iLHJvbGU6ImJ1dHRvbiJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuO3QuX3N1cGVyKGUpLGU9dC5zZXR0aW5ncyxuPXQuc2V0dGluZ3Muc2l6ZSx0Lm9uKCJjbGljayBtb3VzZWRvd24iLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pLHQub24oInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGUpe3QuZmlyZSgiY2xpY2siLGUpLGUucHJldmVudERlZmF1bHQoKX0pLGUuc3VidHlwZSYmdC5jbGFzc2VzLmFkZChlLnN1YnR5cGUpLG4mJnQuY2xhc3Nlcy5hZGQoImJ0bi0iK24pLGUuaWNvbiYmdC5pY29uKGUuaWNvbil9LGljb246ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJpY29uIixlKSx0aGlzKTp0aGlzLnN0YXRlLmdldCgiaWNvbiIpfSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXRFbCgpLmZpcnN0Q2hpbGQsdDtlJiYodD1lLnN0eWxlLHQud2lkdGg9dC5oZWlnaHQ9IjEwMCUiKSx0aGlzLl9zdXBlcigpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX2lkLG49ZS5jbGFzc1ByZWZpeCxyPWUuc3RhdGUuZ2V0KCJpY29uIiksaSxvPWUuc3RhdGUuZ2V0KCJ0ZXh0IiksYT0iIjtyZXR1cm4gaT1lLnNldHRpbmdzLmltYWdlLGk/KHI9Im5vbmUiLCJzdHJpbmciIT10eXBlb2YgaSYmKGk9d2luZG93LmdldFNlbGVjdGlvbj9pWzBdOmlbMV0pLGk9IiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCgnIitpKyInKVwiIik6aT0iIixvJiYoZS5jbGFzc2VzLmFkZCgiYnRuLWhhcy10ZXh0IiksYT0nPHNwYW4gY2xhc3M9IicrbisndHh0Ij4nK2UuZW5jb2RlKG8pKyI8L3NwYW4+Iikscj1lLnNldHRpbmdzLmljb24/bisiaWNvICIrbisiaS0iK3I6IiIsJzxkaXYgaWQ9IicrdCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgdGFiaW5kZXg9Ii0xIiBhcmlhLWxhYmVsbGVkYnk9IicrdCsnIj48YnV0dG9uIHJvbGU9InByZXNlbnRhdGlvbiIgdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iLTEiPicrKHI/JzxpIGNsYXNzPSInK3IrJyInK2krIj48L2k+IjoiIikrYSsiPC9idXR0b24+PC9kaXY+In0sYmluZFN0YXRlczpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIGk9bigic3Bhbi4iK3IsdC5nZXRFbCgpKTtlPyhpWzBdfHwobigiYnV0dG9uOmZpcnN0Iix0LmdldEVsKCkpLmFwcGVuZCgnPHNwYW4gY2xhc3M9IicrcisnIj48L3NwYW4+JyksaT1uKCJzcGFuLiIrcix0LmdldEVsKCkpKSxpLmh0bWwodC5lbmNvZGUoZSkpKTppLnJlbW92ZSgpLHQuY2xhc3Nlcy50b2dnbGUoImJ0bi1oYXMtdGV4dCIsISFlKX12YXIgdD10aGlzLG49dC4kLHI9dC5jbGFzc1ByZWZpeCsidHh0IjtyZXR1cm4gdC5zdGF0ZS5vbigiY2hhbmdlOnRleHQiLGZ1bmN0aW9uKHQpe2UodC52YWx1ZSl9KSx0LnN0YXRlLm9uKCJjaGFuZ2U6aWNvbiIsZnVuY3Rpb24obil7dmFyIHI9bi52YWx1ZSxpPXQuY2xhc3NQcmVmaXg7dC5zZXR0aW5ncy5pY29uPXIscj1yP2krImljbyAiK2krImktIit0LnNldHRpbmdzLmljb246IiI7dmFyIG89dC5nZXRFbCgpLmZpcnN0Q2hpbGQsYT1vLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpIilbMF07cj8oYSYmYT09by5maXJzdENoaWxkfHwoYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpIiksby5pbnNlcnRCZWZvcmUoYSxvLmZpcnN0Q2hpbGQpKSxhLmNsYXNzTmFtZT1yKTphJiZvLnJlbW92ZUNoaWxkKGEpLGUodC5zdGF0ZS5nZXQoInRleHQiKSl9KSx0Ll9zdXBlcigpfX0pfSkscih1dCxbYmVdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4dGVuZCh7RGVmYXVsdHM6e2RlZmF1bHRUeXBlOiJidXR0b24iLHJvbGU6Imdyb3VwIn0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9sYXlvdXQ7cmV0dXJuIGUuY2xhc3Nlcy5hZGQoImJ0bi1ncm91cCIpLGUucHJlUmVuZGVyKCksdC5wcmVSZW5kZXIoZSksJzxkaXYgaWQ9IicrZS5faWQrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciPjxkaXYgaWQ9IicrZS5faWQrJy1ib2R5Ij4nKyhlLnNldHRpbmdzLmh0bWx8fCIiKSt0LnJlbmRlckh0bWwoZSkrIjwvZGl2PjwvZGl2PiJ9fSl9KSxyKGR0LFtBZV0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtEZWZhdWx0czp7Y2xhc3NlczoiY2hlY2tib3giLHJvbGU6ImNoZWNrYm94IixjaGVja2VkOiExfSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fc3VwZXIoZSksdC5vbigiY2xpY2sgbW91c2Vkb3duIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9KSx0Lm9uKCJjbGljayIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHQuZGlzYWJsZWQoKXx8dC5jaGVja2VkKCF0LmNoZWNrZWQoKSl9KSx0LmNoZWNrZWQodC5zZXR0aW5ncy5jaGVja2VkKX0sY2hlY2tlZDpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5zdGF0ZS5zZXQoImNoZWNrZWQiLGUpLHRoaXMpOnRoaXMuc3RhdGUuZ2V0KCJjaGVja2VkIil9LHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuY2hlY2tlZChlKTp0aGlzLmNoZWNrZWQoKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9pZCxuPWUuY2xhc3NQcmVmaXg7cmV0dXJuJzxkaXYgaWQ9IicrdCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgdW5zZWxlY3RhYmxlPSJvbiIgYXJpYS1sYWJlbGxlZGJ5PSInK3QrJy1hbCIgdGFiaW5kZXg9Ii0xIj48aSBjbGFzcz0iJytuKyJpY28gIituKydpLWNoZWNrYm94Ij48L2k+PHNwYW4gaWQ9IicrdCsnLWFsIiBjbGFzcz0iJytuKydsYWJlbCI+JytlLmVuY29kZShlLnN0YXRlLmdldCgidGV4dCIpKSsiPC9zcGFuPjwvZGl2PiJ9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3QuY2xhc3Nlcy50b2dnbGUoImNoZWNrZWQiLGUpLHQuYXJpYSgiY2hlY2tlZCIsZSl9dmFyIHQ9dGhpcztyZXR1cm4gdC5zdGF0ZS5vbigiY2hhbmdlOnRleHQiLGZ1bmN0aW9uKGUpe3QuZ2V0RWwoImFsIikuZmlyc3RDaGlsZC5kYXRhPXQudHJhbnNsYXRlKGUudmFsdWUpfSksdC5zdGF0ZS5vbigiY2hhbmdlOmNoZWNrZWQgY2hhbmdlOnZhbHVlIixmdW5jdGlvbihuKXt0LmZpcmUoImNoYW5nZSIpLGUobi52YWx1ZSl9KSx0LnN0YXRlLm9uKCJjaGFuZ2U6aWNvbiIsZnVuY3Rpb24oZSl7dmFyIG49ZS52YWx1ZSxyPXQuY2xhc3NQcmVmaXg7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuKXJldHVybiB0LnNldHRpbmdzLmljb247dC5zZXR0aW5ncy5pY29uPW4sbj1uP3IrImljbyAiK3IrImktIit0LnNldHRpbmdzLmljb246IiI7dmFyIGk9dC5nZXRFbCgpLmZpcnN0Q2hpbGQsbz1pLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpIilbMF07bj8obyYmbz09aS5maXJzdENoaWxkfHwobz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpIiksaS5pbnNlcnRCZWZvcmUobyxpLmZpcnN0Q2hpbGQpKSxvLmNsYXNzTmFtZT1uKTpvJiZpLnJlbW92ZUNoaWxkKG8pfSksdC5zdGF0ZS5nZXQoImNoZWNrZWQiKSYmZSghMCksdC5fc3VwZXIoKX19KX0pLHIoZnQsW0FlLHZlLGZlLGddLGZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBlLmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3QuX3N1cGVyKGUpLGU9dC5zZXR0aW5ncyx0LmNsYXNzZXMuYWRkKCJjb21ib2JveCIpLHQuc3ViaW5wdXQ9ITAsdC5hcmlhVGFyZ2V0PSJpbnAiLGUubWVudT1lLm1lbnV8fGUudmFsdWVzLGUubWVudSYmKGUuaWNvbj0iY2FyZXQiKSx0Lm9uKCJjbGljayIsZnVuY3Rpb24obil7dmFyIGk9bi50YXJnZXQsbz10LmdldEVsKCk7aWYoci5jb250YWlucyhvLGkpfHxpPT1vKWZvcig7aSYmaSE9bzspaS5pZCYmLTEhPWkuaWQuaW5kZXhPZigiLW9wZW4iKSYmKHQuZmlyZSgiYWN0aW9uIiksZS5tZW51JiYodC5zaG93TWVudSgpLG4uYXJpYSYmdC5tZW51Lml0ZW1zKClbMF0uZm9jdXMoKSkpLGk9aS5wYXJlbnROb2RlfSksdC5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7IklOUFVUIj09ZS50YXJnZXQubm9kZU5hbWUmJjEzPT1lLmtleUNvZGUmJnQucGFyZW50cygpLnJldmVyc2UoKS5lYWNoKGZ1bmN0aW9uKG4pe3ZhciByPXQuc3RhdGUuZ2V0KCJ2YWx1ZSIpLGk9dC5nZXRFbCgiaW5wIikudmFsdWU7cmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx0LnN0YXRlLnNldCgidmFsdWUiLGkpLHIhPWkmJnQuZmlyZSgiY2hhbmdlIiksbi5oYXNFdmVudExpc3RlbmVycygic3VibWl0IikmJm4udG9KU09OPyhuLmZpcmUoInN1Ym1pdCIse2RhdGE6bi50b0pTT04oKX0pLCExKTp2b2lkIDB9KX0pLHQub24oImtleXVwIixmdW5jdGlvbihlKXsiSU5QVVQiPT1lLnRhcmdldC5ub2RlTmFtZSYmdC5zdGF0ZS5zZXQoInZhbHVlIixlLnRhcmdldC52YWx1ZSl9KX0sc2hvd01lbnU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49ZS5zZXR0aW5ncyxyO2UubWVudXx8KHI9bi5tZW51fHxbXSxyLmxlbmd0aD9yPXt0eXBlOiJtZW51IixpdGVtczpyfTpyLnR5cGU9ci50eXBlfHwibWVudSIsZS5tZW51PXQuY3JlYXRlKHIpLnBhcmVudChlKS5yZW5kZXJUbyhlLmdldENvbnRhaW5lckVsbSgpKSxlLmZpcmUoImNyZWF0ZW1lbnUiKSxlLm1lbnUucmVmbG93KCksZS5tZW51Lm9uKCJjYW5jZWwiLGZ1bmN0aW9uKHQpe3QuY29udHJvbD09PWUubWVudSYmZS5mb2N1cygpfSksZS5tZW51Lm9uKCJzaG93IGhpZGUiLGZ1bmN0aW9uKHQpe3QuY29udHJvbC5pdGVtcygpLmVhY2goZnVuY3Rpb24odCl7dC5hY3RpdmUodC52YWx1ZSgpPT1lLnZhbHVlKCkpfSl9KS5maXJlKCJzaG93IiksZS5tZW51Lm9uKCJzZWxlY3QiLGZ1bmN0aW9uKHQpe2UudmFsdWUodC5jb250cm9sLnZhbHVlKCkpfSksZS5vbigiZm9jdXNpbiIsZnVuY3Rpb24odCl7IklOUFVUIj09dC50YXJnZXQudGFnTmFtZS50b1VwcGVyQ2FzZSgpJiZlLm1lbnUuaGlkZSgpfSksZS5hcmlhKCJleHBhbmRlZCIsITApKSxlLm1lbnUuc2hvdygpLGUubWVudS5sYXlvdXRSZWN0KHt3OmUubGF5b3V0UmVjdCgpLnd9KSxlLm1lbnUubW92ZVJlbChlLmdldEVsKCksZS5pc1J0bCgpP1siYnItdHIiLCJ0ci1iciJdOlsiYmwtdGwiLCJ0bC1ibCJdKX0sZm9jdXM6ZnVuY3Rpb24oKXt0aGlzLmdldEVsKCJpbnAiKS5mb2N1cygpfSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuZ2V0RWwoKSxpPWUuZ2V0RWwoIm9wZW4iKSxvPWUubGF5b3V0UmVjdCgpLGEsczthPWk/by53LW4uZ2V0U2l6ZShpKS53aWR0aC0xMDpvLnctMTA7dmFyIGw9ZG9jdW1lbnQ7cmV0dXJuIGwuYWxsJiYoIWwuZG9jdW1lbnRNb2RlfHxsLmRvY3VtZW50TW9kZTw9OCkmJihzPWUubGF5b3V0UmVjdCgpLmgtMisicHgiKSxyKHQuZmlyc3RDaGlsZCkuY3NzKHt3aWR0aDphLGxpbmVIZWlnaHQ6c30pLGUuX3N1cGVyKCksZX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHIodGhpcy5nZXRFbCgiaW5wIikpLm9uKCJjaGFuZ2UiLGZ1bmN0aW9uKHQpe2Uuc3RhdGUuc2V0KCJ2YWx1ZSIsdC50YXJnZXQudmFsdWUpLGUuZmlyZSgiY2hhbmdlIix0KX0pLGUuX3N1cGVyKCl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5faWQsbj1lLnNldHRpbmdzLHI9ZS5jbGFzc1ByZWZpeCxpPWUuc3RhdGUuZ2V0KCJ2YWx1ZSIpfHwiIixvLGEscz0iIixsPSIiO3JldHVybiJzcGVsbGNoZWNrImluIG4mJihsKz0nIHNwZWxsY2hlY2s9Iicrbi5zcGVsbGNoZWNrKyciJyksbi5tYXhMZW5ndGgmJihsKz0nIG1heGxlbmd0aD0iJytuLm1heExlbmd0aCsnIicpLG4uc2l6ZSYmKGwrPScgc2l6ZT0iJytuLnNpemUrJyInKSxuLnN1YnR5cGUmJihsKz0nIHR5cGU9Iicrbi5zdWJ0eXBlKyciJyksZS5kaXNhYmxlZCgpJiYobCs9JyBkaXNhYmxlZD0iZGlzYWJsZWQiJyksbz1uLmljb24sbyYmImNhcmV0IiE9byYmKG89cisiaWNvICIrcisiaS0iK24uaWNvbiksYT1lLnN0YXRlLmdldCgidGV4dCIpLChvfHxhKSYmKHM9JzxkaXYgaWQ9IicrdCsnLW9wZW4iIGNsYXNzPSInK3IrImJ0biAiK3IrJ29wZW4iIHRhYkluZGV4PSItMSIgcm9sZT0iYnV0dG9uIj48YnV0dG9uIGlkPSInK3QrJy1hY3Rpb24iIHR5cGU9ImJ1dHRvbiIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPicrKCJjYXJldCIhPW8/JzxpIGNsYXNzPSInK28rJyI+PC9pPic6JzxpIGNsYXNzPSInK3IrJ2NhcmV0Ij48L2k+JykrKGE/KG8/IiAiOiIiKSthOiIiKSsiPC9idXR0b24+PC9kaXY+IixlLmNsYXNzZXMuYWRkKCJoYXMtb3BlbiIpKSwnPGRpdiBpZD0iJyt0KyciIGNsYXNzPSInK2UuY2xhc3NlcysnIj48aW5wdXQgaWQ9IicrdCsnLWlucCIgY2xhc3M9IicrcisndGV4dGJveCIgdmFsdWU9IicrZS5lbmNvZGUoaSwhMSkrJyIgaGlkZWZvY3VzPSIxIicrbCsnIHBsYWNlaG9sZGVyPSInK2UuZW5jb2RlKG4ucGxhY2Vob2xkZXIpKyciIC8+JytzKyI8L2Rpdj4ifSx2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5zdGF0ZS5zZXQoInZhbHVlIixlKSx0aGlzKToodGhpcy5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJnRoaXMuc3RhdGUuc2V0KCJ2YWx1ZSIsdGhpcy5nZXRFbCgiaW5wIikudmFsdWUpLHRoaXMuc3RhdGUuZ2V0KCJ2YWx1ZSIpKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuc3RhdGUub24oImNoYW5nZTp2YWx1ZSIsZnVuY3Rpb24odCl7ZS5nZXRFbCgiaW5wIikudmFsdWUhPXQudmFsdWUmJihlLmdldEVsKCJpbnAiKS52YWx1ZT10LnZhbHVlKX0pLGUuc3RhdGUub24oImNoYW5nZTpkaXNhYmxlZCIsZnVuY3Rpb24odCl7ZS5nZXRFbCgiaW5wIikuZGlzYWJsZWQ9dC52YWx1ZX0pLGUuX3N1cGVyKCl9LHJlbW92ZTpmdW5jdGlvbigpe3IodGhpcy5nZXRFbCgiaW5wIikpLm9mZigpLHRoaXMuX3N1cGVyKCl9fSl9KSxyKGh0LFtmdF0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7ZS5zcGVsbGNoZWNrPSExLGUub25hY3Rpb24mJihlLmljb249Im5vbmUiKSx0Ll9zdXBlcihlKSx0LmNsYXNzZXMuYWRkKCJjb2xvcmJveCIpLHQub24oImNoYW5nZSBrZXl1cCBwb3N0cmVuZGVyIixmdW5jdGlvbigpe3QucmVwYWludENvbG9yKHQudmFsdWUoKSl9KX0scmVwYWludENvbG9yOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0RWwoKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaSIpWzBdO2lmKHQpdHJ5e3Quc3R5bGUuYmFja2dyb3VuZD1lfWNhdGNoKG4pe319LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKHQpe2UuX3JlbmRlcmVkJiZlLnJlcGFpbnRDb2xvcih0LnZhbHVlKX0pLGUuX3N1cGVyKCl9fSl9KSxyKHB0LFtjdCxfZV0sZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5leHRlbmQoe3Nob3dQYW5lbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsbj1lLnNldHRpbmdzO2lmKGUuYWN0aXZlKCEwKSxlLnBhbmVsKWUucGFuZWwuc2hvdygpO2Vsc2V7dmFyIHI9bi5wYW5lbDtyLnR5cGUmJihyPXtsYXlvdXQ6ImdyaWQiLGl0ZW1zOnJ9KSxyLnJvbGU9ci5yb2xlfHwiZGlhbG9nIixyLnBvcG92ZXI9ITAsci5hdXRvaGlkZT0hMCxyLmFyaWFSb290PSEwLGUucGFuZWw9bmV3IHQocikub24oImhpZGUiLGZ1bmN0aW9uKCl7ZS5hY3RpdmUoITEpfSkub24oImNhbmNlbCIsZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKSxlLmZvY3VzKCksZS5oaWRlUGFuZWwoKX0pLnBhcmVudChlKS5yZW5kZXJUbyhlLmdldENvbnRhaW5lckVsbSgpKSxlLnBhbmVsLmZpcmUoInNob3ciKSxlLnBhbmVsLnJlZmxvdygpfWUucGFuZWwubW92ZVJlbChlLmdldEVsKCksbi5wb3BvdmVyQWxpZ258fChlLmlzUnRsKCk/WyJiYy10ciIsImJjLXRjIl06WyJiYy10bCIsImJjLXRjIl0pKX0saGlkZVBhbmVsOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLnBhbmVsJiZlLnBhbmVsLmhpZGUoKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuYXJpYSgiaGFzcG9wdXAiLCEwKSxlLm9uKCJjbGljayIsZnVuY3Rpb24odCl7dC5jb250cm9sPT09ZSYmKGUucGFuZWwmJmUucGFuZWwudmlzaWJsZSgpP2UuaGlkZVBhbmVsKCk6KGUuc2hvd1BhbmVsKCksZS5wYW5lbC5mb2N1cyghIXQuYXJpYSkpKX0pLGUuX3N1cGVyKCl9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhbmVsJiYodGhpcy5wYW5lbC5yZW1vdmUoKSx0aGlzLnBhbmVsPW51bGwpLHRoaXMuX3N1cGVyKCl9fSl9KSxyKG10LFtwdCx3XSxmdW5jdGlvbihlLHQpe3ZhciBuPXQuRE9NO3JldHVybiBlLmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXt0aGlzLl9zdXBlcihlKSx0aGlzLmNsYXNzZXMuYWRkKCJjb2xvcmJ1dHRvbiIpfSxjb2xvcjpmdW5jdGlvbihlKXtyZXR1cm4gZT8odGhpcy5fY29sb3I9ZSx0aGlzLmdldEVsKCJwcmV2aWV3Iikuc3R5bGUuYmFja2dyb3VuZENvbG9yPWUsdGhpcyk6dGhpcy5fY29sb3J9LHJlc2V0Q29sb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29sb3I9bnVsbCx0aGlzLmdldEVsKCJwcmV2aWV3Iikuc3R5bGUuYmFja2dyb3VuZENvbG9yPW51bGwsdGhpc30scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9pZCxuPWUuY2xhc3NQcmVmaXgscj1lLnN0YXRlLmdldCgidGV4dCIpLGk9ZS5zZXR0aW5ncy5pY29uP24rImljbyAiK24rImktIitlLnNldHRpbmdzLmljb246IiIsbz1lLnNldHRpbmdzLmltYWdlPyIgc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyIrZS5zZXR0aW5ncy5pbWFnZSsiJylcIiI6IiIsYT0iIjtyZXR1cm4gciYmKGUuY2xhc3Nlcy5hZGQoImJ0bi1oYXMtdGV4dCIpLGE9JzxzcGFuIGNsYXNzPSInK24rJ3R4dCI+JytlLmVuY29kZShyKSsiPC9zcGFuPiIpLCc8ZGl2IGlkPSInK3QrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9Ii0xIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIj48YnV0dG9uIHJvbGU9InByZXNlbnRhdGlvbiIgaGlkZWZvY3VzPSIxIiB0eXBlPSJidXR0b24iIHRhYmluZGV4PSItMSI+JysoaT8nPGkgY2xhc3M9IicraSsnIicrbysiPjwvaT4iOiIiKSsnPHNwYW4gaWQ9IicrdCsnLXByZXZpZXciIGNsYXNzPSInK24rJ3ByZXZpZXciPjwvc3Bhbj4nK2ErJzwvYnV0dG9uPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytuKydvcGVuIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSI+IDxpIGNsYXNzPSInK24rJ2NhcmV0Ij48L2k+PC9idXR0b24+PC9kaXY+J30scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLnNldHRpbmdzLm9uY2xpY2s7cmV0dXJuIGUub24oImNsaWNrIixmdW5jdGlvbihyKXtyLmFyaWEmJiJkb3duIj09ci5hcmlhLmtleXx8ci5jb250cm9sIT1lfHxuLmdldFBhcmVudChyLnRhcmdldCwiLiIrZS5jbGFzc1ByZWZpeCsib3BlbiIpfHwoci5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0LmNhbGwoZSxyKSl9KSxkZWxldGUgZS5zZXR0aW5ncy5vbmNsaWNrLGUuX3N1cGVyKCl9fSl9KSxyKGd0LFtdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtmdW5jdGlvbiBpKGUsaSxvKXt2YXIgYSxzLGwsYyx1LGQ7cmV0dXJuIGE9MCxzPTAsbD0wLGUvPTI1NSxpLz0yNTUsby89MjU1LHU9dChlLHQoaSxvKSksZD1uKGUsbihpLG8pKSx1PT1kPyhsPXUse2g6MCxzOjAsdjoxMDAqbH0pOihjPWU9PXU/aS1vOm89PXU/ZS1pOm8tZSxhPWU9PXU/MzpvPT11PzE6NSxhPTYwKihhLWMvKGQtdSkpLHM9KGQtdSkvZCxsPWQse2g6cihhKSxzOnIoMTAwKnMpLHY6cigxMDAqbCl9KX1mdW5jdGlvbiBvKGUsaSxvKXt2YXIgYSxzLGwsYztpZihlPShwYXJzZUludChlLDEwKXx8MCklMzYwLGk9cGFyc2VJbnQoaSwxMCkvMTAwLG89cGFyc2VJbnQobywxMCkvMTAwLGk9bigwLHQoaSwxKSksbz1uKDAsdChvLDEpKSwwPT09aSlyZXR1cm4gdm9pZChkPWY9aD1yKDI1NSpvKSk7c3dpdGNoKGE9ZS82MCxzPW8qaSxsPXMqKDEtTWF0aC5hYnMoYSUyLTEpKSxjPW8tcyxNYXRoLmZsb29yKGEpKXtjYXNlIDA6ZD1zLGY9bCxoPTA7YnJlYWs7Y2FzZSAxOmQ9bCxmPXMsaD0wO2JyZWFrO2Nhc2UgMjpkPTAsZj1zLGg9bDticmVhaztjYXNlIDM6ZD0wLGY9bCxoPXM7YnJlYWs7Y2FzZSA0OmQ9bCxmPTAsaD1zO2JyZWFrO2Nhc2UgNTpkPXMsZj0wLGg9bDticmVhaztkZWZhdWx0OmQ9Zj1oPTB9ZD1yKDI1NSooZCtjKSksZj1yKDI1NSooZitjKSksaD1yKDI1NSooaCtjKSl9ZnVuY3Rpb24gYSgpe2Z1bmN0aW9uIGUoZSl7cmV0dXJuIGU9cGFyc2VJbnQoZSwxMCkudG9TdHJpbmcoMTYpLGUubGVuZ3RoPjE/ZToiMCIrZX1yZXR1cm4iIyIrZShkKStlKGYpK2UoaCl9ZnVuY3Rpb24gcygpe3JldHVybntyOmQsZzpmLGI6aH19ZnVuY3Rpb24gbCgpe3JldHVybiBpKGQsZixoKX1mdW5jdGlvbiBjKGUpe3ZhciB0O3JldHVybiJvYmplY3QiPT10eXBlb2YgZT8iciJpbiBlPyhkPWUucixmPWUuZyxoPWUuYik6InYiaW4gZSYmbyhlLmgsZS5zLGUudik6KHQ9L3JnYlxzKlwoXHMqKFswLTldKylccyosXHMqKFswLTldKylccyosXHMqKFswLTldKylbXlwpXSpcKS9naS5leGVjKGUpKT8oZD1wYXJzZUludCh0WzFdLDEwKSxmPXBhcnNlSW50KHRbMl0sMTApLGg9cGFyc2VJbnQodFszXSwxMCkpOih0PS8jKFswLUZdezJ9KShbMC1GXXsyfSkoWzAtRl17Mn0pL2dpLmV4ZWMoZSkpPyhkPXBhcnNlSW50KHRbMV0sMTYpLGY9cGFyc2VJbnQodFsyXSwxNiksaD1wYXJzZUludCh0WzNdLDE2KSk6KHQ9LyMoWzAtRl0pKFswLUZdKShbMC1GXSkvZ2kuZXhlYyhlKSkmJihkPXBhcnNlSW50KHRbMV0rdFsxXSwxNiksZj1wYXJzZUludCh0WzJdK3RbMl0sMTYpLGg9cGFyc2VJbnQodFszXSt0WzNdLDE2KSksZD0wPmQ/MDpkPjI1NT8yNTU6ZCxmPTA+Zj8wOmY+MjU1PzI1NTpmLGg9MD5oPzA6aD4yNTU/MjU1OmgsdX12YXIgdT10aGlzLGQ9MCxmPTAsaD0wO2UmJmMoZSksdS50b1JnYj1zLHUudG9Ic3Y9bCx1LnRvSGV4PWEsdS5wYXJzZT1jfXZhciB0PU1hdGgubWluLG49TWF0aC5tYXgscj1NYXRoLnJvdW5kO3JldHVybiBlfSkscih2dCxbQWUsQ2UsZmUsZ3RdLGZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBlLmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6IndpZGdldCBjb2xvcnBpY2tlciJ9LGluaXQ6ZnVuY3Rpb24oZSl7dGhpcy5fc3VwZXIoZSl9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dmFyIHI9bi5nZXRQb3MoZSksaSxvO3JldHVybiBpPXQucGFnZVgtci54LG89dC5wYWdlWS1yLnksaT1NYXRoLm1heCgwLE1hdGgubWluKGkvZS5jbGllbnRXaWR0aCwxKSksbz1NYXRoLm1heCgwLE1hdGgubWluKG8vZS5jbGllbnRIZWlnaHQsMSkpLHt4OmkseTpvfX1mdW5jdGlvbiBpKGUsdCl7dmFyIGk9KDM2MC1lLmgpLzM2MDtuLmNzcyhkLHt0b3A6MTAwKmkrIiUifSksdHx8bi5jc3MoaCx7bGVmdDplLnMrIiUiLHRvcDoxMDAtZS52KyIlIn0pLGYuc3R5bGUuYmFja2dyb3VuZD1uZXcgcih7czoxMDAsdjoxMDAsaDplLmh9KS50b0hleCgpLHMuY29sb3IoKS5wYXJzZSh7czplLnMsdjplLnYsaDplLmh9KX1mdW5jdGlvbiBvKHQpe3ZhciBuO249ZShmLHQpLGMucz0xMDAqbi54LGMudj0xMDAqKDEtbi55KSxpKGMpLHMuZmlyZSgiY2hhbmdlIil9ZnVuY3Rpb24gYSh0KXt2YXIgbjtuPWUodSx0KSxjPWwudG9Ic3YoKSxjLmg9MzYwKigxLW4ueSksaShjLCEwKSxzLmZpcmUoImNoYW5nZSIpfXZhciBzPXRoaXMsbD1zLmNvbG9yKCksYyx1LGQsZixoO3U9cy5nZXRFbCgiaCIpLGQ9cy5nZXRFbCgiaHAiKSxmPXMuZ2V0RWwoInN2IiksaD1zLmdldEVsKCJzdnAiKSxzLl9yZXBhaW50PWZ1bmN0aW9uKCl7Yz1sLnRvSHN2KCksaShjKX0scy5fc3VwZXIoKSxzLl9zdmRyYWdoZWxwZXI9bmV3IHQocy5faWQrIi1zdiIse3N0YXJ0Om8sZHJhZzpvfSkscy5faGRyYWdoZWxwZXI9bmV3IHQocy5faWQrIi1oIix7c3RhcnQ6YSxkcmFnOmF9KSxzLl9yZXBhaW50KCl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbG9yKCkudG9SZ2IoKX0sdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odC5jb2xvcigpLnBhcnNlKGUpLHZvaWQodC5fcmVuZGVyZWQmJnQuX3JlcGFpbnQoKSkpOnQuY29sb3IoKS50b0hleCgpfSxjb2xvcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb2xvcnx8KHRoaXMuX2NvbG9yPW5ldyByKSx0aGlzLl9jb2xvcn0scmVuZGVySHRtbDpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgZSx0LG49IiIsaSxhO2ZvcihpPSJmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9IixhPW8uc3BsaXQoIiwiKSxlPTAsdD1hLmxlbmd0aC0xO3Q+ZTtlKyspbis9JzxkaXYgY2xhc3M9IicrcisnY29sb3JwaWNrZXItaC1jaHVuayIgc3R5bGU9ImhlaWdodDonKzEwMC90KyIlOyIraSthW2VdKyIsZW5kQ29sb3JzdHI9IithW2UrMV0rIik7LW1zLSIraSthW2VdKyIsZW5kQ29sb3JzdHI9IithW2UrMV0rJykiPjwvZGl2Pic7cmV0dXJuIG59dmFyIHQ9dGhpcyxuPXQuX2lkLHI9dC5jbGFzc1ByZWZpeCxpLG89IiNmZjAwMDAsI2ZmMDA4MCwjZmYwMGZmLCM4MDAwZmYsIzAwMDBmZiwjMDA4MGZmLCMwMGZmZmYsIzAwZmY4MCwjMDBmZjAwLCM4MGZmMDAsI2ZmZmYwMCwjZmY4MDAwLCNmZjAwMDAiLGE9ImJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCIrbysiKTtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCIrbysiKTsiO3JldHVybiBpPSc8ZGl2IGlkPSInK24rJy1oIiBjbGFzcz0iJytyKydjb2xvcnBpY2tlci1oIiBzdHlsZT0iJythKyciPicrZSgpKyc8ZGl2IGlkPSInK24rJy1ocCIgY2xhc3M9IicrcisnY29sb3JwaWNrZXItaC1tYXJrZXIiPjwvZGl2PjwvZGl2PicsJzxkaXYgaWQ9IicrbisnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyI+PGRpdiBpZD0iJytuKyctc3YiIGNsYXNzPSInK3IrJ2NvbG9ycGlja2VyLXN2Ij48ZGl2IGNsYXNzPSInK3IrJ2NvbG9ycGlja2VyLW92ZXJsYXkxIj48ZGl2IGNsYXNzPSInK3IrJ2NvbG9ycGlja2VyLW92ZXJsYXkyIj48ZGl2IGlkPSInK24rJy1zdnAiIGNsYXNzPSInK3IrJ2NvbG9ycGlja2VyLXNlbGVjdG9yMSI+PGRpdiBjbGFzcz0iJytyKydjb2xvcnBpY2tlci1zZWxlY3RvcjIiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PicraSsiPC9kaXY+In19KX0pLHIoeXQsW0FlXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztlLmRlbGltaXRlcnx8KGUuZGVsaW1pdGVyPSJceGJiIiksdC5fc3VwZXIoZSksdC5jbGFzc2VzLmFkZCgicGF0aCIpLHQuY2FuRm9jdXM9ITAsdC5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciBuLHI9ZS50YXJnZXQ7KG49ci5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSkmJnQuZmlyZSgic2VsZWN0Iix7dmFsdWU6dC5yb3coKVtuXSxpbmRleDpufSl9KSx0LnJvdyh0LnNldHRpbmdzLnJvdyl9LGZvY3VzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5nZXRFbCgpLmZpcnN0Q2hpbGQuZm9jdXMoKSxlfSxyb3c6ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJyb3ciLGUpLHRoaXMpOnRoaXMuc3RhdGUuZ2V0KCJyb3ciKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuJzxkaXYgaWQ9IicrZS5faWQrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciPicrZS5fZ2V0RGF0YVBhdGhIdG1sKGUuc3RhdGUuZ2V0KCJyb3ciKSkrIjwvZGl2PiJ9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnN0YXRlLm9uKCJjaGFuZ2U6cm93IixmdW5jdGlvbih0KXtlLmlubmVySHRtbChlLl9nZXREYXRhUGF0aEh0bWwodC52YWx1ZSkpfSksZS5fc3VwZXIoKX0sX2dldERhdGFQYXRoSHRtbDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49ZXx8W10scixpLG89IiIsYT10LmNsYXNzUHJlZml4O2ZvcihyPTAsaT1uLmxlbmd0aDtpPnI7cisrKW8rPShyPjA/JzxkaXYgY2xhc3M9IicrYSsnZGl2aWRlciIgYXJpYS1oaWRkZW49InRydWUiPiAnK3Quc2V0dGluZ3MuZGVsaW1pdGVyKyIgPC9kaXY+IjoiIikrJzxkaXYgcm9sZT0iYnV0dG9uIiBjbGFzcz0iJythKyJwYXRoLWl0ZW0iKyhyPT1pLTE/IiAiK2ErImxhc3QiOiIiKSsnIiBkYXRhLWluZGV4PSInK3IrJyIgdGFiaW5kZXg9Ii0xIiBpZD0iJyt0Ll9pZCsiLSIrcisnIiBhcmlhLWxldmVsPSInK3IrJyI+JytuW3JdLm5hbWUrIjwvZGl2PiI7cmV0dXJuIG98fChvPSc8ZGl2IGNsYXNzPSInK2ErJ3BhdGgtaXRlbSI+XHhhMDwvZGl2PicpLG99fSl9KSxyKGJ0LFt5dCxaZV0sZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5leHRlbmQoe3Bvc3RSZW5kZXI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe2lmKDE9PT1lLm5vZGVUeXBlKXtpZigiQlIiPT1lLm5vZGVOYW1lfHxlLmdldEF0dHJpYnV0ZSgiZGF0YS1tY2UtYm9ndXMiKSlyZXR1cm4hMDtpZigiYm9va21hcmsiPT09ZS5nZXRBdHRyaWJ1dGUoImRhdGEtbWNlLXR5cGUiKSlyZXR1cm4hMH1yZXR1cm4hMX12YXIgbj10aGlzLHI9dC5hY3RpdmVFZGl0b3I7cmV0dXJuIHIuc2V0dGluZ3MuZWxlbWVudHBhdGghPT0hMSYmKG4ub24oInNlbGVjdCIsZnVuY3Rpb24oZSl7ci5mb2N1cygpLHIuc2VsZWN0aW9uLnNlbGVjdCh0aGlzLnJvdygpW2UuaW5kZXhdLmVsZW1lbnQpLHIubm9kZUNoYW5nZWQoKX0pLHIub24oIm5vZGVDaGFuZ2UiLGZ1bmN0aW9uKHQpe2Zvcih2YXIgaT1bXSxvPXQucGFyZW50cyxhPW8ubGVuZ3RoO2EtLTspaWYoMT09b1thXS5ub2RlVHlwZSYmIWUob1thXSkpe3ZhciBzPXIuZmlyZSgiUmVzb2x2ZU5hbWUiLHtuYW1lOm9bYV0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSx0YXJnZXQ6b1thXX0pO2lmKHMuaXNEZWZhdWx0UHJldmVudGVkKCl8fGkucHVzaCh7bmFtZTpzLm5hbWUsZWxlbWVudDpvW2FdfSkscy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfW4ucm93KGkpfSkpLG4uX3N1cGVyKCl9fSl9KSxyKEN0LFtiZV0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtEZWZhdWx0czp7bGF5b3V0OiJmbGV4IixhbGlnbjoiY2VudGVyIixkZWZhdWx0czp7ZmxleDoxfX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLl9sYXlvdXQsbj1lLmNsYXNzUHJlZml4O3JldHVybiBlLmNsYXNzZXMuYWRkKCJmb3JtaXRlbSIpLHQucHJlUmVuZGVyKGUpLCc8ZGl2IGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSI+JysoZS5zZXR0aW5ncy50aXRsZT8nPGRpdiBpZD0iJytlLl9pZCsnLXRpdGxlIiBjbGFzcz0iJytuKyd0aXRsZSI+JytlLnNldHRpbmdzLnRpdGxlKyI8L2Rpdj4iOiIiKSsnPGRpdiBpZD0iJytlLl9pZCsnLWJvZHkiIGNsYXNzPSInK2UuYm9keUNsYXNzZXMrJyI+JysoZS5zZXR0aW5ncy5odG1sfHwiIikrdC5yZW5kZXJIdG1sKGUpKyI8L2Rpdj48L2Rpdj4ifX0pfSkscih4dCxbYmUsQ3QsbV0sZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlLmV4dGVuZCh7RGVmYXVsdHM6e2NvbnRhaW5lckNsczoiZm9ybSIsbGF5b3V0OiJmbGV4IixkaXJlY3Rpb246ImNvbHVtbiIsYWxpZ246InN0cmV0Y2giLGZsZXg6MSxwYWRkaW5nOjIwLGxhYmVsR2FwOjMwLHNwYWNpbmc6MTAsY2FsbGJhY2tzOntzdWJtaXQ6ZnVuY3Rpb24oKXt0aGlzLnN1Ym1pdCgpfX19LHByZVJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXMscj1lLml0ZW1zKCk7ZS5zZXR0aW5ncy5mb3JtSXRlbURlZmF1bHRzfHwoZS5zZXR0aW5ncy5mb3JtSXRlbURlZmF1bHRzPXtsYXlvdXQ6ImZsZXgiLGF1dG9SZXNpemU6Im92ZXJmbG93IixkZWZhdWx0czp7ZmxleDoxfX0pLHIuZWFjaChmdW5jdGlvbihyKXt2YXIgaSxvPXIuc2V0dGluZ3MubGFiZWw7byYmKGk9bmV3IHQobi5leHRlbmQoe2l0ZW1zOnt0eXBlOiJsYWJlbCIsaWQ6ci5faWQrIi1sIix0ZXh0Om8sZmxleDowLGZvcklkOnIuX2lkLGRpc2FibGVkOnIuZGlzYWJsZWQoKX19LGUuc2V0dGluZ3MuZm9ybUl0ZW1EZWZhdWx0cykpLGkudHlwZT0iZm9ybWl0ZW0iLHIuYXJpYSgibGFiZWxsZWRieSIsci5faWQrIi1sIiksInVuZGVmaW5lZCI9PXR5cGVvZiByLnNldHRpbmdzLmZsZXgmJihyLnNldHRpbmdzLmZsZXg9MSksZS5yZXBsYWNlKHIsaSksaS5hZGQocikpfSl9LHN1Ym1pdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpcmUoInN1Ym1pdCIse2RhdGE6dGhpcy50b0pTT04oKX0pfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLl9zdXBlcigpLGUuZnJvbUpTT04oZS5zZXR0aW5ncy5kYXRhKX0sYmluZFN0YXRlczpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgZT0wLG49W10scixpLG87aWYodC5zZXR0aW5ncy5sYWJlbEdhcENhbGMhPT0hMSlmb3Iobz0iY2hpbGRyZW4iPT10LnNldHRpbmdzLmxhYmVsR2FwQ2FsYz90LmZpbmQoImZvcm1pdGVtIik6dC5pdGVtcygpLG8uZmlsdGVyKCJmb3JtaXRlbSIpLmVhY2goZnVuY3Rpb24odCl7dmFyIHI9dC5pdGVtcygpWzBdLGk9ci5nZXRFbCgpLmNsaWVudFdpZHRoO2U9aT5lP2k6ZSxuLnB1c2gocil9KSxpPXQuc2V0dGluZ3MubGFiZWxHYXB8fDAscj1uLmxlbmd0aDtyLS07KW5bcl0uc2V0dGluZ3MubWluV2lkdGg9ZStpfXZhciB0PXRoaXM7dC5fc3VwZXIoKSx0Lm9uKCJzaG93IixlKSxlKCl9fSl9KSxyKHd0LFt4dF0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtEZWZhdWx0czp7Y29udGFpbmVyQ2xzOiJmaWVsZHNldCIsbGF5b3V0OiJmbGV4IixkaXJlY3Rpb246ImNvbHVtbiIsYWxpZ246InN0cmV0Y2giLGZsZXg6MSxwYWRkaW5nOiIyNSAxNSA1IDE1IixsYWJlbEdhcDozMCxzcGFjaW5nOjEwLGJvcmRlcjoxfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX2xheW91dCxuPWUuY2xhc3NQcmVmaXg7cmV0dXJuIGUucHJlUmVuZGVyKCksdC5wcmVSZW5kZXIoZSksJzxmaWVsZHNldCBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPicrKGUuc2V0dGluZ3MudGl0bGU/JzxsZWdlbmQgaWQ9IicrZS5faWQrJy10aXRsZSIgY2xhc3M9IicrbisnZmllbGRzZXQtdGl0bGUiPicrZS5zZXR0aW5ncy50aXRsZSsiPC9sZWdlbmQ+IjoiIikrJzxkaXYgaWQ9IicrZS5faWQrJy1ib2R5IiBjbGFzcz0iJytlLmJvZHlDbGFzc2VzKyciPicrKGUuc2V0dGluZ3MuaHRtbHx8IiIpK3QucmVuZGVySHRtbChlKSsiPC9kaXY+PC9maWVsZHNldD4ifX0pfSkscihOdCxbZnQsbV0sZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcyxyPXRpbnltY2UuYWN0aXZlRWRpdG9yLGk9ci5zZXR0aW5ncyxvLGEscztlLnNwZWxsY2hlY2s9ITEscz1pLmZpbGVfcGlja2VyX3R5cGVzfHxpLmZpbGVfYnJvd3Nlcl9jYWxsYmFja190eXBlcyxzJiYocz10Lm1ha2VNYXAocywvWywgXS8pKSxzJiYhc1tlLmZpbGV0eXBlXXx8KGE9aS5maWxlX3BpY2tlcl9jYWxsYmFjaywhYXx8cyYmIXNbZS5maWxldHlwZV0/KGE9aS5maWxlX2Jyb3dzZXJfY2FsbGJhY2ssIWF8fHMmJiFzW2UuZmlsZXR5cGVdfHwobz1mdW5jdGlvbigpe2Eobi5nZXRFbCgiaW5wIikuaWQsbi52YWx1ZSgpLGUuZmlsZXR5cGUsd2luZG93KX0pKTpvPWZ1bmN0aW9uKCl7dmFyIGk9bi5maXJlKCJiZWZvcmVjYWxsIikubWV0YTtpPXQuZXh0ZW5kKHtmaWxldHlwZTplLmZpbGV0eXBlfSxpKSxhLmNhbGwocixmdW5jdGlvbihlLHQpe24udmFsdWUoZSkuZmlyZSgiY2hhbmdlIix7bWV0YTp0fSl9LG4udmFsdWUoKSxpKX0pLG8mJihlLmljb249ImJyb3dzZSIsZS5vbmFjdGlvbj1vKSxuLl9zdXBlcihlKX19KX0pLHIoRXQsW2x0XSxmdW5jdGlvbihlKXtyZXR1cm4gZS5leHRlbmQoe3JlY2FsYzpmdW5jdGlvbihlKXt2YXIgdD1lLmxheW91dFJlY3QoKSxuPWUucGFkZGluZ0JveDtlLml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpLmVhY2goZnVuY3Rpb24oZSl7ZS5sYXlvdXRSZWN0KHt4Om4ubGVmdCx5Om4udG9wLHc6dC5pbm5lclctbi5yaWdodC1uLmxlZnQsaDp0LmlubmVySC1uLnRvcC1uLmJvdHRvbX0pLGUucmVjYWxjJiZlLnJlY2FsYygpfSl9fSl9KSxyKF90LFtsdF0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtyZWNhbGM6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHMsbCxjLHUsZCxmLGgscCxtLGcsdj1bXSx5LGIsQyx4LHcsTixFLF8sUyxrLFQsUixBLEIsRCxNLEwsUCxILE8sSSxGLHo9TWF0aC5tYXgsVz1NYXRoLm1pbjtmb3Iocj1lLml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpLGk9ZS5sYXlvdXRSZWN0KCksbz1lLnBhZGRpbmdCb3gsYT1lLnNldHRpbmdzLGY9ZS5pc1J0bCgpP2EuZGlyZWN0aW9ufHwicm93LXJldmVyc2VkIjphLmRpcmVjdGlvbixzPWEuYWxpZ24sbD1lLmlzUnRsKCk/YS5wYWNrfHwiZW5kIjphLnBhY2ssYz1hLnNwYWNpbmd8fDAsInJvdy1yZXZlcnNlZCIhPWYmJiJjb2x1bW4tcmV2ZXJzZSIhPWZ8fChyPXIuc2V0KHIudG9BcnJheSgpLnJldmVyc2UoKSksZj1mLnNwbGl0KCItIilbMF0pLCJjb2x1bW4iPT1mPyhTPSJ5IixFPSJoIixfPSJtaW5IIixrPSJtYXhIIixSPSJpbm5lckgiLFQ9InRvcCIsQT0iZGVsdGFIIixCPSJjb250ZW50SCIsSD0ibGVmdCIsTD0idyIsRD0ieCIsTT0iaW5uZXJXIixQPSJtaW5XIixPPSJyaWdodCIsST0iZGVsdGFXIixGPSJjb250ZW50VyIpOihTPSJ4IixFPSJ3IixfPSJtaW5XIixrPSJtYXhXIixSPSJpbm5lclciLFQ9ImxlZnQiLEE9ImRlbHRhVyIsQj0iY29udGVudFciLEg9InRvcCIsTD0iaCIsRD0ieSIsTT0iaW5uZXJIIixQPSJtaW5IIixPPSJib3R0b20iLEk9ImRlbHRhSCIsRj0iY29udGVudEgiKSxkPWlbUl0tb1tUXS1vW1RdLE49dT0wLHQ9MCxuPXIubGVuZ3RoO24+dDt0KyspaD1yW3RdLHA9aC5sYXlvdXRSZWN0KCksbT1oLnNldHRpbmdzLGc9bS5mbGV4LGQtPW4tMT50P2M6MCxnPjAmJih1Kz1nLHBba10mJnYucHVzaChoKSxwLmZsZXg9ZyksZC09cFtfXSx5PW9bSF0rcFtQXStvW09dLHk+TiYmKE49eSk7aWYoeD17fSwwPmQ/eFtfXT1pW19dLWQraVtBXTp4W19dPWlbUl0tZCtpW0FdLHhbUF09TitpW0ldLHhbQl09aVtSXS1kLHhbRl09Tix4Lm1pblc9Vyh4Lm1pblcsaS5tYXhXKSx4Lm1pbkg9Vyh4Lm1pbkgsaS5tYXhIKSx4Lm1pblc9eih4Lm1pblcsaS5zdGFydE1pbldpZHRoKSx4Lm1pbkg9eih4Lm1pbkgsaS5zdGFydE1pbkhlaWdodCksIWkuYXV0b1Jlc2l6ZXx8eC5taW5XPT1pLm1pblcmJngubWluSD09aS5taW5IKXtmb3IoQz1kL3UsdD0wLG49di5sZW5ndGg7bj50O3QrKyloPXZbdF0scD1oLmxheW91dFJlY3QoKSxiPXBba10seT1wW19dK3AuZmxleCpDLHk+Yj8oZC09cFtrXS1wW19dLHUtPXAuZmxleCxwLmZsZXg9MCxwLm1heEZsZXhTaXplPWIpOnAubWF4RmxleFNpemU9MDtmb3IoQz1kL3Usdz1vW1RdLHg9e30sMD09PXUmJigiZW5kIj09bD93PWQrb1tUXToiY2VudGVyIj09bD8odz1NYXRoLnJvdW5kKGlbUl0vMi0oaVtSXS1kKS8yKStvW1RdLDA+dyYmKHc9b1tUXSkpOiJqdXN0aWZ5Ij09bCYmKHc9b1tUXSxjPU1hdGguZmxvb3IoZC8oci5sZW5ndGgtMSkpKSkseFtEXT1vW0hdLHQ9MCxuPXIubGVuZ3RoO24+dDt0KyspaD1yW3RdLHA9aC5sYXlvdXRSZWN0KCkseT1wLm1heEZsZXhTaXplfHxwW19dLCJjZW50ZXIiPT09cz94W0RdPU1hdGgucm91bmQoaVtNXS8yLXBbTF0vMik6InN0cmV0Y2giPT09cz8oeFtMXT16KHBbUF18fDAsaVtNXS1vW0hdLW9bT10pLHhbRF09b1tIXSk6ImVuZCI9PT1zJiYoeFtEXT1pW01dLXBbTF0tby50b3ApLHAuZmxleD4wJiYoeSs9cC5mbGV4KkMpLHhbRV09eSx4W1NdPXcsaC5sYXlvdXRSZWN0KHgpLGgucmVjYWxjJiZoLnJlY2FsYygpLHcrPXkrY31lbHNlIGlmKHgudz14Lm1pblcseC5oPXgubWluSCxlLmxheW91dFJlY3QoeCksdGhpcy5yZWNhbGMoZSksbnVsbD09PWUuX2xhc3RSZWN0KXt2YXIgVj1lLnBhcmVudCgpO1YmJihWLl9sYXN0UmVjdD1udWxsLFYucmVjYWxjKCkpfX19KX0pLHIoU3QsW3N0XSxmdW5jdGlvbihlKXtyZXR1cm4gZS5leHRlbmQoe0RlZmF1bHRzOntjb250YWluZXJDbGFzczoiZmxvdy1sYXlvdXQiLGNvbnRyb2xDbGFzczoiZmxvdy1sYXlvdXQtaXRlbSIsZW5kQ2xhc3M6ImJyZWFrIn0scmVjYWxjOmZ1bmN0aW9uKGUpe2UuaXRlbXMoKS5maWx0ZXIoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbihlKXtlLnJlY2FsYyYmZS5yZWNhbGMoKX0pfSxpc05hdGl2ZTpmdW5jdGlvbigpe3JldHVybiEwfX0pfSkscihrdCxbZ2UsQWUsX2UsbSxaZSxoXSxmdW5jdGlvbihlLHQsbixyLGksbyl7ZnVuY3Rpb24gYShlKXtmdW5jdGlvbiB0KHQsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dGhpcztlLm9uKCJub2RlQ2hhbmdlIixmdW5jdGlvbihpKXt2YXIgbz1lLmZvcm1hdHRlcixhPW51bGw7cyhpLnBhcmVudHMsZnVuY3Rpb24oZSl7cmV0dXJuIHModCxmdW5jdGlvbih0KXtyZXR1cm4gbj9vLm1hdGNoTm9kZShlLG4se3ZhbHVlOnQudmFsdWV9KSYmKGE9dC52YWx1ZSk6by5tYXRjaE5vZGUoZSx0LnZhbHVlKSYmKGE9dC52YWx1ZSksYT8hMTp2b2lkIDB9KSxhPyExOnZvaWQgMH0pLHIudmFsdWUoYSl9KX19ZnVuY3Rpb24gcihlKXtlPWUucmVwbGFjZSgvOyQvLCIiKS5zcGxpdCgiOyIpO2Zvcih2YXIgdD1lLmxlbmd0aDt0LS07KWVbdF09ZVt0XS5zcGxpdCgiPSIpO3JldHVybiBlfWZ1bmN0aW9uIGkoKXtmdW5jdGlvbiB0KGUpe3ZhciBuPVtdO2lmKGUpcmV0dXJuIHMoZSxmdW5jdGlvbihlKXt2YXIgbz17dGV4dDplLnRpdGxlLGljb246ZS5pY29ufTtpZihlLml0ZW1zKW8ubWVudT10KGUuaXRlbXMpO2Vsc2V7dmFyIGE9ZS5mb3JtYXR8fCJjdXN0b20iK3IrKztlLmZvcm1hdHx8KGUubmFtZT1hLGkucHVzaChlKSksby5mb3JtYXQ9YSxvLmNtZD1lLmNtZH1uLnB1c2gobyl9KSxufWZ1bmN0aW9uIG4oKXt2YXIgbjtyZXR1cm4gbj10KGUuc2V0dGluZ3Muc3R5bGVfZm9ybWF0c19tZXJnZT9lLnNldHRpbmdzLnN0eWxlX2Zvcm1hdHM/by5jb25jYXQoZS5zZXR0aW5ncy5zdHlsZV9mb3JtYXRzKTpvOmUuc2V0dGluZ3Muc3R5bGVfZm9ybWF0c3x8byl9dmFyIHI9MCxpPVtdLG89W3t0aXRsZToiSGVhZGluZ3MiLGl0ZW1zOlt7dGl0bGU6IkhlYWRpbmcgMSIsZm9ybWF0OiJoMSJ9LHt0aXRsZToiSGVhZGluZyAyIixmb3JtYXQ6ImgyIn0se3RpdGxlOiJIZWFkaW5nIDMiLGZvcm1hdDoiaDMifSx7dGl0bGU6IkhlYWRpbmcgNCIsZm9ybWF0OiJoNCJ9LHt0aXRsZToiSGVhZGluZyA1Iixmb3JtYXQ6Img1In0se3RpdGxlOiJIZWFkaW5nIDYiLGZvcm1hdDoiaDYifV19LHt0aXRsZToiSW5saW5lIixpdGVtczpbe3RpdGxlOiJCb2xkIixpY29uOiJib2xkIixmb3JtYXQ6ImJvbGQifSx7dGl0bGU6Ikl0YWxpYyIsaWNvbjoiaXRhbGljIixmb3JtYXQ6Iml0YWxpYyJ9LHt0aXRsZToiVW5kZXJsaW5lIixpY29uOiJ1bmRlcmxpbmUiLGZvcm1hdDoidW5kZXJsaW5lIn0se3RpdGxlOiJTdHJpa2V0aHJvdWdoIixpY29uOiJzdHJpa2V0aHJvdWdoIixmb3JtYXQ6InN0cmlrZXRocm91Z2gifSx7dGl0bGU6IlN1cGVyc2NyaXB0IixpY29uOiJzdXBlcnNjcmlwdCIsZm9ybWF0OiJzdXBlcnNjcmlwdCJ9LHt0aXRsZToiU3Vic2NyaXB0IixpY29uOiJzdWJzY3JpcHQiLGZvcm1hdDoic3Vic2NyaXB0In0se3RpdGxlOiJDb2RlIixpY29uOiJjb2RlIixmb3JtYXQ6ImNvZGUifV19LHt0aXRsZToiQmxvY2tzIixpdGVtczpbe3RpdGxlOiJQYXJhZ3JhcGgiLGZvcm1hdDoicCJ9LHt0aXRsZToiQmxvY2txdW90ZSIsZm9ybWF0OiJibG9ja3F1b3RlIn0se3RpdGxlOiJEaXYiLGZvcm1hdDoiZGl2In0se3RpdGxlOiJQcmUiLGZvcm1hdDoicHJlIn1dfSx7dGl0bGU6IkFsaWdubWVudCIsaXRlbXM6W3t0aXRsZToiTGVmdCIsaWNvbjoiYWxpZ25sZWZ0Iixmb3JtYXQ6ImFsaWdubGVmdCJ9LHt0aXRsZToiQ2VudGVyIixpY29uOiJhbGlnbmNlbnRlciIsZm9ybWF0OiJhbGlnbmNlbnRlciJ9LHt0aXRsZToiUmlnaHQiLGljb246ImFsaWducmlnaHQiLGZvcm1hdDoiYWxpZ25yaWdodCJ9LHt0aXRsZToiSnVzdGlmeSIsaWNvbjoiYWxpZ25qdXN0aWZ5Iixmb3JtYXQ6ImFsaWduanVzdGlmeSJ9XX1dO3JldHVybiBlLm9uKCJpbml0IixmdW5jdGlvbigpe3MoaSxmdW5jdGlvbih0KXtlLmZvcm1hdHRlci5yZWdpc3Rlcih0Lm5hbWUsdCl9KX0pLHt0eXBlOiJtZW51IixpdGVtczpuKCksb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKHQpe2UuZmlyZSgicmVuZGVyRm9ybWF0c01lbnUiLHtjb250cm9sOnQuY29udHJvbH0pfSxpdGVtRGVmYXVsdHM6e3ByZXZpZXc6ITAsdGV4dFN0eWxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2V0dGluZ3MuZm9ybWF0P2UuZm9ybWF0dGVyLmdldENzc1RleHQodGhpcy5zZXR0aW5ncy5mb3JtYXQpOnZvaWQgMH0sb25Qb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0LnBhcmVudCgpLm9uKCJzaG93IixmdW5jdGlvbigpe3ZhciBuLHI7bj10LnNldHRpbmdzLmZvcm1hdCxuJiYodC5kaXNhYmxlZCghZS5mb3JtYXR0ZXIuY2FuQXBwbHkobikpLHQuYWN0aXZlKGUuZm9ybWF0dGVyLm1hdGNoKG4pKSkscj10LnNldHRpbmdzLmNtZCxyJiZ0LmFjdGl2ZShlLnF1ZXJ5Q29tbWFuZFN0YXRlKHIpKX0pfSxvbmNsaWNrOmZ1bmN0aW9uKCl7dGhpcy5zZXR0aW5ncy5mb3JtYXQmJmModGhpcy5zZXR0aW5ncy5mb3JtYXQpLHRoaXMuc2V0dGluZ3MuY21kJiZlLmV4ZWNDb21tYW5kKHRoaXMuc2V0dGluZ3MuY21kKX19fX1mdW5jdGlvbiBvKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPXRoaXM7ZS5mb3JtYXR0ZXI/ZS5mb3JtYXR0ZXIuZm9ybWF0Q2hhbmdlZCh0LGZ1bmN0aW9uKGUpe24uYWN0aXZlKGUpfSk6ZS5vbigiaW5pdCIsZnVuY3Rpb24oKXtlLmZvcm1hdHRlci5mb3JtYXRDaGFuZ2VkKHQsZnVuY3Rpb24oZSl7bi5hY3RpdmUoZSl9KX0pfX1mdW5jdGlvbiBhKHQpe3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gZS51bmRvTWFuYWdlcj9lLnVuZG9NYW5hZ2VyW3RdKCk6ITF9dmFyIHI9dGhpczt0PSJyZWRvIj09dD8iaGFzUmVkbyI6Imhhc1VuZG8iLHIuZGlzYWJsZWQoIW4oKSksZS5vbigiVW5kbyBSZWRvIEFkZFVuZG8gVHlwaW5nVW5kbyBDbGVhclVuZG9zIFN3aXRjaE1vZGUiLGZ1bmN0aW9uKCl7ci5kaXNhYmxlZChlLnJlYWRvbmx5fHwhbigpKX0pfX1mdW5jdGlvbiBsKCl7dmFyIHQ9dGhpcztlLm9uKCJWaXN1YWxBaWQiLGZ1bmN0aW9uKGUpe3QuYWN0aXZlKGUuaGFzVmlzdWFsKX0pLHQuYWN0aXZlKGUuaGFzVmlzdWFsKX1mdW5jdGlvbiBjKHQpe3QuY29udHJvbCYmKHQ9dC5jb250cm9sLnZhbHVlKCkpLHQmJmUuZXhlY0NvbW1hbmQoIm1jZVRvZ2dsZUZvcm1hdCIsITEsdCl9dmFyIHU7dT1pKCkscyh7Ym9sZDoiQm9sZCIsaXRhbGljOiJJdGFsaWMiLHVuZGVybGluZToiVW5kZXJsaW5lIixzdHJpa2V0aHJvdWdoOiJTdHJpa2V0aHJvdWdoIixzdWJzY3JpcHQ6IlN1YnNjcmlwdCIsc3VwZXJzY3JpcHQ6IlN1cGVyc2NyaXB0In0sZnVuY3Rpb24odCxuKXtlLmFkZEJ1dHRvbihuLHt0b29sdGlwOnQsb25Qb3N0UmVuZGVyOm8obiksb25jbGljazpmdW5jdGlvbigpe2Mobil9fSl9KSxzKHtvdXRkZW50OlsiRGVjcmVhc2UgaW5kZW50IiwiT3V0ZGVudCJdLGluZGVudDpbIkluY3JlYXNlIGluZGVudCIsIkluZGVudCJdLGN1dDpbIkN1dCIsIkN1dCJdLGNvcHk6WyJDb3B5IiwiQ29weSJdLHBhc3RlOlsiUGFzdGUiLCJQYXN0ZSJdLGhlbHA6WyJIZWxwIiwibWNlSGVscCJdLHNlbGVjdGFsbDpbIlNlbGVjdCBhbGwiLCJTZWxlY3RBbGwiXSxyZW1vdmVmb3JtYXQ6WyJDbGVhciBmb3JtYXR0aW5nIiwiUmVtb3ZlRm9ybWF0Il0sdmlzdWFsYWlkOlsiVmlzdWFsIGFpZHMiLCJtY2VUb2dnbGVWaXN1YWxBaWQiXSxuZXdkb2N1bWVudDpbIk5ldyBkb2N1bWVudCIsIm1jZU5ld0RvY3VtZW50Il19LGZ1bmN0aW9uKHQsbil7ZS5hZGRCdXR0b24obix7dG9vbHRpcDp0WzBdLGNtZDp0WzFdfSl9KSxzKHtibG9ja3F1b3RlOlsiQmxvY2txdW90ZSIsIm1jZUJsb2NrUXVvdGUiXSxudW1saXN0OlsiTnVtYmVyZWQgbGlzdCIsIkluc2VydE9yZGVyZWRMaXN0Il0sYnVsbGlzdDpbIkJ1bGxldCBsaXN0IiwiSW5zZXJ0VW5vcmRlcmVkTGlzdCJdLHN1YnNjcmlwdDpbIlN1YnNjcmlwdCIsIlN1YnNjcmlwdCJdLHN1cGVyc2NyaXB0OlsiU3VwZXJzY3JpcHQiLCJTdXBlcnNjcmlwdCJdLGFsaWdubGVmdDpbIkFsaWduIGxlZnQiLCJKdXN0aWZ5TGVmdCJdLGFsaWduY2VudGVyOlsiQWxpZ24gY2VudGVyIiwiSnVzdGlmeUNlbnRlciJdLGFsaWducmlnaHQ6WyJBbGlnbiByaWdodCIsIkp1c3RpZnlSaWdodCJdLGFsaWduanVzdGlmeTpbIkp1c3RpZnkiLCJKdXN0aWZ5RnVsbCJdLGFsaWdubm9uZTpbIk5vIGFsaWdubWVudCIsIkp1c3RpZnlOb25lIl19LGZ1bmN0aW9uKHQsbil7ZS5hZGRCdXR0b24obix7dG9vbHRpcDp0WzBdLGNtZDp0WzFdLG9uUG9zdFJlbmRlcjpvKG4pfSl9KSxlLmFkZEJ1dHRvbigidW5kbyIse3Rvb2x0aXA6IlVuZG8iLG9uUG9zdFJlbmRlcjphKCJ1bmRvIiksY21kOiJ1bmRvIn0pLGUuYWRkQnV0dG9uKCJyZWRvIix7dG9vbHRpcDoiUmVkbyIsb25Qb3N0UmVuZGVyOmEoInJlZG8iKSxjbWQ6InJlZG8ifSksZS5hZGRNZW51SXRlbSgibmV3ZG9jdW1lbnQiLHt0ZXh0OiJOZXcgZG9jdW1lbnQiLGljb246Im5ld2RvY3VtZW50IixjbWQ6Im1jZU5ld0RvY3VtZW50In0pLGUuYWRkTWVudUl0ZW0oInVuZG8iLHt0ZXh0OiJVbmRvIixpY29uOiJ1bmRvIixzaG9ydGN1dDoiTWV0YStaIixvblBvc3RSZW5kZXI6YSgidW5kbyIpLGNtZDoidW5kbyJ9KSxlLmFkZE1lbnVJdGVtKCJyZWRvIix7dGV4dDoiUmVkbyIsaWNvbjoicmVkbyIsc2hvcnRjdXQ6Ik1ldGErWSIsb25Qb3N0UmVuZGVyOmEoInJlZG8iKSxjbWQ6InJlZG8ifSksZS5hZGRNZW51SXRlbSgidmlzdWFsYWlkIix7dGV4dDoiVmlzdWFsIGFpZHMiLHNlbGVjdGFibGU6ITAsb25Qb3N0UmVuZGVyOmwsY21kOiJtY2VUb2dnbGVWaXN1YWxBaWQifSksZS5hZGRCdXR0b24oInJlbW92ZSIse3Rvb2x0aXA6IlJlbW92ZSIsaWNvbjoicmVtb3ZlIixjbWQ6IkRlbGV0ZSJ9KSxzKHtjdXQ6WyJDdXQiLCJDdXQiLCJNZXRhK1giXSxjb3B5OlsiQ29weSIsIkNvcHkiLCJNZXRhK0MiXSxwYXN0ZTpbIlBhc3RlIiwiUGFzdGUiLCJNZXRhK1YiXSxzZWxlY3RhbGw6WyJTZWxlY3QgYWxsIiwiU2VsZWN0QWxsIiwiTWV0YStBIl0sYm9sZDpbIkJvbGQiLCJCb2xkIiwiTWV0YStCIl0saXRhbGljOlsiSXRhbGljIiwiSXRhbGljIiwiTWV0YStJIl0sdW5kZXJsaW5lOlsiVW5kZXJsaW5lIiwiVW5kZXJsaW5lIl0sc3RyaWtldGhyb3VnaDpbIlN0cmlrZXRocm91Z2giLCJTdHJpa2V0aHJvdWdoIl0sc3Vic2NyaXB0OlsiU3Vic2NyaXB0IiwiU3Vic2NyaXB0Il0sc3VwZXJzY3JpcHQ6WyJTdXBlcnNjcmlwdCIsIlN1cGVyc2NyaXB0Il0scmVtb3ZlZm9ybWF0OlsiQ2xlYXIgZm9ybWF0dGluZyIsIlJlbW92ZUZvcm1hdCJdfSxmdW5jdGlvbih0LG4pe2UuYWRkTWVudUl0ZW0obix7dGV4dDp0WzBdLGljb246bixzaG9ydGN1dDp0WzJdLGNtZDp0WzFdfSl9KSxlLm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7bi5oaWRlQWxsKCl9KSxlLmFkZEJ1dHRvbigic3R5bGVzZWxlY3QiLHt0eXBlOiJtZW51YnV0dG9uIix0ZXh0OiJGb3JtYXRzIixtZW51OnV9KSxlLmFkZEJ1dHRvbigiZm9ybWF0c2VsZWN0IixmdW5jdGlvbigpe3ZhciBuPVtdLGk9cihlLnNldHRpbmdzLmJsb2NrX2Zvcm1hdHN8fCJQYXJhZ3JhcGg9cDtIZWFkaW5nIDE9aDE7SGVhZGluZyAyPWgyO0hlYWRpbmcgMz1oMztIZWFkaW5nIDQ9aDQ7SGVhZGluZyA1PWg1O0hlYWRpbmcgNj1oNjtQcmVmb3JtYXR0ZWQ9cHJlIik7cmV0dXJuIHMoaSxmdW5jdGlvbih0KXtuLnB1c2goe3RleHQ6dFswXSx2YWx1ZTp0WzFdLHRleHRTdHlsZTpmdW5jdGlvbigpe3JldHVybiBlLmZvcm1hdHRlci5nZXRDc3NUZXh0KHRbMV0pfX0pfSkse3R5cGU6Imxpc3Rib3giLHRleHQ6aVswXVswXSx2YWx1ZXM6bixmaXhlZFdpZHRoOiEwLG9uc2VsZWN0OmMsb25Qb3N0UmVuZGVyOnQobil9fSksZS5hZGRCdXR0b24oImZvbnRzZWxlY3QiLGZ1bmN0aW9uKCl7dmFyIG49IkFuZGFsZSBNb25vPWFuZGFsZSBtb25vLG1vbm9zcGFjZTtBcmlhbD1hcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZjtBcmlhbCBCbGFjaz1hcmlhbCBibGFjayxzYW5zLXNlcmlmO0Jvb2sgQW50aXF1YT1ib29rIGFudGlxdWEscGFsYXRpbm8sc2VyaWY7Q29taWMgU2FucyBNUz1jb21pYyBzYW5zIG1zLHNhbnMtc2VyaWY7Q291cmllciBOZXc9Y291cmllciBuZXcsY291cmllcixtb25vc3BhY2U7R2VvcmdpYT1nZW9yZ2lhLHBhbGF0aW5vLHNlcmlmO0hlbHZldGljYT1oZWx2ZXRpY2EsYXJpYWwsc2Fucy1zZXJpZjtJbXBhY3Q9aW1wYWN0LHNhbnMtc2VyaWY7U3ltYm9sPXN5bWJvbDtUYWhvbWE9dGFob21hLGFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmO1Rlcm1pbmFsPXRlcm1pbmFsLG1vbmFjbyxtb25vc3BhY2U7VGltZXMgTmV3IFJvbWFuPXRpbWVzIG5ldyByb21hbix0aW1lcyxzZXJpZjtUcmVidWNoZXQgTVM9dHJlYnVjaGV0IG1zLGdlbmV2YSxzYW5zLXNlcmlmO1ZlcmRhbmE9dmVyZGFuYSxnZW5ldmEsc2Fucy1zZXJpZjtXZWJkaW5ncz13ZWJkaW5ncztXaW5nZGluZ3M9d2luZ2RpbmdzLHphcGYgZGluZ2JhdHMiLGk9W10sbz1yKGUuc2V0dGluZ3MuZm9udF9mb3JtYXRzfHxuKTtyZXR1cm4gcyhvLGZ1bmN0aW9uKGUpe2kucHVzaCh7dGV4dDp7cmF3OmVbMF19LHZhbHVlOmVbMV0sdGV4dFN0eWxlOi0xPT1lWzFdLmluZGV4T2YoImRpbmdzIik/ImZvbnQtZmFtaWx5OiIrZVsxXToiIn0pfSkse3R5cGU6Imxpc3Rib3giLHRleHQ6IkZvbnQgRmFtaWx5Iix0b29sdGlwOiJGb250IEZhbWlseSIsdmFsdWVzOmksZml4ZWRXaWR0aDohMCxvblBvc3RSZW5kZXI6dChpLCJmb250bmFtZSIpLG9uc2VsZWN0OmZ1bmN0aW9uKHQpe3QuY29udHJvbC5zZXR0aW5ncy52YWx1ZSYmZS5leGVjQ29tbWFuZCgiRm9udE5hbWUiLCExLHQuY29udHJvbC5zZXR0aW5ncy52YWx1ZSl9fX0pLGUuYWRkQnV0dG9uKCJmb250c2l6ZXNlbGVjdCIsZnVuY3Rpb24oKXt2YXIgbj1bXSxyPSI4cHQgMTBwdCAxMnB0IDE0cHQgMThwdCAyNHB0IDM2cHQiLGk9ZS5zZXR0aW5ncy5mb250c2l6ZV9mb3JtYXRzfHxyO3JldHVybiBzKGkuc3BsaXQoIiAiKSxmdW5jdGlvbihlKXt2YXIgdD1lLHI9ZSxpPWUuc3BsaXQoIj0iKTtpLmxlbmd0aD4xJiYodD1pWzBdLHI9aVsxXSksbi5wdXNoKHt0ZXh0OnQsdmFsdWU6cn0pfSkse3R5cGU6Imxpc3Rib3giLHRleHQ6IkZvbnQgU2l6ZXMiLHRvb2x0aXA6IkZvbnQgU2l6ZXMiLHZhbHVlczpuLGZpeGVkV2lkdGg6ITAsb25Qb3N0UmVuZGVyOnQobiwiZm9udHNpemUiKSxvbmNsaWNrOmZ1bmN0aW9uKHQpe3QuY29udHJvbC5zZXR0aW5ncy52YWx1ZSYmZS5leGVjQ29tbWFuZCgiRm9udFNpemUiLCExLHQuY29udHJvbC5zZXR0aW5ncy52YWx1ZSl9fX0pLGUuYWRkTWVudUl0ZW0oImZvcm1hdHMiLHsKdGV4dDoiRm9ybWF0cyIsbWVudTp1fSl9dmFyIHM9ci5lYWNoO2kub24oIkFkZEVkaXRvciIsZnVuY3Rpb24odCl7dC5lZGl0b3IucnRsJiYoZS5ydGw9ITApLGEodC5lZGl0b3IpfSksZS50cmFuc2xhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkudHJhbnNsYXRlKGUpfSx0LnRvb2x0aXBzPSFvLmlPU30pLHIoVHQsW2x0XSxmdW5jdGlvbihlKXtyZXR1cm4gZS5leHRlbmQoe3JlY2FsYzpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscyxsLGMsdSxkLGYsaCxwLG0sZyx2LHksYixDLHgsdyxOLEU9W10sXz1bXSxTLGssVCxSLEEsQjt0PWUuc2V0dGluZ3MsaT1lLml0ZW1zKCkuZmlsdGVyKCI6dmlzaWJsZSIpLG89ZS5sYXlvdXRSZWN0KCkscj10LmNvbHVtbnN8fE1hdGguY2VpbChNYXRoLnNxcnQoaS5sZW5ndGgpKSxuPU1hdGguY2VpbChpLmxlbmd0aC9yKSx5PXQuc3BhY2luZ0h8fHQuc3BhY2luZ3x8MCxiPXQuc3BhY2luZ1Z8fHQuc3BhY2luZ3x8MCxDPXQuYWxpZ25IfHx0LmFsaWduLHg9dC5hbGlnblZ8fHQuYWxpZ24sZz1lLnBhZGRpbmdCb3gsQT0icmV2ZXJzZVJvd3MiaW4gdD90LnJldmVyc2VSb3dzOmUuaXNSdGwoKSxDJiYic3RyaW5nIj09dHlwZW9mIEMmJihDPVtDXSkseCYmInN0cmluZyI9PXR5cGVvZiB4JiYoeD1beF0pO2ZvcihkPTA7cj5kO2QrKylFLnB1c2goMCk7Zm9yKGY9MDtuPmY7ZisrKV8ucHVzaCgwKTtmb3IoZj0wO24+ZjtmKyspZm9yKGQ9MDtyPmQmJih1PWlbZipyK2RdLHUpO2QrKyljPXUubGF5b3V0UmVjdCgpLFM9Yy5taW5XLGs9Yy5taW5ILEVbZF09Uz5FW2RdP1M6RVtkXSxfW2ZdPWs+X1tmXT9rOl9bZl07Zm9yKFQ9by5pbm5lclctZy5sZWZ0LWcucmlnaHQsdz0wLGQ9MDtyPmQ7ZCsrKXcrPUVbZF0rKGQ+MD95OjApLFQtPShkPjA/eTowKStFW2RdO2ZvcihSPW8uaW5uZXJILWcudG9wLWcuYm90dG9tLE49MCxmPTA7bj5mO2YrKylOKz1fW2ZdKyhmPjA/YjowKSxSLT0oZj4wP2I6MCkrX1tmXTtpZih3Kz1nLmxlZnQrZy5yaWdodCxOKz1nLnRvcCtnLmJvdHRvbSxsPXt9LGwubWluVz13KyhvLnctby5pbm5lclcpLGwubWluSD1OKyhvLmgtby5pbm5lckgpLGwuY29udGVudFc9bC5taW5XLW8uZGVsdGFXLGwuY29udGVudEg9bC5taW5ILW8uZGVsdGFILGwubWluVz1NYXRoLm1pbihsLm1pblcsby5tYXhXKSxsLm1pbkg9TWF0aC5taW4obC5taW5ILG8ubWF4SCksbC5taW5XPU1hdGgubWF4KGwubWluVyxvLnN0YXJ0TWluV2lkdGgpLGwubWluSD1NYXRoLm1heChsLm1pbkgsby5zdGFydE1pbkhlaWdodCksIW8uYXV0b1Jlc2l6ZXx8bC5taW5XPT1vLm1pblcmJmwubWluSD09by5taW5IKXtvLmF1dG9SZXNpemUmJihsPWUubGF5b3V0UmVjdChsKSxsLmNvbnRlbnRXPWwubWluVy1vLmRlbHRhVyxsLmNvbnRlbnRIPWwubWluSC1vLmRlbHRhSCk7dmFyIEQ7RD0ic3RhcnQiPT10LnBhY2tWPzA6Uj4wP01hdGguZmxvb3IoUi9uKTowO3ZhciBNPTAsTD10LmZsZXhXaWR0aHM7aWYoTClmb3IoZD0wO2Q8TC5sZW5ndGg7ZCsrKU0rPUxbZF07ZWxzZSBNPXI7dmFyIFA9VC9NO2ZvcihkPTA7cj5kO2QrKylFW2RdKz1MP0xbZF0qUDpQO2ZvcihwPWcudG9wLGY9MDtuPmY7ZisrKXtmb3IoaD1nLmxlZnQscz1fW2ZdK0QsZD0wO3I+ZCYmKEI9QT9mKnIrci0xLWQ6ZipyK2QsdT1pW0JdLHUpO2QrKyltPXUuc2V0dGluZ3MsYz11LmxheW91dFJlY3QoKSxhPU1hdGgubWF4KEVbZF0sYy5zdGFydE1pbldpZHRoKSxjLng9aCxjLnk9cCx2PW0uYWxpZ25IfHwoQz9DW2RdfHxDWzBdOm51bGwpLCJjZW50ZXIiPT12P2MueD1oK2EvMi1jLncvMjoicmlnaHQiPT12P2MueD1oK2EtYy53OiJzdHJldGNoIj09diYmKGMudz1hKSx2PW0uYWxpZ25WfHwoeD94W2RdfHx4WzBdOm51bGwpLCJjZW50ZXIiPT12P2MueT1wK3MvMi1jLmgvMjoiYm90dG9tIj09dj9jLnk9cCtzLWMuaDoic3RyZXRjaCI9PXYmJihjLmg9cyksdS5sYXlvdXRSZWN0KGMpLGgrPWEreSx1LnJlY2FsYyYmdS5yZWNhbGMoKTtwKz1zK2J9fWVsc2UgaWYobC53PWwubWluVyxsLmg9bC5taW5ILGUubGF5b3V0UmVjdChsKSx0aGlzLnJlY2FsYyhlKSxudWxsPT09ZS5fbGFzdFJlY3Qpe3ZhciBIPWUucGFyZW50KCk7SCYmKEguX2xhc3RSZWN0PW51bGwsSC5yZWNhbGMoKSl9fX0pfSkscihSdCxbQWUsdV0sZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5leHRlbmQoe3JlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLmNsYXNzZXMuYWRkKCJpZnJhbWUiKSxlLmNhbkZvY3VzPSExLCc8aWZyYW1lIGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIiB0YWJpbmRleD0iLTEiIHNyYz0iJysoZS5zZXR0aW5ncy51cmx8fCJqYXZhc2NyaXB0OicnIikrJyIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPid9LHNyYzpmdW5jdGlvbihlKXt0aGlzLmdldEVsKCkuc3JjPWV9LGh0bWw6ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzLGk9dGhpcy5nZXRFbCgpLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuYm9keTtyZXR1cm4gaT8oaS5pbm5lckhUTUw9ZSxuJiZuKCkpOnQuc2V0VGltZW91dChmdW5jdGlvbigpe3IuaHRtbChlKX0pLHRoaXN9fSl9KSxyKEF0LFtBZV0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fc3VwZXIoZSksdC5jbGFzc2VzLmFkZCgid2lkZ2V0IikuYWRkKCJpbmZvYm94IiksdC5jYW5Gb2N1cz0hMX0sc2V2ZXJpdHk6ZnVuY3Rpb24oZSl7dGhpcy5jbGFzc2VzLnJlbW92ZSgiZXJyb3IiKSx0aGlzLmNsYXNzZXMucmVtb3ZlKCJ3YXJuaW5nIiksdGhpcy5jbGFzc2VzLnJlbW92ZSgic3VjY2VzcyIpLHRoaXMuY2xhc3Nlcy5hZGQoZSl9LGhlbHA6ZnVuY3Rpb24oZSl7dGhpcy5zdGF0ZS5zZXQoImhlbHAiLGUpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuY2xhc3NQcmVmaXg7cmV0dXJuJzxkaXYgaWQ9IicrZS5faWQrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciPjxkaXYgaWQ9IicrZS5faWQrJy1ib2R5Ij4nK2UuZW5jb2RlKGUuc3RhdGUuZ2V0KCJ0ZXh0IikpKyc8YnV0dG9uIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9Ii0xIj48aSBjbGFzcz0iJyt0KyJpY28gIit0KydpLWhlbHAiPjwvaT48L2J1dHRvbj48L2Rpdj48L2Rpdj4nfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOnRleHQiLGZ1bmN0aW9uKHQpe2UuZ2V0RWwoImJvZHkiKS5maXJzdENoaWxkLmRhdGE9ZS5lbmNvZGUodC52YWx1ZSksZS5zdGF0ZS5nZXQoInJlbmRlcmVkIikmJmUudXBkYXRlTGF5b3V0UmVjdCgpfSksZS5zdGF0ZS5vbigiY2hhbmdlOmhlbHAiLGZ1bmN0aW9uKHQpe2UuY2xhc3Nlcy50b2dnbGUoImhhcy1oZWxwIix0LnZhbHVlKSxlLnN0YXRlLmdldCgicmVuZGVyZWQiKSYmZS51cGRhdGVMYXlvdXRSZWN0KCl9KSxlLl9zdXBlcigpfX0pfSkscihCdCxbQWUsZmVdLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fc3VwZXIoZSksdC5jbGFzc2VzLmFkZCgid2lkZ2V0IikuYWRkKCJsYWJlbCIpLHQuY2FuRm9jdXM9ITEsZS5tdWx0aWxpbmUmJnQuY2xhc3Nlcy5hZGQoImF1dG9zY3JvbGwiKSxlLnN0cm9uZyYmdC5jbGFzc2VzLmFkZCgic3Ryb25nIil9LGluaXRMYXlvdXRSZWN0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPWUuX3N1cGVyKCk7aWYoZS5zZXR0aW5ncy5tdWx0aWxpbmUpe3ZhciByPXQuZ2V0U2l6ZShlLmdldEVsKCkpO3Iud2lkdGg+bi5tYXhXJiYobi5taW5XPW4ubWF4VyxlLmNsYXNzZXMuYWRkKCJtdWx0aWxpbmUiKSksZS5nZXRFbCgpLnN0eWxlLndpZHRoPW4ubWluVysicHgiLG4uc3RhcnRNaW5IPW4uaD1uLm1pbkg9TWF0aC5taW4obi5tYXhILHQuZ2V0U2l6ZShlLmdldEVsKCkpLmhlaWdodCl9cmV0dXJuIG59LHJlcGFpbnQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnNldHRpbmdzLm11bHRpbGluZXx8KGUuZ2V0RWwoKS5zdHlsZS5saW5lSGVpZ2h0PWUubGF5b3V0UmVjdCgpLmgrInB4IiksZS5fc3VwZXIoKX0sc2V2ZXJpdHk6ZnVuY3Rpb24oZSl7dGhpcy5jbGFzc2VzLnJlbW92ZSgiZXJyb3IiKSx0aGlzLmNsYXNzZXMucmVtb3ZlKCJ3YXJuaW5nIiksdGhpcy5jbGFzc2VzLnJlbW92ZSgic3VjY2VzcyIpLHRoaXMuY2xhc3Nlcy5hZGQoZSl9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQsbixyPWUuc2V0dGluZ3MuZm9ySWQ7cmV0dXJuIXImJihuPWUuc2V0dGluZ3MuZm9yTmFtZSkmJih0PWUuZ2V0Um9vdCgpLmZpbmQoIiMiK24pWzBdLHQmJihyPXQuX2lkKSkscj8nPGxhYmVsIGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIicrKHI/JyBmb3I9IicrcisnIic6IiIpKyI+IitlLmVuY29kZShlLnN0YXRlLmdldCgidGV4dCIpKSsiPC9sYWJlbD4iOic8c3BhbiBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyI+JytlLmVuY29kZShlLnN0YXRlLmdldCgidGV4dCIpKSsiPC9zcGFuPiJ9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnN0YXRlLm9uKCJjaGFuZ2U6dGV4dCIsZnVuY3Rpb24odCl7ZS5pbm5lckh0bWwoZS5lbmNvZGUodC52YWx1ZSkpLGUuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiZlLnVwZGF0ZUxheW91dFJlY3QoKX0pLGUuX3N1cGVyKCl9fSl9KSxyKER0LFtiZV0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtEZWZhdWx0czp7cm9sZToidG9vbGJhciIsbGF5b3V0OiJmbG93In0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3QuX3N1cGVyKGUpLHQuY2xhc3Nlcy5hZGQoInRvb2xiYXIiKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUpe2UuY2xhc3Nlcy5hZGQoInRvb2xiYXItaXRlbSIpfSksZS5fc3VwZXIoKX19KX0pLHIoTXQsW0R0XSxmdW5jdGlvbihlKXtyZXR1cm4gZS5leHRlbmQoe0RlZmF1bHRzOntyb2xlOiJtZW51YmFyIixjb250YWluZXJDbHM6Im1lbnViYXIiLGFyaWFSb290OiEwLGRlZmF1bHRzOnt0eXBlOiJtZW51YnV0dG9uIn19fSl9KSxyKEx0LFtjdCx2ZSxNdF0sZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIHIoZSx0KXtmb3IoO2U7KXtpZih0PT09ZSlyZXR1cm4hMDtlPWUucGFyZW50Tm9kZX1yZXR1cm4hMX12YXIgaT1lLmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3QuX3JlbmRlck9wZW49ITAsdC5fc3VwZXIoZSksZT10LnNldHRpbmdzLHQuY2xhc3Nlcy5hZGQoIm1lbnVidG4iKSxlLmZpeGVkV2lkdGgmJnQuY2xhc3Nlcy5hZGQoImZpeGVkLXdpZHRoIiksdC5hcmlhKCJoYXNwb3B1cCIsITApLHQuc3RhdGUuc2V0KCJtZW51IixlLm1lbnV8fHQucmVuZGVyKCkpfSxzaG93TWVudTpmdW5jdGlvbigpe3ZhciBlPXRoaXMsbjtyZXR1cm4gZS5tZW51JiZlLm1lbnUudmlzaWJsZSgpP2UuaGlkZU1lbnUoKTooZS5tZW51fHwobj1lLnN0YXRlLmdldCgibWVudSIpfHxbXSxuLmxlbmd0aD9uPXt0eXBlOiJtZW51IixpdGVtczpufTpuLnR5cGU9bi50eXBlfHwibWVudSIsbi5yZW5kZXJUbz9lLm1lbnU9bi5wYXJlbnQoZSkuc2hvdygpLnJlbmRlclRvKCk6ZS5tZW51PXQuY3JlYXRlKG4pLnBhcmVudChlKS5yZW5kZXJUbygpLGUuZmlyZSgiY3JlYXRlbWVudSIpLGUubWVudS5yZWZsb3coKSxlLm1lbnUub24oImNhbmNlbCIsZnVuY3Rpb24odCl7dC5jb250cm9sLnBhcmVudCgpPT09ZS5tZW51JiYodC5zdG9wUHJvcGFnYXRpb24oKSxlLmZvY3VzKCksZS5oaWRlTWVudSgpKX0pLGUubWVudS5vbigic2VsZWN0IixmdW5jdGlvbigpe2UuZm9jdXMoKX0pLGUubWVudS5vbigic2hvdyBoaWRlIixmdW5jdGlvbih0KXt0LmNvbnRyb2w9PWUubWVudSYmZS5hY3RpdmVNZW51KCJzaG93Ij09dC50eXBlKSxlLmFyaWEoImV4cGFuZGVkIiwic2hvdyI9PXQudHlwZSl9KS5maXJlKCJzaG93IikpLGUubWVudS5zaG93KCksZS5tZW51LmxheW91dFJlY3Qoe3c6ZS5sYXlvdXRSZWN0KCkud30pLHZvaWQgZS5tZW51Lm1vdmVSZWwoZS5nZXRFbCgpLGUuaXNSdGwoKT9bImJyLXRyIiwidHItYnIiXTpbImJsLXRsIiwidGwtYmwiXSkpfSxoaWRlTWVudTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5tZW51JiYoZS5tZW51Lml0ZW1zKCkuZWFjaChmdW5jdGlvbihlKXtlLmhpZGVNZW51JiZlLmhpZGVNZW51KCl9KSxlLm1lbnUuaGlkZSgpKX0sYWN0aXZlTWVudTpmdW5jdGlvbihlKXt0aGlzLmNsYXNzZXMudG9nZ2xlKCJhY3RpdmUiLGUpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX2lkLHI9ZS5jbGFzc1ByZWZpeCxpPWUuc2V0dGluZ3MuaWNvbixvLGE9ZS5zdGF0ZS5nZXQoInRleHQiKSxzPSIiO3JldHVybiBvPWUuc2V0dGluZ3MuaW1hZ2Usbz8oaT0ibm9uZSIsInN0cmluZyIhPXR5cGVvZiBvJiYobz13aW5kb3cuZ2V0U2VsZWN0aW9uP29bMF06b1sxXSksbz0iIHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKCciK28rIicpXCIiKTpvPSIiLGEmJihlLmNsYXNzZXMuYWRkKCJidG4taGFzLXRleHQiKSxzPSc8c3BhbiBjbGFzcz0iJytyKyd0eHQiPicrZS5lbmNvZGUoYSkrIjwvc3Bhbj4iKSxpPWUuc2V0dGluZ3MuaWNvbj9yKyJpY28gIityKyJpLSIraToiIixlLmFyaWEoInJvbGUiLGUucGFyZW50KClpbnN0YW5jZW9mIG4/Im1lbnVpdGVtIjoiYnV0dG9uIiksJzxkaXYgaWQ9IicrdCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgdGFiaW5kZXg9Ii0xIiBhcmlhLWxhYmVsbGVkYnk9IicrdCsnIj48YnV0dG9uIGlkPSInK3QrJy1vcGVuIiByb2xlPSJwcmVzZW50YXRpb24iIHR5cGU9ImJ1dHRvbiIgdGFiaW5kZXg9Ii0xIj4nKyhpPyc8aSBjbGFzcz0iJytpKyciJytvKyI+PC9pPiI6IiIpK3MrJyA8aSBjbGFzcz0iJytyKydjYXJldCI+PC9pPjwvYnV0dG9uPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLm9uKCJjbGljayIsZnVuY3Rpb24odCl7dC5jb250cm9sPT09ZSYmcih0LnRhcmdldCxlLmdldEVsKCkpJiYoZS5zaG93TWVudSgpLHQuYXJpYSYmZS5tZW51Lml0ZW1zKClbMF0uZm9jdXMoKSl9KSxlLm9uKCJtb3VzZWVudGVyIixmdW5jdGlvbih0KXt2YXIgbj10LmNvbnRyb2wscj1lLnBhcmVudCgpLG87biYmciYmbiBpbnN0YW5jZW9mIGkmJm4ucGFyZW50KCk9PXImJihyLml0ZW1zKCkuZmlsdGVyKCJNZW51QnV0dG9uIikuZWFjaChmdW5jdGlvbihlKXtlLmhpZGVNZW51JiZlIT1uJiYoZS5tZW51JiZlLm1lbnUudmlzaWJsZSgpJiYobz0hMCksZS5oaWRlTWVudSgpKX0pLG8mJihuLmZvY3VzKCksbi5zaG93TWVudSgpKSl9KSxlLl9zdXBlcigpfSxiaW5kU3RhdGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5zdGF0ZS5vbigiY2hhbmdlOm1lbnUiLGZ1bmN0aW9uKCl7ZS5tZW51JiZlLm1lbnUucmVtb3ZlKCksZS5tZW51PW51bGx9KSxlLl9zdXBlcigpfSxyZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLl9zdXBlcigpLHRoaXMubWVudSYmdGhpcy5tZW51LnJlbW92ZSgpfX0pO3JldHVybiBpfSkscihQdCxbQWUsdmUsaCx1XSxmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gZS5leHRlbmQoe0RlZmF1bHRzOntib3JkZXI6MCxyb2xlOiJtZW51aXRlbSJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuO3QuX3N1cGVyKGUpLGU9dC5zZXR0aW5ncyx0LmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0iKSxlLm1lbnUmJnQuY2xhc3Nlcy5hZGQoIm1lbnUtaXRlbS1leHBhbmQiKSxlLnByZXZpZXcmJnQuY2xhc3Nlcy5hZGQoIm1lbnUtaXRlbS1wcmV2aWV3Iiksbj10LnN0YXRlLmdldCgidGV4dCIpLCItIiE9PW4mJiJ8IiE9PW58fCh0LmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0tc2VwIiksdC5hcmlhKCJyb2xlIiwic2VwYXJhdG9yIiksdC5zdGF0ZS5zZXQoInRleHQiLCItIikpLGUuc2VsZWN0YWJsZSYmKHQuYXJpYSgicm9sZSIsIm1lbnVpdGVtY2hlY2tib3giKSx0LmNsYXNzZXMuYWRkKCJtZW51LWl0ZW0tY2hlY2tib3giKSxlLmljb249InNlbGVjdGVkIiksZS5wcmV2aWV3fHxlLnNlbGVjdGFibGV8fHQuY2xhc3Nlcy5hZGQoIm1lbnUtaXRlbS1ub3JtYWwiKSx0Lm9uKCJtb3VzZWRvd24iLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pLGUubWVudSYmIWUuYXJpYUhpZGVNZW51JiZ0LmFyaWEoImhhc3BvcHVwIiwhMCl9LGhhc01lbnVzOmZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLnNldHRpbmdzLm1lbnV9LHNob3dNZW51OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPWUuc2V0dGluZ3MscixpPWUucGFyZW50KCk7aWYoaS5pdGVtcygpLmVhY2goZnVuY3Rpb24odCl7dCE9PWUmJnQuaGlkZU1lbnUoKX0pLG4ubWVudSl7cj1lLm1lbnUscj9yLnNob3coKToocj1uLm1lbnUsci5sZW5ndGg/cj17dHlwZToibWVudSIsaXRlbXM6cn06ci50eXBlPXIudHlwZXx8Im1lbnUiLGkuc2V0dGluZ3MuaXRlbURlZmF1bHRzJiYoci5pdGVtRGVmYXVsdHM9aS5zZXR0aW5ncy5pdGVtRGVmYXVsdHMpLHI9ZS5tZW51PXQuY3JlYXRlKHIpLnBhcmVudChlKS5yZW5kZXJUbygpLHIucmVmbG93KCksci5vbigiY2FuY2VsIixmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpLGUuZm9jdXMoKSxyLmhpZGUoKX0pLHIub24oInNob3cgaGlkZSIsZnVuY3Rpb24oZSl7ZS5jb250cm9sLml0ZW1zKCkuZWFjaChmdW5jdGlvbihlKXtlLmFjdGl2ZShlLnNldHRpbmdzLnNlbGVjdGVkKX0pfSkuZmlyZSgic2hvdyIpLHIub24oImhpZGUiLGZ1bmN0aW9uKHQpe3QuY29udHJvbD09PXImJmUuY2xhc3Nlcy5yZW1vdmUoInNlbGVjdGVkIil9KSxyLnN1Ym1lbnU9ITApLHIuX3BhcmVudE1lbnU9aSxyLmNsYXNzZXMuYWRkKCJtZW51LXN1YiIpO3ZhciBvPXIudGVzdE1vdmVSZWwoZS5nZXRFbCgpLGUuaXNSdGwoKT9bInRsLXRyIiwiYmwtYnIiLCJ0ci10bCIsImJyLWJsIl06WyJ0ci10bCIsImJyLWJsIiwidGwtdHIiLCJibC1iciJdKTtyLm1vdmVSZWwoZS5nZXRFbCgpLG8pLHIucmVsPW8sbz0ibWVudS1zdWItIitvLHIuY2xhc3Nlcy5yZW1vdmUoci5fbGFzdFJlbCkuYWRkKG8pLHIuX2xhc3RSZWw9byxlLmNsYXNzZXMuYWRkKCJzZWxlY3RlZCIpLGUuYXJpYSgiZXhwYW5kZWQiLCEwKX19LGhpZGVNZW51OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5tZW51JiYoZS5tZW51Lml0ZW1zKCkuZWFjaChmdW5jdGlvbihlKXtlLmhpZGVNZW51JiZlLmhpZGVNZW51KCl9KSxlLm1lbnUuaGlkZSgpLGUuYXJpYSgiZXhwYW5kZWQiLCExKSksZX0scmVuZGVySHRtbDpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQscixpPXt9O2ZvcihpPW4ubWFjP3thbHQ6IiYjeDIzMjU7IixjdHJsOiImI3gyMzE4OyIsc2hpZnQ6IiYjeDIxRTc7IixtZXRhOiImI3gyMzE4OyJ9OnttZXRhOiJDdHJsIn0sZT1lLnNwbGl0KCIrIiksdD0wO3Q8ZS5sZW5ndGg7dCsrKXI9aVtlW3RdLnRvTG93ZXJDYXNlKCldLHImJihlW3RdPXIpO3JldHVybiBlLmpvaW4oIisiKX12YXIgdD10aGlzLHI9dC5faWQsaT10LnNldHRpbmdzLG89dC5jbGFzc1ByZWZpeCxhPXQuZW5jb2RlKHQuc3RhdGUuZ2V0KCJ0ZXh0IikpLHM9dC5zZXR0aW5ncy5pY29uLGw9IiIsYz1pLnNob3J0Y3V0O3JldHVybiBzJiZ0LnBhcmVudCgpLmNsYXNzZXMuYWRkKCJtZW51LWhhcy1pY29ucyIpLGkuaW1hZ2UmJihsPSIgc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyIraS5pbWFnZSsiJylcIiIpLGMmJihjPWUoYykpLHM9bysiaWNvICIrbysiaS0iKyh0LnNldHRpbmdzLmljb258fCJub25lIiksJzxkaXYgaWQ9IicrcisnIiBjbGFzcz0iJyt0LmNsYXNzZXMrJyIgdGFiaW5kZXg9Ii0xIj4nKygiLSIhPT1hPyc8aSBjbGFzcz0iJytzKyciJytsKyI+PC9pPlx4YTAiOiIiKSsoIi0iIT09YT8nPHNwYW4gaWQ9IicrcisnLXRleHQiIGNsYXNzPSInK28rJ3RleHQiPicrYSsiPC9zcGFuPiI6IiIpKyhjPyc8ZGl2IGlkPSInK3IrJy1zaG9ydGN1dCIgY2xhc3M9IicrbysnbWVudS1zaG9ydGN1dCI+JytjKyI8L2Rpdj4iOiIiKSsoaS5tZW51Pyc8ZGl2IGNsYXNzPSInK28rJ2NhcmV0Ij48L2Rpdj4nOiIiKSsiPC9kaXY+In0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLnNldHRpbmdzLG49dC50ZXh0U3R5bGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4mJihuPW4uY2FsbCh0aGlzKSksbil7dmFyIGk9ZS5nZXRFbCgidGV4dCIpO2kmJmkuc2V0QXR0cmlidXRlKCJzdHlsZSIsbil9cmV0dXJuIGUub24oIm1vdXNlZW50ZXIgY2xpY2siLGZ1bmN0aW9uKG4pe24uY29udHJvbD09PWUmJih0Lm1lbnV8fCJjbGljayIhPT1uLnR5cGU/KGUuc2hvd01lbnUoKSxuLmFyaWEmJmUubWVudS5mb2N1cyghMCkpOihlLmZpcmUoInNlbGVjdCIpLHIucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ZS5wYXJlbnQoKS5oaWRlQWxsKCl9KSkpfSksZS5fc3VwZXIoKSxlfSxob3ZlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUucGFyZW50KCkuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUpe2UuY2xhc3Nlcy5yZW1vdmUoInNlbGVjdGVkIil9KSxlLmNsYXNzZXMudG9nZ2xlKCJzZWxlY3RlZCIsITApLGV9LGFjdGl2ZTpmdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGUmJnRoaXMuYXJpYSgiY2hlY2tlZCIsZSksdGhpcy5fc3VwZXIoZSl9LHJlbW92ZTpmdW5jdGlvbigpe3RoaXMuX3N1cGVyKCksdGhpcy5tZW51JiZ0aGlzLm1lbnUucmVtb3ZlKCl9fSl9KSxyKEh0LFtnLGdlLHVdLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24ocixpKXt2YXIgbz10aGlzLGEscz10LmNsYXNzUHJlZml4LGw7by5zaG93PWZ1bmN0aW9uKHQsYyl7ZnVuY3Rpb24gdSgpe2EmJihlKHIpLmFwcGVuZCgnPGRpdiBjbGFzcz0iJytzKyJ0aHJvYmJlciIrKGk/IiAiK3MrInRocm9iYmVyLWlubGluZSI6IiIpKyciPjwvZGl2PicpLGMmJmMoKSl9cmV0dXJuIG8uaGlkZSgpLGE9ITAsdD9sPW4uc2V0VGltZW91dCh1LHQpOnUoKSxvfSxvLmhpZGU9ZnVuY3Rpb24oKXt2YXIgZT1yLmxhc3RDaGlsZDtyZXR1cm4gbi5jbGVhclRpbWVvdXQobCksZSYmLTEhPWUuY2xhc3NOYW1lLmluZGV4T2YoInRocm9iYmVyIikmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxhPSExLG99fX0pLHIoT3QsW19lLFB0LEh0LG1dLGZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBlLmV4dGVuZCh7RGVmYXVsdHM6e2RlZmF1bHRUeXBlOiJtZW51aXRlbSIsYm9yZGVyOjEsbGF5b3V0OiJzdGFjayIscm9sZToiYXBwbGljYXRpb24iLGJvZHlSb2xlOiJtZW51IixhcmlhUm9vdDohMH0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKGUuYXV0b2hpZGU9ITAsZS5jb25zdHJhaW5Ub1ZpZXdwb3J0PSEwLCJmdW5jdGlvbiI9PXR5cGVvZiBlLml0ZW1zJiYoZS5pdGVtc0ZhY3Rvcnk9ZS5pdGVtcyxlLml0ZW1zPVtdKSxlLml0ZW1EZWZhdWx0cylmb3IodmFyIG49ZS5pdGVtcyxpPW4ubGVuZ3RoO2ktLTspbltpXT1yLmV4dGVuZCh7fSxlLml0ZW1EZWZhdWx0cyxuW2ldKTt0Ll9zdXBlcihlKSx0LmNsYXNzZXMuYWRkKCJtZW51Iil9LHJlcGFpbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc2VzLnRvZ2dsZSgibWVudS1hbGlnbiIsITApLHRoaXMuX3N1cGVyKCksdGhpcy5nZXRFbCgpLnN0eWxlLmhlaWdodD0iIix0aGlzLmdldEVsKCJib2R5Iikuc3R5bGUuaGVpZ2h0PSIiLHRoaXN9LGNhbmNlbDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5oaWRlQWxsKCksZS5maXJlKCJzZWxlY3QiKX0sbG9hZDpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt0LnRocm9iYmVyJiYodC50aHJvYmJlci5oaWRlKCksdC50aHJvYmJlcj1udWxsKX12YXIgdD10aGlzLHIsaTtpPXQuc2V0dGluZ3MuaXRlbXNGYWN0b3J5LGkmJih0LnRocm9iYmVyfHwodC50aHJvYmJlcj1uZXcgbih0LmdldEVsKCJib2R5IiksITApLDA9PT10Lml0ZW1zKCkubGVuZ3RoPyh0LnRocm9iYmVyLnNob3coKSx0LmZpcmUoImxvYWRpbmciKSk6dC50aHJvYmJlci5zaG93KDEwMCxmdW5jdGlvbigpe3QuaXRlbXMoKS5yZW1vdmUoKSx0LmZpcmUoImxvYWRpbmciKX0pLHQub24oImhpZGUgY2xvc2UiLGUpKSx0LnJlcXVlc3RUaW1lPXI9KG5ldyBEYXRlKS5nZXRUaW1lKCksdC5zZXR0aW5ncy5pdGVtc0ZhY3RvcnkoZnVuY3Rpb24obil7cmV0dXJuIDA9PT1uLmxlbmd0aD92b2lkIHQuaGlkZSgpOnZvaWQodC5yZXF1ZXN0VGltZT09PXImJih0LmdldEVsKCkuc3R5bGUud2lkdGg9IiIsdC5nZXRFbCgiYm9keSIpLnN0eWxlLndpZHRoPSIiLGUoKSx0Lml0ZW1zKCkucmVtb3ZlKCksdC5nZXRFbCgiYm9keSIpLmlubmVySFRNTD0iIix0LmFkZChuKSx0LnJlbmRlck5ldygpLHQuZmlyZSgibG9hZGVkIikpKX0pKX0saGlkZUFsbDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuZmluZCgibWVudWl0ZW0iKS5leGVjKCJoaWRlTWVudSIpLGUuX3N1cGVyKCl9LHByZVJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuc2V0dGluZ3M7cmV0dXJuIG4uaWNvbnx8bi5pbWFnZXx8bi5zZWxlY3RhYmxlPyhlLl9oYXNJY29ucz0hMCwhMSk6dm9pZCAwfSksZS5zZXR0aW5ncy5pdGVtc0ZhY3RvcnkmJmUub24oInBvc3RyZW5kZXIiLGZ1bmN0aW9uKCl7ZS5zZXR0aW5ncy5pdGVtc0ZhY3RvcnkmJmUubG9hZCgpfSksZS5fc3VwZXIoKX19KX0pLHIoSXQsW0x0LE90XSxmdW5jdGlvbihlLHQpe3JldHVybiBlLmV4dGVuZCh7aW5pdDpmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHIpe2Zvcih2YXIgYT0wO2E8ci5sZW5ndGg7YSsrKXtpZihpPXJbYV0uc2VsZWN0ZWR8fGUudmFsdWU9PT1yW2FdLnZhbHVlKXJldHVybiBvPW98fHJbYV0udGV4dCxuLnN0YXRlLnNldCgidmFsdWUiLHJbYV0udmFsdWUpLCEwO2lmKHJbYV0ubWVudSYmdChyW2FdLm1lbnUpKXJldHVybiEwfX12YXIgbj10aGlzLHIsaSxvLGE7bi5fc3VwZXIoZSksZT1uLnNldHRpbmdzLG4uX3ZhbHVlcz1yPWUudmFsdWVzLHImJigidW5kZWZpbmVkIiE9dHlwZW9mIGUudmFsdWUmJnQociksIWkmJnIubGVuZ3RoPjAmJihvPXJbMF0udGV4dCxuLnN0YXRlLnNldCgidmFsdWUiLHJbMF0udmFsdWUpKSxuLnN0YXRlLnNldCgibWVudSIscikpLG4uc3RhdGUuc2V0KCJ0ZXh0IixlLnRleHR8fG8pLG4uY2xhc3Nlcy5hZGQoImxpc3Rib3giKSxuLm9uKCJzZWxlY3QiLGZ1bmN0aW9uKHQpe3ZhciByPXQuY29udHJvbDthJiYodC5sYXN0Q29udHJvbD1hKSxlLm11bHRpcGxlP3IuYWN0aXZlKCFyLmFjdGl2ZSgpKTpuLnZhbHVlKHQuY29udHJvbC52YWx1ZSgpKSxhPXJ9KX0sYmluZFN0YXRlczpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxuKXtlIGluc3RhbmNlb2YgdCYmZS5pdGVtcygpLmVhY2goZnVuY3Rpb24oZSl7ZS5oYXNNZW51cygpfHxlLmFjdGl2ZShlLnZhbHVlKCk9PT1uKX0pfWZ1bmN0aW9uIG4oZSx0KXt2YXIgcjtpZihlKWZvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXtpZihlW2ldLnZhbHVlPT09dClyZXR1cm4gZVtpXTtpZihlW2ldLm1lbnUmJihyPW4oZVtpXS5tZW51LHQpKSlyZXR1cm4gcn19dmFyIHI9dGhpcztyZXR1cm4gci5vbigic2hvdyIsZnVuY3Rpb24odCl7ZSh0LmNvbnRyb2wsci52YWx1ZSgpKX0pLHIuc3RhdGUub24oImNoYW5nZTp2YWx1ZSIsZnVuY3Rpb24oZSl7dmFyIHQ9bihyLnN0YXRlLmdldCgibWVudSIpLGUudmFsdWUpO3Q/ci50ZXh0KHQudGV4dCk6ci50ZXh0KHIuc2V0dGluZ3MudGV4dCl9KSxyLl9zdXBlcigpfX0pfSkscihGdCxbZHRdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4dGVuZCh7RGVmYXVsdHM6e2NsYXNzZXM6InJhZGlvIixyb2xlOiJyYWRpbyJ9fSl9KSxyKHp0LFtBZSxDZV0sZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5leHRlbmQoe3JlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5jbGFzc1ByZWZpeDtyZXR1cm4gZS5jbGFzc2VzLmFkZCgicmVzaXplaGFuZGxlIiksImJvdGgiPT1lLnNldHRpbmdzLmRpcmVjdGlvbiYmZS5jbGFzc2VzLmFkZCgicmVzaXplaGFuZGxlLWJvdGgiKSxlLmNhbkZvY3VzPSExLCc8ZGl2IGlkPSInK2UuX2lkKyciIGNsYXNzPSInK2UuY2xhc3NlcysnIj48aSBjbGFzcz0iJyt0KyJpY28gIit0KydpLXJlc2l6ZSI+PC9pPjwvZGl2Pid9LHBvc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2UuX3N1cGVyKCksZS5yZXNpemVEcmFnSGVscGVyPW5ldyB0KHRoaXMuX2lkLHtzdGFydDpmdW5jdGlvbigpe2UuZmlyZSgiUmVzaXplU3RhcnQiKX0sZHJhZzpmdW5jdGlvbih0KXsiYm90aCIhPWUuc2V0dGluZ3MuZGlyZWN0aW9uJiYodC5kZWx0YVg9MCksZS5maXJlKCJSZXNpemUiLHQpfSxzdG9wOmZ1bmN0aW9uKCl7ZS5maXJlKCJSZXNpemVFbmQiKX19KX0scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVzaXplRHJhZ0hlbHBlciYmdGhpcy5yZXNpemVEcmFnSGVscGVyLmRlc3Ryb3koKSx0aGlzLl9zdXBlcigpfX0pfSkscihXdCxbQWVdLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7dmFyIHQ9IiI7aWYoZSlmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl0Kz0nPG9wdGlvbiB2YWx1ZT0iJytlW25dKyciPicrZVtuXSsiPC9vcHRpb24+IjtyZXR1cm4gdH1yZXR1cm4gZS5leHRlbmQoe0RlZmF1bHRzOntjbGFzc2VzOiJzZWxlY3Rib3giLHJvbGU6InNlbGVjdGJveCIsb3B0aW9uczpbXX0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3QuX3N1cGVyKGUpLHQuc2V0dGluZ3Muc2l6ZSYmKHQuc2l6ZT10LnNldHRpbmdzLnNpemUpLHQuc2V0dGluZ3Mub3B0aW9ucyYmKHQuX29wdGlvbnM9dC5zZXR0aW5ncy5vcHRpb25zKSx0Lm9uKCJrZXlkb3duIixmdW5jdGlvbihlKXt2YXIgbjsxMz09ZS5rZXlDb2RlJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHQucGFyZW50cygpLnJldmVyc2UoKS5lYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRvSlNPTj8obj1lLCExKTp2b2lkIDB9KSx0LmZpcmUoInN1Ym1pdCIse2RhdGE6bi50b0pTT04oKX0pKX0pfSxvcHRpb25zOmZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLnN0YXRlLnNldCgib3B0aW9ucyIsZSksdGhpcyk6dGhpcy5zdGF0ZS5nZXQoIm9wdGlvbnMiKX0scmVuZGVySHRtbDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsbixyPSIiO3JldHVybiBuPXQoZS5fb3B0aW9ucyksZS5zaXplJiYocj0nIHNpemUgPSAiJytlLnNpemUrJyInKSwnPHNlbGVjdCBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyInK3IrIj4iK24rIjwvc2VsZWN0PiJ9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnN0YXRlLm9uKCJjaGFuZ2U6b3B0aW9ucyIsZnVuY3Rpb24obil7ZS5nZXRFbCgpLmlubmVySFRNTD10KG4udmFsdWUpfSksZS5fc3VwZXIoKX19KX0pLHIoVnQsW0FlLENlLGZlXSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcihlLHQsbil7cmV0dXJuIHQ+ZSYmKGU9dCksZT5uJiYoZT1uKSxlfWZ1bmN0aW9uIGkoZSx0LG4pe2Uuc2V0QXR0cmlidXRlKCJhcmlhLSIrdCxuKX1mdW5jdGlvbiBvKGUsdCl7dmFyIHIsbyxhLHMsbCxjOyJ2Ij09ZS5zZXR0aW5ncy5vcmllbnRhdGlvbj8ocz0idG9wIixhPSJoZWlnaHQiLG89ImgiKToocz0ibGVmdCIsYT0id2lkdGgiLG89InciKSxjPWUuZ2V0RWwoImhhbmRsZSIpLHI9KGUubGF5b3V0UmVjdCgpW29dfHwxMDApLW4uZ2V0U2l6ZShjKVthXSxsPXIqKCh0LWUuX21pblZhbHVlKS8oZS5fbWF4VmFsdWUtZS5fbWluVmFsdWUpKSsicHgiLGMuc3R5bGVbc109bCxjLnN0eWxlLmhlaWdodD1lLmxheW91dFJlY3QoKS5oKyJweCIsaShjLCJ2YWx1ZW5vdyIsdCksaShjLCJ2YWx1ZXRleHQiLCIiK2Uuc2V0dGluZ3MucHJldmlld0ZpbHRlcih0KSksaShjLCJ2YWx1ZW1pbiIsZS5fbWluVmFsdWUpLGkoYywidmFsdWVtYXgiLGUuX21heFZhbHVlKX1yZXR1cm4gZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztlLnByZXZpZXdGaWx0ZXJ8fChlLnByZXZpZXdGaWx0ZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucm91bmQoMTAwKmUpLzEwMH0pLHQuX3N1cGVyKGUpLHQuY2xhc3Nlcy5hZGQoInNsaWRlciIpLCJ2Ij09ZS5vcmllbnRhdGlvbiYmdC5jbGFzc2VzLmFkZCgidmVydGljYWwiKSx0Ll9taW5WYWx1ZT1lLm1pblZhbHVlfHwwLHQuX21heFZhbHVlPWUubWF4VmFsdWV8fDEwMCx0Ll9pbml0VmFsdWU9dC5zdGF0ZS5nZXQoInZhbHVlIil9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5faWQsbj1lLmNsYXNzUHJlZml4O3JldHVybic8ZGl2IGlkPSInK3QrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciPjxkaXYgaWQ9IicrdCsnLWhhbmRsZSIgY2xhc3M9Iicrbisnc2xpZGVyLWhhbmRsZSIgcm9sZT0ic2xpZGVyIiB0YWJpbmRleD0iLTEiPjwvZGl2PjwvZGl2Pid9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZSh0aGlzLl9pbml0VmFsdWUpLnJlcGFpbnQoKX0scG9zdFJlbmRlcjpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe3JldHVybihuK2UpLyh0LWUpfWZ1bmN0aW9uIGkoZSx0LG4pe3JldHVybiBuKih0LWUpLWV9ZnVuY3Rpb24gbyh0LG4pe2Z1bmN0aW9uIG8obyl7dmFyIGE7YT1zLnZhbHVlKCksYT1pKHQsbixlKHQsbixhKSsuMDUqbyksYT1yKGEsdCxuKSxzLnZhbHVlKGEpLHMuZmlyZSgiZHJhZ3N0YXJ0Iix7dmFsdWU6YX0pLHMuZmlyZSgiZHJhZyIse3ZhbHVlOmF9KSxzLmZpcmUoImRyYWdlbmQiLHt2YWx1ZTphfSl9cy5vbigia2V5ZG93biIsZnVuY3Rpb24oZSl7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSAzNzpjYXNlIDM4Om8oLTEpO2JyZWFrO2Nhc2UgMzk6Y2FzZSA0MDpvKDEpfX0pfWZ1bmN0aW9uIGEoZSxpLG8pe3ZhciBhLGwsYyxwLG07cy5fZHJhZ0hlbHBlcj1uZXcgdChzLl9pZCx7aGFuZGxlOnMuX2lkKyItaGFuZGxlIixzdGFydDpmdW5jdGlvbihlKXthPWVbdV0sbD1wYXJzZUludChzLmdldEVsKCJoYW5kbGUiKS5zdHlsZVtkXSwxMCksYz0ocy5sYXlvdXRSZWN0KClbaF18fDEwMCktbi5nZXRTaXplKG8pW2ZdLHMuZmlyZSgiZHJhZ3N0YXJ0Iix7dmFsdWU6bX0pfSxkcmFnOmZ1bmN0aW9uKHQpe3ZhciBuPXRbdV0tYTtwPXIobCtuLDAsYyksby5zdHlsZVtkXT1wKyJweCIsbT1lK3AvYyooaS1lKSxzLnZhbHVlKG0pLHMudG9vbHRpcCgpLnRleHQoIiIrcy5zZXR0aW5ncy5wcmV2aWV3RmlsdGVyKG0pKS5zaG93KCkubW92ZVJlbChvLCJiYyB0YyIpLHMuZmlyZSgiZHJhZyIse3ZhbHVlOm19KX0sc3RvcDpmdW5jdGlvbigpe3MudG9vbHRpcCgpLmhpZGUoKSxzLmZpcmUoImRyYWdlbmQiLHt2YWx1ZTptfSl9fSl9dmFyIHM9dGhpcyxsLGMsdSxkLGYsaDtsPXMuX21pblZhbHVlLGM9cy5fbWF4VmFsdWUsInYiPT1zLnNldHRpbmdzLm9yaWVudGF0aW9uPyh1PSJzY3JlZW5ZIixkPSJ0b3AiLGY9ImhlaWdodCIsaD0iaCIpOih1PSJzY3JlZW5YIixkPSJsZWZ0IixmPSJ3aWR0aCIsaD0idyIpLHMuX3N1cGVyKCksbyhsLGMscy5nZXRFbCgiaGFuZGxlIikpLGEobCxjLHMuZ2V0RWwoImhhbmRsZSIpKX0scmVwYWludDpmdW5jdGlvbigpe3RoaXMuX3N1cGVyKCksbyh0aGlzLHRoaXMudmFsdWUoKSl9LGJpbmRTdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBlLnN0YXRlLm9uKCJjaGFuZ2U6dmFsdWUiLGZ1bmN0aW9uKHQpe28oZSx0LnZhbHVlKX0pLGUuX3N1cGVyKCl9fSl9KSxyKFV0LFtBZV0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXh0ZW5kKHtyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZS5jbGFzc2VzLmFkZCgic3BhY2VyIiksZS5jYW5Gb2N1cz0hMSwnPGRpdiBpZD0iJytlLl9pZCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyI+PC9kaXY+J319KX0pLHIoJHQsW0x0LGZlLGddLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZS5leHRlbmQoe0RlZmF1bHRzOntjbGFzc2VzOiJ3aWRnZXQgYnRuIHNwbGl0YnRuIixyb2xlOiJidXR0b24ifSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxyPWUuZ2V0RWwoKSxpPWUubGF5b3V0UmVjdCgpLG8sYTtyZXR1cm4gZS5fc3VwZXIoKSxvPXIuZmlyc3RDaGlsZCxhPXIubGFzdENoaWxkLG4obykuY3NzKHt3aWR0aDppLnctdC5nZXRTaXplKGEpLndpZHRoLGhlaWdodDppLmgtMn0pLG4oYSkuY3NzKHtoZWlnaHQ6aS5oLTJ9KSxlfSxhY3RpdmVNZW51OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7bih0LmdldEVsKCkubGFzdENoaWxkKS50b2dnbGVDbGFzcyh0LmNsYXNzUHJlZml4KyJhY3RpdmUiLGUpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX2lkLG49ZS5jbGFzc1ByZWZpeCxyLGk9ZS5zdGF0ZS5nZXQoImljb24iKSxvPWUuc3RhdGUuZ2V0KCJ0ZXh0IiksYT0iIjtyZXR1cm4gcj1lLnNldHRpbmdzLmltYWdlLHI/KGk9Im5vbmUiLCJzdHJpbmciIT10eXBlb2YgciYmKHI9d2luZG93LmdldFNlbGVjdGlvbj9yWzBdOnJbMV0pLHI9IiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCgnIityKyInKVwiIik6cj0iIixpPWUuc2V0dGluZ3MuaWNvbj9uKyJpY28gIituKyJpLSIraToiIixvJiYoZS5jbGFzc2VzLmFkZCgiYnRuLWhhcy10ZXh0IiksYT0nPHNwYW4gY2xhc3M9IicrbisndHh0Ij4nK2UuZW5jb2RlKG8pKyI8L3NwYW4+IiksJzxkaXYgaWQ9IicrdCsnIiBjbGFzcz0iJytlLmNsYXNzZXMrJyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iLTEiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBoaWRlZm9jdXM9IjEiIHRhYmluZGV4PSItMSI+JysoaT8nPGkgY2xhc3M9IicraSsnIicrcisiPjwvaT4iOiIiKSthKyc8L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Iicrbisnb3BlbiIgaGlkZWZvY3VzPSIxIiB0YWJpbmRleD0iLTEiPicrKGUuX21lbnVCdG5UZXh0PyhpPyJceGEwIjoiIikrZS5fbWVudUJ0blRleHQ6IiIpKycgPGkgY2xhc3M9IicrbisnY2FyZXQiPjwvaT48L2J1dHRvbj48L2Rpdj4nfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuc2V0dGluZ3Mub25jbGljaztyZXR1cm4gZS5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciBuPWUudGFyZ2V0O2lmKGUuY29udHJvbD09dGhpcylmb3IoO247KXtpZihlLmFyaWEmJiJkb3duIiE9ZS5hcmlhLmtleXx8IkJVVFRPTiI9PW4ubm9kZU5hbWUmJi0xPT1uLmNsYXNzTmFtZS5pbmRleE9mKCJvcGVuIikpcmV0dXJuIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdm9pZCh0JiZ0LmNhbGwodGhpcyxlKSk7bj1uLnBhcmVudE5vZGV9fSksZGVsZXRlIGUuc2V0dGluZ3Mub25jbGljayxlLl9zdXBlcigpfX0pfSkscihxdCxbU3RdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4dGVuZCh7RGVmYXVsdHM6e2NvbnRhaW5lckNsYXNzOiJzdGFjay1sYXlvdXQiLGNvbnRyb2xDbGFzczoic3RhY2stbGF5b3V0LWl0ZW0iLGVuZENsYXNzOiJicmVhayJ9LGlzTmF0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSl9KSxyKGp0LFt3ZSxnLGZlXSxmdW5jdGlvbihlLHQsbil7cmV0dXJuIGUuZXh0ZW5kKHtEZWZhdWx0czp7bGF5b3V0OiJhYnNvbHV0ZSIsZGVmYXVsdHM6e3R5cGU6InBhbmVsIn19LGFjdGl2YXRlVGFiOmZ1bmN0aW9uKGUpe3ZhciBuO3RoaXMuYWN0aXZlVGFiSWQmJihuPXRoaXMuZ2V0RWwodGhpcy5hY3RpdmVUYWJJZCksdChuKS5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzUHJlZml4KyJhY3RpdmUiKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsImZhbHNlIikpLHRoaXMuYWN0aXZlVGFiSWQ9InQiK2Usbj10aGlzLmdldEVsKCJ0IitlKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsInRydWUiKSx0KG4pLmFkZENsYXNzKHRoaXMuY2xhc3NQcmVmaXgrImFjdGl2ZSIpLHRoaXMuaXRlbXMoKVtlXS5zaG93KCkuZmlyZSgic2hvd3RhYiIpLHRoaXMucmVmbG93KCksdGhpcy5pdGVtcygpLmVhY2goZnVuY3Rpb24odCxuKXtlIT1uJiZ0LmhpZGUoKX0pfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX2xheW91dCxuPSIiLHI9ZS5jbGFzc1ByZWZpeDtyZXR1cm4gZS5wcmVSZW5kZXIoKSx0LnByZVJlbmRlcihlKSxlLml0ZW1zKCkuZWFjaChmdW5jdGlvbih0LGkpe3ZhciBvPWUuX2lkKyItdCIraTt0LmFyaWEoInJvbGUiLCJ0YWJwYW5lbCIpLHQuYXJpYSgibGFiZWxsZWRieSIsbyksbis9JzxkaXYgaWQ9IicrbysnIiBjbGFzcz0iJytyKyd0YWIiIHVuc2VsZWN0YWJsZT0ib24iIHJvbGU9InRhYiIgYXJpYS1jb250cm9scz0iJyt0Ll9pZCsnIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgdGFiSW5kZXg9Ii0xIj4nK2UuZW5jb2RlKHQuc2V0dGluZ3MudGl0bGUpKyI8L2Rpdj4ifSksJzxkaXYgaWQ9IicrZS5faWQrJyIgY2xhc3M9IicrZS5jbGFzc2VzKyciIGhpZGVmb2N1cz0iMSIgdGFiaW5kZXg9Ii0xIj48ZGl2IGlkPSInK2UuX2lkKyctaGVhZCIgY2xhc3M9IicrcisndGFicyIgcm9sZT0idGFibGlzdCI+JytuKyc8L2Rpdj48ZGl2IGlkPSInK2UuX2lkKyctYm9keSIgY2xhc3M9IicrZS5ib2R5Q2xhc3NlcysnIj4nK3QucmVuZGVySHRtbChlKSsiPC9kaXY+PC9kaXY+In0scG9zdFJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5fc3VwZXIoKSxlLnNldHRpbmdzLmFjdGl2ZVRhYj1lLnNldHRpbmdzLmFjdGl2ZVRhYnx8MCxlLmFjdGl2YXRlVGFiKGUuc2V0dGluZ3MuYWN0aXZlVGFiKSx0aGlzLm9uKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIG49dC50YXJnZXQucGFyZW50Tm9kZTtpZih0LnRhcmdldC5wYXJlbnROb2RlLmlkPT1lLl9pZCsiLWhlYWQiKWZvcih2YXIgcj1uLmNoaWxkTm9kZXMubGVuZ3RoO3ItLTspbi5jaGlsZE5vZGVzW3JdPT10LnRhcmdldCYmZS5hY3RpdmF0ZVRhYihyKX0pfSxpbml0TGF5b3V0UmVjdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdCxyLGk7cj1uLmdldFNpemUoZS5nZXRFbCgiaGVhZCIpKS53aWR0aCxyPTA+cj8wOnIsaT0wLGUuaXRlbXMoKS5lYWNoKGZ1bmN0aW9uKGUpe3I9TWF0aC5tYXgocixlLmxheW91dFJlY3QoKS5taW5XKSxpPU1hdGgubWF4KGksZS5sYXlvdXRSZWN0KCkubWluSCl9KSxlLml0ZW1zKCkuZWFjaChmdW5jdGlvbihlKXtlLnNldHRpbmdzLng9MCxlLnNldHRpbmdzLnk9MCxlLnNldHRpbmdzLnc9cixlLnNldHRpbmdzLmg9aSxlLmxheW91dFJlY3Qoe3g6MCx5OjAsdzpyLGg6aX0pfSk7dmFyIG89bi5nZXRTaXplKGUuZ2V0RWwoImhlYWQiKSkuaGVpZ2h0O3JldHVybiBlLnNldHRpbmdzLm1pbldpZHRoPXIsZS5zZXR0aW5ncy5taW5IZWlnaHQ9aStvLHQ9ZS5fc3VwZXIoKSx0LmRlbHRhSCs9byx0LmlubmVySD10LmgtdC5kZWx0YUgsdH19KX0pLHIoWXQsW0FlLG0sZmVdLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZS5leHRlbmQoe2luaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0Ll9zdXBlcihlKSx0LmNsYXNzZXMuYWRkKCJ0ZXh0Ym94IiksZS5tdWx0aWxpbmU/dC5jbGFzc2VzLmFkZCgibXVsdGlsaW5lIik6KHQub24oImtleWRvd24iLGZ1bmN0aW9uKGUpe3ZhciBuOzEzPT1lLmtleUNvZGUmJihlLnByZXZlbnREZWZhdWx0KCksdC5wYXJlbnRzKCkucmV2ZXJzZSgpLmVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9KU09OPyhuPWUsITEpOnZvaWQgMH0pLHQuZmlyZSgic3VibWl0Iix7ZGF0YTpuLnRvSlNPTigpfSkpfSksdC5vbigia2V5dXAiLGZ1bmN0aW9uKGUpe3Quc3RhdGUuc2V0KCJ2YWx1ZSIsZS50YXJnZXQudmFsdWUpfSkpfSxyZXBhaW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0LG4scixpLG89MCxhO3Q9ZS5nZXRFbCgpLnN0eWxlLG49ZS5fbGF5b3V0UmVjdCxhPWUuX2xhc3RSZXBhaW50UmVjdHx8e307dmFyIHM9ZG9jdW1lbnQ7cmV0dXJuIWUuc2V0dGluZ3MubXVsdGlsaW5lJiZzLmFsbCYmKCFzLmRvY3VtZW50TW9kZXx8cy5kb2N1bWVudE1vZGU8PTgpJiYodC5saW5lSGVpZ2h0PW4uaC1vKyJweCIpLHI9ZS5ib3JkZXJCb3gsaT1yLmxlZnQrci5yaWdodCs4LG89ci50b3Arci5ib3R0b20rKGUuc2V0dGluZ3MubXVsdGlsaW5lPzg6MCksbi54IT09YS54JiYodC5sZWZ0PW4ueCsicHgiLGEueD1uLngpLG4ueSE9PWEueSYmKHQudG9wPW4ueSsicHgiLGEueT1uLnkpLG4udyE9PWEudyYmKHQud2lkdGg9bi53LWkrInB4IixhLnc9bi53KSxuLmghPT1hLmgmJih0LmhlaWdodD1uLmgtbysicHgiLGEuaD1uLmgpLGUuX2xhc3RSZXBhaW50UmVjdD1hLGUuZmlyZSgicmVwYWludCIse30sITEpLGV9LHJlbmRlckh0bWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHI9ZS5zZXR0aW5ncyxpLG87cmV0dXJuIGk9e2lkOmUuX2lkLGhpZGVmb2N1czoiMSJ9LHQuZWFjaChbInJvd3MiLCJzcGVsbGNoZWNrIiwibWF4TGVuZ3RoIiwic2l6ZSIsInJlYWRvbmx5IiwibWluIiwibWF4Iiwic3RlcCIsImxpc3QiLCJwYXR0ZXJuIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsIm11bHRpcGxlIl0sZnVuY3Rpb24oZSl7aVtlXT1yW2VdfSksZS5kaXNhYmxlZCgpJiYoaS5kaXNhYmxlZD0iZGlzYWJsZWQiKSxyLnN1YnR5cGUmJihpLnR5cGU9ci5zdWJ0eXBlKSxvPW4uY3JlYXRlKHIubXVsdGlsaW5lPyJ0ZXh0YXJlYSI6ImlucHV0IixpKSxvLnZhbHVlPWUuc3RhdGUuZ2V0KCJ2YWx1ZSIpLG8uY2xhc3NOYW1lPWUuY2xhc3NlcyxvLm91dGVySFRNTH0sdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuc3RhdGUuc2V0KCJ2YWx1ZSIsZSksdGhpcyk6KHRoaXMuc3RhdGUuZ2V0KCJyZW5kZXJlZCIpJiZ0aGlzLnN0YXRlLnNldCgidmFsdWUiLHRoaXMuZ2V0RWwoKS52YWx1ZSksdGhpcy5zdGF0ZS5nZXQoInZhbHVlIikpfSxwb3N0UmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLmdldEVsKCkudmFsdWU9ZS5zdGF0ZS5nZXQoInZhbHVlIiksZS5fc3VwZXIoKSxlLiRlbC5vbigiY2hhbmdlIixmdW5jdGlvbih0KXtlLnN0YXRlLnNldCgidmFsdWUiLHQudGFyZ2V0LnZhbHVlKSxlLmZpcmUoImNoYW5nZSIsdCl9KX0sYmluZFN0YXRlczpmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGUuc3RhdGUub24oImNoYW5nZTp2YWx1ZSIsZnVuY3Rpb24odCl7ZS5nZXRFbCgpLnZhbHVlIT10LnZhbHVlJiYoZS5nZXRFbCgpLnZhbHVlPXQudmFsdWUpfSksZS5zdGF0ZS5vbigiY2hhbmdlOmRpc2FibGVkIixmdW5jdGlvbih0KXtlLmdldEVsKCkuZGlzYWJsZWQ9dC52YWx1ZX0pLGUuX3N1cGVyKCl9LHJlbW92ZTpmdW5jdGlvbigpe3RoaXMuJGVsLm9mZigpLHRoaXMuX3N1cGVyKCl9fSl9KSxyKFh0LFtdLGZ1bmN0aW9uKCl7dmFyIGU9dGhpc3x8d2luZG93LHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZS50aW55bWNlfTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZS5kZWZpbmUmJihlLmRlZmluZS5hbWR8fGUuZGVmaW5lKCJlcGhveC90aW55bWNlIixbXSx0KSkse319KSxhKFtsLGMsdSxkLGYsaCxtLGcsdix5LEMsdyxOLEUsVCxBLEIsRCxNLEwsUCxILEksRixqLFksSixRLHJlLGllLG9lLGFlLGxlLHVlLGRlLG1lLGdlLHZlLHllLGJlLENlLHhlLHdlLE5lLEVlLF9lLFNlLGtlLFRlLFJlLEFlLEJlLERlLE1lLEhlLEllLEdlLEplLFFlLFplLHR0LG50LHJ0LGl0LG90LGF0LHN0LGx0LGN0LHV0LGR0LGZ0LGh0LHB0LG10LGd0LHZ0LHl0LGJ0LEN0LHh0LHd0LE50LEV0LF90LFN0LGt0LFR0LFJ0LEF0LEJ0LER0LE10LEx0LFB0LEh0LE90LEl0LEZ0LHp0LFd0LFZ0LFV0LCR0LHF0LGp0LFl0XSl9KHRoaXMpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/cmsms_linker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/cmsms_linker/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/cmsms_linker/plugin.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgnY21zbXNfbGlua2VyJywgZnVuY3Rpb24oZWRpdG9yLCB1cmwpIHsNCiAgICBmdW5jdGlvbiBjbXNtc19zaG93RGlhbG9nKCkgew0KDQogICAgICAgIHZhciBkYXRhID0ge30sDQogICAgICAgICAgICBzZWxlY3Rpb24gPSBlZGl0b3Iuc2VsZWN0aW9uLA0KICAgICAgICAgICAgZG9tID0gZWRpdG9yLmRvbSwNCiAgICAgICAgICAgIHNlbGVjdGVkRWxtLA0KICAgICAgICAgICAgYW5jaG9yRWxtLA0KICAgICAgICAgICAgaW5pdGlhbFRleHQsDQogICAgICAgICAgICB3aW4sDQogICAgICAgICAgICBwYWdlRmllbGQsDQogICAgICAgICAgICBhbGlhc0ZpZWxkLA0KICAgICAgICAgICAgdGV4dEZpZWxkLA0KICAgICAgICAgICAgdGFyZ2V0T3B0aW9ucywNCiAgICAgICAgICAgIGNsYXNzbmFtZUZpZWxkLA0KICAgICAgICAgICAgcmVsRmllbGQsDQogICAgICAgICAgICByOw0KDQogICAgICAgIC8vIGJ1aWxkIHRhcmdldCBhdHRyaWJ1dGUgZHJvcGRvd24NCiAgICAgICAgZnVuY3Rpb24gYnVpbGRUYXJnZXRMaXN0KHRhcmdldFZhbHVlKSB7DQogICAgICAgICAgICB2YXIgdGFyZ2V0TGlzdEl0ZW1zID0gW3sNCiAgICAgICAgICAgICAgICB0ZXh0OiBjbXNtc190aW55LnRhcmdldF9ub25lLA0KICAgICAgICAgICAgICAgIHZhbHVlOiAnJw0KICAgICAgICAgICAgfV07DQoNCiAgICAgICAgICAgIGlmICghZWRpdG9yLnNldHRpbmdzLnRhcmdldF9saXN0KSB7DQogICAgICAgICAgICAgICAgdGFyZ2V0TGlzdEl0ZW1zLnB1c2goew0KICAgICAgICAgICAgICAgICAgICB0ZXh0OiBjbXNtc190aW55LnRhcmdldF9uZXdfd2luZG93LA0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ19ibGFuaycNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGlueW1jZS5lYWNoKGVkaXRvci5zZXR0aW5ncy50YXJnZXRfbGlzdCwgZnVuY3Rpb24odGFyZ2V0KSB7DQogICAgICAgICAgICAgICAgdGFyZ2V0TGlzdEl0ZW1zLnB1c2goew0KICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0YXJnZXQudGV4dCB8fCB0YXJnZXQudGl0bGUsDQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0YXJnZXQudmFsdWUsDQogICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0YXJnZXRWYWx1ZSA9PT0gdGFyZ2V0LnZhbHVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRhcmdldExpc3RJdGVtczsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIHJ1biBqUXVlcnlVSSBhdXRvY29tcGxldGUgYW5kIHNldCB2YWx1ZXMNCiAgICAgICAgZnVuY3Rpb24gaW5pdEF1dG9Db21wbGV0ZSh0YXJnZXRFbGVtZW50KSB7DQoNCiAgICAgICAgICAgICQoJy51aS1hdXRvY29tcGxldGUnKS5jc3MoJ3otaW5kZXgnLCA3MDAwMCk7DQogICAgICAgICAgICAkKCcudWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlJykuaGlkZSgpOw0KDQogICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRFbGVtZW50KTsNCg0KICAgICAgICAgICAgJChlbCkuYXV0b2NvbXBsZXRlKHsNCiAgICAgICAgICAgICAgICBtaW5MZW5ndGg6IDIsDQogICAgICAgICAgICAgICAgc291cmNlOiBmdW5jdGlvbihyZXF1ZXN0LCByZXNwb25zZSkgew0KICAgICAgICAgICAgICAgICAgICAkLmFqYXgoew0KICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBjbXNtc190aW55Lmxpbmtlcl9hdXRvY29tcGxldGVfdXJsLA0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdqc29uJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXJtOiByZXF1ZXN0LnRlcm0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UoZGF0YSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZm9jdXM6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgew0KICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2VsZWN0OiBmdW5jdGlvbihldmVudCwgdWkpIHsNCiAgICAgICAgICAgICAgICAgICAgJChlbCkudmFsKHVpLml0ZW0ubGFiZWwpOw0KICAgICAgICAgICAgICAgICAgICAkKCcubWNlLWNtc21zLWxpbmtlci1hbGlhcycpLnZhbCh1aS5pdGVtLnZhbHVlKTsNCiAgICAgICAgICAgICAgICAgICAgJCgnLm1jZS1jbXNtcy1saW5rZXItaHJlZicpLnZhbCgie2Ntc19zZWxmbGluayBocmVmPSciICsgdWkuaXRlbS52YWx1ZSArICInfSIpOw0KICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gaW5zZXJ0IGFsbCBzZWxlY3RlZCB2YWx1ZXMgdG8gc3VibWl0dGVkIGZvcm0NCiAgICAgICAgZnVuY3Rpb24gb25TdWJtaXRGb3JtKCkgew0KDQogICAgICAgICAgICB2YXIgZGF0YSA9IHdpbi50b0pTT04oKSwNCiAgICAgICAgICAgICAgICBocmVmID0gZGF0YS5ocmVmLA0KICAgICAgICAgICAgICAgIHBhZ2UgPSBkYXRhLnBhZ2U7DQoNCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbnNlcnRMaW5rKCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS50ZXh0ICE9PSBpbml0aWFsVGV4dCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFuY2hvckVsbSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvci5mb2N1cygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvckVsbS5pbm5lckhUTUwgPSBkYXRhLnRleHQ7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20uc2V0QXR0cmlicyhhbmNob3JFbG0sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogaHJlZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBkYXRhLnRhcmdldCA/IGRhdGEudGFyZ2V0IDogbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsOiBkYXRhLnJlbCA/IGRhdGEucmVsIDogbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IGRhdGEuY2xhc3NuYW1lID8gZGF0YS5jbGFzc25hbWUgOiBudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24uc2VsZWN0KGFuY2hvckVsbSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvci5pbnNlcnRDb250ZW50KGRvbS5jcmVhdGVIVE1MKCdhJywgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmOiBocmVmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGRhdGEudGFyZ2V0ID8gZGF0YS50YXJnZXQgOiBudWxsLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw6IGRhdGEucmVsID8gZGF0YS5yZWwgOiBudWxsLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogZGF0YS5jbGFzc25hbWUgPyBkYXRhLmNsYXNzbmFtZSA6IG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBkYXRhLnRleHQpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvci5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0TGluaycsIGZhbHNlLCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogaHJlZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGRhdGEudGFyZ2V0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbDogZGF0YS5yZWwgPyBkYXRhLnJlbCA6IG51bGwsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IGRhdGEuY2xhc3NuYW1lID8gZGF0YS5jbGFzc25hbWUgOiBudWxsDQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmICghaHJlZiB8fCAhcGFnZSkgew0KICAgICAgICAgICAgICAgICAgICBlZGl0b3IuZXhlY0NvbW1hbmQoJ3VubGluaycpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgaW5zZXJ0TGluaygpOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gc2V0IGRlZmF1bHQgdmFsdWVzIGZvciBmaWVsZHMNCiAgICAgICAgc2VsZWN0ZWRFbG0gICAgPSBzZWxlY3Rpb24uZ2V0Tm9kZSgpOw0KICAgICAgICBhbmNob3JFbG0gICAgICA9IGRvbS5nZXRQYXJlbnQoc2VsZWN0ZWRFbG0sICdhW2hyZWZdJyk7DQoNCiAgICAgICAgZGF0YS5wYWdlICAgICAgPSAnJzsNCiAgICAgICAgZGF0YS5hbGlhcyAgICAgPSAnJzsNCiAgICAgICAgZGF0YS50ZXh0ICAgICAgPSBpbml0aWFsVGV4dCA9IGFuY2hvckVsbSA/IChhbmNob3JFbG0uaW5uZXJUZXh0IHx8IGFuY2hvckVsbS50ZXh0Q29udGVudCkgOiBzZWxlY3Rpb24uZ2V0Q29udGVudCh7Zm9ybWF0OiAndGV4dCd9KTsNCiAgICAgICAgZGF0YS5ocmVmICAgICAgPSBhbmNob3JFbG0gPyBkb20uZ2V0QXR0cmliKGFuY2hvckVsbSwgJ2hyZWYnKSA6ICcnOw0KICAgICAgICBkYXRhLnRhcmdldCAgICA9IGFuY2hvckVsbSA/IGRvbS5nZXRBdHRyaWIoYW5jaG9yRWxtLCAndGFyZ2V0JykgOiAnJzsNCiAgICAgICAgZGF0YS5jbGFzc25hbWUgPSBhbmNob3JFbG0gPyBkb20uZ2V0QXR0cmliKGFuY2hvckVsbSwgJ2NsYXNzJykgOiAnJzsNCiAgICAgICAgZGF0YS5yZWwgICAgICAgPSBhbmNob3JFbG0gPyBkb20uZ2V0QXR0cmliKGFuY2hvckVsbSwgJ3JlbCcpIDogJyc7DQoNCiAgICAgICAgLy8gZ3JhYiBwYWdlIGluZm9ybWF0aW9uIGlmIGhyZWYgaXMgY21zX3NlbGZsaW5rDQogICAgICAgIGlmKGRhdGEuaHJlZi5pbmRleE9mKCdjbXNfc2VsZmxpbmsnKSAhPT0gLTEgKSB7DQogICAgICAgICAgICByID0gZGF0YS5ocmVmLm1hdGNoKC9ocmVmPSguKilbXHNcfV0vKTsNCg0KICAgICAgICAgICAgaWYoci5sZW5ndGggPj0gMikgew0KICAgICAgICAgICAgICAgIC8vIHBhcnNlZCB0aGUgY21zX3NlbGZsaW5rIGZvciB0aGUgcGFnZSBhbGlhcw0KICAgICAgICAgICAgICAgIC8vIGZpbGwgaW4gdGhlIGFsaWFzIGZpZWxkLg0KICAgICAgICAgICAgICAgIGRhdGEuYWxpYXMgPSByWzFdLnJlcGxhY2UgKC8nL2csICcnKTsNCiAgICAgICAgICAgICAgICAvLyBkZWZhdWx0IHZhbHVlIGZvciBwYWdlIGZpZWxkDQogICAgICAgICAgICAgICAgZGF0YS5wYWdlID0gY21zbXNfdGlueS5sb2FkaW5nX2luZm87DQogICAgICAgICAgICAgICAgJC5hamF4KHsNCiAgICAgICAgICAgICAgICAgICAgdXJsOiBjbXNtc190aW55Lmxpbmtlcl9hdXRvY29tcGxldGVfdXJsLA0KICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2pzb24nLA0KICAgICAgICAgICAgICAgICAgICBkYXRhOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBhbGlhczogZGF0YS5hbGlhcw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB2YWx1ZXMgZm9yIGFsaWFzIGFuZCBwYWdlLg0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5wYWdlID0gcmVzLmxhYmVsOw0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5ocmVmPSAie2Ntc19zZWxmbGluayBocmVmPSciICsgZGF0YS5hbGlhcyArICInfSI7DQogICAgICAgICAgICAgICAgICAgICAgICAkKCcubWNlLWNtc21zLWxpbmtlci1wYWdlJykudmFsKGRhdGEucGFnZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAkKCcubWNlLWNtc21zLWxpbmtlci1hbGlhcycpLnZhbChkYXRhLmFsaWFzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICQoJy5tY2UtY21zbXMtbGlua2VyLWhyZWYnKS52YWwoZGF0YS5ocmVmKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLy8gcmVzZXQgdGV4dCBmaWVsZCBpZiBpdCdzIGltYWdlJw0KICAgICAgICBpZiAoc2VsZWN0ZWRFbG0ubm9kZU5hbWUgPT09ICdJTUcnKSB7DQogICAgICAgICAgICBkYXRhLnRleHQgPSBpbml0aWFsVGV4dCA9ICcgJzsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIHNldCB0YXJnZXQgbGlzdCBvcHRpb24gdmFsdWVzDQogICAgICAgIGlmIChlZGl0b3Iuc2V0dGluZ3MudGFyZ2V0X2xpc3QgIT09IGZhbHNlKSB7DQogICAgICAgICAgICB0YXJnZXRPcHRpb25zID0gew0KICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLA0KICAgICAgICAgICAgICAgIHR5cGU6ICdsaXN0Ym94JywNCiAgICAgICAgICAgICAgICBsYWJlbDogY21zbXNfdGlueS5wcm9tcHRfdGFyZ2V0LA0KICAgICAgICAgICAgICAgIHZhbHVlczogYnVpbGRUYXJnZXRMaXN0KGRhdGEudGFyZ2V0KQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIHNldCBkZWZhdWx0cyBmb3IgcGFnZSBmaWVsZA0KICAgICAgICBwYWdlRmllbGQgPSB7DQogICAgICAgICAgICBuYW1lOiAncGFnZScsDQogICAgICAgICAgICB0eXBlOiAndGV4dGJveCcsDQogICAgICAgICAgICBzaXplOiA0MCwNCiAgICAgICAgICAgIGNsYXNzZXM6ICdjbXNtcy1saW5rZXItcGFnZScsDQogICAgICAgICAgICB0b29sdGlwOiBjbXNtc190aW55LnByb21wdF9wYWdlX2luZm8sDQogICAgICAgICAgICBsYWJlbDogY21zbXNfdGlueS5wcm9tcHRfcGFnZSwNCiAgICAgICAgICAgIG9ua2V5dXA6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGluaXRBdXRvQ29tcGxldGUodGhpcy5faWQpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIG9uY2hhbmdlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBpbml0QXV0b0NvbXBsZXRlKHRoaXMuX2lkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgLy8gc2V0IGRlZmF1bHQgZm9yIGFsaWFzIGZpZWxkDQogICAgICAgIGFsaWFzRmllbGQgPSB7DQogICAgICAgICAgICBuYW1lOiAnYWxpYXMnLA0KICAgICAgICAgICAgZGlzYWJsZWQ6IHRydWUsDQogICAgICAgICAgICB0eXBlOiAndGV4dGJveCcsDQogICAgICAgICAgICBzaXplOiA0MCwNCiAgICAgICAgICAgIGxhYmVsOiBjbXNtc190aW55LnByb21wdF9hbGlhcywNCiAgICAgICAgICAgIHRvb2x0aXA6IGNtc21zX3RpbnkucHJvbXB0X2FsaWFzX2luZm8sDQogICAgICAgICAgICBjbGFzc2VzOiAnY21zbXMtbGlua2VyLWFsaWFzJw0KICAgICAgICB9Ow0KICAgICAgICAvL3NldCBkZWZhdWx0cyBmb3IgdGV4dCBmaWVsZA0KICAgICAgICB0ZXh0RmllbGQgPSB7DQogICAgICAgICAgICBuYW1lOiAndGV4dCcsDQogICAgICAgICAgICB0eXBlOiAndGV4dGJveCcsDQogICAgICAgICAgICBzaXplOiA0MCwNCiAgICAgICAgICAgIGxhYmVsOiBjbXNtc190aW55LnByb21wdF90ZXh0LA0KICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGRhdGEudGV4dCA9IHRoaXMudmFsdWUoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvbmtleXVwOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBkYXRhLnRleHQgPSB0aGlzLnZhbHVlKCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfTsNCiAgICAgICAgLy8gc2V0IGNsYXNzbmFtZSBkZWZhdWx0cw0KICAgICAgICBjbGFzc25hbWVGaWVsZCA9IHsNCiAgICAgICAgICAgIG5hbWU6ICdjbGFzc25hbWUnLA0KICAgICAgICAgICAgdHlwZTogJ3RleHRib3gnLA0KICAgICAgICAgICAgc2l6ZTogNDAsDQogICAgICAgICAgICBsYWJlbDogY21zbXNfdGlueS5wcm9tcHRfY2xhc3MsDQogICAgICAgICAgICBvbmNoYW5nZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZGF0YS5jbGFzc25hbWUgPSB0aGlzLnZhbHVlKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb25rZXl1cDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZGF0YS5jbGFzc25hbWUgPSB0aGlzLnZhbHVlKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIC8vIHNldCBkZWZhdWx0cyBmb3IgcmVsIGZpZWxkDQogICAgICAgIHJlbEZpZWxkID0gew0KICAgICAgICAgICAgbmFtZTogJ3JlbCcsDQogICAgICAgICAgICB0eXBlOiAndGV4dGJveCcsDQogICAgICAgICAgICBzaXplOiA0MCwNCiAgICAgICAgICAgIGxhYmVsOiBjbXNtc190aW55LnByb21wdF9yZWwsDQogICAgICAgICAgICBvbmNoYW5nZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZGF0YS5yZWwgPSB0aGlzLnZhbHVlKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb25rZXl1cDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZGF0YS5yZWwgPSB0aGlzLnZhbHVlKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gcnVuIHRpbnltY2Ugd2luZG93IGFuZCBidWlsZCBmb3JtDQogICAgICAgIHdpbiA9IGVkaXRvci53aW5kb3dNYW5hZ2VyLm9wZW4oew0KICAgICAgICAgICAgdGl0bGU6IGNtc21zX3RpbnkubGlua2VyX3RleHQsDQogICAgICAgICAgICBkYXRhOiBkYXRhLA0KICAgICAgICAgICAgYm9keVR5cGU6ICd0YWJwYW5lbCcsDQogICAgICAgICAgICBib2R5OiBbew0KICAgICAgICAgICAgICAgIHRpdGxlOiBjbXNtc190aW55LnRhYl9nZW5lcmFsLA0KICAgICAgICAgICAgICAgIHR5cGU6ICdmb3JtJywNCiAgICAgICAgICAgICAgICBpdGVtczogWw0KICAgICAgICAgICAgICAgICAgICBwYWdlRmllbGQsDQogICAgICAgICAgICAgICAgICAgIGFsaWFzRmllbGQsDQogICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZCwNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIG5hbWU6ICdocmVmJywNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHRib3gnLA0KICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnY21zbXMtbGlua2VyLWhyZWYnLA0KICAgICAgICAgICAgICAgICAgICBzaXplOiAxMDAsDQogICAgICAgICAgICAgICAgICAgIGhpZGRlbjogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICJ7Y21zX3NlbGZsaW5rIGhyZWY9JyIgKyBkYXRhLmFsaWFzICsgIid9Ig0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICBdfSwNCiAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgIHRpdGxlOiBjbXNtc190aW55LnRhYl9hZHZhbmNlZCwNCiAgICAgICAgICAgICAgICAgdHlwZTogJ2Zvcm0nLA0KICAgICAgICAgICAgICAgICBpdGVtczogWw0KICAgICAgICAgICAgICAgICAgICB0YXJnZXRPcHRpb25zLA0KICAgICAgICAgICAgICAgICAgICBjbGFzc25hbWVGaWVsZCwNCiAgICAgICAgICAgICAgICAgICAgcmVsRmllbGQNCiAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgIH1dLA0KICAgICAgICAgICAgIG9uU3VibWl0OiBvblN1Ym1pdEZvcm0NCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgLy8gYWRkIGEgYnV0dG9uDQogICAgZWRpdG9yLmFkZEJ1dHRvbignY21zbXNfbGlua2VyJywgew0KICAgICAgICB0aXRsZTogY21zbXNfdGlueS5saW5rZXJfdGl0bGUsDQogICAgICAgIGljb246ICdsaW5rJywNCiAgICAgICAgaW1hZ2U6IGNtc21zX3RpbnkubGlua2VyX2ltYWdlLA0KICAgICAgICBvbmNsaWNrOiBjbXNtc19zaG93RGlhbG9nLA0KICAgICAgICBzdGF0ZVNlbGVjdG9yOiAnYVtocmVmXScNCiAgICB9KTsNCg0KICAgIC8vIGFuZCBhIG1lbnUgaXRlbQ0KICAgIGVkaXRvci5hZGRNZW51SXRlbSgnY21zbXNfbGlua2VyJywgew0KICAgICAgICB0ZXh0OiBjbXNtc190aW55Lmxpbmtlcl90ZXh0LA0KICAgICAgICB0aXRsZTogY21zbXNfdGlueS5saW5rZXJfdGl0bGUsDQogICAgICAgIGltYWdlOiBjbXNtc190aW55Lmxpbmtlcl9pbWFnZSwNCiAgICAgICAgc3RhdGVTZWxlY3RvcjogJ2FbaHJlZl0nLA0KICAgICAgICBjb250ZXh0OiAnaW5zZXJ0JywNCiAgICAgICAgcHJlcGVuZFRvQ29udGV4dDogdHJ1ZSwNCiAgICAgICAgb25jbGljazogY21zbXNfc2hvd0RpYWxvZw0KICAgIH0pOw0KfSk7DQo=]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/cmsms_linker/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiY21zbXNfbGlua2VyIixmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXtmdW5jdGlvbiB2KHQpe3ZhciBuPVt7dGV4dDpjbXNtc190aW55LnRhcmdldF9ub25lLHZhbHVlOiIifV07aWYoIWUuc2V0dGluZ3MudGFyZ2V0X2xpc3Qpe24ucHVzaCh7dGV4dDpjbXNtc190aW55LnRhcmdldF9uZXdfd2luZG93LHZhbHVlOiJfYmxhbmsifSl9dGlueW1jZS5lYWNoKGUuc2V0dGluZ3MudGFyZ2V0X2xpc3QsZnVuY3Rpb24oZSl7bi5wdXNoKHt0ZXh0OmUudGV4dHx8ZS50aXRsZSx2YWx1ZTplLnZhbHVlLHNlbGVjdGVkOnQ9PT1lLnZhbHVlfSl9KTtyZXR1cm4gbn1mdW5jdGlvbiBtKGUpeyQoIi51aS1hdXRvY29tcGxldGUiKS5jc3MoInotaW5kZXgiLDdlNCk7JCgiLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpLmhpZGUoKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKTskKHQpLmF1dG9jb21wbGV0ZSh7bWluTGVuZ3RoOjIsc291cmNlOmZ1bmN0aW9uKGUsdCl7JC5hamF4KHt1cmw6Y21zbXNfdGlueS5saW5rZXJfYXV0b2NvbXBsZXRlX3VybCxkYXRhVHlwZToianNvbiIsZGF0YTp7dGVybTplLnRlcm19LHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7dChlKX19KX0sZm9jdXM6ZnVuY3Rpb24oZSx0KXtlLnByZXZlbnREZWZhdWx0KCl9LHNlbGVjdDpmdW5jdGlvbihlLG4peyQodCkudmFsKG4uaXRlbS5sYWJlbCk7JCgiLm1jZS1jbXNtcy1saW5rZXItYWxpYXMiKS52YWwobi5pdGVtLnZhbHVlKTskKCIubWNlLWNtc21zLWxpbmtlci1ocmVmIikudmFsKCJ7Y21zX3NlbGZsaW5rIGhyZWY9JyIrbi5pdGVtLnZhbHVlKyInfSIpO2UucHJldmVudERlZmF1bHQoKX19KX1mdW5jdGlvbiBnKCl7ZnVuY3Rpb24gZigpe2lmKHQudGV4dCE9PW8pe2lmKHMpe2UuZm9jdXMoKTtzLmlubmVySFRNTD10LnRleHQ7ci5zZXRBdHRyaWJzKHMse2hyZWY6aSx0YXJnZXQ6dC50YXJnZXQ/dC50YXJnZXQ6bnVsbCxyZWw6dC5yZWw/dC5yZWw6bnVsbCwiY2xhc3MiOnQuY2xhc3NuYW1lP3QuY2xhc3NuYW1lOm51bGx9KTtuLnNlbGVjdChzKX1lbHNle2UuaW5zZXJ0Q29udGVudChyLmNyZWF0ZUhUTUwoImEiLHtocmVmOmksdGFyZ2V0OnQudGFyZ2V0P3QudGFyZ2V0Om51bGwscmVsOnQucmVsP3QucmVsOm51bGwsImNsYXNzIjp0LmNsYXNzbmFtZT90LmNsYXNzbmFtZTpudWxsfSx0LnRleHQpKX19ZWxzZXtlLmV4ZWNDb21tYW5kKCJtY2VJbnNlcnRMaW5rIixmYWxzZSx7aHJlZjppLHRhcmdldDp0LnRhcmdldCxyZWw6dC5yZWw/dC5yZWw6bnVsbCwiY2xhc3MiOnQuY2xhc3NuYW1lP3QuY2xhc3NuYW1lOm51bGx9KX19dmFyIHQ9dS50b0pTT04oKSxpPXQuaHJlZixhPXQucGFnZTtpZighaXx8IWEpe2UuZXhlY0NvbW1hbmQoInVubGluayIpO3JldHVybn1mKCl9dmFyIHQ9e30sbj1lLnNlbGVjdGlvbixyPWUuZG9tLGkscyxvLHUsYSxmLGwsYyxoLHAsZDtpPW4uZ2V0Tm9kZSgpO3M9ci5nZXRQYXJlbnQoaSwiYVtocmVmXSIpO3QucGFnZT0iIjt0LmFsaWFzPSIiO3QudGV4dD1vPXM/cy5pbm5lclRleHR8fHMudGV4dENvbnRlbnQ6bi5nZXRDb250ZW50KHtmb3JtYXQ6InRleHQifSk7dC5ocmVmPXM/ci5nZXRBdHRyaWIocywiaHJlZiIpOiIiO3QudGFyZ2V0PXM/ci5nZXRBdHRyaWIocywidGFyZ2V0Iik6IiI7dC5jbGFzc25hbWU9cz9yLmdldEF0dHJpYihzLCJjbGFzcyIpOiIiO3QucmVsPXM/ci5nZXRBdHRyaWIocywicmVsIik6IiI7aWYodC5ocmVmLmluZGV4T2YoImNtc19zZWxmbGluayIpIT09LTEpe2Q9dC5ocmVmLm1hdGNoKC9ocmVmPSguKilbXHNcfV0vKTtpZihkLmxlbmd0aD49Mil7dC5hbGlhcz1kWzFdLnJlcGxhY2UoLycvZywiIik7dC5wYWdlPWNtc21zX3RpbnkubG9hZGluZ19pbmZvOyQuYWpheCh7dXJsOmNtc21zX3RpbnkubGlua2VyX2F1dG9jb21wbGV0ZV91cmwsZGF0YVR5cGU6Impzb24iLGRhdGE6e2FsaWFzOnQuYWxpYXN9LHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7dC5wYWdlPWUubGFiZWw7dC5ocmVmPSJ7Y21zX3NlbGZsaW5rIGhyZWY9JyIrdC5hbGlhcysiJ30iOyQoIi5tY2UtY21zbXMtbGlua2VyLXBhZ2UiKS52YWwodC5wYWdlKTskKCIubWNlLWNtc21zLWxpbmtlci1hbGlhcyIpLnZhbCh0LmFsaWFzKTskKCIubWNlLWNtc21zLWxpbmtlci1ocmVmIikudmFsKHQuaHJlZil9fSl9fWlmKGkubm9kZU5hbWU9PT0iSU1HIil7dC50ZXh0PW89IiAifWlmKGUuc2V0dGluZ3MudGFyZ2V0X2xpc3QhPT1mYWxzZSl7Yz17bmFtZToidGFyZ2V0Iix0eXBlOiJsaXN0Ym94IixsYWJlbDpjbXNtc190aW55LnByb21wdF90YXJnZXQsdmFsdWVzOnYodC50YXJnZXQpfX1hPXtuYW1lOiJwYWdlIix0eXBlOiJ0ZXh0Ym94IixzaXplOjQwLGNsYXNzZXM6ImNtc21zLWxpbmtlci1wYWdlIix0b29sdGlwOmNtc21zX3RpbnkucHJvbXB0X3BhZ2VfaW5mbyxsYWJlbDpjbXNtc190aW55LnByb21wdF9wYWdlLG9ua2V5dXA6ZnVuY3Rpb24oKXttKHRoaXMuX2lkKX0sb25jaGFuZ2U6ZnVuY3Rpb24oKXttKHRoaXMuX2lkKX19O2Y9e25hbWU6ImFsaWFzIixkaXNhYmxlZDp0cnVlLHR5cGU6InRleHRib3giLHNpemU6NDAsbGFiZWw6Y21zbXNfdGlueS5wcm9tcHRfYWxpYXMsdG9vbHRpcDpjbXNtc190aW55LnByb21wdF9hbGlhc19pbmZvLGNsYXNzZXM6ImNtc21zLWxpbmtlci1hbGlhcyJ9O2w9e25hbWU6InRleHQiLHR5cGU6InRleHRib3giLHNpemU6NDAsbGFiZWw6Y21zbXNfdGlueS5wcm9tcHRfdGV4dCxvbmNoYW5nZTpmdW5jdGlvbigpe3QudGV4dD10aGlzLnZhbHVlKCl9LG9ua2V5dXA6ZnVuY3Rpb24oKXt0LnRleHQ9dGhpcy52YWx1ZSgpfX07aD17bmFtZToiY2xhc3NuYW1lIix0eXBlOiJ0ZXh0Ym94IixzaXplOjQwLGxhYmVsOmNtc21zX3RpbnkucHJvbXB0X2NsYXNzLG9uY2hhbmdlOmZ1bmN0aW9uKCl7dC5jbGFzc25hbWU9dGhpcy52YWx1ZSgpfSxvbmtleXVwOmZ1bmN0aW9uKCl7dC5jbGFzc25hbWU9dGhpcy52YWx1ZSgpfX07cD17bmFtZToicmVsIix0eXBlOiJ0ZXh0Ym94IixzaXplOjQwLGxhYmVsOmNtc21zX3RpbnkucHJvbXB0X3JlbCxvbmNoYW5nZTpmdW5jdGlvbigpe3QucmVsPXRoaXMudmFsdWUoKX0sb25rZXl1cDpmdW5jdGlvbigpe3QucmVsPXRoaXMudmFsdWUoKX19O3U9ZS53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOmNtc21zX3RpbnkubGlua2VyX3RleHQsZGF0YTp0LGJvZHlUeXBlOiJ0YWJwYW5lbCIsYm9keTpbe3RpdGxlOmNtc21zX3RpbnkudGFiX2dlbmVyYWwsdHlwZToiZm9ybSIsaXRlbXM6W2EsZixsLHtuYW1lOiJocmVmIix0eXBlOiJ0ZXh0Ym94IixjbGFzc2VzOiJjbXNtcy1saW5rZXItaHJlZiIsc2l6ZToxMDAsaGlkZGVuOnRydWUsdmFsdWU6IntjbXNfc2VsZmxpbmsgaHJlZj0nIit0LmFsaWFzKyInfSJ9XX0se3RpdGxlOmNtc21zX3RpbnkudGFiX2FkdmFuY2VkLHR5cGU6ImZvcm0iLGl0ZW1zOltjLGgscF19XSxvblN1Ym1pdDpnfSl9ZS5hZGRCdXR0b24oImNtc21zX2xpbmtlciIse3RpdGxlOmNtc21zX3RpbnkubGlua2VyX3RpdGxlLGljb246ImxpbmsiLGltYWdlOmNtc21zX3RpbnkubGlua2VyX2ltYWdlLG9uY2xpY2s6bixzdGF0ZVNlbGVjdG9yOiJhW2hyZWZdIn0pO2UuYWRkTWVudUl0ZW0oImNtc21zX2xpbmtlciIse3RleHQ6Y21zbXNfdGlueS5saW5rZXJfdGV4dCx0aXRsZTpjbXNtc190aW55Lmxpbmtlcl90aXRsZSxpbWFnZTpjbXNtc190aW55Lmxpbmtlcl9pbWFnZSxzdGF0ZVNlbGVjdG9yOiJhW2hyZWZdIixjb250ZXh0OiJpbnNlcnQiLHByZXBlbmRUb0NvbnRleHQ6dHJ1ZSxvbmNsaWNrOm59KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/lib/js/tinymce_external_plugins/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgoKJGRiID0gJHRoaXMtPkdldERiKCk7CgoKCi8vIFByb2ZpbGVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokZmxkcyA9ICIKCWlkX3Byb2ZpbGUgSSBLRVkgQVVUTywKCWlkX3RlbXBsYXRlIEksCgluYW1lIEMoMjU1KSwKCXByaW9yaXR5IEksCglyZXNpemUgQygyMCksCglhdXRvcmVzaXplIEksCglwbHVnaW5zIFgsCgllbmFibGVfbGlua2VyIEksCglzaG93X21lbnViYXIgSSwKCW1lbnViYXIgQygyNTUpLAoJdXNlX2FkdmFuY2VkX21lbnUgSSwKCWFkdmFuY2VkX21lbnUgWCwKCXNob3dfdG9vbGJhciBJLAoJdG9vbGJhcjEgWCwKCXRvb2xiYXIyIFgsCgllbmFibGVfY29udGV4dG1lbnUgSSwKCWNvbnRleHRtZW51IFgsCglzaG93X3N0YXR1c2JhciBJLAoJaWRfZGVzaWduIEksCglsaW5rX2NsYXNzZXMgWCwKCWltYWdlX2NsYXNzZXMgWCwKCXN0eWxlX2Zvcm1hdHMgWCwKCXVzZV9jdXN0b21fYmxvY2tfZm9ybWF0cyBJLAoJYmxvY2tfZm9ybWF0cyBDKDI1NSksCgllbmFibGVfdXNlcl90ZW1wbGF0ZXMgSSwKCWVuYWJsZV9jdXN0b21fZHJvcGRvd24gSSwKCWN1c3RvbV9kcm9wZG93bl90aXRsZSBDKDEwMCksCgljdXN0b21fZHJvcGRvd24gWCwKCWV4dHJhX2pzIFgsCglleHRlcm5hbF9tb2R1bGVzIFgsCglleHRlcm5hbF9tb2R1bGVzX3Nob3dfbWVudXRleHQgSSwKCWZpbGVtYW5hZ2VyX3VzZSBJLAoJZmlsZW1hbmFnZXJfZGVsZXRlX2ZpbGVzIEksCglmaWxlbWFuYWdlcl9jcmVhdGVfZm9sZGVycyBJLAoJZmlsZW1hbmFnZXJfZGVsZXRlX2ZvbGRlcnMgSSwKCWZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcyBJLAoJZmlsZW1hbmFnZXJfcmVuYW1lX2ZpbGVzIEksCglmaWxlbWFuYWdlcl9yZW5hbWVfZm9sZGVycyBJLAoJZmlsZW1hbmFnZXJfZHVwbGljYXRlX2ZpbGVzIEksCglmaWxlbWFuYWdlcl9jb3B5X2N1dF9maWxlcyBJLAoJZmlsZW1hbmFnZXJfY29weV9jdXRfZGlycyBJLAoJZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMgSSwKCWZpbGVtYW5hZ2VyX2NobW9kX2RpcnMgSSwKCWZpbGVtYW5hZ2VyX3ByZXZpZXdfdGV4dF9maWxlcyBJLAoJZmlsZW1hbmFnZXJfY3JlYXRlX3RleHRfZmlsZXMgSSwKCWZpbGVtYW5hZ2VyX2VkaXRfdGV4dF9maWxlcyBJLAoJZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmcgSSwKCWZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoIEksCglmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ19oZWlnaHQgSSwKCWZpbGVtYW5hZ2VyX2F2aWFyeV9hY3RpdmUgSSwKCWZpbGVtYW5hZ2VyX2F2aWFyeV9hcGlLZXkgQyg2MCksCglmb3JjZWRfcm9vdF9ibG9jayBJLAoJcmVsYXRpdmVfdXJscyBJLAoJaW1hZ2VfYWR2dGFiIEkKIjsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENNU19EQl9QUkVGSVguVGlueU1DRTo6VElOWU1DRV9QUk9GSUxFU19UQUJMRSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgovLyBQcm9maWxlX2dyb3VwICoqKioqKioqKioqKioqKioqKioqKioqKioqCiRmbGRzID0gIgoJaWRfcHJvZmlsZSBJIEtFWSwKCWlkX2dyb3VwIEkgS0VZCiI7CiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChDTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCgoKCgoKLy8gQ1JFQVRFIFRFTVBMQVRFIFRZUEVTCgovLyBKUwp0cnkgewoJJGpzX3RlbXBsYXRlX3R5cGUgPSBuZXcgQ21zTGF5b3V0VGVtcGxhdGVUeXBlKCk7CgkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X29yaWdpbmF0b3IoJHRoaXMtPkdldE5hbWUoKSk7CgkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X2RmbHRfZmxhZyh0cnVlKTsKCSRqc190ZW1wbGF0ZV90eXBlLT5zZXRfbGFuZ19jYWxsYmFjaygnVGlueU1DRTo6cGFnZV90eXBlX2xhbmdfY2FsbGJhY2snKTsKCSRqc190ZW1wbGF0ZV90eXBlLT5zZXRfY29udGVudF9jYWxsYmFjaygnVGlueU1DRTo6cmVzZXRfcGFnZV90eXBlX2RlZmF1bHRzJyk7CgkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X25hbWUoJ2pzJyk7CgkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X2Rlc2NyaXB0aW9uKCR0aGlzLT5MYW5nKCd0eXBlX2pzX2Rlc2NyaXB0aW9uJykpOwoJJGpzX3RlbXBsYXRlX3R5cGUtPnJlc2V0X2NvbnRlbnRfdG9fZmFjdG9yeSgpOwoJJGpzX3RlbXBsYXRlX3R5cGUtPnNhdmUoKTsKfQpjYXRjaCAoQ21zRXhjZXB0aW9uICRlKSB7CgkvLyBsb2cgaXQKCWRlYnVnX3RvX2xvZyhfX0ZJTEVfXy4nOicuX19MSU5FX18uJyAnLiRlLT5HZXRNZXNzYWdlKCkpOwoJYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnSW5zdGFsbGF0aW9uIEVycm9yOiAnLiRlLT5HZXRNZXNzYWdlKCkpOwp9CgoKCi8vIFRJTllNQ0VURU1QTEFURSA7IGZvciB0aGUgdGVtcGxhdGUgcGx1Z2luCnRyeSB7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlID0gbmV3IENtc0xheW91dFRlbXBsYXRlVHlwZSgpOwoJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X29yaWdpbmF0b3IoJHRoaXMtPkdldE5hbWUoKSk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfZGZsdF9mbGFnKHRydWUpOwoJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X2xhbmdfY2FsbGJhY2soJ1RpbnlNQ0U6OnBhZ2VfdHlwZV9sYW5nX2NhbGxiYWNrJyk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfY29udGVudF9jYWxsYmFjaygnVGlueU1DRTo6cmVzZXRfcGFnZV90eXBlX2RlZmF1bHRzJyk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfbmFtZSgndXNlcnRlbXBsYXRlJyk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfZGVzY3JpcHRpb24oJHRoaXMtPkxhbmcoJ3R5cGVfdXNlcnRlbXBsYXRlX2Rlc2NyaXB0aW9uJykpOwoJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+cmVzZXRfY29udGVudF90b19mYWN0b3J5KCk7CgkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zYXZlKCk7Cn0KY2F0Y2ggKENtc0V4Y2VwdGlvbiAkZSkgewoJLy8gbG9nIGl0CglkZWJ1Z190b19sb2coX19GSUxFX18uJzonLl9fTElORV9fLicgJy4kZS0+R2V0TWVzc2FnZSgpKTsKCWF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0luc3RhbGxhdGlvbiBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKfQoKCgoKCgoKCi8vIENSRUFURSBTQU1QTEUgLyBERUZBVUxUIFRFTVBMQVRFUwovKiR1aWQgPSBnZXRfdXNlcmlkKCk7CnRyeSB7CgkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ29yaWdfanNfdGVtcGxhdGUudHBsJzsKCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICRzYW1wbGVfdHBsID0gbmV3IENtc0xheW91dFRlbXBsYXRlKCk7CiAgICAkc2FtcGxlX3RwbC0+c2V0X25hbWUoJ1RpbnlNQ0UgZGVmYXVsdCBKYXZhc2NyaXB0Jyk7CiAgICAkc2FtcGxlX3RwbC0+c2V0X293bmVyKCR1aWQpOwogICAgJHNhbXBsZV90cGwtPnNldF9jb250ZW50KCR0ZW1wbGF0ZSk7CiAgICAkc2FtcGxlX3RwbC0+c2V0X3R5cGUoJGpzX3RlbXBsYXRlX3R5cGUpOwogICAgJHNhbXBsZV90cGwtPnNldF90eXBlX2RmbHQoVFJVRSk7CiAgICAkc2FtcGxlX3RwbC0+c2F2ZSgpOwogIH0KfQpjYXRjaCggQ21zRXhjZXB0aW9uICRlICkgewogIC8vIGxvZyBpdAogIGRlYnVnX3RvX2xvZyhfX0ZJTEVfXy4nOicuX19MSU5FX18uJyAnLiRlLT5HZXRNZXNzYWdlKCkpOwogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0luc3RhbGxhdGlvbiBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKfSovCgoKCi8vIElOSVRJQUwgUFJPRklMRVMKLy8gTUlOSU1BTAokbWluaV9wcm9maWxlID0gbmV3IHRpbnltY2VfcHJvZmlsZSgpOwokbWluaV9wcm9maWxlLT5uYW1lID0gJHRoaXMtPkxhbmcoJ2luc3RhbGxfcHJvZmlsZV9taW5pbWFsJyk7OwokbWluaV9wcm9maWxlLT5zaG93X21lbnViYXIgPSBmYWxzZTsKJG1pbmlfcHJvZmlsZS0+cmVzaXplID0gZmFsc2U7CiRtaW5pX3Byb2ZpbGUtPnRvb2xiYXIxID0gJ2Zvcm1hdHNlbGVjdCB8IGJvbGQgaXRhbGljIHVuZGVybGluZSB8IGNtc21zX2xpbmtlciBsaW5rIGltYWdlJzsKJG1pbmlfcHJvZmlsZS0+c2F2ZSgpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaWRfZGVmYXVsdF9wcm9maWxlJywgJG1pbmlfcHJvZmlsZS0+aWRfcHJvZmlsZSk7CgovLyBBRFZBTkNFRAokYWR2YW5jZWRfcHJvZmlsZSA9IG5ldyB0aW55bWNlX3Byb2ZpbGUoKTsKJGFkdmFuY2VkX3Byb2ZpbGUtPm5hbWUgPSAkdGhpcy0+TGFuZygnaW5zdGFsbF9wcm9maWxlX2FkdmFuY2VkJyk7CiRhZHZhbmNlZF9wcm9maWxlLT5zYXZlKCk7CgoKCi8vIFBFUk1JU1NJT05TCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycsICdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycpOwoKCi8vIFNBTFQgRk9SIEFDQ0VTUyBLRVkgRk9SIFJFU1BPTlNJVkUgRklMRSBNQU5BR0VSCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmaWxlbWFuYWdlcl9zYWx0Jywgc3Vic3RyKG1kNShyYW5kKCkpLCAwLCAxMCkpOwoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCnRpbnltY2VfdXRpbHM6OmNsZWFyX3RpbnltY2VfY2FjaGUoKTsKCiRkYiA9ICR0aGlzLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBDTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBDTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRUdST1VQX1RBQkxFKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycpOwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKCiR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKCgovLyBFdmVyeXRoaW5nIHVuZGVyIDMuKiBzZXJpZXMKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwnMi45OScpIDwgMCApCnsKICAvLyBSZW1vdmUgb2xkIGZpbGVzCiAgJGRpcnNfcmVtb3ZlID0gYXJyYXkoCiAgICAnZG9jcycsCiAgICAndGlueW1jZScKICApOwogIGZvcmVhY2ggKCRkaXJzX3JlbW92ZSBhcyAkZGlyX3JlbW92ZSkKICAgIHJlY3Vyc2l2ZV9kZWxldGUoJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZGlyX3JlbW92ZSk7CgoKICAkZmlsZXNfcmVtb3ZlID0gYXJyYXkoCiAgICAnaW1hZ2VzL2Ntc21zbGluay5naWYnLAogICAgJ2ltYWdlcy9kZWxldGUuZ2lmJywKICAgICdpbWFnZXMvZGlyLmdpZicsCiAgICAnaW1hZ2VzL2ZpbGVpY29uLmdpZicsCiAgICAnaW1hZ2VzL2ltYWdlcy5naWYnLAogICAgJ3RlbXBsYXRlcy9hZHZhbmNlZHBhbmVsLnRwbCcsCiAgICAndGVtcGxhdGVzL2ZpbGVwaWNrZXIudHBsJywKICAgICd0ZW1wbGF0ZXMvcGx1Z2luc3BhbmVsLnRwbCcsCiAgICAndGVtcGxhdGVzL3Byb2ZpbGVzcGFuZWwudHBsJywKICAgICd0ZW1wbGF0ZXMvc2V0dGluZ3NwYW5lbC50cGwnLAogICAgJ3RlbXBsYXRlcy9zdHlsZXNwYW5lbC50cGwnLAogICAgJ3RlbXBsYXRlcy90aW55Y29uZmlnLnRwbCcsCiAgICAnYWN0aW9uLmZpbGVwaWNrZXIucGhwJywKICAgICdhY3Rpb24uc2F2ZWFkdmFuY2VkLnBocCcsCiAgICAnYWN0aW9uLnNhdmVwbHVnaW5zLnBocCcsCiAgICAnYWN0aW9uLnNhdmVwcm9maWxlcy5waHAnLAogICAgJ2FjdGlvbi5zYXZlc2V0dGluZ3MucGhwJywKICAgICdhY3Rpb24uc2F2ZXN0eWxlcy5waHAnLAogICAgJ2FjdGlvbi5zdHlsZXNoZWV0LnBocCcsCiAgICAnYWN0aW9uLnRpbnljb25maWcucGhwJywKICAgICdldmVudC5Db3JlLkNvbnRlbnRQb3N0UmVuZGVyLnBocCcsCiAgICAnZmlsZXBpY2tlci5jc3MnLAogICAgJ2ZpbGVwaWNrZXIucGhwJywKICAgICdmdW5jdGlvbi5hZG1pbl9hZHZhbmNlZC5waHAnLAogICAgJ2Z1bmN0aW9uLmFkbWluX3BsdWdpbnMucGhwJywKICAgICdmdW5jdGlvbi5hZG1pbl9wcm9maWxlcy5waHAnLAogICAgJ2Z1bmN0aW9uLmFkbWluX3NldHRpbmdzLnBocCcsCiAgICAnZnVuY3Rpb24uYWRtaW5fc3R5bGVzLnBocCcsCiAgICAnZnVuY3Rpb24uYWRtaW5fdGVzdGFyZWEucGhwJywKICAgICdzdHlsZXNoZWV0LnBocCcsCiAgICAndGlueWNvbmZpZ19nei5waHAnLAogICAgJ3Rpbnljb25maWcucGhwJywKICAgICd0aW55bG9nby5wbmcnLAogICAgJ3RvZG8ucGhwJwogICk7CiAgZm9yZWFjaCAoJGZpbGVzX3JlbW92ZSBhcyAkZmlsZV9yZW1vdmUpCiAgICB1bmxpbmsoJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiBzdHJfcmVwbGFjZSgnLycsIERJUkVDVE9SWV9TRVBBUkFUT1IsICRmaWxlX3JlbW92ZSkpOwoKCgogIC8vIFByb2ZpbGVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgJGZsZHMgPSAiCiAgCWlkX3Byb2ZpbGUgSSBLRVkgQVVUTywKICAJaWRfdGVtcGxhdGUgSSwKICAJbmFtZSBDKDI1NSksCiAgCXByaW9yaXR5IEksCiAgCXJlc2l6ZSBDKDIwKSwKICAJYXV0b3Jlc2l6ZSBJLAogIAlwbHVnaW5zIFgsCiAgICBlbmFibGVfbGlua2VyIEksCiAgCXNob3dfbWVudWJhciBJLAogIAltZW51YmFyIEMoMjU1KSwKICAJdXNlX2FkdmFuY2VkX21lbnUgSSwKICAJYWR2YW5jZWRfbWVudSBYLAogIAlzaG93X3Rvb2xiYXIgSSwKICAJdG9vbGJhcjEgWCwKICAJdG9vbGJhcjIgWCwKICAJZW5hYmxlX2NvbnRleHRtZW51IEksCiAgCWNvbnRleHRtZW51IFgsCiAgCXNob3dfc3RhdHVzYmFyIEksCiAgCWlkX2Rlc2lnbiBJLAogIAlsaW5rX2NsYXNzZXMgWCwKICAJaW1hZ2VfY2xhc3NlcyBYLAogICAgc3R5bGVfZm9ybWF0cyBYLAogIAl1c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMgSSwKICAJYmxvY2tfZm9ybWF0cyBDKDI1NSksCiAgCWVuYWJsZV91c2VyX3RlbXBsYXRlcyBJLAogIAllbmFibGVfY3VzdG9tX2Ryb3Bkb3duIEksCiAgCWN1c3RvbV9kcm9wZG93bl90aXRsZSBDKDEwMCksCiAgCWN1c3RvbV9kcm9wZG93biBYLAogIAlleHRyYV9qcyBYLAogIAlleHRlcm5hbF9tb2R1bGVzIFgsCiAgCWV4dGVybmFsX21vZHVsZXNfc2hvd19tZW51dGV4dCBJLAogIAlmaWxlbWFuYWdlcl91c2UgSSwKICAJZmlsZW1hbmFnZXJfZGVsZXRlX2ZpbGVzIEksCiAgCWZpbGVtYW5hZ2VyX2NyZWF0ZV9mb2xkZXJzIEksCiAgCWZpbGVtYW5hZ2VyX2RlbGV0ZV9mb2xkZXJzIEksCiAgCWZpbGVtYW5hZ2VyX3VwbG9hZF9maWxlcyBJLAogIAlmaWxlbWFuYWdlcl9yZW5hbWVfZmlsZXMgSSwKICAJZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMgSSwKICAJZmlsZW1hbmFnZXJfZHVwbGljYXRlX2ZpbGVzIEksCiAgCWZpbGVtYW5hZ2VyX2NvcHlfY3V0X2ZpbGVzIEksCiAgCWZpbGVtYW5hZ2VyX2NvcHlfY3V0X2RpcnMgSSwKICAJZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMgSSwKICAJZmlsZW1hbmFnZXJfY2htb2RfZGlycyBJLAogIAlmaWxlbWFuYWdlcl9wcmV2aWV3X3RleHRfZmlsZXMgSSwKICAJZmlsZW1hbmFnZXJfY3JlYXRlX3RleHRfZmlsZXMgSSwKICAJZmlsZW1hbmFnZXJfZWRpdF90ZXh0X2ZpbGVzIEksCiAgCWZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nIEksCiAgCWZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoIEksCiAgCWZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCBJLAogIAlmaWxlbWFuYWdlcl9hdmlhcnlfYWN0aXZlIEksCiAgCWZpbGVtYW5hZ2VyX2F2aWFyeV9hcGlLZXkgQyg2MCkKICAiOwogICR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKENNU19EQl9QUkVGSVguVGlueU1DRTo6VElOWU1DRV9QUk9GSUxFU19UQUJMRSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiAgLy8gUHJvZmlsZV9ncm91cCAqKioqKioqKioqKioqKioqKioqKioqKioqKgogICRmbGRzID0gIgogIAlpZF9wcm9maWxlIEkgS0VZLAogIAlpZF9ncm91cCBJIEtFWQogICI7CiAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVHUk9VUF9UQUJMRSwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCgoKCgoKICAvLyBDUkVBVEUgVEVNUExBVEUgVFlQRVMKCiAgLy8gSlMKICB0cnkgewogIAkkanNfdGVtcGxhdGVfdHlwZSA9IG5ldyBDbXNMYXlvdXRUZW1wbGF0ZVR5cGUoKTsKICAJJGpzX3RlbXBsYXRlX3R5cGUtPnNldF9vcmlnaW5hdG9yKCR0aGlzLT5HZXROYW1lKCkpOwogIAkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X2RmbHRfZmxhZyh0cnVlKTsKICAJJGpzX3RlbXBsYXRlX3R5cGUtPnNldF9sYW5nX2NhbGxiYWNrKCdUaW55TUNFOjpwYWdlX3R5cGVfbGFuZ19jYWxsYmFjaycpOwogIAkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X2NvbnRlbnRfY2FsbGJhY2soJ1RpbnlNQ0U6OnJlc2V0X3BhZ2VfdHlwZV9kZWZhdWx0cycpOwogIAkkanNfdGVtcGxhdGVfdHlwZS0+c2V0X25hbWUoJ2pzJyk7CiAgCSRqc190ZW1wbGF0ZV90eXBlLT5zZXRfZGVzY3JpcHRpb24oJHRoaXMtPkxhbmcoJ3R5cGVfanNfZGVzY3JpcHRpb24nKSk7CiAgCSRqc190ZW1wbGF0ZV90eXBlLT5yZXNldF9jb250ZW50X3RvX2ZhY3RvcnkoKTsKICAJJGpzX3RlbXBsYXRlX3R5cGUtPnNhdmUoKTsKICB9CiAgY2F0Y2ggKENtc0V4Y2VwdGlvbiAkZSkgewogIAkvLyBsb2cgaXQKICAJZGVidWdfdG9fbG9nKF9fRklMRV9fLic6Jy5fX0xJTkVfXy4nICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgCWF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ0luc3RhbGxhdGlvbiBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKICB9CgoKCiAgLy8gVElOWU1DRVRFTVBMQVRFIDsgZm9yIHRoZSB0ZW1wbGF0ZSBwbHVnaW4KICB0cnkgewogIAkkdGlueXRwbF90ZW1wbGF0ZV90eXBlID0gbmV3IENtc0xheW91dFRlbXBsYXRlVHlwZSgpOwogIAkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfb3JpZ2luYXRvcigkdGhpcy0+R2V0TmFtZSgpKTsKICAJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X2RmbHRfZmxhZyh0cnVlKTsKICAJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X2xhbmdfY2FsbGJhY2soJ1RpbnlNQ0U6OnBhZ2VfdHlwZV9sYW5nX2NhbGxiYWNrJyk7CiAgCSR0aW55dHBsX3RlbXBsYXRlX3R5cGUtPnNldF9jb250ZW50X2NhbGxiYWNrKCdUaW55TUNFOjpyZXNldF9wYWdlX3R5cGVfZGVmYXVsdHMnKTsKICAJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2V0X25hbWUoJ3VzZXJ0ZW1wbGF0ZScpOwogIAkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5zZXRfZGVzY3JpcHRpb24oJHRoaXMtPkxhbmcoJ3R5cGVfdXNlcnRlbXBsYXRlX2Rlc2NyaXB0aW9uJykpOwogIAkkdGlueXRwbF90ZW1wbGF0ZV90eXBlLT5yZXNldF9jb250ZW50X3RvX2ZhY3RvcnkoKTsKICAJJHRpbnl0cGxfdGVtcGxhdGVfdHlwZS0+c2F2ZSgpOwogIH0KICBjYXRjaCAoQ21zRXhjZXB0aW9uICRlKSB7CiAgCS8vIGxvZyBpdAogIAlkZWJ1Z190b19sb2coX19GSUxFX18uJzonLl9fTElORV9fLicgJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAJYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnSW5zdGFsbGF0aW9uIEVycm9yOiAnLiRlLT5HZXRNZXNzYWdlKCkpOwogIH0KCgogIC8vIENSRUFURSBTQU1QTEUgLyBERUZBVUxUIFRFTVBMQVRFUwogICR1aWQgPSBnZXRfdXNlcmlkKCk7CiAgdHJ5IHsKICAJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidvcmlnX2pzX3RlbXBsYXRlLnRwbCc7CiAgCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgICAkc2FtcGxlX3RwbCA9IG5ldyBDbXNMYXlvdXRUZW1wbGF0ZSgpOwogICAgICAkc2FtcGxlX3RwbC0+c2V0X25hbWUoJ1RpbnlNQ0UgZGVmYXVsdCBKYXZhc2NyaXB0Jyk7CiAgICAgICRzYW1wbGVfdHBsLT5zZXRfb3duZXIoJHVpZCk7CiAgICAgICRzYW1wbGVfdHBsLT5zZXRfY29udGVudCgkdGVtcGxhdGUpOwogICAgICAkc2FtcGxlX3RwbC0+c2V0X3R5cGUoJGpzX3RlbXBsYXRlX3R5cGUpOwogICAgICAkc2FtcGxlX3RwbC0+c2V0X3R5cGVfZGZsdChUUlVFKTsKICAgICAgJHNhbXBsZV90cGwtPnNhdmUoKTsKICAgIH0KICB9CiAgY2F0Y2goIENtc0V4Y2VwdGlvbiAkZSApIHsKICAgIC8vIGxvZyBpdAogICAgZGVidWdfdG9fbG9nKF9fRklMRV9fLic6Jy5fX0xJTkVfXy4nICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdJbnN0YWxsYXRpb24gRXJyb3I6ICcuJGUtPkdldE1lc3NhZ2UoKSk7CiAgfQoKCgogIC8vIElOSVRJQUwgUFJPRklMRVMgOiBVUEdSQURFIEZST00gUFJFVklPVVMgInByb2ZpbGVzIgogIC8vIENsZWFyIHRoZSBvbGQgcGx1Z2lucyBzdHJpbmc6IHJlbW92ZXMgcGx1Z2lucyB0aGF0IGFyZSBub3QgaW4gdGhlIG5ldyBUaW55TUNFIHBsdWdpbiBkaXIKICBmdW5jdGlvbiBjbGVhcl9wbHVnaW5zKCRvbGRfcGx1Z2lucywgJG1vZCkKICB7CiAgCWlmIChlbXB0eSgkb2xkX3BsdWdpbnMpKSByZXR1cm4gJyc7CgogIAkvLyBORVcgbmFtZXMKICAJJHJlcGxhY2VfbWFwID0gYXJyYXkoCiAgCQknYWR2aW1hZ2UnPT4naW1hZ2UnLAogIAkJJ2FkdmxpbmsnPT4nbGluaycKICAJKTsKICAJJHRvX3JlcGxhY2UgPSBhcnJheV9rZXlzKCRyZXBsYWNlX21hcCk7CiAgCSRyZXBsYWNlX3dpdGggPSBhcnJheV92YWx1ZXMoJHJlcGxhY2VfbWFwKTsKICAJJG9sZF9wbHVnaW5zID0gc3RyX3JlcGxhY2UoJHRvX3JlcGxhY2UsICRyZXBsYWNlX3dpdGgsICRvbGRfcGx1Z2lucyk7CgogIAkvLyBGSUxURVIKICAJJG9sZF9wbHVnaW5zID0gZXhwbG9kZSgnLCcsICRvbGRfcGx1Z2lucyk7CiAgCSRwbHVnaW5zID0gJyc7CiAgCSRwbHVnaW5zX2RpciA9IGNtc19qb2luX3BhdGgoJG1vZC0+R2V0TW9kdWxlUGF0aCgpLCAnbGliJywgJ2pzJywgJ3RpbnltY2UnLCAncGx1Z2lucycpOwogIAkkcGx1Z2luc192YWxpZCA9IGFycmF5KCk7CgogIAlmb3JlYWNoIChnbG9iKCRwbHVnaW5zX2RpciAuICcvKicpIGFzICRkaXIpCiAgCXsKICAJCWlmIChpc19kaXIoJGRpcikpCiAgCQl7CiAgCQkJJHBsdWdpbnNfdmFsaWRbXSA9IGJhc2VuYW1lKCRkaXIpOwogIAkJfQogIAl9CgogIAkkcGx1Z2lucyA9IGFycmF5X2ludGVyc2VjdCgkb2xkX3BsdWdpbnMsICRwbHVnaW5zX3ZhbGlkKTsKICAJJHBsdWdpbnMgPSBpbXBsb2RlKCcgJywgJHBsdWdpbnMpOwoKICAJcmV0dXJuICRwbHVnaW5zOwogIH0KCiAgLy8gVXBncmFkZSB0aGUgdG9vbGJhcgogIGZ1bmN0aW9uIGNsZWFyX3Rvb2xiYXIoJG9sZF90b29sYmFyKQogIHsKICAgICRyZXBsYWNlX21hcCA9IGFycmF5KAogICAgICAnLCcgPT4gJyAnLAogICAgICAnc2VwYXJhdG9yJyA9PiAnfCcsCiAgICAgICdqdXN0aWZ5bGVmdCcgPT4gJ2FsaWdubGVmdCcsCiAgICAgICdqdXN0aWZ5Y2VudGVyJz0+J2FsaWduY2VudGVyJywKICAgICAgJ2p1c3RpZnlyaWdodCc9PidhbGlnbnJpZ2h0JywKICAgICAgJ2p1c3RpZnlmdWxsJz0+J2FsaWduanVzdGlmeScsCiAgICAgICdjbGVhbnVwJz0+JycsCiAgICAgICdoZWxwJz0+JycsCiAgICAgICdzdWInPT4nc3Vic2NyaXB0JywKICAgICAgJ3N1cCc9PidzdXBlcnNjcmlwdCcsCiAgICAgICdmb3JlY29sb3JwaWNrZXInPT4nJywKICAgICAgJ2JhY2tjb2xvcnBpY2tlcic9PicnLAogICAgICAndmlzdWFsYWlkJz0+J3Zpc3VhbGNoYXJzJywKICAgICAgJ2FkdmhyJz0+J2hyJywKICAgICAgJ2Vtb3Rpb25zJz0+J2Vtb3RpY29ucycsCiAgICAgICdmdWxscGFnZSc9PicnLAogICAgICAnaWVzcGVsbCc9PidzcGVsbGNoZWNrZXInLAogICAgICAnY21zbGlua2VyJz0+J2Ntc21zX2xpbmtlcicsCiAgICAgICdnYWxsZXJ5X3BpY2tlcic9Pidtb2R1bGVfZ2FsbGVyeScKICAgICk7CiAgICAkdG9fcmVwbGFjZSA9IGFycmF5X2tleXMoJHJlcGxhY2VfbWFwKTsKICAgICRyZXBsYWNlX3dpdGggPSBhcnJheV92YWx1ZXMoJHJlcGxhY2VfbWFwKTsKICAgIHJldHVybiBzdHJfcmVwbGFjZSgkdG9fcmVwbGFjZSwgJHJlcGxhY2Vfd2l0aCwgJG9sZF90b29sYmFyKTsKICB9CgogIC8vIEdldCB0aGUgY3VycmVudCBwcmVmZXJlbmNlcwogICRwcmVmc190b19nZXQgPSBhcnJheSgKICAgICdlZGl0b3JfaGVpZ2h0X2F1dG8nLAogICAgJ2FsbG93c2NhbGluZycsCiAgICAnYWxsb3dyZXNpemluZycsCiAgICAnc2NhbGluZ3dpZHRoJywKICAgICdzY2FsaW5naGVpZ2h0JywKICAgICd0b29sYmFyMScsCiAgICAndG9vbGJhcjInLAogICAgJ3Rvb2xiYXIzJywKICAgICdhbGxvd3VwbG9hZCcsCiAgICAnYWR2YW5jZWRfdG9vbGJhcjEnLAogICAgJ2FkdmFuY2VkX3Rvb2xiYXIyJywKICAgICdhZHZhbmNlZF90b29sYmFyMycsCiAgICAnYWR2YW5jZWRfYWxsb3d1cGxvYWQnLAogICAgJ3BsdWdpbnMnLAogICAgJ2N1c3RvbWRyb3Bkb3duJywKICAgICdsb2FkY21zbGlua2VyJywKICAgICdhbGxvd190YWJsZXMnLAogICAgJ2FkdmFuY2VkX2FsbG93X3RhYmxlcycsCiAgICAnZnJvbnRfYWxsb3dfdGFibGVzJwogICk7CiAgZm9yZWFjaCAoJHByZWZzX3RvX2dldCBhcyAkcHJlZikKICAgICQkcHJlZiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRwcmVmLCAnJyk7CgogIC8vIEFuZCBjbGVhciBvbGQgcHJlZmVyZW5jZXMKICAvLyAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOyAvLyBUT0RPCgogIC8vIENyZWF0ZSBwcm9maWxlcwogIC8vIENvbW1vbiBkYXRhCiAgJHByb2ZpbGUgPSBuZXcgdGlueW1jZV9wcm9maWxlKCk7CiAgc3dpdGNoKCRhbGxvd3Jlc2l6aW5nKSB7CiAgICBjYXNlICdub25lJzoKICAgICAgJHByb2ZpbGUtPnJlc2l6ZSA9ICcwJzsKICAgICAgYnJlYWs7CiAgICBjYXNlICdib3RoJzoKICAgICAgJHByb2ZpbGUtPnJlc2l6ZSA9ICdib3RoJzsKICAgICAgYnJlYWs7CiAgICBjYXNlICdoZWlnaHQnOgogICAgICAkcHJvZmlsZS0+cmVzaXplID0gJzEnOwogICAgICBicmVhazsKICB9CiAgJHByb2ZpbGUtPmF1dG9yZXNpemUgPSAkZWRpdG9yX2hlaWdodF9hdXRvOwogIGlmICgkYWxsb3dzY2FsaW5nKQogIHsKICAgICRwcm9maWxlLT5maWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZyA9IDE7CiAgICAkcHJvZmlsZS0+ZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfd2lkdGggPSAkc2NhbGluZ3dpZHRoOwogICAgJHByb2ZpbGUtPmZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCA9ICRzY2FsaW5naGVpZ2h0OwogIH0KICBpZiAoIWVtcHR5KCRjdXN0b21kcm9wZG93bikpCiAgewogICAgJHByb2ZpbGUtPmVuYWJsZV9jdXN0b21fZHJvcGRvd24gPSB0cnVlOwogICAgJHByb2ZpbGUtPmN1c3RvbV9kcm9wZG93biA9ICRjdXN0b21kcm9wZG93bjsKICB9CiAgJHByb2ZpbGUtPmVuYWJsZV9saW5rZXIgPSAkbG9hZGNtc2xpbmtlcjsKCgogIC8vIEFETUlOICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAkcHJvZmlsZS0+bmFtZSA9ICR0aGlzLT5MYW5nKCdpbnN0YWxsX3Byb2ZpbGVfYWRtaW4nKTs7CiAgJHByb2ZpbGUtPnRvb2xiYXIxID0gY2xlYXJfdG9vbGJhcigkYWR2YW5jZWRfdG9vbGJhcjEpOwogICRwcm9maWxlLT50b29sYmFyMiA9IGNsZWFyX3Rvb2xiYXIoJGFkdmFuY2VkX3Rvb2xiYXIyKTsKICBpZiAoJGFkdmFuY2VkX2FsbG93dXBsb2FkKQogICAgJHByb2ZpbGUtPmZpbGVtYW5hZ2VyX3VzZSA9IHRydWU7CgogICRwcm9maWxlLT5wbHVnaW5zID0gY2xlYXJfcGx1Z2lucygkcGx1Z2lucywgJHRoaXMpOwogIGlmICgkYWR2YW5jZWRfYWxsb3dfdGFibGVzKQogICAgJHByb2ZpbGUtPnBsdWdpbnMgLj0gJyB0YWJsZSc7CgogICRwcm9maWxlLT5zYXZlKCk7CiAgdGlueW1jZV91dGlsczo6YWRkX2dyb3Vwc190b19wcm9maWxlKCRwcm9maWxlLT5pZF9wcm9maWxlLCBhcnJheSgxKSk7IC8vIElEIDEgaXMgYWRtaW4KCgogIC8vIFNUQU5EQVJEIC0gb3RoZXIgdXNlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICRwcm9maWxlLT5pZF9wcm9maWxlID0gZmFsc2U7CiAgJHByb2ZpbGUtPm5hbWUgPSAkdGhpcy0+TGFuZygnaW5zdGFsbF9wcm9maWxlX3N0YW5kYXJkJyk7OwogICRwcm9maWxlLT50b29sYmFyMSA9IGNsZWFyX3Rvb2xiYXIoJHRvb2xiYXIxKTsKICAkcHJvZmlsZS0+dG9vbGJhcjIgPSBjbGVhcl90b29sYmFyKCR0b29sYmFyMik7CiAgaWYgKCRhbGxvd3VwbG9hZCkKICAgICRwcm9maWxlLT5maWxlbWFuYWdlcl91c2UgPSB0cnVlOwoKICAkcHJvZmlsZS0+cGx1Z2lucyA9IGNsZWFyX3BsdWdpbnMoJHBsdWdpbnMsICR0aGlzKTsKICBpZiAoJGFsbG93X3RhYmxlcykKICAgICRwcm9maWxlLT5wbHVnaW5zIC49ICcgdGFibGUnOwoKICAkcHJvZmlsZS0+c2F2ZSgpOwogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpZF9kZWZhdWx0X3Byb2ZpbGUnLCAkcHJvZmlsZS0+aWRfcHJvZmlsZSk7CgoKICAvLyBGUk9OVEVORCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgJHByb2ZpbGUtPmlkX3Byb2ZpbGUgPSBmYWxzZTsKICAkcHJvZmlsZS0+bmFtZSA9ICR0aGlzLT5MYW5nKCdpbnN0YWxsX3Byb2ZpbGVfZnJvbnRlbmQnKTsKICAkcHJvZmlsZS0+dG9vbGJhcjEgPSAnYm9sZCBpdGFsaWMgdW5kZXJsaW5lIHwgZm9ybWF0c2VsZWN0JzsgLy8gUmVzZXQgdG8gbWluaW1hbAogICRwcm9maWxlLT50b29sYmFyMiA9ICcnOyAvLyBKdXN0IGluIGNhc2UgdGhlIGRlZmF1bHQgcHJvZmlsZSBmcm9tIHRoZSB0aW55bWNlX3Byb2ZpbGUgY2xhc3MgY2hhbmdlcwogICRwcm9maWxlLT5zaG93X21lbnViYXIgPSBmYWxzZTsKICAkcHJvZmlsZS0+ZW5hYmxlX2xpbmtlciA9IGZhbHNlOwogICRwcm9maWxlLT5maWxlbWFuYWdlcl91c2UgPSBmYWxzZTsKICAkcHJvZmlsZS0+cGx1Z2lucyA9IGNsZWFyX3BsdWdpbnMoJHBsdWdpbnMsICR0aGlzKTsKICBpZiAoJGZyb250X2FsbG93X3RhYmxlcykKICAgICRwcm9maWxlLT5wbHVnaW5zIC49ICcgdGFibGUnOwoKICAkcHJvZmlsZS0+c2F2ZSgpOwogIHRpbnltY2VfdXRpbHM6OmFkZF9ncm91cHNfdG9fcHJvZmlsZSgkcHJvZmlsZS0+aWRfcHJvZmlsZSwgLTEpOyAvLyBJRCAtMSBpcyBmcm9udGVuZAoKCgoKICAvLyBQRVJNSVNTSU9OUwogICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycsICdNYW5hZ2UgVGlueU1DRSBwcm9maWxlcycpOwoKCiAgLy8gU0FMVCBGT1IgQUNDRVNTIEtFWSBGT1IgUkVTUE9OU0lWRSBGSUxFIE1BTkFHRVIKICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZmlsZW1hbmFnZXJfc2FsdCcsIHN1YnN0cihtZDUocmFuZCgpKSwgMCwgMTApKTsKCgoKfQoKCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzMuMC1iZXRhMicpIDwgMCApCnsKICAvLyBBZGQgdGhlICJmb3JjZV9wX3Jvb3RibG9jayIgZGF0YSB0byBwcm9maWxlCiAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwogICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLCdmb3JjZWRfcm9vdF9ibG9jayBJJyk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAkcXVlcnkgPSAnVVBEQVRFICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgU0VUIGZvcmNlZF9yb290X2Jsb2NrPTEnOwogICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwp9CgoKCgoKCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzMuMScpIDwgMCApCnsKICAvLyBBZGQgdGhlIHJlbGF0aXZlX3VybHMgb3B0aW9uCiAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwogICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLCdyZWxhdGl2ZV91cmxzIEknKTsKICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChDTVNfREJfUFJFRklYLlRpbnlNQ0U6OlRJTllNQ0VfUFJPRklMRVNfVEFCTEUsJ2ltYWdlX2FkdnRhYiBJJyk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAkcXVlcnkgPSAnVVBEQVRFICcuQ01TX0RCX1BSRUZJWC5UaW55TUNFOjpUSU5ZTUNFX1BST0ZJTEVTX1RBQkxFLicgU0VUIHJlbGF0aXZlX3VybHM9MSwgaW1hZ2VfYWR2dGFiPTAnOwogICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwp9CgoKCgoKCgoKCgoKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9IFRpbnlNQ0UKdmVyc2lvbiA9IDMuMS4zCmRlc2NyaXB0aW9uID0gCmF1dGhvciA9IE1vcnRlbiBQb3Vsc2VuIChzaWxtYXJpbGxpb24pLCBSb2xmIFRqYXNzZW5zIChyb2xmKSwgTWF0aGlldSBNdXRocyAoYWlyZWxpYnJlKQphdXRob3JlbWFpbCA9IGNvbnRhY3RAYWlyZWxpYnJlLmZyCm1pbmNtc3ZlcnNpb24gPSAyLjEuMQoxMQ==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/changelog.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UmVzcG9uc2l2ZSBGaWxlbWFuYWdlciBDaGFuZ2Vsb2cgCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuOS43CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIGZpeGVkIHBkZiBwcmV2aWV3Ci0gZml4ZWQgYSBidWcgd2l0aCBzZXNzaW9uIHN1YmZvbGRlciBmb2xkZXIgY3JlYXRpb24KLSBmaXhlZCBhIGJ1ZyB3aXRoIGZvbGRlciBjcmVhdGlvbgotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIGllIGFuZCBhbGxvd191cmxfZm9wZW4gc2VydmVyIGNvbmZpZwotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIGZvbGRlciBjb3B5Ci0gZml4ZWQgYSBwcm9ibGVtIHdpdGggcmVsYXRpdmUgZm9sZGVyIHVybCBleHBvcnQKLSBmaXhlZCBlcnJvciAnVHlwZUVycm9yOiAkIGlzIG5vdCBhIGZ1bmN0aW9uJwotIGZpeGVkIGEgcHJvYmxlbSB3aXRoIGxhbmcgaW4gcXVlcnkgc3RyaW5nCi0gZml4ZWQgYSBwcm9ibGVtIHdpdGggZHJhZyZkcm9wIG9uIGFuZHJvaWQKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS45LjYKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gZml4ZWQgYSBzZWN1cml0eSB2dWxuZXJhYmlsaXR5ICh0aGFua3MgdG8gc2VjdXJpdHVtLnBsKQotIGNvZGUgcmVmYWN0b3JpbmcgcmVtb3ZlZCB0aHVtYiBwYXRoIHRvIGFqYXggY2FsbHMKLSBpbXByb3ZlIGZpbGUvZm9sZGVyIHBlcm1pc3Npb24gbGF5b3V0IGFuZCBmaXhlZCBhIGVycm9yCi0gZml4ZWQgYSBwcm9ibGVtIHdpdGggaW1hZ2UgZWRpdG9yCi0gYWRkZWQgdml0bmFtZXNlIGxhbmd1YWdlCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjkuNQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBmaXhlZCBhIEFkb2JlIENyZWF0aXZlIFNESyBpc3N1ZQotIGZpeGVkIGEgcHJvYmxlbSB3aGVuIHlvdSBlZGl0IG11bHRpcGxlIGltYWdlIGluIHRoZSBzYW1lIHNlc3Npb24KLSBmaXhlZCBhIHByb2JsZW0gd2l0aCBzZWN1cml0eSBpc3N1ZSBpbiBzb21lIHNlcnZlciBjb25maWd1cmF0aW9ucwotIGFkZGVkIG1heFNpemUgY29uZmlnIHRvIEFkb2JlIENyZWF0aXZlIFNESyBleHBvcnQgaW1hZ2UgKGRlZmF1bHQgbm93IGlzIDE0MDApCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjkuNAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBVcGdyYWRlIEF2aWFyeSBJbWFnZSBFZGl0b3Igd2l0aCBuZXcgQWRvYmUgQ3JlYXRpdmUgU0RLIHdpdGhvdXQgc2l6ZSBsaW1pdGF0aW9uCi0gQWRkIGZpbGVzIGFuZCBmb2xkZXJzIGNvdW50ZXIgb24gZWFjaCBmb2xkZXIKLSBGaXhlZCBhIHByb2JsZW0gd2l0aCBmb2xkZXIgc2VsZWN0aW9uIG9uIHJlbGF0aXZlIHVybAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjkuMwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBGaXhlZCB0aGUgcHJvYmxlbSB3aXRoIHVuZGVmaW5lZCB3aW5kb3dQYXJlbnQKLSBGaXhlZCBhIHByb2JsZW0gd2l0aCBzZWxlY3Rpb24gb24gQ0tlZGl0b3IKLSBBZGRlZCBib290c3RyYXAgbW9kYWwgZGVmYXVsdCBzdXBwb3J0CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuOS4yCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIGFkZGVkIGZpbGUgc2VsZWN0aW9uIGRpcmVjdGx5IGZyb20gZHJvcHpvbmUgdXBsb2FkIGFyZWEgKHlvdSBjYW4gbm93IHNlbGVjdCBmaWxlIGRpcmVjdGx5IGFmdGVyIHVwbG9hZCkKLSBmb2xkZXIgc2VsZWN0aW9uIGluIGNvbnRleHQgbWVudSAoeW91IGNhbiBub3cgc2VsZWN0IGFsc28gYSBmb2xkZXIpCi0gcmVzcG9uc2l2ZSBmaWxlbWFuYWdlciBtb2RhbCBvcGVuIG9uIHRpbnlNQ0UgKHRoZSBkaW1lbnNpb24gb2YgbW9kYWwgZGVwZW5kIG9uIHdpbmRvdyBkaW1lbnNpb24pCi0gdXRmOCB0cmFuc2xpdHRlcmF0aW9uIGZpeAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjkuMQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBidWdmaXgKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS45LjAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gYWRkIGNvbXBhdGliaWxpdHkgd2l0aCBDS0VkaXRvciAodGhhbmtzIHRvIGRlbm5pcy5idWlqcykKLSBmaXggb3JkZXJpbmcgYW5kIGZpbHRlcmluZyBidWdzIChpbiBqcyBhbmQgcGhwKQotIFJlZmFjdG9yaW5nIG9mIGNvbmZpZ3VyYXRpb24gYW5kIGxhbmd1YWdlIGZpbGVzICh0aGFua3MgdG8gcmtncmVwKQotIHVwZGF0ZWQgbGlicmFyaWVzIHZpYSBib3dlciBkZXBlbmRlbmN5IG1hbmFnZW1lbnQgKHRoYW5rcyB0byBya2dyZXApCi0gYWRkZWQgQXNzZXRzIGNvbXBpbGF0aW9uIHZpYSBndWxwIGZvciBkZXZlbG9waW5nICh0aGFua3MgdG8gcmtncmVwKQotIGFkZGVkIEhlYnJldyBsYW5nIChzYWdpZTIxMikKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuOC4xCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIGFkZCBjb21wYXRpYmlsaXR5IHdpdGggZnJlZSBmdWxsIHJlc29sdXRpb24gd2l0aCBhdmlhcnkgaW1hZ2UgZWRpdG9yCi0gY29udmVydCBhbGwgaW5jbHVkZSgpOyB3aXRoIGluY2x1ZGUg4oCY4oCZOwotIGZpeCBhIHByb2JsZW0gd2l0aCBsb3dlcmNhc2UgYXV0b21hdGljYWxseSBjaGFuZ2UgCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuOAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSBhZGRlZCBwZGYsIG9wZW5vZmZpY2UgZmlsZXMgcHJldmlldyB3aXRoIGN1c3RvbWl6ZWQgdmlld2VyLmpzCi0gYWRkZWQgb3RoZXIgb2ZmaWNlIGZpbGUgcHJldmlldyB3aXRoIGdvb2dsZSBwcmV2aWV3Ci0gZml4ZWQgb3JkZXJpbmcgYnVnCi0gaW1wcm92ZWQgbGF5b3V0IHN0eWxlCi0gYWRkZWQgY29weSB0byBjbGlwYm9hcmQgYnV0dG9uIG9uIHNob3cgdXJsIGRpYWxvZwotIGZpeGVkIGEgYnVnIHdoZW4gZG93bmxvYWQgYSBmaWxlCi0gZml4ZWQgYSBidWcgaW4gcmVsYXRpdmUgcGF0aCBpbWFnZXMgY3JlYXRpb24KLSBhZGRpbmcgY3VzdG9tIGNvbnZlcnRfc3BhY2VzIFtieSBmdW5naW9dCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuNy4zCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIEZpeCBhIHByb2JsZW0gd2l0aCBsYXp5IGxvYWQgYW5kIGZpbHRlcnMKLSBhZGQgb3B0aW9uIHRvIHJlbWVtYmVyIHRleHQgZmlsdGVyIGluIHNlc3Npb24KCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS43LjIKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoqKioqKiBNYWpvciAqKioqKgotIEFkZGVkIG1pbWUgdHlwZSBsaWIgZm9yIGRvd25sb2FkcwotIEFkZGVkIGxhenkgbG9hZGluZyBmZWF0dXJlCi0gQWRkZWQgb3B0aW9ucyBmb3IgYXV0byBhbmQgbWF4IGltYWdlIHJlc2l6aW5nCi0gTGFuZy4gdXBkYXRlcwotIEFkZGVkIHRvdWNoIGRldmljZXMgc3VwcG9ydCBmb3IgZHJhZyZkcm9wCi0gQWRkZWQgc3VwcG9ydCBmb3IgcmV0dXJuaW5nIHJlbGF0aXZlIFVSTC1zCi0gQnVnZml4ZXMKCgoqKioqKiBEZXRhaWxlZCAqKioqKgotIEFkZGVkIG1pbWUgdHlwZSBsaWIgZm9yIGRvd25sb2FkcwoJQWxsIGRvd25sb2FkcyBubyBzaG91bGQgbG9hZCBzdWNjZXNzZnVseQoKLSBBZGRlZCBsYXp5IGxvYWRpbmcgZmVhdHVyZQoJSW1hZ2VzIHdpbGwgb25seSBsb2FkIHdoZW4gaW4gdGhlIHZpZXdwb3J0IHNvIHdoZW4geW91IGFyZSBpbiBhIGNyb3dkZWQgZm9sZGVyIGl0IHdpbGwgbG9hZCBmYXN0ZXIKCi0gQWRkZWQgb3B0aW9ucyBmb3IgYXV0byBhbmQgbWF4IGltYWdlIHJlc2l6aW5nCglJbiB0aGUgcGFzdCBhbGwgaW1hZ2VzIHRoYXQgd2FzIHJlc2l6ZWQgZWl0aGVyIHdpdGggbWF4X2ltYWdlIG9yIGF1dG8gcmVzaXplIHdhcyBjcm9wcGVkLgoJTm93IHRoZSB1c2VyIGNhbiBzcGVjaWZ5IHRvIGNyb3AsZXhhY3QsbGFuZHNjYXBlIG9yIHBvcnRyYWl0IG9wdGlvbnMuCglUaGUgbWF4IGltYWdlIHNpemUgY2FuIGJlIG92ZXJyaWRkZW4gYnkgYXV0byByZXNpemUgb3B0aW9uCgotIEFkZGVkIHN1cHBvcnQgZm9yIHJldHVybmluZyByZWxhdGl2ZSBVUkwtcwoJUmVsYXRpdmUgVVJMLXMgY2FuIGJlIHJldHVybmVkIHdoZW4gc2VsZWN0aW5nIGZpbGVzIGZyb20gdGhlIGZpbGVtYW5hZ2VyOiBhICdyZWxhdGl2ZV91cmwnIEdFVCBwYXJhbWV0ZXIgc2hvdWxkIGJlCglhZGRlZCB0byB0aGUgcmVxdWVzdCB3aXRoIGEgdmFsdWUgb2YgIjEiIHdoZW4gb3BlbmluZyBSRk0uIE90aGVyd2lzZSByZXR1cm5lZCBVUkwtcyB3aWxsIGJlIGFic29sdXRlLgoKLSBCdWdmaXhlcwoJRml4ZWQgY3NzIGJ1Z3MKCUZpeGVkIGRyYWcmZHJvcCBidWdzCglSZW1vdmVkICdkZWZhdWx0JyBhY2Nlc3Mga2V5cyBmb3Igc2VjdXJpdHkKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuNi4wCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKKioqKiogTWFqb3IgKioqKioKLSBDcm9zcyBkb21haW4gZmVhdHVyZQotIEFkZCBpbiBjb25maWcucGhwIGEgb3B0aW9uIHRvIHJlcGxhY2UgYWxsIHNwYWNlcyB3aXRoIF8KLSBFbmNvZGluZyBvZiBFeHBvcnQgVVJMCi0gQ29kZSByZWZhY3RvcmluZwoKCioqKioqIERldGFpbGVkICoqKioqCi0gQ3Jvc3MgZG9tYWluIGZlYXR1cmU6VG8gZW5hYmxlIGNyb3NzLWRvbWFpbiBmaWxlIHNlbGVjdG9yLCB3aGVyZSBmaWxlcyBhcmUgaG9zdGVkIG9uIG9uZSBzZXJ2ZXIgKGZvciBleGFtcGxlLCBzZXJ2ZXJBLmNvbSkgYW5kIFVSTCBpcyBiZWluZyBzZW50IHRvIGFub3RoZXIgKGZvciBleGFtcGxlLCBzZXJ2ZXJCLmNvbSksIGluY2x1ZGUgY3Jvc3Nkb21haW49MSBpbiB0aGUgVVJMLgpGb3IgZXhhbXBsZSwgdG8gaW5zdGFudGlhdGUgaW1hZ2UgcGlja2VyLCB1c2UgdGhlIGZvbGxvd2luZyBVUkw64oCoaHR0cDovL3NlcnZlckEuY29tL1twYXRoIHRvIGZpbGVtYW5hZ2VyXS9maWxlbWFuYWdlci9kaWFsb2cucGhwP3R5cGU9MSZmaWVsZF9pZD1maWVsZElEJmNyb3NzZG9tYWluPTEKVGhlbiBvbiBzZXJ2ZXJCLmNvbSwgdGhlIGZvbGxvd2luZyBjb2RlIGNhbiBiZSB1c2VkIHRvIHJldHJpZXZlIHRoZSBVUkwgYWZ0ZXIgZmlsZSBzZWxlY3Rpb24gaXMgbWFkZS4gUGxlYXNlIG5vdGUsIHRoYXQgdGhlIGNvZGUgaXMgd3JpdHRlbiBmb3IgalF1ZXJ5IHdpdGggRmFuY3lCb3ggcGx1Zy1pbi4KCi8vCi8vIEhhbmRsZXMgbWVzc2FnZSBmcm9tIFJlc3BvbnNpdmVGaWxlbWFuYWdlcgovLwpmdW5jdGlvbiBPbk1lc3NhZ2UoZSl7CiAgdmFyIGV2ZW50ID0gZS5vcmlnaW5hbEV2ZW50OwogICAvLyBNYWtlIHN1cmUgdGhlIHNlbmRlciBvZiB0aGUgZXZlbnQgaXMgdHJ1c3RlZAogICBpZihldmVudC5kYXRhLnNlbmRlciA9PT0gJ3Jlc3BvbnNpdmVmaWxlbWFuYWdlcicpewogICAgICBpZihldmVudC5kYXRhLmZpZWxkX2lkKXsKICAgICAgCXZhciBmaWVsZElEPWV2ZW50LmRhdGEuZmllbGRfaWQ7CiAgICAgIAl2YXIgdXJsPWV2ZW50LmRhdGEudXJsOwoJJCgnIycrZmllbGRJRCkudmFsKHVybCkudHJpZ2dlcignY2hhbmdlJyk7CgkkLmZhbmN5Ym94LmNsb3NlKCk7CgoJLy8gRGVsZXRlIGhhbmRsZXIgb2YgdGhlIG1lc3NhZ2UgZnJvbSBSZXNwb25zaXZlRmlsZW1hbmFnZXIKCSQod2luZG93KS5vZmYoJ21lc3NhZ2UnLCBPbk1lc3NhZ2UpOwogICAgICB9CiAgIH0KfQoKLy8gSGFuZGxlciBmb3IgYSBtZXNzYWdlIGZyb20gUmVzcG9uc2l2ZUZpbGVtYW5hZ2VyCiQo4oCYLm9wZW5lci1jbGFzcykub24oJ2NsaWNrJyxmdW5jdGlvbigpewogICQod2luZG93KS5vbignbWVzc2FnZScsIE9uTWVzc2FnZSk7Cn0pOwoKCkZJTEUgTUFOQUdFUiBBUyBUSU5ZTUNFIFBMVUctSU4KVGhlcmUgaXMgZXh0cmEgcGFyYW1ldGVyIG5lZWRlZCBmaWxlbWFuYWdlcl9jcm9zc2RvbWFpbiB3aGVuIGNhbGxpbmcgdGlueW1jZS5pbml0KCksIHBsZWFzZSBzZWUgYmVsb3cuCnRpbnltY2UuaW5pdCh7CiAgIC4uLgogICBmaWxlbWFuYWdlcl9jcm9zc2RvbWFpbjogdHJ1ZSwKICAgZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aDoiaHR0cDovL3BhdGgvc2Vjb25kYXJ5c2VydmVyL2ZpbGVtYW5hZ2VyLyIsCiAgICBleHRlcm5hbF9wbHVnaW5zOiB7ICJmaWxlbWFuYWdlciIgOiAiaHR0cDovL3BhdGgvc2Vjb25kYXJ5c2VydmVyL2ZpbGVtYW5hZ2VyL3BsdWdpbi5taW4uanMifSwKICAgLi4uCn0pOwoKCi0gQ29udmVydF9zcGFjZXMgb3B0aW9uczogZW5hYmxlIHRoZSBjb252ZXJzaW9uIG9mIHNwYWNlcyB0byBfIGluIGZpbGUgYW5kIGZvbGRlciBuYW1lCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogIFJGTSA5LjUuMAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCioqKioqIE1ham9yICoqKioqCi0gRmlsZSBwZXJtaXNzaW9uIGNoYW5naW5nCi0gTGFuZ3VhZ2UgQ2hhbmdpbmcKLSBWaWV3L2VkaXQvY3JlYXRlIHRleHQgZmlsZXMKLSBGaXhlcwoKTk9URTogQ2hhbmdlZCB1cGxvYWQgYnV0dG9uJ3MgaWNvbiEKCioqKioqIERldGFpbGVkICoqKioqCi0gRmlsZSBwZXJtaXNzaW9uIGNoYW5naW5nIChPRkYgQlkgREVGQVVMVCEpCglOb3cgeW91IGNhbiBjaGFuZ2UgdGhlIGZpbGVzL2ZvbGRlcnMgcGVybWlzc2lvbiB3aXRoIGEgc2xpY2sgd2luZG93LgoJVG8gYWNjZXNzIHRoZSB3aW5kb3cgZmlyc3QgeW91IG11c3QgYWN0aXZhdGUgaXQgaW4gdGhlIGNvbmZpZyBmaWxlLgoJQWZ0ZXIgeW91IGFjdGl2YXRlZCBpdCB5b3UgY2FuIHJlYWNoIGl0IGZyb20gdGhlIHJpZ3RoIGNsaWNrIG1lbnUuCglZb3UgY2FuIGNvbmZpZ3VyZSB0aGUgcGVybWlzc2lvbiB3aXRoIGJvdGggdGV4dCBhbmQgY2hlY2tib3hlcy4KCUlmIHlvdSBlbnRlcmVkIGEgd3JvbmcgZm9ybWF0L251bWJlciB0aGUgaW5pdGlhbCBzdGF0ZSB3aWxsIGJlIHJlc3RvcmVkLgoJV2hlbiBjaGFuZ2luZyBwZXJtaXNzaW9ucyBmb3IgZm9sZGVycyB0aGVyZSB3aWxsIGJlIG1vcmUgb3B0aW9ucyBmb3IKCXJlY3Vyc2l2ZSBjaGFuZ2luZyAoTm8vb25seSBmaWxlcy9vbmx5IGZvbGRlcnMvYm90aCkuCglJZiB5b3Ugc2V0IHRoZSBwZXJtaXNzaW9uIHdyb25nIHRoZXJlIHdpbGwgYmUgZXJyb3JzLgoKCU5PVEUhIElmIHlvdSBkb24ndCBrbm93IHdoYXQgeW91IGFyZSBkb2luZyB0aGVuIGxlYXZlIGFzIGl0IGlzIGJhY2F1c2UKCXlvdSBjYW4gY2F1c2UgdHJvdWJsZS4KCVVzdWFsbHkgZmlsZXMgYXJlIDY0NCBhbmQgZm9sZGVycyBhcmUgNzU1CglZb3UgQ0FOTk9UIHNldCB0aGUgc3RpY2t5IGJpdCEKCi0gTGFuZ3VhZ2UgQ2hhbmdpbmcKCVlvdSBjYW4gbm93IGNoYW5nZSB0aGUgbGFuZ3VhZ2UgZHluYW1pY2x5IGZyb20gdGhlIG1lbnUuCglUaGUgYnV0dG9uIGlzIGxvY2F0ZWQgbmV4dCB0byB0aGUgcmVmcmVzaCBidXR0b24gKGEgZ2xvYmUgaWNvbikKCQoJSWYgYWRkaW5nIG5ldyBsYW5ndWFnZSwgaXQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBsYW5ndWFnZXMucGhwIGZpbGUgYXMgCgl3ZWxsIGZvciBpdCB0byBzaG93IHVwLgoJCglJIHRyaWVkIHRvIGlkZW50aWZ5IGFsbCBsYW5ndWFnZSBjb2RlcyBhbmQgYWRkIHRoZSBuYW1lIG9uIHRoZXJlIG93bgoJbGFuZ3VhZ2UgYnV0IEkgbWlnaHQgbWVzc2VkIHVwIHNvIHBsZWFzZSBjaGVjayBpdCBhbmQgY29ycmVjdCBpdCBpZgoJbmVjZXNzYXJ5LiAoQmVjYXVzZSBJJ20gb25seSBhIGh1bWFuIGFuZCBzcGVhayBvbmx5IDIgbGFuZ3VhZ2VzKQoKLSBWaWV3L2VkaXQvY3JlYXRlIHRleHQgZmlsZXMKCVlvdSBjYW4gbm93IHZpZXcvZWRpdC9jcmVhdGUgdGV4dCBiYXNlZCBmaWxlcyBsaWtlIC50eHQuCgoJVG8gdmlldyBhIGZpbGUncyBjb250ZW50IGp1c3QgY2xpY2sgb24gdGhlIHByZXZpZXcgKGV5ZSkgaWNvbi4KCVRvIGVkaXQgYSBmaWxlIHJpZ3RoIGNsaWNrIG9uIGl0IGFuZCBzZWxlY3QgIkVkaXQgZmlsZSdzIGNvbnRlbnQiCglUbyBjcmVhdGUgYSBuZXcgZmlsZSBqdXN0IGNsaWNrIG9uIHRoZSAiKyBmaWxlIiBpY29uIChvbGQgdXBsb2FkIGJ1dHRvbikKCglXaGVuIGNyZWF0aW5nIGEgbmV3IGZpbGUgeW91IG11c3Qgc3BlY2lmeSBpdCdzIGV4dGVuc2lvbi4KCUFsbCB2YWxpZCBleHRlbnNpb25zIGZvciBlZGl0L2NyZWF0ZSBhcmUgbGlzdGVkIGluIHRoZSBjb25maWcgZmlsZQoJKCRlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cykKCi0gRml4ZXMKCUZpeGVkIHNvbWUgY3NzIG92ZXJmbG93IGVycm9ycwoJUmVtb3ZlZCBsYW5nX1ZpZXcgZnJvbSBtZW51IGJlY2F1c2UgaXQgd2FzIG92ZXJmbG93aW5nCglSZW1vdmVkIGhyLnBocCBsYW5nIGJlY2F1c2UgaXQncyB0aGUgc2FtZSBhcyBocl9IUi5waHAKCUNoYW5nZWQgdXBsb2FkIGJ1dHRvbnMgaWNvbiB0byBhY2NvbW9kYXRlIHRoZSAibmV3IGZpbGUiIGFkZGl0aW9uCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgUkZNIDkuNC4xCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKKioqKiogTWFqb3IgKioqKioKLSBTZWN1cml0eSBBY2Nlc3MgS2V5cwotIE1vcmUgVGlueW1jZSBzZXR0aW5ncwotIFRpbnltY2UgMy4qIHN1cHBvcnQKLSBBZGRlZCBpbWFnZSByZXNpemUgb3B0aW9ucwotIEJ1Z2ZpeGVzCgoKKioqKiogRGV0YWlsZWQgKioqKioKLSBTZWN1cml0eSBBY2Nlc3MgS2V5cwoJSWYgJ1VTRV9BQ0NFU1NfS0VZUycgYXJlIHNldCB0byB0cnVlIG9ubHkgdGhvc2Ugd2lsbCBhY2Nlc3MgUkYgd2hvc2UgdXJsCgljb250YWlucyB0aGUgYWNjZXNzIGtleSAoYWtleSkgbGlrZToKCTxpbnB1dCB0eXBlPSJidXR0b24iIGhyZWY9Ii4uL2ZpbGVtYW5hZ2VyL2RpYWxvZy5waHA/YWtleT1teVByaXZhdGVLZXkiPgoKCUFsbG93ZWQgYWNjZXNzIGtleXMgYXJlIGRlZmluZWQgaW4gdGhlIGNvbmZpZyBhcyB3ZWxsLgoJJGFjY2Vzc19rZXlzIG11c3QgYmUgYW4gYXJyYXkgc28geW91IGNhbiBhZGQgbXVsdGlwbGUuCglZb3VyIGFjY2VzcyBrZXkgc2hvdWxkIE5FVkVSIGJlICdrZXknIGFuZCBrZWVwIGluIG1pbmQgdGhleSBhcmUgQ0FTRQoJU0VOU0lUSVZFIQoJRm9yIHJlY29tbWVuZGVkIGtleSBnZW5lcmF0aW9uIHJlYWQgdGhlIGNvbW1lbnRzIGluIHRoZSBjb25maWcgZmlsZS4KCglJZiB0aGVyZSdzIG5vIGFjY2VzcyBrZXkgc3VwcGxpZWQgd2l0aCB0aGUgdXJsIG9yIGl0J3Mgbm90IGluIHRoZQoJJGFjY2Vzc19rZXkgYXJyYXkgeW91IHdpbGwgZ2V0ICdBY2Nlc3MgRGVuaWVkJyBhbmQgeW91IGNhbm5vdCBjb250aW51ZS4KCglGb3IgdGlueW1jZSBhIG5ldyB2YXJpYWJsZSB3YXMgYWRkZWQ6ICJmaWxlbWFuYWdlcl9hY2Nlc3Nfa2V5IgoKCVRpbnltY2UgY29uZmlnIGV4YW1wbGU6CgoJdGlueWluaXQKCS4uLgoJZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aDoiLi4vZmlsZW1hbmFnZXIiLAoJZmlsZW1hbmFnZXJfYWNjZXNzX2tleTogIm15UHJpdmF0ZUtleSIsCgkuLi4KCglUaGlzIGlzIGEgYml0IG9mIGFkZGl0aW9uYWwgc2VjdXJpdHkgc28gbm8gb25lIGNhbiBhY2Nlc3MgeW91ciBmaWxlc3lzdGVtLgoKLSBNb3JlIFRpbnltY2Ugc2V0dGluZ3MKCS0gQWRkZWQgJ2ZpbGVtYW5hZ2VyX3N1YmZvbGRlcicgcGFyYW0gc28geW91IGNhbiBub3cgZGVmaW5lIHRoZSBzdGFydGluZyBmb2xkZXIgaW4gdGlueW1jZQogIAllZzogJ2ZpbGVtYW5hZ2VyX3N1YmZvbGRlcjoic3ViZm9sZGVyLyInCgotIEJ1Z2ZpeGVzCgktIEZpeGVkIGF1ZGlvL3ZpZGVvIHBsYXllciBidWcKCS0gRml4IGluIHJlbWVtYmVyIGxhc3QgcG9zaXRpb24KCS0gU2hvdyB1cmwgY29udGV4dCBsaW5rIGluIGFsbCBmaWxlcyBhbmQgZm9sZGVyCgktIEZpeGVkIGEgcHJvYmxlbSB3aXRoIG9sZCB0aHVtYm5haWxzIG9uIHJlbmFtaW5nCgktIEZpeGVkIGEgY29weSBwYXN0IGlzc3VlCgktIEZpeGVkIFN0YW5kYWxvbmUgTW9kZSBub3QgdXNpbmcgdGhlIGZpZWxkX2lkIHBhc3NlZCBpbiBtaXhlZCB1c2UgY2FzZXMKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqICBSRk0gOS40LjAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoqKioqKiBNYWpvciAqKioqKgotIEN1dC9jb3B5L3Bhc3RlIHN1cHBvcnQKLSBEcmFnJmRyb3Agc3VwcG9ydAotIEZldyBuZXcgaWNvbnMKLSBDb2RlIHJlZmFjdG9yCi0gQnVnZml4ZXMKCgoqKioqKiBEZXRhaWxlZCAqKioqKgotIEN1dC9jb3B5L3Bhc3RlCglZb3UgY2FuIGNvbmZpZ3VyZSB0aGUgYWN0aW9ucyBpbiBjb25maWcucGhwIGZpbGUgYW5kIGRpc2FibGUvIGxpbWl0IHRoZW0gaWYgbmVlZGVkLgoJV2hlbiByaWdodCBjbGlja2luZyBvbiBhIGZvbGRlci9maWxlIHRoZXJlIHdpbGwgYmUgb3B0aW9ucyBmb3IgY29weSBhbmQgY3V0IAoJKGFuZCBwYXN0ZSBpZiBmaWxlcyBvbiBjbGlwYm9hcmQgYW5kIHJpZ2ggY2xpY2tlZCBvbiBhIGZpbGUpCglUaGVyZSdzIGljb24gZm9yIHBhc3RlIHRvIHRoaXMgZGlyIGFuZCBjbGVhciBjbGlwYm9hcmQgYWZ0ZXIgdGhlICduZXcgZGlyJyBpY29ucwoJVGhleSB3aWxsIGdyZXkgb3V0IGlmIHRoZXJlJ3Mgbm90aGluZyBvbiB0aGUgY2xpcGJvYXJkLgoKLSBEcmFnJmRyb3AKCU5vdyB5b3UgY2FuIGRyYWcgbiBkcm9wIGZpbGVzL2ZvbGRlcnMgdG8gb3RoZXIgZm9sZGVycyAKCSh0aGlzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzIGlmIGVuY291bnRlcmVkIGFueSEpCgotIEljb25zCglBZGRlZCBuZXcgaWNvbnMgZm9yIHRoZSBuZXcgZnVuY3Rpb25zCglBbGwgYXJlIGxlZ2l0IG1hZGUgYnkgbWUgb3IgZ2V0IGZyb20gZnJlZSBpY29uIHNpdGVzCgotIENvZGUgUmVmYXRvcgoJLSBBZGRlZCBidW5jaCBvZiBjb21tZW50cyBhbmQgY2hhbmdlIGEgbG90IG9mIGNvZGVzLgoKCS0gQ2hhbmdlZCBhbGwgJF9TRVNTSU9OIHZhcnMgdG8gYmUgaW4gYSBzZXBhcmV0IGFycmF5IAoJZWcuOiRfU0VTU0lPTlsidmVyaWZ5Il0gLT4gJF9TRVNTSU9OWydSRiddWyJ2ZXJpZnkiXQoJU28gbm93IHRoZXJlIHdvbid0IGJlIGFueSBwcm9ibGVtIHdpdGggYmlnIHByb2plY2Z0cyBpbnRlZ3JhdGluZyBSRgoKCS0gQWRkZWQgdGhlIGxhbmcgZmlsZSB1cmwgdG8gJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZV9maWxlJ10KCU5vdyBpdCBjYW4gYmUgaW5jbHVkZWQgZWFzaWx5CgoJLSBBZGRlZCBhIGxvdCBvZiBuZXcgbGFuZy4gbGluZXMgYW5kIGZlZWRiYWNrIGluZm8KCU5ldyBsaW5lcyBhZGRlZCB0byBldmVyeSBsYW5ndWFnZSAoaW4gZW5nbGlzaCkgc28gdHJhbnNsYXRpb24gY2FuIGdvIHNtb290aGx5CgkoVGhlcmUgYXJlIHBsYWNlcyB3aGVyZSBpIGFkZGVkICVzIHRvIGxhbmcgbGluZXMgd2hpY2ggd2lsbCBiZSBzd2FwcGVkIHdpdGggYW4gYWN0aW9uIG5hbWUKCSwgY29tbWVudGVkIG91dCB3aGF0IHdpbGwgYmUgaW5zZXJ0ZWQgYXQgcnVudGltZSkKCgktIEFkZGVkIHRpbWVvdXQgd2hlbiBjbG9zaW5nIHVwbG9hZCB0YWIKCgotIEJ1Z2ZpeGVzCgktIENvcnJlY3RlZCBpc3N1ZSAjNjkgRHJvcHpvbmUgc3ByaXRlbWFwLnBuZyBwcm9ibGVtCglOb3cgd2hlbiBsb2FkaW5nIGEgbGFuZ3VhZ2UgaXQgd2lsbCBzZWFyY2ggZm9yIHRoZSBhcHByb3BpYXRlIHNwcml0ZW1hcHMuCglJZiBub25lIGZvdW5kIHdpbGwgZmFsbGJhY2sgdG8gZW5nbGlzaAoJQWxsIHNwcml0ZW1hcHMgc2hvdWxkIGZvbGxvdyB0aGUgbGFuZ3VhZ2UgY29kZSBuYW1pbmcgZWc6CglGb3IgaHVfSFU6CgkJc3ByaXRlbWFwX2h1X0hVLnBuZwoJCXNwcml0ZW1hcEAyeF9odV9IVS5wbmcKCgkobWlnaHQgY29uc2lkZXIgbW92aW5nIHRoZW0gaW4gYSBzZXBhcnRlIGZvbGRlciBpbiB0aGUgZnV0dXJlKQoKCS0gRml4ZWQgaXNzdWUgIzcxIFRoZSB1cGxvYWRlZCBmaWxlIGV4Y2VlZHMgdGhlIG1heCBzaXplIGFsbG93ZWQKCU5vdyB3aGVuIHVwbG9hZGluZyBpdCBwcm9wZXJseSBjaGVjayBmb3IgbWF4IHBvc3Qgc2l6ZQoJSXQgaXMgZGVhbHQgd2l0aCBpbiBjb25maWcucGhwIGFmdGVyIGRlZmlubmluZyB0aGUgbWF4IHVwbG9hZCBzaXplIGFuZCBpZiBpdCdzIGJpZ2dlciAKCXRoYW4gc2VydmVyJ3MgaW5pIGl0IHdpbGwgcmV2ZXJ0IGl0IGJhY2sgdG8gaXQuIAo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PElmTW9kdWxlIHJld3JpdGVfbW9kdWxlPgpSZXdyaXRlRW5naW5lIG9mZgoKPC9JZk1vZHVsZT4K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/ajax_calls.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGNvbmZpZyA9IGluY2x1ZGUgJ2NvbmZpZy9jb25maWcucGhwJzsKLy9UT0RPIHN3aXRjaCB0byBhcnJheQpleHRyYWN0KCRjb25maWcsIEVYVFJfT1ZFUldSSVRFKTsKCmluY2x1ZGUgJ2luY2x1ZGUvdXRpbHMucGhwJzsKCmlmICgkX1NFU1NJT05bJ1JGJ11bInZlcmlmeSJdICE9ICJSRVNQT05TSVZFZmlsZW1hbmFnZXIiKQp7CglyZXNwb25zZSh0cmFucygnZm9yYmlkZW4nKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CglleGl0Owp9CgppZiAoaXNzZXQoJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZV9maWxlJ10pICYmIGZpbGVfZXhpc3RzKCRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2VfZmlsZSddKSkKewoJaW5jbHVkZSAkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlX2ZpbGUnXTsKfSBlbHNlIHsKCXJlc3BvbnNlKHRyYW5zKCdMYW5nX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCWV4aXQ7Cn0KCmlmKGlzc2V0KCRfR0VUWydhY3Rpb24nXSkpCnsKCXN3aXRjaCgkX0dFVFsnYWN0aW9uJ10pCgl7CgkJY2FzZSAndmlldyc6CgkJCWlmKGlzc2V0KCRfR0VUWyd0eXBlJ10pKQoJCQl7CgkJCQkkX1NFU1NJT05bJ1JGJ11bInZpZXdfdHlwZSJdID0gJF9HRVRbJ3R5cGUnXTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJlc3BvbnNlKHRyYW5zKCd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgkJCWJyZWFrOwoJCWNhc2UgJ2ZpbHRlcic6CgkJCWlmIChpc3NldCgkX0dFVFsndHlwZSddKSkKCQkJewoJCQkJaWYgKGlzc2V0KCRyZW1lbWJlcl90ZXh0X2ZpbHRlcikgJiYgJHJlbWVtYmVyX3RleHRfZmlsdGVyKQoJCQkJewoJCQkJCSRfU0VTU0lPTlsnUkYnXVsiZmlsdGVyIl0gPSAkX0dFVFsndHlwZSddOwoJCQkJfQoJCQl9CgkJCWVsc2UgewoJCQkJcmVzcG9uc2UodHJhbnMoJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAnc29ydCc6CgkJCWlmIChpc3NldCgkX0dFVFsnc29ydF9ieSddKSkKCQkJewoJCQkJJF9TRVNTSU9OWydSRiddWyJzb3J0X2J5Il0gPSAkX0dFVFsnc29ydF9ieSddOwoJCQl9CgoJCQlpZiAoaXNzZXQoJF9HRVRbJ2Rlc2NlbmRpbmcnXSkpCgkJCXsKCQkJCSRfU0VTU0lPTlsnUkYnXVsiZGVzY2VuZGluZyJdID0gJF9HRVRbJ2Rlc2NlbmRpbmcnXTsKCQkJfQoJCQlicmVhazsKCQljYXNlICdpbWFnZV9zaXplJzogLy8gbm90IHVzZWQKCQkJJHBvcyA9IHN0cnBvcygkX1BPU1RbJ3BhdGgnXSwgJHVwbG9hZF9kaXIpOwoJCQlpZiAoJHBvcyAhPT0gZmFsc2UpCgkJCXsKCQkJCSRpbmZvID0gZ2V0aW1hZ2VzaXplKHN1YnN0cl9yZXBsYWNlKCRfUE9TVFsncGF0aCddLCAkY3VycmVudF9wYXRoLCAkcG9zLCBzdHJsZW4oJHVwbG9hZF9kaXIpKSk7CgkJCQlyZXNwb25zZSgkaW5mbyktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAnc2F2ZV9pbWcnOgoJCQkkaW5mbyA9IHBhdGhpbmZvKCRfUE9TVFsnbmFtZSddKTsKCgkJCWlmICgKCQkJCXN0cnBvcygkX1BPU1RbJ3BhdGgnXSwgJy8nKSA9PT0gMAoJCQkJfHwgc3RycG9zKCRfUE9TVFsncGF0aCddLCAnLi4vJykgIT09IGZhbHNlCgkJCQl8fCBzdHJwb3MoJF9QT1NUWydwYXRoJ10sICcuLycpID09PSAwCgkJCQl8fCAoc3RycG9zKCRfUE9TVFsndXJsJ10sICdodHRwOi8vczMuYW1hem9uYXdzLmNvbS9mZWF0aGVyJykgIT09IDAKCQkJCSYmIHN0cnBvcygkX1BPU1RbJ3VybCddLCAnaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2ZlYXRoZXInKSAhPT0gMCkKCQkJCXx8ICRfUE9TVFsnbmFtZSddICE9IGZpeF9maWxlbmFtZSgkX1BPU1RbJ25hbWUnXSwgJHRyYW5zbGl0ZXJhdGlvbiwgJGNvbnZlcnRfc3BhY2VzLCAkcmVwbGFjZV93aXRoKQoJCQkJfHwgISBpbl9hcnJheShzdHJ0b2xvd2VyKCRpbmZvWydleHRlbnNpb24nXSksIGFycmF5KCAnanBnJywgJ2pwZWcnLCAncG5nJyApKQoJCQkpCgkJCXsKCQkJCXJlc3BvbnNlKHRyYW5zKCd3cm9uZyBkYXRhJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJZXhpdDsKCQkJfQoJCQkkaW1hZ2VfZGF0YSA9IGdldF9maWxlX2J5X3VybCgkX1BPU1RbJ3VybCddKTsKCQkJaWYgKCRpbWFnZV9kYXRhID09PSBmYWxzZSkKCQkJewoJCQkJcmVzcG9uc2UodHJhbnMoJ0F2aWFyeV9Ob19TYXZlJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJZXhpdDsKCQkJfQoKCQkJaWYgKCFjaGVja3Jlc3VsdGluZ3NpemUoc3RybGVuKCRpbWFnZV9kYXRhKSkpIHsKCQkJCXJlc3BvbnNlKHNwcmludGYodHJhbnMoJ21heF9zaXplX3JlYWNoZWQnKSwkTWF4U2l6ZVRvdGFsKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQlmaWxlX3B1dF9jb250ZW50cygkY3VycmVudF9wYXRoIC4gJF9QT1NUWydwYXRoJ10gLiAkX1BPU1RbJ25hbWUnXSwkaW1hZ2VfZGF0YSk7CgkJCWNyZWF0ZV9pbWcoJGN1cnJlbnRfcGF0aCAuICRfUE9TVFsncGF0aCddIC4gJF9QT1NUWyduYW1lJ10sICR0aHVtYnNfYmFzZV9wYXRoLiRfUE9TVFsncGF0aCddLiRfUE9TVFsnbmFtZSddLCAxMjIsIDkxKTsKCQkJLy8gVE9ETyBzb21ldGhpbmcgd2l0aCB0aGlzIGZ1bmN0aW9uIGNhdXNlIGl0cyBibG93aW5nIG15IG1pbmQKCQkJbmV3X3RodW1ibmFpbHNfY3JlYXRpb24oCgkJCQkkY3VycmVudF9wYXRoLiRfUE9TVFsncGF0aCddLAoJCQkJJGN1cnJlbnRfcGF0aC4kX1BPU1RbJ3BhdGgnXS4kX1BPU1RbJ25hbWUnXSwKCQkJCSRfUE9TVFsnbmFtZSddLAoJCQkJJGN1cnJlbnRfcGF0aCwKCQkJCSRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbiwKCQkJCSRyZWxhdGl2ZV9wYXRoX2Zyb21fY3VycmVudF9wb3MsCgkJCQkkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kLAoJCQkJJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fYXBwZW5kLAoJCQkJJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX3dpZHRoLAoJCQkJJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX2hlaWdodCwKCQkJCSRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9vcHRpb24sCgkJCQkkZml4ZWRfaW1hZ2VfY3JlYXRpb24sCgkJCQkkZml4ZWRfcGF0aF9mcm9tX2ZpbGVtYW5hZ2VyLAoJCQkJJGZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCwKCQkJCSRmaXhlZF9pbWFnZV9jcmVhdGlvbl90b19hcHBlbmQsCgkJCQkkZml4ZWRfaW1hZ2VfY3JlYXRpb25fd2lkdGgsCgkJCQkkZml4ZWRfaW1hZ2VfY3JlYXRpb25faGVpZ2h0LAoJCQkJJGZpeGVkX2ltYWdlX2NyZWF0aW9uX29wdGlvbgoJCQkpOwoJCQlicmVhazsKCQljYXNlICdleHRyYWN0JzoKCQkJaWYgKHN0cnBvcygkX1BPU1RbJ3BhdGgnXSwgJy8nKSA9PT0gMCB8fCBzdHJwb3MoJF9QT1NUWydwYXRoJ10sICcuLi8nKSAhPT0gZmFsc2UgfHwgc3RycG9zKCRfUE9TVFsncGF0aCddLCAnLi8nKSA9PT0gMCkKCQkJewoJCQkJcmVzcG9uc2UodHJhbnMoJ3dyb25nIHBhdGgnLkFkZEVycm9yTG9jYXRpb24oKSkpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQkkcGF0aCA9ICRjdXJyZW50X3BhdGggLiAkX1BPU1RbJ3BhdGgnXTsKCQkJJGluZm8gPSBwYXRoaW5mbygkcGF0aCk7CgkJCSRiYXNlX2ZvbGRlciA9ICRjdXJyZW50X3BhdGggLiBmaXhfZGlybmFtZSgkX1BPU1RbJ3BhdGgnXSkgLiAiLyI7CgoJCQlzd2l0Y2ggKCRpbmZvWydleHRlbnNpb24nXSkKCQkJewoJCQkJY2FzZSAiemlwIjoKCQkJCQkkemlwID0gbmV3IFppcEFyY2hpdmU7CgkJCQkJaWYgKCR6aXAtPm9wZW4oJHBhdGgpID09PSB0cnVlKQoJCQkJCXsKCQkJCQkJLy9nZXQgdG90YWwgc2l6ZQoJCQkJCQkkc2l6ZVRvdGFsRmluYWwgPSAwOwoJCQkJCQlmb3IgKCRpID0gMDsgJGkgPCAkemlwLT5udW1GaWxlczsgJGkrKykKCQkJCQkJewoJCQkJCQkJJGFTdGF0ID0gJHppcC0+c3RhdEluZGV4KCRpKTsKCQkJCQkJCSRzaXplVG90YWxGaW5hbCArPSAkYVN0YXRbJ3NpemUnXTsKCQkJCQkJfQoJCQkJCQlpZiAoIWNoZWNrcmVzdWx0aW5nc2l6ZSgkc2l6ZVRvdGFsRmluYWwpKSB7CgkJCQkJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdtYXhfc2l6ZV9yZWFjaGVkJyksJE1heFNpemVUb3RhbCkuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJCQkJZXhpdDsKCQkJCQkJfQoKCQkJCQkJLy9tYWtlIGFsbCB0aGUgZm9sZGVycwoJCQkJCQlmb3IgKCRpID0gMDsgJGkgPCAkemlwLT5udW1GaWxlczsgJGkrKykKCQkJCQkJewoJCQkJCQkJJE9ubHlGaWxlTmFtZSA9ICR6aXAtPmdldE5hbWVJbmRleCgkaSk7CgkJCQkJCQkkRnVsbEZpbGVOYW1lID0gJHppcC0+c3RhdEluZGV4KCRpKTsKCQkJCQkJCWlmIChzdWJzdHIoJEZ1bGxGaWxlTmFtZVsnbmFtZSddLCAtMSwgMSkgPT0gIi8iKQoJCQkJCQkJewoJCQkJCQkJCWNyZWF0ZV9mb2xkZXIoJGJhc2VfZm9sZGVyIC4gJEZ1bGxGaWxlTmFtZVsnbmFtZSddKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQkvL3VuemlwIGludG8gdGhlIGZvbGRlcnMKCQkJCQkJZm9yICgkaSA9IDA7ICRpIDwgJHppcC0+bnVtRmlsZXM7ICRpKyspCgkJCQkJCXsKCQkJCQkJCSRPbmx5RmlsZU5hbWUgPSAkemlwLT5nZXROYW1lSW5kZXgoJGkpOwoJCQkJCQkJJEZ1bGxGaWxlTmFtZSA9ICR6aXAtPnN0YXRJbmRleCgkaSk7CgoJCQkJCQkJaWYgKCAhIChzdWJzdHIoJEZ1bGxGaWxlTmFtZVsnbmFtZSddLCAtMSwgMSkgPT0gIi8iKSkKCQkJCQkJCXsKCQkJCQkJCQkkZmlsZWluZm8gPSBwYXRoaW5mbygkT25seUZpbGVOYW1lKTsKCQkJCQkJCQlpZiAoaW5fYXJyYXkoc3RydG9sb3dlcigkZmlsZWluZm9bJ2V4dGVuc2lvbiddKSwgJGV4dCkpCgkJCQkJCQkJewoJCQkJCQkJCQljb3B5KCd6aXA6Ly8nIC4gJHBhdGggLiAnIycgLiAkT25seUZpbGVOYW1lLCAkYmFzZV9mb2xkZXIgLiAkRnVsbEZpbGVOYW1lWyduYW1lJ10pOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQkkemlwLT5jbG9zZSgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXJlc3BvbnNlKHRyYW5zKCdaaXBfTm9fRXh0cmFjdCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCQkJZXhpdDsKCQkJCQl9CgoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgImd6IjoKCQkJCQkvLyBObyByZXN1bHRpbmcgc2l6ZSBwcmUtY29udHJvbCBhdmFpbGFibGUKCQkJCQkkcCA9IG5ldyBQaGFyRGF0YSgkcGF0aCk7CgkJCQkJJHAtPmRlY29tcHJlc3MoKTsgLy8gY3JlYXRlcyBmaWxlcy50YXIKCgkJCQkJYnJlYWs7CgoJCQkJY2FzZSAidGFyIjoKCQkJCQkvLyBObyByZXN1bHRpbmcgc2l6ZSBwcmUtY29udHJvbCBhdmFpbGFibGUKCQkJCQkvLyB1bmFyY2hpdmUgZnJvbSB0aGUgdGFyCgkJCQkJJHBoYXIgPSBuZXcgUGhhckRhdGEoJHBhdGgpOwoJCQkJCSRwaGFyLT5kZWNvbXByZXNzRmlsZXMoKTsKCQkJCQkkZmlsZXMgPSBhcnJheSgpOwoJCQkJCWNoZWNrX2ZpbGVzX2V4dGVuc2lvbnNfb25fcGhhcigkcGhhciwgJGZpbGVzLCAnJywgJGV4dCk7CgkJCQkJJHBoYXItPmV4dHJhY3RUbygkY3VycmVudF9wYXRoIC4gZml4X2Rpcm5hbWUoJF9QT1NUWydwYXRoJ10pIC4gIi8iLCAkZmlsZXMsIHRydWUpOwoKCQkJCQlicmVhazsKCgkJCQlkZWZhdWx0OgoJCQkJCXJlc3BvbnNlKHRyYW5zKCdaaXBfSW52YWxpZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCQlleGl0OwoJCQl9CgkJCWJyZWFrOwoJCWNhc2UgJ21lZGlhX3ByZXZpZXcnOgoJCQkkcHJldmlld19maWxlID0gJGN1cnJlbnRfcGF0aCAuICRfR0VUWyJmaWxlIl07CgkJCSRpbmZvID0gcGF0aGluZm8oJHByZXZpZXdfZmlsZSk7CgkJCW9iX3N0YXJ0KCk7CgkJCT8+CgkJCTxkaXYgaWQ9ImpwX2NvbnRhaW5lcl8xIiBjbGFzcz0ianAtdmlkZW8gIiBzdHlsZT0ibWFyZ2luOjAgYXV0bzsiPgoJCQkJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCQkJPGRpdiBpZD0ianF1ZXJ5X2pwbGF5ZXJfMSIgY2xhc3M9ImpwLWpwbGF5ZXIiPjwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZ3VpIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC12aWRlby1wbGF5Ij4KCQkJCQk8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC12aWRlby1wbGF5LWljb24iIHRhYmluZGV4PSIxIj5wbGF5PC9hPgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLWludGVyZmFjZSI+CgkJCQkJPGRpdiBjbGFzcz0ianAtcHJvZ3Jlc3MiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXBsYXktYmFyIj48L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtY3VycmVudC10aW1lIj48L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1kdXJhdGlvbiI+PC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMtaG9sZGVyIj4KCQkJCQkJPHVsIGNsYXNzPSJqcC1jb250cm9scyI+CgkJCQkJCTxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wbGF5IiB0YWJpbmRleD0iMSI+cGxheTwvYT48L2xpPgoJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtcGF1c2UiIHRhYmluZGV4PSIxIj5wYXVzZTwvYT48L2xpPgoJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtc3RvcCIgdGFiaW5kZXg9IjEiPnN0b3A8L2E+PC9saT4KCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLW11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0ibXV0ZSI+bXV0ZTwvYT48L2xpPgoJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtdW5tdXRlIiB0YWJpbmRleD0iMSIgdGl0bGU9InVubXV0ZSI+dW5tdXRlPC9hPjwvbGk+CgkJCQkJCTxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC12b2x1bWUtbWF4IiB0YWJpbmRleD0iMSIgdGl0bGU9Im1heCB2b2x1bWUiPm1heCB2b2x1bWU8L2E+PC9saT4KCQkJCQkJPC91bD4KCQkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXItdmFsdWUiPjwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQkJPHVsIGNsYXNzPSJqcC10b2dnbGVzIj4KCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLWZ1bGwtc2NyZWVuIiB0YWJpbmRleD0iMSIgdGl0bGU9ImZ1bGwgc2NyZWVuIj5mdWxsIHNjcmVlbjwvYT48L2xpPgoJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtcmVzdG9yZS1zY3JlZW4iIHRhYmluZGV4PSIxIiB0aXRsZT0icmVzdG9yZSBzY3JlZW4iPnJlc3RvcmUgc2NyZWVuPC9hPjwvbGk+CgkJCQkJCTxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1yZXBlYXQiIHRhYmluZGV4PSIxIiB0aXRsZT0icmVwZWF0Ij5yZXBlYXQ8L2E+PC9saT4KCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdC1vZmYiIHRhYmluZGV4PSIxIiB0aXRsZT0icmVwZWF0IG9mZiI+cmVwZWF0IG9mZjwvYT48L2xpPgoJCQkJCQk8L3VsPgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBzdHlsZT0iZGlzcGxheTpub25lOyI+CgkJCQkJCTx1bD4KCQkJCQkJPGxpPjwvbGk+CgkJCQkJCTwvdWw+CgkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLW5vLXNvbHV0aW9uIj4KCQkJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCQkJVG8gcGxheSB0aGUgbWVkaWEgeW91IHdpbGwgbmVlZCB0byBlaXRoZXIgdXBkYXRlIHlvdXIgYnJvd3NlciB0byBhIHJlY2VudCB2ZXJzaW9uIG9yIHVwZGF0ZSB5b3VyIDxhIGhyZWY9Imh0dHA6Ly9nZXQuYWRvYmUuY29tL2ZsYXNocGxheWVyLyIgdGFyZ2V0PSJfYmxhbmsiPkZsYXNoIHBsdWdpbjwvYT4uCgkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPD9waHAgaWYoaW5fYXJyYXkoc3RydG9sb3dlcigkaW5mb1snZXh0ZW5zaW9uJ10pLCAkZXh0X211c2ljKSk6ID8+CgoJCQkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCQkJCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CgoJCQkJCSQoIiNqcXVlcnlfanBsYXllcl8xIikualBsYXllcih7CgkJCQkJCXJlYWR5OiBmdW5jdGlvbiAoKSB7CgkJCQkJCSQodGhpcykualBsYXllcigic2V0TWVkaWEiLCB7CgkJCQkJCXRpdGxlOiI8P3BocCAkX0dFVFsndGl0bGUnXTsgPz4iLAoJCQkJCQkJbXAzOiAiPD9waHAgZWNobyAkcHJldmlld19maWxlOyA/PiIsCgkJCQkJCQltNGE6ICI8P3BocCBlY2hvICRwcmV2aWV3X2ZpbGU7ID8+IiwKCQkJCQkJb2dhOiAiPD9waHAgZWNobyAkcHJldmlld19maWxlOyA/PiIsCgkJCQkJCQl3YXY6ICI8P3BocCBlY2hvICRwcmV2aWV3X2ZpbGU7ID8+IgoJCQkJCQl9KTsKCQkJCQkJfSwKCQkJCQkJc3dmUGF0aDogImpzIiwKCQkJCQlzb2x1dGlvbjoiaHRtbCxmbGFzaCIsCgkJCQkJCXN1cHBsaWVkOiAibXAzLCBtNGEsIG1pZGksIG1pZCwgb2dhLHdlYm1hLCBvZ2csIHdhdiIsCgkJCQkJc21vb3RoUGxheUJhcjogdHJ1ZSwKCQkJCQlrZXlFbmFibGVkOiBmYWxzZQoJCQkJCX0pOwoJCQkJCX0pOwoJCQkJPC9zY3JpcHQ+CgoJCQk8P3BocCBlbHNlaWYoaW5fYXJyYXkoc3RydG9sb3dlcigkaW5mb1snZXh0ZW5zaW9uJ10pLCAkZXh0X3ZpZGVvKSk6CT8+CgoJCQkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCQkJJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKCgkJCQkkKCIjanF1ZXJ5X2pwbGF5ZXJfMSIpLmpQbGF5ZXIoewoJCQkJCXJlYWR5OiBmdW5jdGlvbiAoKSB7CgkJCQkJJCh0aGlzKS5qUGxheWVyKCJzZXRNZWRpYSIsIHsKCQkJCQkJdGl0bGU6Ijw/cGhwICRfR0VUWyd0aXRsZSddOyA/PiIsCgkJCQkJCW00djogIjw/cGhwIGVjaG8gJHByZXZpZXdfZmlsZTsgPz4iLAoJCQkJCQlvZ3Y6ICI8P3BocCBlY2hvICRwcmV2aWV3X2ZpbGU7ID8+IiwKCQkJCQkJZmx2OiAiPD9waHAgZWNobyAkcHJldmlld19maWxlOyA/PiIKCQkJCQl9KTsKCQkJCQl9LAoJCQkJCXN3ZlBhdGg6ICJqcyIsCgkJCQkJc29sdXRpb246Imh0bWwsZmxhc2giLAoJCQkJCXN1cHBsaWVkOiAibXA0LCBtNHYsIG9ndiwgZmx2LCB3ZWJtdiwgd2VibSIsCgkJCQkJc21vb3RoUGxheUJhcjogdHJ1ZSwKCQkJCQlrZXlFbmFibGVkOiBmYWxzZQoJCQkJfSk7CgoJCQkJfSk7CgkJCTwvc2NyaXB0PgoKCQkJPD9waHAgZW5kaWY7CgoJCQkkY29udGVudCA9IG9iX2dldF9jbGVhbigpOwoKCQkJcmVzcG9uc2UoJGNvbnRlbnQpLT5zZW5kKCk7CgkJCWV4aXQ7CgoJCQlicmVhazsKCQljYXNlICdjb3B5X2N1dCc6CgkJCWlmICgkX1BPU1RbJ3N1Yl9hY3Rpb24nXSAhPSAnY29weScgJiYgJF9QT1NUWydzdWJfYWN0aW9uJ10gIT0gJ2N1dCcpCgkJCXsKCQkJCXJlc3BvbnNlKHRyYW5zKCd3cm9uZyBzdWItYWN0aW9uJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJZXhpdDsKCQkJfQoKCQkJaWYgKHRyaW0oJF9QT1NUWydwYXRoJ10pID09ICcnKQoJCQl7CgkJCQlyZXNwb25zZSh0cmFucygnbm8gcGF0aCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCSRtc2dfc3ViX2FjdGlvbiA9ICgkX1BPU1RbJ3N1Yl9hY3Rpb24nXSA9PSAnY29weScgPyB0cmFucygnQ29weScpIDogdHJhbnMoJ0N1dCcpKTsKCQkJJHBhdGggPSAkY3VycmVudF9wYXRoIC4gJF9QT1NUWydwYXRoJ107CgoJCQlpZiAoaXNfZGlyKCRwYXRoKSkKCQkJewoJCQkJLy8gY2FuJ3QgY29weS9jdXQgZGlycwoJCQkJaWYgKCRjb3B5X2N1dF9kaXJzID09PSBmYWxzZSkKCQkJCXsKCQkJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcpLCAkbXNnX3N1Yl9hY3Rpb24sIHRyYW5zKCdGb2xkZXJzJykpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCQlleGl0OwoJCQkJfQoKCQkJCWxpc3QoJHNpemVGb2xkZXJUb0NvcHksJGZpbGVOdW0sJGZvbGRlcnNDb3VudCkgPSBmb2xkZXJfaW5mbygkcGF0aCxmYWxzZSk7CgkJCQkvLyBzaXplIG92ZXIgbGltaXQKCQkJCWlmICgkY29weV9jdXRfbWF4X3NpemUgIT09IGZhbHNlICYmIGlzX2ludCgkY29weV9jdXRfbWF4X3NpemUpKSB7CgkJCQkJaWYgKCgkY29weV9jdXRfbWF4X3NpemUgKiAxMDI0ICogMTAyNCkgPCAkc2l6ZUZvbGRlclRvQ29weSkgewoJCQkJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdDb3B5X0N1dF9TaXplX0xpbWl0JyksICRtc2dfc3ViX2FjdGlvbiwgJGNvcHlfY3V0X21heF9zaXplKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQkJCWV4aXQ7CgkJCQkJfQoJCQkJfQoKCQkJCS8vIGZpbGUgY291bnQgb3ZlciBsaW1pdAoJCQkJaWYgKCRjb3B5X2N1dF9tYXhfY291bnQgIT09IGZhbHNlICYmIGlzX2ludCgkY29weV9jdXRfbWF4X2NvdW50KSkKCQkJCXsKCQkJCQlpZiAoJGNvcHlfY3V0X21heF9jb3VudCA8ICRmaWxlTnVtKQoJCQkJCXsKCQkJCQkJcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnQ29weV9DdXRfQ291bnRfTGltaXQnKSwgJG1zZ19zdWJfYWN0aW9uLCAkY29weV9jdXRfbWF4X2NvdW50KS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQkJCWV4aXQ7CgkJCQkJfQoJCQkJfQoKCQkJCWlmICghY2hlY2tyZXN1bHRpbmdzaXplKCRzaXplRm9sZGVyVG9Db3B5KSkgewoJCQkJCXJlc3BvbnNlKHNwcmludGYodHJhbnMoJ21heF9zaXplX3JlYWNoZWQnKSwkTWF4U2l6ZVRvdGFsKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQkJZXhpdDsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCS8vIGNhbid0IGNvcHkvY3V0IGZpbGVzCgkJCQlpZiAoJGNvcHlfY3V0X2ZpbGVzID09PSBmYWxzZSkKCQkJCXsKCQkJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcpLCAkbXNnX3N1Yl9hY3Rpb24sIHRyYW5zKCdGaWxlcycpKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQkJZXhpdDsKCQkJCX0KCQkJfQoKCQkJJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmQnXVsncGF0aCddID0gJF9QT1NUWydwYXRoJ107CgkJCSRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkX2FjdGlvbiddID0gJF9QT1NUWydzdWJfYWN0aW9uJ107CgkJCWJyZWFrOwoJCWNhc2UgJ2NsZWFyX2NsaXBib2FyZCc6CgkJCSRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkJ10gPSBudWxsOwoJCQkkX1NFU1NJT05bJ1JGJ11bJ2NsaXBib2FyZF9hY3Rpb24nXSA9IG51bGw7CgkJCWJyZWFrOwoJCWNhc2UgJ2NobW9kJzoKCQkJJHBhdGggPSAkY3VycmVudF9wYXRoIC4gJF9QT1NUWydwYXRoJ107CgkJCWlmICgKCQkJCShpc19kaXIoJHBhdGgpICYmICRjaG1vZF9kaXJzID09PSBmYWxzZSkKCQkJCXx8IChpc19maWxlKCRwYXRoKSAmJiAkY2htb2RfZmlsZXMgPT09IGZhbHNlKQoJCQkJfHwgKGlzX2Z1bmN0aW9uX2NhbGxhYmxlKCJjaG1vZCIpID09PSBmYWxzZSkgKQoJCQl7CgkJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnKSwgKGlzX2RpcigkcGF0aCkgPyB0cmFucygnRm9sZGVycycpIDogdHJhbnMoJ0ZpbGVzJykpLCA0MDMpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0gZWxzZSB7CgkJCQkkcGVybSA9IGRlY29jdChmaWxlcGVybXMoJHBhdGgpICYgMDc3Nyk7CgkJCQkkcGVybV91c2VyID0gc3Vic3RyKCRwZXJtLCAwLCAxKTsKCQkJCSRwZXJtX2dyb3VwID0gc3Vic3RyKCRwZXJtLCAxLCAxKTsKCQkJCSRwZXJtX2FsbCA9IHN1YnN0cigkcGVybSwgMiwgMSk7CgoJCQkJJHJldCA9ICc8ZGl2IGlkPSJmaWxlc19wZXJtaXNzaW9uX3N0YXJ0Ij4KCQkJCTxmb3JtIGlkPSJjaG1vZF9mb3JtIj4KCQkJCQk8dGFibGUgY2xhc3M9InRhYmxlIGZpbGUtcGVybXMtdGFibGUiPgoJCQkJCQk8dGhlYWQ+CgkJCQkJCQk8dHI+CgkJCQkJCQkJPHRkPjwvdGQ+CgkJCQkJCQkJPHRkPnImbmJzcDsmbmJzcDs8L3RkPgoJCQkJCQkJCTx0ZD53Jm5ic3A7Jm5ic3A7PC90ZD4KCQkJCQkJCQk8dGQ+eCZuYnNwOyZuYnNwOzwvdGQ+CgkJCQkJCQk8L3RyPgoJCQkJCQk8L3RoZWFkPgoJCQkJCQk8dGJvZHk+CgkJCQkJCQk8dHI+CgkJCQkJCQkJPHRkPicudHJhbnMoJ1VzZXInKS4nPC90ZD4KCQkJCQkJCQk8dGQ+PGlucHV0IGlkPSJ1XzQiIHR5cGU9ImNoZWNrYm94IiBkYXRhLXZhbHVlPSI0IiBkYXRhLWdyb3VwPSJ1c2VyIiAnLihjaG1vZF9sb2dpY19oZWxwZXIoJHBlcm1fdXNlciwgNCkgPyAiIGNoZWNrZWQiIDogIiIpLic+PC90ZD4KCQkJCQkJCQk8dGQ+PGlucHV0IGlkPSJ1XzIiIHR5cGU9ImNoZWNrYm94IiBkYXRhLXZhbHVlPSIyIiBkYXRhLWdyb3VwPSJ1c2VyIiAnLihjaG1vZF9sb2dpY19oZWxwZXIoJHBlcm1fdXNlciwgMikgPyAiIGNoZWNrZWQiIDogIiIpLic+PC90ZD4KCQkJCQkJCQk8dGQ+PGlucHV0IGlkPSJ1XzEiIHR5cGU9ImNoZWNrYm94IiBkYXRhLXZhbHVlPSIxIiBkYXRhLWdyb3VwPSJ1c2VyIiAnLihjaG1vZF9sb2dpY19oZWxwZXIoJHBlcm1fdXNlciwgMSkgPyAiIGNoZWNrZWQiIDogIiIpLic+PC90ZD4KCQkJCQkJCTwvdHI+CgkJCQkJCQk8dHI+CgkJCQkJCQkJPHRkPicudHJhbnMoJ0dyb3VwJykuJzwvdGQ+CgkJCQkJCQkJPHRkPjxpbnB1dCBpZD0iZ180IiB0eXBlPSJjaGVja2JveCIgZGF0YS12YWx1ZT0iNCIgZGF0YS1ncm91cD0iZ3JvdXAiICcuKGNobW9kX2xvZ2ljX2hlbHBlcigkcGVybV9ncm91cCwgNCkgPyAiIGNoZWNrZWQiIDogIiIpLic+PC90ZD4KCQkJCQkJCQk8dGQ+PGlucHV0IGlkPSJnXzIiIHR5cGU9ImNoZWNrYm94IiBkYXRhLXZhbHVlPSIyIiBkYXRhLWdyb3VwPSJncm91cCIgJy4oY2htb2RfbG9naWNfaGVscGVyKCRwZXJtX2dyb3VwLCAyKSA/ICIgY2hlY2tlZCIgOiAiIikuJz48L3RkPgoJCQkJCQkJCTx0ZD48aW5wdXQgaWQ9ImdfMSIgdHlwZT0iY2hlY2tib3giIGRhdGEtdmFsdWU9IjEiIGRhdGEtZ3JvdXA9Imdyb3VwIiAnLihjaG1vZF9sb2dpY19oZWxwZXIoJHBlcm1fZ3JvdXAsIDEpID8gIiBjaGVja2VkIiA6ICIiKS4nPjwvdGQ+CgkJCQkJCQk8L3RyPgoJCQkJCQkJPHRyPgoJCQkJCQkJCTx0ZD4nLnRyYW5zKCdBbGwnKS4nPC90ZD4KCQkJCQkJCQk8dGQ+PGlucHV0IGlkPSJhXzQiIHR5cGU9ImNoZWNrYm94IiBkYXRhLXZhbHVlPSI0IiBkYXRhLWdyb3VwPSJhbGwiICcuKGNobW9kX2xvZ2ljX2hlbHBlcigkcGVybV9hbGwsIDQpID8gIiBjaGVja2VkIiA6ICIiKS4nPjwvdGQ+CgkJCQkJCQkJPHRkPjxpbnB1dCBpZD0iYV8yIiB0eXBlPSJjaGVja2JveCIgZGF0YS12YWx1ZT0iMiIgZGF0YS1ncm91cD0iYWxsIiAnLihjaG1vZF9sb2dpY19oZWxwZXIoJHBlcm1fYWxsLCAyKSA/ICIgY2hlY2tlZCIgOiAiIikuJz48L3RkPgoJCQkJCQkJCTx0ZD48aW5wdXQgaWQ9ImFfMSIgdHlwZT0iY2hlY2tib3giIGRhdGEtdmFsdWU9IjEiIGRhdGEtZ3JvdXA9ImFsbCIgJy4oY2htb2RfbG9naWNfaGVscGVyKCRwZXJtX2FsbCwgMSkgPyAiIGNoZWNrZWQiIDogIiIpLic+PC90ZD4KCQkJCQkJCTwvdHI+CgkJCQkJCQk8dHI+CgkJCQkJCQkJPHRkPjwvdGQ+CgkJCQkJCQkJPHRkIGNvbHNwYW49IjMiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iaW5wdXQtYmxvY2stbGV2ZWwiIG5hbWU9ImNobW9kX3ZhbHVlIiBpZD0iY2htb2RfdmFsdWUiIHZhbHVlPSInLiRwZXJtLiciIGRhdGEtZGVmLXZhbHVlPSInLiRwZXJtLiciPjwvdGQ+CgkJCQkJCQk8L3RyPgoJCQkJCQk8L3Rib2R5PgoJCQkJCTwvdGFibGU+JzsKCgkJCQlpZiAoaXNfZGlyKCRwYXRoKSkKCQkJCXsKCQkJCQkkcmV0IC49ICc8ZGl2IGNsYXNzPSJoZXJvLXVuaXQiIHN0eWxlPSJwYWRkaW5nOjEwcHg7Ij4nLnRyYW5zKCdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJykuJzxici8+PGJyLz4KCQkJCQkJCTx1bCBjbGFzcz0idW5zdHlsZWQiPgoJCQkJCQkJCTxsaT48bGFiZWwgY2xhc3M9InJhZGlvIj48aW5wdXQgdmFsdWU9Im5vbmUiIG5hbWU9ImFwcGx5X3JlY3Vyc2l2ZSIgdHlwZT0icmFkaW8iIGNoZWNrZWQ+ICcudHJhbnMoJ05vJykuJzwvbGFiZWw+PC9saT4KCQkJCQkJCQk8bGk+PGxhYmVsIGNsYXNzPSJyYWRpbyI+PGlucHV0IHZhbHVlPSJmaWxlcyIgbmFtZT0iYXBwbHlfcmVjdXJzaXZlIiB0eXBlPSJyYWRpbyI+ICcudHJhbnMoJ0ZpbGVzJykuJzwvbGFiZWw+PC9saT4KCQkJCQkJCQk8bGk+PGxhYmVsIGNsYXNzPSJyYWRpbyI+PGlucHV0IHZhbHVlPSJmb2xkZXJzIiBuYW1lPSJhcHBseV9yZWN1cnNpdmUiIHR5cGU9InJhZGlvIj4gJy50cmFucygnRm9sZGVycycpLic8L2xhYmVsPjwvbGk+CgkJCQkJCQkJPGxpPjxsYWJlbCBjbGFzcz0icmFkaW8iPjxpbnB1dCB2YWx1ZT0iYm90aCIgbmFtZT0iYXBwbHlfcmVjdXJzaXZlIiB0eXBlPSJyYWRpbyI+ICcudHJhbnMoJ0ZpbGVzJykuJyAmICcudHJhbnMoJ0ZvbGRlcnMnKS4nPC9sYWJlbD48L2xpPgoJCQkJCQkJPC91bD4KCQkJCQkJCTwvZGl2Pic7CgkJCQl9CgoJCQkJJHJldCAuPSAnPC9mb3JtPjwvZGl2Pic7CgoJCQkJcmVzcG9uc2UoJHJldCktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAnZ2V0X2xhbmcnOgoJCQlpZiAoICEgZmlsZV9leGlzdHMoJ2xhbmcvbGFuZ3VhZ2VzLnBocCcpKQoJCQl7CgkJCQlyZXNwb25zZSh0cmFucygnTGFuZ19Ob3RfRm91bmQnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQkkbGFuZ3VhZ2VzID0gaW5jbHVkZSAnbGFuZy9sYW5ndWFnZXMucGhwJzsKCQkJaWYgKCAhIGlzc2V0KCRsYW5ndWFnZXMpIHx8ICEgaXNfYXJyYXkoJGxhbmd1YWdlcykpCgkJCXsKCQkJCXJlc3BvbnNlKHRyYW5zKCdMYW5nX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCSRjdXJyID0gJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddOwoKCQkJJHJldCA9ICc8c2VsZWN0IGlkPSJuZXdfbGFuZ19zZWxlY3QiPic7CgkJCWZvcmVhY2ggKCRsYW5ndWFnZXMgYXMgJGNvZGUgPT4gJG5hbWUpCgkJCXsKCQkJCSRyZXQgLj0gJzxvcHRpb24gdmFsdWU9IicgLiAkY29kZSAuICciJyAuICgkY29kZSA9PSAkY3VyciA/ICcgc2VsZWN0ZWQnIDogJycpIC4gJz4nIC4gJG5hbWUgLiAnPC9vcHRpb24+JzsKCQkJfQoJCQkkcmV0IC49ICc8L3NlbGVjdD4nOwoKCQkJcmVzcG9uc2UoJHJldCktPnNlbmQoKTsKCQkJZXhpdDsKCgkJCWJyZWFrOwoJCWNhc2UgJ2NoYW5nZV9sYW5nJzoKCQkJLy9UcmFjZXZhcigkX1BPU1QpOwoJCQkkY2hvb3Nlbl9sYW5nID0gKCFlbXB0eSgkX1BPU1RbJ2Nob29zZW5fbGFuZyddKSk/ICRfUE9TVFsnY2hvb3Nlbl9sYW5nJ106ImVuX0VOIjsKCQkJLy9UcmFjZXZhcigkY2hvb3Nlbl9sYW5nKTsKCgkJCWlmICggISBmaWxlX2V4aXN0cygnbGFuZy8nIC4gJGNob29zZW5fbGFuZyAuICcucGhwJykpCgkJCXsKCQkJCXJlc3BvbnNlKHRyYW5zKCdMYW5nX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCSRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2UnXSA9ICRjaG9vc2VuX2xhbmc7CgkJCSRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2VfZmlsZSddID0gJ2xhbmcvJyAuICRjaG9vc2VuX2xhbmcgLiAnLnBocCc7CgkJCS8vVHJhY2V2YXIoJF9TRVNTSU9OWydSRiddKTsKCgkJCWJyZWFrOwoJCWNhc2UgJ2dldF9maWxlJzogLy8gcHJldmlldyBvciBlZGl0CgkJCSRzdWJfYWN0aW9uID0gJF9HRVRbJ3N1Yl9hY3Rpb24nXTsKCQkJJHByZXZpZXdfbW9kZSA9ICRfR0VUWyJwcmV2aWV3X21vZGUiXTsKCgkJCWlmICgkc3ViX2FjdGlvbiAhPSAncHJldmlldycgJiYgJHN1Yl9hY3Rpb24gIT0gJ2VkaXQnKQoJCQl7CgkJCQlyZXNwb25zZSh0cmFucygnd3JvbmcgYWN0aW9uJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJZXhpdDsKCQkJfQoKCQkJJHNlbGVjdGVkX2ZpbGUgPSAoJHN1Yl9hY3Rpb24gPT0gJ3ByZXZpZXcnID8gJGN1cnJlbnRfcGF0aCAuICRfR0VUWydmaWxlJ10gOiAkY3VycmVudF9wYXRoIC4gJF9QT1NUWydwYXRoJ10pOwoJCQkkaW5mbyA9IHBhdGhpbmZvKCRzZWxlY3RlZF9maWxlKTsKCgkJCWlmICggISBmaWxlX2V4aXN0cygkc2VsZWN0ZWRfZmlsZSkpCgkJCXsKCQkJCXJlc3BvbnNlKHRyYW5zKCdGaWxlX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCWlmICgkcHJldmlld19tb2RlID09ICd0ZXh0JykKCQkJewoJCQkJJGlzX2FsbG93ZWQgPSAoJHN1Yl9hY3Rpb24gPT0gJ3ByZXZpZXcnID8gJHByZXZpZXdfdGV4dF9maWxlcyA6ICRlZGl0X3RleHRfZmlsZXMpOwoJCQkJJGFsbG93ZWRfZmlsZV9leHRzID0gKCRzdWJfYWN0aW9uID09ICdwcmV2aWV3JyA/ICRwcmV2aWV3YWJsZV90ZXh0X2ZpbGVfZXh0cyA6ICRlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cyk7CgkJCX0gZWxzZWlmICgkcHJldmlld19tb2RlID09ICd2aWV3ZXJqcycpIHsKCQkJCSRpc19hbGxvd2VkID0gJHZpZXdlcmpzX2VuYWJsZWQ7CgkJCQkkYWxsb3dlZF9maWxlX2V4dHMgPSAkdmlld2VyanNfZmlsZV9leHRzOwoJCQl9IGVsc2VpZiAoJHByZXZpZXdfbW9kZSA9PSAnZ29vZ2xlJykgewoJCQkJJGlzX2FsbG93ZWQgPSAkZ29vZ2xlZG9jX2VuYWJsZWQ7CgkJCQkkYWxsb3dlZF9maWxlX2V4dHMgPSAkZ29vZ2xlZG9jX2ZpbGVfZXh0czsKCQkJfQoKCQkJaWYgKCAhIGlzc2V0KCRhbGxvd2VkX2ZpbGVfZXh0cykgfHwgISBpc19hcnJheSgkYWxsb3dlZF9maWxlX2V4dHMpKQoJCQl7CgkJCQkkYWxsb3dlZF9maWxlX2V4dHMgPSBhcnJheSgpOwoJCQl9CgoJCQlpZiAoICEgaW5fYXJyYXkoJGluZm9bJ2V4dGVuc2lvbiddLCAkYWxsb3dlZF9maWxlX2V4dHMpCgkJCQl8fCAhIGlzc2V0KCRpc19hbGxvd2VkKQoJCQkJfHwgJGlzX2FsbG93ZWQgPT09IGZhbHNlCgkJCQl8fCAhIGlzX3JlYWRhYmxlKCRzZWxlY3RlZF9maWxlKQoJCQkpCgkJCXsKCQkJCXJlc3BvbnNlKHNwcmludGYodHJhbnMoJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyksICgkc3ViX2FjdGlvbiA9PSAncHJldmlldycgPyBzdHJ0b2xvd2VyKHRyYW5zKCdPcGVuJykpIDogc3RydG9sb3dlcih0cmFucygnRWRpdCcpKSkpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCQkJaWYgKCRzdWJfYWN0aW9uID09ICdwcmV2aWV3JykKCQkJewoJCQkJaWYgKCRwcmV2aWV3X21vZGUgPT0gJ3RleHQnKQoJCQkJewoJCQkJCS8vIGdldCBhbmQgc2FuaXRpZXMKCQkJCQkkZGF0YSA9IHN0cmlwc2xhc2hlcyhodG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRzZWxlY3RlZF9maWxlKSkpOwoKCQkJCQkkcmV0ID0gJyc7CgoJCQkJCWlmICggISBpbl9hcnJheSgkaW5mb1snZXh0ZW5zaW9uJ10sJHByZXZpZXdhYmxlX3RleHRfZmlsZV9leHRzX25vX3ByZXR0aWZ5KSkKCQkJCQl7CgkJCQkJCSRyZXQgLj0gJzxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5yYXdnaXQuY29tL2dvb2dsZS9jb2RlLXByZXR0aWZ5L21hc3Rlci9sb2FkZXIvcnVuX3ByZXR0aWZ5LmpzP2xhbmc9Jy4kaW5mb1snZXh0ZW5zaW9uJ10uJyZza2luPXN1bmJ1cnN0Ij48L3NjcmlwdD4nOwoJCQkJCQkkcmV0IC49ICc8cHJlIGNsYXNzPSJwcmV0dHlwcmludCI+Jy4kZGF0YS4nPC9wcmU+JzsKCQkJCQl9IGVsc2UgewoJCQkJCQkkcmV0IC49ICc8cHJlIGNsYXNzPSJuby1wcmV0dGlmeSI+Jy4kZGF0YS4nPC9wcmU+JzsKCQkJCQl9CgoJCQkJfSBlbHNlaWYgKCRwcmV2aWV3X21vZGUgPT0gJ3ZpZXdlcmpzJykgewoJCQkJCSRyZXQgPSAnPGlmcmFtZSBpZD0idmlld2VyIiBzcmM9ImpzL1ZpZXdlckpTLyMuLi8uLi8nLiRzZWxlY3RlZF9maWxlLiciIGFsbG93ZnVsbHNjcmVlbj0iIiB3ZWJraXRhbGxvd2Z1bGxzY3JlZW49IiIgY2xhc3M9InZpZXdlci1pZnJhbWUiPjwvaWZyYW1lPic7CgoJCQkJfSBlbHNlaWYgKCRwcmV2aWV3X21vZGUgPT0gJ2dvb2dsZScpIHsKCQkJCQkkdXJsX2ZpbGUgPSAkYmFzZV91cmwgLiAkdXBsb2FkX2RpciAuIHN0cl9yZXBsYWNlKCRjdXJyZW50X3BhdGgsICcnLCAkX0dFVFsiZmlsZSJdKTsKCQkJCQkkZ29vZ2xlZG9jX3VybCA9IHVybGVuY29kZSgkdXJsX2ZpbGUpOwoJCQkJCSRnb29nbGVkb2NfaHRtbCA9ICI8aWZyYW1lIHNyYz1cImh0dHA6Ly9kb2NzLmdvb2dsZS5jb20vdmlld2VyP3VybD0iIC4gJGdvb2dsZWRvY191cmwgLiAiJmVtYmVkZGVkPXRydWVcIiBjbGFzcz1cImdvb2dsZS1pZnJhbWVcIj48L2lmcmFtZT4iOwoJCQkJCSRyZXQgPSAkZ29vZ2xlZG9jX2h0bWw7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQkkZGF0YSA9IHN0cmlwc2xhc2hlcyhodG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRzZWxlY3RlZF9maWxlKSkpOwoJCQkJJHJldCA9ICc8dGV4dGFyZWEgaWQ9InRleHRmaWxlX2VkaXRfYXJlYSIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjMwMHB4OyI+Jy4kZGF0YS4nPC90ZXh0YXJlYT4nOwoJCQl9CgoJCQlyZXNwb25zZSgkcmV0KS0+c2VuZCgpOwoJCQlleGl0OwoKCQkJYnJlYWs7CgkJZGVmYXVsdDoKCQkJcmVzcG9uc2UodHJhbnMoJ25vIGFjdGlvbiBwYXNzZWQnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCWV4aXQ7Cgl9Cn0gZWxzZSB7CglyZXNwb25zZSh0cmFucygnbm8gYWN0aW9uIHBhc3NlZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCWV4aXQ7Cn0KPz4=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[RGVueSBmcm9tIGFsbA==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/config.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gQ01TTVMgOiByZW1vdmUgdGhlIHNlc3Npb25fc3RhcnQgYmVjYXVzZSBpdCBjb25mbGljdHMgd2l0aCB0aGUgQ01TIHNlc3Npb25fc3RhcnQgaW4gaW5jbHVkZS5waHAKLy8gc2Vzc2lvbl9zdGFydCgpOwoKCm1iX2ludGVybmFsX2VuY29kaW5nKCdVVEYtOCcpOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdFdXJvcGUvUm9tZScpOwoKLyoKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgT3B0aW9uYWwgc2VjdXJpdHkKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwKfCBpZiBzZXQgdG8gdHJ1ZSBvbmx5IHRob3NlIHdpbGwgYWNjZXNzIFJGIHdob3NlIHVybCBjb250YWlucyB0aGUgYWNjZXNzIGtleShha2V5KSBsaWtlOgp8IDxpbnB1dCB0eXBlPSJidXR0b24iIGhyZWY9Ii4uL2ZpbGVtYW5hZ2VyL2RpYWxvZy5waHA/ZmllbGRfaWQ9aW1nRmllbGQmbGFuZz1lbl9FTiZha2V5PW15UHJpdmF0ZUtleSIgdmFsdWU9IkZpbGVzIj4KfCBpbiB0aW55bWNlIGEgbmV3IHBhcmFtZXRlciBhZGRlZDogZmlsZW1hbmFnZXJfYWNjZXNzX2tleToibXlQcml2YXRlS2V5Igp8IGV4YW1wbGUgdGlueW1jZSBjb25maWc6CnwKfCB0aW55IGluaXQgLi4uCnwgZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aDoiLi4vZmlsZW1hbmFnZXIvIiwKfCBmaWxlbWFuYWdlcl90aXRsZToiRmlsZW1hbmFnZXIiICwKfCBmaWxlbWFuYWdlcl9hY2Nlc3Nfa2V5OiJteVByaXZhdGVLZXkiICwKfCAuLi4KfAoqLwoKZGVmaW5lKCdVU0VfQUNDRVNTX0tFWVMnLCB0cnVlKTsgLy8gVFJVRSBvciBGQUxTRQoKLyoKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgRE9OJ1QgQ09QWSBUSElTIFZBUklBQkxFUyBJTiBGT0xERVJTIGNvbmZpZy5waHAgRklMRVMKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCgpkZWZpbmUoJ0RFQlVHX0VSUk9SX01FU1NBR0UnLCB0cnVlKTsgLy8gVFJVRSBvciBGQUxTRQoKLyoKfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnwgUGF0aCBjb25maWd1cmF0aW9uCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp8IEluIHRoaXMgY29uZmlndXJhdGlvbiB0aGUgZm9sZGVyIHRyZWUgaXMKfCByb290CnwgICAgfC0gc291cmNlIDwtIHVwbG9hZCBmb2xkZXIKfCAgICB8LSB0aHVtYnMgPC0gdGh1bWJuYWlsIGZvbGRlciBbbXVzdCBoYXZlIHdyaXRlIHBlcm1pc3Npb24gKDc1NSldCnwgICAgfC0gZmlsZW1hbmFnZXIKfCAgICB8LSBqcwp8ICAgIHwgICB8LSB0aW55bWNlCnwgICAgfCAgIHwgICB8LSBwbHVnaW5zCnwgICAgfCAgIHwgICB8ICAgfC0gcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyCnwgICAgfCAgIHwgICB8ICAgfCAgIHwtIHBsdWdpbi5taW4uanMKKi8KCiRmaWxlbWFuYWdlcl9jb25maWcgPSBhcnJheSgKCgkvKgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8IERPTidUIFRPVUNIIChiYXNlIHVybCAob25seSBkb21haW4pIG9mIHNpdGUpLgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IHdpdGhvdXQgZmluYWwgLwoJfAoJKi8KCgknYmFzZV91cmwnID0+ICgoaXNzZXQoJF9TRVJWRVJbJ0hUVFBTJ10pICYmICRfU0VSVkVSWydIVFRQUyddICYmICEgaW5fYXJyYXkoc3RydG9sb3dlcigkX1NFUlZFUlsnSFRUUFMnXSksIGFycmF5KCAnb2ZmJywgJ25vJyApKSkgPyAnaHR0cHMnIDogJ2h0dHAnKSAuICc6Ly8nIC4gJF9TRVJWRVJbJ0hUVFBfSE9TVCddLAoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgcGF0aCBmcm9tIGJhc2VfdXJsIHRvIGJhc2Ugb2YgdXBsb2FkIGZvbGRlcgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IHdpdGggc3RhcnQgYW5kIGZpbmFsIC8KCXwKCSovCgkndXBsb2FkX2RpcicgPT4gJy91cGxvYWRzLycsCgoJLyoKCXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJfCByZWxhdGl2ZSBwYXRoIGZyb20gZmlsZW1hbmFnZXIgZm9sZGVyIHRvIHVwbG9hZCBmb2xkZXIKCXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJfAoJfCB3aXRoIGZpbmFsIC8KCXwKCSovCgkvLyBDTVNNUyBzcGVjaWZpYwoJJ2N1cnJlbnRfcGF0aCcgPT4gJy4uLy4uLy4uLy4uL3VwbG9hZHMvJywKCgkvKgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8IHJlbGF0aXZlIHBhdGggZnJvbSBmaWxlbWFuYWdlciBmb2xkZXIgdG8gdGh1bWJzIGZvbGRlcgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IHdpdGggZmluYWwgLwoJfCBETyBOT1QgcHV0IGluc2lkZSB1cGxvYWQgZm9sZGVyCgl8CgkqLwoJLy8gQ01TTVMgc3BlY2lmaWMKCSd0aHVtYnNfYmFzZV9wYXRoJyA9PiAnLi4vLi4vLi4vLi4vdG1wL3RodW1icy8nLAoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgQWNjZXNzIGtleXMKCXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJfAoJfCBhZGQgYWNjZXNzIGtleXMgZWc6IGFycmF5KCdteVByaXZhdGVLZXknLCAnc29tZW9uZUVsc2VLZXknKTsKCXwga2V5cyBzaG91bGQgb25seSBjb250YWludCAoYS16IEEtWiAwLTkgXCAuIF8gLSkgY2hhcmFjdGVycwoJfCBpZiB5b3UgYXJlIGludGVncmF0aW5nIGxldHMgc2F5IHRvIGEgY21zIGZvciBhZG1pbnMsIGkgcmVjb21tZW5kIG1ha2luZyBrZXlzIHJhbmRvbWl6ZWQgc29tZXRoaW5nIGxpa2UgdGhpczoKCXwgJHVzZXJuYW1lID0gJ0FkbWluJzsKCXwgJHNhbHQgPSAnZHNmbEZXUjl1MnhRYScgKGEgaGFyZCBjb2RlZCBzdHJpbmcpCgl8ICRha2V5ID0gbWQ1KCR1c2VybmFtZS4kc2FsdCk7Cgl8IERPIE5PVCB1c2UgJ2tleScgYXMgYWNjZXNzIGtleSEKCXwgS2V5cyBhcmUgQ0FTRSBTRU5TSVRJVkUhCgl8CgkqLwoKCSdhY2Nlc3Nfa2V5cycgPT4gYXJyYXkoKSwKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBZT1UgQ0FOIENPUFkgQU5EIENIQU5HRSBUSEVTRSBWQVJJQUJMRVMgSU5UTyBGT0xERVJTIGNvbmZpZy5waHAgRklMRVMgVE8gQ1VTVE9NSVpFIEVBQ0ggRk9MREVSIE9QVElPTlMKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkvKgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8IE1heGltdW0gc2l6ZSBvZiBhbGwgZmlsZXMgaW4gc291cmNlIGZvbGRlcgoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IGluIE1lZ2FieXRlcwoJfAoJKi8KCSdNYXhTaXplVG90YWwnID0+IGZhbHNlLAoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgTWF4aW11bSB1cGxvYWQgc2l6ZQoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IGluIE1lZ2FieXRlcwoJfAoJKi8KCSdNYXhTaXplVXBsb2FkJyA9PiAxMDAsCgoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgZGVmYXVsdCBsYW5ndWFnZSBmaWxlIG5hbWUKCXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJKi8KCSdkZWZhdWx0X2xhbmd1YWdlJyA9PiAnZW5fRU4nLAoKCS8qCgl8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCXwgSWNvbiB0aGVtZQoJfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl8Cgl8IERlZmF1bHQgYXZhaWxhYmxlOiBpY28gYW5kIGljb19kYXJrCgl8IENhbiBiZSBzZXQgdG8gY3VzdG9tIGljb24gaW5zaWRlIGZpbGVtYW5hZ2VyL2ltZwoJfAoJKi8KCSdpY29uX3RoZW1lJyA9PiAiaWNvIiwKCgoJLy9TaG93IG9yIG5vdCB0b3RhbCBzaXplIGluIGZpbGVtYW5hZ2VyIChpcyBwb3NzaWJsZSB0byBncmVhdGx5IGluY3JlYXNlIHRoZSBjYWxjdWxhdGlvbnMpCgknc2hvd190b3RhbF9zaXplJwkJCQkJCT0+IGZhbHNlLAoJLy9TaG93IG9yIG5vdCBzaG93IGZvbGRlciBzaXplIGluIGxpc3QgdmlldyBmZWF0dXJlIGluIGZpbGVtYW5hZ2VyIChpcyBwb3NzaWJsZSwgaWYgdGhlcmUgaXMgYSBsYXJnZSBmb2xkZXIsIHRvIGdyZWF0bHkgaW5jcmVhc2UgdGhlIGNhbGN1bGF0aW9ucykKCSdzaG93X2ZvbGRlcl9zaXplJwkJCQkJCT0+IGZhbHNlLAoJLy9TaG93IG9yIG5vdCBzaG93IHNvcnRpbmcgZmVhdHVyZSBpbiBmaWxlbWFuYWdlcgoJJ3Nob3dfc29ydGluZ19iYXInCQkJCQkJPT4gdHJ1ZSwKCS8vU2hvdyBvciBub3Qgc2hvdyBmaWx0ZXJzIGJ1dHRvbiBpbiBmaWxlbWFuYWdlcgoJJ3Nob3dfZmlsdGVyX2J1dHRvbnMnCQkJCQkJPT4gdHJ1ZSwKCS8vU2hvdyBvciBub3QgbGFuZ3VhZ2Ugc2VsZWN0aW9uIGZlYXR1cmUgaW4gZmlsZW1hbmFnZXIKCSdzaG93X2xhbmd1YWdlX3NlbGVjdGlvbicJCQkJPT4gZmFsc2UsCgkvL2FjdGl2ZSBvciBkZWFjdGl2ZSB0aGUgdHJhbnNsaXRlcmF0aW9uIChtZWFuIGNvbnZlcnQgYWxsIHN0cmFuZ2UgY2hhcmFjdGVycyBpbiBBLi5aYS4uejAuLjkgY2hhcmFjdGVycykKCSd0cmFuc2xpdGVyYXRpb24nCQkJCQkJPT4gZmFsc2UsCgkvL2NvbnZlcnQgYWxsIHNwYWNlcyBvbiBmaWxlcyBuYW1lIGFuZCBmb2xkZXJzIG5hbWUgd2l0aCAkcmVwbGFjZV93aXRoIHZhcmlhYmxlCgknY29udmVydF9zcGFjZXMnCQkJCQkJPT4gZmFsc2UsCgkvL2NvbnZlcnQgYWxsIHNwYWNlcyBvbiBmaWxlcyBuYW1lIGFuZCBmb2xkZXJzIG5hbWUgdGhpcyB2YWx1ZQoJJ3JlcGxhY2Vfd2l0aCcJCQkJCQkJPT4gIl8iLAoJLy9jb252ZXJ0IHRvIGxvd2VyY2FzZSB0aGUgZmlsZXMgYW5kIGZvbGRlcnMgbmFtZQoJJ2xvd2VyX2Nhc2UnCQkJCQkJCT0+IGZhbHNlLAoKCS8vIC0xOiBUaGVyZSBpcyBubyBsYXp5IGxvYWRpbmcgYXQgYWxsLCAwOiBBbHdheXMgbGF6eS1sb2FkIGltYWdlcywgMCs6IFRoZSBtaW5pbXVtIG51bWJlciBvZiB0aGUgZmlsZXMgaW4gYSBkaXJlY3RvcnkKCS8vIHdoZW4gbGF6eSBsb2FkaW5nIHNob3VsZCBiZSB0dXJuZWQgb24uCgknbGF6eV9sb2FkaW5nX2ZpbGVfbnVtYmVyX3RocmVzaG9sZCcJPT4gMCwKCgoJLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkvL0ltYWdlcyBsaW1pdCBhbmQgcmVzaXppbmcgY29uZmlndXJhdGlvbgoJLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoJLy8gc2V0IG1heGltdW0gcGl4ZWwgd2lkdGggYW5kL29yIG1heGltdW0gcGl4ZWwgaGVpZ2h0IGZvciBhbGwgaW1hZ2VzCgkvLyBJZiB5b3Ugc2V0IGEgbWF4aW11bSB3aWR0aCBvciBoZWlnaHQsIG92ZXJzaXplZCBpbWFnZXMgYXJlIGNvbnZlcnRlZCB0byB0aG9zZSBsaW1pdHMuIEltYWdlcyBzbWFsbGVyIHRoYW4gdGhlIGxpbWl0KHMpIGFyZSB1bmFmZmVjdGVkCgkvLyBpZiB5b3UgZG9uJ3QgbmVlZCBhIGxpbWl0IHNldCBib3RoIHRvIDAKCSdpbWFnZV9tYXhfd2lkdGgnICAgICAgICAgICAgICAgICAgICAgICAgID0+IDAsCgknaW1hZ2VfbWF4X2hlaWdodCcgICAgICAgICAgICAgICAgICAgICAgICA9PiAwLAoJJ2ltYWdlX21heF9tb2RlJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJ2F1dG8nLAoJLyoKCSMgICRvcHRpb246ICAwIC8gZXhhY3QgPSBkZWZpbmVkIHNpemU7CgkjICAgICAgICAgICAgMSAvIHBvcnRyYWl0ID0ga2VlcCBhc3BlY3Qgc2V0IGhlaWdodDsKCSMgICAgICAgICAgICAyIC8gbGFuZHNjYXBlID0ga2VlcCBhc3BlY3Qgc2V0IHdpZHRoOwoJIyAgICAgICAgICAgIDMgLyBhdXRvID0gYXV0bzsKCSMgICAgICAgICAgICA0IC8gY3JvcD0gcmVzaXplIGFuZCBjcm9wOwoJKi8KCgkvL0F1dG9tYXRpYyByZXNpemluZyAvLwoJLy8gSWYgeW91IHNldCAkaW1hZ2VfcmVzaXppbmcgdG8gVFJVRSB0aGUgc2NyaXB0IGNvbnZlcnRzIGFsbCB1cGxvYWRlZCBpbWFnZXMgZXhhY3RseSB0byBpbWFnZV9yZXNpemluZ193aWR0aCB4IGltYWdlX3Jlc2l6aW5nX2hlaWdodCBkaW1lbnNpb24KCS8vIElmIHlvdSBzZXQgd2lkdGggb3IgaGVpZ2h0IHRvIDAgdGhlIHNjcmlwdCBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZXMgdGhlIG90aGVyIGRpbWVuc2lvbgoJLy8gSXMgcG9zc2libGUgdGhhdCBpZiB5b3UgdXBsb2FkIHZlcnkgYmlnIGltYWdlcyB0aGUgc2NyaXB0IG5vdCB3b3JrIHRvIG92ZXJjb21lIHRoaXMgaW5jcmVhc2UgdGhlIHBocCBjb25maWd1cmF0aW9uIG9mIG1lbW9yeSBhbmQgdGltZSBsaW1pdAoJJ2ltYWdlX3Jlc2l6aW5nJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gZmFsc2UsCgknaW1hZ2VfcmVzaXppbmdfd2lkdGgnICAgICAgICAgICAgICAgICAgICA9PiAwLAoJJ2ltYWdlX3Jlc2l6aW5nX2hlaWdodCcgICAgICAgICAgICAgICAgICAgPT4gMCwKCSdpbWFnZV9yZXNpemluZ19tb2RlJyAgICAgICAgICAgICAgICAgICAgID0+ICdhdXRvJywgLy8gc2FtZSBhcyAkaW1hZ2VfbWF4X21vZGUKCSdpbWFnZV9yZXNpemluZ19vdmVycmlkZScgICAgICAgICAgICAgICAgID0+IGZhbHNlLAoJLy8gSWYgc2V0IHRvIFRSVUUgdGhlbiB5b3UgY2FuIHNwZWNpZnkgYmlnZ2VyIGltYWdlcyB0aGFuICRpbWFnZV9tYXhfd2lkdGggJiBoZWlnaHQgb3RoZXJ3aXNlIGlmIGltYWdlX3Jlc2l6aW5nIGlzCgkvLyBiaWdnZXIgdGhhbiAkaW1hZ2VfbWF4X3dpZHRoIG9yIGhlaWdodCB0aGVuIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIHRob3NlIHZhbHVlcwoKCS8vKioqKioqKioqKioqKioqKioqCgkvLyBEZWZhdWx0IGxheW91dCBzZXR0aW5nCgkvLwoJLy8gMCA9PiBib3hlcwoJLy8gMSA9PiBkZXRhaWxlZCBsaXN0ICgxIGNvbHVtbikKCS8vIDIgPT4gY29sdW1ucyBsaXN0IChtdWx0aXBsZSBjb2x1bW5zIGRlcGVuZGluZyBvbiB0aGUgd2lkdGggb2YgdGhlIHBhZ2UpCgkvLyBZT1UgQ0FOIEFMU08gUEFTUyBUSElTIFBBUkFNRVRFUlMgVVNJTkcgU0VTU0lPTiBWQVIgPT4gJF9TRVNTSU9OWydSRiddWyJWSUVXIl09CgkvLwoJLy8qKioqKioqKioqKioqKioqKioKCSdkZWZhdWx0X3ZpZXcnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDAsCgoJLy9zZXQgaWYgdGhlIGZpbGVuYW1lIGlzIHRydW5jYXRlZCB3aGVuIG92ZXJmbG93IGZpcnN0IHJvdwoJJ2VsbGlwc2lzX3RpdGxlX2FmdGVyX2ZpcnN0X3JvdycgICAgICAgICAgPT4gdHJ1ZSwKCgkvLyoqKioqKioqKioqKioqKioqKioqKioqKioKCS8vUGVybWlzc2lvbnMgY29uZmlndXJhdGlvbgoJLy8qKioqKioqKioqKioqKioqKioKCSdkZWxldGVfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgknY3JlYXRlX2ZvbGRlcnMnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAoJJ2RlbGV0ZV9mb2xkZXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKCSd1cGxvYWRfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgkncmVuYW1lX2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAoJJ3JlbmFtZV9mb2xkZXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKCSdkdXBsaWNhdGVfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgknY29weV9jdXRfZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLCAvLyBmb3IgY29weS9jdXQgZmlsZXMKCSdjb3B5X2N1dF9kaXJzJyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsIC8vIGZvciBjb3B5L2N1dCBkaXJlY3RvcmllcwoJJ2NobW9kX2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gZmFsc2UsIC8vIGNoYW5nZSBmaWxlIHBlcm1pc3Npb25zCgknY2htb2RfZGlycycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwgLy8gY2hhbmdlIGZvbGRlciBwZXJtaXNzaW9ucwoJJ3ByZXZpZXdfdGV4dF9maWxlcycgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwgLy8gZWcuOiB0eHQsIGxvZyBldGMuCgknZWRpdF90ZXh0X2ZpbGVzJyAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLCAvLyBlZy46IHR4dCwgbG9nIGV0Yy4KCSdjcmVhdGVfdGV4dF9maWxlcycgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsIC8vIG9ubHkgY3JlYXRlIGZpbGVzIHdpdGggZXh0cy4gZGVmaW5lZCBpbiAkZWRpdGFibGVfdGV4dF9maWxlX2V4dHMKCgkvLyB5b3UgY2FuIHByZXZpZXcgdGhlc2UgdHlwZSBvZiBmaWxlcyBpZiAkcHJldmlld190ZXh0X2ZpbGVzIGlzIHRydWUKCSdwcmV2aWV3YWJsZV90ZXh0X2ZpbGVfZXh0cycgICAgICAgICAgICAgID0+IGFycmF5KCAndHh0JywgJ2xvZycsICd4bWwnLCAnaHRtbCcsICdjc3MnLCAnaHRtJywgJ2pzJyApLAoJJ3ByZXZpZXdhYmxlX3RleHRfZmlsZV9leHRzX25vX3ByZXR0aWZ5JyAgPT4gYXJyYXkoICd0eHQnLCAnbG9nJyApLAoKCS8vIHlvdSBjYW4gZWRpdCB0aGVzZSB0eXBlIG9mIGZpbGVzIGlmICRlZGl0X3RleHRfZmlsZXMgaXMgdHJ1ZSAob25seSB0ZXh0IGJhc2VkIGZpbGVzKQoJLy8geW91IGNhbiBjcmVhdGUgdGhlc2UgdHlwZSBvZiBmaWxlcyBpZiAkY3JlYXRlX3RleHRfZmlsZXMgaXMgdHJ1ZSAob25seSB0ZXh0IGJhc2VkIGZpbGVzKQoJLy8gaWYgeW91IHdhbnQgeW91IGNhbiBhZGQgaHRtbCxjc3MgZXRjLgoJLy8gYnV0IGZvciBzZWN1cml0eSByZWFzb25zIGl0J3MgTk9UIFJFQ09NTUVOREVEIQoJJ2VkaXRhYmxlX3RleHRfZmlsZV9leHRzJyAgICAgICAgICAgICAgICAgPT4gYXJyYXkoICd0eHQnLCAnbG9nJywgJ3htbCcsICdodG1sJywgJ2NzcycsICdodG0nLCAnanMnICksCgoJLy8gUHJldmlldyB3aXRoIEdvb2dsZSBEb2N1bWVudHMKCSdnb29nbGVkb2NfZW5hYmxlZCcgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgknZ29vZ2xlZG9jX2ZpbGVfZXh0cycgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSggJ2RvYycsICdkb2N4JywgJ3hscycsICd4bHN4JywgJ3BwdCcsICdwcHR4JyApLAoKCS8vIFByZXZpZXcgd2l0aCBWaWV3ZXIuanMKCSd2aWV3ZXJqc19lbmFibGVkJyAgICAgICAgICAgICAgICAgICAgICAgID0+IHRydWUsCgkndmlld2VyanNfZmlsZV9leHRzJyAgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSggJ3BkZicsICdvZHQnLCAnb2RwJywgJ29kcycgKSwKCgkvLyBkZWZpbmVzIHNpemUgbGltaXQgZm9yIHBhc3RlIGluIE1CIC8gb3BlcmF0aW9uCgkvLyBzZXQgJ0ZBTFNFJyBmb3Igbm8gbGltaXQKCSdjb3B5X2N1dF9tYXhfc2l6ZScgICAgICAgICAgICAgICAgICAgICAgID0+IDEwMCwKCS8vIGRlZmluZXMgZmlsZSBjb3VudCBsaW1pdCBmb3IgcGFzdGUgLyBvcGVyYXRpb24KCS8vIHNldCAnRkFMU0UnIGZvciBubyBsaW1pdAoJJ2NvcHlfY3V0X21heF9jb3VudCcgICAgICAgICAgICAgICAgICAgICAgPT4gMjAwLAoJLy9JRiBhbnkgb2YgdGhlc2UgbGltaXRzIHJlYWNoZWQsIG9wZXJhdGlvbiB3b24ndCBzdGFydCBhbmQgZ2VuZXJhdGUgd2FybmluZwoKCS8vKioqKioqKioqKioqKioqKioqKioqKgoJLy9BbGxvd2VkIGV4dGVuc2lvbnMgKGxvd2VyY2FzZSBpbnNlcnQpCgkvLyoqKioqKioqKioqKioqKioqKioqKioKCSdleHRfaW1nJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnanBnJywgJ2pwZWcnLCAncG5nJywgJ2dpZicsICdibXAnLCAndGlmZicsICdzdmcnICksIC8vSW1hZ2VzCgknZXh0X2ZpbGUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSggJ2RvYycsICdkb2N4JywgJ3J0ZicsICdwZGYnLCAneGxzJywgJ3hsc3gnLCAndHh0JywgJ2NzdicsICdodG1sJywgJ3hodG1sJywgJ3BzZCcsICdzcWwnLCAnbG9nJywgJ2ZsYScsICd4bWwnLCAnYWRlJywgJ2FkcCcsICdtZGInLCAnYWNjZGInLCAncHB0JywgJ3BwdHgnLCAnb2R0JywgJ290cycsICdvdHQnLCAnb2RiJywgJ29kZycsICdvdHAnLCAnb3RnJywgJ29kZicsICdvZHMnLCAnb2RwJywgJ2NzcycsICdhaScgKSwgLy9GaWxlcwoJJ2V4dF92aWRlbycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gYXJyYXkoICdtb3YnLCAnbXBlZycsICdtNHYnLCAnbXA0JywgJ2F2aScsICdtcGcnLCAnd21hJywgImZsdiIsICJ3ZWJtIiApLCAvL1ZpZGVvCgknZXh0X211c2ljJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiBhcnJheSggJ21wMycsICdtNGEnLCAnYWMzJywgJ2FpZmYnLCAnbWlkJywgJ29nZycsICd3YXYnICksIC8vQXVkaW8KCSdleHRfbWlzYycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnemlwJywgJ3JhcicsICdneicsICd0YXInLCAnaXNvJywgJ2RtZycgKSwgLy9BcmNoaXZlcwoKCS8qKioqKioqKioqKioqKioqKioKCSAqIEFWSUFSWSBjb25maWcKCSAqKioqKioqKioqKioqKioqKioqLwoJJ2F2aWFyeV9hY3RpdmUnICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gdHJ1ZSwKCSdhdmlhcnlfYXBpS2V5JyAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICIyNDQ0MjgyZWY0MzQ0ZTNkYWNkZWRjN2E3OGY4ODc3ZCIsCgknYXZpYXJ5X2xhbmd1YWdlJyAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiZW4iLAoJJ2F2aWFyeV90aGVtZScgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImxpZ2h0IiwKCSdhdmlhcnlfdG9vbHMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJhbGwiLAoJJ2F2aWFyeV9tYXhTaXplJyAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjE0MDAiLAoJLy8gQWRkIG9yIG1vZGlmeSB0aGUgQXZpYXJ5IG9wdGlvbnMgYmVsb3cgYXMgbmVlZGVkIC0gdGhleSB3aWxsIGJlIGpzb24gZW5jb2RlZCB3aGVuIGFkZGVkIHRvIHRoZSBjb25maWd1cmF0aW9uIHNvIGFycmF5cyBjYW4gYmUgdXRpbGl6ZWQgYXMgbmVlZGVkCgoJLy9UaGUgZmlsdGVyIGFuZCBzb3J0ZXIgYXJlIG1hbmFnZWQgdGhyb3VnaCBib3RoIGphdmFzY3JpcHQgYW5kIHBocCBzY3JpcHRzIGJlY2F1c2UgaWYgeW91IGhhdmUgYSBsb3Qgb2YKCS8vZmlsZSBpbiBhIGZvbGRlciB0aGUgamF2YXNjcmlwdCBzY3JpcHQgY2FuJ3Qgc29ydCBhbGwgb3IgZmlsdGVyIGFsbCwgc28gdGhlIGZpbGVtYW5hZ2VyIHN3aXRjaCB0byBwaHAgc2NyaXB0LgoJLy9UaGUgcGx1Z2luIGF1dG9tYXRpYyBzd2ljaCBqYXZhc2NyaXB0IHRvIHBocCB3aGVuIHRoZSBjdXJyZW50IGZvbGRlciBleGNlZWRzIHRoZSBiZWxvdyBsaW1pdCBvZiBmaWxlcyBudW1iZXIKCSdmaWxlX251bWJlcl9saW1pdF9qcycgICAgICAgICAgICAgICAgICAgID0+IDUwMCwKCgkvLyoqKioqKioqKioqKioqKioqKioqKioKCS8vIEhpZGRlbiBmaWxlcyBhbmQgZm9sZGVycwoJLy8qKioqKioqKioqKioqKioqKioqKioqCgkvLyBzZXQgdGhlIG5hbWVzIG9mIGFueSBmb2xkZXJzIHlvdSB3YW50IGhpZGRlbiAoZWcgImhpZGRlbl9mb2xkZXIxIiwgImhpZGRlbl9mb2xkZXIyIiApIFJlbWVtYmVyIGFsbCBmb2xkZXJzIHdpdGggdGhlc2UgbmFtZXMgd2lsbCBiZSBoaWRkZW4gKHlvdSBjYW4gc2V0IGFueSBleGNlcHRpb25zIGluIGNvbmZpZy5waHAgZmlsZXMgb24gZm9sZGVycykKCSdoaWRkZW5fZm9sZGVycycgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCksCgkvLyBzZXQgdGhlIG5hbWVzIG9mIGFueSBmaWxlcyB5b3Ugd2FudCBoaWRkZW4uIFJlbWVtYmVyIHRoZXNlIG5hbWVzIHdpbGwgYmUgaGlkZGVuIGluIGFsbCBmb2xkZXJzIChlZyAidGhpc19kb2N1bWVudC5wZGYiLCAidGhhdF9pbWFnZS5qcGciICkKCSdoaWRkZW5fZmlsZXMnICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KCAnY29uZmlnLnBocCcsICdpbmRleC5odG1sJyApLAoKCS8qKioqKioqKioqKioqKioqKioqCgkgKiBKQVZBIHVwbG9hZAoJICoqKioqKioqKioqKioqKioqKiovCgknamF2YV91cGxvYWQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB0cnVlLAoJJ0pBVkFNYXhTaXplVXBsb2FkJyAgICAgICAgICAgICAgICAgICAgICAgPT4gMjAwLCAvL0diCgoKCS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkvL1RodW1ibmFpbCBmb3IgZXh0ZXJuYWwgdXNlIGNyZWF0aW9uCgkvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCgkvLyBOZXcgaW1hZ2UgcmVzaXplZCBjcmVhdGlvbiB3aXRoIGZpeGVkIHBhdGggZnJvbSBmaWxlbWFuYWdlciBmb2xkZXIgYWZ0ZXIgdXBsb2FkaW5nICh0aHVtYm5haWxzIGluIGZpeGVkIG1vZGUpCgkvLyBJZiB5b3Ugd2FudCBjcmVhdGUgaW1hZ2VzIHJlc2l6ZWQgb3V0IG9mIHVwbG9hZCBmb2xkZXIgZm9yIHVzZSB3aXRoIGV4dGVybmFsIHNjcmlwdCB5b3UgY2FuIGNob29zZSB0aGlzIG1ldGhvZCwKCS8vIFlvdSBjYW4gY3JlYXRlIGFsc28gbW9yZSB0aGFuIG9uZSBpbWFnZSBhdCBhIHRpbWUganVzdCBzaW1wbHkgYWRkIGEgdmFsdWUgaW4gdGhlIGFycmF5CgkvLyBSZW1lbWJlciB0aGFuIHRoZSBpbWFnZSBjcmVhdGlvbiByZXNwZWN0IHRoZSBmb2xkZXIgaGllcmFyY2h5IHNvIGlmIHlvdSBhcmUgaW5zaWRlIHNvdXJjZS90ZXN0L3Rlc3QxLyB0aGUgbmV3IGltYWdlIHdpbGwgY3JlYXRlIGF0CgkvLyBwYXRoX2Zyb21fZmlsZW1hbmFnZXIvdGVzdC90ZXN0MS8KCS8vIFBTIGlmIHRoZXJlIGlzbid0IHdyaXRlIHBlcm1pc3Npb24gaW4geW91ciBkZXN0aW5hdGlvbiBmb2xkZXIgeW91IG11c3Qgc2V0IGl0CgkvLwoJJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uJyAgICAgICAgICAgICAgICAgICAgPT4gZmFsc2UsIC8vYWN0aXZhdGUgb3Igbm90IHRoZSBjcmVhdGlvbiBvZiBvbmUgb3IgbW9yZSBpbWFnZSByZXNpemVkIHdpdGggZml4ZWQgcGF0aCBmcm9tIGZpbGVtYW5hZ2VyIGZvbGRlcgoJJ2ZpeGVkX3BhdGhfZnJvbV9maWxlbWFuYWdlcicgICAgICAgICAgICAgPT4gYXJyYXkoICcuLi90ZXN0LycsICcuLi90ZXN0MS8nICksIC8vZml4ZWQgcGF0aCBvZiB0aGUgaW1hZ2UgZm9sZGVyIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24gb24gdXBsb2FkIGZvbGRlcgoJJ2ZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZCcgICAgPT4gYXJyYXkoICcnLCAndGVzdF8nICksIC8vbmFtZSB0byBwcmVwZW5kIG9uIGZpbGVuYW1lCgknZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kJyAgICAgICAgICA9PiBhcnJheSggJ190ZXN0JywgJycgKSwgLy9uYW1lIHRvIGFwcGVuZG9uIGZpbGVuYW1lCgknZml4ZWRfaW1hZ2VfY3JlYXRpb25fd2lkdGgnICAgICAgICAgICAgICA9PiBhcnJheSggMzAwLCA0MDAgKSwgLy93aWR0aCBvZiBpbWFnZSAoeW91IGNhbiBsZWF2ZSBlbXB0eSBpZiB5b3Ugc2V0IGhlaWdodCkKCSdmaXhlZF9pbWFnZV9jcmVhdGlvbl9oZWlnaHQnICAgICAgICAgICAgID0+IGFycmF5KCAyMDAsICcnICksIC8vaGVpZ2h0IG9mIGltYWdlICh5b3UgY2FuIGxlYXZlIGVtcHR5IGlmIHlvdSBzZXQgd2lkdGgpCgkvKgoJIyAgICAgICAgICAgICAkb3B0aW9uOiAgICAgMCAvIGV4YWN0ID0gZGVmaW5lZCBzaXplOwoJIyAgICAgICAgICAgICAgICAgICAgICAgICAgMSAvIHBvcnRyYWl0ID0ga2VlcCBhc3BlY3Qgc2V0IGhlaWdodDsKCSMgICAgICAgICAgICAgICAgICAgICAgICAgIDIgLyBsYW5kc2NhcGUgPSBrZWVwIGFzcGVjdCBzZXQgd2lkdGg7CgkjICAgICAgICAgICAgICAgICAgICAgICAgICAzIC8gYXV0byA9IGF1dG87CgkjICAgICAgICAgICAgICAgICAgICAgICAgICA0IC8gY3JvcD0gcmVzaXplIGFuZCBjcm9wOwoJICovCgknZml4ZWRfaW1hZ2VfY3JlYXRpb25fb3B0aW9uJyAgICAgICAgICAgICA9PiBhcnJheSggJ2Nyb3AnLCAnYXV0bycgKSwgLy9zZXQgdGhlIHR5cGUgb2YgdGhlIGNyb3AKCgoJLy8gTmV3IGltYWdlIHJlc2l6ZWQgY3JlYXRpb24gd2l0aCByZWxhdGl2ZSBwYXRoIGluc2lkZSB0byB1cGxvYWQgZm9sZGVyIGFmdGVyIHVwbG9hZGluZyAodGh1bWJuYWlscyBpbiByZWxhdGl2ZSBtb2RlKQoJLy8gV2l0aCBSZXNwb25zaXZlIGZpbGVtYW5hZ2VyIHlvdSBjYW4gY3JlYXRlIGF1dG9tYXRpY2FsbHkgcmVzaXplZCBpbWFnZSBpbnNpZGUgdGhlIHVwbG9hZCBmb2xkZXIsIGFsc28gbW9yZSB0aGFuIG9uZSBhdCBhIHRpbWUKCS8vIGp1c3Qgc2ltcGx5IGFkZCBhIHZhbHVlIGluIHRoZSBhcnJheQoJLy8gVGhlIGltYWdlIGNyZWF0aW9uIHBhdGggaXMgYWx3YXlzIHJlbGF0aXZlIHNvIGlmIGknbSBpbnNpZGUgc291cmNlL3Rlc3QvdGVzdDEgYW5kIEkgdXBsb2FkIGFuIGltYWdlLCB0aGUgcGF0aCBzdGFydCBmcm9tIGhlcmUKCS8vCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb24nICAgICAgICAgICAgICAgICA9PiBmYWxzZSwgLy9hY3RpdmF0ZSBvciBub3QgdGhlIGNyZWF0aW9uIG9mIG9uZSBvciBtb3JlIGltYWdlIHJlc2l6ZWQgd2l0aCByZWxhdGl2ZSBwYXRoIGZyb20gdXBsb2FkIGZvbGRlcgoJJ3JlbGF0aXZlX3BhdGhfZnJvbV9jdXJyZW50X3BvcycgICAgICAgICAgPT4gYXJyYXkoICcuLycsICcuLycgKSwgLy9yZWxhdGl2ZSBwYXRoIG9mIHRoZSBpbWFnZSBmb2xkZXIgZnJvbSB0aGUgY3VycmVudCBwb3NpdGlvbiBvbiB1cGxvYWQgZm9sZGVyCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kJyA9PiBhcnJheSggJycsICcnICksIC8vbmFtZSB0byBwcmVwZW5kIG9uIGZpbGVuYW1lCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19hcHBlbmQnICA9PiBhcnJheSggJ190aHVtYicsICdfdGh1bWIxJyApLCAvL25hbWUgdG8gYXBwZW5kIG9uIGZpbGVuYW1lCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fd2lkdGgnICAgICAgICAgICA9PiBhcnJheSggMzAwLCA0MDAgKSwgLy93aWR0aCBvZiBpbWFnZSAoeW91IGNhbiBsZWF2ZSBlbXB0eSBpZiB5b3Ugc2V0IGhlaWdodCkKCSdyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9oZWlnaHQnICAgICAgICAgID0+IGFycmF5KCAyMDAsICcnICksIC8vaGVpZ2h0IG9mIGltYWdlICh5b3UgY2FuIGxlYXZlIGVtcHR5IGlmIHlvdSBzZXQgd2lkdGgpCgkvKgoJIyAgICAgICAgICAgICAkb3B0aW9uOiAgICAgMCAvIGV4YWN0ID0gZGVmaW5lZCBzaXplOwoJIyAgICAgICAgICAgICAgICAgICAgICAgICAgMSAvIHBvcnRyYWl0ID0ga2VlcCBhc3BlY3Qgc2V0IGhlaWdodDsKCSMgICAgICAgICAgICAgICAgICAgICAgICAgIDIgLyBsYW5kc2NhcGUgPSBrZWVwIGFzcGVjdCBzZXQgd2lkdGg7CgkjICAgICAgICAgICAgICAgICAgICAgICAgICAzIC8gYXV0byA9IGF1dG87CgkjICAgICAgICAgICAgICAgICAgICAgICAgICA0IC8gY3JvcD0gcmVzaXplIGFuZCBjcm9wOwoJICovCgkncmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fb3B0aW9uJyAgICAgICAgICA9PiBhcnJheSggJ2Nyb3AnLCAnY3JvcCcgKSwgLy9zZXQgdGhlIHR5cGUgb2YgdGhlIGNyb3AKCgoJLy8gUmVtZW1iZXIgdGV4dCBmaWx0ZXIgYWZ0ZXIgY2xvc2UgZmlsZW1hbmFnZXIgZm9yIGZ1dHVyZSBzZXNzaW9uCgkncmVtZW1iZXJfdGV4dF9maWx0ZXInICAgICAgICAgICAgICAgICAgICA9PiBmYWxzZSwKCik7CgoKCgoKCi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgovLyBDTVNNUyBTcGVjaWZpYyA6IGluY2x1ZGUgdGhlIGxpYnMsIGFuZCB0aGVuIHNlZSBpZiB0aGUgY3VycmVudCB1c2VycyBwcm9maWxlIGNhbiB1c2UgdGhlIGZpbGUgbWFuYWdlcgokRE9OVF9MT0FEX1NNQVJUWSA9IHRydWU7CiRDTVNfQURNSU5fUEFHRT0xOwoKLy8gUmVxdWlyZSB3b250IHdvcmsgaW4gamF2YSB1cGxvYWQgZGlhbG9nIGJlY2F1c2UgaXQgaXMgY2FsbGVkIGZyb20gYSBzdWJkaXJlY3RvcnkKaWYgKGJhc2VuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSkgIT0gJ2luZGV4LnBocCcpIC8vIGluZGV4LnBocCA9IHVwbG9hZGVyL2luZGV4LnBocAoJcmVxdWlyZV9vbmNlKCcuLi8uLi8uLi8uLi9saWIvaW5jbHVkZS5waHAnKTsKZWxzZQpyZXF1aXJlX29uY2UoJy4uLy4uLy4uLy4uLy4uL2xpYi9pbmNsdWRlLnBocCcpOwoKaWYoIGlzc2V0KCRfU0VTU0lPTltDTVNfVVNFUl9LRVldKSAmJiAhaXNzZXQoJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXSkgKSB7CiAgJF9HRVRbQ01TX1NFQ1VSRV9QQVJBTV9OQU1FXSA9ICRfU0VTU0lPTltDTVNfVVNFUl9LRVldOwp9CgovLyBUcnVlID0gbm8gcmVkaXJlY3QKaWYgKCFjaGVja19sb2dpbih0cnVlKSkKCWRpZSgpOwoKJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVGlueU1DRScpOwokcHJvZmlsZSA9IHRpbnltY2VfdXRpbHM6OmdldF9iZXN0X3Byb2ZpbGUoKTsKJGNhbl91c2VfZmlsZW1hbmFnZXIgPSB0aW55bWNlX3V0aWxzOjpjYW5fdXNlcl91c2VfZmlsZW1hbmFnZXIoJHByb2ZpbGUpOwoKCmlmICghJGNhbl91c2VfZmlsZW1hbmFnZXIpCglkaWUoJ0FjY2VzcyBEZW5pZWQhJyk7CmVsc2UKewoJLy8gTG9hZCB0aGUgY29uZmlnCgkkZmlsZW1hbmFnZXJfY29uZmlnID0gJHByb2ZpbGUtPmdldF9maWxlbWFuYWdlcl9jb25maWcoJGZpbGVtYW5hZ2VyX2NvbmZpZyk7Cn0KLy8gRU5EIENNU01TIFNQRUNJRklDIENPREUKLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKCgoKcmV0dXJuIGFycmF5X21lcmdlKAoJJGZpbGVtYW5hZ2VyX2NvbmZpZywKCWFycmF5KAoJCSdNYXhTaXplVXBsb2FkJyA9PiAoKGludCkoaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpKSA8ICRmaWxlbWFuYWdlcl9jb25maWdbJ01heFNpemVVcGxvYWQnXSkKCQkJPyAoaW50KShpbmlfZ2V0KCdwb3N0X21heF9zaXplJykpIDogJGZpbGVtYW5hZ2VyX2NvbmZpZ1snTWF4U2l6ZVVwbG9hZCddLAoJCSdleHQnPT4gYXJyYXlfbWVyZ2UoCgkJCSRmaWxlbWFuYWdlcl9jb25maWdbJ2V4dF9pbWcnXSwKCQkJJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X2ZpbGUnXSwKCQkJJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X21pc2MnXSwKCQkJJGZpbGVtYW5hZ2VyX2NvbmZpZ1snZXh0X3ZpZGVvJ10sCgkJCSRmaWxlbWFuYWdlcl9jb25maWdbJ2V4dF9tdXNpYyddCgkJKSwKCQkvLyBGb3IgYSBsaXN0IG9mIG9wdGlvbnMgc2VlOiBodHRwczovL2RldmVsb3BlcnMuYXZpYXJ5LmNvbS9kb2NzL3dlYi9zZXR1cC1ndWlkZSNjb25zdHJ1Y3Rvci1jb25maWcKCQknYXZpYXJ5X2RlZmF1bHRzX2NvbmZpZycgPT4gYXJyYXkoCgkJCSdhcGlLZXknICAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydhdmlhcnlfYXBpS2V5J10sCgkJCSdsYW5ndWFnZScgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydhdmlhcnlfbGFuZ3VhZ2UnXSwKCQkJJ3RoZW1lJyAgICAgID0+ICRmaWxlbWFuYWdlcl9jb25maWdbJ2F2aWFyeV90aGVtZSddLAoJCQkndG9vbHMnICAgICAgPT4gJGZpbGVtYW5hZ2VyX2NvbmZpZ1snYXZpYXJ5X3Rvb2xzJ10sCgkJCSdtYXhTaXplJyAgICA9PiAkZmlsZW1hbmFnZXJfY29uZmlnWydhdmlhcnlfbWF4U2l6ZSddCgkJKQoJKQopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/config/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/css/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIEJvb3RzdHJhcCB2Mi4zLjEKICoKICogQ29weXJpZ2h0IDIwMTIgVHdpdHRlciwgSW5jCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSB2Mi4wCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBEZXNpZ25lZCBhbmQgYnVpbHQgd2l0aCBhbGwgdGhlIGxvdmUgaW4gdGhlIHdvcmxkIEB0d2l0dGVyIGJ5IEBtZG8gYW5kIEBmYXQuCiAqL2FydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxuYXYsc2VjdGlvbntkaXNwbGF5OmJsb2NrfWF1ZGlvLGNhbnZhcyx2aWRlb3tkaXNwbGF5OmlubGluZS1ibG9ja31hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lfWh0bWx7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1hOmZvY3Vze291dGxpbmU6IzMzMyBkb3R0ZWQgdGhpbjtvdXRsaW5lOi13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvO291dGxpbmUtb2Zmc2V0Oi0ycHh9YTphY3RpdmUsYTpob3ZlcntvdXRsaW5lOjB9c3ViLHN1cHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vwe3RvcDotLjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1pbWd7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlcjowOy1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6YmljdWJpY30jbWFwX2NhbnZhcyBpbWcsLmdvb2dsZS1tYXBzIGltZ3ttYXgtd2lkdGg6bm9uZX1idXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhe21hcmdpbjowO2ZvbnQtc2l6ZToxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfWJ1dHRvbixodG1sIGlucHV0W3R5cGU9YnV0dG9uXSxpbnB1dFt0eXBlPXJlc2V0XSxpbnB1dFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtjdXJzb3I6cG9pbnRlcn1idXR0b24saW5wdXRbdHlwZT1idXR0b25dLGlucHV0W3R5cGU9Y2hlY2tib3hdLGlucHV0W3R5cGU9cmFkaW9dLGlucHV0W3R5cGU9cmVzZXRdLGlucHV0W3R5cGU9c3VibWl0XSxsYWJlbCxzZWxlY3R7Y3Vyc29yOnBvaW50ZXJ9aW5wdXRbdHlwZT1zZWFyY2hde2JveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZH1pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24saW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfXRleHRhcmVhe292ZXJmbG93OmF1dG99QG1lZGlhIHByaW50eyp7dGV4dC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7YmFja2dyb3VuZDowIDAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9YSxhOnZpc2l0ZWR7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hW2hyZWZdOmFmdGVye2NvbnRlbnQ6IiAoIiBhdHRyKGhyZWYpICIpIn1hYmJyW3RpdGxlXTphZnRlcntjb250ZW50OiIgKCIgYXR0cih0aXRsZSkgIikifS5pciBhOmFmdGVyLGFbaHJlZl49IiMiXTphZnRlcixhW2hyZWZePSJqYXZhc2NyaXB0OiJdOmFmdGVye2NvbnRlbnQ6IiJ9YmxvY2txdW90ZSxwcmV7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfXRoZWFke2Rpc3BsYXk6dGFibGUtaGVhZGVyLWdyb3VwfWltZyx0cntwYWdlLWJyZWFrLWluc2lkZTphdm9pZH1pbWd7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50fUBwYWdle21hcmdpbjouNWNtfWgyLGgzLHB7b3JwaGFuczozO3dpZG93czozfWgyLGgze3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWR9fWJvZHl7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2ZmZn1hOmZvY3VzLGE6aG92ZXJ7Y29sb3I6IzAwNTU4MDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pbWctcm91bmRlZHtib3JkZXItcmFkaXVzOjZweH0uaW1nLXBvbGFyb2lke3BhZGRpbmc6NHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKX0uaW1nLWNpcmNsZXtib3JkZXItcmFkaXVzOjUwMHB4fS5yb3d7bWFyZ2luLWxlZnQ6LTIwcHh9LnJvdzphZnRlciwucm93OmJlZm9yZXtkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6IiI7bGluZS1oZWlnaHQ6MH0ucm93OmFmdGVye2NsZWFyOmJvdGh9W2NsYXNzKj1zcGFuXXtmbG9hdDpsZWZ0O21pbi1oZWlnaHQ6MXB4O21hcmdpbi1sZWZ0OjIwcHh9LmNvbnRhaW5lciwubmF2YmFyLWZpeGVkLWJvdHRvbSAuY29udGFpbmVyLC5uYXZiYXItZml4ZWQtdG9wIC5jb250YWluZXIsLm5hdmJhci1zdGF0aWMtdG9wIC5jb250YWluZXIsLnNwYW4xMnt3aWR0aDo5NDBweH0uc3BhbjExe3dpZHRoOjg2MHB4fS5zcGFuMTB7d2lkdGg6NzgwcHh9LnNwYW45e3dpZHRoOjcwMHB4fS5zcGFuOHt3aWR0aDo2MjBweH0uc3Bhbjd7d2lkdGg6NTQwcHh9LnNwYW42e3dpZHRoOjQ2MHB4fS5zcGFuNXt3aWR0aDozODBweH0uc3BhbjR7d2lkdGg6MzAwcHh9LnNwYW4ze3dpZHRoOjIyMHB4fS5zcGFuMnt3aWR0aDoxNDBweH0uc3BhbjF7d2lkdGg6NjBweH0ub2Zmc2V0MTJ7bWFyZ2luLWxlZnQ6OTgwcHh9Lm9mZnNldDExe21hcmdpbi1sZWZ0OjkwMHB4fS5vZmZzZXQxMHttYXJnaW4tbGVmdDo4MjBweH0ub2Zmc2V0OXttYXJnaW4tbGVmdDo3NDBweH0ub2Zmc2V0OHttYXJnaW4tbGVmdDo2NjBweH0ub2Zmc2V0N3ttYXJnaW4tbGVmdDo1ODBweH0ub2Zmc2V0NnttYXJnaW4tbGVmdDo1MDBweH0ub2Zmc2V0NXttYXJnaW4tbGVmdDo0MjBweH0ub2Zmc2V0NHttYXJnaW4tbGVmdDozNDBweH0ub2Zmc2V0M3ttYXJnaW4tbGVmdDoyNjBweH0ub2Zmc2V0MnttYXJnaW4tbGVmdDoxODBweH0ub2Zmc2V0MXttYXJnaW4tbGVmdDoxMDBweH0ucm93LWZsdWlke3dpZHRoOjEwMCV9LnJvdy1mbHVpZDphZnRlciwucm93LWZsdWlkOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6IiI7bGluZS1oZWlnaHQ6MH0ucm93LWZsdWlkOmFmdGVye2NsZWFyOmJvdGh9LnJvdy1mbHVpZCBbY2xhc3MqPXNwYW5de2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjMwcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6Mi4xMjc2NTk1NyV9LnJvdy1mbHVpZCBbY2xhc3MqPXNwYW5dOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LnJvdy1mbHVpZCAuY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0rW2NsYXNzKj1zcGFuXXttYXJnaW4tbGVmdDoyLjEyNzY1OTU3JX0ucm93LWZsdWlkIC5zcGFuMTJ7d2lkdGg6MTAwJX0ucm93LWZsdWlkIC5zcGFuMTF7d2lkdGg6OTEuNDg5MzYxNyV9LnJvdy1mbHVpZCAuc3BhbjEwe3dpZHRoOjgyLjk3ODcyMzQlfS5yb3ctZmx1aWQgLnNwYW45e3dpZHRoOjc0LjQ2ODA4NTExJX0ucm93LWZsdWlkIC5zcGFuOHt3aWR0aDo2NS45NTc0NDY4MSV9LnJvdy1mbHVpZCAuc3Bhbjd7d2lkdGg6NTcuNDQ2ODA4NTElfS5yb3ctZmx1aWQgLnNwYW42e3dpZHRoOjQ4LjkzNjE3MDIxJX0ucm93LWZsdWlkIC5zcGFuNXt3aWR0aDo0MC40MjU1MzE5MSV9LnJvdy1mbHVpZCAuc3BhbjR7d2lkdGg6MzEuOTE0ODkzNjIlfS5yb3ctZmx1aWQgLnNwYW4ze3dpZHRoOjIzLjQwNDI1NTMyJX0ucm93LWZsdWlkIC5zcGFuMnt3aWR0aDoxNC44OTM2MTcwMiV9LnJvdy1mbHVpZCAuc3BhbjF7d2lkdGg6Ni4zODI5Nzg3MiV9LnJvdy1mbHVpZCAub2Zmc2V0MTJ7bWFyZ2luLWxlZnQ6MTA0LjI1NTMxOTE1JX0ucm93LWZsdWlkIC5vZmZzZXQxMjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDoxMDIuMTI3NjU5NTclfS5yb3ctZmx1aWQgLm9mZnNldDExe21hcmdpbi1sZWZ0Ojk1Ljc0NDY4MDg1JX0ucm93LWZsdWlkIC5vZmZzZXQxMTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo5My42MTcwMjEyOCV9LnJvdy1mbHVpZCAub2Zmc2V0MTB7bWFyZ2luLWxlZnQ6ODcuMjM0MDQyNTUlfS5yb3ctZmx1aWQgLm9mZnNldDEwOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0Ojg1LjEwNjM4Mjk4JX0ucm93LWZsdWlkIC5vZmZzZXQ5e21hcmdpbi1sZWZ0Ojc4LjcyMzQwNDI2JX0ucm93LWZsdWlkIC5vZmZzZXQ5OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0Ojc2LjU5NTc0NDY4JX0ucm93LWZsdWlkIC5vZmZzZXQ4e21hcmdpbi1sZWZ0OjcwLjIxMjc2NTk2JX0ucm93LWZsdWlkIC5vZmZzZXQ4OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjY4LjA4NTEwNjM4JX0ucm93LWZsdWlkIC5vZmZzZXQ3e21hcmdpbi1sZWZ0OjYxLjcwMjEyNzY2JX0ucm93LWZsdWlkIC5vZmZzZXQ3OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjU5LjU3NDQ2ODA5JX0ucm93LWZsdWlkIC5vZmZzZXQ2e21hcmdpbi1sZWZ0OjUzLjE5MTQ4OTM2JX0ucm93LWZsdWlkIC5vZmZzZXQ2OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjUxLjA2MzgyOTc5JX0ucm93LWZsdWlkIC5vZmZzZXQ1e21hcmdpbi1sZWZ0OjQ0LjY4MDg1MTA2JX0ucm93LWZsdWlkIC5vZmZzZXQ1OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjQyLjU1MzE5MTQ5JX0ucm93LWZsdWlkIC5vZmZzZXQ0e21hcmdpbi1sZWZ0OjM2LjE3MDIxMjc3JX0ucm93LWZsdWlkIC5vZmZzZXQ0OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjM0LjA0MjU1MzE5JX0ucm93LWZsdWlkIC5vZmZzZXQze21hcmdpbi1sZWZ0OjI3LjY1OTU3NDQ3JX0ucm93LWZsdWlkIC5vZmZzZXQzOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjI1LjUzMTkxNDg5JX0ucm93LWZsdWlkIC5vZmZzZXQye21hcmdpbi1sZWZ0OjE5LjE0ODkzNjE3JX0ucm93LWZsdWlkIC5vZmZzZXQyOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjE3LjAyMTI3NjYlfS5yb3ctZmx1aWQgLm9mZnNldDF7bWFyZ2luLWxlZnQ6MTAuNjM4Mjk3ODclfS5yb3ctZmx1aWQgLm9mZnNldDE6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6OC41MTA2MzgzJX0ucm93LWZsdWlkIFtjbGFzcyo9c3Bhbl0uaGlkZSxbY2xhc3MqPXNwYW5dLmhpZGV7ZGlzcGxheTpub25lfS5yb3ctZmx1aWQgW2NsYXNzKj1zcGFuXS5wdWxsLXJpZ2h0LFtjbGFzcyo9c3Bhbl0ucHVsbC1yaWdodHtmbG9hdDpyaWdodH0uY29udGFpbmVye21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99LmNvbnRhaW5lcjphZnRlciwuY29udGFpbmVyOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6IiI7bGluZS1oZWlnaHQ6MH0uY29udGFpbmVyOmFmdGVye2NsZWFyOmJvdGh9LmNvbnRhaW5lci1mbHVpZDphZnRlciwuY29udGFpbmVyLWZsdWlkOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6IiI7bGluZS1oZWlnaHQ6MH0uY29udGFpbmVyLWZsdWlkOmFmdGVye2NsZWFyOmJvdGh9cHttYXJnaW46MCAwIDEwcHh9LmxlYWR7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc2l6ZToyMXB4O2ZvbnQtd2VpZ2h0OjIwMDtsaW5lLWhlaWdodDozMHB4fXNtYWxse2ZvbnQtc2l6ZTo4NSV9c3Ryb25ne2ZvbnQtd2VpZ2h0OjcwMH1lbXtmb250LXN0eWxlOml0YWxpY31jaXRle2ZvbnQtc3R5bGU6bm9ybWFsfS5tdXRlZHtjb2xvcjojOTk5fWEubXV0ZWQ6Zm9jdXMsYS5tdXRlZDpob3Zlcntjb2xvcjpncmV5fS50ZXh0LXdhcm5pbmd7Y29sb3I6I2MwOTg1M31hLnRleHQtd2FybmluZzpmb2N1cyxhLnRleHQtd2FybmluZzpob3Zlcntjb2xvcjojYTQ3ZTNjfS50ZXh0LWVycm9ye2NvbG9yOiNiOTRhNDh9YS50ZXh0LWVycm9yOmZvY3VzLGEudGV4dC1lcnJvcjpob3Zlcntjb2xvcjojOTUzYjM5fS50ZXh0LWluZm97Y29sb3I6IzNhODdhZH1hLnRleHQtaW5mbzpmb2N1cyxhLnRleHQtaW5mbzpob3Zlcntjb2xvcjojMmQ2OTg3fS50ZXh0LXN1Y2Nlc3N7Y29sb3I6IzQ2ODg0N31hLnRleHQtc3VjY2Vzczpmb2N1cyxhLnRleHQtc3VjY2Vzczpob3Zlcntjb2xvcjojMzU2NjM1fS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9aDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luOjEwcHggMDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVsZWdpYmlsaXR5fWgxIHNtYWxsLGgyIHNtYWxsLGgzIHNtYWxsLGg0IHNtYWxsLGg1IHNtYWxsLGg2IHNtYWxse2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiM5OTl9aDEsaDIsaDN7bGluZS1oZWlnaHQ6NDBweH1oMXtmb250LXNpemU6MzguNXB4fWgye2ZvbnQtc2l6ZTozMS41cHh9aDV7Zm9udC1zaXplOjE0cHh9aDZ7Zm9udC1zaXplOjExLjlweH1oMSBzbWFsbHtmb250LXNpemU6MjQuNXB4fWgyIHNtYWxse2ZvbnQtc2l6ZToxNy41cHh9aDMgc21hbGwsaDQgc21hbGx7Zm9udC1zaXplOjE0cHh9LnBhZ2UtaGVhZGVye3BhZGRpbmctYm90dG9tOjlweDttYXJnaW46MjBweCAwIDMwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZX1vbCx1bHtwYWRkaW5nOjA7bWFyZ2luOjAgMCAxMHB4IDI1cHh9b2wgb2wsb2wgdWwsdWwgb2wsdWwgdWx7bWFyZ2luLWJvdHRvbTowfWxpe2xpbmUtaGVpZ2h0OjIwcHh9b2wuaW5saW5lLG9sLnVuc3R5bGVkLHVsLmlubGluZSx1bC51bnN0eWxlZHttYXJnaW4tbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX1vbC5pbmxpbmU+bGksdWwuaW5saW5lPmxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDo1cHh9ZGx7bWFyZ2luLWJvdHRvbToyMHB4fWRkLGR0e2xpbmUtaGVpZ2h0OjIwcHh9ZHR7Zm9udC13ZWlnaHQ6NzAwfWRke21hcmdpbi1sZWZ0OjEwcHh9LmRsLWhvcml6b250YWw6YWZ0ZXIsLmRsLWhvcml6b250YWw6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiIjtsaW5lLWhlaWdodDowfS5kbC1ob3Jpem9udGFsOmFmdGVye2NsZWFyOmJvdGh9LmRsLWhvcml6b250YWwgZHR7ZmxvYXQ6bGVmdDt3aWR0aDoxNjBweDtjbGVhcjpsZWZ0O3RleHQtYWxpZ246cmlnaHQ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5kbC1ob3Jpem9udGFsIGRke21hcmdpbi1sZWZ0OjE4MHB4fWhye21hcmdpbjoyMHB4IDA7Ym9yZGVyOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgI2VlZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmfWFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0sYWJiclt0aXRsZV17Y3Vyc29yOmhlbHA7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkICM5OTl9YWJici5pbml0aWFsaXNte2ZvbnQtc2l6ZTo5MCU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWJsb2NrcXVvdGV7cGFkZGluZzowIDAgMCAxNXB4O21hcmdpbjowIDAgMjBweDtib3JkZXItbGVmdDo1cHggc29saWQgI2VlZX1ibG9ja3F1b3RlIHB7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxNy41cHg7Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMjV9YmxvY2txdW90ZSBzbWFsbHtkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6Izk5OX1ibG9ja3F1b3RlIHNtYWxsOmJlZm9yZXtjb250ZW50OidcMjAxNCBcMDBBMCd9YmxvY2txdW90ZS5wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0O3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkICNlZWU7Ym9yZGVyLWxlZnQ6MH1ibG9ja3F1b3RlLnB1bGwtcmlnaHQgcCxibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGx7dGV4dC1hbGlnbjpyaWdodH1ibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YmVmb3Jle2NvbnRlbnQ6Jyd9YmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmFmdGVye2NvbnRlbnQ6J1wwMEEwIFwyMDE0J31ibG9ja3F1b3RlOmFmdGVyLGJsb2NrcXVvdGU6YmVmb3JlLHE6YWZ0ZXIscTpiZWZvcmV7Y29udGVudDoiIn1hZGRyZXNze2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2xpbmUtaGVpZ2h0OjIwcHh9Y29kZSxwcmV7cGFkZGluZzowIDNweCAycHg7Zm9udC1mYW1pbHk6TW9uYWNvLE1lbmxvLENvbnNvbGFzLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiMzMzM7Ym9yZGVyLXJhZGl1czozcHh9Y29kZXtwYWRkaW5nOjJweCA0cHg7Y29sb3I6I2QxNDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjk7Ym9yZGVyOjFweCBzb2xpZCAjZTFlMWU4O3doaXRlLXNwYWNlOm5vd3JhcH1wcmV7ZGlzcGxheTpibG9jaztwYWRkaW5nOjkuNXB4O21hcmdpbjowIDAgMTBweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoyMHB4O3dvcmQtYnJlYWs6YnJlYWstYWxsO3dvcmQtd3JhcDpicmVhay13b3JkO3doaXRlLXNwYWNlOnByZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTUpO2JvcmRlci1yYWRpdXM6NHB4fXByZSBjb2Rle3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3doaXRlLXNwYWNlOnByZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5wcmUtc2Nyb2xsYWJsZXttYXgtaGVpZ2h0OjM0MHB4O292ZXJmbG93LXk6c2Nyb2xsfWZpZWxkc2V0e3BhZGRpbmc6MDttYXJnaW46MDtib3JkZXI6MH1sZWdlbmR7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDttYXJnaW4tYm90dG9tOjIwcHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6NDBweDtjb2xvcjojMzMzO2JvcmRlcjowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNWU1ZTV9bGVnZW5kIHNtYWxse2ZvbnQtc2l6ZToxNXB4O2NvbG9yOiM5OTl9YnV0dG9uLGlucHV0LGxhYmVsLHNlbGVjdCx0ZXh0YXJlYXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweH1idXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhe2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWZ9bGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjVweH0udW5lZGl0YWJsZS1pbnB1dCxpbnB1dFt0eXBlPWNvbG9yXSxpbnB1dFt0eXBlPWRhdGVdLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLGlucHV0W3R5cGU9ZGF0ZXRpbWVdLGlucHV0W3R5cGU9ZW1haWxdLGlucHV0W3R5cGU9bW9udGhdLGlucHV0W3R5cGU9bnVtYmVyXSxpbnB1dFt0eXBlPXBhc3N3b3JkXSxpbnB1dFt0eXBlPXNlYXJjaF0saW5wdXRbdHlwZT10ZWxdLGlucHV0W3R5cGU9dGV4dF0saW5wdXRbdHlwZT10aW1lXSxpbnB1dFt0eXBlPXVybF0saW5wdXRbdHlwZT13ZWVrXSxzZWxlY3QsdGV4dGFyZWF7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjIwcHg7cGFkZGluZzo0cHggNnB4O21hcmdpbi1ib3R0b206MTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiM1NTU7Ym9yZGVyLXJhZGl1czo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS51bmVkaXRhYmxlLWlucHV0LGlucHV0LHRleHRhcmVhe3dpZHRoOjIwNnB4fXRleHRhcmVhe2hlaWdodDphdXRvfS51bmVkaXRhYmxlLWlucHV0LGlucHV0W3R5cGU9Y29sb3JdLGlucHV0W3R5cGU9ZGF0ZV0saW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0saW5wdXRbdHlwZT1kYXRldGltZV0saW5wdXRbdHlwZT1lbWFpbF0saW5wdXRbdHlwZT1tb250aF0saW5wdXRbdHlwZT1udW1iZXJdLGlucHV0W3R5cGU9cGFzc3dvcmRdLGlucHV0W3R5cGU9c2VhcmNoXSxpbnB1dFt0eXBlPXRlbF0saW5wdXRbdHlwZT10ZXh0XSxpbnB1dFt0eXBlPXRpbWVdLGlucHV0W3R5cGU9dXJsXSxpbnB1dFt0eXBlPXdlZWtdLHRleHRhcmVhe2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTt0cmFuc2l0aW9uOmJvcmRlciBsaW5lYXIgLjJzLGJveC1zaGFkb3cgbGluZWFyIC4yc30udW5lZGl0YWJsZS1pbnB1dDpmb2N1cyxpbnB1dFt0eXBlPWNvbG9yXTpmb2N1cyxpbnB1dFt0eXBlPWRhdGVdOmZvY3VzLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmZvY3VzLGlucHV0W3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLGlucHV0W3R5cGU9bW9udGhdOmZvY3VzLGlucHV0W3R5cGU9bnVtYmVyXTpmb2N1cyxpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyxpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMsaW5wdXRbdHlwZT10ZWxdOmZvY3VzLGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsaW5wdXRbdHlwZT10aW1lXTpmb2N1cyxpbnB1dFt0eXBlPXVybF06Zm9jdXMsaW5wdXRbdHlwZT13ZWVrXTpmb2N1cyx0ZXh0YXJlYTpmb2N1c3tib3JkZXItY29sb3I6cmdiYSg4MiwxNjgsMjM2LC44KTtvdXRsaW5lOjA7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgOHB4IHJnYmEoODIsMTY4LDIzNiwuNil9aW5wdXRbdHlwZT1jaGVja2JveF0saW5wdXRbdHlwZT1yYWRpb117bWFyZ2luOjRweCAwIDA7bGluZS1oZWlnaHQ6bm9ybWFsfWlucHV0W3R5cGU9YnV0dG9uXSxpbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPWZpbGVdLGlucHV0W3R5cGU9aW1hZ2VdLGlucHV0W3R5cGU9cmFkaW9dLGlucHV0W3R5cGU9cmVzZXRdLGlucHV0W3R5cGU9c3VibWl0XXt3aWR0aDphdXRvfWlucHV0W3R5cGU9ZmlsZV0sc2VsZWN0e2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHh9c2VsZWN0e3dpZHRoOjIyMHB4O2JvcmRlcjoxcHggc29saWQgI2NjYztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9c2VsZWN0W211bHRpcGxlXSxzZWxlY3Rbc2l6ZV17aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMsaW5wdXRbdHlwZT1maWxlXTpmb2N1cyxpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cyxzZWxlY3Q6Zm9jdXN7b3V0bGluZTojMzMzIGRvdHRlZCB0aGluO291dGxpbmU6LXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIGF1dG87b3V0bGluZS1vZmZzZXQ6LTJweH0udW5lZGl0YWJsZS1pbnB1dCwudW5lZGl0YWJsZS10ZXh0YXJlYXtjb2xvcjojOTk5O2JhY2tncm91bmQtY29sb3I6I2ZjZmNmYztib3JkZXItY29sb3I6I2NjYztib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wMjUpO2N1cnNvcjpub3QtYWxsb3dlZH0udW5lZGl0YWJsZS1pbnB1dHtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS51bmVkaXRhYmxlLXRleHRhcmVhe3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99aW5wdXQ6LW1vei1wbGFjZWhvbGRlcix0ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9aW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojOTk5fWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9LmNoZWNrYm94LC5yYWRpb3ttaW4taGVpZ2h0OjIwcHg7cGFkZGluZy1sZWZ0OjIwcHh9LmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXXtmbG9hdDpsZWZ0O21hcmdpbi1sZWZ0Oi0yMHB4fS5jb250cm9scz4uY2hlY2tib3g6Zmlyc3QtY2hpbGQsLmNvbnRyb2xzPi5yYWRpbzpmaXJzdC1jaGlsZHtwYWRkaW5nLXRvcDo1cHh9LmNoZWNrYm94LmlubGluZSwucmFkaW8uaW5saW5le2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjVweDttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5jaGVja2JveC5pbmxpbmUrLmNoZWNrYm94LmlubGluZSwucmFkaW8uaW5saW5lKy5yYWRpby5pbmxpbmV7bWFyZ2luLWxlZnQ6MTBweH0uaW5wdXQtbWluaXt3aWR0aDo2MHB4fS5pbnB1dC1zbWFsbHt3aWR0aDo5MHB4fS5pbnB1dC1tZWRpdW17d2lkdGg6MTUwcHh9LmlucHV0LWxhcmdle3dpZHRoOjIxMHB4fS5pbnB1dC14bGFyZ2V7d2lkdGg6MjcwcHh9LmlucHV0LXh4bGFyZ2V7d2lkdGg6NTMwcHh9LnJvdy1mbHVpZCAudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCBpbnB1dFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCBzZWxlY3RbY2xhc3MqPXNwYW5dLC5yb3ctZmx1aWQgdGV4dGFyZWFbY2xhc3MqPXNwYW5dLC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1zcGFuXSxpbnB1dFtjbGFzcyo9c3Bhbl0sc2VsZWN0W2NsYXNzKj1zcGFuXSx0ZXh0YXJlYVtjbGFzcyo9c3Bhbl17ZmxvYXQ6bm9uZTttYXJnaW4tbGVmdDowfS5pbnB1dC1hcHBlbmQgLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPXNwYW5dLC5pbnB1dC1hcHBlbmQgaW5wdXRbY2xhc3MqPXNwYW5dLC5pbnB1dC1wcmVwZW5kIC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1zcGFuXSwuaW5wdXQtcHJlcGVuZCBpbnB1dFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCAuaW5wdXQtYXBwZW5kIFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCAuaW5wdXQtcHJlcGVuZCBbY2xhc3MqPXNwYW5dLC5yb3ctZmx1aWQgLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPXNwYW5dLC5yb3ctZmx1aWQgaW5wdXRbY2xhc3MqPXNwYW5dLC5yb3ctZmx1aWQgc2VsZWN0W2NsYXNzKj1zcGFuXSwucm93LWZsdWlkIHRleHRhcmVhW2NsYXNzKj1zcGFuXXtkaXNwbGF5OmlubGluZS1ibG9ja30udW5lZGl0YWJsZS1pbnB1dCxpbnB1dCx0ZXh0YXJlYXttYXJnaW4tbGVmdDowfS5jb250cm9scy1yb3cgW2NsYXNzKj1zcGFuXStbY2xhc3MqPXNwYW5de21hcmdpbi1sZWZ0OjIwcHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjEyLGlucHV0LnNwYW4xMix0ZXh0YXJlYS5zcGFuMTJ7d2lkdGg6OTI2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjExLGlucHV0LnNwYW4xMSx0ZXh0YXJlYS5zcGFuMTF7d2lkdGg6ODQ2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjEwLGlucHV0LnNwYW4xMCx0ZXh0YXJlYS5zcGFuMTB7d2lkdGg6NzY2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjksaW5wdXQuc3BhbjksdGV4dGFyZWEuc3Bhbjl7d2lkdGg6Njg2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjgsaW5wdXQuc3BhbjgsdGV4dGFyZWEuc3Bhbjh7d2lkdGg6NjA2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjcsaW5wdXQuc3BhbjcsdGV4dGFyZWEuc3Bhbjd7d2lkdGg6NTI2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjYsaW5wdXQuc3BhbjYsdGV4dGFyZWEuc3BhbjZ7d2lkdGg6NDQ2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjUsaW5wdXQuc3BhbjUsdGV4dGFyZWEuc3BhbjV7d2lkdGg6MzY2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjQsaW5wdXQuc3BhbjQsdGV4dGFyZWEuc3BhbjR7d2lkdGg6Mjg2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjMsaW5wdXQuc3BhbjMsdGV4dGFyZWEuc3BhbjN7d2lkdGg6MjA2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjIsaW5wdXQuc3BhbjIsdGV4dGFyZWEuc3BhbjJ7d2lkdGg6MTI2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjEsaW5wdXQuc3BhbjEsdGV4dGFyZWEuc3BhbjF7d2lkdGg6NDZweH0uY29udHJvbHMtcm93OmFmdGVyLC5jb250cm9scy1yb3c6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiIjtsaW5lLWhlaWdodDowfS5jb250cm9scy1yb3c6YWZ0ZXJ7Y2xlYXI6Ym90aH0uY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCAuY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl17ZmxvYXQ6bGVmdH0uY29udHJvbHMtcm93IC5jaGVja2JveFtjbGFzcyo9c3Bhbl0sLmNvbnRyb2xzLXJvdyAucmFkaW9bY2xhc3MqPXNwYW5de3BhZGRpbmctdG9wOjVweH1pbnB1dFtkaXNhYmxlZF0saW5wdXRbcmVhZG9ubHldLHNlbGVjdFtkaXNhYmxlZF0sc2VsZWN0W3JlYWRvbmx5XSx0ZXh0YXJlYVtkaXNhYmxlZF0sdGV4dGFyZWFbcmVhZG9ubHlde2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9aW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdLGlucHV0W3R5cGU9Y2hlY2tib3hdW3JlYWRvbmx5XSxpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0saW5wdXRbdHlwZT1yYWRpb11bcmVhZG9ubHlde2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmNvbnRyb2wtZ3JvdXAud2FybmluZyAuY2hlY2tib3gsLmNvbnRyb2wtZ3JvdXAud2FybmluZyAuY29udHJvbC1sYWJlbCwuY29udHJvbC1ncm91cC53YXJuaW5nIC5oZWxwLWJsb2NrLC5jb250cm9sLWdyb3VwLndhcm5pbmcgLmhlbHAtaW5saW5lLC5jb250cm9sLWdyb3VwLndhcm5pbmcgLnJhZGlvLC5jb250cm9sLWdyb3VwLndhcm5pbmcgaW5wdXQsLmNvbnRyb2wtZ3JvdXAud2FybmluZyBzZWxlY3QsLmNvbnRyb2wtZ3JvdXAud2FybmluZyB0ZXh0YXJlYXtjb2xvcjojYzA5ODUzfS5jb250cm9sLWdyb3VwLndhcm5pbmcgaW5wdXQsLmNvbnRyb2wtZ3JvdXAud2FybmluZyBzZWxlY3QsLmNvbnRyb2wtZ3JvdXAud2FybmluZyB0ZXh0YXJlYXtib3JkZXItY29sb3I6I2MwOTg1Mztib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpfS5jb250cm9sLWdyb3VwLndhcm5pbmcgaW5wdXQ6Zm9jdXMsLmNvbnRyb2wtZ3JvdXAud2FybmluZyBzZWxlY3Q6Zm9jdXMsLmNvbnRyb2wtZ3JvdXAud2FybmluZyB0ZXh0YXJlYTpmb2N1c3tib3JkZXItY29sb3I6I2E0N2UzYztib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggI2RiYzU5ZX0uY29udHJvbC1ncm91cC53YXJuaW5nIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiwuY29udHJvbC1ncm91cC53YXJuaW5nIC5pbnB1dC1wcmVwZW5kIC5hZGQtb257Y29sb3I6I2MwOTg1MztiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTM7Ym9yZGVyLWNvbG9yOiNjMDk4NTN9LmNvbnRyb2wtZ3JvdXAuZXJyb3IgLmNoZWNrYm94LC5jb250cm9sLWdyb3VwLmVycm9yIC5jb250cm9sLWxhYmVsLC5jb250cm9sLWdyb3VwLmVycm9yIC5oZWxwLWJsb2NrLC5jb250cm9sLWdyb3VwLmVycm9yIC5oZWxwLWlubGluZSwuY29udHJvbC1ncm91cC5lcnJvciAucmFkaW8sLmNvbnRyb2wtZ3JvdXAuZXJyb3IgaW5wdXQsLmNvbnRyb2wtZ3JvdXAuZXJyb3Igc2VsZWN0LC5jb250cm9sLWdyb3VwLmVycm9yIHRleHRhcmVhe2NvbG9yOiNiOTRhNDh9LmNvbnRyb2wtZ3JvdXAuZXJyb3IgaW5wdXQsLmNvbnRyb2wtZ3JvdXAuZXJyb3Igc2VsZWN0LC5jb250cm9sLWdyb3VwLmVycm9yIHRleHRhcmVhe2JvcmRlci1jb2xvcjojYjk0YTQ4O2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9LmNvbnRyb2wtZ3JvdXAuZXJyb3IgaW5wdXQ6Zm9jdXMsLmNvbnRyb2wtZ3JvdXAuZXJyb3Igc2VsZWN0OmZvY3VzLC5jb250cm9sLWdyb3VwLmVycm9yIHRleHRhcmVhOmZvY3Vze2JvcmRlci1jb2xvcjojOTUzYjM5O2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjZDU5MzkyfS5jb250cm9sLWdyb3VwLmVycm9yIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiwuY29udHJvbC1ncm91cC5lcnJvciAuaW5wdXQtcHJlcGVuZCAuYWRkLW9ue2NvbG9yOiNiOTRhNDg7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlO2JvcmRlci1jb2xvcjojYjk0YTQ4fS5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgLmNoZWNrYm94LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgLmNvbnRyb2wtbGFiZWwsLmNvbnRyb2wtZ3JvdXAuc3VjY2VzcyAuaGVscC1ibG9jaywuY29udHJvbC1ncm91cC5zdWNjZXNzIC5oZWxwLWlubGluZSwuY29udHJvbC1ncm91cC5zdWNjZXNzIC5yYWRpbywuY29udHJvbC1ncm91cC5zdWNjZXNzIGlucHV0LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3Mgc2VsZWN0LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgdGV4dGFyZWF7Y29sb3I6IzQ2ODg0N30uY29udHJvbC1ncm91cC5zdWNjZXNzIGlucHV0LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3Mgc2VsZWN0LC5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgdGV4dGFyZWF7Ym9yZGVyLWNvbG9yOiM0Njg4NDc7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KX0uY29udHJvbC1ncm91cC5zdWNjZXNzIGlucHV0OmZvY3VzLC5jb250cm9sLWdyb3VwLnN1Y2Nlc3Mgc2VsZWN0OmZvY3VzLC5jb250cm9sLWdyb3VwLnN1Y2Nlc3MgdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMzNTY2MzU7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM3YWJhN2J9LmNvbnRyb2wtZ3JvdXAuc3VjY2VzcyAuaW5wdXQtYXBwZW5kIC5hZGQtb24sLmNvbnRyb2wtZ3JvdXAuc3VjY2VzcyAuaW5wdXQtcHJlcGVuZCAuYWRkLW9ue2NvbG9yOiM0Njg4NDc7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4O2JvcmRlci1jb2xvcjojNDY4ODQ3fS5jb250cm9sLWdyb3VwLmluZm8gLmNoZWNrYm94LC5jb250cm9sLWdyb3VwLmluZm8gLmNvbnRyb2wtbGFiZWwsLmNvbnRyb2wtZ3JvdXAuaW5mbyAuaGVscC1ibG9jaywuY29udHJvbC1ncm91cC5pbmZvIC5oZWxwLWlubGluZSwuY29udHJvbC1ncm91cC5pbmZvIC5yYWRpbywuY29udHJvbC1ncm91cC5pbmZvIGlucHV0LC5jb250cm9sLWdyb3VwLmluZm8gc2VsZWN0LC5jb250cm9sLWdyb3VwLmluZm8gdGV4dGFyZWF7Y29sb3I6IzNhODdhZH0uY29udHJvbC1ncm91cC5pbmZvIGlucHV0LC5jb250cm9sLWdyb3VwLmluZm8gc2VsZWN0LC5jb250cm9sLWdyb3VwLmluZm8gdGV4dGFyZWF7Ym9yZGVyLWNvbG9yOiMzYTg3YWQ7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KX0uY29udHJvbC1ncm91cC5pbmZvIGlucHV0OmZvY3VzLC5jb250cm9sLWdyb3VwLmluZm8gc2VsZWN0OmZvY3VzLC5jb250cm9sLWdyb3VwLmluZm8gdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMyZDY5ODc7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM3YWI1ZDN9LmNvbnRyb2wtZ3JvdXAuaW5mbyAuaW5wdXQtYXBwZW5kIC5hZGQtb24sLmNvbnRyb2wtZ3JvdXAuaW5mbyAuaW5wdXQtcHJlcGVuZCAuYWRkLW9ue2NvbG9yOiMzYTg3YWQ7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojM2E4N2FkfWlucHV0OmZvY3VzOmludmFsaWQsc2VsZWN0OmZvY3VzOmludmFsaWQsdGV4dGFyZWE6Zm9jdXM6aW52YWxpZHtjb2xvcjojYjk0YTQ4O2JvcmRlci1jb2xvcjojZWU1ZjVifWlucHV0OmZvY3VzOmludmFsaWQ6Zm9jdXMsc2VsZWN0OmZvY3VzOmludmFsaWQ6Zm9jdXMsdGV4dGFyZWE6Zm9jdXM6aW52YWxpZDpmb2N1c3tib3JkZXItY29sb3I6I2U5MzIyZDtib3gtc2hhZG93OjAgMCA2cHggI2Y4YjliN30uZm9ybS1hY3Rpb25ze3BhZGRpbmc6MTlweCAyMHB4IDIwcHg7bWFyZ2luLXRvcDoyMHB4O21hcmdpbi1ib3R0b206MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U1ZTVlNX0uZm9ybS1hY3Rpb25zOmFmdGVyLC5mb3JtLWFjdGlvbnM6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiIjtsaW5lLWhlaWdodDowfS5mb3JtLWFjdGlvbnM6YWZ0ZXJ7Y2xlYXI6Ym90aH0uaGVscC1ibG9jaywuaGVscC1pbmxpbmV7Y29sb3I6IzU5NTk1OX0uaGVscC1ibG9ja3tkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MTBweH0uaGVscC1pbmxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmctbGVmdDo1cHh9LmlucHV0LWFwcGVuZCwuaW5wdXQtcHJlcGVuZHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOjEwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtc2l6ZTowO3doaXRlLXNwYWNlOm5vd3JhcH0uaW5wdXQtYXBwZW5kIC5kcm9wZG93bi1tZW51LC5pbnB1dC1hcHBlbmQgLnBvcG92ZXIsLmlucHV0LWFwcGVuZCAudW5lZGl0YWJsZS1pbnB1dCwuaW5wdXQtYXBwZW5kIGlucHV0LC5pbnB1dC1hcHBlbmQgc2VsZWN0LC5pbnB1dC1wcmVwZW5kIC5kcm9wZG93bi1tZW51LC5pbnB1dC1wcmVwZW5kIC5wb3BvdmVyLC5pbnB1dC1wcmVwZW5kIC51bmVkaXRhYmxlLWlucHV0LC5pbnB1dC1wcmVwZW5kIGlucHV0LC5pbnB1dC1wcmVwZW5kIHNlbGVjdHtmb250LXNpemU6MTRweH0uaW5wdXQtYXBwZW5kIC51bmVkaXRhYmxlLWlucHV0LC5pbnB1dC1hcHBlbmQgaW5wdXQsLmlucHV0LWFwcGVuZCBzZWxlY3QsLmlucHV0LXByZXBlbmQgLnVuZWRpdGFibGUtaW5wdXQsLmlucHV0LXByZXBlbmQgaW5wdXQsLmlucHV0LXByZXBlbmQgc2VsZWN0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMH0uaW5wdXQtYXBwZW5kIC51bmVkaXRhYmxlLWlucHV0OmZvY3VzLC5pbnB1dC1hcHBlbmQgaW5wdXQ6Zm9jdXMsLmlucHV0LWFwcGVuZCBzZWxlY3Q6Zm9jdXMsLmlucHV0LXByZXBlbmQgLnVuZWRpdGFibGUtaW5wdXQ6Zm9jdXMsLmlucHV0LXByZXBlbmQgaW5wdXQ6Zm9jdXMsLmlucHV0LXByZXBlbmQgc2VsZWN0OmZvY3Vze3otaW5kZXg6Mn0uaW5wdXQtYXBwZW5kIC5hZGQtb24sLmlucHV0LXByZXBlbmQgLmFkZC1vbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvO2hlaWdodDoyMHB4O21pbi13aWR0aDoxNnB4O3BhZGRpbmc6NHB4IDVweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlcjoxcHggc29saWQgI2NjY30uaW5wdXQtYXBwZW5kIC5hZGQtb24sLmlucHV0LWFwcGVuZCAuYnRuLC5pbnB1dC1hcHBlbmQgLmJ0bi1ncm91cD4uZHJvcGRvd24tdG9nZ2xlLC5pbnB1dC1wcmVwZW5kIC5hZGQtb24sLmlucHV0LXByZXBlbmQgLmJ0biwuaW5wdXQtcHJlcGVuZCAuYnRuLWdyb3VwPi5kcm9wZG93bi10b2dnbGV7dmVydGljYWwtYWxpZ246dG9wO2JvcmRlci1yYWRpdXM6MH0uaW5wdXQtYXBwZW5kIC5hY3RpdmUsLmlucHV0LXByZXBlbmQgLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNhOWRiYTk7Ym9yZGVyLWNvbG9yOiM0NmE1NDZ9LmlucHV0LXByZXBlbmQgLmFkZC1vbiwuaW5wdXQtcHJlcGVuZCAuYnRue21hcmdpbi1yaWdodDotMXB4fS5pbnB1dC1hcHBlbmQgLnVuZWRpdGFibGUtaW5wdXQsLmlucHV0LWFwcGVuZCBpbnB1dCwuaW5wdXQtYXBwZW5kIHNlbGVjdCwuaW5wdXQtcHJlcGVuZCAuYWRkLW9uOmZpcnN0LWNoaWxkLC5pbnB1dC1wcmVwZW5kIC5idG46Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czo0cHggMCAwIDRweH0uaW5wdXQtYXBwZW5kIC51bmVkaXRhYmxlLWlucHV0Ky5idG4tZ3JvdXAgLmJ0bjpsYXN0LWNoaWxkLC5pbnB1dC1hcHBlbmQgaW5wdXQrLmJ0bi1ncm91cCAuYnRuOmxhc3QtY2hpbGQsLmlucHV0LWFwcGVuZCBzZWxlY3QrLmJ0bi1ncm91cCAuYnRuOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMH0uaW5wdXQtYXBwZW5kIC5hZGQtb24sLmlucHV0LWFwcGVuZCAuYnRuLC5pbnB1dC1hcHBlbmQgLmJ0bi1ncm91cHttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCAudW5lZGl0YWJsZS1pbnB1dCwuaW5wdXQtcHJlcGVuZC5pbnB1dC1hcHBlbmQgaW5wdXQsLmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIHNlbGVjdHtib3JkZXItcmFkaXVzOjB9LmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIC51bmVkaXRhYmxlLWlucHV0Ky5idG4tZ3JvdXAgLmJ0biwuaW5wdXQtcHJlcGVuZC5pbnB1dC1hcHBlbmQgaW5wdXQrLmJ0bi1ncm91cCAuYnRuLC5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCBzZWxlY3QrLmJ0bi1ncm91cCAuYnRue2JvcmRlci1yYWRpdXM6MCA0cHggNHB4IDB9LmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIC5hZGQtb246Zmlyc3QtY2hpbGQsLmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIC5idG46Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0Oi0xcHg7Ym9yZGVyLXJhZGl1czo0cHggMCAwIDRweH0uaW5wdXQtcHJlcGVuZC5pbnB1dC1hcHBlbmQgLmFkZC1vbjpsYXN0LWNoaWxkLC5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCAuYnRuOmxhc3QtY2hpbGR7bWFyZ2luLWxlZnQ6LTFweDtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCAuYnRuLWdyb3VwOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9aW5wdXQuc2VhcmNoLXF1ZXJ5e3BhZGRpbmctcmlnaHQ6MTRweDtwYWRkaW5nLWxlZnQ6MTRweDttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXJhZGl1czoxNXB4fS5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5zZWFyY2gtcXVlcnl7Ym9yZGVyLXJhZGl1czoxNHB4IDAgMCAxNHB4fS5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5idG4sLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kIC5zZWFyY2gtcXVlcnl7Ym9yZGVyLXJhZGl1czowIDE0cHggMTRweCAwfS5mb3JtLXNlYXJjaCAuaW5wdXQtcHJlcGVuZCAuYnRue2JvcmRlci1yYWRpdXM6MTRweCAwIDAgMTRweH0uZm9ybS1ob3Jpem9udGFsIC5oZWxwLWlubGluZSwuZm9ybS1ob3Jpem9udGFsIC5pbnB1dC1hcHBlbmQsLmZvcm0taG9yaXpvbnRhbCAuaW5wdXQtcHJlcGVuZCwuZm9ybS1ob3Jpem9udGFsIC51bmVkaXRhYmxlLWlucHV0LC5mb3JtLWhvcml6b250YWwgaW5wdXQsLmZvcm0taG9yaXpvbnRhbCBzZWxlY3QsLmZvcm0taG9yaXpvbnRhbCB0ZXh0YXJlYSwuZm9ybS1pbmxpbmUgLmhlbHAtaW5saW5lLC5mb3JtLWlubGluZSAuaW5wdXQtYXBwZW5kLC5mb3JtLWlubGluZSAuaW5wdXQtcHJlcGVuZCwuZm9ybS1pbmxpbmUgLnVuZWRpdGFibGUtaW5wdXQsLmZvcm0taW5saW5lIGlucHV0LC5mb3JtLWlubGluZSBzZWxlY3QsLmZvcm0taW5saW5lIHRleHRhcmVhLC5mb3JtLXNlYXJjaCAuaGVscC1pbmxpbmUsLmZvcm0tc2VhcmNoIC5pbnB1dC1hcHBlbmQsLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kLC5mb3JtLXNlYXJjaCAudW5lZGl0YWJsZS1pbnB1dCwuZm9ybS1zZWFyY2ggaW5wdXQsLmZvcm0tc2VhcmNoIHNlbGVjdCwuZm9ybS1zZWFyY2ggdGV4dGFyZWF7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1ob3Jpem9udGFsIC5oaWRlLC5mb3JtLWlubGluZSAuaGlkZSwuZm9ybS1zZWFyY2ggLmhpZGV7ZGlzcGxheTpub25lfS5mb3JtLWlubGluZSAuYnRuLWdyb3VwLC5mb3JtLWlubGluZSBsYWJlbCwuZm9ybS1zZWFyY2ggLmJ0bi1ncm91cCwuZm9ybS1zZWFyY2ggbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0taW5saW5lIC5pbnB1dC1hcHBlbmQsLmZvcm0taW5saW5lIC5pbnB1dC1wcmVwZW5kLC5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kLC5mb3JtLXNlYXJjaCAuaW5wdXQtcHJlcGVuZHttYXJnaW4tYm90dG9tOjB9LmZvcm0taW5saW5lIC5jaGVja2JveCwuZm9ybS1pbmxpbmUgLnJhZGlvLC5mb3JtLXNlYXJjaCAuY2hlY2tib3gsLmZvcm0tc2VhcmNoIC5yYWRpb3twYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sLmZvcm0taW5saW5lIC5yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwuZm9ybS1zZWFyY2ggLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5mb3JtLXNlYXJjaCAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb117ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6M3B4O21hcmdpbi1sZWZ0OjB9LmNvbnRyb2wtZ3JvdXB7bWFyZ2luLWJvdHRvbToxMHB4fWxlZ2VuZCsuY29udHJvbC1ncm91cHttYXJnaW4tdG9wOjIwcHg7LXdlYmtpdC1tYXJnaW4tdG9wLWNvbGxhcHNlOnNlcGFyYXRlfS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtZ3JvdXB7bWFyZ2luLWJvdHRvbToyMHB4fS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtZ3JvdXA6YWZ0ZXIsLmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1ncm91cDpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIiO2xpbmUtaGVpZ2h0OjB9LmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1ncm91cDphZnRlcntjbGVhcjpib3RofS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWx7ZmxvYXQ6bGVmdDt3aWR0aDoxNjBweDtwYWRkaW5nLXRvcDo1cHg7dGV4dC1hbGlnbjpyaWdodH0uZm9ybS1ob3Jpem9udGFsIC5jb250cm9sc3ttYXJnaW4tbGVmdDoxODBweH0uZm9ybS1ob3Jpem9udGFsIC5oZWxwLWJsb2Nre21hcmdpbi1ib3R0b206MH0uZm9ybS1ob3Jpem9udGFsIC5pbnB1dC1hcHBlbmQrLmhlbHAtYmxvY2ssLmZvcm0taG9yaXpvbnRhbCAuaW5wdXQtcHJlcGVuZCsuaGVscC1ibG9jaywuZm9ybS1ob3Jpem9udGFsIC51bmVkaXRhYmxlLWlucHV0Ky5oZWxwLWJsb2NrLC5mb3JtLWhvcml6b250YWwgaW5wdXQrLmhlbHAtYmxvY2ssLmZvcm0taG9yaXpvbnRhbCBzZWxlY3QrLmhlbHAtYmxvY2ssLmZvcm0taG9yaXpvbnRhbCB0ZXh0YXJlYSsuaGVscC1ibG9ja3ttYXJnaW4tdG9wOjEwcHh9LmZvcm0taG9yaXpvbnRhbCAuZm9ybS1hY3Rpb25ze3BhZGRpbmctbGVmdDoxODBweH10YWJsZXttYXgtd2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfS50YWJsZXt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MjBweH0udGFibGUgdGQsLnRhYmxlIHRoe3BhZGRpbmc6OHB4O2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOnRvcDtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS50YWJsZSB0aHtmb250LXdlaWdodDo3MDB9LnRhYmxlIHRoZWFkIHRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0udGFibGUgY2FwdGlvbit0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZCwudGFibGUgY2FwdGlvbit0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCwudGFibGUgY29sZ3JvdXArdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQsLnRhYmxlIGNvbGdyb3VwK3RoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLC50YWJsZSB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0ZCwudGFibGUgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGh7Ym9yZGVyLXRvcDowfS50YWJsZSB0Ym9keSt0Ym9keXtib3JkZXItdG9wOjJweCBzb2xpZCAjZGRkfS50YWJsZSAudGFibGV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS50YWJsZS1jb25kZW5zZWQgdGQsLnRhYmxlLWNvbmRlbnNlZCB0aHtwYWRkaW5nOjRweCA1cHh9LnRhYmxlLWJvcmRlcmVke2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7Ym9yZGVyLWxlZnQ6MDtib3JkZXItcmFkaXVzOjRweH0udGFibGUtYm9yZGVyZWQgdGQsLnRhYmxlLWJvcmRlcmVkIHRoe2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGRkfS50YWJsZS1ib3JkZXJlZCBjYXB0aW9uK3Rib2R5IHRyOmZpcnN0LWNoaWxkIHRkLC50YWJsZS1ib3JkZXJlZCBjYXB0aW9uK3Rib2R5IHRyOmZpcnN0LWNoaWxkIHRoLC50YWJsZS1ib3JkZXJlZCBjYXB0aW9uK3RoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLC50YWJsZS1ib3JkZXJlZCBjb2xncm91cCt0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCwudGFibGUtYm9yZGVyZWQgY29sZ3JvdXArdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsLnRhYmxlLWJvcmRlcmVkIGNvbGdyb3VwK3RoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLC50YWJsZS1ib3JkZXJlZCB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0ZCwudGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGgsLnRhYmxlLWJvcmRlcmVkIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRoe2JvcmRlci10b3A6MH0udGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQ+dGQ6Zmlyc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkPnRoOmZpcnN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZD50aDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweH0udGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQ+dGQ6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQ+dGg6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQ+dGg6bGFzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHh9LnRhYmxlLWJvcmRlcmVkIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZD50ZDpmaXJzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkPnRoOmZpcnN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQ+dGQ6Zmlyc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZD50aDpmaXJzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGhlYWQ6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkPnRoOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS50YWJsZS1ib3JkZXJlZCB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQ+dGQ6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkPnRoOmxhc3QtY2hpbGQsLnRhYmxlLWJvcmRlcmVkIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZD50ZDpsYXN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQ+dGg6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgdGhlYWQ6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkPnRoOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4fS50YWJsZS1ib3JkZXJlZCB0Zm9vdCt0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS50YWJsZS1ib3JkZXJlZCB0Zm9vdCt0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS50YWJsZS1ib3JkZXJlZCBjYXB0aW9uK3Rib2R5IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCBjYXB0aW9uK3RoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCBjb2xncm91cCt0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgY29sZ3JvdXArdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHh9LnRhYmxlLWJvcmRlcmVkIGNhcHRpb24rdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwudGFibGUtYm9yZGVyZWQgY2FwdGlvbit0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCBjb2xncm91cCt0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC50YWJsZS1ib3JkZXJlZCBjb2xncm91cCt0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweH0udGFibGUtc3RyaXBlZCB0Ym9keT50cjpudGgtY2hpbGQob2RkKT50ZCwudGFibGUtc3RyaXBlZCB0Ym9keT50cjpudGgtY2hpbGQob2RkKT50aHtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjl9LnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyPnRkLC50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9LnJvdy1mbHVpZCB0YWJsZSB0ZFtjbGFzcyo9c3Bhbl0sLnJvdy1mbHVpZCB0YWJsZSB0aFtjbGFzcyo9c3Bhbl0sdGFibGUgdGRbY2xhc3MqPXNwYW5dLHRhYmxlIHRoW2NsYXNzKj1zcGFuXXtkaXNwbGF5OnRhYmxlLWNlbGw7ZmxvYXQ6bm9uZTttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuMSwudGFibGUgdGguc3BhbjF7ZmxvYXQ6bm9uZTt3aWR0aDo0NHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW4yLC50YWJsZSB0aC5zcGFuMntmbG9hdDpub25lO3dpZHRoOjEyNHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW4zLC50YWJsZSB0aC5zcGFuM3tmbG9hdDpub25lO3dpZHRoOjIwNHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW40LC50YWJsZSB0aC5zcGFuNHtmbG9hdDpub25lO3dpZHRoOjI4NHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW41LC50YWJsZSB0aC5zcGFuNXtmbG9hdDpub25lO3dpZHRoOjM2NHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW42LC50YWJsZSB0aC5zcGFuNntmbG9hdDpub25lO3dpZHRoOjQ0NHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW43LC50YWJsZSB0aC5zcGFuN3tmbG9hdDpub25lO3dpZHRoOjUyNHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW44LC50YWJsZSB0aC5zcGFuOHtmbG9hdDpub25lO3dpZHRoOjYwNHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW45LC50YWJsZSB0aC5zcGFuOXtmbG9hdDpub25lO3dpZHRoOjY4NHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRkLnNwYW4xMCwudGFibGUgdGguc3BhbjEwe2Zsb2F0Om5vbmU7d2lkdGg6NzY0cHg7bWFyZ2luLWxlZnQ6MH0udGFibGUgdGQuc3BhbjExLC50YWJsZSB0aC5zcGFuMTF7ZmxvYXQ6bm9uZTt3aWR0aDo4NDRweDttYXJnaW4tbGVmdDowfS50YWJsZSB0ZC5zcGFuMTIsLnRhYmxlIHRoLnNwYW4xMntmbG9hdDpub25lO3dpZHRoOjkyNHB4O21hcmdpbi1sZWZ0OjB9LnRhYmxlIHRib2R5IHRyLnN1Y2Nlc3M+dGR7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4fS50YWJsZSB0Ym9keSB0ci5lcnJvcj50ZHtiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGV9LnRhYmxlIHRib2R5IHRyLndhcm5pbmc+dGR7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzfS50YWJsZSB0Ym9keSB0ci5pbmZvPnRke2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmN30udGFibGUtaG92ZXIgdGJvZHkgdHIuc3VjY2Vzczpob3Zlcj50ZHtiYWNrZ3JvdW5kLWNvbG9yOiNkMGU5YzZ9LnRhYmxlLWhvdmVyIHRib2R5IHRyLmVycm9yOmhvdmVyPnRke2JhY2tncm91bmQtY29sb3I6I2ViY2NjY30udGFibGUtaG92ZXIgdGJvZHkgdHIud2FybmluZzpob3Zlcj50ZHtiYWNrZ3JvdW5kLWNvbG9yOiNmYWYyY2N9LnRhYmxlLWhvdmVyIHRib2R5IHRyLmluZm86aG92ZXI+dGR7YmFja2dyb3VuZC1jb2xvcjojYzRlM2YzfVtjbGFzcyo9IiBpY29uLSJdLFtjbGFzc149aWNvbi1de2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7bGluZS1oZWlnaHQ6MTRweDt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcDtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZ2x5cGhpY29ucy1oYWxmbGluZ3MucG5nKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE0cHggMTRweDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7bWFyZ2luLXRvcDoxcHh9LmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hPltjbGFzcyo9IiBpY29uLSJdLC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YT5bY2xhc3NePWljb24tXSwuZHJvcGRvd24tbWVudT5saT5hOmZvY3VzPltjbGFzcyo9IiBpY29uLSJdLC5kcm9wZG93bi1tZW51PmxpPmE6Zm9jdXM+W2NsYXNzXj1pY29uLV0sLmRyb3Bkb3duLW1lbnU+bGk+YTpob3Zlcj5bY2xhc3MqPSIgaWNvbi0iXSwuZHJvcGRvd24tbWVudT5saT5hOmhvdmVyPltjbGFzc149aWNvbi1dLC5kcm9wZG93bi1zdWJtZW51OmZvY3VzPmE+W2NsYXNzKj0iIGljb24tIl0sLmRyb3Bkb3duLXN1Ym1lbnU6Zm9jdXM+YT5bY2xhc3NePWljb24tXSwuZHJvcGRvd24tc3VibWVudTpob3Zlcj5hPltjbGFzcyo9IiBpY29uLSJdLC5kcm9wZG93bi1zdWJtZW51OmhvdmVyPmE+W2NsYXNzXj1pY29uLV0sLmljb24td2hpdGUsLm5hdi1saXN0Pi5hY3RpdmU+YT5bY2xhc3MqPSIgaWNvbi0iXSwubmF2LWxpc3Q+LmFjdGl2ZT5hPltjbGFzc149aWNvbi1dLC5uYXYtcGlsbHM+LmFjdGl2ZT5hPltjbGFzcyo9IiBpY29uLSJdLC5uYXYtcGlsbHM+LmFjdGl2ZT5hPltjbGFzc149aWNvbi1dLC5uYXZiYXItaW52ZXJzZSAubmF2Pi5hY3RpdmU+YT5bY2xhc3MqPSIgaWNvbi0iXSwubmF2YmFyLWludmVyc2UgLm5hdj4uYWN0aXZlPmE+W2NsYXNzXj1pY29uLV17YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2dseXBoaWNvbnMtaGFsZmxpbmdzLXdoaXRlLnBuZyl9Lmljb24tZ2xhc3N7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9Lmljb24tbXVzaWN7YmFja2dyb3VuZC1wb3NpdGlvbjotMjRweCAwfS5pY29uLXNlYXJjaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IDB9Lmljb24tZW52ZWxvcGV7YmFja2dyb3VuZC1wb3NpdGlvbjotNzJweCAwfS5pY29uLWhlYXJ0e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggMH0uaWNvbi1zdGFye2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IDB9Lmljb24tc3Rhci1lbXB0eXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAwfS5pY29uLXVzZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTY4cHggMH0uaWNvbi1maWxte2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IDB9Lmljb24tdGgtbGFyZ2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMjE2cHggMH0uaWNvbi10aHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAwfS5pY29uLXRoLWxpc3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMjY0cHggMH0uaWNvbi1va3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yODhweCAwfS5pY29uLXJlbW92ZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTJweCAwfS5pY29uLXpvb20taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMzM2cHggMH0uaWNvbi16b29tLW91dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNjBweCAwfS5pY29uLW9mZntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zODRweCAwfS5pY29uLXNpZ25hbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MDhweCAwfS5pY29uLWNvZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MzJweCAwfS5pY29uLXRyYXNoe2JhY2tncm91bmQtcG9zaXRpb246LTQ1NnB4IDB9Lmljb24taG9tZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTI0cHh9Lmljb24tZmlsZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNHB4IC0yNHB4fS5pY29uLXRpbWV7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMjRweH0uaWNvbi1yb2Fke2JhY2tncm91bmQtcG9zaXRpb246LTcycHggLTI0cHh9Lmljb24tZG93bmxvYWQtYWx0e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTI0cHh9Lmljb24tZG93bmxvYWR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTI0cHh9Lmljb24tdXBsb2Fke2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0yNHB4fS5pY29uLWluYm94e2JhY2tncm91bmQtcG9zaXRpb246LTE2OHB4IC0yNHB4fS5pY29uLXBsYXktY2lyY2xle2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0yNHB4fS5pY29uLXJlcGVhdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMTZweCAtMjRweH0uaWNvbi1yZWZyZXNoe2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0yNHB4fS5pY29uLWxpc3QtYWx0e2JhY2tncm91bmQtcG9zaXRpb246LTI2NHB4IC0yNHB4fS5pY29uLWxvY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotMjg3cHggLTI0cHh9Lmljb24tZmxhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTJweCAtMjRweH0uaWNvbi1oZWFkcGhvbmVze2JhY2tncm91bmQtcG9zaXRpb246LTMzNnB4IC0yNHB4fS5pY29uLXZvbHVtZS1vZmZ7YmFja2dyb3VuZC1wb3NpdGlvbjotMzYwcHggLTI0cHh9Lmljb24tdm9sdW1lLWRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMzg0cHggLTI0cHh9Lmljb24tdm9sdW1lLXVwe2JhY2tncm91bmQtcG9zaXRpb246LTQwOHB4IC0yNHB4fS5pY29uLXFyY29kZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MzJweCAtMjRweH0uaWNvbi1iYXJjb2Rle2JhY2tncm91bmQtcG9zaXRpb246LTQ1NnB4IC0yNHB4fS5pY29uLXRhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTQ4cHh9Lmljb24tdGFnc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNXB4IC00OHB4fS5pY29uLWJvb2t7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtNDhweH0uaWNvbi1ib29rbWFya3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi03MnB4IC00OHB4fS5pY29uLXByaW50e2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTQ4cHh9Lmljb24tY2FtZXJhe2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC00OHB4fS5pY29uLWZvbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTQ4cHh9Lmljb24tYm9sZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjdweCAtNDhweH0uaWNvbi1pdGFsaWN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTQ4cHh9Lmljb24tdGV4dC1oZWlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjE2cHggLTQ4cHh9Lmljb24tdGV4dC13aWR0aHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtNDhweH0uaWNvbi1hbGlnbi1sZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTI2NHB4IC00OHB4fS5pY29uLWFsaWduLWNlbnRlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yODhweCAtNDhweH0uaWNvbi1hbGlnbi1yaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTJweCAtNDhweH0uaWNvbi1hbGlnbi1qdXN0aWZ5e2JhY2tncm91bmQtcG9zaXRpb246LTMzNnB4IC00OHB4fS5pY29uLWxpc3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMzYwcHggLTQ4cHh9Lmljb24taW5kZW50LWxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzg0cHggLTQ4cHh9Lmljb24taW5kZW50LXJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTQwOHB4IC00OHB4fS5pY29uLWZhY2V0aW1lLXZpZGVve2JhY2tncm91bmQtcG9zaXRpb246LTQzMnB4IC00OHB4fS5pY29uLXBpY3R1cmV7YmFja2dyb3VuZC1wb3NpdGlvbjotNDU2cHggLTQ4cHh9Lmljb24tcGVuY2lse2JhY2tncm91bmQtcG9zaXRpb246MCAtNzJweH0uaWNvbi1tYXAtbWFya2Vye2JhY2tncm91bmQtcG9zaXRpb246LTI0cHggLTcycHh9Lmljb24tYWRqdXN0e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTcycHh9Lmljb24tdGludHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi03MnB4IC03MnB4fS5pY29uLWVkaXR7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNzJweH0uaWNvbi1zaGFyZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAtNzJweH0uaWNvbi1jaGVja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtNzJweH0uaWNvbi1tb3Zle2JhY2tncm91bmQtcG9zaXRpb246LTE2OHB4IC03MnB4fS5pY29uLXN0ZXAtYmFja3dhcmR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTcycHh9Lmljb24tZmFzdC1iYWNrd2FyZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMTZweCAtNzJweH0uaWNvbi1iYWNrd2FyZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtNzJweH0uaWNvbi1wbGF5e2JhY2tncm91bmQtcG9zaXRpb246LTI2NHB4IC03MnB4fS5pY29uLXBhdXNle2JhY2tncm91bmQtcG9zaXRpb246LTI4OHB4IC03MnB4fS5pY29uLXN0b3B7YmFja2dyb3VuZC1wb3NpdGlvbjotMzEycHggLTcycHh9Lmljb24tZm9yd2FyZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMzZweCAtNzJweH0uaWNvbi1mYXN0LWZvcndhcmR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzYwcHggLTcycHh9Lmljb24tc3RlcC1mb3J3YXJke2JhY2tncm91bmQtcG9zaXRpb246LTM4NHB4IC03MnB4fS5pY29uLWVqZWN0e2JhY2tncm91bmQtcG9zaXRpb246LTQwOHB4IC03MnB4fS5pY29uLWNoZXZyb24tbGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MzJweCAtNzJweH0uaWNvbi1jaGV2cm9uLXJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTQ1NnB4IC03MnB4fS5pY29uLXBsdXMtc2lnbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTk2cHh9Lmljb24tbWludXMtc2lnbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNHB4IC05NnB4fS5pY29uLXJlbW92ZS1zaWdue2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTk2cHh9Lmljb24tb2stc2lnbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi03MnB4IC05NnB4fS5pY29uLXF1ZXN0aW9uLXNpZ257YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtOTZweH0uaWNvbi1pbmZvLXNpZ257YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTk2cHh9Lmljb24tc2NyZWVuc2hvdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtOTZweH0uaWNvbi1yZW1vdmUtY2lyY2xle2JhY2tncm91bmQtcG9zaXRpb246LTE2OHB4IC05NnB4fS5pY29uLW9rLWNpcmNsZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtOTZweH0uaWNvbi1iYW4tY2lyY2xle2JhY2tncm91bmQtcG9zaXRpb246LTIxNnB4IC05NnB4fS5pY29uLWFycm93LWxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTk2cHh9Lmljb24tYXJyb3ctcmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjY0cHggLTk2cHh9Lmljb24tYXJyb3ctdXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMjg5cHggLTk2cHh9Lmljb24tYXJyb3ctZG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTJweCAtOTZweH0uaWNvbi1zaGFyZS1hbHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzM2cHggLTk2cHh9Lmljb24tcmVzaXplLWZ1bGx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzYwcHggLTk2cHh9Lmljb24tcmVzaXplLXNtYWxse2JhY2tncm91bmQtcG9zaXRpb246LTM4NHB4IC05NnB4fS5pY29uLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDA4cHggLTk2cHh9Lmljb24tbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDMzcHggLTk2cHh9Lmljb24tYXN0ZXJpc2t7YmFja2dyb3VuZC1wb3NpdGlvbjotNDU2cHggLTk2cHh9Lmljb24tZXhjbGFtYXRpb24tc2lnbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTEyMHB4fS5pY29uLWdpZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjRweCAtMTIwcHh9Lmljb24tbGVhZntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xMjBweH0uaWNvbi1maXJle2JhY2tncm91bmQtcG9zaXRpb246LTcycHggLTEyMHB4fS5pY29uLWV5ZS1vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTEyMHB4fS5pY29uLWV5ZS1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAtMTIwcHh9Lmljb24td2FybmluZy1zaWdue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xMjBweH0uaWNvbi1wbGFuZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjhweCAtMTIwcHh9Lmljb24tY2FsZW5kYXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTEyMHB4fS5pY29uLXJhbmRvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMTZweCAtMTIwcHg7d2lkdGg6MTZweH0uaWNvbi1jb21tZW50e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0xMjBweH0uaWNvbi1tYWduZXR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjY0cHggLTEyMHB4fS5pY29uLWNoZXZyb24tdXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMjg4cHggLTEyMHB4fS5pY29uLWNoZXZyb24tZG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTNweCAtMTE5cHh9Lmljb24tcmV0d2VldHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMzZweCAtMTIwcHh9Lmljb24tc2hvcHBpbmctY2FydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNjBweCAtMTIwcHh9Lmljb24tZm9sZGVyLWNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTM4NHB4IC0xMjBweDt3aWR0aDoxNnB4fS5pY29uLWZvbGRlci1vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTQwOHB4IC0xMjBweDt3aWR0aDoxNnB4fS5pY29uLXJlc2l6ZS12ZXJ0aWNhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MzJweCAtMTE5cHh9Lmljb24tcmVzaXplLWhvcml6b250YWx7YmFja2dyb3VuZC1wb3NpdGlvbjotNDU2cHggLTExOHB4fS5pY29uLWhkZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE0NHB4fS5pY29uLWJ1bGxob3Jue2JhY2tncm91bmQtcG9zaXRpb246LTI0cHggLTE0NHB4fS5pY29uLWJlbGx7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTQ0cHh9Lmljb24tY2VydGlmaWNhdGV7YmFja2dyb3VuZC1wb3NpdGlvbjotNzJweCAtMTQ0cHh9Lmljb24tdGh1bWJzLXVwe2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE0NHB4fS5pY29uLXRodW1icy1kb3due2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC0xNDRweH0uaWNvbi1oYW5kLXJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xNDRweH0uaWNvbi1oYW5kLWxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTY4cHggLTE0NHB4fS5pY29uLWhhbmQtdXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTE0NHB4fS5pY29uLWhhbmQtZG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMTZweCAtMTQ0cHh9Lmljb24tY2lyY2xlLWFycm93LXJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0xNDRweH0uaWNvbi1jaXJjbGUtYXJyb3ctbGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNjRweCAtMTQ0cHh9Lmljb24tY2lyY2xlLWFycm93LXVwe2JhY2tncm91bmQtcG9zaXRpb246LTI4OHB4IC0xNDRweH0uaWNvbi1jaXJjbGUtYXJyb3ctZG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMTJweCAtMTQ0cHh9Lmljb24tZ2xvYmV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzM2cHggLTE0NHB4fS5pY29uLXdyZW5jaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNjBweCAtMTQ0cHh9Lmljb24tdGFza3N7YmFja2dyb3VuZC1wb3NpdGlvbjotMzg0cHggLTE0NHB4fS5pY29uLWZpbHRlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MDhweCAtMTQ0cHh9Lmljb24tYnJpZWZjYXNle2JhY2tncm91bmQtcG9zaXRpb246LTQzMnB4IC0xNDRweH0uaWNvbi1mdWxsc2NyZWVue2JhY2tncm91bmQtcG9zaXRpb246LTQ1NnB4IC0xNDRweH0uZHJvcGRvd24sLmRyb3B1cHtwb3NpdGlvbjpyZWxhdGl2ZX0uZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSwub3BlbiAuZHJvcGRvd24tdG9nZ2xle291dGxpbmU6MH0uY2FyZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXRvcDo0cHggc29saWQgIzAwMDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiIifS5kcm9wZG93biAuY2FyZXR7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWxlZnQ6MnB4fS5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MDt6LWluZGV4OjEwMDA7ZGlzcGxheTpub25lO2Zsb2F0OmxlZnQ7bWluLXdpZHRoOjE2MHB4O3BhZGRpbmc6NXB4IDA7bWFyZ2luOjJweCAwIDA7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMik7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94fS5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99LmRyb3Bkb3duLW1lbnUgLmRpdmlkZXJ7aGVpZ2h0OjFweDttYXJnaW46OXB4IDFweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojZTVlNWU1O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmZ9LmRyb3Bkb3duLW1lbnU+bGk+YXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDIwcHg7Y2xlYXI6Ym90aDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojMzMzO3doaXRlLXNwYWNlOm5vd3JhcH0uZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXIsLmRyb3Bkb3duLXN1Ym1lbnU6Zm9jdXM+YSwuZHJvcGRvd24tc3VibWVudTpob3Zlcj5he3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA4MWMyO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDhjLCMwMDc3YjMpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZmMDA4OGNjJywgZW5kQ29sb3JzdHI9JyNmZjAwNzdiMycsIEdyYWRpZW50VHlwZT0wKX0uZHJvcGRvd24tbWVudT4uYWN0aXZlPmEsLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmZvY3VzLC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO291dGxpbmU6MDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDgxYzI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCMwOGMsIzAwNzdiMyk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmYwMDg4Y2MnLCBlbmRDb2xvcnN0cj0nI2ZmMDA3N2IzJywgR3JhZGllbnRUeXBlPTApfS5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM5OTl9LmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtjdXJzb3I6ZGVmYXVsdH0ub3Blbj4uZHJvcGRvd24tbWVudXtkaXNwbGF5OmJsb2NrfS5wdWxsLXJpZ2h0Pi5kcm9wZG93bi1tZW51e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wdXAgLmNhcmV0LC5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuY2FyZXR7Ym9yZGVyLXRvcDowO2JvcmRlci1ib3R0b206NHB4IHNvbGlkICMwMDA7Y29udGVudDoiIn0uZHJvcHVwIC5kcm9wZG93bi1tZW51LC5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJTttYXJnaW4tYm90dG9tOjFweH0uZHJvcGRvd24tc3VibWVudXtwb3NpdGlvbjpyZWxhdGl2ZX0uZHJvcGRvd24tc3VibWVudT4uZHJvcGRvd24tbWVudXt0b3A6MDtsZWZ0OjEwMCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1sZWZ0Oi0xcHg7Ym9yZGVyLXJhZGl1czowIDZweCA2cHh9LmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXI+LmRyb3Bkb3duLW1lbnV7ZGlzcGxheTpibG9ja30uZHJvcHVwIC5kcm9wZG93bi1zdWJtZW51Pi5kcm9wZG93bi1tZW51e3RvcDphdXRvO2JvdHRvbTowO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi0ycHg7Ym9yZGVyLXJhZGl1czo1cHggNXB4IDVweCAwfS5kcm9wZG93bi1zdWJtZW51PmE6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIgIjtmbG9hdDpyaWdodDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCAwIDVweCA1cHg7Ym9yZGVyLWxlZnQtY29sb3I6I2NjYzttYXJnaW4tdG9wOjVweDttYXJnaW4tcmlnaHQ6LTEwcHh9LmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXI+YTphZnRlcntib3JkZXItbGVmdC1jb2xvcjojZmZmfS5kcm9wZG93bi1zdWJtZW51LnB1bGwtbGVmdHtmbG9hdDpub25lfS5kcm9wZG93bi1zdWJtZW51LnB1bGwtbGVmdD4uZHJvcGRvd24tbWVudXtsZWZ0Oi0xMDAlO21hcmdpbi1sZWZ0OjEwcHg7Ym9yZGVyLXJhZGl1czo2cHggMCA2cHggNnB4fS5kcm9wZG93biAuZHJvcGRvd24tbWVudSAubmF2LWhlYWRlcntwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHh9LnR5cGVhaGVhZHt6LWluZGV4OjEwNTE7bWFyZ2luLXRvcDoycHg7Ym9yZGVyLXJhZGl1czo0cHh9LndlbGx7bWluLWhlaWdodDoyMHB4O3BhZGRpbmc6MTlweDttYXJnaW4tYm90dG9tOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlcjoxcHggc29saWQgI2UzZTNlMztib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSl9LndlbGwgYmxvY2txdW90ZXtib3JkZXItY29sb3I6I2RkZDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMTUpfS53ZWxsLWxhcmdle3BhZGRpbmc6MjRweDtib3JkZXItcmFkaXVzOjZweH0ud2VsbC1zbWFsbHtwYWRkaW5nOjlweDtib3JkZXItcmFkaXVzOjNweH0uZmFkZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyfS5mYWRlLmlue29wYWNpdHk6MX0uY29sbGFwc2V7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246aGVpZ2h0IC4zNXMgZWFzZX0uY29sbGFwc2UuaW57aGVpZ2h0OmF1dG99LmNsb3Nle2Zsb2F0OnJpZ2h0O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiMwMDA7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO29wYWNpdHk6LjI7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MjApfS5jbG9zZTpmb2N1cywuY2xvc2U6aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40O2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1idXR0b24uY2xvc2V7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5idG57ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo0cHggMTJweDttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZmYsI2U2ZTZlNik7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtib3JkZXI6MXB4IHNvbGlkICNjY2N9LmJ0bi5hY3RpdmUsLmJ0bi5kaXNhYmxlZCwuYnRuOmFjdGl2ZSwuYnRuOmZvY3VzLC5idG46aG92ZXIsLmJ0bltkaXNhYmxlZF17Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlNmU2ZTZ9LmJ0bjpmb2N1cywuYnRuOmhvdmVye2NvbG9yOiMzMzM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNXB4O3RyYW5zaXRpb246YmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyfS5idG46Zm9jdXN7b3V0bGluZS1vZmZzZXQ6LTJweH0uYnRuLmFjdGl2ZSwuYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7b3V0bGluZTowO2JveC1zaGFkb3c6aW5zZXQgMCAycHggNHB4IHJnYmEoMCwwLDAsLjE1KSwwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpfS5idG4uZGlzYWJsZWQsLmJ0bltkaXNhYmxlZF17Y3Vyc29yOmRlZmF1bHQ7YmFja2dyb3VuZC1pbWFnZTpub25lO29wYWNpdHk6LjY1O2ZpbHRlcjphbHBoYShvcGFjaXR5PTY1KTtib3gtc2hhZG93Om5vbmV9LmJ0bi1sYXJnZXtwYWRkaW5nOjExcHggMTlweDtmb250LXNpemU6MTcuNXB4O2JvcmRlci1yYWRpdXM6NnB4fS5idG4tbGFyZ2UgW2NsYXNzKj0iIGljb24tIl0sLmJ0bi1sYXJnZSBbY2xhc3NePWljb24tXXttYXJnaW4tdG9wOjRweH0uYnRuLXNtYWxse3BhZGRpbmc6MnB4IDEwcHg7Zm9udC1zaXplOjExLjlweDtib3JkZXItcmFkaXVzOjNweH0uYnRuLXNtYWxsIFtjbGFzcyo9IiBpY29uLSJdLC5idG4tc21hbGwgW2NsYXNzXj1pY29uLV17bWFyZ2luLXRvcDowfS5idG4tbWluaSBbY2xhc3MqPSIgaWNvbi0iXSwuYnRuLW1pbmkgW2NsYXNzXj1pY29uLV17bWFyZ2luLXRvcDotMXB4fS5idG4tbWluaXtwYWRkaW5nOjAgNnB4O2ZvbnQtc2l6ZToxMC41cHg7Ym9yZGVyLXJhZGl1czozcHh9LmJ0bi1ibG9ja3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uYnRuLWJsb2NrKy5idG4tYmxvY2t7bWFyZ2luLXRvcDo1cHh9aW5wdXRbdHlwZT1idXR0b25dLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXJlc2V0XS5idG4tYmxvY2ssaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bi1ibG9ja3t3aWR0aDoxMDAlfS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzA4YywjMDRjKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6IzA0YyAjMDRjICMwMDJhODA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpfS5idG4tcHJpbWFyeS5hY3RpdmUsLmJ0bi1wcmltYXJ5LmRpc2FibGVkLC5idG4tcHJpbWFyeTphY3RpdmUsLmJ0bi1wcmltYXJ5OmZvY3VzLC5idG4tcHJpbWFyeTpob3ZlciwuYnRuLXByaW1hcnlbZGlzYWJsZWRde2NvbG9yOiNmZmZ9LmJ0bi13YXJuaW5ne2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JhY2tncm91bmQtY29sb3I6I2ZhYTczMjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2ZiYjQ1MCwjZjg5NDA2KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6I2Y4OTQwNiAjZjg5NDA2ICNhZDY3MDQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpfS5idG4td2FybmluZy5hY3RpdmUsLmJ0bi13YXJuaW5nLmRpc2FibGVkLC5idG4td2FybmluZzphY3RpdmUsLmJ0bi13YXJuaW5nOmZvY3VzLC5idG4td2FybmluZzpob3ZlciwuYnRuLXdhcm5pbmdbZGlzYWJsZWRde2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZjg5NDA2fS5idG4tZGFuZ2Vye2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JhY2tncm91bmQtY29sb3I6I2RhNGY0OTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2VlNWY1YiwjYmQzNjJmKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6I2JkMzYyZiAjYmQzNjJmICM4MDI0MjA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpfS5idG4tZGFuZ2VyLmFjdGl2ZSwuYnRuLWRhbmdlci5kaXNhYmxlZCwuYnRuLWRhbmdlcjphY3RpdmUsLmJ0bi1kYW5nZXI6Zm9jdXMsLmJ0bi1kYW5nZXI6aG92ZXIsLmJ0bi1kYW5nZXJbZGlzYWJsZWRde2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYmQzNjJmfS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtiYWNrZ3JvdW5kLWNvbG9yOiM1YmI3NWI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCM2MmM0NjIsIzUxYTM1MSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7Ym9yZGVyLWNvbG9yOiM1MWEzNTEgIzUxYTM1MSAjMzg3MDM4O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4yNSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKX0uYnRuLXN1Y2Nlc3MuYWN0aXZlLC5idG4tc3VjY2Vzcy5kaXNhYmxlZCwuYnRuLXN1Y2Nlc3M6YWN0aXZlLC5idG4tc3VjY2Vzczpmb2N1cywuYnRuLXN1Y2Nlc3M6aG92ZXIsLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzUxYTM1MX0uYnRuLWluZm97Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7YmFja2dyb3VuZC1jb2xvcjojNDlhZmNkO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjNWJjMGRlLCMyZjk2YjQpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JvcmRlci1jb2xvcjojMmY5NmI0ICMyZjk2YjQgIzFmNjM3Nztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMjUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9LmJ0bi1pbmZvLmFjdGl2ZSwuYnRuLWluZm8uZGlzYWJsZWQsLmJ0bi1pbmZvOmFjdGl2ZSwuYnRuLWluZm86Zm9jdXMsLmJ0bi1pbmZvOmhvdmVyLC5idG4taW5mb1tkaXNhYmxlZF17Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyZjk2YjR9LmJ0bi1pbnZlcnNle2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JhY2tncm91bmQtY29sb3I6IzM2MzYzNjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzQ0NCwjMjIyKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6IzIyMiAjMjIyICMwMDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpfS5idG4taW52ZXJzZS5hY3RpdmUsLmJ0bi1pbnZlcnNlLmRpc2FibGVkLC5idG4taW52ZXJzZTphY3RpdmUsLmJ0bi1pbnZlcnNlOmZvY3VzLC5idG4taW52ZXJzZTpob3ZlciwuYnRuLWludmVyc2VbZGlzYWJsZWRde2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjIyfWJ1dHRvbi5idG46Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bjo6LW1vei1mb2N1cy1pbm5lcntwYWRkaW5nOjA7Ym9yZGVyOjB9LmJ0bi1saW5rLC5idG4tbGluazphY3RpdmUsLmJ0bi1saW5rW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3gtc2hhZG93Om5vbmV9LmJ0bi1saW5re2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojMDhjO2JvcmRlci1yYWRpdXM6MH0uYnRuLWxpbms6Zm9jdXMsLmJ0bi1saW5rOmhvdmVye2NvbG9yOiMwMDU1ODA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi1saW5rW2Rpc2FibGVkXTpob3Zlcntjb2xvcjojMzMzO3RleHQtZGVjb3JhdGlvbjpub25lfS5idG4tZ3JvdXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjA7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLWxlZnQ6NXB4fS5idG4tdG9vbGJhcntmb250LXNpemU6MDttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5idG4tdG9vbGJhcj4uYnRuKy5idG4sLmJ0bi10b29sYmFyPi5idG4rLmJ0bi1ncm91cCwuYnRuLXRvb2xiYXI+LmJ0bi1ncm91cCsuYnRue21hcmdpbi1sZWZ0OjVweH0uYnRuLWdyb3VwPi5idG57cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bisuYnRue21hcmdpbi1sZWZ0Oi0xcHh9LmJ0bi1ncm91cD4uYnRuLC5idG4tZ3JvdXA+LmRyb3Bkb3duLW1lbnUsLmJ0bi1ncm91cD4ucG9wb3Zlcntmb250LXNpemU6MTRweH0uYnRuLWdyb3VwPi5idG4tbWluaXtmb250LXNpemU6MTAuNXB4fS5idG4tZ3JvdXA+LmJ0bi1zbWFsbHtmb250LXNpemU6MTEuOXB4fS5idG4tZ3JvdXA+LmJ0bi1sYXJnZXtmb250LXNpemU6MTcuNXB4fS5idG4tZ3JvdXA+LmJ0bjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5idG4tZ3JvdXA+LmJ0bjpsYXN0LWNoaWxkLC5idG4tZ3JvdXA+LmRyb3Bkb3duLXRvZ2dsZXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4fS5idG4tZ3JvdXA+LmJ0bi5sYXJnZTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NnB4fS5idG4tZ3JvdXA+LmJ0bi5sYXJnZTpsYXN0LWNoaWxkLC5idG4tZ3JvdXA+LmxhcmdlLmRyb3Bkb3duLXRvZ2dsZXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo2cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NnB4fS5idG4tZ3JvdXA+LmJ0bi5hY3RpdmUsLmJ0bi1ncm91cD4uYnRuOmFjdGl2ZSwuYnRuLWdyb3VwPi5idG46Zm9jdXMsLmJ0bi1ncm91cD4uYnRuOmhvdmVye3otaW5kZXg6Mn0uYnRuLWdyb3VwIC5kcm9wZG93bi10b2dnbGU6YWN0aXZlLC5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xle291dGxpbmU6MH0uYnRuLWdyb3VwPi5idG4rLmRyb3Bkb3duLXRvZ2dsZXtwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6OHB4O2JveC1zaGFkb3c6aW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LC4xMjUpLGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMiksMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KX0uYnRuLWdyb3VwPi5idG4tbWluaSsuZHJvcGRvd24tdG9nZ2xle3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDo1cHh9LmJ0bi1ncm91cD4uYnRuLWxhcmdlKy5kcm9wZG93bi10b2dnbGV7cGFkZGluZy1sZWZ0OjEycHg7cGFkZGluZy1yaWdodDoxMnB4fS5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3gtc2hhZG93Omluc2V0IDAgMnB4IDRweCByZ2JhKDAsMCwwLC4xNSksMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KX0uYnRuLWdyb3VwLm9wZW4gLmJ0bi5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojZTZlNmU2fS5idG4tZ3JvdXAub3BlbiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtY29sb3I6IzA0Y30uYnRuLWdyb3VwLm9wZW4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmODk0MDZ9LmJ0bi1ncm91cC5vcGVuIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiNiZDM2MmZ9LmJ0bi1ncm91cC5vcGVuIC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojNTFhMzUxfS5idG4tZ3JvdXAub3BlbiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xle2JhY2tncm91bmQtY29sb3I6IzJmOTZiNH0uYnRuLWdyb3VwLm9wZW4gLmJ0bi1pbnZlcnNlLmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjJ9LmJ0biAuY2FyZXR7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWxlZnQ6MH0uYnRuLWxhcmdlIC5jYXJldHttYXJnaW4tdG9wOjZweDtib3JkZXItbGVmdC13aWR0aDo1cHg7Ym9yZGVyLXJpZ2h0LXdpZHRoOjVweDtib3JkZXItdG9wLXdpZHRoOjVweH0uYnRuLW1pbmkgLmNhcmV0LC5idG4tc21hbGwgLmNhcmV0e21hcmdpbi10b3A6OHB4fS5kcm9wdXAgLmJ0bi1sYXJnZSAuY2FyZXR7Ym9yZGVyLWJvdHRvbS13aWR0aDo1cHh9LmJ0bi1kYW5nZXIgLmNhcmV0LC5idG4taW5mbyAuY2FyZXQsLmJ0bi1pbnZlcnNlIC5jYXJldCwuYnRuLXByaW1hcnkgLmNhcmV0LC5idG4tc3VjY2VzcyAuY2FyZXQsLmJ0bi13YXJuaW5nIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfS5idG4tZ3JvdXAtdmVydGljYWx7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRue2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTttYXgtd2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuKy5idG57bWFyZ2luLWxlZnQ6MDttYXJnaW4tdG9wOi0xcHh9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tbGFyZ2U6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czo2cHggNnB4IDAgMH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tbGFyZ2U6bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgMCA2cHggNnB4fS5hbGVydHt0ZXh0LXNoYWRvdzowIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjUpO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM30uYWxlcnQsLmFsZXJ0IGg0e2NvbG9yOiNjMDk4NTN9LmFsZXJ0IGg0e21hcmdpbjowfS5hbGVydCAuY2xvc2V7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0ycHg7cmlnaHQ6LTIxcHg7bGluZS1oZWlnaHQ6MjBweH0uYWxlcnQtc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDg7Ym9yZGVyLWNvbG9yOiNkNmU5YzY7Y29sb3I6IzQ2ODg0N30uYWxlcnQtc3VjY2VzcyBoNHtjb2xvcjojNDY4ODQ3fS5hbGVydC1kYW5nZXIsLmFsZXJ0LWVycm9ye2JhY2tncm91bmQtY29sb3I6I2YyZGVkZTtib3JkZXItY29sb3I6I2VlZDNkNztjb2xvcjojYjk0YTQ4fS5hbGVydC1kYW5nZXIgaDQsLmFsZXJ0LWVycm9yIGg0e2NvbG9yOiNiOTRhNDh9LmFsZXJ0LWluZm97YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojYmNlOGYxO2NvbG9yOiMzYTg3YWR9LmFsZXJ0LWluZm8gaDR7Y29sb3I6IzNhODdhZH0uYWxlcnQtYmxvY2t7cGFkZGluZy10b3A6MTRweDtwYWRkaW5nLWJvdHRvbToxNHB4fS5hbGVydC1ibG9jaz5wLC5hbGVydC1ibG9jaz51bHttYXJnaW4tYm90dG9tOjB9LmFsZXJ0LWJsb2NrIHArcHttYXJnaW4tdG9wOjVweH0ubmF2e21hcmdpbi1sZWZ0OjA7bWFyZ2luLWJvdHRvbToyMHB4O2xpc3Qtc3R5bGU6bm9uZX0ubmF2PmxpPmF7ZGlzcGxheTpibG9ja30ubmF2PmxpPmE6Zm9jdXMsLm5hdj5saT5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2VlZX0ubmF2PmxpPmE+aW1ne21heC13aWR0aDpub25lfS5uYXY+LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9Lm5hdi1oZWFkZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAxNXB4O2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiM5OTk7dGV4dC1zaGFkb3c6MCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lm5hdiBsaSsubmF2LWhlYWRlcnttYXJnaW4tdG9wOjlweH0ubmF2LWxpc3R7cGFkZGluZy1sZWZ0OjE1cHg7cGFkZGluZy1yaWdodDoxNXB4O21hcmdpbi1ib3R0b206MH0ubmF2LWxpc3QgLm5hdi1oZWFkZXIsLm5hdi1saXN0PmxpPmF7bWFyZ2luLWxlZnQ6LTE1cHg7bWFyZ2luLXJpZ2h0Oi0xNXB4O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuNSl9Lm5hdi1saXN0PmxpPmF7cGFkZGluZzozcHggMTVweH0ubmF2LWxpc3Q+LmFjdGl2ZT5hLC5uYXYtbGlzdD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi1saXN0Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjIpO2JhY2tncm91bmQtY29sb3I6IzA4Y30ubmF2LWxpc3QgW2NsYXNzKj0iIGljb24tIl0sLm5hdi1saXN0IFtjbGFzc149aWNvbi1de21hcmdpbi1yaWdodDoycHh9Lm5hdi1saXN0IC5kaXZpZGVye2hlaWdodDoxcHg7bWFyZ2luOjlweCAxcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmfS5uYXYtcGlsbHM6YWZ0ZXIsLm5hdi1waWxsczpiZWZvcmUsLm5hdi10YWJzOmFmdGVyLC5uYXYtdGFiczpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIiO2xpbmUtaGVpZ2h0OjB9Lm5hdi1waWxsczphZnRlciwubmF2LXRhYnM6YWZ0ZXJ7Y2xlYXI6Ym90aH0ubmF2LXBpbGxzPmxpLC5uYXYtdGFicz5saXtmbG9hdDpsZWZ0fS5uYXYtcGlsbHM+bGk+YSwubmF2LXRhYnM+bGk+YXtwYWRkaW5nLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjJweDtsaW5lLWhlaWdodDoxNHB4fS5uYXYtdGFic3tib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkfS5uYXYtdGFicz5saXttYXJnaW4tYm90dG9tOi0xcHh9Lm5hdi10YWJzPmxpPmF7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweDtsaW5lLWhlaWdodDoyMHB4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubmF2LXRhYnM+bGk+YTpmb2N1cywubmF2LXRhYnM+bGk+YTpob3Zlcntib3JkZXItY29sb3I6I2VlZSAjZWVlICNkZGR9Lm5hdi10YWJzPi5hY3RpdmU+YSwubmF2LXRhYnM+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicz4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6IzU1NTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOmRlZmF1bHR9Lm5hdi1waWxscz5saT5he3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luLXRvcDoycHg7bWFyZ2luLWJvdHRvbToycHg7Ym9yZGVyLXJhZGl1czo1cHh9Lm5hdi1waWxscz4uYWN0aXZlPmEsLm5hdi1waWxscz4uYWN0aXZlPmE6Zm9jdXMsLm5hdi1waWxscz4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwOGN9Lm5hdi1zdGFja2VkPmxpe2Zsb2F0Om5vbmV9Lm5hdi1zdGFja2VkPmxpPmF7bWFyZ2luLXJpZ2h0OjB9Lm5hdi10YWJzLm5hdi1zdGFja2Vke2JvcmRlci1ib3R0b206MH0ubmF2LXRhYnMubmF2LXN0YWNrZWQ+bGk+YXtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czowfS5uYXYtdGFicy5uYXYtc3RhY2tlZD5saTpmaXJzdC1jaGlsZD5he2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweH0ubmF2LXRhYnMubmF2LXN0YWNrZWQ+bGk6bGFzdC1jaGlsZD5he2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweH0ubmF2LXRhYnMubmF2LXN0YWNrZWQ+bGk+YTpmb2N1cywubmF2LXRhYnMubmF2LXN0YWNrZWQ+bGk+YTpob3Zlcntib3JkZXItY29sb3I6I2RkZDt6LWluZGV4OjJ9Lm5hdi1waWxscy5uYXYtc3RhY2tlZD5saT5he21hcmdpbi1ib3R0b206M3B4fS5uYXYtcGlsbHMubmF2LXN0YWNrZWQ+bGk6bGFzdC1jaGlsZD5he21hcmdpbi1ib3R0b206MXB4fS5uYXYtdGFicyAuZHJvcGRvd24tbWVudXtib3JkZXItcmFkaXVzOjAgMCA2cHggNnB4fS5uYXYtcGlsbHMgLmRyb3Bkb3duLW1lbnV7Ym9yZGVyLXJhZGl1czo2cHh9Lm5hdiAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiMwOGM7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDhjO21hcmdpbi10b3A6NnB4fS5uYXYgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyAuY2FyZXQsLm5hdiAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiMwMDU1ODA7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDA1NTgwfS5uYXYtdGFicyAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldHttYXJnaW4tdG9wOjhweH0ubmF2IC5hY3RpdmUgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0ubmF2LXRhYnMgLmFjdGl2ZSAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiM1NTU7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNTU1fS5uYXY+LmRyb3Bkb3duLmFjdGl2ZT5hOmZvY3VzLC5uYXY+LmRyb3Bkb3duLmFjdGl2ZT5hOmhvdmVye2N1cnNvcjpwb2ludGVyfS5uYXYtcGlsbHMgLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSwubmF2LXRhYnMgLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSwubmF2PmxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlPmE6Zm9jdXMsLm5hdj5saS5kcm9wZG93bi5vcGVuLmFjdGl2ZT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojOTk5O2JvcmRlci1jb2xvcjojOTk5fS5uYXYgbGkuZHJvcGRvd24ub3BlbiAuY2FyZXQsLm5hdiBsaS5kcm9wZG93bi5vcGVuIGE6Zm9jdXMgLmNhcmV0LC5uYXYgbGkuZHJvcGRvd24ub3BlbiBhOmhvdmVyIC5jYXJldCwubmF2IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmO29wYWNpdHk6MTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApfS50YWJzLXN0YWNrZWQgLm9wZW4+YTpmb2N1cywudGFicy1zdGFja2VkIC5vcGVuPmE6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM5OTl9LnRhYmJhYmxlOmFmdGVyLC50YWJiYWJsZTpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIiO2xpbmUtaGVpZ2h0OjB9LnRhYmJhYmxlOmFmdGVye2NsZWFyOmJvdGh9LnRhYi1jb250ZW50e292ZXJmbG93OmF1dG99LnRhYnMtYmVsb3c+Lm5hdi10YWJzLC50YWJzLWxlZnQ+Lm5hdi10YWJzLC50YWJzLXJpZ2h0Pi5uYXYtdGFic3tib3JkZXItYm90dG9tOjB9LnBpbGwtY29udGVudD4ucGlsbC1wYW5lLC50YWItY29udGVudD4udGFiLXBhbmV7ZGlzcGxheTpub25lfS5waWxsLWNvbnRlbnQ+LmFjdGl2ZSwudGFiLWNvbnRlbnQ+LmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS50YWJzLWJlbG93Pi5uYXYtdGFic3tib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS50YWJzLWJlbG93Pi5uYXYtdGFicz5saXttYXJnaW4tdG9wOi0xcHg7bWFyZ2luLWJvdHRvbTowfS50YWJzLWJlbG93Pi5uYXYtdGFicz5saT5he2JvcmRlci1yYWRpdXM6MCAwIDRweCA0cHh9LnRhYnMtYmVsb3c+Lm5hdi10YWJzPmxpPmE6Zm9jdXMsLnRhYnMtYmVsb3c+Lm5hdi10YWJzPmxpPmE6aG92ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItdG9wLWNvbG9yOiNkZGR9LnRhYnMtYmVsb3c+Lm5hdi10YWJzPi5hY3RpdmU+YSwudGFicy1iZWxvdz4ubmF2LXRhYnM+LmFjdGl2ZT5hOmZvY3VzLC50YWJzLWJlbG93Pi5uYXYtdGFicz4uYWN0aXZlPmE6aG92ZXJ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICNkZGQgI2RkZH0udGFicy1sZWZ0Pi5uYXYtdGFicz5saSwudGFicy1yaWdodD4ubmF2LXRhYnM+bGl7ZmxvYXQ6bm9uZX0udGFicy1sZWZ0Pi5uYXYtdGFicz5saT5hLC50YWJzLXJpZ2h0Pi5uYXYtdGFicz5saT5he21pbi13aWR0aDo3NHB4O21hcmdpbi1yaWdodDowO21hcmdpbi1ib3R0b206M3B4fS50YWJzLWxlZnQ+Lm5hdi10YWJze2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjE5cHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGRkfS50YWJzLWxlZnQ+Lm5hdi10YWJzPmxpPmF7bWFyZ2luLXJpZ2h0Oi0xcHg7Ym9yZGVyLXJhZGl1czo0cHggMCAwIDRweH0udGFicy1sZWZ0Pi5uYXYtdGFicz5saT5hOmZvY3VzLC50YWJzLWxlZnQ+Lm5hdi10YWJzPmxpPmE6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNlZWUgI2RkZCAjZWVlICNlZWV9LnRhYnMtbGVmdD4ubmF2LXRhYnMgLmFjdGl2ZT5hLC50YWJzLWxlZnQ+Lm5hdi10YWJzIC5hY3RpdmU+YTpmb2N1cywudGFicy1sZWZ0Pi5uYXYtdGFicyAuYWN0aXZlPmE6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNkZGQgdHJhbnNwYXJlbnQgI2RkZCAjZGRkfS50YWJzLXJpZ2h0Pi5uYXYtdGFic3tmbG9hdDpyaWdodDttYXJnaW4tbGVmdDoxOXB4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGRkfS50YWJzLXJpZ2h0Pi5uYXYtdGFicz5saT5he21hcmdpbi1sZWZ0Oi0xcHg7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMH0udGFicy1yaWdodD4ubmF2LXRhYnM+bGk+YTpmb2N1cywudGFicy1yaWdodD4ubmF2LXRhYnM+bGk+YTpob3Zlcntib3JkZXItY29sb3I6I2VlZSAjZWVlICNlZWUgI2RkZH0udGFicy1yaWdodD4ubmF2LXRhYnMgLmFjdGl2ZT5hLC50YWJzLXJpZ2h0Pi5uYXYtdGFicyAuYWN0aXZlPmE6Zm9jdXMsLnRhYnMtcmlnaHQ+Lm5hdi10YWJzIC5hY3RpdmU+YTpob3Zlcntib3JkZXItY29sb3I6I2RkZCAjZGRkICNkZGQgdHJhbnNwYXJlbnR9Lm5hdj4uZGlzYWJsZWQ+YXtjb2xvcjojOTk5fS5uYXY+LmRpc2FibGVkPmE6Zm9jdXMsLm5hdj4uZGlzYWJsZWQ+YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0fS5uYXZiYXJ7b3ZlcmZsb3c6dmlzaWJsZX0ubmF2YmFyLWlubmVye21pbi1oZWlnaHQ6NDBweDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmLCNmMmYyZjIpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNmZmYyZjJmMicsIEdyYWRpZW50VHlwZT0wKTtib3JkZXI6MXB4IHNvbGlkICNkNGQ0ZDQ7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDFweCA0cHggcmdiYSgwLDAsMCwuMDY1KX0ubmF2YmFyLWlubmVyOmFmdGVyLC5uYXZiYXItaW5uZXI6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiIjtsaW5lLWhlaWdodDowfS5uYXZiYXItaW5uZXI6YWZ0ZXJ7Y2xlYXI6Ym90aH0ubmF2YmFyIC5jb250YWluZXJ7d2lkdGg6YXV0b30ubmF2LWNvbGxhcHNlLmNvbGxhcHNle2hlaWdodDphdXRvO292ZXJmbG93OnZpc2libGV9Lm5hdmJhciAuYnJhbmR7ZmxvYXQ6bGVmdDtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweCAyMHB4O21hcmdpbi1sZWZ0Oi0yMHB4O2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjIwMDtjb2xvcjojNzc3O3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZn0ubmF2YmFyIC5icmFuZDpmb2N1cywubmF2YmFyIC5icmFuZDpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0ubmF2YmFyLXRleHR7bWFyZ2luLWJvdHRvbTowO2xpbmUtaGVpZ2h0OjQwcHg7Y29sb3I6Izc3N30ubmF2YmFyLWxpbmt7Y29sb3I6Izc3N30ubmF2YmFyLWxpbms6Zm9jdXMsLm5hdmJhci1saW5rOmhvdmVye2NvbG9yOiMzMzN9Lm5hdmJhciAuZGl2aWRlci12ZXJ0aWNhbHtoZWlnaHQ6NDBweDttYXJnaW46MCA5cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNmMmYyZjI7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZmZmfS5uYXZiYXIgLmJ0biwubmF2YmFyIC5idG4tZ3JvdXB7bWFyZ2luLXRvcDo1cHh9Lm5hdmJhciAuYnRuLWdyb3VwIC5idG4sLm5hdmJhciAuaW5wdXQtYXBwZW5kIC5idG4sLm5hdmJhciAuaW5wdXQtYXBwZW5kIC5idG4tZ3JvdXAsLm5hdmJhciAuaW5wdXQtcHJlcGVuZCAuYnRuLC5uYXZiYXIgLmlucHV0LXByZXBlbmQgLmJ0bi1ncm91cHttYXJnaW4tdG9wOjB9Lm5hdmJhci1mb3Jte21hcmdpbi1ib3R0b206MH0ubmF2YmFyLWZvcm06YWZ0ZXIsLm5hdmJhci1mb3JtOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6IiI7bGluZS1oZWlnaHQ6MH0ubmF2YmFyLWZvcm06YWZ0ZXJ7Y2xlYXI6Ym90aH0ubmF2YmFyLWZvcm0gLmNoZWNrYm94LC5uYXZiYXItZm9ybSAucmFkaW8sLm5hdmJhci1mb3JtIGlucHV0LC5uYXZiYXItZm9ybSBzZWxlY3R7bWFyZ2luLXRvcDo1cHh9Lm5hdmJhci1mb3JtIC5idG4sLm5hdmJhci1mb3JtIGlucHV0LC5uYXZiYXItZm9ybSBzZWxlY3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTowfS5uYXZiYXItZm9ybSBpbnB1dFt0eXBlPWNoZWNrYm94XSwubmF2YmFyLWZvcm0gaW5wdXRbdHlwZT1pbWFnZV0sLm5hdmJhci1mb3JtIGlucHV0W3R5cGU9cmFkaW9de21hcmdpbi10b3A6M3B4fS5uYXZiYXItZm9ybSAuaW5wdXQtYXBwZW5kLC5uYXZiYXItZm9ybSAuaW5wdXQtcHJlcGVuZHttYXJnaW4tdG9wOjVweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lm5hdmJhci1mb3JtIC5pbnB1dC1hcHBlbmQgaW5wdXQsLm5hdmJhci1mb3JtIC5pbnB1dC1wcmVwZW5kIGlucHV0e21hcmdpbi10b3A6MH0ubmF2YmFyLXNlYXJjaHtwb3NpdGlvbjpyZWxhdGl2ZTtmbG9hdDpsZWZ0O21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206MH0ubmF2YmFyLXNlYXJjaCAuc2VhcmNoLXF1ZXJ5e21hcmdpbi1ib3R0b206MDtwYWRkaW5nOjRweCAxNHB4O2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE7Ym9yZGVyLXJhZGl1czoxNXB4fS5uYXZiYXItc3RhdGljLXRvcHtwb3NpdGlvbjpzdGF0aWM7bWFyZ2luLWJvdHRvbTowfS5uYXZiYXItc3RhdGljLXRvcCAubmF2YmFyLWlubmVye2JvcmRlci1yYWRpdXM6MH0ubmF2YmFyLWZpeGVkLWJvdHRvbSwubmF2YmFyLWZpeGVkLXRvcHtwb3NpdGlvbjpmaXhlZDtyaWdodDowO2xlZnQ6MDt6LWluZGV4OjEwMzA7bWFyZ2luLWJvdHRvbTowfS5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItaW5uZXIsLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItaW5uZXJ7Ym9yZGVyLXdpZHRoOjAgMCAxcHh9Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1pbm5lcntib3JkZXItd2lkdGg6MXB4IDAgMH0ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWlubmVyLC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItaW5uZXJ7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO2JvcmRlci1yYWRpdXM6MH0ubmF2YmFyLWZpeGVkLWJvdHRvbSAuY29udGFpbmVyLC5uYXZiYXItZml4ZWQtdG9wIC5jb250YWluZXIsLm5hdmJhci1zdGF0aWMtdG9wIC5jb250YWluZXJ7d2lkdGg6OTQwcHh9Lm5hdmJhci1maXhlZC10b3B7dG9wOjB9Lm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1pbm5lciwubmF2YmFyLXN0YXRpYy10b3AgLm5hdmJhci1pbm5lcntib3gtc2hhZG93OjAgMXB4IDEwcHggcmdiYSgwLDAsMCwuMSl9Lm5hdmJhci1maXhlZC1ib3R0b217Ym90dG9tOjB9Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1pbm5lcntib3gtc2hhZG93OjAgLTFweCAxMHB4IHJnYmEoMCwwLDAsLjEpfS5uYXZiYXIgLm5hdntwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O21hcmdpbjowIDEwcHggMCAwfS5uYXZiYXIgLm5hdi5wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0O21hcmdpbi1yaWdodDowfS5uYXZiYXIgLm5hdj5saXtmbG9hdDpsZWZ0fS5uYXZiYXIgLm5hdj5saT5he2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDE1cHg7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmZ9Lm5hdmJhciAubmF2IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0e21hcmdpbi10b3A6OHB4fS5uYXZiYXIgLm5hdj5saT5hOmZvY3VzLC5uYXZiYXIgLm5hdj5saT5hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzMzMzt0ZXh0LWRlY29yYXRpb246bm9uZX0ubmF2YmFyIC5uYXY+LmFjdGl2ZT5hLC5uYXZiYXIgLm5hdj4uYWN0aXZlPmE6Zm9jdXMsLm5hdmJhciAubmF2Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojNTU1O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtib3gtc2hhZG93Omluc2V0IDAgM3B4IDhweCByZ2JhKDAsMCwwLC4xMjUpfS5uYXZiYXIgLmJ0bi1uYXZiYXJ7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O3BhZGRpbmc6N3B4IDEwcHg7bWFyZ2luLWxlZnQ6NXB4O21hcmdpbi1yaWdodDo1cHg7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7YmFja2dyb3VuZC1jb2xvcjojZWRlZGVkO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZjJmMmYyLCNlNWU1ZTUpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JvcmRlci1jb2xvcjojZTVlNWU1ICNlNWU1ZTUgI2JmYmZiZjtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMjUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpLDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMDc1KX0ubmF2YmFyIC5idG4tbmF2YmFyLmFjdGl2ZSwubmF2YmFyIC5idG4tbmF2YmFyLmRpc2FibGVkLC5uYXZiYXIgLmJ0bi1uYXZiYXI6YWN0aXZlLC5uYXZiYXIgLmJ0bi1uYXZiYXI6Zm9jdXMsLm5hdmJhciAuYnRuLW5hdmJhcjpob3ZlciwubmF2YmFyIC5idG4tbmF2YmFyW2Rpc2FibGVkXXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNX0ubmF2YmFyIC5idG4tbmF2YmFyIC5pY29uLWJhcntkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXJhZGl1czoxcHg7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjI1KX0uYnRuLW5hdmJhciAuaWNvbi1iYXIrLmljb24tYmFye21hcmdpbi10b3A6M3B4fS5uYXZiYXIgLm5hdj5saT4uZHJvcGRvd24tbWVudTpiZWZvcmV7Y29udGVudDonJztkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItbGVmdDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjdweCBzb2xpZCAjY2NjO2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMik7cG9zaXRpb246YWJzb2x1dGU7dG9wOi03cHg7bGVmdDo5cHh9Lm5hdmJhciAubmF2PmxpPi5kcm9wZG93bi1tZW51OmFmdGVye2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLWxlZnQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgI2ZmZjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDtsZWZ0OjEwcHh9Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdj5saT4uZHJvcGRvd24tbWVudTpiZWZvcmV7Ym9yZGVyLXRvcDo3cHggc29saWQgI2NjYztib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsLjIpO2JvcmRlci1ib3R0b206MDtib3R0b206LTdweDt0b3A6YXV0b30ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2PmxpPi5kcm9wZG93bi1tZW51OmFmdGVye2JvcmRlci10b3A6NnB4IHNvbGlkICNmZmY7Ym9yZGVyLWJvdHRvbTowO2JvdHRvbTotNnB4O3RvcDphdXRvfS5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bj5hOmZvY3VzIC5jYXJldCwubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24+YTpob3ZlciAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojMzMzO2JvcmRlci1ib3R0b20tY29sb3I6IzMzM30ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24uYWN0aXZlPi5kcm9wZG93bi10b2dnbGUsLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlPi5kcm9wZG93bi10b2dnbGUsLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTU7Y29sb3I6IzU1NX0ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24+LmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojNzc3O2JvcmRlci1ib3R0b20tY29sb3I6Izc3N30ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24uYWN0aXZlPi5kcm9wZG93bi10b2dnbGUgLmNhcmV0LC5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZT4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCwubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24ub3Blbj4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiM1NTU7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNTU1fS5uYXZiYXIgLm5hdj5saT4uZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0LC5uYXZiYXIgLnB1bGwtcmlnaHQ+bGk+LmRyb3Bkb3duLW1lbnV7bGVmdDphdXRvO3JpZ2h0OjB9Lm5hdmJhciAubmF2PmxpPi5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHQ6YmVmb3JlLC5uYXZiYXIgLnB1bGwtcmlnaHQ+bGk+LmRyb3Bkb3duLW1lbnU6YmVmb3Jle2xlZnQ6YXV0bztyaWdodDoxMnB4fS5uYXZiYXIgLm5hdj5saT4uZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0OmFmdGVyLC5uYXZiYXIgLnB1bGwtcmlnaHQ+bGk+LmRyb3Bkb3duLW1lbnU6YWZ0ZXJ7bGVmdDphdXRvO3JpZ2h0OjEzcHh9Lm5hdmJhciAubmF2PmxpPi5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHQgLmRyb3Bkb3duLW1lbnUsLm5hdmJhciAucHVsbC1yaWdodD5saT4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24tbWVudXtsZWZ0OmF1dG87cmlnaHQ6MTAwJTttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMXB4O2JvcmRlci1yYWRpdXM6NnB4IDAgNnB4IDZweH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOiMxYjFiMWI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCMyMjIsIzExMSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmYyMjIyMjInLCBlbmRDb2xvcnN0cj0nI2ZmMTExMTExJywgR3JhZGllbnRUeXBlPTApO2JvcmRlci1jb2xvcjojMjUyNTI1fS5uYXZiYXItaW52ZXJzZSAuYnJhbmQsLm5hdmJhci1pbnZlcnNlIC5uYXY+bGk+YXtjb2xvcjojOTk5O3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KX0ubmF2YmFyLWludmVyc2UgLmJyYW5kOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAuYnJhbmQ6aG92ZXIsLm5hdmJhci1pbnZlcnNlIC5uYXY+bGk+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdj5saT5hOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5icmFuZCwubmF2YmFyLWludmVyc2UgLm5hdmJhci10ZXh0e2NvbG9yOiM5OTl9Lm5hdmJhci1pbnZlcnNlIC5uYXY+bGk+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdj5saT5hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZn0ubmF2YmFyLWludmVyc2UgLm5hdiAuYWN0aXZlPmEsLm5hdmJhci1pbnZlcnNlIC5uYXYgLmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2IC5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzExMX0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5re2NvbG9yOiM5OTl9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluazpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5rOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1sZWZ0LWNvbG9yOiMxMTE7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMyMjJ9Lm5hdmJhci1pbnZlcnNlIC5uYXYgbGkuZHJvcGRvd24uYWN0aXZlPi5kcm9wZG93bi10b2dnbGUsLm5hdmJhci1pbnZlcnNlIC5uYXYgbGkuZHJvcGRvd24ub3Blbi5hY3RpdmU+LmRyb3Bkb3duLXRvZ2dsZSwubmF2YmFyLWludmVyc2UgLm5hdiBsaS5kcm9wZG93bi5vcGVuPi5kcm9wZG93bi10b2dnbGV7YmFja2dyb3VuZC1jb2xvcjojMTExO2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5uYXYgbGkuZHJvcGRvd24+YTpmb2N1cyAuY2FyZXQsLm5hdmJhci1pbnZlcnNlIC5uYXYgbGkuZHJvcGRvd24+YTpob3ZlciAuY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0ubmF2YmFyLWludmVyc2UgLm5hdiBsaS5kcm9wZG93bj4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldHtib3JkZXItdG9wLWNvbG9yOiM5OTk7Ym9yZGVyLWJvdHRvbS1jb2xvcjojOTk5fS5uYXZiYXItaW52ZXJzZSAubmF2IGxpLmRyb3Bkb3duLmFjdGl2ZT4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCwubmF2YmFyLWludmVyc2UgLm5hdiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZT4uZHJvcGRvd24tdG9nZ2xlIC5jYXJldCwubmF2YmFyLWludmVyc2UgLm5hdiBsaS5kcm9wZG93bi5vcGVuPi5kcm9wZG93bi10b2dnbGUgLmNhcmV0e2JvcmRlci10b3AtY29sb3I6I2ZmZjtib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItc2VhcmNoIC5zZWFyY2gtcXVlcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1MTUxNTE7Ym9yZGVyLWNvbG9yOiMxMTE7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSksMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7dHJhbnNpdGlvbjpub25lfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXNlYXJjaCAuc2VhcmNoLXF1ZXJ5Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6I2NjY30ubmF2YmFyLWludmVyc2UgLm5hdmJhci1zZWFyY2ggLnNlYXJjaC1xdWVyeTotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6I2NjY30ubmF2YmFyLWludmVyc2UgLm5hdmJhci1zZWFyY2ggLnNlYXJjaC1xdWVyeTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojY2NjfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXNlYXJjaCAuc2VhcmNoLXF1ZXJ5LmZvY3VzZWQsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItc2VhcmNoIC5zZWFyY2gtcXVlcnk6Zm9jdXN7cGFkZGluZzo1cHggMTVweDtjb2xvcjojMzMzO3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjA7Ym94LXNoYWRvdzowIDAgM3B4IHJnYmEoMCwwLDAsLjE1KTtvdXRsaW5lOjB9Lm5hdmJhci1pbnZlcnNlIC5idG4tbmF2YmFye2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JhY2tncm91bmQtY29sb3I6IzBlMGUwZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzE1MTUxNSwjMDQwNDA0KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtib3JkZXItY29sb3I6IzA0MDQwNCAjMDQwNDA0ICMwMDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpfS5uYXZiYXItaW52ZXJzZSAuYnRuLW5hdmJhci5hY3RpdmUsLm5hdmJhci1pbnZlcnNlIC5idG4tbmF2YmFyLmRpc2FibGVkLC5uYXZiYXItaW52ZXJzZSAuYnRuLW5hdmJhcjphY3RpdmUsLm5hdmJhci1pbnZlcnNlIC5idG4tbmF2YmFyOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAuYnRuLW5hdmJhcjpob3ZlciwubmF2YmFyLWludmVyc2UgLmJ0bi1uYXZiYXJbZGlzYWJsZWRde2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDQwNDA0fS5icmVhZGNydW1ie3BhZGRpbmc6OHB4IDE1cHg7bWFyZ2luOjAgMCAyMHB4O2xpc3Qtc3R5bGU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXJhZGl1czo0cHh9LmJyZWFkY3J1bWI+bGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmfS5icmVhZGNydW1iPmxpPi5kaXZpZGVye3BhZGRpbmc6MCA1cHg7Y29sb3I6I2NjY30uYnJlYWRjcnVtYj4uYWN0aXZle2NvbG9yOiM5OTl9LnBhZ2luYXRpb257bWFyZ2luOjIwcHggMH0ucGFnaW5hdGlvbiB1bHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDowO21hcmdpbi1ib3R0b206MDtib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNSl9LnBhZ2luYXRpb24gdWw+bGl7ZGlzcGxheTppbmxpbmV9LnBhZ2luYXRpb24gdWw+bGk+YSwucGFnaW5hdGlvbiB1bD5saT5zcGFue2Zsb2F0OmxlZnQ7cGFkZGluZzo0cHggMTJweDtsaW5lLWhlaWdodDoyMHB4O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLWxlZnQtd2lkdGg6MH0ucGFnaW5hdGlvbiB1bD4uYWN0aXZlPmEsLnBhZ2luYXRpb24gdWw+LmFjdGl2ZT5zcGFuLC5wYWdpbmF0aW9uIHVsPmxpPmE6Zm9jdXMsLnBhZ2luYXRpb24gdWw+bGk+YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9LnBhZ2luYXRpb24gdWw+LmFjdGl2ZT5hLC5wYWdpbmF0aW9uIHVsPi5hY3RpdmU+c3Bhbntjb2xvcjojOTk5O2N1cnNvcjpkZWZhdWx0fS5wYWdpbmF0aW9uIHVsPi5kaXNhYmxlZD5hLC5wYWdpbmF0aW9uIHVsPi5kaXNhYmxlZD5hOmZvY3VzLC5wYWdpbmF0aW9uIHVsPi5kaXNhYmxlZD5hOmhvdmVyLC5wYWdpbmF0aW9uIHVsPi5kaXNhYmxlZD5zcGFue2NvbG9yOiM5OTk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6ZGVmYXVsdH0ucGFnaW5hdGlvbiB1bD5saTpmaXJzdC1jaGlsZD5hLC5wYWdpbmF0aW9uIHVsPmxpOmZpcnN0LWNoaWxkPnNwYW57Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5wYWdpbmF0aW9uIHVsPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbiB1bD5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweH0ucGFnaW5hdGlvbi1jZW50ZXJlZHt0ZXh0LWFsaWduOmNlbnRlcn0ucGFnaW5hdGlvbi1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS5wYWdpbmF0aW9uLWxhcmdlIHVsPmxpPmEsLnBhZ2luYXRpb24tbGFyZ2UgdWw+bGk+c3BhbntwYWRkaW5nOjExcHggMTlweDtmb250LXNpemU6MTcuNXB4fS5wYWdpbmF0aW9uLWxhcmdlIHVsPmxpOmZpcnN0LWNoaWxkPmEsLnBhZ2luYXRpb24tbGFyZ2UgdWw+bGk6Zmlyc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjZweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjZweH0ucGFnaW5hdGlvbi1sYXJnZSB1bD5saTpsYXN0LWNoaWxkPmEsLnBhZ2luYXRpb24tbGFyZ2UgdWw+bGk6bGFzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjZweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo2cHh9LnBhZ2luYXRpb24tbWluaSB1bD5saTpmaXJzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLW1pbmkgdWw+bGk6Zmlyc3QtY2hpbGQ+c3BhbiwucGFnaW5hdGlvbi1zbWFsbCB1bD5saTpmaXJzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLXNtYWxsIHVsPmxpOmZpcnN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhZ2luYXRpb24tbWluaSB1bD5saTpsYXN0LWNoaWxkPmEsLnBhZ2luYXRpb24tbWluaSB1bD5saTpsYXN0LWNoaWxkPnNwYW4sLnBhZ2luYXRpb24tc21hbGwgdWw+bGk6bGFzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLXNtYWxsIHVsPmxpOmxhc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4fS5wYWdpbmF0aW9uLXNtYWxsIHVsPmxpPmEsLnBhZ2luYXRpb24tc21hbGwgdWw+bGk+c3BhbntwYWRkaW5nOjJweCAxMHB4O2ZvbnQtc2l6ZToxMS45cHh9LnBhZ2luYXRpb24tbWluaSB1bD5saT5hLC5wYWdpbmF0aW9uLW1pbmkgdWw+bGk+c3BhbntwYWRkaW5nOjAgNnB4O2ZvbnQtc2l6ZToxMC41cHh9LnBhZ2Vye21hcmdpbjoyMHB4IDA7bGlzdC1zdHlsZTpub25lO3RleHQtYWxpZ246Y2VudGVyfS5wYWdlcjphZnRlciwucGFnZXI6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiIjtsaW5lLWhlaWdodDowfS5wYWdlcjphZnRlcntjbGVhcjpib3RofS5wYWdlciBsaXtkaXNwbGF5OmlubGluZX0ucGFnZXIgbGk+YSwucGFnZXIgbGk+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjVweCAxNHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czoxNXB4fS5wYWdlciBsaT5hOmZvY3VzLC5wYWdlciBsaT5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNX0ucGFnZXIgLm5leHQ+YSwucGFnZXIgLm5leHQ+c3BhbntmbG9hdDpyaWdodH0ucGFnZXIgLnByZXZpb3VzPmEsLnBhZ2VyIC5wcmV2aW91cz5zcGFue2Zsb2F0OmxlZnR9LnBhZ2VyIC5kaXNhYmxlZD5hLC5wYWdlciAuZGlzYWJsZWQ+YTpmb2N1cywucGFnZXIgLmRpc2FibGVkPmE6aG92ZXIsLnBhZ2VyIC5kaXNhYmxlZD5zcGFue2NvbG9yOiM5OTk7YmFja2dyb3VuZC1jb2xvcjojZmZmO2N1cnNvcjpkZWZhdWx0fS5tb2RhbC1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjEwNDA7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tb2RhbC1iYWNrZHJvcC5mYWRle29wYWNpdHk6MH0ubW9kYWx7bGVmdDo1MCU7ei1pbmRleDoxMDUwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICM5OTk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4zKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgM3B4IDdweCByZ2JhKDAsMCwwLC4zKTtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3h9Lm1vZGFsLWhlYWRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWVlfS5tb2RhbC1oZWFkZXIgLmNsb3Nle21hcmdpbi10b3A6MnB4fS5tb2RhbC1oZWFkZXIgaDN7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MzBweH0ubW9kYWwtYm9keXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdy15OmF1dG99Lm1vZGFsLWZvcm17bWFyZ2luLWJvdHRvbTowfS5tb2RhbC1mb290ZXJ7bWFyZ2luLWJvdHRvbTowO3RleHQtYWxpZ246cmlnaHQ7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czowIDAgNnB4IDZweDtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgI2ZmZn0ubW9kYWwtZm9vdGVyOmFmdGVyLC5tb2RhbC1mb290ZXI6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiIjtsaW5lLWhlaWdodDowfS5tb2RhbC1mb290ZXI6YWZ0ZXJ7Y2xlYXI6Ym90aH0ubW9kYWwtZm9vdGVyIC5idG4rLmJ0bnttYXJnaW4tbGVmdDo1cHg7bWFyZ2luLWJvdHRvbTowfS5tb2RhbC1mb290ZXIgLmJ0bi1ncm91cCAuYnRuKy5idG57bWFyZ2luLWxlZnQ6LTFweH0ubW9kYWwtZm9vdGVyIC5idG4tYmxvY2srLmJ0bi1ibG9ja3ttYXJnaW4tbGVmdDowfS50b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dmlzaWJpbGl0eTp2aXNpYmxlO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuNDtvcGFjaXR5OjA7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MCl9LnRvb2x0aXAudG9we21hcmdpbi10b3A6LTNweDtwYWRkaW5nOjVweCAwfS50b29sdGlwLnJpZ2h0e21hcmdpbi1sZWZ0OjNweDtwYWRkaW5nOjAgNXB4fS50b29sdGlwLmJvdHRvbXttYXJnaW4tdG9wOjNweDtwYWRkaW5nOjVweCAwfS50b29sdGlwLmxlZnR7bWFyZ2luLWxlZnQ6LTNweDtwYWRkaW5nOjAgNXB4fS50b29sdGlwLWlubmVye21heC13aWR0aDoyMDBweDtwYWRkaW5nOjhweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweH0udG9vbHRpcC1hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LnRvb2x0aXAudG9wIC50b29sdGlwLWFycm93e2JvdHRvbTowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3d7dG9wOjUwJTtsZWZ0OjA7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDo1cHggNXB4IDVweCAwO2JvcmRlci1yaWdodC1jb2xvcjojMDAwfS50b29sdGlwLmxlZnQgLnRvb2x0aXAtYXJyb3d7dG9wOjUwJTtyaWdodDowO21hcmdpbi10b3A6LTVweDtib3JkZXItd2lkdGg6NXB4IDAgNXB4IDVweDtib3JkZXItbGVmdC1jb2xvcjojMDAwfS50b29sdGlwLmJvdHRvbSAudG9vbHRpcC1hcnJvd3t0b3A6MDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNXB4O2JvcmRlci13aWR0aDowIDVweCA1cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwfS5wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwMTA7ZGlzcGxheTpub25lO21heC13aWR0aDoyNzZweDtwYWRkaW5nOjFweDt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMik7d2hpdGUtc3BhY2U6bm9ybWFsfS5wb3BvdmVyLnRvcHttYXJnaW4tdG9wOi0xMHB4fS5wb3BvdmVyLnJpZ2h0e21hcmdpbi1sZWZ0OjEwcHh9LnBvcG92ZXIuYm90dG9te21hcmdpbi10b3A6MTBweH0ucG9wb3Zlci5sZWZ0e21hcmdpbi1sZWZ0Oi0xMHB4fS5wb3BvdmVyLXRpdGxle21hcmdpbjowO3BhZGRpbmc6OHB4IDE0cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE4cHg7YmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLXJhZGl1czo1cHggNXB4IDAgMH0ucG9wb3Zlci10aXRsZTplbXB0eXtkaXNwbGF5Om5vbmV9LnBvcG92ZXItY29udGVudHtwYWRkaW5nOjlweCAxNHB4fS5wb3BvdmVyIC5hcnJvdywucG9wb3ZlciAuYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LnBvcG92ZXIgLmFycm93e2JvcmRlci13aWR0aDoxMXB4fS5wb3BvdmVyIC5hcnJvdzphZnRlcntib3JkZXItd2lkdGg6MTBweDtjb250ZW50OiIifS5wb3BvdmVyLnRvcCAuYXJyb3d7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTExcHg7Ym9yZGVyLWJvdHRvbS13aWR0aDowO2JvcmRlci10b3AtY29sb3I6Izk5OTtib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3R0b206LTExcHh9LnBvcG92ZXIudG9wIC5hcnJvdzphZnRlcntib3R0b206MXB4O21hcmdpbi1sZWZ0Oi0xMHB4O2JvcmRlci1ib3R0b20td2lkdGg6MDtib3JkZXItdG9wLWNvbG9yOiNmZmZ9LnBvcG92ZXIucmlnaHQgLmFycm93e3RvcDo1MCU7bGVmdDotMTFweDttYXJnaW4tdG9wOi0xMXB4O2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXJpZ2h0LWNvbG9yOiM5OTk7Ym9yZGVyLXJpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsLjI1KX0ucG9wb3Zlci5yaWdodCAuYXJyb3c6YWZ0ZXJ7bGVmdDoxcHg7Ym90dG9tOi0xMHB4O2JvcmRlci1sZWZ0LXdpZHRoOjA7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNmZmZ9LnBvcG92ZXIuYm90dG9tIC5hcnJvd3tsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItdG9wLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjojOTk5O2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMjUpO3RvcDotMTFweH0ucG9wb3Zlci5ib3R0b20gLmFycm93OmFmdGVye3RvcDoxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0ucG9wb3Zlci5sZWZ0IC5hcnJvd3t0b3A6NTAlO3JpZ2h0Oi0xMXB4O21hcmdpbi10b3A6LTExcHg7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtY29sb3I6Izk5OTtib3JkZXItbGVmdC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LnBvcG92ZXIubGVmdCAuYXJyb3c6YWZ0ZXJ7cmlnaHQ6MXB4O2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LWNvbG9yOiNmZmY7Ym90dG9tOi0xMHB4fS50aHVtYm5haWxze21hcmdpbi1sZWZ0Oi0yMHB4O2xpc3Qtc3R5bGU6bm9uZX0udGh1bWJuYWlsczphZnRlciwudGh1bWJuYWlsczpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIiO2xpbmUtaGVpZ2h0OjB9LnRodW1ibmFpbHM6YWZ0ZXJ7Y2xlYXI6Ym90aH0ucm93LWZsdWlkIC50aHVtYm5haWxze21hcmdpbi1sZWZ0OjB9LnRodW1ibmFpbHM+bGl7ZmxvYXQ6bGVmdDttYXJnaW4tYm90dG9tOjIwcHg7bWFyZ2luLWxlZnQ6MjBweH0udGh1bWJuYWlse2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo0cHg7bGluZS1oZWlnaHQ6MjBweDtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDFweCAzcHggcmdiYSgwLDAsMCwuMDU1KTt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXR9YS50aHVtYm5haWw6Zm9jdXMsYS50aHVtYm5haWw6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMwOGM7Ym94LXNoYWRvdzowIDFweCA0cHggcmdiYSgwLDEwNSwyMTQsLjI1KX0udGh1bWJuYWlsPmltZ3tkaXNwbGF5OmJsb2NrO21heC13aWR0aDoxMDAlO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99LnRodW1ibmFpbCAuY2FwdGlvbntwYWRkaW5nOjlweDtjb2xvcjojNTU1fS5tZWRpYSwubWVkaWEtYm9keXtvdmVyZmxvdzpoaWRkZW47em9vbToxfS5tZWRpYSwubWVkaWEgLm1lZGlhe21hcmdpbi10b3A6MTVweH0ubWVkaWE6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5tZWRpYS1vYmplY3R7ZGlzcGxheTpibG9ja30ubWVkaWEtaGVhZGluZ3ttYXJnaW46MCAwIDVweH0ubWVkaWE+LnB1bGwtbGVmdHttYXJnaW4tcmlnaHQ6MTBweH0ubWVkaWE+LnB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6MTBweH0ubWVkaWEtbGlzdHttYXJnaW4tbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0uYmFkZ2UsLmxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MnB4IDRweDtmb250LXNpemU6MTEuODRweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTRweDtjb2xvcjojZmZmO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7YmFja2dyb3VuZC1jb2xvcjojOTk5fS5sYWJlbHtib3JkZXItcmFkaXVzOjNweH0uYmFkZ2V7cGFkZGluZy1sZWZ0OjlweDtwYWRkaW5nLXJpZ2h0OjlweDtib3JkZXItcmFkaXVzOjlweH0uYmFkZ2U6ZW1wdHksLmxhYmVsOmVtcHR5e2Rpc3BsYXk6bm9uZX1hLmJhZGdlOmZvY3VzLGEuYmFkZ2U6aG92ZXIsYS5sYWJlbDpmb2N1cyxhLmxhYmVsOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9LmJhZGdlLWltcG9ydGFudCwubGFiZWwtaW1wb3J0YW50e2JhY2tncm91bmQtY29sb3I6I2I5NGE0OH0uYmFkZ2UtaW1wb3J0YW50W2hyZWZdLC5sYWJlbC1pbXBvcnRhbnRbaHJlZl17YmFja2dyb3VuZC1jb2xvcjojOTUzYjM5fS5iYWRnZS13YXJuaW5nLC5sYWJlbC13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2Y4OTQwNn0uYmFkZ2Utd2FybmluZ1tocmVmXSwubGFiZWwtd2FybmluZ1tocmVmXXtiYWNrZ3JvdW5kLWNvbG9yOiNjNjc2MDV9LmJhZGdlLXN1Y2Nlc3MsLmxhYmVsLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojNDY4ODQ3fS5iYWRnZS1zdWNjZXNzW2hyZWZdLC5sYWJlbC1zdWNjZXNzW2hyZWZde2JhY2tncm91bmQtY29sb3I6IzM1NjYzNX0uYmFkZ2UtaW5mbywubGFiZWwtaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiMzYTg3YWR9LmJhZGdlLWluZm9baHJlZl0sLmxhYmVsLWluZm9baHJlZl17YmFja2dyb3VuZC1jb2xvcjojMmQ2OTg3fS5iYWRnZS1pbnZlcnNlLC5sYWJlbC1pbnZlcnNle2JhY2tncm91bmQtY29sb3I6IzMzM30uYmFkZ2UtaW52ZXJzZVtocmVmXSwubGFiZWwtaW52ZXJzZVtocmVmXXtiYWNrZ3JvdW5kLWNvbG9yOiMxYTFhMWF9LmJ0biAuYmFkZ2UsLmJ0biAubGFiZWx7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0xcHh9LmJ0bi1taW5pIC5iYWRnZSwuYnRuLW1pbmkgLmxhYmVse3RvcDowfUAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246NDBweCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX1ALW1zLWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246NDBweCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX1Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjo0MHB4IDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fS5wcm9ncmVzc3tvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4O2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmNztiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2Y1ZjVmNSwjZjlmOWY5KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmZmY1ZjVmNScsIGVuZENvbG9yc3RyPScjZmZmOWY5ZjknLCBHcmFkaWVudFR5cGU9MCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyLXJhZGl1czo0cHh9LnByb2dyZXNzIC5iYXJ7d2lkdGg6MDtoZWlnaHQ6MTAwJTtjb2xvcjojZmZmO2Zsb2F0OmxlZnQ7Zm9udC1zaXplOjEycHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JhY2tncm91bmQtY29sb3I6IzBlOTBkMjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzE0OWJkZiwjMDQ4MGJlKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmZjE0OWJkZicsIGVuZENvbG9yc3RyPScjZmYwNDgwYmUnLCBHcmFkaWVudFR5cGU9MCk7Ym94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSk7Ym94LXNpemluZzpib3JkZXItYm94O3RyYW5zaXRpb246d2lkdGggLjZzIGVhc2V9LnByb2dyZXNzIC5iYXIrLmJhcntib3gtc2hhZG93Omluc2V0IDFweCAwIDAgcmdiYSgwLDAsMCwuMTUpLGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjE1KX0ucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFye2JhY2tncm91bmQtY29sb3I6IzE0OWJkZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1zaXplOjQwcHggNDBweH0ucHJvZ3Jlc3MuYWN0aXZlIC5iYXJ7LXdlYmtpdC1hbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOy1tcy1hbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGV9LnByb2dyZXNzIC5iYXItZGFuZ2VyLC5wcm9ncmVzcy1kYW5nZXIgLmJhcntiYWNrZ3JvdW5kLWNvbG9yOiNkZDUxNGM7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNlZTVmNWIsI2M0M2MzNSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmZlZTVmNWInLCBlbmRDb2xvcnN0cj0nI2ZmYzQzYzM1JywgR3JhZGllbnRUeXBlPTApfS5wcm9ncmVzcy1kYW5nZXIucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLC5wcm9ncmVzcy1zdHJpcGVkIC5iYXItZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2VlNWY1YjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCl9LnByb2dyZXNzIC5iYXItc3VjY2VzcywucHJvZ3Jlc3Mtc3VjY2VzcyAuYmFye2JhY2tncm91bmQtY29sb3I6IzVlYjk1ZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzYyYzQ2MiwjNTdhOTU3KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmZjYyYzQ2MicsIGVuZENvbG9yc3RyPScjZmY1N2E5NTcnLCBHcmFkaWVudFR5cGU9MCl9LnByb2dyZXNzLXN0cmlwZWQgLmJhci1zdWNjZXNzLC5wcm9ncmVzcy1zdWNjZXNzLnByb2dyZXNzLXN0cmlwZWQgLmJhcntiYWNrZ3JvdW5kLWNvbG9yOiM2MmM0NjI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpfS5wcm9ncmVzcyAuYmFyLWluZm8sLnByb2dyZXNzLWluZm8gLmJhcntiYWNrZ3JvdW5kLWNvbG9yOiM0YmIxY2Y7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCM1YmMwZGUsIzMzOWJiOSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmY1YmMwZGUnLCBlbmRDb2xvcnN0cj0nI2ZmMzM5YmI5JywgR3JhZGllbnRUeXBlPTApfS5wcm9ncmVzcy1pbmZvLnByb2dyZXNzLXN0cmlwZWQgLmJhciwucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLWluZm97YmFja2dyb3VuZC1jb2xvcjojNWJjMGRlO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KX0ucHJvZ3Jlc3MgLmJhci13YXJuaW5nLC5wcm9ncmVzcy13YXJuaW5nIC5iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmFhNzMyO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmJiNDUwLCNmODk0MDYpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZmZmJiNDUwJywgZW5kQ29sb3JzdHI9JyNmZmY4OTQwNicsIEdyYWRpZW50VHlwZT0wKX0ucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLXdhcm5pbmcsLnByb2dyZXNzLXdhcm5pbmcucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFye2JhY2tncm91bmQtY29sb3I6I2ZiYjQ1MDtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCl9LmFjY29yZGlvbnttYXJnaW4tYm90dG9tOjIwcHh9LmFjY29yZGlvbi1ncm91cHttYXJnaW4tYm90dG9tOjJweDtib3JkZXI6MXB4IHNvbGlkICNlNWU1ZTU7Ym9yZGVyLXJhZGl1czo0cHh9LmFjY29yZGlvbi1oZWFkaW5ne2JvcmRlci1ib3R0b206MH0uYWNjb3JkaW9uLWhlYWRpbmcgLmFjY29yZGlvbi10b2dnbGV7ZGlzcGxheTpibG9jaztwYWRkaW5nOjhweCAxNXB4fS5hY2NvcmRpb24tdG9nZ2xle2N1cnNvcjpwb2ludGVyfS5hY2NvcmRpb24taW5uZXJ7cGFkZGluZzo5cHggMTVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZTVlNWU1fS5jYXJvdXNlbHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOjIwcHg7bGluZS1oZWlnaHQ6MX0uY2Fyb3VzZWwtaW5uZXJ7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmV9LmNhcm91c2VsLWlubmVyPi5pdGVte2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOi42cyBlYXNlLWluLW91dCBsZWZ0fS5jYXJvdXNlbC1pbm5lcj4uaXRlbT5hPmltZywuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0+aW1ne2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MX0uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZSwuY2Fyb3VzZWwtaW5uZXI+Lm5leHQsLmNhcm91c2VsLWlubmVyPi5wcmV2e2Rpc3BsYXk6YmxvY2t9LmNhcm91c2VsLWlubmVyPi5hY3RpdmV7bGVmdDowfS5jYXJvdXNlbC1pbm5lcj4ubmV4dCwuY2Fyb3VzZWwtaW5uZXI+LnByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0uY2Fyb3VzZWwtaW5uZXI+Lm5leHR7bGVmdDoxMDAlfS5jYXJvdXNlbC1pbm5lcj4ucHJldntsZWZ0Oi0xMDAlfS5jYXJvdXNlbC1pbm5lcj4ubmV4dC5sZWZ0LC5jYXJvdXNlbC1pbm5lcj4ucHJldi5yaWdodHtsZWZ0OjB9LmNhcm91c2VsLWlubmVyPi5hY3RpdmUubGVmdHtsZWZ0Oi0xMDAlfS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZlLnJpZ2h0e2xlZnQ6MTAwJX0uY2Fyb3VzZWwtY29udHJvbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NDAlO2xlZnQ6MTVweDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbi10b3A6LTIwcHg7Zm9udC1zaXplOjYwcHg7Zm9udC13ZWlnaHQ6MTAwO2xpbmUtaGVpZ2h0OjMwcHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiMyMjI7Ym9yZGVyOjNweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6MjNweDtvcGFjaXR5Oi41O2ZpbHRlcjphbHBoYShvcGFjaXR5PTUwKX0uY2Fyb3VzZWwtY29udHJvbC5yaWdodHtsZWZ0OmF1dG87cmlnaHQ6MTVweH0uY2Fyb3VzZWwtY29udHJvbDpmb2N1cywuY2Fyb3VzZWwtY29udHJvbDpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6Ljk7ZmlsdGVyOmFscGhhKG9wYWNpdHk9OTApfS5jYXJvdXNlbC1pbmRpY2F0b3Jze3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7ei1pbmRleDo1O21hcmdpbjowO2xpc3Qtc3R5bGU6bm9uZX0uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaXtkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDttYXJnaW4tbGVmdDo1cHg7dGV4dC1pbmRlbnQ6LTk5OXB4O2JhY2tncm91bmQtY29sb3I6I2NjYztiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItcmFkaXVzOjVweH0uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY2Fyb3VzZWwtY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwYWRkaW5nOjE1cHg7YmFja2dyb3VuZDojMzMzO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNzUpfS5jYXJvdXNlbC1jYXB0aW9uIGg0LC5jYXJvdXNlbC1jYXB0aW9uIHB7Y29sb3I6I2ZmZjtsaW5lLWhlaWdodDoyMHB4fS5jYXJvdXNlbC1jYXB0aW9uIGg0e21hcmdpbjowIDAgNXB4fS5jYXJvdXNlbC1jYXB0aW9uIHB7bWFyZ2luLWJvdHRvbTowfS5oZXJvLXVuaXR7cGFkZGluZzo2MHB4O21hcmdpbi1ib3R0b206MzBweDtmb250LXNpemU6MThweDtmb250LXdlaWdodDoyMDA7bGluZS1oZWlnaHQ6MzBweDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXItcmFkaXVzOjZweH0uaGVyby11bml0IGgxe21hcmdpbi1ib3R0b206MDtmb250LXNpemU6NjBweDtsaW5lLWhlaWdodDoxO2NvbG9yOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6LTFweH0uaGVyby11bml0IGxpe2xpbmUtaGVpZ2h0OjMwcHh9LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5oaWRle2Rpc3BsYXk6bm9uZX0uc2hvd3tkaXNwbGF5OmJsb2NrfS5pbnZpc2libGV7dmlzaWJpbGl0eTpoaWRkZW59LmFmZml4e3Bvc2l0aW9uOmZpeGVkfS8qIQogKiBCb290c3RyYXAgUmVzcG9uc2l2ZSB2Mi4zLjEKICoKICogQ29weXJpZ2h0IDIwMTIgVHdpdHRlciwgSW5jCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSB2Mi4wCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBEZXNpZ25lZCBhbmQgYnVpbHQgd2l0aCBhbGwgdGhlIGxvdmUgaW4gdGhlIHdvcmxkIEB0d2l0dGVyIGJ5IEBtZG8gYW5kIEBmYXQuCiAqLy5jbGVhcmZpeDphZnRlciwuY2xlYXJmaXg6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiIjtsaW5lLWhlaWdodDowfS5jbGVhcmZpeDphZnRlcntjbGVhcjpib3RofS5oaWRlLXRleHR7Zm9udDowLzAgYTtjb2xvcjp0cmFuc3BhcmVudDt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9LmlucHV0LWJsb2NrLWxldmVse2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjMwcHg7Ym94LXNpemluZzpib3JkZXItYm94fUAtbXMtdmlld3BvcnR7d2lkdGg6ZGV2aWNlLXdpZHRofS5oaWRkZW57ZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVufS5oaWRkZW4tZGVza3RvcCwudmlzaWJsZS1waG9uZSwudmlzaWJsZS10YWJsZXR7ZGlzcGxheTpub25lIWltcG9ydGFudH0udmlzaWJsZS1kZXNrdG9we2Rpc3BsYXk6aW5oZXJpdCFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjgzOXB4KXsuaGlkZGVuLWRlc2t0b3B7ZGlzcGxheTppbmhlcml0IWltcG9ydGFudH0udmlzaWJsZS1kZXNrdG9we2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnZpc2libGUtdGFibGV0e2Rpc3BsYXk6aW5oZXJpdCFpbXBvcnRhbnR9LmhpZGRlbi10YWJsZXR7ZGlzcGxheTpub25lIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5oaWRkZW4tZGVza3RvcHtkaXNwbGF5OmluaGVyaXQhaW1wb3J0YW50fS52aXNpYmxlLWRlc2t0b3B7ZGlzcGxheTpub25lIWltcG9ydGFudH0udmlzaWJsZS1waG9uZXtkaXNwbGF5OmluaGVyaXQhaW1wb3J0YW50fS5oaWRkZW4tcGhvbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH19LnZpc2libGUtcHJpbnR7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7LnZpc2libGUtcHJpbnR7ZGlzcGxheTppbmhlcml0IWltcG9ydGFudH0uaGlkZGVuLXByaW50e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnJvd3ttYXJnaW4tbGVmdDotMzBweH0ucm93OmFmdGVyLC5yb3c6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiIjtsaW5lLWhlaWdodDowfS5yb3c6YWZ0ZXJ7Y2xlYXI6Ym90aH1bY2xhc3MqPXNwYW5de2Zsb2F0OmxlZnQ7bWluLWhlaWdodDoxcHg7bWFyZ2luLWxlZnQ6MzBweH0uY29udGFpbmVyLC5uYXZiYXItZml4ZWQtYm90dG9tIC5jb250YWluZXIsLm5hdmJhci1maXhlZC10b3AgLmNvbnRhaW5lciwubmF2YmFyLXN0YXRpYy10b3AgLmNvbnRhaW5lciwuc3BhbjEye3dpZHRoOjExNzBweH0uc3BhbjExe3dpZHRoOjEwNzBweH0uc3BhbjEwe3dpZHRoOjk3MHB4fS5zcGFuOXt3aWR0aDo4NzBweH0uc3Bhbjh7d2lkdGg6NzcwcHh9LnNwYW43e3dpZHRoOjY3MHB4fS5zcGFuNnt3aWR0aDo1NzBweH0uc3BhbjV7d2lkdGg6NDcwcHh9LnNwYW40e3dpZHRoOjM3MHB4fS5zcGFuM3t3aWR0aDoyNzBweH0uc3BhbjJ7d2lkdGg6MTcwcHh9LnNwYW4xe3dpZHRoOjcwcHh9Lm9mZnNldDEye21hcmdpbi1sZWZ0OjEyMzBweH0ub2Zmc2V0MTF7bWFyZ2luLWxlZnQ6MTEzMHB4fS5vZmZzZXQxMHttYXJnaW4tbGVmdDoxMDMwcHh9Lm9mZnNldDl7bWFyZ2luLWxlZnQ6OTMwcHh9Lm9mZnNldDh7bWFyZ2luLWxlZnQ6ODMwcHh9Lm9mZnNldDd7bWFyZ2luLWxlZnQ6NzMwcHh9Lm9mZnNldDZ7bWFyZ2luLWxlZnQ6NjMwcHh9Lm9mZnNldDV7bWFyZ2luLWxlZnQ6NTMwcHh9Lm9mZnNldDR7bWFyZ2luLWxlZnQ6NDMwcHh9Lm9mZnNldDN7bWFyZ2luLWxlZnQ6MzMwcHh9Lm9mZnNldDJ7bWFyZ2luLWxlZnQ6MjMwcHh9Lm9mZnNldDF7bWFyZ2luLWxlZnQ6MTMwcHh9LnJvdy1mbHVpZHt3aWR0aDoxMDAlfS5yb3ctZmx1aWQ6YWZ0ZXIsLnJvdy1mbHVpZDpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIiO2xpbmUtaGVpZ2h0OjB9LnJvdy1mbHVpZDphZnRlcntjbGVhcjpib3RofS5yb3ctZmx1aWQgW2NsYXNzKj1zcGFuXXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7bWluLWhlaWdodDozMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmbG9hdDpsZWZ0O21hcmdpbi1sZWZ0OjIuNTY0MTAyNTYlfS5yb3ctZmx1aWQgW2NsYXNzKj1zcGFuXTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfS5yb3ctZmx1aWQgLmNvbnRyb2xzLXJvdyBbY2xhc3MqPXNwYW5dK1tjbGFzcyo9c3Bhbl17bWFyZ2luLWxlZnQ6Mi41NjQxMDI1NiV9LnJvdy1mbHVpZCAuc3BhbjEye3dpZHRoOjEwMCV9LnJvdy1mbHVpZCAuc3BhbjExe3dpZHRoOjkxLjQ1Mjk5MTQ1JX0ucm93LWZsdWlkIC5zcGFuMTB7d2lkdGg6ODIuOTA1OTgyOTElfS5yb3ctZmx1aWQgLnNwYW45e3dpZHRoOjc0LjM1ODk3NDM2JX0ucm93LWZsdWlkIC5zcGFuOHt3aWR0aDo2NS44MTE5NjU4MSV9LnJvdy1mbHVpZCAuc3Bhbjd7d2lkdGg6NTcuMjY0OTU3MjYlfS5yb3ctZmx1aWQgLnNwYW42e3dpZHRoOjQ4LjcxNzk0ODcyJX0ucm93LWZsdWlkIC5zcGFuNXt3aWR0aDo0MC4xNzA5NDAxNyV9LnJvdy1mbHVpZCAuc3BhbjR7d2lkdGg6MzEuNjIzOTMxNjIlfS5yb3ctZmx1aWQgLnNwYW4ze3dpZHRoOjIzLjA3NjkyMzA4JX0ucm93LWZsdWlkIC5zcGFuMnt3aWR0aDoxNC41Mjk5MTQ1MyV9LnJvdy1mbHVpZCAuc3BhbjF7d2lkdGg6NS45ODI5MDU5OCV9LnJvdy1mbHVpZCAub2Zmc2V0MTJ7bWFyZ2luLWxlZnQ6MTA1LjEyODIwNTEzJX0ucm93LWZsdWlkIC5vZmZzZXQxMjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDoxMDIuNTY0MTAyNTYlfS5yb3ctZmx1aWQgLm9mZnNldDExe21hcmdpbi1sZWZ0Ojk2LjU4MTE5NjU4JX0ucm93LWZsdWlkIC5vZmZzZXQxMTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo5NC4wMTcwOTQwMiV9LnJvdy1mbHVpZCAub2Zmc2V0MTB7bWFyZ2luLWxlZnQ6ODguMDM0MTg4MDMlfS5yb3ctZmx1aWQgLm9mZnNldDEwOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0Ojg1LjQ3MDA4NTQ3JX0ucm93LWZsdWlkIC5vZmZzZXQ5e21hcmdpbi1sZWZ0Ojc5LjQ4NzE3OTQ5JX0ucm93LWZsdWlkIC5vZmZzZXQ5OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0Ojc2LjkyMzA3NjkyJX0ucm93LWZsdWlkIC5vZmZzZXQ4e21hcmdpbi1sZWZ0OjcwLjk0MDE3MDk0JX0ucm93LWZsdWlkIC5vZmZzZXQ4OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjY4LjM3NjA2ODM4JX0ucm93LWZsdWlkIC5vZmZzZXQ3e21hcmdpbi1sZWZ0OjYyLjM5MzE2MjM5JX0ucm93LWZsdWlkIC5vZmZzZXQ3OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjU5LjgyOTA1OTgzJX0ucm93LWZsdWlkIC5vZmZzZXQ2e21hcmdpbi1sZWZ0OjUzLjg0NjE1Mzg1JX0ucm93LWZsdWlkIC5vZmZzZXQ2OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjUxLjI4MjA1MTI4JX0ucm93LWZsdWlkIC5vZmZzZXQ1e21hcmdpbi1sZWZ0OjQ1LjI5OTE0NTMlfS5yb3ctZmx1aWQgLm9mZnNldDU6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6NDIuNzM1MDQyNzQlfS5yb3ctZmx1aWQgLm9mZnNldDR7bWFyZ2luLWxlZnQ6MzYuNzUyMTM2NzUlfS5yb3ctZmx1aWQgLm9mZnNldDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MzQuMTg4MDM0MTklfS5yb3ctZmx1aWQgLm9mZnNldDN7bWFyZ2luLWxlZnQ6MjguMjA1MTI4MjElfS5yb3ctZmx1aWQgLm9mZnNldDM6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MjUuNjQxMDI1NjQlfS5yb3ctZmx1aWQgLm9mZnNldDJ7bWFyZ2luLWxlZnQ6MTkuNjU4MTE5NjYlfS5yb3ctZmx1aWQgLm9mZnNldDI6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MTcuMDk0MDE3MDklfS5yb3ctZmx1aWQgLm9mZnNldDF7bWFyZ2luLWxlZnQ6MTEuMTExMTExMTElfS5yb3ctZmx1aWQgLm9mZnNldDE6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6OC41NDcwMDg1NSV9LnVuZWRpdGFibGUtaW5wdXQsaW5wdXQsdGV4dGFyZWF7bWFyZ2luLWxlZnQ6MH0uY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0rW2NsYXNzKj1zcGFuXXttYXJnaW4tbGVmdDozMHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xMixpbnB1dC5zcGFuMTIsdGV4dGFyZWEuc3BhbjEye3dpZHRoOjExNTZweH0udW5lZGl0YWJsZS1pbnB1dC5zcGFuMTEsaW5wdXQuc3BhbjExLHRleHRhcmVhLnNwYW4xMXt3aWR0aDoxMDU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjEwLGlucHV0LnNwYW4xMCx0ZXh0YXJlYS5zcGFuMTB7d2lkdGg6OTU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjksaW5wdXQuc3BhbjksdGV4dGFyZWEuc3Bhbjl7d2lkdGg6ODU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjgsaW5wdXQuc3BhbjgsdGV4dGFyZWEuc3Bhbjh7d2lkdGg6NzU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjcsaW5wdXQuc3BhbjcsdGV4dGFyZWEuc3Bhbjd7d2lkdGg6NjU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjYsaW5wdXQuc3BhbjYsdGV4dGFyZWEuc3BhbjZ7d2lkdGg6NTU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjUsaW5wdXQuc3BhbjUsdGV4dGFyZWEuc3BhbjV7d2lkdGg6NDU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjQsaW5wdXQuc3BhbjQsdGV4dGFyZWEuc3BhbjR7d2lkdGg6MzU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjMsaW5wdXQuc3BhbjMsdGV4dGFyZWEuc3BhbjN7d2lkdGg6MjU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjIsaW5wdXQuc3BhbjIsdGV4dGFyZWEuc3BhbjJ7d2lkdGg6MTU2cHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjEsaW5wdXQuc3BhbjEsdGV4dGFyZWEuc3BhbjF7d2lkdGg6NTZweH0udGh1bWJuYWlsc3ttYXJnaW4tbGVmdDotMzBweH0udGh1bWJuYWlscz5saXttYXJnaW4tbGVmdDozMHB4fS5yb3ctZmx1aWQgLnRodW1ibmFpbHN7bWFyZ2luLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjgzOXB4KXsucm93e21hcmdpbi1sZWZ0Oi0yMHB4fS5yb3c6YWZ0ZXIsLnJvdzpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIiO2xpbmUtaGVpZ2h0OjB9LnJvdzphZnRlcntjbGVhcjpib3RofVtjbGFzcyo9c3Bhbl17ZmxvYXQ6bGVmdDttaW4taGVpZ2h0OjFweDttYXJnaW4tbGVmdDoyMHB4fS5jb250YWluZXIsLm5hdmJhci1maXhlZC1ib3R0b20gLmNvbnRhaW5lciwubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLC5uYXZiYXItc3RhdGljLXRvcCAuY29udGFpbmVyLC5zcGFuMTJ7d2lkdGg6NzI0cHh9LnNwYW4xMXt3aWR0aDo2NjJweH0uc3BhbjEwe3dpZHRoOjYwMHB4fS5zcGFuOXt3aWR0aDo1MzhweH0uc3Bhbjh7d2lkdGg6NDc2cHh9LnNwYW43e3dpZHRoOjQxNHB4fS5zcGFuNnt3aWR0aDozNTJweH0uc3BhbjV7d2lkdGg6MjkwcHh9LnNwYW40e3dpZHRoOjIyOHB4fS5zcGFuM3t3aWR0aDoxNjZweH0uc3BhbjJ7d2lkdGg6MTA0cHh9LnNwYW4xe3dpZHRoOjQycHh9Lm9mZnNldDEye21hcmdpbi1sZWZ0Ojc2NHB4fS5vZmZzZXQxMXttYXJnaW4tbGVmdDo3MDJweH0ub2Zmc2V0MTB7bWFyZ2luLWxlZnQ6NjQwcHh9Lm9mZnNldDl7bWFyZ2luLWxlZnQ6NTc4cHh9Lm9mZnNldDh7bWFyZ2luLWxlZnQ6NTE2cHh9Lm9mZnNldDd7bWFyZ2luLWxlZnQ6NDU0cHh9Lm9mZnNldDZ7bWFyZ2luLWxlZnQ6MzkycHh9Lm9mZnNldDV7bWFyZ2luLWxlZnQ6MzMwcHh9Lm9mZnNldDR7bWFyZ2luLWxlZnQ6MjY4cHh9Lm9mZnNldDN7bWFyZ2luLWxlZnQ6MjA2cHh9Lm9mZnNldDJ7bWFyZ2luLWxlZnQ6MTQ0cHh9Lm9mZnNldDF7bWFyZ2luLWxlZnQ6ODJweH0ucm93LWZsdWlke3dpZHRoOjEwMCV9LnJvdy1mbHVpZDphZnRlciwucm93LWZsdWlkOmJlZm9yZXtkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6IiI7bGluZS1oZWlnaHQ6MH0ucm93LWZsdWlkOmFmdGVye2NsZWFyOmJvdGh9LnJvdy1mbHVpZCBbY2xhc3MqPXNwYW5de2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjMwcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6Mi43NjI0MzA5NCV9LnJvdy1mbHVpZCBbY2xhc3MqPXNwYW5dOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LnJvdy1mbHVpZCAuY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0rW2NsYXNzKj1zcGFuXXttYXJnaW4tbGVmdDoyLjc2MjQzMDk0JX0ucm93LWZsdWlkIC5zcGFuMTJ7d2lkdGg6MTAwJX0ucm93LWZsdWlkIC5zcGFuMTF7d2lkdGg6OTEuNDM2NDY0MDklfS5yb3ctZmx1aWQgLnNwYW4xMHt3aWR0aDo4Mi44NzI5MjgxOCV9LnJvdy1mbHVpZCAuc3Bhbjl7d2lkdGg6NzQuMzA5MzkyMjclfS5yb3ctZmx1aWQgLnNwYW44e3dpZHRoOjY1Ljc0NTg1NjM1JX0ucm93LWZsdWlkIC5zcGFuN3t3aWR0aDo1Ny4xODIzMjA0NCV9LnJvdy1mbHVpZCAuc3BhbjZ7d2lkdGg6NDguNjE4Nzg0NTMlfS5yb3ctZmx1aWQgLnNwYW41e3dpZHRoOjQwLjA1NTI0ODYyJX0ucm93LWZsdWlkIC5zcGFuNHt3aWR0aDozMS40OTE3MTI3MSV9LnJvdy1mbHVpZCAuc3BhbjN7d2lkdGg6MjIuOTI4MTc2OCV9LnJvdy1mbHVpZCAuc3BhbjJ7d2lkdGg6MTQuMzY0NjQwODglfS5yb3ctZmx1aWQgLnNwYW4xe3dpZHRoOjUuODAxMTA0OTclfS5yb3ctZmx1aWQgLm9mZnNldDEye21hcmdpbi1sZWZ0OjEwNS41MjQ4NjE4OCV9LnJvdy1mbHVpZCAub2Zmc2V0MTI6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MTAyLjc2MjQzMDk0JX0ucm93LWZsdWlkIC5vZmZzZXQxMXttYXJnaW4tbGVmdDo5Ni45NjEzMjU5NyV9LnJvdy1mbHVpZCAub2Zmc2V0MTE6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6OTQuMTk4ODk1MDMlfS5yb3ctZmx1aWQgLm9mZnNldDEwe21hcmdpbi1sZWZ0Ojg4LjM5Nzc5MDA2JX0ucm93LWZsdWlkIC5vZmZzZXQxMDpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4NS42MzUzNTkxMiV9LnJvdy1mbHVpZCAub2Zmc2V0OXttYXJnaW4tbGVmdDo3OS44MzQyNTQxNCV9LnJvdy1mbHVpZCAub2Zmc2V0OTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo3Ny4wNzE4MjMyJX0ucm93LWZsdWlkIC5vZmZzZXQ4e21hcmdpbi1sZWZ0OjcxLjI3MDcxODIzJX0ucm93LWZsdWlkIC5vZmZzZXQ4OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjY4LjUwODI4NzI5JX0ucm93LWZsdWlkIC5vZmZzZXQ3e21hcmdpbi1sZWZ0OjYyLjcwNzE4MjMyJX0ucm93LWZsdWlkIC5vZmZzZXQ3OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjU5Ljk0NDc1MTM4JX0ucm93LWZsdWlkIC5vZmZzZXQ2e21hcmdpbi1sZWZ0OjU0LjE0MzY0NjQxJX0ucm93LWZsdWlkIC5vZmZzZXQ2OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjUxLjM4MTIxNTQ3JX0ucm93LWZsdWlkIC5vZmZzZXQ1e21hcmdpbi1sZWZ0OjQ1LjU4MDExMDUlfS5yb3ctZmx1aWQgLm9mZnNldDU6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6NDIuODE3Njc5NTYlfS5yb3ctZmx1aWQgLm9mZnNldDR7bWFyZ2luLWxlZnQ6MzcuMDE2NTc0NTklfS5yb3ctZmx1aWQgLm9mZnNldDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MzQuMjU0MTQzNjUlfS5yb3ctZmx1aWQgLm9mZnNldDN7bWFyZ2luLWxlZnQ6MjguNDUzMDM4NjclfS5yb3ctZmx1aWQgLm9mZnNldDM6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MjUuNjkwNjA3NzMlfS5yb3ctZmx1aWQgLm9mZnNldDJ7bWFyZ2luLWxlZnQ6MTkuODg5NTAyNzYlfS5yb3ctZmx1aWQgLm9mZnNldDI6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MTcuMTI3MDcxODIlfS5yb3ctZmx1aWQgLm9mZnNldDF7bWFyZ2luLWxlZnQ6MTEuMzI1OTY2ODUlfS5yb3ctZmx1aWQgLm9mZnNldDE6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6OC41NjM1MzU5MSV9LnVuZWRpdGFibGUtaW5wdXQsaW5wdXQsdGV4dGFyZWF7bWFyZ2luLWxlZnQ6MH0uY29udHJvbHMtcm93IFtjbGFzcyo9c3Bhbl0rW2NsYXNzKj1zcGFuXXttYXJnaW4tbGVmdDoyMHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xMixpbnB1dC5zcGFuMTIsdGV4dGFyZWEuc3BhbjEye3dpZHRoOjcxMHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xMSxpbnB1dC5zcGFuMTEsdGV4dGFyZWEuc3BhbjExe3dpZHRoOjY0OHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4xMCxpbnB1dC5zcGFuMTAsdGV4dGFyZWEuc3BhbjEwe3dpZHRoOjU4NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW45LGlucHV0LnNwYW45LHRleHRhcmVhLnNwYW45e3dpZHRoOjUyNHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW44LGlucHV0LnNwYW44LHRleHRhcmVhLnNwYW44e3dpZHRoOjQ2MnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW43LGlucHV0LnNwYW43LHRleHRhcmVhLnNwYW43e3dpZHRoOjQwMHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW42LGlucHV0LnNwYW42LHRleHRhcmVhLnNwYW42e3dpZHRoOjMzOHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW41LGlucHV0LnNwYW41LHRleHRhcmVhLnNwYW41e3dpZHRoOjI3NnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW40LGlucHV0LnNwYW40LHRleHRhcmVhLnNwYW40e3dpZHRoOjIxNHB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4zLGlucHV0LnNwYW4zLHRleHRhcmVhLnNwYW4ze3dpZHRoOjE1MnB4fS51bmVkaXRhYmxlLWlucHV0LnNwYW4yLGlucHV0LnNwYW4yLHRleHRhcmVhLnNwYW4ye3dpZHRoOjkwcHh9LnVuZWRpdGFibGUtaW5wdXQuc3BhbjEsaW5wdXQuc3BhbjEsdGV4dGFyZWEuc3BhbjF7d2lkdGg6MjhweH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpe2JvZHl7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4fS5uYXZiYXItZml4ZWQtYm90dG9tLC5uYXZiYXItZml4ZWQtdG9wLC5uYXZiYXItc3RhdGljLXRvcHttYXJnaW4tbGVmdDotMjBweDttYXJnaW4tcmlnaHQ6LTIwcHh9LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nOjB9LmRsLWhvcml6b250YWwgZHR7ZmxvYXQ6bm9uZTtjbGVhcjpub25lO3dpZHRoOmF1dG87dGV4dC1hbGlnbjpsZWZ0fS5kbC1ob3Jpem9udGFsIGRke21hcmdpbi1sZWZ0OjB9LmNvbnRhaW5lcnt3aWR0aDphdXRvfS5yb3ctZmx1aWR7d2lkdGg6MTAwJX0ucm93LC50aHVtYm5haWxze21hcmdpbi1sZWZ0OjB9LnRodW1ibmFpbHM+bGl7ZmxvYXQ6bm9uZTttYXJnaW4tbGVmdDowfS5yb3ctZmx1aWQgW2NsYXNzKj1zcGFuXSwudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9c3Bhbl0sW2NsYXNzKj1zcGFuXXtmbG9hdDpub25lO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXJnaW4tbGVmdDowO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucm93LWZsdWlkIC5zcGFuMTIsLnNwYW4xMnt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucm93LWZsdWlkIFtjbGFzcyo9b2Zmc2V0XTpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfS5pbnB1dC1sYXJnZSwuaW5wdXQteGxhcmdlLC5pbnB1dC14eGxhcmdlLC51bmVkaXRhYmxlLWlucHV0LGlucHV0W2NsYXNzKj1zcGFuXSxzZWxlY3RbY2xhc3MqPXNwYW5dLHRleHRhcmVhW2NsYXNzKj1zcGFuXXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7bWluLWhlaWdodDozMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaW5wdXQtYXBwZW5kIGlucHV0LC5pbnB1dC1hcHBlbmQgaW5wdXRbY2xhc3MqPXNwYW5dLC5pbnB1dC1wcmVwZW5kIGlucHV0LC5pbnB1dC1wcmVwZW5kIGlucHV0W2NsYXNzKj1zcGFuXXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvfS5jb250cm9scy1yb3cgW2NsYXNzKj1zcGFuXStbY2xhc3MqPXNwYW5de21hcmdpbi1sZWZ0OjB9Lm1vZGFse3Bvc2l0aW9uOmZpeGVkO3RvcDoyMHB4O2xlZnQ6MjBweDtyaWdodDoyMHB4O3dpZHRoOmF1dG87bWFyZ2luOjB9Lm1vZGFsLmZhZGV7dG9wOi0xMDBweH0ubW9kYWwuZmFkZS5pbnt0b3A6MjBweH19QG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpey5uYXYtY29sbGFwc2V7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5wYWdlLWhlYWRlciBoMSBzbWFsbHtkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjIwcHh9aW5wdXRbdHlwZT1jaGVja2JveF0saW5wdXRbdHlwZT1yYWRpb117Ym9yZGVyOjFweCBzb2xpZCAjY2NjfS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWx7ZmxvYXQ6bm9uZTt3aWR0aDphdXRvO3BhZGRpbmctdG9wOjA7dGV4dC1hbGlnbjpsZWZ0fS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2xze21hcmdpbi1sZWZ0OjB9LmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1saXN0e3BhZGRpbmctdG9wOjB9LmZvcm0taG9yaXpvbnRhbCAuZm9ybS1hY3Rpb25ze3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH0ubWVkaWEgLnB1bGwtbGVmdCwubWVkaWEgLnB1bGwtcmlnaHR7ZmxvYXQ6bm9uZTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MTBweH0ubWVkaWEtb2JqZWN0e21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9Lm1vZGFse3RvcDoxMHB4O2xlZnQ6MTBweDtyaWdodDoxMHB4fS5tb2RhbC1oZWFkZXIgLmNsb3Nle3BhZGRpbmc6MTBweDttYXJnaW46LTEwcHh9LmNhcm91c2VsLWNhcHRpb257cG9zaXRpb246c3RhdGljfX1AbWVkaWEgKG1heC13aWR0aDo4MzlweCl7Ym9keXtwYWRkaW5nLXRvcDowfS5uYXZiYXItZml4ZWQtYm90dG9tLC5uYXZiYXItZml4ZWQtdG9we3Bvc2l0aW9uOnN0YXRpY30ubmF2YmFyLWZpeGVkLXRvcHttYXJnaW4tYm90dG9tOjIwcHh9Lm5hdmJhci1maXhlZC1ib3R0b217bWFyZ2luLXRvcDoyMHB4fS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItaW5uZXIsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1pbm5lcntwYWRkaW5nOjVweH0ubmF2YmFyIC5jb250YWluZXJ7d2lkdGg6YXV0bztwYWRkaW5nOjB9Lm5hdmJhciAuYnJhbmR7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O21hcmdpbjowIDAgMCAtNXB4fS5uYXYtY29sbGFwc2V7Y2xlYXI6Ym90aH0ubmF2LWNvbGxhcHNlIC5uYXZ7ZmxvYXQ6bm9uZTttYXJnaW46MCAwIDEwcHh9Lm5hdi1jb2xsYXBzZSAubmF2Pmxpe2Zsb2F0Om5vbmV9Lm5hdi1jb2xsYXBzZSAubmF2PmxpPmF7bWFyZ2luLWJvdHRvbToycHh9Lm5hdi1jb2xsYXBzZSAubmF2Pi5kaXZpZGVyLXZlcnRpY2Fse2Rpc3BsYXk6bm9uZX0ubmF2LWNvbGxhcHNlIC5uYXYgLm5hdi1oZWFkZXJ7Y29sb3I6Izc3Nzt0ZXh0LXNoYWRvdzpub25lfS5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYSwubmF2LWNvbGxhcHNlIC5uYXY+bGk+YXtwYWRkaW5nOjlweCAxNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNzc3O2JvcmRlci1yYWRpdXM6M3B4fS5uYXYtY29sbGFwc2UgLmJ0bntwYWRkaW5nOjRweCAxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtib3JkZXItcmFkaXVzOjRweH0ubmF2LWNvbGxhcHNlIC5kcm9wZG93bi1tZW51IGxpK2xpIGF7bWFyZ2luLWJvdHRvbToycHh9Lm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudSBhOmZvY3VzLC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYTpob3ZlciwubmF2LWNvbGxhcHNlIC5uYXY+bGk+YTpmb2N1cywubmF2LWNvbGxhcHNlIC5uYXY+bGk+YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMmYyZjJ9Lm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYSwubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAubmF2PmxpPmF7Y29sb3I6Izk5OX0ubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudSBhOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2LWNvbGxhcHNlIC5kcm9wZG93bi1tZW51IGE6aG92ZXIsLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLm5hdj5saT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2LWNvbGxhcHNlIC5uYXY+bGk+YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMxMTF9Lm5hdi1jb2xsYXBzZS5pbiAuYnRuLWdyb3Vwe21hcmdpbi10b3A6NXB4O3BhZGRpbmc6MH0ubmF2LWNvbGxhcHNlIC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOnN0YXRpYzt0b3A6YXV0bztsZWZ0OmF1dG87ZmxvYXQ6bm9uZTtkaXNwbGF5Om5vbmU7bWF4LXdpZHRoOm5vbmU7bWFyZ2luOjAgMTVweDtwYWRkaW5nOjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lfS5uYXYtY29sbGFwc2UgLm9wZW4+LmRyb3Bkb3duLW1lbnV7ZGlzcGxheTpibG9ja30ubmF2LWNvbGxhcHNlIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyLC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnU6YWZ0ZXIsLm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudTpiZWZvcmUsLm5hdi1jb2xsYXBzZSAubmF2PmxpPi5kcm9wZG93bi1tZW51OmFmdGVyLC5uYXYtY29sbGFwc2UgLm5hdj5saT4uZHJvcGRvd24tbWVudTpiZWZvcmV7ZGlzcGxheTpub25lfS5uYXYtY29sbGFwc2UgLm5hdmJhci1mb3JtLC5uYXYtY29sbGFwc2UgLm5hdmJhci1zZWFyY2h7ZmxvYXQ6bm9uZTtwYWRkaW5nOjEwcHggMTVweDttYXJnaW46MTBweCAwO2JvcmRlci10b3A6MXB4IHNvbGlkICNmMmYyZjI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YyZjJmMjtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAubmF2YmFyLWZvcm0sLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLm5hdmJhci1zZWFyY2h7Ym9yZGVyLXRvcC1jb2xvcjojMTExO2JvcmRlci1ib3R0b20tY29sb3I6IzExMX0ubmF2YmFyIC5uYXYtY29sbGFwc2UgLm5hdi5wdWxsLXJpZ2h0e2Zsb2F0Om5vbmU7bWFyZ2luLWxlZnQ6MH0ubmF2LWNvbGxhcHNlLC5uYXYtY29sbGFwc2UuY29sbGFwc2V7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowfS5uYXZiYXIgLmJ0bi1uYXZiYXJ7ZGlzcGxheTpibG9ja30ubmF2YmFyLXN0YXRpYyAubmF2YmFyLWlubmVye3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH19QG1lZGlhIChtaW4td2lkdGg6ODM5cHggKyAxKXsubmF2LWNvbGxhcHNlLmNvbGxhcHNle2hlaWdodDphdXRvIWltcG9ydGFudDtvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH19LmxpZ2h0Ym94e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MDt6LWluZGV4OjEwNTA7cG9zaXRpb246cmVsYXRpdmU7dG9wOjcwcHg7b3V0bGluZTowfS5saWdodGJveCAuaGlkZXtkaXNwbGF5Om5vbmV9LmxpZ2h0Ym94IC5pbntkaXNwbGF5OmJsb2NrfS5saWdodGJveC1jb250ZW50e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubGlnaHRib3gtY29udGVudCAubGlnaHRib3gtY2FwdGlvbntwYWRkaW5nOjIlO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTFweDtyaWdodDoxMnB4O2JvdHRvbToxMXB4O2JhY2tncm91bmQ6IzAwMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAtMXB4IDAgIzAwMDt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4zKTtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4fS5saWdodGJveC1oZWFkZXIgLmNsb3Nle2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0Oi0xNnB4O21hcmdpbi10b3A6LTE2cHg7Zm9udC1zaXplOjJlbTtvcGFjaXR5Oi44O2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0ubGlnaHRib3gtaGVhZGVyIC5jbG9zZSA6aG92ZXJ7b3BhY2l0eTouNDtmaWx0ZXI6YWxwaGEob3BhY2l0eT00MCl9LyohCiAqIEJvb3RzdHJhcCBNb2RhbAogKgogKiBDb3B5cmlnaHQgSm9yZGFuIFNjaHJvdGVyCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSB2Mi4wCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKi8ubW9kYWwtb3BlbntvdmVyZmxvdzpoaWRkZW59Lm1vZGFsLW9wZW4ucGFnZS1vdmVyZmxvdyAubW9kYWwtc2Nyb2xsYWJsZSwubW9kYWwtb3Blbi5wYWdlLW92ZXJmbG93IC5wYWdlLWNvbnRhaW5lciwubW9kYWwtb3Blbi5wYWdlLW92ZXJmbG93IC5wYWdlLWNvbnRhaW5lciAubmF2YmFyLWZpeGVkLWJvdHRvbSwubW9kYWwtb3Blbi5wYWdlLW92ZXJmbG93IC5wYWdlLWNvbnRhaW5lciAubmF2YmFyLWZpeGVkLXRvcHtvdmVyZmxvdy15OnNjcm9sbH1AbWVkaWEgKG1heC13aWR0aDo5NzlweCl7Lm1vZGFsLW9wZW4ucGFnZS1vdmVyZmxvdyAucGFnZS1jb250YWluZXIgLm5hdmJhci1maXhlZC1ib3R0b20sLm1vZGFsLW9wZW4ucGFnZS1vdmVyZmxvdyAucGFnZS1jb250YWluZXIgLm5hdmJhci1maXhlZC10b3B7b3ZlcmZsb3cteTp2aXNpYmxlfX0ubW9kYWwtc2Nyb2xsYWJsZXtwb3NpdGlvbjpmaXhlZDt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvdmVyZmxvdzphdXRvfS5tb2RhbHtvdXRsaW5lOjA7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDowO3RvcDo1MCU7b3ZlcmZsb3c6dmlzaWJsZX0ubW9kYWwuZmFkZXt0b3A6LTEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGxpbmVhcix0b3AgLjNzIGVhc2Utb3V0LGJvdHRvbSAuM3MgZWFzZS1vdXQsbWFyZ2luLXRvcCAuM3MgZWFzZS1vdXQ7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGxpbmVhcix0b3AgLjNzIGVhc2Utb3V0LGJvdHRvbSAuM3MgZWFzZS1vdXQsbWFyZ2luLXRvcCAuM3MgZWFzZS1vdXQ7LW8tdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBsaW5lYXIsdG9wIC4zcyBlYXNlLW91dCxib3R0b20gLjNzIGVhc2Utb3V0LG1hcmdpbi10b3AgLjNzIGVhc2Utb3V0O3RyYW5zaXRpb246b3BhY2l0eSAuM3MgbGluZWFyLHRvcCAuM3MgZWFzZS1vdXQsYm90dG9tIC4zcyBlYXNlLW91dCxtYXJnaW4tdG9wIC4zcyBlYXNlLW91dH0ubW9kYWwuZmFkZS5pbnt0b3A6NTAlfS5tb2RhbC1ib2R5e21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzp2aXNpYmxlfS5tb2RhbC5tb2RhbC1hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojk1MH0ubW9kYWwgLmxvYWRpbmctbWFza3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo2cHh9Lm1vZGFsLWJhY2tkcm9wLm1vZGFsLWFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6OTQwfS5tb2RhbC1iYWNrZHJvcCwubW9kYWwtYmFja2Ryb3AuZmFkZS5pbntvcGFjaXR5Oi43O2ZpbHRlcjphbHBoYShvcGFjaXR5PTcwKTtiYWNrZ3JvdW5kOiNmZmZ9Lm1vZGFsLmNvbnRhaW5lcnt3aWR0aDo5NDBweDttYXJnaW4tbGVmdDotNDcwcHh9Lm1vZGFsLW92ZXJmbG93Lm1vZGFse3RvcDoxJX0ubW9kYWwtb3ZlcmZsb3cubW9kYWwuZmFkZXt0b3A6LTEwMCV9Lm1vZGFsLW92ZXJmbG93Lm1vZGFsLmZhZGUuaW57dG9wOjElfS5tb2RhbC1vdmVyZmxvdyAubW9kYWwtYm9keXtvdmVyZmxvdzphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lm1vZGFsLmNvbnRhaW5lcnt3aWR0aDoxMTcwcHg7bWFyZ2luLWxlZnQ6LTU4NXB4fX1AbWVkaWEgKG1heC13aWR0aDo5NzlweCl7Lm1vZGFsLC5tb2RhbC5jb250YWluZXIsLm1vZGFsLm1vZGFsLW92ZXJmbG93e3RvcDoxJTtyaWdodDoxJTtsZWZ0OjElO2JvdHRvbTphdXRvO3dpZHRoOmF1dG8haW1wb3J0YW50O2hlaWdodDphdXRvIWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudH0ubW9kYWwuY29udGFpbmVyLmZhZGUuaW4sLm1vZGFsLmZhZGUuaW4sLm1vZGFsLm1vZGFsLW92ZXJmbG93LmZhZGUuaW57dG9wOjElO2JvdHRvbTphdXRvfS5tb2RhbC1ib2R5LC5tb2RhbC1vdmVyZmxvdyAubW9kYWwtYm9keXtwb3NpdGlvbjpzdGF0aWM7bWFyZ2luOjA7aGVpZ2h0OmF1dG8haW1wb3J0YW50O21heC1oZWlnaHQ6bm9uZSFpbXBvcnRhbnQ7b3ZlcmZsb3c6dmlzaWJsZSFpbXBvcnRhbnR9Lm1vZGFsLWZvb3RlciwubW9kYWwtb3ZlcmZsb3cgLm1vZGFsLWZvb3Rlcntwb3NpdGlvbjpzdGF0aWN9fS5sb2FkaW5nLXNwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTttYXJnaW46LTEycHggMCAwIC0xMnB4fS5hbmltYXRlZHstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczstbW96LWFuaW1hdGlvbi1kdXJhdGlvbjoxczstby1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoOy1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoOy1vLWFuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDthbmltYXRpb24tZmlsbC1tb2RlOmJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlezAlLDEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMCUsMzAlLDUwJSw3MCUsOTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfTIwJSw0MCUsNjAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfX1ALW1vei1rZXlmcmFtZXMgc2hha2V7MCUsMTAwJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwJSwzMCUsNTAlLDcwJSw5MCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9MjAlLDQwJSw2MCUsODAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9fUAtby1rZXlmcmFtZXMgc2hha2V7MCUsMTAwJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMCUsMzAlLDUwJSw3MCUsOTAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX0yMCUsNDAlLDYwJSw4MCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9fUBrZXlmcmFtZXMgc2hha2V7MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMCUsMzAlLDUwJSw3MCUsOTAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX0yMCUsNDAlLDYwJSw4MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9fS5zaGFrZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNoYWtlOy1tb3otYW5pbWF0aW9uLW5hbWU6c2hha2U7LW8tYW5pbWF0aW9uLW5hbWU6c2hha2U7YW5pbWF0aW9uLW5hbWU6c2hha2V9QC13ZWJraXQta2V5ZnJhbWVzIHBhc3NpbmctdGhyb3VnaHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDQwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KX0zMCUsNzAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNDBweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00MHB4KX19QC1tb3ota2V5ZnJhbWVzIHBhc3NpbmctdGhyb3VnaHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDQwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KX0zMCUsNzAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNDBweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00MHB4KX19QGtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2h7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCl9MzAlLDcwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC00MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC00MHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC00MHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNDBweCl9fUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZS1pbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDQwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KX0zMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUAtbW96LWtleWZyYW1lcyBzbGlkZS1pbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDQwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KX0zMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgc2xpZGUtaW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSg0MHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCl9MzAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfTEwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfTIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUAtbW96LWtleWZyYW1lcyBwdWxzZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9MTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9MjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QGtleWZyYW1lcyBwdWxzZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9MTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9MjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19LmRyb3B6b25lLC5kcm9wem9uZSAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZHJvcHpvbmUuZHotY2xpY2thYmxle2N1cnNvcjpwb2ludGVyfS5kcm9wem9uZS5kei1jbGlja2FibGUgKntjdXJzb3I6ZGVmYXVsdH0uZHJvcHpvbmUuZHotY2xpY2thYmxlIC5kei1tZXNzYWdlLC5kcm9wem9uZS5kei1jbGlja2FibGUgLmR6LW1lc3NhZ2UgKntjdXJzb3I6cG9pbnRlcn0uZHJvcHpvbmUuZHotc3RhcnRlZCAuZHotbWVzc2FnZXtkaXNwbGF5Om5vbmV9LmRyb3B6b25lLmR6LWRyYWctaG92ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkfS5kcm9wem9uZS5kei1kcmFnLWhvdmVyIC5kei1tZXNzYWdle29wYWNpdHk6LjV9LmRyb3B6b25lIC5kei1tZXNzYWdle3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjoyZW0gMH0uZHJvcHpvbmUgLmR6LXByZXZpZXd7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO21hcmdpbjoxNnB4O21pbi1oZWlnaHQ6MTAwcHh9LmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVye3otaW5kZXg6MTAwMH0uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZmlsZS1wcmV2aWV3IC5kei1pbWFnZXtib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZDojOTk5O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZWVlLCNkZGQpfS5kcm9wem9uZSAuZHotcHJldmlldy5kei1maWxlLXByZXZpZXcgLmR6LWRldGFpbHN7b3BhY2l0eToxfS5kcm9wem9uZSAuZHotcHJldmlldy5kei1pbWFnZS1wcmV2aWV3e2JhY2tncm91bmQ6I2ZmZn0uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotaW1hZ2UtcHJldmlldyAuZHotZGV0YWlsc3std2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgbGluZWFyOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBsaW5lYXI7LW1zLXRyYW5zaXRpb246b3BhY2l0eSAuMnMgbGluZWFyOy1vLXRyYW5zaXRpb246b3BhY2l0eSAuMnMgbGluZWFyO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgbGluZWFyfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcmVtb3Zle2ZvbnQtc2l6ZToxNHB4O3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOm5vbmV9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1yZW1vdmU6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uZHJvcHpvbmUgLmR6LXByZXZpZXc6aG92ZXIgLmR6LWRldGFpbHN7b3BhY2l0eToxfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlsc3t6LWluZGV4OjIwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtvcGFjaXR5OjA7Zm9udC1zaXplOjEzcHg7bWluLXdpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzoyZW0gMWVtO3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOnJnYmEoMCwwLDAsLjkpO2xpbmUtaGVpZ2h0OjE1MCV9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1zaXple21hcmdpbi1ib3R0b206MWVtO2ZvbnQtc2l6ZToxNnB4fS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWV7d2hpdGUtc3BhY2U6bm93cmFwfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWU6aG92ZXIgc3Bhbntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjAwLDIwMCwyMDAsLjgpO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCl9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpub3QoOmhvdmVyKXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOm5vdCg6aG92ZXIpIHNwYW57Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lIHNwYW4sLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1zaXplIHNwYW57YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KTtwYWRkaW5nOjAgLjRlbTtib3JkZXItcmFkaXVzOjNweH0uZHJvcHpvbmUgLmR6LXByZXZpZXc6aG92ZXIgLmR6LWltYWdlIGltZ3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjA1LDEuMDUpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMDUsMS4wNSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjA1LDEuMDUpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjA1LDEuMDUpO3RyYW5zZm9ybTpzY2FsZSgxLjA1LDEuMDUpOy13ZWJraXQtZmlsdGVyOmJsdXIoOHB4KTtmaWx0ZXI6Ymx1cig4cHgpfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotaW1hZ2V7Ym9yZGVyLXJhZGl1czoyMHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMjBweDtoZWlnaHQ6MTIwcHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt6LWluZGV4OjEwfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotaW1hZ2UgaW1ne2Rpc3BsYXk6YmxvY2t9LmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LXN1Y2Nlc3MgLmR6LXN1Y2Nlc3MtbWFya3std2Via2l0LWFuaW1hdGlvbjpwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKC43NywwLC4xNzUsMSk7LW1vei1hbmltYXRpb246cGFzc2luZy10aHJvdWdoIDNzIGN1YmljLWJlemllciguNzcsMCwuMTc1LDEpOy1tcy1hbmltYXRpb246cGFzc2luZy10aHJvdWdoIDNzIGN1YmljLWJlemllciguNzcsMCwuMTc1LDEpOy1vLWFuaW1hdGlvbjpwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKC43NywwLC4xNzUsMSk7YW5pbWF0aW9uOnBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoLjc3LDAsLjE3NSwxKX0uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3IgLmR6LWVycm9yLW1hcmt7b3BhY2l0eToxOy13ZWJraXQtYW5pbWF0aW9uOnNsaWRlLWluIDNzIGN1YmljLWJlemllciguNzcsMCwuMTc1LDEpOy1tb3otYW5pbWF0aW9uOnNsaWRlLWluIDNzIGN1YmljLWJlemllciguNzcsMCwuMTc1LDEpOy1tcy1hbmltYXRpb246c2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKC43NywwLC4xNzUsMSk7LW8tYW5pbWF0aW9uOnNsaWRlLWluIDNzIGN1YmljLWJlemllciguNzcsMCwuMTc1LDEpO2FuaW1hdGlvbjpzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoLjc3LDAsLjE3NSwxKX0uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1hcmssLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmt7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7ei1pbmRleDo1MDA7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yN3B4O21hcmdpbi10b3A6LTI3cHh9LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrIHN2ZywuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFyayBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS5kcm9wem9uZSAuZHotcHJldmlldy5kei1wcm9jZXNzaW5nIC5kei1wcm9ncmVzc3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnMgbGluZWFyOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGxpbmVhcjstbXMtdHJhbnNpdGlvbjphbGwgLjJzIGxpbmVhcjstby10cmFuc2l0aW9uOmFsbCAuMnMgbGluZWFyO3RyYW5zaXRpb246YWxsIC4ycyBsaW5lYXJ9LmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWNvbXBsZXRlIC5kei1wcm9ncmVzc3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UtaW47LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UtaW47LW1zLXRyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZS1pbjstby10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlLWlufS5kcm9wem9uZSAuZHotcHJldmlldzpub3QoLmR6LXByb2Nlc3NpbmcpIC5kei1wcm9ncmVzc3std2Via2l0LWFuaW1hdGlvbjpwdWxzZSA2cyBlYXNlIGluZmluaXRlOy1tb3otYW5pbWF0aW9uOnB1bHNlIDZzIGVhc2UgaW5maW5pdGU7LW1zLWFuaW1hdGlvbjpwdWxzZSA2cyBlYXNlIGluZmluaXRlOy1vLWFuaW1hdGlvbjpwdWxzZSA2cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjpwdWxzZSA2cyBlYXNlIGluZmluaXRlfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcHJvZ3Jlc3N7b3BhY2l0eToxO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxNnB4O2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLXRvcDotOHB4O3dpZHRoOjgwcHg7bWFyZ2luLWxlZnQ6LTQwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW59LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1wcm9ncmVzcyAuZHotdXBsb2Fke2JhY2tncm91bmQ6IzMzMztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzY2NiwjNDQ0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7Ym90dG9tOjA7d2lkdGg6MDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOndpZHRoIDMwMG1zIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOndpZHRoIDMwMG1zIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246d2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjp3aWR0aCAzMDBtcyBlYXNlLWluLW91dH0uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3IgLmR6LWVycm9yLW1lc3NhZ2V7ZGlzcGxheTpibG9ja30uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3I6aG92ZXIgLmR6LWVycm9yLW1lc3NhZ2V7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdle3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMDAwO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7ZGlzcGxheTpub25lO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTstbW96LXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTstbXMtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlOy1vLXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1zaXplOjEzcHg7dG9wOjEzMHB4O2xlZnQ6LTEwcHg7d2lkdGg6MTQwcHg7YmFja2dyb3VuZDojYmUyNjI2O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjYmUyNjI2LCNhOTIyMjIpO3BhZGRpbmc6LjVlbSAxLjJlbTtjb2xvcjojZmZmfS5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWVzc2FnZTphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNnB4O2xlZnQ6NjRweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkICNiZTI2MjZ9LyohCiAqIGpRdWVyeSBjb250ZXh0TWVudSAtIFBsdWdpbiBmb3Igc2ltcGxlIGNvbnRleHRNZW51IGhhbmRsaW5nCiAqCiAqIFZlcnNpb246IDEuNi42CiAqCiAqIEF1dGhvcnM6IFJvZG5leSBSZWhtLCBBZGR5IE9zbWFuaSAocGF0Y2hlcyBmb3IgRkYpCiAqIFdlYjogaHR0cDovL21lZGlhbGl6ZS5naXRodWIuY29tL2pRdWVyeS1jb250ZXh0TWVudS8KICoKICogTGljZW5zZWQgdW5kZXIKICogICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlCiAqICAgR1BMIHYzIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9HUEwtMy4wCiAqCiAqLy5jb250ZXh0LW1lbnUtbGlzdHttaW4td2lkdGg6MTIwcHg7bWF4LXdpZHRoOjI1MHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xpc3Qtc3R5bGUtdHlwZTpub25lO2JvcmRlcjoxcHggc29saWQgI0RERDstd2Via2l0LWJveC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsLjUpOy1tb3otYm94LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwuNSk7LW1zLWJveC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsLjUpOy1vLWJveC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsLjUpfS5jb250ZXh0LW1lbnUtaXRlbT5sYWJlbD5pbnB1dCwuY29udGV4dC1tZW51LWl0ZW0+bGFiZWw+dGV4dGFyZWF7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0Oy1tb3otdXNlci1zZWxlY3Q6dGV4dDstbXMtdXNlci1zZWxlY3Q6dGV4dDt1c2VyLXNlbGVjdDp0ZXh0fS5jb250ZXh0LW1lbnUtaXRlbS5ob3ZlcntjdXJzb3I6cG9pbnRlcn0uY29udGV4dC1tZW51LWl0ZW0uZGlzYWJsZWR7Y29sb3I6IzY2Nn0uY29udGV4dC1tZW51LXN1Ym1lbnU6YWZ0ZXJ7Y29udGVudDoiPiI7Y29sb3I6IzY2Njtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDozcHg7ei1pbmRleDoxfS5jb250ZXh0LW1lbnUtaXRlbS5pY29ue21pbi1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LmNvbnRleHQtbWVudS1pbnB1dD5sYWJlbD4qe3ZlcnRpY2FsLWFsaWduOnRvcH0uY29udGV4dC1tZW51LWlucHV0PmxhYmVsPmlucHV0W3R5cGU9Y2hlY2tib3hdLC5jb250ZXh0LW1lbnUtaW5wdXQ+bGFiZWw+aW5wdXRbdHlwZT1yYWRpb117bWFyZ2luLWxlZnQ6LTE3cHh9LmNvbnRleHQtbWVudS1pbnB1dD5sYWJlbD5zcGFue21hcmdpbi1sZWZ0OjVweH0uY29udGV4dC1tZW51LWlucHV0PmxhYmVsLC5jb250ZXh0LW1lbnUtaW5wdXQ+bGFiZWw+aW5wdXRbdHlwZT10ZXh0XSwuY29udGV4dC1tZW51LWlucHV0PmxhYmVsPnNlbGVjdCwuY29udGV4dC1tZW51LWlucHV0PmxhYmVsPnRleHRhcmVhe2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbXMtYm94LXNpemluZzpib3JkZXItYm94Oy1vLWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNvbnRleHQtbWVudS1pbnB1dD5sYWJlbD50ZXh0YXJlYXtoZWlnaHQ6MTAwcHh9LmNvbnRleHQtbWVudS1pdGVtPi5jb250ZXh0LW1lbnUtbGlzdHtkaXNwbGF5Om5vbmU7cmlnaHQ6LTVweDt0b3A6NXB4fS5jb250ZXh0LW1lbnUtaXRlbS5ob3Zlcj4uY29udGV4dC1tZW51LWxpc3R7ZGlzcGxheTpibG9ja30uY29udGV4dC1tZW51LWFjY2Vzc2tleXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfSosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94fWJvZHksaHRtbHtmb250LWZhbWlseTonT3BlbiBTYW5zJyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMDAlO3BhZGRpbmc6MDttYXJnaW46MH1ib2R5e3BhZGRpbmctdG9wOjMycHg7Zm9udC13ZWlnaHQ6MjAwO2JhY2tncm91bmQ6I2VjZWNlYztvdmVyZmxvdzotbW96LXNjcm9sbGJhcnMtdmVydGljYWx9LmJ0bntiYWNrZ3JvdW5kLWltYWdlOm5vbmUhaW1wb3J0YW50O3RleHQtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JvcmRlci1jb2xvcjpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fS5idG46Zm9jdXN7b3V0bGluZTowfS5idG4taW52ZXJzZXtiYWNrZ3JvdW5kLWltYWdlOm5vbmUhaW1wb3J0YW50O2JhY2tncm91bmQ6IzMzM31wcmUubm8tcHJldHRpZnkscHJlLnByZXR0eXByaW50e2hlaWdodDozMDBweDttYXJnaW46MCFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7b3ZlcmZsb3c6c2Nyb2xsO2JvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnR9LmlucHV0LWFwcGVuZCAuYWRkLW9uOmxhc3QtY2hpbGQsLmlucHV0LWFwcGVuZCAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ+LmRyb3Bkb3duLXRvZ2dsZSwuaW5wdXQtYXBwZW5kIC5idG46bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50fVtjbGFzcyo9IiByZmljb24tIl0sW2NsYXNzXj1yZmljb24tXXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbi10b3A6MXB4O2xpbmUtaGVpZ2h0OjE2cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3A7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS5yZmljb24tY2xpcGJvYXJkLWFwcGx5e2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9jbGlwYm9hcmRfYXBwbHkucG5nKX0ucmZpY29uLWNsaXBib2FyZC1jbGVhcntiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY2xpcGJvYXJkX2NsZWFyLnBuZyl9LnJmaWNvbi11cGxvYWR7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL3VwbG9hZC5wbmcpfS5idG57Ym9yZGVyLXJhZGl1czowfS5jb250YWluZXItZmx1aWR7bWFyZ2luLXRvcDoxMHB4IWltcG9ydGFudH0uaW1nLXByZWNvbnRhaW5lcnttYXJnaW46YXV0bzt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6bm9uZX0uaW1nLWNvbnRhaW5lcntoZWlnaHQ6OTFweDt3aWR0aDoxMjJweDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6dGFibGUtY2VsbDt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOmF1dG99LmltZy1jb250YWluZXIgaW1ne21heC13aWR0aDoxMjJweDttYXgtaGVpZ2h0OjkxcHh9dWwuYnJlYWRjcnVtYnttYXJnaW4tYm90dG9tOjVweDtib3JkZXItcmFkaXVzOjA7cGFkZGluZy1ib3R0b206NHB4O3BhZGRpbmctdG9wOjZweDtiYWNrZ3JvdW5kOiNmMGYwZjA7Ym94LXNoYWRvdzowIDFweCA0cHggcmdiYSgwLDAsMCwuMDY1KTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYmJifXVsLmJyZWFkY3J1bWIgLnB1bGwtbGVmdCBpe21hcmdpbi10b3A6MnB4fS5hbGVydHtwYWRkaW5nOjhweCAzNXB4IDhweCAxNHB4O21hcmdpbi1ib3R0b206MnB4O2JvcmRlcjoxcHggc29saWQgI2FhYTtjb2xvcjojNjY2O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6MTNweDtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZDojZmZmfS5pbWctY29udGFpbmVyICosLmltZy1jb250YWluZXItbWluaSAqe3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0jaGVscHtkaXNwbGF5Om5vbmV9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfWlmcmFtZXtvdmVyZmxvdzphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS51cGxvYWQtdGFiYmFibGV7bWFyZ2luLWxlZnQ6NXB4O21hcmdpbi1yaWdodDo1cHh9LnVwbG9hZC10YWJiYWJsZSAudXBsb2FkLWhlbHB7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6MjAwO2NvbG9yOiM3Nzc7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO3RleHQtYWxpZ246Y2VudGVyfS51cGxvYWQtdGFiYmFibGUgLm5hdnttYXJnaW46MH0udXBsb2FkLXRhYmJhYmxlIC5uYXYgbGkgYXtmb250LXNpemU6MTNweDtmb250LXdlaWdodDoyMDA7Y29sb3I6Izc3Nzt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmZ9LnVwbG9hZC10YWJiYWJsZSAudGFiLWNvbnRlbnR7cGFkZGluZzo1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtib3JkZXItbGVmdDoxcHggc29saWQgI2RkZDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZGQ7YmFja2dyb3VuZDojZmZmO21hcmdpbi1ib3R0b206NXB4O2hlaWdodDo0MDBweDtvdmVyZmxvdy15OnNjcm9sbH1pbnB1dCNmaWx0ZXItaW5wdXR7bWFyZ2luOjAgMCAycHg7d2lkdGg6ODRweDtoZWlnaHQ6MjZweDt2ZXJ0aWNhbC1hbGlnbjpib3R0b207Ym9yZGVyLXJhZGl1czowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjIwMDtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjFweH0ucXEtdXBsb2FkZXIgLnNwYW45e21hcmdpbi1sZWZ0OjE0cHghaW1wb3J0YW50O3dpZHRoOjY5MHB4IWltcG9ydGFudH0uc3BhY2UxMHtjbGVhcjpib3RoO2hlaWdodDoxMHB4fWg0e2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjIwMDttYXJnaW46NnB4IDAgMDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjA7bGluZS1oZWlnaHQ6MThweH1oM3tmb250LXNpemU6MTRweDtmb250LXdlaWdodDoyMDB9LmJveGVze2JvcmRlcjoxcHggc29saWQgI0NDQzt3b3JkLXdyYXA6YnJlYWstd29yZDtiYWNrZ3JvdW5kOiNmZmY7Ym94LXNoYWRvdzoxcHggMXB4IDJweCAwIHJnYmEoMCwwLDAsLjIpO21pbi1oZWlnaHQ6MTE1cHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nOjAgMTBweCFpbXBvcnRhbnR9Ym9keSAuYXZwdyAuYXZwd19wcmltYXJ5X2J1dHRvbixib2R5IC5hdnB3IC5hdnB3X3ByaW1hcnlfYnV0dG9uOmFjdGl2ZSxib2R5IC5hdnB3IC5hdnB3X3ByaW1hcnlfYnV0dG9uOmxpbmssYm9keSAuYXZwdyAuYXZwd19wcmltYXJ5X2J1dHRvbjp2aXNpdGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZDowIDA7Ym9yZGVyOm5vbmV9Ym9keSAuYXZwdyAuYXZwd19wcmltYXJ5X2J1dHRvbjpob3Zlcntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiM2NjZ9LnVwbG9hZGVye3Bvc2l0aW9uOmZpeGVkO3RvcDo1MHB4O2xlZnQ6MTRweDttYXJnaW46YXV0bzt3aWR0aDoxMDAlO3otaW5kZXg6OTk5OTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojZWVlO3BhZGRpbmctdG9wOjIwcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2Rpc3BsYXk6bm9uZTtib3gtc2hhZG93OjAgMCAxMHB4IDAgcmdiYSgxLDEsMSwuNSl9LmRvd25sb2FkLWZvcm17bWFyZ2luLWJvdHRvbToyNXB4fS5ncmlkIGxpIGl7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7ei1pbmRleDowfS5ib3gsLmJveHh7d29yZC13cmFwOmJyZWFrLXdvcmQ7dmVydGljYWwtYWxpZ246dG9wO3RleHQtYWxpZ246bGVmdDtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXI6bm9uZTtib3gtc2hhZG93Om5vbmU7ei1pbmRleDoxMDA7cGFkZGluZzo0cHh9LmJveCAuYnRue3dpZHRoOjEwMCU7YmFja2dyb3VuZDowIDA7Ym94LXNoYWRvdzpub25lO2JvcmRlcjpub25lO3otaW5kZXg6MjAwfS5uYXZiYXJ7bWFyZ2luLWJvdHRvbTowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNiYmJ9Lm5hdmJhciAubmF2YmFyLWlubmVye2JvcmRlcjpub25lO21pbi1oZWlnaHQ6MzVweDtib3JkZXItcmFkaXVzOjA7cGFkZGluZy1ib3R0b206MnB4O21hcmdpbjowO3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDo4cHh9Lm5hdmJhciAubmF2YmFyLWlubmVyIC5jb250YWluZXItZmx1aWR7bWFyZ2luOjA7bWFyZ2luLXRvcDowIWltcG9ydGFudDtwYWRkaW5nOjB9Lm5hdmJhciAubmF2YmFyLWlubmVyIC5jb250YWluZXItZmx1aWQgLmJyYW5ke2Rpc3BsYXk6bm9uZX0ubmF2YmFyIC5uYXZiYXItaW5uZXIgLmNvbnRhaW5lci1mbHVpZCAuZmlsdGVycyBzcGFue21hcmdpbi10b3A6MDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDoyMDA7Y29sb3I6Izc3Nzt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmZ9dWwuc29ydGluZ3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0yNXB4O3RvcDoyMHB4O21pbi13aWR0aDowO2JhY2tncm91bmQ6I2VlZX11bC5zb3J0aW5nIGxpIGE6aG92ZXJ7YmFja2dyb3VuZDojYWFhfS5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZS5zb3J0aW5nLWJ0bntiYWNrZ3JvdW5kOjAgMDtib3JkZXI6bm9uZTtib3gtc2hhZG93Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7dG9wOi01cHg7Zm9udC1zaXplOjEzcHh9LmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlLnNvcnRpbmctYnRuOmhvdmVye2JhY2tncm91bmQ6MCAwO2JvcmRlcjpub25lO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZX11bC5zb3J0aW5nLmRyb3Bkb3duLW1lbnU+bGk+YXtmb250LXNpemU6MTJweDt0ZXh0LXNoYWRvdzpub25lfXVsLnNvcnRpbmcuZHJvcGRvd24tbWVudT5saT5hLmRlc2NlbmRpbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2Rvd24ucG5nKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjo2cHggOHB4fXVsLnNvcnRpbmcuZHJvcGRvd24tbWVudT5saT5hLmFzY2VuZGluZ3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvdXAucG5nKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjo2cHggOHB4fS5zb3J0ZXItY29udGFpbmVye21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206MDtib3JkZXItcmFkaXVzOjA7cGFkZGluZy1ib3R0b206NHB4O3BhZGRpbmctdG9wOjZweDtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4wNjUpO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYmJiO2hlaWdodDoyNHB4fS5zb3J0ZXItY29udGFpbmVyIGEuc29ydGVye2NvbG9yOiMwMDB9LnNvcnRlci1jb250YWluZXIgYS5kZXNjZW5kaW5ne3BhZGRpbmctbGVmdDo5cHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2Rvd24ucG5nKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjowIDNweH0uc29ydGVyLWNvbnRhaW5lciBhLmFzY2VuZGluZ3twYWRkaW5nLWxlZnQ6OXB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy91cC5wbmcpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgNHB4fS5zb3J0ZXItY29udGFpbmVyIC5maWxlLWRhdGUsLnNvcnRlci1jb250YWluZXIgLmZpbGUtZXh0ZW5zaW9uLC5zb3J0ZXItY29udGFpbmVyIC5maWxlLW5hbWUsLnNvcnRlci1jb250YWluZXIgLmZpbGUtb3BlcmF0aW9ucywuc29ydGVyLWNvbnRhaW5lciAuZmlsZS1zaXplLC5zb3J0ZXItY29udGFpbmVyIC5pbWctZGltZW5zaW9ue2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxMDA7Ym94LXNoYWRvdzpub25lO3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjFweDtjb2xvcjojOTk5fS5zb3J0ZXItY29udGFpbmVyIC5maWxlLW9wZXJhdGlvbnN7d2lkdGg6MTEwcHg7cmlnaHQ6MH0uc29ydGVyLWNvbnRhaW5lciAuaW1nLWRpbWVuc2lvbnt3aWR0aDo2NXB4O3JpZ2h0OjEyM3B4fS5zb3J0ZXItY29udGFpbmVyIC5maWxlLWRhdGV7d2lkdGg6NzBweDtyaWdodDoxODhweH0uc29ydGVyLWNvbnRhaW5lciAuZmlsZS1zaXple3dpZHRoOjU1cHg7cmlnaHQ6MjU4cHh9LnNvcnRlci1jb250YWluZXIgLmZpbGUtZXh0ZW5zaW9ue3dpZHRoOjQwcHg7cmlnaHQ6MzEzcHh9LnNvcnRlci1jb250YWluZXIgLmZpbGUtbmFtZXt3aWR0aDo1MHB4O2xlZnQ6NTJweH0uZmlsZS1kYXRlLC5maWxlLWV4dGVuc2lvbiwuZmlsZS1uYW1lLC5maWxlLW9wZXJhdGlvbnMsLmZpbGUtc2l6ZSwuaW1nLWRpbWVuc2lvbntmb250LXNpemU6MTJweDtmb250LXdlaWdodDoyMDA7Y29sb3I6Izc3Nzt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7ZGlzcGxheTpub25lfS52aWV3LWNvbnRyb2xsZXJ7dGV4dC1hbGlnbjpsZWZ0fS52aWV3LWNvbnRyb2xsZXIgLmJ0bi1ncm91cD4uYnRuOmZpcnN0LWNoaWxkLC52aWV3LWNvbnRyb2xsZXIgLmJ0bi1ncm91cD4uYnRuOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowfS5uYXZiYXIgLmZpbHRlcnMgLmJ0bnttYXJnaW4tYm90dG9tOjJweDtwYWRkaW5nOjJweCA4cHg7bWFyZ2luLXRvcDo1cHh9LmZpbHRlcnMgLnR5cGVze3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChtYXgtd2lkdGg6NzgwcHgpeyN2aWV3MntkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWluLXdpZHRoOjg0MHB4KXsubW9iaWxlLWlubGluZS12aXNpYmxle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWF4LXdpZHRoOjgzOXB4KXtib2R5e3BhZGRpbmctdG9wOjB9Lm1vYmlsZS1pbmxpbmUtdmlzaWJsZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmZpbHRlcnMgLnR5cGVze3RleHQtYWxpZ246bGVmdH0ubmF2YmFyIC5uYXZiYXItaW5uZXIgLmNvbnRhaW5lci1mbHVpZCAuYnJhbmR7ZGlzcGxheTpibG9ja30ubmF2YmFyIC5uYXZiYXItaW5uZXJ7cGFkZGluZy1ib3R0b206NHB4fS5maWx0ZXJzIGRpdi5zcGFuMi5oYWxmLC5maWx0ZXJzIGRpdi5zcGFuMy5oYWxmLC5maWx0ZXJzIGRpdi5zcGFuNC5oYWxme2Zsb2F0OmxlZnQ7d2lkdGg6YXV0bzttYXJnaW4tcmlnaHQ6MTBweH0uZmlsdGVycyBkaXYuZW50aXJle2Zsb2F0Om5vbmU7d2lkdGg6MTAwJTtjbGVhcjpib3RofS5jb250YWluZXItZmx1aWR7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MH0jcUxiYXJ7aGVpZ2h0OjUwcHghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo0MDBweCkgYW5kIChtYXgtd2lkdGg6ODM5cHgpey5maWx0ZXJzIC5yb3ctZmx1aWQgLmhhbGZ7d2lkdGg6NDguNjE4Nzg0NTMwMzg2NzQlO2Zsb2F0OmxlZnR9fS50b29sdGlwLmlue3otaW5kZXg6MTAwMDA7b3BhY2l0eToxO2ZpbHRlcjphbHBoYShvcGFjaXR5PTEpO2ZvbnQtd2VpZ2h0OjcwMH0udG9vbHRpcHtmb250LXdlaWdodDo3MDA7ei1pbmRleDoxMDAwMH0uZ3JpZHtwYWRkaW5nOjA7bWFyZ2luOjAgYXV0bztsaXN0LXN0eWxlOm5vbmU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmdyaWQgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTI0cHg7Ym9yZGVyOm5vbmU7bWFyZ2luOjRweCA0cHggOHB4O3BhZGRpbmc6MDt2ZXJ0aWNhbC1hbGlnbjp0b3B9LmdyaWQgZmlndXJle3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTIycHg7bWFyZ2luOmF1dG99LmdyaWQgZmlndXJlOmhvdmVye2JhY2tncm91bmQ6I2UwZTBlMCFpbXBvcnRhbnR9Lmxpc3QtdmlldzEuZ3JpZCBsaSwubGlzdC12aWV3MS5ncmlkIGxpIGZpZ3VyZXt3aWR0aDoxMDAlfS5ncmlkIGZpZ2NhcHRpb257dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzo4cHggMnB4IDJweDtjb2xvcjojZmZmO2hlaWdodDozMHB4O3dpZHRoOjEyMnB4O21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOmF1dG87Ym90dG9tOjA7Ym94LXNoYWRvdzppbnNldCAwIDAgOHB4IDAgcmdiYSg0MSw0MSw0MSwuNSl9LmdyaWQgZmlnY2FwdGlvbiBhe21hcmdpbjowO3BhZGRpbmc6M3B4fS5ncmlkIGZpZ2NhcHRpb24gaDN7bWFyZ2luOjA7cGFkZGluZzowO2NvbG9yOiNmZmZ9LmdyaWQgaDR7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzAwMDtwYWRkaW5nOjA7bWFyZ2luLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDo0cHh9LmdyaWQgZmlndXJlIC5ib3h7Ym94LXNpemluZzpjb250ZW50LWJveDtjdXJzb3I6cG9pbnRlcn0ubGlzdC12aWV3MC5ncmlkIGZpZ3VyZSAuYm94LC5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5ib3gsLmxpc3QtdmlldzIuZ3JpZCBmaWd1cmUgLmJveHttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjF9Lmxpc3QtdmlldzAuZ3JpZCBmaWd1cmUgLmJveCBoNC5lbGxpcHNpcywubGlzdC12aWV3MS5ncmlkIGZpZ3VyZSAuYm94IGg0LmVsbGlwc2lzLC5saXN0LXZpZXcyLmdyaWQgZmlndXJlIC5ib3ggaDQuZWxsaXBzaXN7aGVpZ2h0OjE4cHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5saXN0LXZpZXcwLmdyaWQgZmlndXJlIC5ib3ggaDQsLmxpc3QtdmlldzAuZ3JpZCBmaWd1cmUgLmJveCBoNCBhLC5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5ib3ggaDQsLmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmJveCBoNCBhLC5saXN0LXZpZXcyLmdyaWQgZmlndXJlIC5ib3ggaDQsLmxpc3QtdmlldzIuZ3JpZCBmaWd1cmUgLmJveCBoNCBhe3otaW5kZXg6MX0ubm8tdG91Y2ggLmxpc3QtdmlldzAgZmlndXJlIC5ib3h7ei1pbmRleDoxO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zc30ubGlzdC12aWV3MC5ncmlkIC51aS1zdGF0ZS1oaWdobGlnaHQgLmltZy1wcmVjb250YWluZXJ7YmFja2dyb3VuZDpncmV5IWltcG9ydGFudH0ubGlzdC12aWV3MC5ncmlkIC51aS1zdGF0ZS1oaWdobGlnaHQgLmltZy1wcmVjb250YWluZXIgLmltZy1jb250YWluZXJ7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHRyYW5zcGFyZW50LHRyYW5zcGFyZW50IDVweCxyZ2JhKDI1NSwyNTUsMjU1LC40KSA1cHgscmdiYSgyNTUsMjU1LDI1NSwuMykgMTBweCk7Ym9yZGVyOm5vbmU7b3ZlcmZsb3c6aGlkZGVufS5saXN0LXZpZXcwLmdyaWQgLnVpLXN0YXRlLWhvdmVyIC5pbWctcHJlY29udGFpbmVyIC5pbWctY29udGFpbmVye2JhY2tncm91bmQ6IzY2Nn0ubGlzdC12aWV3MS5ncmlkIC51aS1zdGF0ZS1oaWdobGlnaHQ6bnRoLWNoaWxkKG9kZCkgZmlndXJlLC5saXN0LXZpZXcyLmdyaWQgLnVpLXN0YXRlLWhpZ2hsaWdodDpudGgtY2hpbGQob2RkKSBmaWd1cmV7YmFja2dyb3VuZDojZGRkIWltcG9ydGFudDtib3JkZXItYm90dG9tLWNvbG9yOiM0NDQhaW1wb3J0YW50fS5saXN0LXZpZXcxLmdyaWQgLnVpLXN0YXRlLWhpZ2hsaWdodDpudGgtY2hpbGQoZXZlbikgZmlndXJlLC5saXN0LXZpZXcyLmdyaWQgLnVpLXN0YXRlLWhpZ2hsaWdodDpudGgtY2hpbGQoZXZlbikgZmlndXJle2JhY2tncm91bmQ6I2NjYyFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojYWFhIWltcG9ydGFudH0ubGlzdC12aWV3MS5ncmlkIC51aS1zdGF0ZS1oaWdobGlnaHQudWktc3RhdGUtaG92ZXIgZmlndXJlLC5saXN0LXZpZXcyLmdyaWQgLnVpLXN0YXRlLWhpZ2hsaWdodC51aS1zdGF0ZS1ob3ZlciBmaWd1cmV7YmFja2dyb3VuZC1jb2xvcjojYWFhIWltcG9ydGFudH0ubm8tdG91Y2ggLmxpc3QtdmlldzAgZmlndXJlLmNzLWhvdmVyIC5ib3gsLm5vLXRvdWNoIC5saXN0LXZpZXcwIGZpZ3VyZTpob3ZlciAuYm94e2JveC1zaGFkb3c6MCAwIDRweCAwIHJnYmEoMSwxLDEsLjUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI2cHgpfS5saXN0LXZpZXcwIGZpZ3VyZS5jcy1ob3ZlciAuYm94Lm5vLWVmZmVjdCwubGlzdC12aWV3MCBmaWd1cmU6aG92ZXIgLmJveC5uby1lZmZlY3QsLm5vLWVmZmVjdHtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9Lmxpc3QtdmlldzAgLmltZy1wcmVjb250YWluZXItbWluaXtkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDowIDB9YSxhOmhvdmVye2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJhY2stZGlyZWN0b3J5IC5ib3gsLmJhY2stZGlyZWN0b3J5IC5pbWctcHJlY29udGFpbmVyLC5iYWNrLWRpcmVjdG9yeSAuaW1nLXByZWNvbnRhaW5lci1taW5pe2JhY2tncm91bmQ6MCAwfWZvcm17bWFyZ2luOjA7cGFkZGluZzowfS52aWV3ZXItaWZyYW1le3dpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4O2JvcmRlcjpub25lfS5nb29nbGUtaWZyYW1le3dpZHRoOjEwMCU7aGVpZ2h0OjMwMHB4O2JvcmRlcjpub25lfS5tb2RhbHt3aWR0aDo2MCU7bWFyZ2luLWxlZnQ6LTMwJX0ubW9kYWwtYm9keXtwYWRkaW5nOjZweH0ubW9kYWwtYm9keSBmb3JtLC5tb2RhbC1ib2R5IGlucHV0LC5tb2RhbC1ib2R5IHRleHRhcmVhe21hcmdpbjowO2JvcmRlci1yYWRpdXM6MH0ubW9kYWwtYm9keSAudGV4dC1jZW50ZXJ7cGFkZGluZy1ib3R0b206NnB4fS5tb2RhbC1mb290ZXJ7cGFkZGluZzo3cHh9Lm1vZGFsLWhlYWRlcntwYWRkaW5nOjdweCA4cHghaW1wb3J0YW50fS5tb2RhbC1oZWFkZXIgaDN7Zm9udC13ZWlnaHQ6MzAwO2ZvbnQtc2l6ZToyMHB4fS5saXN0LXZpZXcxLnNvcnRlci1jb250YWluZXJ7ZGlzcGxheTpibG9ja30ubGlzdC12aWV3MC5zb3J0ZXItY29udGFpbmVyLC5saXN0LXZpZXcyLnNvcnRlci1jb250YWluZXJ7ZGlzcGxheTpub25lfS5saXN0LXZpZXcwLmdyaWQgLmltZy1wcmVjb250YWluZXIgLmltZy1jb250YWluZXIgaW1ne21heC13aWR0aDoxMjJweCFpbXBvcnRhbnQ7bWF4LWhlaWdodDo5MXB4IWltcG9ydGFudH0ubGlzdC12aWV3MC5ncmlkIC5pbWctcHJlY29udGFpbmVyIC5pbWctY29udGFpbmVyIGltZy5pY29ue3dpZHRoOjEyMnB4O21hcmdpbi10b3A6MH0ubGlzdC12aWV3MC5ncmlkIC5pbWctcHJlY29udGFpbmVyIC5maWxldHlwZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMjBweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjIycHh9Lmxpc3QtdmlldzAuZ3JpZCAuY292ZXJ7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUEvUGdvOGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqRXdNQ1VpSUdobGFXZG9kRDBpTVRBd0pTSWdkbWxsZDBKdmVEMGlNQ0F3SURFZ01TSWdjSEpsYzJWeWRtVkJjM0JsWTNSU1lYUnBiejBpYm05dVpTSStDaUFnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZURFOUlqQWxJaUI1TVQwaU1DVWlJSGd5UFNJd0pTSWdlVEk5SWpFd01DVWlQZ29nSUNBZ1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlptWm1abVppSWdjM1J2Y0MxdmNHRmphWFI1UFNJd0xqSTFJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlObVptWm1abVlpSUhOMGIzQXRiM0JoWTJsMGVUMGlNQzR5TlNJdlBnb2dJRHd2YkdsdVpXRnlSM0poWkdsbGJuUStDaUFnUEhKbFkzUWdlRDBpTUNJZ2VUMGlNQ0lnZDJsa2RHZzlJakVpSUdobGFXZG9kRDBpTVNJZ1ptbHNiRDBpZFhKc0tDTm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtLU0lnTHo0S1BDOXpkbWMrKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgyNTUsMjU1LDI1NSwuMjUpIDAscmdiYSgyNTUsMjU1LDI1NSwuMjUpIDEwMCUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzQwZmZmZmZmJywgZW5kQ29sb3JzdHI9JyM0MGZmZmZmZicsIEdyYWRpZW50VHlwZT0wKTt3aWR0aDoxMjJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjJweDtyaWdodDowO2hlaWdodDo2OXB4fS5saXN0LXZpZXcwLmdyaWQgLmJveHtiYWNrZ3JvdW5kOiNmZmZ9Lmxpc3QtdmlldzAuZ3JpZCAuZGlyZWN0b3J5e2JhY2tncm91bmQ6I2RkZH0ubGlzdC12aWV3MC5ncmlkIGZpZ3VyZS5iYWNrLWRpcmVjdG9yeSAuZGlyZWN0b3J5e2JhY2tncm91bmQ6I2JiYn0ubGlzdC12aWV3MC5ncmlkIGZpZ2NhcHRpb257YmFja2dyb3VuZDojZmZmfS5saXN0LXZpZXcwLmdyaWQgLnNlbGVjdGVkIGZpZ3VyZXtib3JkZXI6bm9uZTtoZWlnaHQ6MTI2cHh9Lmxpc3QtdmlldzAuZ3JpZCAuc2VsZWN0ZWQgZmlndXJlIC5ib3gsLmxpc3QtdmlldzAuZ3JpZCAuc2VsZWN0ZWQgZmlndXJlIGZpZ2NhcHRpb24sLmxpc3QtdmlldzAuZ3JpZCAuc2VsZWN0ZWQgZmlndXJlPmF7ZGlzcGxheTpub25lfS5saXN0LXZpZXcxLmdyaWQgbGksLmxpc3QtdmlldzIuZ3JpZCBsaXttYXJnaW46MH0ubGlzdC12aWV3MS5ncmlkIGxpLmJhY2sgZmlndXJlLmJhY2stZGlyZWN0b3J5LC5saXN0LXZpZXcyLmdyaWQgbGkuYmFjayBmaWd1cmUuYmFjay1kaXJlY3Rvcnl7aGVpZ2h0OjM0cHh9Lmxpc3QtdmlldzEuZ3JpZCBsaTpudGgtY2hpbGQob2RkKSBmaWd1cmUsLmxpc3QtdmlldzIuZ3JpZCBsaTpudGgtY2hpbGQob2RkKSBmaWd1cmV7YmFja2dyb3VuZDojZjlmOWY5fS5saXN0LXZpZXcxLmdyaWQgbGk6bnRoLWNoaWxkKG9kZCkgZmlndXJlLmRpcmVjdG9yeSwubGlzdC12aWV3Mi5ncmlkIGxpOm50aC1jaGlsZChvZGQpIGZpZ3VyZS5kaXJlY3Rvcnl7YmFja2dyb3VuZDojZWFlYWVhfS5saXN0LXZpZXcxLmdyaWQgbGkgZmlndXJlLC5saXN0LXZpZXcyLmdyaWQgbGkgZmlndXJle2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNhYWE7YmFja2dyb3VuZDojZmZmfS5saXN0LXZpZXcxLmdyaWQgbGkgZmlndXJlLmJhY2stZGlyZWN0b3J5LC5saXN0LXZpZXcyLmdyaWQgbGkgZmlndXJlLmJhY2stZGlyZWN0b3J5e2JhY2tncm91bmQ6I2JiYn0ubGlzdC12aWV3MS5ncmlkIGxpIGZpZ3VyZS5iYWNrLWRpcmVjdG9yeSAuYm94LC5saXN0LXZpZXcyLmdyaWQgbGkgZmlndXJlLmJhY2stZGlyZWN0b3J5IC5ib3h7YmFja2dyb3VuZDowIDB9Lmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmUuZGlyZWN0b3J5LC5saXN0LXZpZXcyLmdyaWQgbGkgZmlndXJlLmRpcmVjdG9yeXtiYWNrZ3JvdW5kOiNlZmVmZWZ9Lmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmUuZGlyZWN0b3J5IGJveCwubGlzdC12aWV3Mi5ncmlkIGxpIGZpZ3VyZS5kaXJlY3RvcnkgYm94e3BhZGRpbmc6MDttaW4taGVpZ2h0OjEwcHh9Lmxpc3QtdmlldzEuZ3JpZCBsaSBmaWd1cmUgLmJveCwubGlzdC12aWV3Mi5ncmlkIGxpIGZpZ3VyZSAuYm94e21hcmdpbi1sZWZ0OjUwcHg7dHJhbnNpdGlvbjpub25lfS5saXN0LXZpZXcxLmdyaWQgbGkgZmlndXJlIC5ib3ggaDQsLmxpc3QtdmlldzIuZ3JpZCBsaSBmaWd1cmUgLmJveCBoNHtwYWRkaW5nLXRvcDoxcHg7Zm9udC1zaXplOjEzcHg7dGV4dC1hbGlnbjpsZWZ0fS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbml7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0NXB4O2hlaWdodDozNHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcn0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgaW1nLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSBpbWd7bWF4LXdpZHRoOjQ1cHh9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxcHg7dGV4dC1hbGlnbjpjZW50ZXI7bGVmdDowO3BhZGRpbmc6MXB4IDJweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDozMnB4O3dpZHRoOjQ1cHg7aGVpZ2h0OjMycHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMzMzN9Lmxpc3QtdmlldzEuZ3JpZCAuY292ZXIsLmxpc3QtdmlldzIuZ3JpZCAuY292ZXJ7ZGlzcGxheTpub25lfS5saXN0LXZpZXcxLmdyaWQgLmltZy1jb250YWluZXItbWluaSwubGlzdC12aWV3Mi5ncmlkIC5pbWctY29udGFpbmVyLW1pbml7d2lkdGg6NDVweDtoZWlnaHQ6MzRweDtib3JkZXI6bm9uZTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46YXV0b30ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkub3JpZ2luYWwtdGh1bWIsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pLm9yaWdpbmFsLXRodW1ie3BhZGRpbmc6MH0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkub3JpZ2luYWwtdGh1bWIgaW1nLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaS5vcmlnaW5hbC10aHVtYiBpbWd7d2lkdGg6YXV0bzttYXgtaGVpZ2h0OjMycHh9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pLm9yaWdpbmFsLXRodW1iIGltZy5vcmlnaW5hbCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkub3JpZ2luYWwtdGh1bWIgaW1nLm9yaWdpbmFse3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lciwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ubGlzdC12aWV3MS5ncmlkIGZpZ2NhcHRpb24sLmxpc3QtdmlldzIuZ3JpZCBmaWdjYXB0aW9ue2JhY2tncm91bmQ6MCAwO3dpZHRoOjEyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDoxO2JvdHRvbTowO2JveC1zaGFkb3c6bm9uZTt0ZXh0LWFsaWduOnJpZ2h0fS5saXN0LXZpZXcxLmdyaWQgLnNlbGVjdGVkIGZpZ3VyZSwubGlzdC12aWV3Mi5ncmlkIC5zZWxlY3RlZCBmaWd1cmV7YmFja2dyb3VuZDojY2NjIWltcG9ydGFudH0ubGlzdC12aWV3MS5ncmlkIC5maWxlLWRhdGUsLmxpc3QtdmlldzEuZ3JpZCAuZmlsZS1leHRlbnNpb24sLmxpc3QtdmlldzEuZ3JpZCAuZmlsZS1zaXplLC5saXN0LXZpZXcxLmdyaWQgLmltZy1kaW1lbnNpb257b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxO2JveC1zaGFkb3c6bm9uZTt0ZXh0LWFsaWduOmxlZnQ7bWFyZ2luLXRvcDo3cHh9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLWRpbWVuc2lvbnt3aWR0aDo2NXB4O3JpZ2h0OjEyMHB4fS5saXN0LXZpZXcxLmdyaWQgLmZpbGUtZGF0ZXt3aWR0aDo3MHB4O3JpZ2h0OjE4NXB4fS5saXN0LXZpZXcxLmdyaWQgLmZpbGUtc2l6ZXt3aWR0aDo1NXB4O3JpZ2h0OjI1NXB4fS5saXN0LXZpZXcxLmdyaWQgLmZpbGUtZXh0ZW5zaW9ue3dpZHRoOjQwcHg7cmlnaHQ6MzEwcHh9Lmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmJveHtwYWRkaW5nLXJpZ2h0OjM1MnB4fS5saXN0LXZpZXcyLmdyaWQgZmlndXJlIC5ib3h7cGFkZGluZy1yaWdodDoxMTVweH1AbWVkaWEgKG1heC13aWR0aDo2MTBweCl7Lmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmJveHtwYWRkaW5nLXJpZ2h0OjMxMnB4fS5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5maWxlLWV4dGVuc2lvbiwuc29ydGVyLWNvbnRhaW5lciAuZmlsZS1leHRlbnNpb257ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1NjVweCl7Lmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmJveHtwYWRkaW5nLXJpZ2h0OjI1N3B4fS5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5maWxlLXNpemUsLnNvcnRlci1jb250YWluZXIgLmZpbGUtc2l6ZXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjQ5NXB4KXsubGlzdC12aWV3MS5ncmlkIGZpZ3VyZSAuYm94e3BhZGRpbmctcmlnaHQ6MTg3cHh9Lmxpc3QtdmlldzEuZ3JpZCBmaWd1cmUgLmZpbGUtZGF0ZSwuc29ydGVyLWNvbnRhaW5lciAuZmlsZS1kYXRle2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NDMwcHgpey5saXN0LXZpZXcxLmdyaWQgZmlndXJlIC5ib3h7cGFkZGluZy1yaWdodDoxMTVweH0ubGlzdC12aWV3MS5ncmlkIGZpZ3VyZSAuaW1nLWRpbWVuc2lvbiwuc29ydGVyLWNvbnRhaW5lciAuaW1nLWRpbWVuc2lvbntkaXNwbGF5Om5vbmV9LmJyZWFkY3J1bWJ7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH19Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wZGYsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wZGZ7YmFja2dyb3VuZDojQ0IwMDExfS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYWksLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5haXtiYWNrZ3JvdW5kOiNENjc3MkZ9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wc2QsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wc2R7YmFja2dyb3VuZDojMDk2MEE0fS5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuaHRtbCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnhodG1sLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuaHRtbCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnhodG1se2JhY2tncm91bmQ6IzAzNUJDNH0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmZsYSwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmZsdiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmZsYSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmZsdntiYWNrZ3JvdW5kOiNDRjMwMkV9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wcHQsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wcHR4LC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucHB0LC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucHB0eHtiYWNrZ3JvdW5kOiNEQTVCMDB9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5jc3MsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS54bHMsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS54bHN4LC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuY3NzLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUueGxzLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUueGxzeHtiYWNrZ3JvdW5kOiMxQTcxMkN9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5kb2MsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5kb2N4LC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucnRzLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuZG9jLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuZG9jeCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnJ0c3tiYWNrZ3JvdW5kOiMwMDIwOTN9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5nemlwLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucmFyLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuemlwLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuZ3ppcCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnJhciwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnppcHtiYWNrZ3JvdW5kOiNGRTkyMjF9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5hdmksLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tb3YsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tcDQsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tcGVnLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubXBnLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUud2VibSwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLndtYSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmF2aSwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm1vdiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm1wNCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm1wZWcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tcGcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS53ZWJtLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUud21he2JhY2tncm91bmQ6IzMxMjMxRX0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmFjMywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmFpZmYsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tNGEsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5taWQsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5tcDMsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5vZ2csLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS53YXYsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5hYzMsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5haWZmLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubTRhLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubWlkLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubXAzLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUub2dnLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUud2F2e2JhY2tncm91bmQ6IzlGMDA4Qn0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kYiwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kZiwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kcCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kcywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kdCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm90ZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm90cCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm90cywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm90dCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kYiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kZiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kZywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kcCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kcywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm9kdCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm90ZywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm90cCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm90cywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm90dHtiYWNrZ3JvdW5kOiMzNjdCQkV9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5ibXAsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5naWYsLmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5qcGVnLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuanBnLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUucG5nLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuc3ZnLC5saXN0LXZpZXcxLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUudGlmZiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmJtcCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmdpZiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmpwZWcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5qcGcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5wbmcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5zdmcsLmxpc3QtdmlldzIuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS50aWZme2JhY2tncm91bmQ6I0NGQTU1NH0ubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmRtZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmlzbywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmxvZywubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnNxbCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnR4dCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnhtbCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmRtZywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmlzbywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmxvZywubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnNxbCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnR4dCwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLnhtbHtiYWNrZ3JvdW5kOiNDQUNBQ0F9Lmxpc3QtdmlldzEuZ3JpZCAuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZS5hY2NkYiwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmFkZSwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmFkcCwubGlzdC12aWV3MS5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLm1kYiwubGlzdC12aWV3Mi5ncmlkIC5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlLmFjY2RiLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYWRlLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUuYWRwLC5saXN0LXZpZXcyLmdyaWQgLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUubWRie2JhY2tncm91bmQ6I0I2MUMxOX0ubGlnaHRib3gtY29udGVudHtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO2JhY2tncm91bmQ6MCAwO2JveC1zaGFkb3c6bm9uZTtib3JkZXItcmFkaXVzOjA7Ym9yZGVyOjB9LmNvbnRleHQtbWVudS1saXN0e2ZvbnQtZmFtaWx5OidPcGVuIFNhbnMnLHNhbnMtc2VyaWY7d2lkdGg6MjAwcHg7YmFja2dyb3VuZDojZmZmO2ZvbnQtc2l6ZToxMnB4O21hcmdpbjowO3BhZGRpbmc6NXB4fS5jb250ZXh0LW1lbnUtaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OmF1dG87d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6MDstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3BhZGRpbmc6NXB4IDVweCA1cHggMzBweH0uY29udGV4dC1tZW51LWl0ZW06bGFzdC1jaGlsZHtib3JkZXI6bm9uZX0uY29udGV4dC1tZW51LXNlcGFyYXRvcntwYWRkaW5nLWJvdHRvbTowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGR9LmNvbnRleHQtbWVudS1pdGVtLmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RkZH0uY29udGV4dC1tZW51LWlucHV0LmhvdmVyLC5jb250ZXh0LW1lbnUtaXRlbS5kaXNhYmxlZC5ob3ZlcntjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9LmNvbnRleHQtbWVudS1pdGVtLmljb257dmVydGljYWwtYWxpZ246bWlkZGxlO2JhY2tncm91bmQtcG9zaXRpb246NHB4IDVweDt3aWR0aDphdXRvO2Rpc3BsYXk6bGlzdC1pdGVtfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWVkaXR7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2ZpbGVfZWRpdC5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWN1dHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY3V0LnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tY29weXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY29weS5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLXJlbmFtZXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvcmVuYW1lLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tcHJldmlld3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvcHJldmlldy5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWRpbWVuc2lvbntiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZGltZW5zaW9uLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tZGF0ZXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZGF0ZS5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWxhYmVse2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9sYWJlbC5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLXNpemV7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL3NpemUucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1kb3dubG9hZHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvZG93bmxvYWQucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1wYXN0ZXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvcGFnZV93aGl0ZV9wYXN0ZS5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWNsaXBib2FyZC1hcHBseXtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvY2xpcGJvYXJkX2FwcGx5LnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tZGVsZXRle2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9wYWdlX3doaXRlX2RlbGV0ZS5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWFkZHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvcGFnZV93aGl0ZV9hZGQucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1xdWl0e2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9kb29yLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24taW5mb3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvaW5mby5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLWV4dHJhY3R7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL3ppcC5wbmcpfS5jb250ZXh0LW1lbnUtaXRlbS5pY29uLXVybHtiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvdXJsLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tZWRpdF9pbWd7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2VkaXRfaW1nLnBuZyl9LmNvbnRleHQtbWVudS1pdGVtLmljb24tZHVwbGljYXRle2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9kdXBsaWNhdGUucG5nKX0uY29udGV4dC1tZW51LWl0ZW0uaWNvbi1rZXl7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2tleS5wbmcpfS5kcm9wem9uZXtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjAzKTttaW4taGVpZ2h0OjM2MHB4O2JvcmRlci1yYWRpdXM6M3B4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDMpO3BhZGRpbmc6MjNweH0uZHJvcHpvbmUgLmR6LXN1Y2Nlc3MgKntjdXJzb3I6cG9pbnRlciFpbXBvcnRhbnR9LmRyb3B6b25lIC5kei1kZWZhdWx0LmR6LW1lc3NhZ2V7b3BhY2l0eToxOy1tcy1maWx0ZXI6bm9uZTstd2Via2l0LWZpbHRlcjpub25lO2ZpbHRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246MCAwO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjQyOHB4O2hlaWdodDoxMjNweDttYXJnaW4tbGVmdDotMjE0cHg7bWFyZ2luLXRvcDotNjEuNXB4O3RvcDo1MCU7bGVmdDo1MCV9LmJ0bi1wcmltYXJ5LC5idG4tcHJpbWFyeS5kaXNhYmxlZCwuYnRuLXByaW1hcnlbZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6IzMzM30uYnRuLXByaW1hcnkuYWN0aXZlLC5idG4tcHJpbWFyeTphY3RpdmUsLmJ0bi1wcmltYXJ5OmZvY3VzLC5idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMjJ9]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/dialog.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGNvbmZpZyA9IGluY2x1ZGUgJ2NvbmZpZy9jb25maWcucGhwJzsKLy9UT0RPIHN3aXRjaCB0byBhcnJheQpleHRyYWN0KCRjb25maWcsIEVYVFJfT1ZFUldSSVRFKTsKCmlmIChVU0VfQUNDRVNTX0tFWVMgPT0gVFJVRSl7CglpZiAoIWlzc2V0KCRfR0VUWydha2V5J10sICRhY2Nlc3Nfa2V5cykgfHwgZW1wdHkoJGFjY2Vzc19rZXlzKSl7CgkJZGllKCdBY2Nlc3MgRGVuaWVkIScpOwoJfQoKCSRfR0VUWydha2V5J10gPSBzdHJpcF90YWdzKHByZWdfcmVwbGFjZSggIi9bXmEtekEtWjAtOVwuXy1dLyIsICcnLCAkX0dFVFsnYWtleSddKSk7CgoJaWYgKCFpbl9hcnJheSgkX0dFVFsnYWtleSddLCAkYWNjZXNzX2tleXMpKXsKCQlkaWUoJ0FjY2VzcyBEZW5pZWQhJyk7Cgl9Cn0KCiRfU0VTU0lPTlsnUkYnXVsidmVyaWZ5Il0gPSAiUkVTUE9OU0lWRWZpbGVtYW5hZ2VyIjsKCmlmKGlzc2V0KCRfUE9TVFsnc3VibWl0J10pKXsKCglpbmNsdWRlICd1cGxvYWQucGhwJzsKCn0KZWxzZSB7CmluY2x1ZGUgJ2luY2x1ZGUvdXRpbHMucGhwJzsKCmlmIChpc3NldCgkX0dFVFsnZmxkciddKQoJJiYgIWVtcHR5KCRfR0VUWydmbGRyJ10pCgkmJiBzdHJwb3MoJF9HRVRbJ2ZsZHInXSwnLi4vJykgPT09IEZBTFNFCgkmJiBzdHJwb3MoJF9HRVRbJ2ZsZHInXSwnLi8nKSA9PT0gRkFMU0UpCnsKCSRzdWJkaXIgPSByYXd1cmxkZWNvZGUodHJpbShzdHJpcF90YWdzKCRfR0VUWydmbGRyJ10pLCIvIikgLiIvIik7CgkkX1NFU1NJT05bJ1JGJ11bImZpbHRlciJdPScnOwp9CmVsc2UgeyAkc3ViZGlyID0gJyc7IH0KCmlmKCRzdWJkaXIgPT0gIiIpCnsKCWlmKCFlbXB0eSgkX0NPT0tJRVsnbGFzdF9wb3NpdGlvbiddKSAmJiBzdHJwb3MoJF9DT09LSUVbJ2xhc3RfcG9zaXRpb24nXSwnLicpID09PSBGQUxTRSl7CgkJJHN1YmRpcj0gdHJpbSgkX0NPT0tJRVsnbGFzdF9wb3NpdGlvbiddKTsKCX0KfQovL3JlbWVtYmVyIGxhc3QgcG9zaXRpb24Kc2V0Y29va2llKCdsYXN0X3Bvc2l0aW9uJywkc3ViZGlyLHRpbWUoKSArICg4NjQwMCAqIDcpKTsKCmlmICgkc3ViZGlyID09ICIvIikgeyAkc3ViZGlyID0gIiI7IH0KCi8vIElmIGhpZGRlbiBmb2xkZXJzIGFyZSBzcGVjaWZpZWQKaWYoY291bnQoJGhpZGRlbl9mb2xkZXJzKSl7CgkvLyBJZiBoaWRkZW4gZm9sZGVyIGFwcGVhcnMgaW4gdGhlIHBhdGggc3BlY2lmaWVkIGluIFVSTCBwYXJhbWV0ZXIgImZsZHIiCgkkZGlycyA9IGV4cGxvZGUoJy8nLCAkc3ViZGlyKTsKCWZvcmVhY2goJGRpcnMgYXMgJGRpcil7CgkJaWYoJGRpciAhPT0gJycgJiYgaW5fYXJyYXkoJGRpciwgJGhpZGRlbl9mb2xkZXJzKSl7CgkJCS8vIElnbm9yZSB0aGUgcGF0aAoJCQkkc3ViZGlyID0gIiI7CgkJCWJyZWFrOwoJCX0KCX0KfQoKaWYgKCRzaG93X3RvdGFsX3NpemUpIHsKCWxpc3QoJHNpemVDdXJyZW50Rm9sZGVyLCRmaWxlQ3VycmVudE51bSwkZm9sZGVyc0N1cnJlbnRDb3VudCkgPSBmb2xkZXJfaW5mbygkY3VycmVudF9wYXRoLGZhbHNlKTsKfQovKioqCipTVUItRElSIENPREUKKioqLwoKaWYgKCFpc3NldCgkX1NFU1NJT05bJ1JGJ11bInN1YmZvbGRlciJdKSkKewoJJF9TRVNTSU9OWydSRiddWyJzdWJmb2xkZXIiXSA9ICcnOwp9CiRyZm1fc3ViZm9sZGVyID0gJyc7CgppZiAoIWVtcHR5KCRfU0VTU0lPTlsnUkYnXVsic3ViZm9sZGVyIl0pICYmIHN0cnBvcygkX1NFU1NJT05bJ1JGJ11bInN1YmZvbGRlciJdLCcuLi8nKSA9PT0gRkFMU0UKJiYgc3RycG9zKCRfU0VTU0lPTlsnUkYnXVsic3ViZm9sZGVyIl0sJy4vJykgPT09IEZBTFNFICYmIHN0cnBvcygkX1NFU1NJT05bJ1JGJ11bInN1YmZvbGRlciJdLCIvIikgIT09IDAKJiYgc3RycG9zKCRfU0VTU0lPTlsnUkYnXVsic3ViZm9sZGVyIl0sJy4nKSA9PT0gRkFMU0UpCnsKCSRyZm1fc3ViZm9sZGVyID0gJF9TRVNTSU9OWydSRiddWydzdWJmb2xkZXInXTsKfQoKaWYgKCRyZm1fc3ViZm9sZGVyICE9ICIiICYmICRyZm1fc3ViZm9sZGVyW3N0cmxlbigkcmZtX3N1YmZvbGRlciktMV0gIT0gIi8iKSB7ICRyZm1fc3ViZm9sZGVyIC49ICIvIjsgfQoKaWYgKCFmaWxlX2V4aXN0cygkY3VycmVudF9wYXRoLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIpKQp7Cgkkc3ViZGlyID0gJyc7CglpZiAoIWZpbGVfZXhpc3RzKCRjdXJyZW50X3BhdGguJHJmbV9zdWJmb2xkZXIuJHN1YmRpcikpCgl7CgkJJHJmbV9zdWJmb2xkZXIgPSAiIjsKCX0KfQoKaWYgKHRyaW0oJHJmbV9zdWJmb2xkZXIpID09ICIiKQp7CgkkY3VyX2RpcgkJCT0gJHVwbG9hZF9kaXIuJHN1YmRpcjsKCSRjdXJfcGF0aAkJCT0gJGN1cnJlbnRfcGF0aC4kc3ViZGlyOwoJJHRodW1ic19wYXRoCT0gJHRodW1ic19iYXNlX3BhdGg7CgkkcGFyZW50CQkJCT0gJHN1YmRpcjsKfQplbHNlCnsKCSRjdXJfZGlyCQkJPSAkdXBsb2FkX2Rpci4kcmZtX3N1YmZvbGRlci4kc3ViZGlyOwoJJGN1cl9wYXRoCQkJPSAkY3VycmVudF9wYXRoLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXI7CgkkdGh1bWJzX3BhdGgJPSAkdGh1bWJzX2Jhc2VfcGF0aC4kcmZtX3N1YmZvbGRlcjsKCSRwYXJlbnQJCQkJPSAkcmZtX3N1YmZvbGRlci4kc3ViZGlyOwp9CgokY3ljbGUgPSBUUlVFOwokbWF4X2N5Y2xlcyA9IDUwOwokaSA9IDA7CndoaWxlKCRjeWNsZSAmJiAkaSA8ICRtYXhfY3ljbGVzKXsKCSRpKys7CglpZiAoJHBhcmVudD09Ii4vIikgJHBhcmVudD0iIjsKCglpZiAoZmlsZV9leGlzdHMoJGN1cnJlbnRfcGF0aC4kcGFyZW50LiJjb25maWcucGhwIikpCgl7CgkJcmVxdWlyZV9vbmNlICRjdXJyZW50X3BhdGguJHBhcmVudC4iY29uZmlnLnBocCI7CgkJJGN5Y2xlID0gRkFMU0U7Cgl9CgoJaWYgKCRwYXJlbnQgPT0gIiIpICRjeWNsZSA9IEZBTFNFOwoJZWxzZSAkcGFyZW50ID0gZml4X2Rpcm5hbWUoJHBhcmVudCkuIi8iOwp9CgppZiAoIWlzX2RpcigkdGh1bWJzX3BhdGguJHN1YmRpcikpCnsKCWNyZWF0ZV9mb2xkZXIoRkFMU0UsICR0aHVtYnNfcGF0aC4kc3ViZGlyKTsKfQoKaWYgKGlzc2V0KCRfR0VUWydwb3B1cCddKSkKewoJJHBvcHVwID0gc3RyaXBfdGFncygkX0dFVFsncG9wdXAnXSk7Cn0gZWxzZSAkcG9wdXA9MDsKLy9TYW5pdGl6ZSBwb3B1cAokcG9wdXA9ISEkcG9wdXA7CgppZiAoaXNzZXQoJF9HRVRbJ2Nyb3NzZG9tYWluJ10pKQp7CgkkY3Jvc3Nkb21haW4gPSBzdHJpcF90YWdzKCRfR0VUWydjcm9zc2RvbWFpbiddKTsKfSBlbHNlICRjcm9zc2RvbWFpbj0wOwoKLy9TYW5pdGl6ZSBjcm9zc2RvbWFpbgokY3Jvc3Nkb21haW49ISEkY3Jvc3Nkb21haW47CgovL3ZpZXcgdHlwZQppZighaXNzZXQoJF9TRVNTSU9OWydSRiddWyJ2aWV3X3R5cGUiXSkpCnsKCSR2aWV3ID0gJGRlZmF1bHRfdmlldzsKCSRfU0VTU0lPTlsnUkYnXVsidmlld190eXBlIl0gPSAkdmlldzsKfQoKaWYgKGlzc2V0KCRfR0VUWyd2aWV3J10pKQp7CgkkdmlldyA9IGZpeF9nZXRfcGFyYW1zKCRfR0VUWyd2aWV3J10pOwoJJF9TRVNTSU9OWydSRiddWyJ2aWV3X3R5cGUiXSA9ICR2aWV3Owp9CgokdmlldyA9ICRfU0VTU0lPTlsnUkYnXVsidmlld190eXBlIl07CgovL2ZpbHRlcgokZmlsdGVyID0gIiI7CmlmKGlzc2V0KCRfU0VTU0lPTlsnUkYnXVsiZmlsdGVyIl0pKQp7CgkkZmlsdGVyID0gJF9TRVNTSU9OWydSRiddWyJmaWx0ZXIiXTsKfQoKaWYoaXNzZXQoJF9HRVRbImZpbHRlciJdKSkKewoJJGZpbHRlciA9IGZpeF9nZXRfcGFyYW1zKCRfR0VUWyJmaWx0ZXIiXSk7Cn0KCmlmICghaXNzZXQoJF9TRVNTSU9OWydSRiddWydzb3J0X2J5J10pKQp7CgkkX1NFU1NJT05bJ1JGJ11bJ3NvcnRfYnknXSA9ICduYW1lJzsKfQoKaWYgKGlzc2V0KCRfR0VUWyJzb3J0X2J5Il0pKQp7Cgkkc29ydF9ieSA9ICRfU0VTU0lPTlsnUkYnXVsnc29ydF9ieSddID0gZml4X2dldF9wYXJhbXMoJF9HRVRbInNvcnRfYnkiXSk7Cn0gZWxzZSAkc29ydF9ieSA9ICRfU0VTU0lPTlsnUkYnXVsnc29ydF9ieSddOwoKCmlmICghaXNzZXQoJF9TRVNTSU9OWydSRiddWydkZXNjZW5kaW5nJ10pKQp7CgkkX1NFU1NJT05bJ1JGJ11bJ2Rlc2NlbmRpbmcnXSA9IFRSVUU7Cn0KCmlmIChpc3NldCgkX0dFVFsiZGVzY2VuZGluZyJdKSkKewoJJGRlc2NlbmRpbmcgPSAkX1NFU1NJT05bJ1JGJ11bJ2Rlc2NlbmRpbmcnXSA9IGZpeF9nZXRfcGFyYW1zKCRfR0VUWyJkZXNjZW5kaW5nIl0pPT0xOwp9IGVsc2UgewoJJGRlc2NlbmRpbmcgPSAkX1NFU1NJT05bJ1JGJ11bJ2Rlc2NlbmRpbmcnXTsKfQoKJGJvb2xhcnJheSA9IEFycmF5KGZhbHNlID0+ICdmYWxzZScsIHRydWUgPT4gJ3RydWUnKTsKCiRyZXR1cm5fcmVsYXRpdmVfdXJsID0gaXNzZXQoJF9HRVRbJ3JlbGF0aXZlX3VybCddKSAmJiAkX0dFVFsncmVsYXRpdmVfdXJsJ10gPT0gIjEiID8gdHJ1ZSA6IGZhbHNlOwoKaWYgKCFpc3NldCgkX0dFVFsndHlwZSddKSkgJF9HRVRbJ3R5cGUnXSA9IDA7CgokZXh0ZW5zaW9ucz0nJzsKaWYgKGlzc2V0KCRfR0VUWydleHRlbnNpb25zJ10pKXsKCSRleHRlbnNpb25zID0ganNvbl9kZWNvZGUoJF9HRVRbJ2V4dGVuc2lvbnMnXSk7CglpZigkZXh0ZW5zaW9ucyl7CgkJJGV4dCA9ICRleHRlbnNpb25zOwoJCSRzaG93X2ZpbHRlcl9idXR0b25zID0gZmFsc2U7Cgl9Cn0KCmlmIChpc3NldCgkX0dFVFsnbGFuZyddKSkKewoJJGxhbmcgPSBzdHJpcF90YWdzKCRfR0VUWydsYW5nJ10pOwoJJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddID0gJGxhbmc7CgkkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlX2ZpbGUnXSA9ICdsYW5nLycgLiAkbGFuZyAuICcucGhwJzsKfQoKaWYgKGlzc2V0KCRfR0VUWydlZGl0b3InXSkpCnsKCSRlZGl0b3IgPSBzdHJpcF90YWdzKCRfR0VUWydlZGl0b3InXSk7Cn0gZWxzZSB7CglpZigkX0dFVFsndHlwZSddPT0wKXsKCQkkZWRpdG9yPWZhbHNlOwoJfSBlbHNlIHsKCQkkZWRpdG9yPSd0aW55bWNlJzsKCX0KfQoKaWYgKCFpc3NldCgkX0dFVFsnZmllbGRfaWQnXSkpICRfR0VUWydmaWVsZF9pZCddID0gJyc7CgokZmllbGRfaWQgPSBpc3NldCgkX0dFVFsnZmllbGRfaWQnXSkgPyBmaXhfZ2V0X3BhcmFtcygkX0dFVFsnZmllbGRfaWQnXSkgOiAnJzsKJHR5cGVfcGFyYW0gPSBmaXhfZ2V0X3BhcmFtcygkX0dFVFsndHlwZSddKTsKCmlmICgkdHlwZV9wYXJhbT09MSkgCSAkYXBwbHkgPSAnYXBwbHlfaW1nJzsKZWxzZWlmKCR0eXBlX3BhcmFtPT0yKSAkYXBwbHkgPSAnYXBwbHlfbGluayc7CmVsc2VpZigkdHlwZV9wYXJhbT09MCAmJiAkX0dFVFsnZmllbGRfaWQnXT09JycpICRhcHBseSA9ICdhcHBseV9ub25lJzsKZWxzZWlmKCR0eXBlX3BhcmFtPT0zKSAkYXBwbHkgPSAnYXBwbHlfdmlkZW8nOwplbHNlICRhcHBseSA9ICdhcHBseSc7CgokZ2V0X3BhcmFtcyA9IGFycmF5KAoJJ2VkaXRvcicgICAgPT4gJGVkaXRvciwKCSd0eXBlJyAgICAgID0+ICR0eXBlX3BhcmFtLAoJJ2xhbmcnICAgICAgPT4gJGxhbmcsCgkncG9wdXAnICAgICA9PiAkcG9wdXAsCgknY3Jvc3Nkb21haW4nID0+ICRjcm9zc2RvbWFpbiwKCSdleHRlbnNpb25zJyA9PiBqc29uX2VuY29kZSgkZXh0ZW5zaW9ucyksCgknZmllbGRfaWQnICA9PiAkZmllbGRfaWQsCgkncmVsYXRpdmVfdXJsJyA9PiAkcmV0dXJuX3JlbGF0aXZlX3VybCwKCSdha2V5JyAJCT0+IChpc3NldCgkX0dFVFsnYWtleSddKSAmJiAkX0dFVFsnYWtleSddICE9ICcnID8gJF9HRVRbJ2FrZXknXSA6ICdrZXknKQopOwppZihpc3NldCgkX0dFVFsnQ0tFZGl0b3JGdW5jTnVtJ10pKXsKCSRnZXRfcGFyYW1zWydDS0VkaXRvckZ1bmNOdW0nXSA9ICRfR0VUWydDS0VkaXRvckZ1bmNOdW0nXTsKCSRnZXRfcGFyYW1zWydDS0VkaXRvciddID0gKGlzc2V0KCRfR0VUWydDS0VkaXRvciddKT8gJF9HRVRbJ0NLRWRpdG9yJ10gOiAnJyk7Cn0KJGdldF9wYXJhbXNbJ2ZsZHInXSA9Jyc7CgokZ2V0X3BhcmFtcyA9IGh0dHBfYnVpbGRfcXVlcnkoJGdldF9wYXJhbXMpOwo/Pgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgeG1sbnM9Imh0dHBzOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KCTxoZWFkPgoJCTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiA+CgkJPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgoJCTxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSxjaHJvbWU9MSIgLz4KCQk8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgsbm9mb2xsb3ciPgoJCTx0aXRsZT5SZXNwb25zaXZlIEZpbGVNYW5hZ2VyPC90aXRsZT4KCQk8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImltZy9pY28vZmF2aWNvbi5pY28iPgoJCTxsaW5rIGhyZWY9ImNzcy9zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+CgkJPGxpbmsgaHJlZj0ianMvalBsYXllci9za2luL2JsdWUubW9uZGF5L2pwbGF5ZXIuYmx1ZS5tb25kYXkuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KCTwhLS1baWYgbHQgSUUgOF0+PHN0eWxlPgoJLmltZy1jb250YWluZXIgc3BhbiwgLmltZy1jb250YWluZXItbWluaSBzcGFuIHsKCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CgkJaGVpZ2h0OiAxMDAlOwoJfQoJPC9zdHlsZT48IVtlbmRpZl0tLT4KCTxzY3JpcHQgc3JjPSJqcy9wbHVnaW5zLmpzIj48L3NjcmlwdD4KCTxzY3JpcHQgc3JjPSJqcy9qUGxheWVyL2pxdWVyeS5qcGxheWVyL2pxdWVyeS5qcGxheWVyLmpzIj48L3NjcmlwdD4KCTxzY3JpcHQgc3JjPSJqcy9tb2Rlcm5penIuY3VzdG9tLmpzIj48L3NjcmlwdD4KCTw/cGhwCglpZiAoJGF2aWFyeV9hY3RpdmUpewoJaWYgKCFlbXB0eSgkX1NFUlZFUlsnSFRUUFMnXSkgJiYgJF9TRVJWRVJbJ0hUVFBTJ10gIT09ICdvZmYnIHx8ICRfU0VSVkVSWydTRVJWRVJfUE9SVCddID09IDQ0MykgeyA/PgoJCTxzY3JpcHQgc3JjPSJodHRwczovL2RtZTBpaDhjb216bjQuY2xvdWRmcm9udC5uZXQvaW1hZ2luZy92Mi9lZGl0b3IuanMiPjwvc2NyaXB0PgoJPD9waHAgfWVsc2V7ID8+CgkJPHNjcmlwdCBzcmM9Imh0dHA6Ly9mZWF0aGVyLmF2aWFyeS5jb20vaW1hZ2luZy92Mi9lZGl0b3IuanMiPjwvc2NyaXB0PgoJPD9waHAgfX0gPz4KCgk8IS0tIExlIEhUTUw1IHNoaW0sIGZvciBJRTYtOCBzdXBwb3J0IG9mIEhUTUw1IGVsZW1lbnRzIC0tPgoJPCEtLVtpZiBsdCBJRSA5XT4KCTxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9odG1sNXNoaXYvMy42LjIvaHRtbDVzaGl2LmpzIj48L3NjcmlwdD4KCTwhW2VuZGlmXS0tPgoKCTxzY3JpcHQ+CgkJdmFyIGV4dF9pbWc9bmV3IEFycmF5KCc8P3BocCBlY2hvIGltcGxvZGUoIicsJyIsICRleHRfaW1nKT8+Jyk7CgkJdmFyIGFsbG93ZWRfZXh0PW5ldyBBcnJheSgnPD9waHAgZWNobyBpbXBsb2RlKCInLCciLCAkZXh0KT8+Jyk7CgkJdmFyIGltYWdlX2VkaXRvcj08P3BocCBlY2hvICRhdmlhcnlfYWN0aXZlPyJ0cnVlIjoiZmFsc2UiOz8+OwoJCS8vZHJvcHpvbmUgY29uZmlnCgkJRHJvcHpvbmUub3B0aW9ucy5yZm1Ecm9wem9uZSA9IHsKCQkJZGljdEludmFsaWRGaWxlVHlwZTogIjw/cGhwIGVjaG8gdHJhbnMoJ0Vycm9yX2V4dGVuc2lvbicpOz8+IiwKCQkJZGljdEZpbGVUb29CaWc6ICI8P3BocCBlY2hvIHRyYW5zKCdFcnJvcl9VcGxvYWQnKTs/PiIsCgkJCWRpY3REZWZhdWx0TWVzc2FnZTogIjw/cGhwIGVjaG8gdHJhbnMoJ1VwbG9hZF9tZXNzYWdlJyk7Pz4iLAoJCQlkaWN0UmVzcG9uc2VFcnJvcjogIjw/cGhwIGVjaG8gdHJhbnMoJ1NFUlZFUiBFUlJPUicpOz8+IiwKCQkJcGFyYW1OYW1lOiAiZmlsZSIsIC8vIFRoZSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHRyYW5zZmVyIHRoZSBmaWxlCgkJCW1heEZpbGVzaXplOiA8P3BocCBlY2hvICRNYXhTaXplVXBsb2FkOz8+LCAvLyBNQgoJCQl1cmw6ICJ1cGxvYWQucGhwIiwKCQkJPD9waHAgaWYoJGFwcGx5IT0iYXBwbHlfbm9uZSIpeyA/PgoJCQlpbml0OiBmdW5jdGlvbigpIHsKCQkJCXRoaXMub24oInN1Y2Nlc3MiLCBmdW5jdGlvbihmaWxlLHJlcykgewoJCQkJCWZpbGUucHJldmlld0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbigpIHsKCQkJCQkJPD9waHAgZWNobyAkYXBwbHk7Pz4ocmVzLCc8P3BocCBlY2hvICRmaWVsZF9pZDs/PicpOwoJCQkJCX0pOwoJCQkJfSk7CgkJCX0sCgkJCTw/cGhwIH0gPz4KCQkJYWNjZXB0OiBmdW5jdGlvbihmaWxlLCBkb25lKSB7CgkJCQl2YXIgZXh0ZW5zaW9uPWZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpOwoJCQkJZXh0ZW5zaW9uPWV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpOwoJCQkJaWYgKCQuaW5BcnJheShleHRlbnNpb24sIGFsbG93ZWRfZXh0KSA+IC0xKSB7CgkJCQkJZG9uZSgpOwoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJZG9uZSgiPD9waHAgZWNobyB0cmFucygnRXJyb3JfZXh0ZW5zaW9uJyk7Pz4iKTsKCQkJCX0KCQkJfQoJCX07CgkJaWYgKGltYWdlX2VkaXRvcikgewoJCXZhciBmZWF0aGVyRWRpdG9yID0gbmV3IEF2aWFyeS5GZWF0aGVyKHsKCQk8P3BocAoJCQlmb3JlYWNoICgkYXZpYXJ5X2RlZmF1bHRzX2NvbmZpZyBhcyAkYW9wdF9rZXkgPT4gJGFvcHRfdmFsKSB7CgkJCQllY2hvICRhb3B0X2tleS4iOiAiLmpzb25fZW5jb2RlKCRhb3B0X3ZhbCkuIiwiOwoJCQl9ID8+CgkJCW9uUmVhZHk6IGZ1bmN0aW9uKCkgewoJCQkJaGlkZV9hbmltYXRpb24oKTsKCQkJfSwKCQkJb25TYXZlOiBmdW5jdGlvbihpbWFnZUlELCBuZXdVUkwpIHsKCQkJCXNob3dfYW5pbWF0aW9uKCk7CgkJCQl2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW1hZ2VJRCk7CgkJCQlpbWcuc3JjID0gbmV3VVJMOwoJCQkJJC5hamF4KHsKCQkJCQl0eXBlOiAiUE9TVCIsCgkJCQkJdXJsOiAiYWpheF9jYWxscy5waHA/YWN0aW9uPXNhdmVfaW1nIiwKCQkJCQlkYXRhOiB7IHVybDogbmV3VVJMLCBwYXRoOiQoJyNzdWJfZm9sZGVyJykudmFsKCkrJCgnI2ZsZHJfdmFsdWUnKS52YWwoKSwgbmFtZTokKCcjYXZpYXJ5X2ltZycpLmF0dHIoJ2RhdGEtbmFtZScpIH0KCQkJCX0pLmRvbmUoZnVuY3Rpb24oIG1zZyApIHsKCQkJCQlmZWF0aGVyRWRpdG9yLmNsb3NlKCk7CgkJCQkJZCA9IG5ldyBEYXRlKCk7CgkJCQkJJCgiZmlndXJlW2RhdGEtbmFtZT0nIiskKCcjYXZpYXJ5X2ltZycpLmF0dHIoJ2RhdGEtbmFtZScpKyInXSIpLmZpbmQoJ2ltZycpLmVhY2goZnVuY3Rpb24oKXsKCQkJCQkkKHRoaXMpLmF0dHIoJ3NyYycsJCh0aGlzKS5hdHRyKCdzcmMnKSsiPyIrZC5nZXRUaW1lKCkpOwoJCQkJCX0pOwoJCQkJCSQoImZpZ3VyZVtkYXRhLW5hbWU9JyIrJCgnI2F2aWFyeV9pbWcnKS5hdHRyKCdkYXRhLW5hbWUnKSsiJ10iKS5maW5kKCdmaWdjYXB0aW9uIGEucHJldmlldycpLmVhY2goZnVuY3Rpb24oKXsKCQkJCQkkKHRoaXMpLmF0dHIoJ2RhdGEtdXJsJywkKHRoaXMpLmRhdGEoJ3VybCcpKyI/IitkLmdldFRpbWUoKSk7CgkJCQkJfSk7CgkJCQkJaGlkZV9hbmltYXRpb24oKTsKCQkJCX0pOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9LAoJCQlvbkVycm9yOiBmdW5jdGlvbihlcnJvck9iaikgewoJCQkJCWJvb3Rib3guYWxlcnQoZXJyb3JPYmoubWVzc2FnZSk7CgkJCQkJaGlkZV9hbmltYXRpb24oKTsKCQkJfQoKCX0pOwoJCX0KCTwvc2NyaXB0PgoJPHNjcmlwdCBzcmM9ImpzL2luY2x1ZGUuanMiPjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9InBvcHVwIiB2YWx1ZT0iPD9waHAgZWNobyAkcG9wdXA7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY3Jvc3Nkb21haW4iIHZhbHVlPSI8P3BocCBlY2hvICRjcm9zc2RvbWFpbjs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJlZGl0b3IiIHZhbHVlPSI8P3BocCBlY2hvICRlZGl0b3I7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0idmlldyIgdmFsdWU9Ijw/cGhwIGVjaG8gJHZpZXc7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ic3ViZGlyIiB2YWx1ZT0iPD9waHAgZWNobyAkc3ViZGlyOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImZpZWxkX2lkIiB2YWx1ZT0iPD9waHAgZWNobyAkZmllbGRfaWQ7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0idHlwZV9wYXJhbSIgdmFsdWU9Ijw/cGhwIGVjaG8gJHR5cGVfcGFyYW07Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY3VyX2RpciIgdmFsdWU9Ijw/cGhwIGVjaG8gJGN1cl9kaXI7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY3VyX2Rpcl90aHVtYiIgdmFsdWU9Ijw/cGhwIGVjaG8gJHRodW1ic19wYXRoLiRzdWJkaXI7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iaW5zZXJ0X2ZvbGRlcl9uYW1lIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnSW5zZXJ0X0ZvbGRlcl9OYW1lJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibmV3X2ZvbGRlciIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ05ld19Gb2xkZXInKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJvayIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ09LJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY2FuY2VsIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnQ2FuY2VsJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0icmVuYW1lIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnUmVuYW1lJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19kdXBsaWNhdGUiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdEdXBsaWNhdGUnKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJkdXBsaWNhdGUiIHZhbHVlPSI8P3BocCBpZigkZHVwbGljYXRlX2ZpbGVzKSBlY2hvIDE7IGVsc2UgZWNobyAwOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImJhc2VfdXJsIiB2YWx1ZT0iPD9waHAgZWNobyAkYmFzZV91cmw/PiIvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImJhc2VfdXJsX3RydWUiIHZhbHVlPSI8P3BocCBlY2hvIGJhc2VfdXJsKCk7Pz4iLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJmbGRyX3ZhbHVlIiB2YWx1ZT0iPD9waHAgZWNobyAkc3ViZGlyOz8+Ii8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ic3ViX2ZvbGRlciIgdmFsdWU9Ijw/cGhwIGVjaG8gJHJmbV9zdWJmb2xkZXI7Pz4iLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJyZXR1cm5fcmVsYXRpdmVfdXJsIiB2YWx1ZT0iPD9waHAgZWNobyAkcmV0dXJuX3JlbGF0aXZlX3VybCA9PSB0cnVlID8gMSA6IDA7Pz4iLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYXp5X2xvYWRpbmdfZmlsZV9udW1iZXJfdGhyZXNob2xkIiB2YWx1ZT0iPD9waHAgZWNobyAkbGF6eV9sb2FkaW5nX2ZpbGVfbnVtYmVyX3RocmVzaG9sZD8+Ii8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iZmlsZV9udW1iZXJfbGltaXRfanMiIHZhbHVlPSI8P3BocCBlY2hvICRmaWxlX251bWJlcl9saW1pdF9qczs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJzb3J0X2J5IiB2YWx1ZT0iPD9waHAgZWNobyAkc29ydF9ieTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJkZXNjZW5kaW5nIiB2YWx1ZT0iPD9waHAgZWNobyAkZGVzY2VuZGluZz8xOjA7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY3VycmVudF91cmwiIHZhbHVlPSI8P3BocCBlY2hvIHN0cl9yZXBsYWNlKGFycmF5KCcmZmlsdGVyPScuJGZpbHRlciwnJnNvcnRfYnk9Jy4kc29ydF9ieSwnJmRlc2NlbmRpbmc9Jy5pbnR2YWwoJGRlc2NlbmRpbmcpKSxhcnJheSgnJyksJGJhc2VfdXJsLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX3Nob3dfdXJsIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnU2hvd191cmwnKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJjb3B5X2N1dF9maWxlc19hbGxvd2VkIiB2YWx1ZT0iPD9waHAgaWYoJGNvcHlfY3V0X2ZpbGVzKSBlY2hvIDE7IGVsc2UgZWNobyAwOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImNvcHlfY3V0X2RpcnNfYWxsb3dlZCIgdmFsdWU9Ijw/cGhwIGlmKCRjb3B5X2N1dF9kaXJzKSBlY2hvIDE7IGVsc2UgZWNobyAwOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImNvcHlfY3V0X21heF9zaXplIiB2YWx1ZT0iPD9waHAgZWNobyAkY29weV9jdXRfbWF4X3NpemU7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY29weV9jdXRfbWF4X2NvdW50IiB2YWx1ZT0iPD9waHAgZWNobyAkY29weV9jdXRfbWF4X2NvdW50Oz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfY29weSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0NvcHknKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2N1dCIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0N1dCcpOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfcGFzdGUiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdQYXN0ZScpOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfcGFzdGVfaGVyZSIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1Bhc3RlX0hlcmUnKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX3Bhc3RlX2NvbmZpcm0iIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdQYXN0ZV9Db25maXJtJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19maWxlcyIgdmFsdWU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0ZpbGVzJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19mb2xkZXJzIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnRm9sZGVycycpOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfZmlsZXNfb25fY2xpcGJvYXJkIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnRmlsZXNfT05fQ2xpcGJvYXJkJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY2xpcGJvYXJkIiB2YWx1ZT0iPD9waHAgZWNobyAoKGlzc2V0KCRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkJ11bJ3BhdGgnXSkgJiYgdHJpbSgkX1NFU1NJT05bJ1JGJ11bJ2NsaXBib2FyZCddWydwYXRoJ10pICE9IG51bGwpID8gMSA6IDApOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfY2xlYXJfY2xpcGJvYXJkX2NvbmZpcm0iIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScpOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxhbmdfZmlsZV9wZXJtaXNzaW9uIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnRmlsZV9QZXJtaXNzaW9uJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iY2htb2RfZmlsZXNfYWxsb3dlZCIgdmFsdWU9Ijw/cGhwIGlmKCRjaG1vZF9maWxlcykgZWNobyAxOyBlbHNlIGVjaG8gMDs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJjaG1vZF9kaXJzX2FsbG93ZWQiIHZhbHVlPSI8P3BocCBpZigkY2htb2RfZGlycykgZWNobyAxOyBlbHNlIGVjaG8gMDs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2xhbmdfY2hhbmdlIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnTGFuZ19DaGFuZ2UnKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJlZGl0X3RleHRfZmlsZXNfYWxsb3dlZCIgdmFsdWU9Ijw/cGhwIGlmKCRlZGl0X3RleHRfZmlsZXMpIGVjaG8gMTsgZWxzZSBlY2hvIDA7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19lZGl0X2ZpbGUiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdFZGl0X0ZpbGUnKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX25ld19maWxlIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnTmV3X0ZpbGUnKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2ZpbGVuYW1lIiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnRmlsZW5hbWUnKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2ZpbGVfaW5mbyIgdmFsdWU9Ijw/cGhwIGVjaG8gZml4X3N0cnRvdXBwZXIodHJhbnMoJ0ZpbGVfaW5mbycpKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2VkaXRfaW1hZ2UiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdFZGl0X2ltYWdlJyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibGFuZ19zZWxlY3QiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdTZWxlY3QnKTs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsYW5nX2V4dHJhY3QiIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdFeHRyYWN0Jyk7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0idHJhbnNsaXRlcmF0aW9uIiB2YWx1ZT0iPD9waHAgZWNobyAkdHJhbnNsaXRlcmF0aW9uPyJ0cnVlIjoiZmFsc2UiOz8+IiAvPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImNvbnZlcnRfc3BhY2VzIiB2YWx1ZT0iPD9waHAgZWNobyAkY29udmVydF9zcGFjZXM/InRydWUiOiJmYWxzZSI7Pz4iIC8+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0icmVwbGFjZV93aXRoIiB2YWx1ZT0iPD9waHAgZWNobyAkY29udmVydF9zcGFjZXM/ICRyZXBsYWNlX3dpdGggOiAiIjs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsb3dlcl9jYXNlIiB2YWx1ZT0iPD9waHAgZWNobyAkbG93ZXJfY2FzZT8idHJ1ZSI6ImZhbHNlIjs/PiIgLz4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJzaG93X2ZvbGRlcl9zaXplIiB2YWx1ZT0iPD9waHAgZWNobyAkc2hvd19mb2xkZXJfc2l6ZTs/PiIgLz4KPD9waHAgaWYoJHVwbG9hZF9maWxlcyl7ID8+CjwhLS0gdXBsb2FkZXIgZGl2IHN0YXJ0IC0tPgo8ZGl2IGNsYXNzPSJ1cGxvYWRlciI+Cgk8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+CgkJPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1pbnZlcnNlIGNsb3NlLXVwbG9hZGVyIj48aSBjbGFzcz0iaWNvbi1iYWNrd2FyZCBpY29uLXdoaXRlIj48L2k+IDw/cGhwIGVjaG8gdHJhbnMoJ1JldHVybl9GaWxlc19MaXN0Jyk/PjwvYnV0dG9uPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJzcGFjZTEwIj48L2Rpdj4KCTxkaXYgY2xhc3M9InNwYWNlMTAiPjwvZGl2PgoJPGRpdiBjbGFzcz0idGFiYmFibGUgdXBsb2FkLXRhYmJhYmxlIj4gPCEtLSBPbmx5IHJlcXVpcmVkIGZvciBsZWZ0L3JpZ2h0IHRhYnMgLS0+CgkJPD9waHAgaWYoJGphdmFfdXBsb2FkKXsgPz4KCQk8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyI+CgkJCTxsaSBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIjdGFiMSIgZGF0YS10b2dnbGU9InRhYiI+PD9waHAgZWNobyB0cmFucygnVXBsb2FkX2Jhc2UnKTs/PjwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iI3RhYjIiIGlkPSJ1cGxvYWRlci1idG4iIGRhdGEtdG9nZ2xlPSJ0YWIiPjw/cGhwIGVjaG8gdHJhbnMoJ1VwbG9hZF9qYXZhJyk7Pz48L2E+PC9saT4KCQk8L3VsPgoJCTxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4KCQkJPGRpdiBjbGFzcz0idGFiLXBhbmUgYWN0aXZlIiBpZD0idGFiMSI+CgkJCQk8P3BocCB9ID8+CgkJCQk8Zm9ybSBhY3Rpb249ImRpYWxvZy5waHAiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgaWQ9InJmbURyb3B6b25lIiBjbGFzcz0iZHJvcHpvbmUiPgoJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSI8P3BocCBlY2hvICRjdXJfcGF0aD8+Ii8+CgkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aF90aHVtYiIgdmFsdWU9Ijw/cGhwIGVjaG8gJHRodW1ic19wYXRoLiRzdWJkaXI/PiIvPgoJCQkJCTxkaXYgY2xhc3M9ImZhbGxiYWNrIj4KCQkJCQkJPGgzPjw/cGhwIGVjaG8gIHRyYW5zKCdVcGxvYWRfZmlsZScpPz46PC9oMz48YnIvPgoJCQkJCQk8aW5wdXQgbmFtZT0iZmlsZSIgdHlwZT0iZmlsZSIgLz4KCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZmxkciIgdmFsdWU9Ijw/cGhwIGVjaG8gJHN1YmRpcjs/PiIvPgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ2aWV3IiB2YWx1ZT0iPD9waHAgZWNobyAkdmlldzs/PiIvPgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0eXBlIiB2YWx1ZT0iPD9waHAgZWNobyAkdHlwZV9wYXJhbTs/PiIvPgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWVsZF9pZCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpZWxkX2lkOz8+Ii8+CgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlbGF0aXZlX3VybCIgdmFsdWU9Ijw/cGhwIGVjaG8gJHJldHVybl9yZWxhdGl2ZV91cmw7Pz4iLz4KCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icG9wdXAiIHZhbHVlPSI8P3BocCBlY2hvICRwb3B1cDs/PiIvPgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJsYW5nIiB2YWx1ZT0iPD9waHAgZWNobyAkbGFuZzs/PiIvPgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWx0ZXIiIHZhbHVlPSI8P3BocCBlY2hvICRmaWx0ZXI7Pz4iLz4KCQkJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiB2YWx1ZT0iPD9waHAgZWNobyB0cmFucygnT0snKT8+IiAvPgoJCQkJCTwvZGl2PgoJCQkJPC9mb3JtPgoJCQkJPGRpdiBjbGFzcz0idXBsb2FkLWhlbHAiPjw/cGhwIGVjaG8gdHJhbnMoJ1VwbG9hZF9iYXNlX2hlbHAnKTs/PjwvZGl2PgoKCQkJPD9waHAgaWYoJGphdmFfdXBsb2FkKXsgPz4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9InRhYi1wYW5lIiBpZD0idGFiMiI+CgkJCQk8ZGl2IGlkPSJpZnJhbWUtY29udGFpbmVyIj48L2Rpdj4KCQkJCTxkaXYgY2xhc3M9InVwbG9hZC1oZWxwIj48P3BocCBlY2hvIHRyYW5zKCdVcGxvYWRfamF2YV9oZWxwJyk7Pz48L2Rpdj4KCQkJPD9waHAgfSA/PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvZGl2PgoKPC9kaXY+CjwhLS0gdXBsb2FkZXIgZGl2IHN0YXJ0IC0tPgoKPD9waHAgfSA/PgoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+Cgo8P3BocAokY2xhc3NfZXh0ID0gJyc7CiRzcmMgPSAnJzsKCiRmaWxlcwk9IHNjYW5kaXIoJGN1cnJlbnRfcGF0aC4kcmZtX3N1YmZvbGRlci4kc3ViZGlyKTsKJG5fZmlsZXM9IGNvdW50KCRmaWxlcyk7CgovL3BocCBzb3J0aW5nCiRzb3J0ZWQ9YXJyYXkoKTsKJGN1cnJlbnRfZm9sZGVyPWFycmF5KCk7CiRwcmV2X2ZvbGRlcj1hcnJheSgpOwokY3VycmVudF9maWxlc19udW1iZXIgPSAwOwokY3VycmVudF9mb2xkZXJzX251bWJlciA9IDA7CmZvcmVhY2goJGZpbGVzIGFzICRrPT4kZmlsZSl7CglpZigkZmlsZT09Ii4iKSAkY3VycmVudF9mb2xkZXI9YXJyYXkoJ2ZpbGUnPT4kZmlsZSk7CgllbHNlaWYoJGZpbGU9PSIuLiIpICRwcmV2X2ZvbGRlcj1hcnJheSgnZmlsZSc9PiRmaWxlKTsKCWVsc2VpZihpc19kaXIoJGN1cnJlbnRfcGF0aC4kcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlKSl7CgkJJGRhdGU9ZmlsZW10aW1lKCRjdXJyZW50X3BhdGguJHJmbV9zdWJmb2xkZXIuJHN1YmRpci4gJGZpbGUpOwoJCSRjdXJyZW50X2ZvbGRlcnNfbnVtYmVyKys7CgkJaWYoJHNob3dfZm9sZGVyX3NpemUpewoJCQlsaXN0KCRzaXplLCRuZmlsZXMsJG5mb2xkZXJzKSA9IGZvbGRlcl9pbmZvKCRjdXJyZW50X3BhdGguJHJmbV9zdWJmb2xkZXIuJHN1YmRpci4kZmlsZSxmYWxzZSk7CgkJCQoJCX0gZWxzZSB7CgkJCSRzaXplPTA7CgkJfQoJCSRmaWxlX2V4dD10cmFucygnVHlwZV9kaXInKTsKCQkkc29ydGVkWyRrXT1hcnJheSgKCQkJJ2ZpbGUnPT4kZmlsZSwKCQkJJ2ZpbGVfbGNhc2UnPT5zdHJ0b2xvd2VyKCRmaWxlKSwKCQkJJ2RhdGUnPT4kZGF0ZSwKCQkJJ3NpemUnPT4kc2l6ZSwKCQkJJ2V4dGVuc2lvbic9PiRmaWxlX2V4dCwKCQkJJ2V4dGVuc2lvbl9sY2FzZSc9PnN0cnRvbG93ZXIoJGZpbGVfZXh0KSk7CgkJaWYoJHNob3dfZm9sZGVyX3NpemUpewoJCQkkc29ydGVkWyRrXVsnbmZpbGVzJ10gPSAkbmZpbGVzOwoJCQkkc29ydGVkWyRrXVsnbmZvbGRlcnMnXSA9ICRuZm9sZGVyczsKCQl9Cgl9ZWxzZXsKCQkkY3VycmVudF9maWxlc19udW1iZXIrKzsKCQkkZmlsZV9wYXRoPSRjdXJyZW50X3BhdGguJHJmbV9zdWJmb2xkZXIuJHN1YmRpci4kZmlsZTsKCQkkZGF0ZT1maWxlbXRpbWUoJGZpbGVfcGF0aCk7CgkJJHNpemU9ZmlsZXNpemUoJGZpbGVfcGF0aCk7CgkJJGZpbGVfZXh0ID0gc3Vic3RyKHN0cnJjaHIoJGZpbGUsJy4nKSwxKTsKCQkkc29ydGVkWyRrXT1hcnJheSgnZmlsZSc9PiRmaWxlLCdmaWxlX2xjYXNlJz0+c3RydG9sb3dlcigkZmlsZSksJ2RhdGUnPT4kZGF0ZSwnc2l6ZSc9PiRzaXplLCdleHRlbnNpb24nPT4kZmlsZV9leHQsJ2V4dGVuc2lvbl9sY2FzZSc9PnN0cnRvbG93ZXIoJGZpbGVfZXh0KSk7Cgl9Cn0KCi8vIFNob3VsZCBsYXp5IGxvYWRpbmcgYmUgZW5hYmxlZAokbGF6eV9sb2FkaW5nX2VuYWJsZWQ9ICgkbGF6eV9sb2FkaW5nX2ZpbGVfbnVtYmVyX3RocmVzaG9sZCA9PSAwIHx8ICRsYXp5X2xvYWRpbmdfZmlsZV9udW1iZXJfdGhyZXNob2xkICE9IC0xICYmICRuX2ZpbGVzID4gJGxhenlfbG9hZGluZ19maWxlX251bWJlcl90aHJlc2hvbGQpID8gdHJ1ZSA6IGZhbHNlOwoKZnVuY3Rpb24gZmlsZW5hbWVTb3J0KCR4LCAkeSkgewoJcmV0dXJuICR4WydmaWxlX2xjYXNlJ10gPCAgJHlbJ2ZpbGVfbGNhc2UnXTsKfQpmdW5jdGlvbiBkYXRlU29ydCgkeCwgJHkpIHsKCXJldHVybiAkeFsnZGF0ZSddIDwgICR5WydkYXRlJ107Cn0KZnVuY3Rpb24gc2l6ZVNvcnQoJHgsICR5KSB7CglyZXR1cm4gJHhbJ3NpemUnXSA8ICAkeVsnc2l6ZSddOwp9CmZ1bmN0aW9uIGV4dGVuc2lvblNvcnQoJHgsICR5KSB7CglyZXR1cm4gJHhbJ2V4dGVuc2lvbl9sY2FzZSddIDwgICR5WydleHRlbnNpb25fbGNhc2UnXTsKfQoKc3dpdGNoKCRzb3J0X2J5KXsKCWNhc2UgJ2RhdGUnOgoJCXVzb3J0KCRzb3J0ZWQsICdkYXRlU29ydCcpOwoJCWJyZWFrOwoJY2FzZSAnc2l6ZSc6CgkJdXNvcnQoJHNvcnRlZCwgJ3NpemVTb3J0Jyk7CgkJYnJlYWs7CgljYXNlICdleHRlbnNpb24nOgoJCXVzb3J0KCRzb3J0ZWQsICdleHRlbnNpb25Tb3J0Jyk7CgkJYnJlYWs7CglkZWZhdWx0OgoJCXVzb3J0KCRzb3J0ZWQsICdmaWxlbmFtZVNvcnQnKTsKCQlicmVhazsKfQoKaWYoISRkZXNjZW5kaW5nKXsKCSRzb3J0ZWQ9YXJyYXlfcmV2ZXJzZSgkc29ydGVkKTsKfQoKJGZpbGVzPWFycmF5X21lcmdlKGFycmF5KCRwcmV2X2ZvbGRlciksYXJyYXkoJGN1cnJlbnRfZm9sZGVyKSwkc29ydGVkKTsKPz4KPCEtLSBoZWFkZXIgZGl2IHN0YXJ0IC0tPgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+Cgk8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CgkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CgkJPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CgkJPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CgkJPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CgkJPC9idXR0b24+CgkJPGRpdiBjbGFzcz0iYnJhbmQiPjw/cGhwIGVjaG8gdHJhbnMoJ1Rvb2xiYXInKTs/PjwvZGl2PgoJCTxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSBjb2xsYXBzZSI+CgkJPGRpdiBjbGFzcz0iZmlsdGVycyI+CgkJCTxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CgkJCTxkaXYgY2xhc3M9InNwYW40IGhhbGYiPgoJCQkJPD9waHAgaWYoJHVwbG9hZF9maWxlcyl7ID8+CgkJCQk8YnV0dG9uIGNsYXNzPSJ0aXAgYnRuIHVwbG9hZC1idG4iIHRpdGxlPSI8P3BocCBlY2hvICB0cmFucygnVXBsb2FkX2ZpbGUnKTs/PiI+PGkgY2xhc3M9InJmaWNvbi11cGxvYWQiPjwvaT48L2J1dHRvbj4KCQkJCTw/cGhwIH0gPz4KCQkJCTw/cGhwIGlmKCRjcmVhdGVfdGV4dF9maWxlcyl7ID8+CgkJCQk8YnV0dG9uIGNsYXNzPSJ0aXAgYnRuIGNyZWF0ZS1maWxlLWJ0biIgdGl0bGU9Ijw/cGhwIGVjaG8gIHRyYW5zKCdOZXdfRmlsZScpOz8+Ij48aSBjbGFzcz0iaWNvbi1wbHVzIj48L2k+PGkgY2xhc3M9Imljb24tZmlsZSI+PC9pPjwvYnV0dG9uPgoJCQkJPD9waHAgfSA/PgoJCQkJPD9waHAgaWYoJGNyZWF0ZV9mb2xkZXJzKXsgPz4KCQkJCTxidXR0b24gY2xhc3M9InRpcCBidG4gbmV3LWZvbGRlciIgdGl0bGU9Ijw/cGhwIGVjaG8gIHRyYW5zKCdOZXdfRm9sZGVyJyk/PiI+PGkgY2xhc3M9Imljb24tcGx1cyI+PC9pPjxpIGNsYXNzPSJpY29uLWZvbGRlci1vcGVuIj48L2k+PC9idXR0b24+CgkJCQk8P3BocCB9ID8+CgkJCQk8P3BocCBpZigkY29weV9jdXRfZmlsZXMgfHwgJGNvcHlfY3V0X2RpcnMpeyA/PgoJCQkJPGJ1dHRvbiBjbGFzcz0idGlwIGJ0biBwYXN0ZS1oZXJlLWJ0biIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1Bhc3RlX0hlcmUnKTs/PiI+PGkgY2xhc3M9InJmaWNvbi1jbGlwYm9hcmQtYXBwbHkiPjwvaT48L2J1dHRvbj4KCQkJCTxidXR0b24gY2xhc3M9InRpcCBidG4gY2xlYXItY2xpcGJvYXJkLWJ0biIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0NsZWFyX0NsaXBib2FyZCcpOz8+Ij48aSBjbGFzcz0icmZpY29uLWNsaXBib2FyZC1jbGVhciI+PC9pPjwvYnV0dG9uPgoJCQkJPD9waHAgfSA/PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ic3BhbjIgaGFsZiB2aWV3LWNvbnRyb2xsZXIiPgoJCQkJPGJ1dHRvbiBjbGFzcz0iYnRuIHRpcDw/cGhwIGlmKCR2aWV3PT0wKSBlY2hvICIgYnRuLWludmVyc2UiOz8+IiBpZD0idmlldzAiIGRhdGEtdmFsdWU9IjAiIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdWaWV3X2JveGVzJyk7Pz4iPjxpIGNsYXNzPSJpY29uLXRoIDw/cGhwIGlmKCR2aWV3PT0wKSBlY2hvICJpY29uLXdoaXRlIjs/PiI+PC9pPjwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0iYnRuIHRpcDw/cGhwIGlmKCR2aWV3PT0xKSBlY2hvICIgYnRuLWludmVyc2UiOz8+IiBpZD0idmlldzEiIGRhdGEtdmFsdWU9IjEiIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdWaWV3X2xpc3QnKTs/PiI+PGkgY2xhc3M9Imljb24tYWxpZ24tanVzdGlmeSA8P3BocCBpZigkdmlldz09MSkgZWNobyAiaWNvbi13aGl0ZSI7Pz4iPjwvaT48L2J1dHRvbj4KCQkJCTxidXR0b24gY2xhc3M9ImJ0biB0aXA8P3BocCBpZigkdmlldz09MikgZWNobyAiIGJ0bi1pbnZlcnNlIjs/PiIgaWQ9InZpZXcyIiBkYXRhLXZhbHVlPSIyIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnVmlld19jb2x1bW5zX2xpc3QnKTs/PiI+PGkgY2xhc3M9Imljb24tZmlyZSA8P3BocCBpZigkdmlldz09MikgZWNobyAiaWNvbi13aGl0ZSI7Pz4iPjwvaT48L2J1dHRvbj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9InNwYW42IGVudGlyZSB0eXBlcyI+CgkJCQk8c3Bhbj48P3BocCBlY2hvIHRyYW5zKCdGaWx0ZXJzJyk7Pz46PC9zcGFuPgoJCQkJPD9waHAgaWYoJF9HRVRbJ3R5cGUnXSE9MSAmJiAkX0dFVFsndHlwZSddIT0zICYmICRzaG93X2ZpbHRlcl9idXR0b25zKXsgPz4KCQkJCQk8P3BocCBpZihjb3VudCgkZXh0X2ZpbGUpPjAgb3IgZmFsc2UpeyA/PgoJCQkJPGlucHV0IGlkPSJzZWxlY3QtdHlwZS0xIiBuYW1lPSJyYWRpby1zb3J0IiB0eXBlPSJyYWRpbyIgZGF0YS1pdGVtPSJmZi1pdGVtLXR5cGUtMSIgY2hlY2tlZD0iY2hlY2tlZCIgIGNsYXNzPSJoaWRlIiAgLz4KCQkJCTxsYWJlbCBpZD0iZmYtaXRlbS10eXBlLTEiIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdGaWxlcycpOz8+IiBmb3I9InNlbGVjdC10eXBlLTEiIGNsYXNzPSJ0aXAgYnRuIGZmLWxhYmVsLXR5cGUtMSI+PGkgY2xhc3M9Imljb24tZmlsZSI+PC9pPjwvbGFiZWw+CgkJCQkJPD9waHAgfSA/PgoJCQkJCTw/cGhwIGlmKGNvdW50KCRleHRfaW1nKT4wIG9yIGZhbHNlKXsgPz4KCQkJCTxpbnB1dCBpZD0ic2VsZWN0LXR5cGUtMiIgbmFtZT0icmFkaW8tc29ydCIgdHlwZT0icmFkaW8iIGRhdGEtaXRlbT0iZmYtaXRlbS10eXBlLTIiIGNsYXNzPSJoaWRlIiAgLz4KCQkJCTxsYWJlbCBpZD0iZmYtaXRlbS10eXBlLTIiIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdJbWFnZXMnKTs/PiIgZm9yPSJzZWxlY3QtdHlwZS0yIiBjbGFzcz0idGlwIGJ0biBmZi1sYWJlbC10eXBlLTIiPjxpIGNsYXNzPSJpY29uLXBpY3R1cmUiPjwvaT48L2xhYmVsPgoJCQkJCTw/cGhwIH0gPz4KCQkJCQk8P3BocCBpZihjb3VudCgkZXh0X21pc2MpPjAgb3IgZmFsc2UpeyA/PgoJCQkJPGlucHV0IGlkPSJzZWxlY3QtdHlwZS0zIiBuYW1lPSJyYWRpby1zb3J0IiB0eXBlPSJyYWRpbyIgZGF0YS1pdGVtPSJmZi1pdGVtLXR5cGUtMyIgY2xhc3M9ImhpZGUiICAvPgoJCQkJPGxhYmVsIGlkPSJmZi1pdGVtLXR5cGUtMyIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0FyY2hpdmVzJyk7Pz4iIGZvcj0ic2VsZWN0LXR5cGUtMyIgY2xhc3M9InRpcCBidG4gZmYtbGFiZWwtdHlwZS0zIj48aSBjbGFzcz0iaWNvbi1pbmJveCI+PC9pPjwvbGFiZWw+CgkJCQkJPD9waHAgfSA/PgoJCQkJCTw/cGhwIGlmKGNvdW50KCRleHRfdmlkZW8pPjAgb3IgZmFsc2UpeyA/PgoJCQkJPGlucHV0IGlkPSJzZWxlY3QtdHlwZS00IiBuYW1lPSJyYWRpby1zb3J0IiB0eXBlPSJyYWRpbyIgZGF0YS1pdGVtPSJmZi1pdGVtLXR5cGUtNCIgY2xhc3M9ImhpZGUiICAvPgoJCQkJPGxhYmVsIGlkPSJmZi1pdGVtLXR5cGUtNCIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1ZpZGVvcycpOz8+IiBmb3I9InNlbGVjdC10eXBlLTQiIGNsYXNzPSJ0aXAgYnRuIGZmLWxhYmVsLXR5cGUtNCI+PGkgY2xhc3M9Imljb24tZmlsbSI+PC9pPjwvbGFiZWw+CgkJCQkJPD9waHAgfSA/PgoJCQkJCTw/cGhwIGlmKGNvdW50KCRleHRfbXVzaWMpPjAgb3IgZmFsc2UpeyA/PgoJCQkJPGlucHV0IGlkPSJzZWxlY3QtdHlwZS01IiBuYW1lPSJyYWRpby1zb3J0IiB0eXBlPSJyYWRpbyIgZGF0YS1pdGVtPSJmZi1pdGVtLXR5cGUtNSIgY2xhc3M9ImhpZGUiICAvPgoJCQkJPGxhYmVsIGlkPSJmZi1pdGVtLXR5cGUtNSIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ011c2ljJyk7Pz4iIGZvcj0ic2VsZWN0LXR5cGUtNSIgY2xhc3M9InRpcCBidG4gZmYtbGFiZWwtdHlwZS01Ij48aSBjbGFzcz0iaWNvbi1tdXNpYyI+PC9pPjwvbGFiZWw+CgkJCQkJPD9waHAgfSA/PgoJCQkJPD9waHAgfSA/PgoJCQkJPGlucHV0IGFjY2Vzc2tleT0iZiIgdHlwZT0idGV4dCIgY2xhc3M9ImZpbHRlci1pbnB1dCA8P3BocCBlY2hvICgoJF9HRVRbJ3R5cGUnXSE9MSAmJiAkX0dFVFsndHlwZSddIT0zKSA/ICcnIDogJ2ZpbHRlci1pbnB1dC1ub3R5cGUnKTs/PiIgaWQ9ImZpbHRlci1pbnB1dCIgbmFtZT0iZmlsdGVyIiBwbGFjZWhvbGRlcj0iPD9waHAgZWNobyBmaXhfc3RydG9sb3dlcih0cmFucygnVGV4dF9maWx0ZXInKSk7Pz4uLi4iIHZhbHVlPSI8P3BocCBlY2hvICRmaWx0ZXI7Pz4iLz48P3BocCBpZigkbl9maWxlcz4kZmlsZV9udW1iZXJfbGltaXRfanMpeyA/PjxsYWJlbCBpZD0iZmlsdGVyIiBjbGFzcz0iYnRuIj48aSBjbGFzcz0iaWNvbi1wbGF5Ij48L2k+PC9sYWJlbD48P3BocCB9ID8+CgoJCQkJPGlucHV0IGlkPSJzZWxlY3QtdHlwZS1hbGwiIG5hbWU9InJhZGlvLXNvcnQiIHR5cGU9InJhZGlvIiBkYXRhLWl0ZW09ImZmLWl0ZW0tdHlwZS1hbGwiIGNsYXNzPSJoaWRlIiAgLz4KCQkJCTxsYWJlbCBpZD0iZmYtaXRlbS10eXBlLWFsbCIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0FsbCcpOz8+IiA8P3BocCBpZigkX0dFVFsndHlwZSddPT0xIHx8ICRfR0VUWyd0eXBlJ109PTMpeyA/PnN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IiA8P3BocCB9ID8+IGRhdGEtaXRlbT0iZmYtaXRlbS10eXBlLWFsbCIgZm9yPSJzZWxlY3QtdHlwZS1hbGwiIHN0eWxlPSJtYXJnaW4tcmlndGg6MHB4OyIgY2xhc3M9InRpcCBidG4gYnRuLWludmVyc2UgZmYtbGFiZWwtdHlwZS1hbGwiPjxpIGNsYXNzPSJpY29uLXJlbW92ZSBpY29uLXdoaXRlIj48L2k+PC9sYWJlbD4KCgkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvZGl2PgoJPC9kaXY+CjwvZGl2PgoKPCEtLSBoZWFkZXIgZGl2IGVuZCAtLT4KCgk8IS0tIGJyZWFkY3J1bWIgZGl2IHN0YXJ0IC0tPgoKCTxkaXYgY2xhc3M9InJvdy1mbHVpZCI+Cgk8P3BocAoJJGxpbms9ImRpYWxvZy5waHA/Ii4kZ2V0X3BhcmFtczsKCT8+Cgk8dWwgY2xhc3M9ImJyZWFkY3J1bWIiPgoJPGxpIGNsYXNzPSJwdWxsLWxlZnQiPjxhIGhyZWY9Ijw/cGhwIGVjaG8gJGxpbms/Pi8iPjxpIGNsYXNzPSJpY29uLWhvbWUiPjwvaT48L2E+PC9saT4KCTxsaT48c3BhbiBjbGFzcz0iZGl2aWRlciI+Lzwvc3Bhbj48L2xpPgoJPD9waHAKCSRiYz1leHBsb2RlKCIvIiwkc3ViZGlyKTsKCSR0bXBfcGF0aD0nJzsKCWlmKCFlbXB0eSgkYmMpKQoJZm9yZWFjaCgkYmMgYXMgJGs9PiRiKXsKCQkkdG1wX3BhdGguPSRiLiIvIjsKCQlpZigkaz09Y291bnQoJGJjKS0yKXsKCT8+IDxsaSBjbGFzcz0iYWN0aXZlIj48P3BocCBlY2hvICRiPz48L2xpPjw/cGhwCgkJfWVsc2VpZigkYiE9IiIpeyA/PgoJCTxsaT48YSBocmVmPSI8P3BocCBlY2hvICRsaW5rLiR0bXBfcGF0aD8+Ij48P3BocCBlY2hvICRiPz48L2E+PC9saT48bGk+PHNwYW4gY2xhc3M9ImRpdmlkZXIiPjw/cGhwIGVjaG8gIi8iOz8+PC9zcGFuPjwvbGk+Cgk8P3BocCB9Cgl9Cgk/PgoKCTxsaSBjbGFzcz0icHVsbC1yaWdodCI+PGEgY2xhc3M9ImJ0bi1zbWFsbCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgaWQ9ImluZm8iPjxpIGNsYXNzPSJpY29uLXF1ZXN0aW9uLXNpZ24iPjwvaT48L2E+PC9saT4KCTw/cGhwIGlmKCRzaG93X2xhbmd1YWdlX3NlbGVjdGlvbil7ID8+Cgk8bGkgY2xhc3M9InB1bGwtcmlnaHQiPjxhIGNsYXNzPSJidG4tc21hbGwiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGlkPSJjaGFuZ2VfbGFuZ19idG4iPjxpIGNsYXNzPSJpY29uLWdsb2JlIj48L2k+PC9hPjwvbGk+Cgk8P3BocCB9ID8+Cgk8bGkgY2xhc3M9InB1bGwtcmlnaHQiPjxhIGlkPSJyZWZyZXNoIiBjbGFzcz0iYnRuLXNtYWxsIiBocmVmPSJkaWFsb2cucGhwPzw/cGhwIGVjaG8gJGdldF9wYXJhbXMuJHN1YmRpci4iJiIudW5pcWlkKCkgPz4iPjxpIGNsYXNzPSJpY29uLXJlZnJlc2giPjwvaT48L2E+PC9saT4KCgk8bGkgY2xhc3M9InB1bGwtcmlnaHQiPgoJCTxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CgkJPGEgY2xhc3M9ImJ0biBkcm9wZG93bi10b2dnbGUgc29ydGluZy1idG4iIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgaHJlZj0iIyI+CgkJPGkgY2xhc3M9Imljb24tc2lnbmFsIj48L2k+CgkJPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CgkJPC9hPgoJCTx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBwdWxsLWxlZnQgc29ydGluZyI+CgkJCTxsaSBjbGFzcz0idGV4dC1jZW50ZXIiPjxzdHJvbmc+PD9waHAgZWNobyB0cmFucygnU29ydGluZycpID8+PC9zdHJvbmc+PC9saT4KCQk8bGk+PGEgY2xhc3M9InNvcnRlciBzb3J0LW5hbWUgPD9waHAgaWYoJHNvcnRfYnk9PSJuYW1lIil7IGVjaG8gKCRkZXNjZW5kaW5nKT8iZGVzY2VuZGluZyI6ImFzY2VuZGluZyI7IH0gPz4iIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGRhdGEtc29ydD0ibmFtZSI+PD9waHAgZWNobyB0cmFucygnRmlsZW5hbWUnKTs/PjwvYT48L2xpPgoJCTxsaT48YSBjbGFzcz0ic29ydGVyIHNvcnQtZGF0ZSA8P3BocCBpZigkc29ydF9ieT09ImRhdGUiKXsgZWNobyAoJGRlc2NlbmRpbmcpPyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIjsgfSA/PiIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgZGF0YS1zb3J0PSJkYXRlIj48P3BocCBlY2hvIHRyYW5zKCdEYXRlJyk7Pz48L2E+PC9saT4KCQk8bGk+PGEgY2xhc3M9InNvcnRlciBzb3J0LXNpemUgPD9waHAgaWYoJHNvcnRfYnk9PSJzaXplIil7IGVjaG8gKCRkZXNjZW5kaW5nKT8iZGVzY2VuZGluZyI6ImFzY2VuZGluZyI7IH0gPz4iIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGRhdGEtc29ydD0ic2l6ZSI+PD9waHAgZWNobyB0cmFucygnU2l6ZScpOz8+PC9hPjwvbGk+CgkJPGxpPjxhIGNsYXNzPSJzb3J0ZXIgc29ydC1leHRlbnNpb24gPD9waHAgaWYoJHNvcnRfYnk9PSJleHRlbnNpb24iKXsgZWNobyAoJGRlc2NlbmRpbmcpPyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIjsgfSA/PiIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgZGF0YS1zb3J0PSJleHRlbnNpb24iPjw/cGhwIGVjaG8gdHJhbnMoJ1R5cGUnKTs/PjwvYT48L2xpPgoJCTwvdWw+CgkJPC9kaXY+Cgk8L2xpPgoJPGxpPjxzbWFsbCBjbGFzcz0iaGlkZGVuLXBob25lIj4oPHNwYW4gaWQ9ImZpbGVzX251bWJlciI+PD9waHAgZWNobyAkY3VycmVudF9maWxlc19udW1iZXIuIjwvc3Bhbj4gIi50cmFucygnRmlsZXMnKS4iIC0gPHNwYW4gaWQ9J2ZvbGRlcnNfbnVtYmVyJz4iLiRjdXJyZW50X2ZvbGRlcnNfbnVtYmVyLiI8L3NwYW4+ICIudHJhbnMoJ0ZvbGRlcnMnKTs/Pik8L3NtYWxsPjwvbGk+Cgk8P3BocCBpZigkc2hvd190b3RhbF9zaXplKXsgPz4KCTxsaT48c21hbGwgY2xhc3M9ImhpZGRlbi1waG9uZSI+PHNwYW4gdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ3RvdGFsIHNpemUnKS4kTWF4U2l6ZVRvdGFsOz8+Ij48P3BocCBlY2hvIHRyYW5zKCd0b3RhbCBzaXplJykuIjogIi5tYWtlU2l6ZSgkc2l6ZUN1cnJlbnRGb2xkZXIpLigoJE1heFNpemVUb3RhbCAhPT0gZmFsc2UgJiYgaXNfaW50KCRNYXhTaXplVG90YWwpKT8gJy8nLiRNYXhTaXplVG90YWwuJyAnLnRyYW5zKCdNQicpOicnKTs/Pjwvc3Bhbj48L3NtYWxsPgoJPC9saT4KCTw/cGhwIH0gPz4KCTwvdWw+Cgk8L2Rpdj4KCTwhLS0gYnJlYWRjcnVtYiBkaXYgZW5kIC0tPgoJPGRpdiBjbGFzcz0icm93LWZsdWlkIGZmLWNvbnRhaW5lciI+Cgk8ZGl2IGNsYXNzPSJzcGFuMTIiPgoJCTw/cGhwIGlmKEBvcGVuZGlyKCRjdXJyZW50X3BhdGguJHJmbV9zdWJmb2xkZXIuJHN1YmRpcik9PT1GQUxTRSl7ID8+CgkJPGJyLz4KCQk8ZGl2IGNsYXNzPSJhbGVydCBhbGVydC1lcnJvciI+VGhlcmUgaXMgYW4gZXJyb3IhIFRoZSB1cGxvYWQgZm9sZGVyIHRoZXJlIGlzbid0LiBDaGVjayB5b3VyIGNvbmZpZy5waHAgZmlsZS4gPC9kaXY+CgkJPD9waHAgfWVsc2V7ID8+CgkJPGg0IGlkPSJoZWxwIj48P3BocCBlY2hvIHRyYW5zKCdTd2lwZV9oZWxwJyk7Pz48L2g0PgoJCTw/cGhwIGlmKGlzc2V0KCRmb2xkZXJfbWVzc2FnZSkpeyA/PgoJCTxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWJsb2NrIj48P3BocCBlY2hvICRmb2xkZXJfbWVzc2FnZTs/PjwvZGl2PgoJCTw/cGhwIH0gPz4KCQk8P3BocCBpZigkc2hvd19zb3J0aW5nX2Jhcil7ID8+CgkJPCEtLSBzb3J0ZXIgLS0+CgkJPGRpdiBjbGFzcz0ic29ydGVyLWNvbnRhaW5lciA8P3BocCBlY2hvICJsaXN0LXZpZXciLiR2aWV3Oz8+Ij4KCQk8ZGl2IGNsYXNzPSJmaWxlLW5hbWUiPjxhIGNsYXNzPSJzb3J0ZXIgc29ydC1uYW1lIDw/cGhwIGlmKCRzb3J0X2J5PT0ibmFtZSIpeyBlY2hvICgkZGVzY2VuZGluZyk/ImRlc2NlbmRpbmciOiJhc2NlbmRpbmciOyB9ID8+IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBkYXRhLXNvcnQ9Im5hbWUiPjw/cGhwIGVjaG8gdHJhbnMoJ0ZpbGVuYW1lJyk7Pz48L2E+PC9kaXY+CgkJPGRpdiBjbGFzcz0iZmlsZS1kYXRlIj48YSBjbGFzcz0ic29ydGVyIHNvcnQtZGF0ZSA8P3BocCBpZigkc29ydF9ieT09ImRhdGUiKXsgZWNobyAoJGRlc2NlbmRpbmcpPyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIjsgfSA/PiIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgZGF0YS1zb3J0PSJkYXRlIj48P3BocCBlY2hvIHRyYW5zKCdEYXRlJyk7Pz48L2E+PC9kaXY+CgkJPGRpdiBjbGFzcz0iZmlsZS1zaXplIj48YSBjbGFzcz0ic29ydGVyIHNvcnQtc2l6ZSA8P3BocCBpZigkc29ydF9ieT09InNpemUiKXsgZWNobyAoJGRlc2NlbmRpbmcpPyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIjsgfSA/PiIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgZGF0YS1zb3J0PSJzaXplIj48P3BocCBlY2hvIHRyYW5zKCdTaXplJyk7Pz48L2E+PC9kaXY+CgkJPGRpdiBjbGFzcz0naW1nLWRpbWVuc2lvbic+PD9waHAgZWNobyB0cmFucygnRGltZW5zaW9uJyk7Pz48L2Rpdj4KCQk8ZGl2IGNsYXNzPSdmaWxlLWV4dGVuc2lvbic+PGEgY2xhc3M9InNvcnRlciBzb3J0LWV4dGVuc2lvbiA8P3BocCBpZigkc29ydF9ieT09ImV4dGVuc2lvbiIpeyBlY2hvICgkZGVzY2VuZGluZyk/ImRlc2NlbmRpbmciOiJhc2NlbmRpbmciOyB9ID8+IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBkYXRhLXNvcnQ9ImV4dGVuc2lvbiI+PD9waHAgZWNobyB0cmFucygnVHlwZScpOz8+PC9hPjwvZGl2PgoJCTxkaXYgY2xhc3M9J2ZpbGUtb3BlcmF0aW9ucyc+PD9waHAgZWNobyB0cmFucygnT3BlcmF0aW9ucycpOz8+PC9kaXY+CgkJPC9kaXY+CgkJPD9waHAgfSA/PgoKCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iZmlsZV9udW1iZXIiIHZhbHVlPSI8P3BocCBlY2hvICRuX2ZpbGVzOz8+IiAvPgoJCTwhLS11bCBjbGFzcz0idGh1bWJuYWlscyBmZi1pdGVtcyItLT4KCQk8dWwgY2xhc3M9ImdyaWQgY3Mtc3R5bGUtMiA8P3BocCBlY2hvICJsaXN0LXZpZXciLiR2aWV3Oz8+IiBpZD0ibWFpbi1pdGVtLWNvbnRhaW5lciI+CgkJPD9waHAKCQkkanBsYXllcl9leHQ9YXJyYXkoIm1wNCIsImZsdiIsIndlYm12Iiwid2VibWEiLCJ3ZWJtIiwibTRhIiwibTR2Iiwib2d2Iiwib2dhIiwibXAzIiwibWlkaSIsIm1pZCIsIm9nZyIsIndhdiIpOwoJCWZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZV9hcnJheSkgewoJCQkkZmlsZT0kZmlsZV9hcnJheVsnZmlsZSddOwoJCQlpZigkZmlsZSA9PSAnLicgfHwgKGlzc2V0KCRmaWxlX2FycmF5WydleHRlbnNpb24nXSkgJiYgJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddIT10cmFucygnVHlwZV9kaXInKSkgfHwgKCRmaWxlID09ICcuLicgJiYgJHN1YmRpciA9PSAnJykgfHwgaW5fYXJyYXkoJGZpbGUsICRoaWRkZW5fZm9sZGVycykgfHwgKCRmaWx0ZXIhPScnICYmICRuX2ZpbGVzPiRmaWxlX251bWJlcl9saW1pdF9qcyAmJiAkZmlsZSE9Ii4uIiAmJiBzdHJpcG9zKCRmaWxlLCRmaWx0ZXIpPT09ZmFsc2UpKQoJCQljb250aW51ZTsKCQkJJG5ld19uYW1lPWZpeF9maWxlbmFtZSgkZmlsZSwkdHJhbnNsaXRlcmF0aW9uKTsKCQkJaWYoJGZpbGUhPScuLicgJiYgJGZpbGUhPSRuZXdfbmFtZSl7CgkJCQkvL3JlbmFtZQoJCQkJcmVuYW1lX2ZvbGRlcigkY3VycmVudF9wYXRoLiRzdWJkaXIuJGZpbGUsJG5ld19uYW1lLCR0cmFuc2xpdGVyYXRpb24pOwoJCQkJJGZpbGU9JG5ld19uYW1lOwoJCQl9CgkJCS8vYWRkIGluIHRodW1icyBmb2xkZXIgaWYgbm90IGV4aXN0CgkJCWlmICghZmlsZV9leGlzdHMoJHRodW1ic19wYXRoLiRzdWJkaXIuJGZpbGUpKSBjcmVhdGVfZm9sZGVyKGZhbHNlLCR0aHVtYnNfcGF0aC4kc3ViZGlyLiRmaWxlKTsKCQkJJGNsYXNzX2V4dCA9IDM7CgkJCWlmKCRmaWxlPT0nLi4nICYmIHRyaW0oJHN1YmRpcikgIT0gJycgKXsKCQkJJHNyYyA9IGV4cGxvZGUoIi8iLCRzdWJkaXIpOwoJCQl1bnNldCgkc3JjW2NvdW50KCRzcmMpLTJdKTsKCQkJJHNyYz1pbXBsb2RlKCIvIiwkc3JjKTsKCQkJaWYoJHNyYz09JycpICRzcmM9Ii8iOwoJCQkJfQoJCQkJZWxzZWlmICgkZmlsZSE9Jy4uJykgewoJCQkJCSRzcmMgPSAkc3ViZGlyIC4gJGZpbGUuIi8iOwoJCQkJfQoKCQkJPz4KCQkJCTxsaSBkYXRhLW5hbWU9Ijw/cGhwIGVjaG8gJGZpbGUgPz4iIGNsYXNzPSI8P3BocCBpZigkZmlsZT09Jy4uJykgZWNobyAnYmFjayc7IGVsc2UgZWNobyAnZGlyJzs/PiIgPD9waHAgaWYoKCRmaWx0ZXIhPScnICYmIHN0cmlwb3MoJGZpbGUsJGZpbHRlcik9PT1mYWxzZSkpIGVjaG8gJyBzdHlsZT0iZGlzcGxheTpub25lOyInOz8+Pjw/cGhwCgkJCQkkZmlsZV9wcmV2ZW50X3JlbmFtZSA9IGZhbHNlOwoJCQkJJGZpbGVfcHJldmVudF9kZWxldGUgPSBmYWxzZTsKCQkJCWlmIChpc3NldCgkZmlsZVBlcm1pc3Npb25zWyRmaWxlXSkpIHsKCQkJCSRmaWxlX3ByZXZlbnRfcmVuYW1lID0gaXNzZXQoJGZpbGVQZXJtaXNzaW9uc1skZmlsZV1bJ3ByZXZlbnRfcmVuYW1lJ10pICYmICRmaWxlUGVybWlzc2lvbnNbJGZpbGVdWydwcmV2ZW50X3JlbmFtZSddOwoJCQkJJGZpbGVfcHJldmVudF9kZWxldGUgPSBpc3NldCgkZmlsZVBlcm1pc3Npb25zWyRmaWxlXVsncHJldmVudF9kZWxldGUnXSkgJiYgJGZpbGVQZXJtaXNzaW9uc1skZmlsZV1bJ3ByZXZlbnRfZGVsZXRlJ107CgkJCQl9CgkJCQk/PjxmaWd1cmUgZGF0YS1uYW1lPSI8P3BocCBlY2hvICRmaWxlID8+IiBjbGFzcz0iPD9waHAgaWYoJGZpbGU9PSIuLiIpIGVjaG8gImJhY2stIjs/PmRpcmVjdG9yeSIgZGF0YS10eXBlPSI8P3BocCBpZigkZmlsZSE9Ii4uIil7IGVjaG8gImRpciI7IH0gPz4iPgoJCQkJPD9waHAgaWYoJGZpbGU9PSIuLiIpeyA/PgoJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJwYXRoIiB2YWx1ZT0iPD9waHAgZWNobyBzdHJfcmVwbGFjZSgnLicsJycsZGlybmFtZSgkcmZtX3N1YmZvbGRlci4kc3ViZGlyKSk7Pz4iLz4KCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icGF0aF90aHVtYiIgdmFsdWU9Ijw/cGhwIGVjaG8gZGlybmFtZSgkdGh1bWJzX3BhdGguJHN1YmRpcikuIi8iOz8+Ii8+CgkJCQk8P3BocCB9ID8+CgkJCQk8YSBjbGFzcz0iZm9sZGVyLWxpbmsiIGhyZWY9ImRpYWxvZy5waHA/PD9waHAgZWNobyAkZ2V0X3BhcmFtcy5yYXd1cmxlbmNvZGUoJHNyYykuIiYiLnVuaXFpZCgpID8+Ij4KCQkJCQk8ZGl2IGNsYXNzPSJpbWctcHJlY29udGFpbmVyIj4KCQkJCQkJCTxkaXYgY2xhc3M9ImltZy1jb250YWluZXIgZGlyZWN0b3J5Ij48c3Bhbj48L3NwYW4+CgkJCQkJCQk8aW1nIGNsYXNzPSJkaXJlY3RvcnktaW1nIiAgc3JjPSJpbWcvPD9waHAgZWNobyAkaWNvbl90aGVtZTs/Pi9mb2xkZXI8P3BocCBpZigkZmlsZT09Ii4uIil7IGVjaG8gIl9iYWNrIjsgfT8+LnBuZyIgLz4KCQkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImltZy1wcmVjb250YWluZXItbWluaSBkaXJlY3RvcnkiPgoJCQkJCQkJPGRpdiBjbGFzcz0iaW1nLWNvbnRhaW5lci1taW5pIj4KCQkJCQkJCTxzcGFuPjwvc3Bhbj4KCQkJCQkJCTxpbWcgY2xhc3M9ImRpcmVjdG9yeS1pbWciICBzcmM9ImltZy88P3BocCBlY2hvICRpY29uX3RoZW1lOz8+L2ZvbGRlcjw/cGhwIGlmKCRmaWxlPT0iLi4iKXsgZWNobyAiX2JhY2siOyB9Pz4ucG5nIiAvPgoJCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCTw/cGhwIGlmKCRmaWxlPT0iLi4iKXsgPz4KCQkJCQk8ZGl2IGNsYXNzPSJib3ggbm8tZWZmZWN0Ij4KCQkJCQk8aDQ+PD9waHAgZWNobyB0cmFucygnQmFjaycpID8+PC9oND4KCQkJCQk8L2Rpdj4KCQkJCQk8L2E+CgoJCQk8P3BocCB9ZWxzZXsgPz4KCQkJCQk8L2E+CgkJCQkJPGRpdiBjbGFzcz0iYm94Ij4KCQkJCQk8aDQgY2xhc3M9Ijw/cGhwIGlmKCRlbGxpcHNpc190aXRsZV9hZnRlcl9maXJzdF9yb3cpeyBlY2hvICJlbGxpcHNpcyI7IH0gPz4iPjxhIGNsYXNzPSJmb2xkZXItbGluayIgZGF0YS1maWxlPSI8P3BocCBlY2hvICRmaWxlID8+IiBocmVmPSJkaWFsb2cucGhwPzw/cGhwIGVjaG8gJGdldF9wYXJhbXMucmF3dXJsZW5jb2RlKCRzcmMpLiImIi51bmlxaWQoKSA/PiI+PD9waHAgZWNobyAkZmlsZTs/PjwvYT48L2g0PgoJCQkJCTwvZGl2PgoJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJuYW1lIiB2YWx1ZT0iPD9waHAgZWNobyAkZmlsZV9hcnJheVsnZmlsZV9sY2FzZSddOz8+Ii8+CgkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9ImRhdGUiIHZhbHVlPSI8P3BocCBlY2hvICRmaWxlX2FycmF5WydkYXRlJ107Pz4iLz4KCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0ic2l6ZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpbGVfYXJyYXlbJ3NpemUnXTs/PiIvPgoJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJleHRlbnNpb24iIHZhbHVlPSI8P3BocCBlY2hvIHRyYW5zKCdUeXBlX2RpcicpOz8+Ii8+CgkJCQkJPGRpdiBjbGFzcz0iZmlsZS1kYXRlIj48P3BocCBlY2hvIGRhdGUodHJhbnMoJ0RhdGVfdHlwZScpLCRmaWxlX2FycmF5WydkYXRlJ10pOz8+PC9kaXY+CgkJCQkJPD9waHAgaWYoJHNob3dfZm9sZGVyX3NpemUpeyA/PgoJCQkJCQk8ZGl2IGNsYXNzPSJmaWxlLXNpemUiPjw/cGhwIGVjaG8gbWFrZVNpemUoJGZpbGVfYXJyYXlbJ3NpemUnXSk7Pz48L2Rpdj4KCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9Im5maWxlcyIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpbGVfYXJyYXlbJ25maWxlcyddOz8+Ii8+CgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJuZm9sZGVycyIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpbGVfYXJyYXlbJ25mb2xkZXJzJ107Pz4iLz4KCQkJCQk8P3BocCB9ID8+CgkJCQkJPGRpdiBjbGFzcz0nZmlsZS1leHRlbnNpb24nPjw/cGhwIGVjaG8gdHJhbnMoJ1R5cGVfZGlyJyk7Pz48L2Rpdj4KCQkJCQk8ZmlnY2FwdGlvbj4KCQkJCQkJPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgY2xhc3M9InRpcC1sZWZ0IGVkaXQtYnV0dG9uIHJlbmFtZS1maWxlLXBhdGhzIDw/cGhwIGlmKCRyZW5hbWVfZm9sZGVycyAmJiAhJGZpbGVfcHJldmVudF9yZW5hbWUpIGVjaG8gInJlbmFtZS1mb2xkZXIiOz8+IiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnUmVuYW1lJyk/PiIgZGF0YS1wYXRoPSI8P3BocCBlY2hvICRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGU7Pz4iPgoJCQkJCQk8aSBjbGFzcz0iaWNvbi1wZW5jaWwgPD9waHAgaWYoISRyZW5hbWVfZm9sZGVycyB8fCAkZmlsZV9wcmV2ZW50X3JlbmFtZSkgZWNobyAnaWNvbi13aGl0ZSc7Pz4iPjwvaT48L2E+CgkJCQkJCTxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGNsYXNzPSJ0aXAtbGVmdCBlcmFzZS1idXR0b24gPD9waHAgaWYoJGRlbGV0ZV9mb2xkZXJzICYmICEkZmlsZV9wcmV2ZW50X2RlbGV0ZSkgZWNobyAiZGVsZXRlLWZvbGRlciI7Pz4iIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdFcmFzZScpPz4iIGRhdGEtY29uZmlybT0iPD9waHAgZWNobyB0cmFucygnQ29uZmlybV9Gb2xkZXJfZGVsJyk7Pz4iIGRhdGEtcGF0aD0iPD9waHAgZWNobyAkcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlOz8+IiA+CgkJCQkJCTxpIGNsYXNzPSJpY29uLXRyYXNoIDw/cGhwIGlmKCEkZGVsZXRlX2ZvbGRlcnMgfHwgJGZpbGVfcHJldmVudF9kZWxldGUpIGVjaG8gJ2ljb24td2hpdGUnOz8+Ij48L2k+CgkJCQkJCTwvYT4KCQkJCQk8L2ZpZ2NhcHRpb24+CgkJCTw/cGhwIH0gPz4KCQkJCTwvZmlndXJlPgoJCQk8L2xpPgoJCQk8P3BocAoJCQl9CgoJCQkkZmlsZXNfcHJldmVudF9kdXBsaWNhdGUgPSBhcnJheSgpOwoJCQlmb3JlYWNoICgkZmlsZXMgYXMgJG51PT4kZmlsZV9hcnJheSkgewoJCQkkZmlsZT0kZmlsZV9hcnJheVsnZmlsZSddOwoKCQkJCWlmKCRmaWxlID09ICcuJyB8fCAkZmlsZSA9PSAnLi4nIHx8IGlzX2RpcigkY3VycmVudF9wYXRoLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGUpIHx8IGluX2FycmF5KCRmaWxlLCAkaGlkZGVuX2ZpbGVzKSB8fCAhaW5fYXJyYXkoZml4X3N0cnRvbG93ZXIoJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddKSwgJGV4dCkgfHwgKCRmaWx0ZXIhPScnICYmICRuX2ZpbGVzPiRmaWxlX251bWJlcl9saW1pdF9qcyAmJiBzdHJpcG9zKCRmaWxlLCRmaWx0ZXIpPT09ZmFsc2UpKQoJCQkJCWNvbnRpbnVlOwoKCQkJCSRmaWxlX3BhdGg9JGN1cnJlbnRfcGF0aC4kcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlOwoJCQkJLy9jaGVjayBpZiBmaWxlIGhhdmUgaWxsZWdhbCBjYXJhY3RlcgoKCQkJCSRmaWxlbmFtZT1zdWJzdHIoJGZpbGUsIDAsICctJyAuIChzdHJsZW4oJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddKSArIDEpKTsKCgkJCQlpZigkZmlsZSE9Zml4X2ZpbGVuYW1lKCRmaWxlLCR0cmFuc2xpdGVyYXRpb24pKXsKCQkJCSRmaWxlMT1maXhfZmlsZW5hbWUoJGZpbGUsJHRyYW5zbGl0ZXJhdGlvbik7CgkJCQkkZmlsZV9wYXRoMT0oJGN1cnJlbnRfcGF0aC4kcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlMSk7CgkJCQlpZihmaWxlX2V4aXN0cygkZmlsZV9wYXRoMSkpewoJCQkJCSRpID0gMTsKCQkJCQkkaW5mbz1wYXRoaW5mbygkZmlsZTEpOwoJCQkJCXdoaWxlKGZpbGVfZXhpc3RzKCRjdXJyZW50X3BhdGguJHJmbV9zdWJmb2xkZXIuJHN1YmRpci4kaW5mb1snZmlsZW5hbWUnXS4iLlsiLiRpLiJdLiIuJGluZm9bJ2V4dGVuc2lvbiddKSkgewoJCQkJCQkkaSsrOwoJCQkJCX0KCQkJCQkkZmlsZTE9JGluZm9bJ2ZpbGVuYW1lJ10uIi5bIi4kaS4iXS4iLiRpbmZvWydleHRlbnNpb24nXTsKCQkJCQkkZmlsZV9wYXRoMT0oJGN1cnJlbnRfcGF0aC4kcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlMSk7CgkJCQl9CgoJCQkJJGZpbGVuYW1lPXN1YnN0cigkZmlsZTEsIDAsICctJyAuIChzdHJsZW4oJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddKSArIDEpKTsKCQkJCXJlbmFtZV9maWxlKCRmaWxlX3BhdGgsZml4X2ZpbGVuYW1lKCRmaWxlbmFtZSwkdHJhbnNsaXRlcmF0aW9uKSwkdHJhbnNsaXRlcmF0aW9uKTsKCQkJCSRmaWxlPSRmaWxlMTsKCQkJCSRmaWxlX2FycmF5WydleHRlbnNpb24nXT1maXhfZmlsZW5hbWUoJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddLCR0cmFuc2xpdGVyYXRpb24pOwoJCQkJJGZpbGVfcGF0aD0kZmlsZV9wYXRoMTsKCQkJCX0KCgkJCQkkaXNfaW1nPWZhbHNlOwoJCQkJJGlzX3ZpZGVvPWZhbHNlOwoJCQkJJGlzX2F1ZGlvPWZhbHNlOwoJCQkJJHNob3dfb3JpZ2luYWw9ZmFsc2U7CgkJCQkkc2hvd19vcmlnaW5hbF9taW5pPWZhbHNlOwoJCQkJJG1pbmlfc3JjPSIiOwoJCQkJJHNyY190aHVtYj0iIjsKCQkJCSRleHRlbnNpb25fbG93ZXI9Zml4X3N0cnRvbG93ZXIoJGZpbGVfYXJyYXlbJ2V4dGVuc2lvbiddKTsKCQkJCWlmKGluX2FycmF5KCRleHRlbnNpb25fbG93ZXIsICRleHRfaW1nKSl7CgkJCQkkc3JjID0gJGJhc2VfdXJsIC4gJGN1cl9kaXIgLiByYXd1cmxlbmNvZGUoJGZpbGUpOwoJCQkJJG1pbmlfc3JjID0gJHNyY190aHVtYiA9ICR0aHVtYnNfcGF0aC4kc3ViZGlyLiAkZmlsZTsKCQkJCS8vYWRkIGluIHRodW1icyBmb2xkZXIgaWYgbm90IGV4aXN0CgkJCQlpZighZmlsZV9leGlzdHMoJHNyY190aHVtYikpewoJCQkJdHJ5IHsKCQkJCQlpZighY3JlYXRlX2ltZygkZmlsZV9wYXRoLCAkc3JjX3RodW1iLCAxMjIsIDkxKSl7CgkJCQkJCQkkc3JjX3RodW1iPSRtaW5pX3NyYz0iIjsKCQkJCQkJfWVsc2V7CgkJCQkJCQluZXdfdGh1bWJuYWlsc19jcmVhdGlvbigkY3VycmVudF9wYXRoLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIsJGZpbGVfcGF0aCwkZmlsZSwkY3VycmVudF9wYXRoLCcnLCcnLCcnLCcnLCcnLCcnLCcnLCRmaXhlZF9pbWFnZV9jcmVhdGlvbiwkZml4ZWRfcGF0aF9mcm9tX2ZpbGVtYW5hZ2VyLCRmaXhlZF9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmQsJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZCwkZml4ZWRfaW1hZ2VfY3JlYXRpb25fd2lkdGgsJGZpeGVkX2ltYWdlX2NyZWF0aW9uX2hlaWdodCwkZml4ZWRfaW1hZ2VfY3JlYXRpb25fb3B0aW9uKTsKCQkJCQkJfQoJCQkJfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CgkJCQkJCSRzcmNfdGh1bWI9JG1pbmlfc3JjPSIiOwoJCQkJfQoJCQkJfQoJCQkJJGlzX2ltZz10cnVlOwoJCQkJLy9jaGVjayBpZiBpcyBzbWFsbGVyIHRoYW4gdGh1bWIKCQkJCWxpc3QoJGltZ193aWR0aCwgJGltZ19oZWlnaHQsICRpbWdfdHlwZSwgJGF0dHIpPUBnZXRpbWFnZXNpemUoJGZpbGVfcGF0aCk7CgkJCQlpZigkaW1nX3dpZHRoPDEyMiAmJiAkaW1nX2hlaWdodDw5MSl7CgkJCQkJJHNyY190aHVtYj0kY3VycmVudF9wYXRoLiRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGU7CgkJCQkJJHNob3dfb3JpZ2luYWw9dHJ1ZTsKCQkJCX0KCgkJCQlpZigkaW1nX3dpZHRoPDQ1ICYmICRpbWdfaGVpZ2h0PDM4KXsKCQkJCQkkbWluaV9zcmM9JGN1cnJlbnRfcGF0aC4kcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlOwoJCQkJCSRzaG93X29yaWdpbmFsX21pbmk9dHJ1ZTsKCQkJCX0KCQkJCX0KCQkJCSRpc19pY29uX3RodW1iPWZhbHNlOwoJCQkJJGlzX2ljb25fdGh1bWJfbWluaT1mYWxzZTsKCQkJCSRub190aHVtYj1mYWxzZTsKCQkJCWlmKCRzcmNfdGh1bWI9PSIiKXsKCQkJCSRub190aHVtYj10cnVlOwoJCQkJaWYoZmlsZV9leGlzdHMoJ2ltZy8nLiRpY29uX3RoZW1lLicvJy4kZXh0ZW5zaW9uX2xvd2VyLiIuanBnIikpewoJCQkJCSRzcmNfdGh1bWIgPSdpbWcvJy4kaWNvbl90aGVtZS4nLycuJGV4dGVuc2lvbl9sb3dlci4iLmpwZyI7CgkJCQl9ZWxzZXsKCQkJCQkkc3JjX3RodW1iID0gImltZy8iLiRpY29uX3RoZW1lLiIvZGVmYXVsdC5qcGciOwoJCQkJfQoJCQkJJGlzX2ljb25fdGh1bWI9dHJ1ZTsKCQkJCX0KCQkJCWlmKCRtaW5pX3NyYz09IiIpewoJCQkJJGlzX2ljb25fdGh1bWJfbWluaT1mYWxzZTsKCQkJCX0KCgkJCQkkY2xhc3NfZXh0PTA7CgkJCQlpZiAoaW5fYXJyYXkoJGV4dGVuc2lvbl9sb3dlciwgJGV4dF92aWRlbykpIHsKCQkJCQkkY2xhc3NfZXh0ID0gNDsKCQkJCQkkaXNfdmlkZW89dHJ1ZTsKCQkJCX1lbHNlaWYgKGluX2FycmF5KCRleHRlbnNpb25fbG93ZXIsICRleHRfaW1nKSkgewoJCQkJCSRjbGFzc19leHQgPSAyOwoJCQkJfWVsc2VpZiAoaW5fYXJyYXkoJGV4dGVuc2lvbl9sb3dlciwgJGV4dF9tdXNpYykpIHsKCQkJCQkkY2xhc3NfZXh0ID0gNTsKCQkJCQkkaXNfYXVkaW89dHJ1ZTsKCQkJCX1lbHNlaWYgKGluX2FycmF5KCRleHRlbnNpb25fbG93ZXIsICRleHRfbWlzYykpIHsKCQkJCQkkY2xhc3NfZXh0ID0gMzsKCQkJCX1lbHNlewoJCQkJCSRjbGFzc19leHQgPSAxOwoJCQkJfQoJCQkJaWYoKCEoJF9HRVRbJ3R5cGUnXT09MSAmJiAhJGlzX2ltZykgJiYgISgoJF9HRVRbJ3R5cGUnXT09MyAmJiAhJGlzX3ZpZGVvKSAmJiAoJF9HRVRbJ3R5cGUnXT09MyAmJiAhJGlzX2F1ZGlvKSkpICYmICRjbGFzc19leHQ+MCl7Cj8+CgkJCTxsaSBjbGFzcz0iZmYtaXRlbS10eXBlLTw/cGhwIGVjaG8gJGNsYXNzX2V4dDs/PiBmaWxlIiAgZGF0YS1uYW1lPSI8P3BocCBlY2hvICRmaWxlOz8+IiA8P3BocCBpZigoJGZpbHRlciE9JycgJiYgc3RyaXBvcygkZmlsZSwkZmlsdGVyKT09PWZhbHNlKSkgZWNobyAnIHN0eWxlPSJkaXNwbGF5Om5vbmU7Iic7Pz4+PD9waHAKCQkJJGZpbGVfcHJldmVudF9yZW5hbWUgPSBmYWxzZTsKCQkJJGZpbGVfcHJldmVudF9kZWxldGUgPSBmYWxzZTsKCQkJaWYgKGlzc2V0KCRmaWxlUGVybWlzc2lvbnNbJGZpbGVdKSkgewoJCQlpZiAoaXNzZXQoJGZpbGVQZXJtaXNzaW9uc1skZmlsZV1bJ3ByZXZlbnRfZHVwbGljYXRlJ10pICYmICRmaWxlUGVybWlzc2lvbnNbJGZpbGVdWydwcmV2ZW50X2R1cGxpY2F0ZSddKSB7CgkJCQkkZmlsZXNfcHJldmVudF9kdXBsaWNhdGVbXSA9ICRmaWxlOwoJCQl9CgkJCSRmaWxlX3ByZXZlbnRfcmVuYW1lID0gaXNzZXQoJGZpbGVQZXJtaXNzaW9uc1skZmlsZV1bJ3ByZXZlbnRfcmVuYW1lJ10pICYmICRmaWxlUGVybWlzc2lvbnNbJGZpbGVdWydwcmV2ZW50X3JlbmFtZSddOwoJCQkkZmlsZV9wcmV2ZW50X2RlbGV0ZSA9IGlzc2V0KCRmaWxlUGVybWlzc2lvbnNbJGZpbGVdWydwcmV2ZW50X2RlbGV0ZSddKSAmJiAkZmlsZVBlcm1pc3Npb25zWyRmaWxlXVsncHJldmVudF9kZWxldGUnXTsKCQkJfQoJCQk/PgkJPGZpZ3VyZSBkYXRhLW5hbWU9Ijw/cGhwIGVjaG8gJGZpbGUgPz4iIGRhdGEtdHlwZT0iPD9waHAgaWYoJGlzX2ltZyl7IGVjaG8gImltZyI7IH1lbHNleyBlY2hvICJmaWxlIjsgfSA/PiI+CgkJCQk8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBjbGFzcz0ibGluayIgZGF0YS1maWxlPSI8P3BocCBlY2hvICRmaWxlOz8+IiBkYXRhLWZ1bmN0aW9uPSI8P3BocCBlY2hvICRhcHBseTs/PiI+CgkJCQk8ZGl2IGNsYXNzPSJpbWctcHJlY29udGFpbmVyIj4KCQkJCQk8P3BocCBpZigkaXNfaWNvbl90aHVtYil7ID8+PGRpdiBjbGFzcz0iZmlsZXR5cGUiPjw/cGhwIGVjaG8gJGV4dGVuc2lvbl9sb3dlciA/PjwvZGl2Pjw/cGhwIH0gPz4KCQkJCQk8ZGl2IGNsYXNzPSJpbWctY29udGFpbmVyIj4KCQkJCQkJPHNwYW4+PC9zcGFuPgoJCQkJCQk8aW1nIGNsYXNzPSI8P3BocCBlY2hvICRzaG93X29yaWdpbmFsID8gIm9yaWdpbmFsIiA6ICIiID8+PD9waHAgZWNobyAkaXNfaWNvbl90aHVtYiA/ICIgaWNvbiIgOiAiIiA/Pjw/cGhwIGVjaG8gJGxhenlfbG9hZGluZ19lbmFibGVkID8gIiBsYXp5LWxvYWRlZCIgOiAiIj8+IiA8P3BocCBlY2hvICRsYXp5X2xvYWRpbmdfZW5hYmxlZCA/ICJkYXRhLW9yaWdpbmFsIiA6ICJzcmMiPz49Ijw/cGhwIGVjaG8gJHNyY190aHVtYjs/PiI+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImltZy1wcmVjb250YWluZXItbWluaSA8P3BocCBpZigkaXNfaW1nKSBlY2hvICdvcmlnaW5hbC10aHVtYicgPz4iPgoJCQkJCTxkaXYgY2xhc3M9ImZpbGV0eXBlIDw/cGhwIGVjaG8gJGV4dGVuc2lvbl9sb3dlciA/PiA8P3BocCBpZihpbl9hcnJheSgkZXh0ZW5zaW9uX2xvd2VyLCAkZWRpdGFibGVfdGV4dF9maWxlX2V4dHMpKSBlY2hvICdlZGl0LXRleHQtZmlsZS1hbGxvd2VkJyA/PiA8P3BocCBpZighJGlzX2ljb25fdGh1bWIpeyBlY2hvICJoaWRlIjsgfT8+Ij48P3BocCBlY2hvICRleHRlbnNpb25fbG93ZXIgPz48L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJpbWctY29udGFpbmVyLW1pbmkiPgoJCQkJCTxzcGFuPjwvc3Bhbj4KCQkJCQk8P3BocCBpZigkbWluaV9zcmMhPSIiKXsgPz4KCQkJCQk8aW1nIGNsYXNzPSI8P3BocCBlY2hvICRzaG93X29yaWdpbmFsX21pbmkgPyAib3JpZ2luYWwiIDogIiIgPz48P3BocCBlY2hvICRpc19pY29uX3RodW1iX21pbmkgPyAiIGljb24iIDogIiIgPz48P3BocCBlY2hvICRsYXp5X2xvYWRpbmdfZW5hYmxlZCA/ICIgbGF6eS1sb2FkZWQiIDogIiI/PiIgPD9waHAgZWNobyAkbGF6eV9sb2FkaW5nX2VuYWJsZWQgPyAiZGF0YS1vcmlnaW5hbCIgOiAic3JjIj8+PSI8P3BocCBlY2hvICRtaW5pX3NyYzs/PiI+CgkJCQkJPD9waHAgfSA/PgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8P3BocCBpZigkaXNfaWNvbl90aHVtYil7ID8+CgkJCQk8ZGl2IGNsYXNzPSJjb3ZlciI+PC9kaXY+CgkJCQk8P3BocCB9ID8+CgkJCQk8L2E+CgkJCQk8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBjbGFzcz0ibGluayIgZGF0YS1maWxlPSI8P3BocCBlY2hvICRmaWxlOz8+IiBkYXRhLWZ1bmN0aW9uPSI8P3BocCBlY2hvICRhcHBseTs/PiI+CgkJCQk8ZGl2IGNsYXNzPSJib3giPgoJCQkJPGg0IGNsYXNzPSI8P3BocCBpZigkZWxsaXBzaXNfdGl0bGVfYWZ0ZXJfZmlyc3Rfcm93KXsgZWNobyAiZWxsaXBzaXMiOyB9ID8+Ij4KCQkJCTw/cGhwIGVjaG8gJGZpbGVuYW1lOz8+PC9oND4KCQkJCTwvZGl2PjwvYT4KCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJkYXRlIiB2YWx1ZT0iPD9waHAgZWNobyAkZmlsZV9hcnJheVsnZGF0ZSddOz8+Ii8+CgkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0ic2l6ZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpbGVfYXJyYXlbJ3NpemUnXSA/PiIvPgoJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9ImV4dGVuc2lvbiIgdmFsdWU9Ijw/cGhwIGVjaG8gJGV4dGVuc2lvbl9sb3dlcjs/PiIvPgoJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9Im5hbWUiIHZhbHVlPSI8P3BocCBlY2hvICRmaWxlX2FycmF5WydmaWxlX2xjYXNlJ107Pz4iLz4KCQkJCTxkaXYgY2xhc3M9ImZpbGUtZGF0ZSI+PD9waHAgZWNobyBkYXRlKHRyYW5zKCdEYXRlX3R5cGUnKSwkZmlsZV9hcnJheVsnZGF0ZSddKT8+PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJmaWxlLXNpemUiPjw/cGhwIGVjaG8gbWFrZVNpemUoJGZpbGVfYXJyYXlbJ3NpemUnXSk/PjwvZGl2PgoJCQkJPGRpdiBjbGFzcz0naW1nLWRpbWVuc2lvbic+PD9waHAgaWYoJGlzX2ltZyl7IGVjaG8gJGltZ193aWR0aC4ieCIuJGltZ19oZWlnaHQ7IH0gPz48L2Rpdj4KCQkJCTxkaXYgY2xhc3M9J2ZpbGUtZXh0ZW5zaW9uJz48P3BocCBlY2hvICRleHRlbnNpb25fbG93ZXI7Pz48L2Rpdj4KCQkJCTxmaWdjYXB0aW9uPgoJCQkJCTxmb3JtIGFjdGlvbj0iZm9yY2VfZG93bmxvYWQucGhwIiBtZXRob2Q9InBvc3QiIGNsYXNzPSJkb3dubG9hZC1mb3JtIiBpZD0iZm9ybTw/cGhwIGVjaG8gJG51Oz8+Ij4KCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iPD9waHAgZWNobyAkcmZtX3N1YmZvbGRlci4kc3ViZGlyPz4iLz4KCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0ibmFtZV9kb3dubG9hZCIgbmFtZT0ibmFtZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJGZpbGU/PiIvPgoKCQkJCQk8YSB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnRG93bmxvYWQnKT8+IiBjbGFzcz0idGlwLXJpZ2h0IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpIiBvbmNsaWNrPSIkKCcjZm9ybTw/cGhwIGVjaG8gJG51Oz8+Jykuc3VibWl0KCk7Ij48aSBjbGFzcz0iaWNvbi1kb3dubG9hZCI+PC9pPjwvYT4KCQkJCQk8P3BocCBpZigkaXNfaW1nICYmICRzcmNfdGh1bWIhPSIiICYmICRleHRlbnNpb25fbG93ZXIhPSJ0aWZmIiAmJiAkZXh0ZW5zaW9uX2xvd2VyIT0idGlmIil7ID8+CgkJCQkJPGEgY2xhc3M9InRpcC1yaWdodCBwcmV2aWV3IiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnUHJldmlldycpPz4iIGRhdGEtdXJsPSI8P3BocCBlY2hvICRzcmM7Pz4iIGRhdGEtdG9nZ2xlPSJsaWdodGJveCIgaHJlZj0iI3ByZXZpZXdMaWdodGJveCI+PGkgY2xhc3M9IiBpY29uLWV5ZS1vcGVuIj48L2k+PC9hPgoJCQkJCTw/cGhwIH1lbHNlaWYoKCRpc192aWRlbyB8fCAkaXNfYXVkaW8pICYmIGluX2FycmF5KCRleHRlbnNpb25fbG93ZXIsJGpwbGF5ZXJfZXh0KSl7ID8+CgkJCQkJPGEgY2xhc3M9InRpcC1yaWdodCBtb2RhbEFWIDw/cGhwIGlmKCRpc19hdWRpbyl7IGVjaG8gImF1ZGlvIjsgfWVsc2V7IGVjaG8gInZpZGVvIjsgfSA/PiIKCQkJCQl0aXRsZT0iPD9waHAgZWNobyB0cmFucygnUHJldmlldycpPz4iIGRhdGEtdXJsPSJhamF4X2NhbGxzLnBocD9hY3Rpb249bWVkaWFfcHJldmlldyZ0aXRsZT08P3BocCBlY2hvICRmaWxlbmFtZTs/PiZmaWxlPTw/cGhwIGVjaG8gJHJmbV9zdWJmb2xkZXIuJHN1YmRpci4kZmlsZTs/PiIKCQkJCQlocmVmPSJqYXZhc2NyaXB0OnZvaWQoJycpOyIgPjxpIGNsYXNzPSIgaWNvbi1leWUtb3BlbiI+PC9pPjwvYT4KCQkJCQkJPD9waHAgfWVsc2VpZigkcHJldmlld190ZXh0X2ZpbGVzICYmIGluX2FycmF5KCRleHRlbnNpb25fbG93ZXIsJHByZXZpZXdhYmxlX3RleHRfZmlsZV9leHRzKSl7ID8+CgkJCQkJCTxhIGNsYXNzPSJ0aXAtcmlnaHQgZmlsZS1wcmV2aWV3LWJ0biIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ1ByZXZpZXcnKT8+IiBkYXRhLXVybD0iYWpheF9jYWxscy5waHA/YWN0aW9uPWdldF9maWxlJnN1Yl9hY3Rpb249cHJldmlldyZwcmV2aWV3X21vZGU9dGV4dCZ0aXRsZT08P3BocCBlY2hvICRmaWxlbmFtZTs/PiZmaWxlPTw/cGhwIGVjaG8gJHJmbV9zdWJmb2xkZXIuJHN1YmRpci4kZmlsZTs/PiIKCQkJCQkJaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKTsiID48aSBjbGFzcz0iIGljb24tZXllLW9wZW4iPjwvaT48L2E+CgkJCQkJCTw/cGhwIH1lbHNlaWYoJGdvb2dsZWRvY19lbmFibGVkICYmIGluX2FycmF5KCRleHRlbnNpb25fbG93ZXIsJGdvb2dsZWRvY19maWxlX2V4dHMpKXsgPz4KCQkJCQkJPGEgY2xhc3M9InRpcC1yaWdodCBmaWxlLXByZXZpZXctYnRuIiB0aXRsZT0iPD9waHAgZWNobyB0cmFucygnUHJldmlldycpPz4iIGRhdGEtdXJsPSJhamF4X2NhbGxzLnBocD9hY3Rpb249Z2V0X2ZpbGUmc3ViX2FjdGlvbj1wcmV2aWV3JnByZXZpZXdfbW9kZT1nb29nbGUmdGl0bGU9PD9waHAgZWNobyAkZmlsZW5hbWU7Pz4mZmlsZT08P3BocCBlY2hvICRyZm1fc3ViZm9sZGVyLiRzdWJkaXIuJGZpbGU7Pz4iCgkJCQkJCWhyZWY9ImRvY3MuZ29vZ2xlLmNvbTsiID48aSBjbGFzcz0iIGljb24tZXllLW9wZW4iPjwvaT48L2E+CgoJCQkJCQk8P3BocCB9ZWxzZWlmKCR2aWV3ZXJqc19lbmFibGVkICYmIGluX2FycmF5KCRleHRlbnNpb25fbG93ZXIsJHZpZXdlcmpzX2ZpbGVfZXh0cykpeyA/PgoJCQkJCQk8YSBjbGFzcz0idGlwLXJpZ2h0IGZpbGUtcHJldmlldy1idG4iIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdQcmV2aWV3Jyk/PiIgZGF0YS11cmw9ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1nZXRfZmlsZSZzdWJfYWN0aW9uPXByZXZpZXcmcHJldmlld19tb2RlPXZpZXdlcmpzJnRpdGxlPTw/cGhwIGVjaG8gJGZpbGVuYW1lOz8+JmZpbGU9PD9waHAgZWNobyAkcmZtX3N1YmZvbGRlci4kc3ViZGlyLiRmaWxlOz8+IgoJCQkJCQlocmVmPSJkb2NzLmdvb2dsZS5jb207IiA+PGkgY2xhc3M9IiBpY29uLWV5ZS1vcGVuIj48L2k+PC9hPgoKCQkJCQk8P3BocCB9ZWxzZXsgPz4KCQkJCQk8YSBjbGFzcz0icHJldmlldyBkaXNhYmxlZCI+PGkgY2xhc3M9Imljb24tZXllLW9wZW4gaWNvbi13aGl0ZSI+PC9pPjwvYT4KCQkJCQk8P3BocCB9ID8+CgkJCQkJPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCcnKSIgY2xhc3M9InRpcC1sZWZ0IGVkaXQtYnV0dG9uIHJlbmFtZS1maWxlLXBhdGhzIDw/cGhwIGlmKCRyZW5hbWVfZmlsZXMgJiYgISRmaWxlX3ByZXZlbnRfcmVuYW1lKSBlY2hvICJyZW5hbWUtZmlsZSI7Pz4iIHRpdGxlPSI8P3BocCBlY2hvIHRyYW5zKCdSZW5hbWUnKT8+IiBkYXRhLXBhdGg9Ijw/cGhwIGVjaG8gJHJmbV9zdWJmb2xkZXIuJHN1YmRpciAuJGZpbGU7Pz4iPgoJCQkJCTxpIGNsYXNzPSJpY29uLXBlbmNpbCA8P3BocCBpZighJHJlbmFtZV9maWxlcyB8fCAkZmlsZV9wcmV2ZW50X3JlbmFtZSkgZWNobyAnaWNvbi13aGl0ZSc7Pz4iPjwvaT48L2E+CgoJCQkJCTxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgnJykiIGNsYXNzPSJ0aXAtbGVmdCBlcmFzZS1idXR0b24gPD9waHAgaWYoJGRlbGV0ZV9maWxlcyAmJiAhJGZpbGVfcHJldmVudF9kZWxldGUpIGVjaG8gImRlbGV0ZS1maWxlIjs/PiIgdGl0bGU9Ijw/cGhwIGVjaG8gdHJhbnMoJ0VyYXNlJyk/PiIgZGF0YS1jb25maXJtPSI8P3BocCBlY2hvIHRyYW5zKCdDb25maXJtX2RlbCcpOz8+IiBkYXRhLXBhdGg9Ijw/cGhwIGVjaG8gJHJmbV9zdWJmb2xkZXIuJHN1YmRpci4kZmlsZTs/PiI+CgkJCQkJPGkgY2xhc3M9Imljb24tdHJhc2ggPD9waHAgaWYoISRkZWxldGVfZmlsZXMgfHwgJGZpbGVfcHJldmVudF9kZWxldGUpIGVjaG8gJ2ljb24td2hpdGUnOz8+Ij48L2k+CgkJCQkJPC9hPgoJCQkJCTwvZm9ybT4KCQkJCTwvZmlnY2FwdGlvbj4KCQkJPC9maWd1cmU+CgkJPC9saT4KCQkJPD9waHAKCQkJfQoJCQl9CgoJPz48L2Rpdj4KCQk8L3VsPgoJCTw/cGhwIH0gPz4KCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo8c2NyaXB0PgoJdmFyIGZpbGVzX3ByZXZlbnRfZHVwbGljYXRlID0gbmV3IEFycmF5KCk7Cgk8P3BocAoJZm9yZWFjaCAoJGZpbGVzX3ByZXZlbnRfZHVwbGljYXRlIGFzICRrZXkgPT4gJHZhbHVlKTogPz4KCQlmaWxlc19wcmV2ZW50X2R1cGxpY2F0ZVs8P3BocCBlY2hvICRrZXk7Pz5dID0gJzw/cGhwIGVjaG8gJHZhbHVlOz8+JzsKCTw/cGhwIGVuZGZvcmVhY2g7Pz4KPC9zY3JpcHQ+CgoJPCEtLSBsaWdodGJveCBkaXYgc3RhcnQgLS0+Cgk8ZGl2IGlkPSJwcmV2aWV3TGlnaHRib3giIGNsYXNzPSJsaWdodGJveCBoaWRlIGZhZGUiICB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyIgYXJpYS1oaWRkZW49InRydWUiPgoJCTxkaXYgY2xhc3M9J2xpZ2h0Ym94LWNvbnRlbnQnPgoJCQk8aW1nIGlkPSJmdWxsLWltZyIgc3JjPSIiPgoJCTwvZGl2PgoJPC9kaXY+Cgk8IS0tIGxpZ2h0Ym94IGRpdiBlbmQgLS0+CgoJPCEtLSBsb2FkaW5nIGRpdiBzdGFydCAtLT4KCTxkaXYgaWQ9ImxvYWRpbmdfY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lOyI+CgkJPGRpdiBpZD0ibG9hZGluZyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzAwMDsgcG9zaXRpb246Zml4ZWQ7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyB0b3A6MHB4OyBsZWZ0OjBweDt6LWluZGV4OjEwMDAwMCI+PC9kaXY+CgkJPGltZyBpZD0ibG9hZGluZ19hbmltYXRpb24iIHNyYz0iaW1nL3N0b3JpbmdfYW5pbWF0aW9uLmdpZiIgYWx0PSJsb2FkaW5nIiBzdHlsZT0iei1pbmRleDoxMDAwMTsgbWFyZ2luLWxlZnQ6LTMycHg7IG1hcmdpbi10b3A6LTMycHg7IHBvc2l0aW9uOmZpeGVkOyBsZWZ0OjUwJTsgdG9wOjUwJSIvPgoJPC9kaXY+Cgk8IS0tIGxvYWRpbmcgZGl2IGVuZCAtLT4KCgk8IS0tIHBsYXllciBkaXYgc3RhcnQgLS0+Cgk8ZGl2IGNsYXNzPSJtb2RhbCBoaWRlIGZhZGUiIGlkPSJwcmV2aWV3QVYiPgoJPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvYnV0dG9uPgoJCTxoMz48P3BocCBlY2hvIHRyYW5zKCdQcmV2aWV3Jyk7Pz48L2gzPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4KCQk8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgYm9keS1wcmV2aWV3Ij4KCQkJCTwvZGl2PgoJPC9kaXY+CgoJPC9kaXY+Cgk8IS0tIHBsYXllciBkaXYgZW5kIC0tPgoJPGltZyBpZD0nYXZpYXJ5X2ltZycgc3JjPScnIGNsYXNzPSJoaWRlIi8+CgoJPD9waHAgaWYgKCRsYXp5X2xvYWRpbmdfZW5hYmxlZCkgeyA/PgoJCTxzY3JpcHQ+CgkJCSQoZnVuY3Rpb24oKXsKCQkJCSQoIi5sYXp5LWxvYWRlZCIpLmxhenlsb2FkKHsKCQkJCQkJZXZlbnQ6ICdzY3JvbGxzdG9wJwoJCQkJCX0pOwoJCQl9KTsKCQk8L3NjcmlwdD4KCTw/cGhwIH0gPz4KCTxzY3JpcHQ+CgkJdmFyIHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpOwoJCXZhciBpc0FuZHJvaWQgPSB1YS5pbmRleE9mKCJhbmRyb2lkIikgPiAtMTsgLy8mJiB1YS5pbmRleE9mKCJtb2JpbGUiKTsKCQlpZihpc0FuZHJvaWQpIHsKCQkJJCgnbGknKS5kcmFnZ2FibGUoeyBkaXNhYmxlZDogdHJ1ZSB9KTsKCQl9Cgk8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cjw/cGhwIH0KPz4=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/execute.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGNvbmZpZyA9IGluY2x1ZGUgJ2NvbmZpZy9jb25maWcucGhwJzsKLy9UT0RPIHN3aXRjaCB0byBhcnJheQpleHRyYWN0KCRjb25maWcsIEVYVFJfT1ZFUldSSVRFKTsKCmluY2x1ZGUgJ2luY2x1ZGUvdXRpbHMucGhwJzsKCmlmICgkX1NFU1NJT05bJ1JGJ11bInZlcmlmeSJdICE9ICJSRVNQT05TSVZFZmlsZW1hbmFnZXIiKQp7CglyZXNwb25zZSh0cmFucygnZm9yYmlkZW4nKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CglleGl0Owp9CgppZiAoc3RycG9zKCRfUE9TVFsncGF0aCddLCcvJyk9PT0wCgl8fCBzdHJwb3MoJF9QT1NUWydwYXRoJ10sJy4uLycpIT09RkFMU0UKCXx8IHN0cnBvcygkX1BPU1RbJ3BhdGgnXSwnLi8nKT09PTApCnsKCXJlc3BvbnNlKHRyYW5zKCd3cm9uZyBwYXRoJy5BZGRFcnJvckxvY2F0aW9uKCkpKS0+c2VuZCgpOwoJZXhpdDsKfQoKaWYgKGlzc2V0KCRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2VfZmlsZSddKSAmJiBmaWxlX2V4aXN0cygkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlX2ZpbGUnXSkpCnsKCS8vVE9ETyBWZXJ5IGJhZCBwcmFjdGljZQoJcmVxdWlyZV9vbmNlICRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2VfZmlsZSddOwp9CmVsc2UKewoJcmVzcG9uc2UodHJhbnMoJ0xhbmdfTm90X0ZvdW5kJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJZXhpdDsKfQoKJGJhc2UgPSAkY3VycmVudF9wYXRoOwokcGF0aCA9ICRiYXNlLiRfUE9TVFsncGF0aCddOwokY3ljbGUgPSBUUlVFOwokbWF4X2N5Y2xlcyA9IDUwOwokaSA9IDA7CndoaWxlKCRjeWNsZSAmJiAkaTwkbWF4X2N5Y2xlcykKewoJJGkrKzsKCWlmICgkcGF0aCA9PSAkYmFzZSkgICRjeWNsZT1GQUxTRTsKCglpZiAoZmlsZV9leGlzdHMoJHBhdGguImNvbmZpZy5waHAiKSkKCXsKCQlyZXF1aXJlX29uY2UgJHBhdGguImNvbmZpZy5waHAiOwoJCSRjeWNsZSA9IEZBTFNFOwoJfQoJJHBhdGggPSBmaXhfZGlybmFtZSgkcGF0aCkuIi8iOwoJJGN5Y2xlID0gRkFMU0U7Cn0KCiRwYXRoID0gJGN1cnJlbnRfcGF0aC4kX1BPU1RbJ3BhdGgnXTsKJHBhdGhfdGh1bWIgPSAkdGh1bWJzX2Jhc2VfcGF0aC4kX1BPU1RbJ3BhdGgnXTsKaWYgKGlzc2V0KCRfUE9TVFsnbmFtZSddKSkKewoJJG5hbWUgPSBmaXhfZmlsZW5hbWUoJF9QT1NUWyduYW1lJ10sJHRyYW5zbGl0ZXJhdGlvbiwkY29udmVydF9zcGFjZXMsICRyZXBsYWNlX3dpdGgpOwoJaWYgKHN0cnBvcygkbmFtZSwnLi4vJykgIT09IEZBTFNFKQoJewoJCXJlc3BvbnNlKHRyYW5zKCd3cm9uZyBuYW1lJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCWV4aXQ7Cgl9Cn0KCiRpbmZvID0gcGF0aGluZm8oJHBhdGgpOwppZiAoaXNzZXQoJGluZm9bJ2V4dGVuc2lvbiddKSAmJiAhKGlzc2V0KCRfR0VUWydhY3Rpb24nXSkgJiYgJF9HRVRbJ2FjdGlvbiddPT0nZGVsZXRlX2ZvbGRlcicpICYmICFpbl9hcnJheShzdHJ0b2xvd2VyKCRpbmZvWydleHRlbnNpb24nXSksICRleHQpICYmICRfR0VUWydhY3Rpb24nXSAhPSAnY3JlYXRlX2ZpbGUnKQp7CglyZXNwb25zZSh0cmFucygnd3JvbmcgZXh0ZW5zaW9uJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJZXhpdDsKfQoKaWYgKGlzc2V0KCRfR0VUWydhY3Rpb24nXSkpCnsKCXN3aXRjaCgkX0dFVFsnYWN0aW9uJ10pCgl7CgkJY2FzZSAnZGVsZXRlX2ZpbGUnOgoJCQlpZiAoJGRlbGV0ZV9maWxlcyl7CgkJCQl1bmxpbmsoJHBhdGgpOwoJCQkJaWYgKGZpbGVfZXhpc3RzKCRwYXRoX3RodW1iKSkgdW5saW5rKCRwYXRoX3RodW1iKTsKCgkJCQkkaW5mbz1wYXRoaW5mbygkcGF0aCk7CgkJCQlpZiAoJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uKXsKCQkJCQlmb3JlYWNoKCRyZWxhdGl2ZV9wYXRoX2Zyb21fY3VycmVudF9wb3MgYXMgJGs9PiRwYXRoKQoJCQkJCXsKCQkJCQkJaWYgKCRwYXRoIT0iIiAmJiAkcGF0aFtzdHJsZW4oJHBhdGgpLTFdIT0iLyIpICRwYXRoLj0iLyI7CgoJCQkJCQlpZiAoZmlsZV9leGlzdHMoJGluZm9bJ2Rpcm5hbWUnXS4iLyIuJHBhdGguJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZFska10uJGluZm9bJ2ZpbGVuYW1lJ10uJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fYXBwZW5kWyRrXS4iLiIuJGluZm9bJ2V4dGVuc2lvbiddKSkKCQkJCQkJewoJCQkJCQkJdW5saW5rKCRpbmZvWydkaXJuYW1lJ10uIi8iLiRwYXRoLiRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmRbJGtdLiRpbmZvWydmaWxlbmFtZSddLiRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX2FwcGVuZFska10uIi4iLiRpbmZvWydleHRlbnNpb24nXSk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgoJCQkJaWYgKCRmaXhlZF9pbWFnZV9jcmVhdGlvbikKCQkJCXsKCQkJCQlmb3JlYWNoKCRmaXhlZF9wYXRoX2Zyb21fZmlsZW1hbmFnZXIgYXMgJGs9PiRwYXRoKQoJCQkJCXsKCQkJCQkJaWYgKCRwYXRoIT0iIiAmJiAkcGF0aFtzdHJsZW4oJHBhdGgpLTFdICE9ICIvIikgJHBhdGguPSIvIjsKCgkJCQkJCSRiYXNlX2Rpcj0kcGF0aC5zdWJzdHJfcmVwbGFjZSgkaW5mb1snZGlybmFtZSddLiIvIiwgJycsIDAsIHN0cmxlbigkY3VycmVudF9wYXRoKSk7CgkJCQkJCWlmIChmaWxlX2V4aXN0cygkYmFzZV9kaXIuJGZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZFska10uJGluZm9bJ2ZpbGVuYW1lJ10uJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZFska10uIi4iLiRpbmZvWydleHRlbnNpb24nXSkpCgkJCQkJCXsKCQkJCQkJCXVubGluaygkYmFzZV9kaXIuJGZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZFska10uJGluZm9bJ2ZpbGVuYW1lJ10uJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZFska10uIi4iLiRpbmZvWydleHRlbnNpb24nXSk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAnZGVsZXRlX2ZvbGRlcic6CgkJCWlmICgkZGVsZXRlX2ZvbGRlcnMpewoJCQkJaWYgKGlzX2RpcigkcGF0aF90aHVtYikpCgkJCQl7CgkJCQkJZGVsZXRlRGlyKCRwYXRoX3RodW1iKTsKCQkJCX0KCgkJCQlpZiAoaXNfZGlyKCRwYXRoKSkKCQkJCXsKCQkJCQlkZWxldGVEaXIoJHBhdGgpOwoJCQkJCWlmICgkZml4ZWRfaW1hZ2VfY3JlYXRpb24pCgkJCQkJewoJCQkJCQlmb3JlYWNoKCRmaXhlZF9wYXRoX2Zyb21fZmlsZW1hbmFnZXIgYXMgJGs9PiRwYXRocyl7CgkJCQkJCQlpZiAoJHBhdGhzIT0iIiAmJiAkcGF0aHNbc3RybGVuKCRwYXRocyktMV0gIT0gIi8iKSAkcGF0aHMuPSIvIjsKCgkJCQkJCQkkYmFzZV9kaXI9JHBhdGhzLnN1YnN0cl9yZXBsYWNlKCRwYXRoLCAnJywgMCwgc3RybGVuKCRjdXJyZW50X3BhdGgpKTsKCQkJCQkJCWlmIChpc19kaXIoJGJhc2VfZGlyKSkgZGVsZXRlRGlyKCRiYXNlX2Rpcik7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAnY3JlYXRlX2ZvbGRlcic6CgkJCWlmICgkY3JlYXRlX2ZvbGRlcnMpCgkJCXsKCgkJCQkkbmFtZSA9IGZpeF9maWxlbmFtZSgkX1BPU1RbJ25hbWUnXSwkdHJhbnNsaXRlcmF0aW9uLCRjb252ZXJ0X3NwYWNlcywgJHJlcGxhY2Vfd2l0aCk7CgkJCQkkcGF0aCAuPSAkbmFtZTsKCQkJCSRwYXRoX3RodW1iIC49ICRuYW1lOwoJCQkJY3JlYXRlX2ZvbGRlcihmaXhfcGF0aCgkcGF0aCwkdHJhbnNsaXRlcmF0aW9uLCRjb252ZXJ0X3NwYWNlcywgJHJlcGxhY2Vfd2l0aCksZml4X3BhdGgoJHBhdGhfdGh1bWIsJHRyYW5zbGl0ZXJhdGlvbiwkY29udmVydF9zcGFjZXMsICRyZXBsYWNlX3dpdGgpKTsKCQkJfQoJCQlicmVhazsKCQljYXNlICdyZW5hbWVfZm9sZGVyJzoKCQkJaWYgKCRyZW5hbWVfZm9sZGVycyl7CgkJCQkkbmFtZT1maXhfZmlsZW5hbWUoJG5hbWUsJHRyYW5zbGl0ZXJhdGlvbiwkY29udmVydF9zcGFjZXMsICRyZXBsYWNlX3dpdGgpOwoJCQkJJG5hbWU9c3RyX3JlcGxhY2UoJy4nLCcnLCRuYW1lKTsKCgkJCQlpZiAoIWVtcHR5KCRuYW1lKSl7CgkJCQkJaWYgKCFyZW5hbWVfZm9sZGVyKCRwYXRoLCRuYW1lLCR0cmFuc2xpdGVyYXRpb24sJGNvbnZlcnRfc3BhY2VzKSkKCQkJCQl7CgkJCQkJCXJlc3BvbnNlKHRyYW5zKCdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJCQlleGl0OwoJCQkJCX0KCgkJCQkJcmVuYW1lX2ZvbGRlcigkcGF0aF90aHVtYiwkbmFtZSwkdHJhbnNsaXRlcmF0aW9uLCRjb252ZXJ0X3NwYWNlcyk7CgkJCQkJaWYgKCRmaXhlZF9pbWFnZV9jcmVhdGlvbil7CgkJCQkJCWZvcmVhY2goJGZpeGVkX3BhdGhfZnJvbV9maWxlbWFuYWdlciBhcyAkaz0+JHBhdGhzKXsKCQkJCQkJCWlmICgkcGF0aHMhPSIiICYmICRwYXRoc1tzdHJsZW4oJHBhdGhzKS0xXSAhPSAiLyIpICRwYXRocy49Ii8iOwoKCQkJCQkJCSRiYXNlX2Rpcj0kcGF0aHMuc3Vic3RyX3JlcGxhY2UoJHBhdGgsICcnLCAwLCBzdHJsZW4oJGN1cnJlbnRfcGF0aCkpOwoJCQkJCQkJcmVuYW1lX2ZvbGRlcigkYmFzZV9kaXIsJG5hbWUsJHRyYW5zbGl0ZXJhdGlvbiwkY29udmVydF9zcGFjZXMpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQlyZXNwb25zZSh0cmFucygnRW1wdHlfbmFtZScpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCQlleGl0OwoJCQkJfQoJCQl9CgkJCWJyZWFrOwoJCWNhc2UgJ2NyZWF0ZV9maWxlJzoKCQkJaWYgKCRjcmVhdGVfdGV4dF9maWxlcyA9PT0gRkFMU0UpIHsKCQkJCXJlc3BvbnNlKHNwcmludGYodHJhbnMoJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyksIHN0cnRvbG93ZXIodHJhbnMoJ0VkaXQnKSkpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCWlmICghaXNzZXQoJGVkaXRhYmxlX3RleHRfZmlsZV9leHRzKSB8fCAhaXNfYXJyYXkoJGVkaXRhYmxlX3RleHRfZmlsZV9leHRzKSl7CgkJCQkkZWRpdGFibGVfdGV4dF9maWxlX2V4dHMgPSBhcnJheSgpOwoJCQl9CgoJCQkvLyBjaGVjayBpZiB1c2VyIHN1cHBsaWVkIGV4dGVuc2lvbgoJCQlpZiAoc3RycG9zKCRuYW1lLCAnLicpID09PSBGQUxTRSl7CgkJCQlyZXNwb25zZSh0cmFucygnTm9fRXh0ZW5zaW9uJykuJyAnLnNwcmludGYodHJhbnMoJ1ZhbGlkX0V4dGVuc2lvbnMnKSwgaW1wbG9kZSgnLCAnLCAkZWRpdGFibGVfdGV4dF9maWxlX2V4dHMpKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQkvLyBjb3JyZWN0IG5hbWUKCQkJJG9sZF9uYW1lID0gJG5hbWU7CgkJCSRuYW1lPWZpeF9maWxlbmFtZSgkbmFtZSwkdHJhbnNsaXRlcmF0aW9uLCRjb252ZXJ0X3NwYWNlcywgJHJlcGxhY2Vfd2l0aCk7CgkJCWlmIChlbXB0eSgkbmFtZSkpCgkJCXsKCQkJCXJlc3BvbnNlKHRyYW5zKCdFbXB0eV9uYW1lJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJZXhpdDsKCQkJfQoKCQkJLy8gY2hlY2sgZXh0ZW5zaW9uCgkJCSRwYXJ0cyA9IGV4cGxvZGUoJy4nLCAkbmFtZSk7CgkJCWlmICghaW5fYXJyYXkoZW5kKCRwYXJ0cyksICRlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cykpIHsKCQkJCXJlc3BvbnNlKHRyYW5zKCdFcnJvcl9leHRlbnNpb24nKS4nICcuc3ByaW50Zih0cmFucygnVmFsaWRfRXh0ZW5zaW9ucycpLCBpbXBsb2RlKCcsICcsICRlZGl0YWJsZV90ZXh0X2ZpbGVfZXh0cykpLCA0MDApLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQkvLyBmaWxlIGFscmVhZHkgZXhpc3RzCgkJCWlmIChmaWxlX2V4aXN0cygkcGF0aC4kbmFtZSkpIHsKCQkJCXJlc3BvbnNlKHRyYW5zKCdSZW5hbWVfZXhpc3RpbmdfZmlsZScpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCSRjb250ZW50ID0gJF9QT1NUWyduZXdfY29udGVudCddOwoJCQlpZiAoIWNoZWNrcmVzdWx0aW5nc2l6ZShzdHJsZW4oJGNvbnRlbnQpKSkgewoJCQkJcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnbWF4X3NpemVfcmVhY2hlZCcpLCRNYXhTaXplVG90YWwpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCQkJaWYgKEBmaWxlX3B1dF9jb250ZW50cygkcGF0aC4kbmFtZSwgJGNvbnRlbnQpID09PSBGQUxTRSkgewoJCQkJcmVzcG9uc2UodHJhbnMoJ0ZpbGVfU2F2ZV9FcnJvcicpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0gZWxzZSB7CgkJCQlpZiAoaXNfZnVuY3Rpb25fY2FsbGFibGUoJ2NobW9kJykgIT09IEZBTFNFKXsKCQkJCQljaG1vZCgkcGF0aC4kbmFtZSwgMDY0NCk7CgkJCQl9CgkJCQlyZXNwb25zZSh0cmFucygnRmlsZV9TYXZlX09LJykpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQlicmVhazsKCQljYXNlICdyZW5hbWVfZmlsZSc6CgkJCWlmICgkcmVuYW1lX2ZpbGVzKXsKCQkJCSRuYW1lPWZpeF9maWxlbmFtZSgkbmFtZSwkdHJhbnNsaXRlcmF0aW9uLCRjb252ZXJ0X3NwYWNlcywgJHJlcGxhY2Vfd2l0aCk7CgkJCQlpZiAoIWVtcHR5KCRuYW1lKSkKCQkJCXsKCQkJCQlpZiAoIXJlbmFtZV9maWxlKCRwYXRoLCRuYW1lLCR0cmFuc2xpdGVyYXRpb24pKQoJCQkJCXsKCQkJCQkJcmVzcG9uc2UodHJhbnMoJ1JlbmFtZV9leGlzdGluZ19maWxlJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJCQlleGl0OwoJCQkJCX0KCgkJCQkJcmVuYW1lX2ZpbGUoJHBhdGhfdGh1bWIsJG5hbWUsJHRyYW5zbGl0ZXJhdGlvbik7CgoJCQkJCWlmICgkZml4ZWRfaW1hZ2VfY3JlYXRpb24pCgkJCQkJewoJCQkJCQkkaW5mbz1wYXRoaW5mbygkcGF0aCk7CgoJCQkJCQlmb3JlYWNoKCRmaXhlZF9wYXRoX2Zyb21fZmlsZW1hbmFnZXIgYXMgJGs9PiRwYXRocykKCQkJCQkJewoJCQkJCQkJaWYgKCRwYXRocyE9IiIgJiYgJHBhdGhzW3N0cmxlbigkcGF0aHMpLTFdICE9ICIvIikgJHBhdGhzLj0iLyI7CgoJCQkJCQkJJGJhc2VfZGlyID0gJHBhdGhzLnN1YnN0cl9yZXBsYWNlKCRpbmZvWydkaXJuYW1lJ10uIi8iLCAnJywgMCwgc3RybGVuKCRjdXJyZW50X3BhdGgpKTsKCQkJCQkJCWlmIChmaWxlX2V4aXN0cygkYmFzZV9kaXIuJGZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZFska10uJGluZm9bJ2ZpbGVuYW1lJ10uJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZFska10uIi4iLiRpbmZvWydleHRlbnNpb24nXSkpCgkJCQkJCQl7CgkJCQkJCQkJcmVuYW1lX2ZpbGUoJGJhc2VfZGlyLiRmaXhlZF9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmRbJGtdLiRpbmZvWydmaWxlbmFtZSddLiRmaXhlZF9pbWFnZV9jcmVhdGlvbl90b19hcHBlbmRbJGtdLiIuIi4kaW5mb1snZXh0ZW5zaW9uJ10sJGZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZFska10uJG5hbWUuJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZFska10sJHRyYW5zbGl0ZXJhdGlvbik7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXJlc3BvbnNlKHRyYW5zKCdFbXB0eV9uYW1lJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJCWV4aXQ7CgkJCQl9CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAnZHVwbGljYXRlX2ZpbGUnOgoJCQlpZiAoJGR1cGxpY2F0ZV9maWxlcykKCQkJewoJCQkJJG5hbWU9Zml4X2ZpbGVuYW1lKCRuYW1lLCR0cmFuc2xpdGVyYXRpb24sJGNvbnZlcnRfc3BhY2VzLCAkcmVwbGFjZV93aXRoKTsKCQkJCWlmICghZW1wdHkoJG5hbWUpKQoJCQkJewoJCQkJCWlmICghY2hlY2tyZXN1bHRpbmdzaXplKGZpbGVzaXplKCRwYXRoKSkpIHsKCQkJCQkJcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnbWF4X3NpemVfcmVhY2hlZCcpLCRNYXhTaXplVG90YWwpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCQkJZXhpdDsKCQkJCQl9CgkJCQkJaWYgKCFkdXBsaWNhdGVfZmlsZSgkcGF0aCwkbmFtZSkpCgkJCQkJewoJCQkJCQlyZXNwb25zZSh0cmFucygnUmVuYW1lX2V4aXN0aW5nX2ZpbGUnKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQkJCWV4aXQ7CgkJCQkJfQoKCQkJCQlkdXBsaWNhdGVfZmlsZSgkcGF0aF90aHVtYiwkbmFtZSk7CgoJCQkJCWlmICgkZml4ZWRfaW1hZ2VfY3JlYXRpb24pCgkJCQkJewoJCQkJCQkkaW5mbz1wYXRoaW5mbygkcGF0aCk7CgkJCQkJCWZvcmVhY2goJGZpeGVkX3BhdGhfZnJvbV9maWxlbWFuYWdlciBhcyAkaz0+JHBhdGhzKQoJCQkJCQl7CgkJCQkJCQlpZiAoJHBhdGhzIT0iIiAmJiAkcGF0aHNbc3RybGVuKCRwYXRocyktMV0gIT0gIi8iKSAkcGF0aHMuPSAiLyI7CgoJCQkJCQkJJGJhc2VfZGlyPSRwYXRocy5zdWJzdHJfcmVwbGFjZSgkaW5mb1snZGlybmFtZSddLiIvIiwgJycsIDAsIHN0cmxlbigkY3VycmVudF9wYXRoKSk7CgoJCQkJCQkJaWYgKGZpbGVfZXhpc3RzKCRiYXNlX2Rpci4kZml4ZWRfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kWyRrXS4kaW5mb1snZmlsZW5hbWUnXS4kZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kWyRrXS4iLiIuJGluZm9bJ2V4dGVuc2lvbiddKSkKCQkJCQkJCXsKCQkJCQkJCQlkdXBsaWNhdGVfZmlsZSgkYmFzZV9kaXIuJGZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZFska10uJGluZm9bJ2ZpbGVuYW1lJ10uJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZFska10uIi4iLiRpbmZvWydleHRlbnNpb24nXSwkZml4ZWRfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kWyRrXS4kbmFtZS4kZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kWyRrXSk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXJlc3BvbnNlKHRyYW5zKCdFbXB0eV9uYW1lJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJCWV4aXQ7CgkJCQl9CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAncGFzdGVfY2xpcGJvYXJkJzoKCQkJaWYgKCAhIGlzc2V0KCRfU0VTU0lPTlsnUkYnXVsnY2xpcGJvYXJkX2FjdGlvbiddLCAkX1NFU1NJT05bJ1JGJ11bJ2NsaXBib2FyZCddWydwYXRoJ10pCgkJCQl8fCAkX1NFU1NJT05bJ1JGJ11bJ2NsaXBib2FyZF9hY3Rpb24nXSA9PSAnJwoJCQkJfHwgJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmQnXVsncGF0aCddID09ICcnKQoJCQl7CgkJCQlyZXNwb25zZSgpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQkkYWN0aW9uID0gJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmRfYWN0aW9uJ107CgkJCSRkYXRhID0gJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmQnXTsKCQkJJGRhdGFbJ3BhdGhfdGh1bWInXSA9ICR0aHVtYnNfYmFzZV9wYXRoLiRkYXRhWydwYXRoJ107CgkJCSRkYXRhWydwYXRoJ10gPSAkY3VycmVudF9wYXRoLiRkYXRhWydwYXRoJ107CgkJCSRwaW5mbyA9IHBhdGhpbmZvKCRkYXRhWydwYXRoJ10pOwoKCQkJLy8gdXNlciB3YW50cyB0byBwYXN0ZSB0byB0aGUgc2FtZSBkaXIuIG5vdGhpbmcgdG8gZG8gaGVyZS4uLgoJCQlpZiAoJHBpbmZvWydkaXJuYW1lJ10gPT0gcnRyaW0oJHBhdGgsICcvJykpIHsKCQkJCXJlc3BvbnNlKCktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCS8vIHVzZXIgd2FudHMgdG8gcGFzdGUgZm9sZGVyIHRvIGl0J3Mgb3duIHN1YiBmb2xkZXIuLiBiYWFhYWguCgkJCWlmIChpc19kaXIoJGRhdGFbJ3BhdGgnXSkgJiYgc3RycG9zKCRwYXRoLCAkZGF0YVsncGF0aCddKSAhPT0gRkFMU0UpewoJCQkJcmVzcG9uc2UoKS0+c2VuZCgpOwoJCQkJZXhpdDsKCQkJfQoKCQkJLy8gc29tZXRoaW5nIHRlcnJpYmx5IGdvbmUgd3JvbmcKCQkJaWYgKCRhY3Rpb24gIT0gJ2NvcHknICYmICRhY3Rpb24gIT0gJ2N1dCcpewoJCQkJcmVzcG9uc2UodHJhbnMoJ3dyb25nIGFjdGlvbicpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCS8vIGNoZWNrIGZvciB3cml0YWJpbGl0eQoJCQlpZiAoaXNfcmVhbGx5X3dyaXRhYmxlKCRwYXRoKSA9PT0gRkFMU0UgfHwgaXNfcmVhbGx5X3dyaXRhYmxlKCRwYXRoX3RodW1iKSA9PT0gRkFMU0UpewoJCQkJcmVzcG9uc2UodHJhbnMoJ0Rpcl9Ob19Xcml0ZScpLic8YnIvPicuc3RyX3JlcGxhY2UoJy4uLycsJycsJHBhdGgpLic8YnIvPicuc3RyX3JlcGxhY2UoJy4uLycsJycsJHBhdGhfdGh1bWIpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCS8vIGNoZWNrIGlmIHNlcnZlciBkaXNhYmxlcyBjb3B5IG9yIHJlbmFtZQoJCQlpZiAoaXNfZnVuY3Rpb25fY2FsbGFibGUoKCRhY3Rpb24gPT0gJ2NvcHknID8gJ2NvcHknIDogJ3JlbmFtZScpKSA9PT0gRkFMU0UpewoJCQkJcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnRnVuY3Rpb25fRGlzYWJsZWQnKSwgKCRhY3Rpb24gPT0gJ2NvcHknID8gKHRyYW5zKCdDb3B5JykpIDogKHRyYW5zKCdDdXQnKSkpKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQlpZiAoJGFjdGlvbiA9PSAnY29weScpCgkJCXsKCQkJCWxpc3QoJHNpemVGb2xkZXJUb0NvcHksJGZpbGVOdW0sJGZvbGRlcnNDb3VudCkgPSBmb2xkZXJfaW5mbygkcGF0aCxmYWxzZSk7CgkJCQlpZiAoIWNoZWNrcmVzdWx0aW5nc2l6ZSgkc2l6ZUZvbGRlclRvQ29weSkpIHsKCQkJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdtYXhfc2l6ZV9yZWFjaGVkJyksJE1heFNpemVUb3RhbCkuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJCWV4aXQ7CgkJCQl9CgkJCQlyY29weSgkZGF0YVsncGF0aCddLCAkcGF0aCk7CgkJCQlyY29weSgkZGF0YVsncGF0aF90aHVtYiddLCAkcGF0aF90aHVtYik7CgkJCX0gZWxzZWlmICgkYWN0aW9uID09ICdjdXQnKSB7CgkJCQlycmVuYW1lKCRkYXRhWydwYXRoJ10sICRwYXRoKTsKCQkJCXJyZW5hbWUoJGRhdGFbJ3BhdGhfdGh1bWInXSwgJHBhdGhfdGh1bWIpOwoKCQkJCS8vIGNsZWFudXAKCQkJCWlmIChpc19kaXIoJGRhdGFbJ3BhdGgnXSkgPT09IFRSVUUpewoJCQkJCXJyZW5hbWVfYWZ0ZXJfY2xlYW5lcigkZGF0YVsncGF0aCddKTsKCQkJCQlycmVuYW1lX2FmdGVyX2NsZWFuZXIoJGRhdGFbJ3BhdGhfdGh1bWInXSk7CgkJCQl9CgkJCX0KCgkJCS8vIGNsZWFudXAKCQkJJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmQnXVsncGF0aCddID0gTlVMTDsKCQkJJF9TRVNTSU9OWydSRiddWydjbGlwYm9hcmRfYWN0aW9uJ10gPSBOVUxMOwoKCQkJYnJlYWs7CgkJY2FzZSAnY2htb2QnOgoJCQkkbW9kZSA9ICRfUE9TVFsnbmV3X21vZGUnXTsKCQkJJHJlY19vcHRpb24gPSAkX1BPU1RbJ2lzX3JlY3Vyc2l2ZSddOwoJCQkkdmFsaWRfb3B0aW9ucyA9IGFycmF5KCdub25lJywgJ2ZpbGVzJywgJ2ZvbGRlcnMnLCAnYm90aCcpOwoJCQkkY2htb2RfcGVybSA9IChpc19kaXIoJHBhdGgpID8gJGNobW9kX2RpcnMgOiAkY2htb2RfZmlsZXMpOwoKCQkJLy8gY2hlY2sgcGVybQoJCQlpZiAoJGNobW9kX3Blcm0gPT09IEZBTFNFKSB7CgkJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnKSwgKGlzX2RpcigkcGF0aCkgPyAodHJhbnMoJ0ZvbGRlcnMnKSkgOiAodHJhbnMoJ0ZpbGVzJykpICkpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCS8vIGNoZWNrIG1vZGUKCQkJaWYgKCFwcmVnX21hdGNoKCIvXlswLTddezN9JC8iLCAkbW9kZSkpewoJCQkJcmVzcG9uc2UodHJhbnMoJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQkJZXhpdDsKCQkJfQoKCQkJLy8gY2hlY2sgcmVjdXJzaXZlIG9wdGlvbgoJCQlpZiAoIWluX2FycmF5KCRyZWNfb3B0aW9uLCAkdmFsaWRfb3B0aW9ucykpewoJCQkJcmVzcG9uc2UodHJhbnMoIndyb25nIG9wdGlvbiIpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCS8vIGNoZWNrIGlmIHNlcnZlciBkaXNhYmxlZCBjaG1vZAoJCQlpZiAoaXNfZnVuY3Rpb25fY2FsbGFibGUoJ2NobW9kJykgPT09IEZBTFNFKXsKCQkJCXJlc3BvbnNlKHNwcmludGYodHJhbnMoJ0Z1bmN0aW9uX0Rpc2FibGVkJyksICdjaG1vZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCSRtb2RlID0gIjAiLiRtb2RlOwoJCQkkbW9kZSA9IG9jdGRlYygkbW9kZSk7CgoJCQlyY2htb2QoJHBhdGgsICRtb2RlLCAkcmVjX29wdGlvbik7CgoJCQlicmVhazsKCQljYXNlICdzYXZlX3RleHRfZmlsZSc6CgkJCSRjb250ZW50ID0gJF9QT1NUWyduZXdfY29udGVudCddOwoJCQkvLyAkY29udGVudCA9IGh0bWxzcGVjaWFsY2hhcnMoJGNvbnRlbnQpOyBub3QgbmVlZGVkCgkJCS8vICRjb250ZW50ID0gc3RyaXBzbGFzaGVzKCRjb250ZW50KTsKCgkJCS8vIG5vIGZpbGUKCQkJaWYgKCFmaWxlX2V4aXN0cygkcGF0aCkpIHsKCQkJCXJlc3BvbnNlKHRyYW5zKCdGaWxlX05vdF9Gb3VuZCcpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCgkJCS8vIG5vdCB3cml0YWJsZSBvciBlZGl0IG5vdCBhbGxvd2VkCgkJCWlmICghaXNfd3JpdGFibGUoJHBhdGgpIHx8ICRlZGl0X3RleHRfZmlsZXMgPT09IEZBTFNFKSB7CgkJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcpLCBzdHJ0b2xvd2VyKHRyYW5zKCdFZGl0JykpKS5BZGRFcnJvckxvY2F0aW9uKCkpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQlpZiAoIWNoZWNrcmVzdWx0aW5nc2l6ZShzdHJsZW4oJGNvbnRlbnQpKSkgewoJCQkJcmVzcG9uc2Uoc3ByaW50Zih0cmFucygnbWF4X3NpemVfcmVhY2hlZCcpLCRNYXhTaXplVG90YWwpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0KCQkJaWYgKEBmaWxlX3B1dF9jb250ZW50cygkcGF0aCwgJGNvbnRlbnQpID09PSBGQUxTRSkgewoJCQkJcmVzcG9uc2UodHJhbnMoJ0ZpbGVfU2F2ZV9FcnJvcicpLkFkZEVycm9yTG9jYXRpb24oKSktPnNlbmQoKTsKCQkJCWV4aXQ7CgkJCX0gZWxzZSB7CgkJCQlyZXNwb25zZSh0cmFucygnRmlsZV9TYXZlX09LJykpLT5zZW5kKCk7CgkJCQlleGl0OwoJCQl9CgoJCQlicmVhazsKCQlkZWZhdWx0OgoJCQlyZXNwb25zZSh0cmFucygnd3JvbmcgYWN0aW9uJykuQWRkRXJyb3JMb2NhdGlvbigpKS0+c2VuZCgpOwoJCQlleGl0OwoJfQp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/force_download.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRjb25maWcgPSBpbmNsdWRlICdjb25maWcvY29uZmlnLnBocCc7CgovL1RPRE8gc3dpdGNoIHRvIGFycmF5CmV4dHJhY3QoJGNvbmZpZywgRVhUUl9PVkVSV1JJVEUpOwoKaW5jbHVkZSAnaW5jbHVkZS91dGlscy5waHAnOwoKaWYgKCRfU0VTU0lPTlsnUkYnXVsidmVyaWZ5Il0gIT0gIlJFU1BPTlNJVkVmaWxlbWFuYWdlciIpCnsKCXJlc3BvbnNlKHRyYW5zKCdmb3JiaWRlbicpLkFkZEVycm9yTG9jYXRpb24oKSwgNDAzKS0+c2VuZCgpOwoJZXhpdDsKfQoKaW5jbHVkZSAnaW5jbHVkZS9taW1lX3R5cGVfbGliLnBocCc7CgppZiAoCglzdHJwb3MoJF9QT1NUWydwYXRoJ10sICcvJykgPT09IDAKCXx8IHN0cnBvcygkX1BPU1RbJ3BhdGgnXSwgJy4uLycpICE9PSBmYWxzZQoJfHwgc3RycG9zKCRfUE9TVFsncGF0aCddLCAnLi8nKSA9PT0gMAopCnsKCXJlc3BvbnNlKHRyYW5zKCd3cm9uZyBwYXRoJy5BZGRFcnJvckxvY2F0aW9uKCkpLCA0MDApLT5zZW5kKCk7CglleGl0Owp9CgoKaWYgKHN0cnBvcygkX1BPU1RbJ25hbWUnXSwgJy8nKSAhPT0gZmFsc2UpCnsKCXJlc3BvbnNlKHRyYW5zKCd3cm9uZyBwYXRoJy5BZGRFcnJvckxvY2F0aW9uKCkpLCA0MDApLT5zZW5kKCk7CglleGl0Owp9CgokcGF0aCA9ICRjdXJyZW50X3BhdGggLiAkX1BPU1RbJ3BhdGgnXTsKJG5hbWUgPSAkX1BPU1RbJ25hbWUnXTsKCiRpbmZvID0gcGF0aGluZm8oJG5hbWUpOwoKaWYgKCAhIGluX2FycmF5KGZpeF9zdHJ0b2xvd2VyKCRpbmZvWydleHRlbnNpb24nXSksICRleHQpKQp7CglyZXNwb25zZSh0cmFucygnd3JvbmcgZXh0ZW5zaW9uJy5BZGRFcnJvckxvY2F0aW9uKCkpLCA0MDApLT5zZW5kKCk7CglleGl0Owp9CgppZiAoICEgZmlsZV9leGlzdHMoJHBhdGggLiAkbmFtZSkpCnsKCXJlc3BvbnNlKHRyYW5zKCdGaWxlX05vdF9Gb3VuZCcuQWRkRXJyb3JMb2NhdGlvbigpKSwgNDA0KS0+c2VuZCgpOwoJZXhpdDsKfQoKJGltZ19zaXplID0gKHN0cmluZykgKGZpbGVzaXplKCRwYXRoIC4gJG5hbWUpKTsgLy8gR2V0IHRoZSBpbWFnZSBzaXplIGFzIHN0cmluZwoKJG1pbWVfdHlwZSA9IGdldF9maWxlX21pbWVfdHlwZSgkcGF0aCAuICRuYW1lKTsgLy8gR2V0IHRoZSBjb3JyZWN0IE1JTUUgdHlwZSBkZXBlbmRpbmcgb24gdGhlIGZpbGUuCgpyZXNwb25zZShmaWxlX2dldF9jb250ZW50cygkcGF0aCAuICRuYW1lKSwgMjAwLCBhcnJheSgKCSdQcmFnbWEnICAgICAgICAgICAgICA9PiAncHJpdmF0ZScsCgknQ2FjaGUtY29udHJvbCcgICAgICAgPT4gJ3ByaXZhdGUsIG11c3QtcmV2YWxpZGF0ZScsCgknQ29udGVudC1UeXBlJyAgICAgICAgPT4gJG1pbWVfdHlwZSwKCSdDb250ZW50LUxlbmd0aCcgICAgICA9PiAkaW1nX3NpemUsCgknQ29udGVudC1EaXNwb3NpdGlvbicgPT4gJ2F0dGFjaG1lbnQ7IGZpbGVuYW1lPSInIC4gKCRuYW1lKSAuICciJwopKS0+c2VuZCgpOwoKZXhpdDsKPz4=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/clipboard_apply.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAD1BMVEUmJib///8mJiYmJiYmJiZbyPPEAAAABHRSTlMAAJnMgcLZUgAAAFlJREFUeF41yeENgCAMhNEjOICgC5AwAEk7gNLbfyZb1O9H83JFKeUYfhwHOQJ9I6+ZUDX7Yg0n4fF2RD/kg0EDwrFgEGQuABrg8GHBkr6gMFCVnjXsPTDTA8QzFkBKaf+yAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/clipboard_clear.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAElBMVEUTExMmJib///8mJiYmJiYmJia77MQEAAAABXRSTlMAAACZzPA6uXkAAABbSURBVHheTc3BCcAwCAXQrKDYAWrSBQq514P30uj+q9REKP0HeYjyCzM3iRFo7tdE39zvgaUqxcbOcjhE/AnMLJiaLggJJQASBqAJ5IQg03f8f6/qkajY+8TAF/mnHfJGo6xuAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/copy.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAMFBMVEUmJiYzMzP///////////8YGBgZGRkYGBgZGRkpKSkqKioyMjIzMzMYGBgmJiYzMzOHZX8qAAAADXRSTlMAAAAoQJ+f/v7+/v7+UTUi0AAAAGBJREFUeF5juFdeqwQCDB+Y9EXBjA1M2pJJIMYmIW2ZpSDGISUdFWcIA6QczAApB6lRAisHiUCUM3wSgihn+P8fyChvV2JQUjqkpKSkA2JsAjK0UUQ+CSkp6YMY/0FACQBvkyeQK4FbkwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/cut.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUyMjImJiYmJiYyMjKrAVvpAAAAA3RSTlMAmczIJ3sWAAAATUlEQVR4Xg3GsQ2AIBRF0UssKCj+CG4ibMZiJrCBjMAIL9ESiHSHAyqhHp0g6/gRG26VBHkC5weYgDggzNw3Nm/ZhWTGK3sozS9icuMHGfgc2idDYJsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/date.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAA81BMVEX///8AAAAAAABAQEAzMzMrKyskJCQcHBwzMzMaGhonJyckJCQrKysoKCgmJiYkJCQrKyspKSkkJCQoKCgnJycmJiYkJCQjIyMrKyMpKSkoKCgnJycmJiYqKiQnJycmJiYoKCQoKCglJSUoKCQnJycnJycoKCQmJiYmJiYmJiYlJSUlKCUnJycnJyUnJyUmJiYlJSUmJiYmJiYnJyUlJSUnJycmJiYlJSUnJyUmJiYnJyYnJyUmJiYmJiYnJyUmJiYmJiYmJyYnJyYnJyYnJyYnJyUnJyYnJyYnJyUmJiUmJiYmJiUmJiUmJiYnJyYpKSkrKyq1Dyr+AAAAT3RSTlMAAQIEBQYHCQoKDQ4SExQVGBkcICEiIyQkJSYnKDE0NTk6Pj9BQk1la2xtbW5ub3J2gIGChISGj4+UnJ6foKXP0dHR0tna3t/h4uLo6uv7GR814gAAANBJREFUeF5Ni9cOglAUBBcbinCtIIq9dwUV7A2l2P//a4T7YJxkkpPJHniMxz89aivjZC6Xpu/ZWFVx3avmUdePvqa6v8ARMOoBPd8BBBeWhBAQYJgAvEO0YGcQ4cJMNMqEuQgyNmwJ+mdCHo/E5KND8oKI+qzMdrtseVaHSENjUWH7/Vhl0aBBgvYeEtclw7dGX7JIlUiwWAySUgpZupi+OvzhwHdeU7qQ0d41ufk83ty2IduwkvgjaeHeSitKPlco5PKKkm7dsXk6tx/Oc/0F88Ui6MTkxGoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/dimension.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAArlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+yYRkAAAAOXRSTlMAARQEI1X7340fUMeKhIj5284g2l360EkbxDHk8Sbt3QX03jNP8DRX49LR3MrggIWGVDcTWlnGNour6KQUAAAAsUlEQVR4XlWP1ZLFMAxD1aRJysx4kWEZ8v8/tuPevKxfLJ0ZjWzQWMDry7Jg/MrR2uFEDPhUcay+DLAssM4bBq/7IE2UJWmb522asMWuim1VN67b1NW24ACCXvgZZTNf9AEQabne2OAc9mYtdQRHl9P8BPNUagcIlee7FHG/PRVSrThcdvY42rvL4c3UXs+3+/12vlLt87B3sd+LH0YaCzmepDwdjV9SD60f/97Fb2D8H5vLDPSs5XmIAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/down.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIBAMAAAA2IaO4AAAAHlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGjDitAAAACXRSTlMAAooDIYMBeYSNFKseAAAAK0lEQVR4XmNgMxROYAADJ9UgFQahmTMVGRgqpzMwGHA0MDMwMjAIABEjAwBsAgTad86CyQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/download.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABLFBMVEX///8TExP///8vLy8oKCgcHBwVFRUYGBgdHR3///9ISEiSkpIUFBQTExMoKChOTk6Dg4MZGRkeHh4rKytpaWmKiopcXFwvLy8eHh4XFxdGRkaLi4vHx8dZWVk1NTVGRkYeHh4XFxciIiJYWFj///8mJiYdHR1kZGQxMTEmJiYoKCgjIyP///8UFBRaWlpRUVEgICAkJCQ9PT2amppra2tXV1eEhIT///8kJCQnJyc4ODgiIiInJyciIiITExMkJCQUFBQkJCQTExOhoaEpKSkeHh5jY2MiIiIsLCxKSkocHBwkJCQnJyd+fn4oKCgsLCwjIyMaGhoZGRkcHBwkJCQyMjIpKSk6OjpPT08/Pz89PT1BQUFRUVH///////////////////8mJiYgICAl4GeMAAAAYnRSTlMANw/TkQl8y+oKlA59hOOre2/M44slfeTcj6U3KZXYRY8hvGMDjtxP1MnyUQJAXpHeB2A/TCZfIunzlb7y8sXxsrK6bO5/dvC7wIfr8Ff0we/y7vDu2u+Vn8rSv5gjMjUuISRAYPIAAADDSURBVHhebc7DksUAGITR2Nalbds2xmbm/d/h1l+p2eVbnupFI66h4nQ8F9F/ICma2UxGDE2RDghpSVYWiiylBWev6UbD2lkNQ9dQgP3BH2CJP4IN+LsrgEEvwSMpO4XwieMMIJePFEtxO14qRvI5gO2wUKvjNl6vFc4XgP4yGjO5R86MRZ+eATLZqtpqrpsttZrNAGAVj9dXPpV9Xk8FQ6BgKHxze3f/EA4FnafJTvvl9e39o91JAkDY59f3zy/sXboCRaUaJQ01TrQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/duplicate.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAM1BMVEUYGBj///8zMzMmJib///////8YGBgZGRkYGBgyMjIzMzMqKioZGRkpKSkYGBgmJiYzMzO6nfTLAAAADnRSTlMAAAAAKECfn/7+/v7+/haVNM8AAABjSURBVHhefYpREoAgCAVB04BKu/9pA8HRr97AALsAjjQiamML8CbrGqD3zgo4PaeDF9GBXBXBdM6iXLCUA8E0wgBENyG4FvQIgmsO4Nf+MbX8fLhmYdHi+WGJCbsOsPQAS3s+VGsEUxTrNFsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/edit_img.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABLFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmaNZ3AAAAY3RSTlMANyj45qL9Qvf09UFSeysBn/JDbPYq6uga/OmwYfqPXuRFRIdVED9Q+VMSHna8s9IvTxiD3Wu+qElgFWe6IYZAeuEHm/vtYnTsOutRSMCJskynnaBvprENo/7nd+URNAI4Mw7PDiMTAAAAwUlEQVR4XoXMtZLDQBRE0bbGnhGCkUFmZlpmZmZ+//8PaynYZAOf8FZ147/hpigWhCaE0LRQdQWVNWJKsM6YnN1jjHcQ5fbx4PSspjeulvSQTZCUMu5KTXiQmQc5LxGNYOF12kLbDZnPbq+fMMJjMhB2JxPswJoRT1JQWp6HyCrM9Q0i4ll62kq6H4lthZPH2VVh7h8cknoUP4nFUur5RQRRdpm7vrkNuO5zD4TH9HPcefF73lJyGnj/8P35+v7BQr9coh6O8+/SagAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/file_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAATxJREFUOBGVk79KxEAQh7P5Y+sVnggWFoqIglqIiKWVeO/gm9x7XGmnXuUz2Nja+QCC7WHhnbrR9ZswA5u7ROPCj90J8/1mdpIkSbdVaNpelmVjzn2N8y54BRdFcQj8ikKapk+APYHTPxykgkdrIYRV9srMObeDyQPxCmpd1vYmVT/RLZm77FMUVHdttMHbJE4i4BpA5vCG3rnWUZNBE+wBpAupfJPn+TnwSVfYQDGpWgfcUHgpNmmqPA/PAPabYHuf8Z3n4am8SoWtWBUavEWLNrDOsBomfeAPveO/4AyHZaZ6zO7QAfpGAUlnMz6YU+/9I2dpWz6qhSX3/kIDNNIuZNqtd645UP0sgi44X0lMkk27NrAaLAEtDiMDqTzg8bom2oA1XNwcwCU/ivwc92VZPpPygiZI4BL9un4AmbBjC+2VBXIAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/glyphicons-halflings-white.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAMAAACY07N7AAAC1lBMVEX///8AAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAAAAABAQEAAAAD///8AAAD///8AAAAAAADh4eEAAADGxsYAAACzs7MAAACqqqqenp6Li4sAAACQkJAAAACKior///+FhYUAAAB7e3tycnJvb2////9oaGhkZF3w8PD////h4eFXV1e9vb3b29vV1dVTU1NRUVHDw8NOTk65ubm0tLTBwcGwsLCioqKfn5////+YmJiVlZX///+SkpL19fX6+vrm5uaHh4eEhITi4uKAgIDV1dXe3t7R0dHNzc37+/u+vr7CwsK7u7uRkZG1tbX///+rq6vz8/OmpqakpKTs7OyhoaHp6en7+/vh4eHb29vV1dXPz8/MzMzHx8f////l5eX8/Pz///++vr68vLzy8vL8/Py6urr29vbv7++1tbXp6enk5OTn5+fe3t7k5OTc3Nzf39/a2trS0tL39/fV1dXs7OzIyMj////ExMTJycnHx8f6+vrFxcX39/f19fXy8vLr6+vm5ubk5OTw8PDMzMzd3d3b29vZ2dnV1dXT09PR0dH////9/f3b2Nv4+Pj29vbo6Oji4uLg4ODa2trZ2dn////7+/v////5+fn39/fo6Ojx8fHw8PDu7u7w8PD5+fns7Ozu7u7p6en29vbn5+fl5eXj4+Pg4ODk5OTg4ODx8fH////m5ub7+/v6+vr4+Pj29vbz8/Px8fHw8PDs7Oz////p6eno6Oj////8/Pz6+vr5+fn09PTz8/Px8fHw8PDt7e3r6+v////7+/v5+fn29vb09PTy8vLx8fH7+/v////6+vr+/v74+Pj7+/v6+vr39/f29vbz8/P19fXz8/P29vb////+/v79+/35+fn4+Pj39/f9+v339/f4+Pj4+Pj////9/f7////9/f39/f35+fn8/Pz5+fn8/Pz8/Pz////9/f38/Pz////9/f3////+/v7///8rEe1wAAAA8HRSTlMAAQIDBAUGCAkKCwwNDg4PDxAREhITFBUVFRYXFxgYGBkaGx0eHyAhISEiIyMjJCUmJicoKSkqLC0vLzAwMTExMzM0NDY2Njc4Ojs7PDw+P0BBQkNDRERERUdJSktNTU5OT09QUFBRUVFTU1RVVlZXWFlaWltdXV9f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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/glyphicons-halflings.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ac3.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/accdb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ade.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/adp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ai.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/aiff.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/avi.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4YmIzNmE1ODj/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NDwobHQ4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHAABAAICAwEAAAAAAAAAAAAAAAgJBgcBAgUE/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAIBAwT/2gAMAwEAAhADEAAAAYmjy+4AAAAAAAAAAAAAAAAAzHb2zHBKDzNyOTKsWmuGy9aANAAAsOlFF2UXo8gVEU81+jd8XoSsqzWsrn2COoAAE2Zh0xr5XV+dTR0qZc49GdHSwuvQzQygAAAAAAAAP//EACUQAAEDAwMDBQAAAAAAAAAAAAUCBAYABwgDMDcBEBESFjFQYP/aAAgBAQABBQL8pFBRglqNYRKFJ9iSLw7hMpQmUjSo5z0+SYE23huziXxz3yWZuSD+2UWFCumS3EmziXxz3uQpCLlVktxJs4xlgzSLtXLPUT6kU7csdJOUJMU9q2EwIMKviRFv7KbflX1X/8QAIREAAQMEAQUAAAAAAAAAAAAAEQABAgMQEiATITAxMkD/2gAIAQMBAT8B+J5Ms42Os/azu4CpeNZUupXCsGAUYjt//8QAIBEAAQIFBQAAAAAAAAAAAAAAAAERAhIgITEDEBMwQP/aAAgBAgEBPwHxMpKtcONmuamaUjOQmu4q9f8A/8QAORAAAQMBBAIOCgMAAAAAAAAAAQIDBBEABRIxITAGExQVIDJRYXN1gZGysxAiNEFCUGCTscHR8PH/2gAIAQEABj8C+lFCFBelBBopY0AduVqq3uY5lv8A+29run7q/wCLVSLvkcyH6fmlktTYT0RTnEKtIPblamZNt/JEbc0TGlOBw0VQ5Kpyaqb1kvy2uBsYu1jBuiW88lOI0+FJr3WRIWBeF5jTtzidCTzD+m03pWvGNVN6yX5bXA2EKWtKE7okCqjTNqg9E3pWvGNVKu2VOZhyXJheTtxwgpKEDPL3Wq3LjPDlQ6FW46e+1XJkVkcq3UptdUeJNZmORFOKcLRxAVw005WbiTtsvK7xoCifXSP322kSIsxl9DzzQArQ1xA0pnXWcY9/yr//xAAmEAABAwMCBQUAAAAAAAAAAAABABEhMVFhMEFQYHGBkbHB0eHw/9oACAEBAAE/IeVItpkOsSZ3d0JSG5PoEyGyZwSD8wI89AgBjVgcmwUJIgDAACYxYGwmwdecNrZpixrQMUWACanZ8ILqfCmv2zX4n8AB3Op2GJZ2IHI5VNkDH2iVG8PSikf1TPoHLUIbL2JLBHZjyQV7OaTmgzTFVGka8J//2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAAASQQwAAAAgMwgAAANnIYgAAAAAAAAAP/EAB0RAQABBAMBAAAAAAAAAAAAAAEAESAhMTBAYXH/2gAIAQMBAT8Q6QMM9IJsgHV9RRdgw+4ZOEKHH//EAB4RAQAABQUAAAAAAAAAAAAAAAEAEBEgITAxQEFR/9oACAECAQE/EOENtLT2Ee78OTcOFJVYIrtXT//EACIQAQABAwMEAwAAAAAAAAAAAAERACExMFFhEFBxkWChwf/aAAgBAQABPxD4oYfHPZEeFB6LkpK2fQDGKCSaI4mIgYSlwJuEmJKTEABMrg81O40zKyIykS8vNzWpiYrlPBLsgsEwYWCgbuhLC5cIcnIOuK07CRYi8jEqBupvqFbCWvOeXHqGLpIz6ehAwhpJPbX3dodCMq/tUmhpfjiAWUwXTUWdJlPaX//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/bmp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/css.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/csv.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4ZmEyN2IxZjX/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYEBAcFBwYHBwcGDQ0PEQwKDwgLCA0NCg4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHAABAAEFAQEAAAAAAAAAAAAAAAIBAwYHCAUE/8QAGwEBAAIDAQEAAAAAAAAAAAAAAAEFAgMEBgf/2gAMAwEAAhADEAAAAdOqU8v8ykiRJESREkRJESREkZJpCcGsGABXJ5yxd6HnxAIAXLdxspCcEAw6P6AxnYt17jIPWwfKuu24+wzpXUlb5bC9L9gcgclXQc9cuW7jZSE4IBh3TjeSeJcezwzsjjTszb0a21HtzUeOr1uK+1OK+ChoOOnXLdxspCcEAw7pzXQvR137rxM8+251Wmp9S+Vhdd5ncnGe8tGclSHNWrlu42UhOCAYKVH355rRlt9fyDHWCAFy3cbP/8QAKRAAAQMEAQMDBAMAAAAAAAAABQMEBgABAgcwCDI3EhMxERUWICFAUP/aAAgBAQABBQL/AAL/ABz3+P1x/nIaNMOKKoOGxDj1JHx5OPDY5G0aYNWKONbFFNl5tYG0+v49fNHh6cvH2ZYTaSzQqOFojVPeYSR3GsDmunccSjopYUtsnLu4OnLx91AslMFBHqkm0KMPjiZLVTwylFvffL7Oy7uDpy8fb8eqZVE75x3aVGE5VcnqpOTXi3pLY7Oy7uDpy8fIhRtpjsMKzLUJTzSGHR+SpfWDHJaMN292+zMu7g0sbEMIyNLA3FJ5Y5Y1sN/Hkpp9yitNzYZtbjZrukshsgkaNHnK7wv/AF//xAAmEQABAgUEAgIDAAAAAAAAAAABAAIDBBAREgUTMUEhMhQVUXHw/9oACAEDAQE/ASQsgsgsgsgsgsggU/mrWOPhvlEG9jVifzSQlpUS7XvHKY+Hltt6UxKy+/Y28qegw2i8OjE/mj8PqxmtH9SX+3ajGJ8kc9/harfv+4oxP5pp8SWdLta7zZNgQw/db2o8zA37nr9rUI0NwsyjE/msOPEb6GycSTc1Yv/EACIRAAEDBAEFAQAAAAAAAAAAAAEAAgMEERIgMRMUITJBMP/aAAgBAgEBPwH8wCeN6eOLphxQLb4hPijz8qdjR66m3a+VScG/Kfl1FV607ozGAfiDBfIJ8jM1UPafXZr3DhE/dP/EADkQAAEDAgMBDAcJAAAAAAAAAAECAwQAEQUSIRMGEBQiIzAxQVF0gbEVFiQ2YWKhJUBQcXKRk5Th/9oACAEBAAY/AvxawuT2CuRwya6O3ZG1ORX2yzIZNloJvzhnyHpQIeU3kbIA0tQ+zkvkdbyiv/KszDjMD5GwN7EJCt0GDxFOruWnV8caCvenAf5Kd4NjmDz320FzYtOcYgc0rvbnkmhhBk5Z6lZA2W1DXyplUpTntBIQltOZWlMyMjjQeSFhLgsqpDcjBnpEpKuUcGHFwHTtrJKwp2S/t3DnEDaaX0FMKgw1Qm04c+FpVH2NzR5lXe3PJNQ90UcZXoa0pdI/Piq/fSm5K0q9G4c0hSkno/T4q+g3nmmdzjkthBsh4SkJvRbYwByc1whw7QSUo1vqKiqlYarDFpwx8JQXQ5cdtHmVd7c8k1E3ORjmk4gpO1A7L8VPifKlYa6s8AnpQnOejXoV4HTeeVGnYQ3EJ5NLrKiu1ExJuFNR+EOaPMqUrNm1qLw9+G+6cMf2ZjoKRajzKu9ueSaOOEyXZuYq5Rd0Xtb6VHU467HdjXstsC9j1Uwwt5UlbKAguKFifjT73rPiULOb7Bt5ISK2nrHiOH+0ODZNPBKenp8ajI9KysVz4a+c7ywoj4UeZMGU64y6X1OX2ZKbG1DZYpDWT1FzKaulSVDtBvvYgy/uc4ZIQvjvcJKb6CvdIf21U67B3OJhzVtKaS6ZBVa/OXakvsH5HCmhbE3nAOp4Byn5z2TbyDdeUWH3j//EACYQAAIBAwQABwEBAAAAAAAAAAERACExQTBRYaEQQHGBkcHRsfD/2gAIAQEAAT8h8gY4444444444/NgJRbMZixgwB87RA0ACBT5FtSlZ69ATsTmDCH+Vb6QDElvDx7Skg3aGrV5ONYdx5vGn4PrvogGA1cLVrH7bBRKnFP2BCKURBDDvWC/6bB6FYaV7Kr3k4Xt6aVmdjS8ZlCGo3tVPUQ09ReAB7MBaUmnANXUysz5LU7T4dbV0nY0vFfCV44DsDxyhY4lpMH90uD4U8TNyZlTkv6gEXl4n8252NLwXAwUiJCCwtWkCq2HBfsrBZYCJ0bmCANjFxQDv3hUImGIvvuhXbF2tCxmdjRDd7UmJZnG0MBboT4SjHWvCDwBDDist5elINskIzI/AUaQ30itnBMaWMhGxsDuvcJSQpq+gPMf/9oADAMBAAIAAwAAABAgAAAAAAgAAAUIACkAAI/U4CkAABFdUCkABqJfUCkABAIMACn/xAAjEQABAwMEAgMAAAAAAAAAAAABABExECFBIFFhcYHRkbHh/9oACAEDAQE/EArHX/8AgMaIyygkBqxrD7A7907T4JyymShzO4+vdI1h6QN3hG+cJbh8XCP1GwF8mZjZSNYj4JvyjEDFb1CWfVABXuTnjfqkdFcjJKN6xX//xAAgEQABBAEEAwAAAAAAAAAAAAABABEgIUEwMVFhccHR/9oACAECAQE/ENM41kQQWMggItdYKpZaFAxA0u4zWiYZ88J1P36jYAgPMV+cefiAAWlu1kQl2Yf/xAAmEAABAwIFBAMBAAAAAAAAAAABABExcaEQITBBUUBhgZGxwdHh/9oACAEBAAE/EOkii6ouqLqi6ouqLqi6ov1dA5agr904cjR7+N7FAMCOJgIcGQDkd9QdcfN+iDkwE3wSiFQr40YtMe/RtUDx5HLd6dDM/QoK4AGM8XqG+6EghzBuDswaiQFh4fpAZbag7qjE2gxfRvLyjDdKSLRAAAAw2AVY9Mo6MCjkbh+stWGOntAE5KvISSYHLeC7gJxXA7JUF5W3WpGpTGUQNoCTzXCoAmcoo/CL9ibKkg6QE7mwRrSEUDoJmFCpiK6KGkaDvNd69yCNhNS5RaImAHYIl3tRBA4QZpkC3YlE+bSEgxY4IX8mllFFIPGkqCnwCkCNG0dR/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/default.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4ZmEyN2IxZjX/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYEBAcFBwYHBwcGDQ0PEQwKDwgLCA0NCg4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHQABAAMBAQEAAwAAAAAAAAAAAAcICQYFAQIDBP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAc/wAAAAAAAAACQCP01iFE1iFHq+UAAAANYsndYiy/ysfFl0PzpZORn5Wiy9aAAAABrFk7rEfz8X2nOnmzn48iGaNaLL1oAAAAGsWTusRKX65OB8hQoJWjseOAAAAFo6uC/aggv1T3hwAAB//8QAJBAAAAQGAgMBAQAAAAAAAAAAAAQFBgIHCBYwNwEDEBIXQFD/2gAIAQEAAQUC/qtNEcKmTtF6i0XqLReotF6hbLGyapipG0zFFBxz79Y9+sQ8w8irbdOKkbTMwWwz1B32WwBZbAEoUdCSC1W26MVI2mZhI0ujTwt6Uot6UolAntUgWq23RipG0zMItK/sd6QlSgNKVlMcMhHRUjoq23RipG0yut9snVVGbrXKKfirbdGKkbTPjkTAWiyQgP1SOKzoxSeeZhDa30yIfTIh9MiEwFU+rr/5v//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8BQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8BQ//EADgQAAAEAwQGCAMJAAAAAAAAAAECAwQABRESNXSyEyEwMTLRFDZxkZKUleJBUVIQFSAiI0BQYbH/2gAIAQEABj8C/lTuGMrcvEEzWDKFoBa/KLgdeMnOLgdeMnOLgdeMnOLgdeMnOFWTpuq1dIDQ6agUHZtsStmilooD2xxk744yd8ahAeyHmHRybNtiVs0O5i9m7ls+cWdImV6mQAoUADVSu6L+d+oI8ov536gjyh8SWvlXpXRiiqJ3BFaUrTdDzDo5Nm2xK2aHjuZTFqhNFrOnIaZAkPCABq7Ivdj6wWL3Y+sFh8EldIuk1zF6QKbsHGsK0h5h0cmzbYlbNDxSaqsCzcbPSAO6UIbhCnxpwwkzb/d7h0uNlNMj1aoj3xcgeZW5wunL2QMyuhAyv6hj1pu31h5h0cmzbYlbNCr51Jmjp2vTSKnAajQKf5CL1vJWbd03G0moUBqA/a8w6OTZtsStm/Ad85XN9KKID+c5vlDmaubOmX1AUu4ChuDZjKhlScwRBUVEzafRGCu8PjHVovnvbHVovnvbHVovnvbB37k/9JJBwEL9Ift//8QAKBAAAQIFAgQHAAAAAAAAAAAAAREhADAxQVHB8BAgYfFAUHGBkaGx/9oACAEBAAE/IfNbYtYKrigVMUUcvbt27MyHdSij5DjIMyRQhFiEdix2LCwz5LGwYTNDjFOuY4VAFzfiePLVv9IQoBFU1xG0YTNCg4MNyK6CNH7G2NY2xrBi8YAAOqjE+sbRhM0OSt5yvACxaHpVkJFTgSgXVAKICKhN0zG0YTNLdiAIH6DkKaTJtGE7SgxeXwLBHU0AgrIlABBie2M1l9VNLQjLfikl3TDJ6Ply2pcl/D//2gAMAwEAAgADAAAAEAAAAAAAAAAADDAAAAABJDKAAAAFHMKAAAAFACKAAAAEAIAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8QQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8QQ//EACYQAQABAgQEBwAAAAAAAAAAAAERITEAEDBRQEFhkSBQgbHR4fD/2gAIAQEAAT8Q81prSTbQrSHhAUKFCiulWPDoQghQCKI6cbQSjgou4GzKKNRt0OELJWXUQHMjK6JCPuAZ/frq2YBtIsCNzCLauQCQb0OWn+lVzhwwFoxHyoyKK8nTVyAQ9Bj4KLDZ+WNj7C/A56ZHlNNw3CYALEoq1cgG9XsCbXA9C1XFV4LIAu3mBK8SpVDzjXff1xk35KnDBR26aah7uHT/2Q==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/dmg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/doc.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/docx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/favicon.ico</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAABkAAAAhAAAAIMAAAA3////AP///wD///8A////AP///wAAAAADAAAAAwAAAAL///8A////AP///wD///8AAAAAsQAAAJQAAACwAAAAzgAAAH4AAAB9AAAAkwAAAJAAAAA7////AP///wD///8A////AP///wD///8A////AAMDA2X///8AAAAAKQAAANMAAAC4AAAAqQAAAMIAAADxAAAAsgAAAB4AAAAzAAAAMQAAAAj///8AAAAABAAAAAEDAwNh////AAAAAC4AAABu////AAAAAAL///8AAAAAYgAAAP8AAADtAAAA9AAAAJwAAAAI////AAAAAAH///8AAwMDYP///wAAAAAoAAAAbf///wD///8A////AAAAAFkAAAD/AAAA/wAAAL0AAAAK////AP///wD///8A////AAICAngAAAAbAAAATQAAAHz///8A////AP///wAAAABiAAAA/AAAAOsAAAC6AAAAawAAAHcAAAB6AAAAfQAAAD4CAgJnAAAArAAAALYAAABK////AAAAAAP///8AAAAAZgAAANwAAACvAAAA/AAAAP8AAAD/AAAA/wAAAP8AAACy////AAAAAIQAAACB////AP///wD///8A////AAAAAFwAAADMAAAAawAAAI8AAACcAAAAlwAAAIwAAADYAQEBtv///wAAAAB4AAAArgAAADAAAABFAAAARwAAADwAAAChAAAAp////wD///8A////AP///wD///8AAAAAfAEBAbr///8AAAAAOgAAAMYAAADpAAAAqwAAAJsAAACjAAAArgAAAFv///8A////AAAAAAEAAAAB////AAAAAIMBAQG7AAAAAf///wAAAABOAAAA4gAAACb///8AAAAACgAAAAL///8A////AP///wAAAAABAAAAAv///wAAAACDAQEBuwAAAAL///8AAAAASgAAANYAAAAe////AAAAAAH///8AAAAABQAAAAcAAAAGAAAABwAAAAj///8AAAAAhwEBAbsAAAAB////AAAAAE4AAADTAAAAEP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAHcBAQG4AAAAAf///wAAAABQAAAA5gAAAEAAAAAZAAAAJgAAACQAAAAkAAAAJAAAACQAAAAlAAAAJgAAABEAAACdAAAAwgAAAAL///8AAAAAOAAAAOcAAADYAAAAyAAAAM0AAADMAAAAzAAAAMwAAADMAAAAzQAAAM0AAADGAAAA8gAAAKIAAAAB////AAAAAAgAAABIAAAAaAAAAGYAAABmAAAAZgAAAGYAAABmAAAAZgAAAGYAAABlAAAAaAAAAGEAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/fla.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/flv.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4OGUxZGRjODD/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYEBAMFBwYHBwcGDQYHCAwKBwgLCAYNCg4KCwwMDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHAABAQACAwEBAAAAAAAAAAAAAAEECAUGBwIJ/8QAGwEBAQEAAwEBAAAAAAAAAAAAAQACBQYHBAj/2gAMAwEAAhADEAAAAfPx0H9QgoAAhAKABIMGYNAZREo0hgCUrUlElETPcYnatxuH5zzvSQcL6MGISaNSKAC2b1q/Q/mehdU0h360/wDo4rzinXvUg1AgZgll4mwn08Vz3ofxp9zXnPXadd9ZCQyhsDCS0laEqgyhRLQT/8QAHxAAAgIDAQADAQAAAAAAAAAAAwQCBQEGBzAAElBg/9oACAEBAAEFAv4iGM5lKruMV/rWhMd/RahKuT6TZVUde9eAJY+dTPZDoXxHC16LxnNjUVop65K2pPv1cwD7v5qjOWfJKM4nesWGEda9eBlXExsmw06wdodZftvyP//EACcRAAAEBAUEAwAAAAAAAAAAAAECAwQABRARBhITFCAhMDFBQmFx/9oACAEDAQE/Ae7etqqKFKXOf1BsbLKOtBgW4QHjljyZ6bTak+cYEVWKrtjkt91Gs5fmQaC4TDNaJZK3r5/vX4WAIAoB4rYK/seuHWP/xAAkEQAABQMDBQEAAAAAAAAAAAAAAQMQEQISIAUTIQQVMUFRYf/aAAgBAgEBPwGGgQ0NA4YjaMCBMVJnwQ7ZTSneqYl+RAgaShKm4foatTSZXkbTh0qd6lngLrpJI7SQn6CacP3H/8QAMRAAAgEBBQQGCwAAAAAAAAAAAQIDBAAREiExBRMwUSIjM0FxkVBSU2BhYoGxwcLh/9oACAEBAAY/AvcgKAWY6AC++0lU1BPHBEuJmfo3DwOfGipolxyzNhUWU4FlrCvWTsM/4LbRoDWRGrkhZBGuZvu+GnGqNrOt+e5h/Y/i25oqeomqKo4S8S37pe8+Nmimikhm1KyC5s+KkSKWkkYKo5k2paP2CdI8z3nzsQdp0V4y7UWqZ4ZY5omRLmQ3jTiYYoZpm5Ihb7WXadZHu3TsITqPmNnRGuq6vq4uY5t9ONtNpZoolKx3Y2A9azYJ1rZ+5ITiHnoLPVzHpHJVGka8vRP/xAApEAEAAQIFAgUFAQAAAAAAAAABEQBBITAxUZEgYRBAcYGxUKHB0eHw/9oACAEBAAE/IfG30G/bz70tz2EkvS9JFYeRSVk2bZzPTj7v4u9qC0lYhdj4OamARNNQGrlHhfrv/OlxIJK6H+ODRJ9G73g0Wh7tqKpMWXEw75D0NCoUuqIDloXowgev7ymjy0yLvNFRYFWMZJ4OuVGarp+yoFcnEqkbAxgFRgSmOr8B5SnNk9KiWHdWB04x47mgq+v3aD93c5DaufIF8r//2gAMAwEAAgADAAAAEA8AwiQRwgogQBQAwFklCnAwRAGwhHIgAAQB1sQQAQSE2wAWAP/EAB8RAAMAAgICAwAAAAAAAAAAAAABESFBEDFRYbHw8f/aAAgBAwEBPxB9Z4XcNF8kHTB7HBcR7FsyOYHBhrRVoYWRBDzaX8GfYbEZ2RyI9DUNz8BmgtXAVphEUbIW8NRO+r4XoXTESyPgs74aq2EtOEpy/8QAHBEAAwEBAQEBAQAAAAAAAAAAAAEREEEhIDFh/9oACAECAQE/EEn6M/rEzFhLgSfBHcrhXqPo67jgF5KcI+FDYca9ypusiIhKHHdLHXojI2z0U+f/xAAnEAABAwMEAgAHAAAAAAAAAAABABEhMUGBEDBRYSBxYJGhscHR8P/aAAgBAQABPxD4AGFFW0lDaYOvT/twwqLhhNphHQ10jTEMbs6QBb9DywsKOcpwq0lH0EVc9nQapNgElgJsUIkYJJQm8E0CTBImVOhtxsYCJ5MuyyGX0c+fBP6NShYmRYQxCDclgNgF5KFvsjIP+BiTUBMYwjIMOXKTysx683G+koqi6m+qKG5jGUwyvTAw+YGSF1FlOMLEdnRvzpBCKFB7jS4I2n0EYzjRD5Rmh1SiI9EfE7qFXZVxS2sftQIfwMYUSDekjm28gQXIHl0xkcGA6FFzpWm3bQBtP//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/folder.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHoAAABbCAMAAACLd2FFAAABKVBMVEUAAAAAAAD/vwDmswD/0Ubo0QD/vwDrxAD/yEn/20n/zFX/z1DhtADxuAD/00v/0E3tvgbzvgDtvgD/1U7wwwXmugX/00//1E75zS/5zTXuvwL/003vwwX/0Uz/007/003rwALswATuwQLvwAL/003/003swALsvgH/003/0kz/1E3/1E7svwDuwAP/003uwgP/1U3twQD/003/1EvxxAP/003/0k3/1E3/1U3xxAL/1Ez/1E7/1E3/1EzyxRbyxhXuwALvwALuwQP/1E7wwwP/003/1E3/107/2E7/2E//2U//2k/uwQPwwgPzxQPvwQP1xgP1xwP2xwP0xgP/1lD/3FDyxRT3yAPzxQH/1VD/1k7uwAH0xQHwwwP0xxTxxAPyxQP/21D1yBQJol7HAAAARnRSTlMAAQgKCwsMDQ4ODxAREikrKysrMTM0OjtRV2htbm9zdHV2eH6VlqWtr7G9vr+/xMTGx8rLy83Ozs7Oz9ni4+ru+Pj5+fr6VNKs+QAAASFJREFUeF7s0McKwlAQQNFEsYGKPSoCFtBNxAhuBIl9Ny+92Nv/f4Tr7PJmtnN+4MJVUBhjjDHGKvWWtEZZocuN13vfkeTvVsMMtZyfWa4AacKzplliehALQHl6fVq5sHAAyZ3TlrdPNiDZhxopPfkA2ntEKavLyx3toRPKxe72FaH9zJ6W1CylLXeMc3AlCL5h0tHQ0pWrm/D2Z2+OcQCCgiiK2oEFaGnoCESi/cn8qTX2vxBbeJKZaO7ZwCmhnvtqpbr3Es4HqZ5rfG2LVG8JdT2les2oD2pqauoPqKmpqampqampqampqampqff/6imhtlGqO4+v33nLMhADuDS8PdypCjy8NbkZiAIscnrWVAV68iwMwwmMglEwCkbBKAAABQlyN0bunVUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/folder_back.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHoAAABbCAMAAACLd2FFAAABfVBMVEX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8robnAAAAfnRSTlMAAQIDBAUGBwgKCwwNDg8SExQbHB4fICQnKSssLS4wMTIzNDY5Ozw9P0FDREZHSUtMTlFSU1dZYGFmamxyeX+Bh4iJjY+QkZWYnaCipqytrq+ys7S2t7i5uru9v8DBxMXLzM3O0NPU1tfb3N/h5OXm6O3w8vX29/j5+vv8/f7ItILVAAACHElEQVR4Xu3Vd1MTQRzG8Wd3Dw0BSyxECYixF2zYG/aCvURaVFCxNxCN5Hbvee1mclwGZ3ASx5tf/GM/LyDfeX6XmcX/y/M8z/M8z/M8TxmN9jAAlII8pbDx1FZAvq2B09/Ia/JtDVwkHXkFGqIMOm4zcnSs5GXbATIPaSMyYqUXWrS8olQvM2RJ9GMbdI7Rsl7+ugFacvPqp3HZsrILRrK86jnDuBweQCBZ7iwn5YWDkmWD7GTj2vtky93lRnmvbDkzEV/b0Q6iQ0GKBu7G5YgLhxBAKb3ILEshJQoYia9Ny8vIoDmV2it5lTZibPb19NSz8uTE+PjY2OgST2oe3bszcv3C2aGiSqmtcY4uKUdsxY10dhtss3RMRLYm/BNrrXOOPAyTyuj7DPlXLB9Ap7L6DC1bE9U4ZyscTmW1AkqsLv15NvVxDTRSoJF7z7C1v9nC/OyH6ce3+qGRCoP8l8WbO97cuX/H9uLAlv6+vkKh0PubzZvyPetyWQAaKQkwMBe3HV9m0ZTRSE2APT+S1+NdDiu1WZauUwppCnDExu0qX3UhgCCDo432i27p9tBiO+TMWtl2gGNRsvttTnr3cSbtmS4Y4Zv/TNqTCkq2PTjPMP7el6AhKcDuuXo74vx6KOF28TOrZMTvBWgIt3veMHRVfuqEgnS7e4I1J2EgLYA+PzV6Au1ggABQaAdlAIM2+Zd30fM8z/M8z/O8X6TrKJKMnIjTAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/gif.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/gz.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/html.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/iso.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4MWU0ZjQ0NzL/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NBwobDw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGwABAAMBAQEBAAAAAAAAAAAAAAUHCAYCAwT/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGSAAAAAAAAAAAAAAAAAA9+NQlbdjcYzXVW6a0MvAAAAA7HXeXtQnyqew8kmyvtBzhkTjrLrQAAAAkNnYh7w1ggJ8fhjs3HJx4AAAAAJOMAAAAH/8QAIhAAAQMEAgMBAQAAAAAAAAAAAwIEBQABBjAHFBATFkBg/9oACAEBAAEFAv4UdlKJDQL0qPnmfomYF6JBbKSTXx9GoasvPIMah0y1YEGx8ro6koD9Aw7oFIWCs9DYGV6eJ12TltZEJR4PpyHdxsKm8DXLC7Ky3TElWCSjSiOx8yRRAYypVnktWGSZmJYd6xdDqYesWo8zkzPi7LV2Xnov+j//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/AUP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/AUP/xAAuEAACAQIEBAQFBQAAAAAAAAABAgMEEQASEyEQFDBCIDJRUkNxgbHBIkBgofD/2gAIAQEABj8C/goRVLM2wAwHmkSkU9tsxxbm6nU923+/vBeGRKtR22ynBRlKsuxB6i1MiA1sovv2j08DVMaWrYhfbuHp06WMi6IdRvpvwaRmCogzMT6YyaFRo3tqYSRWDpIMykenCrjAsjnUX679IKfjRMg+/CqplNnmjKj545fk6jWva2TFLTMbvElm+fAqPgxKh+/SgqV80LhsRVEbZo5RceCWokbLHELnE9S3mmct08hBmpHP6k/OAYahGPsJseBM1Qin2Dc4yAGGkQ3VPz1tLm6nS9mqf3P/xAAmEAABAgMIAgMAAAAAAAAAAAABABEhMVEQMEFhgZGhwSCxQGDx/9oACAEBAAE/IfopxHM7kmij2kdwpcr1jN2mke0jOFLlFEczsQaXYmnrSxCZ718BWmsyR70RndPypBkPawkp+BBElGcFB3abc5IaYuJFEGxqFIMh7XQdg58aw62D4mCdmiOsgvxuEKGPMC9RGlgdA59nHvdYLOa5KKUf8co/xs5yuzF8J2INCNU9AaWCqfEe0QjHCMSar1wLgxXTY7KIx+R//9oADAMBAAIAAwAAABAAAAAAAAAAAAAAAAAABhBAgAAAAhSggAAACQACAAAAADCAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/EEP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/EEP/xAAnEAEAAQQBAwIHAQAAAAAAAAABEQAhMWFxEEGBMJEgQFBRYKHh8P/aAAgBAQABPxD8FPx9CxYBmXVFF8CodiB5mdytV9v40FF9SodKV4m9il8fQkWUZk36YUAKtgKBEY0xpBxzzNsHwIiskUaVcc8zbDQRCIlkfSBWqhIqBwknnotzEoAKNBRIe0zGY/uWfdamD0lIQ4CdBBioQAkcDY49JsBRMG/yj9+irmWgskOznS0ebznzEz+ybO8VHMXAlINJg0HQtgROXf5A+30xCAZlMGU2Eh9NPfhTm4U+vpo71RD/ACo9qXzC/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/jpeg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/jpg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/log.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/m4a.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mdb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mid.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mov.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mp3.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mp4.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mpeg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/mpg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ods.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/odt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4YzE3YjgxYjX/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYEBAcFBwYHBwcGDQ0PCAwKDwgLCA0NCg4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGwABAAMBAQEBAAAAAAAAAAAAAAUGBwQBAgj/xAAZAQEBAAMBAAAAAAAAAAAAAAAABAIDBQf/2gAMAwEAAhADEAAAAauPXvMQAAAAAAAAAAAAAAAAAJvR8f8AiWjZc85dljqzjjvtPyxpXk1C9KEMsQAAAAAAAAFwh7XJTc+/H5XnXWC5SnbzrrfRfztDWS36heO5yA26wAAAAAAAAP/EACMQAAIDAAIBAwUAAAAAAAAAAAIFAwQGAAEREhZQIDAxQmD/2gAIAQEAAQUC/hk1S7alpZxiY3cy5AWNBnBPAoeGF1a3iH9vs+e/TxdavQHm9PZjibaVvIczd6XbC3dn+HRK21samWY9ieUseG+ddQhlsx2UIJc7DA59hBx6Ob753+fqSzhXt3nj2ThMW/ZUHL2I8npozk3GihgJzbu25vh//8QAIxEAAgEDAwQDAAAAAAAAAAAAAQMCABExBAUhEhMiMDJAQv/aAAgBAwEBPwH6appHzF6iNFLg+FMjohxAk1K359aQjLqi7b8GNLTtgHfvenbqrCoCmM6jfHr/AP/EACQRAAEDAgQHAAAAAAAAAAAAAAECAxEABQQSMDEUISIyM0Ch/9oACAECAQE/AfTebfPjMUs3BAkQ58ppVwPNYApOaOrTxBxGzFLYum6VCnMRdyrh4imLM93PuGmm8oiZ0//EADkQAAEDAgIFBwkJAAAAAAAAAAECAwQAEQUSEyEiMdEjMEFRYbHBEBQVMlBSYnJzNENTYGSBkaHw/9oACAEBAAY/AvyNkjx3HrbzuTwral4ayfd0uY91XQqHJ+Vyx7qDbsGU2pRsNjMDWYYXKt8QCfGruYbMSkdOjzCrdPNWubdXkzMzJLB+Fw2oomM+d2GytuyFcKOhTHho6LJzq/37Vc4pKHykJ8K5aQuR9TX7HCmYbhaP3i9hFcpMhtdgCl8K1YmwT2snjRUhDMxI/BVtUl2c+pu+vQNb/wCeFZlQmcqd63lk+NKSpMYq/TZyf6omJIxNpXuushaO+/MaYxWJS0+oHrlAPXX24sp6mUBFX9KYhf66quMRfc7HeUFJZnNJYJ1aZv1KVGhaOS90vHW2ONZ5El189Sjs8PZH/8QAKBAAAQIDBwMFAAAAAAAAAAAAAQARIVGhMUFhcYGR8FCxwSAwYNHx/9oACAEBAAE/IfgxeSWNgZktUgwmN4qTExJSNWAVVsrIyMCHCHAhTCoFE1twSoOrPaeomKCDPYNkFBCU2O1FiXbjI/TYriBjEwSOwSCgdIv39UwYfCBiRN6OyaHAMLHSIfCIFEQZDEhmBijwVz7o5QWE/CgUribgMTEf19oRoBeoPJmlR08BOK9CQcJdQPVE+ux4uxFo0hkhghwM0E1M1pX8sh0h/9oADAMBAAIAAwAAABAAAAAAAAAAAAAAAAAAAAV2kAAAAAAwAAAA2ZkoEAAAAAAAAAD/xAAjEQABAgUDBQAAAAAAAAAAAAABABEwMUFhoSFAcZGxwdHh/9oACAEDAQE/ENmM79vCO6mQ9oVgCB9UNu8TYfVPvqpJAopTBcITEDhD/8QAIxEAAQIFAwUAAAAAAAAAAAAAAQARMDFhwdEhQEFRcYGh4f/aAAgBAgEBPxDZmtHxe6ugGEe9qR9BDdtAVOArIvinKHkZldTgGhR3Zd8P/8QAJhABAAIABAUEAwAAAAAAAAAAAQARQVFxkSEwMYGhQFDw8WCx4f/aAAgBAQABPxD8GfCpR7OiMCjzrAlGCx+kKoosywCrowKFWcLaeAnH+AGO9fLy0p7UXX0gFgHMhLE2HnwzWkLTabYPQeFHMWQFrQ4Pwvq9Ifr1detsE3BcF7RHJO3LvokcEbLUCwNJ99Dy7um/i8SWxD+kG4Y/BN4Z/WPrD+ZlcplZYOX/ANkyeavMsjfRUcvetD9Bw2NG+JiS8HtH/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ogg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4M2M5MTI2NDn/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NDwobDw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGwABAAMAAwEAAAAAAAAAAAAAAAYHCAIDBQn/xAAbAQEAAgMBAQAAAAAAAAAAAAAABAcCBQYDCP/aAAwDAQACEAMQAAABz6LW+iAAAAAAAAAAAAAAAAAAEyhtux4Wjc1ao6+Y4PAyUxbrLFDP0AAAAW7wvjU85WOfdBZ795cjjhN2oZZgAALvpC1Imt+lXKv6/r6ms+UF6PnWJdQSJoAAAAAAAAAH/8QAIRAAAQMEAgMBAAAAAAAAAAAABQIEBgEDBzAINwARUGD/2gAIAQEAAQUC/D4/ZJIS5/Cw6rOQABMVXbgvs3LEjWKMxGQiDDeatFMZRswX2byU7ATWtFSV5deu9cSjhx/YgEXIjpfyU7A2YGHWX8vT6onzkepKsibMRlaCZKPNx+82msrEtWpe/fckvj//xAAmEQABAwIEBgMAAAAAAAAAAAACAwQFAAESEyBBESEiMDE1QEJx/9oACAEDAQE/AfhyKhC1JQNrVHyE0mlZ2r1heklBIMwN9UxMMrNyQxc+FQHrg/KTTERwBplxXuzIW3mkYl4amWI1HNbpNhQv9e5//8QAJBEAAgICAAQHAAAAAAAAAAAAAQIDBAASBRMgQREhIjAxNED/2gAIAQIBAT8B/HbciEsuVbXEFTnv6hiOCuy9+q/fr8po/Hzzhn1FxVAGq9N4SGuRF85HRsM2gGVIdIRGe3uf/8QAKxAAAgEDAQUHBQAAAAAAAAAAAQIDAAQREgUTITBRECIxQXSCshRQYGGx/9oACAEBAAY/Avwez2ezmOOdu8w6AZrEV1dwv1bv1vHAuLMnAmTnbO93xNRWUVqs7lN45ZsU+zLuFbWW5GjduchqvLA8fp5CFP68ubs73fE0PTrQIOCOINR3EvG4ESxu/XAxnmLOkAgt38JJTpqzv2urWeKLOsJnpQ9OvNLTDVBYrvivU54CgAMAdjKDkxwIDzTO6l7W4Tdygf2hKu1bRQfJ30062rjaF34Lo8Kmu5nMk07amP2j/8QAJBABAAECBAYDAAAAAAAAAAAAAQARITAxQVFQYXGBofBgkeH/2gAIAQEAAT8h+DoDBSXqFGNE7MXeJaHE9To7ON5Ug7f2MFsRdxcyGzvFcQia519YvlSe95xij6BpeVt2i1kOqmHrN5xxDemcU8NYCVZrPe88Wjy9P4qECGoAY/QJ69eGhW3bNMRLZ2ZcrgMl3XhIxL//2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAAAENgwAAABAKYAAAABSqQAAAAAAAAAAP/EACARAAICAQMFAAAAAAAAAAAAAAERACEgMFGBMUBxobH/2gAIAQMBAT8Q7Ovwk+QcXEa33gVYMhhi5BcT0kAAIDHquRUZO/EsIRan/8QAHBEBAAIDAAMAAAAAAAAAAAAAAQARICExMECh/9oACAECAQE/EPT0fIMPBfA24yHSbDPknPgY950sLuLu1PJ//8QAIhABAAEDBAEFAAAAAAAAAAAAAREAITEwQWFxUFFggZGh/9oACAEBAAE/EPY+LJjSIPqsZvvvhte6vGwMC4HKc2dl10TE/XBIGJZgqNgx5hEW88STMRMUA1oon/WzXRXluiiQGR7GmmhlJSfkSeZ07oAVwBTGyGPehy1A+2TC8L51r9r79s8rs8Je18OH6qelO8XmTSjmxTuI9f/Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/otg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4NTIyZWFhMmP/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGgABAAMBAQEAAAAAAAAAAAAAAAUGBwQDCP/EABoBAQEAAwEBAAAAAAAAAAAAAAAEAgMFBwH/2gAMAwEAAhADEAAAAauPXvMQAAAAAAAAAAAAAAAAAO+90v2kpnaToOuR1fOXDvtN2a8vScZ0YQy+AAAAAAAAAJvovkVXN0RU7z7aPpevwPOv9qtidTviuVOO3yQ2YAAAAAAAAAf/xAAfEAACAwEAAgMBAAAAAAAAAAADBQIEBgESMBMVUGD/2gAIAQEAAQUC/hlwLJz10GglC+meh4TkokHWuygaM4d9Va1eGCF1lzqt49DNVo1hAM9Va7K6/cliwN80vxlNO/a7Wzr6XC5p5zjVW4ryzmYtlEDMpYxdqMmLj2qvH6M+akAtnRt/H7/QeS3TOITyDxdenttDWqkesmluX4//xAAmEQAABgAEBgMAAAAAAAAAAAAAAQIDBBEhMDEyBRITFUBBQ3GB/9oACAEDAQE/AfDaOP8AJiEMQ17Vcv2HGYhbVX+A69ZbLbFW8YR23Q7CIPD0p66jsg9Pi6NIDiiM7LDL/8QAJREAAAYABAcBAAAAAAAAAAAAAAECAwQRBRIwMhQVISMxQHGB/9oACAECAQE/AfTeKTfaoguTORvTn+Bl+ae9NfoSZ1105Dki8rBBfNvJUF4jia1cOhOUxHw2ZuecDaDIqUd6f//EADYQAAEDAgEFDQkBAAAAAAAAAAECAwQAEhEFExQhUSIkMDFBQkNQUmFxctEjM2BiY3OBo+Gx/9oACAEBAAY/AvgbNsx3pC9jabqu0EI87qRRKsnPqA5W8HKsUlSFjmkYVcIctSdoZVWC0LbPzpt4PNNzJLLfZbcKaxGUJwP31UN+qkJ7L4v/ALWelws3NZG5sRfj4UdHgstJ2uqK/SrVGGUHmmMFVcWIjavotZvqfe8ORI70p1VrZjs+d4f2tQhr7g9QDsCRrOAKBf8A5SXJT4hg9GgXH0rdGY6dpdwohWVTEXs0hKqJjZZizR2ShTZ9OALz0Iz3E+7bUu1P5qxpEKI2niS21jWOn/pRXtUxZaeXFFlBnXElnonDx+FLjRkpmSk6lKx3Io56Y6UHo0mwdUf/xAApEAABAgMGBgMBAAAAAAAAAAABABExQWEhgZGhscEwUXHR8PFAUGDh/9oACAEBAAE/Ifw1TZ3xegNgMi+qjFyLoOckckAxKLuqgSfZU6UTVw5zXauTKt3h30RAMiC/xVEseEd8iLzegFJhZgGZo8k8Fm/1CtjygdFBRdJbJHCVotQEBiAmrJMA7kIObtb+RAtjLdmAQbPmytpRUbfThzcCVTAjci6UksUdEfxQlyCc4izJOShIVqqB1oiAgJFp5VPTFen7kjdCjDpxQ7u7EW/K/9oADAMBAAIAAwAAABAAAAAAAAAAAAAAAAAAAD3DcsAAAAAAAAABv+60kAAAACAAAAD/xAAiEQABAgUEAwAAAAAAAAAAAAABABEhMDFh8BBAUXGBkcH/2gAIAQMBAT8Q2YAgPRkUY2XCEMXC6FzRS6RbAYE7QetEOpr5z6mYy3//xAAiEQABAgUEAwAAAAAAAAAAAAABACERMHHR8DFAYYGRweH/2gAIAQIBAT8Q2ZLlSJshMQ1PRRCIcOCiImS9WPJLXQgH/lZmNWWrHX2yy49S/wD/xAAnEAACAQIEBAcAAAAAAAAAAAABEQAhMTBBUWEQcYGRQFBgsdHw8f/aAAgBAQABPxD0NmJUnwG6tAWBjHayAE6JoHrXAjYBTOiKbpBAoBgRXOiVvKnL2HDGXaWGObBNBq5AhjpbBCQaOnbJq10fnIq3aQFilrtefWgHql9/C00XlPFRaPUlxmsidSUZcFnXvaCCvYUHu+TgUhMZxbzjrEf0ovCcLbuHLhkY2xLsVNZcCxu0UjhSwPogpDn95KMR25bea8lpgPEMBBgAIOcz8T//2Q==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/otp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ots.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ott.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/pdf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/png.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/ppt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4Y2FmYjYwMTj/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgVCA0NEw4TFRcXDRkNDwobHRsNHQwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAHAABAAICAwEAAAAAAAAAAAAAAAEHAgYEBQgD/8QAGwEBAAIDAQEAAAAAAAAAAAAAAAEFBAYHAgj/2gAMAwEAAhADEAAAAetJ+efo6EoQkQkQkQkQkQJMscoBAAjmT54jPCJBIERMSZY5AQumzey2brXH/hsmn7lsWu+Tuu5+nco61stY2bWVbZhWWsRMSZY5AQ9kVXalUdN5YuGqvQOXi11ot7+RcLL7GsrNrLR99CstYiYkyxyAh7I1zjW92DjPaDaNX8ma1s3Xce7JlWVxU7W2QVVxETEmWOQEAO+26s2bg8njGHmBHoCImJf/xAAjEAACAQMEAwADAAAAAAAAAAAEBQMCBgcAATA2EBMVFkBQ/9oACAEBAAEFAv640U8lUm1W1fHZiKgxMFbyejQK5VDqjanalxFbP1/VaupwVMqXhxR0NscuGmFbJpJ9UKSSb0uoAsAyx+tcOKOh5cpprvvKKoANVjOSSWyndZA9+5NYRzpLH61w4o6HmH2fm06m4zilUMQ640oKGHIZ+x72x+tcOKOh34uPJu7w4DR7t3IymNfY/WuHGrJXDawZIcvlwtDqb/LC1BQCBbfFtoE1lDoJ+7o0ZXvIZ+v/AP/EADARAAIBAwICBA8AAAAAAAAAAAECBAADBREgEjEGE4HREBUhJDAzNDVBYYKRseLw/9oACAEDAQE/AfRswA1O/KZnKNNaPZY+QnlUwSgfOte2ohsMwjrdOv8AfKscXFx7Lni4e7biff7/AFVnJqeL1iO/WsDXRmwb0lXdNOr+NQvarnZ+BtmXJcbJPJVeevgiy7YUE3D9v1rGuGuvdXke7dfxkS561QaUADQbP//EADARAAECBAEHDQEAAAAAAAAAAAECAwAEBRAREhMhMUGB0QYVICQwMzQ1YYKRseHw/9oACAECAQE/AewNwknQOgINqZRqYmSS+8kaRtiUMrh1XDdEznkpL6mhh/esVAILaHUjJyuNhBtVvIW/bFEkl84KmkIzSSI5SPBmXUhC8c5sic8M3v8Auwg2k25SYpyJdatWFpmUWSQGx8/sVFGS0hpWscbCDdmpTSO6URBJJxNxH//EADcQAAEDAgIEDAMJAAAAAAAAAAECAwQAEQUSEyEwMQYQFCIjQVFhdIKxsjJxchU1NkBQYmOTof/aAAgBAQAGPwL9Xs2y66f2IJopIKVJNiDtGZq5im0u35iEdhtXOEiR9blq6OBGSe3JerABI7qlFc/EUul1WcBrrvX3jif9NTZMKbKdcgpDi0vN21bKF5/eaDb8tphZGYJUeqg2nEGMx3X1cU6K4rkalZ5KCRmunPqoNvAFK/gcTuNcIvCj1Oyhef3msObV8LiEJPyKzTMmOFtlTmjUgqzdVQlrJUoAouewGwrlggTJjKoWiuwi+vNehEcw6dEfKg40Xkgbt9cIvCj1Oyhef3moIb1O6JGT55zamxOloDKDvzX/AMpmK2LNMpyilOOS47aUb7rFaVAIjspyNX9a4ReFHqdlC8/vNQZjLaFMsBGe6wNy78cpSseDa1OqKk8nOo33UtxjGBLeFrNaEprhF4Uep2UaI7LQy+3muFgjeomujlR3fpcB45Szj2GtlbqiUnq17q/EOF1iyftWJNdnNBpCGdp0c6U33aQ1rfbfH8jYp142CnllZt3/AJj/xAAoEAACAQIEBQQDAAAAAAAAAAABEQAhMTBBUaFhcYGRsRDR8PFAUMH/2gAIAQEAAT8h/bGCRssIJH5AyIIuMQ7f1AYbd0iYnh8CUNAhmYD3ZnDTgKGkcYMgPYtZz617QXKogkyu+FvJ7iK4MjjIjTTX1pBaERggthIq5erw++HU3k4yiR+CqEYLIkjAgkXq42memy9iCQ8LRf4S/wAxnpcVsOpvJxIo0B/KrLtGQV1QIOIJ0M+ecfCLwWrlDD0KJDZ79lh1N5OPxyREVG3q7v2dhuC4futWteWHULPVYNUtENZy9YKlrssiZ6p9kYDDIsS2a8sOgsUPCJFGgg7RCiZfwKC3FLYyZ/I//9oADAMBAAIAAwAAABAAIIIIIIigAAsMACqgAuS2MCqgDqH8ECqgD0CwsCqgBBAEACr/xAAkEQACAQMDAwUAAAAAAAAAAAABEQAgITFBUWEQMKFxscHh8P/aAAgBAwEBPxDt4IwEEMVFUAIBsB4vMNCeXzGw0ApjxBaIGE83A6Kl7dr+4xBTxi6Gzi8gNR0xx9TzaUi02YKRPQu+lbH89ZnfQrEaN6rk14EwiVH/xAAiEQACAgIBAwUAAAAAAAAAAAABEQAhIDFBUWGhEIGxweH/2gAIAQIBAT8QcYjEYjEYjGIxthBaOQ4YESeojvUP3AOz6gqIkho+YDHQWtUQxEsv8QAsSI1dWpZmOA533nj/AC4jPiaENgegv1u5m15LsHl0yKv3UzeB4P/EACgQAAIBAQYGAgMAAAAAAAAAAAERADEhMEFRYYEQQHGRobHR8CDB4f/aAAgBAQABPxDlFFFFEYjEYjzZKs/hQ9EQr/SZkiCrdbzW7WqLH0mP8QSO06IBu+UAlhWvhNUZgJuATNsmKWEVqu/NZ/8AkyGxhLdaCnqCCBAgsYETBIHtSgbG4GeZKEBVZaLx55tMjaHsaKHkBlR0FBTEDDwMCauW0bNnmAs2FXmGKRePPLuLyafGZZC1dD13cfoMlp1aqxFhBuMVSrRM8IkBIa+C8PPOA8cqF8eKIvzCYqd0qYHMrV28+fp1iJ/An12y1ewEton3z9xB3LRXN12cSfQZSLhf+mnnAtZbvzH/2Q==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/pptx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/psd.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/rar.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4NTIyZWFhMmP/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYECQcFBwYHBwcGDQ0PEQwKDwgLCA0NEw4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGgABAQEBAQEBAAAAAAAAAAAAAAEHBgUIBP/EABwBAQABBQEBAAAAAAAAAAAAAAAFAQIDBAcGCP/aAAwDAQACEAMQAAAB0ofNPfgAAAAAAAITQuqMNagqCoLZd+0M1AJLI29+38Xc7On5/k/UeUdB8hmnl/TmA+fl/BHjfS2yydgZ6ASWRt7ueG7mUi99yfWMm7VzHWcc2PHMOTLB8/8AX7ZZOwM9AJLI293PDdjJRv0LmvYc/wBw5Z3WOaTlUZvZwOEdYtlk7Az0Aksjbw16gAAWyydgZ6f/xAAmEAABAwIFAwUAAAAAAAAAAAAEAAMFBzABAgY0NhETFBUiNVBg/9oACAEBAAEFAvwoDTzxHp0mihym8ZEcpi7TzkiN+Ul2u7l1ANnGMt085IpT3HqqG5t085Ipbpgcqobm3TzkiknRsNTKqG5t6FztNz3lgIjCFzyvlgKorrDpH03/xAAnEQABAgYBAQkAAAAAAAAAAAABAAIDBAUGEBEhEiAwMTM0NUJRcf/aAAgBAwEBPwHuQtLS0tI5CqMw6HLOjN+Kpl1TMV5EQDhUK4GzA6InDsHIVb9A/wDFb/mlWp7m3ByFWWkyLw36VLhuY8mM0+CteWjNqLXPGsHI7Jx//8QAKhEAAAUCBgAFBQAAAAAAAAAAAAECAwQGEAUREyEyMyAiMDWxMUFCcYH/2gAIAQIBAT8B9GQ4ol5ENZY1ljWWNZYYMzRmd5PMYRES9NTGX+RjGqGhstkbSj3FT0muIeqz5k2j9d5PMU17q3+xVXSWYrv2VX8+bR+u8nmKdWRYm2pW24xt5DraUxlJ2P7it5sdWDqS2rP6fNo/XeTz8Mfrt//EADAQAAECAwQHBwUAAAAAAAAAAAIBAwAEERASEyEjMDE0UXJzFCRBUnGTwVBgYWKS/9oACAEBAAY/AvsXCaDEcpWkbqX9JCX2SC8eGnrwgcVkm72zx1o9MrJxA0ho5pBe2InFP2hNGLo0USBVpksXVEkbPML1NYPTKx8V72jb1RbDLDXz+lknyl8awemVjymvZwN+jZt7TXyr+LJPlL41g9MrOzkDizBvN3F8KZWSfKWsQ3HAbC4WZLSN8lvcSBnSmmccVRUXG4Rvkt7iRKq2627dEq3Vr9H/AP/EACEQAAECBwADAQAAAAAAAAAAAAERIQAQMDFRYfBQYMGh/9oACAEBAAE/IfRQokhIkBhHe/YCrxJIeI7lMSKroak5AW8Dxhhm7OiH6CBD/kFcTDKGqdDUmBVXooHbS7WajoakSsgM3Il+1mo6GpHSQVsJ/wBraReKaFlwbhCwEWzxPCDR3//aAAwDAQACAAMAAAAQAAAAAAAAAqBBBBiAAoFQMACAAoVXWACAAoURUACAAoAAAACA/8QAJREAAQQBAgUFAAAAAAAAAAAAAQAQETEhQbEgMGGB8FFxkaHR/9oACAEDAQE/EOSAhQUFBQVnqsrZAlCgh7v1Y1+XdrvVfeIDi9POvxtK3mxa71WaoklC+nCAb07I5EBOnQtd68N2/8QAJBEAAQIGAQQDAAAAAAAAAAAAAQARECExQVFhIDBxkfChscH/2gAIAQIBAT8Q6LsGW9b1vW9BMzhl1YCEkXIObd6NP0qczKbd7QpcP4v7RjGf8vbzJ9sva0hS4ZuWAE6RAJcKTdt4QFhmwjCFLodKH//EACMQAAIABAYDAQAAAAAAAAAAAAERACExQRAwQFFhcVCR8KH/2gAIAQEAAT8Q8G4cOHD1wokGhRmaGDZwgCKAlGoh/kBgABIiKKMwx7zfp7YWESy+tLPK8Uzbn8TBmjQdGYhRmlZEJDJmcKsFCmZ9PbCIJ008jD1OxTOzfT2wjWujhWXOFtBmn7DLJJ0DKYV4h6BBQR+JhPNn/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/rtf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/sql.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/svg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/tar.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/tiff.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/txt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/wav.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/webm.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/wma.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/xhtml.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAeqADAAQAAAABAAAAWwAAAAD//gA0T3B0aW1pemVkIGJ5IEpQRUdtaW5pIDMuOS4yLjVMIEludGVybmFsIDB4ZmEyN2IxZjX/2wBDAAIBAwIDAQICAwICAgICAwUDAwMDAwYEBAcFBwYHBwcGDQ0PEQwKDwgLCA0NCg4TCwwXDQ0NBwoODw4NDwwNDRf/2wBDAQICAgMFAwsDAwsXCA0IFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf/wgARCABbAHoDASIAAhEBAxEB/8QAGgABAQADAQEAAAAAAAAAAAAAAAcDBAUIBv/EABwBAQACAgMBAAAAAAAAAAAAAAAEBQIDAQYHCP/aAAwDAQACEAMQAAABjI+hvFQAAAAAAAAAAAAAAAAAAC3xCJJCXGAAAFXj7s/e+s81dfveZkx2S+o+1kjetV2dGknq2Q685gOxUQAAGzX4uiSlLmjPWtcUYZ7GuSo4c8AAAAAAAAAf/8QAHhAAAgIDAQADAAAAAAAAAAAAAwQFBgACBzABUGD/2gAIAQEAAQUC/Mc3XVDUfOs12WZDIkp0chgddti9d+dUoBUlNlF7RXZdUXhySSQjZu5ItTeksu2q3nElRltVoaI7YYhZxpumpMQenVpBGSsXgoQwmR2JssHkdJhBzjHLG3pFNblIx9r/AP/EACcRAAEEAQIDCQAAAAAAAAAAAAMBAgQRABIgBTEzEyQwQEFCUWHh/9oACAEDAQE/AfKFjK0SEd7tscbXE0PXTeSWJHSwNv75/mRgOIVBN9cNxDvKoJNScsnwAtD23TX42xpphLYlrASHsdqZkeWUfSWrxVW7Xw//xAAoEQAABQEHAwUAAAAAAAAAAAABAgMEEQAFEhMgITNBJDBCQFKRwfD/2gAIAQIBAT8B9Ig7A6pky+GV0qciQnTC9FMzi5HqDxHiGnzzTx0VJAVzcUlZkNQxTXRDWasy0lzrYO4Hu/fWVyxQV3gmKcNiKBdU4pyyQVjGCYoACIDt/wD/xAA2EAACAQICBQgIBwAAAAAAAAACAwEEBQARBhIUIYEQIjAxMkFh8DNCUXGRobHREyRQU2CCwf/aAAgBAQAGPwL+MXnSCrpkVK0Bs9KtwQQy2e/6fPpNpfAWmhGMydVc3d7vvh9PTIO/3Bi5XtDfRDM98d3j1ceQQEZIznVGI688WfRhZR+TXtFVl+5PmZ4xhanInRy4QMDDVegn/PlxxtChG6UU7xdS87d7uvoWOqqSXiwYEGjESYeOCrbdpBF4UPO2JpQsh4bo+MccSiop3Uzo9Vg5chXB2UUVmXNUwp6s47P3/rirrz7VSySy8O6OEYhFPTOqWz6qxzwNZcdIItai52wKL8SS+sfCOOIqaakmnAQ1SIoiCKc+10IuU1iGh2TWWqWHUFxpKa7rIJhbGRAsEst0+d/jyVdnUlo1de7We/OMtT2efbPIFFbqOmsqIGIKVRrMme+fO/xwTWMY5p7yMy1i/Vv/xAAkEAACAAUDBQEBAAAAAAAAAAABEQAhMUFxEFFhMIGRocFQYP/aAAgBAQABPyH+Yk3BgYoOxTBgavfpCsX+EX3mg+g5gyQkpQuQDIi0g+bBMiKAg+wkhyL/AKcESC3FNAQJpyLDOEc14rJ+DHMGvQJ9UDgJYPe6LleJdA1SyFxaRlFU+phrfGJaIYEVpH0MTjgGlanxA7RebOVFGbAZlFL2l0zBFSxdjE8c7vhZcSmX0ZymyoO4iShn6Q1KWNBitwZllvbQGeuahqL5AdebETv+t//aAAwDAQACAAMAAAAQAAAAAAAAAAAAAAAAAAAAFAAAAQLSJTAAAAADCAAAAAAAAAAA/8QAIREAAQMEAgMBAAAAAAAAAAAAAQAxQREhgZEgYTBAUcH/2gAIAQMBAT8Q9Q607dfc/nEEoEk5/nQMQzVPlmikTZAitg3falgnfUjPF6JrTIytkgjaqyohxXx//8QAJREAAgAFAwMFAAAAAAAAAAAAAREAITFBgSBRkTBAYXGhsdHw/9oACAECAQE/EO0BBYH5qsS0vr7N4R2NwmU3sItC/wBzA254gKmZl2I9YZcuwIfRy0rjshuM1gFmAgeKQUL4vihzAFAun//EACQQAQEAAgECBQUAAAAAAAAAAAERITEAQVEQMGFxgSBQYJGh/9oACAEBAAE/EPxjNs99HhJXJNdnxq1Kqwh5QUAKrAOKKqZEWLwh1ajR8i0RFYyRWUsxA78EbMmKgm6uvV5lhNIOz10A67E4LYwnKAA3rWodTiq5dLVpLEyspl5CIREYjvyIldRrAhhdONanO2o+AgAb0XoZ28zFBRdJNwt0qui+EUcMCgfcEe868IR8qv8AIiPpw4vDIESrRdrjahz3taB4TILKBxt5rPJK8NZIFYCzXk/rDFj+HfSxxS5+P6QQsCGvioKlKfL1SyV92//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/xls.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/xlsx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/xml.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico/zip.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ac3.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/accdb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ade.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/adp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ai.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHhkMDQ5ZDhjZP/bAEMAAgICAgIDAgICAgUCAgMDBgQDAwMDBwUFBAYIBxEICAcICAoLDgwKEw0LCAgMEAwNDg8PDw8KDBESHw8SDg8PD//bAEMBAgUFAwMDDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAbAAEBAAMAAwAAAAAAAAAAAAAAAQIGBwMEBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAfCAAAAAAAABWRioiiKIoksAAGWOQAbJvByOzpJzYElgAAyxyAO5/W9rXjh3SvldGOBgksAAGWORdu1DaDp+maL6x37DnHhNQBJYAAMscgAAACSwA//EACEQAAICAQQCAwAAAAAAAAAAAAQFAgMGAAEUMBU2FlBg/9oACAEBAAEFAvyykDyRT/HKVVOrFymK3sxKqA1Km2TxZqxKPBT2GgmDJ8YDaAF5CHwj7/W+tEHzjn+RHimfKne2stqiWLf631q2tymd10yLNbPCuFNyTML6b//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8BQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8BQ//EADMQAAEDAgMCCwkBAAAAAAAAAAECAxEEEgAFIRMwEBQiMTJBQmFxgbIVI1BggqHB0eHw/9oACAEBAAY/AvlZmkm1CtVkdQGG6mmdU6m+1d8acCa1FXOYWAlrajnnXTn3uY5u90UJtT5an8YzKidN1QFKInv5Q++IOhw3m4WrbqjkyLelG9psupKcvPORtrOrtH9Y9/RLbp3UWrJGg6xiqQBDbh2iPP8As4p/L17ykZIlAVevwGHKWheCGmkgK5AMqxPGQe7ZJxl+bNaiIPgrUf7vwx9Pr3jjzDSXFrTbK50GHX3DK3FlSuD2SptLlPEXGbhrOE5SW08XT2tbuefg/wD/xAAmEAACAQMEAgAHAAAAAAAAAAABESEAMYEwQVFhEKFQYHGRscHR/9oACAEBAAE/IfkidYxs2LmEz+hmjHIqRSEEIDcLPhwneeSBHY9UC08x4D+bFO52uRt9hikQwIuOKPhzDuOh271PdW28SWu5ocsTJgSGfqM1iGCUzqm8RD132UM08ShbkMkdgYoHAhQWbjq1BzaBRxfk1TRGqEG4cIi8fanDkXZL8BGzYh2ApUGoTkQix3q/wf8A/9oADAMBAAIAAwAAABAAAAAAAAADDDDDBAADwDigAAADwCDgAAADwzBQAAADwAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/EEP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/EEP/xAAfEAEAAgICAwEBAAAAAAAAAAABESEAMUGBMGBxUWH/2gAIAQEAAT8Q9Gq3jOryds48rmMj14BRCWCRsYCl8aXFNsTOmfzNeJtAoCCEup8sDmjaa59exGT4kpKL63UwpsWNtGx+ORTSwBfg+zyL4JNAbcip2AoOSSbj8OFY/wBzTt+jDWyMNaSfAOjDZz6PKWKgQDAxoI+IVXcepQ8rQ0UKh0YDpLRUvhlk/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/aiff.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/avi.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/bmp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/css.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHg0ZjFlYWYxMf/bAEMAAgICAgIDAgICAgUCAgMDBgQDAwMDBwUFBAYIBwgICAcICAoLDgwKCg0LCAgMEAwNDg8PDw8KDBESEA8SDg8PD//bAEMBAgUFAwMDDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAaAAEBAAIDAAAAAAAAAAAAAAAABwIGAQQF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABlIAAAAAAAAAAAAAAAAABwMrlDAs0lOmAAAABjn3ivxG5Q4puoet7JMQAAAAMchbYnvOilV0HYdIOAAAAAAAAAAAf/8QAIhAAAAYCAQUBAAAAAAAAAAAAAQIDBAUGADAVERQhNFBg/9oACAEBAAEFAvyztKKi4PKfxjtZwkCC2scs5RRjMpogExKpmSfa2q/arXXo6NldaC+k7bJkkpDWOWIpuGyklMeYkPb2JWOTRY5FWGShkvI/H//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8BQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8BQ//EADQQAAECBAMEBA8AAAAAAAAAAAECAwQFERIAIjEQEyEwBjJBwRUjUFFgYXFydIKisbLC0f/aAAgBAQAGPwL0I150tX4OTFTGYNk79wZm6jUeyo2OSeYS1ESqIuU3EKGZPDq/c4iYdJqGnlIBPbQ05hx0RYXldEKSUnUcEbJdU0rePoOJo2sWqEW5r73MYit0IgNLu3a9FYk85Qo7mMhcraj1ND+2yWw4cLPjb70niLc3dh+xgNCHUWbu1dDqeb0RcpkDNtflH82QZSK2IWpXqFtO/Ex+Kc/I81cmqh2CUhSRvEVUkHzHZEQ8DYlLqritaKqBpThglRuJ1J7fI/8A/8QAJBABAAEDAwQCAwAAAAAAAAAAAREAITEwQVFhcYGREFBgobH/2gAIAQEAAT8h/Bpvm/xJOzVbS1bcnZuC0OwAjnmQiow2MGM2WkIJBzTOc5gNL9aeaZEuKlACNHJe6vmlzEE84aXBYghhSPkR0+tG0Yx8WzRifbZIljv/AB8NDCeEAbO9nmra9sX4nyDHTUwe1LSpi2iqHpeq3msMDzkS9g8624pTQiXySbSxMx6rpShsELwuTGxkaVVlSqVbv0//2gAMAwEAAgADAAAAEAAAAAAAAAAAAAAAAAAAIFAAAAAJEDAAAAAEBDAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8QQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8QQ//EACIQAQEAAgEEAgMBAAAAAAAAAAERACExMEFRYXGBEFBgof/aAAgBAQABPxD+GRQyuDPd+8ABC95sGd+XqNHcC4ILkwKhYte8jTCcFt74XVU4N145Cpw20jIQeRFANlMAvTmjy9jALxFaztgGpFwtgdoxHenwwKCw8ecAWatbU/t7+OZjLAO0L3oHpOmIJXHOP/l1c/gZuIxiDHJh2gUJBqRtDm7sM1sXZwYAtFRvC/x3SeBzyCOtqYcAO58odVkwROsluCy+qGsI4d/gxiVAKAGj9STy7xMUOSSaH//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/csv.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/default.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/dmg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/doc.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/docx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/favicon.ico</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAABkAAAAhAAAAIMAAAA3////AP///wD///8A////AP///wAAAAADAAAAAwAAAAL///8A////AP///wD///8AAAAAsQAAAJQAAACwAAAAzgAAAH4AAAB9AAAAkwAAAJAAAAA7////AP///wD///8A////AP///wD///8A////AAMDA2X///8AAAAAKQAAANMAAAC4AAAAqQAAAMIAAADxAAAAsgAAAB4AAAAzAAAAMQAAAAj///8AAAAABAAAAAEDAwNh////AAAAAC4AAABu////AAAAAAL///8AAAAAYgAAAP8AAADtAAAA9AAAAJwAAAAI////AAAAAAH///8AAwMDYP///wAAAAAoAAAAbf///wD///8A////AAAAAFkAAAD/AAAA/wAAAL0AAAAK////AP///wD///8A////AAICAngAAAAbAAAATQAAAHz///8A////AP///wAAAABiAAAA/AAAAOsAAAC6AAAAawAAAHcAAAB6AAAAfQAAAD4CAgJnAAAArAAAALYAAABK////AAAAAAP///8AAAAAZgAAANwAAACvAAAA/AAAAP8AAAD/AAAA/wAAAP8AAACy////AAAAAIQAAACB////AP///wD///8A////AAAAAFwAAADMAAAAawAAAI8AAACcAAAAlwAAAIwAAADYAQEBtv///wAAAAB4AAAArgAAADAAAABFAAAARwAAADwAAAChAAAAp////wD///8A////AP///wD///8AAAAAfAEBAbr///8AAAAAOgAAAMYAAADpAAAAqwAAAJsAAACjAAAArgAAAFv///8A////AAAAAAEAAAAB////AAAAAIMBAQG7AAAAAf///wAAAABOAAAA4gAAACb///8AAAAACgAAAAL///8A////AP///wAAAAABAAAAAv///wAAAACDAQEBuwAAAAL///8AAAAASgAAANYAAAAe////AAAAAAH///8AAAAABQAAAAcAAAAGAAAABwAAAAj///8AAAAAhwEBAbsAAAAB////AAAAAE4AAADTAAAAEP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAHcBAQG4AAAAAf///wAAAABQAAAA5gAAAEAAAAAZAAAAJgAAACQAAAAkAAAAJAAAACQAAAAlAAAAJgAAABEAAACdAAAAwgAAAAL///8AAAAAOAAAAOcAAADYAAAAyAAAAM0AAADMAAAAzAAAAMwAAADMAAAAzQAAAM0AAADGAAAA8gAAAKIAAAAB////AAAAAAgAAABIAAAAaAAAAGYAAABmAAAAZgAAAGYAAABmAAAAZgAAAGYAAABlAAAAaAAAAGEAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/fla.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/flv.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHg0ZjFlYWYxMf/bAEMAAgICAgIDAgICAgUCAgMDBgQDAwMDBwUFBAYIBwgICAcICAoLDgwKCg0LCAgMEAwNDg8PDw8KDBESEA8SDg8PD//bAEMBAgUFAwMDDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAdAAEBAAEEAwAAAAAAAAAAAAAAAQgCAwYHBAUJ/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB6vlhqgEoAAUQAAhQAAALIUACaoJQAXyTxeT5neiMJrKAAAJQBMmMavo0cNwb+gmGp1+CUGmikKBv7Hf57/snbw4OP7gAARQAA00LBQAAAf/EACEQAAEEAgICAwAAAAAAAAAAAAQBAwUGAjAAEQcSMUBg/9oACAEBAAEFAvxHzxYSXRraww8U5X6yDCt2ieiUD2+PYpM8rgXJsCusPD57ExzcyhAMYoJbPAd2okcuU1ttPPLT6mQ07cZpIoP120EkUV2Tu8KDjJSRUsRt6Redfa//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/AUP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/AUP/xAAwEAABAwIDBQQLAAAAAAAAAAACAQMEABEFEiETMDFBURQiQoEjM1BSU2BhY3KRof/aAAgBAQAGPwL5IQRTMS8ETnTko8PNuOA5iM0y2TfNRo4bR90soJQmobaao+kfJNfL6ViOHdsFZhsqKNjrrbfSMXdG9l2bF/6tDHwqM49IfXKpshfZpz86JqQ0rL3iFxLLvQabHO4ZZRROarUWH8MO8vVedKi4o1p9xKlyIrqPMEg2IV04bzKy0TxdADNQYpijWyUfUMlx/JaNporTJPcatxTqu+xMpTwsioBZXCt71F2d7t0jwgzqn7o5ssrmuginAE6eyf/EACUQAQABAgQGAwEAAAAAAAAAAAERACEwMVGRECBBYYGhQHHB8P/aAAgBAQABPyH4jRyxUY8/JeN+AKZRAZV9U3VgqATMN/VGLGcEOr+dXtQvJzMGmjs3o8BH1yQDEx5ii0YmVTLjRLGl6N6dgJYuukyWR5elDhl1bt5RxXRAZsiA3qVxJx9S73Vos+KO9vV1dHygzfE7q7y9FZtz3wU8LoVCXySs/iO6UAissuWKjmjnEwGHV4oCKOE3O+Ur1amBH9dxZpzhNEMcw//aAAwDAQACAAMAAAAQ0YIAIAkAswQAYkAAgYEUswAA80UwUAwcEUYUwIE8goYMAAwA/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAwEBPxBD/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAgEBPxBD/8QAJBAAAgIBAwUBAAMAAAAAAAAAAREAIUEQMWEgMFFxgZGxwfD/2gAIAQEAAT8QahgNTGm/b5h9wbRQlA1S7BvcFxiIwi4QtFooWg26QVBvplaJ6qOAuPpXEy1patWBWInRjijG+MABnhfLlmLRShsHQg2K24hvpAcE+6eo+I2xmG8ZBZtycAGTAE4MBKuNlgt1iOwcFjBacQkwYg5P8igoGJnjz0s+dALUJ0RjFxHhQewIjHJpOABdmB/vPyNl3g9u4ERu0UKpYXz1owkncxxGGtLgppAAnsgPsZcXBAb9P2I8VSktDf6qASvD66IVRfbARRMQTq9K1VnxsZaUKi1ADAT7TK64BeB4kgDUDs5RV3HzlR5hZ7+WI95wL4yv74EbumOOz7/ToHZYby6Gnm/9tAOFwuMVDb7pJ0buKz2f/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/folder.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHoAAABbCAMAAACLd2FFAAAAq1BMVEUAAAAAAABAQEAzMzMuLi4rKys7Ozs3NzczMzMwMDAtLS0rKysyMjIvLy80NDQyMjIxMTEwMDAwMDAyMjIyMjIxMTExMTExMTEzMzMxMTEzMzMyMjIyMjIxMTExMTEyMjIxMTExMTEyMjIyMjIxMTEyMjIyMjIxMTExMTExMTEyMjIxMTExMTEyMjIyMjIxMTExMTEyMjIxMTExMTExMTExMTExMTEyMjIxMjF85OfIAAAAOHRSTlMAAQgKCwwNDg8QERIpKzEzNDo7UVdobW5vc3R1dnh+lZalra+xvb6/xMbHysvNzs/Z4uPq7vj5+qyecZgAAADjSURBVHheYiALjIJRMApGwSgYBaNgFHDz8pMMeLmoYDGLLIBdOtohGIiCMByESoJQICFA2JZagbbn/Z/MtbvTnT1xM/8LfMlkfCmNK4t1G5W7Rwns0AHppQQ3x+ReFk47bPJxHU5XQ4jeCtAGkVtXhHaAnEw/CP2epb+NEq08yWuJWpWnOnnwlOi9dNfbiUF7FX2zoAsV7S3oh4q+W9CeNGnSpBtEmjRp0qRJkyZNmjRp0qRJkybt/0dfLOizil5Y0CsV3T/Fl79T4WQgCrBIahhQFWhIsTAMJzAKRsEoGAWjAAAIUEfaWljfLwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/folder_back.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHoAAABbCAMAAACLd2FFAAABfVBMVEX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8robnAAAAfnRSTlMAAQIDBAUGBwgKCwwNDg8SExQbHB4fICQnKSssLS4wMTIzNDY5Ozw9P0FDREZHSUtMTlFSU1dZYGFmamxyeX+Bh4iJjY+QkZWYnaCipqytrq+ys7S2t7i5uru9v8DBxMXLzM3O0NPU1tfb3N/h5OXm6O3w8vX29/j5+vv8/f7ItILVAAACHElEQVR4Xu3Vd1MTQRzG8Wd3Dw0BSyxECYixF2zYG/aCvURaVFCxNxCN5Hbvee1mclwGZ3ASx5tf/GM/LyDfeX6XmcX/y/M8z/M8z/M8TxmN9jAAlII8pbDx1FZAvq2B09/Ia/JtDVwkHXkFGqIMOm4zcnSs5GXbATIPaSMyYqUXWrS8olQvM2RJ9GMbdI7Rsl7+ugFacvPqp3HZsrILRrK86jnDuBweQCBZ7iwn5YWDkmWD7GTj2vtky93lRnmvbDkzEV/b0Q6iQ0GKBu7G5YgLhxBAKb3ILEshJQoYia9Ny8vIoDmV2it5lTZibPb19NSz8uTE+PjY2OgST2oe3bszcv3C2aGiSqmtcY4uKUdsxY10dhtss3RMRLYm/BNrrXOOPAyTyuj7DPlXLB9Ap7L6DC1bE9U4ZyscTmW1AkqsLv15NvVxDTRSoJF7z7C1v9nC/OyH6ce3+qGRCoP8l8WbO97cuX/H9uLAlv6+vkKh0PubzZvyPetyWQAaKQkwMBe3HV9m0ZTRSE2APT+S1+NdDiu1WZauUwppCnDExu0qX3UhgCCDo432i27p9tBiO+TMWtl2gGNRsvttTnr3cSbtmS4Y4Zv/TNqTCkq2PTjPMP7el6AhKcDuuXo74vx6KOF28TOrZMTvBWgIt3veMHRVfuqEgnS7e4I1J2EgLYA+PzV6Au1ggABQaAdlAIM2+Zd30fM8z/M8z/O8X6TrKJKMnIjTAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/gif.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/gz.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/html.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/iso.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/jpeg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/jpg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/log.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/m4a.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mdb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mid.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mov.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mp3.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mp4.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mpeg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/mpg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odb.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHgxYTJlNTE4Of/bAEMAAgICAgIDAgICAgUFAgMHBgQHAwMHBwUFBAYIBxERCAcICAoLDgwKEw0LCAgMHxcNGw8dHR0KDBESHw8SDg8dD//bAEMBBQUFBwMHDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYBBAcDCP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAaCAAAAAAAAAAAAAAAAAADY6DSfctFCvHYD5x1/oujHJU1CmQAAAAAAAAAYlPTpZpSEPKlUu3Y9wi4DiFDL/AELAyAAAAAAAAAD/xAAfEAACAwEBAAIDAAAAAAAAAAADBAEFBgACMFAHEWD/2gAIAQEAAQUC/hhBMx6DkdCaD5TQL8QZAyNRssEEUPxhdcWiLOyjltRfKyht0WYb/IZf2ba3p+Zd9N/TqouOyLFaAvesJfRzmcukIqcPYPeRYCm8Q9lsitz9ZUh+BIiYfc7az8eZ2Ojnl91ehmo2tdYTe65Ko6x0lxZ/Uf/EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQMBAT8BQ//EABQRAQAAAAAAAAAAAAAAAAAAAFD/2gAIAQIBAT8BQ//EADgQAAECAwIHDgcBAAAAAAAAAAECAwAEEQUTEiJCUpGhsRUhIzBDUFFhY3FygdHhMTJBU2Bic8H/2gAIAQEABj8C/Bg1LtKU6chsYRjCFnUHaKSk7YqqzVEdlReyC282UrGSvFMValHFDpSlRjhWlJ8YI4tSZabWgK+0SmuiK7ovV8aoBRaS1DoexxriluSIvW98ONjDBPcfhFJCzwE5z5rqEFKltYBycAEa4q7LtBec0gNnVzPgSkqtxXZisVMqlP8ARQ/ysVF0eoK9oK5iz1XYy28caoS/NruWTv0Iq4fL6Rwrrqj1qpsEEPWmWl9bgroMEyFvtufo4lSTppTiLydli4gciDghXeYDMjLMssjJbTWkV3R0IR6Rwq23B0LTTZCWJpNzMnP30K8/WFS7IvJ7MHyo7zBv5who8kziJ9+aP//EACgQAQABAgQFAwUAAAAAAAAAAAEAESExQWGBUXGRofAwsdEgQFBg4f/aAAgBAQABPyH9GwjKoXYgtzfyDVAtel2lWY3LhQ2Zo6HnUIpRjyakxz9LHwMbqzRGjWHzwIY4be6D+w3QuLy0cj3Byfa6wgBkO9GKPkmEH8PQaHHp+IUBXh3pAahrGveMbDGifO6m8HXbqadm6FNXgegQE4ZPGwssFmY3Ipdo2qe314/mlXutTlLXjy2N7RTA0AQEdQq70zDdEqquBl6I9RrPp4WXaLHM7RODS+6szUL8fWb3cfuf/9oADAMBAAIAAwAAABAAAAAAAAAAAAAAAAAAACBTAAAAAAAAAAABywRxgAAAABAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/EEP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/EEP/xAAoEAABAgUCBAcAAAAAAAAAAAABABEhMUFh8IGREDBRoSBAUGBxscH/2gAIAQEAAT8Q9jdsKgS4VQyVqYwOyOwrV+7PZQ+JFyuMFBE4YJ/JBTcDg30tyyMWp/NzCgIFCKK0gCUnQtI6EIA0MgIagBOsSLo9PwASoYI3FDMATAOhD3VZwyQ2Xo9RoONdffQGwi3QGBqUIHs8NcvsmdPPhMgr2Zg1RWsRKDoBbxsTPRtUXOtaZ6cBATVrPLL0R3pv7ptZAjI0cb6RJhbcABWgECPQl5oBpcyJM8y//9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ods.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/odt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ogg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/otg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/otp.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ots.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ott.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/pdf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/png.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/ppt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/pptx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/psd.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/rar.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHgyM2U4ZTg1Zf/bAEMAAgICAgIDAgICAgUFAgMHBgQHAwMHBwUFBAYIBxERCAcICAoLDgwKEw0LCAgMEAwNDg8dHR0KDBESHw8SDg8dD//bAEMBBQUFBwMHDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAbAAEBAAMBAQEAAAAAAAAAAAAAAgEGBwgFBP/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHdhKAAAAAAAArFkqEqEqEqEYzJkAGbiyf2/i3s+d8f1lxVOc/L9R+ej4YWYuQADNxZjetF3o9E8V7XxNO2cS7bxKuUiWZqQADNxZO96JuJ6U5NvGsp0fiPTeSHOAszUgAGbiwDDIwyAJmpAP/EACQQAAECBQQCAwAAAAAAAAAAAAQBAwAFBhAgAhUwNCIzFCFQ/9oACAEBAAEFAv0k4lyS7A7xOrZJrDohLEEBFCYLkl6c7sP/AG+cL8lJgC4C5ZckvTndgvzeiq/ZZckvTndgzxeiq/ZZckvTndgsgbSdFV+yy5JeRPNDl7rLYcSQvEbrLYqMkcnXZck4lyTiXD//xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/AUP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/AUP/xAAtEAACAAIIBAUFAAAAAAAAAAABAgMRAAQQEiEwMnETFCI0IzFQUZFSYGKBof/aAAgBAQAGPwL7F4UBJxPOVOzP8oOLBImbn79qLzEErPNh7NZXeF1Pe6ljaUHulE8MMuKlDhMGlxlNxsRelmJs1kdW8RUeYhJ5wPyNlU2bMTZrIxim4jPIPC1RT9LWVTZsxNmsNXeGeYZ4ciNIFlT2bMWJGcBJHqanfJ8ii1162vHEjqwwp3qfIpVTV4oYAHTj6P8A/8QAJRAAAgEDBAEEAwAAAAAAAAAAAREAIUFRMDFhcfAQUIGRQNHh/9oACAEBAAE/IfY17CPmCZpgUoUHc6Hv94WGkxqvzRWtklEH6nGmV9FZjjAhv6aSqBQI+kPBAiqjC1iMUJFNUdTeKCuKAR71wcQWnjMjVHcQw7Iuj+iC08Zkaw4qzdMEwQ+7XmIQ8rcaZxACWNiD7liM4JQkK2yjipw6spJhKjVEMRDEQx+QP//aAAwDAQACAAMAAAAQAAAAAAAAAAwwwwMAAosLLAQAAoCiBAAAAooOCAAAAoAQwAAA/8QAGREAAQUAAAAAAAAAAAAAAAAAQAABETAx/9oACAEDAQE/EA5W0MJ//8QAFxEAAwEAAAAAAAAAAAAAAAAAATBAMf/aAAgBAgEBPxCPEGX/xAAgEAABBAIDAAMAAAAAAAAAAAABABEhMTBBEGHwQFFg/9oACAEBAAE/EPwsAf2B+AA9wQSsGBA8kthmSIF0VcMg8Lrg0sjBd5xFsoS2WJMGKNK1XhBTJExIBw1gxrEaXjdckYCPaKZDo0vG6W0fkuZRqZDoH0AhHi0u0YVCkGE1kCIJJLCj3UWlkndAg0crOMYZYnq7SF2uh8oAf//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/rtf.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/sql.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/svg.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/tar.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/tiff.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/txt.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHhkMDQ5ZDhjZP/bAEMAAgICAgIDAgICAgUCAgMDBgQDAwMDBwUFBAYIBxEICAcICAoLDgwKEw0LCAgMEAwNDg8PDw8KDBESHw8SDg8PD//bAEMBAgUFAwMDDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAcAAEAAwEAAwEAAAAAAAAAAAAABwgJBQMEBgH/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAHP8AAAAAAAAAAkwjNNAhdNH6Qs9v1AAAABs7jFs6SyqFxy6vkpNY4ykiuU4sAAAAGzuMWzpDXH7PkOFY/4+UjIGLJTiwAAAAbO4xbOnl6sjg9auJnXFnY44AAAAuDT4X7UEF8qW/PgAAD/xAAlEAABAwMEAgIDAAAAAAAAAAAGAwQFAAcXAjA1NgETEBYRQFD/2gAIAQEAAQUC/qxweSy6OPDOseGdY8M6x6Z0qkohr2gDr3sTr2pV7Uq8efGqjfn9oA69I28BXbrGlvqxpb6hSFiYFkb8/tAHXpATtgu6+m2lr6baWhOOgItkb8/tAHXpFhaHW6jhq0suti8HqHhIyAQN+f2gDry4KJOlI0SHIdb4N+f2gDr3wr5/GgrNExhu+euJJxtDl2XMDH5xUrOKlK3uW16JKSeSzj9b/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAwEBPwFD/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAgEBPwFD/8QAPBAAAAQCBAoHBQkAAAAAAAAAAQIDBAARBQYSdBMhIjAxNpGxwdEQMzVBYXGVFCSSlOIyQFBRYoGkstL/2gAIAQEABj8C/FSvaPodRy1N9lUAAAN5TjV9XaXnGr6u0vONX1dpecdgK7S84URWTFJZM1k5DBISj3hm6v3XjHWBtjrA+KOsD4omUZ+UViv6m/N1fuvGHzp1Tx0nKy51FSA/SCyYRmISlGsanqKPKNY1PUUeUGZUK8F60FcTioZYqmVLRMPKKxX4+/N1fuvGHy72l003ii5zLlGlClkcRysXdjjttP1cvOO20/Vy84M3q45B1R4riYTkcArlyx49kVivx9+bq/deMPjUgqiD8Vzi5m7VDLnlaB/OAZ0aRN46sibBpvFpyD947F/lK/6j2GiWvsrW2J7FsTYx78cVivx9+bq/deMLOXFBpqLqnE6hxtZQiMxHTAPaMoojR0BRLhCTnIemsV+PvzdX7rx6VBDENmLZ1cPSCge7N56f1D4Q5fuz4Ry4UFRQ0pTEc20olShyvQbFspqg4sTDxCQxq2Hzv0Rq2Hzv0QoQtXSlMYogAi8mH9YWfv1sO5UHGYe7wD7v/8QAJBABAAECBgICAwAAAAAAAAAAAREAITAxQVGhsRDxIGFAUHH/2gAIAQEAAT8h/apf9IomG4Tci1vgmTJkbrBslGzIdisIOUOHx3akpEHaNejV6NR0E7qcQjju1A12T3MJkKkPnLleRzIkBghot94l3Hdqfn12mRdqNtPM6cI7HDIAi7FmJdx3ahajCQ84gM2VOHgENQ+PTGdNEq0yS6GumJdx3anu/wCUQCY4PsjNxruO7eWZQJHa1TbN6t8I5yNYikKQkpbGWHOPZByyUXsNPYaOCIWCllIT/JKTxJ2hsDQMg/H/AP/aAAwDAQACAAMAAAAQAAAAAAAAAAEAAIAAAAAgUIAAAAAEUoAAAAAwAgAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAwEBPxBD/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAgEBPxBD/8QAIxABAQABAgUFAQAAAAAAAAAAAREhADAQMUFRcSBAUMHwgf/aAAgBAQABPxD5XtWysJSfQDr16mpxVvY7Bb4NRphmRCCgiPbbggTJjUuFmKJHs51+i+9fovvWWFyEXyakw7hfMTKLtEuKGUCNTjfvgkHrpu/BcLlee7++YGc8a1lgKuYnTi6dZRs9yBQT+reu7++cokdqkXNsADQmkwjMOSSeQ588FQ8Ol5hT+h9EE+B/ffDALg4IHB/3x6ehJESYgz29FoWMDAfeNat0HKT5gT3AQPtD0//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/wav.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/webm.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/wma.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/xhtml.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/xls.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/xlsx.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/xml.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABz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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/ico_dark/zip.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4ge4SUNDX1BST0ZJTEUAAQEAAAeoYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABWxjcHJ0AAAG5AAAADh3dHB0AAAHHAAAABRyWFlaAAAHMAAAABRnWFlaAAAHRAAAABRiWFlaAAAHWAAAABRyVFJDAAAHbAAAAA5jaGFkAAAHfAAAACxiVFJDAAAHbAAAAA5nVFJDAAAHbAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAeAAAADHNrU0sAAAAoAAABeGhySFIAAAAoAAABoGNhRVMAAAAkAAAByHB0QlIAAAAmAAAB7HVrVUEAAAAqAAACEmZyRlUAAAAoAAACPHpoVFcAAAAWAAACZGl0SVQAAAAoAAACem5iTk8AAAAmAAAComtvS1IAAAAWAAACyGNzQ1oAAAAiAAAC3mhlSUwAAAAeAAADAGRlREUAAAAsAAADHmh1SFUAAAAoAAADSnN2U0UAAAAmAAAConpoQ04AAAAWAAADcmphSlAAAAAaAAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAgEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQACoAIABAAAAAEAAAB6oAMABAAAAAEAAABbAAAAAP/+ADRPcHRpbWl6ZWQgYnkgSlBFR21pbmkgMy45LjIuNUwgSW50ZXJuYWwgMHgzODYxYmUxZP/bAEMAAgICAgIDAgICAgUFAgMDBgQDAwMDBwUFBAYIBxEICAcICAoLDgwKEw0LCAgMEAwNDg8PHQ8KDBESHw8SDg8PD//bAEMBBQUFAwMDDQQEDQ8KCAoPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD//CABEIAFsAegMBIgACEQEDEQH/xAAbAAEBAAMBAQEAAAAAAAAAAAAAAgEGBwgFBP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAd2AAAAAAAAArFkqEqEqEqEYzJkAFVNE/t/HvR874/rLipzn5nqLz0fDBMXIABVTRjetF3o9E8V7XxM7ZxLtvEjlIJmpAAKqaMb3om4HpTk28aydH4j03khzgEzUgAFVNAGGRhkATNSAf//EACUQAAEDAwMDBQAAAAAAAAAAAAQAAQMGEDAFFTQCIjMUICFAUP/aAAgBAQABBQL9JsT+5rwDzE9WyaqpRCYEQEUJia9O81T/ADOcL6ltQBkBkwNeneai++ZVX5MDXpzmoztmVV+TA16c5qLIG6TlVfkwNfQpohy9101SbDNPuumqoyRyevA30Gzf/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAwEBPwFD/8QAFBEBAAAAAAAAAAAAAAAAAAAAUP/aAAgBAgEBPwFD/8QALRAAAgADBAkDBQAAAAAAAAAAAQIAAxEEEBITISMwMTI0cnOSFCJRUFJgYnH/2gAIAQEABj8C/BcqQlZlN0cmfIQM2URV8A/vxC+okla7tqnba625XufN1izuFB8pCasMtCrITSoMYGU4G0piptE7bXT1bWKk+qyk3yP2N1k6G2idtrpxmnAjT6S3lcU0/a11k6G2idtrjZ3Q+oadLwEcIF1j6G2izJzgJgOljHPJ5iFtr2tc8EEa7RojnU8xFlNnmhgFNcJr9H//xAAkEAEAAgAFAwUBAAAAAAAAAAABABEhMDFBURBx8EBQYYGR4f/aAAgBAQABPyH2Ilewj7gN7JChp3nYfHeLHXYTH7pVN4lEfyfGWx6c5lzCi39tJigrtOB+EJR0sXGThpTDNcw1lQtxgCXrbjxDaeM5M4xl2Shq/wAIbTxnJnGKt7shViX3236LyNzLfEASzahfQY2UtFLaMLlU4qs7w2mao4lHEo9Q/9oADAMBAAIAAwAAABAAAAAAAAADjDDDCwAADzywBAAADRAAAAAAAwxQAAAAADDAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAEDAQE/EEP/xAAUEQEAAAAAAAAAAAAAAAAAAABQ/9oACAECAQE/EEP/xAAiEAABBAEEAgMAAAAAAAAAAAABABEhMTAQQWHwUXFQYLH/2gAIAQEAAT8Q+iYIJk6JwxYBZpDBQbBkSCS1YWMkQLoq/wBY/ku04TuzwmFkQLvOIlvAu2WJMGKNJsXiYhTJDEgHDWDFDFNLsuFKG6FDBb7BT0yMppdBwnFDRhuZGp6ZGX0Ew9KlyjCY1Awm2Qqkl027qJ8pmMCjl3xMnGCN6m1Un//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/info.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAaVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2drKKAAAAInRSTlMAAREGAxDz7+1O6P3nE/7w3QcPAkff7ExFBQTuDuEUCBLjD8S+RgAAAH1JREFUeF5tjgkOg0AIRcFZnBl1tC7d13//QxZNLW3TFxKSRz5AM5Zi2+6kvWAyCagNsYr6S9CRYkpxjijDoHPis7v2/V03uIffnvzkiFdxgeCLd8ge9rlCUMG0CUD5KZryn2h+IuGmS80IYTR2PdsBOQOdI15E4VFBavnkCXVWB6jJiolKAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/key.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAG1BMVEUzMzP///8zMzMzMzMzMzMzMzMzMzMzMzMzMzMF1DXAAAAACHRSTlMAAAECB4CzzCejgr0AAABFSURBVHheYxCEAryMsFRGBhAQ6+hIAItEdHS0hYaGBjBkCHSAQDuY0d5RUQCWCghlZWBg6+hIZWFiZmBgCEsFaWYkxi4AUFEWEwuFcGYAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/label.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAt1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAABAQECAgICAgICAgIAAwMAAAAAAAAAAAABAQECAgIBAQEAAAAAAAACAgIAAAAAAAAAAAAAAAAAAAABAQECAgIBAQEBAQECAgIAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAECAgIAAAABAQEAAAIBAQECAgIBAQEAAAMBAQECAgIAAAACAgIBAQECAgIAAAABAQH067k7AAAAO3RSTlMA+v4CAQP8/fsE1izQk4VxZa80+dKUvjA1lrC+oB+j24y81XXBUJ7RQX6Dct2jQLJztXmtTuqdEJj+g/auzYcAAACcSURBVHheRc5HrsMwEATRJkWRkpxz9s8551C6/7kMDQy7dm8wi1ZTyNXqnLWr8bRnzoL6NRYPjaUuuBGD4ZKVeUJKJGaaUykELYgeIuvNlhPlOqXwWDWcSxfEvROOS13hzZbjWjcUB3vPre5wxwfupfKRePCTJD1D2vtFylTqFR/Nb1Juy9/B+YIPsxQyfX4B32a7lPr5/fuXskY7Qfgeq4vPqIgAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhDwAPAKUAAEQ+PKSmpHx6fNTW1FxaXOzu7ExOTIyOjGRmZMTCxPz6/ERGROTi5Pz29JyanGxubMzKzIyKjGReXPT29FxWVGxmZExGROzq7ERCRLy6vISChNze3FxeXPTy9FROTJSSlMTGxPz+/OTm5JyenNTOzGxqbExKTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBgAhACwAAAAADwAPAAAGd8CQcEgsChuTZMNIDFgsC1Nn9GEwDwDAoqMBWEDFiweA2YoiZevwA9BkDAUhW0MkADYhiEJYwJj2QhYGTBwAE0MUGGp5IR1+RBEAEUMVDg4AAkQMJhgfFyEIWRgDRSALABKgWQ+HRQwaCCEVC7R0TEITHbmtt0xBACH5BAkGACYALAAAAAAPAA8AhUQ+PKSmpHRydNTW1FxWVOzu7MTCxIyKjExKTOTi5LSytHx+fPz6/ERGROTe3GxqbNTS1JyWlFRSVKympNze3FxeXPT29MzKzFROTOzq7ISGhERCRHx6fNza3FxaXPTy9MTGxJSSlExOTOTm5LS2tISChPz+/ExGRJyenKyqrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ6QJNQeIkUhsjkp+EhMZLITKgBAGigQgiiCtiAKJdkBgNYgDYLhmDjQIbKwgfF9C4hPYC5KSMsbBBIJyJYFQAWQwQbI0J8Jh8nDUgHAAcmDA+LKAAcSAkIEhYTAAEoGxsdSSAKIyJcGyRYJiQbVRwDsVkPXrhDDCQBSUEAIfkECQYAEAAsAAAAAA8ADwCFRD48pKKkdHZ01NLUXFpc7OrsTE5MlJKU9Pb03N7cREZExMbEhIKEbGpsXFZUVFZU/P78tLa0fH583NrcZGJk9PL0VE5MnJ6c/Pb05ObkTEZEREJErKqsfHp81NbUXF5c7O7slJaU5OLkzMrMjIaEdG5sVFJU/Pr8TEpMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABndAiHA4DICISCIllBQWQgSNY6NJJAcoAMCw0XaQBQtAYj0ANgcE0SwZlgSe04hI2FiFAyEFRdQYmh8AakIOJhgQHhVCFQoaRAsVGSQWihAXAF9EHFkNEBUXGxsTSBxaGx9dGxFJGKgKAAoSEydNIwoFg01DF7oQQQAh+QQJBgAYACwAAAAADwAPAIVEPjykoqR0cnTU0tRUUlSMiozs6uxMSkx8fnzc3txcXlyUlpT09vRcWlxMRkS0trR8enzc2txcVlSUkpRUTkyMhoTk5uScnpz8/vxEQkR8dnTU1tRUVlSMjoz08vRMTkyEgoTk4uRkYmSclpT8+vy8urwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGc0CMcEgsGo9Gw6LhkHRCmICFODgAAJ8M4FDJTIUGCgCRwIQKV+9wMiaWtIAvRqOACiMKwucjJzFIJEN+gEQiHAQcJUMeBROCBFcLRBcAEESQAB0GGB4XGRkbghwCnxkiWhkPRRMMCSAfABkIoUhCDLW4Q0EAIfkECQYAGQAsAAAAAA8ADwCFRD48pKKkdHJ01NLU7OrsXFZUjIqMvLq8TEpM3N7c9Pb0lJaUxMbErK6sfH58bGpsVFJUTEZE3Nrc9PL0XF5clJKUxMLEVE5M5Obk/P78nJ6ctLa0hIaEREJE1NbU7O7sXFpcjI6MvL68TE5M5OLk/Pr8nJqczM7MtLK0hIKEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnPAjHBILBqPRsICFCmESMcBAgAYdQAIi9HzSCUyJEOnAx0GBqUSsQJwYFAZyTiFGZZEgHGlJKACQBIZEwJXVR8iYwANE0MTAVMNGSISHAAhRSUYC2pCJFMhH4IaEAdGDGMdFFcdG0cJKSNYDoFIQgqctblBADs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/logo.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/preview.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAflBMVEX///////////8RERH///////////////+7u7u/v78UFBTDw8P///+Hh4efn59gYGB3d3cXFxcUFBQYGBgUFBQwMDAZGRkTExM8PDwUFBQVFRU0NDQ4ODglJSUnJyctLS00NDQVFRUwMDATExMsLCwiIiImJiYgICAYGBgcHByuTtiuAAAAJXRSTlMABAgPECAsMDg8P0BAQlBgb3F/gY+Poq+3v8DBw8jJzM/Q29/mpTbZAQAAAIRJREFUeF6dy9ESgiAUhGFIhVArI41UTMTOAd7/BYN0um767/abWfJvpep7VX4hU94BOK+yfS8OP7llkwE0vhI8YEggwR7xrCOcLMgIHc7U3C+I5jBjF6EwIMXToxESTJE+woYbr2t+DVaQFK10WNt2DbqiZBPWjNM0NizuvZxxznLyW285eguoNtFmiwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/processing.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/rename.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAATlBMVEX///////////8RERFZWVn///8QEBAkJCQWFhb////Dw8OcnJynp6cXFxdHR0cVFRUXFxcfHx8qKiouLi4wMDAWFhYXFxciIiImJiYlJSUFdwK4AAAAF3RSTlMABAgPFxwfIy80QE1XcYzQ0dTZ2tvw8O6TI3EAAABQSURBVHhejc07FoAgEEPRoAgKfhDRwf1vVMqMhcd096R4+FrvXt7OUdnn+1J/iuVgi6QY2LVma5RL+G+flbG0Hht767GdlNWSYedpYMN0LDxVywSPV9GbowAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/size.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABI1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAEAgEHBAMEAgEGBAIBAQABAAAEAQEJBQMEBAAAAAAEAwEEAgEGBgAEAwESBgYRCwYEAgEMBgAEAwEcAAADAgEXAAAAAAAAAAADAgIEAgEHAwMFAgIBAAABAAAEBAAMAAACAQEDAgEGAwMEAgECAQENAAAFAwMJBQMCAQEOCQUFAgISDAYOCgUCAgAFAwMEAQECAQAHBAEGBAEHBAMUCgoFAgEEAQEHBwACAQEBAAAPCgUGBAICAQEHBwAEAgIVAAABAAAQCwUSDAYFAgIEAQEAAAAQCAgGBAIBAQAEAQELBQUIBQIDAgEBAAAGBgYAAAAEAAAAAAABAAACAQACAQEBAQABAQECAgKoXkFJAAAAWnRSTlMAAQL+/QQD+/rnt/zY/fjM8EcGytoswyst6irCCdwLHB2W2E2n+/pDFez8T/7rE2Dv5jalKjWTXbX5xMe1GtuzJff9M9f1I3MM7jArccfwH9X5xTCZ7PwugH7FhPsZAAAAxklEQVR4Xl2N1W7EUBBDneZmkywzl5mZmZnZN7vt/39Frexbj+bBx7I0EAlUcvmlUlMhxkG7f2NwaHikqCjQB+9gEiiUHcXeop60rapN1hTjwVWj45JuJxyQAB5maTJBkDF2VKIfGOM4xQRXJRpNTdPMpFJzhvMLUg+LXS6v3K6th4w2pQ62aLZ3dvf20+ShFEfHPKE4PSPPLwBcWp8Mutc3aWbtHYB7qnD58PjEZ74Ar5FMl3175wejT3z9+uyh1v/5xn/+ALoEJfu1LMleAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/sort.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAABEVBMVEX///8AAAAJCQkBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjIAAAAAAAAAAAAAAABNTU0AAAADAwMAAAAAAAAICAgAAAAAAAAAAAAAAAAKCgoAAAAAAAAAAAAAAAAAAAAAAAAFBQUAAAAAAAACAgICAgIICAgJCQkHBwcAAAAAAAAFBQUAAAADAwMODg4AAAAAAAAFBQUICAgCAgIEBAQAAAALCwsAAAAEBAQAAAAAAAAAAAACAgIICAgICAgAAAAAAAAAAAAJCQkFBQUAAAACAgICAgIAAAABAQEAAAABAQEICAgBAQEAAAAAAAA3NzcJCQkAAAAAAAADAwMBAQEEBARX552iAAAAV3RSTlMALhv3QsUgloaQJPUGAkAjlffDRVwKvcEdGr38C16VyJKU9oQR+L308nNyHxy/L8JkJmQSO640W2qQTmFpPouJNIUgew8VwHX9/oF6+swb0WbV27AqkjN8IBxrAAAAj0lEQVR4XhXKU5bEQABA0Vcx2rZtc2gblcz+F9Kn/y+Rcm6YHsfu9FQcltKtRdWmm28nIKn0rwwjkw1PC1As2ZWqbdYbEKQlpS+l7HR7FzAQYiSEFp54M5gvQiFtBWtvA9sj8nfs/0/g9OzcMi8drj0rCDe3AeD+wX984ll9eX0DR5fvgo/Pr2+FAD+/fxwAyvYVRbME+FYAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/storing_animation.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQABAAPMAAMDAwOvr65ubm62trb+/v9HR0ePj4/X19d/f3+jo6NLS0v39/fT09Pn5+e/v7wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hoiQ3JlYXRlZCB3aXRoIENoaW1wbHkuY29tIgAh+QQJCgAAACwAAAAAQABAAAAE/xDISau9OOvNu/9gKAIOYp5o6owYk7xwDDMVQtx4riOX4f/A3yVRKBqPxkRNx8zxLMGob4isFpUUW7P5rEijVCsSO9Fud70vMCxOLs9oqFpoIbbdWXjcO5/W73hlek5pfWx3ZBJmg10UfX4VdoCJAIt6jROPBodtlJZwmBKanGKegzihAKN/gAWmpwSpq5Gtrm+nso+kVq+4LBcuMsIJNHmwqb8jJSnMJyvJ0NHS09TV1tfY2RUD3N3e39zaHuDk3hcLB+nq6wcL1OXwFwcB9PX2AQfv8OTy9/750/bxszDPnz2A0gSC62ewHsJoCr8xbIhPX8RwBCnSewjtYreJDbw5JvOIsUJBiiJ/kRwA0mBKFitb/rN4Uea9lyNiWkDHjp27gCTFddApVAPRokiTKl3KlIKAp1CjSo3adMLUq1OrSsDK9enOnj4x8ASb7qfVrlgzanx5MmQFtGlNaqxo8+BbuFnlrsXQ1uVdvFT1ouQ7lyNgqWoH13X497CAxG4Xb2x8GLJfyXTPOn4sOLLlmU43c6bQF/Tnm5QBn7aL2bDo1Yxbp8b7lWxZsbZvh96sFYDo0U1/9xbeu3jSCAAh+QQJCgAAACwAAAAAQABAAAAE/xDISau9OOvNu/9gKI5kaTFJqq4qgzVHLM9Hgxl4rudXUvzAIDCBOQSOyGTgcNs5DT2h9Ee8GJVK5uXpjE6FVcsVi9RauDvvd1gkJ80VtE69LoQrYzecIudZfHVUbW5HexN9OHRrdxR5ZIYSiFB/gYJWhIVNfYpfjBOOWJAAkpxTnhKgWZpypVKnAKlvq2itYC80uDZbiLVBryYjKCzDCS7Ax8jJysvMzc7P0NHIDAjV1tfYxtIaCATe3+DhCBcwuDO6yN3h69/jYphLyurs6+548KIj8/Tg9o348vjVu4Qpn4h9Agn4+wQwGUKBC1E1TJewH0FCBkM85BcR1sRjG8rpdYxVJmBFbyM/AgvJLmVBkyc7ljMXAx3Ikyi3bWA5UGcGatiCWtPms6jRo0g9CFjKtKnTpkklPJ36dMKAq1izar2KjKrXpVa3isVKjqYMmwC+eg07VuxFPRXUUmXbVuvbR3HlVpVQ1+27lxT07gXQd+vdUHkFM6VbeMBhVYEVL+bbmOxfjIklMy78WFZkyQI29+1c8rNmypUdX4ZrWrHouqQztRb8um3seLP11h5b1myNzK5RV+4KOrTwxsRB7/YLrLjxqNCje4gAACH5BAkKAAAALAAAAABAAEAAAAT/EMhJq7046827/2AojmRpXsuhruyxYGnbvpdh3/idHUHv/4EDhgcECmu5pGFXNA6bv6NFmWRCe9IK8ZqlUHNW7vMaxHxxYWh3slWbz7Z0cy1pz99weZEOsO/xZ3pOF36DU3BLY2KEZGVIeYpujGR8iImTixaFUYBfGTEyKzQWoKEunVQnqqusra6vsLGys7S1tre4GgwJvL2+vQwwpqKuCQXHyMnICZF3rcbK0QXMmJKs0NLJ1JqNfCTY2cfbWt3F4drNf8/ny+mGq+Dh4xSbPt4j8dnzbOXr7NPuOPljt69Ov2v/AFZzhvBfQQClQo2Cl/BhLgm7fmlMEOyix48gw0OKrCCgpMmTKE+KTMky5YQBMGPKnAmTggMEOHPq3OmAQsufJV/SHBqTAgICSJMqXYrAJ9CWQokONbq0qtKmE55ClSCVKFWrVrFK0MoyaleZX8EydUpWJdezM9OqTSoWQFuUZuEOkDuXQN27bgHoRTvhaF+6bAHnhct37l/AQd8O3lv4MOKskAUsPttY7WPIm7t2BvtZseTBo8MmvhtaauqqpVmf1vt6LWbQsxlXtux3ddvWXifc3Ek8Z8/bpkcqX/4qAgAh+QQJCgAAACwAAAAAQABAAAAE/xDISau9OOvNu/9gKI5kaV7Noa7s0WBp276oPGdHoO98cGC5Xu93CQp3xOKRl6wYl03K8xiVLpHAq64qmQq5Xa0vqwV7hzixWU2+ggFnZhs6p6bL9W8evZcr8X9ud4KBdIV2fViHeot8jX4WcYqRbDA2LDQWMZculpydJ6Gio6SlpqeoqaohAq2ur7CvqxuxtbGzGra6rbgZu7qjBsLDxMMWv7bBxcsGx8i3oszLzs+y0dLE1NW819jC2tvK3s0V29ah49/l5tzo6eDV4t7wz/LY9Mj20vi/+sz8u/xNW8euFwZ27QxSQChAocOHECOqGkCxosWLFCk4QMCxo8ePDrtGYRxpkQICAihTqlyJoAKDBDBjyozJwALJmyZX6lTZkkKCAkCDCg2awObNkTl37uw54efQpwWKVjiKdMJJpTqZSnAKVahUClQxJsXKswLXrkC/Tgh7cSxZlFoBnEWrVgLbklbflvWJ1qvRuwPcvo07t2tdAIAz5tUL12xfon/vCiZL+HHayGwnY61s+XDiwIsZc37sObFmpaP7lgZ8eqnjzpjDts7qcqZtmDWnmp6w8aPvjiElCh9OXFUEACH5BAkKAAQALAAAAABAAEAAAAT/kMhJq704ay26/+C3jWQWnmGprmjbrfDottVy3Hh+LJit67zKDFU5BI7IZOCAMSqVTOEwRXE+kVGL9bq0TKmT7TVb5GK9X1HVfCSv2W5CWh1mdy/iZ3zuKcObdnt8An5mcRJ5UGh8hVyHBIlJgoxvhoB/UpR1mFqBi3ONY5eWmaAUPj84QRaoqTufaTGyGIOEs7cTtbi7vL2+v8DBwhQDxcbHyMXDK8nNx8sqztK/ramrxNLNv5FnFtnavtxtF9/J257e5c/h6BXq673id+7vyuyc2PXn+BP19vHt8r3bR4qevnsFBaoj6IicP2quVDk8CG2EvwEVM2rcyLGjx48TxBwgGEmypEkHICsgAMCypcuXCCowSECzps2aDH6tfMmzZUwKCQoIHUp0aIILBpIqXar0ws6ePH9OCFq0aoGjFphqTeoUak+pEqhaJYq1wlatXb3CrCB2rNCyFM4yTavWJ1u3ZJHKbWrhaV0AYAm0dQt3wl6+Kv/aBYrXqN7DdP8GHjy2sITDXPsqZjm58dvHeyPX7ezZMgHMBkSrJd3YNGrVXlnjdY0ZNlTZhEHLtf1V5s3fNHP6EmmyOEmUKZMrX858QwQAIfkECQoAAAAsAAAAAEAAQAAABP8QyEmrvTjrzbH4YCiGHTecaKqe0+iO5bbOafveQqzRvI27lcZhSCweGhcezfcTVQ6BqHQaOCSVK2YT9KR6rRZsVrKFUaDeKbgiVmnL3bR0TWnXyGXSWT6/2gdvW3F8dBN/LHh5H4NyhRKHgImKjGmOAJCBTZRffnaZP5tUlpiSeaFqnW2fOEFGrkhhh6s3OhmkAIpctbsZuYu8wMHCw8TFxscZDgjLzM3ODsi8CATU1dbXCNG709fd1dnGQq5FsBXc3t3gxWiEF+fo1urE7I3u8OnH9JX29/H5fFEsvesnb5g+ThYG3iso7KAofv2oMQzmEFXCiN/+ARSIUaLGdhfRO04EVrFPSIwjeZUMCDFiyl3ixg0pR0EhvJfaLihzxpMZtJxAgwodSrSo0aNIOTBIwLSp06YMkmJIUKCq1atWE1wwwLWr164YYsqkSYEq1rMFtFr4ypYrhpVVpqI9q7ZCW7ZvAca9YHZu1q13vebdKNfv37WBwV6AawlAX8N1KSRWbIFxYcNpAU8eDNLCY7+RJ0x2u1hv489zQ0sYbYBzPb6Yq6oGwNr1PtixZ9cuTRg3Zt2jbSP0HDsz4s0XxI4jO2Hp0+cJokqdTr269etCIwAAIfkECQoAAAAsAAAAAEAAQAAABP8QyEmrvTjrzbuXQiiO5EgFSKqubEANcCzP8FTeJYUQfO//iBdtGLPhjgLdb+kLTohQI/KmZDKdEihROiVVrUChdsbtir7gHhYwppXNycku3RS3ayC4SU6vP+9FeXohaHRrgIEAg2d8fTyHiANvZoVpkIiTXZVgl4CZU5tWnXefSKFXdqSCg6dLo22lR61hf5ireicsuisutZ63cB/CHouEw8fIycrLzM3Oz9DHDAnU1dbVDNHKCQXd3t/eCdELB+Xm5wcLGNzg7QXi0AcB8/T1AQfr7u3wz/L29vgusNMXLpq/f/QCWhhI8J1BhPUUVmBIkJ+zgxAlUqCoz2IzjAjDNU7g6M4jM5D/REogue8hxHkqAbAEZ3IZSoD5GnarqexmxJw6eSbzmRBoQ6HIyKFDp+7CtGtQE2TTRrWq1atYs2rdyrWr169gDYgdS3YsBqVLzTW1gDZtugxl44rFQBQm3Zd2MciNexdvzLr34O4l2/flX7yB9Q42ewHwYb+CFxsonJFyyMiLLafUjFOxZM4/GyOOCUDyXNGQURvGPBh0UdWVPWeGfZn2ZtmtbXe24Jj13rNu1QIP/has8ePIkytfniECACH5BAkKAAUALAAAAABAAEAAAAT/sMhJq7046827/+DnIGRpng41rGzrrhaTzHRNMxVC7HzvI6qXkGVJKI7IJDKR8zl7wMlwWlRaj0yK7vmMSqbD6lWZnWy5vyDYJR4vm+i0dM2uGN1vbVz+pbfaeGUSZ3sEXgV+f3Z4eWaFPIeJRIuMCoIFhHuRkgOAbpeZcZuSnmOgjzujiaVXp6iqfqxWro+wdLJkcLVqqxUyNsAJOHqvvLEhGCMnyyUpc6TI0dLT1NXW19jZHALc3d7f3toh4OTg4iDl6dwWBu3u7+7Y6uns8PYG8vPk9ffv+frf+PVr9w9gN4EDCxoUgLCfQoMN7z0EGNHeRH0V4V2cl9HftYXhvCoM9GgN5EGRIwl+NMkQZcqN6s59YNlS5jaWNjvQzMmzp8+fQIMK5bnggNGjSA8swFA0adKlF5o6PQr1woEAWLNqDXAAw9WtW7taBRs2w1eyWMVaOItWbQW2ZN2+RZtV7gS4YO1KwFvWK920fv/qLcBX62DCf7kGpju4cF2ziRtHXtwWsmDKcTHntcxYc9+1kz0bFv147GXSgE13Vl0ZtWLWmWFvZjoVadUKUmvfppB76u6hwIMLH068OIcIADs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/up.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIBAMAAAA2IaO4AAAAHlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGjDitAAAACXRSTlMAAooDhHkhgwGXxHVDAAAAK0lEQVR4XmNgEGBkYAAiAQYDFgdmBobIqQwMQjNnKjIkqRepMYABh6FwAwBOdQTaXLYA2gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/upload.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAY1BMVEUzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzPk3RAHAAAAIHRSTlMA8A8FwMkIrPvh0sFt7iuxEZagDfr+7OChbnfp2dz4/KiNbgYAAABwSURBVHheTctZEoMwDANQmQBJ2He6V/c/Zd0yDX5fHkvCwVWVg1EWZFEicTlV7myutGPzs9NtTLYOQFN73y/k0ntfNzigJVsYmZCS4TRQDTDGaRr/7a8Zav6diJKspOwITC7XG2kf98eTq5283kHiB2GXC4EUkl2XAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/url.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAA9lBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMAAAAAAAAAAAAAAAAAAADMkR3DAAAAUXRSTlMAAwTxAs0/pO0n6ywlOtSCL6IHp+qwo0CDbxk87D3h8ykbjQsRKuAozN7THhAV77Mm3OIjm+eVkeax0gqZ8BpsbUayYg/oppQ3tGgcDx3ZoZgKsR4fAAAAuUlEQVR4Xk3NZY7DQBCE0bKdiRnDzMy4zMxb979MrFEi+fv5pOqGAjMvdBsqTrkGSS0N5QiORe+sn5CQVg9dndkWUhIEc8B01mYJkZQMq2bHqJf3PiBXQYPDwZij5sS/L8tfhTkXyxXXmy13lVhU1M55Uavy8uqaNwUgltu7YvPBYA6PbATHS8WwovHp+YWviEtFKPHt/eMTOgWk4CvLzDd+fvkHmYK0xvq/R8tBQkjDxSkVti7yJpQDm14Y7jK06jAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/img/zip.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABjFBMVEX///8AAAAAAAAAAAAAAAAAAABVVVU9PT8AAAA9PT8AAAAAAAAAAAAAAAAAAAAAAAAAAABAQEA8PD8AAAAAAAAGBgYAAAA4OD09PT4FBQUICAg9PT8AAABNTU08PD4AAAAzMzUAAABAQEA9PT4uLi49PUAAAAA+PkA8PD4MDAwAAAAEBAQ9PT0JCQkAAgA9PT4bGxwoKCkAAABGRkY8PEA9PUE+Pj5AQEA+Pj4/P0ExMTMAAAAJCQo9PT89PT88PD9AQEBAQEIAAAAMDAwAAAA9PT0AAAA8PD4AAAA+PkA2NkM+PkAaGhsAAAAICAgAAAA9PD8+PkA8PDw9PT4AAAAAAAA9PT89PT89PT8/PkEwMDIAAAAICAgAAAAAAAA8PDw+PkA9PT4cHR0DAwMAAAAAAAAAAAAAAAAAAAA8PD4AAAArKysKCgoCAgIJCQk8PD4AAAAAAAAAAABAQEI+PkBCQkRFRUc9PT9BQUMDAwNAQEMGBgYFBQUdHR5EREYvLzBDQ0U5OTsrKy1DQ0bpFdvaAAAAcnRSTlMAeQH7eHoDuQL7fnxY9vz5fwRVGd9Rlju00oXyrAr2UfeCDOEWxNL4wtJZkGRakbH40owLREMdCD7zyUaTtfhdFPbNbv42VP1yWxOA9TFA/Z5XEfYD86Pv3fz76kQ86ECIj/X2o5/19/H1dAZKhY+HgRgcqMtXAAAA5ElEQVR4Xj2PY3MEURBFewfZrG0ztG3bto1+M8s4fzw9L1U5X7ruqa7q26AhCHxUwh8VFD1B2RsDY0LnogwQSdvw1T0ZRsRp2vP5DVXxZgyYW0ULygDtoZxe/xN9yzY0oogSJFPvmTZH9edXTW0dCR3UqwNANBVazI9cPOWdHZ1d3c6e3r5+LuYKg+rQsCE/8j06Nm4lMaFMsZnZG0WZX1i0LZGA5RJbWV1jH5Z12EBNODbZ1vbObnlv/+AQ6Sz1Pjo+ObWKZ+cXl1dUjAxxXSwi55Z/dwf3D0a7yWR/ll6AI8A/vxXPMkyFO+8nAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/mime_type_lib.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBUaGUgZm9sbG93aW5nIGNvbW1lbnRlZCBjb2RlIGNhbiBiZSB1bmNvbW1lbnRlZCBpZiB5b3Ugd2lzaA0KICogdG8gcXVpY2tseSBmaW5kIGluZm9ybWF0aW9uIGFib3V0IHlvdXIgc3lzdGVtJ3MgTUlNRSBzZXR1cC4NCiAqDQogKiBTaW1wbHkgcmVtb3ZlIHRoZSAiUkVNT1ZFIE1FIFRPIFRFU1QiIGxpbmVzIGJlbG93IHRvIGhhdmUNCiAqIHRoZSBjb2RlIHJ1biB3aGVuIHRoaXMgZmlsZSBydW5zLg0KICoNCiAqIEluIGFkZGl0aW9uIHRvIHRoZXNlIHRlc3RzLCB5b3UnbGwgZmluZCBzb21lIGNvbW1lbnRlZCBjb2RlDQogKiBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIHRoYXQgY2FuIGJlIHVzZWQgdG8gdGVzdCB0aGUNCiAqIGZ1bmN0aW9uLg0KICoNCiAqIFJ1biB0aGUgY29kZSB3aXRoIHRoaXMgY29tbWFuZDoNCiAqIHBocCBtaW1lX3R5cGVfbGliLnBocA0KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQoNCi8qIFJFTU9WRSBNRSBUTyBURVNUDQplY2hvICJtYWdpY2ZpbGU6ICIgLiBpbmlfZ2V0KCAnbWltZV9tYWdpYy5tYWdpY2ZpbGUnICkgLiAiXG4iOw0KDQppZiAoIGZ1bmN0aW9uX2V4aXN0cyggJ2ZpbmZvX29wZW4nICkgKQ0KCWVjaG8gIkZvdW5kIGZpbmZvX29wZW4gZnVuY3Rpb25cbiI7DQplbHNlDQoJZWNobyAiRGlkIG5vdCBmaW5kIGZpbmZvX29wZW4gZnVuY3Rpb25cbiI7DQoNCmlmICggZnVuY3Rpb25fZXhpc3RzKCAnbWltZV9jb250ZW50X3R5cGUnICkgKQ0KCWVjaG8gIkZvdW5kIG1pbWVfY29udGVudF90eXBlIGZ1bmN0aW9uXG4iOw0KZWxzZQ0KCWVjaG8gIkRpZCBub3QgZmluZCBtaW1lX2NvbnRlbnRfdHlwZSBmdW5jdGlvblxuIjsNClJFTU9WRSBNRSBUTyBURVNUICovDQoNCiRtaW1lX3R5cGVzID0gYXJyYXkoDQoJJ2FpJyAgICAgID0+ICdhcHBsaWNhdGlvbi9wb3N0c2NyaXB0JywNCgknYWlmJyAgICAgPT4gJ2F1ZGlvL3gtYWlmZicsDQoJJ2FpZmMnICAgID0+ICdhdWRpby94LWFpZmYnLA0KCSdhaWZmJyAgICA9PiAnYXVkaW8veC1haWZmJywNCgknYXNjJyAgICAgPT4gJ3RleHQvcGxhaW4nLA0KCSdhc2YnICAgICA9PiAndmlkZW8veC1tcy1hc2YnLA0KCSdhc3gnICAgICA9PiAndmlkZW8veC1tcy1hc2YnLA0KCSdhdScgICAgICA9PiAnYXVkaW8vYmFzaWMnLA0KCSdhdmknICAgICA9PiAndmlkZW8veC1tc3ZpZGVvJywNCgknYmNwaW8nICAgPT4gJ2FwcGxpY2F0aW9uL3gtYmNwaW8nLA0KCSdiaW4nICAgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywNCgknYm1wJyAgICAgPT4gJ2ltYWdlL2JtcCcsDQoJJ2J6MicgICAgID0+ICdhcHBsaWNhdGlvbi94LWJ6aXAyJywNCgknY2RmJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtbmV0Y2RmJywNCgknY2hydCcgICAgPT4gJ2FwcGxpY2F0aW9uL3gta2NoYXJ0JywNCgknY2xhc3MnICAgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsDQoJJ2NwaW8nICAgID0+ICdhcHBsaWNhdGlvbi94LWNwaW8nLA0KCSdjcHQnICAgICA9PiAnYXBwbGljYXRpb24vbWFjLWNvbXBhY3Rwcm8nLA0KCSdjc2gnICAgICA9PiAnYXBwbGljYXRpb24veC1jc2gnLA0KCSdjc3MnICAgICA9PiAndGV4dC9jc3MnLA0KCSdkY3InICAgICA9PiAnYXBwbGljYXRpb24veC1kaXJlY3RvcicsDQoJJ2RpcicgICAgID0+ICdhcHBsaWNhdGlvbi94LWRpcmVjdG9yJywNCgknZGp2JyAgICAgPT4gJ2ltYWdlL3ZuZC5kanZ1JywNCgknZGp2dScgICAgPT4gJ2ltYWdlL3ZuZC5kanZ1JywNCgknZGxsJyAgICAgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsDQoJJ2RtcycgICAgID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLA0KCSdkb2MnICAgICA9PiAnYXBwbGljYXRpb24vbXN3b3JkJywNCgknZHZpJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtZHZpJywNCgknZHhyJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLA0KCSdlcHMnICAgICA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsDQoJJ2V0eCcgICAgID0+ICd0ZXh0L3gtc2V0ZXh0JywNCgknZXhlJyAgICAgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsDQoJJ2V6JyAgICAgID0+ICdhcHBsaWNhdGlvbi9hbmRyZXctaW5zZXQnLA0KCSdmbHYnICAgICA9PiAndmlkZW8veC1mbHYnLA0KCSdnaWYnICAgICA9PiAnaW1hZ2UvZ2lmJywNCgknZ3RhcicgICAgPT4gJ2FwcGxpY2F0aW9uL3gtZ3RhcicsDQoJJ2d6JyAgICAgID0+ICdhcHBsaWNhdGlvbi94LWd6aXAnLA0KCSdoZGYnICAgICA9PiAnYXBwbGljYXRpb24veC1oZGYnLA0KCSdocXgnICAgICA9PiAnYXBwbGljYXRpb24vbWFjLWJpbmhleDQwJywNCgknaHRtJyAgICAgPT4gJ3RleHQvaHRtbCcsDQoJJ2h0bWwnICAgID0+ICd0ZXh0L2h0bWwnLA0KCSdpY2UnICAgICA9PiAneC1jb25mZXJlbmNlL3gtY29vbHRhbGsnLA0KCSdpZWYnICAgICA9PiAnaW1hZ2UvaWVmJywNCgknaWdlcycgICAgPT4gJ21vZGVsL2lnZXMnLA0KCSdpZ3MnICAgICA9PiAnbW9kZWwvaWdlcycsDQoJJ2ltZycgICAgID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLA0KCSdpc28nICAgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywNCgknamFkJyAgICAgPT4gJ3RleHQvdm5kLnN1bi5qMm1lLmFwcC1kZXNjcmlwdG9yJywNCgknamFyJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtamF2YS1hcmNoaXZlJywNCgknam5scCcgICAgPT4gJ2FwcGxpY2F0aW9uL3gtamF2YS1qbmxwLWZpbGUnLA0KCSdqcGUnICAgICA9PiAnaW1hZ2UvanBlZycsDQoJJ2pwZWcnICAgID0+ICdpbWFnZS9qcGVnJywNCgknanBnJyAgICAgPT4gJ2ltYWdlL2pwZWcnLA0KCSdqcycgICAgICA9PiAnYXBwbGljYXRpb24veC1qYXZhc2NyaXB0JywNCgkna2FyJyAgICAgPT4gJ2F1ZGlvL21pZGknLA0KCSdraWwnICAgICA9PiAnYXBwbGljYXRpb24veC1raWxsdXN0cmF0b3InLA0KCSdrcHInICAgICA9PiAnYXBwbGljYXRpb24veC1rcHJlc2VudGVyJywNCgkna3B0JyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gta3ByZXNlbnRlcicsDQoJJ2tzcCcgICAgID0+ICdhcHBsaWNhdGlvbi94LWtzcHJlYWQnLA0KCSdrd2QnICAgICA9PiAnYXBwbGljYXRpb24veC1rd29yZCcsDQoJJ2t3dCcgICAgID0+ICdhcHBsaWNhdGlvbi94LWt3b3JkJywNCgknbGF0ZXgnICAgPT4gJ2FwcGxpY2F0aW9uL3gtbGF0ZXgnLA0KCSdsaGEnICAgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywNCgknbHpoJyAgICAgPT4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsDQoJJ20zdScgICAgID0+ICdhdWRpby94LW1wZWd1cmwnLA0KCSdtYW4nICAgICA9PiAnYXBwbGljYXRpb24veC10cm9mZi1tYW4nLA0KCSdtZScgICAgICA9PiAnYXBwbGljYXRpb24veC10cm9mZi1tZScsDQoJJ21lc2gnICAgID0+ICdtb2RlbC9tZXNoJywNCgknbWlkJyAgICAgPT4gJ2F1ZGlvL21pZGknLA0KCSdtaWRpJyAgICA9PiAnYXVkaW8vbWlkaScsDQoJJ21pZicgICAgID0+ICdhcHBsaWNhdGlvbi92bmQubWlmJywNCgknbW92JyAgICAgPT4gJ3ZpZGVvL3F1aWNrdGltZScsDQoJJ21vdmllJyAgID0+ICd2aWRlby94LXNnaS1tb3ZpZScsDQoJJ21wMicgICAgID0+ICdhdWRpby9tcGVnJywNCgknbXAzJyAgICAgPT4gJ2F1ZGlvL21wZWcnLA0KCSdtcGUnICAgICA9PiAndmlkZW8vbXBlZycsDQoJJ21wZWcnICAgID0+ICd2aWRlby9tcGVnJywNCgknbXBnJyAgICAgPT4gJ3ZpZGVvL21wZWcnLA0KCSdtcGdhJyAgICA9PiAnYXVkaW8vbXBlZycsDQoJJ21zJyAgICAgID0+ICdhcHBsaWNhdGlvbi94LXRyb2ZmLW1zJywNCgknbXNoJyAgICAgPT4gJ21vZGVsL21lc2gnLA0KCSdteHUnICAgICA9PiAndmlkZW8vdm5kLm1wZWd1cmwnLA0KCSduYycgICAgICA9PiAnYXBwbGljYXRpb24veC1uZXRjZGYnLA0KCSdvZGInICAgICA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5kYXRhYmFzZScsDQoJJ29kYycgICAgID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmNoYXJ0JywNCgknb2RmJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZm9ybXVsYScsDQoJJ29kZycgICAgID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmdyYXBoaWNzJywNCgknb2RpJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuaW1hZ2UnLA0KCSdvZG0nICAgICA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LW1hc3RlcicsDQoJJ29kcCcgICAgID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbicsDQoJJ29kcycgICAgID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0JywNCgknb2R0JyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dCcsDQoJJ29nZycgICAgID0+ICdhcHBsaWNhdGlvbi9vZ2cnLA0KCSdvdGcnICAgICA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljcy10ZW1wbGF0ZScsDQoJJ290aCcgICAgID0+ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQtd2ViJywNCgknb3RwJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQucHJlc2VudGF0aW9uLXRlbXBsYXRlJywNCgknb3RzJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQtdGVtcGxhdGUnLA0KCSdvdHQnICAgICA9PiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LXRlbXBsYXRlJywNCgkncGJtJyAgICAgPT4gJ2ltYWdlL3gtcG9ydGFibGUtYml0bWFwJywNCgkncGRiJyAgICAgPT4gJ2NoZW1pY2FsL3gtcGRiJywNCgkncGRmJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3BkZicsDQoJJ3BnbScgICAgID0+ICdpbWFnZS94LXBvcnRhYmxlLWdyYXltYXAnLA0KCSdwZ24nICAgICA9PiAnYXBwbGljYXRpb24veC1jaGVzcy1wZ24nLA0KCSdwbmcnICAgICA9PiAnaW1hZ2UvcG5nJywNCgkncG5tJyAgICAgPT4gJ2ltYWdlL3gtcG9ydGFibGUtYW55bWFwJywNCgkncHBtJyAgICAgPT4gJ2ltYWdlL3gtcG9ydGFibGUtcGl4bWFwJywNCgkncHB0JyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50JywNCgkncHMnICAgICAgPT4gJ2FwcGxpY2F0aW9uL3Bvc3RzY3JpcHQnLA0KCSdxdCcgICAgICA9PiAndmlkZW8vcXVpY2t0aW1lJywNCgkncmEnICAgICAgPT4gJ2F1ZGlvL3gtcmVhbGF1ZGlvJywNCgkncmFtJyAgICAgPT4gJ2F1ZGlvL3gtcG4tcmVhbGF1ZGlvJywNCgkncmFzJyAgICAgPT4gJ2ltYWdlL3gtY211LXJhc3RlcicsDQoJJ3JnYicgICAgID0+ICdpbWFnZS94LXJnYicsDQoJJ3JtJyAgICAgID0+ICdhdWRpby94LXBuLXJlYWxhdWRpbycsDQoJJ3JvZmYnICAgID0+ICdhcHBsaWNhdGlvbi94LXRyb2ZmJywNCgkncnBtJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtcnBtJywNCgkncnRmJyAgICAgPT4gJ3RleHQvcnRmJywNCgkncnR4JyAgICAgPT4gJ3RleHQvcmljaHRleHQnLA0KCSdzZ20nICAgICA9PiAndGV4dC9zZ21sJywNCgknc2dtbCcgICAgPT4gJ3RleHQvc2dtbCcsDQoJJ3NoJyAgICAgID0+ICdhcHBsaWNhdGlvbi94LXNoJywNCgknc2hhcicgICAgPT4gJ2FwcGxpY2F0aW9uL3gtc2hhcicsDQoJJ3NpbG8nICAgID0+ICdtb2RlbC9tZXNoJywNCgknc2lzJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zeW1iaWFuLmluc3RhbGwnLA0KCSdzaXQnICAgICA9PiAnYXBwbGljYXRpb24veC1zdHVmZml0JywNCgknc2tkJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gta29hbicsDQoJJ3NrbScgICAgID0+ICdhcHBsaWNhdGlvbi94LWtvYW4nLA0KCSdza3AnICAgICA9PiAnYXBwbGljYXRpb24veC1rb2FuJywNCgknc2t0JyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gta29hbicsDQoJJ3NtaScgICAgID0+ICdhcHBsaWNhdGlvbi9zbWlsJywNCgknc21pbCcgICAgPT4gJ2FwcGxpY2F0aW9uL3NtaWwnLA0KCSdzbmQnICAgICA9PiAnYXVkaW8vYmFzaWMnLA0KCSdzbycgICAgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywNCgknc3BsJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtZnV0dXJlc3BsYXNoJywNCgknc3JjJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtd2Fpcy1zb3VyY2UnLA0KCSdzdGMnICAgICA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwuY2FsYy50ZW1wbGF0ZScsDQoJJ3N0ZCcgICAgID0+ICdhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5kcmF3LnRlbXBsYXRlJywNCgknc3RpJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmltcHJlc3MudGVtcGxhdGUnLA0KCSdzdHcnICAgICA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyLnRlbXBsYXRlJywNCgknc3Y0Y3BpbycgPT4gJ2FwcGxpY2F0aW9uL3gtc3Y0Y3BpbycsDQoJJ3N2NGNyYycgID0+ICdhcHBsaWNhdGlvbi94LXN2NGNyYycsDQoJJ3N3ZicgICAgID0+ICdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcsDQoJJ3N4YycgICAgID0+ICdhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5jYWxjJywNCgknc3hkJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmRyYXcnLA0KCSdzeGcnICAgICA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyLmdsb2JhbCcsDQoJJ3N4aScgICAgID0+ICdhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5pbXByZXNzJywNCgknc3htJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLm1hdGgnLA0KCSdzeHcnICAgICA9PiAnYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyJywNCgkndCcgICAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtdHJvZmYnLA0KCSd0YXInICAgICA9PiAnYXBwbGljYXRpb24veC10YXInLA0KCSd0Y2wnICAgICA9PiAnYXBwbGljYXRpb24veC10Y2wnLA0KCSd0ZXgnICAgICA9PiAnYXBwbGljYXRpb24veC10ZXgnLA0KCSd0ZXhpJyAgICA9PiAnYXBwbGljYXRpb24veC10ZXhpbmZvJywNCgkndGV4aW5mbycgPT4gJ2FwcGxpY2F0aW9uL3gtdGV4aW5mbycsDQoJJ3RneicgICAgID0+ICdhcHBsaWNhdGlvbi94LWd6aXAnLA0KCSd0aWYnICAgICA9PiAnaW1hZ2UvdGlmZicsDQoJJ3RpZmYnICAgID0+ICdpbWFnZS90aWZmJywNCgkndG9ycmVudCcgPT4gJ2FwcGxpY2F0aW9uL3gtYml0dG9ycmVudCcsDQoJJ3RyJyAgICAgID0+ICdhcHBsaWNhdGlvbi94LXRyb2ZmJywNCgkndHN2JyAgICAgPT4gJ3RleHQvdGFiLXNlcGFyYXRlZC12YWx1ZXMnLA0KCSd0eHQnICAgICA9PiAndGV4dC9wbGFpbicsDQoJJ3VzdGFyJyAgID0+ICdhcHBsaWNhdGlvbi94LXVzdGFyJywNCgkndmNkJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3gtY2RsaW5rJywNCgkndnJtbCcgICAgPT4gJ21vZGVsL3ZybWwnLA0KCSd3YXYnICAgICA9PiAnYXVkaW8veC13YXYnLA0KCSd3YXgnICAgICA9PiAnYXVkaW8veC1tcy13YXgnLA0KCSd3Ym1wJyAgICA9PiAnaW1hZ2Uvdm5kLndhcC53Ym1wJywNCgknd2J4bWwnICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53YXAud2J4bWwnLA0KCSd3bScgICAgICA9PiAndmlkZW8veC1tcy13bScsDQoJJ3dtYScgICAgID0+ICdhdWRpby94LW1zLXdtYScsDQoJJ3dtbCcgICAgID0+ICd0ZXh0L3ZuZC53YXAud21sJywNCgknd21sYycgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53YXAud21sYycsDQoJJ3dtbHMnICAgID0+ICd0ZXh0L3ZuZC53YXAud21sc2NyaXB0JywNCgknd21sc2MnICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC53YXAud21sc2NyaXB0YycsDQoJJ3dtdicgICAgID0+ICd2aWRlby94LW1zLXdtdicsDQoJJ3dteCcgICAgID0+ICd2aWRlby94LW1zLXdteCcsDQoJJ3dybCcgICAgID0+ICdtb2RlbC92cm1sJywNCgknd3Z4JyAgICAgPT4gJ3ZpZGVvL3gtbXMtd3Z4JywNCgkneGJtJyAgICAgPT4gJ2ltYWdlL3gteGJpdG1hcCcsDQoJJ3hodCcgICAgID0+ICdhcHBsaWNhdGlvbi94aHRtbCt4bWwnLA0KCSd4aHRtbCcgICA9PiAnYXBwbGljYXRpb24veGh0bWwreG1sJywNCgkneGxzJyAgICAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsDQoJJ3htbCcgICAgID0+ICd0ZXh0L3htbCcsDQoJJ3hwbScgICAgID0+ICdpbWFnZS94LXhwaXhtYXAnLA0KCSd4c2wnICAgICA9PiAndGV4dC94bWwnLA0KCSd4d2QnICAgICA9PiAnaW1hZ2UveC14d2luZG93ZHVtcCcsDQoJJ3h5eicgICAgID0+ICdjaGVtaWNhbC94LXh5eicsDQoJJ3ppcCcgICAgID0+ICdhcHBsaWNhdGlvbi96aXAnDQopOw0KDQppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCdnZXRfZXh0ZW5zaW9uX2Zyb21fbWltZScpKQ0Kew0KCWZ1bmN0aW9uIGdldF9leHRlbnNpb25fZnJvbV9taW1lKCRtaW1lKXsNCgkJZ2xvYmFsICRtaW1lX3R5cGVzOw0KCQlpZihzdHJwb3MoJG1pbWUsICc7JykhPT1GQUxTRSl7DQoJCQkkbWltZSA9IHN1YnN0cigkbWltZSwgMCxzdHJwb3MoJG1pbWUsICc7JykpOw0KCQl9DQoJCSRtaW1lX3R5cGVzX2NvbnYgPSBhcnJheV9mbGlwKCRtaW1lX3R5cGVzKTsNCgkJaWYoaXNzZXQoJG1pbWVfdHlwZXNfY29udlskbWltZV0pKXsNCgkJCXJldHVybiAkbWltZV90eXBlc19jb252WyRtaW1lXTsNCgkJfQ0KCQlyZXR1cm4gJyc7DQoJfQ0KfQ0KDQppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCdnZXRfZmlsZV9taW1lX3R5cGUnKSkNCnsNCglmdW5jdGlvbiBnZXRfZmlsZV9taW1lX3R5cGUoJGZpbGVuYW1lLCAkZGVidWcgPSBmYWxzZSkNCgl7DQoJCWlmIChmdW5jdGlvbl9leGlzdHMoJ2ZpbmZvX29wZW4nKSAmJiBmdW5jdGlvbl9leGlzdHMoJ2ZpbmZvX2ZpbGUnKSAmJiBmdW5jdGlvbl9leGlzdHMoJ2ZpbmZvX2Nsb3NlJykpDQoJCXsNCgkJCSRmaWxlaW5mbyA9IGZpbmZvX29wZW4oRklMRUlORk9fTUlNRSk7DQoJCQkkbWltZV90eXBlID0gZmluZm9fZmlsZSgkZmlsZWluZm8sICRmaWxlbmFtZSk7DQoJCQlmaW5mb19jbG9zZSgkZmlsZWluZm8pOw0KDQoJCQlpZiAoICEgZW1wdHkoJG1pbWVfdHlwZSkpDQoJCQl7DQoJCQkJaWYgKHRydWUgPT09ICRkZWJ1ZykNCgkJCQl7DQoJCQkJCXJldHVybiBhcnJheSggJ21pbWVfdHlwZScgPT4gJG1pbWVfdHlwZSwgJ21ldGhvZCcgPT4gJ2ZpbGVpbmZvJyApOw0KCQkJCX0NCg0KCQkJCXJldHVybiAkbWltZV90eXBlOw0KCQkJfQ0KCQl9DQoJCWlmIChmdW5jdGlvbl9leGlzdHMoJ21pbWVfY29udGVudF90eXBlJykpDQoJCXsNCgkJCSRtaW1lX3R5cGUgPSBtaW1lX2NvbnRlbnRfdHlwZSgkZmlsZW5hbWUpOw0KDQoJCQlpZiAoICEgZW1wdHkoJG1pbWVfdHlwZSkpDQoJCQl7DQoJCQkJaWYgKHRydWUgPT09ICRkZWJ1ZykNCgkJCQl7DQoJCQkJCXJldHVybiBhcnJheSggJ21pbWVfdHlwZScgPT4gJG1pbWVfdHlwZSwgJ21ldGhvZCcgPT4gJ21pbWVfY29udGVudF90eXBlJyApOw0KCQkJCX0NCg0KCQkJCXJldHVybiAkbWltZV90eXBlOw0KCQkJfQ0KCQl9DQoNCgkJZ2xvYmFsICRtaW1lX3R5cGVzOw0KDQoJCSR0bXBfYXJyYXkgPSBleHBsb2RlKCcuJywgJGZpbGVuYW1lKTsNCgkJJGV4dCA9IHN0cnRvbG93ZXIoYXJyYXlfcG9wKCR0bXBfYXJyYXkpKTsNCg0KCQlpZiAoICEgZW1wdHkoJG1pbWVfdHlwZXNbICRleHQgXSkpDQoJCXsNCgkJCWlmICh0cnVlID09PSAkZGVidWcpDQoJCQl7DQoJCQkJcmV0dXJuIGFycmF5KCAnbWltZV90eXBlJyA9PiAkbWltZV90eXBlc1sgJGV4dCBdLCAnbWV0aG9kJyA9PiAnZnJvbV9hcnJheScgKTsNCgkJCX0NCg0KCQkJcmV0dXJuICRtaW1lX3R5cGVzWyAkZXh0IF07DQoJCX0NCg0KCQlpZiAodHJ1ZSA9PT0gJGRlYnVnKQ0KCQl7DQoJCQlyZXR1cm4gYXJyYXkoICdtaW1lX3R5cGUnID0+ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLCAnbWV0aG9kJyA9PiAnbGFzdF9yZXNvcnQnICk7DQoJCX0NCg0KCQlyZXR1cm4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7DQoJfQ0KfQ0KDQoNCi8qKioqKioqKioqKioqKioqKioqKg0KICogVGhlIGZvbGxvd2luZyBjb2RlIGNhbiBiZSB1c2VkIHRvIHRlc3QgdGhlIGZ1bmN0aW9uLg0KICogRmlyc3QgcHV0IGEgcGxhaW4gdGV4dCBmaWxlIG5hbWVkICJ0ZXN0LnR4dCIgYW5kIGENCiAqIEpQRUcgaW1hZ2UgZmlsZSBuYW1lZCAiaW1hZ2UuanBnIiBpbiB0aGUgc2FtZSBmb2xkZXINCiAqIGFzIHRoaXMgZmlsZS4NCiAqDQogKiBTaW1wbHkgcmVtb3ZlIHRoZSAiUkVNT1ZFIE1FIFRPIFRFU1QiIGxpbmVzIGJlbG93IHRvIGhhdmUNCiAqIHRoZSBjb2RlIHJ1biB3aGVuIHRoaXMgZmlsZSBydW5zLg0KICoNCiAqIFJ1biB0aGUgY29kZSB3aXRoIHRoaXMgY29tbWFuZDoNCiAqIHBocCBtaW1lX3R5cGVfbGliLnBocA0KICoqKioqKioqKioqKioqKioqKioqLw0KDQoNCi8qIFJFTU9WRSBNRSBUTyBURVNUDQplY2hvIGdldF9maWxlX21pbWVfdHlwZSggJ3Rlc3QudHh0JyApIC4gIlxuIjsNCmVjaG8gcHJpbnRfciggZ2V0X2ZpbGVfbWltZV90eXBlKCAnaW1hZ2UuanBnJywgdHJ1ZSApLCB0cnVlICkgLiAiXG4iOw0KUkVNT1ZFIE1FIFRPIFRFU1QgKi8NCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/php_image_magician.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0jCiMKIyAgVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uIDMuMCBVbnBvcnRlZAojICBMaWNlbnNlLiBUbyB2aWV3IGEgY29weSBvZiB0aGlzIGxpY2Vuc2UsCiMgIHZpc2l0IGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8gb3Igc2VuZCBhIGxldHRlciB0bwojICBDcmVhdGl2ZSBDb21tb25zLCA0NDQgQ2FzdHJvIFN0cmVldCwgU3VpdGUgOTAwLCBNb3VudGFpbiBWaWV3LCBDYWxpZm9ybmlhLAojICA5NDA0MSwgVVNBLgojCiMgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiMKIyAgQXV0aG9yOiAgICBKYXJyb2QgT2JlcnRvCiMgIFZlcnNpb246ICAgMS41LjEKIyAgRGF0ZTogICAgICAxMC0wNS0xMQojICBQdXJwb3NlOiAgIFByb3ZpZGUgdG9vbHMgZm9yIGltYWdlIG1hbmlwdWxhdGlvbiB1c2luZyBHRAojICBQYXJhbSBJbjogIFNlZSBmdW5jdGlvbnMuCiMgIFBhcmFtIE91dDogUHJvZHVjZXMgYSByZXNpemVkIGltYWdlCiMgIFJlcXVpcmVzIDogUmVxdWlyZXMgUEhQIEdEIGxpYnJhcnkuCiMgIFVzYWdlIEV4YW1wbGU6CiMgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlKCJsaWIvcGhwX2ltYWdlX21hZ2ljaWFuLnBocCIpOwojICAgICAgICAgICAgICAgICAgICAgJG1hZ2ljaWFuT2JqID0gbmV3IHJlc2l6ZSgnaW1hZ2VzL2Nhci5qcGcnKTsKIyAgICAgICAgICAgICAgICAgICAgICRtYWdpY2lhbk9iaiAtPiByZXNpemVJbWFnZSgxNTAsIDEwMCwgMCk7CiMgICAgICAgICAgICAgICAgICAgICAkbWFnaWNpYW5PYmogLT4gc2F2ZUltYWdlKCdpbWFnZXMvY2FyX3NtYWxsLmpwZycsIDEwMCk7CiMKIyAgICAgICAgLSBTZWUgZW5kIG9mIGRvYyBmb3IgbW9yZSBleGFtcGxlcyAtCiMKIyAgU3VwcG9ydGVkIGZpbGUgdHlwZXMgaW5jbHVkZToganBnLCBwbmcsIGdpZiwgYm1wLCBwc2QgKHJlYWQpCiMKIwojCiMgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSB0YWtlbiBmcm9tIHBocFRodW1iKCkgW2F2YWlsYWJsZSBmcm9tCiMgICAgaHR0cDovL3BocHRodW1iLnNvdXJjZWZvcmdlLm5ldF0sIGFuZCBhcmUgdXNlZCB3aXRoIHdyaXR0ZW4gcGVybWlzc2lvbgojICBmcm9tIEphbWVzIEhlaW5yaWNoLgojICAgIC0gR0QyQk1Qc3RyaW5nCiMgICAgICAtIEdldFBpeGVsQ29sb3IKIyAgICAgIC0gTGl0dGxlRW5kaWFuMlN0cmluZwojCiMgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSBmcm9tIE1hcmMgSGliYmlucyBhbmQgYXJlIHVzZWQgd2l0aCB3cml0dGVuCiMgIHBlcm1pc3Npb24gKGFyZSBhbHNvIHVuZGVyIHRoZSBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlCiMgIFtodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8zLjAvXSBsaWNlbnNlLgojICAgIC0KIwojICBQaHBQc2RSZWFkZXIgaXMgdXNlZCB3aXRoIHdyaXR0ZW4gcGVybWlzc2lvbiBmcm9tIFRpbSBkZSBLb25pbmcuCiMgIFtodHRwOi8vd3d3LmtpbmdzcXVhcmUubmwvcGhwcHNkcmVhZGVyXQojCiMKIwojICBNb2RpZmljYXRvaW4gaGlzdG9yeQojICBEYXRlICAgICAgSW5pdGlhbHMgIFZlciBEZXNjcmlwdGlvbgojICAxMC0wNS0xMSAgSi5DLk8gICAwLjAgSW5pdGlhbCBidWlsZAojICAwMS0wNi0xMSAgSi5DLk8gICAwLjEuMSAgICogQWRkZWQgcmVmbGVjdGlvbnMKIyAgICAgICAgICAgICAgKiBBZGRlZCBSb3VuZGVkIGNvcm5lcnMKIyAgICAgICAgICAgICAgKiBZb3UgY2FuIG5vdyB1c2UgUE5HIGludGVybGFjaW5nCiMgICAgICAgICAgICAgICogQWRkZWQgc2hhZG93CiMgICAgICAgICAgICAgICogQWRkZWQgY2FwdGlvbiBib3gKIyAgICAgICAgICAgICAgKiBBZGRlZCB2aW50YWdlIGZpbHRlcgojICAgICAgICAgICAgICAqIEFkZGVkIGR5bmFtaWMgaW1hZ2UgcmVzaXppbmcgKHJlc2l6ZSBvbiB0aGUgZmx5KQojICAgICAgICAgICAgICAqIG1pbm9yIGJ1ZyBmaXhlcwojICAwNS0wNi0xMSAgSi5DLk8gICAwLjEuMS4xICogRml4ZWQgdW5kZWZpbmVkIHZhcmlhYmxlcwojICAxNy0wNi0xMSAgSi5DLk8gICAwLjEuMiAgICogQWRkZWQgaW1hZ2VfYmF0Y2hfY2xhc3MucGhwIGNsYXNzCiMgICAgICAgICAgICAgICogTWlub3IgYnVnIGZpeGVzCiMgIDI2LTA3LTExICBKLkMuTyAgIDAuMS40ICogQWRkZWQgc3VwcG9ydCBmb3IgZXh0ZXJuYWwgaW1hZ2VzCiMgICAgICAgICAgICAgICogQ2FuIG5vdyBzZXQgdGhlIGNyb3AgcG9pc2l0aW9uCiMgIDAzLTA4LTExICBKLkMuTyAgIDAuMS41ICogQWRkZWQgcmVzZXQoKSBtZXRob2QgdG8gcmVzZXQgcmVzb3VyY2UgdG8KIyAgICAgICAgICAgICAgICBvcmlnaW5hbCBpbnB1dCBmaWxlLgojICAgICAgICAgICAgICAqIEFkZGVkIG1ldGhvZCBhZGRUZXh0VG9DYXB0aW9uQm94KCkgdG8KIyAgICAgICAgICAgICAgICBzaW1wbGlmeSBhZGRpbmcgdGV4dCB0byBhIGNhcHRpb24gYm94LgojICAgICAgICAgICAgICAqIEFkZGVkIGV4cGVyaW1lbnRhbCB3cml0ZUlQVEMuIChub3QgZmluaXNoZWQpCiMgICAgICAgICAgICAgICogQWRkZWQgZXhwZXJpbWVudGFsIHJlYWRJUFRDLiAobm90IGZpbmlzaGVkKQojICAxMS0wOC0xMSAgSi5DLk8gICAgICogQWRkZWQgaW5pdGlhbCBib3JkZXIgcHJlc2V0cy4KIyAgMzAtMDgtMTEgIEouQy5PICAgICAqIEFkZGVkICdhdXRvJyBjcm9wIG9wdGlvbiB0byBjcm9wIHBvcnRyYWl0CiMgICAgICAgICAgICAgICAgaW1hZ2VzIG5lYXIgdGhlIHRvcC4KIyAgMDgtMDktMTEgIEouQy5PICAgICAqIEFkZGVkIGNyb3BJbWFnZSgpIG1ldGhvZCB0byBhbGxvdyBzdGFuZGFsb25lCiMgICAgICAgICAgICAgICAgY3JvcHBpbmcuCiMgIDE3LTA5LTExICBKLkMuTyAgICAgKiBBZGRlZCBzZXRDcm9wRnJvbVRvcCgpIHNldCBtZXRob2QgLSBzZXQgdGhlCiMgICAgICAgICAgICAgICAgcGVyY2VudGFnZSB0byBjcm9wIGZyb20gdGhlIHRvcCB3aGVuIHVzaW5nCiMgICAgICAgICAgICAgICAgY3JvcCAnYXV0bycgb3B0aW9uLgojICAgICAgICAgICAgICAqIEFkZGVkIHNldFRyYW5zcGFyZW5jeSgpIHNldCBtZXRob2QgLSBhbGxvd3MgeW91CiMgICAgICAgICAgICAgICAgdG8gdHVybiB0cmFuc3BhcmVuY3kgb2ZmIChsaWtlIHdoZW4gc2F2aW5nCiMgICAgICAgICAgICAgICAgYXMgYSBqcGcpLgojICAgICAgICAgICAgICAqIEFkZGVkIHNldEZpbGxDb2xvcigpIHNldCBtZXRob2QgLSBzZXQgdGhlCiMgICAgICAgICAgICAgICAgYmFja2dyb3VuZCBjb2xvciB0byB1c2UgaW5zdGVhZCBvZiB0cmFuc3BhcmVuY3kuCiMgIDA1LTExLTExICBKLkMuTyAgIDAuMS41LjEgKiBGaXhlZCBpbnRlcmxhY2luZyBvcHRpb24KIyAgMC0wNy0xMiAgSi5DLk8gICAxLjAKIwojICBLbm93biBpc3N1ZXMgJiBMaW1pdGF0aW9uczoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgIE5vdCBzbyBtdWNoIGFuIGlzc3VlLCB0aGUgaW1hZ2UgaXMgZGVzdHJveWVkIG9uIHRoZSBkZWNvbnN0cnVjdCByYXRoZXIgdGhhbgojICB3aGVuIHdlIGhhdmUgZmluaXNoZWQgd2l0aCBpdC4gVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IHdlIGRvbid0IGtub3cKIyAgd2hlbiB3ZSdyZSBmaW5pc2hlZCB3aXRoIGl0IGFzIHlvdSBjYW4gYm90aCBzYXZlIHRoZSBpbWFnZSBhbmQgZGlzcGxheQojICBpdCBkaXJlY3RseSB0byB0aGUgc2NyZWVuIChpbWFnZWRlc3Ryb3koJHRoaXMtPmltYWdlUmVzaXplZCkpCiMKIyAgT3BlbmluZyBCTVAgZmlsZXMgaXMgc2xvdy4gQSB0ZXN0IHdpdGggODg0IGJtcCBmaWxlcyBwcm9jZXNzZWQgaW4gYSBsb29wCiMgIHRha2VzIGZvcmV2ZXIgLSBvdmVyIDUgbWluLiBUaGlzIHRlc3QgaW5sY3VkZWQgb3BlbmluZyB0aGUgZmlsZSwgdGhlbgojICBnZXR0aW5nIGFuZCBkaXNwbGF5aW5nIGl0cyB3aWR0aCBhbmQgaGVpZ2h0LgojCiMgICRmb3JjZVN0cmV0Y2g6CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICBPbiBieSBkZWZhdWx0LgojICAkZm9yY2VTdHJldGNoIGNhbiBiZSBkaXNhYmxlZCBieSBjYWxsaW5nIG1ldGhvZCBzZXRGb3JjZVN0cmV0Y2ggd2l0aCBmYWxzZQojICBwYXJhbWV0ZXIuIElmIGRpc2FibGVkLCBpZiBhbiBpbWFnZXMgb3JpZ2luYWwgc2l6ZSBpcyBzbWFsbGVyIHRoYW4gdGhlIHNpemUKIyAgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLCB0aGUgb3JpZ2luYWwgc2l6ZSB3aWxsIGJlIHVzZWQuIFRoaXMgaXMgdXNlZnVsIHdoZW4KIyAgZGVhbGluZyB3aXRoIHNtYWxsIGltYWdlcy4KIwojICBJZiBlbmFibGVkLCBpbWFnZXMgc21hbGxlciB0aGFuIHRoZSBzaXplIHNwZWNpZmllZCB3aWxsIGJlIHN0cmV0Y2hlZCB0bwojICB0aGF0IHNpemUuCiMKIyAgVGlwczoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgICogSWYgeW91J3JlIHJlc2l6aW5nIGEgdHJhbnNwYXJlbnQgcG5nIGFuZCBzYXZpbmcgaXQgYXMgYSBqcGcsIHNldAojICAka2VlcFRyYW5zcGFyZW5jeSB0byBmYWxzZSB3aXRoOiAkbWFnaWNpYW5PYmotPnNldFRyYW5zcGFyZW5jeShmYWxzZSk7CiMKIyAgRkVBVFVSRVM6CiMgICAgKiBFQVNZIFRPIFVTRQojICAgICogQk1QIFNVUFBPUlQgKHJlYWQgJiB3cml0ZSkKIyAgICAqIFBTRCAocGhvdG9zaG9wKSBzdXBwb3J0IChyZWFkKQojICAgICogUkVTSVpFIElNQUdFUwojICAgICAgLSBQcmVzZXJ2ZSB0cmFuc3BhcmVuY3kgKHBuZywgZ2lmKQojICAgICAgLSBBcHBseSBzaGFycGVuaW5nIChqcGcpIChyZXF1aXJlcyBQSFAgPj0gNS4xLjApCiMgICAgICAtIFNldCBpbWFnZSBxdWFsaXR5IChqcGcsIHBuZykKIyAgICAgIC0gUmVzaXplIG1vZGVzOgojICAgICAgICAtIGV4YWN0IHNpemUKIyAgICAgICAgLSByZXNpemUgYnkgd2lkdGggKGF1dG8gaGVpZ2h0KQojICAgICAgICAtIHJlc2l6ZSBieSBoZWlnaHQgKGF1dG8gd2lkdGgpCiMgICAgICAgIC0gYXV0byAoYXV0b21hdGljYWxseSBkZXRlcm1pbmUgdGhlIGJlc3Qgb2YgdGhlIGFib3ZlIG1vZGVzIHRvIHVzZSkKIyAgICAgICAgLSBjcm9wIC0gcmVzaXplIGFzIGJlc3QgYXMgaXQgY2FuIHRoZW4gY3JvcCB0aGUgcmVzdAojICAgICAgLSBGb3JjZSBzdHJldGNoaW5nIG9mIHNtYWxsZXIgaW1hZ2VzICh1cHNjYWxlKQojICAgICogQVBQTFkgRklMVEVSUwojICAgICAgLSBDb252ZXJ0IHRvIGdyZXkgc2NhbGUKIyAgICAgIC0gQ29udmVydCB0byBibGFjayBhbmQgd2hpdGUKIyAgICAgIC0gQ29udmVydCB0byBzZXBpYQojICAgICAgLSBDb252ZXJ0IHRvIG5lZ2F0aXZlCiMgICAgKiBST1RBVEUgSU1BR0VTCiMgICAgICAtIFJvdGF0ZSB1c2luZyBwcmVkZWZpbmVkICJsZWZ0IiwgInJpZ2h0Iiwgb3IgIjE4MCI7IG9yIGFueSBjdXN0b20gZGVncmVlIGFtb3VudAojICAgICogRVhUUkFDVCBFWElGIERBVEEgKHJlcXVpcmVzIGV4aWYgbW9kdWxlKQojICAgICAgLSBtYWtlCiMgICAgICAtIG1vZGVsCiMgICAgICAtIGRhdGUKIyAgICAgIC0gZXhwb3N1cmUKIyAgICAgIC0gYXBlcnR1cmUKIyAgICAgIC0gZi1zdG9wCiMgICAgICAtIGlzbwojICAgICAgLSBmb2NhbCBsZW5ndGgKIyAgICAgIC0gZXhwb3N1cmUgcHJvZ3JhbQojICAgICAgLSBtZXRlcmluZyBtb2RlCiMgICAgICAtIGZsYXNoIHN0YXR1cwojICAgICAgLSBjcmVhdG9yCiMgICAgICAtIGNvcHlyaWdodAojICAgICogQUREIFdBVEVSTUFSSwojICAgICAgLSBTcGVjaWZ5IGV4YWN0IHgsIHkgcGxhY2VtZW50CiMgICAgICAtIE9yLCBzcGVjaWZ5IHVzaW5nIG9uZSBvZiB0aGUgOSBwcmUtZGVmaW5lZCBwbGFjZW1lbnRzIHN1Y2ggYXMgInRsIgojICAgICAgICAoZm9yIHRvcCBsZWZ0KSwgIm0iIChmb3IgbWlkZGxlKSwgImJyIiAoZm9yIGJvdHRvbSByaWdodCkKIyAgICAgICAgLSBhbHNvIHNwZWNpZnkgcGFkZGluZyBmcm9tIGVkZ2UgYW1vdW50IChvcHRpb25hbCkuCiMgICAgICAtIFNldCBvcGFjaXR5IG9mIHdhdGVybWFyayAocG5nKS4KIyAgICAqIEFERCBCT1JERVIKIyAgICAqIFVTRSBIRVggV0hFTiBTUEVDSUZZSU5HIENPTE9SUyAoZWc6ICNmZmZmZmYpCiMgICAgKiBTQVZFIElNQUdFIE9SIE9VVFBVVCBUTyBTQ1JFRU4KIwojCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IwoKCmNsYXNzIGltYWdlTGliIHsKCglwcml2YXRlICAgJGZpbGVOYW1lOwoJcHJpdmF0ZSAgICRpbWFnZTsKCXByb3RlY3RlZCAkaW1hZ2VSZXNpemVkOwoJcHJpdmF0ZSAgICR3aWR0aE9yaWdpbmFsOyAgICAgIyBBbHdheXMgYmUgdGhlIG9yaWdpbmFsIHdpZHRoCglwcml2YXRlICAgJGhlaWdodE9yaWdpbmFsOwoJcHJpdmF0ZSAgICR3aWR0aDsgICAgICAgICAjIEN1cnJlbnQgd2lkdGggKHdpZHRoIGFmdGVyIHJlc2l6ZSkKCXByaXZhdGUgICAkaGVpZ2h0OwoJcHJpdmF0ZSAgICRpbWFnZVNpemU7Cglwcml2YXRlICAgJGZpbGVFeHRlbnNpb247CgoJcHJpdmF0ZSAkZGVidWcgICAgICA9IHRydWU7Cglwcml2YXRlICRlcnJvckFycmF5ID0gYXJyYXkoKTsKCglwcml2YXRlICRmb3JjZVN0cmV0Y2ggICAgICAgID0gdHJ1ZTsKCXByaXZhdGUgJGFnZ3Jlc2l2ZVNoYXJwZW5pbmcgPSBmYWxzZTsKCglwcml2YXRlICR0cmFuc3BhcmVudEFycmF5ID0gYXJyYXkoICcucG5nJywgJy5naWYnICk7Cglwcml2YXRlICRrZWVwVHJhbnNwYXJlbmN5ID0gdHJ1ZTsKCXByaXZhdGUgJGZpbGxDb2xvckFycmF5ICAgPSBhcnJheSggJ3InID0+IDI1NSwgJ2cnID0+IDI1NSwgJ2InID0+IDI1NSApOwoKCXByaXZhdGUgJHNoYXJwZW5BcnJheSA9IGFycmF5KCAnanBnJyApOwoKCXByaXZhdGUgJHBzZFJlYWRlclBhdGg7Cglwcml2YXRlICRmaWx0ZXJPdmVybGF5UGF0aDsKCglwcml2YXRlICRpc0ludGVybGFjZTsKCglwcml2YXRlICRjYXB0aW9uQm94UG9zaXRpb25BcnJheSA9IGFycmF5KCk7CgoJcHJpdmF0ZSAkZm9udERpciA9ICdmb250cyc7CgoJcHJpdmF0ZSAkY3JvcEZyb21Ub3BQZXJjZW50ID0gMTA7CgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgkZmlsZU5hbWUpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6ICAgIENvbnN0cnVjdG9yCgkJIyBQYXJhbSBpbjogICAkZmlsZU5hbWU6IEZpbGUgbmFtZSBhbmQgcGF0aC4KCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmICggISAkdGhpcy0+dGVzdEdESW5zdGFsbGVkKCkpCgkJewoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGUgR0QgTGlicmFyeSBpcyBub3QgaW5zdGFsbGVkLicpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbigpOwoJCQl9CgkJfTsKCgkJJHRoaXMtPmluaXRpYWxpc2UoKTsKCgkJLy8gKioqIFNhdmUgdGhlIGltYWdlIGZpbGUgbmFtZS4gT25seSBzdG9yZSB0aGlzIGluY2FzZSB5b3Ugd2FudCB0byBkaXNwbGF5IGl0CgkJJHRoaXMtPmZpbGVOYW1lID0gJGZpbGVOYW1lOwoJCSR0aGlzLT5maWxlRXh0ZW5zaW9uID0gZml4X3N0cnRvbG93ZXIoc3RycmNocigkZmlsZU5hbWUsICcuJykpOwoKCQkvLyAqKiogT3BlbiB1cCB0aGUgZmlsZQoJCSR0aGlzLT5pbWFnZSA9ICR0aGlzLT5vcGVuSW1hZ2UoJGZpbGVOYW1lKTsKCgoJCS8vICoqKiBBc3NpZ24gaGVyZSBzbyB3ZSBkb24ndCBtb2RpZnkgdGhlIG9yaWdpbmFsCgkJJHRoaXMtPmltYWdlUmVzaXplZCA9ICR0aGlzLT5pbWFnZTsKCgkJLy8gKioqIElmIGZpbGUgaXMgYW4gaW1hZ2UKCQlpZiAoJHRoaXMtPnRlc3RJc0ltYWdlKCR0aGlzLT5pbWFnZSkpCgkJewoJCQkvLyAqKiogR2V0IHdpZHRoIGFuZCBoZWlnaHQKCQkJJHRoaXMtPndpZHRoID0gaW1hZ2VzeCgkdGhpcy0+aW1hZ2UpOwoJCQkkdGhpcy0+d2lkdGhPcmlnaW5hbCA9IGltYWdlc3goJHRoaXMtPmltYWdlKTsKCQkJJHRoaXMtPmhlaWdodCA9IGltYWdlc3koJHRoaXMtPmltYWdlKTsKCQkJJHRoaXMtPmhlaWdodE9yaWdpbmFsID0gaW1hZ2VzeSgkdGhpcy0+aW1hZ2UpOwoKCgkJCS8qICBBZGRlZCAxNS0wOS0wOAogICAgICAgICAqICBHZXQgdGhlIGZpbGVzaXplIHVzaW5nIHRoaXMgYnVpbGQgaW4gbWV0aG9kLgogICAgICAgICAqICBTdG9yZXMgYW4gYXJyYXkgb2Ygc2l6ZQogICAgICAgICAqCiAgICAgICAgICogICR0aGlzLT5pbWFnZVNpemVbMV0gPSB3aWR0aAogICAgICAgICAqICAkdGhpcy0+aW1hZ2VTaXplWzJdID0gaGVpZ2h0CiAgICAgICAgICogICR0aGlzLT5pbWFnZVNpemVbM10gPSB3aWR0aCB4IGhlaWdodAogICAgICAgICAqCiAgICAgICAgICovCgkJCSR0aGlzLT5pbWFnZVNpemUgPSBnZXRpbWFnZXNpemUoJHRoaXMtPmZpbGVOYW1lKTsKCgkJfQoJCWVsc2UKCQl7CgkJCSR0aGlzLT5lcnJvckFycmF5W10gPSAnRmlsZSBpcyBub3QgYW4gaW1hZ2UnOwoJCX0KCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBpbml0aWFsaXNlKCkKCXsKCgkJJHRoaXMtPnBzZFJlYWRlclBhdGggPSBkaXJuYW1lKF9fRklMRV9fKSAuICcvY2xhc3NQaHBQc2RSZWFkZXIucGhwJzsKCQkkdGhpcy0+ZmlsdGVyT3ZlcmxheVBhdGggPSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZmlsdGVycyc7CgoJCS8vICoqKiBTZXQgaWYgaW1hZ2Ugc2hvdWxkIGJlIGludGVybGFjZWQgb3Igbm90LgoJCSR0aGlzLT5pc0ludGVybGFjZSA9IGZhbHNlOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIFJlc2l6ZQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoKCXB1YmxpYyBmdW5jdGlvbiByZXNpemVJbWFnZSgkbmV3V2lkdGgsICRuZXdIZWlnaHQsICRvcHRpb24gPSAwLCAkc2hhcnBlbiA9IGZhbHNlLCAkYXV0b1JvdGF0ZSA9IGZhbHNlKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6ICAgIFJlc2l6ZXMgdGhlIGltYWdlCgkJIyBQYXJhbSBpbjogICAkbmV3V2lkdGg6CgkJIyAgICAgICAgICAgICAkbmV3SGVpZ2h0OgoJCSMgICAgICAgICAgICAgJG9wdGlvbjogICAgIDAgLyBleGFjdCA9IGRlZmluZWQgc2l6ZTsKCQkjICAgICAgICAgICAgICAgICAgICAgICAgICAxIC8gcG9ydHJhaXQgPSBrZWVwIGFzcGVjdCBzZXQgaGVpZ2h0OwoJCSMgICAgICAgICAgICAgICAgICAgICAgICAgIDIgLyBsYW5kc2NhcGUgPSBrZWVwIGFzcGVjdCBzZXQgd2lkdGg7CgkJIyAgICAgICAgICAgICAgICAgICAgICAgICAgMyAvIGF1dG8gPSBhdXRvOwoJCSMgICAgICAgICAgICAgICAgICAgICAgICAgIDQgLyBjcm9wPSByZXNpemUgYW5kIGNyb3A7CgkJIwoJCSMgICAgICAgICAkb3B0aW9uIGNhbiBhbHNvIGJlIGFuIGFycmF5IGNvbnRhaW5pbmcgb3B0aW9ucyBmb3IKCQkjICAgICAgICAgY3JvcHBpbmcuIEUuRy4sIGFycmF5KCdjcm9wJywgJ3InKQoJCSMKCQkjICAgICAgICAgVGhpcyBhcnJheSBvbmx5IGFwcGxpZXMgdG8gJ2Nyb3AnIGFuZCB0aGUgJ3InIHJlZmVycyB0bwoJCSMgICAgICAgICAiY3JvcCByaWdodCIuIE90aGVyIHZhbHVlIGluY2x1ZGU7IHRsLCB0LCB0ciwgbCwgbSAoZGVmYXVsdCksCgkJIyAgICAgICAgIHIsIGJsLCBiLCBiciwgb3IgeW91IGNhbiBzcGVjaWZ5IHlvdXIgb3duIGNvLW9yZHMgKHdoaWNoCgkJIyAgICAgICAgIGlzbid0IHJlY29tbWVuZGVkLgoJCSMKCQkjICAgICAgICRzaGFycGVuOiAgICB0cnVlOiBzaGFycGVuIChqcGcgb25seSk7CgkJIyAgICAgICAgICAgICAgICBmYWxzZTogZG9uJ3Qgc2hhcnBlbgoJCSMgUGFyYW0gb3V0OiAgbi9hCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczogICAgICBUbyBjbGFyaWZ5IHRoZSAkb3B0aW9uIGlucHV0OgoJCSMgICAgICAgICAgICAgICAwID0gVGhlIGV4YWN0IGhlaWdodCBhbmQgd2lkdGggZGltZW5zaW9ucyB5b3Ugc2V0LgoJCSMgICAgICAgICAgICAgICAxID0gV2hhdGV2ZXIgaGVpZ2h0IGlzIHBhc3NlZCBpbiB3aWxsIGJlIHRoZSBoZWlnaHQgdGhhdAoJCSMgICAgICAgICAgICAgICAgICAgaXMgc2V0LiBUaGUgd2lkdGggd2lsbCBiZSBjYWxjdWxhdGVkIGFuZCBzZXQgYXV0b21hdGljYWxseQoJCSMgICAgICAgICAgICAgICAgICAgdG8gYSB0aGUgdmFsdWUgdGhhdCBrZWVwcyB0aGUgb3JpZ2luYWwgYXNwZWN0IHJhdGlvLgoJCSMgICAgICAgICAgICAgICAyID0gVGhlIHNhbWUgYnV0IGJhc2VkIG9uIHRoZSB3aWR0aC4gV2UgdHJ5IG1ha2UgdGhlIGltYWdlIHRoZQoJCSMgICAgICAgICAgICAgICAgICBiaWdnZXN0IHNpemUgd2UgY2FuIHdoaWxlIHN0aWwgZml0dGluZyBpbnNpZGUgdGhlIGJveCBzaXplCgkJIyAgICAgICAgICAgICAgIDMgPSBEZXBlbmRpbmcgd2hldGhlciB0aGUgaW1hZ2UgaXMgbGFuZHNjYXBlIG9yIHBvcnRyYWl0LCB0aGlzCgkJIyAgICAgICAgICAgICAgICAgICB3aWxsIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcmVzaXplIHZpYQoJCSMgICAgICAgICAgICAgICAgICAgZGltZW5zaW9uIDEsMiBvciAwCgkJIyAgICAgICAgICAgICAgIDQgPSBXaWxsIHJlc2l6ZSBhbmQgdGhlbiBjcm9wIHRoZSBpbWFnZSBmb3IgYmVzdCBmaXQKCQkjCgkJIyAgICAgICBmb3JjZVN0cmV0Y2ggY2FuIGJlIGFwcGxpZWQgdG8gb3B0aW9ucyAxLDIsMyBhbmQgNAoJCSMKCXsKCgkJLy8gKioqIFdlIGNhbiBwYXNzIGluIGFuIGFycmF5IG9mIG9wdGlvbnMgdG8gY2hhbmdlIHRoZSBjcm9wIHBvc2l0aW9uCgkJJGNyb3BQb3MgPSAnbSc7CgkJaWYgKGlzX2FycmF5KCRvcHRpb24pICYmIGZpeF9zdHJ0b2xvd2VyKCRvcHRpb25bMF0pID09ICdjcm9wJykKCQl7CgkJCSRjcm9wUG9zID0gJG9wdGlvblsxXTsgICAgICAgICAjIGdldCB0aGUgY3JvcCBvcHRpb24KCQl9CgkJZWxzZQoJCXsKCQkJaWYgKHN0cnBvcygkb3B0aW9uLCAnLScpICE9PSBmYWxzZSkKCQkJewoJCQkJLy8gKioqIE9yIHBhc3MgaW4gYSBoeXBoZW4gc2VwZXJhdGVkIG9wdGlvbgoJCQkJJG9wdGlvblBpZWNlc0FycmF5ID0gZXhwbG9kZSgnLScsICRvcHRpb24pOwoJCQkJJGNyb3BQb3MgPSBlbmQoJG9wdGlvblBpZWNlc0FycmF5KTsKCQkJfQoJCX0KCgkJLy8gKioqIENoZWNrIHRoZSBvcHRpb24gaXMgdmFsaWQKCQkkb3B0aW9uID0gJHRoaXMtPnByZXBPcHRpb24oJG9wdGlvbik7CgoJCS8vICoqKiBNYWtlIHN1cmUgdGhlIGZpbGUgcGFzc2VkIGluIGlzIHZhbGlkCgkJaWYgKCAhICR0aGlzLT5pbWFnZSkKCQl7CgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ2ZpbGUgJyAuICR0aGlzLT5nZXRGaWxlTmFtZSgpIC4gJyBpcyBtaXNzaW5nIG9yIGludmFsaWQnKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oKTsKCQkJfQoJCX07CgoJCS8vICoqKiBHZXQgb3B0aW1hbCB3aWR0aCBhbmQgaGVpZ2h0IC0gYmFzZWQgb24gJG9wdGlvbgoJCSRkaW1lbnNpb25zQXJyYXkgPSAkdGhpcy0+Z2V0RGltZW5zaW9ucygkbmV3V2lkdGgsICRuZXdIZWlnaHQsICRvcHRpb24pOwoKCQkkb3B0aW1hbFdpZHRoID0gJGRpbWVuc2lvbnNBcnJheVsnb3B0aW1hbFdpZHRoJ107CgkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgoJCS8vICoqKiBSZXNhbXBsZSAtIGNyZWF0ZSBpbWFnZSBjYW52YXMgb2YgeCwgeSBzaXplCgkJJHRoaXMtPmltYWdlUmVzaXplZCA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRvcHRpbWFsV2lkdGgsICRvcHRpbWFsSGVpZ2h0KTsKCQkkdGhpcy0+a2VlcFRyYW5zcGFyYW5jeSgkb3B0aW1hbFdpZHRoLCAkb3B0aW1hbEhlaWdodCwgJHRoaXMtPmltYWdlUmVzaXplZCk7CgkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICR0aGlzLT5pbWFnZSwgMCwgMCwgMCwgMCwgJG9wdGltYWxXaWR0aCwgJG9wdGltYWxIZWlnaHQsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7CgoKCQkvLyAqKiogSWYgJzQnLCB0aGVuIGNyb3AgdG9vCgkJaWYgKCRvcHRpb24gPT0gNCB8fCAkb3B0aW9uID09ICdjcm9wJykKCQl7CgoJCQlpZiAoKCRvcHRpbWFsV2lkdGggPj0gJG5ld1dpZHRoICYmICRvcHRpbWFsSGVpZ2h0ID49ICRuZXdIZWlnaHQpKQoJCQl7CgkJCQkkdGhpcy0+Y3JvcCgkb3B0aW1hbFdpZHRoLCAkb3B0aW1hbEhlaWdodCwgJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkY3JvcFBvcyk7CgkJCX0KCQl9CgoJCS8vICoqKiBJZiBSb3RhdGUuCgkJaWYgKCRhdXRvUm90YXRlKQoJCXsKCgkJCSRleGlmRGF0YSA9ICR0aGlzLT5nZXRFeGlmKGZhbHNlKTsKCQkJaWYgKGNvdW50KCRleGlmRGF0YSkgPiAwKQoJCQl7CgoJCQkJc3dpdGNoICgkZXhpZkRhdGFbJ29yaWVudGF0aW9uJ10pCgkJCQl7CgkJCQkJY2FzZSA4OgoJCQkJCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gaW1hZ2Vyb3RhdGUoJHRoaXMtPmltYWdlUmVzaXplZCwgOTAsIDApOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDM6CgkJCQkJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSBpbWFnZXJvdGF0ZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAxODAsIDApOwoJCQkJCQlicmVhazsKCQkJCQljYXNlIDY6CgkJCQkJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSBpbWFnZXJvdGF0ZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAtOTAsIDApOwoJCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCX0KCgkJLy8gKioqIFNoYXJwZW4gaW1hZ2UgKGlmIGpwZyBhbmQgdGhlIHVzZXIgd2lzaGVzIHRvIGRvIHNvKQoJCWlmICgkc2hhcnBlbiAmJiBpbl9hcnJheSgkdGhpcy0+ZmlsZUV4dGVuc2lvbiwgJHRoaXMtPnNoYXJwZW5BcnJheSkpCgkJewoKCQkJLy8gKioqIFNoYXJwZW4KCQkJJHRoaXMtPnNoYXJwZW4oKTsKCQl9Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBjcm9wSW1hZ2UoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkY3JvcFBvcyA9ICdtJykKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA4LTA5LTExCgkJIyBQdXJwb3NlOiAgICBDcm9wcyB0aGUgaW1hZ2UKCQkjIFBhcmFtIGluOiAgICRuZXdXaWR0aDogY3JvcCB3aXRoCgkJIyAgICAgICAgICAgICAkbmV3SGVpZ2h0OiBjcm9wIGhlaWdodAoJCSMgICAgICAgJGNyb3BQb3M6IENhbiBiZSBhbnkgb2YgdGhlIGZvbGxvd2luZzoKCQkjICAgICAgICAgICAgIHRsLCB0LCB0ciwgbCwgbSwgciwgYmwsIGIsIGJyLCBhdXRvCgkJIyAgICAgICAgICAgT3I6CgkJIyAgICAgICAgICAgICBhIGN1c3RvbSBwb3NpdGlvbiBzdWNoIGFzICczMHg1MCcKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoKCQkvLyAqKiogTWFrZSBzdXJlIHRoZSBmaWxlIHBhc3NlZCBpbiBpcyB2YWxpZAoJCWlmICggISAkdGhpcy0+aW1hZ2UpCgkJewoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdmaWxlICcgLiAkdGhpcy0+Z2V0RmlsZU5hbWUoKSAuICcgaXMgbWlzc2luZyBvciBpbnZhbGlkJyk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCk7CgkJCX0KCQl9OwoKCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJHRoaXMtPmltYWdlOwoJCSR0aGlzLT5jcm9wKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkY3JvcFBvcyk7CgoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGtlZXBUcmFuc3BhcmFuY3koJHdpZHRoLCAkaGVpZ2h0LCAkaW0pCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAwOC0wNC0xMQoJCSMgUHVycG9zZTogICAgS2VlcCB0cmFuc3BhcmVuY3kgZm9yIHBuZyBhbmQgZ2lmIGltYWdlCgkJIyBQYXJhbSBpbjoKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCS8vICoqKiBJZiBQTkcsIHBlcmZvcm0gc29tZSB0cmFuc3BhcmVuY3kgcmV0ZW50aW9uIGFjdGlvbnMgKGdpZiB1bnRlc3RlZCkKCQlpZiAoaW5fYXJyYXkoJHRoaXMtPmZpbGVFeHRlbnNpb24sICR0aGlzLT50cmFuc3BhcmVudEFycmF5KSAmJiAkdGhpcy0+a2VlcFRyYW5zcGFyZW5jeSkKCQl7CgkJCWltYWdlYWxwaGFibGVuZGluZygkaW0sIGZhbHNlKTsKCQkJaW1hZ2VzYXZlYWxwaGEoJGltLCB0cnVlKTsKCQkJJHRyYW5zcGFyZW50ID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJGltLCAyNTUsIDI1NSwgMjU1LCAxMjcpOwoJCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkaW0sIDAsIDAsICR3aWR0aCwgJGhlaWdodCwgJHRyYW5zcGFyZW50KTsKCQl9CgkJZWxzZQoJCXsKCQkJJGNvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRpbSwgJHRoaXMtPmZpbGxDb2xvckFycmF5WydyJ10sICR0aGlzLT5maWxsQ29sb3JBcnJheVsnZyddLCAkdGhpcy0+ZmlsbENvbG9yQXJyYXlbJ2InXSk7CgkJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRpbSwgMCwgMCwgJHdpZHRoLCAkaGVpZ2h0LCAkY29sb3IpOwoJCX0KCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBjcm9wKCRvcHRpbWFsV2lkdGgsICRvcHRpbWFsSGVpZ2h0LCAkbmV3V2lkdGgsICRuZXdIZWlnaHQsICRjcm9wUG9zKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMTUtMDktMDgKCQkjIFB1cnBvc2U6ICAgIENyb3BzIHRoZSBpbWFnZQoJCSMgUGFyYW0gaW46ICAgJG5ld1dpZHRoOgoJCSMgICAgICAgICAgICAgJG5ld0hlaWdodDoKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoKCQkvLyAqKiogR2V0IGNyb3BwaW5nIGNvLW9yZGluYXRlcwoJCSRjcm9wQXJyYXkgPSAkdGhpcy0+Z2V0Q3JvcFBsYWNpbmcoJG9wdGltYWxXaWR0aCwgJG9wdGltYWxIZWlnaHQsICRuZXdXaWR0aCwgJG5ld0hlaWdodCwgJGNyb3BQb3MpOwoJCSRjcm9wU3RhcnRYID0gJGNyb3BBcnJheVsneCddOwoJCSRjcm9wU3RhcnRZID0gJGNyb3BBcnJheVsneSddOwoKCQkvLyAqKiogQ3JvcCB0aGlzIGJhZCBib3kKCQkkY3JvcCA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRuZXdXaWR0aCwgJG5ld0hlaWdodCk7CgkJJHRoaXMtPmtlZXBUcmFuc3BhcmFuY3koJG9wdGltYWxXaWR0aCwgJG9wdGltYWxIZWlnaHQsICRjcm9wKTsKCQlpbWFnZWNvcHlyZXNhbXBsZWQoJGNyb3AsICR0aGlzLT5pbWFnZVJlc2l6ZWQsIDAsIDAsICRjcm9wU3RhcnRYLCAkY3JvcFN0YXJ0WSwgJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoKCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJGNyb3A7CgoJCS8vICoqKiBTZXQgbmV3IHdpZHRoIGFuZCBoZWlnaHQgdG8gb3VyIHZhcmlhYmxlcwoJCSR0aGlzLT53aWR0aCA9ICRuZXdXaWR0aDsKCQkkdGhpcy0+aGVpZ2h0ID0gJG5ld0hlaWdodDsKCgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZ2V0Q3JvcFBsYWNpbmcoJG9wdGltYWxXaWR0aCwgJG9wdGltYWxIZWlnaHQsICRuZXdXaWR0aCwgJG5ld0hlaWdodCwgJHBvcyA9ICdtJykKCQkjCgkJIyBBdXRob3I6ICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICBKdWx5IDExCgkJIyBQdXJwb3NlOiAgU2V0IHRoZSBjcm9wcGluZyBhcmVhLgoJCSMgUGFyYW1zIGluOgoJCSMgUGFyYW1zIG91dDogKGFycmF5KSB0aGUgY3JvcCB4IGFuZCB5IGNvLW9yZGluYXRlcy4KCQkjIE5vdGVzOiAgICBXaGVuIHNwZWNpZnlpbmcgdGhlIGV4YWN0IHBpeGVsIGNyb3AgcG9zaXRpb24gKGVnIDEweDE1KSwgYmUKCQkjICAgICAgIHZlcnkgY2FyZWZ1bCBhcyBpdCdzIGVhc3kgdG8gY3JvcCBvdXQgb2YgdGhlIGltYWdlIGxlYXZpbmcKCQkjICAgICAgIGJsYWNrIGJvcmRlcnMuCgkJIwoJewoJCSRwb3MgPSBmaXhfc3RydG9sb3dlcigkcG9zKTsKCgkJLy8gKioqIElmIGNvLW9yZHMgaGF2ZSBiZWVuIGVudGVyZWQKCQlpZiAoc3Ryc3RyKCRwb3MsICd4JykpCgkJewoJCQkkcG9zID0gc3RyX3JlcGxhY2UoJyAnLCAnJywgJHBvcyk7CgoJCQkkeHlBcnJheSA9IGV4cGxvZGUoJ3gnLCAkcG9zKTsKCQkJbGlzdCgkY3JvcFN0YXJ0WCwgJGNyb3BTdGFydFkpID0gJHh5QXJyYXk7CgoJCX0KCQllbHNlCgkJewoKCQkJc3dpdGNoICgkcG9zKQoJCQl7CgkJCQljYXNlICd0bCc6CgkJCQkJJGNyb3BTdGFydFggPSAwOwoJCQkJCSRjcm9wU3RhcnRZID0gMDsKCQkJCQlicmVhazsKCgkJCQljYXNlICd0JzoKCQkJCQkkY3JvcFN0YXJ0WCA9ICgkb3B0aW1hbFdpZHRoIC8gMikgLSAoJG5ld1dpZHRoIC8gMik7CgkJCQkJJGNyb3BTdGFydFkgPSAwOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ3RyJzoKCQkJCQkkY3JvcFN0YXJ0WCA9ICRvcHRpbWFsV2lkdGggLSAkbmV3V2lkdGg7CgkJCQkJJGNyb3BTdGFydFkgPSAwOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2wnOgoJCQkJCSRjcm9wU3RhcnRYID0gMDsKCQkJCQkkY3JvcFN0YXJ0WSA9ICgkb3B0aW1hbEhlaWdodCAvIDIpIC0gKCRuZXdIZWlnaHQgLyAyKTsKCQkJCQlicmVhazsKCgkJCQljYXNlICdtJzoKCQkJCQkkY3JvcFN0YXJ0WCA9ICgkb3B0aW1hbFdpZHRoIC8gMikgLSAoJG5ld1dpZHRoIC8gMik7CgkJCQkJJGNyb3BTdGFydFkgPSAoJG9wdGltYWxIZWlnaHQgLyAyKSAtICgkbmV3SGVpZ2h0IC8gMik7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSAncic6CgkJCQkJJGNyb3BTdGFydFggPSAkb3B0aW1hbFdpZHRoIC0gJG5ld1dpZHRoOwoJCQkJCSRjcm9wU3RhcnRZID0gKCRvcHRpbWFsSGVpZ2h0IC8gMikgLSAoJG5ld0hlaWdodCAvIDIpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JsJzoKCQkJCQkkY3JvcFN0YXJ0WCA9IDA7CgkJCQkJJGNyb3BTdGFydFkgPSAkb3B0aW1hbEhlaWdodCAtICRuZXdIZWlnaHQ7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSAnYic6CgkJCQkJJGNyb3BTdGFydFggPSAoJG9wdGltYWxXaWR0aCAvIDIpIC0gKCRuZXdXaWR0aCAvIDIpOwoJCQkJCSRjcm9wU3RhcnRZID0gJG9wdGltYWxIZWlnaHQgLSAkbmV3SGVpZ2h0OwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JyJzoKCQkJCQkkY3JvcFN0YXJ0WCA9ICRvcHRpbWFsV2lkdGggLSAkbmV3V2lkdGg7CgkJCQkJJGNyb3BTdGFydFkgPSAkb3B0aW1hbEhlaWdodCAtICRuZXdIZWlnaHQ7CgkJCQkJYnJlYWs7CgoJCQkJY2FzZSAnYXV0byc6CgkJCQkJLy8gKioqIElmIGltYWdlIGlzIGEgcG9ydHJhaXQgY3JvcCBmcm9tIHRvcCwgbm90IGNlbnRlci4gdjEuNQoJCQkJCWlmICgkb3B0aW1hbEhlaWdodCA+ICRvcHRpbWFsV2lkdGgpCgkJCQkJewoJCQkJCQkkY3JvcFN0YXJ0WCA9ICgkb3B0aW1hbFdpZHRoIC8gMikgLSAoJG5ld1dpZHRoIC8gMik7CgkJCQkJCSRjcm9wU3RhcnRZID0gKCR0aGlzLT5jcm9wRnJvbVRvcFBlcmNlbnQgLyAxMDApICogJG9wdGltYWxIZWlnaHQ7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgoJCQkJCQkvLyAqKiogRWxzZSBjcm9wIGZyb20gdGhlIGNlbnRlcgoJCQkJCQkkY3JvcFN0YXJ0WCA9ICgkb3B0aW1hbFdpZHRoIC8gMikgLSAoJG5ld1dpZHRoIC8gMik7CgkJCQkJCSRjcm9wU3RhcnRZID0gKCRvcHRpbWFsSGVpZ2h0IC8gMikgLSAoJG5ld0hlaWdodCAvIDIpOwoJCQkJCX0KCQkJCQlicmVhazsKCgkJCQlkZWZhdWx0OgoJCQkJCS8vICoqKiBEZWZhdWx0IHRvIGNlbnRlcgoJCQkJCSRjcm9wU3RhcnRYID0gKCRvcHRpbWFsV2lkdGggLyAyKSAtICgkbmV3V2lkdGggLyAyKTsKCQkJCQkkY3JvcFN0YXJ0WSA9ICgkb3B0aW1hbEhlaWdodCAvIDIpIC0gKCRuZXdIZWlnaHQgLyAyKTsKCQkJCQlicmVhazsKCQkJfQoJCX0KCgkJcmV0dXJuIGFycmF5KCAneCcgPT4gJGNyb3BTdGFydFgsICd5JyA9PiAkY3JvcFN0YXJ0WSApOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGdldERpbWVuc2lvbnMoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0LCAkb3B0aW9uKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMTctMTEtMDkKCQkjIFB1cnBvc2U6ICAgIEdldCBuZXcgaW1hZ2UgZGltZW5zaW9ucyBiYXNlZCBvbiB1c2VyIHNwZWNpZmljYWlvbnMKCQkjIFBhcmFtIGluOiAgICRuZXdXaWR0aDoKCQkjICAgICAgICAgICAgICRuZXdIZWlnaHQ6CgkJIyBQYXJhbSBvdXQ6ICBBcnJheSBvZiBuZXcgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOiAgICBJZiAkb3B0aW9uID0gMyB0aGVuIHRoaXMgZnVuY3Rpb24gaXMgY2FsbCByZWN1cnNpdmx5CgkJIwoJCSMgICAgICAgVG8gY2xhcmlmeSB0aGUgJG9wdGlvbiBpbnB1dDoKCQkjICAgICAgICAgICAgICAgMCA9IFRoZSBleGFjdCBoZWlnaHQgYW5kIHdpZHRoIGRpbWVuc2lvbnMgeW91IHNldC4KCQkjICAgICAgICAgICAgICAgMSA9IFdoYXRldmVyIGhlaWdodCBpcyBwYXNzZWQgaW4gd2lsbCBiZSB0aGUgaGVpZ2h0IHRoYXQKCQkjICAgICAgICAgICAgICAgICAgIGlzIHNldC4gVGhlIHdpZHRoIHdpbGwgYmUgY2FsY3VsYXRlZCBhbmQgc2V0IGF1dG9tYXRpY2FsbHkKCQkjICAgICAgICAgICAgICAgICAgIHRvIGEgdGhlIHZhbHVlIHRoYXQga2VlcHMgdGhlIG9yaWdpbmFsIGFzcGVjdCByYXRpby4KCQkjICAgICAgICAgICAgICAgMiA9IFRoZSBzYW1lIGJ1dCBiYXNlZCBvbiB0aGUgd2lkdGguCgkJIyAgICAgICAgICAgICAgIDMgPSBEZXBlbmRpbmcgd2hldGhlciB0aGUgaW1hZ2UgaXMgbGFuZHNjYXBlIG9yIHBvcnRyYWl0LCB0aGlzCgkJIyAgICAgICAgICAgICAgICAgICB3aWxsIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcmVzaXplIHZpYQoJCSMgICAgICAgICAgICAgICAgICAgZGltZW5zaW9uIDEsMiBvciAwLgoJCSMgICAgICAgICAgICAgICA0ID0gUmVzaXplIHRoZSBpbWFnZSBhcyBtdWNoIGFzIHBvc3NpYmxlLCB0aGVuIGNyb3AgdGhlCgkJIyAgICAgICAgIHJlbWFpbmRlci4KCXsKCgkJc3dpdGNoIChzdHJ2YWwoJG9wdGlvbikpCgkJewoJCQljYXNlICcwJzoKCQkJY2FzZSAnZXhhY3QnOgoJCQkJJG9wdGltYWxXaWR0aCA9ICRuZXdXaWR0aDsKCQkJCSRvcHRpbWFsSGVpZ2h0ID0gJG5ld0hlaWdodDsKCQkJCWJyZWFrOwoJCQljYXNlICcxJzoKCQkJY2FzZSAncG9ydHJhaXQnOgoJCQkJJGRpbWVuc2lvbnNBcnJheSA9ICR0aGlzLT5nZXRTaXplQnlGaXhlZEhlaWdodCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJCQlicmVhazsKCQkJY2FzZSAnMic6CgkJCWNhc2UgJ2xhbmRzY2FwZSc6CgkJCQkkZGltZW5zaW9uc0FycmF5ID0gJHRoaXMtPmdldFNpemVCeUZpeGVkV2lkdGgoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0KTsKCQkJCSRvcHRpbWFsV2lkdGggPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsV2lkdGgnXTsKCQkJCSRvcHRpbWFsSGVpZ2h0ID0gJGRpbWVuc2lvbnNBcnJheVsnb3B0aW1hbEhlaWdodCddOwoJCQkJYnJlYWs7CgkJCWNhc2UgJzMnOgoJCQljYXNlICdhdXRvJzoKCQkJCSRkaW1lbnNpb25zQXJyYXkgPSAkdGhpcy0+Z2V0U2l6ZUJ5QXV0bygkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJCQlicmVhazsKCQkJY2FzZSAnNCc6CgkJCWNhc2UgJ2Nyb3AnOgoJCQkJJGRpbWVuc2lvbnNBcnJheSA9ICR0aGlzLT5nZXRPcHRpbWFsQ3JvcCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJCQlicmVhazsKCQl9CgoJCXJldHVybiBhcnJheSggJ29wdGltYWxXaWR0aCcgPT4gJG9wdGltYWxXaWR0aCwgJ29wdGltYWxIZWlnaHQnID0+ICRvcHRpbWFsSGVpZ2h0ICk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZ2V0U2l6ZUJ5Rml4ZWRIZWlnaHQoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0KQoJewoJCS8vICoqKiBJZiBmb3JjaW5nIGlzIG9mZi4uLgoJCWlmICggISAkdGhpcy0+Zm9yY2VTdHJldGNoKQoJCXsKCgkJCS8vICoqKiAuLi5jaGVjayBpZiBhY3R1YWwgaGVpZ2h0IGlzIGxlc3MgdGhhbiB0YXJnZXQgaGVpZ2h0CgkJCWlmICgkdGhpcy0+aGVpZ2h0IDwgJG5ld0hlaWdodCkKCQkJewoJCQkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkdGhpcy0+d2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0ICk7CgkJCX0KCQl9CgoJCSRyYXRpbyA9ICR0aGlzLT53aWR0aCAvICR0aGlzLT5oZWlnaHQ7CgoJCSRuZXdXaWR0aCA9ICRuZXdIZWlnaHQgKiAkcmF0aW87CgoJCS8vcmV0dXJuICRuZXdXaWR0aDsKCQlyZXR1cm4gYXJyYXkoICdvcHRpbWFsV2lkdGgnID0+ICRuZXdXaWR0aCwgJ29wdGltYWxIZWlnaHQnID0+ICRuZXdIZWlnaHQgKTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRTaXplQnlGaXhlZFdpZHRoKCRuZXdXaWR0aCwgJG5ld0hlaWdodCkKCXsKCQkvLyAqKiogSWYgZm9yY2luZyBpcyBvZmYuLi4KCQlpZiAoICEgJHRoaXMtPmZvcmNlU3RyZXRjaCkKCQl7CgoJCQkvLyAqKiogLi4uY2hlY2sgaWYgYWN0dWFsIHdpZHRoIGlzIGxlc3MgdGhhbiB0YXJnZXQgd2lkdGgKCQkJaWYgKCR0aGlzLT53aWR0aCA8ICRuZXdXaWR0aCkKCQkJewoJCQkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkdGhpcy0+d2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0ICk7CgkJCX0KCQl9CgoJCSRyYXRpbyA9ICR0aGlzLT5oZWlnaHQgLyAkdGhpcy0+d2lkdGg7CgoJCSRuZXdIZWlnaHQgPSAkbmV3V2lkdGggKiAkcmF0aW87CgoJCS8vcmV0dXJuICRuZXdIZWlnaHQ7CgkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkbmV3V2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkbmV3SGVpZ2h0ICk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZ2V0U2l6ZUJ5QXV0bygkbmV3V2lkdGgsICRuZXdIZWlnaHQpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxOS0wOC0wOAoJCSMgUHVycG9zZTogICAgRGVwZW5kaW5nIG9uIHRoZSBoZWlnaHQsIGNob29zZSB0byByZXNpemUgYnkgMCwgMSwgb3IgMgoJCSMgUGFyYW0gaW46ICAgVGhlIG5ldyBoZWlnaHQgYW5kIG5ldyB3aWR0aAoJCSMgTm90ZXM6CgkJIwoJewoJCS8vICoqKiBJZiBmb3JjaW5nIGlzIG9mZi4uLgoJCWlmICggISAkdGhpcy0+Zm9yY2VTdHJldGNoKQoJCXsKCgkJCS8vICoqKiAuLi5jaGVjayBpZiBhY3R1YWwgc2l6ZSBpcyBsZXNzIHRoYW4gdGFyZ2V0IHNpemUKCQkJaWYgKCR0aGlzLT53aWR0aCA8ICRuZXdXaWR0aCAmJiAkdGhpcy0+aGVpZ2h0IDwgJG5ld0hlaWdodCkKCQkJewoJCQkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkdGhpcy0+d2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0ICk7CgkJCX0KCQl9CgoJCWlmICgkdGhpcy0+aGVpZ2h0IDwgJHRoaXMtPndpZHRoKQoJCQkvLyAqKiogSW1hZ2UgdG8gYmUgcmVzaXplZCBpcyB3aWRlciAobGFuZHNjYXBlKQoJCXsKCQkJLy8kb3B0aW1hbFdpZHRoID0gJG5ld1dpZHRoOwoJCQkvLyRvcHRpbWFsSGVpZ2h0PSAkdGhpcy0+Z2V0U2l6ZUJ5Rml4ZWRXaWR0aCgkbmV3V2lkdGgpOwoKCQkJJGRpbWVuc2lvbnNBcnJheSA9ICR0aGlzLT5nZXRTaXplQnlGaXhlZFdpZHRoKCRuZXdXaWR0aCwgJG5ld0hlaWdodCk7CgkJCSRvcHRpbWFsV2lkdGggPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsV2lkdGgnXTsKCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJfQoJCWVsc2VpZiAoJHRoaXMtPmhlaWdodCA+ICR0aGlzLT53aWR0aCkKCQkJLy8gKioqIEltYWdlIHRvIGJlIHJlc2l6ZWQgaXMgdGFsbGVyIChwb3J0cmFpdCkKCQl7CgkJCS8vJG9wdGltYWxXaWR0aCA9ICR0aGlzLT5nZXRTaXplQnlGaXhlZEhlaWdodCgkbmV3SGVpZ2h0KTsKCQkJLy8kb3B0aW1hbEhlaWdodD0gJG5ld0hlaWdodDsKCgkJCSRkaW1lbnNpb25zQXJyYXkgPSAkdGhpcy0+Z2V0U2l6ZUJ5Rml4ZWRIZWlnaHQoJG5ld1dpZHRoLCAkbmV3SGVpZ2h0KTsKCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkkb3B0aW1hbEhlaWdodCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxIZWlnaHQnXTsKCQl9CgkJZWxzZQoJCQkvLyAqKiogSW1hZ2UgdG8gYmUgcmVzaXplcmQgaXMgYSBzcXVhcmUKCQl7CgoJCQlpZiAoJG5ld0hlaWdodCA8ICRuZXdXaWR0aCkKCQkJewoJCQkJLy8kb3B0aW1hbFdpZHRoID0gJG5ld1dpZHRoOwoJCQkJLy8kb3B0aW1hbEhlaWdodD0gJHRoaXMtPmdldFNpemVCeUZpeGVkV2lkdGgoJG5ld1dpZHRoKTsKCQkJCSRkaW1lbnNpb25zQXJyYXkgPSAkdGhpcy0+Z2V0U2l6ZUJ5Rml4ZWRXaWR0aCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwoJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJJG9wdGltYWxIZWlnaHQgPSAkZGltZW5zaW9uc0FycmF5WydvcHRpbWFsSGVpZ2h0J107CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlpZiAoJG5ld0hlaWdodCA+ICRuZXdXaWR0aCkKCQkJCXsKCQkJCQkvLyRvcHRpbWFsV2lkdGggPSAkdGhpcy0+Z2V0U2l6ZUJ5Rml4ZWRIZWlnaHQoJG5ld0hlaWdodCk7CgkJCQkJLy8kb3B0aW1hbEhlaWdodD0gJG5ld0hlaWdodDsKCQkJCQkkZGltZW5zaW9uc0FycmF5ID0gJHRoaXMtPmdldFNpemVCeUZpeGVkSGVpZ2h0KCRuZXdXaWR0aCwgJG5ld0hlaWdodCk7CgkJCQkJJG9wdGltYWxXaWR0aCA9ICRkaW1lbnNpb25zQXJyYXlbJ29wdGltYWxXaWR0aCddOwoJCQkJCSRvcHRpbWFsSGVpZ2h0ID0gJGRpbWVuc2lvbnNBcnJheVsnb3B0aW1hbEhlaWdodCddOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCS8vICoqKiBTcWF1cmUgYmVpbmcgcmVzaXplZCB0byBhIHNxdWFyZQoJCQkJCSRvcHRpbWFsV2lkdGggPSAkbmV3V2lkdGg7CgkJCQkJJG9wdGltYWxIZWlnaHQgPSAkbmV3SGVpZ2h0OwoJCQkJfQoJCQl9CgkJfQoKCQlyZXR1cm4gYXJyYXkoICdvcHRpbWFsV2lkdGgnID0+ICRvcHRpbWFsV2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkb3B0aW1hbEhlaWdodCApOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGdldE9wdGltYWxDcm9wKCRuZXdXaWR0aCwgJG5ld0hlaWdodCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDE3LTExLTA5CgkJIyBQdXJwb3NlOiAgICBHZXQgb3B0aW1hbCBjcm9wIGRpbWVuc2lvbnMKCQkjIFBhcmFtIGluOiAgIHdpZHRoIGFuZCBoZWlnaHQgYXMgcmVxdWVzdGVkIGJ5IHVzZXIgKGZpZyAzKQoJCSMgUGFyYW0gb3V0OiAgQXJyYXkgb2Ygb3B0aW1hbCB3aWR0aCBhbmQgaGVpZ2h0IChmaWcgMikKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOiAgICAgIFRoZSBvcHRpbWFsIHdpZHRoIGFuZCBoZWlnaHQgcmV0dXJuIGFyZSBub3QgdGhlIHNhbWUgYXMgdGhlCgkJIyAgICAgICBzYW1lIGFzIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHBhc3NlZCBpbi4gRm9yIGV4YW1wbGU6CgkJIwoJCSMKCQkjICAgfC0tLS0tLS0tLS0tLS0tLS0tfCAgICAgfC0tLS0tLS0tLS0tLXwgICAgICAgfC0tLS0tLS18CgkJIyAgIHwgICAgICAgICAgICAgfCAgID0+ICB8Kip8ICAgICAgfCoqfCAgID0+ICB8ICAgICAgIHwKCQkjICAgfCAgICAgICAgICAgICB8ICAgICB8Kip8ICAgICAgfCoqfCAgICAgICB8ICAgICAgIHwKCQkjICAgfCAgICAgICAgICAgfCAgICAgICB8LS0tLS0tLS0tLS0tfCAgICAgICB8LS0tLS0tLXwKCQkjICAgfC0tLS0tLS0tLS0tLS0tLS0tfAoJCSMgICAgICAgIG9yaWdpbmFsICAgICAgICAgICAgICAgIG9wdGltYWwgICAgICAgICAgICAgY3JvcAoJCSMgICAgICAgICAgICAgIHNpemUgICAgICAgICAgICAgICAgICAgc2l6ZSAgICAgICAgICAgICAgIHNpemUKCQkjICBGaWcgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgICAgMwoJCSMKCQkjICAgICAgIDMwMCB4IDI1MCAgICAgICAgICAgMTUwIHggMTI1ICAgICAgICAgIDE1MCB4IDEwMAoJCSMKCQkjICAgIFRoZSBvcHRpbWFsIHNpemUgaXMgdGhlIHNtYWxsZXN0IHNpemUgKHRoYXQgaXMgY2xvc2VzdCB0byB0aGUgY3JvcCBzaXplKQoJCSMgICAgd2hpbGUgcmV0YWluaW5nIHByb3BvcnRpb24vcmF0aW8uCgkJIwoJCSMgIFRoZSBjcm9wIHNpemUgaXMgdGhlIG9wdGltYWwgc2l6ZSB0aGF0IGhhcyBiZWVuIGNyb3BwZWQgb24gb25lIGF4aXMgdG8KCQkjICBtYWtlIHRoZSBpbWFnZSB0aGUgZXhhY3Qgc2l6ZSBzcGVjaWZpZWQgYnkgdGhlIHVzZXIuCgkJIwoJCSMgICAgICAgICAgICAgICAqIHJlcHJlc2VudCBjcm9wcGVkIGFyZWEKCQkjCgl7CgoJCS8vICoqKiBJZiBmb3JjaW5nIGlzIG9mZi4uLgoJCWlmICggISAkdGhpcy0+Zm9yY2VTdHJldGNoKQoJCXsKCgkJCS8vICoqKiAuLi5jaGVjayBpZiBhY3R1YWwgc2l6ZSBpcyBsZXNzIHRoYW4gdGFyZ2V0IHNpemUKCQkJaWYgKCR0aGlzLT53aWR0aCA8ICRuZXdXaWR0aCAmJiAkdGhpcy0+aGVpZ2h0IDwgJG5ld0hlaWdodCkKCQkJewoJCQkJcmV0dXJuIGFycmF5KCAnb3B0aW1hbFdpZHRoJyA9PiAkdGhpcy0+d2lkdGgsICdvcHRpbWFsSGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0ICk7CgkJCX0KCQl9CgoJCSRoZWlnaHRSYXRpbyA9ICR0aGlzLT5oZWlnaHQgLyAkbmV3SGVpZ2h0OwoJCSR3aWR0aFJhdGlvID0gJHRoaXMtPndpZHRoIC8gJG5ld1dpZHRoOwoKCQlpZiAoJGhlaWdodFJhdGlvIDwgJHdpZHRoUmF0aW8pCgkJewoJCQkkb3B0aW1hbFJhdGlvID0gJGhlaWdodFJhdGlvOwoJCX0KCQllbHNlCgkJewoJCQkkb3B0aW1hbFJhdGlvID0gJHdpZHRoUmF0aW87CgkJfQoKCQkkb3B0aW1hbEhlaWdodCA9IHJvdW5kKCR0aGlzLT5oZWlnaHQgLyAkb3B0aW1hbFJhdGlvKTsKCQkkb3B0aW1hbFdpZHRoID0gcm91bmQoJHRoaXMtPndpZHRoIC8gJG9wdGltYWxSYXRpbyk7CgoJCXJldHVybiBhcnJheSggJ29wdGltYWxXaWR0aCcgPT4gJG9wdGltYWxXaWR0aCwgJ29wdGltYWxIZWlnaHQnID0+ICRvcHRpbWFsSGVpZ2h0ICk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gc2hhcnBlbigpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAwOCAwNCAyMDExCgkJIyBQdXJwb3NlOiAgICBTaGFycGVuIGltYWdlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIyBDcmVkaXQ6ICAgSW5jb3Jwb3JhdGVzIEpvZSBMZW5jaW9uaSAoQXVndXN0IDYsIDIwMDgpIGNvZGUKCXsKCgkJaWYgKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuMS4wJykgPj0gMCkKCQl7CgoJCQkvLyAqKioKCQkJaWYgKCR0aGlzLT5hZ2dyZXNpdmVTaGFycGVuaW5nKQoJCQl7ICMgQSBtb3JlIGFnZ3Jlc3NpdmUgc2hhcnBlbmluZyBzb2x1dGlvbgoKCQkJCSRzaGFycGVuTWF0cml4ID0gYXJyYXkoIGFycmF5KCAtMSwgLTEsIC0xICksCgkJCQkJCQkJCQlhcnJheSggLTEsIDE2LCAtMSApLAoJCQkJCQkJCQkJYXJyYXkoIC0xLCAtMSwgLTEgKSApOwoJCQkJJGRpdmlzb3IgPSA4OwoJCQkJJG9mZnNldCA9IDA7CgoJCQkJaW1hZ2Vjb252b2x1dGlvbigkdGhpcy0+aW1hZ2VSZXNpemVkLCAkc2hhcnBlbk1hdHJpeCwgJGRpdmlzb3IsICRvZmZzZXQpOwoJCQl9CgkJCWVsc2UgIyBNb3JlIHN1YnRsZSBhbmQgcGVyc29uYWxseSBtb3JlIGRlc2lyYWJsZQoJCQl7CgkJCQkkc2hhcnBuZXNzID0gJHRoaXMtPmZpbmRTaGFycCgkdGhpcy0+d2lkdGhPcmlnaW5hbCwgJHRoaXMtPndpZHRoKTsKCgkJCQkkc2hhcnBlbk1hdHJpeCA9IGFycmF5KAoJCQkJCWFycmF5KCAtMSwgLTIsIC0xICksCgkJCQkJYXJyYXkoIC0yLCAkc2hhcnBuZXNzICsgMTIsIC0yICksIC8vTGVzc2VuIHRoZSBlZmZlY3Qgb2YgYSBmaWx0ZXIgYnkgaW5jcmVhc2luZyB0aGUgdmFsdWUgaW4gdGhlIGNlbnRlciBjZWxsCgkJCQkJYXJyYXkoIC0xLCAtMiwgLTEgKQoJCQkJKTsKCQkJCSRkaXZpc29yID0gJHNoYXJwbmVzczsgLy8gYWRqdXN0cyBicmlnaHRuZXNzCgkJCQkkb2Zmc2V0ID0gMDsKCQkJCWltYWdlY29udm9sdXRpb24oJHRoaXMtPmltYWdlUmVzaXplZCwgJHNoYXJwZW5NYXRyaXgsICRkaXZpc29yLCAkb2Zmc2V0KTsKCQkJfQoJCX0KCQllbHNlCgkJewoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdTaGFycGVuaW5nIHJlcXVpcmVkIFBIUCA1LjEuMCBvciBncmVhdGVyLicpOwoJCQl9CgkJfQoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBzaGFycGVuMigkbGV2ZWwpCgl7CgkJJHNoYXJwZW5NYXRyaXggPSBhcnJheSgKCQkJYXJyYXkoICRsZXZlbCwgJGxldmVsLCAkbGV2ZWwgKSwKCQkJYXJyYXkoICRsZXZlbCwgKDggKiAkbGV2ZWwpICsgMSwgJGxldmVsICksIC8vTGVzc2VuIHRoZSBlZmZlY3Qgb2YgYSBmaWx0ZXIgYnkgaW5jcmVhc2luZyB0aGUgdmFsdWUgaW4gdGhlIGNlbnRlciBjZWxsCgkJCWFycmF5KCAkbGV2ZWwsICRsZXZlbCwgJGxldmVsICkKCQkpOwoKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBmaW5kU2hhcnAoJG9yaWcsICRmaW5hbCkKCQkjIEF1dGhvcjogICAgIFJ5YW4gUnVkIChodHRwOi8vYWRyeXJ1bi5jb20pCgkJIyBQdXJwb3NlOiAgICBGaW5kIG9wdGltYWwgc2hhcnBuZXNzCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCSRmaW5hbCA9ICRmaW5hbCAqICg3NTAuMCAvICRvcmlnKTsKCQkkYSA9IDUyOwoJCSRiID0gLTAuMjc4MTA2NTA4ODc1NzMxMjQ7CgkJJGMgPSAuMDAwNDczMzcyNzgxMDY1MDg5NDY7CgoJCSRyZXN1bHQgPSAkYSArICRiICogJGZpbmFsICsgJGMgKiAkZmluYWwgKiAkZmluYWw7CgoJCXJldHVybiBtYXgocm91bmQoJHJlc3VsdCksIDApOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIHByZXBPcHRpb24oJG9wdGlvbikKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIFB1cnBvc2U6ICAgIFByZXAgb3B0aW9uIGxpa2UgY2hhbmdlIHRoZSBwYXNzZWQgaW4gb3B0aW9uIHRvIGxvd2VyY2FzZQoJCSMgUGFyYW0gaW46ICAgKHN0ci9pbnQpICRvcHRpb246IGVnLiAnZXhhY3QnLCAnY3JvcCcuIDAsIDQKCQkjIFBhcmFtIG91dDogIGxvd2VyY2FzZSBzdHJpbmcKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoaXNfYXJyYXkoJG9wdGlvbikpCgkJewoJCQlpZiAoZml4X3N0cnRvbG93ZXIoJG9wdGlvblswXSkgPT0gJ2Nyb3AnICYmIGNvdW50KCRvcHRpb24pID09IDIpCgkJCXsKCQkJCXJldHVybiAnY3JvcCc7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdDcm9wIHJlc2l6ZSBvcHRpb24gYXJyYXkgaXMgYmFkbHkgZm9ybWF0dGVkLicpOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCWlmIChzdHJwb3MoJG9wdGlvbiwgJ2Nyb3AnKSAhPT0gZmFsc2UpCgkJCXsKCQkJCXJldHVybiAnY3JvcCc7CgkJCX0KCQl9CgoJCWlmIChpc19zdHJpbmcoJG9wdGlvbikpCgkJewoJCQlyZXR1cm4gZml4X3N0cnRvbG93ZXIoJG9wdGlvbik7CgkJfQoKCQlyZXR1cm4gJG9wdGlvbjsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBQcmVzZXRzCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCiMKIyBQcmVzZXQgYXJlIHByZS1kZWZpbmVkIHRlbXBsYXRlcyB5b3UgY2FuIGFwcGx5IHRvIHlvdXIgaW1hZ2UuCiMKIyBUaGVzZSBhcmUgaW50ZWRlZCB0byBiZSBhcHBsaWVkIHRvIHRodW1ibmFpbCBpbWFnZXMuCiMKCgoJcHVibGljIGZ1bmN0aW9uIGJvcmRlclByZXNldCgkcHJlc2V0KQoJewoJCXN3aXRjaCAoJHByZXNldCkKCQl7CgoJCQljYXNlICdzaW1wbGUnOgoJCQkJJHRoaXMtPmFkZEJvcmRlcig3LCAnI2ZmZicpOwoJCQkJJHRoaXMtPmFkZEJvcmRlcig2LCAnI2YyZjFmMCcpOwoJCQkJJHRoaXMtPmFkZEJvcmRlcigyLCAnI2ZmZicpOwoJCQkJJHRoaXMtPmFkZEJvcmRlcigxLCAnI2NjYycpOwoJCQkJYnJlYWs7CgkJCWRlZmF1bHQ6CgkJCQlicmVhazsKCQl9CgoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIERyYXcgYm9yZGVyCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkQm9yZGVyKCR0aGlja25lc3MgPSAxLCAkcmdiQXJyYXkgPSBhcnJheSggMjU1LCAyNTUsIDI1NSApKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDUtMDUtMTEKCQkjIFB1cnBvc2U6ICAgIEFkZCBhIGJvcmRlciB0byB0aGUgaW1hZ2UKCQkjIFBhcmFtIGluOgoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6ICAgIFRoaXMgYm9yZGVyIGlzIGFkZGVkIHRvIHRoZSBJTlNJREUgb2YgdGhlIGltYWdlCgkJIwoJewoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCgkJCSRyZ2JBcnJheSA9ICR0aGlzLT5mb3JtYXRDb2xvcigkcmdiQXJyYXkpOwoJCQkkciA9ICRyZ2JBcnJheVsnciddOwoJCQkkZyA9ICRyZ2JBcnJheVsnZyddOwoJCQkkYiA9ICRyZ2JBcnJheVsnYiddOwoKCgkJCSR4MSA9IDA7CgkJCSR5MSA9IDA7CgkJCSR4MiA9IEltYWdlU1goJHRoaXMtPmltYWdlUmVzaXplZCkgLSAxOwoJCQkkeTIgPSBJbWFnZVNZKCR0aGlzLT5pbWFnZVJlc2l6ZWQpIC0gMTsKCgkJCSRyZ2JBcnJheSA9IEltYWdlQ29sb3JBbGxvY2F0ZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkciwgJGcsICRiKTsKCgoJCQlmb3IgKCRpID0gMDsgJGkgPCAkdGhpY2tuZXNzOyAkaSsrKQoJCQl7CgkJCQlJbWFnZVJlY3RhbmdsZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkeDErKywgJHkxKyssICR4Mi0tLCAkeTItLSwgJHJnYkFycmF5KTsKCQkJfQoJCX0KCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBHcmF5IFNjYWxlCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gZ3JleVNjYWxlKCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA3LTA1LTIwMTEKCQkjIFB1cnBvc2U6ICAgIE1ha2UgaW1hZ2UgZ3JleXNjYWxlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDoKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoJHRoaXMtPmltYWdlUmVzaXplZCkKCQl7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfR1JBWVNDQUxFKTsKCQl9CgoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIGdyZXlTY2FsZUVuaGFuY2VkKCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA3LTA1LTIwMTEKCQkjIFB1cnBvc2U6ICAgIE1ha2UgaW1hZ2UgZ3JleXNjYWxlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDoKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoJHRoaXMtPmltYWdlUmVzaXplZCkKCQl7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfR1JBWVNDQUxFKTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9DT05UUkFTVCwgLTE1KTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9CUklHSFRORVNTLCAyKTsKCQkJJHRoaXMtPnNoYXJwZW4oJHRoaXMtPndpZHRoKTsKCQl9Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gZ3JleVNjYWxlRHJhbWF0aWMoKQoJCSMgQWxpYXMgb2YgZ2RfZmlsdGVyX21vbm9waW4KCXsKCQkkdGhpcy0+Z2RfZmlsdGVyX21vbm9waW4oKTsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBCbGFjayAnbiBXaGl0ZQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIGJsYWNrQW5kV2hpdGUoKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDctMDUtMjAxMQoJCSMgUHVycG9zZTogICAgTWFrZSBpbWFnZSBibGFjayBhbmQgd2hpdGUKCQkjIFBhcmFtIGluOiAgIG4vYQoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfR1JBWVNDQUxFKTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9DT05UUkFTVCwgLTEwMDApOwoJCX0KCgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgTmVnYXRpdmUKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCXB1YmxpYyBmdW5jdGlvbiBuZWdhdGl2ZSgpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAwNy0wNS0yMDExCgkJIyBQdXJwb3NlOiAgICBNYWtlIGltYWdlIG5lZ2F0aXZlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDoKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlpZiAoJHRoaXMtPmltYWdlUmVzaXplZCkKCQl7CgoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX05FR0FURSk7CgkJfQoKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBTZXBpYQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIHNlcGlhKCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA3LTA1LTIwMTEKCQkjIFB1cnBvc2U6ICAgIE1ha2UgaW1hZ2Ugc2VwaWEKCQkjIFBhcmFtIGluOiAgIG4vYQoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOwoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX0JSSUdIVE5FU1MsIC0xMCk7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfQ09OVFJBU1QsIC0yMCk7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfQ09MT1JJWkUsIDYwLCAzMCwgLTE1KTsKCQl9Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gc2VwaWEyKCkKCgl7CgkJaWYgKCR0aGlzLT5pbWFnZVJlc2l6ZWQpCgkJewoKCQkJJHRvdGFsID0gaW1hZ2Vjb2xvcnN0b3RhbCgkdGhpcy0+aW1hZ2VSZXNpemVkKTsKCQkJZm9yICgkaSA9IDA7ICRpIDwgJHRvdGFsOyAkaSsrKQoJCQl7CgkJCQkkaW5kZXggPSBpbWFnZWNvbG9yc2ZvcmluZGV4KCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRpKTsKCQkJCSRyZWQgPSAoJGluZGV4WyJyZWQiXSAqIDAuMzkzICsgJGluZGV4WyJncmVlbiJdICogMC43NjkgKyAkaW5kZXhbImJsdWUiXSAqIDAuMTg5KSAvIDEuMzUxOwoJCQkJJGdyZWVuID0gKCRpbmRleFsicmVkIl0gKiAwLjM0OSArICRpbmRleFsiZ3JlZW4iXSAqIDAuNjg2ICsgJGluZGV4WyJibHVlIl0gKiAwLjE2OCkgLyAxLjIwMzsKCQkJCSRibHVlID0gKCRpbmRleFsicmVkIl0gKiAwLjI3MiArICRpbmRleFsiZ3JlZW4iXSAqIDAuNTM0ICsgJGluZGV4WyJibHVlIl0gKiAwLjEzMSkgLyAyLjE0MDsKCQkJCWltYWdlY29sb3JzZXQoJHRoaXMtPmltYWdlUmVzaXplZCwgJGksICRyZWQsICRncmVlbiwgJGJsdWUpOwoJCQl9CgoKCQl9Cgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgVmludGFnZQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIHZpbnRhZ2UoKQoJCSMgQWxpYXMgb2YgZ2RfZmlsdGVyX21vbm9waW4KCXsKCQkkdGhpcy0+Z2RfZmlsdGVyX3ZpbnRhZ2UoKTsKCX0KCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIFByZXNldHMgQnkgTWFyYyBIaWJiaW5zCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCgoJLyoqIEFwcGx5ICdNb25vcGluJyBwcmVzZXQgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZF9maWx0ZXJfbW9ub3BpbigpCgl7CgoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOwoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX0JSSUdIVE5FU1MsIC0xNSk7CgkJCWltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIElNR19GSUxURVJfQ09OVFJBU1QsIC0xNSk7CgkJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSAkdGhpcy0+Z2RfYXBwbHlfb3ZlcmxheSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAndmlnbmV0dGUnLCAxMDApOwoJCX0KCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBnZF9maWx0ZXJfdmludGFnZSgpCgl7CgkJaWYgKCR0aGlzLT5pbWFnZVJlc2l6ZWQpCgkJewoJCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJHRoaXMtPmdkX2FwcGx5X292ZXJsYXkoJHRoaXMtPmltYWdlUmVzaXplZCwgJ3ZpZ25ldHRlJywgNDUpOwoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX0JSSUdIVE5FU1MsIDIwKTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9DT05UUkFTVCwgLTM1KTsKCQkJaW1hZ2VmaWx0ZXIoJHRoaXMtPmltYWdlUmVzaXplZCwgSU1HX0ZJTFRFUl9DT0xPUklaRSwgNjAsIC0xMCwgMzUpOwoJCQlpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2VSZXNpemVkLCBJTUdfRklMVEVSX1NNT09USCwgNyk7CgkJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSAkdGhpcy0+Z2RfYXBwbHlfb3ZlcmxheSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAnc2NyYXRjaCcsIDEwKTsKCQl9Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkvKiogQXBwbHkgYSBQTkcgb3ZlcmxheSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZF9hcHBseV9vdmVybGF5KCRpbSwgJHR5cGUsICRhbW91bnQpCgkJIwoJCSMgT3JpZ2luYWwgQXV0aG9yOiAgICBNYXJjIEhpYmJpbnMKCQkjIExpY2Vuc2U6ICBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlIDMuMAoJCSMgUHVycG9zZToKCQkjIFBhcmFtcyBpbjoKCQkjIFBhcmFtcyBvdXQ6CgkJIyBOb3RlczoKCQkjCgl7CgkJJHdpZHRoID0gaW1hZ2VzeCgkaW0pOwoJCSRoZWlnaHQgPSBpbWFnZXN5KCRpbSk7CgkJJGZpbHRlciA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CgoJCWltYWdlYWxwaGFibGVuZGluZygkZmlsdGVyLCBmYWxzZSk7CgkJaW1hZ2VzYXZlYWxwaGEoJGZpbHRlciwgdHJ1ZSk7CgoJCSR0cmFuc3BhcmVudCA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRmaWx0ZXIsIDI1NSwgMjU1LCAyNTUsIDEyNyk7CgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJGZpbHRlciwgMCwgMCwgJHdpZHRoLCAkaGVpZ2h0LCAkdHJhbnNwYXJlbnQpOwoKCQkvLyAqKiogUmVzaXplIG92ZXJsYXkKCQkkb3ZlcmxheSA9ICR0aGlzLT5maWx0ZXJPdmVybGF5UGF0aCAuICcvJyAuICR0eXBlIC4gJy5wbmcnOwoJCSRwbmcgPSBpbWFnZWNyZWF0ZWZyb21wbmcoJG92ZXJsYXkpOwoJCWltYWdlY29weXJlc2FtcGxlZCgkZmlsdGVyLCAkcG5nLCAwLCAwLCAwLCAwLCAkd2lkdGgsICRoZWlnaHQsIGltYWdlc3goJHBuZyksIGltYWdlc3koJHBuZykpOwoKCQkkY29tcCA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CgkJaW1hZ2Vjb3B5KCRjb21wLCAkaW0sIDAsIDAsIDAsIDAsICR3aWR0aCwgJGhlaWdodCk7CgkJaW1hZ2Vjb3B5KCRjb21wLCAkZmlsdGVyLCAwLCAwLCAwLCAwLCAkd2lkdGgsICRoZWlnaHQpOwoJCWltYWdlY29weW1lcmdlKCRpbSwgJGNvbXAsIDAsIDAsIDAsIDAsICR3aWR0aCwgJGhlaWdodCwgJGFtb3VudCk7CgoJCWltYWdlZGVzdHJveSgkY29tcCk7CgoJCXJldHVybiAkaW07Cgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgQ29sb3Jpc2UKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCXB1YmxpYyBmdW5jdGlvbiBpbWFnZV9jb2xvcml6ZSgkcmdiKQoJewoJCWltYWdlVHJ1ZUNvbG9yVG9QYWxldHRlKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIHRydWUsIDI1Nik7CgkJJG51bUNvbG9ycyA9IGltYWdlQ29sb3JzVG90YWwoJHRoaXMtPmltYWdlUmVzaXplZCk7CgoJCWZvciAoJHggPSAwOyAkeCA8ICRudW1Db2xvcnM7ICR4KyspCgkJewoJCQlsaXN0KCRyLCAkZywgJGIpID0gYXJyYXlfdmFsdWVzKGltYWdlQ29sb3JzRm9ySW5kZXgoJHRoaXMtPmltYWdlUmVzaXplZCwgJHgpKTsKCgkJCS8vIGNhbGN1bGF0ZSBncmF5c2NhbGUgaW4gcGVyY2VudAoJCQkkZ3JheXNjYWxlID0gKCRyICsgJGcgKyAkYikgLyAzIC8gMHhmZjsKCgkJCWltYWdlQ29sb3JTZXQoJHRoaXMtPmltYWdlUmVzaXplZCwgJHgsCgkJCQkkZ3JheXNjYWxlICogJHJnYlswXSwKCQkJCSRncmF5c2NhbGUgKiAkcmdiWzFdLAoJCQkJJGdyYXlzY2FsZSAqICRyZ2JbMl0KCQkJKTsKCgkJfQoKCQlyZXR1cm4gdHJ1ZTsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBSZWZsZWN0aW9uCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkUmVmbGVjdGlvbigkcmVmbGVjdGlvbkhlaWdodCA9IDUwLCAkc3RhcnRpbmdUcmFuc3BhcmVuY3kgPSAzMCwgJGluc2lkZSA9IGZhbHNlLCAkYmdDb2xvciA9ICcjZmZmJywgJHN0cmV0Y2ggPSBmYWxzZSwgJGRpdmlkZXIgPSAwKQoJewoKCQkvLyAqKiogQ29udmVydCBjb2xvcgoJCSRyZ2JBcnJheSA9ICR0aGlzLT5mb3JtYXRDb2xvcigkYmdDb2xvcik7CgkJJHIgPSAkcmdiQXJyYXlbJ3InXTsKCQkkZyA9ICRyZ2JBcnJheVsnZyddOwoJCSRiID0gJHJnYkFycmF5WydiJ107CgoJCSRpbSA9ICR0aGlzLT5pbWFnZVJlc2l6ZWQ7CgkJJGxpID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPndpZHRoLCAxKTsKCgkJJGJnYyA9IGltYWdlY29sb3JhbGxvY2F0ZSgkbGksICRyLCAkZywgJGIpOwoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRsaSwgMCwgMCwgJHRoaXMtPndpZHRoLCAxLCAkYmdjKTsKCgkJJGJnID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPndpZHRoLCAkcmVmbGVjdGlvbkhlaWdodCk7CgkJJHdoID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRpbSwgMjU1LCAyNTUsIDI1NSk7CgoJCSRpbSA9IGltYWdlcm90YXRlKCRpbSwgLTE4MCwgJHdoKTsKCQlpbWFnZWNvcHlyZXNhbXBsZWQoJGJnLCAkaW0sIDAsIDAsIDAsIDAsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJHRoaXMtPndpZHRoLCAkdGhpcy0+aGVpZ2h0KTsKCgkJJGltID0gJGJnOwoKCQkkYmcgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+d2lkdGgsICRyZWZsZWN0aW9uSGVpZ2h0KTsKCgkJZm9yICgkeCA9IDA7ICR4IDwgJHRoaXMtPndpZHRoOyAkeCsrKQoJCXsKCQkJaW1hZ2Vjb3B5KCRiZywgJGltLCAkeCwgMCwgJHRoaXMtPndpZHRoIC0gJHggLSAxLCAwLCAxLCAkcmVmbGVjdGlvbkhlaWdodCk7CgkJfQoJCSRpbSA9ICRiZzsKCgkJJHRyYW5zYXByZW5jeUFtb3VudCA9ICR0aGlzLT5pbnZlcnRUcmFuc3BhcmVuY3koJHN0YXJ0aW5nVHJhbnNwYXJlbmN5LCAxMDApOwoKCgkJLy8gKioqIEZhZGUKCQlpZiAoJHN0cmV0Y2gpCgkJewoJCQkkc3RlcCA9IDEwMCAvICgkcmVmbGVjdGlvbkhlaWdodCArICRzdGFydGluZ1RyYW5zcGFyZW5jeSk7CgkJfQoJCWVsc2UKCQl7CgkJCSRzdGVwID0gMTAwIC8gJHJlZmxlY3Rpb25IZWlnaHQ7CgkJfQoJCWZvciAoJGkgPSAwOyAkaSA8PSAkcmVmbGVjdGlvbkhlaWdodDsgJGkrKykKCQl7CgoJCQlpZiAoJHN0YXJ0aW5nVHJhbnNwYXJlbmN5ID4gMTAwKQoJCQl7CgkJCQkkc3RhcnRpbmdUcmFuc3BhcmVuY3kgPSAxMDA7CgkJCX0KCQkJaWYgKCRzdGFydGluZ1RyYW5zcGFyZW5jeSA8IDEpCgkJCXsKCQkJCSRzdGFydGluZ1RyYW5zcGFyZW5jeSA9IDE7CgkJCX0KCQkJaW1hZ2Vjb3B5bWVyZ2UoJGJnLCAkbGksIDAsICRpLCAwLCAwLCAkdGhpcy0+d2lkdGgsIDEsICRzdGFydGluZ1RyYW5zcGFyZW5jeSk7CgkJCSRzdGFydGluZ1RyYW5zcGFyZW5jeSArPSAkc3RlcDsKCQl9CgoJCS8vICoqKiBBcHBseSBmYWRlCgkJaW1hZ2Vjb3B5bWVyZ2UoJGltLCAkbGksIDAsIDAsIDAsIDAsICR0aGlzLT53aWR0aCwgJGRpdmlkZXIsIDEwMCk7IC8vIERpdmlkZXIKCgoJCS8vICoqKiB3aWR0aCwgaGVpZ2h0IG9mIHJlZmxlY3Rpb24uCgkJJHggPSBpbWFnZXN4KCRpbSk7CgkJJHkgPSBpbWFnZXN5KCRpbSk7CgoKCQkvLyAqKiogRGV0ZXJtaW5lcyBpZiB0aGUgcmVmbGVjdGlvbiBzaG91bGQgYmUgZGlzcGxheWVkIGluc2lkZSBvciBvdXRzaWRlIHRoZSBpbWFnZQoJCWlmICgkaW5zaWRlKQoJCXsKCgkJCS8vIENyZWF0ZSBuZXcgYmxhbmsgaW1hZ2Ugd2l0aCBzaXplcy4KCQkJJGZpbmFsID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPndpZHRoLCAkdGhpcy0+aGVpZ2h0KTsKCgkJCWltYWdlY29weW1lcmdlKCRmaW5hbCwgJHRoaXMtPmltYWdlUmVzaXplZCwgMCwgMCwgMCwgJHJlZmxlY3Rpb25IZWlnaHQsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCAtICRyZWZsZWN0aW9uSGVpZ2h0LCAxMDApOwoJCQlpbWFnZWNvcHltZXJnZSgkZmluYWwsICRpbSwgMCwgJHRoaXMtPmhlaWdodCAtICRyZWZsZWN0aW9uSGVpZ2h0LCAwLCAwLCAkeCwgJHksIDEwMCk7CgoJCX0KCQllbHNlCgkJewoKCQkJLy8gQ3JlYXRlIG5ldyBibGFuayBpbWFnZSB3aXRoIHNpemVzLgoJCQkkZmluYWwgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQgKyAkeSk7CgoJCQlpbWFnZWNvcHltZXJnZSgkZmluYWwsICR0aGlzLT5pbWFnZVJlc2l6ZWQsIDAsIDAsIDAsIDAsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgMTAwKTsKCQkJaW1hZ2Vjb3B5bWVyZ2UoJGZpbmFsLCAkaW0sIDAsICR0aGlzLT5oZWlnaHQsIDAsIDAsICR4LCAkeSwgMTAwKTsKCQl9CgoJCSR0aGlzLT5pbWFnZVJlc2l6ZWQgPSAkZmluYWw7CgoJCWltYWdlZGVzdHJveSgkbGkpOwoJCWltYWdlZGVzdHJveSgkaW0pOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIFJvdGF0ZQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIHJvdGF0ZSgkdmFsdWUgPSA5MCwgJGJnQ29sb3IgPSAndHJhbnNwYXJlbnQnKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDctMDUtMjAxMQoJCSMgUHVycG9zZTogICAgUm90YXRlIGltYWdlCgkJIyBQYXJhbSBpbjogICAobWl4ZWQpICRkZWdyZWVzOiAoaW50KSBudW1iZXIgb2YgZGVncmVzcyB0byByb3RhdGUgaW1hZ2UKCQkjICAgICAgICAgICAgICAgKHN0cikgcGFyYW0gImxlZnQiOiByb3RhdGUgbGVmdAoJCSMgICAgICAgICAgICAgICAoc3RyKSBwYXJhbSAicmlnaHQiOiByb3RhdGUgcmlnaHQKCQkjICAgICAgICAgICAgICAgKHN0cikgcGFyYW0gInVwc2lkZSI6IHVwc2lkZS1kb3duIGltYWdlCgkJIyBQYXJhbSBvdXQ6CgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczogICAgVGhlIGRlZmF1bHQgZGlyZWN0aW9uIG9mIGltYWdlUm90YXRlKCkgaXMgY291bnRlciBjbG9ja3dpc2UuCgkJIwoJewoJCWlmICgkdGhpcy0+aW1hZ2VSZXNpemVkKQoJCXsKCgkJCWlmIChpc19pbnRlZ2VyKCR2YWx1ZSkpCgkJCXsKCQkJCSRkZWdyZWVzID0gJHZhbHVlOwoJCQl9CgoJCQkvLyAqKiogQ29udmVydCBjb2xvcgoJCQkkcmdiQXJyYXkgPSAkdGhpcy0+Zm9ybWF0Q29sb3IoJGJnQ29sb3IpOwoJCQkkciA9ICRyZ2JBcnJheVsnciddOwoJCQkkZyA9ICRyZ2JBcnJheVsnZyddOwoJCQkkYiA9ICRyZ2JBcnJheVsnYiddOwoJCQlpZiAoaXNzZXQoJHJnYkFycmF5WydhJ10pKQoJCQl7CgkJCQkkYSA9ICRyZ2JBcnJheVsnYSddOwoJCQl9CgoJCQlpZiAoaXNfc3RyaW5nKCR2YWx1ZSkpCgkJCXsKCgkJCQkkdmFsdWUgPSBmaXhfc3RydG9sb3dlcigkdmFsdWUpOwoKCQkJCXN3aXRjaCAoJHZhbHVlKQoJCQkJewoJCQkJCWNhc2UgJ2xlZnQnOgoJCQkJCQkkZGVncmVlcyA9IDkwOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICdyaWdodCc6CgkJCQkJCSRkZWdyZWVzID0gMjcwOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICd1cHNpZGUnOgoJCQkJCQkkZGVncmVlcyA9IDE4MDsKCQkJCQkJYnJlYWs7CgkJCQkJZGVmYXVsdDoKCQkJCQkJYnJlYWs7CgkJCQl9CgoJCQl9CgoJCQkvLyAqKiogVGhlIGRlZmF1bHQgZGlyZWN0aW9uIG9mIGltYWdlUm90YXRlKCkgaXMgY291bnRlciBjbG9ja3dpc2UKCQkJLy8gICAqIFRoaXMgbWFrZXMgaXQgY2xvY2t3aXNlCgkJCSRkZWdyZWVzID0gMzYwIC0gJGRlZ3JlZXM7CgoJCQkvLyAqKiogQ3JlYXRlIGJhY2tncm91bmQgY29sb3IKCQkJJGJnID0gSW1hZ2VDb2xvckFsbG9jYXRlQWxwaGEoJHRoaXMtPmltYWdlUmVzaXplZCwgJHIsICRnLCAkYiwgJGEpOwoKCQkJLy8gKioqIEZpbGwgd2l0aCBiYWNrZ3JvdW5kCgkJCUltYWdlRmlsbCgkdGhpcy0+aW1hZ2VSZXNpemVkLCAwLCAwLCAkYmcpOwoKCQkJLy8gKioqIFJvdGF0ZQoJCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gaW1hZ2Vyb3RhdGUoJHRoaXMtPmltYWdlUmVzaXplZCwgJGRlZ3JlZXMsICRiZyk7IC8vIFJvdGF0ZSA0NSBkZWdyZWVzIGFuZCBhbGxvY2F0ZWQgdGhlIHRyYW5zcGFyZW50IGNvbG91ciBhcyB0aGUgb25lIHRvIG1ha2UgdHJhbnNwYXJlbnQgKG9idmlvdXNseSkKCgkJCS8vIEVuc3VyZSBhbHBoYSB0cmFuc3BhcmVuY3kKCQkJSW1hZ2VTYXZlQWxwaGEoJHRoaXMtPmltYWdlUmVzaXplZCwgdHJ1ZSk7CgoJCX0KCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBSb3VuZCBjb3JuZXJzCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gcm91bmRDb3JuZXJzKCRyYWRpdXMgPSA1LCAkYmdDb2xvciA9ICd0cmFuc3BhcmVudCcpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxOS0wNS0yMDExCgkJIyBQdXJwb3NlOiAgICBDcmVhdGUgcm91bmRlZCBjb3JuZXJzIG9uIHlvdXIgaW1hZ2UKCQkjIFBhcmFtIGluOiAgIChpbnQpIHJhZGl1cyA9IHRoZSBhbW91bnQgb2YgY3VydmF0dXJlCgkJIyAgICAgICAobWl4ZWQpICRiZ0NvbG9yID0gdGhlIGNvcm5lciBiYWNrZ3JvdW5kIGNvbG9yCgkJIyBQYXJhbSBvdXQ6ICBuL2EKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCgkJLy8gKioqIENoZWNrIGlmIHRoZSB1c2VyIHdhbnRzIHRyYW5zcGFyZW5jeQoJCSRpc1RyYW5zcGFyZW50ID0gZmFsc2U7CgkJaWYgKCAhIGlzX2FycmF5KCRiZ0NvbG9yKSkKCQl7CgkJCWlmIChmaXhfc3RydG9sb3dlcigkYmdDb2xvcikgPT0gJ3RyYW5zcGFyZW50JykKCQkJewoJCQkJJGlzVHJhbnNwYXJlbnQgPSB0cnVlOwoJCQl9CgkJfQoKCgkJLy8gKioqIElmIHdlIHVzZSB0cmFuc3BhcmVuY3ksIHdlIG5lZWQgdG8gY29sb3Igb3VyIGN1cnZlZCBtYXNrIHdpdGggYSB1bmlxdWUgY29sb3IKCQlpZiAoJGlzVHJhbnNwYXJlbnQpCgkJewoJCQkkYmdDb2xvciA9ICR0aGlzLT5maW5kVW51c2VkR3JlZW4oKTsKCQl9CgoJCS8vICoqKiBDb252ZXJ0IGNvbG9yCgkJJHJnYkFycmF5ID0gJHRoaXMtPmZvcm1hdENvbG9yKCRiZ0NvbG9yKTsKCQkkciA9ICRyZ2JBcnJheVsnciddOwoJCSRnID0gJHJnYkFycmF5WydnJ107CgkJJGIgPSAkcmdiQXJyYXlbJ2InXTsKCQlpZiAoaXNzZXQoJHJnYkFycmF5WydhJ10pKQoJCXsKCQkJJGEgPSAkcmdiQXJyYXlbJ2EnXTsKCQl9CgoKCQkvLyAqKiogQ3JlYXRlIHRvcC1sZWZ0IGNvcm5lciBtYXNrIChzcXVhcmUpCgkJJGNvcm5lckltZyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRyYWRpdXMsICRyYWRpdXMpOwoJCS8vJGNvcm5lckltZyA9IGltYWdlY3JlYXRlKCRyYWRpdXMsICRyYWRpdXMpOwoKCQkvL2ltYWdlYWxwaGFibGVuZGluZygkY29ybmVySW1nLCB0cnVlKTsKCQkvL2ltYWdlc2F2ZWFscGhhKCRjb3JuZXJJbWcsIHRydWUpOwoKCQkvL2ltYWdlYWxwaGFibGVuZGluZygkdGhpcy0+aW1hZ2VSZXNpemVkLCBmYWxzZSk7CgkJLy9pbWFnZXNhdmVhbHBoYSgkdGhpcy0+aW1hZ2VSZXNpemVkLCB0cnVlKTsKCgkJLy8gKioqIEdpdmUgaXQgYSBjb2xvcgoJCSRtYXNrQ29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJGNvcm5lckltZywgMCwgMCwgMCk7CgoKCQkvLyAqKiogUmVwbGFjZSB0aGUgbWFzayBjb2xvciAoYmxhY2spIHRvIHRyYW5zcGFyZW50CgkJaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRjb3JuZXJJbWcsICRtYXNrQ29sb3IpOwoKCgkJLy8gKioqIENyZWF0ZSB0aGUgaW1hZ2UgYmFja2dyb3VuZCBjb2xvcgoJCSRpbWFnZWJnQ29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJGNvcm5lckltZywgJHIsICRnLCAkYik7CgoKCQkvLyAqKiogRmlsbCB0aGUgY29ybmVyIGFyZWEgdG8gdGhlIHVzZXIgZGVmaW5lZCBjb2xvcgoJCWltYWdlZmlsbCgkY29ybmVySW1nLCAwLCAwLCAkaW1hZ2ViZ0NvbG9yKTsKCgoJCWltYWdlZmlsbGVkZWxsaXBzZSgkY29ybmVySW1nLCAkcmFkaXVzLCAkcmFkaXVzLCAkcmFkaXVzICogMiwgJHJhZGl1cyAqIDIsICRtYXNrQ29sb3IpOwoKCgkJLy8gKioqIE1hcCB0byB0b3AgbGVmdCBjb3JuZXIKCQlpbWFnZWNvcHltZXJnZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkY29ybmVySW1nLCAwLCAwLCAwLCAwLCAkcmFkaXVzLCAkcmFkaXVzLCAxMDApOyAjdGwKCgkJLy8gKioqIE1hcCByb3VuZGVkIGNvcm5lciB0byBvdGhlciBjb3JuZXJzIGJ5IHJvdGF0aW5nIGFuZCBhcHBseWluZyB0aGUgbWFzawoJCSRjb3JuZXJJbWcgPSBpbWFnZXJvdGF0ZSgkY29ybmVySW1nLCA5MCwgMCk7CgkJaW1hZ2Vjb3B5bWVyZ2UoJHRoaXMtPmltYWdlUmVzaXplZCwgJGNvcm5lckltZywgMCwgJHRoaXMtPmhlaWdodCAtICRyYWRpdXMsIDAsIDAsICRyYWRpdXMsICRyYWRpdXMsIDEwMCk7ICNibAoKCQkkY29ybmVySW1nID0gaW1hZ2Vyb3RhdGUoJGNvcm5lckltZywgOTAsIDApOwoJCWltYWdlY29weW1lcmdlKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRjb3JuZXJJbWcsICR0aGlzLT53aWR0aCAtICRyYWRpdXMsICR0aGlzLT5oZWlnaHQgLSAkcmFkaXVzLCAwLCAwLCAkcmFkaXVzLCAkcmFkaXVzLCAxMDApOyAjYnIKCgkJJGNvcm5lckltZyA9IGltYWdlcm90YXRlKCRjb3JuZXJJbWcsIDkwLCAwKTsKCQlpbWFnZWNvcHltZXJnZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkY29ybmVySW1nLCAkdGhpcy0+d2lkdGggLSAkcmFkaXVzLCAwLCAwLCAwLCAkcmFkaXVzLCAkcmFkaXVzLCAxMDApOyAjdHIKCgoJCS8vICoqKiBJZiBjb3JuZXJzIGFyZSB0byBiZSB0cmFuc3BhcmVudCwgd2UgZmlsbCBvdXIgY2hyb21ha2V5IGNvbG9yIGFzIHRyYW5zcGFyZW50LgoJCWlmICgkaXNUcmFuc3BhcmVudCkKCQl7CgkJCS8vaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRpbWFnZWJnQ29sb3IpOwoJCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJHRoaXMtPnRyYW5zcGFyZW50SW1hZ2UoJHRoaXMtPmltYWdlUmVzaXplZCk7CgkJCWltYWdlc2F2ZWFscGhhKCR0aGlzLT5pbWFnZVJlc2l6ZWQsIHRydWUpOwoJCX0KCgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgU2hhZG93CiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkU2hhZG93KCRzaGFkb3dBbmdsZSA9IDQ1LCAkYmx1ciA9IDE1LCAkYmdDb2xvciA9ICd0cmFuc3BhcmVudCcpCgkJIwoJCSMgQXV0aG9yOiAgIEphcnJvZCBPYmVydG8gKEFkYXB0ZWQgZnJvbSBQYXNjYWwgTmFpZG9uKQoJCSMgUmVmOiAgICBodHRwOi8vd3d3Lmxlcy1zdG9vZ2VzLm9yZy9wYXNjYWwvd2ViZGVzaWduL3ZpZ25ldHRlcy9pbmRleC5waHA/bGE9ZW4KCQkjIFB1cnBvc2U6ICBBZGQgYSBkcm9wIHNoYWRvdyB0byB5b3VyIGltYWdlCgkJIyBQYXJhbXMgaW46ICAoaW50KSAkYW5nbGU6IHRoZSBhbmdsZSBvZiB0aGUgc2hhZG93CgkJIyAgICAgICAoaW50KSAkYmx1cjogdGhlIGJsdXIgZGlzdGFuY2UKCQkjICAgICAgIChtaXhlZCkgJGJnQ29sb3I6IHRoZSBjb2xvciBvZiB0aGUgYmFja2dyb3VuZAoJCSMgUGFyYW1zIG91dDoKCQkjIE5vdGVzOgoJCSMKCXsKCQkvLyAqKiogQSBoaWdoZXIgbnVtYmVyIHJlc3VsdHMgaW4gYSBzbW9vdGhlciBzaGFkb3cKCQlkZWZpbmUoJ1NURVBTJywgJGJsdXIgKiAyKTsKCgkJLy8gKioqIFNldCB0aGUgc2hhZG93IGRpc3RhbmNlCgkJJHNoYWRvd0Rpc3RhbmNlID0gJGJsdXIgKiAwLjI1OwoKCQkvLyAqKiogU2V0IGJsdXIgd2lkdGggYW5kIGhlaWdodAoJCSRibHVyV2lkdGggPSAkYmx1ckhlaWdodCA9ICRibHVyOwoKCgkJaWYgKCRzaGFkb3dBbmdsZSA9PSAwKQoJCXsKCQkJJGRpc3RXaWR0aCA9IDA7CgkJCSRkaXN0SGVpZ2h0ID0gMDsKCQl9CgkJZWxzZQoJCXsKCQkJJGRpc3RXaWR0aCA9ICRzaGFkb3dEaXN0YW5jZSAqIGNvcyhkZWcycmFkKCRzaGFkb3dBbmdsZSkpOwoJCQkkZGlzdEhlaWdodCA9ICRzaGFkb3dEaXN0YW5jZSAqIHNpbihkZWcycmFkKCRzaGFkb3dBbmdsZSkpOwoJCX0KCgoJCS8vICoqKiBDb252ZXJ0IGNvbG9yCgkJaWYgKGZpeF9zdHJ0b2xvd2VyKCRiZ0NvbG9yKSAhPSAndHJhbnNwYXJlbnQnKQoJCXsKCQkJJHJnYkFycmF5ID0gJHRoaXMtPmZvcm1hdENvbG9yKCRiZ0NvbG9yKTsKCQkJJHIwID0gJHJnYkFycmF5WydyJ107CgkJCSRnMCA9ICRyZ2JBcnJheVsnZyddOwoJCQkkYjAgPSAkcmdiQXJyYXlbJ2InXTsKCQl9CgoKCQkkaW1hZ2UgPSAkdGhpcy0+aW1hZ2VSZXNpemVkOwoJCSR3aWR0aCA9ICR0aGlzLT53aWR0aDsKCQkkaGVpZ2h0ID0gJHRoaXMtPmhlaWdodDsKCgoJCSRuZXdJbWFnZSA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CgkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCRuZXdJbWFnZSwgJGltYWdlLCAwLCAwLCAwLCAwLCAkd2lkdGgsICRoZWlnaHQsICR3aWR0aCwgJGhlaWdodCk7CgoKCQkvLyAqKiogUkdCCgkJJHJnYiA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCArICRibHVyV2lkdGgsICRoZWlnaHQgKyAkYmx1ckhlaWdodCk7CgkJJGNvbG91ciA9IGltYWdlY29sb3JhbGxvY2F0ZSgkcmdiLCAwLCAwLCAwKTsKCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkcmdiLCAwLCAwLCAkd2lkdGggKyAkYmx1cldpZHRoLCAkaGVpZ2h0ICsgJGJsdXJIZWlnaHQsICRjb2xvdXIpOwoJCSRjb2xvdXIgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHJnYiwgMjU1LCAyNTUsIDI1NSk7CgkJLy9pbWFnZWZpbGxlZHJlY3RhbmdsZSgkcmdiLCAkYmx1cldpZHRoKjAuNS0kZGlzdFdpZHRoLCAkYmx1ckhlaWdodCowLjUtJGRpc3RIZWlnaHQsICR3aWR0aCskYmx1cldpZHRoKjAuNS0kZGlzdFdpZHRoLCAkaGVpZ2h0KyRibHVyV2lkdGgqMC41LSRkaXN0SGVpZ2h0LCAkY29sb3VyKTsKCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkcmdiLCAkYmx1cldpZHRoICogMC41IC0gJGRpc3RXaWR0aCwgJGJsdXJIZWlnaHQgKiAwLjUgLSAkZGlzdEhlaWdodCwgJHdpZHRoICsgJGJsdXJXaWR0aCAqIDAuNSAtICRkaXN0V2lkdGgsICRoZWlnaHQgKyAkYmx1cldpZHRoICogMC41IC0gJGRpc3RIZWlnaHQsICRjb2xvdXIpOwoJCS8vaW1hZ2Vjb3B5bWVyZ2UoJHJnYiwgJG5ld0ltYWdlLCAxKyRibHVyV2lkdGgqMC41LSRkaXN0V2lkdGgsIDErJGJsdXJIZWlnaHQqMC41LSRkaXN0SGVpZ2h0LCAwLDAsICR3aWR0aCwgJGhlaWdodCwgMTAwKTsKCQlpbWFnZWNvcHltZXJnZSgkcmdiLCAkbmV3SW1hZ2UsICRibHVyV2lkdGggKiAwLjUgLSAkZGlzdFdpZHRoLCAkYmx1ckhlaWdodCAqIDAuNSAtICRkaXN0SGVpZ2h0LCAwLCAwLCAkd2lkdGggKyAkYmx1cldpZHRoLCAkaGVpZ2h0ICsgJGJsdXJIZWlnaHQsIDEwMCk7CgoKCQkvLyAqKiogU2hhZG93IChhbHBoYSkKCQkkc2hhZG93ID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoICsgJGJsdXJXaWR0aCwgJGhlaWdodCArICRibHVySGVpZ2h0KTsKCQlpbWFnZWFscGhhYmxlbmRpbmcoJHNoYWRvdywgZmFsc2UpOwoJCSRjb2xvdXIgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHNoYWRvdywgMCwgMCwgMCk7CgkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHNoYWRvdywgMCwgMCwgJHdpZHRoICsgJGJsdXJXaWR0aCwgJGhlaWdodCArICRibHVySGVpZ2h0LCAkY29sb3VyKTsKCgoJCWZvciAoJGkgPSAwOyAkaSA8PSBTVEVQUzsgJGkrKykKCQl7CgoJCQkkdCA9ICgoMS4wICogJGkpIC8gU1RFUFMpOwoJCQkkaW50ZW5zaXR5ID0gMjU1ICogJHQgKiAkdDsKCgkJCSRjb2xvdXIgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHNoYWRvdywgJGludGVuc2l0eSwgJGludGVuc2l0eSwgJGludGVuc2l0eSk7CgkJCSRwb2ludHMgPSBhcnJheSgKCQkJCSRibHVyV2lkdGggKiAkdCwgJGJsdXJIZWlnaHQsICAgICAvLyBQb2ludCAxICh4LCB5KQoJCQkJJGJsdXJXaWR0aCwgJGJsdXJIZWlnaHQgKiAkdCwgIC8vIFBvaW50IDIgKHgsIHkpCgkJCQkkd2lkdGgsICRibHVySGVpZ2h0ICogJHQsICAvLyBQb2ludCAzICh4LCB5KQoJCQkJJHdpZHRoICsgJGJsdXJXaWR0aCAqICgxIC0gJHQpLCAkYmx1ckhlaWdodCwgICAgIC8vIFBvaW50IDQgKHgsIHkpCgkJCQkkd2lkdGggKyAkYmx1cldpZHRoICogKDEgLSAkdCksICRoZWlnaHQsICAgICAvLyBQb2ludCA1ICh4LCB5KQoJCQkJJHdpZHRoLCAkaGVpZ2h0ICsgJGJsdXJIZWlnaHQgKiAoMSAtICR0KSwgIC8vIFBvaW50IDYgKHgsIHkpCgkJCQkkYmx1cldpZHRoLCAkaGVpZ2h0ICsgJGJsdXJIZWlnaHQgKiAoMSAtICR0KSwgIC8vIFBvaW50IDcgKHgsIHkpCgkJCQkkYmx1cldpZHRoICogJHQsICRoZWlnaHQgICAgICAvLyBQb2ludCA4ICh4LCB5KQoJCQkpOwoJCQlpbWFnZXBvbHlnb24oJHNoYWRvdywgJHBvaW50cywgOCwgJGNvbG91cik7CgkJfQoKCQlmb3IgKCRpID0gMDsgJGkgPD0gU1RFUFM7ICRpKyspCgkJewoKCQkJJHQgPSAoKDEuMCAqICRpKSAvIFNURVBTKTsKCQkJJGludGVuc2l0eSA9IDI1NSAqICR0ICogJHQ7CgoJCQkkY29sb3VyID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRzaGFkb3csICRpbnRlbnNpdHksICRpbnRlbnNpdHksICRpbnRlbnNpdHkpOwoJCQlpbWFnZWZpbGxlZGFyYygkc2hhZG93LCAkYmx1cldpZHRoIC0gMSwgJGJsdXJIZWlnaHQgLSAxLCAyICogKDEgLSAkdCkgKiAkYmx1cldpZHRoLCAyICogKDEgLSAkdCkgKiAkYmx1ckhlaWdodCwgMTgwLCAyNjgsICRjb2xvdXIsIElNR19BUkNfUElFKTsKCQkJaW1hZ2VmaWxsZWRhcmMoJHNoYWRvdywgJHdpZHRoLCAkYmx1ckhlaWdodCAtIDEsIDIgKiAoMSAtICR0KSAqICRibHVyV2lkdGgsIDIgKiAoMSAtICR0KSAqICRibHVySGVpZ2h0LCAyNzAsIDM1OCwgJGNvbG91ciwgSU1HX0FSQ19QSUUpOwoJCQlpbWFnZWZpbGxlZGFyYygkc2hhZG93LCAkd2lkdGgsICRoZWlnaHQsIDIgKiAoMSAtICR0KSAqICRibHVyV2lkdGgsIDIgKiAoMSAtICR0KSAqICRibHVySGVpZ2h0LCAwLCA5MCwgJGNvbG91ciwgSU1HX0FSQ19QSUUpOwoJCQlpbWFnZWZpbGxlZGFyYygkc2hhZG93LCAkYmx1cldpZHRoIC0gMSwgJGhlaWdodCwgMiAqICgxIC0gJHQpICogJGJsdXJXaWR0aCwgMiAqICgxIC0gJHQpICogJGJsdXJIZWlnaHQsIDkwLCAxODAsICRjb2xvdXIsIElNR19BUkNfUElFKTsKCQl9CgoKCQkkY29sb3VyID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRzaGFkb3csIDI1NSwgMjU1LCAyNTUpOwoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRzaGFkb3csICRibHVyV2lkdGgsICRibHVySGVpZ2h0LCAkd2lkdGgsICRoZWlnaHQsICRjb2xvdXIpOwoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRzaGFkb3csICRibHVyV2lkdGggKiAwLjUgLSAkZGlzdFdpZHRoLCAkYmx1ckhlaWdodCAqIDAuNSAtICRkaXN0SGVpZ2h0LCAkd2lkdGggKyAkYmx1cldpZHRoICogMC41IC0gMSAtICRkaXN0V2lkdGgsICRoZWlnaHQgKyAkYmx1ckhlaWdodCAqIDAuNSAtIDEgLSAkZGlzdEhlaWdodCwgJGNvbG91cik7CgoKCQkvLyAqKiogVGhlIG1hZ2ljCgkJaW1hZ2VhbHBoYWJsZW5kaW5nKCRyZ2IsIGZhbHNlKTsKCgkJZm9yICgkdGhlWCA9IDA7ICR0aGVYIDwgaW1hZ2VzeCgkcmdiKTsgJHRoZVgrKykKCQl7CgkJCWZvciAoJHRoZVkgPSAwOyAkdGhlWSA8IGltYWdlc3koJHJnYik7ICR0aGVZKyspCgkJCXsKCgkJCQkvLyAqKiogR2V0IHRoZSBSR0IgdmFsdWVzIGZvciBldmVyeSBwaXhlbCBvZiB0aGUgUkdCIGltYWdlCgkJCQkkY29sQXJyYXkgPSBpbWFnZWNvbG9yYXQoJHJnYiwgJHRoZVgsICR0aGVZKTsKCQkJCSRyID0gKCRjb2xBcnJheSA+PiAxNikgJiAweEZGOwoJCQkJJGcgPSAoJGNvbEFycmF5ID4+IDgpICYgMHhGRjsKCQkJCSRiID0gJGNvbEFycmF5ICYgMHhGRjsKCgkJCQkvLyAqKiogR2V0IHRoZSBhbHBoYSB2YWx1ZSBmb3IgZXZlcnkgcGl4ZWwgb2YgdGhlIHNoYWRvdyBpbWFnZQoJCQkJJGNvbEFycmF5ID0gaW1hZ2Vjb2xvcmF0KCRzaGFkb3csICR0aGVYLCAkdGhlWSk7CgkJCQkkYSA9ICRjb2xBcnJheSAmIDB4RkY7CgkJCQkkYSA9IDEyNyAtIGZsb29yKCRhIC8gMik7CgkJCQkkdCA9ICRhIC8gMTI4LjA7CgoJCQkJLy8gKioqIENyZWF0ZSBjb2xvcgoJCQkJaWYgKGZpeF9zdHJ0b2xvd2VyKCRiZ0NvbG9yKSA9PSAndHJhbnNwYXJlbnQnKQoJCQkJewoJCQkJCSRteUNvbG91ciA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRyZ2IsICRyLCAkZywgJGIsICRhKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkbXlDb2xvdXIgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHJnYiwgJHIgKiAoMS4wIC0gJHQpICsgJHIwICogJHQsICRnICogKDEuMCAtICR0KSArICRnMCAqICR0LCAkYiAqICgxLjAgLSAkdCkgKyAkYjAgKiAkdCk7CgkJCQl9CgoJCQkJLy8gKioqIEFkZCBjb2xvciB0byBuZXcgcmdiIGltYWdlCgkJCQlpbWFnZXNldHBpeGVsKCRyZ2IsICR0aGVYLCAkdGhlWSwgJG15Q29sb3VyKTsKCQkJfQoJCX0KCgkJaW1hZ2VhbHBoYWJsZW5kaW5nKCRyZ2IsIHRydWUpOwoJCWltYWdlc2F2ZWFscGhhKCRyZ2IsIHRydWUpOwoKCQkkdGhpcy0+aW1hZ2VSZXNpemVkID0gJHJnYjsKCgkJaW1hZ2VkZXN0cm95KCRpbWFnZSk7CgkJaW1hZ2VkZXN0cm95KCRuZXdJbWFnZSk7CgkJaW1hZ2VkZXN0cm95KCRzaGFkb3cpOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIEFkZCBDYXB0aW9uIEJveAoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHVibGljIGZ1bmN0aW9uIGFkZENhcHRpb25Cb3goJHNpZGUgPSAnYicsICR0aGlja25lc3MgPSA1MCwgJHBhZGRpbmcgPSAwLCAkYmdDb2xvciA9ICcjMDAwJywgJHRyYW5zYXByZW5jeUFtb3VudCA9IDMwKQoJCSMKCQkjIEF1dGhvcjogICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgIDI2IE1heSAyMDExCgkJIyBQdXJwb3NlOiAgQWRkIGEgY2FwdGlvbiBib3gKCQkjIFBhcmFtcyBpbjogIChzdHIpICRzaWRlOiB0aGUgc2lkZSB0byBhZGQgdGhlIGNhcHRpb24gYm94ICh0LCByLCBiLCBvciBsKS4KCQkjICAgICAgIChpbnQpICR0aGlja25lc3M6IGhvdyB0aGljayB5b3Ugd2FudCB0aGUgY2FwdGlvbiBib3ggdG8gYmUuCgkJIyAgICAgICAobWl4ZWQpICRiZ0NvbG9yOiBUaGUgY29sb3Igb2YgdGhlIGNhcHRpb24gYm94LgoJCSMgICAgICAgKGludCkgJHRyYW5zYXByZW5jeUFtb3VudDogVGhlIGFtb3VudCBvZiB0cmFuc3BhcmVuY3kgdG8gYmUKCQkjICAgICAgIGFwcGxpZWQuCgkJIyBQYXJhbXMgb3V0OiBuL2EKCQkjIE5vdGVzOgoJCSMKCXsKCQkkc2lkZSA9IGZpeF9zdHJ0b2xvd2VyKCRzaWRlKTsKCgkJLy8gKioqIENvbnZlcnQgY29sb3IKCQkkcmdiQXJyYXkgPSAkdGhpcy0+Zm9ybWF0Q29sb3IoJGJnQ29sb3IpOwoJCSRyID0gJHJnYkFycmF5WydyJ107CgkJJGcgPSAkcmdiQXJyYXlbJ2cnXTsKCQkkYiA9ICRyZ2JBcnJheVsnYiddOwoKCQkkcG9zaXRpb25BcnJheSA9ICR0aGlzLT5jYWxjdWxhdGVDYXB0aW9uQm94UG9zaXRpb24oJHNpZGUsICR0aGlja25lc3MsICRwYWRkaW5nKTsKCgkJLy8gKioqIFN0b3JlIGluY2FzZSB3ZSB3YW50IHRvIHVzZSBtZXRob2QgYWRkVGV4dFRvQ2FwdGlvbkJveCgpCgkJJHRoaXMtPmNhcHRpb25Cb3hQb3NpdGlvbkFycmF5ID0gJHBvc2l0aW9uQXJyYXk7CgoKCQkkdHJhbnNhcHJlbmN5QW1vdW50ID0gJHRoaXMtPmludmVydFRyYW5zcGFyZW5jeSgkdHJhbnNhcHJlbmN5QW1vdW50LCAxMjcsIGZhbHNlKTsKCQkkdHJhbnNwYXJlbnQgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkciwgJGcsICRiLCAkdHJhbnNhcHJlbmN5QW1vdW50KTsKCQlpbWFnZWZpbGxlZHJlY3RhbmdsZSgkdGhpcy0+aW1hZ2VSZXNpemVkLCAkcG9zaXRpb25BcnJheVsneDEnXSwgJHBvc2l0aW9uQXJyYXlbJ3kxJ10sICRwb3NpdGlvbkFycmF5Wyd4MiddLCAkcG9zaXRpb25BcnJheVsneTInXSwgJHRyYW5zcGFyZW50KTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBhZGRUZXh0VG9DYXB0aW9uQm94KCR0ZXh0LCAkZm9udENvbG9yID0gJyNmZmYnLCAkZm9udFNpemUgPSAxMiwgJGFuZ2xlID0gMCwgJGZvbnQgPSBudWxsKQoJCSMKCQkjIEF1dGhvcjogICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgIDAzIEF1ZyAxMQoJCSMgUHVycG9zZTogIFNpbXBsaWZ5IGFkZGluZyB0ZXh0IHRvIGEgY2FwdGlvbiBib3ggYnkgYXV0b21hdGljYWxseQoJCSMgICAgICAgbG9jYXRpbmcgdGhlIGNlbnRlciBvZiB0aGUgY2FwdGlvbiBib3gKCQkjIFBhcmFtcyBpbjogIFRoZSB1c3VhbGx5IHRleHQgcGFhbXMgKGxlc3MgYSBjb3VwbGUpCgkJIyBQYXJhbXMgb3V0OiBuL2EKCQkjIE5vdGVzOgoJCSMKCXsKCgkJLy8gKioqIEdldCB0aGUgY2FwdGlvbiBib3ggbWVhc3VyZW1lbnRzCgkJaWYgKGNvdW50KCR0aGlzLT5jYXB0aW9uQm94UG9zaXRpb25BcnJheSkgPT0gNCkKCQl7CgkJCSR4MSA9ICR0aGlzLT5jYXB0aW9uQm94UG9zaXRpb25BcnJheVsneDEnXTsKCQkJJHgyID0gJHRoaXMtPmNhcHRpb25Cb3hQb3NpdGlvbkFycmF5Wyd4MiddOwoJCQkkeTEgPSAkdGhpcy0+Y2FwdGlvbkJveFBvc2l0aW9uQXJyYXlbJ3kxJ107CgkJCSR5MiA9ICR0aGlzLT5jYXB0aW9uQm94UG9zaXRpb25BcnJheVsneTInXTsKCQl9CgkJZWxzZQoJCXsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gY2FwdGlvbiBib3ggZm91bmQuJyk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgoKCQkvLyAqKiogR2V0IHRleHQgZm9udAoJCSRmb250ID0gJHRoaXMtPmdldFRleHRGb250KCRmb250KTsKCgkJLy8gKioqIEdldCB0ZXh0IHNpemUKCQkkdGV4dFNpemVBcnJheSA9ICR0aGlzLT5nZXRUZXh0U2l6ZSgkZm9udFNpemUsICRhbmdsZSwgJGZvbnQsICR0ZXh0KTsKCQkkdGV4dFdpZHRoID0gJHRleHRTaXplQXJyYXlbJ3dpZHRoJ107CgkJJHRleHRIZWlnaHQgPSAkdGV4dFNpemVBcnJheVsnaGVpZ2h0J107CgoJCS8vICoqKiBGaW5kIHRoZSB3aWR0aC9oZWlnaHQgbWlkZGxlIHBvaW50cwoJCSRib3hYTWlkZGxlID0gKCgkeDIgLSAkeDEpIC8gMik7CgkJJGJveFlNaWRkbGUgPSAoKCR5MiAtICR5MSkgLyAyKTsKCgkJLy8gKioqIEJveCBtaWRkbGUgLSBoYWxmIHRoZSB0ZXh0IHdpZHRoL2hlaWdodAoJCSR4UG9zID0gKCR4MSArICRib3hYTWlkZGxlKSAtICgkdGV4dFdpZHRoIC8gMik7CgkJJHlQb3MgPSAoJHkxICsgJGJveFlNaWRkbGUpIC0gKCR0ZXh0SGVpZ2h0IC8gMik7CgoJCSRwb3MgPSAkeFBvcyAuICd4JyAuICR5UG9zOwoKCQkkdGhpcy0+YWRkVGV4dCgkdGV4dCwgJHBvcywgJHBhZGRpbmcgPSAwLCAkZm9udENvbG9yLCAkZm9udFNpemUsICRhbmdsZSwgJGZvbnQpOwoKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gY2FsY3VsYXRlQ2FwdGlvbkJveFBvc2l0aW9uKCRzaWRlLCAkdGhpY2tuZXNzLCAkcGFkZGluZykKCXsKCQkkcG9zaXRpb25BcnJheSA9IGFycmF5KCk7CgoJCXN3aXRjaCAoJHNpZGUpCgkJewoJCQljYXNlICd0JzoKCQkJCSRwb3NpdGlvbkFycmF5Wyd4MSddID0gMDsKCQkJCSRwb3NpdGlvbkFycmF5Wyd5MSddID0gJHBhZGRpbmc7CgkJCQkkcG9zaXRpb25BcnJheVsneDInXSA9ICR0aGlzLT53aWR0aDsKCQkJCSRwb3NpdGlvbkFycmF5Wyd5MiddID0gJHRoaWNrbmVzcyArICRwYWRkaW5nOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ3InOgoJCQkJJHBvc2l0aW9uQXJyYXlbJ3gxJ10gPSAkdGhpcy0+d2lkdGggLSAkdGhpY2tuZXNzIC0gJHBhZGRpbmc7CgkJCQkkcG9zaXRpb25BcnJheVsneTEnXSA9IDA7CgkJCQkkcG9zaXRpb25BcnJheVsneDInXSA9ICR0aGlzLT53aWR0aCAtICRwYWRkaW5nOwoJCQkJJHBvc2l0aW9uQXJyYXlbJ3kyJ10gPSAkdGhpcy0+aGVpZ2h0OwoJCQkJYnJlYWs7CgkJCWNhc2UgJ2InOgoJCQkJJHBvc2l0aW9uQXJyYXlbJ3gxJ10gPSAwOwoJCQkJJHBvc2l0aW9uQXJyYXlbJ3kxJ10gPSAkdGhpcy0+aGVpZ2h0IC0gJHRoaWNrbmVzcyAtICRwYWRkaW5nOwoJCQkJJHBvc2l0aW9uQXJyYXlbJ3gyJ10gPSAkdGhpcy0+d2lkdGg7CgkJCQkkcG9zaXRpb25BcnJheVsneTInXSA9ICR0aGlzLT5oZWlnaHQgLSAkcGFkZGluZzsKCQkJCWJyZWFrOwoJCQljYXNlICdsJzoKCQkJCSRwb3NpdGlvbkFycmF5Wyd4MSddID0gJHBhZGRpbmc7CgkJCQkkcG9zaXRpb25BcnJheVsneTEnXSA9IDA7CgkJCQkkcG9zaXRpb25BcnJheVsneDInXSA9ICR0aGlja25lc3MgKyAkcGFkZGluZzsKCQkJCSRwb3NpdGlvbkFycmF5Wyd5MiddID0gJHRoaXMtPmhlaWdodDsKCQkJCWJyZWFrOwoKCQkJZGVmYXVsdDoKCQkJCWJyZWFrOwoJCX0KCgkJcmV0dXJuICRwb3NpdGlvbkFycmF5OwoKCX0KCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIEdldCBFWElGIERhdGEKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCXB1YmxpYyBmdW5jdGlvbiBnZXRFeGlmKCRkZWJ1ZyA9IGZhbHNlKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMDctMDUtMjAxMQoJCSMgUHVycG9zZTogICAgR2V0IGltYWdlIEVYSUYgZGF0YQoJCSMgUGFyYW0gaW46ICAgbi9hCgkJIyBQYXJhbSBvdXQ6ICBBbiBhc3NvY2lhdGUgYXJyYXkgb2YgRVhJRiBkYXRhCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjIDIzIE1heSAxMyA6IGFkZGVkIG9yaWVudGF0aW9uIGZsYWcgLWpjbwoJCSMKCXsKCgkJaWYgKCAhICR0aGlzLT5kZWJ1ZyB8fCAhICRkZWJ1ZykKCQl7CgkJCSRkZWJ1ZyA9IGZhbHNlOwoJCX0KCgkJLy8gKioqIENoZWNrIGFsbCBpcyBnb29kIC0gY2hlY2sgdGhlIEVYSUYgbGlicmFyeSBleGlzdHMgYW5kIHRoZSBmaWxlIGV4aXN0cywgdG9vLgoJCWlmICggISAkdGhpcy0+dGVzdEVYSUZJbnN0YWxsZWQoKSkKCQl7CgkJCWlmICgkZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBFWElGIExpYnJhcnkgaXMgbm90IGluc3RhbGxlZC4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJldHVybiBhcnJheSgpOwoJCQl9CgkJfTsKCQlpZiAoICEgZmlsZV9leGlzdHMoJHRoaXMtPmZpbGVOYW1lKSkKCQl7CgkJCWlmICgkZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ltYWdlIG5vdCBmb3VuZC4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJldHVybiBhcnJheSgpOwoJCQl9CgkJfTsKCQlpZiAoJHRoaXMtPmZpbGVFeHRlbnNpb24gIT0gJy5qcGcnKQoJCXsKCQkJaWYgKCRkZWJ1ZykKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignTWV0YWRhdGEgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBpbWFnZSB0eXBlLicpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJcmV0dXJuIGFycmF5KCk7CgkJCX0KCQl9OwoJCSRleGlmRGF0YSA9IGV4aWZfcmVhZF9kYXRhKCR0aGlzLT5maWxlTmFtZSwgJ0lGRDAnKTsKCgkJLy8gKioqIEZvcm1hdCB0aGUgYXBwZXJ0dXJlIHZhbHVlCgkJJGV2ID0gJGV4aWZEYXRhWydBcGVydHVyZVZhbHVlJ107CgkJJGFwUGVpY2VzQXJyYXkgPSBleHBsb2RlKCcvJywgJGV2KTsKCQlpZiAoY291bnQoJGFwUGVpY2VzQXJyYXkpID09IDIpCgkJewoJCQkkYXBlcnR1cmVWYWx1ZSA9IHJvdW5kKCRhcFBlaWNlc0FycmF5WzBdIC8gJGFwUGVpY2VzQXJyYXlbMV0sIDIsIFBIUF9ST1VORF9IQUxGX0RPV04pIC4gJyBFVic7CgkJfQoJCWVsc2UKCQl7CgkJCSRhcGVydHVyZVZhbHVlID0gJyc7CgkJfQoKCQkvLyAqKiogRm9ybWF0IHRoZSBmb2NhbCBsZW5ndGgKCQkkZm9jYWxMZW5ndGggPSAkZXhpZkRhdGFbJ0ZvY2FsTGVuZ3RoJ107CgkJJGZsUGVpY2VzQXJyYXkgPSBleHBsb2RlKCcvJywgJGZvY2FsTGVuZ3RoKTsKCQlpZiAoY291bnQoJGZsUGVpY2VzQXJyYXkpID09IDIpCgkJewoJCQkkZm9jYWxMZW5ndGggPSAkZmxQZWljZXNBcnJheVswXSAvICRmbFBlaWNlc0FycmF5WzFdIC4gJy4wIG1tJzsKCQl9CgkJZWxzZQoJCXsKCQkJJGZvY2FsTGVuZ3RoID0gJyc7CgkJfQoKCQkvLyAqKiogRm9ybWF0IGZOdW1iZXIKCQkkZk51bWJlciA9ICRleGlmRGF0YVsnRk51bWJlciddOwoJCSRmblBlaWNlc0FycmF5ID0gZXhwbG9kZSgnLycsICRmTnVtYmVyKTsKCQlpZiAoY291bnQoJGZuUGVpY2VzQXJyYXkpID09IDIpCgkJewoJCQkkZk51bWJlciA9ICRmblBlaWNlc0FycmF5WzBdIC8gJGZuUGVpY2VzQXJyYXlbMV07CgkJfQoJCWVsc2UKCQl7CgkJCSRmTnVtYmVyID0gJyc7CgkJfQoKCQkvLyAqKiogUmVzb2x2ZSBFeHBvc3VyZVByb2dyYW0KCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydFeHBvc3VyZVByb2dyYW0nXSkpCgkJewoJCQkkZXAgPSAkZXhpZkRhdGFbJ0V4cG9zdXJlUHJvZ3JhbSddOwoJCX0KCQlpZiAoaXNzZXQoJGVwKSkKCQl7CgkJCSRlcCA9ICR0aGlzLT5yZXNvbHZlRXhwb3N1cmVQcm9ncmFtKCRlcCk7CgkJfQoKCgkJLy8gKioqIFJlc29sdmUgTWV0ZXJpbmdNb2RlCgkJJG1tID0gJGV4aWZEYXRhWydNZXRlcmluZ01vZGUnXTsKCQkkbW0gPSAkdGhpcy0+cmVzb2x2ZU1ldGVyaW5nTW9kZSgkbW0pOwoKCQkvLyAqKiogUmVzb2x2ZSBGbGFzaAoJCSRmbGFzaCA9ICRleGlmRGF0YVsnRmxhc2gnXTsKCQkkZmxhc2ggPSAkdGhpcy0+cmVzb2x2ZUZsYXNoKCRmbGFzaCk7CgoKCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydNYWtlJ10pKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ21ha2UnXSA9ICRleGlmRGF0YVsnTWFrZSddOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnbWFrZSddID0gJyc7CgkJfQoKCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydNb2RlbCddKSkKCQl7CgkJCSRleGlmRGF0YUFycmF5Wydtb2RlbCddID0gJGV4aWZEYXRhWydNb2RlbCddOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnbW9kZWwnXSA9ICcnOwoJCX0KCgkJaWYgKGlzc2V0KCRleGlmRGF0YVsnRGF0ZVRpbWUnXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZGF0ZSddID0gJGV4aWZEYXRhWydEYXRlVGltZSddOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZGF0ZSddID0gJyc7CgkJfQoKCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydFeHBvc3VyZVRpbWUnXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZXhwb3N1cmUgdGltZSddID0gJGV4aWZEYXRhWydFeHBvc3VyZVRpbWUnXSAuICcgc2VjLic7CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydleHBvc3VyZSB0aW1lJ10gPSAnJzsKCQl9CgoJCWlmICgkYXBlcnR1cmVWYWx1ZSAhPSAnJykKCQl7CgkJCSRleGlmRGF0YUFycmF5WydhcGVydHVyZSB2YWx1ZSddID0gJGFwZXJ0dXJlVmFsdWU7CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydhcGVydHVyZSB2YWx1ZSddID0gJyc7CgkJfQoKCQlpZiAoaXNzZXQoJGV4aWZEYXRhWydDT01QVVRFRCddWydBcGVydHVyZUZOdW1iZXInXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZi1zdG9wJ10gPSAkZXhpZkRhdGFbJ0NPTVBVVEVEJ11bJ0FwZXJ0dXJlRk51bWJlciddOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZi1zdG9wJ10gPSAnJzsKCQl9CgoJCWlmIChpc3NldCgkZXhpZkRhdGFbJ0ZOdW1iZXInXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZm51bWJlciddID0gJGV4aWZEYXRhWydGTnVtYmVyJ107CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydmbnVtYmVyJ10gPSAnJzsKCQl9CgoJCWlmICgkZk51bWJlciAhPSAnJykKCQl7CgkJCSRleGlmRGF0YUFycmF5WydmbnVtYmVyIHZhbHVlJ10gPSAkZk51bWJlcjsKCQl9CgkJZWxzZQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2ZudW1iZXIgdmFsdWUnXSA9ICcnOwoJCX0KCgkJaWYgKGlzc2V0KCRleGlmRGF0YVsnSVNPU3BlZWRSYXRpbmdzJ10pKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2lzbyddID0gJGV4aWZEYXRhWydJU09TcGVlZFJhdGluZ3MnXTsKCQl9CgkJZWxzZQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2lzbyddID0gJyc7CgkJfQoKCQlpZiAoJGZvY2FsTGVuZ3RoICE9ICcnKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2ZvY2FsIGxlbmd0aCddID0gJGZvY2FsTGVuZ3RoOwoJCX0KCQllbHNlCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZm9jYWwgbGVuZ3RoJ10gPSAnJzsKCQl9CgoJCWlmIChpc3NldCgkZXApKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2V4cG9zdXJlIHByb2dyYW0nXSA9ICRlcDsKCQl9CgkJZWxzZQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2V4cG9zdXJlIHByb2dyYW0nXSA9ICcnOwoJCX0KCgkJaWYgKCRtbSAhPSAnJykKCQl7CgkJCSRleGlmRGF0YUFycmF5WydtZXRlcmluZyBtb2RlJ10gPSAkbW07CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydtZXRlcmluZyBtb2RlJ10gPSAnJzsKCQl9CgoJCWlmICgkZmxhc2ggIT0gJycpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnZmxhc2ggc3RhdHVzJ10gPSAkZmxhc2g7CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydmbGFzaCBzdGF0dXMnXSA9ICcnOwoJCX0KCgkJaWYgKGlzc2V0KCRleGlmRGF0YVsnQXJ0aXN0J10pKQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ2NyZWF0b3InXSA9ICRleGlmRGF0YVsnQXJ0aXN0J107CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5WydjcmVhdG9yJ10gPSAnJzsKCQl9CgoJCWlmIChpc3NldCgkZXhpZkRhdGFbJ0NvcHlyaWdodCddKSkKCQl7CgkJCSRleGlmRGF0YUFycmF5Wydjb3B5cmlnaHQnXSA9ICRleGlmRGF0YVsnQ29weXJpZ2h0J107CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmRGF0YUFycmF5Wydjb3B5cmlnaHQnXSA9ICcnOwoJCX0KCgkJLy8gKioqIE9yaWVudGF0aW9uCgkJaWYgKGlzc2V0KCRleGlmRGF0YVsnT3JpZW50YXRpb24nXSkpCgkJewoJCQkkZXhpZkRhdGFBcnJheVsnb3JpZW50YXRpb24nXSA9ICRleGlmRGF0YVsnT3JpZW50YXRpb24nXTsKCQl9CgkJZWxzZQoJCXsKCQkJJGV4aWZEYXRhQXJyYXlbJ29yaWVudGF0aW9uJ10gPSAnJzsKCQl9CgoJCXJldHVybiAkZXhpZkRhdGFBcnJheTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gcmVzb2x2ZUV4cG9zdXJlUHJvZ3JhbSgkZXApCgl7CgkJc3dpdGNoICgkZXApCgkJewoJCQljYXNlIDA6CgkJCQkkZXAgPSAnJzsKCQkJCWJyZWFrOwoJCQljYXNlIDE6CgkJCQkkZXAgPSAnbWFudWFsJzsKCQkJCWJyZWFrOwoJCQljYXNlIDI6CgkJCQkkZXAgPSAnbm9ybWFsIHByb2dyYW0nOwoJCQkJYnJlYWs7CgkJCWNhc2UgMzoKCQkJCSRlcCA9ICdhcGVydHVyZSBwcmlvcml0eSc7CgkJCQlicmVhazsKCQkJY2FzZSA0OgoJCQkJJGVwID0gJ3NodXR0ZXIgcHJpb3JpdHknOwoJCQkJYnJlYWs7CgkJCWNhc2UgNToKCQkJCSRlcCA9ICdjcmVhdGl2ZSBwcm9ncmFtJzsKCQkJCWJyZWFrOwoJCQljYXNlIDY6CgkJCQkkZXAgPSAnYWN0aW9uIHByb2dyYW0nOwoJCQkJYnJlYWs7CgkJCWNhc2UgNzoKCQkJCSRlcCA9ICdwb3J0cmFpdCBtb2RlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDg6CgkJCQkkZXAgPSAnbGFuZHNjYXBlIG1vZGUnOwoJCQkJYnJlYWs7CgoJCQlkZWZhdWx0OgoJCQkJYnJlYWs7CgkJfQoKCQlyZXR1cm4gJGVwOwoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiByZXNvbHZlTWV0ZXJpbmdNb2RlKCRtbSkKCXsKCQlzd2l0Y2ggKCRtbSkKCQl7CgkJCWNhc2UgMDoKCQkJCSRtbSA9ICd1bmtub3duJzsKCQkJCWJyZWFrOwoJCQljYXNlIDE6CgkJCQkkbW0gPSAnYXZlcmFnZSc7CgkJCQlicmVhazsKCQkJY2FzZSAyOgoJCQkJJG1tID0gJ2NlbnRlciB3ZWlnaHRlZCBhdmVyYWdlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDM6CgkJCQkkbW0gPSAnc3BvdCc7CgkJCQlicmVhazsKCQkJY2FzZSA0OgoJCQkJJG1tID0gJ211bHRpIHNwb3QnOwoJCQkJYnJlYWs7CgkJCWNhc2UgNToKCQkJCSRtbSA9ICdwYXR0ZXJuJzsKCQkJCWJyZWFrOwoJCQljYXNlIDY6CgkJCQkkbW0gPSAncGFydGlhbCc7CgkJCQlicmVhazsKCQkJY2FzZSAyNTU6CgkJCQkkbW0gPSAnb3RoZXInOwoJCQkJYnJlYWs7CgoJCQlkZWZhdWx0OgoJCQkJYnJlYWs7CgkJfQoKCQlyZXR1cm4gJG1tOwoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiByZXNvbHZlRmxhc2goJGZsYXNoKQoJewoJCXN3aXRjaCAoJGZsYXNoKQoJCXsKCQkJY2FzZSAwOgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGRpZCBub3QgZmlyZSc7CgkJCQlicmVhazsKCQkJY2FzZSAxOgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDU6CgkJCQkkZmxhc2ggPSAnc3Ryb2JlIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQnOwoJCQkJYnJlYWs7CgkJCWNhc2UgNzoKCQkJCSRmbGFzaCA9ICdzdHJvYmUgcmV0dXJuIGxpZ2h0IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDk6CgkJCQkkZmxhc2ggPSAnZmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSc7CgkJCQlicmVhazsKCQkJY2FzZSAxMzoKCQkJCSRmbGFzaCA9ICdmbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDE1OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCc7CgkJCQlicmVhazsKCQkJY2FzZSAxNjoKCQkJCSRmbGFzaCA9ICdmbGFzaCBkaWQgbm90IGZpcmUsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSc7CgkJCQlicmVhazsKCQkJY2FzZSAyNDoKCQkJCSRmbGFzaCA9ICdmbGFzaCBkaWQgbm90IGZpcmUsIGF1dG8gbW9kZSc7CgkJCQlicmVhazsKCQkJY2FzZSAyNToKCQkJCSRmbGFzaCA9ICdmbGFzaCBmaXJlZCwgYXV0byBtb2RlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDI5OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQnOwoJCQkJYnJlYWs7CgkJCWNhc2UgMzE6CgkJCQkkZmxhc2ggPSAnZmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDMyOgoJCQkJJGZsYXNoID0gJ25vIGZsYXNoIGZ1bmN0aW9uJzsKCQkJCWJyZWFrOwoJCQljYXNlIDY1OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDY5OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDcxOgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgZGV0ZWN0ZWQnOwoJCQkJYnJlYWs7CgkJCWNhc2UgNzM6CgkJCQkkZmxhc2ggPSAnZmxhc2ggZmlyZWQsIGNvbXB1bHNvcnkgZmxhc2ggbW9kZSwgcmVkLWV5ZSByZWR1Y3Rpb24gbW9kZSc7CgkJCQlicmVhazsKCQkJY2FzZSA3NzoKCQkJCSRmbGFzaCA9ICdmbGFzaCBmaXJlZCwgY29tcHVsc29yeSBmbGFzaCBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlLCByZXR1cm4gbGlnaHQgbm90IGRldGVjdGVkJzsKCQkJCWJyZWFrOwoJCQljYXNlIDc5OgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCBjb21wdWxzb3J5IGZsYXNoIG1vZGUsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUsIHJldHVybiBsaWdodCBkZXRlY3RlZCc7CgkJCQlicmVhazsKCQkJY2FzZSA4OToKCQkJCSRmbGFzaCA9ICdmbGFzaCBmaXJlZCwgYXV0byBtb2RlLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlJzsKCQkJCWJyZWFrOwoJCQljYXNlIDkzOgoJCQkJJGZsYXNoID0gJ2ZsYXNoIGZpcmVkLCBhdXRvIG1vZGUsIHJldHVybiBsaWdodCBub3QgZGV0ZWN0ZWQsIHJlZC1leWUgcmVkdWN0aW9uIG1vZGUnOwoJCQkJYnJlYWs7CgkJCWNhc2UgOTU6CgkJCQkkZmxhc2ggPSAnZmxhc2ggZmlyZWQsIGF1dG8gbW9kZSwgcmV0dXJuIGxpZ2h0IGRldGVjdGVkLCByZWQtZXllIHJlZHVjdGlvbiBtb2RlJzsKCQkJCWJyZWFrOwoKCQkJZGVmYXVsdDoKCQkJCWJyZWFrOwoJCX0KCgkJcmV0dXJuICRmbGFzaDsKCgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgR2V0IElQVEMgRGF0YQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgV3JpdGUgSVBUQyBEYXRhCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gd3JpdGVJUFRDY2FwdGlvbigkdmFsdWUpCgkJIyBDYXB0aW9uCgl7CgkJJHRoaXMtPndyaXRlSVBUQygxMjAsICR2YWx1ZSk7Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gd3JpdGVJUFRDd3JpdGVyKCR2YWx1ZSkKCXsKCQkvLyR0aGlzLT53cml0ZUlQVEMoNjUsICR2YWx1ZSk7Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIHdyaXRlSVBUQygkZGF0LCAkdmFsdWUpCgl7CgoJCSMgTElNSVQgVE8gSlBHCgoJCSRjYXB0aW9uX2Jsb2NrID0gJHRoaXMtPmlwdGNfbWFrZXRhZygyLCAkZGF0LCAkdmFsdWUpOwoJCSRpbWFnZV9zdHJpbmcgPSBpcHRjZW1iZWQoJGNhcHRpb25fYmxvY2ssICR0aGlzLT5maWxlTmFtZSk7CgkJZmlsZV9wdXRfY29udGVudHMoJ2lwdGMuanBnJywgJGltYWdlX3N0cmluZyk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gaXB0Y19tYWtldGFnKCRyZWMsICRkYXQsICR2YWwpCgkJIyBBdXRob3I6ICAgVGhpZXMgQy4gQXJudHplbgoJCSMgUHVycG9zZTogICAgRnVuY3Rpb24gdG8gZm9ybWF0IHRoZSBuZXcgSVBUQyB0ZXh0CgkJIyBQYXJhbSBpbjogICAkcmVjOiBBcHBsaWNhdGlvbiByZWNvcmQuIChXZeKAmXJlIHdvcmtpbmcgd2l0aCAjMikKCQkjICAgICAgICRkYXQ6IEluZGV4LiAoMTIwIGZvciBjYXB0aW9uLCAxMTggZm9yIGNvbnRhY3QuIFNlZSB0aGUgSVBUQyBJSU0KCQkjICAgICAgICAgc3BlY2lmaWNhdGlvbjoKCQkjICAgICAgICAgaHR0cDovL3d3dy5pcHRjLm9yZy9zdGQvSUlNLzQuMS9zcGVjaWZpY2F0aW9uL0lJTVY0LjEucGRmCgkJIyAgICAgICAkdmFsOiBWYWx1ZS9kYXRhL3RleHQuIE1ha2Ugc3VyZSB0aGlzIGlzIHdpdGhpbiB0aGUgbGVuZ3RoCgkJIyAgICAgICAgIGNvbnN0cmFpbnRzIG9mIHRoZSBJUFRDIElJTSBzcGVjaWZpY2F0aW9uCgkJIyBSZWY6ICAgICAgaHR0cDovL2Jsb2cucGV0ZXJoYXphLm5vL3dvcmtpbmctd2l0aC1pbWFnZS1tZXRhLWRhdGEtaW4tZXhpZi1hbmQtaXB0Yy1oZWFkZXJzLWZyb20tcGhwLwoJCSMgICAgICAgaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmlwdGNlbWJlZC5waHAKCQkjCgl7CgkJJGxlbiA9IHN0cmxlbigkdmFsKTsKCQlpZiAoJGxlbiA8IDB4ODAwMCkKCQl7CgkJCXJldHVybiBjaHIoMHgxYykgLiBjaHIoJHJlYykgLiBjaHIoJGRhdCkgLgoJCQljaHIoJGxlbiA+PiA4KSAuCgkJCWNocigkbGVuICYgMHhmZikgLgoJCQkkdmFsOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gY2hyKDB4MWMpIC4gY2hyKCRyZWMpIC4gY2hyKCRkYXQpIC4KCQkJY2hyKDB4ODApIC4gY2hyKDB4MDQpIC4KCQkJY2hyKCgkbGVuID4+IDI0KSAmIDB4ZmYpIC4KCQkJY2hyKCgkbGVuID4+IDE2KSAmIDB4ZmYpIC4KCQkJY2hyKCgkbGVuID4+IDgpICYgMHhmZikgLgoJCQljaHIoKCRsZW4pICYgMHhmZikgLgoJCQkkdmFsOwoJCX0KCX0KCgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgV3JpdGUgWE1QIERhdGEKKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLwoKCS8vaHR0cDovL3htcHBocHRvb2xraXQuc291cmNlZm9yZ2UubmV0LwoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIEFkZCBUZXh0CiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkVGV4dCgkdGV4dCwgJHBvcyA9ICcyMHgyMCcsICRwYWRkaW5nID0gMCwgJGZvbnRDb2xvciA9ICcjZmZmJywgJGZvbnRTaXplID0gMTIsICRhbmdsZSA9IDAsICRmb250ID0gbnVsbCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDE4LTExLTA5CgkJIyBQdXJwb3NlOiAgICBBZGQgdGV4dCB0byBhbiBpbWFnZQoJCSMgUGFyYW0gaW46CgkJIyBQYXJhbSBvdXQ6CgkJIyBSZWZlcmVuY2U6ICBodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uaW1hZ2V0dGZ0ZXh0LnBocAoJCSMgTm90ZXM6ICAgICAgTWFrZSBzdXJlIHlvdSBzdXBwbHkgdGhlIGZvbnQuCgkJIwoJewoKCQkvLyAqKiogQ29udmVydCBjb2xvcgoJCSRyZ2JBcnJheSA9ICR0aGlzLT5mb3JtYXRDb2xvcigkZm9udENvbG9yKTsKCQkkciA9ICRyZ2JBcnJheVsnciddOwoJCSRnID0gJHJnYkFycmF5WydnJ107CgkJJGIgPSAkcmdiQXJyYXlbJ2InXTsKCgkJLy8gKioqIEdldCB0ZXh0IGZvbnQKCQkkZm9udCA9ICR0aGlzLT5nZXRUZXh0Rm9udCgkZm9udCk7CgoJCS8vICoqKiBHZXQgdGV4dCBzaXplCgkJJHRleHRTaXplQXJyYXkgPSAkdGhpcy0+Z2V0VGV4dFNpemUoJGZvbnRTaXplLCAkYW5nbGUsICRmb250LCAkdGV4dCk7CgkJJHRleHRXaWR0aCA9ICR0ZXh0U2l6ZUFycmF5Wyd3aWR0aCddOwoJCSR0ZXh0SGVpZ2h0ID0gJHRleHRTaXplQXJyYXlbJ2hlaWdodCddOwoKCQkvLyAqKiogRmluZCBjby1vcmRzIHRvIHBsYWNlIHRleHQKCQkkcG9zQXJyYXkgPSAkdGhpcy0+Y2FsY3VsYXRlUG9zaXRpb24oJHBvcywgJHBhZGRpbmcsICR0ZXh0V2lkdGgsICR0ZXh0SGVpZ2h0LCBmYWxzZSk7CgkJJHggPSAkcG9zQXJyYXlbJ3dpZHRoJ107CgkJJHkgPSAkcG9zQXJyYXlbJ2hlaWdodCddOwoKCQkkZm9udENvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRyLCAkZywgJGIpOwoKCQkvLyAqKiogQWRkIHRleHQKCQlpbWFnZXR0ZnRleHQoJHRoaXMtPmltYWdlUmVzaXplZCwgJGZvbnRTaXplLCAkYW5nbGUsICR4LCAkeSwgJGZvbnRDb2xvciwgJGZvbnQsICR0ZXh0KTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZ2V0VGV4dEZvbnQoJGZvbnQpCgl7CgkJLy8gKioqIEZvbnQgcGF0aCAoc2hvdQoJCSRmb250UGF0aCA9IGRpcm5hbWUoX19GSUxFX18pIC4gJy8nIC4gJHRoaXMtPmZvbnREaXI7CgoKCQkvLyAqKiogVGhlIGJlbG93IGlzL21heSBiZSBuZWVkZWQgZGVwZW5kaW5nIG9uIHlvdXIgdmVyc2lvbiAoc2VlIHJlZikKCQlwdXRlbnYoJ0dERk9OVFBBVEg9JyAuIHJlYWxwYXRoKCcuJykpOwoKCQkvLyAqKiogQ2hlY2sgaWYgdGhlIHBhc3NlZCBpbiBmb250IGV4c2l0cy4uLgoJCWlmICgkZm9udCA9PSBudWxsIHx8ICEgZmlsZV9leGlzdHMoJGZvbnQpKQoJCXsKCgkJCS8vICoqKiAuLi5JZiBub3QsIGRlZmF1bHQgdG8gdGhpcyBmb250LgoJCQkkZm9udCA9ICRmb250UGF0aCAuICcvYXJpbW8udHRmJzsKCgkJCS8vICoqKiBDaGVjayBvdXIgZGVmYXVsdCBmb250IGV4aXN0cy4uLgoJCQlpZiAoICEgZmlsZV9leGlzdHMoJGZvbnQpKQoJCQl7CgoJCQkJLy8gKioqIElmIG5vdCwgcmV0dXJuIGZhbHNlCgkJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQkJewoJCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ZvbnQgbm90IGZvdW5kJyk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9CgkJfQoKCQlyZXR1cm4gJGZvbnQ7CgoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRUZXh0U2l6ZSgkZm9udFNpemUsICRhbmdsZSwgJGZvbnQsICR0ZXh0KQoJewoKCQkvLyAqKiogRGVmaW5lIGJveCAoc28gd2UgY2FuIGdldCB0aGUgd2lkdGgpCgkJJGJveCA9IEBpbWFnZVRURkJib3goJGZvbnRTaXplLCAkYW5nbGUsICRmb250LCAkdGV4dCk7CgoJCS8vICoqKiAgR2V0IHdpZHRoIG9mIHRleHQgZnJvbSBkaW1lbnNpb25zCgkJJHRleHRXaWR0aCA9IGFicygkYm94WzRdIC0gJGJveFswXSk7CgoJCS8vICoqKiAgR2V0IGhlaWdodCBvZiB0ZXh0IGZyb20gZGltZW5zaW9ucyAoc2hvdWxkIGFsc28gYmUgc2FtZSBhcyAkZm9udFNpemUpCgkJJHRleHRIZWlnaHQgPSBhYnMoJGJveFs1XSAtICRib3hbMV0pOwoKCQlyZXR1cm4gYXJyYXkoICdoZWlnaHQnID0+ICR0ZXh0SGVpZ2h0LCAnd2lkdGgnID0+ICR0ZXh0V2lkdGggKTsKCX0KCgoJLyotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0KICBBZGQgV2F0ZXJtYXJrCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwdWJsaWMgZnVuY3Rpb24gYWRkV2F0ZXJtYXJrKCR3YXRlcm1hcmtJbWFnZSwgJHBvcywgJHBhZGRpbmcgPSAwLCAkb3BhY2l0eSA9IDApCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxOC0xMS0wOQoJCSMgUHVycG9zZTogICAgQWRkIHdhdGVybWFyayBpbWFnZQoJCSMgUGFyYW0gaW46ICAgKHN0cikgJHdhdGVybWFyazogVGhlIHdhdGVybWFyayBpbWFnZQoJCSMgICAgICAgKHN0cikgJHBvczogQ291bGQgYmUgYSBwcmUtZGV0ZXJtaW5lZCBwb3NpdGlvbiBzdWNoIGFzOgoJCSMgICAgICAgICAgIHRsID0gdG9wIGxlZnQsCgkJIyAgICAgICAgICAgdCAgPSB0b3AgKG1pZGRsZSksCgkJIyAgICAgICAgICAgdHIgPSB0b3AgcmlnaHQsCgkJIyAgICAgICAgICAgbCAgPSBsZWZ0LAoJCSMgICAgICAgICAgIG0gID0gbWlkZGxlLAoJCSMgICAgICAgICAgIHIgID0gcmlnaHQsCgkJIyAgICAgICAgICAgYmwgPSBib3R0b20gbGVmdCwKCQkjICAgICAgICAgICBiICA9IGJvdHRvbSAobWlkZGxlKSwKCQkjICAgICAgICAgICBiciA9IGJvdHRvbSByaWdodAoJCSMgICAgICAgICBPciwgaXQgY291bGQgYmUgYSBjby1vcmRpbmF0ZSBwb3NpdGlvbiBzdWNoIGFzOiA1MHgxMDAKCQkjCgkJIyAgICAgICAoaW50KSAkcGFkZGluZzogSWYgdXNpbmcgYSBwcmUtZGV0ZXJtaW5lZCBwb3NpdGlvbiB5b3UgY2FuCgkJIyAgICAgICAgIGFkanVzdCB0aGUgcGFkZGluZyBmcm9tIHRoZSBlZGdlcyBieSBwYXNzaW5nIGFuIGFtb3VudAoJCSMgICAgICAgICBpbiBwaXhlbHMuIElmIHVzaW5nIGNvLW9yZGluYXRlcywgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkLgoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOiAgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9pbWFnZS5leGFtcGxlcy13YXRlcm1hcmsucGhwCgkJIyBOb3RlczogICAgICBCYXNlZCBvbiBleGFtcGxlIGluIHJlZmVyZW5jZS4KCQkjCgkJIwoJewoKCQkvLyBMb2FkIHRoZSBzdGFtcCBhbmQgdGhlIHBob3RvIHRvIGFwcGx5IHRoZSB3YXRlcm1hcmsgdG8KCQkkc3RhbXAgPSAkdGhpcy0+b3BlbkltYWdlKCR3YXRlcm1hcmtJbWFnZSk7ICAgICMgc3RhbXAKCQkkaW0gPSAkdGhpcy0+aW1hZ2VSZXNpemVkOyAgICAgICAgICAgICMgcGhvdG8KCgkJLy8gKioqIEdldCBzdGFtcHMgd2lkdGggYW5kIGhlaWdodAoJCSRzeCA9IGltYWdlc3goJHN0YW1wKTsKCQkkc3kgPSBpbWFnZXN5KCRzdGFtcCk7CgoJCS8vICoqKiBGaW5kIGNvLW9yZHMgdG8gcGxhY2UgaW1hZ2UKCQkkcG9zQXJyYXkgPSAkdGhpcy0+Y2FsY3VsYXRlUG9zaXRpb24oJHBvcywgJHBhZGRpbmcsICRzeCwgJHN5KTsKCQkkeCA9ICRwb3NBcnJheVsnd2lkdGgnXTsKCQkkeSA9ICRwb3NBcnJheVsnaGVpZ2h0J107CgoJCS8vICoqKiBTZXQgd2F0ZXJtYXJrIG9wYWNpdHkKCQlpZiAoZml4X3N0cnRvbG93ZXIoc3RycmNocigkd2F0ZXJtYXJrSW1hZ2UsICcuJykpID09ICcucG5nJykKCQl7CgoJCQkkb3BhY2l0eSA9ICR0aGlzLT5pbnZlcnRUcmFuc3BhcmVuY3koJG9wYWNpdHksIDEwMCk7CgkJCSR0aGlzLT5maWx0ZXJPcGFjaXR5KCRzdGFtcCwgJG9wYWNpdHkpOwoJCX0KCgkJLy8gQ29weSB0aGUgd2F0ZXJtYXJrIGltYWdlIG9udG8gb3VyIHBob3RvCgkJaW1hZ2Vjb3B5KCRpbSwgJHN0YW1wLCAkeCwgJHksIDAsIDAsIGltYWdlc3goJHN0YW1wKSwgaW1hZ2VzeSgkc3RhbXApKTsKCgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGNhbGN1bGF0ZVBvc2l0aW9uKCRwb3MsICRwYWRkaW5nLCAkYXNzZXRXaWR0aCwgJGFzc2V0SGVpZ2h0LCAkdXBwZXJMZWZ0ID0gdHJ1ZSkKCQkjCgkJIyBBdXRob3I6ICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAwOC0wNS0xMQoJCSMgUHVycG9zZTogIENhbGN1bGF0ZSB0aGUgeCwgeSBwaXhlbCBjb3JkaW5hdGVzIG9mIHRoZSBhc3NldCB0byBwbGFjZQoJCSMgUGFyYW1zIGluOiAgKHN0cikgJHBvczogRWl0aGVyIHNvbWV0aGluZyBsaWtlOiAidGwiLCAibCIsICJiciIgb3IgYW4KCQkjICAgICAgICAgZXhhY3QgcG9zaXRpb24gbGlrZTogIjEwMHg1MCIKCQkjICAgICAgIChpbnQpICRwYWRkaW5nOiBUaGUgYW1vdW50IG9mIHBhZGRpbmcgZnJvbSB0aGUgZWRnZS4gT25seQoJCSMgICAgICAgICB1c2VkIGZvciB0aGUgcHJlZGVmaW5lZCAkcG9zLgoJCSMgICAgICAgKGludCkgJGFzc2V0V2lkdGg6IFRoZSB3aWR0aCBvZiB0aGUgYXNzZXQgdG8gYWRkIHRvIHRoZSBpbWFnZQoJCSMgICAgICAgKGludCkgJGFzc2V0SGVpZ2h0OiBUaGUgaGVpZ2h0IG9mIHRoZSBhc3NldCB0byBhZGQgdG8gdGhlIGltYWdlCgkJIyAgICAgICAoYm9sKSAkdXBwZXJMZWZ0OiBpZiB0cnVlLCB0aGUgYXNzZXQgd2lsbCBiZSBwb3NpdGlvbmVkIGJhc2VkCgkJIyAgICAgICAgIG9uIHRoZSB1cHBlciBsZWZ0IHgsIHkgY29vcmRzLiBJZiBmYWxzZSwgaXQgbWVhbnMgeW91J3JlCgkJIyAgICAgICAgIHVzaW5nIHRoZSBsb3dlciBsZWZ0IGFzIHRoZSBiYXNlcG9pbnQgYW5kIHRoaXMgd2lsbAoJCSMgICAgICAgICBjb252ZXJ0IGl0IHRvIHRoZSB1cHBlciBsZWZ0IHBvc2l0aW9uCgkJIyBQYXJhbXMgb3V0OgoJCSMgTk9URTogdGhpcyBpcyBkb25lIGZyb20gdGhlIFVQUEVSIGxlZnQgY29ybmVyISEgQnV0IHdpbGwgY29udmVydCBsb3dlcgoJCSMgICBsZWZ0IGJhc2Vwb2ludHMgdG8gdXBwZXIgbGVmdCBpZiAkdXBwZXJsZWZ0IGlzIHNldCB0byBmYWxzZQoJCSMKCQkjCgl7CgkJJHBvcyA9IGZpeF9zdHJ0b2xvd2VyKCRwb3MpOwoKCQkvLyAqKiogSWYgY28tb3JkcyBoYXZlIGJlZW4gZW50ZXJlZAoJCWlmIChzdHJzdHIoJHBvcywgJ3gnKSkKCQl7CgkJCSRwb3MgPSBzdHJfcmVwbGFjZSgnICcsICcnLCAkcG9zKTsKCgkJCSR4eUFycmF5ID0gZXhwbG9kZSgneCcsICRwb3MpOwoJCQlsaXN0KCR3aWR0aCwgJGhlaWdodCkgPSAkeHlBcnJheTsKCgkJfQoJCWVsc2UKCQl7CgoJCQlzd2l0Y2ggKCRwb3MpCgkJCXsKCQkJCWNhc2UgJ3RsJzoKCQkJCQkkd2lkdGggPSAwICsgJHBhZGRpbmc7CgkJCQkJJGhlaWdodCA9IDAgKyAkcGFkZGluZzsKCQkJCQlicmVhazsKCgkJCQljYXNlICd0JzoKCQkJCQkkd2lkdGggPSAoJHRoaXMtPndpZHRoIC8gMikgLSAoJGFzc2V0V2lkdGggLyAyKTsKCQkJCQkkaGVpZ2h0ID0gMCArICRwYWRkaW5nOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ3RyJzoKCQkJCQkkd2lkdGggPSAkdGhpcy0+d2lkdGggLSAkYXNzZXRXaWR0aCAtICRwYWRkaW5nOwoJCQkJCSRoZWlnaHQgPSAwICsgJHBhZGRpbmc7OwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2wnOgoJCQkJCSR3aWR0aCA9IDAgKyAkcGFkZGluZzsKCQkJCQkkaGVpZ2h0ID0gKCR0aGlzLT5oZWlnaHQgLyAyKSAtICgkYXNzZXRIZWlnaHQgLyAyKTsKCQkJCQlicmVhazsKCgkJCQljYXNlICdtJzoKCQkJCQkkd2lkdGggPSAoJHRoaXMtPndpZHRoIC8gMikgLSAoJGFzc2V0V2lkdGggLyAyKTsKCQkJCQkkaGVpZ2h0ID0gKCR0aGlzLT5oZWlnaHQgLyAyKSAtICgkYXNzZXRIZWlnaHQgLyAyKTsKCQkJCQlicmVhazsKCgkJCQljYXNlICdyJzoKCQkJCQkkd2lkdGggPSAkdGhpcy0+d2lkdGggLSAkYXNzZXRXaWR0aCAtICRwYWRkaW5nOwoJCQkJCSRoZWlnaHQgPSAoJHRoaXMtPmhlaWdodCAvIDIpIC0gKCRhc3NldEhlaWdodCAvIDIpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JsJzoKCQkJCQkkd2lkdGggPSAwICsgJHBhZGRpbmc7CgkJCQkJJGhlaWdodCA9ICR0aGlzLT5oZWlnaHQgLSAkYXNzZXRIZWlnaHQgLSAkcGFkZGluZzsKCQkJCQlicmVhazsKCgkJCQljYXNlICdiJzoKCQkJCQkkd2lkdGggPSAoJHRoaXMtPndpZHRoIC8gMikgLSAoJGFzc2V0V2lkdGggLyAyKTsKCQkJCQkkaGVpZ2h0ID0gJHRoaXMtPmhlaWdodCAtICRhc3NldEhlaWdodCAtICRwYWRkaW5nOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JyJzoKCQkJCQkkd2lkdGggPSAkdGhpcy0+d2lkdGggLSAkYXNzZXRXaWR0aCAtICRwYWRkaW5nOwoJCQkJCSRoZWlnaHQgPSAkdGhpcy0+aGVpZ2h0IC0gJGFzc2V0SGVpZ2h0IC0gJHBhZGRpbmc7CgkJCQkJYnJlYWs7CgoJCQkJZGVmYXVsdDoKCQkJCQkkd2lkdGggPSAwOwoJCQkJCSRoZWlnaHQgPSAwOwoJCQkJCWJyZWFrOwoJCQl9CgkJfQoKCQlpZiAoICEgJHVwcGVyTGVmdCkKCQl7CgkJCSRoZWlnaHQgPSAkaGVpZ2h0ICsgJGFzc2V0SGVpZ2h0OwoJCX0KCgkJcmV0dXJuIGFycmF5KCAnd2lkdGgnID0+ICR3aWR0aCwgJ2hlaWdodCcgPT4gJGhlaWdodCApOwoJfQoKCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZmlsdGVyT3BhY2l0eSgmJGltZywgJG9wYWNpdHkgPSA3NSkKCQkjCgkJIyBBdXRob3I6ICAgICBhaWRlbiBkb3QgbWFpbCBhdCBmcmVlbWFpbCBkb3QgaHUKCQkjIEF1dGhvciBkYXRlOiAgMjktMDMtMDggMDg6MTYKCQkjIERhdGUgYWRkZWQ6ICAgMDgtMDUtMTEKCQkjIFB1cnBvc2U6ICAgIENoYW5nZSBvcGFjaXR5IG9mIGltYWdlCgkJIyBQYXJhbXMgaW46ICAgICRpbWc6IEltYWdlIHJlc291cmNlIGlkCgkJIyAgICAgICAgIChpbnQpICRvcGFjaXR5OiB0aGUgb3BhY2l0eSBhbW91bnQ6IDAtMTAwLCAxMDAgYmVpbmcgbm90IG9wYXF1ZS4KCQkjIFBhcmFtcyBvdXQ6ICAgKGJvb2wpIHRydWUgb24gc3VjY2VzcywgZWxzZSBmYWxzZQoJCSMgUmVmOiAgICAgIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uaW1hZ2VmaWx0ZXIucGhwIzgyMTYyCgkJIyBOb3RlczogICAgICBwbmcgb25seQoJCSMKCXsKCgkJaWYgKCAhIGlzc2V0KCRvcGFjaXR5KSkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmICgkb3BhY2l0eSA9PSAxMDApCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCSRvcGFjaXR5IC89IDEwMDsKCgkJLy9nZXQgaW1hZ2Ugd2lkdGggYW5kIGhlaWdodAoJCSR3ID0gaW1hZ2VzeCgkaW1nKTsKCQkkaCA9IGltYWdlc3koJGltZyk7CgoJCS8vdHVybiBhbHBoYSBibGVuZGluZyBvZmYKCQlpbWFnZWFscGhhYmxlbmRpbmcoJGltZywgZmFsc2UpOwoKCQkvL2ZpbmQgdGhlIG1vc3Qgb3BhcXVlIHBpeGVsIGluIHRoZSBpbWFnZSAodGhlIG9uZSB3aXRoIHRoZSBzbWFsbGVzdCBhbHBoYSB2YWx1ZSkKCQkkbWluYWxwaGEgPSAxMjc7CgkJZm9yICgkeCA9IDA7ICR4IDwgJHc7ICR4KyspCgkJewoJCQlmb3IgKCR5ID0gMDsgJHkgPCAkaDsgJHkrKykKCQkJewoJCQkJJGFscGhhID0gKGltYWdlY29sb3JhdCgkaW1nLCAkeCwgJHkpID4+IDI0KSAmIDB4RkY7CgkJCQlpZiAoJGFscGhhIDwgJG1pbmFscGhhKQoJCQkJewoJCQkJCSRtaW5hbHBoYSA9ICRhbHBoYTsKCQkJCX0KCQkJfQoJCX0KCgkJLy9sb29wIHRocm91Z2ggaW1hZ2UgcGl4ZWxzIGFuZCBtb2RpZnkgYWxwaGEgZm9yIGVhY2gKCQlmb3IgKCR4ID0gMDsgJHggPCAkdzsgJHgrKykKCQl7CgkJCWZvciAoJHkgPSAwOyAkeSA8ICRoOyAkeSsrKQoJCQl7CgkJCQkvL2dldCBjdXJyZW50IGFscGhhIHZhbHVlIChyZXByZXNlbnRzIHRoZSBUQU5TUEFSRU5DWSEpCgkJCQkkY29sb3J4eSA9IGltYWdlY29sb3JhdCgkaW1nLCAkeCwgJHkpOwoJCQkJJGFscGhhID0gKCRjb2xvcnh5ID4+IDI0KSAmIDB4RkY7CgkJCQkvL2NhbGN1bGF0ZSBuZXcgYWxwaGEKCQkJCWlmICgkbWluYWxwaGEgIT09IDEyNykKCQkJCXsKCQkJCQkkYWxwaGEgPSAxMjcgKyAxMjcgKiAkb3BhY2l0eSAqICgkYWxwaGEgLSAxMjcpIC8gKDEyNyAtICRtaW5hbHBoYSk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJGFscGhhICs9IDEyNyAqICRvcGFjaXR5OwoJCQkJfQoJCQkJLy9nZXQgdGhlIGNvbG9yIGluZGV4IHdpdGggbmV3IGFscGhhCgkJCQkkYWxwaGFjb2xvcnh5ID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJGltZywgKCRjb2xvcnh5ID4+IDE2KSAmIDB4RkYsICgkY29sb3J4eSA+PiA4KSAmIDB4RkYsICRjb2xvcnh5ICYgMHhGRiwgJGFscGhhKTsKCQkJCS8vc2V0IHBpeGVsIHdpdGggdGhlIG5ldyBjb2xvciArIG9wYWNpdHkKCQkJCWlmICggISBpbWFnZXNldHBpeGVsKCRpbWcsICR4LCAkeSwgJGFscGhhY29sb3J4eSkpCgkJCQl7CgoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gb3BlbkltYWdlKCRmaWxlKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6CgkJIyBQYXJhbSBpbjoKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoKCQlpZiAoICEgZmlsZV9leGlzdHMoJGZpbGUpICYmICEgJHRoaXMtPmNoZWNrU3RyaW5nU3RhcnRzV2l0aCgnaHR0cDovLycsICRmaWxlKSAmJiAhICR0aGlzLT5jaGVja1N0cmluZ1N0YXJ0c1dpdGgoJ2h0dHBzOi8vJywgJGZpbGUpICkKCQl7CgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ltYWdlIG5vdCBmb3VuZC4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oKTsKCQkJfQoJCX07CgoJCS8vICoqKiBHZXQgZXh0ZW5zaW9uCgkJJGV4dGVuc2lvbiA9IHN0cnJjaHIoJGZpbGUsICcuJyk7CgkJJGV4dGVuc2lvbiA9IGZpeF9zdHJ0b2xvd2VyKCRleHRlbnNpb24pOwoJCXN3aXRjaCAoJGV4dGVuc2lvbikKCQl7CgkJCWNhc2UgJy5qcGcnOgoJCQljYXNlICcuanBlZyc6CgkJCQkkaW1nID0gQGltYWdlY3JlYXRlZnJvbWpwZWcoJGZpbGUpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJy5naWYnOgoJCQkJJGltZyA9IEBpbWFnZWNyZWF0ZWZyb21naWYoJGZpbGUpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJy5wbmcnOgoJCQkJJGltZyA9IEBpbWFnZWNyZWF0ZWZyb21wbmcoJGZpbGUpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJy5ibXAnOgoJCQkJJGltZyA9IEAkdGhpcy0+aW1hZ2VjcmVhdGVmcm9tYm1wKCRmaWxlKTsKCQkJCWJyZWFrOwoJCQljYXNlICcucHNkJzoKCQkJCSRpbWcgPSBAJHRoaXMtPmltYWdlY3JlYXRlZnJvbXBzZCgkZmlsZSk7CgkJCQlicmVhazsKCgoJCQkvLyAuLi4gZXRjCgoJCQlkZWZhdWx0OgoJCQkJJGltZyA9IGZhbHNlOwoJCQkJYnJlYWs7CgkJfQoKCQlyZXR1cm4gJGltZzsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIHJlc2V0KCkKCQkjCgkJIyBBdXRob3I6ICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAzMC0wOC0xMQoJCSMgUHVycG9zZTogIFJlc2V0IHRoZSByZXNvdXJjZSAoYWxsb3cgZnVydGhlciBlZGl0aW5nKQoJCSMgUGFyYW1zIGluOgoJCSMgUGFyYW1zIG91dDoKCQkjIE5vdGVzOgoJCSMKCXsKCQkkdGhpcy0+X19jb25zdHJ1Y3QoJHRoaXMtPmZpbGVOYW1lKTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIHNhdmVJbWFnZSgkc2F2ZVBhdGgsICRpbWFnZVF1YWxpdHkgPSAiMTAwIikKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDI3LTAyLTA4CgkJIyBQdXJwb3NlOiAgICBTYXZlcyB0aGUgaW1hZ2UKCQkjIFBhcmFtIGluOiAgICRzYXZlUGF0aDogV2hlcmUgdG8gc2F2ZSB0aGUgaW1hZ2UgaW5jbHVkaW5nIGZpbGVuYW1lOgoJCSMgICAgICAgICAgICAgJGltYWdlUXVhbGl0eTogaW1hZ2UgcXVhbGl0eSB5b3Ugd2FudCB0aGUgaW1hZ2Ugc2F2ZWQgYXQgMC0xMDAKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6ICAgICogZ2lmIGRvZXNuJ3QgaGF2ZSBhIHF1YWxpdHkgcGFyYW1ldGVyCgkJIyAgICAgICAqIGpwZyBoYXMgYSBxdWFsaXR5IHNldHRpbmcgMC0xMDAgKDEwMCBiZWluZyB0aGUgYmVzdCkKCQkjICAgICAgICogcG5nIGhhcyBhIHF1YWxpdHkgc2V0dGluZyAwLTkgKDAgYmVpbmcgdGhlIGJlc3QpCgkJIwoJCSMgICAgICAgICAgICAgKiBibXAgZmlsZXMgaGF2ZSBubyBuYXRpdmUgc3VwcG9ydCBmb3IgYm1wIGZpbGVzLiBXZSB1c2UgYQoJCSMgICAgICAgdGhpcmQgcGFydHkgY2xhc3MgdG8gc2F2ZSBhcyBibXAuCgl7CgoJCS8vICoqKiBQZXJmb3JtIGEgY2hlY2sgb3IgdHdvLgoJCWlmICggISBpc19yZXNvdXJjZSgkdGhpcy0+aW1hZ2VSZXNpemVkKSkKCQl7CgkJCWlmICgkdGhpcy0+ZGVidWcpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ3NhdmVJbWFnZTogVGhpcyBpcyBub3QgYSByZXNvdXJjZS4nKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oKTsKCQkJfQoJCX0KCQkkZmlsZUluZm9BcnJheSA9IHBhdGhJbmZvKCRzYXZlUGF0aCk7CgkJY2xlYXJzdGF0Y2FjaGUoKTsKCQlpZiAoICEgaXNfd3JpdGFibGUoJGZpbGVJbmZvQXJyYXlbJ2Rpcm5hbWUnXSkpCgkJewoJCQlpZiAoJHRoaXMtPmRlYnVnKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdUaGUgcGF0aCBpcyBub3Qgd3JpdGFibGUuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLicpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbigpOwoJCQl9CgkJfQoKCQkvLyAqKiogR2V0IGV4dGVuc2lvbgoJCSRleHRlbnNpb24gPSBzdHJyY2hyKCRzYXZlUGF0aCwgJy4nKTsKCQkkZXh0ZW5zaW9uID0gZml4X3N0cnRvbG93ZXIoJGV4dGVuc2lvbik7CgoJCSRlcnJvciA9ICcnOwoKCQlzd2l0Y2ggKCRleHRlbnNpb24pCgkJewoJCQljYXNlICcuanBnJzoKCQkJY2FzZSAnLmpwZWcnOgoJCQkJJHRoaXMtPmNoZWNrSW50ZXJsYWNlSW1hZ2UoJHRoaXMtPmlzSW50ZXJsYWNlKTsKCQkJCWlmIChpbWFnZXR5cGVzKCkgJiBJTUdfSlBHKQoJCQkJewoJCQkJCWltYWdlanBlZygkdGhpcy0+aW1hZ2VSZXNpemVkLCAkc2F2ZVBhdGgsICRpbWFnZVF1YWxpdHkpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRlcnJvciA9ICdqcGcnOwoJCQkJfQoJCQkJYnJlYWs7CgoJCQljYXNlICcuZ2lmJzoKCQkJCSR0aGlzLT5jaGVja0ludGVybGFjZUltYWdlKCR0aGlzLT5pc0ludGVybGFjZSk7CgkJCQlpZiAoaW1hZ2V0eXBlcygpICYgSU1HX0dJRikKCQkJCXsKCQkJCQlpbWFnZWdpZigkdGhpcy0+aW1hZ2VSZXNpemVkLCAkc2F2ZVBhdGgpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRlcnJvciA9ICdnaWYnOwoJCQkJfQoJCQkJYnJlYWs7CgoJCQljYXNlICcucG5nJzoKCQkJCS8vICoqKiBTY2FsZSBxdWFsaXR5IGZyb20gMC0xMDAgdG8gMC05CgkJCQkkc2NhbGVRdWFsaXR5ID0gcm91bmQoKCRpbWFnZVF1YWxpdHkgLyAxMDApICogOSk7CgoJCQkJLy8gKioqIEludmVydCBxdWFsaXQgc2V0dGluZyBhcyAwIGlzIGJlc3QsIG5vdCA5CgkJCQkkaW52ZXJ0U2NhbGVRdWFsaXR5ID0gOSAtICRzY2FsZVF1YWxpdHk7CgoJCQkJJHRoaXMtPmNoZWNrSW50ZXJsYWNlSW1hZ2UoJHRoaXMtPmlzSW50ZXJsYWNlKTsKCQkJCWlmIChpbWFnZXR5cGVzKCkgJiBJTUdfUE5HKQoJCQkJewoJCQkJCWltYWdlcG5nKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRzYXZlUGF0aCwgJGludmVydFNjYWxlUXVhbGl0eSk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJGVycm9yID0gJ3BuZyc7CgkJCQl9CgkJCQlicmVhazsKCgkJCWNhc2UgJy5ibXAnOgoJCQkJZmlsZV9wdXRfY29udGVudHMoJHNhdmVQYXRoLCAkdGhpcy0+R0QyQk1Qc3RyaW5nKCR0aGlzLT5pbWFnZVJlc2l6ZWQpKTsKCQkJCWJyZWFrOwoKCgkJCS8vIC4uLiBldGMKCgkJCWRlZmF1bHQ6CgkJCQkvLyAqKiogTm8gZXh0ZW5zaW9uIC0gTm8gc2F2ZS4KCQkJCSR0aGlzLT5lcnJvckFycmF5W10gPSAnVGhpcyBmaWxlIHR5cGUgKCcgLiAkZXh0ZW5zaW9uIC4gJykgaXMgbm90IHN1cHBvcnRlZC4gRmlsZSBub3Qgc2F2ZWQuJzsKCQkJCWJyZWFrOwoJCX0KCgkJLy9pbWFnZWRlc3Ryb3koJHRoaXMtPmltYWdlUmVzaXplZCk7CgoJCS8vICoqKiBEaXNwbGF5IGVycm9yIGlmIGEgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuCgkJaWYgKCRlcnJvciAhPSAnJykKCQl7CgkJCSR0aGlzLT5lcnJvckFycmF5W10gPSAkZXJyb3IgLiAnIHN1cHBvcnQgaXMgTk9UIGVuYWJsZWQuIEZpbGUgbm90IHNhdmVkLic7CgkJfQoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gZGlzcGxheUltYWdlKCRmaWxlVHlwZSA9ICdqcGcnLCAkaW1hZ2VRdWFsaXR5ID0gIjEwMCIpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxOC0xMS0wOQoJCSMgUHVycG9zZTogICAgRGlzcGxheSBpbWFnZXMgZGlyZWN0bHkgdG8gdGhlIGJyb3dzZXIKCQkjIFBhcmFtIGluOiAgIFRoZSBpbWFnZSB0eXBlIHlvdSB3YW50IHRvIGRpc3BsYXkKCQkjIFBhcmFtIG91dDoKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCgkJaWYgKCAhIGlzX3Jlc291cmNlKCR0aGlzLT5pbWFnZVJlc2l6ZWQpKQoJCXsKCQkJaWYgKCR0aGlzLT5kZWJ1ZykKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignc2F2ZUltYWdlOiBUaGlzIGlzIG5vdCBhIHJlc291cmNlLicpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbigpOwoJCQl9CgkJfQoKCQlzd2l0Y2ggKCRmaWxlVHlwZSkKCQl7CgkJCWNhc2UgJ2pwZyc6CgkJCWNhc2UgJ2pwZWcnOgoJCQkJaGVhZGVyKCdDb250ZW50LXR5cGU6IGltYWdlL2pwZWcnKTsKCQkJCWltYWdlanBlZygkdGhpcy0+aW1hZ2VSZXNpemVkLCAnJywgJGltYWdlUXVhbGl0eSk7CgkJCQlicmVhazsKCQkJY2FzZSAnZ2lmJzoKCQkJCWhlYWRlcignQ29udGVudC10eXBlOiBpbWFnZS9naWYnKTsKCQkJCWltYWdlZ2lmKCR0aGlzLT5pbWFnZVJlc2l6ZWQpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ3BuZyc6CgkJCQloZWFkZXIoJ0NvbnRlbnQtdHlwZTogaW1hZ2UvcG5nJyk7CgoJCQkJLy8gKioqIFNjYWxlIHF1YWxpdHkgZnJvbSAwLTEwMCB0byAwLTkKCQkJCSRzY2FsZVF1YWxpdHkgPSByb3VuZCgoJGltYWdlUXVhbGl0eSAvIDEwMCkgKiA5KTsKCgkJCQkvLyAqKiogSW52ZXJ0IHF1YWxpdCBzZXR0aW5nIGFzIDAgaXMgYmVzdCwgbm90IDkKCQkJCSRpbnZlcnRTY2FsZVF1YWxpdHkgPSA5IC0gJHNjYWxlUXVhbGl0eTsKCgkJCQlpbWFnZXBuZygkdGhpcy0+aW1hZ2VSZXNpemVkLCAnJywgJGludmVydFNjYWxlUXVhbGl0eSk7CgkJCQlicmVhazsKCQkJY2FzZSAnYm1wJzoKCQkJCWVjaG8gJ2JtcCBmaWxlIGZvcm1hdCBpcyBub3Qgc3VwcG9ydGVkLic7CgkJCQlicmVhazsKCgkJCS8vIC4uLiBldGMKCgkJCWRlZmF1bHQ6CgkJCQkvLyAqKiogTm8gZXh0ZW5zaW9uIC0gTm8gc2F2ZS4KCQkJCWJyZWFrOwoJCX0KCgoJCS8vaW1hZ2VkZXN0cm95KCR0aGlzLT5pbWFnZVJlc2l6ZWQpOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gc2V0VHJhbnNwYXJlbmN5KCRib29sKQoJCSMgU2VwIDIwMTEKCXsKCQkkdGhpcy0+a2VlcFRyYW5zcGFyZW5jeSA9ICRib29sOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gc2V0RmlsbENvbG9yKCR2YWx1ZSkKCQkjIFNlcCAyMDExCgkJIyBQYXJhbSBpbjogICAobWl4ZWQpICR2YWx1ZTogKGFycmF5KSBDb3VsZCBiZSBhbiBhcnJheSBvZiBSR0IKCQkjICAgICAgICAgICAgICAgKHN0cikgQ291bGQgYmUgaGV4ICNmZmZmZmYgb3IgI2ZmZiwgZmZmLCBmZmZmZmYKCQkjCgkJIyBJZiB0aGUga2VlcFRyYW5zcGFyZW5jeSBpcyBzZXQgdG8gZmFsc2UsIHRoZW4gbm8gdHJhbnNwYXJlbmN5IGlzIHRvIGJlIHVzZWQuCgkJIyBUaGlzIGlzIGlkZWFsIHdoZW4geW91IHdhbnQgdG8gc2F2ZSBhcyBqcGcuCgkJIwoJCSMgdGhpcyBtZXRob2QgYWxsb3dzIHlvdSB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3IgdG8gdXNlIGluc3RlYWQgb2YKCQkjIHRyYW5zcGFyZW5jeS4KCQkjCgl7CgkJJGNvbG9yQXJyYXkgPSAkdGhpcy0+Zm9ybWF0Q29sb3IoJHZhbHVlKTsKCQkkdGhpcy0+ZmlsbENvbG9yQXJyYXkgPSAkY29sb3JBcnJheTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIHNldENyb3BGcm9tVG9wKCR2YWx1ZSkKCQkjIFNlcCAyMDExCgl7CgkJJHRoaXMtPmNyb3BGcm9tVG9wUGVyY2VudCA9ICR2YWx1ZTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIHRlc3RHREluc3RhbGxlZCgpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAyNy0wMi0wOAoJCSMgUHVycG9zZTogICAgVGVzdCB0byBzZWUgaWYgR0QgaXMgaW5zdGFsbGVkCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIChib29sKSBUcnVlIGlzIGdkIGV4dGVuc2lvbiBsb2FkZWQgb3RoZXJ3aXNlIGZhbHNlCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjCgl7CgkJaWYgKGV4dGVuc2lvbl9sb2FkZWQoJ2dkJykgJiYgZnVuY3Rpb25fZXhpc3RzKCdnZF9pbmZvJykpCgkJewoJCQkkZ2RJbnN0YWxsZWQgPSB0cnVlOwoJCX0KCQllbHNlCgkJewoJCQkkZ2RJbnN0YWxsZWQgPSBmYWxzZTsKCQl9CgoJCXJldHVybiAkZ2RJbnN0YWxsZWQ7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiB0ZXN0RVhJRkluc3RhbGxlZCgpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAwOC0wNS0xMQoJCSMgUHVycG9zZTogICAgVGVzdCB0byBzZWUgaWYgRVhJRiBpcyBpbnN0YWxsZWQKCQkjIFBhcmFtIGluOiAgIG4vYQoJCSMgUGFyYW0gb3V0OiAgKGJvb2wpIFRydWUgaXMgZXhpZiBleHRlbnNpb24gbG9hZGVkIG90aGVyd2lzZSBmYWxzZQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmIChleHRlbnNpb25fbG9hZGVkKCdleGlmJykpCgkJewoJCQkkZXhpZkluc3RhbGxlZCA9IHRydWU7CgkJfQoJCWVsc2UKCQl7CgkJCSRleGlmSW5zdGFsbGVkID0gZmFsc2U7CgkJfQoKCQlyZXR1cm4gJGV4aWZJbnN0YWxsZWQ7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiB0ZXN0SXNJbWFnZSgkaW1hZ2UpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAyNy0wMi0wOAoJCSMgUHVycG9zZTogICAgVGVzdCBpZiBmaWxlIGlzIGFuIGltYWdlCgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmICgkaW1hZ2UpCgkJewoJCQkkZmlsZUlzSW1hZ2UgPSB0cnVlOwoJCX0KCQllbHNlCgkJewoJCQkkZmlsZUlzSW1hZ2UgPSBmYWxzZTsKCQl9CgoJCXJldHVybiAkZmlsZUlzSW1hZ2U7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiB0ZXN0RnVuY3QoKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMjctMDItMDgKCQkjIFB1cnBvc2U6ICAgIFRlc3QgRnVuY3Rpb24KCQkjIFBhcmFtIGluOiAgIG4vYQoJCSMgUGFyYW0gb3V0OiAgbi9hCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjCgl7CgkJZWNobyAkdGhpcy0+aGVpZ2h0OwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gc2V0Rm9yY2VTdHJldGNoKCR2YWx1ZSkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDIzLTEyLTEwCgkJIyBQdXJwb3NlOgoJCSMgUGFyYW0gaW46ICAgKGJvb2wpICR2YWx1ZQoJCSMgUGFyYW0gb3V0OiAgbi9hCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjCgl7CgkJJHRoaXMtPmZvcmNlU3RyZXRjaCA9ICR2YWx1ZTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIHNldEZpbGUoJGZpbGVOYW1lKQoJCSMgQXV0aG9yOiAgICAgSmFycm9kIE9iZXJ0bwoJCSMgRGF0ZTogICAgICAgMjgtMDItMDgKCQkjIFB1cnBvc2U6CgkJIyBQYXJhbSBpbjogICBuL2EKCQkjIFBhcmFtIG91dDogIG4vYQoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCXNlbGY6Ol9fY29uc3RydWN0KCRmaWxlTmFtZSk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRGaWxlTmFtZSgpCgkJIyBBdXRob3I6ICAgICBKYXJyb2QgT2JlcnRvCgkJIyBEYXRlOiAgICAgICAxMC0wOS0wOAoJCSMgUHVycG9zZToKCQkjIFBhcmFtIGluOiAgIG4vYQoJCSMgUGFyYW0gb3V0OiAgbi9hCgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjCgl7CgkJcmV0dXJuICR0aGlzLT5maWxlTmFtZTsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIGdldEhlaWdodCgpCgl7CgkJcmV0dXJuICR0aGlzLT5oZWlnaHQ7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRXaWR0aCgpCgl7CgkJcmV0dXJuICR0aGlzLT53aWR0aDsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljIGZ1bmN0aW9uIGdldE9yaWdpbmFsSGVpZ2h0KCkKCXsKCQlyZXR1cm4gJHRoaXMtPmhlaWdodE9yaWdpbmFsOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0T3JpZ2luYWxXaWR0aCgpCgl7CgkJcmV0dXJuICR0aGlzLT53aWR0aE9yaWdpbmFsOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JzKCkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDE5LTExLTA5CgkJIyBQdXJwb3NlOiAgICBSZXR1cm5zIHRoZSBlcnJvciBhcnJheQoJCSMgUGFyYW0gaW46ICAgbi9hCgkJIyBQYXJhbSBvdXQ6ICBBcnJheSBvZiBlcnJvcnMKCQkjIFJlZmVyZW5jZToKCQkjIE5vdGVzOgoJCSMKCXsKCQlyZXR1cm4gJHRoaXMtPmVycm9yQXJyYXk7Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tJbnRlcmxhY2VJbWFnZSgkaXNFbmFibGVkKQoJCSMganBnIHdpbGwgdXNlIHByb2dyZXNzaXZlICh0aGV5IGRvbid0IHVzZSBpbnRlcmFjZSkKCXsKCQlpZiAoJGlzRW5hYmxlZCkKCQl7CgkJCWltYWdlaW50ZXJsYWNlKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRpc0VuYWJsZWQpOwoJCX0KCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJvdGVjdGVkIGZ1bmN0aW9uIGZvcm1hdENvbG9yKCR2YWx1ZSkKCQkjIEF1dGhvcjogICAgIEphcnJvZCBPYmVydG8KCQkjIERhdGU6ICAgICAgIDA5LTA1LTExCgkJIyBQdXJwb3NlOiAgICBEZXRlcm1pbmUgY29sb3IgbWV0aG9kIHBhc3NlZCBpbiBhbmQgcmV0dXJuIGNvbG9yIGFzIFJHQgoJCSMgUGFyYW0gaW46ICAgKG1peGVkKSAkdmFsdWU6IChhcnJheSkgQ291bGQgYmUgYW4gYXJyYXkgb2YgUkdCCgkJIyAgICAgICAgICAgICAgIChzdHIpIENvdWxkIGJlIGhleCAjZmZmZmZmIG9yICNmZmYsIGZmZiwgZmZmZmZmCgkJIyBQYXJhbSBvdXQ6CgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjCgl7CgkJJHJnYkFycmF5ID0gYXJyYXkoKTsKCgkJLy8gKioqIElmIGl0J3MgYW4gYXJyYXkgaXQgc2hvdWxkIGJlIFIsIEcsIEIKCQlpZiAoaXNfYXJyYXkoJHZhbHVlKSkKCQl7CgoJCQlpZiAoa2V5KCR2YWx1ZSkgPT0gMCAmJiBjb3VudCgkdmFsdWUpID09IDMpCgkJCXsKCgkJCQkkcmdiQXJyYXlbJ3InXSA9ICR2YWx1ZVswXTsKCQkJCSRyZ2JBcnJheVsnZyddID0gJHZhbHVlWzFdOwoJCQkJJHJnYkFycmF5WydiJ10gPSAkdmFsdWVbMl07CgoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJHJnYkFycmF5ID0gJHZhbHVlOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCWlmIChmaXhfc3RydG9sb3dlcigkdmFsdWUpID09ICd0cmFuc3BhcmVudCcpCgkJCXsKCgkJCQkkcmdiQXJyYXkgPSBhcnJheSgKCQkJCQkncicgPT4gMjU1LAoJCQkJCSdnJyA9PiAyNTUsCgkJCQkJJ2InID0+IDI1NSwKCQkJCQknYScgPT4gMTI3CgkJCQkpOwoKCQkJfQoJCQllbHNlCgkJCXsKCgkJCQkvLyAqKiogLi4uRWxzZSBpdCBzaG91bGQgYmUgaGV4LiBMZXQncyBtYWtlIGl0IFJHQgoJCQkJJHJnYkFycmF5ID0gJHRoaXMtPmhleDJkZWMoJHZhbHVlKTsKCQkJfQoJCX0KCgkJcmV0dXJuICRyZ2JBcnJheTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWZ1bmN0aW9uIGhleDJkZWMoJGhleCkKCQkjIFB1cnBvc2U6ICBDb252ZXJ0ICNoZXggY29sb3IgdG8gUkdCCgl7CgkJJGNvbG9yID0gc3RyX3JlcGxhY2UoJyMnLCAnJywgJGhleCk7CgoJCWlmIChzdHJsZW4oJGNvbG9yKSA9PSAzKQoJCXsKCQkJJGNvbG9yID0gJGNvbG9yIC4gJGNvbG9yOwoJCX0KCgkJJHJnYiA9IGFycmF5KAoJCQkncicgPT4gaGV4ZGVjKHN1YnN0cigkY29sb3IsIDAsIDIpKSwKCQkJJ2cnID0+IGhleGRlYyhzdWJzdHIoJGNvbG9yLCAyLCAyKSksCgkJCSdiJyA9PiBoZXhkZWMoc3Vic3RyKCRjb2xvciwgNCwgMikpLAoJCQknYScgPT4gMAoJCSk7CgoJCXJldHVybiAkcmdiOwoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVJbWFnZUNvbG9yKCRjb2xvckFycmF5KQoJewoJCSRyID0gJGNvbG9yQXJyYXlbJ3InXTsKCQkkZyA9ICRjb2xvckFycmF5WydnJ107CgkJJGIgPSAkY29sb3JBcnJheVsnYiddOwoKCQlyZXR1cm4gaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5pbWFnZVJlc2l6ZWQsICRyLCAkZywgJGIpOwoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiB0ZXN0Q29sb3JFeGlzdHMoJGNvbG9yQXJyYXkpCgl7CgkJJHIgPSAkY29sb3JBcnJheVsnciddOwoJCSRnID0gJGNvbG9yQXJyYXlbJ2cnXTsKCQkkYiA9ICRjb2xvckFycmF5WydiJ107CgoJCWlmIChpbWFnZWNvbG9yZXhhY3QoJHRoaXMtPmltYWdlUmVzaXplZCwgJHIsICRnLCAkYikgPT0gLTEpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZmluZFVudXNlZEdyZWVuKCkKCQkjIFB1cnBvc2U6ICBXZSBmaW5kIGEgZ3JlZW4gY29sb3Igc3VpdGFibGUgdG8gdXNlIGxpa2UgZ3JlZW4tc2NyZWVuIGVmZmVjdC4KCQkjICAgICBUaGVyZWZvcmUsIHRoZSBjb2xvciBtdXN0IG5vdCBleGlzdCBpbiB0aGUgaW1hZ2UuCgl7CgkJJGdyZWVuID0gMjU1OwoKCQlkbwoJCXsKCgkJCSRncmVlbkNocm9tYSA9IGFycmF5KCAwLCAkZ3JlZW4sIDAgKTsKCQkJJGNvbG9yQXJyYXkgPSAkdGhpcy0+Zm9ybWF0Q29sb3IoJGdyZWVuQ2hyb21hKTsKCQkJJG1hdGNoID0gJHRoaXMtPnRlc3RDb2xvckV4aXN0cygkY29sb3JBcnJheSk7CgkJCSRncmVlbi0tOwoKCQl9IHdoaWxlICgkbWF0Y2ggPT0gZmFsc2UgJiYgJGdyZWVuID4gMCk7CgoJCS8vICoqKiBJZiBubyBtYXRjaCwganVzdCBiaXRlIHRoZSBidWxsZXQgYW5kIHVzZSBncmVlbiB2YWx1ZSBvZiAyNTUKCQlpZiAoICEgJG1hdGNoKQoJCXsKCQkJJGdyZWVuQ2hyb21hID0gYXJyYXkoIDAsICRncmVlbiwgMCApOwoJCX0KCgkJcmV0dXJuICRncmVlbkNocm9tYTsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgZnVuY3Rpb24gZmluZFVudXNlZEJsdWUoKQoJCSMgUHVycG9zZTogIFdlIGZpbmQgYSBncmVlbiBjb2xvciBzdWl0YWJsZSB0byB1c2UgbGlrZSBncmVlbi1zY3JlZW4gZWZmZWN0LgoJCSMgICAgIFRoZXJlZm9yZSwgdGhlIGNvbG9yIG11c3Qgbm90IGV4aXN0IGluIHRoZSBpbWFnZS4KCXsKCQkkYmx1ZSA9IDI1NTsKCgkJZG8KCQl7CgoJCQkkYmx1ZUNocm9tYSA9IGFycmF5KCAwLCAwLCAkYmx1ZSApOwoJCQkkY29sb3JBcnJheSA9ICR0aGlzLT5mb3JtYXRDb2xvcigkYmx1ZUNocm9tYSk7CgkJCSRtYXRjaCA9ICR0aGlzLT50ZXN0Q29sb3JFeGlzdHMoJGNvbG9yQXJyYXkpOwoJCQkkYmx1ZS0tOwoKCQl9IHdoaWxlICgkbWF0Y2ggPT0gZmFsc2UgJiYgJGJsdWUgPiAwKTsKCgkJLy8gKioqIElmIG5vIG1hdGNoLCBqdXN0IGJpdGUgdGhlIGJ1bGxldCBhbmQgdXNlIGJsdWUgdmFsdWUgb2YgMjU1CgkJaWYgKCAhICRtYXRjaCkKCQl7CgkJCSRibHVlQ2hyb21hID0gYXJyYXkoIDAsIDAsICRibHVlICk7CgkJfQoKCQlyZXR1cm4gJGJsdWVDaHJvbWE7Cgl9CgoJIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIGludmVydFRyYW5zcGFyZW5jeSgkdmFsdWUsICRvcmlnaW5hbE1heCwgJGludmVydCA9IHRydWUpCgkJIyBQdXJwb3NlOiAgVGhpcyBkb2VzIHR3byB0aGluZ3M6CgkJIyAgICAgICAxKSBDb252ZXJ0IHRoZSByYW5nZSBmcm9tIDAtMTI3IHRvIDAtMTAwCgkJIyAgICAgICAyKSBJbnZlcnRzIHZhbHVlIHRvIDEwMCBpcyBub3QgdHJhbnNwYXJlbnQgd2hpbGUgMCBpcyBmdWxseQoJCSMgICAgICAgICAgdHJhbnNwYXJlbnQgKGxpa2UgUGhvdG9zaG9wKQoJewoJCS8vICoqKiBUZXN0IG1heCByYW5nZQoJCWlmICgkdmFsdWUgPiAkb3JpZ2luYWxNYXgpCgkJewoJCQkkdmFsdWUgPSAkb3JpZ2luYWxNYXg7CgkJfQoKCQkvLyAqKiogVGVzdCBtaW4gcmFuZ2UKCQlpZiAoJHZhbHVlIDwgMCkKCQl7CgkJCSR2YWx1ZSA9IDA7CgkJfQoKCQlpZiAoJGludmVydCkKCQl7CgkJCXJldHVybiAkb3JpZ2luYWxNYXggLSAoKCR2YWx1ZSAvIDEwMCkgKiAkb3JpZ2luYWxNYXgpOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gKCR2YWx1ZSAvIDEwMCkgKiAkb3JpZ2luYWxNYXg7CgkJfQoJfQoKCSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiB0cmFuc3BhcmVudEltYWdlKCRzcmMpCgl7CgkJLy8gKioqIG1ha2luZyBpbWFnZXMgd2l0aCB3aGl0ZSBiZyB0cmFuc3BhcmVudAoJCSRyMSA9IDA7CgkJJGcxID0gMjU1OwoJCSRiMSA9IDA7CgkJZm9yICgkeCA9IDA7ICR4IDwgaW1hZ2VzeCgkc3JjKTsgKyskeCkKCQl7CgkJCWZvciAoJHkgPSAwOyAkeSA8IGltYWdlc3koJHNyYyk7ICsrJHkpCgkJCXsKCQkJCSRjb2xvciA9IGltYWdlY29sb3JhdCgkc3JjLCAkeCwgJHkpOwoJCQkJJHIgPSAoJGNvbG9yID4+IDE2KSAmIDB4RkY7CgkJCQkkZyA9ICgkY29sb3IgPj4gOCkgJiAweEZGOwoJCQkJJGIgPSAkY29sb3IgJiAweEZGOwoJCQkJZm9yICgkaSA9IDA7ICRpIDwgMjcwOyAkaSsrKQoJCQkJewoJCQkJCS8vaWYgKCRyIC4gJGcgLiAkYiA9PSAoJHIxICsgJGkpIC4gKCRnMSArICRpKSAuICgkYjEgKyAkaSkpIHsKCQkJCQlpZiAoJHIgPT0gMCAmJiAkZyA9PSAyNTUgJiYgJGIgPT0gMCkKCQkJCQl7CgkJCQkJCS8vaWYgKCRnID09IDI1NSkgewoJCQkJCQkkdHJhbnNfY29sb3VyID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJHNyYywgMCwgMCwgMCwgMTI3KTsKCQkJCQkJaW1hZ2VmaWxsKCRzcmMsICR4LCAkeSwgJHRyYW5zX2NvbG91cik7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoKCQlyZXR1cm4gJHNyYzsKCX0KCgkjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWZ1bmN0aW9uIGNoZWNrU3RyaW5nU3RhcnRzV2l0aCgkbmVlZGxlLCAkaGF5c3RhY2spCgkJIyBDaGVjayBpZiBhIHN0cmluZyBzdGFydHMgd2l0aCBhIHNwZWNpZmljIHBhdHRlcm4KCXsKCQlyZXR1cm4gKHN1YnN0cigkaGF5c3RhY2ssIDAsIHN0cmxlbigkbmVlZGxlKSkgPT0gJG5lZWRsZSk7Cgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgQk1QIFNVUFBPUlQgKFNBVklORykgLSBKYW1lcyBIZWlucmljaAoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHJpdmF0ZSBmdW5jdGlvbiBHRDJCTVBzdHJpbmcoJiRnZF9pbWFnZSkKCQkjIEF1dGhvcjogICAgIEphbWVzIEhlaW5yaWNoCgkJIyBQdXJwb3NlOiAgICBTYXZlIGZpbGUgYXMgdHlwZSBibXAKCQkjIFBhcmFtIGluOiAgIFRoZSBpbWFnZSBjYW52YXMgKHBhc3NlZCBhcyByZWYpCgkJIyBQYXJhbSBvdXQ6CgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczogICAgVGhpcyBjb2RlIHdhcyBzdHJpcHBlZCBvdXQgb2YgdHdvIGV4dGVybmFsIGZpbGVzCgkJIyAgICAgICAocGhwdGh1bWIuYm1wLnBocCxwaHB0aHVtYi5mdW5jdGlvbnMucGhwKSBhbmQgYWRkZWQgYmVsb3cgdG8KCQkjICAgICAgIGF2b2lkIGRlcGVuZGFuY2llcy4KCQkjCgl7CgkJJGltYWdlWCA9IEltYWdlU1goJGdkX2ltYWdlKTsKCQkkaW1hZ2VZID0gSW1hZ2VTWSgkZ2RfaW1hZ2UpOwoKCQkkQk1QID0gJyc7CgkJZm9yICgkeSA9ICgkaW1hZ2VZIC0gMSk7ICR5ID49IDA7ICR5LS0pCgkJewoJCQkkdGhpc2xpbmUgPSAnJzsKCQkJZm9yICgkeCA9IDA7ICR4IDwgJGltYWdlWDsgJHgrKykKCQkJewoJCQkJJGFyZ2IgPSAkdGhpcy0+R2V0UGl4ZWxDb2xvcigkZ2RfaW1hZ2UsICR4LCAkeSk7CgkJCQkkdGhpc2xpbmUgLj0gY2hyKCRhcmdiWydibHVlJ10pIC4gY2hyKCRhcmdiWydncmVlbiddKSAuIGNocigkYXJnYlsncmVkJ10pOwoJCQl9CgkJCXdoaWxlIChzdHJsZW4oJHRoaXNsaW5lKSAlIDQpCgkJCXsKCQkJCSR0aGlzbGluZSAuPSAiXHgwMCI7CgkJCX0KCQkJJEJNUCAuPSAkdGhpc2xpbmU7CgkJfQoKCQkkYm1wU2l6ZSA9IHN0cmxlbigkQk1QKSArIDE0ICsgNDA7CgkJLy8gQklUTUFQRklMRUhFQURFUiBbMTQgYnl0ZXNdIC0gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9saWJyYXJ5L2VuLXVzL2dkaS9iaXRtYXBzXzYydXEuYXNwCgkJJEJJVE1BUEZJTEVIRUFERVIgPSAnQk0nOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdPUkQgICAgYmZUeXBlOwoJCSRCSVRNQVBGSUxFSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKCRibXBTaXplLCA0KTsgLy8gRFdPUkQgICBiZlNpemU7CgkJJEJJVE1BUEZJTEVIRUFERVIgLj0gJHRoaXMtPkxpdHRsZUVuZGlhbjJTdHJpbmcoMCwgMik7IC8vIFdPUkQgICAgYmZSZXNlcnZlZDE7CgkJJEJJVE1BUEZJTEVIRUFERVIgLj0gJHRoaXMtPkxpdHRsZUVuZGlhbjJTdHJpbmcoMCwgMik7IC8vIFdPUkQgICAgYmZSZXNlcnZlZDI7CgkJJEJJVE1BUEZJTEVIRUFERVIgLj0gJHRoaXMtPkxpdHRsZUVuZGlhbjJTdHJpbmcoNTQsIDQpOyAvLyBEV09SRCAgIGJmT2ZmQml0czsKCgkJLy8gQklUTUFQSU5GT0hFQURFUiAtIFs0MCBieXRlc10gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9saWJyYXJ5L2VuLXVzL2dkaS9iaXRtYXBzXzFydzIuYXNwCgkJJEJJVE1BUElORk9IRUFERVIgPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZyg0MCwgNCk7IC8vIERXT1JEICBiaVNpemU7CgkJJEJJVE1BUElORk9IRUFERVIgLj0gJHRoaXMtPkxpdHRsZUVuZGlhbjJTdHJpbmcoJGltYWdlWCwgNCk7IC8vIExPTkcgICBiaVdpZHRoOwoJCSRCSVRNQVBJTkZPSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKCRpbWFnZVksIDQpOyAvLyBMT05HICAgYmlIZWlnaHQ7CgkJJEJJVE1BUElORk9IRUFERVIgLj0gJHRoaXMtPkxpdHRsZUVuZGlhbjJTdHJpbmcoMSwgMik7IC8vIFdPUkQgICBiaVBsYW5lczsKCQkkQklUTUFQSU5GT0hFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygyNCwgMik7IC8vIFdPUkQgICBiaUJpdENvdW50OwoJCSRCSVRNQVBJTkZPSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDAsIDQpOyAvLyBEV09SRCAgYmlDb21wcmVzc2lvbjsKCQkkQklUTUFQSU5GT0hFQURFUiAuPSAkdGhpcy0+TGl0dGxlRW5kaWFuMlN0cmluZygwLCA0KTsgLy8gRFdPUkQgIGJpU2l6ZUltYWdlOwoJCSRCSVRNQVBJTkZPSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDI4MzUsIDQpOyAvLyBMT05HICAgYmlYUGVsc1Blck1ldGVyOwoJCSRCSVRNQVBJTkZPSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDI4MzUsIDQpOyAvLyBMT05HICAgYmlZUGVsc1Blck1ldGVyOwoJCSRCSVRNQVBJTkZPSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDAsIDQpOyAvLyBEV09SRCAgYmlDbHJVc2VkOwoJCSRCSVRNQVBJTkZPSEVBREVSIC49ICR0aGlzLT5MaXR0bGVFbmRpYW4yU3RyaW5nKDAsIDQpOyAvLyBEV09SRCAgYmlDbHJJbXBvcnRhbnQ7CgoJCXJldHVybiAkQklUTUFQRklMRUhFQURFUiAuICRCSVRNQVBJTkZPSEVBREVSIC4gJEJNUDsKCX0KCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBmdW5jdGlvbiBHZXRQaXhlbENvbG9yKCYkaW1nLCAkeCwgJHkpCgkJIyBBdXRob3I6ICAgICBKYW1lcyBIZWlucmljaAoJCSMgUHVycG9zZToKCQkjIFBhcmFtIGluOgoJCSMgUGFyYW0gb3V0OgoJCSMgUmVmZXJlbmNlOgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmICggISBpc19yZXNvdXJjZSgkaW1nKSkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXJldHVybiBASW1hZ2VDb2xvcnNGb3JJbmRleCgkaW1nLCBASW1hZ2VDb2xvckF0KCRpbWcsICR4LCAkeSkpOwoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwcml2YXRlIGZ1bmN0aW9uIExpdHRsZUVuZGlhbjJTdHJpbmcoJG51bWJlciwgJG1pbmJ5dGVzID0gMSkKCQkjIEF1dGhvcjogICAgIEphbWVzIEhlaW5yaWNoCgkJIyBQdXJwb3NlOiAgICBCTVAgU1VQUE9SVCAoU0FWSU5HKQoJCSMgUGFyYW0gaW46CgkJIyBQYXJhbSBvdXQ6CgkJIyBSZWZlcmVuY2U6CgkJIyBOb3RlczoKCQkjCgl7CgkJJGludHN0cmluZyA9ICcnOwoJCXdoaWxlICgkbnVtYmVyID4gMCkKCQl7CgkJCSRpbnRzdHJpbmcgPSAkaW50c3RyaW5nIC4gY2hyKCRudW1iZXIgJiAyNTUpOwoJCQkkbnVtYmVyID4+PSA4OwoJCX0KCgkJcmV0dXJuIHN0cl9wYWQoJGludHN0cmluZywgJG1pbmJ5dGVzLCAiXHgwMCIsIFNUUl9QQURfUklHSFQpOwoJfQoKCgkvKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLQogIEJNUCBTVVBQT1JUIChSRUFESU5HKQoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSovCgoJcHJpdmF0ZSBmdW5jdGlvbiBJbWFnZUNyZWF0ZUZyb21CTVAoJGZpbGVuYW1lKQoJCSMgQXV0aG9yOiAgICAgREhLb2xkCgkJIyBEYXRlOiAgICAgVGhlIDE1dGggb2YgSnVuZSAyMDA1CgkJIyBWZXJzaW9uOiAgICAyLjBCCgkJIyBQdXJwb3NlOiAgICBUbyBjcmVhdGUgYW4gaW1hZ2UgZnJvbSBhIEJNUCBmaWxlLgoJCSMgUGFyYW0gaW46ICAgQk1QIGZpbGUgdG8gb3Blbi4KCQkjIFBhcmFtIG91dDogIFJldHVybiBhIHJlc291cmNlIGxpa2UgdGhlIG90aGVyIEltYWdlQ3JlYXRlRnJvbSBmdW5jdGlvbnMKCQkjIFJlZmVyZW5jZTogIGh0dHA6Ly91czMucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uaW1hZ2VjcmVhdGUucGhwIzUzODc5CgkJIyBCdWcgZml4OiAgICBBdXRob3I6ICAgZG9tZWxjYSBhdCB0ZXJyYSBkb3QgZXMKCQkjICAgICAgIERhdGU6ICAgMDYgTWFyY2ggMjAwOAoJCSMgICAgICAgRml4OiAgICBDb3JyZWN0IDE2Yml0IEJNUCBzdXBwb3J0CgkJIyBOb3RlczoKCQkjCgl7CgoJCS8vT3V2ZXJ0dXJlIGR1IGZpY2hpZXIgZW4gbW9kZSBiaW5haXJlCgkJaWYgKCAhICRmMSA9IGZvcGVuKCRmaWxlbmFtZSwgInJiIikpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQkvLzEgOiBDaGFyZ2VtZW50IGRlcyBlbnTvv710ZXMgRklDSElFUgoJCSRGSUxFID0gdW5wYWNrKCJ2ZmlsZV90eXBlL1ZmaWxlX3NpemUvVnJlc2VydmVkL1ZiaXRtYXBfb2Zmc2V0IiwgZnJlYWQoJGYxLCAxNCkpOwoJCWlmICgkRklMRVsnZmlsZV90eXBlJ10gIT0gMTk3NzgpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQkvLzIgOiBDaGFyZ2VtZW50IGRlcyBlbnTvv710ZXMgQk1QCgkJJEJNUCA9IHVucGFjaygnVmhlYWRlcl9zaXplL1Z3aWR0aC9WaGVpZ2h0L3ZwbGFuZXMvdmJpdHNfcGVyX3BpeGVsJyAuCgkJCScvVmNvbXByZXNzaW9uL1ZzaXplX2JpdG1hcC9WaG9yaXpfcmVzb2x1dGlvbicgLgoJCQknL1Z2ZXJ0X3Jlc29sdXRpb24vVmNvbG9yc191c2VkL1Zjb2xvcnNfaW1wb3J0YW50JywgZnJlYWQoJGYxLCA0MCkpOwoJCSRCTVBbJ2NvbG9ycyddID0gcG93KDIsICRCTVBbJ2JpdHNfcGVyX3BpeGVsJ10pOwoKCQlpZiAoJEJNUFsnc2l6ZV9iaXRtYXAnXSA9PSAwKQoJCXsKCQkJJEJNUFsnc2l6ZV9iaXRtYXAnXSA9ICRGSUxFWydmaWxlX3NpemUnXSAtICRGSUxFWydiaXRtYXBfb2Zmc2V0J107CgkJfQoKCQkkQk1QWydieXRlc19wZXJfcGl4ZWwnXSA9ICRCTVBbJ2JpdHNfcGVyX3BpeGVsJ10gLyA4OwoJCSRCTVBbJ2J5dGVzX3Blcl9waXhlbDInXSA9IGNlaWwoJEJNUFsnYnl0ZXNfcGVyX3BpeGVsJ10pOwoJCSRCTVBbJ2RlY2FsJ10gPSAoJEJNUFsnd2lkdGgnXSAqICRCTVBbJ2J5dGVzX3Blcl9waXhlbCddIC8gNCk7CgkJJEJNUFsnZGVjYWwnXSAtPSBmbG9vcigkQk1QWyd3aWR0aCddICogJEJNUFsnYnl0ZXNfcGVyX3BpeGVsJ10gLyA0KTsKCQkkQk1QWydkZWNhbCddID0gNCAtICg0ICogJEJNUFsnZGVjYWwnXSk7CgoJCWlmICgkQk1QWydkZWNhbCddID09IDQpCgkJewoJCQkkQk1QWydkZWNhbCddID0gMDsKCQl9CgoJCS8vMyA6IENoYXJnZW1lbnQgZGVzIGNvdWxldXJzIGRlIGxhIHBhbGV0dGUKCQkkUEFMRVRURSA9IGFycmF5KCk7CgkJaWYgKCRCTVBbJ2NvbG9ycyddIDwgMTY3NzcyMTYpCgkJewoJCQkkUEFMRVRURSA9IHVucGFjaygnVicgLiAkQk1QWydjb2xvcnMnXSwgZnJlYWQoJGYxLCAkQk1QWydjb2xvcnMnXSAqIDQpKTsKCQl9CgoJCS8vNCA6IENy77+9YXRpb24gZGUgbCdpbWFnZQoJCSRJTUcgPSBmcmVhZCgkZjEsICRCTVBbJ3NpemVfYml0bWFwJ10pOwoJCSRWSURFID0gY2hyKDApOwoKCQkkcmVzID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJEJNUFsnd2lkdGgnXSwgJEJNUFsnaGVpZ2h0J10pOwoJCSRQID0gMDsKCQkkWSA9ICRCTVBbJ2hlaWdodCddIC0gMTsKCQl3aGlsZSAoJFkgPj0gMCkKCQl7CgkJCSRYID0gMDsKCQkJd2hpbGUgKCRYIDwgJEJNUFsnd2lkdGgnXSkKCQkJewoJCQkJaWYgKCRCTVBbJ2JpdHNfcGVyX3BpeGVsJ10gPT0gMjQpCgkJCQl7CgkJCQkJJENPTE9SID0gdW5wYWNrKCJWIiwgc3Vic3RyKCRJTUcsICRQLCAzKSAuICRWSURFKTsKCQkJCX0KCQkJCWVsc2VpZiAoJEJNUFsnYml0c19wZXJfcGl4ZWwnXSA9PSAxNikKCQkJCXsKCgkJCQkJLyoKICAgICAgICAgICAqIEJNUCAxNmJpdCBmaXgKICAgICAgICAgICAqID09PT09PT09PT09PT09PT09CiAgICAgICAgICAgKgogICAgICAgICAgICogUmVmOiBodHRwOi8vdXMzLnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmltYWdlY3JlYXRlLnBocCM4MTYwNAogICAgICAgICAgICoKICAgICAgICAgICAqIE5vdGVzOgogICAgICAgICAgICogImRvbid0IHdvcmsgd2l0aCBibXAgMTYgYml0c19wZXJfcGl4ZWwuIGNoYW5nZSBwaXhlbAogICAgICAgICAgICogZ2VuZXJhdG9yIGZvciB0aGlzLiIKICAgICAgICAgICAqCiAgICAgICAgICAgKi8KCgkJCQkJLy8gKioqIE9yaWdpbmFsIGNvZGUgKGRvbid0IHdvcmspCgkJCQkJLy8kQ09MT1IgPSB1bnBhY2soIm4iLHN1YnN0cigkSU1HLCRQLDIpKTsKCQkJCQkvLyRDT0xPUlsxXSA9ICRQQUxFVFRFWyRDT0xPUlsxXSsxXTsKCgkJCQkJJENPTE9SID0gdW5wYWNrKCJ2Iiwgc3Vic3RyKCRJTUcsICRQLCAyKSk7CgkJCQkJJGJsdWUgPSAoJENPTE9SWzFdICYgMHgwMDFmKSA8PCAzOwoJCQkJCSRncmVlbiA9ICgkQ09MT1JbMV0gJiAweDA3ZTApID4+IDM7CgkJCQkJJHJlZCA9ICgkQ09MT1JbMV0gJiAweGY4MDApID4+IDg7CgkJCQkJJENPTE9SWzFdID0gJHJlZCAqIDY1NTM2ICsgJGdyZWVuICogMjU2ICsgJGJsdWU7CgoJCQkJfQoJCQkJZWxzZWlmICgkQk1QWydiaXRzX3Blcl9waXhlbCddID09IDgpCgkJCQl7CgkJCQkJJENPTE9SID0gdW5wYWNrKCJuIiwgJFZJREUgLiBzdWJzdHIoJElNRywgJFAsIDEpKTsKCQkJCQkkQ09MT1JbMV0gPSAkUEFMRVRURVsgJENPTE9SWzFdICsgMSBdOwoJCQkJfQoJCQkJZWxzZWlmICgkQk1QWydiaXRzX3Blcl9waXhlbCddID09IDQpCgkJCQl7CgkJCQkJJENPTE9SID0gdW5wYWNrKCJuIiwgJFZJREUgLiBzdWJzdHIoJElNRywgZmxvb3IoJFApLCAxKSk7CgkJCQkJaWYgKCgkUCAqIDIpICUgMiA9PSAwKQoJCQkJCXsKCQkJCQkJJENPTE9SWzFdID0gKCRDT0xPUlsxXSA+PiA0KTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJJENPTE9SWzFdID0gKCRDT0xPUlsxXSAmIDB4MEYpOwoJCQkJCX0KCQkJCQkkQ09MT1JbMV0gPSAkUEFMRVRURVsgJENPTE9SWzFdICsgMSBdOwoJCQkJfQoJCQkJZWxzZWlmICgkQk1QWydiaXRzX3Blcl9waXhlbCddID09IDEpCgkJCQl7CgkJCQkJJENPTE9SID0gdW5wYWNrKCJuIiwgJFZJREUgLiBzdWJzdHIoJElNRywgZmxvb3IoJFApLCAxKSk7CgkJCQkJaWYgKCgkUCAqIDgpICUgOCA9PSAwKQoJCQkJCXsKCQkJCQkJJENPTE9SWzFdID0gJENPTE9SWzFdID4+IDc7CgkJCQkJfQoJCQkJCWVsc2VpZiAoKCRQICogOCkgJSA4ID09IDEpCgkJCQkJewoJCQkJCQkkQ09MT1JbMV0gPSAoJENPTE9SWzFdICYgMHg0MCkgPj4gNjsKCQkJCQl9CgkJCQkJZWxzZWlmICgoJFAgKiA4KSAlIDggPT0gMikKCQkJCQl7CgkJCQkJCSRDT0xPUlsxXSA9ICgkQ09MT1JbMV0gJiAweDIwKSA+PiA1OwoJCQkJCX0KCQkJCQllbHNlaWYgKCgkUCAqIDgpICUgOCA9PSAzKQoJCQkJCXsKCQkJCQkJJENPTE9SWzFdID0gKCRDT0xPUlsxXSAmIDB4MTApID4+IDQ7CgkJCQkJfQoJCQkJCWVsc2VpZiAoKCRQICogOCkgJSA4ID09IDQpCgkJCQkJewoJCQkJCQkkQ09MT1JbMV0gPSAoJENPTE9SWzFdICYgMHg4KSA+PiAzOwoJCQkJCX0KCQkJCQllbHNlaWYgKCgkUCAqIDgpICUgOCA9PSA1KQoJCQkJCXsKCQkJCQkJJENPTE9SWzFdID0gKCRDT0xPUlsxXSAmIDB4NCkgPj4gMjsKCQkJCQl9CgkJCQkJZWxzZWlmICgoJFAgKiA4KSAlIDggPT0gNikKCQkJCQl7CgkJCQkJCSRDT0xPUlsxXSA9ICgkQ09MT1JbMV0gJiAweDIpID4+IDE7CgkJCQkJfQoJCQkJCWVsc2VpZiAoKCRQICogOCkgJSA4ID09IDcpCgkJCQkJewoJCQkJCQkkQ09MT1JbMV0gPSAoJENPTE9SWzFdICYgMHgxKTsKCQkJCQl9CgkJCQkJJENPTE9SWzFdID0gJFBBTEVUVEVbICRDT0xPUlsxXSArIDEgXTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgoJCQkJaW1hZ2VzZXRwaXhlbCgkcmVzLCAkWCwgJFksICRDT0xPUlsxXSk7CgkJCQkkWCsrOwoJCQkJJFAgKz0gJEJNUFsnYnl0ZXNfcGVyX3BpeGVsJ107CgkJCX0KCgkJCSRZLS07CgkJCSRQICs9ICRCTVBbJ2RlY2FsJ107CgkJfQoJCS8vRmVybWV0dXJlIGR1IGZpY2hpZXIKCQlmY2xvc2UoJGYxKTsKCgkJcmV0dXJuICRyZXM7Cgl9CgoKCS8qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSoqLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotCiAgUFNEIFNVUFBPUlQgKFJFQURJTkcpCiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKiotKi0qLSotKi0qLSotKi0qLSotKi0qLSotKi8KCglwcml2YXRlIGZ1bmN0aW9uIGltYWdlY3JlYXRlZnJvbXBzZCgkZmlsZU5hbWUpCgkJIyBBdXRob3I6ICAgICBUaW0gZGUgS29uaW5nCgkJIyBWZXJzaW9uOiAgICAxLjMKCQkjIFB1cnBvc2U6ICAgIFRvIGNyZWF0ZSBhbiBpbWFnZSBmcm9tIGEgUFNEIGZpbGUuCgkJIyBQYXJhbSBpbjogICBQU0QgZmlsZSB0byBvcGVuLgoJCSMgUGFyYW0gb3V0OiAgUmV0dXJuIGEgcmVzb3VyY2UgbGlrZSB0aGUgb3RoZXIgSW1hZ2VDcmVhdGVGcm9tIGZ1bmN0aW9ucwoJCSMgUmVmZXJlbmNlOiAgaHR0cDovL3d3dy5raW5nc3F1YXJlLm5sL3BocHBzZHJlYWRlcgoJCSMgTm90ZXM6CgkJIwoJewoJCWlmIChmaWxlX2V4aXN0cygkdGhpcy0+cHNkUmVhZGVyUGF0aCkpCgkJewoKCgkJCWluY2x1ZGVfb25jZSgkdGhpcy0+cHNkUmVhZGVyUGF0aCk7CgoJCQkkcHNkUmVhZGVyID0gbmV3IFBocFBzZFJlYWRlcigkZmlsZU5hbWUpOwoKCQkJaWYgKGlzc2V0KCRwc2RSZWFkZXItPmluZm9BcnJheVsnZXJyb3InXSkpCgkJCXsKCQkJCXJldHVybiAnJzsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXJldHVybiAkcHNkUmVhZGVyLT5nZXRJbWFnZSgpOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXB1YmxpYyBmdW5jdGlvbiBfX2Rlc3RydWN0KCkKCXsKCQlpZiAoaXNfcmVzb3VyY2UoJHRoaXMtPmltYWdlUmVzaXplZCkpCgkJewoJCQlpbWFnZWRlc3Ryb3koJHRoaXMtPmltYWdlUmVzaXplZCk7CgkJfQoJfQoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCn0KCgovKgogKiAgICBFeGFtcGxlIHdpdGggc29tZSBBUEkgY2FsbHMgKG91dGRhdGVkKToKICoKICoKICogICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqICAgICAgQ29tcHVsc2FyeQogKiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoKICogICAgICBpbmNsdWRlKCJjbGFzc2VzL3Jlc2l6ZV9jbGFzcy5waHAiKTsKICoKICogICAgICAvLyAqKiogSW5pdGlhbGlzZSBvYmplY3QKICogICAgICAkbWFnaWNpYW5PYmogPSBuZXcgcmVzaXplKCdpbWFnZXMvY2Fycy9sYXJnZS9hLmpwZycpOwogKgogKiAgICAgIC8vICoqKiBUdXJuIG9mZiBzdHJldGNoaW5nIChvcHRpb25hbCkKICogICAgICAkbWFnaWNpYW5PYmogLT4gc2V0Rm9yY2VTdHJldGNoKGZhbHNlKTsKICoKICogICAgICAvLyAqKiogUmVzaXplIG9iamVjdAogKiAgICAgICRtYWdpY2lhbk9iaiAtPiByZXNpemVJbWFnZSgxNTAsIDEwMCwgMCk7CiAqCiAqICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKiAgICAgIEltYWdlIG9wdGlvbnMgLSBjYW4gcnVuIG5vbmUsIG9uZSwgb3IgYWxsLgogKiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoKICogICAgICAvLyAgKioqIEFkZCB3YXRlcm1hcmsKICogICAgICAgICRtYWdpY2lhbk9iaiAtPiBhZGRXYXRlcm1hcmsoJ3N0YW1wLnBuZycpOwogKgogKiAgICAgICAgICAvLyAqKiogQWRkIHRleHQKICogICAgICAkbWFnaWNpYW5PYmogLT4gYWRkVGV4dCgndGVzdGluZy4uLicpOwogKgogKiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogICAgICBPdXRwdXQgb3B0aW9ucyAtIGNhbiBydW4gb25lLCBvciB0aGUgb3RoZXIsIG9yIGJvdGguCiAqICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKgogKiAgICAgIC8vICoqKiBTYXZlIGltYWdlIHRvIGRpc2sKICogICAgICAkbWFnaWNpYW5PYmogLT4gc2F2ZUltYWdlKCdpbWFnZXMvY2Fycy9sYXJnZS9iLmpwZycsIDEwMCk7CiAqCiAqICAgICAgICAgIC8vICoqKiBPciBvdXRwdXQgdG8gc2NyZWVuIChwYXJhbXMgaW4gY2FuIGJlIGpwZywgZ2lmLCBwbmcpCiAqICAgICAgJG1hZ2ljaWFuT2JqIC0+IGRpc3BsYXlJbWFnZSgncG5nJyk7CiAqCiAqICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKiAgICAgIFJldHVybiBvcHRpb25zIC0gcmV0dXJuIGVycm9ycy4gbmljZSBmb3IgZGVidWdnaW4uCiAqICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKgogKiAgICAgIC8vICoqKiBSZXR1cm4gZXJyb3IgYXJyYXkKICogICAgICAkZXJyb3JBcnJheSA9ICRtYWdpY2lhbk9iaiAtPiBnZXRFcnJvcnMoKTsKICoKICoKICogICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqICAgICAgQ2xlYW51cCBvcHRpb25zIC0gbm90IHJlYWxseSBuZWNjZXNzYXJ5LCBidXQgZ29vZCBwcmFjdGljZQogKiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoKICogICAgICAvLyAqKiogRnJlZSB1c2VkIG1lbW9yeQogKiAgICAgICRtYWdpY2lhbk9iaiAtPiBfX2Rlc3RydWN0KCk7CiAqLwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/Response.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgCgovKioKICogQ2xhc3MgUmVzcG9uc2UKICogU2ltcGxpZmllZCBjb3B5IG9mIFN5bWZvbnkvSHR0cC1Gb3VuZGF0aW9uIFJlc3BvbnNlCiAqIHRvIGFsbG93IGNvbXBhdGliaWxpdHkgd2l0aCBmcmFtZXdvcmtzCiAqCiAqIEBwYWNrYWdlIEZpbGVtYW5hZ2VyCiAqLwpjbGFzcyBSZXNwb25zZSB7CgoJY29uc3QgSFRUUF9DT05USU5VRSA9IDEwMDsKCWNvbnN0IEhUVFBfU1dJVENISU5HX1BST1RPQ09MUyA9IDEwMTsKCWNvbnN0IEhUVFBfUFJPQ0VTU0lORyA9IDEwMjsgICAgICAgICAgICAvLyBSRkMyNTE4Cgljb25zdCBIVFRQX09LID0gMjAwOwoJY29uc3QgSFRUUF9DUkVBVEVEID0gMjAxOwoJY29uc3QgSFRUUF9BQ0NFUFRFRCA9IDIwMjsKCWNvbnN0IEhUVFBfTk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04gPSAyMDM7Cgljb25zdCBIVFRQX05PX0NPTlRFTlQgPSAyMDQ7Cgljb25zdCBIVFRQX1JFU0VUX0NPTlRFTlQgPSAyMDU7Cgljb25zdCBIVFRQX1BBUlRJQUxfQ09OVEVOVCA9IDIwNjsKCWNvbnN0IEhUVFBfTVVMVElfU1RBVFVTID0gMjA3OyAgICAgICAgICAvLyBSRkM0OTE4Cgljb25zdCBIVFRQX0FMUkVBRFlfUkVQT1JURUQgPSAyMDg7ICAgICAgLy8gUkZDNTg0MgoJY29uc3QgSFRUUF9JTV9VU0VEID0gMjI2OyAgICAgICAgICAgICAgIC8vIFJGQzMyMjkKCWNvbnN0IEhUVFBfTVVMVElQTEVfQ0hPSUNFUyA9IDMwMDsKCWNvbnN0IEhUVFBfTU9WRURfUEVSTUFORU5UTFkgPSAzMDE7Cgljb25zdCBIVFRQX0ZPVU5EID0gMzAyOwoJY29uc3QgSFRUUF9TRUVfT1RIRVIgPSAzMDM7Cgljb25zdCBIVFRQX05PVF9NT0RJRklFRCA9IDMwNDsKCWNvbnN0IEhUVFBfVVNFX1BST1hZID0gMzA1OwoJY29uc3QgSFRUUF9SRVNFUlZFRCA9IDMwNjsKCWNvbnN0IEhUVFBfVEVNUE9SQVJZX1JFRElSRUNUID0gMzA3OwoJY29uc3QgSFRUUF9QRVJNQU5FTlRMWV9SRURJUkVDVCA9IDMwODsgIC8vIFJGQzcyMzgKCWNvbnN0IEhUVFBfQkFEX1JFUVVFU1QgPSA0MDA7Cgljb25zdCBIVFRQX1VOQVVUSE9SSVpFRCA9IDQwMTsKCWNvbnN0IEhUVFBfUEFZTUVOVF9SRVFVSVJFRCA9IDQwMjsKCWNvbnN0IEhUVFBfRk9SQklEREVOID0gNDAzOwoJY29uc3QgSFRUUF9OT1RfRk9VTkQgPSA0MDQ7Cgljb25zdCBIVFRQX01FVEhPRF9OT1RfQUxMT1dFRCA9IDQwNTsKCWNvbnN0IEhUVFBfTk9UX0FDQ0VQVEFCTEUgPSA0MDY7Cgljb25zdCBIVFRQX1BST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEID0gNDA3OwoJY29uc3QgSFRUUF9SRVFVRVNUX1RJTUVPVVQgPSA0MDg7Cgljb25zdCBIVFRQX0NPTkZMSUNUID0gNDA5OwoJY29uc3QgSFRUUF9HT05FID0gNDEwOwoJY29uc3QgSFRUUF9MRU5HVEhfUkVRVUlSRUQgPSA0MTE7Cgljb25zdCBIVFRQX1BSRUNPTkRJVElPTl9GQUlMRUQgPSA0MTI7Cgljb25zdCBIVFRQX1JFUVVFU1RfRU5USVRZX1RPT19MQVJHRSA9IDQxMzsKCWNvbnN0IEhUVFBfUkVRVUVTVF9VUklfVE9PX0xPTkcgPSA0MTQ7Cgljb25zdCBIVFRQX1VOU1VQUE9SVEVEX01FRElBX1RZUEUgPSA0MTU7Cgljb25zdCBIVFRQX1JFUVVFU1RFRF9SQU5HRV9OT1RfU0FUSVNGSUFCTEUgPSA0MTY7Cgljb25zdCBIVFRQX0VYUEVDVEFUSU9OX0ZBSUxFRCA9IDQxNzsKCWNvbnN0IEhUVFBfSV9BTV9BX1RFQVBPVCA9IDQxODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzIzMjQKCWNvbnN0IEhUVFBfVU5QUk9DRVNTQUJMRV9FTlRJVFkgPSA0MjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCWNvbnN0IEhUVFBfTE9DS0VEID0gNDIzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCWNvbnN0IEhUVFBfRkFJTEVEX0RFUEVOREVOQ1kgPSA0MjQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCWNvbnN0IEhUVFBfUkVTRVJWRURfRk9SX1dFQkRBVl9BRFZBTkNFRF9DT0xMRUNUSU9OU19FWFBJUkVEX1BST1BPU0FMID0gNDI1OyAgIC8vIFJGQzI4MTcKCWNvbnN0IEhUVFBfVVBHUkFERV9SRVFVSVJFRCA9IDQyNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzI4MTcKCWNvbnN0IEhUVFBfUFJFQ09ORElUSU9OX1JFUVVJUkVEID0gNDI4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCWNvbnN0IEhUVFBfVE9PX01BTllfUkVRVUVTVFMgPSA0Mjk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCWNvbnN0IEhUVFBfUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRSA9IDQzMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCWNvbnN0IEhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SID0gNTAwOwoJY29uc3QgSFRUUF9OT1RfSU1QTEVNRU5URUQgPSA1MDE7Cgljb25zdCBIVFRQX0JBRF9HQVRFV0FZID0gNTAyOwoJY29uc3QgSFRUUF9TRVJWSUNFX1VOQVZBSUxBQkxFID0gNTAzOwoJY29uc3QgSFRUUF9HQVRFV0FZX1RJTUVPVVQgPSA1MDQ7Cgljb25zdCBIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRCA9IDUwNTsKCWNvbnN0IEhUVFBfVkFSSUFOVF9BTFNPX05FR09USUFURVNfRVhQRVJJTUVOVEFMID0gNTA2OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzIyOTUKCWNvbnN0IEhUVFBfSU5TVUZGSUNJRU5UX1NUT1JBR0UgPSA1MDc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCWNvbnN0IEhUVFBfTE9PUF9ERVRFQ1RFRCA9IDUwODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzU4NDIKCWNvbnN0IEhUVFBfTk9UX0VYVEVOREVEID0gNTEwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzI3NzQKCWNvbnN0IEhUVFBfTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRCA9IDUxMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCgkvKioKCSAqIFN0YXR1cyBjb2RlcyB0cmFuc2xhdGlvbiB0YWJsZS4KCSAqCgkgKiBUaGUgbGlzdCBvZiBjb2RlcyBpcyBjb21wbGV0ZSBhY2NvcmRpbmcgdG8gdGhlCgkgKiB7QGxpbmsgaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9odHRwLXN0YXR1cy1jb2Rlcy8gSHlwZXJ0ZXh0IFRyYW5zZmVyIFByb3RvY29sIChIVFRQKSBTdGF0dXMgQ29kZSBSZWdpc3RyeX0KCSAqIChsYXN0IHVwZGF0ZWQgMjAxMi0wMi0xMykuCgkgKgoJICogVW5sZXNzIG90aGVyd2lzZSBub3RlZCwgdGhlIHN0YXR1cyBjb2RlIGlzIGRlZmluZWQgaW4gUkZDMjYxNi4KCSAqCgkgKiBAdmFyIGFycmF5CgkgKi8KCXB1YmxpYyBzdGF0aWMgJHN0YXR1c1RleHRzID0gYXJyYXkoCgkJMTAwID0+ICdDb250aW51ZScsCgkJMTAxID0+ICdTd2l0Y2hpbmcgUHJvdG9jb2xzJywKCQkxMDIgPT4gJ1Byb2Nlc3NpbmcnLCAgICAgICAgICAgIC8vIFJGQzI1MTgKCQkyMDAgPT4gJ09LJywKCQkyMDEgPT4gJ0NyZWF0ZWQnLAoJCTIwMiA9PiAnQWNjZXB0ZWQnLAoJCTIwMyA9PiAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLAoJCTIwNCA9PiAnTm8gQ29udGVudCcsCgkJMjA1ID0+ICdSZXNldCBDb250ZW50JywKCQkyMDYgPT4gJ1BhcnRpYWwgQ29udGVudCcsCgkJMjA3ID0+ICdNdWx0aS1TdGF0dXMnLCAgICAgICAgICAvLyBSRkM0OTE4CgkJMjA4ID0+ICdBbHJlYWR5IFJlcG9ydGVkJywgICAgICAvLyBSRkM1ODQyCgkJMjI2ID0+ICdJTSBVc2VkJywgICAgICAgICAgICAgICAvLyBSRkMzMjI5CgkJMzAwID0+ICdNdWx0aXBsZSBDaG9pY2VzJywKCQkzMDEgPT4gJ01vdmVkIFBlcm1hbmVudGx5JywKCQkzMDIgPT4gJ0ZvdW5kJywKCQkzMDMgPT4gJ1NlZSBPdGhlcicsCgkJMzA0ID0+ICdOb3QgTW9kaWZpZWQnLAoJCTMwNSA9PiAnVXNlIFByb3h5JywKCQkzMDYgPT4gJ1Jlc2VydmVkJywKCQkzMDcgPT4gJ1RlbXBvcmFyeSBSZWRpcmVjdCcsCgkJMzA4ID0+ICdQZXJtYW5lbnQgUmVkaXJlY3QnLCAgICAvLyBSRkM3MjM4CgkJNDAwID0+ICdCYWQgUmVxdWVzdCcsCgkJNDAxID0+ICdVbmF1dGhvcml6ZWQnLAoJCTQwMiA9PiAnUGF5bWVudCBSZXF1aXJlZCcsCgkJNDAzID0+ICdGb3JiaWRkZW4nLAoJCTQwNCA9PiAnTm90IEZvdW5kJywKCQk0MDUgPT4gJ01ldGhvZCBOb3QgQWxsb3dlZCcsCgkJNDA2ID0+ICdOb3QgQWNjZXB0YWJsZScsCgkJNDA3ID0+ICdQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCcsCgkJNDA4ID0+ICdSZXF1ZXN0IFRpbWVvdXQnLAoJCTQwOSA9PiAnQ29uZmxpY3QnLAoJCTQxMCA9PiAnR29uZScsCgkJNDExID0+ICdMZW5ndGggUmVxdWlyZWQnLAoJCTQxMiA9PiAnUHJlY29uZGl0aW9uIEZhaWxlZCcsCgkJNDEzID0+ICdSZXF1ZXN0IEVudGl0eSBUb28gTGFyZ2UnLAoJCTQxNCA9PiAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAoJCTQxNSA9PiAnVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZScsCgkJNDE2ID0+ICdSZXF1ZXN0ZWQgUmFuZ2UgTm90IFNhdGlzZmlhYmxlJywKCQk0MTcgPT4gJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCgkJNDE4ID0+ICdJXCdtIGEgdGVhcG90JywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzIzMjQKCQk0MjIgPT4gJ1VucHJvY2Vzc2FibGUgRW50aXR5JywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUkZDNDkxOAoJCTQyMyA9PiAnTG9ja2VkJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkM0OTE4CgkJNDI0ID0+ICdGYWlsZWQgRGVwZW5kZW5jeScsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzQ5MTgKCQk0MjUgPT4gJ1Jlc2VydmVkIGZvciBXZWJEQVYgYWR2YW5jZWQgY29sbGVjdGlvbnMgZXhwaXJlZCBwcm9wb3NhbCcsICAgLy8gUkZDMjgxNwoJCTQyNiA9PiAnVXBncmFkZSBSZXF1aXJlZCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkMyODE3CgkJNDI4ID0+ICdQcmVjb25kaXRpb24gUmVxdWlyZWQnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzY1ODUKCQk0MjkgPT4gJ1RvbyBNYW55IFJlcXVlc3RzJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUkZDNjU4NQoJCTQzMSA9PiAnUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZScsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkM2NTg1CgkJNTAwID0+ICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLAoJCTUwMSA9PiAnTm90IEltcGxlbWVudGVkJywKCQk1MDIgPT4gJ0JhZCBHYXRld2F5JywKCQk1MDMgPT4gJ1NlcnZpY2UgVW5hdmFpbGFibGUnLAoJCTUwNCA9PiAnR2F0ZXdheSBUaW1lb3V0JywKCQk1MDUgPT4gJ0hUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkJywKCQk1MDYgPT4gJ1ZhcmlhbnQgQWxzbyBOZWdvdGlhdGVzIChFeHBlcmltZW50YWwpJywgICAgICAgICAgICAgICAgICAgICAgLy8gUkZDMjI5NQoJCTUwNyA9PiAnSW5zdWZmaWNpZW50IFN0b3JhZ2UnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkM0OTE4CgkJNTA4ID0+ICdMb29wIERldGVjdGVkJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJGQzU4NDIKCQk1MTAgPT4gJ05vdCBFeHRlbmRlZCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUkZDMjc3NAoJCTUxMSA9PiAnTmV0d29yayBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSRkM2NTg1CgkpOwoKCS8qKgoJICogQHZhciAgc3RyaW5nCgkgKi8KCXByb3RlY3RlZCAkY29udGVudDsKCgkvKioKCSAqIEB2YXIgIGludAoJICovCglwcm90ZWN0ZWQgJHN0YXR1c0NvZGU7CgoJLyoqCgkgKiBAdmFyICBzdHJpbmcKCSAqLwoJcHJvdGVjdGVkICRzdGF0dXNUZXh0OwoKCS8qKgoJICogQHZhciAgYXJyYXkKCSAqLwoJcHVibGljICRoZWFkZXJzOwoKCS8qKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHJvdGVjdGVkICR2ZXJzaW9uOwoKCS8qKgoJICogQ29uc3RydWN0IHRoZSByZXNwb25zZQoJICoKCSAqIEBwYXJhbSAgbWl4ZWQgICRjb250ZW50CgkgKiBAcGFyYW0gIGludCAgICAkc3RhdHVzQ29kZQoJICogQHBhcmFtICBhcnJheSAgJGhlYWRlcnMKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb250ZW50ID0gJycsICRzdGF0dXNDb2RlID0gMjAwLCAkaGVhZGVycyA9IGFycmF5KCkpCgl7CgkJJHRoaXMtPnNldENvbnRlbnQoJGNvbnRlbnQpOwoJCSR0aGlzLT5zZXRTdGF0dXNDb2RlKCRzdGF0dXNDb2RlKTsKCQkkdGhpcy0+aGVhZGVycyA9ICRoZWFkZXJzOwoJCSR0aGlzLT52ZXJzaW9uID0gJzEuMSc7Cgl9CgoJLyoqCgkgKiBTZXQgdGhlIGNvbnRlbnQgb24gdGhlIHJlc3BvbnNlLgoJICoKCSAqIEBwYXJhbSAgbWl4ZWQgICRjb250ZW50CgkgKiBAcmV0dXJuICR0aGlzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzZXRDb250ZW50KCRjb250ZW50KQoJewoJCWlmICgkY29udGVudCBpbnN0YW5jZW9mIEFycmF5T2JqZWN0IHx8IGlzX2FycmF5KCRjb250ZW50KSkKCQl7CgkJCSR0aGlzLT5oZWFkZXJzWydDb250ZW50LVR5cGUnXSA9IGFycmF5KCdhcHBsaWNhdGlvbi9qc29uJyk7CgoJCQkkY29udGVudCA9IGpzb25fZW5jb2RlKCRjb250ZW50KTsKCQl9CgoJCSR0aGlzLT5jb250ZW50ID0gJGNvbnRlbnQ7Cgl9CgoJLyoqCgkgKiBSZXR1cm5zIHRoZSBSZXNwb25zZSBhcyBhbiBIVFRQIHN0cmluZy4KCSAqCgkgKiBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBSZXNwb25zZSBpcyB0aGUgc2FtZSBhcyB0aGUKCSAqIG9uZSB0aGF0IHdpbGwgYmUgc2VudCB0byB0aGUgY2xpZW50IG9ubHkgaWYgdGhlIHByZXBhcmUoKSBtZXRob2QKCSAqIGhhcyBiZWVuIGNhbGxlZCBiZWZvcmUuCgkgKgoJICogQHJldHVybiBzdHJpbmcgVGhlIFJlc3BvbnNlIGFzIGFuIEhUVFAgc3RyaW5nCgkgKgoJICogQHNlZSBwcmVwYXJlKCkKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQoJewoJCXJldHVybgoJCQlzcHJpbnRmKCdIVFRQLyVzICVzICVzJywgJHRoaXMtPnZlcnNpb24sICR0aGlzLT5zdGF0dXNDb2RlLCAkdGhpcy0+c3RhdHVzVGV4dCkuIlxyXG4iLgoJCQkkdGhpcy0+aGVhZGVycy4iXHJcbiIuCgkJCSR0aGlzLT5nZXRDb250ZW50KCk7Cgl9CgoJLyoqCgkgKiBTZXRzIHRoZSByZXNwb25zZSBzdGF0dXMgY29kZS4KCSAqCgkgKiBAcGFyYW0gaW50ICAgJGNvZGUgSFRUUCBzdGF0dXMgY29kZQoJICogQHBhcmFtIG1peGVkICR0ZXh0IEhUVFAgc3RhdHVzIHRleHQKCSAqCgkgKiBJZiB0aGUgc3RhdHVzIHRleHQgaXMgbnVsbCBpdCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcG9wdWxhdGVkIGZvciB0aGUga25vd24KCSAqIHN0YXR1cyBjb2RlcyBhbmQgbGVmdCBlbXB0eSBvdGhlcndpc2UuCgkgKgoJICogQHJldHVybiBSZXNwb25zZQoJICoKCSAqIEB0aHJvd3MgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBXaGVuIHRoZSBIVFRQIHN0YXR1cyBjb2RlIGlzIG5vdCB2YWxpZAoJICoKCSAqIEBhcGkKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNldFN0YXR1c0NvZGUoJGNvZGUsICR0ZXh0ID0gbnVsbCkKCXsKCQkkdGhpcy0+c3RhdHVzQ29kZSA9ICRjb2RlID0gKGludCkgJGNvZGU7CgkJaWYgKCR0aGlzLT5pc0ludmFsaWQoKSkgewoJCQl0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKHNwcmludGYoJ1RoZSBIVFRQIHN0YXR1cyBjb2RlICIlcyIgaXMgbm90IHZhbGlkLicsICRjb2RlKSk7CgkJfQoKCQlpZiAobnVsbCA9PT0gJHRleHQpIHsKCQkJJHRoaXMtPnN0YXR1c1RleHQgPSBpc3NldChzZWxmOjokc3RhdHVzVGV4dHNbJGNvZGVdKSA/IHNlbGY6OiRzdGF0dXNUZXh0c1skY29kZV0gOiAnJzsKCgkJCXJldHVybiAkdGhpczsKCQl9CgoJCWlmIChmYWxzZSA9PT0gJHRleHQpIHsKCQkJJHRoaXMtPnN0YXR1c1RleHQgPSAnJzsKCgkJCXJldHVybiAkdGhpczsKCQl9CgoJCSR0aGlzLT5zdGF0dXNUZXh0ID0gJHRleHQ7CgoJCXJldHVybiAkdGhpczsKCX0KCgkvLyBodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwKCS8qKgoJICogSXMgcmVzcG9uc2UgaW52YWxpZD8KCSAqCgkgKiBAcmV0dXJuIGJvb2wKCSAqCgkgKiBAYXBpCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBpc0ludmFsaWQoKQoJewoJCXJldHVybiAkdGhpcy0+c3RhdHVzQ29kZSA8IDEwMCB8fCAkdGhpcy0+c3RhdHVzQ29kZSA+PSA2MDA7Cgl9CgoJLyoqCgkgKiBTZXQgYSBoZWFkZXIgb24gdGhlIFJlc3BvbnNlLgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJGtleQoJICogQHBhcmFtIHN0cmluZyAkdmFsdWUKCSAqIEBwYXJhbSBib29sICRyZXBsYWNlCgkgKiBAcmV0dXJuICR0aGlzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBoZWFkZXIoJGtleSwgJHZhbHVlLCAkcmVwbGFjZSA9IHRydWUpCgl7CgkJaWYgKGVtcHR5KCR0aGlzLT5oZWFkZXJzWyRrZXldKSkKCQl7CgkJCSR0aGlzLT5oZWFkZXJzWyRrZXldID0gYXJyYXkoKTsKCQl9CgkJaWYgKCRyZXBsYWNlKQoJCXsKCQkJJHRoaXMtPmhlYWRlcnNbJGtleV0gPSBhcnJheSgkdmFsdWUpOwoJCX0KCQllbHNlCgkJewoJCQkkdGhpcy0+aGVhZGVyc1ska2V5XVtdID0gJHZhbHVlOwoJCX0KCgkJcmV0dXJuICR0aGlzOwoJfQoKCS8qKgoJICogU2VuZHMgSFRUUCBoZWFkZXJzIGFuZCBjb250ZW50LgoJICoKCSAqIEByZXR1cm4gUmVzcG9uc2UKCSAqCgkgKiBAYXBpCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzZW5kKCkKCXsKCQkkdGhpcy0+c2VuZEhlYWRlcnMoKTsKCQkkdGhpcy0+c2VuZENvbnRlbnQoKTsKCgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnZmFzdGNnaV9maW5pc2hfcmVxdWVzdCcpKSB7CgkJCWZhc3RjZ2lfZmluaXNoX3JlcXVlc3QoKTsKCQl9CgoJCXJldHVybiAkdGhpczsKCX0KCgkvKioKCSAqIFNlbmRzIGNvbnRlbnQgZm9yIHRoZSBjdXJyZW50IHdlYiByZXNwb25zZS4KCSAqCgkgKiBAcmV0dXJuIFJlc3BvbnNlCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzZW5kQ29udGVudCgpCgl7CgkJZWNobyAkdGhpcy0+Y29udGVudDsKCgkJcmV0dXJuICR0aGlzOwoJfQoKCS8qKgoJICogU2VuZHMgSFRUUCBoZWFkZXJzLgoJICoKCSAqIEByZXR1cm4gUmVzcG9uc2UKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNlbmRIZWFkZXJzKCkKCXsKCQkvLyBoZWFkZXJzIGhhdmUgYWxyZWFkeSBiZWVuIHNlbnQgYnkgdGhlIGRldmVsb3BlcgoJCWlmIChoZWFkZXJzX3NlbnQoKSkgewoJCQlyZXR1cm4gJHRoaXM7CgkJfQoKCQkvLyBzdGF0dXMKCQloZWFkZXIoc3ByaW50ZignSFRUUC8lcyAlcyAlcycsICR0aGlzLT52ZXJzaW9uLCAkdGhpcy0+c3RhdHVzQ29kZSwgJHRoaXMtPnN0YXR1c1RleHQpLCB0cnVlLCAkdGhpcy0+c3RhdHVzQ29kZSk7CgoJCS8vIGhlYWRlcnMKCQlmb3JlYWNoICgkdGhpcy0+aGVhZGVycyBhcyAkbmFtZSA9PiAkdmFsdWVzKSB7CgkJCWlmIChpc19hcnJheSgkdmFsdWVzKSkKCQkJewoJCQkJZm9yZWFjaCAoJHZhbHVlcyBhcyAkdmFsdWUpCgkJCQl7CgkJCQkJaGVhZGVyKCRuYW1lIC4gJzogJyAuICR2YWx1ZSwgZmFsc2UsICR0aGlzLT5zdGF0dXNDb2RlKTsKCQkJCX0KCQkJfQoJCQllbHNlCgkJCXsKCQkJCWhlYWRlcigkbmFtZSAuICc6ICcgLiAkdmFsdWVzLCBmYWxzZSwgJHRoaXMtPnN0YXR1c0NvZGUpOwoJCQl9CgkJfQoKCQlyZXR1cm4gJHRoaXM7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/include/utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICgkX1NFU1NJT05bJ1JGJ11bInZlcmlmeSJdICE9ICJSRVNQT05TSVZFZmlsZW1hbmFnZXIiKQp7CglkaWUoJ2ZvcmJpZGVuJyk7Cn0KcmVxdWlyZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvUmVzcG9uc2UucGhwJzsKCmlmICggISBmdW5jdGlvbl9leGlzdHMoJ3Jlc3BvbnNlJykpCnsKCS8qKgoJKiBSZXNwb25zZSBjb25zdHJ1Y3Rpb24gaGVscGVyCgkqCgkqIEBwYXJhbSBzdHJpbmcgJGNvbnRlbnQKCSogQHBhcmFtIGludCAgICAkc3RhdHVzQ29kZQoJKiBAcGFyYW0gYXJyYXkgICRoZWFkZXJzCgkqCgkqIEByZXR1cm4gXFJlc3BvbnNlfFxJbGx1bWluYXRlXEh0dHBcUmVzcG9uc2UKCSovCglmdW5jdGlvbiByZXNwb25zZSgkY29udGVudCA9ICcnLCAkc3RhdHVzQ29kZSA9IDIwMCwgJGhlYWRlcnMgPSBhcnJheSgpKQoJewoJCSRyZXNwb25zZUNsYXNzID0gY2xhc3NfZXhpc3RzKCdJbGx1bWluYXRlXEh0dHBcUmVzcG9uc2UnKSA/ICdcSWxsdW1pbmF0ZVxIdHRwXFJlc3BvbnNlJyA6ICdSZXNwb25zZSc7CgoJCXJldHVybiBuZXcgJHJlc3BvbnNlQ2xhc3MoJGNvbnRlbnQsICRzdGF0dXNDb2RlLCAkaGVhZGVycyk7Cgl9Cn0KCmlmICggISBmdW5jdGlvbl9leGlzdHMoJ3RyYW5zJykpCnsKCS8vIGxhbmd1YWdlCglpZiAoICEgaXNzZXQoJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddKQoJCXx8IGZpbGVfZXhpc3RzKCRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2VfZmlsZSddKSA9PT0gZmFsc2UKCQl8fCAhIGlzX3JlYWRhYmxlKCRfU0VTU0lPTlsnUkYnXVsnbGFuZ3VhZ2VfZmlsZSddKQoJKQoJewoJCSRsYW5nID0gJGRlZmF1bHRfbGFuZ3VhZ2U7CgoJCWlmIChpc3NldCgkX0dFVFsnbGFuZyddKSAmJiAkX0dFVFsnbGFuZyddICE9ICd1bmRlZmluZWQnICYmICRfR0VUWydsYW5nJ10gIT0gJycpCgkJewoJCQkkbGFuZyA9IGZpeF9nZXRfcGFyYW1zKCRfR0VUWydsYW5nJ10pOwoJCQkkbGFuZyA9IHRyaW0oJGxhbmcpOwoJCX0KCgkJJGxhbmd1YWdlX2ZpbGUgPSBkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSAuICcvbGFuZy8nIC4gJGRlZmF1bHRfbGFuZ3VhZ2UgLiAnLnBocCc7CgkJaWYgKCRsYW5nICE9ICRkZWZhdWx0X2xhbmd1YWdlKQoJCXsKCQkJJHBhdGhfcGFydHMgPSBwYXRoaW5mbygkbGFuZyk7CgoJCQlpZiAoaXNfcmVhZGFibGUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkgLiAnL2xhbmcvJyAuICRwYXRoX3BhcnRzWydiYXNlbmFtZSddIC4gJy5waHAnKSkKCQkJewoJCQkJJGxhbmd1YWdlX2ZpbGUgPSBkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSAuICcvbGFuZy8nIC4gJHBhdGhfcGFydHNbJ2Jhc2VuYW1lJ10gLiAnLnBocCc7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQllY2hvICI8c2NyaXB0PmNvbnNvbGUubG9nKCdUaGUgIiAuICRsYW5nIC4gIiBsYW5ndWFnZSBmaWxlIGlzIG5vdCByZWFkYWJsZSEgRmFsbGluZyBiYWNrLi4uJyk7PC9zY3JpcHQ+IjsKCQkJfQoJCX0KCgkJLy8gYWRkIGxhbmcgZmlsZSB0byBzZXNzaW9uIGZvciBlYXN5IGluY2x1ZGUKCQkkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlJ10gPSAkbGFuZzsKCQkkX1NFU1NJT05bJ1JGJ11bJ2xhbmd1YWdlX2ZpbGUnXSA9ICRsYW5ndWFnZV9maWxlOwoJfQoJZWxzZQoJewoJCSRsYW5nID0gJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZSddOwoJCSRsYW5ndWFnZV9maWxlID0gJF9TRVNTSU9OWydSRiddWydsYW5ndWFnZV9maWxlJ107Cgl9CgoJJGxhbmdfdmFycyA9IGluY2x1ZGUgJGxhbmd1YWdlX2ZpbGU7CgoJaWYgKCAhIGlzX2FycmF5KCRsYW5nX3ZhcnMpKQoJewoJCSRsYW5nX3ZhcnMgPSBhcnJheSgpOwoJfQoJLyoqCgkqIFRyYW5zbGF0ZSBsYW5ndWFnZSB2YXJpYWJsZQoJKgoJKiBAcGFyYW0gJHZhciBzdHJpbmcgbmFtZQoJKgoJKiBAcmV0dXJuIHN0cmluZyB0cmFuc2xhdGVkIHZhcmlhYmxlCgkqLwoJZnVuY3Rpb24gdHJhbnMoJHZhcikKCXsKCQlnbG9iYWwgJGxhbmdfdmFyczsKCgkJcmV0dXJuIChhcnJheV9rZXlfZXhpc3RzKCR2YXIsICRsYW5nX3ZhcnMpKSA/ICRsYW5nX3ZhcnNbICR2YXIgXSA6ICR2YXI7Cgl9Cn0KCi8qKgoqIERlbGV0ZSBkaXJlY3RvcnkKKgoqIEBwYXJhbSAgc3RyaW5nICAkZGlyCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIGRlbGV0ZURpcigkZGlyKQp7CglpZiAoICEgZmlsZV9leGlzdHMoJGRpcikpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CglpZiAoICEgaXNfZGlyKCRkaXIpKQoJewoJCXJldHVybiB1bmxpbmsoJGRpcik7Cgl9Cglmb3JlYWNoIChzY2FuZGlyKCRkaXIpIGFzICRpdGVtKQoJewoJCWlmICgkaXRlbSA9PSAnLicgfHwgJGl0ZW0gPT0gJy4uJykKCQl7CgkJCWNvbnRpbnVlOwoJCX0KCQlpZiAoICEgZGVsZXRlRGlyKCRkaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGl0ZW0pKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCglyZXR1cm4gcm1kaXIoJGRpcik7Cn0KCi8qKgoqIE1ha2UgYSBmaWxlIGNvcHkKKgoqIEBwYXJhbSAgc3RyaW5nICAkb2xkX3BhdGgKKiBAcGFyYW0gIHN0cmluZyAgJG5hbWUgICAgICBOZXcgZmlsZSBuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIGR1cGxpY2F0ZV9maWxlKCRvbGRfcGF0aCwgJG5hbWUpCnsKCWlmIChmaWxlX2V4aXN0cygkb2xkX3BhdGgpKQoJewoJCSRpbmZvID0gcGF0aGluZm8oJG9sZF9wYXRoKTsKCQkkbmV3X3BhdGggPSAkaW5mb1snZGlybmFtZSddIC4gIi8iIC4gJG5hbWUgLiAiLiIgLiAkaW5mb1snZXh0ZW5zaW9uJ107CgkJaWYgKGZpbGVfZXhpc3RzKCRuZXdfcGF0aCkgJiYgJG9sZF9wYXRoID09ICRuZXdfcGF0aCkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXJldHVybiBjb3B5KCRvbGRfcGF0aCwgJG5ld19wYXRoKTsKCX0KfQoKCi8qKgoqIFJlbmFtZSBmaWxlCioKKiBAcGFyYW0gIHN0cmluZyAgJG9sZF9wYXRoICAgICAgICAgRmlsZSB0byByZW5hbWUKKiBAcGFyYW0gIHN0cmluZyAgJG5hbWUgICAgICAgICAgICAgTmV3IGZpbGUgbmFtZSB3aXRob3V0IGV4dGVuc2lvbgoqIEBwYXJhbSAgYm9vbCAgICAkdHJhbnNsaXRlcmF0aW9uCioKKiBAcmV0dXJuIGJvb2wKKi8KZnVuY3Rpb24gcmVuYW1lX2ZpbGUoJG9sZF9wYXRoLCAkbmFtZSwgJHRyYW5zbGl0ZXJhdGlvbikKewoJJG5hbWUgPSBmaXhfZmlsZW5hbWUoJG5hbWUsICR0cmFuc2xpdGVyYXRpb24pOwoJaWYgKGZpbGVfZXhpc3RzKCRvbGRfcGF0aCkpCgl7CgkJJGluZm8gPSBwYXRoaW5mbygkb2xkX3BhdGgpOwoJCSRuZXdfcGF0aCA9ICRpbmZvWydkaXJuYW1lJ10gLiAiLyIgLiAkbmFtZSAuICIuIiAuICRpbmZvWydleHRlbnNpb24nXTsKCQlpZiAoZmlsZV9leGlzdHMoJG5ld19wYXRoKSAmJiAkb2xkX3BhdGggPT0gJG5ld19wYXRoKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJcmV0dXJuIHJlbmFtZSgkb2xkX3BhdGgsICRuZXdfcGF0aCk7Cgl9Cn0KCi8qKgoqIFJlbmFtZSBkaXJlY3RvcnkKKgoqIEBwYXJhbSAgc3RyaW5nICAkb2xkX3BhdGggICAgICAgICBEaXJlY3RvcnkgdG8gcmVuYW1lCiogQHBhcmFtICBzdHJpbmcgICRuYW1lICAgICAgICAgICAgIE5ldyBkaXJlY3RvcnkgbmFtZQoqIEBwYXJhbSAgYm9vbCAgICAkdHJhbnNsaXRlcmF0aW9uCioKKiBAcmV0dXJuIGJvb2wKKi8KZnVuY3Rpb24gcmVuYW1lX2ZvbGRlcigkb2xkX3BhdGgsICRuYW1lLCAkdHJhbnNsaXRlcmF0aW9uKQp7CgkkbmFtZSA9IGZpeF9maWxlbmFtZSgkbmFtZSwgJHRyYW5zbGl0ZXJhdGlvbiwgZmFsc2UsICdfJywgdHJ1ZSk7CglpZiAoZmlsZV9leGlzdHMoJG9sZF9wYXRoKSkKCXsKCQkkbmV3X3BhdGggPSBmaXhfZGlybmFtZSgkb2xkX3BhdGgpIC4gIi8iIC4gJG5hbWU7CgkJaWYgKGZpbGVfZXhpc3RzKCRuZXdfcGF0aCkgJiYgJG9sZF9wYXRoID09ICRuZXdfcGF0aCkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXJldHVybiByZW5hbWUoJG9sZF9wYXRoLCAkbmV3X3BhdGgpOwoJfQp9CgovKioKKiBDcmVhdGUgbmV3IGltYWdlIGZyb20gZXhpc3RpbmcgZmlsZQoqCiogQHBhcmFtICBzdHJpbmcgICRpbWdmaWxlICAgIFNvdXJjZSBpbWFnZSBmaWxlIG5hbWUKKiBAcGFyYW0gIHN0cmluZyAgJGltZ3RodW1iICAgVGh1bWJuYWlsIGZpbGUgbmFtZQoqIEBwYXJhbSAgaW50ICAgICAkbmV3d2lkdGggICBUaHVtYm5haWwgd2lkdGgKKiBAcGFyYW0gIGludCAgICAgJG5ld2hlaWdodCAgT3B0aW9uYWwgdGh1bWJuYWlsIGhlaWdodAoqIEBwYXJhbSAgc3RyaW5nICAkb3B0aW9uICAgICBUeXBlIG9mIHJlc2l6ZQoqCiogQHJldHVybiBib29sCiogQHRocm93cyBcRXhjZXB0aW9uCiovCmZ1bmN0aW9uIGNyZWF0ZV9pbWcoJGltZ2ZpbGUsICRpbWd0aHVtYiwgJG5ld3dpZHRoLCAkbmV3aGVpZ2h0ID0gbnVsbCwgJG9wdGlvbiA9ICJjcm9wIikKewoJJHJlc3VsdCA9IGZhbHNlOwoJaWYoZmlsZV9leGlzdHMoJGltZ2ZpbGUpIHx8IHN0cnBvcygkaW1nZmlsZSwnaHR0cCcpPT09MCl7CgkJJHRpbWVMaW1pdCA9IGluaV9nZXQoJ21heF9leGVjdXRpb25fdGltZScpOwoJCXNldF90aW1lX2xpbWl0KDMwKTsKCQlpZiAoc3RycG9zKCRpbWdmaWxlLCdodHRwJyk9PT0wIHx8IGltYWdlX2NoZWNrX21lbW9yeV91c2FnZSgkaW1nZmlsZSwgJG5ld3dpZHRoLCAkbmV3aGVpZ2h0KSkKCQl7CgkJCXJlcXVpcmVfb25jZSgncGhwX2ltYWdlX21hZ2ljaWFuLnBocCcpOwoJCQkkbWFnaWNpYW5PYmogPSBuZXcgaW1hZ2VMaWIoJGltZ2ZpbGUpOwoJCQkkbWFnaWNpYW5PYmotPnJlc2l6ZUltYWdlKCRuZXd3aWR0aCwgJG5ld2hlaWdodCwgJG9wdGlvbik7CgkJCSRtYWdpY2lhbk9iai0+c2F2ZUltYWdlKCRpbWd0aHVtYiwgODApOwoJCQkkcmVzdWx0ID0gdHJ1ZTsKCQl9CgkJc2V0X3RpbWVfbGltaXQoJHRpbWVMaW1pdCk7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQoKLyoqCiogQ29udmVydCBjb252ZXJ0IHNpemUgaW4gYnl0ZXMgdG8gaHVtYW4gcmVhZGFibGUKKgoqIEBwYXJhbSAgaW50ICAkc2l6ZQoqCiogQHJldHVybiAgc3RyaW5nCiovCmZ1bmN0aW9uIG1ha2VTaXplKCRzaXplKQp7CgkkdW5pdHMgPSBhcnJheSggJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInICk7CgkkdSA9IDA7Cgl3aGlsZSAoKHJvdW5kKCRzaXplIC8gMTAyNCkgPiAwKSAmJiAoJHUgPCA0KSkKCXsKCQkkc2l6ZSA9ICRzaXplIC8gMTAyNDsKCQkkdSsrOwoJfQoKCXJldHVybiAobnVtYmVyX2Zvcm1hdCgkc2l6ZSwgMCkgLiAiICIgLiB0cmFucygkdW5pdHNbICR1IF0pKTsKfQoKLyoqCiogRGV0ZXJtaW5lIGRpcmVjdG9yeSBzaXplCioKKiBAcGFyYW0gIHN0cmluZyAgJHBhdGgKKgoqIEByZXR1cm4gIGludAoqLwpmdW5jdGlvbiBmb2xkZXJfaW5mbygkcGF0aCwkY291bnRfaGlkZGVuPXRydWUpCnsKCWdsb2JhbCAkaGlkZGVuX2ZvbGRlcnMsJGhpZGRlbl9maWxlczsKCSR0b3RhbF9zaXplID0gMDsKCSRmaWxlcyA9IHNjYW5kaXIoJHBhdGgpOwoJJGNsZWFuUGF0aCA9IHJ0cmltKCRwYXRoLCAnLycpIC4gJy8nOwoJJGZpbGVzX2NvdW50ID0gMDsKCSRmb2xkZXJzX2NvdW50ID0gMDsKCWZvcmVhY2ggKCRmaWxlcyBhcyAkdCkKCXsKCQlpZiAoJHQgIT0gIi4iICYmICR0ICE9ICIuLiIpCgkJewoJCQlpZiAoJGNvdW50X2hpZGRlbiBvciAhKGluX2FycmF5KCR0LCRoaWRkZW5fZm9sZGVycykgb3IgaW5fYXJyYXkoJHQsJGhpZGRlbl9maWxlcykpKQoJCQl7CgkJCQkkY3VycmVudEZpbGUgPSAkY2xlYW5QYXRoIC4gJHQ7CgkJCQlpZiAoaXNfZGlyKCRjdXJyZW50RmlsZSkpCgkJCQl7CgkJCQkJbGlzdCgkc2l6ZSwkdG1wLCR0bXAxKSA9IGZvbGRlcl9pbmZvKCRjdXJyZW50RmlsZSk7CgkJCQkJJHRvdGFsX3NpemUgKz0gJHNpemU7CgkJCQkJJGZvbGRlcnNfY291bnQgKys7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJHNpemUgPSBmaWxlc2l6ZSgkY3VycmVudEZpbGUpOwoJCQkJCSR0b3RhbF9zaXplICs9ICRzaXplOwoJCQkJCSRmaWxlc19jb3VudCsrOwoJCQkJfQoJCQl9CgkJfQoJfQoKCXJldHVybiBhcnJheSgkdG90YWxfc2l6ZSwkZmlsZXNfY291bnQsJGZvbGRlcnNfY291bnQpOwp9Ci8qKgoqIEdldCBudW1iZXIgb2YgZmlsZXMgaW4gYSBkaXJlY3RvcnkKKgoqIEBwYXJhbSAgc3RyaW5nICAkcGF0aAoqCiogQHJldHVybiAgaW50CiovCmZ1bmN0aW9uIGZpbGVzY291bnQoJHBhdGgsJGNvdW50X2hpZGRlbj10cnVlKQp7CglnbG9iYWwgJGhpZGRlbl9mb2xkZXJzLCRoaWRkZW5fZmlsZXM7CgkkdG90YWxfY291bnQgPSAwOwoJJGZpbGVzID0gc2NhbmRpcigkcGF0aCk7CgkkY2xlYW5QYXRoID0gcnRyaW0oJHBhdGgsICcvJykgLiAnLyc7CgoJZm9yZWFjaCAoJGZpbGVzIGFzICR0KQoJewoJCWlmICgkdCAhPSAiLiIgJiYgJHQgIT0gIi4uIikKCQl7CgkJCWlmICgkY291bnRfaGlkZGVuIG9yICEoaW5fYXJyYXkoJHQsJGhpZGRlbl9mb2xkZXJzKSBvciBpbl9hcnJheSgkdCwkaGlkZGVuX2ZpbGVzKSkpCgkJCXsKCQkJCSRjdXJyZW50RmlsZSA9ICRjbGVhblBhdGggLiAkdDsKCQkJCWlmIChpc19kaXIoJGN1cnJlbnRGaWxlKSkKCQkJCXsKCQkJCQkkc2l6ZSA9IGZpbGVzY291bnQoJGN1cnJlbnRGaWxlKTsKCQkJCQkkdG90YWxfY291bnQgKz0gJHNpemU7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJHRvdGFsX2NvdW50ICs9IDE7CgkJCQl9CgkJCX0KCQl9Cgl9CgoJcmV0dXJuICR0b3RhbF9jb3VudDsKfQovKioKKiBjaGVjayBpZiB0aGUgY3VycmVudCBmb2xkZXIgc2l6ZSBwbHVzIHRoZSBhZGRlZCBzaXplIGlzIG92ZXIgdGhlIG92ZXJhbGwgc2l6ZSBsaW1pdGUKKgoqIEBwYXJhbSAgaW50ICAkc2l6ZUFkZGVkCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIGNoZWNrcmVzdWx0aW5nc2l6ZSgkc2l6ZUFkZGVkKQp7CglnbG9iYWwgJE1heFNpemVUb3RhbCwkY3VycmVudF9wYXRoOwoJaWYgKCRNYXhTaXplVG90YWwgIT09IGZhbHNlICYmIGlzX2ludCgkTWF4U2l6ZVRvdGFsKSkgewoJCWxpc3QoJHNpemVDdXJyZW50Rm9sZGVyLCRmaWxlQ3VycmVudE51bSwkZm9sZGVyc0N1cnJlbnRDb3VudCkgPSBmb2xkZXJfaW5mbygkY3VycmVudF9wYXRoLGZhbHNlKTsKCQkvLyBvdmVyYWxsIHNpemUgb3ZlciBsaW1pdAoJCWlmICgoJE1heFNpemVUb3RhbCAqIDEwMjQgKiAxMDI0KSA8ICgkc2l6ZUN1cnJlbnRGb2xkZXIgKyAkc2l6ZUFkZGVkKSkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoJcmV0dXJuIHRydWU7Cn0KCi8qKgoqIENyZWF0ZSBkaXJlY3RvcnkgZm9yIGltYWdlcyBhbmQvb3IgdGh1bWJuYWlscwoqCiogQHBhcmFtICBzdHJpbmcgICRwYXRoCiogQHBhcmFtICBzdHJpbmcgICRwYXRoX3RodW1icwoqLwpmdW5jdGlvbiBjcmVhdGVfZm9sZGVyKCRwYXRoID0gbnVsbCwgJHBhdGhfdGh1bWJzID0gbnVsbCkKewoJJG9sZHVtYXNrID0gdW1hc2soMCk7CglpZiAoJHBhdGggJiYgISBmaWxlX2V4aXN0cygkcGF0aCkpCgl7CgkJbWtkaXIoJHBhdGgsIDA3NjYsIHRydWUpOwoJfSAvLyBvciBldmVuIDAxNzc3IHNvIHlvdSBnZXQgdGhlIHN0aWNreSBiaXQgc2V0CglpZiAoJHBhdGhfdGh1bWJzICYmICEgZmlsZV9leGlzdHMoJHBhdGhfdGh1bWJzKSkKCXsKCQlta2RpcigkcGF0aF90aHVtYnMsIDA3NjYsIHRydWUpIG9yIGRpZSgiJHBhdGhfdGh1bWJzIGNhbm5vdCBiZSBmb3VuZCIpOwoJfSAvLyBvciBldmVuIDAxNzc3IHNvIHlvdSBnZXQgdGhlIHN0aWNreSBiaXQgc2V0Cgl1bWFzaygkb2xkdW1hc2spOwp9CgovKioKKiBHZXQgZmlsZSBleHRlbnNpb24gcHJlc2VudCBpbiBkaXJlY3RvcnkKKgoqIEBwYXJhbSAgc3RyaW5nICAkcGF0aAoqIEBwYXJhbSAgc3RyaW5nICAkZXh0CiovCmZ1bmN0aW9uIGNoZWNrX2ZpbGVzX2V4dGVuc2lvbnNfb25fcGF0aCgkcGF0aCwgJGV4dCkKewoJaWYgKCAhIGlzX2RpcigkcGF0aCkpCgl7CgkJJGZpbGVpbmZvID0gcGF0aGluZm8oJHBhdGgpOwoJCWlmICggISBpbl9hcnJheShtYl9zdHJ0b2xvd2VyKCRmaWxlaW5mb1snZXh0ZW5zaW9uJ10pLCAkZXh0KSkKCQl7CgkJCXVubGluaygkcGF0aCk7CgkJfQoJfQoJZWxzZQoJewoJCSRmaWxlcyA9IHNjYW5kaXIoJHBhdGgpOwoJCWZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkKCQl7CgkJCWNoZWNrX2ZpbGVzX2V4dGVuc2lvbnNfb25fcGF0aCh0cmltKCRwYXRoLCAnLycpIC4gIi8iIC4gJGZpbGUsICRleHQpOwoJCX0KCX0KfQoKLyoqCiogR2V0IGZpbGUgZXh0ZW5zaW9uIHByZXNlbnQgaW4gUEhBUiBmaWxlCioKKiBAcGFyYW0gIHN0cmluZyAgJHBoYXIKKiBAcGFyYW0gIGFycmF5ICAgJGZpbGVzCiogQHBhcmFtICBzdHJpbmcgICRiYXNlcGF0aAoqIEBwYXJhbSAgc3RyaW5nICAkZXh0CiovCmZ1bmN0aW9uIGNoZWNrX2ZpbGVzX2V4dGVuc2lvbnNfb25fcGhhcigkcGhhciwgJiRmaWxlcywgJGJhc2VwYXRoLCAkZXh0KQp7Cglmb3JlYWNoICgkcGhhciBhcyAkZmlsZSkKCXsKCQlpZiAoJGZpbGUtPmlzRmlsZSgpKQoJCXsKCQkJaWYgKGluX2FycmF5KG1iX3N0cnRvbG93ZXIoJGZpbGUtPmdldEV4dGVuc2lvbigpKSwgJGV4dCkpCgkJCXsKCQkJCSRmaWxlc1tdID0gJGJhc2VwYXRoIC4gJGZpbGUtPmdldEZpbGVOYW1lKCk7CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJaWYgKCRmaWxlLT5pc0RpcigpKQoJCQl7CgkJCQkkaXRlcmF0b3IgPSBuZXcgRGlyZWN0b3J5SXRlcmF0b3IoJGZpbGUpOwoJCQkJY2hlY2tfZmlsZXNfZXh0ZW5zaW9uc19vbl9waGFyKCRpdGVyYXRvciwgJGZpbGVzLCAkYmFzZXBhdGggLiAkZmlsZS0+Z2V0RmlsZU5hbWUoKSAuICcvJywgJGV4dCk7CgkJCX0KCQl9Cgl9Cn0KCi8qKgoqIENsZWFudXAgaW5wdXQKKgoqIEBwYXJhbSAgc3RyaW5nICAkc3RyCioKKiBAcmV0dXJuICBzdHJpbmcKKi8KZnVuY3Rpb24gZml4X2dldF9wYXJhbXMoJHN0cikKewoJcmV0dXJuIHN0cmlwX3RhZ3MocHJlZ19yZXBsYWNlKCIvW15hLXpBLVowLTlcLlxbXF1ffCAtXS8iLCAnJywgJHN0cikpOwp9CgovKioKKiBDbGVhbnVwIGZpbGVuYW1lCioKKiBAcGFyYW0gIHN0cmluZyAgJHN0cgoqIEBwYXJhbSAgYm9vbCAgICAkdHJhbnNsaXRlcmF0aW9uCiogQHBhcmFtICBib29sICAgICRjb252ZXJ0X3NwYWNlcwoqIEBwYXJhbSAgc3RyaW5nICAkcmVwbGFjZV93aXRoCiogQHBhcmFtICBib29sICAgICRpc19mb2xkZXIKKgoqIEByZXR1cm4gc3RyaW5nCiovCmZ1bmN0aW9uIGZpeF9maWxlbmFtZSgkc3RyLCAkdHJhbnNsaXRlcmF0aW9uLCAkY29udmVydF9zcGFjZXMgPSBmYWxzZSwgJHJlcGxhY2Vfd2l0aCA9ICJfIiwgJGlzX2ZvbGRlciA9IGZhbHNlKQp7CglpZiAoJGNvbnZlcnRfc3BhY2VzKQoJewoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnICcsICRyZXBsYWNlX3dpdGgsICRzdHIpOwoJfQoKCWlmICgkdHJhbnNsaXRlcmF0aW9uKQoJewoJCWlmIChmdW5jdGlvbl9leGlzdHMoJ3RyYW5zbGl0ZXJhdG9yX3RyYW5zbGl0ZXJhdGUnKSkKCQl7CgkJCSRzdHIgPSB0cmFuc2xpdGVyYXRvcl90cmFuc2xpdGVyYXRlKCdBY2NlbnRzLUFueScsIHV0ZjhfZW5jb2RlKCRzdHIpKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHN0ciA9IGljb252KCdVVEYtOCcsICdBU0NJSS8vVFJBTlNMSVQvL0lHTk9SRScsICRzdHIpOwoJCX0KCgkJJHN0ciA9IHByZWdfcmVwbGFjZSgiL1teYS16QS1aMC05XC5cW1xdX3wgLV0vIiwgJycsICRzdHIpOwoJfQoKCSRzdHIgPSBzdHJfcmVwbGFjZShhcnJheSggJyInLCAiJyIsICIvIiwgIlxcIiApLCAiIiwgJHN0cik7Cgkkc3RyID0gc3RyaXBfdGFncygkc3RyKTsKCgkvLyBFbXB0eSBvciBpbmNvcnJlY3RseSB0cmFuc2xpdGVyYXRlZCBmaWxlbmFtZS4KCS8vIEhlcmUgaXMgYSBwb2ludDogYSBnb29kIGZpbGUgVU5LTk9XTl9MQU5HVUFHRS5qcGcgY291bGQgYmVjb21lIC5qcGcgaW4gcHJldmlvdXMgY29kZS4KCS8vIFNvIHdlIGFkZCB0aGF0IGRlZmF1bHQgJ2ZpbGUnIG5hbWUgdG8gZml4IHRoYXQgaXNzdWUuCglpZiAoc3RycG9zKCRzdHIsICcuJykgPT09IDAgJiYgJGlzX2ZvbGRlciA9PT0gZmFsc2UpCgl7CgkJJHN0ciA9ICdmaWxlJyAuICRzdHI7Cgl9CgoJcmV0dXJuIHRyaW0oJHN0cik7Cn0KCi8qKgoqIENsZWFudXAgZGlyZWN0b3J5IG5hbWUKKgoqIEBwYXJhbSAgc3RyaW5nICAkc3RyCioKKiBAcmV0dXJuICBzdHJpbmcKKi8KZnVuY3Rpb24gZml4X2Rpcm5hbWUoJHN0cikKewoJcmV0dXJuIHN0cl9yZXBsYWNlKCd+JywgJyAnLCBkaXJuYW1lKHN0cl9yZXBsYWNlKCcgJywgJ34nLCAkc3RyKSkpOwp9CgovKioKKiBDb3JyZWN0IHN0cnRvdXBwZXIgaGFuZGxpbmcKKgoqIEBwYXJhbSAgc3RyaW5nICAkc3RyCioKKiBAcmV0dXJuICBzdHJpbmcKKi8KZnVuY3Rpb24gZml4X3N0cnRvdXBwZXIoJHN0cikKewoJaWYgKGZ1bmN0aW9uX2V4aXN0cygnbWJfc3RydG91cHBlcicpKQoJewoJCXJldHVybiBtYl9zdHJ0b3VwcGVyKCRzdHIpOwoJfQoJZWxzZQoJewoJCXJldHVybiBzdHJ0b3VwcGVyKCRzdHIpOwoJfQp9CgovKioKKiBDb3JyZWN0IHN0cnRvbG93ZXIgaGFuZGxpbmcKKgoqIEBwYXJhbSAgc3RyaW5nICAkc3RyCioKKiBAcmV0dXJuICBzdHJpbmcKKi8KZnVuY3Rpb24gZml4X3N0cnRvbG93ZXIoJHN0cikKewoJaWYgKGZ1bmN0aW9uX2V4aXN0cygnbWJfc3RydG91cHBlcicpKQoJewoJCXJldHVybiBtYl9zdHJ0b2xvd2VyKCRzdHIpOwoJfQoJZWxzZQoJewoJCXJldHVybiBzdHJ0b2xvd2VyKCRzdHIpOwoJfQp9CgpmdW5jdGlvbiBmaXhfcGF0aCgkcGF0aCwgJHRyYW5zbGl0ZXJhdGlvbiwgJGNvbnZlcnRfc3BhY2VzID0gZmFsc2UsICRyZXBsYWNlX3dpdGggPSAiXyIpCnsKCSRpbmZvID0gcGF0aGluZm8oJHBhdGgpOwoJJHRtcF9wYXRoID0gJGluZm9bJ2Rpcm5hbWUnXTsKCSRzdHIgPSBmaXhfZmlsZW5hbWUoJGluZm9bJ2ZpbGVuYW1lJ10sICR0cmFuc2xpdGVyYXRpb24sICRjb252ZXJ0X3NwYWNlcywgJHJlcGxhY2Vfd2l0aCk7CglpZiAoJHRtcF9wYXRoICE9ICIiKQoJewoJCXJldHVybiAkdG1wX3BhdGggLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHN0cjsKCX0KCWVsc2UKCXsKCQlyZXR1cm4gJHN0cjsKCX0KfQoKLyoqCiogR2V0IGN1cnJlbnQgYmFzZSB1cmwKKgoqIEByZXR1cm4gIHN0cmluZwoqLwpmdW5jdGlvbiBiYXNlX3VybCgpCnsKCXJldHVybiBzcHJpbnRmKAoJCSIlczovLyVzIiwKCQlpc3NldCgkX1NFUlZFUlsnSFRUUFMnXSkgJiYgJF9TRVJWRVJbJ0hUVFBTJ10gIT0gJ29mZicgPyAnaHR0cHMnIDogJ2h0dHAnLAoJCSRfU0VSVkVSWydIVFRQX0hPU1QnXQoJKTsKfQoKLyoqCiogQHBhcmFtICAkY3VycmVudF9wYXRoCiogQHBhcmFtICAkZmxkCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIGNvbmZpZ19sb2FkaW5nKCRjdXJyZW50X3BhdGgsICRmbGQpCnsKCWlmIChmaWxlX2V4aXN0cygkY3VycmVudF9wYXRoIC4gJGZsZCAuICIuY29uZmlnIikpCgl7CgkJcmVxdWlyZV9vbmNlKCRjdXJyZW50X3BhdGggLiAkZmxkIC4gIi5jb25maWciKTsKCgkJcmV0dXJuIHRydWU7Cgl9CgllY2hvICIhISEhIiAuICRwYXJlbnQgPSBmaXhfZGlybmFtZSgkZmxkKTsKCWlmICgkcGFyZW50ICE9ICIuIiAmJiAhIGVtcHR5KCRwYXJlbnQpKQoJewoJCWNvbmZpZ19sb2FkaW5nKCRjdXJyZW50X3BhdGgsICRwYXJlbnQpOwoJfQoKCXJldHVybiBmYWxzZTsKfQoKLyoqCiogQ2hlY2sgaWYgbWVtb3J5IGlzIGVub3VnaCB0byBwcm9jZXNzIGltYWdlCioKKiBAcGFyYW0gIHN0cmluZyAgJGltZwoqIEBwYXJhbSAgaW50ICAgICAkbWF4X2JyZWVkdGUKKiBAcGFyYW0gIGludCAgICAgJG1heF9ob29ndGUKKgoqIEByZXR1cm4gYm9vbAoqLwpmdW5jdGlvbiBpbWFnZV9jaGVja19tZW1vcnlfdXNhZ2UoJGltZywgJG1heF9icmVlZHRlLCAkbWF4X2hvb2d0ZSkKewoJaWYgKGZpbGVfZXhpc3RzKCRpbWcpKQoJewoJCSRLNjQgPSA2NTUzNjsgLy8gbnVtYmVyIG9mIGJ5dGVzIGluIDY0SwoJCSRtZW1vcnlfdXNhZ2UgPSBtZW1vcnlfZ2V0X3VzYWdlKCk7CgkJJG1lbW9yeV9saW1pdCA9IGFicyhpbnR2YWwoc3RyX3JlcGxhY2UoJ00nLCAnJywgaW5pX2dldCgnbWVtb3J5X2xpbWl0JykpICogMTAyNCAqIDEwMjQpKTsKCQkkaW1hZ2VfcHJvcGVydGllcyA9IGdldGltYWdlc2l6ZSgkaW1nKTsKCQkkaW1hZ2Vfd2lkdGggPSAkaW1hZ2VfcHJvcGVydGllc1swXTsKCQkkaW1hZ2VfaGVpZ2h0ID0gJGltYWdlX3Byb3BlcnRpZXNbMV07CgkJaWYgKGlzc2V0KCRpbWFnZV9wcm9wZXJ0aWVzWydiaXRzJ10pKQoJCQkkaW1hZ2VfYml0cyA9ICRpbWFnZV9wcm9wZXJ0aWVzWydiaXRzJ107CgkJZWxzZQoJCQkkaW1hZ2VfYml0cyA9IDA7CgkJJGltYWdlX21lbW9yeV91c2FnZSA9ICRLNjQgKyAoJGltYWdlX3dpZHRoICogJGltYWdlX2hlaWdodCAqICgkaW1hZ2VfYml0cykgKiAyKTsKCQkkdGh1bWJfbWVtb3J5X3VzYWdlID0gJEs2NCArICgkbWF4X2JyZWVkdGUgKiAkbWF4X2hvb2d0ZSAqICgkaW1hZ2VfYml0cykgKiAyKTsKCQkkbWVtb3J5X25lZWRlZCA9IGludHZhbCgkbWVtb3J5X3VzYWdlICsgJGltYWdlX21lbW9yeV91c2FnZSArICR0aHVtYl9tZW1vcnlfdXNhZ2UpOwoKCQlpZiAoJG1lbW9yeV9uZWVkZWQgPiAkbWVtb3J5X2xpbWl0KQoJCXsKCQkJaW5pX3NldCgnbWVtb3J5X2xpbWl0JywgKGludHZhbCgkbWVtb3J5X25lZWRlZCAvIDEwMjQgLyAxMDI0KSArIDUpIC4gJ00nKTsKCQkJaWYgKGluaV9nZXQoJ21lbW9yeV9saW1pdCcpID09IChpbnR2YWwoJG1lbW9yeV9uZWVkZWQgLyAxMDI0IC8gMTAyNCkgKyA1KSAuICdNJykKCQkJewoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJfQoJZWxzZQoJewoJCXJldHVybiBmYWxzZTsKCX0KfQoKLyoqCiogQ2hlY2sgaXMgc3RyaW5nIGlzIGVuZGVkIHdpdGggbmVlZGxlCioKKiBAcGFyYW0gIHN0cmluZyAgJGhheXN0YWNrCiogQHBhcmFtICBzdHJpbmcgICRuZWVkbGUKKgoqIEByZXR1cm4gIGJvb2wKKi8KZnVuY3Rpb24gZW5kc1dpdGgyKCRoYXlzdGFjaywgJG5lZWRsZSkKewoJcmV0dXJuICRuZWVkbGUgPT09ICIiIHx8IHN1YnN0cigkaGF5c3RhY2ssIC1zdHJsZW4oJG5lZWRsZSkpID09PSAkbmVlZGxlOwp9CgovKioKKiBUT0RPIFJFRkFDVE9SIFRISVMhCioKKiBAcGFyYW0gJHRhcmdldFBhdGgKKiBAcGFyYW0gJHRhcmdldEZpbGUKKiBAcGFyYW0gJG5hbWUKKiBAcGFyYW0gJGN1cnJlbnRfcGF0aAoqIEBwYXJhbSAkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb24KKiBAcGFyYW0gJHJlbGF0aXZlX3BhdGhfZnJvbV9jdXJyZW50X3BvcwoqIEBwYXJhbSAkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kCiogQHBhcmFtICRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX2FwcGVuZAoqIEBwYXJhbSAkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fd2lkdGgKKiBAcGFyYW0gJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX2hlaWdodAoqIEBwYXJhbSAkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fb3B0aW9uCiogQHBhcmFtICRmaXhlZF9pbWFnZV9jcmVhdGlvbgoqIEBwYXJhbSAkZml4ZWRfcGF0aF9mcm9tX2ZpbGVtYW5hZ2VyCiogQHBhcmFtICRmaXhlZF9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmQKKiBAcGFyYW0gJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZAoqIEBwYXJhbSAkZml4ZWRfaW1hZ2VfY3JlYXRpb25fd2lkdGgKKiBAcGFyYW0gJGZpeGVkX2ltYWdlX2NyZWF0aW9uX2hlaWdodAoqIEBwYXJhbSAkZml4ZWRfaW1hZ2VfY3JlYXRpb25fb3B0aW9uCioKKiBAcmV0dXJuIGJvb2wKKi8KZnVuY3Rpb24gbmV3X3RodW1ibmFpbHNfY3JlYXRpb24oJHRhcmdldFBhdGgsICR0YXJnZXRGaWxlLCAkbmFtZSwgJGN1cnJlbnRfcGF0aCwgJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uLCAkcmVsYXRpdmVfcGF0aF9mcm9tX2N1cnJlbnRfcG9zLCAkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kLCAkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19hcHBlbmQsICRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl93aWR0aCwgJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX2hlaWdodCwgJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX29wdGlvbiwgJGZpeGVkX2ltYWdlX2NyZWF0aW9uLCAkZml4ZWRfcGF0aF9mcm9tX2ZpbGVtYW5hZ2VyLCAkZml4ZWRfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kLCAkZml4ZWRfaW1hZ2VfY3JlYXRpb25fdG9fYXBwZW5kLCAkZml4ZWRfaW1hZ2VfY3JlYXRpb25fd2lkdGgsICRmaXhlZF9pbWFnZV9jcmVhdGlvbl9oZWlnaHQsICRmaXhlZF9pbWFnZV9jcmVhdGlvbl9vcHRpb24pCnsKCS8vY3JlYXRlIHJlbGF0aXZlIHRodW1icwoJJGFsbF9vayA9IHRydWU7CglpZiAoJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uKQoJewoJCWZvcmVhY2ggKCRyZWxhdGl2ZV9wYXRoX2Zyb21fY3VycmVudF9wb3MgYXMgJGsgPT4gJHBhdGgpCgkJewoJCQlpZiAoJHBhdGggIT0gIiIgJiYgJHBhdGhbIHN0cmxlbigkcGF0aCkgLSAxIF0gIT0gIi8iKQoJCQl7CgkJCQkkcGF0aCAuPSAiLyI7CgkJCX0KCQkJaWYgKCAhIGZpbGVfZXhpc3RzKCR0YXJnZXRQYXRoIC4gJHBhdGgpKQoJCQl7CgkJCQljcmVhdGVfZm9sZGVyKCR0YXJnZXRQYXRoIC4gJHBhdGgsIGZhbHNlKTsKCQkJfQoJCQkkaW5mbyA9IHBhdGhpbmZvKCRuYW1lKTsKCQkJaWYgKCAhIGVuZHNXaXRoMigkdGFyZ2V0UGF0aCwgJHBhdGgpKQoJCQl7CgkJCQlpZiAoICEgY3JlYXRlX2ltZygkdGFyZ2V0RmlsZSwgJHRhcmdldFBhdGggLiAkcGF0aCAuICRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmRbICRrIF0gLiAkaW5mb1snZmlsZW5hbWUnXSAuICRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX2FwcGVuZFsgJGsgXSAuICIuIiAuICRpbmZvWydleHRlbnNpb24nXSwgJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX3dpZHRoWyAkayBdLCAkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25faGVpZ2h0WyAkayBdLCAkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fb3B0aW9uWyAkayBdKSkKCQkJCXsKCQkJCQkkYWxsX29rID0gZmFsc2U7CgkJCQl9CgkJCX0KCQl9Cgl9CgoJLy9jcmVhdGUgZml4ZWQgdGh1bWJzCglpZiAoJGZpeGVkX2ltYWdlX2NyZWF0aW9uKQoJewoJCWZvcmVhY2ggKCRmaXhlZF9wYXRoX2Zyb21fZmlsZW1hbmFnZXIgYXMgJGsgPT4gJHBhdGgpCgkJewoJCQlpZiAoJHBhdGggIT0gIiIgJiYgJHBhdGhbIHN0cmxlbigkcGF0aCkgLSAxIF0gIT0gIi8iKQoJCQl7CgkJCQkkcGF0aCAuPSAiLyI7CgkJCX0KCQkJJGJhc2VfZGlyID0gJHBhdGggLiBzdWJzdHJfcmVwbGFjZSgkdGFyZ2V0UGF0aCwgJycsIDAsIHN0cmxlbigkY3VycmVudF9wYXRoKSk7CgkJCWlmICggISBmaWxlX2V4aXN0cygkYmFzZV9kaXIpKQoJCQl7CgkJCQljcmVhdGVfZm9sZGVyKCRiYXNlX2RpciwgZmFsc2UpOwoJCQl9CgkJCSRpbmZvID0gcGF0aGluZm8oJG5hbWUpOwoJCQlpZiAoICEgY3JlYXRlX2ltZygkdGFyZ2V0RmlsZSwgJGJhc2VfZGlyIC4gJGZpeGVkX2ltYWdlX2NyZWF0aW9uX25hbWVfdG9fcHJlcGVuZFsgJGsgXSAuICRpbmZvWydmaWxlbmFtZSddIC4gJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZFsgJGsgXSAuICIuIiAuICRpbmZvWydleHRlbnNpb24nXSwgJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3dpZHRoWyAkayBdLCAkZml4ZWRfaW1hZ2VfY3JlYXRpb25faGVpZ2h0WyAkayBdLCAkZml4ZWRfaW1hZ2VfY3JlYXRpb25fb3B0aW9uWyAkayBdKSkKCQkJewoJCQkJJGFsbF9vayA9IGZhbHNlOwoJCQl9CgkJfQoJfQoKCXJldHVybiAkYWxsX29rOwp9CgoKLyoqCiogR2V0IGEgcmVtb3RlIGZpbGUsIHVzaW5nIHdoaWNoZXZlciBtZWNoYW5pc20gaXMgZW5hYmxlZAoqCiogQHBhcmFtICBzdHJpbmcgICR1cmwKKgoqIEByZXR1cm4gIGJvb2x8bWl4ZWR8c3RyaW5nCiovCmZ1bmN0aW9uIGdldF9maWxlX2J5X3VybCgkdXJsKQp7CglpZiAoaW5pX2dldCgnYWxsb3dfdXJsX2ZvcGVuJykpCgl7CgkJcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKCR1cmwpOwoJfQoJaWYgKCAhIGZ1bmN0aW9uX2V4aXN0cygnY3VybF92ZXJzaW9uJykpCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoKCSRjaCA9IGN1cmxfaW5pdCgpOwoKCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIDApOwoJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOwoKCSRkYXRhID0gY3VybF9leGVjKCRjaCk7CgljdXJsX2Nsb3NlKCRjaCk7CgoJcmV0dXJuICRkYXRhOwp9CgovKioKKiB0ZXN0IGZvciBkaXIvZmlsZSB3cml0YWJpbGl0eSBwcm9wZXJseQoqCiogQHBhcmFtICBzdHJpbmcgICRkaXIKKgoqIEByZXR1cm4gIGJvb2wKKi8KZnVuY3Rpb24gaXNfcmVhbGx5X3dyaXRhYmxlKCRkaXIpCnsKCSRkaXIgPSBydHJpbSgkZGlyLCAnLycpOwoJLy8gbGludXgsIHNhZmUgb2ZmCglpZiAoRElSRUNUT1JZX1NFUEFSQVRPUiA9PSAnLycgJiYgQGluaV9nZXQoInNhZmVfbW9kZSIpID09IGZhbHNlKQoJewoJCXJldHVybiBpc193cml0YWJsZSgkZGlyKTsKCX0KCgkvLyBXaW5kb3dzLCBzYWZlIE9OLiAoaGF2ZSB0byB3cml0ZSBhIGZpbGUgOlMpCglpZiAoaXNfZGlyKCRkaXIpKQoJewoJCSRkaXIgPSAkZGlyIC4gJy8nIC4gbWQ1KG10X3JhbmQoMSwgMTAwMCkgLiBtdF9yYW5kKDEsIDEwMDApKTsKCgkJaWYgKCgkZnAgPSBAZm9wZW4oJGRpciwgJ2FiJykpID09PSBmYWxzZSkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWZjbG9zZSgkZnApOwoJCUBjaG1vZCgkZGlyLCAwNzY2KTsKCQlAdW5saW5rKCRkaXIpOwoKCQlyZXR1cm4gdHJ1ZTsKCX0KCWVsc2VpZiAoICEgaXNfZmlsZSgkZGlyKSB8fCAoJGZwID0gQGZvcGVuKCRkaXIsICdhYicpKSA9PT0gZmFsc2UpCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoKCWZjbG9zZSgkZnApOwoKCXJldHVybiB0cnVlOwp9CgovKioKKiBDaGVjayBpZiBhIGZ1bmN0aW9uIGlzIGNhbGxhYmxlLgoqIFNvbWUgc2VydmVycyBkaXNhYmxlIGNvcHkscmVuYW1lIGV0Yy4KKgoqIEBwYXJtICBzdHJpbmcgICRuYW1lCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIGlzX2Z1bmN0aW9uX2NhbGxhYmxlKCRuYW1lKQp7CglpZiAoZnVuY3Rpb25fZXhpc3RzKCRuYW1lKSA9PT0gZmFsc2UpCgl7CgkJcmV0dXJuIGZhbHNlOwoJfQoJJGRpc2FibGVkID0gZXhwbG9kZSgnLCcsIGluaV9nZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJykpOwoKCXJldHVybiAhIGluX2FycmF5KCRuYW1lLCAkZGlzYWJsZWQpOwp9CgovKioKKiByZWN1cnNpdmx5IGNvcGllcyBldmVyeXRoaW5nCioKKiBAcGFyYW0gIHN0cmluZyAgJHNvdXJjZQoqIEBwYXJhbSAgc3RyaW5nICAkZGVzdGluYXRpb24KKiBAcGFyYW0gIGJvb2wgICAgJGlzX3JlYwoqLwpmdW5jdGlvbiByY29weSgkc291cmNlLCAkZGVzdGluYXRpb24sICRpc19yZWMgPSBmYWxzZSkKewoJaWYgKGlzX2Rpcigkc291cmNlKSkKCXsKCQlpZiAoJGlzX3JlYyA9PT0gZmFsc2UpCgkJewoJCQkkcGluZm8gPSBwYXRoaW5mbygkc291cmNlKTsKCQkJJGRlc3RpbmF0aW9uID0gcnRyaW0oJGRlc3RpbmF0aW9uLCAnLycpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRwaW5mb1snYmFzZW5hbWUnXTsKCQl9CgkJaWYgKGlzX2RpcigkZGVzdGluYXRpb24pID09PSBmYWxzZSkKCQl7CgkJCW1rZGlyKCRkZXN0aW5hdGlvbiwgMDc2NiwgdHJ1ZSk7CgkJfQoKCQkkZmlsZXMgPSBzY2FuZGlyKCRzb3VyY2UpOwoJCWZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkKCQl7CgkJCWlmICgkZmlsZSAhPSAiLiIgJiYgJGZpbGUgIT0gIi4uIikKCQkJewoJCQkJcmNvcHkoJHNvdXJjZSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgcnRyaW0oJGRlc3RpbmF0aW9uLCAnLycpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCB0cnVlKTsKCQkJfQoJCX0KCX0KCWVsc2UKCXsKCQlpZiAoZmlsZV9leGlzdHMoJHNvdXJjZSkpCgkJewoJCQlpZiAoaXNfZGlyKCRkZXN0aW5hdGlvbikgPT09IHRydWUpCgkJCXsKCQkJCSRwaW5mbyA9IHBhdGhpbmZvKCRzb3VyY2UpOwoJCQkJJGRlc3QyID0gcnRyaW0oJGRlc3RpbmF0aW9uLCAnLycpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRwaW5mb1snYmFzZW5hbWUnXTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSRkZXN0MiA9ICRkZXN0aW5hdGlvbjsKCQkJfQoKCQkJY29weSgkc291cmNlLCAkZGVzdDIpOwoJCX0KCX0KfQoKCgoKLyoqCiogcmVjdXJzaXZseSByZW5hbWVzIGV2ZXJ5dGhpbmcKKgoqIEkga25vdyBjb3B5IGFuZCByZW5hbWUgY291bGQgYmUgZG9uZSB3aXRoIGp1c3Qgb25lIGZ1bmN0aW9uCiogYnV0IGkgc3BsaXQgdGhlIDIgYmVjYXVzZSBzb21ldGltZXMgcmVuYW1lIGZhaWxzIG9uIHdpbmRvd3MKKiBOZWVkIG1vcmUgZmVlZGJhY2sgZnJvbSB1c2VycyBhbmQgcmVmYWN0b3IgaWYgbmVlZGVkCioKKiBAcGFyYW0gIHN0cmluZyAgJHNvdXJjZQoqIEBwYXJhbSAgc3RyaW5nICAkZGVzdGluYXRpb24KKiBAcGFyYW0gIGJvb2wgICAgJGlzX3JlYwoqLwpmdW5jdGlvbiBycmVuYW1lKCRzb3VyY2UsICRkZXN0aW5hdGlvbiwgJGlzX3JlYyA9IGZhbHNlKQp7CglpZiAoaXNfZGlyKCRzb3VyY2UpKQoJewoJCWlmICgkaXNfcmVjID09PSBmYWxzZSkKCQl7CgkJCSRwaW5mbyA9IHBhdGhpbmZvKCRzb3VyY2UpOwoJCQkkZGVzdGluYXRpb24gPSBydHJpbSgkZGVzdGluYXRpb24sICcvJykgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHBpbmZvWydiYXNlbmFtZSddOwoJCX0KCQlpZiAoaXNfZGlyKCRkZXN0aW5hdGlvbikgPT09IGZhbHNlKQoJCXsKCQkJbWtkaXIoJGRlc3RpbmF0aW9uLCAwNzY2LCB0cnVlKTsKCQl9CgoJCSRmaWxlcyA9IHNjYW5kaXIoJHNvdXJjZSk7CgkJZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKQoJCXsKCQkJaWYgKCRmaWxlICE9ICIuIiAmJiAkZmlsZSAhPSAiLi4iKQoJCQl7CgkJCQlycmVuYW1lKCRzb3VyY2UgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUsIHJ0cmltKCRkZXN0aW5hdGlvbiwgJy8nKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgdHJ1ZSk7CgkJCX0KCQl9Cgl9CgllbHNlCgl7CgkJaWYgKGZpbGVfZXhpc3RzKCRzb3VyY2UpKQoJCXsKCQkJaWYgKGlzX2RpcigkZGVzdGluYXRpb24pID09PSB0cnVlKQoJCQl7CgkJCQkkcGluZm8gPSBwYXRoaW5mbygkc291cmNlKTsKCQkJCSRkZXN0MiA9IHJ0cmltKCRkZXN0aW5hdGlvbiwgJy8nKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkcGluZm9bJ2Jhc2VuYW1lJ107CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkZGVzdDIgPSAkZGVzdGluYXRpb247CgkJCX0KCgkJCXJlbmFtZSgkc291cmNlLCAkZGVzdDIpOwoJCX0KCX0KfQoKLy8gT24gd2luZG93cyByZW5hbWUgbGVhdmVzIGZvbGRlcnMgc29tZXRpbWUKLy8gVGhpcyB3aWxsIGNsZWFyIGxlZnRvdmVyIGZvbGRlcnMKLy8gQWZ0ZXIgbW9yZSBmZWVkYmFjayB3aWxsIG1lcmdlIGl0IHdpdGggcnJlbmFtZQpmdW5jdGlvbiBycmVuYW1lX2FmdGVyX2NsZWFuZXIoJHNvdXJjZSkKewoJJGZpbGVzID0gc2NhbmRpcigkc291cmNlKTsKCglmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpCgl7CgkJaWYgKCRmaWxlICE9ICIuIiAmJiAkZmlsZSAhPSAiLi4iKQoJCXsKCQkJaWYgKGlzX2Rpcigkc291cmNlIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKSkKCQkJewoJCQkJcnJlbmFtZV9hZnRlcl9jbGVhbmVyKCRzb3VyY2UgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJdW5saW5rKCRzb3VyY2UgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUpOwoJCQl9CgkJfQoJfQoKCXJldHVybiBybWRpcigkc291cmNlKTsKfQoKLyoqCiogUmVjdXJzaXZlIGNobW9kCiogQHBhcmFtICBzdHJpbmcgICRzb3VyY2UKKiBAcGFyYW0gIGludCAgICAgJG1vZGUKKiBAcGFyYW0gIHN0cmluZyAgJHJlY19vcHRpb24KKiBAcGFyYW0gIGJvb2wgICAgJGlzX3JlYwoqLwpmdW5jdGlvbiByY2htb2QoJHNvdXJjZSwgJG1vZGUsICRyZWNfb3B0aW9uID0gIm5vbmUiLCAkaXNfcmVjID0gZmFsc2UpCnsKCWlmICgkcmVjX29wdGlvbiA9PSAibm9uZSIpCgl7CgkJY2htb2QoJHNvdXJjZSwgJG1vZGUpOwoJfQoJZWxzZQoJewoJCWlmICgkaXNfcmVjID09PSBmYWxzZSkKCQl7CgkJCWNobW9kKCRzb3VyY2UsICRtb2RlKTsKCQl9CgoJCSRmaWxlcyA9IHNjYW5kaXIoJHNvdXJjZSk7CgoJCWZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkKCQl7CgkJCWlmICgkZmlsZSAhPSAiLiIgJiYgJGZpbGUgIT0gIi4uIikKCQkJewoJCQkJaWYgKGlzX2Rpcigkc291cmNlIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKSkKCQkJCXsKCQkJCQlpZiAoJHJlY19vcHRpb24gPT0gImZvbGRlcnMiIHx8ICRyZWNfb3B0aW9uID09ICJib3RoIikKCQkJCQl7CgkJCQkJCWNobW9kKCRzb3VyY2UgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUsICRtb2RlKTsKCQkJCQl9CgkJCQkJcmNobW9kKCRzb3VyY2UgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUsICRtb2RlLCAkcmVjX29wdGlvbiwgdHJ1ZSk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJaWYgKCRyZWNfb3B0aW9uID09ICJmaWxlcyIgfHwgJHJlY19vcHRpb24gPT0gImJvdGgiKQoJCQkJCXsKCQkJCQkJY2htb2QoJHNvdXJjZSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJG1vZGUpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KfQoKLyoqCiogQ2hlY2sgaWYgY2htb2QgaXMgdmFsaWQKKgoqIEBwYXJhbSAgJHBlcm0KKiBAcGFyYW0gICR2YWwKKgoqIEByZXR1cm4gIGJvb2wKKi8KZnVuY3Rpb24gY2htb2RfbG9naWNfaGVscGVyKCRwZXJtLCAkdmFsKQp7CgkkdmFsaWQgPSBhcnJheSgKCQkxID0+IGFycmF5KCAxLCAzLCA1LCA3ICksCgkJMiA9PiBhcnJheSggMiwgMywgNiwgNyApLAoJCTQgPT4gYXJyYXkoIDQsIDUsIDYsIDcgKQoJKTsKCglpZiAoaW5fYXJyYXkoJHBlcm0sICR2YWxpZFsgJHZhbCBdKSkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCWVsc2UKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KCi8qKgoqIEBwYXJhbSAgc3RyaW5nICAkaW5wdXQKKiBAcGFyYW0gIGJvb2wgICAgJHRyYWNlCiogQHBhcmFtICBib29sICAgICRoYWx0CiovCmZ1bmN0aW9uIGRlYnVnZ2VyKCRpbnB1dCwgJHRyYWNlID0gZmFsc2UsICRoYWx0ID0gZmFsc2UpCnsKCW9iX3N0YXJ0KCk7CgoJZWNobyAiPGJyPi0tLS0tIERFQlVHIERVTVAgLS0tLS0iOwoJZWNobyAiPHByZT4iOwoJdmFyX2R1bXAoJGlucHV0KTsKCWVjaG8gIjwvcHJlPiI7CgoJaWYgKCR0cmFjZSkKCXsKCQlpZiAoaXNfcGhwKCc1LjMuNicpKQoJCXsKCQkJJGRlYnVnID0gZGVidWdfYmFja3RyYWNlKERFQlVHX0JBQ0tUUkFDRV9JR05PUkVfQVJHUyk7CgkJfQoJCWVsc2UKCQl7CgkJCSRkZWJ1ZyA9IGRlYnVnX2JhY2t0cmFjZShmYWxzZSk7CgkJfQoKCQllY2hvICI8YnI+LS0tLS1TVEFDSyBUUkFDRS0tLS0tIjsKCQllY2hvICI8cHJlPiI7CgkJdmFyX2R1bXAoJGRlYnVnKTsKCQllY2hvICI8L3ByZT4iOwoJfQoKCWVjaG8gIjwvcHJlPiI7CgllY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+IjsKCgkkcmV0ID0gb2JfZ2V0X2NvbnRlbnRzKCk7CglvYl9lbmRfY2xlYW4oKTsKCgllY2hvICRyZXQ7CgoJaWYgKCRoYWx0ID09IHRydWUpCgl7CgkJZXhpdCgpOwoJfQp9CgovKioKKiBAcGFyYW0gIHN0cmluZyAgJHZlcnNpb24KKgoqIEByZXR1cm4gIGJvb2wKKi8KZnVuY3Rpb24gaXNfcGhwKCR2ZXJzaW9uID0gJzUuMC4wJykKewoJc3RhdGljICRwaHBWZXI7CgkkdmVyc2lvbiA9IChzdHJpbmcpICR2ZXJzaW9uOwoKCWlmICggISBpc3NldCgkcGhwVmVyWyAkdmVyc2lvbiBdKSkKCXsKCQkkcGhwVmVyWyAkdmVyc2lvbiBdID0gKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJHZlcnNpb24pIDwgMCkgPyBmYWxzZSA6IHRydWU7Cgl9CgoJcmV0dXJuICRwaHBWZXJbICR2ZXJzaW9uIF07Cn0KCi8qKgoqIFJldHVybiB0aGUgY2FsbGVyIGxvY2F0aW9uIGlmIHNldCBpbiBjb25maWcucGhwCiogQHBhcmFtICBzdHJpbmcgICR2ZXJzaW9uCioKKiBAcmV0dXJuICBib29sCiovCmZ1bmN0aW9uIEFkZEVycm9yTG9jYXRpb24oKQp7CglpZiAoZGVmaW5lZCgnREVCVUdfRVJST1JfTUVTU0FHRScpIGFuZCBERUJVR19FUlJPUl9NRVNTQUdFKSB7CgkJJHBpbGU9ZGVidWdfYmFja3RyYWNlKCk7CgkJcmV0dXJuICIgKEAiLiRwaWxlWzBdWyJmaWxlIl0uIiMiLiRwaWxlWzBdWyJsaW5lIl0uIikiOwoJfQoJcmV0dXJuICIiOwp9Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/include.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIGVuY29kZVVSTCxzaG93X2FuaW1hdGlvbixoaWRlX2FuaW1hdGlvbixhcHBseSxhcHBseV9ub25lLGFwcGx5X2ltZyxhcHBseV9hbnksYXBwbHlfdmlkZW8sYXBwbHlfbGluayxhcHBseV9maWxlX3JlbmFtZSxhcHBseV9maWxlX2R1cGxpY2F0ZSxhcHBseV9mb2xkZXJfcmVuYW1lOyFmdW5jdGlvbihlLGEsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oYSl7c2hvd19hbmltYXRpb24oKTt2YXIgdD1uZXcgSW1hZ2U7dC5zcmM9YSxlKHQpLm9uKCJsb2FkIixmdW5jdGlvbigpe2hpZGVfYW5pbWF0aW9uKCl9KX1mdW5jdGlvbiBpKCl7ZSgiI3RleHRmaWxlX2NyZWF0ZV9hcmVhIikucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCk7dmFyIGE9ZSgiI2xhbmdfZmlsZW5hbWUiKS52YWwoKSsnOiA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImNyZWF0ZV90ZXh0X2ZpbGVfbmFtZSIgc3R5bGU9Im1pbi1oZWlnaHQ6MzBweCI+PGJyPjxocj48dGV4dGFyZWEgaWQ9InRleHRmaWxlX2NyZWF0ZV9hcmVhIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTUwcHg7Ij48L3RleHRhcmVhPic7Ym9vdGJveC5kaWFsb2coYSxbe2xhYmVsOmUoIiNjYW5jZWwiKS52YWwoKSwiY2xhc3MiOiJidG4ifSx7bGFiZWw6ZSgiI29rIikudmFsKCksImNsYXNzIjoiYnRuLWludmVyc2UiLGNhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9ZSgiI2NyZWF0ZV90ZXh0X2ZpbGVfbmFtZSIpLnZhbCgpLHQ9ZSgiI3RleHRmaWxlX2NyZWF0ZV9hcmVhIikudmFsKCk7aWYobnVsbCE9PWEpe2E9eShhKTt2YXIgbj1lKCIjc3ViX2ZvbGRlciIpLnZhbCgpK2UoIiNmbGRyX3ZhbHVlIikudmFsKCk7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj1jcmVhdGVfZmlsZSIsZGF0YTp7cGF0aDpuLG5hbWU6YSxuZXdfY29udGVudDp0fX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWEmJmJvb3Rib3guYWxlcnQoYSxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjcmVmcmVzaCIpLmF0dHIoImhyZWYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9LDUwMCl9KX0pfX19XSx7aGVhZGVyOmUoIiNsYW5nX25ld19maWxlIikudmFsKCl9KX1mdW5jdGlvbiByKGEpe2UoIiN0ZXh0ZmlsZV9lZGl0X2FyZWEiKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1vdmUoKTt2YXIgdD1hLmZpbmQoIi5yZW5hbWUtZmlsZS1wYXRocyIpLmF0dHIoImRhdGEtcGF0aCIpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Z2V0X2ZpbGUmc3ViX2FjdGlvbj1lZGl0JnByZXZpZXdfbW9kZT10ZXh0IixkYXRhOntwYXRoOnR9fSkuZG9uZShmdW5jdGlvbihuKXtib290Ym94LmRpYWxvZyhuLFt7bGFiZWw6ZSgiI2NhbmNlbCIpLnZhbCgpLCJjbGFzcyI6ImJ0biJ9LHtsYWJlbDplKCIjb2siKS52YWwoKSwiY2xhc3MiOiJidG4taW52ZXJzZSIsY2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT1lKCIjdGV4dGZpbGVfZWRpdF9hcmVhIikudmFsKCk7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj1zYXZlX3RleHRfZmlsZSIsZGF0YTp7cGF0aDp0LG5ld19jb250ZW50OmF9fSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZSYmYm9vdGJveC5hbGVydChlKX0pfX1dLHtoZWFkZXI6YS5maW5kKCIubmFtZV9kb3dubG9hZCIpLnZhbCgpfSl9KX1mdW5jdGlvbiBvKCl7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1nZXRfbGFuZyIsZGF0YTp7fX0pLmRvbmUoZnVuY3Rpb24oYSl7Ym9vdGJveC5kaWFsb2coYSxbe2xhYmVsOmUoIiNjYW5jZWwiKS52YWwoKSwiY2xhc3MiOiJidG4ifSx7bGFiZWw6ZSgiI29rIikudmFsKCksImNsYXNzIjoiYnRuLWludmVyc2UiLGNhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9ZSgiI25ld19sYW5nX3NlbGVjdCIpLnZhbCgpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Y2hhbmdlX2xhbmciLGRhdGE6e2Nob29zZW5fbGFuZzphfX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWE/Ym9vdGJveC5hbGVydChhKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSw1MDApfSl9fV0se2hlYWRlcjplKCIjbGFuZ19sYW5nX2NoYW5nZSIpLnZhbCgpfSl9KX1mdW5jdGlvbiBsKGEpe2UoIiNmaWxlc19wZXJtaXNzaW9uX3N0YXJ0IikucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCk7dmFyIHQ7dD1hLmZpbmQoIi5yZW5hbWUtZmlsZS1wYXRocyIpLmF0dHIoYS5oYXNDbGFzcygiZGlyZWN0b3J5Iik/ImRhdGEtcGF0aCI6ImRhdGEtcGF0aCIpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Y2htb2QiLGRhdGE6e3BhdGg6dH19KS5kb25lKGZ1bmN0aW9uKGEpe2Jvb3Rib3guZGlhbG9nKGEsW3tsYWJlbDplKCIjY2FuY2VsIikudmFsKCksImNsYXNzIjoiYnRuIn0se2xhYmVsOmUoIiNvayIpLnZhbCgpLCJjbGFzcyI6ImJ0bi1pbnZlcnNlIixjYWxsYmFjazpmdW5jdGlvbigpe3ZhciBhPWUoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpLnZhbCgpO2lmKCIiIT1hJiYidW5kZWZpbmVkIiE9dHlwZW9mIGEpe3ZhciBuPWUoIiNjaG1vZF9mb3JtIGlucHV0W25hbWU9YXBwbHlfcmVjdXJzaXZlXTpjaGVja2VkIikudmFsKCk7KCIiPT1ufHwidW5kZWZpbmVkIj09dHlwZW9mIG4pJiYobj0ibm9uZSIpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249Y2htb2QiLGRhdGE6e3BhdGg6dCxuZXdfbW9kZTphLGlzX3JlY3Vyc2l2ZTpufX0pLmRvbmUoZnVuY3Rpb24oZSl7IiIhPWUmJmJvb3Rib3guYWxlcnQoZSl9KX19fV0se2hlYWRlcjplKCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKX0pfSl9ZnVuY3Rpb24gYyhhKXt2YXIgdD1bXTtpZih0LnVzZXI9MCx0Lmdyb3VwPTAsdC5hbGw9MCwidW5kZWZpbmVkIiE9dHlwZW9mIGEmJjE9PWEpe3ZhciBuPWUoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpLnZhbCgpO3QudXNlcj1uLnN1YnN0cigwLDEpLHQuZ3JvdXA9bi5zdWJzdHIoMSwxKSx0LmFsbD1uLnN1YnN0cigyLDEpLGUuZWFjaCh0LGZ1bmN0aW9uKGEpeygiIj09dFthXXx8MD09ZS5pc051bWVyaWModFthXSl8fHBhcnNlSW50KHRbYV0pPDB8fHBhcnNlSW50KHRbYV0pPjcpJiYodFthXT0iMCIpfSksZSgiI2NobW9kX2Zvcm0gaW5wdXQ6Y2hlY2tib3giKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksbj1lKHRoaXMpLmF0dHIoImRhdGEtdmFsdWUiKTtzKHRbYV0sbik/ZSh0aGlzKS5wcm9wKCJjaGVja2VkIiwhMCk6ZSh0aGlzKS5wcm9wKCJjaGVja2VkIiwhMSl9KX1lbHNlIGUoIiNjaG1vZF9mb3JtIGlucHV0OmNoZWNrYm94OmNoZWNrZWQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksbj1lKHRoaXMpLmF0dHIoImRhdGEtdmFsdWUiKTt0W2FdPXBhcnNlSW50KHRbYV0pK3BhcnNlSW50KG4pfSksZSgiI2NobW9kX2Zvcm0gI2NobW9kX3ZhbHVlIikudmFsKHQudXNlci50b1N0cmluZygpK3QuZ3JvdXAudG9TdHJpbmcoKSt0LmFsbC50b1N0cmluZygpKX1mdW5jdGlvbiBzKGEsdCl7dmFyIG49W107cmV0dXJuIG5bMV09WzEsMyw1LDddLG5bMl09WzIsMyw2LDddLG5bNF09WzQsNSw2LDddLGE9cGFyc2VJbnQoYSksdD1wYXJzZUludCh0KSwtMSE9ZS5pbkFycmF5KGEsblt0XSl9ZnVuY3Rpb24gZCgpe2Jvb3Rib3guY29uZmlybShlKCIjbGFuZ19jbGVhcl9jbGlwYm9hcmRfY29uZmlybSIpLnZhbCgpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbihhKXsxPT1hJiZlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNsZWFyX2NsaXBib2FyZCIsZGF0YTp7fX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWE/Ym9vdGJveC5hbGVydChhKTplKCIjY2xpcGJvYXJkIikudmFsKCIwIiksdighMSl9KX0pfWZ1bmN0aW9uIHAoYSx0KXtpZigiY29weSI9PXR8fCJjdXQiPT10KXt2YXIgbjtuPWEuZmluZCgiLnJlbmFtZS1maWxlLXBhdGhzIikuYXR0cihhLmhhc0NsYXNzKCJkaXJlY3RvcnkiKT8iZGF0YS1wYXRoIjoiZGF0YS1wYXRoIiksZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jb3B5X2N1dCIsZGF0YTp7cGF0aDpuLHN1Yl9hY3Rpb246dH19KS5kb25lKGZ1bmN0aW9uKGEpeyIiIT1hP2Jvb3Rib3guYWxlcnQoYSk6KGUoIiNjbGlwYm9hcmQiKS52YWwoIjEiKSx2KCEwKSl9KX19ZnVuY3Rpb24gZihhKXtib290Ym94LmNvbmZpcm0oZSgiI2xhbmdfcGFzdGVfY29uZmlybSIpLnZhbCgpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbih0KXtpZigxPT10KXt2YXIgbjtuPSJ1bmRlZmluZWQiIT10eXBlb2YgYT9hLmZpbmQoIi5yZW5hbWUtZm9sZGVyIikuYXR0cigiZGF0YS1wYXRoIik6ZSgiI3N1Yl9mb2xkZXIiKS52YWwoKStlKCIjZmxkcl92YWx1ZSIpLnZhbCgpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOm59fSkuZG9uZShmdW5jdGlvbihhKXsiIiE9YT9ib290Ym94LmFsZXJ0KGEpOihlKCIjY2xpcGJvYXJkIikudmFsKCIwIiksdighMSksc2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWUoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sMzAwKSl9KX19KX1mdW5jdGlvbiB1KGEsdCl7dmFyIG47bj1hLmZpbmQoYS5oYXNDbGFzcygiZGlyZWN0b3J5Iik/Ii5yZW5hbWUtZm9sZGVyIjoiLnJlbmFtZS1maWxlIik7dmFyIGk9bi5hdHRyKCJkYXRhLXBhdGgiKTthLnBhcmVudCgpLmhpZGUoMTAwKSxlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNvcHlfY3V0IixkYXRhOntwYXRoOmksc3ViX2FjdGlvbjoiY3V0In19KS5kb25lKGZ1bmN0aW9uKG4pe2lmKCIiIT1uKWJvb3Rib3guYWxlcnQobik7ZWxzZXt2YXIgaTtpPSJ1bmRlZmluZWQiIT10eXBlb2YgdD90Lmhhc0NsYXNzKCJiYWNrLWRpcmVjdG9yeSIpP3QuZmluZCgiLnBhdGgiKS52YWwoKTp0LmZpbmQoIi5yZW5hbWUtZm9sZGVyIikuYXR0cigiZGF0YS1wYXRoIik6ZSgiI3N1Yl9mb2xkZXIiKS52YWwoKStlKCIjZmxkcl92YWx1ZSIpLnZhbCgpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOml9fSkuZG9uZShmdW5jdGlvbih0KXsiIiE9dD8oYm9vdGJveC5hbGVydCh0KSxhLnBhcmVudCgpLnNob3coMTAwKSk6KGUoIiNjbGlwYm9hcmQiKS52YWwoIjAiKSx2KCExKSxhLnBhcmVudCgpLnJlbW92ZSgpKX0pfX0pLmVycm9yKGZ1bmN0aW9uKCl7YS5wYXJlbnQoKS5zaG93KDEwMCl9KX1mdW5jdGlvbiB2KGEpezE9PWE/ZSgiLnBhc3RlLWhlcmUtYnRuLCAuY2xlYXItY2xpcGJvYXJkLWJ0biIpLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpOmUoIi5wYXN0ZS1oZXJlLWJ0biwgLmNsZWFyLWNsaXBib2FyZC1idG4iKS5hZGRDbGFzcygiZGlzYWJsZWQiKX1mdW5jdGlvbiBtKHQpe3ZhciBuPWUoIi5icmVhZGNydW1iIikud2lkdGgoKSt0LGk9ZSgiI3ZpZXciKSxyPWUoIiNoZWxwIik7aWYoZSgiLnVwbG9hZGVyIikuY3NzKCJ3aWR0aCIsbiksaS52YWwoKT4wKXtpZigxPT1pLnZhbCgpKWUoInVsLmdyaWQgbGksIHVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIsIjEwMCUiKTtlbHNle3ZhciBvPU1hdGguZmxvb3Iobi8zODApOzA9PW8mJihvPTEsZSgiaDQiKS5jc3MoImZvbnQtc2l6ZSIsMTIpKSxuPU1hdGguZmxvb3Iobi9vLTMpLGUoInVsLmdyaWQgbGksIHVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIsbil9ci5oaWRlKCl9ZWxzZSBhLnRvdWNoJiZyLnNob3coKX1mdW5jdGlvbiBoKCl7dmFyIGE9ZSh0aGlzKTswPT1lKCIjdmlldyIpLnZhbCgpJiYoMT09YS5hdHRyKCJ0b2dnbGUiKT8oYS5hdHRyKCJ0b2dnbGUiLDApLGEuYW5pbWF0ZSh7dG9wOiIwcHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSkpOihhLmF0dHIoInRvZ2dsZSIsMSksYS5hbmltYXRlKHt0b3A6Ii0zMHB4In0se3F1ZXVlOiExLGR1cmF0aW9uOjMwMH0pKSl9ZnVuY3Rpb24gZyhlKXt2YXIgYT1uZXcgUmVnRXhwKCIoPzpbPyZdfCYpIitlKyI9KFteJl0rKSIsImkiKSx0PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2goYSk7cmV0dXJuIHQmJnQubGVuZ3RoPjE/dFsxXTpudWxsfWZ1bmN0aW9uIF8oKXsxPT1lKCIjcG9wdXAiKS52YWwoKT93aW5kb3cuY2xvc2UoKTooImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC4kKCIubW9kYWwiKS5tb2RhbCYmcGFyZW50LiQoIi5tb2RhbCIpLm1vZGFsKCJoaWRlIiksInVuZGVmaW5lZCIhPXR5cGVvZiBwYXJlbnQualF1ZXJ5JiZwYXJlbnQualF1ZXJ5PyJmdW5jdGlvbiI9PXR5cGVvZiBwYXJlbnQualF1ZXJ5LmZhbmN5Ym94JiZwYXJlbnQualF1ZXJ5LmZhbmN5Ym94LmNsb3NlKCk6ImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC4kLmZhbmN5Ym94JiZwYXJlbnQuJC5mYW5jeWJveC5jbG9zZSgpKX1mdW5jdGlvbiBiKGUpe2Zvcih2YXIgZSxhPVsvW1wzMDAtXDMwNl0vZywvW1wzNDAtXDM0Nl0vZywvW1wzMTAtXDMxM10vZywvW1wzNTAtXDM1M10vZywvW1wzMTQtXDMxN10vZywvW1wzNTQtXDM1N10vZywvW1wzMjItXDMzMF0vZywvW1wzNjItXDM3MF0vZywvW1wzMzEtXDMzNF0vZywvW1wzNzEtXDM3NF0vZywvW1wzMjFdL2csL1tcMzYxXS9nLC9bXDMwN10vZywvW1wzNDddL2ddLHQ9WyJBIiwiYSIsIkUiLCJlIiwiSSIsImkiLCJPIiwibyIsIlUiLCJ1IiwiTiIsIm4iLCJDIiwiYyJdLG49MDtuPGEubGVuZ3RoO24rKyllPWUucmVwbGFjZShhW25dLHRbbl0pO3JldHVybiBlfWZ1bmN0aW9uIHkoYSl7cmV0dXJuIG51bGwhPWE/KCJ0cnVlIj09ZSgiI3RyYW5zbGl0ZXJhdGlvbiIpLnZhbCgpJiYoYT1iKGEpLGE9YS5yZXBsYWNlKC9bXkEtWmEtejAtOVwuXC1cW1xdIF9dKy9nLCIiKSksInRydWUiPT1lKCIjY29udmVydF9zcGFjZXMiKS52YWwoKSYmKGE9YS5yZXBsYWNlKC8gL2csZSgiI3JlcGxhY2Vfd2l0aCIpLnZhbCgpKSksInRydWUiPT1lKCIjbG93ZXJfY2FzZSIpLnZhbCgpJiYoYT1hLnRvTG93ZXJDYXNlKCkpLGE9YS5yZXBsYWNlKCciJywiIiksYT1hLnJlcGxhY2UoIiciLCIiKSxhPWEucmVwbGFjZSgiLyIsIiIpLGE9YS5yZXBsYWNlKCJcXCIsIiIpLGE9YS5yZXBsYWNlKC88XC8/W14+XSsoPnwkKS9nLCIiKSxlLnRyaW0oYSkpOm51bGx9ZnVuY3Rpb24gdyhhLHQsbixpLHIpe251bGwhPT1uJiYobj15KG4pLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249IithLGRhdGE6e3BhdGg6dCxuYW1lOm4ucmVwbGFjZSgiLyIsIiIpfX0pLmRvbmUoZnVuY3Rpb24oZSl7cmV0dXJuIiIhPWU/KGJvb3Rib3guYWxlcnQoZSksITEpOigiIiE9ciYmd2luZG93W3JdKGksbiksITApfSkpfWZ1bmN0aW9uIHgoYSx0KXt2YXIgbj1lKCJsaS5kaXIiLCJ1bC5ncmlkIikuZmlsdGVyKCI6dmlzaWJsZSIpLGk9ZSgibGkuZmlsZSIsInVsLmdyaWQiKS5maWx0ZXIoIjp2aXNpYmxlIikscj1bXSxvPVtdLGw9W10sYz1bXTtuLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpLG49YS5maW5kKHQpLnZhbCgpO2lmKGUuaXNOdW1lcmljKG4pKWZvcihuPXBhcnNlRmxvYXQobik7InVuZGVmaW5lZCIhPXR5cGVvZiByW25dJiZyW25dOyluPXBhcnNlRmxvYXQocGFyc2VGbG9hdChuKStwYXJzZUZsb2F0KC4wMDEpKTtlbHNlIG49bisiYSIrYS5maW5kKCJoNCBhIikuYXR0cigiZGF0YS1maWxlIik7cltuXT1hLmh0bWwoKSxvLnB1c2gobil9KSxpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpLG49YS5maW5kKHQpLnZhbCgpO2lmKGUuaXNOdW1lcmljKG4pKWZvcihuPXBhcnNlRmxvYXQobik7InVuZGVmaW5lZCIhPXR5cGVvZiBsW25dJiZsW25dOyluPXBhcnNlRmxvYXQocGFyc2VGbG9hdChuKStwYXJzZUZsb2F0KC4wMDEpKTtlbHNlIG49bisiYSIrYS5maW5kKCJoNCBhIikuYXR0cigiZGF0YS1maWxlIik7bFtuXT1hLmh0bWwoKSxjLnB1c2gobil9KSxlLmlzTnVtZXJpYyhvWzBdKT9vLnNvcnQoZnVuY3Rpb24oZSxhKXtyZXR1cm4gcGFyc2VGbG9hdChlKS1wYXJzZUZsb2F0KGEpfSk6by5zb3J0KCksZS5pc051bWVyaWMoY1swXSk/Yy5zb3J0KGZ1bmN0aW9uKGUsYSl7cmV0dXJuIHBhcnNlRmxvYXQoZSktcGFyc2VGbG9hdChhKX0pOmMuc29ydCgpLGEmJihvLnJldmVyc2UoKSxjLnJldmVyc2UoKSksbi5lYWNoKGZ1bmN0aW9uKGEpe3ZhciB0PWUodGhpcyk7dC5odG1sKHJbb1thXV0pfSksaS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciB0PWUodGhpcyk7dC5odG1sKGxbY1thXV0pfSl9ZnVuY3Rpb24gayhlLGEpe3JldHVybiBmZWF0aGVyRWRpdG9yLmxhdW5jaCh7aW1hZ2U6ZSx1cmw6YX0pLCExfWZ1bmN0aW9uIEMoKXtlKCIubGF6eS1sb2FkZWQiKS5sYXp5bG9hZCgpfXZhciBqPSI5LjEwLjEiLFQ9ITAsST0wLFM9ZnVuY3Rpb24oKXt2YXIgZT0wO3JldHVybiBmdW5jdGlvbihhLHQpe2NsZWFyVGltZW91dChlKSxlPXNldFRpbWVvdXQoYSx0KX19KCksTz1mdW5jdGlvbihhKXt2YXIgdD1lKCIjYmFzZV91cmwiKS52YWwoKStlKCIjY3VyX2RpciIpLnZhbCgpLG49YS5maW5kKCJhLmxpbmsiKS5hdHRyKCJkYXRhLWZpbGUiKTtyZXR1cm4iIiE9biYmbnVsbCE9biYmKHQrPW4pLG49YS5maW5kKCJoNCBhLmZvbGRlci1saW5rIikuYXR0cigiZGF0YS1maWxlIiksIiIhPW4mJm51bGwhPW4mJih0Kz1uKSx0fSxVPXtjb250ZXh0QWN0aW9uczp7Y29weV91cmw6ZnVuY3Rpb24oYSl7dmFyIHQ9TyhhKTtib290Ym94LmFsZXJ0KCdVUkw6PGJyLz48ZGl2IGNsYXNzPSJpbnB1dC1hcHBlbmQiIHN0eWxlPSJ3aWR0aDoxMDAlIj48aW5wdXQgaWQ9InVybF90ZXh0JytJKyciIHR5cGU9InRleHQiIHN0eWxlPSJ3aWR0aDo4MCU7IGhlaWdodDozMHB4OyIgdmFsdWU9IicrZW5jb2RlVVJMKHQpKyciIC8+PGJ1dHRvbiBpZD0iY29weS1idXR0b24nK0krJyIgY2xhc3M9ImJ0biBidG4taW52ZXJzZSBjb3B5LWJ1dHRvbiIgc3R5bGU9IndpZHRoOjIwJTsgaGVpZ2h0OjMwcHg7IiBkYXRhLWNsaXBib2FyZC10YXJnZXQ9InVybF90ZXh0JytJKyciIGRhdGEtY2xpcGJvYXJkLXRleHQ9IkNvcHkgTWUhIiB0aXRsZT0iY29weSI+PC9idXR0b24+PC9kaXY+JyksZSgiI2NvcHktYnV0dG9uIitJKS5odG1sKCc8aSBjbGFzcz0iaWNvbiBpY29uLXdoaXRlIGljb24tc2hhcmUiPjwvaT4gJytlKCIjbGFuZ19jb3B5IikudmFsKCkpO3ZhciBuPW5ldyBaZXJvQ2xpcGJvYXJkKGUoIiNjb3B5LWJ1dHRvbiIrSSkpO24ub24oInJlYWR5IixmdW5jdGlvbihhKXtuLm9uKCJ3cm9uZ0ZsYXNoIG5vRmxhc2giLGZ1bmN0aW9uKCl7WmVyb0NsaXBib2FyZC5kZXN0cm95KCl9KSxuLm9uKCJhZnRlcmNvcHkiLGZ1bmN0aW9uKGEpe2UoIiNjb3B5LWJ1dHRvbiIrSSkuaHRtbCgnPGkgY2xhc3M9Imljb24gaWNvbi1vayI+PC9pPiAnK2UoIiNvayIpLnZhbCgpKSxlKCIjY29weS1idXR0b24iK0kpLmF0dHIoImNsYXNzIiwiYnRuIGRpc2FibGVkIiksSSsrfSksbi5vbigiZXJyb3IiLGZ1bmN0aW9uKGUpe30pfSl9LHVuemlwOmZ1bmN0aW9uKGEpe3ZhciB0PWUoIiNzdWJfZm9sZGVyIikudmFsKCkrZSgiI2ZsZHJfdmFsdWUiKS52YWwoKSthLmZpbmQoImEubGluayIpLmF0dHIoImRhdGEtZmlsZSIpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249ZXh0cmFjdCIsZGF0YTp7cGF0aDp0fX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWE/Ym9vdGJveC5hbGVydChhKTp3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjcmVmcmVzaCIpLmF0dHIoImhyZWYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9KX0sZWRpdF9pbWc6ZnVuY3Rpb24oYSl7dmFyIHQ9YS5hdHRyKCJkYXRhLW5hbWUiKSxuPWUoIiNiYXNlX3VybF90cnVlIikudmFsKCkrZSgiI2N1cl9kaXIiKS52YWwoKSt0LGk9ZSgiI2F2aWFyeV9pbWciKTtpLmF0dHIoImRhdGEtbmFtZSIsdCksc2hvd19hbmltYXRpb24oKSxpLmF0dHIoInNyYyIsbikubG9hZChrKGkuYXR0cigiaWQiKSxuKSl9LGR1cGxpY2F0ZTpmdW5jdGlvbihhKXt2YXIgdD1hLmZpbmQoImg0IikudGV4dCgpLnRyaW0oKTtib290Ym94LnByb21wdChlKCIjbGFuZ19kdXBsaWNhdGUiKS52YWwoKSxlKCIjY2FuY2VsIikudmFsKCksZSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7aWYobnVsbCE9PWUmJihlPXkoZSksZSE9dCkpe3ZhciBuPWEuZmluZCgiLnJlbmFtZS1maWxlIik7dygiZHVwbGljYXRlX2ZpbGUiLG4uYXR0cigiZGF0YS1wYXRoIiksZSxuLCJhcHBseV9maWxlX2R1cGxpY2F0ZSIpfX0sdCl9LHNlbGVjdDpmdW5jdGlvbihhKXt2YXIgdCxuPU8oYSksaT1lKCIjZmllbGRfaWQiKS52YWwoKSxyPWUoIiNyZXR1cm5fcmVsYXRpdmVfdXJsIikudmFsKCk7aWYoMT09ciYmKG49bi5yZXBsYWNlKGUoIiNiYXNlX3VybCIpLnZhbCgpLCIiKSksdD0xPT1lKCIjcG9wdXAiKS52YWwoKT93aW5kb3cub3BlbmVyOndpbmRvdy5wYXJlbnQsIiIhPWkpaWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpdC5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDpuLGZpZWxkX2lkOml9LCIqIik7ZWxzZXt2YXIgbz1lKCIjIitpLHQuZG9jdW1lbnQpO28udmFsKG4pLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJnQucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayhpKSxfKCl9ZWxzZSBhcHBseV9hbnkobil9LGNvcHk6ZnVuY3Rpb24oZSl7cChlLCJjb3B5Iil9LGN1dDpmdW5jdGlvbihlKXtwKGUsImN1dCIpfSxwYXN0ZTpmdW5jdGlvbigpe2YoKX0sY2htb2Q6ZnVuY3Rpb24oZSl7bChlKX0sZWRpdF90ZXh0X2ZpbGU6ZnVuY3Rpb24oZSl7cihlKX19LG1ha2VDb250ZXh0TWVudTpmdW5jdGlvbigpe3ZhciBhPXRoaXM7ZS5jb250ZXh0TWVudSh7c2VsZWN0b3I6ImZpZ3VyZTpub3QoLmJhY2stZGlyZWN0b3J5KSwgLmxpc3QtdmlldzIgZmlndXJlOm5vdCguYmFjay1kaXJlY3RvcnkpIixhdXRvSGlkZTohMCxidWlsZDpmdW5jdGlvbihuKXtuLmFkZENsYXNzKCJzZWxlY3RlZCIpO3ZhciBpPXtjYWxsYmFjazpmdW5jdGlvbihlLHQpe2EuY29udGV4dEFjdGlvbnNbZV0obil9LGl0ZW1zOnt9fTtyZXR1cm4obi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJwbmciKXx8bi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJqcGciKXx8bi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJqcGVnIikpJiZ0JiYoaS5pdGVtcy5lZGl0X2ltZz17bmFtZTplKCIjbGFuZ19lZGl0X2ltYWdlIikudmFsKCksaWNvbjoiZWRpdF9pbWciLGRpc2FibGVkOiExfSksbi5oYXNDbGFzcygiZGlyZWN0b3J5IikmJjAhPWUoIiN0eXBlX3BhcmFtIikudmFsKCkmJihpLml0ZW1zLnNlbGVjdD17bmFtZTplKCIjbGFuZ19zZWxlY3QiKS52YWwoKSxpY29uOiIiLGRpc2FibGVkOiExfSksaS5pdGVtcy5jb3B5X3VybD17bmFtZTplKCIjbGFuZ19zaG93X3VybCIpLnZhbCgpLGljb246InVybCIsZGlzYWJsZWQ6ITF9LChuLmZpbmQoIi5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlIikuaGFzQ2xhc3MoInppcCIpfHxuLmZpbmQoIi5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlIikuaGFzQ2xhc3MoInRhciIpfHxuLmZpbmQoIi5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlIikuaGFzQ2xhc3MoImd6IikpJiYoaS5pdGVtcy51bnppcD17bmFtZTplKCIjbGFuZ19leHRyYWN0IikudmFsKCksaWNvbjoiZXh0cmFjdCIsZGlzYWJsZWQ6ITF9KSxuLmZpbmQoIi5pbWctcHJlY29udGFpbmVyLW1pbmkgLmZpbGV0eXBlIikuaGFzQ2xhc3MoImVkaXQtdGV4dC1maWxlLWFsbG93ZWQiKSYmKGkuaXRlbXMuZWRpdF90ZXh0X2ZpbGU9e25hbWU6ZSgiI2xhbmdfZWRpdF9maWxlIikudmFsKCksaWNvbjoiZWRpdCIsZGlzYWJsZWQ6ITF9KSxuLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8MSE9ZSgiI2R1cGxpY2F0ZSIpLnZhbCgpfHwoaS5pdGVtcy5kdXBsaWNhdGU9e25hbWU6ZSgiI2xhbmdfZHVwbGljYXRlIikudmFsKCksaWNvbjoiZHVwbGljYXRlIixkaXNhYmxlZDohMX0pLG4uaGFzQ2xhc3MoImRpcmVjdG9yeSIpfHwxIT1lKCIjY29weV9jdXRfZmlsZXNfYWxsb3dlZCIpLnZhbCgpP24uaGFzQ2xhc3MoImRpcmVjdG9yeSIpJiYxPT1lKCIjY29weV9jdXRfZGlyc19hbGxvd2VkIikudmFsKCkmJihpLml0ZW1zLmNvcHk9e25hbWU6ZSgiI2xhbmdfY29weSIpLnZhbCgpLGljb246ImNvcHkiLGRpc2FibGVkOiExfSxpLml0ZW1zLmN1dD17bmFtZTplKCIjbGFuZ19jdXQiKS52YWwoKSxpY29uOiJjdXQiLGRpc2FibGVkOiExfSk6KGkuaXRlbXMuY29weT17bmFtZTplKCIjbGFuZ19jb3B5IikudmFsKCksaWNvbjoiY29weSIsZGlzYWJsZWQ6ITF9LGkuaXRlbXMuY3V0PXtuYW1lOmUoIiNsYW5nX2N1dCIpLnZhbCgpLGljb246ImN1dCIsZGlzYWJsZWQ6ITF9KSwwPT1lKCIjY2xpcGJvYXJkIikudmFsKCl8fG4uaGFzQ2xhc3MoImRpcmVjdG9yeSIpfHwoaS5pdGVtcy5wYXN0ZT17bmFtZTplKCIjbGFuZ19wYXN0ZV9oZXJlIikudmFsKCksaWNvbjoiY2xpcGJvYXJkLWFwcGx5IixkaXNhYmxlZDohMX0pLG4uaGFzQ2xhc3MoImRpcmVjdG9yeSIpfHwxIT1lKCIjY2htb2RfZmlsZXNfYWxsb3dlZCIpLnZhbCgpP24uaGFzQ2xhc3MoImRpcmVjdG9yeSIpJiYxPT1lKCIjY2htb2RfZGlyc19hbGxvd2VkIikudmFsKCkmJihpLml0ZW1zLmNobW9kPXtuYW1lOmUoIiNsYW5nX2ZpbGVfcGVybWlzc2lvbiIpLnZhbCgpLGljb246ImtleSIsZGlzYWJsZWQ6ITF9KTppLml0ZW1zLmNobW9kPXtuYW1lOmUoIiNsYW5nX2ZpbGVfcGVybWlzc2lvbiIpLnZhbCgpLGljb246ImtleSIsZGlzYWJsZWQ6ITF9LGkuaXRlbXMuc2VwPSItLS0tIixpLml0ZW1zLmluZm89e25hbWU6IjxzdHJvbmc+IitlKCIjbGFuZ19maWxlX2luZm8iKS52YWwoKSsiPC9zdHJvbmc+IixkaXNhYmxlZDohMH0saS5pdGVtcy5uYW1lPXtuYW1lOm4uYXR0cigiZGF0YS1uYW1lIiksaWNvbjoibGFiZWwiLGRpc2FibGVkOiEwfSwiaW1nIj09bi5hdHRyKCJkYXRhLXR5cGUiKSYmKGkuaXRlbXMuZGltZW5zaW9uPXtuYW1lOm4uZmluZCgiLmltZy1kaW1lbnNpb24iKS5odG1sKCksaWNvbjoiZGltZW5zaW9uIixkaXNhYmxlZDohMH0pLCgidHJ1ZSI9PT1lKCIjc2hvd19mb2xkZXJfc2l6ZSIpLnZhbCgpfHwidHJ1ZSI9PT1lKCIjc2hvd19mb2xkZXJfc2l6ZSIpLnZhbCgpKSYmKGkuaXRlbXMuc2l6ZT1uLmhhc0NsYXNzKCJkaXJlY3RvcnkiKT97bmFtZTpuLmZpbmQoIi5maWxlLXNpemUiKS5odG1sKCkrIiAtICIrbi5maW5kKCIubmZpbGVzIikudmFsKCkrIiAiK2UoIiNsYW5nX2ZpbGVzIikudmFsKCkrIiAtICIrbi5maW5kKCIubmZvbGRlcnMiKS52YWwoKSsiICIrZSgiI2xhbmdfZm9sZGVycyIpLnZhbCgpLGljb246InNpemUiLGRpc2FibGVkOiEwfTp7bmFtZTpuLmZpbmQoIi5maWxlLXNpemUiKS5odG1sKCksaWNvbjoic2l6ZSIsZGlzYWJsZWQ6ITB9KSxpLml0ZW1zLmRhdGU9e25hbWU6bi5maW5kKCIuZmlsZS1kYXRlIikuaHRtbCgpLGljb246ImRhdGUiLGRpc2FibGVkOiEwfSxpfSxldmVudHM6e2hpZGU6ZnVuY3Rpb24oKXtlKCJmaWd1cmUiKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX19fSksZShkb2N1bWVudCkub24oImNvbnRleHRtZW51IixmdW5jdGlvbihhKXtyZXR1cm4gZShhLnRhcmdldCkuaXMoImZpZ3VyZSIpP3ZvaWQgMDohMX0pfSxiaW5kR3JpZEV2ZW50czpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSl7d2luZG93W2EuYXR0cigiZGF0YS1mdW5jdGlvbiIpXShhLmF0dHIoImRhdGEtZmlsZSIpLGUoIiNmaWVsZF9pZCIpLnZhbCgpKX12YXIgdD1lKCJ1bC5ncmlkIik7dC5vbigiY2xpY2siLCIubW9kYWxBViIsZnVuY3Rpb24oYSl7dmFyIHQ9ZSh0aGlzKTthLnByZXZlbnREZWZhdWx0KCk7dmFyIG49ZSgiI3ByZXZpZXdBViIpLGk9ZSgiLmJvZHktcHJldmlldyIpO24ucmVtb3ZlRGF0YSgibW9kYWwiKSxuLm1vZGFsKHtiYWNrZHJvcDoic3RhdGljIixrZXlib2FyZDohMX0pLHQuaGFzQ2xhc3MoImF1ZGlvIik/aS5jc3MoImhlaWdodCIsIjgwcHgiKTppLmNzcygiaGVpZ2h0IiwiMzQ1cHgiKSxlLmFqYXgoe3VybDp0LmF0dHIoImRhdGEtdXJsIiksc3VjY2VzczpmdW5jdGlvbihlKXtpLmh0bWwoZSl9fSl9KSx0Lm9uKCJjbGljayIsIi5maWxlLXByZXZpZXctYnRuIixmdW5jdGlvbihhKXt2YXIgdD1lKHRoaXMpO2EucHJldmVudERlZmF1bHQoKSxlLmFqYXgoe3VybDp0LmF0dHIoImRhdGEtdXJsIiksc3VjY2VzczpmdW5jdGlvbihlKXtib290Ym94Lm1vZGFsKGUsIiAiK3QucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgiLm5hbWUiKS52YWwoKSl9fSl9KSx0Lm9uKCJjbGljayIsIi5wcmV2aWV3IixmdW5jdGlvbigpe3ZhciBhPWUodGhpcyk7cmV0dXJuIDA9PWEuaGFzQ2xhc3MoImRpc2FibGVkIikmJmUoIiNmdWxsLWltZyIpLmF0dHIoInNyYyIsZGVjb2RlVVJJQ29tcG9uZW50KGEuYXR0cigiZGF0YS11cmwiKSkpLCEwfSksdC5vbigiY2xpY2siLCIucmVuYW1lLWZpbGUiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKSx0PWEucGFyZW50KCkucGFyZW50KCkucGFyZW50KCksbj10LmZpbmQoImg0IiksaT1lLnRyaW0obi50ZXh0KCkpO2Jvb3Rib3gucHJvbXB0KGUoIiNyZW5hbWUiKS52YWwoKSxlKCIjY2FuY2VsIikudmFsKCksZSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7bnVsbCE9PWUmJihlPXkoZSksZSE9aSYmdygicmVuYW1lX2ZpbGUiLGEuYXR0cigiZGF0YS1wYXRoIiksZSx0LCJhcHBseV9maWxlX3JlbmFtZSIpKX0saSl9KSx0Lm9uKCJjbGljayIsIi5yZW5hbWUtZm9sZGVyIixmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksdD1hLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLG49dC5maW5kKCJoNCIpLGk9ZS50cmltKG4udGV4dCgpKTtib290Ym94LnByb21wdChlKCIjcmVuYW1lIikudmFsKCksZSgiI2NhbmNlbCIpLnZhbCgpLGUoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe251bGwhPT1lJiYoZT15KGUpLnJlcGxhY2UoIi4iLCIiKSxlIT1pJiZ3KCJyZW5hbWVfZm9sZGVyIixhLmF0dHIoImRhdGEtcGF0aCIpLGUsdCwiYXBwbHlfZm9sZGVyX3JlbmFtZSIpKX0saSl9KSx0Lm9uKCJjbGljayIsIi5kZWxldGUtZmlsZSIsZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpO2Jvb3Rib3guY29uZmlybShhLmF0dHIoImRhdGEtY29uZmlybSIpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbih0KXtpZigxPT10KXt3KCJkZWxldGVfZmlsZSIsYS5hdHRyKCJkYXRhLXBhdGgiKSwiIiwiIiwiIik7dmFyIG49ZSgiI2ZpbGVzX251bWJlciIpO24udGV4dChwYXJzZUludChuLnRleHQoKSktMSksYS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1vdmUoKX19KX0pLHQub24oImNsaWNrIiwiLmRlbGV0ZS1mb2xkZXIiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTtib290Ym94LmNvbmZpcm0oYS5hdHRyKCJkYXRhLWNvbmZpcm0iKSxlKCIjY2FuY2VsIikudmFsKCksZSgiI29rIikudmFsKCksZnVuY3Rpb24odCl7aWYoMT09dCl7dygiZGVsZXRlX2ZvbGRlciIsYS5hdHRyKCJkYXRhLXBhdGgiKSwiIiwiIiwiIik7dmFyIG49ZSgiI2ZvbGRlcnNfbnVtYmVyIik7bi50ZXh0KHBhcnNlSW50KG4udGV4dCgpKS0xKSxhLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZSgpfX0pfSksZSgidWwuZ3JpZCIpLm9uKCJjbGljayIsIi5saW5rIixmdW5jdGlvbigpe2EoZSh0aGlzKSl9KSxlKCJ1bC5ncmlkIikub24oImNsaWNrIiwiZGl2LmJveCIsZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKS5maW5kKCIubGluayIpO2lmKDAhPT1uLmxlbmd0aClhKG4pO2Vsc2V7dmFyIGk9ZSh0aGlzKS5maW5kKCIuZm9sZGVyLWxpbmsiKTswIT09aS5sZW5ndGgmJihkb2N1bWVudC5sb2NhdGlvbj1lKGkpLnByb3AoImhyZWYiKSl9fSl9LG1ha2VGaWx0ZXJzOmZ1bmN0aW9uKGEpe2UoIiNmaWx0ZXItaW5wdXQiKS5vbigia2V5dXAiLGZ1bmN0aW9uKCl7ZSgiLmZpbHRlcnMgbGFiZWwiKS5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxlKCIuZmlsdGVycyBsYWJlbCIpLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGUoIiNmZi1pdGVtLXR5cGUtYWxsIikuYWRkQ2xhc3MoImJ0bi1pbnZlcnNlIiksZSgiI2ZmLWl0ZW0tdHlwZS1hbGwiKS5maW5kKCJpIikuYWRkQ2xhc3MoImljb24td2hpdGUiKTt2YXIgdD15KGUodGhpcykudmFsKCkpLnRvTG93ZXJDYXNlKCk7ZSh0aGlzKS52YWwodCksYSYmUyhmdW5jdGlvbigpe2UoImxpIiwidWwuZ3JpZCAiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTsiIiE9dCYmLTE9PWEuYXR0cigiZGF0YS1uYW1lIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQpP2EuaGlkZSgxMDApOmEuc2hvdygxMDApfSksZS5hamF4KHt1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1maWx0ZXImdHlwZT0iK3R9KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lJiZib290Ym94LmFsZXJ0KGUpfSksUyhmdW5jdGlvbigpe3ZhciBhPTAhPWUoIiNkZXNjZW5kaW5nIikudmFsKCk/ITA6ITE7eChhLCIuIitlKCIjc29ydF9ieSIpLnZhbCgpKSxDKCl9LDUwMCl9LDMwMCl9KS5rZXlwcmVzcyhmdW5jdGlvbihhKXsxMz09YS53aGljaCYmZSgiI2ZpbHRlciIpLnRyaWdnZXIoImNsaWNrIil9KSxlKCIjZmlsdGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBhPXkoZSgiI2ZpbHRlci1pbnB1dCIpLnZhbCgpKTt3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjY3VycmVudF91cmwiKS52YWwoKSsiJmZpbHRlcj0iK2F9KX0sbWFrZVVwbG9hZGVyOmZ1bmN0aW9uKCl7ZSgiI3VwbG9hZGVyLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYT1lKCIjc3ViX2ZvbGRlciIpLnZhbCgpK2UoIiNmbGRyX3ZhbHVlIikudmFsKCkrIi8iO2E9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0xKSxlKCIjaWZyYW1lLWNvbnRhaW5lciIpLmh0bWwoZSgiPGlmcmFtZSAvPiIse25hbWU6IkpVcGxvYWQiLGlkOiJ1cGxvYWRlcl9mcmFtZSIsc3JjOiJ1cGxvYWRlci9pbmRleC5waHA/cGF0aD0iK2EsZnJhbWVib3JkZXI6MCx3aWR0aDoiMTAwJSIsaGVpZ2h0OjM2MH0pKX0pLGUoIi51cGxvYWQtYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpe2UoIi51cGxvYWRlciIpLnNob3coNTAwKX0pLGUoIi5jbG9zZS11cGxvYWRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtlKCIudXBsb2FkZXIiKS5oaWRlKDUwMCksc2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWUoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sNDIwKX0pfSxtYWtlU29ydDpmdW5jdGlvbihhKXtlKCJpbnB1dFtuYW1lPXJhZGlvLXNvcnRdIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBuPWUodGhpcykuYXR0cigiZGF0YS1pdGVtIiksaT1lKCIjIituKSxyPWUoIi5maWx0ZXJzIGxhYmVsIik7ci5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxyLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGUoIiNmaWx0ZXItaW5wdXQiKS52YWwoIiIpLGkuYWRkQ2xhc3MoImJ0bi1pbnZlcnNlIiksaS5maW5kKCJpIikuYWRkQ2xhc3MoImljb24td2hpdGUiKSwiZmYtaXRlbS10eXBlLWFsbCI9PW4/KGE/ZSgiLmdyaWQgbGkiKS5zaG93KDMwMCk6d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI2N1cnJlbnRfdXJsIikudmFsKCkrIiZzb3J0X2J5PSIrZSgiI3NvcnRfYnkiKS52YWwoKSsiJmRlc2NlbmRpbmc9IisodD8xOjApLCJ1bmRlZmluZWQiIT10eXBlb2YgU3RvcmFnZSYmbG9jYWxTdG9yYWdlLnNldEl0ZW0oInNvcnQiLCIiKSk6ZSh0aGlzKS5pcygiOmNoZWNrZWQiKSYmKGUoIi5ncmlkIGxpIikubm90KCIuIituKS5oaWRlKDMwMCksZSgiLmdyaWQgbGkuIituKS5zaG93KDMwMCksInVuZGVmaW5lZCIhPXR5cGVvZiBTdG9yYWdlJiZsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgic29ydCIsbikpLEMoKX0pO3ZhciB0PWUoIiNkZXNjZW5kaW5nIikudmFsKCk7ZSgiLnNvcnRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgbj1lKHRoaXMpO3Q9ZSgiI3NvcnRfYnkiKS52YWwoKT09PW4uYXR0cigiZGF0YS1zb3J0Iik/MD09dD8hMDohMTohMCxhPyhlLmFqYXgoe3VybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPXNvcnQmc29ydF9ieT0iK24uYXR0cigiZGF0YS1zb3J0IikrIiZkZXNjZW5kaW5nPSIrKHQ/MTowKX0pLHgodCwiLiIrbi5hdHRyKCJkYXRhLXNvcnQiKSksZSgiIGEuc29ydGVyIikucmVtb3ZlQ2xhc3MoImRlc2NlbmRpbmciKS5yZW1vdmVDbGFzcygiYXNjZW5kaW5nIiksZSgiLnNvcnQtIituLmF0dHIoImRhdGEtc29ydCIpKS5hZGRDbGFzcyh0PyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIiksZSgiI3NvcnRfYnkiKS52YWwobi5hdHRyKCJkYXRhLXNvcnQiKSksZSgiI2Rlc2NlbmRpbmciKS52YWwodD8xOjApLEMoKSk6d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI2N1cnJlbnRfdXJsIikudmFsKCkrIiZzb3J0X2J5PSIrbi5hdHRyKCJkYXRhLXNvcnQiKSsiJmRlc2NlbmRpbmc9IisodD8xOjApfSl9fTtlKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2lmKGUoIiNyZm1Ecm9wem9uZSIpLm9uKCJjbGljayIsIi5kei1zdWNjZXNzIC5kei1kZXRhaWwiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTthbGVydChhLmZpbmQoIi5kei1maWxlbmFtZSBzcGFuIikudGV4KCkpfSksVCYmVS5tYWtlQ29udGV4dE1lbnUoKSwidW5kZWZpbmVkIiE9dHlwZW9mIFN0b3JhZ2Upe3ZhciB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJzb3J0Iik7aWYodCl7dmFyIHI9ZSgiIyIrdCk7ci5hZGRDbGFzcygiYnRuLWludmVyc2UiKSxyLmZpbmQoImkiKS5hZGRDbGFzcygiaWNvbi13aGl0ZSIpLGUoIi5ncmlkIGxpIikubm90KCIuIit0KS5oaWRlKDMwMCksZSgiLmdyaWQgbGkuIit0KS5zaG93KDMwMCl9fWlmKGUoIiNmdWxsLWltZyIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtlKCIjcHJldmlld0xpZ2h0Ym94IikubGlnaHRib3goImhpZGUiKX0pLGUoImJvZHkiKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7ZSgiLnRpcC1yaWdodCIpLnRvb2x0aXAoImhpZGUiKX0pLFUuYmluZEdyaWRFdmVudHMoKSxwYXJzZUludChlKCIjZmlsZV9udW1iZXIiKS52YWwoKSk+cGFyc2VJbnQoZSgiI2ZpbGVfbnVtYmVyX2xpbWl0X2pzIikudmFsKCkpKXZhciBsPSExO2Vsc2UgdmFyIGw9ITA7aWYoVS5tYWtlU29ydChsKSxVLm1ha2VGaWx0ZXJzKGwpLGUoIiNpbmZvIikub24oImNsaWNrIixmdW5jdGlvbigpe2Jvb3Rib3guYWxlcnQoJzxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48YnIvPjxpbWcgc3JjPSJpbWcvbG9nby5wbmciIGFsdD0icmVzcG9uc2l2ZSBmaWxlbWFuYWdlciIvPjxici8+PGJyLz48cD48c3Ryb25nPlJFU1BPTlNJVkUgZmlsZW1hbmFnZXIgdi4nK2orJzwvc3Ryb25nPjxici8+PGEgaHJlZj0iaHR0cDovL3d3dy5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tIj5yZXNwb25zaXZlZmlsZW1hbmFnZXIuY29tPC9hPjwvcD48YnIvPjxwPkNvcHlyaWdodCDCqSA8YSBocmVmPSJodHRwOi8vd3d3LnRlY3JhaWwuY29tIiBhbHQ9InRlY3JhaWwiPlRlY3JhaWw8L2E+IC0gQWxiZXJ0byBQZXJpcG9sbGkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9wPjxici8+PHA+TGljZW5zZTxici8+PHNtYWxsPjxpbWcgYWx0PSJDcmVhdGl2ZSBDb21tb25zIExpY2Vuc2UiIHN0eWxlPSJib3JkZXItd2lkdGg6MCIgc3JjPSJodHRwOi8vcmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbS9saWNlbnNlLnBocCIgLz48YnIgLz5UaGlzIHdvcmsgaXMgbGljZW5zZWQgdW5kZXIgYSA8YSByZWw9ImxpY2Vuc2UiIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLzMuMC8iPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjAgVW5wb3J0ZWQgTGljZW5zZTwvYT4uPC9zbWFsbD48L3A+PC9kaXY+Jyl9KSxlKCIjY2hhbmdlX2xhbmdfYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpe28oKX0pLFUubWFrZVVwbG9hZGVyKCksZSgiYm9keSIpLm9uKCJrZXlwcmVzcyIsZnVuY3Rpb24oZSl7dmFyIGE9U3RyaW5nLmZyb21DaGFyQ29kZShlLndoaWNoKTtyZXR1cm4iJyI9PWF8fCciJz09YXx8IlxcIj09YXx8Ii8iPT1hPyExOnZvaWQgMH0pLGUoInVsLmdyaWQgbGkgZmlnY2FwdGlvbiIpLm9uKCJjbGljayIsJ2FbZGF0YS10b2dnbGU9ImxpZ2h0Ym94Il0nLGZ1bmN0aW9uKCl7bihkZWNvZGVVUklDb21wb25lbnQoZSh0aGlzKS5hdHRyKCJkYXRhLXVybCIpKSl9KSxlKCIuY3JlYXRlLWZpbGUtYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpe2koKX0pLGUoIi5uZXctZm9sZGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe2Jvb3Rib3gucHJvbXB0KGUoIiNpbnNlcnRfZm9sZGVyX25hbWUiKS52YWwoKSxlKCIjY2FuY2VsIikudmFsKCksZSgiI29rIikudmFsKCksZnVuY3Rpb24oYSl7aWYobnVsbCE9PWEpe2E9eShhKS5yZXBsYWNlKCIuIiwiIik7dmFyIHQ9ZSgiI3N1Yl9mb2xkZXIiKS52YWwoKStlKCIjZmxkcl92YWx1ZSIpLnZhbCgpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249Y3JlYXRlX2ZvbGRlciIsZGF0YTp7cGF0aDp0LG5hbWU6YX19KS5kb25lKGZ1bmN0aW9uKGEpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjcmVmcmVzaCIpLmF0dHIoImhyZWYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9LDMwMCl9KX19KX0pLGUoIi52aWV3LWNvbnRyb2xsZXIgYnV0dG9uIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBhPWUodGhpcyk7ZSgiLnZpZXctY29udHJvbGxlciBidXR0b24iKS5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxlKCIudmlldy1jb250cm9sbGVyIGkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGEuYWRkQ2xhc3MoImJ0bi1pbnZlcnNlIiksYS5maW5kKCJpIikuYWRkQ2xhc3MoImljb24td2hpdGUiKSxlLmFqYXgoe3VybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPXZpZXcmdHlwZT0iK2EuYXR0cigiZGF0YS12YWx1ZSIpfSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZSYmYm9vdGJveC5hbGVydChlKX0pLCJ1bmRlZmluZWQiIT10eXBlb2YgZSgidWwuZ3JpZCIpWzBdJiZlKCJ1bC5ncmlkIilbMF0mJihlKCJ1bC5ncmlkIilbMF0uY2xhc3NOYW1lPWUoInVsLmdyaWQiKVswXS5jbGFzc05hbWUucmVwbGFjZSgvXGJsaXN0LXZpZXcuKj9cYi9nLCIiKSksInVuZGVmaW5lZCIhPXR5cGVvZiBlKCIuc29ydGVyLWNvbnRhaW5lciIpWzBdJiZlKCIuc29ydGVyLWNvbnRhaW5lciIpWzBdJiYoZSgiLnNvcnRlci1jb250YWluZXIiKVswXS5jbGFzc05hbWU9ZSgiLnNvcnRlci1jb250YWluZXIiKVswXS5jbGFzc05hbWUucmVwbGFjZSgvXGJsaXN0LXZpZXcuKj9cYi9nLCIiKSk7dmFyIHQ9YS5hdHRyKCJkYXRhLXZhbHVlIik7ZSgiI3ZpZXciKS52YWwodCksZSgidWwuZ3JpZCIpLmFkZENsYXNzKCJsaXN0LXZpZXciK3QpLGUoIi5zb3J0ZXItY29udGFpbmVyIikuYWRkQ2xhc3MoImxpc3QtdmlldyIrdCksYS5hdHRyKCJkYXRhLXZhbHVlIik+PTE/bSgxNCk6KGUoInVsLmdyaWQgbGkiKS5jc3MoIndpZHRoIiwxMjYpLGUoInVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIsMTIyKSksQygpfSksYS50b3VjaD8oZSgiI2hlbHAiKS5zaG93KCksZSgiLmJveDpub3QoLm5vLWVmZmVjdCkiKS5zd2lwZSh7c3dpcGVMZWZ0Omgsc3dpcGVSaWdodDpoLHRocmVzaG9sZDozMH0pKTooZSgiLnRpcCIpLnRvb2x0aXAoe3BsYWNlbWVudDoiYm90dG9tIn0pLGUoIi50aXAtdG9wIikudG9vbHRpcCh7cGxhY2VtZW50OiJ0b3AifSksZSgiLnRpcC1sZWZ0IikudG9vbHRpcCh7cGxhY2VtZW50OiJsZWZ0In0pLGUoIi50aXAtcmlnaHQiKS50b29sdGlwKHtwbGFjZW1lbnQ6InJpZ2h0In0pLGUoImJvZHkiKS5hZGRDbGFzcygibm8tdG91Y2giKSksZSgiLnBhc3RlLWhlcmUtYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpezA9PWUodGhpcykuaGFzQ2xhc3MoImRpc2FibGVkIikmJmYoKX0pLGUoIi5jbGVhci1jbGlwYm9hcmQtYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpezA9PWUodGhpcykuaGFzQ2xhc3MoImRpc2FibGVkIikmJmQoKX0pLCFhLmNzc3RyYW5zZm9ybXMpe3ZhciBzPWUoImZpZ3VyZSIpO3Mub24oIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXswPT1lKCIjdmlldyIpLnZhbCgpJiZlKCIjbWFpbi1pdGVtLWNvbnRhaW5lciIpLmhhc0NsYXNzKCJuby1lZmZlY3Qtc2xpZGUiKT09PSExJiZlKHRoaXMpLmZpbmQoIi5ib3g6bm90KC5uby1lZmZlY3QpIikuYW5pbWF0ZSh7dG9wOiItMjZweCJ9LHtxdWV1ZTohMSxkdXJhdGlvbjozMDB9KX0pLHMub24oIm1vdXNlb3V0IixmdW5jdGlvbigpezA9PWUoIiN2aWV3IikudmFsKCkmJmUodGhpcykuZmluZCgiLmJveDpub3QoLm5vLWVmZmVjdCkiKS5hbmltYXRlKHt0b3A6IjBweCJ9LHtxdWV1ZTohMSxkdXJhdGlvbjozMDB9KX0pfWUod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKXttKDI4KX0pLG0oMTQpLHYoMT09ZSgiI2NsaXBib2FyZCIpLnZhbCgpPyEwOiExKSxlKCJsaS5kaXIsIGxpLmZpbGUiKS5kcmFnZ2FibGUoe2Rpc3RhbmNlOjIwLGN1cnNvcjoibW92ZSIsaGVscGVyOmZ1bmN0aW9uKCl7ZSh0aGlzKS5maW5kKCJmaWd1cmUiKS5maW5kKCIuYm94IikuY3NzKCJ0b3AiLCIwcHgiKTt2YXIgYT1lKHRoaXMpLmNsb25lKCkuY3NzKCJ6LWluZGV4IiwxZTMpLmZpbmQoIi5ib3giKS5jc3MoImJveC1zaGFkb3ciLCJub25lIikuY3NzKCItd2Via2l0LWJveC1zaGFkb3ciLCJub25lIikucGFyZW50KCkucGFyZW50KCk7cmV0dXJuIGUodGhpcykuYWRkQ2xhc3MoInNlbGVjdGVkIiksYX0sc3RhcnQ6ZnVuY3Rpb24oKXswPT1lKCIjdmlldyIpLnZhbCgpJiZlKCIjbWFpbi1pdGVtLWNvbnRhaW5lciIpLmFkZENsYXNzKCJuby1lZmZlY3Qtc2xpZGUiKX0sc3RvcDpmdW5jdGlvbigpe2UodGhpcykucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksMD09ZSgiI3ZpZXciKS52YWwoKSYmZSgiI21haW4taXRlbS1jb250YWluZXIiKS5yZW1vdmVDbGFzcygibm8tZWZmZWN0LXNsaWRlIil9fSksZSgibGkuZGlyLGxpLmJhY2siKS5kcm9wcGFibGUoe2FjY2VwdDoidWwuZ3JpZCBsaSIsYWN0aXZlQ2xhc3M6InVpLXN0YXRlLWhpZ2hsaWdodCIsaG92ZXJDbGFzczoidWktc3RhdGUtaG92ZXIiLGRyb3A6ZnVuY3Rpb24oYSx0KXt1KHQuZHJhZ2dhYmxlLmZpbmQoImZpZ3VyZSIpLGUodGhpcykuZmluZCgiZmlndXJlIikpfX0pLGUoZG9jdW1lbnQpLm9uKCJrZXl1cCIsIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIsZnVuY3Rpb24oKXtjKCEwKX0pLGUoZG9jdW1lbnQpLm9uKCJjaGFuZ2UiLCIjY2htb2RfZm9ybSBpbnB1dCIsZnVuY3Rpb24oKXtjKCExKX0pLGUoZG9jdW1lbnQpLm9uKCJmb2N1c291dCIsIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIsZnVuY3Rpb24oKXt2YXIgYT1lKCIjY2htb2RfZm9ybSAjY2htb2RfdmFsdWUiKTtudWxsPT1hLnZhbCgpLm1hdGNoKC9eWzAtN117M30kLykmJihhLnZhbChhLmF0dHIoImRhdGEtZGVmLXZhbHVlIikpLGMoITApKX0pfSksZW5jb2RlVVJMPWZ1bmN0aW9uKGUpe2Zvcih2YXIgYT1lLnNwbGl0KCIvIiksdD0zO3Q8YS5sZW5ndGg7dCsrKWFbdF09ZW5jb2RlVVJJQ29tcG9uZW50KGFbdF0pO3JldHVybiBhLmpvaW4oIi8iKX0sYXBwbHk9ZnVuY3Rpb24oYSx0KXt2YXIgbjtuPTE9PWUoIiNwb3B1cCIpLnZhbCgpP3dpbmRvdy5vcGVuZXI6d2luZG93LnBhcmVudDt2YXIgaT1lKCIjY3VyX2RpciIpLnZhbCgpLHI9KGUoIiNzdWJkaXIiKS52YWwoKSxlKCIjYmFzZV91cmwiKS52YWwoKSksbz1hLnN1YnN0cigwLGEubGFzdEluZGV4T2YoIi4iKSksbD1hLnNwbGl0KCIuIikucG9wKCk7bD1sLnRvTG93ZXJDYXNlKCk7dmFyIGM9IiIscz1bIm9nZyIsIm1wMyIsIndhdiJdLGQ9WyJtcDQiLCJvZ2ciLCJ3ZWJtIl0scD1lKCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpLGY9ZW5jb2RlVVJMKCgxPT1wP2k6citpKSthKTtpZigiIiE9dClpZigxPT1lKCIjY3Jvc3Nkb21haW4iKS52YWwoKSluLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmYsZmllbGRfaWQ6dH0sIioiKTtlbHNle3ZhciB1PWUoIiMiK3Qsbi5kb2N1bWVudCk7dS52YWwoZikudHJpZ2dlcigiY2hhbmdlIiksImZ1bmN0aW9uIj09dHlwZW9mIG4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmbi5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKHQpLF8oKX1lbHNlIGUuaW5BcnJheShsLGV4dF9pbWcpPi0xPyhmPWYrIj8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLGM9JzxpbWcgc3JjPSInK2YrJyIgYWx0PSInK28rJyIgLz4nKTplLmluQXJyYXkobCxkKT4tMT9jPSc8dmlkZW8gY29udHJvbHMgc291cmNlIHNyYz0iJytmKyciIHR5cGU9InZpZGVvLycrbCsnIj4nK28rIjwvdmlkZW8+IjplLmluQXJyYXkobCxzKT4tMT8oIm1wMyI9PWwmJihsPSJtcGVnIiksYz0nPGF1ZGlvIGNvbnRyb2xzIHNyYz0iJytmKyciIHR5cGU9ImF1ZGlvLycrbCsnIj4nK28rIjwvYXVkaW8+Iik6Yz0nPGEgaHJlZj0iJytmKyciIHRpdGxlPSInK28rJyI+JytvKyI8L2E+IiwxPT1lKCIjY3Jvc3Nkb21haW4iKS52YWwoKT9uLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmYsZmllbGRfaWQ6bnVsbCxodG1sOmN9LCIqIik6cGFyZW50LnRpbnltY2UubWFqb3JWZXJzaW9uPDQ/KHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEsYykscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIucGFyYW1zLm1jZV93aW5kb3dfaWQpKToocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLmluc2VydENvbnRlbnQoYykscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UoKSl9LGFwcGx5X2xpbms9ZnVuY3Rpb24oYSx0KXtpZigxPT1lKCIjcG9wdXAiKS52YWwoKSl2YXIgbj13aW5kb3cub3BlbmVyO2Vsc2UgdmFyIG49d2luZG93LnBhcmVudDt2YXIgaT1lKCIjY3VyX2RpciIpLnZhbCgpO2k9aS5yZXBsYWNlKCJcXCIsIi8iKTt2YXIgcj1lKCIjc3ViZGlyIikudmFsKCk7cj1yLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciBvPWUoIiNiYXNlX3VybCIpLnZhbCgpLGw9ZSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSxjPWVuY29kZVVSTCgoMT09bD9pOm8raSkrYSk7aWYoIiIhPXQpaWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpbi5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDpjLGZpZWxkX2lkOnR9LCIqIik7ZWxzZXt2YXIgcz1lKCIjIit0LG4uZG9jdW1lbnQpO3MudmFsKGMpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJm4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayh0KSxfKCl9ZWxzZSBhcHBseV9hbnkoYyl9LGFwcGx5X2ltZz1mdW5jdGlvbihhLHQpe3ZhciBuO249MT09ZSgiI3BvcHVwIikudmFsKCk/d2luZG93Lm9wZW5lcjp3aW5kb3cucGFyZW50O3ZhciBpPWUoIiNjdXJfZGlyIikudmFsKCk7aT1pLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciByPWUoIiNzdWJkaXIiKS52YWwoKTtyPXIucmVwbGFjZSgiXFwiLCIvIik7dmFyIG89ZSgiI2Jhc2VfdXJsIikudmFsKCksbD1lKCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpLGM9ZW5jb2RlVVJMKCgxPT1sP2k6bytpKSthKTtpZigiIiE9dClpZigxPT1lKCIjY3Jvc3Nkb21haW4iKS52YWwoKSluLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmMsZmllbGRfaWQ6dH0sIioiKTtlbHNle3ZhciBzPWUoIiMiK3Qsbi5kb2N1bWVudCk7cy52YWwoYykudHJpZ2dlcigiY2hhbmdlIiksImZ1bmN0aW9uIj09dHlwZW9mIG4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmbi5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKHQpLF8oKX1lbHNlIGM9YysiPyIrKG5ldyBEYXRlKS5nZXRUaW1lKCksYXBwbHlfYW55KGMpfSxhcHBseV92aWRlbz1mdW5jdGlvbihhLHQpe3ZhciBuO249MT09ZSgiI3BvcHVwIikudmFsKCk/d2luZG93Lm9wZW5lcjp3aW5kb3cucGFyZW50O3ZhciBpPWUoIiNjdXJfZGlyIikudmFsKCk7aT1pLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciByPWUoIiNzdWJkaXIiKS52YWwoKTtyPXIucmVwbGFjZSgiXFwiLCIvIik7dmFyIG89ZSgiI2Jhc2VfdXJsIikudmFsKCksbD1lKCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpLGM9ZW5jb2RlVVJMKCgxPT1sP2k6bytpKSthKTtpZigiIiE9dClpZigxPT1lKCIjY3Jvc3Nkb21haW4iKS52YWwoKSluLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmMsZmllbGRfaWQ6dH0sIioiKTtlbHNle3ZhciBzPWUoIiMiK3Qsbi5kb2N1bWVudCk7cy52YWwoYykudHJpZ2dlcigiY2hhbmdlIiksImZ1bmN0aW9uIj09dHlwZW9mIG4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmbi5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKHQpLF8oKX1lbHNlIGFwcGx5X2FueShjKX0sYXBwbHlfbm9uZT1mdW5jdGlvbihhKXt2YXIgdD1lKCJ1bC5ncmlkIikuZmluZCgnbGlbZGF0YS1uYW1lPSInK2ErJyJdIGZpZ2NhcHRpb24gYScpO3RbMV0uY2xpY2soKSxlKCIudGlwLXJpZ2h0IikudG9vbHRpcCgiaGlkZSIpfSxhcHBseV9hbnk9ZnVuY3Rpb24oYSl7aWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDphLGZpZWxkX2lkOm51bGx9LCIqIik7ZWxzZXt2YXIgdD1lKCIjZWRpdG9yIikudmFsKCk7aWYoImNrZWRpdG9yIj09dCl7dmFyIG49ZygiQ0tFZGl0b3JGdW5jTnVtIik7d2luZG93Lm9wZW5lci5DS0VESVRPUi50b29scy5jYWxsRnVuY3Rpb24obixhKSx3aW5kb3cuY2xvc2UoKX1lbHNlIHBhcmVudC50aW55bWNlLm1ham9yVmVyc2lvbjw0PyhwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5wYXJhbXMuc2V0VXJsKGEpLHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLmNsb3NlKHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLnBhcmFtcy5tY2Vfd2luZG93X2lkKSk6KHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLmdldFBhcmFtcygpLnNldFVybChhKSxwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5jbG9zZSgpKX19LGFwcGx5X2ZpbGVfZHVwbGljYXRlPWZ1bmN0aW9uKGUsYSl7dmFyIHQ9ZS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKTt0LmFmdGVyKCI8bGkgY2xhc3M9JyIrdC5hdHRyKCJjbGFzcyIpKyInIGRhdGEtbmFtZT0nIit0LmF0dHIoImRhdGEtbmFtZSIpKyInPiIrdC5odG1sKCkrIjwvbGk+Iik7dmFyIG49dC5uZXh0KCk7YXBwbHlfZmlsZV9yZW5hbWUobi5maW5kKCJmaWd1cmUiKSxhKTt2YXIgaT1uLmZpbmQoIi5kb3dubG9hZC1mb3JtIikscj0iZm9ybSIrKG5ldyBEYXRlKS5nZXRUaW1lKCk7aS5hdHRyKCJpZCIsciksaS5maW5kKCIudGlwLXJpZ2h0IikuYXR0cigib25jbGljayIsIiQoJyMiK3IrIicpLnN1Ym1pdCgpOyIpfSxhcHBseV9maWxlX3JlbmFtZT1mdW5jdGlvbihhLHQpe3ZhciBuO2EuYXR0cigiZGF0YS1uYW1lIix0KSxhLnBhcmVudCgpLmF0dHIoImRhdGEtbmFtZSIsdCksYS5maW5kKCJoNCIpLmZpbmQoImEiKS50ZXh0KHQpO3ZhciBpPWEuZmluZCgiYS5saW5rIik7bj1pLmF0dHIoImRhdGEtZmlsZSIpO3ZhciByPW4uc3Vic3RyaW5nKG4ubGFzdEluZGV4T2YoIi8iKSsxKSxvPW4uc3Vic3RyaW5nKG4ubGFzdEluZGV4T2YoIi4iKSsxKTtpLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLmF0dHIoImRhdGEtZmlsZSIsZW5jb2RlVVJJQ29tcG9uZW50KHQrIi4iK28pKX0pLGEuZmluZCgiaW1nIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWUodGhpcykuYXR0cigic3JjIik7ZSh0aGlzKS5hdHRyKCJzcmMiLGEucmVwbGFjZShyLHQrIi4iK28pKyI/dGltZT0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKSxlKHRoaXMpLmF0dHIoImFsdCIsdCsiIHRodW1ibmFpbHMiKX0pO3ZhciBsPWEuZmluZCgiYS5wcmV2aWV3Iik7bj1sLmF0dHIoImRhdGEtdXJsIiksInVuZGVmaW5lZCIhPXR5cGVvZiBuJiZuJiZsLmF0dHIoImRhdGEtdXJsIixuLnJlcGxhY2UoZW5jb2RlVVJJQ29tcG9uZW50KHIpLGVuY29kZVVSSUNvbXBvbmVudCh0KyIuIitvKSkpLGEucGFyZW50KCkuYXR0cigiZGF0YS1uYW1lIix0KyIuIitvKSxhLmF0dHIoImRhdGEtbmFtZSIsdCsiLiIrbyksYS5maW5kKCIubmFtZV9kb3dubG9hZCIpLnZhbCh0KyIuIitvKTt2YXIgYz1hLmZpbmQoImEucmVuYW1lLWZpbGUiKSxzPWEuZmluZCgiYS5kZWxldGUtZmlsZSIpLGQ9Yy5hdHRyKCJkYXRhLXBhdGgiKSxwPWQucmVwbGFjZShyLHQrIi4iK28pO2MuYXR0cigiZGF0YS1wYXRoIixwKSxzLmF0dHIoImRhdGEtcGF0aCIscCl9LGFwcGx5X2ZvbGRlcl9yZW5hbWU9ZnVuY3Rpb24oYSx0KXthLmF0dHIoImRhdGEtbmFtZSIsdCksYS5maW5kKCJmaWd1cmUiKS5hdHRyKCJkYXRhLW5hbWUiLHQpO3ZhciBuPWEuZmluZCgiaDQiKS5maW5kKCJhIikudGV4dCgpO2EuZmluZCgiaDQgPiBhIikudGV4dCh0KTt2YXIgaT1hLmZpbmQoIi5mb2xkZXItbGluayIpLHI9aS5hdHRyKCJocmVmIiksbz1lKCIjZmxkcl92YWx1ZSIpLnZhbCgpLGw9ci5yZXBsYWNlKCJmbGRyPSIrbytlbmNvZGVVUklDb21wb25lbnQobiksImZsZHI9IitvK2VuY29kZVVSSUNvbXBvbmVudCh0KSk7aS5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5hdHRyKCJocmVmIixsKX0pO3ZhciBjPWEuZmluZCgiYS5kZWxldGUtZm9sZGVyIikscz1hLmZpbmQoImEucmVuYW1lLWZvbGRlciIpLGQ9cy5hdHRyKCJkYXRhLXBhdGgiKSxwPWQubGFzdEluZGV4T2YoIi8iKSxmPWQuc3Vic3RyKDAscCsxKSt0O2MuYXR0cigiZGF0YS1wYXRoIixmKSxzLmF0dHIoImRhdGEtcGF0aCIsZil9LHNob3dfYW5pbWF0aW9uPWZ1bmN0aW9uKCl7ZSgiI2xvYWRpbmdfY29udGFpbmVyIikuY3NzKCJkaXNwbGF5IiwiYmxvY2siKSxlKCIjbG9hZGluZyIpLmNzcygib3BhY2l0eSIsIi43Iil9LGhpZGVfYW5pbWF0aW9uPWZ1bmN0aW9uKCl7ZSgiI2xvYWRpbmdfY29udGFpbmVyIikuZmFkZU91dCgpfX0oalF1ZXJ5LE1vZGVybml6cixpbWFnZV9lZGl0b3IpOw==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/ConnectManager.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpQbGF5ZXIgUGx1Z2luIGZvciBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5DQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBIYXBweXdvcm0gTHRkDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUDQogKg0KICogQXV0aG9yOiBSb2JlcnQgTS4gSGFsbA0KICogRGF0ZTogN3RoIEF1Z3VzdCAyMDEyDQogKiBDdXN0b20gTmV0Q29ubmVjdGlvbiBNYW5hZ2VyIGZvciBtb3JlIHJvYnVzdCBSVE1QIHN1cHBvcnQNCiAqIEJhc2VkIGluIHBhcnQgb24gd29yayBieSBXaWxsIExhdyBmb3IgdGhlIG9sZCBBa2FtYWkgTkNNYW5hZ2VyLmFzDQogKiBhbmQgc29tZSBvZiBXaWxsJ3MgbmV3IHdvcmsgaW4gdGhlIE9WUCBiYXNlIGNsYXNzZXMgKE9wZW4gVmlkZW8gUGxheWVyKQ0KICogYXMgd2VsbCBhcyBzaW1pbGFyIGFwcHJvYWNoZXMgYnkgbWFueSBvdGhlciBOZXRDb25uZWN0aW9uIG1hbmFnZXJzDQogKg0KICovDQogDQogLyogDQogVE9ETyBMSVNUIDA4LzE4LzIwMTE6DQogMS4gV2lyZWQgdXAgZXJyb3JzIHRvIGRpc3BhdGNoIGV2ZW50cyB0byBKcGxheWVyIGV2ZW50cyB0byBhbGxvdyB0aGVtIHRvIGJ1YmJsZSB1cCB0byBKUw0KIDIuIFJld29yayBldmVudCBkaXNwYXRjaCB0byBoYW5kb2ZmIG5ldGNvbm5lY3Rpb24gaW5zdGVhZCBvZiBhIHBhc3NlZCBpbiByZWZlcmVuY2UNCiAzLiBBbGxvdyBhIGN1c3RvbWl6ZWFibGUgbGlzdCBvZiBwcm90b2NvbHMgYW5kIHBvcnRzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBlbnRpcmUgbGlzdA0KIDQuIEFsbG93IGEgc3BlY2lmaWMgcG9ydC9wcm90b2NvbCAoMSBjb25uZWN0IHR5cGUpIHRvIGJlIHVzZWQgZmlyc3QsIGFuZCB0aGVuIG9wdGlvbmFsbHkgZmFsbGJhY2sgb24gYSBjdXN0b20gbGlzdCBvciB0aGUgZGVmYXVsdCBsaXN0DQogNS4gUmVtb3ZlIHNvbWUgdHJhY2VzIGFuZCBjaGVjayBhIGZldyBvdGhlciBpdGVtcyBiZWxvdyB3aGVyZSBJJ3ZlIG1hZGUgbm90ZXMNCiAqLw0KDQpwYWNrYWdlIGhhcHB5d29ybS5qUGxheWVyIHsNCgkNCglpbXBvcnQgZmxhc2guZXZlbnRzLio7DQoJaW1wb3J0IGZsYXNoLm5ldC4qOw0KCQ0KCWltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsNCglpbXBvcnQgZmxhc2gudXRpbHMuZ2V0VGltZXI7DQoJaW1wb3J0IGZsYXNoLnV0aWxzLmNsZWFySW50ZXJ2YWw7DQoJaW1wb3J0IGZsYXNoLnV0aWxzLnNldEludGVydmFsOw0KDQoJcHVibGljIGNsYXNzIENvbm5lY3RNYW5hZ2VyIGV4dGVuZHMgT2JqZWN0IHsNCgkJDQoJCXByaXZhdGUgdmFyIHByb3RvY29sc19hcnI6QXJyYXkgPSBuZXcgQXJyYXkoInJ0bXAiLCJydG1wdCIsInJ0bXBlIiwicnRtcHRlIiwicnRtcHMiKTsNCgkJcHJpdmF0ZSB2YXIgcG9ydHNfYXJyOkFycmF5ID0gbmV3IEFycmF5KCIiLCI6MTkzNSIsIjo4MCIsIjo0NDMiKTsNCgkJcHJpdmF0ZSBjb25zdCBwcm90Q291bnQ6TnVtYmVyID0gNTsNCgkJcHJpdmF0ZSBjb25zdCBwb3J0Q291bnQ6TnVtYmVyID0gNDsNCgkJDQoJCXByaXZhdGUgdmFyIF9uY1JlZjpPYmplY3Q7DQoJCQ0KCQlwcml2YXRlIHZhciBfYU5DOkFycmF5Ow0KDQoJCXByaXZhdGUgdmFyIGtfVElNRU9VVDpOdW1iZXIgPSAzMDAwMDsNCgkJcHJpdmF0ZSB2YXIga19zdGFydENvbm5zOk51bWJlcjsNCgkJcHJpdmF0ZSB2YXIgbV9jb25uTGlzdDpBcnJheSA9IFtdOw0KCQlwcml2YXRlIHZhciBtX3NlcnZlck5hbWU6U3RyaW5nOw0KCQlwcml2YXRlIHZhciBtX2FwcE5hbWU6U3RyaW5nOw0KCQlwcml2YXRlIHZhciBtX3N0cmVhbU5hbWU6U3RyaW5nOw0KCQlwcml2YXRlIHZhciBtX2Nvbm5MaXN0Q291bnRlcjpOdW1iZXI7DQoJCXByaXZhdGUgdmFyIG1fZmxhc2hDb21Db25uZWN0VGltZU91dDpOdW1iZXI7DQoJCXByaXZhdGUgdmFyIG1fdmFsaWROZXRDb25uZWN0aW9uOk5ldENvbm5lY3Rpb247DQoJCQ0KCQlwcml2YXRlIHZhciBjb25uZWN0U3VjY2VzczpCb29sZWFuPWZhbHNlOw0KCQkNCgkJcHJpdmF0ZSB2YXIgbmVnb3RpYXRpbmc6Qm9vbGVhbj1mYWxzZTsNCgkJcHJpdmF0ZSB2YXIgaWRsZVRpbWVPdXQ6Qm9vbGVhbj1mYWxzZTsNCg0KCQlwdWJsaWMgZnVuY3Rpb24gQ29ubmVjdE1hbmFnZXIoKSB7DQoJCQl0cmFjZSAoIkNvbm5lY3RNYW5hZ2VyIEluaXRpYWxpemVkIFZlcnNpb246IDEuMDAgRFQiKTsNCgkJCWNyZWF0ZVBvcnRzUHJvdG9jb2xzQXJyYXkoKTsNCgkJfQ0KCQkNCgkJcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVQb3J0c1Byb3RvY29sc0FycmF5KCk6dm9pZCB7DQoJCXZhciBvdXRlckxvb3A6TnVtYmVyPTA7DQoJCXZhciBpbm5lckxvb3A6TnVtYmVyPTA7DQoJCQlmb3IgKG91dGVyTG9vcD0wOyBvdXRlckxvb3A8cHJvdG9jb2xzX2Fyci5sZW5ndGg7IG91dGVyTG9vcCsrKSB7DQoJCQkJDQoJCQkJZm9yIChpbm5lckxvb3A9MDsgaW5uZXJMb29wPHBvcnRzX2Fyci5sZW5ndGg7IGlubmVyTG9vcCsrKSB7DQoJCQkJCW1fY29ubkxpc3QucHVzaCggeyBwcm90b2NvbDogcHJvdG9jb2xzX2FycltvdXRlckxvb3BdLCBwb3J0OiBwb3J0c19hcnJbaW5uZXJMb29wXSB9ICk7DQoJCQkJfQ0KCQkJCQ0KCQkJfQkJDQoJCX0NCgkJDQoJCXB1YmxpYyBmdW5jdGlvbiBuZWdvdGlhdGVDb25uZWN0KG5jUmVmOk9iamVjdCxwX3NlcnZlck5hbWU6U3RyaW5nLHBfYXBwTmFtZTpTdHJpbmcpOnZvaWQNCgkJew0KCQkJbmVnb3RpYXRpbmc9dHJ1ZTsNCgkJCV9uY1JlZj1uY1JlZjsNCgkJCXRyYWNlKCIqKiogU0VSVkVSIE5BTUU6ICIrcF9zZXJ2ZXJOYW1lKTsNCgkJCXRyYWNlKCIqKiogQVBQIE5BTUU6ICIrcF9zZXJ2ZXJOYW1lKTsNCgkJCWtfc3RhcnRDb25ucyA9IGdldFRpbWVyKCk7DQoJCQltX3NlcnZlck5hbWUgPSBwX3NlcnZlck5hbWU7DQoJCQltX2FwcE5hbWUgPSBwX2FwcE5hbWU7DQoJCQ0KCQkJLy8gU2V0IGEgdGltZW91dCBmdW5jdGlvbiwganVzdCBpbiBjYXNlIHdlIG5ldmVyIGNvbm5lY3Qgc3VjY2Vzc2Z1bGx5DQoJCQljbGVhckludGVydmFsKG1fZmxhc2hDb21Db25uZWN0VGltZU91dCk7DQoJCQltX2ZsYXNoQ29tQ29ubmVjdFRpbWVPdXQgPSBzZXRJbnRlcnZhbChvbkZsYXNoQ29tQ29ubmVjdFRpbWVPdXQsa19USU1FT1VULGtfVElNRU9VVCk7DQoJCQkNCgkJCS8vIENyZWF0ZWUgYSBOZXRDb25uZWN0aW9uIGZvciBlYWNoIG9mIHRoZSBwcm90b2NvbHMvcG9ydHMgbGlzdGVkIGluIHRoZSBtX2Nvbm5MaXN0IGxpc3QuDQoJCQkvLyBDb25uZWN0aW9uIGF0dGVtcHRzIG9jY3VyIGF0IGludGVydmFscyBvZiAxLjUgc2Vjb25kcy4gDQoJCQkvLyBUaGUgZmlyc3QgY29ubmVjdGlvbiB0byBzdWNjZWVkIHdpbGwgYmUgdXNlZCwgYWxsIHRoZSBvdGhlcnMgd2lsbCBiZSBjbG9zZWQuDQoJCQlfYU5DID0gbmV3IEFycmF5KCk7DQoJCQlmb3IgKHZhciBpOnVpbnQgPSAwOyBpIDwgbV9jb25uTGlzdC5sZW5ndGg7IGkrKykNCgkJCXsNCgkJCQlfYU5DW2ldID0gbmV3IE5ldENvbm5lY3Rpb24oKTsNCgkJCQlfYU5DW2ldLmFkZEV2ZW50TGlzdGVuZXIoTmV0U3RhdHVzRXZlbnQuTkVUX1NUQVRVUyxuZXRTdGF0dXMpOw0KCQkJCV9hTkNbaV0uYWRkRXZlbnRMaXN0ZW5lcihTZWN1cml0eUVycm9yRXZlbnQuU0VDVVJJVFlfRVJST1IsbmV0U2VjdXJpdHlFcnJvcik7DQoJCQkJX2FOQ1tpXS5hZGRFdmVudExpc3RlbmVyKEFzeW5jRXJyb3JFdmVudC5BU1lOQ19FUlJPUixhc3luY0Vycm9yKTsgICAgICANCgkJCQlfYU5DW2ldLmNsaWVudCA9IG5ldyBPYmplY3Q7DQoJCQkJX2FOQ1tpXS5jbGllbnQub3duZXIgPSB0aGlzOw0KCQkJCV9hTkNbaV0uY2xpZW50LmNvbm5JbmRleCA9IGk7DQoJCQkJX2FOQ1tpXS5jbGllbnQuaWQgPSBpOw0KCQkJCV9hTkNbaV0uY2xpZW50LnBlbmRpbmcgPSB0cnVlOw0KCQkJCQ0KCQkJCS8qIFJldmlzaXQgdGhpcyBjaHVuayAtIG5vdCBuZWVkZWQgYXQgdGhlIG1vbWVudCBhcyBOQyBpcyBoYW5kZWQgb2ZmIGFuZCB0aGlzIA0KCQkJCS8vIGlzIGhhbmRsZWQgZWxzZXdoZXJlDQoJCQkJLy8gTmVlZCB0byBwdXQgaW4gc29tZSBldmVudCBkaXNwYXRjaGluZyBhcyBhIG1vcmUgZWxlZ2FudCBzb2x1dGlvbiBhbmQgbGVhdmUgaXQgaGVyZQ0KCQkJCQ0KCQkJCV9hTkNbaV0uY2xpZW50Lm9uQldEb25lID0gZnVuY3Rpb24gKHBfYncsIGRlbHRhRG93biwgZGVsdGFUaW1lLCBsYXRlbmN5KSB7DQoJCQkJCS8vdGhpcy5vd25lci5kaXNwYXRjaEV2ZW50ICh7dHlwZToibmNCYW5kV2lkdGgiLCBrYnBzOnBfYncsIGxhdGVuY3k6bGF0ZW5jeX0pOw0KCQkJCX07DQoNCgkJCQlfYU5DW2ldLmNsaWVudC5vbkJXQ2hlY2sgPSBmdW5jdGlvbiAoY291bnRlcikgew0KCQkJCQlyZXR1cm4gKytjb3VudGVyOw0KCQkJCX07DQoNCgkJCQlfYU5DW2ldLmNsaWVudC5vblN0YXR1cyA9IGZ1bmN0aW9uIChpbmZvKSB7DQoJCQkJCS8vDQoJCQkJfTsNCgkJCQkqLw0KCQkJCQ0KCQkJfQ0KCQkJbV9jb25uTGlzdENvdW50ZXIgPSAwOw0KCQkJbmV4dENvbm5lY3QgKCk7DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gbmV4dENvbm5lY3QoKTp2b2lkDQoJCXsNCgkJCXRyYWNlKCIqKiogQ29ubmVjdGlvbjogIisgbV9jb25uTGlzdENvdW50ZXIgKyAiOiAiK21fY29ubkxpc3RbbV9jb25uTGlzdENvdW50ZXJdLnByb3RvY29sICsgIjovLyIgKyBtX3NlcnZlck5hbWUgKyBtX2Nvbm5MaXN0W21fY29ubkxpc3RDb3VudGVyXS5wb3J0ICsgIi8iICsgbV9hcHBOYW1lKTsNCg0KCQkJdHJ5IHsNCgkJCQlfYU5DW21fY29ubkxpc3RDb3VudGVyXS5jb25uZWN0KG1fY29ubkxpc3RbbV9jb25uTGlzdENvdW50ZXJdLnByb3RvY29sICsgIjovLyIgKyBtX3NlcnZlck5hbWUgKyBtX2Nvbm5MaXN0W21fY29ubkxpc3RDb3VudGVyXS5wb3J0ICsgIi8iICsgbV9hcHBOYW1lKTsNCg0KCQkJfSBjYXRjaCAoZXJyb3I6RXJyb3IpIHsNCgkJCQkvLyBzdGF0ZW1lbnRzDQoJCQkJdHJhY2UoIioqKiBDYXVnaHQgYW4gZXJyb3IgY29uZGl0aW9uOiAiK2Vycm9yKTsNCgkJCQltX2Nvbm5MaXN0Q291bnRlciA9IG1fY29ubkxpc3QubGVuZ3RoKzE7DQoJCQl9DQoJCQkvLyBzdGF0ZW1lbnRzDQoJCQkJY2xlYXJJbnRlcnZhbChfYU5DWyJuY0ludCIgKyBtX2Nvbm5MaXN0Q291bnRlcl0pOw0KDQoJCQlpZiAoKG1fY29ubkxpc3RDb3VudGVyIDwgbV9jb25uTGlzdC5sZW5ndGggLSAxKSkNCgkJCXsNCgkJCQltX2Nvbm5MaXN0Q291bnRlcisrOw0KCQkJCV9hTkNbIm5jSW50IiArIG1fY29ubkxpc3RDb3VudGVyXSA9IHNldEludGVydmFsKG5leHRDb25uZWN0LDE1MDApOw0KCQkJfQ0KDQoJCX0NCgkJDQoJCS8vIENsZWFucyB1cCBhbGwgY29ubmVjdGlvbnMgaWYgbm9uZSBoYXZlIHN1Y2NlZWRlZCBieSB0aGUgdGltZW91dCBpbnRlcnZhbA0KCQlwcml2YXRlIGZ1bmN0aW9uIG9uRmxhc2hDb21Db25uZWN0VGltZU91dCh0aW1lb3V0Ok51bWJlcik6dm9pZA0KCQl7DQoJCQlzdG9wQWxsKCk7DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gaGFuZGxlR29vZENvbm5lY3QoX25jOk5ldENvbm5lY3Rpb24pOnZvaWQgew0KCQkJbmVnb3RpYXRpbmc9ZmFsc2U7DQoJCQl0cmFjZSgiSGFuZGluZyBPRkYgTmV0Q29ubmVjdGlvbiIpOw0KCQkJY2xlYXJJbnRlcnZhbChtX2ZsYXNoQ29tQ29ubmVjdFRpbWVPdXQpOw0KCQkJX25jUmVmLmNvbm5lY3RTdHJlYW0oKTsNCgkJCV9uY1JlZi5vbkJXRG9uZShudWxsLF9uYyk7DQoJCQkvL2Rpc3BhdGNoRXZlbnQoZXZlbnQpOw0KCQkJLy8gTmVlZCB0byBlbmFibGUgYW5kIHBhc3MgdG8gSnBsYXllciBldmVudCBzeXN0ZW0tIHJldmlzaXQNCgkJCS8vIHJpZ2h0IG5vdyBoYW5kaW5nIGJhY2sgYSBoYXJkY29kZWQgcmVmZXJlbmNlIHRoYXQgaXMgcGFzc2VkIGluDQoJCQkvLyBTaG91bGQgY29tZSB1cCB3aXRoIGEgbW9yZSBsb29zZWx5IGNvdXBsZWQgd2F5IHZpYSBldmVudCBkaXNwYXRjaA0KDQoJCX0NCgkJDQoJCXB1YmxpYyBmdW5jdGlvbiBnZXROZWdvdGlhdGluZygpOkJvb2xlYW4gew0KCQkJcmV0dXJuIG5lZ290aWF0aW5nOw0KCQl9DQoJCQ0KCQlwdWJsaWMgZnVuY3Rpb24gc2V0TmVnb3RpYXRpbmcoYm9vbDpCb29sZWFuKTp2b2lkIHsNCgkJCW5lZ290aWF0aW5nPWJvb2w7DQoJCX0NCgkJDQoJCQ0KCQlwdWJsaWMgZnVuY3Rpb24gc3RvcEFsbChib29sOkJvb2xlYW49ZmFsc2UpOnZvaWQgew0KCQkJDQoJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudCAoe3R5cGU6Im5jRmFpbGVkVG9Db25uZWN0IiwgdGltZW91dDp0aW1lb3V0fSk7DQoJCQkvLyBOZWVkIHRvIGVuYWJsZSBhbmQgcGFzcyB0byBKcGxheWVyIGV2ZW50IHN5c3RlbS0gcmV2aXNpdA0KCQkJLy8gdHJhY2UoX2FOQysiOiIrbV9mbGFzaENvbUNvbm5lY3RUaW1lT3V0KyI6IittX2Nvbm5MaXN0Lmxlbmd0aCkNCgkJCWlmKF9hTkMhPW51bGwgJiYgIWlzTmFOKG1fZmxhc2hDb21Db25uZWN0VGltZU91dCkgKSB7DQoJCQkJY2xlYXJJbnRlcnZhbChtX2ZsYXNoQ29tQ29ubmVjdFRpbWVPdXQpOw0KCQkJZm9yICh2YXIgaTp1aW50ID0gMDsgaSA8IG1fY29ubkxpc3QubGVuZ3RoOyBpKyspDQoJCQl7DQoJCQkJaWYgKF9hTkNbaV0hPW51bGwpDQoJCQkJew0KCQkJCQljbGVhckludGVydmFsKF9hTkNbIm5jSW50IiArIGldKTsNCgkJCQkJX2FOQ1tpXS5jbG9zZSgpOw0KCQkJCQlpZihib29sPT1mYWxzZSkgew0KCQkJCQkJX2FOQ1tpXS5jbGllbnQgPSBudWxsOw0KCQkJCQl9DQoJCQkJCV9hTkNbaV0gPSBudWxsOw0KCQkJCQlkZWxldGUgX2FOQ1tpXTsNCgkJCQl9DQoJCQl9DQoJCQl9DQoJCQkJCQkNCgkJfQ0KCQkNCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gbmV0U3RhdHVzKGV2ZW50Ok5ldFN0YXR1c0V2ZW50KTp2b2lkIHsNCgkJCQ0KCQkJdHJhY2UoZXZlbnQuaW5mby5jb2RlKTsNCgkJCWlmKGV2ZW50LmluZm8uZGVzY3JpcHRpb24gIT0gdW5kZWZpbmVkKSB7DQoJCQkJdHJhY2UoZXZlbnQuaW5mby5kZXNjcmlwdGlvbik7DQoJCQl9DQoJCQlfYU5DW2V2ZW50LnRhcmdldC5jbGllbnQuaWRdLmNsaWVudC5wZW5kaW5nID0gdHJ1ZTsNCgkJCQ0KCQkJCS8vIHRoaXMub3duZXIubV92YWxpZE5ldENvbm5lY3Rpb24gPSB0aGlzLmNsaWVudC5vd25lclt0aGlzLmNsaWVudC5jb25uSW5kZXhdOw0KCQkJCS8vIGlmIChpbmZvLmRlc2NyaXB0aW9uID09ICJbIExpY2Vuc2UuTGltaXQuRXhjZWVkZWQgXSIpIHsNCg0KCQkJCXN3aXRjaCAoZXZlbnQuaW5mby5jb2RlKSB7DQoJCQkJCWNhc2UgIk5ldENvbm5lY3Rpb24uQ29ubmVjdC5JZGxlVGltZU91dCI6DQoJCQkJCXRyYWNlKCJJRExFIFRJTUVPVVQgT0NDVVJSRUQhIikNCgkJCQkJbmVnb3RpYXRpbmc9dHJ1ZTsNCgkJCQkJaWRsZVRpbWVPdXQ9dHJ1ZTsNCgkJCQkJX25jUmVmLnNodXREb3duTmNOcygpOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICJOZXRDb25uZWN0aW9uLkNvbm5lY3QuQ2xvc2VkIjoNCgkJCQkJaWYoIW5lZ290aWF0aW5nICYmICFpZGxlVGltZU91dCkgew0KCQkJCQkJaWRsZVRpbWVPdXQgPSBmYWxzZTsNCgkJCQkJCV9uY1JlZi5kb25lWWV0KCk7DQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0Q29ubmVjdGlvbi5Db25uZWN0LkludmFsaWRBcHAiOg0KCQkJCWNhc2UgIk5ldENvbm5lY3Rpb24uQ29ubmVjdC5SZWplY3RlZCI6DQoJCQkJCS8vaGFuZGxlUmVqZWN0ZWRPckludmFsaWQoZXZlbnQpIA0KICAgIAkJCQlicmVhazsNCgkJCQljYXNlICJOZXRDb25uZWN0aW9uLkNhbGwuRmFpbGVkIjoNCgkJCQkJLyoNCgkJCQkJaWYgKGV2ZW50LmluZm8uZGVzY3JpcHRpb24uaW5kZXhPZigiX2NoZWNrYnciKSAhPSAtMSkgew0KCQkJCQkJZXZlbnQudGFyZ2V0LmV4cGVjdEJXRG9uZSA9IHRydWU7DQoJCQkJCQlldmVudC50YXJnZXQuY2FsbCgiY2hlY2tCYW5kd2lkdGgiLG51bGwpOw0KCQkJCQl9DQoJCQkJCSovDQoJCQkJCWJyZWFrOw0KCQkJCQljYXNlICJOZXRDb25uZWN0aW9uLkNvbm5lY3QuU3VjY2VzcyI6DQoJCQkJCQl2YXIgaTp1aW50PTA7DQoJCQkJCQlmb3IgKCBpID0gMDsgaTxfYU5DLmxlbmd0aDsgaSsrKSB7DQoJCQkJCQlpZiAoX2FOQ1tpXSAmJiAoaSAhPSBldmVudC50YXJnZXQuY2xpZW50LmlkKSkgew0KCQkJCQkJCV9hTkNbaV0uY2xvc2UoKTsNCgkJCQkJCQlfYU5DW2ldID0gbnVsbDsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQl2YXIgX25jOk5ldENvbm5lY3Rpb24gPSBOZXRDb25uZWN0aW9uKGV2ZW50LnRhcmdldCk7DQoJCQkJCXZhciBjb25uSUQ6TnVtYmVyID0gZXZlbnQudGFyZ2V0LmNsaWVudC5pZDsNCgkJCQkJdmFyIF9hY3R1YWxQb3J0OlN0cmluZyA9IG1fY29ubkxpc3RbbV9jb25uTGlzdENvdW50ZXJdLnBvcnQ7DQoJCQkJCXZhciBfYWN0dWFsUHJvdG9jb2w6U3RyaW5nID0gbV9jb25uTGlzdFttX2Nvbm5MaXN0Q291bnRlcl0ucHJvdG9jb2w7DQoJCQkJCQkJCQkJCQkJCQkNCgkJCQkJLy8gU2VlIGlmIHdlIGhhdmUgdmVyc2lvbiBpbmZvDQoJCQkJCXZhciBfc2VydmVyVmVyc2lvbjpTdHJpbmcgPSAiVU5LTk9XTiI7DQoJCQkJCWlmIChldmVudC5pbmZvLmRhdGEgJiYgZXZlbnQuaW5mby5kYXRhLnZlcnNpb24pIHsNCgkJCQkJCV9zZXJ2ZXJWZXJzaW9uID0gZXZlbnQuaW5mby5kYXRhLnZlcnNpb247DQoJCQkJCX0NCgkJCQkJdHJhY2UoIkNvbm5lY3QgSUQ6ICIrY29ubklEKyIgLSBQT1JUOiAiK19hY3R1YWxQb3J0KyIgLSBQUk9UT0NPTDogIitfYWN0dWFsUHJvdG9jb2wrIiAtIEZNUyBWZXJzaW9uOiAiK19zZXJ2ZXJWZXJzaW9uKTsNCgkJCQkJDQoJCQkJCWNsZWFySW50ZXJ2YWwoX2FOQ1sibmNJbnQiICsgY29ubklEXSk7DQoJCQkJCWNsZWFySW50ZXJ2YWwoX2FOQ1sibmNJbnQiICsgbV9jb25uTGlzdENvdW50ZXJdKTsNCg0KCQkJCQloYW5kbGVHb29kQ29ubmVjdChfbmMpOw0KCQkJCQlicmVhazsNCgkJCQl9DQoJCX0NCgkJCQkJCQ0KDQoJCS8qKiBDYXRjaGVzIGFueSBuZXRjb25uZWN0aW9uIG5ldCBzZWN1cml0eSBlcnJvcnMNCgkJICogQHByaXZhdGUNCgkJICovDQoJCXByaXZhdGUgZnVuY3Rpb24gbmV0U2VjdXJpdHlFcnJvcihldmVudDpTZWN1cml0eUVycm9yRXZlbnQpOnZvaWQgew0KCQkJdHJhY2UoIlNFQ1VSSVRZIEVSUk9SOiIrZXZlbnQpOw0KCQkJLy9kaXNwYXRjaEV2ZW50KGV2ZW50KTsNCgkJCS8vIE5lZWQgdG8gZW5hYmxlIGFuZCBwYXNzIHRvIEpwbGF5ZXIgZXZlbnQgc3lzdGVtLSByZXZpc2l0DQogICAgCX0NCiAgICAJDQogICAgCS8qKiBDYXRjaGVzIGFueSBhc3luYyBlcnJvcnMNCiAgICAJICogQHByaXZhdGUNCiAgICAJICovDQoJCXByaXZhdGUgZnVuY3Rpb24gYXN5bmNFcnJvcihldmVudDpBc3luY0Vycm9yRXZlbnQpOnZvaWQgew0KCQkJdHJhY2UoIkFTWU5DIEVSUk9SOiIrZXZlbnQuZXJyb3IpOw0KCQkJLy9kaXNwYXRjaEV2ZW50KGV2ZW50KTsNCgkJCS8vIE5lZWQgdG8gZW5hYmxlIGFuZCBwYXNzIHRvIEpwbGF5ZXIgZXZlbnQgc3lzdGVtLSByZXZpc2l0DQogICAgCX0NCgkJDQoJCQ0KDQoJfS8vIGNsYXNzDQoJDQp9IC8vcGFja2FnZQ0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerEvent.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIERhdGU6IDIwdGggTWF5IDIwMTMKICovCgpwYWNrYWdlIGhhcHB5d29ybS5qUGxheWVyIHsKCWltcG9ydCBmbGFzaC5ldmVudHMuRXZlbnQ7CgkKCXB1YmxpYyBjbGFzcyBKcGxheWVyRXZlbnQgZXh0ZW5kcyBFdmVudCB7CgkJCgkJLy8gVGhlIGV2ZW50IHN0cmluZ3MgbXVzdCBtYXRjaCB0aG9zZSBpbiB0aGUgSmF2YVNjcmlwdCdzICQualBsYXllci5ldmVudCBvYmplY3QKCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1JFQURZOlN0cmluZyA9ICJqUGxheWVyX3JlYWR5IjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfRkxBU0hSRVNFVDpTdHJpbmcgPSAialBsYXllcl9mbGFzaHJlc2V0IjsgLy8gSGFuZGxlZCBpbiBKYXZhU2NyaXB0CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1JFU0laRTpTdHJpbmcgPSAialBsYXllcl9yZXNpemUiOyAvLyBIYW5kbGVkIGluIEphdmFTY3JpcHQKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfUkVQRUFUOlN0cmluZyA9ICJqUGxheWVyX3JlcGVhdCI7IC8vIEhhbmRsZWQgaW4gSmF2YVNjcmlwdAoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9DTElDSzpTdHJpbmcgPSAialBsYXllcl9jbGljayI7CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0VSUk9SOlN0cmluZyA9ICJqUGxheWVyX2Vycm9yIjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfV0FSTklORzpTdHJpbmcgPSAialBsYXllcl93YXJuaW5nIjsgLy8gQ3VycmVudGx5IG5vdCB1c2VkIGJ5IHRoZSBmbGFzaCBzb2x1dGlvbgoKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfTE9BRFNUQVJUOlN0cmluZyA9ICJqUGxheWVyX2xvYWRzdGFydCI7CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1BST0dSRVNTOlN0cmluZyA9ICJqUGxheWVyX3Byb2dyZXNzIjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfU1VTUEVORDpTdHJpbmcgPSAialBsYXllcl9zdXNwZW5kIjsgLy8gTm90IGltcGxlbWVudGVkCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0FCT1JUOlN0cmluZyA9ICJqUGxheWVyX2Fib3J0IjsgLy8gTm90IGltcGxlbWVudGVkCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0VNUFRJRUQ6U3RyaW5nID0gImpQbGF5ZXJfZW1wdGllZCI7IC8vIE5vdCBpbXBsZW1lbnRlZAoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9TVEFMTEVEOlN0cmluZyA9ICJqUGxheWVyX3N0YWxsZWQiOyAvLyBOb3QgaW1wbGVtZW50ZWQKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfUExBWTpTdHJpbmcgPSAialBsYXllcl9wbGF5IjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfUEFVU0U6U3RyaW5nID0gImpQbGF5ZXJfcGF1c2UiOwoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9MT0FERURNRVRBREFUQTpTdHJpbmcgPSAialBsYXllcl9sb2FkZWRtZXRhZGF0YSI7IC8vIE1QMyBoYXMgbm8gZXF1aXZpbGVudAoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9MT0FERUREQVRBOlN0cmluZyA9ICJqUGxheWVyX2xvYWRlZGRhdGEiOyAvLyBOb3QgaW1wbGVtZW50ZWQKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfV0FJVElORzpTdHJpbmcgPSAialBsYXllcl93YWl0aW5nIjsgLy8gTm90IGltcGxlbWVudGVkIChEb25lIGluOiBNUDMpCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1BMQVlJTkc6U3RyaW5nID0gImpQbGF5ZXJfcGxheWluZyI7IC8vIE5vdCBpbXBsZW1lbnRlZCAoRG9uZSBpbjogTVAzKQoJCXB1YmxpYyBzdGF0aWMgY29uc3QgSlBMQVlFUl9DQU5QTEFZOlN0cmluZyA9ICJqUGxheWVyX2NhbnBsYXkiOyAvLyBOb3QgaW1wbGVtZW50ZWQgKERvbmUgaW46IE1QMykKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfQ0FOUExBWVRIUk9VR0g6U3RyaW5nID0gImpQbGF5ZXJfY2FucGxheXRocm91Z2giOyAvLyBOb3QgaW1wbGVtZW50ZWQgKERvbmUgaW46IE1QMykKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfU0VFS0lORzpTdHJpbmcgPSAialBsYXllcl9zZWVraW5nIjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfU0VFS0VEOlN0cmluZyA9ICJqUGxheWVyX3NlZWtlZCI7CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1RJTUVVUERBVEU6U3RyaW5nID0gImpQbGF5ZXJfdGltZXVwZGF0ZSI7CgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0VOREVEOlN0cmluZyA9ICJqUGxheWVyX2VuZGVkIjsKCQlwdWJsaWMgc3RhdGljIGNvbnN0IEpQTEFZRVJfUkFURUNIQU5HRTpTdHJpbmcgPSAialBsYXllcl9yYXRlY2hhbmdlIjsgLy8gTm90IGltcGxlbWVudGVkCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX0RVUkFUSU9OQ0hBTkdFOlN0cmluZyA9ICJqUGxheWVyX2R1cmF0aW9uY2hhbmdlIjsgLy8gTm90IGltcGxlbWVudGVkCgkJcHVibGljIHN0YXRpYyBjb25zdCBKUExBWUVSX1ZPTFVNRUNIQU5HRTpTdHJpbmcgPSAialBsYXllcl92b2x1bWVjaGFuZ2UiOyAvLyBTZWUgSmF2YVNjcmlwdAoKCQkvLyBFdmVudHMgdXNlZCBpbnRlcm5hbCB0byBqUGxheWVyJ3MgRmxhc2guCgkJcHVibGljIHN0YXRpYyBjb25zdCBERUJVR19NU0c6U3RyaW5nID0gImRlYnVnX21zZyI7CgoJCXB1YmxpYyB2YXIgZGF0YTpKcGxheWVyU3RhdHVzOwoJCXB1YmxpYyB2YXIgbXNnOlN0cmluZyA9ICIiOwoKCQlwdWJsaWMgZnVuY3Rpb24gSnBsYXllckV2ZW50KHR5cGU6U3RyaW5nLCBkYXRhOkpwbGF5ZXJTdGF0dXMsIG1zZzpTdHJpbmcgPSAiIiwgYnViYmxlczpCb29sZWFuID0gZmFsc2UsIGNhbmNlbGFibGU6Qm9vbGVhbiA9IGZhbHNlKSB7CgkJCXN1cGVyKHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUpOwoJCQl0aGlzLmRhdGEgPSBkYXRhOwoJCQl0aGlzLm1zZyA9IG1zZzsKCQl9CgkJcHVibGljIG92ZXJyaWRlIGZ1bmN0aW9uIGNsb25lKCk6RXZlbnQgewoJCQlyZXR1cm4gbmV3IEpwbGF5ZXJFdmVudCh0eXBlLCBkYXRhLCBtc2csIGJ1YmJsZXMsIGNhbmNlbGFibGUpOwoJCX0KCQlwdWJsaWMgb3ZlcnJpZGUgZnVuY3Rpb24gdG9TdHJpbmcoKTpTdHJpbmcgewoJCQlyZXR1cm4gZm9ybWF0VG9TdHJpbmcoIkpwbGF5ZXJFdmVudCIsICJ0eXBlIiwgImJ1YmJsZXMiLCAiY2FuY2VsYWJsZSIsICJldmVudFBoYXNlIiwgImRhdGEiLCAibXNnIik7CgkJfQoJfQp9]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerMp3.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIERhdGU6IDI4dGggTWF5IDIwMTMKICovCgpwYWNrYWdlIGhhcHB5d29ybS5qUGxheWVyIHsKCWltcG9ydCBmbGFzaC5kaXNwbGF5LlNwcml0ZTsKCglpbXBvcnQgZmxhc2gubWVkaWEuU291bmQ7CglpbXBvcnQgZmxhc2gubWVkaWEuU291bmRDaGFubmVsOwoJaW1wb3J0IGZsYXNoLm1lZGlhLlNvdW5kTG9hZGVyQ29udGV4dDsKCWltcG9ydCBmbGFzaC5tZWRpYS5Tb3VuZFRyYW5zZm9ybTsKCWltcG9ydCBmbGFzaC5uZXQuVVJMUmVxdWVzdDsKCWltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsKCWltcG9ydCBmbGFzaC5lcnJvcnMuSU9FcnJvcjsKCWltcG9ydCBmbGFzaC5ldmVudHMuKjsKCglwdWJsaWMgY2xhc3MgSnBsYXllck1wMyBleHRlbmRzIFNwcml0ZSB7CgkJcHJpdmF0ZSB2YXIgbXlTb3VuZDpTb3VuZCA9IG5ldyBTb3VuZCgpOwoJCXByaXZhdGUgdmFyIG15Q2hhbm5lbDpTb3VuZENoYW5uZWwgPSBuZXcgU291bmRDaGFubmVsKCk7CgkJcHJpdmF0ZSB2YXIgbXlDb250ZXh0OlNvdW5kTG9hZGVyQ29udGV4dCA9IG5ldyBTb3VuZExvYWRlckNvbnRleHQoMzAwMCwgZmFsc2UpOwoJCXByaXZhdGUgdmFyIG15VHJhbnNmb3JtOlNvdW5kVHJhbnNmb3JtID0gbmV3IFNvdW5kVHJhbnNmb3JtKCk7CgkJcHJpdmF0ZSB2YXIgbXlSZXF1ZXN0OlVSTFJlcXVlc3QgPSBuZXcgVVJMUmVxdWVzdCgpOwoKCQlwcml2YXRlIHZhciB0aW1lVXBkYXRlVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMjUwLCAwKTsgLy8gTWF0Y2hlZCB0byBIVE1MIGV2ZW50IGZyZXEKCQlwcml2YXRlIHZhciBwcm9ncmVzc1RpbWVyOlRpbWVyID0gbmV3IFRpbWVyKDI1MCwgMCk7IC8vIE1hdGNoZWQgdG8gSFRNTCBldmVudCBmcmVxCgkJcHJpdmF0ZSB2YXIgc2Vla2luZ1RpbWVyOlRpbWVyID0gbmV3IFRpbWVyKDEwMCwgMCk7IC8vIEludGVybmFsOiBIb3cgb2Z0ZW4gc2Vla2luZyBpcyBjaGVja2VkIHRvIHNlZSBpZiBpdCBpcyBvdmVyLgoJCXByaXZhdGUgdmFyIHBsYXlpbmdUaW1lcjpUaW1lciA9IG5ldyBUaW1lcigxMDAsIDApOyAvLyBJbnRlcm5hbDogSG93IG9mdGVuIHdhaXRpbmcvcGxheWluZyBpcyBjaGVja2VkLgoJCXByaXZhdGUgdmFyIHdhaXRpbmdUaW1lcjpUaW1lciA9IG5ldyBUaW1lcigzMDAwLCAwKTsgLy8gSW50ZXJuYWw6IENoZWNrIGZyb20gbG9hZHN0YXJ0IHRvIGxvYWRPcGVuLiBHZW5lcmF0ZXMgYSB3YWl0aW5nIGV2ZW50LgoJCQoJCXB1YmxpYyB2YXIgbXlTdGF0dXM6SnBsYXllclN0YXR1cyA9IG5ldyBKcGxheWVyU3RhdHVzKCk7CgoJCXB1YmxpYyBmdW5jdGlvbiBKcGxheWVyTXAzKHZvbHVtZTpOdW1iZXIpIHsKCQkJdGltZVVwZGF0ZVRpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUiwgdGltZVVwZGF0ZUhhbmRsZXIpOwoJCQlwcm9ncmVzc1RpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUiwgcHJvZ3Jlc3NIYW5kbGVyKTsKCQkJc2Vla2luZ1RpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUiwgc2Vla2luZ0hhbmRsZXIpOwoJCQlwbGF5aW5nVGltZXIuYWRkRXZlbnRMaXN0ZW5lcihUaW1lckV2ZW50LlRJTUVSLCBwbGF5aW5nSGFuZGxlcik7CgkJCXdhaXRpbmdUaW1lci5hZGRFdmVudExpc3RlbmVyKFRpbWVyRXZlbnQuVElNRVIsIHdhaXRpbmdIYW5kbGVyKTsKCQkJc2V0Vm9sdW1lKHZvbHVtZSk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBzZXRGaWxlKHNyYzpTdHJpbmcpOnZvaWQgewoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBteVN0YXR1cywgInNldEZpbGU6ICIgKyBzcmMpKTsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQlteUNoYW5uZWwuc3RvcCgpOwoJCQl9CgkJCXByb2dyZXNzVXBkYXRlcyhmYWxzZSk7CgkJCXRpbWVVcGRhdGVzKGZhbHNlKTsKCQkJd2FpdGluZ1RpbWVyLnN0b3AoKTsKCQkJdHJ5IHsKCQkJCW15U291bmQuY2xvc2UoKTsKCQkJfSBjYXRjaCAoZXJyOklPRXJyb3IpIHsKCQkJCS8vIE9jY3VycyBpZiB0aGUgZmlsZSBpcyBlaXRoZXIgeWV0IHRvIGJlIG9wZW5lZCBvciBoYXMgZmluaXNoZWQgZG93bmxvYWRpbmcuCgkJCX0KCQkJbXlTb3VuZCA9IG51bGw7CgkJCW15U291bmQgPSBuZXcgU291bmQoKTsKCQkJbXlTb3VuZC5hZGRFdmVudExpc3RlbmVyKElPRXJyb3JFdmVudC5JT19FUlJPUiwgZXJyb3JIYW5kbGVyKTsKCQkJbXlTb3VuZC5hZGRFdmVudExpc3RlbmVyKEV2ZW50Lk9QRU4sIGxvYWRPcGVuKTsKCQkJbXlTb3VuZC5hZGRFdmVudExpc3RlbmVyKEV2ZW50LkNPTVBMRVRFLCBsb2FkQ29tcGxldGUpOwoJCQlteVJlcXVlc3QgPSBuZXcgVVJMUmVxdWVzdChzcmMpOwoJCQlteVN0YXR1cy5yZXNldCgpOwoJCQlteVN0YXR1cy5zcmMgPSBzcmM7CgkJCW15U3RhdHVzLnNyY1NldCA9IHRydWU7CgkJCXRpbWVVcGRhdGVFdmVudCgpOwoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gY2xlYXJGaWxlKCk6dm9pZCB7CgkJCXNldEZpbGUoIiIpOwoJCQlteVN0YXR1cy5zcmNTZXQgPSBmYWxzZTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBlcnJvckhhbmRsZXIoZXJyOklPRXJyb3JFdmVudCk6dm9pZCB7CgkJCS8vIE1QMyBwbGF5ZXIgbmVlZHMgdG8gc3RvcCBwcm9ncmVzcyBhbmQgdGltZXVwZGF0ZSBldmVudHMgYXMgdGhleSBhcmUgc3RhcnRlZCBiZWZvcmUgdGhlIGVycm9yIG9jY3Vycy4KCQkJLy8gTkI6IFRoZSBNUDQgcGxheWVyIHdvcmtzIGRpZmZlcmVudGx5IGFuZCB0aGUgZXJyb3Igb2NjdXJzIGJlZm9yZSB0aGV5IGFyZSBzdGFydGVkLgoJCQlwcm9ncmVzc1VwZGF0ZXMoZmFsc2UpOwoJCQl0aW1lVXBkYXRlcyhmYWxzZSk7CgkJCW15U3RhdHVzLmVycm9yKCk7IC8vIFJlc2V0cyBzdGF0dXMgZXhjZXB0IHRoZSBzcmMsIGFuZCBpdCBzZXRzIHNyY0Vycm9yIHByb3BlcnR5LgoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FUlJPUiwgbXlTdGF0dXMpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBsb2FkT3BlbihlOkV2ZW50KTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJsb2FkT3BlbjoiKSk7CgkJCXdhaXRpbmdUaW1lci5zdG9wKCk7CgkJCW15U3RhdHVzLmxvYWRpbmcoKTsKCQkJaWYobXlTdGF0dXMucGxheU9uTG9hZCkgewoJCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IGZhbHNlOyAvLyBDYXB0dXJlIHRoZSBmbGFnCgkJCQkvLyB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FEU1RBUlQsIG15U3RhdHVzKSk7IC8vIFNvIGxvYWRzdGFydCBldmVudCBoYXBwZW5zIGJlZm9yZSBwbGF5IGV2ZW50IG9jY3Vycy4KCQkJCXBsYXkoKTsKCQkJfSBlbHNlIHsKCQkJCS8vIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX0xPQURTVEFSVCwgbXlTdGF0dXMpKTsKCQkJCXBhdXNlKCk7CgkJCX0KCQkJcHJvZ3Jlc3NVcGRhdGVzKHRydWUpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIGxvYWRDb21wbGV0ZShlOkV2ZW50KTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJsb2FkQ29tcGxldGU6IikpOwoJCQlteVN0YXR1cy5sb2FkZWQoKTsKCQkJcHJvZ3Jlc3NVcGRhdGVzKGZhbHNlKTsKCQkJcHJvZ3Jlc3NFdmVudCgpOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9DQU5QTEFZVEhST1VHSCwgbXlTdGF0dXMpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBzb3VuZENvbXBsZXRlSGFuZGxlcihlOkV2ZW50KTp2b2lkIHsKCQkJbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA9IDA7CgkJCW15U3RhdHVzLmlzUGxheWluZyA9IGZhbHNlOwoJCQl0aW1lVXBkYXRlcyhmYWxzZSk7CgkJCXRpbWVVcGRhdGVFdmVudCgpOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCwgbXlTdGF0dXMpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBwcm9ncmVzc1VwZGF0ZXMoYWN0aXZlOkJvb2xlYW4pOnZvaWQgewoJCQkvLyBVc2luZyBhIHRpbWVyIHJhdGhlciB0aGFuIEZsYXNoJ3MgbG9hZCBwcm9ncmVzcyBldmVudCwgYmVjYXVzZSB0aGF0IGV2ZW50IGdhdmUgZGF0YSBhdCBhYm91dCAyMDBIei4gVGhlIDEwSHogdGltZXIgaXMgY2xvc2VyIHRvIEhUTUw1IG5vcm0uCgkJCWlmKGFjdGl2ZSkgewoJCQkJcHJvZ3Jlc3NUaW1lci5zdGFydCgpOwoJCQl9IGVsc2UgewoJCQkJcHJvZ3Jlc3NUaW1lci5zdG9wKCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBwcm9ncmVzc0hhbmRsZXIoZTpUaW1lckV2ZW50KTp2b2lkIHsKCQkJcHJvZ3Jlc3NFdmVudCgpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHByb2dyZXNzRXZlbnQoKTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJwcm9ncmVzc0V2ZW50OiIpKTsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBteVN0YXR1cykpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHRpbWVVcGRhdGVzKGFjdGl2ZTpCb29sZWFuKTp2b2lkIHsKCQkJaWYoYWN0aXZlKSB7CgkJCQl0aW1lVXBkYXRlVGltZXIuc3RhcnQoKTsKCQkJCXBsYXlpbmdUaW1lci5zdGFydCgpOwoJCQl9IGVsc2UgewoJCQkJdGltZVVwZGF0ZVRpbWVyLnN0b3AoKTsKCQkJCXBsYXlpbmdUaW1lci5zdG9wKCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlSGFuZGxlcihlOlRpbWVyRXZlbnQpOnZvaWQgewoJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlRXZlbnQoKTp2b2lkIHsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1RJTUVVUERBVEUsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2luZyhhY3RpdmU6Qm9vbGVhbik6dm9pZCB7CgkJCWlmKGFjdGl2ZSkgewoJCQkJc2Vla2luZ0V2ZW50KCk7CgkJCQl3YWl0aW5nRXZlbnQoKTsKCQkJCXNlZWtpbmdUaW1lci5zdGFydCgpOwoJCQl9IGVsc2UgewoJCQkJc2Vla2luZ1RpbWVyLnN0b3AoKTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHNlZWtpbmdIYW5kbGVyKGU6VGltZXJFdmVudCk6dm9pZCB7CgkJCWlmKG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPD0gZ2V0RHVyYXRpb24oKSkgewoJCQkJc2Vla2VkRXZlbnQoKTsKCQkJCXNlZWtpbmcoZmFsc2UpOwoJCQkJaWYobXlTdGF0dXMucGxheU9uU2VlaykgewoJCQkJCW15U3RhdHVzLnBsYXlPblNlZWsgPSBmYWxzZTsgLy8gQ2FwdHVyZSB0aGUgZmxhZy4KCQkJCQlwbGF5KCk7CgkJCQl9CgkJCX0gZWxzZSBpZihteVN0YXR1cy5pc0xvYWRlZCAmJiAobXlTdGF0dXMucGF1c2VQb3NpdGlvbiA+IGdldER1cmF0aW9uKCkpKSB7CgkJCQkvLyBJbGxlZ2FsIHNlZWsgdGltZQoJCQkJc2Vla2luZyhmYWxzZSk7CgkJCQlzZWVrZWRFdmVudCgpOwoJCQkJcGF1c2UoMCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWVraW5nRXZlbnQoKTp2b2lkIHsKCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gdHJ1ZTsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtJTkcsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2VkRXZlbnQoKTp2b2lkIHsKCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gZmFsc2U7CgkJCXVwZGF0ZVN0YXR1c1ZhbHVlcygpOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLRUQsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gcGxheWluZ0hhbmRsZXIoZTpUaW1lckV2ZW50KTp2b2lkIHsKCQkJY2hlY2tQbGF5aW5nKGZhbHNlKTsgLy8gV2l0aG91dCBmb3JjaW5nIHBsYXlpbmcgZXZlbnQuCgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tQbGF5aW5nKGZvcmNlOkJvb2xlYW4pOnZvaWQgewoJCQlpZihteVNvdW5kLmlzQnVmZmVyaW5nKSB7CgkJCQlpZighbXlTdGF0dXMuaXNXYWl0aW5nKSB7CgkJCQkJd2FpdGluZ0V2ZW50KCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZihteVN0YXR1cy5pc1dhaXRpbmcgfHwgZm9yY2UpIHsKCQkJCQlwbGF5aW5nRXZlbnQoKTsKCQkJCX0KCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHdhaXRpbmdFdmVudCgpOnZvaWQgewoJCQlteVN0YXR1cy5pc1dhaXRpbmcgPSB0cnVlOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9XQUlUSU5HLCBteVN0YXR1cykpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHBsYXlpbmdFdmVudCgpOnZvaWQgewoJCQlteVN0YXR1cy5pc1dhaXRpbmcgPSBmYWxzZTsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfQ0FOUExBWSwgbXlTdGF0dXMpKTsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUExBWUlORywgbXlTdGF0dXMpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB3YWl0aW5nSGFuZGxlcihlOlRpbWVyRXZlbnQpOnZvaWQgewoJCQl3YWl0aW5nVGltZXIuc3RvcCgpOwoJCQlpZihteVN0YXR1cy5wbGF5T25Mb2FkKSB7CgkJCQl3YWl0aW5nRXZlbnQoKTsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gbG9hZCgpOkJvb2xlYW4gewoJCQlpZihteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkgewoJCQkJbXlTdGF0dXMuc3RhcnRpbmdEb3dubG9hZCgpOwoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BRFNUQVJULCBteVN0YXR1cykpOwoJCQkJd2FpdGluZ1RpbWVyLnN0YXJ0KCk7CgkJCQlteVNvdW5kLmxvYWQobXlSZXF1ZXN0LCBteUNvbnRleHQpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHBsYXkodGltZTpOdW1iZXIgPSBOYU4pOkJvb2xlYW4gewoJCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOwoKCQkJaWYoIWlzTmFOKHRpbWUpICYmIG15U3RhdHVzLnNyY1NldCkgewoJCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQkJbXlDaGFubmVsLnN0b3AoKTsKCQkJCQlteVN0YXR1cy5pc1BsYXlpbmcgPSBmYWxzZTsKCQkJCX0KCQkJCW15U3RhdHVzLnBhdXNlUG9zaXRpb24gPSB0aW1lOwoJCQl9CgoJCQlpZihteVN0YXR1cy5pc1N0YXJ0aW5nRG93bmxvYWQpIHsKCQkJCW15U3RhdHVzLnBsYXlPbkxvYWQgPSB0cnVlOyAvLyBSYWlzZSBmbGFnLCBjYXB0dXJlZCBpbiBsb2FkT3BlbigpCgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfSBlbHNlIGlmKG15U3RhdHVzLmxvYWRSZXF1aXJlZCgpKSB7CgkJCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gdHJ1ZTsgLy8gUmFpc2UgZmxhZywgY2FwdHVyZWQgaW4gbG9hZE9wZW4oKQoJCQkJcmV0dXJuIGxvYWQoKTsKCQkJfSBlbHNlIGlmKChteVN0YXR1cy5pc0xvYWRpbmcgfHwgbXlTdGF0dXMuaXNMb2FkZWQpICYmICFteVN0YXR1cy5pc1BsYXlpbmcpIHsKCQkJCWlmKG15U3RhdHVzLmlzTG9hZGVkICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBnZXREdXJhdGlvbigpKSB7IC8vIFRoZSB0aW1lIGlzIGludmFsaWQsIGllLiwgcGFzdCB0aGUgZW5kLgoJCQkJCW15U3RhdHVzLnBhdXNlUG9zaXRpb24gPSAwOwoJCQkJCXRpbWVVcGRhdGVzKGZhbHNlKTsKCQkJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQkJCQlpZih3YXNQbGF5aW5nKSB7IC8vIEZvciB3aGVuIHBsYXlpbmcgYW5kIHRoZW4gZ2V0IGEgcGxheShodWdlKQoJCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9QQVVTRSwgbXlTdGF0dXMpKTsKCQkJCQl9CgkJCQl9IGVsc2UgaWYobXlTdGF0dXMucGF1c2VQb3NpdGlvbiA+IGdldER1cmF0aW9uKCkpIHsKCQkJCQlteVN0YXR1cy5wbGF5T25TZWVrID0gdHJ1ZTsKCQkJCQlzZWVraW5nKHRydWUpOwoJCQkJfSBlbHNlIHsKCQkJCQlteVN0YXR1cy5pc1BsYXlpbmcgPSB0cnVlOyAvLyBTZXQgaW1tZWRpYXRlbHkgYmVmb3JlIHBsYXlpbmcuIENvdWxkIGFmZmVjdHMgZXZlbnRzLgoJCQkJCW15Q2hhbm5lbCA9IG15U291bmQucGxheShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsKCQkJCQlteUNoYW5uZWwuc291bmRUcmFuc2Zvcm0gPSBteVRyYW5zZm9ybTsKCQkJCQlteUNoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcihFdmVudC5TT1VORF9DT01QTEVURSwgc291bmRDb21wbGV0ZUhhbmRsZXIpOwoJCQkJCXRpbWVVcGRhdGVzKHRydWUpOwoJCQkJCWlmKCF3YXNQbGF5aW5nKSB7CgkJCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVksIG15U3RhdHVzKSk7CgkJCQkJfQoJCQkJCWNoZWNrUGxheWluZyh0cnVlKTsgLy8gRm9yY2UgdGhlIHBsYXlpbmcgZXZlbnQgdW5sZXNzIHdhaXRpbmcsIHdoaWNoIHdpbGwgYmUgZGVhbHQgd2l0aCBpbiB0aGUgcGxheWluZ1RpbWVyLgoJCQkJfQoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHBhdXNlKHRpbWU6TnVtYmVyID0gTmFOKTpCb29sZWFuIHsKCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IGZhbHNlOyAvLyBSZXNldCBmbGFnIGluIGNhc2UgbG9hZC9wbGF5IGlzc3VlZCBpbW1lZGlhdGVseSBiZWZvcmUgdGhpcyBjb21tYW5kLCBpZS4sIGJlZm9yZSBsb2FkT3BlbigpIGV2ZW50LgoJCQlteVN0YXR1cy5wbGF5T25TZWVrID0gZmFsc2U7IC8vIFJlc2V0IGZsYWcgaW4gY2FzZSBwbGF5KHRpbWUpIGlzc3VlZCBiZWZvcmUgdGhlIGNvbW1hbmQgYW5kIGlzIHN0aWxsIHNlZWtpbmcgdG8gdGltZSBzZXQuCgoJCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOwoKCQkJLy8gVG8gYXZvaWQgcG9zc2libGUgbG9vcHMgd2l0aCB0aW1ldXBkYXRlIGFuZCBwYXVzZSh0aW1lKS4gQSBwYXVzZSgpIGRvZXMgbm90IGhhdmUgdGhlIHByb2JsZW0uCgkJCXZhciBhbHJlYWR5UGF1c2VkQXRUaW1lOkJvb2xlYW4gPSBmYWxzZTsKCQkJaWYoIWlzTmFOKHRpbWUpICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPT0gdGltZSkgewoJCQkJYWxyZWFkeVBhdXNlZEF0VGltZSA9IHRydWU7CgkJCX0KCgkJCWlmKG15U3RhdHVzLmlzUGxheWluZykgewoJCQkJbXlTdGF0dXMuaXNQbGF5aW5nID0gZmFsc2U7CgkJCQlteUNoYW5uZWwuc3RvcCgpOwoJCQkJaWYobXlDaGFubmVsLnBvc2l0aW9uID4gMCkgeyAvLyBSZXF1aXJlZCBvdGhlcndpc2UgYSBmYXN0IHBsYXkgdGhlbiBwYXVzZSBjYXVzZXMgbXlDaGFubmVsLnBvc2l0aW9uIHRvIGVxdWFsIHplcm8gYW5kIG5vdCB0aGUgY29ycmVjdCB2YWx1ZS4gaWUuLCBXaGVuIGl0IGhhcHBlbnMgbGVhdmUgcGF1c2VQb3NpdGlvbiBhbG9uZS4KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gbXlDaGFubmVsLnBvc2l0aW9uOwoJCQkJfQoJCQl9CgoJCQlpZighaXNOYU4odGltZSkgJiYgbXlTdGF0dXMuc3JjU2V0KSB7CgkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gdGltZTsKCQkJfQoKCQkJaWYod2FzUGxheWluZykgewoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUEFVU0UsIG15U3RhdHVzKSk7CgkJCX0KCQkJCgkJCWlmKG15U3RhdHVzLmlzU3RhcnRpbmdEb3dubG9hZCkgewoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSBpZihteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkgewoJCQkJaWYodGltZSA+IDApIHsgLy8gV2UgZG8gbm90IHdhbnQgdGhlIHN0b3AoKSBjb21tYW5kLCB3aGljaCBkb2VzIHBhdXNlKDApLCBjYXVzaW5nIGEgbG9hZCBvcGVyYXRpb24uCgkJCQkJcmV0dXJuIGxvYWQoKTsKCQkJCX0gZWxzZSB7CgkJCQkJcmV0dXJuIHRydWU7IC8vIFRlY2huaWNhbGx5IHRoZSBwYXVzZSgwKSBzdWNjZWVkZWQuIGllLiwgSXQgZGlkIG5vdGhpbmcsIHNpbmNlIG5vdGhpbmcgd2FzIHJlcXVpcmVkLgoJCQkJfQoJCQl9IGVsc2UgaWYobXlTdGF0dXMuaXNMb2FkaW5nIHx8IG15U3RhdHVzLmlzTG9hZGVkKSB7CgkJCQlpZihteVN0YXR1cy5pc0xvYWRlZCAmJiBteVN0YXR1cy5wYXVzZVBvc2l0aW9uID4gZ2V0RHVyYXRpb24oKSkgeyAvLyBUaGUgdGltZSBpcyBpbnZhbGlkLCBpZS4sIHBhc3QgdGhlIGVuZC4KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsKCQkJCX0gZWxzZSBpZihteVN0YXR1cy5wYXVzZVBvc2l0aW9uID4gZ2V0RHVyYXRpb24oKSkgewoJCQkJCXNlZWtpbmcodHJ1ZSk7CgkJCQl9CgkJCQl0aW1lVXBkYXRlcyhmYWxzZSk7CgkJCQkvLyBOZWVkIHRvIGJlIGNhcmVmdWwgd2l0aCB0aW1ldXBkYXRlIGV2ZW50LCBvdGhlcndpc2UgYSBwYXVzZSBpbiBhIHRpbWV1cGRhdGUgZXZlbnQgY2FuIGNhdXNlIGEgbG9vcC4KCQkJCS8vIE5laXRoZXIgcGF1c2UoKSBub3IgcGF1c2UodGltZSkgd2lsbCBjYXVzZSBhIHRpbWV1cGRhdGUgbG9vcC4KCQkJCWlmKHdhc1BsYXlpbmcgfHwgIWlzTmFOKHRpbWUpICYmICFhbHJlYWR5UGF1c2VkQXRUaW1lKSB7CgkJCQkJdGltZVVwZGF0ZUV2ZW50KCk7CgkJCQl9CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gcGxheUhlYWQocGVyY2VudDpOdW1iZXIpOkJvb2xlYW4gewoJCQl2YXIgdGltZTpOdW1iZXIgPSBwZXJjZW50ICogZ2V0RHVyYXRpb24oKSAvIDEwMDsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nIHx8IG15U3RhdHVzLnBsYXlPbkxvYWQgfHwgbXlTdGF0dXMucGxheU9uU2VlaykgewoJCQkJcmV0dXJuIHBsYXkodGltZSk7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gcGF1c2UodGltZSk7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHNldFZvbHVtZSh2Ok51bWJlcik6dm9pZCB7CgkJCW15U3RhdHVzLnZvbHVtZSA9IHY7CgkJCW15VHJhbnNmb3JtLnZvbHVtZSA9IHY7CgkJCW15Q2hhbm5lbC5zb3VuZFRyYW5zZm9ybSA9IG15VHJhbnNmb3JtOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHVwZGF0ZVN0YXR1c1ZhbHVlcygpOnZvaWQgewoJCQlteVN0YXR1cy5zZWVrUGVyY2VudCA9IDEwMCAqIGdldExvYWRSYXRpbygpOwoJCQlteVN0YXR1cy5jdXJyZW50VGltZSA9IGdldEN1cnJlbnRUaW1lKCk7CgkJCW15U3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSAxMDAgKiBnZXRDdXJyZW50UmF0aW9SZWwoKTsKCQkJbXlTdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSA9IDEwMCAqIGdldEN1cnJlbnRSYXRpb0FicygpOwoJCQlteVN0YXR1cy5kdXJhdGlvbiA9IGdldER1cmF0aW9uKCk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRMb2FkUmF0aW8oKTpOdW1iZXIgewoJCQlpZigobXlTdGF0dXMuaXNMb2FkaW5nIHx8IG15U3RhdHVzLmlzTG9hZGVkKSAmJiBteVNvdW5kLmJ5dGVzVG90YWwgPiAwKSB7CgkJCQlyZXR1cm4gbXlTb3VuZC5ieXRlc0xvYWRlZCAvIG15U291bmQuYnl0ZXNUb3RhbDsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAwOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXREdXJhdGlvbigpOk51bWJlciB7CgkJCWlmKG15U291bmQubGVuZ3RoID4gMCkgewoJCQkJcmV0dXJuIG15U291bmQubGVuZ3RoOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIDA7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lKCk6TnVtYmVyIHsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQlyZXR1cm4gbXlDaGFubmVsLnBvc2l0aW9uOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIG15U3RhdHVzLnBhdXNlUG9zaXRpb247CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRSYXRpb1JlbCgpOk51bWJlciB7CgkJCWlmKChnZXREdXJhdGlvbigpID4gMCkgJiYgKGdldEN1cnJlbnRUaW1lKCkgPD0gZ2V0RHVyYXRpb24oKSkpIHsKCQkJCXJldHVybiBnZXRDdXJyZW50VGltZSgpIC8gZ2V0RHVyYXRpb24oKTsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAwOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRDdXJyZW50UmF0aW9BYnMoKTpOdW1iZXIgewoJCQlyZXR1cm4gZ2V0Q3VycmVudFJhdGlvUmVsKCkgKiBnZXRMb2FkUmF0aW8oKTsKCQl9Cgl9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerMp4.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIERhdGU6IDI5dGggSmFudWFyeSAyMDEzCiAqLwoKcGFja2FnZSBoYXBweXdvcm0ualBsYXllciB7CglpbXBvcnQgZmxhc2guZGlzcGxheS5TcHJpdGU7CgoJaW1wb3J0IGZsYXNoLm1lZGlhLlZpZGVvOwoJaW1wb3J0IGZsYXNoLm1lZGlhLlNvdW5kVHJhbnNmb3JtOwoKCWltcG9ydCBmbGFzaC5uZXQuTmV0Q29ubmVjdGlvbjsKCWltcG9ydCBmbGFzaC5uZXQuTmV0U3RyZWFtOwoKCWltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsKCglpbXBvcnQgZmxhc2guZXZlbnRzLk5ldFN0YXR1c0V2ZW50OwoJaW1wb3J0IGZsYXNoLmV2ZW50cy5TZWN1cml0eUVycm9yRXZlbnQ7CglpbXBvcnQgZmxhc2guZXZlbnRzLlRpbWVyRXZlbnQ7CgoJcHVibGljIGNsYXNzIEpwbGF5ZXJNcDQgZXh0ZW5kcyBTcHJpdGUgewoJCQoJCXB1YmxpYyB2YXIgbXlWaWRlbzpWaWRlbyA9IG5ldyBWaWRlbygpOwoJCXByaXZhdGUgdmFyIG15Q29ubmVjdGlvbjpOZXRDb25uZWN0aW9uOwoJCXByaXZhdGUgdmFyIG15U3RyZWFtOk5ldFN0cmVhbTsKCQkKCQlwcml2YXRlIHZhciBteVRyYW5zZm9ybTpTb3VuZFRyYW5zZm9ybSA9IG5ldyBTb3VuZFRyYW5zZm9ybSgpOwoKCQlwdWJsaWMgdmFyIG15U3RhdHVzOkpwbGF5ZXJTdGF0dXMgPSBuZXcgSnBsYXllclN0YXR1cygpOwoJCQoJCXByaXZhdGUgdmFyIHRpbWVVcGRhdGVUaW1lcjpUaW1lciA9IG5ldyBUaW1lcigyNTAsIDApOyAvLyBNYXRjaGVkIHRvIEhUTUwgZXZlbnQgZnJlcQoJCXByaXZhdGUgdmFyIHByb2dyZXNzVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMjUwLCAwKTsgLy8gTWF0Y2hlZCB0byBIVE1MIGV2ZW50IGZyZXEKCQlwcml2YXRlIHZhciBzZWVraW5nVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMTAwLCAwKTsgLy8gSW50ZXJuYWw6IEhvdyBvZnRlbiBzZWVraW5nIGlzIGNoZWNrZWQgdG8gc2VlIGlmIGl0IGlzIG92ZXIuCgoJCXB1YmxpYyBmdW5jdGlvbiBKcGxheWVyTXA0KHZvbHVtZTpOdW1iZXIpIHsKCQkJbXlDb25uZWN0aW9uID0gbmV3IE5ldENvbm5lY3Rpb24oKTsKCQkJbXlDb25uZWN0aW9uLmFkZEV2ZW50TGlzdGVuZXIoTmV0U3RhdHVzRXZlbnQuTkVUX1NUQVRVUywgbmV0U3RhdHVzSGFuZGxlcik7CgkJCW15Q29ubmVjdGlvbi5hZGRFdmVudExpc3RlbmVyKFNlY3VyaXR5RXJyb3JFdmVudC5TRUNVUklUWV9FUlJPUiwgc2VjdXJpdHlFcnJvckhhbmRsZXIpOwoJCQlteVZpZGVvLnNtb290aGluZyA9IHRydWU7CgkJCXRoaXMuYWRkQ2hpbGQobXlWaWRlbyk7CgkJCQoJCQl0aW1lVXBkYXRlVGltZXIuYWRkRXZlbnRMaXN0ZW5lcihUaW1lckV2ZW50LlRJTUVSLCB0aW1lVXBkYXRlSGFuZGxlcik7CgkJCXByb2dyZXNzVGltZXIuYWRkRXZlbnRMaXN0ZW5lcihUaW1lckV2ZW50LlRJTUVSLCBwcm9ncmVzc0hhbmRsZXIpOwoJCQlzZWVraW5nVGltZXIuYWRkRXZlbnRMaXN0ZW5lcihUaW1lckV2ZW50LlRJTUVSLCBzZWVraW5nSGFuZGxlcik7CgoJCQlteVN0YXR1cy52b2x1bWUgPSB2b2x1bWU7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gcHJvZ3Jlc3NVcGRhdGVzKGFjdGl2ZTpCb29sZWFuKTp2b2lkIHsKCQkJaWYoYWN0aXZlKSB7CgkJCQlwcm9ncmVzc1RpbWVyLnN0YXJ0KCk7CgkJCX0gZWxzZSB7CgkJCQlwcm9ncmVzc1RpbWVyLnN0b3AoKTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHByb2dyZXNzSGFuZGxlcihlOlRpbWVyRXZlbnQpOnZvaWQgewoJCQlpZihteVN0YXR1cy5pc0xvYWRpbmcpIHsKCQkJCWlmKGdldExvYWRSYXRpbygpID09IDEpIHsgLy8gQ2xvc2UgYXMgY2FuIGdldCB0byBhIGxvYWRDb21wbGV0ZSBldmVudCBzaW5jZSBjbGllbnQub25QbGF5U3RhdHVzIG9ubHkgd29ya3Mgd2l0aCBGTVMKCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBteVN0YXR1cywgInByb2dyZXNzSGFuZGxlcjogbG9hZENvbXBsZXRlIikpOwoJCQkJCW15U3RhdHVzLmxvYWRlZCgpOwoJCQkJCXByb2dyZXNzVXBkYXRlcyhmYWxzZSk7CgkJCQl9CgkJCX0KCQkJcHJvZ3Jlc3NFdmVudCgpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHByb2dyZXNzRXZlbnQoKTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJwcm9ncmVzc0V2ZW50OiIpKTsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBteVN0YXR1cykpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHRpbWVVcGRhdGVzKGFjdGl2ZTpCb29sZWFuKTp2b2lkIHsKCQkJaWYoYWN0aXZlKSB7CgkJCQl0aW1lVXBkYXRlVGltZXIuc3RhcnQoKTsKCQkJfSBlbHNlIHsKCQkJCXRpbWVVcGRhdGVUaW1lci5zdG9wKCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlSGFuZGxlcihlOlRpbWVyRXZlbnQpOnZvaWQgewoJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlRXZlbnQoKTp2b2lkIHsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1RJTUVVUERBVEUsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2luZyhhY3RpdmU6Qm9vbGVhbik6dm9pZCB7CgkJCWlmKGFjdGl2ZSkgewoJCQkJaWYoIW15U3RhdHVzLmlzU2Vla2luZykgewoJCQkJCXNlZWtpbmdFdmVudCgpOwoJCQkJfQoJCQkJc2Vla2luZ1RpbWVyLnN0YXJ0KCk7CgkJCX0gZWxzZSB7CgkJCQlpZihteVN0YXR1cy5pc1NlZWtpbmcpIHsKCQkJCQlzZWVrZWRFdmVudCgpOwoJCQkJfQoJCQkJc2Vla2luZ1RpbWVyLnN0b3AoKTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHNlZWtpbmdIYW5kbGVyKGU6VGltZXJFdmVudCk6dm9pZCB7CgkJCWlmKGdldFNlZWtUaW1lUmF0aW8oKSA8PSBnZXRMb2FkUmF0aW8oKSkgewoJCQkJc2Vla2luZyhmYWxzZSk7CgkJCQlpZihteVN0YXR1cy5wbGF5T25TZWVrKSB7CgkJCQkJbXlTdGF0dXMucGxheU9uU2VlayA9IGZhbHNlOyAvLyBDYXB0dXJlIHRoZSBmbGFnLgoJCQkJCXBsYXkobXlTdGF0dXMucGF1c2VQb3NpdGlvbik7IC8vIE11c3QgcGFzcyB0aW1lIG9yIHRoZSBzZWVrIHRpbWUgaXMgbmV2ZXIgc2V0LgoJCQkJfSBlbHNlIHsKCQkJCQlwYXVzZShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsgLy8gTXVzdCBwYXNzIHRpbWUgb3IgdGhlIHN0cmVhbS50aW1lIGlzIHJlYWQuCgkJCQl9CgkJCX0gZWxzZSBpZihteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbikgewoJCQkJLy8gSWxsZWdhbCBzZWVrIHRpbWUKCQkJCXNlZWtpbmcoZmFsc2UpOwoJCQkJcGF1c2UoMCk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWVraW5nRXZlbnQoKTp2b2lkIHsKCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gdHJ1ZTsKCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtJTkcsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2VkRXZlbnQoKTp2b2lkIHsKCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gZmFsc2U7CgkJCXVwZGF0ZVN0YXR1c1ZhbHVlcygpOwoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLRUQsIG15U3RhdHVzKSk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gbmV0U3RhdHVzSGFuZGxlcihlOk5ldFN0YXR1c0V2ZW50KTp2b2lkIHsKCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJuZXRTdGF0dXNIYW5kbGVyOiAnIiArIGUuaW5mby5jb2RlICsgIiciKSk7CgkJCXN3aXRjaChlLmluZm8uY29kZSkgewoJCQkJY2FzZSAiTmV0Q29ubmVjdGlvbi5Db25uZWN0LlN1Y2Nlc3MiOgoJCQkJCWNvbm5lY3RTdHJlYW0oKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIk5ldFN0cmVhbS5QbGF5LlN0YXJ0IjoKCQkJCQkvLyBUaGlzIGV2ZW50IGNvZGUgb2NjdXJzIG9uY2UsIHdoZW4gdGhlIG1lZGlhIGlzIG9wZW5lZC4gRXF1aXYgdG8gbG9hZE9wZW4oKSBpbiBtcDMgcGxheWVyLgoJCQkJCW15U3RhdHVzLmxvYWRpbmcoKTsKCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FEU1RBUlQsIG15U3RhdHVzKSk7CgkJCQkJcHJvZ3Jlc3NVcGRhdGVzKHRydWUpOwoJCQkJCS8vIFNlZSBvbk1ldGFEYXRhSGFuZGxlcigpIGZvciBvdGhlciBjb25kaXRpb24sIHNpbmNlIGR1cmF0aW9uIGlzIHZpdGFsLgoJCQkJCWJyZWFrOwoJCQkJY2FzZSAiTmV0U3RyZWFtLlBsYXkuU3RvcCI6CgkJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJOZXRTdHJlYW0uUGxheS5TdG9wOiBnZXREdXJhdGlvbigpIC0gZ2V0Q3VycmVudFRpbWUoKSA9ICIgKyAoZ2V0RHVyYXRpb24oKSAtIGdldEN1cnJlbnRUaW1lKCkpKSk7CgoJCQkJCS8vIENoZWNrIGlmIG1lZGlhIGlzIGF0IHRoZSBlbmQgKG9yIGNsb3NlKSBvdGhlcndpc2UgdGhpcyB3YXMgZHVlIHRvIGRvd25sb2FkIGJhbmR3aWR0aCBzdG9wcGluZyBwbGF5YmFjay4gaWUuLCBEb3dubG9hZCBpcyBub3QgZmFzdCBlbm91Z2guCgkJCQkJaWYoTWF0aC5hYnMoZ2V0RHVyYXRpb24oKSAtIGdldEN1cnJlbnRUaW1lKCkpIDwgMTUwKSB7IC8vIFRlc3RpbmcgZm91bmQgMTUwbXMgd29ya2VkIGJlc3QgZm9yIE00QSBmaWxlcywgd2hlcmUgcGxheUhlYWQoOTkuOSkgY2F1c2VkIGEgc3R1Y2sgc3RhdGUgZHVlIHRvIGZpcmluZyB3aXRoIH4xMTZtcyBsZWZ0IHRvIHBsYXkuCgkJCQkJCWVuZGVkRXZlbnQoKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQljYXNlICJOZXRTdHJlYW0uU2Vlay5JbnZhbGlkVGltZSI6CgkJCQkJLy8gVXNlZCBmb3IgY2FwdHVyaW5nIGludmFsaWQgc2V0IHRpbWVzIGFuZCBjbGlja3Mgb24gdGhlIGVuZCBvZiB0aGUgcHJvZ3Jlc3MgYmFyLgoJCQkJCWVuZGVkRXZlbnQoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIk5ldFN0cmVhbS5QbGF5LlN0cmVhbU5vdEZvdW5kIjoKCQkJCQlteVN0YXR1cy5lcnJvcigpOyAvLyBSZXNldHMgc3RhdHVzIGV4Y2VwdCB0aGUgc3JjLCBhbmQgaXQgc2V0cyBzcmNFcnJvciBwcm9wZXJ0eS4KCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FUlJPUiwgbXlTdGF0dXMpKTsKCQkJCQlicmVhazsKCQkJfQoJCQkvLyAiTmV0U3RyZWFtLlNlZWsuTm90aWZ5IiBldmVudCBjb2RlIGlzIG5vdCB2ZXJ5IHVzZWZ1bC4gSXQgb2NjdXJzIGFmdGVyIGV2ZXJ5IHNlZWsodCkgY29tbWFuZCBpc3N1ZWQgYW5kIGRvZXMgbm90IGFwcGVhciB0byB3YWl0IGZvciB0aGUgbWVkaWEgdG8gYmUgcmVhZHkuCgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZW5kZWRFdmVudCgpOnZvaWQgewoJCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOwoJCQlwYXVzZSgwKTsKCQkJdGltZVVwZGF0ZXMoZmFsc2UpOwoJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQkJaWYod2FzUGxheWluZykgewoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsIG15U3RhdHVzKSk7CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWN1cml0eUVycm9ySGFuZGxlcihldmVudDpTZWN1cml0eUVycm9yRXZlbnQpOnZvaWQgewoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBteVN0YXR1cywgInNlY3VyaXR5RXJyb3JIYW5kbGVyLiIpKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBjb25uZWN0U3RyZWFtKCk6dm9pZCB7CgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csIG15U3RhdHVzLCAiY29ubmVjdFN0cmVhbS4iKSk7CgkJCXZhciBjdXN0b21DbGllbnQ6T2JqZWN0ID0gbmV3IE9iamVjdCgpOwoJCQljdXN0b21DbGllbnQub25NZXRhRGF0YSA9IG9uTWV0YURhdGFIYW5kbGVyOwoJCQkvLyBjdXN0b21DbGllbnQub25QbGF5U3RhdHVzID0gb25QbGF5U3RhdHVzSGFuZGxlcjsgLy8gQWNjb3JkaW5nIHRvIHRoZSBmb3J1bXMgYW5kIG15IHRlc3RzLCBvblBsYXlTdGF0dXMgb25seSB3b3JrcyB3aXRoIEZNUyAoRmxhc2ggTWVkaWEgU2VydmVyKS4KCQkJbXlTdHJlYW0gPSBudWxsOwoJCQlteVN0cmVhbSA9IG5ldyBOZXRTdHJlYW0obXlDb25uZWN0aW9uKTsKCQkJbXlTdHJlYW0uYWRkRXZlbnRMaXN0ZW5lcihOZXRTdGF0dXNFdmVudC5ORVRfU1RBVFVTLCBuZXRTdGF0dXNIYW5kbGVyKTsKCQkJbXlTdHJlYW0uY2xpZW50ID0gY3VzdG9tQ2xpZW50OwoJCQlteVZpZGVvLmF0dGFjaE5ldFN0cmVhbShteVN0cmVhbSk7CgkJCXNldFZvbHVtZShteVN0YXR1cy52b2x1bWUpOwoJCQlteVN0cmVhbS5wbGF5KG15U3RhdHVzLnNyYyk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBzZXRGaWxlKHNyYzpTdHJpbmcpOnZvaWQgewoJCQlpZihteVN0cmVhbSAhPSBudWxsKSB7CgkJCQlteVN0cmVhbS5jbG9zZSgpOwoJCQl9CgkJCW15VmlkZW8uY2xlYXIoKTsKCQkJcHJvZ3Jlc3NVcGRhdGVzKGZhbHNlKTsKCQkJdGltZVVwZGF0ZXMoZmFsc2UpOwoKCQkJbXlTdGF0dXMucmVzZXQoKTsKCQkJbXlTdGF0dXMuc3JjID0gc3JjOwoJCQlteVN0YXR1cy5zcmNTZXQgPSB0cnVlOwoJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQl9CgkJcHVibGljIGZ1bmN0aW9uIGNsZWFyRmlsZSgpOnZvaWQgewoJCQlzZXRGaWxlKCIiKTsKCQkJbXlTdGF0dXMuc3JjU2V0ID0gZmFsc2U7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBsb2FkKCk6Qm9vbGVhbiB7CgkJCWlmKG15U3RhdHVzLmxvYWRSZXF1aXJlZCgpKSB7CgkJCQlteVN0YXR1cy5zdGFydGluZ0Rvd25sb2FkKCk7CgkJCQlteUNvbm5lY3Rpb24uY29ubmVjdChudWxsKTsKCQkJCXJldHVybiB0cnVlOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBwbGF5KHRpbWU6TnVtYmVyID0gTmFOKTpCb29sZWFuIHsKCQkJdmFyIHdhc1BsYXlpbmc6Qm9vbGVhbiA9IG15U3RhdHVzLmlzUGxheWluZzsKCgkJCWlmKCFpc05hTih0aW1lKSAmJiBteVN0YXR1cy5zcmNTZXQpIHsKCQkJCWlmKG15U3RhdHVzLmlzUGxheWluZykgewoJCQkJCW15U3RyZWFtLnBhdXNlKCk7CgkJCQkJbXlTdGF0dXMuaXNQbGF5aW5nID0gZmFsc2U7CgkJCQl9CgkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gdGltZTsKCQkJfQoKCQkJaWYobXlTdGF0dXMuaXNTdGFydGluZ0Rvd25sb2FkKSB7CgkJCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gdHJ1ZTsgLy8gUmFpc2UgZmxhZywgY2FwdHVyZWQgaW4gb25NZXRhRGF0YUhhbmRsZXIoKQoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSBpZihteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkgewoJCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IHRydWU7IC8vIFJhaXNlIGZsYWcsIGNhcHR1cmVkIGluIG9uTWV0YURhdGFIYW5kbGVyKCkKCQkJCXJldHVybiBsb2FkKCk7CgkJCX0gZWxzZSBpZigobXlTdGF0dXMuaXNMb2FkaW5nIHx8IG15U3RhdHVzLmlzTG9hZGVkKSAmJiAhbXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQlpZihteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbikgeyAvLyBUaGUgdGltZSBpcyBpbnZhbGlkLCBpZS4sIHBhc3QgdGhlIGVuZC4KCQkJCQlteVN0cmVhbS5wYXVzZSgpOyAvLyBTaW5jZSBpdCBpcyBwbGF5aW5nIGJ5IGRlZmF1bHQgYXQgdGhpcyBwb2ludC4KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsKCQkJCQlteVN0cmVhbS5zZWVrKDApOwoJCQkJCXRpbWVVcGRhdGVzKGZhbHNlKTsKCQkJCQl0aW1lVXBkYXRlRXZlbnQoKTsKCQkJCQlpZih3YXNQbGF5aW5nKSB7IC8vIEZvciB3aGVuIHBsYXlpbmcgYW5kIHRoZW4gZ2V0IGEgcGxheShodWdlKQoJCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9QQVVTRSwgbXlTdGF0dXMpKTsKCQkJCQl9CgkJCQl9IGVsc2UgaWYoZ2V0U2Vla1RpbWVSYXRpbygpID4gZ2V0TG9hZFJhdGlvKCkpIHsgLy8gVXNlIGFuIGVzdGltYXRlIGJhc2VkIG9uIHRoZSBkb3dubG9hZGVkIGFtb3VudAoJCQkJCW15U3RhdHVzLnBsYXlPblNlZWsgPSB0cnVlOwoJCQkJCXNlZWtpbmcodHJ1ZSk7CgkJCQkJbXlTdHJlYW0ucGF1c2UoKTsgLy8gU2luY2UgaXQgaXMgcGxheWluZyBieSBkZWZhdWx0IGF0IHRoaXMgcG9pbnQuCgkJCQl9IGVsc2UgewoJCQkJCWlmKCFpc05hTih0aW1lKSkgeyAvLyBBdm9pZCB1c2luZyBzZWVrKCkgd2hlbiBpdCBpcyBhbHJlYWR5IGNvcnJlY3QuCgkJCQkJCW15U3RyZWFtLnNlZWsobXlTdGF0dXMucGF1c2VQb3NpdGlvbi8xMDAwKTsgLy8gU2luY2UgdGltZSBpcyBpbiBtcyBhbmQgc2VlaygpIHRha2VzIHNlY29uZHMKCQkJCQl9CgkJCQkJbXlTdGF0dXMuaXNQbGF5aW5nID0gdHJ1ZTsgLy8gU2V0IGltbWVkaWF0ZWx5IGJlZm9yZSBwbGF5aW5nLiBDb3VsZCBhZmZlY3RzIGV2ZW50cy4KCQkJCQlteVN0cmVhbS5yZXN1bWUoKTsKCQkJCQl0aW1lVXBkYXRlcyh0cnVlKTsKCQkJCQlpZighd2FzUGxheWluZykgewoJCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9QTEFZLCBteVN0YXR1cykpOwoJCQkJCX0KCQkJCX0KCQkJCXJldHVybiB0cnVlOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBwYXVzZSh0aW1lOk51bWJlciA9IE5hTik6Qm9vbGVhbiB7CgkJCW15U3RhdHVzLnBsYXlPbkxvYWQgPSBmYWxzZTsgLy8gUmVzZXQgZmxhZyBpbiBjYXNlIGxvYWQvcGxheSBpc3N1ZWQgaW1tZWRpYXRlbHkgYmVmb3JlIHRoaXMgY29tbWFuZCwgaWUuLCBiZWZvcmUgb25NZXRhZGF0YSgpIGV2ZW50LgoJCQlteVN0YXR1cy5wbGF5T25TZWVrID0gZmFsc2U7IC8vIFJlc2V0IGZsYWcgaW4gY2FzZSBwbGF5KHRpbWUpIGlzc3VlZCBiZWZvcmUgdGhlIGNvbW1hbmQgYW5kIGlzIHN0aWxsIHNlZWtpbmcgdG8gdGltZSBzZXQuCgoJCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOwoKCQkJLy8gVG8gYXZvaWQgcG9zc2libGUgbG9vcHMgd2l0aCB0aW1ldXBkYXRlIGFuZCBwYXVzZSh0aW1lKS4gQSBwYXVzZSgpIGRvZXMgbm90IGhhdmUgdGhlIHByb2JsZW0uCgkJCXZhciBhbHJlYWR5UGF1c2VkQXRUaW1lOkJvb2xlYW4gPSBmYWxzZTsKCQkJaWYoIWlzTmFOKHRpbWUpICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPT0gdGltZSkgewoJCQkJYWxyZWFkeVBhdXNlZEF0VGltZSA9IHRydWU7CgkJCX0KCgkJCS8vIE5lZWQgdG8gd2FpdCBmb3IgbWV0YWRhdGEgdG8gbG9hZCBiZWZvcmUgZXZlciBpc3N1aW5nIGEgcGF1c2UuIFRoZSBtZXRhZGF0YSBoYW5kbGVyIHdpbGwgY2FsbCB0aGlzIGZ1bmN0aW9uIGlmIG5lZWRlZCwgd2hlbiByZWFkeS4KCQkJaWYobXlTdHJlYW0gIT0gbnVsbCAmJiBteVN0YXR1cy5tZXRhRGF0YVJlYWR5KSB7IC8vIG15U3RyZWFtIGlzIGEgbnVsbCB1bnRpbCB0aGUgMXN0IG1lZGlhIGlzIGxvYWRlZC4gaWUuLCBUaGUgMXN0IGV2ZXIgc2V0TWVkaWEgYmVpbmcgZm9sbG93ZWQgYnkgYSBwYXVzZSgpIG9yIHBhdXNlKHQpLgoJCQkJbXlTdHJlYW0ucGF1c2UoKTsKCQkJfQoJCQlpZihteVN0YXR1cy5pc1BsYXlpbmcpIHsKCQkJCW15U3RhdHVzLmlzUGxheWluZyA9IGZhbHNlOwoJCQkJbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA9IG15U3RyZWFtLnRpbWUgKiAxMDAwOwoJCQl9CgkJCQoJCQlpZighaXNOYU4odGltZSkgJiYgbXlTdGF0dXMuc3JjU2V0KSB7CgkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gdGltZTsKCQkJfQoKCQkJaWYod2FzUGxheWluZykgewoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUEFVU0UsIG15U3RhdHVzKSk7CgkJCX0KCgkJCWlmKG15U3RhdHVzLmlzU3RhcnRpbmdEb3dubG9hZCkgewoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSBpZihteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkgewoJCQkJaWYodGltZSA+IDApIHsgLy8gV2UgZG8gbm90IHdhbnQgdGhlIHN0b3AoKSBjb21tYW5kLCB3aGljaCBkb2VzIHBhdXNlKDApLCBjYXVzaW5nIGEgbG9hZCBvcGVyYXRpb24uCgkJCQkJcmV0dXJuIGxvYWQoKTsKCQkJCX0gZWxzZSB7CgkJCQkJcmV0dXJuIHRydWU7IC8vIFRlY2huaWNhbGx5IHRoZSBwYXVzZSgwKSBzdWNjZWVkZWQuIGllLiwgSXQgZGlkIG5vdGhpbmcsIHNpbmNlIG5vdGhpbmcgd2FzIHJlcXVpcmVkLgoJCQkJfQoJCQl9IGVsc2UgaWYobXlTdGF0dXMuaXNMb2FkaW5nIHx8IG15U3RhdHVzLmlzTG9hZGVkKSB7CgkJCQlpZihteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbikgeyAvLyBUaGUgdGltZSBpcyBpbnZhbGlkLCBpZS4sIHBhc3QgdGhlIGVuZC4KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsKCQkJCQlteVN0cmVhbS5zZWVrKDApOwoJCQkJCXNlZWtlZEV2ZW50KCk7IC8vIERlYWxzIHdpdGggc2Vla2luZyBlZmZlY3Qgd2hlbiB1c2luZyBzZXRNZWRpYSgpIHRoZW4gcGF1c2UoaHVnZSkuIE5COiBUaGVyZSBpcyBubyBwcmVjZWVkaW5nIHNlZWtpbmcgZXZlbnQuCgkJCQl9IGVsc2UgaWYoIWlzTmFOKHRpbWUpKSB7CgkJCQkJaWYoZ2V0U2Vla1RpbWVSYXRpbygpID4gZ2V0TG9hZFJhdGlvKCkpIHsgLy8gVXNlIGFuIGVzdGltYXRlIGJhc2VkIG9uIHRoZSBkb3dubG9hZGVkIGFtb3VudAoJCQkJCQlzZWVraW5nKHRydWUpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmKG15U3RhdHVzLm1ldGFEYXRhUmVhZHkpIHsgLy8gT3RoZXJ3aXNlIHNlZWsoMCkgd2lsbCBzdG9wIHRoZSBtZXRhZGF0YSBsb2FkaW5nLgoJCQkJCQkJbXlTdHJlYW0uc2VlayhteVN0YXR1cy5wYXVzZVBvc2l0aW9uLzEwMDApOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJdGltZVVwZGF0ZXMoZmFsc2UpOwoJCQkJLy8gTmVlZCB0byBiZSBjYXJlZnVsIHdpdGggdGltZXVwZGF0ZSBldmVudCwgb3RoZXJ3aXNlIGEgcGF1c2UgaW4gYSB0aW1ldXBkYXRlIGV2ZW50IGNhbiBjYXVzZSBhIGxvb3AuCgkJCQkvLyBOZWl0aGVyIHBhdXNlKCkgbm9yIHBhdXNlKHRpbWUpIHdpbGwgY2F1c2UgYSB0aW1ldXBkYXRlIGxvb3AuCgkJCQlpZih3YXNQbGF5aW5nIHx8ICFpc05hTih0aW1lKSAmJiAhYWxyZWFkeVBhdXNlZEF0VGltZSkgewoJCQkJCXRpbWVVcGRhdGVFdmVudCgpOwoJCQkJfQoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHBsYXlIZWFkKHBlcmNlbnQ6TnVtYmVyKTpCb29sZWFuIHsKCQkJdmFyIHRpbWU6TnVtYmVyID0gcGVyY2VudCAqIGdldER1cmF0aW9uKCkgKiBnZXRMb2FkUmF0aW8oKSAvIDEwMDsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nIHx8IG15U3RhdHVzLnBsYXlPbkxvYWQgfHwgbXlTdGF0dXMucGxheU9uU2VlaykgewoJCQkJcmV0dXJuIHBsYXkodGltZSk7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gcGF1c2UodGltZSk7CgkJCX0KCQl9CgkJcHVibGljIGZ1bmN0aW9uIHNldFZvbHVtZSh2Ok51bWJlcik6dm9pZCB7CgkJCW15U3RhdHVzLnZvbHVtZSA9IHY7CgkJCW15VHJhbnNmb3JtLnZvbHVtZSA9IHY7CgkJCWlmKG15U3RyZWFtICE9IG51bGwpIHsKCQkJCW15U3RyZWFtLnNvdW5kVHJhbnNmb3JtID0gbXlUcmFuc2Zvcm07CgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiB1cGRhdGVTdGF0dXNWYWx1ZXMoKTp2b2lkIHsKCQkJbXlTdGF0dXMuc2Vla1BlcmNlbnQgPSAxMDAgKiBnZXRMb2FkUmF0aW8oKTsKCQkJbXlTdGF0dXMuY3VycmVudFRpbWUgPSBnZXRDdXJyZW50VGltZSgpOwoJCQlteVN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlID0gMTAwICogZ2V0Q3VycmVudFJhdGlvUmVsKCk7CgkJCW15U3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSAxMDAgKiBnZXRDdXJyZW50UmF0aW9BYnMoKTsKCQkJbXlTdGF0dXMuZHVyYXRpb24gPSBnZXREdXJhdGlvbigpOwoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZ2V0TG9hZFJhdGlvKCk6TnVtYmVyIHsKCQkJaWYoKG15U3RhdHVzLmlzTG9hZGluZyB8fCBteVN0YXR1cy5pc0xvYWRlZCkgJiYgbXlTdHJlYW0uYnl0ZXNUb3RhbCA+IDApIHsKCQkJCXJldHVybiBteVN0cmVhbS5ieXRlc0xvYWRlZCAvIG15U3RyZWFtLmJ5dGVzVG90YWw7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gMDsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZ2V0RHVyYXRpb24oKTpOdW1iZXIgewoJCQlyZXR1cm4gbXlTdGF0dXMuZHVyYXRpb247IC8vIFNldCBmcm9tIG1ldGEgZGF0YS4KCQl9CgkJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lKCk6TnVtYmVyIHsKCQkJaWYobXlTdGF0dXMuaXNQbGF5aW5nKSB7CgkJCQlyZXR1cm4gbXlTdHJlYW0udGltZSAqIDEwMDA7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gbXlTdGF0dXMucGF1c2VQb3NpdGlvbjsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VycmVudFJhdGlvUmVsKCk6TnVtYmVyIHsKCQkJaWYoKGdldExvYWRSYXRpbygpID4gMCkgJiYgKGdldEN1cnJlbnRSYXRpb0FicygpIDw9IGdldExvYWRSYXRpbygpKSkgewoJCQkJcmV0dXJuIGdldEN1cnJlbnRSYXRpb0FicygpIC8gZ2V0TG9hZFJhdGlvKCk7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gMDsKCQkJfQoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VycmVudFJhdGlvQWJzKCk6TnVtYmVyIHsKCQkJaWYoZ2V0RHVyYXRpb24oKSA+IDApIHsKCQkJCXJldHVybiBnZXRDdXJyZW50VGltZSgpIC8gZ2V0RHVyYXRpb24oKTsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAwOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBnZXRTZWVrVGltZVJhdGlvKCk6TnVtYmVyIHsKCQkJaWYoZ2V0RHVyYXRpb24oKSA+IDApIHsKCQkJCXJldHVybiBteVN0YXR1cy5wYXVzZVBvc2l0aW9uIC8gZ2V0RHVyYXRpb24oKTsKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAxOwoJCQl9CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBvbk1ldGFEYXRhSGFuZGxlcihpbmZvOk9iamVjdCk6dm9pZCB7IC8vIFVzZWQgaW4gY29ubmVjdFN0cmVhbSgpIGluIG15U3RyZWFtLmNsaWVudCBvYmplY3QuCgkJCS8vIFRoaXMgZXZlbnQgb2NjdXJzIHdoZW4ganVtcGluZyB0byB0aGUgc3RhcnQgb2Ygc3RhdGljIGZpbGVzISBpZS4sIHNlZWsoMCkgd2lsbCBjYXVzZSB0aGlzIGV2ZW50IHRvIG9jY3VyLgoJCQlpZighbXlTdGF0dXMubWV0YURhdGFSZWFkeSkgewoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRywgbXlTdGF0dXMsICJvbk1ldGFEYXRhSGFuZGxlcjogIiArIGluZm8uZHVyYXRpb24gKyAiIHwgIiArIGluZm8ud2lkdGggKyAieCIgKyBpbmZvLmhlaWdodCkpOwoKCQkJCW15U3RhdHVzLm1ldGFEYXRhUmVhZHkgPSB0cnVlOyAvLyBTZXQgZmxhZyBzbyB0aGF0IHRoaXMgZXZlbnQgb25seSBlZmZlY3RzIGpQbGF5ZXIgdGhlIDFzdCB0aW1lLgoJCQkJbXlTdGF0dXMubWV0YURhdGEgPSBpbmZvOwoJCQkJbXlTdGF0dXMuZHVyYXRpb24gPSBpbmZvLmR1cmF0aW9uICogMTAwMDsgLy8gT25seSBhdmFpbGFibGUgdmlhIE1ldGEgRGF0YS4KCQkJCWlmKGluZm8ud2lkdGggIT0gdW5kZWZpbmVkKSB7CgkJCQkJbXlWaWRlby53aWR0aCA9IG15U3RhdHVzLnZpZGVvV2lkdGggPSBpbmZvLndpZHRoOwoJCQkJfQoJCQkJaWYoaW5mby5oZWlnaHQgIT0gdW5kZWZpbmVkKSB7CgkJCQkJbXlWaWRlby5oZWlnaHQgPSBteVN0YXR1cy52aWRlb0hlaWdodCA9IGluZm8uaGVpZ2h0OwoJCQkJfQoKCQkJCWlmKG15U3RhdHVzLnBsYXlPbkxvYWQpIHsKCQkJCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gZmFsc2U7IC8vIENhcHR1cmUgdGhlIGZsYWcKCQkJCQlpZihteVN0YXR1cy5wYXVzZVBvc2l0aW9uID4gMCApIHsgLy8gSW1wb3J0YW50IGZvciBzZXRNZWRpYSBmb2xsb3dlZCBieSBwbGF5KHRpbWUpLgoJCQkJCQlwbGF5KG15U3RhdHVzLnBhdXNlUG9zaXRpb24pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXBsYXkoKTsgLy8gTm90IGFsd2F5cyBzZW5kaW5nIHBhdXNlUG9zaXRpb24gYXZvaWRzIHRoZSBleHRyYSBzZWVrKDApIGZvciBhIG5vcm1hbCBwbGF5KCkgY29tbWFuZC4KCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXBhdXNlKG15U3RhdHVzLnBhdXNlUG9zaXRpb24pOyAvLyBBbHdheXMgc2VuZCB0aGUgcGF1c2VQb3NpdGlvbi4gSW1wb3J0YW50IGZvciBzZXRNZWRpYSgpIGZvbGxvd2VkIGJ5IHBhdXNlKHRpbWUpLiBEZWFscyB3aXRoIG5vdCByZWFkaW5nIHN0cmVhbS50aW1lIHdpdGggc2V0TWVkaWEoKSBhbmQgcGxheSgpIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IHN0b3AoKSBvciBwYXVzZSgwKQoJCQkJfQoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BREVETUVUQURBVEEsIG15U3RhdHVzKSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBteVN0YXR1cywgIm9uTWV0YURhdGFIYW5kbGVyOiBBbHJlYWR5IHJlYWQgKE5PIEVGRkVDVCkiKSk7CgkJCX0KCQl9Cgl9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerRtmp.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpQbGF5ZXIgUGx1Z2luIGZvciBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5DQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBIYXBweXdvcm0gTHRkDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUDQogKg0KICogQXV0aG9yOiBSb2JlcnQgTS4gSGFsbA0KICogRGF0ZTogMjl0aCBKYW51YXJ5IDIwMTMNCiAqIEJhc2VkIG9uIEpwbGF5ZXJNcDQuYXMgd2l0aCBtb2RpZmljYXRpb25zIGZvciBydG1wDQogKi8NCg0KcGFja2FnZSBoYXBweXdvcm0ualBsYXllcg0Kew0KCWltcG9ydCBmbGFzaC5kaXNwbGF5LlNwcml0ZTsNCg0KCWltcG9ydCBmbGFzaC5tZWRpYS5WaWRlbzsNCglpbXBvcnQgZmxhc2gubWVkaWEuU291bmRUcmFuc2Zvcm07DQoNCglpbXBvcnQgZmxhc2gubmV0Lk5ldENvbm5lY3Rpb247DQoJaW1wb3J0IGZsYXNoLm5ldC5OZXRTdHJlYW07DQoJaW1wb3J0IGZsYXNoLm5ldC5SZXNwb25kZXI7DQoNCglpbXBvcnQgZmxhc2gudXRpbHMuVGltZXI7DQoJaW1wb3J0IGZsYXNoLnV0aWxzLmdldFRpbWVyOw0KDQoJaW1wb3J0IGZsYXNoLmV2ZW50cy5OZXRTdGF0dXNFdmVudDsNCglpbXBvcnQgZmxhc2guZXZlbnRzLlNlY3VyaXR5RXJyb3JFdmVudDsNCglpbXBvcnQgZmxhc2guZXZlbnRzLlRpbWVyRXZlbnQ7DQoJaW1wb3J0IGZsYXNoLmV2ZW50cy5FcnJvckV2ZW50Ow0KCWltcG9ydCBmbGFzaC5ldmVudHMuVW5jYXVnaHRFcnJvckV2ZW50Ow0KCWltcG9ydCBmbGFzaC51dGlscy5jbGVhckludGVydmFsOw0KCWltcG9ydCBmbGFzaC51dGlscy5zZXRJbnRlcnZhbDsNCglpbXBvcnQgaGFwcHl3b3JtLmpQbGF5ZXIuQ29ubmVjdE1hbmFnZXI7DQoNCglwdWJsaWMgY2xhc3MgSnBsYXllclJ0bXAgZXh0ZW5kcyBTcHJpdGUNCgl7DQoNCgkJcHVibGljIHZhciBteVZpZGVvOlZpZGVvID0gbmV3IFZpZGVvOw0KCQlwcml2YXRlIHZhciBteUNvbm5lY3Rpb246TmV0Q29ubmVjdGlvbjsNCgkJcHJpdmF0ZSB2YXIgbXlTdHJlYW06TmV0U3RyZWFtOw0KDQoJCXB1YmxpYyB2YXIgcmVzcG9uZGVyOlJlc3BvbmRlcjsNCg0KCQlwcml2YXRlIHZhciBzdHJlYW1OYW1lOlN0cmluZzsNCgkJDQoJCXByaXZhdGUgdmFyIGNvbm5lY3RTdHJpbmc6T2JqZWN0Ow0KDQoJCXByaXZhdGUgdmFyIGZpcnN0VGltZTpCb29sZWFuID0gdHJ1ZTsNCg0KCQlwcml2YXRlIHZhciBteVRyYW5zZm9ybTpTb3VuZFRyYW5zZm9ybSA9IG5ldyBTb3VuZFRyYW5zZm9ybSAgOw0KDQoJCXB1YmxpYyB2YXIgbXlTdGF0dXM6SnBsYXllclN0YXR1cyA9IG5ldyBKcGxheWVyU3RhdHVzICA7DQoNCgkJcHJpdmF0ZSB2YXIgQ29ubk1ncjpDb25uZWN0TWFuYWdlcj1uZXcgQ29ubmVjdE1hbmFnZXIoKTsNCg0KCQlwcml2YXRlIHZhciB0aW1lVXBkYXRlVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMjUwLDApOy8vIE1hdGNoZWQgdG8gSFRNTCBldmVudCBmcmVxDQoJCXByaXZhdGUgdmFyIHByb2dyZXNzVGltZXI6VGltZXIgPSBuZXcgVGltZXIoMjUwLDApOy8vIE1hdGNoZWQgdG8gSFRNTCBldmVudCBmcmVxDQoJCXByaXZhdGUgdmFyIHNlZWtpbmdUaW1lcjpUaW1lciA9IG5ldyBUaW1lcigxMDAsMCk7Ly8gSW50ZXJuYWw6IEhvdyBvZnRlbiBzZWVraW5nIGlzIGNoZWNrZWQgdG8gc2VlIGlmIGl0IGlzIG92ZXIuDQoNCgkJcHJpdmF0ZSB2YXIgc3RhcnRCdWZmZXI6TnVtYmVyID0gMzsNCgkJcHJpdmF0ZSB2YXIgbWF4QnVmZmVyOk51bWJlciA9IDEyOw0KDQoJCXB1YmxpYyBmdW5jdGlvbiBKcGxheWVyUnRtcCh2b2x1bWU6TnVtYmVyKQ0KCQl7DQoJCQlteUNvbm5lY3Rpb24gPSBuZXcgTmV0Q29ubmVjdGlvbiAgOw0KCQkJbXlDb25uZWN0aW9uLmNsaWVudCA9IHRoaXM7DQoJCQkNCg0KCQkJLy8gTW92ZWQgdGhlIG5ldGNvbm5lY3Rpb24gbmVnb3RpYXRpb24gaW50byB0aGUgQ29ubmVjdE1hbmFnZXIuYXMgY2xhc3MgLSBub3QgbmVlZGVkIGZvciBpbml0aWFsIGNvbm5lY3Rpb24NCgkJCS8vIG1heSBuZWVkIHRvIGFkZCBldmVudEhhbmRsZXIgYmFjayBpbiBmb3IgZXJyb3JzIG9ubHkgb3IganVzdCBkaXNwYXRjaCBmcm9tIHRoZSBDb25uZWN0TWFuYWdlci4ucmV2aXNpdC4uLg0KCQkJDQoJCQkvLyBteUNvbm5lY3Rpb24uYWRkRXZlbnRMaXN0ZW5lcihOZXRTdGF0dXNFdmVudC5ORVRfU1RBVFVTLG5ldFN0YXR1c0hhbmRsZXIpOw0KCQkJLy8gbXlDb25uZWN0aW9uLmFkZEV2ZW50TGlzdGVuZXIoU2VjdXJpdHlFcnJvckV2ZW50LlNFQ1VSSVRZX0VSUk9SLHNlY3VyaXR5RXJyb3JIYW5kbGVyKTsNCgkJCW15VmlkZW8uc21vb3RoaW5nID0gdHJ1ZTsNCgkJCXRoaXMuYWRkQ2hpbGQobXlWaWRlbyk7DQoNCgkJCXRpbWVVcGRhdGVUaW1lci5hZGRFdmVudExpc3RlbmVyKFRpbWVyRXZlbnQuVElNRVIsdGltZVVwZGF0ZUhhbmRsZXIpOw0KCQkJcHJvZ3Jlc3NUaW1lci5hZGRFdmVudExpc3RlbmVyKFRpbWVyRXZlbnQuVElNRVIscHJvZ3Jlc3NIYW5kbGVyKTsNCgkJCXNlZWtpbmdUaW1lci5hZGRFdmVudExpc3RlbmVyKFRpbWVyRXZlbnQuVElNRVIsc2Vla2luZ0hhbmRsZXIpOw0KDQoJCQlteVN0YXR1cy52b2x1bWUgPSB2b2x1bWU7DQoJCQkNCgkJCWFkZEV2ZW50TGlzdGVuZXIoVW5jYXVnaHRFcnJvckV2ZW50LlVOQ0FVR0hUX0VSUk9SLCB1bmNhdWdodEVycm9ySGFuZGxlcik7DQoNCgkJCQ0KCQl9DQoJCQ0KCQkNCiAgICAgICAgDQogICAgICAgIHByaXZhdGUgZnVuY3Rpb24gdW5jYXVnaHRFcnJvckhhbmRsZXIoZXZlbnQ6VW5jYXVnaHRFcnJvckV2ZW50KTp2b2lkDQogICAgICAgIHsNCgkJCXRyYWNlKCJVTkNBVUdIVCBFUlJPUiAtIHRyeSBsb2FkaW5nIGFnYWluIik7DQoJCQkNCiAgICAgICAgICAgIGlmIChldmVudC5lcnJvciBpcyBFcnJvcikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICB2YXIgZXJyb3I6RXJyb3IgPSBldmVudC5lcnJvciBhcyBFcnJvcjsNCgkJCQl0cmFjZShlcnJvcik7DQogICAgICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nIHdpdGggdGhlIGVycm9yDQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIGlmIChldmVudC5lcnJvciBpcyBFcnJvckV2ZW50KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHZhciBlcnJvckV2ZW50OkVycm9yRXZlbnQgPSBldmVudC5lcnJvciBhcyBFcnJvckV2ZW50Ow0KICAgICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZyB3aXRoIHRoZSBlcnJvcg0KCQkJCXRyYWNlKGVycm9yRXZlbnQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIC8vIGEgbm9uLUVycm9yLCBub24tRXJyb3JFdmVudCB0eXBlIHdhcyB0aHJvd24gYW5kIHVuY2F1Z2h0DQogICAgICAgICAgICB9DQoJCQlsb2FkKCk7DQogICAgICAgIH0NCgkJDQoJCQ0KCQkNCgkJcHJpdmF0ZSBmdW5jdGlvbiBwcm9ncmVzc1VwZGF0ZXMoYWN0aXZlOkJvb2xlYW4pOnZvaWQNCgkJew0KCQkJaWYgKGFjdGl2ZSkNCgkJCXsNCgkJCQlwcm9ncmVzc1RpbWVyLnN0YXJ0KCk7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJcHJvZ3Jlc3NUaW1lci5zdG9wKCk7DQoJCQl9DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gcHJvZ3Jlc3NIYW5kbGVyKGU6VGltZXJFdmVudCk6dm9pZA0KCQl7DQoJCQlpZiAobXlTdGF0dXMuaXNMb2FkaW5nKQ0KCQkJew0KCQkJCWlmICgoZ2V0TG9hZFJhdGlvKCkgPT0gMSkpDQoJCQkJey8vIENsb3NlIGFzIGNhbiBnZXQgdG8gYSBsb2FkQ29tcGxldGUgZXZlbnQgc2luY2UgY2xpZW50Lm9uUGxheVN0YXR1cyBvbmx5IHdvcmtzIHdpdGggRk1TDQoJCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csbXlTdGF0dXMsInByb2dyZXNzSGFuZGxlcjogbG9hZENvbXBsZXRlIikpOw0KCQkJCQlteVN0YXR1cy5sb2FkZWQoKTsNCgkJCQkJcHJvZ3Jlc3NVcGRhdGVzKGZhbHNlKTsNCgkJCQl9DQoJCQl9DQoJCQlwcm9ncmVzc0V2ZW50KCk7DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gcHJvZ3Jlc3NFdmVudCgpOnZvaWQNCgkJew0KCQkJLy8gdGVtcG9yYXJpbHkgZGlzYWJsZWQgcHJvZ3Jlc3MgZXZlbnQgZGlzcGF0Y2hpbmcgLSBub3QgcmVhbGx5IG5lZWRlZCBmb3IgcnRtcA0KCQkJLy90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLG15U3RhdHVzLCJwcm9ncmVzc0V2ZW50OiIpKTsNCgkJCXVwZGF0ZVN0YXR1c1ZhbHVlcygpOw0KCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUFJPR1JFU1MsbXlTdGF0dXMpKTsNCgkJfQ0KCQkNCgkJcHJpdmF0ZSBmdW5jdGlvbiB0aW1lVXBkYXRlcyhhY3RpdmU6Qm9vbGVhbik6dm9pZA0KCQl7DQoJCQlpZiAoYWN0aXZlKQ0KCQkJew0KCQkJCXRpbWVVcGRhdGVUaW1lci5zdGFydCgpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCXRpbWVVcGRhdGVUaW1lci5zdG9wKCk7DQoJCQl9DQoJCX0NCgkJDQoJCXByaXZhdGUgZnVuY3Rpb24gdGltZVVwZGF0ZUhhbmRsZXIoZTpUaW1lckV2ZW50KTp2b2lkDQoJCXsNCgkJCXRpbWVVcGRhdGVFdmVudCgpOw0KCQl9DQoJCQ0KCQlwcml2YXRlIGZ1bmN0aW9uIHRpbWVVcGRhdGVFdmVudCgpOnZvaWQNCgkJew0KCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9USU1FVVBEQVRFLG15U3RhdHVzKSk7DQoJCX0NCgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWVraW5nKGFjdGl2ZTpCb29sZWFuKTp2b2lkDQoJCXsNCgkJCWlmIChhY3RpdmUpDQoJCQl7DQoJCQkJaWYgKCEgbXlTdGF0dXMuaXNTZWVraW5nKQ0KCQkJCXsNCgkJCQkJc2Vla2luZ0V2ZW50KCk7DQoJCQkJfQ0KCQkJCXNlZWtpbmdUaW1lci5zdGFydCgpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCWlmIChteVN0YXR1cy5pc1NlZWtpbmcpDQoJCQkJew0KCQkJCQlzZWVrZWRFdmVudCgpOw0KCQkJCX0NCgkJCQlzZWVraW5nVGltZXIuc3RvcCgpOw0KCQkJfQ0KCQl9DQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2luZ0hhbmRsZXIoZTpUaW1lckV2ZW50KTp2b2lkDQoJCXsNCgkJCWlmICgoZ2V0U2Vla1RpbWVSYXRpbygpIDw9IGdldExvYWRSYXRpbygpKSkNCgkJCXsNCgkJCQlzZWVraW5nKGZhbHNlKTsNCgkJCQlpZiAobXlTdGF0dXMucGxheU9uU2VlaykNCgkJCQl7DQoJCQkJCW15U3RhdHVzLnBsYXlPblNlZWsgPSBmYWxzZTsvLyBDYXB0dXJlIHRoZSBmbGFnLg0KCQkJCQlwbGF5KG15U3RhdHVzLnBhdXNlUG9zaXRpb24pOy8vIE11c3QgcGFzcyB0aW1lIG9yIHRoZSBzZWVrIHRpbWUgaXMgbmV2ZXIgc2V0Lg0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQlwYXVzZShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsvLyBNdXN0IHBhc3MgdGltZSBvciB0aGUgc3RyZWFtLnRpbWUgaXMgcmVhZC4NCgkJCQl9DQoJCQl9DQoJCQllbHNlIGlmIChteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbikNCgkJCXsNCgkJCQkvLyBJbGxlZ2FsIHNlZWsgdGltZQ0KCQkJCXNlZWtpbmcoZmFsc2UpOw0KCQkJCXBhdXNlKDApOw0KCQkJfQ0KCQl9DQoJCXByaXZhdGUgZnVuY3Rpb24gc2Vla2luZ0V2ZW50KCk6dm9pZA0KCQl7DQoJCQlteVN0YXR1cy5pc1NlZWtpbmcgPSB0cnVlOw0KCQkJdXBkYXRlU3RhdHVzVmFsdWVzKCk7DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLSU5HLG15U3RhdHVzKSk7DQoJCX0NCgkJcHJpdmF0ZSBmdW5jdGlvbiBzZWVrZWRFdmVudCgpOnZvaWQNCgkJew0KCQkJbXlTdGF0dXMuaXNTZWVraW5nID0gZmFsc2U7DQoJCQl1cGRhdGVTdGF0dXNWYWx1ZXMoKTsNCgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtFRCxteVN0YXR1cykpOw0KCQl9DQoNCg0KCQlwcml2YXRlIGZ1bmN0aW9uIG5ldFN0YXR1c0hhbmRsZXIoZTpOZXRTdGF0dXNFdmVudCk6dm9pZA0KCQl7DQoJCQl0cmFjZSgoIm5ldFN0YXR1c0hhbmRsZXI6ICIgKyBlLmluZm8uY29kZSkpOw0KCQkJLy90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLG15U3RhdHVzLCJuZXRTdGF0dXNIYW5kbGVyOiAnIiArIGUuaW5mby5jb2RlICsgIiciKSk7DQoJCQkvL3RyYWNlKCJCRUZPUkU6IGJ1ZmZlclRpbWU6ICIrbXlTdHJlYW0uYnVmZmVyVGltZSsiIC0gYnVmZmVyVGltZU1heDogIitteVN0cmVhbS5idWZmZXJUaW1lTWF4KTsNCgkJCXN3aXRjaCAoZS5pbmZvLmNvZGUpDQoJCQl7DQoJCQkJY2FzZSAiTmV0Q29ubmVjdGlvbi5Db25uZWN0LlN1Y2Nlc3MiIDoNCgkJCQkJLy8gY29ubmVjdFN0cmVhbSgpOyAvLyBUaGlzIG1ldGhvZCBkaWQgbm90IGRvIGFueXRoaW5nIHNlbnNpYmxlIGFueXdheS4NCgkJCQkJLy8gRG8gbm90IHRoaW5rIHRoaXMgY2FzZSBvY2N1cnMuIFRoaXMgd2FzIGZvciB0aGUgc3RhdGljIGZpbGUgY29ubmVjdGlvbi4NCgkJCQkJLy8gV2hpY2ggbm93IHNlZW1zIHRvIGJlIGhhbmRsZWQgYnkgdGhlIENvbm5lY3Rpb24gTWFuYWdlci4NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLkJ1ZmZlci5GdWxsIjoNCgkJCQlpZihjb25uZWN0U3RyaW5nLnN0cmVhbVRZUEUgPT0gIkxJVkUiKSB7DQoJCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lID0gc3RhcnRCdWZmZXI7IA0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJbXlTdHJlYW0uYnVmZmVyVGltZSA9IG1heEJ1ZmZlcjsgDQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLkJ1ZmZlci5GbHVzaCI6DQoJCQkJCW15U3RyZWFtLmJ1ZmZlclRpbWUgPSBzdGFydEJ1ZmZlcjsgDQoJCQkJCWJyZWFrOwkNCgkJCQljYXNlICJOZXRTdHJlYW0uQnVmZmVyLkVtcHR5IjoNCgkJCQkJbXlTdHJlYW0uYnVmZmVyVGltZSA9IHN0YXJ0QnVmZmVyOyANCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLlNlZWsuTm90aWZ5IjoNCgkJCQkJbXlTdHJlYW0uYnVmZmVyVGltZSA9IHN0YXJ0QnVmZmVyOyANCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLlBsYXkuU3RhcnQiIDoNCg0KCQkJCQlpZiAoZmlyc3RUaW1lKSB7DQoJCQkJCQlmaXJzdFRpbWUgPSBmYWxzZTsgLy8gQ2FwdHVyZSBmbGFnDQoNCgkJCQkJCW15U3RhdHVzLmxvYWRpbmcoKTsNCgkJCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX0xPQURTVEFSVCxteVN0YXR1cykpOw0KDQoJCQkJCQkvLyBOQjogV2l0aCBNUDQgcGxheWVyIGJvdGggYXVkaW8gYW5kIHZpZGVvIHR5cGVzIGdldCBjb25uZWN0ZWQgdG8gbXlWaWRlby4NCgkJCQkJCS8vIE5COiBIYWQgYmVsaWV2ZWQgaXQgd2FzIGltcG9ydGFudCBmb3IgdGhlIGF1ZGlvIHRvbywgb3RoZXJ3aXNlIHdoYXQgcGxheXMgaXQ/DQoJCQkJCQlpZih2aWRlb0JpbmRpbmcpIHsNCgkJCQkJCQlteVZpZGVvLmF0dGFjaE5ldFN0cmVhbShteVN0cmVhbSk7DQoJCQkJCQl9DQoNCgkJCQkJCXNldFZvbHVtZShteVN0YXR1cy52b2x1bWUpOw0KDQoJCQkJCQkvLyBSZWFsbHkgdGhlIHByb2dyZXNzIGV2ZW50IGp1c3QgbmVlZHMgdG8gYmUgZ2VuZXJhdGVkIG9uY2UsIGFuZCBzaG91bGQgcHJvYmFibHkgaGFwcGVuIGJlZm9yZSBub3cuDQoJCQkJCQlwcm9ncmVzc1VwZGF0ZXModHJ1ZSk7DQoNCgkJCQkJCS8vIFRoaXMgaXMgYW4gQVNTVU1QVElPTiEgTWFkZSBpdCBzbyB0aGF0IHRoZSBkZWZhdWx0IEdVSSB3b3JrZWQuDQoJCQkJCQkvLyBIZW5jZSB3aHkgdGhpcyBwYXJ0IHNob3VsZCBiZSByZWZhY3RvcmVkLg0KCQkJCQkJLy8gTG90cyBvZiBjb21tYW5kcyBzZXF1ZW5jZXMgYWZ0ZXIgc2V0TWVkaWEgd291bGQgYmUgY29ycnVwdGVkIGJ5IHRoaXMgYXNzdW1wdGlvbi4NCgkJCQkJCS8vIEJhc2NhbGx5LCB3ZSBhc3N1bWUgdGhhdCBhZnRlciBhIHNldE1lZGlhLCB5b3Ugd2lsbCBwbGF5IGl0Lg0KCQkJCQkJLy8gRG9pbmcgc2V0TWVkaWEgYW5kIHBhdXNlKDE1KSBjYXVzZSB0aGUgZmxhZyB0byBiZSBzZXQgaW5jb3JyZWN0bHkgYW5kIHRoZSBHVUkgbG9ja3MgdXAuDQoJCQkJCQlteVN0YXR1cy5pc1BsYXlpbmcgPSB0cnVlOyAvLyBTaG91bGQgYmUgaGFuZGxlZCBlbHNld2hlcmUuDQoJCQkJCX0NCg0KCQkJCQkvLyBVbmRlciBSVE1QLCB0aGlzIGV2ZW50IGNvZGUgb2NjdXJzIGV2ZXJ5IHRpbWUgdGhlIG1lZGlhIHN0YXJ0cyBwbGF5aW5nIGFuZCB3aGVuIGEgbmV3IHBvc2l0aW9uIGlzIHNlZWtlZCB0bywgZXZlbiB3aGVuIHBhdXNlZC4NCg0KCQkJCQkvLyBTaW5jZSB1bmRlciBSVE1QIHRoZSBldmVudCBiZWhhdmlvdXIgaXMgcXVpdGUgZGlmZmVyZW50LCBiZWxpZXZlIGEgcmVmYWN0b3IgaXMgYmVzdCBoZXJlLg0KCQkJCQkvLyBpZS4sIFVuZGVyIFJUTVAgd2Ugc2hvdWxkIGJlIGFibGUgdG8ga25vdyBhIGxvdCBtb3JlIGluZm8gYWJvdXQgdGhlIHN0cmVhbS4NCg0KCQkJCQkvLyBTZWUgb25NZXRhRGF0YUhhbmRsZXIoKSBmb3Igb3RoZXIgY29uZGl0aW9uLCBzaW5jZSBkdXJhdGlvbiBpcyB2aXRhbC4NCgkJCQkJLy8gU2VlIG9uUmVzdWx0KCkgcmVzcG9uc2UgaGFuZGxlciB0b28uDQoJCQkJCS8vIEFwcGVhcnMgdG8gYmUgc29tZSBkdXBsaWNhdGlvbiBiZXR3ZWVuIG9uTWV0YURhdGFIYW5kbGVyKCkgYW5kIG9uUmVzdWx0KCksIGFsb25nIHdpdGggYSByYWNlIGJldHdlZW4gdGhlbSBvY2N1cmluZy4NCg0KCQkJCQlicmVhazsNCgkJCQljYXNlICJOZXRTdHJlYW0uUGxheS5VbnB1Ymxpc2hOb3RpZnkiOg0KCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lID0gc3RhcnRCdWZmZXI7IC8vIHdhcyAzDQoJCQkJY2FzZSAiTmV0U3RyZWFtLlBsYXkuU3RvcCIgOg0KCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lID0gc3RhcnRCdWZmZXI7IC8vIHdhcyAzDQoJCQkJCS8vdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRyxteVN0YXR1cywiTmV0U3RyZWFtLlBsYXkuU3RvcDogZ2V0RHVyYXRpb24oKSAtIGdldEN1cnJlbnRUaW1lKCkgPSAiICsgKGdldER1cmF0aW9uKCkgLSBnZXRDdXJyZW50VGltZSgpKSkpOw0KDQoJCQkJCS8vIENoZWNrIGlmIG1lZGlhIGlzIGF0IHRoZSBlbmQgKG9yIGNsb3NlKSBvdGhlcndpc2UgdGhpcyB3YXMgZHVlIHRvIGRvd25sb2FkIGJhbmR3aWR0aCBzdG9wcGluZyBwbGF5YmFjay4gaWUuLCBEb3dubG9hZCBpcyBub3QgZmFzdCBlbm91Z2guDQoJCQkJCWlmIChNYXRoLmFicygoZ2V0RHVyYXRpb24oKSAtIGdldEN1cnJlbnRUaW1lKCkpKSA8IDE1MCkNCgkJCQkJey8vIFRlc3RpbmcgZm91bmQgMTUwbXMgd29ya2VkIGJlc3QgZm9yIE00QSBmaWxlcywgd2hlcmUgcGxheUhlYWQoOTkuOSkgY2F1c2VkIGEgc3R1Y2sgc3RhdGUgZHVlIHRvIGZpcmluZyB3aXRoIH4xMTZtcyBsZWZ0IHRvIHBsYXkuDQoJCQkJCQkvL2VuZGVkRXZlbnQoKTsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQljYXNlICJOZXRTdHJlYW0uU2Vlay5JbnZhbGlkVGltZSIgOg0KCQkJCQkvLyBVc2VkIGZvciBjYXB0dXJpbmcgaW52YWxpZCBzZXQgdGltZXMgYW5kIGNsaWNrcyBvbiB0aGUgZW5kIG9mIHRoZSBwcm9ncmVzcyBiYXIuDQoJCQkJCWVuZGVkRXZlbnQoKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAiTmV0U3RyZWFtLlBsYXkuU3RyZWFtTm90Rm91bmQiIDoNCgkJCQkJbXlTdGF0dXMuZXJyb3IoKTsNCgkJCQkJLy8gUmVzZXRzIHN0YXR1cyBleGNlcHQgdGhlIHNyYywgYW5kIGl0IHNldHMgc3JjRXJyb3IgcHJvcGVydHkuOw0KCQkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FUlJPUixteVN0YXR1cykpOw0KCQkJCQlicmVhazsJCQkJDQoJCQl9DQoJCQkvL3RyYWNlKCJBRlRFUjogYnVmZmVyVGltZTogIitteVN0cmVhbS5idWZmZXJUaW1lKyIgLSBidWZmZXJUaW1lTWF4OiAiK215U3RyZWFtLmJ1ZmZlclRpbWVNYXgpOw0KCQkJLy8gIk5ldFN0cmVhbS5TZWVrLk5vdGlmeSIgZXZlbnQgY29kZSBpcyBub3QgdmVyeSB1c2VmdWwuIEl0IG9jY3VycyBhZnRlciBldmVyeSBzZWVrKHQpIGNvbW1hbmQgaXNzdWVkIGFuZCBkb2VzIG5vdCBhcHBlYXIgdG8gd2FpdCBmb3IgdGhlIG1lZGlhIHRvIGJlIHJlYWR5Lg0KCQl9DQoJCXByaXZhdGUgZnVuY3Rpb24gZW5kZWRFdmVudCgpOnZvaWQNCgkJew0KCQkJdHJhY2UoIkVOREVEIFNUUkVBTSBFVkVOVCIpOw0KCQkJdmFyIHdhc1BsYXlpbmc6Qm9vbGVhbiA9IG15U3RhdHVzLmlzUGxheWluZzsNCg0KCQkJLy8gdGltZVVwZGF0ZXMoZmFsc2UpOw0KCQkJLy8gdGltZVVwZGF0ZUV2ZW50KCk7DQoJCQlwYXVzZSgwKTsNCg0KCQkJaWYgKHdhc1BsYXlpbmcpDQoJCQl7DQoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsbXlTdGF0dXMpKTsNCgkJCX0NCgkJfQ0KCQlwcml2YXRlIGZ1bmN0aW9uIHNlY3VyaXR5RXJyb3JIYW5kbGVyKGV2ZW50OlNlY3VyaXR5RXJyb3JFdmVudCk6dm9pZA0KCQl7DQoJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csbXlTdGF0dXMsInNlY3VyaXR5RXJyb3JIYW5kbGVyLiIpKTsNCgkJfQ0KCQlwdWJsaWMgZnVuY3Rpb24gY29ubmVjdFN0cmVhbSgpOnZvaWQNCgkJew0KCQkJdHJhY2UoIkNPTk5FQ1RJTkciKTsNCgkJCS8vdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRyxteVN0YXR1cywiY29ubmVjdFN0cmVhbS4iKSk7DQoJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX0NBTlBMQVksbXlTdGF0dXMpKTsNCgkJCQ0KCQkJdGltZVVwZGF0ZXModHJ1ZSk7DQoJCQlwcm9ncmVzc1VwZGF0ZXModHJ1ZSk7DQoJCQkvL215VmlkZW8uYXR0YWNoTmV0U3RyZWFtKG15U3RyZWFtKTsNCgkJCS8vc2V0Vm9sdW1lKG15U3RhdHVzLnZvbHVtZSk7DQoJCX0NCg0KCQlwcml2YXRlIGZ1bmN0aW9uIG9uUmVzdWx0KHJlc3VsdDpPYmplY3QpOnZvaWQNCgkJew0KCQkJdHJhY2UoIk9uUmVzdWx0IEVWRU5UIEZJUkVEISIpOw0KCQkJbXlTdGF0dXMuZHVyYXRpb24gPSBwYXJzZUZsb2F0KHJlc3VsdC50b1N0cmluZygpKSAqIDEwMDA7DQoJCQl0cmFjZSgoKCJUaGUgc3RyZWFtIGxlbmd0aCBpcyAiICsgcmVzdWx0KSArICIgc2Vjb25kcyIpKTsNCg0KCQkJaWYoIW15Q29ubmVjdGlvbi5jb25uZWN0ZWQpIHsNCgkJCQlsb2FkKCk7DQoJCQl9IGVsc2Ugew0KCQkJCS8vdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfQ0FOUExBWSxteVN0YXR1cywiUm9ja2l0ISIpKTsNCgkJCQ0KCQkJLy9teVN0YXR1cy5sb2FkZWQoKTsNCgkJCS8vbXlTdGF0dXMuaXNQbGF5aW5nPXRydWU7IA0KCQkJaWYgKCEgbXlTdGF0dXMubWV0YURhdGFSZWFkeSkNCgkJCXsNCgkJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csbXlTdGF0dXMsIm9uTWV0YURhdGFIYW5kbGVyOiAiICsgbXlTdGF0dXMuZHVyYXRpb24pKTsNCg0KCQkJCS8vICBBbGxvdyBtdWx0aXBsZSBvblJlc3VsdCBIYW5kbGVycyB0byBhZmZlY3Qgc2l6ZS4gQXMgcGVyIFBSICMxMzEgYW5kICM5OC4NCgkJCQkvLyAgbXlTdGF0dXMubWV0YURhdGFSZWFkeSA9IHRydWU7DQoNCgkJCQkvKnZhciBpbmZvOk9iamVjdCA9IG5ldyBPYmplY3QoKTsNCgkJCQlpbmZvLmR1cmF0aW9uPW15U3RhdHVzLmR1cmF0aW9uDQoJCQkJaW5mby53aWR0aD11bmRlZmluZWQ7DQoJCQkJaW5mby5oZWlnaHQ9dW5kZWZpbmVkOw0KCQkJCW15U3RhdHVzLm1ldGFEYXRhID0gaW5mbzsNCgkJCQkqLw0KCQkJCWlmIChteVN0YXR1cy5wbGF5T25Mb2FkKQ0KCQkJCXsNCgkJCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IGZhbHNlOy8vIENhcHR1cmUgdGhlIGZsYWcNCgkJCQkJaWYgKG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiAwKQ0KCQkJCQl7Ly8gSW1wb3J0YW50IGZvciBzZXRNZWRpYSBmb2xsb3dlZCBieSBwbGF5KHRpbWUpLg0KCQkJCQkJcGxheShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsNCgkJCQkJfQ0KCQkJCQllbHNlDQoJCQkJCXsNCgkJCQkJCXBsYXkoKTsvLyBOb3QgYWx3YXlzIHNlbmRpbmcgcGF1c2VQb3NpdGlvbiBhdm9pZHMgdGhlIGV4dHJhIHNlZWsoMCkgZm9yIGEgbm9ybWFsIHBsYXkoKSBjb21tYW5kLg0KCQkJCQl9DQoNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJcGF1c2UobXlTdGF0dXMucGF1c2VQb3NpdGlvbik7Ly8gQWx3YXlzIHNlbmQgdGhlIHBhdXNlUG9zaXRpb24uIEltcG9ydGFudCBmb3Igc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBwYXVzZSh0aW1lKS4gRGVhbHMgd2l0aCBub3QgcmVhZGluZyBzdHJlYW0udGltZSB3aXRoIHNldE1lZGlhKCkgYW5kIHBsYXkoKSBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkNCgkJCQl9DQoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BREVETUVUQURBVEEsbXlTdGF0dXMpKTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkvL3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5ERUJVR19NU0csbXlTdGF0dXMsIm9uTWV0YURhdGFIYW5kbGVyOiBBbHJlYWR5IHJlYWQgKE5PIEVGRkVDVCkiKSk7DQoJCQl9DQoJCQkNCgkJCW15U3RyZWFtLnBsYXkoc3RyZWFtTmFtZSk7DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9QTEFZLG15U3RhdHVzKSk7DQoJCQkvLyB0aW1lVXBkYXRlcyhmYWxzZSk7DQoJCQl9DQoNCgkJfQ0KCQkNCgkJcHJpdmF0ZSB2YXIgb3ZlclJpZGVDb25uZWN0OkJvb2xlYW49ZmFsc2U7DQoJCXB1YmxpYyBmdW5jdGlvbiBkb25lWWV0KCk6dm9pZCB7DQoJCQlpZighbXlDb25uZWN0aW9uLmNvbm5lY3RlZCkgew0KCQkJCS8vIHRyeSBhZ2Fpbg0KCQkJCUNvbm5NZ3Iuc3RvcEFsbCh0cnVlKTsNCgkJCQlvdmVyUmlkZUNvbm5lY3Q9dHJ1ZTsNCgkJCQl0cmFjZSgiQ29ubmVjdGVkOiAiK215Q29ubmVjdGlvbi5jb25uZWN0ZWQrIiAtICIrbXlTdGF0dXMubG9hZFJlcXVpcmVkKCkpOwkJCQkNCgkJCQlsb2FkKCk7DQoJCQl9DQoJCX0NCg0KCQlwcml2YXRlIHZhciB2aWRlb0JpbmRpbmc6Qm9vbGVhbj1mYWxzZTsNCgkJcHVibGljIGZ1bmN0aW9uIHNldEZpbGUoc3JjOlN0cmluZyx2aWRlb1N1cHBvcnQ6Qm9vbGVhbj1mYWxzZSk6dm9pZA0KCQl7DQoJCQkvLyB2aWRlb1N1cHBvcnQgdHVybnMgb24vb2ZmIHZpZGVvIC0gYnkgZGVmYXVsdCBubyB2aWRlbywgYXVkaW8gb25seQ0KCQkJdmlkZW9CaW5kaW5nPXZpZGVvU3VwcG9ydDsNCgkJCS8qIERvbnQgY2xvc2UgdGhlIHN0cmVhbSBvciBuZXRjb25uZWN0aW9uIGhlcmUgYW55bW9yZSBzbyB3ZSBjYW4gcmVjeWNsZSBpZiBob3N0L2FwcG5hbWUgYXJlIHRoZSBzYW1lDQoJCQlpZiAoKG15U3RyZWFtICE9IG51bGwpKQ0KCQkJew0KCQkJCW15U3RyZWFtLmNsb3NlKCk7DQoJCQkJbXlDb25uZWN0aW9uLmNsb3NlKCk7DQoJCQl9DQoJCQkqLw0KCQkJaWYoQ29ubk1nci5nZXROZWdvdGlhdGluZygpID09IHRydWUpIHsNCgkJCSAgICAvL0Nvbm5NZ3Iuc3RvcEFsbCgpOw0KCQkJCUNvbm5NZ3Iuc2V0TmVnb3RpYXRpbmcoZmFsc2UpOw0KCQkJfQ0KCQkJDQoJCQlteVZpZGVvLmNsZWFyKCk7DQoJCQkNCgkJCXByb2dyZXNzVXBkYXRlcyhmYWxzZSk7DQoJCQl0aW1lVXBkYXRlcyhmYWxzZSk7DQoNCgkJCW15U3RhdHVzLnJlc2V0KCk7DQoJCQlteVN0YXR1cy5zcmMgPSBzcmM7DQoJCQlteVN0YXR1cy5zcmNTZXQgPSB0cnVlOw0KDQoJCQlmaXJzdFRpbWUgPSB0cnVlOw0KCQkJDQoJCQkvL215U3RhdHVzLmxvYWRlZCgpOw0KCQkJDQoJCQlpZihzcmMgIT0gIiIpIHsNCgkJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9DQU5QTEFZLG15U3RhdHVzKSk7DQoJCQl9DQoJCQkNCgkJCS8vdGltZVVwZGF0ZUV2ZW50KCk7DQoJCX0NCgkJDQoJCXB1YmxpYyBmdW5jdGlvbiBzaHV0RG93bk5jTnMoKTp2b2lkIHsNCgkJCXRyYWNlKCJDb25uZWN0aW9ucyBDbG9zZWQiKTsNCgkJCXRpbWVVcGRhdGVzKGZhbHNlKTsNCgkJCXByb2dyZXNzVXBkYXRlcyhmYWxzZSk7DQoJCQlteVN0cmVhbS5jbG9zZSgpOw0KCQkJbXlDb25uZWN0aW9uLmNsb3NlKCk7DQoJCQkNCgkJCW15U3RhdHVzLnJlc2V0KCk7DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCxteVN0YXR1cykpOw0KCQl9DQoNCgkJcHVibGljIGZ1bmN0aW9uIGNsZWFyRmlsZSgpOnZvaWQNCgkJew0KCQkJaWYgKG15U3RyZWFtICE9IG51bGwpDQoJCQl7DQoJCQkJbXlTdHJlYW0uY2xvc2UoKTsNCgkJCQkvLyBEb250IGNsb3NlIHRoZSBuZXRDb25uZWN0aW9uIGhlcmUgYW55IGxvbmdlciwgYXMgd2UgbWF5IHJlY3ljbGUgaXQgbGF0ZXINCgkJCQkvLyBtYXkgbmVlZCBhbiBleHRyYSB3YXkgdG8gY2xvc2UgbWFudWFsbHkgaWYgc3dpdGNoaW5nIG1lZGlhIHR5cGVzIGFmdGVyIGFuIHJ0bXAgc2Vzc2lvbiAtIHJldmlzaXQNCgkJCQkvLyBteUNvbm5lY3Rpb24uY2xvc2UoKTsNCgkJCQlteVN0YXR1cy5yZXNldCgpOw0KCQkJfQ0KCQkJc2V0RmlsZSgiIik7DQoJCQlteVN0YXR1cy5zcmNTZXQgPSBmYWxzZTsNCgkJfQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiBwYXJzZVJUTVBzcmNDb25uZWN0KHJ0bXBTcmM6U3RyaW5nKTpPYmplY3QNCgkJew0KCQkJLy8gcnRtcDovL2NwNzYzNzIubGl2ZS5lZGdlZmNzLm5ldC9saXZlL0ZsYXNoMU9mZmljZUA2MDIwNA0KCQkJdmFyIGFwcE5hbWU6U3RyaW5nID0gIiI7DQoJCQl2YXIgc3RyZWFtRmlsZU5hbWU6U3RyaW5nID0gIiI7DQoJCQl2YXIgc3RhcnRJbmRleDp1aW50ID0gMiArIHJ0bXBTcmMuaW5kZXhPZigiLy8iKTsNCgkJCXZhciBzdHJlYW1UWVBFOlN0cmluZyA9ICJyZWNvcmRlZCI7DQoJCQl2YXIgaG9zdDpTdHJpbmcgPSBydG1wU3JjLnN1YnN0cihzdGFydEluZGV4KTsNCgkJCXZhciBwb3J0OlN0cmluZyA9ICIiOw0KCQkJaG9zdCA9IGhvc3Quc3Vic3RyKDAsaG9zdC5pbmRleE9mKCIvIikpOw0KCQkJdmFyIGVuZEhvc3Q6TnVtYmVyID0gc3RhcnRJbmRleCArIGhvc3QubGVuZ3RoICsgMTsNCg0KCQkJLy8gU2VlIGlmIHRoZXJlIGlzIGEgaG9zdCBwb3J0IHNwZWNpZmllZA0KCQkJaWYoaG9zdC5pbmRleE9mKCI6IikgIT0gLTEpIHsNCgkJCQlwb3J0ID0gaG9zdC5zdWJzdHIoaG9zdC5pbmRleE9mKCI6IikrMSk7DQoJCQkJaG9zdCA9IGhvc3Quc3Vic3RyKDAsaG9zdC5pbmRleE9mKCI6IikpOw0KCQkJfQ0KCQkJDQoJCQkvLyBBa2FtYWkgc3BlY2lmaWMgbGl2ZSBzdHJlYW1zDQoJCQlpZiAocnRtcFNyYy5sYXN0SW5kZXhPZigiL2xpdmUvIikgIT0gLTEpDQoJCQl7DQoJCQkJdHJhY2UoIkxJVkUhIik7DQoJCQkJDQoJCQkJDQoJCQkJYXBwTmFtZSA9IHJ0bXBTcmMuc3Vic3RyaW5nKGVuZEhvc3QscnRtcFNyYy5sYXN0SW5kZXhPZigiL2xpdmUvIikgKyA2KTsNCgkJCQlzdHJlYW1GaWxlTmFtZSA9IHJ0bXBTcmMuc3Vic3RyKHJ0bXBTcmMubGFzdEluZGV4T2YoIi9saXZlLyIpICsgNik7DQoJCQkJc3RyZWFtVFlQRT0iTElWRSI7DQoJCQl9IGVsc2Ugew0KCQkJCXN0cmVhbVRZUEU9IlJFQ09SREVEIjsNCgkJCQkNCgkJCX0NCgkJCQ0KCQkJLy8gTXAzIHN0cmVhbXMgd2l0aCBzdGFuZGFyZCBhcHBuYW1lL25vIGluc3RhbmNlIG5hbWUsIG1wMzogcHJlZml4DQoJCQlpZiAocnRtcFNyYy5pbmRleE9mKCIubXAzIikgIT0gLTEpDQoJCQl7DQoJCQkJYXBwTmFtZSA9IHJ0bXBTcmMuc3Vic3RyaW5nKGVuZEhvc3QscnRtcFNyYy5pbmRleE9mKCJtcDM6IikpOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gcnRtcFNyYy5zdWJzdHIocnRtcFNyYy5pbmRleE9mKCJtcDM6IikpOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gc3RyZWFtRmlsZU5hbWUuc3Vic3RyKDAsc3RyZWFtRmlsZU5hbWUubGVuZ3RoIC0gNCk7DQoJCQl9DQoJCQkvLyBydG1wOi8vY3A4MzgxMy5lZGdlZmNzLm5ldC9vbmRlbWFuZC9yb2JfaGFsbC9icnVjZV9jYW1wYmVsbF9vbGRzcGljZS5mbHYNCgkJCQ0KCQkJLy8gTXA0IHN0cmVhbXMgd2l0aCBzdGFuZGFyZCBhcHBuYW1lL25vIGluc3RhbmNlIG5hbWUsIG1wNDogcHJlZml4DQoJCQlpZiAocnRtcFNyYy5pbmRleE9mKCJtcDQ6IikgIT0gLTEpDQoJCQl7DQoJCQkJYXBwTmFtZSA9IHJ0bXBTcmMuc3Vic3RyaW5nKGVuZEhvc3QscnRtcFNyYy5pbmRleE9mKCJtcDQ6IikpOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gcnRtcFNyYy5zdWJzdHIocnRtcFNyYy5pbmRleE9mKCJtcDQ6IikpOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gc3RyZWFtRmlsZU5hbWUuc3Vic3RyKDAsc3RyZWFtRmlsZU5hbWUubGVuZ3RoIC0gNCk7DQoJCQl9DQoJCQkNCgkJCS8vIC5mNHYgc3RyZWFtcyB3aXRoIHN0YW5kYXJkIGFwcG5hbWUvbm8gaW5zdGFuY2UgbmFtZSwgLmZsdiBleHRlbnNpb24NCgkJCWlmIChydG1wU3JjLmluZGV4T2YoIi5mbHYiKSAhPSAtMSkNCgkJCXsNCgkJCS8vIGFsbG93IHVzZSBvZiBeIGluIHJ0bXAgc3RyaW5nIHRvIGluZGljYXRlIGJyZWFrIHBvaW50IGZvciBhbiBhcHBuYW1lIG9yIGluc3RhbmNlIG5hbWUgdGhhdA0KCQkJLy8gY29udGFpbnMgYSAvIGluIGl0IHdoZXJlIGl0IHdvdWxkIHJlcXVpcmUgbXVsdGlwbGUgY29ubmVjdGlvbiBhdHRlbXB0cyBvciBtYW51YWwgY29uZmlndXJhdGlvbQ0KCQkJLy8gb2YgdGhlIGFwcG5hbWUvaW5zdGFuY2VuYW1lDQoJCQl2YXIgZW5kQXBwOk51bWJlcj0wOw0KCQkJaWYocnRtcFNyYy5pbmRleE9mKCJeIikgIT0gLTEpIHsNCgkJCQllbmRBcHA9cnRtcFNyYy5pbmRleE9mKCJeIik7DQoJCQkJcnRtcFNyYy5yZXBsYWNlKCJeIiwgIi8iKTsNCgkJCX0gZWxzZSB7DQoJCQkJZW5kQXBwID0gcnRtcFNyYy5pbmRleE9mKCIvIixlbmRIb3N0KTsNCgkJCX0NCgkJCQlhcHBOYW1lID0gcnRtcFNyYy5zdWJzdHJpbmcoZW5kSG9zdCxlbmRBcHApICsgIi8iOw0KCQkJCXN0cmVhbUZpbGVOYW1lID0gcnRtcFNyYy5zdWJzdHIoZW5kQXBwKzEpOw0KCQkJfQ0KCQkJDQoJCQlpZihwb3J0PT0iIikgew0KCQkJCXBvcnQ9Ik1VTFRJIjsNCgkJCX0NCgkJCS8vcnRtcCwgcnRtcHQsIHJ0bXBzLCBydG1wZSwgcnRtcHRlDQoNCg0KCQkJdHJhY2UoKCJcblxuKioqIEhPU1Q6ICIgKyBob3N0KSk7DQoJCQl0cmFjZSgoIioqKiBQT1JUOiAiICsgcG9ydCkpOw0KCQkJdHJhY2UoKCIqKiogQVBQTkFNRTogIiArIGFwcE5hbWUpKTsNCgkJCXRyYWNlKCgiKioqIFN0cmVhbU5hbWU6ICIgKyBzdHJlYW1GaWxlTmFtZSkpOw0KDQoJCQl2YXIgc3RyZWFtUGFydHM6T2JqZWN0ID0gbmV3IE9iamVjdDsNCgkJCXN0cmVhbVBhcnRzLnN0cmVhbVRZUEU9c3RyZWFtVFlQRTsNCgkJCXN0cmVhbVBhcnRzLmFwcE5hbWUgPSBhcHBOYW1lOw0KCQkJc3RyZWFtUGFydHMuc3RyZWFtRmlsZU5hbWUgPSBzdHJlYW1GaWxlTmFtZTsNCgkJCXN0cmVhbVBhcnRzLmhvc3ROYW1lID0gaG9zdDsNCgkJCXN0cmVhbU5hbWUgPSBzdHJlYW1GaWxlTmFtZTsNCgkJCQ0KCQkJcmV0dXJuIHN0cmVhbVBhcnRzOw0KCQl9DQoNCgkJcHVibGljIGZ1bmN0aW9uIGxvYWQoKTpCb29sZWFuDQoJCXsNCgkJCS8vdHJhY2UoIkxPQUQ6ICIrbXlTdGF0dXMuc3JjKTsNCgkJCWlmIChteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSB8fCBvdmVyUmlkZUNvbm5lY3Q9PXRydWUpDQoJCQl7DQoJCQkJb3ZlclJpZGVDb25uZWN0PWZhbHNlOw0KCQkJCW15U3RhdHVzLnN0YXJ0aW5nRG93bmxvYWQoKTsNCgkJCQl2YXIgbGFzdEFwcE5hbWU6U3RyaW5nOw0KCQkJCXZhciBsYXN0SG9zdE5hbWU6U3RyaW5nOw0KCQkJCQkNCgkJCQl0cnl7DQoJCQkJCS8vIHdlIGRvIGEgdHJ5LCBhcyB0aGVzZSBwcm9wZXJ0aWVzIG1pZ2h0IG5vdCBleGlzdCB5ZXQNCgkJCQlpZihjb25uZWN0U3RyaW5nLmFwcE5hbWUgIT0gIiIgJiYgY29ubmVjdFN0cmluZy5hcHBOYW1lICE9IHVuZGVmaW5lZCkgew0KCQkJCQl0cmFjZSgiUFJFVklPVVMgQVBQL0hPU1QgSU5GTyBBVkFJTEFCTEUiKTsNCgkJCQkJbGFzdEFwcE5hbWUgPSBjb25uZWN0U3RyaW5nLmFwcE5hbWU7DQoJCQkJCWxhc3RIb3N0TmFtZSA9IGNvbm5lY3RTdHJpbmcuaG9zdE5hbWU7DQoJCQkJCXRyYWNlKCJMQVNUOiAiK2xhc3RBcHBOYW1lLGxhc3RIb3N0TmFtZSk7DQoJCQkJfSANCgkJCQl9IGNhdGNoIChlcnJvcjpFcnJvcikgew0KCQkJCQkvL3RyYWNlKCIqKiogQ2F1Z2h0IGFuIGVycm9yIGNvbmRpdGlvbjogIitlcnJvcik7DQoJCQkJfQ0KCQkJCQ0KCQkJCWNvbm5lY3RTdHJpbmcgPSBwYXJzZVJUTVBzcmNDb25uZWN0KG15U3RhdHVzLnNyYyk7DQoJCQkJDQoJCQkJDQoJCQkJDQoJCQkJdHJhY2UoIioqKiogTE9BRCA6OiBDT05ORUNUIFNPVVJDRTogIiArY29ubmVjdFN0cmluZy5ob3N0TmFtZSArIiAiKyBjb25uZWN0U3RyaW5nLmFwcE5hbWUpOw0KCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1dBSVRJTkcsIG15U3RhdHVzKSk7DQoJCQkJDQoJCQkJaWYoKGNvbm5lY3RTdHJpbmcuYXBwTmFtZSA9PSBsYXN0QXBwTmFtZSAmJiBjb25uZWN0U3RyaW5nLmhvc3ROYW1lID09IGxhc3RIb3N0TmFtZSkgJiYgKG15Q29ubmVjdGlvbi5jb25uZWN0ZWQpKSB7DQoJCQkJCS8vIHJlY3ljbGUgdGhlIG5ldENvbm5lY3Rpb24NCgkJCQkJdHJhY2UoIlJFQ1lDTElORyBORVRDT05ORUNUSU9OIik7DQoJCQkJCWlmICgobXlTdHJlYW0gIT0gbnVsbCkpDQoJCQkJCXsNCgkJCQkJCW15U3RyZWFtLmNsb3NlKCk7DQoJCQkJCX0NCgkJCQkJY29ubmVjdFN0cmVhbSgpOw0KCQkJCQlvbkJXRG9uZShudWxsLG15Q29ubmVjdGlvbik7DQoJCQkJfSBlbHNlIHsNCgkJCQkJLy8gbXlDb25uZWN0aW9uLmNvbm5lY3QoY29ubmVjdFN0cmluZy5hcHBOYW1lKTsNCgkJCQkJdHJhY2UoIk5FVyBOZXRDb25uZWN0aW9uIE5lZ290aWF0aW9uIik7DQoJCQkJCWlmICgobXlTdHJlYW0gIT0gbnVsbCkpDQoJCQkJCXsNCgkJCQkJCW15U3RyZWFtLmNsb3NlKCk7DQoJCQkJCQlteUNvbm5lY3Rpb24uY2xvc2UoKTsNCgkJCQkJfQ0KCQkJCQkNCgkJCQkJQ29ubk1nci5zdG9wQWxsKHRydWUpOw0KCQkJCQlDb25uTWdyLm5lZ290aWF0ZUNvbm5lY3QodGhpcyxjb25uZWN0U3RyaW5nLmhvc3ROYW1lLGNvbm5lY3RTdHJpbmcuYXBwTmFtZSk7DQoJCQkJfQ0KCQkJCQ0KCQkJCXRyYWNlKCIqKioqIExPQUQyIDo6IENPTk5FQ1QgU09VUkNFOiAiICtjb25uZWN0U3RyaW5nLmhvc3ROYW1lICsiICIrIGNvbm5lY3RTdHJpbmcuYXBwTmFtZSk7DQoJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfV0FJVElORywgbXlTdGF0dXMpKTsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoJCX0NCgkJDQoJCQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiBvbkZDVW5zdWJzY3JpYmUoaW5mbzpPYmplY3QpOnZvaWQNCgkJew0KCQkJdHJhY2UoKCJvbkZDVW5TdWJzY3JpYmUgd29ya2VkIiArIGluZm8pKTsNCgkJfQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiBvbkZDU3Vic2NyaWJlKGluZm86T2JqZWN0KTp2b2lkDQoJCXsNCgkJCXRyYWNlKCgib25GQ1N1YnNjcmliZSB3b3JrZWQiICsgaW5mbykpOw0KCQl9DQoNCgkJcHVibGljIGZ1bmN0aW9uIG9uQldEb25lKGluZm86T2JqZWN0LG5jOk5ldENvbm5lY3Rpb24pOnZvaWQNCgkJew0KCQkJaWYobmMuY29ubmVjdGVkKSB7DQoJCQlteUNvbm5lY3Rpb249bmM7DQoJCQl0cmFjZSgoKCgib25CV0RvbmUgIiArIGluZm8pICsgIiA6OiAiKSArIG15U3RhdHVzLnNyYykpOw0KDQoJCQl2YXIgY3VzdG9tQ2xpZW50Ok9iamVjdCA9IG5ldyBPYmplY3QgIDsNCgkJCWN1c3RvbUNsaWVudC5vbk1ldGFEYXRhID0gb25NZXRhRGF0YUhhbmRsZXI7DQoJCQljdXN0b21DbGllbnQub25QbGF5U3RhdHVzID0gb25QbGF5U3RhdHVzSGFuZGxlcjsvLyBBY2NvcmRpbmcgdG8gdGhlIGZvcnVtcyBhbmQgbXkgdGVzdHMsIG9uUGxheVN0YXR1cyBvbmx5IHdvcmtzIHdpdGggRk1TIChGbGFzaCBNZWRpYSBTZXJ2ZXIpLg0KDQoJCQlteVN0cmVhbSA9IG51bGw7DQoJCQlteVN0cmVhbSA9IG5ldyBOZXRTdHJlYW0obXlDb25uZWN0aW9uKTsNCgkJCW15U3RyZWFtLmFkZEV2ZW50TGlzdGVuZXIoTmV0U3RhdHVzRXZlbnQuTkVUX1NUQVRVUyxuZXRTdGF0dXNIYW5kbGVyKTsNCgkJCW15U3RyZWFtLmNsaWVudCA9IGN1c3RvbUNsaWVudDsNCgkJCQlpZihjb25uZWN0U3RyaW5nLnN0cmVhbVRZUEUgPT0gIkxJVkUiKSB7DQoJCQkJCW15U3RyZWFtLmJ1ZmZlclRpbWUgPSAzOyAvLyB3YXMgMw0KCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lTWF4ID0gMjQ7DQoJCQkJCXN0YXJ0QnVmZmVyID0gMzsNCgkJCQkJbWF4QnVmZmVyID0gMTI7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQlteVN0cmVhbS5idWZmZXJUaW1lID0gLjI7IC8vIHdhcyAzDQoJCQkJCW15U3RyZWFtLmJ1ZmZlclRpbWVNYXggPSAwOw0KCQkJCQlzdGFydEJ1ZmZlciA9IC4yOw0KCQkJCQltYXhCdWZmZXIgPSAxMjsNCgkJCQl9DQoJCQ0KDQoJCQkvL3N0cmVhbU5hbWU9IiI7DQoJCQkvL3ZhciBjb25uZWN0U3RyaW5nOk9iamVjdCA9IHBhcnNlUlRNUHNyY0Nvbm5lY3QobXlTdGF0dXMuc3JjKTsNCgkJCS8vc3RyZWFtTmFtZT1jb25uZWN0U3RyaW5nLnN0cmVhbUZpbGVOYW1lOw0KDQoJCQlyZXNwb25kZXIgPSBuZXcgUmVzcG9uZGVyKG9uUmVzdWx0KTsNCgkJCW15Q29ubmVjdGlvbi5jYWxsKCJnZXRTdHJlYW1MZW5ndGgiLHJlc3BvbmRlcixzdHJlYW1OYW1lKTsNCgkJCX0gZWxzZSB7DQoJCQkJY29ubmVjdFN0cmVhbSgpOw0KCQkJfQ0KDQoJCQl0cmFjZSgiUExBWSBTT1VSQ0U6ICIrY29ubmVjdFN0cmluZyk7DQoNCgkJfQ0KDQoJCQlwdWJsaWMgZnVuY3Rpb24gcGxheSh0aW1lOk51bWJlciA9IE5hTik6Qm9vbGVhbiB7DQoJCQkvL3RyYWNlKCJQTEFZOiAiK3RpbWUrIiAtIGlzUGxheWluZzogIitteVN0YXR1cy5pc1BsYXlpbmcgKyIgLSBteVN0YXR1cy5pc1N0YXJ0aW5nRG93bmxvYWQ6IitteVN0YXR1cy5pc1N0YXJ0aW5nRG93bmxvYWQpOw0KCQkJdmFyIHdhc1BsYXlpbmc6Qm9vbGVhbiA9IG15U3RhdHVzLmlzUGxheWluZzsNCg0KCQkJaWYoIWlzTmFOKHRpbWUpICYmIG15U3RhdHVzLnNyY1NldCkgew0KCQkJCWlmKG15U3RhdHVzLmlzUGxheWluZykgew0KCQkJCQlteVN0cmVhbS5wYXVzZSgpOw0KCQkJCQlteVN0YXR1cy5pc1BsYXlpbmcgPSBmYWxzZTsNCgkJCQl9DQoJCQkJbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA9IHRpbWU7DQoJCQl9DQoNCgkJCWlmKG15U3RhdHVzLmlzU3RhcnRpbmdEb3dubG9hZCkgew0KCQkJCW15U3RhdHVzLnBsYXlPbkxvYWQgPSB0cnVlOyAvLyBSYWlzZSBmbGFnLCBjYXB0dXJlZCBpbiBvbk1ldGFEYXRhSGFuZGxlcigpDQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9IGVsc2UgaWYobXlTdGF0dXMubG9hZFJlcXVpcmVkKCkpIHsNCgkJCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gdHJ1ZTsgLy8gUmFpc2UgZmxhZywgY2FwdHVyZWQgaW4gb25NZXRhRGF0YUhhbmRsZXIoKQ0KCQkJCXJldHVybiBsb2FkKCk7DQoJCQl9IGVsc2UgaWYoKG15U3RhdHVzLmlzTG9hZGluZyB8fCBteVN0YXR1cy5pc0xvYWRlZCkgJiYgIW15U3RhdHVzLmlzUGxheWluZykgew0KCQkJCWlmKG15U3RhdHVzLm1ldGFEYXRhUmVhZHkgJiYgbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA+IG15U3RhdHVzLmR1cmF0aW9uICYmIGNvbm5lY3RTdHJpbmcuc3RyZWFtVFlQRSAhPSAiTElWRSIpIHsgLy8gVGhlIHRpbWUgaXMgaW52YWxpZCwgaWUuLCBwYXN0IHRoZSBlbmQuDQoJCQkJCW15U3RyZWFtLnBhdXNlKCk7IC8vIFNpbmNlIGl0IGlzIHBsYXlpbmcgYnkgZGVmYXVsdCBhdCB0aGlzIHBvaW50Lg0KCQkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsNCgkJCQkJdHJhY2UoIlNFRUtFUiEiKTsNCgkJCQkJbXlTdHJlYW0uc2VlaygwKTsNCgkJCQkJdGltZVVwZGF0ZXMoZmFsc2UpOw0KCQkJCQl0aW1lVXBkYXRlRXZlbnQoKTsNCgkJCQkJaWYod2FzUGxheWluZykgeyAvLyBGb3Igd2hlbiBwbGF5aW5nIGFuZCB0aGVuIGdldCBhIHBsYXkoaHVnZSkNCgkJCQkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BBVVNFLCBteVN0YXR1cykpOw0KCQkJCQl9DQoJCQkJfSBlbHNlIGlmKGdldFNlZWtUaW1lUmF0aW8oKSA+IGdldExvYWRSYXRpbygpKSB7IC8vIFVzZSBhbiBlc3RpbWF0ZSBiYXNlZCBvbiB0aGUgZG93bmxvYWRlZCBhbW91bnQNCgkJCQkJbXlTdGF0dXMucGxheU9uU2VlayA9IHRydWU7DQoJCQkJCXNlZWtpbmcodHJ1ZSk7DQoJCQkJCXRyYWNlKCJTRUVLRVIgUEFVU0UhIik7DQoJCQkJCW15U3RyZWFtLnBhdXNlKCk7IC8vIFNpbmNlIGl0IGlzIHBsYXlpbmcgYnkgZGVmYXVsdCBhdCB0aGlzIHBvaW50Lg0KCQkJCX0gZWxzZSB7DQoJCQkJCWlmKCFpc05hTih0aW1lKSkgeyAvLyBBdm9pZCB1c2luZyBzZWVrKCkgd2hlbiBpdCBpcyBhbHJlYWR5IGNvcnJlY3QuDQoJCQkJCQl0cmFjZSgiU0VFS0VSMyIpOw0KCQkJCQkJbXlTdHJlYW0uc2VlayhteVN0YXR1cy5wYXVzZVBvc2l0aW9uLzEwMDApOyAvLyBTaW5jZSB0aW1lIGlzIGluIG1zIGFuZCBzZWVrKCkgdGFrZXMgc2Vjb25kcw0KCQkJCQl9DQoJCQkJCW15U3RhdHVzLmlzUGxheWluZyA9IHRydWU7IC8vIFNldCBpbW1lZGlhdGVseSBiZWZvcmUgcGxheWluZy4gQ291bGQgYWZmZWN0cyBldmVudHMuDQoJCQkJCXRyYWNlKCJTSE9VTEQgR0VUIFJFU1VNRSEiKTsNCgkJCQkJbXlTdHJlYW0ucmVzdW1lKCk7DQoJCQkJCXRpbWVVcGRhdGVzKHRydWUpOw0KCQkJCQlpZighd2FzUGxheWluZykgew0KCQkJCQkJdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkpQTEFZRVJfUExBWSwgbXlTdGF0dXMpKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoJCQ0KCXB1YmxpYyBmdW5jdGlvbiBwYXVzZSh0aW1lOk51bWJlcj1OYU4pOkJvb2xlYW4NCgl7DQoJCS8vdHJhY2UoIlBBVVNFOiAiK3RpbWUpOw0KCQlteVN0YXR1cy5wbGF5T25Mb2FkID0gZmFsc2U7Ly8gUmVzZXQgZmxhZyBpbiBjYXNlIGxvYWQvcGxheSBpc3N1ZWQgaW1tZWRpYXRlbHkgYmVmb3JlIHRoaXMgY29tbWFuZCwgaWUuLCBiZWZvcmUgb25NZXRhZGF0YSgpIGV2ZW50Lg0KCQlteVN0YXR1cy5wbGF5T25TZWVrID0gZmFsc2U7Ly8gUmVzZXQgZmxhZyBpbiBjYXNlIHBsYXkodGltZSkgaXNzdWVkIGJlZm9yZSB0aGUgY29tbWFuZCBhbmQgaXMgc3RpbGwgc2Vla2luZyB0byB0aW1lIHNldC4NCg0KCQl2YXIgd2FzUGxheWluZzpCb29sZWFuID0gbXlTdGF0dXMuaXNQbGF5aW5nOw0KDQoJCQ0KCQkvLyBUbyBhdm9pZCBwb3NzaWJsZSBsb29wcyB3aXRoIHRpbWV1cGRhdGUgYW5kIHBhdXNlKHRpbWUpLiBBIHBhdXNlKCkgZG9lcyBub3QgaGF2ZSB0aGUgcHJvYmxlbS4NCgkJdmFyIGFscmVhZHlQYXVzZWRBdFRpbWU6Qm9vbGVhbiA9IGZhbHNlOw0KCQlpZighaXNOYU4odGltZSkgJiYgbXlTdGF0dXMucGF1c2VQb3NpdGlvbiA9PSB0aW1lKSB7DQoJCQlhbHJlYWR5UGF1c2VkQXRUaW1lID0gdHJ1ZTsNCgkJfQ0KCQkNCgkJdHJhY2UoIiFpc05hTjogIishaXNOYU4odGltZSkgKyIgaXNOYU46ICIraXNOYU4odGltZSkpOw0KDQoJCS8vIE5lZWQgdG8gd2FpdCBmb3IgbWV0YWRhdGEgdG8gbG9hZCBiZWZvcmUgZXZlciBpc3N1aW5nIGEgcGF1c2UuIFRoZSBtZXRhZGF0YSBoYW5kbGVyIHdpbGwgY2FsbCB0aGlzIGZ1bmN0aW9uIGlmIG5lZWRlZCwgd2hlbiByZWFkeS4NCgkJaWYgKCgobXlTdHJlYW0gIT0gbnVsbCkgJiYgbXlTdGF0dXMubWV0YURhdGFSZWFkeSkpDQoJCXsvLyBteVN0cmVhbSBpcyBhIG51bGwgdW50aWwgdGhlIDFzdCBtZWRpYSBpcyBsb2FkZWQuIGllLiwgVGhlIDFzdCBldmVyIHNldE1lZGlhIGJlaW5nIGZvbGxvd2VkIGJ5IGEgcGF1c2UoKSBvciBwYXVzZSh0KS4NCgkJCQ0KCQkJaWYoY29ubmVjdFN0cmluZy5zdHJlYW1UWVBFID09ICJMSVZFIikgew0KCQkJCXRyYWNlKCJQQVVTSU5HIExJVkUiKTsNCgkJCQlteVN0cmVhbS5wbGF5KGZhbHNlKSANCgkJCX0gZWxzZSB7DQoJCQkJdHJhY2UoIlBBVVNJTkcgUkVDT1JERUQiKTsNCgkJCW15U3RyZWFtLnBhdXNlKCk7DQoJCQl9DQoJCX0NCgkJaWYgKG15U3RhdHVzLmlzUGxheWluZykNCgkJew0KCQkJbXlTdGF0dXMuaXNQbGF5aW5nID0gZmFsc2U7DQoJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gbXlTdHJlYW0udGltZSAqIDEwMDA7DQoJCX0NCg0KCQlpZiAoISBpc05hTih0aW1lKSAmJiBteVN0YXR1cy5zcmNTZXQpDQoJCXsNCgkJCW15U3RhdHVzLnBhdXNlUG9zaXRpb24gPSB0aW1lOw0KCQl9DQoNCgkJaWYgKHdhc1BsYXlpbmcpDQoJCXsNCgkJCXRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSnBsYXllckV2ZW50KEpwbGF5ZXJFdmVudC5KUExBWUVSX1BBVVNFLG15U3RhdHVzKSk7DQoJCX0NCg0KCQlpZiAobXlTdGF0dXMuaXNTdGFydGluZ0Rvd25sb2FkKQ0KCQl7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCQllbHNlIGlmIChteVN0YXR1cy5sb2FkUmVxdWlyZWQoKSkNCgkJew0KCQkJaWYgKCh0aW1lID4gMCkpDQoJCQl7Ly8gV2UgZG8gbm90IHdhbnQgdGhlIHN0b3AoKSBjb21tYW5kLCB3aGljaCBkb2VzIHBhdXNlKDApLCBjYXVzaW5nIGEgbG9hZCBvcGVyYXRpb24uDQoJCQkJcmV0dXJuIGxvYWQoKTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlyZXR1cm4gdHJ1ZTsvLyBUZWNobmljYWxseSB0aGUgcGF1c2UoMCkgc3VjY2VlZGVkLiBpZS4sIEl0IGRpZCBub3RoaW5nLCBzaW5jZSBub3RoaW5nIHdhcyByZXF1aXJlZC4NCgkJCX0NCgkJfQ0KCQllbHNlIGlmIChteVN0YXR1cy5pc0xvYWRpbmcgfHwgbXlTdGF0dXMuaXNMb2FkZWQpDQoJCXsNCgkJCWlmIChteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gPiBteVN0YXR1cy5kdXJhdGlvbiAmJiBjb25uZWN0U3RyaW5nLnN0cmVhbVRZUEUgIT0gIkxJVkUiICkNCgkJCXsvLyBUaGUgdGltZSBpcyBpbnZhbGlkLCBpZS4sIHBhc3QgdGhlIGVuZC4NCgkJCQlteVN0YXR1cy5wYXVzZVBvc2l0aW9uID0gMDsNCgkJCQkNCgkJCQl0cmFjZSgiR09UIEhFUkUhIik7DQoJCQkJbXlTdHJlYW0uc2VlaygwKTsNCgkJCQlzZWVrZWRFdmVudCgpOy8vIERlYWxzIHdpdGggc2Vla2luZyBlZmZlY3Qgd2hlbiB1c2luZyBzZXRNZWRpYSgpIHRoZW4gcGF1c2UoaHVnZSkuIE5COiBUaGVyZSBpcyBubyBwcmVjZWVkaW5nIHNlZWtpbmcgZXZlbnQuDQoJCQl9DQoJCQllbHNlIGlmICghIGlzTmFOKHRpbWUpKQ0KCQkJew0KCQkJCWlmICgoZ2V0U2Vla1RpbWVSYXRpbygpID4gZ2V0TG9hZFJhdGlvKCkpKQ0KCQkJCXsvLyBVc2UgYW4gZXN0aW1hdGUgYmFzZWQgb24gdGhlIGRvd25sb2FkZWQgYW1vdW50DQoJCQkJCXNlZWtpbmcodHJ1ZSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCWlmIChteVN0YXR1cy5tZXRhRGF0YVJlYWR5ICYmIGNvbm5lY3RTdHJpbmcuc3RyZWFtVFlQRSAhPSAiTElWRSIpDQoJCQkJCXsvLyBPdGhlcndpc2Ugc2VlaygwKSB3aWxsIHN0b3AgdGhlIG1ldGFkYXRhIGxvYWRpbmcuDQoJCQkJCXRyYWNlKCJHT1QgSEVSRSBUT08hIik7DQoJCQkJCQlteVN0cmVhbS5zZWVrKG15U3RhdHVzLnBhdXNlUG9zaXRpb24gLyAxMDAwKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCXRpbWVVcGRhdGVzKGZhbHNlKTsNCgkJCS8vIE5lZWQgdG8gYmUgY2FyZWZ1bCB3aXRoIHRpbWV1cGRhdGUgZXZlbnQsIG90aGVyd2lzZSBhIHBhdXNlIGluIGEgdGltZXVwZGF0ZSBldmVudCBjYW4gY2F1c2UgYSBsb29wLg0KCQkJLy8gTmVpdGhlciBwYXVzZSgpIG5vciBwYXVzZSh0aW1lKSB3aWxsIGNhdXNlIGEgdGltZXVwZGF0ZSBsb29wLg0KCQkJaWYod2FzUGxheWluZyB8fCAhaXNOYU4odGltZSkgJiYgIWFscmVhZHlQYXVzZWRBdFRpbWUpIHsNCgkJCQl0aW1lVXBkYXRlRXZlbnQoKTsNCgkJCX0NCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBwbGF5SGVhZChwZXJjZW50Ok51bWJlcik6Qm9vbGVhbg0KCXsNCgkJdmFyIHRpbWU6TnVtYmVyID0gcGVyY2VudCAqIGdldER1cmF0aW9uKCkgKiBnZXRMb2FkUmF0aW8oKSAvIDEwMDsNCgkJaWYgKG15U3RhdHVzLmlzUGxheWluZyB8fCBteVN0YXR1cy5wbGF5T25Mb2FkIHx8IG15U3RhdHVzLnBsYXlPblNlZWspDQoJCXsNCgkJCXJldHVybiBwbGF5KHRpbWUpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIHBhdXNlKHRpbWUpOw0KCQl9DQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBzZXRWb2x1bWUodjpOdW1iZXIpOnZvaWQNCgl7DQoJCW15U3RhdHVzLnZvbHVtZSA9IHY7DQoJCW15VHJhbnNmb3JtLnZvbHVtZSA9IHY7DQoJCWlmICgobXlTdHJlYW0gIT0gbnVsbCkpDQoJCXsNCgkJCW15U3RyZWFtLnNvdW5kVHJhbnNmb3JtID0gbXlUcmFuc2Zvcm07DQoJCX0NCgl9DQoJcHJpdmF0ZSBmdW5jdGlvbiB1cGRhdGVTdGF0dXNWYWx1ZXMoKTp2b2lkDQoJew0KCQkvL215U3RhdHVzLnNlZWtQZXJjZW50ID0gMTAwICogZ2V0TG9hZFJhdGlvKCk7DQoJCW15U3RhdHVzLnNlZWtQZXJjZW50ID0gMTAwOw0KCQlteVN0YXR1cy5jdXJyZW50VGltZSA9IGdldEN1cnJlbnRUaW1lKCk7DQoJCW15U3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSAxMDAgKiBnZXRDdXJyZW50UmF0aW9SZWwoKTsNCgkJbXlTdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSA9IDEwMCAqIGdldEN1cnJlbnRSYXRpb0FicygpOw0KCQlteVN0YXR1cy5kdXJhdGlvbiA9IGdldER1cmF0aW9uKCk7DQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBnZXRMb2FkUmF0aW8oKTpOdW1iZXINCgl7DQoJCXJldHVybiAxOw0KCQkvKnRyYWNlKCJMb2FkUmF0aW86IitteVN0cmVhbS5ieXRlc0xvYWRlZCwgbXlTdHJlYW0uYnl0ZXNUb3RhbCk7DQoJCWlmKChteVN0YXR1cy5pc0xvYWRpbmcgfHwgbXlTdGF0dXMuaXNMb2FkZWQpICYmIG15U3RyZWFtLmJ5dGVzVG90YWwgPiAwKSB7DQoJCQ0KCQlyZXR1cm4gbXlTdHJlYW0uYnl0ZXNMb2FkZWQgLyBteVN0cmVhbS5ieXRlc1RvdGFsOw0KCQl9IGVsc2Ugew0KCQlyZXR1cm4gMDsNCgkJfQ0KCQkqLw0KDQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBnZXREdXJhdGlvbigpOk51bWJlcg0KCXsNCgkJcmV0dXJuIG15U3RhdHVzLmR1cmF0aW9uOy8vIFNldCBmcm9tIG1ldGEgZGF0YS4NCgl9DQoJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lKCk6TnVtYmVyDQoJew0KCQlpZiAobXlTdGF0dXMuaXNQbGF5aW5nKQ0KCQl7DQoJCQkvL3RyYWNlKG15U3RyZWFtLnRpbWUgKiAxMDAwKTsNCgkJCXJldHVybiBteVN0cmVhbS50aW1lICogMTAwMDsgLy8gd2FzICsxMDAwDQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlyZXR1cm4gbXlTdGF0dXMucGF1c2VQb3NpdGlvbjsNCgkJfQ0KCX0NCglwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VycmVudFJhdGlvUmVsKCk6TnVtYmVyDQoJew0KDQoJCWlmICgoZ2V0Q3VycmVudFJhdGlvQWJzKCkgPD0gZ2V0TG9hZFJhdGlvKCkpKQ0KCQl7DQoJCQkvL2lmKChnZXRMb2FkUmF0aW8oKSA+IDApICYmIChnZXRDdXJyZW50UmF0aW9BYnMoKSA8PSBnZXRMb2FkUmF0aW8oKSkpIHsNCgkJCXJldHVybiBnZXRDdXJyZW50UmF0aW9BYnMoKSAvIGdldExvYWRSYXRpbygpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIDA7DQoJCX0NCgl9DQoJcHVibGljIGZ1bmN0aW9uIGdldEN1cnJlbnRSYXRpb0FicygpOk51bWJlcg0KCXsNCgkJaWYgKChnZXREdXJhdGlvbigpID4gMCkpDQoJCXsNCgkJCXJldHVybiBnZXRDdXJyZW50VGltZSgpIC8gZ2V0RHVyYXRpb24oKTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCXJldHVybiAwOw0KCQl9DQoJfQ0KCXB1YmxpYyBmdW5jdGlvbiBnZXRTZWVrVGltZVJhdGlvKCk6TnVtYmVyDQoJew0KCQlpZiAoKGdldER1cmF0aW9uKCkgPiAwKSkNCgkJew0KCQkJcmV0dXJuIG15U3RhdHVzLnBhdXNlUG9zaXRpb24gLyBnZXREdXJhdGlvbigpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIDE7DQoJCX0NCgl9DQoJcHVibGljIGZ1bmN0aW9uIG9uUGxheVN0YXR1c0hhbmRsZXIoaW5mb09iamVjdDpPYmplY3QpOnZvaWQNCgl7DQoJCXRyYWNlKCgoIk9uUGxheVN0YXR1c0hhbmRsZXIgY2FsbGVkOiAoIiArIGdldFRpbWVyKCkpICsgIiBtcykiKSk7DQoJCWZvciAodmFyIHByb3A6KiBpbiBpbmZvT2JqZWN0KQ0KCQl7DQoJCQl0cmFjZSgoKCgiXHQiICsgcHJvcCkgKyAiOlx0IikgKyBpbmZvT2JqZWN0W3Byb3BdKSk7DQoJCX0NCgkJaWYgKGluZm9PYmplY3QuY29kZSA9PSAiTmV0U3RyZWFtLlBsYXkuQ29tcGxldGUiKQ0KCQl7DQoJCQllbmRlZEV2ZW50KCk7DQoJCX0NCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gb25NZXRhRGF0YUhhbmRsZXIoaW5mbzpPYmplY3QpOnZvaWQNCgl7Ly8gVXNlZCBpbiBjb25uZWN0U3RyZWFtKCkgaW4gbXlTdHJlYW0uY2xpZW50IG9iamVjdC4NCgkJLy8gVGhpcyBldmVudCBvY2N1cnMgd2hlbiBqdW1waW5nIHRvIHRoZSBzdGFydCBvZiBzdGF0aWMgZmlsZXMhIGllLiwgc2VlaygwKSB3aWxsIGNhdXNlIHRoaXMgZXZlbnQgdG8gb2NjdXIuDQoNCgkJaWYgKCEgbXlTdGF0dXMubWV0YURhdGFSZWFkeSkNCgkJew0KCQkJdHJhY2UoIlxuXG4qKiogTUVUQURBVEEgRklSRUQhICoqKlxuXG4iKTsNCgkJCS8vdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBKcGxheWVyRXZlbnQoSnBsYXllckV2ZW50LkRFQlVHX01TRyxteVN0YXR1cywib25NZXRhRGF0YUhhbmRsZXI6ICIgKyBpbmZvLmR1cmF0aW9uICsgIiB8ICIgKyBpbmZvLndpZHRoICsgIngiICsgaW5mby5oZWlnaHQpKTsNCg0KCQkJbXlTdGF0dXMubWV0YURhdGFSZWFkeSA9IHRydWU7Ly8gU2V0IGZsYWcgc28gdGhhdCB0aGlzIGV2ZW50IG9ubHkgZWZmZWN0cyBqUGxheWVyIHRoZSAxc3QgdGltZS4NCgkJCW15U3RhdHVzLm1ldGFEYXRhID0gaW5mbzsNCgkJCW15U3RhdHVzLmR1cmF0aW9uID0gaW5mby5kdXJhdGlvbiAqIDEwMDA7Ly8gT25seSBhdmFpbGFibGUgdmlhIE1ldGEgRGF0YS4NCgkJCWlmIChpbmZvLndpZHRoICE9IHVuZGVmaW5lZCkNCgkJCXsNCgkJCQlteVZpZGVvLndpZHRoID0gbXlTdGF0dXMudmlkZW9XaWR0aCA9IGluZm8ud2lkdGg7DQoJCQl9DQoJCQlpZiAoaW5mby5oZWlnaHQgIT0gdW5kZWZpbmVkKQ0KCQkJew0KCQkJCW15VmlkZW8uaGVpZ2h0ID0gbXlTdGF0dXMudmlkZW9IZWlnaHQgPSBpbmZvLmhlaWdodDsNCgkJCX0NCg0KCQkJaWYgKG15U3RhdHVzLnBsYXlPbkxvYWQpDQoJCQl7DQoJCQkJbXlTdGF0dXMucGxheU9uTG9hZCA9IGZhbHNlOy8vIENhcHR1cmUgdGhlIGZsYWcNCgkJCQlpZiAobXlTdGF0dXMucGF1c2VQb3NpdGlvbiA+IDApDQoJCQkJey8vIEltcG9ydGFudCBmb3Igc2V0TWVkaWEgZm9sbG93ZWQgYnkgcGxheSh0aW1lKS4NCgkJCQkJcGxheShteVN0YXR1cy5wYXVzZVBvc2l0aW9uKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJcGxheSgpOy8vIE5vdCBhbHdheXMgc2VuZGluZyBwYXVzZVBvc2l0aW9uIGF2b2lkcyB0aGUgZXh0cmEgc2VlaygwKSBmb3IgYSBub3JtYWwgcGxheSgpIGNvbW1hbmQuDQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCXBhdXNlKG15U3RhdHVzLnBhdXNlUG9zaXRpb24pOy8vIEFsd2F5cyBzZW5kIHRoZSBwYXVzZVBvc2l0aW9uLiBJbXBvcnRhbnQgZm9yIHNldE1lZGlhKCkgZm9sbG93ZWQgYnkgcGF1c2UodGltZSkuIERlYWxzIHdpdGggbm90IHJlYWRpbmcgc3RyZWFtLnRpbWUgd2l0aCBzZXRNZWRpYSgpIGFuZCBwbGF5KCkgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgc3RvcCgpIG9yIHBhdXNlKDApDQoJCQl9DQoJCQl0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FERURNRVRBREFUQSxteVN0YXR1cykpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJLy90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuREVCVUdfTVNHLG15U3RhdHVzLCJvbk1ldGFEYXRhSGFuZGxlcjogQWxyZWFkeSByZWFkIChOTyBFRkZFQ1QpIikpOw0KCQl9DQoJfQ0KfQ0KfQ==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/JplayerStatus.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIERhdGU6IDV0aCBKdW5lIDIwMTMKICovCgpwYWNrYWdlIGhhcHB5d29ybS5qUGxheWVyIHsKCXB1YmxpYyBjbGFzcyBKcGxheWVyU3RhdHVzIHsKCgkJcHVibGljIHN0YXRpYyBjb25zdCBWRVJTSU9OOlN0cmluZyA9ICIyLjQuMCI7IC8vIFRoZSB2ZXJzaW9uIG9mIHRoZSBGbGFzaCBqUGxheWVyIGVudGl0eS4KCgkJcHVibGljIHZhciB2b2x1bWU6TnVtYmVyID0gMC41OyAvLyBOb3QgYWZmZWN0ZWQgYnkgcmVzZXQoKQoJCXB1YmxpYyB2YXIgbXV0ZWQ6Qm9vbGVhbiA9IGZhbHNlOyAvLyBOb3QgYWZmZWN0ZWQgYnkgcmVzZXQoKQoKCQlwdWJsaWMgdmFyIHNyYzpTdHJpbmc7CgkJcHVibGljIHZhciBzcmNFcnJvcjpCb29sZWFuOwoKCQlwdWJsaWMgdmFyIHNyY1NldDpCb29sZWFuOwoJCXB1YmxpYyB2YXIgaXNQbGF5aW5nOkJvb2xlYW47CgkJcHVibGljIHZhciBpc1NlZWtpbmc6Qm9vbGVhbjsKCgkJcHVibGljIHZhciBpc1dhaXRpbmc6Qm9vbGVhbjsKCgkJcHVibGljIHZhciBwbGF5T25Mb2FkOkJvb2xlYW47CgkJcHVibGljIHZhciBwbGF5T25TZWVrOkJvb2xlYW47CgoJCXB1YmxpYyB2YXIgaXNTdGFydGluZ0Rvd25sb2FkOkJvb2xlYW47CgkJcHVibGljIHZhciBpc0xvYWRpbmc6Qm9vbGVhbjsKCQlwdWJsaWMgdmFyIGlzTG9hZGVkOkJvb2xlYW47CgoJCXB1YmxpYyB2YXIgcGF1c2VQb3NpdGlvbjpOdW1iZXI7CgoJCXB1YmxpYyB2YXIgc2Vla1BlcmNlbnQ6TnVtYmVyOwoJCXB1YmxpYyB2YXIgY3VycmVudFRpbWU6TnVtYmVyOwoJCXB1YmxpYyB2YXIgY3VycmVudFBlcmNlbnRSZWxhdGl2ZTpOdW1iZXI7CgkJcHVibGljIHZhciBjdXJyZW50UGVyY2VudEFic29sdXRlOk51bWJlcjsKCQlwdWJsaWMgdmFyIGR1cmF0aW9uOk51bWJlcjsKCgkJcHVibGljIHZhciB2aWRlb1dpZHRoOk51bWJlcjsKCQlwdWJsaWMgdmFyIHZpZGVvSGVpZ2h0Ok51bWJlcjsKCQkKCQlwdWJsaWMgdmFyIG1ldGFEYXRhUmVhZHk6Qm9vbGVhbjsKCQlwdWJsaWMgdmFyIG1ldGFEYXRhOk9iamVjdDsKCgkJcHVibGljIGZ1bmN0aW9uIEpwbGF5ZXJTdGF0dXMoKSB7CgkJCXJlc2V0KCk7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiByZXNldCgpOnZvaWQgewoJCQlzcmMgPSAiIjsKCQkJc3JjRXJyb3IgPSBmYWxzZTsKCgkJCXNyY1NldCA9IGZhbHNlOwoJCQlpc1BsYXlpbmcgPSBmYWxzZTsKCQkJaXNTZWVraW5nID0gZmFsc2U7CgoJCQlpc1dhaXRpbmcgPSBmYWxzZTsKCgkJCXBsYXlPbkxvYWQgPSBmYWxzZTsKCQkJcGxheU9uU2VlayA9IGZhbHNlOwoKCQkJaXNTdGFydGluZ0Rvd25sb2FkID0gZmFsc2U7CgkJCWlzTG9hZGluZyA9IGZhbHNlOwoJCQlpc0xvYWRlZCA9IGZhbHNlOwoKCQkJcGF1c2VQb3NpdGlvbiA9IDA7CgoJCQlzZWVrUGVyY2VudCA9IDA7CgkJCWN1cnJlbnRUaW1lID0gMDsKCQkJY3VycmVudFBlcmNlbnRSZWxhdGl2ZSA9IDA7CgkJCWN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSAwOwoJCQlkdXJhdGlvbiA9IDA7CgoJCQl2aWRlb1dpZHRoID0gMDsKCQkJdmlkZW9IZWlnaHQgPSAwOwoJCQkKCQkJbWV0YURhdGFSZWFkeSA9IGZhbHNlOwoJCQltZXRhRGF0YSA9IHt9OwoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gZXJyb3IoKTp2b2lkIHsKCQkJdmFyIHNyY1NhdmVkOlN0cmluZyA9IHNyYzsKCQkJcmVzZXQoKTsKCQkJc3JjID0gc3JjU2F2ZWQ7CgkJCXNyY0Vycm9yID0gdHJ1ZTsKCQl9CgkJcHVibGljIGZ1bmN0aW9uIGxvYWRSZXF1aXJlZCgpOkJvb2xlYW4gewoJCQlyZXR1cm4gKHNyY1NldCAmJiAhaXNTdGFydGluZ0Rvd25sb2FkICYmICFpc0xvYWRpbmcgJiYgIWlzTG9hZGVkKTsKCQl9CgkJcHVibGljIGZ1bmN0aW9uIHN0YXJ0aW5nRG93bmxvYWQoKTp2b2lkIHsKCQkJaXNTdGFydGluZ0Rvd25sb2FkID0gdHJ1ZTsKCQkJaXNMb2FkaW5nID0gZmFsc2U7CgkJCWlzTG9hZGVkID0gZmFsc2U7CgkJfQoJCXB1YmxpYyBmdW5jdGlvbiBsb2FkaW5nKCk6dm9pZCB7CgkJCWlzU3RhcnRpbmdEb3dubG9hZCA9IGZhbHNlOwoJCQlpc0xvYWRpbmcgPSB0cnVlOwoJCQlpc0xvYWRlZCA9IGZhbHNlOwoJCX0KCQlwdWJsaWMgZnVuY3Rpb24gbG9hZGVkKCk6dm9pZCB7CgkJCWlzU3RhcnRpbmdEb3dubG9hZCA9IGZhbHNlOwoJCQlpc0xvYWRpbmcgPSBmYWxzZTsKCQkJaXNMb2FkZWQgPSB0cnVlOwoJCX0KCX0KfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/happyworm/jPlayer/TraceOut.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpQbGF5ZXIgUGx1Z2luIGZvciBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5DQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBIYXBweXdvcm0gTHRkDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUDQogKg0KICogQXV0aG9yOiBSb2JlcnQgTS4gSGFsbA0KICogRGF0ZTogN3RoIEF1Z3VzdCAyMDEyDQogKi8NCg0KcGFja2FnZSBoYXBweXdvcm0ualBsYXllcg0Kew0KCWltcG9ydCBmbGFzaC5uZXQuTG9jYWxDb25uZWN0aW9uOw0KCWltcG9ydCBmbGFzaC5ldmVudHMuU3RhdHVzRXZlbnQ7DQoJaW1wb3J0IGZsYXNoLnN5c3RlbS5DYXBhYmlsaXRpZXM7DQoJaW1wb3J0IGZsYXNoLnV0aWxzLmdldFRpbWVyOw0KDQoJcHVibGljIGNsYXNzIFRyYWNlT3V0DQoJew0KDQoJCXByaXZhdGUgdmFyIG91dGdvaW5nX2xjOkxvY2FsQ29ubmVjdGlvbiA9IG5ldyBMb2NhbENvbm5lY3Rpb24gKCk7DQoJCXByaXZhdGUgdmFyIGZpcnN0RXZlbnQ6Qm9vbGVhbiA9IHRydWU7DQoJCXByaXZhdGUgdmFyIF9sb2NhbEFJUkRlYnVnOkJvb2xlYW4gPSBmYWxzZTsNCg0KCQlwdWJsaWMgZnVuY3Rpb24gVHJhY2VPdXQoKQ0KCQl7DQoJCQlvdXRnb2luZ19sYy5hZGRFdmVudExpc3RlbmVyKFN0YXR1c0V2ZW50LlNUQVRVUywgbGNMaXN0ZW5lcik7DQoJCQlvdXRnb2luZ19sYy5zZW5kKCJfbG9nX291dHB1dCIsInN0YXJ0TG9nZ2luZyIsIiIpOw0KCQl9DQoNCgkJcHJpdmF0ZSBmdW5jdGlvbiBsY0xpc3RlbmVyKGV2ZW50OlN0YXR1c0V2ZW50KTp2b2lkDQoJCXsNCgkJCS8vIE11c3QgaGF2ZSB0aGlzIGxpc3RlbmVyIHRvIGF2b2lkIGVycm9ycw0KCQkJaWYgKGV2ZW50LmxldmVsID09ICJlcnJvciIpDQoJCQl7DQoJCQkJX2xvY2FsQUlSRGVidWcgPSBmYWxzZTsNCgkJCX0NCgkJCWVsc2UgaWYoZXZlbnQubGV2ZWwgPT0ic3RhdHVzIiAmJiBmaXJzdEV2ZW50PT10cnVlKQ0KCQkJew0KCQkJCWZpcnN0RXZlbnQgPSBmYWxzZTsNCgkJCQl0cmFjZXIoIjw8IFN1Y2Nlc3NmdWwgQ29ubmVjdGlvbiBUbyBFdmVudCBMb2dnZXIgPj4iKTsNCgkJCQl0cmFjZXIoIkRFQlVHIElORk86IFxuPCIrQ2FwYWJpbGl0aWVzLnNlcnZlclN0cmluZyArICI+XG5GbGFzaCBQbGF5ZXIgVmVyc2lvbjogIiArIENhcGFiaWxpdGllcy52ZXJzaW9uICsgIlxuIik7DQoJCQkJX2xvY2FsQUlSRGVidWcgPSB0cnVlOw0KCQkJfQ0KCQl9DQoNCgkJcHVibGljIGZ1bmN0aW9uIGxvY2FsQUlSRGVidWcoKTpCb29sZWFuDQoJCXsNCgkJCXJldHVybiBfbG9jYWxBSVJEZWJ1ZzsNCgkJfQ0KDQoJCXB1YmxpYyBmdW5jdGlvbiB0cmFjZXIobXNnOlN0cmluZyk6dm9pZA0KCQl7DQoJCQl0cmFjZShtc2cpOw0KCQkJdmFyIG91dE1zZzpTdHJpbmcgPSAiWyIgKyBnZXRUaW1lcigpICsgIm1zXSAiICsgbXNnOw0KCQkJb3V0Z29pbmdfbGMuc2VuZCgiX2xvZ19vdXRwdXQiLCJkaXNwbGF5TXNnIixvdXRNc2cpOw0KCQkJCQkJCSANCgkJfQ0KCX0NCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/Jplayer.as</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVC4KICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKgogKiBBdXRob3I6IE1hcmsgSiBQYW5hZ2hpc3RvbgogKiBWZXJzaW9uOiAyLjQuMAogKiBEYXRlOiA1dGggSnVuZSAyMDEzCiAqCiAqIEZsYXNoVmFycyBleHBlY3RlZDogKEFTMyBwcm9wZXJ0eSBvZjogbG9hZGVySW5mby5wYXJhbWV0ZXJzKQogKglpZDogCShVUkwgRW5jb2RlZDogU3RyaW5nKSBJZCBvZiBqUGxheWVyIGluc3RhbmNlCiAqCXZvbDoJKE51bWJlcikgU2V0cyB0aGUgaW5pdGlhbCB2b2x1bWUKICoJbXV0ZWQ6CShCb29sZWFuIGluIGEgU3RyaW5nKSBTZXRzIHRoZSBpbml0aWFsIG11dGVkIHN0YXRlCiAqCWpRdWVyeToJKFVSTCBFbmNvZGVkOiBTdHJpbmcpIFNldHMgdGhlIGpRdWVyeSB2YXIgbmFtZS4gVXNlZCB3aXRoOiBzb21lVmFyID0galF1ZXJ5Lm5vQ29uZmxpY3QodHJ1ZSk7IFRoZSBzb21lVmFyIG5hbWUgbXVzdCBjb250YWluIGpRdWVyeSBpbiBpdC4KICoKICogQ29tcGlsZWQgdXNpbmc6IEFkb2JlIEZsZXggQ29tcGlsZXIgKG14bWxjKSBWZXJzaW9uIDQuNS4xIGJ1aWxkIDIxMzI4CiAqLwoKcGFja2FnZSB7CglpbXBvcnQgZmxhc2guc3lzdGVtLlNlY3VyaXR5OwoJaW1wb3J0IGZsYXNoLmV4dGVybmFsLkV4dGVybmFsSW50ZXJmYWNlOwoKCWltcG9ydCBmbGFzaC51dGlscy5UaW1lcjsKCWltcG9ydCBmbGFzaC5ldmVudHMuVGltZXJFdmVudDsKCQoJaW1wb3J0IGZsYXNoLnRleHQuVGV4dEZpZWxkOwoJaW1wb3J0IGZsYXNoLnRleHQuVGV4dEZvcm1hdDsKCglpbXBvcnQgZmxhc2guZXZlbnRzLktleWJvYXJkRXZlbnQ7CgoJaW1wb3J0IGZsYXNoLmRpc3BsYXkuU3ByaXRlOwoJaW1wb3J0IGhhcHB5d29ybS5qUGxheWVyLio7CgoJaW1wb3J0IGZsYXNoLmRpc3BsYXkuU3RhZ2VBbGlnbjsKCWltcG9ydCBmbGFzaC5kaXNwbGF5LlN0YWdlU2NhbGVNb2RlOwoJaW1wb3J0IGZsYXNoLmV2ZW50cy5FdmVudDsKCWltcG9ydCBmbGFzaC5uZXQuTG9jYWxDb25uZWN0aW9uOwoJaW1wb3J0IGZsYXNoLmV2ZW50cy5TdGF0dXNFdmVudDsKCglpbXBvcnQgZmxhc2guZXZlbnRzLk1vdXNlRXZlbnQ7CgoJaW1wb3J0IGZsYXNoLnVpLkNvbnRleHRNZW51OwoJaW1wb3J0IGZsYXNoLnVpLkNvbnRleHRNZW51SXRlbTsKCWltcG9ydCBmbGFzaC5ldmVudHMuQ29udGV4dE1lbnVFdmVudDsKCWltcG9ydCBmbGFzaC5uZXQuVVJMUmVxdWVzdDsKCWltcG9ydCBmbGFzaC5uZXQubmF2aWdhdGVUb1VSTDsKCWltcG9ydCBmbGFzaC5tZWRpYS5WaWRlbzsKCglwdWJsaWMgY2xhc3MgSnBsYXllciBleHRlbmRzIFNwcml0ZSB7CgkJcHJpdmF0ZSB2YXIgalF1ZXJ5OlN0cmluZzsKCQlwcml2YXRlIHZhciBzZW50TnVtYmVyRnJhY3Rpb25EaWdpdHM6dWludCA9IDI7CgoJCXB1YmxpYyB2YXIgY29tbW9uU3RhdHVzOkpwbGF5ZXJTdGF0dXMgPSBuZXcgSnBsYXllclN0YXR1cygpOyAvLyBVc2VkIGZvciBpbml0YWwgcmVhZHkgZXZlbnQgc28gdm9sdW1lIGlzIGNvcnJlY3QuCgoJCXByaXZhdGUgdmFyIG15SW5pdFRpbWVyOlRpbWVyID0gbmV3IFRpbWVyKDEwMCwgMCk7CgoJCXByaXZhdGUgdmFyIG15TXAzUGxheWVyOkpwbGF5ZXJNcDM7CgkJcHJpdmF0ZSB2YXIgbXlNcDRQbGF5ZXI6SnBsYXllck1wNDsKCgkJcHJpdmF0ZSB2YXIgbXlSdG1wUGxheWVyOkpwbGF5ZXJSdG1wOwoJCQoJCXByaXZhdGUgdmFyIGlzUnRtcDpCb29sZWFuID0gZmFsc2U7CgkJcHJpdmF0ZSB2YXIgaXNNcDQ6Qm9vbGVhbiA9IGZhbHNlOwoKCQlwcml2YXRlIHZhciBpc01wMzpCb29sZWFuID0gZmFsc2U7CgkJcHJpdmF0ZSB2YXIgaXNWaWRlbzpCb29sZWFuID0gZmFsc2U7CgoJCXByaXZhdGUgdmFyIHNlY3VyaXR5SXNzdWU6Qm9vbGVhbiA9IGZhbHNlOyAvLyBPbiBkaXJlY3QgYWNjZXNzIGFuZCB3aGVuIFNXRiBwYXJhbWV0ZXJzIGNvbnRhaW4gaWxsZWdhbCBjaGFyYWN0ZXJzCgoJCXByaXZhdGUgdmFyIGNvbnRleHRNZW51Rml4OlNwcml0ZSA9IG5ldyBTcHJpdGUoKTsgLy8gQSBzcHJpdGUgdGhhdCB3aWxsIGJlIG9uIHRvcCBhbmQgZml4IHRoZSBjb250ZW50IG1lbnUgb3ZlciB2aWRlbyBidWcuIChBIEZsYXNoIHBsdWdpbiBidWcuKQoKCQlwcml2YXRlIHZhciB0eExvZzpUZXh0RmllbGQ7CgkJcHJpdmF0ZSB2YXIgZGVidWc6Qm9vbGVhbiA9IGZhbHNlOyAvLyBTZXQgZGVidWcgdG8gZmFsc2UgZm9yIHJlbGVhc2UgY29tcGlsZSEKCQlwcml2YXRlIHZhciBsb2NhbEFJUkRlYnVnOkJvb2xlYW4gPSBmYWxzZTsgLy8gVGhpcyBpcyBhdXRvZGV0ZXJtaW5lZCBieSBBSVIgYXBwIC0gbGVhdmUgZmFsc2UhCgoJCXByaXZhdGUgdmFyIHRyYWNlT3V0OlRyYWNlT3V0OwoKCQlwdWJsaWMgZnVuY3Rpb24gSnBsYXllcigpIHsKCgkJCWZsYXNoLnN5c3RlbS5TZWN1cml0eS5hbGxvd0RvbWFpbigiKiIpOwoJCQl0cmFjZU91dCA9IG5ldyBUcmFjZU91dCgpOwoKCQkJLy8gRml4IHRvIHRoZSBzZWN1cml0eSBleHBsb2l0IHJlcG9ydGVkIGJ5IEphc29uIENhbHZlcnQgaHR0cDovL2FwcHNlYy53cy8KCQkJY2hlY2tGbGFzaFZhcnMobG9hZGVySW5mby5wYXJhbWV0ZXJzKTsKCgkJCXN0YWdlLnNjYWxlTW9kZSA9IFN0YWdlU2NhbGVNb2RlLk5PX1NDQUxFOwoJCQlzdGFnZS5hbGlnbiA9IFN0YWdlQWxpZ24uVE9QX0xFRlQ7CgoJCQlpZighc2VjdXJpdHlJc3N1ZSkgewoJCQkJLy8gVGhlIGpRdWVyeSBwYXJhbSBpcyB0aGUgcHJpbWFyeSBjYXVzZSBvZiBzZWN1cml0eSBjb25jZXJucy4KCQkJCWpRdWVyeSA9IGxvYWRlckluZm8ucGFyYW1ldGVycy5qUXVlcnkgKyAiKCcjIiArIGxvYWRlckluZm8ucGFyYW1ldGVycy5pZCArICInKS5qUGxheWVyIjsKCQkJCWNvbW1vblN0YXR1cy52b2x1bWUgPSBOdW1iZXIobG9hZGVySW5mby5wYXJhbWV0ZXJzLnZvbCk7CgkJCQljb21tb25TdGF0dXMubXV0ZWQgPSBsb2FkZXJJbmZvLnBhcmFtZXRlcnMubXV0ZWQgPT0gInRydWUiOwoKCQkJCXN0YWdlLmFkZEV2ZW50TGlzdGVuZXIoRXZlbnQuUkVTSVpFLCByZXNpemVIYW5kbGVyKTsKCQkJCXN0YWdlLmFkZEV2ZW50TGlzdGVuZXIoTW91c2VFdmVudC5DTElDSywgY2xpY2tIYW5kbGVyKTsKCgkJCQl2YXIgaW5pdGlhbFZvbHVtZTpOdW1iZXIgPSBjb21tb25TdGF0dXMudm9sdW1lOwoJCQkJaWYoY29tbW9uU3RhdHVzLm11dGVkKSB7CgkJCQkJaW5pdGlhbFZvbHVtZSA9IDA7CgkJCQl9CgoJCQkJbXlNcDNQbGF5ZXIgPSBuZXcgSnBsYXllck1wMyhpbml0aWFsVm9sdW1lKTsKCQkJCWFkZENoaWxkKG15TXAzUGxheWVyKTsKCgkJCQlteU1wNFBsYXllciA9IG5ldyBKcGxheWVyTXA0KGluaXRpYWxWb2x1bWUpOwoJCQkJYWRkQ2hpbGQobXlNcDRQbGF5ZXIpOwoKCQkJCW15UnRtcFBsYXllciA9IG5ldyBKcGxheWVyUnRtcChpbml0aWFsVm9sdW1lKTsKCQkJCWFkZENoaWxkKG15UnRtcFBsYXllcik7CgoJCQkJc3dpdGNoVHlwZSgibXAzIik7IC8vIHNldCBkZWZhdWx0IHN0YXRlIHRvIG1wMwoJCQl9CgoJCQkvLyBUaGUgQ29udGV4dE1lbnUgb25seSBwYXJ0aWFsbHkgd29ya3MuIFRoZSBtZW51IHNlbGVjdCBldmVudHMgbmV2ZXIgb2NjdXIuCgkJCS8vIEludmVzdGlnYXRlZCBhbmQgaXQgaXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIHdheSBqUGxheWVyIGluc2VydHMgdGhlIEZsYXNoIG9uIHRoZSBwYWdlLgoJCQkvLyBBIHNpbXBsZSB0ZXN0IGluc2VydGluZyB0aGUgSnBsYXllci5zd2Ygb24gYSBwYWdlIHVzaW5nOiAxKSBTV0ZPYmplY3QgMi4yIHdvcmtzLiAyKSBBQ19GTF9SdW5Db250ZW50KCkgd29ya3MuCgkJCS8vIGpQbGF5ZXIgRmxhc2ggaW5zZXJ0aW9uIGlzIGJhc2VkIG9uIFNXRk9iamVjdCAyLjIgYW5kIHRoZSByZXNhb24gYmVoaW5kIHRoaXMgZmFpbHVyZSBpcyBub3QgY2xlYXIuIFRoZSBGbGFzaCBpbnNlcnRpb24gSFRNTCBvbiB0aGUgcGFnZSBsb29rcyBzaW1pbGFyLgoJCQl2YXIgbXlDb250ZXh0TWVudTpDb250ZXh0TWVudSA9IG5ldyBDb250ZXh0TWVudSgpOwoJCQlteUNvbnRleHRNZW51LmhpZGVCdWlsdEluSXRlbXMoKTsKCQkJdmFyIG1lbnVJdGVtX2pQbGF5ZXI6Q29udGV4dE1lbnVJdGVtID0gbmV3IENvbnRleHRNZW51SXRlbSgialBsYXllciAiICsgSnBsYXllclN0YXR1cy5WRVJTSU9OKTsKCQkJdmFyIG1lbnVJdGVtX2hhcHB5d29ybTpDb250ZXh0TWVudUl0ZW0gPSBuZXcgQ29udGV4dE1lbnVJdGVtKCLCqSAyMDA5LTIwMTMgSGFwcHl3b3JtIEx0ZCIsIHRydWUpOwoJCQltZW51SXRlbV9qUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoQ29udGV4dE1lbnVFdmVudC5NRU5VX0lURU1fU0VMRUNULCBtZW51U2VsZWN0SGFuZGxlcl9qUGxheWVyKTsKCQkJbWVudUl0ZW1faGFwcHl3b3JtLmFkZEV2ZW50TGlzdGVuZXIoQ29udGV4dE1lbnVFdmVudC5NRU5VX0lURU1fU0VMRUNULCBtZW51U2VsZWN0SGFuZGxlcl9oYXBweXdvcm0pOwoJCQlteUNvbnRleHRNZW51LmN1c3RvbUl0ZW1zLnB1c2gobWVudUl0ZW1falBsYXllciwgbWVudUl0ZW1faGFwcHl3b3JtKTsKCQkJY29udGV4dE1lbnUgPSBteUNvbnRleHRNZW51OwoKCQkJLy8gTG9nIGNvbnNvbGUgZm9yIGRldiBjb21waWxlIG9wdGlvbjogZGVidWcKCQkJaWYoZGVidWcgfHwgc2VjdXJpdHlJc3N1ZSkgewoJCQkJdHhMb2cgPSBuZXcgVGV4dEZpZWxkKCk7CgkJCQl0eExvZy54ID0gNTsKCQkJCXR4TG9nLnkgPSA1OwoJCQkJdHhMb2cud2lkdGggPSBzdGFnZS5zdGFnZVdpZHRoIC0gMTA7CgkJCQl0eExvZy5oZWlnaHQgPSBzdGFnZS5zdGFnZUhlaWdodCAtIDEwOwoJCQkJdHhMb2cuYmFja2dyb3VuZENvbG9yID0gMHhFRUVFRkY7CgkJCQl0eExvZy5ib3JkZXIgPSB0cnVlOwoJCQkJdHhMb2cuYmFja2dyb3VuZCA9IHRydWU7CgkJCQl0eExvZy5tdWx0aWxpbmUgPSB0cnVlOwoJCQkJdHhMb2cudGV4dCA9ICJqUGxheWVyICIgKyBKcGxheWVyU3RhdHVzLlZFUlNJT047CgoJCQkJaWYoc2VjdXJpdHlJc3N1ZSkgewoJCQkJCXR4TG9nLnZpc2libGUgPSB0cnVlOwoJCQkJfSBlbHNlIGlmKGRlYnVnKSB7CgkJCQkJdHhMb2cudmlzaWJsZSA9IGZhbHNlOwoJCQkJfQoKCQkJCXRoaXMuYWRkQ2hpbGQodHhMb2cpOwoKCQkJCWlmKGRlYnVnICYmICFzZWN1cml0eUlzc3VlKSB7CgkJCQkJdGhpcy5zdGFnZS5hZGRFdmVudExpc3RlbmVyKEtleWJvYXJkRXZlbnQuS0VZX1VQLCBrZXlib2FyZEhhbmRsZXIpOwoKCQkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5ERUJVR19NU0csIGRlYnVnTXNnSGFuZGxlcik7CgkJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuREVCVUdfTVNHLCBkZWJ1Z01zZ0hhbmRsZXIpOwoJCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5ERUJVR19NU0csIGRlYnVnTXNnSGFuZGxlcik7CgkJCQl9CgkJCX0KCgkJCS8vIEtub3duIEZsYXNoIHByb2JsZW0gd2l0aCBjb250ZXh0TWVudSBvdmVyIHZpZGVvIHBsYXllci4KCQkJLy8gQWRkIGEgdHJhbnNwYXJlbnQgcmVjdGFuZ2xlIGludG8gdGhlIHNwcml0ZS4KCQkJY29udGV4dE1lbnVGaXguZ3JhcGhpY3MuYmVnaW5GaWxsKDB4MDAwMDAwLCAwKTsgLy8gVHJhbnNwYXJlbnQgYmxhY2sKCQkJY29udGV4dE1lbnVGaXguZ3JhcGhpY3MuZHJhd1JlY3QoMCwgMCwgMTAsIDEwKTsgLy8gQXJiaXRhcnkgcmVjdGFuZ2xlCgkJCWNvbnRleHRNZW51Rml4LmdyYXBoaWNzLmVuZEZpbGwoKTsKCQkJYWRkQ2hpbGQoY29udGV4dE1lbnVGaXgpOyAvLyBQdXQgdGhlIHNwcml0ZSBvbiB0aGUgdG9wIGxheWVyLgoKCQkJaWYoIXNlY3VyaXR5SXNzdWUpIHsKCQkJCS8vIERlbGF5IGluaXQoKSBiZWNhdXNlIEZpcmVmb3ggMy41LjcrIGRldmVsb3BlZCBhIGJ1ZyB3aXRoIGxvY2FsIHRlc3RpbmcgaW4gRmlyZWJ1Zy4KCQkJCW15SW5pdFRpbWVyLmFkZEV2ZW50TGlzdGVuZXIoVGltZXJFdmVudC5USU1FUiwgaW5pdCk7CgkJCQlteUluaXRUaW1lci5zdGFydCgpOwoJCQl9CgkJfQoKCQlwcml2YXRlIGZ1bmN0aW9uIHN3aXRjaFR5cGUocGxheVR5cGU6U3RyaW5nKTp2b2lkIHsKCQkJc3dpdGNoKHBsYXlUeXBlKSB7CgkJCQljYXNlICJydG1wYSI6CgkJCQlpc1J0bXA9dHJ1ZTsKCQkJCWlzTXAzPWZhbHNlOwoJCQkJaXNNcDQ9ZmFsc2U7CgkJCQlpc1ZpZGVvPWZhbHNlOwoJCQkJYnJlYWs7CgkJCWNhc2UgInJ0bXB2IjoKCQkJCWlzUnRtcD10cnVlOwoJCQkJaXNNcDM9ZmFsc2U7CgkJCQlpc01wND1mYWxzZTsKCQkJCWlzVmlkZW89dHJ1ZTsKCQkJCWJyZWFrOwoJCQljYXNlICJtcDMiOgoJCQkJaXNSdG1wPWZhbHNlOwoJCQkJaXNNcDM9dHJ1ZTsKCQkJCWlzTXA0PWZhbHNlOwoJCQkJaXNWaWRlbz1mYWxzZTsKCQkJCWJyZWFrOwoJCQljYXNlICJtcDQiOgoJCQkJaXNSdG1wPWZhbHNlOwoJCQkJaXNNcDM9ZmFsc2U7CgkJCQlpc01wND10cnVlOwoJCQkJaXNWaWRlbz1mYWxzZTsKCQkJCWJyZWFrOwoJCQljYXNlICJtNHYiOgoJCQkJaXNSdG1wPWZhbHNlOwoJCQkJaXNNcDM9ZmFsc2U7CgkJCQlpc01wND10cnVlOwoJCQkJaXNWaWRlbz10cnVlOwoJCQkJYnJlYWs7CgkJCX0KCQkJCgkJCWxpc3RlblRvTXAzKGlzTXAzKTsKCQkJbGlzdGVuVG9NcDQoaXNNcDQpOwoJCQlsaXN0ZW5Ub1J0bXAoaXNSdG1wKTsKCQl9CgkJCgkJcHJpdmF0ZSBmdW5jdGlvbiBpbml0KGU6VGltZXJFdmVudCk6dm9pZCB7CgkJCW15SW5pdFRpbWVyLnN0b3AoKTsKCQkJaWYoRXh0ZXJuYWxJbnRlcmZhY2UuYXZhaWxhYmxlICYmICFzZWN1cml0eUlzc3VlKSB7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5hZGRDYWxsYmFjaygiZmxfc2V0QXVkaW9fbXAzIiwgZmxfc2V0QXVkaW9fbXAzKTsKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmFkZENhbGxiYWNrKCJmbF9zZXRBdWRpb19tNGEiLCBmbF9zZXRBdWRpb19tNGEpOwoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuYWRkQ2FsbGJhY2soImZsX3NldFZpZGVvX200diIsIGZsX3NldFZpZGVvX200dik7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5hZGRDYWxsYmFjaygiZmxfc2V0QXVkaW9fcnRtcCIsIGZsX3NldEF1ZGlvX3J0bXApOwoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuYWRkQ2FsbGJhY2soImZsX3NldFZpZGVvX3J0bXAiLCBmbF9zZXRWaWRlb19ydG1wKTsKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmFkZENhbGxiYWNrKCJmbF9jbGVhck1lZGlhIiwgZmxfY2xlYXJNZWRpYSk7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5hZGRDYWxsYmFjaygiZmxfbG9hZCIsIGZsX2xvYWQpOwoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuYWRkQ2FsbGJhY2soImZsX3BsYXkiLCBmbF9wbGF5KTsKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmFkZENhbGxiYWNrKCJmbF9wYXVzZSIsIGZsX3BhdXNlKTsKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmFkZENhbGxiYWNrKCJmbF9wbGF5X2hlYWQiLCBmbF9wbGF5X2hlYWQpOwoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuYWRkQ2FsbGJhY2soImZsX3ZvbHVtZSIsIGZsX3ZvbHVtZSk7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5hZGRDYWxsYmFjaygiZmxfbXV0ZSIsIGZsX211dGUpOwoKCQkJCUV4dGVybmFsSW50ZXJmYWNlLmNhbGwoalF1ZXJ5LCAialBsYXllckZsYXNoRXZlbnQiLCBKcGxheWVyRXZlbnQuSlBMQVlFUl9SRUFEWSwgZXh0cmFjdFN0YXR1c0RhdGEoY29tbW9uU3RhdHVzKSk7IC8vIFNlZSBKcGxheWVyU3RhdHVzKCkgY2xhc3MgZm9yIHZlcnNpb24gbnVtYmVyLgoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tGbGFzaFZhcnMocDpPYmplY3QpOnZvaWQgewoJCQkvLyBDaGVjayBmb3IgZGlyZWN0IGFjY2Vzcy4gSW5zcGlyZWQgYnkgbWVkaWFlbGVtZW50LmpzIC0gQWxzbyBhZGRlZCBuYW1lIHRvIEhUTUwgb2JqZWN0IGZvciBub24tSUUgYnJvd3NlcnMuCgkJCWlmKEV4dGVybmFsSW50ZXJmYWNlLm9iamVjdElEICE9IG51bGwgJiYgRXh0ZXJuYWxJbnRlcmZhY2Uub2JqZWN0SUQudG9TdHJpbmcoKSAhPSAiIikgewoJCQkJZm9yIGVhY2ggKHZhciBzOlN0cmluZyBpbiBwKSB7CgkJCQkJaWYoaWxsZWdhbENoYXIocykpIHsKCQkJCQkJc2VjdXJpdHlJc3N1ZSA9IHRydWU7IC8vIEZvdW5kIGEgc2VjdXJpdHkgY29uY2Vybi4KCQkJCQl9CgkJCQl9CgkJCQlpZighc2VjdXJpdHlJc3N1ZSkgewoJCQkJCWlmKGpRdWVyeUlsbGVnYWwocC5qUXVlcnkpKSB7CgkJCQkJCXNlY3VyaXR5SXNzdWUgPSB0cnVlOyAvLyBGb3VuZCBhIHNlY3VyaXR5IGNvbmNlcm4uCgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgewoJCQkJc2VjdXJpdHlJc3N1ZSA9IHRydWU7IC8vIERpcmVjdCBhY2Nlc3MgZGlzYWJsZXMgdGhlIGNhbGxiYWNrcywgd2hpY2ggd2VyZSBhIHNlY3VyaXR5IGNvbmNlcm4uCgkJCX0KCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBpbGxlZ2FsQ2hhcihzOlN0cmluZyk6Qm9vbGVhbiB7CgkJCS8vIEEgd2hpdGVsaXN0IG9mIGFjY2VwdGVkIGNoYXJzLgoJCQl2YXIgdmFsaWRQYXJhbTpSZWdFeHAgPSAvXlstQS1aYS16MC05Xy5dKyQvOwoJCQlyZXR1cm4gIXZhbGlkUGFyYW0udGVzdChzKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBqUXVlcnlJbGxlZ2FsKHM6U3RyaW5nKTpCb29sZWFuIHsKCQkJLy8gQ2hlY2sgcGFyYW0gY29udGFpbnMgdGhlIHRlcm0galF1ZXJ5LgoJCQl2YXIgdmFsaWRQYXJhbTpSZWdFeHAgPSAvKGpRdWVyeSkvOwoJCQlyZXR1cm4gIXZhbGlkUGFyYW0udGVzdChzKTsKCQl9CgkJLy8gc3dpdGNoVHlwZSgpIGhlcmUKCQlwcml2YXRlIGZ1bmN0aW9uIGxpc3RlblRvTXAzKGFjdGl2ZTpCb29sZWFuKTp2b2lkIHsKCQkJaWYoYWN0aXZlKSB7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0VSUk9SLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1RJTUVVUERBVEUsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCQoJCQkJbXlNcDNQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QTEFZLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BBVVNFLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0xPQURTVEFSVCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15TXAzUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfU0VFS0lORywgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDNQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLRUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1dBSVRJTkcsIGpQbGF5ZXJGbGFzaEV2ZW50KTsgLy8gb25seSBNUDMgYXRtCgkJCQlteU1wM1BsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVlJTkcsIGpQbGF5ZXJGbGFzaEV2ZW50KTsgLy8gb25seSBNUDMgYXRtCgoJCQkJbXlNcDNQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9DQU5QTEFZLCBqUGxheWVyRmxhc2hFdmVudCk7IC8vIG9ubHkgTVAzIGF0bQoJCQkJbXlNcDNQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9DQU5QTEFZVEhST1VHSCwgalBsYXllckZsYXNoRXZlbnQpOyAvLyBvbmx5IE1QMyBhdG0KCQkJfSBlbHNlIHsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRVJST1IsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUFJPR1JFU1MsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfVElNRVVQREFURSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDNQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJCgkJCQlteU1wM1BsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUEFVU0UsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BRFNUQVJULCBqUGxheWVyRmxhc2hFdmVudCk7CgoJCQkJbXlNcDNQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLSU5HLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wM1BsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfV0FJVElORywgalBsYXllckZsYXNoRXZlbnQpOyAvLyBvbmx5IE1QMyBhdG0KCQkJCW15TXAzUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUExBWUlORywgalBsYXllckZsYXNoRXZlbnQpOyAvLyBvbmx5IE1QMyBhdG0KCgkJCQlteU1wM1BsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0NBTlBMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsgLy8gb25seSBNUDMgYXRtCgkJCQlteU1wM1BsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0NBTlBMQVlUSFJPVUdILCBqUGxheWVyRmxhc2hFdmVudCk7IC8vIG9ubHkgTVAzIGF0bQoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gbGlzdGVuVG9NcDQoYWN0aXZlOkJvb2xlYW4pOnZvaWQgewoJCQlpZihhY3RpdmUpIHsKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRVJST1IsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUFJPR1JFU1MsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfVElNRVVQREFURSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUExBWSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QQVVTRSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FEU1RBUlQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteU1wNFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtJTkcsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfU0VFS0VELCBqUGxheWVyRmxhc2hFdmVudCk7CgoJCQkJbXlNcDRQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FERURNRVRBREFUQSwgalBsYXllck1ldGFEYXRhSGFuZGxlcik7IC8vIE5vdGUgdGhlIHVuaXF1ZSBoYW5kbGVyCgkJCX0gZWxzZSB7CgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0VSUk9SLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1RJTUVVUERBVEUsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfUEFVU0UsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15TXA0UGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BRFNUQVJULCBqUGxheWVyRmxhc2hFdmVudCk7CgoJCQkJbXlNcDRQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLSU5HLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteU1wNFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15TXA0UGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BREVETUVUQURBVEEsIGpQbGF5ZXJNZXRhRGF0YUhhbmRsZXIpOyAvLyBOb3RlIHRoZSB1bmlxdWUgaGFuZGxlcgoJCQl9CgkJfQoKCQlwcml2YXRlIGZ1bmN0aW9uIGxpc3RlblRvUnRtcChhY3RpdmU6Qm9vbGVhbik6dm9pZCB7CgkJCWlmKGFjdGl2ZSkgewoJCQkJbXlSdG1wUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRVJST1IsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BST0dSRVNTLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9USU1FVVBEQVRFLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9FTkRFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1BBVVNFLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FEU1RBUlQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCQoJCQkJbXlSdG1wUGxheWVyLmFkZEV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfQ0FOUExBWSwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtJTkcsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX1NFRUtFRCwgalBsYXllckZsYXNoRXZlbnQpOwoKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0xPQURFRE1FVEFEQVRBLCBqUGxheWVyTWV0YURhdGFIYW5kbGVyKTsgLy8gTm90ZSB0aGUgdW5pcXVlIGhhbmRsZXIKCQkJfSBlbHNlIHsKCQkJCW15UnRtcFBsYXllci5yZW1vdmVFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0VSUk9SLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QUk9HUkVTUywgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlSdG1wUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfVElNRVVQREFURSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlSdG1wUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfRU5ERUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QTEFZLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9QQVVTRSwgalBsYXllckZsYXNoRXZlbnQpOwoJCQkJbXlSdG1wUGxheWVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnBsYXllckV2ZW50LkpQTEFZRVJfTE9BRFNUQVJULCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQkKCQkJCW15UnRtcFBsYXllci5hZGRFdmVudExpc3RlbmVyKEpwbGF5ZXJFdmVudC5KUExBWUVSX0NBTlBMQVksIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLSU5HLCBqUGxheWVyRmxhc2hFdmVudCk7CgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9TRUVLRUQsIGpQbGF5ZXJGbGFzaEV2ZW50KTsKCgkJCQlteVJ0bXBQbGF5ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihKcGxheWVyRXZlbnQuSlBMQVlFUl9MT0FERURNRVRBREFUQSwgalBsYXllck1ldGFEYXRhSGFuZGxlcik7IC8vIE5vdGUgdGhlIHVuaXF1ZSBoYW5kbGVyCgkJCX0KCQl9CgoJCXByaXZhdGUgZnVuY3Rpb24gZmxfc2V0QXVkaW9fbXAzKHNyYzpTdHJpbmcpOkJvb2xlYW4gewoJCQlpZiAoc3JjICE9IG51bGwpIHsKCQkJCWxvZygiZmxfc2V0QXVkaW9fbXAzOiAiK3NyYyk7CgkJCQlzd2l0Y2hUeXBlKCJtcDMiKTsKCQkJCW15TXA0UGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlSdG1wUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlNcDNQbGF5ZXIuc2V0RmlsZShzcmMpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldEF1ZGlvX21wMzogbnVsbCIpOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfc2V0QXVkaW9fcnRtcChzcmM6U3RyaW5nKTpCb29sZWFuIHsKCQkJdHJhY2VyKCJTRVQgUlRNUDogIitzcmMpOwoJCQlpZiAoc3JjICE9IG51bGwpIHsKCQkJCWxvZygiZmxfc2V0QXVkaW9fcnRtcDogIitzcmMpOwoJCQkJc3dpdGNoVHlwZSgicnRtcGEiKTsKCQkJCW15TXA0UGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlNcDNQbGF5ZXIuY2xlYXJGaWxlKCk7CgkJCQlteVJ0bXBQbGF5ZXIuc2V0RmlsZShzcmMsZmFsc2UpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldEF1ZGlvX3J0bXA6IG51bGwiKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQkKCQlwcml2YXRlIGZ1bmN0aW9uIGZsX3NldFZpZGVvX3J0bXAoc3JjOlN0cmluZyk6Qm9vbGVhbiB7CgkJCXRyYWNlcigiU0VUIFJUTVA6ICIrc3JjKTsKCQkJaWYgKHNyYyAhPSBudWxsKSB7CgkJCQlsb2coImZsX3NldFZpZGVvX3J0bXA6ICIrc3JjKTsKCQkJCXN3aXRjaFR5cGUoInJ0bXB2Iik7CgkJCQlteU1wNFBsYXllci5jbGVhckZpbGUoKTsKCQkJCW15TXAzUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlSdG1wUGxheWVyLnNldEZpbGUoc3JjLHRydWUpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldFZpZGVvX3J0bXA6IG51bGwiKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIGZsX3NldEF1ZGlvX200YShzcmM6U3RyaW5nKTpCb29sZWFuIHsKCQkJaWYgKHNyYyAhPSBudWxsKSB7CgkJCQlsb2coImZsX3NldEF1ZGlvX200YTogIitzcmMpOwoJCQkJc3dpdGNoVHlwZSgibXA0IikKCQkJCW15TXAzUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlSdG1wUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlNcDRQbGF5ZXIuc2V0RmlsZShzcmMpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldEF1ZGlvX200YTogbnVsbCIpOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfc2V0VmlkZW9fbTR2KHNyYzpTdHJpbmcpOkJvb2xlYW4gewoJCQlpZiAoc3JjICE9IG51bGwpIHsKCQkJCWxvZygiZmxfc2V0VmlkZW9fbTR2OiAiK3NyYyk7CgkJCQlzd2l0Y2hUeXBlKCJtNHYiKTsKCQkJCW15TXAzUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlSdG1wUGxheWVyLmNsZWFyRmlsZSgpOwoJCQkJbXlNcDRQbGF5ZXIuc2V0RmlsZShzcmMpOwoJCQkJcmV0dXJuIHRydWU7CgkJCX0gZWxzZSB7CgkJCQlsb2coImZsX3NldFZpZGVvX200djogbnVsbCIpOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfY2xlYXJNZWRpYSgpOnZvaWQgewoJCQlsb2coImNsZWFyTWVkaWEuIik7CgkJCW15TXAzUGxheWVyLmNsZWFyRmlsZSgpOwoJCQlteU1wNFBsYXllci5jbGVhckZpbGUoKTsKCQkJbXlSdG1wUGxheWVyLmNsZWFyRmlsZSgpOwoJCX0KCgkJcHJpdmF0ZSBmdW5jdGlvbiBnZXRUeXBlKCk6T2JqZWN0IHsKCQkJdmFyIHJldHVyblR5cGU6T2JqZWN0OwoJCQlpZihpc01wMykgewoJCQkJcmV0dXJuVHlwZT1teU1wM1BsYXllcjsKCQkJfSAKCQkJaWYoaXNSdG1wKSB7CgkJCQlyZXR1cm5UeXBlPW15UnRtcFBsYXllcjsKCQkJfQoJCQlpZihpc01wNCkgewoJCQkJcmV0dXJuVHlwZT1teU1wNFBsYXllcjsKCQkJfQoJCQlyZXR1cm4gcmV0dXJuVHlwZTsKCQl9CgoJCXByaXZhdGUgZnVuY3Rpb24gZmxfbG9hZCgpOkJvb2xlYW4gewoJCQlsb2coImxvYWQuIik7CgkJCXZhciByZXR1cm5UeXBlOk9iamVjdCA9IGdldFR5cGUoKTsKCQkJcmV0dXJuIHJldHVyblR5cGUubG9hZCgpOwoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIGZsX3BsYXkodGltZTpOdW1iZXIgPSBOYU4pOkJvb2xlYW4gewoJCQlsb2coInBsYXk6IHRpbWUgPSAiICsgdGltZSk7CgkJCXZhciByZXR1cm5UeXBlOk9iamVjdCA9IGdldFR5cGUoKTsKCQkJcmV0dXJuIHJldHVyblR5cGUucGxheSh0aW1lICogMTAwMCk7IC8vIEZsYXNoIHVzZXMgbWlsbGlzZWNvbmRzCgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfcGF1c2UodGltZTpOdW1iZXIgPSBOYU4pOkJvb2xlYW4gewoJCQlsb2coInBhdXNlOiB0aW1lID0gIiArIHRpbWUpOwoJCQl2YXIgcmV0dXJuVHlwZTpPYmplY3QgPSBnZXRUeXBlKCk7CgkJCXJldHVybiByZXR1cm5UeXBlLnBhdXNlKHRpbWUgKiAxMDAwKTsgLy8gRmxhc2ggdXNlcyBtaWxsaXNlY29uZHMKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBmbF9wbGF5X2hlYWQocGVyY2VudDpOdW1iZXIpOkJvb2xlYW4gewoJCQlsb2coInBsYXlfaGVhZDogIitwZXJjZW50KyIlIik7CgkJCXZhciByZXR1cm5UeXBlOk9iamVjdCA9IGdldFR5cGUoKTsKCQkJcmV0dXJuIHJldHVyblR5cGUucGxheUhlYWQocGVyY2VudCk7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfdm9sdW1lKHY6TnVtYmVyKTp2b2lkIHsKCQkJbG9nKCJ2b2x1bWU6ICIrdik7CgkJCWNvbW1vblN0YXR1cy52b2x1bWUgPSB2OwoJCQlpZighY29tbW9uU3RhdHVzLm11dGVkKSB7CgkJCQlteU1wM1BsYXllci5zZXRWb2x1bWUodik7CgkJCQlteU1wNFBsYXllci5zZXRWb2x1bWUodik7CgkJCQlteVJ0bXBQbGF5ZXIuc2V0Vm9sdW1lKHYpOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZmxfbXV0ZShtdXRlOkJvb2xlYW4pOnZvaWQgewoJCQlsb2coIm11dGU6ICIrbXV0ZSk7CgkJCWNvbW1vblN0YXR1cy5tdXRlZCA9IG11dGU7CgkJCWlmKG11dGUpIHsKCQkJCW15TXAzUGxheWVyLnNldFZvbHVtZSgwKTsKCQkJCW15TXA0UGxheWVyLnNldFZvbHVtZSgwKTsKCQkJCW15UnRtcFBsYXllci5zZXRWb2x1bWUoMCk7CgkJCX0gZWxzZSB7CgkJCQlteU1wM1BsYXllci5zZXRWb2x1bWUoY29tbW9uU3RhdHVzLnZvbHVtZSk7CgkJCQlteU1wNFBsYXllci5zZXRWb2x1bWUoY29tbW9uU3RhdHVzLnZvbHVtZSk7CgkJCQlteVJ0bXBQbGF5ZXIuc2V0Vm9sdW1lKGNvbW1vblN0YXR1cy52b2x1bWUpOwoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24galBsYXllckZsYXNoRXZlbnQoZTpKcGxheWVyRXZlbnQpOnZvaWQgewoJCQlsb2coImpQbGF5ZXIgRmxhc2ggRXZlbnQ6ICIgKyBlLnR5cGUgKyAiOiAiICsgZS50YXJnZXQpOwoJCQkvL3RyYWNlcigialBsYXllciBGbGFzaCBFdmVudDogIiArIGUudHlwZSArICI6ICIgKyBlLnRhcmdldCk7CgkJCWlmKEV4dGVybmFsSW50ZXJmYWNlLmF2YWlsYWJsZSAmJiAhc2VjdXJpdHlJc3N1ZSkgewoJCQkJRXh0ZXJuYWxJbnRlcmZhY2UuY2FsbChqUXVlcnksICJqUGxheWVyRmxhc2hFdmVudCIsIGUudHlwZSwgZXh0cmFjdFN0YXR1c0RhdGEoZS5kYXRhKSk7CgkJCX0KCQl9CgkJCgkJcHJpdmF0ZSBmdW5jdGlvbiB0cmFjZXIobXNnOlN0cmluZyk6dm9pZCB7CgkJCXRyYWNlT3V0LnRyYWNlcihtc2cpOwoJCX0KCQkKCQlwcml2YXRlIGZ1bmN0aW9uIGV4dHJhY3RTdGF0dXNEYXRhKGRhdGE6SnBsYXllclN0YXR1cyk6T2JqZWN0IHsKCQkJdmFyIG15U3RhdHVzOk9iamVjdCA9IHsKCQkJCXZlcnNpb246IEpwbGF5ZXJTdGF0dXMuVkVSU0lPTiwKCQkJCXNyYzogZGF0YS5zcmMsCgkJCQlwYXVzZWQ6ICFkYXRhLmlzUGxheWluZywgLy8gQ2hhbmdpbmcgdGhpcyBuYW1lIHJlcXVpcmVzIGludmVydGluZyBhbGwgYXNzaWdubWVudHMgYW5kIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMuCgkJCQlzcmNTZXQ6IGRhdGEuc3JjU2V0LAoJCQkJc2Vla1BlcmNlbnQ6IGRhdGEuc2Vla1BlcmNlbnQsCgkJCQljdXJyZW50UGVyY2VudFJlbGF0aXZlOiBkYXRhLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUsCgkJCQljdXJyZW50UGVyY2VudEFic29sdXRlOiBkYXRhLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUsCgkJCQljdXJyZW50VGltZTogZGF0YS5jdXJyZW50VGltZSAvIDEwMDAsIC8vIEphdmFTY3JpcHQgdXNlcyBzZWNvbmRzCgkJCQlkdXJhdGlvbjogZGF0YS5kdXJhdGlvbiAvIDEwMDAsIC8vIEphdmFTY3JpcHQgdXNlcyBzZWNvbmRzCgkJCQl2aWRlb1dpZHRoOiBkYXRhLnZpZGVvV2lkdGgsCgkJCQl2aWRlb0hlaWdodDogZGF0YS52aWRlb0hlaWdodCwKCQkJCXZvbHVtZTogY29tbW9uU3RhdHVzLnZvbHVtZSwKCQkJCW11dGVkOiBjb21tb25TdGF0dXMubXV0ZWQKCQkJfTsKCQkJbG9nKCJleHRyYWN0U3RhdHVzRGF0YTogc3A9IitteVN0YXR1cy5zZWVrUGVyY2VudCsiIGNwcj0iK215U3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUrIiBjcGE9IitteVN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlKyIgY3Q9IitteVN0YXR1cy5jdXJyZW50VGltZSsiIGQ9IitteVN0YXR1cy5kdXJhdGlvbik7CgkJCXJldHVybiBteVN0YXR1czsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBqUGxheWVyTWV0YURhdGFIYW5kbGVyKGU6SnBsYXllckV2ZW50KTp2b2lkIHsKCQkJbG9nKCJqUGxheWVyTWV0YURhdGFIYW5kbGVyOiIgKyBlLnRhcmdldCk7CgkJCWlmKEV4dGVybmFsSW50ZXJmYWNlLmF2YWlsYWJsZSAmJiAhc2VjdXJpdHlJc3N1ZSkgewoJCQkJcmVzaXplSGFuZGxlcihuZXcgRXZlbnQoRXZlbnQuUkVTSVpFKSk7CgkJCQlFeHRlcm5hbEludGVyZmFjZS5jYWxsKGpRdWVyeSwgImpQbGF5ZXJGbGFzaEV2ZW50IiwgZS50eXBlLCBleHRyYWN0U3RhdHVzRGF0YShlLmRhdGEpKTsKCQkJfQoJCX0KCQlwcml2YXRlIGZ1bmN0aW9uIHJlc2l6ZUhhbmRsZXIoZTpFdmVudCk6dm9pZCB7CgkJCWxvZygicmVzaXplSGFuZGxlcjogc3RhZ2VXaWR0aCA9ICIgKyBzdGFnZS5zdGFnZVdpZHRoICsgIiB8IHN0YWdlSGVpZ2h0ID0gIiArIHN0YWdlLnN0YWdlSGVpZ2h0KTsKCgkJCXZhciBtZWRpYVg6TnVtYmVyID0gMDsKCQkJdmFyIG1lZGlhWTpOdW1iZXIgPSAwOwoJCQl2YXIgbWVkaWFXaWR0aDpOdW1iZXIgPSAwOwoJCQl2YXIgbWVkaWFIZWlnaHQ6TnVtYmVyID0gMDsKCQkJCgkJCXZhciBhc3BlY3RSYXRpb1N0YWdlOk51bWJlciA9IDA7CgkJCXZhciBhc3BlY3RSYXRpb1ZpZGVvOk51bWJlciA9IDA7CgkJCQoJCQl2YXIgdmlkZW9JdGVtOio7CgkJCQoJCQlpZihpc1J0bXApIHsKCQkJCXZpZGVvSXRlbSA9IG15UnRtcFBsYXllcjsKCQkJfQoJCQlpZihpc01wNCkgewoJCQkJdmlkZW9JdGVtID0gbXlNcDRQbGF5ZXI7CgkJCX0KCQkJCgkJCWlmKHZpZGVvSXRlbSkgewoJCQkJaWYoc3RhZ2Uuc3RhZ2VXaWR0aCA+IDAgJiYgc3RhZ2Uuc3RhZ2VIZWlnaHQgPiAwICYmIHZpZGVvSXRlbS5teVZpZGVvLndpZHRoID4gMCAmJiB2aWRlb0l0ZW0ubXlWaWRlby5oZWlnaHQgPiAwKSB7CgkJCQkJYXNwZWN0UmF0aW9TdGFnZSA9IHN0YWdlLnN0YWdlV2lkdGggLyBzdGFnZS5zdGFnZUhlaWdodDsKCQkJCQlhc3BlY3RSYXRpb1ZpZGVvID0gdmlkZW9JdGVtLm15VmlkZW8ud2lkdGggLyB2aWRlb0l0ZW0ubXlWaWRlby5oZWlnaHQ7CgkJCQkJaWYoYXNwZWN0UmF0aW9TdGFnZSA8IGFzcGVjdFJhdGlvVmlkZW8pIHsKCQkJCQkJbWVkaWFXaWR0aCA9IHN0YWdlLnN0YWdlV2lkdGg7CgkJCQkJCW1lZGlhSGVpZ2h0ID0gc3RhZ2Uuc3RhZ2VXaWR0aCAvIGFzcGVjdFJhdGlvVmlkZW87CgkJCQkJCW1lZGlhWCA9IDA7CgkJCQkJCW1lZGlhWSA9IChzdGFnZS5zdGFnZUhlaWdodCAtIG1lZGlhSGVpZ2h0KSAvIDI7CgkJCQkJfSBlbHNlIHsKCQkJCQkJbWVkaWFXaWR0aCA9IHN0YWdlLnN0YWdlSGVpZ2h0ICogYXNwZWN0UmF0aW9WaWRlbzsKCQkJCQkJbWVkaWFIZWlnaHQgPSBzdGFnZS5zdGFnZUhlaWdodDsKCQkJCQkJbWVkaWFYID0gKHN0YWdlLnN0YWdlV2lkdGggLSBtZWRpYVdpZHRoKSAvIDI7CgkJCQkJCW1lZGlhWSA9IDA7CgkJCQkJfQoJCQkJCXJlc2l6ZUVudGl0eSh2aWRlb0l0ZW0sIG1lZGlhWCwgbWVkaWFZLCBtZWRpYVdpZHRoLCBtZWRpYUhlaWdodCk7CgkJCQl9CgkJCX0KCQkJaWYoKGRlYnVnIHx8IHNlY3VyaXR5SXNzdWUpICYmIHN0YWdlLnN0YWdlV2lkdGggPiAyMCAmJiBzdGFnZS5zdGFnZUhlaWdodCA+IDIwKSB7CgkJCQl0eExvZy53aWR0aCA9IHN0YWdlLnN0YWdlV2lkdGggLSAxMDsKCQkJCXR4TG9nLmhlaWdodCA9IHN0YWdlLnN0YWdlSGVpZ2h0IC0gMTA7CgkJCX0KCQkJLy8gUmVzaXplIHRoZSBzcHJpdGUgc28gaXQgY292ZXJzIHRoZSBlbnRpcmUgc3RhZ2UgYXJlYQoJCQljb250ZXh0TWVudUZpeC54ID0gMDsKCQkJY29udGV4dE1lbnVGaXgueSA9IDA7CgkJCWNvbnRleHRNZW51Rml4LndpZHRoID0gc3RhZ2Uuc3RhZ2VXaWR0aDsKCQkJY29udGV4dE1lbnVGaXguaGVpZ2h0ID0gc3RhZ2Uuc3RhZ2VIZWlnaHQ7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gcmVzaXplRW50aXR5KGVudGl0eTpTcHJpdGUsIG1lZGlhWDpOdW1iZXIsIG1lZGlhWTpOdW1iZXIsIG1lZGlhV2lkdGg6TnVtYmVyLCBtZWRpYUhlaWdodDpOdW1iZXIpOnZvaWQgewoJCQllbnRpdHkueCA9IG1lZGlhWDsKCQkJZW50aXR5LnkgPSBtZWRpYVk7CgkJCWVudGl0eS53aWR0aCA9IG1lZGlhV2lkdGg7CgkJCWVudGl0eS5oZWlnaHQgPSBtZWRpYUhlaWdodDsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBjbGlja0hhbmRsZXIoZTpNb3VzZUV2ZW50KTp2b2lkIHsKCQkJLy8gVGhpcyBuZWVkcyB0byB3b3JrIHdpdGggUlRNUCBmb3JtYXQgdG9vIQoJCQlpZihpc01wMykgewoJCQkJalBsYXllckZsYXNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9DTElDSywgbXlNcDNQbGF5ZXIubXlTdGF0dXMsICJjbGljayIpKQoJCQl9IGVsc2UgewoJCQkJalBsYXllckZsYXNoRXZlbnQobmV3IEpwbGF5ZXJFdmVudChKcGxheWVyRXZlbnQuSlBMQVlFUl9DTElDSywgbXlNcDRQbGF5ZXIubXlTdGF0dXMsICJjbGljayIpKQoJCQl9CgkJfQoJCS8vIFRoaXMgZXZlbnQgaXMgbmV2ZXIgY2FsbGVkLiBTZWUgY29tbWVudHMgaW4gY2xhc3MgY29uc3RydWN0b3IuCgkJcHJpdmF0ZSBmdW5jdGlvbiBtZW51U2VsZWN0SGFuZGxlcl9qUGxheWVyKGU6Q29udGV4dE1lbnVFdmVudCk6dm9pZCB7CgkJCW5hdmlnYXRlVG9VUkwobmV3IFVSTFJlcXVlc3QoImh0dHA6Ly9qcGxheWVyLm9yZy8iKSwgIl9ibGFuayIpOwoJCX0KCQkvLyBUaGlzIGV2ZW50IGlzIG5ldmVyIGNhbGxlZC4gU2VlIGNvbW1lbnRzIGluIGNsYXNzIGNvbnN0cnVjdG9yLgoJCXByaXZhdGUgZnVuY3Rpb24gbWVudVNlbGVjdEhhbmRsZXJfaGFwcHl3b3JtKGU6Q29udGV4dE1lbnVFdmVudCk6dm9pZCB7CgkJCW5hdmlnYXRlVG9VUkwobmV3IFVSTFJlcXVlc3QoImh0dHA6Ly9oYXBweXdvcm0uY29tLyIpLCAiX2JsYW5rIik7CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gbG9nKHQ6U3RyaW5nKTp2b2lkIHsKCQkJaWYoZGVidWcpIHsKCQkJCXR4TG9nLnRleHQgPSB0ICsgIlxuIiArIHR4TG9nLnRleHQ7CgkJCQlsb2NhbEFJUkRlYnVnID0gdHJhY2VPdXQubG9jYWxBSVJEZWJ1ZygpOwoJCQkJaWYobG9jYWxBSVJEZWJ1ZykgewoJCQkJCXRyYWNlcih0KTsKCQkJCX0KCgkJCQlpZihFeHRlcm5hbEludGVyZmFjZS5hdmFpbGFibGUgJiYgIXNlY3VyaXR5SXNzdWUpIHsKCQkJCQlFeHRlcm5hbEludGVyZmFjZS5jYWxsKCJjb25zb2xlLmxvZyIsIHQpOwoJCQkJfQoJCQl9CgkJfQoJCXByaXZhdGUgZnVuY3Rpb24gZGVidWdNc2dIYW5kbGVyKGU6SnBsYXllckV2ZW50KTp2b2lkIHsKCQkJbG9nKGUubXNnKTsKCQl9CgkJcHJpdmF0ZSBmdW5jdGlvbiBrZXlib2FyZEhhbmRsZXIoZTpLZXlib2FyZEV2ZW50KTp2b2lkIHsKCQkJbG9nKCJrZXlib2FyZEhhbmRsZXI6IGUua2V5Q29kZSA9ICIgKyBlLmtleUNvZGUpOwoJCQlzd2l0Y2goZS5rZXlDb2RlKSB7CgkJCQljYXNlIDY4IDogLy8gZAoJCQkJCXR4TG9nLnZpc2libGUgPSAhdHhMb2cudmlzaWJsZTsKCQkJCQlsb2coIlRvZ2dsZWQgbG9nIGRpc3BsYXk6ICIgKyB0eExvZy52aXNpYmxlKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgNzYgOiAvLyBsCgkJCQkJaWYoZS5jdHJsS2V5ICYmIGUuc2hpZnRLZXkpIHsKCQkJCQkJdHhMb2cudGV4dCA9ICJDbGVhcmVkIGxvZy4iOwoJCQkJCX0KCQkJCQlicmVhazsKCQkJfQoJCX0KCX0KfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/actionscript/Jplayer.fla</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAPgAAAAEAAAD+////AAAAAAEAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9SAG8AbwB0ACAARQBuAHQAcgB5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAP//////////AQAAAP418rSm3ANIt7LCWkU8g2sAAAAAAAAAAAAAAABg0oJ8u/nLAT8AAABABQAAAAAAAEMAbwBuAHQAZQBuAHQAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAIB/////wIAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgAAANFrAAAAAAAAUAAgADEAIAAxADIAOAAwADQANgA1ADAAMAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7////9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v///0AAAABBAAAA/v///0MAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAA/v//////////////////////////////////////////////UgBvAG8AdAAgAEUAbgB0AHIAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYABQD//////////wEAAAD+NfK0ptwDSLeywlpFPINrAAAAAAAAAAAAAAAAsLcxuq35ywEFAAAAAAUAAAAAAABDAG8AbgB0AGUAbgB0AHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgACAf////8CAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAADRawAAAAAAAFAAIAAxACAAMQAyADgAMAA0ADYANQAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPUEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////7////9/////v///wYAAAAHAAAA/v///wkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAA/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAD+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Af//AQAIAENQaWNQYWdlBQD//wEACQBDUGljTGF5ZXIFAP//AQAJAENQaWNGcmFtZQUA//8BAAgAQ1BpY1RleHQFAAAAAAAAgAAAAIAAAA4JAAEAAAAAAAAAAAAAAAEAzRIAAPAAAAAk7v//NwoAAAAAAAC4EQAAAQAYAAAAAAD//v8AAHMBDxgB//7/BUEAcgBpAGEAbAD//v8MQQByAGkAYQBsAC0AQgBvAGwAZABNAFQAAAAAQAAAAP8AAAEAAAEAACgAAAAAAAAAAAD//v8AAAAAAP/+/wACAQAAAAAAAAAA//7/AGoAUABsAGEAeQBlAHIAIABQAGwAdQBnAGkAbgAgAGYAbwByACAAagBRAHUAZQByAHkAIABKAGEAdgBhAFMAYwByAGkAcAB0ACAATABpAGIAcgBhAHIAeQANAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBqAHAAbABhAHkAZQByAC4AbwByAGcADQANAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5ACAALQAgADIAMAAxADEAIABIAGEAcABwAHkAdwBvAHIAbQAgAEwAdABkAA0ARAB1AGEAbAAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAATQBJAFQAIABhAG4AZAAgAEcAUABMACAAbABpAGMA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dQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBTAHQAYQByAHQAUABhAHUAcwBlAGQA//7/ATAA//7/JVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAaAB0AG0AbABGAGkAbABlAE4AYQBtAGUA//7/DEoAcABsAGEAeQBlAHIALgBoAHQAbQBsAP/+/yBQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBMAGEAeQBlAHIATwBwAHQAaQBvAG4A//7/AP/+/yBQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBBAGwAcABoAGEATwBwAHQAaQBvAG4A//7/AP/+/yJQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAdABjAGgATQBvAHYAaQBlAEQAaQBtAP/+/wExAP/+/xJWAGUAYwB0AG8AcgA6ADoAVQBzAGUATgBlAHQAdwBvAHIAawD//v8BMAD//v8bVgBlAGMAdABvAHIAOgA6AEQAZQBiAHUAZwBnAGkAbgBnACAAUABlAHIAbQBpAHQAdABlAGQA//7/ATAA//7/GVYAZQBjAHQAbwByADoAOgBBAFMAMwAgAEwAaQBiAHIAYQByAHkAIABQAGEAdABoAHMA//7/IiQAKABBAHAAcABDAG8AbgBmAGkAZwApAC8AQQBjAHQAaQBvAG4AUwBjAHIAaQBwAHQAIAAzAC4AMAAvAGwAaQBiAHMA//7/HlAAdQBiAGwAaQBzAGgAUAByAG8AZgBpAGwAZQBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBuAGEAbQBlAP/+/wdEAGUAZgBhAHUAbAB0AP/+/xtQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATABvAG8AcAD//v8BMQD//v8dUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBqAHAAZQBnAP/+/wEwAP/+/xpQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBXAGkAZAB0AGgA//7/AzUANQAwAP/+/yRQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE8AcAB0AGkAbQBpAHoAZQBDAG8AbABvAHIAcwD//v8BMQD//v8mUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHMAcABlAGUAZABTAGkAbgBnAGwAZQBJAFMARABOAP/+/wEwAP/+/yZQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBpAG4AZwBsAGUAUgBhAHQAZQBBAHUAZABpAG8A//7/ATAA//7/FVYAZQBjAHQAbwByADoAOgBEAG8AYwB1AG0AZQBuAHQAQwBsAGEAcwBzAP/+/wdKAHAAbABhAHkAZQByAP/+/xdWAGUAYwB0AG8AcgA6ADoARQB4AHQAZQByAG4AYQBsACAAUABsAGEAeQBlAHIA//7/DUYAbABhAHMAaABQAGwAYQB5AGUAcgAxADAA//7/JVAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAGgAbwB3AFQAYQBnAFcAYQByAG4ATQBzAGcA//7/ATEA//7/J1AAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAGUAYgBsAG8AYwBrAGkAbgBnAEYAaQBsAHQAZQByAP/+/wEwAP/+/xxQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVQBuAGkAdABzAP/+/wEwAP/+/zRQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVQBzAGkAbgBnAEQAZQBmAGEAdQBsAHQAQQBsAHQAZQByAG4AYQB0AGUARgBpAGwAZQBuAGEAbQBlAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAbQBvAG8AdABoAP/+/wExAP/+/yVQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAbQBlAGQAaQBhAEMAbwBwAHkAcgBpAGcAaAB0AP/+/wgoAGMAKQAgADIAMAAwADAA//7/I1AAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBmAGwAYQBzAGgAQgBpAHQAUgBhAHQAZQD//v8EMQAyADAAMAD//v8YVgBlAGMAdABvAHIAOgA6AFMAYwByAGkAcAB0AFMAdAB1AGMAawBEAGUAbABhAHkA//7/AjEANQD//v8WVgBlAGMAdABvAHIAOgA6AEMAbwBtAHAAcgBlAHMAcwAgAE0AbwB2AGkAZQD//v8BMQD//v8VVgBlAGMAdABvAHIAOgA6AFAAYQBjAGsAYQBnAGUAIABQAGEAdABoAHMA//7/AP/+/yZQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGYAbABhAHMAaABGAGkAbABlAE4AYQBtAGUA//7/C0oAcABsAGEAeQBlAHIALgBzAHcAZgD//v8nUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBnAGkAZgBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/JVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcAByAG8AagBlAGMAdABvAHIATQBhAGMA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABpAHQAaABlAHIATwBwAHQAaQBvAG4A//7/AP/+/yFQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZQB4AHAAbwByAHQAUwBNAEkATAD//v8BMQD//v8gUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHMAcABlAGUAZAAzADgANABLAP/+/wEwAP/+/yJQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZQB4AHAAbwByAHQAQQB1AGQAaQBvAP/+/wExAP/+/xZWAGUAYwB0AG8AcgA6ADoAQQBTADMARQB4AHAAbwByAHQARgByAGEAbQBlAP/+/wExAP/+/xdWAGUAYwB0AG8AcgA6ADoASQBuAHYAaQBzAGkAYgBsAGUAIABMAGEAeQBlAHIA//7/ATAA//7/HlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBRAHUAYQBsAGkAdAB5AP/+/wE0AP/+/yhQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVgBlAHIAdABpAGMAYQBsAEEAbABpAGcAbgBtAGUAbgB0AP/+/wExAP/+/yRQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAbgBnAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAHAAbgBnAP/+/x1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGgAdABtAGwA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARgBpAGwAdABlAHIATwBwAHQAaQBvAG4A//7/AP/+/ydQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAbQBlAGQAaQBhAEQAZQBzAGMAcgBpAHAAdABpAG8AbgD//v8A//7/F1YAZQBjAHQAbwByADoAOgBPAHYAZQByAHIAaQBkAGUAIABTAG8AdQBuAGQAcwD//v8BMAD//v8hUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAZQB2AGkAYwBlAEYAbwBuAHQA//7/ATAA//7/LVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZwBlAG4AZQByAGEAdABvAHIARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBGAGwAYQB0AHQAZQBuAP/+/wExAP/+/x5QAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEIAaQB0AEQAZQBwAHQAaAD//v8RMgA0AC0AYgBpAHQAIAB3AGkAdABoACAAQQBsAHAAaABhAP/+/xxQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAbQBvAG8AdABoAP/+/wExAP/+/yJQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAaQB0AGgAZQByAFMAbwBsAGkAZABzAP/+/wEwAP/+/x9QAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEkAbgB0AGUAcgBsAGEAYwBlAP/+/wEwAP/+/xpQAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABQAEkA//7/BzQANwAxADgANQA5ADIA//7/D1YAZQBjAHQAbwByADoAOgBRAHUAYQBsAGkAdAB5AP/+/wI4ADAA//7/D1YAZQBjAHQAbwByADoAOgBQAHIAbwB0AGUAYwB0AP/+/wEwAP/+/yJQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABpAHMAcABsAGEAeQBNAGUAbgB1AP/+/wExAP/+/ypQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASABvAHIAaQB6AG8AbgB0AGEAbABBAGwAaQBnAG4AbQBlAG4AdAD//v8BMQD//v8yUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFYAZQByAHMAaQBvAG4ARABlAHQAZQBjAHQAaQBvAG4ASQBmAEEAdgBhAGkAbABhAGIAbABlAP/+/wEwAP/+/xBWAGUAYwB0AG8AcgA6ADoAVABlAG0AcABsAGEAdABlAP/+/wEwAP/+/ypQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAZQBuAGUAcgBhAHQAbwByAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAHMAdwB0AP/+/yhQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHIAbgB3AGsARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/yhQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGoAcABlAGcARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAaQBmAP/+/wEwAP/+/xpQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEwAbwBvAHAA//7/ATEA//7/G1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVwBpAGQAdABoAP/+/wM1ADUAMAD//v8kUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AG0AZQBkAGkAYQBLAGUAeQB3AG8AcgBkAHMA//7/AP/+/yFQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAbQBlAGQAaQBhAFQAaQB0AGwAZQD//v8A//7/H1AAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQAMgA4AEsA//7/ATEA//7/I1AAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcQB0AEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAG0AbwB2AP/+/yJQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAaQB0AGgAZQByAE8AcAB0AGkAbwBuAP/+/wD//v8jUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBQAGEAbABlAHQAdABlAE8AcAB0AGkAbwBuAP/+/wD//v8jUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAdABjAGgATQBvAHYAaQBlAEQAaQBtAP/+/wExAP/+/yRQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkAEQAdQBhAGwASQBTAEQATgD//v8BMAD//v8kUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHIAZQBhAGwAVgBpAGQAZQBvAFIAYQB0AGUA//7/BjEAMAAwADAAMAAwAP/+/x5QAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUQB1AGEAbABpAHQAeQD//v8COAAwAP/+/xJWAGUAYwB0AG8AcgA6ADoASQBuAGMAbAB1AGQAZQBYAE0AUAD//v8BMAD//v8eUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBmAGwAYQBzAGgA//7/ATEA//7/I1AAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUABhAGwAZQB0AHQAZQBPAHAAdABpAG8AbgD//v8A//7/I1AAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATQBhAHQAYwBoAE0AbwB2AGkAZQBEAGkAbQD//v8BMQD//v8kUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE0AYQB0AGMAaABNAG8AdgBpAGUARABpAG0A//7/ATEA//7/HFYAZQBjAHQAbwByADoAOgBQAGEAYwBrAGEAZwBlACAARQB4AHAAbwByAHQAIABGAHIAYQBtAGUA//7/ATEA//7/IVAAdQBiAGwAaQBzAGgAUAByAG8AZgBpAGwAZQBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgB2AGUAcgBzAGkAbwBuAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQQBsAGkAZwBuAP/+/wEwAP/+/y1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAcgBvAGoAZQBjAHQAbwByAFcAaQBuAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAGUAeABlAP/+/ydQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAbgBnAEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8wUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBNAGEAYwBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/I1AAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAbABhAHkARQB2AGUAcgB5AEYAcgBhAG0AZQD//v8BMAD//v8iUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAGkAdABoAGUAcgBTAG8AbABpAGQAcwD//v8BMAD//v8iUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAcgBvAGcAcgBlAHMAcwBpAHYAZQD//v8BMAD//v8SVgBlAGMAdABvAHIAOgA6AEUAeABwAG8AcgB0ACAAUwB3AGMA//7/ATAA//7/GlYAZQBjAHQAbwByADoAOgBEAGUAYgB1AGcAZwBpAG4AZwAgAFAAYQBzAHMAdwBvAHIAZAD//v8A//7/GlYAZQBjAHQAbwByADoAOgBPAG0AaQB0ACAAVAByAGEAYwBlACAAQQBjAHQAaQBvAG4AcwD//v8BMAD//v8dUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8cUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBkAHQAaAD//v8DNQA1ADAA//7/JVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAagBwAGUAZwBGAGkAbABlAE4AYQBtAGUA//7/C0oAcABsAGEAeQBlAHIALgBqAHAAZwD//v8pUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBmAGwAYQBzAGgARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/x9QAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEkAbgB0AGUAcgBsAGEAYwBlAP/+/wEwAP/+/xxQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8bUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAaQB6AGUA//7/ATAA//7/F1YAZQBjAHQAbwByADoAOgBVAHMAZQBBAFMAMwBOAGEAbQBlAHMAcABhAGMAZQD//v8BMQD//v8WVgBlAGMAdABvAHIAOgA6AEEAUwAzAEEAdQB0AG8ARABlAGMAbABhAHIAZQD//v8BMQD//v8QVgBlAGMAdABvAHIAOgA6AEEAUwAzAEMAbwBhAGMAaAD//v8BMQD//v8TVgBlAGMAdABvAHIAOgA6AEQAZQB2AGkAYwBlAFMAbwB1AG4AZAD//v8BMAD//v8nUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFQAZQBtAHAAbABhAHQAZQBGAGkAbABlAE4AYQBtAGUA//7/cUYAOgBcAEQAbwBjAHUAbQBlAG4AdABzACAAYQBuAGQAIABTAGUAdAB0AGkAbgBnAHMAXABNAGEAcgBrAFwATABvAGMAYQBsACAAUwBlAHQAdABpAG4AZwBzAFwAQQBwAHAAbABpAGMAYQB0AGkAbwBuACAARABhAHQAYQBcAEEAZABvAGIAZQBcAEYAbABhAHMAaAAgAEMAUwA0AFwAZQBuAFwAQwBvAG4AZgBpAGcAdQByAGEAdABpAG8AbgBcAEgAVABNAEwAXABEAGUAZgBhAHUAbAB0AC4AaAB0AG0AbAD//v8hUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBuAGQAbwB3AE0AbwBkAGUA//7/ATAA//7/MlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBVAHMAaQBuAGcARABlAGYAYQB1AGwAdABDAG8AbgB0AGUAbgB0AEYAaQBsAGUAbgBhAG0AZQD//v8BMQD//v8tUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBNAGEAYwBGAGkAbABlAE4AYQBtAGUA//7/C0oAcABsAGEAeQBlAHIALgBhAHAAcAD//v8oUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBoAHQAbQBsAEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8dUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgByAG4AdwBrAP/+/wEwAP/+/xxQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAbgBnAP/+/wEwAP/+/xtQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBIAGUAaQBnAGgAdAD//v8DNAAwADAA//7/JVAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUgBlAG0AbwB2AGUARwByAGEAZABpAGUAbgB0AHMA//7/ATAA//7/H1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATQBhAHgAQwBvAGwAbwByAHMA//7/AzIANQA1AP/+/ydQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFQAcgBhAG4AcwBwAGEAcgBlAG4AdABPAHAAdABpAG8AbgD//v8A//7/H1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATABvAG8AcABDAG8AdQBuAHQA//7/AP/+/x9QAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkADUANgBLAP/+/wExAP/+/w5WAGUAYwB0AG8AcgA6ADoAUgBlAHAAbwByAHQA//7/ATAA//7/K1AAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBPAHcAbgBBAGwAdABlAHIAbgBhAHQAZQBGAGkAbABlAG4AYQBtAGUA//7/AP/+/yhQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQQBsAHQAZQByAG4AYQB0AGUARgBpAGwAZQBuAGEAbQBlAP/+/wD//v8mUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEMAbwBuAHQAZQBuAHQARgBpAGwAZQBuAGEAbQBlAP/+/wD//v8iUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBnAGUAbgBlAHIAYQB0AG8AcgD//v8BMAD//v8kUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBPAHAAdABpAG0AaQB6AGUAQwBvAGwAbwByAHMA//7/ATEA//7/IlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBhAHUAZABpAG8ARgBvAHIAbQBhAHQA//7/ATAA//7/HFYAZQBjAHQAbwByADoAOgBIAGEAcgBkAHcAYQByAGUAQQBjAGMAZQBsAGUAcgBhAHQAaQBvAG4A//7/ATAA//7/EVYAZQBjAHQAbwByADoAOgBBAFMAMwBTAHQAcgBpAGMAdAD//v8BMQD//v8iVgBlAGMAdABvAHIAOgA6AEEAUwAzACAARQB4AHQAZQByAG4AYQBsACAATABpAGIAcgBhAHIAeQAgAFAAYQB0AGgAcwD//v8BLgD//v8PVgBlAGMAdABvAHIAOgA6AFYAZQByAHMAaQBvAG4A//7/AjEAMAD//v8UVgBlAGMAdABvAHIAOgA6AEUAdgBlAG4AdAAgAEYAbwByAG0AYQB0AP/+/wEwAP/+/xdWAGUAYwB0AG8AcgA6ADoAUwB0AHIAZQBhAG0AIABDAG8AbQBwAHIAZQBzAHMA//7/ATcA//7/G1AAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcQB0AP/+/wEwAP/+/xxQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8bUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBXAGkAZAB0AGgA//7/AzUANQAwAP/+/yVQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFIAZQBtAG8AdgBlAEcAcgBhAGQAaQBlAG4AdABzAP/+/wEwAP/+/yBQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkADUAMQAyAEsA//7/ATAA//7/HVAAdQBiAGwAaQBzAGgASgBwAGUAZwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBIAGUAaQBnAGgAdAD//v8DNAAwADAA//7/HFYAZQBjAHQAbwByADoAOgBFAHYAZQBuAHQAVQBzAGUAOABrAFMAYQBtAHAAbABlAFIAYQB0AGUA//7/ATAA//7/HVYAZQBjAHQAbwByADoAOgBTAHQAcgBlAGEAbQBVAHMAZQA4AGsAUwBhAG0AcABsAGUAUgBhAHQAZQD//v8BMAD//v8bVgBlAGMAdABvAHIAOgA6AEEAYwB0AGkAbwBuAFMAYwByAGkAcAB0AFYAZQByAHMAaQBvAG4A//7/ATMA//7/FlYAZQBjAHQAbwByADoAOgBFAHYAZQBuAHQAIABDAG8AbQBwAHIAZQBzAHMA//7/ATcA//7/HFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBTAGMAYQBsAGUA//7/ATAA//7/MFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcAByAG8AagBlAGMAdABvAHIAVwBpAG4ARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/xxQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBMAG8AbwBwAGkAbgBnAP/+/wEwAP/+/ypQAHUAYgBsAGkAcwBoAFEAVABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBVAHMAZQBRAFQAUwBvAHUAbgBkAEMAbwBtAHAAcgBlAHMAcwBpAG8AbgD//v8BMAD//v8hUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBQAGEAbABlAHQAdABlAE4AYQBtAGUA//7/AP/+/yFQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFQAcgBhAG4AcwBwAGEAcgBlAG4AdAD//v8BMAD//v8mUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBUAHIAYQBuAHMAcABhAHIAZQBuAHQAQQBsAHAAaABhAP/+/wMxADIAOAD//v8eUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBBAG4AaQBtAGEAdABlAGQA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBtAGUAZABpAGEAQQB1AHQAaABvAHIA//7/AP/+/yhQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkAEMAbwByAHAAbwByAGEAdABlAEwAQQBOAP/+/wEwAP/+/yZQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBoAG8AdwBCAGkAdAByAGEAdABlAEQAbABvAGcA//7/ATEA//7/IlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBlAHgAcABvAHIAdABGAGwAYQBzAGgA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgASgBwAGUAZwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBXAGkAZAB0AGgA//7/AzUANQAwAP/+/xVWAGUAYwB0AG8AcgA6ADoAUwB0AHIAZQBhAG0AIABGAG8AcgBtAGEAdAD//v8BMAD//v8YVgBlAGMAdABvAHIAOgA6AEQAZQBiAGwAbwBjAGsAaQBuAGcARgBpAGwAdABlAHIA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBWAGUAcgBzAGkAbwBuAEkAbgBmAG8A//7/AP/+/yRQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAaQBmAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAGcAaQBmAP/+/yZQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHEAdABEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/IlAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAYQB1AHMAZQBkAEEAdABTAHQAYQByAHQA//7/ATAA//7/JVAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEMAbwBuAHQAcgBvAGwAbABlAHIATwBwAHQAaQBvAG4A//7/ATAA//7/H1AAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATQBhAHgAQwBvAGwAbwByAHMA//7/AzIANQA1AP/+/xhWAGUAYwB0AG8AcgA6ADoAQQBTADMAIABDAG8AbgBmAGkAZwAgAEMAbwBuAHMAdAD//v8fQwBPAE4ARgBJAEcAOgA6AEYATABBAFMASABfAEEAVQBUAEgATwBSAEkATgBHAD0AIgB0AHIAdQBlACIAOwD//v8sUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFUAcwBpAG4AZwBPAHcAbgBBAGwAdABlAHIAbgBhAHQAZQBGAGkAbABlAP/+/wEwAP/+/yVQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHIAbgB3AGsARgBpAGwAZQBOAGEAbQBlAP/+/wxKAHAAbABhAHkAZQByAC4AcwBtAGkAbAD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBXAGkAbgD//v8BMAD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBkAGUAZgBhAHUAbAB0AE4AYQBtAGUAcwD//v8BMQD///////7/AP/+/wABAAAAAAD8AP//AAAJAENDb2xvckRlZgQAAAD/AAAAAAAAAAADgAQAAAD/AAAAAAAAAAADgAQAAAD/AAAAAAAAAAADgAQAAAD/AAAAAAAAAAADgAQAMwD/AABQAO8AGAADgAQAZgD/AABQAO8AMAADgAQAmQD/AABQAO8ASAADgAQAzAD/AABQAO8AYAADgAQA/wD/AABQAO8AeAADgAQzAAD/AAAAAO8AGAADgAQzMwD/AAAoAO8AGAADgAQzZgD/AAA8AO8AMAADgAQzmQD/AABDAO8ASAADgAQzzAD/AABGAO8AYAADgAQz/wD/AABIAO8AeAADgARmAAD/AAAAAO8AMAADgARmMwD/AAAUAO8AMAADgARmZgD/AAAoAO8AMAADgARmmQD/AAA1AO8ASAADgARmzAD/AAA8AO8AYAADgARm/wD/AABAAO8AeAADgAQAAAD/AAAAAAAAAAADgAQzMzP/AAAAAAAAMAADgAQAAAD/AAAAAAAAAAADgAQAADP/AACgAO8AGAADgAQAMzP/AAB4AO8AGAADgAQAZjP/AABkAO8AMAADgAQAmTP/AABdAO8ASAADgAQAzDP/AABaAO8AYAADgAQA/zP/AABYAO8AeAADgAQzADP/AADIAO8AGAADgAQzMzP/AAAAAAAAMAADgAQzZjP/AABQAFAASAADgAQzmTP/AABQAHgAYAADgAQzzDP/AABQAJAAeAADgAQz/zP/AABQAO8AkAADgARmADP/AADcAO8AMAADgARmMzP/AAAAAFAASAADgARmZjP/AAAoAFAASAADgARmmTP/AAA8AHgAYAADgARmzDP/AABDAJAAeAADgARm/zP/AABGAO8AkAADgAQAAAD/AAAAAAAAAAADgARmZmb/AAAAAAAAYAADgAQAAAD/AAAAAAAAAAADgAQAAGb/AACgAO8AMAADgAQAM2b/AACMAO8AMAADgAQAZmb/AAB4AO8AMAADgAQAmWb/AABrAO8ASAADgAQAzGb/AABkAO8AYAADgAQA/2b/AABgAO8AeAADgAQzAGb/AAC0AO8AMAADgAQzM2b/AACgAFAASAADgAQzZmb/AAB4AFAASAADgAQzmWb/AABkAHgAYAADgAQzzGb/AABdAJAAeAADgAQz/2b/AABaAO8AkAADgARmAGb/AADIAO8AMAADgARmM2b/AADIAFAASAADgARmZmb/AAAAAAAAYAADgARmmWb/AABQADAAeAADgARmzGb/AABQAHgAkAADgARm/2b/AABQAO8AqAADgAQAAAD/AAAAAAAAAAADgASZmZn/AAAAAAAAkAADgAQAAAD/AAAAAAAAAAADgAQAAJn/AACgAO8ASAADgAQAM5n/AACTAO8ASAADgAQAZpn/AACFAO8ASAADgAQAmZn/AAB4AO8ASAADgAQAzJn/AABuAO8AYAADgAQA/5n/AABoAO8AeAADgAQzAJn/AACtAO8ASAADgAQzM5n/AACgAHgAYAADgAQzZpn/AACMAHgAYAADgAQzmZn/AAB4AHgAYAADgAQzzJn/AABrAJAAeAADgAQz/5n/AABkAO8AkAADgARmAJn/AAC7AO8ASAADgARmM5n/AAC0AHgAYAADgARmZpn/AACgADAAeAADgARmmZn/AAB4ADAAeAADgARmzJn/AABkAHgAkAADgARm/5n/AABdAO8AqAADgAQAAAD/AAAAAAAAAAADgATMzMz/AAAAAAAAwAADgAQAAAD/AAAAAAAAAAADgAQAAMz/AACgAO8AYAADgAQAM8z/AACWAO8AYAADgAQAZsz/AACMAO8AYAADgAQAmcz/AACCAO8AYAADgAQAzMz/AAB4AO8AYAADgAQA/8z/AABwAO8AeAADgAQzAMz/AACqAO8AYAADgAQzM8z/AACgAJAAeAADgAQzZsz/AACTAJAAeAADgAQzmcz/AACFAJAAeAADgAQzzMz/AAB4AJAAeAADgAQz/8z/AABuAO8AkAADgARmAMz/AAC0AO8AYAADgARmM8z/AACtAJAAeAADgARmZsz/AACgAHgAkAADgARmmcz/AACMAHgAkAADgARmzMz/AAB4AHgAkAADgARm/8z/AABrAO8AqAADgAQAAAD/AAAAAAAAAAADgAT/////AAAAAAAA8AADgAQAAAD/AAAAAAAAAAADgAQAAP//AACgAO8AeAADgAQAM///AACYAO8AeAADgAQAZv//AACQAO8AeAADgAQAmf//AACIAO8AeAADgAQAzP//AACAAO8AeAADgAQA////AAB4AO8AeAADgAQzAP//AACoAO8AeAADgAQzM///AACgAO8AkAADgAQzZv//AACWAO8AkAADgAQzmf//AACMAO8AkAADgAQzzP//AACCAO8AkAADgAQz////AAB4AO8AkAADgARmAP//AACwAO8AeAADgARmM///AACqAO8AkAADgARmZv//AACgAO8AqAADgARmmf//AACTAO8AqAADgARmzP//AACFAO8AqAADgARm////AAB4AO8AqAADgAQAAAD/AAAAAAAAAAADgAT/AAD/AAAAAO8AeAADgAQAAAD/AAAAAAAAAAADgASZAAD/AAAAAO8ASAADgASZMwD/AAANAO8ASAADgASZZgD/AAAbAO8ASAADgASZmQD/AAAoAO8ASAADgASZzAD/AAAyAO8AYAADgASZ/wD/AAA4AO8AeAADgATMAAD/AAAAAO8AYAADgATMMwD/AAAKAO8AYAADgATMZgD/AAAUAO8AYAADgATMmQD/AAAeAO8AYAADgATMzAD/AAAoAO8AYAADgATM/wD/AAAwAO8AeAADgAT/AAD/AAAAAO8AeAADgAT/MwD/AAAIAO8AeAADgAT/ZgD/AAAQAO8AeAADgAT/mQD/AAAYAO8AeAADgAT/zAD/AAAgAO8AeAADgAT//wD/AAAoAO8AeAADgAQAAAD/AAAAAAAAAAADgAQA/wD/AABQAO8AeAADgAQAAAD/AAAAAAAAAAADgASZADP/AADjAO8ASAADgASZMzP/AAAAAHgAYAADgASZZjP/AAAUAHgAYAADgASZmTP/AAAoAHgAYAADgASZzDP/AAA1AJAAeAADgASZ/zP/AAA8AO8AkAADgATMADP/AADmAO8AYAADgATMMzP/AAAAAJAAeAADgATMZjP/AAANAJAAeAADgATMmTP/AAAbAJAAeAADgATMzDP/AAAoAJAAeAADgATM/zP/AAAyAO8AkAADgAT/ADP/AADoAO8AeAADgAT/MzP/AAAAAO8AkAADgAT/ZjP/AAAKAO8AkAADgAT/mTP/AAAUAO8AkAADgAT/zDP/AAAeAO8AkAADgAT//zP/AAAoAO8AkAADgAQAAAD/AAAAAAAAAAADgAQAAP//AACgAO8AeAADgAQAAAD/AAAAAAAAAAADgASZAGb/AADVAO8ASAADgASZM2b/AADcAHgAYAADgASZZmb/AAAAADAAeAADgASZmWb/AAAoADAAeAADgASZzGb/AAA8AHgAkAADgASZ/2b/AABDAO8AqAADgATMAGb/AADcAO8AYAADgATMM2b/AADjAJAAeAADgATMZmb/AAAAAHgAkAADgATMmWb/AAAUAHgAkAADgATMzGb/AAAoAHgAkAADgATM/2b/AAA1AO8AqAADgAT/AGb/AADgAO8AeAADgAT/M2b/AADmAO8AkAADgAT/Zmb/AAAAAO8AqAADgAT/mWb/AAANAO8AqAADgAT/zGb/AAAbAO8AqAADgAT//2b/AAAoAO8AqAADgAQAAAD/AAAAAAAAAAADgAT//wD/AAAoAO8AeAADgAQAAAD/AAAAAAAAAAADgASZAJn/AADIAO8ASAADgASZM5n/AADIAHgAYAADgASZZpn/AADIADAAeAADgASZmZn/AAAAAAAAkAADgASZzJn/AABQAFAAqAADgASZ/5n/AABQAO8AwAADgATMAJn/AADSAO8AYAADgATMM5n/AADVAJAAeAADgATMZpn/AADcAHgAkAADgATMmZn/AAAAAFAAqAADgATMzJn/AAAoAFAAqAADgATM/5n/AAA8AO8AwAADgAT/AJn/AADYAO8AeAADgAT/M5n/AADcAO8AkAADgAT/Zpn/AADjAO8AqAADgAT/mZn/AAAAAO8AwAADgAT/zJn/AAAUAO8AwAADgAT//5n/AAAoAO8AwAADgAQAAAD/AAAAAAAAAAADgAQA////AAB4AO8AeAADgAQAAAD/AAAAAAAAAAADgASZAMz/AAC+AO8AYAADgASZM8z/AAC7AJAAeAADgASZZsz/AAC0AHgAkAADgASZmcz/AACgAFAAqAADgASZzMz/AAB4AFAAqAADgASZ/8z/AABkAO8AwAADgATMAMz/AADIAO8AYAADgATMM8z/AADIAJAAeAADgATMZsz/AADIAHgAkAADgATMmcz/AADIAFAAqAADgATMzMz/AAAAAAAAwAADgATM/8z/AABQAO8A2AADgAT/AMz/AADQAO8AeAADgAT/M8z/AADSAO8AkAADgAT/Zsz/AADVAO8AqAADgAT/mcz/AADcAO8AwAADgAT/zMz/AAAAAO8A2AADgAT//8z/AAAoAO8A2AADgAQAAAD/AAAAAAAAAAADgAT/AP//AADIAO8AeAADgAQAAAD/AAAAAAAAAAADgASZAP//AAC4AO8AeAADgASZM///AAC0AO8AkAADgASZZv//AACtAO8AqAADgASZmf//AACgAO8AwAADgASZzP//AACMAO8AwAADgASZ////AAB4AO8AwAADgATMAP//AADAAO8AeAADgATMM///AAC+AO8AkAADgATMZv//AAC7AO8AqAADgATMmf//AAC0AO8AwAADgATMzP//AACgAO8A2AADgATM////AAB4AO8A2AADgAT/AP//AADIAO8AeAADgAT/M///AADIAO8AkAADgAT/Zv//AADIAO8AqAADgAT/mf//AADIAO8AwAADgAT/zP//AADIAO8A2AADgAT/////AAAAAAAA8AABAAcAA4AEAAAA/xAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAAAAAAAAP//////AAAA/wAAAAAAAAOABAAAAP8SAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAAAAAAD//////wAAAP8AAAAAAAADgAQAAAD/EgAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAACAAAAAAAAAAAA/wAA//8AAAD/AAAAAAAAA4AEAAAA/xIAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAAAAAAAAAD/AP//AAAA/wAAAAAAAAOABAAAAP8SAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAAAAAAAAAP///wAAAP8AAAAAAAADgAQAAAD/EAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAGAAAAAAAAAAAAAGb9/2D/////ev////+AmWYA/6r/zAD///////8AAAAAAAADgAQAAAD/EAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAHAAAAAAAAAAAA/wAA/yr//wD/XQD/AP9/AP///6oAAP//1P8A/////wAA/wAAAAAAAAEAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAQD//v8iUAB1AGIAbABpAHMAaABRAFQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUQBUAFMAbgBkAFMAZQB0AHQAaQBuAGcAcwD//wEAEABDUVRBdWRpb1NldHRpbmdzAAAAAAEAWP///wEAAQAAAAAAAAAA//7/AAEBAQAAAAEAAAAAAMgA//7/AP/+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAEAAAAAQAAAP///////v8AAQAAAP/+/wAAAAAAAAAAAP/+//93EjwAPwB4AHAAYQBjAGsAZQB0ACAAYgBlAGcAaQBuAD0AIgD//iIAIABpAGQAPQAiAFcANQBNADAATQBwAEMAZQBoAGkASAB6AHIAZQBTAHoATgBUAGMAegBrAGMAOQBkACIAPwA+AAoAPAB4ADoAeABtAHAAbQBlAHQAYQAgAHgAbQBsAG4AcwA6AHgAPQAiAGEAZABvAGIAZQA6AG4AcwA6AG0AZQB0AGEALwAiACAAeAA6AHgAbQBwAHQAawA9ACIAQQBkAG8AYgBlACAAWABNAFAAIABDAG8AcgBlACAANAAuADIALgAyAC0AYwAwADYAMwAgADUAMwAuADMANQAyADYAMgA0ACwAIAAyADAAMAA4AC8AMAA3AC8AMwAwAC0AMQA4ADoAMQAyADoAMQA4ACAAIAAgACAAIAAgACAAIAAiAD4ACgAgACAAIAA8AHIAZABmADoAUgBEAEYAIAB4AG0AbABuAHMAOgByAGQAZgA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMQA5ADkAOQAvADAAMgAvADIAMgAtAHIAZABmAC0AcwB5AG4AdABhAHgALQBuAHMAIwAiAD4ACgAgACAAIAAgACAAIAA8AHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuACAAcgBkAGYAOgBhAGIAbwB1AHQAPQAiACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgB4AG0AcAA9ACIAaAB0AHQAcAA6AC8ALwBuAHMALgBhAGQAbwBiAGUALgBjAG8AbQAvAHgAYQBwAC8AMQAuADAALwAiAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwADoAQwByAGUAYQB0AG8AcgBUAG8AbwBsAD4AQQBkAG8AYgBlACAARgBsAGEAcwBoACAAQwBTADQAIABQAHIAbwBmAGUAcwBzAGkAbwBuAGEAbAA8AC8AeABtAHAAOgBDAHIAZQBhAHQAbwByAFQAbwBvAGwAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAAOgBDAHIAZQBhAHQAZQBEAGEAdABlAD4AMgAwADEAMAAtADAANwAtADMAMABUADAANQA6ADQAMwA6ADIAMAArADAAMQA6ADAAMAA8AC8AeABtAHAAOgBDAHIAZQBhAHQAZQBEAGEAdABlAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwADoATQBlAHQAYQBkAGEAdABhAEQAYQB0AGUAPgAyADAAMQAwAC0AMAA3AC0AMwAxAFQAMQAwADoAMAA1ADoAMwA3ACsAMAAxADoAMAAwADwALwB4AG0AcAA6AE0AZQB0AGEAZABhAHQAYQBEAGEAdABlAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwADoATQBvAGQAaQBmAHkARABhAHQAZQA+ADIAMAAxADAALQAwADcALQAzADEAVAAxADAAOgAwADUAOgAzADcAKwAwADEAOgAwADAAPAAvAHgAbQBwADoATQBvAGQAaQBmAHkARABhAHQAZQA+AAoAIAAgACAAIAAgACAAPAAvAHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuAD4ACgAgACAAIAAgACAAIAA8AHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuACAAcgBkAGYAOgBhAGIAbwB1AHQAPQAiACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgBkAGMAPQAiAGgAdAB0AHAAOgAvAC8AcAB1AHIAbAAuAG8AcgBnAC8AZABjAC8AZQBsAGUAbQBlAG4AdABzAC8AMQAuADEALwAiAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AGQAYwA6AGYAbwByAG0AYQB0AD4AYQBwAHAAbABpAGMAYQB0AGkAbwBuAC8AdgBuAGQALgBhAGQAbwBiAGUALgBmAGwAYQA8AC8AZABjADoAZgBvAHIAbQBhAHQAPgAKACAAIAAgACAAIAAgADwALwByAGQAZgA6AEQAZQBzAGMAcgBpAHAAdABpAG8AbgA+AAoAIAAgACAAIAAgACAAPAByAGQAZgA6AEQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAHIAZABmADoAYQBiAG8AdQB0AD0AIgAiAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAeABtAGwAbgBzADoAeABtAHAATQBNAD0AIgBoAHQAdABwADoALwAvAG4AcwAuAGEAZABvAGIAZQAuAGMAbwBtAC8AeABhAHAALwAxAC4AMAAvAG0AbQAvACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgBzAHQARQB2AHQAPQAiAGgAdAB0AHAAOgAvAC8AbgBzAC4AYQBkAG8AYgBlAC4AYwBvAG0ALwB4AGEAcAAvADEALgAwAC8AcwBUAHkAcABlAC8AUgBlAHMAbwB1AHIAYwBlAEUAdgBlAG4AdAAjACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgBzAHQAUgBlAGYAPQAiAGgAdAB0AHAAOgAvAC8AbgBzAC4AYQBkAG8AYgBlAC4AYwBvAG0ALwB4AGEAcAAvADEALgAwAC8AcwBUAHkAcABlAC8AUgBlAHMAbwB1AHIAYwBlAFIAZQBmACMAIgA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcABNAE0AOgBJAG4AcwB0AGEAbgBjAGUASQBEAD4AeABtAHAALgBpAGkAZAA6ADYANwBBAEYARQA5AEMAOAA4ADIAOQBDAEQARgAxADEAOAA5ADQAMgBEADMAQgA0ADEAQgBBADUAQwA3ADUARAA8AC8AeABtAHAATQBNADoASQBuAHMAdABhAG4AYwBlAEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcABNAE0AOgBEAG8AYwB1AG0AZQBuAHQASQBEAD4AeABtAHAALgBkAGkAZAA6ADYANwBBAEYARQA5AEMAOAA4ADIAOQBDAEQARgAxADEAOAA5ADQAMgBEADMAQgA0ADEAQgBBADUAQwA3ADUARAA8AC8AeABtAHAATQBNADoARABvAGMAdQBtAGUAbgB0AEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcABNAE0AOgBPAHIAaQBnAGkAbgBhAGwARABvAGMAdQBtAGUAbgB0AEkARAA+AHgAbQBwAC4AZABpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHgAbQBwAE0ATQA6AE8AcgBpAGcAaQBuAGEAbABEAG8AYwB1AG0AZQBuAHQASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwAE0ATQA6AEgAaQBzAHQAbwByAHkAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcgBkAGYAOgBTAGUAcQA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAByAGQAZgA6AGwAaQAgAHIAZABmADoAcABhAHIAcwBlAFQAeQBwAGUAPQAiAFIAZQBzAG8AdQByAGMAZQAiAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AGEAYwB0AGkAbwBuAD4AYwByAGUAYQB0AGUAZAA8AC8AcwB0AEUAdgB0ADoAYQBjAHQAaQBvAG4APgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AHgAbQBwAC4AaQBpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHMAdABFAHYAdAA6AGkAbgBzAHQAYQBuAGMAZQBJAEQAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAdwBoAGUAbgA+ADIAMAAxADAALQAwADcALQAzADAAVAAwADUAOgA0ADQAOgAyADQAKwAwADEAOgAwADAAPAAvAHMAdABFAHYAdAA6AHcAaABlAG4APgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAcwBvAGYAdAB3AGEAcgBlAEEAZwBlAG4AdAA+AEEAZABvAGIAZQAgAEYAbABhAHMAaAAgAEMAUwA0ACAAUAByAG8AZgBlAHMAcwBpAG8AbgBhAGwAPAAvAHMAdABFAHYAdAA6AHMAbwBmAHQAdwBhAHIAZQBBAGcAZQBuAHQAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwALwByAGQAZgA6AGwAaQA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAByAGQAZgA6AGwAaQAgAHIAZABmADoAcABhAHIAcwBlAFQAeQBwAGUAPQAiAFIAZQBzAG8AdQByAGMAZQAiAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AGEAYwB0AGkAbwBuAD4AcwBhAHYAZQBkADwALwBzAHQARQB2AHQAOgBhAGMAdABpAG8AbgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBpAG4AcwB0AGEAbgBjAGUASQBEAD4AeABtAHAALgBpAGkAZAA6ADYANwBBAEYARQA5AEMAOAA4ADIAOQBDAEQARgAxADEAOAA5ADQAMgBEADMAQgA0ADEAQgBBADUAQwA3ADUARAA8AC8AcwB0AEUAdgB0ADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgB3AGgAZQBuAD4AMgAwADEAMAAtADAANwAtADMAMQBUADEAMAA6ADAANQA6ADMANwArADAAMQA6ADAAMAA8AC8AcwB0AEUAdgB0ADoAdwBoAGUAbgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBzAG8AZgB0AHcAYQByAGUAQQBnAGUAbgB0AD4AQQBkAG8AYgBlACAARgBsAGEAcwBoACAAQwBTADQAIABQAHIAbwBmAGUAcwBzAGkAbwBuAGEAbAA8AC8AcwB0AEUAdgB0ADoAcwBvAGYAdAB3AGEAcgBlAEEAZwBlAG4AdAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBjAGgAYQBuAGcAZQBkAD4ALwA8AC8AcwB0AEUAdgB0ADoAYwBoAGEAbgBnAGUAZAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAAvAHIAZABmADoAbABpAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AC8AcgBkAGYAOgBTAGUAcQA+AAoAIAAgACAAIAAgACAAIAAgACAAPAAvAHgAbQBwAE0ATQA6AEgAaQBzAHQAbwByAHkAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAATQBNADoARABlAHIAaQB2AGUAZABGAHIAbwBtACAAcgBkAGYAOgBwAGEAcgBzAGUAVAB5AHAAZQA9ACIAUgBlAHMAbwB1AHIAYwBlACIAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AFIAZQBmADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AHgAbQBwAC4AaQBpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHMAdABSAGUAZgA6AGkAbgBzAHQAYQBuAGMAZQBJAEQAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AFIAZQBmADoAZABvAGMAdQBtAGUAbgB0AEkARAA+AHgAbQBwAC4AZABpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHMAdABSAGUAZgA6AGQAbwBjAHUAbQBlAG4AdABJAEQAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AFIAZQBmADoAbwByAGkAZwBpAG4AYQBsAEQAbwBjAHUAbQBlAG4AdABJAEQAPgB4AG0AcAAuAGQAaQBkADoANQA3ADIANQBFADMAMgAwADkANQA5AEIARABGADEAMQA4AEUAOQBCAEUARQBGADAAMwAwADEAMAA1AEIAQQA5ADwALwBzAHQAUgBlAGYAOgBvAHIAaQBnAGkAbgBhAGwARABvAGMAdQBtAGUAbgB0AEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAPAAvAHgAbQBwAE0ATQA6AEQAZQByAGkAdgBlAGQARgByAG8AbQA+AAoAIAAgACAAIAAgACAAPAAvAHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuAD4ACgAgACAAIAA8AC8AcgBkAGYAOgBSAEQARgA+AAoAPAAvAHgAOgB4AG0AcABtAGUAdABhAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAPAA/AHgAcABhAGMAawBlAHQAIABlAG4AZAA9ACIAdwAiAD8APgD//v8AAAAAAAAAAAD/////RwEAAAAAAAAACgAAADYCAABDAFNhdmVkIGJ5IEFkb2JlIEZsYXNoIFdpbmRvd3MgMTAuMCBidWlsZCA1NjYgdGltZWNvdW50ID0gMTMwMjY4MDI4NQAAAAAAAIBLQHwVAACgDwAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAD+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8B//8BAAgAQ1BpY1BhZ2UFAP//AQAJAENQaWNMYXllcgUA//8BAAkAQ1BpY0ZyYW1lBQD//wEACABDUGljVGV4dAUAAAAAAACAAAAAgAAADgkAAQAAAAAAAAAAAAAAAQDNEgAA8AAAACTu//83CgAAAAAAALgRAAABABgAAAAAAP/+/wAAcwEPGAH//v8FQQByAGkAYQBsAP/+/wxBAHIAaQBhAGwALQBCAG8AbABkAE0AVAAAAABAAAAA/wAAAQAAAQAAKAAAAAAAAAAAAP/+/wAAAAAA//7/AAIBAAAAAAAAAAD//v8AagBQAGwAYQB5AGUAcgAgAFAAbAB1AGcAaQBuACAAZgBvAHIAIABqAFEAdQBlAHIAeQAgAEoAYQB2AGEAUwBjAHIAaQBwAHQAIABMAGkAYgByAGEAcgB5AA0AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGoAcABsAGEAeQBlAHIALgBvAHIAZwANAA0AQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkAIAAtACAAMgAwADEAMQAgAEgAYQBwAHAAeQB3AG8AcgBtACAATAB0AGQADQBEAHUAYQBsACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABNAEkAVAAgAGEAbgBkACAARwBQAEwAIABsAGkAYwBlAG4A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bABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAdABhAHIAdABQAGEAdQBzAGUAZAD//v8BMAD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBoAHQAbQBsAEYAaQBsAGUATgBhAG0AZQD//v8MSgBwAGwAYQB5AGUAcgAuAGgAdABtAGwA//7/IFAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEwAYQB5AGUAcgBPAHAAdABpAG8AbgD//v8A//7/IFAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEEAbABwAGgAYQBPAHAAdABpAG8AbgD//v8A//7/IlAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE0AYQB0AGMAaABNAG8AdgBpAGUARABpAG0A//7/ATEA//7/ElYAZQBjAHQAbwByADoAOgBVAHMAZQBOAGUAdAB3AG8AcgBrAP/+/wEwAP/+/xtWAGUAYwB0AG8AcgA6ADoARABlAGIAdQBnAGcAaQBuAGcAIABQAGUAcgBtAGkAdAB0AGUAZAD//v8BMAD//v8ZVgBlAGMAdABvAHIAOgA6AEEAUwAzACAATABpAGIAcgBhAHIAeQAgAFAAYQB0AGgAcwD//v8iJAAoAEEAcABwAEMAbwBuAGYAaQBnACkALwBBAGMAdABpAG8AbgBTAGMAcgBpAHAAdAAgADMALgAwAC8AbABpAGIAcwD//v8eUAB1AGIAbABpAHMAaABQAHIAbwBmAGkAbABlAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AG4AYQBtAGUA//7/B0QAZQBmAGEAdQBsAHQA//7/G1AAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBMAG8AbwBwAP/+/wExAP/+/x1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGoAcABlAGcA//7/ATAA//7/GlAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBkAHQAaAD//v8DNQA1ADAA//7/JFAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATwBwAHQAaQBtAGkAegBlAEMAbwBsAG8AcgBzAP/+/wExAP/+/yZQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkAFMAaQBuAGcAbABlAEkAUwBEAE4A//7/ATAA//7/JlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAGkAbgBnAGwAZQBSAGEAdABlAEEAdQBkAGkAbwD//v8BMAD//v8VVgBlAGMAdABvAHIAOgA6AEQAbwBjAHUAbQBlAG4AdABDAGwAYQBzAHMA//7/B0oAcABsAGEAeQBlAHIA//7/F1YAZQBjAHQAbwByADoAOgBFAHgAdABlAHIAbgBhAGwAIABQAGwAYQB5AGUAcgD//v8NRgBsAGEAcwBoAFAAbABhAHkAZQByADEAMAD//v8lUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHMAaABvAHcAVABhAGcAVwBhAHIAbgBNAHMAZwD//v8BMQD//v8nUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAZQBiAGwAbwBjAGsAaQBuAGcARgBpAGwAdABlAHIA//7/ATAA//7/HFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBVAG4AaQB0AHMA//7/ATAA//7/NFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBVAHMAaQBuAGcARABlAGYAYQB1AGwAdABBAGwAdABlAHIAbgBhAHQAZQBGAGkAbABlAG4AYQBtAGUA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUwBtAG8AbwB0AGgA//7/ATEA//7/JVAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBtAGUAZABpAGEAQwBvAHAAeQByAGkAZwBoAHQA//7/CCgAYwApACAAMgAwADAAMAD//v8jUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGYAbABhAHMAaABCAGkAdABSAGEAdABlAP/+/wQxADIAMAAwAP/+/xhWAGUAYwB0AG8AcgA6ADoAUwBjAHIAaQBwAHQAUwB0AHUAYwBrAEQAZQBsAGEAeQD//v8CMQA1AP/+/xZWAGUAYwB0AG8AcgA6ADoAQwBvAG0AcAByAGUAcwBzACAATQBvAHYAaQBlAP/+/wExAP/+/xVWAGUAYwB0AG8AcgA6ADoAUABhAGMAawBhAGcAZQAgAFAAYQB0AGgAcwD//v8A//7/JlAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZgBsAGEAcwBoAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAHMAdwBmAP/+/ydQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAaQBmAEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBNAGEAYwD//v8BMAD//v8iUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAGkAdABoAGUAcgBPAHAAdABpAG8AbgD//v8A//7/IVAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBlAHgAcABvAHIAdABTAE0ASQBMAP/+/wExAP/+/yBQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcwBwAGUAZQBkADMAOAA0AEsA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBlAHgAcABvAHIAdABBAHUAZABpAG8A//7/ATEA//7/FlYAZQBjAHQAbwByADoAOgBBAFMAMwBFAHgAcABvAHIAdABGAHIAYQBtAGUA//7/ATEA//7/F1YAZQBjAHQAbwByADoAOgBJAG4AdgBpAHMAaQBiAGwAZQAgAEwAYQB5AGUAcgD//v8BMAD//v8eUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFEAdQBhAGwAaQB0AHkA//7/ATQA//7/KFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBWAGUAcgB0AGkAYwBhAGwAQQBsAGkAZwBuAG0AZQBuAHQA//7/ATEA//7/JFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcABuAGcARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AcABuAGcA//7/HVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAaAB0AG0AbAD//v8BMAD//v8iUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBGAGkAbAB0AGUAcgBPAHAAdABpAG8AbgD//v8A//7/J1AAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBtAGUAZABpAGEARABlAHMAYwByAGkAcAB0AGkAbwBuAP/+/wD//v8XVgBlAGMAdABvAHIAOgA6AE8AdgBlAHIAcgBpAGQAZQAgAFMAbwB1AG4AZABzAP/+/wEwAP/+/yFQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABlAHYAaQBjAGUARgBvAG4AdAD//v8BMAD//v8tUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBnAGUAbgBlAHIAYQB0AG8AcgBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEYAbABhAHQAdABlAG4A//7/ATEA//7/HlAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQgBpAHQARABlAHAAdABoAP/+/xEyADQALQBiAGkAdAAgAHcAaQB0AGgAIABBAGwAcABoAGEA//7/HFAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUwBtAG8AbwB0AGgA//7/ATEA//7/IlAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABpAHQAaABlAHIAUwBvAGwAaQBkAHMA//7/ATAA//7/H1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASQBuAHQAZQByAGwAYQBjAGUA//7/ATAA//7/GlAAdQBiAGwAaQBzAGgASgBwAGUAZwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAFAASQD//v8HNAA3ADEAOAA1ADkAMgD//v8PVgBlAGMAdABvAHIAOgA6AFEAdQBhAGwAaQB0AHkA//7/AjgAMAD//v8PVgBlAGMAdABvAHIAOgA6AFAAcgBvAHQAZQBjAHQA//7/ATAA//7/IlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBEAGkAcwBwAGwAYQB5AE0AZQBuAHUA//7/ATEA//7/KlAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBIAG8AcgBpAHoAbwBuAHQAYQBsAEEAbABpAGcAbgBtAGUAbgB0AP/+/wExAP/+/zJQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVgBlAHIAcwBpAG8AbgBEAGUAdABlAGMAdABpAG8AbgBJAGYAQQB2AGEAaQBsAGEAYgBsAGUA//7/ATAA//7/EFYAZQBjAHQAbwByADoAOgBUAGUAbQBwAGwAYQB0AGUA//7/ATAA//7/KlAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZwBlAG4AZQByAGEAdABvAHIARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AcwB3AHQA//7/KFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcgBuAHcAawBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/KFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAagBwAGUAZwBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZwBpAGYA//7/ATAA//7/GlAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATABvAG8AcAD//v8BMQD//v8bUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBXAGkAZAB0AGgA//7/AzUANQAwAP/+/yRQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAbQBlAGQAaQBhAEsAZQB5AHcAbwByAGQAcwD//v8A//7/IVAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBtAGUAZABpAGEAVABpAHQAbABlAP/+/wD//v8fUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHMAcABlAGUAZAAyADgASwD//v8BMQD//v8jUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBxAHQARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AbQBvAHYA//7/IlAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoARABpAHQAaABlAHIATwBwAHQAaQBvAG4A//7/AP/+/yNQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAYQBsAGUAdAB0AGUATwBwAHQAaQBvAG4A//7/AP/+/yNQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE0AYQB0AGMAaABNAG8AdgBpAGUARABpAG0A//7/ATEA//7/JFAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQARAB1AGEAbABJAFMARABOAP/+/wEwAP/+/yRQAHUAYgBsAGkAcwBoAFIATgBXAEsAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcgBlAGEAbABWAGkAZABlAG8AUgBhAHQAZQD//v8GMQAwADAAMAAwADAA//7/HlAAdQBiAGwAaQBzAGgASgBwAGUAZwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBRAHUAYQBsAGkAdAB5AP/+/wI4ADAA//7/ElYAZQBjAHQAbwByADoAOgBJAG4AYwBsAHUAZABlAFgATQBQAP/+/wEwAP/+/x5QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGYAbABhAHMAaAD//v8BMQD//v8jUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBQAGEAbABlAHQAdABlAE8AcAB0AGkAbwBuAP/+/wD//v8jUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAdABjAGgATQBvAHYAaQBlAEQAaQBtAP/+/wExAP/+/yRQAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoATQBhAHQAYwBoAE0AbwB2AGkAZQBEAGkAbQD//v8BMQD//v8cVgBlAGMAdABvAHIAOgA6AFAAYQBjAGsAYQBnAGUAIABFAHgAcABvAHIAdAAgAEYAcgBhAG0AZQD//v8BMQD//v8hUAB1AGIAbABpAHMAaABQAHIAbwBmAGkAbABlAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHYAZQByAHMAaQBvAG4A//7/ATEA//7/HFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBBAGwAaQBnAG4A//7/ATAA//7/LVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcAByAG8AagBlAGMAdABvAHIAVwBpAG4ARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AZQB4AGUA//7/J1AAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcABuAGcARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/zBQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAcgBvAGoAZQBjAHQAbwByAE0AYQBjAEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8jUAB1AGIAbABpAHMAaABRAFQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUABsAGEAeQBFAHYAZQByAHkARgByAGEAbQBlAP/+/wEwAP/+/yJQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEQAaQB0AGgAZQByAFMAbwBsAGkAZABzAP/+/wEwAP/+/yJQAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUAByAG8AZwByAGUAcwBzAGkAdgBlAP/+/wEwAP/+/xJWAGUAYwB0AG8AcgA6ADoARQB4AHAAbwByAHQAIABTAHcAYwD//v8BMAD//v8aVgBlAGMAdABvAHIAOgA6AEQAZQBiAHUAZwBnAGkAbgBnACAAUABhAHMAcwB3AG8AcgBkAP/+/wD//v8aVgBlAGMAdABvAHIAOgA6AE8AbQBpAHQAIABUAHIAYQBjAGUAIABBAGMAdABpAG8AbgBzAP/+/wEwAP/+/x1QAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASABlAGkAZwBoAHQA//7/AzQAMAAwAP/+/xxQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVwBpAGQAdABoAP/+/wM1ADUAMAD//v8lUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBqAHAAZQBnAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAGoAcABnAP/+/ylQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGYAbABhAHMAaABEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/H1AAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASQBuAHQAZQByAGwAYQBjAGUA//7/ATAA//7/HFAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASABlAGkAZwBoAHQA//7/AzQAMAAwAP/+/xtQAHUAYgBsAGkAcwBoAEoAcABlAGcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUwBpAHoAZQD//v8BMAD//v8XVgBlAGMAdABvAHIAOgA6AFUAcwBlAEEAUwAzAE4AYQBtAGUAcwBwAGEAYwBlAP/+/wExAP/+/xZWAGUAYwB0AG8AcgA6ADoAQQBTADMAQQB1AHQAbwBEAGUAYwBsAGEAcgBlAP/+/wExAP/+/xBWAGUAYwB0AG8AcgA6ADoAQQBTADMAQwBvAGEAYwBoAP/+/wExAP/+/xNWAGUAYwB0AG8AcgA6ADoARABlAHYAaQBjAGUAUwBvAHUAbgBkAP/+/wEwAP/+/ydQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVABlAG0AcABsAGEAdABlAEYAaQBsAGUATgBhAG0AZQD//v9xRgA6AFwARABvAGMAdQBtAGUAbgB0AHMAIABhAG4AZAAgAFMAZQB0AHQAaQBuAGcAcwBcAE0AYQByAGsAXABMAG8AYwBhAGwAIABTAGUAdAB0AGkAbgBnAHMAXABBAHAAcABsAGkAYwBhAHQAaQBvAG4AIABEAGEAdABhAFwAQQBkAG8AYgBlAFwARgBsAGEAcwBoACAAQwBTADQAXABlAG4AXABDAG8AbgBmAGkAZwB1AHIAYQB0AGkAbwBuAFwASABUAE0ATABcAEQAZQBmAGEAdQBsAHQALgBoAHQAbQBsAP/+/yFQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVwBpAG4AZABvAHcATQBvAGQAZQD//v8BMAD//v8yUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFUAcwBpAG4AZwBEAGUAZgBhAHUAbAB0AEMAbwBuAHQAZQBuAHQARgBpAGwAZQBuAGEAbQBlAP/+/wExAP/+/y1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAcgBvAGoAZQBjAHQAbwByAE0AYQBjAEYAaQBsAGUATgBhAG0AZQD//v8LSgBwAGwAYQB5AGUAcgAuAGEAcABwAP/+/yhQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGgAdABtAGwARABlAGYAYQB1AGwAdABOAGEAbQBlAP/+/wExAP/+/x1QAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHIAbgB3AGsA//7/ATAA//7/HFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcABuAGcA//7/ATAA//7/G1AAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8lUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBSAGUAbQBvAHYAZQBHAHIAYQBkAGkAZQBuAHQAcwD//v8BMAD//v8fUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAeABDAG8AbABvAHIAcwD//v8DMgA1ADUA//7/J1AAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVAByAGEAbgBzAHAAYQByAGUAbgB0AE8AcAB0AGkAbwBuAP/+/wD//v8fUAB1AGIAbABpAHMAaABHAGkAZgBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBMAG8AbwBwAEMAbwB1AG4AdAD//v8A//7/H1AAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQANQA2AEsA//7/ATEA//7/DlYAZQBjAHQAbwByADoAOgBSAGUAcABvAHIAdAD//v8BMAD//v8rUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE8AdwBuAEEAbAB0AGUAcgBuAGEAdABlAEYAaQBsAGUAbgBhAG0AZQD//v8A//7/KFAAdQBiAGwAaQBzAGgASAB0AG0AbABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBBAGwAdABlAHIAbgBhAHQAZQBGAGkAbABlAG4AYQBtAGUA//7/AP/+/yZQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQwBvAG4AdABlAG4AdABGAGkAbABlAG4AYQBtAGUA//7/AP/+/yJQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGcAZQBuAGUAcgBhAHQAbwByAP/+/wEwAP/+/yRQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AE8AcAB0AGkAbQBpAHoAZQBDAG8AbABvAHIAcwD//v8BMQD//v8iUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGEAdQBkAGkAbwBGAG8AcgBtAGEAdAD//v8BMAD//v8cVgBlAGMAdABvAHIAOgA6AEgAYQByAGQAdwBhAHIAZQBBAGMAYwBlAGwAZQByAGEAdABpAG8AbgD//v8BMAD//v8RVgBlAGMAdABvAHIAOgA6AEEAUwAzAFMAdAByAGkAYwB0AP/+/wExAP/+/yJWAGUAYwB0AG8AcgA6ADoAQQBTADMAIABFAHgAdABlAHIAbgBhAGwAIABMAGkAYgByAGEAcgB5ACAAUABhAHQAaABzAP/+/wEuAP/+/w9WAGUAYwB0AG8AcgA6ADoAVgBlAHIAcwBpAG8AbgD//v8CMQAwAP/+/xRWAGUAYwB0AG8AcgA6ADoARQB2AGUAbgB0ACAARgBvAHIAbQBhAHQA//7/ATAA//7/F1YAZQBjAHQAbwByADoAOgBTAHQAcgBlAGEAbQAgAEMAbwBtAHAAcgBlAHMAcwD//v8BNwD//v8bUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBxAHQA//7/ATAA//7/HFAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoASABlAGkAZwBoAHQA//7/AzQAMAAwAP/+/xtQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBkAHQAaAD//v8DNQA1ADAA//7/JVAAdQBiAGwAaQBzAGgARwBpAGYAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUgBlAG0AbwB2AGUARwByAGEAZABpAGUAbgB0AHMA//7/ATAA//7/IFAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQANQAxADIASwD//v8BMAD//v8dUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEgAZQBpAGcAaAB0AP/+/wM0ADAAMAD//v8cVgBlAGMAdABvAHIAOgA6AEUAdgBlAG4AdABVAHMAZQA4AGsAUwBhAG0AcABsAGUAUgBhAHQAZQD//v8BMAD//v8dVgBlAGMAdABvAHIAOgA6AFMAdAByAGUAYQBtAFUAcwBlADgAawBTAGEAbQBwAGwAZQBSAGEAdABlAP/+/wEwAP/+/xtWAGUAYwB0AG8AcgA6ADoAQQBjAHQAaQBvAG4AUwBjAHIAaQBwAHQAVgBlAHIAcwBpAG8AbgD//v8BMwD//v8WVgBlAGMAdABvAHIAOgA6AEUAdgBlAG4AdAAgAEMAbwBtAHAAcgBlAHMAcwD//v8BNwD//v8cUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFMAYwBhAGwAZQD//v8BMAD//v8wUAB1AGIAbABpAHMAaABGAG8AcgBtAGEAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBwAHIAbwBqAGUAYwB0AG8AcgBXAGkAbgBEAGUAZgBhAHUAbAB0AE4AYQBtAGUA//7/ATEA//7/HFAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEwAbwBvAHAAaQBuAGcA//7/ATAA//7/KlAAdQBiAGwAaQBzAGgAUQBUAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFUAcwBlAFEAVABTAG8AdQBuAGQAQwBvAG0AcAByAGUAcwBzAGkAbwBuAP/+/wEwAP/+/yFQAHUAYgBsAGkAcwBoAFAATgBHAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFAAYQBsAGUAdAB0AGUATgBhAG0AZQD//v8A//7/IVAAdQBiAGwAaQBzAGgAUABOAEcAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVAByAGEAbgBzAHAAYQByAGUAbgB0AP/+/wEwAP/+/yZQAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFQAcgBhAG4AcwBwAGEAcgBlAG4AdABBAGwAcABoAGEA//7/AzEAMgA4AP/+/x5QAHUAYgBsAGkAcwBoAEcAaQBmAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AEEAbgBpAG0AYQB0AGUAZAD//v8BMAD//v8iUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AG0AZQBkAGkAYQBBAHUAdABoAG8AcgD//v8A//7/KFAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAHAAZQBlAGQAQwBvAHIAcABvAHIAYQB0AGUATABBAE4A//7/ATAA//7/JlAAdQBiAGwAaQBzAGgAUgBOAFcASwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBzAGgAbwB3AEIAaQB0AHIAYQB0AGUARABsAG8AZwD//v8BMQD//v8iUAB1AGIAbABpAHMAaABSAE4AVwBLAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGUAeABwAG8AcgB0AEYAbABhAHMAaAD//v8BMQD//v8cUAB1AGIAbABpAHMAaABKAHAAZQBnAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFcAaQBkAHQAaAD//v8DNQA1ADAA//7/FVYAZQBjAHQAbwByADoAOgBTAHQAcgBlAGEAbQAgAEYAbwByAG0AYQB0AP/+/wEwAP/+/xhWAGUAYwB0AG8AcgA6ADoARABlAGIAbABvAGMAawBpAG4AZwBGAGkAbAB0AGUAcgD//v8BMAD//v8iUAB1AGIAbABpAHMAaABIAHQAbQBsAFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AFYAZQByAHMAaQBvAG4ASQBuAGYAbwD//v8A//7/JFAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAZwBpAGYARgBpAGwAZQBOAGEAbQBlAP/+/wtKAHAAbABhAHkAZQByAC4AZwBpAGYA//7/JlAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcQB0AEQAZQBmAGEAdQBsAHQATgBhAG0AZQD//v8BMQD//v8iUAB1AGIAbABpAHMAaABRAFQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAUABhAHUAcwBlAGQAQQB0AFMAdABhAHIAdAD//v8BMAD//v8lUAB1AGIAbABpAHMAaABRAFQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAQwBvAG4AdAByAG8AbABsAGUAcgBPAHAAdABpAG8AbgD//v8BMAD//v8fUAB1AGIAbABpAHMAaABQAE4ARwBQAHIAbwBwAGUAcgB0AGkAZQBzADoAOgBNAGEAeABDAG8AbABvAHIAcwD//v8DMgA1ADUA//7/GFYAZQBjAHQAbwByADoAOgBBAFMAMwAgAEMAbwBuAGYAaQBnACAAQwBvAG4AcwB0AP/+/x9DAE8ATgBGAEkARwA6ADoARgBMAEEAUwBIAF8AQQBVAFQASABPAFIASQBOAEcAPQAiAHQAcgB1AGUAIgA7AP/+/yxQAHUAYgBsAGkAcwBoAEgAdABtAGwAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAVQBzAGkAbgBnAE8AdwBuAEEAbAB0AGUAcgBuAGEAdABlAEYAaQBsAGUA//7/ATAA//7/JVAAdQBiAGwAaQBzAGgARgBvAHIAbQBhAHQAUAByAG8AcABlAHIAdABpAGUAcwA6ADoAcgBuAHcAawBGAGkAbABlAE4AYQBtAGUA//7/DEoAcABsAGEAeQBlAHIALgBzAG0AaQBsAP/+/yVQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AHAAcgBvAGoAZQBjAHQAbwByAFcAaQBuAP/+/wEwAP/+/yVQAHUAYgBsAGkAcwBoAEYAbwByAG0AYQB0AFAAcgBvAHAAZQByAHQAaQBlAHMAOgA6AGQAZQBmAGEAdQBsAHQATgBhAG0AZQBzAP/+/wExAP///////v8A//7/AAEAAAAAAPwA//8AAAkAQ0NvbG9yRGVmBAAAAP8AAAAAAAAAAAOABAAAAP8AAAAAAAAAAAOABAAAAP8AAAAAAAAAAAOABAAAAP8AAAAAAAAAAAOABAAzAP8AAFAA7wAYAAOABABmAP8AAFAA7wAwAAOABACZAP8AAFAA7wBIAAOABADMAP8AAFAA7wBgAAOABAD/AP8AAFAA7wB4AAOABDMAAP8AAAAA7wAYAAOABDMzAP8AACgA7wAYAAOABDNmAP8AADwA7wAwAAOABDOZAP8AAEMA7wBIAAOABDPMAP8AAEYA7wBgAAOABDP/AP8AAEgA7wB4AAOABGYAAP8AAAAA7wAwAAOABGYzAP8AABQA7wAwAAOABGZmAP8AACgA7wAwAAOABGaZAP8AADUA7wBIAAOABGbMAP8AADwA7wBgAAOABGb/AP8AAEAA7wB4AAOABAAAAP8AAAAAAAAAAAOABDMzM/8AAAAAAAAwAAOABAAAAP8AAAAAAAAAAAOABAAAM/8AAKAA7wAYAAOABAAzM/8AAHgA7wAYAAOABABmM/8AAGQA7wAwAAOABACZM/8AAF0A7wBIAAOABADMM/8AAFoA7wBgAAOABAD/M/8AAFgA7wB4AAOABDMAM/8AAMgA7wAYAAOABDMzM/8AAAAAAAAwAAOABDNmM/8AAFAAUABIAAOABDOZM/8AAFAAeABgAAOABDPMM/8AAFAAkAB4AAOABDP/M/8AAFAA7wCQAAOABGYAM/8AANwA7wAwAAOABGYzM/8AAAAAUABIAAOABGZmM/8AACgAUABIAAOABGaZM/8AADwAeABgAAOABGbMM/8AAEMAkAB4AAOABGb/M/8AAEYA7wCQAAOABAAAAP8AAAAAAAAAAAOABGZmZv8AAAAAAABgAAOABAAAAP8AAAAAAAAAAAOABAAAZv8AAKAA7wAwAAOABAAzZv8AAIwA7wAwAAOABABmZv8AAHgA7wAwAAOABACZZv8AAGsA7wBIAAOABADMZv8AAGQA7wBgAAOABAD/Zv8AAGAA7wB4AAOABDMAZv8AALQA7wAwAAOABDMzZv8AAKAAUABIAAOABDNmZv8AAHgAUABIAAOABDOZZv8AAGQAeABgAAOABDPMZv8AAF0AkAB4AAOABDP/Zv8AAFoA7wCQAAOABGYAZv8AAMgA7wAwAAOABGYzZv8AAMgAUABIAAOABGZmZv8AAAAAAABgAAOABGaZZv8AAFAAMAB4AAOABGbMZv8AAFAAeACQAAOABGb/Zv8AAFAA7wCoAAOABAAAAP8AAAAAAAAAAAOABJmZmf8AAAAAAACQAAOABAAAAP8AAAAAAAAAAAOABAAAmf8AAKAA7wBIAAOABAAzmf8AAJMA7wBIAAOABABmmf8AAIUA7wBIAAOABACZmf8AAHgA7wBIAAOABADMmf8AAG4A7wBgAAOABAD/mf8AAGgA7wB4AAOABDMAmf8AAK0A7wBIAAOABDMzmf8AAKAAeABgAAOABDNmmf8AAIwAeABgAAOABDOZmf8AAHgAeABgAAOABDPMmf8AAGsAkAB4AAOABDP/mf8AAGQA7wCQAAOABGYAmf8AALsA7wBIAAOABGYzmf8AALQAeABgAAOABGZmmf8AAKAAMAB4AAOABGaZmf8AAHgAMAB4AAOABGbMmf8AAGQAeACQAAOABGb/mf8AAF0A7wCoAAOABAAAAP8AAAAAAAAAAAOABMzMzP8AAAAAAADAAAOABAAAAP8AAAAAAAAAAAOABAAAzP8AAKAA7wBgAAOABAAzzP8AAJYA7wBgAAOABABmzP8AAIwA7wBgAAOABACZzP8AAIIA7wBgAAOABADMzP8AAHgA7wBgAAOABAD/zP8AAHAA7wB4AAOABDMAzP8AAKoA7wBgAAOABDMzzP8AAKAAkAB4AAOABDNmzP8AAJMAkAB4AAOABDOZzP8AAIUAkAB4AAOABDPMzP8AAHgAkAB4AAOABDP/zP8AAG4A7wCQAAOABGYAzP8AALQA7wBgAAOABGYzzP8AAK0AkAB4AAOABGZmzP8AAKAAeACQAAOABGaZzP8AAIwAeACQAAOABGbMzP8AAHgAeACQAAOABGb/zP8AAGsA7wCoAAOABAAAAP8AAAAAAAAAAAOABP////8AAAAAAADwAAOABAAAAP8AAAAAAAAAAAOABAAA//8AAKAA7wB4AAOABAAz//8AAJgA7wB4AAOABABm//8AAJAA7wB4AAOABACZ//8AAIgA7wB4AAOABADM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AGEAdABvAHIAVABvAG8AbAA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcAA6AEMAcgBlAGEAdABlAEQAYQB0AGUAPgAyADAAMQAwAC0AMAA3AC0AMwAwAFQAMAA1ADoANAAzADoAMgAwACsAMAAxADoAMAAwADwALwB4AG0AcAA6AEMAcgBlAGEAdABlAEQAYQB0AGUAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAAOgBNAGUAdABhAGQAYQB0AGEARABhAHQAZQA+ADIAMAAxADAALQAwADcALQAzADEAVAAxADAAOgAwADUAOgAzADcAKwAwADEAOgAwADAAPAAvAHgAbQBwADoATQBlAHQAYQBkAGEAdABhAEQAYQB0AGUAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAAOgBNAG8AZABpAGYAeQBEAGEAdABlAD4AMgAwADEAMAAtADAANwAtADMAMQBUADEAMAA6ADAANQA6ADMANwArADAAMQA6ADAAMAA8AC8AeABtAHAAOgBNAG8AZABpAGYAeQBEAGEAdABlAD4ACgAgACAAIAAgACAAIAA8AC8AcgBkAGYAOgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4APgAKACAAIAAgACAAIAAgADwAcgBkAGYAOgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AIAByAGQAZgA6AGEAYgBvAHUAdAA9ACIAIgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHgAbQBsAG4AcwA6AGQAYwA9ACIAaAB0AHQAcAA6AC8ALwBwAHUAcgBsAC4AbwByAGcALwBkAGMALwBlAGwAZQBtAGUAbgB0AHMALwAxAC4AMQAvACIAPgAKACAAIAAgACAAIAAgACAAIAAgADwAZABjADoAZgBvAHIAbQBhAHQAPgBhAHAAcABsAGkAYwBhAHQAaQBvAG4ALwB2AG4AZAAuAGEAZABvAGIAZQAuAGYAbABhADwALwBkAGMAOgBmAG8AcgBtAGEAdAA+AAoAIAAgACAAIAAgACAAPAAvAHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuAD4ACgAgACAAIAAgACAAIAA8AHIAZABmADoARABlAHMAYwByAGkAcAB0AGkAbwBuACAAcgBkAGYAOgBhAGIAbwB1AHQAPQAiACIACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB4AG0AbABuAHMAOgB4AG0AcABNAE0APQAiAGgAdAB0AHAAOgAvAC8AbgBzAC4AYQBkAG8AYgBlAC4AYwBvAG0ALwB4AGEAcAAvADEALgAwAC8AbQBtAC8AIgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHgAbQBsAG4AcwA6AHMAdABFAHYAdAA9ACIAaAB0AHQAcAA6AC8ALwBuAHMALgBhAGQAbwBiAGUALgBjAG8AbQAvAHgAYQBwAC8AMQAuADAALwBzAFQAeQBwAGUALwBSAGUAcwBvAHUAcgBjAGUARQB2AGUAbgB0ACMAIgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHgAbQBsAG4AcwA6AHMAdABSAGUAZgA9ACIAaAB0AHQAcAA6AC8ALwBuAHMALgBhAGQAbwBiAGUALgBjAG8AbQAvAHgAYQBwAC8AMQAuADAALwBzAFQAeQBwAGUALwBSAGUAcwBvAHUAcgBjAGUAUgBlAGYAIwAiAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwAE0ATQA6AEkAbgBzAHQAYQBuAGMAZQBJAEQAPgB4AG0AcAAuAGkAaQBkADoANgA3AEEARgBFADkAQwA4ADgAMgA5AEMARABGADEAMQA4ADkANAAyAEQAMwBCADQAMQBCAEEANQBDADcANQBEADwALwB4AG0AcABNAE0AOgBJAG4AcwB0AGEAbgBjAGUASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwAE0ATQA6AEQAbwBjAHUAbQBlAG4AdABJAEQAPgB4AG0AcAAuAGQAaQBkADoANgA3AEEARgBFADkAQwA4ADgAMgA5AEMARABGADEAMQA4ADkANAAyAEQAMwBCADQAMQBCAEEANQBDADcANQBEADwALwB4AG0AcABNAE0AOgBEAG8AYwB1AG0AZQBuAHQASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AHgAbQBwAE0ATQA6AE8AcgBpAGcAaQBuAGEAbABEAG8AYwB1AG0AZQBuAHQASQBEAD4AeABtAHAALgBkAGkAZAA6ADUANwAyADUARQAzADIAMAA5ADUAOQBCAEQARgAxADEAOABFADkAQgBFAEUARgAwADMAMAAxADAANQBCAEEAOQA8AC8AeABtAHAATQBNADoATwByAGkAZwBpAG4AYQBsAEQAbwBjAHUAbQBlAG4AdABJAEQAPgAKACAAIAAgACAAIAAgACAAIAAgADwAeABtAHAATQBNADoASABpAHMAdABvAHIAeQA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAByAGQAZgA6AFMAZQBxAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHIAZABmADoAbABpACAAcgBkAGYAOgBwAGEAcgBzAGUAVAB5AHAAZQA9ACIAUgBlAHMAbwB1AHIAYwBlACIAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAYQBjAHQAaQBvAG4APgBjAHIAZQBhAHQAZQBkADwALwBzAHQARQB2AHQAOgBhAGMAdABpAG8AbgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBpAG4AcwB0AGEAbgBjAGUASQBEAD4AeABtAHAALgBpAGkAZAA6ADUANwAyADUARQAzADIAMAA5ADUAOQBCAEQARgAxADEAOABFADkAQgBFAEUARgAwADMAMAAxADAANQBCAEEAOQA8AC8AcwB0AEUAdgB0ADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgB3AGgAZQBuAD4AMgAwADEAMAAtADAANwAtADMAMABUADAANQA6ADQANAA6ADIANAArADAAMQA6ADAAMAA8AC8AcwB0AEUAdgB0ADoAdwBoAGUAbgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQARQB2AHQAOgBzAG8AZgB0AHcAYQByAGUAQQBnAGUAbgB0AD4AQQBkAG8AYgBlACAARgBsAGEAcwBoACAAQwBTADQAIABQAHIAbwBmAGUAcwBzAGkAbwBuAGEAbAA8AC8AcwB0AEUAdgB0ADoAcwBvAGYAdAB3AGEAcgBlAEEAZwBlAG4AdAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPAAvAHIAZABmADoAbABpAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHIAZABmADoAbABpACAAcgBkAGYAOgBwAGEAcgBzAGUAVAB5AHAAZQA9ACIAUgBlAHMAbwB1AHIAYwBlACIAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwAcwB0AEUAdgB0ADoAYQBjAHQAaQBvAG4APgBzAGEAdgBlAGQAPAAvAHMAdABFAHYAdAA6AGEAYwB0AGkAbwBuAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AGkAbgBzAHQAYQBuAGMAZQBJAEQAPgB4AG0AcAAuAGkAaQBkADoANgA3AEEARgBFADkAQwA4ADgAMgA5AEMARABGADEAMQA4ADkANAAyAEQAMwBCADQAMQBCAEEANQBDADcANQBEADwALwBzAHQARQB2AHQAOgBpAG4AcwB0AGEAbgBjAGUASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AHcAaABlAG4APgAyADAAMQAwAC0AMAA3AC0AMwAxAFQAMQAwADoAMAA1ADoAMwA3ACsAMAAxADoAMAAwADwALwBzAHQARQB2AHQAOgB3AGgAZQBuAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AHMAbwBmAHQAdwBhAHIAZQBBAGcAZQBuAHQAPgBBAGQAbwBiAGUAIABGAGwAYQBzAGgAIABDAFMANAAgAFAAcgBvAGYAZQBzAHMAaQBvAG4AYQBsADwALwBzAHQARQB2AHQAOgBzAG8AZgB0AHcAYQByAGUAQQBnAGUAbgB0AD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AHMAdABFAHYAdAA6AGMAaABhAG4AZwBlAGQAPgAvADwALwBzAHQARQB2AHQAOgBjAGgAYQBuAGcAZQBkAD4ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA8AC8AcgBkAGYAOgBsAGkAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgADwALwByAGQAZgA6AFMAZQBxAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AC8AeABtAHAATQBNADoASABpAHMAdABvAHIAeQA+AAoAIAAgACAAIAAgACAAIAAgACAAPAB4AG0AcABNAE0AOgBEAGUAcgBpAHYAZQBkAEYAcgBvAG0AIAByAGQAZgA6AHAAYQByAHMAZQBUAHkAcABlAD0AIgBSAGUAcwBvAHUAcgBjAGUAIgA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQAUgBlAGYAOgBpAG4AcwB0AGEAbgBjAGUASQBEAD4AeABtAHAALgBpAGkAZAA6ADUANwAyADUARQAzADIAMAA5ADUAOQBCAEQARgAxADEAOABFADkAQgBFAEUARgAwADMAMAAxADAANQBCAEEAOQA8AC8AcwB0AFIAZQBmADoAaQBuAHMAdABhAG4AYwBlAEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQAUgBlAGYAOgBkAG8AYwB1AG0AZQBuAHQASQBEAD4AeABtAHAALgBkAGkAZAA6ADUANwAyADUARQAzADIAMAA5ADUAOQBCAEQARgAxADEAOABFADkAQgBFAEUARgAwADMAMAAxADAANQBCAEEAOQA8AC8AcwB0AFIAZQBmADoAZABvAGMAdQBtAGUAbgB0AEkARAA+AAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPABzAHQAUgBlAGYAOgBvAHIAaQBnAGkAbgBhAGwARABvAGMAdQBtAGUAbgB0AEkARAA+AHgAbQBwAC4AZABpAGQAOgA1ADcAMgA1AEUAMwAyADAAOQA1ADkAQgBEAEYAMQAxADgARQA5AEIARQBFAEYAMAAzADAAMQAwADUAQgBBADkAPAAvAHMAdABSAGUAZgA6AG8AcgBpAGcAaQBuAGEAbABEAG8AYwB1AG0AZQBuAHQASQBEAD4ACgAgACAAIAAgACAAIAAgACAAIAA8AC8AeABtAHAATQBNADoARABlAHIAaQB2AGUAZABGAHIAbwBtAD4ACgAgACAAIAAgACAAIAA8AC8AcgBkAGYAOgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4APgAKACAAIAAgADwALwByAGQAZgA6AFIARABGAD4ACgA8AC8AeAA6AHgAbQBwAG0AZQB0AGEAPgAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAACgA8AD8AeABwAGEAYwBrAGUAdAAgAGUAbgBkAD0AIgB3ACIAPwA+AP/+/wAAAAAAAAAAAP////9HAQAAAAAAAAAKAAAANgIAAEMAU2F2ZWQgYnkgQWRvYmUgRmxhc2ggV2luZG93cyAxMC4wIGJ1aWxkIDU2NiB0aW1lY291bnQgPSAxMzAyNjg2MTk1AAAAAAAAgEtAfBUAAKAPAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/jplayer.playlist.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogUGxheWxpc3QgT2JqZWN0IGZvciB0aGUgalBsYXllciBQbHVnaW4KICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE0IEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKgogKiBBdXRob3I6IE1hcmsgSiBQYW5hZ2hpc3RvbgogKiBWZXJzaW9uOiAyLjQuMQogKiBEYXRlOiAxOXRoIE5vdmVtYmVyIDIwMTQKICoKICogUmVxdWlyZXM6CiAqICAtIGpRdWVyeSAxLjcuMCsKICogIC0galBsYXllciAyLjguMisKICovCgovKmdsb2JhbCBqUGxheWVyUGxheWxpc3Q6dHJ1ZSAqLwoKKGZ1bmN0aW9uKCQsIHVuZGVmaW5lZCkgewoKCWpQbGF5ZXJQbGF5bGlzdCA9IGZ1bmN0aW9uKGNzc1NlbGVjdG9yLCBwbGF5bGlzdCwgb3B0aW9ucykgewoJCXZhciBzZWxmID0gdGhpczsKCgkJdGhpcy5jdXJyZW50ID0gMDsKCQl0aGlzLmxvb3AgPSBmYWxzZTsgLy8gRmxhZyB1c2VkIHdpdGggdGhlIGpQbGF5ZXIgcmVwZWF0IGV2ZW50CgkJdGhpcy5zaHVmZmxlZCA9IGZhbHNlOwoJCXRoaXMucmVtb3ZpbmcgPSBmYWxzZTsgLy8gRmxhZyBpcyB0cnVlIGR1cmluZyByZW1vdmUgYW5pbWF0aW9uLCBkaXNhYmxpbmcgdGhlIHJlbW92ZSgpIG1ldGhvZCB1bnRpbCBjb21wbGV0ZS4KCgkJdGhpcy5jc3NTZWxlY3RvciA9ICQuZXh0ZW5kKHt9LCB0aGlzLl9jc3NTZWxlY3RvciwgY3NzU2VsZWN0b3IpOyAvLyBPYmplY3Q6IENvbnRhaW5pbmcgdGhlIGNzcyBzZWxlY3RvcnMgZm9yIGpQbGF5ZXIgYW5kIGl0cyBjc3NTZWxlY3RvckFuY2VzdG9yCgkJdGhpcy5vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwgewoJCQlrZXlCaW5kaW5nczogewoJCQkJbmV4dDogewoJCQkJCWtleTogMjIxLCAvLyBdCgkJCQkJZm46IGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLm5leHQoKTsKCQkJCQl9CgkJCQl9LAoJCQkJcHJldmlvdXM6IHsKCQkJCQlrZXk6IDIxOSwgLy8gWwoJCQkJCWZuOiBmdW5jdGlvbigpIHsKCQkJCQkJc2VsZi5wcmV2aW91cygpOwoJCQkJCX0KCQkJCX0sCgkJCQlzaHVmZmxlOiB7CgkJCQkJa2V5OiA4MywgLy8gcwoJCQkJCWZuOiBmdW5jdGlvbigpIHsKCQkJCQkJc2VsZi5zaHVmZmxlKCk7CgkJCQkJfQoJCQkJfQoJCQl9LAoJCQlzdGF0ZUNsYXNzOiB7CgkJCQlzaHVmZmxlZDogImpwLXN0YXRlLXNodWZmbGVkIgoJCQl9CgkJfSwgdGhpcy5fb3B0aW9ucywgb3B0aW9ucyk7IC8vIE9iamVjdDogVGhlIGpQbGF5ZXIgY29uc3RydWN0b3Igb3B0aW9ucyBmb3IgdGhpcyBwbGF5bGlzdCBhbmQgdGhlIHBsYXlsaXN0IG9wdGlvbnMKCgkJdGhpcy5wbGF5bGlzdCA9IFtdOyAvLyBBcnJheSBvZiBPYmplY3RzOiBUaGUgY3VycmVudCBwbGF5bGlzdCBkaXNwbGF5ZWQgKFVuLXNodWZmbGVkIG9yIFNodWZmbGVkKQoJCXRoaXMub3JpZ2luYWwgPSBbXTsgLy8gQXJyYXkgb2YgT2JqZWN0czogVGhlIG9yaWdpbmFsIHBsYXlsaXN0CgoJCXRoaXMuX2luaXRQbGF5bGlzdChwbGF5bGlzdCk7IC8vIENvcGllcyBwbGF5bGlzdCB0byB0aGlzLm9yaWdpbmFsLiBUaGVuIG1pcnJvcnMgdGhpcy5vcmlnaW5hbCB0byB0aGlzLnBsYXlsaXN0LiBDcmVhdGluZyB0d28gYXJyYXlzLCB3aGVyZSB0aGUgZWxlbWVudCBwb2ludGVycyBtYXRjaC4gKEVuYWJsZXMgcG9pbnRlciBjb21wYXJpc29uLikKCgkJLy8gU2V0dXAgdGhlIGNzcyBzZWxlY3RvcnMgZm9yIHRoZSBleHRyYSBpbnRlcmZhY2UgaXRlbXMgdXNlZCBieSB0aGUgcGxheWxpc3QuCgkJdGhpcy5jc3NTZWxlY3Rvci5kZXRhaWxzID0gdGhpcy5jc3NTZWxlY3Rvci5jc3NTZWxlY3RvckFuY2VzdG9yICsgIiAuanAtZGV0YWlscyI7IC8vIE5vdGUgdGhhdCBqUGxheWVyIGNvbnRyb2xzIHRoZSB0ZXh0IGluIHRoZSB0aXRsZSBlbGVtZW50LgoJCXRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgPSB0aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IgKyAiIC5qcC1wbGF5bGlzdCI7CgkJdGhpcy5jc3NTZWxlY3Rvci5uZXh0ID0gdGhpcy5jc3NTZWxlY3Rvci5jc3NTZWxlY3RvckFuY2VzdG9yICsgIiAuanAtbmV4dCI7CgkJdGhpcy5jc3NTZWxlY3Rvci5wcmV2aW91cyA9IHRoaXMuY3NzU2VsZWN0b3IuY3NzU2VsZWN0b3JBbmNlc3RvciArICIgLmpwLXByZXZpb3VzIjsKCQl0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGUgPSB0aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IgKyAiIC5qcC1zaHVmZmxlIjsKCQl0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGVPZmYgPSB0aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IgKyAiIC5qcC1zaHVmZmxlLW9mZiI7CgoJCS8vIE92ZXJyaWRlIHRoZSBjc3NTZWxlY3RvckFuY2VzdG9yIGdpdmVuIGluIG9wdGlvbnMKCQl0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3RvciA9IHRoaXMuY3NzU2VsZWN0b3IuY3NzU2VsZWN0b3JBbmNlc3RvcjsKCgkJLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHQgcmVwZWF0IGV2ZW50IGhhbmRsZXIKCQl0aGlzLm9wdGlvbnMucmVwZWF0ID0gZnVuY3Rpb24oZXZlbnQpIHsKCQkJc2VsZi5sb29wID0gZXZlbnQualBsYXllci5vcHRpb25zLmxvb3A7CgkJfTsKCgkJLy8gQ3JlYXRlIGEgcmVhZHkgZXZlbnQgaGFuZGxlciB0byBpbml0aWFsaXplIHRoZSBwbGF5bGlzdAoJCSQodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5iaW5kKCQualBsYXllci5ldmVudC5yZWFkeSwgZnVuY3Rpb24oKSB7CgkJCXNlbGYuX2luaXQoKTsKCQl9KTsKCgkJLy8gQ3JlYXRlIGFuIGVuZGVkIGV2ZW50IGhhbmRsZXIgdG8gbW92ZSB0byB0aGUgbmV4dCBpdGVtCgkJJCh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmJpbmQoJC5qUGxheWVyLmV2ZW50LmVuZGVkLCBmdW5jdGlvbigpIHsKCQkJc2VsZi5uZXh0KCk7CgkJfSk7CgoJCS8vIENyZWF0ZSBhIHBsYXkgZXZlbnQgaGFuZGxlciB0byBwYXVzZSBvdGhlciBpbnN0YW5jZXMKCQkkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikuYmluZCgkLmpQbGF5ZXIuZXZlbnQucGxheSwgZnVuY3Rpb24oKSB7CgkJCSQodGhpcykualBsYXllcigicGF1c2VPdGhlcnMiKTsKCQl9KTsKCgkJLy8gQ3JlYXRlIGEgcmVzaXplIGV2ZW50IGhhbmRsZXIgdG8gc2hvdyB0aGUgdGl0bGUgaW4gZnVsbCBzY3JlZW4gbW9kZS4KCQkkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikuYmluZCgkLmpQbGF5ZXIuZXZlbnQucmVzaXplLCBmdW5jdGlvbihldmVudCkgewoJCQlpZihldmVudC5qUGxheWVyLm9wdGlvbnMuZnVsbFNjcmVlbikgewoJCQkJJChzZWxmLmNzc1NlbGVjdG9yLmRldGFpbHMpLnNob3coKTsKCQkJfSBlbHNlIHsKCQkJCSQoc2VsZi5jc3NTZWxlY3Rvci5kZXRhaWxzKS5oaWRlKCk7CgkJCX0KCQl9KTsKCgkJLy8gQ3JlYXRlIGNsaWNrIGhhbmRsZXJzIGZvciB0aGUgZXh0cmEgYnV0dG9ucyB0aGF0IGRvIHBsYXlsaXN0IGZ1bmN0aW9ucy4KCQkkKHRoaXMuY3NzU2VsZWN0b3IucHJldmlvdXMpLmNsaWNrKGZ1bmN0aW9uKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQlzZWxmLnByZXZpb3VzKCk7CgkJCXNlbGYuYmx1cih0aGlzKTsKCQl9KTsKCgkJJCh0aGlzLmNzc1NlbGVjdG9yLm5leHQpLmNsaWNrKGZ1bmN0aW9uKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQlzZWxmLm5leHQoKTsKCQkJc2VsZi5ibHVyKHRoaXMpOwoJCX0pOwoKCQkkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkuY2xpY2soZnVuY3Rpb24oZSkgewoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCWlmKHNlbGYuc2h1ZmZsZWQgJiYgJChzZWxmLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoIm9wdGlvbiIsICJ1c2VTdGF0ZUNsYXNzU2tpbiIpKSB7CgkJCQlzZWxmLnNodWZmbGUoZmFsc2UpOwoJCQl9IGVsc2UgewoJCQkJc2VsZi5zaHVmZmxlKHRydWUpOwoJCQl9CgkJCXNlbGYuYmx1cih0aGlzKTsKCQl9KTsKCQkkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZU9mZikuY2xpY2soZnVuY3Rpb24oZSkgewoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCXNlbGYuc2h1ZmZsZShmYWxzZSk7CgkJCXNlbGYuYmx1cih0aGlzKTsKCQl9KS5oaWRlKCk7CgoJCS8vIFB1dCB0aGUgdGl0bGUgaW4gaXRzIGluaXRpYWwgZGlzcGxheSBzdGF0ZQoJCWlmKCF0aGlzLm9wdGlvbnMuZnVsbFNjcmVlbikgewoJCQkkKHRoaXMuY3NzU2VsZWN0b3IuZGV0YWlscykuaGlkZSgpOwoJCX0KCgkJLy8gUmVtb3ZlIHRoZSBlbXB0eSA8bGk+IGZyb20gdGhlIHBhZ2UgSFRNTC4gQWxsb3dzIHBhZ2UgdG8gYmUgdmFsaWQgSFRNTCwgd2hpbGUgbm90IGludGVyZmVyZWluZyB3aXRoIGRpc3BsYXkgYW5pbWF0aW9ucwoJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCArICIgdWwiKS5lbXB0eSgpOwoKCQkvLyBDcmVhdGUgLm9uKCkgaGFuZGxlcnMgZm9yIHRoZSBwbGF5bGlzdCBpdGVtcyBhbG9uZyB3aXRoIHRoZSBmcmVlIG1lZGlhIGFuZCByZW1vdmUgY29udHJvbHMuCgkJdGhpcy5fY3JlYXRlSXRlbUhhbmRsZXJzKCk7CgoJCS8vIEluc3RhbmNlIGpQbGF5ZXIKCQkkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcih0aGlzLm9wdGlvbnMpOwoJfTsKCglqUGxheWVyUGxheWxpc3QucHJvdG90eXBlID0gewoJCV9jc3NTZWxlY3RvcjogeyAvLyBzdGF0aWMgb2JqZWN0LCBpbnN0YW5jZWQgaW4gY29uc3RydWN0b3IKCQkJalBsYXllcjogIiNqcXVlcnlfanBsYXllcl8xIiwKCQkJY3NzU2VsZWN0b3JBbmNlc3RvcjogIiNqcF9jb250YWluZXJfMSIKCQl9LAoJCV9vcHRpb25zOiB7IC8vIHN0YXRpYyBvYmplY3QsIGluc3RhbmNlZCBpbiBjb25zdHJ1Y3RvcgoJCQlwbGF5bGlzdE9wdGlvbnM6IHsKCQkJCWF1dG9QbGF5OiBmYWxzZSwKCQkJCWxvb3BPblByZXZpb3VzOiBmYWxzZSwKCQkJCXNodWZmbGVPbkxvb3A6IHRydWUsCgkJCQllbmFibGVSZW1vdmVDb250cm9sczogZmFsc2UsCgkJCQlkaXNwbGF5VGltZTogJ3Nsb3cnLAoJCQkJYWRkVGltZTogJ2Zhc3QnLAoJCQkJcmVtb3ZlVGltZTogJ2Zhc3QnLAoJCQkJc2h1ZmZsZVRpbWU6ICdzbG93JywKCQkJCWl0ZW1DbGFzczogImpwLXBsYXlsaXN0LWl0ZW0iLAoJCQkJZnJlZUdyb3VwQ2xhc3M6ICJqcC1mcmVlLW1lZGlhIiwKCQkJCWZyZWVJdGVtQ2xhc3M6ICJqcC1wbGF5bGlzdC1pdGVtLWZyZWUiLAoJCQkJcmVtb3ZlSXRlbUNsYXNzOiAianAtcGxheWxpc3QtaXRlbS1yZW1vdmUiCgkJCX0KCQl9LAoJCW9wdGlvbjogZnVuY3Rpb24ob3B0aW9uLCB2YWx1ZSkgeyAvLyBGb3IgY2hhbmdpbmcgcGxheWxpc3Qgb3B0aW9ucyBvbmx5CgkJCWlmKHZhbHVlID09PSB1bmRlZmluZWQpIHsKCQkJCXJldHVybiB0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zW29wdGlvbl07CgkJCX0KCgkJCXRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnNbb3B0aW9uXSA9IHZhbHVlOwoKCQkJc3dpdGNoKG9wdGlvbikgewoJCQkJY2FzZSAiZW5hYmxlUmVtb3ZlQ29udHJvbHMiOgoJCQkJCXRoaXMuX3VwZGF0ZUNvbnRyb2xzKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJpdGVtQ2xhc3MiOgoJCQkJY2FzZSAiZnJlZUdyb3VwQ2xhc3MiOgoJCQkJY2FzZSAiZnJlZUl0ZW1DbGFzcyI6CgkJCQljYXNlICJyZW1vdmVJdGVtQ2xhc3MiOgoJCQkJCXRoaXMuX3JlZnJlc2godHJ1ZSk7IC8vIEluc3RhbnQKCQkJCQl0aGlzLl9jcmVhdGVJdGVtSGFuZGxlcnMoKTsKCQkJCQlicmVhazsKCQkJfQoJCQlyZXR1cm4gdGhpczsKCQl9LAoJCV9pbml0OiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQl0aGlzLl9yZWZyZXNoKGZ1bmN0aW9uKCkgewoJCQkJaWYoc2VsZi5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5hdXRvUGxheSkgewoJCQkJCXNlbGYucGxheShzZWxmLmN1cnJlbnQpOwoJCQkJfSBlbHNlIHsKCQkJCQlzZWxmLnNlbGVjdChzZWxmLmN1cnJlbnQpOwoJCQkJfQoJCQl9KTsKCQl9LAoJCV9pbml0UGxheWxpc3Q6IGZ1bmN0aW9uKHBsYXlsaXN0KSB7CgkJCXRoaXMuY3VycmVudCA9IDA7CgkJCXRoaXMuc2h1ZmZsZWQgPSBmYWxzZTsKCQkJdGhpcy5yZW1vdmluZyA9IGZhbHNlOwoJCQl0aGlzLm9yaWdpbmFsID0gJC5leHRlbmQodHJ1ZSwgW10sIHBsYXlsaXN0KTsgLy8gQ29weSB0aGUgQXJyYXkgb2YgT2JqZWN0cwoJCQl0aGlzLl9vcmlnaW5hbFBsYXlsaXN0KCk7CgkJfSwKCQlfb3JpZ2luYWxQbGF5bGlzdDogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdGhpcy5wbGF5bGlzdCA9IFtdOwoJCQkvLyBNYWtlIGJvdGggYXJyYXlzIHBvaW50IHRvIHRoZSBzYW1lIG9iamVjdCBlbGVtZW50cy4gR2l2ZXMgdXMgMiBkaWZmZXJlbnQgYXJyYXlzLCBlYWNoIHBvaW50aW5nIHRvIHRoZSBzYW1lIGFjdHVhbCBvYmplY3QuIGllLiwgTm90IGNvcGllcyBvZiB0aGUgb2JqZWN0LgoJCQkkLmVhY2godGhpcy5vcmlnaW5hbCwgZnVuY3Rpb24oaSkgewoJCQkJc2VsZi5wbGF5bGlzdFtpXSA9IHNlbGYub3JpZ2luYWxbaV07CgkJCX0pOwoJCX0sCgkJX3JlZnJlc2g6IGZ1bmN0aW9uKGluc3RhbnQpIHsKCQkJLyogaW5zdGFudDogQ2FuIGJlIHVuZGVmaW5lZCwgdHJ1ZSBvciBhIGZ1bmN0aW9uLgoJCQkgKgl1bmRlZmluZWQgLT4gdXNlIGFuaW1hdGlvbiB0aW1pbmdzCgkJCSAqCXRydWUgLT4gbm8gYW5pbWF0aW9uCgkJCSAqCWZ1bmN0aW9uIC0+IHVzZSBhbmltYXRpb24gdGltaW5ncyBhbmQgZXhjdXRlIGZ1bmN0aW9uIGF0IGhhbGYgd2F5IHBvaW50LgoJCQkgKi8KCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJaWYoaW5zdGFudCAmJiAhJC5pc0Z1bmN0aW9uKGluc3RhbnQpKSB7CgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIHVsIikuZW1wdHkoKTsKCQkJCSQuZWFjaCh0aGlzLnBsYXlsaXN0LCBmdW5jdGlvbihpKSB7CgkJCQkJJChzZWxmLmNzc1NlbGVjdG9yLnBsYXlsaXN0ICsgIiB1bCIpLmFwcGVuZChzZWxmLl9jcmVhdGVMaXN0SXRlbShzZWxmLnBsYXlsaXN0W2ldKSk7CgkJCQl9KTsKCQkJCXRoaXMuX3VwZGF0ZUNvbnRyb2xzKCk7CgkJCX0gZWxzZSB7CgkJCQl2YXIgZGlzcGxheVRpbWUgPSAkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIHVsIikuY2hpbGRyZW4oKS5sZW5ndGggPyB0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLmRpc3BsYXlUaW1lIDogMDsKCgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIHVsIikuc2xpZGVVcChkaXNwbGF5VGltZSwgZnVuY3Rpb24oKSB7CgkJCQkJdmFyICR0aGlzID0gJCh0aGlzKTsKCQkJCQkkKHRoaXMpLmVtcHR5KCk7CgkJCQkJCgkJCQkJJC5lYWNoKHNlbGYucGxheWxpc3QsIGZ1bmN0aW9uKGkpIHsKCQkJCQkJJHRoaXMuYXBwZW5kKHNlbGYuX2NyZWF0ZUxpc3RJdGVtKHNlbGYucGxheWxpc3RbaV0pKTsKCQkJCQl9KTsKCQkJCQlzZWxmLl91cGRhdGVDb250cm9scygpOwoJCQkJCWlmKCQuaXNGdW5jdGlvbihpbnN0YW50KSkgewoJCQkJCQlpbnN0YW50KCk7CgkJCQkJfQoJCQkJCWlmKHNlbGYucGxheWxpc3QubGVuZ3RoKSB7CgkJCQkJCSQodGhpcykuc2xpZGVEb3duKHNlbGYub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZGlzcGxheVRpbWUpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSQodGhpcykuc2hvdygpOwoJCQkJCX0KCQkJCX0pOwoJCQl9CgkJfSwKCQlfY3JlYXRlTGlzdEl0ZW06IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCS8vIFdyYXAgdGhlIDxsaT4gY29udGVudHMgaW4gYSA8ZGl2PgoJCQl2YXIgbGlzdEl0ZW0gPSAiPGxpPjxkaXY+IjsKCgkJCS8vIENyZWF0ZSByZW1vdmUgY29udHJvbAoJCQlsaXN0SXRlbSArPSAiPGEgaHJlZj0namF2YXNjcmlwdDo7JyBjbGFzcz0nIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMucmVtb3ZlSXRlbUNsYXNzICsgIic+JnRpbWVzOzwvYT4iOwoKCQkJLy8gQ3JlYXRlIGxpbmtzIHRvIGZyZWUgbWVkaWEKCQkJaWYobWVkaWEuZnJlZSkgewoJCQkJdmFyIGZpcnN0ID0gdHJ1ZTsKCQkJCWxpc3RJdGVtICs9ICI8c3BhbiBjbGFzcz0nIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZnJlZUdyb3VwQ2xhc3MgKyAiJz4oIjsKCQkJCSQuZWFjaChtZWRpYSwgZnVuY3Rpb24ocHJvcGVydHksdmFsdWUpIHsKCQkJCQlpZigkLmpQbGF5ZXIucHJvdG90eXBlLmZvcm1hdFtwcm9wZXJ0eV0pIHsgLy8gQ2hlY2sgcHJvcGVydHkgaXMgYSBtZWRpYSBmb3JtYXQuCgkJCQkJCWlmKGZpcnN0KSB7CgkJCQkJCQlmaXJzdCA9IGZhbHNlOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJbGlzdEl0ZW0gKz0gIiB8ICI7CgkJCQkJCX0KCQkJCQkJbGlzdEl0ZW0gKz0gIjxhIGNsYXNzPSciICsgc2VsZi5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5mcmVlSXRlbUNsYXNzICsgIicgaHJlZj0nIiArIHZhbHVlICsgIicgdGFiaW5kZXg9Jy0xJz4iICsgcHJvcGVydHkgKyAiPC9hPiI7CgkJCQkJfQoJCQkJfSk7CgkJCQlsaXN0SXRlbSArPSAiKTwvc3Bhbj4iOwoJCQl9CgoJCQkvLyBUaGUgdGl0bGUgaXMgZ2l2ZW4gbmV4dCBpbiB0aGUgSFRNTCBvdGhlcndpc2UgdGhlIGZsb2F0OnJpZ2h0IG9uIHRoZSBmcmVlIG1lZGlhIGNvcnJ1cHRzIGluIElFNi83CgkJCWxpc3RJdGVtICs9ICI8YSBocmVmPSdqYXZhc2NyaXB0OjsnIGNsYXNzPSciICsgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5pdGVtQ2xhc3MgKyAiJyB0YWJpbmRleD0nMCc+IiArIG1lZGlhLnRpdGxlICsgKG1lZGlhLmFydGlzdCA/ICIgPHNwYW4gY2xhc3M9J2pwLWFydGlzdCc+YnkgIiArIG1lZGlhLmFydGlzdCArICI8L3NwYW4+IiA6ICIiKSArICI8L2E+IjsKCQkJbGlzdEl0ZW0gKz0gIjwvZGl2PjwvbGk+IjsKCgkJCXJldHVybiBsaXN0SXRlbTsKCQl9LAoJCV9jcmVhdGVJdGVtSGFuZGxlcnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCS8vIENyZWF0ZSBsaXZlIGhhbmRsZXJzIGZvciB0aGUgcGxheWxpc3QgaXRlbXMKCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KS5vZmYoImNsaWNrIiwgImEuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuaXRlbUNsYXNzKS5vbigiY2xpY2siLCAiYS4iICsgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5pdGVtQ2xhc3MsIGZ1bmN0aW9uKGUpIHsKCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCXZhciBpbmRleCA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCkuaW5kZXgoKTsKCQkJCWlmKHNlbGYuY3VycmVudCAhPT0gaW5kZXgpIHsKCQkJCQlzZWxmLnBsYXkoaW5kZXgpOwoJCQkJfSBlbHNlIHsKCQkJCQkkKHNlbGYuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigicGxheSIpOwoJCQkJfQoJCQkJc2VsZi5ibHVyKHRoaXMpOwoJCQl9KTsKCgkJCS8vIENyZWF0ZSBsaXZlIGhhbmRsZXJzIHRoYXQgZGlzYWJsZSBmcmVlIG1lZGlhIGxpbmtzIHRvIGZvcmNlIGFjY2VzcyB2aWEgcmlnaHQgY2xpY2sKCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KS5vZmYoImNsaWNrIiwgImEuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZnJlZUl0ZW1DbGFzcykub24oImNsaWNrIiwgImEuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZnJlZUl0ZW1DbGFzcywgZnVuY3Rpb24oZSkgewoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5maW5kKCIuIiArIHNlbGYub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuaXRlbUNsYXNzKS5jbGljaygpOwoJCQkJc2VsZi5ibHVyKHRoaXMpOwoJCQl9KTsKCgkJCS8vIENyZWF0ZSBsaXZlIGhhbmRsZXJzIGZvciB0aGUgcmVtb3ZlIGNvbnRyb2xzCgkJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCkub2ZmKCJjbGljayIsICJhLiIgKyB0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnJlbW92ZUl0ZW1DbGFzcykub24oImNsaWNrIiwgImEuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMucmVtb3ZlSXRlbUNsYXNzLCBmdW5jdGlvbihlKSB7CgkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQl2YXIgaW5kZXggPSAkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmluZGV4KCk7CgkJCQlzZWxmLnJlbW92ZShpbmRleCk7CgkJCQlzZWxmLmJsdXIodGhpcyk7CgkJCX0pOwoJCX0sCgkJX3VwZGF0ZUNvbnRyb2xzOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5lbmFibGVSZW1vdmVDb250cm9scykgewoJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0ICsgIiAuIiArIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMucmVtb3ZlSXRlbUNsYXNzKS5zaG93KCk7CgkJCX0gZWxzZSB7CgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIC4iICsgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5yZW1vdmVJdGVtQ2xhc3MpLmhpZGUoKTsKCQkJfQoKCQkJaWYodGhpcy5zaHVmZmxlZCkgewoJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoImFkZFN0YXRlQ2xhc3MiLCAic2h1ZmZsZWQiKTsKCQkJfSBlbHNlIHsKCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJyZW1vdmVTdGF0ZUNsYXNzIiwgInNodWZmbGVkIik7CgkJCX0KCQkJaWYoJCh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGUpLmxlbmd0aCAmJiAkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZU9mZikubGVuZ3RoKSB7CgkJCQlpZih0aGlzLnNodWZmbGVkKSB7CgkJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGVPZmYpLnNob3coKTsKCQkJCQkkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkuaGlkZSgpOwoJCQkJfSBlbHNlIHsKCQkJCQkkKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZU9mZikuaGlkZSgpOwoJCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5zaHVmZmxlKS5zaG93KCk7CgkJCQl9CgkJCX0KCQl9LAoJCV9oaWdobGlnaHQ6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCWlmKHRoaXMucGxheWxpc3QubGVuZ3RoICYmIGluZGV4ICE9PSB1bmRlZmluZWQpIHsKCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCArICIgLmpwLXBsYXlsaXN0LWN1cnJlbnQiKS5yZW1vdmVDbGFzcygianAtcGxheWxpc3QtY3VycmVudCIpOwoJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0ICsgIiBsaTpudGgtY2hpbGQoIiArIChpbmRleCArIDEpICsgIikiKS5hZGRDbGFzcygianAtcGxheWxpc3QtY3VycmVudCIpLmZpbmQoIi5qcC1wbGF5bGlzdC1pdGVtIikuYWRkQ2xhc3MoImpwLXBsYXlsaXN0LWN1cnJlbnQiKTsKCQkJCS8vICQodGhpcy5jc3NTZWxlY3Rvci5kZXRhaWxzICsgIiBsaSIpLmh0bWwoIjxzcGFuIGNsYXNzPSdqcC10aXRsZSc+IiArIHRoaXMucGxheWxpc3RbaW5kZXhdLnRpdGxlICsgIjwvc3Bhbj4iICsgKHRoaXMucGxheWxpc3RbaW5kZXhdLmFydGlzdCA/ICIgPHNwYW4gY2xhc3M9J2pwLWFydGlzdCc+YnkgIiArIHRoaXMucGxheWxpc3RbaW5kZXhdLmFydGlzdCArICI8L3NwYW4+IiA6ICIiKSk7CgkJCX0KCQl9LAoJCXNldFBsYXlsaXN0OiBmdW5jdGlvbihwbGF5bGlzdCkgewoJCQl0aGlzLl9pbml0UGxheWxpc3QocGxheWxpc3QpOwoJCQl0aGlzLl9pbml0KCk7CgkJfSwKCQlhZGQ6IGZ1bmN0aW9uKG1lZGlhLCBwbGF5Tm93KSB7CgkJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCArICIgdWwiKS5hcHBlbmQodGhpcy5fY3JlYXRlTGlzdEl0ZW0obWVkaWEpKS5maW5kKCJsaTpsYXN0LWNoaWxkIikuaGlkZSgpLnNsaWRlRG93bih0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLmFkZFRpbWUpOwoJCQl0aGlzLl91cGRhdGVDb250cm9scygpOwoJCQl0aGlzLm9yaWdpbmFsLnB1c2gobWVkaWEpOwoJCQl0aGlzLnBsYXlsaXN0LnB1c2gobWVkaWEpOyAvLyBCb3RoIGFycmF5IGVsZW1lbnRzIHNoYXJlIHRoZSBzYW1lIG9iamVjdCBwb2ludGVyLiBDb21mb3JtcyB3aXRoIF9pbml0UGxheWxpc3QocCkgc3lzdGVtLgoKCQkJaWYocGxheU5vdykgewoJCQkJdGhpcy5wbGF5KHRoaXMucGxheWxpc3QubGVuZ3RoIC0gMSk7CgkJCX0gZWxzZSB7CgkJCQlpZih0aGlzLm9yaWdpbmFsLmxlbmd0aCA9PT0gMSkgewoJCQkJCXRoaXMuc2VsZWN0KDApOwoJCQkJfQoJCQl9CgkJfSwKCQlyZW1vdmU6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCWlmKGluZGV4ID09PSB1bmRlZmluZWQpIHsKCQkJCXRoaXMuX2luaXRQbGF5bGlzdChbXSk7CgkJCQl0aGlzLl9yZWZyZXNoKGZ1bmN0aW9uKCkgewoJCQkJCSQoc2VsZi5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJjbGVhck1lZGlhIik7CgkJCQl9KTsKCQkJCXJldHVybiB0cnVlOwoJCQl9IGVsc2UgewoKCQkJCWlmKHRoaXMucmVtb3ZpbmcpIHsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9IGVsc2UgewoJCQkJCWluZGV4ID0gKGluZGV4IDwgMCkgPyBzZWxmLm9yaWdpbmFsLmxlbmd0aCArIGluZGV4IDogaW5kZXg7IC8vIE5lZ2F0aXZlIGluZGV4IHJlbGF0ZXMgdG8gZW5kIG9mIGFycmF5LgoJCQkJCWlmKDAgPD0gaW5kZXggJiYgaW5kZXggPCB0aGlzLnBsYXlsaXN0Lmxlbmd0aCkgewoJCQkJCQl0aGlzLnJlbW92aW5nID0gdHJ1ZTsKCgkJCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCArICIgbGk6bnRoLWNoaWxkKCIgKyAoaW5kZXggKyAxKSArICIpIikuc2xpZGVVcCh0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnJlbW92ZVRpbWUsIGZ1bmN0aW9uKCkgewoJCQkJCQkJJCh0aGlzKS5yZW1vdmUoKTsKCgkJCQkJCQlpZihzZWxmLnNodWZmbGVkKSB7CgkJCQkJCQkJdmFyIGl0ZW0gPSBzZWxmLnBsYXlsaXN0W2luZGV4XTsKCQkJCQkJCQkkLmVhY2goc2VsZi5vcmlnaW5hbCwgZnVuY3Rpb24oaSkgewoJCQkJCQkJCQlpZihzZWxmLm9yaWdpbmFsW2ldID09PSBpdGVtKSB7CgkJCQkJCQkJCQlzZWxmLm9yaWdpbmFsLnNwbGljZShpLCAxKTsKCQkJCQkJCQkJCXJldHVybiBmYWxzZTsgLy8gRXhpdCAkLmVhY2gKCQkJCQkJCQkJfQoJCQkJCQkJCX0pOwoJCQkJCQkJCXNlbGYucGxheWxpc3Quc3BsaWNlKGluZGV4LCAxKTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJc2VsZi5vcmlnaW5hbC5zcGxpY2UoaW5kZXgsIDEpOwoJCQkJCQkJCXNlbGYucGxheWxpc3Quc3BsaWNlKGluZGV4LCAxKTsKCQkJCQkJCX0KCgkJCQkJCQlpZihzZWxmLm9yaWdpbmFsLmxlbmd0aCkgewoJCQkJCQkJCWlmKGluZGV4ID09PSBzZWxmLmN1cnJlbnQpIHsKCQkJCQkJCQkJc2VsZi5jdXJyZW50ID0gKGluZGV4IDwgc2VsZi5vcmlnaW5hbC5sZW5ndGgpID8gc2VsZi5jdXJyZW50IDogc2VsZi5vcmlnaW5hbC5sZW5ndGggLSAxOyAvLyBUbyBjb3BlIHdoZW4gbGFzdCBlbGVtZW50IGJlaW5nIHNlbGVjdGVkIHdoZW4gaXQgd2FzIHJlbW92ZWQKCQkJCQkJCQkJc2VsZi5zZWxlY3Qoc2VsZi5jdXJyZW50KTsKCQkJCQkJCQl9IGVsc2UgaWYoaW5kZXggPCBzZWxmLmN1cnJlbnQpIHsKCQkJCQkJCQkJc2VsZi5jdXJyZW50LS07CgkJCQkJCQkJfQoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkkKHNlbGYuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigiY2xlYXJNZWRpYSIpOwoJCQkJCQkJCXNlbGYuY3VycmVudCA9IDA7CgkJCQkJCQkJc2VsZi5zaHVmZmxlZCA9IGZhbHNlOwoJCQkJCQkJCXNlbGYuX3VwZGF0ZUNvbnRyb2xzKCk7CgkJCQkJCQl9CgoJCQkJCQkJc2VsZi5yZW1vdmluZyA9IGZhbHNlOwoJCQkJCQl9KTsKCQkJCQl9CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgkJCX0KCQl9LAoJCXNlbGVjdDogZnVuY3Rpb24oaW5kZXgpIHsKCQkJaW5kZXggPSAoaW5kZXggPCAwKSA/IHRoaXMub3JpZ2luYWwubGVuZ3RoICsgaW5kZXggOiBpbmRleDsgLy8gTmVnYXRpdmUgaW5kZXggcmVsYXRlcyB0byBlbmQgb2YgYXJyYXkuCgkJCWlmKDAgPD0gaW5kZXggJiYgaW5kZXggPCB0aGlzLnBsYXlsaXN0Lmxlbmd0aCkgewoJCQkJdGhpcy5jdXJyZW50ID0gaW5kZXg7CgkJCQl0aGlzLl9oaWdobGlnaHQoaW5kZXgpOwoJCQkJJCh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoInNldE1lZGlhIiwgdGhpcy5wbGF5bGlzdFt0aGlzLmN1cnJlbnRdKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuY3VycmVudCA9IDA7CgkJCX0KCQl9LAoJCXBsYXk6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCWluZGV4ID0gKGluZGV4IDwgMCkgPyB0aGlzLm9yaWdpbmFsLmxlbmd0aCArIGluZGV4IDogaW5kZXg7IC8vIE5lZ2F0aXZlIGluZGV4IHJlbGF0ZXMgdG8gZW5kIG9mIGFycmF5LgoJCQlpZigwIDw9IGluZGV4ICYmIGluZGV4IDwgdGhpcy5wbGF5bGlzdC5sZW5ndGgpIHsKCQkJCWlmKHRoaXMucGxheWxpc3QubGVuZ3RoKSB7CgkJCQkJdGhpcy5zZWxlY3QoaW5kZXgpOwoJCQkJCSQodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJwbGF5Iik7CgkJCQl9CgkJCX0gZWxzZSBpZihpbmRleCA9PT0gdW5kZWZpbmVkKSB7CgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigicGxheSIpOwoJCQl9CgkJfSwKCQlwYXVzZTogZnVuY3Rpb24oKSB7CgkJCSQodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJwYXVzZSIpOwoJCX0sCgkJbmV4dDogZnVuY3Rpb24oKSB7CgkJCXZhciBpbmRleCA9ICh0aGlzLmN1cnJlbnQgKyAxIDwgdGhpcy5wbGF5bGlzdC5sZW5ndGgpID8gdGhpcy5jdXJyZW50ICsgMSA6IDA7CgoJCQlpZih0aGlzLmxvb3ApIHsKCQkJCS8vIFNlZSBpZiB3ZSBuZWVkIHRvIHNodWZmbGUgYmVmb3JlIGxvb3BpbmcgdG8gc3RhcnQsIGFuZCBvbmx5IHNodWZmbGUgaWYgbW9yZSB0aGFuIDEgaXRlbS4KCQkJCWlmKGluZGV4ID09PSAwICYmIHRoaXMuc2h1ZmZsZWQgJiYgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5zaHVmZmxlT25Mb29wICYmIHRoaXMucGxheWxpc3QubGVuZ3RoID4gMSkgewoJCQkJCXRoaXMuc2h1ZmZsZSh0cnVlLCB0cnVlKTsgLy8gcGxheU5vdwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLnBsYXkoaW5kZXgpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJLy8gVGhlIGluZGV4IHdpbGwgYmUgemVybyBpZiBpdCBqdXN0IGxvb3BlZCByb3VuZAoJCQkJaWYoaW5kZXggPiAwKSB7CgkJCQkJdGhpcy5wbGF5KGluZGV4KTsKCQkJCX0KCQkJfQoJCX0sCgkJcHJldmlvdXM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgaW5kZXggPSAodGhpcy5jdXJyZW50IC0gMSA+PSAwKSA/IHRoaXMuY3VycmVudCAtIDEgOiB0aGlzLnBsYXlsaXN0Lmxlbmd0aCAtIDE7CgoJCQlpZih0aGlzLmxvb3AgJiYgdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5sb29wT25QcmV2aW91cyB8fCBpbmRleCA8IHRoaXMucGxheWxpc3QubGVuZ3RoIC0gMSkgewoJCQkJdGhpcy5wbGF5KGluZGV4KTsKCQkJfQoJCX0sCgkJc2h1ZmZsZTogZnVuY3Rpb24oc2h1ZmZsZWQsIHBsYXlOb3cpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJaWYoc2h1ZmZsZWQgPT09IHVuZGVmaW5lZCkgewoJCQkJc2h1ZmZsZWQgPSAhdGhpcy5zaHVmZmxlZDsKCQkJfQoKCQkJaWYoc2h1ZmZsZWQgfHwgc2h1ZmZsZWQgIT09IHRoaXMuc2h1ZmZsZWQpIHsKCgkJCQkkKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QgKyAiIHVsIikuc2xpZGVVcCh0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnNodWZmbGVUaW1lLCBmdW5jdGlvbigpIHsKCQkJCQlzZWxmLnNodWZmbGVkID0gc2h1ZmZsZWQ7CgkJCQkJaWYoc2h1ZmZsZWQpIHsKCQkJCQkJc2VsZi5wbGF5bGlzdC5zb3J0KGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIDAuNSAtIE1hdGgucmFuZG9tKCk7CgkJCQkJCX0pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXNlbGYuX29yaWdpbmFsUGxheWxpc3QoKTsKCQkJCQl9CgkJCQkJc2VsZi5fcmVmcmVzaCh0cnVlKTsgLy8gSW5zdGFudAoKCQkJCQlpZihwbGF5Tm93IHx8ICEkKHNlbGYuY3NzU2VsZWN0b3IualBsYXllcikuZGF0YSgialBsYXllciIpLnN0YXR1cy5wYXVzZWQpIHsKCQkJCQkJc2VsZi5wbGF5KDApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXNlbGYuc2VsZWN0KDApOwoJCQkJCX0KCgkJCQkJJCh0aGlzKS5zbGlkZURvd24oc2VsZi5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5zaHVmZmxlVGltZSk7CgkJCQl9KTsKCQkJfQoJCX0sCgkJYmx1cjogZnVuY3Rpb24odGhhdCkgewoJCQlpZigkKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigib3B0aW9uIiwgImF1dG9CbHVyIikpIHsKCQkJCSQodGhhdCkuYmx1cigpOwoJCQl9CgkJfQoJfTsKfSkoalF1ZXJ5KTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/jplayer.playlist.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpQbGF5ZXJQbGF5bGlzdCBmb3IgalBsYXllciAyLjkuMiB+IChjKSAyMDA5LTIwMTQgSGFwcHl3b3JtIEx0ZCB+IE1JVCBMaWNlbnNlICovCiFmdW5jdGlvbihhLGIpe2pQbGF5ZXJQbGF5bGlzdD1mdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpczt0aGlzLmN1cnJlbnQ9MCx0aGlzLmxvb3A9ITEsdGhpcy5zaHVmZmxlZD0hMSx0aGlzLnJlbW92aW5nPSExLHRoaXMuY3NzU2VsZWN0b3I9YS5leHRlbmQoe30sdGhpcy5fY3NzU2VsZWN0b3IsYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKCEwLHtrZXlCaW5kaW5nczp7bmV4dDp7a2V5OjIyMSxmbjpmdW5jdGlvbigpe2UubmV4dCgpfX0scHJldmlvdXM6e2tleToyMTksZm46ZnVuY3Rpb24oKXtlLnByZXZpb3VzKCl9fSxzaHVmZmxlOntrZXk6ODMsZm46ZnVuY3Rpb24oKXtlLnNodWZmbGUoKX19fSxzdGF0ZUNsYXNzOntzaHVmZmxlZDoianAtc3RhdGUtc2h1ZmZsZWQifX0sdGhpcy5fb3B0aW9ucyxkKSx0aGlzLnBsYXlsaXN0PVtdLHRoaXMub3JpZ2luYWw9W10sdGhpcy5faW5pdFBsYXlsaXN0KGMpLHRoaXMuY3NzU2VsZWN0b3IuZGV0YWlscz10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtZGV0YWlscyIsdGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdD10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtcGxheWxpc3QiLHRoaXMuY3NzU2VsZWN0b3IubmV4dD10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtbmV4dCIsdGhpcy5jc3NTZWxlY3Rvci5wcmV2aW91cz10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtcHJldmlvdXMiLHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZT10aGlzLmNzc1NlbGVjdG9yLmNzc1NlbGVjdG9yQW5jZXN0b3IrIiAuanAtc2h1ZmZsZSIsdGhpcy5jc3NTZWxlY3Rvci5zaHVmZmxlT2ZmPXRoaXMuY3NzU2VsZWN0b3IuY3NzU2VsZWN0b3JBbmNlc3RvcisiIC5qcC1zaHVmZmxlLW9mZiIsdGhpcy5vcHRpb25zLmNzc1NlbGVjdG9yQW5jZXN0b3I9dGhpcy5jc3NTZWxlY3Rvci5jc3NTZWxlY3RvckFuY2VzdG9yLHRoaXMub3B0aW9ucy5yZXBlYXQ9ZnVuY3Rpb24oYSl7ZS5sb29wPWEualBsYXllci5vcHRpb25zLmxvb3B9LGEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5iaW5kKGEualBsYXllci5ldmVudC5yZWFkeSxmdW5jdGlvbigpe2UuX2luaXQoKX0pLGEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5iaW5kKGEualBsYXllci5ldmVudC5lbmRlZCxmdW5jdGlvbigpe2UubmV4dCgpfSksYSh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmJpbmQoYS5qUGxheWVyLmV2ZW50LnBsYXksZnVuY3Rpb24oKXthKHRoaXMpLmpQbGF5ZXIoInBhdXNlT3RoZXJzIil9KSxhKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikuYmluZChhLmpQbGF5ZXIuZXZlbnQucmVzaXplLGZ1bmN0aW9uKGIpe2IualBsYXllci5vcHRpb25zLmZ1bGxTY3JlZW4/YShlLmNzc1NlbGVjdG9yLmRldGFpbHMpLnNob3coKTphKGUuY3NzU2VsZWN0b3IuZGV0YWlscykuaGlkZSgpfSksYSh0aGlzLmNzc1NlbGVjdG9yLnByZXZpb3VzKS5jbGljayhmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksZS5wcmV2aW91cygpLGUuYmx1cih0aGlzKX0pLGEodGhpcy5jc3NTZWxlY3Rvci5uZXh0KS5jbGljayhmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksZS5uZXh0KCksZS5ibHVyKHRoaXMpfSksYSh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGUpLmNsaWNrKGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKSxlLnNodWZmbGUoZS5zaHVmZmxlZCYmYShlLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoIm9wdGlvbiIsInVzZVN0YXRlQ2xhc3NTa2luIik/ITE6ITApLGUuYmx1cih0aGlzKX0pLGEodGhpcy5jc3NTZWxlY3Rvci5zaHVmZmxlT2ZmKS5jbGljayhmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksZS5zaHVmZmxlKCExKSxlLmJsdXIodGhpcyl9KS5oaWRlKCksdGhpcy5vcHRpb25zLmZ1bGxTY3JlZW58fGEodGhpcy5jc3NTZWxlY3Rvci5kZXRhaWxzKS5oaWRlKCksYSh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KyIgdWwiKS5lbXB0eSgpLHRoaXMuX2NyZWF0ZUl0ZW1IYW5kbGVycygpLGEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKHRoaXMub3B0aW9ucyl9LGpQbGF5ZXJQbGF5bGlzdC5wcm90b3R5cGU9e19jc3NTZWxlY3Rvcjp7alBsYXllcjoiI2pxdWVyeV9qcGxheWVyXzEiLGNzc1NlbGVjdG9yQW5jZXN0b3I6IiNqcF9jb250YWluZXJfMSJ9LF9vcHRpb25zOntwbGF5bGlzdE9wdGlvbnM6e2F1dG9QbGF5OiExLGxvb3BPblByZXZpb3VzOiExLHNodWZmbGVPbkxvb3A6ITAsZW5hYmxlUmVtb3ZlQ29udHJvbHM6ITEsZGlzcGxheVRpbWU6InNsb3ciLGFkZFRpbWU6ImZhc3QiLHJlbW92ZVRpbWU6ImZhc3QiLHNodWZmbGVUaW1lOiJzbG93IixpdGVtQ2xhc3M6ImpwLXBsYXlsaXN0LWl0ZW0iLGZyZWVHcm91cENsYXNzOiJqcC1mcmVlLW1lZGlhIixmcmVlSXRlbUNsYXNzOiJqcC1wbGF5bGlzdC1pdGVtLWZyZWUiLHJlbW92ZUl0ZW1DbGFzczoianAtcGxheWxpc3QtaXRlbS1yZW1vdmUifX0sb3B0aW9uOmZ1bmN0aW9uKGEsYyl7aWYoYz09PWIpcmV0dXJuIHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnNbYV07c3dpdGNoKHRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnNbYV09YyxhKXtjYXNlImVuYWJsZVJlbW92ZUNvbnRyb2xzIjp0aGlzLl91cGRhdGVDb250cm9scygpO2JyZWFrO2Nhc2UiaXRlbUNsYXNzIjpjYXNlImZyZWVHcm91cENsYXNzIjpjYXNlImZyZWVJdGVtQ2xhc3MiOmNhc2UicmVtb3ZlSXRlbUNsYXNzIjp0aGlzLl9yZWZyZXNoKCEwKSx0aGlzLl9jcmVhdGVJdGVtSGFuZGxlcnMoKX1yZXR1cm4gdGhpc30sX2luaXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuX3JlZnJlc2goZnVuY3Rpb24oKXthLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLmF1dG9QbGF5P2EucGxheShhLmN1cnJlbnQpOmEuc2VsZWN0KGEuY3VycmVudCl9KX0sX2luaXRQbGF5bGlzdDpmdW5jdGlvbihiKXt0aGlzLmN1cnJlbnQ9MCx0aGlzLnNodWZmbGVkPSExLHRoaXMucmVtb3Zpbmc9ITEsdGhpcy5vcmlnaW5hbD1hLmV4dGVuZCghMCxbXSxiKSx0aGlzLl9vcmlnaW5hbFBsYXlsaXN0KCl9LF9vcmlnaW5hbFBsYXlsaXN0OmZ1bmN0aW9uKCl7dmFyIGI9dGhpczt0aGlzLnBsYXlsaXN0PVtdLGEuZWFjaCh0aGlzLm9yaWdpbmFsLGZ1bmN0aW9uKGEpe2IucGxheWxpc3RbYV09Yi5vcmlnaW5hbFthXX0pfSxfcmVmcmVzaDpmdW5jdGlvbihiKXt2YXIgYz10aGlzO2lmKGImJiFhLmlzRnVuY3Rpb24oYikpYSh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KyIgdWwiKS5lbXB0eSgpLGEuZWFjaCh0aGlzLnBsYXlsaXN0LGZ1bmN0aW9uKGIpe2EoYy5jc3NTZWxlY3Rvci5wbGF5bGlzdCsiIHVsIikuYXBwZW5kKGMuX2NyZWF0ZUxpc3RJdGVtKGMucGxheWxpc3RbYl0pKX0pLHRoaXMuX3VwZGF0ZUNvbnRyb2xzKCk7ZWxzZXt2YXIgZD1hKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiB1bCIpLmNoaWxkcmVuKCkubGVuZ3RoP3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZGlzcGxheVRpbWU6MDthKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiB1bCIpLnNsaWRlVXAoZCxmdW5jdGlvbigpe3ZhciBkPWEodGhpcyk7YSh0aGlzKS5lbXB0eSgpLGEuZWFjaChjLnBsYXlsaXN0LGZ1bmN0aW9uKGEpe2QuYXBwZW5kKGMuX2NyZWF0ZUxpc3RJdGVtKGMucGxheWxpc3RbYV0pKX0pLGMuX3VwZGF0ZUNvbnRyb2xzKCksYS5pc0Z1bmN0aW9uKGIpJiZiKCksYy5wbGF5bGlzdC5sZW5ndGg/YSh0aGlzKS5zbGlkZURvd24oYy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5kaXNwbGF5VGltZSk6YSh0aGlzKS5zaG93KCl9KX19LF9jcmVhdGVMaXN0SXRlbTpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGQ9IjxsaT48ZGl2PiI7aWYoZCs9IjxhIGhyZWY9J2phdmFzY3JpcHQ6OycgY2xhc3M9JyIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5yZW1vdmVJdGVtQ2xhc3MrIic+JnRpbWVzOzwvYT4iLGIuZnJlZSl7dmFyIGU9ITA7ZCs9IjxzcGFuIGNsYXNzPSciK3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZnJlZUdyb3VwQ2xhc3MrIic+KCIsYS5lYWNoKGIsZnVuY3Rpb24oYixmKXthLmpQbGF5ZXIucHJvdG90eXBlLmZvcm1hdFtiXSYmKGU/ZT0hMTpkKz0iIHwgIixkKz0iPGEgY2xhc3M9JyIrYy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5mcmVlSXRlbUNsYXNzKyInIGhyZWY9JyIrZisiJyB0YWJpbmRleD0nLTEnPiIrYisiPC9hPiIpfSksZCs9Iik8L3NwYW4+In1yZXR1cm4gZCs9IjxhIGhyZWY9J2phdmFzY3JpcHQ6OycgY2xhc3M9JyIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5pdGVtQ2xhc3MrIicgdGFiaW5kZXg9JzAnPiIrYi50aXRsZSsoYi5hcnRpc3Q/IiA8c3BhbiBjbGFzcz0nanAtYXJ0aXN0Jz5ieSAiK2IuYXJ0aXN0KyI8L3NwYW4+IjoiIikrIjwvYT4iLGQrPSI8L2Rpdj48L2xpPiJ9LF9jcmVhdGVJdGVtSGFuZGxlcnM6ZnVuY3Rpb24oKXt2YXIgYj10aGlzO2EodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCkub2ZmKCJjbGljayIsImEuIit0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLml0ZW1DbGFzcykub24oImNsaWNrIiwiYS4iK3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuaXRlbUNsYXNzLGZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKTt2YXIgZD1hKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmluZGV4KCk7Yi5jdXJyZW50IT09ZD9iLnBsYXkoZCk6YShiLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoInBsYXkiKSxiLmJsdXIodGhpcyl9KSxhKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QpLm9mZigiY2xpY2siLCJhLiIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5mcmVlSXRlbUNsYXNzKS5vbigiY2xpY2siLCJhLiIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5mcmVlSXRlbUNsYXNzLGZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxhKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoIi4iK2Iub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuaXRlbUNsYXNzKS5jbGljaygpLGIuYmx1cih0aGlzKX0pLGEodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCkub2ZmKCJjbGljayIsImEuIit0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnJlbW92ZUl0ZW1DbGFzcykub24oImNsaWNrIiwiYS4iK3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMucmVtb3ZlSXRlbUNsYXNzLGZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKTt2YXIgZD1hKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmluZGV4KCk7Yi5yZW1vdmUoZCksYi5ibHVyKHRoaXMpfSl9LF91cGRhdGVDb250cm9sczpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuZW5hYmxlUmVtb3ZlQ29udHJvbHM/YSh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KyIgLiIrdGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5yZW1vdmVJdGVtQ2xhc3MpLnNob3coKTphKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiAuIit0aGlzLm9wdGlvbnMucGxheWxpc3RPcHRpb25zLnJlbW92ZUl0ZW1DbGFzcykuaGlkZSgpLHRoaXMuc2h1ZmZsZWQ/YSh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoImFkZFN0YXRlQ2xhc3MiLCJzaHVmZmxlZCIpOmEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJyZW1vdmVTdGF0ZUNsYXNzIiwic2h1ZmZsZWQiKSxhKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkubGVuZ3RoJiZhKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZU9mZikubGVuZ3RoJiYodGhpcy5zaHVmZmxlZD8oYSh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGVPZmYpLnNob3coKSxhKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkuaGlkZSgpKTooYSh0aGlzLmNzc1NlbGVjdG9yLnNodWZmbGVPZmYpLmhpZGUoKSxhKHRoaXMuY3NzU2VsZWN0b3Iuc2h1ZmZsZSkuc2hvdygpKSl9LF9oaWdobGlnaHQ6ZnVuY3Rpb24oYyl7dGhpcy5wbGF5bGlzdC5sZW5ndGgmJmMhPT1iJiYoYSh0aGlzLmNzc1NlbGVjdG9yLnBsYXlsaXN0KyIgLmpwLXBsYXlsaXN0LWN1cnJlbnQiKS5yZW1vdmVDbGFzcygianAtcGxheWxpc3QtY3VycmVudCIpLGEodGhpcy5jc3NTZWxlY3Rvci5wbGF5bGlzdCsiIGxpOm50aC1jaGlsZCgiKyhjKzEpKyIpIikuYWRkQ2xhc3MoImpwLXBsYXlsaXN0LWN1cnJlbnQiKS5maW5kKCIuanAtcGxheWxpc3QtaXRlbSIpLmFkZENsYXNzKCJqcC1wbGF5bGlzdC1jdXJyZW50IikpfSxzZXRQbGF5bGlzdDpmdW5jdGlvbihhKXt0aGlzLl9pbml0UGxheWxpc3QoYSksdGhpcy5faW5pdCgpfSxhZGQ6ZnVuY3Rpb24oYixjKXthKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiB1bCIpLmFwcGVuZCh0aGlzLl9jcmVhdGVMaXN0SXRlbShiKSkuZmluZCgibGk6bGFzdC1jaGlsZCIpLmhpZGUoKS5zbGlkZURvd24odGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5hZGRUaW1lKSx0aGlzLl91cGRhdGVDb250cm9scygpLHRoaXMub3JpZ2luYWwucHVzaChiKSx0aGlzLnBsYXlsaXN0LnB1c2goYiksYz90aGlzLnBsYXkodGhpcy5wbGF5bGlzdC5sZW5ndGgtMSk6MT09PXRoaXMub3JpZ2luYWwubGVuZ3RoJiZ0aGlzLnNlbGVjdCgwKX0scmVtb3ZlOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXM7cmV0dXJuIGM9PT1iPyh0aGlzLl9pbml0UGxheWxpc3QoW10pLHRoaXMuX3JlZnJlc2goZnVuY3Rpb24oKXthKGQuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigiY2xlYXJNZWRpYSIpfSksITApOnRoaXMucmVtb3Zpbmc/ITE6KGM9MD5jP2Qub3JpZ2luYWwubGVuZ3RoK2M6YyxjPj0wJiZjPHRoaXMucGxheWxpc3QubGVuZ3RoJiYodGhpcy5yZW1vdmluZz0hMCxhKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiBsaTpudGgtY2hpbGQoIisoYysxKSsiKSIpLnNsaWRlVXAodGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5yZW1vdmVUaW1lLGZ1bmN0aW9uKCl7aWYoYSh0aGlzKS5yZW1vdmUoKSxkLnNodWZmbGVkKXt2YXIgYj1kLnBsYXlsaXN0W2NdO2EuZWFjaChkLm9yaWdpbmFsLGZ1bmN0aW9uKGEpe3JldHVybiBkLm9yaWdpbmFsW2FdPT09Yj8oZC5vcmlnaW5hbC5zcGxpY2UoYSwxKSwhMSk6dm9pZCAwfSksZC5wbGF5bGlzdC5zcGxpY2UoYywxKX1lbHNlIGQub3JpZ2luYWwuc3BsaWNlKGMsMSksZC5wbGF5bGlzdC5zcGxpY2UoYywxKTtkLm9yaWdpbmFsLmxlbmd0aD9jPT09ZC5jdXJyZW50PyhkLmN1cnJlbnQ9YzxkLm9yaWdpbmFsLmxlbmd0aD9kLmN1cnJlbnQ6ZC5vcmlnaW5hbC5sZW5ndGgtMSxkLnNlbGVjdChkLmN1cnJlbnQpKTpjPGQuY3VycmVudCYmZC5jdXJyZW50LS06KGEoZC5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJjbGVhck1lZGlhIiksZC5jdXJyZW50PTAsZC5zaHVmZmxlZD0hMSxkLl91cGRhdGVDb250cm9scygpKSxkLnJlbW92aW5nPSExfSkpLCEwKX0sc2VsZWN0OmZ1bmN0aW9uKGIpe2I9MD5iP3RoaXMub3JpZ2luYWwubGVuZ3RoK2I6YixiPj0wJiZiPHRoaXMucGxheWxpc3QubGVuZ3RoPyh0aGlzLmN1cnJlbnQ9Yix0aGlzLl9oaWdobGlnaHQoYiksYSh0aGlzLmNzc1NlbGVjdG9yLmpQbGF5ZXIpLmpQbGF5ZXIoInNldE1lZGlhIix0aGlzLnBsYXlsaXN0W3RoaXMuY3VycmVudF0pKTp0aGlzLmN1cnJlbnQ9MH0scGxheTpmdW5jdGlvbihjKXtjPTA+Yz90aGlzLm9yaWdpbmFsLmxlbmd0aCtjOmMsYz49MCYmYzx0aGlzLnBsYXlsaXN0Lmxlbmd0aD90aGlzLnBsYXlsaXN0Lmxlbmd0aCYmKHRoaXMuc2VsZWN0KGMpLGEodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJwbGF5IikpOmM9PT1iJiZhKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigicGxheSIpfSxwYXVzZTpmdW5jdGlvbigpe2EodGhpcy5jc3NTZWxlY3Rvci5qUGxheWVyKS5qUGxheWVyKCJwYXVzZSIpfSxuZXh0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jdXJyZW50KzE8dGhpcy5wbGF5bGlzdC5sZW5ndGg/dGhpcy5jdXJyZW50KzE6MDt0aGlzLmxvb3A/MD09PWEmJnRoaXMuc2h1ZmZsZWQmJnRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMuc2h1ZmZsZU9uTG9vcCYmdGhpcy5wbGF5bGlzdC5sZW5ndGg+MT90aGlzLnNodWZmbGUoITAsITApOnRoaXMucGxheShhKTphPjAmJnRoaXMucGxheShhKX0scHJldmlvdXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmN1cnJlbnQtMT49MD90aGlzLmN1cnJlbnQtMTp0aGlzLnBsYXlsaXN0Lmxlbmd0aC0xOyh0aGlzLmxvb3AmJnRoaXMub3B0aW9ucy5wbGF5bGlzdE9wdGlvbnMubG9vcE9uUHJldmlvdXN8fGE8dGhpcy5wbGF5bGlzdC5sZW5ndGgtMSkmJnRoaXMucGxheShhKX0sc2h1ZmZsZTpmdW5jdGlvbihjLGQpe3ZhciBlPXRoaXM7Yz09PWImJihjPSF0aGlzLnNodWZmbGVkKSwoY3x8YyE9PXRoaXMuc2h1ZmZsZWQpJiZhKHRoaXMuY3NzU2VsZWN0b3IucGxheWxpc3QrIiB1bCIpLnNsaWRlVXAodGhpcy5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5zaHVmZmxlVGltZSxmdW5jdGlvbigpe2Uuc2h1ZmZsZWQ9YyxjP2UucGxheWxpc3Quc29ydChmdW5jdGlvbigpe3JldHVybi41LU1hdGgucmFuZG9tKCl9KTplLl9vcmlnaW5hbFBsYXlsaXN0KCksZS5fcmVmcmVzaCghMCksZHx8IWEoZS5jc3NTZWxlY3Rvci5qUGxheWVyKS5kYXRhKCJqUGxheWVyIikuc3RhdHVzLnBhdXNlZD9lLnBsYXkoMCk6ZS5zZWxlY3QoMCksYSh0aGlzKS5zbGlkZURvd24oZS5vcHRpb25zLnBsYXlsaXN0T3B0aW9ucy5zaHVmZmxlVGltZSl9KX0sYmx1cjpmdW5jdGlvbihiKXthKHRoaXMuY3NzU2VsZWN0b3IualBsYXllcikualBsYXllcigib3B0aW9uIiwiYXV0b0JsdXIiKSYmYShiKS5ibHVyKCl9fX0oalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/jquery.jplayer.inspector.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllckluc3BlY3RvciBQbHVnaW4gZm9yIGpQbGF5ZXIgUGx1Z2luIGZvciBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5CiAqIGh0dHA6Ly93d3cuanBsYXllci5vcmcKICoKICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxNCBIYXBweXdvcm0gTHRkCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4KICogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICoKICogQXV0aG9yOiBNYXJrIEogUGFuYWdoaXN0b24KICogVmVyc2lvbjogMS4wLjUKICogRGF0ZTogMXN0IEFwcmlsIDIwMTQKICoKICogRm9yIHVzZSB3aXRoIGpQbGF5ZXIgVmVyc2lvbjogMi42LjArCiAqCiAqIE5vdGU6IERlY2xhcmUgaW5zcGVjdG9yIGluc3RhbmNlcyBhZnRlciBqUGxheWVyIGluc3RhbmNlcy4gaWUuLCBPdGhlcndpc2UgdGhlIGpQbGF5ZXIgaW5zdGFuY2UgaXMgbm9uc2Vuc2UuCiAqLwoKKGZ1bmN0aW9uKCQsIHVuZGVmaW5lZCkgewoJJC5qUGxheWVySW5zcGVjdG9yID0ge307CgkkLmpQbGF5ZXJJbnNwZWN0b3IuaSA9IDA7CgkkLmpQbGF5ZXJJbnNwZWN0b3IuZGVmYXVsdHMgPSB7CgkJalBsYXllcjogdW5kZWZpbmVkLCAvLyBUaGUgalF1ZXJ5IHNlbGVjdG9yIG9mIHRoZSBqUGxheWVyIGluc3RhbmNlIHRvIGluc3BlY3QuCgkJaWRQcmVmaXg6ICJqcGxheWVyX2luc3BlY3Rvcl8iLAoJCXZpc2libGU6IGZhbHNlCgl9OwoJCgl2YXIgbWV0aG9kcyA9IHsKCQlpbml0OiBmdW5jdGlvbihvcHRpb25zKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdmFyICR0aGlzID0gJCh0aGlzKTsKCQkJCgkJCXZhciBjb25maWcgPSAkLmV4dGVuZCh7fSwgJC5qUGxheWVySW5zcGVjdG9yLmRlZmF1bHRzLCBvcHRpb25zKTsKCQkJJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIiwgY29uZmlnKTsKCgkJCWNvbmZpZy5pZCA9ICQodGhpcykuYXR0cigiaWQiKTsKCQkJY29uZmlnLmpQbGF5ZXJJZCA9IGNvbmZpZy5qUGxheWVyLmF0dHIoImlkIik7CgoJCQljb25maWcud2luZG93SWQgPSBjb25maWcuaWRQcmVmaXggKyAid2luZG93XyIgKyAkLmpQbGF5ZXJJbnNwZWN0b3IuaTsKCQkJY29uZmlnLnN0YXR1c0lkID0gY29uZmlnLmlkUHJlZml4ICsgInN0YXR1c18iICsgJC5qUGxheWVySW5zcGVjdG9yLmk7CgkJCWNvbmZpZy5jb25maWdJZCA9IGNvbmZpZy5pZFByZWZpeCArICJjb25maWdfIiArICQualBsYXllckluc3BlY3Rvci5pOwoJCQljb25maWcudG9nZ2xlSWQgPSBjb25maWcuaWRQcmVmaXggKyAidG9nZ2xlXyIgKyAkLmpQbGF5ZXJJbnNwZWN0b3IuaTsKCQkJY29uZmlnLmV2ZW50UmVzZXRJZCA9IGNvbmZpZy5pZFByZWZpeCArICJldmVudF9yZXNldF8iICsgJC5qUGxheWVySW5zcGVjdG9yLmk7CgkJCWNvbmZpZy51cGRhdGVJZCA9IGNvbmZpZy5pZFByZWZpeCArICJ1cGRhdGVfIiArICQualBsYXllckluc3BlY3Rvci5pOwoJCQljb25maWcuZXZlbnRXaW5kb3dJZCA9IGNvbmZpZy5pZFByZWZpeCArICJldmVudF93aW5kb3dfIiArICQualBsYXllckluc3BlY3Rvci5pOwoJCQkKCQkJY29uZmlnLmV2ZW50SWQgPSB7fTsKCQkJY29uZmlnLmV2ZW50SnEgPSB7fTsKCQkJY29uZmlnLmV2ZW50VGltZW91dCA9IHt9OwoJCQljb25maWcuZXZlbnRPY2N1cnJlbmNlID0ge307CgkJCQoJCQkkLmVhY2goJC5qUGxheWVyLmV2ZW50LCBmdW5jdGlvbihldmVudE5hbWUsZXZlbnRUeXBlKSB7CgkJCQljb25maWcuZXZlbnRJZFtldmVudFR5cGVdID0gY29uZmlnLmlkUHJlZml4ICsgImV2ZW50XyIgKyBldmVudE5hbWUgKyAiXyIgKyAkLmpQbGF5ZXJJbnNwZWN0b3IuaTsKCQkJCWNvbmZpZy5ldmVudE9jY3VycmVuY2VbZXZlbnRUeXBlXSA9IDA7CgkJCX0pOwoJCQkKCQkJdmFyIHN0cnVjdHVyZSA9IAoJCQkJJzxwPjxhIGhyZWY9IiMiIGlkPSInICsgY29uZmlnLnRvZ2dsZUlkICsgJyI+JyArIChjb25maWcudmlzaWJsZSA/ICJIaWRlIiA6ICJTaG93IikgKyAnPC9hPiBqUGxheWVyIEluc3BlY3RvcjwvcD4nIAoJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy53aW5kb3dJZCArICciPicKCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLnN0YXR1c0lkICsgJyI+PC9kaXY+JwoJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRXaW5kb3dJZCArICciIHN0eWxlPSJwYWRkaW5nOjVweCA1cHggMCA1cHg7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlcjoxcHggZG90dGVkICMwMDA7Ij4nCgkJCQkJCSsgJzxwIHN0eWxlPSJtYXJnaW46MCAwIDEwcHggMDsiPjxzdHJvbmc+alBsYXllciBldmVudHMgdGhhdCBoYXZlIG9jY3VycmVkIG92ZXIgdGhlIHBhc3QgMSBzZWNvbmQ6PC9zdHJvbmc+JwoJCQkJCQkrICc8YnIgLz4oQmFja2dyb3VuZHM6IDxzcGFuIHN0eWxlPSJwYWRkaW5nOjAgNXB4O2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+TmV2ZXIgb2NjdXJyZWQ8L3NwYW4+IDxzcGFuIHN0eWxlPSJwYWRkaW5nOjAgNXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+T2NjdXJyZWQgYmVmb3JlPC9zcGFuPiA8c3BhbiBzdHlsZT0icGFkZGluZzowIDVweDtiYWNrZ3JvdW5kLWNvbG9yOiM5Zjk7Ym9yZGVyOjFweCBkb3R0ZWQgIzAwMDsiPk9jY3VycmVkPC9zcGFuPiA8c3BhbiBzdHlsZT0icGFkZGluZzowIDVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk7Ym9yZGVyOjFweCBkb3R0ZWQgIzAwMDsiPk11bHRpcGxlIG9jY3VycmVuY2VzPC9zcGFuPiA8YSBocmVmPSIjIiBpZD0iJyArIGNvbmZpZy5ldmVudFJlc2V0SWQgKyAnIj5yZXNldDwvYT4pPC9wPic7CgkJCQoJCQkvLyBNSlA6IFdvdWxkIHVzZSB0aGUgbmV4dCAzIGxpbmVzIGZvciBlYXNlLCBidXQgdGhlIGV2ZW50cyBhcmUganVzdCBzbGFwcGVkIG9uIHRoZSBwYWdlLgoJCQkvLyAkLmVhY2goJC5qUGxheWVyLmV2ZW50LCBmdW5jdGlvbihldmVudE5hbWUsZXZlbnRUeXBlKSB7CgkJCS8vIAlzdHJ1Y3R1cmUgKz0gJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFtldmVudFR5cGVdICsgJyIgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4nICsgZXZlbnROYW1lICsgJzwvZGl2Pic7CgkJCS8vIH0pOwoJCQkKCQkJdmFyIGV2ZW50U3R5bGUgPSAiZmxvYXQ6bGVmdDttYXJnaW46MCA1cHggNXB4IDA7cGFkZGluZzowIDVweDtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI7CgkJCS8vIE1KUDogRG9pbmcgaXQgbG9uZ2hhbmQgc28gb3JkZXIgYW5kIGxheW91dCBlYXNpZXIgdG8gY29udHJvbC4KCQkJc3RydWN0dXJlICs9CgkJCQkJCSc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LnJlYWR5XSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5zZXRtZWRpYV0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuZmxhc2hyZXNldF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQucmVzaXplXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5yZXBlYXRdICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmNsaWNrXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC53YXJuaW5nXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQubG9hZHN0YXJ0XSArICciIHN0eWxlPSJjbGVhcjpsZWZ0OycgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LnByb2dyZXNzXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC50aW1ldXBkYXRlXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC52b2x1bWVjaGFuZ2VdICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmVycm9yXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQucGxheV0gKyAnIiBzdHlsZT0iY2xlYXI6bGVmdDsnICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5wYXVzZV0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQud2FpdGluZ10gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQucGxheWluZ10gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuc2Vla2luZ10gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuc2Vla2VkXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5lbmRlZF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmxvYWRlZGRhdGFdICsgJyIgc3R5bGU9ImNsZWFyOmxlZnQ7JyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQubG9hZGVkbWV0YWRhdGFdICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmNhbnBsYXldICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoJCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmV2ZW50SWRbJC5qUGxheWVyLmV2ZW50LmNhbnBsYXl0aHJvdWdoXSArICciIHN0eWxlPSInICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuc3VzcGVuZF0gKyAnIiBzdHlsZT0iY2xlYXI6bGVmdDsnICsgZXZlbnRTdHlsZSArICciPjwvZGl2PicKCQkJCQkJKyAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkWyQualBsYXllci5ldmVudC5hYm9ydF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuZW1wdGllZF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuc3RhbGxlZF0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQucmF0ZWNoYW5nZV0gKyAnIiBzdHlsZT0iJyArIGV2ZW50U3R5bGUgKyAnIj48L2Rpdj4nCgkJCQkJCSsgJzxkaXYgaWQ9IicgKyBjb25maWcuZXZlbnRJZFskLmpQbGF5ZXIuZXZlbnQuZHVyYXRpb25jaGFuZ2VdICsgJyIgc3R5bGU9IicgKyBldmVudFN0eWxlICsgJyI+PC9kaXY+JwoKCQkJCQkJKyAnPGRpdiBzdHlsZT0iY2xlYXI6Ym90aCI+PC9kaXY+JzsKCgkJCS8vIE1KUDogV291bGQgbGlrZSBhIGNoZWNrIGhlcmUgaW4gY2FzZSB3ZSBtaXNzZWQgYW4gZXZlbnQuCgoJCQkvLyBNSlA6IENoZWNrIGZhaWxzLCBzaW5jZSBpdCBpcyBub3Qgb24gdGhlIHBhZ2UgeWV0LgovKgkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCWlmKCQoIiMiICsgY29uZmlnLmV2ZW50SWRbZXZlbnRUeXBlXSlbMF0gPT09IHVuZGVmaW5lZCkgewoJCQkJCXN0cnVjdHVyZSArPSAnPGRpdiBpZD0iJyArIGNvbmZpZy5ldmVudElkW2V2ZW50VHlwZV0gKyAnIiBzdHlsZT0iY2xlYXI6bGVmdDsnICsgZXZlbnRTdHlsZSArICciPicgKyBldmVudE5hbWUgKyAnPC9kaXY+JzsKCQkJCX0KCQkJfSk7CiovCgkJCXN0cnVjdHVyZSArPQoJCQkJCSc8L2Rpdj4nCgkJCQkJKyAnPHA+PGEgaHJlZj0iIyIgaWQ9IicgKyBjb25maWcudXBkYXRlSWQgKyAnIj5VcGRhdGU8L2E+IGpQbGF5ZXIgSW5zcGVjdG9yPC9wPicKCQkJCQkrICc8ZGl2IGlkPSInICsgY29uZmlnLmNvbmZpZ0lkICsgJyI+PC9kaXY+JwoJCQkJKyAnPC9kaXY+JzsKCQkJJCh0aGlzKS5odG1sKHN0cnVjdHVyZSk7CgkJCQoJCQljb25maWcud2luZG93SnEgPSAkKCIjIiArIGNvbmZpZy53aW5kb3dJZCk7CgkJCWNvbmZpZy5zdGF0dXNKcSA9ICQoIiMiICsgY29uZmlnLnN0YXR1c0lkKTsKCQkJY29uZmlnLmNvbmZpZ0pxID0gJCgiIyIgKyBjb25maWcuY29uZmlnSWQpOwoJCQljb25maWcudG9nZ2xlSnEgPSAkKCIjIiArIGNvbmZpZy50b2dnbGVJZCk7CgkJCWNvbmZpZy5ldmVudFJlc2V0SnEgPSAkKCIjIiArIGNvbmZpZy5ldmVudFJlc2V0SWQpOwoJCQljb25maWcudXBkYXRlSnEgPSAkKCIjIiArIGNvbmZpZy51cGRhdGVJZCk7CgoJCQkkLmVhY2goJC5qUGxheWVyLmV2ZW50LCBmdW5jdGlvbihldmVudE5hbWUsZXZlbnRUeXBlKSB7CgkJCQljb25maWcuZXZlbnRKcVtldmVudFR5cGVdID0gJCgiIyIgKyBjb25maWcuZXZlbnRJZFtldmVudFR5cGVdKTsKCQkJCWNvbmZpZy5ldmVudEpxW2V2ZW50VHlwZV0udGV4dChldmVudE5hbWUgKyAiICgiICsgY29uZmlnLmV2ZW50T2NjdXJyZW5jZVtldmVudFR5cGVdICsgIikiKTsgLy8gU2V0cyB0aGUgdGV4dCB0byB0aGUgZXZlbnQgbmFtZSBhbmQgKDApOwoJCQkJCgkJCQljb25maWcualBsYXllci5iaW5kKGV2ZW50VHlwZSArICIualBsYXllckluc3BlY3RvciIsIGZ1bmN0aW9uKGUpIHsKCQkJCQljb25maWcuZXZlbnRPY2N1cnJlbmNlW2UudHlwZV0rKzsKCQkJCQlpZihjb25maWcuZXZlbnRPY2N1cnJlbmNlW2UudHlwZV0gPiAxKSB7CgkJCQkJCWNvbmZpZy5ldmVudEpxW2UudHlwZV0uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwiI2ZmOSIpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWNvbmZpZy5ldmVudEpxW2UudHlwZV0uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwiIzlmOSIpOwoJCQkJCX0KCQkJCQljb25maWcuZXZlbnRKcVtlLnR5cGVdLnRleHQoZXZlbnROYW1lICsgIiAoIiArIGNvbmZpZy5ldmVudE9jY3VycmVuY2VbZS50eXBlXSArICIpIik7CgkJCQkJLy8gVGhlIHRpbWVyIHRvIGhhbmRsZSB0aGUgY29sb3IKCQkJCQljbGVhclRpbWVvdXQoY29uZmlnLmV2ZW50VGltZW91dFtlLnR5cGVdKTsKCQkJCQljb25maWcuZXZlbnRUaW1lb3V0W2UudHlwZV0gPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQljb25maWcuZXZlbnRKcVtlLnR5cGVdLmNzcygiYmFja2dyb3VuZC1jb2xvciIsIiNmZmYiKTsKCQkJCQl9LCAxMDAwKTsKCQkJCQkvLyBUaGUgdGltZXIgdG8gaGFuZGxlIHRoZSBvY2N1cmVuY2VzLgoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCWNvbmZpZy5ldmVudE9jY3VycmVuY2VbZS50eXBlXS0tOwoJCQkJCQljb25maWcuZXZlbnRKcVtlLnR5cGVdLnRleHQoZXZlbnROYW1lICsgIiAoIiArIGNvbmZpZy5ldmVudE9jY3VycmVuY2VbZS50eXBlXSArICIpIik7CgkJCQkJfSwgMTAwMCk7CgkJCQkJaWYoY29uZmlnLnZpc2libGUpIHsgLy8gVXBkYXRlIHRoZSBzdGF0dXMsIGlmIGluc3BlY3RvciBvcGVuLgoJCQkJCQkkdGhpcy5qUGxheWVySW5zcGVjdG9yKCJ1cGRhdGVTdGF0dXMiKTsKCQkJCQl9CgkJCQl9KTsKCQkJfSk7CgoJCQljb25maWcualBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5yZWFkeSArICIualBsYXllckluc3BlY3RvciIsIGZ1bmN0aW9uKGUpIHsKCQkJCSR0aGlzLmpQbGF5ZXJJbnNwZWN0b3IoInVwZGF0ZUNvbmZpZyIpOwoJCQl9KTsKCgkJCWNvbmZpZy50b2dnbGVKcS5jbGljayhmdW5jdGlvbigpIHsKCQkJCWlmKGNvbmZpZy52aXNpYmxlKSB7CgkJCQkJJCh0aGlzKS50ZXh0KCJTaG93Iik7CgkJCQkJY29uZmlnLndpbmRvd0pxLmhpZGUoKTsKCQkJCQljb25maWcuc3RhdHVzSnEuZW1wdHkoKTsKCQkJCQljb25maWcuY29uZmlnSnEuZW1wdHkoKTsKCQkJCX0gZWxzZSB7CgkJCQkJJCh0aGlzKS50ZXh0KCJIaWRlIik7CgkJCQkJY29uZmlnLndpbmRvd0pxLnNob3coKTsKCQkJCQljb25maWcudXBkYXRlSnEuY2xpY2soKTsKCQkJCX0KCQkJCWNvbmZpZy52aXNpYmxlID0gIWNvbmZpZy52aXNpYmxlOwoJCQkJJCh0aGlzKS5ibHVyKCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0pOwoKCQkJY29uZmlnLmV2ZW50UmVzZXRKcS5jbGljayhmdW5jdGlvbigpIHsKCQkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCQljb25maWcuZXZlbnRKcVtldmVudFR5cGVdLmNzcygiYmFja2dyb3VuZC1jb2xvciIsIiNlZWUiKTsKCQkJCX0pOwoJCQkJJCh0aGlzKS5ibHVyKCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0pOwoKCQkJY29uZmlnLnVwZGF0ZUpxLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkJJHRoaXMualBsYXllckluc3BlY3RvcigidXBkYXRlU3RhdHVzIik7CgkJCQkkdGhpcy5qUGxheWVySW5zcGVjdG9yKCJ1cGRhdGVDb25maWciKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfSk7CgoJCQlpZighY29uZmlnLnZpc2libGUpIHsKCQkJCWNvbmZpZy53aW5kb3dKcS5oaWRlKCk7CgkJCX0gZWxzZSB7CgkJCQkvLyBjb25maWcudXBkYXRlSnEuY2xpY2soKTsKCQkJfQoJCQkKCQkJJC5qUGxheWVySW5zcGVjdG9yLmkrKzsKCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJZGVzdHJveTogZnVuY3Rpb24oKSB7CgkJCSQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpICYmICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIudW5iaW5kKCIualBsYXllckluc3BlY3RvciIpOwoJCQkkKHRoaXMpLmVtcHR5KCk7CgkJfSwKCQl1cGRhdGVDb25maWc6IGZ1bmN0aW9uKCkgeyAvLyBUaGlzIGRpc3BsYXlzIGluZm9ybWF0aW9uIGFib3V0IGpQbGF5ZXIncyBjb25maWd1cmF0aW9uIGluIGluc3BlY3RvcgoJCQoJCQl2YXIgalBsYXllckluZm8gPSAiPHA+VGhpcyBqUGxheWVyIGluc3RhbmNlIGlzIHJ1bm5pbmcgaW4geW91ciBicm93c2VyIHdoZXJlOjxiciAvPiIKCgkJCWZvcihpID0gMDsgaSA8ICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnNvbHV0aW9ucy5sZW5ndGg7IGkrKykgewoJCQkJdmFyIHNvbHV0aW9uID0gJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc29sdXRpb25zW2ldOwoJCQkJalBsYXllckluZm8gKz0gIiZuYnNwO2pQbGF5ZXIncyA8c3Ryb25nPiIgKyBzb2x1dGlvbiArICI8L3N0cm9uZz4gc29sdXRpb24gaXMiOwkJCQkKCQkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpW3NvbHV0aW9uXS51c2VkKSB7CgkJCQkJalBsYXllckluZm8gKz0gIiBiZWluZyA8c3Ryb25nPnVzZWQ8L3N0cm9uZz4gYW5kIHdpbGwgc3VwcG9ydDo8c3Ryb25nPiI7CgkJCQkJZm9yKGZvcm1hdCBpbiAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKVtzb2x1dGlvbl0uc3VwcG9ydCkgewoJCQkJCQlpZigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKVtzb2x1dGlvbl0uc3VwcG9ydFtmb3JtYXRdKSB7CgkJCQkJCQlqUGxheWVySW5mbyArPSAiICIgKyBmb3JtYXQ7CgkJCQkJCX0KCQkJCQl9CgkJCQkJalBsYXllckluZm8gKz0gIjwvc3Ryb25nPjxiciAvPiI7CgkJCQl9IGVsc2UgewoJCQkJCWpQbGF5ZXJJbmZvICs9ICIgPHN0cm9uZz5ub3QgcmVxdWlyZWQ8L3N0cm9uZz48YnIgLz4iOwoJCQkJfQoJCQl9CgkJCWpQbGF5ZXJJbmZvICs9ICI8L3A+IjsKCgkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwuYWN0aXZlKSB7CgkJCQlpZigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5mbGFzaC5hY3RpdmUpIHsKCQkJCQlqUGxheWVySW5mbyArPSAiPHN0cm9uZz5Qcm9ibGVtIHdpdGggalBsYXllciBzaW5jZSBib3RoIEhUTUw1IGFuZCBGbGFzaCBhcmUgYWN0aXZlLjwvc3Ryb25nPiI7CgkJCQl9IGVsc2UgewoJCQkJCWpQbGF5ZXJJbmZvICs9ICJUaGUgPHN0cm9uZz5IVE1MNSBpcyBhY3RpdmU8L3N0cm9uZz4uIjsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmZsYXNoLmFjdGl2ZSkgewoJCQkJCWpQbGF5ZXJJbmZvICs9ICJUaGUgPHN0cm9uZz5GbGFzaCBpcyBhY3RpdmU8L3N0cm9uZz4uIjsKCQkJCX0gZWxzZSB7CgkJCQkJalBsYXllckluZm8gKz0gIk5vIHNvbHV0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUuIGpQbGF5ZXIgbmVlZHMgYSBzZXRNZWRpYSgpLiI7CgkJCQl9CgkJCX0KCQkJalBsYXllckluZm8gKz0gIjwvcD4iOwoKCQkJdmFyIGZvcm1hdFR5cGUgPSAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuZm9ybWF0VHlwZTsKCQkJalBsYXllckluZm8gKz0gIjxwPjxjb2RlPnN0YXR1cy5mb3JtYXRUeXBlID0gJyIgKyBmb3JtYXRUeXBlICsgIic8L2NvZGU+PGJyIC8+IjsKCQkJaWYoZm9ybWF0VHlwZSkgewoJCQkJalBsYXllckluZm8gKz0gIjxjb2RlPkJyb3dzZXIgY2FuUGxheSgnIiArICQualBsYXllci5wcm90b3R5cGUuZm9ybWF0W2Zvcm1hdFR5cGVdLmNvZGVjICsgIicpPC9jb2RlPiI7CgkJCX0gZWxzZSB7CgkJCQlqUGxheWVySW5mbyArPSAiPC9wPiI7CgkJCX0KCQkJCgkJCWpQbGF5ZXJJbmZvICs9ICI8cD48Y29kZT5zdGF0dXMuc3JjID0gJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc3JjICsgIic8L2NvZGU+PC9wPiI7CgoJCQlqUGxheWVySW5mbyArPSAiPHA+PGNvZGU+c3RhdHVzLm1lZGlhID0gezxiciAvPiI7CgkJCWZvcihwcm9wIGluICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5tZWRpYSkgewoJCQkJalBsYXllckluZm8gKz0gIiZuYnNwOyIgKyBwcm9wICsgIjogIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5tZWRpYVtwcm9wXSArICI8YnIgLz4iOyAvLyBTb21lIGFyZSBzdHJpbmdzCgkJCX0KCQkJalBsYXllckluZm8gKz0gIn07PC9jb2RlPjwvcD4iCgoJCQlqUGxheWVySW5mbyArPSAiPHA+IjsKCQkJalBsYXllckluZm8gKz0gIjxjb2RlPnN0YXR1cy52aWRlb1dpZHRoID0gJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMudmlkZW9XaWR0aCArICInPC9jb2RlPiI7CgkJCWpQbGF5ZXJJbmZvICs9ICIgfCA8Y29kZT5zdGF0dXMudmlkZW9IZWlnaHQgPSAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy52aWRlb0hlaWdodCArICInPC9jb2RlPiI7CgkJCWpQbGF5ZXJJbmZvICs9ICI8YnIgLz48Y29kZT5zdGF0dXMud2lkdGggPSAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy53aWR0aCArICInPC9jb2RlPiI7CgkJCWpQbGF5ZXJJbmZvICs9ICIgfCA8Y29kZT5zdGF0dXMuaGVpZ2h0ID0gJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuaGVpZ2h0ICsgIic8L2NvZGU+IjsKCQkJalBsYXllckluZm8gKz0gIjwvcD4iOwoKCQkJKyAiPHA+UmF3IGJyb3dzZXIgdGVzdCBmb3IgSFRNTDUgc3VwcG9ydC4gU2hvdWxkIGVxdWFsIGEgZnVuY3Rpb24gaWYgSFRNTDUgaXMgYXZhaWxhYmxlLjxiciAvPiI7CgkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQlqUGxheWVySW5mbyArPSAiPGNvZGU+aHRtbEVsZW1lbnQuYXVkaW8uY2FuUGxheVR5cGUgPSAiICsgKHR5cGVvZiAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5odG1sRWxlbWVudC5hdWRpby5jYW5QbGF5VHlwZSkgKyI8L2NvZGU+PGJyIC8+IgoJCQl9CgkJCWlmKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwudmlkZW8uYXZhaWxhYmxlKSB7CgkJCQlqUGxheWVySW5mbyArPSAiPGNvZGU+aHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUgPSAiICsgKHR5cGVvZiAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5odG1sRWxlbWVudC52aWRlby5jYW5QbGF5VHlwZSkgKyI8L2NvZGU+IjsKCQkJfQoJCQlqUGxheWVySW5mbyArPSAiPC9wPiI7CgoJCQlqUGxheWVySW5mbyArPSAiPHA+VGhpcyBpbnN0YW5jZSBpcyB1c2luZyB0aGUgY29uc3RydWN0b3Igb3B0aW9uczo8YnIgLz4iCgkJCSsgIjxjb2RlPiQoJyMiICsgJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuaW50ZXJuYWwuc2VsZi5pZCArICInKS5qUGxheWVyKHs8YnIgLz4iCgoJCQkrICImbmJzcDtzd2ZQYXRoOiAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwgInN3ZlBhdGgiKSArICInLDxiciAvPiIKCgkJCSsgIiZuYnNwO3NvbHV0aW9uOiAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwgInNvbHV0aW9uIikgKyAiJyw8YnIgLz4iCgoJCQkrICImbmJzcDtzdXBwbGllZDogJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJzdXBwbGllZCIpICsgIicsPGJyIC8+IgoKCQkJKyAiJm5ic3A7cHJlbG9hZDogJyIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJwcmVsb2FkIikgKyAiJyw8YnIgLz4iCgkJCQoJCQkrICImbmJzcDt2b2x1bWU6ICIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJ2b2x1bWUiKSArICIsPGJyIC8+IgoJCQkKCQkJKyAiJm5ic3A7bXV0ZWQ6ICIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJtdXRlZCIpICsgIiw8YnIgLz4iCgoJCQkrICImbmJzcDtiYWNrZ3JvdW5kQ29sb3I6ICciICsgJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCAiYmFja2dyb3VuZENvbG9yIikgKyAiJyw8YnIgLz4iCgoJCQkrICImbmJzcDtjc3NTZWxlY3RvckFuY2VzdG9yOiAnIiArICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwgImNzc1NlbGVjdG9yQW5jZXN0b3IiKSArICInLDxiciAvPiIKCgkJCSsgIiZuYnNwO2Nzc1NlbGVjdG9yOiB7IjsKCgkJCXZhciBjc3NTZWxlY3RvciA9ICQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwgImNzc1NlbGVjdG9yIik7CgkJCWZvcihwcm9wIGluIGNzc1NlbGVjdG9yKSB7CgkJCQkKCQkJCS8vIGpQbGF5ZXJJbmZvICs9ICI8YnIgLz4mbmJzcDsmbmJzcDsiICsgcHJvcCArICI6ICciICsgY3NzU2VsZWN0b3JbcHJvcF0gKyAiJywiIC8vIFRoaXMgd29ya3MgdG9vIG9mIGNvdXJzZSwgYnV0IHdhbnQgdG8gdXNlIG9wdGlvbiBtZXRob2QgZm9yIGRlZXAga2V5cy4KCQkJCWpQbGF5ZXJJbmZvICs9ICI8YnIgLz4mbmJzcDsmbmJzcDsiICsgcHJvcCArICI6ICciICsgJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCAiY3NzU2VsZWN0b3IuIiArIHByb3ApICsgIicsIgoJCQl9CgoJCQlqUGxheWVySW5mbyA9IGpQbGF5ZXJJbmZvLnNsaWNlKDAsIC0xKTsgLy8gQmVjYXVzZSB0aGUgc2xvcHB5IGNvbW1hIHdhcyBidWdnaW5nIG1lLgoKCQkJalBsYXllckluZm8gKz0gIjxiciAvPiZuYnNwO30sPGJyIC8+IgoKCQkJKyAiJm5ic3A7ZXJyb3JBbGVydHM6ICIgKyAkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsICJlcnJvckFsZXJ0cyIpICsgIiw8YnIgLz4iCgkJCQoJCQkrICImbmJzcDt3YXJuaW5nQWxlcnRzOiAiICsgJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCAid2FybmluZ0FsZXJ0cyIpICsgIjxiciAvPiIKCgkJCSsgIn0pOzwvY29kZT48L3A+IjsKCQkJJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikuY29uZmlnSnEuaHRtbChqUGxheWVySW5mbyk7CgkJCXJldHVybiB0aGlzOwoJCX0sCgkJdXBkYXRlU3RhdHVzOiBmdW5jdGlvbigpIHsgLy8gVGhpcyBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCBqUGxheWVyJ3Mgc3RhdHVzIGluIHRoZSBpbnNwZWN0b3IKCQkJJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikuc3RhdHVzSnEuaHRtbCgKCQkJCSI8cD5qUGxheWVyIGlzICIgKwoJCQkJKCQodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5wYXVzZWQgPyAicGF1c2VkIiA6ICJwbGF5aW5nIikgKwoJCQkJIiBhdCB0aW1lOiAiICsgTWF0aC5mbG9vcigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuY3VycmVudFRpbWUqMTApLzEwICsgInMuIiArCgkJCQkiIChkOiAiICsgTWF0aC5mbG9vcigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuZHVyYXRpb24qMTApLzEwICsgInMiICsKCQkJCSIsIHNwOiAiICsgTWF0aC5mbG9vcigkKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc2Vla1BlcmNlbnQpICsgIiUiICsKCQkJCSIsIGNwcjogIiArIE1hdGguZmxvb3IoJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUpICsgIiUiICsKCQkJCSIsIGNwYTogIiArIE1hdGguZmxvb3IoJCh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUpICsgIiUpPC9wPiIKCQkJKTsKCQkJcmV0dXJuIHRoaXM7CgkJfQoJfTsKCSQuZm4ualBsYXllckluc3BlY3RvciA9IGZ1bmN0aW9uKCBtZXRob2QgKSB7CgkJLy8gTWV0aG9kIGNhbGxpbmcgbG9naWMKCQlpZiAoIG1ldGhvZHNbbWV0aG9kXSApIHsKCQkJcmV0dXJuIG1ldGhvZHNbIG1ldGhvZCBdLmFwcGx5KCB0aGlzLCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICkpOwoJCX0gZWxzZSBpZiAoIHR5cGVvZiBtZXRob2QgPT09ICdvYmplY3QnIHx8ICEgbWV0aG9kICkgewoJCQlyZXR1cm4gbWV0aG9kcy5pbml0LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKCQl9IGVsc2UgewoJCQkkLmVycm9yKCAnTWV0aG9kICcgKyAgbWV0aG9kICsgJyBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkualBsYXllckluc3BlY3RvcicgKTsKCQl9ICAgIAoJfTsKfSkoalF1ZXJ5KTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/add-on/jquery.jplayer.inspector.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpQbGF5ZXJJbnNwZWN0b3IgZm9yIGpQbGF5ZXIgMi45LjIgfiAoYykgMjAwOS0yMDE0IEhhcHB5d29ybSBMdGQgfiBNSVQgTGljZW5zZSAqLwohZnVuY3Rpb24oYSxiKXthLmpQbGF5ZXJJbnNwZWN0b3I9e30sYS5qUGxheWVySW5zcGVjdG9yLmk9MCxhLmpQbGF5ZXJJbnNwZWN0b3IuZGVmYXVsdHM9e2pQbGF5ZXI6YixpZFByZWZpeDoianBsYXllcl9pbnNwZWN0b3JfIix2aXNpYmxlOiExfTt2YXIgYz17aW5pdDpmdW5jdGlvbihiKXt2YXIgYz1hKHRoaXMpLGQ9YS5leHRlbmQoe30sYS5qUGxheWVySW5zcGVjdG9yLmRlZmF1bHRzLGIpO2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIsZCksZC5pZD1hKHRoaXMpLmF0dHIoImlkIiksZC5qUGxheWVySWQ9ZC5qUGxheWVyLmF0dHIoImlkIiksZC53aW5kb3dJZD1kLmlkUHJlZml4KyJ3aW5kb3dfIithLmpQbGF5ZXJJbnNwZWN0b3IuaSxkLnN0YXR1c0lkPWQuaWRQcmVmaXgrInN0YXR1c18iK2EualBsYXllckluc3BlY3Rvci5pLGQuY29uZmlnSWQ9ZC5pZFByZWZpeCsiY29uZmlnXyIrYS5qUGxheWVySW5zcGVjdG9yLmksZC50b2dnbGVJZD1kLmlkUHJlZml4KyJ0b2dnbGVfIithLmpQbGF5ZXJJbnNwZWN0b3IuaSxkLmV2ZW50UmVzZXRJZD1kLmlkUHJlZml4KyJldmVudF9yZXNldF8iK2EualBsYXllckluc3BlY3Rvci5pLGQudXBkYXRlSWQ9ZC5pZFByZWZpeCsidXBkYXRlXyIrYS5qUGxheWVySW5zcGVjdG9yLmksZC5ldmVudFdpbmRvd0lkPWQuaWRQcmVmaXgrImV2ZW50X3dpbmRvd18iK2EualBsYXllckluc3BlY3Rvci5pLGQuZXZlbnRJZD17fSxkLmV2ZW50SnE9e30sZC5ldmVudFRpbWVvdXQ9e30sZC5ldmVudE9jY3VycmVuY2U9e30sYS5lYWNoKGEualBsYXllci5ldmVudCxmdW5jdGlvbihiLGMpe2QuZXZlbnRJZFtjXT1kLmlkUHJlZml4KyJldmVudF8iK2IrIl8iK2EualBsYXllckluc3BlY3Rvci5pLGQuZXZlbnRPY2N1cnJlbmNlW2NdPTB9KTt2YXIgZT0nPHA+PGEgaHJlZj0iIyIgaWQ9IicrZC50b2dnbGVJZCsnIj4nKyhkLnZpc2libGU/IkhpZGUiOiJTaG93IikrJzwvYT4galBsYXllciBJbnNwZWN0b3I8L3A+PGRpdiBpZD0iJytkLndpbmRvd0lkKyciPjxkaXYgaWQ9IicrZC5zdGF0dXNJZCsnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRXaW5kb3dJZCsnIiBzdHlsZT0icGFkZGluZzo1cHggNXB4IDAgNXB4O2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+PHAgc3R5bGU9Im1hcmdpbjowIDAgMTBweCAwOyI+PHN0cm9uZz5qUGxheWVyIGV2ZW50cyB0aGF0IGhhdmUgb2NjdXJyZWQgb3ZlciB0aGUgcGFzdCAxIHNlY29uZDo8L3N0cm9uZz48YnIgLz4oQmFja2dyb3VuZHM6IDxzcGFuIHN0eWxlPSJwYWRkaW5nOjAgNXB4O2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+TmV2ZXIgb2NjdXJyZWQ8L3NwYW4+IDxzcGFuIHN0eWxlPSJwYWRkaW5nOjAgNXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI+T2NjdXJyZWQgYmVmb3JlPC9zcGFuPiA8c3BhbiBzdHlsZT0icGFkZGluZzowIDVweDtiYWNrZ3JvdW5kLWNvbG9yOiM5Zjk7Ym9yZGVyOjFweCBkb3R0ZWQgIzAwMDsiPk9jY3VycmVkPC9zcGFuPiA8c3BhbiBzdHlsZT0icGFkZGluZzowIDVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk7Ym9yZGVyOjFweCBkb3R0ZWQgIzAwMDsiPk11bHRpcGxlIG9jY3VycmVuY2VzPC9zcGFuPiA8YSBocmVmPSIjIiBpZD0iJytkLmV2ZW50UmVzZXRJZCsnIj5yZXNldDwvYT4pPC9wPicsZj0iZmxvYXQ6bGVmdDttYXJnaW46MCA1cHggNXB4IDA7cGFkZGluZzowIDVweDtib3JkZXI6MXB4IGRvdHRlZCAjMDAwOyI7cmV0dXJuIGUrPSc8ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQucmVhZHldKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnNldG1lZGlhXSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5mbGFzaHJlc2V0XSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5yZXNpemVdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnJlcGVhdF0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuY2xpY2tdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50Lndhcm5pbmddKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LmxvYWRzdGFydF0rJyIgc3R5bGU9ImNsZWFyOmxlZnQ7JytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5wcm9ncmVzc10rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZV0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlXSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5lcnJvcl0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQucGxheV0rJyIgc3R5bGU9ImNsZWFyOmxlZnQ7JytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5wYXVzZV0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQud2FpdGluZ10rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQucGxheWluZ10rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuc2Vla2luZ10rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuc2Vla2VkXSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5lbmRlZF0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YV0rJyIgc3R5bGU9ImNsZWFyOmxlZnQ7JytmKyciPjwvZGl2PjxkaXYgaWQ9IicrZC5ldmVudElkW2EualBsYXllci5ldmVudC5sb2FkZWRtZXRhZGF0YV0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuY2FucGxheV0rJyIgc3R5bGU9IicrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuY2FucGxheXRocm91Z2hdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnN1c3BlbmRdKyciIHN0eWxlPSJjbGVhcjpsZWZ0OycrZisnIj48L2Rpdj48ZGl2IGlkPSInK2QuZXZlbnRJZFthLmpQbGF5ZXIuZXZlbnQuYWJvcnRdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LmVtcHRpZWRdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnN0YWxsZWRdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LnJhdGVjaGFuZ2VdKyciIHN0eWxlPSInK2YrJyI+PC9kaXY+PGRpdiBpZD0iJytkLmV2ZW50SWRbYS5qUGxheWVyLmV2ZW50LmR1cmF0aW9uY2hhbmdlXSsnIiBzdHlsZT0iJytmKyciPjwvZGl2PjxkaXYgc3R5bGU9ImNsZWFyOmJvdGgiPjwvZGl2PicsZSs9JzwvZGl2PjxwPjxhIGhyZWY9IiMiIGlkPSInK2QudXBkYXRlSWQrJyI+VXBkYXRlPC9hPiBqUGxheWVyIEluc3BlY3RvcjwvcD48ZGl2IGlkPSInK2QuY29uZmlnSWQrJyI+PC9kaXY+PC9kaXY+JyxhKHRoaXMpLmh0bWwoZSksZC53aW5kb3dKcT1hKCIjIitkLndpbmRvd0lkKSxkLnN0YXR1c0pxPWEoIiMiK2Quc3RhdHVzSWQpLGQuY29uZmlnSnE9YSgiIyIrZC5jb25maWdJZCksZC50b2dnbGVKcT1hKCIjIitkLnRvZ2dsZUlkKSxkLmV2ZW50UmVzZXRKcT1hKCIjIitkLmV2ZW50UmVzZXRJZCksZC51cGRhdGVKcT1hKCIjIitkLnVwZGF0ZUlkKSxhLmVhY2goYS5qUGxheWVyLmV2ZW50LGZ1bmN0aW9uKGIsZSl7ZC5ldmVudEpxW2VdPWEoIiMiK2QuZXZlbnRJZFtlXSksZC5ldmVudEpxW2VdLnRleHQoYisiICgiK2QuZXZlbnRPY2N1cnJlbmNlW2VdKyIpIiksZC5qUGxheWVyLmJpbmQoZSsiLmpQbGF5ZXJJbnNwZWN0b3IiLGZ1bmN0aW9uKGEpe2QuZXZlbnRPY2N1cnJlbmNlW2EudHlwZV0rKyxkLmV2ZW50T2NjdXJyZW5jZVthLnR5cGVdPjE/ZC5ldmVudEpxW2EudHlwZV0uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwiI2ZmOSIpOmQuZXZlbnRKcVthLnR5cGVdLmNzcygiYmFja2dyb3VuZC1jb2xvciIsIiM5ZjkiKSxkLmV2ZW50SnFbYS50eXBlXS50ZXh0KGIrIiAoIitkLmV2ZW50T2NjdXJyZW5jZVthLnR5cGVdKyIpIiksY2xlYXJUaW1lb3V0KGQuZXZlbnRUaW1lb3V0W2EudHlwZV0pLGQuZXZlbnRUaW1lb3V0W2EudHlwZV09c2V0VGltZW91dChmdW5jdGlvbigpe2QuZXZlbnRKcVthLnR5cGVdLmNzcygiYmFja2dyb3VuZC1jb2xvciIsIiNmZmYiKX0sMWUzKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5ldmVudE9jY3VycmVuY2VbYS50eXBlXS0tLGQuZXZlbnRKcVthLnR5cGVdLnRleHQoYisiICgiK2QuZXZlbnRPY2N1cnJlbmNlW2EudHlwZV0rIikiKX0sMWUzKSxkLnZpc2libGUmJmMualBsYXllckluc3BlY3RvcigidXBkYXRlU3RhdHVzIil9KX0pLGQualBsYXllci5iaW5kKGEualBsYXllci5ldmVudC5yZWFkeSsiLmpQbGF5ZXJJbnNwZWN0b3IiLGZ1bmN0aW9uKCl7Yy5qUGxheWVySW5zcGVjdG9yKCJ1cGRhdGVDb25maWciKX0pLGQudG9nZ2xlSnEuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZC52aXNpYmxlPyhhKHRoaXMpLnRleHQoIlNob3ciKSxkLndpbmRvd0pxLmhpZGUoKSxkLnN0YXR1c0pxLmVtcHR5KCksZC5jb25maWdKcS5lbXB0eSgpKTooYSh0aGlzKS50ZXh0KCJIaWRlIiksZC53aW5kb3dKcS5zaG93KCksZC51cGRhdGVKcS5jbGljaygpKSxkLnZpc2libGU9IWQudmlzaWJsZSxhKHRoaXMpLmJsdXIoKSwhMX0pLGQuZXZlbnRSZXNldEpxLmNsaWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZWFjaChhLmpQbGF5ZXIuZXZlbnQsZnVuY3Rpb24oYSxiKXtkLmV2ZW50SnFbYl0uY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwiI2VlZSIpfSksYSh0aGlzKS5ibHVyKCksITF9KSxkLnVwZGF0ZUpxLmNsaWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGMualBsYXllckluc3BlY3RvcigidXBkYXRlU3RhdHVzIiksYy5qUGxheWVySW5zcGVjdG9yKCJ1cGRhdGVDb25maWciKSwhMX0pLGQudmlzaWJsZXx8ZC53aW5kb3dKcS5oaWRlKCksYS5qUGxheWVySW5zcGVjdG9yLmkrKyx0aGlzfSxkZXN0cm95OmZ1bmN0aW9uKCl7YSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikmJmEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIudW5iaW5kKCIualBsYXllckluc3BlY3RvciIpLGEodGhpcykuZW1wdHkoKX0sdXBkYXRlQ29uZmlnOmZ1bmN0aW9uKCl7dmFyIGI9IjxwPlRoaXMgalBsYXllciBpbnN0YW5jZSBpcyBydW5uaW5nIGluIHlvdXIgYnJvd3NlciB3aGVyZTo8YnIgLz4iO2ZvcihpPTA7aTxhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zb2x1dGlvbnMubGVuZ3RoO2krKyl7dmFyIGM9YSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc29sdXRpb25zW2ldO2lmKGIrPSImbmJzcDtqUGxheWVyJ3MgPHN0cm9uZz4iK2MrIjwvc3Ryb25nPiBzb2x1dGlvbiBpcyIsYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIilbY10udXNlZCl7Yis9IiBiZWluZyA8c3Ryb25nPnVzZWQ8L3N0cm9uZz4gYW5kIHdpbGwgc3VwcG9ydDo8c3Ryb25nPiI7Zm9yKGZvcm1hdCBpbiBhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKVtjXS5zdXBwb3J0KWEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpW2NdLnN1cHBvcnRbZm9ybWF0XSYmKGIrPSIgIitmb3JtYXQpO2IrPSI8L3N0cm9uZz48YnIgLz4ifWVsc2UgYis9IiA8c3Ryb25nPm5vdCByZXF1aXJlZDwvc3Ryb25nPjxiciAvPiJ9Yis9IjwvcD4iLGIrPWEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwuYWN0aXZlP2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmZsYXNoLmFjdGl2ZT8iPHN0cm9uZz5Qcm9ibGVtIHdpdGggalBsYXllciBzaW5jZSBib3RoIEhUTUw1IGFuZCBGbGFzaCBhcmUgYWN0aXZlLjwvc3Ryb25nPiI6IlRoZSA8c3Ryb25nPkhUTUw1IGlzIGFjdGl2ZTwvc3Ryb25nPi4iOmEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmZsYXNoLmFjdGl2ZT8iVGhlIDxzdHJvbmc+Rmxhc2ggaXMgYWN0aXZlPC9zdHJvbmc+LiI6Ik5vIHNvbHV0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUuIGpQbGF5ZXIgbmVlZHMgYSBzZXRNZWRpYSgpLiIsYis9IjwvcD4iO3ZhciBkPWEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5mb3JtYXRUeXBlO2IrPSI8cD48Y29kZT5zdGF0dXMuZm9ybWF0VHlwZSA9ICciK2QrIic8L2NvZGU+PGJyIC8+IixiKz1kPyI8Y29kZT5Ccm93c2VyIGNhblBsYXkoJyIrYS5qUGxheWVyLnByb3RvdHlwZS5mb3JtYXRbZF0uY29kZWMrIicpPC9jb2RlPiI6IjwvcD4iLGIrPSI8cD48Y29kZT5zdGF0dXMuc3JjID0gJyIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLnNyYysiJzwvY29kZT48L3A+IixiKz0iPHA+PGNvZGU+c3RhdHVzLm1lZGlhID0gezxiciAvPiI7Zm9yKHByb3AgaW4gYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLm1lZGlhKWIrPSImbmJzcDsiK3Byb3ArIjogIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMubWVkaWFbcHJvcF0rIjxiciAvPiI7Yis9In07PC9jb2RlPjwvcD4iLGIrPSI8cD4iLGIrPSI8Y29kZT5zdGF0dXMudmlkZW9XaWR0aCA9ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy52aWRlb1dpZHRoKyInPC9jb2RlPiIsYis9IiB8IDxjb2RlPnN0YXR1cy52aWRlb0hlaWdodCA9ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy52aWRlb0hlaWdodCsiJzwvY29kZT4iLGIrPSI8YnIgLz48Y29kZT5zdGF0dXMud2lkdGggPSAnIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMud2lkdGgrIic8L2NvZGU+IixiKz0iIHwgPGNvZGU+c3RhdHVzLmhlaWdodCA9ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5oZWlnaHQrIic8L2NvZGU+IixiKz0iPC9wPiIsYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuaHRtbC5hdWRpby5hdmFpbGFibGUmJihiKz0iPGNvZGU+aHRtbEVsZW1lbnQuYXVkaW8uY2FuUGxheVR5cGUgPSAiK3R5cGVvZiBhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5odG1sRWxlbWVudC5hdWRpby5jYW5QbGF5VHlwZSsiPC9jb2RlPjxiciAvPiIpLGEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLmh0bWwudmlkZW8uYXZhaWxhYmxlJiYoYis9Ijxjb2RlPmh0bWxFbGVtZW50LnZpZGVvLmNhblBsYXlUeXBlID0gIit0eXBlb2YgYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuaHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUrIjwvY29kZT4iKSxiKz0iPC9wPiIsYis9IjxwPlRoaXMgaW5zdGFuY2UgaXMgdXNpbmcgdGhlIGNvbnN0cnVjdG9yIG9wdGlvbnM6PGJyIC8+PGNvZGU+JCgnIyIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuaW50ZXJuYWwuc2VsZi5pZCsiJykualBsYXllcih7PGJyIC8+Jm5ic3A7c3dmUGF0aDogJyIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCJzd2ZQYXRoIikrIicsPGJyIC8+Jm5ic3A7c29sdXRpb246ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwic29sdXRpb24iKSsiJyw8YnIgLz4mbmJzcDtzdXBwbGllZDogJyIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCJzdXBwbGllZCIpKyInLDxiciAvPiZuYnNwO3ByZWxvYWQ6ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwicHJlbG9hZCIpKyInLDxiciAvPiZuYnNwO3ZvbHVtZTogIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsInZvbHVtZSIpKyIsPGJyIC8+Jm5ic3A7bXV0ZWQ6ICIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCJtdXRlZCIpKyIsPGJyIC8+Jm5ic3A7YmFja2dyb3VuZENvbG9yOiAnIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsImJhY2tncm91bmRDb2xvciIpKyInLDxiciAvPiZuYnNwO2Nzc1NlbGVjdG9yQW5jZXN0b3I6ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwiY3NzU2VsZWN0b3JBbmNlc3RvciIpKyInLDxiciAvPiZuYnNwO2Nzc1NlbGVjdG9yOiB7Ijt2YXIgZT1hKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsImNzc1NlbGVjdG9yIik7Zm9yKHByb3AgaW4gZSliKz0iPGJyIC8+Jm5ic3A7Jm5ic3A7Iitwcm9wKyI6ICciK2EodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIualBsYXllcigib3B0aW9uIiwiY3NzU2VsZWN0b3IuIitwcm9wKSsiJywiO3JldHVybiBiPWIuc2xpY2UoMCwtMSksYis9IjxiciAvPiZuYnNwO30sPGJyIC8+Jm5ic3A7ZXJyb3JBbGVydHM6ICIrYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5qUGxheWVyKCJvcHRpb24iLCJlcnJvckFsZXJ0cyIpKyIsPGJyIC8+Jm5ic3A7d2FybmluZ0FsZXJ0czogIithKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmpQbGF5ZXIoIm9wdGlvbiIsIndhcm5pbmdBbGVydHMiKSsiPGJyIC8+fSk7PC9jb2RlPjwvcD4iLGEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmNvbmZpZ0pxLmh0bWwoYiksdGhpc30sdXBkYXRlU3RhdHVzOmZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLnN0YXR1c0pxLmh0bWwoIjxwPmpQbGF5ZXIgaXMgIisoYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLnBhdXNlZD8icGF1c2VkIjoicGxheWluZyIpKyIgYXQgdGltZTogIitNYXRoLmZsb29yKDEwKmEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5jdXJyZW50VGltZSkvMTArInMuIChkOiAiK01hdGguZmxvb3IoMTAqYSh0aGlzKS5kYXRhKCJqUGxheWVySW5zcGVjdG9yIikualBsYXllci5kYXRhKCJqUGxheWVyIikuc3RhdHVzLmR1cmF0aW9uKS8xMCsicywgc3A6ICIrTWF0aC5mbG9vcihhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc2Vla1BlcmNlbnQpKyIlLCBjcHI6ICIrTWF0aC5mbG9vcihhKHRoaXMpLmRhdGEoImpQbGF5ZXJJbnNwZWN0b3IiKS5qUGxheWVyLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuY3VycmVudFBlcmNlbnRSZWxhdGl2ZSkrIiUsIGNwYTogIitNYXRoLmZsb29yKGEodGhpcykuZGF0YSgialBsYXllckluc3BlY3RvciIpLmpQbGF5ZXIuZGF0YSgialBsYXllciIpLnN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlKSsiJSk8L3A+IiksdGhpc319O2EuZm4ualBsYXllckluc3BlY3Rvcj1mdW5jdGlvbihiKXtyZXR1cm4gY1tiXT9jW2JdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKToib2JqZWN0IiE9dHlwZW9mIGImJmI/dm9pZCBhLmVycm9yKCJNZXRob2QgIitiKyIgZG9lcyBub3QgZXhpc3Qgb24galF1ZXJ5LmpQbGF5ZXJJbnNwZWN0b3IiKTpjLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer.jquery.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewoJIm5hbWUiOiAianBsYXllciIsCgkidGl0bGUiOiAialBsYXllciA6IEhUTUw1IEF1ZGlvICYgVmlkZW8iLAoJImRlc2NyaXB0aW9uIjogImpQbGF5ZXIgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBtZWRpYSBwbGF5ZXIgd2l0aCBhIGNvbnNpc3RlbnQgaW50ZXJmYWNlIGFuZCBleHBlcmllbmNlIGFjcm9zcyBhbGwgYnJvd3NlcnMuIiwKCSJrZXl3b3JkcyI6IFsKCQkiYXVkaW8iLAoJCSJ2aWRlbyIsCgkJIm1lZGlhIiwKCQkicGxheWVyIiwKCQkianBsYXllciIsCgkJImh0bWw1IiwKCQkic3RyZWFtaW5nIgoJXSwKCSJ2ZXJzaW9uIjogIjIuNC4wIiwKCSJhdXRob3IiOiB7CgkJIm5hbWUiOiAiTWFyayBKIFBhbmFnaGlzdG9uIiwKCQkidXJsIjogImh0dHA6Ly9oYXBweXdvcm0uY29tLyIKCX0sCgkibGljZW5zZXMiOiBbCgkJewoJCQkidHlwZSI6ICJNSVQiLAoJCQkidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXBweXdvcm0valBsYXllci9ibG9iL21hc3Rlci9NSVQtTElDRU5TRS50eHQiCgkJfQoJXSwKCSJkZXBlbmRlbmNpZXMiOiB7CgkJImpxdWVyeSI6ICI+PTEuNyIKCX0sCgkiaG9tZXBhZ2UiOiAiaHR0cDovL2pwbGF5ZXIub3JnLyIsCgkiZGVtbyI6ICJodHRwOi8vanBsYXllci5vcmcvbGF0ZXN0L2RlbW9zLyIsCgkiZG9jcyI6ICJodHRwOi8vanBsYXllci5vcmcvbGF0ZXN0L2RldmVsb3Blci1ndWlkZS8iLAoJImRvd25sb2FkIjogImh0dHA6Ly9qcGxheWVyLm9yZy9kb3dubG9hZC8iLAoJImJ1Z3MiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcHB5d29ybS9qUGxheWVyL2lzc3VlcyIKfQ==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/jquery.jplayer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE0IEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIFZlcnNpb246IDIuOS4yCiAqIERhdGU6IDE0dGggRGVjZW1iZXIgMjAxNAogKi8KCi8qIFN1cHBvcnQgZm9yIFplcHRvIDEuMCBjb21waWxlZCB3aXRoIG9wdGlvbmFsIGRhdGEgbW9kdWxlLgogKiBGb3IgQU1EIG9yIE5PREUvQ29tbW9uSlMgc3VwcG9ydCwgeW91IHdpbGwgbmVlZCB0byBtYW51YWxseSBzd2l0Y2ggdGhlIHJlbGF0ZWQgMiBsaW5lcyBpbiB0aGUgY29kZSBiZWxvdy4KICogU2VhcmNoIHRlcm1zOiAialF1ZXJ5IFN3aXRjaCIgYW5kICJaZXB0byBTd2l0Y2giCiAqLwoKKGZ1bmN0aW9uIChyb290LCBmYWN0b3J5KSB7CglpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CgkJLy8gQU1ELiBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlLgoJCWRlZmluZShbJ2pxdWVyeSddLCBmYWN0b3J5KTsgLy8galF1ZXJ5IFN3aXRjaAoJCS8vIGRlZmluZShbJ3plcHRvJ10sIGZhY3RvcnkpOyAvLyBaZXB0byBTd2l0Y2gKCX0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7CgkJLy8gTm9kZS9Db21tb25KUwoJCWZhY3RvcnkocmVxdWlyZSgnanF1ZXJ5JykpOyAvLyBqUXVlcnkgU3dpdGNoCgkJLy9mYWN0b3J5KHJlcXVpcmUoJ3plcHRvJykpOyAvLyBaZXB0byBTd2l0Y2gKCX0gZWxzZSB7CgkJLy8gQnJvd3NlciBnbG9iYWxzCgkJaWYocm9vdC5qUXVlcnkpIHsgLy8gVXNlIGpRdWVyeSBpZiBhdmFpbGFibGUKCQkJZmFjdG9yeShyb290LmpRdWVyeSk7CgkJfSBlbHNlIHsgLy8gT3RoZXJ3aXNlLCB1c2UgWmVwdG8KCQkJZmFjdG9yeShyb290LlplcHRvKTsKCQl9Cgl9Cn0odGhpcywgZnVuY3Rpb24gKCQsIHVuZGVmaW5lZCkgewoKCS8vIEFkYXB0ZWQgZnJvbSBqcXVlcnkudWkud2lkZ2V0LmpzICgxLjguNyk6ICQud2lkZ2V0LmJyaWRnZSAtIFR3ZWFrZWQgJC5kYXRhKHRoaXMsWFlaKSB0byAkKHRoaXMpLmRhdGEoWFlaKSBmb3IgWmVwdG8KCSQuZm4ualBsYXllciA9IGZ1bmN0aW9uKCBvcHRpb25zICkgewoJCXZhciBuYW1lID0gImpQbGF5ZXIiOwoJCXZhciBpc01ldGhvZENhbGwgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gInN0cmluZyIsCgkJCWFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICksCgkJCXJldHVyblZhbHVlID0gdGhpczsKCgkJLy8gYWxsb3cgbXVsdGlwbGUgaGFzaGVzIHRvIGJlIHBhc3NlZCBvbiBpbml0CgkJb3B0aW9ucyA9ICFpc01ldGhvZENhbGwgJiYgYXJncy5sZW5ndGggPwoJCQkkLmV4dGVuZC5hcHBseSggbnVsbCwgWyB0cnVlLCBvcHRpb25zIF0uY29uY2F0KGFyZ3MpICkgOgoJCQlvcHRpb25zOwoKCQkvLyBwcmV2ZW50IGNhbGxzIHRvIGludGVybmFsIG1ldGhvZHMKCQlpZiAoIGlzTWV0aG9kQ2FsbCAmJiBvcHRpb25zLmNoYXJBdCggMCApID09PSAiXyIgKSB7CgkJCXJldHVybiByZXR1cm5WYWx1ZTsKCQl9CgoJCWlmICggaXNNZXRob2RDYWxsICkgewoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl2YXIgaW5zdGFuY2UgPSAkKHRoaXMpLmRhdGEoIG5hbWUgKSwKCQkJCQltZXRob2RWYWx1ZSA9IGluc3RhbmNlICYmICQuaXNGdW5jdGlvbiggaW5zdGFuY2Vbb3B0aW9uc10gKSA/CgkJCQkJCWluc3RhbmNlWyBvcHRpb25zIF0uYXBwbHkoIGluc3RhbmNlLCBhcmdzICkgOgoJCQkJCQlpbnN0YW5jZTsKCQkJCWlmICggbWV0aG9kVmFsdWUgIT09IGluc3RhbmNlICYmIG1ldGhvZFZhbHVlICE9PSB1bmRlZmluZWQgKSB7CgkJCQkJcmV0dXJuVmFsdWUgPSBtZXRob2RWYWx1ZTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSB7CgkJCXRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCXZhciBpbnN0YW5jZSA9ICQodGhpcykuZGF0YSggbmFtZSApOwoJCQkJaWYgKCBpbnN0YW5jZSApIHsKCQkJCQkvLyBpbnN0YW5jZS5vcHRpb24oIG9wdGlvbnMgfHwge30gKS5faW5pdCgpOyAvLyBPcmlnIGpxdWVyeS51aS53aWRnZXQuanMgY29kZTogTm90IHJlY29tbWVuZCBmb3IgalBsYXllci4gaWUuLCBBcHBseWluZyBuZXcgb3B0aW9ucyB0byBhbiBleGlzdGluZyBpbnN0YW5jZSAodmlhIHRoZSBqUGxheWVyIGNvbnN0cnVjdG9yKSBhbmQgcGVyZm9ybWluZyB0aGUgX2luaXQoKS4gVGhlIF9pbml0KCkgaXMgd2hhdCBjb25jZXJucyBtZS4gSXQgd291bGQgbGVhdmUgYSBsb3Qgb2YgZXZlbnQgaGFuZGxlcnMgYWN0aW5nIG9uIGpQbGF5ZXIgaW5zdGFuY2UgYW5kIHRoZSBpbnRlcmZhY2UuCgkJCQkJaW5zdGFuY2Uub3B0aW9uKCBvcHRpb25zIHx8IHt9ICk7IC8vIFRoZSBuZXcgY29uc3RydWN0b3Igb25seSBjaGFuZ2VzIHRoZSBvcHRpb25zLiBDaGFuZ2luZyBvcHRpb25zIG9ubHkgaGFzIGJhc2ljIHN1cHBvcnQgYXRtLgoJCQkJfSBlbHNlIHsKCQkJCQkkKHRoaXMpLmRhdGEoIG5hbWUsIG5ldyAkLmpQbGF5ZXIoIG9wdGlvbnMsIHRoaXMgKSApOwoJCQkJfQoJCQl9KTsKCQl9CgoJCXJldHVybiByZXR1cm5WYWx1ZTsKCX07CgoJJC5qUGxheWVyID0gZnVuY3Rpb24oIG9wdGlvbnMsIGVsZW1lbnQgKSB7CgkJLy8gYWxsb3cgaW5zdGFudGlhdGlvbiB3aXRob3V0IGluaXRpYWxpemluZyBmb3Igc2ltcGxlIGluaGVyaXRhbmNlCgkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgewoJCQl0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpOwoJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCXRoaXMub3B0aW9ucywKCQkJCW9wdGlvbnMKCQkJKTsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQl0aGlzLmVsZW1lbnQuYmluZCggInJlbW92ZS5qUGxheWVyIiwgZnVuY3Rpb24oKSB7CgkJCQlzZWxmLmRlc3Ryb3koKTsKCQkJfSk7CgkJCXRoaXMuX2luaXQoKTsKCQl9Cgl9OwoJLy8gRW5kIG9mOiAoQWRhcHRlZCBmcm9tIGpxdWVyeS51aS53aWRnZXQuanMgKDEuOC43KSkKCgkvLyBaZXB0byBpcyBtaXNzaW5nIG9uZSBvZiB0aGUgYW5pbWF0aW9uIG1ldGhvZHMuCglpZih0eXBlb2YgJC5mbi5zdG9wICE9PSAnZnVuY3Rpb24nKSB7CgkJJC5mbi5zdG9wID0gZnVuY3Rpb24oKSB7fTsKCX0KCgkvLyBFbXVsYXRlZCBIVE1MNSBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzCgkkLmpQbGF5ZXIuZW11bGF0ZU1ldGhvZHMgPSAibG9hZCBwbGF5IHBhdXNlIjsKCSQualBsYXllci5lbXVsYXRlU3RhdHVzID0gInNyYyByZWFkeVN0YXRlIG5ldHdvcmtTdGF0ZSBjdXJyZW50VGltZSBkdXJhdGlvbiBwYXVzZWQgZW5kZWQgcGxheWJhY2tSYXRlIjsKCSQualBsYXllci5lbXVsYXRlT3B0aW9ucyA9ICJtdXRlZCB2b2x1bWUiOwoKCS8vIFJlc2VydmVkIGV2ZW50IG5hbWVzIGdlbmVyYXRlZCBieSBqUGxheWVyIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBIVE1MNSBNZWRpYSBlbGVtZW50IHNwZWMKCSQualBsYXllci5yZXNlcnZlZEV2ZW50ID0gInJlYWR5IGZsYXNocmVzZXQgcmVzaXplIHJlcGVhdCBlcnJvciB3YXJuaW5nIjsKCgkvLyBFdmVudHMgZ2VuZXJhdGVkIGJ5IGpQbGF5ZXIKCSQualBsYXllci5ldmVudCA9IHt9OwoJJC5lYWNoKAoJCVsKCQkJJ3JlYWR5JywKCQkJJ3NldG1lZGlhJywgLy8gRmlyZXMgd2hlbiB0aGUgbWVkaWEgaXMgc2V0CgkJCSdmbGFzaHJlc2V0JywgLy8gU2ltaWxhciB0byB0aGUgcmVhZHkgZXZlbnQgaWYgdGhlIEZsYXNoIHNvbHV0aW9uIGlzIHNldCB0byBkaXNwbGF5Om5vbmUgYW5kIHRoZW4gc2hvd24gYWdhaW4gb3IgaWYgaXQncyByZWxvYWRlZCBmb3IgYW5vdGhlciByZWFzb24gYnkgdGhlIGJyb3dzZXIuIEZvciBleGFtcGxlLCB1c2luZyBDU1MgcG9zaXRpb246Zml4ZWQgb24gRmlyZWZveCBmb3IgdGhlIGZ1bGwgc2NyZWVuIGZlYXR1cmUuCgkJCSdyZXNpemUnLCAvLyBPY2N1cnMgd2hlbiB0aGUgc2l6ZSBjaGFuZ2VzIHRocm91Z2ggYSBmdWxsL3Jlc3RvcmUgc2NyZWVuIG9wZXJhdGlvbiBvciBpZiB0aGUgc2l6ZS9zaXplRnVsbCBvcHRpb25zIGFyZSBjaGFuZ2VkLgoJCQkncmVwZWF0JywgLy8gT2NjdXJzIHdoZW4gdGhlIHJlcGVhdCBzdGF0dXMgY2hhbmdlcy4gVXN1YWxseSB0aHJvdWdoIGNsaWNrcyBvbiB0aGUgcmVwZWF0IGJ1dHRvbiBvZiB0aGUgaW50ZXJmYWNlLgoJCQknY2xpY2snLCAvLyBPY2N1cnMgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gb25lIG9mIHRoZSBmb2xsb3dpbmc6IHBvc3RlciBpbWFnZSwgaHRtbCB2aWRlbywgZmxhc2ggdmlkZW8uCgkJCSdlcnJvcicsIC8vIEV2ZW50IGVycm9yIGNvZGUgaW4gZXZlbnQualBsYXllci5lcnJvci50eXBlLiBTZWUgJC5qUGxheWVyLmVycm9yCgkJCSd3YXJuaW5nJywgLy8gRXZlbnQgd2FybmluZyBjb2RlIGluIGV2ZW50LmpQbGF5ZXIud2FybmluZy50eXBlLiBTZWUgJC5qUGxheWVyLndhcm5pbmcKCgkJCS8vIE90aGVyIGV2ZW50cyBtYXRjaCBIVE1MNSBzcGVjLgoJCQknbG9hZHN0YXJ0JywKCQkJJ3Byb2dyZXNzJywKCQkJJ3N1c3BlbmQnLAoJCQknYWJvcnQnLAoJCQknZW1wdGllZCcsCgkJCSdzdGFsbGVkJywKCQkJJ3BsYXknLAoJCQkncGF1c2UnLAoJCQknbG9hZGVkbWV0YWRhdGEnLAoJCQknbG9hZGVkZGF0YScsCgkJCSd3YWl0aW5nJywKCQkJJ3BsYXlpbmcnLAoJCQknY2FucGxheScsCgkJCSdjYW5wbGF5dGhyb3VnaCcsCgkJCSdzZWVraW5nJywKCQkJJ3NlZWtlZCcsCgkJCSd0aW1ldXBkYXRlJywKCQkJJ2VuZGVkJywKCQkJJ3JhdGVjaGFuZ2UnLAoJCQknZHVyYXRpb25jaGFuZ2UnLAoJCQkndm9sdW1lY2hhbmdlJwoJCV0sCgkJZnVuY3Rpb24oKSB7CgkJCSQualBsYXllci5ldmVudFsgdGhpcyBdID0gJ2pQbGF5ZXJfJyArIHRoaXM7CgkJfQoJKTsKCgkkLmpQbGF5ZXIuaHRtbEV2ZW50ID0gWyAvLyBUaGVzZSBIVE1MIGV2ZW50cyBhcmUgYnViYmxlZCB0aHJvdWdoIHRvIHRoZSBqUGxheWVyIGV2ZW50LCB3aXRob3V0IGFueSBpbnRlcm5hbCBhY3Rpb24uCgkJImxvYWRzdGFydCIsCgkJLy8gInByb2dyZXNzIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJzdXNwZW5kIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCSJhYm9ydCIsCgkJLy8gImVycm9yIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCSJlbXB0aWVkIiwKCQkic3RhbGxlZCIsCgkJLy8gInBsYXkiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInBhdXNlIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCSJsb2FkZWRtZXRhZGF0YSIsCgkJLy8gImxvYWRlZGRhdGEiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gIndhaXRpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInBsYXlpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImNhbnBsYXkiLAoJCSJjYW5wbGF5dGhyb3VnaCIKCQkvLyAic2Vla2luZyIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAic2Vla2VkIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJ0aW1ldXBkYXRlIiwgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJlbmRlZCIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAicmF0ZWNoYW5nZSIgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJkdXJhdGlvbmNoYW5nZSIgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJCS8vICJ2b2x1bWVjaGFuZ2UiIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCV07CgoJJC5qUGxheWVyLnBhdXNlID0gZnVuY3Rpb24oKSB7CgkJJC5qUGxheWVyLnByb3RvdHlwZS5kZXN0cm95UmVtb3ZlZCgpOwoJCSQuZWFjaCgkLmpQbGF5ZXIucHJvdG90eXBlLmluc3RhbmNlcywgZnVuY3Rpb24oaSwgZWxlbWVudCkgewoJCQlpZihlbGVtZW50LmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc3JjU2V0KSB7IC8vIENoZWNrIHRoYXQgbWVkaWEgaXMgc2V0IG90aGVyd2lzZSB3b3VsZCBjYXVzZSBlcnJvciBldmVudC4KCQkJCWVsZW1lbnQualBsYXllcigicGF1c2UiKTsKCQkJfQoJCX0pOwoJfTsKCgkvLyBEZWZhdWx0IGZvciBqUGxheWVyIG9wdGlvbi50aW1lRm9ybWF0CgkkLmpQbGF5ZXIudGltZUZvcm1hdCA9IHsKCQlzaG93SG91cjogZmFsc2UsCgkJc2hvd01pbjogdHJ1ZSwKCQlzaG93U2VjOiB0cnVlLAoJCXBhZEhvdXI6IGZhbHNlLAoJCXBhZE1pbjogdHJ1ZSwKCQlwYWRTZWM6IHRydWUsCgkJc2VwSG91cjogIjoiLAoJCXNlcE1pbjogIjoiLAoJCXNlcFNlYzogIiIKCX07Cgl2YXIgQ29udmVydFRpbWUgPSBmdW5jdGlvbigpIHsKCQl0aGlzLmluaXQoKTsKCX07CglDb252ZXJ0VGltZS5wcm90b3R5cGUgPSB7CgkJaW5pdDogZnVuY3Rpb24oKSB7CgkJCXRoaXMub3B0aW9ucyA9IHsKCQkJCXRpbWVGb3JtYXQ6ICQualBsYXllci50aW1lRm9ybWF0CgkJCX07CgkJfSwKCQl0aW1lOiBmdW5jdGlvbihzKSB7IC8vIGZ1bmN0aW9uIHVzZWQgb24galBsYXllci5wcm90b3R5cGUuX2NvbnZlcnRUaW1lIHRvIGVuYWJsZSBwZXIgaW5zdGFuY2Ugb3B0aW9ucy4KCQkJcyA9IChzICYmIHR5cGVvZiBzID09PSAnbnVtYmVyJykgPyBzIDogMDsKCgkJCXZhciBteVRpbWUgPSBuZXcgRGF0ZShzICogMTAwMCksCgkJCQlob3VyID0gbXlUaW1lLmdldFVUQ0hvdXJzKCksCgkJCQltaW4gPSB0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zaG93SG91ciA/IG15VGltZS5nZXRVVENNaW51dGVzKCkgOiBteVRpbWUuZ2V0VVRDTWludXRlcygpICsgaG91ciAqIDYwLAoJCQkJc2VjID0gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd01pbiA/IG15VGltZS5nZXRVVENTZWNvbmRzKCkgOiBteVRpbWUuZ2V0VVRDU2Vjb25kcygpICsgbWluICogNjAsCgkJCQlzdHJIb3VyID0gKHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZEhvdXIgJiYgaG91ciA8IDEwKSA/ICIwIiArIGhvdXIgOiBob3VyLAoJCQkJc3RyTWluID0gKHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZE1pbiAmJiBtaW4gPCAxMCkgPyAiMCIgKyBtaW4gOiBtaW4sCgkJCQlzdHJTZWMgPSAodGhpcy5vcHRpb25zLnRpbWVGb3JtYXQucGFkU2VjICYmIHNlYyA8IDEwKSA/ICIwIiArIHNlYyA6IHNlYywKCQkJCXN0clRpbWUgPSAiIjsKCgkJCXN0clRpbWUgKz0gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd0hvdXIgPyBzdHJIb3VyICsgdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2VwSG91ciA6ICIiOwoJCQlzdHJUaW1lICs9IHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dNaW4gPyBzdHJNaW4gKyB0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zZXBNaW4gOiAiIjsKCQkJc3RyVGltZSArPSB0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zaG93U2VjID8gc3RyU2VjICsgdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2VwU2VjIDogIiI7CgoJCQlyZXR1cm4gc3RyVGltZTsKCQl9Cgl9OwoJdmFyIG15Q29udmVydFRpbWUgPSBuZXcgQ29udmVydFRpbWUoKTsKCSQualBsYXllci5jb252ZXJ0VGltZSA9IGZ1bmN0aW9uKHMpIHsKCQlyZXR1cm4gbXlDb252ZXJ0VGltZS50aW1lKHMpOwoJfTsKCgkvLyBBZGFwdGluZyBqUXVlcnkgMS40LjQgY29kZSBmb3IgalF1ZXJ5LmJyb3dzZXIuIFJlcXVpcmVkIHNpbmNlIGpRdWVyeSAxLjMuMiBkb2VzIG5vdCBkZXRlY3QgQ2hyb21lIGFzIHdlYmtpdC4KCSQualBsYXllci51YUJyb3dzZXIgPSBmdW5jdGlvbiggdXNlckFnZW50ICkgewoJCXZhciB1YSA9IHVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpOwoKCQkvLyBVc2VyYWdlbnQgUmVnRXhwCgkJdmFyIHJ3ZWJraXQgPSAvKHdlYmtpdClbIFwvXShbXHcuXSspLzsKCQl2YXIgcm9wZXJhID0gLyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvOwoJCXZhciBybXNpZSA9IC8obXNpZSkgKFtcdy5dKykvOwoJCXZhciBybW96aWxsYSA9IC8obW96aWxsYSkoPzouKj8gcnY6KFtcdy5dKykpPy87CgoJCXZhciBtYXRjaCA9IHJ3ZWJraXQuZXhlYyggdWEgKSB8fAoJCQlyb3BlcmEuZXhlYyggdWEgKSB8fAoJCQlybXNpZS5leGVjKCB1YSApIHx8CgkJCXVhLmluZGV4T2YoImNvbXBhdGlibGUiKSA8IDAgJiYgcm1vemlsbGEuZXhlYyggdWEgKSB8fAoJCQlbXTsKCgkJcmV0dXJuIHsgYnJvd3NlcjogbWF0Y2hbMV0gfHwgIiIsIHZlcnNpb246IG1hdGNoWzJdIHx8ICIwIiB9OwoJfTsKCgkvLyBQbGF0Zm9ybSBzbmlmZmVyIGZvciBkZXRlY3RpbmcgbW9iaWxlIGRldmljZXMKCSQualBsYXllci51YVBsYXRmb3JtID0gZnVuY3Rpb24oIHVzZXJBZ2VudCApIHsKCQl2YXIgdWEgPSB1c2VyQWdlbnQudG9Mb3dlckNhc2UoKTsKCgkJLy8gVXNlcmFnZW50IFJlZ0V4cAoJCXZhciBycGxhdGZvcm0gPSAvKGlwYWR8aXBob25lfGlwb2R8YW5kcm9pZHxibGFja2JlcnJ5fHBsYXlib29rfHdpbmRvd3MgY2V8d2Vib3MpLzsKCQl2YXIgcnRhYmxldCA9IC8oaXBhZHxwbGF5Ym9vaykvOwoJCXZhciByYW5kcm9pZCA9IC8oYW5kcm9pZCkvOwoJCXZhciBybW9iaWxlID0gLyhtb2JpbGUpLzsKCgkJdmFyIHBsYXRmb3JtID0gcnBsYXRmb3JtLmV4ZWMoIHVhICkgfHwgW107CgkJdmFyIHRhYmxldCA9IHJ0YWJsZXQuZXhlYyggdWEgKSB8fAoJCQkhcm1vYmlsZS5leGVjKCB1YSApICYmIHJhbmRyb2lkLmV4ZWMoIHVhICkgfHwKCQkJW107CgoJCWlmKHBsYXRmb3JtWzFdKSB7CgkJCXBsYXRmb3JtWzFdID0gcGxhdGZvcm1bMV0ucmVwbGFjZSgvXHMvZywgIl8iKTsgLy8gQ2hhbmdlIHdoaXRlc3BhY2UgdG8gdW5kZXJzY29yZS4gRW5hYmxlcyBkb3Qgbm90YXRpb24uCgkJfQoKCQlyZXR1cm4geyBwbGF0Zm9ybTogcGxhdGZvcm1bMV0gfHwgIiIsIHRhYmxldDogdGFibGV0WzFdIHx8ICIiIH07Cgl9OwoKCSQualBsYXllci5icm93c2VyID0gewoJfTsKCSQualBsYXllci5wbGF0Zm9ybSA9IHsKCX07CgoJdmFyIGJyb3dzZXJNYXRjaCA9ICQualBsYXllci51YUJyb3dzZXIobmF2aWdhdG9yLnVzZXJBZ2VudCk7CglpZiAoIGJyb3dzZXJNYXRjaC5icm93c2VyICkgewoJCSQualBsYXllci5icm93c2VyWyBicm93c2VyTWF0Y2guYnJvd3NlciBdID0gdHJ1ZTsKCQkkLmpQbGF5ZXIuYnJvd3Nlci52ZXJzaW9uID0gYnJvd3Nlck1hdGNoLnZlcnNpb247Cgl9Cgl2YXIgcGxhdGZvcm1NYXRjaCA9ICQualBsYXllci51YVBsYXRmb3JtKG5hdmlnYXRvci51c2VyQWdlbnQpOwoJaWYgKCBwbGF0Zm9ybU1hdGNoLnBsYXRmb3JtICkgewoJCSQualBsYXllci5wbGF0Zm9ybVsgcGxhdGZvcm1NYXRjaC5wbGF0Zm9ybSBdID0gdHJ1ZTsKCQkkLmpQbGF5ZXIucGxhdGZvcm0ubW9iaWxlID0gIXBsYXRmb3JtTWF0Y2gudGFibGV0OwoJCSQualBsYXllci5wbGF0Zm9ybS50YWJsZXQgPSAhIXBsYXRmb3JtTWF0Y2gudGFibGV0OwoJfQoKCS8vIEludGVybmV0IEV4cGxvcmVyIChJRSkgQnJvd3NlciBEb2N1bWVudCBNb2RlIFNuaWZmZXIuIEJhc2VkIG9uIGNvZGUgYXQ6CgkvLyBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvY2MyODgzMjUlMjh2PXZzLjg1JTI5LmFzcHgjR2V0TW9kZQoJJC5qUGxheWVyLmdldERvY01vZGUgPSBmdW5jdGlvbigpIHsKCQl2YXIgZG9jTW9kZTsKCQlpZiAoJC5qUGxheWVyLmJyb3dzZXIubXNpZSkgewoJCQlpZiAoZG9jdW1lbnQuZG9jdW1lbnRNb2RlKSB7IC8vIElFOCBvciBsYXRlcgoJCQkJZG9jTW9kZSA9IGRvY3VtZW50LmRvY3VtZW50TW9kZTsKCQkJfSBlbHNlIHsgLy8gSUUgNS03CgkJCQlkb2NNb2RlID0gNTsgLy8gQXNzdW1lIHF1aXJrcyBtb2RlIHVubGVzcyBwcm92ZW4gb3RoZXJ3aXNlCgkJCQlpZiAoZG9jdW1lbnQuY29tcGF0TW9kZSkgewoJCQkJCWlmIChkb2N1bWVudC5jb21wYXRNb2RlID09PSAiQ1NTMUNvbXBhdCIpIHsKCQkJCQkJZG9jTW9kZSA9IDc7IC8vIHN0YW5kYXJkcyBtb2RlCgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiBkb2NNb2RlOwoJfTsKCSQualBsYXllci5icm93c2VyLmRvY3VtZW50TW9kZSA9ICQualBsYXllci5nZXREb2NNb2RlKCk7CgoJJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzID0gewoJCWluaXQ6IGZ1bmN0aW9uKCkgewoKCQkJLyogRnVsbHNjcmVlbiBmdW5jdGlvbiBuYW1pbmcgaW5mbHVlbmNlZCBieSBXM0MgbmFtaW5nLgoJCQkgKiBObyBzdXBwb3J0IGZvcjogTW96aWxsYSBQcm9wb3NhbDogaHR0cHM6Ly93aWtpLm1vemlsbGEub3JnL0dlY2tvOkZ1bGxTY3JlZW5BUEkKCQkJICovCgoJCQl2YXIgZCA9IGRvY3VtZW50LAoJCQkJdiA9IGQuY3JlYXRlRWxlbWVudCgndmlkZW8nKSwKCQkJCXNwZWMgPSB7CgkJCQkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvZnVsbHNjcmVlbi8KCQkJCQl3M2M6IFsKCQkJCQkJJ2Z1bGxzY3JlZW5FbmFibGVkJywKCQkJCQkJJ2Z1bGxzY3JlZW5FbGVtZW50JywKCQkJCQkJJ3JlcXVlc3RGdWxsc2NyZWVuJywKCQkJCQkJJ2V4aXRGdWxsc2NyZWVuJywKCQkJCQkJJ2Z1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJCQknZnVsbHNjcmVlbmVycm9yJwoJCQkJCV0sCgkJCQkJLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9ET00vVXNpbmdfZnVsbHNjcmVlbl9tb2RlCgkJCQkJbW96OiBbCgkJCQkJCSdtb3pGdWxsU2NyZWVuRW5hYmxlZCcsCgkJCQkJCSdtb3pGdWxsU2NyZWVuRWxlbWVudCcsCgkJCQkJCSdtb3pSZXF1ZXN0RnVsbFNjcmVlbicsCgkJCQkJCSdtb3pDYW5jZWxGdWxsU2NyZWVuJywKCQkJCQkJJ21vemZ1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJCQknbW96ZnVsbHNjcmVlbmVycm9yJwoJCQkJCV0sCgkJCQkJLy8gaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9zYWZhcmkvI2RvY3VtZW50YXRpb24vV2ViS2l0L1JlZmVyZW5jZS9FbGVtZW50Q2xhc3NSZWYvRWxlbWVudC9FbGVtZW50Lmh0bWwKCQkJCQkvLyBodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L3NhZmFyaS8jZG9jdW1lbnRhdGlvbi9Vc2VyRXhwZXJpZW5jZS9SZWZlcmVuY2UvRG9jdW1lbnRBZGRpdGlvbnNSZWZlcmVuY2UvRG9jdW1lbnRBZGRpdGlvbnMvRG9jdW1lbnRBZGRpdGlvbnMuaHRtbAoJCQkJCXdlYmtpdDogWwoJCQkJCQknJywKCQkJCQkJJ3dlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudCcsCgkJCQkJCSd3ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbicsCgkJCQkJCSd3ZWJraXRDYW5jZWxGdWxsU2NyZWVuJywKCQkJCQkJJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJCQknJwoJCQkJCV0sCgkJCQkJLy8gaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9zYWZhcmkvI2RvY3VtZW50YXRpb24vQXVkaW9WaWRlby9SZWZlcmVuY2UvSFRNTFZpZGVvRWxlbWVudENsYXNzUmVmZXJlbmNlL0hUTUxWaWRlb0VsZW1lbnQvSFRNTFZpZGVvRWxlbWVudC5odG1sCgkJCQkJLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvc2FmYXJpL3NhbXBsZWNvZGUvSFRNTDVWaWRlb0V2ZW50Rmxvdy9MaXN0aW5ncy9ldmVudHNfanMuaHRtbCMvL2FwcGxlX3JlZi9kb2MvdWlkL0RUUzQwMDEwMDg1LWV2ZW50c19qcy1Eb250TGlua0VsZW1lbnRJRF81CgkJCQkJLy8gRXZlbnRzOiAnd2Via2l0YmVnaW5mdWxsc2NyZWVuJyBhbmQgJ3dlYmtpdGVuZGZ1bGxzY3JlZW4nCgkJCQkJd2Via2l0VmlkZW86IFsKCQkJCQkJJ3dlYmtpdFN1cHBvcnRzRnVsbHNjcmVlbicsCgkJCQkJCSd3ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsCgkJCQkJCSd3ZWJraXRFbnRlckZ1bGxzY3JlZW4nLAoJCQkJCQknd2Via2l0RXhpdEZ1bGxzY3JlZW4nLAoJCQkJCQknJywKCQkJCQkJJycKCQkJCQldLAoJCQkJCW1zOiBbCgkJCQkJCScnLAoJCQkJCQknbXNGdWxsc2NyZWVuRWxlbWVudCcsCgkJCQkJCSdtc1JlcXVlc3RGdWxsc2NyZWVuJywKCQkJCQkJJ21zRXhpdEZ1bGxzY3JlZW4nLAoJCQkJCQknTVNGdWxsc2NyZWVuQ2hhbmdlJywKCQkJCQkJJ01TRnVsbHNjcmVlbkVycm9yJwoJCQkJCV0KCQkJCX0sCgkJCQlzcGVjT3JkZXIgPSBbCgkJCQkJJ3czYycsCgkJCQkJJ21veicsCgkJCQkJJ3dlYmtpdCcsCgkJCQkJJ3dlYmtpdFZpZGVvJywKCQkJCQknbXMnCgkJCQldLAoJCQkJZnMsIGksIGlsOwoKCQkJdGhpcy5mdWxsc2NyZWVuID0gZnMgPSB7CgkJCQlzdXBwb3J0OiB7CgkJCQkJdzNjOiAhIWRbc3BlYy53M2NbMF1dLAoJCQkJCW1vejogISFkW3NwZWMubW96WzBdXSwKCQkJCQl3ZWJraXQ6IHR5cGVvZiBkW3NwZWMud2Via2l0WzNdXSA9PT0gJ2Z1bmN0aW9uJywKCQkJCQl3ZWJraXRWaWRlbzogdHlwZW9mIHZbc3BlYy53ZWJraXRWaWRlb1syXV0gPT09ICdmdW5jdGlvbicsCgkJCQkJbXM6IHR5cGVvZiB2W3NwZWMubXNbMl1dID09PSAnZnVuY3Rpb24nCgkJCQl9LAoJCQkJdXNlZDoge30KCQkJfTsKCgkJCS8vIFN0b3JlIHRoZSBuYW1lIG9mIHRoZSBzcGVjIGJlaW5nIHVzZWQgYW5kIGFzIGEgaGFuZHkgYm9vbGVhbi4KCQkJZm9yKGkgPSAwLCBpbCA9IHNwZWNPcmRlci5sZW5ndGg7IGkgPCBpbDsgaSsrKSB7CgkJCQl2YXIgbiA9IHNwZWNPcmRlcltpXTsKCQkJCWlmKGZzLnN1cHBvcnRbbl0pIHsKCQkJCQlmcy5zcGVjID0gbjsKCQkJCQlmcy51c2VkW25dID0gdHJ1ZTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoKCQkJaWYoZnMuc3BlYykgewoJCQkJdmFyIHMgPSBzcGVjW2ZzLnNwZWNdOwoJCQkJZnMuYXBpID0gewoJCQkJCWZ1bGxzY3JlZW5FbmFibGVkOiB0cnVlLAoJCQkJCWZ1bGxzY3JlZW5FbGVtZW50OiBmdW5jdGlvbihlbGVtKSB7CgkJCQkJCWVsZW0gPSBlbGVtID8gZWxlbSA6IGQ7IC8vIFZpZGVvIGVsZW1lbnQgcmVxdWlyZWQgZm9yIHdlYmtpdFZpZGVvCgkJCQkJCXJldHVybiBlbGVtW3NbMV1dOwoJCQkJCX0sCgkJCQkJcmVxdWVzdEZ1bGxzY3JlZW46IGZ1bmN0aW9uKGVsZW0pIHsKCQkJCQkJcmV0dXJuIGVsZW1bc1syXV0oKTsgLy8gQ2hyb21lIGFuZCBPcGVyYSB3YW50IHBhcmFtZXRlciAoRWxlbWVudC5BTExPV19LRVlCT0FSRF9JTlBVVCkgYnV0IFNhZmFyaSBmYWlscyBpZiBmbGFnIHVzZWQuCgkJCQkJfSwKCQkJCQlleGl0RnVsbHNjcmVlbjogZnVuY3Rpb24oZWxlbSkgewoJCQkJCQllbGVtID0gZWxlbSA/IGVsZW0gOiBkOyAvLyBWaWRlbyBlbGVtZW50IHJlcXVpcmVkIGZvciB3ZWJraXRWaWRlbwoJCQkJCQlyZXR1cm4gZWxlbVtzWzNdXSgpOwoJCQkJCX0KCQkJCX07CgkJCQlmcy5ldmVudCA9IHsKCQkJCQlmdWxsc2NyZWVuY2hhbmdlOiBzWzRdLAoJCQkJCWZ1bGxzY3JlZW5lcnJvcjogc1s1XQoJCQkJfTsKCQkJfSBlbHNlIHsKCQkJCWZzLmFwaSA9IHsKCQkJCQlmdWxsc2NyZWVuRW5hYmxlZDogZmFsc2UsCgkJCQkJZnVsbHNjcmVlbkVsZW1lbnQ6IGZ1bmN0aW9uKCkgewoJCQkJCQlyZXR1cm4gbnVsbDsKCQkJCQl9LAoJCQkJCXJlcXVlc3RGdWxsc2NyZWVuOiBmdW5jdGlvbigpIHt9LAoJCQkJCWV4aXRGdWxsc2NyZWVuOiBmdW5jdGlvbigpIHt9CgkJCQl9OwoJCQkJZnMuZXZlbnQgPSB7fTsKCQkJfQoJCX0KCX07CgkkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuaW5pdCgpOwoKCS8vIFRoZSBrZXlib2FyZCBjb250cm9sIHN5c3RlbS4KCgkvLyBUaGUgY3VycmVudCBqUGxheWVyIGluc3RhbmNlIGluIGZvY3VzLgoJJC5qUGxheWVyLmZvY3VzID0gbnVsbDsKCgkvLyBUaGUgbGlzdCBvZiBlbGVtZW50IG5vZGUgbmFtZXMgdG8gaWdub3JlIHdpdGgga2V5IGNvbnRyb2xzLgoJJC5qUGxheWVyLmtleUlnbm9yZUVsZW1lbnROYW1lcyA9ICJBIElOUFVUIFRFWFRBUkVBIFNFTEVDVCBCVVRUT04iOwoKCS8vIFRoZSBmdW5jdGlvbiB0aGF0IGRlYWxzIHdpdGgga2V5IHByZXNzZXMuCgl2YXIga2V5QmluZGluZ3MgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBmID0gJC5qUGxheWVyLmZvY3VzLAoJCQlpZ25vcmVLZXk7CgoJCS8vIEEgalBsYXllciBpbnN0YW5jZSBtdXN0IGJlIGluIGZvY3VzLiBpZS4sIGtleUVuYWJsZWQgYW5kIHRoZSBsYXN0IG9uZSBwbGF5ZWQuCgkJaWYoZikgewoJCQkvLyBXaGF0IGdlbmVyYXRlZCB0aGUga2V5IHByZXNzPwoJCQkkLmVhY2goICQualBsYXllci5rZXlJZ25vcmVFbGVtZW50TmFtZXMuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJLy8gVGhlIHN0cmluZ3Mgc2hvdWxkIGFscmVhZHkgYmUgdXBwZXJjYXNlLgoJCQkJaWYoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lLnRvVXBwZXJDYXNlKCkgPT09IG5hbWUudG9VcHBlckNhc2UoKSkgewoJCQkJCWlnbm9yZUtleSA9IHRydWU7CgkJCQkJcmV0dXJuIGZhbHNlOyAvLyBleGl0IGVhY2guCgkJCQl9CgkJCX0pOwoJCQlpZighaWdub3JlS2V5KSB7CgkJCQkvLyBTZWUgaWYgdGhlIGtleSBwcmVzc2VkIG1hdGNoZXMgYW55IG9mIHRoZSBiaW5kaW5ncy4KCQkJCSQuZWFjaChmLm9wdGlvbnMua2V5QmluZGluZ3MsIGZ1bmN0aW9uKGFjdGlvbiwgYmluZGluZykgewoJCQkJCS8vIFRoZSBiaW5kaW5nIGNvdWxkIGJlIGEgbnVsbCB3aGVuIHRoZSBkZWZhdWx0IGhhcyBiZWVuIGRpc2FibGVkLiBpZS4sIDFzdCBjbGF1c2UgaW4gaWYoKQoJCQkJCWlmKAoJCQkJCQkoYmluZGluZyAmJiAkLmlzRnVuY3Rpb24oYmluZGluZy5mbikpICYmCgkJCQkJCSgodHlwZW9mIGJpbmRpbmcua2V5ID09PSAnbnVtYmVyJyAmJiBldmVudC53aGljaCA9PT0gYmluZGluZy5rZXkpIHx8CgkJCQkJCSh0eXBlb2YgYmluZGluZy5rZXkgPT09ICdzdHJpbmcnICYmIGV2ZW50LmtleSA9PT0gYmluZGluZy5rZXkpKQoJCQkJCSkgewoJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBLZXkgYmVpbmcgdXNlZCBieSBqUGxheWVyLCBzbyBwcmV2ZW50IGRlZmF1bHQgb3BlcmF0aW9uLgoJCQkJCQliaW5kaW5nLmZuKGYpOwoJCQkJCQlyZXR1cm4gZmFsc2U7IC8vIGV4aXQgZWFjaC4KCQkJCQl9CgkJCQl9KTsKCQkJfQoJCX0KCX07CgoJJC5qUGxheWVyLmtleXMgPSBmdW5jdGlvbihlbikgewoJCXZhciBldmVudCA9ICJrZXlkb3duLmpQbGF5ZXIiOwoJCS8vIFJlbW92ZSBhbnkgYmluZGluZywganVzdCBpbiBjYXNlIGVuYWJsZWQgbW9yZSB0aGFuIG9uY2UuCgkJJChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnVuYmluZChldmVudCk7CgkJaWYoZW4pIHsKCQkJJChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmJpbmQoZXZlbnQsIGtleUJpbmRpbmdzKTsKCQl9Cgl9OwoKCS8vIEVuYWJsZSB0aGUgZ2xvYmFsIGtleSBjb250cm9sIGhhbmRsZXIgcmVhZHkgZm9yIGFueSBqUGxheWVyIGluc3RhbmNlIHdpdGggdGhlIGtleUVuYWJsZWQgb3B0aW9uIGVuYWJsZWQuCgkkLmpQbGF5ZXIua2V5cyh0cnVlKTsKCgkkLmpQbGF5ZXIucHJvdG90eXBlID0gewoJCWNvdW50OiAwLCAvLyBTdGF0aWMgVmFyaWFibGU6IENoYW5nZSBpdCB2aWEgcHJvdG90eXBlLgoJCXZlcnNpb246IHsgLy8gU3RhdGljIE9iamVjdAoJCQlzY3JpcHQ6ICIyLjkuMiIsCgkJCW5lZWRGbGFzaDogIjIuOS4wIiwKCQkJZmxhc2g6ICJ1bmtub3duIgoJCX0sCgkJb3B0aW9uczogeyAvLyBJbnN0YW5jZWQgaW4gJC5qUGxheWVyKCkgY29uc3RydWN0b3IKCQkJc3dmUGF0aDogImpzIiwgLy8gUGF0aCB0byBqcXVlcnkuanBsYXllci5zd2YuIENhbiBiZSByZWxhdGl2ZSwgYWJzb2x1dGUgb3Igc2VydmVyIHJvb3QgcmVsYXRpdmUuCgkJCXNvbHV0aW9uOiAiaHRtbCwgZmxhc2giLCAvLyBWYWxpZCBzb2x1dGlvbnM6IGh0bWwsIGZsYXNoLCBhdXJvcmEuIE9yZGVyIGRlZmluZXMgcHJpb3JpdHkuIDFzdCBpcyBoaWdoZXN0LAoJCQlzdXBwbGllZDogIm1wMyIsIC8vIERlZmluZXMgd2hpY2ggZm9ybWF0cyBqUGxheWVyIHdpbGwgdHJ5IGFuZCBzdXBwb3J0IGFuZCB0aGUgcHJpb3JpdHkgYnkgdGhlIG9yZGVyLiAxc3QgaXMgaGlnaGVzdCwKCQkJYXVyb3JhRm9ybWF0czogIndhdiIsIC8vIExpc3QgdGhlIGF1cm9yYS5qcyBjb2RlY3MgYmVpbmcgbG9hZGVkIGV4dGVybmFsbHkuIEl0cyBjb3JlIHN1cHBvcnRzICJ3YXYiLiBTcGVjaWZ5IGZvcm1hdCBpbiBqUGxheWVyIGNvbnRleHQuIEVHLiwgVGhlIGFhYy5qcyBjb2RlYyBnaXZlcyB0aGUgIm00YSIgZm9ybWF0LgoJCQlwcmVsb2FkOiAnbWV0YWRhdGEnLCAgLy8gSFRNTDUgU3BlYyB2YWx1ZXM6IG5vbmUsIG1ldGFkYXRhLCBhdXRvLgoJCQl2b2x1bWU6IDAuOCwgLy8gVGhlIHZvbHVtZS4gTnVtYmVyIDAgdG8gMS4KCQkJbXV0ZWQ6IGZhbHNlLAoJCQlyZW1haW5pbmdEdXJhdGlvbjogZmFsc2UsIC8vIFdoZW4gdHJ1ZSwgdGhlIHJlbWFpbmluZyB0aW1lIGlzIHNob3duIGluIHRoZSBkdXJhdGlvbiBHVUkgZWxlbWVudC4KCQkJdG9nZ2xlRHVyYXRpb246IGZhbHNlLCAvLyBXaGVuIHRydWUsIGNsaWNrcyBvbiB0aGUgZHVyYXRpb24gdG9nZ2xlIGJldHdlZW4gdGhlIGR1cmF0aW9uIGFuZCByZW1haW5pbmcgZGlzcGxheS4KCQkJY2FwdHVyZUR1cmF0aW9uOiB0cnVlLCAvLyBXaGVuIHRydWUsIGNsaWNrcyBvbiB0aGUgZHVyYXRpb24gYXJlIGNhcHR1cmVkIGFuZCBubyBsb25nZXIgcHJvcGFnYXRlIHVwIHRoZSBET00uCgkJCXBsYXliYWNrUmF0ZTogMSwKCQkJZGVmYXVsdFBsYXliYWNrUmF0ZTogMSwKCQkJbWluUGxheWJhY2tSYXRlOiAwLjUsCgkJCW1heFBsYXliYWNrUmF0ZTogNCwKCQkJd21vZGU6ICJvcGFxdWUiLCAvLyBWYWxpZCB3bW9kZTogd2luZG93LCB0cmFuc3BhcmVudCwgb3BhcXVlLCBkaXJlY3QsIGdwdS4gCgkJCWJhY2tncm91bmRDb2xvcjogIiMwMDAwMDAiLCAvLyBUbyBkZWZpbmUgdGhlIGpQbGF5ZXIgZGl2IGFuZCBGbGFzaCBiYWNrZ3JvdW5kIGNvbG9yLgoJCQljc3NTZWxlY3RvckFuY2VzdG9yOiAiI2pwX2NvbnRhaW5lcl8xIiwKCQkJY3NzU2VsZWN0b3I6IHsgLy8gKiBkZW5vdGVzIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgb25seSBiZSByZXF1aXJlZCB3aGVuIHZpZGVvIG1lZGlhIHR5cGUgcmVxdWlyZWQuIF9jc3NTZWxlY3RvcigpIHdvdWxkIHJlcXVpcmUgY2hhbmdlcyB0byBlbmFibGUgc3BsaXR0aW5nIHRoZXNlIGludG8gQXVkaW8gYW5kIFZpZGVvIGRlZmF1bHRzLgoJCQkJdmlkZW9QbGF5OiAiLmpwLXZpZGVvLXBsYXkiLCAvLyAqCgkJCQlwbGF5OiAiLmpwLXBsYXkiLAoJCQkJcGF1c2U6ICIuanAtcGF1c2UiLAoJCQkJc3RvcDogIi5qcC1zdG9wIiwKCQkJCXNlZWtCYXI6ICIuanAtc2Vlay1iYXIiLAoJCQkJcGxheUJhcjogIi5qcC1wbGF5LWJhciIsCgkJCQltdXRlOiAiLmpwLW11dGUiLAoJCQkJdW5tdXRlOiAiLmpwLXVubXV0ZSIsCgkJCQl2b2x1bWVCYXI6ICIuanAtdm9sdW1lLWJhciIsCgkJCQl2b2x1bWVCYXJWYWx1ZTogIi5qcC12b2x1bWUtYmFyLXZhbHVlIiwKCQkJCXZvbHVtZU1heDogIi5qcC12b2x1bWUtbWF4IiwKCQkJCXBsYXliYWNrUmF0ZUJhcjogIi5qcC1wbGF5YmFjay1yYXRlLWJhciIsCgkJCQlwbGF5YmFja1JhdGVCYXJWYWx1ZTogIi5qcC1wbGF5YmFjay1yYXRlLWJhci12YWx1ZSIsCgkJCQljdXJyZW50VGltZTogIi5qcC1jdXJyZW50LXRpbWUiLAoJCQkJZHVyYXRpb246ICIuanAtZHVyYXRpb24iLAoJCQkJdGl0bGU6ICIuanAtdGl0bGUiLAoJCQkJZnVsbFNjcmVlbjogIi5qcC1mdWxsLXNjcmVlbiIsIC8vICoKCQkJCXJlc3RvcmVTY3JlZW46ICIuanAtcmVzdG9yZS1zY3JlZW4iLCAvLyAqCgkJCQlyZXBlYXQ6ICIuanAtcmVwZWF0IiwKCQkJCXJlcGVhdE9mZjogIi5qcC1yZXBlYXQtb2ZmIiwKCQkJCWd1aTogIi5qcC1ndWkiLCAvLyBUaGUgaW50ZXJmYWNlIHVzZWQgd2l0aCBhdXRvaGlkZSBmZWF0dXJlLgoJCQkJbm9Tb2x1dGlvbjogIi5qcC1uby1zb2x1dGlvbiIgLy8gRm9yIGVycm9yIGZlZWRiYWNrIHdoZW4galBsYXllciBjYW5ub3QgZmluZCBhIHNvbHV0aW9uLgoJCQl9LAoJCQlzdGF0ZUNsYXNzOiB7IC8vIENsYXNzZXMgYWRkZWQgdG8gdGhlIGNzc1NlbGVjdG9yQW5jZXN0b3IgdG8gaW5kaWNhdGUgdGhlIHN0YXRlLgoJCQkJcGxheWluZzogImpwLXN0YXRlLXBsYXlpbmciLAoJCQkJc2Vla2luZzogImpwLXN0YXRlLXNlZWtpbmciLAoJCQkJbXV0ZWQ6ICJqcC1zdGF0ZS1tdXRlZCIsCgkJCQlsb29wZWQ6ICJqcC1zdGF0ZS1sb29wZWQiLAoJCQkJZnVsbFNjcmVlbjogImpwLXN0YXRlLWZ1bGwtc2NyZWVuIiwKCQkJCW5vVm9sdW1lOiAianAtc3RhdGUtbm8tdm9sdW1lIgoJCQl9LAoJCQl1c2VTdGF0ZUNsYXNzU2tpbjogZmFsc2UsIC8vIEEgc3RhdGUgY2xhc3Mgc2tpbiByZWxpZXMgb24gdGhlIHN0YXRlIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSB2aXN1YWwgYXBwZWFyYW5jZS4gVGhlIHNpbmdsZSBjb250cm9sIHRvZ2dsZXMgdGhlIGVmZmVjdCwgZm9yIGV4YW1wbGU6IHBsYXkgdGhlbiBwYXVzZSwgbXV0ZSB0aGVuIHVubXV0ZS4KCQkJYXV0b0JsdXI6IHRydWUsIC8vIEdVSSBjb250cm9sIGhhbmRsZXJzIHdpbGwgZHJvcCBmb2N1cyBhZnRlciBjbGlja3MuCgkJCXNtb290aFBsYXlCYXI6IGZhbHNlLCAvLyBTbW9vdGhzIHRoZSBwbGF5IGJhciB0cmFuc2l0aW9ucywgd2hpY2ggYWZmZWN0cyBjbGlja3MgYW5kIHNob3J0IG1lZGlhIHdpdGggYmlnIGNoYW5nZXMgcGVyIHNlY29uZC4KCQkJZnVsbFNjcmVlbjogZmFsc2UsIC8vIE5hdGl2ZSBGdWxsIFNjcmVlbgoJCQlmdWxsV2luZG93OiBmYWxzZSwKCQkJYXV0b2hpZGU6IHsKCQkJCXJlc3RvcmVkOiBmYWxzZSwgLy8gQ29udHJvbHMgdGhlIGludGVyZmFjZSBhdXRvaGlkZSBmZWF0dXJlLgoJCQkJZnVsbDogdHJ1ZSwgLy8gQ29udHJvbHMgdGhlIGludGVyZmFjZSBhdXRvaGlkZSBmZWF0dXJlLgoJCQkJZmFkZUluOiAyMDAsIC8vIE1pbGxpc2Vjb25kcy4gVGhlIHBlcmlvZCBvZiB0aGUgZmFkZUluIGFuaW0uCgkJCQlmYWRlT3V0OiA2MDAsIC8vIE1pbGxpc2Vjb25kcy4gVGhlIHBlcmlvZCBvZiB0aGUgZmFkZU91dCBhbmltLgoJCQkJaG9sZDogMTAwMCAvLyBNaWxsaXNlY29uZHMuIFRoZSBwZXJpb2Qgb2YgdGhlIHBhdXNlIGJlZm9yZSBhdXRvaGlkZSBiZWluZ3MuCgkJCX0sCgkJCWxvb3A6IGZhbHNlLAoJCQlyZXBlYXQ6IGZ1bmN0aW9uKGV2ZW50KSB7IC8vIFRoZSBkZWZhdWx0IGpQbGF5ZXIgcmVwZWF0IGV2ZW50IGhhbmRsZXIKCQkJCWlmKGV2ZW50LmpQbGF5ZXIub3B0aW9ucy5sb29wKSB7CgkJCQkJJCh0aGlzKS51bmJpbmQoIi5qUGxheWVyUmVwZWF0IikuYmluZCgkLmpQbGF5ZXIuZXZlbnQuZW5kZWQgKyAiLmpQbGF5ZXIualBsYXllclJlcGVhdCIsIGZ1bmN0aW9uKCkgewoJCQkJCQkkKHRoaXMpLmpQbGF5ZXIoInBsYXkiKTsKCQkJCQl9KTsKCQkJCX0gZWxzZSB7CgkJCQkJJCh0aGlzKS51bmJpbmQoIi5qUGxheWVyUmVwZWF0Iik7CgkJCQl9CgkJCX0sCgkJCW5hdGl2ZVZpZGVvQ29udHJvbHM6IHsKCQkJCS8vIFdvcmtzIHdlbGwgb24gc3RhbmRhcmQgYnJvd3NlcnMuCgkJCQkvLyBQaG9uZSBhbmQgdGFibGV0IGJyb3dzZXJzIGNhbiBoYXZlIHByb2JsZW1zIHdpdGggdGhlIGNvbnRyb2xzIGRpc2FwcGVhcmluZy4KCQkJfSwKCQkJbm9GdWxsV2luZG93OiB7CgkJCQltc2llOiAvbXNpZSBbMC02XVwuLywKCQkJCWlwYWQ6IC9pcGFkLio/b3MgWzAtNF1cLi8sCgkJCQlpcGhvbmU6IC9pcGhvbmUvLAoJCQkJaXBvZDogL2lwb2QvLAoJCQkJYW5kcm9pZF9wYWQ6IC9hbmRyb2lkIFswLTNdXC4oPyEuKj9tb2JpbGUpLywKCQkJCWFuZHJvaWRfcGhvbmU6IC8oPz0uKmFuZHJvaWQpKD8hLipjaHJvbWUpKD89Liptb2JpbGUpLywKCQkJCWJsYWNrYmVycnk6IC9ibGFja2JlcnJ5LywKCQkJCXdpbmRvd3NfY2U6IC93aW5kb3dzIGNlLywKCQkJCWllbW9iaWxlOiAvaWVtb2JpbGUvLAoJCQkJd2Vib3M6IC93ZWJvcy8KCQkJfSwKCQkJbm9Wb2x1bWU6IHsKCQkJCWlwYWQ6IC9pcGFkLywKCQkJCWlwaG9uZTogL2lwaG9uZS8sCgkJCQlpcG9kOiAvaXBvZC8sCgkJCQlhbmRyb2lkX3BhZDogL2FuZHJvaWQoPyEuKj9tb2JpbGUpLywKCQkJCWFuZHJvaWRfcGhvbmU6IC9hbmRyb2lkLio/bW9iaWxlLywKCQkJCWJsYWNrYmVycnk6IC9ibGFja2JlcnJ5LywKCQkJCXdpbmRvd3NfY2U6IC93aW5kb3dzIGNlLywKCQkJCWllbW9iaWxlOiAvaWVtb2JpbGUvLAoJCQkJd2Vib3M6IC93ZWJvcy8sCgkJCQlwbGF5Ym9vazogL3BsYXlib29rLwoJCQl9LAoJCQl0aW1lRm9ybWF0OiB7CgkJCQkvLyBTcGVjaWZpYyB0aW1lIGZvcm1hdCBmb3IgdGhpcyBpbnN0YW5jZS4gVGhlIHN1cHBvcnRlZCBvcHRpb25zIGFyZSBkZWZpbmVkIGluICQualBsYXllci50aW1lRm9ybWF0CgkJCQkvLyBGb3IgdGhlIHVuZGVmaW5lZCBvcHRpb25zIHdlIHVzZSB0aGUgZGVmYXVsdCBmcm9tICQualBsYXllci50aW1lRm9ybWF0CgkJCX0sCgkJCWtleUVuYWJsZWQ6IGZhbHNlLCAvLyBFbmFibGVzIGtleWJvYXJkIGNvbnRyb2xzLgoJCQlhdWRpb0Z1bGxTY3JlZW46IGZhbHNlLCAvLyBFbmFibGVzIGtleWJvYXJkIGNvbnRyb2xzIHRvIGVudGVyIGZ1bGwgc2NyZWVuIHdpdGggYXVkaW8gbWVkaWEuCgkJCWtleUJpbmRpbmdzOiB7IC8vIFRoZSBrZXkgY29udHJvbCBvYmplY3QsIGRlZmluaW5nIHRoZSBrZXkgY29kZXMgYW5kIHRoZSBmdW5jdGlvbnMgdG8gZXhlY3V0ZS4KCQkJCS8vIFRoZSBwYXJhbWV0ZXIsIGYgPSAkLmpQbGF5ZXIuZm9jdXMsIHdpbGwgYmUgY2hlY2tlZCB0cnVldGh5IGJlZm9yZSBhdHRlbXB0aW5nIHRvIGNhbGwgYW55IG9mIHRoZXNlIGZ1bmN0aW9ucy4KCQkJCS8vIFByb3BlcnRpZXMgbWF5IGJlIGFkZGVkIHRvIHRoaXMgb2JqZWN0LCBpbiBrZXkvZm4gcGFpcnMsIHRvIGVuYWJsZSBvdGhlciBrZXkgY29udHJvbHMuIEVHLCBmb3IgdGhlIHBsYXlsaXN0IGFkZC1vbi4KCQkJCXBsYXk6IHsKCQkJCQlrZXk6IDgwLCAvLyBwCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJaWYoZi5zdGF0dXMucGF1c2VkKSB7CgkJCQkJCQlmLnBsYXkoKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWYucGF1c2UoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0sCgkJCQlmdWxsU2NyZWVuOiB7CgkJCQkJa2V5OiA3MCwgLy8gZgoJCQkJCWZuOiBmdW5jdGlvbihmKSB7CgkJCQkJCWlmKGYuc3RhdHVzLnZpZGVvIHx8IGYub3B0aW9ucy5hdWRpb0Z1bGxTY3JlZW4pIHsKCQkJCQkJCWYuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsICFmLm9wdGlvbnMuZnVsbFNjcmVlbik7CgkJCQkJCX0KCQkJCQl9CgkJCQl9LAoJCQkJbXV0ZWQ6IHsKCQkJCQlrZXk6IDc3LCAvLyBtCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi5fbXV0ZWQoIWYub3B0aW9ucy5tdXRlZCk7CgkJCQkJfQoJCQkJfSwKCQkJCXZvbHVtZVVwOiB7CgkJCQkJa2V5OiAxOTAsIC8vIC4KCQkJCQlmbjogZnVuY3Rpb24oZikgewoJCQkJCQlmLnZvbHVtZShmLm9wdGlvbnMudm9sdW1lICsgMC4xKTsKCQkJCQl9CgkJCQl9LAoJCQkJdm9sdW1lRG93bjogewoJCQkJCWtleTogMTg4LCAvLyAsCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi52b2x1bWUoZi5vcHRpb25zLnZvbHVtZSAtIDAuMSk7CgkJCQkJfQoJCQkJfSwKCQkJCWxvb3A6IHsKCQkJCQlrZXk6IDc2LCAvLyBsCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi5fbG9vcCghZi5vcHRpb25zLmxvb3ApOwoJCQkJCX0KCQkJCX0KCQkJfSwKCQkJdmVydGljYWxWb2x1bWU6IGZhbHNlLCAvLyBDYWxjdWxhdGUgdm9sdW1lIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgdm9sdW1lIGJhci4gRGVmYXVsdCBpcyBmcm9tIHRoZSBsZWZ0LiBBbHNvIHZvbHVtZSBhZmZlY3RzIGVpdGhlciB3aWR0aCBvciBoZWlnaHQuCgkJCXZlcnRpY2FsUGxheWJhY2tSYXRlOiBmYWxzZSwKCQkJZ2xvYmFsVm9sdW1lOiBmYWxzZSwgLy8gU2V0IHRvIG1ha2Ugdm9sdW1lIGFuZCBtdXRlZCBjaGFuZ2VzIGFmZmVjdCBhbGwgalBsYXllciBpbnN0YW5jZXMgd2l0aCB0aGlzIG9wdGlvbiBlbmFibGVkCgkJCWlkUHJlZml4OiAianAiLCAvLyBQcmVmaXggZm9yIHRoZSBpZHMgb2YgaHRtbCBlbGVtZW50cyBjcmVhdGVkIGJ5IGpQbGF5ZXIuIEZvciBmbGFzaCwgdGhpcyBtdXN0IG5vdCBpbmNsdWRlIGNoYXJhY3RlcnM6IC4gLSArICogLyBcCgkJCW5vQ29uZmxpY3Q6ICJqUXVlcnkiLAoJCQllbXVsYXRlSHRtbDogZmFsc2UsIC8vIEVtdWxhdGVzIHRoZSBIVE1MNSBNZWRpYSBlbGVtZW50IG9uIHRoZSBqUGxheWVyIGVsZW1lbnQuCgkJCWNvbnNvbGVBbGVydHM6IHRydWUsIC8vIEFsZXJ0cyBhcmUgc2VudCB0byB0aGUgY29uc29sZS5sb2coKSBpbnN0ZWFkIG9mIGFsZXJ0KCkuCgkJCWVycm9yQWxlcnRzOiBmYWxzZSwKCQkJd2FybmluZ0FsZXJ0czogZmFsc2UKCQl9LAoJCW9wdGlvbnNBdWRpbzogewoJCQlzaXplOiB7CgkJCQl3aWR0aDogIjBweCIsCgkJCQloZWlnaHQ6ICIwcHgiLAoJCQkJY3NzQ2xhc3M6ICIiCgkJCX0sCgkJCXNpemVGdWxsOiB7CgkJCQl3aWR0aDogIjBweCIsCgkJCQloZWlnaHQ6ICIwcHgiLAoJCQkJY3NzQ2xhc3M6ICIiCgkJCX0KCQl9LAoJCW9wdGlvbnNWaWRlbzogewoJCQlzaXplOiB7CgkJCQl3aWR0aDogIjQ4MHB4IiwKCQkJCWhlaWdodDogIjI3MHB4IiwKCQkJCWNzc0NsYXNzOiAianAtdmlkZW8tMjcwcCIKCQkJfSwKCQkJc2l6ZUZ1bGw6IHsKCQkJCXdpZHRoOiAiMTAwJSIsCgkJCQloZWlnaHQ6ICIxMDAlIiwKCQkJCWNzc0NsYXNzOiAianAtdmlkZW8tZnVsbCIKCQkJfQoJCX0sCgkJaW5zdGFuY2VzOiB7fSwgLy8gU3RhdGljIE9iamVjdAoJCXN0YXR1czogeyAvLyBJbnN0YW5jZWQgaW4gX2luaXQoKQoJCQlzcmM6ICIiLAoJCQltZWRpYToge30sCgkJCXBhdXNlZDogdHJ1ZSwKCQkJZm9ybWF0OiB7fSwKCQkJZm9ybWF0VHlwZTogIiIsCgkJCXdhaXRGb3JQbGF5OiB0cnVlLCAvLyBTYW1lIGFzIHdhaXRGb3JMb2FkIGV4Y2VwdCBpbiBjYXNlIHdoZXJlIHByZWxvYWRpbmcuCgkJCXdhaXRGb3JMb2FkOiB0cnVlLAoJCQlzcmNTZXQ6IGZhbHNlLAoJCQl2aWRlbzogZmFsc2UsIC8vIFRydWUgaWYgcGxheWluZyBhIHZpZGVvCgkJCXNlZWtQZXJjZW50OiAwLAoJCQljdXJyZW50UGVyY2VudFJlbGF0aXZlOiAwLAoJCQljdXJyZW50UGVyY2VudEFic29sdXRlOiAwLAoJCQljdXJyZW50VGltZTogMCwKCQkJZHVyYXRpb246IDAsCgkJCXJlbWFpbmluZzogMCwKCQkJdmlkZW9XaWR0aDogMCwgLy8gSW50cmluc2ljIHdpZHRoIG9mIHRoZSB2aWRlbyBpbiBwaXhlbHMuCgkJCXZpZGVvSGVpZ2h0OiAwLCAvLyBJbnRyaW5zaWMgaGVpZ2h0IG9mIHRoZSB2aWRlbyBpbiBwaXhlbHMuCgkJCXJlYWR5U3RhdGU6IDAsCgkJCW5ldHdvcmtTdGF0ZTogMCwKCQkJcGxheWJhY2tSYXRlOiAxLCAvLyBXYXJuaW5nIC0gTm93IGJvdGggYW4gb3B0aW9uIGFuZCBhIHN0YXR1cyBwcm9wZXJ0eQoJCQllbmRlZDogMAoKLyoJCVBlcnNpc3RhbnQgc3RhdHVzIHByb3BlcnRpZXMgY3JlYXRlZCBkeW5hbWljYWxseSBhdCBfaW5pdCgpOgoJCQl3aWR0aAoJCQloZWlnaHQKCQkJY3NzQ2xhc3MKCQkJbmF0aXZlVmlkZW9Db250cm9scwoJCQlub0Z1bGxXaW5kb3cKCQkJbm9Wb2x1bWUKCQkJcGxheWJhY2tSYXRlRW5hYmxlZCAvLyBXYXJuaW5nIC0gVGVjaG5pY2FsbHksIHdlIGNhbiBoYXZlIGJvdGggRmxhc2ggYW5kIEhUTUwsIHNvIHRoaXMgbWlnaHQgbm90IGJlIGNvcnJlY3QgaWYgdGhlIEZsYXNoIGlzIGFjdGl2ZS4gVGhhdCBpcyBhIG5pY2hlIGNhc2UuCiovCgkJfSwKCgkJaW50ZXJuYWw6IHsgLy8gSW5zdGFuY2VkIGluIF9pbml0KCkKCQkJcmVhZHk6IGZhbHNlCgkJCS8vIGluc3RhbmNlOiB1bmRlZmluZWQKCQkJLy8gZG9tTm9kZTogdW5kZWZpbmVkCgkJCS8vIGh0bWxEbHlDbWRJZDogdW5kZWZpbmVkCgkJCS8vIGF1dG9oaWRlSWQ6IHVuZGVmaW5lZAoJCQkvLyBtb3VzZTogdW5kZWZpbmVkCgkJCS8vIGNtZHNJZ25vcmVkCgkJfSwKCQlzb2x1dGlvbjogeyAvLyBTdGF0aWMgT2JqZWN0OiBEZWZpbmVzIHRoZSBzb2x1dGlvbnMgYnVpbHQgaW4galBsYXllci4KCQkJaHRtbDogdHJ1ZSwKCQkJYXVyb3JhOiB0cnVlLAoJCQlmbGFzaDogdHJ1ZQoJCX0sCgkJLy8gJ01QRUctNCBzdXBwb3J0JyA6IGNhblBsYXlUeXBlKCd2aWRlby9tcDQ7IGNvZGVjcz0ibXA0di4yMC44IicpCgkJZm9ybWF0OiB7IC8vIFN0YXRpYyBPYmplY3QKCQkJbXAzOiB7CgkJCQljb2RlYzogJ2F1ZGlvL21wZWcnLAoJCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJbTRhOiB7IC8vIEFBQyAvIE1QNAoJCQkJY29kZWM6ICdhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsCgkJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQltM3U4YTogeyAvLyBBQUMgLyBNUDQgLyBBcHBsZSBITFMKCQkJCWNvZGVjOiAnYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0ibXA0YS40MC4yIicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJbTN1YTogeyAvLyBNM1UKCQkJCWNvZGVjOiAnYXVkaW8vbXBlZ3VybCcsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJb2dhOiB7IC8vIE9HRwoJCQkJY29kZWM6ICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzLCBvcHVzIicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJZmxhYzogeyAvLyBGTEFDCgkJCQljb2RlYzogJ2F1ZGlvL3gtZmxhYycsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJd2F2OiB7IC8vIFBDTQoJCQkJY29kZWM6ICdhdWRpby93YXY7IGNvZGVjcz0iMSInLAoJCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCXdlYm1hOiB7IC8vIFdFQk0KCQkJCWNvZGVjOiAnYXVkaW8vd2VibTsgY29kZWNzPSJ2b3JiaXMiJywKCQkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQlmbGE6IHsgLy8gRkxWIC8gRjRBCgkJCQljb2RlYzogJ2F1ZGlvL3gtZmx2JywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCXJ0bXBhOiB7IC8vIFJUTVAgQVVESU8KCQkJCWNvZGVjOiAnYXVkaW8vcnRtcDsgY29kZWNzPSJydG1wIicsCgkJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQltNHY6IHsgLy8gSC4yNjQgLyBNUDQKCQkJCWNvZGVjOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFLCBtcDRhLjQwLjIiJywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0sCgkJCW0zdTh2OiB7IC8vIEguMjY0IC8gQUFDIC8gTVA0IC8gQXBwbGUgSExTCgkJCQljb2RlYzogJ2FwcGxpY2F0aW9uL3ZuZC5hcHBsZS5tcGVndXJsOyBjb2RlY3M9ImF2YzEuNDJFMDFFLCBtcDRhLjQwLjIiJywKCQkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCQltZWRpYTogJ3ZpZGVvJwoJCQl9LAoJCQltM3V2OiB7IC8vIE0zVQoJCQkJY29kZWM6ICdhdWRpby9tcGVndXJsJywKCQkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCQltZWRpYTogJ3ZpZGVvJwoJCQl9LAoJCQlvZ3Y6IHsgLy8gT0dHCgkJCQljb2RlYzogJ3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEsIHZvcmJpcyInLAoJCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0sCgkJCXdlYm12OiB7IC8vIFdFQk0KCQkJCWNvZGVjOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2b3JiaXMsIHZwOCInLAoJCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0sCgkJCWZsdjogeyAvLyBGTFYgLyBGNFYKCQkJCWNvZGVjOiAndmlkZW8veC1mbHYnLAoJCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQkJbWVkaWE6ICd2aWRlbycKCQkJfSwKCQkJcnRtcHY6IHsgLy8gUlRNUCBWSURFTwoJCQkJY29kZWM6ICd2aWRlby9ydG1wOyBjb2RlY3M9InJ0bXAiJywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0KCQl9LAoJCV9pbml0OiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkKCQkJdGhpcy5lbGVtZW50LmVtcHR5KCk7CgkJCQoJCQl0aGlzLnN0YXR1cyA9ICQuZXh0ZW5kKHt9LCB0aGlzLnN0YXR1cyk7IC8vIENvcHkgc3RhdGljIHRvIHVuaXF1ZSBpbnN0YW5jZS4KCQkJdGhpcy5pbnRlcm5hbCA9ICQuZXh0ZW5kKHt9LCB0aGlzLmludGVybmFsKTsgLy8gQ29weSBzdGF0aWMgdG8gdW5pcXVlIGluc3RhbmNlLgoKCQkJLy8gSW5pdGlhbGl6ZSB0aGUgdGltZSBmb3JtYXQKCQkJdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQgPSAkLmV4dGVuZCh7fSwgJC5qUGxheWVyLnRpbWVGb3JtYXQsIHRoaXMub3B0aW9ucy50aW1lRm9ybWF0KTsKCgkJCS8vIE9uIGlPUywgYXNzdW1lIGNvbW1hbmRzIHdpbGwgYmUgaWdub3JlZCBiZWZvcmUgdXNlciBpbml0aWF0ZXMgdGhlbS4KCQkJdGhpcy5pbnRlcm5hbC5jbWRzSWdub3JlZCA9ICQualBsYXllci5wbGF0Zm9ybS5pcGFkIHx8ICQualBsYXllci5wbGF0Zm9ybS5pcGhvbmUgfHwgJC5qUGxheWVyLnBsYXRmb3JtLmlwb2Q7CgoJCQl0aGlzLmludGVybmFsLmRvbU5vZGUgPSB0aGlzLmVsZW1lbnQuZ2V0KDApOwoKCQkJLy8gQWRkIGtleSBiaW5kaW5ncyBmb2N1cyB0byAxc3QgalBsYXllciBpbnN0YW5jZWQgd2l0aCBrZXkgY29udHJvbCBlbmFibGVkLgoJCQlpZih0aGlzLm9wdGlvbnMua2V5RW5hYmxlZCAmJiAhJC5qUGxheWVyLmZvY3VzKSB7CgkJCQkkLmpQbGF5ZXIuZm9jdXMgPSB0aGlzOwoJCQl9CgoJCQkvLyBBIGZpeCBmb3IgQW5kcm9pZCB3aGVyZSBvbGRlciAoMi4zKSBhbmQgZXZlbiBzb21lIDQueCBkZXZpY2VzIGZhaWwgdG8gd29yayB3aGVuIGNoYW5naW5nIHRoZSAqYXVkaW8qIFNSQyBhbmQgdGhlbiBwbGF5aW5nIGltbWVkaWF0ZWx5LgoJCQl0aGlzLmFuZHJvaWRGaXggPSB7CgkJCQlzZXRNZWRpYTogZmFsc2UsIC8vIFRydWUgd2hlbiBtZWRpYSBzZXQKCQkJCXBsYXk6IGZhbHNlLCAvLyBUcnVlIHdoZW4gYSBwcm9ncmVzcyBldmVudCB3aWxsIGluc3RydWN0IHRoZSBtZWRpYSB0byBwbGF5CgkJCQlwYXVzZTogZmFsc2UsIC8vIFRydWUgd2hlbiBhIHByb2dyZXNzIGV2ZW50IHdpbGwgaW5zdHJ1Y3QgdGhlIG1lZGlhIHRvIHBhdXNlIGF0IGEgdGltZS4KCQkJCXRpbWU6IE5hTiAvLyBUaGUgcGxheSh0aW1lKSBwYXJhbWV0ZXIKCQkJfTsKCQkJaWYoJC5qUGxheWVyLnBsYXRmb3JtLmFuZHJvaWQpIHsKCQkJCXRoaXMub3B0aW9ucy5wcmVsb2FkID0gdGhpcy5vcHRpb25zLnByZWxvYWQgIT09ICdhdXRvJyA/ICdtZXRhZGF0YScgOiAnYXV0byc7IC8vIERlZmF1bHQgdG8gbWV0YWRhdGEsIGJ1dCBhbGxvdyBhdXRvLgoJCQl9CgoJCQl0aGlzLmZvcm1hdHMgPSBbXTsgLy8gQXJyYXkgYmFzZWQgb24gc3VwcGxpZWQgc3RyaW5nIG9wdGlvbi4gT3JkZXIgZGVmaW5lcyBwcmlvcml0eS4KCQkJdGhpcy5zb2x1dGlvbnMgPSBbXTsgLy8gQXJyYXkgYmFzZWQgb24gc29sdXRpb24gc3RyaW5nIG9wdGlvbi4gT3JkZXIgZGVmaW5lcyBwcmlvcml0eS4KCQkJdGhpcy5yZXF1aXJlID0ge307IC8vIFdoaWNoIG1lZGlhIHR5cGVzIGFyZSByZXF1aXJlZDogdmlkZW8sIGF1ZGlvLgoJCQkKCQkJdGhpcy5odG1sRWxlbWVudCA9IHt9OyAvLyBET00gZWxlbWVudHMgY3JlYXRlZCBieSBqUGxheWVyCgkJCXRoaXMuaHRtbCA9IHt9OyAvLyBJbiBfaW5pdCgpJ3MgdGhpcy5kZXNpcmVkIGNvZGUgYW5kIHNldG1lZGlhKCk6IEFjY2Vzc2VkIHZpYSB0aGlzW3NvbHV0aW9uXSwgd2hlcmUgc29sdXRpb24gZnJvbSB0aGlzLnNvbHV0aW9ucyBhcnJheS4KCQkJdGhpcy5odG1sLmF1ZGlvID0ge307CgkJCXRoaXMuaHRtbC52aWRlbyA9IHt9OwoJCQl0aGlzLmF1cm9yYSA9IHt9OyAvLyBJbiBfaW5pdCgpJ3MgdGhpcy5kZXNpcmVkIGNvZGUgYW5kIHNldG1lZGlhKCk6IEFjY2Vzc2VkIHZpYSB0aGlzW3NvbHV0aW9uXSwgd2hlcmUgc29sdXRpb24gZnJvbSB0aGlzLnNvbHV0aW9ucyBhcnJheS4KCQkJdGhpcy5hdXJvcmEuZm9ybWF0cyA9IFtdOwoJCQl0aGlzLmF1cm9yYS5wcm9wZXJ0aWVzID0gW107CgkJCXRoaXMuZmxhc2ggPSB7fTsgLy8gSW4gX2luaXQoKSdzIHRoaXMuZGVzaXJlZCBjb2RlIGFuZCBzZXRtZWRpYSgpOiBBY2Nlc3NlZCB2aWEgdGhpc1tzb2x1dGlvbl0sIHdoZXJlIHNvbHV0aW9uIGZyb20gdGhpcy5zb2x1dGlvbnMgYXJyYXkuCgkJCQoJCQl0aGlzLmNzcyA9IHt9OwoJCQl0aGlzLmNzcy5jcyA9IHt9OyAvLyBIb2xkcyB0aGUgY3NzIHNlbGVjdG9yIHN0cmluZ3MKCQkJdGhpcy5jc3MuanEgPSB7fTsgLy8gSG9sZHMgalF1ZXJ5IHNlbGVjdG9ycy4gaWUuLCAkKGNzcy5jcy5tZXRob2QpCgoJCQl0aGlzLmFuY2VzdG9ySnEgPSBbXTsgLy8gSG9sZHMgalF1ZXJ5IHNlbGVjdG9yIG9mIGNzc1NlbGVjdG9yQW5jZXN0b3IuIEluaXQgd291bGQgdXNlICQoKSBpbnN0ZWFkIG9mIFtdLCBidXQgaXQgaXMgb25seSAxLjQrCgoJCQl0aGlzLm9wdGlvbnMudm9sdW1lID0gdGhpcy5fbGltaXRWYWx1ZSh0aGlzLm9wdGlvbnMudm9sdW1lLCAwLCAxKTsgLy8gTGltaXQgdm9sdW1lIHZhbHVlJ3MgYm91bmRzLgoKCQkJLy8gQ3JlYXRlIHRoZSBmb3JtYXRzIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzdXBwbGllZCBmb3JtYXRzIHN0cmluZwoJCQkkLmVhY2godGhpcy5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSwgZnVuY3Rpb24oaW5kZXgxLCB2YWx1ZTEpIHsKCQkJCXZhciBmb3JtYXQgPSB2YWx1ZTEucmVwbGFjZSgvXlxzK3xccyskL2csICIiKTsgLy90cmltCgkJCQlpZihzZWxmLmZvcm1hdFtmb3JtYXRdKSB7IC8vIENoZWNrIGZvcm1hdCBpcyB2YWxpZC4KCQkJCQl2YXIgZHVwRm91bmQgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5mb3JtYXRzLCBmdW5jdGlvbihpbmRleDIsIHZhbHVlMikgeyAvLyBDaGVjayBmb3IgZHVwbGljYXRlcwoJCQkJCQlpZihmb3JtYXQgPT09IHZhbHVlMikgewoJCQkJCQkJZHVwRm91bmQgPSB0cnVlOwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJaWYoIWR1cEZvdW5kKSB7CgkJCQkJCXNlbGYuZm9ybWF0cy5wdXNoKGZvcm1hdCk7CgkJCQkJfQoJCQkJfQoJCQl9KTsKCgkJCS8vIENyZWF0ZSB0aGUgc29sdXRpb25zIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzb2x1dGlvbiBzdHJpbmcKCQkJJC5lYWNoKHRoaXMub3B0aW9ucy5zb2x1dGlvbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksIGZ1bmN0aW9uKGluZGV4MSwgdmFsdWUxKSB7CgkJCQl2YXIgc29sdXRpb24gPSB2YWx1ZTEucmVwbGFjZSgvXlxzK3xccyskL2csICIiKTsgLy90cmltCgkJCQlpZihzZWxmLnNvbHV0aW9uW3NvbHV0aW9uXSkgeyAvLyBDaGVjayBzb2x1dGlvbiBpcyB2YWxpZC4KCQkJCQl2YXIgZHVwRm91bmQgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5zb2x1dGlvbnMsIGZ1bmN0aW9uKGluZGV4MiwgdmFsdWUyKSB7IC8vIENoZWNrIGZvciBkdXBsaWNhdGVzCgkJCQkJCWlmKHNvbHV0aW9uID09PSB2YWx1ZTIpIHsKCQkJCQkJCWR1cEZvdW5kID0gdHJ1ZTsKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJCWlmKCFkdXBGb3VuZCkgewoJCQkJCQlzZWxmLnNvbHV0aW9ucy5wdXNoKHNvbHV0aW9uKTsKCQkJCQl9CgkJCQl9CgkJCX0pOwoJCQkJCgkJCS8vIENyZWF0ZSBBdXJvcmEuanMgZm9ybWF0cyBhcnJheQoJCQkkLmVhY2godGhpcy5vcHRpb25zLmF1cm9yYUZvcm1hdHMudG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLCBmdW5jdGlvbihpbmRleDEsIHZhbHVlMSkgewoJCQkJdmFyIGZvcm1hdCA9IHZhbHVlMS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpOyAvL3RyaW0KCQkJCWlmKHNlbGYuZm9ybWF0W2Zvcm1hdF0pIHsgLy8gQ2hlY2sgZm9ybWF0IGlzIHZhbGlkLgoJCQkJCXZhciBkdXBGb3VuZCA9IGZhbHNlOwoJCQkJCSQuZWFjaChzZWxmLmF1cm9yYS5mb3JtYXRzLCBmdW5jdGlvbihpbmRleDIsIHZhbHVlMikgeyAvLyBDaGVjayBmb3IgZHVwbGljYXRlcwoJCQkJCQlpZihmb3JtYXQgPT09IHZhbHVlMikgewoJCQkJCQkJZHVwRm91bmQgPSB0cnVlOwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJaWYoIWR1cEZvdW5kKSB7CgkJCQkJCXNlbGYuYXVyb3JhLmZvcm1hdHMucHVzaChmb3JtYXQpOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgoJCQl0aGlzLmludGVybmFsLmluc3RhbmNlID0gImpwXyIgKyB0aGlzLmNvdW50OwoJCQl0aGlzLmluc3RhbmNlc1t0aGlzLmludGVybmFsLmluc3RhbmNlXSA9IHRoaXMuZWxlbWVudDsKCgkJCS8vIENoZWNrIHRoZSBqUGxheWVyIGRpdiBoYXMgYW4gaWQgYW5kIGNyZWF0ZSBvbmUgaWYgcmVxdWlyZWQuIEltcG9ydGFudCBmb3IgRmxhc2ggdG8ga25vdyB0aGUgdW5pcXVlIGlkIGZvciBjb21tcy4KCQkJaWYoIXRoaXMuZWxlbWVudC5hdHRyKCJpZCIpKSB7CgkJCQl0aGlzLmVsZW1lbnQuYXR0cigiaWQiLCB0aGlzLm9wdGlvbnMuaWRQcmVmaXggKyAiX2pwbGF5ZXJfIiArIHRoaXMuY291bnQpOwoJCQl9CgoJCQl0aGlzLmludGVybmFsLnNlbGYgPSAkLmV4dGVuZCh7fSwgewoJCQkJaWQ6IHRoaXMuZWxlbWVudC5hdHRyKCJpZCIpLAoJCQkJanE6IHRoaXMuZWxlbWVudAoJCQl9KTsKCQkJdGhpcy5pbnRlcm5hbC5hdWRpbyA9ICQuZXh0ZW5kKHt9LCB7CgkJCQlpZDogdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9hdWRpb18iICsgdGhpcy5jb3VudCwKCQkJCWpxOiB1bmRlZmluZWQKCQkJfSk7CgkJCXRoaXMuaW50ZXJuYWwudmlkZW8gPSAkLmV4dGVuZCh7fSwgewoJCQkJaWQ6IHRoaXMub3B0aW9ucy5pZFByZWZpeCArICJfdmlkZW9fIiArIHRoaXMuY291bnQsCgkJCQlqcTogdW5kZWZpbmVkCgkJCX0pOwoJCQl0aGlzLmludGVybmFsLmZsYXNoID0gJC5leHRlbmQoe30sIHsKCQkJCWlkOiB0aGlzLm9wdGlvbnMuaWRQcmVmaXggKyAiX2ZsYXNoXyIgKyB0aGlzLmNvdW50LAoJCQkJanE6IHVuZGVmaW5lZCwKCQkJCXN3ZjogdGhpcy5vcHRpb25zLnN3ZlBhdGggKyAodGhpcy5vcHRpb25zLnN3ZlBhdGgudG9Mb3dlckNhc2UoKS5zbGljZSgtNCkgIT09ICIuc3dmIiA/ICh0aGlzLm9wdGlvbnMuc3dmUGF0aCAmJiB0aGlzLm9wdGlvbnMuc3dmUGF0aC5zbGljZSgtMSkgIT09ICIvIiA/ICIvIiA6ICIiKSArICJqcXVlcnkuanBsYXllci5zd2YiIDogIiIpCgkJCX0pOwoJCQl0aGlzLmludGVybmFsLnBvc3RlciA9ICQuZXh0ZW5kKHt9LCB7CgkJCQlpZDogdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9wb3N0ZXJfIiArIHRoaXMuY291bnQsCgkJCQlqcTogdW5kZWZpbmVkCgkJCX0pOwoKCQkJLy8gUmVnaXN0ZXIgbGlzdGVuZXJzIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdG9yCgkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCWlmKHNlbGYub3B0aW9uc1tldmVudE5hbWVdICE9PSB1bmRlZmluZWQpIHsKCQkJCQlzZWxmLmVsZW1lbnQuYmluZChldmVudFR5cGUgKyAiLmpQbGF5ZXIiLCBzZWxmLm9wdGlvbnNbZXZlbnROYW1lXSk7IC8vIFdpdGggLmpQbGF5ZXIgbmFtZXNwYWNlLgoJCQkJCXNlbGYub3B0aW9uc1tldmVudE5hbWVdID0gdW5kZWZpbmVkOyAvLyBEZXN0cm95IHRoZSBoYW5kbGVyIHBvaW50ZXIgY29weSBvbiB0aGUgb3B0aW9ucy4gUmVhc29uLCBldmVudHMgY2FuIGJlIGFkZGVkL3JlbW92ZWQgaW4gb3RoZXIgd2F5cyBzbyB0aGlzIGNvdWxkIGJlIG9ic29sZXRlIGFuZCBtaXNsZWFkaW5nLgoJCQkJfQoJCQl9KTsKCgkJCS8vIERldGVybWluZSBpZiB3ZSByZXF1aXJlIHNvbHV0aW9ucyBmb3IgYXVkaW8sIHZpZGVvIG9yIGJvdGggbWVkaWEgdHlwZXMuCgkJCXRoaXMucmVxdWlyZS5hdWRpbyA9IGZhbHNlOwoJCQl0aGlzLnJlcXVpcmUudmlkZW8gPSBmYWxzZTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5yZXF1aXJlW3NlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWFdID0gdHJ1ZTsKCQkJfSk7CgoJCQkvLyBOb3cgcmVxdWlyZWQgdHlwZXMgYXJlIGtub3duLCBmaW5pc2ggdGhlIG9wdGlvbnMgZGVmYXVsdCBzZXR0aW5ncy4KCQkJaWYodGhpcy5yZXF1aXJlLnZpZGVvKSB7CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCQl0aGlzLm9wdGlvbnNWaWRlbywKCQkJCQl0aGlzLm9wdGlvbnMKCQkJCSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCQl0aGlzLm9wdGlvbnNBdWRpbywKCQkJCQl0aGlzLm9wdGlvbnMKCQkJCSk7CgkJCX0KCQkJdGhpcy5fc2V0U2l6ZSgpOyAvLyB1cGRhdGUgc3RhdHVzIGFuZCBqUGxheWVyIGVsZW1lbnQgc2l6ZQoKCQkJLy8gRGV0ZXJtaW5lIHRoZSBzdGF0dXMgZm9yIEJsb2NrbGlzdGVkIG9wdGlvbnMuCgkJCXRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgPSB0aGlzLl91YUJsb2NrbGlzdCh0aGlzLm9wdGlvbnMubmF0aXZlVmlkZW9Db250cm9scyk7CgkJCXRoaXMuc3RhdHVzLm5vRnVsbFdpbmRvdyA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpOwoJCQl0aGlzLnN0YXR1cy5ub1ZvbHVtZSA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub1ZvbHVtZSk7CgoJCQkvLyBDcmVhdGUgZXZlbnQgaGFuZGxlcnMgaWYgbmF0aXZlIGZ1bGxzY3JlZW4gaXMgc3VwcG9ydGVkCgkJCWlmKCQualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCkgewoJCQkJdGhpcy5fZnVsbHNjcmVlbkFkZEV2ZW50TGlzdGVuZXJzKCk7CgkJCX0KCgkJCS8vIFRoZSBuYXRpdmUgY29udHJvbHMgYXJlIG9ubHkgZm9yIHZpZGVvIGFuZCBhcmUgZGlzYWJsZWQgd2hlbiBhdWRpbyBpcyBhbHNvIHVzZWQuCgkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoKCQkJLy8gQ3JlYXRlIHRoZSBwb3N0ZXIgaW1hZ2UuCgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLmlkID0gdGhpcy5pbnRlcm5hbC5wb3N0ZXIuaWQ7CgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyAvLyBOb3RlIHRoYXQgdGhpcyBkaWQgbm90IHdvcmsgb24gRmlyZWZveCAzLjY6IHBvc3Rlci5hZGRFdmVudExpc3RlbmVyKCJvbmxvYWQiLCBmdW5jdGlvbigpIHt9LCBmYWxzZSk7IERpZCBub3QgaW52ZXN0aWdhdGUgeC1icm93c2VyLgoJCQkJaWYoIXNlbGYuc3RhdHVzLnZpZGVvIHx8IHNlbGYuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQkJc2VsZi5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJfQoJCQl9OwoJCQl0aGlzLmVsZW1lbnQuYXBwZW5kKHRoaXMuaHRtbEVsZW1lbnQucG9zdGVyKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEgPSAkKCIjIiArIHRoaXMuaW50ZXJuYWwucG9zdGVyLmlkKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmJpbmQoImNsaWNrLmpQbGF5ZXIiLCBmdW5jdGlvbigpIHsKCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNsaWNrKTsKCQkJfSk7CgkJCQoJCQkvLyBHZW5lcmF0ZSB0aGUgcmVxdWlyZWQgbWVkaWEgZWxlbWVudHMKCQkJdGhpcy5odG1sLmF1ZGlvLmF2YWlsYWJsZSA9IGZhbHNlOwoJCQlpZih0aGlzLnJlcXVpcmUuYXVkaW8pIHsgLy8gSWYgYSBzdXBwbGllZCBmb3JtYXQgaXMgYXVkaW8KCQkJCXRoaXMuaHRtbEVsZW1lbnQuYXVkaW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhdWRpbycpOwoJCQkJdGhpcy5odG1sRWxlbWVudC5hdWRpby5pZCA9IHRoaXMuaW50ZXJuYWwuYXVkaW8uaWQ7CgkJCQl0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlID0gISF0aGlzLmh0bWxFbGVtZW50LmF1ZGlvLmNhblBsYXlUeXBlICYmIHRoaXMuX3Rlc3RDYW5QbGF5VHlwZSh0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKTsgLy8gVGVzdCBpcyBmb3IgSUU5IG9uIFdpbiBTZXJ2ZXIgMjAwOC4KCQkJfQoJCQl0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlID0gZmFsc2U7CgkJCWlmKHRoaXMucmVxdWlyZS52aWRlbykgeyAvLyBJZiBhIHN1cHBsaWVkIGZvcm1hdCBpcyB2aWRlbwoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CgkJCQl0aGlzLmh0bWxFbGVtZW50LnZpZGVvLmlkID0gdGhpcy5pbnRlcm5hbC52aWRlby5pZDsKCQkJCXRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUgPSAhIXRoaXMuaHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUgJiYgdGhpcy5fdGVzdENhblBsYXlUeXBlKHRoaXMuaHRtbEVsZW1lbnQudmlkZW8pOyAvLyBUZXN0IGlzIGZvciBJRTkgb24gV2luIFNlcnZlciAyMDA4LgoJCQl9CgoJCQl0aGlzLmZsYXNoLmF2YWlsYWJsZSA9IHRoaXMuX2NoZWNrRm9yRmxhc2goMTAuMSk7CgoJCQl0aGlzLmh0bWwuY2FuUGxheSA9IHt9OwoJCQl0aGlzLmF1cm9yYS5jYW5QbGF5ID0ge307CgkJCXRoaXMuZmxhc2guY2FuUGxheSA9IHt9OwoJCQkkLmVhY2godGhpcy5mb3JtYXRzLCBmdW5jdGlvbihwcmlvcml0eSwgZm9ybWF0KSB7CgkJCQlzZWxmLmh0bWwuY2FuUGxheVtmb3JtYXRdID0gc2VsZi5odG1sW3NlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWFdLmF2YWlsYWJsZSAmJiAiIiAhPT0gc2VsZi5odG1sRWxlbWVudFtzZWxmLmZvcm1hdFtmb3JtYXRdLm1lZGlhXS5jYW5QbGF5VHlwZShzZWxmLmZvcm1hdFtmb3JtYXRdLmNvZGVjKTsKCQkJCXNlbGYuYXVyb3JhLmNhblBsYXlbZm9ybWF0XSA9ICgkLmluQXJyYXkoZm9ybWF0LCBzZWxmLmF1cm9yYS5mb3JtYXRzKSA+IC0xKTsKCQkJCXNlbGYuZmxhc2guY2FuUGxheVtmb3JtYXRdID0gc2VsZi5mb3JtYXRbZm9ybWF0XS5mbGFzaENhblBsYXkgJiYgc2VsZi5mbGFzaC5hdmFpbGFibGU7CgkJCX0pOwoJCQl0aGlzLmh0bWwuZGVzaXJlZCA9IGZhbHNlOwoJCQl0aGlzLmF1cm9yYS5kZXNpcmVkID0gZmFsc2U7CgkJCXRoaXMuZmxhc2guZGVzaXJlZCA9IGZhbHNlOwoJCQkkLmVhY2godGhpcy5zb2x1dGlvbnMsIGZ1bmN0aW9uKHNvbHV0aW9uUHJpb3JpdHksIHNvbHV0aW9uKSB7CgkJCQlpZihzb2x1dGlvblByaW9yaXR5ID09PSAwKSB7CgkJCQkJc2VsZltzb2x1dGlvbl0uZGVzaXJlZCA9IHRydWU7CgkJCQl9IGVsc2UgewoJCQkJCXZhciBhdWRpb0NhblBsYXkgPSBmYWxzZTsKCQkJCQl2YXIgdmlkZW9DYW5QbGF5ID0gZmFsc2U7CgkJCQkJJC5lYWNoKHNlbGYuZm9ybWF0cywgZnVuY3Rpb24oZm9ybWF0UHJpb3JpdHksIGZvcm1hdCkgewoJCQkJCQlpZihzZWxmW3NlbGYuc29sdXRpb25zWzBdXS5jYW5QbGF5W2Zvcm1hdF0pIHsgLy8gVGhlIG90aGVyIHNvbHV0aW9uIGNhbiBwbGF5CgkJCQkJCQlpZihzZWxmLmZvcm1hdFtmb3JtYXRdLm1lZGlhID09PSAndmlkZW8nKSB7CgkJCQkJCQkJdmlkZW9DYW5QbGF5ID0gdHJ1ZTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJYXVkaW9DYW5QbGF5ID0gdHJ1ZTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0pOwoJCQkJCXNlbGZbc29sdXRpb25dLmRlc2lyZWQgPSAoc2VsZi5yZXF1aXJlLmF1ZGlvICYmICFhdWRpb0NhblBsYXkpIHx8IChzZWxmLnJlcXVpcmUudmlkZW8gJiYgIXZpZGVvQ2FuUGxheSk7CgkJCQl9CgkJCX0pOwoJCQkvLyBUaGlzIGlzIHdoYXQgalBsYXllciB3aWxsIHN1cHBvcnQsIGJhc2VkIG9uIHNvbHV0aW9uIGFuZCBzdXBwbGllZC4KCQkJdGhpcy5odG1sLnN1cHBvcnQgPSB7fTsKCQkJdGhpcy5hdXJvcmEuc3VwcG9ydCA9IHt9OwoJCQl0aGlzLmZsYXNoLnN1cHBvcnQgPSB7fTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5odG1sLnN1cHBvcnRbZm9ybWF0XSA9IHNlbGYuaHRtbC5jYW5QbGF5W2Zvcm1hdF0gJiYgc2VsZi5odG1sLmRlc2lyZWQ7CgkJCQlzZWxmLmF1cm9yYS5zdXBwb3J0W2Zvcm1hdF0gPSBzZWxmLmF1cm9yYS5jYW5QbGF5W2Zvcm1hdF0gJiYgc2VsZi5hdXJvcmEuZGVzaXJlZDsKCQkJCXNlbGYuZmxhc2guc3VwcG9ydFtmb3JtYXRdID0gc2VsZi5mbGFzaC5jYW5QbGF5W2Zvcm1hdF0gJiYgc2VsZi5mbGFzaC5kZXNpcmVkOwoJCQl9KTsKCQkJLy8gSWYgalBsYXllciBpcyBzdXBwb3J0aW5nIGFueSBmb3JtYXQgaW4gYSBzb2x1dGlvbiwgdGhlbiB0aGUgc29sdXRpb24gaXMgdXNlZC4KCQkJdGhpcy5odG1sLnVzZWQgPSBmYWxzZTsKCQkJdGhpcy5hdXJvcmEudXNlZCA9IGZhbHNlOwoJCQl0aGlzLmZsYXNoLnVzZWQgPSBmYWxzZTsKCQkJJC5lYWNoKHRoaXMuc29sdXRpb25zLCBmdW5jdGlvbihzb2x1dGlvblByaW9yaXR5LCBzb2x1dGlvbikgewoJCQkJJC5lYWNoKHNlbGYuZm9ybWF0cywgZnVuY3Rpb24oZm9ybWF0UHJpb3JpdHksIGZvcm1hdCkgewoJCQkJCWlmKHNlbGZbc29sdXRpb25dLnN1cHBvcnRbZm9ybWF0XSkgewoJCQkJCQlzZWxmW3NvbHV0aW9uXS51c2VkID0gdHJ1ZTsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoJCQl9KTsKCgkJCS8vIEluaXQgc29sdXRpb24gYWN0aXZlIHN0YXRlIGFuZCB0aGUgZXZlbnQgZ2F0ZXMgdG8gZmFsc2UuCgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgkJCXRoaXMuX3Jlc2V0R2F0ZSgpOwoKCQkJLy8gU2V0IHVwIHRoZSBjc3Mgc2VsZWN0b3JzIGZvciB0aGUgY29udHJvbCBhbmQgZmVlZGJhY2sgZW50aXRpZXMuCgkJCXRoaXMuX2Nzc1NlbGVjdG9yQW5jZXN0b3IodGhpcy5vcHRpb25zLmNzc1NlbGVjdG9yQW5jZXN0b3IpOwoJCQkKCQkJLy8gSWYgbmVpdGhlciBodG1sIG5vciBhdXJvcmEgbm9yIGZsYXNoIGFyZSBiZWluZyB1c2VkIGJ5IHRoaXMgYnJvd3NlciwgdGhlbiBtZWRpYSBwbGF5YmFjayBpcyBub3QgcG9zc2libGUuIFRyaWdnZXIgYW4gZXJyb3IgZXZlbnQuCgkJCWlmKCEodGhpcy5odG1sLnVzZWQgfHwgdGhpcy5hdXJvcmEudXNlZCB8fCB0aGlzLmZsYXNoLnVzZWQpKSB7CgkJCQl0aGlzLl9lcnJvciggewoJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5OT19TT0xVVElPTiwgCgkJCQkJY29udGV4dDogIntzb2x1dGlvbjonIiArIHRoaXMub3B0aW9ucy5zb2x1dGlvbiArICInLCBzdXBwbGllZDonIiArIHRoaXMub3B0aW9ucy5zdXBwbGllZCArICInfSIsCgkJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnLk5PX1NPTFVUSU9OLAoJCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuTk9fU09MVVRJT04KCQkJCX0pOwoJCQkJaWYodGhpcy5jc3MuanEubm9Tb2x1dGlvbi5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS5ub1NvbHV0aW9uLnNob3coKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWlmKHRoaXMuY3NzLmpxLm5vU29sdXRpb24ubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEubm9Tb2x1dGlvbi5oaWRlKCk7CgkJCQl9CgkJCX0KCgkJCS8vIEFkZCB0aGUgZmxhc2ggc29sdXRpb24gaWYgaXQgaXMgYmVpbmcgdXNlZC4KCQkJaWYodGhpcy5mbGFzaC51c2VkKSB7CgkJCQl2YXIgaHRtbE9iaiwKCQkJCWZsYXNoVmFycyA9ICdqUXVlcnk9JyArIGVuY29kZVVSSSh0aGlzLm9wdGlvbnMubm9Db25mbGljdCkgKyAnJmlkPScgKyBlbmNvZGVVUkkodGhpcy5pbnRlcm5hbC5zZWxmLmlkKSArICcmdm9sPScgKyB0aGlzLm9wdGlvbnMudm9sdW1lICsgJyZtdXRlZD0nICsgdGhpcy5vcHRpb25zLm11dGVkOwoKCQkJCS8vIENvZGUgaW5mbHVlbmNlZCBieSBTV0ZPYmplY3QgMi4yOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3Avc3dmb2JqZWN0LwoJCQkJLy8gTm9uIElFIGJyb3dzZXJzIGhhdmUgYW4gaW5pdGlhbCBGbGFzaCBzaXplIG9mIDEgYnkgMSBvdGhlcndpc2UgdGhlIHdtb2RlIGFmZmVjdGVkIHRoZSBGbGFzaCByZWFkeSBldmVudC4gCgoJCQkJaWYoJC5qUGxheWVyLmJyb3dzZXIubXNpZSAmJiAoTnVtYmVyKCQualBsYXllci5icm93c2VyLnZlcnNpb24pIDwgOSB8fCAkLmpQbGF5ZXIuYnJvd3Nlci5kb2N1bWVudE1vZGUgPCA5KSkgewoJCQkJCXZhciBvYmpTdHIgPSAnPG9iamVjdCBpZD0iJyArIHRoaXMuaW50ZXJuYWwuZmxhc2guaWQgKyAnIiBjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIHRhYmluZGV4PSItMSI+PC9vYmplY3Q+JzsKCgkJCQkJdmFyIHBhcmFtU3RyID0gWwoJCQkJCQknPHBhcmFtIG5hbWU9Im1vdmllIiB2YWx1ZT0iJyArIHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmICsgJyIgLz4nLAoJCQkJCQknPHBhcmFtIG5hbWU9IkZsYXNoVmFycyIgdmFsdWU9IicgKyBmbGFzaFZhcnMgKyAnIiAvPicsCgkJCQkJCSc8cGFyYW0gbmFtZT0iYWxsb3dTY3JpcHRBY2Nlc3MiIHZhbHVlPSJhbHdheXMiIC8+JywKCQkJCQkJJzxwYXJhbSBuYW1lPSJiZ2NvbG9yIiB2YWx1ZT0iJyArIHRoaXMub3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IgKyAnIiAvPicsCgkJCQkJCSc8cGFyYW0gbmFtZT0id21vZGUiIHZhbHVlPSInICsgdGhpcy5vcHRpb25zLndtb2RlICsgJyIgLz4nCgkJCQkJXTsKCgkJCQkJaHRtbE9iaiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQob2JqU3RyKTsKCQkJCQlmb3IodmFyIGk9MDsgaSA8IHBhcmFtU3RyLmxlbmd0aDsgaSsrKSB7CgkJCQkJCWh0bWxPYmouYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJhbVN0cltpXSkpOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdmFyIGNyZWF0ZVBhcmFtID0gZnVuY3Rpb24oZWwsIG4sIHYpIHsKCQkJCQkJdmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwYXJhbSIpOwoJCQkJCQlwLnNldEF0dHJpYnV0ZSgibmFtZSIsIG4pOwkKCQkJCQkJcC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgdik7CgkJCQkJCWVsLmFwcGVuZENoaWxkKHApOwoJCQkJCX07CgoJCQkJCWh0bWxPYmogPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvYmplY3QiKTsKCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgiaWQiLCB0aGlzLmludGVybmFsLmZsYXNoLmlkKTsKCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgibmFtZSIsIHRoaXMuaW50ZXJuYWwuZmxhc2guaWQpOwoJCQkJCWh0bWxPYmouc2V0QXR0cmlidXRlKCJkYXRhIiwgdGhpcy5pbnRlcm5hbC5mbGFzaC5zd2YpOwoJCQkJCWh0bWxPYmouc2V0QXR0cmlidXRlKCJ0eXBlIiwgImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIik7CgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjEiKTsgLy8gTm9uLXplcm8KCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEiKTsgLy8gTm9uLXplcm8KCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCAiLTEiKTsKCQkJCQljcmVhdGVQYXJhbShodG1sT2JqLCAiZmxhc2h2YXJzIiwgZmxhc2hWYXJzKTsKCQkJCQljcmVhdGVQYXJhbShodG1sT2JqLCAiYWxsb3dzY3JpcHRhY2Nlc3MiLCAiYWx3YXlzIik7CgkJCQkJY3JlYXRlUGFyYW0oaHRtbE9iaiwgImJnY29sb3IiLCB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yKTsKCQkJCQljcmVhdGVQYXJhbShodG1sT2JqLCAid21vZGUiLCB0aGlzLm9wdGlvbnMud21vZGUpOwoJCQkJfQoKCQkJCXRoaXMuZWxlbWVudC5hcHBlbmQoaHRtbE9iaik7CgkJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxID0gJChodG1sT2JqKTsKCQkJfQoKCQkJLy8gU2V0dXAgcGxheWJhY2tSYXRlIGFiaWxpdHkgYmVmb3JlIHVzaW5nIF9hZGRIdG1sRXZlbnRMaXN0ZW5lcnMoKQoJCQlpZih0aGlzLmh0bWwudXNlZCAmJiAhdGhpcy5mbGFzaC51c2VkKSB7IC8vIElmIG9ubHkgSFRNTAoJCQkJLy8gVXNpbmcgdGhlIGF1ZGlvIGVsZW1lbnQgY2FwYWJpbGl0aWVzIGZvciBwbGF5YmFja1JhdGUuIGllLiwgQXNzdW1pbmcgdmlkZW8gZWxlbWVudCBpcyB0aGUgc2FtZS4KCQkJCXRoaXMuc3RhdHVzLnBsYXliYWNrUmF0ZUVuYWJsZWQgPSB0aGlzLl90ZXN0UGxheWJhY2tSYXRlKCdhdWRpbycpOwoJCQl9IGVsc2UgewoJCQkJdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlRW5hYmxlZCA9IGZhbHNlOwoJCQl9CgoJCQl0aGlzLl91cGRhdGVQbGF5YmFja1JhdGUoKTsKCgkJCS8vIEFkZCB0aGUgSFRNTCBzb2x1dGlvbiBpZiBiZWluZyB1c2VkLgoJCQlpZih0aGlzLmh0bWwudXNlZCkgewoKCQkJCS8vIFRoZSBIVE1MIEF1ZGlvIGhhbmRsZXJzCgkJCQlpZih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQkJdGhpcy5fYWRkSHRtbEV2ZW50TGlzdGVuZXJzKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8sIHRoaXMuaHRtbC5hdWRpbyk7CgkJCQkJdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKTsKCQkJCQl0aGlzLmludGVybmFsLmF1ZGlvLmpxID0gJCgiIyIgKyB0aGlzLmludGVybmFsLmF1ZGlvLmlkKTsKCQkJCX0KCgkJCQkvLyBUaGUgSFRNTCBWaWRlbyBoYW5kbGVycwoJCQkJaWYodGhpcy5odG1sLnZpZGVvLmF2YWlsYWJsZSkgewoJCQkJCXRoaXMuX2FkZEh0bWxFdmVudExpc3RlbmVycyh0aGlzLmh0bWxFbGVtZW50LnZpZGVvLCB0aGlzLmh0bWwudmlkZW8pOwoJCQkJCXRoaXMuZWxlbWVudC5hcHBlbmQodGhpcy5odG1sRWxlbWVudC52aWRlbyk7CgkJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcSA9ICQoIiMiICsgdGhpcy5pbnRlcm5hbC52aWRlby5pZCk7CgkJCQkJaWYodGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzogdGhpcy5zdGF0dXMud2lkdGgsICdoZWlnaHQnOiB0aGlzLnN0YXR1cy5oZWlnaHR9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsgLy8gVXNpbmcgc2l6ZSAweDAgc2luY2UgYSAuaGlkZSgpIGNhdXNlcyBpc3N1ZXMgaW4gaU9TCgkJCQkJfQoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuYmluZCgiY2xpY2sualBsYXllciIsIGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5jbGljayk7CgkJCQkJfSk7CgkJCQl9CgkJCX0KCQkJCgkJCS8vIEFkZCB0aGUgQXVyb3JhLmpzIHNvbHV0aW9uIGlmIGJlaW5nIHVzZWQuCgkJCWlmKHRoaXMuYXVyb3JhLnVzZWQpIHsKCQkJCS8vIEF1cm9yYS5qcyBwbGF5ZXIgbmVlZCB0byBiZSBjcmVhdGVkIGZvciBlYWNoIG1lZGlhLCBzZWUgc2V0TWVkaWEgZnVuY3Rpb24uCgkJCX0KCgkJCS8vIENyZWF0ZSB0aGUgYnJpZGdlIHRoYXQgZW11bGF0ZXMgdGhlIEhUTUwgTWVkaWEgZWxlbWVudCBvbiB0aGUgalBsYXllciBESVYKCQkJaWYoIHRoaXMub3B0aW9ucy5lbXVsYXRlSHRtbCApIHsKCQkJCXRoaXMuX2VtdWxhdGVIdG1sQnJpZGdlKCk7CgkJCX0KCgkJCWlmKCh0aGlzLmh0bWwudXNlZCB8fCB0aGlzLmF1cm9yYS51c2VkKSAmJiAhdGhpcy5mbGFzaC51c2VkKSB7IC8vIElmIG9ubHkgSFRNTCwgdGhlbiBlbXVsYXRlIGZsYXNoIHJlYWR5KCkgY2FsbCBhZnRlciAxMDBtcy4KCQkJCXNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewoJCQkJCXNlbGYuaW50ZXJuYWwucmVhZHkgPSB0cnVlOwoJCQkJCXNlbGYudmVyc2lvbi5mbGFzaCA9ICJuL2EiOwoJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnJlcGVhdCk7IC8vIFRyaWdnZXIgdGhlIHJlcGVhdCBldmVudCBzbyBpdHMgaGFuZGxlciBjYW4gaW5pdGlhbGl6ZSBpdHNlbGYgd2l0aCB0aGUgbG9vcCBvcHRpb24uCgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVhZHkpOwoJCQkJfSwgMTAwKTsKCQkJfQoKCQkJLy8gSW5pdGlhbGl6ZSB0aGUgaW50ZXJmYWNlIGNvbXBvbmVudHMgd2l0aCB0aGUgb3B0aW9ucy4KCQkJdGhpcy5fdXBkYXRlTmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkvLyBUaGUgb3RoZXIgY29udHJvbHMgYXJlIG5vdyBzZXR1cCBpbiBfY3NzU2VsZWN0b3JBbmNlc3RvcigpCgkJCWlmKHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCk7CgkJCX0KCgkJCSQualBsYXllci5wcm90b3R5cGUuY291bnQrKzsgLy8gQ2hhbmdlIHN0YXRpYyB2YXJpYWJsZSB2aWEgcHJvdG90eXBlLgoJCX0sCgkJZGVzdHJveTogZnVuY3Rpb24oKSB7CgkJCS8vIE1KUDogVGhlIGJhY2tncm91bmQgY2hhbmdlIHJlbWFpbnMuIFdvdWxkIG5lZWQgdG8gc3RvcmUgdGhlIG9yaWdpbmFsIHRvIHJlc3RvcmUgaXQgY29ycmVjdGx5LgoJCQkvLyBNSlA6IFRoZSBqUGxheWVyIGVsZW1lbnQncyBzaXplIGNoYW5nZSByZW1haW5zLgoKCQkJLy8gQ2xlYXIgdGhlIG1lZGlhIHRvIHJlc2V0IHRoZSBHVUkgYW5kIHN0b3AgYW55IGRvd25sb2Fkcy4gU3RyZWFtcyBvbiBzb21lIGJyb3dzZXJzIGhhZCBwZXJzaXRlZC4gKENocm9tZSkKCQkJdGhpcy5jbGVhck1lZGlhKCk7CgkJCS8vIFJlbW92ZSB0aGUgc2l6ZS9zaXplRnVsbCBjc3NDbGFzcyBmcm9tIHRoZSBjc3NTZWxlY3RvckFuY2VzdG9yCgkJCXRoaXMuX3JlbW92ZVVpQ2xhc3MoKTsKCQkJLy8gUmVtb3ZlIHRoZSB0aW1lcyBmcm9tIHRoZSBHVUkKCQkJaWYodGhpcy5jc3MuanEuY3VycmVudFRpbWUubGVuZ3RoKSB7CgkJCQl0aGlzLmNzcy5qcS5jdXJyZW50VGltZS50ZXh0KCIiKTsKCQkJfQoJCQlpZih0aGlzLmNzcy5qcS5kdXJhdGlvbi5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLmR1cmF0aW9uLnRleHQoIiIpOwoJCQl9CgkJCS8vIFJlbW92ZSBhbnkgYmluZGluZ3MgZnJvbSB0aGUgaW50ZXJmYWNlIGNvbnRyb2xzLgoJCQkkLmVhY2godGhpcy5jc3MuanEsIGZ1bmN0aW9uKGZuLCBqcSkgewoJCQkJLy8gQ2hlY2sgc2VsZWN0b3IgaXMgdmFsaWQgYmVmb3JlIHRyeWluZyB0byBleGVjdXRlIG1ldGhvZC4KCQkJCWlmKGpxLmxlbmd0aCkgewoJCQkJCWpxLnVuYmluZCgiLmpQbGF5ZXIiKTsKCQkJCX0KCQkJfSk7CgkJCS8vIFJlbW92ZSB0aGUgY2xpY2sgaGFuZGxlcnMgZm9yICQualBsYXllci5ldmVudC5jbGljawoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS51bmJpbmQoIi5qUGxheWVyIik7CgkJCWlmKHRoaXMuaW50ZXJuYWwudmlkZW8uanEpIHsKCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEudW5iaW5kKCIualBsYXllciIpOwoJCQl9CgkJCS8vIFJlbW92ZSB0aGUgZnVsbHNjcmVlbiBldmVudCBoYW5kbGVycwoJCQl0aGlzLl9mdWxsc2NyZWVuUmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTsKCQkJLy8gUmVtb3ZlIGtleSBiaW5kaW5ncwoJCQlpZih0aGlzID09PSAkLmpQbGF5ZXIuZm9jdXMpIHsKCQkJCSQualBsYXllci5mb2N1cyA9IG51bGw7CgkJCX0KCQkJLy8gRGVzdHJveSB0aGUgSFRNTCBicmlkZ2UuCgkJCWlmKHRoaXMub3B0aW9ucy5lbXVsYXRlSHRtbCkgewoJCQkJdGhpcy5fZGVzdHJveUh0bWxCcmlkZ2UoKTsKCQkJfQoJCQl0aGlzLmVsZW1lbnQucmVtb3ZlRGF0YSgialBsYXllciIpOyAvLyBSZW1vdmUgalBsYXllciBkYXRhCgkJCXRoaXMuZWxlbWVudC51bmJpbmQoIi5qUGxheWVyIik7IC8vIFJlbW92ZSBhbGwgZXZlbnQgaGFuZGxlcnMgY3JlYXRlZCBieSB0aGUgalBsYXllciBjb25zdHJ1Y3RvcgoJCQl0aGlzLmVsZW1lbnQuZW1wdHkoKTsgLy8gUmVtb3ZlIHRoZSBpbnNlcnRlZCBjaGlsZCBlbGVtZW50cwoJCQkKCQkJZGVsZXRlIHRoaXMuaW5zdGFuY2VzW3RoaXMuaW50ZXJuYWwuaW5zdGFuY2VdOyAvLyBDbGVhciB0aGUgaW5zdGFuY2Ugb24gdGhlIHN0YXRpYyBpbnN0YW5jZSBvYmplY3QKCQl9LAoJCWRlc3Ryb3lSZW1vdmVkOiBmdW5jdGlvbigpIHsgLy8gRGVzdHJveSBhbnkgaW5zdGFuY2VzIHRoYXQgaGF2ZSBnb25lIGF3YXkuCgkJCXZhciBzZWxmID0gdGhpczsKCQkJJC5lYWNoKHRoaXMuaW5zdGFuY2VzLCBmdW5jdGlvbihpLCBlbGVtZW50KSB7CgkJCQlpZihzZWxmLmVsZW1lbnQgIT09IGVsZW1lbnQpIHsgLy8gRG8gbm90IGRlc3Ryb3kgdGhpcyBpbnN0YW5jZS4KCQkJCQlpZighZWxlbWVudC5kYXRhKCJqUGxheWVyIikpIHsgLy8gQ2hlY2sgdGhhdCBlbGVtZW50IGlzIGEgcmVhbCBqUGxheWVyLgoJCQkJCQllbGVtZW50LmpQbGF5ZXIoImRlc3Ryb3kiKTsKCQkJCQkJZGVsZXRlIHNlbGYuaW5zdGFuY2VzW2ldOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgkJfSwKCQllbmFibGU6IGZ1bmN0aW9uKCkgeyAvLyBQbGFuIHRvIGltcGxlbWVudAoJCQkvLyBvcHRpb25zLmRpc2FibGVkID0gZmFsc2UKCQl9LAoJCWRpc2FibGU6IGZ1bmN0aW9uICgpIHsgLy8gUGxhbiB0byBpbXBsZW1lbnQKCQkJLy8gb3B0aW9ucy5kaXNhYmxlZCA9IHRydWUKCQl9LAoJCV90ZXN0Q2FuUGxheVR5cGU6IGZ1bmN0aW9uKGVsZW0pIHsKCQkJLy8gSUU5IG9uIFdpbiBTZXJ2ZXIgMjAwOCBkaWQgbm90IGltcGxlbWVudCBjYW5QbGF5VHlwZSgpLCBidXQgaXQgaGFzIHRoZSBwcm9wZXJ0eS4KCQkJdHJ5IHsKCQkJCWVsZW0uY2FuUGxheVR5cGUodGhpcy5mb3JtYXQubXAzLmNvZGVjKTsgLy8gVGhlIHR5cGUgaXMgaXJyZWxldmFudC4KCQkJCXJldHVybiB0cnVlOwoJCQl9IGNhdGNoKGVycikgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfSwKCQlfdGVzdFBsYXliYWNrUmF0ZTogZnVuY3Rpb24odHlwZSkgewoJCQkvLyB0eXBlOiBTdHJpbmcgJ2F1ZGlvJyBvciAndmlkZW8nCgkJCXZhciBlbCwgcmF0ZSA9IDAuNTsKCQkJdHlwZSA9IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyA/IHR5cGUgOiAnYXVkaW8nOwoJCQllbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7CgkJCS8vIFdyYXBwaW5nIGluIGEgdHJ5L2NhdGNoLCBqdXN0IGluIGNhc2Ugb2xkZXIgSFRNTDUgYnJvd3NlcnMgdGhyb3cgYW5kIGVycm9yLgoJCQl0cnkgewoJCQkJaWYoJ3BsYXliYWNrUmF0ZScgaW4gZWwpIHsKCQkJCQllbC5wbGF5YmFja1JhdGUgPSByYXRlOwoJCQkJCXJldHVybiBlbC5wbGF5YmFja1JhdGUgPT09IHJhdGU7CgkJCQl9IGVsc2UgewoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0sCgkJX3VhQmxvY2tsaXN0OiBmdW5jdGlvbihsaXN0KSB7CgkJCS8vIGxpc3QgOiBvYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFsbCByZWd1bGFyIGV4cHJlc3Npb25zLiBQcm9wZXJ0eSBuYW1lcyBhcmUgaXJyZWxldmFudC4KCQkJLy8gUmV0dXJucyB0cnVlIGlmIHRoZSB1c2VyIGFnZW50IGlzIG1hdGNoZWQgaW4gbGlzdC4KCQkJdmFyCXVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLAoJCQkJYmxvY2sgPSBmYWxzZTsKCgkJCSQuZWFjaChsaXN0LCBmdW5jdGlvbihwLCByZSkgewoJCQkJaWYocmUgJiYgcmUudGVzdCh1YSkpIHsKCQkJCQlibG9jayA9IHRydWU7CgkJCQkJcmV0dXJuIGZhbHNlOyAvLyBleGl0ICQuZWFjaC4KCQkJCX0KCQkJfSk7CgkJCXJldHVybiBibG9jazsKCQl9LAoJCV9yZXN0cmljdE5hdGl2ZVZpZGVvQ29udHJvbHM6IGZ1bmN0aW9uKCkgewoJCQkvLyBGYWxsYmFjayB0byBub0Z1bGxXaW5kb3cgd2hlbiBuYXRpdmVWaWRlb0NvbnRyb2xzIGlzIHRydWUgYW5kIGF1ZGlvIG1lZGlhIGlzIGJlaW5nIHVzZWQuIEFmZmVjdHMgd2hlbiBib3RoIG1lZGlhIHR5cGVzIGFyZSB1c2VkLgoJCQlpZih0aGlzLnJlcXVpcmUuYXVkaW8pIHsKCQkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gZmFsc2U7CgkJCQkJdGhpcy5zdGF0dXMubm9GdWxsV2luZG93ID0gdHJ1ZTsKCQkJCX0KCQkJfQoJCX0sCgkJX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHM6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlICYmIHRoaXMuaHRtbC51c2VkKSB7CgkJCQkvLyBUdXJuIHRoZSBIVE1MIFZpZGVvIGNvbnRyb2xzIG9uL29mZgoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlby5jb250cm9scyA9IHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHM7CgkJCQkvLyBTaG93L2hpZGUgdGhlIGpQbGF5ZXIgR1VJLgoJCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJCS8vIEZvciB3aGVuIG9wdGlvbiBjaGFuZ2VkLiBUaGUgcG9zdGVyIGltYWdlIGlzIG5vdCB1cGRhdGVkLCBhcyBpdCBpcyBkZWFsdCB3aXRoIGluIHNldE1lZGlhKCkuIEFjY2VwdGFibGUgZGVncmFkYXRpb24gc2luY2Ugc2VyaW91c2x5IGRvdWJ0IHRoZXNlIG9wdGlvbnMgd2lsbCBjaGFuZ2Ugb24gdGhlIGZseS4gQ2FuIGFnYWluIHJldmlldyBsYXRlci4KCQkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgJiYgdGhpcy5yZXF1aXJlLnZpZGVvKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpOwoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQkJfSBlbHNlIGlmKHRoaXMuc3RhdHVzLndhaXRGb3JQbGF5ICYmIHRoaXMuc3RhdHVzLnZpZGVvKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOiAnMHB4JywgJ2hlaWdodCc6ICcwcHgnfSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9hZGRIdG1sRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uKG1lZGlhRWxlbWVudCwgZW50aXR5KSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJbWVkaWFFbGVtZW50LnByZWxvYWQgPSB0aGlzLm9wdGlvbnMucHJlbG9hZDsKCQkJbWVkaWFFbGVtZW50Lm11dGVkID0gdGhpcy5vcHRpb25zLm11dGVkOwoJCQltZWRpYUVsZW1lbnQudm9sdW1lID0gdGhpcy5vcHRpb25zLnZvbHVtZTsKCgkJCWlmKHRoaXMuc3RhdHVzLnBsYXliYWNrUmF0ZUVuYWJsZWQpIHsKCQkJCW1lZGlhRWxlbWVudC5kZWZhdWx0UGxheWJhY2tSYXRlID0gdGhpcy5vcHRpb25zLmRlZmF1bHRQbGF5YmFja1JhdGU7CgkJCQltZWRpYUVsZW1lbnQucGxheWJhY2tSYXRlID0gdGhpcy5vcHRpb25zLnBsYXliYWNrUmF0ZTsKCQkJfQoKCQkJLy8gQ3JlYXRlIHRoZSBldmVudCBsaXN0ZW5lcnMKCQkJLy8gT25seSB3YW50IHRoZSBhY3RpdmUgZW50aXR5IHRvIGFmZmVjdCBqUGxheWVyIGFuZCBidWJibGUgZXZlbnRzLgoJCQkvLyBVc2luZyBlbnRpdHkuZ2F0ZSBzbyB0aGF0IG9iamVjdCBpcyByZWZlcmVuY2VkIGFuZCBnYXRlIHByb3BlcnR5IGFsd2F5cyBjdXJyZW50CgkJCQoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJaWYoc2VsZi5pbnRlcm5hbC5jbWRzSWdub3JlZCAmJiB0aGlzLnJlYWR5U3RhdGUgPiAwKSB7IC8vIERldGVjdCBpT1MgZXhlY3V0ZWQgdGhlIGNvbW1hbmQKCQkJCQkJc2VsZi5pbnRlcm5hbC5jbWRzSWdub3JlZCA9IGZhbHNlOwoJCQkJCX0KCQkJCQlzZWxmLl9nZXRIdG1sU3RhdHVzKG1lZGlhRWxlbWVudCk7CgkJCQkJc2VsZi5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucHJvZ3Jlc3MpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRkYXRhIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuYW5kcm9pZEZpeC5zZXRNZWRpYSA9IGZhbHNlOyAvLyBEaXNhYmxlIHRoZSBmaXggYWZ0ZXIgdGhlIGZpcnN0IHByb2dyZXNzIGV2ZW50LgoJCQkJCWlmKHNlbGYuYW5kcm9pZEZpeC5wbGF5KSB7IC8vIFBsYXkgQW5kcm9pZCBhdWRpbyAtIHBlcmZvcm1pbmcgdGhlIGZpeC4KCQkJCQkJc2VsZi5hbmRyb2lkRml4LnBsYXkgPSBmYWxzZTsKCQkJCQkJc2VsZi5wbGF5KHNlbGYuYW5kcm9pZEZpeC50aW1lKTsKCQkJCQl9CgkJCQkJaWYoc2VsZi5hbmRyb2lkRml4LnBhdXNlKSB7IC8vIFBhdXNlIEFuZHJvaWQgYXVkaW8gYXQgdGltZSAtIHBlcmZvcm1pbmcgdGhlIGZpeC4KCQkJCQkJc2VsZi5hbmRyb2lkRml4LnBhdXNlID0gZmFsc2U7CgkJCQkJCXNlbGYucGF1c2Uoc2VsZi5hbmRyb2lkRml4LnRpbWUpOwoJCQkJCX0KCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5sb2FkZWRkYXRhKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9nZXRIdG1sU3RhdHVzKG1lZGlhRWxlbWVudCk7CgkJCQkJc2VsZi5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImR1cmF0aW9uY2hhbmdlIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX2dldEh0bWxTdGF0dXMobWVkaWFFbGVtZW50KTsKCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5kdXJhdGlvbmNoYW5nZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyh0cnVlKTsKCQkJCQlzZWxmLl9odG1sX2NoZWNrV2FpdEZvclBsYXkoKTsgLy8gU28gdGhlIG5hdGl2ZSBjb250cm9scyB1cGRhdGUgdGhpcyB2YXJpYWJsZSBhbmQgcHV0cyB0aGUgaGlkZGVuIGludGVyZmFjZSBpbiB0aGUgY29ycmVjdCBzdGF0ZS4gQWZmZWN0cyB0b2dnbGluZyBuYXRpdmUgY29udHJvbHMuCgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGxheSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXlpbmciLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyh0cnVlKTsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5wbGF5aW5nKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGF1c2UpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ3YWl0aW5nIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX3NlZWtpbmcoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC53YWl0aW5nKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Vla2luZyIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVraW5nKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuc2Vla2luZyk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlZWtlZCIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5zZWVrZWQpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ2b2x1bWVjaGFuZ2UiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJLy8gUmVhZCB0aGUgdmFsdWVzIGJhY2sgZnJvbSB0aGUgZWxlbWVudCBhcyB0aGUgQmxhY2tiZXJyeSBQbGF5Qm9vayBzaGFyZXMgdGhlIHZvbHVtZSB3aXRoIHRoZSBwaHlzaWNhbCBidXR0b25zIG1hc3RlciB2b2x1bWUgY29udHJvbC4KCQkJCQkvLyBIb3dldmVyLCB3aGVuIHRlc3RlZCA2dGggSnVseSAyMDExLCB0aG9zZSBidXR0b25zIGRvIG5vdCBnZW5lcmF0ZSBhbiBldmVudC4gVGhlIHBoeXNpY2FsIHBsYXkvcGF1c2UgYnV0dG9uIGRvZXMgdGhvdWdoLgoJCQkJCXNlbGYub3B0aW9ucy52b2x1bWUgPSBtZWRpYUVsZW1lbnQudm9sdW1lOwoJCQkJCXNlbGYub3B0aW9ucy5tdXRlZCA9IG1lZGlhRWxlbWVudC5tdXRlZDsKCQkJCQlzZWxmLl91cGRhdGVNdXRlKCk7CgkJCQkJc2VsZi5fdXBkYXRlVm9sdW1lKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmF0ZWNoYW5nZSIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLm9wdGlvbnMuZGVmYXVsdFBsYXliYWNrUmF0ZSA9IG1lZGlhRWxlbWVudC5kZWZhdWx0UGxheWJhY2tSYXRlOwoJCQkJCXNlbGYub3B0aW9ucy5wbGF5YmFja1JhdGUgPSBtZWRpYUVsZW1lbnQucGxheWJhY2tSYXRlOwoJCQkJCXNlbGYuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpOwoJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnJhdGVjaGFuZ2UpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJzdXNwZW5kIiwgZnVuY3Rpb24oKSB7IC8vIFNlZW1zIHRvIGJlIHRoZSBvbmx5IHdheSBvZiBjYXB0dXJpbmcgdGhhdCB0aGUgaU9TNCBicm93c2VyIGRpZCBub3QgYWN0dWFsbHkgcGxheSB0aGUgbWVkaWEgZnJvbSB0aGUgcGFnZSBjb2RlLiBpZS4sIEl0IG5lZWRzIGEgdXNlciBnZXN0dXJlLgoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5zdXNwZW5kKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZW5kZWQiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJLy8gT3JkZXIgb2YgdGhlIG5leHQgZmV3IGNvbW1hbmRzIGFyZSBpbXBvcnRhbnQuIENoYW5nZSB0aGUgdGltZSBhbmQgdGhlbiBwYXVzZS4KCQkJCQkvLyBTb2x2ZXMgYSBidWcgaW4gRmlyZWZveCwgd2hlcmUgaXNzdWluZyBwYXVzZSAxc3QgY2F1c2VzIHRoZSBtZWRpYSB0byBwbGF5IGZyb20gdGhlIHN0YXJ0LiBpZS4sIFRoZSBwYXVzZSBpcyBpZ25vcmVkLgoJCQkJCWlmKCEkLmpQbGF5ZXIuYnJvd3Nlci53ZWJraXQpIHsgLy8gQ2hyb21lIGNyYXNoZXMgaWYgeW91IGRvIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBhIHNldE1lZGlhIGNvbW1hbmQgaW4gYW4gZW5kZWQgZXZlbnQgaGFuZGxlci4gaWUuLCBUaGUgcGxheWxpc3QgZGVtby4KCQkJCQkJc2VsZi5odG1sRWxlbWVudC5tZWRpYS5jdXJyZW50VGltZSA9IDA7IC8vIFNhZmFyaSBkb2VzIG5vdCBjYXJlIGFib3V0IHRoaXMgY29tbWFuZC4gaWUuLCBJdCB3b3JrcyB3aXRoIG9yIHdpdGhvdXQgdGhpcyBsaW5lLiAoQm90aCBTYWZhcmkgYW5kIENocm9tZSBhcmUgV2Via2l0LikKCQkJCQl9CgkJCQkJc2VsZi5odG1sRWxlbWVudC5tZWRpYS5wYXVzZSgpOyAvLyBQYXVzZSBvdGhlcndpc2UgYSBjbGljayBvbiB0aGUgcHJvZ3Jlc3MgYmFyIHdpbGwgcGxheSBmcm9tIHRoYXQgcG9pbnQsIHdoZW4gaXQgc2hvdWxkbid0LCBzaW5jZSBpdCBzdG9wcGVkIHBsYXliYWNrLgoJCQkJCXNlbGYuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJCXNlbGYuX2dldEh0bWxTdGF0dXMobWVkaWFFbGVtZW50LCB0cnVlKTsgLy8gV2l0aCBvdmVycmlkZSB0cnVlLiBPdGhlcndpc2UgQ2hyb21lIGxlYXZlcyBwcm9ncmVzcyBhdCBmdWxsLgoJCQkJCXNlbGYuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmVuZGVkKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCQkJc2VsZi5fc2Vla2VkKCk7CgkJCQkJaWYoc2VsZi5zdGF0dXMuc3JjU2V0KSB7IC8vIERlYWxzIHdpdGggY2FzZSBvZiBjbGVhck1lZGlhKCkgY2F1c2luZyBhbiBlcnJvciBldmVudC4KCQkJCQkJY2xlYXJUaW1lb3V0KHNlbGYuaW50ZXJuYWwuaHRtbERseUNtZElkKTsgLy8gQ2xlYXJzIGFueSBkZWxheWVkIGNvbW1hbmRzIHVzZWQgaW4gdGhlIEhUTUwgc29sdXRpb24uCgkJCQkJCXNlbGYuc3RhdHVzLndhaXRGb3JMb2FkID0gdHJ1ZTsgLy8gQWxsb3dzIHRoZSBsb2FkIG9wZXJhdGlvbiB0byB0cnkgYWdhaW4uCgkJCQkJCXNlbGYuc3RhdHVzLndhaXRGb3JQbGF5ID0gdHJ1ZTsgLy8gUmVzZXQgc2luY2UgYSBwbGF5IHdhcyBjYXB0dXJlZC4KCQkJCQkJaWYoc2VsZi5zdGF0dXMudmlkZW8gJiYgIXNlbGYuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQkJCXNlbGYuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOwoJCQkJCQl9CgkJCQkJCWlmKHNlbGYuX3ZhbGlkU3RyaW5nKHNlbGYuc3RhdHVzLm1lZGlhLnBvc3RlcikgJiYgIXNlbGYuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQkJCXNlbGYuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKTsKCQkJCQkJfQoJCQkJCQlpZihzZWxmLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoKSB7CgkJCQkJCQlzZWxmLmNzcy5qcS52aWRlb1BsYXkuc2hvdygpOwoJCQkJCQl9CgkJCQkJCXNlbGYuX2Vycm9yKCB7CgkJCQkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3IuVVJMLAoJCQkJCQkJY29udGV4dDogc2VsZi5zdGF0dXMuc3JjLCAvLyB0aGlzLnNyYyBzaG93cyBhYnNvbHV0ZSB1cmxzLiBXYW50IGNvbnRleHQgdG8gc2hvdyB0aGUgdXJsIGdpdmVuLgoJCQkJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnLlVSTCwKCQkJCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuVVJMCgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQkvLyBDcmVhdGUgYWxsIHRoZSBvdGhlciBldmVudCBsaXN0ZW5lcnMgdGhhdCBidWJibGUgdXAgdG8gYSBqUGxheWVyIGV2ZW50IGZyb20gaHRtbCwgd2l0aG91dCBiZWluZyB1c2VkIGJ5IGpQbGF5ZXIuCgkJCSQuZWFjaCgkLmpQbGF5ZXIuaHRtbEV2ZW50LCBmdW5jdGlvbihpLCBldmVudFR5cGUpIHsKCQkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMsIGZ1bmN0aW9uKCkgewoJCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50W2V2ZW50VHlwZV0pOwoJCQkJCX0KCQkJCX0sIGZhbHNlKTsKCQkJfSk7CgkJfSwKCQlfYWRkQXVyb3JhRXZlbnRMaXN0ZW5lcnMgOiBmdW5jdGlvbihwbGF5ZXIsIGVudGl0eSkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCS8vcGxheWVyLnByZWxvYWQgPSB0aGlzLm9wdGlvbnMucHJlbG9hZDsKCQkJLy9wbGF5ZXIubXV0ZWQgPSB0aGlzLm9wdGlvbnMubXV0ZWQ7CgkJCXBsYXllci52b2x1bWUgPSB0aGlzLm9wdGlvbnMudm9sdW1lICogMTAwOwoKCQkJLy8gQ3JlYXRlIHRoZSBldmVudCBsaXN0ZW5lcnMKCQkJLy8gT25seSB3YW50IHRoZSBhY3RpdmUgZW50aXR5IHRvIGFmZmVjdCBqUGxheWVyIGFuZCBidWJibGUgZXZlbnRzLgoJCQkvLyBVc2luZyBlbnRpdHkuZ2F0ZSBzbyB0aGF0IG9iamVjdCBpcyByZWZlcmVuY2VkIGFuZCBnYXRlIHByb3BlcnR5IGFsd2F5cyBjdXJyZW50CgkJCQoJCQlwbGF5ZXIub24oInByb2dyZXNzIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCWlmKHNlbGYuaW50ZXJuYWwuY21kc0lnbm9yZWQgJiYgdGhpcy5yZWFkeVN0YXRlID4gMCkgeyAvLyBEZXRlY3QgaU9TIGV4ZWN1dGVkIHRoZSBjb21tYW5kCgkJCQkJCXNlbGYuaW50ZXJuYWwuY21kc0lnbm9yZWQgPSBmYWxzZTsKCQkJCQl9CgkJCQkJc2VsZi5fZ2V0QXVyb3JhU3RhdHVzKHBsYXllcik7CgkJCQkJc2VsZi5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucHJvZ3Jlc3MpOwoJCQkJCS8vIFByb2dyZXNzIHdpdGggc29uZyBkdXJhdGlvbiwgd2UgZXN0aW1hdGUgdGltZXVwZGF0ZSBuZWVkIHRvIGJlIHRyaWdnZXJlZCB0b28uCgkJCQkJaWYgKHBsYXllci5kdXJhdGlvbiA+IDApIHsKCQkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSk7CgkJCQkJfQoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCXBsYXllci5vbigicmVhZHkiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJcGxheWVyLm9uKCJkdXJhdGlvbiIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9nZXRBdXJvcmFTdGF0dXMocGxheWVyKTsKCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5kdXJhdGlvbmNoYW5nZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJcGxheWVyLm9uKCJlbmQiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJLy8gT3JkZXIgb2YgdGhlIG5leHQgZmV3IGNvbW1hbmRzIGFyZSBpbXBvcnRhbnQuIENoYW5nZSB0aGUgdGltZSBhbmQgdGhlbiBwYXVzZS4KCQkJCQlzZWxmLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQlzZWxmLl9nZXRBdXJvcmFTdGF0dXMocGxheWVyLCB0cnVlKTsKCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5lbmRlZCk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJcGxheWVyLm9uKCJlcnJvciIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlpZihzZWxmLnN0YXR1cy5zcmNTZXQpIHsgLy8gRGVhbHMgd2l0aCBjYXNlIG9mIGNsZWFyTWVkaWEoKSBjYXVzaW5nIGFuIGVycm9yIGV2ZW50LgoJCQkJCQlzZWxmLnN0YXR1cy53YWl0Rm9yTG9hZCA9IHRydWU7IC8vIEFsbG93cyB0aGUgbG9hZCBvcGVyYXRpb24gdG8gdHJ5IGFnYWluLgoJCQkJCQlzZWxmLnN0YXR1cy53YWl0Rm9yUGxheSA9IHRydWU7IC8vIFJlc2V0IHNpbmNlIGEgcGxheSB3YXMgY2FwdHVyZWQuCgkJCQkJCWlmKHNlbGYuc3RhdHVzLnZpZGVvICYmICFzZWxmLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJCQlzZWxmLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsKCQkJCQkJfQoJCQkJCQlpZihzZWxmLl92YWxpZFN0cmluZyhzZWxmLnN0YXR1cy5tZWRpYS5wb3N0ZXIpICYmICFzZWxmLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJCQlzZWxmLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCk7CgkJCQkJCX0KCQkJCQkJaWYoc2VsZi5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCQkJc2VsZi5jc3MuanEudmlkZW9QbGF5LnNob3coKTsKCQkJCQkJfQoJCQkJCQlzZWxmLl9lcnJvciggewoJCQkJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTCwKCQkJCQkJCWNvbnRleHQ6IHNlbGYuc3RhdHVzLnNyYywgLy8gdGhpcy5zcmMgc2hvd3MgYWJzb2x1dGUgdXJscy4gV2FudCBjb250ZXh0IHRvIHNob3cgdGhlIHVybCBnaXZlbi4KCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkwsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50LlVSTAoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQl9LAoJCV9nZXRIdG1sU3RhdHVzOiBmdW5jdGlvbihtZWRpYSwgb3ZlcnJpZGUpIHsKCQkJdmFyIGN0ID0gMCwgY3BhID0gMCwgc3AgPSAwLCBjcHIgPSAwOwoKCQkJLy8gRml4ZXMgdGhlIGR1cmF0aW9uIGJ1ZyBpbiBpT1MsIHdoZXJlIHRoZSBkdXJhdGlvbmNoYW5nZSBldmVudCBvY2N1cnMgd2hlbiBtZWRpYS5kdXJhdGlvbiBpcyBub3QgYWx3YXlzIGNvcnJlY3QuCgkJCS8vIEZpeGVzIHRoZSBpbml0aWFsIGR1cmF0aW9uIGJ1ZyBpbiBCQiBPUzcsIHdoZXJlIHRoZSBtZWRpYS5kdXJhdGlvbiBpcyBpbmZpbml0eSBhbmQgZGlzcGxheXMgYXMgTmFOOk5hTiBkdWUgdG8gRGF0ZSgpIHVzaW5nIGluaWZpdHkuCgkJCWlmKGlzRmluaXRlKG1lZGlhLmR1cmF0aW9uKSkgewoJCQkJdGhpcy5zdGF0dXMuZHVyYXRpb24gPSBtZWRpYS5kdXJhdGlvbjsKCQkJfQoKCQkJY3QgPSBtZWRpYS5jdXJyZW50VGltZTsKCQkJY3BhID0gKHRoaXMuc3RhdHVzLmR1cmF0aW9uID4gMCkgPyAxMDAgKiBjdCAvIHRoaXMuc3RhdHVzLmR1cmF0aW9uIDogMDsKCQkJaWYoKHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIpICYmIChtZWRpYS5zZWVrYWJsZS5sZW5ndGggPiAwKSkgewoJCQkJc3AgPSAodGhpcy5zdGF0dXMuZHVyYXRpb24gPiAwKSA/IDEwMCAqIG1lZGlhLnNlZWthYmxlLmVuZChtZWRpYS5zZWVrYWJsZS5sZW5ndGgtMSkgLyB0aGlzLnN0YXR1cy5kdXJhdGlvbiA6IDEwMDsKCQkJCWNwciA9ICh0aGlzLnN0YXR1cy5kdXJhdGlvbiA+IDApID8gMTAwICogbWVkaWEuY3VycmVudFRpbWUgLyBtZWRpYS5zZWVrYWJsZS5lbmQobWVkaWEuc2Vla2FibGUubGVuZ3RoLTEpIDogMDsgLy8gRHVyYXRpb24gY29uZGl0aW9uYWwgZm9yIGlPUyBkdXJhdGlvbiBidWcuIGllLiwgc2Vla2FibGUuZW5kIGlzIGEgTmFOIGluIHRoYXQgY2FzZS4KCQkJfSBlbHNlIHsKCQkJCXNwID0gMTAwOwoJCQkJY3ByID0gY3BhOwoJCQl9CgkJCQoJCQlpZihvdmVycmlkZSkgewoJCQkJY3QgPSAwOwoJCQkJY3ByID0gMDsKCQkJCWNwYSA9IDA7CgkJCX0KCgkJCXRoaXMuc3RhdHVzLnNlZWtQZXJjZW50ID0gc3A7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSBjcHI7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSBjcGE7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lID0gY3Q7CgoJCQl0aGlzLnN0YXR1cy5yZW1haW5pbmcgPSB0aGlzLnN0YXR1cy5kdXJhdGlvbiAtIHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lOwoKCQkJdGhpcy5zdGF0dXMudmlkZW9XaWR0aCA9IG1lZGlhLnZpZGVvV2lkdGg7CgkJCXRoaXMuc3RhdHVzLnZpZGVvSGVpZ2h0ID0gbWVkaWEudmlkZW9IZWlnaHQ7CgoJCQl0aGlzLnN0YXR1cy5yZWFkeVN0YXRlID0gbWVkaWEucmVhZHlTdGF0ZTsKCQkJdGhpcy5zdGF0dXMubmV0d29ya1N0YXRlID0gbWVkaWEubmV0d29ya1N0YXRlOwoJCQl0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGUgPSBtZWRpYS5wbGF5YmFja1JhdGU7CgkJCXRoaXMuc3RhdHVzLmVuZGVkID0gbWVkaWEuZW5kZWQ7CgkJfSwKCQlfZ2V0QXVyb3JhU3RhdHVzOiBmdW5jdGlvbihwbGF5ZXIsIG92ZXJyaWRlKSB7CgkJCXZhciBjdCA9IDAsIGNwYSA9IDAsIHNwID0gMCwgY3ByID0gMDsKCgkJCXRoaXMuc3RhdHVzLmR1cmF0aW9uID0gcGxheWVyLmR1cmF0aW9uIC8gMTAwMDsKCgkJCWN0ID0gcGxheWVyLmN1cnJlbnRUaW1lIC8gMTAwMDsKCQkJY3BhID0gKHRoaXMuc3RhdHVzLmR1cmF0aW9uID4gMCkgPyAxMDAgKiBjdCAvIHRoaXMuc3RhdHVzLmR1cmF0aW9uIDogMDsKCQkJaWYocGxheWVyLmJ1ZmZlcmVkID4gMCkgewoJCQkJc3AgPSAodGhpcy5zdGF0dXMuZHVyYXRpb24gPiAwKSA/IChwbGF5ZXIuYnVmZmVyZWQgKiB0aGlzLnN0YXR1cy5kdXJhdGlvbikgLyB0aGlzLnN0YXR1cy5kdXJhdGlvbiA6IDEwMDsKCQkJCWNwciA9ICh0aGlzLnN0YXR1cy5kdXJhdGlvbiA+IDApID8gY3QgLyAocGxheWVyLmJ1ZmZlcmVkICogdGhpcy5zdGF0dXMuZHVyYXRpb24pIDogMDsKCQkJfSBlbHNlIHsKCQkJCXNwID0gMTAwOwoJCQkJY3ByID0gY3BhOwoJCQl9CgkJCQoJCQlpZihvdmVycmlkZSkgewoJCQkJY3QgPSAwOwoJCQkJY3ByID0gMDsKCQkJCWNwYSA9IDA7CgkJCX0KCgkJCXRoaXMuc3RhdHVzLnNlZWtQZXJjZW50ID0gc3A7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSBjcHI7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSBjcGE7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lID0gY3Q7CgoJCQl0aGlzLnN0YXR1cy5yZW1haW5pbmcgPSB0aGlzLnN0YXR1cy5kdXJhdGlvbiAtIHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lOwoKCQkJdGhpcy5zdGF0dXMucmVhZHlTdGF0ZSA9IDQ7IC8vIHN0YXR1cy5yZWFkeVN0YXRlOwoJCQl0aGlzLnN0YXR1cy5uZXR3b3JrU3RhdGUgPSAwOyAvLyBzdGF0dXMubmV0d29ya1N0YXRlOwoJCQl0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGUgPSAxOyAvLyBzdGF0dXMucGxheWJhY2tSYXRlOwoJCQl0aGlzLnN0YXR1cy5lbmRlZCA9IGZhbHNlOyAvLyBzdGF0dXMuZW5kZWQ7CgkJfSwKCQlfcmVzZXRTdGF0dXM6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLnN0YXR1cyA9ICQuZXh0ZW5kKHt9LCB0aGlzLnN0YXR1cywgJC5qUGxheWVyLnByb3RvdHlwZS5zdGF0dXMpOyAvLyBNYWludGFpbnMgdGhlIHN0YXR1cyBwcm9wZXJ0aWVzIHRoYXQgcGVyc2lzdCB0aHJvdWdoIGEgcmVzZXQuCgkJfSwKCQlfdHJpZ2dlcjogZnVuY3Rpb24oZXZlbnRUeXBlLCBlcnJvciwgd2FybmluZykgeyAvLyBldmVudFR5cGUgYWx3YXlzIHZhbGlkIGFzIGNhbGxlZCB1c2luZyAkLmpQbGF5ZXIuZXZlbnQuZXZlbnRUeXBlCgkJCXZhciBldmVudCA9ICQuRXZlbnQoZXZlbnRUeXBlKTsKCQkJZXZlbnQualBsYXllciA9IHt9OwoJCQlldmVudC5qUGxheWVyLnZlcnNpb24gPSAkLmV4dGVuZCh7fSwgdGhpcy52ZXJzaW9uKTsKCQkJZXZlbnQualBsYXllci5vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMub3B0aW9ucyk7IC8vIERlZXAgY29weQoJCQlldmVudC5qUGxheWVyLnN0YXR1cyA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLnN0YXR1cyk7IC8vIERlZXAgY29weQoJCQlldmVudC5qUGxheWVyLmh0bWwgPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5odG1sKTsgLy8gRGVlcCBjb3B5CgkJCWV2ZW50LmpQbGF5ZXIuYXVyb3JhID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMuYXVyb3JhKTsgLy8gRGVlcCBjb3B5CgkJCWV2ZW50LmpQbGF5ZXIuZmxhc2ggPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5mbGFzaCk7IC8vIERlZXAgY29weQoJCQlpZihlcnJvcikgewoJCQkJZXZlbnQualBsYXllci5lcnJvciA9ICQuZXh0ZW5kKHt9LCBlcnJvcik7CgkJCX0KCQkJaWYod2FybmluZykgewoJCQkJZXZlbnQualBsYXllci53YXJuaW5nID0gJC5leHRlbmQoe30sIHdhcm5pbmcpOwoJCQl9CgkJCXRoaXMuZWxlbWVudC50cmlnZ2VyKGV2ZW50KTsKCQl9LAoJCWpQbGF5ZXJGbGFzaEV2ZW50OiBmdW5jdGlvbihldmVudFR5cGUsIHN0YXR1cykgeyAvLyBDYWxsZWQgZnJvbSBGbGFzaAoJCQlpZihldmVudFR5cGUgPT09ICQualBsYXllci5ldmVudC5yZWFkeSkgewoJCQkJaWYoIXRoaXMuaW50ZXJuYWwucmVhZHkpIHsKCQkJCQl0aGlzLmludGVybmFsLnJlYWR5ID0gdHJ1ZTsKCQkJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsgLy8gT25jZSBGbGFzaCBnZW5lcmF0ZXMgdGhlIHJlYWR5IGV2ZW50LCBtaW5pbWlzZSB0byB6ZXJvIGFzIGl0IGlzIG5vdCBhZmZlY3RlZCBieSB3bW9kZSBhbnltb3JlLgoKCQkJCQl0aGlzLnZlcnNpb24uZmxhc2ggPSBzdGF0dXMudmVyc2lvbjsKCQkJCQlpZih0aGlzLnZlcnNpb24ubmVlZEZsYXNoICE9PSB0aGlzLnZlcnNpb24uZmxhc2gpIHsKCQkJCQkJdGhpcy5fZXJyb3IoIHsKCQkJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5WRVJTSU9OLAoJCQkJCQkJY29udGV4dDogdGhpcy52ZXJzaW9uLmZsYXNoLAoJCQkJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnLlZFUlNJT04gKyB0aGlzLnZlcnNpb24uZmxhc2gsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50LlZFUlNJT04KCQkJCQkJfSk7CgkJCQkJfQoJCQkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnJlcGVhdCk7IC8vIFRyaWdnZXIgdGhlIHJlcGVhdCBldmVudCBzbyBpdHMgaGFuZGxlciBjYW4gaW5pdGlhbGl6ZSBpdHNlbGYgd2l0aCB0aGUgbG9vcCBvcHRpb24uCgkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBUaGlzIGNvbmRpdGlvbiBvY2N1cnMgaWYgdGhlIEZsYXNoIGlzIGhpZGRlbiBhbmQgdGhlbiBzaG93biBhZ2Fpbi4KCQkJCQkvLyBGaXJlZm94IGFsc28gcmVsb2FkcyB0aGUgRmxhc2ggaWYgdGhlIENTUyBwb3NpdGlvbiBjaGFuZ2VzLiBwb3NpdGlvbjpmaXhlZCBpcyB1c2VkIGZvciBmdWxsIHNjcmVlbi4KCgkJCQkJLy8gT25seSBkbyB0aGlzIGlmIHRoZSBGbGFzaCBpcyB0aGUgc29sdXRpb24gYmVpbmcgdXNlZCBhdCB0aGUgbW9tZW50LiBBZmZlY3RzIE1lZGlhIHBsYXllcnMgd2hlcmUgYm90aCBzb2x1dGlvbiBtYXkgYmUgYmVpbmcgdXNlZC4KCQkJCQlpZih0aGlzLmZsYXNoLmdhdGUpIHsKCgkJCQkJCS8vIFNlbmQgdGhlIGN1cnJlbnQgc3RhdHVzIHRvIHRoZSBGbGFzaCBub3cgdGhhdCBpdCBpcyByZWFkeSAoYXZhaWxhYmxlKSBhZ2Fpbi4KCQkJCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgoJCQkJCQkJLy8gTmVlZCB0byByZWFkIG9yaWdpbmFsIHN0YXR1cyBiZWZvcmUgaXNzdWluZyB0aGUgc2V0TWVkaWEgY29tbWFuZC4KCQkJCQkJCXZhcgljdXJyZW50VGltZSA9IHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lLAoJCQkJCQkJCXBhdXNlZCA9IHRoaXMuc3RhdHVzLnBhdXNlZDsgCgoJCQkJCQkJdGhpcy5zZXRNZWRpYSh0aGlzLnN0YXR1cy5tZWRpYSk7CgkJCQkJCQl0aGlzLnZvbHVtZVdvcmtlcih0aGlzLm9wdGlvbnMudm9sdW1lKTsKCQkJCQkJCWlmKGN1cnJlbnRUaW1lID4gMCkgewoJCQkJCQkJCWlmKHBhdXNlZCkgewoJCQkJCQkJCQl0aGlzLnBhdXNlKGN1cnJlbnRUaW1lKTsKCQkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCQl0aGlzLnBsYXkoY3VycmVudFRpbWUpOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5mbGFzaHJlc2V0KTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJaWYodGhpcy5mbGFzaC5nYXRlKSB7CgkJCQlzd2l0Y2goZXZlbnRUeXBlKSB7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQucHJvZ3Jlc3M6CgkJCQkJCXRoaXMuX2dldEZsYXNoU3RhdHVzKHN0YXR1cyk7CgkJCQkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnRpbWV1cGRhdGU6CgkJCQkJCXRoaXMuX2dldEZsYXNoU3RhdHVzKHN0YXR1cyk7CgkJCQkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnBsYXk6CgkJCQkJCXRoaXMuX3NlZWtlZCgpOwoJCQkJCQl0aGlzLl91cGRhdGVCdXR0b25zKHRydWUpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnBhdXNlOgoJCQkJCQl0aGlzLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICQualBsYXllci5ldmVudC5lbmRlZDoKCQkJCQkJdGhpcy5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQuY2xpY2s6CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsgLy8gVGhpcyBjb3VsZCBiZSBkZWFsdCB3aXRoIGJ5IHRoZSBkZWZhdWx0CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LmVycm9yOgoJCQkJCQl0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCA9IHRydWU7IC8vIEFsbG93cyB0aGUgbG9hZCBvcGVyYXRpb24gdG8gdHJ5IGFnYWluLgoJCQkJCQl0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSA9IHRydWU7IC8vIFJlc2V0IHNpbmNlIGEgcGxheSB3YXMgY2FwdHVyZWQuCgkJCQkJCWlmKHRoaXMuc3RhdHVzLnZpZGVvKSB7CgkJCQkJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsKCQkJCQkJfQoJCQkJCQlpZih0aGlzLl92YWxpZFN0cmluZyh0aGlzLnN0YXR1cy5tZWRpYS5wb3N0ZXIpKSB7CgkJCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCk7CgkJCQkJCX0KCQkJCQkJaWYodGhpcy5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCAmJiB0aGlzLnN0YXR1cy52aWRlbykgewoJCQkJCQkJdGhpcy5jc3MuanEudmlkZW9QbGF5LnNob3coKTsKCQkJCQkJfQoJCQkJCQlpZih0aGlzLnN0YXR1cy52aWRlbykgeyAvLyBTZXQgdXAgZm9yIGFub3RoZXIgdHJ5LiBFeGVjdXRlIGJlZm9yZSBlcnJvciBldmVudC4KCQkJCQkJCXRoaXMuX2ZsYXNoX3NldFZpZGVvKHRoaXMuc3RhdHVzLm1lZGlhKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXRoaXMuX2ZsYXNoX3NldEF1ZGlvKHRoaXMuc3RhdHVzLm1lZGlhKTsKCQkJCQkJfQoJCQkJCQl0aGlzLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQkJdGhpcy5fZXJyb3IoIHsKCQkJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5VUkwsCgkJCQkJCQljb250ZXh0OnN0YXR1cy5zcmMsCgkJCQkJCQltZXNzYWdlOiAkLmpQbGF5ZXIuZXJyb3JNc2cuVVJMLAoJCQkJCQkJaGludDogJC5qUGxheWVyLmVycm9ySGludC5VUkwKCQkJCQkJfSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnNlZWtpbmc6CgkJCQkJCXRoaXMuX3NlZWtpbmcoKTsKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICQualBsYXllci5ldmVudC5zZWVrZWQ6CgkJCQkJCXRoaXMuX3NlZWtlZCgpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnJlYWR5OgoJCQkJCQkvLyBUaGUgcmVhZHkgZXZlbnQgaXMgaGFuZGxlZCBvdXRzaWRlIHRoZSBzd2l0Y2ggc3RhdGVtZW50LgoJCQkJCQkvLyBDYXB0dXJlZCBoZXJlIG90aGVyd2lzZSAyIHJlYWR5IGV2ZW50cyB3b3VsZCBiZSBnZW5lcmF0ZWQgaWYgdGhlIHJlYWR5IGV2ZW50IGhhbmRsZXIgdXNlZCBzZXRNZWRpYS4KCQkJCQkJYnJlYWs7CgkJCQkJZGVmYXVsdDoKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJfQoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9LAoJCV9nZXRGbGFzaFN0YXR1czogZnVuY3Rpb24oc3RhdHVzKSB7CgkJCXRoaXMuc3RhdHVzLnNlZWtQZXJjZW50ID0gc3RhdHVzLnNlZWtQZXJjZW50OwoJCQl0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlID0gc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmU7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUgPSBzdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZTsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFRpbWUgPSBzdGF0dXMuY3VycmVudFRpbWU7CgkJCXRoaXMuc3RhdHVzLmR1cmF0aW9uID0gc3RhdHVzLmR1cmF0aW9uOwoJCQl0aGlzLnN0YXR1cy5yZW1haW5pbmcgPSBzdGF0dXMuZHVyYXRpb24gLSBzdGF0dXMuY3VycmVudFRpbWU7CgoJCQl0aGlzLnN0YXR1cy52aWRlb1dpZHRoID0gc3RhdHVzLnZpZGVvV2lkdGg7CgkJCXRoaXMuc3RhdHVzLnZpZGVvSGVpZ2h0ID0gc3RhdHVzLnZpZGVvSGVpZ2h0OwoKCQkJLy8gVGhlIEZsYXNoIGRvZXMgbm90IGdlbmVyYXRlIHRoaXMgaW5mb3JtYXRpb24gaW4gdGhpcyByZWxlYXNlCgkJCXRoaXMuc3RhdHVzLnJlYWR5U3RhdGUgPSA0OyAvLyBzdGF0dXMucmVhZHlTdGF0ZTsKCQkJdGhpcy5zdGF0dXMubmV0d29ya1N0YXRlID0gMDsgLy8gc3RhdHVzLm5ldHdvcmtTdGF0ZTsKCQkJdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlID0gMTsgLy8gc3RhdHVzLnBsYXliYWNrUmF0ZTsKCQkJdGhpcy5zdGF0dXMuZW5kZWQgPSBmYWxzZTsgLy8gc3RhdHVzLmVuZGVkOwoJCX0sCgkJX3VwZGF0ZUJ1dHRvbnM6IGZ1bmN0aW9uKHBsYXlpbmcpIHsKCQkJaWYocGxheWluZyA9PT0gdW5kZWZpbmVkKSB7CgkJCQlwbGF5aW5nID0gIXRoaXMuc3RhdHVzLnBhdXNlZDsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuc3RhdHVzLnBhdXNlZCA9ICFwbGF5aW5nOwoJCQl9CgkJCS8vIEFwcGx5IHRoZSBzdGF0ZSBjbGFzc2VzLiAoRm9yIHRoZSB1c2VTdGF0ZUNsYXNzU2tpbjp0cnVlIG9wdGlvbikKCQkJaWYocGxheWluZykgewoJCQkJdGhpcy5hZGRTdGF0ZUNsYXNzKCdwbGF5aW5nJyk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLnJlbW92ZVN0YXRlQ2xhc3MoJ3BsYXlpbmcnKTsKCQkJfQoJCQlpZighdGhpcy5zdGF0dXMubm9GdWxsV2luZG93ICYmIHRoaXMub3B0aW9ucy5mdWxsV2luZG93KSB7CgkJCQl0aGlzLmFkZFN0YXRlQ2xhc3MoJ2Z1bGxTY3JlZW4nKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMucmVtb3ZlU3RhdGVDbGFzcygnZnVsbFNjcmVlbicpOwoJCQl9CgkJCWlmKHRoaXMub3B0aW9ucy5sb29wKSB7CgkJCQl0aGlzLmFkZFN0YXRlQ2xhc3MoJ2xvb3BlZCcpOwoJCQl9IGVsc2UgewoJCQkJdGhpcy5yZW1vdmVTdGF0ZUNsYXNzKCdsb29wZWQnKTsKCQkJfQoJCQkvLyBUb2dnbGUgdGhlIEdVSSBlbGVtZW50IHBhaXJzLiAoRm9yIHRoZSB1c2VTdGF0ZUNsYXNzU2tpbjpmYWxzZSBvcHRpb24pCgkJCWlmKHRoaXMuY3NzLmpxLnBsYXkubGVuZ3RoICYmIHRoaXMuY3NzLmpxLnBhdXNlLmxlbmd0aCkgewoJCQkJaWYocGxheWluZykgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXkuaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnBhdXNlLnNob3coKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEucGxheS5zaG93KCk7CgkJCQkJdGhpcy5jc3MuanEucGF1c2UuaGlkZSgpOwoJCQkJfQoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4ubGVuZ3RoICYmIHRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4ubGVuZ3RoKSB7CgkJCQlpZih0aGlzLnN0YXR1cy5ub0Z1bGxXaW5kb3cpIHsKCQkJCQl0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKTsKCQkJCX0gZWxzZSBpZih0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdykgewoJCQkJCXRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4uaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4uc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKTsKCQkJCX0KCQkJfQoJCQlpZih0aGlzLmNzcy5qcS5yZXBlYXQubGVuZ3RoICYmIHRoaXMuY3NzLmpxLnJlcGVhdE9mZi5sZW5ndGgpIHsKCQkJCWlmKHRoaXMub3B0aW9ucy5sb29wKSB7CgkJCQkJdGhpcy5jc3MuanEucmVwZWF0LmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXBlYXRPZmYuc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5yZXBlYXQuc2hvdygpOwoJCQkJCXRoaXMuY3NzLmpxLnJlcGVhdE9mZi5oaWRlKCk7CgkJCQl9CgkJCX0KCQl9LAoJCV91cGRhdGVJbnRlcmZhY2U6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuc2Vla0Jhci53aWR0aCh0aGlzLnN0YXR1cy5zZWVrUGVyY2VudCsiJSIpOwoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnBsYXlCYXIubGVuZ3RoKSB7CgkJCQlpZih0aGlzLm9wdGlvbnMuc21vb3RoUGxheUJhcikgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXlCYXIuc3RvcCgpLmFuaW1hdGUoewoJCQkJCQl3aWR0aDogdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSsiJSIKCQkJCQl9LCAyNTAsICJsaW5lYXIiKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEucGxheUJhci53aWR0aCh0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlKyIlIik7CgkJCQl9CgkJCX0KCQkJdmFyIGN1cnJlbnRUaW1lVGV4dCA9ICcnOwoJCQlpZih0aGlzLmNzcy5qcS5jdXJyZW50VGltZS5sZW5ndGgpIHsKCQkJCWN1cnJlbnRUaW1lVGV4dCA9IHRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lKTsKCQkJCWlmKGN1cnJlbnRUaW1lVGV4dCAhPT0gdGhpcy5jc3MuanEuY3VycmVudFRpbWUudGV4dCgpKSB7CgkJCQkJdGhpcy5jc3MuanEuY3VycmVudFRpbWUudGV4dCh0aGlzLl9jb252ZXJ0VGltZSh0aGlzLnN0YXR1cy5jdXJyZW50VGltZSkpOwoJCQkJfQoJCQl9CgkJCXZhciBkdXJhdGlvblRleHQgPSAnJywKCQkJCWR1cmF0aW9uID0gdGhpcy5zdGF0dXMuZHVyYXRpb24sCgkJCQlyZW1haW5pbmcgPSB0aGlzLnN0YXR1cy5yZW1haW5pbmc7CgkJCWlmKHRoaXMuY3NzLmpxLmR1cmF0aW9uLmxlbmd0aCkgewoJCQkJaWYodHlwZW9mIHRoaXMuc3RhdHVzLm1lZGlhLmR1cmF0aW9uID09PSAnc3RyaW5nJykgewoJCQkJCWR1cmF0aW9uVGV4dCA9IHRoaXMuc3RhdHVzLm1lZGlhLmR1cmF0aW9uOwoJCQkJfSBlbHNlIHsKCQkJCQlpZih0eXBlb2YgdGhpcy5zdGF0dXMubWVkaWEuZHVyYXRpb24gPT09ICdudW1iZXInKSB7CgkJCQkJCWR1cmF0aW9uID0gdGhpcy5zdGF0dXMubWVkaWEuZHVyYXRpb247CgkJCQkJCXJlbWFpbmluZyA9IGR1cmF0aW9uIC0gdGhpcy5zdGF0dXMuY3VycmVudFRpbWU7CgkJCQkJfQoJCQkJCWlmKHRoaXMub3B0aW9ucy5yZW1haW5pbmdEdXJhdGlvbikgewoJCQkJCQlkdXJhdGlvblRleHQgPSAocmVtYWluaW5nID4gMCA/ICctJyA6ICcnKSArIHRoaXMuX2NvbnZlcnRUaW1lKHJlbWFpbmluZyk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJZHVyYXRpb25UZXh0ID0gdGhpcy5fY29udmVydFRpbWUoZHVyYXRpb24pOwoJCQkJCX0KCQkJCX0KCQkJCWlmKGR1cmF0aW9uVGV4dCAhPT0gdGhpcy5jc3MuanEuZHVyYXRpb24udGV4dCgpKSB7CgkJCQkJdGhpcy5jc3MuanEuZHVyYXRpb24udGV4dChkdXJhdGlvblRleHQpOwoJCQkJfQoJCQl9CgkJfSwKCQlfY29udmVydFRpbWU6IENvbnZlcnRUaW1lLnByb3RvdHlwZS50aW1lLAoJCV9zZWVraW5nOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLnNlZWtCYXIuYWRkQ2xhc3MoImpwLXNlZWtpbmctYmciKTsKCQkJfQoJCQl0aGlzLmFkZFN0YXRlQ2xhc3MoJ3NlZWtpbmcnKTsKCQl9LAoJCV9zZWVrZWQ6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuc2Vla0Jhci5yZW1vdmVDbGFzcygianAtc2Vla2luZy1iZyIpOwoJCQl9CgkJCXRoaXMucmVtb3ZlU3RhdGVDbGFzcygnc2Vla2luZycpOwoJCX0sCgkJX3Jlc2V0R2F0ZTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaHRtbC5hdWRpby5nYXRlID0gZmFsc2U7CgkJCXRoaXMuaHRtbC52aWRlby5nYXRlID0gZmFsc2U7CgkJCXRoaXMuYXVyb3JhLmdhdGUgPSBmYWxzZTsKCQkJdGhpcy5mbGFzaC5nYXRlID0gZmFsc2U7CgkJfSwKCQlfcmVzZXRBY3RpdmU6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmh0bWwuYWN0aXZlID0gZmFsc2U7CgkJCXRoaXMuYXVyb3JhLmFjdGl2ZSA9IGZhbHNlOwoJCQl0aGlzLmZsYXNoLmFjdGl2ZSA9IGZhbHNlOwoJCX0sCgkJX2VzY2FwZUh0bWw6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuIHMuc3BsaXQoJyYnKS5qb2luKCcmYW1wOycpLnNwbGl0KCc8Jykuam9pbignJmx0OycpLnNwbGl0KCc+Jykuam9pbignJmd0OycpLnNwbGl0KCciJykuam9pbignJnF1b3Q7Jyk7CgkJfSwKCQlfcXVhbGlmeVVSTDogZnVuY3Rpb24odXJsKSB7CgkJCXZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoJCQllbC5pbm5lckhUTUw9ICc8YSBocmVmPSInICsgdGhpcy5fZXNjYXBlSHRtbCh1cmwpICsgJyI+eDwvYT4nOwoJCQlyZXR1cm4gZWwuZmlyc3RDaGlsZC5ocmVmOwoJCX0sCgkJX2Fic29sdXRlTWVkaWFVcmxzOiBmdW5jdGlvbihtZWRpYSkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCSQuZWFjaChtZWRpYSwgZnVuY3Rpb24odHlwZSwgdXJsKSB7CgkJCQlpZih1cmwgJiYgc2VsZi5mb3JtYXRbdHlwZV0gJiYgdXJsLnN1YnN0cigwLCA1KSAhPT0gImRhdGE6IikgewoJCQkJCW1lZGlhW3R5cGVdID0gc2VsZi5fcXVhbGlmeVVSTCh1cmwpOwoJCQkJfQoJCQl9KTsKCQkJcmV0dXJuIG1lZGlhOwoJCX0sCgkJYWRkU3RhdGVDbGFzczogZnVuY3Rpb24oc3RhdGUpIHsKCQkJaWYodGhpcy5hbmNlc3RvckpxLmxlbmd0aCkgewoJCQkJdGhpcy5hbmNlc3RvckpxLmFkZENsYXNzKHRoaXMub3B0aW9ucy5zdGF0ZUNsYXNzW3N0YXRlXSk7CgkJCX0KCQl9LAoJCXJlbW92ZVN0YXRlQ2xhc3M6IGZ1bmN0aW9uKHN0YXRlKSB7CgkJCWlmKHRoaXMuYW5jZXN0b3JKcS5sZW5ndGgpIHsKCQkJCXRoaXMuYW5jZXN0b3JKcS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuc3RhdGVDbGFzc1tzdGF0ZV0pOwoJCQl9CgkJfSwKCQlzZXRNZWRpYTogZnVuY3Rpb24obWVkaWEpIHsKCQkKCQkJLyoJbWVkaWFbZm9ybWF0XSA9IFN0cmluZzogVVJMIG9mIGZvcm1hdC4gTXVzdCBjb250YWluIGFsbCBvZiB0aGUgc3VwcGxpZWQgb3B0aW9uJ3MgdmlkZW8gb3IgYXVkaW8gZm9ybWF0cy4KCQkJICoJbWVkaWEucG9zdGVyID0gU3RyaW5nOiBWaWRlbyBwb3N0ZXIgVVJMLgoJCQkgKgltZWRpYS50cmFjayA9IEFycmF5OiBPZiBvYmplY3RzIGRlZmluaW5nIHRoZSB0cmFjayBlbGVtZW50OiBraW5kLCBzcmMsIHNyY2xhbmcsIGxhYmVsLCBkZWYuCgkJCSAqCW1lZGlhLnN0cmVhbSA9IEJvb2xlYW46ICogTk9UIElNUExFTUVOVEVEICogRGVzaWduYXRpbmcgYWN0dWFsIG1lZGlhIHN0cmVhbXMuIGllLiwgImZhbHNlL3VuZGVmaW5lZCIgZm9yIGZpbGVzLiBQbGFuIHRvIHJlZnJlc2ggdGhlIGZsYXNoIGV2ZXJ5IHNvIG9mdGVuLgoJCQkgKi8KCgkJCXZhcglzZWxmID0gdGhpcywKCQkJCXN1cHBvcnRlZCA9IGZhbHNlLAoJCQkJcG9zdGVyQ2hhbmdlZCA9IHRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlciAhPT0gbWVkaWEucG9zdGVyOyAvLyBDb21wYXJlIGJlZm9yZSByZXNldC4gSW1wb3J0YW50IGZvciBPU1ggU2FmYXJpIGFzIHRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLnNyYyBpcyBhYnNvbHV0ZSwgZXZlbiBpZiBvcmlnaW5hbCBwb3N0ZXIgVVJMIHdhcyByZWxhdGl2ZS4KCgkJCXRoaXMuX3Jlc2V0TWVkaWEoKTsKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgoJCQkvLyBDbGVhciB0aGUgQW5kcm9pZCBGaXguCgkJCXRoaXMuYW5kcm9pZEZpeC5zZXRNZWRpYSA9IGZhbHNlOwoJCQl0aGlzLmFuZHJvaWRGaXgucGxheSA9IGZhbHNlOwoJCQl0aGlzLmFuZHJvaWRGaXgucGF1c2UgPSBmYWxzZTsKCgkJCS8vIENvbnZlcnQgYWxsIG1lZGlhIFVSTHMgdG8gYWJzb2x1dGUgVVJMcy4KCQkJbWVkaWEgPSB0aGlzLl9hYnNvbHV0ZU1lZGlhVXJscyhtZWRpYSk7CgoJCQkkLmVhY2godGhpcy5mb3JtYXRzLCBmdW5jdGlvbihmb3JtYXRQcmlvcml0eSwgZm9ybWF0KSB7CgkJCQl2YXIgaXNWaWRlbyA9IHNlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWEgPT09ICd2aWRlbyc7CgkJCQkkLmVhY2goc2VsZi5zb2x1dGlvbnMsIGZ1bmN0aW9uKHNvbHV0aW9uUHJpb3JpdHksIHNvbHV0aW9uKSB7CgkJCQkJaWYoc2VsZltzb2x1dGlvbl0uc3VwcG9ydFtmb3JtYXRdICYmIHNlbGYuX3ZhbGlkU3RyaW5nKG1lZGlhW2Zvcm1hdF0pKSB7IC8vIEZvcm1hdCBzdXBwb3J0ZWQgaW4gc29sdXRpb24gYW5kIHVybCBnaXZlbiBmb3IgZm9ybWF0LgoJCQkJCQl2YXIgaXNIdG1sID0gc29sdXRpb24gPT09ICdodG1sJzsKCQkJCQkJdmFyIGlzQXVyb3JhID0gc29sdXRpb24gPT09ICdhdXJvcmEnOwoKCQkJCQkJaWYoaXNWaWRlbykgewoJCQkJCQkJaWYoaXNIdG1sKSB7CgkJCQkJCQkJc2VsZi5odG1sLnZpZGVvLmdhdGUgPSB0cnVlOwoJCQkJCQkJCXNlbGYuX2h0bWxfc2V0VmlkZW8obWVkaWEpOwoJCQkJCQkJCXNlbGYuaHRtbC5hY3RpdmUgPSB0cnVlOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlzZWxmLmZsYXNoLmdhdGUgPSB0cnVlOwoJCQkJCQkJCXNlbGYuX2ZsYXNoX3NldFZpZGVvKG1lZGlhKTsKCQkJCQkJCQlzZWxmLmZsYXNoLmFjdGl2ZSA9IHRydWU7CgkJCQkJCQl9CgkJCQkJCQlpZihzZWxmLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoKSB7CgkJCQkJCQkJc2VsZi5jc3MuanEudmlkZW9QbGF5LnNob3coKTsKCQkJCQkJCX0KCQkJCQkJCXNlbGYuc3RhdHVzLnZpZGVvID0gdHJ1ZTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWlmKGlzSHRtbCkgewoJCQkJCQkJCXNlbGYuaHRtbC5hdWRpby5nYXRlID0gdHJ1ZTsKCQkJCQkJCQlzZWxmLl9odG1sX3NldEF1ZGlvKG1lZGlhKTsKCQkJCQkJCQlzZWxmLmh0bWwuYWN0aXZlID0gdHJ1ZTsKCgkJCQkJCQkJLy8gU2V0dXAgdGhlIEFuZHJvaWQgRml4IC0gT25seSBmb3IgSFRNTCBhdWRpby4KCQkJCQkJCQlpZigkLmpQbGF5ZXIucGxhdGZvcm0uYW5kcm9pZCkgewoJCQkJCQkJCQlzZWxmLmFuZHJvaWRGaXguc2V0TWVkaWEgPSB0cnVlOwoJCQkJCQkJCX0KCQkJCQkJCX0gZWxzZSBpZihpc0F1cm9yYSkgewoJCQkJCQkJCXNlbGYuYXVyb3JhLmdhdGUgPSB0cnVlOwoJCQkJCQkJCXNlbGYuX2F1cm9yYV9zZXRBdWRpbyhtZWRpYSk7CgkJCQkJCQkJc2VsZi5hdXJvcmEuYWN0aXZlID0gdHJ1ZTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJc2VsZi5mbGFzaC5nYXRlID0gdHJ1ZTsKCQkJCQkJCQlzZWxmLl9mbGFzaF9zZXRBdWRpbyhtZWRpYSk7CgkJCQkJCQkJc2VsZi5mbGFzaC5hY3RpdmUgPSB0cnVlOwoJCQkJCQkJfQoJCQkJCQkJaWYoc2VsZi5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCQkJCXNlbGYuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCk7CgkJCQkJCQl9CgkJCQkJCQlzZWxmLnN0YXR1cy52aWRlbyA9IGZhbHNlOwoJCQkJCQl9CgkJCQkJCQoJCQkJCQlzdXBwb3J0ZWQgPSB0cnVlOwoJCQkJCQlyZXR1cm4gZmFsc2U7IC8vIEV4aXQgJC5lYWNoCgkJCQkJfQoJCQkJfSk7CgkJCQlpZihzdXBwb3J0ZWQpIHsKCQkJCQlyZXR1cm4gZmFsc2U7IC8vIEV4aXQgJC5lYWNoCgkJCQl9CgkJCX0pOwoKCQkJaWYoc3VwcG9ydGVkKSB7CgkJCQlpZighKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgJiYgdGhpcy5odG1sLnZpZGVvLmdhdGUpKSB7CgkJCQkJLy8gU2V0IHBvc3RlciBJTUcgaWYgbmF0aXZlIHZpZGVvIGNvbnRyb2xzIGFyZSBub3QgYmVpbmcgdXNlZAoJCQkJCS8vIE5vdGU6IFdpdGggSUUgdGhlIElNRyBvbmxvYWQgZXZlbnQgb2NjdXJzIGltbWVkaWF0ZWx5IHdoZW4gY2FjaGVkLgoJCQkJCS8vIE5vdGU6IFBvc3RlciBoaWRkZW4gYnkgZGVmYXVsdCBpbiBfcmVzZXRNZWRpYSgpCgkJCQkJaWYodGhpcy5fdmFsaWRTdHJpbmcobWVkaWEucG9zdGVyKSkgewoJCQkJCQlpZihwb3N0ZXJDaGFuZ2VkKSB7IC8vIFNpbmNlIHNvbWUgYnJvd3NlcnMgZG8gbm90IGdlbmVyYXRlIGltZyBvbmxvYWQgZXZlbnQuCgkJCQkJCQl0aGlzLmh0bWxFbGVtZW50LnBvc3Rlci5zcmMgPSBtZWRpYS5wb3N0ZXI7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCQlpZih0eXBlb2YgbWVkaWEudGl0bGUgPT09ICdzdHJpbmcnKSB7CgkJCQkJaWYodGhpcy5jc3MuanEudGl0bGUubGVuZ3RoKSB7CgkJCQkJCXRoaXMuY3NzLmpxLnRpdGxlLmh0bWwobWVkaWEudGl0bGUpOwoJCQkJCX0KCQkJCQlpZih0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKSB7CgkJCQkJCXRoaXMuaHRtbEVsZW1lbnQuYXVkaW8uc2V0QXR0cmlidXRlKCd0aXRsZScsIG1lZGlhLnRpdGxlKTsKCQkJCQl9CgkJCQkJaWYodGhpcy5odG1sRWxlbWVudC52aWRlbykgewoJCQkJCQl0aGlzLmh0bWxFbGVtZW50LnZpZGVvLnNldEF0dHJpYnV0ZSgndGl0bGUnLCBtZWRpYS50aXRsZSk7CgkJCQkJfQoJCQkJfQoJCQkJdGhpcy5zdGF0dXMuc3JjU2V0ID0gdHJ1ZTsKCQkJCXRoaXMuc3RhdHVzLm1lZGlhID0gJC5leHRlbmQoe30sIG1lZGlhKTsKCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5zZXRtZWRpYSk7CgkJCX0gZWxzZSB7IC8vIGpQbGF5ZXIgY2Fubm90IHN1cHBvcnQgYW55IGZvcm1hdHMgcHJvdmlkZWQgaW4gdGhpcyBicm93c2VyCgkJCQkvLyBTZW5kIGFuIGVycm9yIGV2ZW50CgkJCQl0aGlzLl9lcnJvciggewoJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5OT19TVVBQT1JULAoJCQkJCWNvbnRleHQ6ICJ7c3VwcGxpZWQ6JyIgKyB0aGlzLm9wdGlvbnMuc3VwcGxpZWQgKyAiJ30iLAoJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5OT19TVVBQT1JULAoJCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuTk9fU1VQUE9SVAoJCQkJfSk7CgkJCX0KCQl9LAoJCV9yZXNldE1lZGlhOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fcmVzZXRTdGF0dXMoKTsKCQkJdGhpcy5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQl0aGlzLl9zZWVrZWQoKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpOwoKCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKTsKCgkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCXRoaXMuX2h0bWxfcmVzZXRNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5hdXJvcmEuYWN0aXZlKSB7CgkJCQl0aGlzLl9hdXJvcmFfcmVzZXRNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCXRoaXMuX2ZsYXNoX3Jlc2V0TWVkaWEoKTsKCQkJfQoJCX0sCgkJY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3Jlc2V0TWVkaWEoKTsKCgkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCXRoaXMuX2h0bWxfY2xlYXJNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5hdXJvcmEuYWN0aXZlKSB7CgkJCQl0aGlzLl9hdXJvcmFfY2xlYXJNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCXRoaXMuX2ZsYXNoX2NsZWFyTWVkaWEoKTsKCQkJfQoKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgkJfSwKCQlsb2FkOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9sb2FkKCk7CgkJCQl9IGVsc2UgaWYodGhpcy5hdXJvcmEuYWN0aXZlKSB7CgkJCQkJdGhpcy5fYXVyb3JhX2xvYWQoKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX2xvYWQoKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3VybE5vdFNldEVycm9yKCJsb2FkIik7CgkJCX0KCQl9LAoJCWZvY3VzOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5vcHRpb25zLmtleUVuYWJsZWQpIHsKCQkJCSQualBsYXllci5mb2N1cyA9IHRoaXM7CgkJCX0KCQl9LAoJCXBsYXk6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJdmFyIGd1aUFjdGlvbiA9IHR5cGVvZiB0aW1lID09PSAib2JqZWN0IjsgLy8gRmxhZ3MgR1VJIGNsaWNrIGV2ZW50cyBzbyB3ZSBrbm93IHRoaXMgd2FzIG5vdCBhIGRpcmVjdCBjb21tYW5kLCBidXQgYW4gYWN0aW9uIHRha2VuIGJ5IHRoZSB1c2VyIG9uIHRoZSBHVUkuCgkJCWlmKGd1aUFjdGlvbiAmJiB0aGlzLm9wdGlvbnMudXNlU3RhdGVDbGFzc1NraW4gJiYgIXRoaXMuc3RhdHVzLnBhdXNlZCkgewoJCQkJdGhpcy5wYXVzZSh0aW1lKTsgLy8gVGhlIHRpbWUgd291bGQgYmUgdGhlIGNsaWNrIGV2ZW50LCBidXQgcGFzc2luZyBpdCBvdmVyIHNvIGluZm8gaXMgbm90IGxvc3QuCgkJCX0gZWxzZSB7CgkJCQl0aW1lID0gKHR5cGVvZiB0aW1lID09PSAibnVtYmVyIikgPyB0aW1lIDogTmFOOyAvLyBSZW1vdmUgalF1ZXJ5IGV2ZW50IGZyb20gY2xpY2sgaGFuZGxlcgoJCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQkJdGhpcy5mb2N1cygpOwoJCQkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCQkJdGhpcy5faHRtbF9wbGF5KHRpbWUpOwoJCQkJCX0gZWxzZSBpZih0aGlzLmF1cm9yYS5hY3RpdmUpIHsKCQkJCQkJdGhpcy5fYXVyb3JhX3BsYXkodGltZSk7CgkJCQkJfSBlbHNlIGlmKHRoaXMuZmxhc2guYWN0aXZlKSB7CgkJCQkJCXRoaXMuX2ZsYXNoX3BsYXkodGltZSk7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLl91cmxOb3RTZXRFcnJvcigicGxheSIpOwoJCQkJfQoJCQl9CgkJfSwKCQl2aWRlb1BsYXk6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgcGxheSBidXR0b24gb3ZlciB0aGUgdmlkZW8gcG9zdGVyCgkJCXRoaXMucGxheSgpOwoJCX0sCgkJcGF1c2U6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJdGltZSA9ICh0eXBlb2YgdGltZSA9PT0gIm51bWJlciIpID8gdGltZSA6IE5hTjsgLy8gUmVtb3ZlIGpRdWVyeSBldmVudCBmcm9tIGNsaWNrIGhhbmRsZXIKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wYXVzZSh0aW1lKTsKCQkJCX0gZWxzZSBpZih0aGlzLmF1cm9yYS5hY3RpdmUpIHsKCQkJCQl0aGlzLl9hdXJvcmFfcGF1c2UodGltZSk7CgkJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCQl0aGlzLl9mbGFzaF9wYXVzZSh0aW1lKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3VybE5vdFNldEVycm9yKCJwYXVzZSIpOwoJCQl9CgkJfSwKCQl0ZWxsT3RoZXJzOiBmdW5jdGlvbihjb21tYW5kLCBjb25kaXRpb25zKSB7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWhhc0NvbmRpdGlvbnMgPSB0eXBlb2YgY29uZGl0aW9ucyA9PT0gJ2Z1bmN0aW9uJywKCQkJCWFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOyAvLyBDb252ZXJ0IGFyZ3VtZW50cyB0byBhbiBBcnJheS4KCgkJCWlmKHR5cGVvZiBjb21tYW5kICE9PSAnc3RyaW5nJykgeyAvLyBJZ25vcmUsIHNpbmNlIG5vIGNvbW1hbmQuCgkJCQlyZXR1cm47IC8vIFJldHVybiB1bmRlZmluZWQgdG8gbWFpbnRhaW4gY2hhaW5pbmcuCgkJCX0KCQkJaWYoaGFzQ29uZGl0aW9ucykgewoJCQkJYXJncy5zcGxpY2UoMSwgMSk7IC8vIFJlbW92ZSB0aGUgY29uZGl0aW9ucyBmcm9tIHRoZSBhcmd1bWVudHMKCQkJfQoKCQkJJC5qUGxheWVyLnByb3RvdHlwZS5kZXN0cm95UmVtb3ZlZCgpOwoJCQkkLmVhY2godGhpcy5pbnN0YW5jZXMsIGZ1bmN0aW9uKCkgewoJCQkJLy8gUmVtZW1iZXIgdGhhdCAidGhpcyIgaXMgdGhlIGluc3RhbmNlJ3MgImVsZW1lbnQiIGluIHRoZSAkLmVhY2goKSBsb29wLgoJCQkJaWYoc2VsZi5lbGVtZW50ICE9PSB0aGlzKSB7IC8vIERvIG5vdCB0ZWxsIG15IGluc3RhbmNlLgoJCQkJCWlmKCFoYXNDb25kaXRpb25zIHx8IGNvbmRpdGlvbnMuY2FsbCh0aGlzLmRhdGEoImpQbGF5ZXIiKSwgc2VsZikpIHsKCQkJCQkJdGhpcy5qUGxheWVyLmFwcGx5KHRoaXMsIGFyZ3MpOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgkJfSwKCQlwYXVzZU90aGVyczogZnVuY3Rpb24odGltZSkgewoJCQl0aGlzLnRlbGxPdGhlcnMoInBhdXNlIiwgZnVuY3Rpb24oKSB7CgkJCQkvLyBJbiB0aGUgY29uZGl0aW9ucyBmdW5jdGlvbiwgdGhlICJ0aGlzIiBjb250ZXh0IGlzIHRoZSBvdGhlciBpbnN0YW5jZSdzIGpQbGF5ZXIgb2JqZWN0LgoJCQkJcmV0dXJuIHRoaXMuc3RhdHVzLnNyY1NldDsKCQkJfSwgdGltZSk7CgkJfSwKCQlzdG9wOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wYXVzZSgwKTsKCQkJCX0gZWxzZSBpZih0aGlzLmF1cm9yYS5hY3RpdmUpIHsKCQkJCQl0aGlzLl9hdXJvcmFfcGF1c2UoMCk7CgkJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCQl0aGlzLl9mbGFzaF9wYXVzZSgwKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3VybE5vdFNldEVycm9yKCJzdG9wIik7CgkJCX0KCQl9LAoJCXBsYXlIZWFkOiBmdW5jdGlvbihwKSB7CgkJCXAgPSB0aGlzLl9saW1pdFZhbHVlKHAsIDAsIDEwMCk7CgkJCWlmKHRoaXMuc3RhdHVzLnNyY1NldCkgewoJCQkJaWYodGhpcy5odG1sLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2h0bWxfcGxheUhlYWQocCk7CgkJCQl9IGVsc2UgaWYodGhpcy5hdXJvcmEuYWN0aXZlKSB7CgkJCQkJdGhpcy5fYXVyb3JhX3BsYXlIZWFkKHApOwoJCQkJfSBlbHNlIGlmKHRoaXMuZmxhc2guYWN0aXZlKSB7CgkJCQkJdGhpcy5fZmxhc2hfcGxheUhlYWQocCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl91cmxOb3RTZXRFcnJvcigicGxheUhlYWQiKTsKCQkJfQoJCX0sCgkJX211dGVkOiBmdW5jdGlvbihtdXRlZCkgewoJCQl0aGlzLm11dGVkV29ya2VyKG11dGVkKTsKCQkJaWYodGhpcy5vcHRpb25zLmdsb2JhbFZvbHVtZSkgewoJCQkJdGhpcy50ZWxsT3RoZXJzKCJtdXRlZFdvcmtlciIsIGZ1bmN0aW9uKCkgewoJCQkJCS8vIENoZWNrIHRoZSBvdGhlciBpbnN0YW5jZSBoYXMgZ2xvYmFsIHZvbHVtZSBlbmFibGVkLgoJCQkJCXJldHVybiB0aGlzLm9wdGlvbnMuZ2xvYmFsVm9sdW1lOwoJCQkJfSwgbXV0ZWQpOwoJCQl9CgkJfSwKCQltdXRlZFdvcmtlcjogZnVuY3Rpb24obXV0ZWQpIHsKCQkJdGhpcy5vcHRpb25zLm11dGVkID0gbXV0ZWQ7CgkJCWlmKHRoaXMuaHRtbC51c2VkKSB7CgkJCQl0aGlzLl9odG1sX3NldFByb3BlcnR5KCdtdXRlZCcsIG11dGVkKTsKCQkJfQoJCQlpZih0aGlzLmF1cm9yYS51c2VkKSB7CgkJCQl0aGlzLl9hdXJvcmFfbXV0ZShtdXRlZCk7CgkJCX0KCQkJaWYodGhpcy5mbGFzaC51c2VkKSB7CgkJCQl0aGlzLl9mbGFzaF9tdXRlKG11dGVkKTsKCQkJfQoKCQkJLy8gVGhlIEhUTUwgc29sdXRpb24gZ2VuZXJhdGVzIHRoaXMgZXZlbnQgZnJvbSB0aGUgbWVkaWEgZWxlbWVudCBpdHNlbGYuCgkJCWlmKCF0aGlzLmh0bWwudmlkZW8uZ2F0ZSAmJiAhdGhpcy5odG1sLmF1ZGlvLmdhdGUpIHsKCQkJCXRoaXMuX3VwZGF0ZU11dGUobXV0ZWQpOwoJCQkJdGhpcy5fdXBkYXRlVm9sdW1lKHRoaXMub3B0aW9ucy52b2x1bWUpOwoJCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKTsKCQkJfQoJCX0sCgkJbXV0ZTogZnVuY3Rpb24obXV0ZSkgeyAvLyBtdXRlIGlzIGVpdGhlcjogdW5kZWZpbmVkICh0cnVlKSwgYW4gZXZlbnQgb2JqZWN0ICh0cnVlKSBvciBhIGJvb2xlYW4gKG11dGVkKS4KCQkJdmFyIGd1aUFjdGlvbiA9IHR5cGVvZiBtdXRlID09PSAib2JqZWN0IjsgLy8gRmxhZ3MgR1VJIGNsaWNrIGV2ZW50cyBzbyB3ZSBrbm93IHRoaXMgd2FzIG5vdCBhIGRpcmVjdCBjb21tYW5kLCBidXQgYW4gYWN0aW9uIHRha2VuIGJ5IHRoZSB1c2VyIG9uIHRoZSBHVUkuCgkJCWlmKGd1aUFjdGlvbiAmJiB0aGlzLm9wdGlvbnMudXNlU3RhdGVDbGFzc1NraW4gJiYgdGhpcy5vcHRpb25zLm11dGVkKSB7CgkJCQl0aGlzLl9tdXRlZChmYWxzZSk7CgkJCX0gZWxzZSB7CgkJCQltdXRlID0gbXV0ZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6ICEhbXV0ZTsKCQkJCXRoaXMuX211dGVkKG11dGUpOwoJCQl9CgkJfSwKCQl1bm11dGU6IGZ1bmN0aW9uKHVubXV0ZSkgeyAvLyB1bm11dGUgaXMgZWl0aGVyOiB1bmRlZmluZWQgKHRydWUpLCBhbiBldmVudCBvYmplY3QgKHRydWUpIG9yIGEgYm9vbGVhbiAoIW11dGVkKS4KCQkJdW5tdXRlID0gdW5tdXRlID09PSB1bmRlZmluZWQgPyB0cnVlIDogISF1bm11dGU7CgkJCXRoaXMuX211dGVkKCF1bm11dGUpOwoJCX0sCgkJX3VwZGF0ZU11dGU6IGZ1bmN0aW9uKG11dGUpIHsKCQkJaWYobXV0ZSA9PT0gdW5kZWZpbmVkKSB7CgkJCQltdXRlID0gdGhpcy5vcHRpb25zLm11dGVkOwoJCQl9CgkJCWlmKG11dGUpIHsKCQkJCXRoaXMuYWRkU3RhdGVDbGFzcygnbXV0ZWQnKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMucmVtb3ZlU3RhdGVDbGFzcygnbXV0ZWQnKTsKCQkJfQoJCQlpZih0aGlzLmNzcy5qcS5tdXRlLmxlbmd0aCAmJiB0aGlzLmNzcy5qcS51bm11dGUubGVuZ3RoKSB7CgkJCQlpZih0aGlzLnN0YXR1cy5ub1ZvbHVtZSkgewoJCQkJCXRoaXMuY3NzLmpxLm11dGUuaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnVubXV0ZS5oaWRlKCk7CgkJCQl9IGVsc2UgaWYobXV0ZSkgewoJCQkJCXRoaXMuY3NzLmpxLm11dGUuaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnVubXV0ZS5zaG93KCk7CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMuY3NzLmpxLm11dGUuc2hvdygpOwoJCQkJCXRoaXMuY3NzLmpxLnVubXV0ZS5oaWRlKCk7CgkJCQl9CgkJCX0KCQl9LAoJCXZvbHVtZTogZnVuY3Rpb24odikgewoJCQl0aGlzLnZvbHVtZVdvcmtlcih2KTsKCQkJaWYodGhpcy5vcHRpb25zLmdsb2JhbFZvbHVtZSkgewoJCQkJdGhpcy50ZWxsT3RoZXJzKCJ2b2x1bWVXb3JrZXIiLCBmdW5jdGlvbigpIHsKCQkJCQkvLyBDaGVjayB0aGUgb3RoZXIgaW5zdGFuY2UgaGFzIGdsb2JhbCB2b2x1bWUgZW5hYmxlZC4KCQkJCQlyZXR1cm4gdGhpcy5vcHRpb25zLmdsb2JhbFZvbHVtZTsKCQkJCX0sIHYpOwoJCQl9CgkJfSwKCQl2b2x1bWVXb3JrZXI6IGZ1bmN0aW9uKHYpIHsKCQkJdiA9IHRoaXMuX2xpbWl0VmFsdWUodiwgMCwgMSk7CgkJCXRoaXMub3B0aW9ucy52b2x1bWUgPSB2OwoKCQkJaWYodGhpcy5odG1sLnVzZWQpIHsKCQkJCXRoaXMuX2h0bWxfc2V0UHJvcGVydHkoJ3ZvbHVtZScsIHYpOwoJCQl9CgkJCWlmKHRoaXMuYXVyb3JhLnVzZWQpIHsKCQkJCXRoaXMuX2F1cm9yYV92b2x1bWUodik7CgkJCX0KCQkJaWYodGhpcy5mbGFzaC51c2VkKSB7CgkJCQl0aGlzLl9mbGFzaF92b2x1bWUodik7CgkJCX0KCgkJCS8vIFRoZSBIVE1MIHNvbHV0aW9uIGdlbmVyYXRlcyB0aGlzIGV2ZW50IGZyb20gdGhlIG1lZGlhIGVsZW1lbnQgaXRzZWxmLgoJCQlpZighdGhpcy5odG1sLnZpZGVvLmdhdGUgJiYgIXRoaXMuaHRtbC5hdWRpby5nYXRlKSB7CgkJCQl0aGlzLl91cGRhdGVWb2x1bWUodik7CgkJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC52b2x1bWVjaGFuZ2UpOwoJCQl9CgkJfSwKCQl2b2x1bWVCYXI6IGZ1bmN0aW9uKGUpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHZvbHVtZUJhcgoJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVCYXIubGVuZ3RoKSB7CgkJCQkvLyBVc2luZyAkKGUuY3VycmVudFRhcmdldCkgdG8gZW5hYmxlIG11bHRpcGxlIHZvbHVtZSBiYXJzCgkJCQl2YXIgJGJhciA9ICQoZS5jdXJyZW50VGFyZ2V0KSwKCQkJCQlvZmZzZXQgPSAkYmFyLm9mZnNldCgpLAoJCQkJCXggPSBlLnBhZ2VYIC0gb2Zmc2V0LmxlZnQsCgkJCQkJdyA9ICRiYXIud2lkdGgoKSwKCQkJCQl5ID0gJGJhci5oZWlnaHQoKSAtIGUucGFnZVkgKyBvZmZzZXQudG9wLAoJCQkJCWggPSAkYmFyLmhlaWdodCgpOwoJCQkJaWYodGhpcy5vcHRpb25zLnZlcnRpY2FsVm9sdW1lKSB7CgkJCQkJdGhpcy52b2x1bWUoeS9oKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy52b2x1bWUoeC93KTsKCQkJCX0KCQkJfQoJCQlpZih0aGlzLm9wdGlvbnMubXV0ZWQpIHsKCQkJCXRoaXMuX211dGVkKGZhbHNlKTsKCQkJfQoJCX0sCgkJX3VwZGF0ZVZvbHVtZTogZnVuY3Rpb24odikgewoJCQlpZih2ID09PSB1bmRlZmluZWQpIHsKCQkJCXYgPSB0aGlzLm9wdGlvbnMudm9sdW1lOwoJCQl9CgkJCXYgPSB0aGlzLm9wdGlvbnMubXV0ZWQgPyAwIDogdjsKCgkJCWlmKHRoaXMuc3RhdHVzLm5vVm9sdW1lKSB7CgkJCQl0aGlzLmFkZFN0YXRlQ2xhc3MoJ25vVm9sdW1lJyk7CgkJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVCYXIubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lQmFyLmhpZGUoKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLmhpZGUoKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZU1heC5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVNYXguaGlkZSgpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdGhpcy5yZW1vdmVTdGF0ZUNsYXNzKCdub1ZvbHVtZScpOwoJCQkJaWYodGhpcy5jc3MuanEudm9sdW1lQmFyLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZvbHVtZUJhci5zaG93KCk7CgkJCQl9CgkJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZS5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZS5zaG93KCk7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lQmFyVmFsdWVbdGhpcy5vcHRpb25zLnZlcnRpY2FsVm9sdW1lID8gImhlaWdodCIgOiAid2lkdGgiXSgodioxMDApKyIlIik7CgkJCQl9CgkJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVNYXgubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lTWF4LnNob3coKTsKCQkJCX0KCQkJfQoJCX0sCgkJdm9sdW1lTWF4OiBmdW5jdGlvbigpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHZvbHVtZSBtYXgKCQkJdGhpcy52b2x1bWUoMSk7CgkJCWlmKHRoaXMub3B0aW9ucy5tdXRlZCkgewoJCQkJdGhpcy5fbXV0ZWQoZmFsc2UpOwoJCQl9CgkJfSwKCQlfY3NzU2VsZWN0b3JBbmNlc3RvcjogZnVuY3Rpb24oYW5jZXN0b3IpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQl0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3RvciA9IGFuY2VzdG9yOwoJCQl0aGlzLl9yZW1vdmVVaUNsYXNzKCk7CgkJCXRoaXMuYW5jZXN0b3JKcSA9IGFuY2VzdG9yID8gJChhbmNlc3RvcikgOiBbXTsgLy8gV291bGQgdXNlICQoKSBpbnN0ZWFkIG9mIFtdLCBidXQgaXQgaXMgb25seSAxLjQrCgkJCWlmKGFuY2VzdG9yICYmIHRoaXMuYW5jZXN0b3JKcS5sZW5ndGggIT09IDEpIHsgLy8gU28gZW1wdHkgc3RyaW5ncyBkbyBub3QgZ2VuZXJhdGUgdGhlIHdhcm5pbmcuCgkJCQl0aGlzLl93YXJuaW5nKCB7CgkJCQkJdHlwZTogJC5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX0NPVU5ULAoJCQkJCWNvbnRleHQ6IGFuY2VzdG9yLAoJCQkJCW1lc3NhZ2U6ICQualBsYXllci53YXJuaW5nTXNnLkNTU19TRUxFQ1RPUl9DT1VOVCArIHRoaXMuYW5jZXN0b3JKcS5sZW5ndGggKyAiIGZvdW5kIGZvciBjc3NTZWxlY3RvckFuY2VzdG9yLiIsCgkJCQkJaGludDogJC5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9DT1VOVAoJCQkJfSk7CgkJCX0KCQkJdGhpcy5fYWRkVWlDbGFzcygpOwoJCQkkLmVhY2godGhpcy5vcHRpb25zLmNzc1NlbGVjdG9yLCBmdW5jdGlvbihmbiwgY3NzU2VsKSB7CgkJCQlzZWxmLl9jc3NTZWxlY3RvcihmbiwgY3NzU2VsKTsKCQkJfSk7CgoJCQkvLyBTZXQgdGhlIEdVSSB0byB0aGUgY3VycmVudCBzdGF0ZS4KCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJdGhpcy5fdXBkYXRlVm9sdW1lKCk7CgkJCXRoaXMuX3VwZGF0ZU11dGUoKTsKCQl9LAoJCV9jc3NTZWxlY3RvcjogZnVuY3Rpb24oZm4sIGNzc1NlbCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCWlmKHR5cGVvZiBjc3NTZWwgPT09ICdzdHJpbmcnKSB7CgkJCQlpZigkLmpQbGF5ZXIucHJvdG90eXBlLm9wdGlvbnMuY3NzU2VsZWN0b3JbZm5dKSB7CgkJCQkJaWYodGhpcy5jc3MuanFbZm5dICYmIHRoaXMuY3NzLmpxW2ZuXS5sZW5ndGgpIHsKCQkJCQkJdGhpcy5jc3MuanFbZm5dLnVuYmluZCgiLmpQbGF5ZXIiKTsKCQkJCQl9CgkJCQkJdGhpcy5vcHRpb25zLmNzc1NlbGVjdG9yW2ZuXSA9IGNzc1NlbDsKCQkJCQl0aGlzLmNzcy5jc1tmbl0gPSB0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3RvciArICIgIiArIGNzc1NlbDsKCgkJCQkJaWYoY3NzU2VsKSB7IC8vIENoZWNrcyBmb3IgZW1wdHkgc3RyaW5nCgkJCQkJCXRoaXMuY3NzLmpxW2ZuXSA9ICQodGhpcy5jc3MuY3NbZm5dKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLmNzcy5qcVtmbl0gPSBbXTsgLy8gVG8gY29tcGx5IHdpdGggdGhlIGNzcy5qcVtmbl0ubGVuZ3RoIGNoZWNrIGJlZm9yZSBpdHMgdXNlLiBBcyBvZiBqUXVlcnkgMS40IGNvdWxkIGhhdmUgdXNlZCAkKCkgZm9yIGFuIGVtcHR5IHNldC4gCgkJCQkJfQoKCQkJCQlpZih0aGlzLmNzcy5qcVtmbl0ubGVuZ3RoICYmIHRoaXNbZm5dKSB7CgkJCQkJCXZhciBoYW5kbGVyID0gZnVuY3Rpb24oZSkgewoJCQkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCQkJc2VsZltmbl0oZSk7CgkJCQkJCQlpZihzZWxmLm9wdGlvbnMuYXV0b0JsdXIpIHsKCQkJCQkJCQkkKHRoaXMpLmJsdXIoKTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJJCh0aGlzKS5mb2N1cygpOyAvLyBGb3JjZSBmb2N1cyBmb3IgQVJJQS4KCQkJCQkJCX0KCQkJCQkJfTsKCQkJCQkJdGhpcy5jc3MuanFbZm5dLmJpbmQoImNsaWNrLmpQbGF5ZXIiLCBoYW5kbGVyKTsgLy8gVXNpbmcgalBsYXllciBuYW1lc3BhY2UKCQkJCQl9CgoJCQkJCWlmKGNzc1NlbCAmJiB0aGlzLmNzcy5qcVtmbl0ubGVuZ3RoICE9PSAxKSB7IC8vIFNvIGVtcHR5IHN0cmluZ3MgZG8gbm90IGdlbmVyYXRlIHRoZSB3YXJuaW5nLiBpZS4sIHRoZXkganVzdCByZW1vdmUgdGhlIG9sZCBvbmUuCgkJCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQkJCXR5cGU6ICQualBsYXllci53YXJuaW5nLkNTU19TRUxFQ1RPUl9DT1VOVCwKCQkJCQkJCWNvbnRleHQ6IHRoaXMuY3NzLmNzW2ZuXSwKCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci53YXJuaW5nTXNnLkNTU19TRUxFQ1RPUl9DT1VOVCArIHRoaXMuY3NzLmpxW2ZuXS5sZW5ndGggKyAiIGZvdW5kIGZvciAiICsgZm4gKyAiIG1ldGhvZC4iLAoJCQkJCQkJaGludDogJC5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9DT1VOVAoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQkJdHlwZTogJC5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX01FVEhPRCwKCQkJCQkJY29udGV4dDogZm4sCgkJCQkJCW1lc3NhZ2U6ICQualBsYXllci53YXJuaW5nTXNnLkNTU19TRUxFQ1RPUl9NRVRIT0QsCgkJCQkJCWhpbnQ6ICQualBsYXllci53YXJuaW5nSGludC5DU1NfU0VMRUNUT1JfTUVUSE9ECgkJCQkJfSk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl93YXJuaW5nKCB7CgkJCQkJdHlwZTogJC5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX1NUUklORywKCQkJCQljb250ZXh0OiBjc3NTZWwsCgkJCQkJbWVzc2FnZTogJC5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX1NUUklORywKCQkJCQloaW50OiAkLmpQbGF5ZXIud2FybmluZ0hpbnQuQ1NTX1NFTEVDVE9SX1NUUklORwoJCQkJfSk7CgkJCX0KCQl9LAoJCWR1cmF0aW9uOiBmdW5jdGlvbihlKSB7CgkJCWlmKHRoaXMub3B0aW9ucy50b2dnbGVEdXJhdGlvbikgewoJCQkJaWYodGhpcy5vcHRpb25zLmNhcHR1cmVEdXJhdGlvbikgewoJCQkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCQl9CgkJCQl0aGlzLl9zZXRPcHRpb24oInJlbWFpbmluZ0R1cmF0aW9uIiwgIXRoaXMub3B0aW9ucy5yZW1haW5pbmdEdXJhdGlvbik7CgkJCX0KCQl9LAoJCXNlZWtCYXI6IGZ1bmN0aW9uKGUpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHNlZWtCYXIKCQkJaWYodGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgpIHsKCQkJCS8vIFVzaW5nICQoZS5jdXJyZW50VGFyZ2V0KSB0byBlbmFibGUgbXVsdGlwbGUgc2VlayBiYXJzCgkJCQl2YXIgJGJhciA9ICQoZS5jdXJyZW50VGFyZ2V0KSwKCQkJCQlvZmZzZXQgPSAkYmFyLm9mZnNldCgpLAoJCQkJCXggPSBlLnBhZ2VYIC0gb2Zmc2V0LmxlZnQsCgkJCQkJdyA9ICRiYXIud2lkdGgoKSwKCQkJCQlwID0gMTAwICogeCAvIHc7CgkJCQl0aGlzLnBsYXlIZWFkKHApOwoJCQl9CgkJfSwKCQlwbGF5YmFja1JhdGU6IGZ1bmN0aW9uKHBicikgewoJCQl0aGlzLl9zZXRPcHRpb24oInBsYXliYWNrUmF0ZSIsIHBicik7CgkJfSwKCQlwbGF5YmFja1JhdGVCYXI6IGZ1bmN0aW9uKGUpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHBsYXliYWNrUmF0ZUJhcgoJCQlpZih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoKSB7CgkJCQkvLyBVc2luZyAkKGUuY3VycmVudFRhcmdldCkgdG8gZW5hYmxlIG11bHRpcGxlIHBsYXliYWNrUmF0ZSBiYXJzCgkJCQl2YXIgJGJhciA9ICQoZS5jdXJyZW50VGFyZ2V0KSwKCQkJCQlvZmZzZXQgPSAkYmFyLm9mZnNldCgpLAoJCQkJCXggPSBlLnBhZ2VYIC0gb2Zmc2V0LmxlZnQsCgkJCQkJdyA9ICRiYXIud2lkdGgoKSwKCQkJCQl5ID0gJGJhci5oZWlnaHQoKSAtIGUucGFnZVkgKyBvZmZzZXQudG9wLAoJCQkJCWggPSAkYmFyLmhlaWdodCgpLAoJCQkJCXJhdGlvLCBwYnI7CgkJCQlpZih0aGlzLm9wdGlvbnMudmVydGljYWxQbGF5YmFja1JhdGUpIHsKCQkJCQlyYXRpbyA9IHkvaDsKCQkJCX0gZWxzZSB7CgkJCQkJcmF0aW8gPSB4L3c7CgkJCQl9CgkJCQlwYnIgPSByYXRpbyAqICh0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlIC0gdGhpcy5vcHRpb25zLm1pblBsYXliYWNrUmF0ZSkgKyB0aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlOwoJCQkJdGhpcy5wbGF5YmFja1JhdGUocGJyKTsKCQkJfQoJCX0sCgkJX3VwZGF0ZVBsYXliYWNrUmF0ZTogZnVuY3Rpb24oKSB7CgkJCXZhciBwYnIgPSB0aGlzLm9wdGlvbnMucGxheWJhY2tSYXRlLAoJCQkJcmF0aW8gPSAocGJyIC0gdGhpcy5vcHRpb25zLm1pblBsYXliYWNrUmF0ZSkgLyAodGhpcy5vcHRpb25zLm1heFBsYXliYWNrUmF0ZSAtIHRoaXMub3B0aW9ucy5taW5QbGF5YmFja1JhdGUpOwoJCQlpZih0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGVFbmFibGVkKSB7CgkJCQlpZih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEucGxheWJhY2tSYXRlQmFyLnNob3coKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXJWYWx1ZVt0aGlzLm9wdGlvbnMudmVydGljYWxQbGF5YmFja1JhdGUgPyAiaGVpZ2h0IiA6ICJ3aWR0aCJdKChyYXRpbyoxMDApKyIlIik7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEucGxheWJhY2tSYXRlQmFyLmhpZGUoKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmhpZGUoKTsKCQkJCX0KCQkJfQoJCX0sCgkJcmVwZWF0OiBmdW5jdGlvbihldmVudCkgeyAvLyBIYW5kbGUgY2xpY2tzIG9uIHRoZSByZXBlYXQgYnV0dG9uCgkJCXZhciBndWlBY3Rpb24gPSB0eXBlb2YgZXZlbnQgPT09ICJvYmplY3QiOyAvLyBGbGFncyBHVUkgY2xpY2sgZXZlbnRzIHNvIHdlIGtub3cgdGhpcyB3YXMgbm90IGEgZGlyZWN0IGNvbW1hbmQsIGJ1dCBhbiBhY3Rpb24gdGFrZW4gYnkgdGhlIHVzZXIgb24gdGhlIEdVSS4KCQkJaWYoZ3VpQWN0aW9uICYmIHRoaXMub3B0aW9ucy51c2VTdGF0ZUNsYXNzU2tpbiAmJiB0aGlzLm9wdGlvbnMubG9vcCkgewoJCQkJdGhpcy5fbG9vcChmYWxzZSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl9sb29wKHRydWUpOwoJCQl9CgkJfSwKCQlyZXBlYXRPZmY6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGUgY2xpY2tzIG9uIHRoZSByZXBlYXRPZmYgYnV0dG9uCgkJCXRoaXMuX2xvb3AoZmFsc2UpOwoJCX0sCgkJX2xvb3A6IGZ1bmN0aW9uKGxvb3ApIHsKCQkJaWYodGhpcy5vcHRpb25zLmxvb3AgIT09IGxvb3ApIHsKCQkJCXRoaXMub3B0aW9ucy5sb29wID0gbG9vcDsKCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnJlcGVhdCk7CgkJCX0KCQl9LAoKCQkvLyBPcHRpb25zIGNvZGUgYWRhcHRlZCBmcm9tIHVpLndpZGdldC5qcyAoMS44LjcpLiAgTWFkZSBjaGFuZ2VzIHNvIHRoZSBrZXkgY2FuIHVzZSBkb3Qgbm90YXRpb24uIFRvIG1hdGNoIHByZXZpb3VzIGdldERhdGEgc29sdXRpb24gaW4galBsYXllciAxLgoJCW9wdGlvbjogZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewoJCQl2YXIgb3B0aW9ucyA9IGtleTsKCgkJCSAvLyBFbmFibGVzIHVzZTogb3B0aW9ucygpLiAgUmV0dXJucyBhIGNvcHkgb2Ygb3B0aW9ucyBvYmplY3QKCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAwICkgewoJCQkJcmV0dXJuICQuZXh0ZW5kKCB0cnVlLCB7fSwgdGhpcy5vcHRpb25zICk7CgkJCX0KCgkJCWlmKHR5cGVvZiBrZXkgPT09ICJzdHJpbmciKSB7CgkJCQl2YXIga2V5cyA9IGtleS5zcGxpdCgiLiIpOwoKCQkJCSAvLyBFbmFibGVzIHVzZTogb3B0aW9ucygic29tZU9wdGlvbiIpICBSZXR1cm5zIGEgY29weSBvZiB0aGUgb3B0aW9uLiBTdXBwb3J0cyBkb3Qgbm90YXRpb24uCgkJCQlpZih2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CgoJCQkJCXZhciBvcHQgPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5vcHRpb25zKTsKCQkJCQlmb3IodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewoJCQkJCQlpZihvcHRba2V5c1tpXV0gIT09IHVuZGVmaW5lZCkgewoJCQkJCQkJb3B0ID0gb3B0W2tleXNbaV1dOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fd2FybmluZyggewoJCQkJCQkJCXR5cGU6ICQualBsYXllci53YXJuaW5nLk9QVElPTl9LRVksCgkJCQkJCQkJY29udGV4dDoga2V5LAoJCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci53YXJuaW5nTXNnLk9QVElPTl9LRVksCgkJCQkJCQkJaGludDogJC5qUGxheWVyLndhcm5pbmdIaW50Lk9QVElPTl9LRVkKCQkJCQkJCX0pOwoJCQkJCQkJcmV0dXJuIHVuZGVmaW5lZDsKCQkJCQkJfQoJCQkJCX0KCQkJCQlyZXR1cm4gb3B0OwoJCQkJfQoKCQkJCSAvLyBFbmFibGVzIHVzZTogb3B0aW9ucygic29tZU9wdGlvbk9iamVjdCIsIHNvbWVPYmplY3R9KS4gIENyZWF0ZXM6IHtzb21lT3B0aW9uT2JqZWN0OnNvbWVPYmplY3R9CgkJCQkgLy8gRW5hYmxlcyB1c2U6IG9wdGlvbnMoInNvbWVPcHRpb24iLCBzb21lVmFsdWUpLiAgQ3JlYXRlczoge3NvbWVPcHRpb246c29tZVZhbHVlfQoJCQkJIC8vIEVuYWJsZXMgdXNlOiBvcHRpb25zKCJzb21lT3B0aW9uT2JqZWN0LnNvbWVPcHRpb24iLCBzb21lVmFsdWUpLiAgQ3JlYXRlczoge3NvbWVPcHRpb25PYmplY3Q6e3NvbWVPcHRpb246c29tZVZhbHVlfX0KCgkJCQlvcHRpb25zID0ge307CgkJCQl2YXIgb3B0cyA9IG9wdGlvbnM7CgoJCQkJZm9yKHZhciBqID0gMDsgaiA8IGtleXMubGVuZ3RoOyBqKyspIHsKCQkJCQlpZihqIDwga2V5cy5sZW5ndGggLSAxKSB7CgkJCQkJCW9wdHNba2V5c1tqXV0gPSB7fTsKCQkJCQkJb3B0cyA9IG9wdHNba2V5c1tqXV07CgkJCQkJfSBlbHNlIHsKCQkJCQkJb3B0c1trZXlzW2pdXSA9IHZhbHVlOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJIC8vIE90aGVyd2lzZSBlbmFibGVzIHVzZTogb3B0aW9ucyhvcHRpb25PYmplY3QpLiAgVXNlcyBvcmlnaW5hbCBvYmplY3QgKHRoZSBrZXkpCgoJCQl0aGlzLl9zZXRPcHRpb25zKG9wdGlvbnMpOwoKCQkJcmV0dXJuIHRoaXM7CgkJfSwKCQlfc2V0T3B0aW9uczogZnVuY3Rpb24ob3B0aW9ucykgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCSQuZWFjaChvcHRpb25zLCBmdW5jdGlvbihrZXksIHZhbHVlKSB7IC8vIFRoaXMgc3VwcG9ydHMgdGhlIDIgbGV2ZWwgZGVwdGggdGhhdCB0aGUgb3B0aW9ucyBvZiBqUGxheWVyIGhhcy4gV291bGQgcmV2aWV3IGlmIHdlIGV2ZXIgbmVlZCBtb3JlIGRlcHRoLgoJCQkJc2VsZi5fc2V0T3B0aW9uKGtleSwgdmFsdWUpOwoJCQl9KTsKCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJX3NldE9wdGlvbjogZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkvLyBUaGUgYWJpbGl0eSB0byBzZXQgb3B0aW9ucyBpcyBsaW1pdGVkIGF0IHRoaXMgdGltZS4KCgkJCXN3aXRjaChrZXkpIHsKCQkJCWNhc2UgInZvbHVtZSIgOgoJCQkJCXRoaXMudm9sdW1lKHZhbHVlKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm11dGVkIiA6CgkJCQkJdGhpcy5fbXV0ZWQodmFsdWUpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAiZ2xvYmFsVm9sdW1lIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSB2YWx1ZTsKCQkJCQlicmVhazsKCQkJCWNhc2UgImNzc1NlbGVjdG9yQW5jZXN0b3IiIDoKCQkJCQl0aGlzLl9jc3NTZWxlY3RvckFuY2VzdG9yKHZhbHVlKTsgLy8gU2V0IGFuZCByZWZyZXNoIGFsbCBhc3NvY2lhdGlvbnMgZm9yIHRoZSBuZXcgYW5jZXN0b3IuCgkJCQkJYnJlYWs7CgkJCQljYXNlICJjc3NTZWxlY3RvciIgOgoJCQkJCSQuZWFjaCh2YWx1ZSwgZnVuY3Rpb24oZm4sIGNzc1NlbCkgewoJCQkJCQlzZWxmLl9jc3NTZWxlY3RvcihmbiwgY3NzU2VsKTsgLy8gTkI6IFRoZSBvcHRpb24gaXMgc2V0IGluc2lkZSB0aGlzIGZ1bmN0aW9uLCBhZnRlciBmdXJ0aGVyIHZhbGlkaXR5IGNoZWNrcy4KCQkJCQl9KTsKCQkJCQlicmVhazsKCQkJCWNhc2UgInBsYXliYWNrUmF0ZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWUgPSB0aGlzLl9saW1pdFZhbHVlKHZhbHVlLCB0aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlLCB0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlKTsKCQkJCQlpZih0aGlzLmh0bWwudXNlZCkgewoJCQkJCQl0aGlzLl9odG1sX3NldFByb3BlcnR5KCdwbGF5YmFja1JhdGUnLCB2YWx1ZSk7CgkJCQkJfQoJCQkJCXRoaXMuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWUgPSB0aGlzLl9saW1pdFZhbHVlKHZhbHVlLCB0aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlLCB0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlKTsKCQkJCQlpZih0aGlzLmh0bWwudXNlZCkgewoJCQkJCQl0aGlzLl9odG1sX3NldFByb3BlcnR5KCdkZWZhdWx0UGxheWJhY2tSYXRlJywgdmFsdWUpOwoJCQkJCX0KCQkJCQl0aGlzLl91cGRhdGVQbGF5YmFja1JhdGUoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm1pblBsYXliYWNrUmF0ZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWUgPSB0aGlzLl9saW1pdFZhbHVlKHZhbHVlLCAwLjEsIHRoaXMub3B0aW9ucy5tYXhQbGF5YmFja1JhdGUgLSAwLjEpOwoJCQkJCXRoaXMuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibWF4UGxheWJhY2tSYXRlIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSB2YWx1ZSA9IHRoaXMuX2xpbWl0VmFsdWUodmFsdWUsIHRoaXMub3B0aW9ucy5taW5QbGF5YmFja1JhdGUgKyAwLjEsIDE2KTsKCQkJCQl0aGlzLl91cGRhdGVQbGF5YmFja1JhdGUoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgImZ1bGxTY3JlZW4iIDoKCQkJCQlpZih0aGlzLm9wdGlvbnNba2V5XSAhPT0gdmFsdWUpIHsgLy8gaWYgY2hhbmdlZAoJCQkJCQl2YXIgd2t2ID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4udXNlZC53ZWJraXRWaWRlbzsKCQkJCQkJaWYoIXdrdiB8fCB3a3YgJiYgIXRoaXMuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQkJCQlpZighd2t2KSB7IC8vIE5vIHNlbnNpYmxlIHdheSB0byB1bnNldCBvcHRpb24gb24gdGhlc2UgZGV2aWNlcy4KCQkJCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IHZhbHVlOwoJCQkJCQkJfQoJCQkJCQkJaWYodmFsdWUpIHsKCQkJCQkJCQl0aGlzLl9yZXF1ZXN0RnVsbHNjcmVlbigpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQl0aGlzLl9leGl0RnVsbHNjcmVlbigpOwoJCQkJCQkJfQoJCQkJCQkJaWYoIXdrdikgewoJCQkJCQkJCXRoaXMuX3NldE9wdGlvbigiZnVsbFdpbmRvdyIsIHZhbHVlKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCWNhc2UgImZ1bGxXaW5kb3ciIDoKCQkJCQlpZih0aGlzLm9wdGlvbnNba2V5XSAhPT0gdmFsdWUpIHsgLy8gaWYgY2hhbmdlZAoJCQkJCQl0aGlzLl9yZW1vdmVVaUNsYXNzKCk7CgkJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJCXRoaXMuX3JlZnJlc2hTaXplKCk7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAic2l6ZSIgOgoJCQkJCWlmKCF0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdyAmJiB0aGlzLm9wdGlvbnNba2V5XS5jc3NDbGFzcyAhPT0gdmFsdWUuY3NzQ2xhc3MpIHsKCQkJCQkJdGhpcy5fcmVtb3ZlVWlDbGFzcygpOwoJCQkJCX0KCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBjb3B5IG9mIGl0LCBpbmNhc2Ugbm90IGFsbCBwcm9wZXJ0aWVzIGNoYW5nZWQuCgkJCQkJdGhpcy5fcmVmcmVzaFNpemUoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgInNpemVGdWxsIiA6CgkJCQkJaWYodGhpcy5vcHRpb25zLmZ1bGxXaW5kb3cgJiYgdGhpcy5vcHRpb25zW2tleV0uY3NzQ2xhc3MgIT09IHZhbHVlLmNzc0NsYXNzKSB7CgkJCQkJCXRoaXMuX3JlbW92ZVVpQ2xhc3MoKTsKCQkJCQl9CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zW2tleV0sIHZhbHVlKTsgLy8gc3RvcmUgYSBtZXJnZWQgY29weSBvZiBpdCwgaW5jYXNlIG5vdCBhbGwgcHJvcGVydGllcyBjaGFuZ2VkLgoJCQkJCXRoaXMuX3JlZnJlc2hTaXplKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJhdXRvaGlkZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLl91cGRhdGVBdXRvaGlkZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibG9vcCIgOgoJCQkJCXRoaXMuX2xvb3AodmFsdWUpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAicmVtYWluaW5nRHVyYXRpb24iIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IHZhbHVlOwoJCQkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAidG9nZ2xlRHVyYXRpb24iIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IHZhbHVlOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibmF0aXZlVmlkZW9Db250cm9scyIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpOwoJCQkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkJCXRoaXMuX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHMoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm5vRnVsbFdpbmRvdyIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpOyAvLyBOZWVkIHRvIGNoZWNrIGFnYWluIGFzIG5vRnVsbFdpbmRvdyBjYW4gZGVwZW5kIG9uIHRoaXMgZmxhZyBhbmQgdGhlIHJlc3RyaWN0KCkgY2FuIG92ZXJyaWRlIGl0LgoJCQkJCXRoaXMuc3RhdHVzLm5vRnVsbFdpbmRvdyA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpOwoJCQkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm5vVm9sdW1lIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zW2tleV0sIHZhbHVlKTsgLy8gc3RvcmUgYSBtZXJnZWQgY29weSBvZiBpdCwgaW5jYXNlIG5vdCBhbGwgcHJvcGVydGllcyBjaGFuZ2VkLgoJCQkJCXRoaXMuc3RhdHVzLm5vVm9sdW1lID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5vVm9sdW1lKTsKCQkJCQl0aGlzLl91cGRhdGVWb2x1bWUoKTsKCQkJCQl0aGlzLl91cGRhdGVNdXRlKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJlbXVsYXRlSHRtbCIgOgoJCQkJCWlmKHRoaXMub3B0aW9uc1trZXldICE9PSB2YWx1ZSkgeyAvLyBUbyBhdm9pZCBtdWx0aXBsZSBldmVudCBoYW5kbGVycyBiZWluZyBjcmVhdGVkLCBpZiB0cnVlIGFscmVhZHkuCgkJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJCWlmKHZhbHVlKSB7CgkJCQkJCQl0aGlzLl9lbXVsYXRlSHRtbEJyaWRnZSgpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fZGVzdHJveUh0bWxCcmlkZ2UoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCWNhc2UgInRpbWVGb3JtYXQiIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBjb3B5IG9mIGl0LCBpbmNhc2Ugbm90IGFsbCBwcm9wZXJ0aWVzIGNoYW5nZWQuCgkJCQkJYnJlYWs7CgkJCQljYXNlICJrZXlFbmFibGVkIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSB2YWx1ZTsKCQkJCQlpZighdmFsdWUgJiYgdGhpcyA9PT0gJC5qUGxheWVyLmZvY3VzKSB7CgkJCQkJCSQualBsYXllci5mb2N1cyA9IG51bGw7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAia2V5QmluZGluZ3MiIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBERUVQIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQlicmVhazsKCQkJCWNhc2UgImF1ZGlvRnVsbFNjcmVlbiIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJhdXRvQmx1ciIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJYnJlYWs7CgkJCX0KCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJLy8gRW5kIG9mOiAoT3B0aW9ucyBjb2RlIGFkYXB0ZWQgZnJvbSB1aS53aWRnZXQuanMpCgoJCV9yZWZyZXNoU2l6ZTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3NldFNpemUoKTsgLy8gdXBkYXRlIHN0YXR1cyBhbmQgalBsYXllciBlbGVtZW50IHNpemUKCQkJdGhpcy5fYWRkVWlDbGFzcygpOyAvLyB1cGRhdGUgdGhlIHVpIGNsYXNzCgkJCXRoaXMuX3VwZGF0ZVNpemUoKTsgLy8gdXBkYXRlIGludGVybmFsIHNpemVzCgkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVzaXplKTsKCQl9LAoJCV9zZXRTaXplOiBmdW5jdGlvbigpIHsKCQkJLy8gRGV0ZXJtaW5lIHRoZSBjdXJyZW50IHNpemUgZnJvbSB0aGUgb3B0aW9ucwoJCQlpZih0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdykgewoJCQkJdGhpcy5zdGF0dXMud2lkdGggPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwud2lkdGg7CgkJCQl0aGlzLnN0YXR1cy5oZWlnaHQgPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwuaGVpZ2h0OwoJCQkJdGhpcy5zdGF0dXMuY3NzQ2xhc3MgPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwuY3NzQ2xhc3M7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLnN0YXR1cy53aWR0aCA9IHRoaXMub3B0aW9ucy5zaXplLndpZHRoOwoJCQkJdGhpcy5zdGF0dXMuaGVpZ2h0ID0gdGhpcy5vcHRpb25zLnNpemUuaGVpZ2h0OwoJCQkJdGhpcy5zdGF0dXMuY3NzQ2xhc3MgPSB0aGlzLm9wdGlvbnMuc2l6ZS5jc3NDbGFzczsKCQkJfQoKCQkJLy8gU2V0IHRoZSBzaXplIG9mIHRoZSBqUGxheWVyIGFyZWEuCgkJCXRoaXMuZWxlbWVudC5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJfSwKCQlfYWRkVWlDbGFzczogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuYW5jZXN0b3JKcS5sZW5ndGgpIHsKCQkJCXRoaXMuYW5jZXN0b3JKcS5hZGRDbGFzcyh0aGlzLnN0YXR1cy5jc3NDbGFzcyk7CgkJCX0KCQl9LAoJCV9yZW1vdmVVaUNsYXNzOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5hbmNlc3RvckpxLmxlbmd0aCkgewoJCQkJdGhpcy5hbmNlc3RvckpxLnJlbW92ZUNsYXNzKHRoaXMuc3RhdHVzLmNzc0NsYXNzKTsKCQkJfQoJCX0sCgkJX3VwZGF0ZVNpemU6IGZ1bmN0aW9uKCkgewoJCQkvLyBUaGUgcG9zdGVyIHVzZXMgc2hvdy9oaWRlIHNvIGNhbiBzaW1wbHkgcmVzaXplIGl0LgoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgoJCQkvLyBWaWRlbyBodG1sIG9yIGZsYXNoIHJlc2l6ZWQgaWYgbmVjZXNzYXJ5IGF0IHRoaXMgdGltZSwgb3IgaWYgbmF0aXZlIHZpZGVvIGNvbnRyb2xzIGJlaW5nIHVzZWQuCgkJCWlmKCF0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSAmJiB0aGlzLmh0bWwuYWN0aXZlICYmIHRoaXMuc3RhdHVzLnZpZGVvIHx8IHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUgJiYgdGhpcy5odG1sLnVzZWQgJiYgdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCX0KCQkJZWxzZSBpZighdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgJiYgdGhpcy5mbGFzaC5hY3RpdmUgJiYgdGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQl9CgkJfSwKCQlfdXBkYXRlQXV0b2hpZGU6IGZ1bmN0aW9uKCkgewoJCQl2YXIJc2VsZiA9IHRoaXMsCgkJCQlldmVudCA9ICJtb3VzZW1vdmUualBsYXllciIsCgkJCQluYW1lc3BhY2UgPSAiLmpQbGF5ZXJBdXRvaGlkZSIsCgkJCQlldmVudFR5cGUgPSBldmVudCArIG5hbWVzcGFjZSwKCQkJCWhhbmRsZXIgPSBmdW5jdGlvbihldmVudCkgewoJCQkJCXZhciBtb3ZlZCA9IGZhbHNlLAoJCQkJCQlkZWx0YVgsIGRlbHRhWTsKCQkJCQlpZih0eXBlb2Ygc2VsZi5pbnRlcm5hbC5tb3VzZSAhPT0gInVuZGVmaW5lZCIpIHsKCQkJCQkJLy9nZXQgdGhlIGNoYW5nZSBmcm9tIGxhc3QgcG9zaXRpb24gdG8gdGhpcyBwb3NpdGlvbgoJCQkJCQlkZWx0YVggPSBzZWxmLmludGVybmFsLm1vdXNlLnggLSBldmVudC5wYWdlWDsKCQkJCQkJZGVsdGFZID0gc2VsZi5pbnRlcm5hbC5tb3VzZS55IC0gZXZlbnQucGFnZVk7CgkJCQkJCW1vdmVkID0gKE1hdGguZmxvb3IoZGVsdGFYKSA+IDApIHx8IChNYXRoLmZsb29yKGRlbHRhWSk+MCk7IAoJCQkJCX0gZWxzZSB7CgkJCQkJCW1vdmVkID0gdHJ1ZTsKCQkJCQl9CgkJCQkJLy8gc3RvcmUgY3VycmVudCBwb3NpdGlvbiBmb3IgbmV4dCBtZXRob2QgZXhlY3V0aW9uCgkJCQkJc2VsZi5pbnRlcm5hbC5tb3VzZSA9IHsKCQkJCQkJCXggOiBldmVudC5wYWdlWCwKCQkJCQkJCXkgOiBldmVudC5wYWdlWQoJCQkJCX07CgkJCQkJLy8gaWYgbW91c2UgaGFzIGJlZW4gYWN0dWFsbHkgbW92ZWQsIGRvIHRoZSBndWkgZmFkZUluL2ZhZGVPdXQKCQkJCQlpZiAobW92ZWQpIHsKCQkJCQkJc2VsZi5jc3MuanEuZ3VpLmZhZGVJbihzZWxmLm9wdGlvbnMuYXV0b2hpZGUuZmFkZUluLCBmdW5jdGlvbigpIHsKCQkJCQkJCWNsZWFyVGltZW91dChzZWxmLmludGVybmFsLmF1dG9oaWRlSWQpOwoJCQkJCQkJc2VsZi5pbnRlcm5hbC5hdXRvaGlkZUlkID0gc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCQkJCQkJc2VsZi5jc3MuanEuZ3VpLmZhZGVPdXQoc2VsZi5vcHRpb25zLmF1dG9oaWRlLmZhZGVPdXQpOwoJCQkJCQkJfSwgc2VsZi5vcHRpb25zLmF1dG9oaWRlLmhvbGQpOwoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9OwoKCQkJaWYodGhpcy5jc3MuanEuZ3VpLmxlbmd0aCkgewoKCQkJCS8vIEVuZCBhbmltYXRpb25zIGZpcnN0IHNvIHRoYXQgaXRzIGNhbGxiYWNrIGlzIGV4ZWN1dGVkIG5vdy4KCQkJCS8vIE90aGVyd2lzZSBhbiBpbiBwcm9ncmVzcyBmYWRlSW4gYW5pbWF0aW9uIHN0aWxsIGhhcyB0aGUgY2FsbGJhY2sgdG8gZmFkZU91dCBhZ2Fpbi4KCQkJCXRoaXMuY3NzLmpxLmd1aS5zdG9wKHRydWUsIHRydWUpOwoKCQkJCS8vIFJlbW92ZXMgdGhlIGZhZGVPdXQgb3BlcmF0aW9uIGZyb20gdGhlIGZhZGVJbiBjYWxsYmFjay4KCQkJCWNsZWFyVGltZW91dCh0aGlzLmludGVybmFsLmF1dG9oaWRlSWQpOwoJCQkJLy8gdW5kZWZpbmUgbW91c2UKCQkJCWRlbGV0ZSB0aGlzLmludGVybmFsLm1vdXNlOwoKCQkJCXRoaXMuZWxlbWVudC51bmJpbmQobmFtZXNwYWNlKTsKCQkJCXRoaXMuY3NzLmpxLmd1aS51bmJpbmQobmFtZXNwYWNlKTsKCgkJCQlpZighdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJCWlmKHRoaXMub3B0aW9ucy5mdWxsV2luZG93ICYmIHRoaXMub3B0aW9ucy5hdXRvaGlkZS5mdWxsIHx8ICF0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdyAmJiB0aGlzLm9wdGlvbnMuYXV0b2hpZGUucmVzdG9yZWQpIHsKCQkJCQkJdGhpcy5lbGVtZW50LmJpbmQoZXZlbnRUeXBlLCBoYW5kbGVyKTsKCQkJCQkJdGhpcy5jc3MuanEuZ3VpLmJpbmQoZXZlbnRUeXBlLCBoYW5kbGVyKTsKCQkJCQkJdGhpcy5jc3MuanEuZ3VpLmhpZGUoKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLmNzcy5qcS5ndWkuc2hvdygpOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEuZ3VpLmhpZGUoKTsKCQkJCX0KCQkJfQoJCX0sCgkJZnVsbFNjcmVlbjogZnVuY3Rpb24oZXZlbnQpIHsKCQkJdmFyIGd1aUFjdGlvbiA9IHR5cGVvZiBldmVudCA9PT0gIm9iamVjdCI7IC8vIEZsYWdzIEdVSSBjbGljayBldmVudHMgc28gd2Uga25vdyB0aGlzIHdhcyBub3QgYSBkaXJlY3QgY29tbWFuZCwgYnV0IGFuIGFjdGlvbiB0YWtlbiBieSB0aGUgdXNlciBvbiB0aGUgR1VJLgoJCQlpZihndWlBY3Rpb24gJiYgdGhpcy5vcHRpb25zLnVzZVN0YXRlQ2xhc3NTa2luICYmIHRoaXMub3B0aW9ucy5mdWxsU2NyZWVuKSB7CgkJCQl0aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCBmYWxzZSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCB0cnVlKTsKCQkJfQoJCX0sCgkJcmVzdG9yZVNjcmVlbjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsIGZhbHNlKTsKCQl9LAoJCV9mdWxsc2NyZWVuQWRkRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlmcyA9ICQualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuOwoKCQkJaWYoZnMuYXBpLmZ1bGxzY3JlZW5FbmFibGVkKSB7CgkJCQlpZihmcy5ldmVudC5mdWxsc2NyZWVuY2hhbmdlKSB7CgkJCQkJLy8gQ3JlYXRlIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIGFuZCBzdG9yZSBpdCBmb3IgcmVtb3ZhbC4KCQkJCQlpZih0eXBlb2YgdGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlciAhPT0gJ2Z1bmN0aW9uJykgewoJCQkJCQl0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyID0gZnVuY3Rpb24oKSB7CgkJCQkJCQlzZWxmLl9mdWxsc2NyZWVuY2hhbmdlKCk7CgkJCQkJCX07CgkJCQkJfQoJCQkJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZnMuZXZlbnQuZnVsbHNjcmVlbmNoYW5nZSwgdGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlciwgZmFsc2UpOwoJCQkJfQoJCQkJLy8gTm8gcG9pbnQgY3JlYXRpbmcgaGFuZGxlciBmb3IgZnVsbHNjcmVlbmVycm9yLgoJCQkJLy8gRWl0aGVyIGxvZ2ljIGF2b2lkcyBmdWxsc2NyZWVuIG9jY3VycmluZyAodzNjL21veiksIG9yIHRoZWlyIGlzIG5vIGV2ZW50IG9uIHRoZSBicm93c2VyICh3ZWJraXQpLgoJCQl9CgkJfSwKCQlfZnVsbHNjcmVlblJlbW92ZUV2ZW50TGlzdGVuZXJzOiBmdW5jdGlvbigpIHsKCQkJdmFyIGZzID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47CgkJCWlmKHRoaXMuaW50ZXJuYWwuZnVsbHNjcmVlbmNoYW5nZUhhbmRsZXIpIHsKCQkJCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZnMuZXZlbnQuZnVsbHNjcmVlbmNoYW5nZSwgdGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlciwgZmFsc2UpOwoJCQl9CgkJfSwKCQlfZnVsbHNjcmVlbmNoYW5nZTogZnVuY3Rpb24oKSB7CgkJCS8vIElmIG5vdGhpbmcgaXMgZnVsbHNjcmVlbiwgdGhlbiB3ZSBjYW5ub3QgYmUgaW4gZnVsbHNjcmVlbiBtb2RlLgoJCQlpZih0aGlzLm9wdGlvbnMuZnVsbFNjcmVlbiAmJiAhJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4uYXBpLmZ1bGxzY3JlZW5FbGVtZW50KCkpIHsKCQkJCXRoaXMuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsIGZhbHNlKTsKCQkJfQoJCX0sCgkJX3JlcXVlc3RGdWxsc2NyZWVuOiBmdW5jdGlvbigpIHsKCQkJLy8gRWl0aGVyIHRoZSBjb250YWluZXIgb3IgdGhlIGpQbGF5ZXIgZGl2CgkJCXZhciBlID0gdGhpcy5hbmNlc3RvckpxLmxlbmd0aCA/IHRoaXMuYW5jZXN0b3JKcVswXSA6IHRoaXMuZWxlbWVudFswXSwKCQkJCWZzID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47CgoJCQkvLyBUaGlzIG1ldGhvZCBuZWVkcyB0aGUgdmlkZW8gZWxlbWVudC4gRm9yIGlPUyBhbmQgQW5kcm9pZC4KCQkJaWYoZnMudXNlZC53ZWJraXRWaWRlbykgewoJCQkJZSA9IHRoaXMuaHRtbEVsZW1lbnQudmlkZW87CgkJCX0KCgkJCWlmKGZzLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCkgewoJCQkJZnMuYXBpLnJlcXVlc3RGdWxsc2NyZWVuKGUpOwoJCQl9CgkJfSwKCQlfZXhpdEZ1bGxzY3JlZW46IGZ1bmN0aW9uKCkgewoKCQkJdmFyIGZzID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4sCgkJCQllOwoKCQkJLy8gVGhpcyBtZXRob2QgbmVlZHMgdGhlIHZpZGVvIGVsZW1lbnQuIEZvciBpT1MgYW5kIEFuZHJvaWQuCgkJCWlmKGZzLnVzZWQud2Via2l0VmlkZW8pIHsKCQkJCWUgPSB0aGlzLmh0bWxFbGVtZW50LnZpZGVvOwoJCQl9CgoJCQlpZihmcy5hcGkuZnVsbHNjcmVlbkVuYWJsZWQpIHsKCQkJCWZzLmFwaS5leGl0RnVsbHNjcmVlbihlKTsKCQkJfQoJCX0sCgkJX2h0bWxfaW5pdE1lZGlhOiBmdW5jdGlvbihtZWRpYSkgewoJCQkvLyBSZW1vdmUgYW55IGV4aXN0aW5nIHRyYWNrIGVsZW1lbnRzCgkJCXZhciAkbWVkaWEgPSAkKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEpLmVtcHR5KCk7CgoJCQkvLyBDcmVhdGUgYW55IHRyYWNrIGVsZW1lbnRzIGdpdmVuIHdpdGggdGhlIG1lZGlhLCBhcyBhbiBBcnJheSBvZiB0cmFjayBPYmplY3RzLgoJCQkkLmVhY2gobWVkaWEudHJhY2sgfHwgW10sIGZ1bmN0aW9uKGksdikgewoJCQkJdmFyIHRyYWNrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHJhY2snKTsKCQkJCXRyYWNrLnNldEF0dHJpYnV0ZSgia2luZCIsIHYua2luZCA/IHYua2luZCA6ICIiKTsKCQkJCXRyYWNrLnNldEF0dHJpYnV0ZSgic3JjIiwgdi5zcmMgPyB2LnNyYyA6ICIiKTsKCQkJCXRyYWNrLnNldEF0dHJpYnV0ZSgic3JjbGFuZyIsIHYuc3JjbGFuZyA/IHYuc3JjbGFuZyA6ICIiKTsKCQkJCXRyYWNrLnNldEF0dHJpYnV0ZSgibGFiZWwiLCB2LmxhYmVsID8gdi5sYWJlbCA6ICIiKTsKCQkJCWlmKHYuZGVmKSB7CgkJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJkZWZhdWx0Iiwgdi5kZWYpOwoJCQkJfQoJCQkJJG1lZGlhLmFwcGVuZCh0cmFjayk7CgkJCX0pOwoKCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYS5zcmMgPSB0aGlzLnN0YXR1cy5zcmM7CgoJCQlpZih0aGlzLm9wdGlvbnMucHJlbG9hZCAhPT0gJ25vbmUnKSB7CgkJCQl0aGlzLl9odG1sX2xvYWQoKTsgLy8gU2VlIGZ1bmN0aW9uIGZvciBjb21tZW50cwoJCQl9CgkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnRpbWV1cGRhdGUpOyAvLyBUaGUgZmxhc2ggZ2VuZXJhdGVzIHRoaXMgZXZlbnQgZm9yIGl0cyBzb2x1dGlvbi4KCQl9LAoJCV9odG1sX3NldEZvcm1hdDogZnVuY3Rpb24obWVkaWEpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkvLyBBbHdheXMgZmluZHMgYSBmb3JtYXQgZHVlIHRvIGNoZWNrcyBpbiBzZXRNZWRpYSgpCgkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCWlmKHNlbGYuaHRtbC5zdXBwb3J0W2Zvcm1hdF0gJiYgbWVkaWFbZm9ybWF0XSkgewoJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0W2Zvcm1hdF0gPSB0cnVlOwoJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFR5cGUgPSBmb3JtYXQ7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9KTsKCQl9LAoJCV9odG1sX3NldEF1ZGlvOiBmdW5jdGlvbihtZWRpYSkgewoJCQl0aGlzLl9odG1sX3NldEZvcm1hdChtZWRpYSk7CgkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEgPSB0aGlzLmh0bWxFbGVtZW50LmF1ZGlvOwoJCQl0aGlzLl9odG1sX2luaXRNZWRpYShtZWRpYSk7CgkJfSwKCQlfaHRtbF9zZXRWaWRlbzogZnVuY3Rpb24obWVkaWEpIHsKCQkJdGhpcy5faHRtbF9zZXRGb3JtYXQobWVkaWEpOwoJCQlpZih0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQl0aGlzLmh0bWxFbGVtZW50LnZpZGVvLnBvc3RlciA9IHRoaXMuX3ZhbGlkU3RyaW5nKG1lZGlhLnBvc3RlcikgPyBtZWRpYS5wb3N0ZXIgOiAiIjsKCQkJfQoJCQl0aGlzLmh0bWxFbGVtZW50Lm1lZGlhID0gdGhpcy5odG1sRWxlbWVudC52aWRlbzsKCQkJdGhpcy5faHRtbF9pbml0TWVkaWEobWVkaWEpOwoJCX0sCgkJX2h0bWxfcmVzZXRNZWRpYTogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEpIHsKCQkJCWlmKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEuaWQgPT09IHRoaXMuaW50ZXJuYWwudmlkZW8uaWQgJiYgIXRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsKCQkJCX0KCQkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEucGF1c2UoKTsKCQkJfQoJCX0sCgkJX2h0bWxfY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEuc3JjID0gImFib3V0OmJsYW5rIjsKCQkJCS8vIFRoZSBmb2xsb3dpbmcgbG9hZCgpIGlzIG9ubHkgcmVxdWlyZWQgZm9yIEZpcmVmb3ggMy42IChQb3dlck1hY3MpLgoJCQkJLy8gUmVjZW50IEhUTWw1IGJyb3dzZXJzIG9ubHkgcmVxdWlyZSB0aGUgc3JjIGNoYW5nZS4gRHVlIHRvIGNoYW5nZXMgaW4gVzNDIHNwZWMgYW5kIGxvYWQoKSBlZmZlY3QuCgkJCQl0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLmxvYWQoKTsgLy8gU3RvcHMgYW4gb2xkLCAiaW4gcHJvZ3Jlc3MiIGRvd25sb2FkIGZyb20gY29udGludWluZyB0aGUgZG93bmxvYWQuIFRyaWdnZXJzIHRoZSBsb2Fkc3RhcnQsIGVycm9yIGFuZCBlbXB0aWVkIGV2ZW50cywgZHVlIHRvIHRoZSBlbXB0eSBzcmMuIEFsc28gYW4gYWJvcnQgZXZlbnQgaWYgYSBkb3dubG9hZCB3YXMgaW4gcHJvZ3Jlc3MuCgkJCX0KCQl9LAoJCV9odG1sX2xvYWQ6IGZ1bmN0aW9uKCkgewoJCQkvLyBUaGlzIGZ1bmN0aW9uIHJlbWFpbnMgdG8gYWxsb3cgdGhlIGVhcmx5IEhUTUw1IGJyb3dzZXJzIHRvIHdvcmssIHN1Y2ggYXMgRmlyZWZveCAzLjYKCQkJLy8gQSBjaGFuZ2UgaW4gdGhlIFczQyBzcGVjIGZvciB0aGUgbWVkaWEubG9hZCgpIGNvbW1hbmQgbWVhbnMgdGhhdCB0aGlzIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuCgkJCS8vIFRoaXMgY29tbWFuZCBzaG91bGQgYmUgcmVtb3ZlZCBhbmQgYWN0dWFsbHkgY2F1c2VzIG1pbm9yIHVuZGVzaXJhYmxlIGVmZmVjdHMgb24gc29tZSBicm93c2Vycy4gU3VjaCBhcyBsb2FkaW5nIHRoZSB3aG9sZSBmaWxlIGFuZCBub3Qgb25seSB0aGUgbWV0YWRhdGEuCgkJCWlmKHRoaXMuc3RhdHVzLndhaXRGb3JMb2FkKSB7CgkJCQl0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCA9IGZhbHNlOwoJCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYS5sb2FkKCk7CgkJCX0KCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKTsKCQl9LAoJCV9odG1sX3BsYXk6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJbWVkaWEgPSB0aGlzLmh0bWxFbGVtZW50Lm1lZGlhOwoKCQkJdGhpcy5hbmRyb2lkRml4LnBhdXNlID0gZmFsc2U7IC8vIENhbmNlbCB0aGUgcGF1c2UgZml4LgoKCQkJdGhpcy5faHRtbF9sb2FkKCk7IC8vIExvYWRzIGlmIHJlcXVpcmVkIGFuZCBjbGVhcnMgYW55IGRlbGF5ZWQgY29tbWFuZHMuCgoJCQkvLyBTZXR1cCB0aGUgQW5kcm9pZCBGaXguCgkJCWlmKHRoaXMuYW5kcm9pZEZpeC5zZXRNZWRpYSkgewoJCQkJdGhpcy5hbmRyb2lkRml4LnBsYXkgPSB0cnVlOwoJCQkJdGhpcy5hbmRyb2lkRml4LnRpbWUgPSB0aW1lOwoKCQkJfSBlbHNlIGlmKCFpc05hTih0aW1lKSkgewoKCQkJCS8vIEF0dGVtcHQgdG8gcGxheSBpdCwgc2luY2UgaU9TIGhhcyBiZWVuIGlnbm9yaW5nIGNvbW1hbmRzCgkJCQlpZih0aGlzLmludGVybmFsLmNtZHNJZ25vcmVkKSB7CgkJCQkJbWVkaWEucGxheSgpOwoJCQkJfQoKCQkJCXRyeSB7CgkJCQkJLy8gIW1lZGlhLnNlZWthYmxlIGlzIGZvciBvbGQgSFRNTDUgYnJvd3NlcnMsIGxpa2UgRmlyZWZveCAzLjYuCgkJCQkJLy8gQ2hlY2tpbmcgc2Vla2FibGUubGVuZ3RoIGlzIGltcG9ydGFudCBmb3IgaU9TNiB0byB3b3JrIHdpdGggc2V0TWVkaWEoKS5wbGF5KHRpbWUpCgkJCQkJaWYoIW1lZGlhLnNlZWthYmxlIHx8IHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIgJiYgbWVkaWEuc2Vla2FibGUubGVuZ3RoID4gMCkgewoJCQkJCQltZWRpYS5jdXJyZW50VGltZSA9IHRpbWU7CgkJCQkJCW1lZGlhLnBsYXkoKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aHJvdyAxOwoJCQkJCX0KCQkJCX0gY2F0Y2goZXJyKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLnBsYXkodGltZSk7CgkJCQkJfSwgMjUwKTsKCQkJCQlyZXR1cm47IC8vIENhbmNlbCBleGVjdXRpb24gYW5kIHdhaXQgZm9yIHRoZSBkZWxheWVkIGNvbW1hbmQuCgkJCQl9CgkJCX0gZWxzZSB7CgkJCQltZWRpYS5wbGF5KCk7CgkJCX0KCQkJdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJfSwKCQlfaHRtbF9wYXVzZTogZnVuY3Rpb24odGltZSkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQltZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQubWVkaWE7CgoJCQl0aGlzLmFuZHJvaWRGaXgucGxheSA9IGZhbHNlOyAvLyBDYW5jZWwgdGhlIHBsYXkgZml4LgoKCQkJaWYodGltZSA+IDApIHsgLy8gV2UgZG8gbm90IHdhbnQgdGhlIHN0b3AoKSBjb21tYW5kLCB3aGljaCBkb2VzIHBhdXNlKDApLCBjYXVzaW5nIGEgbG9hZCBvcGVyYXRpb24uCgkJCQl0aGlzLl9odG1sX2xvYWQoKTsgLy8gTG9hZHMgaWYgcmVxdWlyZWQgYW5kIGNsZWFycyBhbnkgZGVsYXllZCBjb21tYW5kcy4KCQkJfSBlbHNlIHsKCQkJCWNsZWFyVGltZW91dCh0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZCk7CgkJCX0KCgkJCS8vIE9yZGVyIG9mIHRoZXNlIGNvbW1hbmRzIGlzIGltcG9ydGFudCBmb3IgU2FmYXJpIChXaW4pIGFuZCBJRTkuIFBhdXNlIHRoZW4gY2hhbmdlIGN1cnJlbnRUaW1lLgoJCQltZWRpYS5wYXVzZSgpOwoKCQkJLy8gU2V0dXAgdGhlIEFuZHJvaWQgRml4LgoJCQlpZih0aGlzLmFuZHJvaWRGaXguc2V0TWVkaWEpIHsKCQkJCXRoaXMuYW5kcm9pZEZpeC5wYXVzZSA9IHRydWU7CgkJCQl0aGlzLmFuZHJvaWRGaXgudGltZSA9IHRpbWU7CgoJCQl9IGVsc2UgaWYoIWlzTmFOKHRpbWUpKSB7CgkJCQl0cnkgewoJCQkJCWlmKCFtZWRpYS5zZWVrYWJsZSB8fCB0eXBlb2YgbWVkaWEuc2Vla2FibGUgPT09ICJvYmplY3QiICYmIG1lZGlhLnNlZWthYmxlLmxlbmd0aCA+IDApIHsKCQkJCQkJbWVkaWEuY3VycmVudFRpbWUgPSB0aW1lOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRocm93IDE7CgkJCQkJfQoJCQkJfSBjYXRjaChlcnIpIHsKCQkJCQl0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCXNlbGYucGF1c2UodGltZSk7CgkJCQkJfSwgMjUwKTsKCQkJCQlyZXR1cm47IC8vIENhbmNlbCBleGVjdXRpb24gYW5kIHdhaXQgZm9yIHRoZSBkZWxheWVkIGNvbW1hbmQuCgkJCQl9CgkJCX0KCQkJaWYodGltZSA+IDApIHsgLy8gQXZvaWRzIGEgc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkgaGlkaW5nIHRoZSB2aWRlbyBwbGF5IGJ1dHRvbi4KCQkJCXRoaXMuX2h0bWxfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCQl9CgkJfSwKCQlfaHRtbF9wbGF5SGVhZDogZnVuY3Rpb24ocGVyY2VudCkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQltZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQubWVkaWE7CgoJCQl0aGlzLl9odG1sX2xvYWQoKTsgLy8gTG9hZHMgaWYgcmVxdWlyZWQgYW5kIGNsZWFycyBhbnkgZGVsYXllZCBjb21tYW5kcy4KCgkJCS8vIFRoaXMgcGxheUhlYWQoKSBtZXRob2QgbmVlZHMgYSByZWZhY3RvciB0byBhcHBseSB0aGUgYW5kcm9pZCBmaXguCgoJCQl0cnkgewoJCQkJaWYodHlwZW9mIG1lZGlhLnNlZWthYmxlID09PSAib2JqZWN0IiAmJiBtZWRpYS5zZWVrYWJsZS5sZW5ndGggPiAwKSB7CgkJCQkJbWVkaWEuY3VycmVudFRpbWUgPSBwZXJjZW50ICogbWVkaWEuc2Vla2FibGUuZW5kKG1lZGlhLnNlZWthYmxlLmxlbmd0aC0xKSAvIDEwMDsKCQkJCX0gZWxzZSBpZihtZWRpYS5kdXJhdGlvbiA+IDAgJiYgIWlzTmFOKG1lZGlhLmR1cmF0aW9uKSkgewoJCQkJCW1lZGlhLmN1cnJlbnRUaW1lID0gcGVyY2VudCAqIG1lZGlhLmR1cmF0aW9uIC8gMTAwOwoJCQkJfSBlbHNlIHsKCQkJCQl0aHJvdyAiZSI7CgkJCQl9CgkJCX0gY2F0Y2goZXJyKSB7CgkJCQl0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJc2VsZi5wbGF5SGVhZChwZXJjZW50KTsKCQkJCX0sIDI1MCk7CgkJCQlyZXR1cm47IC8vIENhbmNlbCBleGVjdXRpb24gYW5kIHdhaXQgZm9yIHRoZSBkZWxheWVkIGNvbW1hbmQuCgkJCX0KCQkJaWYoIXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkKSB7CgkJCQl0aGlzLl9odG1sX2NoZWNrV2FpdEZvclBsYXkoKTsKCQkJfQoJCX0sCgkJX2h0bWxfY2hlY2tXYWl0Rm9yUGxheTogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQl0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSA9IGZhbHNlOwoJCQkJaWYodGhpcy5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCk7CgkJCQl9CgkJCQlpZih0aGlzLnN0YXR1cy52aWRlbykgewoJCQkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmhpZGUoKTsKCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzogdGhpcy5zdGF0dXMud2lkdGgsICdoZWlnaHQnOiB0aGlzLnN0YXR1cy5oZWlnaHR9KTsKCQkJCX0KCQkJfQoJCX0sCgkJX2h0bWxfc2V0UHJvcGVydHk6IGZ1bmN0aW9uKHByb3BlcnR5LCB2YWx1ZSkgewoJCQlpZih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQl0aGlzLmh0bWxFbGVtZW50LmF1ZGlvW3Byb3BlcnR5XSA9IHZhbHVlOwoJCQl9CgkJCWlmKHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQudmlkZW9bcHJvcGVydHldID0gdmFsdWU7CgkJCX0KCQl9LAoJCV9hdXJvcmFfc2V0QXVkaW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsgICAgICAgICAgICAKCQkJCgkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJaWYoc2VsZi5hdXJvcmEuc3VwcG9ydFtmb3JtYXRdICYmIG1lZGlhW2Zvcm1hdF0pIHsKCQkJCQlzZWxmLnN0YXR1cy5zcmMgPSBtZWRpYVtmb3JtYXRdOwoJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQlzZWxmLnN0YXR1cy5mb3JtYXRUeXBlID0gZm9ybWF0OwoJCQkKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoJCQkKCQkJdGhpcy5hdXJvcmEucGxheWVyID0gbmV3IEFWLlBsYXllci5mcm9tVVJMKHRoaXMuc3RhdHVzLnNyYyk7CgkJCXRoaXMuX2FkZEF1cm9yYUV2ZW50TGlzdGVuZXJzKHRoaXMuYXVyb3JhLnBsYXllciwgdGhpcy5hdXJvcmEpOwoKCQkJaWYodGhpcy5vcHRpb25zLnByZWxvYWQgPT09ICdhdXRvJykgewoJCQkJdGhpcy5fYXVyb3JhX2xvYWQoKTsKCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJCX0KCQl9LAoJCV9hdXJvcmFfcmVzZXRNZWRpYTogZnVuY3Rpb24oKSB7CgkJCWlmICh0aGlzLmF1cm9yYS5wbGF5ZXIpIHsKCQkJCXRoaXMuYXVyb3JhLnBsYXllci5zdG9wKCk7CgkJCX0KCQl9LAoJCV9hdXJvcmFfY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCS8vIE5vdGhpbmcgdG8gY2xlYXIuCgkJfSwKCQlfYXVyb3JhX2xvYWQ6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCXRoaXMuYXVyb3JhLnBsYXllci5wcmVsb2FkKCk7CgkJCX0KCQl9LAoJCV9hdXJvcmFfcGxheTogZnVuY3Rpb24odGltZSkgewoJCQlpZiAoIXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkKSB7CgkJCQlpZiAoIWlzTmFOKHRpbWUpKSB7CgkJCQkJdGhpcy5hdXJvcmEucGxheWVyLnNlZWsodGltZSk7CgkJCQl9CgkJCX0KCQkJaWYgKCF0aGlzLmF1cm9yYS5wbGF5ZXIucGxheWluZykgewoJCQkJdGhpcy5hdXJvcmEucGxheWVyLnBsYXkoKTsKCQkJfQoJCQl0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCA9IGZhbHNlOwoJCQl0aGlzLl9hdXJvcmFfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCQkKCQkJLy8gTm8gZXZlbnQgZnJvbSB0aGUgcGxheWVyLCB1cGRhdGUgVUkgbm93LgoJCQl0aGlzLl91cGRhdGVCdXR0b25zKHRydWUpOwoJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5wbGF5KTsKCQl9LAoJCV9hdXJvcmFfcGF1c2U6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJaWYgKCFpc05hTih0aW1lKSkgewoJCQkJdGhpcy5hdXJvcmEucGxheWVyLnNlZWsodGltZSAqIDEwMDApOwoJCQl9CgkJCXRoaXMuYXVyb3JhLnBsYXllci5wYXVzZSgpOwoJCQkKCQkJaWYodGltZSA+IDApIHsgLy8gQXZvaWRzIGEgc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkgaGlkaW5nIHRoZSB2aWRlbyBwbGF5IGJ1dHRvbi4KCQkJCXRoaXMuX2F1cm9yYV9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQkJCgkJCS8vIE5vIGV2ZW50IGZyb20gdGhlIHBsYXllciwgdXBkYXRlIFVJIG5vdy4KCQkJdGhpcy5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnBhdXNlKTsKCQl9LAoJCV9hdXJvcmFfcGxheUhlYWQ6IGZ1bmN0aW9uKHBlcmNlbnQpIHsKCQkJaWYodGhpcy5hdXJvcmEucGxheWVyLmR1cmF0aW9uID4gMCkgewoJCQkJLy8gVGhlIHNlZWsoKSBzb3VsZCBiZSBpbiBtaWxsaXNlY29uZHMsIGJ1dCB0aGUgb25seSBjb2RlYyB0aGF0IHdvcmtzIHdpdGggc2VlayAoYWFjLmpzKSB1c2VzIHNlY29uZHMuCgkJCQl0aGlzLmF1cm9yYS5wbGF5ZXIuc2VlayhwZXJjZW50ICogdGhpcy5hdXJvcmEucGxheWVyLmR1cmF0aW9uIC8gMTAwKTsgLy8gVXNpbmcgc2Vjb25kcwoJCQl9CgkJCQkKCQkJaWYoIXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkKSB7CgkJCQl0aGlzLl9hdXJvcmFfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCQl9CgkJfSwKCQlfYXVyb3JhX2NoZWNrV2FpdEZvclBsYXk6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgPSBmYWxzZTsKCQkJfQoJCX0sCgkJX2F1cm9yYV92b2x1bWU6IGZ1bmN0aW9uKHYpIHsKCQkJdGhpcy5hdXJvcmEucGxheWVyLnZvbHVtZSA9IHYgKiAxMDA7CgkJfSwKCQlfYXVyb3JhX211dGU6IGZ1bmN0aW9uKG0pIHsKCQkJaWYgKG0pIHsKCQkJCXRoaXMuYXVyb3JhLnByb3BlcnRpZXMubGFzdHZvbHVtZSA9IHRoaXMuYXVyb3JhLnBsYXllci52b2x1bWU7CgkJCQl0aGlzLmF1cm9yYS5wbGF5ZXIudm9sdW1lID0gMDsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuYXVyb3JhLnBsYXllci52b2x1bWUgPSB0aGlzLmF1cm9yYS5wcm9wZXJ0aWVzLmxhc3R2b2x1bWU7CgkJCX0KCQkJdGhpcy5hdXJvcmEucHJvcGVydGllcy5tdXRlZCA9IG07CgkJfSwKCQlfZmxhc2hfc2V0QXVkaW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdHJ5IHsKCQkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCQlpZihzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJCXN3aXRjaCAoZm9ybWF0KSB7CgkJCQkJCQljYXNlICJtNGEiIDoKCQkJCQkJCWNhc2UgImZsYSIgOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0QXVkaW9fbTRhKG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJY2FzZSAibXAzIiA6CgkJCQkJCQkJc2VsZi5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19tcDMobWVkaWFbZm9ybWF0XSk7CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQljYXNlICJydG1wYSI6CgkJCQkJCQkJc2VsZi5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19ydG1wKG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkID09PSAnYXV0bycpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfc2V0VmlkZW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdHJ5IHsKCQkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCQlpZihzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJCXN3aXRjaCAoZm9ybWF0KSB7CgkJCQkJCQljYXNlICJtNHYiIDoKCQkJCQkJCWNhc2UgImZsdiIgOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0VmlkZW9fbTR2KG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJY2FzZSAicnRtcHYiOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0VmlkZW9fcnRtcChtZWRpYVtmb3JtYXRdKTsKCQkJCQkJCQlicmVhazsJCQoJCQkJCQl9CgkJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkID09PSAnYXV0bycpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfcmVzZXRNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOyAvLyBNdXN0IGRvIHZpYSBDU1MgYXMgc2V0dGluZyBhdHRyKCkgdG8gemVybyBjYXVzZXMgYSBqUXVlcnkgZXJyb3IgaW4gSUUuCgkJCXRoaXMuX2ZsYXNoX3BhdXNlKE5hTik7CgkJfSwKCQlfZmxhc2hfY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX2NsZWFyTWVkaWEoKTsKCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfbG9hZDogZnVuY3Rpb24oKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX2xvYWQoKTsKCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJfSwKCQlfZmxhc2hfcGxheTogZnVuY3Rpb24odGltZSkgewoJCQl0cnkgewoJCQkJdGhpcy5fZ2V0TW92aWUoKS5mbF9wbGF5KHRpbWUpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJdGhpcy5fZmxhc2hfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCX0sCgkJX2ZsYXNoX3BhdXNlOiBmdW5jdGlvbih0aW1lKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX3BhdXNlKHRpbWUpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQkJaWYodGltZSA+IDApIHsgLy8gQXZvaWRzIGEgc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkgaGlkaW5nIHRoZSB2aWRlbyBwbGF5IGJ1dHRvbi4KCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJCQl0aGlzLl9mbGFzaF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQl9LAoJCV9mbGFzaF9wbGF5SGVhZDogZnVuY3Rpb24ocCkgewoJCQl0cnkgewoJCQkJdGhpcy5fZ2V0TW92aWUoKS5mbF9wbGF5X2hlYWQocCk7CgkJCX0gY2F0Y2goZXJyKSB7IHRoaXMuX2ZsYXNoRXJyb3IoZXJyKTsgfQoJCQlpZighdGhpcy5zdGF0dXMud2FpdEZvckxvYWQpIHsKCQkJCXRoaXMuX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXkoKTsKCQkJfQoJCX0sCgkJX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXk6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgPSBmYWxzZTsKCQkJCWlmKHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCQkJdGhpcy5pbnRlcm5hbC5mbGFzaC5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9mbGFzaF92b2x1bWU6IGZ1bmN0aW9uKHYpIHsKCQkJdHJ5IHsKCQkJCXRoaXMuX2dldE1vdmllKCkuZmxfdm9sdW1lKHYpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQl9LAoJCV9mbGFzaF9tdXRlOiBmdW5jdGlvbihtKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX211dGUobSk7CgkJCX0gY2F0Y2goZXJyKSB7IHRoaXMuX2ZsYXNoRXJyb3IoZXJyKTsgfQoJCX0sCgkJX2dldE1vdmllOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIGRvY3VtZW50W3RoaXMuaW50ZXJuYWwuZmxhc2guaWRdOwoJCX0sCgkJX2dldEZsYXNoUGx1Z2luVmVyc2lvbjogZnVuY3Rpb24oKSB7CgoJCQkvLyBfZ2V0Rmxhc2hQbHVnaW5WZXJzaW9uKCkgY29kZSBpbmZsdWVuY2VkIGJ5OgoJCQkvLyAtIEZsYXNoUmVwbGFjZSAxLjAxOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmxhc2hyZXBsYWNlLwoJCQkvLyAtIFNXRk9iamVjdCAyLjI6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9zd2ZvYmplY3QvCgoJCQl2YXIgdmVyc2lvbiA9IDAsCgkJCQlmbGFzaDsKCQkJaWYod2luZG93LkFjdGl2ZVhPYmplY3QpIHsKCQkJCXRyeSB7CgkJCQkJZmxhc2ggPSBuZXcgQWN0aXZlWE9iamVjdCgiU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2giKTsKCQkJCQlpZiAoZmxhc2gpIHsgLy8gZmxhc2ggd2lsbCByZXR1cm4gbnVsbCB3aGVuIEFjdGl2ZVggaXMgZGlzYWJsZWQKCQkJCQkJdmFyIHYgPSBmbGFzaC5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKTsKCQkJCQkJaWYodikgewoJCQkJCQkJdiA9IHYuc3BsaXQoIiAiKVsxXS5zcGxpdCgiLCIpOwoJCQkJCQkJdmVyc2lvbiA9IHBhcnNlSW50KHZbMF0sIDEwKSArICIuIiArIHBhcnNlSW50KHZbMV0sIDEwKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gY2F0Y2goZSkge30KCQkJfQoJCQllbHNlIGlmKG5hdmlnYXRvci5wbHVnaW5zICYmIG5hdmlnYXRvci5taW1lVHlwZXMubGVuZ3RoID4gMCkgewoJCQkJZmxhc2ggPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl07CgkJCQlpZihmbGFzaCkgewoJCQkJCXZlcnNpb24gPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl0uZGVzY3JpcHRpb24ucmVwbGFjZSgvLipccyhcZCtcLlxkKykuKi8sICIkMSIpOwoJCQkJfQoJCQl9CgkJCXJldHVybiB2ZXJzaW9uICogMTsgLy8gQ29udmVydHMgdG8gYSBudW1iZXIKCQl9LAoJCV9jaGVja0ZvckZsYXNoOiBmdW5jdGlvbiAodmVyc2lvbikgewoJCQl2YXIgZmxhc2hPayA9IGZhbHNlOwoJCQlpZih0aGlzLl9nZXRGbGFzaFBsdWdpblZlcnNpb24oKSA+PSB2ZXJzaW9uKSB7CgkJCQlmbGFzaE9rID0gdHJ1ZTsKCQkJfQoJCQlyZXR1cm4gZmxhc2hPazsKCQl9LAoJCV92YWxpZFN0cmluZzogZnVuY3Rpb24odXJsKSB7CgkJCXJldHVybiAodXJsICYmIHR5cGVvZiB1cmwgPT09ICJzdHJpbmciKTsgLy8gRW1wdHkgc3RyaW5ncyByZXR1cm4gZmFsc2UKCQl9LAoJCV9saW1pdFZhbHVlOiBmdW5jdGlvbih2YWx1ZSwgbWluLCBtYXgpIHsKCQkJcmV0dXJuICh2YWx1ZSA8IG1pbikgPyBtaW4gOiAoKHZhbHVlID4gbWF4KSA/IG1heCA6IHZhbHVlKTsKCQl9LAoJCV91cmxOb3RTZXRFcnJvcjogZnVuY3Rpb24oY29udGV4dCkgewoJCQl0aGlzLl9lcnJvciggewoJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTF9OT1RfU0VULAoJCQkJY29udGV4dDogY29udGV4dCwKCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkxfTk9UX1NFVCwKCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuVVJMX05PVF9TRVQKCQkJfSk7CgkJfSwKCQlfZmxhc2hFcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKCQkJdmFyIGVycm9yVHlwZTsKCQkJaWYoIXRoaXMuaW50ZXJuYWwucmVhZHkpIHsKCQkJCWVycm9yVHlwZSA9ICJGTEFTSCI7CgkJCX0gZWxzZSB7CgkJCQllcnJvclR5cGUgPSAiRkxBU0hfRElTQUJMRUQiOwoJCQl9CgkJCXRoaXMuX2Vycm9yKCB7CgkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3JbZXJyb3JUeXBlXSwKCQkJCWNvbnRleHQ6IHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmLAoJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnW2Vycm9yVHlwZV0gKyBlcnJvci5tZXNzYWdlLAoJCQkJaGludDogJC5qUGxheWVyLmVycm9ySGludFtlcnJvclR5cGVdCgkJCX0pOwoJCQkvLyBBbGxvdyB0aGUgYXVkaW8gcGxheWVyIHRvIHJlY292ZXIgaWYgZGlzcGxheTpub25lIGFuZCB0aGVuIHNob3duIGFnYWluLCBvciB3aXRoIHBvc2l0aW9uOmZpeGVkIG9uIEZpcmVmb3guCgkJCS8vIFRoaXMgcmVhbGx5IG9ubHkgYWZmZWN0cyBhdWRpbyBpbiBhIG1lZGlhIHBsYXllciwgYXMgYW4gYXVkaW8gcGxheWVyIGNvdWxkIGVhc2lseSBtb3ZlIHRoZSBqUGxheWVyIGVsZW1lbnQgYXdheSBmcm9tIHN1Y2ggaXNzdWVzLgoJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7J3dpZHRoJzonMXB4JywgJ2hlaWdodCc6JzFweCd9KTsKCQl9LAoJCV9lcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuZXJyb3IsIGVycm9yKTsKCQkJaWYodGhpcy5vcHRpb25zLmVycm9yQWxlcnRzKSB7CgkJCQl0aGlzLl9hbGVydCgiRXJyb3IhIiArIChlcnJvci5tZXNzYWdlID8gIlxuIiArIGVycm9yLm1lc3NhZ2UgOiAiIikgKyAoZXJyb3IuaGludCA/ICJcbiIgKyBlcnJvci5oaW50IDogIiIpICsgIlxuQ29udGV4dDogIiArIGVycm9yLmNvbnRleHQpOwoJCQl9CgkJfSwKCQlfd2FybmluZzogZnVuY3Rpb24od2FybmluZykgewoJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC53YXJuaW5nLCB1bmRlZmluZWQsIHdhcm5pbmcpOwoJCQlpZih0aGlzLm9wdGlvbnMud2FybmluZ0FsZXJ0cykgewoJCQkJdGhpcy5fYWxlcnQoIldhcm5pbmchIiArICh3YXJuaW5nLm1lc3NhZ2UgPyAiXG4iICsgd2FybmluZy5tZXNzYWdlIDogIiIpICsgKHdhcm5pbmcuaGludCA/ICJcbiIgKyB3YXJuaW5nLmhpbnQgOiAiIikgKyAiXG5Db250ZXh0OiAiICsgd2FybmluZy5jb250ZXh0KTsKCQkJfQoJCX0sCgkJX2FsZXJ0OiBmdW5jdGlvbihtZXNzYWdlKSB7CgkJCXZhciBtc2cgPSAialBsYXllciAiICsgdGhpcy52ZXJzaW9uLnNjcmlwdCArICIgOiBpZD0nIiArIHRoaXMuaW50ZXJuYWwuc2VsZi5pZCArIicgOiAiICsgbWVzc2FnZTsKCQkJaWYoIXRoaXMub3B0aW9ucy5jb25zb2xlQWxlcnRzKSB7CgkJCQlhbGVydChtc2cpOwoJCQl9IGVsc2UgaWYod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7CgkJCQl3aW5kb3cuY29uc29sZS5sb2cobXNnKTsKCQkJfQoJCX0sCgkJX2VtdWxhdGVIdG1sQnJpZGdlOiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJLy8gRW11bGF0ZSBtZXRob2RzIG9uIGpQbGF5ZXIncyBET00gZWxlbWVudC4KCQkJJC5lYWNoKCAkLmpQbGF5ZXIuZW11bGF0ZU1ldGhvZHMuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJc2VsZi5pbnRlcm5hbC5kb21Ob2RlW25hbWVdID0gZnVuY3Rpb24oYXJnKSB7CgkJCQkJc2VsZltuYW1lXShhcmcpOwoJCQkJfTsKCgkJCX0pOwoKCQkJLy8gQnViYmxlIGpQbGF5ZXIgZXZlbnRzIHRvIGl0cyBET00gZWxlbWVudC4KCQkJJC5lYWNoKCQualBsYXllci5ldmVudCwgZnVuY3Rpb24oZXZlbnROYW1lLGV2ZW50VHlwZSkgewoJCQkJdmFyIG5hdGl2ZUV2ZW50ID0gdHJ1ZTsKCQkJCSQuZWFjaCggJC5qUGxheWVyLnJlc2VydmVkRXZlbnQuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJCWlmKG5hbWUgPT09IGV2ZW50TmFtZSkgewoJCQkJCQluYXRpdmVFdmVudCA9IGZhbHNlOwoJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJfQoJCQkJfSk7CgkJCQlpZihuYXRpdmVFdmVudCkgewoJCQkJCXNlbGYuZWxlbWVudC5iaW5kKGV2ZW50VHlwZSArICIualBsYXllci5qUGxheWVySHRtbCIsIGZ1bmN0aW9uKCkgeyAvLyBXaXRoIC5qUGxheWVyICYgLmpQbGF5ZXJIdG1sIG5hbWVzcGFjZXMuCgkJCQkJCXNlbGYuX2VtdWxhdGVIdG1sVXBkYXRlKCk7CgkJCQkJCXZhciBkb21FdmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpOwoJCQkJCQlkb21FdmVudC5pbml0RXZlbnQoZXZlbnROYW1lLCBmYWxzZSwgdHJ1ZSk7CgkJCQkJCXNlbGYuaW50ZXJuYWwuZG9tTm9kZS5kaXNwYXRjaEV2ZW50KGRvbUV2ZW50KTsKCQkJCQl9KTsKCQkJCX0KCQkJCS8vIFRoZSBlcnJvciBldmVudCB3b3VsZCByZXF1aXJlIGEgc3BlY2lhbCBjYXNlCgkJCX0pOwoKCQkJLy8gSUU5IGhhcyBhIHJlYWR5U3RhdGUgcHJvcGVydHkgb24gYWxsIGVsZW1lbnRzLiBUaGUgZG9jdW1lbnQgc2hvdWxkIGhhdmUgaXQsIGJ1dCBhbGwgKGV4Y2VwdCBtZWRpYSkgZWxlbWVudHMgaW5oZXJpdCBpdCBpbiBJRTkuIFRoaXMgY29uZmxpY3RzIHdpdGggUG9wY29ybiwgd2hpY2ggcG9sbHMgdGhlIHJlYWR5U3RhdGUuCgkJfSwKCQlfZW11bGF0ZUh0bWxVcGRhdGU6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkkLmVhY2goICQualBsYXllci5lbXVsYXRlU3RhdHVzLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCXNlbGYuaW50ZXJuYWwuZG9tTm9kZVtuYW1lXSA9IHNlbGYuc3RhdHVzW25hbWVdOwoJCQl9KTsKCQkJJC5lYWNoKCAkLmpQbGF5ZXIuZW11bGF0ZU9wdGlvbnMuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJc2VsZi5pbnRlcm5hbC5kb21Ob2RlW25hbWVdID0gc2VsZi5vcHRpb25zW25hbWVdOwoJCQl9KTsKCQl9LAoJCV9kZXN0cm95SHRtbEJyaWRnZTogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCS8vIEJyaWRnZSBldmVudCBoYW5kbGVycyBhcmUgYWxzbyByZW1vdmVkIGJ5IGRlc3Ryb3koKSB0aHJvdWdoIC5qUGxheWVyIG5hbWVzcGFjZS4KCQkJdGhpcy5lbGVtZW50LnVuYmluZCgiLmpQbGF5ZXJIdG1sIik7IC8vIFJlbW92ZSBhbGwgZXZlbnQgaGFuZGxlcnMgY3JlYXRlZCBieSB0aGUgalBsYXllciBicmlkZ2UuIFNvIHlvdSBjYW4gY2hhbmdlIHRoZSBlbXVsYXRlSHRtbCBvcHRpb24uCgoJCQkvLyBSZW1vdmUgdGhlIG1ldGhvZHMgYW5kIHByb3BlcnRpZXMKCQkJdmFyIGVtdWxhdGVkID0gJC5qUGxheWVyLmVtdWxhdGVNZXRob2RzICsgIiAiICsgJC5qUGxheWVyLmVtdWxhdGVTdGF0dXMgKyAiICIgKyAkLmpQbGF5ZXIuZW11bGF0ZU9wdGlvbnM7CgkJCSQuZWFjaCggZW11bGF0ZWQuc3BsaXQoL1xzKy9nKSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJCQkJZGVsZXRlIHNlbGYuaW50ZXJuYWwuZG9tTm9kZVtuYW1lXTsKCQkJfSk7CgkJfQoJfTsKCgkkLmpQbGF5ZXIuZXJyb3IgPSB7CgkJRkxBU0g6ICJlX2ZsYXNoIiwKCQlGTEFTSF9ESVNBQkxFRDogImVfZmxhc2hfZGlzYWJsZWQiLAoJCU5PX1NPTFVUSU9OOiAiZV9ub19zb2x1dGlvbiIsCgkJTk9fU1VQUE9SVDogImVfbm9fc3VwcG9ydCIsCgkJVVJMOiAiZV91cmwiLAoJCVVSTF9OT1RfU0VUOiAiZV91cmxfbm90X3NldCIsCgkJVkVSU0lPTjogImVfdmVyc2lvbiIKCX07CgoJJC5qUGxheWVyLmVycm9yTXNnID0gewoJCUZMQVNIOiAialBsYXllcidzIEZsYXNoIGZhbGxiYWNrIGlzIG5vdCBjb25maWd1cmVkIGNvcnJlY3RseSwgb3IgYSBjb21tYW5kIHdhcyBpc3N1ZWQgYmVmb3JlIHRoZSBqUGxheWVyIFJlYWR5IGV2ZW50LiBEZXRhaWxzOiAiLCAvLyBVc2VkIGluOiBfZmxhc2hFcnJvcigpCgkJRkxBU0hfRElTQUJMRUQ6ICJqUGxheWVyJ3MgRmxhc2ggZmFsbGJhY2sgaGFzIGJlZW4gZGlzYWJsZWQgYnkgdGhlIGJyb3dzZXIgZHVlIHRvIHRoZSBDU1MgcnVsZXMgeW91IGhhdmUgdXNlZC4gRGV0YWlsczogIiwgLy8gVXNlZCBpbjogX2ZsYXNoRXJyb3IoKQoJCU5PX1NPTFVUSU9OOiAiTm8gc29sdXRpb24gY2FuIGJlIGZvdW5kIGJ5IGpQbGF5ZXIgaW4gdGhpcyBicm93c2VyLiBOZWl0aGVyIEhUTUwgbm9yIEZsYXNoIGNhbiBiZSB1c2VkLiIsIC8vIFVzZWQgaW46IF9pbml0KCkKCQlOT19TVVBQT1JUOiAiSXQgaXMgbm90IHBvc3NpYmxlIHRvIHBsYXkgYW55IG1lZGlhIGZvcm1hdCBwcm92aWRlZCBpbiBzZXRNZWRpYSgpIG9uIHRoaXMgYnJvd3NlciB1c2luZyB5b3VyIGN1cnJlbnQgb3B0aW9ucy4iLCAvLyBVc2VkIGluOiBzZXRNZWRpYSgpCgkJVVJMOiAiTWVkaWEgVVJMIGNvdWxkIG5vdCBiZSBsb2FkZWQuIiwgLy8gVXNlZCBpbjogalBsYXllckZsYXNoRXZlbnQoKSBhbmQgX2FkZEh0bWxFdmVudExpc3RlbmVycygpCgkJVVJMX05PVF9TRVQ6ICJBdHRlbXB0IHRvIGlzc3VlIG1lZGlhIHBsYXliYWNrIGNvbW1hbmRzLCB3aGlsZSBubyBtZWRpYSB1cmwgaXMgc2V0LiIsIC8vIFVzZWQgaW46IGxvYWQoKSwgcGxheSgpLCBwYXVzZSgpLCBzdG9wKCkgYW5kIHBsYXlIZWFkKCkKCQlWRVJTSU9OOiAialBsYXllciAiICsgJC5qUGxheWVyLnByb3RvdHlwZS52ZXJzaW9uLnNjcmlwdCArICIgbmVlZHMgSnBsYXllci5zd2YgdmVyc2lvbiAiICsgJC5qUGxheWVyLnByb3RvdHlwZS52ZXJzaW9uLm5lZWRGbGFzaCArICIgYnV0IGZvdW5kICIgLy8gVXNlZCBpbjogalBsYXllclJlYWR5KCkKCX07CgoJJC5qUGxheWVyLmVycm9ySGludCA9IHsKCQlGTEFTSDogIkNoZWNrIHlvdXIgc3dmUGF0aCBvcHRpb24gYW5kIHRoYXQgSnBsYXllci5zd2YgaXMgdGhlcmUuIiwKCQlGTEFTSF9ESVNBQkxFRDogIkNoZWNrIHRoYXQgeW91IGhhdmUgbm90IGRpc3BsYXk6bm9uZTsgdGhlIGpQbGF5ZXIgZW50aXR5IG9yIGFueSBhbmNlc3Rvci4iLAoJCU5PX1NPTFVUSU9OOiAiUmV2aWV3IHRoZSBqUGxheWVyIG9wdGlvbnM6IHN1cHBvcnQgYW5kIHN1cHBsaWVkLiIsCgkJTk9fU1VQUE9SVDogIlZpZGVvIG9yIGF1ZGlvIGZvcm1hdHMgZGVmaW5lZCBpbiB0aGUgc3VwcGxpZWQgb3B0aW9uIGFyZSBtaXNzaW5nLiIsCgkJVVJMOiAiQ2hlY2sgbWVkaWEgVVJMIGlzIHZhbGlkLiIsCgkJVVJMX05PVF9TRVQ6ICJVc2Ugc2V0TWVkaWEoKSB0byBzZXQgdGhlIG1lZGlhIFVSTC4iLAoJCVZFUlNJT046ICJVcGRhdGUgalBsYXllciBmaWxlcy4iCgl9OwoKCSQualBsYXllci53YXJuaW5nID0gewoJCUNTU19TRUxFQ1RPUl9DT1VOVDogImVfY3NzX3NlbGVjdG9yX2NvdW50IiwKCQlDU1NfU0VMRUNUT1JfTUVUSE9EOiAiZV9jc3Nfc2VsZWN0b3JfbWV0aG9kIiwKCQlDU1NfU0VMRUNUT1JfU1RSSU5HOiAiZV9jc3Nfc2VsZWN0b3Jfc3RyaW5nIiwKCQlPUFRJT05fS0VZOiAiZV9vcHRpb25fa2V5IgoJfTsKCgkkLmpQbGF5ZXIud2FybmluZ01zZyA9IHsKCQlDU1NfU0VMRUNUT1JfQ09VTlQ6ICJUaGUgbnVtYmVyIG9mIGNzcyBzZWxlY3RvcnMgZm91bmQgZGlkIG5vdCBlcXVhbCBvbmU6ICIsCgkJQ1NTX1NFTEVDVE9SX01FVEhPRDogIlRoZSBtZXRob2ROYW1lIGdpdmVuIGluIGpQbGF5ZXIoJ2Nzc1NlbGVjdG9yJykgaXMgbm90IGEgdmFsaWQgalBsYXllciBtZXRob2QuIiwKCQlDU1NfU0VMRUNUT1JfU1RSSU5HOiAiVGhlIG1ldGhvZENzc1NlbGVjdG9yIGdpdmVuIGluIGpQbGF5ZXIoJ2Nzc1NlbGVjdG9yJykgaXMgbm90IGEgU3RyaW5nIG9yIGlzIGVtcHR5LiIsCgkJT1BUSU9OX0tFWTogIlRoZSBvcHRpb24gcmVxdWVzdGVkIGluIGpQbGF5ZXIoJ29wdGlvbicpIGlzIHVuZGVmaW5lZC4iCgl9OwoKCSQualBsYXllci53YXJuaW5nSGludCA9IHsKCQlDU1NfU0VMRUNUT1JfQ09VTlQ6ICJDaGVjayB5b3VyIGNzcyBzZWxlY3RvciBhbmQgdGhlIGFuY2VzdG9yLiIsCgkJQ1NTX1NFTEVDVE9SX01FVEhPRDogIkNoZWNrIHlvdXIgbWV0aG9kIG5hbWUuIiwKCQlDU1NfU0VMRUNUT1JfU1RSSU5HOiAiQ2hlY2sgeW91ciBjc3Mgc2VsZWN0b3IgaXMgYSBzdHJpbmcuIiwKCQlPUFRJT05fS0VZOiAiQ2hlY2sgeW91ciBvcHRpb24gbmFtZS4iCgl9Owp9KSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/jquery.jplayer.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGpQbGF5ZXIgMi45LjIgZm9yIGpRdWVyeSB+IChjKSAyMDA5LTIwMTQgSGFwcHl3b3JtIEx0ZCB+IE1JVCBMaWNlbnNlICovCiFmdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYik6Yigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/cmVxdWlyZSgianF1ZXJ5Iik6YS5qUXVlcnk/YS5qUXVlcnk6YS5aZXB0byl9KHRoaXMsZnVuY3Rpb24oYSxiKXthLmZuLmpQbGF5ZXI9ZnVuY3Rpb24oYyl7dmFyIGQ9ImpQbGF5ZXIiLGU9InN0cmluZyI9PXR5cGVvZiBjLGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGc9dGhpcztyZXR1cm4gYz0hZSYmZi5sZW5ndGg/YS5leHRlbmQuYXBwbHkobnVsbCxbITAsY10uY29uY2F0KGYpKTpjLGUmJiJfIj09PWMuY2hhckF0KDApP2c6KHRoaXMuZWFjaChlP2Z1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKS5kYXRhKGQpLGg9ZSYmYS5pc0Z1bmN0aW9uKGVbY10pP2VbY10uYXBwbHkoZSxmKTplO3JldHVybiBoIT09ZSYmaCE9PWI/KGc9aCwhMSk6dm9pZCAwfTpmdW5jdGlvbigpe3ZhciBiPWEodGhpcykuZGF0YShkKTtiP2Iub3B0aW9uKGN8fHt9KTphKHRoaXMpLmRhdGEoZCxuZXcgYS5qUGxheWVyKGMsdGhpcykpfSksZyl9LGEualBsYXllcj1mdW5jdGlvbihiLGMpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMuZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnMsYik7dmFyIGQ9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgicmVtb3ZlLmpQbGF5ZXIiLGZ1bmN0aW9uKCl7ZC5kZXN0cm95KCl9KSx0aGlzLl9pbml0KCl9fSwiZnVuY3Rpb24iIT10eXBlb2YgYS5mbi5zdG9wJiYoYS5mbi5zdG9wPWZ1bmN0aW9uKCl7fSksYS5qUGxheWVyLmVtdWxhdGVNZXRob2RzPSJsb2FkIHBsYXkgcGF1c2UiLGEualBsYXllci5lbXVsYXRlU3RhdHVzPSJzcmMgcmVhZHlTdGF0ZSBuZXR3b3JrU3RhdGUgY3VycmVudFRpbWUgZHVyYXRpb24gcGF1c2VkIGVuZGVkIHBsYXliYWNrUmF0ZSIsYS5qUGxheWVyLmVtdWxhdGVPcHRpb25zPSJtdXRlZCB2b2x1bWUiLGEualBsYXllci5yZXNlcnZlZEV2ZW50PSJyZWFkeSBmbGFzaHJlc2V0IHJlc2l6ZSByZXBlYXQgZXJyb3Igd2FybmluZyIsYS5qUGxheWVyLmV2ZW50PXt9LGEuZWFjaChbInJlYWR5Iiwic2V0bWVkaWEiLCJmbGFzaHJlc2V0IiwicmVzaXplIiwicmVwZWF0IiwiY2xpY2siLCJlcnJvciIsIndhcm5pbmciLCJsb2Fkc3RhcnQiLCJwcm9ncmVzcyIsInN1c3BlbmQiLCJhYm9ydCIsImVtcHRpZWQiLCJzdGFsbGVkIiwicGxheSIsInBhdXNlIiwibG9hZGVkbWV0YWRhdGEiLCJsb2FkZWRkYXRhIiwid2FpdGluZyIsInBsYXlpbmciLCJjYW5wbGF5IiwiY2FucGxheXRocm91Z2giLCJzZWVraW5nIiwic2Vla2VkIiwidGltZXVwZGF0ZSIsImVuZGVkIiwicmF0ZWNoYW5nZSIsImR1cmF0aW9uY2hhbmdlIiwidm9sdW1lY2hhbmdlIl0sZnVuY3Rpb24oKXthLmpQbGF5ZXIuZXZlbnRbdGhpc109ImpQbGF5ZXJfIit0aGlzfSksYS5qUGxheWVyLmh0bWxFdmVudD1bImxvYWRzdGFydCIsImFib3J0IiwiZW1wdGllZCIsInN0YWxsZWQiLCJsb2FkZWRtZXRhZGF0YSIsImNhbnBsYXkiLCJjYW5wbGF5dGhyb3VnaCJdLGEualBsYXllci5wYXVzZT1mdW5jdGlvbigpe2EualBsYXllci5wcm90b3R5cGUuZGVzdHJveVJlbW92ZWQoKSxhLmVhY2goYS5qUGxheWVyLnByb3RvdHlwZS5pbnN0YW5jZXMsZnVuY3Rpb24oYSxiKXtiLmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc3JjU2V0JiZiLmpQbGF5ZXIoInBhdXNlIil9KX0sYS5qUGxheWVyLnRpbWVGb3JtYXQ9e3Nob3dIb3VyOiExLHNob3dNaW46ITAsc2hvd1NlYzohMCxwYWRIb3VyOiExLHBhZE1pbjohMCxwYWRTZWM6ITAsc2VwSG91cjoiOiIsc2VwTWluOiI6IixzZXBTZWM6IiJ9O3ZhciBjPWZ1bmN0aW9uKCl7dGhpcy5pbml0KCl9O2MucHJvdG90eXBlPXtpbml0OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zPXt0aW1lRm9ybWF0OmEualBsYXllci50aW1lRm9ybWF0fX0sdGltZTpmdW5jdGlvbihhKXthPWEmJiJudW1iZXIiPT10eXBlb2YgYT9hOjA7dmFyIGI9bmV3IERhdGUoMWUzKmEpLGM9Yi5nZXRVVENIb3VycygpLGQ9dGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd0hvdXI/Yi5nZXRVVENNaW51dGVzKCk6Yi5nZXRVVENNaW51dGVzKCkrNjAqYyxlPXRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dNaW4/Yi5nZXRVVENTZWNvbmRzKCk6Yi5nZXRVVENTZWNvbmRzKCkrNjAqZCxmPXRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZEhvdXImJjEwPmM/IjAiK2M6YyxnPXRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZE1pbiYmMTA+ZD8iMCIrZDpkLGg9dGhpcy5vcHRpb25zLnRpbWVGb3JtYXQucGFkU2VjJiYxMD5lPyIwIitlOmUsaT0iIjtyZXR1cm4gaSs9dGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd0hvdXI/Zit0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zZXBIb3VyOiIiLGkrPXRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dNaW4/Zyt0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zZXBNaW46IiIsaSs9dGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd1NlYz9oK3RoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNlcFNlYzoiIn19O3ZhciBkPW5ldyBjO2EualBsYXllci5jb252ZXJ0VGltZT1mdW5jdGlvbihhKXtyZXR1cm4gZC50aW1lKGEpfSxhLmpQbGF5ZXIudWFCcm93c2VyPWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKSxjPS8od2Via2l0KVsgXC9dKFtcdy5dKykvLGQ9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvLGU9Lyhtc2llKSAoW1x3Ll0rKS8sZj0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLGc9Yy5leGVjKGIpfHxkLmV4ZWMoYil8fGUuZXhlYyhiKXx8Yi5pbmRleE9mKCJjb21wYXRpYmxlIik8MCYmZi5leGVjKGIpfHxbXTtyZXR1cm57YnJvd3NlcjpnWzFdfHwiIix2ZXJzaW9uOmdbMl18fCIwIn19LGEualBsYXllci51YVBsYXRmb3JtPWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKSxjPS8oaXBhZHxpcGhvbmV8aXBvZHxhbmRyb2lkfGJsYWNrYmVycnl8cGxheWJvb2t8d2luZG93cyBjZXx3ZWJvcykvLGQ9LyhpcGFkfHBsYXlib29rKS8sZT0vKGFuZHJvaWQpLyxmPS8obW9iaWxlKS8sZz1jLmV4ZWMoYil8fFtdLGg9ZC5leGVjKGIpfHwhZi5leGVjKGIpJiZlLmV4ZWMoYil8fFtdO3JldHVybiBnWzFdJiYoZ1sxXT1nWzFdLnJlcGxhY2UoL1xzL2csIl8iKSkse3BsYXRmb3JtOmdbMV18fCIiLHRhYmxldDpoWzFdfHwiIn19LGEualBsYXllci5icm93c2VyPXt9LGEualBsYXllci5wbGF0Zm9ybT17fTt2YXIgZT1hLmpQbGF5ZXIudWFCcm93c2VyKG5hdmlnYXRvci51c2VyQWdlbnQpO2UuYnJvd3NlciYmKGEualBsYXllci5icm93c2VyW2UuYnJvd3Nlcl09ITAsYS5qUGxheWVyLmJyb3dzZXIudmVyc2lvbj1lLnZlcnNpb24pO3ZhciBmPWEualBsYXllci51YVBsYXRmb3JtKG5hdmlnYXRvci51c2VyQWdlbnQpO2YucGxhdGZvcm0mJihhLmpQbGF5ZXIucGxhdGZvcm1bZi5wbGF0Zm9ybV09ITAsYS5qUGxheWVyLnBsYXRmb3JtLm1vYmlsZT0hZi50YWJsZXQsYS5qUGxheWVyLnBsYXRmb3JtLnRhYmxldD0hIWYudGFibGV0KSxhLmpQbGF5ZXIuZ2V0RG9jTW9kZT1mdW5jdGlvbigpe3ZhciBiO3JldHVybiBhLmpQbGF5ZXIuYnJvd3Nlci5tc2llJiYoZG9jdW1lbnQuZG9jdW1lbnRNb2RlP2I9ZG9jdW1lbnQuZG9jdW1lbnRNb2RlOihiPTUsZG9jdW1lbnQuY29tcGF0TW9kZSYmIkNTUzFDb21wYXQiPT09ZG9jdW1lbnQuY29tcGF0TW9kZSYmKGI9NykpKSxifSxhLmpQbGF5ZXIuYnJvd3Nlci5kb2N1bWVudE1vZGU9YS5qUGxheWVyLmdldERvY01vZGUoKSxhLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXM9e2luaXQ6ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZD1kb2N1bWVudCxlPWQuY3JlYXRlRWxlbWVudCgidmlkZW8iKSxmPXt3M2M6WyJmdWxsc2NyZWVuRW5hYmxlZCIsImZ1bGxzY3JlZW5FbGVtZW50IiwicmVxdWVzdEZ1bGxzY3JlZW4iLCJleGl0RnVsbHNjcmVlbiIsImZ1bGxzY3JlZW5jaGFuZ2UiLCJmdWxsc2NyZWVuZXJyb3IiXSxtb3o6WyJtb3pGdWxsU2NyZWVuRW5hYmxlZCIsIm1vekZ1bGxTY3JlZW5FbGVtZW50IiwibW96UmVxdWVzdEZ1bGxTY3JlZW4iLCJtb3pDYW5jZWxGdWxsU2NyZWVuIiwibW96ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5lcnJvciJdLHdlYmtpdDpbIiIsIndlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudCIsIndlYmtpdFJlcXVlc3RGdWxsU2NyZWVuIiwid2Via2l0Q2FuY2VsRnVsbFNjcmVlbiIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCIiXSx3ZWJraXRWaWRlbzpbIndlYmtpdFN1cHBvcnRzRnVsbHNjcmVlbiIsIndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwid2Via2l0RW50ZXJGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCIiLCIiXSxtczpbIiIsIm1zRnVsbHNjcmVlbkVsZW1lbnQiLCJtc1JlcXVlc3RGdWxsc2NyZWVuIiwibXNFeGl0RnVsbHNjcmVlbiIsIk1TRnVsbHNjcmVlbkNoYW5nZSIsIk1TRnVsbHNjcmVlbkVycm9yIl19LGc9WyJ3M2MiLCJtb3oiLCJ3ZWJraXQiLCJ3ZWJraXRWaWRlbyIsIm1zIl07Zm9yKHRoaXMuZnVsbHNjcmVlbj1hPXtzdXBwb3J0Ont3M2M6ISFkW2YudzNjWzBdXSxtb3o6ISFkW2YubW96WzBdXSx3ZWJraXQ6ImZ1bmN0aW9uIj09dHlwZW9mIGRbZi53ZWJraXRbM11dLHdlYmtpdFZpZGVvOiJmdW5jdGlvbiI9PXR5cGVvZiBlW2Yud2Via2l0VmlkZW9bMl1dLG1zOiJmdW5jdGlvbiI9PXR5cGVvZiBlW2YubXNbMl1dfSx1c2VkOnt9fSxiPTAsYz1nLmxlbmd0aDtjPmI7YisrKXt2YXIgaD1nW2JdO2lmKGEuc3VwcG9ydFtoXSl7YS5zcGVjPWgsYS51c2VkW2hdPSEwO2JyZWFrfX1pZihhLnNwZWMpe3ZhciBpPWZbYS5zcGVjXTthLmFwaT17ZnVsbHNjcmVlbkVuYWJsZWQ6ITAsZnVsbHNjcmVlbkVsZW1lbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9YT9hOmQsYVtpWzFdXX0scmVxdWVzdEZ1bGxzY3JlZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGFbaVsyXV0oKX0sZXhpdEZ1bGxzY3JlZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGE9YT9hOmQsYVtpWzNdXSgpfX0sYS5ldmVudD17ZnVsbHNjcmVlbmNoYW5nZTppWzRdLGZ1bGxzY3JlZW5lcnJvcjppWzVdfX1lbHNlIGEuYXBpPXtmdWxsc2NyZWVuRW5hYmxlZDohMSxmdWxsc2NyZWVuRWxlbWVudDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxyZXF1ZXN0RnVsbHNjcmVlbjpmdW5jdGlvbigpe30sZXhpdEZ1bGxzY3JlZW46ZnVuY3Rpb24oKXt9fSxhLmV2ZW50PXt9fX0sYS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmluaXQoKSxhLmpQbGF5ZXIuZm9jdXM9bnVsbCxhLmpQbGF5ZXIua2V5SWdub3JlRWxlbWVudE5hbWVzPSJBIElOUFVUIFRFWFRBUkVBIFNFTEVDVCBCVVRUT04iO3ZhciBnPWZ1bmN0aW9uKGIpe3ZhciBjLGQ9YS5qUGxheWVyLmZvY3VzO2QmJihhLmVhY2goYS5qUGxheWVyLmtleUlnbm9yZUVsZW1lbnROYW1lcy5zcGxpdCgvXHMrL2cpLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIGIudGFyZ2V0Lm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT1kLnRvVXBwZXJDYXNlKCk/KGM9ITAsITEpOnZvaWQgMH0pLGN8fGEuZWFjaChkLm9wdGlvbnMua2V5QmluZGluZ3MsZnVuY3Rpb24oYyxlKXtyZXR1cm4gZSYmYS5pc0Z1bmN0aW9uKGUuZm4pJiYoIm51bWJlciI9PXR5cGVvZiBlLmtleSYmYi53aGljaD09PWUua2V5fHwic3RyaW5nIj09dHlwZW9mIGUua2V5JiZiLmtleT09PWUua2V5KT8oYi5wcmV2ZW50RGVmYXVsdCgpLGUuZm4oZCksITEpOnZvaWQgMH0pKX07YS5qUGxheWVyLmtleXM9ZnVuY3Rpb24oYil7dmFyIGM9ImtleWRvd24ualBsYXllciI7YShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnVuYmluZChjKSxiJiZhKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuYmluZChjLGcpfSxhLmpQbGF5ZXIua2V5cyghMCksYS5qUGxheWVyLnByb3RvdHlwZT17Y291bnQ6MCx2ZXJzaW9uOntzY3JpcHQ6IjIuOS4yIixuZWVkRmxhc2g6IjIuOS4wIixmbGFzaDoidW5rbm93biJ9LG9wdGlvbnM6e3N3ZlBhdGg6ImpzIixzb2x1dGlvbjoiaHRtbCwgZmxhc2giLHN1cHBsaWVkOiJtcDMiLGF1cm9yYUZvcm1hdHM6IndhdiIscHJlbG9hZDoibWV0YWRhdGEiLHZvbHVtZTouOCxtdXRlZDohMSxyZW1haW5pbmdEdXJhdGlvbjohMSx0b2dnbGVEdXJhdGlvbjohMSxjYXB0dXJlRHVyYXRpb246ITAscGxheWJhY2tSYXRlOjEsZGVmYXVsdFBsYXliYWNrUmF0ZToxLG1pblBsYXliYWNrUmF0ZTouNSxtYXhQbGF5YmFja1JhdGU6NCx3bW9kZToib3BhcXVlIixiYWNrZ3JvdW5kQ29sb3I6IiMwMDAwMDAiLGNzc1NlbGVjdG9yQW5jZXN0b3I6IiNqcF9jb250YWluZXJfMSIsY3NzU2VsZWN0b3I6e3ZpZGVvUGxheToiLmpwLXZpZGVvLXBsYXkiLHBsYXk6Ii5qcC1wbGF5IixwYXVzZToiLmpwLXBhdXNlIixzdG9wOiIuanAtc3RvcCIsc2Vla0JhcjoiLmpwLXNlZWstYmFyIixwbGF5QmFyOiIuanAtcGxheS1iYXIiLG11dGU6Ii5qcC1tdXRlIix1bm11dGU6Ii5qcC11bm11dGUiLHZvbHVtZUJhcjoiLmpwLXZvbHVtZS1iYXIiLHZvbHVtZUJhclZhbHVlOiIuanAtdm9sdW1lLWJhci12YWx1ZSIsdm9sdW1lTWF4OiIuanAtdm9sdW1lLW1heCIscGxheWJhY2tSYXRlQmFyOiIuanAtcGxheWJhY2stcmF0ZS1iYXIiLHBsYXliYWNrUmF0ZUJhclZhbHVlOiIuanAtcGxheWJhY2stcmF0ZS1iYXItdmFsdWUiLGN1cnJlbnRUaW1lOiIuanAtY3VycmVudC10aW1lIixkdXJhdGlvbjoiLmpwLWR1cmF0aW9uIix0aXRsZToiLmpwLXRpdGxlIixmdWxsU2NyZWVuOiIuanAtZnVsbC1zY3JlZW4iLHJlc3RvcmVTY3JlZW46Ii5qcC1yZXN0b3JlLXNjcmVlbiIscmVwZWF0OiIuanAtcmVwZWF0IixyZXBlYXRPZmY6Ii5qcC1yZXBlYXQtb2ZmIixndWk6Ii5qcC1ndWkiLG5vU29sdXRpb246Ii5qcC1uby1zb2x1dGlvbiJ9LHN0YXRlQ2xhc3M6e3BsYXlpbmc6ImpwLXN0YXRlLXBsYXlpbmciLHNlZWtpbmc6ImpwLXN0YXRlLXNlZWtpbmciLG11dGVkOiJqcC1zdGF0ZS1tdXRlZCIsbG9vcGVkOiJqcC1zdGF0ZS1sb29wZWQiLGZ1bGxTY3JlZW46ImpwLXN0YXRlLWZ1bGwtc2NyZWVuIixub1ZvbHVtZToianAtc3RhdGUtbm8tdm9sdW1lIn0sdXNlU3RhdGVDbGFzc1NraW46ITEsYXV0b0JsdXI6ITAsc21vb3RoUGxheUJhcjohMSxmdWxsU2NyZWVuOiExLGZ1bGxXaW5kb3c6ITEsYXV0b2hpZGU6e3Jlc3RvcmVkOiExLGZ1bGw6ITAsZmFkZUluOjIwMCxmYWRlT3V0OjYwMCxob2xkOjFlM30sbG9vcDohMSxyZXBlYXQ6ZnVuY3Rpb24oYil7Yi5qUGxheWVyLm9wdGlvbnMubG9vcD9hKHRoaXMpLnVuYmluZCgiLmpQbGF5ZXJSZXBlYXQiKS5iaW5kKGEualBsYXllci5ldmVudC5lbmRlZCsiLmpQbGF5ZXIualBsYXllclJlcGVhdCIsZnVuY3Rpb24oKXthKHRoaXMpLmpQbGF5ZXIoInBsYXkiKX0pOmEodGhpcykudW5iaW5kKCIualBsYXllclJlcGVhdCIpfSxuYXRpdmVWaWRlb0NvbnRyb2xzOnt9LG5vRnVsbFdpbmRvdzp7bXNpZTovbXNpZSBbMC02XVwuLyxpcGFkOi9pcGFkLio/b3MgWzAtNF1cLi8saXBob25lOi9pcGhvbmUvLGlwb2Q6L2lwb2QvLGFuZHJvaWRfcGFkOi9hbmRyb2lkIFswLTNdXC4oPyEuKj9tb2JpbGUpLyxhbmRyb2lkX3Bob25lOi8oPz0uKmFuZHJvaWQpKD8hLipjaHJvbWUpKD89Liptb2JpbGUpLyxibGFja2JlcnJ5Oi9ibGFja2JlcnJ5Lyx3aW5kb3dzX2NlOi93aW5kb3dzIGNlLyxpZW1vYmlsZTovaWVtb2JpbGUvLHdlYm9zOi93ZWJvcy99LG5vVm9sdW1lOntpcGFkOi9pcGFkLyxpcGhvbmU6L2lwaG9uZS8saXBvZDovaXBvZC8sYW5kcm9pZF9wYWQ6L2FuZHJvaWQoPyEuKj9tb2JpbGUpLyxhbmRyb2lkX3Bob25lOi9hbmRyb2lkLio/bW9iaWxlLyxibGFja2JlcnJ5Oi9ibGFja2JlcnJ5Lyx3aW5kb3dzX2NlOi93aW5kb3dzIGNlLyxpZW1vYmlsZTovaWVtb2JpbGUvLHdlYm9zOi93ZWJvcy8scGxheWJvb2s6L3BsYXlib29rL30sdGltZUZvcm1hdDp7fSxrZXlFbmFibGVkOiExLGF1ZGlvRnVsbFNjcmVlbjohMSxrZXlCaW5kaW5nczp7cGxheTp7a2V5OjgwLGZuOmZ1bmN0aW9uKGEpe2Euc3RhdHVzLnBhdXNlZD9hLnBsYXkoKTphLnBhdXNlKCl9fSxmdWxsU2NyZWVuOntrZXk6NzAsZm46ZnVuY3Rpb24oYSl7KGEuc3RhdHVzLnZpZGVvfHxhLm9wdGlvbnMuYXVkaW9GdWxsU2NyZWVuKSYmYS5fc2V0T3B0aW9uKCJmdWxsU2NyZWVuIiwhYS5vcHRpb25zLmZ1bGxTY3JlZW4pfX0sbXV0ZWQ6e2tleTo3NyxmbjpmdW5jdGlvbihhKXthLl9tdXRlZCghYS5vcHRpb25zLm11dGVkKX19LHZvbHVtZVVwOntrZXk6MTkwLGZuOmZ1bmN0aW9uKGEpe2Eudm9sdW1lKGEub3B0aW9ucy52b2x1bWUrLjEpfX0sdm9sdW1lRG93bjp7a2V5OjE4OCxmbjpmdW5jdGlvbihhKXthLnZvbHVtZShhLm9wdGlvbnMudm9sdW1lLS4xKX19LGxvb3A6e2tleTo3NixmbjpmdW5jdGlvbihhKXthLl9sb29wKCFhLm9wdGlvbnMubG9vcCl9fX0sdmVydGljYWxWb2x1bWU6ITEsdmVydGljYWxQbGF5YmFja1JhdGU6ITEsZ2xvYmFsVm9sdW1lOiExLGlkUHJlZml4OiJqcCIsbm9Db25mbGljdDoialF1ZXJ5IixlbXVsYXRlSHRtbDohMSxjb25zb2xlQWxlcnRzOiEwLGVycm9yQWxlcnRzOiExLHdhcm5pbmdBbGVydHM6ITF9LG9wdGlvbnNBdWRpbzp7c2l6ZTp7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgiLGNzc0NsYXNzOiIifSxzaXplRnVsbDp7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgiLGNzc0NsYXNzOiIifX0sb3B0aW9uc1ZpZGVvOntzaXplOnt3aWR0aDoiNDgwcHgiLGhlaWdodDoiMjcwcHgiLGNzc0NsYXNzOiJqcC12aWRlby0yNzBwIn0sc2l6ZUZ1bGw6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGNzc0NsYXNzOiJqcC12aWRlby1mdWxsIn19LGluc3RhbmNlczp7fSxzdGF0dXM6e3NyYzoiIixtZWRpYTp7fSxwYXVzZWQ6ITAsZm9ybWF0Ont9LGZvcm1hdFR5cGU6IiIsd2FpdEZvclBsYXk6ITAsd2FpdEZvckxvYWQ6ITAsc3JjU2V0OiExLHZpZGVvOiExLHNlZWtQZXJjZW50OjAsY3VycmVudFBlcmNlbnRSZWxhdGl2ZTowLGN1cnJlbnRQZXJjZW50QWJzb2x1dGU6MCxjdXJyZW50VGltZTowLGR1cmF0aW9uOjAscmVtYWluaW5nOjAsdmlkZW9XaWR0aDowLHZpZGVvSGVpZ2h0OjAscmVhZHlTdGF0ZTowLG5ldHdvcmtTdGF0ZTowLHBsYXliYWNrUmF0ZToxLGVuZGVkOjB9LGludGVybmFsOntyZWFkeTohMX0sc29sdXRpb246e2h0bWw6ITAsYXVyb3JhOiEwLGZsYXNoOiEwfSxmb3JtYXQ6e21wMzp7Y29kZWM6ImF1ZGlvL21wZWciLGZsYXNoQ2FuUGxheTohMCxtZWRpYToiYXVkaW8ifSxtNGE6e2NvZGVjOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LG0zdThhOntjb2RlYzonYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0ibXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiExLG1lZGlhOiJhdWRpbyJ9LG0zdWE6e2NvZGVjOiJhdWRpby9tcGVndXJsIixmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sb2dhOntjb2RlYzonYXVkaW8vb2dnOyBjb2RlY3M9InZvcmJpcywgb3B1cyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToiYXVkaW8ifSxmbGFjOntjb2RlYzoiYXVkaW8veC1mbGFjIixmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sd2F2Ontjb2RlYzonYXVkaW8vd2F2OyBjb2RlY3M9IjEiJyxmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sd2VibWE6e2NvZGVjOidhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJpcyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToiYXVkaW8ifSxmbGE6e2NvZGVjOiJhdWRpby94LWZsdiIsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LHJ0bXBhOntjb2RlYzonYXVkaW8vcnRtcDsgY29kZWNzPSJydG1wIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LG00djp7Y29kZWM6J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSwgbXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJ2aWRlbyJ9LG0zdTh2Ontjb2RlYzonYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0iYXZjMS40MkUwMUUsIG1wNGEuNDAuMiInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToidmlkZW8ifSxtM3V2Ontjb2RlYzoiYXVkaW8vbXBlZ3VybCIsZmxhc2hDYW5QbGF5OiExLG1lZGlhOiJ2aWRlbyJ9LG9ndjp7Y29kZWM6J3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEsIHZvcmJpcyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToidmlkZW8ifSx3ZWJtdjp7Y29kZWM6J3ZpZGVvL3dlYm07IGNvZGVjcz0idm9yYmlzLCB2cDgiJyxmbGFzaENhblBsYXk6ITEsbWVkaWE6InZpZGVvIn0sZmx2Ontjb2RlYzoidmlkZW8veC1mbHYiLGZsYXNoQ2FuUGxheTohMCxtZWRpYToidmlkZW8ifSxydG1wdjp7Y29kZWM6J3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLGZsYXNoQ2FuUGxheTohMCxtZWRpYToidmlkZW8ifX0sX2luaXQ6ZnVuY3Rpb24oKXt2YXIgYz10aGlzO2lmKHRoaXMuZWxlbWVudC5lbXB0eSgpLHRoaXMuc3RhdHVzPWEuZXh0ZW5kKHt9LHRoaXMuc3RhdHVzKSx0aGlzLmludGVybmFsPWEuZXh0ZW5kKHt9LHRoaXMuaW50ZXJuYWwpLHRoaXMub3B0aW9ucy50aW1lRm9ybWF0PWEuZXh0ZW5kKHt9LGEualBsYXllci50aW1lRm9ybWF0LHRoaXMub3B0aW9ucy50aW1lRm9ybWF0KSx0aGlzLmludGVybmFsLmNtZHNJZ25vcmVkPWEualBsYXllci5wbGF0Zm9ybS5pcGFkfHxhLmpQbGF5ZXIucGxhdGZvcm0uaXBob25lfHxhLmpQbGF5ZXIucGxhdGZvcm0uaXBvZCx0aGlzLmludGVybmFsLmRvbU5vZGU9dGhpcy5lbGVtZW50LmdldCgwKSx0aGlzLm9wdGlvbnMua2V5RW5hYmxlZCYmIWEualBsYXllci5mb2N1cyYmKGEualBsYXllci5mb2N1cz10aGlzKSx0aGlzLmFuZHJvaWRGaXg9e3NldE1lZGlhOiExLHBsYXk6ITEscGF1c2U6ITEsdGltZTowLzB9LGEualBsYXllci5wbGF0Zm9ybS5hbmRyb2lkJiYodGhpcy5vcHRpb25zLnByZWxvYWQ9ImF1dG8iIT09dGhpcy5vcHRpb25zLnByZWxvYWQ/Im1ldGFkYXRhIjoiYXV0byIpLHRoaXMuZm9ybWF0cz1bXSx0aGlzLnNvbHV0aW9ucz1bXSx0aGlzLnJlcXVpcmU9e30sdGhpcy5odG1sRWxlbWVudD17fSx0aGlzLmh0bWw9e30sdGhpcy5odG1sLmF1ZGlvPXt9LHRoaXMuaHRtbC52aWRlbz17fSx0aGlzLmF1cm9yYT17fSx0aGlzLmF1cm9yYS5mb3JtYXRzPVtdLHRoaXMuYXVyb3JhLnByb3BlcnRpZXM9W10sdGhpcy5mbGFzaD17fSx0aGlzLmNzcz17fSx0aGlzLmNzcy5jcz17fSx0aGlzLmNzcy5qcT17fSx0aGlzLmFuY2VzdG9ySnE9W10sdGhpcy5vcHRpb25zLnZvbHVtZT10aGlzLl9saW1pdFZhbHVlKHRoaXMub3B0aW9ucy52b2x1bWUsMCwxKSxhLmVhY2godGhpcy5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSxmdW5jdGlvbihiLGQpe3ZhciBlPWQucmVwbGFjZSgvXlxzK3xccyskL2csIiIpO2lmKGMuZm9ybWF0W2VdKXt2YXIgZj0hMTthLmVhY2goYy5mb3JtYXRzLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGU9PT1iPyhmPSEwLCExKTp2b2lkIDB9KSxmfHxjLmZvcm1hdHMucHVzaChlKX19KSxhLmVhY2godGhpcy5vcHRpb25zLnNvbHV0aW9uLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSxmdW5jdGlvbihiLGQpe3ZhciBlPWQucmVwbGFjZSgvXlxzK3xccyskL2csIiIpO2lmKGMuc29sdXRpb25bZV0pe3ZhciBmPSExO2EuZWFjaChjLnNvbHV0aW9ucyxmdW5jdGlvbihhLGIpe3JldHVybiBlPT09Yj8oZj0hMCwhMSk6dm9pZCAwfSksZnx8Yy5zb2x1dGlvbnMucHVzaChlKX19KSxhLmVhY2godGhpcy5vcHRpb25zLmF1cm9yYUZvcm1hdHMudG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLGZ1bmN0aW9uKGIsZCl7dmFyIGU9ZC5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIik7aWYoYy5mb3JtYXRbZV0pe3ZhciBmPSExO2EuZWFjaChjLmF1cm9yYS5mb3JtYXRzLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGU9PT1iPyhmPSEwLCExKTp2b2lkIDB9KSxmfHxjLmF1cm9yYS5mb3JtYXRzLnB1c2goZSl9fSksdGhpcy5pbnRlcm5hbC5pbnN0YW5jZT0ianBfIit0aGlzLmNvdW50LHRoaXMuaW5zdGFuY2VzW3RoaXMuaW50ZXJuYWwuaW5zdGFuY2VdPXRoaXMuZWxlbWVudCx0aGlzLmVsZW1lbnQuYXR0cigiaWQiKXx8dGhpcy5lbGVtZW50LmF0dHIoImlkIix0aGlzLm9wdGlvbnMuaWRQcmVmaXgrIl9qcGxheWVyXyIrdGhpcy5jb3VudCksdGhpcy5pbnRlcm5hbC5zZWxmPWEuZXh0ZW5kKHt9LHtpZDp0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSxqcTp0aGlzLmVsZW1lbnR9KSx0aGlzLmludGVybmFsLmF1ZGlvPWEuZXh0ZW5kKHt9LHtpZDp0aGlzLm9wdGlvbnMuaWRQcmVmaXgrIl9hdWRpb18iK3RoaXMuY291bnQsanE6Yn0pLHRoaXMuaW50ZXJuYWwudmlkZW89YS5leHRlbmQoe30se2lkOnRoaXMub3B0aW9ucy5pZFByZWZpeCsiX3ZpZGVvXyIrdGhpcy5jb3VudCxqcTpifSksdGhpcy5pbnRlcm5hbC5mbGFzaD1hLmV4dGVuZCh7fSx7aWQ6dGhpcy5vcHRpb25zLmlkUHJlZml4KyJfZmxhc2hfIit0aGlzLmNvdW50LGpxOmIsc3dmOnRoaXMub3B0aW9ucy5zd2ZQYXRoKygiLnN3ZiIhPT10aGlzLm9wdGlvbnMuc3dmUGF0aC50b0xvd2VyQ2FzZSgpLnNsaWNlKC00KT8odGhpcy5vcHRpb25zLnN3ZlBhdGgmJiIvIiE9PXRoaXMub3B0aW9ucy5zd2ZQYXRoLnNsaWNlKC0xKT8iLyI6IiIpKyJqcXVlcnkuanBsYXllci5zd2YiOiIiKX0pLHRoaXMuaW50ZXJuYWwucG9zdGVyPWEuZXh0ZW5kKHt9LHtpZDp0aGlzLm9wdGlvbnMuaWRQcmVmaXgrIl9wb3N0ZXJfIit0aGlzLmNvdW50LGpxOmJ9KSxhLmVhY2goYS5qUGxheWVyLmV2ZW50LGZ1bmN0aW9uKGEsZCl7Yy5vcHRpb25zW2FdIT09YiYmKGMuZWxlbWVudC5iaW5kKGQrIi5qUGxheWVyIixjLm9wdGlvbnNbYV0pLGMub3B0aW9uc1thXT1iKX0pLHRoaXMucmVxdWlyZS5hdWRpbz0hMSx0aGlzLnJlcXVpcmUudmlkZW89ITEsYS5lYWNoKHRoaXMuZm9ybWF0cyxmdW5jdGlvbihhLGIpe2MucmVxdWlyZVtjLmZvcm1hdFtiXS5tZWRpYV09ITB9KSx0aGlzLm9wdGlvbnM9dGhpcy5yZXF1aXJlLnZpZGVvP2EuZXh0ZW5kKCEwLHt9LHRoaXMub3B0aW9uc1ZpZGVvLHRoaXMub3B0aW9ucyk6YS5leHRlbmQoITAse30sdGhpcy5vcHRpb25zQXVkaW8sdGhpcy5vcHRpb25zKSx0aGlzLl9zZXRTaXplKCksdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scz10aGlzLl91YUJsb2NrbGlzdCh0aGlzLm9wdGlvbnMubmF0aXZlVmlkZW9Db250cm9scyksdGhpcy5zdGF0dXMubm9GdWxsV2luZG93PXRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpLHRoaXMuc3RhdHVzLm5vVm9sdW1lPXRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub1ZvbHVtZSksYS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4uYXBpLmZ1bGxzY3JlZW5FbmFibGVkJiZ0aGlzLl9mdWxsc2NyZWVuQWRkRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLl9yZXN0cmljdE5hdGl2ZVZpZGVvQ29udHJvbHMoKSx0aGlzLmh0bWxFbGVtZW50LnBvc3Rlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSx0aGlzLmh0bWxFbGVtZW50LnBvc3Rlci5pZD10aGlzLmludGVybmFsLnBvc3Rlci5pZCx0aGlzLmh0bWxFbGVtZW50LnBvc3Rlci5vbmxvYWQ9ZnVuY3Rpb24oKXsoIWMuc3RhdHVzLnZpZGVvfHxjLnN0YXR1cy53YWl0Rm9yUGxheSkmJmMuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKX0sdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLmh0bWxFbGVtZW50LnBvc3RlciksdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanE9YSgiIyIrdGhpcy5pbnRlcm5hbC5wb3N0ZXIuaWQpLHRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmNzcyh7d2lkdGg6dGhpcy5zdGF0dXMud2lkdGgsaGVpZ2h0OnRoaXMuc3RhdHVzLmhlaWdodH0pLHRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmhpZGUoKSx0aGlzLmludGVybmFsLnBvc3Rlci5qcS5iaW5kKCJjbGljay5qUGxheWVyIixmdW5jdGlvbigpe2MuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LmNsaWNrKX0pLHRoaXMuaHRtbC5hdWRpby5hdmFpbGFibGU9ITEsdGhpcy5yZXF1aXJlLmF1ZGlvJiYodGhpcy5odG1sRWxlbWVudC5hdWRpbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhdWRpbyIpLHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8uaWQ9dGhpcy5pbnRlcm5hbC5hdWRpby5pZCx0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlPSEhdGhpcy5odG1sRWxlbWVudC5hdWRpby5jYW5QbGF5VHlwZSYmdGhpcy5fdGVzdENhblBsYXlUeXBlKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8pKSx0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlPSExLHRoaXMucmVxdWlyZS52aWRlbyYmKHRoaXMuaHRtbEVsZW1lbnQudmlkZW89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKSx0aGlzLmh0bWxFbGVtZW50LnZpZGVvLmlkPXRoaXMuaW50ZXJuYWwudmlkZW8uaWQsdGhpcy5odG1sLnZpZGVvLmF2YWlsYWJsZT0hIXRoaXMuaHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUmJnRoaXMuX3Rlc3RDYW5QbGF5VHlwZSh0aGlzLmh0bWxFbGVtZW50LnZpZGVvKSksdGhpcy5mbGFzaC5hdmFpbGFibGU9dGhpcy5fY2hlY2tGb3JGbGFzaCgxMC4xKSx0aGlzLmh0bWwuY2FuUGxheT17fSx0aGlzLmF1cm9yYS5jYW5QbGF5PXt9LHRoaXMuZmxhc2guY2FuUGxheT17fSxhLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGIsZCl7Yy5odG1sLmNhblBsYXlbZF09Yy5odG1sW2MuZm9ybWF0W2RdLm1lZGlhXS5hdmFpbGFibGUmJiIiIT09Yy5odG1sRWxlbWVudFtjLmZvcm1hdFtkXS5tZWRpYV0uY2FuUGxheVR5cGUoYy5mb3JtYXRbZF0uY29kZWMpLGMuYXVyb3JhLmNhblBsYXlbZF09YS5pbkFycmF5KGQsYy5hdXJvcmEuZm9ybWF0cyk+LTEsYy5mbGFzaC5jYW5QbGF5W2RdPWMuZm9ybWF0W2RdLmZsYXNoQ2FuUGxheSYmYy5mbGFzaC5hdmFpbGFibGV9KSx0aGlzLmh0bWwuZGVzaXJlZD0hMSx0aGlzLmF1cm9yYS5kZXNpcmVkPSExLHRoaXMuZmxhc2guZGVzaXJlZD0hMSxhLmVhY2godGhpcy5zb2x1dGlvbnMsZnVuY3Rpb24oYixkKXtpZigwPT09YiljW2RdLmRlc2lyZWQ9ITA7ZWxzZXt2YXIgZT0hMSxmPSExO2EuZWFjaChjLmZvcm1hdHMsZnVuY3Rpb24oYSxiKXtjW2Muc29sdXRpb25zWzBdXS5jYW5QbGF5W2JdJiYoInZpZGVvIj09PWMuZm9ybWF0W2JdLm1lZGlhP2Y9ITA6ZT0hMCl9KSxjW2RdLmRlc2lyZWQ9Yy5yZXF1aXJlLmF1ZGlvJiYhZXx8Yy5yZXF1aXJlLnZpZGVvJiYhZn19KSx0aGlzLmh0bWwuc3VwcG9ydD17fSx0aGlzLmF1cm9yYS5zdXBwb3J0PXt9LHRoaXMuZmxhc2guc3VwcG9ydD17fSxhLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGEsYil7Yy5odG1sLnN1cHBvcnRbYl09Yy5odG1sLmNhblBsYXlbYl0mJmMuaHRtbC5kZXNpcmVkLGMuYXVyb3JhLnN1cHBvcnRbYl09Yy5hdXJvcmEuY2FuUGxheVtiXSYmYy5hdXJvcmEuZGVzaXJlZCxjLmZsYXNoLnN1cHBvcnRbYl09Yy5mbGFzaC5jYW5QbGF5W2JdJiZjLmZsYXNoLmRlc2lyZWR9KSx0aGlzLmh0bWwudXNlZD0hMSx0aGlzLmF1cm9yYS51c2VkPSExLHRoaXMuZmxhc2gudXNlZD0hMSxhLmVhY2godGhpcy5zb2x1dGlvbnMsZnVuY3Rpb24oYixkKXthLmVhY2goYy5mb3JtYXRzLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGNbZF0uc3VwcG9ydFtiXT8oY1tkXS51c2VkPSEwLCExKTp2b2lkIDB9KX0pLHRoaXMuX3Jlc2V0QWN0aXZlKCksdGhpcy5fcmVzZXRHYXRlKCksdGhpcy5fY3NzU2VsZWN0b3JBbmNlc3Rvcih0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3RvciksdGhpcy5odG1sLnVzZWR8fHRoaXMuYXVyb3JhLnVzZWR8fHRoaXMuZmxhc2gudXNlZD90aGlzLmNzcy5qcS5ub1NvbHV0aW9uLmxlbmd0aCYmdGhpcy5jc3MuanEubm9Tb2x1dGlvbi5oaWRlKCk6KHRoaXMuX2Vycm9yKHt0eXBlOmEualBsYXllci5lcnJvci5OT19TT0xVVElPTixjb250ZXh0OiJ7c29sdXRpb246JyIrdGhpcy5vcHRpb25zLnNvbHV0aW9uKyInLCBzdXBwbGllZDonIit0aGlzLm9wdGlvbnMuc3VwcGxpZWQrIid9IixtZXNzYWdlOmEualBsYXllci5lcnJvck1zZy5OT19TT0xVVElPTixoaW50OmEualBsYXllci5lcnJvckhpbnQuTk9fU09MVVRJT059KSx0aGlzLmNzcy5qcS5ub1NvbHV0aW9uLmxlbmd0aCYmdGhpcy5jc3MuanEubm9Tb2x1dGlvbi5zaG93KCkpLHRoaXMuZmxhc2gudXNlZCl7dmFyIGQsZT0ialF1ZXJ5PSIrZW5jb2RlVVJJKHRoaXMub3B0aW9ucy5ub0NvbmZsaWN0KSsiJmlkPSIrZW5jb2RlVVJJKHRoaXMuaW50ZXJuYWwuc2VsZi5pZCkrIiZ2b2w9Iit0aGlzLm9wdGlvbnMudm9sdW1lKyImbXV0ZWQ9Iit0aGlzLm9wdGlvbnMubXV0ZWQ7aWYoYS5qUGxheWVyLmJyb3dzZXIubXNpZSYmKE51bWJlcihhLmpQbGF5ZXIuYnJvd3Nlci52ZXJzaW9uKTw5fHxhLmpQbGF5ZXIuYnJvd3Nlci5kb2N1bWVudE1vZGU8OSkpe3ZhciBmPSc8b2JqZWN0IGlkPSInK3RoaXMuaW50ZXJuYWwuZmxhc2guaWQrJyIgY2xhc3NpZD0iY2xzaWQ6ZDI3Y2RiNmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiB0YWJpbmRleD0iLTEiPjwvb2JqZWN0PicsZz1bJzxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicrdGhpcy5pbnRlcm5hbC5mbGFzaC5zd2YrJyIgLz4nLCc8cGFyYW0gbmFtZT0iRmxhc2hWYXJzIiB2YWx1ZT0iJytlKyciIC8+JywnPHBhcmFtIG5hbWU9ImFsbG93U2NyaXB0QWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPicsJzxwYXJhbSBuYW1lPSJiZ2NvbG9yIiB2YWx1ZT0iJyt0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yKyciIC8+JywnPHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0iJyt0aGlzLm9wdGlvbnMud21vZGUrJyIgLz4nXTtkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZik7Zm9yKHZhciBoPTA7aDxnLmxlbmd0aDtoKyspZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KGdbaF0pKX1lbHNle3ZhciBpPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwYXJhbSIpO2Quc2V0QXR0cmlidXRlKCJuYW1lIixiKSxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLGMpLGEuYXBwZW5kQ2hpbGQoZCl9O2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2JqZWN0IiksZC5zZXRBdHRyaWJ1dGUoImlkIix0aGlzLmludGVybmFsLmZsYXNoLmlkKSxkLnNldEF0dHJpYnV0ZSgibmFtZSIsdGhpcy5pbnRlcm5hbC5mbGFzaC5pZCksZC5zZXRBdHRyaWJ1dGUoImRhdGEiLHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmKSxkLnNldEF0dHJpYnV0ZSgidHlwZSIsImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiksZC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwiMSIpLGQuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCIxIiksZC5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKSxpKGQsImZsYXNodmFycyIsZSksaShkLCJhbGxvd3NjcmlwdGFjY2VzcyIsImFsd2F5cyIpLGkoZCwiYmdjb2xvciIsdGhpcy5vcHRpb25zLmJhY2tncm91bmRDb2xvciksaShkLCJ3bW9kZSIsdGhpcy5vcHRpb25zLndtb2RlKX10aGlzLmVsZW1lbnQuYXBwZW5kKGQpLHRoaXMuaW50ZXJuYWwuZmxhc2guanE9YShkKX10aGlzLnN0YXR1cy5wbGF5YmFja1JhdGVFbmFibGVkPXRoaXMuaHRtbC51c2VkJiYhdGhpcy5mbGFzaC51c2VkP3RoaXMuX3Rlc3RQbGF5YmFja1JhdGUoImF1ZGlvIik6ITEsdGhpcy5fdXBkYXRlUGxheWJhY2tSYXRlKCksdGhpcy5odG1sLnVzZWQmJih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlJiYodGhpcy5fYWRkSHRtbEV2ZW50TGlzdGVuZXJzKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8sdGhpcy5odG1sLmF1ZGlvKSx0aGlzLmVsZW1lbnQuYXBwZW5kKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8pLHRoaXMuaW50ZXJuYWwuYXVkaW8uanE9YSgiIyIrdGhpcy5pbnRlcm5hbC5hdWRpby5pZCkpLHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUmJih0aGlzLl9hZGRIdG1sRXZlbnRMaXN0ZW5lcnModGhpcy5odG1sRWxlbWVudC52aWRlbyx0aGlzLmh0bWwudmlkZW8pLHRoaXMuZWxlbWVudC5hcHBlbmQodGhpcy5odG1sRWxlbWVudC52aWRlbyksdGhpcy5pbnRlcm5hbC52aWRlby5qcT1hKCIjIit0aGlzLmludGVybmFsLnZpZGVvLmlkKSx0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzP3t3aWR0aDp0aGlzLnN0YXR1cy53aWR0aCxoZWlnaHQ6dGhpcy5zdGF0dXMuaGVpZ2h0fTp7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgifSksdGhpcy5pbnRlcm5hbC52aWRlby5qcS5iaW5kKCJjbGljay5qUGxheWVyIixmdW5jdGlvbigpe2MuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LmNsaWNrKX0pKSksdGhpcy5hdXJvcmEudXNlZCx0aGlzLm9wdGlvbnMuZW11bGF0ZUh0bWwmJnRoaXMuX2VtdWxhdGVIdG1sQnJpZGdlKCksIXRoaXMuaHRtbC51c2VkJiYhdGhpcy5hdXJvcmEudXNlZHx8dGhpcy5mbGFzaC51c2VkfHxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5pbnRlcm5hbC5yZWFkeT0hMCxjLnZlcnNpb24uZmxhc2g9Im4vYSIsYy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucmVwZWF0KSxjLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5yZWFkeSl9LDEwMCksdGhpcy5fdXBkYXRlTmF0aXZlVmlkZW9Db250cm9scygpLHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgmJnRoaXMuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCksYS5qUGxheWVyLnByb3RvdHlwZS5jb3VudCsrfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5jbGVhck1lZGlhKCksdGhpcy5fcmVtb3ZlVWlDbGFzcygpLHRoaXMuY3NzLmpxLmN1cnJlbnRUaW1lLmxlbmd0aCYmdGhpcy5jc3MuanEuY3VycmVudFRpbWUudGV4dCgiIiksdGhpcy5jc3MuanEuZHVyYXRpb24ubGVuZ3RoJiZ0aGlzLmNzcy5qcS5kdXJhdGlvbi50ZXh0KCIiKSxhLmVhY2godGhpcy5jc3MuanEsZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCYmYi51bmJpbmQoIi5qUGxheWVyIil9KSx0aGlzLmludGVybmFsLnBvc3Rlci5qcS51bmJpbmQoIi5qUGxheWVyIiksdGhpcy5pbnRlcm5hbC52aWRlby5qcSYmdGhpcy5pbnRlcm5hbC52aWRlby5qcS51bmJpbmQoIi5qUGxheWVyIiksdGhpcy5fZnVsbHNjcmVlblJlbW92ZUV2ZW50TGlzdGVuZXJzKCksdGhpcz09PWEualBsYXllci5mb2N1cyYmKGEualBsYXllci5mb2N1cz1udWxsKSx0aGlzLm9wdGlvbnMuZW11bGF0ZUh0bWwmJnRoaXMuX2Rlc3Ryb3lIdG1sQnJpZGdlKCksdGhpcy5lbGVtZW50LnJlbW92ZURhdGEoImpQbGF5ZXIiKSx0aGlzLmVsZW1lbnQudW5iaW5kKCIualBsYXllciIpLHRoaXMuZWxlbWVudC5lbXB0eSgpLGRlbGV0ZSB0aGlzLmluc3RhbmNlc1t0aGlzLmludGVybmFsLmluc3RhbmNlXX0sZGVzdHJveVJlbW92ZWQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzO2EuZWFjaCh0aGlzLmluc3RhbmNlcyxmdW5jdGlvbihhLGMpe2IuZWxlbWVudCE9PWMmJihjLmRhdGEoImpQbGF5ZXIiKXx8KGMualBsYXllcigiZGVzdHJveSIpLGRlbGV0ZSBiLmluc3RhbmNlc1thXSkpfSl9LGVuYWJsZTpmdW5jdGlvbigpe30sZGlzYWJsZTpmdW5jdGlvbigpe30sX3Rlc3RDYW5QbGF5VHlwZTpmdW5jdGlvbihhKXt0cnl7cmV0dXJuIGEuY2FuUGxheVR5cGUodGhpcy5mb3JtYXQubXAzLmNvZGVjKSwhMH1jYXRjaChiKXtyZXR1cm4hMX19LF90ZXN0UGxheWJhY2tSYXRlOmZ1bmN0aW9uKGEpe3ZhciBiLGM9LjU7YT0ic3RyaW5nIj09dHlwZW9mIGE/YToiYXVkaW8iLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhKTt0cnl7cmV0dXJuInBsYXliYWNrUmF0ZSJpbiBiPyhiLnBsYXliYWNrUmF0ZT1jLGIucGxheWJhY2tSYXRlPT09Yyk6ITF9Y2F0Y2goZCl7cmV0dXJuITF9fSxfdWFCbG9ja2xpc3Q6ZnVuY3Rpb24oYil7dmFyIGM9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLGQ9ITE7cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGImJmIudGVzdChjKT8oZD0hMCwhMSk6dm9pZCAwfSksZH0sX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9sczpmdW5jdGlvbigpe3RoaXMucmVxdWlyZS5hdWRpbyYmdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scyYmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHM9ITEsdGhpcy5zdGF0dXMubm9GdWxsV2luZG93PSEwKX0sX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHM6ZnVuY3Rpb24oKXt0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlJiZ0aGlzLmh0bWwudXNlZCYmKHRoaXMuaHRtbEVsZW1lbnQudmlkZW8uY29udHJvbHM9dGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scyx0aGlzLl91cGRhdGVBdXRvaGlkZSgpLHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMmJnRoaXMucmVxdWlyZS52aWRlbz8odGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpLHRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHt3aWR0aDp0aGlzLnN0YXR1cy53aWR0aCxoZWlnaHQ6dGhpcy5zdGF0dXMuaGVpZ2h0fSkpOnRoaXMuc3RhdHVzLndhaXRGb3JQbGF5JiZ0aGlzLnN0YXR1cy52aWRlbyYmKHRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKSx0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgifSkpKX0sX2FkZEh0bWxFdmVudExpc3RlbmVyczpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7Yi5wcmVsb2FkPXRoaXMub3B0aW9ucy5wcmVsb2FkLGIubXV0ZWQ9dGhpcy5vcHRpb25zLm11dGVkLGIudm9sdW1lPXRoaXMub3B0aW9ucy52b2x1bWUsdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlRW5hYmxlZCYmKGIuZGVmYXVsdFBsYXliYWNrUmF0ZT10aGlzLm9wdGlvbnMuZGVmYXVsdFBsYXliYWNrUmF0ZSxiLnBsYXliYWNrUmF0ZT10aGlzLm9wdGlvbnMucGxheWJhY2tSYXRlKSxiLmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuaW50ZXJuYWwuY21kc0lnbm9yZWQmJnRoaXMucmVhZHlTdGF0ZT4wJiYoZC5pbnRlcm5hbC5jbWRzSWdub3JlZD0hMSksZC5fZ2V0SHRtbFN0YXR1cyhiKSxkLl91cGRhdGVJbnRlcmZhY2UoKSxkLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5wcm9ncmVzcykpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRkYXRhIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuYW5kcm9pZEZpeC5zZXRNZWRpYT0hMSxkLmFuZHJvaWRGaXgucGxheSYmKGQuYW5kcm9pZEZpeC5wbGF5PSExLGQucGxheShkLmFuZHJvaWRGaXgudGltZSkpLGQuYW5kcm9pZEZpeC5wYXVzZSYmKGQuYW5kcm9pZEZpeC5wYXVzZT0hMSxkLnBhdXNlKGQuYW5kcm9pZEZpeC50aW1lKSksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSkpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuX2dldEh0bWxTdGF0dXMoYiksZC5fdXBkYXRlSW50ZXJmYWNlKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSkpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJkdXJhdGlvbmNoYW5nZSIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9nZXRIdG1sU3RhdHVzKGIpLGQuX3VwZGF0ZUludGVyZmFjZSgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LmR1cmF0aW9uY2hhbmdlKSl9LCExKSxiLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLGZ1bmN0aW9uKCl7Yy5nYXRlJiYoZC5fdXBkYXRlQnV0dG9ucyghMCksZC5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucGxheSkpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuX3VwZGF0ZUJ1dHRvbnMoITApLGQuX3NlZWtlZCgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnBsYXlpbmcpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLGZ1bmN0aW9uKCl7Yy5nYXRlJiYoZC5fdXBkYXRlQnV0dG9ucyghMSksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucGF1c2UpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigid2FpdGluZyIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9zZWVraW5nKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQud2FpdGluZykpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJzZWVraW5nIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuX3NlZWtpbmcoKSxkLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5zZWVraW5nKSl9LCExKSxiLmFkZEV2ZW50TGlzdGVuZXIoInNlZWtlZCIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9zZWVrZWQoKSxkLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5zZWVrZWQpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigidm9sdW1lY2hhbmdlIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQub3B0aW9ucy52b2x1bWU9Yi52b2x1bWUsZC5vcHRpb25zLm11dGVkPWIubXV0ZWQsZC5fdXBkYXRlTXV0ZSgpLGQuX3VwZGF0ZVZvbHVtZSgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnZvbHVtZWNoYW5nZSkpfSwhMSksYi5hZGRFdmVudExpc3RlbmVyKCJyYXRlY2hhbmdlIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQub3B0aW9ucy5kZWZhdWx0UGxheWJhY2tSYXRlPWIuZGVmYXVsdFBsYXliYWNrUmF0ZSxkLm9wdGlvbnMucGxheWJhY2tSYXRlPWIucGxheWJhY2tSYXRlLGQuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnJhdGVjaGFuZ2UpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigic3VzcGVuZCIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9zZWVrZWQoKSxkLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5zdXNwZW5kKSl9LCExKSxiLmFkZEV2ZW50TGlzdGVuZXIoImVuZGVkIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGEualBsYXllci5icm93c2VyLndlYmtpdHx8KGQuaHRtbEVsZW1lbnQubWVkaWEuY3VycmVudFRpbWU9MCksZC5odG1sRWxlbWVudC5tZWRpYS5wYXVzZSgpLGQuX3VwZGF0ZUJ1dHRvbnMoITEpLGQuX2dldEh0bWxTdGF0dXMoYiwhMCksZC5fdXBkYXRlSW50ZXJmYWNlKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuZW5kZWQpKX0sITEpLGIuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7Yy5nYXRlJiYoZC5fdXBkYXRlQnV0dG9ucyghMSksZC5fc2Vla2VkKCksZC5zdGF0dXMuc3JjU2V0JiYoY2xlYXJUaW1lb3V0KGQuaW50ZXJuYWwuaHRtbERseUNtZElkKSxkLnN0YXR1cy53YWl0Rm9yTG9hZD0hMCxkLnN0YXR1cy53YWl0Rm9yUGxheT0hMCxkLnN0YXR1cy52aWRlbyYmIWQuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMmJmQuaW50ZXJuYWwudmlkZW8uanEuY3NzKHt3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCJ9KSxkLl92YWxpZFN0cmluZyhkLnN0YXR1cy5tZWRpYS5wb3N0ZXIpJiYhZC5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scyYmZC5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpLGQuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgmJmQuY3NzLmpxLnZpZGVvUGxheS5zaG93KCksZC5fZXJyb3Ioe3R5cGU6YS5qUGxheWVyLmVycm9yLlVSTCxjb250ZXh0OmQuc3RhdHVzLnNyYyxtZXNzYWdlOmEualBsYXllci5lcnJvck1zZy5VUkwsaGludDphLmpQbGF5ZXIuZXJyb3JIaW50LlVSTH0pKSl9LCExKSxhLmVhY2goYS5qUGxheWVyLmh0bWxFdmVudCxmdW5jdGlvbihlLGYpe2IuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLGZ1bmN0aW9uKCl7Yy5nYXRlJiZkLl90cmlnZ2VyKGEualBsYXllci5ldmVudFtmXSl9LCExKX0pfSxfYWRkQXVyb3JhRXZlbnRMaXN0ZW5lcnM6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO2Iudm9sdW1lPTEwMCp0aGlzLm9wdGlvbnMudm9sdW1lLGIub24oInByb2dyZXNzIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuaW50ZXJuYWwuY21kc0lnbm9yZWQmJnRoaXMucmVhZHlTdGF0ZT4wJiYoZC5pbnRlcm5hbC5jbWRzSWdub3JlZD0hMSksZC5fZ2V0QXVyb3JhU3RhdHVzKGIpLGQuX3VwZGF0ZUludGVyZmFjZSgpLGQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnByb2dyZXNzKSxiLmR1cmF0aW9uPjAmJmQuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnRpbWV1cGRhdGUpKX0sITEpLGIub24oInJlYWR5IixmdW5jdGlvbigpe2MuZ2F0ZSYmZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSl9LCExKSxiLm9uKCJkdXJhdGlvbiIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl9nZXRBdXJvcmFTdGF0dXMoYiksZC5fdXBkYXRlSW50ZXJmYWNlKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuZHVyYXRpb25jaGFuZ2UpKX0sITEpLGIub24oImVuZCIsZnVuY3Rpb24oKXtjLmdhdGUmJihkLl91cGRhdGVCdXR0b25zKCExKSxkLl9nZXRBdXJvcmFTdGF0dXMoYiwhMCksZC5fdXBkYXRlSW50ZXJmYWNlKCksZC5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuZW5kZWQpKX0sITEpLGIub24oImVycm9yIixmdW5jdGlvbigpe2MuZ2F0ZSYmKGQuX3VwZGF0ZUJ1dHRvbnMoITEpLGQuX3NlZWtlZCgpLGQuc3RhdHVzLnNyY1NldCYmKGQuc3RhdHVzLndhaXRGb3JMb2FkPSEwLGQuc3RhdHVzLndhaXRGb3JQbGF5PSEwLGQuc3RhdHVzLnZpZGVvJiYhZC5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scyYmZC5pbnRlcm5hbC52aWRlby5qcS5jc3Moe3dpZHRoOiIwcHgiLGhlaWdodDoiMHB4In0pLGQuX3ZhbGlkU3RyaW5nKGQuc3RhdHVzLm1lZGlhLnBvc3RlcikmJiFkLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzJiZkLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCksZC5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCYmZC5jc3MuanEudmlkZW9QbGF5LnNob3coKSxkLl9lcnJvcih7dHlwZTphLmpQbGF5ZXIuZXJyb3IuVVJMLGNvbnRleHQ6ZC5zdGF0dXMuc3JjLG1lc3NhZ2U6YS5qUGxheWVyLmVycm9yTXNnLlVSTCxoaW50OmEualBsYXllci5lcnJvckhpbnQuVVJMfSkpKX0sITEpfSxfZ2V0SHRtbFN0YXR1czpmdW5jdGlvbihhLGIpe3ZhciBjPTAsZD0wLGU9MCxmPTA7aXNGaW5pdGUoYS5kdXJhdGlvbikmJih0aGlzLnN0YXR1cy5kdXJhdGlvbj1hLmR1cmF0aW9uKSxjPWEuY3VycmVudFRpbWUsZD10aGlzLnN0YXR1cy5kdXJhdGlvbj4wPzEwMCpjL3RoaXMuc3RhdHVzLmR1cmF0aW9uOjAsIm9iamVjdCI9PXR5cGVvZiBhLnNlZWthYmxlJiZhLnNlZWthYmxlLmxlbmd0aD4wPyhlPXRoaXMuc3RhdHVzLmR1cmF0aW9uPjA/MTAwKmEuc2Vla2FibGUuZW5kKGEuc2Vla2FibGUubGVuZ3RoLTEpL3RoaXMuc3RhdHVzLmR1cmF0aW9uOjEwMCxmPXRoaXMuc3RhdHVzLmR1cmF0aW9uPjA/MTAwKmEuY3VycmVudFRpbWUvYS5zZWVrYWJsZS5lbmQoYS5zZWVrYWJsZS5sZW5ndGgtMSk6MCk6KGU9MTAwLGY9ZCksYiYmKGM9MCxmPTAsZD0wKSx0aGlzLnN0YXR1cy5zZWVrUGVyY2VudD1lLHRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmU9Zix0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlPWQsdGhpcy5zdGF0dXMuY3VycmVudFRpbWU9Yyx0aGlzLnN0YXR1cy5yZW1haW5pbmc9dGhpcy5zdGF0dXMuZHVyYXRpb24tdGhpcy5zdGF0dXMuY3VycmVudFRpbWUsdGhpcy5zdGF0dXMudmlkZW9XaWR0aD1hLnZpZGVvV2lkdGgsdGhpcy5zdGF0dXMudmlkZW9IZWlnaHQ9YS52aWRlb0hlaWdodCx0aGlzLnN0YXR1cy5yZWFkeVN0YXRlPWEucmVhZHlTdGF0ZSx0aGlzLnN0YXR1cy5uZXR3b3JrU3RhdGU9YS5uZXR3b3JrU3RhdGUsdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlPWEucGxheWJhY2tSYXRlLHRoaXMuc3RhdHVzLmVuZGVkPWEuZW5kZWR9LF9nZXRBdXJvcmFTdGF0dXM6ZnVuY3Rpb24oYSxiKXt2YXIgYz0wLGQ9MCxlPTAsZj0wO3RoaXMuc3RhdHVzLmR1cmF0aW9uPWEuZHVyYXRpb24vMWUzLGM9YS5jdXJyZW50VGltZS8xZTMsZD10aGlzLnN0YXR1cy5kdXJhdGlvbj4wPzEwMCpjL3RoaXMuc3RhdHVzLmR1cmF0aW9uOjAsYS5idWZmZXJlZD4wPyhlPXRoaXMuc3RhdHVzLmR1cmF0aW9uPjA/YS5idWZmZXJlZCp0aGlzLnN0YXR1cy5kdXJhdGlvbi90aGlzLnN0YXR1cy5kdXJhdGlvbjoxMDAsZj10aGlzLnN0YXR1cy5kdXJhdGlvbj4wP2MvKGEuYnVmZmVyZWQqdGhpcy5zdGF0dXMuZHVyYXRpb24pOjApOihlPTEwMCxmPWQpLGImJihjPTAsZj0wLGQ9MCksdGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQ9ZSx0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlPWYsdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZT1kLHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lPWMsdGhpcy5zdGF0dXMucmVtYWluaW5nPXRoaXMuc3RhdHVzLmR1cmF0aW9uLXRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lLHRoaXMuc3RhdHVzLnJlYWR5U3RhdGU9NCx0aGlzLnN0YXR1cy5uZXR3b3JrU3RhdGU9MCx0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGU9MSx0aGlzLnN0YXR1cy5lbmRlZD0hMX0sX3Jlc2V0U3RhdHVzOmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXM9YS5leHRlbmQoe30sdGhpcy5zdGF0dXMsYS5qUGxheWVyLnByb3RvdHlwZS5zdGF0dXMpfSxfdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5FdmVudChiKTtlLmpQbGF5ZXI9e30sZS5qUGxheWVyLnZlcnNpb249YS5leHRlbmQoe30sdGhpcy52ZXJzaW9uKSxlLmpQbGF5ZXIub3B0aW9ucz1hLmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnMpLGUualBsYXllci5zdGF0dXM9YS5leHRlbmQoITAse30sdGhpcy5zdGF0dXMpLGUualBsYXllci5odG1sPWEuZXh0ZW5kKCEwLHt9LHRoaXMuaHRtbCksZS5qUGxheWVyLmF1cm9yYT1hLmV4dGVuZCghMCx7fSx0aGlzLmF1cm9yYSksZS5qUGxheWVyLmZsYXNoPWEuZXh0ZW5kKCEwLHt9LHRoaXMuZmxhc2gpLGMmJihlLmpQbGF5ZXIuZXJyb3I9YS5leHRlbmQoe30sYykpLGQmJihlLmpQbGF5ZXIud2FybmluZz1hLmV4dGVuZCh7fSxkKSksdGhpcy5lbGVtZW50LnRyaWdnZXIoZSl9LGpQbGF5ZXJGbGFzaEV2ZW50OmZ1bmN0aW9uKGIsYyl7aWYoYj09PWEualBsYXllci5ldmVudC5yZWFkeSlpZih0aGlzLmludGVybmFsLnJlYWR5KXtpZih0aGlzLmZsYXNoLmdhdGUpe2lmKHRoaXMuc3RhdHVzLnNyY1NldCl7dmFyIGQ9dGhpcy5zdGF0dXMuY3VycmVudFRpbWUsZT10aGlzLnN0YXR1cy5wYXVzZWQ7dGhpcy5zZXRNZWRpYSh0aGlzLnN0YXR1cy5tZWRpYSksdGhpcy52b2x1bWVXb3JrZXIodGhpcy5vcHRpb25zLnZvbHVtZSksZD4wJiYoZT90aGlzLnBhdXNlKGQpOnRoaXMucGxheShkKSl9dGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuZmxhc2hyZXNldCl9fWVsc2UgdGhpcy5pbnRlcm5hbC5yZWFkeT0hMCx0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgifSksdGhpcy52ZXJzaW9uLmZsYXNoPWMudmVyc2lvbix0aGlzLnZlcnNpb24ubmVlZEZsYXNoIT09dGhpcy52ZXJzaW9uLmZsYXNoJiZ0aGlzLl9lcnJvcih7dHlwZTphLmpQbGF5ZXIuZXJyb3IuVkVSU0lPTixjb250ZXh0OnRoaXMudmVyc2lvbi5mbGFzaCxtZXNzYWdlOmEualBsYXllci5lcnJvck1zZy5WRVJTSU9OK3RoaXMudmVyc2lvbi5mbGFzaCxoaW50OmEualBsYXllci5lcnJvckhpbnQuVkVSU0lPTn0pLHRoaXMuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnJlcGVhdCksdGhpcy5fdHJpZ2dlcihiKTtpZih0aGlzLmZsYXNoLmdhdGUpc3dpdGNoKGIpe2Nhc2UgYS5qUGxheWVyLmV2ZW50LnByb2dyZXNzOnRoaXMuX2dldEZsYXNoU3RhdHVzKGMpLHRoaXMuX3VwZGF0ZUludGVyZmFjZSgpLHRoaXMuX3RyaWdnZXIoYik7YnJlYWs7Y2FzZSBhLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZTp0aGlzLl9nZXRGbGFzaFN0YXR1cyhjKSx0aGlzLl91cGRhdGVJbnRlcmZhY2UoKSx0aGlzLl90cmlnZ2VyKGIpO2JyZWFrO2Nhc2UgYS5qUGxheWVyLmV2ZW50LnBsYXk6dGhpcy5fc2Vla2VkKCksdGhpcy5fdXBkYXRlQnV0dG9ucyghMCksdGhpcy5fdHJpZ2dlcihiKTticmVhaztjYXNlIGEualBsYXllci5ldmVudC5wYXVzZTp0aGlzLl91cGRhdGVCdXR0b25zKCExKSx0aGlzLl90cmlnZ2VyKGIpO2JyZWFrO2Nhc2UgYS5qUGxheWVyLmV2ZW50LmVuZGVkOnRoaXMuX3VwZGF0ZUJ1dHRvbnMoITEpLHRoaXMuX3RyaWdnZXIoYik7YnJlYWs7Y2FzZSBhLmpQbGF5ZXIuZXZlbnQuY2xpY2s6dGhpcy5fdHJpZ2dlcihiKTticmVhaztjYXNlIGEualBsYXllci5ldmVudC5lcnJvcjp0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZD0hMCx0aGlzLnN0YXR1cy53YWl0Rm9yUGxheT0hMCx0aGlzLnN0YXR1cy52aWRlbyYmdGhpcy5pbnRlcm5hbC5mbGFzaC5qcS5jc3Moe3dpZHRoOiIwcHgiLGhlaWdodDoiMHB4In0pLHRoaXMuX3ZhbGlkU3RyaW5nKHRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlcikmJnRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKSx0aGlzLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoJiZ0aGlzLnN0YXR1cy52aWRlbyYmdGhpcy5jc3MuanEudmlkZW9QbGF5LnNob3coKSx0aGlzLnN0YXR1cy52aWRlbz90aGlzLl9mbGFzaF9zZXRWaWRlbyh0aGlzLnN0YXR1cy5tZWRpYSk6dGhpcy5fZmxhc2hfc2V0QXVkaW8odGhpcy5zdGF0dXMubWVkaWEpLHRoaXMuX3VwZGF0ZUJ1dHRvbnMoITEpLHRoaXMuX2Vycm9yKHt0eXBlOmEualBsYXllci5lcnJvci5VUkwsY29udGV4dDpjLnNyYyxtZXNzYWdlOmEualBsYXllci5lcnJvck1zZy5VUkwsaGludDphLmpQbGF5ZXIuZXJyb3JIaW50LlVSTH0pO2JyZWFrO2Nhc2UgYS5qUGxheWVyLmV2ZW50LnNlZWtpbmc6dGhpcy5fc2Vla2luZygpLHRoaXMuX3RyaWdnZXIoYik7YnJlYWs7Y2FzZSBhLmpQbGF5ZXIuZXZlbnQuc2Vla2VkOnRoaXMuX3NlZWtlZCgpLHRoaXMuX3RyaWdnZXIoYik7YnJlYWs7Y2FzZSBhLmpQbGF5ZXIuZXZlbnQucmVhZHk6YnJlYWs7ZGVmYXVsdDp0aGlzLl90cmlnZ2VyKGIpfXJldHVybiExfSxfZ2V0Rmxhc2hTdGF0dXM6ZnVuY3Rpb24oYSl7dGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQ9YS5zZWVrUGVyY2VudCx0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlPWEuY3VycmVudFBlcmNlbnRSZWxhdGl2ZSx0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlPWEuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSx0aGlzLnN0YXR1cy5jdXJyZW50VGltZT1hLmN1cnJlbnRUaW1lLHRoaXMuc3RhdHVzLmR1cmF0aW9uPWEuZHVyYXRpb24sdGhpcy5zdGF0dXMucmVtYWluaW5nPWEuZHVyYXRpb24tYS5jdXJyZW50VGltZSx0aGlzLnN0YXR1cy52aWRlb1dpZHRoPWEudmlkZW9XaWR0aCx0aGlzLnN0YXR1cy52aWRlb0hlaWdodD1hLnZpZGVvSGVpZ2h0LHRoaXMuc3RhdHVzLnJlYWR5U3RhdGU9NCx0aGlzLnN0YXR1cy5uZXR3b3JrU3RhdGU9MCx0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGU9MSx0aGlzLnN0YXR1cy5lbmRlZD0hMX0sX3VwZGF0ZUJ1dHRvbnM6ZnVuY3Rpb24oYSl7YT09PWI/YT0hdGhpcy5zdGF0dXMucGF1c2VkOnRoaXMuc3RhdHVzLnBhdXNlZD0hYSxhP3RoaXMuYWRkU3RhdGVDbGFzcygicGxheWluZyIpOnRoaXMucmVtb3ZlU3RhdGVDbGFzcygicGxheWluZyIpLCF0aGlzLnN0YXR1cy5ub0Z1bGxXaW5kb3cmJnRoaXMub3B0aW9ucy5mdWxsV2luZG93P3RoaXMuYWRkU3RhdGVDbGFzcygiZnVsbFNjcmVlbiIpOnRoaXMucmVtb3ZlU3RhdGVDbGFzcygiZnVsbFNjcmVlbiIpLHRoaXMub3B0aW9ucy5sb29wP3RoaXMuYWRkU3RhdGVDbGFzcygibG9vcGVkIik6dGhpcy5yZW1vdmVTdGF0ZUNsYXNzKCJsb29wZWQiKSx0aGlzLmNzcy5qcS5wbGF5Lmxlbmd0aCYmdGhpcy5jc3MuanEucGF1c2UubGVuZ3RoJiYoYT8odGhpcy5jc3MuanEucGxheS5oaWRlKCksdGhpcy5jc3MuanEucGF1c2Uuc2hvdygpKToodGhpcy5jc3MuanEucGxheS5zaG93KCksdGhpcy5jc3MuanEucGF1c2UuaGlkZSgpKSksdGhpcy5jc3MuanEucmVzdG9yZVNjcmVlbi5sZW5ndGgmJnRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4ubGVuZ3RoJiYodGhpcy5zdGF0dXMubm9GdWxsV2luZG93Pyh0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLmhpZGUoKSx0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKSk6dGhpcy5vcHRpb25zLmZ1bGxXaW5kb3c/KHRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4uaGlkZSgpLHRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4uc2hvdygpKToodGhpcy5jc3MuanEuZnVsbFNjcmVlbi5zaG93KCksdGhpcy5jc3MuanEucmVzdG9yZVNjcmVlbi5oaWRlKCkpKSx0aGlzLmNzcy5qcS5yZXBlYXQubGVuZ3RoJiZ0aGlzLmNzcy5qcS5yZXBlYXRPZmYubGVuZ3RoJiYodGhpcy5vcHRpb25zLmxvb3A/KHRoaXMuY3NzLmpxLnJlcGVhdC5oaWRlKCksdGhpcy5jc3MuanEucmVwZWF0T2ZmLnNob3coKSk6KHRoaXMuY3NzLmpxLnJlcGVhdC5zaG93KCksdGhpcy5jc3MuanEucmVwZWF0T2ZmLmhpZGUoKSkpfSxfdXBkYXRlSW50ZXJmYWNlOmZ1bmN0aW9uKCl7dGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgmJnRoaXMuY3NzLmpxLnNlZWtCYXIud2lkdGgodGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQrIiUiKSx0aGlzLmNzcy5qcS5wbGF5QmFyLmxlbmd0aCYmKHRoaXMub3B0aW9ucy5zbW9vdGhQbGF5QmFyP3RoaXMuY3NzLmpxLnBsYXlCYXIuc3RvcCgpLmFuaW1hdGUoe3dpZHRoOnRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50QWJzb2x1dGUrIiUifSwyNTAsImxpbmVhciIpOnRoaXMuY3NzLmpxLnBsYXlCYXIud2lkdGgodGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRSZWxhdGl2ZSsiJSIpKTt2YXIgYT0iIjt0aGlzLmNzcy5qcS5jdXJyZW50VGltZS5sZW5ndGgmJihhPXRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lKSxhIT09dGhpcy5jc3MuanEuY3VycmVudFRpbWUudGV4dCgpJiZ0aGlzLmNzcy5qcS5jdXJyZW50VGltZS50ZXh0KHRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lKSkpO3ZhciBiPSIiLGM9dGhpcy5zdGF0dXMuZHVyYXRpb24sZD10aGlzLnN0YXR1cy5yZW1haW5pbmc7dGhpcy5jc3MuanEuZHVyYXRpb24ubGVuZ3RoJiYoInN0cmluZyI9PXR5cGVvZiB0aGlzLnN0YXR1cy5tZWRpYS5kdXJhdGlvbj9iPXRoaXMuc3RhdHVzLm1lZGlhLmR1cmF0aW9uOigibnVtYmVyIj09dHlwZW9mIHRoaXMuc3RhdHVzLm1lZGlhLmR1cmF0aW9uJiYoYz10aGlzLnN0YXR1cy5tZWRpYS5kdXJhdGlvbixkPWMtdGhpcy5zdGF0dXMuY3VycmVudFRpbWUpLGI9dGhpcy5vcHRpb25zLnJlbWFpbmluZ0R1cmF0aW9uPyhkPjA/Ii0iOiIiKSt0aGlzLl9jb252ZXJ0VGltZShkKTp0aGlzLl9jb252ZXJ0VGltZShjKSksYiE9PXRoaXMuY3NzLmpxLmR1cmF0aW9uLnRleHQoKSYmdGhpcy5jc3MuanEuZHVyYXRpb24udGV4dChiKSl9LF9jb252ZXJ0VGltZTpjLnByb3RvdHlwZS50aW1lLF9zZWVraW5nOmZ1bmN0aW9uKCl7dGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgmJnRoaXMuY3NzLmpxLnNlZWtCYXIuYWRkQ2xhc3MoImpwLXNlZWtpbmctYmciKSx0aGlzLmFkZFN0YXRlQ2xhc3MoInNlZWtpbmciKX0sX3NlZWtlZDpmdW5jdGlvbigpe3RoaXMuY3NzLmpxLnNlZWtCYXIubGVuZ3RoJiZ0aGlzLmNzcy5qcS5zZWVrQmFyLnJlbW92ZUNsYXNzKCJqcC1zZWVraW5nLWJnIiksdGhpcy5yZW1vdmVTdGF0ZUNsYXNzKCJzZWVraW5nIil9LF9yZXNldEdhdGU6ZnVuY3Rpb24oKXt0aGlzLmh0bWwuYXVkaW8uZ2F0ZT0hMSx0aGlzLmh0bWwudmlkZW8uZ2F0ZT0hMSx0aGlzLmF1cm9yYS5nYXRlPSExLHRoaXMuZmxhc2guZ2F0ZT0hMX0sX3Jlc2V0QWN0aXZlOmZ1bmN0aW9uKCl7dGhpcy5odG1sLmFjdGl2ZT0hMSx0aGlzLmF1cm9yYS5hY3RpdmU9ITEsdGhpcy5mbGFzaC5hY3RpdmU9ITF9LF9lc2NhcGVIdG1sOmZ1bmN0aW9uKGEpe3JldHVybiBhLnNwbGl0KCImIikuam9pbigiJmFtcDsiKS5zcGxpdCgiPCIpLmpvaW4oIiZsdDsiKS5zcGxpdCgiPiIpLmpvaW4oIiZndDsiKS5zcGxpdCgnIicpLmpvaW4oIiZxdW90OyIpfSxfcXVhbGlmeVVSTDpmdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKcmV0dXJuIGIuaW5uZXJIVE1MPSc8YSBocmVmPSInK3RoaXMuX2VzY2FwZUh0bWwoYSkrJyI+eDwvYT4nLGIuZmlyc3RDaGlsZC5ocmVmfSxfYWJzb2x1dGVNZWRpYVVybHM6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztyZXR1cm4gYS5lYWNoKGIsZnVuY3Rpb24oYSxkKXtkJiZjLmZvcm1hdFthXSYmImRhdGE6IiE9PWQuc3Vic3RyKDAsNSkmJihiW2FdPWMuX3F1YWxpZnlVUkwoZCkpfSksYn0sYWRkU3RhdGVDbGFzczpmdW5jdGlvbihhKXt0aGlzLmFuY2VzdG9ySnEubGVuZ3RoJiZ0aGlzLmFuY2VzdG9ySnEuYWRkQ2xhc3ModGhpcy5vcHRpb25zLnN0YXRlQ2xhc3NbYV0pfSxyZW1vdmVTdGF0ZUNsYXNzOmZ1bmN0aW9uKGEpe3RoaXMuYW5jZXN0b3JKcS5sZW5ndGgmJnRoaXMuYW5jZXN0b3JKcS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuc3RhdGVDbGFzc1thXSl9LHNldE1lZGlhOmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMsZD0hMSxlPXRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlciE9PWIucG9zdGVyO3RoaXMuX3Jlc2V0TWVkaWEoKSx0aGlzLl9yZXNldEdhdGUoKSx0aGlzLl9yZXNldEFjdGl2ZSgpLHRoaXMuYW5kcm9pZEZpeC5zZXRNZWRpYT0hMSx0aGlzLmFuZHJvaWRGaXgucGxheT0hMSx0aGlzLmFuZHJvaWRGaXgucGF1c2U9ITEsYj10aGlzLl9hYnNvbHV0ZU1lZGlhVXJscyhiKSxhLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGUsZil7dmFyIGc9InZpZGVvIj09PWMuZm9ybWF0W2ZdLm1lZGlhO3JldHVybiBhLmVhY2goYy5zb2x1dGlvbnMsZnVuY3Rpb24oZSxoKXtpZihjW2hdLnN1cHBvcnRbZl0mJmMuX3ZhbGlkU3RyaW5nKGJbZl0pKXt2YXIgaT0iaHRtbCI9PT1oLGo9ImF1cm9yYSI9PT1oO3JldHVybiBnPyhpPyhjLmh0bWwudmlkZW8uZ2F0ZT0hMCxjLl9odG1sX3NldFZpZGVvKGIpLGMuaHRtbC5hY3RpdmU9ITApOihjLmZsYXNoLmdhdGU9ITAsYy5fZmxhc2hfc2V0VmlkZW8oYiksYy5mbGFzaC5hY3RpdmU9ITApLGMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgmJmMuY3NzLmpxLnZpZGVvUGxheS5zaG93KCksYy5zdGF0dXMudmlkZW89ITApOihpPyhjLmh0bWwuYXVkaW8uZ2F0ZT0hMCxjLl9odG1sX3NldEF1ZGlvKGIpLGMuaHRtbC5hY3RpdmU9ITAsYS5qUGxheWVyLnBsYXRmb3JtLmFuZHJvaWQmJihjLmFuZHJvaWRGaXguc2V0TWVkaWE9ITApKTpqPyhjLmF1cm9yYS5nYXRlPSEwLGMuX2F1cm9yYV9zZXRBdWRpbyhiKSxjLmF1cm9yYS5hY3RpdmU9ITApOihjLmZsYXNoLmdhdGU9ITAsYy5fZmxhc2hfc2V0QXVkaW8oYiksYy5mbGFzaC5hY3RpdmU9ITApLGMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgmJmMuY3NzLmpxLnZpZGVvUGxheS5oaWRlKCksYy5zdGF0dXMudmlkZW89ITEpLGQ9ITAsITF9fSksZD8hMTp2b2lkIDB9KSxkPyh0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzJiZ0aGlzLmh0bWwudmlkZW8uZ2F0ZXx8dGhpcy5fdmFsaWRTdHJpbmcoYi5wb3N0ZXIpJiYoZT90aGlzLmh0bWxFbGVtZW50LnBvc3Rlci5zcmM9Yi5wb3N0ZXI6dGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpKSwic3RyaW5nIj09dHlwZW9mIGIudGl0bGUmJih0aGlzLmNzcy5qcS50aXRsZS5sZW5ndGgmJnRoaXMuY3NzLmpxLnRpdGxlLmh0bWwoYi50aXRsZSksdGhpcy5odG1sRWxlbWVudC5hdWRpbyYmdGhpcy5odG1sRWxlbWVudC5hdWRpby5zZXRBdHRyaWJ1dGUoInRpdGxlIixiLnRpdGxlKSx0aGlzLmh0bWxFbGVtZW50LnZpZGVvJiZ0aGlzLmh0bWxFbGVtZW50LnZpZGVvLnNldEF0dHJpYnV0ZSgidGl0bGUiLGIudGl0bGUpKSx0aGlzLnN0YXR1cy5zcmNTZXQ9ITAsdGhpcy5zdGF0dXMubWVkaWE9YS5leHRlbmQoe30sYiksdGhpcy5fdXBkYXRlQnV0dG9ucyghMSksdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQuc2V0bWVkaWEpKTp0aGlzLl9lcnJvcih7dHlwZTphLmpQbGF5ZXIuZXJyb3IuTk9fU1VQUE9SVCxjb250ZXh0OiJ7c3VwcGxpZWQ6JyIrdGhpcy5vcHRpb25zLnN1cHBsaWVkKyInfSIsbWVzc2FnZTphLmpQbGF5ZXIuZXJyb3JNc2cuTk9fU1VQUE9SVCxoaW50OmEualBsYXllci5lcnJvckhpbnQuTk9fU1VQUE9SVH0pfSxfcmVzZXRNZWRpYTpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0U3RhdHVzKCksdGhpcy5fdXBkYXRlQnV0dG9ucyghMSksdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCksdGhpcy5fc2Vla2VkKCksdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpLGNsZWFyVGltZW91dCh0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZCksdGhpcy5odG1sLmFjdGl2ZT90aGlzLl9odG1sX3Jlc2V0TWVkaWEoKTp0aGlzLmF1cm9yYS5hY3RpdmU/dGhpcy5fYXVyb3JhX3Jlc2V0TWVkaWEoKTp0aGlzLmZsYXNoLmFjdGl2ZSYmdGhpcy5fZmxhc2hfcmVzZXRNZWRpYSgpfSxjbGVhck1lZGlhOmZ1bmN0aW9uKCl7dGhpcy5fcmVzZXRNZWRpYSgpLHRoaXMuaHRtbC5hY3RpdmU/dGhpcy5faHRtbF9jbGVhck1lZGlhKCk6dGhpcy5hdXJvcmEuYWN0aXZlP3RoaXMuX2F1cm9yYV9jbGVhck1lZGlhKCk6dGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuX2ZsYXNoX2NsZWFyTWVkaWEoKSx0aGlzLl9yZXNldEdhdGUoKSx0aGlzLl9yZXNldEFjdGl2ZSgpfSxsb2FkOmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMuc3JjU2V0P3RoaXMuaHRtbC5hY3RpdmU/dGhpcy5faHRtbF9sb2FkKCk6dGhpcy5hdXJvcmEuYWN0aXZlP3RoaXMuX2F1cm9yYV9sb2FkKCk6dGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuX2ZsYXNoX2xvYWQoKTp0aGlzLl91cmxOb3RTZXRFcnJvcigibG9hZCIpfSxmb2N1czpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5rZXlFbmFibGVkJiYoYS5qUGxheWVyLmZvY3VzPXRoaXMpfSxwbGF5OmZ1bmN0aW9uKGEpe3ZhciBiPSJvYmplY3QiPT10eXBlb2YgYTtiJiZ0aGlzLm9wdGlvbnMudXNlU3RhdGVDbGFzc1NraW4mJiF0aGlzLnN0YXR1cy5wYXVzZWQ/dGhpcy5wYXVzZShhKTooYT0ibnVtYmVyIj09dHlwZW9mIGE/YTowLzAsdGhpcy5zdGF0dXMuc3JjU2V0Pyh0aGlzLmZvY3VzKCksdGhpcy5odG1sLmFjdGl2ZT90aGlzLl9odG1sX3BsYXkoYSk6dGhpcy5hdXJvcmEuYWN0aXZlP3RoaXMuX2F1cm9yYV9wbGF5KGEpOnRoaXMuZmxhc2guYWN0aXZlJiZ0aGlzLl9mbGFzaF9wbGF5KGEpKTp0aGlzLl91cmxOb3RTZXRFcnJvcigicGxheSIpKX0sdmlkZW9QbGF5OmZ1bmN0aW9uKCl7dGhpcy5wbGF5KCl9LHBhdXNlOmZ1bmN0aW9uKGEpe2E9Im51bWJlciI9PXR5cGVvZiBhP2E6MC8wLHRoaXMuc3RhdHVzLnNyY1NldD90aGlzLmh0bWwuYWN0aXZlP3RoaXMuX2h0bWxfcGF1c2UoYSk6dGhpcy5hdXJvcmEuYWN0aXZlP3RoaXMuX2F1cm9yYV9wYXVzZShhKTp0aGlzLmZsYXNoLmFjdGl2ZSYmdGhpcy5fZmxhc2hfcGF1c2UoYSk6dGhpcy5fdXJsTm90U2V0RXJyb3IoInBhdXNlIil9LHRlbGxPdGhlcnM6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLGU9ImZ1bmN0aW9uIj09dHlwZW9mIGMsZj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOyJzdHJpbmciPT10eXBlb2YgYiYmKGUmJmYuc3BsaWNlKDEsMSksYS5qUGxheWVyLnByb3RvdHlwZS5kZXN0cm95UmVtb3ZlZCgpLGEuZWFjaCh0aGlzLmluc3RhbmNlcyxmdW5jdGlvbigpe2QuZWxlbWVudCE9PXRoaXMmJighZXx8Yy5jYWxsKHRoaXMuZGF0YSgialBsYXllciIpLGQpKSYmdGhpcy5qUGxheWVyLmFwcGx5KHRoaXMsZil9KSl9LHBhdXNlT3RoZXJzOmZ1bmN0aW9uKGEpe3RoaXMudGVsbE90aGVycygicGF1c2UiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdHVzLnNyY1NldH0sYSl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cy5zcmNTZXQ/dGhpcy5odG1sLmFjdGl2ZT90aGlzLl9odG1sX3BhdXNlKDApOnRoaXMuYXVyb3JhLmFjdGl2ZT90aGlzLl9hdXJvcmFfcGF1c2UoMCk6dGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuX2ZsYXNoX3BhdXNlKDApOnRoaXMuX3VybE5vdFNldEVycm9yKCJzdG9wIil9LHBsYXlIZWFkOmZ1bmN0aW9uKGEpe2E9dGhpcy5fbGltaXRWYWx1ZShhLDAsMTAwKSx0aGlzLnN0YXR1cy5zcmNTZXQ/dGhpcy5odG1sLmFjdGl2ZT90aGlzLl9odG1sX3BsYXlIZWFkKGEpOnRoaXMuYXVyb3JhLmFjdGl2ZT90aGlzLl9hdXJvcmFfcGxheUhlYWQoYSk6dGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuX2ZsYXNoX3BsYXlIZWFkKGEpOnRoaXMuX3VybE5vdFNldEVycm9yKCJwbGF5SGVhZCIpfSxfbXV0ZWQ6ZnVuY3Rpb24oYSl7dGhpcy5tdXRlZFdvcmtlcihhKSx0aGlzLm9wdGlvbnMuZ2xvYmFsVm9sdW1lJiZ0aGlzLnRlbGxPdGhlcnMoIm11dGVkV29ya2VyIixmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuZ2xvYmFsVm9sdW1lfSxhKX0sbXV0ZWRXb3JrZXI6ZnVuY3Rpb24oYil7dGhpcy5vcHRpb25zLm11dGVkPWIsdGhpcy5odG1sLnVzZWQmJnRoaXMuX2h0bWxfc2V0UHJvcGVydHkoIm11dGVkIixiKSx0aGlzLmF1cm9yYS51c2VkJiZ0aGlzLl9hdXJvcmFfbXV0ZShiKSx0aGlzLmZsYXNoLnVzZWQmJnRoaXMuX2ZsYXNoX211dGUoYiksdGhpcy5odG1sLnZpZGVvLmdhdGV8fHRoaXMuaHRtbC5hdWRpby5nYXRlfHwodGhpcy5fdXBkYXRlTXV0ZShiKSx0aGlzLl91cGRhdGVWb2x1bWUodGhpcy5vcHRpb25zLnZvbHVtZSksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKSl9LG11dGU6ZnVuY3Rpb24oYSl7dmFyIGM9Im9iamVjdCI9PXR5cGVvZiBhO2MmJnRoaXMub3B0aW9ucy51c2VTdGF0ZUNsYXNzU2tpbiYmdGhpcy5vcHRpb25zLm11dGVkP3RoaXMuX211dGVkKCExKTooYT1hPT09Yj8hMDohIWEsdGhpcy5fbXV0ZWQoYSkpfSx1bm11dGU6ZnVuY3Rpb24oYSl7YT1hPT09Yj8hMDohIWEsdGhpcy5fbXV0ZWQoIWEpfSxfdXBkYXRlTXV0ZTpmdW5jdGlvbihhKXthPT09YiYmKGE9dGhpcy5vcHRpb25zLm11dGVkKSxhP3RoaXMuYWRkU3RhdGVDbGFzcygibXV0ZWQiKTp0aGlzLnJlbW92ZVN0YXRlQ2xhc3MoIm11dGVkIiksdGhpcy5jc3MuanEubXV0ZS5sZW5ndGgmJnRoaXMuY3NzLmpxLnVubXV0ZS5sZW5ndGgmJih0aGlzLnN0YXR1cy5ub1ZvbHVtZT8odGhpcy5jc3MuanEubXV0ZS5oaWRlKCksdGhpcy5jc3MuanEudW5tdXRlLmhpZGUoKSk6YT8odGhpcy5jc3MuanEubXV0ZS5oaWRlKCksdGhpcy5jc3MuanEudW5tdXRlLnNob3coKSk6KHRoaXMuY3NzLmpxLm11dGUuc2hvdygpLHRoaXMuY3NzLmpxLnVubXV0ZS5oaWRlKCkpKX0sdm9sdW1lOmZ1bmN0aW9uKGEpe3RoaXMudm9sdW1lV29ya2VyKGEpLHRoaXMub3B0aW9ucy5nbG9iYWxWb2x1bWUmJnRoaXMudGVsbE90aGVycygidm9sdW1lV29ya2VyIixmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuZ2xvYmFsVm9sdW1lfSxhKX0sdm9sdW1lV29ya2VyOmZ1bmN0aW9uKGIpe2I9dGhpcy5fbGltaXRWYWx1ZShiLDAsMSksdGhpcy5vcHRpb25zLnZvbHVtZT1iLHRoaXMuaHRtbC51c2VkJiZ0aGlzLl9odG1sX3NldFByb3BlcnR5KCJ2b2x1bWUiLGIpLHRoaXMuYXVyb3JhLnVzZWQmJnRoaXMuX2F1cm9yYV92b2x1bWUoYiksdGhpcy5mbGFzaC51c2VkJiZ0aGlzLl9mbGFzaF92b2x1bWUoYiksdGhpcy5odG1sLnZpZGVvLmdhdGV8fHRoaXMuaHRtbC5hdWRpby5nYXRlfHwodGhpcy5fdXBkYXRlVm9sdW1lKGIpLHRoaXMuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnZvbHVtZWNoYW5nZSkpfSx2b2x1bWVCYXI6ZnVuY3Rpb24oYil7aWYodGhpcy5jc3MuanEudm9sdW1lQmFyLmxlbmd0aCl7dmFyIGM9YShiLmN1cnJlbnRUYXJnZXQpLGQ9Yy5vZmZzZXQoKSxlPWIucGFnZVgtZC5sZWZ0LGY9Yy53aWR0aCgpLGc9Yy5oZWlnaHQoKS1iLnBhZ2VZK2QudG9wLGg9Yy5oZWlnaHQoKTt0aGlzLnZvbHVtZSh0aGlzLm9wdGlvbnMudmVydGljYWxWb2x1bWU/Zy9oOmUvZil9dGhpcy5vcHRpb25zLm11dGVkJiZ0aGlzLl9tdXRlZCghMSl9LF91cGRhdGVWb2x1bWU6ZnVuY3Rpb24oYSl7YT09PWImJihhPXRoaXMub3B0aW9ucy52b2x1bWUpLGE9dGhpcy5vcHRpb25zLm11dGVkPzA6YSx0aGlzLnN0YXR1cy5ub1ZvbHVtZT8odGhpcy5hZGRTdGF0ZUNsYXNzKCJub1ZvbHVtZSIpLHRoaXMuY3NzLmpxLnZvbHVtZUJhci5sZW5ndGgmJnRoaXMuY3NzLmpxLnZvbHVtZUJhci5oaWRlKCksdGhpcy5jc3MuanEudm9sdW1lQmFyVmFsdWUubGVuZ3RoJiZ0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZS5oaWRlKCksdGhpcy5jc3MuanEudm9sdW1lTWF4Lmxlbmd0aCYmdGhpcy5jc3MuanEudm9sdW1lTWF4LmhpZGUoKSk6KHRoaXMucmVtb3ZlU3RhdGVDbGFzcygibm9Wb2x1bWUiKSx0aGlzLmNzcy5qcS52b2x1bWVCYXIubGVuZ3RoJiZ0aGlzLmNzcy5qcS52b2x1bWVCYXIuc2hvdygpLHRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLmxlbmd0aCYmKHRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLnNob3coKSx0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZVt0aGlzLm9wdGlvbnMudmVydGljYWxWb2x1bWU/ImhlaWdodCI6IndpZHRoIl0oMTAwKmErIiUiKSksdGhpcy5jc3MuanEudm9sdW1lTWF4Lmxlbmd0aCYmdGhpcy5jc3MuanEudm9sdW1lTWF4LnNob3coKSl9LHZvbHVtZU1heDpmdW5jdGlvbigpe3RoaXMudm9sdW1lKDEpLHRoaXMub3B0aW9ucy5tdXRlZCYmdGhpcy5fbXV0ZWQoITEpfSxfY3NzU2VsZWN0b3JBbmNlc3RvcjpmdW5jdGlvbihiKXt2YXIgYz10aGlzO3RoaXMub3B0aW9ucy5jc3NTZWxlY3RvckFuY2VzdG9yPWIsdGhpcy5fcmVtb3ZlVWlDbGFzcygpLHRoaXMuYW5jZXN0b3JKcT1iP2EoYik6W10sYiYmMSE9PXRoaXMuYW5jZXN0b3JKcS5sZW5ndGgmJnRoaXMuX3dhcm5pbmcoe3R5cGU6YS5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX0NPVU5ULGNvbnRleHQ6YixtZXNzYWdlOmEualBsYXllci53YXJuaW5nTXNnLkNTU19TRUxFQ1RPUl9DT1VOVCt0aGlzLmFuY2VzdG9ySnEubGVuZ3RoKyIgZm91bmQgZm9yIGNzc1NlbGVjdG9yQW5jZXN0b3IuIixoaW50OmEualBsYXllci53YXJuaW5nSGludC5DU1NfU0VMRUNUT1JfQ09VTlR9KSx0aGlzLl9hZGRVaUNsYXNzKCksYS5lYWNoKHRoaXMub3B0aW9ucy5jc3NTZWxlY3RvcixmdW5jdGlvbihhLGIpe2MuX2Nzc1NlbGVjdG9yKGEsYil9KSx0aGlzLl91cGRhdGVJbnRlcmZhY2UoKSx0aGlzLl91cGRhdGVCdXR0b25zKCksdGhpcy5fdXBkYXRlQXV0b2hpZGUoKSx0aGlzLl91cGRhdGVWb2x1bWUoKSx0aGlzLl91cGRhdGVNdXRlKCl9LF9jc3NTZWxlY3RvcjpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKGEualBsYXllci5wcm90b3R5cGUub3B0aW9ucy5jc3NTZWxlY3RvcltiXSl7aWYodGhpcy5jc3MuanFbYl0mJnRoaXMuY3NzLmpxW2JdLmxlbmd0aCYmdGhpcy5jc3MuanFbYl0udW5iaW5kKCIualBsYXllciIpLHRoaXMub3B0aW9ucy5jc3NTZWxlY3RvcltiXT1jLHRoaXMuY3NzLmNzW2JdPXRoaXMub3B0aW9ucy5jc3NTZWxlY3RvckFuY2VzdG9yKyIgIitjLHRoaXMuY3NzLmpxW2JdPWM/YSh0aGlzLmNzcy5jc1tiXSk6W10sdGhpcy5jc3MuanFbYl0ubGVuZ3RoJiZ0aGlzW2JdKXt2YXIgZT1mdW5jdGlvbihjKXtjLnByZXZlbnREZWZhdWx0KCksZFtiXShjKSxkLm9wdGlvbnMuYXV0b0JsdXI/YSh0aGlzKS5ibHVyKCk6YSh0aGlzKS5mb2N1cygpfTt0aGlzLmNzcy5qcVtiXS5iaW5kKCJjbGljay5qUGxheWVyIixlKX1jJiYxIT09dGhpcy5jc3MuanFbYl0ubGVuZ3RoJiZ0aGlzLl93YXJuaW5nKHt0eXBlOmEualBsYXllci53YXJuaW5nLkNTU19TRUxFQ1RPUl9DT1VOVCxjb250ZXh0OnRoaXMuY3NzLmNzW2JdLG1lc3NhZ2U6YS5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX0NPVU5UK3RoaXMuY3NzLmpxW2JdLmxlbmd0aCsiIGZvdW5kIGZvciAiK2IrIiBtZXRob2QuIixoaW50OmEualBsYXllci53YXJuaW5nSGludC5DU1NfU0VMRUNUT1JfQ09VTlR9KX1lbHNlIHRoaXMuX3dhcm5pbmcoe3R5cGU6YS5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX01FVEhPRCxjb250ZXh0OmIsbWVzc2FnZTphLmpQbGF5ZXIud2FybmluZ01zZy5DU1NfU0VMRUNUT1JfTUVUSE9ELGhpbnQ6YS5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9NRVRIT0R9KTtlbHNlIHRoaXMuX3dhcm5pbmcoe3R5cGU6YS5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX1NUUklORyxjb250ZXh0OmMsbWVzc2FnZTphLmpQbGF5ZXIud2FybmluZ01zZy5DU1NfU0VMRUNUT1JfU1RSSU5HLGhpbnQ6YS5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9TVFJJTkd9KX0sZHVyYXRpb246ZnVuY3Rpb24oYSl7dGhpcy5vcHRpb25zLnRvZ2dsZUR1cmF0aW9uJiYodGhpcy5vcHRpb25zLmNhcHR1cmVEdXJhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLl9zZXRPcHRpb24oInJlbWFpbmluZ0R1cmF0aW9uIiwhdGhpcy5vcHRpb25zLnJlbWFpbmluZ0R1cmF0aW9uKSl9LHNlZWtCYXI6ZnVuY3Rpb24oYil7aWYodGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgpe3ZhciBjPWEoYi5jdXJyZW50VGFyZ2V0KSxkPWMub2Zmc2V0KCksZT1iLnBhZ2VYLWQubGVmdCxmPWMud2lkdGgoKSxnPTEwMCplL2Y7dGhpcy5wbGF5SGVhZChnKX19LHBsYXliYWNrUmF0ZTpmdW5jdGlvbihhKXt0aGlzLl9zZXRPcHRpb24oInBsYXliYWNrUmF0ZSIsYSl9LHBsYXliYWNrUmF0ZUJhcjpmdW5jdGlvbihiKXtpZih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoKXt2YXIgYyxkLGU9YShiLmN1cnJlbnRUYXJnZXQpLGY9ZS5vZmZzZXQoKSxnPWIucGFnZVgtZi5sZWZ0LGg9ZS53aWR0aCgpLGk9ZS5oZWlnaHQoKS1iLnBhZ2VZK2YudG9wLGo9ZS5oZWlnaHQoKTtjPXRoaXMub3B0aW9ucy52ZXJ0aWNhbFBsYXliYWNrUmF0ZT9pL2o6Zy9oLGQ9YyoodGhpcy5vcHRpb25zLm1heFBsYXliYWNrUmF0ZS10aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlKSt0aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlLHRoaXMucGxheWJhY2tSYXRlKGQpfX0sX3VwZGF0ZVBsYXliYWNrUmF0ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucy5wbGF5YmFja1JhdGUsYj0oYS10aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlKS8odGhpcy5vcHRpb25zLm1heFBsYXliYWNrUmF0ZS10aGlzLm9wdGlvbnMubWluUGxheWJhY2tSYXRlKTt0aGlzLnN0YXR1cy5wbGF5YmFja1JhdGVFbmFibGVkPyh0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoJiZ0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIuc2hvdygpLHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmxlbmd0aCYmKHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLnNob3coKSx0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXJWYWx1ZVt0aGlzLm9wdGlvbnMudmVydGljYWxQbGF5YmFja1JhdGU/ImhlaWdodCI6IndpZHRoIl0oMTAwKmIrIiUiKSkpOih0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIubGVuZ3RoJiZ0aGlzLmNzcy5qcS5wbGF5YmFja1JhdGVCYXIuaGlkZSgpLHRoaXMuY3NzLmpxLnBsYXliYWNrUmF0ZUJhclZhbHVlLmxlbmd0aCYmdGhpcy5jc3MuanEucGxheWJhY2tSYXRlQmFyVmFsdWUuaGlkZSgpKX0scmVwZWF0OmZ1bmN0aW9uKGEpe3ZhciBiPSJvYmplY3QiPT10eXBlb2YgYTt0aGlzLl9sb29wKGImJnRoaXMub3B0aW9ucy51c2VTdGF0ZUNsYXNzU2tpbiYmdGhpcy5vcHRpb25zLmxvb3A/ITE6ITApfSxyZXBlYXRPZmY6ZnVuY3Rpb24oKXt0aGlzLl9sb29wKCExKX0sX2xvb3A6ZnVuY3Rpb24oYil7dGhpcy5vcHRpb25zLmxvb3AhPT1iJiYodGhpcy5vcHRpb25zLmxvb3A9Yix0aGlzLl91cGRhdGVCdXR0b25zKCksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucmVwZWF0KSl9LG9wdGlvbjpmdW5jdGlvbihjLGQpe3ZhciBlPWM7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGEuZXh0ZW5kKCEwLHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiBjKXt2YXIgZj1jLnNwbGl0KCIuIik7aWYoZD09PWIpe2Zvcih2YXIgZz1hLmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnMpLGg9MDtoPGYubGVuZ3RoO2grKyl7aWYoZ1tmW2hdXT09PWIpcmV0dXJuIHRoaXMuX3dhcm5pbmcoe3R5cGU6YS5qUGxheWVyLndhcm5pbmcuT1BUSU9OX0tFWSxjb250ZXh0OmMsbWVzc2FnZTphLmpQbGF5ZXIud2FybmluZ01zZy5PUFRJT05fS0VZLGhpbnQ6YS5qUGxheWVyLndhcm5pbmdIaW50Lk9QVElPTl9LRVl9KSxiO2c9Z1tmW2hdXX1yZXR1cm4gZ31lPXt9O2Zvcih2YXIgaT1lLGo9MDtqPGYubGVuZ3RoO2orKylqPGYubGVuZ3RoLTE/KGlbZltqXV09e30saT1pW2Zbal1dKTppW2Zbal1dPWR9cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoZSksdGhpc30sX3NldE9wdGlvbnM6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztyZXR1cm4gYS5lYWNoKGIsZnVuY3Rpb24oYSxiKXtjLl9zZXRPcHRpb24oYSxiKX0pLHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO3N3aXRjaChiKXtjYXNlInZvbHVtZSI6dGhpcy52b2x1bWUoYyk7YnJlYWs7Y2FzZSJtdXRlZCI6dGhpcy5fbXV0ZWQoYyk7YnJlYWs7Y2FzZSJnbG9iYWxWb2x1bWUiOnRoaXMub3B0aW9uc1tiXT1jO2JyZWFrO2Nhc2UiY3NzU2VsZWN0b3JBbmNlc3RvciI6dGhpcy5fY3NzU2VsZWN0b3JBbmNlc3RvcihjKTticmVhaztjYXNlImNzc1NlbGVjdG9yIjphLmVhY2goYyxmdW5jdGlvbihhLGIpe2QuX2Nzc1NlbGVjdG9yKGEsYil9KTticmVhaztjYXNlInBsYXliYWNrUmF0ZSI6dGhpcy5vcHRpb25zW2JdPWM9dGhpcy5fbGltaXRWYWx1ZShjLHRoaXMub3B0aW9ucy5taW5QbGF5YmFja1JhdGUsdGhpcy5vcHRpb25zLm1heFBsYXliYWNrUmF0ZSksdGhpcy5odG1sLnVzZWQmJnRoaXMuX2h0bWxfc2V0UHJvcGVydHkoInBsYXliYWNrUmF0ZSIsYyksdGhpcy5fdXBkYXRlUGxheWJhY2tSYXRlKCk7YnJlYWs7Y2FzZSJkZWZhdWx0UGxheWJhY2tSYXRlIjp0aGlzLm9wdGlvbnNbYl09Yz10aGlzLl9saW1pdFZhbHVlKGMsdGhpcy5vcHRpb25zLm1pblBsYXliYWNrUmF0ZSx0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlKSx0aGlzLmh0bWwudXNlZCYmdGhpcy5faHRtbF9zZXRQcm9wZXJ0eSgiZGVmYXVsdFBsYXliYWNrUmF0ZSIsYyksdGhpcy5fdXBkYXRlUGxheWJhY2tSYXRlKCk7YnJlYWs7Y2FzZSJtaW5QbGF5YmFja1JhdGUiOnRoaXMub3B0aW9uc1tiXT1jPXRoaXMuX2xpbWl0VmFsdWUoYywuMSx0aGlzLm9wdGlvbnMubWF4UGxheWJhY2tSYXRlLS4xKSx0aGlzLl91cGRhdGVQbGF5YmFja1JhdGUoKTticmVhaztjYXNlIm1heFBsYXliYWNrUmF0ZSI6dGhpcy5vcHRpb25zW2JdPWM9dGhpcy5fbGltaXRWYWx1ZShjLHRoaXMub3B0aW9ucy5taW5QbGF5YmFja1JhdGUrLjEsMTYpLHRoaXMuX3VwZGF0ZVBsYXliYWNrUmF0ZSgpO2JyZWFrO2Nhc2UiZnVsbFNjcmVlbiI6aWYodGhpcy5vcHRpb25zW2JdIT09Yyl7dmFyIGU9YS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4udXNlZC53ZWJraXRWaWRlbzsoIWV8fGUmJiF0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkmJihlfHwodGhpcy5vcHRpb25zW2JdPWMpLGM/dGhpcy5fcmVxdWVzdEZ1bGxzY3JlZW4oKTp0aGlzLl9leGl0RnVsbHNjcmVlbigpLGV8fHRoaXMuX3NldE9wdGlvbigiZnVsbFdpbmRvdyIsYykpfWJyZWFrO2Nhc2UiZnVsbFdpbmRvdyI6dGhpcy5vcHRpb25zW2JdIT09YyYmKHRoaXMuX3JlbW92ZVVpQ2xhc3MoKSx0aGlzLm9wdGlvbnNbYl09Yyx0aGlzLl9yZWZyZXNoU2l6ZSgpKTticmVhaztjYXNlInNpemUiOnRoaXMub3B0aW9ucy5mdWxsV2luZG93fHx0aGlzLm9wdGlvbnNbYl0uY3NzQ2xhc3M9PT1jLmNzc0NsYXNzfHx0aGlzLl9yZW1vdmVVaUNsYXNzKCksdGhpcy5vcHRpb25zW2JdPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tiXSxjKSx0aGlzLl9yZWZyZXNoU2l6ZSgpO2JyZWFrO2Nhc2Uic2l6ZUZ1bGwiOnRoaXMub3B0aW9ucy5mdWxsV2luZG93JiZ0aGlzLm9wdGlvbnNbYl0uY3NzQ2xhc3MhPT1jLmNzc0NsYXNzJiZ0aGlzLl9yZW1vdmVVaUNsYXNzKCksdGhpcy5vcHRpb25zW2JdPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tiXSxjKSx0aGlzLl9yZWZyZXNoU2l6ZSgpO2JyZWFrO2Nhc2UiYXV0b2hpZGUiOnRoaXMub3B0aW9uc1tiXT1hLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnNbYl0sYyksdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTticmVhaztjYXNlImxvb3AiOnRoaXMuX2xvb3AoYyk7YnJlYWs7Y2FzZSJyZW1haW5pbmdEdXJhdGlvbiI6dGhpcy5vcHRpb25zW2JdPWMsdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7YnJlYWs7Y2FzZSJ0b2dnbGVEdXJhdGlvbiI6dGhpcy5vcHRpb25zW2JdPWM7YnJlYWs7Y2FzZSJuYXRpdmVWaWRlb0NvbnRyb2xzIjp0aGlzLm9wdGlvbnNbYl09YS5leHRlbmQoe30sdGhpcy5vcHRpb25zW2JdLGMpLHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHM9dGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpLHRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpLHRoaXMuX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHMoKTticmVhaztjYXNlIm5vRnVsbFdpbmRvdyI6dGhpcy5vcHRpb25zW2JdPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tiXSxjKSx0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzPXRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5uYXRpdmVWaWRlb0NvbnRyb2xzKSx0aGlzLnN0YXR1cy5ub0Z1bGxXaW5kb3c9dGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5vRnVsbFdpbmRvdyksdGhpcy5fcmVzdHJpY3ROYXRpdmVWaWRlb0NvbnRyb2xzKCksdGhpcy5fdXBkYXRlQnV0dG9ucygpO2JyZWFrO2Nhc2Uibm9Wb2x1bWUiOnRoaXMub3B0aW9uc1tiXT1hLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnNbYl0sYyksdGhpcy5zdGF0dXMubm9Wb2x1bWU9dGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5vVm9sdW1lKSx0aGlzLl91cGRhdGVWb2x1bWUoKSx0aGlzLl91cGRhdGVNdXRlKCk7YnJlYWs7Y2FzZSJlbXVsYXRlSHRtbCI6dGhpcy5vcHRpb25zW2JdIT09YyYmKHRoaXMub3B0aW9uc1tiXT1jLGM/dGhpcy5fZW11bGF0ZUh0bWxCcmlkZ2UoKTp0aGlzLl9kZXN0cm95SHRtbEJyaWRnZSgpKTticmVhaztjYXNlInRpbWVGb3JtYXQiOnRoaXMub3B0aW9uc1tiXT1hLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnNbYl0sYyk7YnJlYWs7Y2FzZSJrZXlFbmFibGVkIjp0aGlzLm9wdGlvbnNbYl09YyxjfHx0aGlzIT09YS5qUGxheWVyLmZvY3VzfHwoYS5qUGxheWVyLmZvY3VzPW51bGwpO2JyZWFrO2Nhc2Uia2V5QmluZGluZ3MiOnRoaXMub3B0aW9uc1tiXT1hLmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnNbYl0sYyk7YnJlYWs7Y2FzZSJhdWRpb0Z1bGxTY3JlZW4iOnRoaXMub3B0aW9uc1tiXT1jO2JyZWFrO2Nhc2UiYXV0b0JsdXIiOnRoaXMub3B0aW9uc1tiXT1jfXJldHVybiB0aGlzfSxfcmVmcmVzaFNpemU6ZnVuY3Rpb24oKXt0aGlzLl9zZXRTaXplKCksdGhpcy5fYWRkVWlDbGFzcygpLHRoaXMuX3VwZGF0ZVNpemUoKSx0aGlzLl91cGRhdGVCdXR0b25zKCksdGhpcy5fdXBkYXRlQXV0b2hpZGUoKSx0aGlzLl90cmlnZ2VyKGEualBsYXllci5ldmVudC5yZXNpemUpfSxfc2V0U2l6ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5mdWxsV2luZG93Pyh0aGlzLnN0YXR1cy53aWR0aD10aGlzLm9wdGlvbnMuc2l6ZUZ1bGwud2lkdGgsdGhpcy5zdGF0dXMuaGVpZ2h0PXRoaXMub3B0aW9ucy5zaXplRnVsbC5oZWlnaHQsdGhpcy5zdGF0dXMuY3NzQ2xhc3M9dGhpcy5vcHRpb25zLnNpemVGdWxsLmNzc0NsYXNzKToodGhpcy5zdGF0dXMud2lkdGg9dGhpcy5vcHRpb25zLnNpemUud2lkdGgsdGhpcy5zdGF0dXMuaGVpZ2h0PXRoaXMub3B0aW9ucy5zaXplLmhlaWdodCx0aGlzLnN0YXR1cy5jc3NDbGFzcz10aGlzLm9wdGlvbnMuc2l6ZS5jc3NDbGFzcyksdGhpcy5lbGVtZW50LmNzcyh7d2lkdGg6dGhpcy5zdGF0dXMud2lkdGgsaGVpZ2h0OnRoaXMuc3RhdHVzLmhlaWdodH0pfSxfYWRkVWlDbGFzczpmdW5jdGlvbigpe3RoaXMuYW5jZXN0b3JKcS5sZW5ndGgmJnRoaXMuYW5jZXN0b3JKcS5hZGRDbGFzcyh0aGlzLnN0YXR1cy5jc3NDbGFzcyl9LF9yZW1vdmVVaUNsYXNzOmZ1bmN0aW9uKCl7dGhpcy5hbmNlc3RvckpxLmxlbmd0aCYmdGhpcy5hbmNlc3RvckpxLnJlbW92ZUNsYXNzKHRoaXMuc3RhdHVzLmNzc0NsYXNzKX0sX3VwZGF0ZVNpemU6ZnVuY3Rpb24oKXt0aGlzLmludGVybmFsLnBvc3Rlci5qcS5jc3Moe3dpZHRoOnRoaXMuc3RhdHVzLndpZHRoLGhlaWdodDp0aGlzLnN0YXR1cy5oZWlnaHR9KSwhdGhpcy5zdGF0dXMud2FpdEZvclBsYXkmJnRoaXMuaHRtbC5hY3RpdmUmJnRoaXMuc3RhdHVzLnZpZGVvfHx0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlJiZ0aGlzLmh0bWwudXNlZCYmdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scz90aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7d2lkdGg6dGhpcy5zdGF0dXMud2lkdGgsaGVpZ2h0OnRoaXMuc3RhdHVzLmhlaWdodH0pOiF0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSYmdGhpcy5mbGFzaC5hY3RpdmUmJnRoaXMuc3RhdHVzLnZpZGVvJiZ0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7d2lkdGg6dGhpcy5zdGF0dXMud2lkdGgsaGVpZ2h0OnRoaXMuc3RhdHVzLmhlaWdodH0pfSxfdXBkYXRlQXV0b2hpZGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9Im1vdXNlbW92ZS5qUGxheWVyIixjPSIualBsYXllckF1dG9oaWRlIixkPWIrYyxlPWZ1bmN0aW9uKGIpe3ZhciBjLGQsZT0hMTsidW5kZWZpbmVkIiE9dHlwZW9mIGEuaW50ZXJuYWwubW91c2U/KGM9YS5pbnRlcm5hbC5tb3VzZS54LWIucGFnZVgsZD1hLmludGVybmFsLm1vdXNlLnktYi5wYWdlWSxlPU1hdGguZmxvb3IoYyk+MHx8TWF0aC5mbG9vcihkKT4wKTplPSEwLGEuaW50ZXJuYWwubW91c2U9e3g6Yi5wYWdlWCx5OmIucGFnZVl9LGUmJmEuY3NzLmpxLmd1aS5mYWRlSW4oYS5vcHRpb25zLmF1dG9oaWRlLmZhZGVJbixmdW5jdGlvbigpe2NsZWFyVGltZW91dChhLmludGVybmFsLmF1dG9oaWRlSWQpLGEuaW50ZXJuYWwuYXV0b2hpZGVJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5jc3MuanEuZ3VpLmZhZGVPdXQoYS5vcHRpb25zLmF1dG9oaWRlLmZhZGVPdXQpfSxhLm9wdGlvbnMuYXV0b2hpZGUuaG9sZCl9KX07dGhpcy5jc3MuanEuZ3VpLmxlbmd0aCYmKHRoaXMuY3NzLmpxLmd1aS5zdG9wKCEwLCEwKSxjbGVhclRpbWVvdXQodGhpcy5pbnRlcm5hbC5hdXRvaGlkZUlkKSxkZWxldGUgdGhpcy5pbnRlcm5hbC5tb3VzZSx0aGlzLmVsZW1lbnQudW5iaW5kKGMpLHRoaXMuY3NzLmpxLmd1aS51bmJpbmQoYyksdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scz90aGlzLmNzcy5qcS5ndWkuaGlkZSgpOnRoaXMub3B0aW9ucy5mdWxsV2luZG93JiZ0aGlzLm9wdGlvbnMuYXV0b2hpZGUuZnVsbHx8IXRoaXMub3B0aW9ucy5mdWxsV2luZG93JiZ0aGlzLm9wdGlvbnMuYXV0b2hpZGUucmVzdG9yZWQ/KHRoaXMuZWxlbWVudC5iaW5kKGQsZSksdGhpcy5jc3MuanEuZ3VpLmJpbmQoZCxlKSx0aGlzLmNzcy5qcS5ndWkuaGlkZSgpKTp0aGlzLmNzcy5qcS5ndWkuc2hvdygpKX0sZnVsbFNjcmVlbjpmdW5jdGlvbihhKXt2YXIgYj0ib2JqZWN0Ij09dHlwZW9mIGE7YiYmdGhpcy5vcHRpb25zLnVzZVN0YXRlQ2xhc3NTa2luJiZ0aGlzLm9wdGlvbnMuZnVsbFNjcmVlbj90aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCExKTp0aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCEwKX0scmVzdG9yZVNjcmVlbjpmdW5jdGlvbigpe3RoaXMuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsITEpfSxfZnVsbHNjcmVlbkFkZEV2ZW50TGlzdGVuZXJzOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPWEualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuO2MuYXBpLmZ1bGxzY3JlZW5FbmFibGVkJiZjLmV2ZW50LmZ1bGxzY3JlZW5jaGFuZ2UmJigiZnVuY3Rpb24iIT10eXBlb2YgdGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlciYmKHRoaXMuaW50ZXJuYWwuZnVsbHNjcmVlbmNoYW5nZUhhbmRsZXI9ZnVuY3Rpb24oKXtiLl9mdWxsc2NyZWVuY2hhbmdlKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGMuZXZlbnQuZnVsbHNjcmVlbmNoYW5nZSx0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyLCExKSl9LF9mdWxsc2NyZWVuUmVtb3ZlRXZlbnRMaXN0ZW5lcnM6ZnVuY3Rpb24oKXt2YXIgYj1hLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbjt0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnQuZnVsbHNjcmVlbmNoYW5nZSx0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyLCExKX0sX2Z1bGxzY3JlZW5jaGFuZ2U6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuZnVsbFNjcmVlbiYmIWEualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuLmFwaS5mdWxsc2NyZWVuRWxlbWVudCgpJiZ0aGlzLl9zZXRPcHRpb24oImZ1bGxTY3JlZW4iLCExKX0sX3JlcXVlc3RGdWxsc2NyZWVuOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5hbmNlc3RvckpxLmxlbmd0aD90aGlzLmFuY2VzdG9ySnFbMF06dGhpcy5lbGVtZW50WzBdLGM9YS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47Yy51c2VkLndlYmtpdFZpZGVvJiYoYj10aGlzLmh0bWxFbGVtZW50LnZpZGVvKSxjLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCYmYy5hcGkucmVxdWVzdEZ1bGxzY3JlZW4oYil9LF9leGl0RnVsbHNjcmVlbjpmdW5jdGlvbigpe3ZhciBiLGM9YS5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47Yy51c2VkLndlYmtpdFZpZGVvJiYoYj10aGlzLmh0bWxFbGVtZW50LnZpZGVvKSxjLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCYmYy5hcGkuZXhpdEZ1bGxzY3JlZW4oYil9LF9odG1sX2luaXRNZWRpYTpmdW5jdGlvbihiKXt2YXIgYz1hKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEpLmVtcHR5KCk7YS5lYWNoKGIudHJhY2t8fFtdLGZ1bmN0aW9uKGEsYil7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHJhY2siKTtkLnNldEF0dHJpYnV0ZSgia2luZCIsYi5raW5kP2Iua2luZDoiIiksZC5zZXRBdHRyaWJ1dGUoInNyYyIsYi5zcmM/Yi5zcmM6IiIpLGQuc2V0QXR0cmlidXRlKCJzcmNsYW5nIixiLnNyY2xhbmc/Yi5zcmNsYW5nOiIiKSxkLnNldEF0dHJpYnV0ZSgibGFiZWwiLGIubGFiZWw/Yi5sYWJlbDoiIiksYi5kZWYmJmQuc2V0QXR0cmlidXRlKCJkZWZhdWx0IixiLmRlZiksYy5hcHBlbmQoZCl9KSx0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLnNyYz10aGlzLnN0YXR1cy5zcmMsIm5vbmUiIT09dGhpcy5vcHRpb25zLnByZWxvYWQmJnRoaXMuX2h0bWxfbG9hZCgpLHRoaXMuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LnRpbWV1cGRhdGUpfSxfaHRtbF9zZXRGb3JtYXQ6ZnVuY3Rpb24oYil7dmFyIGM9dGhpczthLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGEsZCl7cmV0dXJuIGMuaHRtbC5zdXBwb3J0W2RdJiZiW2RdPyhjLnN0YXR1cy5zcmM9YltkXSxjLnN0YXR1cy5mb3JtYXRbZF09ITAsYy5zdGF0dXMuZm9ybWF0VHlwZT1kLCExKTp2b2lkIDB9KX0sX2h0bWxfc2V0QXVkaW86ZnVuY3Rpb24oYSl7dGhpcy5faHRtbF9zZXRGb3JtYXQoYSksdGhpcy5odG1sRWxlbWVudC5tZWRpYT10aGlzLmh0bWxFbGVtZW50LmF1ZGlvLHRoaXMuX2h0bWxfaW5pdE1lZGlhKGEpfSxfaHRtbF9zZXRWaWRlbzpmdW5jdGlvbihhKXt0aGlzLl9odG1sX3NldEZvcm1hdChhKSx0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzJiYodGhpcy5odG1sRWxlbWVudC52aWRlby5wb3N0ZXI9dGhpcy5fdmFsaWRTdHJpbmcoYS5wb3N0ZXIpP2EucG9zdGVyOiIiKSx0aGlzLmh0bWxFbGVtZW50Lm1lZGlhPXRoaXMuaHRtbEVsZW1lbnQudmlkZW8sdGhpcy5faHRtbF9pbml0TWVkaWEoYSl9LF9odG1sX3Jlc2V0TWVkaWE6ZnVuY3Rpb24oKXt0aGlzLmh0bWxFbGVtZW50Lm1lZGlhJiYodGhpcy5odG1sRWxlbWVudC5tZWRpYS5pZCE9PXRoaXMuaW50ZXJuYWwudmlkZW8uaWR8fHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHN8fHRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHt3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCJ9KSx0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLnBhdXNlKCkpfSxfaHRtbF9jbGVhck1lZGlhOmZ1bmN0aW9uKCl7dGhpcy5odG1sRWxlbWVudC5tZWRpYSYmKHRoaXMuaHRtbEVsZW1lbnQubWVkaWEuc3JjPSJhYm91dDpibGFuayIsdGhpcy5odG1sRWxlbWVudC5tZWRpYS5sb2FkKCkpfSxfaHRtbF9sb2FkOmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMud2FpdEZvckxvYWQmJih0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZD0hMSx0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLmxvYWQoKSksY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKX0sX2h0bWxfcGxheTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5odG1sRWxlbWVudC5tZWRpYTtpZih0aGlzLmFuZHJvaWRGaXgucGF1c2U9ITEsdGhpcy5faHRtbF9sb2FkKCksdGhpcy5hbmRyb2lkRml4LnNldE1lZGlhKXRoaXMuYW5kcm9pZEZpeC5wbGF5PSEwLHRoaXMuYW5kcm9pZEZpeC50aW1lPWE7ZWxzZSBpZihpc05hTihhKSljLnBsYXkoKTtlbHNle3RoaXMuaW50ZXJuYWwuY21kc0lnbm9yZWQmJmMucGxheSgpO3RyeXtpZihjLnNlZWthYmxlJiYhKCJvYmplY3QiPT10eXBlb2YgYy5zZWVrYWJsZSYmYy5zZWVrYWJsZS5sZW5ndGg+MCkpdGhyb3cgMTtjLmN1cnJlbnRUaW1lPWEsYy5wbGF5KCl9Y2F0Y2goZCl7cmV0dXJuIHZvaWQodGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQ9c2V0VGltZW91dChmdW5jdGlvbigpe2IucGxheShhKX0sMjUwKSl9fXRoaXMuX2h0bWxfY2hlY2tXYWl0Rm9yUGxheSgpfSxfaHRtbF9wYXVzZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5odG1sRWxlbWVudC5tZWRpYTtpZih0aGlzLmFuZHJvaWRGaXgucGxheT0hMSxhPjA/dGhpcy5faHRtbF9sb2FkKCk6Y2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKSxjLnBhdXNlKCksdGhpcy5hbmRyb2lkRml4LnNldE1lZGlhKXRoaXMuYW5kcm9pZEZpeC5wYXVzZT0hMCx0aGlzLmFuZHJvaWRGaXgudGltZT1hO2Vsc2UgaWYoIWlzTmFOKGEpKXRyeXtpZihjLnNlZWthYmxlJiYhKCJvYmplY3QiPT10eXBlb2YgYy5zZWVrYWJsZSYmYy5zZWVrYWJsZS5sZW5ndGg+MCkpdGhyb3cgMTtjLmN1cnJlbnRUaW1lPWF9Y2F0Y2goZCl7cmV0dXJuIHZvaWQodGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQ9c2V0VGltZW91dChmdW5jdGlvbigpe2IucGF1c2UoYSl9LDI1MCkpfWE+MCYmdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCl9LF9odG1sX3BsYXlIZWFkOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz10aGlzLmh0bWxFbGVtZW50Lm1lZGlhO3RoaXMuX2h0bWxfbG9hZCgpO3RyeXtpZigib2JqZWN0Ij09dHlwZW9mIGMuc2Vla2FibGUmJmMuc2Vla2FibGUubGVuZ3RoPjApYy5jdXJyZW50VGltZT1hKmMuc2Vla2FibGUuZW5kKGMuc2Vla2FibGUubGVuZ3RoLTEpLzEwMDtlbHNle2lmKCEoYy5kdXJhdGlvbj4wKXx8aXNOYU4oYy5kdXJhdGlvbikpdGhyb3ciZSI7Yy5jdXJyZW50VGltZT1hKmMuZHVyYXRpb24vMTAwfX1jYXRjaChkKXtyZXR1cm4gdm9pZCh0aGlzLmludGVybmFsLmh0bWxEbHlDbWRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5wbGF5SGVhZChhKX0sMjUwKSl9dGhpcy5zdGF0dXMud2FpdEZvckxvYWR8fHRoaXMuX2h0bWxfY2hlY2tXYWl0Rm9yUGxheSgpfSxfaHRtbF9jaGVja1dhaXRGb3JQbGF5OmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMud2FpdEZvclBsYXkmJih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheT0hMSx0aGlzLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoJiZ0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpLHRoaXMuc3RhdHVzLnZpZGVvJiYodGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpLHRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHt3aWR0aDp0aGlzLnN0YXR1cy53aWR0aCxoZWlnaHQ6dGhpcy5zdGF0dXMuaGVpZ2h0fSkpKX0sX2h0bWxfc2V0UHJvcGVydHk6ZnVuY3Rpb24oYSxiKXt0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlJiYodGhpcy5odG1sRWxlbWVudC5hdWRpb1thXT1iKSx0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlJiYodGhpcy5odG1sRWxlbWVudC52aWRlb1thXT1iKX0sX2F1cm9yYV9zZXRBdWRpbzpmdW5jdGlvbihiKXt2YXIgYz10aGlzO2EuZWFjaCh0aGlzLmZvcm1hdHMsZnVuY3Rpb24oYSxkKXtyZXR1cm4gYy5hdXJvcmEuc3VwcG9ydFtkXSYmYltkXT8oYy5zdGF0dXMuc3JjPWJbZF0sYy5zdGF0dXMuZm9ybWF0W2RdPSEwLGMuc3RhdHVzLmZvcm1hdFR5cGU9ZCwhMSk6dm9pZCAwfSksdGhpcy5hdXJvcmEucGxheWVyPW5ldyBBVi5QbGF5ZXIuZnJvbVVSTCh0aGlzLnN0YXR1cy5zcmMpLHRoaXMuX2FkZEF1cm9yYUV2ZW50TGlzdGVuZXJzKHRoaXMuYXVyb3JhLnBsYXllcix0aGlzLmF1cm9yYSksImF1dG8iPT09dGhpcy5vcHRpb25zLnByZWxvYWQmJih0aGlzLl9hdXJvcmFfbG9hZCgpLHRoaXMuc3RhdHVzLndhaXRGb3JMb2FkPSExKX0sX2F1cm9yYV9yZXNldE1lZGlhOmZ1bmN0aW9uKCl7dGhpcy5hdXJvcmEucGxheWVyJiZ0aGlzLmF1cm9yYS5wbGF5ZXIuc3RvcCgpfSxfYXVyb3JhX2NsZWFyTWVkaWE6ZnVuY3Rpb24oKXt9LF9hdXJvcmFfbG9hZDpmdW5jdGlvbigpe3RoaXMuc3RhdHVzLndhaXRGb3JMb2FkJiYodGhpcy5zdGF0dXMud2FpdEZvckxvYWQ9ITEsdGhpcy5hdXJvcmEucGxheWVyLnByZWxvYWQoKSl9LF9hdXJvcmFfcGxheTpmdW5jdGlvbihiKXt0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZHx8aXNOYU4oYil8fHRoaXMuYXVyb3JhLnBsYXllci5zZWVrKGIpLHRoaXMuYXVyb3JhLnBsYXllci5wbGF5aW5nfHx0aGlzLmF1cm9yYS5wbGF5ZXIucGxheSgpLHRoaXMuc3RhdHVzLndhaXRGb3JMb2FkPSExLHRoaXMuX2F1cm9yYV9jaGVja1dhaXRGb3JQbGF5KCksdGhpcy5fdXBkYXRlQnV0dG9ucyghMCksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucGxheSl9LF9hdXJvcmFfcGF1c2U6ZnVuY3Rpb24oYil7aXNOYU4oYil8fHRoaXMuYXVyb3JhLnBsYXllci5zZWVrKDFlMypiKSx0aGlzLmF1cm9yYS5wbGF5ZXIucGF1c2UoKSxiPjAmJnRoaXMuX2F1cm9yYV9jaGVja1dhaXRGb3JQbGF5KCksdGhpcy5fdXBkYXRlQnV0dG9ucyghMSksdGhpcy5fdHJpZ2dlcihhLmpQbGF5ZXIuZXZlbnQucGF1c2UpfSxfYXVyb3JhX3BsYXlIZWFkOmZ1bmN0aW9uKGEpe3RoaXMuYXVyb3JhLnBsYXllci5kdXJhdGlvbj4wJiZ0aGlzLmF1cm9yYS5wbGF5ZXIuc2VlayhhKnRoaXMuYXVyb3JhLnBsYXllci5kdXJhdGlvbi8xMDApLHRoaXMuc3RhdHVzLndhaXRGb3JMb2FkfHx0aGlzLl9hdXJvcmFfY2hlY2tXYWl0Rm9yUGxheSgpfSxfYXVyb3JhX2NoZWNrV2FpdEZvclBsYXk6ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSYmKHRoaXMuc3RhdHVzLndhaXRGb3JQbGF5PSExKX0sX2F1cm9yYV92b2x1bWU6ZnVuY3Rpb24oYSl7dGhpcy5hdXJvcmEucGxheWVyLnZvbHVtZT0xMDAqYX0sX2F1cm9yYV9tdXRlOmZ1bmN0aW9uKGEpe2E/KHRoaXMuYXVyb3JhLnByb3BlcnRpZXMubGFzdHZvbHVtZT10aGlzLmF1cm9yYS5wbGF5ZXIudm9sdW1lLHRoaXMuYXVyb3JhLnBsYXllci52b2x1bWU9MCk6dGhpcy5hdXJvcmEucGxheWVyLnZvbHVtZT10aGlzLmF1cm9yYS5wcm9wZXJ0aWVzLmxhc3R2b2x1bWUsdGhpcy5hdXJvcmEucHJvcGVydGllcy5tdXRlZD1hfSxfZmxhc2hfc2V0QXVkaW86ZnVuY3Rpb24oYil7dmFyIGM9dGhpczt0cnl7YS5lYWNoKHRoaXMuZm9ybWF0cyxmdW5jdGlvbihhLGQpe2lmKGMuZmxhc2guc3VwcG9ydFtkXSYmYltkXSl7c3dpdGNoKGQpe2Nhc2UibTRhIjpjYXNlImZsYSI6Yy5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19tNGEoYltkXSk7YnJlYWs7Y2FzZSJtcDMiOmMuX2dldE1vdmllKCkuZmxfc2V0QXVkaW9fbXAzKGJbZF0pO2JyZWFrO2Nhc2UicnRtcGEiOmMuX2dldE1vdmllKCkuZmxfc2V0QXVkaW9fcnRtcChiW2RdKX1yZXR1cm4gYy5zdGF0dXMuc3JjPWJbZF0sYy5zdGF0dXMuZm9ybWF0W2RdPSEwLGMuc3RhdHVzLmZvcm1hdFR5cGU9ZCwhMX19KSwiYXV0byI9PT10aGlzLm9wdGlvbnMucHJlbG9hZCYmKHRoaXMuX2ZsYXNoX2xvYWQoKSx0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZD0hMSl9Y2F0Y2goZCl7dGhpcy5fZmxhc2hFcnJvcihkKX19LF9mbGFzaF9zZXRWaWRlbzpmdW5jdGlvbihiKXt2YXIgYz10aGlzO3RyeXthLmVhY2godGhpcy5mb3JtYXRzLGZ1bmN0aW9uKGEsZCl7aWYoYy5mbGFzaC5zdXBwb3J0W2RdJiZiW2RdKXtzd2l0Y2goZCl7Y2FzZSJtNHYiOmNhc2UiZmx2IjpjLl9nZXRNb3ZpZSgpLmZsX3NldFZpZGVvX200dihiW2RdKTticmVhaztjYXNlInJ0bXB2IjpjLl9nZXRNb3ZpZSgpLmZsX3NldFZpZGVvX3J0bXAoYltkXSl9cmV0dXJuIGMuc3RhdHVzLnNyYz1iW2RdLGMuc3RhdHVzLmZvcm1hdFtkXT0hMCxjLnN0YXR1cy5mb3JtYXRUeXBlPWQsITF9fSksImF1dG8iPT09dGhpcy5vcHRpb25zLnByZWxvYWQmJih0aGlzLl9mbGFzaF9sb2FkKCksdGhpcy5zdGF0dXMud2FpdEZvckxvYWQ9ITEpfWNhdGNoKGQpe3RoaXMuX2ZsYXNoRXJyb3IoZCl9fSxfZmxhc2hfcmVzZXRNZWRpYTpmdW5jdGlvbigpe3RoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHt3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCJ9KSx0aGlzLl9mbGFzaF9wYXVzZSgwLzApfSxfZmxhc2hfY2xlYXJNZWRpYTpmdW5jdGlvbigpe3RyeXt0aGlzLl9nZXRNb3ZpZSgpLmZsX2NsZWFyTWVkaWEoKX1jYXRjaChhKXt0aGlzLl9mbGFzaEVycm9yKGEpfX0sX2ZsYXNoX2xvYWQ6ZnVuY3Rpb24oKXt0cnl7dGhpcy5fZ2V0TW92aWUoKS5mbF9sb2FkKCl9Y2F0Y2goYSl7dGhpcy5fZmxhc2hFcnJvcihhKX10aGlzLnN0YXR1cy53YWl0Rm9yTG9hZD0hMX0sX2ZsYXNoX3BsYXk6ZnVuY3Rpb24oYSl7dHJ5e3RoaXMuX2dldE1vdmllKCkuZmxfcGxheShhKX1jYXRjaChiKXt0aGlzLl9mbGFzaEVycm9yKGIpfXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkPSExLHRoaXMuX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXkoKX0sX2ZsYXNoX3BhdXNlOmZ1bmN0aW9uKGEpe3RyeXt0aGlzLl9nZXRNb3ZpZSgpLmZsX3BhdXNlKGEpfWNhdGNoKGIpe3RoaXMuX2ZsYXNoRXJyb3IoYil9YT4wJiYodGhpcy5zdGF0dXMud2FpdEZvckxvYWQ9ITEsdGhpcy5fZmxhc2hfY2hlY2tXYWl0Rm9yUGxheSgpKX0sX2ZsYXNoX3BsYXlIZWFkOmZ1bmN0aW9uKGEpe3RyeXt0aGlzLl9nZXRNb3ZpZSgpLmZsX3BsYXlfaGVhZChhKX1jYXRjaChiKXt0aGlzLl9mbGFzaEVycm9yKGIpfXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkfHx0aGlzLl9mbGFzaF9jaGVja1dhaXRGb3JQbGF5KCl9LF9mbGFzaF9jaGVja1dhaXRGb3JQbGF5OmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMud2FpdEZvclBsYXkmJih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheT0hMSx0aGlzLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoJiZ0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpLHRoaXMuc3RhdHVzLnZpZGVvJiYodGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpLHRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHt3aWR0aDp0aGlzLnN0YXR1cy53aWR0aCxoZWlnaHQ6dGhpcy5zdGF0dXMuaGVpZ2h0fSkpKX0sX2ZsYXNoX3ZvbHVtZTpmdW5jdGlvbihhKXt0cnl7dGhpcy5fZ2V0TW92aWUoKS5mbF92b2x1bWUoYSl9Y2F0Y2goYil7dGhpcy5fZmxhc2hFcnJvcihiKX19LF9mbGFzaF9tdXRlOmZ1bmN0aW9uKGEpe3RyeXt0aGlzLl9nZXRNb3ZpZSgpLmZsX211dGUoYSl9Y2F0Y2goYil7dGhpcy5fZmxhc2hFcnJvcihiKX19LF9nZXRNb3ZpZTpmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudFt0aGlzLmludGVybmFsLmZsYXNoLmlkXX0sX2dldEZsYXNoUGx1Z2luVmVyc2lvbjpmdW5jdGlvbigpe3ZhciBhLGI9MDtpZih3aW5kb3cuQWN0aXZlWE9iamVjdCl0cnl7aWYoYT1uZXcgQWN0aXZlWE9iamVjdCgiU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2giKSl7dmFyIGM9YS5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKTtjJiYoYz1jLnNwbGl0KCIgIilbMV0uc3BsaXQoIiwiKSxiPXBhcnNlSW50KGNbMF0sMTApKyIuIitwYXJzZUludChjWzFdLDEwKSl9fWNhdGNoKGQpe31lbHNlIG5hdmlnYXRvci5wbHVnaW5zJiZuYXZpZ2F0b3IubWltZVR5cGVzLmxlbmd0aD4wJiYoYT1uYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl0sYSYmKGI9bmF2aWdhdG9yLnBsdWdpbnNbIlNob2Nrd2F2ZSBGbGFzaCJdLmRlc2NyaXB0aW9uLnJlcGxhY2UoLy4qXHMoXGQrXC5cZCspLiovLCIkMSIpKSk7cmV0dXJuIDEqYn0sX2NoZWNrRm9yRmxhc2g6ZnVuY3Rpb24oYSl7dmFyIGI9ITE7cmV0dXJuIHRoaXMuX2dldEZsYXNoUGx1Z2luVmVyc2lvbigpPj1hJiYoYj0hMCksYn0sX3ZhbGlkU3RyaW5nOmZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RyaW5nIj09dHlwZW9mIGF9LF9saW1pdFZhbHVlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj5hP2I6YT5jP2M6YX0sX3VybE5vdFNldEVycm9yOmZ1bmN0aW9uKGIpe3RoaXMuX2Vycm9yKHt0eXBlOmEualBsYXllci5lcnJvci5VUkxfTk9UX1NFVCxjb250ZXh0OmIsbWVzc2FnZTphLmpQbGF5ZXIuZXJyb3JNc2cuVVJMX05PVF9TRVQsaGludDphLmpQbGF5ZXIuZXJyb3JIaW50LlVSTF9OT1RfU0VUfSl9LF9mbGFzaEVycm9yOmZ1bmN0aW9uKGIpe3ZhciBjO2M9dGhpcy5pbnRlcm5hbC5yZWFkeT8iRkxBU0hfRElTQUJMRUQiOiJGTEFTSCIsdGhpcy5fZXJyb3Ioe3R5cGU6YS5qUGxheWVyLmVycm9yW2NdLGNvbnRleHQ6dGhpcy5pbnRlcm5hbC5mbGFzaC5zd2YsbWVzc2FnZTphLmpQbGF5ZXIuZXJyb3JNc2dbY10rYi5tZXNzYWdlLGhpbnQ6YS5qUGxheWVyLmVycm9ySGludFtjXX0pLHRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHt3aWR0aDoiMXB4IixoZWlnaHQ6IjFweCJ9KX0sX2Vycm9yOmZ1bmN0aW9uKGIpe3RoaXMuX3RyaWdnZXIoYS5qUGxheWVyLmV2ZW50LmVycm9yLGIpLHRoaXMub3B0aW9ucy5lcnJvckFsZXJ0cyYmdGhpcy5fYWxlcnQoIkVycm9yISIrKGIubWVzc2FnZT8iXG4iK2IubWVzc2FnZToiIikrKGIuaGludD8iXG4iK2IuaGludDoiIikrIlxuQ29udGV4dDogIitiLmNvbnRleHQpfSxfd2FybmluZzpmdW5jdGlvbihjKXt0aGlzLl90cmlnZ2VyKGEualBsYXllci5ldmVudC53YXJuaW5nLGIsYyksdGhpcy5vcHRpb25zLndhcm5pbmdBbGVydHMmJnRoaXMuX2FsZXJ0KCJXYXJuaW5nISIrKGMubWVzc2FnZT8iXG4iK2MubWVzc2FnZToiIikrKGMuaGludD8iXG4iK2MuaGludDoiIikrIlxuQ29udGV4dDogIitjLmNvbnRleHQpfSxfYWxlcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9ImpQbGF5ZXIgIit0aGlzLnZlcnNpb24uc2NyaXB0KyIgOiBpZD0nIit0aGlzLmludGVybmFsLnNlbGYuaWQrIicgOiAiK2E7dGhpcy5vcHRpb25zLmNvbnNvbGVBbGVydHM/d2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLmxvZyYmd2luZG93LmNvbnNvbGUubG9nKGIpOmFsZXJ0KGIpfSxfZW11bGF0ZUh0bWxCcmlkZ2U6ZnVuY3Rpb24oKXt2YXIgYj10aGlzO2EuZWFjaChhLmpQbGF5ZXIuZW11bGF0ZU1ldGhvZHMuc3BsaXQoL1xzKy9nKSxmdW5jdGlvbihhLGMpe2IuaW50ZXJuYWwuZG9tTm9kZVtjXT1mdW5jdGlvbihhKXtiW2NdKGEpfX0pLGEuZWFjaChhLmpQbGF5ZXIuZXZlbnQsZnVuY3Rpb24oYyxkKXt2YXIgZT0hMDthLmVhY2goYS5qUGxheWVyLnJlc2VydmVkRXZlbnQuc3BsaXQoL1xzKy9nKSxmdW5jdGlvbihhLGIpe3JldHVybiBiPT09Yz8oZT0hMSwhMSk6dm9pZCAwfSksZSYmYi5lbGVtZW50LmJpbmQoZCsiLmpQbGF5ZXIualBsYXllckh0bWwiLGZ1bmN0aW9uKCl7Yi5fZW11bGF0ZUh0bWxVcGRhdGUoKTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTthLmluaXRFdmVudChjLCExLCEwKSxiLmludGVybmFsLmRvbU5vZGUuZGlzcGF0Y2hFdmVudChhKX0pfSl9LF9lbXVsYXRlSHRtbFVwZGF0ZTpmdW5jdGlvbigpe3ZhciBiPXRoaXM7YS5lYWNoKGEualBsYXllci5lbXVsYXRlU3RhdHVzLnNwbGl0KC9ccysvZyksZnVuY3Rpb24oYSxjKXtiLmludGVybmFsLmRvbU5vZGVbY109Yi5zdGF0dXNbY119KSxhLmVhY2goYS5qUGxheWVyLmVtdWxhdGVPcHRpb25zLnNwbGl0KC9ccysvZyksZnVuY3Rpb24oYSxjKXtiLmludGVybmFsLmRvbU5vZGVbY109Yi5vcHRpb25zW2NdfSl9LF9kZXN0cm95SHRtbEJyaWRnZTpmdW5jdGlvbigpe3ZhciBiPXRoaXM7dGhpcy5lbGVtZW50LnVuYmluZCgiLmpQbGF5ZXJIdG1sIik7dmFyIGM9YS5qUGxheWVyLmVtdWxhdGVNZXRob2RzKyIgIithLmpQbGF5ZXIuZW11bGF0ZVN0YXR1cysiICIrYS5qUGxheWVyLmVtdWxhdGVPcHRpb25zO2EuZWFjaChjLnNwbGl0KC9ccysvZyksZnVuY3Rpb24oYSxjKXtkZWxldGUgYi5pbnRlcm5hbC5kb21Ob2RlW2NdfSl9fSxhLmpQbGF5ZXIuZXJyb3I9e0ZMQVNIOiJlX2ZsYXNoIixGTEFTSF9ESVNBQkxFRDoiZV9mbGFzaF9kaXNhYmxlZCIsTk9fU09MVVRJT046ImVfbm9fc29sdXRpb24iLE5PX1NVUFBPUlQ6ImVfbm9fc3VwcG9ydCIsVVJMOiJlX3VybCIsVVJMX05PVF9TRVQ6ImVfdXJsX25vdF9zZXQiLFZFUlNJT046ImVfdmVyc2lvbiJ9LGEualBsYXllci5lcnJvck1zZz17RkxBU0g6ImpQbGF5ZXIncyBGbGFzaCBmYWxsYmFjayBpcyBub3QgY29uZmlndXJlZCBjb3JyZWN0bHksIG9yIGEgY29tbWFuZCB3YXMgaXNzdWVkIGJlZm9yZSB0aGUgalBsYXllciBSZWFkeSBldmVudC4gRGV0YWlsczogIixGTEFTSF9ESVNBQkxFRDoialBsYXllcidzIEZsYXNoIGZhbGxiYWNrIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBicm93c2VyIGR1ZSB0byB0aGUgQ1NTIHJ1bGVzIHlvdSBoYXZlIHVzZWQuIERldGFpbHM6ICIsTk9fU09MVVRJT046Ik5vIHNvbHV0aW9uIGNhbiBiZSBmb3VuZCBieSBqUGxheWVyIGluIHRoaXMgYnJvd3Nlci4gTmVpdGhlciBIVE1MIG5vciBGbGFzaCBjYW4gYmUgdXNlZC4iLE5PX1NVUFBPUlQ6Ikl0IGlzIG5vdCBwb3NzaWJsZSB0byBwbGF5IGFueSBtZWRpYSBmb3JtYXQgcHJvdmlkZWQgaW4gc2V0TWVkaWEoKSBvbiB0aGlzIGJyb3dzZXIgdXNpbmcgeW91ciBjdXJyZW50IG9wdGlvbnMuIixVUkw6Ik1lZGlhIFVSTCBjb3VsZCBub3QgYmUgbG9hZGVkLiIsVVJMX05PVF9TRVQ6IkF0dGVtcHQgdG8gaXNzdWUgbWVkaWEgcGxheWJhY2sgY29tbWFuZHMsIHdoaWxlIG5vIG1lZGlhIHVybCBpcyBzZXQuIixWRVJTSU9OOiJqUGxheWVyICIrYS5qUGxheWVyLnByb3RvdHlwZS52ZXJzaW9uLnNjcmlwdCsiIG5lZWRzIEpwbGF5ZXIuc3dmIHZlcnNpb24gIithLmpQbGF5ZXIucHJvdG90eXBlLnZlcnNpb24ubmVlZEZsYXNoKyIgYnV0IGZvdW5kICJ9LGEualBsYXllci5lcnJvckhpbnQ9e0ZMQVNIOiJDaGVjayB5b3VyIHN3ZlBhdGggb3B0aW9uIGFuZCB0aGF0IEpwbGF5ZXIuc3dmIGlzIHRoZXJlLiIsRkxBU0hfRElTQUJMRUQ6IkNoZWNrIHRoYXQgeW91IGhhdmUgbm90IGRpc3BsYXk6bm9uZTsgdGhlIGpQbGF5ZXIgZW50aXR5IG9yIGFueSBhbmNlc3Rvci4iLE5PX1NPTFVUSU9OOiJSZXZpZXcgdGhlIGpQbGF5ZXIgb3B0aW9uczogc3VwcG9ydCBhbmQgc3VwcGxpZWQuIixOT19TVVBQT1JUOiJWaWRlbyBvciBhdWRpbyBmb3JtYXRzIGRlZmluZWQgaW4gdGhlIHN1cHBsaWVkIG9wdGlvbiBhcmUgbWlzc2luZy4iLFVSTDoiQ2hlY2sgbWVkaWEgVVJMIGlzIHZhbGlkLiIsVVJMX05PVF9TRVQ6IlVzZSBzZXRNZWRpYSgpIHRvIHNldCB0aGUgbWVkaWEgVVJMLiIsVkVSU0lPTjoiVXBkYXRlIGpQbGF5ZXIgZmlsZXMuIn0sYS5qUGxheWVyLndhcm5pbmc9e0NTU19TRUxFQ1RPUl9DT1VOVDoiZV9jc3Nfc2VsZWN0b3JfY291bnQiLENTU19TRUxFQ1RPUl9NRVRIT0Q6ImVfY3NzX3NlbGVjdG9yX21ldGhvZCIsQ1NTX1NFTEVDVE9SX1NUUklORzoiZV9jc3Nfc2VsZWN0b3Jfc3RyaW5nIixPUFRJT05fS0VZOiJlX29wdGlvbl9rZXkifSxhLmpQbGF5ZXIud2FybmluZ01zZz17Q1NTX1NFTEVDVE9SX0NPVU5UOiJUaGUgbnVtYmVyIG9mIGNzcyBzZWxlY3RvcnMgZm91bmQgZGlkIG5vdCBlcXVhbCBvbmU6ICIsQ1NTX1NFTEVDVE9SX01FVEhPRDoiVGhlIG1ldGhvZE5hbWUgZ2l2ZW4gaW4galBsYXllcignY3NzU2VsZWN0b3InKSBpcyBub3QgYSB2YWxpZCBqUGxheWVyIG1ldGhvZC4iLENTU19TRUxFQ1RPUl9TVFJJTkc6IlRoZSBtZXRob2RDc3NTZWxlY3RvciBnaXZlbiBpbiBqUGxheWVyKCdjc3NTZWxlY3RvcicpIGlzIG5vdCBhIFN0cmluZyBvciBpcyBlbXB0eS4iLE9QVElPTl9LRVk6IlRoZSBvcHRpb24gcmVxdWVzdGVkIGluIGpQbGF5ZXIoJ29wdGlvbicpIGlzIHVuZGVmaW5lZC4ifSxhLmpQbGF5ZXIud2FybmluZ0hpbnQ9e0NTU19TRUxFQ1RPUl9DT1VOVDoiQ2hlY2sgeW91ciBjc3Mgc2VsZWN0b3IgYW5kIHRoZSBhbmNlc3Rvci4iLENTU19TRUxFQ1RPUl9NRVRIT0Q6IkNoZWNrIHlvdXIgbWV0aG9kIG5hbWUuIixDU1NfU0VMRUNUT1JfU1RSSU5HOiJDaGVjayB5b3VyIGNzcyBzZWxlY3RvciBpcyBhIHN0cmluZy4iLE9QVElPTl9LRVk6IkNoZWNrIHlvdXIgb3B0aW9uIG5hbWUuIn19KTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jplayer/jquery.jplayer.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jquery.jplayer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jquery.jplayer/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jquery.jplayer/Jplayer.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q1dTCxFxAAB42rV9CXxU1fX/u/e9mTtLEoYQkN1BQyI4hCh0MRU0QgKJkMEsrk3CZDKTiU4ycWYSoJuIogiK4IKIqAF3UXEX97WurU5CCS6xta1tXbrYVqutrfP/nvvem5kXwN+//fXHh3PvPXc995xzzz3nvkFXKtqvFKXgVkUZz5SFoycoinLemKeZohwfbw9X1C+s9q7sinYnKoDNK40kkz0Vs2evWLGibMWcsli8Y/Yxxx133OzyY2cfe+ws9JiVWNWdDKyc1Z04snS+nGBhKBGMd/YkO2PdXsIDbbHe5LzSUmPW9mBm0p7eeFRO2R6cHYqGukLdycTsY8qOwUTtwYpwLN4VSM4P9PREO4MBmm72ylmJSCx4zopAX2hWOBpIRI6fne1IY5KdyWho/tnLooFVobhs1GuorT1L1/ycXZ3dIztLOuSI3H40rqe3LdqZiITi8xeDllUrsJp3SbJd9s22Uc9gPBRIxuLzlwbi53hrvcsC3YGOSGciGeuWnc1m6hoNdHf0BjpC86vqZFsGl5QGkqH55d+YVdvbPevY8mPm6GRR5fGzR3DYqIHQ5isLPR+oxysLeDqdPtOlQqp2gGZb1qDIP599cOTYEyDll121+paVp4s+6FYUVCnheKArdIziUcoUB1fzbNq9H7H0u48LRdPHfnGenr93wrZr6c8rJ9ylKVpfrLPd3pCMd3Z35ElxlIX6SIauxs6uULyKynZ/29mhYFKcFItFQ4Fue11vV1soPjpicrLMkFWeQZMclG8gDclAsjdh0+v0Bdo7E9Rmb+iJdyZDrqWx3kRItnsWxLqToZXJpaHuXn3AyaFVbbFAvF1ieTX+qng8ps9f2NQdDPR2RJLZqoK6UFJfTu/REAr2YoVV2R5OnYDuUDIffbFaN/YFCbhzho2qxGkIZscIYyP2s0/pDcVXjU+gTudAdTwgRy/s7OhMJrTeTpAYjHV1xbr16dxdq2q6O5OSkW595d5kZzRh02u6Vi3tmaNzzpQmKmT13JHVc/O6VtUnu3r0erdRTzX2zgRlts4Eesl0juhMnNrZHorlJwwG1CQSvaGCYJa51Z0rbcmVS2IdLp0sqnc2IqnuDEXbbe2htt6O/GgsGIhW1tQvJMyRxGZD/t6ko9EouBIrOpPBSOOqnpDWiW0WBCOh4DnVNN+pgXjC3RmNhjoC0QWRQDxfZ12NXuPGaUuGuhtjtNtseW6eWab9jApHWxOhZGVve2estatnjicXj6ODUSE3KiusI+YGRuV26JrbB+VrDUJ/40tD7Z0B0RFKEukCtdFYoJ1yYqqD8gAUMs+oaI2EAu3Qm9a+WLS3S/bv6k2GRhs6L/ernxLJofhocJH0QleBhYFkYJzRdWkoGSB8caC7PRqK58dDic7vhQwsT8equmHrVuUFYS3PMVomwKT2NsC0BpNGTasx4aQDWzJnUo3GOkZJOS5NdBito84xTpOBTz7gBFdk9VB0rWqI9Xa3G4rbRUyzyRpn1yoIFUcnmidxA6FqXcMKZfUScDUUN6qg1dCb7gSZ+QLZnEExrj50bm8okXQ11S8xiqOSOCJNPWQv5WHJ74nHOsCihMTyEqHQOTBYOkIkZ5AVgc6kiTiwBSkFAT2o7oyGnFL+VMoL0fk2+OAgBfD3hLrzqLAg1tUTDSVDRQm5OQMzWWjSodOWyOCmUE1cqoQ7u4vE6GzZnCtboxsaY1cFRm5qhoHqMxIS0s1hgbFxs588f8v0OpMPut00OuqjjBZjlEZb1qiDTaq9g4qLSeXp7EiVL+yVNOqsPDUQhXzycHpIvvV0pbuBLOyNy9u9AOUFvfE4FiIRFGZR2bU+FB1ZVdmWmHJIPSRLAEWUZ9gm0zypZYbZlgLGhdzllJZflsD8nlg3NM9Zb5ZcCdlUh+sxP6gP1i88Z7gznpCECpp0aUe8wJh8KV37MLSJZCCePKk3HMZ8XYGVeqmoN/fqMRjp6TYvH6PCFcLauqSKErk3kakqWVJAnCPWDXp7o8lRsT7sG1s1KBHtse7QGaFkXh9t/6TO7nYSbyLSm1wYW9FdF6xLjOmBuQ3VNy5dlogHjVGjYt3VC5q6E71t5GW0hfIJbzAxLHbSaQsxrwfCaIBGEQukNMbEukkClo2MjnWPMF2HH1Jg+kC7bittZCjbVVDlAMi921FoCCWdnQlDUVFq0PUbpdN01XTRXP5uUjCjSF0K0ZOkgQ60c9JbDKFOqHHopVB7vtTiZbFEp7zX6bgsC8WDdHSCWb0cZ5SNJqglNt83shqqiX0kQ452Q7tdUgandbYnI25ZXBzqhBrkdxnsqce5WeUwMRtUMZS0SUsjLQvZts54qN2TGLEPEdV3YY/KPUw9JHulNmk4jQG1K9FhC0YhQ0cypmvzxAOHmXe1G957Rwx9WqPBUUvoXs8eIpc8BLptaLXc+a5ocIm8kr/+qpjrPbDReozIKiZjwVg00RqIx22V8XhglbMnFk9K3EmtC2Bsk7JOluyt3cH6UFhrDdQtcJ7T2liztMrf1Jh3TqtkHc2ecHW10gkiCvO6cNPHcW7oiDu7WkEOlag6c/JHZ7vLFULx8V2t8m6DiTfIJdUAt4q6WvsC0c52i4tYYB7X3mAQ9t3dHeqIJTsDJEZ3Jw6FMXaCDBCggNjcMnPXcsMec4R5sjHFSnOB8TifB6UFXjYduUWxWLvRQCa2Lrs4botcVCBS6amMRp0ZcyQNU679cQUyDq44taq+ocZfZzu2bG5ZeX7tsiWVZ1TVt9ZXVS48I9+QZWuctLrQbKteUtmwuL6qoaqx0OwguSiVvSA7Q0PNmVUF2SnIuclpXVZV2ZjT2gOeZVZfsKRmwcmZ1aUrlGmrqq/312fa5NEaZbadVllfV1O3aJTZuiIQ7wZHRpvtS/yVCxsaK+sbTd9NOn5SoTxmn2X1/kWgvcFjdjHv88wqDU0Ny6rqFmZWSfQm4Dm0ZyisPMlf35ihEHFzPJkZW7V0WWNNVXZsqAvxX6g9O3dj5ZIlOe2gDS5ze16GOmR5GcqQZVZdVtnUUJVZVdrAcbn7rlq4tKqxcmFlY+W43M2H2slYkT0ptPamnoXWntQrh9c1jVZeS8s9KpfS3HbDA8m0L6iso1KmPRjopi7jRrQ3Lq73Ny1aPG5Et2QkHsP9m+VbVdXJuauZjlRue9XCgtzmUHtmx2RcmpZhx1WZHZNnpns9Wc2rA1uymkd3e2aGeoxdsLiyblF2BlwYoSDObkdWDgub0A+HTe+Z2ZN5uei9i8zep/qXNC01Zi0y++r3qt7TubDqpKZFrUsbFjmln9+KG8GI4BOrYLW7HOapZzPd0KPYioWxrkBnt0uKM17THY654DnANMIWJmzQtY5QQQOlDbgDQktj7SFHnb+1YUHlkipnwqxyyR6V0c6Obkejf1nrkqrqRluA0GnGe0ygPdYWKkMcPLuyYc7sY8vLvzm7rbczCvUosoT/FXr4X2ytXKjn+osDBQ+gGA6HtVMNmW+KvftCesdJXzPJ5NxXjQp5z1F7ALFrKK4eVXok72x3lc4wry4VPNaS8d6QXbdhnkC77sSZV6FN2icHqhdEOqPtKoJThxHcd7pzHjA8EXgIJ9HOa7prII7EqJxGqnAYK3onPneHF3w6Tr4TeS0PVJ6lVXVNrTWNVUuhxEuqFjTCi4GF75ITaj29iYg7J6xnK9kqlxSk9FFsK6SnIit0T8UekdmotkDwnI64Ht9E4ZXBSpGfnK12dsEV7YyC9xpNLvo6E51t0ZD95KozWpuWOTrigZ5IZzDhbAt1dHYjoIo62uOBFfXkr+JoUIWNjlW9TZpXG8XnAZn2gV9zVYTjGl1UBYZsVkKe3YHo6CqjIAUchu/iDPQFOqMBLO0mhkONiUYN2hh1xKR4axba60MdVSt7RrecNaty1pmBWd8rn3Vca1nz0cUgPZF0HKU/PswYEw91wbe2yHL0iFeGCu/YA2q6e6NRF647L3nYFd7CkQ8RFd5xB1bRoMKRLxSZnrlV1HP0iKeLkWRQTU6/zJNGpl9ODfVzZ985ymx03Mvy5bnwkl3zzvMWyAsig7oz7xwVXjbdoRuZCq+d3HcsYaqpdFC8kn8VXi25qifE0QnyhUMi4HwlYMTscub2cQc8glR4Ez3zbN5gT1ymgXmaN5icp3rb5x128OeRismW9xGMz+g1SB7t/YE3R69RY9Mdhe5AX2cHvRrEmuqXjDFMUu7zsL21LRroPmes0ZR1XcliMRcdJ3j9obJorGPKiPeSCm+oDFULYAaxoDCKYxtjHR24pb0Y4TUtkFcEk/HoyaFVjkSkM5xEIW8ByUTvVjZqhBnKt1is0QfYt3EHN4tO412jwpvfbswlJ6bAAKF8jV/3lzQ/PBbHAv/SZUuqGqvMV17ynRLCeFJVgTrNZ5CK/Nx3kIoCy5tGhbszoYfBuGFtnYm6QF1BwvKgU9Dgb6pb2Gqu5+gxgjFX2yocyMYYnBq3LOoRmz0a6u5IRuyQH73QJrpisWSEbu+mugWVuPwb9U3YdN81+y47ZcTTS4U3l2oj5m88Y1mVtqTm1CpXm6SZvOpRgWQyEIxkngy0pYFkRA20JbRO3IlaEDKdYnH9y4ximeH7j80MLdM5UVaNQzfuwNoo7POB1VXw+lblzEHBbVkdHPjwqqJsLR2KMhnwTh1R2dRtfLHQx4w5YEysZ+KI2Wu6ZUBDu59yQHcZIcWS1SREl3xLqAYnk04j4Am126Q54bNni064PSv9YUc8FKQbo91ODwzJOJvNKuyzo1DX2W4oFy482c2pt1J4Xl+1wF8PB0org03VyK4imVuhlYWjfaxFIAKIwtrbljYtaawRRvhWoIuQFJxQRySWSMoAD3SGwtD/dlf2ZSIv9+HCVVfVSM50Y1NDflbuSwMrR3WYm18ilU4jV9AOJYLB08gaHjaCO6Y6ibbeNlxCCRc80GBIXkgF+ierRiP6dkkHY1kkkAjZ9aXdcJw7WhF59/Qm8+Q9uASWAl2xane7LYoBUXtCEnz08cd7DeUK90a9WdXzNsZ0i+ulsTDC8+cXSL/PW1NX7a/wuo7PWxDoCbThqkYkkcjTw2CdovHzXbrJNuz3qbqJho0/y0Gv3/REqnUlmr0uw2otTXQUNFQtaKqvaTxDP3RjRj5qVXhLWem3D6JxFd6cV8CjZnhnea0vgaia5x17sHewsgLLQ1iZMNAxBzw7VXhVmP2jD1JfGZVBqpdS71F1fm9VdTWcpRka3bHS79B9kJBdlkMSSdgqjjluzjfUim+XaxVz585xmK8UGj1D5Eull5YYZ8cNS5spVzacUbfAsEqxFWSHiWSp9IJiQfBexdVi6w5iiDvnU6Roqju5zn9a3bSDm5ea7DPC5IP3WEB2vd17iOH6Ia/s6Zl68A71obPleZ4wohnOVFk13KxQ+9Hj2DhtnHNc/rhx4yfalHHecbPHn4r89PHrmE0Zfzsb/yIb/xoVBygZRDLubm5TDmOOx/jEiRMf5xOf4BOf5BOf4hOf5uNe5eN+z8ftVtHBOZFmmEjDJg4ye75Q2fgJE+2TJk+ZeriXqfkFTC2ePjG/ROL5RUwtnT5xzFESc41jM9TpE7lt7MxBVTAumCq4TTC7YEIwh1BdQnULnie0AsFHCe4RfLTghYKPEbxI8LHCdpjg4wWfINhEISYJMVmwKYJNFeJw4ZgmxBFCPVKIYqFOF6JEqKVCHCXEDCFmCnG0ED4hZglRJpzlQhwjxLFCzBHqXCG+IcQ3hfiWEN8W4jghKoT4jhDHCzFPiPlCnCDEiUJUCnGSEAuEWChElRDVQiwSYrEQNULUCnGyEEuEWCpEnRB+IZYJcYoQ9UI0CNEoRJNwnybyzhDuM0XeWcL9XZHXLNwtIq9VuJcLW0C424Q7KNztwh0S7rBgHYJFBOsU7rOF+xzhjgp3l3B3C3dMuHuE+1zhjgt3QriTwt0r3H3CvUK4Vwr3KuH+nnB/X7h/INgPBfuRYOcJtpoJdj4T7jXILwBcCFgLuAhwMeASJvLWM1GwAXApE7bLULcR+eXANwE2A64AtIiCK5lQr0KxTRQERUG7KLgayBbANYBuURATBT2i4FxREBcFCVGQFAW9oqBPFKwQBVvR41rANsx+HfLtgOtRvgH5jcj7ATsAOwE3AW5GPVF8C+BWwG2AOwB3AnYB7gLcDbgHsBtwL+A+wP2ABwAPAh4CPAx4BLAH8CjgMcDjgCcATwKeAjwNeAbwLOA5wPOAFwA/BrwEeBnwCuBVJgp/As78FPnrgDcAKdQfK9jJogj8KwL/ilpEUZsoCoqidlHULYpioqhHFJ0riuKiKCGKkqKoVxT1iaIVogg8KQJPisCTIvCkCPsdtxfz/Qz5PsAQYD/gTcBbgLcB7wCGAe8Cfg74BeA9wC8BvwL8GvA+4DeA32Ku3yH/APAh4CPgHwN+D/gD8D8C/gT4BPifAX8FfAb4HPB3wJeAfwHSpEE4qBcA1gIuBlwC2AC4DHA5YDPgSsDVgGsA1wKuA1wPuBGwA3AT4BbAbYA7ALu4OOwe5PcC7gPcD3iAC+1B5A8BHkb5EeR7AI9y5yTmfJYz5/OAOxmJB9UvAl4CvMzFtNeQ/wT5T5GnAANcTBxEvhfwM8A+wBBgP+BNwFuAtwHvAIYB7wJ+DvgF4D3ALwG/Avwa8D7gN4DfAj7m4og/IP8j4E+ATwB/xlpQD/YX5J8C/xt3/pA5f8Sc5zHnaiJ2A2zdZarzEcacjwIeA+wBPA64BLAfm3qLQ7euRb9+wE7ATbCMt6hCuxVwG+B21N0J2AW4C3A34B5VHHkv8vsADwEeBjwC2AN4FPAY4HHAE6rzSND1JIpPAZ4GPIPpn1Wdz6so/xjwIuAlwMuAV1Tnq1S/DzkMNBsC7FfFxLcA7wB+AXgP8DvV+aGqOj8CfEz9f686/4DyH6n8J8AngL8A/gr4VMV2VWxVxVZVZyl3uolTaPkc8AXgH4B/Ab5SxWFrNCgcYKMqHBdpzrmkcxqI0rAAqi/XMJmGyTRMpjmn80k24bheE44bNOeLdJ/cqDmfVG3Ofs3m3AF4ltucO5FfB9gOuJzKzOa8GbAL/W4B3o/yDYCXABtR9yrgKsbvZ4rxhzFOiUqJhsTGzQQXYW6SbbAm8pc99AMe2cmuOBiz5+YYbs9MJMwFNUcGdWIoc9nxhzA3JXmZhGe65SuZP0yxG220OGMFxjS5ic3Yld7j0JheoxrVlpqv35Hsaj8IWIkc9e8T4zELo82Cphc4gyfjYC5Xpq/GDTKl7CjhTCv8j8i2585i+WMspuTwR2HZZpvCHdwGwlQG0kAc+K/wEVOwMSah/AAW/W+5w7P0/S/2PXLLKpirz8wNDS40t2AkJAlJj6SFsSJjsGOsy2lX2LHjiA2H0e8f1QmoVSYqyiRlsqJMUaYqyuGKV1GmKUdgSpfrSJkWy3S6TEtkWqooLuUoRZmhzJT40TL1KcospQx0zWaKWs4U7Rim2I4FM+cwRcxliuMbTHF+kymubzHF/W2m5B3HlPwKphR8hymjjmeKZx5TRs9nSuEJTBlzIlOKKpky9iSmjFvAlMMWMmV8FVMmVDNl4iKmTFrMlMk1TJlSy5SpJzPl8CVM8S5lyrQ6phwxxeV0KdOP9ivKMuUURalXGhSlUWlSlFOV0xTldOUM2vCZlJxFyXcpaaakhdjRypSS5UwpDTDlqDamzAgyZWY7U44OMcUXZsqsDqaURZgyu5Mp5Wcz5ZhzmHJslClzupgyt5sp34gx5Zs9TPnWuUz5dpwpxyWYUpFkynd6mXJ8H1PmrWDK/JVMOWEVU078HlMqv8+Uk37AlAU/ZMrCHzGlaprLma8s/tZ5irKaKedD4oXKGqQXMOVCZGuZchEdOeViRuZtHVKb230Jo81J8tejuIEplzLa0GUy3SjTy5HaubqJMlXdzJhScwWS2iuRnHwVkiVXI1m6BUndNUj8W5EsuxbJKduQ1F+HpGE7ksbrkTTdgOTUG5Gc1o/k9B1M6sBOlM+4SS+DkWfeDPwscPO7t6DQDDa03IpC621Ilt+OJACutIErQXClHVwJ3YHKMNjSAbZEwJZOsOVssOUc+CFKdBeSrruQdDs05yjl3Cl3y03Z79FX3C05cy8hyn0yvV+mD8j0QZk+JNOHZfqITPfI9FGZPkbzKY/L9AmZPinTp2T6tEyfkemzMn1OjnpeyuIF0BX/MZLEi0iSLyHpfRlJ3ytIVgin06N8T3uVkZBek1aT/YRNU77/UyQ/mKU5Ryvn2V9H/RtMSelSHdB3NYjhq9leRtrwM6Rr2OEu5xhownRdR/ZJHRnSdWR/VhPelGJ/S6Zvy/QdRtozjPRi9i7SdeznSC9hv0C6nr2HdAP7JSPl+RXSy9ivkW5k7yO9nP0G6Sb2W6Sb4eky5Qr2AdIrGaR8FYOEr2aQ7hYGeV7DINCtDBK9lkGk29iH6Hgdg1C3M0j1egax3sAg1xsZBNvPSLI7GEl1J9sAR2Oscgub8hEI/pgpv9ezP8DS2TX1j5TZ1D9Jdn+iN/2Z5GBX/yLF8Ve97lOpB5/J9G8y/Vw2fyHTv0t+/UNn7pd69k89+xeIuJV9hfQ2uOJMuZ2t5ky5Ay45U+5ka5DugmvOlLvYhUjvhovOlHvYRUh3w1VnUvWKlUVKD1vH7Yz/hbFVUy6h0qeMred2zv/G4MrbVf4FY5dyu8b/weDW2238n4xt5HY7x9KXc7vgWHYTtzs4ltzM7U6O5a7gdhfHUldyu5uv4+wqbs/j6znCAHs+v5SzLdxewDdyhAT2UXwTZ1u53cOv4AgP7KP5VZxt4/ZCvoUjVLCP4Vs5287tRXwbR9hgH8u3c3YDt4/jN3CEEPbDeD9n/dw+nu/kCCfsE/jNnO3k9on8Vo7Qwj6J387Zzdw+md/JEWbYp/C7OPsR2aebYeaPZGM1plSzKZrCYmyapvCVzKEp6g+Z0Jh2AWOzNMV2E2OHa4r9PkYiVwTOKWMOp5oqX0S3pc3pesiWKj8qqKWaHbUOJTIh1TypuL1YqZ3EIxNTza5alxIpTdUoy2/lvt3cfxtnqeZZtbOUiC+1/HYevoP7y9nyO/nyXTx8Fw/czal8Dw/v5oF7eSpcMvopRTE6hu/jvmd4v4Hcz/t9z/H+yLhUeEKz3ah8gFfbWeBuhjqj5kHue4HvCtwj13CGH8Kci/wPc7mMO/wI0BpCMSB8N+vFLlC4hxXaSDsIbZ7SptVOYZHJzXvQabJ/D9F/OOoOZ5Gpsm6qXjcNddNYxCvrvLLO9wr3l7HmR3nto1xZ/SjfN+B/jCvNj3Pf63y5I7yO99c+ztnqx/kQ1b3BS4ByoPsHl+eFn8A0tUTaXgM5mZCB8JN8cK//Kc5bnuYDkadRP7Nv5miQOwPM6it8C9xqnlE7Q4kclQofVWwLPMP1/FnKsenwc7zYtSPwvIm+INEfEzpLBF6kvCTwkp69rGevUJYhOfAqiaUQXrZsfI17Cqg4s1DImlLUpJBLBhBthQZtWwrnUQewPT/8E0xRp7N98nIRvgX5Uh2dakW9VrQ0/FNerMz0v56DFLtm+t/gmo77U+AvCaBUX79k9DhadOJyNTyA2tn6NBP9gxxHX+EIuFyfs1S5p1tRnKmSyBGp0kgx4EjAdM+LIytLUHkfVZaisiSn53azknqWGJUXj6yk4XFUeroUZWDI9zs+ONFOauZZqCi+DwyMeb4J7BUD4x74br4PDUz1wAH0fWRgmgfxjYdKNg+n1MEn3ZJO245Pp09Jp8Pp9PfT6U3pNKogj2L/HIbsSP9cyo7wf4Nh/6qdO10vYf/Ekr1cWf4zHt7Hc0V2u0KVvnmp8Df9Qzg0KJ+YCh9nlitT4QqzPD8V/pZZPiEV/rZZPikV/o5ZXpgKzzPLVanwfLNcnQqfYJYXpcInmuXFqXClWa5JhU8yyqnwOF8tNOMS0rQJ1VXMj4gX+9EQzrp6UuXetUO0lTe5d9eWmYWIn2boaPVbXPGxXVsKq4jt+wfWBDUPXG5nm7b3yLVDqcHqY1gh/HgIquRYTR39m3TaoTlU0iK46KkB2J/qYzM9PEaOdW2kR+NS5cvf5r6/8pPY6rf50OBA9Tuw9IulJ5dp/eyAVqFCBlfAmg4UvkSqSudhI3a4IHs8NlvRfiu6w4pusaLXWNFNVvQGK3qjFd1mRa+zotut6PUm6nneuo1h6zaGrdsYtm5j2LqNYes2hq3bGLZuY9i6jWHrNoat2xi2bmPYug2gEKuDRANjAtFsoz1NtYpmqlU0U62imWoVzVSraKZaRTPVKpqpVtFMtYqG0K3IqyW3t1gpG7ZSNmylbNhK2bCVsmErZcNWyoatlA1bKRu2UqYz0EkMHJIMvIPI9FoZ6LUy0GtloNfKQK+VgV4rA71WBnqt+um18tNr5afXws9brIQOWwkdthI6bCV02ErosJXQYSuhw19L6LCV0GEroTp7XcTeb4K73jEI+VO+z/lAv3+J6XaQY7Kc9iLTyQP+VlayOOX7gqNLKQyPm0afCNvv+zuNW8gwTQlN8w9zmt/lTjNZn2yg1N/KaZ4vzXnyDjXPP815PjjYPCXGPP8y58kfsZuvzOEf6sMn5+xmqrmbtDm6YMTo1aox+qOvGX2+aowexZnTNZn2sIaqzO5ZBoLbHoYVZuNyWa3tw31aaJdmTiJH6IjecqSOTAUygKlHcy6tf8p3gZy6+niFWqrf5QpaC1XcDVOo9UKDYNmO+2H6B2Jn9c85Q6cxmU5rD9bpF7JTUabTRejku1i1dKx+T3YaS1w6ljqtM2YKTxjQ3WU4vaPHKrqmrGSSSZR5KcPux9HI02nkJTkj72EDhZPloGJFH2XkXpl7imWb7lvr7Tllb6aM+Q8jV6SK5l+vDoR/Cd/+UrV/IPwrTmsd6JeMl36J9AOoN+7mV1nWDxhPPHeTW+Mb8CMOR9WEiWDPTrg6vo2q9GN9u9hAeDfzXY7l7mdbfHcDvY/5HkH2OPM9iuxJ5nsM2VPMtwfZEwzMvsn3OIpP68UnUHyG+Z5E9izz3cH07fjuNLjZlA/Op3yb1MHwr7GdzWr/YPh9FK6gwm9QuJIKv0XhKir8Tu50EEKaSKyoJVZcrR6aA3TEmp0yoql1Mv8i9jX8mGR3Ol3b4GNMWxN0pHxbVD0O6Pddo/brMQCtgXhnCLBfxj2U2CixUyKyOk4zZHQcSJuj8GUIQw8slN0zC13kbumBBaHwUWe0OcIf8PCHIys+oorC9eZofdBNWNLsb3ZDnWizt4m8o82+oFAvtImbdEKH9OFtth3F6L/fU6p3RY3YafR+AcNsxjBNdpP7TbU5Bve2aW02/2KbNZrKbgZ7K7LurWh34VQZ8HxtTFVarMgIjHKKwEr13rJrqd4V/SCiydzudE2A/RpE/4G96DzQpqHbQJtN7zDFBq2oIJ0uLpxIshe4DS4jryXc4tuq1grVv4B5xuW2TM1pwQxT6QiPTZU3f8ybT/dtU2tPZ77rVP/H8i453NK43dropcZ6Wntm4WK56QHf9Wo/8vCrekCIk1a9lymRo1Pho0lHUwO4CA5UWrceTtygDkAzaeZp5kkdCL/GoIOoOoIM2dUUlPhuhP7/Xuqmh7wJrEdLvsa3UIzp26HqmGxvQ/tA+A+0GlRzxkD4j7yv0Clp9d2sgkTPiRR5fQeRF6YcKl5oxl4TkC4xQy8zoOIyoOIIqF5Pp/ml6fRd6TRKIOJIzpijNFUeUpZr5cv/xMuXfwL4M+AvABf+nq5MkX8iYxfRnJmnkukatvoK7at5We0yJeJPNdfX1iuRU1LNjdP3HFZa28gjDanmU2tPVSJNqebTa09XIqelmidN/wfTH1POyEXOzHllOSun/F3qtOcwHWk2nmRaUjVgxBlGENyp+xpnGmhYR88y0KiOftdAYzrabKAJiRp3QolddebdK3ckjDi9xXcHrgdSub9S+N0C06q/C5xC8WWq1B9iSCJoapYVYb//U67IF4TyM5WZQzPLj+5iUxw85SX+GHwK+5cXhD/D7AGdGD+s3t+Qt2XRz5EHJdp8+gB0F5wLt/hfYFihZSCwm0gpCdzHUv6zlUXsOydVf8H/zpVSuvU9pGgMDgG6lKIL9nUUSaoE9Tnktvh/zIyjRY5hS63gtEX0nkEHc7GVCferGRYY+2zxvyyJCT/EKCCViz0EenoVGUf6+xBLYjXMN9M86DnzPZCdr8X/CjMY6e8wKLreStHRRP8sOq4tMDuP6Tu739gJOKAP2mEd5CP3ZiK56vJl50x6IvEIvbhXvpbMoh4C02JdoGU2cK/MSueDGTr9q4xlNluXmU2THEXLFNLcZ9Ay0Da5WoFes1ev0Rctzyx6NqHHaEyayez8/db5j6X+R9D8Y4itXYBzMd1Z2e2cZcw8h0xPi+RSGDyq/r6SfwQN6SbuniOV92GmMwPse1iX1dESDT/K+vSLLDt4txSrHElTwP/pI3rmEsFeuUpJ4IEcvtxgpfsb2X6lln43Wvt9k6h2SN3sIfxbXPd7cQzC/+A6U1vCD7LRUqvOVTyHmTW411SyjH3yAcMfJx58WzP8XqLuQaavuM264nGaIWeizOyzPaePXnOddVQFyWE8jTIPAGm+QRTav0OzzpOzVr/IlMIySab/JfOQbcpdAHNINYEpwLlu8CcROZDbfryGq+INrsvwftY31PwlH6j+krMtMwsdhnTuY32Fh+s8gC0qyNoi41CQfZBHJPwI0y8MsOIhCg8MyvIydanqpELV4T3ETHMBqQsmAk+y8PGv0RGfbNNPpXkcB6XU5K6vydk1vRJmhxZ4DDKgiCVQMo/fwO+n9zy/3rG6l+E6CeNvU+CfmOoUWMZ/IW+XlrEE6w2Ozqy1JZfDJdCmksV06xFf52karipuyPwhZp4Ag8ul+3P47MzscGBXIcaX7DdYXaJkeWxw/JTwV3D5CnSO6igYcQihycMqhXMIBhkyozUzwkLHAaxAHggJC1u6QOfiSJEVdnyNlPKyUvKMsUiBJib2S+ENYkosOCNnA3TC9m7R9fxsJcvR+fQGOB9miWbZWdwO19PgZpaqh3KRh0Ei+diDkOlipH0Uvp3AdRst+UJRW5OeGQLHsTpRZXIdIr89Vf09ZWfgcWJUqvoHSuAJZlT/ENVPmsiPgDyl9/m+EniaDm8lXYwV+rE6UNddEvGH09J9lyfKH16t6lU3LS6muPYkmmG8bpbOVyERoXc7X9XbFzBm7iTrIkAdFuu8Ro+FNMMM9ABVmbiCtkEV9xBmIsaSVTQgjwb8UJE7R101eWu4bZrXqId015jhrk3Bxhdl3bXFdIk+LZ2b1ax2NXzb8wzn7BKWcauaN7DaDWhaz3J9s0st2GUsxz3byMgVay6sLVQi54PpgMAFYN15JYELVRzk8/TPFpcyw9/awnQf5zKz4kqjYqNZca1RITWi+WG+fFR4LSbcLKuxjxquycDau/oidci7+mJ1/0D4x2z5ReoDhR5yhmX5Ymr0jDfwi9GWlylfTGNS/iRZ7Vqy6pPpdpVH5DImr1WHUdbv1ZPJfznBVJ7CWYqURjHbVXiEeYp1Z+G5A52aKxgs4lWMplmiGRriv4Md3JVYaiXm0hxiLjWJqWPGdem/Rs7qP3DWEQ7EMqa7XwOFk/ST/wCjeDDl30b+20Z9kcPMJhnr+K8zmvQ1T6FT2k2KeCeTe7+ncI50DbYy06sYm/UqdIX39zIPqbSB9THPTH2J5+jEFWTtE9KnmW6h9AlNR6OedjYtx9HIbHCEp9GQ7Vhq7TjC1Wik2/W3OA2ewxhCp7cZRWAXs/A61feCWiSd2DUg6HIWuET1uE10k0Tvlp2zzdePwC8bgf9Q4uuYDC9LI+uY6TEfxBm4yfDKzqMJ/OtVnYf6o1KJVCH9XvQcZV0kt7x8g0qmg0zIjupLVTZ9C/1YUPF8RmGmH9R6PpYB5yHcfs9PKZh8mc7IZWp4ozrke001A8r18KV/opoR5Q+A/VQ1P+Z1A3tdNT/mLQf2hmp+zKsHljIwm/wkOGBgdvlJcNDAhPwkuNfAHPKT4M8MzJmJYF0ygnUhgj0jnXYt+iq95Kv0qq/Sl3yVvvar9B1fpb/6Ku1Kp49Jp7+TTp8hI9smTffMjXtpn65ZA9m7d0TAcCodFN1WnkamdxSGlvivZoYQUH06zbhTfl5sab5cHajepCrVl6v0erYTFw1Zv/BmlS4XMi+ePlPjR+u+DTmMM7KhktR/3CQF2WOCQyNvWjjmlsOj07vVojUk+otoyIHeD0g9g5vut06T9KPXsxL/heQcRXYwwwCeSWeiHf0GIzcx6lG9hislRU69e6n/AlrqPP8VqmnNSiVHDhqLlkDNB3xsTIbB2600nUUH9dvS1b9aziRVGyr/KflS5xu5PvPBBPRd2pMU6BrmHWOc19xBI8LeZs3tdL2r0m85XD425GP7i/mA7021+kqV9SeDmu9tNWgbaNOqr1LZ2qDdx+hRrlhps/uGZR/Uc9S3aW123PP9xay/N+hA67uytTg9BsJss2crWL8+kznLu7mzDPh+rlZfLYfNxjFrc2Qq7P3VW9BlaCC3hibaD7MUtHlgkX2/JEp9vzIXLjdm+LW+gjn81+aCGLu3WNlLnoq2QxKwf8D3/sjR71tHv/+1o39jjm7Uf0jiGvD91qzCiTUxowEc9F+jck8+tQyrbQ60cWprc7S5aEVU9g8NtLlMpu1vEz5WRFv9QA2KZq1WU1ZrM4PONltgndrmHAxsRbo3cC3SNntgm5raG7mItTlhXVvg2+c9wOkj+T7v2iHDcYaPJ+Qls4OV7CocTZcxKb0RkZHV36rSl/OZhfmym6xYfp26a4seckp87T5Z2KauHcq86Ow3XnTg3NDx3M2qb2EscvFBQk1jkoFdpocppxrcZYYY8mD2FRbreuwd48hRaP+NoNIrD8XtjHuOM/t4cpXePDHmsUYhZaxirO3/iqkHEmZ68czXGrxIxX3QmrV8y7PFAAVNg0x+INo/CFoL6ZdLg3DzDPHs35sK38UC21Xku1jgejXljcAqNV8gLWHtBeDLGnnAl3vCN4Ck7YZnt4btlT5i5uo9Qt9VsYqLTBbGB25UU8Vq5HK4A3mRTcwzVe8xO9NDoR6zsz1SzWuxVD+rXYtVL5QE+P6MrhfqVnI/Vz3Ss7lRek1tZPW++LfjbDC+7/8wzn7/6zykHEWVTIOinpBLk/EwRqzx96umnSYv8VDheIwcWcOjKxifG41vNexyn+KphRk1eKPfIWuMi4u+GMmFjJid+u9QFf3GPERUng0fg6Rbb6v/cUCOs7ArR1ZgWeE049jqKpWn01pKV6rI5RMJc3xOJN9CTeGdqrzD/7ux+xgZu+8uzAne3z9E8P6Tf1P0k5SDyZz8dk9DjsQW5Yh4twwxpXA9s3OWO2Dug4tZ6tOhHwjk4YKyZUXcTi8EC8wXAhnA/qfPBCFuvF+bzwSXMD0nk5hx1C9h+pNBmJ4MjjOeDP6T14IOiuVtqfJiWjtCiFO3FE9TRSd5IYdnIn1D0QwNyob7Z5tf4LGCHjPJCF9HjAj/HG4Eb/qTwEHeAKKZWfQeebmPN+hDK3XRj8Tm0LfQIfM3YEL/DdjUNUP0s6+/6D/7GoBf7/tMLZKiul7awW6yg3t0h5b81F2GFXhON2/Pyyx8k2o4uAPhm+mOHDPWiFZaqGLmUOAZNuigT4AD4VtGtt9C7c/Kdvp8+F/1gbGBmPkecuuh30O48R4yDf17OFO1vFR5yzru+wuLrCN9OZcxzUaf7Gqw6guSL3GOqj75ISUC/7Y0ci8l91FCnx0iD1DyICUPUfIwJY9QsoeSRymIjTwm08dl+oRMn5TpUzJ9WqbPyPRZGgSWNymR52lTCc41m3xr2s3ggkjXdoDoKAEdaE8SdfSSRKZJ/zyYgvHZYhb3ZIuPyp/k9dKAQgpnLFRiqj6zRdJfktOywtIix5ToLSvBc9UDnt8mea6drk6JOFC/ikasw6Xacgn3fcoil/CW9dz3NxZZz1s2cN8XLLKBt1zKff9gkUt5y2Xc908WuYy3bOS+r1hkI2+5nPtW88jlvGUT963hkU28ZTP3Xcgjm3nLFdx3EY9cwVuu5L51PHIlb7mK+9bzyFW85Wruu5RHruYtW7hvI49s4S3XcN8mHrmGt2zlvit4ZCtvuZb7ruKRa3nLNu7bwiPbeMt13LeVR67jLdu5bxuPbOct13Pfdh65nrfcwH038MgNvOVG7uvnkRt5Sz/37eSRft6yg/tu5pEdvGUn993KIzt5y03cdzuP3MRbbua+O3nkZt5yC/fdxSO3kGJ9T7Pb7GPpWzB9jK9R4Tu9yuC4vkZc/D79Q6wJ4KJY/kvoNBrCr7Hlt6vL71BrhQ1C+4EDHaaiw52qz+XboPr+pvo+V31/V30vMd/LrPpOVaDXDyEMbYz5+daJv6dr0HWBFX4EMWm6K3eeBtHQz2Sa32C1bzAl8rp8tgu/zpaPCe+CmzRouGavM9+Xqu+fcI39d6nqIvo3HiqUsRVmPHy36nuWyciwNDLAPIvpsQB1aXWX/Kk0tC1Fvna57JBiKd9qjX6rkvKdry2/Rw3vVvt9F2r9VLwXxevVftlagrmwzvmMTiF9FwsPkFFbwzRVs01PlfvWas33qdX3qUq/72Ktf6CfXHydzHXaoEHlBczUyfsNnbRNicxCw4Us+wC6llH4/tTBXkD357yAZh8637Q8e76V++z5ds6z5z6Ibp/p4/7GYCQqRocfQMXvjIoRD6Jvms+dvzDa3zIrho2Kt82KX+U+iGIfFzHrO+FbOe+Eb5lvdhczerWcn3m19JmvlkX/86PlO+Q4visN4TpGH0VnH/Kj6IeHeMq8ZASNb+bQ+KZJ43qWecx8T662gWVeMz88xGvmpexQz5m/prju7YM+Z75vNOnLXsbInejKec/M158zf/nffs78Zc5z5kY28j3zw0O8Z17ORj5ofniIB81NTOD+fphbxbNek494D+KQbdDMny54rpMPgR/AQdSY/hB48NfIEhK/5z3qnTPnpVrmddGc8WAvjpLbv8Ua/XI1Km352mfHlfTsmDCeHR+0PDsuzHk+ZJYHQ255MFQtD4YH+zcEN6bTNmc6PSad/lY6vSKdPj+dvlG+EG6WFmHOyCdCSO7ndASglId+LbxCHrDxVtZfphnMQYcrZYcV1g4bzQ5GCL1vQIbQD1HoPGSEzvv00BloeGikWRmC4ys/r1BxxFNxeIjpLxJQVqx/lVTzStrckPm6MGS8GJgPeu8wc7MH/3GJfiyvZof4XckW2TAt+9G7MPvRG9vw+h9Wmf5h+xom397/7Yh76P824h782kN8Qi4FRqw1lI2vTR359+NraWiGDh5fDx0qvh4y4+uf/3/E11sZBdjX/ucB9tCBAbbIZcdBwuih/6Mw+sBP4I8eIoq+9WvFaYmZM3Kky8FzQo4U5uSKTQ+ZIS/PZHPuwoOLSerD/xAfv5cbH1/L/nsB8jY2MkLeb0TIQ2aEPCQr9Qj5OvZf+aq+XR7/eYf6rO6WCLRC/67u0amQH9ZlpRHiXs9GRtg3sIOE2EMHhtg3sswn9e/lflI/dMDdL0dMMOPpggMD7h2yx6RMj4MF3DuZHZL7VzZsfsfqUm3CBfwIbt/NcFfDe1D4GUfhUTXnZ4QjQ+xHsiH2npEh9B5riP3oyPZH/w9DbM9Y69auyLngbmJm8P3YoYNvuxF8H44BN7NsREL/wSfNRrdT88fMd6Xmu0rzXa35tmi+a7Taj5kt8hGTLcy3VfNdq/m2Ua0W+T1LwV3/q/S+/f+St9OtkIZma06VFyu9+4yffO/zzIdjQYhnuvQ//sp812mp8Ef0Y3jVtx3F37NBFJu4/ynOBjf3Dg1SVfh8dewb6fTA5l66mD+S+MPSVbiN2WyabRuXQfSXDPH4n0CgHphE/sIQ2n1Kod1nrPkJ6PcXzP8EbELzkyivBuP+zAiqn1TVyBdyX9iMEvkEYkkGNc+dksRPWJsmA4rA46qOgT7j+l8LMlWerdVDi4tG1BaFn6ZXdWutdDQCz2SnDKMceNaCt2mB50ZWPG+pKAm8gMrNoLZNI24SY2rSaXq9+Bw2NC0lcTsDi1ywGOWnzdxXTsNT4c9ZmLbzV7MY/rHqu0nrT4U/Zf251S/imAzTL7A/Y/3+l1TmIUegfCD7G9qWz9lyuW4x68eaUxxccvoT5rtZo0n6MYtkOsoGhVfeLX+FN3MIVZv3D+4NfM4cqoPnDpISSrPpw24Ih4Pzi5h94WL5UeQORBqaTUYnF8q44U4ZCk+XTyJfWuQc/hPzv4y7Gbl3wP+KSjZ2Vzag/ZKMxl2MG9MNYDQ63C0j3K2MFDc5RER5zc9RuD5obnmDFCZxN2XXor6eJkNhSIO9YxYYHeSuBrN80Nv9r6rKQKn+Hm6MMLRh0Gto2uDZj6szBjcn6QzootXd43uY5tRscP0lhd7VhfuPCmretUEbwA4Q0mt/TdojRZ+f/nkH1CX8vJrVG/pvqzj1U1MS+afOrZ+oiuc+GYd8mX2s+id2my9fD4xeP0WvDfRTjYsoOZ/RkU4OSRZU5LDAuO0Hs4vv2qKHcFkWZDZs7PMTuc/H0unmQhpWXciwvewE8t/N52ondm3VYvpgfKtm8OB11fjRnYGF31D7aCtZFNzKCqlNM6V0CB3e6z8ftncTBUcbjFlSatDhu01rcxjh0WkIem43Ufka47vDROUHQ9+dJqpSsOrbZaKaB54QAi0DtWUiJruMmOwOx6T16bS9/qt051fpy+Xfq+SvLNZLrdgtz4Vuxe/NKd8n32BG4zoYMN5gxJTIBtL0vDH0Hxoy/993J6L8/wASQ9If]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/jquery.jplayer/jquery.jplayer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbHVnaW4gZm9yIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkKICogaHR0cDovL3d3dy5qcGxheWVyLm9yZwogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIEF1dGhvcjogTWFyayBKIFBhbmFnaGlzdG9uCiAqIFZlcnNpb246IDIuNC4wCiAqIERhdGU6IDV0aCBKdW5lIDIwMTMKICovCgovKiBDb2RlIHZlcmlmaWVkIHVzaW5nIGh0dHA6Ly93d3cuanNoaW50LmNvbS8gKi8KLypqc2hpbnQgYXNpOmZhbHNlLCBiaXR3aXNlOmZhbHNlLCBib3NzOmZhbHNlLCBicm93c2VyOnRydWUsIGN1cmx5OnRydWUsIGRlYnVnOmZhbHNlLCBlcWVxZXE6dHJ1ZSwgZXFudWxsOmZhbHNlLCBldmlsOmZhbHNlLCBmb3JpbjpmYWxzZSwgaW1tZWQ6ZmFsc2UsIGpxdWVyeTp0cnVlLCBsYXhicmVhazpmYWxzZSwgbmV3Y2FwOnRydWUsIG5vYXJnOnRydWUsIG5vZW1wdHk6dHJ1ZSwgbm9uZXc6dHJ1ZSwgb25ldmFyOmZhbHNlLCBwYXNzZmFpbDpmYWxzZSwgcGx1c3BsdXM6ZmFsc2UsIHJlZ2V4cDpmYWxzZSwgdW5kZWY6dHJ1ZSwgc3ViOmZhbHNlLCBzdHJpY3Q6ZmFsc2UsIHdoaXRlOmZhbHNlLCBzbWFydHRhYnM6dHJ1ZSAqLwovKmdsb2JhbCBkZWZpbmU6ZmFsc2UsIEFjdGl2ZVhPYmplY3Q6ZmFsc2UsIGFsZXJ0OmZhbHNlICovCgovKiBTdXBwb3J0IGZvciBaZXB0byAxLjAgY29tcGlsZWQgd2l0aCBvcHRpb25hbCBkYXRhIG1vZHVsZS4KICogRm9yIEFNRCBzdXBwb3J0LCB5b3Ugd2lsbCBuZWVkIHRvIG1hbnVhbGx5IHN3aXRjaCB0aGUgMiBsaW5lcyBpbiB0aGUgY29kZSBiZWxvdy4KICogU2VhcmNoIHRlcm1zOiAialF1ZXJ5IFN3aXRjaCIgYW5kICJaZXB0byBTd2l0Y2giCiAqLwoKKGZ1bmN0aW9uIChyb290LCBmYWN0b3J5KSB7CglpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7CgkJLy8gQU1ELiBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlLgoJCWRlZmluZShbJ2pxdWVyeSddLCBmYWN0b3J5KTsgLy8galF1ZXJ5IFN3aXRjaAoJCS8vIGRlZmluZShbJ3plcHRvJ10sIGZhY3RvcnkpOyAvLyBaZXB0byBTd2l0Y2gKCX0gZWxzZSB7CgkJLy8gQnJvd3NlciBnbG9iYWxzCgkJaWYocm9vdC5qUXVlcnkpIHsgLy8gVXNlIGpRdWVyeSBpZiBhdmFpbGFibGUKCQkJZmFjdG9yeShyb290LmpRdWVyeSk7CgkJfSBlbHNlIHsgLy8gT3RoZXJ3aXNlLCB1c2UgWmVwdG8KCQkJZmFjdG9yeShyb290LlplcHRvKTsKCQl9Cgl9Cn0odGhpcywgZnVuY3Rpb24gKCQsIHVuZGVmaW5lZCkgewoKCS8vIEFkYXB0ZWQgZnJvbSBqcXVlcnkudWkud2lkZ2V0LmpzICgxLjguNyk6ICQud2lkZ2V0LmJyaWRnZSAtIFR3ZWFrZWQgJC5kYXRhKHRoaXMsWFlaKSB0byAkKHRoaXMpLmRhdGEoWFlaKSBmb3IgWmVwdG8KCSQuZm4ualBsYXllciA9IGZ1bmN0aW9uKCBvcHRpb25zICkgewoJCXZhciBuYW1lID0gImpQbGF5ZXIiOwoJCXZhciBpc01ldGhvZENhbGwgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gInN0cmluZyIsCgkJCWFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICksCgkJCXJldHVyblZhbHVlID0gdGhpczsKCgkJLy8gYWxsb3cgbXVsdGlwbGUgaGFzaGVzIHRvIGJlIHBhc3NlZCBvbiBpbml0CgkJb3B0aW9ucyA9ICFpc01ldGhvZENhbGwgJiYgYXJncy5sZW5ndGggPwoJCQkkLmV4dGVuZC5hcHBseSggbnVsbCwgWyB0cnVlLCBvcHRpb25zIF0uY29uY2F0KGFyZ3MpICkgOgoJCQlvcHRpb25zOwoKCQkvLyBwcmV2ZW50IGNhbGxzIHRvIGludGVybmFsIG1ldGhvZHMKCQlpZiAoIGlzTWV0aG9kQ2FsbCAmJiBvcHRpb25zLmNoYXJBdCggMCApID09PSAiXyIgKSB7CgkJCXJldHVybiByZXR1cm5WYWx1ZTsKCQl9CgoJCWlmICggaXNNZXRob2RDYWxsICkgewoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl2YXIgaW5zdGFuY2UgPSAkKHRoaXMpLmRhdGEoIG5hbWUgKSwKCQkJCQltZXRob2RWYWx1ZSA9IGluc3RhbmNlICYmICQuaXNGdW5jdGlvbiggaW5zdGFuY2Vbb3B0aW9uc10gKSA/CgkJCQkJCWluc3RhbmNlWyBvcHRpb25zIF0uYXBwbHkoIGluc3RhbmNlLCBhcmdzICkgOgoJCQkJCQlpbnN0YW5jZTsKCQkJCWlmICggbWV0aG9kVmFsdWUgIT09IGluc3RhbmNlICYmIG1ldGhvZFZhbHVlICE9PSB1bmRlZmluZWQgKSB7CgkJCQkJcmV0dXJuVmFsdWUgPSBtZXRob2RWYWx1ZTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSB7CgkJCXRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCXZhciBpbnN0YW5jZSA9ICQodGhpcykuZGF0YSggbmFtZSApOwoJCQkJaWYgKCBpbnN0YW5jZSApIHsKCQkJCQkvLyBpbnN0YW5jZS5vcHRpb24oIG9wdGlvbnMgfHwge30gKS5faW5pdCgpOyAvLyBPcmlnIGpxdWVyeS51aS53aWRnZXQuanMgY29kZTogTm90IHJlY29tbWVuZCBmb3IgalBsYXllci4gaWUuLCBBcHBseWluZyBuZXcgb3B0aW9ucyB0byBhbiBleGlzdGluZyBpbnN0YW5jZSAodmlhIHRoZSBqUGxheWVyIGNvbnN0cnVjdG9yKSBhbmQgcGVyZm9ybWluZyB0aGUgX2luaXQoKS4gVGhlIF9pbml0KCkgaXMgd2hhdCBjb25jZXJucyBtZS4gSXQgd291bGQgbGVhdmUgYSBsb3Qgb2YgZXZlbnQgaGFuZGxlcnMgYWN0aW5nIG9uIGpQbGF5ZXIgaW5zdGFuY2UgYW5kIHRoZSBpbnRlcmZhY2UuCgkJCQkJaW5zdGFuY2Uub3B0aW9uKCBvcHRpb25zIHx8IHt9ICk7IC8vIFRoZSBuZXcgY29uc3RydWN0b3Igb25seSBjaGFuZ2VzIHRoZSBvcHRpb25zLiBDaGFuZ2luZyBvcHRpb25zIG9ubHkgaGFzIGJhc2ljIHN1cHBvcnQgYXRtLgoJCQkJfSBlbHNlIHsKCQkJCQkkKHRoaXMpLmRhdGEoIG5hbWUsIG5ldyAkLmpQbGF5ZXIoIG9wdGlvbnMsIHRoaXMgKSApOwoJCQkJfQoJCQl9KTsKCQl9CgoJCXJldHVybiByZXR1cm5WYWx1ZTsKCX07CgoJJC5qUGxheWVyID0gZnVuY3Rpb24oIG9wdGlvbnMsIGVsZW1lbnQgKSB7CgkJLy8gYWxsb3cgaW5zdGFudGlhdGlvbiB3aXRob3V0IGluaXRpYWxpemluZyBmb3Igc2ltcGxlIGluaGVyaXRhbmNlCgkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgewoJCQl0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpOwoJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCXRoaXMub3B0aW9ucywKCQkJCW9wdGlvbnMKCQkJKTsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQl0aGlzLmVsZW1lbnQuYmluZCggInJlbW92ZS5qUGxheWVyIiwgZnVuY3Rpb24oKSB7CgkJCQlzZWxmLmRlc3Ryb3koKTsKCQkJfSk7CgkJCXRoaXMuX2luaXQoKTsKCQl9Cgl9OwoJLy8gRW5kIG9mOiAoQWRhcHRlZCBmcm9tIGpxdWVyeS51aS53aWRnZXQuanMgKDEuOC43KSkKCgkvLyBaZXB0byBpcyBtaXNzaW5nIG9uZSBvZiB0aGUgYW5pbWF0aW9uIG1ldGhvZHMuCglpZih0eXBlb2YgJC5mbi5zdG9wICE9PSAnZnVuY3Rpb24nKSB7CgkJJC5mbi5zdG9wID0gZnVuY3Rpb24oKSB7fTsKCX0KCgkvLyBFbXVsYXRlZCBIVE1MNSBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzCgkkLmpQbGF5ZXIuZW11bGF0ZU1ldGhvZHMgPSAibG9hZCBwbGF5IHBhdXNlIjsKCSQualBsYXllci5lbXVsYXRlU3RhdHVzID0gInNyYyByZWFkeVN0YXRlIG5ldHdvcmtTdGF0ZSBjdXJyZW50VGltZSBkdXJhdGlvbiBwYXVzZWQgZW5kZWQgcGxheWJhY2tSYXRlIjsKCSQualBsYXllci5lbXVsYXRlT3B0aW9ucyA9ICJtdXRlZCB2b2x1bWUiOwoKCS8vIFJlc2VydmVkIGV2ZW50IG5hbWVzIGdlbmVyYXRlZCBieSBqUGxheWVyIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBIVE1MNSBNZWRpYSBlbGVtZW50IHNwZWMKCSQualBsYXllci5yZXNlcnZlZEV2ZW50ID0gInJlYWR5IGZsYXNocmVzZXQgcmVzaXplIHJlcGVhdCBlcnJvciB3YXJuaW5nIjsKCgkvLyBFdmVudHMgZ2VuZXJhdGVkIGJ5IGpQbGF5ZXIKCSQualBsYXllci5ldmVudCA9IHt9OwoJJC5lYWNoKAoJCVsKCQkJJ3JlYWR5JywKCQkJJ2ZsYXNocmVzZXQnLCAvLyBTaW1pbGFyIHRvIHRoZSByZWFkeSBldmVudCBpZiB0aGUgRmxhc2ggc29sdXRpb24gaXMgc2V0IHRvIGRpc3BsYXk6bm9uZSBhbmQgdGhlbiBzaG93biBhZ2FpbiBvciBpZiBpdCdzIHJlbG9hZGVkIGZvciBhbm90aGVyIHJlYXNvbiBieSB0aGUgYnJvd3Nlci4gRm9yIGV4YW1wbGUsIHVzaW5nIENTUyBwb3NpdGlvbjpmaXhlZCBvbiBGaXJlZm94IGZvciB0aGUgZnVsbCBzY3JlZW4gZmVhdHVyZS4KCQkJJ3Jlc2l6ZScsIC8vIE9jY3VycyB3aGVuIHRoZSBzaXplIGNoYW5nZXMgdGhyb3VnaCBhIGZ1bGwvcmVzdG9yZSBzY3JlZW4gb3BlcmF0aW9uIG9yIGlmIHRoZSBzaXplL3NpemVGdWxsIG9wdGlvbnMgYXJlIGNoYW5nZWQuCgkJCSdyZXBlYXQnLCAvLyBPY2N1cnMgd2hlbiB0aGUgcmVwZWF0IHN0YXR1cyBjaGFuZ2VzLiBVc3VhbGx5IHRocm91Z2ggY2xpY2tzIG9uIHRoZSByZXBlYXQgYnV0dG9uIG9mIHRoZSBpbnRlcmZhY2UuCgkJCSdjbGljaycsIC8vIE9jY3VycyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBvbmUgb2YgdGhlIGZvbGxvd2luZzogcG9zdGVyIGltYWdlLCBodG1sIHZpZGVvLCBmbGFzaCB2aWRlby4KCQkJJ2Vycm9yJywgLy8gRXZlbnQgZXJyb3IgY29kZSBpbiBldmVudC5qUGxheWVyLmVycm9yLnR5cGUuIFNlZSAkLmpQbGF5ZXIuZXJyb3IKCQkJJ3dhcm5pbmcnLCAvLyBFdmVudCB3YXJuaW5nIGNvZGUgaW4gZXZlbnQualBsYXllci53YXJuaW5nLnR5cGUuIFNlZSAkLmpQbGF5ZXIud2FybmluZwoKCQkJLy8gT3RoZXIgZXZlbnRzIG1hdGNoIEhUTUw1IHNwZWMuCgkJCSdsb2Fkc3RhcnQnLAoJCQkncHJvZ3Jlc3MnLAoJCQknc3VzcGVuZCcsCgkJCSdhYm9ydCcsCgkJCSdlbXB0aWVkJywKCQkJJ3N0YWxsZWQnLAoJCQkncGxheScsCgkJCSdwYXVzZScsCgkJCSdsb2FkZWRtZXRhZGF0YScsCgkJCSdsb2FkZWRkYXRhJywKCQkJJ3dhaXRpbmcnLAoJCQkncGxheWluZycsCgkJCSdjYW5wbGF5JywKCQkJJ2NhbnBsYXl0aHJvdWdoJywKCQkJJ3NlZWtpbmcnLAoJCQknc2Vla2VkJywKCQkJJ3RpbWV1cGRhdGUnLAoJCQknZW5kZWQnLAoJCQkncmF0ZWNoYW5nZScsCgkJCSdkdXJhdGlvbmNoYW5nZScsCgkJCSd2b2x1bWVjaGFuZ2UnCgkJXSwKCQlmdW5jdGlvbigpIHsKCQkJJC5qUGxheWVyLmV2ZW50WyB0aGlzIF0gPSAnalBsYXllcl8nICsgdGhpczsKCQl9CgkpOwoKCSQualBsYXllci5odG1sRXZlbnQgPSBbIC8vIFRoZXNlIEhUTUwgZXZlbnRzIGFyZSBidWJibGVkIHRocm91Z2ggdG8gdGhlIGpQbGF5ZXIgZXZlbnQsIHdpdGhvdXQgYW55IGludGVybmFsIGFjdGlvbi4KCQkibG9hZHN0YXJ0IiwKCQkvLyAicHJvZ3Jlc3MiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInN1c3BlbmQiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImFib3J0IiwKCQkvLyAiZXJyb3IiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImVtcHRpZWQiLAoJCSJzdGFsbGVkIiwKCQkvLyAicGxheSIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAicGF1c2UiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImxvYWRlZG1ldGFkYXRhIiwKCQkibG9hZGVkZGF0YSIsCgkJLy8gIndhaXRpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInBsYXlpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJImNhbnBsYXkiLAoJCSJjYW5wbGF5dGhyb3VnaCIsCgkJLy8gInNlZWtpbmciLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInNlZWtlZCIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAidGltZXVwZGF0ZSIsIC8vIGpQbGF5ZXIgdXNlcyBpbnRlcm5hbGx5IGJlZm9yZSBidWJibGluZy4KCQkvLyAiZW5kZWQiLCAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJInJhdGVjaGFuZ2UiCgkJLy8gImR1cmF0aW9uY2hhbmdlIiAvLyBqUGxheWVyIHVzZXMgaW50ZXJuYWxseSBiZWZvcmUgYnViYmxpbmcuCgkJLy8gInZvbHVtZWNoYW5nZSIgLy8galBsYXllciB1c2VzIGludGVybmFsbHkgYmVmb3JlIGJ1YmJsaW5nLgoJXTsKCgkkLmpQbGF5ZXIucGF1c2UgPSBmdW5jdGlvbigpIHsKCQkkLmVhY2goJC5qUGxheWVyLnByb3RvdHlwZS5pbnN0YW5jZXMsIGZ1bmN0aW9uKGksIGVsZW1lbnQpIHsKCQkJaWYoZWxlbWVudC5kYXRhKCJqUGxheWVyIikuc3RhdHVzLnNyY1NldCkgeyAvLyBDaGVjayB0aGF0IG1lZGlhIGlzIHNldCBvdGhlcndpc2Ugd291bGQgY2F1c2UgZXJyb3IgZXZlbnQuCgkJCQllbGVtZW50LmpQbGF5ZXIoInBhdXNlIik7CgkJCX0KCQl9KTsKCX07CgoJLy8gRGVmYXVsdCBmb3IgalBsYXllciBvcHRpb24udGltZUZvcm1hdAoJJC5qUGxheWVyLnRpbWVGb3JtYXQgPSB7CgkJc2hvd0hvdXI6IGZhbHNlLAoJCXNob3dNaW46IHRydWUsCgkJc2hvd1NlYzogdHJ1ZSwKCQlwYWRIb3VyOiBmYWxzZSwKCQlwYWRNaW46IHRydWUsCgkJcGFkU2VjOiB0cnVlLAoJCXNlcEhvdXI6ICI6IiwKCQlzZXBNaW46ICI6IiwKCQlzZXBTZWM6ICIiCgl9OwoJdmFyIENvbnZlcnRUaW1lID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5pbml0KCk7Cgl9OwoJQ29udmVydFRpbWUucHJvdG90eXBlID0gewoJCWluaXQ6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLm9wdGlvbnMgPSB7CgkJCQl0aW1lRm9ybWF0OiAkLmpQbGF5ZXIudGltZUZvcm1hdAoJCQl9OwoJCX0sCgkJdGltZTogZnVuY3Rpb24ocykgeyAvLyBmdW5jdGlvbiB1c2VkIG9uIGpQbGF5ZXIucHJvdG90eXBlLl9jb252ZXJ0VGltZSB0byBlbmFibGUgcGVyIGluc3RhbmNlIG9wdGlvbnMuCgkJCXMgPSAocyAmJiB0eXBlb2YgcyA9PT0gJ251bWJlcicpID8gcyA6IDA7CgoJCQl2YXIgbXlUaW1lID0gbmV3IERhdGUocyAqIDEwMDApLAoJCQkJaG91ciA9IG15VGltZS5nZXRVVENIb3VycygpLAoJCQkJbWluID0gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd0hvdXIgPyBteVRpbWUuZ2V0VVRDTWludXRlcygpIDogbXlUaW1lLmdldFVUQ01pbnV0ZXMoKSArIGhvdXIgKiA2MCwKCQkJCXNlYyA9IHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dNaW4gPyBteVRpbWUuZ2V0VVRDU2Vjb25kcygpIDogbXlUaW1lLmdldFVUQ1NlY29uZHMoKSArIG1pbiAqIDYwLAoJCQkJc3RySG91ciA9ICh0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5wYWRIb3VyICYmIGhvdXIgPCAxMCkgPyAiMCIgKyBob3VyIDogaG91ciwKCQkJCXN0ck1pbiA9ICh0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5wYWRNaW4gJiYgbWluIDwgMTApID8gIjAiICsgbWluIDogbWluLAoJCQkJc3RyU2VjID0gKHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnBhZFNlYyAmJiBzZWMgPCAxMCkgPyAiMCIgKyBzZWMgOiBzZWMsCgkJCQlzdHJUaW1lID0gIiI7CgoJCQlzdHJUaW1lICs9IHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNob3dIb3VyID8gc3RySG91ciArIHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNlcEhvdXIgOiAiIjsKCQkJc3RyVGltZSArPSB0aGlzLm9wdGlvbnMudGltZUZvcm1hdC5zaG93TWluID8gc3RyTWluICsgdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2VwTWluIDogIiI7CgkJCXN0clRpbWUgKz0gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQuc2hvd1NlYyA/IHN0clNlYyArIHRoaXMub3B0aW9ucy50aW1lRm9ybWF0LnNlcFNlYyA6ICIiOwoKCQkJcmV0dXJuIHN0clRpbWU7CgkJfQoJfTsKCXZhciBteUNvbnZlcnRUaW1lID0gbmV3IENvbnZlcnRUaW1lKCk7CgkkLmpQbGF5ZXIuY29udmVydFRpbWUgPSBmdW5jdGlvbihzKSB7CgkJcmV0dXJuIG15Q29udmVydFRpbWUudGltZShzKTsKCX07CgoJLy8gQWRhcHRpbmcgalF1ZXJ5IDEuNC40IGNvZGUgZm9yIGpRdWVyeS5icm93c2VyLiBSZXF1aXJlZCBzaW5jZSBqUXVlcnkgMS4zLjIgZG9lcyBub3QgZGV0ZWN0IENocm9tZSBhcyB3ZWJraXQuCgkkLmpQbGF5ZXIudWFCcm93c2VyID0gZnVuY3Rpb24oIHVzZXJBZ2VudCApIHsKCQl2YXIgdWEgPSB1c2VyQWdlbnQudG9Mb3dlckNhc2UoKTsKCgkJLy8gVXNlcmFnZW50IFJlZ0V4cAoJCXZhciByd2Via2l0ID0gLyh3ZWJraXQpWyBcL10oW1x3Ll0rKS87CgkJdmFyIHJvcGVyYSA9IC8ob3BlcmEpKD86Lip2ZXJzaW9uKT9bIFwvXShbXHcuXSspLzsKCQl2YXIgcm1zaWUgPSAvKG1zaWUpIChbXHcuXSspLzsKCQl2YXIgcm1vemlsbGEgPSAvKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vOwoKCQl2YXIgbWF0Y2ggPSByd2Via2l0LmV4ZWMoIHVhICkgfHwKCQkJcm9wZXJhLmV4ZWMoIHVhICkgfHwKCQkJcm1zaWUuZXhlYyggdWEgKSB8fAoJCQl1YS5pbmRleE9mKCJjb21wYXRpYmxlIikgPCAwICYmIHJtb3ppbGxhLmV4ZWMoIHVhICkgfHwKCQkJW107CgoJCXJldHVybiB7IGJyb3dzZXI6IG1hdGNoWzFdIHx8ICIiLCB2ZXJzaW9uOiBtYXRjaFsyXSB8fCAiMCIgfTsKCX07CgoJLy8gUGxhdGZvcm0gc25pZmZlciBmb3IgZGV0ZWN0aW5nIG1vYmlsZSBkZXZpY2VzCgkkLmpQbGF5ZXIudWFQbGF0Zm9ybSA9IGZ1bmN0aW9uKCB1c2VyQWdlbnQgKSB7CgkJdmFyIHVhID0gdXNlckFnZW50LnRvTG93ZXJDYXNlKCk7CgoJCS8vIFVzZXJhZ2VudCBSZWdFeHAKCQl2YXIgcnBsYXRmb3JtID0gLyhpcGFkfGlwaG9uZXxpcG9kfGFuZHJvaWR8YmxhY2tiZXJyeXxwbGF5Ym9va3x3aW5kb3dzIGNlfHdlYm9zKS87CgkJdmFyIHJ0YWJsZXQgPSAvKGlwYWR8cGxheWJvb2spLzsKCQl2YXIgcmFuZHJvaWQgPSAvKGFuZHJvaWQpLzsKCQl2YXIgcm1vYmlsZSA9IC8obW9iaWxlKS87CgoJCXZhciBwbGF0Zm9ybSA9IHJwbGF0Zm9ybS5leGVjKCB1YSApIHx8IFtdOwoJCXZhciB0YWJsZXQgPSBydGFibGV0LmV4ZWMoIHVhICkgfHwKCQkJIXJtb2JpbGUuZXhlYyggdWEgKSAmJiByYW5kcm9pZC5leGVjKCB1YSApIHx8CgkJCVtdOwoKCQlpZihwbGF0Zm9ybVsxXSkgewoJCQlwbGF0Zm9ybVsxXSA9IHBsYXRmb3JtWzFdLnJlcGxhY2UoL1xzL2csICJfIik7IC8vIENoYW5nZSB3aGl0ZXNwYWNlIHRvIHVuZGVyc2NvcmUuIEVuYWJsZXMgZG90IG5vdGF0aW9uLgoJCX0KCgkJcmV0dXJuIHsgcGxhdGZvcm06IHBsYXRmb3JtWzFdIHx8ICIiLCB0YWJsZXQ6IHRhYmxldFsxXSB8fCAiIiB9OwoJfTsKCgkkLmpQbGF5ZXIuYnJvd3NlciA9IHsKCX07CgkkLmpQbGF5ZXIucGxhdGZvcm0gPSB7Cgl9OwoKCXZhciBicm93c2VyTWF0Y2ggPSAkLmpQbGF5ZXIudWFCcm93c2VyKG5hdmlnYXRvci51c2VyQWdlbnQpOwoJaWYgKCBicm93c2VyTWF0Y2guYnJvd3NlciApIHsKCQkkLmpQbGF5ZXIuYnJvd3NlclsgYnJvd3Nlck1hdGNoLmJyb3dzZXIgXSA9IHRydWU7CgkJJC5qUGxheWVyLmJyb3dzZXIudmVyc2lvbiA9IGJyb3dzZXJNYXRjaC52ZXJzaW9uOwoJfQoJdmFyIHBsYXRmb3JtTWF0Y2ggPSAkLmpQbGF5ZXIudWFQbGF0Zm9ybShuYXZpZ2F0b3IudXNlckFnZW50KTsKCWlmICggcGxhdGZvcm1NYXRjaC5wbGF0Zm9ybSApIHsKCQkkLmpQbGF5ZXIucGxhdGZvcm1bIHBsYXRmb3JtTWF0Y2gucGxhdGZvcm0gXSA9IHRydWU7CgkJJC5qUGxheWVyLnBsYXRmb3JtLm1vYmlsZSA9ICFwbGF0Zm9ybU1hdGNoLnRhYmxldDsKCQkkLmpQbGF5ZXIucGxhdGZvcm0udGFibGV0ID0gISFwbGF0Zm9ybU1hdGNoLnRhYmxldDsKCX0KCgkvLyBJbnRlcm5ldCBFeHBsb3JlciAoSUUpIEJyb3dzZXIgRG9jdW1lbnQgTW9kZSBTbmlmZmVyLiBCYXNlZCBvbiBjb2RlIGF0OgoJLy8gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjMjg4MzI1JTI4dj12cy44NSUyOS5hc3B4I0dldE1vZGUKCSQualBsYXllci5nZXREb2NNb2RlID0gZnVuY3Rpb24oKSB7CgkJdmFyIGRvY01vZGU7CgkJaWYgKCQualBsYXllci5icm93c2VyLm1zaWUpIHsKCQkJaWYgKGRvY3VtZW50LmRvY3VtZW50TW9kZSkgeyAvLyBJRTggb3IgbGF0ZXIKCQkJCWRvY01vZGUgPSBkb2N1bWVudC5kb2N1bWVudE1vZGU7CgkJCX0gZWxzZSB7IC8vIElFIDUtNwoJCQkJZG9jTW9kZSA9IDU7IC8vIEFzc3VtZSBxdWlya3MgbW9kZSB1bmxlc3MgcHJvdmVuIG90aGVyd2lzZQoJCQkJaWYgKGRvY3VtZW50LmNvbXBhdE1vZGUpIHsKCQkJCQlpZiAoZG9jdW1lbnQuY29tcGF0TW9kZSA9PT0gIkNTUzFDb21wYXQiKSB7CgkJCQkJCWRvY01vZGUgPSA3OyAvLyBzdGFuZGFyZHMgbW9kZQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gZG9jTW9kZTsKCX07CgkkLmpQbGF5ZXIuYnJvd3Nlci5kb2N1bWVudE1vZGUgPSAkLmpQbGF5ZXIuZ2V0RG9jTW9kZSgpOwoKCSQualBsYXllci5uYXRpdmVGZWF0dXJlcyA9IHsKCQlpbml0OiBmdW5jdGlvbigpIHsKCgkJCS8qIEZ1bGxzY3JlZW4gZnVuY3Rpb24gbmFtaW5nIGluZmx1ZW5jZWQgYnkgVzNDIG5hbWluZy4KCQkJICogTm8gc3VwcG9ydCBmb3I6IE1vemlsbGEgUHJvcG9zYWw6IGh0dHBzOi8vd2lraS5tb3ppbGxhLm9yZy9HZWNrbzpGdWxsU2NyZWVuQVBJCgkJCSAqLwoKCQkJdmFyIGQgPSBkb2N1bWVudCwKCQkJCXYgPSBkLmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyksCgkJCQlzcGVjID0gewoJCQkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2Z1bGxzY3JlZW4vCgkJCQkJdzNjOiBbCgkJCQkJCSdmdWxsc2NyZWVuRW5hYmxlZCcsCgkJCQkJCSdmdWxsc2NyZWVuRWxlbWVudCcsCgkJCQkJCSdyZXF1ZXN0RnVsbHNjcmVlbicsCgkJCQkJCSdleGl0RnVsbHNjcmVlbicsCgkJCQkJCSdmdWxsc2NyZWVuY2hhbmdlJywKCQkJCQkJJ2Z1bGxzY3JlZW5lcnJvcicKCQkJCQldLAoJCQkJCS8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvRE9NL1VzaW5nX2Z1bGxzY3JlZW5fbW9kZQoJCQkJCW1vejogWwoJCQkJCQknbW96RnVsbFNjcmVlbkVuYWJsZWQnLAoJCQkJCQknbW96RnVsbFNjcmVlbkVsZW1lbnQnLAoJCQkJCQknbW96UmVxdWVzdEZ1bGxTY3JlZW4nLAoJCQkJCQknbW96Q2FuY2VsRnVsbFNjcmVlbicsCgkJCQkJCSdtb3pmdWxsc2NyZWVuY2hhbmdlJywKCQkJCQkJJ21vemZ1bGxzY3JlZW5lcnJvcicKCQkJCQldLAoJCQkJCS8vIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvc2FmYXJpLyNkb2N1bWVudGF0aW9uL1dlYktpdC9SZWZlcmVuY2UvRWxlbWVudENsYXNzUmVmL0VsZW1lbnQvRWxlbWVudC5odG1sCgkJCQkJLy8gaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9zYWZhcmkvI2RvY3VtZW50YXRpb24vVXNlckV4cGVyaWVuY2UvUmVmZXJlbmNlL0RvY3VtZW50QWRkaXRpb25zUmVmZXJlbmNlL0RvY3VtZW50QWRkaXRpb25zL0RvY3VtZW50QWRkaXRpb25zLmh0bWwKCQkJCQl3ZWJraXQ6IFsKCQkJCQkJJycsCgkJCQkJCSd3ZWJraXRDdXJyZW50RnVsbFNjcmVlbkVsZW1lbnQnLAoJCQkJCQknd2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4nLAoJCQkJCQknd2Via2l0Q2FuY2VsRnVsbFNjcmVlbicsCgkJCQkJCSd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywKCQkJCQkJJycKCQkJCQldLAoJCQkJCS8vIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvc2FmYXJpLyNkb2N1bWVudGF0aW9uL0F1ZGlvVmlkZW8vUmVmZXJlbmNlL0hUTUxWaWRlb0VsZW1lbnRDbGFzc1JlZmVyZW5jZS9IVE1MVmlkZW9FbGVtZW50L0hUTUxWaWRlb0VsZW1lbnQuaHRtbAoJCQkJCXdlYmtpdFZpZGVvOiBbCgkJCQkJCSd3ZWJraXRTdXBwb3J0c0Z1bGxzY3JlZW4nLAoJCQkJCQknd2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLAoJCQkJCQknd2Via2l0RW50ZXJGdWxsc2NyZWVuJywKCQkJCQkJJ3dlYmtpdEV4aXRGdWxsc2NyZWVuJywKCQkJCQkJJycsCgkJCQkJCScnCgkJCQkJXQoJCQkJfSwKCQkJCXNwZWNPcmRlciA9IFsKCQkJCQkndzNjJywKCQkJCQknbW96JywKCQkJCQknd2Via2l0JywKCQkJCQknd2Via2l0VmlkZW8nCgkJCQldLAoJCQkJZnMsIGksIGlsOwoKCQkJdGhpcy5mdWxsc2NyZWVuID0gZnMgPSB7CgkJCQlzdXBwb3J0OiB7CgkJCQkJdzNjOiAhIWRbc3BlYy53M2NbMF1dLAoJCQkJCW1vejogISFkW3NwZWMubW96WzBdXSwKCQkJCQl3ZWJraXQ6IHR5cGVvZiBkW3NwZWMud2Via2l0WzNdXSA9PT0gJ2Z1bmN0aW9uJywKCQkJCQl3ZWJraXRWaWRlbzogdHlwZW9mIHZbc3BlYy53ZWJraXRWaWRlb1syXV0gPT09ICdmdW5jdGlvbicKCQkJCX0sCgkJCQl1c2VkOiB7fQoJCQl9OwoKCQkJLy8gU3RvcmUgdGhlIG5hbWUgb2YgdGhlIHNwZWMgYmVpbmcgdXNlZCBhbmQgYXMgYSBoYW5keSBib29sZWFuLgoJCQlmb3IoaSA9IDAsIGlsID0gc3BlY09yZGVyLmxlbmd0aDsgaSA8IGlsOyBpKyspIHsKCQkJCXZhciBuID0gc3BlY09yZGVyW2ldOwoJCQkJaWYoZnMuc3VwcG9ydFtuXSkgewoJCQkJCWZzLnNwZWMgPSBuOwoJCQkJCWZzLnVzZWRbbl0gPSB0cnVlOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgoJCQlpZihmcy5zcGVjKSB7CgkJCQl2YXIgcyA9IHNwZWNbZnMuc3BlY107CgkJCQlmcy5hcGkgPSB7CgkJCQkJZnVsbHNjcmVlbkVuYWJsZWQ6IHRydWUsCgkJCQkJZnVsbHNjcmVlbkVsZW1lbnQ6IGZ1bmN0aW9uKGVsZW0pIHsKCQkJCQkJZWxlbSA9IGVsZW0gPyBlbGVtIDogZDsgLy8gVmlkZW8gZWxlbWVudCByZXF1aXJlZCBmb3Igd2Via2l0VmlkZW8KCQkJCQkJcmV0dXJuIGVsZW1bc1sxXV07CgkJCQkJfSwKCQkJCQlyZXF1ZXN0RnVsbHNjcmVlbjogZnVuY3Rpb24oZWxlbSkgewoJCQkJCQlyZXR1cm4gZWxlbVtzWzJdXSgpOwoJCQkJCX0sCgkJCQkJZXhpdEZ1bGxzY3JlZW46IGZ1bmN0aW9uKGVsZW0pIHsKCQkJCQkJZWxlbSA9IGVsZW0gPyBlbGVtIDogZDsgLy8gVmlkZW8gZWxlbWVudCByZXF1aXJlZCBmb3Igd2Via2l0VmlkZW8KCQkJCQkJcmV0dXJuIGVsZW1bc1szXV0oKTsKCQkJCQl9CgkJCQl9OwoJCQkJZnMuZXZlbnQgPSB7CgkJCQkJZnVsbHNjcmVlbmNoYW5nZTogc1s0XSwKCQkJCQlmdWxsc2NyZWVuZXJyb3I6IHNbNV0KCQkJCX07CgkJCX0gZWxzZSB7CgkJCQlmcy5hcGkgPSB7CgkJCQkJZnVsbHNjcmVlbkVuYWJsZWQ6IGZhbHNlLAoJCQkJCWZ1bGxzY3JlZW5FbGVtZW50OiBmdW5jdGlvbigpIHsKCQkJCQkJcmV0dXJuIG51bGw7CgkJCQkJfSwKCQkJCQlyZXF1ZXN0RnVsbHNjcmVlbjogZnVuY3Rpb24oKSB7fSwKCQkJCQlleGl0RnVsbHNjcmVlbjogZnVuY3Rpb24oKSB7fQoJCQkJfTsKCQkJCWZzLmV2ZW50ID0ge307CgkJCX0KCQl9Cgl9OwoJJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmluaXQoKTsKCgkvLyBUaGUga2V5Ym9hcmQgY29udHJvbCBzeXN0ZW0uCgoJLy8gVGhlIGN1cnJlbnQgalBsYXllciBpbnN0YW5jZSBpbiBmb2N1cy4KCSQualBsYXllci5mb2N1cyA9IG51bGw7CgoJLy8gVGhlIGxpc3Qgb2YgZWxlbWVudCBub2RlIG5hbWVzIHRvIGlnbm9yZSB3aXRoIGtleSBjb250cm9scy4KCSQualBsYXllci5rZXlJZ25vcmVFbGVtZW50TmFtZXMgPSAiSU5QVVQgVEVYVEFSRUEiOwoKCS8vIFRoZSBmdW5jdGlvbiB0aGF0IGRlYWxzIHdpdGgga2V5IHByZXNzZXMuCgl2YXIga2V5QmluZGluZ3MgPSBmdW5jdGlvbihldmVudCkgewoKCQl2YXIgZiA9ICQualBsYXllci5mb2N1cywKCQkJaWdub3JlS2V5OwoKCQkvLyBBIGpQbGF5ZXIgaW5zdGFuY2UgbXVzdCBiZSBpbiBmb2N1cy4gaWUuLCBrZXlFbmFibGVkIGFuZCB0aGUgbGFzdCBvbmUgcGxheWVkLgoJCWlmKGYpIHsKCQkJLy8gV2hhdCBnZW5lcmF0ZWQgdGhlIGtleSBwcmVzcz8KCQkJJC5lYWNoKCAkLmpQbGF5ZXIua2V5SWdub3JlRWxlbWVudE5hbWVzLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCS8vIFRoZSBzdHJpbmdzIHNob3VsZCBhbHJlYWR5IGJlIHVwcGVyY2FzZS4KCQkJCWlmKGV2ZW50LnRhcmdldC5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09PSBuYW1lLnRvVXBwZXJDYXNlKCkpIHsKCQkJCQlpZ25vcmVLZXkgPSB0cnVlOwoJCQkJCXJldHVybiBmYWxzZTsgLy8gZXhpdCBlYWNoLgoJCQkJfQoJCQl9KTsKCQkJaWYoIWlnbm9yZUtleSkgewoJCQkJLy8gU2VlIGlmIHRoZSBrZXkgcHJlc3NlZCBtYXRjaGVzIGFueSBvZiB0aGUgYmluZGluZ3MuCgkJCQkkLmVhY2goZi5vcHRpb25zLmtleUJpbmRpbmdzLCBmdW5jdGlvbihhY3Rpb24sIGJpbmRpbmcpIHsKCQkJCQkvLyBUaGUgYmluZGluZyBjb3VsZCBiZSBhIG51bGwgd2hlbiB0aGUgZGVmYXVsdCBoYXMgYmVlbiBkaXNhYmxlZC4gaWUuLCAxc3QgY2xhdXNlIGluIGlmKCkKCQkJCQlpZihiaW5kaW5nICYmIGV2ZW50LndoaWNoID09PSBiaW5kaW5nLmtleSAmJiAkLmlzRnVuY3Rpb24oYmluZGluZy5mbikpIHsKCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gS2V5IGJlaW5nIHVzZWQgYnkgalBsYXllciwgc28gcHJldmVudCBkZWZhdWx0IG9wZXJhdGlvbi4KCQkJCQkJYmluZGluZy5mbihmKTsKCQkJCQkJcmV0dXJuIGZhbHNlOyAvLyBleGl0IGVhY2guCgkJCQkJfQoJCQkJfSk7CgkJCX0KCQl9Cgl9OwoKCSQualBsYXllci5rZXlzID0gZnVuY3Rpb24oZW4pIHsKCQl2YXIgZXZlbnQgPSAia2V5ZG93bi5qUGxheWVyIjsKCQkvLyBSZW1vdmUgYW55IGJpbmRpbmcsIGp1c3QgaW4gY2FzZSBlbmFibGVkIG1vcmUgdGhhbiBvbmNlLgoJCSQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS51bmJpbmQoZXZlbnQpOwoJCWlmKGVuKSB7CgkJCSQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5iaW5kKGV2ZW50LCBrZXlCaW5kaW5ncyk7CgkJfQoJfTsKCgkvLyBFbmFibGUgdGhlIGdsb2JhbCBrZXkgY29udHJvbCBoYW5kbGVyIHJlYWR5IGZvciBhbnkgalBsYXllciBpbnN0YW5jZSB3aXRoIHRoZSBrZXlFbmFibGVkIG9wdGlvbiBlbmFibGVkLgoJJC5qUGxheWVyLmtleXModHJ1ZSk7CgoJJC5qUGxheWVyLnByb3RvdHlwZSA9IHsKCQljb3VudDogMCwgLy8gU3RhdGljIFZhcmlhYmxlOiBDaGFuZ2UgaXQgdmlhIHByb3RvdHlwZS4KCQl2ZXJzaW9uOiB7IC8vIFN0YXRpYyBPYmplY3QKCQkJc2NyaXB0OiAiMi40LjAiLAoJCQluZWVkRmxhc2g6ICIyLjQuMCIsCgkJCWZsYXNoOiAidW5rbm93biIKCQl9LAoJCW9wdGlvbnM6IHsgLy8gSW5zdGFuY2VkIGluICQualBsYXllcigpIGNvbnN0cnVjdG9yCgkJCXN3ZlBhdGg6ICJqcyIsIC8vIFBhdGggdG8gSnBsYXllci5zd2YuIENhbiBiZSByZWxhdGl2ZSwgYWJzb2x1dGUgb3Igc2VydmVyIHJvb3QgcmVsYXRpdmUuCgkJCXNvbHV0aW9uOiAiaHRtbCwgZmxhc2giLCAvLyBWYWxpZCBzb2x1dGlvbnM6IGh0bWwsIGZsYXNoLiBPcmRlciBkZWZpbmVzIHByaW9yaXR5LiAxc3QgaXMgaGlnaGVzdCwKCQkJc3VwcGxpZWQ6ICJtcDMiLCAvLyBEZWZpbmVzIHdoaWNoIGZvcm1hdHMgalBsYXllciB3aWxsIHRyeSBhbmQgc3VwcG9ydCBhbmQgdGhlIHByaW9yaXR5IGJ5IHRoZSBvcmRlci4gMXN0IGlzIGhpZ2hlc3QsCgkJCXByZWxvYWQ6ICdtZXRhZGF0YScsICAvLyBIVE1MNSBTcGVjIHZhbHVlczogbm9uZSwgbWV0YWRhdGEsIGF1dG8uCgkJCXZvbHVtZTogMC44LCAvLyBUaGUgdm9sdW1lLiBOdW1iZXIgMCB0byAxLgoJCQltdXRlZDogZmFsc2UsCgkJCXdtb2RlOiAib3BhcXVlIiwgLy8gVmFsaWQgd21vZGU6IHdpbmRvdywgdHJhbnNwYXJlbnQsIG9wYXF1ZSwgZGlyZWN0LCBncHUuIAoJCQliYWNrZ3JvdW5kQ29sb3I6ICIjMDAwMDAwIiwgLy8gVG8gZGVmaW5lIHRoZSBqUGxheWVyIGRpdiBhbmQgRmxhc2ggYmFja2dyb3VuZCBjb2xvci4KCQkJY3NzU2VsZWN0b3JBbmNlc3RvcjogIiNqcF9jb250YWluZXJfMSIsCgkJCWNzc1NlbGVjdG9yOiB7IC8vICogZGVub3RlcyBwcm9wZXJ0aWVzIHRoYXQgc2hvdWxkIG9ubHkgYmUgcmVxdWlyZWQgd2hlbiB2aWRlbyBtZWRpYSB0eXBlIHJlcXVpcmVkLiBfY3NzU2VsZWN0b3IoKSB3b3VsZCByZXF1aXJlIGNoYW5nZXMgdG8gZW5hYmxlIHNwbGl0dGluZyB0aGVzZSBpbnRvIEF1ZGlvIGFuZCBWaWRlbyBkZWZhdWx0cy4KCQkJCXZpZGVvUGxheTogIi5qcC12aWRlby1wbGF5IiwgLy8gKgoJCQkJcGxheTogIi5qcC1wbGF5IiwKCQkJCXBhdXNlOiAiLmpwLXBhdXNlIiwKCQkJCXN0b3A6ICIuanAtc3RvcCIsCgkJCQlzZWVrQmFyOiAiLmpwLXNlZWstYmFyIiwKCQkJCXBsYXlCYXI6ICIuanAtcGxheS1iYXIiLAoJCQkJbXV0ZTogIi5qcC1tdXRlIiwKCQkJCXVubXV0ZTogIi5qcC11bm11dGUiLAoJCQkJdm9sdW1lQmFyOiAiLmpwLXZvbHVtZS1iYXIiLAoJCQkJdm9sdW1lQmFyVmFsdWU6ICIuanAtdm9sdW1lLWJhci12YWx1ZSIsCgkJCQl2b2x1bWVNYXg6ICIuanAtdm9sdW1lLW1heCIsCgkJCQljdXJyZW50VGltZTogIi5qcC1jdXJyZW50LXRpbWUiLAoJCQkJZHVyYXRpb246ICIuanAtZHVyYXRpb24iLAoJCQkJZnVsbFNjcmVlbjogIi5qcC1mdWxsLXNjcmVlbiIsIC8vICoKCQkJCXJlc3RvcmVTY3JlZW46ICIuanAtcmVzdG9yZS1zY3JlZW4iLCAvLyAqCgkJCQlyZXBlYXQ6ICIuanAtcmVwZWF0IiwKCQkJCXJlcGVhdE9mZjogIi5qcC1yZXBlYXQtb2ZmIiwKCQkJCWd1aTogIi5qcC1ndWkiLCAvLyBUaGUgaW50ZXJmYWNlIHVzZWQgd2l0aCBhdXRvaGlkZSBmZWF0dXJlLgoJCQkJbm9Tb2x1dGlvbjogIi5qcC1uby1zb2x1dGlvbiIgLy8gRm9yIGVycm9yIGZlZWRiYWNrIHdoZW4galBsYXllciBjYW5ub3QgZmluZCBhIHNvbHV0aW9uLgoJCQl9LAoJCQlzbW9vdGhQbGF5QmFyOiBmYWxzZSwgLy8gU21vb3RocyB0aGUgcGxheSBiYXIgdHJhbnNpdGlvbnMsIHdoaWNoIGFmZmVjdHMgY2xpY2tzIGFuZCBzaG9ydCBtZWRpYSB3aXRoIGJpZyBjaGFuZ2VzIHBlciBzZWNvbmQuCgkJCWZ1bGxTY3JlZW46IGZhbHNlLCAvLyBOYXRpdmUgRnVsbCBTY3JlZW4KCQkJZnVsbFdpbmRvdzogZmFsc2UsCgkJCWF1dG9oaWRlOiB7CgkJCQlyZXN0b3JlZDogZmFsc2UsIC8vIENvbnRyb2xzIHRoZSBpbnRlcmZhY2UgYXV0b2hpZGUgZmVhdHVyZS4KCQkJCWZ1bGw6IHRydWUsIC8vIENvbnRyb2xzIHRoZSBpbnRlcmZhY2UgYXV0b2hpZGUgZmVhdHVyZS4KCQkJCWZhZGVJbjogMjAwLCAvLyBNaWxsaXNlY29uZHMuIFRoZSBwZXJpb2Qgb2YgdGhlIGZhZGVJbiBhbmltLgoJCQkJZmFkZU91dDogNjAwLCAvLyBNaWxsaXNlY29uZHMuIFRoZSBwZXJpb2Qgb2YgdGhlIGZhZGVPdXQgYW5pbS4KCQkJCWhvbGQ6IDEwMDAgLy8gTWlsbGlzZWNvbmRzLiBUaGUgcGVyaW9kIG9mIHRoZSBwYXVzZSBiZWZvcmUgYXV0b2hpZGUgYmVpbmdzLgoJCQl9LAoJCQlsb29wOiBmYWxzZSwKCQkJcmVwZWF0OiBmdW5jdGlvbihldmVudCkgeyAvLyBUaGUgZGVmYXVsdCBqUGxheWVyIHJlcGVhdCBldmVudCBoYW5kbGVyCgkJCQlpZihldmVudC5qUGxheWVyLm9wdGlvbnMubG9vcCkgewoJCQkJCSQodGhpcykudW5iaW5kKCIualBsYXllclJlcGVhdCIpLmJpbmQoJC5qUGxheWVyLmV2ZW50LmVuZGVkICsgIi5qUGxheWVyLmpQbGF5ZXJSZXBlYXQiLCBmdW5jdGlvbigpIHsKCQkJCQkJJCh0aGlzKS5qUGxheWVyKCJwbGF5Iik7CgkJCQkJfSk7CgkJCQl9IGVsc2UgewoJCQkJCSQodGhpcykudW5iaW5kKCIualBsYXllclJlcGVhdCIpOwoJCQkJfQoJCQl9LAoJCQluYXRpdmVWaWRlb0NvbnRyb2xzOiB7CgkJCQkvLyBXb3JrcyB3ZWxsIG9uIHN0YW5kYXJkIGJyb3dzZXJzLgoJCQkJLy8gUGhvbmUgYW5kIHRhYmxldCBicm93c2VycyBjYW4gaGF2ZSBwcm9ibGVtcyB3aXRoIHRoZSBjb250cm9scyBkaXNhcHBlYXJpbmcuCgkJCX0sCgkJCW5vRnVsbFdpbmRvdzogewoJCQkJbXNpZTogL21zaWUgWzAtNl1cLi8sCgkJCQlpcGFkOiAvaXBhZC4qP29zIFswLTRdXC4vLAoJCQkJaXBob25lOiAvaXBob25lLywKCQkJCWlwb2Q6IC9pcG9kLywKCQkJCWFuZHJvaWRfcGFkOiAvYW5kcm9pZCBbMC0zXVwuKD8hLio/bW9iaWxlKS8sCgkJCQlhbmRyb2lkX3Bob25lOiAvYW5kcm9pZC4qP21vYmlsZS8sCgkJCQlibGFja2JlcnJ5OiAvYmxhY2tiZXJyeS8sCgkJCQl3aW5kb3dzX2NlOiAvd2luZG93cyBjZS8sCgkJCQlpZW1vYmlsZTogL2llbW9iaWxlLywKCQkJCXdlYm9zOiAvd2Vib3MvCgkJCX0sCgkJCW5vVm9sdW1lOiB7CgkJCQlpcGFkOiAvaXBhZC8sCgkJCQlpcGhvbmU6IC9pcGhvbmUvLAoJCQkJaXBvZDogL2lwb2QvLAoJCQkJYW5kcm9pZF9wYWQ6IC9hbmRyb2lkKD8hLio/bW9iaWxlKS8sCgkJCQlhbmRyb2lkX3Bob25lOiAvYW5kcm9pZC4qP21vYmlsZS8sCgkJCQlibGFja2JlcnJ5OiAvYmxhY2tiZXJyeS8sCgkJCQl3aW5kb3dzX2NlOiAvd2luZG93cyBjZS8sCgkJCQlpZW1vYmlsZTogL2llbW9iaWxlLywKCQkJCXdlYm9zOiAvd2Vib3MvLAoJCQkJcGxheWJvb2s6IC9wbGF5Ym9vay8KCQkJfSwKCQkJdGltZUZvcm1hdDogewoJCQkJLy8gU3BlY2lmaWMgdGltZSBmb3JtYXQgZm9yIHRoaXMgaW5zdGFuY2UuIFRoZSBzdXBwb3J0ZWQgb3B0aW9ucyBhcmUgZGVmaW5lZCBpbiAkLmpQbGF5ZXIudGltZUZvcm1hdAoJCQkJLy8gRm9yIHRoZSB1bmRlZmluZWQgb3B0aW9ucyB3ZSB1c2UgdGhlIGRlZmF1bHQgZnJvbSAkLmpQbGF5ZXIudGltZUZvcm1hdAoJCQl9LAoJCQlrZXlFbmFibGVkOiBmYWxzZSwgLy8gRW5hYmxlcyBrZXlib2FyZCBjb250cm9scy4KCQkJYXVkaW9GdWxsU2NyZWVuOiBmYWxzZSwgLy8gRW5hYmxlcyBrZXlib2FyZCBjb250cm9scyB0byBlbnRlciBmdWxsIHNjcmVlbiB3aXRoIGF1ZGlvIG1lZGlhLgoJCQlrZXlCaW5kaW5nczogeyAvLyBUaGUga2V5IGNvbnRyb2wgb2JqZWN0LCBkZWZpbmluZyB0aGUga2V5IGNvZGVzIGFuZCB0aGUgZnVuY3Rpb25zIHRvIGV4ZWN1dGUuCgkJCQkvLyBUaGUgcGFyYW1ldGVyLCBmID0gJC5qUGxheWVyLmZvY3VzLCB3aWxsIGJlIGNoZWNrZWQgdHJ1ZXRoeSBiZWZvcmUgYXR0ZW1wdGluZyB0byBjYWxsIGFueSBvZiB0aGVzZSBmdW5jdGlvbnMuCgkJCQkvLyBQcm9wZXJ0aWVzIG1heSBiZSBhZGRlZCB0byB0aGlzIG9iamVjdCwgaW4ga2V5L2ZuIHBhaXJzLCB0byBlbmFibGUgb3RoZXIga2V5IGNvbnRyb2xzLiBFRywgZm9yIHRoZSBwbGF5bGlzdCBhZGQtb24uCgkJCQlwbGF5OiB7CgkJCQkJa2V5OiAzMiwgLy8gc3BhY2UKCQkJCQlmbjogZnVuY3Rpb24oZikgewoJCQkJCQlpZihmLnN0YXR1cy5wYXVzZWQpIHsKCQkJCQkJCWYucGxheSgpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJZi5wYXVzZSgpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSwKCQkJCWZ1bGxTY3JlZW46IHsKCQkJCQlrZXk6IDEzLCAvLyBlbnRlcgoJCQkJCWZuOiBmdW5jdGlvbihmKSB7CgkJCQkJCWlmKGYuc3RhdHVzLnZpZGVvIHx8IGYub3B0aW9ucy5hdWRpb0Z1bGxTY3JlZW4pIHsKCQkJCQkJCWYuX3NldE9wdGlvbigiZnVsbFNjcmVlbiIsICFmLm9wdGlvbnMuZnVsbFNjcmVlbik7CgkJCQkJCX0KCQkJCQl9CgkJCQl9LAoJCQkJbXV0ZWQ6IHsKCQkJCQlrZXk6IDgsIC8vIGJhY2tzcGFjZQoJCQkJCWZuOiBmdW5jdGlvbihmKSB7CgkJCQkJCWYuX211dGVkKCFmLm9wdGlvbnMubXV0ZWQpOwoJCQkJCX0KCQkJCX0sCgkJCQl2b2x1bWVVcDogewoJCQkJCWtleTogMzgsIC8vIFVQCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi52b2x1bWUoZi5vcHRpb25zLnZvbHVtZSArIDAuMSk7CgkJCQkJfQoJCQkJfSwKCQkJCXZvbHVtZURvd246IHsKCQkJCQlrZXk6IDQwLCAvLyBET1dOCgkJCQkJZm46IGZ1bmN0aW9uKGYpIHsKCQkJCQkJZi52b2x1bWUoZi5vcHRpb25zLnZvbHVtZSAtIDAuMSk7CgkJCQkJfQoJCQkJfQoJCQl9LAoJCQl2ZXJ0aWNhbFZvbHVtZTogZmFsc2UsIC8vIENhbGN1bGF0ZSB2b2x1bWUgZnJvbSB0aGUgYm90dG9tIG9mIHRoZSB2b2x1bWUgYmFyLiBEZWZhdWx0IGlzIGZyb20gdGhlIGxlZnQuIEFsc28gdm9sdW1lIGFmZmVjdHMgZWl0aGVyIHdpZHRoIG9yIGhlaWdodC4KCQkJLy8gZ2xvYmFsVm9sdW1lOiBmYWxzZSwgLy8gTm90IGltcGxlbWVudGVkOiBTZXQgdG8gbWFrZSB2b2x1bWUgY2hhbmdlcyBhZmZlY3QgYWxsIGpQbGF5ZXIgaW5zdGFuY2VzCgkJCS8vIGdsb2JhbE11dGU6IGZhbHNlLCAvLyBOb3QgaW1wbGVtZW50ZWQ6IFNldCB0byBtYWtlIG11dGUgY2hhbmdlcyBhZmZlY3QgYWxsIGpQbGF5ZXIgaW5zdGFuY2VzCgkJCWlkUHJlZml4OiAianAiLCAvLyBQcmVmaXggZm9yIHRoZSBpZHMgb2YgaHRtbCBlbGVtZW50cyBjcmVhdGVkIGJ5IGpQbGF5ZXIuIEZvciBmbGFzaCwgdGhpcyBtdXN0IG5vdCBpbmNsdWRlIGNoYXJhY3RlcnM6IC4gLSArICogLyBcCgkJCW5vQ29uZmxpY3Q6ICJqUXVlcnkiLAoJCQllbXVsYXRlSHRtbDogZmFsc2UsIC8vIEVtdWxhdGVzIHRoZSBIVE1MNSBNZWRpYSBlbGVtZW50IG9uIHRoZSBqUGxheWVyIGVsZW1lbnQuCgkJCWVycm9yQWxlcnRzOiBmYWxzZSwKCQkJd2FybmluZ0FsZXJ0czogZmFsc2UKCQl9LAoJCW9wdGlvbnNBdWRpbzogewoJCQlzaXplOiB7CgkJCQl3aWR0aDogIjBweCIsCgkJCQloZWlnaHQ6ICIwcHgiLAoJCQkJY3NzQ2xhc3M6ICIiCgkJCX0sCgkJCXNpemVGdWxsOiB7CgkJCQl3aWR0aDogIjBweCIsCgkJCQloZWlnaHQ6ICIwcHgiLAoJCQkJY3NzQ2xhc3M6ICIiCgkJCX0KCQl9LAoJCW9wdGlvbnNWaWRlbzogewoJCQlzaXplOiB7CgkJCQl3aWR0aDogIjQ4MHB4IiwKCQkJCWhlaWdodDogIjI3MHB4IiwKCQkJCWNzc0NsYXNzOiAianAtdmlkZW8tMjcwcCIKCQkJfSwKCQkJc2l6ZUZ1bGw6IHsKCQkJCXdpZHRoOiAiMTAwJSIsCgkJCQloZWlnaHQ6ICIxMDAlIiwKCQkJCWNzc0NsYXNzOiAianAtdmlkZW8tZnVsbCIKCQkJfQoJCX0sCgkJaW5zdGFuY2VzOiB7fSwgLy8gU3RhdGljIE9iamVjdAoJCXN0YXR1czogeyAvLyBJbnN0YW5jZWQgaW4gX2luaXQoKQoJCQlzcmM6ICIiLAoJCQltZWRpYToge30sCgkJCXBhdXNlZDogdHJ1ZSwKCQkJZm9ybWF0OiB7fSwKCQkJZm9ybWF0VHlwZTogIiIsCgkJCXdhaXRGb3JQbGF5OiB0cnVlLCAvLyBTYW1lIGFzIHdhaXRGb3JMb2FkIGV4Y2VwdCBpbiBjYXNlIHdoZXJlIHByZWxvYWRpbmcuCgkJCXdhaXRGb3JMb2FkOiB0cnVlLAoJCQlzcmNTZXQ6IGZhbHNlLAoJCQl2aWRlbzogZmFsc2UsIC8vIFRydWUgaWYgcGxheWluZyBhIHZpZGVvCgkJCXNlZWtQZXJjZW50OiAwLAoJCQljdXJyZW50UGVyY2VudFJlbGF0aXZlOiAwLAoJCQljdXJyZW50UGVyY2VudEFic29sdXRlOiAwLAoJCQljdXJyZW50VGltZTogMCwKCQkJZHVyYXRpb246IDAsCgkJCXZpZGVvV2lkdGg6IDAsIC8vIEludHJpbnNpYyB3aWR0aCBvZiB0aGUgdmlkZW8gaW4gcGl4ZWxzLgoJCQl2aWRlb0hlaWdodDogMCwgLy8gSW50cmluc2ljIGhlaWdodCBvZiB0aGUgdmlkZW8gaW4gcGl4ZWxzLgoJCQlyZWFkeVN0YXRlOiAwLAoJCQluZXR3b3JrU3RhdGU6IDAsCgkJCXBsYXliYWNrUmF0ZTogMSwKCQkJZW5kZWQ6IDAKCi8qCQlQZXJzaXN0YW50IHN0YXR1cyBwcm9wZXJ0aWVzIGNyZWF0ZWQgZHluYW1pY2FsbHkgYXQgX2luaXQoKToKCQkJd2lkdGgKCQkJaGVpZ2h0CgkJCWNzc0NsYXNzCgkJCW5hdGl2ZVZpZGVvQ29udHJvbHMKCQkJbm9GdWxsV2luZG93CgkJCW5vVm9sdW1lCiovCgkJfSwKCgkJaW50ZXJuYWw6IHsgLy8gSW5zdGFuY2VkIGluIF9pbml0KCkKCQkJcmVhZHk6IGZhbHNlCgkJCS8vIGluc3RhbmNlOiB1bmRlZmluZWQKCQkJLy8gZG9tTm9kZTogdW5kZWZpbmVkCgkJCS8vIGh0bWxEbHlDbWRJZDogdW5kZWZpbmVkCgkJCS8vIGF1dG9oaWRlSWQ6IHVuZGVmaW5lZAoJCQkvLyBjbWRzSWdub3JlZAoJCX0sCgkJc29sdXRpb246IHsgLy8gU3RhdGljIE9iamVjdDogRGVmaW5lcyB0aGUgc29sdXRpb25zIGJ1aWx0IGluIGpQbGF5ZXIuCgkJCWh0bWw6IHRydWUsCgkJCWZsYXNoOiB0cnVlCgkJfSwKCQkvLyAnTVBFRy00IHN1cHBvcnQnIDogY2FuUGxheVR5cGUoJ3ZpZGVvL21wNDsgY29kZWNzPSJtcDR2LjIwLjgiJykKCQlmb3JtYXQ6IHsgLy8gU3RhdGljIE9iamVjdAoJCQltcDM6IHsKCQkJCWNvZGVjOiAnYXVkaW8vbXBlZzsgY29kZWNzPSJtcDMiJywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCW00YTogeyAvLyBBQUMgLyBNUDQKCQkJCWNvZGVjOiAnYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLAoJCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJb2dhOiB7IC8vIE9HRwoJCQkJY29kZWM6ICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICdhdWRpbycKCQkJfSwKCQkJd2F2OiB7IC8vIFBDTQoJCQkJY29kZWM6ICdhdWRpby93YXY7IGNvZGVjcz0iMSInLAoJCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCXdlYm1hOiB7IC8vIFdFQk0KCQkJCWNvZGVjOiAnYXVkaW8vd2VibTsgY29kZWNzPSJ2b3JiaXMiJywKCQkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQlmbGE6IHsgLy8gRkxWIC8gRjRBCgkJCQljb2RlYzogJ2F1ZGlvL3gtZmx2JywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAnYXVkaW8nCgkJCX0sCgkJCXJ0bXBhOiB7IC8vIFJUTVAgQVVESU8KCQkJCWNvZGVjOiAnYXVkaW8vcnRtcDsgY29kZWNzPSJydG1wIicsCgkJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCQltZWRpYTogJ2F1ZGlvJwoJCQl9LAoJCQltNHY6IHsgLy8gSC4yNjQgLyBNUDQKCQkJCWNvZGVjOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFLCBtcDRhLjQwLjIiJywKCQkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJCW1lZGlhOiAndmlkZW8nCgkJCX0sCgkJCW9ndjogeyAvLyBPR0cKCQkJCWNvZGVjOiAndmlkZW8vb2dnOyBjb2RlY3M9InRoZW9yYSwgdm9yYmlzIicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICd2aWRlbycKCQkJfSwKCQkJd2VibXY6IHsgLy8gV0VCTQoJCQkJY29kZWM6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZvcmJpcywgdnA4IicsCgkJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQkJbWVkaWE6ICd2aWRlbycKCQkJfSwKCQkJZmx2OiB7IC8vIEZMViAvIEY0VgoJCQkJY29kZWM6ICd2aWRlby94LWZsdicsCgkJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCQltZWRpYTogJ3ZpZGVvJwoJCQl9LAoJCQlydG1wdjogeyAvLyBSVE1QIFZJREVPCgkJCQljb2RlYzogJ3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQkJbWVkaWE6ICd2aWRlbycKCQkJfQoJCX0sCgkJX2luaXQ6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCQoJCQl0aGlzLmVsZW1lbnQuZW1wdHkoKTsKCQkJCgkJCXRoaXMuc3RhdHVzID0gJC5leHRlbmQoe30sIHRoaXMuc3RhdHVzKTsgLy8gQ29weSBzdGF0aWMgdG8gdW5pcXVlIGluc3RhbmNlLgoJCQl0aGlzLmludGVybmFsID0gJC5leHRlbmQoe30sIHRoaXMuaW50ZXJuYWwpOyAvLyBDb3B5IHN0YXRpYyB0byB1bmlxdWUgaW5zdGFuY2UuCgoJCQkvLyBJbml0aWFsaXplIHRoZSB0aW1lIGZvcm1hdAoJCQl0aGlzLm9wdGlvbnMudGltZUZvcm1hdCA9ICQuZXh0ZW5kKHt9LCAkLmpQbGF5ZXIudGltZUZvcm1hdCwgdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQpOwoKCQkJLy8gT24gaU9TLCBhc3N1bWUgY29tbWFuZHMgd2lsbCBiZSBpZ25vcmVkIGJlZm9yZSB1c2VyIGluaXRpYXRlcyB0aGVtLgoJCQl0aGlzLmludGVybmFsLmNtZHNJZ25vcmVkID0gJC5qUGxheWVyLnBsYXRmb3JtLmlwYWQgfHwgJC5qUGxheWVyLnBsYXRmb3JtLmlwaG9uZSB8fCAkLmpQbGF5ZXIucGxhdGZvcm0uaXBvZDsKCgkJCXRoaXMuaW50ZXJuYWwuZG9tTm9kZSA9IHRoaXMuZWxlbWVudC5nZXQoMCk7CgoJCQkvLyBBZGQga2V5IGJpbmRpbmdzIGZvY3VzIHRvIDFzdCBqUGxheWVyIGluc3RhbmNlZCB3aXRoIGtleSBjb250cm9sIGVuYWJsZWQuCgkJCWlmKHRoaXMub3B0aW9ucy5rZXlFbmFibGVkICYmICEkLmpQbGF5ZXIuZm9jdXMpIHsKCQkJCSQualBsYXllci5mb2N1cyA9IHRoaXM7CgkJCX0KCgkJCXRoaXMuZm9ybWF0cyA9IFtdOyAvLyBBcnJheSBiYXNlZCBvbiBzdXBwbGllZCBzdHJpbmcgb3B0aW9uLiBPcmRlciBkZWZpbmVzIHByaW9yaXR5LgoJCQl0aGlzLnNvbHV0aW9ucyA9IFtdOyAvLyBBcnJheSBiYXNlZCBvbiBzb2x1dGlvbiBzdHJpbmcgb3B0aW9uLiBPcmRlciBkZWZpbmVzIHByaW9yaXR5LgoJCQl0aGlzLnJlcXVpcmUgPSB7fTsgLy8gV2hpY2ggbWVkaWEgdHlwZXMgYXJlIHJlcXVpcmVkOiB2aWRlbywgYXVkaW8uCgkJCQoJCQl0aGlzLmh0bWxFbGVtZW50ID0ge307IC8vIERPTSBlbGVtZW50cyBjcmVhdGVkIGJ5IGpQbGF5ZXIKCQkJdGhpcy5odG1sID0ge307IC8vIEluIF9pbml0KCkncyB0aGlzLmRlc2lyZWQgY29kZSBhbmQgc2V0bWVkaWEoKTogQWNjZXNzZWQgdmlhIHRoaXNbc29sdXRpb25dLCB3aGVyZSBzb2x1dGlvbiBmcm9tIHRoaXMuc29sdXRpb25zIGFycmF5LgoJCQl0aGlzLmh0bWwuYXVkaW8gPSB7fTsKCQkJdGhpcy5odG1sLnZpZGVvID0ge307CgkJCXRoaXMuZmxhc2ggPSB7fTsgLy8gSW4gX2luaXQoKSdzIHRoaXMuZGVzaXJlZCBjb2RlIGFuZCBzZXRtZWRpYSgpOiBBY2Nlc3NlZCB2aWEgdGhpc1tzb2x1dGlvbl0sIHdoZXJlIHNvbHV0aW9uIGZyb20gdGhpcy5zb2x1dGlvbnMgYXJyYXkuCgkJCQoJCQl0aGlzLmNzcyA9IHt9OwoJCQl0aGlzLmNzcy5jcyA9IHt9OyAvLyBIb2xkcyB0aGUgY3NzIHNlbGVjdG9yIHN0cmluZ3MKCQkJdGhpcy5jc3MuanEgPSB7fTsgLy8gSG9sZHMgalF1ZXJ5IHNlbGVjdG9ycy4gaWUuLCAkKGNzcy5jcy5tZXRob2QpCgoJCQl0aGlzLmFuY2VzdG9ySnEgPSBbXTsgLy8gSG9sZHMgalF1ZXJ5IHNlbGVjdG9yIG9mIGNzc1NlbGVjdG9yQW5jZXN0b3IuIEluaXQgd291bGQgdXNlICQoKSBpbnN0ZWFkIG9mIFtdLCBidXQgaXQgaXMgb25seSAxLjQrCgoJCQl0aGlzLm9wdGlvbnMudm9sdW1lID0gdGhpcy5fbGltaXRWYWx1ZSh0aGlzLm9wdGlvbnMudm9sdW1lLCAwLCAxKTsgLy8gTGltaXQgdm9sdW1lIHZhbHVlJ3MgYm91bmRzLgoKCQkJLy8gQ3JlYXRlIHRoZSBmb3JtYXRzIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzdXBwbGllZCBmb3JtYXRzIHN0cmluZwoJCQkkLmVhY2godGhpcy5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSwgZnVuY3Rpb24oaW5kZXgxLCB2YWx1ZTEpIHsKCQkJCXZhciBmb3JtYXQgPSB2YWx1ZTEucmVwbGFjZSgvXlxzK3xccyskL2csICIiKTsgLy90cmltCgkJCQlpZihzZWxmLmZvcm1hdFtmb3JtYXRdKSB7IC8vIENoZWNrIGZvcm1hdCBpcyB2YWxpZC4KCQkJCQl2YXIgZHVwRm91bmQgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5mb3JtYXRzLCBmdW5jdGlvbihpbmRleDIsIHZhbHVlMikgeyAvLyBDaGVjayBmb3IgZHVwbGljYXRlcwoJCQkJCQlpZihmb3JtYXQgPT09IHZhbHVlMikgewoJCQkJCQkJZHVwRm91bmQgPSB0cnVlOwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJaWYoIWR1cEZvdW5kKSB7CgkJCQkJCXNlbGYuZm9ybWF0cy5wdXNoKGZvcm1hdCk7CgkJCQkJfQoJCQkJfQoJCQl9KTsKCgkJCS8vIENyZWF0ZSB0aGUgc29sdXRpb25zIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzb2x1dGlvbiBzdHJpbmcKCQkJJC5lYWNoKHRoaXMub3B0aW9ucy5zb2x1dGlvbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksIGZ1bmN0aW9uKGluZGV4MSwgdmFsdWUxKSB7CgkJCQl2YXIgc29sdXRpb24gPSB2YWx1ZTEucmVwbGFjZSgvXlxzK3xccyskL2csICIiKTsgLy90cmltCgkJCQlpZihzZWxmLnNvbHV0aW9uW3NvbHV0aW9uXSkgeyAvLyBDaGVjayBzb2x1dGlvbiBpcyB2YWxpZC4KCQkJCQl2YXIgZHVwRm91bmQgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5zb2x1dGlvbnMsIGZ1bmN0aW9uKGluZGV4MiwgdmFsdWUyKSB7IC8vIENoZWNrIGZvciBkdXBsaWNhdGVzCgkJCQkJCWlmKHNvbHV0aW9uID09PSB2YWx1ZTIpIHsKCQkJCQkJCWR1cEZvdW5kID0gdHJ1ZTsKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJCWlmKCFkdXBGb3VuZCkgewoJCQkJCQlzZWxmLnNvbHV0aW9ucy5wdXNoKHNvbHV0aW9uKTsKCQkJCQl9CgkJCQl9CgkJCX0pOwoKCQkJdGhpcy5pbnRlcm5hbC5pbnN0YW5jZSA9ICJqcF8iICsgdGhpcy5jb3VudDsKCQkJdGhpcy5pbnN0YW5jZXNbdGhpcy5pbnRlcm5hbC5pbnN0YW5jZV0gPSB0aGlzLmVsZW1lbnQ7CgoJCQkvLyBDaGVjayB0aGUgalBsYXllciBkaXYgaGFzIGFuIGlkIGFuZCBjcmVhdGUgb25lIGlmIHJlcXVpcmVkLiBJbXBvcnRhbnQgZm9yIEZsYXNoIHRvIGtub3cgdGhlIHVuaXF1ZSBpZCBmb3IgY29tbXMuCgkJCWlmKCF0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSkgewoJCQkJdGhpcy5lbGVtZW50LmF0dHIoImlkIiwgdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9qcGxheWVyXyIgKyB0aGlzLmNvdW50KTsKCQkJfQoKCQkJdGhpcy5pbnRlcm5hbC5zZWxmID0gJC5leHRlbmQoe30sIHsKCQkJCWlkOiB0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSwKCQkJCWpxOiB0aGlzLmVsZW1lbnQKCQkJfSk7CgkJCXRoaXMuaW50ZXJuYWwuYXVkaW8gPSAkLmV4dGVuZCh7fSwgewoJCQkJaWQ6IHRoaXMub3B0aW9ucy5pZFByZWZpeCArICJfYXVkaW9fIiArIHRoaXMuY291bnQsCgkJCQlqcTogdW5kZWZpbmVkCgkJCX0pOwoJCQl0aGlzLmludGVybmFsLnZpZGVvID0gJC5leHRlbmQoe30sIHsKCQkJCWlkOiB0aGlzLm9wdGlvbnMuaWRQcmVmaXggKyAiX3ZpZGVvXyIgKyB0aGlzLmNvdW50LAoJCQkJanE6IHVuZGVmaW5lZAoJCQl9KTsKCQkJdGhpcy5pbnRlcm5hbC5mbGFzaCA9ICQuZXh0ZW5kKHt9LCB7CgkJCQlpZDogdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9mbGFzaF8iICsgdGhpcy5jb3VudCwKCQkJCWpxOiB1bmRlZmluZWQsCgkJCQlzd2Y6IHRoaXMub3B0aW9ucy5zd2ZQYXRoICsgKHRoaXMub3B0aW9ucy5zd2ZQYXRoLnRvTG93ZXJDYXNlKCkuc2xpY2UoLTQpICE9PSAiLnN3ZiIgPyAodGhpcy5vcHRpb25zLnN3ZlBhdGggJiYgdGhpcy5vcHRpb25zLnN3ZlBhdGguc2xpY2UoLTEpICE9PSAiLyIgPyAiLyIgOiAiIikgKyAiSnBsYXllci5zd2YiIDogIiIpCgkJCX0pOwoJCQl0aGlzLmludGVybmFsLnBvc3RlciA9ICQuZXh0ZW5kKHt9LCB7CgkJCQlpZDogdGhpcy5vcHRpb25zLmlkUHJlZml4ICsgIl9wb3N0ZXJfIiArIHRoaXMuY291bnQsCgkJCQlqcTogdW5kZWZpbmVkCgkJCX0pOwoKCQkJLy8gUmVnaXN0ZXIgbGlzdGVuZXJzIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdG9yCgkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCWlmKHNlbGYub3B0aW9uc1tldmVudE5hbWVdICE9PSB1bmRlZmluZWQpIHsKCQkJCQlzZWxmLmVsZW1lbnQuYmluZChldmVudFR5cGUgKyAiLmpQbGF5ZXIiLCBzZWxmLm9wdGlvbnNbZXZlbnROYW1lXSk7IC8vIFdpdGggLmpQbGF5ZXIgbmFtZXNwYWNlLgoJCQkJCXNlbGYub3B0aW9uc1tldmVudE5hbWVdID0gdW5kZWZpbmVkOyAvLyBEZXN0cm95IHRoZSBoYW5kbGVyIHBvaW50ZXIgY29weSBvbiB0aGUgb3B0aW9ucy4gUmVhc29uLCBldmVudHMgY2FuIGJlIGFkZGVkL3JlbW92ZWQgaW4gb3RoZXIgd2F5cyBzbyB0aGlzIGNvdWxkIGJlIG9ic29sZXRlIGFuZCBtaXNsZWFkaW5nLgoJCQkJfQoJCQl9KTsKCgkJCS8vIERldGVybWluZSBpZiB3ZSByZXF1aXJlIHNvbHV0aW9ucyBmb3IgYXVkaW8sIHZpZGVvIG9yIGJvdGggbWVkaWEgdHlwZXMuCgkJCXRoaXMucmVxdWlyZS5hdWRpbyA9IGZhbHNlOwoJCQl0aGlzLnJlcXVpcmUudmlkZW8gPSBmYWxzZTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5yZXF1aXJlW3NlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWFdID0gdHJ1ZTsKCQkJfSk7CgoJCQkvLyBOb3cgcmVxdWlyZWQgdHlwZXMgYXJlIGtub3duLCBmaW5pc2ggdGhlIG9wdGlvbnMgZGVmYXVsdCBzZXR0aW5ncy4KCQkJaWYodGhpcy5yZXF1aXJlLnZpZGVvKSB7CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCQl0aGlzLm9wdGlvbnNWaWRlbywKCQkJCQl0aGlzLm9wdGlvbnMKCQkJCSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwKCQkJCQl0aGlzLm9wdGlvbnNBdWRpbywKCQkJCQl0aGlzLm9wdGlvbnMKCQkJCSk7CgkJCX0KCQkJdGhpcy5fc2V0U2l6ZSgpOyAvLyB1cGRhdGUgc3RhdHVzIGFuZCBqUGxheWVyIGVsZW1lbnQgc2l6ZQoKCQkJLy8gRGV0ZXJtaW5lIHRoZSBzdGF0dXMgZm9yIEJsb2NrbGlzdGVkIG9wdGlvbnMuCgkJCXRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgPSB0aGlzLl91YUJsb2NrbGlzdCh0aGlzLm9wdGlvbnMubmF0aXZlVmlkZW9Db250cm9scyk7CgkJCXRoaXMuc3RhdHVzLm5vRnVsbFdpbmRvdyA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpOwoJCQl0aGlzLnN0YXR1cy5ub1ZvbHVtZSA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub1ZvbHVtZSk7CgoJCQkvLyBDcmVhdGUgZXZlbnQgaGFuZGxlcnMgaWYgbmF0aXZlIGZ1bGxzY3JlZW4gaXMgc3VwcG9ydGVkCgkJCWlmKCQualBsYXllci5uYXRpdmVGZWF0dXJlcy5mdWxsc2NyZWVuLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCkgewoJCQkJdGhpcy5fZnVsbHNjcmVlbkFkZEV2ZW50TGlzdGVuZXJzKCk7CgkJCX0KCgkJCS8vIFRoZSBuYXRpdmUgY29udHJvbHMgYXJlIG9ubHkgZm9yIHZpZGVvIGFuZCBhcmUgZGlzYWJsZWQgd2hlbiBhdWRpbyBpcyBhbHNvIHVzZWQuCgkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoKCQkJLy8gQ3JlYXRlIHRoZSBwb3N0ZXIgaW1hZ2UuCgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLmlkID0gdGhpcy5pbnRlcm5hbC5wb3N0ZXIuaWQ7CgkJCXRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyAvLyBOb3RlIHRoYXQgdGhpcyBkaWQgbm90IHdvcmsgb24gRmlyZWZveCAzLjY6IHBvc3Rlci5hZGRFdmVudExpc3RlbmVyKCJvbmxvYWQiLCBmdW5jdGlvbigpIHt9LCBmYWxzZSk7IERpZCBub3QgaW52ZXN0aWdhdGUgeC1icm93c2VyLgoJCQkJaWYoIXNlbGYuc3RhdHVzLnZpZGVvIHx8IHNlbGYuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQkJc2VsZi5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJfQoJCQl9OwoJCQl0aGlzLmVsZW1lbnQuYXBwZW5kKHRoaXMuaHRtbEVsZW1lbnQucG9zdGVyKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEgPSAkKCIjIiArIHRoaXMuaW50ZXJuYWwucG9zdGVyLmlkKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLmJpbmQoImNsaWNrLmpQbGF5ZXIiLCBmdW5jdGlvbigpIHsKCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNsaWNrKTsKCQkJfSk7CgkJCQoJCQkvLyBHZW5lcmF0ZSB0aGUgcmVxdWlyZWQgbWVkaWEgZWxlbWVudHMKCQkJdGhpcy5odG1sLmF1ZGlvLmF2YWlsYWJsZSA9IGZhbHNlOwoJCQlpZih0aGlzLnJlcXVpcmUuYXVkaW8pIHsgLy8gSWYgYSBzdXBwbGllZCBmb3JtYXQgaXMgYXVkaW8KCQkJCXRoaXMuaHRtbEVsZW1lbnQuYXVkaW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhdWRpbycpOwoJCQkJdGhpcy5odG1sRWxlbWVudC5hdWRpby5pZCA9IHRoaXMuaW50ZXJuYWwuYXVkaW8uaWQ7CgkJCQl0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlID0gISF0aGlzLmh0bWxFbGVtZW50LmF1ZGlvLmNhblBsYXlUeXBlICYmIHRoaXMuX3Rlc3RDYW5QbGF5VHlwZSh0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKTsgLy8gVGVzdCBpcyBmb3IgSUU5IG9uIFdpbiBTZXJ2ZXIgMjAwOC4KCQkJfQoJCQl0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlID0gZmFsc2U7CgkJCWlmKHRoaXMucmVxdWlyZS52aWRlbykgeyAvLyBJZiBhIHN1cHBsaWVkIGZvcm1hdCBpcyB2aWRlbwoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CgkJCQl0aGlzLmh0bWxFbGVtZW50LnZpZGVvLmlkID0gdGhpcy5pbnRlcm5hbC52aWRlby5pZDsKCQkJCXRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUgPSAhIXRoaXMuaHRtbEVsZW1lbnQudmlkZW8uY2FuUGxheVR5cGUgJiYgdGhpcy5fdGVzdENhblBsYXlUeXBlKHRoaXMuaHRtbEVsZW1lbnQudmlkZW8pOyAvLyBUZXN0IGlzIGZvciBJRTkgb24gV2luIFNlcnZlciAyMDA4LgoJCQl9CgoJCQl0aGlzLmZsYXNoLmF2YWlsYWJsZSA9IHRoaXMuX2NoZWNrRm9yRmxhc2goMTAuMSk7CgoJCQl0aGlzLmh0bWwuY2FuUGxheSA9IHt9OwoJCQl0aGlzLmZsYXNoLmNhblBsYXkgPSB7fTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5odG1sLmNhblBsYXlbZm9ybWF0XSA9IHNlbGYuaHRtbFtzZWxmLmZvcm1hdFtmb3JtYXRdLm1lZGlhXS5hdmFpbGFibGUgJiYgIiIgIT09IHNlbGYuaHRtbEVsZW1lbnRbc2VsZi5mb3JtYXRbZm9ybWF0XS5tZWRpYV0uY2FuUGxheVR5cGUoc2VsZi5mb3JtYXRbZm9ybWF0XS5jb2RlYyk7CgkJCQlzZWxmLmZsYXNoLmNhblBsYXlbZm9ybWF0XSA9IHNlbGYuZm9ybWF0W2Zvcm1hdF0uZmxhc2hDYW5QbGF5ICYmIHNlbGYuZmxhc2guYXZhaWxhYmxlOwoJCQl9KTsKCQkJdGhpcy5odG1sLmRlc2lyZWQgPSBmYWxzZTsKCQkJdGhpcy5mbGFzaC5kZXNpcmVkID0gZmFsc2U7CgkJCSQuZWFjaCh0aGlzLnNvbHV0aW9ucywgZnVuY3Rpb24oc29sdXRpb25Qcmlvcml0eSwgc29sdXRpb24pIHsKCQkJCWlmKHNvbHV0aW9uUHJpb3JpdHkgPT09IDApIHsKCQkJCQlzZWxmW3NvbHV0aW9uXS5kZXNpcmVkID0gdHJ1ZTsKCQkJCX0gZWxzZSB7CgkJCQkJdmFyIGF1ZGlvQ2FuUGxheSA9IGZhbHNlOwoJCQkJCXZhciB2aWRlb0NhblBsYXkgPSBmYWxzZTsKCQkJCQkkLmVhY2goc2VsZi5mb3JtYXRzLCBmdW5jdGlvbihmb3JtYXRQcmlvcml0eSwgZm9ybWF0KSB7CgkJCQkJCWlmKHNlbGZbc2VsZi5zb2x1dGlvbnNbMF1dLmNhblBsYXlbZm9ybWF0XSkgeyAvLyBUaGUgb3RoZXIgc29sdXRpb24gY2FuIHBsYXkKCQkJCQkJCWlmKHNlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWEgPT09ICd2aWRlbycpIHsKCQkJCQkJCQl2aWRlb0NhblBsYXkgPSB0cnVlOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlhdWRpb0NhblBsYXkgPSB0cnVlOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJc2VsZltzb2x1dGlvbl0uZGVzaXJlZCA9IChzZWxmLnJlcXVpcmUuYXVkaW8gJiYgIWF1ZGlvQ2FuUGxheSkgfHwgKHNlbGYucmVxdWlyZS52aWRlbyAmJiAhdmlkZW9DYW5QbGF5KTsKCQkJCX0KCQkJfSk7CgkJCS8vIFRoaXMgaXMgd2hhdCBqUGxheWVyIHdpbGwgc3VwcG9ydCwgYmFzZWQgb24gc29sdXRpb24gYW5kIHN1cHBsaWVkLgoJCQl0aGlzLmh0bWwuc3VwcG9ydCA9IHt9OwoJCQl0aGlzLmZsYXNoLnN1cHBvcnQgPSB7fTsKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJc2VsZi5odG1sLnN1cHBvcnRbZm9ybWF0XSA9IHNlbGYuaHRtbC5jYW5QbGF5W2Zvcm1hdF0gJiYgc2VsZi5odG1sLmRlc2lyZWQ7CgkJCQlzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSA9IHNlbGYuZmxhc2guY2FuUGxheVtmb3JtYXRdICYmIHNlbGYuZmxhc2guZGVzaXJlZDsKCQkJfSk7CgkJCS8vIElmIGpQbGF5ZXIgaXMgc3VwcG9ydGluZyBhbnkgZm9ybWF0IGluIGEgc29sdXRpb24sIHRoZW4gdGhlIHNvbHV0aW9uIGlzIHVzZWQuCgkJCXRoaXMuaHRtbC51c2VkID0gZmFsc2U7CgkJCXRoaXMuZmxhc2gudXNlZCA9IGZhbHNlOwoJCQkkLmVhY2godGhpcy5zb2x1dGlvbnMsIGZ1bmN0aW9uKHNvbHV0aW9uUHJpb3JpdHksIHNvbHV0aW9uKSB7CgkJCQkkLmVhY2goc2VsZi5mb3JtYXRzLCBmdW5jdGlvbihmb3JtYXRQcmlvcml0eSwgZm9ybWF0KSB7CgkJCQkJaWYoc2VsZltzb2x1dGlvbl0uc3VwcG9ydFtmb3JtYXRdKSB7CgkJCQkJCXNlbGZbc29sdXRpb25dLnVzZWQgPSB0cnVlOwoJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJfQoJCQkJfSk7CgkJCX0pOwoKCQkJLy8gSW5pdCBzb2x1dGlvbiBhY3RpdmUgc3RhdGUgYW5kIHRoZSBldmVudCBnYXRlcyB0byBmYWxzZS4KCQkJdGhpcy5fcmVzZXRBY3RpdmUoKTsKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgoJCQkvLyBTZXQgdXAgdGhlIGNzcyBzZWxlY3RvcnMgZm9yIHRoZSBjb250cm9sIGFuZCBmZWVkYmFjayBlbnRpdGllcy4KCQkJdGhpcy5fY3NzU2VsZWN0b3JBbmNlc3Rvcih0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JBbmNlc3Rvcik7CgkJCQoJCQkvLyBJZiBuZWl0aGVyIGh0bWwgbm9yIGZsYXNoIGFyZSBiZWluZyB1c2VkIGJ5IHRoaXMgYnJvd3NlciwgdGhlbiBtZWRpYSBwbGF5YmFjayBpcyBub3QgcG9zc2libGUuIFRyaWdnZXIgYW4gZXJyb3IgZXZlbnQuCgkJCWlmKCEodGhpcy5odG1sLnVzZWQgfHwgdGhpcy5mbGFzaC51c2VkKSkgewoJCQkJdGhpcy5fZXJyb3IoIHsKCQkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3IuTk9fU09MVVRJT04sIAoJCQkJCWNvbnRleHQ6ICJ7c29sdXRpb246JyIgKyB0aGlzLm9wdGlvbnMuc29sdXRpb24gKyAiJywgc3VwcGxpZWQ6JyIgKyB0aGlzLm9wdGlvbnMuc3VwcGxpZWQgKyAiJ30iLAoJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5OT19TT0xVVElPTiwKCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50Lk5PX1NPTFVUSU9OCgkJCQl9KTsKCQkJCWlmKHRoaXMuY3NzLmpxLm5vU29sdXRpb24ubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEubm9Tb2x1dGlvbi5zaG93KCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZih0aGlzLmNzcy5qcS5ub1NvbHV0aW9uLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLm5vU29sdXRpb24uaGlkZSgpOwoJCQkJfQoJCQl9CgoJCQkvLyBBZGQgdGhlIGZsYXNoIHNvbHV0aW9uIGlmIGl0IGlzIGJlaW5nIHVzZWQuCgkJCWlmKHRoaXMuZmxhc2gudXNlZCkgewoJCQkJdmFyIGh0bWxPYmosCgkJCQlmbGFzaFZhcnMgPSAnalF1ZXJ5PScgKyBlbmNvZGVVUkkodGhpcy5vcHRpb25zLm5vQ29uZmxpY3QpICsgJyZpZD0nICsgZW5jb2RlVVJJKHRoaXMuaW50ZXJuYWwuc2VsZi5pZCkgKyAnJnZvbD0nICsgdGhpcy5vcHRpb25zLnZvbHVtZSArICcmbXV0ZWQ9JyArIHRoaXMub3B0aW9ucy5tdXRlZDsKCgkJCQkvLyBDb2RlIGluZmx1ZW5jZWQgYnkgU1dGT2JqZWN0IDIuMjogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3N3Zm9iamVjdC8KCQkJCS8vIE5vbiBJRSBicm93c2VycyBoYXZlIGFuIGluaXRpYWwgRmxhc2ggc2l6ZSBvZiAxIGJ5IDEgb3RoZXJ3aXNlIHRoZSB3bW9kZSBhZmZlY3RlZCB0aGUgRmxhc2ggcmVhZHkgZXZlbnQuIAoKCQkJCWlmKCQualBsYXllci5icm93c2VyLm1zaWUgJiYgKE51bWJlcigkLmpQbGF5ZXIuYnJvd3Nlci52ZXJzaW9uKSA8IDkgfHwgJC5qUGxheWVyLmJyb3dzZXIuZG9jdW1lbnRNb2RlIDwgOSkpIHsKCQkJCQl2YXIgb2JqU3RyID0gJzxvYmplY3QgaWQ9IicgKyB0aGlzLmludGVybmFsLmZsYXNoLmlkICsgJyIgY2xhc3NpZD0iY2xzaWQ6ZDI3Y2RiNmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiB0YWJpbmRleD0iLTEiPjwvb2JqZWN0Pic7CgoJCQkJCXZhciBwYXJhbVN0ciA9IFsKCQkJCQkJJzxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicgKyB0aGlzLmludGVybmFsLmZsYXNoLnN3ZiArICciIC8+JywKCQkJCQkJJzxwYXJhbSBuYW1lPSJGbGFzaFZhcnMiIHZhbHVlPSInICsgZmxhc2hWYXJzICsgJyIgLz4nLAoJCQkJCQknPHBhcmFtIG5hbWU9ImFsbG93U2NyaXB0QWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPicsCgkJCQkJCSc8cGFyYW0gbmFtZT0iYmdjb2xvciIgdmFsdWU9IicgKyB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yICsgJyIgLz4nLAoJCQkJCQknPHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0iJyArIHRoaXMub3B0aW9ucy53bW9kZSArICciIC8+JwoJCQkJCV07CgoJCQkJCWh0bWxPYmogPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG9ialN0cik7CgkJCQkJZm9yKHZhciBpPTA7IGkgPCBwYXJhbVN0ci5sZW5ndGg7IGkrKykgewoJCQkJCQlodG1sT2JqLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocGFyYW1TdHJbaV0pKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXZhciBjcmVhdGVQYXJhbSA9IGZ1bmN0aW9uKGVsLCBuLCB2KSB7CgkJCQkJCXZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFyYW0iKTsKCQkJCQkJcC5zZXRBdHRyaWJ1dGUoIm5hbWUiLCBuKTsJCgkJCQkJCXAuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIHYpOwoJCQkJCQllbC5hcHBlbmRDaGlsZChwKTsKCQkJCQl9OwoKCQkJCQlodG1sT2JqID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2JqZWN0Iik7CgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoImlkIiwgdGhpcy5pbnRlcm5hbC5mbGFzaC5pZCk7CgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoIm5hbWUiLCB0aGlzLmludGVybmFsLmZsYXNoLmlkKTsKCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgiZGF0YSIsIHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmKTsKCQkJCQlodG1sT2JqLnNldEF0dHJpYnV0ZSgidHlwZSIsICJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIpOwoJCQkJCWh0bWxPYmouc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxIik7IC8vIE5vbi16ZXJvCgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxIik7IC8vIE5vbi16ZXJvCgkJCQkJaHRtbE9iai5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIi0xIik7CgkJCQkJY3JlYXRlUGFyYW0oaHRtbE9iaiwgImZsYXNodmFycyIsIGZsYXNoVmFycyk7CgkJCQkJY3JlYXRlUGFyYW0oaHRtbE9iaiwgImFsbG93c2NyaXB0YWNjZXNzIiwgImFsd2F5cyIpOwoJCQkJCWNyZWF0ZVBhcmFtKGh0bWxPYmosICJiZ2NvbG9yIiwgdGhpcy5vcHRpb25zLmJhY2tncm91bmRDb2xvcik7CgkJCQkJY3JlYXRlUGFyYW0oaHRtbE9iaiwgIndtb2RlIiwgdGhpcy5vcHRpb25zLndtb2RlKTsKCQkJCX0KCgkJCQl0aGlzLmVsZW1lbnQuYXBwZW5kKGh0bWxPYmopOwoJCQkJdGhpcy5pbnRlcm5hbC5mbGFzaC5qcSA9ICQoaHRtbE9iaik7CgkJCX0KCQkJCgkJCS8vIEFkZCB0aGUgSFRNTCBzb2x1dGlvbiBpZiBiZWluZyB1c2VkLgoJCQlpZih0aGlzLmh0bWwudXNlZCkgewoKCQkJCS8vIFRoZSBIVE1MIEF1ZGlvIGhhbmRsZXJzCgkJCQlpZih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQkJdGhpcy5fYWRkSHRtbEV2ZW50TGlzdGVuZXJzKHRoaXMuaHRtbEVsZW1lbnQuYXVkaW8sIHRoaXMuaHRtbC5hdWRpbyk7CgkJCQkJdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLmh0bWxFbGVtZW50LmF1ZGlvKTsKCQkJCQl0aGlzLmludGVybmFsLmF1ZGlvLmpxID0gJCgiIyIgKyB0aGlzLmludGVybmFsLmF1ZGlvLmlkKTsKCQkJCX0KCgkJCQkvLyBUaGUgSFRNTCBWaWRlbyBoYW5kbGVycwoJCQkJaWYodGhpcy5odG1sLnZpZGVvLmF2YWlsYWJsZSkgewoJCQkJCXRoaXMuX2FkZEh0bWxFdmVudExpc3RlbmVycyh0aGlzLmh0bWxFbGVtZW50LnZpZGVvLCB0aGlzLmh0bWwudmlkZW8pOwoJCQkJCXRoaXMuZWxlbWVudC5hcHBlbmQodGhpcy5odG1sRWxlbWVudC52aWRlbyk7CgkJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcSA9ICQoIiMiICsgdGhpcy5pbnRlcm5hbC52aWRlby5pZCk7CgkJCQkJaWYodGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzogdGhpcy5zdGF0dXMud2lkdGgsICdoZWlnaHQnOiB0aGlzLnN0YXR1cy5oZWlnaHR9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsgLy8gVXNpbmcgc2l6ZSAweDAgc2luY2UgYSAuaGlkZSgpIGNhdXNlcyBpc3N1ZXMgaW4gaU9TCgkJCQkJfQoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuYmluZCgiY2xpY2sualBsYXllciIsIGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5jbGljayk7CgkJCQkJfSk7CgkJCQl9CgkJCX0KCgkJCS8vIENyZWF0ZSB0aGUgYnJpZGdlIHRoYXQgZW11bGF0ZXMgdGhlIEhUTUwgTWVkaWEgZWxlbWVudCBvbiB0aGUgalBsYXllciBESVYKCQkJaWYoIHRoaXMub3B0aW9ucy5lbXVsYXRlSHRtbCApIHsKCQkJCXRoaXMuX2VtdWxhdGVIdG1sQnJpZGdlKCk7CgkJCX0KCgkJCWlmKHRoaXMuaHRtbC51c2VkICYmICF0aGlzLmZsYXNoLnVzZWQpIHsgLy8gSWYgb25seSBIVE1MLCB0aGVuIGVtdWxhdGUgZmxhc2ggcmVhZHkoKSBjYWxsIGFmdGVyIDEwMG1zLgoJCQkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCQkJc2VsZi5pbnRlcm5hbC5yZWFkeSA9IHRydWU7CgkJCQkJc2VsZi52ZXJzaW9uLmZsYXNoID0gIm4vYSI7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVwZWF0KTsgLy8gVHJpZ2dlciB0aGUgcmVwZWF0IGV2ZW50IHNvIGl0cyBoYW5kbGVyIGNhbiBpbml0aWFsaXplIGl0c2VsZiB3aXRoIHRoZSBsb29wIG9wdGlvbi4KCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5yZWFkeSk7CgkJCQl9LCAxMDApOwoJCQl9CgoJCQkvLyBJbml0aWFsaXplIHRoZSBpbnRlcmZhY2UgY29tcG9uZW50cyB3aXRoIHRoZSBvcHRpb25zLgoJCQl0aGlzLl91cGRhdGVOYXRpdmVWaWRlb0NvbnRyb2xzKCk7CgkJCS8vIFRoZSBvdGhlciBjb250cm9scyBhcmUgbm93IHNldHVwIGluIF9jc3NTZWxlY3RvckFuY2VzdG9yKCkKCQkJaWYodGhpcy5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEudmlkZW9QbGF5LmhpZGUoKTsKCQkJfQoKCQkJJC5qUGxheWVyLnByb3RvdHlwZS5jb3VudCsrOyAvLyBDaGFuZ2Ugc3RhdGljIHZhcmlhYmxlIHZpYSBwcm90b3R5cGUuCgkJfSwKCQlkZXN0cm95OiBmdW5jdGlvbigpIHsKCQkJLy8gTUpQOiBUaGUgYmFja2dyb3VuZCBjaGFuZ2UgcmVtYWlucy4gV291bGQgbmVlZCB0byBzdG9yZSB0aGUgb3JpZ2luYWwgdG8gcmVzdG9yZSBpdCBjb3JyZWN0bHkuCgkJCS8vIE1KUDogVGhlIGpQbGF5ZXIgZWxlbWVudCdzIHNpemUgY2hhbmdlIHJlbWFpbnMuCgoJCQkvLyBDbGVhciB0aGUgbWVkaWEgdG8gcmVzZXQgdGhlIEdVSSBhbmQgc3RvcCBhbnkgZG93bmxvYWRzLiBTdHJlYW1zIG9uIHNvbWUgYnJvd3NlcnMgaGFkIHBlcnNpdGVkLiAoQ2hyb21lKQoJCQl0aGlzLmNsZWFyTWVkaWEoKTsKCQkJLy8gUmVtb3ZlIHRoZSBzaXplL3NpemVGdWxsIGNzc0NsYXNzIGZyb20gdGhlIGNzc1NlbGVjdG9yQW5jZXN0b3IKCQkJdGhpcy5fcmVtb3ZlVWlDbGFzcygpOwoJCQkvLyBSZW1vdmUgdGhlIHRpbWVzIGZyb20gdGhlIEdVSQoJCQlpZih0aGlzLmNzcy5qcS5jdXJyZW50VGltZS5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLmN1cnJlbnRUaW1lLnRleHQoIiIpOwoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLmR1cmF0aW9uLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuZHVyYXRpb24udGV4dCgiIik7CgkJCX0KCQkJLy8gUmVtb3ZlIGFueSBiaW5kaW5ncyBmcm9tIHRoZSBpbnRlcmZhY2UgY29udHJvbHMuCgkJCSQuZWFjaCh0aGlzLmNzcy5qcSwgZnVuY3Rpb24oZm4sIGpxKSB7CgkJCQkvLyBDaGVjayBzZWxlY3RvciBpcyB2YWxpZCBiZWZvcmUgdHJ5aW5nIHRvIGV4ZWN1dGUgbWV0aG9kLgoJCQkJaWYoanEubGVuZ3RoKSB7CgkJCQkJanEudW5iaW5kKCIualBsYXllciIpOwoJCQkJfQoJCQl9KTsKCQkJLy8gUmVtb3ZlIHRoZSBjbGljayBoYW5kbGVycyBmb3IgJC5qUGxheWVyLmV2ZW50LmNsaWNrCgkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLnVuYmluZCgiLmpQbGF5ZXIiKTsKCQkJaWYodGhpcy5pbnRlcm5hbC52aWRlby5qcSkgewoJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcS51bmJpbmQoIi5qUGxheWVyIik7CgkJCX0KCQkJLy8gUmVtb3ZlIHRoZSBmdWxsc2NyZWVuIGV2ZW50IGhhbmRsZXJzCgkJCXRoaXMuX2Z1bGxzY3JlZW5SZW1vdmVFdmVudExpc3RlbmVycygpOwoJCQkvLyBSZW1vdmUga2V5IGJpbmRpbmdzCgkJCWlmKHRoaXMgPT09ICQualBsYXllci5mb2N1cykgewoJCQkJJC5qUGxheWVyLmZvY3VzID0gbnVsbDsKCQkJfQoJCQkvLyBEZXN0cm95IHRoZSBIVE1MIGJyaWRnZS4KCQkJaWYodGhpcy5vcHRpb25zLmVtdWxhdGVIdG1sKSB7CgkJCQl0aGlzLl9kZXN0cm95SHRtbEJyaWRnZSgpOwoJCQl9CgkJCXRoaXMuZWxlbWVudC5yZW1vdmVEYXRhKCJqUGxheWVyIik7IC8vIFJlbW92ZSBqUGxheWVyIGRhdGEKCQkJdGhpcy5lbGVtZW50LnVuYmluZCgiLmpQbGF5ZXIiKTsgLy8gUmVtb3ZlIGFsbCBldmVudCBoYW5kbGVycyBjcmVhdGVkIGJ5IHRoZSBqUGxheWVyIGNvbnN0cnVjdG9yCgkJCXRoaXMuZWxlbWVudC5lbXB0eSgpOyAvLyBSZW1vdmUgdGhlIGluc2VydGVkIGNoaWxkIGVsZW1lbnRzCgkJCQoJCQlkZWxldGUgdGhpcy5pbnN0YW5jZXNbdGhpcy5pbnRlcm5hbC5pbnN0YW5jZV07IC8vIENsZWFyIHRoZSBpbnN0YW5jZSBvbiB0aGUgc3RhdGljIGluc3RhbmNlIG9iamVjdAoJCX0sCgkJZW5hYmxlOiBmdW5jdGlvbigpIHsgLy8gUGxhbiB0byBpbXBsZW1lbnQKCQkJLy8gb3B0aW9ucy5kaXNhYmxlZCA9IGZhbHNlCgkJfSwKCQlkaXNhYmxlOiBmdW5jdGlvbiAoKSB7IC8vIFBsYW4gdG8gaW1wbGVtZW50CgkJCS8vIG9wdGlvbnMuZGlzYWJsZWQgPSB0cnVlCgkJfSwKCQlfdGVzdENhblBsYXlUeXBlOiBmdW5jdGlvbihlbGVtKSB7CgkJCS8vIElFOSBvbiBXaW4gU2VydmVyIDIwMDggZGlkIG5vdCBpbXBsZW1lbnQgY2FuUGxheVR5cGUoKSwgYnV0IGl0IGhhcyB0aGUgcHJvcGVydHkuCgkJCXRyeSB7CgkJCQllbGVtLmNhblBsYXlUeXBlKHRoaXMuZm9ybWF0Lm1wMy5jb2RlYyk7IC8vIFRoZSB0eXBlIGlzIGlycmVsZXZhbnQuCgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfSBjYXRjaChlcnIpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0sCgkJX3VhQmxvY2tsaXN0OiBmdW5jdGlvbihsaXN0KSB7CgkJCS8vIGxpc3QgOiBvYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFsbCByZWd1bGFyIGV4cHJlc3Npb25zLiBQcm9wZXJ0eSBuYW1lcyBhcmUgaXJyZWxldmFudC4KCQkJLy8gUmV0dXJucyB0cnVlIGlmIHRoZSB1c2VyIGFnZW50IGlzIG1hdGNoZWQgaW4gbGlzdC4KCQkJdmFyCXVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLAoJCQkJYmxvY2sgPSBmYWxzZTsKCgkJCSQuZWFjaChsaXN0LCBmdW5jdGlvbihwLCByZSkgewoJCQkJaWYocmUgJiYgcmUudGVzdCh1YSkpIHsKCQkJCQlibG9jayA9IHRydWU7CgkJCQkJcmV0dXJuIGZhbHNlOyAvLyBleGl0ICQuZWFjaC4KCQkJCX0KCQkJfSk7CgkJCXJldHVybiBibG9jazsKCQl9LAoJCV9yZXN0cmljdE5hdGl2ZVZpZGVvQ29udHJvbHM6IGZ1bmN0aW9uKCkgewoJCQkvLyBGYWxsYmFjayB0byBub0Z1bGxXaW5kb3cgd2hlbiBuYXRpdmVWaWRlb0NvbnRyb2xzIGlzIHRydWUgYW5kIGF1ZGlvIG1lZGlhIGlzIGJlaW5nIHVzZWQuIEFmZmVjdHMgd2hlbiBib3RoIG1lZGlhIHR5cGVzIGFyZSB1c2VkLgoJCQlpZih0aGlzLnJlcXVpcmUuYXVkaW8pIHsKCQkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gZmFsc2U7CgkJCQkJdGhpcy5zdGF0dXMubm9GdWxsV2luZG93ID0gdHJ1ZTsKCQkJCX0KCQkJfQoJCX0sCgkJX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHM6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmh0bWwudmlkZW8uYXZhaWxhYmxlICYmIHRoaXMuaHRtbC51c2VkKSB7CgkJCQkvLyBUdXJuIHRoZSBIVE1MIFZpZGVvIGNvbnRyb2xzIG9uL29mZgoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlby5jb250cm9scyA9IHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHM7CgkJCQkvLyBTaG93L2hpZGUgdGhlIGpQbGF5ZXIgR1VJLgoJCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJCS8vIEZvciB3aGVuIG9wdGlvbiBjaGFuZ2VkLiBUaGUgcG9zdGVyIGltYWdlIGlzIG5vdCB1cGRhdGVkLCBhcyBpdCBpcyBkZWFsdCB3aXRoIGluIHNldE1lZGlhKCkuIEFjY2VwdGFibGUgZGVncmFkYXRpb24gc2luY2Ugc2VyaW91c2x5IGRvdWJ0IHRoZXNlIG9wdGlvbnMgd2lsbCBjaGFuZ2Ugb24gdGhlIGZseS4gQ2FuIGFnYWluIHJldmlldyBsYXRlci4KCQkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMgJiYgdGhpcy5yZXF1aXJlLnZpZGVvKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpOwoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQkJfSBlbHNlIGlmKHRoaXMuc3RhdHVzLndhaXRGb3JQbGF5ICYmIHRoaXMuc3RhdHVzLnZpZGVvKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOiAnMHB4JywgJ2hlaWdodCc6ICcwcHgnfSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9hZGRIdG1sRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uKG1lZGlhRWxlbWVudCwgZW50aXR5KSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJbWVkaWFFbGVtZW50LnByZWxvYWQgPSB0aGlzLm9wdGlvbnMucHJlbG9hZDsKCQkJbWVkaWFFbGVtZW50Lm11dGVkID0gdGhpcy5vcHRpb25zLm11dGVkOwoJCQltZWRpYUVsZW1lbnQudm9sdW1lID0gdGhpcy5vcHRpb25zLnZvbHVtZTsKCgkJCS8vIENyZWF0ZSB0aGUgZXZlbnQgbGlzdGVuZXJzCgkJCS8vIE9ubHkgd2FudCB0aGUgYWN0aXZlIGVudGl0eSB0byBhZmZlY3QgalBsYXllciBhbmQgYnViYmxlIGV2ZW50cy4KCQkJLy8gVXNpbmcgZW50aXR5LmdhdGUgc28gdGhhdCBvYmplY3QgaXMgcmVmZXJlbmNlZCBhbmQgZ2F0ZSBwcm9wZXJ0eSBhbHdheXMgY3VycmVudAoJCQkKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCWlmKHNlbGYuaW50ZXJuYWwuY21kc0lnbm9yZWQgJiYgdGhpcy5yZWFkeVN0YXRlID4gMCkgeyAvLyBEZXRlY3QgaU9TIGV4ZWN1dGVkIHRoZSBjb21tYW5kCgkJCQkJCXNlbGYuaW50ZXJuYWwuY21kc0lnbm9yZWQgPSBmYWxzZTsKCQkJCQl9CgkJCQkJc2VsZi5fZ2V0SHRtbFN0YXR1cyhtZWRpYUVsZW1lbnQpOwoJCQkJCXNlbGYuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQkJCXNlbGYuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnByb2dyZXNzKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9nZXRIdG1sU3RhdHVzKG1lZGlhRWxlbWVudCk7CgkJCQkJc2VsZi5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImR1cmF0aW9uY2hhbmdlIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX2dldEh0bWxTdGF0dXMobWVkaWFFbGVtZW50KTsKCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5kdXJhdGlvbmNoYW5nZSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyh0cnVlKTsKCQkJCQlzZWxmLl9odG1sX2NoZWNrV2FpdEZvclBsYXkoKTsgLy8gU28gdGhlIG5hdGl2ZSBjb250cm9scyB1cGRhdGUgdGhpcyB2YXJpYWJsZSBhbmQgcHV0cyB0aGUgaGlkZGVuIGludGVyZmFjZSBpbiB0aGUgY29ycmVjdCBzdGF0ZS4gQWZmZWN0cyB0b2dnbGluZyBuYXRpdmUgY29udHJvbHMuCgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGxheSk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXlpbmciLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyh0cnVlKTsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5wbGF5aW5nKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGF1c2UpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ3YWl0aW5nIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX3NlZWtpbmcoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC53YWl0aW5nKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Vla2luZyIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVraW5nKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuc2Vla2luZyk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlZWtlZCIsIGZ1bmN0aW9uKCkgewoJCQkJaWYoZW50aXR5LmdhdGUpIHsKCQkJCQlzZWxmLl9zZWVrZWQoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5zZWVrZWQpOwoJCQkJfQoJCQl9LCBmYWxzZSk7CgkJCW1lZGlhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ2b2x1bWVjaGFuZ2UiLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJLy8gUmVhZCB0aGUgdmFsdWVzIGJhY2sgZnJvbSB0aGUgZWxlbWVudCBhcyB0aGUgQmxhY2tiZXJyeSBQbGF5Qm9vayBzaGFyZXMgdGhlIHZvbHVtZSB3aXRoIHRoZSBwaHlzaWNhbCBidXR0b25zIG1hc3RlciB2b2x1bWUgY29udHJvbC4KCQkJCQkvLyBIb3dldmVyLCB3aGVuIHRlc3RlZCA2dGggSnVseSAyMDExLCB0aG9zZSBidXR0b25zIGRvIG5vdCBnZW5lcmF0ZSBhbiBldmVudC4gVGhlIHBoeXNpY2FsIHBsYXkvcGF1c2UgYnV0dG9uIGRvZXMgdGhvdWdoLgoJCQkJCXNlbGYub3B0aW9ucy52b2x1bWUgPSBtZWRpYUVsZW1lbnQudm9sdW1lOwoJCQkJCXNlbGYub3B0aW9ucy5tdXRlZCA9IG1lZGlhRWxlbWVudC5tdXRlZDsKCQkJCQlzZWxmLl91cGRhdGVNdXRlKCk7CgkJCQkJc2VsZi5fdXBkYXRlVm9sdW1lKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKTsKCQkJCX0KCQkJfSwgZmFsc2UpOwoJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic3VzcGVuZCIsIGZ1bmN0aW9uKCkgeyAvLyBTZWVtcyB0byBiZSB0aGUgb25seSB3YXkgb2YgY2FwdHVyaW5nIHRoYXQgdGhlIGlPUzQgYnJvd3NlciBkaWQgbm90IGFjdHVhbGx5IHBsYXkgdGhlIG1lZGlhIGZyb20gdGhlIHBhZ2UgY29kZS4gaWUuLCBJdCBuZWVkcyBhIHVzZXIgZ2VzdHVyZS4KCQkJCWlmKGVudGl0eS5nYXRlKSB7CgkJCQkJc2VsZi5fc2Vla2VkKCk7CgkJCQkJc2VsZi5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuc3VzcGVuZCk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVuZGVkIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCS8vIE9yZGVyIG9mIHRoZSBuZXh0IGZldyBjb21tYW5kcyBhcmUgaW1wb3J0YW50LiBDaGFuZ2UgdGhlIHRpbWUgYW5kIHRoZW4gcGF1c2UuCgkJCQkJLy8gU29sdmVzIGEgYnVnIGluIEZpcmVmb3gsIHdoZXJlIGlzc3VpbmcgcGF1c2UgMXN0IGNhdXNlcyB0aGUgbWVkaWEgdG8gcGxheSBmcm9tIHRoZSBzdGFydC4gaWUuLCBUaGUgcGF1c2UgaXMgaWdub3JlZC4KCQkJCQlpZighJC5qUGxheWVyLmJyb3dzZXIud2Via2l0KSB7IC8vIENocm9tZSBjcmFzaGVzIGlmIHlvdSBkbyB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYSBzZXRNZWRpYSBjb21tYW5kIGluIGFuIGVuZGVkIGV2ZW50IGhhbmRsZXIuIGllLiwgVGhlIHBsYXlsaXN0IGRlbW8uCgkJCQkJCXNlbGYuaHRtbEVsZW1lbnQubWVkaWEuY3VycmVudFRpbWUgPSAwOyAvLyBTYWZhcmkgZG9lcyBub3QgY2FyZSBhYm91dCB0aGlzIGNvbW1hbmQuIGllLiwgSXQgd29ya3Mgd2l0aCBvciB3aXRob3V0IHRoaXMgbGluZS4gKEJvdGggU2FmYXJpIGFuZCBDaHJvbWUgYXJlIFdlYmtpdC4pCgkJCQkJfQoJCQkJCXNlbGYuaHRtbEVsZW1lbnQubWVkaWEucGF1c2UoKTsgLy8gUGF1c2Ugb3RoZXJ3aXNlIGEgY2xpY2sgb24gdGhlIHByb2dyZXNzIGJhciB3aWxsIHBsYXkgZnJvbSB0aGF0IHBvaW50LCB3aGVuIGl0IHNob3VsZG4ndCwgc2luY2UgaXQgc3RvcHBlZCBwbGF5YmFjay4KCQkJCQlzZWxmLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQlzZWxmLl9nZXRIdG1sU3RhdHVzKG1lZGlhRWxlbWVudCwgdHJ1ZSk7IC8vIFdpdGggb3ZlcnJpZGUgdHJ1ZS4gT3RoZXJ3aXNlIENocm9tZSBsZWF2ZXMgcHJvZ3Jlc3MgYXQgZnVsbC4KCQkJCQlzZWxmLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5lbmRlZCk7CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJbWVkaWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rpb24oKSB7CgkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCXNlbGYuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJCXNlbGYuX3NlZWtlZCgpOwoJCQkJCWlmKHNlbGYuc3RhdHVzLnNyY1NldCkgeyAvLyBEZWFscyB3aXRoIGNhc2Ugb2YgY2xlYXJNZWRpYSgpIGNhdXNpbmcgYW4gZXJyb3IgZXZlbnQuCgkJCQkJCWNsZWFyVGltZW91dChzZWxmLmludGVybmFsLmh0bWxEbHlDbWRJZCk7IC8vIENsZWFycyBhbnkgZGVsYXllZCBjb21tYW5kcyB1c2VkIGluIHRoZSBIVE1MIHNvbHV0aW9uLgoJCQkJCQlzZWxmLnN0YXR1cy53YWl0Rm9yTG9hZCA9IHRydWU7IC8vIEFsbG93cyB0aGUgbG9hZCBvcGVyYXRpb24gdG8gdHJ5IGFnYWluLgoJCQkJCQlzZWxmLnN0YXR1cy53YWl0Rm9yUGxheSA9IHRydWU7IC8vIFJlc2V0IHNpbmNlIGEgcGxheSB3YXMgY2FwdHVyZWQuCgkJCQkJCWlmKHNlbGYuc3RhdHVzLnZpZGVvICYmICFzZWxmLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJCQlzZWxmLmludGVybmFsLnZpZGVvLmpxLmNzcyh7J3dpZHRoJzonMHB4JywgJ2hlaWdodCc6JzBweCd9KTsKCQkJCQkJfQoJCQkJCQlpZihzZWxmLl92YWxpZFN0cmluZyhzZWxmLnN0YXR1cy5tZWRpYS5wb3N0ZXIpICYmICFzZWxmLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJCQlzZWxmLmludGVybmFsLnBvc3Rlci5qcS5zaG93KCk7CgkJCQkJCX0KCQkJCQkJaWYoc2VsZi5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCQkJc2VsZi5jc3MuanEudmlkZW9QbGF5LnNob3coKTsKCQkJCQkJfQoJCQkJCQlzZWxmLl9lcnJvciggewoJCQkJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTCwKCQkJCQkJCWNvbnRleHQ6IHNlbGYuc3RhdHVzLnNyYywgLy8gdGhpcy5zcmMgc2hvd3MgYWJzb2x1dGUgdXJscy4gV2FudCBjb250ZXh0IHRvIHNob3cgdGhlIHVybCBnaXZlbi4KCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkwsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50LlVSTAoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9CgkJCX0sIGZhbHNlKTsKCQkJLy8gQ3JlYXRlIGFsbCB0aGUgb3RoZXIgZXZlbnQgbGlzdGVuZXJzIHRoYXQgYnViYmxlIHVwIHRvIGEgalBsYXllciBldmVudCBmcm9tIGh0bWwsIHdpdGhvdXQgYmVpbmcgdXNlZCBieSBqUGxheWVyLgoJCQkkLmVhY2goJC5qUGxheWVyLmh0bWxFdmVudCwgZnVuY3Rpb24oaSwgZXZlbnRUeXBlKSB7CgkJCQltZWRpYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLCBmdW5jdGlvbigpIHsKCQkJCQlpZihlbnRpdHkuZ2F0ZSkgewoJCQkJCQlzZWxmLl90cmlnZ2VyKCQualBsYXllci5ldmVudFtldmVudFR5cGVdKTsKCQkJCQl9CgkJCQl9LCBmYWxzZSk7CgkJCX0pOwoJCX0sCgkJX2dldEh0bWxTdGF0dXM6IGZ1bmN0aW9uKG1lZGlhLCBvdmVycmlkZSkgewoJCQl2YXIgY3QgPSAwLCBjcGEgPSAwLCBzcCA9IDAsIGNwciA9IDA7CgoJCQkvLyBGaXhlcyB0aGUgZHVyYXRpb24gYnVnIGluIGlPUywgd2hlcmUgdGhlIGR1cmF0aW9uY2hhbmdlIGV2ZW50IG9jY3VycyB3aGVuIG1lZGlhLmR1cmF0aW9uIGlzIG5vdCBhbHdheXMgY29ycmVjdC4KCQkJLy8gRml4ZXMgdGhlIGluaXRpYWwgZHVyYXRpb24gYnVnIGluIEJCIE9TNywgd2hlcmUgdGhlIG1lZGlhLmR1cmF0aW9uIGlzIGluZmluaXR5IGFuZCBkaXNwbGF5cyBhcyBOYU46TmFOIGR1ZSB0byBEYXRlKCkgdXNpbmcgaW5pZml0eS4KCQkJaWYoaXNGaW5pdGUobWVkaWEuZHVyYXRpb24pKSB7CgkJCQl0aGlzLnN0YXR1cy5kdXJhdGlvbiA9IG1lZGlhLmR1cmF0aW9uOwoJCQl9CgoJCQljdCA9IG1lZGlhLmN1cnJlbnRUaW1lOwoJCQljcGEgPSAodGhpcy5zdGF0dXMuZHVyYXRpb24gPiAwKSA/IDEwMCAqIGN0IC8gdGhpcy5zdGF0dXMuZHVyYXRpb24gOiAwOwoJCQlpZigodHlwZW9mIG1lZGlhLnNlZWthYmxlID09PSAib2JqZWN0IikgJiYgKG1lZGlhLnNlZWthYmxlLmxlbmd0aCA+IDApKSB7CgkJCQlzcCA9ICh0aGlzLnN0YXR1cy5kdXJhdGlvbiA+IDApID8gMTAwICogbWVkaWEuc2Vla2FibGUuZW5kKG1lZGlhLnNlZWthYmxlLmxlbmd0aC0xKSAvIHRoaXMuc3RhdHVzLmR1cmF0aW9uIDogMTAwOwoJCQkJY3ByID0gKHRoaXMuc3RhdHVzLmR1cmF0aW9uID4gMCkgPyAxMDAgKiBtZWRpYS5jdXJyZW50VGltZSAvIG1lZGlhLnNlZWthYmxlLmVuZChtZWRpYS5zZWVrYWJsZS5sZW5ndGgtMSkgOiAwOyAvLyBEdXJhdGlvbiBjb25kaXRpb25hbCBmb3IgaU9TIGR1cmF0aW9uIGJ1Zy4gaWUuLCBzZWVrYWJsZS5lbmQgaXMgYSBOYU4gaW4gdGhhdCBjYXNlLgoJCQl9IGVsc2UgewoJCQkJc3AgPSAxMDA7CgkJCQljcHIgPSBjcGE7CgkJCX0KCQkJCgkJCWlmKG92ZXJyaWRlKSB7CgkJCQljdCA9IDA7CgkJCQljcHIgPSAwOwoJCQkJY3BhID0gMDsKCQkJfQoKCQkJdGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQgPSBzcDsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRSZWxhdGl2ZSA9IGNwcjsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSA9IGNwYTsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFRpbWUgPSBjdDsKCgkJCXRoaXMuc3RhdHVzLnZpZGVvV2lkdGggPSBtZWRpYS52aWRlb1dpZHRoOwoJCQl0aGlzLnN0YXR1cy52aWRlb0hlaWdodCA9IG1lZGlhLnZpZGVvSGVpZ2h0OwoKCQkJdGhpcy5zdGF0dXMucmVhZHlTdGF0ZSA9IG1lZGlhLnJlYWR5U3RhdGU7CgkJCXRoaXMuc3RhdHVzLm5ldHdvcmtTdGF0ZSA9IG1lZGlhLm5ldHdvcmtTdGF0ZTsKCQkJdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlID0gbWVkaWEucGxheWJhY2tSYXRlOwoJCQl0aGlzLnN0YXR1cy5lbmRlZCA9IG1lZGlhLmVuZGVkOwoJCX0sCgkJX3Jlc2V0U3RhdHVzOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5zdGF0dXMgPSAkLmV4dGVuZCh7fSwgdGhpcy5zdGF0dXMsICQualBsYXllci5wcm90b3R5cGUuc3RhdHVzKTsgLy8gTWFpbnRhaW5zIHRoZSBzdGF0dXMgcHJvcGVydGllcyB0aGF0IHBlcnNpc3QgdGhyb3VnaCBhIHJlc2V0LgoJCX0sCgkJX3RyaWdnZXI6IGZ1bmN0aW9uKGV2ZW50VHlwZSwgZXJyb3IsIHdhcm5pbmcpIHsgLy8gZXZlbnRUeXBlIGFsd2F5cyB2YWxpZCBhcyBjYWxsZWQgdXNpbmcgJC5qUGxheWVyLmV2ZW50LmV2ZW50VHlwZQoJCQl2YXIgZXZlbnQgPSAkLkV2ZW50KGV2ZW50VHlwZSk7CgkJCWV2ZW50LmpQbGF5ZXIgPSB7fTsKCQkJZXZlbnQualBsYXllci52ZXJzaW9uID0gJC5leHRlbmQoe30sIHRoaXMudmVyc2lvbik7CgkJCWV2ZW50LmpQbGF5ZXIub3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLm9wdGlvbnMpOyAvLyBEZWVwIGNvcHkKCQkJZXZlbnQualBsYXllci5zdGF0dXMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5zdGF0dXMpOyAvLyBEZWVwIGNvcHkKCQkJZXZlbnQualBsYXllci5odG1sID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMuaHRtbCk7IC8vIERlZXAgY29weQoJCQlldmVudC5qUGxheWVyLmZsYXNoID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMuZmxhc2gpOyAvLyBEZWVwIGNvcHkKCQkJaWYoZXJyb3IpIHsKCQkJCWV2ZW50LmpQbGF5ZXIuZXJyb3IgPSAkLmV4dGVuZCh7fSwgZXJyb3IpOwoJCQl9CgkJCWlmKHdhcm5pbmcpIHsKCQkJCWV2ZW50LmpQbGF5ZXIud2FybmluZyA9ICQuZXh0ZW5kKHt9LCB3YXJuaW5nKTsKCQkJfQoJCQl0aGlzLmVsZW1lbnQudHJpZ2dlcihldmVudCk7CgkJfSwKCQlqUGxheWVyRmxhc2hFdmVudDogZnVuY3Rpb24oZXZlbnRUeXBlLCBzdGF0dXMpIHsgLy8gQ2FsbGVkIGZyb20gRmxhc2gKCQkJaWYoZXZlbnRUeXBlID09PSAkLmpQbGF5ZXIuZXZlbnQucmVhZHkpIHsKCQkJCWlmKCF0aGlzLmludGVybmFsLnJlYWR5KSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5yZWFkeSA9IHRydWU7CgkJCQkJdGhpcy5pbnRlcm5hbC5mbGFzaC5qcS5jc3Moeyd3aWR0aCc6JzBweCcsICdoZWlnaHQnOicwcHgnfSk7IC8vIE9uY2UgRmxhc2ggZ2VuZXJhdGVzIHRoZSByZWFkeSBldmVudCwgbWluaW1pc2UgdG8gemVybyBhcyBpdCBpcyBub3QgYWZmZWN0ZWQgYnkgd21vZGUgYW55bW9yZS4KCgkJCQkJdGhpcy52ZXJzaW9uLmZsYXNoID0gc3RhdHVzLnZlcnNpb247CgkJCQkJaWYodGhpcy52ZXJzaW9uLm5lZWRGbGFzaCAhPT0gdGhpcy52ZXJzaW9uLmZsYXNoKSB7CgkJCQkJCXRoaXMuX2Vycm9yKCB7CgkJCQkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3IuVkVSU0lPTiwKCQkJCQkJCWNvbnRleHQ6IHRoaXMudmVyc2lvbi5mbGFzaCwKCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5WRVJTSU9OICsgdGhpcy52ZXJzaW9uLmZsYXNoLAoJCQkJCQkJaGludDogJC5qUGxheWVyLmVycm9ySGludC5WRVJTSU9OCgkJCQkJCX0pOwoJCQkJCX0KCQkJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5yZXBlYXQpOyAvLyBUcmlnZ2VyIHRoZSByZXBlYXQgZXZlbnQgc28gaXRzIGhhbmRsZXIgY2FuIGluaXRpYWxpemUgaXRzZWxmIHdpdGggdGhlIGxvb3Agb3B0aW9uLgoJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCX0gZWxzZSB7CgkJCQkJLy8gVGhpcyBjb25kaXRpb24gb2NjdXJzIGlmIHRoZSBGbGFzaCBpcyBoaWRkZW4gYW5kIHRoZW4gc2hvd24gYWdhaW4uCgkJCQkJLy8gRmlyZWZveCBhbHNvIHJlbG9hZHMgdGhlIEZsYXNoIGlmIHRoZSBDU1MgcG9zaXRpb24gY2hhbmdlcy4gcG9zaXRpb246Zml4ZWQgaXMgdXNlZCBmb3IgZnVsbCBzY3JlZW4uCgoJCQkJCS8vIE9ubHkgZG8gdGhpcyBpZiB0aGUgRmxhc2ggaXMgdGhlIHNvbHV0aW9uIGJlaW5nIHVzZWQgYXQgdGhlIG1vbWVudC4gQWZmZWN0cyBNZWRpYSBwbGF5ZXJzIHdoZXJlIGJvdGggc29sdXRpb24gbWF5IGJlIGJlaW5nIHVzZWQuCgkJCQkJaWYodGhpcy5mbGFzaC5nYXRlKSB7CgoJCQkJCQkvLyBTZW5kIHRoZSBjdXJyZW50IHN0YXR1cyB0byB0aGUgRmxhc2ggbm93IHRoYXQgaXQgaXMgcmVhZHkgKGF2YWlsYWJsZSkgYWdhaW4uCgkJCQkJCWlmKHRoaXMuc3RhdHVzLnNyY1NldCkgewoKCQkJCQkJCS8vIE5lZWQgdG8gcmVhZCBvcmlnaW5hbCBzdGF0dXMgYmVmb3JlIGlzc3VpbmcgdGhlIHNldE1lZGlhIGNvbW1hbmQuCgkJCQkJCQl2YXIJY3VycmVudFRpbWUgPSB0aGlzLnN0YXR1cy5jdXJyZW50VGltZSwKCQkJCQkJCQlwYXVzZWQgPSB0aGlzLnN0YXR1cy5wYXVzZWQ7IAoKCQkJCQkJCXRoaXMuc2V0TWVkaWEodGhpcy5zdGF0dXMubWVkaWEpOwoJCQkJCQkJaWYoY3VycmVudFRpbWUgPiAwKSB7CgkJCQkJCQkJaWYocGF1c2VkKSB7CgkJCQkJCQkJCXRoaXMucGF1c2UoY3VycmVudFRpbWUpOwoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCXRoaXMucGxheShjdXJyZW50VGltZSk7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmZsYXNocmVzZXQpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlpZih0aGlzLmZsYXNoLmdhdGUpIHsKCQkJCXN3aXRjaChldmVudFR5cGUpIHsKCQkJCQljYXNlICQualBsYXllci5ldmVudC5wcm9ncmVzczoKCQkJCQkJdGhpcy5fZ2V0Rmxhc2hTdGF0dXMoc3RhdHVzKTsKCQkJCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZToKCQkJCQkJdGhpcy5fZ2V0Rmxhc2hTdGF0dXMoc3RhdHVzKTsKCQkJCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQucGxheToKCQkJCQkJdGhpcy5fc2Vla2VkKCk7CgkJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnModHJ1ZSk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQucGF1c2U6CgkJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LmVuZGVkOgoJCQkJCQl0aGlzLl91cGRhdGVCdXR0b25zKGZhbHNlKTsKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOwoJCQkJCQlicmVhazsKCQkJCQljYXNlICQualBsYXllci5ldmVudC5jbGljazoKCQkJCQkJdGhpcy5fdHJpZ2dlcihldmVudFR5cGUpOyAvLyBUaGlzIGNvdWxkIGJlIGRlYWx0IHdpdGggYnkgdGhlIGRlZmF1bHQKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQuZXJyb3I6CgkJCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gdHJ1ZTsgLy8gQWxsb3dzIHRoZSBsb2FkIG9wZXJhdGlvbiB0byB0cnkgYWdhaW4uCgkJCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JQbGF5ID0gdHJ1ZTsgLy8gUmVzZXQgc2luY2UgYSBwbGF5IHdhcyBjYXB0dXJlZC4KCQkJCQkJaWYodGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCQkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOwoJCQkJCQl9CgkJCQkJCWlmKHRoaXMuX3ZhbGlkU3RyaW5nKHRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlcikpIHsKCQkJCQkJCXRoaXMuaW50ZXJuYWwucG9zdGVyLmpxLnNob3coKTsKCQkJCQkJfQoJCQkJCQlpZih0aGlzLmNzcy5qcS52aWRlb1BsYXkubGVuZ3RoICYmIHRoaXMuc3RhdHVzLnZpZGVvKSB7CgkJCQkJCQl0aGlzLmNzcy5qcS52aWRlb1BsYXkuc2hvdygpOwoJCQkJCQl9CgkJCQkJCWlmKHRoaXMuc3RhdHVzLnZpZGVvKSB7IC8vIFNldCB1cCBmb3IgYW5vdGhlciB0cnkuIEV4ZWN1dGUgYmVmb3JlIGVycm9yIGV2ZW50LgoJCQkJCQkJdGhpcy5fZmxhc2hfc2V0VmlkZW8odGhpcy5zdGF0dXMubWVkaWEpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fZmxhc2hfc2V0QXVkaW8odGhpcy5zdGF0dXMubWVkaWEpOwoJCQkJCQl9CgkJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJCQl0aGlzLl9lcnJvciggewoJCQkJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTCwKCQkJCQkJCWNvbnRleHQ6c3RhdHVzLnNyYywKCQkJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkwsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIuZXJyb3JIaW50LlVSTAoJCQkJCQl9KTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQuc2Vla2luZzoKCQkJCQkJdGhpcy5fc2Vla2luZygpOwoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJC5qUGxheWVyLmV2ZW50LnNlZWtlZDoKCQkJCQkJdGhpcy5fc2Vla2VkKCk7CgkJCQkJCXRoaXMuX3RyaWdnZXIoZXZlbnRUeXBlKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAkLmpQbGF5ZXIuZXZlbnQucmVhZHk6CgkJCQkJCS8vIFRoZSByZWFkeSBldmVudCBpcyBoYW5kbGVkIG91dHNpZGUgdGhlIHN3aXRjaCBzdGF0ZW1lbnQuCgkJCQkJCS8vIENhcHR1cmVkIGhlcmUgb3RoZXJ3aXNlIDIgcmVhZHkgZXZlbnRzIHdvdWxkIGJlIGdlbmVyYXRlZCBpZiB0aGUgcmVhZHkgZXZlbnQgaGFuZGxlciB1c2VkIHNldE1lZGlhLgoJCQkJCQlicmVhazsKCQkJCQlkZWZhdWx0OgoJCQkJCQl0aGlzLl90cmlnZ2VyKGV2ZW50VHlwZSk7CgkJCQl9CgkJCX0KCQkJcmV0dXJuIGZhbHNlOwoJCX0sCgkJX2dldEZsYXNoU3RhdHVzOiBmdW5jdGlvbihzdGF0dXMpIHsKCQkJdGhpcy5zdGF0dXMuc2Vla1BlcmNlbnQgPSBzdGF0dXMuc2Vla1BlcmNlbnQ7CgkJCXRoaXMuc3RhdHVzLmN1cnJlbnRQZXJjZW50UmVsYXRpdmUgPSBzdGF0dXMuY3VycmVudFBlcmNlbnRSZWxhdGl2ZTsKCQkJdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSA9IHN0YXR1cy5jdXJyZW50UGVyY2VudEFic29sdXRlOwoJCQl0aGlzLnN0YXR1cy5jdXJyZW50VGltZSA9IHN0YXR1cy5jdXJyZW50VGltZTsKCQkJdGhpcy5zdGF0dXMuZHVyYXRpb24gPSBzdGF0dXMuZHVyYXRpb247CgoJCQl0aGlzLnN0YXR1cy52aWRlb1dpZHRoID0gc3RhdHVzLnZpZGVvV2lkdGg7CgkJCXRoaXMuc3RhdHVzLnZpZGVvSGVpZ2h0ID0gc3RhdHVzLnZpZGVvSGVpZ2h0OwoKCQkJLy8gVGhlIEZsYXNoIGRvZXMgbm90IGdlbmVyYXRlIHRoaXMgaW5mb3JtYXRpb24gaW4gdGhpcyByZWxlYXNlCgkJCXRoaXMuc3RhdHVzLnJlYWR5U3RhdGUgPSA0OyAvLyBzdGF0dXMucmVhZHlTdGF0ZTsKCQkJdGhpcy5zdGF0dXMubmV0d29ya1N0YXRlID0gMDsgLy8gc3RhdHVzLm5ldHdvcmtTdGF0ZTsKCQkJdGhpcy5zdGF0dXMucGxheWJhY2tSYXRlID0gMTsgLy8gc3RhdHVzLnBsYXliYWNrUmF0ZTsKCQkJdGhpcy5zdGF0dXMuZW5kZWQgPSBmYWxzZTsgLy8gc3RhdHVzLmVuZGVkOwoJCX0sCgkJX3VwZGF0ZUJ1dHRvbnM6IGZ1bmN0aW9uKHBsYXlpbmcpIHsKCQkJaWYocGxheWluZyA9PT0gdW5kZWZpbmVkKSB7CgkJCQlwbGF5aW5nID0gIXRoaXMuc3RhdHVzLnBhdXNlZDsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuc3RhdHVzLnBhdXNlZCA9ICFwbGF5aW5nOwoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnBsYXkubGVuZ3RoICYmIHRoaXMuY3NzLmpxLnBhdXNlLmxlbmd0aCkgewoJCQkJaWYocGxheWluZykgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXkuaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnBhdXNlLnNob3coKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEucGxheS5zaG93KCk7CgkJCQkJdGhpcy5jc3MuanEucGF1c2UuaGlkZSgpOwoJCQkJfQoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4ubGVuZ3RoICYmIHRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4ubGVuZ3RoKSB7CgkJCQlpZih0aGlzLnN0YXR1cy5ub0Z1bGxXaW5kb3cpIHsKCQkJCQl0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKTsKCQkJCX0gZWxzZSBpZih0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdykgewoJCQkJCXRoaXMuY3NzLmpxLmZ1bGxTY3JlZW4uaGlkZSgpOwoJCQkJCXRoaXMuY3NzLmpxLnJlc3RvcmVTY3JlZW4uc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5mdWxsU2NyZWVuLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXN0b3JlU2NyZWVuLmhpZGUoKTsKCQkJCX0KCQkJfQoJCQlpZih0aGlzLmNzcy5qcS5yZXBlYXQubGVuZ3RoICYmIHRoaXMuY3NzLmpxLnJlcGVhdE9mZi5sZW5ndGgpIHsKCQkJCWlmKHRoaXMub3B0aW9ucy5sb29wKSB7CgkJCQkJdGhpcy5jc3MuanEucmVwZWF0LmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS5yZXBlYXRPZmYuc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5yZXBlYXQuc2hvdygpOwoJCQkJCXRoaXMuY3NzLmpxLnJlcGVhdE9mZi5oaWRlKCk7CgkJCQl9CgkJCX0KCQl9LAoJCV91cGRhdGVJbnRlcmZhY2U6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuc2Vla0Jhci53aWR0aCh0aGlzLnN0YXR1cy5zZWVrUGVyY2VudCsiJSIpOwoJCQl9CgkJCWlmKHRoaXMuY3NzLmpxLnBsYXlCYXIubGVuZ3RoKSB7CgkJCQlpZih0aGlzLm9wdGlvbnMuc21vb3RoUGxheUJhcikgewoJCQkJCXRoaXMuY3NzLmpxLnBsYXlCYXIuc3RvcCgpLmFuaW1hdGUoewoJCQkJCQl3aWR0aDogdGhpcy5zdGF0dXMuY3VycmVudFBlcmNlbnRBYnNvbHV0ZSsiJSIKCQkJCQl9LCAyNTAsICJsaW5lYXIiKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5jc3MuanEucGxheUJhci53aWR0aCh0aGlzLnN0YXR1cy5jdXJyZW50UGVyY2VudFJlbGF0aXZlKyIlIik7CgkJCQl9CgkJCX0KCQkJaWYodGhpcy5jc3MuanEuY3VycmVudFRpbWUubGVuZ3RoKSB7CgkJCQl0aGlzLmNzcy5qcS5jdXJyZW50VGltZS50ZXh0KHRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmN1cnJlbnRUaW1lKSk7CgkJCX0KCQkJaWYodGhpcy5jc3MuanEuZHVyYXRpb24ubGVuZ3RoKSB7CgkJCQl0aGlzLmNzcy5qcS5kdXJhdGlvbi50ZXh0KHRoaXMuX2NvbnZlcnRUaW1lKHRoaXMuc3RhdHVzLmR1cmF0aW9uKSk7CgkJCX0KCQl9LAoJCV9jb252ZXJ0VGltZTogQ29udmVydFRpbWUucHJvdG90eXBlLnRpbWUsCgkJX3NlZWtpbmc6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJdGhpcy5jc3MuanEuc2Vla0Jhci5hZGRDbGFzcygianAtc2Vla2luZy1iZyIpOwoJCQl9CgkJfSwKCQlfc2Vla2VkOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5jc3MuanEuc2Vla0Jhci5sZW5ndGgpIHsKCQkJCXRoaXMuY3NzLmpxLnNlZWtCYXIucmVtb3ZlQ2xhc3MoImpwLXNlZWtpbmctYmciKTsKCQkJfQoJCX0sCgkJX3Jlc2V0R2F0ZTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaHRtbC5hdWRpby5nYXRlID0gZmFsc2U7CgkJCXRoaXMuaHRtbC52aWRlby5nYXRlID0gZmFsc2U7CgkJCXRoaXMuZmxhc2guZ2F0ZSA9IGZhbHNlOwoJCX0sCgkJX3Jlc2V0QWN0aXZlOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5odG1sLmFjdGl2ZSA9IGZhbHNlOwoJCQl0aGlzLmZsYXNoLmFjdGl2ZSA9IGZhbHNlOwoJCX0sCgkJc2V0TWVkaWE6IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCgkJCS8qCW1lZGlhW2Zvcm1hdF0gPSBTdHJpbmc6IFVSTCBvZiBmb3JtYXQuIE11c3QgY29udGFpbiBhbGwgb2YgdGhlIHN1cHBsaWVkIG9wdGlvbidzIHZpZGVvIG9yIGF1ZGlvIGZvcm1hdHMuCgkJCSAqCW1lZGlhLnBvc3RlciA9IFN0cmluZzogVmlkZW8gcG9zdGVyIFVSTC4KCQkJICoJbWVkaWEuc3VidGl0bGVzID0gU3RyaW5nOiAqIE5PVCBJTVBMRU1FTlRFRCAqIFVSTCBvZiBzdWJ0aXRsZXMgU1JUIGZpbGUKCQkJICoJbWVkaWEuY2hhcHRlcnMgPSBTdHJpbmc6ICogTk9UIElNUExFTUVOVEVEICogVVJMIG9mIGNoYXB0ZXJzIFNSVCBmaWxlCgkJCSAqCW1lZGlhLnN0cmVhbSA9IEJvb2xlYW46ICogTk9UIElNUExFTUVOVEVEICogRGVzaWduYXRpbmcgYWN0dWFsIG1lZGlhIHN0cmVhbXMuIGllLiwgImZhbHNlL3VuZGVmaW5lZCIgZm9yIGZpbGVzLiBQbGFuIHRvIHJlZnJlc2ggdGhlIGZsYXNoIGV2ZXJ5IHNvIG9mdGVuLgoJCQkgKi8KCgkJCXZhcglzZWxmID0gdGhpcywKCQkJCXN1cHBvcnRlZCA9IGZhbHNlLAoJCQkJcG9zdGVyQ2hhbmdlZCA9IHRoaXMuc3RhdHVzLm1lZGlhLnBvc3RlciAhPT0gbWVkaWEucG9zdGVyOyAvLyBDb21wYXJlIGJlZm9yZSByZXNldC4gSW1wb3J0YW50IGZvciBPU1ggU2FmYXJpIGFzIHRoaXMuaHRtbEVsZW1lbnQucG9zdGVyLnNyYyBpcyBhYnNvbHV0ZSwgZXZlbiBpZiBvcmlnaW5hbCBwb3N0ZXIgVVJMIHdhcyByZWxhdGl2ZS4KCgkJCXRoaXMuX3Jlc2V0TWVkaWEoKTsKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgoJCQkkLmVhY2godGhpcy5mb3JtYXRzLCBmdW5jdGlvbihmb3JtYXRQcmlvcml0eSwgZm9ybWF0KSB7CgkJCQl2YXIgaXNWaWRlbyA9IHNlbGYuZm9ybWF0W2Zvcm1hdF0ubWVkaWEgPT09ICd2aWRlbyc7CgkJCQkkLmVhY2goc2VsZi5zb2x1dGlvbnMsIGZ1bmN0aW9uKHNvbHV0aW9uUHJpb3JpdHksIHNvbHV0aW9uKSB7CgkJCQkJaWYoc2VsZltzb2x1dGlvbl0uc3VwcG9ydFtmb3JtYXRdICYmIHNlbGYuX3ZhbGlkU3RyaW5nKG1lZGlhW2Zvcm1hdF0pKSB7IC8vIEZvcm1hdCBzdXBwb3J0ZWQgaW4gc29sdXRpb24gYW5kIHVybCBnaXZlbiBmb3IgZm9ybWF0LgoJCQkJCQl2YXIgaXNIdG1sID0gc29sdXRpb24gPT09ICdodG1sJzsKCgkJCQkJCWlmKGlzVmlkZW8pIHsKCQkJCQkJCWlmKGlzSHRtbCkgewoJCQkJCQkJCXNlbGYuaHRtbC52aWRlby5nYXRlID0gdHJ1ZTsKCQkJCQkJCQlzZWxmLl9odG1sX3NldFZpZGVvKG1lZGlhKTsKCQkJCQkJCQlzZWxmLmh0bWwuYWN0aXZlID0gdHJ1ZTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJc2VsZi5mbGFzaC5nYXRlID0gdHJ1ZTsKCQkJCQkJCQlzZWxmLl9mbGFzaF9zZXRWaWRlbyhtZWRpYSk7CgkJCQkJCQkJc2VsZi5mbGFzaC5hY3RpdmUgPSB0cnVlOwoJCQkJCQkJfQoJCQkJCQkJaWYoc2VsZi5jc3MuanEudmlkZW9QbGF5Lmxlbmd0aCkgewoJCQkJCQkJCXNlbGYuY3NzLmpxLnZpZGVvUGxheS5zaG93KCk7CgkJCQkJCQl9CgkJCQkJCQlzZWxmLnN0YXR1cy52aWRlbyA9IHRydWU7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlpZihpc0h0bWwpIHsKCQkJCQkJCQlzZWxmLmh0bWwuYXVkaW8uZ2F0ZSA9IHRydWU7CgkJCQkJCQkJc2VsZi5faHRtbF9zZXRBdWRpbyhtZWRpYSk7CgkJCQkJCQkJc2VsZi5odG1sLmFjdGl2ZSA9IHRydWU7CgkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCXNlbGYuZmxhc2guZ2F0ZSA9IHRydWU7CgkJCQkJCQkJc2VsZi5fZmxhc2hfc2V0QXVkaW8obWVkaWEpOwoJCQkJCQkJCXNlbGYuZmxhc2guYWN0aXZlID0gdHJ1ZTsKCQkJCQkJCX0KCQkJCQkJCWlmKHNlbGYuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCQkJCQlzZWxmLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpOwoJCQkJCQkJfQoJCQkJCQkJc2VsZi5zdGF0dXMudmlkZW8gPSBmYWxzZTsKCQkJCQkJfQoJCQkJCQkKCQkJCQkJc3VwcG9ydGVkID0gdHJ1ZTsKCQkJCQkJcmV0dXJuIGZhbHNlOyAvLyBFeGl0ICQuZWFjaAoJCQkJCX0KCQkJCX0pOwoJCQkJaWYoc3VwcG9ydGVkKSB7CgkJCQkJcmV0dXJuIGZhbHNlOyAvLyBFeGl0ICQuZWFjaAoJCQkJfQoJCQl9KTsKCgkJCWlmKHN1cHBvcnRlZCkgewoJCQkJaWYoISh0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzICYmIHRoaXMuaHRtbC52aWRlby5nYXRlKSkgewoJCQkJCS8vIFNldCBwb3N0ZXIgSU1HIGlmIG5hdGl2ZSB2aWRlbyBjb250cm9scyBhcmUgbm90IGJlaW5nIHVzZWQKCQkJCQkvLyBOb3RlOiBXaXRoIElFIHRoZSBJTUcgb25sb2FkIGV2ZW50IG9jY3VycyBpbW1lZGlhdGVseSB3aGVuIGNhY2hlZC4KCQkJCQkvLyBOb3RlOiBQb3N0ZXIgaGlkZGVuIGJ5IGRlZmF1bHQgaW4gX3Jlc2V0TWVkaWEoKQoJCQkJCWlmKHRoaXMuX3ZhbGlkU3RyaW5nKG1lZGlhLnBvc3RlcikpIHsKCQkJCQkJaWYocG9zdGVyQ2hhbmdlZCkgeyAvLyBTaW5jZSBzb21lIGJyb3dzZXJzIGRvIG5vdCBnZW5lcmF0ZSBpbWcgb25sb2FkIGV2ZW50LgoJCQkJCQkJdGhpcy5odG1sRWxlbWVudC5wb3N0ZXIuc3JjID0gbWVkaWEucG9zdGVyOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuc2hvdygpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJdGhpcy5zdGF0dXMuc3JjU2V0ID0gdHJ1ZTsKCQkJCXRoaXMuc3RhdHVzLm1lZGlhID0gJC5leHRlbmQoe30sIG1lZGlhKTsKCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoZmFsc2UpOwoJCQkJdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7CgkJCX0gZWxzZSB7IC8vIGpQbGF5ZXIgY2Fubm90IHN1cHBvcnQgYW55IGZvcm1hdHMgcHJvdmlkZWQgaW4gdGhpcyBicm93c2VyCgkJCQkvLyBTZW5kIGFuIGVycm9yIGV2ZW50CgkJCQl0aGlzLl9lcnJvciggewoJCQkJCXR5cGU6ICQualBsYXllci5lcnJvci5OT19TVVBQT1JULAoJCQkJCWNvbnRleHQ6ICJ7c3VwcGxpZWQ6JyIgKyB0aGlzLm9wdGlvbnMuc3VwcGxpZWQgKyAiJ30iLAoJCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5OT19TVVBQT1JULAoJCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuTk9fU1VQUE9SVAoJCQkJfSk7CgkJCX0KCQl9LAoJCV9yZXNldE1lZGlhOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fcmVzZXRTdGF0dXMoKTsKCQkJdGhpcy5fdXBkYXRlQnV0dG9ucyhmYWxzZSk7CgkJCXRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOwoJCQl0aGlzLl9zZWVrZWQoKTsKCQkJdGhpcy5pbnRlcm5hbC5wb3N0ZXIuanEuaGlkZSgpOwoKCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKTsKCgkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCXRoaXMuX2h0bWxfcmVzZXRNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCXRoaXMuX2ZsYXNoX3Jlc2V0TWVkaWEoKTsKCQkJfQoJCX0sCgkJY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3Jlc2V0TWVkaWEoKTsKCgkJCWlmKHRoaXMuaHRtbC5hY3RpdmUpIHsKCQkJCXRoaXMuX2h0bWxfY2xlYXJNZWRpYSgpOwoJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCXRoaXMuX2ZsYXNoX2NsZWFyTWVkaWEoKTsKCQkJfQoKCQkJdGhpcy5fcmVzZXRHYXRlKCk7CgkJCXRoaXMuX3Jlc2V0QWN0aXZlKCk7CgkJfSwKCQlsb2FkOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9sb2FkKCk7CgkJCQl9IGVsc2UgaWYodGhpcy5mbGFzaC5hY3RpdmUpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl91cmxOb3RTZXRFcnJvcigibG9hZCIpOwoJCQl9CgkJfSwKCQlmb2N1czogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMub3B0aW9ucy5rZXlFbmFibGVkKSB7CgkJCQkkLmpQbGF5ZXIuZm9jdXMgPSB0aGlzOwoJCQl9CgkJfSwKCQlwbGF5OiBmdW5jdGlvbih0aW1lKSB7CgkJCXRpbWUgPSAodHlwZW9mIHRpbWUgPT09ICJudW1iZXIiKSA/IHRpbWUgOiBOYU47IC8vIFJlbW92ZSBqUXVlcnkgZXZlbnQgZnJvbSBjbGljayBoYW5kbGVyCgkJCWlmKHRoaXMuc3RhdHVzLnNyY1NldCkgewoJCQkJdGhpcy5mb2N1cygpOwoJCQkJaWYodGhpcy5odG1sLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2h0bWxfcGxheSh0aW1lKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX3BsYXkodGltZSk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl91cmxOb3RTZXRFcnJvcigicGxheSIpOwoJCQl9CgkJfSwKCQl2aWRlb1BsYXk6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgcGxheSBidXR0b24gb3ZlciB0aGUgdmlkZW8gcG9zdGVyCgkJCXRoaXMucGxheSgpOwoJCX0sCgkJcGF1c2U6IGZ1bmN0aW9uKHRpbWUpIHsKCQkJdGltZSA9ICh0eXBlb2YgdGltZSA9PT0gIm51bWJlciIpID8gdGltZSA6IE5hTjsgLy8gUmVtb3ZlIGpRdWVyeSBldmVudCBmcm9tIGNsaWNrIGhhbmRsZXIKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wYXVzZSh0aW1lKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX3BhdXNlKHRpbWUpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdGhpcy5fdXJsTm90U2V0RXJyb3IoInBhdXNlIik7CgkJCX0KCQl9LAoJCXBhdXNlT3RoZXJzOiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkkLmVhY2godGhpcy5pbnN0YW5jZXMsIGZ1bmN0aW9uKGksIGVsZW1lbnQpIHsKCQkJCWlmKHNlbGYuZWxlbWVudCAhPT0gZWxlbWVudCkgeyAvLyBEbyBub3QgdGhpcyBpbnN0YW5jZS4KCQkJCQlpZihlbGVtZW50LmRhdGEoImpQbGF5ZXIiKS5zdGF0dXMuc3JjU2V0KSB7IC8vIENoZWNrIHRoYXQgbWVkaWEgaXMgc2V0IG90aGVyd2lzZSB3b3VsZCBjYXVzZSBlcnJvciBldmVudC4KCQkJCQkJZWxlbWVudC5qUGxheWVyKCJwYXVzZSIpOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgkJfSwKCQlzdG9wOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wYXVzZSgwKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX3BhdXNlKDApOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdGhpcy5fdXJsTm90U2V0RXJyb3IoInN0b3AiKTsKCQkJfQoJCX0sCgkJcGxheUhlYWQ6IGZ1bmN0aW9uKHApIHsKCQkJcCA9IHRoaXMuX2xpbWl0VmFsdWUocCwgMCwgMTAwKTsKCQkJaWYodGhpcy5zdGF0dXMuc3JjU2V0KSB7CgkJCQlpZih0aGlzLmh0bWwuYWN0aXZlKSB7CgkJCQkJdGhpcy5faHRtbF9wbGF5SGVhZChwKTsKCQkJCX0gZWxzZSBpZih0aGlzLmZsYXNoLmFjdGl2ZSkgewoJCQkJCXRoaXMuX2ZsYXNoX3BsYXlIZWFkKHApOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdGhpcy5fdXJsTm90U2V0RXJyb3IoInBsYXlIZWFkIik7CgkJCX0KCQl9LAoJCV9tdXRlZDogZnVuY3Rpb24obXV0ZWQpIHsKCQkJdGhpcy5vcHRpb25zLm11dGVkID0gbXV0ZWQ7CgkJCWlmKHRoaXMuaHRtbC51c2VkKSB7CgkJCQl0aGlzLl9odG1sX211dGUobXV0ZWQpOwoJCQl9CgkJCWlmKHRoaXMuZmxhc2gudXNlZCkgewoJCQkJdGhpcy5fZmxhc2hfbXV0ZShtdXRlZCk7CgkJCX0KCgkJCS8vIFRoZSBIVE1MIHNvbHV0aW9uIGdlbmVyYXRlcyB0aGlzIGV2ZW50IGZyb20gdGhlIG1lZGlhIGVsZW1lbnQgaXRzZWxmLgoJCQlpZighdGhpcy5odG1sLnZpZGVvLmdhdGUgJiYgIXRoaXMuaHRtbC5hdWRpby5nYXRlKSB7CgkJCQl0aGlzLl91cGRhdGVNdXRlKG11dGVkKTsKCQkJCXRoaXMuX3VwZGF0ZVZvbHVtZSh0aGlzLm9wdGlvbnMudm9sdW1lKTsKCQkJCXRoaXMuX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnZvbHVtZWNoYW5nZSk7CgkJCX0KCQl9LAoJCW11dGU6IGZ1bmN0aW9uKG11dGUpIHsgLy8gbXV0ZSBpcyBlaXRoZXI6IHVuZGVmaW5lZCAodHJ1ZSksIGFuIGV2ZW50IG9iamVjdCAodHJ1ZSkgb3IgYSBib29sZWFuIChtdXRlZCkuCgkJCW11dGUgPSBtdXRlID09PSB1bmRlZmluZWQgPyB0cnVlIDogISFtdXRlOwoJCQl0aGlzLl9tdXRlZChtdXRlKTsKCQl9LAoJCXVubXV0ZTogZnVuY3Rpb24odW5tdXRlKSB7IC8vIHVubXV0ZSBpcyBlaXRoZXI6IHVuZGVmaW5lZCAodHJ1ZSksIGFuIGV2ZW50IG9iamVjdCAodHJ1ZSkgb3IgYSBib29sZWFuICghbXV0ZWQpLgoJCQl1bm11dGUgPSB1bm11dGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiAhIXVubXV0ZTsKCQkJdGhpcy5fbXV0ZWQoIXVubXV0ZSk7CgkJfSwKCQlfdXBkYXRlTXV0ZTogZnVuY3Rpb24obXV0ZSkgewoJCQlpZihtdXRlID09PSB1bmRlZmluZWQpIHsKCQkJCW11dGUgPSB0aGlzLm9wdGlvbnMubXV0ZWQ7CgkJCX0KCQkJaWYodGhpcy5jc3MuanEubXV0ZS5sZW5ndGggJiYgdGhpcy5jc3MuanEudW5tdXRlLmxlbmd0aCkgewoJCQkJaWYodGhpcy5zdGF0dXMubm9Wb2x1bWUpIHsKCQkJCQl0aGlzLmNzcy5qcS5tdXRlLmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS51bm11dGUuaGlkZSgpOwoJCQkJfSBlbHNlIGlmKG11dGUpIHsKCQkJCQl0aGlzLmNzcy5qcS5tdXRlLmhpZGUoKTsKCQkJCQl0aGlzLmNzcy5qcS51bm11dGUuc2hvdygpOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5tdXRlLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS51bm11dGUuaGlkZSgpOwoJCQkJfQoJCQl9CgkJfSwKCQl2b2x1bWU6IGZ1bmN0aW9uKHYpIHsKCQkJdiA9IHRoaXMuX2xpbWl0VmFsdWUodiwgMCwgMSk7CgkJCXRoaXMub3B0aW9ucy52b2x1bWUgPSB2OwoKCQkJaWYodGhpcy5odG1sLnVzZWQpIHsKCQkJCXRoaXMuX2h0bWxfdm9sdW1lKHYpOwoJCQl9CgkJCWlmKHRoaXMuZmxhc2gudXNlZCkgewoJCQkJdGhpcy5fZmxhc2hfdm9sdW1lKHYpOwoJCQl9CgoJCQkvLyBUaGUgSFRNTCBzb2x1dGlvbiBnZW5lcmF0ZXMgdGhpcyBldmVudCBmcm9tIHRoZSBtZWRpYSBlbGVtZW50IGl0c2VsZi4KCQkJaWYoIXRoaXMuaHRtbC52aWRlby5nYXRlICYmICF0aGlzLmh0bWwuYXVkaW8uZ2F0ZSkgewoJCQkJdGhpcy5fdXBkYXRlVm9sdW1lKHYpOwoJCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudm9sdW1lY2hhbmdlKTsKCQkJfQoJCX0sCgkJdm9sdW1lQmFyOiBmdW5jdGlvbihlKSB7IC8vIEhhbmRsZXMgY2xpY2tzIG9uIHRoZSB2b2x1bWVCYXIKCQkJaWYodGhpcy5jc3MuanEudm9sdW1lQmFyLmxlbmd0aCkgewoJCQkJLy8gVXNpbmcgJChlLmN1cnJlbnRUYXJnZXQpIHRvIGVuYWJsZSBtdWx0aXBsZSB2b2x1bWUgYmFycwoJCQkJdmFyICRiYXIgPSAkKGUuY3VycmVudFRhcmdldCksCgkJCQkJb2Zmc2V0ID0gJGJhci5vZmZzZXQoKSwKCQkJCQl4ID0gZS5wYWdlWCAtIG9mZnNldC5sZWZ0LAoJCQkJCXcgPSAkYmFyLndpZHRoKCksCgkJCQkJeSA9ICRiYXIuaGVpZ2h0KCkgLSBlLnBhZ2VZICsgb2Zmc2V0LnRvcCwKCQkJCQloID0gJGJhci5oZWlnaHQoKTsKCQkJCWlmKHRoaXMub3B0aW9ucy52ZXJ0aWNhbFZvbHVtZSkgewoJCQkJCXRoaXMudm9sdW1lKHkvaCk7CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMudm9sdW1lKHgvdyk7CgkJCQl9CgkJCX0KCQkJaWYodGhpcy5vcHRpb25zLm11dGVkKSB7CgkJCQl0aGlzLl9tdXRlZChmYWxzZSk7CgkJCX0KCQl9LAoJCXZvbHVtZUJhclZhbHVlOiBmdW5jdGlvbigpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHZvbHVtZUJhclZhbHVlCgkJCS8vIFRoZSB2b2x1bWVCYXIgaGFuZGxlcyB0aGlzIGV2ZW50IGFzIHRoZSBldmVudCBwcm9wYWdhdGVzIHVwIHRoZSBET00uCgkJfSwKCQlfdXBkYXRlVm9sdW1lOiBmdW5jdGlvbih2KSB7CgkJCWlmKHYgPT09IHVuZGVmaW5lZCkgewoJCQkJdiA9IHRoaXMub3B0aW9ucy52b2x1bWU7CgkJCX0KCQkJdiA9IHRoaXMub3B0aW9ucy5tdXRlZCA/IDAgOiB2OwoKCQkJaWYodGhpcy5zdGF0dXMubm9Wb2x1bWUpIHsKCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZUJhci5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVCYXIuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5jc3MuanEudm9sdW1lQmFyVmFsdWUubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lQmFyVmFsdWUuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5jc3MuanEudm9sdW1lTWF4Lmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZvbHVtZU1heC5oaWRlKCk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZih0aGlzLmNzcy5qcS52b2x1bWVCYXIubGVuZ3RoKSB7CgkJCQkJdGhpcy5jc3MuanEudm9sdW1lQmFyLnNob3coKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLmxlbmd0aCkgewoJCQkJCXRoaXMuY3NzLmpxLnZvbHVtZUJhclZhbHVlLnNob3coKTsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVCYXJWYWx1ZVt0aGlzLm9wdGlvbnMudmVydGljYWxWb2x1bWUgPyAiaGVpZ2h0IiA6ICJ3aWR0aCJdKCh2KjEwMCkrIiUiKTsKCQkJCX0KCQkJCWlmKHRoaXMuY3NzLmpxLnZvbHVtZU1heC5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52b2x1bWVNYXguc2hvdygpOwoJCQkJfQoJCQl9CgkJfSwKCQl2b2x1bWVNYXg6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgdm9sdW1lIG1heAoJCQl0aGlzLnZvbHVtZSgxKTsKCQkJaWYodGhpcy5vcHRpb25zLm11dGVkKSB7CgkJCQl0aGlzLl9tdXRlZChmYWxzZSk7CgkJCX0KCQl9LAoJCV9jc3NTZWxlY3RvckFuY2VzdG9yOiBmdW5jdGlvbihhbmNlc3RvcikgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCXRoaXMub3B0aW9ucy5jc3NTZWxlY3RvckFuY2VzdG9yID0gYW5jZXN0b3I7CgkJCXRoaXMuX3JlbW92ZVVpQ2xhc3MoKTsKCQkJdGhpcy5hbmNlc3RvckpxID0gYW5jZXN0b3IgPyAkKGFuY2VzdG9yKSA6IFtdOyAvLyBXb3VsZCB1c2UgJCgpIGluc3RlYWQgb2YgW10sIGJ1dCBpdCBpcyBvbmx5IDEuNCsKCQkJaWYoYW5jZXN0b3IgJiYgdGhpcy5hbmNlc3RvckpxLmxlbmd0aCAhPT0gMSkgeyAvLyBTbyBlbXB0eSBzdHJpbmdzIGRvIG5vdCBnZW5lcmF0ZSB0aGUgd2FybmluZy4KCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQl0eXBlOiAkLmpQbGF5ZXIud2FybmluZy5DU1NfU0VMRUNUT1JfQ09VTlQsCgkJCQkJY29udGV4dDogYW5jZXN0b3IsCgkJCQkJbWVzc2FnZTogJC5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX0NPVU5UICsgdGhpcy5hbmNlc3RvckpxLmxlbmd0aCArICIgZm91bmQgZm9yIGNzc1NlbGVjdG9yQW5jZXN0b3IuIiwKCQkJCQloaW50OiAkLmpQbGF5ZXIud2FybmluZ0hpbnQuQ1NTX1NFTEVDVE9SX0NPVU5UCgkJCQl9KTsKCQkJfQoJCQl0aGlzLl9hZGRVaUNsYXNzKCk7CgkJCSQuZWFjaCh0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3IsIGZ1bmN0aW9uKGZuLCBjc3NTZWwpIHsKCQkJCXNlbGYuX2Nzc1NlbGVjdG9yKGZuLCBjc3NTZWwpOwoJCQl9KTsKCgkJCS8vIFNldCB0aGUgR1VJIHRvIHRoZSBjdXJyZW50IHN0YXRlLgoJCQl0aGlzLl91cGRhdGVJbnRlcmZhY2UoKTsKCQkJdGhpcy5fdXBkYXRlQnV0dG9ucygpOwoJCQl0aGlzLl91cGRhdGVBdXRvaGlkZSgpOwoJCQl0aGlzLl91cGRhdGVWb2x1bWUoKTsKCQkJdGhpcy5fdXBkYXRlTXV0ZSgpOwoJCX0sCgkJX2Nzc1NlbGVjdG9yOiBmdW5jdGlvbihmbiwgY3NzU2VsKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJaWYodHlwZW9mIGNzc1NlbCA9PT0gJ3N0cmluZycpIHsKCQkJCWlmKCQualBsYXllci5wcm90b3R5cGUub3B0aW9ucy5jc3NTZWxlY3Rvcltmbl0pIHsKCQkJCQlpZih0aGlzLmNzcy5qcVtmbl0gJiYgdGhpcy5jc3MuanFbZm5dLmxlbmd0aCkgewoJCQkJCQl0aGlzLmNzcy5qcVtmbl0udW5iaW5kKCIualBsYXllciIpOwoJCQkJCX0KCQkJCQl0aGlzLm9wdGlvbnMuY3NzU2VsZWN0b3JbZm5dID0gY3NzU2VsOwoJCQkJCXRoaXMuY3NzLmNzW2ZuXSA9IHRoaXMub3B0aW9ucy5jc3NTZWxlY3RvckFuY2VzdG9yICsgIiAiICsgY3NzU2VsOwoKCQkJCQlpZihjc3NTZWwpIHsgLy8gQ2hlY2tzIGZvciBlbXB0eSBzdHJpbmcKCQkJCQkJdGhpcy5jc3MuanFbZm5dID0gJCh0aGlzLmNzcy5jc1tmbl0pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMuY3NzLmpxW2ZuXSA9IFtdOyAvLyBUbyBjb21wbHkgd2l0aCB0aGUgY3NzLmpxW2ZuXS5sZW5ndGggY2hlY2sgYmVmb3JlIGl0cyB1c2UuIEFzIG9mIGpRdWVyeSAxLjQgY291bGQgaGF2ZSB1c2VkICQoKSBmb3IgYW4gZW1wdHkgc2V0LiAKCQkJCQl9CgoJCQkJCWlmKHRoaXMuY3NzLmpxW2ZuXS5sZW5ndGgpIHsKCQkJCQkJdmFyIGhhbmRsZXIgPSBmdW5jdGlvbihlKSB7CgkJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCQlzZWxmW2ZuXShlKTsKCQkJCQkJCSQodGhpcykuYmx1cigpOwoJCQkJCQl9OwoJCQkJCQl0aGlzLmNzcy5qcVtmbl0uYmluZCgiY2xpY2sualBsYXllciIsIGhhbmRsZXIpOyAvLyBVc2luZyBqUGxheWVyIG5hbWVzcGFjZQoJCQkJCX0KCgkJCQkJaWYoY3NzU2VsICYmIHRoaXMuY3NzLmpxW2ZuXS5sZW5ndGggIT09IDEpIHsgLy8gU28gZW1wdHkgc3RyaW5ncyBkbyBub3QgZ2VuZXJhdGUgdGhlIHdhcm5pbmcuIGllLiwgdGhleSBqdXN0IHJlbW92ZSB0aGUgb2xkIG9uZS4KCQkJCQkJdGhpcy5fd2FybmluZyggewoJCQkJCQkJdHlwZTogJC5qUGxheWVyLndhcm5pbmcuQ1NTX1NFTEVDVE9SX0NPVU5ULAoJCQkJCQkJY29udGV4dDogdGhpcy5jc3MuY3NbZm5dLAoJCQkJCQkJbWVzc2FnZTogJC5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX0NPVU5UICsgdGhpcy5jc3MuanFbZm5dLmxlbmd0aCArICIgZm91bmQgZm9yICIgKyBmbiArICIgbWV0aG9kLiIsCgkJCQkJCQloaW50OiAkLmpQbGF5ZXIud2FybmluZ0hpbnQuQ1NTX1NFTEVDVE9SX0NPVU5UCgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy5fd2FybmluZyggewoJCQkJCQl0eXBlOiAkLmpQbGF5ZXIud2FybmluZy5DU1NfU0VMRUNUT1JfTUVUSE9ELAoJCQkJCQljb250ZXh0OiBmbiwKCQkJCQkJbWVzc2FnZTogJC5qUGxheWVyLndhcm5pbmdNc2cuQ1NTX1NFTEVDVE9SX01FVEhPRCwKCQkJCQkJaGludDogJC5qUGxheWVyLndhcm5pbmdIaW50LkNTU19TRUxFQ1RPUl9NRVRIT0QKCQkJCQl9KTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQl0eXBlOiAkLmpQbGF5ZXIud2FybmluZy5DU1NfU0VMRUNUT1JfU1RSSU5HLAoJCQkJCWNvbnRleHQ6IGNzc1NlbCwKCQkJCQltZXNzYWdlOiAkLmpQbGF5ZXIud2FybmluZ01zZy5DU1NfU0VMRUNUT1JfU1RSSU5HLAoJCQkJCWhpbnQ6ICQualBsYXllci53YXJuaW5nSGludC5DU1NfU0VMRUNUT1JfU1RSSU5HCgkJCQl9KTsKCQkJfQoJCX0sCgkJc2Vla0JhcjogZnVuY3Rpb24oZSkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgc2Vla0JhcgoJCQlpZih0aGlzLmNzcy5qcS5zZWVrQmFyLmxlbmd0aCkgewoJCQkJLy8gVXNpbmcgJChlLmN1cnJlbnRUYXJnZXQpIHRvIGVuYWJsZSBtdWx0aXBsZSBzZWVrIGJhcnMKCQkJCXZhciAkYmFyID0gJChlLmN1cnJlbnRUYXJnZXQpLAoJCQkJCW9mZnNldCA9ICRiYXIub2Zmc2V0KCksCgkJCQkJeCA9IGUucGFnZVggLSBvZmZzZXQubGVmdCwKCQkJCQl3ID0gJGJhci53aWR0aCgpLAoJCQkJCXAgPSAxMDAgKiB4IC8gdzsKCQkJCXRoaXMucGxheUhlYWQocCk7CgkJCX0KCQl9LAoJCXBsYXlCYXI6IGZ1bmN0aW9uKCkgeyAvLyBIYW5kbGVzIGNsaWNrcyBvbiB0aGUgcGxheUJhcgoJCQkvLyBUaGUgc2Vla0JhciBoYW5kbGVzIHRoaXMgZXZlbnQgYXMgdGhlIGV2ZW50IHByb3BhZ2F0ZXMgdXAgdGhlIERPTS4KCQl9LAoJCXJlcGVhdDogZnVuY3Rpb24oKSB7IC8vIEhhbmRsZSBjbGlja3Mgb24gdGhlIHJlcGVhdCBidXR0b24KCQkJdGhpcy5fbG9vcCh0cnVlKTsKCQl9LAoJCXJlcGVhdE9mZjogZnVuY3Rpb24oKSB7IC8vIEhhbmRsZSBjbGlja3Mgb24gdGhlIHJlcGVhdE9mZiBidXR0b24KCQkJdGhpcy5fbG9vcChmYWxzZSk7CgkJfSwKCQlfbG9vcDogZnVuY3Rpb24obG9vcCkgewoJCQlpZih0aGlzLm9wdGlvbnMubG9vcCAhPT0gbG9vcCkgewoJCQkJdGhpcy5vcHRpb25zLmxvb3AgPSBsb29wOwoJCQkJdGhpcy5fdXBkYXRlQnV0dG9ucygpOwoJCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVwZWF0KTsKCQkJfQoJCX0sCgoJCS8vIFBsYW4gdG8gcmV2aWV3IHRoZSBjc3NTZWxlY3RvciBtZXRob2QgdG8gY29wZSB3aXRoIG1pc3NpbmcgYXNzb2NpYXRlZCBmdW5jdGlvbnMgYWNjb3JkaW5nbHkuCgoJCWN1cnJlbnRUaW1lOiBmdW5jdGlvbigpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHRleHQKCQkJLy8gQWRkZWQgdG8gYXZvaWQgZXJyb3JzIHVzaW5nIGNzc1NlbGVjdG9yIHN5c3RlbSBmb3IgdGhlIHRleHQKCQl9LAoJCWR1cmF0aW9uOiBmdW5jdGlvbigpIHsgLy8gSGFuZGxlcyBjbGlja3Mgb24gdGhlIHRleHQKCQkJLy8gQWRkZWQgdG8gYXZvaWQgZXJyb3JzIHVzaW5nIGNzc1NlbGVjdG9yIHN5c3RlbSBmb3IgdGhlIHRleHQKCQl9LAoJCWd1aTogZnVuY3Rpb24oKSB7IC8vIEhhbmRsZXMgY2xpY2tzIG9uIHRoZSBndWkKCQkJLy8gQWRkZWQgdG8gYXZvaWQgZXJyb3JzIHVzaW5nIGNzc1NlbGVjdG9yIHN5c3RlbSBmb3IgdGhlIGd1aQoJCX0sCgkJbm9Tb2x1dGlvbjogZnVuY3Rpb24oKSB7IC8vIEhhbmRsZXMgY2xpY2tzIG9uIHRoZSBlcnJvciBtZXNzYWdlCgkJCS8vIEFkZGVkIHRvIGF2b2lkIGVycm9ycyB1c2luZyBjc3NTZWxlY3RvciBzeXN0ZW0gZm9yIG5vLXNvbHV0aW9uCgkJfSwKCgkJLy8gT3B0aW9ucyBjb2RlIGFkYXB0ZWQgZnJvbSB1aS53aWRnZXQuanMgKDEuOC43KS4gIE1hZGUgY2hhbmdlcyBzbyB0aGUga2V5IGNhbiB1c2UgZG90IG5vdGF0aW9uLiBUbyBtYXRjaCBwcmV2aW91cyBnZXREYXRhIHNvbHV0aW9uIGluIGpQbGF5ZXIgMS4KCQlvcHRpb246IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsKCQkJdmFyIG9wdGlvbnMgPSBrZXk7CgoJCQkgLy8gRW5hYmxlcyB1c2U6IG9wdGlvbnMoKS4gIFJldHVybnMgYSBjb3B5IG9mIG9wdGlvbnMgb2JqZWN0CgkJCWlmICggYXJndW1lbnRzLmxlbmd0aCA9PT0gMCApIHsKCQkJCXJldHVybiAkLmV4dGVuZCggdHJ1ZSwge30sIHRoaXMub3B0aW9ucyApOwoJCQl9CgoJCQlpZih0eXBlb2Yga2V5ID09PSAic3RyaW5nIikgewoJCQkJdmFyIGtleXMgPSBrZXkuc3BsaXQoIi4iKTsKCgkJCQkgLy8gRW5hYmxlcyB1c2U6IG9wdGlvbnMoInNvbWVPcHRpb24iKSAgUmV0dXJucyBhIGNvcHkgb2YgdGhlIG9wdGlvbi4gU3VwcG9ydHMgZG90IG5vdGF0aW9uLgoJCQkJaWYodmFsdWUgPT09IHVuZGVmaW5lZCkgewoKCQkJCQl2YXIgb3B0ID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMub3B0aW9ucyk7CgkJCQkJZm9yKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHsKCQkJCQkJaWYob3B0W2tleXNbaV1dICE9PSB1bmRlZmluZWQpIHsKCQkJCQkJCW9wdCA9IG9wdFtrZXlzW2ldXTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXRoaXMuX3dhcm5pbmcoIHsKCQkJCQkJCQl0eXBlOiAkLmpQbGF5ZXIud2FybmluZy5PUFRJT05fS0VZLAoJCQkJCQkJCWNvbnRleHQ6IGtleSwKCQkJCQkJCQltZXNzYWdlOiAkLmpQbGF5ZXIud2FybmluZ01zZy5PUFRJT05fS0VZLAoJCQkJCQkJCWhpbnQ6ICQualBsYXllci53YXJuaW5nSGludC5PUFRJT05fS0VZCgkJCQkJCQl9KTsKCQkJCQkJCXJldHVybiB1bmRlZmluZWQ7CgkJCQkJCX0KCQkJCQl9CgkJCQkJcmV0dXJuIG9wdDsKCQkJCX0KCgkJCQkgLy8gRW5hYmxlcyB1c2U6IG9wdGlvbnMoInNvbWVPcHRpb25PYmplY3QiLCBzb21lT2JqZWN0fSkuICBDcmVhdGVzOiB7c29tZU9wdGlvbk9iamVjdDpzb21lT2JqZWN0fQoJCQkJIC8vIEVuYWJsZXMgdXNlOiBvcHRpb25zKCJzb21lT3B0aW9uIiwgc29tZVZhbHVlKS4gIENyZWF0ZXM6IHtzb21lT3B0aW9uOnNvbWVWYWx1ZX0KCQkJCSAvLyBFbmFibGVzIHVzZTogb3B0aW9ucygic29tZU9wdGlvbk9iamVjdC5zb21lT3B0aW9uIiwgc29tZVZhbHVlKS4gIENyZWF0ZXM6IHtzb21lT3B0aW9uT2JqZWN0Ontzb21lT3B0aW9uOnNvbWVWYWx1ZX19CgoJCQkJb3B0aW9ucyA9IHt9OwoJCQkJdmFyIG9wdHMgPSBvcHRpb25zOwoKCQkJCWZvcih2YXIgaiA9IDA7IGogPCBrZXlzLmxlbmd0aDsgaisrKSB7CgkJCQkJaWYoaiA8IGtleXMubGVuZ3RoIC0gMSkgewoJCQkJCQlvcHRzW2tleXNbal1dID0ge307CgkJCQkJCW9wdHMgPSBvcHRzW2tleXNbal1dOwoJCQkJCX0gZWxzZSB7CgkJCQkJCW9wdHNba2V5c1tqXV0gPSB2YWx1ZTsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCSAvLyBPdGhlcndpc2UgZW5hYmxlcyB1c2U6IG9wdGlvbnMob3B0aW9uT2JqZWN0KS4gIFVzZXMgb3JpZ2luYWwgb2JqZWN0ICh0aGUga2V5KQoKCQkJdGhpcy5fc2V0T3B0aW9ucyhvcHRpb25zKTsKCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJX3NldE9wdGlvbnM6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkkLmVhY2gob3B0aW9ucywgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgeyAvLyBUaGlzIHN1cHBvcnRzIHRoZSAyIGxldmVsIGRlcHRoIHRoYXQgdGhlIG9wdGlvbnMgb2YgalBsYXllciBoYXMuIFdvdWxkIHJldmlldyBpZiB3ZSBldmVyIG5lZWQgbW9yZSBkZXB0aC4KCQkJCXNlbGYuX3NldE9wdGlvbihrZXksIHZhbHVlKTsKCQkJfSk7CgoJCQlyZXR1cm4gdGhpczsKCQl9LAoJCV9zZXRPcHRpb246IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJLy8gVGhlIGFiaWxpdHkgdG8gc2V0IG9wdGlvbnMgaXMgbGltaXRlZCBhdCB0aGlzIHRpbWUuCgoJCQlzd2l0Y2goa2V5KSB7CgkJCQljYXNlICJ2b2x1bWUiIDoKCQkJCQl0aGlzLnZvbHVtZSh2YWx1ZSk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJtdXRlZCIgOgoJCQkJCXRoaXMuX211dGVkKHZhbHVlKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgImNzc1NlbGVjdG9yQW5jZXN0b3IiIDoKCQkJCQl0aGlzLl9jc3NTZWxlY3RvckFuY2VzdG9yKHZhbHVlKTsgLy8gU2V0IGFuZCByZWZyZXNoIGFsbCBhc3NvY2lhdGlvbnMgZm9yIHRoZSBuZXcgYW5jZXN0b3IuCgkJCQkJYnJlYWs7CgkJCQljYXNlICJjc3NTZWxlY3RvciIgOgoJCQkJCSQuZWFjaCh2YWx1ZSwgZnVuY3Rpb24oZm4sIGNzc1NlbCkgewoJCQkJCQlzZWxmLl9jc3NTZWxlY3RvcihmbiwgY3NzU2VsKTsgLy8gTkI6IFRoZSBvcHRpb24gaXMgc2V0IGluc2lkZSB0aGlzIGZ1bmN0aW9uLCBhZnRlciBmdXJ0aGVyIHZhbGlkaXR5IGNoZWNrcy4KCQkJCQl9KTsKCQkJCQlicmVhazsKCQkJCWNhc2UgImZ1bGxTY3JlZW4iIDoKCQkJCQlpZih0aGlzLm9wdGlvbnNba2V5XSAhPT0gdmFsdWUpIHsgLy8gaWYgY2hhbmdlZAoJCQkJCQl2YXIgd2t2ID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW4udXNlZC53ZWJraXRWaWRlbzsKCQkJCQkJaWYoIXdrdiB8fCB3a3YgJiYgIXRoaXMuc3RhdHVzLndhaXRGb3JQbGF5KSB7CgkJCQkJCQlpZighd2t2KSB7IC8vIE5vIHNlbnNpYmxlIHdheSB0byB1bnNldCBvcHRpb24gb24gdGhlc2UgZGV2aWNlcy4KCQkJCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IHZhbHVlOwoJCQkJCQkJfQoJCQkJCQkJaWYodmFsdWUpIHsKCQkJCQkJCQl0aGlzLl9yZXF1ZXN0RnVsbHNjcmVlbigpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQl0aGlzLl9leGl0RnVsbHNjcmVlbigpOwoJCQkJCQkJfQoJCQkJCQkJaWYoIXdrdikgewoJCQkJCQkJCXRoaXMuX3NldE9wdGlvbigiZnVsbFdpbmRvdyIsIHZhbHVlKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCWNhc2UgImZ1bGxXaW5kb3ciIDoKCQkJCQlpZih0aGlzLm9wdGlvbnNba2V5XSAhPT0gdmFsdWUpIHsgLy8gaWYgY2hhbmdlZAoJCQkJCQl0aGlzLl9yZW1vdmVVaUNsYXNzKCk7CgkJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJCXRoaXMuX3JlZnJlc2hTaXplKCk7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAic2l6ZSIgOgoJCQkJCWlmKCF0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdyAmJiB0aGlzLm9wdGlvbnNba2V5XS5jc3NDbGFzcyAhPT0gdmFsdWUuY3NzQ2xhc3MpIHsKCQkJCQkJdGhpcy5fcmVtb3ZlVWlDbGFzcygpOwoJCQkJCX0KCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBjb3B5IG9mIGl0LCBpbmNhc2Ugbm90IGFsbCBwcm9wZXJ0aWVzIGNoYW5nZWQuCgkJCQkJdGhpcy5fcmVmcmVzaFNpemUoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgInNpemVGdWxsIiA6CgkJCQkJaWYodGhpcy5vcHRpb25zLmZ1bGxXaW5kb3cgJiYgdGhpcy5vcHRpb25zW2tleV0uY3NzQ2xhc3MgIT09IHZhbHVlLmNzc0NsYXNzKSB7CgkJCQkJCXRoaXMuX3JlbW92ZVVpQ2xhc3MoKTsKCQkJCQl9CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zW2tleV0sIHZhbHVlKTsgLy8gc3RvcmUgYSBtZXJnZWQgY29weSBvZiBpdCwgaW5jYXNlIG5vdCBhbGwgcHJvcGVydGllcyBjaGFuZ2VkLgoJCQkJCXRoaXMuX3JlZnJlc2hTaXplKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJhdXRvaGlkZSIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLl91cGRhdGVBdXRvaGlkZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibG9vcCIgOgoJCQkJCXRoaXMuX2xvb3AodmFsdWUpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAibmF0aXZlVmlkZW9Db250cm9scyIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpOwoJCQkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkJCXRoaXMuX3VwZGF0ZU5hdGl2ZVZpZGVvQ29udHJvbHMoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm5vRnVsbFdpbmRvdyIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gJC5leHRlbmQoe30sIHRoaXMub3B0aW9uc1trZXldLCB2YWx1ZSk7IC8vIHN0b3JlIGEgbWVyZ2VkIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQl0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5hdGl2ZVZpZGVvQ29udHJvbHMpOyAvLyBOZWVkIHRvIGNoZWNrIGFnYWluIGFzIG5vRnVsbFdpbmRvdyBjYW4gZGVwZW5kIG9uIHRoaXMgZmxhZyBhbmQgdGhlIHJlc3RyaWN0KCkgY2FuIG92ZXJyaWRlIGl0LgoJCQkJCXRoaXMuc3RhdHVzLm5vRnVsbFdpbmRvdyA9IHRoaXMuX3VhQmxvY2tsaXN0KHRoaXMub3B0aW9ucy5ub0Z1bGxXaW5kb3cpOwoJCQkJCXRoaXMuX3Jlc3RyaWN0TmF0aXZlVmlkZW9Db250cm9scygpOwoJCQkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgIm5vVm9sdW1lIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zW2tleV0sIHZhbHVlKTsgLy8gc3RvcmUgYSBtZXJnZWQgY29weSBvZiBpdCwgaW5jYXNlIG5vdCBhbGwgcHJvcGVydGllcyBjaGFuZ2VkLgoJCQkJCXRoaXMuc3RhdHVzLm5vVm9sdW1lID0gdGhpcy5fdWFCbG9ja2xpc3QodGhpcy5vcHRpb25zLm5vVm9sdW1lKTsKCQkJCQl0aGlzLl91cGRhdGVWb2x1bWUoKTsKCQkJCQl0aGlzLl91cGRhdGVNdXRlKCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICJlbXVsYXRlSHRtbCIgOgoJCQkJCWlmKHRoaXMub3B0aW9uc1trZXldICE9PSB2YWx1ZSkgeyAvLyBUbyBhdm9pZCBtdWx0aXBsZSBldmVudCBoYW5kbGVycyBiZWluZyBjcmVhdGVkLCBpZiB0cnVlIGFscmVhZHkuCgkJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJCWlmKHZhbHVlKSB7CgkJCQkJCQl0aGlzLl9lbXVsYXRlSHRtbEJyaWRnZSgpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fZGVzdHJveUh0bWxCcmlkZ2UoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQlicmVhazsKCQkJCWNhc2UgInRpbWVGb3JtYXQiIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBjb3B5IG9mIGl0LCBpbmNhc2Ugbm90IGFsbCBwcm9wZXJ0aWVzIGNoYW5nZWQuCgkJCQkJYnJlYWs7CgkJCQljYXNlICJrZXlFbmFibGVkIiA6CgkJCQkJdGhpcy5vcHRpb25zW2tleV0gPSB2YWx1ZTsKCQkJCQlpZighdmFsdWUgJiYgdGhpcyA9PT0gJC5qUGxheWVyLmZvY3VzKSB7CgkJCQkJCSQualBsYXllci5mb2N1cyA9IG51bGw7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAia2V5QmluZGluZ3MiIDoKCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9ICQuZXh0ZW5kKHRydWUsIHt9LCB0aGlzLm9wdGlvbnNba2V5XSwgdmFsdWUpOyAvLyBzdG9yZSBhIG1lcmdlZCBERUVQIGNvcHkgb2YgaXQsIGluY2FzZSBub3QgYWxsIHByb3BlcnRpZXMgY2hhbmdlZC4KCQkJCQlicmVhazsKCQkJCWNhc2UgImF1ZGlvRnVsbFNjcmVlbiIgOgoJCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsdWU7CgkJCQkJYnJlYWs7CgkJCX0KCgkJCXJldHVybiB0aGlzOwoJCX0sCgkJLy8gRW5kIG9mOiAoT3B0aW9ucyBjb2RlIGFkYXB0ZWQgZnJvbSB1aS53aWRnZXQuanMpCgoJCV9yZWZyZXNoU2l6ZTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3NldFNpemUoKTsgLy8gdXBkYXRlIHN0YXR1cyBhbmQgalBsYXllciBlbGVtZW50IHNpemUKCQkJdGhpcy5fYWRkVWlDbGFzcygpOyAvLyB1cGRhdGUgdGhlIHVpIGNsYXNzCgkJCXRoaXMuX3VwZGF0ZVNpemUoKTsgLy8gdXBkYXRlIGludGVybmFsIHNpemVzCgkJCXRoaXMuX3VwZGF0ZUJ1dHRvbnMoKTsKCQkJdGhpcy5fdXBkYXRlQXV0b2hpZGUoKTsKCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucmVzaXplKTsKCQl9LAoJCV9zZXRTaXplOiBmdW5jdGlvbigpIHsKCQkJLy8gRGV0ZXJtaW5lIHRoZSBjdXJyZW50IHNpemUgZnJvbSB0aGUgb3B0aW9ucwoJCQlpZih0aGlzLm9wdGlvbnMuZnVsbFdpbmRvdykgewoJCQkJdGhpcy5zdGF0dXMud2lkdGggPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwud2lkdGg7CgkJCQl0aGlzLnN0YXR1cy5oZWlnaHQgPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwuaGVpZ2h0OwoJCQkJdGhpcy5zdGF0dXMuY3NzQ2xhc3MgPSB0aGlzLm9wdGlvbnMuc2l6ZUZ1bGwuY3NzQ2xhc3M7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLnN0YXR1cy53aWR0aCA9IHRoaXMub3B0aW9ucy5zaXplLndpZHRoOwoJCQkJdGhpcy5zdGF0dXMuaGVpZ2h0ID0gdGhpcy5vcHRpb25zLnNpemUuaGVpZ2h0OwoJCQkJdGhpcy5zdGF0dXMuY3NzQ2xhc3MgPSB0aGlzLm9wdGlvbnMuc2l6ZS5jc3NDbGFzczsKCQkJfQoKCQkJLy8gU2V0IHRoZSBzaXplIG9mIHRoZSBqUGxheWVyIGFyZWEuCgkJCXRoaXMuZWxlbWVudC5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJfSwKCQlfYWRkVWlDbGFzczogZnVuY3Rpb24oKSB7CgkJCWlmKHRoaXMuYW5jZXN0b3JKcS5sZW5ndGgpIHsKCQkJCXRoaXMuYW5jZXN0b3JKcS5hZGRDbGFzcyh0aGlzLnN0YXR1cy5jc3NDbGFzcyk7CgkJCX0KCQl9LAoJCV9yZW1vdmVVaUNsYXNzOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5hbmNlc3RvckpxLmxlbmd0aCkgewoJCQkJdGhpcy5hbmNlc3RvckpxLnJlbW92ZUNsYXNzKHRoaXMuc3RhdHVzLmNzc0NsYXNzKTsKCQkJfQoJCX0sCgkJX3VwZGF0ZVNpemU6IGZ1bmN0aW9uKCkgewoJCQkvLyBUaGUgcG9zdGVyIHVzZXMgc2hvdy9oaWRlIHNvIGNhbiBzaW1wbHkgcmVzaXplIGl0LgoJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgoJCQkvLyBWaWRlbyBodG1sIG9yIGZsYXNoIHJlc2l6ZWQgaWYgbmVjZXNzYXJ5IGF0IHRoaXMgdGltZSwgb3IgaWYgbmF0aXZlIHZpZGVvIGNvbnRyb2xzIGJlaW5nIHVzZWQuCgkJCWlmKCF0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSAmJiB0aGlzLmh0bWwuYWN0aXZlICYmIHRoaXMuc3RhdHVzLnZpZGVvIHx8IHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUgJiYgdGhpcy5odG1sLnVzZWQgJiYgdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCX0KCQkJZWxzZSBpZighdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgJiYgdGhpcy5mbGFzaC5hY3RpdmUgJiYgdGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOiB0aGlzLnN0YXR1cy53aWR0aCwgJ2hlaWdodCc6IHRoaXMuc3RhdHVzLmhlaWdodH0pOwoJCQl9CgkJfSwKCQlfdXBkYXRlQXV0b2hpZGU6IGZ1bmN0aW9uKCkgewoJCQl2YXIJc2VsZiA9IHRoaXMsCgkJCQlldmVudCA9ICJtb3VzZW1vdmUualBsYXllciIsCgkJCQluYW1lc3BhY2UgPSAiLmpQbGF5ZXJBdXRvaGlkZSIsCgkJCQlldmVudFR5cGUgPSBldmVudCArIG5hbWVzcGFjZSwKCQkJCWhhbmRsZXIgPSBmdW5jdGlvbigpIHsKCQkJCQlzZWxmLmNzcy5qcS5ndWkuZmFkZUluKHNlbGYub3B0aW9ucy5hdXRvaGlkZS5mYWRlSW4sIGZ1bmN0aW9uKCkgewoJCQkJCQljbGVhclRpbWVvdXQoc2VsZi5pbnRlcm5hbC5hdXRvaGlkZUlkKTsKCQkJCQkJc2VsZi5pbnRlcm5hbC5hdXRvaGlkZUlkID0gc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCQkJCQlzZWxmLmNzcy5qcS5ndWkuZmFkZU91dChzZWxmLm9wdGlvbnMuYXV0b2hpZGUuZmFkZU91dCk7CgkJCQkJCX0sIHNlbGYub3B0aW9ucy5hdXRvaGlkZS5ob2xkKTsKCQkJCQl9KTsKCQkJCX07CgoJCQlpZih0aGlzLmNzcy5qcS5ndWkubGVuZ3RoKSB7CgoJCQkJLy8gRW5kIGFuaW1hdGlvbnMgZmlyc3Qgc28gdGhhdCBpdHMgY2FsbGJhY2sgaXMgZXhlY3V0ZWQgbm93LgoJCQkJLy8gT3RoZXJ3aXNlIGFuIGluIHByb2dyZXNzIGZhZGVJbiBhbmltYXRpb24gc3RpbGwgaGFzIHRoZSBjYWxsYmFjayB0byBmYWRlT3V0IGFnYWluLgoJCQkJdGhpcy5jc3MuanEuZ3VpLnN0b3AodHJ1ZSwgdHJ1ZSk7CgoJCQkJLy8gUmVtb3ZlcyB0aGUgZmFkZU91dCBvcGVyYXRpb24gZnJvbSB0aGUgZmFkZUluIGNhbGxiYWNrLgoJCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuYXV0b2hpZGVJZCk7CgoJCQkJdGhpcy5lbGVtZW50LnVuYmluZChuYW1lc3BhY2UpOwoJCQkJdGhpcy5jc3MuanEuZ3VpLnVuYmluZChuYW1lc3BhY2UpOwoKCQkJCWlmKCF0aGlzLnN0YXR1cy5uYXRpdmVWaWRlb0NvbnRyb2xzKSB7CgkJCQkJaWYodGhpcy5vcHRpb25zLmZ1bGxXaW5kb3cgJiYgdGhpcy5vcHRpb25zLmF1dG9oaWRlLmZ1bGwgfHwgIXRoaXMub3B0aW9ucy5mdWxsV2luZG93ICYmIHRoaXMub3B0aW9ucy5hdXRvaGlkZS5yZXN0b3JlZCkgewoJCQkJCQl0aGlzLmVsZW1lbnQuYmluZChldmVudFR5cGUsIGhhbmRsZXIpOwoJCQkJCQl0aGlzLmNzcy5qcS5ndWkuYmluZChldmVudFR5cGUsIGhhbmRsZXIpOwoJCQkJCQl0aGlzLmNzcy5qcS5ndWkuaGlkZSgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMuY3NzLmpxLmd1aS5zaG93KCk7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmNzcy5qcS5ndWkuaGlkZSgpOwoJCQkJfQoJCQl9CgkJfSwKCQlmdWxsU2NyZWVuOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fc2V0T3B0aW9uKCJmdWxsU2NyZWVuIiwgdHJ1ZSk7CgkJfSwKCQlyZXN0b3JlU2NyZWVuOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fc2V0T3B0aW9uKCJmdWxsU2NyZWVuIiwgZmFsc2UpOwoJCX0sCgkJX2Z1bGxzY3JlZW5BZGRFdmVudExpc3RlbmVyczogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWZzID0gJC5qUGxheWVyLm5hdGl2ZUZlYXR1cmVzLmZ1bGxzY3JlZW47CgoJCQlpZihmcy5hcGkuZnVsbHNjcmVlbkVuYWJsZWQpIHsKCQkJCWlmKGZzLmV2ZW50LmZ1bGxzY3JlZW5jaGFuZ2UpIHsKCQkJCQkvLyBDcmVhdGUgdGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gYW5kIHN0b3JlIGl0IGZvciByZW1vdmFsLgoJCQkJCWlmKHR5cGVvZiB0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyICE9PSAnZnVuY3Rpb24nKSB7CgkJCQkJCXRoaXMuaW50ZXJuYWwuZnVsbHNjcmVlbmNoYW5nZUhhbmRsZXIgPSBmdW5jdGlvbigpIHsKCQkJCQkJCXNlbGYuX2Z1bGxzY3JlZW5jaGFuZ2UoKTsKCQkJCQkJfTsKCQkJCQl9CgkJCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihmcy5ldmVudC5mdWxsc2NyZWVuY2hhbmdlLCB0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyLCBmYWxzZSk7CgkJCQl9CgkJCQkvLyBObyBwb2ludCBjcmVhdGluZyBoYW5kbGVyIGZvciBmdWxsc2NyZWVuZXJyb3IuCgkJCQkvLyBFaXRoZXIgbG9naWMgYXZvaWRzIGZ1bGxzY3JlZW4gb2NjdXJyaW5nICh3M2MvbW96KSwgb3IgdGhlaXIgaXMgbm8gZXZlbnQgb24gdGhlIGJyb3dzZXIgKHdlYmtpdCkuCgkJCX0KCQl9LAoJCV9mdWxsc2NyZWVuUmVtb3ZlRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgZnMgPSAkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbjsKCQkJaWYodGhpcy5pbnRlcm5hbC5mdWxsc2NyZWVuY2hhbmdlSGFuZGxlcikgewoJCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihmcy5ldmVudC5mdWxsc2NyZWVuY2hhbmdlLCB0aGlzLmludGVybmFsLmZ1bGxzY3JlZW5jaGFuZ2VIYW5kbGVyLCBmYWxzZSk7CgkJCX0KCQl9LAoJCV9mdWxsc2NyZWVuY2hhbmdlOiBmdW5jdGlvbigpIHsKCQkJLy8gSWYgbm90aGluZyBpcyBmdWxsc2NyZWVuLCB0aGVuIHdlIGNhbm5vdCBiZSBpbiBmdWxsc2NyZWVuIG1vZGUuCgkJCWlmKHRoaXMub3B0aW9ucy5mdWxsU2NyZWVuICYmICEkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbi5hcGkuZnVsbHNjcmVlbkVsZW1lbnQoKSkgewoJCQkJdGhpcy5fc2V0T3B0aW9uKCJmdWxsU2NyZWVuIiwgZmFsc2UpOwoJCQl9CgkJfSwKCQlfcmVxdWVzdEZ1bGxzY3JlZW46IGZ1bmN0aW9uKCkgewoJCQkvLyBFaXRoZXIgdGhlIGNvbnRhaW5lciBvciB0aGUgalBsYXllciBkaXYKCQkJdmFyIGUgPSB0aGlzLmFuY2VzdG9ySnEubGVuZ3RoID8gdGhpcy5hbmNlc3RvckpxWzBdIDogdGhpcy5lbGVtZW50WzBdLAoJCQkJZnMgPSAkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbjsKCgkJCS8vIFRoaXMgbWV0aG9kIG5lZWRzIHRoZSB2aWRlbyBlbGVtZW50LiBGb3IgaU9TIGFuZCBBbmRyb2lkLgoJCQlpZihmcy51c2VkLndlYmtpdFZpZGVvKSB7CgkJCQllID0gdGhpcy5odG1sRWxlbWVudC52aWRlbzsKCQkJfQoKCQkJaWYoZnMuYXBpLmZ1bGxzY3JlZW5FbmFibGVkKSB7CgkJCQlmcy5hcGkucmVxdWVzdEZ1bGxzY3JlZW4oZSk7CgkJCX0KCQl9LAoJCV9leGl0RnVsbHNjcmVlbjogZnVuY3Rpb24oKSB7CgoJCQl2YXIgZnMgPSAkLmpQbGF5ZXIubmF0aXZlRmVhdHVyZXMuZnVsbHNjcmVlbiwKCQkJCWU7CgoJCQkvLyBUaGlzIG1ldGhvZCBuZWVkcyB0aGUgdmlkZW8gZWxlbWVudC4gRm9yIGlPUyBhbmQgQW5kcm9pZC4KCQkJaWYoZnMudXNlZC53ZWJraXRWaWRlbykgewoJCQkJZSA9IHRoaXMuaHRtbEVsZW1lbnQudmlkZW87CgkJCX0KCgkJCWlmKGZzLmFwaS5mdWxsc2NyZWVuRW5hYmxlZCkgewoJCQkJZnMuYXBpLmV4aXRGdWxsc2NyZWVuKGUpOwoJCQl9CgkJfSwKCQlfaHRtbF9pbml0TWVkaWE6IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCS8vIFJlbW92ZSBhbnkgZXhpc3RpbmcgdHJhY2sgZWxlbWVudHMKCQkJdmFyICRtZWRpYSA9ICQodGhpcy5odG1sRWxlbWVudC5tZWRpYSkuZW1wdHkoKTsKCgkJCS8vIENyZWF0ZSBhbnkgdHJhY2sgZWxlbWVudHMgZ2l2ZW4gd2l0aCB0aGUgbWVkaWEsIGFzIGFuIEFycmF5IG9mIHRyYWNrIE9iamVjdHMuCgkJCSQuZWFjaChtZWRpYS50cmFjayB8fCBbXSwgZnVuY3Rpb24oaSx2KSB7CgkJCQl2YXIgdHJhY2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cmFjaycpOwoJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJraW5kIiwgdi5raW5kID8gdi5raW5kIDogIiIpOwoJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJzcmMiLCB2LnNyYyA/IHYuc3JjIDogIiIpOwoJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJzcmNsYW5nIiwgdi5zcmNsYW5nID8gdi5zcmNsYW5nIDogIiIpOwoJCQkJdHJhY2suc2V0QXR0cmlidXRlKCJsYWJlbCIsIHYubGFiZWwgPyB2LmxhYmVsIDogIiIpOwoJCQkJaWYodi5kZWYpIHsKCQkJCQl0cmFjay5zZXRBdHRyaWJ1dGUoImRlZmF1bHQiLCB2LmRlZik7CgkJCQl9CgkJCQkkbWVkaWEuYXBwZW5kKHRyYWNrKTsKCQkJfSk7CgoJCQl0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLnNyYyA9IHRoaXMuc3RhdHVzLnNyYzsKCgkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkICE9PSAnbm9uZScpIHsKCQkJCXRoaXMuX2h0bWxfbG9hZCgpOyAvLyBTZWUgZnVuY3Rpb24gZm9yIGNvbW1lbnRzCgkJCX0KCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQudGltZXVwZGF0ZSk7IC8vIFRoZSBmbGFzaCBnZW5lcmF0ZXMgdGhpcyBldmVudCBmb3IgaXRzIHNvbHV0aW9uLgoJCX0sCgkJX2h0bWxfc2V0Rm9ybWF0OiBmdW5jdGlvbihtZWRpYSkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJJC5lYWNoKHRoaXMuZm9ybWF0cywgZnVuY3Rpb24ocHJpb3JpdHksIGZvcm1hdCkgewoJCQkJaWYoc2VsZi5odG1sLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJc2VsZi5zdGF0dXMuc3JjID0gbWVkaWFbZm9ybWF0XTsKCQkJCQlzZWxmLnN0YXR1cy5mb3JtYXRbZm9ybWF0XSA9IHRydWU7CgkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoJCX0sCgkJX2h0bWxfc2V0QXVkaW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXRoaXMuX2h0bWxfc2V0Rm9ybWF0KG1lZGlhKTsKCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQuYXVkaW87CgkJCXRoaXMuX2h0bWxfaW5pdE1lZGlhKG1lZGlhKTsKCQl9LAoJCV9odG1sX3NldFZpZGVvOiBmdW5jdGlvbihtZWRpYSkgewoJCQl0aGlzLl9odG1sX3NldEZvcm1hdChtZWRpYSk7CgkJCWlmKHRoaXMuc3RhdHVzLm5hdGl2ZVZpZGVvQ29udHJvbHMpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQudmlkZW8ucG9zdGVyID0gdGhpcy5fdmFsaWRTdHJpbmcobWVkaWEucG9zdGVyKSA/IG1lZGlhLnBvc3RlciA6ICIiOwoJCQl9CgkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEgPSB0aGlzLmh0bWxFbGVtZW50LnZpZGVvOwoJCQl0aGlzLl9odG1sX2luaXRNZWRpYShtZWRpYSk7CgkJfSwKCQlfaHRtbF9yZXNldE1lZGlhOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5odG1sRWxlbWVudC5tZWRpYSkgewoJCQkJaWYodGhpcy5odG1sRWxlbWVudC5tZWRpYS5pZCA9PT0gdGhpcy5pbnRlcm5hbC52aWRlby5pZCAmJiAhdGhpcy5zdGF0dXMubmF0aXZlVmlkZW9Db250cm9scykgewoJCQkJCXRoaXMuaW50ZXJuYWwudmlkZW8uanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOwoJCQkJfQoJCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYS5wYXVzZSgpOwoJCQl9CgkJfSwKCQlfaHRtbF9jbGVhck1lZGlhOiBmdW5jdGlvbigpIHsKCQkJaWYodGhpcy5odG1sRWxlbWVudC5tZWRpYSkgewoJCQkJdGhpcy5odG1sRWxlbWVudC5tZWRpYS5zcmMgPSAiYWJvdXQ6YmxhbmsiOwoJCQkJLy8gVGhlIGZvbGxvd2luZyBsb2FkKCkgaXMgb25seSByZXF1aXJlZCBmb3IgRmlyZWZveCAzLjYgKFBvd2VyTWFjcykuCgkJCQkvLyBSZWNlbnQgSFRNbDUgYnJvd3NlcnMgb25seSByZXF1aXJlIHRoZSBzcmMgY2hhbmdlLiBEdWUgdG8gY2hhbmdlcyBpbiBXM0Mgc3BlYyBhbmQgbG9hZCgpIGVmZmVjdC4KCQkJCXRoaXMuaHRtbEVsZW1lbnQubWVkaWEubG9hZCgpOyAvLyBTdG9wcyBhbiBvbGQsICJpbiBwcm9ncmVzcyIgZG93bmxvYWQgZnJvbSBjb250aW51aW5nIHRoZSBkb3dubG9hZC4gVHJpZ2dlcnMgdGhlIGxvYWRzdGFydCwgZXJyb3IgYW5kIGVtcHRpZWQgZXZlbnRzLCBkdWUgdG8gdGhlIGVtcHR5IHNyYy4gQWxzbyBhbiBhYm9ydCBldmVudCBpZiBhIGRvd25sb2FkIHdhcyBpbiBwcm9ncmVzcy4KCQkJfQoJCX0sCgkJX2h0bWxfbG9hZDogZnVuY3Rpb24oKSB7CgkJCS8vIFRoaXMgZnVuY3Rpb24gcmVtYWlucyB0byBhbGxvdyB0aGUgZWFybHkgSFRNTDUgYnJvd3NlcnMgdG8gd29yaywgc3VjaCBhcyBGaXJlZm94IDMuNgoJCQkvLyBBIGNoYW5nZSBpbiB0aGUgVzNDIHNwZWMgZm9yIHRoZSBtZWRpYS5sb2FkKCkgY29tbWFuZCBtZWFucyB0aGF0IHRoaXMgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS4KCQkJLy8gVGhpcyBjb21tYW5kIHNob3VsZCBiZSByZW1vdmVkIGFuZCBhY3R1YWxseSBjYXVzZXMgbWlub3IgdW5kZXNpcmFibGUgZWZmZWN0cyBvbiBzb21lIGJyb3dzZXJzLiBTdWNoIGFzIGxvYWRpbmcgdGhlIHdob2xlIGZpbGUgYW5kIG5vdCBvbmx5IHRoZSBtZXRhZGF0YS4KCQkJaWYodGhpcy5zdGF0dXMud2FpdEZvckxvYWQpIHsKCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJCQl0aGlzLmh0bWxFbGVtZW50Lm1lZGlhLmxvYWQoKTsKCQkJfQoJCQljbGVhclRpbWVvdXQodGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQpOwoJCX0sCgkJX2h0bWxfcGxheTogZnVuY3Rpb24odGltZSkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQltZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQubWVkaWE7CgoJCQl0aGlzLl9odG1sX2xvYWQoKTsgLy8gTG9hZHMgaWYgcmVxdWlyZWQgYW5kIGNsZWFycyBhbnkgZGVsYXllZCBjb21tYW5kcy4KCgkJCWlmKCFpc05hTih0aW1lKSkgewoKCQkJCS8vIEF0dGVtcHQgdG8gcGxheSBpdCwgc2luY2UgaU9TIGhhcyBiZWVuIGlnbm9yaW5nIGNvbW1hbmRzCgkJCQlpZih0aGlzLmludGVybmFsLmNtZHNJZ25vcmVkKSB7CgkJCQkJbWVkaWEucGxheSgpOwoJCQkJfQoKCQkJCXRyeSB7CgkJCQkJLy8gIW1lZGlhLnNlZWthYmxlIGlzIGZvciBvbGQgSFRNTDUgYnJvd3NlcnMsIGxpa2UgRmlyZWZveCAzLjYuCgkJCQkJLy8gQ2hlY2tpbmcgc2Vla2FibGUubGVuZ3RoIGlzIGltcG9ydGFudCBmb3IgaU9TNiB0byB3b3JrIHdpdGggc2V0TWVkaWEoKS5wbGF5KHRpbWUpCgkJCQkJaWYoIW1lZGlhLnNlZWthYmxlIHx8IHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIgJiYgbWVkaWEuc2Vla2FibGUubGVuZ3RoID4gMCkgewoJCQkJCQltZWRpYS5jdXJyZW50VGltZSA9IHRpbWU7CgkJCQkJCW1lZGlhLnBsYXkoKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aHJvdyAxOwoJCQkJCX0KCQkJCX0gY2F0Y2goZXJyKSB7CgkJCQkJdGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQlzZWxmLnBsYXkodGltZSk7CgkJCQkJfSwgMjUwKTsKCQkJCQlyZXR1cm47IC8vIENhbmNlbCBleGVjdXRpb24gYW5kIHdhaXQgZm9yIHRoZSBkZWxheWVkIGNvbW1hbmQuCgkJCQl9CgkJCX0gZWxzZSB7CgkJCQltZWRpYS5wbGF5KCk7CgkJCX0KCQkJdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJfSwKCQlfaHRtbF9wYXVzZTogZnVuY3Rpb24odGltZSkgewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQltZWRpYSA9IHRoaXMuaHRtbEVsZW1lbnQubWVkaWE7CgkJCQoJCQlpZih0aW1lID4gMCkgeyAvLyBXZSBkbyBub3Qgd2FudCB0aGUgc3RvcCgpIGNvbW1hbmQsIHdoaWNoIGRvZXMgcGF1c2UoMCksIGNhdXNpbmcgYSBsb2FkIG9wZXJhdGlvbi4KCQkJCXRoaXMuX2h0bWxfbG9hZCgpOyAvLyBMb2FkcyBpZiByZXF1aXJlZCBhbmQgY2xlYXJzIGFueSBkZWxheWVkIGNvbW1hbmRzLgoJCQl9IGVsc2UgewoJCQkJY2xlYXJUaW1lb3V0KHRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkKTsKCQkJfQoKCQkJLy8gT3JkZXIgb2YgdGhlc2UgY29tbWFuZHMgaXMgaW1wb3J0YW50IGZvciBTYWZhcmkgKFdpbikgYW5kIElFOS4gUGF1c2UgdGhlbiBjaGFuZ2UgY3VycmVudFRpbWUuCgkJCW1lZGlhLnBhdXNlKCk7CgoJCQlpZighaXNOYU4odGltZSkpIHsKCQkJCXRyeSB7CgkJCQkJaWYoIW1lZGlhLnNlZWthYmxlIHx8IHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIgJiYgbWVkaWEuc2Vla2FibGUubGVuZ3RoID4gMCkgewoJCQkJCQltZWRpYS5jdXJyZW50VGltZSA9IHRpbWU7CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhyb3cgMTsKCQkJCQl9CgkJCQl9IGNhdGNoKGVycikgewoJCQkJCXRoaXMuaW50ZXJuYWwuaHRtbERseUNtZElkID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJc2VsZi5wYXVzZSh0aW1lKTsKCQkJCQl9LCAyNTApOwoJCQkJCXJldHVybjsgLy8gQ2FuY2VsIGV4ZWN1dGlvbiBhbmQgd2FpdCBmb3IgdGhlIGRlbGF5ZWQgY29tbWFuZC4KCQkJCX0KCQkJfQoJCQlpZih0aW1lID4gMCkgeyAvLyBBdm9pZHMgYSBzZXRNZWRpYSgpIGZvbGxvd2VkIGJ5IHN0b3AoKSBvciBwYXVzZSgwKSBoaWRpbmcgdGhlIHZpZGVvIHBsYXkgYnV0dG9uLgoJCQkJdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQl9LAoJCV9odG1sX3BsYXlIZWFkOiBmdW5jdGlvbihwZXJjZW50KSB7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCW1lZGlhID0gdGhpcy5odG1sRWxlbWVudC5tZWRpYTsKCgkJCXRoaXMuX2h0bWxfbG9hZCgpOyAvLyBMb2FkcyBpZiByZXF1aXJlZCBhbmQgY2xlYXJzIGFueSBkZWxheWVkIGNvbW1hbmRzLgoKCQkJdHJ5IHsKCQkJCWlmKHR5cGVvZiBtZWRpYS5zZWVrYWJsZSA9PT0gIm9iamVjdCIgJiYgbWVkaWEuc2Vla2FibGUubGVuZ3RoID4gMCkgewoJCQkJCW1lZGlhLmN1cnJlbnRUaW1lID0gcGVyY2VudCAqIG1lZGlhLnNlZWthYmxlLmVuZChtZWRpYS5zZWVrYWJsZS5sZW5ndGgtMSkgLyAxMDA7CgkJCQl9IGVsc2UgaWYobWVkaWEuZHVyYXRpb24gPiAwICYmICFpc05hTihtZWRpYS5kdXJhdGlvbikpIHsKCQkJCQltZWRpYS5jdXJyZW50VGltZSA9IHBlcmNlbnQgKiBtZWRpYS5kdXJhdGlvbiAvIDEwMDsKCQkJCX0gZWxzZSB7CgkJCQkJdGhyb3cgImUiOwoJCQkJfQoJCQl9IGNhdGNoKGVycikgewoJCQkJdGhpcy5pbnRlcm5hbC5odG1sRGx5Q21kSWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCXNlbGYucGxheUhlYWQocGVyY2VudCk7CgkJCQl9LCAyNTApOwoJCQkJcmV0dXJuOyAvLyBDYW5jZWwgZXhlY3V0aW9uIGFuZCB3YWl0IGZvciB0aGUgZGVsYXllZCBjb21tYW5kLgoJCQl9CgkJCWlmKCF0aGlzLnN0YXR1cy53YWl0Rm9yTG9hZCkgewoJCQkJdGhpcy5faHRtbF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQl9LAoJCV9odG1sX2NoZWNrV2FpdEZvclBsYXk6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgPSBmYWxzZTsKCQkJCWlmKHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCQkJdGhpcy5pbnRlcm5hbC52aWRlby5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9odG1sX3ZvbHVtZTogZnVuY3Rpb24odikgewoJCQlpZih0aGlzLmh0bWwuYXVkaW8uYXZhaWxhYmxlKSB7CgkJCQl0aGlzLmh0bWxFbGVtZW50LmF1ZGlvLnZvbHVtZSA9IHY7CgkJCX0KCQkJaWYodGhpcy5odG1sLnZpZGVvLmF2YWlsYWJsZSkgewoJCQkJdGhpcy5odG1sRWxlbWVudC52aWRlby52b2x1bWUgPSB2OwoJCQl9CgkJfSwKCQlfaHRtbF9tdXRlOiBmdW5jdGlvbihtKSB7CgkJCWlmKHRoaXMuaHRtbC5hdWRpby5hdmFpbGFibGUpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQuYXVkaW8ubXV0ZWQgPSBtOwoJCQl9CgkJCWlmKHRoaXMuaHRtbC52aWRlby5hdmFpbGFibGUpIHsKCQkJCXRoaXMuaHRtbEVsZW1lbnQudmlkZW8ubXV0ZWQgPSBtOwoJCQl9CgkJfSwKCQlfZmxhc2hfc2V0QXVkaW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdHJ5IHsKCQkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCQlpZihzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJCXN3aXRjaCAoZm9ybWF0KSB7CgkJCQkJCQljYXNlICJtNGEiIDoKCQkJCQkJCWNhc2UgImZsYSIgOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0QXVkaW9fbTRhKG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJY2FzZSAibXAzIiA6CgkJCQkJCQkJc2VsZi5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19tcDMobWVkaWFbZm9ybWF0XSk7CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQljYXNlICJydG1wYSI6CgkJCQkJCQkJc2VsZi5fZ2V0TW92aWUoKS5mbF9zZXRBdWRpb19ydG1wKG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkID09PSAnYXV0bycpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfc2V0VmlkZW86IGZ1bmN0aW9uKG1lZGlhKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdHJ5IHsKCQkJCS8vIEFsd2F5cyBmaW5kcyBhIGZvcm1hdCBkdWUgdG8gY2hlY2tzIGluIHNldE1lZGlhKCkKCQkJCSQuZWFjaCh0aGlzLmZvcm1hdHMsIGZ1bmN0aW9uKHByaW9yaXR5LCBmb3JtYXQpIHsKCQkJCQlpZihzZWxmLmZsYXNoLnN1cHBvcnRbZm9ybWF0XSAmJiBtZWRpYVtmb3JtYXRdKSB7CgkJCQkJCXN3aXRjaCAoZm9ybWF0KSB7CgkJCQkJCQljYXNlICJtNHYiIDoKCQkJCQkJCWNhc2UgImZsdiIgOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0VmlkZW9fbTR2KG1lZGlhW2Zvcm1hdF0pOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJY2FzZSAicnRtcHYiOgoJCQkJCQkJCXNlbGYuX2dldE1vdmllKCkuZmxfc2V0VmlkZW9fcnRtcChtZWRpYVtmb3JtYXRdKTsKCQkJCQkJCQlicmVhazsJCQoJCQkJCQl9CgkJCQkJCXNlbGYuc3RhdHVzLnNyYyA9IG1lZGlhW2Zvcm1hdF07CgkJCQkJCXNlbGYuc3RhdHVzLmZvcm1hdFtmb3JtYXRdID0gdHJ1ZTsKCQkJCQkJc2VsZi5zdGF0dXMuZm9ybWF0VHlwZSA9IGZvcm1hdDsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmKHRoaXMub3B0aW9ucy5wcmVsb2FkID09PSAnYXV0bycpIHsKCQkJCQl0aGlzLl9mbGFzaF9sb2FkKCk7CgkJCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJCX0KCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfcmVzZXRNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaW50ZXJuYWwuZmxhc2guanEuY3NzKHsnd2lkdGgnOicwcHgnLCAnaGVpZ2h0JzonMHB4J30pOyAvLyBNdXN0IGRvIHZpYSBDU1MgYXMgc2V0dGluZyBhdHRyKCkgdG8gemVybyBjYXVzZXMgYSBqUXVlcnkgZXJyb3IgaW4gSUUuCgkJCXRoaXMuX2ZsYXNoX3BhdXNlKE5hTik7CgkJfSwKCQlfZmxhc2hfY2xlYXJNZWRpYTogZnVuY3Rpb24oKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX2NsZWFyTWVkaWEoKTsKCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJfSwKCQlfZmxhc2hfbG9hZDogZnVuY3Rpb24oKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX2xvYWQoKTsKCQkJfSBjYXRjaChlcnIpIHsgdGhpcy5fZmxhc2hFcnJvcihlcnIpOyB9CgkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJfSwKCQlfZmxhc2hfcGxheTogZnVuY3Rpb24odGltZSkgewoJCQl0cnkgewoJCQkJdGhpcy5fZ2V0TW92aWUoKS5mbF9wbGF5KHRpbWUpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQkJdGhpcy5zdGF0dXMud2FpdEZvckxvYWQgPSBmYWxzZTsKCQkJdGhpcy5fZmxhc2hfY2hlY2tXYWl0Rm9yUGxheSgpOwoJCX0sCgkJX2ZsYXNoX3BhdXNlOiBmdW5jdGlvbih0aW1lKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX3BhdXNlKHRpbWUpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQkJaWYodGltZSA+IDApIHsgLy8gQXZvaWRzIGEgc2V0TWVkaWEoKSBmb2xsb3dlZCBieSBzdG9wKCkgb3IgcGF1c2UoMCkgaGlkaW5nIHRoZSB2aWRlbyBwbGF5IGJ1dHRvbi4KCQkJCXRoaXMuc3RhdHVzLndhaXRGb3JMb2FkID0gZmFsc2U7CgkJCQl0aGlzLl9mbGFzaF9jaGVja1dhaXRGb3JQbGF5KCk7CgkJCX0KCQl9LAoJCV9mbGFzaF9wbGF5SGVhZDogZnVuY3Rpb24ocCkgewoJCQl0cnkgewoJCQkJdGhpcy5fZ2V0TW92aWUoKS5mbF9wbGF5X2hlYWQocCk7CgkJCX0gY2F0Y2goZXJyKSB7IHRoaXMuX2ZsYXNoRXJyb3IoZXJyKTsgfQoJCQlpZighdGhpcy5zdGF0dXMud2FpdEZvckxvYWQpIHsKCQkJCXRoaXMuX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXkoKTsKCQkJfQoJCX0sCgkJX2ZsYXNoX2NoZWNrV2FpdEZvclBsYXk6IGZ1bmN0aW9uKCkgewoJCQlpZih0aGlzLnN0YXR1cy53YWl0Rm9yUGxheSkgewoJCQkJdGhpcy5zdGF0dXMud2FpdEZvclBsYXkgPSBmYWxzZTsKCQkJCWlmKHRoaXMuY3NzLmpxLnZpZGVvUGxheS5sZW5ndGgpIHsKCQkJCQl0aGlzLmNzcy5qcS52aWRlb1BsYXkuaGlkZSgpOwoJCQkJfQoJCQkJaWYodGhpcy5zdGF0dXMudmlkZW8pIHsKCQkJCQl0aGlzLmludGVybmFsLnBvc3Rlci5qcS5oaWRlKCk7CgkJCQkJdGhpcy5pbnRlcm5hbC5mbGFzaC5qcS5jc3Moeyd3aWR0aCc6IHRoaXMuc3RhdHVzLndpZHRoLCAnaGVpZ2h0JzogdGhpcy5zdGF0dXMuaGVpZ2h0fSk7CgkJCQl9CgkJCX0KCQl9LAoJCV9mbGFzaF92b2x1bWU6IGZ1bmN0aW9uKHYpIHsKCQkJdHJ5IHsKCQkJCXRoaXMuX2dldE1vdmllKCkuZmxfdm9sdW1lKHYpOwoJCQl9IGNhdGNoKGVycikgeyB0aGlzLl9mbGFzaEVycm9yKGVycik7IH0KCQl9LAoJCV9mbGFzaF9tdXRlOiBmdW5jdGlvbihtKSB7CgkJCXRyeSB7CgkJCQl0aGlzLl9nZXRNb3ZpZSgpLmZsX211dGUobSk7CgkJCX0gY2F0Y2goZXJyKSB7IHRoaXMuX2ZsYXNoRXJyb3IoZXJyKTsgfQoJCX0sCgkJX2dldE1vdmllOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIGRvY3VtZW50W3RoaXMuaW50ZXJuYWwuZmxhc2guaWRdOwoJCX0sCgkJX2dldEZsYXNoUGx1Z2luVmVyc2lvbjogZnVuY3Rpb24oKSB7CgoJCQkvLyBfZ2V0Rmxhc2hQbHVnaW5WZXJzaW9uKCkgY29kZSBpbmZsdWVuY2VkIGJ5OgoJCQkvLyAtIEZsYXNoUmVwbGFjZSAxLjAxOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmxhc2hyZXBsYWNlLwoJCQkvLyAtIFNXRk9iamVjdCAyLjI6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9zd2ZvYmplY3QvCgoJCQl2YXIgdmVyc2lvbiA9IDAsCgkJCQlmbGFzaDsKCQkJaWYod2luZG93LkFjdGl2ZVhPYmplY3QpIHsKCQkJCXRyeSB7CgkJCQkJZmxhc2ggPSBuZXcgQWN0aXZlWE9iamVjdCgiU2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2giKTsKCQkJCQlpZiAoZmxhc2gpIHsgLy8gZmxhc2ggd2lsbCByZXR1cm4gbnVsbCB3aGVuIEFjdGl2ZVggaXMgZGlzYWJsZWQKCQkJCQkJdmFyIHYgPSBmbGFzaC5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKTsKCQkJCQkJaWYodikgewoJCQkJCQkJdiA9IHYuc3BsaXQoIiAiKVsxXS5zcGxpdCgiLCIpOwoJCQkJCQkJdmVyc2lvbiA9IHBhcnNlSW50KHZbMF0sIDEwKSArICIuIiArIHBhcnNlSW50KHZbMV0sIDEwKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gY2F0Y2goZSkge30KCQkJfQoJCQllbHNlIGlmKG5hdmlnYXRvci5wbHVnaW5zICYmIG5hdmlnYXRvci5taW1lVHlwZXMubGVuZ3RoID4gMCkgewoJCQkJZmxhc2ggPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl07CgkJCQlpZihmbGFzaCkgewoJCQkJCXZlcnNpb24gPSBuYXZpZ2F0b3IucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl0uZGVzY3JpcHRpb24ucmVwbGFjZSgvLipccyhcZCtcLlxkKykuKi8sICIkMSIpOwoJCQkJfQoJCQl9CgkJCXJldHVybiB2ZXJzaW9uICogMTsgLy8gQ29udmVydHMgdG8gYSBudW1iZXIKCQl9LAoJCV9jaGVja0ZvckZsYXNoOiBmdW5jdGlvbiAodmVyc2lvbikgewoJCQl2YXIgZmxhc2hPayA9IGZhbHNlOwoJCQlpZih0aGlzLl9nZXRGbGFzaFBsdWdpblZlcnNpb24oKSA+PSB2ZXJzaW9uKSB7CgkJCQlmbGFzaE9rID0gdHJ1ZTsKCQkJfQoJCQlyZXR1cm4gZmxhc2hPazsKCQl9LAoJCV92YWxpZFN0cmluZzogZnVuY3Rpb24odXJsKSB7CgkJCXJldHVybiAodXJsICYmIHR5cGVvZiB1cmwgPT09ICJzdHJpbmciKTsgLy8gRW1wdHkgc3RyaW5ncyByZXR1cm4gZmFsc2UKCQl9LAoJCV9saW1pdFZhbHVlOiBmdW5jdGlvbih2YWx1ZSwgbWluLCBtYXgpIHsKCQkJcmV0dXJuICh2YWx1ZSA8IG1pbikgPyBtaW4gOiAoKHZhbHVlID4gbWF4KSA/IG1heCA6IHZhbHVlKTsKCQl9LAoJCV91cmxOb3RTZXRFcnJvcjogZnVuY3Rpb24oY29udGV4dCkgewoJCQl0aGlzLl9lcnJvciggewoJCQkJdHlwZTogJC5qUGxheWVyLmVycm9yLlVSTF9OT1RfU0VULAoJCQkJY29udGV4dDogY29udGV4dCwKCQkJCW1lc3NhZ2U6ICQualBsYXllci5lcnJvck1zZy5VUkxfTk9UX1NFVCwKCQkJCWhpbnQ6ICQualBsYXllci5lcnJvckhpbnQuVVJMX05PVF9TRVQKCQkJfSk7CgkJfSwKCQlfZmxhc2hFcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKCQkJdmFyIGVycm9yVHlwZTsKCQkJaWYoIXRoaXMuaW50ZXJuYWwucmVhZHkpIHsKCQkJCWVycm9yVHlwZSA9ICJGTEFTSCI7CgkJCX0gZWxzZSB7CgkJCQllcnJvclR5cGUgPSAiRkxBU0hfRElTQUJMRUQiOwoJCQl9CgkJCXRoaXMuX2Vycm9yKCB7CgkJCQl0eXBlOiAkLmpQbGF5ZXIuZXJyb3JbZXJyb3JUeXBlXSwKCQkJCWNvbnRleHQ6IHRoaXMuaW50ZXJuYWwuZmxhc2guc3dmLAoJCQkJbWVzc2FnZTogJC5qUGxheWVyLmVycm9yTXNnW2Vycm9yVHlwZV0gKyBlcnJvci5tZXNzYWdlLAoJCQkJaGludDogJC5qUGxheWVyLmVycm9ySGludFtlcnJvclR5cGVdCgkJCX0pOwoJCQkvLyBBbGxvdyB0aGUgYXVkaW8gcGxheWVyIHRvIHJlY292ZXIgaWYgZGlzcGxheTpub25lIGFuZCB0aGVuIHNob3duIGFnYWluLCBvciB3aXRoIHBvc2l0aW9uOmZpeGVkIG9uIEZpcmVmb3guCgkJCS8vIFRoaXMgcmVhbGx5IG9ubHkgYWZmZWN0cyBhdWRpbyBpbiBhIG1lZGlhIHBsYXllciwgYXMgYW4gYXVkaW8gcGxheWVyIGNvdWxkIGVhc2lseSBtb3ZlIHRoZSBqUGxheWVyIGVsZW1lbnQgYXdheSBmcm9tIHN1Y2ggaXNzdWVzLgoJCQl0aGlzLmludGVybmFsLmZsYXNoLmpxLmNzcyh7J3dpZHRoJzonMXB4JywgJ2hlaWdodCc6JzFweCd9KTsKCQl9LAoJCV9lcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKCQkJdGhpcy5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQuZXJyb3IsIGVycm9yKTsKCQkJaWYodGhpcy5vcHRpb25zLmVycm9yQWxlcnRzKSB7CgkJCQl0aGlzLl9hbGVydCgiRXJyb3IhIiArIChlcnJvci5tZXNzYWdlID8gIlxuXG4iICsgZXJyb3IubWVzc2FnZSA6ICIiKSArIChlcnJvci5oaW50ID8gIlxuXG4iICsgZXJyb3IuaGludCA6ICIiKSArICJcblxuQ29udGV4dDogIiArIGVycm9yLmNvbnRleHQpOwoJCQl9CgkJfSwKCQlfd2FybmluZzogZnVuY3Rpb24od2FybmluZykgewoJCQl0aGlzLl90cmlnZ2VyKCQualBsYXllci5ldmVudC53YXJuaW5nLCB1bmRlZmluZWQsIHdhcm5pbmcpOwoJCQlpZih0aGlzLm9wdGlvbnMud2FybmluZ0FsZXJ0cykgewoJCQkJdGhpcy5fYWxlcnQoIldhcm5pbmchIiArICh3YXJuaW5nLm1lc3NhZ2UgPyAiXG5cbiIgKyB3YXJuaW5nLm1lc3NhZ2UgOiAiIikgKyAod2FybmluZy5oaW50ID8gIlxuXG4iICsgd2FybmluZy5oaW50IDogIiIpICsgIlxuXG5Db250ZXh0OiAiICsgd2FybmluZy5jb250ZXh0KTsKCQkJfQoJCX0sCgkJX2FsZXJ0OiBmdW5jdGlvbihtZXNzYWdlKSB7CgkJCWFsZXJ0KCJqUGxheWVyICIgKyB0aGlzLnZlcnNpb24uc2NyaXB0ICsgIiA6IGlkPSciICsgdGhpcy5pbnRlcm5hbC5zZWxmLmlkICsiJyA6ICIgKyBtZXNzYWdlKTsKCQl9LAoJCV9lbXVsYXRlSHRtbEJyaWRnZTogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCS8vIEVtdWxhdGUgbWV0aG9kcyBvbiBqUGxheWVyJ3MgRE9NIGVsZW1lbnQuCgkJCSQuZWFjaCggJC5qUGxheWVyLmVtdWxhdGVNZXRob2RzLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCXNlbGYuaW50ZXJuYWwuZG9tTm9kZVtuYW1lXSA9IGZ1bmN0aW9uKGFyZykgewoJCQkJCXNlbGZbbmFtZV0oYXJnKTsKCQkJCX07CgoJCQl9KTsKCgkJCS8vIEJ1YmJsZSBqUGxheWVyIGV2ZW50cyB0byBpdHMgRE9NIGVsZW1lbnQuCgkJCSQuZWFjaCgkLmpQbGF5ZXIuZXZlbnQsIGZ1bmN0aW9uKGV2ZW50TmFtZSxldmVudFR5cGUpIHsKCQkJCXZhciBuYXRpdmVFdmVudCA9IHRydWU7CgkJCQkkLmVhY2goICQualBsYXllci5yZXNlcnZlZEV2ZW50LnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCQlpZihuYW1lID09PSBldmVudE5hbWUpIHsKCQkJCQkJbmF0aXZlRXZlbnQgPSBmYWxzZTsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0pOwoJCQkJaWYobmF0aXZlRXZlbnQpIHsKCQkJCQlzZWxmLmVsZW1lbnQuYmluZChldmVudFR5cGUgKyAiLmpQbGF5ZXIualBsYXllckh0bWwiLCBmdW5jdGlvbigpIHsgLy8gV2l0aCAualBsYXllciAmIC5qUGxheWVySHRtbCBuYW1lc3BhY2VzLgoJCQkJCQlzZWxmLl9lbXVsYXRlSHRtbFVwZGF0ZSgpOwoJCQkJCQl2YXIgZG9tRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTsKCQkJCQkJZG9tRXZlbnQuaW5pdEV2ZW50KGV2ZW50TmFtZSwgZmFsc2UsIHRydWUpOwoJCQkJCQlzZWxmLmludGVybmFsLmRvbU5vZGUuZGlzcGF0Y2hFdmVudChkb21FdmVudCk7CgkJCQkJfSk7CgkJCQl9CgkJCQkvLyBUaGUgZXJyb3IgZXZlbnQgd291bGQgcmVxdWlyZSBhIHNwZWNpYWwgY2FzZQoJCQl9KTsKCgkJCS8vIElFOSBoYXMgYSByZWFkeVN0YXRlIHByb3BlcnR5IG9uIGFsbCBlbGVtZW50cy4gVGhlIGRvY3VtZW50IHNob3VsZCBoYXZlIGl0LCBidXQgYWxsIChleGNlcHQgbWVkaWEpIGVsZW1lbnRzIGluaGVyaXQgaXQgaW4gSUU5LiBUaGlzIGNvbmZsaWN0cyB3aXRoIFBvcGNvcm4sIHdoaWNoIHBvbGxzIHRoZSByZWFkeVN0YXRlLgoJCX0sCgkJX2VtdWxhdGVIdG1sVXBkYXRlOiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJJC5lYWNoKCAkLmpQbGF5ZXIuZW11bGF0ZVN0YXR1cy5zcGxpdCgvXHMrL2cpLCBmdW5jdGlvbihpLCBuYW1lKSB7CgkJCQlzZWxmLmludGVybmFsLmRvbU5vZGVbbmFtZV0gPSBzZWxmLnN0YXR1c1tuYW1lXTsKCQkJfSk7CgkJCSQuZWFjaCggJC5qUGxheWVyLmVtdWxhdGVPcHRpb25zLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCXNlbGYuaW50ZXJuYWwuZG9tTm9kZVtuYW1lXSA9IHNlbGYub3B0aW9uc1tuYW1lXTsKCQkJfSk7CgkJfSwKCQlfZGVzdHJveUh0bWxCcmlkZ2U6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkvLyBCcmlkZ2UgZXZlbnQgaGFuZGxlcnMgYXJlIGFsc28gcmVtb3ZlZCBieSBkZXN0cm95KCkgdGhyb3VnaCAualBsYXllciBuYW1lc3BhY2UuCgkJCXRoaXMuZWxlbWVudC51bmJpbmQoIi5qUGxheWVySHRtbCIpOyAvLyBSZW1vdmUgYWxsIGV2ZW50IGhhbmRsZXJzIGNyZWF0ZWQgYnkgdGhlIGpQbGF5ZXIgYnJpZGdlLiBTbyB5b3UgY2FuIGNoYW5nZSB0aGUgZW11bGF0ZUh0bWwgb3B0aW9uLgoKCQkJLy8gUmVtb3ZlIHRoZSBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzCgkJCXZhciBlbXVsYXRlZCA9ICQualBsYXllci5lbXVsYXRlTWV0aG9kcyArICIgIiArICQualBsYXllci5lbXVsYXRlU3RhdHVzICsgIiAiICsgJC5qUGxheWVyLmVtdWxhdGVPcHRpb25zOwoJCQkkLmVhY2goIGVtdWxhdGVkLnNwbGl0KC9ccysvZyksIGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJCWRlbGV0ZSBzZWxmLmludGVybmFsLmRvbU5vZGVbbmFtZV07CgkJCX0pOwoJCX0KCX07CgoJJC5qUGxheWVyLmVycm9yID0gewoJCUZMQVNIOiAiZV9mbGFzaCIsCgkJRkxBU0hfRElTQUJMRUQ6ICJlX2ZsYXNoX2Rpc2FibGVkIiwKCQlOT19TT0xVVElPTjogImVfbm9fc29sdXRpb24iLAoJCU5PX1NVUFBPUlQ6ICJlX25vX3N1cHBvcnQiLAoJCVVSTDogImVfdXJsIiwKCQlVUkxfTk9UX1NFVDogImVfdXJsX25vdF9zZXQiLAoJCVZFUlNJT046ICJlX3ZlcnNpb24iCgl9OwoKCSQualBsYXllci5lcnJvck1zZyA9IHsKCQlGTEFTSDogImpQbGF5ZXIncyBGbGFzaCBmYWxsYmFjayBpcyBub3QgY29uZmlndXJlZCBjb3JyZWN0bHksIG9yIGEgY29tbWFuZCB3YXMgaXNzdWVkIGJlZm9yZSB0aGUgalBsYXllciBSZWFkeSBldmVudC4gRGV0YWlsczogIiwgLy8gVXNlZCBpbjogX2ZsYXNoRXJyb3IoKQoJCUZMQVNIX0RJU0FCTEVEOiAialBsYXllcidzIEZsYXNoIGZhbGxiYWNrIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBicm93c2VyIGR1ZSB0byB0aGUgQ1NTIHJ1bGVzIHlvdSBoYXZlIHVzZWQuIERldGFpbHM6ICIsIC8vIFVzZWQgaW46IF9mbGFzaEVycm9yKCkKCQlOT19TT0xVVElPTjogIk5vIHNvbHV0aW9uIGNhbiBiZSBmb3VuZCBieSBqUGxheWVyIGluIHRoaXMgYnJvd3Nlci4gTmVpdGhlciBIVE1MIG5vciBGbGFzaCBjYW4gYmUgdXNlZC4iLCAvLyBVc2VkIGluOiBfaW5pdCgpCgkJTk9fU1VQUE9SVDogIkl0IGlzIG5vdCBwb3NzaWJsZSB0byBwbGF5IGFueSBtZWRpYSBmb3JtYXQgcHJvdmlkZWQgaW4gc2V0TWVkaWEoKSBvbiB0aGlzIGJyb3dzZXIgdXNpbmcgeW91ciBjdXJyZW50IG9wdGlvbnMuIiwgLy8gVXNlZCBpbjogc2V0TWVkaWEoKQoJCVVSTDogIk1lZGlhIFVSTCBjb3VsZCBub3QgYmUgbG9hZGVkLiIsIC8vIFVzZWQgaW46IGpQbGF5ZXJGbGFzaEV2ZW50KCkgYW5kIF9hZGRIdG1sRXZlbnRMaXN0ZW5lcnMoKQoJCVVSTF9OT1RfU0VUOiAiQXR0ZW1wdCB0byBpc3N1ZSBtZWRpYSBwbGF5YmFjayBjb21tYW5kcywgd2hpbGUgbm8gbWVkaWEgdXJsIGlzIHNldC4iLCAvLyBVc2VkIGluOiBsb2FkKCksIHBsYXkoKSwgcGF1c2UoKSwgc3RvcCgpIGFuZCBwbGF5SGVhZCgpCgkJVkVSU0lPTjogImpQbGF5ZXIgIiArICQualBsYXllci5wcm90b3R5cGUudmVyc2lvbi5zY3JpcHQgKyAiIG5lZWRzIEpwbGF5ZXIuc3dmIHZlcnNpb24gIiArICQualBsYXllci5wcm90b3R5cGUudmVyc2lvbi5uZWVkRmxhc2ggKyAiIGJ1dCBmb3VuZCAiIC8vIFVzZWQgaW46IGpQbGF5ZXJSZWFkeSgpCgl9OwoKCSQualBsYXllci5lcnJvckhpbnQgPSB7CgkJRkxBU0g6ICJDaGVjayB5b3VyIHN3ZlBhdGggb3B0aW9uIGFuZCB0aGF0IEpwbGF5ZXIuc3dmIGlzIHRoZXJlLiIsCgkJRkxBU0hfRElTQUJMRUQ6ICJDaGVjayB0aGF0IHlvdSBoYXZlIG5vdCBkaXNwbGF5Om5vbmU7IHRoZSBqUGxheWVyIGVudGl0eSBvciBhbnkgYW5jZXN0b3IuIiwKCQlOT19TT0xVVElPTjogIlJldmlldyB0aGUgalBsYXllciBvcHRpb25zOiBzdXBwb3J0IGFuZCBzdXBwbGllZC4iLAoJCU5PX1NVUFBPUlQ6ICJWaWRlbyBvciBhdWRpbyBmb3JtYXRzIGRlZmluZWQgaW4gdGhlIHN1cHBsaWVkIG9wdGlvbiBhcmUgbWlzc2luZy4iLAoJCVVSTDogIkNoZWNrIG1lZGlhIFVSTCBpcyB2YWxpZC4iLAoJCVVSTF9OT1RfU0VUOiAiVXNlIHNldE1lZGlhKCkgdG8gc2V0IHRoZSBtZWRpYSBVUkwuIiwKCQlWRVJTSU9OOiAiVXBkYXRlIGpQbGF5ZXIgZmlsZXMuIgoJfTsKCgkkLmpQbGF5ZXIud2FybmluZyA9IHsKCQlDU1NfU0VMRUNUT1JfQ09VTlQ6ICJlX2Nzc19zZWxlY3Rvcl9jb3VudCIsCgkJQ1NTX1NFTEVDVE9SX01FVEhPRDogImVfY3NzX3NlbGVjdG9yX21ldGhvZCIsCgkJQ1NTX1NFTEVDVE9SX1NUUklORzogImVfY3NzX3NlbGVjdG9yX3N0cmluZyIsCgkJT1BUSU9OX0tFWTogImVfb3B0aW9uX2tleSIKCX07CgoJJC5qUGxheWVyLndhcm5pbmdNc2cgPSB7CgkJQ1NTX1NFTEVDVE9SX0NPVU5UOiAiVGhlIG51bWJlciBvZiBjc3Mgc2VsZWN0b3JzIGZvdW5kIGRpZCBub3QgZXF1YWwgb25lOiAiLAoJCUNTU19TRUxFQ1RPUl9NRVRIT0Q6ICJUaGUgbWV0aG9kTmFtZSBnaXZlbiBpbiBqUGxheWVyKCdjc3NTZWxlY3RvcicpIGlzIG5vdCBhIHZhbGlkIGpQbGF5ZXIgbWV0aG9kLiIsCgkJQ1NTX1NFTEVDVE9SX1NUUklORzogIlRoZSBtZXRob2RDc3NTZWxlY3RvciBnaXZlbiBpbiBqUGxheWVyKCdjc3NTZWxlY3RvcicpIGlzIG5vdCBhIFN0cmluZyBvciBpcyBlbXB0eS4iLAoJCU9QVElPTl9LRVk6ICJUaGUgb3B0aW9uIHJlcXVlc3RlZCBpbiBqUGxheWVyKCdvcHRpb24nKSBpcyB1bmRlZmluZWQuIgoJfTsKCgkkLmpQbGF5ZXIud2FybmluZ0hpbnQgPSB7CgkJQ1NTX1NFTEVDVE9SX0NPVU5UOiAiQ2hlY2sgeW91ciBjc3Mgc2VsZWN0b3IgYW5kIHRoZSBhbmNlc3Rvci4iLAoJCUNTU19TRUxFQ1RPUl9NRVRIT0Q6ICJDaGVjayB5b3VyIG1ldGhvZCBuYW1lLiIsCgkJQ1NTX1NFTEVDVE9SX1NUUklORzogIkNoZWNrIHlvdXIgY3NzIHNlbGVjdG9yIGlzIGEgc3RyaW5nLiIsCgkJT1BUSU9OX0tFWTogIkNoZWNrIHlvdXIgb3B0aW9uIG5hbWUuIgoJfTsKfSkpOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/MIT-LICENSE.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBIYXBweXdvcm0gTHRkCmh0dHA6Ly9oYXBweXdvcm0uY29tCmh0dHA6Ly9qcGxheWVyLm9yZwoKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQpvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAppbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCnRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgpUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgphbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLApGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgpMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLApPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOClRIRSBTT0ZUV0FSRS4=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/package.json</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ewogICJuYW1lIjogImpwbGF5ZXIiLAogICJ2ZXJzaW9uIjogIjIuNC4wIiwKICAiZGVzY3JpcHRpb24iOiAiVGhlIGpRdWVyeSBIVE1MNSBBdWRpbyAvIFZpZGVvIExpYnJhcnkiLAogICJob21lcGFnZSI6ICJodHRwOi8vd3d3LmpwbGF5ZXIub3JnLyIsCiAgImtleXdvcmRzIjogWwogICAgImF1ZGlvIiwKICAgICJ2aWRlbyIKICBdLAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAianF1ZXJ5IjogIj4xLjcuMCIKICB9LAogICJsaWNlbnNlcyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiTUlUIiwKICAgICAgInVybCI6ICJodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCIKICAgIH0KICBdLAogICJyZXBvc2l0b3JpZXMiOiBbCiAgICB7CiAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcHB5d29ybS9qUGxheWVyLmdpdCIKICAgIH0KICBdLAogICJnaXRodWIiOiAiaHR0cDovL2dpdGh1Yi5jb20vaGFwcHl3b3JtL2pQbGF5ZXIiLAogICJtYWluIjogImpxdWVyeS5qcGxheWVyL2pxdWVyeS5qcGxheWVyLmpzIgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/player/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/player/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/player/popcorn.jplayer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbGF5ZXIgUGx1Z2luIGZvciBQb3Bjb3JuIEphdmFTY3JpcHQgTGlicmFyeQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMyBIYXBweXdvcm0gTHRkCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4KICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKgogKiBBdXRob3I6IE1hcmsgSiBQYW5hZ2hpc3RvbgogKiBWZXJzaW9uOiAxLjEuMQogKiBEYXRlOiA1dGggSnVuZSAyMDEzCiAqCiAqIEZvciBQb3Bjb3JuIFZlcnNpb246IDEuMwogKiBGb3IgalBsYXllciBWZXJzaW9uOiAyLjQuMAogKiBSZXF1aXJlczogalF1ZXJ5IDEuMy4yKwogKiBOb3RlOiBqUXVlcnkgZGVwZW5kYW5jeSBjYW5ub3QgYmUgcmVtb3ZlZCBzaW5jZSBqUGxheWVyIDIgaXMgYSBqUXVlcnkgcGx1Z2luLiBVc2Ugb2YgalF1ZXJ5IHdpbGwgYmUga2VwdCB0byBhIG1pbmltdW0uCiAqLwoKLyogQ29kZSB2ZXJpZmllZCB1c2luZyBodHRwOi8vd3d3LmpzaGludC5jb20vICovCi8qanNoaW50IGFzaTpmYWxzZSwgYml0d2lzZTpmYWxzZSwgYm9zczpmYWxzZSwgYnJvd3Nlcjp0cnVlLCBjdXJseTpmYWxzZSwgZGVidWc6ZmFsc2UsIGVxZXFlcTp0cnVlLCBlcW51bGw6ZmFsc2UsIGV2aWw6ZmFsc2UsIGZvcmluOmZhbHNlLCBpbW1lZDpmYWxzZSwganF1ZXJ5OnRydWUsIGxheGJyZWFrOmZhbHNlLCBuZXdjYXA6dHJ1ZSwgbm9hcmc6dHJ1ZSwgbm9lbXB0eTp0cnVlLCBub25ldzp0cnVlLCBvbmV2YXI6ZmFsc2UsIHBhc3NmYWlsOmZhbHNlLCBwbHVzcGx1czpmYWxzZSwgcmVnZXhwOmZhbHNlLCB1bmRlZjp0cnVlLCBzdWI6ZmFsc2UsIHN0cmljdDpmYWxzZSwgd2hpdGU6ZmFsc2UsIHNtYXJ0dGFiczp0cnVlICovCi8qZ2xvYmFsIFBvcGNvcm46ZmFsc2UsIGNvbnNvbGU6ZmFsc2UgKi8KCihmdW5jdGlvbihQb3Bjb3JuKSB7CgoJdmFyIEpRVUVSWV9TQ1JJUFQgPSAnaHR0cDovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjgvanF1ZXJ5Lm1pbi5qcycsIC8vIFVzZWQgaWYgalF1ZXJ5IG5vdCBhbHJlYWR5IHByZXNlbnQuCglKUExBWUVSX1NDUklQVCA9ICdodHRwOi8vd3d3LmpwbGF5ZXIub3JnLzIuNC4wL2pzL2pxdWVyeS5qcGxheWVyLm1pbi5qcycsIC8vIFVzZWQgaWYgalBsYXllciBub3QgYWxyZWFkeSBwcmVzZW50LgoJSlBMQVlFUl9TV0ZQQVRIID0gJ2h0dHA6Ly93d3cuanBsYXllci5vcmcvMi40LjAvanMvSnBsYXllci5zd2YnLCAvLyBVc2VkIGlmIG5vdCBzcGVjaWZpZWQgaW4galBsYXllciBvcHRpb25zIHZpYSBTUkMgT2JqZWN0LgoJU09MVVRJT04gPSAnaHRtbCxmbGFzaCcsIC8vIFRoZSBkZWZhdWx0IHNvbHV0aW9uIG9wdGlvbi4KCURFQlVHID0gZmFsc2UsIC8vIERlY2lkZWQgdG8gbGVhdmUgdGhlIGRlYnVnZ2luZyBvcHRpb24gYW5kIGNvbnNvbGUgb3V0cHV0IGluIGZvciB0aGUgdGltZSBiZWluZy4gT3ZlcmhlYWQgaXMgdHJpdmlhbC4KCWpRdWVyeURvd25sb2FkaW5nID0gZmFsc2UsIC8vIEZsYWcgdG8gc3RvcCBtdWx0aXBsZSBpbnN0YW5jZXMgZnJvbSBlYWNoIHB1bGxpbmcgaW4galF1ZXJ5LCB0aHVzIGNvcnJ1cHRpbmcgaXQuCglqUGxheWVyRG93bmxvYWRpbmcgPSBmYWxzZSwgLy8gRmxhZyB0byBzdG9wIG11bHRpcGxlIGluc3RhbmNlcyBmcm9tIGVhY2ggcHVsbGluZyBpbiBqUGxheWVyLCB0aHVzIGNvcnJ1cHRpbmcgaXQuCglmb3JtYXQgPSB7IC8vIER1cGxpY2F0ZSBvZiBqUGxheWVyIDIuNC4wIG9iamVjdCwgdG8gYXZvaWQgYWx3YXlzIHJlcXVpcmluZyBqUXVlcnkgYW5kIGpQbGF5ZXIgdG8gYmUgbG9hZGVkIGJlZm9yZSBwZXJmb3JtaW5nIHRoZSBfY2FuUGxheVR5cGUoKSB0ZXN0LgoJCW1wMzogewoJCQljb2RlYzogJ2F1ZGlvL21wZWc7IGNvZGVjcz0ibXAzIicsCgkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCW00YTogeyAvLyBBQUMgLyBNUDQKCQkJY29kZWM6ICdhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsCgkJCWZsYXNoQ2FuUGxheTogdHJ1ZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCW9nYTogeyAvLyBPR0cKCQkJY29kZWM6ICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQl3YXY6IHsgLy8gUENNCgkJCWNvZGVjOiAnYXVkaW8vd2F2OyBjb2RlY3M9IjEiJywKCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCXdlYm1hOiB7IC8vIFdFQk0KCQkJY29kZWM6ICdhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJpcyInLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJZmxhOiB7IC8vIEZMViAvIEY0QQoJCQljb2RlYzogJ2F1ZGlvL3gtZmx2JywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJcnRtcGE6IHsgLy8gUlRNUCBBVURJTwoJCQljb2RlYzogJ2F1ZGlvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQltNHY6IHsgLy8gSC4yNjQgLyBNUDQKCQkJY29kZWM6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MkUwMUUsIG1wNGEuNDAuMiInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQlvZ3Y6IHsgLy8gT0dHCgkJCWNvZGVjOiAndmlkZW8vb2dnOyBjb2RlY3M9InRoZW9yYSwgdm9yYmlzIicsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQl3ZWJtdjogeyAvLyBXRUJNCgkJCWNvZGVjOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2b3JiaXMsIHZwOCInLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ3ZpZGVvJwoJCX0sCgkJZmx2OiB7IC8vIEZMViAvIEY0VgoJCQljb2RlYzogJ3ZpZGVvL3gtZmx2JywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ3ZpZGVvJwoJCX0sCgkJcnRtcHY6IHsgLy8gUlRNUCBWSURFTwoJCQljb2RlYzogJ3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAndmlkZW8nCgkJfQoJfSwKCWlzT2JqZWN0ID0gZnVuY3Rpb24odmFsKSB7IC8vIEJhc2ljIGNoZWNrIGZvciBPYmplY3QKCQlpZih2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsLmhhc093blByb3BlcnR5KSB7CgkJCXJldHVybiB0cnVlOwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9LAoJZ2V0TWVkaWFUeXBlID0gZnVuY3Rpb24odXJsKSB7IC8vIEZ1bmN0aW9uIHRvIGdsZWFtIHRoZSBtZWRpYSB0eXBlIGZyb20gdGhlIFVSTAoJCXZhciBtZWRpYVR5cGUgPSBmYWxzZTsKCQlpZigvXC5tcDMkL2kudGVzdCh1cmwpKSB7CgkJCW1lZGlhVHlwZSA9ICdtcDMnOwoJCX0gZWxzZSBpZigvXC5tcDQkL2kudGVzdCh1cmwpIHx8IC9cLm00diQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ200dic7CgkJfSBlbHNlIGlmKC9cLm00YSQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ200YSc7CgkJfSBlbHNlIGlmKC9cLm9nZyQvaS50ZXN0KHVybCkgfHwgL1wub2dhJC9pLnRlc3QodXJsKSkgewoJCQltZWRpYVR5cGUgPSAnb2dhJzsKCQl9IGVsc2UgaWYoL1wub2d2JC9pLnRlc3QodXJsKSkgewoJCQltZWRpYVR5cGUgPSAnb2d2JzsKCQl9IGVsc2UgaWYoL1wud2VibSQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ3dlYm12JzsKCQl9CgkJcmV0dXJuIG1lZGlhVHlwZTsKCX0sCglnZXRTdXBwbGllZCA9IGZ1bmN0aW9uKHVybCkgeyAvLyBGdW5jdGlvbiB0byBnZW5lcmF0ZSBhIHN1cHBsaWVkIG9wdGlvbiBmcm9tIGFuIHNyYyBvYmplY3QuIGllLiwgV2hlbiBzdXBwbGllZCBub3Qgc3BlY2lmaWVkLgoJCXZhciBzdXBwbGllZCA9ICcnLAoJCXNlcGFyYXRvciA9ICcnOwoJCWlmKGlzT2JqZWN0KHVybCkpIHsKCQkJLy8gR2VuZXJhdGUgc3VwcGxpZWQgb3B0aW9uIGZyb20gb2JqZWN0J3MgcHJvcGVydGllcy4gTm9uLWZvcm1hdCBwcm9wZXJ0aWVzIHdvdWxkIGJlIGlnbm9yZWQgYnkgalBsYXllci4gT3JkZXIgaXMgdW5wcmVkaWN0YWJsZS4KCQkJZm9yKHZhciBwcm9wIGluIHVybCkgewoJCQkJaWYodXJsLmhhc093blByb3BlcnR5KHByb3ApKSB7CgkJCQkJc3VwcGxpZWQgKz0gc2VwYXJhdG9yICsgcHJvcDsKCQkJCQlzZXBhcmF0b3IgPSAnLCc7CgkJCQl9CgkJCX0KCQl9CgkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdnZXRTdXBwbGllZCgpOiBHZW5lcmF0ZWQ6IHN1cHBsaWVkID0gIicgKyBzdXBwbGllZCArICciJyk7CgkJcmV0dXJuIHN1cHBsaWVkOwoJfTsKCglQb3Bjb3JuLnBsYXllciggJ2pwbGF5ZXInLCB7CgkJX2NhblBsYXlUeXBlOiBmdW5jdGlvbiggY29udGFpbmVyVHlwZSwgdXJsICkgewoJCQkvLyB1cmwgOiBFaXRoZXIgYSBTdHJpbmcgb3IgYW4gT2JqZWN0IHN0cnVjdHVyZWQgc2ltaWxhciBhIGpQbGF5ZXIgbWVkaWEgb2JqZWN0LiBpZS4sIEFzIHVzZWQgYnkgc2V0TWVkaWEgaW4galBsYXllci4KCQkJLy8gVGhlIHVybCBvYmplY3QgbWF5IGFsc28gY29udGFpbiBhIHNvbHV0aW9uIGFuZCBzdXBwbGllZCBwcm9wZXJ0eS4KCgkJCS8vIERlZmluZSB0aGUgc3JjIG9iamVjdCBzdHJ1Y3R1cmUgaGVyZSEKCgkJCXZhciBjVHlwZSA9IGNvbnRhaW5lclR5cGUudG9Mb3dlckNhc2UoKSwKCQkJc3JjT2JqID0gewoJCQkJbWVkaWE6e30sCgkJCQlvcHRpb25zOnt9CgkJCX0sCgkJCXJWYWwgPSBmYWxzZSwgLy8gT25seSBhIGJvb2xlYW4gZmFsc2UgbWVhbnMgaXQgaXMgbm90IHN1cHBvcnRlZC4KCQkJbWVkaWFUeXBlOwoKCQkJaWYoY1R5cGUgIT09ICd2aWRlbycgJiYgY1R5cGUgIT09ICdhdWRpbycpIHsKCgkJCQlpZih0eXBlb2YgdXJsID09PSAnc3RyaW5nJykgewoJCQkJCS8vIENoZWNrIGl0IHN0YXJ0cyB3aXRoIGh0dHAsIHNvIHRoZSBVUkwgaXMgYWJzb2x1dGUuLi4gV2VsbCwgaXQgaXMgbm90IGEgcGVyZmVjdCBjaGVjay4KCQkJCQlpZigvXmh0dHAuKi9pLnRlc3QodXJsKSkgewoJCQkJCQltZWRpYVR5cGUgPSBnZXRNZWRpYVR5cGUodXJsKTsKCQkJCQkJaWYobWVkaWFUeXBlKSB7CgkJCQkJCQlzcmNPYmoubWVkaWFbbWVkaWFUeXBlXSA9IHVybDsKCQkJCQkJCXNyY09iai5vcHRpb25zLnNvbHV0aW9uID0gU09MVVRJT047CgkJCQkJCQlzcmNPYmoub3B0aW9ucy5zdXBwbGllZCA9IG1lZGlhVHlwZTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJc3JjT2JqID0gdXJsOyAvLyBBc3N1bWUgdGhlIHVybCBpcyBhbiBzcmMgb2JqZWN0LgoJCQkJfQoKCQkJCS8vIENoZWNrIGZvciBPYmplY3QgYW5kIGFwcHJvcHJpYXRlIG1pbmltdW0gZGF0YSBzdHJ1Y3R1cmUuCgkJCQlpZihpc09iamVjdChzcmNPYmopICYmIGlzT2JqZWN0KHNyY09iai5tZWRpYSkpIHsKCgkJCQkJaWYoIWlzT2JqZWN0KHNyY09iai5vcHRpb25zKSkgewoJCQkJCQlzcmNPYmoub3B0aW9ucyA9IHt9OwoJCQkJCX0KCgkJCQkJaWYoIXNyY09iai5vcHRpb25zLnNvbHV0aW9uKSB7CgkJCQkJCXNyY09iai5vcHRpb25zLnNvbHV0aW9uID0gU09MVVRJT047CgkJCQkJfQoKCQkJCQlpZighc3JjT2JqLm9wdGlvbnMuc3VwcGxpZWQpIHsKCQkJCQkJc3JjT2JqLm9wdGlvbnMuc3VwcGxpZWQgPSBnZXRTdXBwbGllZChzcmNPYmoubWVkaWEpOwoJCQkJCX0KCgkJCQkJLy8gRmlndXJlIG91dCBob3cgalBsYXllciB3aWxsIHBsYXkgaXQuCgkJCQkJLy8gVGhpcyBtYXkgbm90IHdvcmsgcHJvcGVybHkgd2hlbiBib3RoIGF1ZGlvIGFuZCB2aWRlbyBpcyBzdXBwbGllZC4gaWUuLCBBIG1lZGlhIHBsYXllci4gQnV0IGl0IHNob3VsZCByZXR1cm4gdHJ1ZXRoeSBhbmQgalBsYXllciBjYW4gZmlndXJlIGl0IG91dC4KCQkJCQkKCQkJCQl2YXIgc29sdXRpb24gPSBzcmNPYmoub3B0aW9ucy5zb2x1dGlvbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksIC8vIENyZWF0ZSB0aGUgc29sdXRpb24gYXJyYXksIHdpdGggcHJvcml0eSBiYXNlZCBvbiB0aGUgb3JkZXIgb2YgdGhlIHNvbHV0aW9uIHN0cmluZy4KCQkJCQlzdXBwbGllZCA9IHNyY09iai5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKTsgLy8gQ3JlYXRlIHRoZSBzdXBwbGllZCBmb3JtYXRzIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzdXBwbGllZCBmb3JtYXRzIHN0cmluZy4KCgkJCQkJZm9yKHZhciBzb2wgPSAwOyBzb2wgPCBzb2x1dGlvbi5sZW5ndGg7IHNvbCsrKSB7CgoJCQkJCQl2YXIgc29sdXRpb25UeXBlID0gc29sdXRpb25bc29sXS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpLCAvL3RyaW0KCQkJCQkJY2hlY2tpbmdIdG1sID0gc29sdXRpb25UeXBlID09PSAnaHRtbCcsCgkJCQkJCWNoZWNraW5nRmxhc2ggPSBzb2x1dGlvblR5cGUgPT09ICdmbGFzaCcsCgkJCQkJCW1lZGlhRWxlbTsKCgkJCQkJCWZvcih2YXIgZm10ID0gMDsgZm10IDwgc3VwcGxpZWQubGVuZ3RoOyBmbXQrKykgewoJCQkJCQkJbWVkaWFUeXBlID0gc3VwcGxpZWRbZm10XS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpOyAvL3RyaW0KCQkJCQkJCWlmKGZvcm1hdFttZWRpYVR5cGVdKSB7IC8vIENoZWNrIGZvcm1hdCBpcyB2YWxpZC4KCgkJCQkJCQkJLy8gQ3JlYXRlIGFuIEhUTUw1IG1lZGlhIGVsZW1lbnQgZm9yIHRoZSB0eXBlIG9mIG1lZGlhLgoJCQkJCQkJCWlmKCFtZWRpYUVsZW0gJiYgY2hlY2tpbmdIdG1sKSB7CgkJCQkJCQkJCW1lZGlhRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZm9ybWF0W21lZGlhVHlwZV0ubWVkaWEpOwoJCQkJCQkJCX0KCQkJCQkJCQkvLyBTZWUgaWYgdGhlIEhUTUw1IG1lZGlhIGVsZW1lbnQgY2FuIHBsYXkgdGhlIE1JTUUgLyBDb2RlYyB0eXBlLgoJCQkJCQkJCS8vIEZsYXNoIGFsc28gcmV0dXJucyB0aGUgb2JqZWN0IGlmIHRoZSBmb3JtYXQgaXMgcGxheWFibGUsIHNvIGl0IGlzIHRydWV0aHksIGJ1dCB0aGF0IGh0bWwgcHJvcGVydHkgaXMgZmFsc2UuCgkJCQkJCQkJLy8gVGhpcyBhc3N1bWVzIEZsYXNoIGlzIGF2YWlsYWJsZSwgYnV0IHRoYXQgc2hvdWxkIGJlIGRlYWx0IHdpdGggYnkgalBsYXllciBpZiB0aGF0IGhhcHBlbnMuCgkJCQkJCQkJdmFyIGh0bWxDYW5QbGF5ID0gISEobWVkaWFFbGVtICYmIG1lZGlhRWxlbS5jYW5QbGF5VHlwZSAmJiBtZWRpYUVsZW0uY2FuUGxheVR5cGUoZm9ybWF0W21lZGlhVHlwZV0uY29kZWMpKSwKCQkJCQkJCQlodG1sV2lsbFBsYXkgPSBodG1sQ2FuUGxheSAmJiBjaGVja2luZ0h0bWwsCgkJCQkJCQkJZmxhc2hXaWxsUGxheSA9IGZvcm1hdFttZWRpYVR5cGVdLmZsYXNoQ2FuUGxheSAmJiBjaGVja2luZ0ZsYXNoOwoJCQkJCQkJCS8vIFRoZSBmaXJzdCBvbmUgZm91bmQgd2lsbCBtYXRjaCB3aGF0IGpQbGF5ZXIgdXNlcy4KCQkJCQkJCQlpZihodG1sV2lsbFBsYXkgfHwgZmxhc2hXaWxsUGxheSkgewoJCQkJCQkJCQlyVmFsID0gewoJCQkJCQkJCQkJaHRtbDogaHRtbFdpbGxQbGF5LAoJCQkJCQkJCQkJdHlwZTogbWVkaWFUeXBlCgkJCQkJCQkJCX07CgkJCQkJCQkJCXNvbCA9IHNvbHV0aW9uLmxlbmd0aDsgLy8gRXhpdCBzb2x1dGlvbiBsb29wCgkJCQkJCQkJCWZtdCA9IHN1cHBsaWVkLmxlbmd0aDsgLy8gRXhpdCBzdXBwbGllZCBsb29wCgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJCXJldHVybiByVmFsOwoJCX0sCgkJLy8gX3NldHVwOiBmdW5jdGlvbiggb3B0aW9ucyApIHsgLy8gV2FybmluZzogb3B0aW9ucyBpcyBkZXByZWNhdGVkLgoJCV9zZXR1cDogZnVuY3Rpb24oKSB7CgkJCXZhciBtZWRpYSA9IHRoaXMsCgkJCW15UGxheWVyLCAvLyBUaGUgalF1ZXJ5IHNlbGVjdG9yIG9mIHRoZSBqUGxheWVyIGVsZW1lbnQuIFVzdWFsbHkgYSA8ZGl2PgoJCQlqUGxheWVyT2JqLCAvLyBUaGUgalBsYXllciBkYXRhIGluc3RhbmNlLiBGb3IgcGVyZm9ybWFuY2UgYW5kIERSWSBjb2RlLgoJCQltZWRpYVR5cGUgPSAndW5rbm93bicsCgkJCWpwTWVkaWEgPSB7fSwKCQkJanBPcHRpb25zID0ge30sCgkJCXJlYWR5ID0gZmFsc2UsIC8vIFVzZWQgZHVyaW5nIGluaXQgdG8gb3ZlcnJpZGUgdGhlIGFubm95aW5nIGR1cmF0aW9uIGRlcGVuZGFuY2UgaW4gdGhlIHRyYWNrIGV2ZW50IHBhZGRpbmcgZHVyaW5nIFBvcGNvcm4ncyBpc1JlYWR5KCkuIGllLiwgV2UgaXMgcmVhZHkgYWZ0ZXIgbG9hZGVkZGF0YSBhbmQgZHVyYXRpb24gY2FuIHRoZW4gYmUgc2V0IHJlYWwgdmFsdWUgYXQgbGVpc3VyZS4KCQkJZHVyYXRpb24gPSAwLCAvLyBGb3IgdGhlIGR1cmF0aW9uY2hhbmdlIGV2ZW50IHdpdGggYm90aCBIVE1MNSBhbmQgRmxhc2ggc29sdXRpb25zLiBVc2VkIHdpdGggJ3JlYWR5JyB0byBrZWVwIGNvbnRyb2wgZHVyaW5nIHRoZSBQb3Bjb3JuIGlzUmVhZHkoKSB2aWEgbG9hZGVkZGF0YSBldmVudC4gKER1cmF0aW9uPTAgaXMgYmFkLikKCQkJZHVyYXRpb25jaGFuZ2VJZCA9IG51bGwsIC8vIEEgdGltZW91dCBJRCB1c2VkIHdpdGggZGVsYXllZCBkdXJhdGlvbmNoYW5nZSBldmVudC4gKEJlY2F1c2Ugb2YgdGhlIGR1cmF0aW9uPU5hTiBmdWRnZSB0byBhdm9pZCBQb3Bjb3JuIHRyYWNrIGV2ZW50IGNvcnJ1cHRpb24uKQoJCQljYW5wbGF5dGhyb3VnaCA9IGZhbHNlLAoJCQllcnJvciA9IG51bGwsIC8vIFRoZSBNZWRpYUVycm9yIG9iamVjdC4KCgkJCWRpc3BhdGNoRHVyYXRpb25DaGFuZ2UgPSBmdW5jdGlvbigpIHsKCQkJCWlmKHJlYWR5KSB7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdEaXNwYXRjaGVkIGV2ZW50IDogZHVyYXRpb25jaGFuZ2UgOiAnICsgZHVyYXRpb24pOwoJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQoJ2R1cmF0aW9uY2hhbmdlJyk7CgkJCQl9IGVsc2UgewoJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnREVMQVlFRCBFVkVOVCAoIXJlYWR5KSA6IGR1cmF0aW9uY2hhbmdlIDogJyArIGR1cmF0aW9uKTsKCQkJCQljbGVhclRpbWVvdXQoZHVyYXRpb25jaGFuZ2VJZCk7IC8vIFN0b3AgbXVsdGlwbGUgdHJpZ2dlcnMgY2F1c2luZyBtdWx0aXBsZSB0aW1lb3V0cyBydW5uaW5nIGluIHBhcmFsbGVsLgoJCQkJCWR1cmF0aW9uY2hhbmdlSWQgPSBzZXRUaW1lb3V0KGRpc3BhdGNoRHVyYXRpb25DaGFuZ2UsIDI1MCk7CgkJCQl9CgkJCX0sCgoJCQlqUGxheWVyRmxhc2hFdmVudHNQYXRjaCA9IGZ1bmN0aW9uKCkgewoKCQkJCS8qIEV2ZW50cyBhbHJlYWR5IHN1cHBvcnRlZCBieSBqUGxheWVyIEZsYXNoOgoJCQkJICogbG9hZHN0YXJ0CgkJCQkgKiBsb2FkZWRtZXRhZGF0YSAoTTRBLCBNNFYpCgkJCQkgKiBwcm9ncmVzcwoJCQkJICogcGxheQoJCQkJICogcGF1c2UKCQkJCSAqIHNlZWtpbmcKCQkJCSAqIHNlZWtlZAoJCQkJICogdGltZXVwZGF0ZQoJCQkJICogZW5kZWQKCQkJCSAqIHZvbHVtZWNoYW5nZQoJCQkJICogZXJyb3IgPC0gU2VlIHRoZSBjdXN0b20gaGFuZGxlciBpbiBqUGxheWVySW5pdCgpCgkJCQkgKi8KCgkJCQkvKiBFdmVudHMgcGF0Y2hlZDoKCQkJCSAqIGxvYWRlZGRhdGEKCQkJCSAqIGR1cmF0aW9uY2hhbmdlCgkJCQkgKiBjYW5wbGF5dGhyb3VnaAoJCQkJICogcGxheWluZwoJCQkJICovCgoJCQkJLyogRXZlbnRzIE5PVCBwYXRjaGVkOgoJCQkJICogc3VzcGVuZAoJCQkJICogYWJvcnQKCQkJCSAqIGVtcHRpZWQKCQkJCSAqIHN0YWxsZWQKCQkJCSAqIGxvYWRlZG1ldGFkYXRhIChNUDMpCgkJCQkgKiB3YWl0aW5nCgkJCQkgKiBjYW5wbGF5CgkJCQkgKiByYXRlY2hhbmdlCgkJCQkgKi8KCgkJCQkvLyBUcmlnZ2VyaW5nIHBhdGNoZWQgZXZlbnRzIHRocm91Z2ggdGhlIGpQbGF5ZXIgT2JqZWN0IHNvIHRoZSBldmVudHMgYXJlIGhvbW9nZW5lb3VzLiBpZS4sIFRoZSBjb250YWluIHRoZSBldmVudC5qUGxheWVyIGRhdGEgc3RydWN0dXJlLgoKCQkJCXZhciBjaGVja0R1cmF0aW9uID0gZnVuY3Rpb24oZXZlbnQpIHsKCQkJCQlpZihldmVudC5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbiAhPT0gZHVyYXRpb24pIHsKCQkJCQkJZHVyYXRpb24gPSBldmVudC5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbjsKCQkJCQkJZGlzcGF0Y2hEdXJhdGlvbkNoYW5nZSgpOwoJCQkJCX0KCQkJCX0sCgoJCQkJY2hlY2tDYW5QbGF5VGhyb3VnaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJaWYoIWNhbnBsYXl0aHJvdWdoICYmIGV2ZW50LmpQbGF5ZXIuc3RhdHVzLnNlZWtQZXJjZW50ID09PSAxMDApIHsKCQkJCQkJY2FucGxheXRocm91Z2ggPSB0cnVlOwoJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdUcmlnZ2VyIDogY2FucGxheXRocm91Z2gnKTsKCQkJCQkJCWpQbGF5ZXJPYmouX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNhbnBsYXl0aHJvdWdoKTsKCQkJCQkJfSwgMCk7CgkJCQkJfQoJCQkJfTsKCgkJCQlteVBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5sb2Fkc3RhcnQsIGZ1bmN0aW9uKCkgewoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnVHJpZ2dlciA6IGxvYWRlZGRhdGEnKTsKCQkJCQkJalBsYXllck9iai5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSk7CgkJCQkJfSwgMCk7CgkJCQl9KQoJCQkJLmJpbmQoJC5qUGxheWVyLmV2ZW50LnByb2dyZXNzLCBmdW5jdGlvbihldmVudCkgewoJCQkJCWNoZWNrRHVyYXRpb24oZXZlbnQpOwoJCQkJCWNoZWNrQ2FuUGxheVRocm91Z2goZXZlbnQpOwoJCQkJfSkKCQkJCS5iaW5kKCQualBsYXllci5ldmVudC50aW1ldXBkYXRlLCBmdW5jdGlvbihldmVudCkgewoJCQkJCWNoZWNrRHVyYXRpb24oZXZlbnQpOwoJCQkJCWNoZWNrQ2FuUGxheVRocm91Z2goZXZlbnQpOwoJCQkJfSkKCQkJCS5iaW5kKCQualBsYXllci5ldmVudC5wbGF5LCBmdW5jdGlvbigpIHsKCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ1RyaWdnZXIgOiBwbGF5aW5nJyk7CgkJCQkJCWpQbGF5ZXJPYmouX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnBsYXlpbmcpOwoJCQkJCX0sIDApOwoJCQkJfSk7CgoJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVycyBmb3IgRkxBU0gnKTsKCQkJfSwKCgkJCWpQbGF5ZXJJbml0ID0gZnVuY3Rpb24oKSB7CgkJCQkoZnVuY3Rpb24oJCkgewoKCQkJCQlteVBsYXllciA9ICQoJyMnICsgIG1lZGlhLmlkKTsKCgkJCQkJaWYodHlwZW9mIG1lZGlhLnNyYyA9PT0gJ3N0cmluZycpIHsKCQkJCQkJbWVkaWFUeXBlID0gZ2V0TWVkaWFUeXBlKG1lZGlhLnNyYyk7CgkJCQkJCWpwTWVkaWFbbWVkaWFUeXBlXSA9IG1lZGlhLnNyYzsKCQkJCQkJanBPcHRpb25zLnN1cHBsaWVkID0gbWVkaWFUeXBlOwoJCQkJCQlqcE9wdGlvbnMuc29sdXRpb24gPSBTT0xVVElPTjsKCQkJCQl9IGVsc2UgaWYoaXNPYmplY3QobWVkaWEuc3JjKSkgewoJCQkJCQlqcE1lZGlhID0gaXNPYmplY3QobWVkaWEuc3JjLm1lZGlhKSA/IG1lZGlhLnNyYy5tZWRpYSA6IHt9OwoJCQkJCQlqcE9wdGlvbnMgPSBpc09iamVjdChtZWRpYS5zcmMub3B0aW9ucykgPyBtZWRpYS5zcmMub3B0aW9ucyA6IHt9OwoJCQkJCQlqcE9wdGlvbnMuc29sdXRpb24gPSBqcE9wdGlvbnMuc29sdXRpb24gfHwgU09MVVRJT047CgkJCQkJCWpwT3B0aW9ucy5zdXBwbGllZCA9IGpwT3B0aW9ucy5zdXBwbGllZCB8fCBnZXRTdXBwbGllZChtZWRpYS5zcmMubWVkaWEpOwoJCQkJCX0KCgkJCQkJLy8gQWxsb3cgdGhlIHN3ZlBhdGggdG8gYmUgc2V0IHRvIGxvY2FsIHNlcnZlci4gaWUuLCBJZiB0aGUgalBsYXllciBQbHVnaW4gaXMgbG9jYWwgYW5kIGFscmVhZHkgb24gdGhlIHBhZ2UsIHRoZW4geW91IGNhbiBhbHNvIHVzZSB0aGUgbG9jYWwgU1dGLgoJCQkJCWpwT3B0aW9ucy5zd2ZQYXRoID0ganBPcHRpb25zLnN3ZlBhdGggfHwgSlBMQVlFUl9TV0ZQQVRIOwoKCQkJCQlteVBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5yZWFkeSwgZnVuY3Rpb24oZXZlbnQpIHsKCQkJCQkJaWYoZXZlbnQualBsYXllci5mbGFzaC51c2VkKSB7CgkJCQkJCQlqUGxheWVyRmxhc2hFdmVudHNQYXRjaCgpOwoJCQkJCQl9CgkJCQkJCS8vIFNldCB0aGUgbWVkaWEgYW5kZCBsb2FkIGl0LCBzbyB0aGF0IHRoZSBGbGFzaCBzb2x1dGlvbiBiZWhhdmVzIHNpbWlsYXIgdG8gSFRNTDUgc29sdXRpb24uCgkJCQkJCS8vIFRoaXMgYWxzbyBhbGxvd3MgdGhlIGxvYWRzdGFydCBldmVudCB0byBiZSB1c2VkIHRvIGtub3cgalBsYXllciBpcyByZWFkeS4KCQkJCQkJJCh0aGlzKS5qUGxheWVyKCdzZXRNZWRpYScsIGpwTWVkaWEpLmpQbGF5ZXIoJ2xvYWQnKTsKCQkJCQl9KTsKCgkJCQkJLy8gRG8gbm90IGF1dG8tYnViYmxlIHRoZSByZXNlcnZlZCBldmVudHMsIG5vciB0aGUgbG9hZGVkZGF0YSBhbmQgZHVyYXRpb25jaGFuZ2UgZXZlbnQsIHNpbmNlIHRoZSBkdXJhdGlvbiBtdXN0IGJlIGNhcmVmdWxseSBoYW5kbGVkIHdoZW4gbG9hZGVkZGF0YSBldmVudCBvY2N1cnMuCgkJCQkJLy8gU2VlIHRoZSBkdXJhdGlvbiBwcm9wZXJ0eSBjb2RlIGZvciBtb3JlIGRldGFpbHMuIChSYW50aW5nLikKCgkJCQkJdmFyIHJlc2VydmVkRXZlbnRzID0gJC5qUGxheWVyLnJlc2VydmVkRXZlbnQgKyAnIGxvYWRlZGRhdGEgZHVyYXRpb25jaGFuZ2UnLAoJCQkJCXJlc2VydmVkRXZlbnQgPSByZXNlcnZlZEV2ZW50cy5zcGxpdCgvXHMrL2cpOwoKCQkJCQkvLyBHZW5lcmF0ZSBldmVudCBoYW5kbGVycyBmb3IgYWxsIHRoZSBzdGFuZGFyZCBIVE1MNSBtZWRpYSBldmVudHMuIChFeGNlcHQgZHVyYXRpb25jaGFuZ2UpCgoJCQkJCXZhciBiaW5kRXZlbnQgPSBmdW5jdGlvbihuYW1lKSB7CgkJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50W25hbWVdLCBmdW5jdGlvbihldmVudCkgewoJCQkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdEaXNwYXRjaGVkIGV2ZW50OiAnICsgbmFtZSArIChldmVudCAmJiBldmVudC5qUGxheWVyID8gJyAoJyArIGV2ZW50LmpQbGF5ZXIuc3RhdHVzLmN1cnJlbnRUaW1lICsgJ3MpJyA6ICcnKSk7IC8vIE11c3QgYmUgYWZ0ZXIgZGlzcGF0Y2ggZm9yIHNvbWUgcmVhc29uIG9uIEZpcmVmb3gvT3BlcmEKCQkJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQobmFtZSk7CgkJCQkJCX0pOwoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0NyZWF0ZWQgZXZlbnQgaGFuZGxlciBmb3I6ICcgKyBuYW1lKTsKCQkJCQl9OwoKCQkJCQlmb3IodmFyIGV2ZW50TmFtZSBpbiAkLmpQbGF5ZXIuZXZlbnQpIHsKCQkJCQkJaWYoJC5qUGxheWVyLmV2ZW50Lmhhc093blByb3BlcnR5KGV2ZW50TmFtZSkpIHsKCQkJCQkJCXZhciBuYXRpdmVFdmVudCA9IHRydWU7CgkJCQkJCQlmb3IodmFyIGlSZXMgaW4gcmVzZXJ2ZWRFdmVudCkgewoJCQkJCQkJCWlmKHJlc2VydmVkRXZlbnQuaGFzT3duUHJvcGVydHkoaVJlcykpIHsKCQkJCQkJCQkJaWYocmVzZXJ2ZWRFdmVudFtpUmVzXSA9PT0gZXZlbnROYW1lKSB7CgkJCQkJCQkJCQluYXRpdmVFdmVudCA9IGZhbHNlOwoJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCQlpZihuYXRpdmVFdmVudCkgewoJCQkJCQkJCWJpbmRFdmVudChldmVudE5hbWUpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ1NraXBwZWQgYXV0byBldmVudCBoYW5kbGVyIGNyZWF0aW9uIGZvcjogJyArIGV2ZW50TmFtZSk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgoJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50LmxvYWRlZGRhdGEsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnRGlzcGF0Y2hlZCBldmVudDogbG9hZGVkZGF0YScgKyAoZXZlbnQgJiYgZXZlbnQualBsYXllciA/ICcgKCcgKyBldmVudC5qUGxheWVyLnN0YXR1cy5jdXJyZW50VGltZSArICdzKScgOiAnJykpOwoJCQkJCQltZWRpYS5kaXNwYXRjaEV2ZW50KCdsb2FkZWRkYXRhJyk7CgkJCQkJCXJlYWR5ID0gdHJ1ZTsKCQkJCQl9KTsKCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0NyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXIgZm9yOiBsb2FkZWRkYXRhJyk7CgoJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50LmR1cmF0aW9uY2hhbmdlLCBmdW5jdGlvbihldmVudCkgewoJCQkJCQlkdXJhdGlvbiA9IGV2ZW50LmpQbGF5ZXIuc3RhdHVzLmR1cmF0aW9uOwoJCQkJCQlkaXNwYXRjaER1cmF0aW9uQ2hhbmdlKCk7CgkJCQkJfSk7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZHVyYXRpb25jaGFuZ2UnKTsKCgkJCQkJLy8gVGhlIGVycm9yIGV2ZW50IGlzIGEgc3BlY2lhbCBjYXNlLiBQbHVzIGpQbGF5ZXIgZXJyb3IgZXZlbnQgYXNzdW1lcyBpdCBpcyBhIGJyb2tlbiBVUkwuIChJdCBjb3VsZCBhbHNvIGJlIGEgZGVjb2RlciBlcnJvci4uLiBPciBhYm9ydGVkIG9yIGEgTmV0d29yayBlcnJvci4pCgkJCQkJbXlQbGF5ZXIuYmluZCgkLmpQbGF5ZXIuZXZlbnQuZXJyb3IsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCS8vIE5vdCBzdXJlIGhvdyB0byBoYW5kbGUgdGhlIGVycm9yIHNpdHVhdGlvbi4gUG9wY29ybiBkb2VzIG5vdCBhcHBlYXIgdG8gaGF2ZSB0aGUgZXJyb3Igb3IgZXJyb3IuY29kZSBwcm9wZXJ0eSBkb2N1bWVudGVkIGhlcmU6IGh0dHA6Ly9wb3Bjb3JuanMub3JnL3BvcGNvcm4tZG9jcy9tZWRpYS1tZXRob2RzLwoJCQkJCQkvLyBJZiBhbnkgZXJyb3IgZXZlbnQgaGFwcGVucywgdGhlbiBzb21ldGhpbmcgaGFzIGdvbmUgcGVhciBzaGFwZWQuCgoJCQkJCQllcnJvciA9IGV2ZW50LmpQbGF5ZXIuZXJyb3I7IC8vIFNhdmluZyBvYmplY3QgcG9pbnRlciwgbm90IGEgY29weSBvZiB0aGUgb2JqZWN0LiBQb3NzaWJsZSBnYXJiYWdlIGNvbGxlY3Rpb24gaXNzdWUuLi4gQnV0IHRoZSBwbGF5ZXIgaXMgZGVhZCBhbnl3YXksIHNvIGRvbid0IGNhcmUuCgoJCQkJCQlpZihlcnJvci50eXBlID09PSAkLmpQbGF5ZXIuZXJyb3IuVVJMKSB7CgkJCQkJCQllcnJvci5jb2RlID0gNDsgLy8gTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVEIHNpbmNlIGpQbGF5ZXIgbWFrZXMgdGhpcyBhc3N1bXB0aW9uLiBJdCBpcyB0aGUgbW9zdCBjb21tb24gZXJyb3IsIHRoZW4gdGhlIGRlY29kZSBlcnJvci4gTmV2ZXIgc2VlbiBlaXRoZXIgb2YgdGhlIG90aGVyIDIgZXJyb3IgdHlwZXMgb2NjdXIuCgkJCQkJCX0gZWxzZSB7CgkJCQkJCQllcnJvci5jb2RlID0gMDsgLy8gSXQgd2FzIGEgalBsYXllciBlcnJvciwgbm90IGFuIEhUTUw1IG1lZGlhIGVycm9yLgoJCQkJCQl9CgoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0Rpc3BhdGNoZWQgZXZlbnQ6IGVycm9yJyk7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmRpcihlcnJvcik7CgkJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQoJ2Vycm9yJyk7CgkJCQkJfSk7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZXJyb3InKTsKCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAnZXJyb3InLCB7CgkJCQkJCXNldDogZnVuY3Rpb24oKSB7CgkJCQkJCQkvLyBSZWFkLW9ubHkgcHJvcGVydHkKCQkJCQkJCXJldHVybiBlcnJvcjsKCQkJCQkJfSwKCQkJCQkJZ2V0OiBmdW5jdGlvbigpIHsKCQkJCQkJCXJldHVybiBlcnJvcjsKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQlQb3Bjb3JuLnBsYXllci5kZWZpbmVQcm9wZXJ0eSggbWVkaWEsICdjdXJyZW50VGltZScsIHsKCQkJCQkJc2V0OiBmdW5jdGlvbiggdmFsICkgewoJCQkJCQkJaWYoalBsYXllck9iai5zdGF0dXMucGF1c2VkKSB7CgkJCQkJCQkJbXlQbGF5ZXIualBsYXllcigncGF1c2UnLCB2YWwpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlteVBsYXllci5qUGxheWVyKCdwbGF5JywgdmFsKTsKCQkJCQkJCX0KCQkJCQkJCXJldHVybiB2YWw7CgkJCQkJCX0sCgkJCQkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5zdGF0dXMuY3VycmVudFRpbWU7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJLyogVGhlIGpveSBvZiBkdXJhdGlvbiBhbmQgdGhlIGxvYWRlZGRhdGEgZXZlbnQgaXNSZWFkeSgpIGhhbmRsZXIKCQkJCQkgKiBUaGUgZHVyYXRpb24gaXMgYXNzdW1lZCB0byBiZSBhIE5hTiBvciBhIHZhbGlkIGR1cmF0aW9uLgoJCQkJCSAqIGpQbGF5ZXIgdXNlcyB6ZXJvIGluc3RlYWQgb2YgYSBOYU4gYW5kIHRoaXMgc2NyZXdzIHVwIHRoZSBQb3Bjb3JuIHRyYWNrIGV2ZW50IHN0YXJ0L2VuZCBhcnJheXMgcGFkZGluZy4KCQkJCQkgKiBUaGlzIGxpbmUgaGVyZToKCQkJCQkgKiAgdmlkZW9EdXJhdGlvblBsdXMgPSBkdXJhdGlvbiAhPSBkdXJhdGlvbiA/IE51bWJlci5NQVhfVkFMVUUgOiBkdXJhdGlvbiArIDE7CgkJCQkJICogTm90IHN1cmUgd2h5IGl0IGlzIG5vdCBzaW1wbHk6CgkJCQkJICogIHZpZGVvRHVyYXRpb25QbHVzID0gTnVtYmVyLk1BWF9WQUxVRTsgLy8gV2hvIGNhcmVzIGlmIHRoZSBwYWRkaW5nIGlzIGNsb3NlIHRvIHRoZSByZWFsIGR1cmF0aW9uPwoJCQkJCSAqIFNvIGlmIHlvdSB0cmlnZ2VyIGxvYWRlZGRhdGEgYmVmb3JlIHRoZSBkdXJhdGlvbiBpcyBjb3JyZWN0LCB0aGUgdHJhY2sgZXZlbnQgcGFkZGluZyBpcyBzY3Jld2VkIHVwLiAoSXQgcGFkcyB0aGUgc3RhcnQsIG5vdCB0aGUgZW5kLi4uIFdlbGwsIGR1cmF0aW9uKzEgPSAwKzEgPSAxcykKCQkJCQkgKiBUaGF0IGxpbmUgbWFrZXMgdGhlIE1QMyBGbGFzaCBmYWxsYmFjayBkaWZmaWN1bHQgdG8gc2V0dXAuIFRoZSB3aG9sZSBNUDMgd2lsbCBuZWVkIHRvIGxvYWQgYmVmb3JlIHRoZSBkdXJhdGlvbiBpcyBrbm93bi4KCQkJCQkgKiBQbGFubmluZyBvbiB1c2luZyBhIE5hTiBmb3IgZHVyYXRpb24gdW50aWwgYSA+MCB2YWx1ZSBpcyBmb3VuZC4uLiBFeGNlcHQgd2l0aCBNUDMsIHdoZXJlIHNlZWtQZXJjZW50IG11c3QgYmUgMTAwJSBiZWZvcmUgc2V0dGluZyB0aGUgZHVyYXRpb24uCgkJCQkJICogV2h5IG5vdCBqdXN0IHVzZSBhIE5hTiBkdXJpbmcgaW5pdC4uLiBBbmQgdGhlbiBjb3JyZWN0IHRoZSBkdXJhdGlvbiBsYXRlcj8KCQkJCQkgKi8KCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAnZHVyYXRpb24nLCB7CgkJCQkJCXNldDogZnVuY3Rpb24oKSB7CgkJCQkJCQkvLyBSZWFkLW9ubHkgcHJvcGVydHkKCQkJCQkJCWlmKHJlYWR5KSB7CgkJCQkJCQkJcmV0dXJuIGR1cmF0aW9uOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlyZXR1cm4gTmFOOwoJCQkJCQkJfQoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJaWYocmVhZHkpIHsKCQkJCQkJCQlyZXR1cm4gZHVyYXRpb247IC8vIFBvcGNvcm4gaGFzIGluaXRpYWxpemVkLCB3ZSBjYW4gbm93IHVzZSBkdXJhdGlvbiB6ZXJvIG9yIHdoYXRldmVyIHdpdGhvdXQgZmVhci4KCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJcmV0dXJuIE5hTjsgLy8gS2VlcCB0aGUgZHVyYXRpb24gYSBOYU4gdW50aWwgYWZ0ZXIgbG9hZGVkZGF0YSBldmVudCBoYXMgb2NjdXJyZWQuIE90aGVyd2lzZSBQb3Bjb3JuIHRyYWNrIGV2ZW50IHBhZGRpbmcgaXMgY29ycnVwdGVkLgoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCVBvcGNvcm4ucGxheWVyLmRlZmluZVByb3BlcnR5KCBtZWRpYSwgJ211dGVkJywgewoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCB2YWwgKSB7CgkJCQkJCQlteVBsYXllci5qUGxheWVyKCdtdXRlJywgdmFsKTsKCQkJCQkJCXJldHVybiBqUGxheWVyT2JqLm9wdGlvbnMubXV0ZWQ7CgkJCQkJCX0sCgkJCQkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5vcHRpb25zLm11dGVkOwoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCVBvcGNvcm4ucGxheWVyLmRlZmluZVByb3BlcnR5KCBtZWRpYSwgJ3ZvbHVtZScsIHsKCQkJCQkJc2V0OiBmdW5jdGlvbiggdmFsICkgewoJCQkJCQkJbXlQbGF5ZXIualBsYXllcigndm9sdW1lJywgdmFsKTsKCQkJCQkJCXJldHVybiBqUGxheWVyT2JqLm9wdGlvbnMudm9sdW1lOwoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIGpQbGF5ZXJPYmoub3B0aW9ucy52b2x1bWU7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAncGF1c2VkJywgewoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJLy8gUmVhZC1vbmx5IHByb3BlcnR5CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5zdGF0dXMucGF1c2VkOwoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIGpQbGF5ZXJPYmouc3RhdHVzLnBhdXNlZDsKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQltZWRpYS5wbGF5ID0gZnVuY3Rpb24oKSB7CgkJCQkJCW15UGxheWVyLmpQbGF5ZXIoJ3BsYXknKTsKCQkJCQl9OwoJCQkJCW1lZGlhLnBhdXNlID0gZnVuY3Rpb24oKSB7CgkJCQkJCW15UGxheWVyLmpQbGF5ZXIoJ3BhdXNlJyk7CgkJCQkJfTsKCgkJCQkJbXlQbGF5ZXIualBsYXllcihqcE9wdGlvbnMpOyAvLyBJbnN0YW5jZSBqUGxheWVyLiBOb3RlIHRoYXQgdGhlIG9wdGlvbnMgc2hvdWxkIG5vdCBoYXZlIGEgcmVhZHkgZXZlbnQgZGVmaW5lZC4uLiBLaWxsIGl0IGJ5IGRlZmF1bHQ/CgkJCQkJalBsYXllck9iaiA9IG15UGxheWVyLmRhdGEoJ2pQbGF5ZXInKTsKCgkJCQl9KGpRdWVyeSkpOwoJCQl9LAoKCQkJalBsYXllckNoZWNrID0gZnVuY3Rpb24oKSB7CgkJCQlpZiAoIWpRdWVyeS5qUGxheWVyKSB7CgkJCQkJaWYgKCFqUGxheWVyRG93bmxvYWRpbmcpIHsKCQkJCQkJalBsYXllckRvd25sb2FkaW5nID0gdHJ1ZTsKCQkJCQkJUG9wY29ybi5nZXRTY3JpcHQoSlBMQVlFUl9TQ1JJUFQsIGZ1bmN0aW9uKCkgewoJCQkJCQkJalBsYXllckRvd25sb2FkaW5nID0gZmFsc2U7CgkJCQkJCQlqUGxheWVySW5pdCgpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGpQbGF5ZXJDaGVjaywgMjUwKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWpQbGF5ZXJJbml0KCk7CgkJCQl9CgkJCX0sCgoJCQlqUXVlcnlDaGVjayA9IGZ1bmN0aW9uKCkgewoJCQkJaWYgKCF3aW5kb3cualF1ZXJ5KSB7CgkJCQkJaWYgKCFqUXVlcnlEb3dubG9hZGluZykgewoJCQkJCQlqUXVlcnlEb3dubG9hZGluZyA9IHRydWU7CgkJCQkJCVBvcGNvcm4uZ2V0U2NyaXB0KEpRVUVSWV9TQ1JJUFQsIGZ1bmN0aW9uKCkgewoJCQkJCQkJalF1ZXJ5RG93bmxvYWRpbmcgPSBmYWxzZTsKCQkJCQkJCWpQbGF5ZXJDaGVjaygpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGpRdWVyeUNoZWNrLCAyNTApOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJalBsYXllckNoZWNrKCk7CgkJCQl9CgkJCX07CgoJCQlqUXVlcnlDaGVjaygpOwoJCX0sCgkJX3RlYXJkb3duOiBmdW5jdGlvbigpIHsKCQkJalF1ZXJ5KCcjJyArICB0aGlzLmlkKS5qUGxheWVyKCdkZXN0cm95Jyk7CgkJfQoJfSk7Cgp9KFBvcGNvcm4pKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/popcorn.jplayer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalBsYXllciBQbGF5ZXIgUGx1Z2luIGZvciBQb3Bjb3JuIEphdmFTY3JpcHQgTGlicmFyeQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTQgSGFwcHl3b3JtIEx0ZAogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuCiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKICoKICogQXV0aG9yOiBNYXJrIEogUGFuYWdoaXN0b24KICogVmVyc2lvbjogMS4xLjYKICogRGF0ZTogMjd0aCBOb3ZlbWJlciAyMDE0CiAqCiAqIEZvciBQb3Bjb3JuIFZlcnNpb246IDEuMwogKiBGb3IgalBsYXllciBWZXJzaW9uOiAyLjkuMAogKiBSZXF1aXJlczogalF1ZXJ5IDEuNysKICogTm90ZTogalF1ZXJ5IGRlcGVuZGFuY3kgY2Fubm90IGJlIHJlbW92ZWQgc2luY2UgalBsYXllciAyIGlzIGEgalF1ZXJ5IHBsdWdpbi4gVXNlIG9mIGpRdWVyeSB3aWxsIGJlIGtlcHQgdG8gYSBtaW5pbXVtLgogKi8KCihmdW5jdGlvbihQb3Bjb3JuKSB7CgoJdmFyIEpRVUVSWV9TQ1JJUFQgPSAnLy9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTEuMTEuMS5taW4uanMnLCAvLyBVc2VkIGlmIGpRdWVyeSBub3QgYWxyZWFkeSBwcmVzZW50LgoJSlBMQVlFUl9TQ1JJUFQgPSAnLy9jb2RlLmpwbGF5ZXIub3JnLzIuOS4wL2pwbGF5ZXIvanF1ZXJ5LmpwbGF5ZXIubWluLmpzJywgLy8gVXNlZCBpZiBqUGxheWVyIG5vdCBhbHJlYWR5IHByZXNlbnQuCglKUExBWUVSX1NXRlBBVEggPSAnLy9jb2RlLmpwbGF5ZXIub3JnLzIuOS4wL2pwbGF5ZXIvanF1ZXJ5LmpwbGF5ZXIuc3dmJywgLy8gVXNlZCBpZiBub3Qgc3BlY2lmaWVkIGluIGpQbGF5ZXIgb3B0aW9ucyB2aWEgU1JDIE9iamVjdC4KCVNPTFVUSU9OID0gJ2h0bWwsZmxhc2gnLCAvLyBUaGUgZGVmYXVsdCBzb2x1dGlvbiBvcHRpb24uCglERUJVRyA9IGZhbHNlLCAvLyBEZWNpZGVkIHRvIGxlYXZlIHRoZSBkZWJ1Z2dpbmcgb3B0aW9uIGFuZCBjb25zb2xlIG91dHB1dCBpbiBmb3IgdGhlIHRpbWUgYmVpbmcuIE92ZXJoZWFkIGlzIHRyaXZpYWwuCglqUXVlcnlEb3dubG9hZGluZyA9IGZhbHNlLCAvLyBGbGFnIHRvIHN0b3AgbXVsdGlwbGUgaW5zdGFuY2VzIGZyb20gZWFjaCBwdWxsaW5nIGluIGpRdWVyeSwgdGh1cyBjb3JydXB0aW5nIGl0LgoJalBsYXllckRvd25sb2FkaW5nID0gZmFsc2UsIC8vIEZsYWcgdG8gc3RvcCBtdWx0aXBsZSBpbnN0YW5jZXMgZnJvbSBlYWNoIHB1bGxpbmcgaW4galBsYXllciwgdGh1cyBjb3JydXB0aW5nIGl0LgoJZm9ybWF0ID0geyAvLyBEdXBsaWNhdGUgb2YgalBsYXllciAyLjUuMCBvYmplY3QsIHRvIGF2b2lkIGFsd2F5cyByZXF1aXJpbmcgalF1ZXJ5IGFuZCBqUGxheWVyIHRvIGJlIGxvYWRlZCBiZWZvcmUgcGVyZm9ybWluZyB0aGUgX2NhblBsYXlUeXBlKCkgdGVzdC4KCQltcDM6IHsKCQkJY29kZWM6ICdhdWRpby9tcGVnJywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJbTRhOiB7IC8vIEFBQyAvIE1QNAoJCQljb2RlYzogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJbTN1OGE6IHsgLy8gQUFDIC8gTVA0IC8gQXBwbGUgSExTCgkJCWNvZGVjOiAnYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0ibXA0YS40MC4yIicsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQltM3VhOiB7IC8vIE0zVQoJCQljb2RlYzogJ2F1ZGlvL21wZWd1cmwnLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJb2dhOiB7IC8vIE9HRwoJCQljb2RlYzogJ2F1ZGlvL29nZzsgY29kZWNzPSJ2b3JiaXMsIG9wdXMiJywKCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCWZsYWM6IHsgLy8gRkxBQwoJCQljb2RlYzogJ2F1ZGlvL3gtZmxhYycsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQl3YXY6IHsgLy8gUENNCgkJCWNvZGVjOiAnYXVkaW8vd2F2OyBjb2RlY3M9IjEiJywKCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJbWVkaWE6ICdhdWRpbycKCQl9LAoJCXdlYm1hOiB7IC8vIFdFQk0KCQkJY29kZWM6ICdhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJpcyInLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJZmxhOiB7IC8vIEZMViAvIEY0QQoJCQljb2RlYzogJ2F1ZGlvL3gtZmx2JywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ2F1ZGlvJwoJCX0sCgkJcnRtcGE6IHsgLy8gUlRNUCBBVURJTwoJCQljb2RlYzogJ2F1ZGlvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAnYXVkaW8nCgkJfSwKCQltNHY6IHsgLy8gSC4yNjQgLyBNUDQKCQkJY29kZWM6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MkUwMUUsIG1wNGEuNDAuMiInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQltM3U4djogeyAvLyBILjI2NCAvIEFBQyAvIE1QNCAvIEFwcGxlIEhMUwoJCQljb2RlYzogJ2FwcGxpY2F0aW9uL3ZuZC5hcHBsZS5tcGVndXJsOyBjb2RlY3M9ImF2YzEuNDJFMDFFLCBtcDRhLjQwLjIiJywKCQkJZmxhc2hDYW5QbGF5OiBmYWxzZSwKCQkJbWVkaWE6ICd2aWRlbycKCQl9LAoJCW0zdXY6IHsgLy8gTTNVCgkJCWNvZGVjOiAnYXVkaW8vbXBlZ3VybCcsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQlvZ3Y6IHsgLy8gT0dHCgkJCWNvZGVjOiAndmlkZW8vb2dnOyBjb2RlY3M9InRoZW9yYSwgdm9yYmlzIicsCgkJCWZsYXNoQ2FuUGxheTogZmFsc2UsCgkJCW1lZGlhOiAndmlkZW8nCgkJfSwKCQl3ZWJtdjogeyAvLyBXRUJNCgkJCWNvZGVjOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2b3JiaXMsIHZwOCInLAoJCQlmbGFzaENhblBsYXk6IGZhbHNlLAoJCQltZWRpYTogJ3ZpZGVvJwoJCX0sCgkJZmx2OiB7IC8vIEZMViAvIEY0VgoJCQljb2RlYzogJ3ZpZGVvL3gtZmx2JywKCQkJZmxhc2hDYW5QbGF5OiB0cnVlLAoJCQltZWRpYTogJ3ZpZGVvJwoJCX0sCgkJcnRtcHY6IHsgLy8gUlRNUCBWSURFTwoJCQljb2RlYzogJ3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLAoJCQlmbGFzaENhblBsYXk6IHRydWUsCgkJCW1lZGlhOiAndmlkZW8nCgkJfQoJfSwKCWlzT2JqZWN0ID0gZnVuY3Rpb24odmFsKSB7IC8vIEJhc2ljIGNoZWNrIGZvciBPYmplY3QKCQlpZih2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsLmhhc093blByb3BlcnR5KSB7CgkJCXJldHVybiB0cnVlOwoJCX0gZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9LAoJZ2V0TWVkaWFUeXBlID0gZnVuY3Rpb24odXJsKSB7IC8vIEZ1bmN0aW9uIHRvIGdsZWFtIHRoZSBtZWRpYSB0eXBlIGZyb20gdGhlIFVSTAoJCXZhciBtZWRpYVR5cGUgPSBmYWxzZTsKCQlpZigvXC5tcDMkL2kudGVzdCh1cmwpKSB7CgkJCW1lZGlhVHlwZSA9ICdtcDMnOwoJCX0gZWxzZSBpZigvXC5tcDQkL2kudGVzdCh1cmwpIHx8IC9cLm00diQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ200dic7CgkJfSBlbHNlIGlmKC9cLm00YSQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ200YSc7CgkJfSBlbHNlIGlmKC9cLm9nZyQvaS50ZXN0KHVybCkgfHwgL1wub2dhJC9pLnRlc3QodXJsKSkgewoJCQltZWRpYVR5cGUgPSAnb2dhJzsKCQl9IGVsc2UgaWYoL1wub2d2JC9pLnRlc3QodXJsKSkgewoJCQltZWRpYVR5cGUgPSAnb2d2JzsKCQl9IGVsc2UgaWYoL1wud2VibSQvaS50ZXN0KHVybCkpIHsKCQkJbWVkaWFUeXBlID0gJ3dlYm12JzsKCQl9CgkJcmV0dXJuIG1lZGlhVHlwZTsKCX0sCglnZXRTdXBwbGllZCA9IGZ1bmN0aW9uKHVybCkgeyAvLyBGdW5jdGlvbiB0byBnZW5lcmF0ZSBhIHN1cHBsaWVkIG9wdGlvbiBmcm9tIGFuIHNyYyBvYmplY3QuIGllLiwgV2hlbiBzdXBwbGllZCBub3Qgc3BlY2lmaWVkLgoJCXZhciBzdXBwbGllZCA9ICcnLAoJCXNlcGFyYXRvciA9ICcnOwoJCWlmKGlzT2JqZWN0KHVybCkpIHsKCQkJLy8gR2VuZXJhdGUgc3VwcGxpZWQgb3B0aW9uIGZyb20gb2JqZWN0J3MgcHJvcGVydGllcy4gTm9uLWZvcm1hdCBwcm9wZXJ0aWVzIHdvdWxkIGJlIGlnbm9yZWQgYnkgalBsYXllci4gT3JkZXIgaXMgdW5wcmVkaWN0YWJsZS4KCQkJZm9yKHZhciBwcm9wIGluIHVybCkgewoJCQkJaWYodXJsLmhhc093blByb3BlcnR5KHByb3ApKSB7CgkJCQkJc3VwcGxpZWQgKz0gc2VwYXJhdG9yICsgcHJvcDsKCQkJCQlzZXBhcmF0b3IgPSAnLCc7CgkJCQl9CgkJCX0KCQl9CgkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdnZXRTdXBwbGllZCgpOiBHZW5lcmF0ZWQ6IHN1cHBsaWVkID0gIicgKyBzdXBwbGllZCArICciJyk7CgkJcmV0dXJuIHN1cHBsaWVkOwoJfTsKCglQb3Bjb3JuLnBsYXllciggJ2pwbGF5ZXInLCB7CgkJX2NhblBsYXlUeXBlOiBmdW5jdGlvbiggY29udGFpbmVyVHlwZSwgdXJsICkgewoJCQkvLyB1cmwgOiBFaXRoZXIgYSBTdHJpbmcgb3IgYW4gT2JqZWN0IHN0cnVjdHVyZWQgc2ltaWxhciBhIGpQbGF5ZXIgbWVkaWEgb2JqZWN0LiBpZS4sIEFzIHVzZWQgYnkgc2V0TWVkaWEgaW4galBsYXllci4KCQkJLy8gVGhlIHVybCBvYmplY3QgbWF5IGFsc28gY29udGFpbiBhIHNvbHV0aW9uIGFuZCBzdXBwbGllZCBwcm9wZXJ0eS4KCgkJCS8vIERlZmluZSB0aGUgc3JjIG9iamVjdCBzdHJ1Y3R1cmUgaGVyZSEKCgkJCXZhciBjVHlwZSA9IGNvbnRhaW5lclR5cGUudG9Mb3dlckNhc2UoKSwKCQkJc3JjT2JqID0gewoJCQkJbWVkaWE6e30sCgkJCQlvcHRpb25zOnt9CgkJCX0sCgkJCXJWYWwgPSBmYWxzZSwgLy8gT25seSBhIGJvb2xlYW4gZmFsc2UgbWVhbnMgaXQgaXMgbm90IHN1cHBvcnRlZC4KCQkJbWVkaWFUeXBlOwoKCQkJaWYoY1R5cGUgIT09ICd2aWRlbycgJiYgY1R5cGUgIT09ICdhdWRpbycpIHsKCgkJCQlpZih0eXBlb2YgdXJsID09PSAnc3RyaW5nJykgewoJCQkJCS8vIENoZWNrIGl0IHN0YXJ0cyB3aXRoIGh0dHAsIHNvIHRoZSBVUkwgaXMgYWJzb2x1dGUuLi4gV2VsbCwgaXQgaXMgbm90IGEgcGVyZmVjdCBjaGVjay4KCQkJCQlpZigvXmh0dHAuKi9pLnRlc3QodXJsKSkgewoJCQkJCQltZWRpYVR5cGUgPSBnZXRNZWRpYVR5cGUodXJsKTsKCQkJCQkJaWYobWVkaWFUeXBlKSB7CgkJCQkJCQlzcmNPYmoubWVkaWFbbWVkaWFUeXBlXSA9IHVybDsKCQkJCQkJCXNyY09iai5vcHRpb25zLnNvbHV0aW9uID0gU09MVVRJT047CgkJCQkJCQlzcmNPYmoub3B0aW9ucy5zdXBwbGllZCA9IG1lZGlhVHlwZTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJc3JjT2JqID0gdXJsOyAvLyBBc3N1bWUgdGhlIHVybCBpcyBhbiBzcmMgb2JqZWN0LgoJCQkJfQoKCQkJCS8vIENoZWNrIGZvciBPYmplY3QgYW5kIGFwcHJvcHJpYXRlIG1pbmltdW0gZGF0YSBzdHJ1Y3R1cmUuCgkJCQlpZihpc09iamVjdChzcmNPYmopICYmIGlzT2JqZWN0KHNyY09iai5tZWRpYSkpIHsKCgkJCQkJaWYoIWlzT2JqZWN0KHNyY09iai5vcHRpb25zKSkgewoJCQkJCQlzcmNPYmoub3B0aW9ucyA9IHt9OwoJCQkJCX0KCgkJCQkJaWYoIXNyY09iai5vcHRpb25zLnNvbHV0aW9uKSB7CgkJCQkJCXNyY09iai5vcHRpb25zLnNvbHV0aW9uID0gU09MVVRJT047CgkJCQkJfQoKCQkJCQlpZighc3JjT2JqLm9wdGlvbnMuc3VwcGxpZWQpIHsKCQkJCQkJc3JjT2JqLm9wdGlvbnMuc3VwcGxpZWQgPSBnZXRTdXBwbGllZChzcmNPYmoubWVkaWEpOwoJCQkJCX0KCgkJCQkJLy8gRmlndXJlIG91dCBob3cgalBsYXllciB3aWxsIHBsYXkgaXQuCgkJCQkJLy8gVGhpcyBtYXkgbm90IHdvcmsgcHJvcGVybHkgd2hlbiBib3RoIGF1ZGlvIGFuZCB2aWRlbyBpcyBzdXBwbGllZC4gaWUuLCBBIG1lZGlhIHBsYXllci4gQnV0IGl0IHNob3VsZCByZXR1cm4gdHJ1ZXRoeSBhbmQgalBsYXllciBjYW4gZmlndXJlIGl0IG91dC4KCQkJCQkKCQkJCQl2YXIgc29sdXRpb24gPSBzcmNPYmoub3B0aW9ucy5zb2x1dGlvbi50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksIC8vIENyZWF0ZSB0aGUgc29sdXRpb24gYXJyYXksIHdpdGggcHJvcml0eSBiYXNlZCBvbiB0aGUgb3JkZXIgb2YgdGhlIHNvbHV0aW9uIHN0cmluZy4KCQkJCQlzdXBwbGllZCA9IHNyY09iai5vcHRpb25zLnN1cHBsaWVkLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKTsgLy8gQ3JlYXRlIHRoZSBzdXBwbGllZCBmb3JtYXRzIGFycmF5LCB3aXRoIHByb3JpdHkgYmFzZWQgb24gdGhlIG9yZGVyIG9mIHRoZSBzdXBwbGllZCBmb3JtYXRzIHN0cmluZy4KCgkJCQkJZm9yKHZhciBzb2wgPSAwOyBzb2wgPCBzb2x1dGlvbi5sZW5ndGg7IHNvbCsrKSB7CgoJCQkJCQl2YXIgc29sdXRpb25UeXBlID0gc29sdXRpb25bc29sXS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpLCAvL3RyaW0KCQkJCQkJY2hlY2tpbmdIdG1sID0gc29sdXRpb25UeXBlID09PSAnaHRtbCcsCgkJCQkJCWNoZWNraW5nRmxhc2ggPSBzb2x1dGlvblR5cGUgPT09ICdmbGFzaCcsCgkJCQkJCW1lZGlhRWxlbTsKCgkJCQkJCWZvcih2YXIgZm10ID0gMDsgZm10IDwgc3VwcGxpZWQubGVuZ3RoOyBmbXQrKykgewoJCQkJCQkJbWVkaWFUeXBlID0gc3VwcGxpZWRbZm10XS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpOyAvL3RyaW0KCQkJCQkJCWlmKGZvcm1hdFttZWRpYVR5cGVdKSB7IC8vIENoZWNrIGZvcm1hdCBpcyB2YWxpZC4KCgkJCQkJCQkJLy8gQ3JlYXRlIGFuIEhUTUw1IG1lZGlhIGVsZW1lbnQgZm9yIHRoZSB0eXBlIG9mIG1lZGlhLgoJCQkJCQkJCWlmKCFtZWRpYUVsZW0gJiYgY2hlY2tpbmdIdG1sKSB7CgkJCQkJCQkJCW1lZGlhRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZm9ybWF0W21lZGlhVHlwZV0ubWVkaWEpOwoJCQkJCQkJCX0KCQkJCQkJCQkvLyBTZWUgaWYgdGhlIEhUTUw1IG1lZGlhIGVsZW1lbnQgY2FuIHBsYXkgdGhlIE1JTUUgLyBDb2RlYyB0eXBlLgoJCQkJCQkJCS8vIEZsYXNoIGFsc28gcmV0dXJucyB0aGUgb2JqZWN0IGlmIHRoZSBmb3JtYXQgaXMgcGxheWFibGUsIHNvIGl0IGlzIHRydWV0aHksIGJ1dCB0aGF0IGh0bWwgcHJvcGVydHkgaXMgZmFsc2UuCgkJCQkJCQkJLy8gVGhpcyBhc3N1bWVzIEZsYXNoIGlzIGF2YWlsYWJsZSwgYnV0IHRoYXQgc2hvdWxkIGJlIGRlYWx0IHdpdGggYnkgalBsYXllciBpZiB0aGF0IGhhcHBlbnMuCgkJCQkJCQkJdmFyIGh0bWxDYW5QbGF5ID0gISEobWVkaWFFbGVtICYmIG1lZGlhRWxlbS5jYW5QbGF5VHlwZSAmJiBtZWRpYUVsZW0uY2FuUGxheVR5cGUoZm9ybWF0W21lZGlhVHlwZV0uY29kZWMpKSwKCQkJCQkJCQlodG1sV2lsbFBsYXkgPSBodG1sQ2FuUGxheSAmJiBjaGVja2luZ0h0bWwsCgkJCQkJCQkJZmxhc2hXaWxsUGxheSA9IGZvcm1hdFttZWRpYVR5cGVdLmZsYXNoQ2FuUGxheSAmJiBjaGVja2luZ0ZsYXNoOwoJCQkJCQkJCS8vIFRoZSBmaXJzdCBvbmUgZm91bmQgd2lsbCBtYXRjaCB3aGF0IGpQbGF5ZXIgdXNlcy4KCQkJCQkJCQlpZihodG1sV2lsbFBsYXkgfHwgZmxhc2hXaWxsUGxheSkgewoJCQkJCQkJCQlyVmFsID0gewoJCQkJCQkJCQkJaHRtbDogaHRtbFdpbGxQbGF5LAoJCQkJCQkJCQkJdHlwZTogbWVkaWFUeXBlCgkJCQkJCQkJCX07CgkJCQkJCQkJCXNvbCA9IHNvbHV0aW9uLmxlbmd0aDsgLy8gRXhpdCBzb2x1dGlvbiBsb29wCgkJCQkJCQkJCWZtdCA9IHN1cHBsaWVkLmxlbmd0aDsgLy8gRXhpdCBzdXBwbGllZCBsb29wCgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJCXJldHVybiByVmFsOwoJCX0sCgkJLy8gX3NldHVwOiBmdW5jdGlvbiggb3B0aW9ucyApIHsgLy8gV2FybmluZzogb3B0aW9ucyBpcyBkZXByZWNhdGVkLgoJCV9zZXR1cDogZnVuY3Rpb24oKSB7CgkJCXZhciBtZWRpYSA9IHRoaXMsCgkJCW15UGxheWVyLCAvLyBUaGUgalF1ZXJ5IHNlbGVjdG9yIG9mIHRoZSBqUGxheWVyIGVsZW1lbnQuIFVzdWFsbHkgYSA8ZGl2PgoJCQlqUGxheWVyT2JqLCAvLyBUaGUgalBsYXllciBkYXRhIGluc3RhbmNlLiBGb3IgcGVyZm9ybWFuY2UgYW5kIERSWSBjb2RlLgoJCQltZWRpYVR5cGUgPSAndW5rbm93bicsCgkJCWpwTWVkaWEgPSB7fSwKCQkJanBPcHRpb25zID0ge30sCgkJCXJlYWR5ID0gZmFsc2UsIC8vIFVzZWQgZHVyaW5nIGluaXQgdG8gb3ZlcnJpZGUgdGhlIGFubm95aW5nIGR1cmF0aW9uIGRlcGVuZGFuY2UgaW4gdGhlIHRyYWNrIGV2ZW50IHBhZGRpbmcgZHVyaW5nIFBvcGNvcm4ncyBpc1JlYWR5KCkuIGllLiwgV2UgaXMgcmVhZHkgYWZ0ZXIgbG9hZGVkZGF0YSBhbmQgZHVyYXRpb24gY2FuIHRoZW4gYmUgc2V0IHJlYWwgdmFsdWUgYXQgbGVpc3VyZS4KCQkJZHVyYXRpb24gPSAwLCAvLyBGb3IgdGhlIGR1cmF0aW9uY2hhbmdlIGV2ZW50IHdpdGggYm90aCBIVE1MNSBhbmQgRmxhc2ggc29sdXRpb25zLiBVc2VkIHdpdGggJ3JlYWR5JyB0byBrZWVwIGNvbnRyb2wgZHVyaW5nIHRoZSBQb3Bjb3JuIGlzUmVhZHkoKSB2aWEgbG9hZGVkZGF0YSBldmVudC4gKER1cmF0aW9uPTAgaXMgYmFkLikKCQkJZHVyYXRpb25jaGFuZ2VJZCA9IG51bGwsIC8vIEEgdGltZW91dCBJRCB1c2VkIHdpdGggZGVsYXllZCBkdXJhdGlvbmNoYW5nZSBldmVudC4gKEJlY2F1c2Ugb2YgdGhlIGR1cmF0aW9uPU5hTiBmdWRnZSB0byBhdm9pZCBQb3Bjb3JuIHRyYWNrIGV2ZW50IGNvcnJ1cHRpb24uKQoJCQljYW5wbGF5dGhyb3VnaCA9IGZhbHNlLAoJCQllcnJvciA9IG51bGwsIC8vIFRoZSBNZWRpYUVycm9yIG9iamVjdC4KCgkJCWRpc3BhdGNoRHVyYXRpb25DaGFuZ2UgPSBmdW5jdGlvbigpIHsKCQkJCWlmKHJlYWR5KSB7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdEaXNwYXRjaGVkIGV2ZW50IDogZHVyYXRpb25jaGFuZ2UgOiAnICsgZHVyYXRpb24pOwoJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQoJ2R1cmF0aW9uY2hhbmdlJyk7CgkJCQl9IGVsc2UgewoJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnREVMQVlFRCBFVkVOVCAoIXJlYWR5KSA6IGR1cmF0aW9uY2hhbmdlIDogJyArIGR1cmF0aW9uKTsKCQkJCQljbGVhclRpbWVvdXQoZHVyYXRpb25jaGFuZ2VJZCk7IC8vIFN0b3AgbXVsdGlwbGUgdHJpZ2dlcnMgY2F1c2luZyBtdWx0aXBsZSB0aW1lb3V0cyBydW5uaW5nIGluIHBhcmFsbGVsLgoJCQkJCWR1cmF0aW9uY2hhbmdlSWQgPSBzZXRUaW1lb3V0KGRpc3BhdGNoRHVyYXRpb25DaGFuZ2UsIDI1MCk7CgkJCQl9CgkJCX0sCgoJCQlqUGxheWVyRmxhc2hFdmVudHNQYXRjaCA9IGZ1bmN0aW9uKCkgewoKCQkJCS8qIEV2ZW50cyBhbHJlYWR5IHN1cHBvcnRlZCBieSBqUGxheWVyIEZsYXNoOgoJCQkJICogbG9hZHN0YXJ0CgkJCQkgKiBsb2FkZWRtZXRhZGF0YSAoTTRBLCBNNFYpCgkJCQkgKiBwcm9ncmVzcwoJCQkJICogcGxheQoJCQkJICogcGF1c2UKCQkJCSAqIHNlZWtpbmcKCQkJCSAqIHNlZWtlZAoJCQkJICogdGltZXVwZGF0ZQoJCQkJICogZW5kZWQKCQkJCSAqIHZvbHVtZWNoYW5nZQoJCQkJICogZXJyb3IgPC0gU2VlIHRoZSBjdXN0b20gaGFuZGxlciBpbiBqUGxheWVySW5pdCgpCgkJCQkgKi8KCgkJCQkvKiBFdmVudHMgcGF0Y2hlZDoKCQkJCSAqIGxvYWRlZGRhdGEKCQkJCSAqIGR1cmF0aW9uY2hhbmdlCgkJCQkgKiBjYW5wbGF5dGhyb3VnaAoJCQkJICogcGxheWluZwoJCQkJICovCgoJCQkJLyogRXZlbnRzIE5PVCBwYXRjaGVkOgoJCQkJICogc3VzcGVuZAoJCQkJICogYWJvcnQKCQkJCSAqIGVtcHRpZWQKCQkJCSAqIHN0YWxsZWQKCQkJCSAqIGxvYWRlZG1ldGFkYXRhIChNUDMpCgkJCQkgKiB3YWl0aW5nCgkJCQkgKiBjYW5wbGF5CgkJCQkgKiByYXRlY2hhbmdlCgkJCQkgKi8KCgkJCQkvLyBUcmlnZ2VyaW5nIHBhdGNoZWQgZXZlbnRzIHRocm91Z2ggdGhlIGpQbGF5ZXIgT2JqZWN0IHNvIHRoZSBldmVudHMgYXJlIGhvbW9nZW5lb3VzLiBpZS4sIFRoZSBjb250YWluIHRoZSBldmVudC5qUGxheWVyIGRhdGEgc3RydWN0dXJlLgoKCQkJCXZhciBjaGVja0R1cmF0aW9uID0gZnVuY3Rpb24oZXZlbnQpIHsKCQkJCQlpZihldmVudC5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbiAhPT0gZHVyYXRpb24pIHsKCQkJCQkJZHVyYXRpb24gPSBldmVudC5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbjsKCQkJCQkJZGlzcGF0Y2hEdXJhdGlvbkNoYW5nZSgpOwoJCQkJCX0KCQkJCX0sCgoJCQkJY2hlY2tDYW5QbGF5VGhyb3VnaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJaWYoIWNhbnBsYXl0aHJvdWdoICYmIGV2ZW50LmpQbGF5ZXIuc3RhdHVzLnNlZWtQZXJjZW50ID09PSAxMDApIHsKCQkJCQkJY2FucGxheXRocm91Z2ggPSB0cnVlOwoJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdUcmlnZ2VyIDogY2FucGxheXRocm91Z2gnKTsKCQkJCQkJCWpQbGF5ZXJPYmouX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNhbnBsYXl0aHJvdWdoKTsKCQkJCQkJfSwgMCk7CgkJCQkJfQoJCQkJfTsKCgkJCQlteVBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5sb2Fkc3RhcnQsIGZ1bmN0aW9uKCkgewoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnVHJpZ2dlciA6IGxvYWRlZGRhdGEnKTsKCQkJCQkJalBsYXllck9iai5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQubG9hZGVkZGF0YSk7CgkJCQkJfSwgMCk7CgkJCQl9KQoJCQkJLmJpbmQoJC5qUGxheWVyLmV2ZW50LnByb2dyZXNzLCBmdW5jdGlvbihldmVudCkgewoJCQkJCWNoZWNrRHVyYXRpb24oZXZlbnQpOwoJCQkJCWNoZWNrQ2FuUGxheVRocm91Z2goZXZlbnQpOwoJCQkJfSkKCQkJCS5iaW5kKCQualBsYXllci5ldmVudC50aW1ldXBkYXRlLCBmdW5jdGlvbihldmVudCkgewoJCQkJCWNoZWNrRHVyYXRpb24oZXZlbnQpOwoJCQkJCWNoZWNrQ2FuUGxheVRocm91Z2goZXZlbnQpOwoJCQkJfSkKCQkJCS5iaW5kKCQualBsYXllci5ldmVudC5wbGF5LCBmdW5jdGlvbigpIHsKCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ1RyaWdnZXIgOiBwbGF5aW5nJyk7CgkJCQkJCWpQbGF5ZXJPYmouX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LnBsYXlpbmcpOwoJCQkJCX0sIDApOwoJCQkJfSk7CgoJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVycyBmb3IgRkxBU0gnKTsKCQkJfSwKCgkJCWpQbGF5ZXJJbml0ID0gZnVuY3Rpb24oKSB7CgkJCQkoZnVuY3Rpb24oJCkgewoKCQkJCQlteVBsYXllciA9ICQoJyMnICsgIG1lZGlhLmlkKTsKCgkJCQkJaWYodHlwZW9mIG1lZGlhLnNyYyA9PT0gJ3N0cmluZycpIHsKCQkJCQkJbWVkaWFUeXBlID0gZ2V0TWVkaWFUeXBlKG1lZGlhLnNyYyk7CgkJCQkJCWpwTWVkaWFbbWVkaWFUeXBlXSA9IG1lZGlhLnNyYzsKCQkJCQkJanBPcHRpb25zLnN1cHBsaWVkID0gbWVkaWFUeXBlOwoJCQkJCQlqcE9wdGlvbnMuc29sdXRpb24gPSBTT0xVVElPTjsKCQkJCQl9IGVsc2UgaWYoaXNPYmplY3QobWVkaWEuc3JjKSkgewoJCQkJCQlqcE1lZGlhID0gaXNPYmplY3QobWVkaWEuc3JjLm1lZGlhKSA/IG1lZGlhLnNyYy5tZWRpYSA6IHt9OwoJCQkJCQlqcE9wdGlvbnMgPSBpc09iamVjdChtZWRpYS5zcmMub3B0aW9ucykgPyBtZWRpYS5zcmMub3B0aW9ucyA6IHt9OwoJCQkJCQlqcE9wdGlvbnMuc29sdXRpb24gPSBqcE9wdGlvbnMuc29sdXRpb24gfHwgU09MVVRJT047CgkJCQkJCWpwT3B0aW9ucy5zdXBwbGllZCA9IGpwT3B0aW9ucy5zdXBwbGllZCB8fCBnZXRTdXBwbGllZChtZWRpYS5zcmMubWVkaWEpOwoJCQkJCX0KCgkJCQkJLy8gQWxsb3cgdGhlIHN3ZlBhdGggdG8gYmUgc2V0IHRvIGxvY2FsIHNlcnZlci4gaWUuLCBJZiB0aGUgalBsYXllciBQbHVnaW4gaXMgbG9jYWwgYW5kIGFscmVhZHkgb24gdGhlIHBhZ2UsIHRoZW4geW91IGNhbiBhbHNvIHVzZSB0aGUgbG9jYWwgU1dGLgoJCQkJCWpwT3B0aW9ucy5zd2ZQYXRoID0ganBPcHRpb25zLnN3ZlBhdGggfHwgSlBMQVlFUl9TV0ZQQVRIOwoKCQkJCQlteVBsYXllci5iaW5kKCQualBsYXllci5ldmVudC5yZWFkeSwgZnVuY3Rpb24oZXZlbnQpIHsKCQkJCQkJaWYoZXZlbnQualBsYXllci5mbGFzaC51c2VkKSB7CgkJCQkJCQlqUGxheWVyRmxhc2hFdmVudHNQYXRjaCgpOwoJCQkJCQl9CgkJCQkJCS8vIFNldCB0aGUgbWVkaWEgYW5kZCBsb2FkIGl0LCBzbyB0aGF0IHRoZSBGbGFzaCBzb2x1dGlvbiBiZWhhdmVzIHNpbWlsYXIgdG8gSFRNTDUgc29sdXRpb24uCgkJCQkJCS8vIFRoaXMgYWxzbyBhbGxvd3MgdGhlIGxvYWRzdGFydCBldmVudCB0byBiZSB1c2VkIHRvIGtub3cgalBsYXllciBpcyByZWFkeS4KCQkJCQkJJCh0aGlzKS5qUGxheWVyKCdzZXRNZWRpYScsIGpwTWVkaWEpLmpQbGF5ZXIoJ2xvYWQnKTsKCQkJCQl9KTsKCgkJCQkJLy8gRG8gbm90IGF1dG8tYnViYmxlIHRoZSByZXNlcnZlZCBldmVudHMsIG5vciB0aGUgbG9hZGVkZGF0YSBhbmQgZHVyYXRpb25jaGFuZ2UgZXZlbnQsIHNpbmNlIHRoZSBkdXJhdGlvbiBtdXN0IGJlIGNhcmVmdWxseSBoYW5kbGVkIHdoZW4gbG9hZGVkZGF0YSBldmVudCBvY2N1cnMuCgkJCQkJLy8gU2VlIHRoZSBkdXJhdGlvbiBwcm9wZXJ0eSBjb2RlIGZvciBtb3JlIGRldGFpbHMuIChSYW50aW5nLikKCgkJCQkJdmFyIHJlc2VydmVkRXZlbnRzID0gJC5qUGxheWVyLnJlc2VydmVkRXZlbnQgKyAnIGxvYWRlZGRhdGEgZHVyYXRpb25jaGFuZ2UnLAoJCQkJCXJlc2VydmVkRXZlbnQgPSByZXNlcnZlZEV2ZW50cy5zcGxpdCgvXHMrL2cpOwoKCQkJCQkvLyBHZW5lcmF0ZSBldmVudCBoYW5kbGVycyBmb3IgYWxsIHRoZSBzdGFuZGFyZCBIVE1MNSBtZWRpYSBldmVudHMuIChFeGNlcHQgZHVyYXRpb25jaGFuZ2UpCgoJCQkJCXZhciBiaW5kRXZlbnQgPSBmdW5jdGlvbihuYW1lKSB7CgkJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50W25hbWVdLCBmdW5jdGlvbihldmVudCkgewoJCQkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdEaXNwYXRjaGVkIGV2ZW50OiAnICsgbmFtZSArIChldmVudCAmJiBldmVudC5qUGxheWVyID8gJyAoJyArIGV2ZW50LmpQbGF5ZXIuc3RhdHVzLmN1cnJlbnRUaW1lICsgJ3MpJyA6ICcnKSk7IC8vIE11c3QgYmUgYWZ0ZXIgZGlzcGF0Y2ggZm9yIHNvbWUgcmVhc29uIG9uIEZpcmVmb3gvT3BlcmEKCQkJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQobmFtZSk7CgkJCQkJCX0pOwoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0NyZWF0ZWQgZXZlbnQgaGFuZGxlciBmb3I6ICcgKyBuYW1lKTsKCQkJCQl9OwoKCQkJCQlmb3IodmFyIGV2ZW50TmFtZSBpbiAkLmpQbGF5ZXIuZXZlbnQpIHsKCQkJCQkJaWYoJC5qUGxheWVyLmV2ZW50Lmhhc093blByb3BlcnR5KGV2ZW50TmFtZSkpIHsKCQkJCQkJCXZhciBuYXRpdmVFdmVudCA9IHRydWU7CgkJCQkJCQlmb3IodmFyIGlSZXMgaW4gcmVzZXJ2ZWRFdmVudCkgewoJCQkJCQkJCWlmKHJlc2VydmVkRXZlbnQuaGFzT3duUHJvcGVydHkoaVJlcykpIHsKCQkJCQkJCQkJaWYocmVzZXJ2ZWRFdmVudFtpUmVzXSA9PT0gZXZlbnROYW1lKSB7CgkJCQkJCQkJCQluYXRpdmVFdmVudCA9IGZhbHNlOwoJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCQlpZihuYXRpdmVFdmVudCkgewoJCQkJCQkJCWJpbmRFdmVudChldmVudE5hbWUpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ1NraXBwZWQgYXV0byBldmVudCBoYW5kbGVyIGNyZWF0aW9uIGZvcjogJyArIGV2ZW50TmFtZSk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgoJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50LmxvYWRlZGRhdGEsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmxvZygnRGlzcGF0Y2hlZCBldmVudDogbG9hZGVkZGF0YScgKyAoZXZlbnQgJiYgZXZlbnQualBsYXllciA/ICcgKCcgKyBldmVudC5qUGxheWVyLnN0YXR1cy5jdXJyZW50VGltZSArICdzKScgOiAnJykpOwoJCQkJCQltZWRpYS5kaXNwYXRjaEV2ZW50KCdsb2FkZWRkYXRhJyk7CgkJCQkJCXJlYWR5ID0gdHJ1ZTsKCQkJCQl9KTsKCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0NyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXIgZm9yOiBsb2FkZWRkYXRhJyk7CgoJCQkJCW15UGxheWVyLmJpbmQoJC5qUGxheWVyLmV2ZW50LmR1cmF0aW9uY2hhbmdlLCBmdW5jdGlvbihldmVudCkgewoJCQkJCQlkdXJhdGlvbiA9IGV2ZW50LmpQbGF5ZXIuc3RhdHVzLmR1cmF0aW9uOwoJCQkJCQlkaXNwYXRjaER1cmF0aW9uQ2hhbmdlKCk7CgkJCQkJfSk7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZHVyYXRpb25jaGFuZ2UnKTsKCgkJCQkJLy8gVGhlIGVycm9yIGV2ZW50IGlzIGEgc3BlY2lhbCBjYXNlLiBQbHVzIGpQbGF5ZXIgZXJyb3IgZXZlbnQgYXNzdW1lcyBpdCBpcyBhIGJyb2tlbiBVUkwuIChJdCBjb3VsZCBhbHNvIGJlIGEgZGVjb2RlciBlcnJvci4uLiBPciBhYm9ydGVkIG9yIGEgTmV0d29yayBlcnJvci4pCgkJCQkJbXlQbGF5ZXIuYmluZCgkLmpQbGF5ZXIuZXZlbnQuZXJyb3IsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCS8vIE5vdCBzdXJlIGhvdyB0byBoYW5kbGUgdGhlIGVycm9yIHNpdHVhdGlvbi4gUG9wY29ybiBkb2VzIG5vdCBhcHBlYXIgdG8gaGF2ZSB0aGUgZXJyb3Igb3IgZXJyb3IuY29kZSBwcm9wZXJ0eSBkb2N1bWVudGVkIGhlcmU6IGh0dHA6Ly9wb3Bjb3JuanMub3JnL3BvcGNvcm4tZG9jcy9tZWRpYS1tZXRob2RzLwoJCQkJCQkvLyBJZiBhbnkgZXJyb3IgZXZlbnQgaGFwcGVucywgdGhlbiBzb21ldGhpbmcgaGFzIGdvbmUgcGVhciBzaGFwZWQuCgoJCQkJCQllcnJvciA9IGV2ZW50LmpQbGF5ZXIuZXJyb3I7IC8vIFNhdmluZyBvYmplY3QgcG9pbnRlciwgbm90IGEgY29weSBvZiB0aGUgb2JqZWN0LiBQb3NzaWJsZSBnYXJiYWdlIGNvbGxlY3Rpb24gaXNzdWUuLi4gQnV0IHRoZSBwbGF5ZXIgaXMgZGVhZCBhbnl3YXksIHNvIGRvbid0IGNhcmUuCgoJCQkJCQlpZihlcnJvci50eXBlID09PSAkLmpQbGF5ZXIuZXJyb3IuVVJMKSB7CgkJCQkJCQllcnJvci5jb2RlID0gNDsgLy8gTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVEIHNpbmNlIGpQbGF5ZXIgbWFrZXMgdGhpcyBhc3N1bXB0aW9uLiBJdCBpcyB0aGUgbW9zdCBjb21tb24gZXJyb3IsIHRoZW4gdGhlIGRlY29kZSBlcnJvci4gTmV2ZXIgc2VlbiBlaXRoZXIgb2YgdGhlIG90aGVyIDIgZXJyb3IgdHlwZXMgb2NjdXIuCgkJCQkJCX0gZWxzZSB7CgkJCQkJCQllcnJvci5jb2RlID0gMDsgLy8gSXQgd2FzIGEgalBsYXllciBlcnJvciwgbm90IGFuIEhUTUw1IG1lZGlhIGVycm9yLgoJCQkJCQl9CgoJCQkJCQlpZihERUJVRykgY29uc29sZS5sb2coJ0Rpc3BhdGNoZWQgZXZlbnQ6IGVycm9yJyk7CgkJCQkJCWlmKERFQlVHKSBjb25zb2xlLmRpcihlcnJvcik7CgkJCQkJCW1lZGlhLmRpc3BhdGNoRXZlbnQoJ2Vycm9yJyk7CgkJCQkJfSk7CgkJCQkJaWYoREVCVUcpIGNvbnNvbGUubG9nKCdDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZXJyb3InKTsKCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAnZXJyb3InLCB7CgkJCQkJCXNldDogZnVuY3Rpb24oKSB7CgkJCQkJCQkvLyBSZWFkLW9ubHkgcHJvcGVydHkKCQkJCQkJCXJldHVybiBlcnJvcjsKCQkJCQkJfSwKCQkJCQkJZ2V0OiBmdW5jdGlvbigpIHsKCQkJCQkJCXJldHVybiBlcnJvcjsKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQlQb3Bjb3JuLnBsYXllci5kZWZpbmVQcm9wZXJ0eSggbWVkaWEsICdjdXJyZW50VGltZScsIHsKCQkJCQkJc2V0OiBmdW5jdGlvbiggdmFsICkgewoJCQkJCQkJaWYoalBsYXllck9iai5zdGF0dXMucGF1c2VkKSB7CgkJCQkJCQkJbXlQbGF5ZXIualBsYXllcigncGF1c2UnLCB2YWwpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlteVBsYXllci5qUGxheWVyKCdwbGF5JywgdmFsKTsKCQkJCQkJCX0KCQkJCQkJCXJldHVybiB2YWw7CgkJCQkJCX0sCgkJCQkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5zdGF0dXMuY3VycmVudFRpbWU7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJLyogVGhlIGpveSBvZiBkdXJhdGlvbiBhbmQgdGhlIGxvYWRlZGRhdGEgZXZlbnQgaXNSZWFkeSgpIGhhbmRsZXIKCQkJCQkgKiBUaGUgZHVyYXRpb24gaXMgYXNzdW1lZCB0byBiZSBhIE5hTiBvciBhIHZhbGlkIGR1cmF0aW9uLgoJCQkJCSAqIGpQbGF5ZXIgdXNlcyB6ZXJvIGluc3RlYWQgb2YgYSBOYU4gYW5kIHRoaXMgc2NyZXdzIHVwIHRoZSBQb3Bjb3JuIHRyYWNrIGV2ZW50IHN0YXJ0L2VuZCBhcnJheXMgcGFkZGluZy4KCQkJCQkgKiBUaGlzIGxpbmUgaGVyZToKCQkJCQkgKiAgdmlkZW9EdXJhdGlvblBsdXMgPSBkdXJhdGlvbiAhPSBkdXJhdGlvbiA/IE51bWJlci5NQVhfVkFMVUUgOiBkdXJhdGlvbiArIDE7CgkJCQkJICogTm90IHN1cmUgd2h5IGl0IGlzIG5vdCBzaW1wbHk6CgkJCQkJICogIHZpZGVvRHVyYXRpb25QbHVzID0gTnVtYmVyLk1BWF9WQUxVRTsgLy8gV2hvIGNhcmVzIGlmIHRoZSBwYWRkaW5nIGlzIGNsb3NlIHRvIHRoZSByZWFsIGR1cmF0aW9uPwoJCQkJCSAqIFNvIGlmIHlvdSB0cmlnZ2VyIGxvYWRlZGRhdGEgYmVmb3JlIHRoZSBkdXJhdGlvbiBpcyBjb3JyZWN0LCB0aGUgdHJhY2sgZXZlbnQgcGFkZGluZyBpcyBzY3Jld2VkIHVwLiAoSXQgcGFkcyB0aGUgc3RhcnQsIG5vdCB0aGUgZW5kLi4uIFdlbGwsIGR1cmF0aW9uKzEgPSAwKzEgPSAxcykKCQkJCQkgKiBUaGF0IGxpbmUgbWFrZXMgdGhlIE1QMyBGbGFzaCBmYWxsYmFjayBkaWZmaWN1bHQgdG8gc2V0dXAuIFRoZSB3aG9sZSBNUDMgd2lsbCBuZWVkIHRvIGxvYWQgYmVmb3JlIHRoZSBkdXJhdGlvbiBpcyBrbm93bi4KCQkJCQkgKiBQbGFubmluZyBvbiB1c2luZyBhIE5hTiBmb3IgZHVyYXRpb24gdW50aWwgYSA+MCB2YWx1ZSBpcyBmb3VuZC4uLiBFeGNlcHQgd2l0aCBNUDMsIHdoZXJlIHNlZWtQZXJjZW50IG11c3QgYmUgMTAwJSBiZWZvcmUgc2V0dGluZyB0aGUgZHVyYXRpb24uCgkJCQkJICogV2h5IG5vdCBqdXN0IHVzZSBhIE5hTiBkdXJpbmcgaW5pdC4uLiBBbmQgdGhlbiBjb3JyZWN0IHRoZSBkdXJhdGlvbiBsYXRlcj8KCQkJCQkgKi8KCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAnZHVyYXRpb24nLCB7CgkJCQkJCXNldDogZnVuY3Rpb24oKSB7CgkJCQkJCQkvLyBSZWFkLW9ubHkgcHJvcGVydHkKCQkJCQkJCWlmKHJlYWR5KSB7CgkJCQkJCQkJcmV0dXJuIGR1cmF0aW9uOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlyZXR1cm4gTmFOOwoJCQkJCQkJfQoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJaWYocmVhZHkpIHsKCQkJCQkJCQlyZXR1cm4gZHVyYXRpb247IC8vIFBvcGNvcm4gaGFzIGluaXRpYWxpemVkLCB3ZSBjYW4gbm93IHVzZSBkdXJhdGlvbiB6ZXJvIG9yIHdoYXRldmVyIHdpdGhvdXQgZmVhci4KCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJcmV0dXJuIE5hTjsgLy8gS2VlcCB0aGUgZHVyYXRpb24gYSBOYU4gdW50aWwgYWZ0ZXIgbG9hZGVkZGF0YSBldmVudCBoYXMgb2NjdXJyZWQuIE90aGVyd2lzZSBQb3Bjb3JuIHRyYWNrIGV2ZW50IHBhZGRpbmcgaXMgY29ycnVwdGVkLgoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCVBvcGNvcm4ucGxheWVyLmRlZmluZVByb3BlcnR5KCBtZWRpYSwgJ211dGVkJywgewoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCB2YWwgKSB7CgkJCQkJCQlteVBsYXllci5qUGxheWVyKCdtdXRlJywgdmFsKTsKCQkJCQkJCXJldHVybiBqUGxheWVyT2JqLm9wdGlvbnMubXV0ZWQ7CgkJCQkJCX0sCgkJCQkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5vcHRpb25zLm11dGVkOwoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCVBvcGNvcm4ucGxheWVyLmRlZmluZVByb3BlcnR5KCBtZWRpYSwgJ3ZvbHVtZScsIHsKCQkJCQkJc2V0OiBmdW5jdGlvbiggdmFsICkgewoJCQkJCQkJbXlQbGF5ZXIualBsYXllcigndm9sdW1lJywgdmFsKTsKCQkJCQkJCXJldHVybiBqUGxheWVyT2JqLm9wdGlvbnMudm9sdW1lOwoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIGpQbGF5ZXJPYmoub3B0aW9ucy52b2x1bWU7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJUG9wY29ybi5wbGF5ZXIuZGVmaW5lUHJvcGVydHkoIG1lZGlhLCAncGF1c2VkJywgewoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJLy8gUmVhZC1vbmx5IHByb3BlcnR5CgkJCQkJCQlyZXR1cm4galBsYXllck9iai5zdGF0dXMucGF1c2VkOwoJCQkJCQl9LAoJCQkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCQkJcmV0dXJuIGpQbGF5ZXJPYmouc3RhdHVzLnBhdXNlZDsKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQltZWRpYS5wbGF5ID0gZnVuY3Rpb24oKSB7CgkJCQkJCW15UGxheWVyLmpQbGF5ZXIoJ3BsYXknKTsKCQkJCQl9OwoJCQkJCW1lZGlhLnBhdXNlID0gZnVuY3Rpb24oKSB7CgkJCQkJCW15UGxheWVyLmpQbGF5ZXIoJ3BhdXNlJyk7CgkJCQkJfTsKCgkJCQkJbXlQbGF5ZXIualBsYXllcihqcE9wdGlvbnMpOyAvLyBJbnN0YW5jZSBqUGxheWVyLiBOb3RlIHRoYXQgdGhlIG9wdGlvbnMgc2hvdWxkIG5vdCBoYXZlIGEgcmVhZHkgZXZlbnQgZGVmaW5lZC4uLiBLaWxsIGl0IGJ5IGRlZmF1bHQ/CgkJCQkJalBsYXllck9iaiA9IG15UGxheWVyLmRhdGEoJ2pQbGF5ZXInKTsKCgkJCQl9KGpRdWVyeSkpOwoJCQl9LAoKCQkJalBsYXllckNoZWNrID0gZnVuY3Rpb24oKSB7CgkJCQlpZiAoIWpRdWVyeS5qUGxheWVyKSB7CgkJCQkJaWYgKCFqUGxheWVyRG93bmxvYWRpbmcpIHsKCQkJCQkJalBsYXllckRvd25sb2FkaW5nID0gdHJ1ZTsKCQkJCQkJUG9wY29ybi5nZXRTY3JpcHQoSlBMQVlFUl9TQ1JJUFQsIGZ1bmN0aW9uKCkgewoJCQkJCQkJalBsYXllckRvd25sb2FkaW5nID0gZmFsc2U7CgkJCQkJCQlqUGxheWVySW5pdCgpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGpQbGF5ZXJDaGVjaywgMjUwKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWpQbGF5ZXJJbml0KCk7CgkJCQl9CgkJCX0sCgoJCQlqUXVlcnlDaGVjayA9IGZ1bmN0aW9uKCkgewoJCQkJaWYgKCF3aW5kb3cualF1ZXJ5KSB7CgkJCQkJaWYgKCFqUXVlcnlEb3dubG9hZGluZykgewoJCQkJCQlqUXVlcnlEb3dubG9hZGluZyA9IHRydWU7CgkJCQkJCVBvcGNvcm4uZ2V0U2NyaXB0KEpRVUVSWV9TQ1JJUFQsIGZ1bmN0aW9uKCkgewoJCQkJCQkJalF1ZXJ5RG93bmxvYWRpbmcgPSBmYWxzZTsKCQkJCQkJCWpQbGF5ZXJDaGVjaygpOwoJCQkJCQl9KTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGpRdWVyeUNoZWNrLCAyNTApOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJalBsYXllckNoZWNrKCk7CgkJCQl9CgkJCX07CgoJCQlqUXVlcnlDaGVjaygpOwoJCX0sCgkJX3RlYXJkb3duOiBmdW5jdGlvbigpIHsKCQkJalF1ZXJ5KCcjJyArICB0aGlzLmlkKS5qUGxheWVyKCdkZXN0cm95Jyk7CgkJfQoJfSk7Cgp9KFBvcGNvcm4pKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/popcorn/popcorn.jplayer.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIFBvcGNvcm4gUGxheWVyIGZvciBqUGxheWVyIDIuOS4yIH4gKGMpIDIwMDktMjAxNCBIYXBweXdvcm0gTHRkIH4gTUlUIExpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEpe3ZhciBiPSIvL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMS4xLm1pbi5qcyIsYz0iLy9jb2RlLmpwbGF5ZXIub3JnLzIuOS4wL2pwbGF5ZXIvanF1ZXJ5LmpwbGF5ZXIubWluLmpzIixkPSIvL2NvZGUuanBsYXllci5vcmcvMi45LjAvanBsYXllci9qcXVlcnkuanBsYXllci5zd2YiLGU9Imh0bWwsZmxhc2giLGY9ITEsZz0hMSxoPSExLGk9e21wMzp7Y29kZWM6ImF1ZGlvL21wZWciLGZsYXNoQ2FuUGxheTohMCxtZWRpYToiYXVkaW8ifSxtNGE6e2NvZGVjOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LG0zdThhOntjb2RlYzonYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0ibXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiExLG1lZGlhOiJhdWRpbyJ9LG0zdWE6e2NvZGVjOiJhdWRpby9tcGVndXJsIixmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sb2dhOntjb2RlYzonYXVkaW8vb2dnOyBjb2RlY3M9InZvcmJpcywgb3B1cyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToiYXVkaW8ifSxmbGFjOntjb2RlYzoiYXVkaW8veC1mbGFjIixmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sd2F2Ontjb2RlYzonYXVkaW8vd2F2OyBjb2RlY3M9IjEiJyxmbGFzaENhblBsYXk6ITEsbWVkaWE6ImF1ZGlvIn0sd2VibWE6e2NvZGVjOidhdWRpby93ZWJtOyBjb2RlY3M9InZvcmJpcyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToiYXVkaW8ifSxmbGE6e2NvZGVjOiJhdWRpby94LWZsdiIsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LHJ0bXBhOntjb2RlYzonYXVkaW8vcnRtcDsgY29kZWNzPSJydG1wIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJhdWRpbyJ9LG00djp7Y29kZWM6J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSwgbXA0YS40MC4yIicsZmxhc2hDYW5QbGF5OiEwLG1lZGlhOiJ2aWRlbyJ9LG0zdTh2Ontjb2RlYzonYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmw7IGNvZGVjcz0iYXZjMS40MkUwMUUsIG1wNGEuNDAuMiInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToidmlkZW8ifSxtM3V2Ontjb2RlYzoiYXVkaW8vbXBlZ3VybCIsZmxhc2hDYW5QbGF5OiExLG1lZGlhOiJ2aWRlbyJ9LG9ndjp7Y29kZWM6J3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEsIHZvcmJpcyInLGZsYXNoQ2FuUGxheTohMSxtZWRpYToidmlkZW8ifSx3ZWJtdjp7Y29kZWM6J3ZpZGVvL3dlYm07IGNvZGVjcz0idm9yYmlzLCB2cDgiJyxmbGFzaENhblBsYXk6ITEsbWVkaWE6InZpZGVvIn0sZmx2Ontjb2RlYzoidmlkZW8veC1mbHYiLGZsYXNoQ2FuUGxheTohMCxtZWRpYToidmlkZW8ifSxydG1wdjp7Y29kZWM6J3ZpZGVvL3J0bXA7IGNvZGVjcz0icnRtcCInLGZsYXNoQ2FuUGxheTohMCxtZWRpYToidmlkZW8ifX0saj1mdW5jdGlvbihhKXtyZXR1cm4gYSYmIm9iamVjdCI9PXR5cGVvZiBhJiZhLmhhc093blByb3BlcnR5PyEwOiExfSxrPWZ1bmN0aW9uKGEpe3ZhciBiPSExO3JldHVybi9cLm1wMyQvaS50ZXN0KGEpP2I9Im1wMyI6L1wubXA0JC9pLnRlc3QoYSl8fC9cLm00diQvaS50ZXN0KGEpP2I9Im00diI6L1wubTRhJC9pLnRlc3QoYSk/Yj0ibTRhIjovXC5vZ2ckL2kudGVzdChhKXx8L1wub2dhJC9pLnRlc3QoYSk/Yj0ib2dhIjovXC5vZ3YkL2kudGVzdChhKT9iPSJvZ3YiOi9cLndlYm0kL2kudGVzdChhKSYmKGI9IndlYm12IiksYn0sbD1mdW5jdGlvbihhKXt2YXIgYj0iIixjPSIiO2lmKGooYSkpZm9yKHZhciBkIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShkKSYmKGIrPWMrZCxjPSIsIik7cmV0dXJuIGYmJmNvbnNvbGUubG9nKCdnZXRTdXBwbGllZCgpOiBHZW5lcmF0ZWQ6IHN1cHBsaWVkID0gIicrYisnIicpLGJ9O2EucGxheWVyKCJqcGxheWVyIix7X2NhblBsYXlUeXBlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1hLnRvTG93ZXJDYXNlKCksZj17bWVkaWE6e30sb3B0aW9uczp7fX0sZz0hMTtpZigidmlkZW8iIT09ZCYmImF1ZGlvIiE9PWQmJigic3RyaW5nIj09dHlwZW9mIGI/L15odHRwLiovaS50ZXN0KGIpJiYoYz1rKGIpLGMmJihmLm1lZGlhW2NdPWIsZi5vcHRpb25zLnNvbHV0aW9uPWUsZi5vcHRpb25zLnN1cHBsaWVkPWMpKTpmPWIsaihmKSYmaihmLm1lZGlhKSkpe2ooZi5vcHRpb25zKXx8KGYub3B0aW9ucz17fSksZi5vcHRpb25zLnNvbHV0aW9ufHwoZi5vcHRpb25zLnNvbHV0aW9uPWUpLGYub3B0aW9ucy5zdXBwbGllZHx8KGYub3B0aW9ucy5zdXBwbGllZD1sKGYubWVkaWEpKTtmb3IodmFyIGg9Zi5vcHRpb25zLnNvbHV0aW9uLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKSxtPWYub3B0aW9ucy5zdXBwbGllZC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIsIiksbj0wO248aC5sZW5ndGg7bisrKWZvcih2YXIgbyxwPWhbbl0ucmVwbGFjZSgvXlxzK3xccyskL2csIiIpLHE9Imh0bWwiPT09cCxyPSJmbGFzaCI9PT1wLHM9MDtzPG0ubGVuZ3RoO3MrKylpZihjPW1bc10ucmVwbGFjZSgvXlxzK3xccyskL2csIiIpLGlbY10peyFvJiZxJiYobz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGlbY10ubWVkaWEpKTt2YXIgdD0hIShvJiZvLmNhblBsYXlUeXBlJiZvLmNhblBsYXlUeXBlKGlbY10uY29kZWMpKSx1PXQmJnEsdj1pW2NdLmZsYXNoQ2FuUGxheSYmcjsodXx8dikmJihnPXtodG1sOnUsdHlwZTpjfSxuPWgubGVuZ3RoLHM9bS5sZW5ndGgpfX1yZXR1cm4gZ30sX3NldHVwOmZ1bmN0aW9uKCl7dmFyIGksbSxuPXRoaXMsbz0idW5rbm93biIscD17fSxxPXt9LHI9ITEscz0wLHQ9bnVsbCx1PSExLHY9bnVsbCx3PWZ1bmN0aW9uKCl7cj8oZiYmY29uc29sZS5sb2coIkRpc3BhdGNoZWQgZXZlbnQgOiBkdXJhdGlvbmNoYW5nZSA6ICIrcyksbi5kaXNwYXRjaEV2ZW50KCJkdXJhdGlvbmNoYW5nZSIpKTooZiYmY29uc29sZS5sb2coIkRFTEFZRUQgRVZFTlQgKCFyZWFkeSkgOiBkdXJhdGlvbmNoYW5nZSA6ICIrcyksY2xlYXJUaW1lb3V0KHQpLHQ9c2V0VGltZW91dCh3LDI1MCkpfSx4PWZ1bmN0aW9uKCl7dmFyIGE9ZnVuY3Rpb24oYSl7YS5qUGxheWVyLnN0YXR1cy5kdXJhdGlvbiE9PXMmJihzPWEualBsYXllci5zdGF0dXMuZHVyYXRpb24sdygpKX0sYj1mdW5jdGlvbihhKXt1fHwxMDAhPT1hLmpQbGF5ZXIuc3RhdHVzLnNlZWtQZXJjZW50fHwodT0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZiYmY29uc29sZS5sb2coIlRyaWdnZXIgOiBjYW5wbGF5dGhyb3VnaCIpLG0uX3RyaWdnZXIoJC5qUGxheWVyLmV2ZW50LmNhbnBsYXl0aHJvdWdoKX0sMCkpfTtpLmJpbmQoJC5qUGxheWVyLmV2ZW50LmxvYWRzdGFydCxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtmJiZjb25zb2xlLmxvZygiVHJpZ2dlciA6IGxvYWRlZGRhdGEiKSxtLl90cmlnZ2VyKCQualBsYXllci5ldmVudC5sb2FkZWRkYXRhKX0sMCl9KS5iaW5kKCQualBsYXllci5ldmVudC5wcm9ncmVzcyxmdW5jdGlvbihjKXthKGMpLGIoYyl9KS5iaW5kKCQualBsYXllci5ldmVudC50aW1ldXBkYXRlLGZ1bmN0aW9uKGMpe2EoYyksYihjKX0pLmJpbmQoJC5qUGxheWVyLmV2ZW50LnBsYXksZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZiYmY29uc29sZS5sb2coIlRyaWdnZXIgOiBwbGF5aW5nIiksbS5fdHJpZ2dlcigkLmpQbGF5ZXIuZXZlbnQucGxheWluZyl9LDApfSksZiYmY29uc29sZS5sb2coIkNyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXJzIGZvciBGTEFTSCIpfSx5PWZ1bmN0aW9uKCl7IWZ1bmN0aW9uKGIpe2k9YigiIyIrbi5pZCksInN0cmluZyI9PXR5cGVvZiBuLnNyYz8obz1rKG4uc3JjKSxwW29dPW4uc3JjLHEuc3VwcGxpZWQ9byxxLnNvbHV0aW9uPWUpOmoobi5zcmMpJiYocD1qKG4uc3JjLm1lZGlhKT9uLnNyYy5tZWRpYTp7fSxxPWoobi5zcmMub3B0aW9ucyk/bi5zcmMub3B0aW9uczp7fSxxLnNvbHV0aW9uPXEuc29sdXRpb258fGUscS5zdXBwbGllZD1xLnN1cHBsaWVkfHxsKG4uc3JjLm1lZGlhKSkscS5zd2ZQYXRoPXEuc3dmUGF0aHx8ZCxpLmJpbmQoYi5qUGxheWVyLmV2ZW50LnJlYWR5LGZ1bmN0aW9uKGEpe2EualBsYXllci5mbGFzaC51c2VkJiZ4KCksYih0aGlzKS5qUGxheWVyKCJzZXRNZWRpYSIscCkualBsYXllcigibG9hZCIpfSk7dmFyIGM9Yi5qUGxheWVyLnJlc2VydmVkRXZlbnQrIiBsb2FkZWRkYXRhIGR1cmF0aW9uY2hhbmdlIixnPWMuc3BsaXQoL1xzKy9nKSxoPWZ1bmN0aW9uKGEpe2kuYmluZChiLmpQbGF5ZXIuZXZlbnRbYV0sZnVuY3Rpb24oYil7ZiYmY29uc29sZS5sb2coIkRpc3BhdGNoZWQgZXZlbnQ6ICIrYSsoYiYmYi5qUGxheWVyPyIgKCIrYi5qUGxheWVyLnN0YXR1cy5jdXJyZW50VGltZSsicykiOiIiKSksbi5kaXNwYXRjaEV2ZW50KGEpfSksZiYmY29uc29sZS5sb2coIkNyZWF0ZWQgZXZlbnQgaGFuZGxlciBmb3I6ICIrYSl9O2Zvcih2YXIgdCBpbiBiLmpQbGF5ZXIuZXZlbnQpaWYoYi5qUGxheWVyLmV2ZW50Lmhhc093blByb3BlcnR5KHQpKXt2YXIgdT0hMDtmb3IodmFyIHkgaW4gZylpZihnLmhhc093blByb3BlcnR5KHkpJiZnW3ldPT09dCl7dT0hMTticmVha311P2godCk6ZiYmY29uc29sZS5sb2coIlNraXBwZWQgYXV0byBldmVudCBoYW5kbGVyIGNyZWF0aW9uIGZvcjogIit0KX1pLmJpbmQoYi5qUGxheWVyLmV2ZW50LmxvYWRlZGRhdGEsZnVuY3Rpb24oYSl7ZiYmY29uc29sZS5sb2coIkRpc3BhdGNoZWQgZXZlbnQ6IGxvYWRlZGRhdGEiKyhhJiZhLmpQbGF5ZXI/IiAoIithLmpQbGF5ZXIuc3RhdHVzLmN1cnJlbnRUaW1lKyJzKSI6IiIpKSxuLmRpc3BhdGNoRXZlbnQoImxvYWRlZGRhdGEiKSxyPSEwfSksZiYmY29uc29sZS5sb2coIkNyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXIgZm9yOiBsb2FkZWRkYXRhIiksaS5iaW5kKGIualBsYXllci5ldmVudC5kdXJhdGlvbmNoYW5nZSxmdW5jdGlvbihhKXtzPWEualBsYXllci5zdGF0dXMuZHVyYXRpb24sdygpfSksZiYmY29uc29sZS5sb2coIkNyZWF0ZWQgQ1VTVE9NIGV2ZW50IGhhbmRsZXIgZm9yOiBkdXJhdGlvbmNoYW5nZSIpLGkuYmluZChiLmpQbGF5ZXIuZXZlbnQuZXJyb3IsZnVuY3Rpb24oYSl7dj1hLmpQbGF5ZXIuZXJyb3Isdi5jb2RlPXYudHlwZT09PWIualBsYXllci5lcnJvci5VUkw/NDowLGYmJmNvbnNvbGUubG9nKCJEaXNwYXRjaGVkIGV2ZW50OiBlcnJvciIpLGYmJmNvbnNvbGUuZGlyKHYpLG4uZGlzcGF0Y2hFdmVudCgiZXJyb3IiKX0pLGYmJmNvbnNvbGUubG9nKCJDcmVhdGVkIENVU1RPTSBldmVudCBoYW5kbGVyIGZvcjogZXJyb3IiKSxhLnBsYXllci5kZWZpbmVQcm9wZXJ0eShuLCJlcnJvciIse3NldDpmdW5jdGlvbigpe3JldHVybiB2fSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdn19KSxhLnBsYXllci5kZWZpbmVQcm9wZXJ0eShuLCJjdXJyZW50VGltZSIse3NldDpmdW5jdGlvbihhKXtyZXR1cm4gbS5zdGF0dXMucGF1c2VkP2kualBsYXllcigicGF1c2UiLGEpOmkualBsYXllcigicGxheSIsYSksYX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG0uc3RhdHVzLmN1cnJlbnRUaW1lfX0pLGEucGxheWVyLmRlZmluZVByb3BlcnR5KG4sImR1cmF0aW9uIix7c2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHI/czowLzB9LGdldDpmdW5jdGlvbigpe3JldHVybiByP3M6MC8wfX0pLGEucGxheWVyLmRlZmluZVByb3BlcnR5KG4sIm11dGVkIix7c2V0OmZ1bmN0aW9uKGEpe3JldHVybiBpLmpQbGF5ZXIoIm11dGUiLGEpLG0ub3B0aW9ucy5tdXRlZH0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG0ub3B0aW9ucy5tdXRlZH19KSxhLnBsYXllci5kZWZpbmVQcm9wZXJ0eShuLCJ2b2x1bWUiLHtzZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGkualBsYXllcigidm9sdW1lIixhKSxtLm9wdGlvbnMudm9sdW1lfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbS5vcHRpb25zLnZvbHVtZX19KSxhLnBsYXllci5kZWZpbmVQcm9wZXJ0eShuLCJwYXVzZWQiLHtzZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbS5zdGF0dXMucGF1c2VkfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbS5zdGF0dXMucGF1c2VkfX0pLG4ucGxheT1mdW5jdGlvbigpe2kualBsYXllcigicGxheSIpfSxuLnBhdXNlPWZ1bmN0aW9uKCl7aS5qUGxheWVyKCJwYXVzZSIpfSxpLmpQbGF5ZXIocSksbT1pLmRhdGEoImpQbGF5ZXIiKX0oalF1ZXJ5KX0sej1mdW5jdGlvbigpe2pRdWVyeS5qUGxheWVyP3koKTpoP3NldFRpbWVvdXQoeiwyNTApOihoPSEwLGEuZ2V0U2NyaXB0KGMsZnVuY3Rpb24oKXtoPSExLHkoKX0pKX0sQT1mdW5jdGlvbigpe3dpbmRvdy5qUXVlcnk/eigpOmc/c2V0VGltZW91dChBLDI1MCk6KGc9ITAsYS5nZXRTY3JpcHQoYixmdW5jdGlvbigpe2c9ITEseigpfSkpfTtBKCl9LF90ZWFyZG93bjpmdW5jdGlvbigpe2pRdWVyeSgiIyIrdGhpcy5pZCkualBsYXllcigiZGVzdHJveSIpfX0pfShQb3Bjb3JuKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBbalBsYXllcl0oaHR0cDovL2pwbGF5ZXIub3JnLykgOiBIVE1MNSBBdWRpbyAmIFZpZGVvIGZvciBbalF1ZXJ5XShodHRwOi8vanF1ZXJ5LmNvbS8pCgpTdXBwb3J0IGZvciBbWmVwdG9dKGh0dHA6Ly96ZXB0b2pzLmNvbS8pIDEuMCsgY29tcGlsZWQgd2l0aCB0aGUgZGF0YSBtb2R1bGUuCgojIyBXaGF0IGlzIGpQbGF5ZXI/CgojIyMgalBsYXllciBpcyBhIGpRdWVyeS9aZXB0byBwbHVnaW4gdGhhdCBhbGxvd3MgeW91IHRvOgoqICoqcGxheSBhbmQgY29udHJvbCBtZWRpYSoqIGZpbGVzIGluIHlvdXIgd2VicGFnZS4KKiBjcmVhdGUgYSAqKmNvbnNpc3RlbnQgaW50ZXJmYWNlKiogYW5kIGV4cGVyaWVuY2UgYWNyb3NzIGFsbCBicm93c2Vycy4KKiBjcmVhdGUgYW5kIHN0eWxlIGEgbWVkaWEgcGxheWVyIHVzaW5nICoqanVzdCBIVE1MIGFuZCBDU1MqKi4KKiBhZGQgKiphdWRpbyoqIGFuZCAqKnZpZGVvKiogdG8geW91ciBqUXVlcnkvWmVwdG8gcHJvamVjdHMuCiogc3VwcG9ydCBtb3JlIGRldmljZXMgdXNpbmcgKipIVE1MNSoqLgoqIHN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgdXNpbmcgYSBGbGFzaCBfZmFsbC1iYWNrL2ZvcndhcmRfLgoqIGNvbnRyb2wgbWVkaWEgb24geW91ciB3ZWJzaXRlIHVzaW5nIGEgW0phdmFTY3JpcHQgQVBJXShodHRwOi8vd3d3LmpwbGF5ZXIub3JnL2xhdGVzdC9kZXZlbG9wZXItZ3VpZGUvKS4KCiMjIyBqUGxheWVyIHN1cHBvcnRzOgoqIEhUTUw1OiAqKm1wMywgbTRhIChBQUMpLCBtNHYgKEguMjY0KSwqKiBvZ3YqLCBvZ2EqLCB3YXYqLCB3ZWJtKgoqIEZsYXNoOiAqKm1wMywgbTRhIChBQUMpLCBtNHYgKEguMjY0KSwqKiBydG1wLCBmbHYuCgpfKCopIE9wdGlvbmFsIGNvdW50ZXJwYXJ0IGZvcm1hdHMgdG8gaW5jcmVhc2UgSFRNTDUgY3Jvc3MtYnJvd3NlciBzdXBwb3J0Ll8KCiMjIExpY2Vuc2UKW2pQbGF5ZXJdKGh0dHA6Ly9qcGxheWVyLm9yZy8pIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBbTUlUIGxpY2Vuc2VdKGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQpLgoKIyMgTW9yZSBpbmZvcm1hdGlvbjoKKiBbalBsYXllci5vcmddKGh0dHA6Ly9qcGxheWVyLm9yZy8pCiogW1F1aWNrIFN0YXJ0IEd1aWRlXShodHRwOi8vd3d3LmpwbGF5ZXIub3JnL2xhdGVzdC9xdWljay1zdGFydC1ndWlkZS8pCiogW0RldmVsb3BlciBHdWlkZSBhbmQgQVBJIFJlZmVyZW5jZV0oaHR0cDovL3d3dy5qcGxheWVyLm9yZy9sYXRlc3QvZGV2ZWxvcGVyLWd1aWRlLykKCiMjIEF1dGhvcjoKTWFyayBKIFBhbmFnaGlzdG9uIFtAdGhlcGFnXShodHRwOi8vdHdpdHRlci5jb20vdGhlcGFnKQpbaGFwcHl3b3JtLmNvbV0oaHR0cDovL2hhcHB5d29ybS5jb20vKQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/css/jplayer.blue.monday.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIEJsdWUgTW9uZGF5IFNraW4gZm9yIGpQbGF5ZXIgMi45LjIgfiAoYykgMjAwOS0yMDE0IEhhcHB5d29ybSBMdGQgfiBNSVQgTGljZW5zZSAqLwoKLyoKICogU2tpbiBmb3IgalBsYXllciBQbHVnaW4gKGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkpCiAqIGh0dHA6Ly93d3cuanBsYXllci5vcmcKICoKICogU2tpbiBOYW1lOiBCbHVlIE1vbmRheQogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0IEhhcHB5d29ybSBMdGQKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiAgLSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKgogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkKICogU2tpbiBWZXJzaW9uOiA1LjEgKGpQbGF5ZXIgMi44LjApCiAqIERhdGU6IDEzdGggTm92ZW1iZXIgMjAxNAogKi8KLmpwLWF1ZGlvICo6Zm9jdXMsCi5qcC1hdWRpby1zdHJlYW0gKjpmb2N1cywKLmpwLXZpZGVvICo6Zm9jdXMgewogIC8qIERpc2FibGUgdGhlIGJyb3dzZXIgZm9jdXMgaGlnaGxpZ2h0aW5nLiAqLwogIG91dGxpbmU6IG5vbmU7IH0KCi5qcC1hdWRpbyBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsCi5qcC1hdWRpby1zdHJlYW0gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLAouanAtdmlkZW8gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsKICAvKiBEaXNhYmxlIHRoZSBicm93c2VyIENTUzMgZm9jdXMgaGlnaGxpZ2h0aW5nLiAqLwogIGJvcmRlcjogMDsgfQoKLmpwLWF1ZGlvLAouanAtYXVkaW8tc3RyZWFtLAouanAtdmlkZW8gewogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgbGluZS1oZWlnaHQ6IDEuNjsKICBjb2xvcjogIzY2NjsKICBib3JkZXI6IDFweCBzb2xpZCAjMDA5YmUzOwogIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH0KCi5qcC1hdWRpbyB7CiAgd2lkdGg6IDQyMHB4OyB9CgouanAtYXVkaW8tc3RyZWFtIHsKICB3aWR0aDogMTgycHg7IH0KCi5qcC12aWRlby0yNzBwIHsKICB3aWR0aDogNDgwcHg7IH0KCi5qcC12aWRlby0zNjBwIHsKICB3aWR0aDogNjQwcHg7IH0KCi5qcC12aWRlby1mdWxsIHsKICAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KICB3aWR0aDogNDgwcHg7CiAgaGVpZ2h0OiAyNzBweDsKICAvKiBSdWxlcyBmb3IgSUU3IChmdWxsLXNjcmVlbikgLSBPdGhlcndpc2UgdGhlIHJlbGF0aXZlIGNvbnRhaW5lciBjYXVzZXMgb3RoZXIgcGFnZSBpdGVtcyB0aGF0IGFyZSBub3QgcG9zaXRpb246c3RhdGljIChkZWZhdWx0KSB0byBhcHBlYXIgb3ZlciB0aGUgdmlkZW8vZ3VpLiAqLwogIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KCi8qIFRoZSB6LWluZGV4IHJ1bGUgaXMgZGVmaW5lZCBpbiB0aGlzIG1hbm5lciB0byBlbmFibGUgUG9wY29ybiBwbHVnaW5zIHRoYXQgYWRkIG92ZXJsYXlzIHRvIHZpZGVvIGFyZWEuIEVHLiBTdWJ0aXRsZXMuICovCi5qcC12aWRlby1mdWxsIGRpdiBkaXYgewogIHotaW5kZXg6IDEwMDA7IH0KCi5qcC12aWRlby1mdWxsIC5qcC1qcGxheWVyIHsKICB0b3A6IDA7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKLmpwLXZpZGVvLWZ1bGwgLmpwLWd1aSB7CiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7CiAgcG9zaXRpb246IHN0YXRpYzsKICAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgei1pbmRleDogMTAwMTsKICAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovIH0KCi5qcC12aWRlby1mdWxsIC5qcC1pbnRlcmZhY2UgewogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KICBib3R0b206IDA7CiAgbGVmdDogMDsgfQoKLmpwLWludGVyZmFjZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQtY29sb3I6ICNlZWU7CiAgd2lkdGg6IDEwMCU7IH0KCi5qcC1hdWRpbyAuanAtaW50ZXJmYWNlIHsKICBoZWlnaHQ6IDgwcHg7IH0KCi5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZSB7CiAgaGVpZ2h0OiA4MHB4OyB9CgouanAtdmlkZW8gLmpwLWludGVyZmFjZSB7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDliZTM7IH0KCi8qIEBncm91cCBDT05UUk9MUyAqLwouanAtY29udHJvbHMtaG9sZGVyIHsKICBjbGVhcjogYm90aDsKICB3aWR0aDogNDQwcHg7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdG9wOiAtOHB4OwogIC8qIFRoaXMgbmVnYXRpdmUgdmFsdWUgZGVwZW5kcyBvbiB0aGUgc2l6ZSBvZiB0aGUgdGV4dCBpbiBqcC1jdXJyZW50VGltZSBhbmQganAtZHVyYXRpb24gKi8gfQoKLmpwLWludGVyZmFjZSAuanAtY29udHJvbHMgewogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIG92ZXJmbG93OiBoaWRkZW47IH0KCi5qcC1hdWRpbyAuanAtY29udHJvbHMgewogIHdpZHRoOiAzODBweDsKICBwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4OyB9CgouanAtYXVkaW8tc3RyZWFtIC5qcC1jb250cm9scyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMjBweDsKICBsZWZ0OiAyMHB4OwogIHdpZHRoOiAxNDJweDsgfQoKLmpwLXZpZGVvIC5qcC10eXBlLXNpbmdsZSAuanAtY29udHJvbHMgewogIHdpZHRoOiA3OHB4OwogIG1hcmdpbi1sZWZ0OiAyMDBweDsgfQoKLmpwLXZpZGVvIC5qcC10eXBlLXBsYXlsaXN0IC5qcC1jb250cm9scyB7CiAgd2lkdGg6IDEzNHB4OwogIG1hcmdpbi1sZWZ0OiAxNzJweDsgfQoKLmpwLXZpZGVvIC5qcC1jb250cm9scyB7CiAgZmxvYXQ6IGxlZnQ7IH0KCi5qcC1jb250cm9scyBidXR0b24gewogIGRpc3BsYXk6IGJsb2NrOwogIGZsb2F0OiBsZWZ0OwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7CiAgYm9yZGVyOiBub25lOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLXBsYXkgewogIHdpZHRoOiA0MHB4OwogIGhlaWdodDogNDBweDsgfQoKLmpwLXBsYXkgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIDAgbm8tcmVwZWF0OyB9CgouanAtcGxheTpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC00MXB4IDAgbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtcGxheWluZyAuanAtcGxheSB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTQycHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtcGxheWluZyAuanAtcGxheTpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC00MXB4IC00MnB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0b3AsIC5qcC1wcmV2aW91cywgLmpwLW5leHQgewogIHdpZHRoOiAyOHB4OwogIGhlaWdodDogMjhweDsKICBtYXJnaW4tdG9wOiA2cHg7IH0KCi5qcC1zdG9wIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtODNweCBuby1yZXBlYXQ7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0KCi5qcC1zdG9wOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTgzcHggbm8tcmVwZWF0OyB9CgouanAtcHJldmlvdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xMTJweCBuby1yZXBlYXQ7IH0KCi5qcC1wcmV2aW91czpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0yOXB4IC0xMTJweCBuby1yZXBlYXQ7IH0KCi5qcC1uZXh0IHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMTQxcHggbm8tcmVwZWF0OyB9CgouanAtbmV4dDpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0yOXB4IC0xNDFweCBuby1yZXBlYXQ7IH0KCi8qIEBlbmQgKi8KLyogQGdyb3VwIHByb2dyZXNzIGJhciAqLwouanAtcHJvZ3Jlc3MgewogIG92ZXJmbG93OiBoaWRkZW47CiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgfQoKLmpwLWF1ZGlvIC5qcC1wcm9ncmVzcyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMzJweDsKICBoZWlnaHQ6IDE1cHg7IH0KCi5qcC1hdWRpbyAuanAtdHlwZS1zaW5nbGUgLmpwLXByb2dyZXNzIHsKICBsZWZ0OiAxMTBweDsKICB3aWR0aDogMTg2cHg7IH0KCi5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCAuanAtcHJvZ3Jlc3MgewogIGxlZnQ6IDE2NnB4OwogIHdpZHRoOiAxMzBweDsgfQoKLmpwLXZpZGVvIC5qcC1wcm9ncmVzcyB7CiAgdG9wOiAwcHg7CiAgbGVmdDogMHB4OwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTBweDsgfQoKLmpwLXNlZWstYmFyIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjAycHggcmVwZWF0LXg7CiAgd2lkdGg6IDBweDsKICBoZWlnaHQ6IDEwMCU7CiAgY3Vyc29yOiBwb2ludGVyOyB9CgouanAtcGxheS1iYXIgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yMThweCByZXBlYXQteDsKICB3aWR0aDogMHB4OwogIGhlaWdodDogMTAwJTsgfQoKLyogVGhlIHNlZWtpbmcgY2xhc3MgaXMgYWRkZWQvcmVtb3ZlZCBpbnNpZGUgalBsYXllciAqLwouanAtc2Vla2luZy1iZyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LnNlZWtpbmcuZ2lmIik7IH0KCi8qIEBlbmQgKi8KLyogQGdyb3VwIHZvbHVtZSBjb250cm9scyAqLwouanAtc3RhdGUtbm8tdm9sdW1lIC5qcC12b2x1bWUtY29udHJvbHMgewogIGRpc3BsYXk6IG5vbmU7IH0KCi5qcC12b2x1bWUtY29udHJvbHMgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDMycHg7CiAgbGVmdDogMzA4cHg7CiAgd2lkdGg6IDIwMHB4OyB9CgouanAtYXVkaW8tc3RyZWFtIC5qcC12b2x1bWUtY29udHJvbHMgewogIGxlZnQ6IDcwcHg7IH0KCi5qcC12aWRlbyAuanAtdm9sdW1lLWNvbnRyb2xzIHsKICB0b3A6IDEycHg7CiAgbGVmdDogNTBweDsgfQoKLmpwLXZvbHVtZS1jb250cm9scyBidXR0b24gewogIGRpc3BsYXk6IGJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtaW5kZW50OiAtOTk5OXB4OwogIGJvcmRlcjogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC1tdXRlLAouanAtdm9sdW1lLW1heCB7CiAgd2lkdGg6IDE4cHg7CiAgaGVpZ2h0OiAxNXB4OyB9CgouanAtdm9sdW1lLW1heCB7CiAgbGVmdDogNzRweDsgfQoKLmpwLW11dGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xNzBweCBuby1yZXBlYXQ7IH0KCi5qcC1tdXRlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTE5cHggLTE3MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLW11dGVkIC5qcC1tdXRlIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTE3MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLW11dGVkIC5qcC1tdXRlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTc5cHggLTE3MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXZvbHVtZS1tYXggewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xODZweCBuby1yZXBlYXQ7IH0KCi5qcC12b2x1bWUtbWF4OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTE5cHggLTE4NnB4IG5vLXJlcGVhdDsgfQoKLmpwLXZvbHVtZS1iYXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNTBweCByZXBlYXQteDsKICB0b3A6IDVweDsKICBsZWZ0OiAyMnB4OwogIHdpZHRoOiA0NnB4OwogIGhlaWdodDogNXB4OwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLXZvbHVtZS1iYXItdmFsdWUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNTZweCByZXBlYXQteDsKICB3aWR0aDogMHB4OwogIGhlaWdodDogNXB4OyB9CgovKiBAZW5kICovCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovCi5qcC1hdWRpbyAuanAtdGltZS1ob2xkZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDUwcHg7IH0KCi5qcC1hdWRpbyAuanAtdHlwZS1zaW5nbGUgLmpwLXRpbWUtaG9sZGVyIHsKICBsZWZ0OiAxMTBweDsKICB3aWR0aDogMTg2cHg7IH0KCi5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCAuanAtdGltZS1ob2xkZXIgewogIGxlZnQ6IDE2NnB4OwogIHdpZHRoOiAxMzBweDsgfQoKLmpwLWN1cnJlbnQtdGltZSwKLmpwLWR1cmF0aW9uIHsKICB3aWR0aDogNjBweDsKICBmb250LXNpemU6IC42NGVtOwogIGZvbnQtc3R5bGU6IG9ibGlxdWU7IH0KCi5qcC1jdXJyZW50LXRpbWUgewogIGZsb2F0OiBsZWZ0OwogIGRpc3BsYXk6IGlubGluZTsKICBjdXJzb3I6IGRlZmF1bHQ7IH0KCi5qcC1kdXJhdGlvbiB7CiAgZmxvYXQ6IHJpZ2h0OwogIGRpc3BsYXk6IGlubGluZTsKICB0ZXh0LWFsaWduOiByaWdodDsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC12aWRlbyAuanAtY3VycmVudC10aW1lIHsKICBtYXJnaW4tbGVmdDogMjBweDsgfQoKLmpwLXZpZGVvIC5qcC1kdXJhdGlvbiB7CiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9CgovKiBAZW5kICovCi8qIEBncm91cCBwbGF5bGlzdCAqLwouanAtZGV0YWlscyB7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGN1cnNvcjogZGVmYXVsdDsgfQoKLmpwLWRldGFpbHMsCi5qcC1wbGF5bGlzdCB7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsKICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwOWJlMzsgfQoKLmpwLXR5cGUtc2luZ2xlIC5qcC1kZXRhaWxzLAouanAtdHlwZS1wbGF5bGlzdCAuanAtZGV0YWlscyB7CiAgYm9yZGVyLXRvcDogbm9uZTsgfQoKLmpwLWRldGFpbHMgLmpwLXRpdGxlIHsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogNXB4IDIwcHg7CiAgZm9udC1zaXplOiAuNzJlbTsKICBmb250LXdlaWdodDogYm9sZDsgfQoKLmpwLXBsYXlsaXN0IHVsIHsKICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDAgMjBweDsKICBmb250LXNpemU6IC43MmVtOyB9CgouanAtcGxheWxpc3QgbGkgewogIHBhZGRpbmc6IDVweCAwIDRweCAyMHB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOyB9CgouanAtcGxheWxpc3QgbGkgZGl2IHsKICBkaXNwbGF5OiBpbmxpbmU7IH0KCi8qIE5vdGUgdGhhdCB0aGUgZmlyc3QtY2hpbGQgKElFNikgYW5kIGxhc3QtY2hpbGQgKElFNi83LzgpIHNlbGVjdG9ycyBkbyBub3Qgd29yayBvbiBJRSAqLwpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7CiAgcGFkZGluZzogNXB4IDAgNXB4IDIwcHg7CiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpLmpwLXBsYXlsaXN0LWN1cnJlbnQgewogIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOwogIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTsKICBwYWRkaW5nLWxlZnQ6IDdweDsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEgewogIGNvbG9yOiAjMzMzOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGE6aG92ZXIgewogIGNvbG9yOiAjMGQ4OGMxOyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1jdXJyZW50IHsKICBjb2xvcjogIzBkODhjMTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmUgewogIGZsb2F0OiByaWdodDsKICBkaXNwbGF5OiBpbmxpbmU7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGNvbG9yOiAjNjY2OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1pdGVtLXJlbW92ZTpob3ZlciB7CiAgY29sb3I6ICMwZDg4YzE7IH0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBzcGFuLmpwLWZyZWUtbWVkaWEgewogIGZsb2F0OiByaWdodDsKICBkaXNwbGF5OiBpbmxpbmU7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGEgewogIGNvbG9yOiAjNjY2OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXIgewogIGNvbG9yOiAjMGQ4OGMxOyB9CgpzcGFuLmpwLWFydGlzdCB7CiAgZm9udC1zaXplOiAuOGVtOwogIGNvbG9yOiAjNjY2OyB9CgovKiBAZW5kICovCi5qcC12aWRlby1wbGF5IHsKICB3aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIC8qIEltcG9ydGFudCBmb3IgbmVzdGVkIG5lZ2F0aXZlIG1hcmdpbnMgdG8gd29yayBpbiBtb2Rlcm4gYnJvd3NlcnMgKi8KICBjdXJzb3I6IHBvaW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgLyogTWFrZXMgSUU5IHdvcmsgd2l0aCB0aGUgYWN0aXZlIGFyZWEgb3ZlciB0aGUgd2hvbGUgdmlkZW8gYXJlYS4gSUU2LzcvOCBvbmx5IGhhdmUgdGhlIGJ1dHRvbiBhcyBhY3RpdmUgYXJlYS4gKi8gfQoKLmpwLXZpZGVvLTI3MHAgLmpwLXZpZGVvLXBsYXkgewogIG1hcmdpbi10b3A6IC0yNzBweDsKICBoZWlnaHQ6IDI3MHB4OyB9CgouanAtdmlkZW8tMzYwcCAuanAtdmlkZW8tcGxheSB7CiAgbWFyZ2luLXRvcDogLTM2MHB4OwogIGhlaWdodDogMzYwcHg7IH0KCi5qcC12aWRlby1mdWxsIC5qcC12aWRlby1wbGF5IHsKICBoZWlnaHQ6IDEwMCU7IH0KCi5qcC12aWRlby1wbGF5LWljb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMTEycHg7CiAgaGVpZ2h0OiAxMDBweDsKICBtYXJnaW4tbGVmdDogLTU2cHg7CiAgbWFyZ2luLXRvcDogLTUwcHg7CiAgbGVmdDogNTAlOwogIHRvcDogNTAlOwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS52aWRlby5wbGF5LnBuZyIpIDAgMCBuby1yZXBlYXQ7CiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7CiAgYm9yZGVyOiBub25lOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLXZpZGVvLXBsYXktaWNvbjpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LnZpZGVvLnBsYXkucG5nIikgMCAtMTAwcHggbm8tcmVwZWF0OyB9CgouanAtanBsYXllciBhdWRpbywKLmpwLWpwbGF5ZXIgewogIHdpZHRoOiAwcHg7CiAgaGVpZ2h0OiAwcHg7IH0KCi5qcC1qcGxheWVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9CgovKiBAZ3JvdXAgVE9HR0xFUyAqLwovKiBUaGUgYXVkaW8gdG9nZ2xlcyBhcmUgbmVzdGVkIGluc2lkZSBqcC10aW1lLWhvbGRlciAqLwouanAtdG9nZ2xlcyB7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDAgYXV0bzsKICBvdmVyZmxvdzogaGlkZGVuOyB9CgouanAtYXVkaW8gLmpwLXR5cGUtc2luZ2xlIC5qcC10b2dnbGVzIHsKICB3aWR0aDogMjVweDsgfQoKLmpwLWF1ZGlvIC5qcC10eXBlLXBsYXlsaXN0IC5qcC10b2dnbGVzIHsKICB3aWR0aDogNTVweDsKICBtYXJnaW46IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDMyNXB4OwogIHRvcDogNTBweDsgfQoKLmpwLXZpZGVvIC5qcC10b2dnbGVzIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDE2cHg7CiAgbWFyZ2luOiAwOwogIG1hcmdpbi10b3A6IDEwcHg7CiAgd2lkdGg6IDEwMHB4OyB9CgouanAtdG9nZ2xlcyBidXR0b24gewogIGRpc3BsYXk6IGJsb2NrOwogIGZsb2F0OiBsZWZ0OwogIHdpZHRoOiAyNXB4OwogIGhlaWdodDogMThweDsKICB0ZXh0LWluZGVudDogLTk5OTlweDsKICBsaW5lLWhlaWdodDogMTAwJTsKICAvKiBuZWVkIHRoaXMgZm9yIElFNiAqLwogIGJvcmRlcjogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC1mdWxsLXNjcmVlbiB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTMxMHB4IG5vLXJlcGVhdDsKICBtYXJnaW4tbGVmdDogMjBweDsgfQoKLmpwLWZ1bGwtc2NyZWVuOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTMwcHggLTMxMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLWZ1bGwtc2NyZWVuIC5qcC1mdWxsLXNjcmVlbiB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0zMTBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1mdWxsLXNjcmVlbiAuanAtZnVsbC1zY3JlZW46Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtOTBweCAtMzEwcHggbm8tcmVwZWF0OyB9CgouanAtcmVwZWF0IHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjkwcHggbm8tcmVwZWF0OyB9CgouanAtcmVwZWF0OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTMwcHggLTI5MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLWxvb3BlZCAuanAtcmVwZWF0IHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTI5MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLWxvb3BlZCAuanAtcmVwZWF0OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTkwcHggLTI5MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXNodWZmbGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNzBweCBuby1yZXBlYXQ7CiAgbWFyZ2luLWxlZnQ6IDVweDsgfQoKLmpwLXNodWZmbGU6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMjcwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtc2h1ZmZsZWQgLmpwLXNodWZmbGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtNjBweCAtMjcwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtc2h1ZmZsZWQgLmpwLXNodWZmbGU6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtOTBweCAtMjcwcHggbm8tcmVwZWF0OyB9CgovKiBAZW5kICovCi8qIEBncm91cCBOTyBTT0xVVElPTiBlcnJvciBmZWVkYmFjayAqLwouanAtbm8tc29sdXRpb24gewogIHBhZGRpbmc6IDVweDsKICBmb250LXNpemU6IC44ZW07CiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsKICBib3JkZXI6IDJweCBzb2xpZCAjMDA5YmUzOwogIGNvbG9yOiAjMDAwOwogIGRpc3BsYXk6IG5vbmU7IH0KCi5qcC1uby1zb2x1dGlvbiBhIHsKICBjb2xvcjogIzAwMDsgfQoKLmpwLW5vLXNvbHV0aW9uIHNwYW4gewogIGZvbnQtc2l6ZTogMWVtOwogIGRpc3BsYXk6IGJsb2NrOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBmb250LXdlaWdodDogYm9sZDsgfQoKLyogQGVuZCAqLwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/css/jplayer.blue.monday.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIEJsdWUgTW9uZGF5IFNraW4gZm9yIGpQbGF5ZXIgMi45LjIgfiAoYykgMjAwOS0yMDE0IEhhcHB5d29ybSBMdGQgfiBNSVQgTGljZW5zZSAqLy5qcC1hdWRpbyA6Zm9jdXMsLmpwLWF1ZGlvLXN0cmVhbSA6Zm9jdXMsLmpwLXZpZGVvIDpmb2N1c3tvdXRsaW5lOjB9LmpwLWF1ZGlvIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwuanAtYXVkaW8tc3RyZWFtIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwuanAtdmlkZW8gYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5qcC1hdWRpbywuanAtYXVkaW8tc3RyZWFtLC5qcC12aWRlb3tmb250LXNpemU6MTZweDtmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS42O2NvbG9yOiM2NjY7Ym9yZGVyOjFweCBzb2xpZCAjMDA5YmUzO2JhY2tncm91bmQtY29sb3I6I2VlZX0uanAtYXVkaW97d2lkdGg6NDIwcHh9LmpwLWF1ZGlvLXN0cmVhbXt3aWR0aDoxODJweH0uanAtdmlkZW8tMjcwcHt3aWR0aDo0ODBweH0uanAtdmlkZW8tMzYwcHt3aWR0aDo2NDBweH0uanAtdmlkZW8tZnVsbHt3aWR0aDo0ODBweDtoZWlnaHQ6MjcwcHg7cG9zaXRpb246c3RhdGljIWltcG9ydGFudDtwb3NpdGlvbjpyZWxhdGl2ZX0uanAtdmlkZW8tZnVsbCBkaXYgZGl2e3otaW5kZXg6MTAwMH0uanAtdmlkZW8tZnVsbCAuanAtanBsYXllcnt0b3A6MDtsZWZ0OjA7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uanAtdmlkZW8tZnVsbCAuanAtZ3Vpe3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDtwb3NpdGlvbjpzdGF0aWM7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxMDAxfS5qcC12aWRlby1mdWxsIC5qcC1pbnRlcmZhY2V7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowO2xlZnQ6MH0uanAtaW50ZXJmYWNle3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6I2VlZTt3aWR0aDoxMDAlfS5qcC1hdWRpbyAuanAtaW50ZXJmYWNlLC5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZXtoZWlnaHQ6ODBweH0uanAtdmlkZW8gLmpwLWludGVyZmFjZXtib3JkZXItdG9wOjFweCBzb2xpZCAjMDA5YmUzfS5qcC1jb250cm9scy1ob2xkZXJ7Y2xlYXI6Ym90aDt3aWR0aDo0NDBweDttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt0b3A6LThweH0uanAtaW50ZXJmYWNlIC5qcC1jb250cm9sc3ttYXJnaW46MDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5qcC1hdWRpbyAuanAtY29udHJvbHN7d2lkdGg6MzgwcHg7cGFkZGluZzoyMHB4IDIwcHggMH0uanAtYXVkaW8tc3RyZWFtIC5qcC1jb250cm9sc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjBweDtsZWZ0OjIwcHg7d2lkdGg6MTQycHh9LmpwLXZpZGVvIC5qcC10eXBlLXNpbmdsZSAuanAtY29udHJvbHN7d2lkdGg6NzhweDttYXJnaW4tbGVmdDoyMDBweH0uanAtdmlkZW8gLmpwLXR5cGUtcGxheWxpc3QgLmpwLWNvbnRyb2xze3dpZHRoOjEzNHB4O21hcmdpbi1sZWZ0OjE3MnB4fS5qcC12aWRlbyAuanAtY29udHJvbHN7ZmxvYXQ6bGVmdH0uanAtY29udHJvbHMgYnV0dG9ue2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDtvdmVyZmxvdzpoaWRkZW47dGV4dC1pbmRlbnQ6LTk5OTlweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcn0uanAtcGxheXt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSBuby1yZXBlYXR9LmpwLXBsYXk6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC00MXB4IDAgbm8tcmVwZWF0fS5qcC1zdGF0ZS1wbGF5aW5nIC5qcC1wbGF5e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC00MnB4IG5vLXJlcGVhdH0uanAtc3RhdGUtcGxheWluZyAuanAtcGxheTpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTQxcHggLTQycHggbm8tcmVwZWF0fS5qcC1uZXh0LC5qcC1wcmV2aW91cywuanAtc3RvcHt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O21hcmdpbi10b3A6NnB4fS5qcC1zdG9we2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC04M3B4IG5vLXJlcGVhdDttYXJnaW4tbGVmdDoxMHB4fS5qcC1zdG9wOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtMjlweCAtODNweCBuby1yZXBlYXR9LmpwLXByZXZpb3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC0xMTJweCBuby1yZXBlYXR9LmpwLXByZXZpb3VzOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtMjlweCAtMTEycHggbm8tcmVwZWF0fS5qcC1uZXh0e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC0xNDFweCBuby1yZXBlYXR9LmpwLW5leHQ6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC0yOXB4IC0xNDFweCBuby1yZXBlYXR9LmpwLXByb2dyZXNze292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9LmpwLWF1ZGlvIC5qcC1wcm9ncmVzc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MzJweDtoZWlnaHQ6MTVweH0uanAtYXVkaW8gLmpwLXR5cGUtc2luZ2xlIC5qcC1wcm9ncmVzc3tsZWZ0OjExMHB4O3dpZHRoOjE4NnB4fS5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCAuanAtcHJvZ3Jlc3N7bGVmdDoxNjZweDt3aWR0aDoxMzBweH0uanAtdmlkZW8gLmpwLXByb2dyZXNze3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMHB4fS5qcC1zZWVrLWJhcntiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgMCAtMjAycHggcmVwZWF0LXg7d2lkdGg6MDtoZWlnaHQ6MTAwJTtjdXJzb3I6cG9pbnRlcn0uanAtcGxheS1iYXJ7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTIxOHB4IHJlcGVhdC14O3dpZHRoOjA7aGVpZ2h0OjEwMCV9LmpwLXNlZWtpbmctYmd7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5zZWVraW5nLmdpZil9LmpwLXN0YXRlLW5vLXZvbHVtZSAuanAtdm9sdW1lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0uanAtdm9sdW1lLWNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMnB4O2xlZnQ6MzA4cHg7d2lkdGg6MjAwcHh9LmpwLWF1ZGlvLXN0cmVhbSAuanAtdm9sdW1lLWNvbnRyb2xze2xlZnQ6NzBweH0uanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9sc3t0b3A6MTJweDtsZWZ0OjUwcHh9LmpwLXZvbHVtZS1jb250cm9scyBidXR0b257ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1pbmRlbnQ6LTk5OTlweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcn0uanAtbXV0ZSwuanAtdm9sdW1lLW1heHt3aWR0aDoxOHB4O2hlaWdodDoxNXB4fS5qcC12b2x1bWUtbWF4e2xlZnQ6NzRweH0uanAtbXV0ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgMCAtMTcwcHggbm8tcmVwZWF0fS5qcC1tdXRlOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtMTlweCAtMTcwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1tdXRlZCAuanAtbXV0ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTYwcHggLTE3MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtbXV0ZWQgLmpwLW11dGU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC03OXB4IC0xNzBweCBuby1yZXBlYXR9LmpwLXZvbHVtZS1tYXh7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTE4NnB4IG5vLXJlcGVhdH0uanAtdm9sdW1lLW1heDpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTE5cHggLTE4NnB4IG5vLXJlcGVhdH0uanAtdm9sdW1lLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTI1MHB4IHJlcGVhdC14O3RvcDo1cHg7bGVmdDoyMnB4O3dpZHRoOjQ2cHg7aGVpZ2h0OjVweDtjdXJzb3I6cG9pbnRlcn0uanAtdm9sdW1lLWJhci12YWx1ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgMCAtMjU2cHggcmVwZWF0LXg7d2lkdGg6MDtoZWlnaHQ6NXB4fS5qcC1hdWRpbyAuanAtdGltZS1ob2xkZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwcHh9LmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSAuanAtdGltZS1ob2xkZXJ7bGVmdDoxMTBweDt3aWR0aDoxODZweH0uanAtYXVkaW8gLmpwLXR5cGUtcGxheWxpc3QgLmpwLXRpbWUtaG9sZGVye2xlZnQ6MTY2cHg7d2lkdGg6MTMwcHh9LmpwLWN1cnJlbnQtdGltZSwuanAtZHVyYXRpb257d2lkdGg6NjBweDtmb250LXNpemU6LjY0ZW07Zm9udC1zdHlsZTpvYmxpcXVlfS5qcC1jdXJyZW50LXRpbWV7ZmxvYXQ6bGVmdDtkaXNwbGF5OmlubGluZTtjdXJzb3I6ZGVmYXVsdH0uanAtZHVyYXRpb257ZmxvYXQ6cmlnaHQ7ZGlzcGxheTppbmxpbmU7dGV4dC1hbGlnbjpyaWdodDtjdXJzb3I6cG9pbnRlcn0uanAtdmlkZW8gLmpwLWN1cnJlbnQtdGltZXttYXJnaW4tbGVmdDoyMHB4fS5qcC12aWRlbyAuanAtZHVyYXRpb257bWFyZ2luLXJpZ2h0OjIwcHh9LmpwLWRldGFpbHN7Zm9udC13ZWlnaHQ6NzAwO3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpkZWZhdWx0fS5qcC1kZXRhaWxzLC5qcC1wbGF5bGlzdHt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2NjYztib3JkZXItdG9wOjFweCBzb2xpZCAjMDA5YmUzfS5qcC10eXBlLXBsYXlsaXN0IC5qcC1kZXRhaWxzLC5qcC10eXBlLXNpbmdsZSAuanAtZGV0YWlsc3tib3JkZXItdG9wOm5vbmV9LmpwLWRldGFpbHMgLmpwLXRpdGxle21hcmdpbjowO3BhZGRpbmc6NXB4IDIwcHg7Zm9udC1zaXplOi43MmVtO2ZvbnQtd2VpZ2h0OjcwMH0uanAtcGxheWxpc3QgdWx7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowIDIwcHg7Zm9udC1zaXplOi43MmVtfS5qcC1wbGF5bGlzdCBsaXtwYWRkaW5nOjVweCAwIDRweCAyMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZWV9LmpwLXBsYXlsaXN0IGxpIGRpdntkaXNwbGF5OmlubGluZX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZHtwYWRkaW5nOjVweCAwIDVweCAyMHB4O2JvcmRlci1ib3R0b206bm9uZX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudHtsaXN0LXN0eWxlLXR5cGU6c3F1YXJlO2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlO3BhZGRpbmctbGVmdDo3cHh9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGF7Y29sb3I6IzMzMzt0ZXh0LWRlY29yYXRpb246bm9uZX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1jdXJyZW50LGRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVye2NvbG9yOiMwZDg4YzF9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmV7ZmxvYXQ6cmlnaHQ7ZGlzcGxheTppbmxpbmU7dGV4dC1hbGlnbjpyaWdodDttYXJnaW4tcmlnaHQ6MTBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzY2Nn1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1pdGVtLXJlbW92ZTpob3Zlcntjb2xvcjojMGQ4OGMxfWRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBzcGFuLmpwLWZyZWUtbWVkaWF7ZmxvYXQ6cmlnaHQ7ZGlzcGxheTppbmxpbmU7dGV4dC1hbGlnbjpyaWdodDttYXJnaW4tcmlnaHQ6MTBweH1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGF7Y29sb3I6IzY2Nn1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXJ7Y29sb3I6IzBkODhjMX1zcGFuLmpwLWFydGlzdHtmb250LXNpemU6LjhlbTtjb2xvcjojNjY2fS5qcC12aWRlby1wbGF5e3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmpwLXZpZGVvLTI3MHAgLmpwLXZpZGVvLXBsYXl7bWFyZ2luLXRvcDotMjcwcHg7aGVpZ2h0OjI3MHB4fS5qcC12aWRlby0zNjBwIC5qcC12aWRlby1wbGF5e21hcmdpbi10b3A6LTM2MHB4O2hlaWdodDozNjBweH0uanAtdmlkZW8tZnVsbCAuanAtdmlkZW8tcGxheXtoZWlnaHQ6MTAwJX0uanAtdmlkZW8tcGxheS1pY29ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTEycHg7aGVpZ2h0OjEwMHB4O21hcmdpbi1sZWZ0Oi01NnB4O21hcmdpbi10b3A6LTUwcHg7bGVmdDo1MCU7dG9wOjUwJTtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LnZpZGVvLnBsYXkucG5nKSBuby1yZXBlYXQ7dGV4dC1pbmRlbnQ6LTk5OTlweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcn0uanAtdmlkZW8tcGxheS1pY29uOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkudmlkZW8ucGxheS5wbmcpIDAgLTEwMHB4IG5vLXJlcGVhdH0uanAtanBsYXllciwuanAtanBsYXllciBhdWRpb3t3aWR0aDowO2hlaWdodDowfS5qcC1qcGxheWVye2JhY2tncm91bmQtY29sb3I6IzAwMH0uanAtdG9nZ2xlc3twYWRkaW5nOjA7bWFyZ2luOjAgYXV0bztvdmVyZmxvdzpoaWRkZW59LmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSAuanAtdG9nZ2xlc3t3aWR0aDoyNXB4fS5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCAuanAtdG9nZ2xlc3t3aWR0aDo1NXB4O21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MzI1cHg7dG9wOjUwcHh9LmpwLXZpZGVvIC5qcC10b2dnbGVze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE2cHg7bWFyZ2luOjEwcHggMCAwO3dpZHRoOjEwMHB4fS5qcC10b2dnbGVzIGJ1dHRvbntkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7d2lkdGg6MjVweDtoZWlnaHQ6MThweDt0ZXh0LWluZGVudDotOTk5OXB4O2xpbmUtaGVpZ2h0OjEwMCU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9LmpwLWZ1bGwtc2NyZWVue2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAwIC0zMTBweCBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6MjBweH0uanAtZnVsbC1zY3JlZW46Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC0zMHB4IC0zMTBweCBuby1yZXBlYXR9LmpwLXN0YXRlLWZ1bGwtc2NyZWVuIC5qcC1mdWxsLXNjcmVlbntiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTYwcHggLTMxMHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtZnVsbC1zY3JlZW4gLmpwLWZ1bGwtc2NyZWVuOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtOTBweCAtMzEwcHggbm8tcmVwZWF0fS5qcC1yZXBlYXR7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTI5MHB4IG5vLXJlcGVhdH0uanAtcmVwZWF0OmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtMzBweCAtMjkwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1sb29wZWQgLmpwLXJlcGVhdHtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTYwcHggLTI5MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtbG9vcGVkIC5qcC1yZXBlYXQ6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC05MHB4IC0yOTBweCBuby1yZXBlYXR9LmpwLXNodWZmbGV7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIDAgLTI3MHB4IG5vLXJlcGVhdDttYXJnaW4tbGVmdDo1cHh9LmpwLXNodWZmbGU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5ibHVlLm1vbmRheS5qcGcpIC0zMHB4IC0yNzBweCBuby1yZXBlYXR9LmpwLXN0YXRlLXNodWZmbGVkIC5qcC1zaHVmZmxle2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIuYmx1ZS5tb25kYXkuanBnKSAtNjBweCAtMjcwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1zaHVmZmxlZCAuanAtc2h1ZmZsZTpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLmJsdWUubW9uZGF5LmpwZykgLTkwcHggLTI3MHB4IG5vLXJlcGVhdH0uanAtbm8tc29sdXRpb257cGFkZGluZzo1cHg7Zm9udC1zaXplOi44ZW07YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlcjoycHggc29saWQgIzAwOWJlMztjb2xvcjojMDAwO2Rpc3BsYXk6bm9uZX0uanAtbm8tc29sdXRpb24gYXtjb2xvcjojMDAwfS5qcC1uby1zb2x1dGlvbiBzcGFue2ZvbnQtc2l6ZToxZW07ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo3MDB9]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/image/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/image/jplayer.blue.monday.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/image/jplayer.blue.monday.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/image/jplayer.blue.monday.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAHAAAADICAYAAAAweWVTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAOkdJREFUeNrsvWuUVNW5Nvq+c65LVXX1hUZBCBdFiEhziQoIAdOKBMWhyVZ3J+6djG+YvY3fGXucmO3x80d+JGjOUPMjBzOiBlCDknQINBCIMlRQbpoEL5gdWmmxuQTobvreFF2r1n3NeX4wZ7F6dVVfoBsa6DnGHFXVtbrWqvXU816e911rIucchselO8jwKRgGcHhcxKEM5Ich4kAfH4oJAMDFHB6DBeAAgUVCjwoAUAFcAAA+ADDxmg0DOjQARAESBQBVHFP4kQqwJICeeO6J14GYfBjACw8cAQANABIAoPcDQD/03AUACwAcsc0VNfBipBF4xlkqABADgAIx4wIwFQAURVG0HCbUAwAfET0ACBDRRUSHUpoxTdMQQAacczYM4OAFMTh58mSttbU14bpuMgiCJOe8gHOeAACdcx5lYT4AfQBwEdFCRIMQYiqKYsbjcWvChAnOfffdFyxbtqynLzckTO75Bn4XlIGIiJMnT9ZaWloKXNctZIwVcs4lgN1YKMDMmlBEDJtQDwAcRMwAQAYRTUKIRQixFEWxEomENW7cOPdSAXLIM/Cpp54iGzZsUOrr6wscxylijBUxxgoBoJBzngSAhGBhLOIDiWQgIcQHAE8A6TLGTAFeBgAswUYLEW3BSCeRSFg33nijs2vXrr74Rz7MwO6BCgAAfOc73yE7duwosCyrOAiCYsZYkQCvEAAKCSGShQVhE8o5p4jII5GnZF8aAExEtASAJiI6iGgJNjqapmU45+kxY8bY06ZNC6qqqvrjH/kVy0DOefbF008/jS+//HIslUoV+75fwjkvFrOQEFIEAEkJpPSFAKASQmR6AREAXUS0AcBARCPEPjsIAgmkSwgxCSEZRVEyuq5bJSUlVjKZtPtgVi8YoEOVgV2Oavbs2UptbW2x67oljLFiSmkJY6yYc14sQCsGgCQiFgKADGiyQQwhhEfSCAcRpfk0GWOWANIV4NmCiRnGmBH2jbquWyNHjrQWLFjgrFq16lzzxyHDzEGR0sI/iqeffhrb29up7/s65zxOKQ0HLQWIWISISc55EQAUImIyZEYx8nlcRKEW51yRqYhgnw4ANiJq0owiooqICiLq4n3d9/14U1OTsX379swdd9xh33777f6yZcv6q+rgQAF5vgwcUADDZlOOAwcOoGEYqqZpmud5WhAEGuc8LnxeUppPwT4Z0FBCSK7cEUXirwKAKkCxOOeafI6IMQBwGGOdiEgRURXRrel5XiwIAktRFMWyLO3YsWNWZWWleeDAAbusrIwJIPvDNDxfVp6vBVQGy2zKcfToUeJ5nsI5l2mBSgjROOcxAEggogxckoiYFCcde/mlolRvJLs45zYiagAQF0EM5ZyrwpxaYts4ImY456rjOKrv+zFN0/R9+/bZJ06csA4cOGBXVFQEFRUV/ByYdk5gDikG5hqTJk3Curo6zTRNVVEUJQgClTGmEkJUAaguTGlSHo/8UvPnzy/4xje+UaQoClZXV5u7d+9OZzKZcDpABfjSjMYkkOKHoHPOpX9MUEpNYXo1zrnOObd839cdx7Hr6ur0trY2++TJk1ZNTY2zbNky/zzA6fP2Q4WBeX9G9fX1NAgCRZw4lXOuEkIUxpiCiPK1yjlXJHCEELj77rtLfvnLX14/ceLEAgCAdDrtbdmypfm1115r/vTTT82opso5pwAQI4TY0j8KxlniR+IwxigiKgCgU0p1znmMcx4LgsDinGuWZTlNTU36li1b0seOHbPnz58fPProo1H/2F//hz1tO1Si0JxHsWHDBvLTn/40kUqlrrJtu9T3/VJEHMkYKwWAqzjnpQBQiogjOedJ6fduvfXW5MqVK786ZcqUZPQz6+rqzI0bNza/+uqrLfX19W6OXzOXCT0A2ABgAoDDObcIIWlCiCFYaolHm3NuUkptSqmJiIamaVZhYaGZTCbNuXPnOtOnT2cCyHzA9fUkDnj0qgwi+/C9994jjuNQxhjlnFNKqRIEgWSeIiJEyRYQExcuXFiYCzwAgPHjxycef/zx65YsWTJy9erVJ9evX99umiYLAYhC1dFEwKMBgEMIkcKANKumYKsp2GhzzjXOueL7vm4Yhp7JZGK7du2yDh8+bDU2Ntrl5eXs9ttvzwVGX1nZbbsh7wNjsRjNZDKoKArxfZ9QSgkAIGNMlpOoeAQ8M2Ds2LF6b59bVlZW9Oyzzxbcc889I1977bWmHTt2dLquGz6BqjCrccFEBQA0YVZNEUTZIqByCSGmNOdBEMSEpBdLp9PxEydOZNrb2zNHjhyxW1tbvYqKiiCPn+svkMDP0wQqg8W+XH+klCLnHBljEEoTunz5aPrQ09B1nd55551Xz549u+TNN99sWb16ddPnn39uhdhIGGOysq+EghpV+EuLc64LM6oIX6wRQuKMMZNSGvN93zJNU3UcR62urrZbWlqsvXv3WvPnzw8EkLmA60/Qg+LHy4ccA8eOHYviRIPruuh5ngxSMGLyIGxC+7uf4uJi9fvf//5XFixYULJhw4bm9evXtzU0NHiccy4+DjnncQDQCCE65zwm0gsNAHRCiC1yS0OAbBJC9CAIEoqiGL7vq4ioG4ZhNTY2am1tbfo///lPq6amxr733nuDW265Rfbr4LmaV5FD86EAYBcACgoK0DAMyUDgnKOcYeVGgkcIOWe/cN111xU8+eSTk5YuXTpyzZo1jW+88UbKMIyAMSb3QznnBVKVEemGLQCT6YVFCNEYYw4AmIwxKvxoTIAYI4SYQRDoDQ0N9oEDB6zbbrvN/tGPfhSEgDpXIPvNxsFkYBYFTdOQMYZBECBjDDjnWfYJ8BAAkFKaZeL5SFMzZswofuaZZ5JLlixpX716ddMHH3yQDitFjDFVVDlinHOLUqoJ8LL5pFB1FMHSWBAEMUVRdN/3LVVVNcMwYrqu20ePHjVs21ZPnDhhLVq0yF+6dGkuIPvlJ0OKFh9MALG3v5WWlmJvJ1vS8HxMaD7/uGTJklE33XRTyfbt21tfffXVpsOHDzucc04IAc45EVNBREXIcZZUiYRYrgrlJoaIehAEMUqp5XleTFEU27ZtEwDUhoYGra2tTT9+/Lh18OBBa+rUqSwEZD5WDggjlcFmXyKRQMMw0Pd9lIEmY0yaUMnAbJAzkCACAFx99dXa9773va/MmzevZOPGjc1VVVXtbW1tXsisgixhCebFRA6pitRDslETvlIHAM33fUdRFM1xHNXzPM33/dixY8f0VCoV27dvn3Xw4EH7rrvuCqZNm8YiYOE5MpJflDQi1xAMCOdBGA1mBnpcf/31BU888cS15eXlJVVVVc1bt25Nua7LZVQsckQiZTYBnvR9MQDQGWMWpVQTAZEp1CSNMRazbTvDGIs5jmOfPn06097ebldXV1v33HOPU1FR4ecAD3P4SN6zwerOxEH1gYWFhRhJI0D4ICCEIGMsyzYZvEgWDkrtTFHIvHnzSmfNmlW8ZMmS9jVr1jR99NFHGUKITMeyZlXqtIQQmzHWLX+UAoR4rTPGdMdxLEKICQBaU1OTk06njUwmY9bU1Fjl5eX+7bffHvSi0PTIxlxMHPRqRDweR03T0Pd9cF0XKKV4tjrUxRdmE/nBAjB0TPTuu+8eddNNNxW/+eabzZWVlS319fWeCLC4CK5iQs3RCSE6nGlZzJrUkBgf45zrABDnnFuc85hlWbamaaZpmuqJEye0VCql1tXV2bW1tfb48eODpUuXsggLc5lV3hcmKgMJVm/vUUoxCIJsOiES+6wIQynN5ogXYowePVr/wQ9+ML68vLx0w4YNzZs3b+5IpVK+NO+MMcoYS4hIVE5XACmFATNUztIFmLbrupqQDDXf92OZTMasr683J02aZBuGYZeVlQXTpk3jOQKdXkEMM/GC+EBVVVEyT+w8CxxjDKX6gojSlF4wECmlOGXKlOSTTz6ZWLRoUWllZWXTu+++ezoUrSLnXBX5YBzOFJAVRNSEihMTBWpLCAFxQojJGFNd19VEThkTJjbhOE66qalJnTVrll1eXu5GzGouEPOZVEREPphRKBYUFGAsFsNoACMjQOHzsol8KAq94IGVqqpk3rx5I6ZOnZq8884729etW9dSXV1tymMlhEhZLilF8UgXQAzONCY7UlNFRJ0xpotyVYxzbvq+r3iep//tb38zv/zyS2vfvn1WWVmZL8xqT76R52LiBYtCFUXBIAggJFpjOBIlhGD48WKNkpIS9f7777/m1ltvLd66dWvr2rVrW1tbWz3BRAiCAATjNMaYBNER5lUXflBWXHQZpfq+HyeEaACgpdNp3TTNmGEYRkdHh3rw4EGnrq7OXrhwoR9KO/pkUge6oIv5TKjneSgYhlKJCeWCGIpCYSiMsWPHxn/4wx+O//rXv17y+9//vnHPnj2dhmEwmQKFBQBR7dBEq6O8PEAXNUeNc+4QQkxEVEVPkB42q5lMJlNfX2/t3bvXKi8vtx9++OGgr35x0BlYUFAQTSNkKSnLNGk2L6YJzRfuTZ8+vejnP/95wSeffJKqqqpq2bNnTyfnXKZCXPhHJZReqALMmFRwAEB2CaiMMZ1zbgGAIQQBzXVdLZ1Ox9PptHH69Gl66tQp8/HHH/f7AuKgitnxeByl+cyXzEsGRqS0fiG4f/9+2LFjB6TTaZg4cSJ861vfgtLS0l7/7/Tp03D8+HGor6+HdDoNiAjJZBLGjx8PEyZMgOLi4qwst3DhwpFlZWWFO3fubH/99deb6urqXGlWGWMo9FVFBjihyFUXArkiIlabc64FQaD7vm8ioixrZYR/pO+88w7t7Ow0KioqpEnlA2lCsY/bYNQHyi8cKvFgNIARqUSfD+bIkSPwhz/8AdLpNAAANDU1gWma8Mgjj4CmaTn/x3Vd+Pvf/w7vv/8+HDt2TPq1LnnptddeCwsWLIB58+ZlP2fEiBHagw8+OGbOnDnFb7zxRsuWLVva29vbA8FEDIIAOedxkfjrISVHFQyMc84zcKbYbAlTq3meFxOAq4Zh0CAIyI4dO2hLS0v6pZdesntSbehTTz01kCI2hmdtbS2pra2NdXR0JDzPS4icSnZex4W6kRCht6IoChJCYMGCBUUzZ84s6svBbN++HQ4dOpRVchARWltbYeLEiXDNNdd02z6VSsH69evhrbfeglQq1SV9CZeyTp06BdXV1dDS0gKTJ0+GWCzWpf44Z86cktmzZydt2/aPHz/uyjqnFJZk85TIF4mIXJWQgqMK1UfnnFPGGBGxALquSxhj3HEc1tbW5s+fP5/lOO94QfNARVEgCIJsJCpYhpF6YL+jUNu2czJW1iCjf/vDH/4AX3zxRTZYksyLMlCOv//972AYBvznf/5n1qTKbcrKyop+9rOfJe+44472TZs2tezbty8TBAGKVInAmY4Aeem4rPzLbjhTBDi2AJgwxtD3fcI5R8dxWCqV8vfu3etHqhtd2DiotxnRNC2X75N1P4yAhqFEvs/7mDRpUpY9chYWFsKUKVOiORO8++678OWXX3Zhq3wu/5dSmjXjch4+fBj+/Oc/5ytbkcWLF1/93HPPTfnJT34yfuzYsZqiKEApRVVVUVVVQgiJiUsIihGxmBBShIgliFiKiCUAUIKIhZzzkiAIihAxGQRBgWVZydbW1sTu3bu1XG4JAHAgu9JyUlyCSClFSikIvRHDfjCqhfYniJk/fz60tbXBp59+Cq7rQmFhIXzrW9+CUaNGddnu2LFj8Ne//hXCka+MjG+44QYYO3YscM6hsbERamtrwXXdLsz8xz/+AbfccguUlZXlyx+1Bx54YMzcuXNL1q1b1/j222+f6uzsDIIgQETkjDEaBEFcpBGaLEsJs0qECSWEkIBz7jHG3CAI3FQqZR86dMiqqalxQtLboElpYR8ImqahpmmYSCSQMUYYYyQIAkIplaq/RAwJISglt/7kgqqqwgMPPADz5s2DTCYDo0ePhqKiopyRKiEEdF0Pi9pwzz33wNy5c7tcmFNdXQ2bN28GwzDC3QNQXV2dF0A5xo0bF3/iiSeu++Y3vzly48aNLTt37jzNGOO+73PhQpAxlgyCIMYY08QlADIfZuLycU9cHudQSmOmaWp/+ctflGnTpnnR1GKw0ggEABKPx0kikSC6rhPP8xAAiO/7yDmXshSR9p9SSiSAudKO3kYsFgPOeU5/6HkeNDQ0dAlEKKWwaNEiuPXWW6O5H8yaNQs8z4M///nPXQBsbW3tc/44a9as4qlTpxYuXry4Y+3atS1ffvmlJUDkvu9z3/e1IAio8JGyJulzzj1KqQsAGUVRVE3TFE3T1FOnTqlw5vK6Lrqpco7msqfoM/taURRUVRV1XSeO4xAAIIqiyIiLyPobIhJKKWqaRhRFkcJ3n8eHH34In3zyCfi+D7FYDO666y6YNGlS9v10Og1BEEA8Hg9HknDzzTfn/cxp06bBP/7xD2hubs4Z6PRl6LpOysvLr5o5c2bRe++9175u3bqWjo4OXwLpeR4NgiDBGAsYY17oIhyNECKnjoiabduyfzasmQ4qA5FSivF4nMTjcfQ8T9p4EgZQmlBFUYg0uf1hYCqVgv3794PneYCIYNs2fP7553DddddlzSJjDFRVhXg8ngWhoKAAEolETwEYjB49Gk6fPp1l4bkqRCNGjNAqKirGLFy4cERVVVXTtm3bTlmWxQgh3HVdFJGpJnpSVdlVrmmapiiKioia67pqY2MjGTNmDD8fBvbGyi7PKaWo6zoRzMqa0jD7hNCPiqKgpmlE07R+MdC2baCUgq7r2RPsOA4wxrKpAiKCrutdGKSqao+gMMbAdd0uYkBPgPdljBkzJvbYY49dO3ny5PiaNWua29raPEQE3/dlcVhjjGmUUhXO9LBqhBAtCALVsizl6NGjdMyYMV2UGTKAwEXNqay+ywhUFm2JyAslaKiqKpHmViTzfQZQBiaapmWnqqrd/Fr4/VzbREdrayucPn26y/8kk8mB0Fdh6dKloxYtWlQi0gxUFIVSSlVEVMSjJrrjVM656vu+lk6ntePHjyvRcz+YeSBKZoVyIvmayGBFRp3yPVVVsT9SGiKCoihdZjSKlduoqtpl9mSWP/nkE0DE7LaKosCIESMG5MQQQrCsrKxAfn8iBhUDESkhRKGUKuI6R2rbNrUsK0qUfqcRPM/zbgqGDPbg7P3LwjcqcEUNTd51gom8CAAAZsyYUbB48eKr+3JAbW1tUFVVlZXFAACmTJkCd911VxbIU6dOwR//+Efo7OzMbjNhwgS49957gRACnudBc3Mz+L4P+/fvh40bN0J9fX23ff33f//3gP26Gxsbnbfeeuu0tNgAcBoATgFAh5jt4vVpMTsrKyszjzzyiHNBy0lDeRBCwDRNWLlyJezYsQMsy8obaU6bNg0WLVo0IPt1HCfYvXt3KvQn+cOOTg+63twvGKyC7iUL4Icffghvvvlmj9uNHDkSHnvsMSgsLDzvffq+z1588cXj69ataw//GbrfhTHX62EAo6O5ubk3ZQV+/OMfww033HDe+zp48GD6ueeeO7Z27doO3/fD6YAbAikfkAEMYkvFJTtmzJgBhYWF2XqiHIWFhfC1r30NHn30URg3btx57aOhocFavXp1w/LlyxtTqVS0C82Cs/c7lYC5OYDM2RR8RQMYBAFMnz4dfvzjH8M777wDruvCyJEj4Stf+QrcfPPNMHPmzPPq0TEMw9+yZUvzL37xi/oDBw5YOQJCCwDScKa9Ql7T70TY6OXzf1c8gDJgufPOO+Eb3/gGuK7bpYfnPPwc37lzZ9sLL7zQsHXr1lQO4NwQ8zICxE4RbRohRro9+b9hExoaveWGfR01NTXp559//sS6devaDcNgEeB8OHvnDFOAZAoAUwJEMzTDjOTDAA7iaGxstKuqqhqfffbZhpaWFj9KyhBYZghEW8xOMTPi0RDPM4KNXr79XrEADtRdGqWfe+GFF05+/PHHmRzmUoJl5ZiGADYTMqVGCERD/K9/xQMoW+TDOeD59J8GQcA//PDDjuXLl9f/6U9/OtWDn7MFOGbEfEr/54S2CYMnGen1dBxXBICjRo2Cq666qkuj01e/+tVzjjBramrSK1asqF+7dm17R0dHLnNphUCyQ2yL+jc75AszodkZYie/rAHMJXxH2ZZMJuG//uu/4JVXXoHOzk6YPHkyPPzww+eS9NtVVVVNzzzzTENzc7OXx89ZPfi5fKY0zNRMiJmDepODITE8zwPZqihHQUFBN2DnzJkDM2fOhHQ6DVdddVW/9pHJZPzt27e3rlq1qnHbtm2dOcylEwo4woCYITCMCDPNyHZO6G9uX4/tkgdw165d3XpAR40aBYrS/avput6lqakPfpPv3bu34/nnn6/funVrynEcnsPP2SFAMiEgMhE22pHIMjrD1Rm4bAFkjMHJkyfh9OnTsHPnTnjjjTe6RZSTJ08+7/0cPnzY+N3vfte4YsWK5ra2tnx+zoqwx4gwzM7DSCviC/sN3CUL4LPPPgsffPABMMbA97t/5+Li4m6dZv31c5s3b25esWJFU3V1tdVDWpDpxc/lSh/CLJRJun8+5+OSA3DHjh09vv/QQw/Btdde2+/PtW072LVrV/uLL77YECq05pO/ogBG/ZwV8XNWDlA9GID7h15WacS9994L999/f7/+x/d9tn///s5XXnnl5Nq1a9vT6XSQQ/4KgxH2cUbEjIYZFjWh5rn6ucsKQE3Tsm3vcpSUlEBFRQU8+OCD/QpSTpw4Ya5Zs+bkypUrm0+ePJkrLbBzmMSwucz04ufCvtAdSOAuWQD/4z/+A3bs2JFt1P3a174GCxYsgKlTp/ZZWZHy10svvXTyww8/zPSQFkRZFJW/rD5Em25vasqQATAaDQ7GpdLf/e534bvf/e45/a/jOMGePXvaV61a1diD/GWHgDFzBC2ZPObSiigvFgC4fJAXp7pitNADBw50rl69+uTrr7/eFpG/eB5zKdmWi2FmhKWZqJ/jnPsX4ntd9gDW19dbmzZtan7hhRcajxw54uSRv6L1uZ78XL60wBosP3dFApjJZPy33367dfny5fV79+7N9FH+ClfJ+yt/efwirGd72QHo+z77+OOPUytWrGjYtGnTKcuyolVxD7qWdS64/HW5ADjgEc4XX3yR/u1vf9tQWVnZnqdakCupDstfEsxcaUFUIrtgfm4oMzAniP2NXltbW52qqqqm3/zmN401NTV2Hvkrk8PPWXnkLzuyjRkyp+5QAO5CAhhuYOU5XveajuQbpmkG27Zta125cuXJ7du3d/Ygf0U1SCv0vF/y18XwcxcTQA5iBWrxyEKvozM7mpube62Hffrpp6lf//rX9VVVVR22befzc9FqQSYCmJ1H/jIjgYo3lFh3oQHsqVU8fCFH9s6177//fuehQ4eMXOsnHTp0yKisrGxctWpVSz/8XDQtcHKwLqf8NVSBy7qbwbYI4uZvIwBgZGiW5nhdAmcXPIZvf/vbJb/61a+mTJw4MQEA0N7e7q5fv77x5Zdfbu6lzJPLh/Vb/uKce3AJjAsBoAIART0AVyoALoYzq3JmI5gFCxYk586dm1QUBT/77DNzz5496RxpQbTMY0byuXzyV77eFHeo+bmLDSCBM6ts5gKuRIBXFJrxPqYYHuSuimd6kb/MSEAzpNKCoRqFhn2gGzJnCpy5jxiBs9fW8ygT85hLA3ru/uqz/HUpAnfBABQriIUvq7bgzG0YJXjRY2ACaLmNbC8LryOfyxRG/Vwu+WvIpwVDNZEPIsDR0AxfuC9TDDsEbhhAGcG6oeQ6A7m7nPO1+TmXqrm8aACKe4BZYn9KCEQSMotBiGVhdtLQ++GURJpLA/KXecyIj3QvF+AuhpQWiBOZC7wwQGH2Sf/IIybUh9z1uMvSzw0JAIUv9MRJxTzgychS6QXAAM5Wz/NVxS8bPzdUGChNqZ0HPMkqJWJCc/nAcESbK3W4rPzckAEwAmKUeTLyVIWJzecDo8HMFWMuhwSAERDDWqgTYV4+Exr2g2EWWpxzF66wgRfbPQilRhdghYMX2gOA3W6McyWxbkgBGAISI/khzZPIh0tQ7HIOUIasCe2D5AYiUiWRJJ/B8BiaDBwe5zbI8CkYBnB4DAM4PIYBHAZweAwDODwu7TxwEK4HDBd78zYCDwM4RHLSSPJOoLuYLe9wz0OPwwAOAeCkdBbWQsOaKIPu9cBwg3BwpYJ5sa9OInCmhJSAs4J2XwCM1gTlpV7BlQbgRZHShHCtAEAMzvSMFsCZftBsRUJRFA3y9MSIyn6AiC4iOpTSjGma8pqHgHPOhgEcvCAGJ0+erLW2tiZc100GQZDknMuFkXWxCFSPTU0CQB8AXES0ENEghJiKopjxeNyaMGGCc9999wXLli3r6csNCZN7voHfBWUgIuLkyZO1lpaWAtd1CxljhZxzCWA3FgowsyZU9JeGi7kOImYAIIOIJiHEIoRYiqJYiUTCGjdunHupADnkGfjUU0+RDRs2KPX19QWO4xQxxooYY4UAUMg5TwJAQrAwBnm60gghPpxZntQHAJcxZgrwMgBgCTZaiGgLRjqJRMK68cYbnV27dvXFP/JhBnYPVAAA4Dvf+Q7ZsWNHgWVZxUEQFDPGigR4hQBQSAiRLCwIm1DOOUXEaPOTZF8aAEzRc2ohoomIDiJago2OpmkZznl6zJgx9rRp04Kqqqr++Ed+xTKQc5598fTTT+PLL78cS6VSxb7vl3DOi8UsJIQUAUBSAil9IQCohBCZXkAEQFf01BiIaITYZwdBIIF0CSEmISSjKEpG13WrpKTESiaTdh/M6gUDdKgysMtRzZ49W6mtrS12XbeEMVZMKS1hjBVzzosFaMUAkETEQgCQAU02iCGERPtCHUSU5tNkjFkCSFeAZwsmZhhjRtg36rpujRw50lqwYIGzatWqc80fhwwzB0VKC/8onn76aWxvb6e+7+uc8zilNBy0FCBiESImOedFAFCIiMmQGcXI53ERhVqcc9m5FhPs0wHARkRNmlFEVBFRQURdvK/7vh9vamoytm/fnrnjjjvs22+/3V+2bFl/VR0cKCDPl4EDfa+0bkdz4MABNAxD1TRN8zxPC4JA45zHhc9LSvMp2CcDGhq957VcLBnO9o6qAhSLc67J54gYAwCHMdYpVr9URXRrep4XC4LAUhRFsSxLO3bsmFVZWWkeOHDALisrYwLI/jANz5eV52sBlcEym3IcPXqUeJ6ncM5lWqCK9WFjAJBARBm4JBExKU469vJLRaneSHZxzm1E1AAgLoIYyjlXhTmVy3vHETHDOVcdx1F9349pmqbv27fPPnHihHXgwAG7oqIiqKio4OfAtHMCc0gxMNeYNGkS1tXVaaZpqoqiKEEQqIwxVSy3rYqApUCYTiX8pebPn1/wjW98o0hRFKyurjZ3796dzmQy4XSACvClGY1JIMUPQeecS/+YoJSawvRqYulvy/d93XEcu66uTm9ra7NPnjxp1dTUOMuWLfPPA5w+bz9UGJj3Z1RfX0+DIFDEiVM55yohRGGMKYgoX6ucc0UCRwiBu+++u+SXv/zl9RMnTiwAAEin096WLVuaX3vtteZPP/3UjGqqnHMKADFCiC39o2CcJX4kDmOMimv2dUqpzjmPcc5jQRBYnHPNsiynqalJ37JlS/rYsWP2/Pnzg0cffTTqH/vr/7CnbYdKFJrzKDZs2EB++tOfJlKp1FW2bZf6vl+KiCMZY6UAcBXnvBQAShFxJOc8Kf3erbfemly5cuVXc91mpK6uzty4cWPzq6++2lJfX+/m+DVzmdBD6JpBzrlFCEkTQgzBUks82pxzk1JqU0pNRDQ0TbMKCwvNZDJpzp0715k+fToTQOYDrq8nccCjV2UQ2YfvvfcecRyHMsYo55xSSpUgCCTzFBEhSraAmLhw4cLCXOABAIwfPz7x+OOPX7dkyZKRq1evPrl+/fp20zRZCEAUqo4mAh4NABxCiBQGpFk1BVtNwUabc65xzhXf93XDMPRMJhPbtWuXdfjwYauxsdEuLy9nt99+ey4w+srKbtsNeR8Yi8VoJpNBRVGI7/uEUkoAABljspyUvdgTzwwYO3Zsrze+LisrK3r22WcL7rnnnpGvvfZa044dOzpd1w2fQFWY1bhgogIAmjCrpgiibBFQuYQQU5rzIAhiQtKLpdPp+IkTJzLt7e2ZI0eO2K2trV5FRUWQx8/1F0g430sDlMFiX64/UkqRc46MsfDSOF2+fK61kPINXdfpnXfeefXs2bNL3nzzzZbVq1c3ff7551aIjYQxJiv7SiioUYW/tDjnujCjivDFGiEkzhgzKaUx3/ct0zRVx3HU6upqu6Wlxdq7d681f/78QACZC7j+BD0ofrx8yDFw7NixKE40uK6LnufJIAUjJg/CJrS/+ykuLla///3vf2XBggUlGzZsaF6/fn1bQ0ODJ64Klr4+DgAaIUTnnMdEeqEBgE4IkZd1GwJkkxCiB0GQUBTF8H1fRUTdMAyrsbFRa2tr0//5z39aNTU19r333hvccsstsl8Hz9W8ihyaDwUAuwBQUFCAcm0jSilwzlHOsHIjwTufdf2uu+66gieffHLS0qVLR65Zs6bxjTfeSBmGEcjVzDjnlHNeIFUZkW7YAjCZXliEEI0x5gCAyRijwo/GBIgxQogZBIHe0NBgHzhwwLrtttvsH/3oR0EIqHMFst9sHEwGZlHQNA0ZYxgEATLGgHOeZZ8ADwEAKaVZJp6PNDVjxoziZ555JrlkyZL21atXN33wwQfpsFLEGFNFlSPGObcopZoAL5tPClVHESyNBUEQUxRF933fUlVVMwwjpuu6ffToUcO2bfXEiRPWokWL/KVLl+YCsl9+MqRoDeryc9jb30pLS7G3ky1peD4mNJ9/XLJkyaibbrqpZPv27a2vvvpq0+HDhx3OOSeEAOeciKkgoiLkOEuqREIsV4VyE0NEPQiCGKXU8jwvpiiKbdu2CQBqQ0OD1tbWph8/ftw6ePCgNXXqVBYCMh8rB4SRymCzL5FIoGEY6Ps+ykCTMSZNqGRgNsgZSBABAK6++mrte9/73lfmzZtXsnHjxuaqqqr2trY2L2RWQZawBPNiIodUReoh2agJX6kDgOb7vqMoiuY4jup5nub7fuzYsWN6KpWK7du3zzp48KB91113BdOmTWMRsPAcGTl0VrEWDAjnQRgNZgZ6XH/99QVPPPHEteXl5SVVVVXNW7duTbmuy2VULHJEImU2AZ70fTEA0BljFqVUEwGRKdQkjTEWs207wxiLOY5jnz59OtPe3m5XV1db99xzj1NRUeHnAA9z+Ejes8HqzsRB9YGFhYUYSSNA+CAghCBjLMs2GbxIFg5K7UxRyLx580pnzZpVvGTJkvY1a9Y0ffTRRxlCiEzHsmZV6rSEEJsx1i1/lAKEeK0zxnTHcSxCiAkAWlNTk5NOp41MJmPW1NRY5eXl/u233x70otD0yMZcTBz0akQ8HkdN09D3fXBdFyileLY61MUXZhP5wQIwdEz07rvvHnXTTTcVv/nmm82VlZUt9fX1ngiwuAiuYkLN0QkhOpxpWcya1JAYH+Oc6wAQ55xbnPOYZVm2pmmmaZrqiRMntFQqpdbV1dm1tbX2+PHjg6VLl7IIC3OZVd4XJioDCVZv71FKMQiCbDohEvusCEMpzeaIF2KMHj1a/8EPfjC+vLy8dMOGDc2bN2/uSKVSvjTvjDHKGEuISFROVwAphQEzVM7SBZi267qakAw13/djmUzGrK+vNydNmmQbhmGXlZUF06ZN4zkCnV5BDDPxgvhAVVVRMk/sPAscYwyl+oKI0pReMBAppThlypTkk08+mVi0aFFpZWVl07vvvns6FK0i51wV+WAczhSQFUTUhIoTEwVqSwgBcUKIyRhTXdfVRE4ZEyY24ThOuqmpSZ01a5ZdXl7uRsxqLhDzmVRERD6YUSgWFBRgLBbDaAAjI0Dh87KJfCgKveCBlaqqZN68eSOmTp2avPPOO9vXrVvXUl1dbcpjJYRIWS4pRfFIF0AMzjQmO1JTRUSdMaaLclWMc276vq94nqf/7W9/M7/88ktr3759VllZmS/Mak++kedi4gWLQhVFQblcuPB1GI5ECSEYfrxYo6SkRL3//vuvufXWW4u3bt3aunbt2tbW1lZPMBGCIADBOI0xJkF0hHnVhR+UFRddRqm+78cJIRoAaOl0WjdNM2YYhtHR0aEePHjQqaursxcuXOiH0o4+mdSBLuhiPhPqeR4KhqFUYkK5IIaiUBgKY+zYsfEf/vCH47/+9a+X/P73v2/cs2dPp2EYTKZAYQFAVDs00eooLw/QRc1R45w7hBATEVXRE6SHzWomk8nU19dbe/futcrLy+2HH3446KtfHHQGFhQURNMIWUrKMk2azYtpQvOFe9OnTy/6+c9/XvDJJ5+kqqqqWvbs2dPJOZepEBf+UQmlF6oAMyYVHACQXQIqY0znnMtbRGu+72uu62rpdDqeTqeN06dP01OnTpmPP/643xcQB1XMjsfjKM1nvmReMjAipfULwT2NDqw9YkLK5XBjiQL/e2oSxiR6L0sZhgGNjY3Q0tICmUwGEBESiQSMHj0arrnmGkgmk1lZbuHChSPLysoKd+7c2f7666831dXVudKsMsZQ6KuKDHBCkasuBHJFRKw251wLgkD3fd9ERFnWygj/SN955x3a2dlpVFRUSJPKB9KEYh+3wagPlF84VOLBaAAjUok+H8z+Dg+e25+GU86ZGOBY2odOl8Fzc4pBp7kP1fd9+OKLL+B//ud/4OTJkxAR2EEUlWHWrFkwc+ZMUJQzp2nEiBHagw8+OGbOnDnFb7zxRsuWLVva29vbA8FEDIIAOedxkfjrISVHFQyMc84zcKbYbAlTq3meFxOAq4Zh0CAIyI4dO2hLS0v6pZdesntSbehTTz01kCI2hmdtbS2pra2NdXR0JDzPS4icSnZex4W6kRCht6IoChJCYMGCBUUzZ84s6svB/O6QCf/T7gFBABSzPhPAjSNUmJjs/vtMp9Pw7rvvwl//+ldIp9NdTLj0w4gI6XQaDh8+DB0dHTBu3Lguq2MXFxerc+bMKZk9e3bStm3/+PHjrqxzSmFJNk+JfJGIyFUJKTiqUH10zjlljBERC6DruoQxxh3HYW1tbf78+fNZjvOOFzQPVBQFgiDIRqKCZRipB/Y7CrV8DrmIdsrpnjqZpgnvvPMOHD16tBvL8y3gfPDgQTBNE/7lX/4la1Ll+2VlZUU/+9nPknfccUf7pk2bWvbt25cJggBFqkTgTEeAvHRcVv5lN5wpAhxbAEwYY+j7PuGco+M4LJVK+Xv37vUj1Y0ubBzU24xompbL98m6H0ZAwzAL+jqml6pAELvMEo3ATVep3QD66KOP4NixY12YFmZfvllfXw979uzJV7Yiixcvvvq5556b8pOf/GT82LFjNUVRgFKKqqqiqqqEEBITlxAUI2IxIaQIEUsQsRQRSwCgBBELOeclQRAUIWIyCIICy7KSra2tid27d2u53BIA4EB2peWkuASRUoqUUulvMOwHo1pof4KYe8fHoD4TwI4GG5wAoERH+L+mJmFCQdd0pLGxEfbv3w/hyFdGxhMnToSrrroKOOfQ1tYGJ06cANn+gYjAOYfa2lq48cYbYdKkSfnyR+2BBx4YM3fu3JJ169Y1vv3226c6OzuDIAgQETljjAZBEBdphCbLUsKsEmFCCSEk4Jx7jDE3CAI3lUrZhw4dsmpqapyQ9DZoUlrYB4KmaahpGiYSCWSMEcYYCYKAUEql6i8RQ0IISsmtP7mgThF+XJaEe8fHoNPjMKGAwshYd8NSW1sLhBDQNC1sIWDhwoVQVlbW5cKcQ4cOwa5du8CyrC6mtba2Ni+AcowbNy7+xBNPXPfNb35z5MaNG1t27tx5mjHGfd/nwoUgYywZBEGMMaaJSwBkPszE5eOeuDzOoZTGTNPU/vKXvyjTpk3zoqnFYKURCAAkHo+TRCJBdF0nnuchABDf95FzLmUpIu0/pZRIAHOlHb3mmyoCAwCawyl4ngctLS1dwCOEwJw5c2D69OndfN9Xv/pV8H0f9uzZkwWQcw6pVKrP+eOsWbOKp06dWrh48eKOtWvXtnz55ZeWAJH7vs9939eCIKDCR8qapM859yilLgBkFEVRNU1TNE1TT506pULXxZb5uZhQ7EP0mX2tKAqqqoq6rhPHcQgAEEVRZMRFZP0NEQmlFDVNI4qiSOG7z+OtOhu21dvgMoCEgvDwlATMKD3rAy3LAsZYl0gymUzC1KlT837mpEmToLa2Fjo6OrqkGP0Zuq6T8vLyq2bOnFn03nvvta9bt66lo6PDl0B6nkeDIEgwxgLGmBe6CEcjhMipI6Jm27bsn+2y/N5gMhAppRiPx0k8HkfP86SNJ2EApQlVFIVIk9sfBrbYDPY0OuAEHBABTJ/DX5tdKBuhgixMMcZAURTQdT0LRDweh1gs1lPkDKWlpWAYRhbAc1WIRowYoVVUVIxZuHDhiKqqqqZt27adsiyLEUK467ooIlNN9KSqsqtc0zRNURQVETXXddXGxkYyZswYfj4M7I2VXZ5TSlHXdSKYlTWlYfYJoR8VRUFN04imaf1iYMbjoCBAXMHszq2AA+OQBRARQVXVLixSFKVHUBhj4HkeqKqaNaFhBp/LGDNmTOyxxx67dvLkyfE1a9Y0t7W1eYgIvu/L4rDGGNMopSqc6WHVCCFaEASqZVnK0aNH6ZgxY7ooM2QAgYuaU1l9lxGoLNoSkRdK0FBVVSLNrUjm+wwgRYCYghCjZ6dGupbQJIDhKdWVfOPUqVNgGEZ2W1VVu+i656GvwtKlS0ctWrSoRKQZqCgKpZSqiKiIR010x6mcc9X3fS2dTmvHjx9Xoud+MPNAlMwK5UTyNZHBiow65XuqqmJ/pDSCABrBM5OemaqUZUInjVIKiqJ0mflGOp2Gmpqabv9XWFg4ICeGEIJlZWUF8vsTMagYiEgJIQqlVBHXOVLbtqllWVGi9DuN4Hmed8mtwgSBs/cvC9+oQC4GKe86wUReBAAAM2bMKFi8ePHVfTmghkwA/99naWgNrUR+81Uq/K8pCVCEJe7s7IRt27ZBJpPJbnPNNdfAbbfdltVGOzo6wPd9OHToELz33nvQ0tLSbV///u//PmC/7sbGRuett946LS02AJwGgFMA0CFmu3h9WszOysrKzCOPPOJc0HLSUB6ICLZtw6ZNm+Djjz8Gx3HyRpuTJk2COXPmDMh+HccJdu/eHc5JoqvS5Fq23YccN/O7ogEkhMBnn30G77//fo/bFRcXw0MPPQSJROK89+n7PnvxxRePr1u3rj38Z+h+F8Zcr4cBjI6Ojo4e3x81ahT827/9G0ycOPG893Xw4MH0c889d2zt2rUdvu+H0wEXuq7ilgvIAAaxpeKSHZMnT4aCgoIu/hEAIJFIwA033AD3338/jB49+rz20dDQYK1evbph+fLljalUKtqFJhetdEKAuTmAzNkUfEUDyBiD66+/Hh566CHYu3cveJ4HxcXFMGrUKJg6dSpMmTKlX8Xl6DAMw9+yZUvzL37xi/oDBw5YOQJCCwDScKa9Ql7T70TY6OXzf1c8gDJgmTt3Ltx8883geR7E4/GB8HN8586dbS+88ELD1q1bUzmAc0PMywgQO0W0aYQY6fbk/4ZNaPhE9JIb9nXU1NSkn3/++RPr1q1rNwyDRYCTq2/LFbYd8ZgGgJQA0QzNMCP5MICDOBobG+2qqqrGZ599tqGlpSW6GKUfAssMgSiXT+8UMwNnl1YPLyvr5f3hXUmmMvq3gbhHjvRzL7zwwsmPP/44k8NchlfUjk4Dzi6nngn5QwmiIf7Xv6IBzAWibJc41xEEAf/www87li9fXv+nP/3pVA9+Ti7SbEbMp/R/TmibMHiSkV6Ppv9KAK+0tBRKSkrANM/eoWvChAnnDGBNTU16xYoV9WvXrm3v6OjIZS6tEEh2iG1R/2aHfGEmNDtD7OSXNYCUdNGtz7AjcplIIpGAf/3Xf4XNmzeDaZowbtw4uO+++/q9r+bmZruqqqrpmWeeaWhubvby+DmrBz+Xz5SGmZoJMXNQb3IwJIYTAHgRwIo00q3VsKysDKZMmQKmaUJJSUm/9pHJZPzt27e3rlq1qnHbtm2dOcylEwo4woCYITCMCDPNyHZO6G99Xk79kgew6qgJp92uCE5I0jMlpcjQNK1LX0wfEn2+d+/ejueff75+69atKcdxeA4/Z4cAyYSAyETYaEciy+gMV2fgsgUw4ABHO31ocxj88YgJq77IAIsYmq+NVM97P4cPHzZ+97vfNa5YsaK5ra0tn5+zIuwxIgyz8zDSivjCfgN3yQL4v3Z3wJ+OWcA4gMu6u4irYgSWjoud8+c3Nzfbmzdvbl6xYkVTdXW11UNakOnFz+VKH8IslEm6fz7n45IDcO0Rs8f3n5xZCGUj+s9A27aDXbt2tb/44osNoUJrPvkrCmDUz1kRP2flANWDAbh/6GWVRjw6tQD+72nJ/uqWbP/+/Z2vvPLKybVr17an0+kgh/wVBiPs44yIGQ0zLGpCzXP1c5cVgDGKYAddf7hXxwj8PzMK4cdlSYj3oyf4xIkT5po1a06uXLmy+eTJk7nSAjuHSQyby0wvfi7sC92BBO6SBfD/nV0Efzxigs8AChSEO8bq8K0JcZg7SuvzBRVS/nrppZdOfvjhh5ke0oIoi6Lyl9WHaNPtTU25ogD8PzMK4f/MOLfuMMdxgj179rSvWrWqsQf5yw4BY+YIWjJ5zKUVUV4keIO6yssVo4UeOHCgc/Xq1Sdff/31toj8xfOYS8m2XAwzIyzNDKafu6IBrK+vtzZt2tT8wgsvNB45csTJI39F63M9+bl8aYE1WH7uigQwk8n4b7/9duvy5cvr9+7dm+mj/BWukvdX/hqQtOCKB9D3ffbxxx+nVqxY0bBp06ZTlmVFq+IedC3rXHD563IBcMBvBvPFF1+kf/vb3zZUVla256kW5Eqqw/KXBDNXWhCVyC4qcEOFgTlB7O9lXK2trU5VVVXTb37zm8aamho7j/yVyeHnrDzylx3ZxgyZU3coAHchAQw3sPIcr7v/Qx9bHUzTDLZt29a6cuXKk9u3b+/sQf6KapBW6PkFl78uJQA5iBWoxSMLvY7O7Ghubu61Hvbpp5+mfv3rX9dXVVV12Ladz89FqwWZCGB2HvnLjAQq3lBi3YUGsKdW8fCFHNk7177//vudhw4dMnKtn3To0CGjsrKycdWqVS398HPRtMDJwboLJn8NqA+6AMuQqwAwAgBGhmZpjtclcHbBY/j2t79d8qtf/WrKxIkTEwAA7e3t7vr16xtffvnl5l7KPLl82JCSvy41ABUAKOoBuFIBcDGcWZUz+yELFixIzp07N6koCn722Wfmnj170jnSgmiZx4zkc/nkr3y9KYMuf11qABI4s8pmLuBKBHhFoRnvY4rhQe6qeKYX+cuMBDRDKi0YqlFo2Ae6IXOmCBNL4Oy19TzKxDzm0oCeu7+GrPx1qQLohoIHLQRe9BiYAFpuI5s3w+vI5zKFUT+XS/4a8mnBUE3kgwhwNDTDF+7LFMMOgRsG0Av9GGRynYHcXc752vycS9VcXkwAmTiJSmjSEDg8lA/6EXbS0PvhlESaSwPyl3nMiI90LxfgLoaUFogTmQu8MEBh9kn/yCMm1Ifc9bjL0s8NFQBlUp+BrgtahMHzIkzNB2AAZ6vn+aril42fGyoASlNq5wFPskqJmNBcPjAc0eZKHS4rPzeUAAyDGGWejDxVYWLz+cBoMHPFmMuhAmAYxLAW6kSYl8+Ehv1gmIX9uihkGMCB84mSUWokeKE9AJjrxjg+XIHjQkhpff73SH5I8yTy4RIUu5wDlEsNwFyAkkiSz2B4DB6Aw+PCDzJ8CoYBHB7DAA6Pcx3//wDewefNKS+1EQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/jplayer.blue.monday.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIFNraW4gZm9yIGpQbGF5ZXIgUGx1Z2luIChqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5KQ0KICogaHR0cDovL3d3dy5qcGxheWVyLm9yZw0KICoNCiAqIFNraW4gTmFtZTogQmx1ZSBNb25kYXkNCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxMiBIYXBweXdvcm0gTHRkDQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4NCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgLSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwNCiAqDQogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkNCiAqIFNraW4gVmVyc2lvbjogNC4zIChqUGxheWVyIDIuMi4wKQ0KICogRGF0ZTogMTl0aCBOb3ZlbWJlciAyMDEyDQogKi8NCg0KZGl2LmpwLWF1ZGlvLA0KZGl2LmpwLWF1ZGlvLXN0cmVhbSwNCmRpdi5qcC12aWRlbyB7DQoNCgkvKiBFZGl0IHRoZSBmb250LXNpemUgdG8gY291bnRlcmFjdCBpbmhlcml0ZWQgZm9udCBzaXppbmcuDQoJICogRWcuIDEuMjVlbSA9IDEgLyAwLjhlbQ0KCSAqLw0KDQoJZm9udC1zaXplOjEuMjVlbTsgLyogMS4yNWVtIGZvciB0ZXN0aW5nIGluIHNpdGUgcGFnZXMgKi8gLyogTm8gcGFyZW50IENTUyB0aGF0IGNhbiBlZmZlY3QgdGhlIHNpemUgaW4gdGhlIGRlbW9zIFpJUCAqLw0KDQoJZm9udC1mYW1pbHk6VmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7DQoJbGluZS1oZWlnaHQ6MS42Ow0KCWNvbG9yOiAjNjY2Ow0KCWJvcmRlcjoxcHggc29saWQgIzAwOWJlMzsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWU7DQp9DQpkaXYuanAtYXVkaW8gew0KCXdpZHRoOjQyMHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvLXN0cmVhbSB7DQoJd2lkdGg6MTgycHg7DQp9DQpkaXYuanAtdmlkZW8tMjcwcCB7DQoJd2lkdGg6NDgwcHg7DQp9DQpkaXYuanAtdmlkZW8tMzYwcCB7DQoJd2lkdGg6NjQwcHg7DQp9DQpkaXYuanAtdmlkZW8tZnVsbCB7DQoJLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovDQoJd2lkdGg6NDgwcHg7DQoJaGVpZ2h0OjI3MHB4Ow0KCS8qIFJ1bGVzIGZvciBJRTcgKGZ1bGwtc2NyZWVuKSAtIE90aGVyd2lzZSB0aGUgcmVsYXRpdmUgY29udGFpbmVyIGNhdXNlcyBvdGhlciBwYWdlIGl0ZW1zIHRoYXQgYXJlIG5vdCBwb3NpdGlvbjpzdGF0aWMgKGRlZmF1bHQpIHRvIGFwcGVhciBvdmVyIHRoZSB2aWRlby9ndWkuICovDQoJcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLw0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2IGRpdiB7DQoJei1pbmRleDoxMDAwOw0KfQ0KDQpkaXYuanAtdmlkZW8tZnVsbCBkaXYuanAtanBsYXllciB7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovDQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWd1aSB7DQoJcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiBzdGF0aWM7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwMCU7DQoJei1pbmRleDoxMDAxOyAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovDQp9DQoNCmRpdi5qcC12aWRlby1mdWxsIGRpdi5qcC1pbnRlcmZhY2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZC1jb2xvcjojZWVlOw0KCXdpZHRoOjEwMCU7DQp9DQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1zaW5nbGUgZGl2LmpwLWludGVyZmFjZSB7DQoJaGVpZ2h0OjgwcHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLWludGVyZmFjZSB7DQoJaGVpZ2h0OjgwcHg7DQp9DQoNCmRpdi5qcC1hdWRpby1zdHJlYW0gZGl2LmpwLXR5cGUtc2luZ2xlIGRpdi5qcC1pbnRlcmZhY2Ugew0KCWhlaWdodDo4MHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLWludGVyZmFjZSB7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzAwOWJlMzsNCn0NCg0KLyogQGdyb3VwIENPTlRST0xTICovDQoNCmRpdi5qcC1jb250cm9scy1ob2xkZXIgew0KCWNsZWFyOiBib3RoOw0KCXdpZHRoOjQ0MHB4Ow0KCW1hcmdpbjowIGF1dG87DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCW92ZXJmbG93OmhpZGRlbjsNCgl0b3A6LThweDsgLyogVGhpcyBuZWdhdGl2ZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBzaXplIG9mIHRoZSB0ZXh0IGluIGpwLWN1cnJlbnRUaW1lIGFuZCBqcC1kdXJhdGlvbiAqLw0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIHsNCglsaXN0LXN0eWxlLXR5cGU6bm9uZTsNCgltYXJnaW46MDsNCglwYWRkaW5nOiAwOw0KCW92ZXJmbG93OmhpZGRlbjsNCn0NCg0KZGl2LmpwLWF1ZGlvIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogMzgwcHg7DQoJcGFkZGluZzoyMHB4IDIwcHggMCAyMHB4Ow0KfQ0KDQpkaXYuanAtYXVkaW8tc3RyZWFtIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogMTQycHg7DQoJcGFkZGluZzoyMHB4IDIwcHggMCAyMHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLXR5cGUtc2luZ2xlIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogNzhweDsNCgltYXJnaW4tbGVmdDogMjAwcHg7DQp9DQoNCmRpdi5qcC12aWRlbyBkaXYuanAtdHlwZS1wbGF5bGlzdCB1bC5qcC1jb250cm9scyB7DQoJd2lkdGg6IDEzNHB4Ow0KCW1hcmdpbi1sZWZ0OiAxNzJweDsNCn0NCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scywNCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgbGkgew0KCWRpc3BsYXk6aW5saW5lOw0KCWZsb2F0OiBsZWZ0Ow0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEgew0KCWRpc3BsYXk6YmxvY2s7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCXRleHQtaW5kZW50Oi05OTk5cHg7DQp9DQphLmpwLXBsYXksDQphLmpwLXBhdXNlIHsNCgl3aWR0aDo0MHB4Ow0KCWhlaWdodDo0MHB4Ow0KfQ0KDQphLmpwLXBsYXkgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIDAgbm8tcmVwZWF0Ow0KfQ0KYS5qcC1wbGF5OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTQxcHggMCBuby1yZXBlYXQ7DQp9DQphLmpwLXBhdXNlIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtNDJweCBuby1yZXBlYXQ7DQoJZGlzcGxheTogbm9uZTsNCn0NCmEuanAtcGF1c2U6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtNDFweCAtNDJweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtc3RvcCwgYS5qcC1wcmV2aW91cywgYS5qcC1uZXh0IHsNCgl3aWR0aDoyOHB4Ow0KCWhlaWdodDoyOHB4Ow0KCW1hcmdpbi10b3A6NnB4Ow0KfQ0KDQphLmpwLXN0b3Agew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC04M3B4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDoxMHB4Ow0KfQ0KDQphLmpwLXN0b3A6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMjlweCAtODNweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcHJldmlvdXMgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xMTJweCBuby1yZXBlYXQ7DQp9DQphLmpwLXByZXZpb3VzOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTExMnB4IG5vLXJlcGVhdDsNCn0NCg0KYS5qcC1uZXh0IHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMTQxcHggbm8tcmVwZWF0Ow0KfQ0KYS5qcC1uZXh0OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTE0MXB4IG5vLXJlcGVhdDsNCn0NCg0KLyogQGVuZCAqLw0KDQovKiBAZ3JvdXAgcHJvZ3Jlc3MgYmFyICovDQoNCmRpdi5qcC1wcm9ncmVzcyB7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWJhY2tncm91bmQtY29sb3I6ICNkZGQ7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXByb2dyZXNzIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOjMycHg7DQoJaGVpZ2h0OjE1cHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtc2luZ2xlIGRpdi5qcC1wcm9ncmVzcyB7DQoJbGVmdDoxMTBweDsNCgl3aWR0aDoxODZweDsNCn0NCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcHJvZ3Jlc3Mgew0KCWxlZnQ6MTY2cHg7DQoJd2lkdGg6MTMwcHg7DQp9DQpkaXYuanAtdmlkZW8gZGl2LmpwLXByb2dyZXNzIHsNCgl0b3A6MHB4Ow0KCWxlZnQ6MHB4Ow0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwcHg7DQp9DQpkaXYuanAtc2Vlay1iYXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yMDJweCByZXBlYXQteDsNCgl3aWR0aDowcHg7DQoJaGVpZ2h0OjEwMCU7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KZGl2LmpwLXBsYXktYmFyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjE4cHggcmVwZWF0LXggOw0KCXdpZHRoOjBweDsNCgloZWlnaHQ6MTAwJTsNCn0NCg0KLyogVGhlIHNlZWtpbmcgY2xhc3MgaXMgYWRkZWQvcmVtb3ZlZCBpbnNpZGUgalBsYXllciAqLw0KZGl2LmpwLXNlZWtpbmctYmcgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5zZWVraW5nLmdpZiIpOw0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCB2b2x1bWUgY29udHJvbHMgKi8NCg0KDQphLmpwLW11dGUsDQphLmpwLXVubXV0ZSwNCmEuanAtdm9sdW1lLW1heCB7DQoJd2lkdGg6MThweDsNCgloZWlnaHQ6MTVweDsNCgltYXJnaW4tdG9wOjEycHg7DQp9DQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC1tdXRlLA0KZGl2LmpwLWF1ZGlvIGRpdi5qcC10eXBlLXNpbmdsZSBhLmpwLXVubXV0ZSB7DQoJbWFyZ2luLWxlZnQ6IDIxMHB4OwkNCn0NCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1wbGF5bGlzdCBhLmpwLW11dGUsDQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgYS5qcC11bm11dGUgew0KCW1hcmdpbi1sZWZ0OiAxNTRweDsNCn0NCg0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC1tdXRlLA0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC11bm11dGUgew0KCW1hcmdpbi1sZWZ0OjEwcHg7DQp9DQoNCmRpdi5qcC1hdWRpbyBhLmpwLXZvbHVtZS1tYXgsDQpkaXYuanAtYXVkaW8tc3RyZWFtIGEuanAtdm9sdW1lLW1heCB7DQoJbWFyZ2luLWxlZnQ6IDU2cHg7CQ0KfQ0KDQpkaXYuanAtdmlkZW8gYS5qcC1tdXRlLA0KZGl2LmpwLXZpZGVvIGEuanAtdW5tdXRlLA0KZGl2LmpwLXZpZGVvIGEuanAtdm9sdW1lLW1heCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDoxMnB4Ow0KCW1hcmdpbi10b3A6MDsNCn0NCg0KZGl2LmpwLXZpZGVvIGEuanAtbXV0ZSwNCmRpdi5qcC12aWRlbyBhLmpwLXVubXV0ZSB7DQoJbGVmdDogNTBweDsNCn0NCg0KZGl2LmpwLXZpZGVvIGEuanAtdm9sdW1lLW1heCB7DQoJbGVmdDogMTM0cHg7DQp9DQoNCmEuanAtbXV0ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTE3MHB4IG5vLXJlcGVhdDsNCn0NCmEuanAtbXV0ZTpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0xOXB4IC0xNzBweCBuby1yZXBlYXQ7DQp9DQphLmpwLXVubXV0ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0xNzBweCBuby1yZXBlYXQ7DQoJZGlzcGxheTogbm9uZTsNCn0NCmEuanAtdW5tdXRlOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTc5cHggLTE3MHB4IG5vLXJlcGVhdDsNCn0NCmEuanAtdm9sdW1lLW1heCB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTE4NnB4IG5vLXJlcGVhdDsNCn0NCmEuanAtdm9sdW1lLW1heDpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0xOXB4IC0xODZweCBuby1yZXBlYXQ7DQp9DQoNCmRpdi5qcC12b2x1bWUtYmFyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNTBweCByZXBlYXQteDsNCgl3aWR0aDo0NnB4Ow0KCWhlaWdodDo1cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KZGl2LmpwLWF1ZGlvIGRpdi5qcC12b2x1bWUtYmFyIHsNCgl0b3A6MzdweDsNCglsZWZ0OjMzMHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdm9sdW1lLWJhciB7DQoJdG9wOjM3cHg7DQoJbGVmdDo5MnB4Ow0KfQ0KZGl2LmpwLXZpZGVvIGRpdi5qcC12b2x1bWUtYmFyIHsNCgl0b3A6MTdweDsNCglsZWZ0OjcycHg7DQp9DQpkaXYuanAtdm9sdW1lLWJhci12YWx1ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTI1NnB4IHJlcGVhdC14Ow0KCXdpZHRoOjBweDsNCgloZWlnaHQ6NXB4Ow0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovDQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdGltZS1ob2xkZXIgew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo1MHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvIGRpdi5qcC10eXBlLXNpbmdsZSBkaXYuanAtdGltZS1ob2xkZXIgew0KCWxlZnQ6MTEwcHg7DQoJd2lkdGg6MTg2cHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXRpbWUtaG9sZGVyIHsNCglsZWZ0OjE2NnB4Ow0KCXdpZHRoOjEzMHB4Ow0KfQ0KDQpkaXYuanAtY3VycmVudC10aW1lLA0KZGl2LmpwLWR1cmF0aW9uIHsNCgl3aWR0aDo2MHB4Ow0KCWZvbnQtc2l6ZTouNjRlbTsNCglmb250LXN0eWxlOm9ibGlxdWU7DQp9DQpkaXYuanAtY3VycmVudC10aW1lIHsNCglmbG9hdDogbGVmdDsNCglkaXNwbGF5OmlubGluZTsNCn0NCmRpdi5qcC1kdXJhdGlvbiB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLWN1cnJlbnQtdGltZSB7DQoJbWFyZ2luLWxlZnQ6MjBweDsNCn0NCmRpdi5qcC12aWRlbyBkaXYuanAtZHVyYXRpb24gew0KCW1hcmdpbi1yaWdodDoyMHB4Ow0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBwbGF5bGlzdCAqLw0KDQpkaXYuanAtdGl0bGUgew0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCmRpdi5qcC10aXRsZSwNCmRpdi5qcC1wbGF5bGlzdCB7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNjY2M7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzAwOWJlMzsNCn0NCmRpdi5qcC10eXBlLXNpbmdsZSBkaXYuanAtdGl0bGUsDQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtdGl0bGUsDQpkaXYuanAtdHlwZS1zaW5nbGUgZGl2LmpwLXBsYXlsaXN0IHsNCglib3JkZXItdG9wOm5vbmU7DQp9DQpkaXYuanAtdGl0bGUgdWwsDQpkaXYuanAtcGxheWxpc3QgdWwgew0KCWxpc3Qtc3R5bGUtdHlwZTpub25lOw0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MCAyMHB4Ow0KCWZvbnQtc2l6ZTouNzJlbTsNCn0NCg0KZGl2LmpwLXRpdGxlIGxpIHsNCglwYWRkaW5nOjVweCAwOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQpkaXYuanAtcGxheWxpc3QgbGkgew0KCXBhZGRpbmc6NXB4IDAgNHB4IDIwcHg7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZTsNCn0NCg0KZGl2LmpwLXBsYXlsaXN0IGxpIGRpdiB7DQoJZGlzcGxheTppbmxpbmU7DQp9DQoNCi8qIE5vdGUgdGhhdCB0aGUgZmlyc3QtY2hpbGQgKElFNikgYW5kIGxhc3QtY2hpbGQgKElFNi83LzgpIHNlbGVjdG9ycyBkbyBub3Qgd29yayBvbiBJRSAqLw0KDQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7DQoJcGFkZGluZzo1cHggMCA1cHggMjBweDsNCglib3JkZXItYm90dG9tOm5vbmU7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7DQoJbGlzdC1zdHlsZS10eXBlOnNxdWFyZTsNCglsaXN0LXN0eWxlLXBvc2l0aW9uOmluc2lkZTsNCglwYWRkaW5nLWxlZnQ6N3B4Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEgew0KCWNvbG9yOiAjMzMzOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVyIHsNCgljb2xvcjojMGQ4OGMxOw0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtY3VycmVudCB7DQoJY29sb3I6IzBkODhjMTsNCn0NCg0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmUgew0KCWZsb2F0OnJpZ2h0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCXRleHQtYWxpZ246cmlnaHQ7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCgljb2xvcjojNjY2Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmU6aG92ZXIgew0KCWNvbG9yOiMwZDg4YzE7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIHsNCglmbG9hdDpyaWdodDsNCglkaXNwbGF5OmlubGluZTsNCgl0ZXh0LWFsaWduOnJpZ2h0Ow0KCW1hcmdpbi1yaWdodDoxMHB4Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhew0KCWNvbG9yOiM2NjY7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXJ7DQoJY29sb3I6IzBkODhjMTsNCn0NCnNwYW4uanAtYXJ0aXN0IHsNCglmb250LXNpemU6LjhlbTsNCgljb2xvcjojNjY2Ow0KfQ0KDQovKiBAZW5kICovDQoNCmRpdi5qcC12aWRlby1wbGF5IHsNCgl3aWR0aDoxMDAlOw0KCW92ZXJmbG93OmhpZGRlbjsgLyogSW1wb3J0YW50IGZvciBuZXN0ZWQgbmVnYXRpdmUgbWFyZ2lucyB0byB3b3JrIGluIG1vZGVybiBicm93c2VycyAqLw0KCWN1cnNvcjpwb2ludGVyOw0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsgLyogTWFrZXMgSUU5IHdvcmsgd2l0aCB0aGUgYWN0aXZlIGFyZWEgb3ZlciB0aGUgd2hvbGUgdmlkZW8gYXJlYS4gSUU2LzcvOCBvbmx5IGhhdmUgdGhlIGJ1dHRvbiBhcyBhY3RpdmUgYXJlYS4gKi8NCn0NCmRpdi5qcC12aWRlby0yNzBwIGRpdi5qcC12aWRlby1wbGF5IHsNCgltYXJnaW4tdG9wOi0yNzBweDsNCgloZWlnaHQ6MjcwcHg7DQp9DQpkaXYuanAtdmlkZW8tMzYwcCBkaXYuanAtdmlkZW8tcGxheSB7DQoJbWFyZ2luLXRvcDotMzYwcHg7DQoJaGVpZ2h0OjM2MHB4Ow0KfQ0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLXZpZGVvLXBsYXkgew0KCWhlaWdodDoxMDAlOw0KfQ0KYS5qcC12aWRlby1wbGF5LWljb24gew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6IDExMnB4Ow0KCWhlaWdodDogMTAwcHg7DQoNCgltYXJnaW4tbGVmdDotNTZweDsNCgltYXJnaW4tdG9wOi01MHB4Ow0KCWxlZnQ6NTAlOw0KCXRvcDo1MCU7DQoNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkudmlkZW8ucGxheS5wbmciKSAwIDAgbm8tcmVwZWF0Ow0KCXRleHQtaW5kZW50Oi05OTk5cHg7DQp9DQpkaXYuanAtdmlkZW8tcGxheTpob3ZlciBhLmpwLXZpZGVvLXBsYXktaWNvbiB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LnZpZGVvLnBsYXkucG5nIikgMCAtMTAwcHggbm8tcmVwZWF0Ow0KfQ0KDQoNCg0KDQoNCmRpdi5qcC1qcGxheWVyIGF1ZGlvLA0KZGl2LmpwLWpwbGF5ZXIgew0KCXdpZHRoOjBweDsNCgloZWlnaHQ6MHB4Ow0KfQ0KDQpkaXYuanAtanBsYXllciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCg0KDQoNCg0KDQovKiBAZ3JvdXAgVE9HR0xFUyAqLw0KDQovKiBUaGUgYXVkaW8gdG9nZ2xlcyBhcmUgbmVzdGVkIGluc2lkZSBqcC10aW1lLWhvbGRlciAqLw0KDQp1bC5qcC10b2dnbGVzIHsNCglsaXN0LXN0eWxlLXR5cGU6bm9uZTsNCglwYWRkaW5nOjA7DQoJbWFyZ2luOjAgYXV0bzsNCglvdmVyZmxvdzpoaWRkZW47DQp9DQoNCmRpdi5qcC1hdWRpbyAuanAtdHlwZS1zaW5nbGUgdWwuanAtdG9nZ2xlcyB7DQoJd2lkdGg6MjVweDsNCn0NCmRpdi5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCB1bC5qcC10b2dnbGVzIHsNCgl3aWR0aDo1NXB4Ow0KCW1hcmdpbjogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbGVmdDogMzI1cHg7DQoJdG9wOiA1MHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gdWwuanAtdG9nZ2xlcyB7DQoJbWFyZ2luLXRvcDoxMHB4Ow0KCXdpZHRoOjEwMHB4Ow0KfQ0KDQp1bC5qcC10b2dnbGVzIGxpIHsNCglkaXNwbGF5OmJsb2NrOw0KCWZsb2F0OnJpZ2h0Ow0KfQ0KDQp1bC5qcC10b2dnbGVzIGxpIGEgew0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MjVweDsNCgloZWlnaHQ6MThweDsNCgl0ZXh0LWluZGVudDotOTk5OXB4Ow0KCWxpbmUtaGVpZ2h0OjEwMCU7IC8qIG5lZWQgdGhpcyBmb3IgSUU2ICovDQp9DQoNCmEuanAtZnVsbC1zY3JlZW4gew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0zMTBweCBuby1yZXBlYXQ7DQoJbWFyZ2luLWxlZnQ6IDIwcHg7DQp9DQoNCmEuanAtZnVsbC1zY3JlZW46aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMzEwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXJlc3RvcmUtc2NyZWVuIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTMxMHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogMjBweDsNCn0NCg0KYS5qcC1yZXN0b3JlLXNjcmVlbjpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC05MHB4IC0zMTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0IHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjkwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXJlcGVhdDpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0zMHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0LW9mZiB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0LW9mZjpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC05MHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtc2h1ZmZsZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTI3MHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQphLmpwLXNodWZmbGU6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMjcwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXNodWZmbGUtb2ZmIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTI3MHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQphLmpwLXNodWZmbGUtb2ZmOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTkwcHggLTI3MHB4IG5vLXJlcGVhdDsNCn0NCg0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBOTyBTT0xVVElPTiBlcnJvciBmZWVkYmFjayAqLw0KDQouanAtbm8tc29sdXRpb24gew0KCXBhZGRpbmc6NXB4Ow0KCWZvbnQtc2l6ZTouOGVtOw0KCWJhY2tncm91bmQtY29sb3I6I2VlZTsNCglib3JkZXI6MnB4IHNvbGlkICMwMDliZTM7DQoJY29sb3I6IzAwMDsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5qcC1uby1zb2x1dGlvbiBhIHsNCgljb2xvcjojMDAwOw0KfQ0KDQouanAtbm8tc29sdXRpb24gc3BhbiB7DQoJZm9udC1zaXplOjFlbTsNCglkaXNwbGF5OmJsb2NrOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQoNCi8qIEBlbmQgKi8NCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/jplayer.blue.monday.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/jplayer.blue.monday.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/jplayer.blue.monday.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.audio.playlist.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpbyIgcm9sZT0iYXBwbGljYXRpb24iIGFyaWEtbGFiZWw9Im1lZGlhIHBsYXllciI+Cgk8ZGl2IGNsYXNzPSJqcC10eXBlLXBsYXlsaXN0Ij4KCQk8ZGl2IGNsYXNzPSJqcC1ndWkganAtaW50ZXJmYWNlIj4KCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMiPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtcHJldmlvdXMiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnByZXZpb3VzPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1wbGF5IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5wbGF5PC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1uZXh0IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5uZXh0PC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1zdG9wIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5zdG9wPC9idXR0b24+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQk8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtcGxheS1iYXIiPjwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtY29udHJvbHMiPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtdm9sdW1lLW1heCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bWF4IHZvbHVtZTwvYnV0dG9uPgoJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLXRpbWUtaG9sZGVyIj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC10b2dnbGVzIj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXJlcGVhdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cmVwZWF0PC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1zaHVmZmxlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5zaHVmZmxlPC9idXR0b24+CgkJCTwvZGl2PgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImpwLXBsYXlsaXN0Ij4KCQkJPHVsPgoJCQkJPGxpPiZuYnNwOzwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.audio.single.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpbyIgcm9sZT0iYXBwbGljYXRpb24iIGFyaWEtbGFiZWw9Im1lZGlhIHBsYXllciI+Cgk8ZGl2IGNsYXNzPSJqcC10eXBlLXNpbmdsZSI+CgkJPGRpdiBjbGFzcz0ianAtZ3VpIGpwLWludGVyZmFjZSI+CgkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXN0b3AiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnN0b3A8L2J1dHRvbj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KCQkJCTxkaXYgY2xhc3M9ImpwLXNlZWstYmFyIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1jb250cm9scyI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1tdXRlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tdXRlPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC12b2x1bWUtbWF4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tYXggdm9sdW1lPC9idXR0b24+CgkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianAtdGltZS1ob2xkZXIiPgoJCQkJPGRpdiBjbGFzcz0ianAtY3VycmVudC10aW1lIiByb2xlPSJ0aW1lciIgYXJpYS1sYWJlbD0idGltZSI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1kdXJhdGlvbiIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9ImR1cmF0aW9uIj4mbmJzcDs8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLXRvZ2dsZXMiPgoJCQkJCTxidXR0b24gY2xhc3M9ImpwLXJlcGVhdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cmVwZWF0PC9idXR0b24+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZGV0YWlscyI+CgkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.audio.stream.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpby1zdHJlYW0iIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCTxkaXYgY2xhc3M9ImpwLWd1aSBqcC1pbnRlcmZhY2UiPgoJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scyI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1wbGF5IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5wbGF5PC9idXR0b24+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtY29udHJvbHMiPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtdm9sdW1lLW1heCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bWF4IHZvbHVtZTwvYnV0dG9uPgoJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZGV0YWlscyI+CgkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.video.playlist.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC12aWRlbyAiIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1wbGF5bGlzdCI+CgkJPGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1ndWkiPgoJCQk8ZGl2IGNsYXNzPSJqcC12aWRlby1wbGF5Ij4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXZpZGVvLXBsYXktaWNvbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cGxheTwvYnV0dG9uPgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianAtaW50ZXJmYWNlIj4KCQkJCTxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXBsYXktYmFyIj48L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtY3VycmVudC10aW1lIiByb2xlPSJ0aW1lciIgYXJpYS1sYWJlbD0idGltZSI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1kdXJhdGlvbiIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9ImR1cmF0aW9uIj4mbmJzcDs8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzLWhvbGRlciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMiPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1wcmV2aW91cyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cHJldmlvdXM8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtcGxheSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cGxheTwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1uZXh0IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5uZXh0PC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXN0b3AiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnN0b3A8L2J1dHRvbj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtY29udHJvbHMiPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1tdXRlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tdXRlPC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXZvbHVtZS1tYXgiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPm1heCB2b2x1bWU8L2J1dHRvbj4KCQkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtdG9nZ2xlcyI+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXJlcGVhdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cmVwZWF0PC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXNodWZmbGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnNodWZmbGU8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtZnVsbC1zY3JlZW4iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPmZ1bGwgc2NyZWVuPC9idXR0b24+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWRldGFpbHMiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtcGxheWxpc3QiPgoJCQk8dWw+CgkJCQk8IS0tIFRoZSBtZXRob2QgUGxheWxpc3QuZGlzcGxheVBsYXlsaXN0KCkgdXNlcyB0aGlzIHVub3JkZXJlZCBsaXN0IC0tPgoJCQkJPGxpPiZuYnNwOzwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/mustache/jplayer.blue.monday.video.single.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC12aWRlbyAiIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCTxkaXYgaWQ9Int7SlBMQVlFUn19IiBjbGFzcz0ianAtanBsYXllciI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZ3VpIj4KCQkJPGRpdiBjbGFzcz0ianAtdmlkZW8tcGxheSI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC12aWRlby1wbGF5LWljb24iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLWludGVyZmFjZSI+CgkJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scy1ob2xkZXIiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtcGxheSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cGxheTwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1zdG9wIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5zdG9wPC9idXR0b24+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWNvbnRyb2xzIj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC12b2x1bWUtbWF4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tYXggdm9sdW1lPC9idXR0b24+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXIiPgoJCQkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRvZ2dsZXMiPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1yZXBlYXQiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnJlcGVhdDwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1mdWxsLXNjcmVlbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+ZnVsbCBzY3JlZW48L2J1dHRvbj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZGV0YWlscyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdGl0bGUiIGFyaWEtbGFiZWw9InRpdGxlIj4mbmJzcDs8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1uby1zb2x1dGlvbiI+CgkJCTxzcGFuPlVwZGF0ZSBSZXF1aXJlZDwvc3Bhbj4KCQkJVG8gcGxheSB0aGUgbWVkaWEgeW91IHdpbGwgbmVlZCB0byBlaXRoZXIgdXBkYXRlIHlvdXIgYnJvd3NlciB0byBhIHJlY2VudCB2ZXJzaW9uIG9yIHVwZGF0ZSB5b3VyIDxhIGhyZWY9Imh0dHA6Ly9nZXQuYWRvYmUuY29tL2ZsYXNocGxheWVyLyIgdGFyZ2V0PSJfYmxhbmsiPkZsYXNoIHBsdWdpbjwvYT4uCgkJPC9kaXY+Cgk8L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/blue.monday/skin.handlebars</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tqcXVlcnlfanBsYXllcl9pZH19IiBjbGFzcz0ianAtanBsYXllciI+PC9kaXY+CjxkaXYgaWQ9Int7anBfY29udGFpbmVyX2lkfX0iIGNsYXNzPSJqcC1hdWRpbyI+CiAgPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgogICAgPGRpdiBjbGFzcz0ianAtZ3VpIGpwLWludGVyZmFjZSI+CiAgICAgIDx1bCBjbGFzcz0ianAtY29udHJvbHMiPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wbGF5IiB0YWJpbmRleD0iMSI+cGxheTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wYXVzZSIgdGFiaW5kZXg9IjEiPnBhdXNlPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXN0b3AiIHRhYmluZGV4PSIxIj5zdG9wPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLW11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0ibXV0ZSI+bXV0ZTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC11bm11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0idW5tdXRlIj51bm11dGU8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtdm9sdW1lLW1heCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJtYXggdm9sdW1lIj5tYXggdm9sdW1lPC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImpwLXRpbWUtaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC1jdXJyZW50LXRpbWUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImpwLWR1cmF0aW9uIj48L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImpwLXRvZ2dsZXMiPgogICAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJyZXBlYXQiPnJlcGVhdDwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdC1vZmYiIHRhYmluZGV4PSIxIiB0aXRsZT0icmVwZWF0IG9mZiI+cmVwZWF0IG9mZjwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJqcC10aXRsZSI+CiAgICAgIDx1bD4KICAgICAgICA8bGk+e3t0aXRsZX19PC9saT4KICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgogICAgICA8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CiAgICAgIFRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/css/jplayer.pink.flag.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIFBpbmsgRmxhZyBTa2luIGZvciBqUGxheWVyIDIuOS4yIH4gKGMpIDIwMDktMjAxNCBIYXBweXdvcm0gTHRkIH4gTUlUIExpY2Vuc2UgKi8KCi8qCiAqIFNraW4gZm9yIGpQbGF5ZXIgUGx1Z2luIChqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5KQogKiBodHRwOi8vd3d3LmpwbGF5ZXIub3JnCiAqCiAqIFNraW4gTmFtZTogUGluayBGbGFnCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTQgSGFwcHl3b3JtIEx0ZAogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqCiAqIEF1dGhvcjogU2lsdmlhIEJlbnZlbnV0aQogKiBTa2luIFZlcnNpb246IDIuMSAoalBsYXllciAyLjguMCkKICogRGF0ZTogMTN0aCBOb3ZlbWJlciAyMDE0CiAqLwouanAtYXVkaW8gKjpmb2N1cywKLmpwLWF1ZGlvLXN0cmVhbSAqOmZvY3VzLAouanAtdmlkZW8gKjpmb2N1cyB7CiAgLyogRGlzYWJsZSB0aGUgYnJvd3NlciBmb2N1cyBoaWdobGlnaHRpbmcuICovCiAgb3V0bGluZTogbm9uZTsgfQoKLmpwLWF1ZGlvIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwKLmpwLWF1ZGlvLXN0cmVhbSBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsCi5qcC12aWRlbyBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIgewogIC8qIERpc2FibGUgdGhlIGJyb3dzZXIgQ1NTMyBmb2N1cyBoaWdobGlnaHRpbmcuICovCiAgYm9yZGVyOiAwOyB9CgouanAtYXVkaW8sCi5qcC1hdWRpby1zdHJlYW0sCi5qcC12aWRlbyB7CiAgZm9udC1zaXplOiAxNnB4OwogIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsKICBsaW5lLWhlaWdodDogMS42OwogIGNvbG9yOiAjZmZmOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNTU0NDYxOwogIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzU1NDQ2MTsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMTgwYTFmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTgwYTFmOwogIGJhY2tncm91bmQtY29sb3I6ICMzYTJhNDU7IH0KCi5qcC1hdWRpbyB7CiAgd2lkdGg6IDIwMXB4OwogIHBhZGRpbmc6IDIwcHg7IH0KCi5qcC1hdWRpby1zdHJlYW0gewogIHdpZHRoOiAxMDFweDsKICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweCAyMHB4OyB9CgouanAtdmlkZW8tMjcwcCB7CiAgd2lkdGg6IDQ4MHB4OyB9CgouanAtdmlkZW8tMzYwcCB7CiAgd2lkdGg6IDY0MHB4OyB9CgouanAtdmlkZW8tZnVsbCB7CiAgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCiAgd2lkdGg6IDQ4MHB4OwogIGhlaWdodDogMjcwcHg7CiAgLyogUnVsZXMgZm9yIElFNyAoZnVsbC1zY3JlZW4pIC0gT3RoZXJ3aXNlIHRoZSByZWxhdGl2ZSBjb250YWluZXIgY2F1c2VzIG90aGVyIHBhZ2UgaXRlbXMgdGhhdCBhcmUgbm90IHBvc2l0aW9uOnN0YXRpYyAoZGVmYXVsdCkgdG8gYXBwZWFyIG92ZXIgdGhlIHZpZGVvL2d1aS4gKi8KICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7CiAgcG9zaXRpb246IHJlbGF0aXZlOyB9CgovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLwouanAtdmlkZW8tZnVsbCBkaXYgZGl2IHsKICB6LWluZGV4OiAxMDAwOyB9CgouanAtdmlkZW8tZnVsbCAuanAtanBsYXllciB7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwogIG92ZXJmbG93OiBoaWRkZW47IH0KCi5qcC12aWRlby1mdWxsIC5qcC1ndWkgewogIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiBzdGF0aWM7CiAgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIHotaW5kZXg6IDEwMDE7CiAgLyogMSBsYXllciBhYm92ZSB0aGUgb3RoZXJzLiAqLyB9CgouanAtdmlkZW8tZnVsbCAuanAtaW50ZXJmYWNlIHsKICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7IH0KCi5qcC1pbnRlcmZhY2UgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2EyYTQ1OwogIC8qIFJlcXVpcmVkIGZvciB0aGUgZnVsbCBzY3JlZW4gKi8gfQoKLyogQGdyb3VwIENPTlRST0xTICovCi5qcC12aWRlbyAuanAtY29udHJvbHMtaG9sZGVyIHsKICBjbGVhcjogYm90aDsKICB3aWR0aDogNDQwcHg7CiAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOyB9CgouanAtYXVkaW8gLmpwLWNvbnRyb2xzLWhvbGRlciB7CiAgaGVpZ2h0OiA4MHB4OyB9CgouanAtYXVkaW8tc3RyZWFtIC5qcC1jb250cm9scy1ob2xkZXIgewogIGhlaWdodDogNTBweDsgfQoKLmpwLWNvbnRyb2xzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDAgMCBuby1yZXBlYXQ7CiAgcGFkZGluZzogMXB4IDAgMnB4IDFweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHdpZHRoOiAyMDFweDsKICBoZWlnaHQ6IDM0cHg7IH0KCi5qcC1hdWRpbyAuanAtY29udHJvbHMsCi5qcC1hdWRpby1zdHJlYW0gLmpwLWNvbnRyb2xzIHsKICBtYXJnaW46IDAgYXV0bzsgfQoKLmpwLWF1ZGlvLXN0cmVhbSAuanAtY29udHJvbHMgewogIHdpZHRoOiAxMDBweDsgfQoKLmpwLXZpZGVvIC5qcC1jb250cm9scyB7CiAgbWFyZ2luOiAwIDAgMCAxMTVweDsKICBmbG9hdDogbGVmdDsKICBkaXNwbGF5OiBpbmxpbmU7CiAgLyogbmVlZCB0aGlzIHRvIGZpeCBJRTYgZG91YmxlIG1hcmdpbiAqLyB9CgouanAtY29udHJvbHMgYnV0dG9uIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbGVmdDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtaW5kZW50OiAtOTk5OXB4OwogIGhlaWdodDogMzRweDsKICBtYXJnaW46IDAgMXB4IDJweCAwOwogIHBhZGRpbmc6IDA7CiAgYm9yZGVyOiBub25lOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLyogQGdyb3VwIHNpbmdsZSBwbGF5ZXIgY29udHJvbHMgKi8KLmpwLXR5cGUtc2luZ2xlIC5qcC1jb250cm9scyBidXR0b24gewogIHdpZHRoOiA5OXB4OyB9CgouanAtdHlwZS1zaW5nbGUgLmpwLXBsYXkgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC00MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMDBweCAtNDBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1wbGF5aW5nIC5qcC10eXBlLXNpbmdsZSAuanAtcGxheSB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTEyMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLXBsYXlpbmcgLmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMDBweCAtMTIwcHggbm8tcmVwZWF0OyB9CgovKiBUaGUgcmlnaHQgYm9yZGVyIGlzIG5vcm1hbGx5IGluIHRoZSB1bCBiYWNrZ3JvdW5kIGltYWdlLiAqLwouanAtYXVkaW8tc3RyZWFtIC5qcC1wbGF5LAouanAtYXVkaW8tc3RyZWFtIC5qcC1wYXVzZSB7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzE4MDkyMDsgfQoKLmpwLXR5cGUtc2luZ2xlIC5qcC1zdG9wIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtODBweCBuby1yZXBlYXQ7IH0KCi5qcC10eXBlLXNpbmdsZSAuanAtc3RvcDpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMTAwcHggLTgwcHggbm8tcmVwZWF0OyB9CgovKiBAZW5kICovCi8qIEBncm91cCBwbGF5bGlzdCBwbGF5ZXIgY29udHJvbHMgKi8KLmpwLXR5cGUtcGxheWxpc3QgLmpwLWNvbnRyb2xzIGJ1dHRvbiB7CiAgd2lkdGg6IDQ5cHg7IH0KCi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wbGF5IHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC00MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXk6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC00MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLXBsYXlpbmcgZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXkgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTEyMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLXBsYXlpbmcgZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXk6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xMjBweCBuby1yZXBlYXQ7IH0KCi5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9wIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC04MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLXN0b3A6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC04MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLXByZXZpb3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0yMDBweCBuby1yZXBlYXQ7IH0KCi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91czpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMTI0cHggLTIwMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLW5leHQgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTE2MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXR5cGUtcGxheWxpc3QgLmpwLW5leHQ6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xNjBweCBuby1yZXBlYXQ7IH0KCi8qIEBlbmQgKi8KLyogQGdyb3VwIFRPR0dMRVMgKi8KLmpwLXRvZ2dsZXMgewogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKLmpwLWF1ZGlvIC5qcC10b2dnbGVzIHsKICB3aWR0aDogNTVweDsgfQoKLmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSAuanAtdG9nZ2xlcyB7CiAgd2lkdGg6IDI1cHg7IH0KCi5qcC12aWRlbyAuanAtdG9nZ2xlcyB7CiAgZmxvYXQ6IGxlZnQ7CiAgd2lkdGg6IDEwNXB4OwogIG1hcmdpbjogMTBweCAwIDAgMTVweDsgfQoKLmpwLXRvZ2dsZXMgYnV0dG9uIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogMjVweDsKICBoZWlnaHQ6IDE4cHg7CiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7CiAgbGluZS1oZWlnaHQ6IDEwMCU7CiAgLyogbmVlZCB0aGlzIGZvciBJRTYgKi8KICBib3JkZXI6IG5vbmU7CiAgY3Vyc29yOiBwb2ludGVyOyB9CgouanAtZnVsbC1zY3JlZW4gewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDIwcHggbm8tcmVwZWF0OwogIG1hcmdpbi1sZWZ0OiAxNXB4OyB9CgouanAtZnVsbC1zY3JlZW46Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQyMHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLWZ1bGwtc2NyZWVuIC5qcC1mdWxsLXNjcmVlbiB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDIwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtZnVsbC1zY3JlZW4gLmpwLWZ1bGwtc2NyZWVuOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC05MHB4IC00MjBweCBuby1yZXBlYXQ7IH0KCi5qcC1yZXBlYXQgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDQwcHggbm8tcmVwZWF0OwogIG1hcmdpbi1sZWZ0OiAwOyB9CgouanAtcmVwZWF0OmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0zMHB4IC00NDBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1sb29wZWQgLmpwLXJlcGVhdCB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDQwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtbG9vcGVkIC5qcC1yZXBlYXQ6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTkwcHggLTQ0MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXNodWZmbGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDYwcHggbm8tcmVwZWF0OwogIG1hcmdpbi1sZWZ0OiAxNXB4OyB9CgouanAtc2h1ZmZsZTpmb2N1cyB7CiAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMzBweCAtNDYwcHggbm8tcmVwZWF0OyB9CgouanAtc3RhdGUtc2h1ZmZsZWQgLmpwLXNodWZmbGUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTYwcHggLTQ2MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXN0YXRlLXNodWZmbGVkIC5qcC1zaHVmZmxlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC05MHB4IC00NjBweCBuby1yZXBlYXQ7IH0KCi5qcC1hdWRpbyAuanAtc2h1ZmZsZSB7CiAgbWFyZ2luLWxlZnQ6IDVweDsgfQoKLyogQGVuZCAqLwovKiBAZ3JvdXAgcHJvZ3Jlc3MgYmFyICovCi8qIFRoZSBzZWVraW5nIGNsYXNzIGlzIGFkZGVkL3JlbW92ZWQgaW5zaWRlIGpQbGF5ZXIgKi8KZGl2LmpwLXNlZWtpbmctYmcgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuc2Vla2luZy5naWYiKTsgfQoKLmpwLXByb2dyZXNzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMjQwcHggbm8tcmVwZWF0OwogIHdpZHRoOiAxOTdweDsKICBoZWlnaHQ6IDEzcHg7CiAgcGFkZGluZzogMCAycHggMnB4IDJweDsKICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKZGl2LmpwLXZpZGVvIC5qcC1wcm9ncmVzcyB7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxODBhMWY7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1NTQ1NjA7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICBwYWRkaW5nOiAwOyB9CgouanAtc2Vlay1iYXIgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC0yNjBweCByZXBlYXQteDsKICB3aWR0aDogMHB4OwogIGhlaWdodDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLXBsYXktYmFyIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMjgwcHggcmVwZWF0LXg7CiAgd2lkdGg6IDBweDsKICBoZWlnaHQ6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKLyogQGVuZCAqLwovKiBAZ3JvdXAgdm9sdW1lIGNvbnRyb2xzICovCi5qcC1zdGF0ZS1uby12b2x1bWUgLmpwLXZvbHVtZS1jb250cm9scyB7CiAgZGlzcGxheTogbm9uZTsgfQoKLmpwLWF1ZGlvIC5qcC12b2x1bWUtY29udHJvbHMsCi5qcC1hdWRpby1zdHJlYW0gLmpwLXZvbHVtZS1jb250cm9scyB7CiAgaGVpZ2h0OiAzMHB4OyB9CgouanAtdm9sdW1lLWNvbnRyb2xzIGJ1dHRvbiB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGRpc3BsYXk6IGJsb2NrOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDE2cHg7CiAgaGVpZ2h0OiAxMXB4OwogIGJvcmRlcjogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC1hdWRpbyAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlLAouanAtYXVkaW8tc3RyZWFtIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLW11dGUgewogIHRvcDogLTZweDsKICBsZWZ0OiAwOyB9CgouanAtYXVkaW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdm9sdW1lLW1heCwKLmpwLWF1ZGlvLXN0cmVhbSAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC12b2x1bWUtbWF4IHsKICB0b3A6IC02cHg7CiAgcmlnaHQ6IDA7IH0KCi5qcC12aWRlbyAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlLAouanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdW5tdXRlIHsKICBsZWZ0OiAwOwogIHRvcDogMTRweDsgfQoKLmpwLXZpZGVvIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXggewogIGxlZnQ6IDg0cHg7CiAgdG9wOiAxNHB4OyB9CgouanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMzMwcHggbm8tcmVwZWF0OyB9CgouanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNXB4IC0zMzBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1tdXRlZCAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC02MHB4IC0zMzBweCBuby1yZXBlYXQ7IH0KCi5qcC1zdGF0ZS1tdXRlZCAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZyIpIC04NXB4IC0zMzBweCBuby1yZXBlYXQ7IH0KCi5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXggewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC0zNTBweCBuby1yZXBlYXQ7IH0KCi5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXg6Zm9jdXMgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgLTI1cHggLTM1MHB4IG5vLXJlcGVhdDsgfQoKLmpwLXZvbHVtZS1iYXIgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC0zMDBweCByZXBlYXQteDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE5N3B4OwogIGhlaWdodDogNHB4OwogIHBhZGRpbmc6IDJweCAycHggMXB4IDJweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIGN1cnNvcjogcG9pbnRlcjsgfQoKLmpwLWF1ZGlvIC5qcC1pbnRlcmZhY2UgLmpwLXZvbHVtZS1iYXIsCi5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhciB7CiAgdG9wOiAxMHB4OwogIGxlZnQ6IDA7IH0KCi5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhciB7CiAgd2lkdGg6IDk3cHg7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzE4MDkyMDsKICBwYWRkaW5nLXJpZ2h0OiAxcHg7IH0KCi5qcC12aWRlbyAuanAtdm9sdW1lLWJhciB7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDk1cHg7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzE4MDkyMDsKICBwYWRkaW5nLXJpZ2h0OiAxcHg7CiAgbWFyZ2luLXRvcDogMzBweDsgfQoKLmpwLXZvbHVtZS1iYXItdmFsdWUgewogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnIikgMHB4IC0zMjBweCByZXBlYXQteDsKICBoZWlnaHQ6IDRweDsgfQoKLyogQGVuZCAqLwovKiBAZ3JvdXAgY3VycmVudCB0aW1lIGFuZCBkdXJhdGlvbiAqLwouanAtY3VycmVudC10aW1lLCAuanAtZHVyYXRpb24gewogIHdpZHRoOiA3MHB4OwogIGZvbnQtc2l6ZTogLjVlbTsKICBjb2xvcjogIzhjN2E5OTsgfQoKLmpwLWN1cnJlbnQtdGltZSB7CiAgZmxvYXQ6IGxlZnQ7CiAgY3Vyc29yOiBkZWZhdWx0OyB9CgouanAtZHVyYXRpb24gewogIGZsb2F0OiByaWdodDsKICB0ZXh0LWFsaWduOiByaWdodDsKICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5qcC12aWRlbyAuanAtY3VycmVudC10aW1lIHsKICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0KCi5qcC12aWRlbyAuanAtZHVyYXRpb24gewogIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0KCi8qIEBlbmQgKi8KLyogQGdyb3VwIHBsYXlsaXN0ICovCi5qcC1kZXRhaWxzIHsKICBmb250LXNpemU6IC43ZW07CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7IH0KCi5qcC1kZXRhaWxzIC5qcC10aXRsZSB7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgY3Vyc29yOiBkZWZhdWx0OyB9CgouanAtdmlkZW8gLmpwLWRldGFpbHMgewogIG1hcmdpbjogMCA5MHB4IDEwcHg7IH0KCi5qcC1wbGF5bGlzdCB1bCB7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogIGZvbnQtc2l6ZTogLjdlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsgfQoKLmpwLXZpZGVvIC5qcC1wbGF5bGlzdCB1bCB7CiAgbWFyZ2luOiAwIDIwcHg7IH0KCi5qcC1wbGF5bGlzdCBsaSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDJweCAwOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNTU0NDYxOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTgwYTFmOwogIG92ZXJmbG93OiBoaWRkZW47IH0KCi8qIE5vdGUgdGhhdCB0aGUgZmlyc3QtY2hpbGQgKElFNikgYW5kIGxhc3QtY2hpbGQgKElFNi83LzgpIHNlbGVjdG9ycyBkbyBub3Qgd29yayBvbiBJRSAqLwpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6Zmlyc3QtY2hpbGQgewogIGJvcmRlci10b3A6IG5vbmU7CiAgcGFkZGluZy10b3A6IDNweDsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpOmxhc3QtY2hpbGQgewogIGJvcmRlci1ib3R0b206IG5vbmU7CiAgcGFkZGluZy1ib3R0b206IDNweDsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEgewogIGNvbG9yOiAjZmZmOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGE6aG92ZXIgewogIGNvbG9yOiAjZTg5MmU5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MTAyZTsKICBtYXJnaW46IDAgLTIwcHg7CiAgcGFkZGluZzogMnB4IDIwcHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyNjEwMmU7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNjEwMmU7IH0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBsaS5qcC1wbGF5bGlzdC1jdXJyZW50IGEgewogIGNvbG9yOiAjZTg5MmU5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1pdGVtLXJlbW92ZSB7CiAgZmxvYXQ6IHJpZ2h0OwogIGRpc3BsYXk6IGlubGluZTsKICB0ZXh0LWFsaWduOiByaWdodDsKICBtYXJnaW4tbGVmdDogMTBweDsKICBmb250LXdlaWdodDogYm9sZDsKICBjb2xvcjogIzhDN0E5OTsgfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmU6aG92ZXIgewogIGNvbG9yOiAjRTg5MkU5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIHsKICBmbG9hdDogcmlnaHQ7CiAgZGlzcGxheTogaW5saW5lOwogIHRleHQtYWxpZ246IHJpZ2h0OwogIGNvbG9yOiAjOEM3QTk5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGEgewogIGNvbG9yOiAjOEM3QTk5OyB9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXIgewogIGNvbG9yOiAjRTg5MkU5OyB9CgpzcGFuLmpwLWFydGlzdCB7CiAgZm9udC1zaXplOiAuOGVtOwogIGNvbG9yOiAjOEM3QTk5OyB9CgovKiBAZW5kICovCi5qcC12aWRlbyAuanAtdmlkZW8tcGxheSB7CiAgd2lkdGg6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICAvKiBJbXBvcnRhbnQgZm9yIG5lc3RlZCBuZWdhdGl2ZSBtYXJnaW5zIHRvIHdvcmsgaW4gbW9kZXJuIGJyb3dzZXJzICovIH0KCi5qcC12aWRlby0yNzBwIC5qcC12aWRlby1wbGF5IHsKICBtYXJnaW4tdG9wOiAtMjcwcHg7CiAgaGVpZ2h0OiAyNzBweDsgfQoKLmpwLXZpZGVvLTM2MHAgLmpwLXZpZGVvLXBsYXkgewogIG1hcmdpbi10b3A6IC0zNjBweDsKICBoZWlnaHQ6IDM2MHB4OyB9CgouanAtdmlkZW8tZnVsbCAuanAtdmlkZW8tcGxheSB7CiAgaGVpZ2h0OiAxMDAlOyB9CgouanAtdmlkZW8tcGxheS1pY29uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogYmxvY2s7CiAgd2lkdGg6IDExMnB4OwogIGhlaWdodDogMTAwcHg7CiAgbWFyZ2luLWxlZnQ6IC01NnB4OwogIG1hcmdpbi10b3A6IC01MHB4OwogIGxlZnQ6IDUwJTsKICB0b3A6IDUwJTsKICBib3JkZXI6IG5vbmU7CiAgY3Vyc29yOiBwb2ludGVyOwogIGJhY2tncm91bmQ6IHVybCgiLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcudmlkZW8ucGxheS5wbmciKSAwIDAgbm8tcmVwZWF0OwogIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9CgouanAtdmlkZW8tcGxheS1pY29uOmZvY3VzIHsKICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLnZpZGVvLnBsYXkucG5nIikgMCAtMTAwcHggbm8tcmVwZWF0OyB9CgouanAtanBsYXllciBhdWRpbywKLmpwLWpwbGF5ZXIgewogIHdpZHRoOiAwcHg7CiAgaGVpZ2h0OiAwcHg7IH0KCi5qcC1qcGxheWVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9CgovKiBAZ3JvdXAgTk8gU09MVVRJT04gZXJyb3IgZmVlZGJhY2sgKi8KLmpwLW5vLXNvbHV0aW9uIHsKICBwYWRkaW5nOiA1cHg7CiAgZm9udC1zaXplOiAuOGVtOwogIGJhY2tncm91bmQtY29sb3I6ICMzYTJhNDU7CiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM1NTQ0NjE7CiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjNTU0NDYxOwogIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMxODBhMWY7CiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxODBhMWY7CiAgY29sb3I6ICNGRkY7CiAgZGlzcGxheTogbm9uZTsgfQoKLmpwLW5vLXNvbHV0aW9uIGEgewogIGNvbG9yOiAjRkZGOyB9CgouanAtbm8tc29sdXRpb24gc3BhbiB7CiAgZm9udC1zaXplOiAxZW07CiAgZGlzcGxheTogYmxvY2s7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGZvbnQtd2VpZ2h0OiBib2xkOyB9CgovKiBAZW5kICovCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/css/jplayer.pink.flag.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIFBpbmsgRmxhZyBTa2luIGZvciBqUGxheWVyIDIuOS4yIH4gKGMpIDIwMDktMjAxNCBIYXBweXdvcm0gTHRkIH4gTUlUIExpY2Vuc2UgKi8uanAtYXVkaW8gOmZvY3VzLC5qcC1hdWRpby1zdHJlYW0gOmZvY3VzLC5qcC12aWRlbyA6Zm9jdXN7b3V0bGluZTowfS5qcC1hdWRpbyBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLmpwLWF1ZGlvLXN0cmVhbSBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLmpwLXZpZGVvIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uanAtYXVkaW8sLmpwLWF1ZGlvLXN0cmVhbSwuanAtdmlkZW97Zm9udC1zaXplOjE2cHg7Zm9udC1mYW1pbHk6VmVyZGFuYSxBcmlhbCxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuNjtjb2xvcjojZmZmO2JvcmRlci10b3A6MXB4IHNvbGlkICM1NTQ0NjE7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1NTQ0NjE7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwYTFmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMxODBhMWY7YmFja2dyb3VuZC1jb2xvcjojM2EyYTQ1fS5qcC1hdWRpb3t3aWR0aDoyMDFweDtwYWRkaW5nOjIwcHh9LmpwLWF1ZGlvLXN0cmVhbXt3aWR0aDoxMDFweDtwYWRkaW5nOjIwcHggMjBweCAxMHB4fS5qcC12aWRlby0yNzBwe3dpZHRoOjQ4MHB4fS5qcC12aWRlby0zNjBwe3dpZHRoOjY0MHB4fS5qcC12aWRlby1mdWxse3dpZHRoOjQ4MHB4O2hlaWdodDoyNzBweDtwb3NpdGlvbjpzdGF0aWMhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5qcC12aWRlby1mdWxsIGRpdiBkaXZ7ei1pbmRleDoxMDAwfS5qcC12aWRlby1mdWxsIC5qcC1qcGxheWVye3RvcDowO2xlZnQ6MDtwb3NpdGlvbjpmaXhlZCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5qcC12aWRlby1mdWxsIC5qcC1ndWl7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3Bvc2l0aW9uOnN0YXRpYzt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjEwMDF9LmpwLXZpZGVvLWZ1bGwgLmpwLWludGVyZmFjZXtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS5qcC1pbnRlcmZhY2V7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiMzYTJhNDV9LmpwLXZpZGVvIC5qcC1jb250cm9scy1ob2xkZXJ7Y2xlYXI6Ym90aDt3aWR0aDo0NDBweDttYXJnaW46MCBhdXRvIDEwcHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5qcC1hdWRpbyAuanAtY29udHJvbHMtaG9sZGVye2hlaWdodDo4MHB4fS5qcC1hdWRpby1zdHJlYW0gLmpwLWNvbnRyb2xzLWhvbGRlcntoZWlnaHQ6NTBweH0uanAtY29udHJvbHN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSBuby1yZXBlYXQ7cGFkZGluZzoxcHggMCAycHggMXB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoyMDFweDtoZWlnaHQ6MzRweH0uanAtYXVkaW8gLmpwLWNvbnRyb2xzLC5qcC1hdWRpby1zdHJlYW0gLmpwLWNvbnRyb2xze21hcmdpbjowIGF1dG99LmpwLWF1ZGlvLXN0cmVhbSAuanAtY29udHJvbHN7d2lkdGg6MTAwcHh9LmpwLXZpZGVvIC5qcC1jb250cm9sc3ttYXJnaW46MCAwIDAgMTE1cHg7ZmxvYXQ6bGVmdDtkaXNwbGF5OmlubGluZX0uanAtY29udHJvbHMgYnV0dG9ue2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDtvdmVyZmxvdzpoaWRkZW47dGV4dC1pbmRlbnQ6LTk5OTlweDtoZWlnaHQ6MzRweDttYXJnaW46MCAxcHggMnB4IDA7cGFkZGluZzowO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyfS5qcC10eXBlLXNpbmdsZSAuanAtY29udHJvbHMgYnV0dG9ue3dpZHRoOjk5cHh9LmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgMCAtNDBweCBuby1yZXBlYXR9LmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5OmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTEwMHB4IC00MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtcGxheWluZyAuanAtdHlwZS1zaW5nbGUgLmpwLXBsYXl7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC0xMjBweCBuby1yZXBlYXR9LmpwLXN0YXRlLXBsYXlpbmcgLmpwLXR5cGUtc2luZ2xlIC5qcC1wbGF5OmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTEwMHB4IC0xMjBweCBuby1yZXBlYXR9LmpwLWF1ZGlvLXN0cmVhbSAuanAtcGF1c2UsLmpwLWF1ZGlvLXN0cmVhbSAuanAtcGxheXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMxODA5MjB9LmpwLXR5cGUtc2luZ2xlIC5qcC1zdG9we2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgMCAtODBweCBuby1yZXBlYXR9LmpwLXR5cGUtc2luZ2xlIC5qcC1zdG9wOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTEwMHB4IC04MHB4IG5vLXJlcGVhdH0uanAtdHlwZS1wbGF5bGlzdCAuanAtY29udHJvbHMgYnV0dG9ue3dpZHRoOjQ5cHh9LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXl7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtMjRweCAtNDBweCBuby1yZXBlYXR9LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXk6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtMTI0cHggLTQwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1wbGF5aW5nIGRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wbGF5e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTI0cHggLTEyMHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtcGxheWluZyBkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtcGxheTpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0xMjRweCAtMTIwcHggbm8tcmVwZWF0fS5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9we2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTI0cHggLTgwcHggbm8tcmVwZWF0fS5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9wOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTEyNHB4IC04MHB4IG5vLXJlcGVhdH0uanAtdHlwZS1wbGF5bGlzdCAuanAtcHJldmlvdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtMjRweCAtMjAwcHggbm8tcmVwZWF0fS5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91czpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0xMjRweCAtMjAwcHggbm8tcmVwZWF0fS5qcC10eXBlLXBsYXlsaXN0IC5qcC1uZXh0e2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTI0cHggLTE2MHB4IG5vLXJlcGVhdH0uanAtdHlwZS1wbGF5bGlzdCAuanAtbmV4dDpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0xMjRweCAtMTYwcHggbm8tcmVwZWF0fS5qcC10b2dnbGVze3BhZGRpbmc6MDttYXJnaW46MCBhdXRvO292ZXJmbG93OmhpZGRlbn0uanAtYXVkaW8gLmpwLXRvZ2dsZXN7d2lkdGg6NTVweH0uanAtYXVkaW8gLmpwLXR5cGUtc2luZ2xlIC5qcC10b2dnbGVze3dpZHRoOjI1cHh9LmpwLXZpZGVvIC5qcC10b2dnbGVze2Zsb2F0OmxlZnQ7d2lkdGg6MTA1cHg7bWFyZ2luOjEwcHggMCAwIDE1cHh9LmpwLXRvZ2dsZXMgYnV0dG9ue2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDt3aWR0aDoyNXB4O2hlaWdodDoxOHB4O3RleHQtaW5kZW50Oi05OTk5cHg7bGluZS1oZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcn0uanAtZnVsbC1zY3JlZW57YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC00MjBweCBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6MTVweH0uanAtZnVsbC1zY3JlZW46Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtMzBweCAtNDIwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1mdWxsLXNjcmVlbiAuanAtZnVsbC1zY3JlZW57YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtNjBweCAtNDIwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1mdWxsLXNjcmVlbiAuanAtZnVsbC1zY3JlZW46Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtOTBweCAtNDIwcHggbm8tcmVwZWF0fS5qcC1yZXBlYXR7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC00NDBweCBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6MH0uanAtcmVwZWF0OmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTMwcHggLTQ0MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtbG9vcGVkIC5qcC1yZXBlYXR7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtNjBweCAtNDQwcHggbm8tcmVwZWF0fS5qcC1zdGF0ZS1sb29wZWQgLmpwLXJlcGVhdDpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC05MHB4IC00NDBweCBuby1yZXBlYXR9LmpwLXNodWZmbGV7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC00NjBweCBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6MTVweH0uanAtc2h1ZmZsZTpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0zMHB4IC00NjBweCBuby1yZXBlYXR9LmpwLXN0YXRlLXNodWZmbGVkIC5qcC1zaHVmZmxle2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTYwcHggLTQ2MHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtc2h1ZmZsZWQgLmpwLXNodWZmbGU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtOTBweCAtNDYwcHggbm8tcmVwZWF0fS5qcC1hdWRpbyAuanAtc2h1ZmZsZXttYXJnaW4tbGVmdDo1cHh9ZGl2LmpwLXNlZWtpbmctYmd7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuc2Vla2luZy5naWYpfS5qcC1wcm9ncmVzc3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIDAgLTI0MHB4IG5vLXJlcGVhdDt3aWR0aDoxOTdweDtoZWlnaHQ6MTNweDtwYWRkaW5nOjAgMnB4IDJweDttYXJnaW4tYm90dG9tOjRweDtvdmVyZmxvdzpoaWRkZW59ZGl2LmpwLXZpZGVvIC5qcC1wcm9ncmVzc3tib3JkZXItdG9wOjFweCBzb2xpZCAjMTgwYTFmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTQ1NjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7cGFkZGluZzowfS5qcC1zZWVrLWJhcntiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIDAgLTI2MHB4IHJlcGVhdC14O3dpZHRoOjA7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2N1cnNvcjpwb2ludGVyfS5qcC1wbGF5LWJhcntiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIDAgLTI4MHB4IHJlcGVhdC14O3dpZHRoOjA7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5qcC1zdGF0ZS1uby12b2x1bWUgLmpwLXZvbHVtZS1jb250cm9sc3tkaXNwbGF5Om5vbmV9LmpwLWF1ZGlvIC5qcC12b2x1bWUtY29udHJvbHMsLmpwLWF1ZGlvLXN0cmVhbSAuanAtdm9sdW1lLWNvbnRyb2xze2hlaWdodDozMHB4fS5qcC12b2x1bWUtY29udHJvbHMgYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3RleHQtaW5kZW50Oi05OTk5cHg7bWFyZ2luOjA7cGFkZGluZzowO3dpZHRoOjE2cHg7aGVpZ2h0OjExcHg7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9LmpwLWF1ZGlvIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLW11dGUsLmpwLWF1ZGlvLXN0cmVhbSAuanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRle3RvcDotNnB4O2xlZnQ6MH0uanAtYXVkaW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdm9sdW1lLW1heCwuanAtYXVkaW8tc3RyZWFtIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXh7dG9wOi02cHg7cmlnaHQ6MH0uanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtbXV0ZSwuanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdW5tdXRle2xlZnQ6MDt0b3A6MTRweH0uanAtdmlkZW8gLmpwLXZvbHVtZS1jb250cm9scyAuanAtdm9sdW1lLW1heHtsZWZ0Ojg0cHg7dG9wOjE0cHh9LmpwLXZvbHVtZS1jb250cm9scyAuanAtbXV0ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIDAgLTMzMHB4IG5vLXJlcGVhdH0uanAtdm9sdW1lLWNvbnRyb2xzIC5qcC1tdXRlOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgLTI1cHggLTMzMHB4IG5vLXJlcGVhdH0uanAtc3RhdGUtbXV0ZWQgLmpwLXZvbHVtZS1jb250cm9scyAuanAtbXV0ZXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC02MHB4IC0zMzBweCBuby1yZXBlYXR9LmpwLXN0YXRlLW11dGVkIC5qcC12b2x1bWUtY29udHJvbHMgLmpwLW11dGU6Zm9jdXN7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAtODVweCAtMzMwcHggbm8tcmVwZWF0fS5qcC12b2x1bWUtY29udHJvbHMgLmpwLXZvbHVtZS1tYXh7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC0zNTBweCBuby1yZXBlYXR9LmpwLXZvbHVtZS1jb250cm9scyAuanAtdm9sdW1lLW1heDpmb2N1c3tiYWNrZ3JvdW5kOnVybCguLi9pbWFnZS9qcGxheWVyLnBpbmsuZmxhZy5qcGcpIC0yNXB4IC0zNTBweCBuby1yZXBlYXR9LmpwLXZvbHVtZS1iYXJ7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2UvanBsYXllci5waW5rLmZsYWcuanBnKSAwIC0zMDBweCByZXBlYXQteDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOTdweDtoZWlnaHQ6NHB4O3BhZGRpbmc6MnB4IDJweCAxcHg7b3ZlcmZsb3c6aGlkZGVuO2N1cnNvcjpwb2ludGVyfS5qcC1hdWRpbyAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyLC5qcC1hdWRpby1zdHJlYW0gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhcnt0b3A6MTBweDtsZWZ0OjB9LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFye3dpZHRoOjk3cHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwOTIwO3BhZGRpbmctcmlnaHQ6MXB4fS5qcC12aWRlbyAuanAtdm9sdW1lLWJhcnt0b3A6MDtsZWZ0OjA7d2lkdGg6OTVweDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMxODA5MjA7cGFkZGluZy1yaWdodDoxcHg7bWFyZ2luLXRvcDozMHB4fS5qcC12b2x1bWUtYmFyLXZhbHVle2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLmpwZykgMCAtMzIwcHggcmVwZWF0LXg7aGVpZ2h0OjRweH0uanAtY3VycmVudC10aW1lLC5qcC1kdXJhdGlvbnt3aWR0aDo3MHB4O2ZvbnQtc2l6ZTouNWVtO2NvbG9yOiM4YzdhOTl9LmpwLWN1cnJlbnQtdGltZXtmbG9hdDpsZWZ0O2N1cnNvcjpkZWZhdWx0fS5qcC1kdXJhdGlvbntmbG9hdDpyaWdodDt0ZXh0LWFsaWduOnJpZ2h0O2N1cnNvcjpwb2ludGVyfS5qcC12aWRlbyAuanAtY3VycmVudC10aW1le3BhZGRpbmctbGVmdDoyMHB4fS5qcC12aWRlbyAuanAtZHVyYXRpb257cGFkZGluZy1yaWdodDoyMHB4fS5qcC1kZXRhaWxze2ZvbnQtc2l6ZTouN2VtO21hcmdpbjowO3BhZGRpbmc6MH0uanAtZGV0YWlscyAuanAtdGl0bGV7cGFkZGluZzowO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6ZGVmYXVsdH0uanAtdmlkZW8gLmpwLWRldGFpbHN7bWFyZ2luOjAgOTBweCAxMHB4fS5qcC1wbGF5bGlzdCB1bHtsaXN0LXN0eWxlLXR5cGU6bm9uZTtmb250LXNpemU6LjdlbTttYXJnaW46MDtwYWRkaW5nOjB9LmpwLXZpZGVvIC5qcC1wbGF5bGlzdCB1bHttYXJnaW46MCAyMHB4fS5qcC1wbGF5bGlzdCBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjJweCAwO2JvcmRlci10b3A6MXB4IHNvbGlkICM1NTQ0NjE7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzE4MGExZjtvdmVyZmxvdzpoaWRkZW59ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpOmZpcnN0LWNoaWxke2JvcmRlci10b3A6bm9uZTtwYWRkaW5nLXRvcDozcHh9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lO3BhZGRpbmctYm90dG9tOjNweH1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYXtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfWRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVye2NvbG9yOiNlODkyZTl9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGxpLmpwLXBsYXlsaXN0LWN1cnJlbnR7YmFja2dyb3VuZC1jb2xvcjojMjYxMDJlO21hcmdpbjowIC0yMHB4O3BhZGRpbmc6MnB4IDIwcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgIzI2MTAyZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjYxMDJlfWRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBsaS5qcC1wbGF5bGlzdC1jdXJyZW50IGF7Y29sb3I6I2U4OTJlOX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgYS5qcC1wbGF5bGlzdC1pdGVtLXJlbW92ZXtmbG9hdDpyaWdodDtkaXNwbGF5OmlubGluZTt0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbi1sZWZ0OjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiM4QzdBOTl9ZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmU6aG92ZXJ7Y29sb3I6I0U4OTJFOX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhe2Zsb2F0OnJpZ2h0O2Rpc3BsYXk6aW5saW5lO3RleHQtYWxpZ246cmlnaHQ7Y29sb3I6IzhDN0E5OX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGF7Y29sb3I6IzhDN0E5OX1kaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXJ7Y29sb3I6I0U4OTJFOX1zcGFuLmpwLWFydGlzdHtmb250LXNpemU6LjhlbTtjb2xvcjojOEM3QTk5fS5qcC12aWRlbyAuanAtdmlkZW8tcGxheXt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0uanAtdmlkZW8tMjcwcCAuanAtdmlkZW8tcGxheXttYXJnaW4tdG9wOi0yNzBweDtoZWlnaHQ6MjcwcHh9LmpwLXZpZGVvLTM2MHAgLmpwLXZpZGVvLXBsYXl7bWFyZ2luLXRvcDotMzYwcHg7aGVpZ2h0OjM2MHB4fS5qcC12aWRlby1mdWxsIC5qcC12aWRlby1wbGF5e2hlaWdodDoxMDAlfS5qcC12aWRlby1wbGF5LWljb257cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt3aWR0aDoxMTJweDtoZWlnaHQ6MTAwcHg7bWFyZ2luLWxlZnQ6LTU2cHg7bWFyZ2luLXRvcDotNTBweDtsZWZ0OjUwJTt0b3A6NTAlO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLnZpZGVvLnBsYXkucG5nKSBuby1yZXBlYXQ7dGV4dC1pbmRlbnQ6LTk5OTlweH0uanAtdmlkZW8tcGxheS1pY29uOmZvY3Vze2JhY2tncm91bmQ6dXJsKC4uL2ltYWdlL2pwbGF5ZXIucGluay5mbGFnLnZpZGVvLnBsYXkucG5nKSAwIC0xMDBweCBuby1yZXBlYXR9LmpwLWpwbGF5ZXIsLmpwLWpwbGF5ZXIgYXVkaW97d2lkdGg6MDtoZWlnaHQ6MH0uanAtanBsYXllcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9LmpwLW5vLXNvbHV0aW9ue3BhZGRpbmc6NXB4O2ZvbnQtc2l6ZTouOGVtO2JhY2tncm91bmQtY29sb3I6IzNhMmE0NTtib3JkZXItdG9wOjJweCBzb2xpZCAjNTU0NDYxO2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjNTU0NDYxO2JvcmRlci1yaWdodDoycHggc29saWQgIzE4MGExZjtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMTgwYTFmO2NvbG9yOiNGRkY7ZGlzcGxheTpub25lfS5qcC1uby1zb2x1dGlvbiBhe2NvbG9yOiNGRkZ9LmpwLW5vLXNvbHV0aW9uIHNwYW57Zm9udC1zaXplOjFlbTtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjcwMH0=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/image/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/image/jplayer.pink.flag.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwMDAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgB4ADSAwERAAIRAQMRAf/EAMAAAQABBQEBAQAAAAAAAAAAAAAGAQMEBQcCCAkBAQACAwEBAAAAAAAAAAAAAAABAgMEBQYHEAAABQEEAwsJBAYIBAYDAAAAAQIDBAUREhQGIWETMVGRoVKT09RVlRdBcdKjVBUWVgciU+OUgTJCoiOzYnKCYzR0NQixwjNz0ZJDg0S0ZCV1EQEAAQIDAgwEBgICAgMAAAAAARECEgMEITFBUWGRUpLiE1MFFRZxgdEUscEiMtIG8KHhM0JyYoI0/9oADAMBAAIRAxEAPwD8qKXS6Y7TKc45Tozji4rKlrUygzMzQVpmZlpHbiIo32d7opPZcTmG/RE0gPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgPdFJ7Licw36IUgKR/pNL/yjH8tIRuGwEjX0j/SaX/lGP5aREbhsBIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX0j/SaX/lGP5aREbhsBI19I/wBJpf8AlGP5aREbhsBIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX0j/SaX/lGP5aREbhsBI19I/0ml/5Rj+WkRG4bASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA19I/0ml/5Rj+WkRG4bASMSJAcjRY0YqumyO0hsv/15q/USRbuNTbubthCIgZGHc7XT3afXgDDudrp7tPrwBh3O1092n14Aw7na6e7T68AYdztdPdp9eAMO52unu0+vAGHc7XT3afXgDDudrp7tPrwBh3O1092n14Aw7na6e7T68AYdztdPdp9eAMO52unu0+vAGHc7XT3afXgDDudrp7tPrwBh3O1092n14Aw7na6e7T68AYdztdPdp9eAMO52unu0+vAGHc7XT3afXgDDudrp7tPrwBh3O1092n14Aw7na6e7T68AYdztdPdp9eAMO52unu0+vAPEZhEWOxGbMzbjtpaQat0yQRJK2yzToAXhI7ttxjVNuAbcA24BtwGIirQnJb0BuWyubHSlT8QlpNxCVFak1IttIjIwGXtwDbgG3ANuAbcA24BtwDbgBP6QFTf0gKbcBjS6nEgR3Jc2S3Eis2G7IeUSEJtMklao7CK0zIgomIruXm5bbqEOtOJdbcIlNuIMlJUR7hkZaDIKIe9uAbcA24BtwDbgMCqP20yolvxXi/cMIHGBkWAHWMRrFEGI1gGI1gGI1gGI1gPmDP0uRGzzVZcR9yPIaOMpp9tRpUkyjtaSMtIpO8SzLX1ZkMk3EzG2chsrElUmS+2Rf3iC0K85adRhFw7RCq8Oox0S4MpEqO5+q62ZGWsj3jLeMXGXiNYBiNYBiNYBiNYBiNYBiNYAUnTugKnJ07oCmI1gInnhaH8szmllfQt2ISknuGWKaGxpLYuzrYnjb/ldsXarLid1UGgv1Ohqv0WTcYttcpj1qo6rd2wt1Bnvp/TaPU6zyXLzdtmyXvfMv63k6j9WX+m5PaRnKFUVoiSkqplSVoKI8ZXVn/dOaCV5tB6h5fUaTMyJpfDwet8sz9JdS+NnGlGI1jWc8xGsAxGsAxGsBiT37YM0rd1hwv3TCBzIXSAJxidfGKoMTr4wDE6+MAxOvjAMTr4wHzpnklyM31JLaFOOOqjpbbSRmpSjYbIiIi0mZjHdvE2y99JHyS1PztKXQYiiJbVFaJKqk8k99CvssEe+5p/oGIiKjq6HKZCiRqZRaWzSKZENamY7Zmtxa3CSS3HnVfacWZJLSegrLCIiGSIoPOJ18YkMTr4wDE6+MAxOvjAMTr4wDE6+MAxOsAOTrAMTr4wEdzW/foclO+9F/wDsNjZ0X/dZ8XR8p/8A1ZfxWaRQanWlrwTBFHZ/xU55RNx2S33HFaC826fkIe51WsytNFb5pycM/J9T13mWRorcWbdTijhn4R/kJnFi5doC23Y7SMwVhhRLaqUlFkVhxOklMMq0rUR7il+ckjyev82v1MYYjDb/ALn/ADkfPvNv7Dma2JstjDZz3T8Z4PhHPLExOvjHJecMTr4wDE6+MAxOvjAWJUi9GkFbutLLiMEocLAA3OI1iAxGsAxGsAxGsAxGsBdp0tilSZVRgwozVXlWEqtGi/JQkkki60tRmTegtJpIlaxGEo8LlrcUpbizWtZma1qMzMzPdMzMSPOI1gGI1gGI1gGI1gGI1gGI1gGI1gGI1gGI1gGI1gLbimH0k3JZTJZJaFrYWarqriiWRHdMjstItwxay6bJiY3wyZWZdlXRfbNJjc206vS56G2VqRHhsf4anx0k0w3/AFUJ0W6ztPWF91184rprM8Mmbm35t03XzMzPDLW4jWKsZiNYBiNYBiNYBiNYDw4/a24Vu6ky4gGpEgA9Xlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXj3zAeQAB3bbjGqbcA24BtwDbgG3ANuAbcA24BtwDbgG3ANuAbcAJ/SAqb+kBTbgG3ANuAbcA24BtwDbgG3AYFUftplRLfivF+4YQOMDIsAOsYjWKIMRrAMRrAMRrAMRrAfKeaMyVuZXqopVTkttsyXWY7LTq0IQ22s0pIkpMi3C074pMjURcxV2HIaksVaWl1lRKTeeWpJ2eQ0mdhkflIxFR9kPO7NSSt0LbbdIt4nEJWRfovWC8C1iNYkMRrAMRrAMRrAMRrAMRrACk6d0BU5OndAUxGsBBM9zphxaTTokx2EiqTTamvsKNDpstsuOmhC0mRpvGkiMy02Wja0WmjUZ9mXdumtflEzR0vKNFbrNVZlX/tmtflEzT5oSVMikRFfk6P8A8p/pB7D0bSeHHPP1fR/b2g8KP9/V0rJSDRAqyCedU1C2LjSXXFu2E4pSFERrUZlpsMcTzrQZWni27LilZmHlv7P5Xp9JbZfk24azMT/kpPiNY4Dx5iNYBiNYBiNYDEnv2wZpW7rDhfumEDmQukATjE6+MVQYnXxgGJ18YBidfGAYnXxgPl3MUWRErdTRJaU0pyS663eLQpC1maVJPykYxSNbDhy6hKjwYMdyXMlLJuNGaSalrWrQRJItJgPsSqOHHmuRVLSpcRDUd00naV9ltKFWGW7YaTGSNxDX4nXxiQxOvjAMTr4wDE6+MAxOvjAMTr4wDE6wA5OsAxOvjARTM7b8pyiOtINbcSW4uQZabqVR3UEZ6rTIh0fKJiNXZM8v4S7n9bvi3X5czNN8c8TRqR7t9WTzLLL8eiVye4g240lcaNGcVoJxxK1LUSd+6RabNweZ/sObbSyyu2sy8R/cc+ybcvLr+qszTkou4nXxjzLwhidfGAYnXxgGJ18YCxKkXo0grd1pZcRglDhYAG5xGsQGI1gGI1gGI1gGI1gMuNV5sQlJiy3WEqO1SULMiM9+zcEUKMosy1kiUSapJRfI0qNLqkmZHulaRkGGCjVYjXxiQxGsAxGsAxGsAxGsAxGsAxGsAxGsAxGsAxGsB6TKUhSVoWaVpMjSojMjIy3DIwG1LM1aIiIqrJsL+9V/4iaytju42JLrE6eaDmzXpZtFY1tXFKulvJIz0foEKsPEawDEawDEawDEawHhx+1twrd1JlxANSJAB6vK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvHvmA8gADu23GNU24BtwDbgG3ANuAbcA24BtwDbgG3ANuAbcA24AT+kBU39ICm3ANuAbcA24BtwDbgG3ANuAwKo/bTKiW/FeL9wwgcYGRYAdYxGsUQYjWAYjWAYjWAYjWA+es85rrsHOT6YdSfZj0w2MPFQtSWlWtIcUS0kZEq01GR2+QUmdozvqZmGt0P6h1eBAqkhuJQZSWYsdK1JbWlKUqPaJSZEq8Znbb5AmR9CVMkQalUISFmpEOS6whR7pk2s0kZ8AtAwsRrEhiNYBiNYBiNYBiNYBiNYAUnTugKnJ07oCmI1gI3m2oSY9BlqhyFxZDrkaOiQjQtBPyG2lKSfkMkrOwxm0+XGZmW2TwzEc8tvQ5EZ2osy7t110Rzyj7b0yLkevvR6hKRJjz6ZDjyXHluuITUHFtuqStw1GRkSNFh6DO0dvzLy7Ky83KssikXTSeeOP4vVec+T6fK1Onsy7cMXzMTz28fxSTJyVJotUcckvv4KXEaaN91byrJCJClWqcUo9BslZp8pjF51osrTzZ3cUrWvyp9Wr/aPLcjSTld1bTFir8qcfxSDEaxw3lDEawDEawDEawGJPftgzSt3WHC/dMIHMhdIAnGJ18YqgxOvjAMTr4wDE6+MAxOvjAfPedosuZnKUyxHcefqCoyIbSUmanVKabbIkl5bVFYMd28bf6rRZU36oZlajsLfeqNSuwm0EZm6arG0kizdtUVgiR9CZglW16tmRkZHPk2Hb/eqGSNxDUYnXxiQxOvjAMTr4wDE6+MAxOvjAMTr4wDE6wA5OsAxOvjAaDMy1v0hbaEmsylQlmRafsolNLUf6CIzMbOi/78v/2j8YdDyqYjV5Venb+K04y+eRK6pLSjQ9XKJcURaD2Djy3bP6qVEZ7w9J5tdH3ORFdsXfnb9Ht/Psy373SRXbF1eebafhLf5d2jOW6y8aDS0/UoCGnD0EpTbMs1kXmvpt841v7FdGLLjh2/k5/9zvibsm2u2Iu/3hp+EruJ18Y828QYnXxgGJ18YBidfGAsSpF6NIK3daWXEYJQ4WABucRrEBiNYBiNYBiNYBiNYDKiVaXBWbsOSuO7YZE4g7FFaVh2HukdnlIRQorFq0yE4b0WSth4yP8AioOxRW6DMj3SPWQUKMU5JmZmajMz0mZmJFMRrAMRrAMRrAMRrAMRrAMRrAMRrAMRrAMRrAMSZaSOwy3DtAZsmszpiGG5Mtx5uMRkw2pR2It3TIt8/KYmZmZrKbrpumszWVJNYnTEMtSpbj7UcjJhtSjNKbd0yLctPymEzMzWS66bprM1lh4jWIQYjWAYjWAYjWA8OP2tuFbupMuIBqRIAPV5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF498wHkAAd224xqm3ANuAbcA24BtwDbgG3ANuAbcA24BtwDbgG3ACf0gKm/pAU24BtwDbgG3ANuAbcA24BtwGBVH7aZUS34rxfuGEDjAyLADrGI1iiDEawDEawDEawEVztV5lMyzUp1PfOPLYNg2XSIjsvPtpPQdpaSMyESIflv6rxZdyLX0FBkHYRTUW7FR/0i3Uf8BEXDQZb+rE2MaIuYUHMZtsKe2RE6m0/2klYSiLVYfnERI7XT63AqsdMqny0SmFftIPcPeUW6R6jFhnYjWJDEawDEawDEawDEawDEawApOndAVOTp3QFMRrAc1mZlrsDMdaSypE+msOMJRTl2IUgjYbUo21kW6ZmZ2HaOppfLLtRlTfbO2J3PRaDyK7W6bvLJ/VE7lmq5zmS5lGVQZRxnG0SVVOmyW90y2VxK+FVhpMV0vlt+bmTl3bJiFdB5FmZ2bdlZkYZiNiSUrOkSYtEWoIOlzz0E24drTh/3bmgj8x2GMGp0Wbp5pdHzaWv8pz9HP642caWYjWNRzDEawDEawDEawGJPftgzSt3WHC/dMIHMhdIAnGJ18YqgxOvjAMTr4wDE6+MBEM+P38p1VO/sP57Yi7cOeZX+mNZrrLVTqbicuUBf2k1GWk9o8W9GY0LcM9/Qn+kMY0GWclZgzY4v3XEJEJk7JdWkq2MRny/bdVot1Fae8QDvdAy1l3J0aU1BfdrdYmNk1Lq7lrTCEktKzKOzu6TTZfWdtlthFaLRA22J18YuGJ18YBidfGAYnXxgGJ18YBidfGAYnWAHJ1gGJ18YCFMwJ1XzJW49PiuS5C3WD2bZW2EUdu0zPcIi3zHq/Js6zK083XzERV9D/rWpy9PopvzLotivCzqxQ2aRIpsQpjNQrE0ndtGiJNwmrhoIkE4Whajvabugt8xu6TzLK1GZdSKUjfPDx/B0vL/ADrI1ubfFsUi2I2zsrvr8IjlbxnJkJlonc3O4dCtKKIzdVLWX9O21LJf1tOoaPmHnOVSbMuIunj4P+XL83/suRETl5URfPHP7Y+v4crYPSoxrSmFFTBiNNtsxoqVKXcQ0hKE2qVpUZkm0zPdMeVmavAXTimZnhWsTr4wVMTr4wDE6+MBYlSL0aQVu60suIwShwsADc4jWIDEawDEawDEawApCbyFKQh3ZrQ4lDiUuIvIUSkmaVkaTsMiPSQUGTKqkqc8qRLkLkPL3XFnadm8W8RbxBQoLqchyLFhG5chQUE3EiNkTbTaS3kIIit3zstPyiIihRjYjWJDEawDEawDEawDEawDEawDEawDEawDEawDEawGUzVZUeLIhx3thHluE7LS2RJN1RJJJX1ERKUREkiIjOwNqZumYpXZCkSpyID+KiOExK2a2UySJJuJQsyNRIUZGabbpaSsMTtIumImInZLHVKUtRqWs1KUdqlGZmZmflMxCFMRrAMRrAMRrAMRrAeHH7W3Ct3UmXEA1IkAHq8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8e+YDyAAO7bcY1TbgG3ANuAbcA24BtwDbgG3ANuAbcA24BtwDbgBP6QFTf0gKbcA24BtwDbgG3ANuAbcA24DAqj9tMqJb8V4v3DCBxgZFgB1jEaxRBiNYBiNYBiNYDGlVSLBYXJmSURo7ZWrdcUSUl+kwHHcyfVlR7SJltuzdSdTeTxttn/wAVcArNw3FX+qNOplMpLFMWdZqq6XAXPeUdjSJS4rSpBKMiK0ydNRWFublojEJNkGsTa1lNVZqcg35r9amxtBElCGmY8NxCUpIi3DeUJiaiW4jWLBiNYBiNYBiNYBiNYBiNYAUnTugKnJ07oCmI1gInW88UykLVEZJdUqu4mmxrDUk/7xf6qC8+nUYvlZV+bdhsistjTaTN1N2HLtmZaih5mmoXXKzmqcUaMxT7aXRoiLxbc5LBERHYalr2Zr8pF5h09R5PmZGTF87bq7o4IpP/AA7us/rebptPF/7r5ujZHBFJ/OitDr1ezRmjLsVSToVDk1SI09GK6uU+0t5CVJWoyNKCMjPQnhDL8nze6uzczZS2ZiOHZHCnK/rWbGnvzs6aYbZmI+EV2uhYjWOS8yYjWAYjWAYjWAxJ79sGaVu6w4X7phA5kLpAE4xOvjFUGJ18YBidfGAYnXxgI9mGhU/MrDbM5x5lce8cV9lX6il2WmaD0KL7O5o85CJio4dXsnVahX3loKbT0n9moMEZpIj3NondQfn0bxmMcxQber/TuqwoVOn05wqs1Np0Oe9HbSaX2sXGbkGkkWnfJN+y1OnUQUHTfpw4bWQmEnoP4gqVpHo/+LTxa0S7E6+MXDE6+MAxOvjAMTr4wDE6+MAxOvjAMTrADk6wDE6+MBEW8r0+C1do5Eye6tl1VprPymTp+U95XCO95X5pl6e2LL7aRxx+b2Hkf9gytNbGVm2REdKPzj845l+nUZc86q285g3aZEKSaHEGdpm+0yST8pF/FttsMd3V+Y5eTl25kfqtmabPhM/k9V5h5zlabJtzo/XbddEbJ5Jmv+tzOy3Gfh5sywT7dy2qwzbWWlKrH0fqqLQYrnavK1GlzJsmv6bvjulTUeYZGs0OddlXV/Rds4Y/TO+G5xOvjHhnygxOvjAMTr4wDE6+MBYlSL0aQVu60suIwShwsADc4jWIDEawDEawDEawDEawFSkmW4rdIyPWR7pGAuvT3JC0uOGkjQ2202lCUtpShpCW20pSgiSRJSkiIiIKAuoOrZRHNSSabcceIkpSkzcdJCVrUoiI1GZNpK1RnoIgoUWcRrAMRrAMRrAMRrAMRrAMRrAMRrAMRrAMRrAMRrAZLdTkNMvsIcIm5KCaeIySZmglpcJJKMjMivJI7CPyCazSnAtiuphrs304KkWpyITzUiO4SHWFpdaMySsiWg7UquqIytI9JHZoCJmNxbddbumldnyY2I1iFTEawDEawDEawHhx+1twrd1JlxANSJAB6vK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvK5R8IBeVyj4QC8rlHwgF5XKPhALyuUfCAXlco+EAvHvmA8gADwx/gKR/wDy6f8A/UaERuHsSAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLg/4yN/3CAaSkf6TS/wDKMfy0iI3DYCRaaTNwdLS3AU6TdOgoUrEQ2zJSIzaVpNDr6FkaVEZGRpLSIgerlQ7MV+bp/WgC5UOzFfm6f1oAuVDsxX5un9aALlQ7MV+bp/WgC5UOzFfm6f1oAuVDsxX5un9aALlQ7MV+bp/WgC5UOzFfm6f1oAuVDsxX5un9aALlQ7MV+bp/WgC5UOzFfm6f1oAuVDsxX5un9aALlQ7MV+bp/WgC5UOzFfm6f1oAuVDsxX5un9aALlQ7MV+bp/WgC5UOzFfm6f1oAuVDsxX5un9aALlQ7MV+bp/WgC5UOzFfm6f1oAuVDsxX5un9aALlQ7MV+bp/WgC5UOzFfm6f1oBlQsYiXHU9ANlpKyNx1UqCokl5TMkSVKP9BGYDVUtC26ZTm3EmhxEVlK0KKwyMkERkZHuGQRuGcJHYfDjK3z273UfWhg76eJTFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyHhxlb57d7qPrQd9PEYuQ8OMrfPbvdR9aDvp4jFyPkvxBzh2yrmWejEYYTQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFDxBzh2yrmWejDDBQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFDxBzh2yrmWejDDBQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFDxBzh2yrmWejDDBQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFDxBzh2yrmWejDDBQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFDxBzh2yrmWejDDBQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFDxBzh2yrmWejDDBQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFDxBzh2yrmWejDDBQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFDxBzh2yrmWejDDBQ8Qc4dsq5lnowwwUPEHOHbKuZZ6MMMFEy+FKB7B6130xmwwsfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDAfClA9g9a76YYYD4UoHsHrXfTDDA+0vHln5ge5p3ox7X7DkfVPTZ6J48s/MD3NO9GH2HIemz0Tx5Z+YHuad6MPsOQ9Nnonjyz8wPc070YfYch6bPRPHln5ge5p3ow+w5D02eiePLPzA9zTvRh9hyHps9E8eWfmB7mnejD7DkPTZ6J48s/MD3NO9GH2HIemz0Tx5Z+YHuad6MPsOQ9Nnonjyz8wPc070YfYch6bPRPHln5ge5p3ow+w5D02eiePLPzA9zTvRh9hyHps9E8eWfmB7mnejD7DkPTZ6J48s/MD3NO9GH2HIemz0Tx5Z+YHuad6MPsOQ9Nnonjyz8wPc070YfYch6bPRPHln5ge5p3ow+w5D02eiePLPzA9zTvRh9hyHps9E8eWfmB7mnejD7DkPTZ6J48s/MD3NO9GH2HIemz0Tx5Z+YHuad6MPsOQ9Nnonjyz8wPc070YfYch6bPRPHln5ge5p3ow+w5D02eiePLPzA9zTvRh9hyHps9E8eWfmB7mnejD7DkPTZ6J48s/MD3NO9GH2HIemz0Tx5Z+YHuad6MPsOQ9NnovknZnvkMXr+R0buaPq0vd+k6N/Nb/I2Z75B6/kdG7mj6nu/SdG/mt/kbM98g9fyOjdzR9T3fpOjfzW/wAjZnvkHr+R0buaPqe79J0b+a3+Rsz3yD1/I6N3NH1Pd+k6N/Nb/I2Z75B6/kdG7mj6nu/SdG/mt/kbM98g9fyOjdzR9T3fpOjfzW/yNme+Qev5HRu5o+p7v0nRv5rf5GzPfIPX8jo3c0fU936To381v8jZnvkHr+R0buaPqe79J0b+a3+Rsz3yD1/I6N3NH1Pd+k6N/Nb/ACNme+Qev5HRu5o+p7v0nRv5rf5GzPfIPX8jo3c0fU936To381v8jZnvkHr+R0buaPqe79J0b+a3+Rsz3yD1/I6N3NH1Pd+k6N/Nb/I2Z75B6/kdG7mj6nu/SdG/mt/kbM98g9fyOjdzR9T3fpOjfzW/yNme+Qev5HRu5o+p7v0nRv5rf5GzPfIPX8jo3c0fU936To381v8AI2Z75B6/kdG7mj6nu/SdG/mt/kbM98g9fyOjdzR9T3fpOjfzW/yNme+Qev5HRu5o+p7v0nRv5rf5GzPfIPX8jo3c0fU936To381v8jZnvkHr+R0buaPqe79J0b+a3+Rsz3yD1/I6N3NH1Pd+k6N/Nb/I2Z75B6/kdG7mj6nu/SdG/mt/kbM98g9fyOjdzR9T3fpOjfzW/wAm+pWVM21imwKrEh0wotRYbkME5PWlZJcSSiJRYc7DK3SPGzmRD5vVn/AWdfY6T3gvqwd5Big+As6+x0nvBfVg7yDFB8BZ19jpPeC+rB3kGKD4Czr7HSe8F9WDvIMUHwFnX2Ok94L6sHeQYoPgLOvsdJ7wX1YO8gxQfAWdfY6T3gvqwd5Big+As6+x0nvBfVg7yDFB8BZ19jpPeC+rB3kGKD4Czr7HSe8F9WDvIMUHwFnX2Ok94L6sHeQYoPgLOvsdJ7wX1YO8gxQfAWdfY6T3gvqwd5Big+As6+x0nvBfVg7yDFB8BZ19jpPeC+rB3kGKD4Czr7HSe8F9WDvIMUHwFnX2Ok94L6sHeQYoPgLOvsdJ7wX1YO8gxQfAWdfY6T3gvqwd5Big+As6+x0nvBfVg7yDFB8BZ19jpPeC+rB3kGKD4Czr7HSe8F9WDvIMUHwFnX2Ok94L6sHeQYoeHcjZzZadeciUkm2Umtw/eCzsSkrT0FGtMIzIkxQiUORiokWVc2eJZQ7cttu30kqy2wrbLReEsgSLaGVkzEaKuV+IUWLHjbGFUTjsfwGkNXkNbJV29dvGVp6TMUmyJKK7Fz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSDYufMuau9z6AO7tKQbFz5lzV3ufQB3dpSF1glsPNPHXsySSaUSjjyKqa2l2HbdcRsSvJPylbpCLIgpDFhx8LEixb+0wzKGr9ll64kk22WnZbYLQMgSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOt+NGb/uKdzT3TDs+qZfhz1uy9V7iy/Bnr9g8aM3/AHFO5p7pg9Uy/Dnrdk9xZfgz1+weNGb/ALinc090weqZfhz1uye4svwZ6/YPGjN/3FO5p7pg9Uy/Dnrdk9xZfgz1+weNGb/uKdzT3TB6pl+HPW7J7iy/Bnr9g8aM3/cU7mnumD1TL8Oet2T3Fl+DPX7B40Zv+4p3NPdMHqmX4c9bsnuLL8Gev2Dxozf9xTuae6YPVMvw563ZPcWX4M9fsHjRm/7inc090weqZfhz1uye4svwZ6/YPGjN/wBxTuae6YPVMvw563ZPcWX4M9fsHjRm/wC4p3NPdMHqmX4c9bsnuLL8Gev2Dxozf9xTuae6YPVMvw563ZPcWX4M9fsHjRm/7inc090weqZfhz1uye4svwZ6/YPGjN/3FO5p7pg9Uy/Dnrdk9xZfgz1+weNGb/uKdzT3TB6pl+HPW7J7iy/Bnr9g8aM3/cU7mnumD1TL8Oet2T3Fl+DPX7B40Zv+4p3NPdMHqmX4c9bsnuLL8Gev2Dxozf8AcU7mnumD1TL8Oet2T3Fl+DPX7B40Zv8AuKdzT3TB6pl+HPW7J7iy/Bnr9g8aM3/cU7mnumD1TL8Oet2T3Fl+DPX7B40Zv+4p3NPdMHqmX4c9bsnuLL8Gev2Dxozf9xTuae6YPVMvw563ZPcWX4M9fsHjRm/7inc090weqZfhz1uye4svwZ6/YPGjN/3FO5p7pg9Uy/Dnrdk9xZfgz1+weNGb/uKdzT3TB6pl+HPW7J7iy/Bnr9g8aM3/AHFO5p7pg9Uy/Dnrdk9xZfgz1+wr405v+4pu7b/0nunD1TL8Oet2T3Fl+DPX7Ce5a/29VFqrR3s11CE/R2f4jsSA68br6iMrralLabuIPTeNJ3vIVhneTyIteWo+ZhVAA+rMif7Vsy5jayvXqzXqZEyrXIsaoyEwnHl1Ao0hknkIQhyOTRLMlEkzNRknSdi7Lp9nT+T35mG66Ywzt2b6c1HpdH/W83Oiy++6IsuiJ2VxUmK8VK/hyvn7PdNhUbPGcqPTWcNTqTXajDp8e8pezYYkuNtovLNSjsSkitMzPfHM1NkWZt1sbomY/wBuJrcu3Lz8yy3ZEXTEfCJRQYWqAJ7kj6d1rPvvP3PKgxvdOxxGMW4i9t9pdubNty2zZnbbYJiKpT3M30ij0RnKNDZqBOZorbNQcW8duwkymSjG1EbNRoJtNil3VqK1Sv1rCMrihRxmtQI9Lqk2nRppVFuEvYrmJQbaVuJIicuEZmZpJdpJP9oitsK2woEt+m/03rn1QrkqgUCVBhzIcFdQddqC3W2jabdaaMiNpp071rpeSyy3SNnS6W7U3TbbMVpXa3dBoMzW5k2WTETEV2/KOCJ43cs0f7doGSMm5ePMtfZZzVmXMzNMXV45OvQIbTkWYphpKVbJSiddQ3tXFJtQX6qTuq2nQzvK4ycu3Hd+qbqV4I2T+M0rPB+PY1HkVumybe8u/XdfEV/8Y2XUjg3zSs8HBGzb875yyurJ1YKgSZyZdXhx2jrzDaSJESYu1S4qXCUondmk03llYV68krSTeVzM/J7q7DM7eHkni5XD1Wn+3vwTNbojbyTxctOPjRQYWqAAAAAAAAAAAAAAAAAO4Za+uub4FXjvZjl+/KOr+HMiJYjsupSoy/iNKaQ3atNmglHdMrS0GZKTMXJq4eIQAO9ZP/3G/UvKjmX4jtUarGWqE0zELLr0aM0lyIy2TSWikNsk8lSUEV1ZqP7REaiWVqT6OR5pnZWGK1tjgpG740q7Wl8+1WRhitbLaRhpG6NlK0r8+erlOcqxGzDm/NVfhIdah1ysTqhEafJKXUtSZC3UEskqURKIlFbYZlb5Rp598ZmZddG6ZmeeXN1WbGbnX3xuuumeeao2MTXAEpy1nTMuUMb8O1L3d7x2eM/gsvX9jeuf9ZC7LL6twIlKY5j+rFXzBTcvqWgo2YaXHnwp1VbQkicallHInmbNLTqktqSu6VlhmabL11M1HNapU5VYnyKlNuHLlmlUlbaCQS1kkkqWaU2FeUZXlH5TMzEDd5PzvmjIVTfrGU6n7pqMmKqG9I2LD95ha0OKRdfbcSVqm0naRW6BmyNRfkXYrJpO7/KtnS6zN0t2PKmkzFN0Ts+deJ16r/7ic0ZgyfSKbWUNSs35eryKpSsx7Bkm1tYWWza6wlKUJeYW+lTSkJsOwjMiUi1zdv8ANL78uIu/dE1iflP+4rs/yvTzfPc3Nybbb9t9t1YupHFMbuOK7PrG3iNczBU8xvw5dXeTKmQ4bULGmkieebYtJtT691xaUmSLytN1KSPcGhmZt2ZMTdvpRyM7PuzpibtsxFK8dOPj4mkGNhAAAAAAAAAAAAAAAAAGwpdKqFbqEWl0qI5OqE1ZNxozZaVHumZmdhERFpMzMiItJmRAldm0Wp0+JCnyoppg1BBLiTEKQ60q1JKumts1ElZEZWoOxReUiAaoEMiJElT5UeFBjOzJstxLMSIwhTjrrizJKEIQkjNSlGdhERWmJttm6aRvWttm6YiIrMpJWMkZpoMWTNqdKNqJBmv06e+y6zITHlR3lsLafNhbmzO+2ok37L5FeTamwxlv0+ZZFZjZE0+bYzdHm5UTN0bImYndNJiaUmm7dw7+BExhaoAAAAAAAAAAAAAAAAAAAAAAAAAAAD70yhmX6UTqvg8nlS41YfYWRFGp5wnXGkmSloStTLV/cJRpIzOwr1liTMrxMLPnisOR2Pp+0qWV051OiMwCctvOPIOGpq4paEGvYpRJM1ERpQl1LV49wq8CHEhCH6PfR/On0FTEyBSqeVCh/UL3ZChuS/dKo0k6gcRLb6McuMhJuOKvIt2n8QzuleNREfqdDn6SllsUx0iN1JrTbtp+e173yvV6CmXbbhjNpEftpOKm39VN8/Hb83M81PQ4kH6iTqmm7TyqmaoZrevGlxb0urIQw2tbaUqNyW5EdS02pezNhbyrl77WpnTERfM7q3fjds58M020wzLn6mYttzZu3VzI55v2fO6bJpFaYZu2VfFo4LyQAAAAAAAAAAAAAAAAAAAAAAAAAAAC8w+/FfZkxnlx5MdaXY8hpRoW2tB3kqSpNhkZGVpGQJUceeeuG86t3ZoS23fUarqElYlJW7hEW4QC0CABnTanUqm4b1SqEmoOqcddU7JdW6o3Hlm46szWZnatajUo/KZ2npFrr7rt81XvzLr5rdMz8eXewRVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPvgdPavqPxBXEip8Dp7V9R+IGIqfA6e1fUfiBiKnwOntX1H4gYip8Dp7V9R+IGIqfA6e1fUfiBiKnwOntX1H4gYip8Dp7V9R+IGIqfA6e1fUfiBiKnwOntX1H4gYip8Dp7V9R+IGIqfA6e1fUfiBiKnwOntX1H4gYip8Dp7V9R+IGIqr8Dp7V9R+IGIqfA6e1fUfiBiKqfA6e1fUfiBiKnwOntX1H4gYip8Dp7V9R+IGIqfA6e1fUfiBiKnwOntX1H4gYip8Dp7V9R+IGIqfA6e1fUfiBiKnwOntX1H4gYiqxLycUWLJk+8tph2lu3NjZeuJNVlt87LbAxFUIFkgDs+JGNBiQDEgGJAMSAx5VUiQWFyZspqHGb/6kh9aW0Jt31KMiIJmI3onYtwa1T6m0cimz49QYI7pvRnUOot3ryDMhETE7iJqzMSJSYkAxIBiQDEgGJAMSAqUnSWkAOTp3QQpiQSYkBq3cy0RmYVOerEJqoKMiTBXIbS8ZnuETZqvafMIxW1pVWsNpiRKxiQDEgGJAMSAwqlIvU6eW/GdL9wxMDkoukAdIxOsUQYnWAYnWAYnWAYnWA+bPqXUJdRzTJiSVqODSkMogxjP+HecbS4t27uGozXdt1DBMYrprwKUrKv01kS2s6UGFFUokVeW1BlNpM7DQ+q5eURbuztv/oF130lidYyBidYBidYBidYBidYBidYBidYCuJ1gBydO6ApidYCO5sqU2Nl+eunuqZmPGzGZfTut4h5DJuFrQSzV+gWty5zLosjZWYjnmjLkZPfZluXuxXRHPNECh02FAYOPHYSlKrTeWr7S3FHuqcUelRn5TMfQtPpMrT2YLLYiPx+PG+xaXQ5Oly+7y7YiPx+PG6tSVLTQKdKWZlffkRkWnupYJtRKLV/Fu/oHj/ONPZk6ilkUiYiacW983/smkytNq5ty4pExE0jdEzX6V+bJxOsctwDE6wDE6wDE6wGNMkXoctNu6y4X7piRABZIAlGJFQxIBiQDEgGJARmuZao+YXEPTFOxJSUkgpzBJUokkZmRKQoyJZFaei0j1is21Q2eWKBlrJy11CnOS6zXlNraj1OY0iO3FS4k0LUywhx21ZpMyvKXo8hWhFg2eJFkmJAMSAYkAxIBiQDEgGJADkgGJAWnltSGnGHkE406k0uIPykYmKwm26bZrG+CNTaAtRLmyp7KSP7UZhppy95nVuIu/wDkUO/b/YMyLKTbE3cdfy/5evy/7jnRl0uy4m7jrSOrT84bWfVWZBRY0OKUGnQGzagxCVeNJGZqUpajsvKUZ2mY4mdm351833zWZeW1WpzNTmTmZk1ulr8SMTAYkAxIBiQFp9+1l4t9Ci4hIjgkAGViPOIDEecAxHnAMR5wDEecAxHnAMR5wDEecAxHnAMR5wDEecAxHnAMR5wDEecBXEecAxHnAUxHnAMR5wDEecAxHnAMR5wDEecAxHnAMR5wFFP2pMtOkrAGMJABdaYefNRMMreNCTWskJNRkktBmdm4WkBb3NB7pALi2HmkNuOMrbbdt2S1JMiVdstume7ZaQJWgQyCiylR1S0xnVRUr2apJIUbZKIiO6arLLbDLQJpNKrYZpWmxZSlS1EhCTWpR2JSkrTM9RCERFVx9h+M6pmSy5HeQRGpp1JoURKIlFaR2HpIyMhMxMb0zbNs0lr333GnGm22idN0lHpVdsu2aj3xSZVmVVqntEhTkDZk4RKbNSzIlEe4ZWo0kFZRUaVPfUSGYG2We4hCzUfASArJVdYOQ6hx1bSG221JSZku8ZqWSjLRdLkn5RMSmqyl2U9KVFixMQ5fQ22lKjvLUsiMiSkkmZmZnYQiszNIgiszSFXlVCO4pp+BsHUaFtOLNKi85GgjEzWN8ExMTSYe0pqa2HZKKapcZizbSEqUaEWmSSvKJFhWmZFpD9VK0TEXTFabF5KXtm048hLZvJNSEpVe+ySjTp0F5UmESiASAAAAAAAAAAAAAAAnv04rFYomZUS6JSjrcxcWQ0qlkdm1QaLxkeg9BGklWFvBCUtlGVRzHAzDVpTdHzOprbN5IQSELW61Zsm2lKSaGkvWmd177fJvXisVQ0P1MzDmTMD2WlZhy8nLWEhvKiwkEaEubVwiW4SFFeSX8MisM/IE1neOZgPov6O51zvl3LGZKZlnI5ZygS6hFXLUsr6Ii3Um2o7pJVYpaUlYo/spMrTIyHU0Oozcuy6LLMUVj5O95Vq8/Kyr7cvLxxMx8v8AP9NllN08lVyuV3I0pn6n5jckIblZXuIWcZt66tx1+4kikKbcUaCXFM20nYtR2HcK2TPc3Tdl/ru4uL48f/12fgy6aft8y6/JnvLq/t4vjx0nZ+nZwzxONfUurViufUDNlVr9OOj1WVNuyqQpRLOLsW0MoZNRERHdQgitsGjq77r866bopNd3E5PmObfm6i+6+KTXdxcFHOpH+Ki/1Hf+Uas72jLsjVZrlRytS6HUKUVOy9g1Iczad28222uxJkayu3Ssumi28r9k7RM1HvL1aq+XqWqNlant5phvxX3pFcSm6mO6TZ2pbJSSWgkfrGTpWq8hEQVngHJoSbtNeSZ3rrrBXt/7LoiCCiy5VPr8efBtxsKdGkQ7N3at3FIs/tEQtl3TbfWN8TDJlXTbfF0b4mH1T9TarVM/mrxHgMfR5mlTm00t55o3kz9oaEukttts33XG0makuILZfsru2ksdnV33Z/8A2x3dJ2cv5/PdxvR+YZl2q/747qk7OX85mOONnBNN7XfUTOOdF/TKo5QPJuCycxMp0aLnc1NqVOYaPbNKW4ynZO7ZTaVJU2diSK6dp6RTVZ+Z3E2Yf01j9XH+U15FNdqs77Wcru6WViMXHG+N2ya8j5ud/wAPA/7Cv5zg5EPOQxxIAAAAAAAAAAAAAACRZazRVsoz3apRTYTOXHXHQ6+3tCQlw0maklaX2vs2aQFmVmOsz658STZDT9YvocxGwbJJqR+qZoJN07NZCBm5oznmDOSqYuvvsSXKUh5Ed9tom1qJ40GZLsOw7Lmiwi3TDaIsJHScpfVnOmRaFUKBleTDgRapJOTOlORkvPrM20t3LXDNF0iTuXfKY2snW5mTbNtlIryOjpfM87TZc2ZdIiZrOza0mUs85lyRVn65lyUxDqkklJdfVHacK6tV5SUpUmxJH/Rs0aBjydRfk3YrN7Dptbm6e+b8uYiZ5GvzRmSqZwzDVMz1rYFU6uppcvDNm00ammkM3iQalWGokEZ6d20Vzs27Nvm+7fLHqdRdqMycy+lZ4vhRGzjm9JYUbiGUNocvOLvWWndsKxJKPybwwzvYJTKdmevT6LHy4urU9qix2W2ExER1maib3FKUptR3jPTaVgTWUbXqhZoruW464lJq0BER4zVIjPR3FpcMysO8ZNko9GsTWTajDTLcWCqOUpuQtTjRlcJZaEJWRmd5KeUQiIIe6I69TKwxWWnIxPU+axLisSkuLbcUxcWRLS2R2pNSbDK0jFrLpsuxRwTVfLvnLvi6OCYnmTnPf1Czd9SXojubK3TpRQFLVCaYiqZJq/8ArJJRNGsy1Goxn1GrzdRMY+Bua3zHO1dO8mNm7Yzan9Uc51jJbmQJ9Zpb+WzTGRHYKIptxgorqHUbJbbaSIzNFh2kdpGflO0Wv1ubfl91P7dnBxLZnmmffkdxdTDs4N1HOH7hIitIdS9sWjStaSURWm4tWi8ST3FF5Bqw58MYSAAAAAAAAAAAAAAA3VGoFRrq5BQkNtx4SCcqFQkuIYjR2zOwlOvOGSUkfkK20/IRglNq/krLdIyZSMwtZzgyKrM2xHTmzW4iWbb7jdsX+GlwiSSbpmtF01Ef2iKy1NEITUKBUabCg1J1DT9NqJFhqhGdQ81tLpKNlakGdxxJbqFWHqsAaUBNqNkSpVSlpr8+o03K2XXFraj1ytSNg0+42di0R2kJcefNPl2baiLymQ2MvT3XW4pmLbeOfy4Z+TcydFfmW45mLbeO6aV+G+Z+UJv9V/pplbJecImXMtZ6gVVU9/ZPwJjhIdphqOwsZJQnYEkvKZmlReVFn2hn1mksycyLLL4mvHwfGdzc8y8uytPnRZl5kTWd0/8Aj/7Tu/D4OWV/L1YyxUVUutw1Q5ZNoeb+0lxt1lwrUOsutmpDjavIpBmR7408zKuy5pdG1zc/IvybsN8Un/NsTwwisttt2RFS4glldd0H/ZGKYrLBLoWXfp3Cl1aDBzHMh0XGNPOpp6nUlOupYW4lw2iSom0ldvHtDTakjs8gYYKQjysqQpVZnUig1CBXMMRnGkNqJkpJkZFs2tqZEtepKlW/smYikSbGvYhNRmZlsYmJLL7bThKTdWg7HLyDI9JaU6S1CYjaQtUqgzMxVv3VS6auqVSc8hqJEaTeWtWzIzsLeIiMzM9BFpPQJsy5zLqRFZlfLyrs2/DbFZngd6y19DcnzMuZ0n5p+omX6JVMtlDNKoklM2PFW8Ui8xLU2kkLWs2iJBMOrURkq1J6CHSyvL8ubLpvvtiYpw1pv2T/AMTLtafyjKuy75zM222babprEb9k/GmzDMuPxcizajQ6lmGksxKvTqO44VTTEdSqSyyiyyUuKu4+TCrf+oaLC03ro0Y083WzdbSYjfx/Gm+nK5dukvusm+2kxG+m+I46b6ctPi1mxZZjwiZbS2TjSlLulZararK0/wBBEQxxDXh4EgAAAAAAAAAAAAAAJbR5tIlUSdlitzHaVGlTGahEqqEKebQ+yhbdyQ0j7akKS4dikkZpP9k7QA8oxzUS0Zty2toiMkPnOufZIz/9NaEuF5rtuoRsHqozaNSqFLy5R6mdel1WVGk1aptIcahMlFJy42wTqULcUZuHeWaUkRaCtttARASOpuuZZzzRstx5+ZGcqZjytTvdLDNTQ+umzI6XnX0ONvsNumw7a6ZKStF1VhKvkZmQ3JmzOttibsN1sU27p+kunM5Wpy7Ym/DdbFNtcMxWZ3xWk7dtdnKwE/T+CytTtR+oeUIMU1GciU3UFTXN8zSzEaedUZ/1f0iv20RvvtiPjX8FPsYjbdm2RHxr/qImWBnKvUmpJy5QsvLlSqFlCC7BiVaanZPTHH5C5DrpM2q2Td5djaDMzs0npMyKmfmW3Ybba0tilZ4dtflyKavOsviyyys22RSs8NZrOzgjihA9sqPUadISklKYNTiUq3DNJoMiPgGtO9oyllRg0Wuzp1Xg1+LDkVV5yTNplWUtl1px0zUtKXzSbTiCMzsO8R2bqQ2DGbotDg3XatmaAUduxRQ6WpUyS7Z+y2SEk2kzs3VrKwNgx51ScrMiuVdxnDe8Z7byY5qvmhJpdsI1aLTs3T8phG8hnZEzDDy5mGpvVNqQ5SqtBlUiqOQ1EmU1Hnxtgt1g1WEa0Eq8RGZEr9UzK20Z9Nmxl3zXdMTE037Y4G3o8+3JzJm6tJiYmm+kxSsN059P6K/9qhfUbK8+nGZKaOfJcpUhO7YTseW2ixRabbill/SGSdNbP7b7Zjlmn+pZZ0Nk/szbJjlnDPzifyq29JVln6cOSq2vNcPNWaMFMhUmgULbOxUKmMORlOzZq222zQhLhncavms7CM0lpF7MGn/Vii66kxERu2xTbP0qy5Xd6Ot83xdfSYiLa02xT9V2yKckVq5kojTFpxGdplHMjP8A95waUOXCyJAAAAAAAAAAAAAAAAFLqT3SIwGTJiyYMh2JMjuRJUdVx+M8g0OIVvKSoiMjAY4AAyoVOmVKSmJToT0+WtLi0Ro7anXDS0hTjhklBGZklCTUe8RGYm22bppEVleyy6+aWxWeRiiFGM7IXHkMG1HbfdUhwkm5dMkl9m3QpKi0isolcOpTT3YEQ/7DPRCBeRIqi2HpTdJjqjxlITIkJaaNCDctuEpRM2FeunZbugPSJMyQw6brDLLCFovE2SCM1mSrv6qE7hEflEwQwkTXmHpLbERlz7aTcccJCjMzQnloVZo1iOEXTqM092BEP+wz0QDLeXW4saFLkURuPEqSFrp0lxhtLb6W1m2tTSjZIlklaTSdm4egWm26IiZjZK02XRETMbJ3crytyS83HckobbvoPYobsIiQS1FuJSki+0R+QIRC2JAAAAAAAAAAAAAAAbOm1WVS1uKjMQpJPWJdamw48tJkVuhO2Qs0W27qDSesB0SvQ2MvUqJWqVl6M3VKkaCrcaYlE1mirWhKmmijvXyI5BGbidsSrpfYK0yMwka36mZrzLmWvrRmGjs0A6daiLTNgRSEoPcN19SSWu3yWWI8pF5QmsyOdAOg5Kqk2ZNpmVVZWpuaqfUH9kum4KO1PUTirVrbqTTaZKDQRmZGtw202faTdKwbORfMzFmGLongpFetv/Jv6TMm66MrBF0TO6kYut+7nmnydcplTn/TD6g0SD9OcoRc3Qm4MqXRK4pluTMr16E9tXmJKUOGy2wq8RtR7qz2akLUZqMbtl86bOiMq3FFJpO+btk8PBTijipLqZd86LUW25FkXxSZid837J2xO2kRxW7dlJ3uBZpzDWM1V+p12vMxI1UnOqVKjQoqIjTaiOw07NJEZmW4almaz/aUZjm52bdm3zddSs8UUcTU59+fmTffERM8UU/z57USkf4qL/Ud/wCUYZ3taXQcvJYzK67ErsWLFp8ZCVKr0VliCqOd4koQ4ptKGlk6Z3CvleIzvW2JMhIzoGbM00WnZri07KkOA2S2I0xtUUllAQW2KyRam+8pRbinVGkjI/s/asEVmhtQKOajhS1LMlLVIZNRkkklaaXT0JSRERaiIIIY1NnP02qOzoyI6347iVNolxmJbJmbZF9tiShxpZadxSTFrLpturH1/Fey+bLqxT5xExzTWHfqNTIOYcqzM7zslQ3c1UxL50GhREJhwq+lq5iJJwGjRaUBKjW4mOSUuFoMiuLt6NlkZmXOZNsYo3Rui7jmn/x4ab/lLtZWXbnZU505cY4rSI2Rfxzhjob5w0iflLAzV9T89VH6XZVyrKyrTaTleZinWq83TWENy1lLfM0w0oaSxH2dpoUaE7QzK+a/tHbXO1ebdkW2TbEW7dtI27Z3cEfipqfMc+/S2Zc2RFk120jbtn9uykU5NvDXa447/h4H/YV/OcHPhxoY4kAAAAAAAAAAAAAABs6dWatSDdVSqg7TnHrt95mxLn2bbppXZeSZWnpSZALcGqVSmSnpsCpSY0yTeKVJS4q88SztUTtpnfIz0mSrbRFBIs557zBnqeiVWHGWYsYzKn06O2SUNJPdtWdq1GfltOzeIhO2RDgG+bzTmRijroEWtyodGeQpuRAjL2KXULUa1IdUgiUtJmdt1RmQyRnXxbhiZozxqc22zBF0xbxQkf0/+pmZ/pxUY82iSjkQ4u3cTQZS1qgrfeYWyl1TSVFYpN4jtSaTOywzsGXTau/T3Vt3cXBubGh8wzdJdE2TWIrsndWlKozmLMlczdWZuYMxTSnVaeolSHkNNspsLQlKUNpSRERaN/fMzGLNzbs26brprMtfUai/UXzffNZlHjjm9JYUbiGUNocvOLvWWndsKxJKPybwwzvYJbie/PqiGmahXylRmFX2YijeSylVll4m0tEm2zy2WghI6XnLMlEpk+mwK7HWc1LLTUqUl59UZpolkaWSW2Zab1liiMis0EFZ4DaihJSzFeQqWiU88824ZpJZH9knLxneQkt1RbgQQpR3ptMqK6pCnt0+W0u2K6tJrMrWiQo7uzcTuGZaRay6bLqwvl33Zd2K3e2cyq1yo1Vmu1DNkiXWo1zCVRx+Tt2Ca0tkyskEbZI/ZJNlnkFrs2+67FMzXjXvz8y+/HN0zdHDXbHw4nQa99Xs85gyXTshzK7C90xydVVZqmXHJk9bj63iN51bR3STeIvsESjstUo7Rs5mvzb8qMud3Dxztb2d5vn5uRGTM7OGeG7bXb/w5W/cJEVpDqXti0aVrSSiK03Fq/aJJ7ii8g04cyGMJAAAAAAAAAAAAAAAf//Z]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/image/jplayer.pink.flag.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/image/jplayer.pink.flag.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/jplayer.pink.flag.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogU2tpbiBmb3IgalBsYXllciBQbHVnaW4gKGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkpCiAqIGh0dHA6Ly93d3cuanBsYXllci5vcmcKICoKICogU2tpbiBOYW1lOiBQaW5rIEZsYWcKICoKICogQ29weXJpZ2h0IChjKSAyMDEyIEhhcHB5d29ybSBMdGQKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAtIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbAogKgogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkKICogU2tpbiBWZXJzaW9uOiAxLjIgKGpQbGF5ZXIgMi4yLjApCiAqIERhdGU6IDIybmQgT2N0b2JlciAyMDEyCiAqLwoKZGl2LmpwLWF1ZGlvLApkaXYuanAtYXVkaW8tc3RyZWFtLApkaXYuanAtdmlkZW8gewoKCS8qIEVkaXQgdGhlIGZvbnQtc2l6ZSB0byBjb3VudGVyYWN0IGluaGVyaXRlZCBmb250IHNpemluZy4KCSAqIEVnLiAxLjI1ZW0gPSAxIC8gMC44ZW0KCSAqLwoKCWZvbnQtc2l6ZToxLjI1ZW07IC8qIDEuMjVlbSBmb3IgdGVzdGluZyBpbiBzaXRlIHBhZ2VzICovIC8qIE5vIHBhcmVudCBDU1MgdGhhdCBjYW4gZWZmZWN0IHRoZSBzaXplIGluIHRoZSBkZW1vcyBaSVAgKi8KCglmb250LWZhbWlseTpWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsKCWxpbmUtaGVpZ2h0OjEuNjsKCWNvbG9yOiAjZmZmOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTU0NDYxOwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwYTFmOwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgIzE4MGExZjsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsKfQpkaXYuanAtYXVkaW8gewoJd2lkdGg6MjAxcHg7CglwYWRkaW5nOjIwcHg7Cn0KCmRpdi5qcC1hdWRpby1zdHJlYW0gewoJd2lkdGg6MTAxcHg7CglwYWRkaW5nOjIwcHggMjBweCAxMHB4IDIwcHg7Cn0KCmRpdi5qcC12aWRlby0yNzBwIHsKCXdpZHRoOjQ4MHB4Owp9CmRpdi5qcC12aWRlby0zNjBwIHsKCXdpZHRoOjY0MHB4Owp9CmRpdi5qcC12aWRlby1mdWxsIHsKCS8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwoJd2lkdGg6NDgwcHg7CgloZWlnaHQ6MjcwcHg7CgkvKiBSdWxlcyBmb3IgSUU3IChmdWxsLXNjcmVlbikgLSBPdGhlcndpc2UgdGhlIHJlbGF0aXZlIGNvbnRhaW5lciBjYXVzZXMgb3RoZXIgcGFnZSBpdGVtcyB0aGF0IGFyZSBub3QgcG9zaXRpb246c3RhdGljIChkZWZhdWx0KSB0byBhcHBlYXIgb3ZlciB0aGUgdmlkZW8vZ3VpLiAqLwoJcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnJlbGF0aXZlOwp9CgovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLwpkaXYuanAtdmlkZW8tZnVsbCBkaXYgZGl2IHsKCXotaW5kZXg6MTAwMDsKfQoKZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWpwbGF5ZXIgewoJdG9wOiAwOwoJbGVmdDogMDsKCXBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwoJb3ZlcmZsb3c6IGhpZGRlbjsKfQoKZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWd1aSB7Cglwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgcG9zaXRpb246IHN0YXRpYzsgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCgl0b3A6IDA7CglsZWZ0OiAwOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJei1pbmRleDoxMDAxOyAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovCn0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWludGVyZmFjZSB7Cglwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KCWJvdHRvbTogMDsKCWxlZnQ6IDA7Cn0KCmRpdi5qcC1pbnRlcmZhY2UgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsgLyogUmVxdWlyZWQgZm9yIHRoZSBmdWxsIHNjcmVlbiAqLwp9CgoKZGl2LmpwLWF1ZGlvIC5qcC1pbnRlcmZhY2UgewoJaGVpZ2h0OiA4MHB4OwoJcGFkZGluZy10b3A6MzBweDsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIHsKCWhlaWdodDogNTBweDsKCXBhZGRpbmctdG9wOjMwcHg7Cn0KCi8qIEBncm91cCBDT05UUk9MUyAqLwoKZGl2LmpwLWNvbnRyb2xzLWhvbGRlciB7CgljbGVhcjogYm90aDsKCXdpZHRoOjQ0MHB4OwoJbWFyZ2luOjAgYXV0byAxMHB4IGF1dG87Cglwb3NpdGlvbjogcmVsYXRpdmU7CglvdmVyZmxvdzpoaWRkZW47Cn0KCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwIDAgbm8tcmVwZWF0OwoJbGlzdC1zdHlsZS10eXBlOm5vbmU7CglwYWRkaW5nOiAxcHggMCAycHggMXB4OwoJb3ZlcmZsb3c6aGlkZGVuOwoJd2lkdGg6IDIwMXB4OwoJaGVpZ2h0OiAzNHB4Owp9CgpkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMsCmRpdi5qcC1hdWRpby1zdHJlYW0gdWwuanAtY29udHJvbHMgewoJbWFyZ2luOjAgYXV0bzsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSB1bC5qcC1jb250cm9scyB7Cgl3aWR0aDogMTAwcHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyB7CgltYXJnaW46MCAwIDAgMTE1cHg7CglmbG9hdDpsZWZ0OwoJZGlzcGxheTppbmxpbmU7IC8qIG5lZWQgdGhpcyB0byBmaXggSUU2IGRvdWJsZSBtYXJnaW4gKi8KfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBsaSB7CglkaXNwbGF5OmlubGluZTsKCWZsb2F0OiBsZWZ0Owp9CmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgYSB7CglkaXNwbGF5OmJsb2NrOwoJb3ZlcmZsb3c6aGlkZGVuOwoJdGV4dC1pbmRlbnQ6LTk5OTlweDsKCWhlaWdodDogMzRweDsKCW1hcmdpbjogMCAxcHggMnB4IDA7CglwYWRkaW5nOiAwOwp9CgoKLyogQGdyb3VwIHNpbmdsZSBwbGF5ZXIgY29udHJvbHMgKi8KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLWNvbnRyb2xzIGxpIGF7Cgl3aWR0aDogOTlweDsKfQoKZGl2LmpwLXR5cGUtc2luZ2xlICAuanAtcGxheSB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtNDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLXBsYXk6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMTAwcHggLTQwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1wYXVzZSB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMTIwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1wYXVzZTpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMDBweCAtMTIwcHggbm8tcmVwZWF0Owp9CgovKiBUaGUgcmlnaHQgYm9yZGVyIGlzIG5vcm1hbGx5IGluIHRoZSB1bCBiYWNrZ3JvdW5kIGltYWdlLiAqLwpkaXYuanAtYXVkaW8tc3RyZWFtIC5qcC1wbGF5LApkaXYuanAtYXVkaW8tc3RyZWFtIC5qcC1wYXVzZSB7Cglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMxODA5MjA7Cn0KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLXN0b3AgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTgwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1zdG9wOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEwMHB4IC04MHB4IG5vLXJlcGVhdDsKfQoKLyogQGVuZCAqLwoKLyogQGdyb3VwIHBsYXlsaXN0IHBsYXllciBjb250cm9scyAqLwoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLWNvbnRyb2xzIGxpIGF7Cgl3aWR0aDogNDlweDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXkgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMjRweCAtNDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wbGF5OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC00MHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBhdXNlIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTEyMHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBhdXNlOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xMjBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9wIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTgwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtc3RvcDpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMjRweCAtODBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91cyB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0yMDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91czpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMjRweCAtMjAwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtbmV4dCB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0xNjBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1uZXh0OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xNjBweCBuby1yZXBlYXQ7Cn0KCi8qIEBlbmQgKi8KCi8qIEBlbmQgKi8KCgoKCi8qIEBncm91cCBUT0dHTEVTICovCgp1bC5qcC10b2dnbGVzIHsKCWxpc3Qtc3R5bGUtdHlwZTpub25lOwoJcGFkZGluZzowOwoJbWFyZ2luOjAgYXV0bzsKCW92ZXJmbG93OmhpZGRlbjsKfQoKZGl2LmpwLWF1ZGlvIHVsLmpwLXRvZ2dsZXMgewoJd2lkdGg6NTVweDsKfQoKZGl2LmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSB1bC5qcC10b2dnbGVzIHsKCXdpZHRoOjI1cHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC10b2dnbGVzIHsKCXdpZHRoOjEwMHB4OwoJbWFyZ2luLXRvcDogMTBweDsKfQoKdWwuanAtdG9nZ2xlcyBsaXsKCWRpc3BsYXk6YmxvY2s7CglmbG9hdDpyaWdodDsKfQoKdWwuanAtdG9nZ2xlcyBsaSBhewoJZGlzcGxheTpibG9jazsKCXdpZHRoOjI1cHg7CgloZWlnaHQ6MThweDsKCXRleHQtaW5kZW50Oi05OTk5cHg7CglsaW5lLWhlaWdodDoxMDAlOyAvKiBuZWVkIHRoaXMgZm9yIElFNiAqLwp9CgouanAtZnVsbC1zY3JlZW4gewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwIC00MjBweCBuby1yZXBlYXQ7CgltYXJnaW4tbGVmdDogMjBweDsKfQoKLmpwLWZ1bGwtc2NyZWVuOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQyMHB4IG5vLXJlcGVhdDsKfQoKLmpwLXJlc3RvcmUtc2NyZWVuIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTYwcHggLTQyMHB4IG5vLXJlcGVhdDsKCW1hcmdpbi1sZWZ0OiAyMHB4Owp9CgouanAtcmVzdG9yZS1zY3JlZW46aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtOTBweCAtNDIwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0IHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDQwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQ0MHB4IG5vLXJlcGVhdDsKfQoKLmpwLXJlcGVhdC1vZmYgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDQwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0LW9mZjpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC05MHB4IC00NDBweCBuby1yZXBlYXQ7Cn0KCi5qcC1zaHVmZmxlIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDYwcHggbm8tcmVwZWF0OwoJbWFyZ2luLWxlZnQ6IDVweDsKfQoKLmpwLXNodWZmbGU6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMzBweCAtNDYwcHggbm8tcmVwZWF0Owp9CgouanAtc2h1ZmZsZS1vZmYgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDYwcHggbm8tcmVwZWF0OwoJbWFyZ2luLWxlZnQ6IDVweDsKfQoKLmpwLXNodWZmbGUtb2ZmOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTkwcHggLTQ2MHB4IG5vLXJlcGVhdDsKfQoKCi8qIEBlbmQgKi8KCi8qIEBncm91cCBwcm9ncmVzcyBiYXIgKi8KCi8qIFRoZSBzZWVraW5nIGNsYXNzIGlzIGFkZGVkL3JlbW92ZWQgaW5zaWRlIGpQbGF5ZXIgKi8KZGl2LmpwLXNlZWtpbmctYmcgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5zZWVraW5nLmdpZiIpOwp9CgouanAtcHJvZ3Jlc3MgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTI0MHB4IG5vLXJlcGVhdDsKCXdpZHRoOiAxOTdweDsKCWhlaWdodDogMTNweDsKCXBhZGRpbmc6IDAgMnB4IDJweCAycHg7CgltYXJnaW4tYm90dG9tOiA0cHg7CglvdmVyZmxvdzpoaWRkZW47Cn0KCmRpdi5qcC12aWRlbyAuanAtcHJvZ3Jlc3MgewoJYm9yZGVyLXRvcDoxcHggc29saWQgIzE4MGExZjsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU0NTYwOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CglwYWRkaW5nOiAwOwp9CgouanAtc2Vlay1iYXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTI2MHB4IHJlcGVhdC14OwoJd2lkdGg6MHB4OwoJaGVpZ2h0OiAxMDAlOwoJb3ZlcmZsb3c6aGlkZGVuOwoJY3Vyc29yOnBvaW50ZXI7Cn0KCi5qcC1wbGF5LWJhciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMjgwcHggcmVwZWF0LXg7Cgl3aWR0aDowcHg7CgloZWlnaHQ6IDEwMCU7CglvdmVyZmxvdzpoaWRkZW47Cn0KCgovKiBAZW5kICovCgovKiBAZ3JvdXAgdm9sdW1lIGNvbnRyb2xzICovCgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtbXV0ZSwKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXVubXV0ZSwKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTMzMHB4IG5vLXJlcGVhdDsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXdpZHRoOiAxNnB4OwoJaGVpZ2h0OiAxMXB4Owp9CgpkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMgYS5qcC1tdXRlLApkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMgYS5qcC11bm11dGUsCmRpdi5qcC1hdWRpby1zdHJlYW0gdWwuanAtY29udHJvbHMgYS5qcC1tdXRlLApkaXYuanAtYXVkaW8tc3RyZWFtIHVsLmpwLWNvbnRyb2xzIGEuanAtdW5tdXRlIHsKCXRvcDotNnB4OwoJbGVmdDogMDsKfQoKZGl2LmpwLWF1ZGlvIHVsLmpwLWNvbnRyb2xzIGEuanAtdm9sdW1lLW1heCwKZGl2LmpwLWF1ZGlvLXN0cmVhbSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJdG9wOi02cHg7CglyaWdodDogMDsKfQoKCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLW11dGUsCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLXVubXV0ZSB7CglsZWZ0OiAwOwoJdG9wOjE0cHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJbGVmdDogODRweDsKCXRvcDoxNHB4Owp9CgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtbXV0ZTpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNXB4IC0zMzBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgYS5qcC11bm11dGUgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtMzMwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtdW5tdXRlOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTg1cHggLTMzMHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTM1MHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXg6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMjVweCAtMzUwcHggbm8tcmVwZWF0Owp9CgouanAtdm9sdW1lLWJhciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMzAwcHggcmVwZWF0LXg7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl3aWR0aDogMTk3cHg7CgloZWlnaHQ6IDRweDsKCXBhZGRpbmc6IDJweCAycHggMXB4IDJweDsKCW92ZXJmbG93OiBoaWRkZW47Cn0KCi5qcC12b2x1bWUtYmFyOmhvdmVyIHsKCWN1cnNvcjogIHBvaW50ZXI7Cn0KCgpkaXYuanAtYXVkaW8gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhciwKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyIHsKCXRvcDoxMHB4OwoJbGVmdDogMDsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyIHsKCXdpZHRoOiA5N3B4OwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwOTIwOwoJcGFkZGluZy1yaWdodDoxcHg7Cn0KCmRpdi5qcC12aWRlbyAuanAtdm9sdW1lLWJhciB7Cgl0b3A6IDA7CglsZWZ0OiAwOwoJd2lkdGg6OTVweDsKCWJvcmRlci1yaWdodDoxcHggc29saWQgIzE4MDkyMDsKCXBhZGRpbmctcmlnaHQ6MXB4OwoJbWFyZ2luLXRvcDogMzBweDsKfQoKLmpwLXZvbHVtZS1iYXItdmFsdWUgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTMyMHB4IHJlcGVhdC14OwoJaGVpZ2h0OiA0cHg7Cn0KCi8qIEBlbmQgKi8KCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovCgouanAtY3VycmVudC10aW1lLCAuanAtZHVyYXRpb24gewoJd2lkdGg6NzBweDsKCWZvbnQtc2l6ZTouNWVtOwoJY29sb3I6ICM4YzdhOTk7Cn0KCi5qcC1jdXJyZW50LXRpbWUgewoJZmxvYXQ6IGxlZnQ7Cn0KCi5qcC1kdXJhdGlvbiB7CglmbG9hdDogcmlnaHQ7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgouanAtdmlkZW8gLmpwLWN1cnJlbnQtdGltZSB7CglwYWRkaW5nLWxlZnQ6MjBweDsKfQoKLmpwLXZpZGVvIC5qcC1kdXJhdGlvbiB7CglwYWRkaW5nLXJpZ2h0OjIwcHg7Cn0KCi8qIEBlbmQgKi8KCi8qIEBncm91cCBwbGF5bGlzdCAqLwoKLmpwLXRpdGxlIHVsLAouanAtcGxheWxpc3QgdWwgewoJbGlzdC1zdHlsZS10eXBlOm5vbmU7CQoJZm9udC1zaXplOi43ZW07CgltYXJnaW46IDA7CglwYWRkaW5nOiAwOwp9CgouanAtdmlkZW8gLmpwLXRpdGxlIHVsIHsKCW1hcmdpbjogMCAyMHB4IDEwcHg7Cn0KCi5qcC12aWRlbyAuanAtcGxheWxpc3QgdWwgewoJbWFyZ2luOiAwIDIwcHg7Cn0KCi5qcC10aXRsZSBsaSwKLmpwLXBsYXlsaXN0IGxpIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXBhZGRpbmc6IDJweCAwOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICMxODBhMWY7CglvdmVyZmxvdzogaGlkZGVuOwp9CgouanAtdGl0bGUgbGl7Cglib3JkZXItYm90dG9tOm5vbmU7Cglib3JkZXItdG9wOm5vbmU7CglwYWRkaW5nOjA7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKfQoKLyogTm90ZSB0aGF0IHRoZSBmaXJzdC1jaGlsZCAoSUU2KSBhbmQgbGFzdC1jaGlsZCAoSUU2LzcvOCkgc2VsZWN0b3JzIGRvIG5vdCB3b3JrIG9uIElFICovCgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6Zmlyc3QtY2hpbGQgewoJYm9yZGVyLXRvcDpub25lOwoJcGFkZGluZy10b3A6M3B4Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7Cglib3JkZXItYm90dG9tOm5vbmU7CglwYWRkaW5nLWJvdHRvbTozcHg7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhIHsKCWNvbG9yOiAjZmZmOwoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVyIHsKCWNvbG9yOiAjZTg5MmU5Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjMjYxMDJlOwoJbWFyZ2luOiAwIC0yMHB4OwoJcGFkZGluZzogMnB4IDIwcHg7Cglib3JkZXItdG9wOiAxcHggc29saWQgIzI2MTAyZTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYxMDJlOwp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCBhewoJY29sb3I6ICNlODkyZTk7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhLmpwLXBsYXlsaXN0LWl0ZW0tcmVtb3ZlIHsKCWZsb2F0OnJpZ2h0OwoJZGlzcGxheTppbmxpbmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJbWFyZ2luLWxlZnQ6MTBweDsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cgljb2xvcjojOEM3QTk5Owp9CmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhLmpwLXBsYXlsaXN0LWl0ZW0tcmVtb3ZlOmhvdmVyIHsKCWNvbG9yOiNFODkyRTk7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBzcGFuLmpwLWZyZWUtbWVkaWEgewoJZmxvYXQ6IHJpZ2h0OwoJZGlzcGxheTppbmxpbmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJY29sb3I6IzhDN0E5OTsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhewoJY29sb3I6IzhDN0E5OTsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhOmhvdmVyewoJY29sb3I6I0U4OTJFOTsKfQpzcGFuLmpwLWFydGlzdCB7Cglmb250LXNpemU6LjhlbTsKCWNvbG9yOiM4QzdBOTk7Cn0KCi8qIEBlbmQgKi8KCgpkaXYuanAtdmlkZW8gZGl2LmpwLXZpZGVvLXBsYXkgewoJd2lkdGg6MTAwJTsKCW92ZXJmbG93OmhpZGRlbjsgLyogSW1wb3J0YW50IGZvciBuZXN0ZWQgbmVnYXRpdmUgbWFyZ2lucyB0byB3b3JrIGluIG1vZGVybiBicm93c2VycyAqLwoJY3Vyc29yOnBvaW50ZXI7Cn0KZGl2LmpwLXZpZGVvLTI3MHAgZGl2LmpwLXZpZGVvLXBsYXkgewoJbWFyZ2luLXRvcDotMjcwcHg7CgloZWlnaHQ6MjcwcHg7Cn0KZGl2LmpwLXZpZGVvLTM2MHAgZGl2LmpwLXZpZGVvLXBsYXkgewoJbWFyZ2luLXRvcDotMzYwcHg7CgloZWlnaHQ6MzYwcHg7Cn0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLXZpZGVvLXBsYXkgewoJaGVpZ2h0OjEwMCU7Cn0KYS5qcC12aWRlby1wbGF5LWljb24gewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6IDExMnB4OwoJaGVpZ2h0OiAxMDBweDsKCgltYXJnaW4tbGVmdDotNTZweDsKCW1hcmdpbi10b3A6LTUwcHg7CglsZWZ0OjUwJTsKCXRvcDo1MCU7CgoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy52aWRlby5wbGF5LnBuZyIpIDAgMCBuby1yZXBlYXQ7Cgl0ZXh0LWluZGVudDotOTk5OXB4Owp9CmRpdi5qcC12aWRlby1wbGF5OmhvdmVyIGEuanAtdmlkZW8tcGxheS1pY29uIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcudmlkZW8ucGxheS5wbmciKSAwIC0xMDBweCBuby1yZXBlYXQ7Cn0KCgpkaXYuanAtanBsYXllciBhdWRpbywKZGl2LmpwLWpwbGF5ZXIgewoJd2lkdGg6MHB4OwoJaGVpZ2h0OjBweDsKfQoKZGl2LmpwLWpwbGF5ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsKfQoKLyogQGdyb3VwIE5PIFNPTFVUSU9OIGVycm9yIGZlZWRiYWNrICovCgouanAtbm8tc29sdXRpb24gewoJcGFkZGluZzo1cHg7Cglmb250LXNpemU6LjhlbTsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsKCWJvcmRlci10b3A6MnB4IHNvbGlkICM1NTQ0NjE7Cglib3JkZXItbGVmdDoycHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1yaWdodDoycHggc29saWQgIzE4MGExZjsKCWJvcmRlci1ib3R0b206MnB4IHNvbGlkICMxODBhMWY7Cgljb2xvcjojRkZGOwoJZGlzcGxheTpub25lOwp9CgouanAtbm8tc29sdXRpb24gYSB7Cgljb2xvcjojRkZGOwp9CgouanAtbm8tc29sdXRpb24gc3BhbiB7Cglmb250LXNpemU6MWVtOwoJZGlzcGxheTpibG9jazsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQovKiBAZW5kICovCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/jplayer.pink.flag.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/jplayer.pink.flag.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/jplayer.pink.flag.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.audio.playlist.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpbyIgcm9sZT0iYXBwbGljYXRpb24iIGFyaWEtbGFiZWw9Im1lZGlhIHBsYXllciI+Cgk8ZGl2IGNsYXNzPSJqcC10eXBlLXBsYXlsaXN0Ij4KCQk8ZGl2IGNsYXNzPSJqcC1ndWkganAtaW50ZXJmYWNlIj4KCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWNvbnRyb2xzIj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLW11dGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPm11dGU8L2J1dHRvbj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXZvbHVtZS1tYXgiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPm1heCB2b2x1bWU8L2J1dHRvbj4KCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXIiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXItdmFsdWUiPjwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scy1ob2xkZXIiPgoJCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMiPgoJCQkJCTxidXR0b24gY2xhc3M9ImpwLXByZXZpb3VzIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5wcmV2aW91czwvYnV0dG9uPgoJCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1zdG9wIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5zdG9wPC9idXR0b24+CgkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbmV4dCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bmV4dDwvYnV0dG9uPgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC10b2dnbGVzIj4KCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1yZXBlYXQiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnJlcGVhdDwvYnV0dG9uPgoJCQkJCTxidXR0b24gY2xhc3M9ImpwLXNodWZmbGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnNodWZmbGU8L2J1dHRvbj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1wbGF5bGlzdCI+CgkJCTx1bD4KCQkJCTxsaT4mbmJzcDs8L2xpPgoJCQk8L3VsPgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImpwLW5vLXNvbHV0aW9uIj4KCQkJPHNwYW4+VXBkYXRlIFJlcXVpcmVkPC9zcGFuPgoJCQlUbyBwbGF5IHRoZSBtZWRpYSB5b3Ugd2lsbCBuZWVkIHRvIGVpdGhlciB1cGRhdGUgeW91ciBicm93c2VyIHRvIGEgcmVjZW50IHZlcnNpb24gb3IgdXBkYXRlIHlvdXIgPGEgaHJlZj0iaHR0cDovL2dldC5hZG9iZS5jb20vZmxhc2hwbGF5ZXIvIiB0YXJnZXQ9Il9ibGFuayI+Rmxhc2ggcGx1Z2luPC9hPi4KCQk8L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.audio.single.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpbyIgcm9sZT0iYXBwbGljYXRpb24iIGFyaWEtbGFiZWw9Im1lZGlhIHBsYXllciI+Cgk8ZGl2IGNsYXNzPSJqcC10eXBlLXNpbmdsZSI+CgkJPGRpdiBjbGFzcz0ianAtZ3VpIGpwLWludGVyZmFjZSI+CgkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1jb250cm9scyI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC1tdXRlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tdXRlPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC12b2x1bWUtbWF4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tYXggdm9sdW1lPC9idXR0b24+CgkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianAtY29udHJvbHMtaG9sZGVyIj4KCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1wbGF5IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5wbGF5PC9idXR0b24+CgkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtc3RvcCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+c3RvcDwvYnV0dG9uPgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC10b2dnbGVzIj4KCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1yZXBlYXQiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnJlcGVhdDwvYnV0dG9uPgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImpwLWRldGFpbHMiPgoJCQk8ZGl2IGNsYXNzPSJqcC10aXRsZSIgYXJpYS1sYWJlbD0idGl0bGUiPiZuYnNwOzwvZGl2PgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImpwLW5vLXNvbHV0aW9uIj4KCQkJPHNwYW4+VXBkYXRlIFJlcXVpcmVkPC9zcGFuPgoJCQlUbyBwbGF5IHRoZSBtZWRpYSB5b3Ugd2lsbCBuZWVkIHRvIGVpdGhlciB1cGRhdGUgeW91ciBicm93c2VyIHRvIGEgcmVjZW50IHZlcnNpb24gb3IgdXBkYXRlIHlvdXIgPGEgaHJlZj0iaHR0cDovL2dldC5hZG9iZS5jb20vZmxhc2hwbGF5ZXIvIiB0YXJnZXQ9Il9ibGFuayI+Rmxhc2ggcGx1Z2luPC9hPi4KCQk8L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.audio.stream.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KPGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC1hdWRpby1zdHJlYW0iIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCTxkaXYgY2xhc3M9ImpwLWd1aSBqcC1pbnRlcmZhY2UiPgoJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtY29udHJvbHMiPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0ianAtdm9sdW1lLW1heCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bWF4IHZvbHVtZTwvYnV0dG9uPgoJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZGV0YWlscyI+CgkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.video.playlist.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC12aWRlbyAiIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1wbGF5bGlzdCI+CgkJPGRpdiBpZD0ie3tKUExBWUVSfX0iIGNsYXNzPSJqcC1qcGxheWVyIj48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1ndWkiPgoJCQk8ZGl2IGNsYXNzPSJqcC12aWRlby1wbGF5Ij4KCQkJCTxidXR0b24gY2xhc3M9ImpwLXZpZGVvLXBsYXktaWNvbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cGxheTwvYnV0dG9uPgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianAtaW50ZXJmYWNlIj4KCQkJCTxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXBsYXktYmFyIj48L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtY3VycmVudC10aW1lIiByb2xlPSJ0aW1lciIgYXJpYS1sYWJlbD0idGltZSI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1kdXJhdGlvbiIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9ImR1cmF0aW9uIj4mbmJzcDs8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWRldGFpbHMiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRpdGxlIiBhcmlhLWxhYmVsPSJ0aXRsZSI+Jm5ic3A7PC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzLWhvbGRlciI+CgkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWNvbnRyb2xzIj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtbXV0ZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bXV0ZTwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC12b2x1bWUtbWF4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5tYXggdm9sdW1lPC9idXR0b24+CgkJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXIiPgoJCQkJCQkJPGRpdiBjbGFzcz0ianAtdm9sdW1lLWJhci12YWx1ZSI+PC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLWNvbnRyb2xzIj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtcHJldmlvdXMiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnByZXZpb3VzPC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtc3RvcCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+c3RvcDwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1uZXh0IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj5uZXh0PC9idXR0b24+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ianAtdG9nZ2xlcyI+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXJlcGVhdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+cmVwZWF0PC9idXR0b24+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXNodWZmbGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnNodWZmbGU8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtZnVsbC1zY3JlZW4iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPmZ1bGwgc2NyZWVuPC9idXR0b24+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtcGxheWxpc3QiPgoJCQk8dWw+CgkJCQk8IS0tIFRoZSBtZXRob2QgUGxheWxpc3QuZGlzcGxheVBsYXlsaXN0KCkgdXNlcyB0aGlzIHVub3JkZXJlZCBsaXN0IC0tPgoJCQkJPGxpPjwvbGk+CgkJCTwvdWw+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgoJCQk8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CgkJCVRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin/pink.flag/mustache/jplayer.pink.flag.video.single.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tXUkFQUEVSfX0iIGNsYXNzPSJqcC12aWRlbyAiIHJvbGU9ImFwcGxpY2F0aW9uIiBhcmlhLWxhYmVsPSJtZWRpYSBwbGF5ZXIiPgoJPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgoJCTxkaXYgaWQ9Int7SlBMQVlFUn19IiBjbGFzcz0ianAtanBsYXllciI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ianAtZ3VpIj4KCQkJPGRpdiBjbGFzcz0ianAtdmlkZW8tcGxheSI+CgkJCQk8YnV0dG9uIGNsYXNzPSJqcC12aWRlby1wbGF5LWljb24iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImpwLWludGVyZmFjZSI+CgkJCQk8ZGl2IGNsYXNzPSJqcC1wcm9ncmVzcyI+CgkJCQkJPGRpdiBjbGFzcz0ianAtc2Vlay1iYXIiPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImpwLWN1cnJlbnQtdGltZSIgcm9sZT0idGltZXIiIGFyaWEtbGFiZWw9InRpbWUiPiZuYnNwOzwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ianAtZHVyYXRpb24iIHJvbGU9InRpbWVyIiBhcmlhLWxhYmVsPSJkdXJhdGlvbiI+Jm5ic3A7PC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1kZXRhaWxzIj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC10aXRsZSIgYXJpYS1sYWJlbD0idGl0bGUiPiZuYnNwOzwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scy1ob2xkZXIiPgoJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1jb250cm9scyI+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLW11dGUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPm11dGU8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtdm9sdW1lLW1heCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+bWF4IHZvbHVtZTwvYnV0dG9uPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KCQkJCQkJCTxkaXYgY2xhc3M9ImpwLXZvbHVtZS1iYXItdmFsdWUiPjwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJqcC1jb250cm9scyI+CgkJCQkJCTxidXR0b24gY2xhc3M9ImpwLXBsYXkiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnBsYXk8L2J1dHRvbj4KCQkJCQkJPGJ1dHRvbiBjbGFzcz0ianAtc3RvcCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+c3RvcDwvYnV0dG9uPgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImpwLXRvZ2dsZXMiPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1yZXBlYXQiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPnJlcGVhdDwvYnV0dG9uPgoJCQkJCQk8YnV0dG9uIGNsYXNzPSJqcC1mdWxsLXNjcmVlbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+ZnVsbCBzY3JlZW48L2J1dHRvbj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJqcC1uby1zb2x1dGlvbiI+CgkJCTxzcGFuPlVwZGF0ZSBSZXF1aXJlZDwvc3Bhbj4KCQkJVG8gcGxheSB0aGUgbWVkaWEgeW91IHdpbGwgbmVlZCB0byBlaXRoZXIgdXBkYXRlIHlvdXIgYnJvd3NlciB0byBhIHJlY2VudCB2ZXJzaW9uIG9yIHVwZGF0ZSB5b3VyIDxhIGhyZWY9Imh0dHA6Ly9nZXQuYWRvYmUuY29tL2ZsYXNocGxheWVyLyIgdGFyZ2V0PSJfYmxhbmsiPkZsYXNoIHBsdWdpbjwvYT4uCgkJPC9kaXY+Cgk8L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/jplayer.blue.monday.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIFNraW4gZm9yIGpQbGF5ZXIgUGx1Z2luIChqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5KQ0KICogaHR0cDovL3d3dy5qcGxheWVyLm9yZw0KICoNCiAqIFNraW4gTmFtZTogQmx1ZSBNb25kYXkNCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxMiBIYXBweXdvcm0gTHRkDQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4NCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgLSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwNCiAqDQogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkNCiAqIFNraW4gVmVyc2lvbjogNC4zIChqUGxheWVyIDIuMi4wKQ0KICogRGF0ZTogMTl0aCBOb3ZlbWJlciAyMDEyDQogKi8NCg0KZGl2LmpwLWF1ZGlvLA0KZGl2LmpwLWF1ZGlvLXN0cmVhbSwNCmRpdi5qcC12aWRlbyB7DQoNCgkvKiBFZGl0IHRoZSBmb250LXNpemUgdG8gY291bnRlcmFjdCBpbmhlcml0ZWQgZm9udCBzaXppbmcuDQoJICogRWcuIDEuMjVlbSA9IDEgLyAwLjhlbQ0KCSAqLw0KDQoJZm9udC1zaXplOjEuMjVlbTsgLyogMS4yNWVtIGZvciB0ZXN0aW5nIGluIHNpdGUgcGFnZXMgKi8gLyogTm8gcGFyZW50IENTUyB0aGF0IGNhbiBlZmZlY3QgdGhlIHNpemUgaW4gdGhlIGRlbW9zIFpJUCAqLw0KDQoJZm9udC1mYW1pbHk6VmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7DQoJbGluZS1oZWlnaHQ6MS42Ow0KCWNvbG9yOiAjNjY2Ow0KCWJvcmRlcjoxcHggc29saWQgIzAwOWJlMzsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWU7DQp9DQpkaXYuanAtYXVkaW8gew0KCXdpZHRoOjQyMHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvLXN0cmVhbSB7DQoJd2lkdGg6MTgycHg7DQp9DQpkaXYuanAtdmlkZW8tMjcwcCB7DQoJd2lkdGg6NDgwcHg7DQp9DQpkaXYuanAtdmlkZW8tMzYwcCB7DQoJd2lkdGg6NjQwcHg7DQp9DQpkaXYuanAtdmlkZW8tZnVsbCB7DQoJLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovDQoJd2lkdGg6NDgwcHg7DQoJaGVpZ2h0OjI3MHB4Ow0KCS8qIFJ1bGVzIGZvciBJRTcgKGZ1bGwtc2NyZWVuKSAtIE90aGVyd2lzZSB0aGUgcmVsYXRpdmUgY29udGFpbmVyIGNhdXNlcyBvdGhlciBwYWdlIGl0ZW1zIHRoYXQgYXJlIG5vdCBwb3NpdGlvbjpzdGF0aWMgKGRlZmF1bHQpIHRvIGFwcGVhciBvdmVyIHRoZSB2aWRlby9ndWkuICovDQoJcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLw0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2IGRpdiB7DQoJei1pbmRleDoxMDAwOw0KfQ0KDQpkaXYuanAtdmlkZW8tZnVsbCBkaXYuanAtanBsYXllciB7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovDQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWd1aSB7DQoJcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IHBvc2l0aW9uOiBzdGF0aWM7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwMCU7DQoJei1pbmRleDoxMDAxOyAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovDQp9DQoNCmRpdi5qcC12aWRlby1mdWxsIGRpdi5qcC1pbnRlcmZhY2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZC1jb2xvcjojZWVlOw0KCXdpZHRoOjEwMCU7DQp9DQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1zaW5nbGUgZGl2LmpwLWludGVyZmFjZSB7DQoJaGVpZ2h0OjgwcHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLWludGVyZmFjZSB7DQoJaGVpZ2h0OjgwcHg7DQp9DQoNCmRpdi5qcC1hdWRpby1zdHJlYW0gZGl2LmpwLXR5cGUtc2luZ2xlIGRpdi5qcC1pbnRlcmZhY2Ugew0KCWhlaWdodDo4MHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLWludGVyZmFjZSB7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzAwOWJlMzsNCn0NCg0KLyogQGdyb3VwIENPTlRST0xTICovDQoNCmRpdi5qcC1jb250cm9scy1ob2xkZXIgew0KCWNsZWFyOiBib3RoOw0KCXdpZHRoOjQ0MHB4Ow0KCW1hcmdpbjowIGF1dG87DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCW92ZXJmbG93OmhpZGRlbjsNCgl0b3A6LThweDsgLyogVGhpcyBuZWdhdGl2ZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBzaXplIG9mIHRoZSB0ZXh0IGluIGpwLWN1cnJlbnRUaW1lIGFuZCBqcC1kdXJhdGlvbiAqLw0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIHsNCglsaXN0LXN0eWxlLXR5cGU6bm9uZTsNCgltYXJnaW46MDsNCglwYWRkaW5nOiAwOw0KCW92ZXJmbG93OmhpZGRlbjsNCn0NCg0KZGl2LmpwLWF1ZGlvIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogMzgwcHg7DQoJcGFkZGluZzoyMHB4IDIwcHggMCAyMHB4Ow0KfQ0KDQpkaXYuanAtYXVkaW8tc3RyZWFtIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogMTQycHg7DQoJcGFkZGluZzoyMHB4IDIwcHggMCAyMHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLXR5cGUtc2luZ2xlIHVsLmpwLWNvbnRyb2xzIHsNCgl3aWR0aDogNzhweDsNCgltYXJnaW4tbGVmdDogMjAwcHg7DQp9DQoNCmRpdi5qcC12aWRlbyBkaXYuanAtdHlwZS1wbGF5bGlzdCB1bC5qcC1jb250cm9scyB7DQoJd2lkdGg6IDEzNHB4Ow0KCW1hcmdpbi1sZWZ0OiAxNzJweDsNCn0NCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scywNCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgbGkgew0KCWRpc3BsYXk6aW5saW5lOw0KCWZsb2F0OiBsZWZ0Ow0KfQ0KDQpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEgew0KCWRpc3BsYXk6YmxvY2s7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCXRleHQtaW5kZW50Oi05OTk5cHg7DQp9DQphLmpwLXBsYXksDQphLmpwLXBhdXNlIHsNCgl3aWR0aDo0MHB4Ow0KCWhlaWdodDo0MHB4Ow0KfQ0KDQphLmpwLXBsYXkgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIDAgbm8tcmVwZWF0Ow0KfQ0KYS5qcC1wbGF5OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTQxcHggMCBuby1yZXBlYXQ7DQp9DQphLmpwLXBhdXNlIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtNDJweCBuby1yZXBlYXQ7DQoJZGlzcGxheTogbm9uZTsNCn0NCmEuanAtcGF1c2U6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtNDFweCAtNDJweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtc3RvcCwgYS5qcC1wcmV2aW91cywgYS5qcC1uZXh0IHsNCgl3aWR0aDoyOHB4Ow0KCWhlaWdodDoyOHB4Ow0KCW1hcmdpbi10b3A6NnB4Ow0KfQ0KDQphLmpwLXN0b3Agew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC04M3B4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDoxMHB4Ow0KfQ0KDQphLmpwLXN0b3A6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMjlweCAtODNweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcHJldmlvdXMgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0xMTJweCBuby1yZXBlYXQ7DQp9DQphLmpwLXByZXZpb3VzOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTExMnB4IG5vLXJlcGVhdDsNCn0NCg0KYS5qcC1uZXh0IHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMTQxcHggbm8tcmVwZWF0Ow0KfQ0KYS5qcC1uZXh0OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTI5cHggLTE0MXB4IG5vLXJlcGVhdDsNCn0NCg0KLyogQGVuZCAqLw0KDQovKiBAZ3JvdXAgcHJvZ3Jlc3MgYmFyICovDQoNCmRpdi5qcC1wcm9ncmVzcyB7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWJhY2tncm91bmQtY29sb3I6ICNkZGQ7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXByb2dyZXNzIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOjMycHg7DQoJaGVpZ2h0OjE1cHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtc2luZ2xlIGRpdi5qcC1wcm9ncmVzcyB7DQoJbGVmdDoxMTBweDsNCgl3aWR0aDoxODZweDsNCn0NCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcHJvZ3Jlc3Mgew0KCWxlZnQ6MTY2cHg7DQoJd2lkdGg6MTMwcHg7DQp9DQpkaXYuanAtdmlkZW8gZGl2LmpwLXByb2dyZXNzIHsNCgl0b3A6MHB4Ow0KCWxlZnQ6MHB4Ow0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwcHg7DQp9DQpkaXYuanAtc2Vlay1iYXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yMDJweCByZXBlYXQteDsNCgl3aWR0aDowcHg7DQoJaGVpZ2h0OjEwMCU7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KZGl2LmpwLXBsYXktYmFyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjE4cHggcmVwZWF0LXggOw0KCXdpZHRoOjBweDsNCgloZWlnaHQ6MTAwJTsNCn0NCg0KLyogVGhlIHNlZWtpbmcgY2xhc3MgaXMgYWRkZWQvcmVtb3ZlZCBpbnNpZGUgalBsYXllciAqLw0KZGl2LmpwLXNlZWtpbmctYmcgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5zZWVraW5nLmdpZiIpOw0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCB2b2x1bWUgY29udHJvbHMgKi8NCg0KDQphLmpwLW11dGUsDQphLmpwLXVubXV0ZSwNCmEuanAtdm9sdW1lLW1heCB7DQoJd2lkdGg6MThweDsNCgloZWlnaHQ6MTVweDsNCgltYXJnaW4tdG9wOjEycHg7DQp9DQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC1tdXRlLA0KZGl2LmpwLWF1ZGlvIGRpdi5qcC10eXBlLXNpbmdsZSBhLmpwLXVubXV0ZSB7DQoJbWFyZ2luLWxlZnQ6IDIxMHB4OwkNCn0NCmRpdi5qcC1hdWRpbyBkaXYuanAtdHlwZS1wbGF5bGlzdCBhLmpwLW11dGUsDQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgYS5qcC11bm11dGUgew0KCW1hcmdpbi1sZWZ0OiAxNTRweDsNCn0NCg0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC1tdXRlLA0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdHlwZS1zaW5nbGUgYS5qcC11bm11dGUgew0KCW1hcmdpbi1sZWZ0OjEwcHg7DQp9DQoNCmRpdi5qcC1hdWRpbyBhLmpwLXZvbHVtZS1tYXgsDQpkaXYuanAtYXVkaW8tc3RyZWFtIGEuanAtdm9sdW1lLW1heCB7DQoJbWFyZ2luLWxlZnQ6IDU2cHg7CQ0KfQ0KDQpkaXYuanAtdmlkZW8gYS5qcC1tdXRlLA0KZGl2LmpwLXZpZGVvIGEuanAtdW5tdXRlLA0KZGl2LmpwLXZpZGVvIGEuanAtdm9sdW1lLW1heCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDoxMnB4Ow0KCW1hcmdpbi10b3A6MDsNCn0NCg0KZGl2LmpwLXZpZGVvIGEuanAtbXV0ZSwNCmRpdi5qcC12aWRlbyBhLmpwLXVubXV0ZSB7DQoJbGVmdDogNTBweDsNCn0NCg0KZGl2LmpwLXZpZGVvIGEuanAtdm9sdW1lLW1heCB7DQoJbGVmdDogMTM0cHg7DQp9DQoNCmEuanAtbXV0ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTE3MHB4IG5vLXJlcGVhdDsNCn0NCmEuanAtbXV0ZTpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0xOXB4IC0xNzBweCBuby1yZXBlYXQ7DQp9DQphLmpwLXVubXV0ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0xNzBweCBuby1yZXBlYXQ7DQoJZGlzcGxheTogbm9uZTsNCn0NCmEuanAtdW5tdXRlOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTc5cHggLTE3MHB4IG5vLXJlcGVhdDsNCn0NCmEuanAtdm9sdW1lLW1heCB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTE4NnB4IG5vLXJlcGVhdDsNCn0NCmEuanAtdm9sdW1lLW1heDpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0xOXB4IC0xODZweCBuby1yZXBlYXQ7DQp9DQoNCmRpdi5qcC12b2x1bWUtYmFyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0yNTBweCByZXBlYXQteDsNCgl3aWR0aDo0NnB4Ow0KCWhlaWdodDo1cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KZGl2LmpwLWF1ZGlvIGRpdi5qcC12b2x1bWUtYmFyIHsNCgl0b3A6MzdweDsNCglsZWZ0OjMzMHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvLXN0cmVhbSBkaXYuanAtdm9sdW1lLWJhciB7DQoJdG9wOjM3cHg7DQoJbGVmdDo5MnB4Ow0KfQ0KZGl2LmpwLXZpZGVvIGRpdi5qcC12b2x1bWUtYmFyIHsNCgl0b3A6MTdweDsNCglsZWZ0OjcycHg7DQp9DQpkaXYuanAtdm9sdW1lLWJhci12YWx1ZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTI1NnB4IHJlcGVhdC14Ow0KCXdpZHRoOjBweDsNCgloZWlnaHQ6NXB4Ow0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovDQoNCmRpdi5qcC1hdWRpbyBkaXYuanAtdGltZS1ob2xkZXIgew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo1MHB4Ow0KfQ0KZGl2LmpwLWF1ZGlvIGRpdi5qcC10eXBlLXNpbmdsZSBkaXYuanAtdGltZS1ob2xkZXIgew0KCWxlZnQ6MTEwcHg7DQoJd2lkdGg6MTg2cHg7DQp9DQpkaXYuanAtYXVkaW8gZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXRpbWUtaG9sZGVyIHsNCglsZWZ0OjE2NnB4Ow0KCXdpZHRoOjEzMHB4Ow0KfQ0KDQpkaXYuanAtY3VycmVudC10aW1lLA0KZGl2LmpwLWR1cmF0aW9uIHsNCgl3aWR0aDo2MHB4Ow0KCWZvbnQtc2l6ZTouNjRlbTsNCglmb250LXN0eWxlOm9ibGlxdWU7DQp9DQpkaXYuanAtY3VycmVudC10aW1lIHsNCglmbG9hdDogbGVmdDsNCglkaXNwbGF5OmlubGluZTsNCn0NCmRpdi5qcC1kdXJhdGlvbiB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KfQ0KDQpkaXYuanAtdmlkZW8gZGl2LmpwLWN1cnJlbnQtdGltZSB7DQoJbWFyZ2luLWxlZnQ6MjBweDsNCn0NCmRpdi5qcC12aWRlbyBkaXYuanAtZHVyYXRpb24gew0KCW1hcmdpbi1yaWdodDoyMHB4Ow0KfQ0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBwbGF5bGlzdCAqLw0KDQpkaXYuanAtdGl0bGUgew0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCmRpdi5qcC10aXRsZSwNCmRpdi5qcC1wbGF5bGlzdCB7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNjY2M7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzAwOWJlMzsNCn0NCmRpdi5qcC10eXBlLXNpbmdsZSBkaXYuanAtdGl0bGUsDQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtdGl0bGUsDQpkaXYuanAtdHlwZS1zaW5nbGUgZGl2LmpwLXBsYXlsaXN0IHsNCglib3JkZXItdG9wOm5vbmU7DQp9DQpkaXYuanAtdGl0bGUgdWwsDQpkaXYuanAtcGxheWxpc3QgdWwgew0KCWxpc3Qtc3R5bGUtdHlwZTpub25lOw0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MCAyMHB4Ow0KCWZvbnQtc2l6ZTouNzJlbTsNCn0NCg0KZGl2LmpwLXRpdGxlIGxpIHsNCglwYWRkaW5nOjVweCAwOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQpkaXYuanAtcGxheWxpc3QgbGkgew0KCXBhZGRpbmc6NXB4IDAgNHB4IDIwcHg7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZTsNCn0NCg0KZGl2LmpwLXBsYXlsaXN0IGxpIGRpdiB7DQoJZGlzcGxheTppbmxpbmU7DQp9DQoNCi8qIE5vdGUgdGhhdCB0aGUgZmlyc3QtY2hpbGQgKElFNikgYW5kIGxhc3QtY2hpbGQgKElFNi83LzgpIHNlbGVjdG9ycyBkbyBub3Qgd29yayBvbiBJRSAqLw0KDQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7DQoJcGFkZGluZzo1cHggMCA1cHggMjBweDsNCglib3JkZXItYm90dG9tOm5vbmU7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7DQoJbGlzdC1zdHlsZS10eXBlOnNxdWFyZTsNCglsaXN0LXN0eWxlLXBvc2l0aW9uOmluc2lkZTsNCglwYWRkaW5nLWxlZnQ6N3B4Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEgew0KCWNvbG9yOiAjMzMzOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVyIHsNCgljb2xvcjojMGQ4OGMxOw0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtY3VycmVudCB7DQoJY29sb3I6IzBkODhjMTsNCn0NCg0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmUgew0KCWZsb2F0OnJpZ2h0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCXRleHQtYWxpZ246cmlnaHQ7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCgljb2xvcjojNjY2Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IGEuanAtcGxheWxpc3QtaXRlbS1yZW1vdmU6aG92ZXIgew0KCWNvbG9yOiMwZDg4YzE7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIHsNCglmbG9hdDpyaWdodDsNCglkaXNwbGF5OmlubGluZTsNCgl0ZXh0LWFsaWduOnJpZ2h0Ow0KCW1hcmdpbi1yaWdodDoxMHB4Ow0KfQ0KZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhew0KCWNvbG9yOiM2NjY7DQp9DQpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3Qgc3Bhbi5qcC1mcmVlLW1lZGlhIGE6aG92ZXJ7DQoJY29sb3I6IzBkODhjMTsNCn0NCnNwYW4uanAtYXJ0aXN0IHsNCglmb250LXNpemU6LjhlbTsNCgljb2xvcjojNjY2Ow0KfQ0KDQovKiBAZW5kICovDQoNCmRpdi5qcC12aWRlby1wbGF5IHsNCgl3aWR0aDoxMDAlOw0KCW92ZXJmbG93OmhpZGRlbjsgLyogSW1wb3J0YW50IGZvciBuZXN0ZWQgbmVnYXRpdmUgbWFyZ2lucyB0byB3b3JrIGluIG1vZGVybiBicm93c2VycyAqLw0KCWN1cnNvcjpwb2ludGVyOw0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsgLyogTWFrZXMgSUU5IHdvcmsgd2l0aCB0aGUgYWN0aXZlIGFyZWEgb3ZlciB0aGUgd2hvbGUgdmlkZW8gYXJlYS4gSUU2LzcvOCBvbmx5IGhhdmUgdGhlIGJ1dHRvbiBhcyBhY3RpdmUgYXJlYS4gKi8NCn0NCmRpdi5qcC12aWRlby0yNzBwIGRpdi5qcC12aWRlby1wbGF5IHsNCgltYXJnaW4tdG9wOi0yNzBweDsNCgloZWlnaHQ6MjcwcHg7DQp9DQpkaXYuanAtdmlkZW8tMzYwcCBkaXYuanAtdmlkZW8tcGxheSB7DQoJbWFyZ2luLXRvcDotMzYwcHg7DQoJaGVpZ2h0OjM2MHB4Ow0KfQ0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLXZpZGVvLXBsYXkgew0KCWhlaWdodDoxMDAlOw0KfQ0KYS5qcC12aWRlby1wbGF5LWljb24gew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6IDExMnB4Ow0KCWhlaWdodDogMTAwcHg7DQoNCgltYXJnaW4tbGVmdDotNTZweDsNCgltYXJnaW4tdG9wOi01MHB4Ow0KCWxlZnQ6NTAlOw0KCXRvcDo1MCU7DQoNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkudmlkZW8ucGxheS5wbmciKSAwIDAgbm8tcmVwZWF0Ow0KCXRleHQtaW5kZW50Oi05OTk5cHg7DQp9DQpkaXYuanAtdmlkZW8tcGxheTpob3ZlciBhLmpwLXZpZGVvLXBsYXktaWNvbiB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LnZpZGVvLnBsYXkucG5nIikgMCAtMTAwcHggbm8tcmVwZWF0Ow0KfQ0KDQoNCg0KDQoNCmRpdi5qcC1qcGxheWVyIGF1ZGlvLA0KZGl2LmpwLWpwbGF5ZXIgew0KCXdpZHRoOjBweDsNCgloZWlnaHQ6MHB4Ow0KfQ0KDQpkaXYuanAtanBsYXllciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCg0KDQoNCg0KDQovKiBAZ3JvdXAgVE9HR0xFUyAqLw0KDQovKiBUaGUgYXVkaW8gdG9nZ2xlcyBhcmUgbmVzdGVkIGluc2lkZSBqcC10aW1lLWhvbGRlciAqLw0KDQp1bC5qcC10b2dnbGVzIHsNCglsaXN0LXN0eWxlLXR5cGU6bm9uZTsNCglwYWRkaW5nOjA7DQoJbWFyZ2luOjAgYXV0bzsNCglvdmVyZmxvdzpoaWRkZW47DQp9DQoNCmRpdi5qcC1hdWRpbyAuanAtdHlwZS1zaW5nbGUgdWwuanAtdG9nZ2xlcyB7DQoJd2lkdGg6MjVweDsNCn0NCmRpdi5qcC1hdWRpbyAuanAtdHlwZS1wbGF5bGlzdCB1bC5qcC10b2dnbGVzIHsNCgl3aWR0aDo1NXB4Ow0KCW1hcmdpbjogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbGVmdDogMzI1cHg7DQoJdG9wOiA1MHB4Ow0KfQ0KDQpkaXYuanAtdmlkZW8gdWwuanAtdG9nZ2xlcyB7DQoJbWFyZ2luLXRvcDoxMHB4Ow0KCXdpZHRoOjEwMHB4Ow0KfQ0KDQp1bC5qcC10b2dnbGVzIGxpIHsNCglkaXNwbGF5OmJsb2NrOw0KCWZsb2F0OnJpZ2h0Ow0KfQ0KDQp1bC5qcC10b2dnbGVzIGxpIGEgew0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MjVweDsNCgloZWlnaHQ6MThweDsNCgl0ZXh0LWluZGVudDotOTk5OXB4Ow0KCWxpbmUtaGVpZ2h0OjEwMCU7IC8qIG5lZWQgdGhpcyBmb3IgSUU2ICovDQp9DQoNCmEuanAtZnVsbC1zY3JlZW4gew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAwIC0zMTBweCBuby1yZXBlYXQ7DQoJbWFyZ2luLWxlZnQ6IDIwcHg7DQp9DQoNCmEuanAtZnVsbC1zY3JlZW46aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMzEwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXJlc3RvcmUtc2NyZWVuIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTMxMHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogMjBweDsNCn0NCg0KYS5qcC1yZXN0b3JlLXNjcmVlbjpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC05MHB4IC0zMTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0IHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgMCAtMjkwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXJlcGVhdDpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC0zMHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0LW9mZiB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC02MHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtcmVwZWF0LW9mZjpob3ZlciB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIC05MHB4IC0yOTBweCBuby1yZXBlYXQ7DQp9DQoNCmEuanAtc2h1ZmZsZSB7DQoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLmJsdWUubW9uZGF5LmpwZyIpIDAgLTI3MHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQphLmpwLXNodWZmbGU6aG92ZXIgew0KCWJhY2tncm91bmQ6IHVybCgianBsYXllci5ibHVlLm1vbmRheS5qcGciKSAtMzBweCAtMjcwcHggbm8tcmVwZWF0Ow0KfQ0KDQphLmpwLXNodWZmbGUtb2ZmIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTYwcHggLTI3MHB4IG5vLXJlcGVhdDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQphLmpwLXNodWZmbGUtb2ZmOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIuYmx1ZS5tb25kYXkuanBnIikgLTkwcHggLTI3MHB4IG5vLXJlcGVhdDsNCn0NCg0KDQovKiBAZW5kICovDQoNCi8qIEBncm91cCBOTyBTT0xVVElPTiBlcnJvciBmZWVkYmFjayAqLw0KDQouanAtbm8tc29sdXRpb24gew0KCXBhZGRpbmc6NXB4Ow0KCWZvbnQtc2l6ZTouOGVtOw0KCWJhY2tncm91bmQtY29sb3I6I2VlZTsNCglib3JkZXI6MnB4IHNvbGlkICMwMDliZTM7DQoJY29sb3I6IzAwMDsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5qcC1uby1zb2x1dGlvbiBhIHsNCgljb2xvcjojMDAwOw0KfQ0KDQouanAtbm8tc29sdXRpb24gc3BhbiB7DQoJZm9udC1zaXplOjFlbTsNCglkaXNwbGF5OmJsb2NrOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQp9DQoNCi8qIEBlbmQgKi8NCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/jplayer.blue.monday.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/jplayer.blue.monday.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/jplayer.blue.monday.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/blue.monday/skin.handlebars</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ie3tqcXVlcnlfanBsYXllcl9pZH19IiBjbGFzcz0ianAtanBsYXllciI+PC9kaXY+CjxkaXYgaWQ9Int7anBfY29udGFpbmVyX2lkfX0iIGNsYXNzPSJqcC1hdWRpbyI+CiAgPGRpdiBjbGFzcz0ianAtdHlwZS1zaW5nbGUiPgogICAgPGRpdiBjbGFzcz0ianAtZ3VpIGpwLWludGVyZmFjZSI+CiAgICAgIDx1bCBjbGFzcz0ianAtY29udHJvbHMiPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wbGF5IiB0YWJpbmRleD0iMSI+cGxheTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC1wYXVzZSIgdGFiaW5kZXg9IjEiPnBhdXNlPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXN0b3AiIHRhYmluZGV4PSIxIj5zdG9wPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLW11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0ibXV0ZSI+bXV0ZTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJqYXZhc2NyaXB0OjsiIGNsYXNzPSJqcC11bm11dGUiIHRhYmluZGV4PSIxIiB0aXRsZT0idW5tdXRlIj51bm11dGU8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDo7IiBjbGFzcz0ianAtdm9sdW1lLW1heCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJtYXggdm9sdW1lIj5tYXggdm9sdW1lPC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxkaXYgY2xhc3M9ImpwLXByb2dyZXNzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC1zZWVrLWJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJqcC1wbGF5LWJhciI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC12b2x1bWUtYmFyLXZhbHVlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImpwLXRpbWUtaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqcC1jdXJyZW50LXRpbWUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImpwLWR1cmF0aW9uIj48L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImpwLXRvZ2dsZXMiPgogICAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdCIgdGFiaW5kZXg9IjEiIHRpdGxlPSJyZXBlYXQiPnJlcGVhdDwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgY2xhc3M9ImpwLXJlcGVhdC1vZmYiIHRhYmluZGV4PSIxIiB0aXRsZT0icmVwZWF0IG9mZiI+cmVwZWF0IG9mZjwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJqcC10aXRsZSI+CiAgICAgIDx1bD4KICAgICAgICA8bGk+e3t0aXRsZX19PC9saT4KICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ianAtbm8tc29sdXRpb24iPgogICAgICA8c3Bhbj5VcGRhdGUgUmVxdWlyZWQ8L3NwYW4+CiAgICAgIFRvIHBsYXkgdGhlIG1lZGlhIHlvdSB3aWxsIG5lZWQgdG8gZWl0aGVyIHVwZGF0ZSB5b3VyIGJyb3dzZXIgdG8gYSByZWNlbnQgdmVyc2lvbiBvciB1cGRhdGUgeW91ciA8YSBocmVmPSJodHRwOi8vZ2V0LmFkb2JlLmNvbS9mbGFzaHBsYXllci8iIHRhcmdldD0iX2JsYW5rIj5GbGFzaCBwbHVnaW48L2E+LgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/jplayer.pink.flag.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogU2tpbiBmb3IgalBsYXllciBQbHVnaW4gKGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkpCiAqIGh0dHA6Ly93d3cuanBsYXllci5vcmcKICoKICogU2tpbiBOYW1lOiBQaW5rIEZsYWcKICoKICogQ29weXJpZ2h0IChjKSAyMDEyIEhhcHB5d29ybSBMdGQKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAtIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbAogKgogKiBBdXRob3I6IFNpbHZpYSBCZW52ZW51dGkKICogU2tpbiBWZXJzaW9uOiAxLjIgKGpQbGF5ZXIgMi4yLjApCiAqIERhdGU6IDIybmQgT2N0b2JlciAyMDEyCiAqLwoKZGl2LmpwLWF1ZGlvLApkaXYuanAtYXVkaW8tc3RyZWFtLApkaXYuanAtdmlkZW8gewoKCS8qIEVkaXQgdGhlIGZvbnQtc2l6ZSB0byBjb3VudGVyYWN0IGluaGVyaXRlZCBmb250IHNpemluZy4KCSAqIEVnLiAxLjI1ZW0gPSAxIC8gMC44ZW0KCSAqLwoKCWZvbnQtc2l6ZToxLjI1ZW07IC8qIDEuMjVlbSBmb3IgdGVzdGluZyBpbiBzaXRlIHBhZ2VzICovIC8qIE5vIHBhcmVudCBDU1MgdGhhdCBjYW4gZWZmZWN0IHRoZSBzaXplIGluIHRoZSBkZW1vcyBaSVAgKi8KCglmb250LWZhbWlseTpWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsKCWxpbmUtaGVpZ2h0OjEuNjsKCWNvbG9yOiAjZmZmOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTU0NDYxOwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwYTFmOwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgIzE4MGExZjsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsKfQpkaXYuanAtYXVkaW8gewoJd2lkdGg6MjAxcHg7CglwYWRkaW5nOjIwcHg7Cn0KCmRpdi5qcC1hdWRpby1zdHJlYW0gewoJd2lkdGg6MTAxcHg7CglwYWRkaW5nOjIwcHggMjBweCAxMHB4IDIwcHg7Cn0KCmRpdi5qcC12aWRlby0yNzBwIHsKCXdpZHRoOjQ4MHB4Owp9CmRpdi5qcC12aWRlby0zNjBwIHsKCXdpZHRoOjY0MHB4Owp9CmRpdi5qcC12aWRlby1mdWxsIHsKCS8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwoJd2lkdGg6NDgwcHg7CgloZWlnaHQ6MjcwcHg7CgkvKiBSdWxlcyBmb3IgSUU3IChmdWxsLXNjcmVlbikgLSBPdGhlcndpc2UgdGhlIHJlbGF0aXZlIGNvbnRhaW5lciBjYXVzZXMgb3RoZXIgcGFnZSBpdGVtcyB0aGF0IGFyZSBub3QgcG9zaXRpb246c3RhdGljIChkZWZhdWx0KSB0byBhcHBlYXIgb3ZlciB0aGUgdmlkZW8vZ3VpLiAqLwoJcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnJlbGF0aXZlOwp9CgovKiBUaGUgei1pbmRleCBydWxlIGlzIGRlZmluZWQgaW4gdGhpcyBtYW5uZXIgdG8gZW5hYmxlIFBvcGNvcm4gcGx1Z2lucyB0aGF0IGFkZCBvdmVybGF5cyB0byB2aWRlbyBhcmVhLiBFRy4gU3VidGl0bGVzLiAqLwpkaXYuanAtdmlkZW8tZnVsbCBkaXYgZGl2IHsKCXotaW5kZXg6MTAwMDsKfQoKZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWpwbGF5ZXIgewoJdG9wOiAwOwoJbGVmdDogMDsKCXBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFJ1bGVzIGZvciBJRTYgKGZ1bGwtc2NyZWVuKSAqLwoJb3ZlcmZsb3c6IGhpZGRlbjsKfQoKZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWd1aSB7Cglwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgcG9zaXRpb246IHN0YXRpYzsgLyogUnVsZXMgZm9yIElFNiAoZnVsbC1zY3JlZW4pICovCgl0b3A6IDA7CglsZWZ0OiAwOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJei1pbmRleDoxMDAxOyAvKiAxIGxheWVyIGFib3ZlIHRoZSBvdGhlcnMuICovCn0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLWludGVyZmFjZSB7Cglwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBSdWxlcyBmb3IgSUU2IChmdWxsLXNjcmVlbikgKi8KCWJvdHRvbTogMDsKCWxlZnQ6IDA7Cn0KCmRpdi5qcC1pbnRlcmZhY2UgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsgLyogUmVxdWlyZWQgZm9yIHRoZSBmdWxsIHNjcmVlbiAqLwp9CgoKZGl2LmpwLWF1ZGlvIC5qcC1pbnRlcmZhY2UgewoJaGVpZ2h0OiA4MHB4OwoJcGFkZGluZy10b3A6MzBweDsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIHsKCWhlaWdodDogNTBweDsKCXBhZGRpbmctdG9wOjMwcHg7Cn0KCi8qIEBncm91cCBDT05UUk9MUyAqLwoKZGl2LmpwLWNvbnRyb2xzLWhvbGRlciB7CgljbGVhcjogYm90aDsKCXdpZHRoOjQ0MHB4OwoJbWFyZ2luOjAgYXV0byAxMHB4IGF1dG87Cglwb3NpdGlvbjogcmVsYXRpdmU7CglvdmVyZmxvdzpoaWRkZW47Cn0KCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwIDAgbm8tcmVwZWF0OwoJbGlzdC1zdHlsZS10eXBlOm5vbmU7CglwYWRkaW5nOiAxcHggMCAycHggMXB4OwoJb3ZlcmZsb3c6aGlkZGVuOwoJd2lkdGg6IDIwMXB4OwoJaGVpZ2h0OiAzNHB4Owp9CgpkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMsCmRpdi5qcC1hdWRpby1zdHJlYW0gdWwuanAtY29udHJvbHMgewoJbWFyZ2luOjAgYXV0bzsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSB1bC5qcC1jb250cm9scyB7Cgl3aWR0aDogMTAwcHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyB7CgltYXJnaW46MCAwIDAgMTE1cHg7CglmbG9hdDpsZWZ0OwoJZGlzcGxheTppbmxpbmU7IC8qIG5lZWQgdGhpcyB0byBmaXggSUU2IGRvdWJsZSBtYXJnaW4gKi8KfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBsaSB7CglkaXNwbGF5OmlubGluZTsKCWZsb2F0OiBsZWZ0Owp9CmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgYSB7CglkaXNwbGF5OmJsb2NrOwoJb3ZlcmZsb3c6aGlkZGVuOwoJdGV4dC1pbmRlbnQ6LTk5OTlweDsKCWhlaWdodDogMzRweDsKCW1hcmdpbjogMCAxcHggMnB4IDA7CglwYWRkaW5nOiAwOwp9CgoKLyogQGdyb3VwIHNpbmdsZSBwbGF5ZXIgY29udHJvbHMgKi8KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLWNvbnRyb2xzIGxpIGF7Cgl3aWR0aDogOTlweDsKfQoKZGl2LmpwLXR5cGUtc2luZ2xlICAuanAtcGxheSB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtNDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLXBsYXk6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMTAwcHggLTQwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1wYXVzZSB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMTIwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1wYXVzZTpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMDBweCAtMTIwcHggbm8tcmVwZWF0Owp9CgovKiBUaGUgcmlnaHQgYm9yZGVyIGlzIG5vcm1hbGx5IGluIHRoZSB1bCBiYWNrZ3JvdW5kIGltYWdlLiAqLwpkaXYuanAtYXVkaW8tc3RyZWFtIC5qcC1wbGF5LApkaXYuanAtYXVkaW8tc3RyZWFtIC5qcC1wYXVzZSB7Cglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMxODA5MjA7Cn0KCmRpdi5qcC10eXBlLXNpbmdsZSAgLmpwLXN0b3AgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTgwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1zaW5nbGUgIC5qcC1zdG9wOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEwMHB4IC04MHB4IG5vLXJlcGVhdDsKfQoKLyogQGVuZCAqLwoKLyogQGdyb3VwIHBsYXlsaXN0IHBsYXllciBjb250cm9scyAqLwoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLWNvbnRyb2xzIGxpIGF7Cgl3aWR0aDogNDlweDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBsYXkgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMjRweCAtNDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wbGF5OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC00MHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBhdXNlIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTEyMHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgLmpwLXBhdXNlOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xMjBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1zdG9wIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTI0cHggLTgwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtc3RvcDpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMjRweCAtODBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91cyB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0yMDBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1wcmV2aW91czpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0xMjRweCAtMjAwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCAuanAtbmV4dCB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNHB4IC0xNjBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IC5qcC1uZXh0OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTEyNHB4IC0xNjBweCBuby1yZXBlYXQ7Cn0KCi8qIEBlbmQgKi8KCi8qIEBlbmQgKi8KCgoKCi8qIEBncm91cCBUT0dHTEVTICovCgp1bC5qcC10b2dnbGVzIHsKCWxpc3Qtc3R5bGUtdHlwZTpub25lOwoJcGFkZGluZzowOwoJbWFyZ2luOjAgYXV0bzsKCW92ZXJmbG93OmhpZGRlbjsKfQoKZGl2LmpwLWF1ZGlvIHVsLmpwLXRvZ2dsZXMgewoJd2lkdGg6NTVweDsKfQoKZGl2LmpwLWF1ZGlvIC5qcC10eXBlLXNpbmdsZSB1bC5qcC10b2dnbGVzIHsKCXdpZHRoOjI1cHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC10b2dnbGVzIHsKCXdpZHRoOjEwMHB4OwoJbWFyZ2luLXRvcDogMTBweDsKfQoKdWwuanAtdG9nZ2xlcyBsaXsKCWRpc3BsYXk6YmxvY2s7CglmbG9hdDpyaWdodDsKfQoKdWwuanAtdG9nZ2xlcyBsaSBhewoJZGlzcGxheTpibG9jazsKCXdpZHRoOjI1cHg7CgloZWlnaHQ6MThweDsKCXRleHQtaW5kZW50Oi05OTk5cHg7CglsaW5lLWhlaWdodDoxMDAlOyAvKiBuZWVkIHRoaXMgZm9yIElFNiAqLwp9CgouanAtZnVsbC1zY3JlZW4gewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwIC00MjBweCBuby1yZXBlYXQ7CgltYXJnaW4tbGVmdDogMjBweDsKfQoKLmpwLWZ1bGwtc2NyZWVuOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQyMHB4IG5vLXJlcGVhdDsKfQoKLmpwLXJlc3RvcmUtc2NyZWVuIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTYwcHggLTQyMHB4IG5vLXJlcGVhdDsKCW1hcmdpbi1sZWZ0OiAyMHB4Owp9CgouanAtcmVzdG9yZS1zY3JlZW46aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtOTBweCAtNDIwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0IHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDQwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0OmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTMwcHggLTQ0MHB4IG5vLXJlcGVhdDsKfQoKLmpwLXJlcGVhdC1vZmYgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDQwcHggbm8tcmVwZWF0Owp9CgouanAtcmVwZWF0LW9mZjpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC05MHB4IC00NDBweCBuby1yZXBlYXQ7Cn0KCi5qcC1zaHVmZmxlIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgMCAtNDYwcHggbm8tcmVwZWF0OwoJbWFyZ2luLWxlZnQ6IDVweDsKfQoKLmpwLXNodWZmbGU6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMzBweCAtNDYwcHggbm8tcmVwZWF0Owp9CgouanAtc2h1ZmZsZS1vZmYgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtNDYwcHggbm8tcmVwZWF0OwoJbWFyZ2luLWxlZnQ6IDVweDsKfQoKLmpwLXNodWZmbGUtb2ZmOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTkwcHggLTQ2MHB4IG5vLXJlcGVhdDsKfQoKCi8qIEBlbmQgKi8KCi8qIEBncm91cCBwcm9ncmVzcyBiYXIgKi8KCi8qIFRoZSBzZWVraW5nIGNsYXNzIGlzIGFkZGVkL3JlbW92ZWQgaW5zaWRlIGpQbGF5ZXIgKi8KZGl2LmpwLXNlZWtpbmctYmcgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5zZWVraW5nLmdpZiIpOwp9CgouanAtcHJvZ3Jlc3MgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTI0MHB4IG5vLXJlcGVhdDsKCXdpZHRoOiAxOTdweDsKCWhlaWdodDogMTNweDsKCXBhZGRpbmc6IDAgMnB4IDJweCAycHg7CgltYXJnaW4tYm90dG9tOiA0cHg7CglvdmVyZmxvdzpoaWRkZW47Cn0KCmRpdi5qcC12aWRlbyAuanAtcHJvZ3Jlc3MgewoJYm9yZGVyLXRvcDoxcHggc29saWQgIzE4MGExZjsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU0NTYwOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CglwYWRkaW5nOiAwOwp9CgouanAtc2Vlay1iYXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTI2MHB4IHJlcGVhdC14OwoJd2lkdGg6MHB4OwoJaGVpZ2h0OiAxMDAlOwoJb3ZlcmZsb3c6aGlkZGVuOwoJY3Vyc29yOnBvaW50ZXI7Cn0KCi5qcC1wbGF5LWJhciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMjgwcHggcmVwZWF0LXg7Cgl3aWR0aDowcHg7CgloZWlnaHQ6IDEwMCU7CglvdmVyZmxvdzpoaWRkZW47Cn0KCgovKiBAZW5kICovCgovKiBAZ3JvdXAgdm9sdW1lIGNvbnRyb2xzICovCgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtbXV0ZSwKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXVubXV0ZSwKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTMzMHB4IG5vLXJlcGVhdDsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXdpZHRoOiAxNnB4OwoJaGVpZ2h0OiAxMXB4Owp9CgpkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMgYS5qcC1tdXRlLApkaXYuanAtYXVkaW8gdWwuanAtY29udHJvbHMgYS5qcC11bm11dGUsCmRpdi5qcC1hdWRpby1zdHJlYW0gdWwuanAtY29udHJvbHMgYS5qcC1tdXRlLApkaXYuanAtYXVkaW8tc3RyZWFtIHVsLmpwLWNvbnRyb2xzIGEuanAtdW5tdXRlIHsKCXRvcDotNnB4OwoJbGVmdDogMDsKfQoKZGl2LmpwLWF1ZGlvIHVsLmpwLWNvbnRyb2xzIGEuanAtdm9sdW1lLW1heCwKZGl2LmpwLWF1ZGlvLXN0cmVhbSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJdG9wOi02cHg7CglyaWdodDogMDsKfQoKCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLW11dGUsCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLXVubXV0ZSB7CglsZWZ0OiAwOwoJdG9wOjE0cHg7Cn0KCmRpdi5qcC12aWRlbyB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJbGVmdDogODRweDsKCXRvcDoxNHB4Owp9CgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtbXV0ZTpob3ZlciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIC0yNXB4IC0zMzBweCBuby1yZXBlYXQ7Cn0KCmRpdi5qcC1pbnRlcmZhY2UgdWwuanAtY29udHJvbHMgYS5qcC11bm11dGUgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtNjBweCAtMzMwcHggbm8tcmVwZWF0Owp9CgpkaXYuanAtaW50ZXJmYWNlIHVsLmpwLWNvbnRyb2xzIGEuanAtdW5tdXRlOmhvdmVyIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcuanBnIikgLTg1cHggLTMzMHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXggewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTM1MHB4IG5vLXJlcGVhdDsKfQoKZGl2LmpwLWludGVyZmFjZSB1bC5qcC1jb250cm9scyBhLmpwLXZvbHVtZS1tYXg6aG92ZXIgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAtMjVweCAtMzUwcHggbm8tcmVwZWF0Owp9CgouanAtdm9sdW1lLWJhciB7CgliYWNrZ3JvdW5kOiB1cmwoImpwbGF5ZXIucGluay5mbGFnLmpwZyIpIDBweCAtMzAwcHggcmVwZWF0LXg7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl3aWR0aDogMTk3cHg7CgloZWlnaHQ6IDRweDsKCXBhZGRpbmc6IDJweCAycHggMXB4IDJweDsKCW92ZXJmbG93OiBoaWRkZW47Cn0KCi5qcC12b2x1bWUtYmFyOmhvdmVyIHsKCWN1cnNvcjogIHBvaW50ZXI7Cn0KCgpkaXYuanAtYXVkaW8gLmpwLWludGVyZmFjZSAuanAtdm9sdW1lLWJhciwKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyIHsKCXRvcDoxMHB4OwoJbGVmdDogMDsKfQoKZGl2LmpwLWF1ZGlvLXN0cmVhbSAuanAtaW50ZXJmYWNlIC5qcC12b2x1bWUtYmFyIHsKCXdpZHRoOiA5N3B4OwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMTgwOTIwOwoJcGFkZGluZy1yaWdodDoxcHg7Cn0KCmRpdi5qcC12aWRlbyAuanAtdm9sdW1lLWJhciB7Cgl0b3A6IDA7CglsZWZ0OiAwOwoJd2lkdGg6OTVweDsKCWJvcmRlci1yaWdodDoxcHggc29saWQgIzE4MDkyMDsKCXBhZGRpbmctcmlnaHQ6MXB4OwoJbWFyZ2luLXRvcDogMzBweDsKfQoKLmpwLXZvbHVtZS1iYXItdmFsdWUgewoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy5qcGciKSAwcHggLTMyMHB4IHJlcGVhdC14OwoJaGVpZ2h0OiA0cHg7Cn0KCi8qIEBlbmQgKi8KCi8qIEBncm91cCBjdXJyZW50IHRpbWUgYW5kIGR1cmF0aW9uICovCgouanAtY3VycmVudC10aW1lLCAuanAtZHVyYXRpb24gewoJd2lkdGg6NzBweDsKCWZvbnQtc2l6ZTouNWVtOwoJY29sb3I6ICM4YzdhOTk7Cn0KCi5qcC1jdXJyZW50LXRpbWUgewoJZmxvYXQ6IGxlZnQ7Cn0KCi5qcC1kdXJhdGlvbiB7CglmbG9hdDogcmlnaHQ7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgouanAtdmlkZW8gLmpwLWN1cnJlbnQtdGltZSB7CglwYWRkaW5nLWxlZnQ6MjBweDsKfQoKLmpwLXZpZGVvIC5qcC1kdXJhdGlvbiB7CglwYWRkaW5nLXJpZ2h0OjIwcHg7Cn0KCi8qIEBlbmQgKi8KCi8qIEBncm91cCBwbGF5bGlzdCAqLwoKLmpwLXRpdGxlIHVsLAouanAtcGxheWxpc3QgdWwgewoJbGlzdC1zdHlsZS10eXBlOm5vbmU7CQoJZm9udC1zaXplOi43ZW07CgltYXJnaW46IDA7CglwYWRkaW5nOiAwOwp9CgouanAtdmlkZW8gLmpwLXRpdGxlIHVsIHsKCW1hcmdpbjogMCAyMHB4IDEwcHg7Cn0KCi5qcC12aWRlbyAuanAtcGxheWxpc3QgdWwgewoJbWFyZ2luOiAwIDIwcHg7Cn0KCi5qcC10aXRsZSBsaSwKLmpwLXBsYXlsaXN0IGxpIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXBhZGRpbmc6IDJweCAwOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICMxODBhMWY7CglvdmVyZmxvdzogaGlkZGVuOwp9CgouanAtdGl0bGUgbGl7Cglib3JkZXItYm90dG9tOm5vbmU7Cglib3JkZXItdG9wOm5vbmU7CglwYWRkaW5nOjA7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKfQoKLyogTm90ZSB0aGF0IHRoZSBmaXJzdC1jaGlsZCAoSUU2KSBhbmQgbGFzdC1jaGlsZCAoSUU2LzcvOCkgc2VsZWN0b3JzIGRvIG5vdCB3b3JrIG9uIElFICovCgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6Zmlyc3QtY2hpbGQgewoJYm9yZGVyLXRvcDpub25lOwoJcGFkZGluZy10b3A6M3B4Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGk6bGFzdC1jaGlsZCB7Cglib3JkZXItYm90dG9tOm5vbmU7CglwYWRkaW5nLWJvdHRvbTozcHg7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhIHsKCWNvbG9yOiAjZmZmOwoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhOmhvdmVyIHsKCWNvbG9yOiAjZTg5MmU5Owp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjMjYxMDJlOwoJbWFyZ2luOiAwIC0yMHB4OwoJcGFkZGluZzogMnB4IDIwcHg7Cglib3JkZXItdG9wOiAxcHggc29saWQgIzI2MTAyZTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYxMDJlOwp9CgpkaXYuanAtdHlwZS1wbGF5bGlzdCBkaXYuanAtcGxheWxpc3QgbGkuanAtcGxheWxpc3QtY3VycmVudCBhewoJY29sb3I6ICNlODkyZTk7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhLmpwLXBsYXlsaXN0LWl0ZW0tcmVtb3ZlIHsKCWZsb2F0OnJpZ2h0OwoJZGlzcGxheTppbmxpbmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJbWFyZ2luLWxlZnQ6MTBweDsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cgljb2xvcjojOEM3QTk5Owp9CmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBhLmpwLXBsYXlsaXN0LWl0ZW0tcmVtb3ZlOmhvdmVyIHsKCWNvbG9yOiNFODkyRTk7Cn0KCmRpdi5qcC10eXBlLXBsYXlsaXN0IGRpdi5qcC1wbGF5bGlzdCBzcGFuLmpwLWZyZWUtbWVkaWEgewoJZmxvYXQ6IHJpZ2h0OwoJZGlzcGxheTppbmxpbmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJY29sb3I6IzhDN0E5OTsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhewoJY29sb3I6IzhDN0E5OTsKfQoKZGl2LmpwLXR5cGUtcGxheWxpc3QgZGl2LmpwLXBsYXlsaXN0IHNwYW4uanAtZnJlZS1tZWRpYSBhOmhvdmVyewoJY29sb3I6I0U4OTJFOTsKfQpzcGFuLmpwLWFydGlzdCB7Cglmb250LXNpemU6LjhlbTsKCWNvbG9yOiM4QzdBOTk7Cn0KCi8qIEBlbmQgKi8KCgpkaXYuanAtdmlkZW8gZGl2LmpwLXZpZGVvLXBsYXkgewoJd2lkdGg6MTAwJTsKCW92ZXJmbG93OmhpZGRlbjsgLyogSW1wb3J0YW50IGZvciBuZXN0ZWQgbmVnYXRpdmUgbWFyZ2lucyB0byB3b3JrIGluIG1vZGVybiBicm93c2VycyAqLwoJY3Vyc29yOnBvaW50ZXI7Cn0KZGl2LmpwLXZpZGVvLTI3MHAgZGl2LmpwLXZpZGVvLXBsYXkgewoJbWFyZ2luLXRvcDotMjcwcHg7CgloZWlnaHQ6MjcwcHg7Cn0KZGl2LmpwLXZpZGVvLTM2MHAgZGl2LmpwLXZpZGVvLXBsYXkgewoJbWFyZ2luLXRvcDotMzYwcHg7CgloZWlnaHQ6MzYwcHg7Cn0KZGl2LmpwLXZpZGVvLWZ1bGwgZGl2LmpwLXZpZGVvLXBsYXkgewoJaGVpZ2h0OjEwMCU7Cn0KYS5qcC12aWRlby1wbGF5LWljb24gewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6IDExMnB4OwoJaGVpZ2h0OiAxMDBweDsKCgltYXJnaW4tbGVmdDotNTZweDsKCW1hcmdpbi10b3A6LTUwcHg7CglsZWZ0OjUwJTsKCXRvcDo1MCU7CgoJYmFja2dyb3VuZDogdXJsKCJqcGxheWVyLnBpbmsuZmxhZy52aWRlby5wbGF5LnBuZyIpIDAgMCBuby1yZXBlYXQ7Cgl0ZXh0LWluZGVudDotOTk5OXB4Owp9CmRpdi5qcC12aWRlby1wbGF5OmhvdmVyIGEuanAtdmlkZW8tcGxheS1pY29uIHsKCWJhY2tncm91bmQ6IHVybCgianBsYXllci5waW5rLmZsYWcudmlkZW8ucGxheS5wbmciKSAwIC0xMDBweCBuby1yZXBlYXQ7Cn0KCgpkaXYuanAtanBsYXllciBhdWRpbywKZGl2LmpwLWpwbGF5ZXIgewoJd2lkdGg6MHB4OwoJaGVpZ2h0OjBweDsKfQoKZGl2LmpwLWpwbGF5ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsKfQoKLyogQGdyb3VwIE5PIFNPTFVUSU9OIGVycm9yIGZlZWRiYWNrICovCgouanAtbm8tc29sdXRpb24gewoJcGFkZGluZzo1cHg7Cglmb250LXNpemU6LjhlbTsKCWJhY2tncm91bmQtY29sb3I6IzNhMmE0NTsKCWJvcmRlci10b3A6MnB4IHNvbGlkICM1NTQ0NjE7Cglib3JkZXItbGVmdDoycHggc29saWQgIzU1NDQ2MTsKCWJvcmRlci1yaWdodDoycHggc29saWQgIzE4MGExZjsKCWJvcmRlci1ib3R0b206MnB4IHNvbGlkICMxODBhMWY7Cgljb2xvcjojRkZGOwoJZGlzcGxheTpub25lOwp9CgouanAtbm8tc29sdXRpb24gYSB7Cgljb2xvcjojRkZGOwp9CgouanAtbm8tc29sdXRpb24gc3BhbiB7Cglmb250LXNpemU6MWVtOwoJZGlzcGxheTpibG9jazsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC13ZWlnaHQ6Ym9sZDsKfQovKiBAZW5kICovCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/jplayer.pink.flag.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/jplayer.pink.flag.seeking.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/jPlayer/skin_ol/pink.flag/jplayer.pink.flag.video.play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/modernizr.custom.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[d2luZG93Lk1vZGVybml6cj1mdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcihlKXtiLmNzc1RleHQ9ZX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIHIody5qb2luKGUrIjsiKSsodHx8IiIpKX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT09dH1mdW5jdGlvbiBpKGUsdCl7cmV0dXJuISF+KCIiK2UpLmluZGV4T2YodCl9ZnVuY3Rpb24gYyhlLHQpe2Zvcih2YXIgciBpbiBlKXt2YXIgbz1lW3JdO2lmKCFpKG8sIi0iKSYmYltvXSE9PW4pcmV0dXJuInBmeCI9PXQ/bzohMH1yZXR1cm4hMX1mdW5jdGlvbiBzKGUsdCxyKXtmb3IodmFyIG8gaW4gZSl7dmFyIGk9dFtlW29dXTtpZihpIT09bilyZXR1cm4gcj09PSExP2Vbb106YShpLCJmdW5jdGlvbiIpP2kuYmluZChyfHx0KTppfXJldHVybiExfWZ1bmN0aW9uIGwoZSx0LG4pe3ZhciByPWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSxvPShlKyIgIitrLmpvaW4ocisiICIpK3IpLnNwbGl0KCIgIik7cmV0dXJuIGEodCwic3RyaW5nIil8fGEodCwidW5kZWZpbmVkIik/YyhvLHQpOihvPShlKyIgIitTLmpvaW4ocisiICIpK3IpLnNwbGl0KCIgIikscyhvLHQsbikpfWZ1bmN0aW9uIHUoKXttLmlucHV0PWZ1bmN0aW9uKG4pe2Zvcih2YXIgcj0wLG89bi5sZW5ndGg7bz5yO3IrKylQW25bcl1dPW5bcl1pbiBFO3JldHVybiBQLmxpc3QmJihQLmxpc3Q9ISF0LmNyZWF0ZUVsZW1lbnQoImRhdGFsaXN0IikmJiEhZS5IVE1MRGF0YUxpc3RFbGVtZW50KSxQfSgiYXV0b2NvbXBsZXRlIGF1dG9mb2N1cyBsaXN0IHBsYWNlaG9sZGVyIG1heCBtaW4gbXVsdGlwbGUgcGF0dGVybiByZXF1aXJlZCBzdGVwIi5zcGxpdCgiICIpKSxtLmlucHV0dHlwZXM9ZnVuY3Rpb24oZSl7Zm9yKHZhciByLG8sYSxpPTAsYz1lLmxlbmd0aDtjPmk7aSsrKUUuc2V0QXR0cmlidXRlKCJ0eXBlIixvPWVbaV0pLHI9InRleHQiIT09RS50eXBlLHImJihFLnZhbHVlPXgsRS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTt2aXNpYmlsaXR5OmhpZGRlbjsiLC9ecmFuZ2UkLy50ZXN0KG8pJiZFLnN0eWxlLldlYmtpdEFwcGVhcmFuY2UhPT1uPyhnLmFwcGVuZENoaWxkKEUpLGE9dC5kZWZhdWx0VmlldyxyPWEuZ2V0Q29tcHV0ZWRTdHlsZSYmInRleHRmaWVsZCIhPT1hLmdldENvbXB1dGVkU3R5bGUoRSxudWxsKS5XZWJraXRBcHBlYXJhbmNlJiYwIT09RS5vZmZzZXRIZWlnaHQsZy5yZW1vdmVDaGlsZChFKSk6L14oc2VhcmNofHRlbCkkLy50ZXN0KG8pfHwocj0vXih1cmx8ZW1haWwpJC8udGVzdChvKT9FLmNoZWNrVmFsaWRpdHkmJkUuY2hlY2tWYWxpZGl0eSgpPT09ITE6RS52YWx1ZSE9eCkpLGpbZVtpXV09ISFyO3JldHVybiBqfSgic2VhcmNoIHRlbCB1cmwgZW1haWwgZGF0ZXRpbWUgZGF0ZSBtb250aCB3ZWVrIHRpbWUgZGF0ZXRpbWUtbG9jYWwgbnVtYmVyIHJhbmdlIGNvbG9yIi5zcGxpdCgiICIpKX12YXIgZixkLHA9IjIuNy4xIixtPXt9LGg9ITAsZz10LmRvY3VtZW50RWxlbWVudCx5PSJtb2Rlcm5penIiLHY9dC5jcmVhdGVFbGVtZW50KHkpLGI9di5zdHlsZSxFPXQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSx4PSI6KSIsdz0oe30udG9TdHJpbmcsIiAtd2Via2l0LSAtbW96LSAtby0gLW1zLSAiLnNwbGl0KCIgIikpLEM9IldlYmtpdCBNb3ogTyBtcyIsaz1DLnNwbGl0KCIgIiksUz1DLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiAiKSxUPXt9LGo9e30sUD17fSxNPVtdLE49TS5zbGljZSxBPWZ1bmN0aW9uKGUsbixyLG8pe3ZhciBhLGksYyxzLGw9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSx1PXQuYm9keSxmPXV8fHQuY3JlYXRlRWxlbWVudCgiYm9keSIpO2lmKHBhcnNlSW50KHIsMTApKWZvcig7ci0tOyljPXQuY3JlYXRlRWxlbWVudCgiZGl2IiksYy5pZD1vP29bcl06eSsocisxKSxsLmFwcGVuZENoaWxkKGMpO3JldHVybiBhPVsiJiMxNzM7IiwnPHN0eWxlIGlkPSJzJyx5LCciPicsZSwiPC9zdHlsZT4iXS5qb2luKCIiKSxsLmlkPXksKHU/bDpmKS5pbm5lckhUTUwrPWEsZi5hcHBlbmRDaGlsZChsKSx1fHwoZi5zdHlsZS5iYWNrZ3JvdW5kPSIiLGYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIscz1nLnN0eWxlLm92ZXJmbG93LGcuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsZy5hcHBlbmRDaGlsZChmKSksaT1uKGwsZSksdT9sLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCk6KGYucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChmKSxnLnN0eWxlLm92ZXJmbG93PXMpLCEhaX0sJD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxvKXtvPW98fHQuY3JlYXRlRWxlbWVudChyW2VdfHwiZGl2IiksZT0ib24iK2U7dmFyIGk9ZSBpbiBvO3JldHVybiBpfHwoby5zZXRBdHRyaWJ1dGV8fChvPXQuY3JlYXRlRWxlbWVudCgiZGl2IikpLG8uc2V0QXR0cmlidXRlJiZvLnJlbW92ZUF0dHJpYnV0ZSYmKG8uc2V0QXR0cmlidXRlKGUsIiIpLGk9YShvW2VdLCJmdW5jdGlvbiIpLGEob1tlXSwidW5kZWZpbmVkIil8fChvW2VdPW4pLG8ucmVtb3ZlQXR0cmlidXRlKGUpKSksbz1udWxsLGl9dmFyIHI9e3NlbGVjdDoiaW5wdXQiLGNoYW5nZToiaW5wdXQiLHN1Ym1pdDoiZm9ybSIscmVzZXQ6ImZvcm0iLGVycm9yOiJpbWciLGxvYWQ6ImltZyIsYWJvcnQ6ImltZyJ9O3JldHVybiBlfSgpLEY9e30uaGFzT3duUHJvcGVydHk7ZD1hKEYsInVuZGVmaW5lZCIpfHxhKEYuY2FsbCwidW5kZWZpbmVkIik/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCBpbiBlJiZhKGUuY29uc3RydWN0b3IucHJvdG90eXBlW3RdLCJ1bmRlZmluZWQiKX06ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRi5jYWxsKGUsdCl9LEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kfHwoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yO3ZhciBuPU4uY2FsbChhcmd1bWVudHMsMSkscj1mdW5jdGlvbigpe2lmKHRoaXMgaW5zdGFuY2VvZiByKXt2YXIgbz1mdW5jdGlvbigpe307by5wcm90b3R5cGU9dC5wcm90b3R5cGU7dmFyIGE9bmV3IG8saT10LmFwcGx5KGEsbi5jb25jYXQoTi5jYWxsKGFyZ3VtZW50cykpKTtyZXR1cm4gT2JqZWN0KGkpPT09aT9pOmF9cmV0dXJuIHQuYXBwbHkoZSxuLmNvbmNhdChOLmNhbGwoYXJndW1lbnRzKSkpfTtyZXR1cm4gcn0pLFQuZmxleGJveD1mdW5jdGlvbigpe3JldHVybiBsKCJmbGV4V3JhcCIpfSxULmZsZXhib3hsZWdhY3k9ZnVuY3Rpb24oKXtyZXR1cm4gbCgiYm94RGlyZWN0aW9uIil9LFQuY2FudmFzPWZ1bmN0aW9uKCl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4hIWUuZ2V0Q29udGV4dCYmISFlLmdldENvbnRleHQoIjJkIil9LFQuY2FudmFzdGV4dD1mdW5jdGlvbigpe3JldHVybiEhbS5jYW52YXMmJiEhYSh0LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikuZmlsbFRleHQsImZ1bmN0aW9uIil9LFQucG9zdG1lc3NhZ2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWUucG9zdE1lc3NhZ2V9LFQud2Vic3FsZGF0YWJhc2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWUub3BlbkRhdGFiYXNlfSxULmluZGV4ZWREQj1mdW5jdGlvbigpe3JldHVybiEhbCgiaW5kZXhlZERCIixlKX0sVC5oYXNoY2hhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuICQoImhhc2hjaGFuZ2UiLGUpJiYodC5kb2N1bWVudE1vZGU9PT1ufHx0LmRvY3VtZW50TW9kZT43KX0sVC5oaXN0b3J5PWZ1bmN0aW9uKCl7cmV0dXJuISFlLmhpc3RvcnkmJiEhaGlzdG9yeS5wdXNoU3RhdGV9LFQuZHJhZ2FuZGRyb3A9ZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiJkcmFnZ2FibGUiaW4gZXx8Im9uZHJhZ3N0YXJ0ImluIGUmJiJvbmRyb3AiaW4gZX0sVC53ZWJzb2NrZXRzPWZ1bmN0aW9uKCl7cmV0dXJuIldlYlNvY2tldCJpbiBlfHwiTW96V2ViU29ja2V0ImluIGV9LFQucmdiYT1mdW5jdGlvbigpe3JldHVybiByKCJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTUwLDI1NSwxNTAsLjUpIiksaShiLmJhY2tncm91bmRDb2xvciwicmdiYSIpfSxULmhzbGE9ZnVuY3Rpb24oKXtyZXR1cm4gcigiYmFja2dyb3VuZC1jb2xvcjpoc2xhKDEyMCw0MCUsMTAwJSwuNSkiKSxpKGIuYmFja2dyb3VuZENvbG9yLCJyZ2JhIil8fGkoYi5iYWNrZ3JvdW5kQ29sb3IsImhzbGEiKX0sVC5tdWx0aXBsZWJncz1mdW5jdGlvbigpe3JldHVybiByKCJiYWNrZ3JvdW5kOnVybChodHRwczovLyksdXJsKGh0dHBzOi8vKSxyZWQgdXJsKGh0dHBzOi8vKSIpLC8odXJsXHMqXCguKj8pezN9Ly50ZXN0KGIuYmFja2dyb3VuZCl9LFQuYmFja2dyb3VuZHNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gbCgiYmFja2dyb3VuZFNpemUiKX0sVC5ib3JkZXJpbWFnZT1mdW5jdGlvbigpe3JldHVybiBsKCJib3JkZXJJbWFnZSIpfSxULmJvcmRlcnJhZGl1cz1mdW5jdGlvbigpe3JldHVybiBsKCJib3JkZXJSYWRpdXMiKX0sVC5ib3hzaGFkb3c9ZnVuY3Rpb24oKXtyZXR1cm4gbCgiYm94U2hhZG93Iil9LFQudGV4dHNoYWRvdz1mdW5jdGlvbigpe3JldHVybiIiPT09dC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZS50ZXh0U2hhZG93fSxULm9wYWNpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gbygib3BhY2l0eTouNTUiKSwvXjAuNTUkLy50ZXN0KGIub3BhY2l0eSl9LFQuY3NzYW5pbWF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBsKCJhbmltYXRpb25OYW1lIil9LFQuY3NzY29sdW1ucz1mdW5jdGlvbigpe3JldHVybiBsKCJjb2x1bW5Db3VudCIpfSxULmNzc2dyYWRpZW50cz1mdW5jdGlvbigpe3ZhciBlPSJiYWNrZ3JvdW5kLWltYWdlOiIsdD0iZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IGJvdHRvbSxmcm9tKCM5ZjkpLHRvKHdoaXRlKSk7IixuPSJsaW5lYXItZ3JhZGllbnQobGVmdCB0b3AsIzlmOSwgd2hpdGUpOyI7cmV0dXJuIHIoKGUrIi13ZWJraXQtICIuc3BsaXQoIiAiKS5qb2luKHQrZSkrdy5qb2luKG4rZSkpLnNsaWNlKDAsLWUubGVuZ3RoKSksaShiLmJhY2tncm91bmRJbWFnZSwiZ3JhZGllbnQiKX0sVC5jc3NyZWZsZWN0aW9ucz1mdW5jdGlvbigpe3JldHVybiBsKCJib3hSZWZsZWN0Iil9LFQuY3NzdHJhbnNmb3Jtcz1mdW5jdGlvbigpe3JldHVybiEhbCgidHJhbnNmb3JtIil9LFQuY3NzdHJhbnNmb3JtczNkPWZ1bmN0aW9uKCl7dmFyIGU9ISFsKCJwZXJzcGVjdGl2ZSIpO3JldHVybiBlJiYid2Via2l0UGVyc3BlY3RpdmUiaW4gZy5zdHlsZSYmQSgiQG1lZGlhICh0cmFuc2Zvcm0tM2QpLCgtd2Via2l0LXRyYW5zZm9ybS0zZCl7I21vZGVybml6cntsZWZ0OjlweDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6M3B4O319IixmdW5jdGlvbih0KXtlPTk9PT10Lm9mZnNldExlZnQmJjM9PT10Lm9mZnNldEhlaWdodH0pLGV9LFQuY3NzdHJhbnNpdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gbCgidHJhbnNpdGlvbiIpfSxULmZvbnRmYWNlPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIEEoJ0Bmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiJmb250IjtzcmM6dXJsKCJodHRwczovLyIpfScsZnVuY3Rpb24obixyKXt2YXIgbz10LmdldEVsZW1lbnRCeUlkKCJzbW9kZXJuaXpyIiksYT1vLnNoZWV0fHxvLnN0eWxlU2hlZXQsaT1hP2EuY3NzUnVsZXMmJmEuY3NzUnVsZXNbMF0/YS5jc3NSdWxlc1swXS5jc3NUZXh0OmEuY3NzVGV4dHx8IiI6IiI7ZT0vc3JjL2kudGVzdChpKSYmMD09PWkuaW5kZXhPZihyLnNwbGl0KCIgIilbMF0pfSksZX0sVC5nZW5lcmF0ZWRjb250ZW50PWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIEEoWyIjIix5LCJ7Zm9udDowLzAgYX0jIix5LCc6YWZ0ZXJ7Y29udGVudDoiJyx4LCciO3Zpc2liaWxpdHk6aGlkZGVuO2ZvbnQ6M3B4LzEgYX0nXS5qb2luKCIiKSxmdW5jdGlvbih0KXtlPXQub2Zmc2V0SGVpZ2h0Pj0zfSksZX0sVC52aWRlbz1mdW5jdGlvbigpe3ZhciBlPXQuY3JlYXRlRWxlbWVudCgidmlkZW8iKSxuPSExO3RyeXsobj0hIWUuY2FuUGxheVR5cGUpJiYobj1uZXcgQm9vbGVhbihuKSxuLm9nZz1lLmNhblBsYXlUeXBlKCd2aWRlby9vZ2c7IGNvZGVjcz0idGhlb3JhIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLmgyNjQ9ZS5jYW5QbGF5VHlwZSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLndlYm09ZS5jYW5QbGF5VHlwZSgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDgsIHZvcmJpcyInKS5yZXBsYWNlKC9ebm8kLywiIikpfWNhdGNoKHIpe31yZXR1cm4gbn0sVC5hdWRpbz1mdW5jdGlvbigpe3ZhciBlPXQuY3JlYXRlRWxlbWVudCgiYXVkaW8iKSxuPSExO3RyeXsobj0hIWUuY2FuUGxheVR5cGUpJiYobj1uZXcgQm9vbGVhbihuKSxuLm9nZz1lLmNhblBsYXlUeXBlKCdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLm1wMz1lLmNhblBsYXlUeXBlKCJhdWRpby9tcGVnOyIpLnJlcGxhY2UoL15ubyQvLCIiKSxuLndhdj1lLmNhblBsYXlUeXBlKCdhdWRpby93YXY7IGNvZGVjcz0iMSInKS5yZXBsYWNlKC9ebm8kLywiIiksbi5tNGE9KGUuY2FuUGxheVR5cGUoImF1ZGlvL3gtbTRhOyIpfHxlLmNhblBsYXlUeXBlKCJhdWRpby9hYWM7IikpLnJlcGxhY2UoL15ubyQvLCIiKSl9Y2F0Y2gocil7fXJldHVybiBufSxULmxvY2Fsc3RvcmFnZT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLnNldEl0ZW0oeSx5KSxsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh5KSwhMH1jYXRjaChlKXtyZXR1cm4hMX19LFQuc2Vzc2lvbnN0b3JhZ2U9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oeSx5KSxzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKHkpLCEwfWNhdGNoKGUpe3JldHVybiExfX0sVC53ZWJ3b3JrZXJzPWZ1bmN0aW9uKCl7cmV0dXJuISFlLldvcmtlcn0sVC5hcHBsaWNhdGlvbmNhY2hlPWZ1bmN0aW9uKCl7cmV0dXJuISFlLmFwcGxpY2F0aW9uQ2FjaGV9O2Zvcih2YXIgeiBpbiBUKWQoVCx6KSYmKGY9ei50b0xvd2VyQ2FzZSgpLG1bZl09VFt6XSgpLE0ucHVzaCgobVtmXT8iIjoibm8tIikrZikpO3JldHVybiBtLmlucHV0fHx1KCksbS5hZGRUZXN0PWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCI9PXR5cGVvZiBlKWZvcih2YXIgciBpbiBlKWQoZSxyKSYmbS5hZGRUZXN0KHIsZVtyXSk7ZWxzZXtpZihlPWUudG9Mb3dlckNhc2UoKSxtW2VdIT09bilyZXR1cm4gbTt0PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3QoKTp0LCJ1bmRlZmluZWQiIT10eXBlb2YgaCYmaCYmKGcuY2xhc3NOYW1lKz0iICIrKHQ/IiI6Im5vLSIpK2UpLG1bZV09dH1yZXR1cm4gbX0scigiIiksdj1FPW51bGwsZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZS5jcmVhdGVFbGVtZW50KCJwIikscj1lLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGUuZG9jdW1lbnRFbGVtZW50O3JldHVybiBuLmlubmVySFRNTD0ieDxzdHlsZT4iK3QrIjwvc3R5bGU+IixyLmluc2VydEJlZm9yZShuLmxhc3RDaGlsZCxyLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIHIoKXt2YXIgZT12LmVsZW1lbnRzO3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lLnNwbGl0KCIgIik6ZX1mdW5jdGlvbiBvKGUpe3ZhciB0PXlbZVtoXV07cmV0dXJuIHR8fCh0PXt9LGcrKyxlW2hdPWcseVtnXT10KSx0fWZ1bmN0aW9uIGEoZSxuLHIpe2lmKG58fChuPXQpLHUpcmV0dXJuIG4uY3JlYXRlRWxlbWVudChlKTtyfHwocj1vKG4pKTt2YXIgYTtyZXR1cm4gYT1yLmNhY2hlW2VdP3IuY2FjaGVbZV0uY2xvbmVOb2RlKCk6bS50ZXN0KGUpPyhyLmNhY2hlW2VdPXIuY3JlYXRlRWxlbShlKSkuY2xvbmVOb2RlKCk6ci5jcmVhdGVFbGVtKGUpLCFhLmNhbkhhdmVDaGlsZHJlbnx8cC50ZXN0KGUpfHxhLnRhZ1Vybj9hOnIuZnJhZy5hcHBlbmRDaGlsZChhKX1mdW5jdGlvbiBpKGUsbil7aWYoZXx8KGU9dCksdSlyZXR1cm4gZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7bj1ufHxvKGUpO2Zvcih2YXIgYT1uLmZyYWcuY2xvbmVOb2RlKCksaT0wLGM9cigpLHM9Yy5sZW5ndGg7cz5pO2krKylhLmNyZWF0ZUVsZW1lbnQoY1tpXSk7cmV0dXJuIGF9ZnVuY3Rpb24gYyhlLHQpe3QuY2FjaGV8fCh0LmNhY2hlPXt9LHQuY3JlYXRlRWxlbT1lLmNyZWF0ZUVsZW1lbnQsdC5jcmVhdGVGcmFnPWUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCx0LmZyYWc9dC5jcmVhdGVGcmFnKCkpLGUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdi5zaGl2TWV0aG9kcz9hKG4sZSx0KTp0LmNyZWF0ZUVsZW0obil9LGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIityKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtXSsvZyxmdW5jdGlvbihlKXtyZXR1cm4gdC5jcmVhdGVFbGVtKGUpLHQuZnJhZy5jcmVhdGVFbGVtZW50KGUpLCdjKCInK2UrJyIpJ30pKyIpO3JldHVybiBufSIpKHYsdC5mcmFnKX1mdW5jdGlvbiBzKGUpe2V8fChlPXQpO3ZhciByPW8oZSk7cmV0dXJuIHYuc2hpdkNTUyYmIWwmJiFyLmhhc0NTUyYmKHIuaGFzQ1NTPSEhbihlLCJhcnRpY2xlLGFzaWRlLGRpYWxvZyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxtYWluLG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9bWFya3tiYWNrZ3JvdW5kOiNGRjA7Y29sb3I6IzAwMH10ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9IikpLHV8fGMoZSxyKSxlfXZhciBsLHUsZj0iMy43LjAiLGQ9ZS5odG1sNXx8e30scD0vXjx8Xig/OmJ1dHRvbnxtYXB8c2VsZWN0fHRleHRhcmVhfG9iamVjdHxpZnJhbWV8b3B0aW9ufG9wdGdyb3VwKSQvaSxtPS9eKD86YXxifGNvZGV8ZGl2fGZpZWxkc2V0fGgxfGgyfGgzfGg0fGg1fGg2fGl8bGFiZWx8bGl8b2x8cHxxfHNwYW58c3Ryb25nfHN0eWxlfHRhYmxlfHRib2R5fHRkfHRofHRyfHVsKSQvaSxoPSJfaHRtbDVzaGl2IixnPTAseT17fTshZnVuY3Rpb24oKXt0cnl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJhIik7ZS5pbm5lckhUTUw9Ijx4eXo+PC94eXo+IixsPSJoaWRkZW4iaW4gZSx1PTE9PWUuY2hpbGROb2Rlcy5sZW5ndGh8fGZ1bmN0aW9uKCl7dC5jcmVhdGVFbGVtZW50KCJhIik7dmFyIGU9dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBlLmNsb25lTm9kZXx8InVuZGVmaW5lZCI9PXR5cGVvZiBlLmNyZWF0ZURvY3VtZW50RnJhZ21lbnR8fCJ1bmRlZmluZWQiPT10eXBlb2YgZS5jcmVhdGVFbGVtZW50fSgpfWNhdGNoKG4pe2w9ITAsdT0hMH19KCk7dmFyIHY9e2VsZW1lbnRzOmQuZWxlbWVudHN8fCJhYmJyIGFydGljbGUgYXNpZGUgYXVkaW8gYmRpIGNhbnZhcyBkYXRhIGRhdGFsaXN0IGRldGFpbHMgZGlhbG9nIGZpZ2NhcHRpb24gZmlndXJlIGZvb3RlciBoZWFkZXIgaGdyb3VwIG1haW4gbWFyayBtZXRlciBuYXYgb3V0cHV0IHByb2dyZXNzIHNlY3Rpb24gc3VtbWFyeSB0ZW1wbGF0ZSB0aW1lIHZpZGVvIix2ZXJzaW9uOmYsc2hpdkNTUzpkLnNoaXZDU1MhPT0hMSxzdXBwb3J0c1Vua25vd25FbGVtZW50czp1LHNoaXZNZXRob2RzOmQuc2hpdk1ldGhvZHMhPT0hMSx0eXBlOiJkZWZhdWx0IixzaGl2RG9jdW1lbnQ6cyxjcmVhdGVFbGVtZW50OmEsY3JlYXRlRG9jdW1lbnRGcmFnbWVudDppfTtlLmh0bWw1PXYscyh0KX0odGhpcyx0KSxtLl92ZXJzaW9uPXAsbS5fcHJlZml4ZXM9dyxtLl9kb21QcmVmaXhlcz1TLG0uX2Nzc29tUHJlZml4ZXM9ayxtLmhhc0V2ZW50PSQsbS50ZXN0UHJvcD1mdW5jdGlvbihlKXtyZXR1cm4gYyhbZV0pfSxtLnRlc3RBbGxQcm9wcz1sLG0udGVzdFN0eWxlcz1BLGcuY2xhc3NOYW1lPWcuY2xhc3NOYW1lLnJlcGxhY2UoLyhefFxzKW5vLWpzKFxzfCQpLywiJDEkMiIpKyhoPyIganMgIitNLmpvaW4oIiAiKToiIiksbX0odGhpcyx0aGlzLmRvY3VtZW50KSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcihlKXtyZXR1cm4iW29iamVjdCBGdW5jdGlvbl0iPT1nLmNhbGwoZSl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBpKGUpe3JldHVybiFlfHwibG9hZGVkIj09ZXx8ImNvbXBsZXRlIj09ZXx8InVuaW5pdGlhbGl6ZWQiPT1lfWZ1bmN0aW9uIGMoKXt2YXIgZT15LnNoaWZ0KCk7dj0xLGU/ZS50P20oZnVuY3Rpb24oKXsoImMiPT1lLnQ/ZC5pbmplY3RDc3M6ZC5pbmplY3RKcykoZS5zLDAsZS5hLGUueCxlLmUsMSl9LDApOihlKCksYygpKTp2PTB9ZnVuY3Rpb24gcyhlLG4scixvLGEscyxsKXtmdW5jdGlvbiB1KHQpe2lmKCFwJiZpKGYucmVhZHlTdGF0ZSkmJihiLnI9cD0xLCF2JiZjKCksZi5vbmxvYWQ9Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCx0KSl7ImltZyIhPWUmJm0oZnVuY3Rpb24oKXt4LnJlbW92ZUNoaWxkKGYpfSw1MCk7Zm9yKHZhciByIGluIFRbbl0pVFtuXS5oYXNPd25Qcm9wZXJ0eShyKSYmVFtuXVtyXS5vbmxvYWQoKX19dmFyIGw9bHx8ZC5lcnJvclRpbWVvdXQsZj10LmNyZWF0ZUVsZW1lbnQoZSkscD0wLGc9MCxiPXt0OnIsczpuLGU6YSxhOnMseDpsfTsxPT09VFtuXSYmKGc9MSxUW25dPVtdKSwib2JqZWN0Ij09ZT9mLmRhdGE9bjooZi5zcmM9bixmLnR5cGU9ZSksZi53aWR0aD1mLmhlaWdodD0iMCIsZi5vbmVycm9yPWYub25sb2FkPWYub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7dS5jYWxsKHRoaXMsZyl9LHkuc3BsaWNlKG8sMCxiKSwiaW1nIiE9ZSYmKGd8fDI9PT1UW25dPyh4Lmluc2VydEJlZm9yZShmLEU/bnVsbDpoKSxtKHUsbCkpOlRbbl0ucHVzaChmKSl9ZnVuY3Rpb24gbChlLHQsbixyLGEpe3JldHVybiB2PTAsdD10fHwiaiIsbyhlKT9zKCJjIj09dD9DOncsZSx0LHRoaXMuaSsrLG4scixhKTooeS5zcGxpY2UodGhpcy5pKyssMCxlKSwxPT15Lmxlbmd0aCYmYygpKSx0aGlzfWZ1bmN0aW9uIHUoKXt2YXIgZT1kO3JldHVybiBlLmxvYWRlcj17bG9hZDpsLGk6MH0sZX12YXIgZixkLHA9dC5kb2N1bWVudEVsZW1lbnQsbT1lLnNldFRpbWVvdXQsaD10LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXSxnPXt9LnRvU3RyaW5nLHk9W10sdj0wLGI9Ik1vekFwcGVhcmFuY2UiaW4gcC5zdHlsZSxFPWImJiEhdC5jcmVhdGVSYW5nZSgpLmNvbXBhcmVOb2RlLHg9RT9wOmgucGFyZW50Tm9kZSxwPWUub3BlcmEmJiJbb2JqZWN0IE9wZXJhXSI9PWcuY2FsbChlLm9wZXJhKSxwPSEhdC5hdHRhY2hFdmVudCYmIXAsdz1iPyJvYmplY3QiOnA/InNjcmlwdCI6ImltZyIsQz1wPyJzY3JpcHQiOncsaz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT1nLmNhbGwoZSl9LFM9W10sVD17fSxqPXt0aW1lb3V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQubGVuZ3RoJiYoZS50aW1lb3V0PXRbMF0pLGV9fTtkPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7dmFyIHQsbixyLGU9ZS5zcGxpdCgiISIpLG89Uy5sZW5ndGgsYT1lLnBvcCgpLGk9ZS5sZW5ndGgsYT17dXJsOmEsb3JpZ1VybDphLHByZWZpeGVzOmV9O2ZvcihuPTA7aT5uO24rKylyPWVbbl0uc3BsaXQoIj0iKSwodD1qW3Iuc2hpZnQoKV0pJiYoYT10KGEscikpO2ZvcihuPTA7bz5uO24rKylhPVNbbl0oYSk7cmV0dXJuIGF9ZnVuY3Rpb24gaShlLG8sYSxpLGMpe3ZhciBzPXQoZSksbD1zLmF1dG9DYWxsYmFjaztzLnVybC5zcGxpdCgiLiIpLnBvcCgpLnNwbGl0KCI/Iikuc2hpZnQoKSxzLmJ5cGFzc3x8KG8mJihvPXIobyk/bzpvW2VdfHxvW2ldfHxvW2Uuc3BsaXQoIi8iKS5wb3AoKS5zcGxpdCgiPyIpWzBdXSkscy5pbnN0ZWFkP3MuaW5zdGVhZChlLG8sYSxpLGMpOihUW3MudXJsXT9zLm5vZXhlYz0hMDpUW3MudXJsXT0xLGEubG9hZChzLnVybCxzLmZvcmNlQ1NTfHwhcy5mb3JjZUpTJiYiY3NzIj09cy51cmwuc3BsaXQoIi4iKS5wb3AoKS5zcGxpdCgiPyIpLnNoaWZ0KCk/ImMiOm4scy5ub2V4ZWMscy5hdHRycyxzLnRpbWVvdXQpLChyKG8pfHxyKGwpKSYmYS5sb2FkKGZ1bmN0aW9uKCl7dSgpLG8mJm8ocy5vcmlnVXJsLGMsaSksbCYmbChzLm9yaWdVcmwsYyxpKSxUW3MudXJsXT0yfSkpKX1mdW5jdGlvbiBjKGUsdCl7ZnVuY3Rpb24gbihlLG4pe2lmKGUpe2lmKG8oZSkpbnx8KGY9ZnVuY3Rpb24oKXt2YXIgZT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7ZC5hcHBseSh0aGlzLGUpLHAoKX0pLGkoZSxmLHQsMCxsKTtlbHNlIGlmKE9iamVjdChlKT09PWUpZm9yKHMgaW4gYz1mdW5jdGlvbigpe3ZhciB0LG49MDtmb3IodCBpbiBlKWUuaGFzT3duUHJvcGVydHkodCkmJm4rKztyZXR1cm4gbn0oKSxlKWUuaGFzT3duUHJvcGVydHkocykmJighbiYmIS0tYyYmKHIoZik/Zj1mdW5jdGlvbigpe3ZhciBlPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtkLmFwcGx5KHRoaXMsZSkscCgpfTpmW3NdPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciB0PVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtlJiZlLmFwcGx5KHRoaXMsdCkscCgpfX0oZFtzXSkpLGkoZVtzXSxmLHQscyxsKSl9ZWxzZSFuJiZwKCl9dmFyIGMscyxsPSEhZS50ZXN0LHU9ZS5sb2FkfHxlLmJvdGgsZj1lLmNhbGxiYWNrfHxhLGQ9ZixwPWUuY29tcGxldGV8fGE7bihsP2UueWVwOmUubm9wZSwhIXUpLHUmJm4odSl9dmFyIHMsbCxmPXRoaXMueWVwbm9wZS5sb2FkZXI7aWYobyhlKSlpKGUsMCxmLDApO2Vsc2UgaWYoayhlKSlmb3Iocz0wO3M8ZS5sZW5ndGg7cysrKWw9ZVtzXSxvKGwpP2kobCwwLGYsMCk6ayhsKT9kKGwpOk9iamVjdChsKT09PWwmJmMobCxmKTtlbHNlIE9iamVjdChlKT09PWUmJmMoZSxmKX0sZC5hZGRQcmVmaXg9ZnVuY3Rpb24oZSx0KXtqW2VdPXR9LGQuYWRkRmlsdGVyPWZ1bmN0aW9uKGUpe1MucHVzaChlKX0sZC5lcnJvclRpbWVvdXQ9MWU0LG51bGw9PXQucmVhZHlTdGF0ZSYmdC5hZGRFdmVudExpc3RlbmVyJiYodC5yZWFkeVN0YXRlPSJsb2FkaW5nIix0LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGY9ZnVuY3Rpb24oKXt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGYsMCksdC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LDApKSxlLnllcG5vcGU9dSgpLGUueWVwbm9wZS5leGVjdXRlU3RhY2s9YyxlLnllcG5vcGUuaW5qZWN0SnM9ZnVuY3Rpb24oZSxuLHIsbyxzLGwpe3ZhciB1LGYscD10LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLG89b3x8ZC5lcnJvclRpbWVvdXQ7cC5zcmM9ZTtmb3IoZiBpbiByKXAuc2V0QXR0cmlidXRlKGYscltmXSk7bj1sP2M6bnx8YSxwLm9ucmVhZHlzdGF0ZWNoYW5nZT1wLm9ubG9hZD1mdW5jdGlvbigpeyF1JiZpKHAucmVhZHlTdGF0ZSkmJih1PTEsbigpLHAub25sb2FkPXAub25yZWFkeXN0YXRlY2hhbmdlPW51bGwpfSxtKGZ1bmN0aW9uKCl7dXx8KHU9MSxuKDEpKX0sbykscz9wLm9ubG9hZCgpOmgucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocCxoKX0sZS55ZXBub3BlLmluamVjdENzcz1mdW5jdGlvbihlLG4scixvLGkscyl7dmFyIGwsbz10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxuPXM/YzpufHxhO28uaHJlZj1lLG8ucmVsPSJzdHlsZXNoZWV0IixvLnR5cGU9InRleHQvY3NzIjtmb3IobCBpbiByKW8uc2V0QXR0cmlidXRlKGwscltsXSk7aXx8KGgucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobyxoKSxtKG4sMCkpfX0odGhpcyxkb2N1bWVudCksTW9kZXJuaXpyLmxvYWQ9ZnVuY3Rpb24oKXt5ZXBub3BlLmFwcGx5KHdpbmRvdyxbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSl9Ow==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/plugins.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXt2YXIgdD1lLmxlbmd0aCxuPWx0LnR5cGUoZSk7cmV0dXJuIGx0LmlzV2luZG93KGUpPyExOjE9PT1lLm5vZGVUeXBlJiZ0PyEwOiJhcnJheSI9PT1ufHwiZnVuY3Rpb24iIT09biYmKDA9PT10fHwibnVtYmVyIj09dHlwZW9mIHQmJnQ+MCYmdC0xIGluIGUpfWZ1bmN0aW9uIGkoZSl7dmFyIHQ9a3RbZV09e307cmV0dXJuIGx0LmVhY2goZS5tYXRjaCh1dCl8fFtdLGZ1bmN0aW9uKGUsbil7dFtuXT0hMH0pLHR9ZnVuY3Rpb24gbyhlLG4saSxvKXtpZihsdC5hY2NlcHREYXRhKGUpKXt2YXIgcixzLGE9bHQuZXhwYW5kbyxsPSJzdHJpbmciPT10eXBlb2YgbixjPWUubm9kZVR5cGUsdT1jP2x0LmNhY2hlOmUsZD1jP2VbYV06ZVthXSYmYTtpZihkJiZ1W2RdJiYob3x8dVtkXS5kYXRhKXx8IWx8fGkhPT10KXJldHVybiBkfHwoYz9lW2FdPWQ9Wi5wb3AoKXx8bHQuZ3VpZCsrOmQ9YSksdVtkXXx8KHVbZF09e30sY3x8KHVbZF0udG9KU09OPWx0Lm5vb3ApKSwoIm9iamVjdCI9PXR5cGVvZiBufHwiZnVuY3Rpb24iPT10eXBlb2YgbikmJihvP3VbZF09bHQuZXh0ZW5kKHVbZF0sbik6dVtkXS5kYXRhPWx0LmV4dGVuZCh1W2RdLmRhdGEsbikpLHI9dVtkXSxvfHwoci5kYXRhfHwoci5kYXRhPXt9KSxyPXIuZGF0YSksaSE9PXQmJihyW2x0LmNhbWVsQ2FzZShuKV09aSksbD8ocz1yW25dLG51bGw9PXMmJihzPXJbbHQuY2FtZWxDYXNlKG4pXSkpOnM9cixzfX1mdW5jdGlvbiByKGUsdCxuKXtpZihsdC5hY2NlcHREYXRhKGUpKXt2YXIgaSxvLHIscz1lLm5vZGVUeXBlLGw9cz9sdC5jYWNoZTplLGM9cz9lW2x0LmV4cGFuZG9dOmx0LmV4cGFuZG87aWYobFtjXSl7aWYodCYmKHI9bj9sW2NdOmxbY10uZGF0YSkpe2x0LmlzQXJyYXkodCk/dD10LmNvbmNhdChsdC5tYXAodCxsdC5jYW1lbENhc2UpKTp0IGluIHI/dD1bdF06KHQ9bHQuY2FtZWxDYXNlKHQpLHQ9dCBpbiByP1t0XTp0LnNwbGl0KCIgIikpO2ZvcihpPTAsbz10Lmxlbmd0aDtvPmk7aSsrKWRlbGV0ZSByW3RbaV1dO2lmKCEobj9hOmx0LmlzRW1wdHlPYmplY3QpKHIpKXJldHVybn0obnx8KGRlbGV0ZSBsW2NdLmRhdGEsYShsW2NdKSkpJiYocz9sdC5jbGVhbkRhdGEoW2VdLCEwKTpsdC5zdXBwb3J0LmRlbGV0ZUV4cGFuZG98fGwhPWwud2luZG93P2RlbGV0ZSBsW2NdOmxbY109bnVsbCl9fX1mdW5jdGlvbiBzKGUsbixpKXtpZihpPT09dCYmMT09PWUubm9kZVR5cGUpe3ZhciBvPSJkYXRhLSIrbi5yZXBsYWNlKEV0LCItJDEiKS50b0xvd2VyQ2FzZSgpO2lmKGk9ZS5nZXRBdHRyaWJ1dGUobyksInN0cmluZyI9PXR5cGVvZiBpKXt0cnl7aT0idHJ1ZSI9PT1pPyEwOiJmYWxzZSI9PT1pPyExOiJudWxsIj09PWk/bnVsbDoraSsiIj09PWk/K2k6VHQudGVzdChpKT9sdC5wYXJzZUpTT04oaSk6aX1jYXRjaChyKXt9bHQuZGF0YShlLG4saSl9ZWxzZSBpPXR9cmV0dXJuIGl9ZnVuY3Rpb24gYShlKXt2YXIgdDtmb3IodCBpbiBlKWlmKCgiZGF0YSIhPT10fHwhbHQuaXNFbXB0eU9iamVjdChlW3RdKSkmJiJ0b0pTT04iIT09dClyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBsKCl7cmV0dXJuITB9ZnVuY3Rpb24gYygpe3JldHVybiExfWZ1bmN0aW9uIHUoZSx0KXtkbyBlPWVbdF07d2hpbGUoZSYmMSE9PWUubm9kZVR5cGUpO3JldHVybiBlfWZ1bmN0aW9uIGQoZSx0LG4pe2lmKHQ9dHx8MCxsdC5pc0Z1bmN0aW9uKHQpKXJldHVybiBsdC5ncmVwKGUsZnVuY3Rpb24oZSxpKXt2YXIgbz0hIXQuY2FsbChlLGksZSk7cmV0dXJuIG89PT1ufSk7aWYodC5ub2RlVHlwZSlyZXR1cm4gbHQuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dD09PW59KTtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBpPWx0LmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV9KTtpZihCdC50ZXN0KHQpKXJldHVybiBsdC5maWx0ZXIodCxpLCFuKTt0PWx0LmZpbHRlcih0LGkpfXJldHVybiBsdC5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGx0LmluQXJyYXkoZSx0KT49MD09PW59KX1mdW5jdGlvbiBwKGUpe3ZhciB0PVh0LnNwbGl0KCJ8Iiksbj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihuLmNyZWF0ZUVsZW1lbnQpZm9yKDt0Lmxlbmd0aDspbi5jcmVhdGVFbGVtZW50KHQucG9wKCkpO3JldHVybiBufWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0KVswXXx8ZS5hcHBlbmRDaGlsZChlLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0KSl9ZnVuY3Rpb24gZihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZU5vZGUoInR5cGUiKTtyZXR1cm4gZS50eXBlPSh0JiZ0LnNwZWNpZmllZCkrIi8iK2UudHlwZSxlfWZ1bmN0aW9uIG0oZSl7dmFyIHQ9cm4uZXhlYyhlLnR5cGUpO3JldHVybiB0P2UudHlwZT10WzFdOmUucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksZX1mdW5jdGlvbiBnKGUsdCl7Zm9yKHZhciBuLGk9MDtudWxsIT0obj1lW2ldKTtpKyspbHQuX2RhdGEobiwiZ2xvYmFsRXZhbCIsIXR8fGx0Ll9kYXRhKHRbaV0sImdsb2JhbEV2YWwiKSl9ZnVuY3Rpb24gdihlLHQpe2lmKDE9PT10Lm5vZGVUeXBlJiZsdC5oYXNEYXRhKGUpKXt2YXIgbixpLG8scj1sdC5fZGF0YShlKSxzPWx0Ll9kYXRhKHQsciksYT1yLmV2ZW50cztpZihhKXtkZWxldGUgcy5oYW5kbGUscy5ldmVudHM9e307Zm9yKG4gaW4gYSlmb3IoaT0wLG89YVtuXS5sZW5ndGg7bz5pO2krKylsdC5ldmVudC5hZGQodCxuLGFbbl1baV0pfXMuZGF0YSYmKHMuZGF0YT1sdC5leHRlbmQoe30scy5kYXRhKSl9fWZ1bmN0aW9uIHkoZSx0KXt2YXIgbixpLG87aWYoMT09PXQubm9kZVR5cGUpe2lmKG49dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLCFsdC5zdXBwb3J0Lm5vQ2xvbmVFdmVudCYmdFtsdC5leHBhbmRvXSl7bz1sdC5fZGF0YSh0KTtmb3IoaSBpbiBvLmV2ZW50cylsdC5yZW1vdmVFdmVudCh0LGksby5oYW5kbGUpO3QucmVtb3ZlQXR0cmlidXRlKGx0LmV4cGFuZG8pfSJzY3JpcHQiPT09biYmdC50ZXh0IT09ZS50ZXh0PyhmKHQpLnRleHQ9ZS50ZXh0LG0odCkpOiJvYmplY3QiPT09bj8odC5wYXJlbnROb2RlJiYodC5vdXRlckhUTUw9ZS5vdXRlckhUTUwpLGx0LnN1cHBvcnQuaHRtbDVDbG9uZSYmZS5pbm5lckhUTUwmJiFsdC50cmltKHQuaW5uZXJIVE1MKSYmKHQuaW5uZXJIVE1MPWUuaW5uZXJIVE1MKSk6ImlucHV0Ij09PW4mJnRuLnRlc3QoZS50eXBlKT8odC5kZWZhdWx0Q2hlY2tlZD10LmNoZWNrZWQ9ZS5jaGVja2VkLHQudmFsdWUhPT1lLnZhbHVlJiYodC52YWx1ZT1lLnZhbHVlKSk6Im9wdGlvbiI9PT1uP3QuZGVmYXVsdFNlbGVjdGVkPXQuc2VsZWN0ZWQ9ZS5kZWZhdWx0U2VsZWN0ZWQ6KCJpbnB1dCI9PT1ufHwidGV4dGFyZWEiPT09bikmJih0LmRlZmF1bHRWYWx1ZT1lLmRlZmF1bHRWYWx1ZSl9fWZ1bmN0aW9uIGIoZSxuKXt2YXIgaSxvLHI9MCxzPXR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09WT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKG58fCIqIik6dHlwZW9mIGUucXVlcnlTZWxlY3RvckFsbCE9PVk/ZS5xdWVyeVNlbGVjdG9yQWxsKG58fCIqIik6dDtpZighcylmb3Iocz1bXSxpPWUuY2hpbGROb2Rlc3x8ZTtudWxsIT0obz1pW3JdKTtyKyspIW58fGx0Lm5vZGVOYW1lKG8sbik/cy5wdXNoKG8pOmx0Lm1lcmdlKHMsYihvLG4pKTtyZXR1cm4gbj09PXR8fG4mJmx0Lm5vZGVOYW1lKGUsbik/bHQubWVyZ2UoW2VdLHMpOnN9ZnVuY3Rpb24gdyhlKXt0bi50ZXN0KGUudHlwZSkmJihlLmRlZmF1bHRDaGVja2VkPWUuY2hlY2tlZCl9ZnVuY3Rpb24geChlLHQpe2lmKHQgaW4gZSlyZXR1cm4gdDtmb3IodmFyIG49dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpLGk9dCxvPUVuLmxlbmd0aDtvLS07KWlmKHQ9RW5bb10rbix0IGluIGUpcmV0dXJuIHQ7cmV0dXJuIGl9ZnVuY3Rpb24gQyhlLHQpe3JldHVybiBlPXR8fGUsIm5vbmUiPT09bHQuY3NzKGUsImRpc3BsYXkiKXx8IWx0LmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKX1mdW5jdGlvbiBrKGUsdCl7Zm9yKHZhciBuLGksbyxyPVtdLHM9MCxhPWUubGVuZ3RoO2E+cztzKyspaT1lW3NdLGkuc3R5bGUmJihyW3NdPWx0Ll9kYXRhKGksIm9sZGRpc3BsYXkiKSxuPWkuc3R5bGUuZGlzcGxheSx0PyhyW3NdfHwibm9uZSIhPT1ufHwoaS5zdHlsZS5kaXNwbGF5PSIiKSwiIj09PWkuc3R5bGUuZGlzcGxheSYmQyhpKSYmKHJbc109bHQuX2RhdGEoaSwib2xkZGlzcGxheSIsTihpLm5vZGVOYW1lKSkpKTpyW3NdfHwobz1DKGkpLChuJiYibm9uZSIhPT1ufHwhbykmJmx0Ll9kYXRhKGksIm9sZGRpc3BsYXkiLG8/bjpsdC5jc3MoaSwiZGlzcGxheSIpKSkpO2ZvcihzPTA7YT5zO3MrKylpPWVbc10saS5zdHlsZSYmKHQmJiJub25lIiE9PWkuc3R5bGUuZGlzcGxheSYmIiIhPT1pLnN0eWxlLmRpc3BsYXl8fChpLnN0eWxlLmRpc3BsYXk9dD9yW3NdfHwiIjoibm9uZSIpKTtyZXR1cm4gZX1mdW5jdGlvbiBUKGUsdCxuKXt2YXIgaT15bi5leGVjKHQpO3JldHVybiBpP01hdGgubWF4KDAsaVsxXS0obnx8MCkpKyhpWzJdfHwicHgiKTp0fWZ1bmN0aW9uIEUoZSx0LG4saSxvKXtmb3IodmFyIHI9bj09PShpPyJib3JkZXIiOiJjb250ZW50Iik/NDoid2lkdGgiPT09dD8xOjAscz0wOzQ+cjtyKz0yKSJtYXJnaW4iPT09biYmKHMrPWx0LmNzcyhlLG4rVG5bcl0sITAsbykpLGk/KCJjb250ZW50Ij09PW4mJihzLT1sdC5jc3MoZSwicGFkZGluZyIrVG5bcl0sITAsbykpLCJtYXJnaW4iIT09biYmKHMtPWx0LmNzcyhlLCJib3JkZXIiK1RuW3JdKyJXaWR0aCIsITAsbykpKToocys9bHQuY3NzKGUsInBhZGRpbmciK1RuW3JdLCEwLG8pLCJwYWRkaW5nIiE9PW4mJihzKz1sdC5jc3MoZSwiYm9yZGVyIitUbltyXSsiV2lkdGgiLCEwLG8pKSk7cmV0dXJuIHN9ZnVuY3Rpb24gJChlLHQsbil7dmFyIGk9ITAsbz0id2lkdGgiPT09dD9lLm9mZnNldFdpZHRoOmUub2Zmc2V0SGVpZ2h0LHI9ZG4oZSkscz1sdC5zdXBwb3J0LmJveFNpemluZyYmImJvcmRlci1ib3giPT09bHQuY3NzKGUsImJveFNpemluZyIsITEscik7aWYoMD49b3x8bnVsbD09byl7aWYobz1wbihlLHQsciksKDA+b3x8bnVsbD09bykmJihvPWUuc3R5bGVbdF0pLGJuLnRlc3QobykpcmV0dXJuIG87aT1zJiYobHQuc3VwcG9ydC5ib3hTaXppbmdSZWxpYWJsZXx8bz09PWUuc3R5bGVbdF0pLG89cGFyc2VGbG9hdChvKXx8MH1yZXR1cm4gbytFKGUsdCxufHwocz8iYm9yZGVyIjoiY29udGVudCIpLGkscikrInB4In1mdW5jdGlvbiBOKGUpe3ZhciB0PVEsbj14bltlXTtyZXR1cm4gbnx8KG49XyhlLHQpLCJub25lIiE9PW4mJm58fCh1bj0odW58fGx0KCI8aWZyYW1lIGZyYW1lYm9yZGVyPScwJyB3aWR0aD0nMCcgaGVpZ2h0PScwJy8+IikuY3NzKCJjc3NUZXh0IiwiZGlzcGxheTpibG9jayAhaW1wb3J0YW50IikpLmFwcGVuZFRvKHQuZG9jdW1lbnRFbGVtZW50KSx0PSh1blswXS5jb250ZW50V2luZG93fHx1blswXS5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50LHQud3JpdGUoIjwhZG9jdHlwZSBodG1sPjxodG1sPjxib2R5PiIpLHQuY2xvc2UoKSxuPV8oZSx0KSx1bi5kZXRhY2goKSkseG5bZV09biksbn1mdW5jdGlvbiBfKGUsdCl7dmFyIG49bHQodC5jcmVhdGVFbGVtZW50KGUpKS5hcHBlbmRUbyh0LmJvZHkpLGk9bHQuY3NzKG5bMF0sImRpc3BsYXkiKTtyZXR1cm4gbi5yZW1vdmUoKSxpfWZ1bmN0aW9uIFMoZSx0LG4saSl7dmFyIG87aWYobHQuaXNBcnJheSh0KSlsdC5lYWNoKHQsZnVuY3Rpb24odCxvKXtufHxObi50ZXN0KGUpP2koZSxvKTpTKGUrIlsiKygib2JqZWN0Ij09dHlwZW9mIG8/dDoiIikrIl0iLG8sbixpKX0pO2Vsc2UgaWYobnx8Im9iamVjdCIhPT1sdC50eXBlKHQpKWkoZSx0KTtlbHNlIGZvcihvIGluIHQpUyhlKyJbIitvKyJdIix0W29dLG4saSl9ZnVuY3Rpb24gRChlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXsic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iKiIpO3ZhciBpLG89MCxyPXQudG9Mb3dlckNhc2UoKS5tYXRjaCh1dCl8fFtdO2lmKGx0LmlzRnVuY3Rpb24obikpZm9yKDtpPXJbbysrXTspIisiPT09aVswXT8oaT1pLnNsaWNlKDEpfHwiKiIsKGVbaV09ZVtpXXx8W10pLnVuc2hpZnQobikpOihlW2ldPWVbaV18fFtdKS5wdXNoKG4pfX1mdW5jdGlvbiBBKGUsdCxuLGkpe2Z1bmN0aW9uIG8oYSl7dmFyIGw7cmV0dXJuIHJbYV09ITAsbHQuZWFjaChlW2FdfHxbXSxmdW5jdGlvbihlLGEpe3ZhciBjPWEodCxuLGkpO3JldHVybiJzdHJpbmciIT10eXBlb2YgY3x8c3x8cltjXT9zPyEobD1jKTp2b2lkIDA6KHQuZGF0YVR5cGVzLnVuc2hpZnQoYyksbyhjKSwhMSl9KSxsfXZhciByPXt9LHM9ZT09PXFuO3JldHVybiBvKHQuZGF0YVR5cGVzWzBdKXx8IXJbIioiXSYmbygiKiIpfWZ1bmN0aW9uIE0oZSxuKXt2YXIgaSxvLHI9bHQuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IobyBpbiBuKW5bb10hPT10JiYoKHJbb10/ZTppfHwoaT17fSkpW29dPW5bb10pO3JldHVybiBpJiZsdC5leHRlbmQoITAsZSxpKSxlfWZ1bmN0aW9uIEwoZSxuLGkpe3ZhciBvLHIscyxhLGw9ZS5jb250ZW50cyxjPWUuZGF0YVR5cGVzLHU9ZS5yZXNwb25zZUZpZWxkcztmb3IoYSBpbiB1KWEgaW4gaSYmKG5bdVthXV09aVthXSk7Zm9yKDsiKiI9PT1jWzBdOyljLnNoaWZ0KCkscj09PXQmJihyPWUubWltZVR5cGV8fG4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihyKWZvcihhIGluIGwpaWYobFthXSYmbFthXS50ZXN0KHIpKXtjLnVuc2hpZnQoYSk7YnJlYWt9aWYoY1swXWluIGkpcz1jWzBdO2Vsc2V7Zm9yKGEgaW4gaSl7aWYoIWNbMF18fGUuY29udmVydGVyc1thKyIgIitjWzBdXSl7cz1hO2JyZWFrfW98fChvPWEpfXM9c3x8b31yZXR1cm4gcz8ocyE9PWNbMF0mJmMudW5zaGlmdChzKSxpW3NdKTp2b2lkIDB9ZnVuY3Rpb24gUChlLHQpe3ZhciBuLGksbyxyLHM9e30sYT0wLGw9ZS5kYXRhVHlwZXMuc2xpY2UoKSxjPWxbMF07aWYoZS5kYXRhRmlsdGVyJiYodD1lLmRhdGFGaWx0ZXIodCxlLmRhdGFUeXBlKSksbFsxXSlmb3IobyBpbiBlLmNvbnZlcnRlcnMpc1tvLnRvTG93ZXJDYXNlKCldPWUuY29udmVydGVyc1tvXTtmb3IoO2k9bFsrK2FdOylpZigiKiIhPT1pKXtpZigiKiIhPT1jJiZjIT09aSl7aWYobz1zW2MrIiAiK2ldfHxzWyIqICIraV0sIW8pZm9yKG4gaW4gcylpZihyPW4uc3BsaXQoIiAiKSxyWzFdPT09aSYmKG89c1tjKyIgIityWzBdXXx8c1siKiAiK3JbMF1dKSl7bz09PSEwP289c1tuXTpzW25dIT09ITAmJihpPXJbMF0sbC5zcGxpY2UoYS0tLDAsaSkpO2JyZWFrfWlmKG8hPT0hMClpZihvJiZlWyJ0aHJvd3MiXSl0PW8odCk7ZWxzZSB0cnl7dD1vKHQpfWNhdGNoKHUpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOm8/dToiTm8gY29udmVyc2lvbiBmcm9tICIrYysiIHRvICIraX19fWM9aX1yZXR1cm57c3RhdGU6InN1Y2Nlc3MiLGRhdGE6dH19ZnVuY3Rpb24gRigpe3RyeXtyZXR1cm4gbmV3IGUuWE1MSHR0cFJlcXVlc3R9Y2F0Y2godCl7fX1mdW5jdGlvbiBPKCl7dHJ5e3JldHVybiBuZXcgZS5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKHQpe319ZnVuY3Rpb24gSSgpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Wm49dH0pLFpuPWx0Lm5vdygpfWZ1bmN0aW9uIEgoZSx0KXtsdC5lYWNoKHQsZnVuY3Rpb24odCxuKXtmb3IodmFyIGk9KHJpW3RdfHxbXSkuY29uY2F0KHJpWyIqIl0pLG89MCxyPWkubGVuZ3RoO3I+bztvKyspaWYoaVtvXS5jYWxsKGUsdCxuKSlyZXR1cm59KX1mdW5jdGlvbiBqKGUsdCxuKXt2YXIgaSxvLHI9MCxzPW9pLmxlbmd0aCxhPWx0LkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIGwuZWxlbX0pLGw9ZnVuY3Rpb24oKXtpZihvKXJldHVybiExO2Zvcih2YXIgdD1abnx8SSgpLG49TWF0aC5tYXgoMCxjLnN0YXJ0VGltZStjLmR1cmF0aW9uLXQpLGk9bi9jLmR1cmF0aW9ufHwwLHI9MS1pLHM9MCxsPWMudHdlZW5zLmxlbmd0aDtsPnM7cysrKWMudHdlZW5zW3NdLnJ1bihyKTtyZXR1cm4gYS5ub3RpZnlXaXRoKGUsW2MscixuXSksMT5yJiZsP246KGEucmVzb2x2ZVdpdGgoZSxbY10pLCExKX0sYz1hLnByb21pc2Uoe2VsZW06ZSxwcm9wczpsdC5leHRlbmQoe30sdCksb3B0czpsdC5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LG4pLG9yaWdpbmFsUHJvcGVydGllczp0LG9yaWdpbmFsT3B0aW9uczpuLHN0YXJ0VGltZTpabnx8SSgpLGR1cmF0aW9uOm4uZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKHQsbil7dmFyIGk9bHQuVHdlZW4oZSxjLm9wdHMsdCxuLGMub3B0cy5zcGVjaWFsRWFzaW5nW3RdfHxjLm9wdHMuZWFzaW5nKTtyZXR1cm4gYy50d2VlbnMucHVzaChpKSxpfSxzdG9wOmZ1bmN0aW9uKHQpe3ZhciBuPTAsaT10P2MudHdlZW5zLmxlbmd0aDowO2lmKG8pcmV0dXJuIHRoaXM7Zm9yKG89ITA7aT5uO24rKyljLnR3ZWVuc1tuXS5ydW4oMSk7cmV0dXJuIHQ/YS5yZXNvbHZlV2l0aChlLFtjLHRdKTphLnJlamVjdFdpdGgoZSxbYyx0XSksdGhpc319KSx1PWMucHJvcHM7Zm9yKHoodSxjLm9wdHMuc3BlY2lhbEVhc2luZyk7cz5yO3IrKylpZihpPW9pW3JdLmNhbGwoYyxlLHUsYy5vcHRzKSlyZXR1cm4gaTtyZXR1cm4gSChjLHUpLGx0LmlzRnVuY3Rpb24oYy5vcHRzLnN0YXJ0KSYmYy5vcHRzLnN0YXJ0LmNhbGwoZSxjKSxsdC5meC50aW1lcihsdC5leHRlbmQobCx7ZWxlbTplLGFuaW06YyxxdWV1ZTpjLm9wdHMucXVldWV9KSksYy5wcm9ncmVzcyhjLm9wdHMucHJvZ3Jlc3MpLmRvbmUoYy5vcHRzLmRvbmUsYy5vcHRzLmNvbXBsZXRlKS5mYWlsKGMub3B0cy5mYWlsKS5hbHdheXMoYy5vcHRzLmFsd2F5cyl9ZnVuY3Rpb24geihlLHQpe3ZhciBuLGksbyxyLHM7Zm9yKG8gaW4gZSlpZihpPWx0LmNhbWVsQ2FzZShvKSxyPXRbaV0sbj1lW29dLGx0LmlzQXJyYXkobikmJihyPW5bMV0sbj1lW29dPW5bMF0pLG8hPT1pJiYoZVtpXT1uLGRlbGV0ZSBlW29dKSxzPWx0LmNzc0hvb2tzW2ldLHMmJiJleHBhbmQiaW4gcyl7bj1zLmV4cGFuZChuKSxkZWxldGUgZVtpXTtmb3IobyBpbiBuKW8gaW4gZXx8KGVbb109bltvXSx0W29dPXIpfWVsc2UgdFtpXT1yfWZ1bmN0aW9uIFcoZSx0LG4pe3ZhciBpLG8scixzLGEsbCxjLHUsZCxwPXRoaXMsaD1lLnN0eWxlLGY9e30sbT1bXSxnPWUubm9kZVR5cGUmJkMoZSk7bi5xdWV1ZXx8KHU9bHQuX3F1ZXVlSG9va3MoZSwiZngiKSxudWxsPT11LnVucXVldWVkJiYodS51bnF1ZXVlZD0wLGQ9dS5lbXB0eS5maXJlLHUuZW1wdHkuZmlyZT1mdW5jdGlvbigpe3UudW5xdWV1ZWR8fGQoKX0pLHUudW5xdWV1ZWQrKyxwLmFsd2F5cyhmdW5jdGlvbigpe3AuYWx3YXlzKGZ1bmN0aW9uKCl7dS51bnF1ZXVlZC0tLGx0LnF1ZXVlKGUsImZ4IikubGVuZ3RofHx1LmVtcHR5LmZpcmUoKX0pfSkpLDE9PT1lLm5vZGVUeXBlJiYoImhlaWdodCJpbiB0fHwid2lkdGgiaW4gdCkmJihuLm92ZXJmbG93PVtoLm92ZXJmbG93LGgub3ZlcmZsb3dYLGgub3ZlcmZsb3dZXSwiaW5saW5lIj09PWx0LmNzcyhlLCJkaXNwbGF5IikmJiJub25lIj09PWx0LmNzcyhlLCJmbG9hdCIpJiYobHQuc3VwcG9ydC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0JiYiaW5saW5lIiE9PU4oZS5ub2RlTmFtZSk/aC56b29tPTE6aC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksbi5vdmVyZmxvdyYmKGgub3ZlcmZsb3c9ImhpZGRlbiIsbHQuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzfHxwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdmVyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19KSk7Zm9yKG8gaW4gdClpZihzPXRbb10sdGkuZXhlYyhzKSl7aWYoZGVsZXRlIHRbb10sbD1sfHwidG9nZ2xlIj09PXMscz09PShnPyJoaWRlIjoic2hvdyIpKWNvbnRpbnVlO20ucHVzaChvKX1pZihyPW0ubGVuZ3RoKXthPWx0Ll9kYXRhKGUsImZ4c2hvdyIpfHxsdC5fZGF0YShlLCJmeHNob3ciLHt9KSwiaGlkZGVuImluIGEmJihnPWEuaGlkZGVuKSxsJiYoYS5oaWRkZW49IWcpLGc/bHQoZSkuc2hvdygpOnAuZG9uZShmdW5jdGlvbigpe2x0KGUpLmhpZGUoKX0pLHAuZG9uZShmdW5jdGlvbigpe3ZhciB0O2x0Ll9yZW1vdmVEYXRhKGUsImZ4c2hvdyIpO2Zvcih0IGluIGYpbHQuc3R5bGUoZSx0LGZbdF0pfSk7Zm9yKG89MDtyPm87bysrKWk9bVtvXSxjPXAuY3JlYXRlVHdlZW4oaSxnP2FbaV06MCksZltpXT1hW2ldfHxsdC5zdHlsZShlLGkpLGkgaW4gYXx8KGFbaV09Yy5zdGFydCxnJiYoYy5lbmQ9Yy5zdGFydCxjLnN0YXJ0PSJ3aWR0aCI9PT1pfHwiaGVpZ2h0Ij09PWk/MTowKSl9fWZ1bmN0aW9uIFIoZSx0LG4saSxvKXtyZXR1cm4gbmV3IFIucHJvdG90eXBlLmluaXQoZSx0LG4saSxvKX1mdW5jdGlvbiBCKGUsdCl7dmFyIG4saT17aGVpZ2h0OmV9LG89MDtmb3IodD10PzE6MDs0Pm87bys9Mi10KW49VG5bb10saVsibWFyZ2luIituXT1pWyJwYWRkaW5nIituXT1lO3JldHVybiB0JiYoaS5vcGFjaXR5PWkud2lkdGg9ZSksaX1mdW5jdGlvbiBxKGUpe3JldHVybiBsdC5pc1dpbmRvdyhlKT9lOjk9PT1lLm5vZGVUeXBlP2UuZGVmYXVsdFZpZXd8fGUucGFyZW50V2luZG93OiExfXZhciBVLFgsWT10eXBlb2YgdCxRPWUuZG9jdW1lbnQsSz1lLmxvY2F0aW9uLEc9ZS5qUXVlcnksVj1lLiQsSj17fSxaPVtdLGV0PSIxLjkuMSIsdHQ9Wi5jb25jYXQsbnQ9Wi5wdXNoLGl0PVouc2xpY2Usb3Q9Wi5pbmRleE9mLHJ0PUoudG9TdHJpbmcsc3Q9Si5oYXNPd25Qcm9wZXJ0eSxhdD1ldC50cmltLGx0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBsdC5mbi5pbml0KGUsdCxYKX0sY3Q9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsdXQ9L1xTKy9nLGR0PS9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZyxwdD0vXig/Oig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLGh0PS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPnwpJC8sZnQ9L15bXF0sOnt9XHNdKiQvLG10PS8oPzpefDp8LCkoPzpccypcWykrL2csZ3Q9L1xcKD86WyJcXFwvYmZucnRdfHVbXGRhLWZBLUZdezR9KS9nLHZ0PS8iW14iXFxcclxuXSoifHRydWV8ZmFsc2V8bnVsbHwtPyg/OlxkK1wufClcZCsoPzpbZUVdWystXT9cZCt8KS9nLHl0PS9eLW1zLS8sYnQ9Ly0oW1xkYS16XSkvZ2ksd3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpfSx4dD1mdW5jdGlvbihlKXsoUS5hZGRFdmVudExpc3RlbmVyfHwibG9hZCI9PT1lLnR5cGV8fCJjb21wbGV0ZSI9PT1RLnJlYWR5U3RhdGUpJiYoQ3QoKSxsdC5yZWFkeSgpKX0sQ3Q9ZnVuY3Rpb24oKXtRLmFkZEV2ZW50TGlzdGVuZXI/KFEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIseHQsITEpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIseHQsITEpKTooUS5kZXRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIix4dCksZS5kZXRhY2hFdmVudCgib25sb2FkIix4dCkpfTtsdC5mbj1sdC5wcm90b3R5cGU9e2pxdWVyeTpldCxjb25zdHJ1Y3RvcjpsdCxpbml0OmZ1bmN0aW9uKGUsbixpKXt2YXIgbyxyO2lmKCFlKXJldHVybiB0aGlzO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYobz0iPCI9PT1lLmNoYXJBdCgwKSYmIj4iPT09ZS5jaGFyQXQoZS5sZW5ndGgtMSkmJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06cHQuZXhlYyhlKSwhb3x8IW9bMV0mJm4pcmV0dXJuIW58fG4uanF1ZXJ5PyhufHxpKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IobikuZmluZChlKTtpZihvWzFdKXtpZihuPW4gaW5zdGFuY2VvZiBsdD9uWzBdOm4sbHQubWVyZ2UodGhpcyxsdC5wYXJzZUhUTUwob1sxXSxuJiZuLm5vZGVUeXBlP24ub3duZXJEb2N1bWVudHx8bjpRLCEwKSksaHQudGVzdChvWzFdKSYmbHQuaXNQbGFpbk9iamVjdChuKSlmb3IobyBpbiBuKWx0LmlzRnVuY3Rpb24odGhpc1tvXSk/dGhpc1tvXShuW29dKTp0aGlzLmF0dHIobyxuW29dKTtyZXR1cm4gdGhpc31pZihyPVEuZ2V0RWxlbWVudEJ5SWQob1syXSksciYmci5wYXJlbnROb2RlKXtpZihyLmlkIT09b1syXSlyZXR1cm4gaS5maW5kKGUpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1yfXJldHVybiB0aGlzLmNvbnRleHQ9USx0aGlzLnNlbGVjdG9yPWUsdGhpc31yZXR1cm4gZS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXMpOmx0LmlzRnVuY3Rpb24oZSk/aS5yZWFkeShlKTooZS5zZWxlY3RvciE9PXQmJih0aGlzLnNlbGVjdG9yPWUuc2VsZWN0b3IsdGhpcy5jb250ZXh0PWUuY29udGV4dCksbHQubWFrZUFycmF5KGUsdGhpcykpfSxzZWxlY3RvcjoiIixsZW5ndGg6MCxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIGl0LmNhbGwodGhpcyl9LGdldDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT90aGlzLnRvQXJyYXkoKTowPmU/dGhpc1t0aGlzLmxlbmd0aCtlXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9bHQubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGUpO3JldHVybiB0LnByZXZPYmplY3Q9dGhpcyx0LmNvbnRleHQ9dGhpcy5jb250ZXh0LHR9LGVhY2g6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbHQuZWFjaCh0aGlzLGUsdCl9LHJlYWR5OmZ1bmN0aW9uKGUpe3JldHVybiBsdC5yZWFkeS5wcm9taXNlKCkuZG9uZShlKSx0aGlzfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhpdC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxlcTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmxlbmd0aCxuPStlKygwPmU/dDowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobj49MCYmdD5uP1t0aGlzW25dXTpbXSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobHQubWFwKHRoaXMsZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpudCxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0sbHQuZm4uaW5pdC5wcm90b3R5cGU9bHQuZm4sbHQuZXh0ZW5kPWx0LmZuLmV4dGVuZD1mdW5jdGlvbigpe3ZhciBlLG4saSxvLHIscyxhPWFyZ3VtZW50c1swXXx8e30sbD0xLGM9YXJndW1lbnRzLmxlbmd0aCx1PSExO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBhJiYodT1hLGE9YXJndW1lbnRzWzFdfHx7fSxsPTIpLCJvYmplY3QiPT10eXBlb2YgYXx8bHQuaXNGdW5jdGlvbihhKXx8KGE9e30pLGM9PT1sJiYoYT10aGlzLC0tbCk7Yz5sO2wrKylpZihudWxsIT0ocj1hcmd1bWVudHNbbF0pKWZvcihvIGluIHIpZT1hW29dLGk9cltvXSxhIT09aSYmKHUmJmkmJihsdC5pc1BsYWluT2JqZWN0KGkpfHwobj1sdC5pc0FycmF5KGkpKSk/KG4/KG49ITEscz1lJiZsdC5pc0FycmF5KGUpP2U6W10pOnM9ZSYmbHQuaXNQbGFpbk9iamVjdChlKT9lOnt9LGFbb109bHQuZXh0ZW5kKHUscyxpKSk6aSE9PXQmJihhW29dPWkpKTtyZXR1cm4gYX0sbHQuZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0aW9uKHQpe3JldHVybiBlLiQ9PT1sdCYmKGUuJD1WKSx0JiZlLmpRdWVyeT09PWx0JiYoZS5qUXVlcnk9RyksbHR9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGUpe2U/bHQucmVhZHlXYWl0Kys6bHQucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbihlKXtpZihlPT09ITA/IS0tbHQucmVhZHlXYWl0OiFsdC5pc1JlYWR5KXtpZighUS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGx0LnJlYWR5KTtsdC5pc1JlYWR5PSEwLGUhPT0hMCYmLS1sdC5yZWFkeVdhaXQ+MHx8KFUucmVzb2x2ZVdpdGgoUSxbbHRdKSxsdC5mbi50cmlnZ2VyJiZsdChRKS50cmlnZ2VyKCJyZWFkeSIpLm9mZigicmVhZHkiKSl9fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PT1sdC50eXBlKGUpfSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJhcnJheSI9PT1sdC50eXBlKGUpfSxpc1dpbmRvdzpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmZT09ZS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihlKXtyZXR1cm4haXNOYU4ocGFyc2VGbG9hdChlKSkmJmlzRmluaXRlKGUpfSx0eXBlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP1N0cmluZyhlKToib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlP0pbcnQuY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBlfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe2lmKCFlfHwib2JqZWN0IiE9PWx0LnR5cGUoZSl8fGUubm9kZVR5cGV8fGx0LmlzV2luZG93KGUpKXJldHVybiExO3RyeXtpZihlLmNvbnN0cnVjdG9yJiYhc3QuY2FsbChlLCJjb25zdHJ1Y3RvciIpJiYhc3QuY2FsbChlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKG4pe3JldHVybiExfXZhciBpO2ZvcihpIGluIGUpO3JldHVybiBpPT09dHx8c3QuY2FsbChlLGkpfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0scGFyc2VIVE1MOmZ1bmN0aW9uKGUsdCxuKXtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBudWxsOyJib29sZWFuIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdD10fHxRO3ZhciBpPWh0LmV4ZWMoZSksbz0hbiYmW107cmV0dXJuIGk/W3QuY3JlYXRlRWxlbWVudChpWzFdKV06KGk9bHQuYnVpbGRGcmFnbWVudChbZV0sdCxvKSxvJiZsdChvKS5yZW1vdmUoKSxsdC5tZXJnZShbXSxpLmNoaWxkTm9kZXMpKX0scGFyc2VKU09OOmZ1bmN0aW9uKHQpe3JldHVybiBlLkpTT04mJmUuSlNPTi5wYXJzZT9lLkpTT04ucGFyc2UodCk6bnVsbD09PXQ/dDoic3RyaW5nIj09dHlwZW9mIHQmJih0PWx0LnRyaW0odCksdCYmZnQudGVzdCh0LnJlcGxhY2UoZ3QsIkAiKS5yZXBsYWNlKHZ0LCJdIikucmVwbGFjZShtdCwiIikpKT9uZXcgRnVuY3Rpb24oInJldHVybiAiK3QpKCk6dm9pZCBsdC5lcnJvcigiSW52YWxpZCBKU09OOiAiK3QpfSxwYXJzZVhNTDpmdW5jdGlvbihuKXt2YXIgaSxvO2lmKCFufHwic3RyaW5nIiE9dHlwZW9mIG4pcmV0dXJuIG51bGw7dHJ5e2UuRE9NUGFyc2VyPyhvPW5ldyBET01QYXJzZXIsaT1vLnBhcnNlRnJvbVN0cmluZyhuLCJ0ZXh0L3htbCIpKTooaT1uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpLGkuYXN5bmM9ImZhbHNlIixpLmxvYWRYTUwobikpfWNhdGNoKHIpe2k9dH1yZXR1cm4gaSYmaS5kb2N1bWVudEVsZW1lbnQmJiFpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bHQuZXJyb3IoIkludmFsaWQgWE1MOiAiK24pLGl9LG5vb3A6ZnVuY3Rpb24oKXt9LGdsb2JhbEV2YWw6ZnVuY3Rpb24odCl7dCYmbHQudHJpbSh0KSYmKGUuZXhlY1NjcmlwdHx8ZnVuY3Rpb24odCl7ZS5ldmFsLmNhbGwoZSx0KX0pKHQpfSxjYW1lbENhc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSh5dCwibXMtIikucmVwbGFjZShidCx3dCl9LG5vZGVOYW1lOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQudG9Mb3dlckNhc2UoKX0sZWFjaDpmdW5jdGlvbihlLHQsaSl7dmFyIG8scj0wLHM9ZS5sZW5ndGgsYT1uKGUpO2lmKGkpe2lmKGEpZm9yKDtzPnImJihvPXQuYXBwbHkoZVtyXSxpKSxvIT09ITEpO3IrKyk7ZWxzZSBmb3IociBpbiBlKWlmKG89dC5hcHBseShlW3JdLGkpLG89PT0hMSlicmVha31lbHNlIGlmKGEpZm9yKDtzPnImJihvPXQuY2FsbChlW3JdLHIsZVtyXSksbyE9PSExKTtyKyspO2Vsc2UgZm9yKHIgaW4gZSlpZihvPXQuY2FsbChlW3JdLHIsZVtyXSksbz09PSExKWJyZWFrO3JldHVybiBlfSx0cmltOmF0JiYhYXQuY2FsbCgi77u/wqAiKT9mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjphdC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjooZSsiIikucmVwbGFjZShkdCwiIil9LG1ha2VBcnJheTpmdW5jdGlvbihlLHQpe3ZhciBpPXR8fFtdO3JldHVybiBudWxsIT1lJiYobihPYmplY3QoZSkpP2x0Lm1lcmdlKGksInN0cmluZyI9PXR5cGVvZiBlP1tlXTplKTpudC5jYWxsKGksZSkpLGl9LGluQXJyYXk6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpO2lmKHQpe2lmKG90KXJldHVybiBvdC5jYWxsKHQsZSxuKTtmb3IoaT10Lmxlbmd0aCxuPW4/MD5uP01hdGgubWF4KDAsaStuKTpuOjA7aT5uO24rKylpZihuIGluIHQmJnRbbl09PT1lKXJldHVybiBufXJldHVybi0xfSxtZXJnZTpmdW5jdGlvbihlLG4pe3ZhciBpPW4ubGVuZ3RoLG89ZS5sZW5ndGgscj0wO2lmKCJudW1iZXIiPT10eXBlb2YgaSlmb3IoO2k+cjtyKyspZVtvKytdPW5bcl07ZWxzZSBmb3IoO25bcl0hPT10OyllW28rK109bltyKytdO3JldHVybiBlLmxlbmd0aD1vLGV9LGdyZXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLG89W10scj0wLHM9ZS5sZW5ndGg7Zm9yKG49ISFuO3M+cjtyKyspaT0hIXQoZVtyXSxyKSxuIT09aSYmby5wdXNoKGVbcl0pO3JldHVybiBvfSxtYXA6ZnVuY3Rpb24oZSx0LGkpe3ZhciBvLHI9MCxzPWUubGVuZ3RoLGE9bihlKSxsPVtdO2lmKGEpZm9yKDtzPnI7cisrKW89dChlW3JdLHIsaSksbnVsbCE9byYmKGxbbC5sZW5ndGhdPW8pO2Vsc2UgZm9yKHIgaW4gZSlvPXQoZVtyXSxyLGkpLG51bGwhPW8mJihsW2wubGVuZ3RoXT1vKTtyZXR1cm4gdHQuYXBwbHkoW10sbCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihlLG4pe3ZhciBpLG8scjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4mJihyPWVbbl0sbj1lLGU9ciksbHQuaXNGdW5jdGlvbihlKT8oaT1pdC5jYWxsKGFyZ3VtZW50cywyKSxvPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkobnx8dGhpcyxpLmNvbmNhdChpdC5jYWxsKGFyZ3VtZW50cykpKX0sby5ndWlkPWUuZ3VpZD1lLmd1aWR8fGx0Lmd1aWQrKyxvKTp0fSxhY2Nlc3M6ZnVuY3Rpb24oZSxuLGksbyxyLHMsYSl7dmFyIGw9MCxjPWUubGVuZ3RoLHU9bnVsbD09aTtpZigib2JqZWN0Ij09PWx0LnR5cGUoaSkpe3I9ITA7Zm9yKGwgaW4gaSlsdC5hY2Nlc3MoZSxuLGwsaVtsXSwhMCxzLGEpfWVsc2UgaWYobyE9PXQmJihyPSEwLGx0LmlzRnVuY3Rpb24obyl8fChhPSEwKSx1JiYoYT8obi5jYWxsKGUsbyksbj1udWxsKToodT1uLG49ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB1LmNhbGwobHQoZSksbil9KSksbikpZm9yKDtjPmw7bCsrKW4oZVtsXSxpLGE/bzpvLmNhbGwoZVtsXSxsLG4oZVtsXSxpKSkpO3JldHVybiByP2U6dT9uLmNhbGwoZSk6Yz9uKGVbMF0saSk6c30sbm93OmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9fSksbHQucmVhZHkucHJvbWlzZT1mdW5jdGlvbih0KXtpZighVSlpZihVPWx0LkRlZmVycmVkKCksImNvbXBsZXRlIj09PVEucmVhZHlTdGF0ZSlzZXRUaW1lb3V0KGx0LnJlYWR5KTtlbHNlIGlmKFEuYWRkRXZlbnRMaXN0ZW5lcilRLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHh0LCExKSxlLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHh0LCExKTtlbHNle1EuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIseHQpLGUuYXR0YWNoRXZlbnQoIm9ubG9hZCIseHQpO3ZhciBuPSExO3RyeXtuPW51bGw9PWUuZnJhbWVFbGVtZW50JiZRLmRvY3VtZW50RWxlbWVudH1jYXRjaChpKXt9biYmbi5kb1Njcm9sbCYmIWZ1bmN0aW9uIG8oKXtpZighbHQuaXNSZWFkeSl7dHJ5e24uZG9TY3JvbGwoImxlZnQiKX1jYXRjaChlKXtyZXR1cm4gc2V0VGltZW91dChvLDUwKX1DdCgpLGx0LnJlYWR5KCl9fSgpfXJldHVybiBVLnByb21pc2UodCl9LGx0LmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSx0KXtKWyJbb2JqZWN0ICIrdCsiXSJdPXQudG9Mb3dlckNhc2UoKX0pLFg9bHQoUSk7dmFyIGt0PXt9O2x0LkNhbGxiYWNrcz1mdW5jdGlvbihlKXtlPSJzdHJpbmciPT10eXBlb2YgZT9rdFtlXXx8aShlKTpsdC5leHRlbmQoe30sZSk7dmFyIG4sbyxyLHMsYSxsLGM9W10sdT0hZS5vbmNlJiZbXSxkPWZ1bmN0aW9uKHQpe2ZvcihvPWUubWVtb3J5JiZ0LHI9ITAsYT1sfHwwLGw9MCxzPWMubGVuZ3RoLG49ITA7YyYmcz5hO2ErKylpZihjW2FdLmFwcGx5KHRbMF0sdFsxXSk9PT0hMSYmZS5zdG9wT25GYWxzZSl7bz0hMTticmVha31uPSExLGMmJih1P3UubGVuZ3RoJiZkKHUuc2hpZnQoKSk6bz9jPVtdOnAuZGlzYWJsZSgpKX0scD17YWRkOmZ1bmN0aW9uKCl7aWYoYyl7dmFyIHQ9Yy5sZW5ndGg7IWZ1bmN0aW9uIGkodCl7bHQuZWFjaCh0LGZ1bmN0aW9uKHQsbil7dmFyIG89bHQudHlwZShuKTsiZnVuY3Rpb24iPT09bz9lLnVuaXF1ZSYmcC5oYXMobil8fGMucHVzaChuKTpuJiZuLmxlbmd0aCYmInN0cmluZyIhPT1vJiZpKG4pfSl9KGFyZ3VtZW50cyksbj9zPWMubGVuZ3RoOm8mJihsPXQsZChvKSl9cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBjJiZsdC5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbihlLHQpe2Zvcih2YXIgaTsoaT1sdC5pbkFycmF5KHQsYyxpKSk+LTE7KWMuc3BsaWNlKGksMSksbiYmKHM+PWkmJnMtLSxhPj1pJiZhLS0pfSksdGhpc30saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlP2x0LmluQXJyYXkoZSxjKT4tMTohKCFjfHwhYy5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBjPVtdLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gYz11PW89dCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFjfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIHU9dCxvfHxwLmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hdX0sZmlyZVdpdGg6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD10fHxbXSx0PVtlLHQuc2xpY2U/dC5zbGljZSgpOnRdLCFjfHxyJiYhdXx8KG4/dS5wdXNoKHQpOmQodCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gcC5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIXJ9fTtyZXR1cm4gcH0sbHQuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgdD1bWyJyZXNvbHZlIiwiZG9uZSIsbHQuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsbHQuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZWplY3RlZCJdLFsibm90aWZ5IiwicHJvZ3Jlc3MiLGx0LkNhbGxiYWNrcygibWVtb3J5IildXSxuPSJwZW5kaW5nIixpPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBufSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gby5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHM7cmV0dXJuIGx0LkRlZmVycmVkKGZ1bmN0aW9uKG4pe2x0LmVhY2godCxmdW5jdGlvbih0LHIpe3ZhciBzPXJbMF0sYT1sdC5pc0Z1bmN0aW9uKGVbdF0pJiZlW3RdO29bclsxXV0oZnVuY3Rpb24oKXt2YXIgZT1hJiZhLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlJiZsdC5pc0Z1bmN0aW9uKGUucHJvbWlzZSk/ZS5wcm9taXNlKCkuZG9uZShuLnJlc29sdmUpLmZhaWwobi5yZWplY3QpLnByb2dyZXNzKG4ubm90aWZ5KTpuW3MrIldpdGgiXSh0aGlzPT09aT9uLnByb21pc2UoKTp0aGlzLGE/W2VdOmFyZ3VtZW50cyl9KX0pLGU9bnVsbH0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZT9sdC5leHRlbmQoZSxpKTppfX0sbz17fTtyZXR1cm4gaS5waXBlPWkudGhlbixsdC5lYWNoKHQsZnVuY3Rpb24oZSxyKXt2YXIgcz1yWzJdLGE9clszXTtpW3JbMV1dPXMuYWRkLGEmJnMuYWRkKGZ1bmN0aW9uKCl7bj1hfSx0WzFeZV1bMl0uZGlzYWJsZSx0WzJdWzJdLmxvY2spLG9bclswXV09ZnVuY3Rpb24oKXtyZXR1cm4gb1tyWzBdKyJXaXRoIl0odGhpcz09PW8/aTp0aGlzLGFyZ3VtZW50cyksdGhpc30sb1tyWzBdKyJXaXRoIl09cy5maXJlV2l0aH0pLGkucHJvbWlzZShvKSxlJiZlLmNhbGwobyxvKSxvfSx3aGVuOmZ1bmN0aW9uKGUpe3ZhciB0LG4saSxvPTAscj1pdC5jYWxsKGFyZ3VtZW50cykscz1yLmxlbmd0aCxhPTEhPT1zfHxlJiZsdC5pc0Z1bmN0aW9uKGUucHJvbWlzZSk/czowLGw9MT09PWE/ZTpsdC5EZWZlcnJlZCgpLGM9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBmdW5jdGlvbihvKXtuW2VdPXRoaXMsaVtlXT1hcmd1bWVudHMubGVuZ3RoPjE/aXQuY2FsbChhcmd1bWVudHMpOm8saT09PXQ/bC5ub3RpZnlXaXRoKG4saSk6LS1hfHxsLnJlc29sdmVXaXRoKG4saSl9fTtpZihzPjEpZm9yKHQ9bmV3IEFycmF5KHMpLG49bmV3IEFycmF5KHMpLGk9bmV3IEFycmF5KHMpO3M+bztvKyspcltvXSYmbHQuaXNGdW5jdGlvbihyW29dLnByb21pc2UpP3Jbb10ucHJvbWlzZSgpLmRvbmUoYyhvLGkscikpLmZhaWwobC5yZWplY3QpLnByb2dyZXNzKGMobyxuLHQpKTotLWE7cmV0dXJuIGF8fGwucmVzb2x2ZVdpdGgoaSxyKSxsLnByb21pc2UoKX19KSxsdC5zdXBwb3J0PWZ1bmN0aW9uKCl7dmFyIHQsbixpLG8scixzLGEsbCxjLHUsZD1RLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKGQuc2V0QXR0cmlidXRlKCJjbGFzc05hbWUiLCJ0IiksZC5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsbj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIiksaT1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sIW58fCFpfHwhbi5sZW5ndGgpcmV0dXJue307cj1RLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGE9ci5hcHBlbmRDaGlsZChRLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKSxvPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0saS5zdHlsZS5jc3NUZXh0PSJ0b3A6MXB4O2Zsb2F0OmxlZnQ7b3BhY2l0eTouNSIsdD17Z2V0U2V0QXR0cmlidXRlOiJ0IiE9PWQuY2xhc3NOYW1lLGxlYWRpbmdXaGl0ZXNwYWNlOjM9PT1kLmZpcnN0Q2hpbGQubm9kZVR5cGUsdGJvZHk6IWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IikubGVuZ3RoLGh0bWxTZXJpYWxpemU6ISFkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLHN0eWxlOi90b3AvLnRlc3QoaS5nZXRBdHRyaWJ1dGUoInN0eWxlIikpLGhyZWZOb3JtYWxpemVkOiIvYSI9PT1pLmdldEF0dHJpYnV0ZSgiaHJlZiIpLG9wYWNpdHk6L14wLjUvLnRlc3QoaS5zdHlsZS5vcGFjaXR5KSxjc3NGbG9hdDohIWkuc3R5bGUuY3NzRmxvYXQsY2hlY2tPbjohIW8udmFsdWUsb3B0U2VsZWN0ZWQ6YS5zZWxlY3RlZCxlbmN0eXBlOiEhUS5jcmVhdGVFbGVtZW50KCJmb3JtIikuZW5jdHlwZSxodG1sNUNsb25lOiI8Om5hdj48LzpuYXY+IiE9PVEuY3JlYXRlRWxlbWVudCgibmF2IikuY2xvbmVOb2RlKCEwKS5vdXRlckhUTUwsYm94TW9kZWw6IkNTUzFDb21wYXQiPT09US5jb21wYXRNb2RlLGRlbGV0ZUV4cGFuZG86ITAsbm9DbG9uZUV2ZW50OiEwLGlubGluZUJsb2NrTmVlZHNMYXlvdXQ6ITEsc2hyaW5rV3JhcEJsb2NrczohMSxyZWxpYWJsZU1hcmdpblJpZ2h0OiEwLGJveFNpemluZ1JlbGlhYmxlOiEwLHBpeGVsUG9zaXRpb246ITF9LG8uY2hlY2tlZD0hMCx0Lm5vQ2xvbmVDaGVja2VkPW8uY2xvbmVOb2RlKCEwKS5jaGVja2VkLHIuZGlzYWJsZWQ9ITAsdC5vcHREaXNhYmxlZD0hYS5kaXNhYmxlZDt0cnl7ZGVsZXRlIGQudGVzdH1jYXRjaChwKXt0LmRlbGV0ZUV4cGFuZG89ITF9bz1RLmNyZWF0ZUVsZW1lbnQoImlucHV0Iiksby5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiksdC5pbnB1dD0iIj09PW8uZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpLG8udmFsdWU9InQiLG8uc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSx0LnJhZGlvVmFsdWU9InQiPT09by52YWx1ZSxvLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsInQiKSxvLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxzPVEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHMuYXBwZW5kQ2hpbGQobyksdC5hcHBlbmRDaGVja2VkPW8uY2hlY2tlZCx0LmNoZWNrQ2xvbmU9cy5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsZC5hdHRhY2hFdmVudCYmKGQuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7dC5ub0Nsb25lRXZlbnQ9ITF9KSxkLmNsb25lTm9kZSghMCkuY2xpY2soKSk7Zm9yKHUgaW57c3VibWl0OiEwLGNoYW5nZTohMCxmb2N1c2luOiEwfSlkLnNldEF0dHJpYnV0ZShsPSJvbiIrdSwidCIpLHRbdSsiQnViYmxlcyJdPWwgaW4gZXx8ZC5hdHRyaWJ1dGVzW2xdLmV4cGFuZG89PT0hMTtyZXR1cm4gZC5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iY29udGVudC1ib3giLGQuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iIix0LmNsZWFyQ2xvbmVTdHlsZT0iY29udGVudC1ib3giPT09ZC5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxsdChmdW5jdGlvbigpe3ZhciBuLGksbyxyPSJwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7IixzPVEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXTtzJiYobj1RLmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4uc3R5bGUuY3NzVGV4dD0iYm9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0Oi05OTk5cHg7bWFyZ2luLXRvcDoxcHgiLHMuYXBwZW5kQ2hpbGQobikuYXBwZW5kQ2hpbGQoZCksZC5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLG89ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxvWzBdLnN0eWxlLmNzc1RleHQ9InBhZGRpbmc6MDttYXJnaW46MDtib3JkZXI6MDtkaXNwbGF5Om5vbmUiLGM9MD09PW9bMF0ub2Zmc2V0SGVpZ2h0LG9bMF0uc3R5bGUuZGlzcGxheT0iIixvWzFdLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHQucmVsaWFibGVIaWRkZW5PZmZzZXRzPWMmJjA9PT1vWzBdLm9mZnNldEhlaWdodCxkLmlubmVySFRNTD0iIixkLnN0eWxlLmNzc1RleHQ9ImJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjFweDtib3JkZXI6MXB4O2Rpc3BsYXk6YmxvY2s7d2lkdGg6NHB4O21hcmdpbi10b3A6MSU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjElOyIsdC5ib3hTaXppbmc9ND09PWQub2Zmc2V0V2lkdGgsdC5kb2VzTm90SW5jbHVkZU1hcmdpbkluQm9keU9mZnNldD0xIT09cy5vZmZzZXRUb3AsZS5nZXRDb21wdXRlZFN0eWxlJiYodC5waXhlbFBvc2l0aW9uPSIxJSIhPT0oZS5nZXRDb21wdXRlZFN0eWxlKGQsbnVsbCl8fHt9KS50b3AsdC5ib3hTaXppbmdSZWxpYWJsZT0iNHB4Ij09PShlLmdldENvbXB1dGVkU3R5bGUoZCxudWxsKXx8e3dpZHRoOiI0cHgifSkud2lkdGgsaT1kLmFwcGVuZENoaWxkKFEuY3JlYXRlRWxlbWVudCgiZGl2IikpLGkuc3R5bGUuY3NzVGV4dD1kLnN0eWxlLmNzc1RleHQ9cixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGQuc3R5bGUud2lkdGg9IjFweCIsdC5yZWxpYWJsZU1hcmdpblJpZ2h0PSFwYXJzZUZsb2F0KChlLmdldENvbXB1dGVkU3R5bGUoaSxudWxsKXx8e30pLm1hcmdpblJpZ2h0KSksdHlwZW9mIGQuc3R5bGUuem9vbSE9PVkmJihkLmlubmVySFRNTD0iIixkLnN0eWxlLmNzc1RleHQ9cisid2lkdGg6MXB4O3BhZGRpbmc6MXB4O2Rpc3BsYXk6aW5saW5lO3pvb206MSIsdC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PTM9PT1kLm9mZnNldFdpZHRoLGQuc3R5bGUuZGlzcGxheT0iYmxvY2siLGQuaW5uZXJIVE1MPSI8ZGl2PjwvZGl2PiIsZC5maXJzdENoaWxkLnN0eWxlLndpZHRoPSI1cHgiLHQuc2hyaW5rV3JhcEJsb2Nrcz0zIT09ZC5vZmZzZXRXaWR0aCx0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJihzLnN0eWxlLnpvb209MSkpLHMucmVtb3ZlQ2hpbGQobiksbj1kPW89aT1udWxsKX0pLG49cj1zPWE9aT1vPW51bGwsdH0oKTt2YXIgVHQ9Lyg/Olx7W1xzXFNdKlx9fFxbW1xzXFNdKlxdKSQvLEV0PS8oW0EtWl0pL2c7bHQuZXh0ZW5kKHtjYWNoZTp7fSxleHBhbmRvOiJqUXVlcnkiKyhldCtNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxub0RhdGE6e2VtYmVkOiEwLG9iamVjdDoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIixhcHBsZXQ6ITB9LGhhc0RhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZS5ub2RlVHlwZT9sdC5jYWNoZVtlW2x0LmV4cGFuZG9dXTplW2x0LmV4cGFuZG9dLCEhZSYmIWEoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBvKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe3JldHVybiByKGUsdCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbyhlLHQsbiwhMCl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHIoZSx0LCEwKX0sYWNjZXB0RGF0YTpmdW5jdGlvbihlKXtpZihlLm5vZGVUeXBlJiYxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUpcmV0dXJuITE7dmFyIHQ9ZS5ub2RlTmFtZSYmbHQubm9EYXRhW2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKV07cmV0dXJuIXR8fHQhPT0hMCYmZS5nZXRBdHRyaWJ1dGUoImNsYXNzaWQiKT09PXR9fSksbHQuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGUsbil7dmFyIGksbyxyPXRoaXNbMF0sYT0wLGw9bnVsbDtpZihlPT09dCl7aWYodGhpcy5sZW5ndGgmJihsPWx0LmRhdGEociksMT09PXIubm9kZVR5cGUmJiFsdC5fZGF0YShyLCJwYXJzZWRBdHRycyIpKSl7Zm9yKGk9ci5hdHRyaWJ1dGVzO2E8aS5sZW5ndGg7YSsrKW89aVthXS5uYW1lLG8uaW5kZXhPZigiZGF0YS0iKXx8KG89bHQuY2FtZWxDYXNlKG8uc2xpY2UoNSkpLHMocixvLGxbb10pKTtsdC5fZGF0YShyLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBsfXJldHVybiJvYmplY3QiPT10eXBlb2YgZT90aGlzLmVhY2goZnVuY3Rpb24oKXtsdC5kYXRhKHRoaXMsZSl9KTpsdC5hY2Nlc3ModGhpcyxmdW5jdGlvbihuKXtyZXR1cm4gbj09PXQ/cj9zKHIsZSxsdC5kYXRhKHIsZSkpOm51bGw6dm9pZCB0aGlzLmVhY2goZnVuY3Rpb24oKXtsdC5kYXRhKHRoaXMsZSxuKX0pfSxudWxsLG4sYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtsdC5yZW1vdmVEYXRhKHRoaXMsZSl9KX19KSxsdC5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaTtyZXR1cm4gZT8odD0odHx8ImZ4IikrInF1ZXVlIixpPWx0Ll9kYXRhKGUsdCksbiYmKCFpfHxsdC5pc0FycmF5KG4pP2k9bHQuX2RhdGEoZSx0LGx0Lm1ha2VBcnJheShuKSk6aS5wdXNoKG4pKSxpfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGUsdCl7dD10fHwiZngiO3ZhciBuPWx0LnF1ZXVlKGUsdCksaT1uLmxlbmd0aCxvPW4uc2hpZnQoKSxyPWx0Ll9xdWV1ZUhvb2tzKGUsdCkscz1mdW5jdGlvbigpe2x0LmRlcXVldWUoZSx0KX07ImlucHJvZ3Jlc3MiPT09byYmKG89bi5zaGlmdCgpLGktLSksci5jdXI9byxvJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSByLnN0b3Asby5jYWxsKGUscyxyKSksIWkmJnImJnIuZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihlLHQpe3ZhciBuPXQrInF1ZXVlSG9va3MiO3JldHVybiBsdC5fZGF0YShlLG4pfHxsdC5fZGF0YShlLG4se2VtcHR5Omx0LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtsdC5fcmVtb3ZlRGF0YShlLHQrInF1ZXVlIiksbHQuX3JlbW92ZURhdGEoZSxuKX0pfSl9fSksbHQuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLG4pe3ZhciBpPTI7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlJiYobj1lLGU9ImZ4IixpLS0pLGFyZ3VtZW50cy5sZW5ndGg8aT9sdC5xdWV1ZSh0aGlzWzBdLGUpOm49PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9bHQucXVldWUodGhpcyxlLG4pO2x0Ll9xdWV1ZUhvb2tzKHRoaXMsZSksImZ4Ij09PWUmJiJpbnByb2dyZXNzIiE9PXRbMF0mJmx0LmRlcXVldWUodGhpcyxlKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtsdC5kZXF1ZXVlKHRoaXMsZSl9KX0sZGVsYXk6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1sdC5meD9sdC5meC5zcGVlZHNbZV18fGU6ZSx0PXR8fCJmeCIsdGhpcy5xdWV1ZSh0LGZ1bmN0aW9uKHQsbil7dmFyIGk9c2V0VGltZW91dCh0LGUpO24uc3RvcD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChpKX19KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihlLG4pe3ZhciBpLG89MSxyPWx0LkRlZmVycmVkKCkscz10aGlzLGE9dGhpcy5sZW5ndGgsbD1mdW5jdGlvbigpey0tb3x8ci5yZXNvbHZlV2l0aChzLFtzXSl9O2Zvcigic3RyaW5nIiE9dHlwZW9mIGUmJihuPWUsZT10KSxlPWV8fCJmeCI7YS0tOylpPWx0Ll9kYXRhKHNbYV0sZSsicXVldWVIb29rcyIpLGkmJmkuZW1wdHkmJihvKyssaS5lbXB0eS5hZGQobCkpO3JldHVybiBsKCksci5wcm9taXNlKG4pfX0pO3ZhciAkdCxOdCxfdD0vW1x0XHJcbl0vZyxTdD0vXHIvZyxEdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSxBdD0vXig/OmF8YXJlYSkkL2ksTXQ9L14oPzpjaGVja2VkfHNlbGVjdGVkfGF1dG9mb2N1c3xhdXRvcGxheXxhc3luY3xjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCkkL2ksTHQ9L14oPzpjaGVja2VkfHNlbGVjdGVkKSQvaSxQdD1sdC5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZSxGdD1sdC5zdXBwb3J0LmlucHV0O2x0LmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBsdC5hY2Nlc3ModGhpcyxsdC5hdHRyLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtsdC5yZW1vdmVBdHRyKHRoaXMsZSl9KX0scHJvcDpmdW5jdGlvbihlLHQpe3JldHVybiBsdC5hY2Nlc3ModGhpcyxsdC5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiBlPWx0LnByb3BGaXhbZV18fGUsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbZV09dCxkZWxldGUgdGhpc1tlXX1jYXRjaChuKXt9fSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4saSxvLHIscz0wLGE9dGhpcy5sZW5ndGgsbD0ic3RyaW5nIj09dHlwZW9mIGUmJmU7aWYobHQuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2x0KHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGwpZm9yKHQ9KGV8fCIiKS5tYXRjaCh1dCl8fFtdO2E+cztzKyspaWYobj10aGlzW3NdLGk9MT09PW4ubm9kZVR5cGUmJihuLmNsYXNzTmFtZT8oIiAiK24uY2xhc3NOYW1lKyIgIikucmVwbGFjZShfdCwiICIpOiIgIikpe2ZvcihyPTA7bz10W3IrK107KWkuaW5kZXhPZigiICIrbysiICIpPDAmJihpKz1vKyIgIik7bi5jbGFzc05hbWU9bHQudHJpbShpKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixpLG8scixzPTAsYT10aGlzLmxlbmd0aCxsPTA9PT1hcmd1bWVudHMubGVuZ3RofHwic3RyaW5nIj09dHlwZW9mIGUmJmU7aWYobHQuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2x0KHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGwpZm9yKHQ9KGV8fCIiKS5tYXRjaCh1dCl8fFtdO2E+cztzKyspaWYobj10aGlzW3NdLGk9MT09PW4ubm9kZVR5cGUmJihuLmNsYXNzTmFtZT8oIiAiK24uY2xhc3NOYW1lKyIgIikucmVwbGFjZShfdCwiICIpOiIiKSl7Zm9yKHI9MDtvPXRbcisrXTspZm9yKDtpLmluZGV4T2YoIiAiK28rIiAiKT49MDspaT1pLnJlcGxhY2UoIiAiK28rIiAiLCIgIik7bi5jbGFzc05hbWU9ZT9sdC50cmltKGkpOiIifXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlLGk9ImJvb2xlYW4iPT10eXBlb2YgdDtyZXR1cm4gdGhpcy5lYWNoKGx0LmlzRnVuY3Rpb24oZSk/ZnVuY3Rpb24obil7bHQodGhpcykudG9nZ2xlQ2xhc3MoZS5jYWxsKHRoaXMsbix0aGlzLmNsYXNzTmFtZSx0KSx0KX06ZnVuY3Rpb24oKXtpZigic3RyaW5nIj09PW4pZm9yKHZhciBvLHI9MCxzPWx0KHRoaXMpLGE9dCxsPWUubWF0Y2godXQpfHxbXTtvPWxbcisrXTspYT1pP2E6IXMuaGFzQ2xhc3Mobyksc1thPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0obyk7ZWxzZShuPT09WXx8ImJvb2xlYW4iPT09bikmJih0aGlzLmNsYXNzTmFtZSYmbHQuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIsdGhpcy5jbGFzc05hbWUpLHRoaXMuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lfHxlPT09ITE/IiI6bHQuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIil9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSIgIitlKyIgIixuPTAsaT10aGlzLmxlbmd0aDtpPm47bisrKWlmKDE9PT10aGlzW25dLm5vZGVUeXBlJiYoIiAiK3RoaXNbbl0uY2xhc3NOYW1lKyIgIikucmVwbGFjZShfdCwiICIpLmluZGV4T2YodCk+PTApcmV0dXJuITA7cmV0dXJuITF9LHZhbDpmdW5jdGlvbihlKXt2YXIgbixpLG8scj10aGlzWzBdO3tpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBvPWx0LmlzRnVuY3Rpb24oZSksdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe3ZhciByLHM9bHQodGhpcyk7MT09PXRoaXMubm9kZVR5cGUmJihyPW8/ZS5jYWxsKHRoaXMsbixzLnZhbCgpKTplLG51bGw9PXI/cj0iIjoibnVtYmVyIj09dHlwZW9mIHI/cis9IiI6bHQuaXNBcnJheShyKSYmKHI9bHQubWFwKHIsZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/IiI6ZSsiIn0pKSxpPWx0LnZhbEhvb2tzW3RoaXMudHlwZV18fGx0LnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0saSYmInNldCJpbiBpJiZpLnNldCh0aGlzLHIsInZhbHVlIikhPT10fHwodGhpcy52YWx1ZT1yKSl9KTtpZihyKXJldHVybiBpPWx0LnZhbEhvb2tzW3IudHlwZV18fGx0LnZhbEhvb2tzW3Iubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0saSYmImdldCJpbiBpJiYobj1pLmdldChyLCJ2YWx1ZSIpKSE9PXQ/bjoobj1yLnZhbHVlLCJzdHJpbmciPT10eXBlb2Ygbj9uLnJlcGxhY2UoU3QsIiIpOm51bGw9PW4/IiI6bil9fX0pLGx0LmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4hdHx8dC5zcGVjaWZpZWQ/ZS52YWx1ZTplLnRleHR9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlKXtmb3IodmFyIHQsbixpPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxyPSJzZWxlY3Qtb25lIj09PWUudHlwZXx8MD5vLHM9cj9udWxsOltdLGE9cj9vKzE6aS5sZW5ndGgsbD0wPm8/YTpyP286MDthPmw7bCsrKWlmKG49aVtsXSwhKCFuLnNlbGVjdGVkJiZsIT09b3x8KGx0LnN1cHBvcnQub3B0RGlzYWJsZWQ/bi5kaXNhYmxlZDpudWxsIT09bi5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikpfHxuLnBhcmVudE5vZGUuZGlzYWJsZWQmJmx0Lm5vZGVOYW1lKG4ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKHQ9bHQobikudmFsKCkscilyZXR1cm4gdDtzLnB1c2godCl9cmV0dXJuIHN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWx0Lm1ha2VBcnJheSh0KTtyZXR1cm4gbHQoZSkuZmluZCgib3B0aW9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWQ9bHQuaW5BcnJheShsdCh0aGlzKS52YWwoKSxuKT49MH0pLG4ubGVuZ3RofHwoZS5zZWxlY3RlZEluZGV4PS0xKSxufX19LGF0dHI6ZnVuY3Rpb24oZSxuLGkpe3ZhciBvLHIscyxhPWUubm9kZVR5cGU7aWYoZSYmMyE9PWEmJjghPT1hJiYyIT09YSlyZXR1cm4gdHlwZW9mIGUuZ2V0QXR0cmlidXRlPT09WT9sdC5wcm9wKGUsbixpKToocj0xIT09YXx8IWx0LmlzWE1MRG9jKGUpLHImJihuPW4udG9Mb3dlckNhc2UoKSxvPWx0LmF0dHJIb29rc1tuXXx8KE10LnRlc3Qobik/TnQ6JHQpKSxpPT09dD9vJiZyJiYiZ2V0ImluIG8mJm51bGwhPT0ocz1vLmdldChlLG4pKT9zOih0eXBlb2YgZS5nZXRBdHRyaWJ1dGUhPT1ZJiYocz1lLmdldEF0dHJpYnV0ZShuKSksbnVsbD09cz90OnMpOm51bGwhPT1pP28mJnImJiJzZXQiaW4gbyYmKHM9by5zZXQoZSxpLG4pKSE9PXQ/czooZS5zZXRBdHRyaWJ1dGUobixpKyIiKSxpKTp2b2lkIGx0LnJlbW92ZUF0dHIoZSxuKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG89MCxyPXQmJnQubWF0Y2godXQpO2lmKHImJjE9PT1lLm5vZGVUeXBlKWZvcig7bj1yW28rK107KWk9bHQucHJvcEZpeFtuXXx8bixNdC50ZXN0KG4pPyFQdCYmTHQudGVzdChuKT9lW2x0LmNhbWVsQ2FzZSgiZGVmYXVsdC0iK24pXT1lW2ldPSExOmVbaV09ITE6bHQuYXR0cihlLG4sIiIpLGUucmVtb3ZlQXR0cmlidXRlKFB0P246aSl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsdCl7aWYoIWx0LnN1cHBvcnQucmFkaW9WYWx1ZSYmInJhZGlvIj09PXQmJmx0Lm5vZGVOYW1lKGUsImlucHV0Iikpe3ZhciBuPWUudmFsdWU7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJ0eXBlIix0KSxuJiYoZS52YWx1ZT1uKSx0fX19fSxwcm9wRml4Ont0YWJpbmRleDoidGFiSW5kZXgiLHJlYWRvbmx5OiJyZWFkT25seSIsImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixjb250ZW50ZWRpdGFibGU6ImNvbnRlbnRFZGl0YWJsZSJ9LHByb3A6ZnVuY3Rpb24oZSxuLGkpe3ZhciBvLHIscyxhPWUubm9kZVR5cGU7aWYoZSYmMyE9PWEmJjghPT1hJiYyIT09YSlyZXR1cm4gcz0xIT09YXx8IWx0LmlzWE1MRG9jKGUpLHMmJihuPWx0LnByb3BGaXhbbl18fG4scj1sdC5wcm9wSG9va3Nbbl0pLGkhPT10P3ImJiJzZXQiaW4gciYmKG89ci5zZXQoZSxpLG4pKSE9PXQ/bzplW25dPWk6ciYmImdldCJpbiByJiZudWxsIT09KG89ci5nZXQoZSxuKSk/bzplW25dfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIG49ZS5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIpO3JldHVybiBuJiZuLnNwZWNpZmllZD9wYXJzZUludChuLnZhbHVlLDEwKTpEdC50ZXN0KGUubm9kZU5hbWUpfHxBdC50ZXN0KGUubm9kZU5hbWUpJiZlLmhyZWY/MDp0fX19fSksTnQ9e2dldDpmdW5jdGlvbihlLG4pe3ZhciBpPWx0LnByb3AoZSxuKSxvPSJib29sZWFuIj09dHlwZW9mIGkmJmUuZ2V0QXR0cmlidXRlKG4pLHI9ImJvb2xlYW4iPT10eXBlb2YgaT9GdCYmUHQ/bnVsbCE9bzpMdC50ZXN0KG4pP2VbbHQuY2FtZWxDYXNlKCJkZWZhdWx0LSIrbildOiEhbzplLmdldEF0dHJpYnV0ZU5vZGUobik7cmV0dXJuIHImJnIudmFsdWUhPT0hMT9uLnRvTG93ZXJDYXNlKCk6dAp9LHNldDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQ9PT0hMT9sdC5yZW1vdmVBdHRyKGUsbik6RnQmJlB0fHwhTHQudGVzdChuKT9lLnNldEF0dHJpYnV0ZSghUHQmJmx0LnByb3BGaXhbbl18fG4sbik6ZVtsdC5jYW1lbENhc2UoImRlZmF1bHQtIituKV09ZVtuXT0hMCxufX0sRnQmJlB0fHwobHQuYXR0ckhvb2tzLnZhbHVlPXtnZXQ6ZnVuY3Rpb24oZSxuKXt2YXIgaT1lLmdldEF0dHJpYnV0ZU5vZGUobik7cmV0dXJuIGx0Lm5vZGVOYW1lKGUsImlucHV0Iik/ZS5kZWZhdWx0VmFsdWU6aSYmaS5zcGVjaWZpZWQ/aS52YWx1ZTp0fSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsdC5ub2RlTmFtZShlLCJpbnB1dCIpP3ZvaWQoZS5kZWZhdWx0VmFsdWU9dCk6JHQmJiR0LnNldChlLHQsbil9fSksUHR8fCgkdD1sdC52YWxIb29rcy5idXR0b249e2dldDpmdW5jdGlvbihlLG4pe3ZhciBpPWUuZ2V0QXR0cmlidXRlTm9kZShuKTtyZXR1cm4gaSYmKCJpZCI9PT1ufHwibmFtZSI9PT1ufHwiY29vcmRzIj09PW4/IiIhPT1pLnZhbHVlOmkuc3BlY2lmaWVkKT9pLnZhbHVlOnR9LHNldDpmdW5jdGlvbihlLG4saSl7dmFyIG89ZS5nZXRBdHRyaWJ1dGVOb2RlKGkpO3JldHVybiBvfHxlLnNldEF0dHJpYnV0ZU5vZGUobz1lLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGkpKSxvLnZhbHVlPW4rPSIiLCJ2YWx1ZSI9PT1pfHxuPT09ZS5nZXRBdHRyaWJ1dGUoaSk/bjp0fX0sbHQuYXR0ckhvb2tzLmNvbnRlbnRlZGl0YWJsZT17Z2V0OiR0LmdldCxzZXQ6ZnVuY3Rpb24oZSx0LG4peyR0LnNldChlLCIiPT09dD8hMTp0LG4pfX0sbHQuZWFjaChbIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oZSx0KXtsdC5hdHRySG9va3NbdF09bHQuZXh0ZW5kKGx0LmF0dHJIb29rc1t0XSx7c2V0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIiI9PT1uPyhlLnNldEF0dHJpYnV0ZSh0LCJhdXRvIiksbik6dm9pZCAwfX0pfSkpLGx0LnN1cHBvcnQuaHJlZk5vcm1hbGl6ZWR8fChsdC5lYWNoKFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sZnVuY3Rpb24oZSxuKXtsdC5hdHRySG9va3Nbbl09bHQuZXh0ZW5kKGx0LmF0dHJIb29rc1tuXSx7Z2V0OmZ1bmN0aW9uKGUpe3ZhciBpPWUuZ2V0QXR0cmlidXRlKG4sMik7cmV0dXJuIG51bGw9PWk/dDppfX0pfSksbHQuZWFjaChbImhyZWYiLCJzcmMiXSxmdW5jdGlvbihlLHQpe2x0LnByb3BIb29rc1t0XT17Z2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSh0LDQpfX19KSksbHQuc3VwcG9ydC5zdHlsZXx8KGx0LmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlLmNzc1RleHR8fHR9LHNldDpmdW5jdGlvbihlLHQpe3JldHVybiBlLnN0eWxlLmNzc1RleHQ9dCsiIn19KSxsdC5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwobHQucHJvcEhvb2tzLnNlbGVjdGVkPWx0LmV4dGVuZChsdC5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSksbHQuc3VwcG9ydC5lbmN0eXBlfHwobHQucHJvcEZpeC5lbmN0eXBlPSJlbmNvZGluZyIpLGx0LnN1cHBvcnQuY2hlY2tPbnx8bHQuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe2x0LnZhbEhvb2tzW3RoaXNdPXtnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmUudmFsdWV9fX0pLGx0LmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtsdC52YWxIb29rc1t0aGlzXT1sdC5leHRlbmQobHQudmFsSG9va3NbdGhpc10se3NldDpmdW5jdGlvbihlLHQpe3JldHVybiBsdC5pc0FycmF5KHQpP2UuY2hlY2tlZD1sdC5pbkFycmF5KGx0KGUpLnZhbCgpLHQpPj0wOnZvaWQgMH19KX0pO3ZhciBPdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksSXQ9L15rZXkvLEh0PS9eKD86bW91c2V8Y29udGV4dG1lbnUpfGNsaWNrLyxqdD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8senQ9L14oW14uXSopKD86XC4oLispfCkkLztsdC5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihlLG4saSxvLHIpe3ZhciBzLGEsbCxjLHUsZCxwLGgsZixtLGcsdj1sdC5fZGF0YShlKTtpZih2KXtmb3IoaS5oYW5kbGVyJiYoYz1pLGk9Yy5oYW5kbGVyLHI9Yy5zZWxlY3RvciksaS5ndWlkfHwoaS5ndWlkPWx0Lmd1aWQrKyksKGE9di5ldmVudHMpfHwoYT12LmV2ZW50cz17fSksKGQ9di5oYW5kbGUpfHwoZD12LmhhbmRsZT1mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGx0PT09WXx8ZSYmbHQuZXZlbnQudHJpZ2dlcmVkPT09ZS50eXBlP3Q6bHQuZXZlbnQuZGlzcGF0Y2guYXBwbHkoZC5lbGVtLGFyZ3VtZW50cyl9LGQuZWxlbT1lKSxuPShufHwiIikubWF0Y2godXQpfHxbIiJdLGw9bi5sZW5ndGg7bC0tOylzPXp0LmV4ZWMobltsXSl8fFtdLGY9Zz1zWzFdLG09KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSx1PWx0LmV2ZW50LnNwZWNpYWxbZl18fHt9LGY9KHI/dS5kZWxlZ2F0ZVR5cGU6dS5iaW5kVHlwZSl8fGYsdT1sdC5ldmVudC5zcGVjaWFsW2ZdfHx7fSxwPWx0LmV4dGVuZCh7dHlwZTpmLG9yaWdUeXBlOmcsZGF0YTpvLGhhbmRsZXI6aSxndWlkOmkuZ3VpZCxzZWxlY3RvcjpyLG5lZWRzQ29udGV4dDpyJiZsdC5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KHIpLG5hbWVzcGFjZTptLmpvaW4oIi4iKX0sYyksKGg9YVtmXSl8fChoPWFbZl09W10saC5kZWxlZ2F0ZUNvdW50PTAsdS5zZXR1cCYmdS5zZXR1cC5jYWxsKGUsbyxtLGQpIT09ITF8fChlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKGYsZCwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK2YsZCkpKSx1LmFkZCYmKHUuYWRkLmNhbGwoZSxwKSxwLmhhbmRsZXIuZ3VpZHx8KHAuaGFuZGxlci5ndWlkPWkuZ3VpZCkpLHI/aC5zcGxpY2UoaC5kZWxlZ2F0ZUNvdW50KyssMCxwKTpoLnB1c2gocCksbHQuZXZlbnQuZ2xvYmFsW2ZdPSEwO2U9bnVsbH19LHJlbW92ZTpmdW5jdGlvbihlLHQsbixpLG8pe3ZhciByLHMsYSxsLGMsdSxkLHAsaCxmLG0sZz1sdC5oYXNEYXRhKGUpJiZsdC5fZGF0YShlKTtpZihnJiYodT1nLmV2ZW50cykpe2Zvcih0PSh0fHwiIikubWF0Y2godXQpfHxbIiJdLGM9dC5sZW5ndGg7Yy0tOylpZihhPXp0LmV4ZWModFtjXSl8fFtdLGg9bT1hWzFdLGY9KGFbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxoKXtmb3IoZD1sdC5ldmVudC5zcGVjaWFsW2hdfHx7fSxoPShpP2QuZGVsZWdhdGVUeXBlOmQuYmluZFR5cGUpfHxoLHA9dVtoXXx8W10sYT1hWzJdJiZuZXcgUmVnRXhwKCIoXnxcXC4pIitmLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpLGw9cj1wLmxlbmd0aDtyLS07KXM9cFtyXSwhbyYmbSE9PXMub3JpZ1R5cGV8fG4mJm4uZ3VpZCE9PXMuZ3VpZHx8YSYmIWEudGVzdChzLm5hbWVzcGFjZSl8fGkmJmkhPT1zLnNlbGVjdG9yJiYoIioqIiE9PWl8fCFzLnNlbGVjdG9yKXx8KHAuc3BsaWNlKHIsMSkscy5zZWxlY3RvciYmcC5kZWxlZ2F0ZUNvdW50LS0sZC5yZW1vdmUmJmQucmVtb3ZlLmNhbGwoZSxzKSk7bCYmIXAubGVuZ3RoJiYoZC50ZWFyZG93biYmZC50ZWFyZG93bi5jYWxsKGUsZixnLmhhbmRsZSkhPT0hMXx8bHQucmVtb3ZlRXZlbnQoZSxoLGcuaGFuZGxlKSxkZWxldGUgdVtoXSl9ZWxzZSBmb3IoaCBpbiB1KWx0LmV2ZW50LnJlbW92ZShlLGgrdFtjXSxuLGksITApO2x0LmlzRW1wdHlPYmplY3QodSkmJihkZWxldGUgZy5oYW5kbGUsbHQuX3JlbW92ZURhdGEoZSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihuLGksbyxyKXt2YXIgcyxhLGwsYyx1LGQscCxoPVtvfHxRXSxmPXN0LmNhbGwobiwidHlwZSIpP24udHlwZTpuLG09c3QuY2FsbChuLCJuYW1lc3BhY2UiKT9uLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKGw9ZD1vPW98fFEsMyE9PW8ubm9kZVR5cGUmJjghPT1vLm5vZGVUeXBlJiYhanQudGVzdChmK2x0LmV2ZW50LnRyaWdnZXJlZCkmJihmLmluZGV4T2YoIi4iKT49MCYmKG09Zi5zcGxpdCgiLiIpLGY9bS5zaGlmdCgpLG0uc29ydCgpKSxhPWYuaW5kZXhPZigiOiIpPDAmJiJvbiIrZixuPW5bbHQuZXhwYW5kb10/bjpuZXcgbHQuRXZlbnQoZiwib2JqZWN0Ij09dHlwZW9mIG4mJm4pLG4uaXNUcmlnZ2VyPSEwLG4ubmFtZXNwYWNlPW0uam9pbigiLiIpLG4ubmFtZXNwYWNlX3JlPW4ubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK20uam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxuLnJlc3VsdD10LG4udGFyZ2V0fHwobi50YXJnZXQ9byksaT1udWxsPT1pP1tuXTpsdC5tYWtlQXJyYXkoaSxbbl0pLHU9bHQuZXZlbnQuc3BlY2lhbFtmXXx8e30scnx8IXUudHJpZ2dlcnx8dS50cmlnZ2VyLmFwcGx5KG8saSkhPT0hMSkpe2lmKCFyJiYhdS5ub0J1YmJsZSYmIWx0LmlzV2luZG93KG8pKXtmb3IoYz11LmRlbGVnYXRlVHlwZXx8ZixqdC50ZXN0KGMrZil8fChsPWwucGFyZW50Tm9kZSk7bDtsPWwucGFyZW50Tm9kZSloLnB1c2gobCksZD1sO2Q9PT0oby5vd25lckRvY3VtZW50fHxRKSYmaC5wdXNoKGQuZGVmYXVsdFZpZXd8fGQucGFyZW50V2luZG93fHxlKX1mb3IocD0wOyhsPWhbcCsrXSkmJiFuLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KW4udHlwZT1wPjE/Yzp1LmJpbmRUeXBlfHxmLHM9KGx0Ll9kYXRhKGwsImV2ZW50cyIpfHx7fSlbbi50eXBlXSYmbHQuX2RhdGEobCwiaGFuZGxlIikscyYmcy5hcHBseShsLGkpLHM9YSYmbFthXSxzJiZsdC5hY2NlcHREYXRhKGwpJiZzLmFwcGx5JiZzLmFwcGx5KGwsaSk9PT0hMSYmbi5wcmV2ZW50RGVmYXVsdCgpO2lmKG4udHlwZT1mLCEocnx8bi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dS5fZGVmYXVsdCYmdS5fZGVmYXVsdC5hcHBseShvLm93bmVyRG9jdW1lbnQsaSkhPT0hMXx8ImNsaWNrIj09PWYmJmx0Lm5vZGVOYW1lKG8sImEiKXx8IWx0LmFjY2VwdERhdGEobyl8fCFhfHwhb1tmXXx8bHQuaXNXaW5kb3cobykpKXtkPW9bYV0sZCYmKG9bYV09bnVsbCksbHQuZXZlbnQudHJpZ2dlcmVkPWY7dHJ5e29bZl0oKX1jYXRjaChnKXt9bHQuZXZlbnQudHJpZ2dlcmVkPXQsZCYmKG9bYV09ZCl9cmV0dXJuIG4ucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oZSl7ZT1sdC5ldmVudC5maXgoZSk7dmFyIG4saSxvLHIscyxhPVtdLGw9aXQuY2FsbChhcmd1bWVudHMpLGM9KGx0Ll9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbZS50eXBlXXx8W10sdT1sdC5ldmVudC5zcGVjaWFsW2UudHlwZV18fHt9O2lmKGxbMF09ZSxlLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIXUucHJlRGlzcGF0Y2h8fHUucHJlRGlzcGF0Y2guY2FsbCh0aGlzLGUpIT09ITEpe2ZvcihhPWx0LmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxlLGMpLG49MDsocj1hW24rK10pJiYhZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylmb3IoZS5jdXJyZW50VGFyZ2V0PXIuZWxlbSxzPTA7KG89ci5oYW5kbGVyc1tzKytdKSYmIWUuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKTspKCFlLm5hbWVzcGFjZV9yZXx8ZS5uYW1lc3BhY2VfcmUudGVzdChvLm5hbWVzcGFjZSkpJiYoZS5oYW5kbGVPYmo9byxlLmRhdGE9by5kYXRhLGk9KChsdC5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxvLmhhbmRsZXIpLmFwcGx5KHIuZWxlbSxsKSxpIT09dCYmKGUucmVzdWx0PWkpPT09ITEmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSkpO3JldHVybiB1LnBvc3REaXNwYXRjaCYmdS5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGUpLGUucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oZSxuKXt2YXIgaSxvLHIscyxhPVtdLGw9bi5kZWxlZ2F0ZUNvdW50LGM9ZS50YXJnZXQ7aWYobCYmYy5ub2RlVHlwZSYmKCFlLmJ1dHRvbnx8ImNsaWNrIiE9PWUudHlwZSkpZm9yKDtjIT10aGlzO2M9Yy5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1jLm5vZGVUeXBlJiYoYy5kaXNhYmxlZCE9PSEwfHwiY2xpY2siIT09ZS50eXBlKSl7Zm9yKHI9W10scz0wO2w+cztzKyspbz1uW3NdLGk9by5zZWxlY3RvcisiICIscltpXT09PXQmJihyW2ldPW8ubmVlZHNDb250ZXh0P2x0KGksdGhpcykuaW5kZXgoYyk+PTA6bHQuZmluZChpLHRoaXMsbnVsbCxbY10pLmxlbmd0aCkscltpXSYmci5wdXNoKG8pO3IubGVuZ3RoJiZhLnB1c2goe2VsZW06YyxoYW5kbGVyczpyfSl9cmV0dXJuIGw8bi5sZW5ndGgmJmEucHVzaCh7ZWxlbTp0aGlzLGhhbmRsZXJzOm4uc2xpY2UobCl9KSxhfSxmaXg6ZnVuY3Rpb24oZSl7aWYoZVtsdC5leHBhbmRvXSlyZXR1cm4gZTt2YXIgdCxuLGksbz1lLnR5cGUscj1lLHM9dGhpcy5maXhIb29rc1tvXTtmb3Ioc3x8KHRoaXMuZml4SG9va3Nbb109cz1IdC50ZXN0KG8pP3RoaXMubW91c2VIb29rczpJdC50ZXN0KG8pP3RoaXMua2V5SG9va3M6e30pLGk9cy5wcm9wcz90aGlzLnByb3BzLmNvbmNhdChzLnByb3BzKTp0aGlzLnByb3BzLGU9bmV3IGx0LkV2ZW50KHIpLHQ9aS5sZW5ndGg7dC0tOyluPWlbdF0sZVtuXT1yW25dO3JldHVybiBlLnRhcmdldHx8KGUudGFyZ2V0PXIuc3JjRWxlbWVudHx8USksMz09PWUudGFyZ2V0Lm5vZGVUeXBlJiYoZS50YXJnZXQ9ZS50YXJnZXQucGFyZW50Tm9kZSksZS5tZXRhS2V5PSEhZS5tZXRhS2V5LHMuZmlsdGVyP3MuZmlsdGVyKGUscik6ZX0scHJvcHM6ImFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWUud2hpY2gmJihlLndoaWNoPW51bGwhPXQuY2hhckNvZGU/dC5jaGFyQ29kZTp0LmtleUNvZGUpLGV9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihlLG4pe3ZhciBpLG8scixzPW4uYnV0dG9uLGE9bi5mcm9tRWxlbWVudDtyZXR1cm4gbnVsbD09ZS5wYWdlWCYmbnVsbCE9bi5jbGllbnRYJiYobz1lLnRhcmdldC5vd25lckRvY3VtZW50fHxRLHI9by5kb2N1bWVudEVsZW1lbnQsaT1vLmJvZHksZS5wYWdlWD1uLmNsaWVudFgrKHImJnIuc2Nyb2xsTGVmdHx8aSYmaS5zY3JvbGxMZWZ0fHwwKS0ociYmci5jbGllbnRMZWZ0fHxpJiZpLmNsaWVudExlZnR8fDApLGUucGFnZVk9bi5jbGllbnRZKyhyJiZyLnNjcm9sbFRvcHx8aSYmaS5zY3JvbGxUb3B8fDApLShyJiZyLmNsaWVudFRvcHx8aSYmaS5jbGllbnRUb3B8fDApKSwhZS5yZWxhdGVkVGFyZ2V0JiZhJiYoZS5yZWxhdGVkVGFyZ2V0PWE9PT1lLnRhcmdldD9uLnRvRWxlbWVudDphKSxlLndoaWNofHxzPT09dHx8KGUud2hpY2g9MSZzPzE6MiZzPzM6NCZzPzI6MCksZX19LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBsdC5ub2RlTmFtZSh0aGlzLCJpbnB1dCIpJiYiY2hlY2tib3giPT09dGhpcy50eXBlJiZ0aGlzLmNsaWNrPyh0aGlzLmNsaWNrKCksITEpOnZvaWQgMH19LGZvY3VzOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7aWYodGhpcyE9PVEuYWN0aXZlRWxlbWVudCYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChlKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1RLmFjdGl2ZUVsZW1lbnQmJnRoaXMuYmx1cj8odGhpcy5ibHVyKCksITEpOnZvaWQgMH0sZGVsZWdhdGVUeXBlOiJmb2N1c291dCJ9LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UucmVzdWx0IT09dCYmKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1lLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oZSx0LG4saSl7dmFyIG89bHQuZXh0ZW5kKG5ldyBsdC5FdmVudCxuLHt0eXBlOmUsaXNTaW11bGF0ZWQ6ITAsb3JpZ2luYWxFdmVudDp7fX0pO2k/bHQuZXZlbnQudHJpZ2dlcihvLG51bGwsdCk6bHQuZXZlbnQuZGlzcGF0Y2guY2FsbCh0LG8pLG8uaXNEZWZhdWx0UHJldmVudGVkKCkmJm4ucHJldmVudERlZmF1bHQoKX19LGx0LnJlbW92ZUV2ZW50PVEucmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5jdGlvbihlLHQsbil7ZS5yZW1vdmVFdmVudExpc3RlbmVyJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuLCExKX06ZnVuY3Rpb24oZSx0LG4pe3ZhciBpPSJvbiIrdDtlLmRldGFjaEV2ZW50JiYodHlwZW9mIGVbaV09PT1ZJiYoZVtpXT1udWxsKSxlLmRldGFjaEV2ZW50KGksbikpfSxsdC5FdmVudD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbHQuRXZlbnQ/KGUmJmUudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWUsdGhpcy50eXBlPWUudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1lLmRlZmF1bHRQcmV2ZW50ZWR8fGUucmV0dXJuVmFsdWU9PT0hMXx8ZS5nZXRQcmV2ZW50RGVmYXVsdCYmZS5nZXRQcmV2ZW50RGVmYXVsdCgpP2w6Yyk6dGhpcy50eXBlPWUsdCYmbHQuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fGx0Lm5vdygpLHZvaWQodGhpc1tsdC5leHBhbmRvXT0hMCkpOm5ldyBsdC5FdmVudChlLHQpfSxsdC5FdmVudC5wcm90b3R5cGU9e2lzRGVmYXVsdFByZXZlbnRlZDpjLGlzUHJvcGFnYXRpb25TdG9wcGVkOmMsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6YyxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1sLGUmJihlLnByZXZlbnREZWZhdWx0P2UucHJldmVudERlZmF1bHQoKTplLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9bCxlJiYoZS5zdG9wUHJvcGFnYXRpb24mJmUuc3RvcFByb3BhZ2F0aW9uKCksZS5jYW5jZWxCdWJibGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPWwsdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LGx0LmVhY2goe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSxmdW5jdGlvbihlLHQpe2x0LmV2ZW50LnNwZWNpYWxbZV09e2RlbGVnYXRlVHlwZTp0LGJpbmRUeXBlOnQsaGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciBuLGk9dGhpcyxvPWUucmVsYXRlZFRhcmdldCxyPWUuaGFuZGxlT2JqO3JldHVybighb3x8byE9PWkmJiFsdC5jb250YWlucyhpLG8pKSYmKGUudHlwZT1yLm9yaWdUeXBlLG49ci5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSksbHQuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwobHQuZXZlbnQuc3BlY2lhbC5zdWJtaXQ9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIGx0Lm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIGx0LmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLGZ1bmN0aW9uKGUpe3ZhciBuPWUudGFyZ2V0LGk9bHQubm9kZU5hbWUobiwiaW5wdXQiKXx8bHQubm9kZU5hbWUobiwiYnV0dG9uIik/bi5mb3JtOnQ7aSYmIWx0Ll9kYXRhKGksInN1Ym1pdEJ1YmJsZXMiKSYmKGx0LmV2ZW50LmFkZChpLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oZSl7ZS5fc3VibWl0X2J1YmJsZT0hMH0pLGx0Ll9kYXRhKGksInN1Ym1pdEJ1YmJsZXMiLCEwKSl9KX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5vZGUmJiFlLmlzVHJpZ2dlciYmbHQuZXZlbnQuc2ltdWxhdGUoInN1Ym1pdCIsdGhpcy5wYXJlbnROb2RlLGUsITApKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4gbHQubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbHQuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fSksbHQuc3VwcG9ydC5jaGFuZ2VCdWJibGVzfHwobHQuZXZlbnQuc3BlY2lhbC5jaGFuZ2U9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIE90LnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKGx0LmV2ZW50LmFkZCh0aGlzLCJwcm9wZXJ0eWNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihlKXsiY2hlY2tlZCI9PT1lLm9yaWdpbmFsRXZlbnQucHJvcGVydHlOYW1lJiYodGhpcy5fanVzdF9jaGFuZ2VkPSEwKX0pLGx0LmV2ZW50LmFkZCh0aGlzLCJjbGljay5fY2hhbmdlIixmdW5jdGlvbihlKXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFlLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3RfY2hhbmdlZD0hMSksbHQuZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxlLCEwKX0pKSwhMSk6dm9pZCBsdC5ldmVudC5hZGQodGhpcywiYmVmb3JlYWN0aXZhdGUuX2NoYW5nZSIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7T3QudGVzdCh0Lm5vZGVOYW1lKSYmIWx0Ll9kYXRhKHQsImNoYW5nZUJ1YmJsZXMiKSYmKGx0LmV2ZW50LmFkZCh0LCJjaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24oZSl7IXRoaXMucGFyZW50Tm9kZXx8ZS5pc1NpbXVsYXRlZHx8ZS5pc1RyaWdnZXJ8fGx0LmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMucGFyZW50Tm9kZSxlLCEwKX0pLGx0Ll9kYXRhKHQsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O3JldHVybiB0aGlzIT09dHx8ZS5pc1NpbXVsYXRlZHx8ZS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT10LnR5cGUmJiJjaGVja2JveCIhPT10LnR5cGU/ZS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBsdC5ldmVudC5yZW1vdmUodGhpcywiLl9jaGFuZ2UiKSwhT3QudGVzdCh0aGlzLm5vZGVOYW1lKX19KSxsdC5zdXBwb3J0LmZvY3VzaW5CdWJibGVzfHxsdC5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihlLHQpe3ZhciBuPTAsaT1mdW5jdGlvbihlKXtsdC5ldmVudC5zaW11bGF0ZSh0LGUudGFyZ2V0LGx0LmV2ZW50LmZpeChlKSwhMCl9O2x0LmV2ZW50LnNwZWNpYWxbdF09e3NldHVwOmZ1bmN0aW9uKCl7MD09PW4rKyYmUS5hZGRFdmVudExpc3RlbmVyKGUsaSwhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7MD09PS0tbiYmUS5yZW1vdmVFdmVudExpc3RlbmVyKGUsaSwhMCl9fX0pLGx0LmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSxuLGksbyxyKXt2YXIgcyxhO2lmKCJvYmplY3QiPT10eXBlb2YgZSl7InN0cmluZyIhPXR5cGVvZiBuJiYoaT1pfHxuLG49dCk7Zm9yKHMgaW4gZSl0aGlzLm9uKHMsbixpLGVbc10scik7cmV0dXJuIHRoaXN9aWYobnVsbD09aSYmbnVsbD09bz8obz1uLGk9bj10KTpudWxsPT1vJiYoInN0cmluZyI9PXR5cGVvZiBuPyhvPWksaT10KToobz1pLGk9bixuPXQpKSxvPT09ITEpbz1jO2Vsc2UgaWYoIW8pcmV0dXJuIHRoaXM7cmV0dXJuIDE9PT1yJiYoYT1vLG89ZnVuY3Rpb24oZSl7cmV0dXJuIGx0KCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxvLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWx0Lmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe2x0LmV2ZW50LmFkZCh0aGlzLGUsbyxpLG4pfSl9LG9uZTpmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gdGhpcy5vbihlLHQsbixpLDEpfSxvZmY6ZnVuY3Rpb24oZSxuLGkpe3ZhciBvLHI7aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIG89ZS5oYW5kbGVPYmosbHQoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKG8ubmFtZXNwYWNlP28ub3JpZ1R5cGUrIi4iK28ubmFtZXNwYWNlOm8ub3JpZ1R5cGUsby5zZWxlY3RvcixvLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IociBpbiBlKXRoaXMub2ZmKHIsbixlW3JdKTtyZXR1cm4gdGhpc31yZXR1cm4obj09PSExfHwiZnVuY3Rpb24iPT10eXBlb2YgbikmJihpPW4sbj10KSxpPT09ITEmJihpPWMpLHRoaXMuZWFjaChmdW5jdGlvbigpe2x0LmV2ZW50LnJlbW92ZSh0aGlzLGUsaSxuKX0pfSxiaW5kOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5vbihlLG51bGwsdCxuKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4saSl7cmV0dXJuIHRoaXMub24odCxlLG4saSl9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZXx8IioqIixuKX0sdHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtsdC5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXNbMF07cmV0dXJuIG4/bHQuZXZlbnQudHJpZ2dlcihlLHQsbiwhMCk6dm9pZCAwfX0pLGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZnQudGVzdChlKyIiKX1mdW5jdGlvbiBpKCl7dmFyIGUsdD1bXTtyZXR1cm4gZT1mdW5jdGlvbihuLGkpe3JldHVybiB0LnB1c2gobis9IiAiKT5ULmNhY2hlTGVuZ3RoJiZkZWxldGUgZVt0LnNoaWZ0KCldLGVbbl09aX19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZVtqXT0hMCxlfWZ1bmN0aW9uIHIoZSl7dmFyIHQ9QS5jcmVhdGVFbGVtZW50KCJkaXYiKTt0cnl7cmV0dXJuIGUodCl9Y2F0Y2gobil7cmV0dXJuITF9ZmluYWxseXt0PW51bGx9fWZ1bmN0aW9uIHMoZSx0LG4saSl7dmFyIG8scixzLGEsbCxjLHUsaCxmLG07aWYoKHQ/dC5vd25lckRvY3VtZW50fHx0OnopIT09QSYmRCh0KSx0PXR8fEEsbj1ufHxbXSwhZXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBuO2lmKDEhPT0oYT10Lm5vZGVUeXBlKSYmOSE9PWEpcmV0dXJuW107aWYoIUwmJiFpKXtpZihvPW10LmV4ZWMoZSkpaWYocz1vWzFdKXtpZig5PT09YSl7aWYocj10LmdldEVsZW1lbnRCeUlkKHMpLCFyfHwhci5wYXJlbnROb2RlKXJldHVybiBuO2lmKHIuaWQ9PT1zKXJldHVybiBuLnB1c2gociksbn1lbHNlIGlmKHQub3duZXJEb2N1bWVudCYmKHI9dC5vd25lckRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHMpKSYmSSh0LHIpJiZyLmlkPT09cylyZXR1cm4gbi5wdXNoKHIpLG59ZWxzZXtpZihvWzJdKXJldHVybiBWLmFwcGx5KG4sSi5jYWxsKHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSksMCkpLG47aWYoKHM9b1szXSkmJlcuZ2V0QnlDbGFzc05hbWUmJnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gVi5hcHBseShuLEouY2FsbCh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUocyksMCkpLG59aWYoVy5xc2EmJiFQLnRlc3QoZSkpe2lmKHU9ITAsaD1qLGY9dCxtPTk9PT1hJiZlLDE9PT1hJiYib2JqZWN0IiE9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7Zm9yKGM9ZChlKSwodT10LmdldEF0dHJpYnV0ZSgiaWQiKSk/aD11LnJlcGxhY2UoeXQsIlxcJCYiKTp0LnNldEF0dHJpYnV0ZSgiaWQiLGgpLGg9IltpZD0nIitoKyInXSAiLGw9Yy5sZW5ndGg7bC0tOyljW2xdPWgrcChjW2xdKTtmPWh0LnRlc3QoZSkmJnQucGFyZW50Tm9kZXx8dCxtPWMuam9pbigiLCIpfWlmKG0pdHJ5e3JldHVybiBWLmFwcGx5KG4sSi5jYWxsKGYucXVlcnlTZWxlY3RvckFsbChtKSwwKSksbn1jYXRjaChnKXt9ZmluYWxseXt1fHx0LnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiB3KGUucmVwbGFjZShzdCwiJDEiKSx0LG4saSl9ZnVuY3Rpb24gYShlLHQpe3ZhciBuPXQmJmUsaT1uJiYofnQuc291cmNlSW5kZXh8fFEpLSh+ZS5zb3VyY2VJbmRleHx8USk7aWYoaSlyZXR1cm4gaTtpZihuKWZvcig7bj1uLm5leHRTaWJsaW5nOylpZihuPT09dClyZXR1cm4tMTtyZXR1cm4gZT8xOi0xfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09biYmdC50eXBlPT09ZX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09bnx8ImJ1dHRvbiI9PT1uKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gdShlKXtyZXR1cm4gbyhmdW5jdGlvbih0KXtyZXR1cm4gdD0rdCxvKGZ1bmN0aW9uKG4saSl7Zm9yKHZhciBvLHI9ZShbXSxuLmxlbmd0aCx0KSxzPXIubGVuZ3RoO3MtLTspbltvPXJbc11dJiYobltvXT0hKGlbb109bltvXSkpfSl9KX1mdW5jdGlvbiBkKGUsdCl7dmFyIG4saSxvLHIsYSxsLGMsdT1VW2UrIiAiXTtpZih1KXJldHVybiB0PzA6dS5zbGljZSgwKTtmb3IoYT1lLGw9W10sYz1ULnByZUZpbHRlcjthOyl7KCFufHwoaT1hdC5leGVjKGEpKSkmJihpJiYoYT1hLnNsaWNlKGlbMF0ubGVuZ3RoKXx8YSksbC5wdXNoKG89W10pKSxuPSExLChpPWN0LmV4ZWMoYSkpJiYobj1pLnNoaWZ0KCksby5wdXNoKHt2YWx1ZTpuLHR5cGU6aVswXS5yZXBsYWNlKHN0LCIgIil9KSxhPWEuc2xpY2Uobi5sZW5ndGgpKTtmb3IociBpbiBULmZpbHRlcikhKGk9cHRbcl0uZXhlYyhhKSl8fGNbcl0mJiEoaT1jW3JdKGkpKXx8KG49aS5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOnIsbWF0Y2hlczppfSksYT1hLnNsaWNlKG4ubGVuZ3RoKSk7aWYoIW4pYnJlYWt9cmV0dXJuIHQ/YS5sZW5ndGg6YT9zLmVycm9yKGUpOlUoZSxsKS5zbGljZSgwKX1mdW5jdGlvbiBwKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgsaT0iIjtuPnQ7dCsrKWkrPWVbdF0udmFsdWU7cmV0dXJuIGl9ZnVuY3Rpb24gaChlLHQsbil7dmFyIGk9dC5kaXIsbz1uJiYicGFyZW50Tm9kZSI9PT1pLHI9QisrO3JldHVybiB0LmZpcnN0P2Z1bmN0aW9uKHQsbixyKXtmb3IoO3Q9dFtpXTspaWYoMT09PXQubm9kZVR5cGV8fG8pcmV0dXJuIGUodCxuLHIpfTpmdW5jdGlvbih0LG4scyl7dmFyIGEsbCxjLHU9UisiICIrcjtpZihzKXtmb3IoO3Q9dFtpXTspaWYoKDE9PT10Lm5vZGVUeXBlfHxvKSYmZSh0LG4scykpcmV0dXJuITB9ZWxzZSBmb3IoO3Q9dFtpXTspaWYoMT09PXQubm9kZVR5cGV8fG8paWYoYz10W2pdfHwodFtqXT17fSksKGw9Y1tpXSkmJmxbMF09PT11KXtpZigoYT1sWzFdKT09PSEwfHxhPT09aylyZXR1cm4gYT09PSEwfWVsc2UgaWYobD1jW2ldPVt1XSxsWzFdPWUodCxuLHMpfHxrLGxbMV09PT0hMClyZXR1cm4hMH19ZnVuY3Rpb24gZihlKXtyZXR1cm4gZS5sZW5ndGg+MT9mdW5jdGlvbih0LG4saSl7Zm9yKHZhciBvPWUubGVuZ3RoO28tLTspaWYoIWVbb10odCxuLGkpKXJldHVybiExO3JldHVybiEwfTplWzBdfWZ1bmN0aW9uIG0oZSx0LG4saSxvKXtmb3IodmFyIHIscz1bXSxhPTAsbD1lLmxlbmd0aCxjPW51bGwhPXQ7bD5hO2ErKykocj1lW2FdKSYmKCFufHxuKHIsaSxvKSkmJihzLnB1c2gociksYyYmdC5wdXNoKGEpKTtyZXR1cm4gc31mdW5jdGlvbiBnKGUsdCxuLGkscixzKXtyZXR1cm4gaSYmIWlbal0mJihpPWcoaSkpLHImJiFyW2pdJiYocj1nKHIscykpLG8oZnVuY3Rpb24obyxzLGEsbCl7dmFyIGMsdSxkLHA9W10saD1bXSxmPXMubGVuZ3RoLGc9b3x8Yih0fHwiKiIsYS5ub2RlVHlwZT9bYV06YSxbXSksdj0hZXx8IW8mJnQ/ZzptKGcscCxlLGEsbCkseT1uP3J8fChvP2U6Znx8aSk/W106czp2O2lmKG4mJm4odix5LGEsbCksaSlmb3IoYz1tKHksaCksaShjLFtdLGEsbCksdT1jLmxlbmd0aDt1LS07KShkPWNbdV0pJiYoeVtoW3VdXT0hKHZbaFt1XV09ZCkpO2lmKG8pe2lmKHJ8fGUpe2lmKHIpe2ZvcihjPVtdLHU9eS5sZW5ndGg7dS0tOykoZD15W3VdKSYmYy5wdXNoKHZbdV09ZCk7cihudWxsLHk9W10sYyxsKX1mb3IodT15Lmxlbmd0aDt1LS07KShkPXlbdV0pJiYoYz1yP1ouY2FsbChvLGQpOnBbdV0pPi0xJiYob1tjXT0hKHNbY109ZCkpfX1lbHNlIHk9bSh5PT09cz95LnNwbGljZShmLHkubGVuZ3RoKTp5KSxyP3IobnVsbCxzLHksbCk6Vi5hcHBseShzLHkpfSl9ZnVuY3Rpb24gdihlKXtmb3IodmFyIHQsbixpLG89ZS5sZW5ndGgscj1ULnJlbGF0aXZlW2VbMF0udHlwZV0scz1yfHxULnJlbGF0aXZlWyIgIl0sYT1yPzE6MCxsPWgoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fSxzLCEwKSxjPWgoZnVuY3Rpb24oZSl7cmV0dXJuIFouY2FsbCh0LGUpPi0xfSxzLCEwKSx1PVtmdW5jdGlvbihlLG4saSl7cmV0dXJuIXImJihpfHxuIT09Uyl8fCgodD1uKS5ub2RlVHlwZT9sKGUsbixpKTpjKGUsbixpKSl9XTtvPmE7YSsrKWlmKG49VC5yZWxhdGl2ZVtlW2FdLnR5cGVdKXU9W2goZih1KSxuKV07ZWxzZXtpZihuPVQuZmlsdGVyW2VbYV0udHlwZV0uYXBwbHkobnVsbCxlW2FdLm1hdGNoZXMpLG5bal0pe2ZvcihpPSsrYTtvPmkmJiFULnJlbGF0aXZlW2VbaV0udHlwZV07aSsrKTtyZXR1cm4gZyhhPjEmJmYodSksYT4xJiZwKGUuc2xpY2UoMCxhLTEpKS5yZXBsYWNlKHN0LCIkMSIpLG4saT5hJiZ2KGUuc2xpY2UoYSxpKSksbz5pJiZ2KGU9ZS5zbGljZShpKSksbz5pJiZwKGUpKX11LnB1c2gobil9cmV0dXJuIGYodSl9ZnVuY3Rpb24geShlLHQpe3ZhciBuPTAsaT10Lmxlbmd0aD4wLHI9ZS5sZW5ndGg+MCxhPWZ1bmN0aW9uKG8sYSxsLGMsdSl7dmFyIGQscCxoLGY9W10sZz0wLHY9IjAiLHk9byYmW10sYj1udWxsIT11LHc9Uyx4PW98fHImJlQuZmluZC5UQUcoIioiLHUmJmEucGFyZW50Tm9kZXx8YSksQz1SKz1udWxsPT13PzE6TWF0aC5yYW5kb20oKXx8LjE7Zm9yKGImJihTPWEhPT1BJiZhLGs9bik7bnVsbCE9KGQ9eFt2XSk7disrKXtpZihyJiZkKXtmb3IocD0wO2g9ZVtwKytdOylpZihoKGQsYSxsKSl7Yy5wdXNoKGQpO2JyZWFrfWImJihSPUMsaz0rK24pfWkmJigoZD0haCYmZCkmJmctLSxvJiZ5LnB1c2goZCkpfWlmKGcrPXYsaSYmdiE9PWcpe2ZvcihwPTA7aD10W3ArK107KWgoeSxmLGEsbCk7aWYobyl7aWYoZz4wKWZvcig7di0tOyl5W3ZdfHxmW3ZdfHwoZlt2XT1HLmNhbGwoYykpO2Y9bShmKX1WLmFwcGx5KGMsZiksYiYmIW8mJmYubGVuZ3RoPjAmJmcrdC5sZW5ndGg+MSYmcy51bmlxdWVTb3J0KGMpfXJldHVybiBiJiYoUj1DLFM9dykseX07cmV0dXJuIGk/byhhKTphfWZ1bmN0aW9uIGIoZSx0LG4pe2Zvcih2YXIgaT0wLG89dC5sZW5ndGg7bz5pO2krKylzKGUsdFtpXSxuKTtyZXR1cm4gbn1mdW5jdGlvbiB3KGUsdCxuLGkpe3ZhciBvLHIscyxhLGwsYz1kKGUpO2lmKCFpJiYxPT09Yy5sZW5ndGgpe2lmKHI9Y1swXT1jWzBdLnNsaWNlKDApLHIubGVuZ3RoPjImJiJJRCI9PT0ocz1yWzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmIUwmJlQucmVsYXRpdmVbclsxXS50eXBlXSl7aWYodD1ULmZpbmQuSUQocy5tYXRjaGVzWzBdLnJlcGxhY2Uod3QseHQpLHQpWzBdLCF0KXJldHVybiBuO2U9ZS5zbGljZShyLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mb3Iobz1wdC5uZWVkc0NvbnRleHQudGVzdChlKT8wOnIubGVuZ3RoO28tLSYmKHM9cltvXSwhVC5yZWxhdGl2ZVthPXMudHlwZV0pOylpZigobD1ULmZpbmRbYV0pJiYoaT1sKHMubWF0Y2hlc1swXS5yZXBsYWNlKHd0LHh0KSxodC50ZXN0KHJbMF0udHlwZSkmJnQucGFyZW50Tm9kZXx8dCkpKXtpZihyLnNwbGljZShvLDEpLGU9aS5sZW5ndGgmJnAociksIWUpcmV0dXJuIFYuYXBwbHkobixKLmNhbGwoaSwwKSksbjticmVha319cmV0dXJuIE4oZSxjKShpLHQsTCxuLGh0LnRlc3QoZSkpLG59ZnVuY3Rpb24geCgpe312YXIgQyxrLFQsRSwkLE4sXyxTLEQsQSxNLEwsUCxGLE8sSSxILGo9InNpenpsZSIrLW5ldyBEYXRlLHo9ZS5kb2N1bWVudCxXPXt9LFI9MCxCPTAscT1pKCksVT1pKCksWD1pKCksWT10eXBlb2YgdCxRPTE8PDMxLEs9W10sRz1LLnBvcCxWPUsucHVzaCxKPUsuc2xpY2UsWj1LLmluZGV4T2Z8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49dGhpcy5sZW5ndGg7bj50O3QrKylpZih0aGlzW3RdPT09ZSlyZXR1cm4gdDtyZXR1cm4tMX0sZXQ9IltcXHgyMFxcdFxcclxcblxcZl0iLHR0PSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsbnQ9dHQucmVwbGFjZSgidyIsIncjIiksaXQ9IihbKl4kfCF+XT89KSIsb3Q9IlxcWyIrZXQrIiooIit0dCsiKSIrZXQrIiooPzoiK2l0K2V0KyIqKD86KFsnXCJdKSgoPzpcXFxcLnxbXlxcXFxdKSo/KVxcM3woIitudCsiKXwpfCkiK2V0KyIqXFxdIixydD0iOigiK3R0KyIpKD86XFwoKChbJ1wiXSkoKD86XFxcXC58W15cXFxcXSkqPylcXDN8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitvdC5yZXBsYWNlKDMsOCkrIikqKXwuKilcXCl8KSIsc3Q9bmV3IFJlZ0V4cCgiXiIrZXQrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrZXQrIiskIiwiZyIpLGF0PW5ldyBSZWdFeHAoIl4iK2V0KyIqLCIrZXQrIioiKSxjdD1uZXcgUmVnRXhwKCJeIitldCsiKihbXFx4MjBcXHRcXHJcXG5cXGY+K35dKSIrZXQrIioiKSx1dD1uZXcgUmVnRXhwKHJ0KSxkdD1uZXcgUmVnRXhwKCJeIitudCsiJCIpLHB0PXtJRDpuZXcgUmVnRXhwKCJeIygiK3R0KyIpIiksQ0xBU1M6bmV3IFJlZ0V4cCgiXlxcLigiK3R0KyIpIiksTkFNRTpuZXcgUmVnRXhwKCJeXFxbbmFtZT1bJ1wiXT8oIit0dCsiKVsnXCJdP1xcXSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrdHQucmVwbGFjZSgidyIsIncqIikrIikiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK290KSxQU0VVRE86bmV3IFJlZ0V4cCgiXiIrcnQpLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrZXQrIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK2V0KyIqKD86KFsrLV18KSIrZXQrIiooXFxkKyl8KSkiK2V0KyIqXFwpfCkiLCJpIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoIl4iK2V0KyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK2V0KyIqKCg/Oi1cXGQpP1xcZCopIitldCsiKlxcKXwpKD89W14tXXwkKSIsImkiKX0saHQ9L1tceDIwXHRcclxuXGZdKlsrfl0vLGZ0PS9eW157XStce1xzKlxbbmF0aXZlIGNvZGUvLG10PS9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8sZ3Q9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSx2dD0vXmhcZCQvaSx5dD0vJ3xcXC9nLGJ0PS9cPVtceDIwXHRcclxuXGZdKihbXiciXF1dKilbXHgyMFx0XHJcblxmXSpcXS9nLHd0PS9cXChbXGRhLWZBLUZdezEsNn1bXHgyMFx0XHJcblxmXT98LikvZyx4dD1mdW5jdGlvbihlLHQpe3ZhciBuPSIweCIrdC02NTUzNjtyZXR1cm4gbiE9PW4/dDowPm4/U3RyaW5nLmZyb21DaGFyQ29kZShuKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKG4+PjEwfDU1Mjk2LDEwMjMmbnw1NjMyMCl9O3RyeXtKLmNhbGwoei5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaChDdCl7Sj1mdW5jdGlvbihlKXtmb3IodmFyIHQsbj1bXTt0PXRoaXNbZSsrXTspbi5wdXNoKHQpO3JldHVybiBufX0kPXMuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmKGUub3duZXJEb2N1bWVudHx8ZSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiB0PyJIVE1MIiE9PXQubm9kZU5hbWU6ITF9LEQ9cy5zZXREb2N1bWVudD1mdW5jdGlvbihlKXt2YXIgaT1lP2Uub3duZXJEb2N1bWVudHx8ZTp6O3JldHVybiBpIT09QSYmOT09PWkubm9kZVR5cGUmJmkuZG9jdW1lbnRFbGVtZW50PyhBPWksTT1pLmRvY3VtZW50RWxlbWVudCxMPSQoaSksVy50YWdOYW1lTm9Db21tZW50cz1yKGZ1bmN0aW9uKGUpe3JldHVybiBlLmFwcGVuZENoaWxkKGkuY3JlYXRlQ29tbWVudCgiIikpLCFlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RofSksVy5hdHRyaWJ1dGVzPXIoZnVuY3Rpb24oZSl7ZS5pbm5lckhUTUw9IjxzZWxlY3Q+PC9zZWxlY3Q+Ijt2YXIgdD10eXBlb2YgZS5sYXN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJtdWx0aXBsZSIpO3JldHVybiJib29sZWFuIiE9PXQmJiJzdHJpbmciIT09dH0pLFcuZ2V0QnlDbGFzc05hbWU9cihmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxkaXYgY2xhc3M9J2hpZGRlbiBlJz48L2Rpdj48ZGl2IGNsYXNzPSdoaWRkZW4nPjwvZGl2PiIsZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGg/KGUubGFzdENoaWxkLmNsYXNzTmFtZT0iZSIsMj09PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCk6ITF9KSxXLmdldEJ5TmFtZT1yKGZ1bmN0aW9uKGUpe2UuaWQ9aiswLGUuaW5uZXJIVE1MPSI8YSBuYW1lPSciK2orIic+PC9hPjxkaXYgbmFtZT0nIitqKyInPjwvZGl2PiIsTS5pbnNlcnRCZWZvcmUoZSxNLmZpcnN0Q2hpbGQpO3ZhciB0PWkuZ2V0RWxlbWVudHNCeU5hbWUmJmkuZ2V0RWxlbWVudHNCeU5hbWUoaikubGVuZ3RoPT09MitpLmdldEVsZW1lbnRzQnlOYW1lKGorMCkubGVuZ3RoO3JldHVybiBXLmdldElkTm90TmFtZT0haS5nZXRFbGVtZW50QnlJZChqKSxNLnJlbW92ZUNoaWxkKGUpLHR9KSxULmF0dHJIYW5kbGU9cihmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLGUuZmlyc3RDaGlsZCYmdHlwZW9mIGUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUhPT1ZJiYiIyI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KT97fTp7aHJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImhyZWYiLDIpfSx0eXBlOmZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgidHlwZSIpfX0sVy5nZXRJZE5vdE5hbWU/KFQuZmluZC5JRD1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0LmdldEVsZW1lbnRCeUlkIT09WSYmIUwpe3ZhciBuPXQuZ2V0RWxlbWVudEJ5SWQoZSk7cmV0dXJuIG4mJm4ucGFyZW50Tm9kZT9bbl06W119fSxULmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2Uod3QseHQpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImlkIik9PT10fX0pOihULmZpbmQuSUQ9ZnVuY3Rpb24oZSxuKXtpZih0eXBlb2Ygbi5nZXRFbGVtZW50QnlJZCE9PVkmJiFMKXt2YXIgaT1uLmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBpP2kuaWQ9PT1lfHx0eXBlb2YgaS5nZXRBdHRyaWJ1dGVOb2RlIT09WSYmaS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpLnZhbHVlPT09ZT9baV06dDpbXX19LFQuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh3dCx4dCk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPXR5cGVvZiBlLmdldEF0dHJpYnV0ZU5vZGUhPT1ZJiZlLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIG4mJm4udmFsdWU9PT10fX0pLFQuZmluZC5UQUc9Vy50YWdOYW1lTm9Db21tZW50cz9mdW5jdGlvbihlLHQpe3JldHVybiB0eXBlb2YgdC5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PVk/dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTp2b2lkIDB9OmZ1bmN0aW9uKGUsdCl7dmFyIG4saT1bXSxvPTAscj10LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpO2lmKCIqIj09PWUpe2Zvcig7bj1yW28rK107KTE9PT1uLm5vZGVUeXBlJiZpLnB1c2gobik7cmV0dXJuIGl9cmV0dXJuIHJ9LFQuZmluZC5OQU1FPVcuZ2V0QnlOYW1lJiZmdW5jdGlvbihlLHQpe3JldHVybiB0eXBlb2YgdC5nZXRFbGVtZW50c0J5TmFtZSE9PVk/dC5nZXRFbGVtZW50c0J5TmFtZShuYW1lKTp2b2lkIDB9LFQuZmluZC5DTEFTUz1XLmdldEJ5Q2xhc3NOYW1lJiZmdW5jdGlvbihlLHQpe3JldHVybiB0eXBlb2YgdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPT09WXx8TD92b2lkIDA6dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpfSxGPVtdLFA9WyI6Zm9jdXMiXSwoVy5xc2E9bihpLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKHIoZnVuY3Rpb24oZSl7ZS5pbm5lckhUTUw9IjxzZWxlY3Q+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLGUucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8UC5wdXNoKCJcXFsiK2V0KyIqKD86Y2hlY2tlZHxkaXNhYmxlZHxpc21hcHxtdWx0aXBsZXxyZWFkb25seXxzZWxlY3RlZHx2YWx1ZSkiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RofHxQLnB1c2goIjpjaGVja2VkIil9KSxyKGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPSI8aW5wdXQgdHlwZT0naGlkZGVuJyBpPScnLz4iLGUucXVlcnlTZWxlY3RvckFsbCgiW2lePScnXSIpLmxlbmd0aCYmUC5wdXNoKCJbKl4kXT0iK2V0KyIqKD86XCJcInwnJykiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RofHxQLnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksZS5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4IiksUC5wdXNoKCIsLio6Iil9KSksKFcubWF0Y2hlc1NlbGVjdG9yPW4oTz1NLm1hdGNoZXNTZWxlY3Rvcnx8TS5tb3pNYXRjaGVzU2VsZWN0b3J8fE0ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxNLm9NYXRjaGVzU2VsZWN0b3J8fE0ubXNNYXRjaGVzU2VsZWN0b3IpKSYmcihmdW5jdGlvbihlKXtXLmRpc2Nvbm5lY3RlZE1hdGNoPU8uY2FsbChlLCJkaXYiKSxPLmNhbGwoZSwiW3MhPScnXTp4IiksRi5wdXNoKCIhPSIscnQpfSksUD1uZXcgUmVnRXhwKFAuam9pbigifCIpKSxGPW5ldyBSZWdFeHAoRi5qb2luKCJ8IikpLEk9bihNLmNvbnRhaW5zKXx8TS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihlLHQpe3ZhciBuPTk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUsaT10JiZ0LnBhcmVudE5vZGU7cmV0dXJuIGU9PT1pfHwhKCFpfHwxIT09aS5ub2RlVHlwZXx8IShuLmNvbnRhaW5zP24uY29udGFpbnMoaSk6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpKSkpfTpmdW5jdGlvbihlLHQpe2lmKHQpZm9yKDt0PXQucGFyZW50Tm9kZTspaWYodD09PWUpcmV0dXJuITA7cmV0dXJuITF9LEg9TS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihlLHQpe3ZhciBuO3JldHVybiBlPT09dD8oXz0hMCwwKToobj10LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpKT8xJm58fGUucGFyZW50Tm9kZSYmMTE9PT1lLnBhcmVudE5vZGUubm9kZVR5cGU/ZT09PWl8fEkoeixlKT8tMTp0PT09aXx8SSh6LHQpPzE6MDo0Jm4/LTE6MTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPy0xOjF9OmZ1bmN0aW9uKGUsdCl7dmFyIG4sbz0wLHI9ZS5wYXJlbnROb2RlLHM9dC5wYXJlbnROb2RlLGw9W2VdLGM9W3RdO2lmKGU9PT10KXJldHVybiBfPSEwLDA7aWYoIXJ8fCFzKXJldHVybiBlPT09aT8tMTp0PT09aT8xOnI/LTE6cz8xOjA7aWYocj09PXMpcmV0dXJuIGEoZSx0KTtmb3Iobj1lO249bi5wYXJlbnROb2RlOylsLnVuc2hpZnQobik7Zm9yKG49dDtuPW4ucGFyZW50Tm9kZTspYy51bnNoaWZ0KG4pO2Zvcig7bFtvXT09PWNbb107KW8rKztyZXR1cm4gbz9hKGxbb10sY1tvXSk6bFtvXT09PXo/LTE6Y1tvXT09PXo/MTowfSxfPSExLFswLDBdLnNvcnQoSCksVy5kZXRlY3REdXBsaWNhdGVzPV8sQSk6QX0scy5tYXRjaGVzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHMoZSxudWxsLG51bGwsdCl9LHMubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYoKGUub3duZXJEb2N1bWVudHx8ZSkhPT1BJiZEKGUpLHQ9dC5yZXBsYWNlKGJ0LCI9JyQxJ10iKSwhKCFXLm1hdGNoZXNTZWxlY3Rvcnx8THx8RiYmRi50ZXN0KHQpfHxQLnRlc3QodCkpKXRyeXt2YXIgbj1PLmNhbGwoZSx0KTtpZihufHxXLmRpc2Nvbm5lY3RlZE1hdGNofHxlLmRvY3VtZW50JiYxMSE9PWUuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIG59Y2F0Y2goaSl7fXJldHVybiBzKHQsQSxudWxsLFtlXSkubGVuZ3RoPjB9LHMuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9PUEmJkQoZSksSShlLHQpfSxzLmF0dHI9ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9PUEmJkQoZSksTHx8KHQ9dC50b0xvd2VyQ2FzZSgpKSwobj1ULmF0dHJIYW5kbGVbdF0pP24oZSk6THx8Vy5hdHRyaWJ1dGVzP2UuZ2V0QXR0cmlidXRlKHQpOigobj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpfHxlLmdldEF0dHJpYnV0ZSh0KSkmJmVbdF09PT0hMD90Om4mJm4uc3BlY2lmaWVkP24udmFsdWU6bnVsbH0scy5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZSl9LHMudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxuPVtdLGk9MSxvPTA7aWYoXz0hVy5kZXRlY3REdXBsaWNhdGVzLGUuc29ydChIKSxfKXtmb3IoO3Q9ZVtpXTtpKyspdD09PWVbaS0xXSYmKG89bi5wdXNoKGkpKTtmb3IoO28tLTspZS5zcGxpY2UobltvXSwxKX1yZXR1cm4gZX0sRT1zLmdldFRleHQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj0iIixpPTAsbz1lLm5vZGVUeXBlO2lmKG8pe2lmKDE9PT1vfHw5PT09b3x8MTE9PT1vKXtpZigic3RyaW5nIj09dHlwZW9mIGUudGV4dENvbnRlbnQpcmV0dXJuIGUudGV4dENvbnRlbnQ7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKW4rPUUoZSl9ZWxzZSBpZigzPT09b3x8ND09PW8pcmV0dXJuIGUubm9kZVZhbHVlfWVsc2UgZm9yKDt0PWVbaV07aSsrKW4rPUUodCk7cmV0dXJuIG59LFQ9cy5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzpvLG1hdGNoOnB0LGZpbmQ6e30scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZGUifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2libGluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS5yZXBsYWNlKHd0LHh0KSxlWzNdPShlWzRdfHxlWzVdfHwiIikucmVwbGFjZSh3dCx4dCksIn49Ij09PWVbMl0mJihlWzNdPSIgIitlWzNdKyIgIiksZS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1lWzFdLnNsaWNlKDAsMyk/KGVbM118fHMuZXJyb3IoZVswXSksZVs0XT0rKGVbNF0/ZVs1XSsoZVs2XXx8MSk6MiooImV2ZW4iPT09ZVszXXx8Im9kZCI9PT1lWzNdKSksZVs1XT0rKGVbN10rZVs4XXx8Im9kZCI9PT1lWzNdKSk6ZVszXSYmcy5lcnJvcihlWzBdKSxlfSxQU0VVRE86ZnVuY3Rpb24oZSl7dmFyIHQsbj0hZVs1XSYmZVsyXTtyZXR1cm4gcHQuQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzRdP2VbMl09ZVs0XTpuJiZ1dC50ZXN0KG4pJiYodD1kKG4sITApKSYmKHQ9bi5pbmRleE9mKCIpIixuLmxlbmd0aC10KS1uLmxlbmd0aCkmJihlWzBdPWVbMF0uc2xpY2UoMCx0KSxlWzJdPW4uc2xpY2UoMCx0KSksZS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGUpe3JldHVybiIqIj09PWU/ZnVuY3Rpb24oKXtyZXR1cm4hMH06KGU9ZS5yZXBsYWNlKHd0LHh0KS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5vZGVOYW1lJiZ0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1lfSl9LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PXFbZSsiICJdO3JldHVybiB0fHwodD1uZXcgUmVnRXhwKCIoXnwiK2V0KyIpIitlKyIoIitldCsifCQpIikpJiZxKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHQudGVzdChlLmNsYXNzTmFtZXx8dHlwZW9mIGUuZ2V0QXR0cmlidXRlIT09WSYmZS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG89cy5hdHRyKGksZSk7cmV0dXJuIG51bGw9PW8/IiE9Ij09PXQ6dD8obys9IiIsIj0iPT09dD9vPT09bjoiIT0iPT09dD9vIT09bjoiXj0iPT09dD9uJiYwPT09by5pbmRleE9mKG4pOiIqPSI9PT10P24mJm8uaW5kZXhPZihuKT4tMToiJD0iPT09dD9uJiZvLnNsaWNlKC1uLmxlbmd0aCk9PT1uOiJ+PSI9PT10PygiICIrbysiICIpLmluZGV4T2Yobik+LTE6Inw9Ij09PXQ/bz09PW58fG8uc2xpY2UoMCxuLmxlbmd0aCsxKT09PW4rIi0iOiExKTohMH19LENISUxEOmZ1bmN0aW9uKGUsdCxuLGksbyl7dmFyIHI9Im50aCIhPT1lLnNsaWNlKDAsMykscz0ibGFzdCIhPT1lLnNsaWNlKC00KSxhPSJvZi10eXBlIj09PXQ7cmV0dXJuIDE9PT1pJiYwPT09bz9mdW5jdGlvbihlKXtyZXR1cm4hIWUucGFyZW50Tm9kZX06ZnVuY3Rpb24odCxuLGwpe3ZhciBjLHUsZCxwLGgsZixtPXIhPT1zPyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyIsZz10LnBhcmVudE5vZGUsdj1hJiZ0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkseT0hbCYmIWE7aWYoZyl7aWYocil7Zm9yKDttOyl7Zm9yKGQ9dDtkPWRbbV07KWlmKGE/ZC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09djoxPT09ZC5ub2RlVHlwZSlyZXR1cm4hMTtmPW09Im9ubHkiPT09ZSYmIWYmJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYoZj1bcz9nLmZpcnN0Q2hpbGQ6Zy5sYXN0Q2hpbGRdLHMmJnkpe2Zvcih1PWdbal18fChnW2pdPXt9KSxjPXVbZV18fFtdLGg9Y1swXT09PVImJmNbMV0scD1jWzBdPT09UiYmY1syXSxkPWgmJmcuY2hpbGROb2Rlc1toXTtkPSsraCYmZCYmZFttXXx8KHA9aD0wKXx8Zi5wb3AoKTspaWYoMT09PWQubm9kZVR5cGUmJisrcCYmZD09PXQpe3VbZV09W1IsaCxwXTticmVha319ZWxzZSBpZih5JiYoYz0odFtqXXx8KHRbal09e30pKVtlXSkmJmNbMF09PT1SKXA9Y1sxXTtlbHNlIGZvcig7KGQ9KytoJiZkJiZkW21dfHwocD1oPTApfHxmLnBvcCgpKSYmKChhP2Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PXY6MSE9PWQubm9kZVR5cGUpfHwhKytwfHwoeSYmKChkW2pdfHwoZFtqXT17fSkpW2VdPVtSLHBdKSxkIT09dCkpOyk7cmV0dXJuIHAtPW8scD09PWl8fHAlaT09PTAmJnAvaT49MH19fSxQU0VVRE86ZnVuY3Rpb24oZSx0KXt2YXIgbixpPVQucHNldWRvc1tlXXx8VC5zZXRGaWx0ZXJzW2UudG9Mb3dlckNhc2UoKV18fHMuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIitlKTtyZXR1cm4gaVtqXT9pKHQpOmkubGVuZ3RoPjE/KG49W2UsZSwiIix0XSxULnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoZS50b0xvd2VyQ2FzZSgpKT9vKGZ1bmN0aW9uKGUsbil7Zm9yKHZhciBvLHI9aShlLHQpLHM9ci5sZW5ndGg7cy0tOylvPVouY2FsbChlLHJbc10pLGVbb109IShuW29dPXJbc10pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSwwLG4pfSk6aX19LHBzZXVkb3M6e25vdDpvKGZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49W10saT1OKGUucmVwbGFjZShzdCwiJDEiKSk7cmV0dXJuIGlbal0/byhmdW5jdGlvbihlLHQsbixvKXtmb3IodmFyIHIscz1pKGUsbnVsbCxvLFtdKSxhPWUubGVuZ3RoO2EtLTspKHI9c1thXSkmJihlW2FdPSEodFthXT1yKSl9KTpmdW5jdGlvbihlLG8scil7cmV0dXJuIHRbMF09ZSxpKHQsbnVsbCxyLG4pLCFuLnBvcCgpfX0pLGhhczpvKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gcyhlLHQpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOm8oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybih0LnRleHRDb250ZW50fHx0LmlubmVyVGV4dHx8RSh0KSkuaW5kZXhPZihlKT4tMX19KSxsYW5nOm8oZnVuY3Rpb24oZSl7cmV0dXJuIGR0LnRlc3QoZXx8IiIpfHxzLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK2UpLGU9ZS5yZXBsYWNlKHd0LHh0KS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKHQpe3ZhciBuO2RvIGlmKG49TD90LmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8dC5nZXRBdHRyaWJ1dGUoImxhbmciKTp0LmxhbmcpcmV0dXJuIG49bi50b0xvd2VyQ2FzZSgpLG49PT1lfHwwPT09bi5pbmRleE9mKGUrIi0iKTt3aGlsZSgodD10LnBhcmVudE5vZGUpJiYxPT09dC5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKHQpe3ZhciBuPWUubG9jYXRpb24mJmUubG9jYXRpb24uaGFzaDtyZXR1cm4gbiYmbi5zbGljZSgxKT09PXQuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1NfSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PUEuYWN0aXZlRWxlbWVudCYmKCFBLmhhc0ZvY3VzfHxBLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLmRpc2FibGVkPT09ITF9LGRpc2FibGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10JiYhIWUuY2hlY2tlZHx8Im9wdGlvbiI9PT10JiYhIWUuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGUuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oZSl7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKWlmKGUubm9kZU5hbWU+IkAifHwzPT09ZS5ub2RlVHlwZXx8ND09PWUubm9kZVR5cGUpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudDpmdW5jdGlvbihlKXtyZXR1cm4hVC5wc2V1ZG9zLmVtcHR5KGUpfSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHZ0LnRlc3QoZS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBndC50ZXN0KGUubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10JiYiYnV0dG9uIj09PWUudHlwZXx8ImJ1dHRvbiI9PT10fSx0ZXh0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJ0ZXh0Ij09PWUudHlwZSYmKG51bGw9PSh0PWUuZ2V0QXR0cmlidXRlKCJ0eXBlIikpfHx0LnRvTG93ZXJDYXNlKCk9PT1lLnR5cGUpfSxmaXJzdDp1KGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp1KGZ1bmN0aW9uKGUsdCl7cmV0dXJuW3QtMV19KSxlcTp1KGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm5bMD5uP24rdDpuXX0pLGV2ZW46dShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO3Q+bjtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLG9kZDp1KGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTE7dD5uO24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksbHQ6dShmdW5jdGlvbihlLHQsbil7Zm9yKHZhciBpPTA+bj9uK3Q6bjstLWk+PTA7KWUucHVzaChpKTtyZXR1cm4gZX0pLGd0OnUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgaT0wPm4/bit0Om47KytpPHQ7KWUucHVzaChpKTtyZXR1cm4gZX0pfX07Zm9yKEMgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pVC5wc2V1ZG9zW0NdPWwoQyk7Zm9yKEMgaW57c3VibWl0OiEwLHJlc2V0OiEwfSlULnBzZXVkb3NbQ109YyhDKTtOPXMuY29tcGlsZT1mdW5jdGlvbihlLHQpe3ZhciBuLGk9W10sbz1bXSxyPVhbZSsiICJdO2lmKCFyKXtmb3IodHx8KHQ9ZChlKSksbj10Lmxlbmd0aDtuLS07KXI9dih0W25dKSxyW2pdP2kucHVzaChyKTpvLnB1c2gocik7cj1YKGUseShvLGkpKX1yZXR1cm4gcn0sVC5wc2V1ZG9zLm50aD1ULnBzZXVkb3MuZXEsVC5maWx0ZXJzPXgucHJvdG90eXBlPVQucHNldWRvcyxULnNldEZpbHRlcnM9bmV3IHgsRCgpLHMuYXR0cj1sdC5hdHRyLGx0LmZpbmQ9cyxsdC5leHByPXMuc2VsZWN0b3JzLGx0LmV4cHJbIjoiXT1sdC5leHByLnBzZXVkb3MsbHQudW5pcXVlPXMudW5pcXVlU29ydCxsdC50ZXh0PXMuZ2V0VGV4dCxsdC5pc1hNTERvYz1zLmlzWE1MLGx0LmNvbnRhaW5zPXMuY29udGFpbnN9KGUpO3ZhciBXdD0vVW50aWwkLyxSdD0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxCdD0vXi5bXjojXFtcLixdKiQvLHF0PWx0LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LFV0PXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2x0LmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLGksbz10aGlzLmxlbmd0aDtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIGk9dGhpcyx0aGlzLnB1c2hTdGFjayhsdChlKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodD0wO28+dDt0KyspaWYobHQuY29udGFpbnMoaVt0XSx0aGlzKSlyZXR1cm4hMH0pKTtmb3Iobj1bXSx0PTA7bz50O3QrKylsdC5maW5kKGUsdGhpc1t0XSxuKTtyZXR1cm4gbj10aGlzLnB1c2hTdGFjayhvPjE/bHQudW5pcXVlKG4pOm4pLG4uc2VsZWN0b3I9KHRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICI6IiIpK2Usbn0saGFzOmZ1bmN0aW9uKGUpe3ZhciB0LG49bHQoZSx0aGlzKSxpPW4ubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih0PTA7aT50O3QrKylpZihsdC5jb250YWlucyh0aGlzLG5bdF0pKXJldHVybiEwfSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZCh0aGlzLGUsITEpKX0sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkKHRoaXMsZSwhMCkpfSxpczpmdW5jdGlvbihlKXtyZXR1cm4hIWUmJigic3RyaW5nIj09dHlwZW9mIGU/cXQudGVzdChlKT9sdChlLHRoaXMuY29udGV4dCkuaW5kZXgodGhpc1swXSk+PTA6bHQuZmlsdGVyKGUsdGhpcykubGVuZ3RoPjA6dGhpcy5maWx0ZXIoZSkubGVuZ3RoPjApfSxjbG9zZXN0OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuLGk9MCxvPXRoaXMubGVuZ3RoLHI9W10scz1xdC50ZXN0KGUpfHwic3RyaW5nIiE9dHlwZW9mIGU/bHQoZSx0fHx0aGlzLmNvbnRleHQpOjA7bz5pO2krKylmb3Iobj10aGlzW2ldO24mJm4ub3duZXJEb2N1bWVudCYmbiE9PXQmJjExIT09bi5ub2RlVHlwZTspe2lmKHM/cy5pbmRleChuKT4tMTpsdC5maW5kLm1hdGNoZXNTZWxlY3RvcihuLGUpKXtyLnB1c2gobik7YnJlYWt9bj1uLnBhcmVudE5vZGV9cmV0dXJuIHRoaXMucHVzaFN0YWNrKHIubGVuZ3RoPjE/bHQudW5pcXVlKHIpOnIpfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/bHQuaW5BcnJheSh0aGlzWzBdLGx0KGUpKTpsdC5pbkFycmF5KGUuanF1ZXJ5P2VbMF06ZSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihlLHQpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgZT9sdChlLHQpOmx0Lm1ha2VBcnJheShlJiZlLm5vZGVUeXBlP1tlXTplKSxpPWx0Lm1lcmdlKHRoaXMuZ2V0KCksbik7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGx0LnVuaXF1ZShpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWU/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoZSkpfX0pLGx0LmZuLmFuZFNlbGY9bHQuZm4uYWRkQmFjayxsdC5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBsdC5kaXIoZSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsdC5kaXIoZSwicGFyZW50Tm9kZSIsbil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHUoZSwibmV4dFNpYmxpbmciKQp9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIHUoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGx0LmRpcihlLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBsdC5kaXIoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGx0LmRpcihlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGx0LmRpcihlLCJwcmV2aW91c1NpYmxpbmciLG4pfSxzaWJsaW5nczpmdW5jdGlvbihlKXtyZXR1cm4gbHQuc2libGluZygoZS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24oZSl7cmV0dXJuIGx0LnNpYmxpbmcoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGx0Lm5vZGVOYW1lKGUsImlmcmFtZSIpP2UuY29udGVudERvY3VtZW50fHxlLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ6bHQubWVyZ2UoW10sZS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGUsdCl7bHQuZm5bZV09ZnVuY3Rpb24obixpKXt2YXIgbz1sdC5tYXAodGhpcyx0LG4pO3JldHVybiBXdC50ZXN0KGUpfHwoaT1uKSxpJiYic3RyaW5nIj09dHlwZW9mIGkmJihvPWx0LmZpbHRlcihpLG8pKSxvPXRoaXMubGVuZ3RoPjEmJiFVdFtlXT9sdC51bmlxdWUobyk6byx0aGlzLmxlbmd0aD4xJiZSdC50ZXN0KGUpJiYobz1vLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobyl9fSksbHQuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIikiKSwxPT09dC5sZW5ndGg/bHQuZmluZC5tYXRjaGVzU2VsZWN0b3IodFswXSxlKT9bdFswXV06W106bHQuZmluZC5tYXRjaGVzKGUsdCl9LGRpcjpmdW5jdGlvbihlLG4saSl7Zm9yKHZhciBvPVtdLHI9ZVtuXTtyJiY5IT09ci5ub2RlVHlwZSYmKGk9PT10fHwxIT09ci5ub2RlVHlwZXx8IWx0KHIpLmlzKGkpKTspMT09PXIubm9kZVR5cGUmJm8ucHVzaChyKSxyPXJbbl07cmV0dXJuIG99LHNpYmxpbmc6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59fSk7dmFyIFh0PSJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHByb2dyZXNzfHNlY3Rpb258c3VtbWFyeXx0aW1lfHZpZGVvIixZdD0vIGpRdWVyeVxkKz0iKD86bnVsbHxcZCspIi9nLFF0PW5ldyBSZWdFeHAoIjwoPzoiK1h0KyIpW1xccy8+XSIsImkiKSxLdD0vXlxzKy8sR3Q9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Ol0rKVtePl0qKVwvPi9naSxWdD0vPChbXHc6XSspLyxKdD0vPHRib2R5L2ksWnQ9Lzx8JiM/XHcrOy8sZW49LzwoPzpzY3JpcHR8c3R5bGV8bGluaykvaSx0bj0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxubj0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxvbj0vXiR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2kscm49L150cnVlXC8oLiopLyxzbj0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2csYW49e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sYXJlYTpbMSwiPG1hcD4iLCI8L21hcD4iXSxwYXJhbTpbMSwiPG9iamVjdD4iLCI8L29iamVjdD4iXSx0aGVhZDpbMSwiPHRhYmxlPiIsIjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC90Ym9keT48L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLF9kZWZhdWx0Omx0LnN1cHBvcnQuaHRtbFNlcmlhbGl6ZT9bMCwiIiwiIl06WzEsIlg8ZGl2PiIsIjwvZGl2PiJdfSxsbj1wKFEpLGNuPWxuLmFwcGVuZENoaWxkKFEuY3JlYXRlRWxlbWVudCgiZGl2IikpO2FuLm9wdGdyb3VwPWFuLm9wdGlvbixhbi50Ym9keT1hbi50Zm9vdD1hbi5jb2xncm91cD1hbi5jYXB0aW9uPWFuLnRoZWFkLGFuLnRoPWFuLnRkLGx0LmZuLmV4dGVuZCh7dGV4dDpmdW5jdGlvbihlKXtyZXR1cm4gbHQuYWNjZXNzKHRoaXMsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10P2x0LnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHxRKS5jcmVhdGVUZXh0Tm9kZShlKSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sd3JhcEFsbDpmdW5jdGlvbihlKXtpZihsdC5pc0Z1bmN0aW9uKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7bHQodGhpcykud3JhcEFsbChlLmNhbGwodGhpcyx0KSl9KTtpZih0aGlzWzBdKXt2YXIgdD1sdChlLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmdC5pbnNlcnRCZWZvcmUodGhpc1swXSksdC5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcztlLmZpcnN0Q2hpbGQmJjE9PT1lLmZpcnN0Q2hpbGQubm9kZVR5cGU7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfSkuYXBwZW5kKHRoaXMpfXJldHVybiB0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChsdC5pc0Z1bmN0aW9uKGUpP2Z1bmN0aW9uKHQpe2x0KHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9OmZ1bmN0aW9uKCl7dmFyIHQ9bHQodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQuYXBwZW5kKGUpfSl9LHdyYXA6ZnVuY3Rpb24oZSl7dmFyIHQ9bHQuaXNGdW5jdGlvbihlKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe2x0KHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bHQubm9kZU5hbWUodGhpcywiYm9keSIpfHxsdCh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCxmdW5jdGlvbihlKXsoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpJiZ0aGlzLmFwcGVuZENoaWxkKGUpfSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsITAsZnVuY3Rpb24oZSl7KDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKSYmdGhpcy5pbnNlcnRCZWZvcmUoZSx0aGlzLmZpcnN0Q2hpbGQpfSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzLm5leHRTaWJsaW5nKX0pfSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4saT0wO251bGwhPShuPXRoaXNbaV0pO2krKykoIWV8fGx0LmZpbHRlcihlLFtuXSkubGVuZ3RoPjApJiYodHx8MSE9PW4ubm9kZVR5cGV8fGx0LmNsZWFuRGF0YShiKG4pKSxuLnBhcmVudE5vZGUmJih0JiZsdC5jb250YWlucyhuLm93bmVyRG9jdW1lbnQsbikmJmcoYihuLCJzY3JpcHQiKSksbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pKSk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0Kyspe2ZvcigxPT09ZS5ub2RlVHlwZSYmbHQuY2xlYW5EYXRhKGIoZSwhMSkpO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO2Uub3B0aW9ucyYmbHQubm9kZU5hbWUoZSwic2VsZWN0IikmJihlLm9wdGlvbnMubGVuZ3RoPTApfXJldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGw9PWU/ITE6ZSx0PW51bGw9PXQ/ZTp0LHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGx0LmNsb25lKHRoaXMsZSx0KX0pfSxodG1sOmZ1bmN0aW9uKGUpe3JldHVybiBsdC5hY2Nlc3ModGhpcyxmdW5jdGlvbihlKXt2YXIgbj10aGlzWzBdfHx7fSxpPTAsbz10aGlzLmxlbmd0aDtpZihlPT09dClyZXR1cm4gMT09PW4ubm9kZVR5cGU/bi5pbm5lckhUTUwucmVwbGFjZShZdCwiIik6dDtpZighKCJzdHJpbmciIT10eXBlb2YgZXx8ZW4udGVzdChlKXx8IWx0LnN1cHBvcnQuaHRtbFNlcmlhbGl6ZSYmUXQudGVzdChlKXx8IWx0LnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJkt0LnRlc3QoZSl8fGFuWyhWdC5leGVjKGUpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2U9ZS5yZXBsYWNlKEd0LCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtvPmk7aSsrKW49dGhpc1tpXXx8e30sMT09PW4ubm9kZVR5cGUmJihsdC5jbGVhbkRhdGEoYihuLCExKSksbi5pbm5lckhUTUw9ZSk7bj0wfWNhdGNoKHIpe319biYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbihlKXt2YXIgdD1sdC5pc0Z1bmN0aW9uKGUpO3JldHVybiB0fHwic3RyaW5nIj09dHlwZW9mIGV8fChlPWx0KGUpLm5vdCh0aGlzKS5kZXRhY2goKSksdGhpcy5kb21NYW5pcChbZV0sITAsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5uZXh0U2libGluZyxuPXRoaXMucGFyZW50Tm9kZTtuJiYobHQodGhpcykucmVtb3ZlKCksbi5pbnNlcnRCZWZvcmUoZSx0KSl9KX0sZGV0YWNoOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlbW92ZShlLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oZSxuLGkpe2U9dHQuYXBwbHkoW10sZSk7dmFyIG8scixzLGEsbCxjLHU9MCxkPXRoaXMubGVuZ3RoLHA9dGhpcyxnPWQtMSx2PWVbMF0seT1sdC5pc0Z1bmN0aW9uKHYpO2lmKHl8fCEoMT49ZHx8InN0cmluZyIhPXR5cGVvZiB2fHxsdC5zdXBwb3J0LmNoZWNrQ2xvbmUpJiZubi50ZXN0KHYpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24obyl7dmFyIHI9cC5lcShvKTt5JiYoZVswXT12LmNhbGwodGhpcyxvLG4/ci5odG1sKCk6dCkpLHIuZG9tTWFuaXAoZSxuLGkpfSk7aWYoZCYmKGM9bHQuYnVpbGRGcmFnbWVudChlLHRoaXNbMF0ub3duZXJEb2N1bWVudCwhMSx0aGlzKSxvPWMuZmlyc3RDaGlsZCwxPT09Yy5jaGlsZE5vZGVzLmxlbmd0aCYmKGM9byksbykpe2ZvcihuPW4mJmx0Lm5vZGVOYW1lKG8sInRyIiksYT1sdC5tYXAoYihjLCJzY3JpcHQiKSxmKSxzPWEubGVuZ3RoO2Q+dTt1Kyspcj1jLHUhPT1nJiYocj1sdC5jbG9uZShyLCEwLCEwKSxzJiZsdC5tZXJnZShhLGIociwic2NyaXB0IikpKSxpLmNhbGwobiYmbHQubm9kZU5hbWUodGhpc1t1XSwidGFibGUiKT9oKHRoaXNbdV0sInRib2R5Iik6dGhpc1t1XSxyLHUpO2lmKHMpZm9yKGw9YVthLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LGx0Lm1hcChhLG0pLHU9MDtzPnU7dSsrKXI9YVt1XSxvbi50ZXN0KHIudHlwZXx8IiIpJiYhbHQuX2RhdGEociwiZ2xvYmFsRXZhbCIpJiZsdC5jb250YWlucyhsLHIpJiYoci5zcmM/bHQuYWpheCh7dXJsOnIuc3JjLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsYXN5bmM6ITEsZ2xvYmFsOiExLCJ0aHJvd3MiOiEwfSk6bHQuZ2xvYmFsRXZhbCgoci50ZXh0fHxyLnRleHRDb250ZW50fHxyLmlubmVySFRNTHx8IiIpLnJlcGxhY2Uoc24sIiIpKSk7Yz1vPW51bGx9cmV0dXJuIHRoaXN9fSksbHQuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGUsdCl7bHQuZm5bZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLGk9MCxvPVtdLHI9bHQoZSkscz1yLmxlbmd0aC0xO3M+PWk7aSsrKW49aT09PXM/dGhpczp0aGlzLmNsb25lKCEwKSxsdChyW2ldKVt0XShuKSxudC5hcHBseShvLG4uZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhvKX19KSxsdC5leHRlbmQoe2Nsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvLHIscyxhLGw9bHQuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpO2lmKGx0LnN1cHBvcnQuaHRtbDVDbG9uZXx8bHQuaXNYTUxEb2MoZSl8fCFRdC50ZXN0KCI8IitlLm5vZGVOYW1lKyI+Iik/cj1lLmNsb25lTm9kZSghMCk6KGNuLmlubmVySFRNTD1lLm91dGVySFRNTCxjbi5yZW1vdmVDaGlsZChyPWNuLmZpcnN0Q2hpbGQpKSwhKGx0LnN1cHBvcnQubm9DbG9uZUV2ZW50JiZsdC5zdXBwb3J0Lm5vQ2xvbmVDaGVja2VkfHwxIT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlfHxsdC5pc1hNTERvYyhlKSkpZm9yKGk9YihyKSxhPWIoZSkscz0wO251bGwhPShvPWFbc10pOysrcylpW3NdJiZ5KG8saVtzXSk7aWYodClpZihuKWZvcihhPWF8fGIoZSksaT1pfHxiKHIpLHM9MDtudWxsIT0obz1hW3NdKTtzKyspdihvLGlbc10pO2Vsc2UgdihlLHIpO3JldHVybiBpPWIociwic2NyaXB0IiksaS5sZW5ndGg+MCYmZyhpLCFsJiZiKGUsInNjcmlwdCIpKSxpPWE9bz1udWxsLHJ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oZSx0LG4saSl7Zm9yKHZhciBvLHIscyxhLGwsYyx1LGQ9ZS5sZW5ndGgsaD1wKHQpLGY9W10sbT0wO2Q+bTttKyspaWYocj1lW21dLHJ8fDA9PT1yKWlmKCJvYmplY3QiPT09bHQudHlwZShyKSlsdC5tZXJnZShmLHIubm9kZVR5cGU/W3JdOnIpO2Vsc2UgaWYoWnQudGVzdChyKSl7Zm9yKGE9YXx8aC5hcHBlbmRDaGlsZCh0LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxsPShWdC5leGVjKHIpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLHU9YW5bbF18fGFuLl9kZWZhdWx0LGEuaW5uZXJIVE1MPXVbMV0rci5yZXBsYWNlKEd0LCI8JDE+PC8kMj4iKSt1WzJdLG89dVswXTtvLS07KWE9YS5sYXN0Q2hpbGQ7aWYoIWx0LnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJkt0LnRlc3QocikmJmYucHVzaCh0LmNyZWF0ZVRleHROb2RlKEt0LmV4ZWMocilbMF0pKSwhbHQuc3VwcG9ydC50Ym9keSlmb3Iocj0idGFibGUiIT09bHx8SnQudGVzdChyKT8iPHRhYmxlPiIhPT11WzFdfHxKdC50ZXN0KHIpPzA6YTphLmZpcnN0Q2hpbGQsbz1yJiZyLmNoaWxkTm9kZXMubGVuZ3RoO28tLTspbHQubm9kZU5hbWUoYz1yLmNoaWxkTm9kZXNbb10sInRib2R5IikmJiFjLmNoaWxkTm9kZXMubGVuZ3RoJiZyLnJlbW92ZUNoaWxkKGMpO2ZvcihsdC5tZXJnZShmLGEuY2hpbGROb2RlcyksYS50ZXh0Q29udGVudD0iIjthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKTthPWgubGFzdENoaWxkfWVsc2UgZi5wdXNoKHQuY3JlYXRlVGV4dE5vZGUocikpO2ZvcihhJiZoLnJlbW92ZUNoaWxkKGEpLGx0LnN1cHBvcnQuYXBwZW5kQ2hlY2tlZHx8bHQuZ3JlcChiKGYsImlucHV0IiksdyksbT0wO3I9ZlttKytdOylpZigoIWl8fC0xPT09bHQuaW5BcnJheShyLGkpKSYmKHM9bHQuY29udGFpbnMoci5vd25lckRvY3VtZW50LHIpLGE9YihoLmFwcGVuZENoaWxkKHIpLCJzY3JpcHQiKSxzJiZnKGEpLG4pKWZvcihvPTA7cj1hW28rK107KW9uLnRlc3Qoci50eXBlfHwiIikmJm4ucHVzaChyKTtyZXR1cm4gYT1udWxsLGh9LGNsZWFuRGF0YTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbixpLG8scixzPTAsYT1sdC5leHBhbmRvLGw9bHQuY2FjaGUsYz1sdC5zdXBwb3J0LmRlbGV0ZUV4cGFuZG8sdT1sdC5ldmVudC5zcGVjaWFsO251bGwhPShuPWVbc10pO3MrKylpZigodHx8bHQuYWNjZXB0RGF0YShuKSkmJihvPW5bYV0scj1vJiZsW29dKSl7aWYoci5ldmVudHMpZm9yKGkgaW4gci5ldmVudHMpdVtpXT9sdC5ldmVudC5yZW1vdmUobixpKTpsdC5yZW1vdmVFdmVudChuLGksci5oYW5kbGUpO2xbb10mJihkZWxldGUgbFtvXSxjP2RlbGV0ZSBuW2FdOnR5cGVvZiBuLnJlbW92ZUF0dHJpYnV0ZSE9PVk/bi5yZW1vdmVBdHRyaWJ1dGUoYSk6blthXT1udWxsLFoucHVzaChvKSl9fX0pO3ZhciB1bixkbixwbixobj0vYWxwaGFcKFteKV0qXCkvaSxmbj0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxtbj0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC8sZ249L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLHZuPS9ebWFyZ2luLyx5bj1uZXcgUmVnRXhwKCJeKCIrY3QrIikoLiopJCIsImkiKSxibj1uZXcgUmVnRXhwKCJeKCIrY3QrIikoPyFweClbYS16JV0rJCIsImkiKSx3bj1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK2N0KyIpIiwiaSIpLHhuPXtCT0RZOiJibG9jayJ9LENuPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxrbj17bGV0dGVyU3BhY2luZzowLGZvbnRXZWlnaHQ6NDAwfSxUbj1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLEVuPVsiV2Via2l0IiwiTyIsIk1veiIsIm1zIl07bHQuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbHQuYWNjZXNzKHRoaXMsZnVuY3Rpb24oZSxuLGkpe3ZhciBvLHIscz17fSxhPTA7aWYobHQuaXNBcnJheShuKSl7Zm9yKHI9ZG4oZSksbz1uLmxlbmd0aDtvPmE7YSsrKXNbblthXV09bHQuY3NzKGUsblthXSwhMSxyKTtyZXR1cm4gc31yZXR1cm4gaSE9PXQ/bHQuc3R5bGUoZSxuLGkpOmx0LmNzcyhlLG4pfSxlLG4sYXJndW1lbnRzLmxlbmd0aD4xKX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiBrKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIGsodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihlKXt2YXIgdD0iYm9vbGVhbiI9PXR5cGVvZiBlO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsodD9lOkModGhpcykpP2x0KHRoaXMpLnNob3coKTpsdCh0aGlzKS5oaWRlKCl9KX19KSxsdC5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgbj1wbihlLCJvcGFjaXR5Iik7cmV0dXJuIiI9PT1uPyIxIjpufX19fSxjc3NOdW1iZXI6e2NvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjpsdC5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihlLG4saSxvKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciByLHMsYSxsPWx0LmNhbWVsQ2FzZShuKSxjPWUuc3R5bGU7aWYobj1sdC5jc3NQcm9wc1tsXXx8KGx0LmNzc1Byb3BzW2xdPXgoYyxsKSksYT1sdC5jc3NIb29rc1tuXXx8bHQuY3NzSG9va3NbbF0saT09PXQpcmV0dXJuIGEmJiJnZXQiaW4gYSYmKHI9YS5nZXQoZSwhMSxvKSkhPT10P3I6Y1tuXTtpZihzPXR5cGVvZiBpLCJzdHJpbmciPT09cyYmKHI9d24uZXhlYyhpKSkmJihpPShyWzFdKzEpKnJbMl0rcGFyc2VGbG9hdChsdC5jc3MoZSxuKSkscz0ibnVtYmVyIiksIShudWxsPT1pfHwibnVtYmVyIj09PXMmJmlzTmFOKGkpfHwoIm51bWJlciIhPT1zfHxsdC5jc3NOdW1iZXJbbF18fChpKz0icHgiKSxsdC5zdXBwb3J0LmNsZWFyQ2xvbmVTdHlsZXx8IiIhPT1pfHwwIT09bi5pbmRleE9mKCJiYWNrZ3JvdW5kIil8fChjW25dPSJpbmhlcml0IiksYSYmInNldCJpbiBhJiYoaT1hLnNldChlLGksbykpPT09dCkpKXRyeXtjW25dPWl9Y2F0Y2godSl7fX19LGNzczpmdW5jdGlvbihlLG4saSxvKXt2YXIgcixzLGEsbD1sdC5jYW1lbENhc2Uobik7cmV0dXJuIG49bHQuY3NzUHJvcHNbbF18fChsdC5jc3NQcm9wc1tsXT14KGUuc3R5bGUsbCkpLGE9bHQuY3NzSG9va3Nbbl18fGx0LmNzc0hvb2tzW2xdLGEmJiJnZXQiaW4gYSYmKHM9YS5nZXQoZSwhMCxpKSkscz09PXQmJihzPXBuKGUsbixvKSksIm5vcm1hbCI9PT1zJiZuIGluIGtuJiYocz1rbltuXSksIiI9PT1pfHxpPyhyPXBhcnNlRmxvYXQocyksaT09PSEwfHxsdC5pc051bWVyaWMocik/cnx8MDpzKTpzfSxzd2FwOmZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBvLHIscz17fTtmb3IociBpbiB0KXNbcl09ZS5zdHlsZVtyXSxlLnN0eWxlW3JdPXRbcl07bz1uLmFwcGx5KGUsaXx8W10pO2ZvcihyIGluIHQpZS5zdHlsZVtyXT1zW3JdO3JldHVybiBvfX0pLGUuZ2V0Q29tcHV0ZWRTdHlsZT8oZG49ZnVuY3Rpb24odCl7cmV0dXJuIGUuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpfSxwbj1mdW5jdGlvbihlLG4saSl7dmFyIG8scixzLGE9aXx8ZG4oZSksbD1hP2EuZ2V0UHJvcGVydHlWYWx1ZShuKXx8YVtuXTp0LGM9ZS5zdHlsZTtyZXR1cm4gYSYmKCIiIT09bHx8bHQuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfHwobD1sdC5zdHlsZShlLG4pKSxibi50ZXN0KGwpJiZ2bi50ZXN0KG4pJiYobz1jLndpZHRoLHI9Yy5taW5XaWR0aCxzPWMubWF4V2lkdGgsYy5taW5XaWR0aD1jLm1heFdpZHRoPWMud2lkdGg9bCxsPWEud2lkdGgsYy53aWR0aD1vLGMubWluV2lkdGg9cixjLm1heFdpZHRoPXMpKSxsfSk6US5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoZG49ZnVuY3Rpb24oZSl7cmV0dXJuIGUuY3VycmVudFN0eWxlfSxwbj1mdW5jdGlvbihlLG4saSl7dmFyIG8scixzLGE9aXx8ZG4oZSksbD1hP2Fbbl06dCxjPWUuc3R5bGU7cmV0dXJuIG51bGw9PWwmJmMmJmNbbl0mJihsPWNbbl0pLGJuLnRlc3QobCkmJiFtbi50ZXN0KG4pJiYobz1jLmxlZnQscj1lLnJ1bnRpbWVTdHlsZSxzPXImJnIubGVmdCxzJiYoci5sZWZ0PWUuY3VycmVudFN0eWxlLmxlZnQpLGMubGVmdD0iZm9udFNpemUiPT09bj8iMWVtIjpsLGw9Yy5waXhlbExlZnQrInB4IixjLmxlZnQ9byxzJiYoci5sZWZ0PXMpKSwiIj09PWw/ImF1dG8iOmx9KSxsdC5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihlLHQpe2x0LmNzc0hvb2tzW3RdPXtnZXQ6ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBuPzA9PT1lLm9mZnNldFdpZHRoJiZnbi50ZXN0KGx0LmNzcyhlLCJkaXNwbGF5IikpP2x0LnN3YXAoZSxDbixmdW5jdGlvbigpe3JldHVybiAkKGUsdCxpKX0pOiQoZSx0LGkpOnZvaWQgMH0sc2V0OmZ1bmN0aW9uKGUsbixpKXt2YXIgbz1pJiZkbihlKTtyZXR1cm4gVChlLG4saT9FKGUsdCxpLGx0LnN1cHBvcnQuYm94U2l6aW5nJiYiYm9yZGVyLWJveCI9PT1sdC5jc3MoZSwiYm94U2l6aW5nIiwhMSxvKSxvKTowKX19fSksbHQuc3VwcG9ydC5vcGFjaXR5fHwobHQuY3NzSG9va3Mub3BhY2l0eT17Z2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZuLnRlc3QoKHQmJmUuY3VycmVudFN0eWxlP2UuY3VycmVudFN0eWxlLmZpbHRlcjplLnN0eWxlLmZpbHRlcil8fCIiKT8uMDEqcGFyc2VGbG9hdChSZWdFeHAuJDEpKyIiOnQ/IjEiOiIifSxzZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLnN0eWxlLGk9ZS5jdXJyZW50U3R5bGUsbz1sdC5pc051bWVyaWModCk/ImFscGhhKG9wYWNpdHk9IisxMDAqdCsiKSI6IiIscj1pJiZpLmZpbHRlcnx8bi5maWx0ZXJ8fCIiO24uem9vbT0xLCh0Pj0xfHwiIj09PXQpJiYiIj09PWx0LnRyaW0oci5yZXBsYWNlKGhuLCIiKSkmJm4ucmVtb3ZlQXR0cmlidXRlJiYobi5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09dHx8aSYmIWkuZmlsdGVyKXx8KG4uZmlsdGVyPWhuLnRlc3Qocik/ci5yZXBsYWNlKGhuLG8pOnIrIiAiK28pfX0pLGx0KGZ1bmN0aW9uKCl7bHQuc3VwcG9ydC5yZWxpYWJsZU1hcmdpblJpZ2h0fHwobHQuY3NzSG9va3MubWFyZ2luUmlnaHQ9e2dldDpmdW5jdGlvbihlLHQpe3JldHVybiB0P2x0LnN3YXAoZSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0scG4sW2UsIm1hcmdpblJpZ2h0Il0pOnZvaWQgMH19KSwhbHQuc3VwcG9ydC5waXhlbFBvc2l0aW9uJiZsdC5mbi5wb3NpdGlvbiYmbHQuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihlLHQpe2x0LmNzc0hvb2tzW3RdPXtnZXQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbj8obj1wbihlLHQpLGJuLnRlc3Qobik/bHQoZSkucG9zaXRpb24oKVt0XSsicHgiOm4pOnZvaWQgMH19fSl9KSxsdC5leHByJiZsdC5leHByLmZpbHRlcnMmJihsdC5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGUpe3JldHVybiBlLm9mZnNldFdpZHRoPD0wJiZlLm9mZnNldEhlaWdodDw9MHx8IWx0LnN1cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiYibm9uZSI9PT0oZS5zdHlsZSYmZS5zdHlsZS5kaXNwbGF5fHxsdC5jc3MoZSwiZGlzcGxheSIpKX0sbHQuZXhwci5maWx0ZXJzLnZpc2libGU9ZnVuY3Rpb24oZSl7cmV0dXJuIWx0LmV4cHIuZmlsdGVycy5oaWRkZW4oZSl9KSxsdC5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oZSx0KXtsdC5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7Zm9yKHZhciBpPTAsbz17fSxyPSJzdHJpbmciPT10eXBlb2Ygbj9uLnNwbGl0KCIgIik6W25dOzQ+aTtpKyspb1tlK1RuW2ldK3RdPXJbaV18fHJbaS0yXXx8clswXTtyZXR1cm4gb319LHZuLnRlc3QoZSl8fChsdC5jc3NIb29rc1tlK3RdLnNldD1UKX0pO3ZhciAkbj0vJTIwL2csTm49L1xbXF0kLyxfbj0vXHI/XG4vZyxTbj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksRG49L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2x0LmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGx0LnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9bHQucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBlP2x0Lm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFsdCh0aGlzKS5pcygiOmRpc2FibGVkIikmJkRuLnRlc3QodGhpcy5ub2RlTmFtZSkmJiFTbi50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhdG4udGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj1sdCh0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09bj9udWxsOmx0LmlzQXJyYXkobik/bHQubWFwKG4sZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6dC5uYW1lLHZhbHVlOmUucmVwbGFjZShfbiwiXHJcbiIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2UoX24sIlxyXG4iKX19KS5nZXQoKX19KSxsdC5wYXJhbT1mdW5jdGlvbihlLG4pe3ZhciBpLG89W10scj1mdW5jdGlvbihlLHQpe3Q9bHQuaXNGdW5jdGlvbih0KT90KCk6bnVsbD09dD8iIjp0LG9bby5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChlKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQpfTtpZihuPT09dCYmKG49bHQuYWpheFNldHRpbmdzJiZsdC5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLGx0LmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhbHQuaXNQbGFpbk9iamVjdChlKSlsdC5lYWNoKGUsZnVuY3Rpb24oKXtyKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGkgaW4gZSlTKGksZVtpXSxuLHIpO3JldHVybiBvLmpvaW4oIiYiKS5yZXBsYWNlKCRuLCIrIil9LGx0LmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSx0KXtsdC5mblt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbih0LG51bGwsZSxuKTp0aGlzLnRyaWdnZXIodCl9fSksbHQuZm4uaG92ZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGUpLm1vdXNlbGVhdmUodHx8ZSl9O3ZhciBBbixNbixMbj1sdC5ub3coKSxQbj0vXD8vLEZuPS8jLiokLyxPbj0vKFs/Jl0pXz1bXiZdKi8sSW49L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxIbj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxqbj0vXig/OkdFVHxIRUFEKSQvLHpuPS9eXC9cLy8sV249L14oW1x3ListXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKXwpfCkvLFJuPWx0LmZuLmxvYWQsQm49e30scW49e30sVW49IiovIi5jb25jYXQoIioiKTt0cnl7TW49Sy5ocmVmfWNhdGNoKFhuKXtNbj1RLmNyZWF0ZUVsZW1lbnQoImEiKSxNbi5ocmVmPSIiLE1uPU1uLmhyZWZ9QW49V24uZXhlYyhNbi50b0xvd2VyQ2FzZSgpKXx8W10sbHQuZm4ubG9hZD1mdW5jdGlvbihlLG4saSl7aWYoInN0cmluZyIhPXR5cGVvZiBlJiZSbilyZXR1cm4gUm4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBvLHIscyxhPXRoaXMsbD1lLmluZGV4T2YoIiAiKTtyZXR1cm4gbD49MCYmKG89ZS5zbGljZShsLGUubGVuZ3RoKSxlPWUuc2xpY2UoMCxsKSksbHQuaXNGdW5jdGlvbihuKT8oaT1uLG49dCk6biYmIm9iamVjdCI9PXR5cGVvZiBuJiYocz0iUE9TVCIpLGEubGVuZ3RoPjAmJmx0LmFqYXgoe3VybDplLHR5cGU6cyxkYXRhVHlwZToiaHRtbCIsZGF0YTpufSkuZG9uZShmdW5jdGlvbihlKXtyPWFyZ3VtZW50cyxhLmh0bWwobz9sdCgiPGRpdj4iKS5hcHBlbmQobHQucGFyc2VIVE1MKGUpKS5maW5kKG8pOmUpfSkuY29tcGxldGUoaSYmZnVuY3Rpb24oZSx0KXthLmVhY2goaSxyfHxbZS5yZXNwb25zZVRleHQsdCxlXSl9KSx0aGlzfSxsdC5lYWNoKFsiYWpheFN0YXJ0IiwiYWpheFN0b3AiLCJhamF4Q29tcGxldGUiLCJhamF4RXJyb3IiLCJhamF4U3VjY2VzcyIsImFqYXhTZW5kIl0sZnVuY3Rpb24oZSx0KXtsdC5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vbih0LGUpfX0pLGx0LmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oZSxuKXtsdFtuXT1mdW5jdGlvbihlLGksbyxyKXtyZXR1cm4gbHQuaXNGdW5jdGlvbihpKSYmKHI9cnx8byxvPWksaT10KSxsdC5hamF4KHt1cmw6ZSx0eXBlOm4sZGF0YVR5cGU6cixkYXRhOmksc3VjY2VzczpvfSl9fSksbHQuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3VybDpNbix0eXBlOiJHRVQiLGlzTG9jYWw6SG4udGVzdChBblsxXSksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjpVbix0ZXh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDoveG1sLyxodG1sOi9odG1sLyxqc29uOi9qc29uL30scmVzcG9uc2VGaWVsZHM6e3htbDoicmVzcG9uc2VYTUwiLHRleHQ6InJlc3BvbnNlVGV4dCJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOmUuU3RyaW5nLCJ0ZXh0IGh0bWwiOiEwLCJ0ZXh0IGpzb24iOmx0LnBhcnNlSlNPTiwidGV4dCB4bWwiOmx0LnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9NKE0oZSxsdC5hamF4U2V0dGluZ3MpLHQpOk0obHQuYWpheFNldHRpbmdzLGUpfSxhamF4UHJlZmlsdGVyOkQoQm4pLGFqYXhUcmFuc3BvcnQ6RChxbiksYWpheDpmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIGkoZSxuLGksbyl7dmFyIHIsZCx5LGIseCxrPW47MiE9PXcmJih3PTIsbCYmY2xlYXJUaW1lb3V0KGwpLHU9dCxhPW98fCIiLEMucmVhZHlTdGF0ZT1lPjA/NDowLGkmJihiPUwocCxDLGkpKSxlPj0yMDAmJjMwMD5lfHwzMDQ9PT1lPyhwLmlmTW9kaWZpZWQmJih4PUMuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx4JiYobHQubGFzdE1vZGlmaWVkW3NdPXgpLHg9Qy5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpLHgmJihsdC5ldGFnW3NdPXgpKSwyMDQ9PT1lPyhyPSEwLGs9Im5vY29udGVudCIpOjMwND09PWU/KHI9ITAsaz0ibm90bW9kaWZpZWQiKToocj1QKHAsYiksaz1yLnN0YXRlLGQ9ci5kYXRhLHk9ci5lcnJvcixyPSF5KSk6KHk9aywoZXx8IWspJiYoaz0iZXJyb3IiLDA+ZSYmKGU9MCkpKSxDLnN0YXR1cz1lLEMuc3RhdHVzVGV4dD0obnx8aykrIiIscj9tLnJlc29sdmVXaXRoKGgsW2QsayxDXSk6bS5yZWplY3RXaXRoKGgsW0Msayx5XSksQy5zdGF0dXNDb2RlKHYpLHY9dCxjJiZmLnRyaWdnZXIocj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFtDLHAscj9kOnldKSxnLmZpcmVXaXRoKGgsW0Msa10pLGMmJihmLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW0MscF0pLC0tbHQuYWN0aXZlfHxsdC5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKSl9Im9iamVjdCI9PXR5cGVvZiBlJiYobj1lLGU9dCksbj1ufHx7fTt2YXIgbyxyLHMsYSxsLGMsdSxkLHA9bHQuYWpheFNldHVwKHt9LG4pLGg9cC5jb250ZXh0fHxwLGY9cC5jb250ZXh0JiYoaC5ub2RlVHlwZXx8aC5qcXVlcnkpP2x0KGgpOmx0LmV2ZW50LG09bHQuRGVmZXJyZWQoKSxnPWx0LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx2PXAuc3RhdHVzQ29kZXx8e30seT17fSxiPXt9LHc9MCx4PSJjYW5jZWxlZCIsQz17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKDI9PT13KXtpZighZClmb3IoZD17fTt0PUluLmV4ZWMoYSk7KWRbdFsxXS50b0xvd2VyQ2FzZSgpXT10WzJdO3Q9ZFtlLnRvTG93ZXJDYXNlKCldfXJldHVybiBudWxsPT10P251bGw6dH0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT13P2E6bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihlLHQpe3ZhciBuPWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gd3x8KGU9YltuXT1iW25dfHxlLHlbZV09dCksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihlKXtyZXR1cm4gd3x8KHAubWltZVR5cGU9ZSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihlKXt2YXIgdDtpZihlKWlmKDI+dylmb3IodCBpbiBlKXZbdF09W3ZbdF0sZVt0XV07ZWxzZSBDLmFsd2F5cyhlW0Muc3RhdHVzXSk7cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe3ZhciB0PWV8fHg7cmV0dXJuIHUmJnUuYWJvcnQodCksaSgwLHQpLHRoaXN9fTtpZihtLnByb21pc2UoQykuY29tcGxldGU9Zy5hZGQsQy5zdWNjZXNzPUMuZG9uZSxDLmVycm9yPUMuZmFpbCxwLnVybD0oKGV8fHAudXJsfHxNbikrIiIpLnJlcGxhY2UoRm4sIiIpLnJlcGxhY2Uoem4sQW5bMV0rIi8vIikscC50eXBlPW4ubWV0aG9kfHxuLnR5cGV8fHAubWV0aG9kfHxwLnR5cGUscC5kYXRhVHlwZXM9bHQudHJpbShwLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkubWF0Y2godXQpfHxbIiJdLG51bGw9PXAuY3Jvc3NEb21haW4mJihvPVduLmV4ZWMocC51cmwudG9Mb3dlckNhc2UoKSkscC5jcm9zc0RvbWFpbj0hKCFvfHxvWzFdPT09QW5bMV0mJm9bMl09PT1BblsyXSYmKG9bM118fCgiaHR0cDoiPT09b1sxXT84MDo0NDMpKT09KEFuWzNdfHwoImh0dHA6Ij09PUFuWzFdPzgwOjQ0MykpKSkscC5kYXRhJiZwLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIHAuZGF0YSYmKHAuZGF0YT1sdC5wYXJhbShwLmRhdGEscC50cmFkaXRpb25hbCkpLEEoQm4scCxuLEMpLDI9PT13KXJldHVybiBDO2M9cC5nbG9iYWwsYyYmMD09PWx0LmFjdGl2ZSsrJiZsdC5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSxwLnR5cGU9cC50eXBlLnRvVXBwZXJDYXNlKCkscC5oYXNDb250ZW50PSFqbi50ZXN0KHAudHlwZSkscz1wLnVybCxwLmhhc0NvbnRlbnR8fChwLmRhdGEmJihzPXAudXJsKz0oUG4udGVzdChzKT8iJiI6Ij8iKStwLmRhdGEsZGVsZXRlIHAuZGF0YSkscC5jYWNoZT09PSExJiYocC51cmw9T24udGVzdChzKT9zLnJlcGxhY2UoT24sIiQxXz0iK0xuKyspOnMrKFBuLnRlc3Qocyk/IiYiOiI/IikrIl89IitMbisrKSkscC5pZk1vZGlmaWVkJiYobHQubGFzdE1vZGlmaWVkW3NdJiZDLnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixsdC5sYXN0TW9kaWZpZWRbc10pLGx0LmV0YWdbc10mJkMuc2V0UmVxdWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsbHQuZXRhZ1tzXSkpLChwLmRhdGEmJnAuaGFzQ29udGVudCYmcC5jb250ZW50VHlwZSE9PSExfHxuLmNvbnRlbnRUeXBlKSYmQy5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLHAuY29udGVudFR5cGUpLEMuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixwLmRhdGFUeXBlc1swXSYmcC5hY2NlcHRzW3AuZGF0YVR5cGVzWzBdXT9wLmFjY2VwdHNbcC5kYXRhVHlwZXNbMF1dKygiKiIhPT1wLmRhdGFUeXBlc1swXT8iLCAiK1VuKyI7IHE9MC4wMSI6IiIpOnAuYWNjZXB0c1siKiJdKTtmb3IociBpbiBwLmhlYWRlcnMpQy5zZXRSZXF1ZXN0SGVhZGVyKHIscC5oZWFkZXJzW3JdKTtpZihwLmJlZm9yZVNlbmQmJihwLmJlZm9yZVNlbmQuY2FsbChoLEMscCk9PT0hMXx8Mj09PXcpKXJldHVybiBDLmFib3J0KCk7eD0iYWJvcnQiO2ZvcihyIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KUNbcl0ocFtyXSk7aWYodT1BKHFuLHAsbixDKSl7Qy5yZWFkeVN0YXRlPTEsYyYmZi50cmlnZ2VyKCJhamF4U2VuZCIsW0MscF0pLHAuYXN5bmMmJnAudGltZW91dD4wJiYobD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Qy5hYm9ydCgidGltZW91dCIpfSxwLnRpbWVvdXQpKTt0cnl7dz0xLHUuc2VuZCh5LGkpfWNhdGNoKGspe2lmKCEoMj53KSl0aHJvdyBrO2koLTEsayl9fWVsc2UgaSgtMSwiTm8gVHJhbnNwb3J0Iik7cmV0dXJuIEN9LGdldFNjcmlwdDpmdW5jdGlvbihlLG4pe3JldHVybiBsdC5nZXQoZSx0LG4sInNjcmlwdCIpfSxnZXRKU09OOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbHQuZ2V0KGUsdCxuLCJqc29uIil9fSksbHQuYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovKD86amF2YXxlY21hKXNjcmlwdC99LGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGx0Lmdsb2JhbEV2YWwoZSksZX19fSksbHQuYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXtlLmNhY2hlPT09dCYmKGUuY2FjaGU9ITEpLGUuY3Jvc3NEb21haW4mJihlLnR5cGU9IkdFVCIsZS5nbG9iYWw9ITEpfSksbHQuYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihlKXtpZihlLmNyb3NzRG9tYWluKXt2YXIgbixpPVEuaGVhZHx8bHQoImhlYWQiKVswXXx8US5kb2N1bWVudEVsZW1lbnQ7cmV0dXJue3NlbmQ6ZnVuY3Rpb24odCxvKXtuPVEuY3JlYXRlRWxlbWVudCgic2NyaXB0Iiksbi5hc3luYz0hMCxlLnNjcmlwdENoYXJzZXQmJihuLmNoYXJzZXQ9ZS5zY3JpcHRDaGFyc2V0KSxuLnNyYz1lLnVybCxuLm9ubG9hZD1uLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihlLHQpeyh0fHwhbi5yZWFkeVN0YXRlfHwvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KG4ucmVhZHlTdGF0ZSkpJiYobi5vbmxvYWQ9bi5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSxuPW51bGwsdHx8bygyMDAsInN1Y2Nlc3MiKSl9LGkuaW5zZXJ0QmVmb3JlKG4saS5maXJzdENoaWxkKX0sYWJvcnQ6ZnVuY3Rpb24oKXtuJiZuLm9ubG9hZCh0LCEwKX19fX0pO3ZhciBZbj1bXSxRbj0vKD0pXD8oPz0mfCQpfFw/XD8vO2x0LmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9WW4ucG9wKCl8fGx0LmV4cGFuZG8rIl8iK0xuKys7cmV0dXJuIHRoaXNbZV09ITAsZX19KSxsdC5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihuLGksbyl7dmFyIHIscyxhLGw9bi5qc29ucCE9PSExJiYoUW4udGVzdChuLnVybCk/InVybCI6InN0cmluZyI9PXR5cGVvZiBuLmRhdGEmJiEobi5jb250ZW50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiZRbi50ZXN0KG4uZGF0YSkmJiJkYXRhIik7cmV0dXJuIGx8fCJqc29ucCI9PT1uLmRhdGFUeXBlc1swXT8ocj1uLmpzb25wQ2FsbGJhY2s9bHQuaXNGdW5jdGlvbihuLmpzb25wQ2FsbGJhY2spP24uanNvbnBDYWxsYmFjaygpOm4uanNvbnBDYWxsYmFjayxsP25bbF09bltsXS5yZXBsYWNlKFFuLCIkMSIrcik6bi5qc29ucCE9PSExJiYobi51cmwrPShQbi50ZXN0KG4udXJsKT8iJiI6Ij8iKStuLmpzb25wKyI9IityKSxuLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gYXx8bHQuZXJyb3IocisiIHdhcyBub3QgY2FsbGVkIiksYVswXX0sbi5kYXRhVHlwZXNbMF09Impzb24iLHM9ZVtyXSxlW3JdPWZ1bmN0aW9uKCl7YT1hcmd1bWVudHN9LG8uYWx3YXlzKGZ1bmN0aW9uKCl7ZVtyXT1zLG5bcl0mJihuLmpzb25wQ2FsbGJhY2s9aS5qc29ucENhbGxiYWNrLFluLnB1c2gocikpLGEmJmx0LmlzRnVuY3Rpb24ocykmJnMoYVswXSksYT1zPXR9KSwic2NyaXB0Iik6dm9pZCAwfSk7dmFyIEtuLEduLFZuPTAsSm49ZS5BY3RpdmVYT2JqZWN0JiZmdW5jdGlvbigpe3ZhciBlO2ZvcihlIGluIEtuKUtuW2VdKHQsITApfTtsdC5hamF4U2V0dGluZ3MueGhyPWUuQWN0aXZlWE9iamVjdD9mdW5jdGlvbigpe3JldHVybiF0aGlzLmlzTG9jYWwmJkYoKXx8TygpfTpGLEduPWx0LmFqYXhTZXR0aW5ncy54aHIoKSxsdC5zdXBwb3J0LmNvcnM9ISFHbiYmIndpdGhDcmVkZW50aWFscyJpbiBHbixHbj1sdC5zdXBwb3J0LmFqYXg9ISFHbixHbiYmbHQuYWpheFRyYW5zcG9ydChmdW5jdGlvbihuKXtpZighbi5jcm9zc0RvbWFpbnx8bHQuc3VwcG9ydC5jb3JzKXt2YXIgaTtyZXR1cm57c2VuZDpmdW5jdGlvbihvLHIpe3ZhciBzLGEsbD1uLnhocigpO2lmKG4udXNlcm5hbWU/bC5vcGVuKG4udHlwZSxuLnVybCxuLmFzeW5jLG4udXNlcm5hbWUsbi5wYXNzd29yZCk6bC5vcGVuKG4udHlwZSxuLnVybCxuLmFzeW5jKSxuLnhockZpZWxkcylmb3IoYSBpbiBuLnhockZpZWxkcylsW2FdPW4ueGhyRmllbGRzW2FdO24ubWltZVR5cGUmJmwub3ZlcnJpZGVNaW1lVHlwZSYmbC5vdmVycmlkZU1pbWVUeXBlKG4ubWltZVR5cGUpLG4uY3Jvc3NEb21haW58fG9bIlgtUmVxdWVzdGVkLVdpdGgiXXx8KG9bIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGEgaW4gbylsLnNldFJlcXVlc3RIZWFkZXIoYSxvW2FdKX1jYXRjaChjKXt9bC5zZW5kKG4uaGFzQ29udGVudCYmbi5kYXRhfHxudWxsKSxpPWZ1bmN0aW9uKGUsbyl7dmFyIGEsYyx1LGQ7dHJ5e2lmKGkmJihvfHw0PT09bC5yZWFkeVN0YXRlKSlpZihpPXQscyYmKGwub25yZWFkeXN0YXRlY2hhbmdlPWx0Lm5vb3AsSm4mJmRlbGV0ZSBLbltzXSksbyk0IT09bC5yZWFkeVN0YXRlJiZsLmFib3J0KCk7ZWxzZXtkPXt9LGE9bC5zdGF0dXMsYz1sLmdldEFsbFJlc3BvbnNlSGVhZGVycygpLCJzdHJpbmciPT10eXBlb2YgbC5yZXNwb25zZVRleHQmJihkLnRleHQ9bC5yZXNwb25zZVRleHQpO3RyeXt1PWwuc3RhdHVzVGV4dH1jYXRjaChwKXt1PSIifWF8fCFuLmlzTG9jYWx8fG4uY3Jvc3NEb21haW4/MTIyMz09PWEmJihhPTIwNCk6YT1kLnRleHQ/MjAwOjQwNH19Y2F0Y2goaCl7b3x8cigtMSxoKX1kJiZyKGEsdSxkLGMpfSxuLmFzeW5jPzQ9PT1sLnJlYWR5U3RhdGU/c2V0VGltZW91dChpKToocz0rK1ZuLEpuJiYoS258fChLbj17fSxsdChlKS51bmxvYWQoSm4pKSxLbltzXT1pKSxsLm9ucmVhZHlzdGF0ZWNoYW5nZT1pKTppKCl9LGFib3J0OmZ1bmN0aW9uKCl7aSYmaSh0LCEwKX19fX0pO3ZhciBabixlaSx0aT0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sbmk9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK2N0KyIpKFthLXolXSopJCIsImkiKSxpaT0vcXVldWVIb29rcyQvLG9pPVtXXSxyaT17IioiOltmdW5jdGlvbihlLHQpe3ZhciBuLGksbz10aGlzLmNyZWF0ZVR3ZWVuKGUsdCkscj1uaS5leGVjKHQpLHM9by5jdXIoKSxhPStzfHwwLGw9MSxjPTIwO2lmKHIpe2lmKG49K3JbMl0saT1yWzNdfHwobHQuY3NzTnVtYmVyW2VdPyIiOiJweCIpLCJweCIhPT1pJiZhKXthPWx0LmNzcyhvLmVsZW0sZSwhMCl8fG58fDE7ZG8gbD1sfHwiLjUiLGEvPWwsbHQuc3R5bGUoby5lbGVtLGUsYStpKTt3aGlsZShsIT09KGw9by5jdXIoKS9zKSYmMSE9PWwmJi0tYyl9by51bml0PWksby5zdGFydD1hLG8uZW5kPXJbMV0/YSsoclsxXSsxKSpuOm59cmV0dXJuIG99XX07bHQuQW5pbWF0aW9uPWx0LmV4dGVuZChqLHt0d2VlbmVyOmZ1bmN0aW9uKGUsdCl7bHQuaXNGdW5jdGlvbihlKT8odD1lLGU9WyIqIl0pOmU9ZS5zcGxpdCgiICIpO2Zvcih2YXIgbixpPTAsbz1lLmxlbmd0aDtvPmk7aSsrKW49ZVtpXSxyaVtuXT1yaVtuXXx8W10scmlbbl0udW5zaGlmdCh0KX0scHJlZmlsdGVyOmZ1bmN0aW9uKGUsdCl7dD9vaS51bnNoaWZ0KGUpOm9pLnB1c2goZSl9fSksbHQuVHdlZW49UixSLnByb3RvdHlwZT17Y29uc3RydWN0b3I6Uixpbml0OmZ1bmN0aW9uKGUsdCxuLGksbyxyKXt0aGlzLmVsZW09ZSx0aGlzLnByb3A9bix0aGlzLmVhc2luZz1vfHwic3dpbmciLHRoaXMub3B0aW9ucz10LHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1pLHRoaXMudW5pdD1yfHwobHQuY3NzTnVtYmVyW25dPyIiOiJweCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgZT1SLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBlJiZlLmdldD9lLmdldCh0aGlzKTpSLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihlKXt2YXIgdCxuPVIucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMucG9zPXQ9dGhpcy5vcHRpb25zLmR1cmF0aW9uP2x0LmVhc2luZ1t0aGlzLmVhc2luZ10oZSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qZSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTplLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOlIucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sUi5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGU9Ui5wcm90b3R5cGUsUi5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIG51bGw9PWUuZWxlbVtlLnByb3BdfHxlLmVsZW0uc3R5bGUmJm51bGwhPWUuZWxlbS5zdHlsZVtlLnByb3BdPyh0PWx0LmNzcyhlLmVsZW0sZS5wcm9wLCIiKSx0JiYiYXV0byIhPT10P3Q6MCk6ZS5lbGVtW2UucHJvcF19LHNldDpmdW5jdGlvbihlKXtsdC5meC5zdGVwW2UucHJvcF0/bHQuZnguc3RlcFtlLnByb3BdKGUpOmUuZWxlbS5zdHlsZSYmKG51bGwhPWUuZWxlbS5zdHlsZVtsdC5jc3NQcm9wc1tlLnByb3BdXXx8bHQuY3NzSG9va3NbZS5wcm9wXSk/bHQuc3R5bGUoZS5lbGVtLGUucHJvcCxlLm5vdytlLnVuaXQpOmUuZWxlbVtlLnByb3BdPWUubm93fX19LFIucHJvcEhvb2tzLnNjcm9sbFRvcD1SLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oZSl7ZS5lbGVtLm5vZGVUeXBlJiZlLmVsZW0ucGFyZW50Tm9kZSYmKGUuZWxlbVtlLnByb3BdPWUubm93KX19LGx0LmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGUsdCl7dmFyIG49bHQuZm5bdF07bHQuZm5bdF09ZnVuY3Rpb24oZSxpLG8pe3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYW5pbWF0ZShCKHQsITApLGUsaSxvKX19KSxsdC5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gdGhpcy5maWx0ZXIoQykuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4saSl9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4saSl7dmFyIG89bHQuaXNFbXB0eU9iamVjdChlKSxyPWx0LnNwZWVkKHQsbixpKSxzPWZ1bmN0aW9uKCl7dmFyIHQ9aih0aGlzLGx0LmV4dGVuZCh7fSxlKSxyKTtzLmZpbmlzaD1mdW5jdGlvbigpe3Quc3RvcCghMCl9LChvfHxsdC5fZGF0YSh0aGlzLCJmaW5pc2giKSkmJnQuc3RvcCghMCl9O3JldHVybiBzLmZpbmlzaD1zLG98fHIucXVldWU9PT0hMT90aGlzLmVhY2gocyk6dGhpcy5xdWV1ZShyLnF1ZXVlLHMpfSxzdG9wOmZ1bmN0aW9uKGUsbixpKXt2YXIgbz1mdW5jdGlvbihlKXt2YXIgdD1lLnN0b3A7ZGVsZXRlIGUuc3RvcCx0KGkpfTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGUmJihpPW4sbj1lLGU9dCksbiYmZSE9PSExJiZ0aGlzLnF1ZXVlKGV8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PSEwLG49bnVsbCE9ZSYmZSsicXVldWVIb29rcyIscj1sdC50aW1lcnMscz1sdC5fZGF0YSh0aGlzKTtpZihuKXNbbl0mJnNbbl0uc3RvcCYmbyhzW25dKTtlbHNlIGZvcihuIGluIHMpc1tuXSYmc1tuXS5zdG9wJiZpaS50ZXN0KG4pJiZvKHNbbl0pO2ZvcihuPXIubGVuZ3RoO24tLTspcltuXS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmcltuXS5xdWV1ZSE9PWV8fChyW25dLmFuaW0uc3RvcChpKSx0PSExLHIuc3BsaWNlKG4sMSkpOyh0fHwhaSkmJmx0LmRlcXVldWUodGhpcyxlKX0pfSxmaW5pc2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT0hMSYmKGU9ZXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQsbj1sdC5fZGF0YSh0aGlzKSxpPW5bZSsicXVldWUiXSxvPW5bZSsicXVldWVIb29rcyJdLHI9bHQudGltZXJzLHM9aT9pLmxlbmd0aDowO2ZvcihuLmZpbmlzaD0hMCxsdC5xdWV1ZSh0aGlzLGUsW10pLG8mJm8uY3VyJiZvLmN1ci5maW5pc2gmJm8uY3VyLmZpbmlzaC5jYWxsKHRoaXMpLHQ9ci5sZW5ndGg7dC0tOylyW3RdLmVsZW09PT10aGlzJiZyW3RdLnF1ZXVlPT09ZSYmKHJbdF0uYW5pbS5zdG9wKCEwKSxyLnNwbGljZSh0LDEpKTtmb3IodD0wO3M+dDt0KyspaVt0XSYmaVt0XS5maW5pc2gmJmlbdF0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIG4uZmluaXNofSl9fSksbHQuZWFjaCh7c2xpZGVEb3duOkIoInNob3ciKSxzbGlkZVVwOkIoImhpZGUiKSxzbGlkZVRvZ2dsZTpCKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGUsdCl7bHQuZm5bZV09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0aGlzLmFuaW1hdGUodCxlLG4saSl9fSksbHQuc3BlZWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpPWUmJiJvYmplY3QiPT10eXBlb2YgZT9sdC5leHRlbmQoe30sZSk6e2NvbXBsZXRlOm58fCFuJiZ0fHxsdC5pc0Z1bmN0aW9uKGUpJiZlLGR1cmF0aW9uOmUsZWFzaW5nOm4mJnR8fHQmJiFsdC5pc0Z1bmN0aW9uKHQpJiZ0fTtyZXR1cm4gaS5kdXJhdGlvbj1sdC5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIGkuZHVyYXRpb24/aS5kdXJhdGlvbjppLmR1cmF0aW9uIGluIGx0LmZ4LnNwZWVkcz9sdC5meC5zcGVlZHNbaS5kdXJhdGlvbl06bHQuZnguc3BlZWRzLl9kZWZhdWx0LChudWxsPT1pLnF1ZXVlfHxpLnF1ZXVlPT09ITApJiYoaS5xdWV1ZT0iZngiKSxpLm9sZD1pLmNvbXBsZXRlLGkuY29tcGxldGU9ZnVuY3Rpb24oKXtsdC5pc0Z1bmN0aW9uKGkub2xkKSYmaS5vbGQuY2FsbCh0aGlzKSxpLnF1ZXVlJiZsdC5kZXF1ZXVlKHRoaXMsaS5xdWV1ZSl9LGl9LGx0LmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzd2luZzpmdW5jdGlvbihlKXtyZXR1cm4uNS1NYXRoLmNvcyhlKk1hdGguUEkpLzJ9fSxsdC50aW1lcnM9W10sbHQuZng9Ui5wcm90b3R5cGUuaW5pdCxsdC5meC50aWNrPWZ1bmN0aW9uKCl7dmFyIGUsbj1sdC50aW1lcnMsaT0wO2Zvcihabj1sdC5ub3coKTtpPG4ubGVuZ3RoO2krKyllPW5baV0sZSgpfHxuW2ldIT09ZXx8bi5zcGxpY2UoaS0tLDEpO24ubGVuZ3RofHxsdC5meC5zdG9wKCksWm49dH0sbHQuZngudGltZXI9ZnVuY3Rpb24oZSl7ZSgpJiZsdC50aW1lcnMucHVzaChlKSYmbHQuZnguc3RhcnQoKX0sbHQuZnguaW50ZXJ2YWw9MTMsbHQuZnguc3RhcnQ9ZnVuY3Rpb24oKXtlaXx8KGVpPXNldEludGVydmFsKGx0LmZ4LnRpY2ssbHQuZnguaW50ZXJ2YWwpKX0sbHQuZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoZWkpLGVpPW51bGx9LGx0LmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxsdC5meC5zdGVwPXt9LGx0LmV4cHImJmx0LmV4cHIuZmlsdGVycyYmKGx0LmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gbHQuZ3JlcChsdC50aW1lcnMsZnVuY3Rpb24odCl7cmV0dXJuIGU9PT10LmVsZW19KS5sZW5ndGh9KSxsdC5mbi5vZmZzZXQ9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZT09PXQ/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24odCl7bHQub2Zmc2V0LnNldE9mZnNldCh0aGlzLGUsdCl9KTt2YXIgbixpLG89e3RvcDowLGxlZnQ6MH0scj10aGlzWzBdLHM9ciYmci5vd25lckRvY3VtZW50O2lmKHMpcmV0dXJuIG49cy5kb2N1bWVudEVsZW1lbnQsbHQuY29udGFpbnMobixyKT8odHlwZW9mIHIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0IT09WSYmKG89ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksaT1xKHMpLHt0b3A6by50b3ArKGkucGFnZVlPZmZzZXR8fG4uc2Nyb2xsVG9wKS0obi5jbGllbnRUb3B8fDApLGxlZnQ6by5sZWZ0KyhpLnBhZ2VYT2Zmc2V0fHxuLnNjcm9sbExlZnQpLShuLmNsaWVudExlZnR8fDApfSk6b30sbHQub2Zmc2V0PXtzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciBpPWx0LmNzcyhlLCJwb3NpdGlvbiIpOyJzdGF0aWMiPT09aSYmKGUuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIik7dmFyIG8scixzPWx0KGUpLGE9cy5vZmZzZXQoKSxsPWx0LmNzcyhlLCJ0b3AiKSxjPWx0LmNzcyhlLCJsZWZ0IiksdT0oImFic29sdXRlIj09PWl8fCJmaXhlZCI9PT1pKSYmbHQuaW5BcnJheSgiYXV0byIsW2wsY10pPi0xLGQ9e30scD17fTt1PyhwPXMucG9zaXRpb24oKSxvPXAudG9wLHI9cC5sZWZ0KToobz1wYXJzZUZsb2F0KGwpfHwwLHI9cGFyc2VGbG9hdChjKXx8MCksbHQuaXNGdW5jdGlvbih0KSYmKHQ9dC5jYWxsKGUsbixhKSksbnVsbCE9dC50b3AmJihkLnRvcD10LnRvcC1hLnRvcCtvKSxudWxsIT10LmxlZnQmJihkLmxlZnQ9dC5sZWZ0LWEubGVmdCtyKSwidXNpbmciaW4gdD90LnVzaW5nLmNhbGwoZSxkKTpzLmNzcyhkKX19LGx0LmZuLmV4dGVuZCh7cG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgZSx0LG49e3RvcDowLGxlZnQ6MH0saT10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1sdC5jc3MoaSwicG9zaXRpb24iKT90PWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGU9dGhpcy5vZmZzZXRQYXJlbnQoKSx0PXRoaXMub2Zmc2V0KCksbHQubm9kZU5hbWUoZVswXSwiaHRtbCIpfHwobj1lLm9mZnNldCgpKSxuLnRvcCs9bHQuY3NzKGVbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksbi5sZWZ0Kz1sdC5jc3MoZVswXSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpLHt0b3A6dC50b3Atbi50b3AtbHQuY3NzKGksIm1hcmdpblRvcCIsITApLGxlZnQ6dC5sZWZ0LW4ubGVmdC1sdC5jc3MoaSwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLm9mZnNldFBhcmVudHx8US5kb2N1bWVudEVsZW1lbnQ7ZSYmIWx0Lm5vZGVOYW1lKGUsImh0bWwiKSYmInN0YXRpYyI9PT1sdC5jc3MoZSwicG9zaXRpb24iKTspZT1lLm9mZnNldFBhcmVudDtyZXR1cm4gZXx8US5kb2N1bWVudEVsZW1lbnR9KX19KSxsdC5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKGUsbil7dmFyIGk9L1kvLnRlc3Qobik7bHQuZm5bZV09ZnVuY3Rpb24obyl7cmV0dXJuIGx0LmFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGUsbyxyKXt2YXIgcz1xKGUpO3JldHVybiByPT09dD9zP24gaW4gcz9zW25dOnMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W29dOmVbb106dm9pZChzP3Muc2Nyb2xsVG8oaT9sdChzKS5zY3JvbGxMZWZ0KCk6cixpP3I6bHQocykuc2Nyb2xsVG9wKCkpOmVbb109cil9LGUsbyxhcmd1bWVudHMubGVuZ3RoLG51bGwpfX0pLGx0LmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihlLG4pe2x0LmVhY2goe3BhZGRpbmc6ImlubmVyIitlLGNvbnRlbnQ6biwiIjoib3V0ZXIiK2V9LGZ1bmN0aW9uKGksbyl7bHQuZm5bb109ZnVuY3Rpb24obyxyKXt2YXIgcz1hcmd1bWVudHMubGVuZ3RoJiYoaXx8ImJvb2xlYW4iIT10eXBlb2YgbyksYT1pfHwobz09PSEwfHxyPT09ITA/Im1hcmdpbiI6ImJvcmRlciIpO3JldHVybiBsdC5hY2Nlc3ModGhpcyxmdW5jdGlvbihuLGksbyl7dmFyIHI7cmV0dXJuIGx0LmlzV2luZG93KG4pP24uZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2VdOjk9PT1uLm5vZGVUeXBlPyhyPW4uZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KG4uYm9keVsic2Nyb2xsIitlXSxyWyJzY3JvbGwiK2VdLG4uYm9keVsib2Zmc2V0IitlXSxyWyJvZmZzZXQiK2VdLHJbImNsaWVudCIrZV0pKTpvPT09dD9sdC5jc3MobixpLGEpOmx0LnN0eWxlKG4saSxvLGEpfSxuLHM/bzp0LHMsbnVsbCl9fSl9KSxlLmpRdWVyeT1lLiQ9bHQsImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lLmFtZC5qUXVlcnkmJmRlZmluZSgianF1ZXJ5IixbXSxmdW5jdGlvbigpe3JldHVybiBsdH0pfSh3aW5kb3cpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZShmdW5jdGlvbigpe2Uuc3VwcG9ydC50cmFuc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oKXt2YXIgZSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvb3RzdHJhcCIpLG49e1dlYmtpdFRyYW5zaXRpb246IndlYmtpdFRyYW5zaXRpb25FbmQiLE1velRyYW5zaXRpb246InRyYW5zaXRpb25lbmQiLE9UcmFuc2l0aW9uOiJvVHJhbnNpdGlvbkVuZCBvdHJhbnNpdGlvbmVuZCIsdHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCJ9O2ZvcihlIGluIG4paWYodm9pZCAwIT09dC5zdHlsZVtlXSlyZXR1cm4gbltlXX0oKTtyZXR1cm4gZSYme2VuZDplfX0oKX0pfSh3aW5kb3cualF1ZXJ5KSwhZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0PWZ1bmN0aW9uKHQsbil7dGhpcy5vcHRpb25zPWUuZXh0ZW5kKHt9LGUuZm4uYWZmaXguZGVmYXVsdHMsbiksdGhpcy4kd2luZG93PWUod2luZG93KS5vbigic2Nyb2xsLmFmZml4LmRhdGEtYXBpIixlLnByb3h5KHRoaXMuY2hlY2tQb3NpdGlvbix0aGlzKSkub24oImNsaWNrLmFmZml4LmRhdGEtYXBpIixlLnByb3h5KGZ1bmN0aW9uKCl7c2V0VGltZW91dChlLnByb3h5KHRoaXMuY2hlY2tQb3NpdGlvbix0aGlzKSwxKX0sdGhpcykpLHRoaXMuJGVsZW1lbnQ9ZSh0KSx0aGlzLmNoZWNrUG9zaXRpb24oKX07dC5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikpe3ZhciB0LG49ZShkb2N1bWVudCkuaGVpZ2h0KCksaT10aGlzLiR3aW5kb3cuc2Nyb2xsVG9wKCksbz10aGlzLiRlbGVtZW50Lm9mZnNldCgpLHI9dGhpcy5vcHRpb25zLm9mZnNldCxzPXIuYm90dG9tLGE9ci50b3AsbD0iYWZmaXggYWZmaXgtdG9wIGFmZml4LWJvdHRvbSI7Im9iamVjdCIhPXR5cGVvZiByJiYocz1hPXIpLCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoYT1yLnRvcCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgcyYmKHM9ci5ib3R0b20oKSksdD1udWxsIT10aGlzLnVucGluJiZpK3RoaXMudW5waW48PW8udG9wPyExOm51bGwhPXMmJm8udG9wK3RoaXMuJGVsZW1lbnQuaGVpZ2h0KCk+PW4tcz8iYm90dG9tIjpudWxsIT1hJiZhPj1pPyJ0b3AiOiExLHRoaXMuYWZmaXhlZCE9PXQmJih0aGlzLmFmZml4ZWQ9dCx0aGlzLnVucGluPSJib3R0b20iPT10P28udG9wLWk6bnVsbCx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKGwpLmFkZENsYXNzKCJhZmZpeCIrKHQ/Ii0iK3Q6IiIpKSl9fTt2YXIgbj1lLmZuLmFmZml4O2UuZm4uYWZmaXg9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPWUodGhpcyksbz1pLmRhdGEoImFmZml4Iikscj0ib2JqZWN0Ij09dHlwZW9mIG4mJm47b3x8aS5kYXRhKCJhZmZpeCIsbz1uZXcgdCh0aGlzLHIpKSwic3RyaW5nIj09dHlwZW9mIG4mJm9bbl0oKX0pfSxlLmZuLmFmZml4LkNvbnN0cnVjdG9yPXQsZS5mbi5hZmZpeC5kZWZhdWx0cz17b2Zmc2V0OjB9LGUuZm4uYWZmaXgubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmFmZml4PW4sdGhpc30sZSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2UoJ1tkYXRhLXNweT0iYWZmaXgiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG49dC5kYXRhKCk7bi5vZmZzZXQ9bi5vZmZzZXR8fHt9LG4ub2Zmc2V0Qm90dG9tJiYobi5vZmZzZXQuYm90dG9tPW4ub2Zmc2V0Qm90dG9tKSxuLm9mZnNldFRvcCYmKG4ub2Zmc2V0LnRvcD1uLm9mZnNldFRvcCksdC5hZmZpeChuKX0pfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdCgpe2UoaSkuZWFjaChmdW5jdGlvbigpe24oZSh0aGlzKSkucmVtb3ZlQ2xhc3MoIm9wZW4iKX0pfWZ1bmN0aW9uIG4odCl7dmFyIG4saT10LmF0dHIoImRhdGEtdGFyZ2V0Iik7cmV0dXJuIGl8fChpPXQuYXR0cigiaHJlZiIpLGk9aSYmLyMvLnRlc3QoaSkmJmkucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSksbj1pJiZlKGkpLG4mJm4ubGVuZ3RofHwobj10LnBhcmVudCgpKSxufXZhciBpPSJbZGF0YS10b2dnbGU9ZHJvcGRvd25dIixvPWZ1bmN0aW9uKHQpe3ZhciBuPWUodCkub24oImNsaWNrLmRyb3Bkb3duLmRhdGEtYXBpIix0aGlzLnRvZ2dsZSk7ZSgiaHRtbCIpLm9uKCJjbGljay5kcm9wZG93bi5kYXRhLWFwaSIsZnVuY3Rpb24oKXtuLnBhcmVudCgpLnJlbW92ZUNsYXNzKCJvcGVuIil9KX07by5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOm8sdG9nZ2xlOmZ1bmN0aW9uKCl7dmFyIGksbyxyPWUodGhpcyk7aWYoIXIuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpcmV0dXJuIGk9bihyKSxvPWkuaGFzQ2xhc3MoIm9wZW4iKSx0KCksb3x8aS50b2dnbGVDbGFzcygib3BlbiIpLHIuZm9jdXMoKSwhMX0sa2V5ZG93bjpmdW5jdGlvbih0KXt2YXIgbyxyLHMsYSxsO2lmKC8oMzh8NDB8MjcpLy50ZXN0KHQua2V5Q29kZSkmJihvPWUodGhpcyksdC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksIW8uaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpKXtpZihzPW4obyksYT1zLmhhc0NsYXNzKCJvcGVuIiksIWF8fGEmJjI3PT10LmtleUNvZGUpcmV0dXJuIDI3PT10LndoaWNoJiZzLmZpbmQoaSkuZm9jdXMoKSxvLmNsaWNrKCk7cj1lKCJbcm9sZT1tZW51XSBsaTpub3QoLmRpdmlkZXIpOnZpc2libGUgYSIscyksci5sZW5ndGgmJihsPXIuaW5kZXgoci5maWx0ZXIoIjpmb2N1cyIpKSwzOD09dC5rZXlDb2RlJiZsPjAmJmwtLSw0MD09dC5rZXlDb2RlJiZsPHIubGVuZ3RoLTEmJmwrKyx+bHx8KGw9MCksci5lcShsKS5mb2N1cygpKQp9fX07dmFyIHI9ZS5mbi5kcm9wZG93bjtlLmZuLmRyb3Bkb3duPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1lKHRoaXMpLGk9bi5kYXRhKCJkcm9wZG93biIpO2l8fG4uZGF0YSgiZHJvcGRvd24iLGk9bmV3IG8odGhpcykpLCJzdHJpbmciPT10eXBlb2YgdCYmaVt0XS5jYWxsKG4pfSl9LGUuZm4uZHJvcGRvd24uQ29uc3RydWN0b3I9byxlLmZuLmRyb3Bkb3duLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZS5mbi5kcm9wZG93bj1yLHRoaXN9LGUoZG9jdW1lbnQpLm9uKCJjbGljay5kcm9wZG93bi5kYXRhLWFwaSIsdCkub24oImNsaWNrLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLGZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9KS5vbigiY2xpY2suZHJvcGRvd24tbWVudSIsZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX0pLm9uKCJjbGljay5kcm9wZG93bi5kYXRhLWFwaSIsaSxvLnByb3RvdHlwZS50b2dnbGUpLm9uKCJrZXlkb3duLmRyb3Bkb3duLmRhdGEtYXBpIixpKyIsIFtyb2xlPW1lbnVdIixvLnByb3RvdHlwZS5rZXlkb3duKX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD0nW2RhdGEtZGlzbWlzcz0iYWxlcnQiXScsbj1mdW5jdGlvbihuKXtlKG4pLm9uKCJjbGljayIsdCx0aGlzLmNsb3NlKX07bi5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbigpe2kudHJpZ2dlcigiY2xvc2VkIikucmVtb3ZlKCl9dmFyIGksbz1lKHRoaXMpLHI9by5hdHRyKCJkYXRhLXRhcmdldCIpO3J8fChyPW8uYXR0cigiaHJlZiIpLHI9ciYmci5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSxpPWUociksdCYmdC5wcmV2ZW50RGVmYXVsdCgpLGkubGVuZ3RofHwoaT1vLmhhc0NsYXNzKCJhbGVydCIpP286by5wYXJlbnQoKSksaS50cmlnZ2VyKHQ9ZS5FdmVudCgiY2xvc2UiKSksdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KGkucmVtb3ZlQ2xhc3MoImluIiksZS5zdXBwb3J0LnRyYW5zaXRpb24mJmkuaGFzQ2xhc3MoImZhZGUiKT9pLm9uKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxuKTpuKCkpfTt2YXIgaT1lLmZuLmFsZXJ0O2UuZm4uYWxlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPWUodGhpcyksbz1pLmRhdGEoImFsZXJ0Iik7b3x8aS5kYXRhKCJhbGVydCIsbz1uZXcgbih0aGlzKSksInN0cmluZyI9PXR5cGVvZiB0JiZvW3RdLmNhbGwoaSl9KX0sZS5mbi5hbGVydC5Db25zdHJ1Y3Rvcj1uLGUuZm4uYWxlcnQubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmFsZXJ0PWksdGhpc30sZShkb2N1bWVudCkub24oImNsaWNrLmFsZXJ0LmRhdGEtYXBpIix0LG4ucHJvdG90eXBlLmNsb3NlKX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1mdW5jdGlvbih0LG4pe3RoaXMuJGVsZW1lbnQ9ZSh0KSx0aGlzLm9wdGlvbnM9ZS5leHRlbmQoe30sZS5mbi5idXR0b24uZGVmYXVsdHMsbil9O3QucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUpe3ZhciB0PSJkaXNhYmxlZCIsbj10aGlzLiRlbGVtZW50LGk9bi5kYXRhKCksbz1uLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIjtlKz0iVGV4dCIsaS5yZXNldFRleHR8fG4uZGF0YSgicmVzZXRUZXh0IixuW29dKCkpLG5bb10oaVtlXXx8dGhpcy5vcHRpb25zW2VdKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImxvYWRpbmdUZXh0Ij09ZT9uLmFkZENsYXNzKHQpLmF0dHIodCx0KTpuLnJlbW92ZUNsYXNzKHQpLnJlbW92ZUF0dHIodCl9LDApfSx0LnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucy1yYWRpbyJdJyk7ZSYmZS5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgbj1lLmZuLmJ1dHRvbjtlLmZuLmJ1dHRvbj1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9ZSh0aGlzKSxvPWkuZGF0YSgiYnV0dG9uIikscj0ib2JqZWN0Ij09dHlwZW9mIG4mJm47b3x8aS5kYXRhKCJidXR0b24iLG89bmV3IHQodGhpcyxyKSksInRvZ2dsZSI9PW4/by50b2dnbGUoKTpuJiZvLnNldFN0YXRlKG4pfSl9LGUuZm4uYnV0dG9uLmRlZmF1bHRzPXtsb2FkaW5nVGV4dDoibG9hZGluZy4uLiJ9LGUuZm4uYnV0dG9uLkNvbnN0cnVjdG9yPXQsZS5mbi5idXR0b24ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmJ1dHRvbj1uLHRoaXN9LGUoZG9jdW1lbnQpLm9uKCJjbGljay5idXR0b24uZGF0YS1hcGkiLCJbZGF0YS10b2dnbGVePWJ1dHRvbl0iLGZ1bmN0aW9uKHQpe3ZhciBuPWUodC50YXJnZXQpO24uaGFzQ2xhc3MoImJ0biIpfHwobj1uLmNsb3Nlc3QoIi5idG4iKSksbi5idXR0b24oInRvZ2dsZSIpfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24odCxuKXt0aGlzLiRlbGVtZW50PWUodCksdGhpcy5vcHRpb25zPWUuZXh0ZW5kKHt9LGUuZm4uY29sbGFwc2UuZGVmYXVsdHMsbiksdGhpcy5vcHRpb25zLnBhcmVudCYmKHRoaXMuJHBhcmVudD1lKHRoaXMub3B0aW9ucy5wYXJlbnQpKSx0aGlzLm9wdGlvbnMudG9nZ2xlJiZ0aGlzLnRvZ2dsZSgpfTt0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6dCxkaW1lbnNpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJ3aWR0aCIpO3JldHVybiBlPyJ3aWR0aCI6ImhlaWdodCJ9LHNob3c6ZnVuY3Rpb24oKXt2YXIgdCxuLGksbztpZighdGhpcy50cmFuc2l0aW9uaW5nJiYhdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSl7aWYodD10aGlzLmRpbWVuc2lvbigpLG49ZS5jYW1lbENhc2UoWyJzY3JvbGwiLHRdLmpvaW4oIi0iKSksaT10aGlzLiRwYXJlbnQmJnRoaXMuJHBhcmVudC5maW5kKCI+IC5hY2NvcmRpb24tZ3JvdXAgPiAuaW4iKSxpJiZpLmxlbmd0aCl7aWYobz1pLmRhdGEoImNvbGxhcHNlIiksbyYmby50cmFuc2l0aW9uaW5nKXJldHVybjtpLmNvbGxhcHNlKCJoaWRlIiksb3x8aS5kYXRhKCJjb2xsYXBzZSIsbnVsbCl9dGhpcy4kZWxlbWVudFt0XSgwKSx0aGlzLnRyYW5zaXRpb24oImFkZENsYXNzIixlLkV2ZW50KCJzaG93IiksInNob3duIiksZS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnRbdF0odGhpcy4kZWxlbWVudFswXVtuXSl9fSxoaWRlOmZ1bmN0aW9uKCl7dmFyIHQ7IXRoaXMudHJhbnNpdGlvbmluZyYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSYmKHQ9dGhpcy5kaW1lbnNpb24oKSx0aGlzLnJlc2V0KHRoaXMuJGVsZW1lbnRbdF0oKSksdGhpcy50cmFuc2l0aW9uKCJyZW1vdmVDbGFzcyIsZS5FdmVudCgiaGlkZSIpLCJoaWRkZW4iKSx0aGlzLiRlbGVtZW50W3RdKDApKX0scmVzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5kaW1lbnNpb24oKTtyZXR1cm4gdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2UiKVt0XShlfHwiYXV0byIpWzBdLm9mZnNldFdpZHRoLHRoaXMuJGVsZW1lbnRbbnVsbCE9PWU/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgiY29sbGFwc2UiKSx0aGlzfSx0cmFuc2l0aW9uOmZ1bmN0aW9uKHQsbixpKXt2YXIgbz10aGlzLHI9ZnVuY3Rpb24oKXsic2hvdyI9PW4udHlwZSYmby5yZXNldCgpLG8udHJhbnNpdGlvbmluZz0wLG8uJGVsZW1lbnQudHJpZ2dlcihpKX07dGhpcy4kZWxlbWVudC50cmlnZ2VyKG4pLG4uaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0aGlzLnRyYW5zaXRpb25pbmc9MSx0aGlzLiRlbGVtZW50W3RdKCJpbiIpLGUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJjb2xsYXBzZSIpP3RoaXMuJGVsZW1lbnQub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxyKTpyKCkpfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIik/ImhpZGUiOiJzaG93Il0oKX19O3ZhciBuPWUuZm4uY29sbGFwc2U7ZS5mbi5jb2xsYXBzZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9ZSh0aGlzKSxvPWkuZGF0YSgiY29sbGFwc2UiKSxyPWUuZXh0ZW5kKHt9LGUuZm4uY29sbGFwc2UuZGVmYXVsdHMsaS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBuJiZuKTtvfHxpLmRhdGEoImNvbGxhcHNlIixvPW5ldyB0KHRoaXMscikpLCJzdHJpbmciPT10eXBlb2YgbiYmb1tuXSgpfSl9LGUuZm4uY29sbGFwc2UuZGVmYXVsdHM9e3RvZ2dsZTohMH0sZS5mbi5jb2xsYXBzZS5Db25zdHJ1Y3Rvcj10LGUuZm4uY29sbGFwc2Uubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLmNvbGxhcHNlPW4sdGhpc30sZShkb2N1bWVudCkub24oImNsaWNrLmNvbGxhcHNlLmRhdGEtYXBpIiwiW2RhdGEtdG9nZ2xlPWNvbGxhcHNlXSIsZnVuY3Rpb24odCl7dmFyIG4saT1lKHRoaXMpLG89aS5hdHRyKCJkYXRhLXRhcmdldCIpfHx0LnByZXZlbnREZWZhdWx0KCl8fChuPWkuYXR0cigiaHJlZiIpKSYmbi5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpLHI9ZShvKS5kYXRhKCJjb2xsYXBzZSIpPyJ0b2dnbGUiOmkuZGF0YSgpO2lbZShvKS5oYXNDbGFzcygiaW4iKT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJjb2xsYXBzZWQiKSxlKG8pLmNvbGxhcHNlKHIpfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24odCxuKXt0aGlzLm9wdGlvbnM9bix0aGlzLiRlbGVtZW50PWUodCkuZGVsZWdhdGUoJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLCJjbGljay5kaXNtaXNzLm1vZGFsIixlLnByb3h5KHRoaXMuaGlkZSx0aGlzKSksdGhpcy5vcHRpb25zLnJlbW90ZSYmdGhpcy4kZWxlbWVudC5maW5kKCIubW9kYWwtYm9keSIpLmxvYWQodGhpcy5vcHRpb25zLnJlbW90ZSl9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LHRvZ2dsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzW3RoaXMuaXNTaG93bj8iaGlkZSI6InNob3ciXSgpfSxzaG93OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxuPWUuRXZlbnQoInNob3ciKTt0aGlzLiRlbGVtZW50LnRyaWdnZXIobiksdGhpcy5pc1Nob3dufHxuLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5pc1Nob3duPSEwLHRoaXMuZXNjYXBlKCksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe3ZhciBuPWUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0LiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7dC4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGh8fHQuJGVsZW1lbnQuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSksdC4kZWxlbWVudC5zaG93KCksbiYmdC4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCx0LiRlbGVtZW50LmFkZENsYXNzKCJpbiIpLmF0dHIoImFyaWEtaGlkZGVuIiwhMSksdC5lbmZvcmNlRm9jdXMoKSxuP3QuJGVsZW1lbnQub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxmdW5jdGlvbigpe3QuJGVsZW1lbnQuZm9jdXMoKS50cmlnZ2VyKCJzaG93biIpfSk6dC4kZWxlbWVudC5mb2N1cygpLnRyaWdnZXIoInNob3duIil9KSl9LGhpZGU6ZnVuY3Rpb24odCl7dCYmdC5wcmV2ZW50RGVmYXVsdCgpO3Q9ZS5FdmVudCgiaGlkZSIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcih0KSx0aGlzLmlzU2hvd24mJiF0LmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksZShkb2N1bWVudCkub2ZmKCJmb2N1c2luLm1vZGFsIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiaW4iKS5hdHRyKCJhcmlhLWhpZGRlbiIsITApLGUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy5oaWRlV2l0aFRyYW5zaXRpb24oKTp0aGlzLmhpZGVNb2RhbCgpKX0sZW5mb3JjZUZvY3VzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztlKGRvY3VtZW50KS5vbigiZm9jdXNpbi5tb2RhbCIsZnVuY3Rpb24oZSl7dC4kZWxlbWVudFswXT09PWUudGFyZ2V0fHx0LiRlbGVtZW50LmhhcyhlLnRhcmdldCkubGVuZ3RofHx0LiRlbGVtZW50LmZvY3VzKCl9KX0sZXNjYXBlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmlzU2hvd24mJnRoaXMub3B0aW9ucy5rZXlib2FyZD90aGlzLiRlbGVtZW50Lm9uKCJrZXl1cC5kaXNtaXNzLm1vZGFsIixmdW5jdGlvbih0KXsyNz09dC53aGljaCYmZS5oaWRlKCl9KTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXl1cC5kaXNtaXNzLm1vZGFsIil9LGhpZGVXaXRoVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC4kZWxlbWVudC5vZmYoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKSx0LmhpZGVNb2RhbCgpfSw1MDApO3RoaXMuJGVsZW1lbnQub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKSx0LmhpZGVNb2RhbCgpfSl9LGhpZGVNb2RhbDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy4kZWxlbWVudC5oaWRlKCksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe2UucmVtb3ZlQmFja2Ryb3AoKSxlLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbiIpfSl9LHJlbW92ZUJhY2tkcm9wOmZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGJhY2tkcm9wOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT8iZmFkZSI6IiI7aWYodGhpcy5pc1Nob3duJiZ0aGlzLm9wdGlvbnMuYmFja2Ryb3Ape3ZhciBpPWUuc3VwcG9ydC50cmFuc2l0aW9uJiZuO2lmKHRoaXMuJGJhY2tkcm9wPWUoJzxkaXYgY2xhc3M9Im1vZGFsLWJhY2tkcm9wICcrbisnIiAvPicpLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLHRoaXMuJGJhY2tkcm9wLmNsaWNrKCJzdGF0aWMiPT10aGlzLm9wdGlvbnMuYmFja2Ryb3A/ZS5wcm94eSh0aGlzLiRlbGVtZW50WzBdLmZvY3VzLHRoaXMuJGVsZW1lbnRbMF0pOmUucHJveHkodGhpcy5oaWRlLHRoaXMpKSxpJiZ0aGlzLiRiYWNrZHJvcFswXS5vZmZzZXRXaWR0aCx0aGlzLiRiYWNrZHJvcC5hZGRDbGFzcygiaW4iKSwhdClyZXR1cm47aT90aGlzLiRiYWNrZHJvcC5vbmUoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLHQpOnQoKX1lbHNlIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3A/KHRoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpLGUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy4kYmFja2Ryb3Aub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCx0KTp0KCkpOnQmJnQoKX19O3ZhciBuPWUuZm4ubW9kYWw7ZS5mbi5tb2RhbD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9ZSh0aGlzKSxvPWkuZGF0YSgibW9kYWwiKSxyPWUuZXh0ZW5kKHt9LGUuZm4ubW9kYWwuZGVmYXVsdHMsaS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBuJiZuKTtvfHxpLmRhdGEoIm1vZGFsIixvPW5ldyB0KHRoaXMscikpLCJzdHJpbmciPT10eXBlb2Ygbj9vW25dKCk6ci5zaG93JiZvLnNob3coKX0pfSxlLmZuLm1vZGFsLmRlZmF1bHRzPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxzaG93OiEwfSxlLmZuLm1vZGFsLkNvbnN0cnVjdG9yPXQsZS5mbi5tb2RhbC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuZm4ubW9kYWw9bix0aGlzfSxlKGRvY3VtZW50KS5vbigiY2xpY2subW9kYWwuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9Im1vZGFsIl0nLGZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcyksaT1uLmF0dHIoImhyZWYiKSxvPWUobi5hdHRyKCJkYXRhLXRhcmdldCIpfHxpJiZpLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIikpLHI9by5kYXRhKCJtb2RhbCIpPyJ0b2dnbGUiOmUuZXh0ZW5kKHtyZW1vdGU6IS8jLy50ZXN0KGkpJiZpfSxvLmRhdGEoKSxuLmRhdGEoKSk7dC5wcmV2ZW50RGVmYXVsdCgpLG8ubW9kYWwocikub25lKCJoaWRlIixmdW5jdGlvbigpe24uZm9jdXMoKX0pfSl9KHdpbmRvdy5qUXVlcnkpLCFmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24oZSx0KXt0aGlzLmluaXQoInRvb2x0aXAiLGUsdCl9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LGluaXQ6ZnVuY3Rpb24odCxuLGkpe3ZhciBvLHIscyxhLGw7Zm9yKHRoaXMudHlwZT10LHRoaXMuJGVsZW1lbnQ9ZShuKSx0aGlzLm9wdGlvbnM9dGhpcy5nZXRPcHRpb25zKGkpLHRoaXMuZW5hYmxlZD0hMCxzPXRoaXMub3B0aW9ucy50cmlnZ2VyLnNwbGl0KCIgIiksbD1zLmxlbmd0aDtsLS07KWE9c1tsXSwiY2xpY2siPT1hP3RoaXMuJGVsZW1lbnQub24oImNsaWNrLiIrdGhpcy50eXBlLHRoaXMub3B0aW9ucy5zZWxlY3RvcixlLnByb3h5KHRoaXMudG9nZ2xlLHRoaXMpKToibWFudWFsIiE9YSYmKG89ImhvdmVyIj09YT8ibW91c2VlbnRlciI6ImZvY3VzIixyPSJob3ZlciI9PWE/Im1vdXNlbGVhdmUiOiJibHVyIix0aGlzLiRlbGVtZW50Lm9uKG8rIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsZS5wcm94eSh0aGlzLmVudGVyLHRoaXMpKSx0aGlzLiRlbGVtZW50Lm9uKHIrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsZS5wcm94eSh0aGlzLmxlYXZlLHRoaXMpKSk7dGhpcy5vcHRpb25zLnNlbGVjdG9yP3RoaXMuX29wdGlvbnM9ZS5leHRlbmQoe30sdGhpcy5vcHRpb25zLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5maXhUaXRsZSgpfSxnZXRPcHRpb25zOmZ1bmN0aW9uKHQpe3JldHVybiB0PWUuZXh0ZW5kKHt9LGUuZm5bdGhpcy50eXBlXS5kZWZhdWx0cyx0aGlzLiRlbGVtZW50LmRhdGEoKSx0KSx0LmRlbGF5JiYibnVtYmVyIj09dHlwZW9mIHQuZGVsYXkmJih0LmRlbGF5PXtzaG93OnQuZGVsYXksaGlkZTp0LmRlbGF5fSksdH0sZW50ZXI6ZnVuY3Rpb24odCl7dmFyIG4saT1lLmZuW3RoaXMudHlwZV0uZGVmYXVsdHMsbz17fTtyZXR1cm4gdGhpcy5fb3B0aW9ucyYmZS5lYWNoKHRoaXMuX29wdGlvbnMsZnVuY3Rpb24oZSx0KXtpW2VdIT10JiYob1tlXT10KX0sdGhpcyksbj1lKHQuY3VycmVudFRhcmdldClbdGhpcy50eXBlXShvKS5kYXRhKHRoaXMudHlwZSksbi5vcHRpb25zLmRlbGF5JiZuLm9wdGlvbnMuZGVsYXkuc2hvdz8oY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCksbi5ob3ZlclN0YXRlPSJpbiIsdm9pZCh0aGlzLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpeyJpbiI9PW4uaG92ZXJTdGF0ZSYmbi5zaG93KCl9LG4ub3B0aW9ucy5kZWxheS5zaG93KSkpOm4uc2hvdygpfSxsZWF2ZTpmdW5jdGlvbih0KXt2YXIgbj1lKHQuY3VycmVudFRhcmdldClbdGhpcy50eXBlXSh0aGlzLl9vcHRpb25zKS5kYXRhKHRoaXMudHlwZSk7cmV0dXJuIHRoaXMudGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCksbi5vcHRpb25zLmRlbGF5JiZuLm9wdGlvbnMuZGVsYXkuaGlkZT8obi5ob3ZlclN0YXRlPSJvdXQiLHZvaWQodGhpcy50aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXsib3V0Ij09bi5ob3ZlclN0YXRlJiZuLmhpZGUoKX0sbi5vcHRpb25zLmRlbGF5LmhpZGUpKSk6bi5oaWRlKCl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgdCxuLGksbyxyLHMsYT1lLkV2ZW50KCJzaG93Iik7aWYodGhpcy5oYXNDb250ZW50KCkmJnRoaXMuZW5hYmxlZCl7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGEpLGEuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO3N3aXRjaCh0PXRoaXMudGlwKCksdGhpcy5zZXRDb250ZW50KCksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmdC5hZGRDbGFzcygiZmFkZSIpLHI9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMub3B0aW9ucy5wbGFjZW1lbnQ/dGhpcy5vcHRpb25zLnBsYWNlbWVudC5jYWxsKHRoaXMsdFswXSx0aGlzLiRlbGVtZW50WzBdKTp0aGlzLm9wdGlvbnMucGxhY2VtZW50LHQuZGV0YWNoKCkuY3NzKHt0b3A6MCxsZWZ0OjAsZGlzcGxheToiYmxvY2sifSksdGhpcy5vcHRpb25zLmNvbnRhaW5lcj90LmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpOnQuaW5zZXJ0QWZ0ZXIodGhpcy4kZWxlbWVudCksbj10aGlzLmdldFBvc2l0aW9uKCksaT10WzBdLm9mZnNldFdpZHRoLG89dFswXS5vZmZzZXRIZWlnaHQscil7Y2FzZSJib3R0b20iOnM9e3RvcDpuLnRvcCtuLmhlaWdodCxsZWZ0Om4ubGVmdCtuLndpZHRoLzItaS8yfTticmVhaztjYXNlInRvcCI6cz17dG9wOm4udG9wLW8sbGVmdDpuLmxlZnQrbi53aWR0aC8yLWkvMn07YnJlYWs7Y2FzZSJsZWZ0IjpzPXt0b3A6bi50b3Arbi5oZWlnaHQvMi1vLzIsbGVmdDpuLmxlZnQtaX07YnJlYWs7Y2FzZSJyaWdodCI6cz17dG9wOm4udG9wK24uaGVpZ2h0LzItby8yLGxlZnQ6bi5sZWZ0K24ud2lkdGh9fXRoaXMuYXBwbHlQbGFjZW1lbnQocyxyKSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoInNob3duIil9fSxhcHBseVBsYWNlbWVudDpmdW5jdGlvbihlLHQpe3ZhciBuLGksbyxyLHM9dGhpcy50aXAoKSxhPXNbMF0ub2Zmc2V0V2lkdGgsbD1zWzBdLm9mZnNldEhlaWdodDtzLm9mZnNldChlKS5hZGRDbGFzcyh0KS5hZGRDbGFzcygiaW4iKSxuPXNbMF0ub2Zmc2V0V2lkdGgsaT1zWzBdLm9mZnNldEhlaWdodCwidG9wIj09dCYmaSE9bCYmKGUudG9wPWUudG9wK2wtaSxyPSEwKSwiYm90dG9tIj09dHx8InRvcCI9PXQ/KG89MCxlLmxlZnQ8MCYmKG89LTIqZS5sZWZ0LGUubGVmdD0wLHMub2Zmc2V0KGUpLG49c1swXS5vZmZzZXRXaWR0aCxpPXNbMF0ub2Zmc2V0SGVpZ2h0KSx0aGlzLnJlcGxhY2VBcnJvdyhvLWErbixuLCJsZWZ0IikpOnRoaXMucmVwbGFjZUFycm93KGktbCxpLCJ0b3AiKSxyJiZzLm9mZnNldChlKX0scmVwbGFjZUFycm93OmZ1bmN0aW9uKGUsdCxuKXt0aGlzLmFycm93KCkuY3NzKG4sZT81MCooMS1lL3QpKyIlIjoiIil9LHNldENvbnRlbnQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnRpcCgpLHQ9dGhpcy5nZXRUaXRsZSgpO2UuZmluZCgiLnRvb2x0aXAtaW5uZXIiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXSh0KSxlLnJlbW92ZUNsYXNzKCJmYWRlIGluIHRvcCBib3R0b20gbGVmdCByaWdodCIpfSxoaWRlOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3ZhciB0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLm9mZihlLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpLmRldGFjaCgpfSw1MDApO24ub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxmdW5jdGlvbigpe2NsZWFyVGltZW91dCh0KSxuLmRldGFjaCgpfSl9dmFyIG49dGhpcy50aXAoKSxpPWUuRXZlbnQoImhpZGUiKTtyZXR1cm4gdGhpcy4kZWxlbWVudC50cmlnZ2VyKGkpLGkuaXNEZWZhdWx0UHJldmVudGVkKCk/dm9pZCAwOihuLnJlbW92ZUNsYXNzKCJpbiIpLGUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiR0aXAuaGFzQ2xhc3MoImZhZGUiKT90KCk6bi5kZXRhY2goKSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbiIpLHRoaXMpfSxmaXhUaXRsZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMuJGVsZW1lbnQ7KGUuYXR0cigidGl0bGUiKXx8InN0cmluZyIhPXR5cGVvZiBlLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKSkmJmUuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIsZS5hdHRyKCJ0aXRsZSIpfHwiIikuYXR0cigidGl0bGUiLCIiKX0saGFzQ29udGVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl9LGdldFBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy4kZWxlbWVudFswXTtyZXR1cm4gZS5leHRlbmQoe30sImZ1bmN0aW9uIj09dHlwZW9mIHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0P3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6e3dpZHRoOnQub2Zmc2V0V2lkdGgsaGVpZ2h0OnQub2Zmc2V0SGVpZ2h0fSx0aGlzLiRlbGVtZW50Lm9mZnNldCgpKX0sZ2V0VGl0bGU6ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMuJGVsZW1lbnQsbj10aGlzLm9wdGlvbnM7cmV0dXJuIGU9dC5hdHRyKCJkYXRhLW9yaWdpbmFsLXRpdGxlIil8fCgiZnVuY3Rpb24iPT10eXBlb2Ygbi50aXRsZT9uLnRpdGxlLmNhbGwodFswXSk6bi50aXRsZSl9LHRpcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiR0aXA9dGhpcy4kdGlwfHxlKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSl9LGFycm93OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi50b29sdGlwLWFycm93Iil9LHZhbGlkYXRlOmZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudFswXS5wYXJlbnROb2RlfHwodGhpcy5oaWRlKCksdGhpcy4kZWxlbWVudD1udWxsLHRoaXMub3B0aW9ucz1udWxsKX0sZW5hYmxlOmZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwfSxkaXNhYmxlOmZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExfSx0b2dnbGVFbmFibGVkOmZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSF0aGlzLmVuYWJsZWR9LHRvZ2dsZTpmdW5jdGlvbih0KXt2YXIgbj10P2UodC5jdXJyZW50VGFyZ2V0KVt0aGlzLnR5cGVdKHRoaXMuX29wdGlvbnMpLmRhdGEodGhpcy50eXBlKTp0aGlzO24udGlwKCkuaGFzQ2xhc3MoImluIik/bi5oaWRlKCk6bi5zaG93KCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmhpZGUoKS4kZWxlbWVudC5vZmYoIi4iK3RoaXMudHlwZSkucmVtb3ZlRGF0YSh0aGlzLnR5cGUpfX07dmFyIG49ZS5mbi50b29sdGlwO2UuZm4udG9vbHRpcD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9ZSh0aGlzKSxvPWkuZGF0YSgidG9vbHRpcCIpLHI9Im9iamVjdCI9PXR5cGVvZiBuJiZuO298fGkuZGF0YSgidG9vbHRpcCIsbz1uZXcgdCh0aGlzLHIpKSwic3RyaW5nIj09dHlwZW9mIG4mJm9bbl0oKX0pfSxlLmZuLnRvb2x0aXAuQ29uc3RydWN0b3I9dCxlLmZuLnRvb2x0aXAuZGVmYXVsdHM9e2FuaW1hdGlvbjohMCxwbGFjZW1lbnQ6InRvcCIsc2VsZWN0b3I6ITEsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAtYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxjb250YWluZXI6ITF9LGUuZm4udG9vbHRpcC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuZm4udG9vbHRpcD1uLHRoaXN9fSh3aW5kb3cualF1ZXJ5KSwhZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0PWZ1bmN0aW9uKGUsdCl7dGhpcy5pbml0KCJwb3BvdmVyIixlLHQpfTt0LnByb3RvdHlwZT1lLmV4dGVuZCh7fSxlLmZuLnRvb2x0aXAuQ29uc3RydWN0b3IucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp0LHNldENvbnRlbnQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnRpcCgpLHQ9dGhpcy5nZXRUaXRsZSgpLG49dGhpcy5nZXRDb250ZW50KCk7ZS5maW5kKCIucG9wb3Zlci10aXRsZSIpW3RoaXMub3B0aW9ucy5odG1sPyJodG1sIjoidGV4dCJdKHQpLGUuZmluZCgiLnBvcG92ZXItY29udGVudCIpW3RoaXMub3B0aW9ucy5odG1sPyJodG1sIjoidGV4dCJdKG4pLGUucmVtb3ZlQ2xhc3MoImZhZGUgdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0IGluIil9LGhhc0NvbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLmdldENvbnRlbnQoKX0sZ2V0Q29udGVudDpmdW5jdGlvbigpe3ZhciBlLHQ9dGhpcy4kZWxlbWVudCxuPXRoaXMub3B0aW9ucztyZXR1cm4gZT0oImZ1bmN0aW9uIj09dHlwZW9mIG4uY29udGVudD9uLmNvbnRlbnQuY2FsbCh0WzBdKTpuLmNvbnRlbnQpfHx0LmF0dHIoImRhdGEtY29udGVudCIpfSx0aXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kdGlwfHwodGhpcy4kdGlwPWUodGhpcy5vcHRpb25zLnRlbXBsYXRlKSksdGhpcy4kdGlwfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5oaWRlKCkuJGVsZW1lbnQub2ZmKCIuIit0aGlzLnR5cGUpLnJlbW92ZURhdGEodGhpcy50eXBlKX19KTt2YXIgbj1lLmZuLnBvcG92ZXI7ZS5mbi5wb3BvdmVyPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lKHRoaXMpLG89aS5kYXRhKCJwb3BvdmVyIikscj0ib2JqZWN0Ij09dHlwZW9mIG4mJm47b3x8aS5kYXRhKCJwb3BvdmVyIixvPW5ldyB0KHRoaXMscikpLCJzdHJpbmciPT10eXBlb2YgbiYmb1tuXSgpfSl9LGUuZm4ucG9wb3Zlci5Db25zdHJ1Y3Rvcj10LGUuZm4ucG9wb3Zlci5kZWZhdWx0cz1lLmV4dGVuZCh7fSxlLmZuLnRvb2x0aXAuZGVmYXVsdHMse3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGgzIGNsYXNzPSJwb3BvdmVyLXRpdGxlIj48L2gzPjxkaXYgY2xhc3M9InBvcG92ZXItY29udGVudCI+PC9kaXY+PC9kaXY+J30pLGUuZm4ucG9wb3Zlci5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuZm4ucG9wb3Zlcj1uLHRoaXN9fSh3aW5kb3cualF1ZXJ5KSwhZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxuKXt2YXIgaSxvPWUucHJveHkodGhpcy5wcm9jZXNzLHRoaXMpLHI9ZShlKHQpLmlzKCJib2R5Iik/d2luZG93OnQpO3RoaXMub3B0aW9ucz1lLmV4dGVuZCh7fSxlLmZuLnNjcm9sbHNweS5kZWZhdWx0cyxuKSx0aGlzLiRzY3JvbGxFbGVtZW50PXIub24oInNjcm9sbC5zY3JvbGwtc3B5LmRhdGEtYXBpIixvKSx0aGlzLnNlbGVjdG9yPSh0aGlzLm9wdGlvbnMudGFyZ2V0fHwoaT1lKHQpLmF0dHIoImhyZWYiKSkmJmkucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKXx8IiIpKyIgLm5hdiBsaSA+IGEiLHRoaXMuJGJvZHk9ZSgiYm9keSIpLHRoaXMucmVmcmVzaCgpLHRoaXMucHJvY2VzcygpfXQucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdCxuPXRoaXM7dGhpcy5vZmZzZXRzPWUoW10pLHRoaXMudGFyZ2V0cz1lKFtdKSx0PXRoaXMuJGJvZHkuZmluZCh0aGlzLnNlbGVjdG9yKS5tYXAoZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLGk9dC5kYXRhKCJ0YXJnZXQiKXx8dC5hdHRyKCJocmVmIiksbz0vXiNcdy8udGVzdChpKSYmZShpKTtyZXR1cm4gbyYmby5sZW5ndGgmJltbby5wb3NpdGlvbigpLnRvcCsoIWUuaXNXaW5kb3cobi4kc2Nyb2xsRWxlbWVudC5nZXQoMCkpJiZuLiRzY3JvbGxFbGVtZW50LnNjcm9sbFRvcCgpKSxpXV18fG51bGx9KS5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGVbMF0tdFswXX0pLmVhY2goZnVuY3Rpb24oKXtuLm9mZnNldHMucHVzaCh0aGlzWzBdKSxuLnRhcmdldHMucHVzaCh0aGlzWzFdKX0pfSxwcm9jZXNzOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLiRzY3JvbGxFbGVtZW50LnNjcm9sbFRvcCgpK3RoaXMub3B0aW9ucy5vZmZzZXQsbj10aGlzLiRzY3JvbGxFbGVtZW50WzBdLnNjcm9sbEhlaWdodHx8dGhpcy4kYm9keVswXS5zY3JvbGxIZWlnaHQsaT1uLXRoaXMuJHNjcm9sbEVsZW1lbnQuaGVpZ2h0KCksbz10aGlzLm9mZnNldHMscj10aGlzLnRhcmdldHMscz10aGlzLmFjdGl2ZVRhcmdldDtpZih0Pj1pKXJldHVybiBzIT0oZT1yLmxhc3QoKVswXSkmJnRoaXMuYWN0aXZhdGUoZSk7Zm9yKGU9by5sZW5ndGg7ZS0tOylzIT1yW2VdJiZ0Pj1vW2VdJiYoIW9bZSsxXXx8dDw9b1tlKzFdKSYmdGhpcy5hY3RpdmF0ZShyW2VdKX0sYWN0aXZhdGU6ZnVuY3Rpb24odCl7dmFyIG4saTt0aGlzLmFjdGl2ZVRhcmdldD10LGUodGhpcy5zZWxlY3RvcikucGFyZW50KCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLGk9dGhpcy5zZWxlY3RvcisnW2RhdGEtdGFyZ2V0PSInK3QrJyJdLCcrdGhpcy5zZWxlY3RvcisnW2hyZWY9IicrdCsnIl0nLG49ZShpKS5wYXJlbnQoImxpIikuYWRkQ2xhc3MoImFjdGl2ZSIpLG4ucGFyZW50KCIuZHJvcGRvd24tbWVudSIpLmxlbmd0aCYmKG49bi5jbG9zZXN0KCJsaS5kcm9wZG93biIpLmFkZENsYXNzKCJhY3RpdmUiKSksbi50cmlnZ2VyKCJhY3RpdmF0ZSIpfX07dmFyIG49ZS5mbi5zY3JvbGxzcHk7ZS5mbi5zY3JvbGxzcHk9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPWUodGhpcyksbz1pLmRhdGEoInNjcm9sbHNweSIpLHI9Im9iamVjdCI9PXR5cGVvZiBuJiZuO298fGkuZGF0YSgic2Nyb2xsc3B5IixvPW5ldyB0KHRoaXMscikpLCJzdHJpbmciPT10eXBlb2YgbiYmb1tuXSgpfSl9LGUuZm4uc2Nyb2xsc3B5LkNvbnN0cnVjdG9yPXQsZS5mbi5zY3JvbGxzcHkuZGVmYXVsdHM9e29mZnNldDoxMH0sZS5mbi5zY3JvbGxzcHkubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBlLmZuLnNjcm9sbHNweT1uLHRoaXN9LGUod2luZG93KS5vbigibG9hZCIsZnVuY3Rpb24oKXtlKCdbZGF0YS1zcHk9InNjcm9sbCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcyk7dC5zY3JvbGxzcHkodC5kYXRhKCkpfSl9KX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1mdW5jdGlvbih0KXt0aGlzLmVsZW1lbnQ9ZSh0KX07dC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnQsc2hvdzpmdW5jdGlvbigpe3ZhciB0LG4saSxvPXRoaXMuZWxlbWVudCxyPW8uY2xvc2VzdCgidWw6bm90KC5kcm9wZG93bi1tZW51KSIpLHM9by5hdHRyKCJkYXRhLXRhcmdldCIpO3N8fChzPW8uYXR0cigiaHJlZiIpLHM9cyYmcy5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSxvLnBhcmVudCgibGkiKS5oYXNDbGFzcygiYWN0aXZlIil8fCh0PXIuZmluZCgiLmFjdGl2ZTpsYXN0IGEiKVswXSxpPWUuRXZlbnQoInNob3ciLHtyZWxhdGVkVGFyZ2V0OnR9KSxvLnRyaWdnZXIoaSksaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KG49ZShzKSx0aGlzLmFjdGl2YXRlKG8ucGFyZW50KCJsaSIpLHIpLHRoaXMuYWN0aXZhdGUobixuLnBhcmVudCgpLGZ1bmN0aW9uKCl7by50cmlnZ2VyKHt0eXBlOiJzaG93biIscmVsYXRlZFRhcmdldDp0fSl9KSkpfSxhY3RpdmF0ZTpmdW5jdGlvbih0LG4saSl7ZnVuY3Rpb24gbygpe3IucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLmZpbmQoIj4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHQuYWRkQ2xhc3MoImFjdGl2ZSIpLHM/KHRbMF0ub2Zmc2V0V2lkdGgsdC5hZGRDbGFzcygiaW4iKSk6dC5yZW1vdmVDbGFzcygiZmFkZSIpLHQucGFyZW50KCIuZHJvcGRvd24tbWVudSIpJiZ0LmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLGkmJmkoKX12YXIgcj1uLmZpbmQoIj4gLmFjdGl2ZSIpLHM9aSYmZS5zdXBwb3J0LnRyYW5zaXRpb24mJnIuaGFzQ2xhc3MoImZhZGUiKTtzP3Iub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxvKTpvKCksci5yZW1vdmVDbGFzcygiaW4iKX19O3ZhciBuPWUuZm4udGFiO2UuZm4udGFiPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lKHRoaXMpLG89aS5kYXRhKCJ0YWIiKTtvfHxpLmRhdGEoInRhYiIsbz1uZXcgdCh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBuJiZvW25dKCl9KX0sZS5mbi50YWIuQ29uc3RydWN0b3I9dCxlLmZuLnRhYi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuZm4udGFiPW4sdGhpc30sZShkb2N1bWVudCkub24oImNsaWNrLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0idGFiIl0sIFtkYXRhLXRvZ2dsZT0icGlsbCJdJyxmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksZSh0aGlzKS50YWIoInNob3ciKX0pfSh3aW5kb3cualF1ZXJ5KSwhZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0PWZ1bmN0aW9uKHQsbil7dGhpcy4kZWxlbWVudD1lKHQpLHRoaXMub3B0aW9ucz1lLmV4dGVuZCh7fSxlLmZuLnR5cGVhaGVhZC5kZWZhdWx0cyxuKSx0aGlzLm1hdGNoZXI9dGhpcy5vcHRpb25zLm1hdGNoZXJ8fHRoaXMubWF0Y2hlcix0aGlzLnNvcnRlcj10aGlzLm9wdGlvbnMuc29ydGVyfHx0aGlzLnNvcnRlcix0aGlzLmhpZ2hsaWdodGVyPXRoaXMub3B0aW9ucy5oaWdobGlnaHRlcnx8dGhpcy5oaWdobGlnaHRlcix0aGlzLnVwZGF0ZXI9dGhpcy5vcHRpb25zLnVwZGF0ZXJ8fHRoaXMudXBkYXRlcix0aGlzLnNvdXJjZT10aGlzLm9wdGlvbnMuc291cmNlLHRoaXMuJG1lbnU9ZSh0aGlzLm9wdGlvbnMubWVudSksdGhpcy5zaG93bj0hMSx0aGlzLmxpc3RlbigpfTt0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6dCxzZWxlY3Q6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRtZW51LmZpbmQoIi5hY3RpdmUiKS5hdHRyKCJkYXRhLXZhbHVlIik7cmV0dXJuIHRoaXMuJGVsZW1lbnQudmFsKHRoaXMudXBkYXRlcihlKSkuY2hhbmdlKCksdGhpcy5oaWRlKCl9LHVwZGF0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHNob3c6ZnVuY3Rpb24oKXt2YXIgdD1lLmV4dGVuZCh7fSx0aGlzLiRlbGVtZW50LnBvc2l0aW9uKCkse2hlaWdodDp0aGlzLiRlbGVtZW50WzBdLm9mZnNldEhlaWdodH0pO3JldHVybiB0aGlzLiRtZW51Lmluc2VydEFmdGVyKHRoaXMuJGVsZW1lbnQpLmNzcyh7dG9wOnQudG9wK3QuaGVpZ2h0LGxlZnQ6dC5sZWZ0fSkuc2hvdygpLHRoaXMuc2hvd249ITAsdGhpc30saGlkZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRtZW51LmhpZGUoKSx0aGlzLnNob3duPSExLHRoaXN9LGxvb2t1cDpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0aGlzLnF1ZXJ5PXRoaXMuJGVsZW1lbnQudmFsKCksIXRoaXMucXVlcnl8fHRoaXMucXVlcnkubGVuZ3RoPHRoaXMub3B0aW9ucy5taW5MZW5ndGg/dGhpcy5zaG93bj90aGlzLmhpZGUoKTp0aGlzOih0PWUuaXNGdW5jdGlvbih0aGlzLnNvdXJjZSk/dGhpcy5zb3VyY2UodGhpcy5xdWVyeSxlLnByb3h5KHRoaXMucHJvY2Vzcyx0aGlzKSk6dGhpcy5zb3VyY2UsdD90aGlzLnByb2Nlc3ModCk6dGhpcyl9LHByb2Nlc3M6ZnVuY3Rpb24odCl7dmFyIG49dGhpcztyZXR1cm4gdD1lLmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gbi5tYXRjaGVyKGUpfSksdD10aGlzLnNvcnRlcih0KSx0Lmxlbmd0aD90aGlzLnJlbmRlcih0LnNsaWNlKDAsdGhpcy5vcHRpb25zLml0ZW1zKSkuc2hvdygpOnRoaXMuc2hvd24/dGhpcy5oaWRlKCk6dGhpc30sbWF0Y2hlcjpmdW5jdGlvbihlKXtyZXR1cm5+ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5xdWVyeS50b0xvd2VyQ2FzZSgpKX0sc29ydGVyOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPVtdLGk9W10sbz1bXTt0PWUuc2hpZnQoKTspdC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5xdWVyeS50b0xvd2VyQ2FzZSgpKT9+dC5pbmRleE9mKHRoaXMucXVlcnkpP2kucHVzaCh0KTpvLnB1c2godCk6bi5wdXNoKHQpO3JldHVybiBuLmNvbmNhdChpLG8pfSxoaWdobGlnaHRlcjpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnF1ZXJ5LnJlcGxhY2UoL1tcLVxbXF17fSgpKis/LixcXFxeJHwjXHNdL2csIlxcJCYiKTtyZXR1cm4gZS5yZXBsYWNlKG5ldyBSZWdFeHAoIigiK3QrIikiLCJpZyIpLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIjxzdHJvbmc+Iit0KyI8L3N0cm9uZz4ifSl9LHJlbmRlcjpmdW5jdGlvbih0KXt2YXIgbj10aGlzO3JldHVybiB0PWUodCkubWFwKGZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQ9ZShuLm9wdGlvbnMuaXRlbSkuYXR0cigiZGF0YS12YWx1ZSIsaSksdC5maW5kKCJhIikuaHRtbChuLmhpZ2hsaWdodGVyKGkpKSx0WzBdfSksdC5maXJzdCgpLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLiRtZW51Lmh0bWwodCksdGhpc30sbmV4dDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJG1lbnUuZmluZCgiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxuPXQubmV4dCgpO24ubGVuZ3RofHwobj1lKHRoaXMuJG1lbnUuZmluZCgibGkiKVswXSkpLG4uYWRkQ2xhc3MoImFjdGl2ZSIpfSxwcmV2OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy4kbWVudS5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHQ9ZS5wcmV2KCk7dC5sZW5ndGh8fCh0PXRoaXMuJG1lbnUuZmluZCgibGkiKS5sYXN0KCkpLHQuYWRkQ2xhc3MoImFjdGl2ZSIpfSxsaXN0ZW46ZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50Lm9uKCJmb2N1cyIsZS5wcm94eSh0aGlzLmZvY3VzLHRoaXMpKS5vbigiYmx1ciIsZS5wcm94eSh0aGlzLmJsdXIsdGhpcykpLm9uKCJrZXlwcmVzcyIsZS5wcm94eSh0aGlzLmtleXByZXNzLHRoaXMpKS5vbigia2V5dXAiLGUucHJveHkodGhpcy5rZXl1cCx0aGlzKSksdGhpcy5ldmVudFN1cHBvcnRlZCgia2V5ZG93biIpJiZ0aGlzLiRlbGVtZW50Lm9uKCJrZXlkb3duIixlLnByb3h5KHRoaXMua2V5ZG93bix0aGlzKSksdGhpcy4kbWVudS5vbigiY2xpY2siLGUucHJveHkodGhpcy5jbGljayx0aGlzKSkub24oIm1vdXNlZW50ZXIiLCJsaSIsZS5wcm94eSh0aGlzLm1vdXNlZW50ZXIsdGhpcykpLm9uKCJtb3VzZWxlYXZlIiwibGkiLGUucHJveHkodGhpcy5tb3VzZWxlYXZlLHRoaXMpKX0sZXZlbnRTdXBwb3J0ZWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZSBpbiB0aGlzLiRlbGVtZW50O3JldHVybiB0fHwodGhpcy4kZWxlbWVudC5zZXRBdHRyaWJ1dGUoZSwicmV0dXJuOyIpLHQ9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuJGVsZW1lbnRbZV0pLHR9LG1vdmU6ZnVuY3Rpb24oZSl7aWYodGhpcy5zaG93bil7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSA5OmNhc2UgMTM6Y2FzZSAyNzplLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSAzODplLnByZXZlbnREZWZhdWx0KCksdGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSA0MDplLnByZXZlbnREZWZhdWx0KCksdGhpcy5uZXh0KCl9ZS5zdG9wUHJvcGFnYXRpb24oKX19LGtleWRvd246ZnVuY3Rpb24odCl7dGhpcy5zdXBwcmVzc0tleVByZXNzUmVwZWF0PX5lLmluQXJyYXkodC5rZXlDb2RlLFs0MCwzOCw5LDEzLDI3XSksdGhpcy5tb3ZlKHQpfSxrZXlwcmVzczpmdW5jdGlvbihlKXt0aGlzLnN1cHByZXNzS2V5UHJlc3NSZXBlYXR8fHRoaXMubW92ZShlKX0sa2V5dXA6ZnVuY3Rpb24oZSl7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSA0MDpjYXNlIDM4OmNhc2UgMTY6Y2FzZSAxNzpjYXNlIDE4OmJyZWFrO2Nhc2UgOTpjYXNlIDEzOmlmKCF0aGlzLnNob3duKXJldHVybjt0aGlzLnNlbGVjdCgpO2JyZWFrO2Nhc2UgMjc6aWYoIXRoaXMuc2hvd24pcmV0dXJuO3RoaXMuaGlkZSgpO2JyZWFrO2RlZmF1bHQ6dGhpcy5sb29rdXAoKX1lLnN0b3BQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKX0sZm9jdXM6ZnVuY3Rpb24oKXt0aGlzLmZvY3VzZWQ9ITB9LGJsdXI6ZnVuY3Rpb24oKXt0aGlzLmZvY3VzZWQ9ITEsIXRoaXMubW91c2Vkb3ZlciYmdGhpcy5zaG93biYmdGhpcy5oaWRlKCl9LGNsaWNrOmZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2VsZWN0KCksdGhpcy4kZWxlbWVudC5mb2N1cygpfSxtb3VzZWVudGVyOmZ1bmN0aW9uKHQpe3RoaXMubW91c2Vkb3Zlcj0hMCx0aGlzLiRtZW51LmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksZSh0LmN1cnJlbnRUYXJnZXQpLmFkZENsYXNzKCJhY3RpdmUiKX0sbW91c2VsZWF2ZTpmdW5jdGlvbigpe3RoaXMubW91c2Vkb3Zlcj0hMSwhdGhpcy5mb2N1c2VkJiZ0aGlzLnNob3duJiZ0aGlzLmhpZGUoKX19O3ZhciBuPWUuZm4udHlwZWFoZWFkO2UuZm4udHlwZWFoZWFkPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lKHRoaXMpLG89aS5kYXRhKCJ0eXBlYWhlYWQiKSxyPSJvYmplY3QiPT10eXBlb2YgbiYmbjtvfHxpLmRhdGEoInR5cGVhaGVhZCIsbz1uZXcgdCh0aGlzLHIpKSwic3RyaW5nIj09dHlwZW9mIG4mJm9bbl0oKX0pfSxlLmZuLnR5cGVhaGVhZC5kZWZhdWx0cz17c291cmNlOltdLGl0ZW1zOjgsbWVudTonPHVsIGNsYXNzPSJ0eXBlYWhlYWQgZHJvcGRvd24tbWVudSI+PC91bD4nLGl0ZW06JzxsaT48YSBocmVmPSIjIj48L2E+PC9saT4nLG1pbkxlbmd0aDoxfSxlLmZuLnR5cGVhaGVhZC5Db25zdHJ1Y3Rvcj10LGUuZm4udHlwZWFoZWFkLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZS5mbi50eXBlYWhlYWQ9bix0aGlzfSxlKGRvY3VtZW50KS5vbigiZm9jdXMudHlwZWFoZWFkLmRhdGEtYXBpIiwnW2RhdGEtcHJvdmlkZT0idHlwZWFoZWFkIl0nLGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTt0LmRhdGEoInR5cGVhaGVhZCIpfHx0LnR5cGVhaGVhZCh0LmRhdGEoKSl9KX0od2luZG93LmpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1mdW5jdGlvbih0LG4pe3RoaXMub3B0aW9ucz1uLHRoaXMuJGVsZW1lbnQ9ZSh0KS5kZWxlZ2F0ZSgnW2RhdGEtZGlzbWlzcz0ibGlnaHRib3giXScsImNsaWNrLmRpc21pc3MubGlnaHRib3giLGUucHJveHkodGhpcy5oaWRlLHRoaXMpKSx0aGlzLm9wdGlvbnMucmVtb3RlJiZ0aGlzLiRlbGVtZW50LmZpbmQoIi5saWdodGJveC1ib2R5IikubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlKX07dC5wcm90b3R5cGU9ZS5leHRlbmQoe30sZS5mbi5tb2RhbC5Db25zdHJ1Y3Rvci5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsdC5wcm90b3R5cGUuZW5mb3JjZUZvY3VzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztlKGRvY3VtZW50KS5vbigiZm9jdXNpbi5saWdodGJveCIsZnVuY3Rpb24oZSl7dC4kZWxlbWVudFswXT09PWUudGFyZ2V0fHx0LiRlbGVtZW50LmhhcyhlLnRhcmdldCkubGVuZ3RofHx0LiRlbGVtZW50LmZvY3VzKCl9KX0sdC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsbj1lLkV2ZW50KCJzaG93Iik7dGhpcy4kZWxlbWVudC50cmlnZ2VyKG4pLHRoaXMuaXNTaG93bnx8bi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHRoaXMuaXNTaG93bj0hMCx0aGlzLmVzY2FwZSgpLHRoaXMucHJlbG9hZFNpemUoZnVuY3Rpb24oKXt0LmJhY2tkcm9wKGZ1bmN0aW9uKCl7dmFyIG49ZS5zdXBwb3J0LnRyYW5zaXRpb24mJnQuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKTt0LiRlbGVtZW50LnBhcmVudCgpLmxlbmd0aHx8dC4kZWxlbWVudC5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KSx0LiRlbGVtZW50LnNob3coKSxuJiZ0LiRlbGVtZW50WzBdLm9mZnNldFdpZHRoLHQuJGVsZW1lbnQuYWRkQ2xhc3MoImluIikuYXR0cigiYXJpYS1oaWRkZW4iLCExKSx0LmVuZm9yY2VGb2N1cygpLG4/dC4kZWxlbWVudC5vbmUoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGZ1bmN0aW9uKCl7dC4kZWxlbWVudC5mb2N1cygpLnRyaWdnZXIoInNob3duIil9KTp0LiRlbGVtZW50LmZvY3VzKCkudHJpZ2dlcigic2hvd24iKX0pfSkpfSx0LnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKHQpe3QmJnQucHJldmVudERlZmF1bHQoKTt0PWUuRXZlbnQoImhpZGUiKSx0aGlzLiRlbGVtZW50LnRyaWdnZXIodCksdGhpcy5pc1Nob3duJiYhdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKHRoaXMuaXNTaG93bj0hMSx0aGlzLmVzY2FwZSgpLGUoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5saWdodGJveCIpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImluIikuYXR0cigiYXJpYS1oaWRkZW4iLCEwKSxlLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuaGlkZVdpdGhUcmFuc2l0aW9uKCk6dGhpcy5oaWRlTW9kYWwoKSl9LHQucHJvdG90eXBlLmVzY2FwZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5pc1Nob3duJiZ0aGlzLm9wdGlvbnMua2V5Ym9hcmQ/dGhpcy4kZWxlbWVudC5vbigia2V5dXAuZGlzbWlzcy5saWdodGJveCIsZnVuY3Rpb24odCl7Mjc9PXQud2hpY2gmJmUuaGlkZSgpfSk6dGhpcy5pc1Nob3dufHx0aGlzLiRlbGVtZW50Lm9mZigia2V5dXAuZGlzbWlzcy5saWdodGJveCIpfSx0LnByb3RvdHlwZS5wcmVsb2FkU2l6ZT1mdW5jdGlvbih0KXt2YXIgbj1lLkNhbGxiYWNrcygpO3QmJm4uYWRkKHQpO3ZhciBpLG8scixzLGEsbCxjLHUsZCxwLGg9dGhpcztpPWUod2luZG93KS5oZWlnaHQoKSxvPWUod2luZG93KS53aWR0aCgpLHI9cGFyc2VJbnQoaC4kZWxlbWVudC5maW5kKCIubGlnaHRib3gtY29udGVudCIpLmNzcygicGFkZGluZy10b3AiKSwxMCkscz1wYXJzZUludChoLiRlbGVtZW50LmZpbmQoIi5saWdodGJveC1jb250ZW50IikuY3NzKCJwYWRkaW5nLWJvdHRvbSIpLDEwKSxhPXBhcnNlSW50KGguJGVsZW1lbnQuZmluZCgiLmxpZ2h0Ym94LWNvbnRlbnQiKS5jc3MoInBhZGRpbmctbGVmdCIpLDEwKSxsPXBhcnNlSW50KGguJGVsZW1lbnQuZmluZCgiLmxpZ2h0Ym94LWNvbnRlbnQiKS5jc3MoInBhZGRpbmctcmlnaHQiKSwxMCksYz1oLiRlbGVtZW50LmZpbmQoIi5saWdodGJveC1jb250ZW50IikuZmluZCgiaW1nOmZpcnN0IiksdT1uZXcgSW1hZ2UsdS5vbmxvYWQ9ZnVuY3Rpb24oKXt1LndpZHRoK2ErbD49byYmKGQ9dS53aWR0aCxwPXUuaGVpZ2h0LHUud2lkdGg9by1hLWwsdS5oZWlnaHQ9cC9kKnUud2lkdGgpLHUuaGVpZ2h0K3Ircz49aSYmKGQ9dS53aWR0aCxwPXUuaGVpZ2h0LHUuaGVpZ2h0PWktci1zLHUud2lkdGg9ZC9wKnUuaGVpZ2h0KSxoLiRlbGVtZW50LmNzcyh7cG9zaXRpb246ImZpeGVkIix3aWR0aDp1LndpZHRoK2ErbCxoZWlnaHQ6dS5oZWlnaHQrcitzLHRvcDppLzItKHUuaGVpZ2h0K3IrcykvMixsZWZ0OiI1MCUiLCJtYXJnaW4tbGVmdCI6LTEqKHUud2lkdGgrYStsKS8yfSksaC4kZWxlbWVudC5maW5kKCIubGlnaHRib3gtY29udGVudCIpLmNzcyh7d2lkdGg6dS53aWR0aCxoZWlnaHQ6dS5oZWlnaHR9KSxuLmZpcmUoKX0sdS5zcmM9Yy5hdHRyKCJzcmMiKX07dmFyIG49ZS5mbi5saWdodGJveDtlLmZuLmxpZ2h0Ym94PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lKHRoaXMpLG89aS5kYXRhKCJsaWdodGJveCIpLHI9ZS5leHRlbmQoe30sZS5mbi5saWdodGJveC5kZWZhdWx0cyxpLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIG4mJm4pO298fGkuZGF0YSgibGlnaHRib3giLG89bmV3IHQodGhpcyxyKSksInN0cmluZyI9PXR5cGVvZiBuP29bbl0oKTpyLnNob3cmJm8uc2hvdygpfSl9LGUuZm4ubGlnaHRib3guZGVmYXVsdHM9e2JhY2tkcm9wOiEwLGtleWJvYXJkOiEwLHNob3c6ITB9LGUuZm4ubGlnaHRib3guQ29uc3RydWN0b3I9dCxlLmZuLmxpZ2h0Ym94Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZS5mbi5saWdodGJveD1uLHRoaXN9LGUoZG9jdW1lbnQpLm9uKCJjbGljay5saWdodGJveC5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0ibGlnaHRib3giXScsZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKSxpPW4uYXR0cigiaHJlZiIpLG89ZShuLmF0dHIoImRhdGEtdGFyZ2V0Iil8fGkmJmkucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSkscj1vLmRhdGEoImxpZ2h0Ym94Iik/InRvZ2dsZSI6ZS5leHRlbmQoe3JlbW90ZTohLyMvLnRlc3QoaSkmJml9LG8uZGF0YSgpLG4uZGF0YSgpKTt0LnByZXZlbnREZWZhdWx0KCksby5saWdodGJveChyKS5vbmUoImhpZGUiLGZ1bmN0aW9uKCl7bi5mb2N1cygpfSl9KX0od2luZG93LmpRdWVyeSksZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKGUpe2Zvcih2YXIgdCxuPWUuc3BsaXQoL1xzKy8pLGk9W10sbz0wO3Q9bltvXTtvKyspdD10WzBdLnRvVXBwZXJDYXNlKCksaS5wdXNoKHQpO3JldHVybiBpfWZ1bmN0aW9uIGkodCl7cmV0dXJuIHQuaWQmJmUoJ2xhYmVsW2Zvcj0iJyt0LmlkKyciXScpLnZhbCgpfHx0Lm5hbWV9ZnVuY3Rpb24gbyhuLHIscyl7cmV0dXJuIHN8fChzPTApLHIuZWFjaChmdW5jdGlvbigpe3ZhciByLGEsbD1lKHRoaXMpLGM9dGhpcyx1PXRoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtzd2l0Y2goImxhYmVsIj09dSYmbC5maW5kKCJpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCIpLmxlbmd0aCYmKHI9bC50ZXh0KCksbD1sLmNoaWxkcmVuKCkuZmlyc3QoKSxjPWwuZ2V0KDApLHU9Yy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSx1KXtjYXNlIm1lbnUiOmE9e25hbWU6bC5hdHRyKCJsYWJlbCIpLGl0ZW1zOnt9fSxzPW8oYS5pdGVtcyxsLmNoaWxkcmVuKCkscyk7YnJlYWs7Y2FzZSJhIjpjYXNlImJ1dHRvbiI6YT17bmFtZTpsLnRleHQoKSxkaXNhYmxlZDohIWwuYXR0cigiZGlzYWJsZWQiKSxjYWxsYmFjazpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe2wuY2xpY2soKX19KCl9O2JyZWFrO2Nhc2UibWVudWl0ZW0iOmNhc2UiY29tbWFuZCI6c3dpdGNoKGwuYXR0cigidHlwZSIpKXtjYXNlIHQ6Y2FzZSJjb21tYW5kIjpjYXNlIm1lbnVpdGVtIjphPXtuYW1lOmwuYXR0cigibGFiZWwiKSxkaXNhYmxlZDohIWwuYXR0cigiZGlzYWJsZWQiKSxjYWxsYmFjazpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe2wuY2xpY2soKX19KCl9O2JyZWFrO2Nhc2UiY2hlY2tib3giOmE9e3R5cGU6ImNoZWNrYm94IixkaXNhYmxlZDohIWwuYXR0cigiZGlzYWJsZWQiKSxuYW1lOmwuYXR0cigibGFiZWwiKSxzZWxlY3RlZDohIWwuYXR0cigiY2hlY2tlZCIpfTticmVhaztjYXNlInJhZGlvIjphPXt0eXBlOiJyYWRpbyIsZGlzYWJsZWQ6ISFsLmF0dHIoImRpc2FibGVkIiksbmFtZTpsLmF0dHIoImxhYmVsIikscmFkaW86bC5hdHRyKCJyYWRpb2dyb3VwIiksdmFsdWU6bC5hdHRyKCJpZCIpLHNlbGVjdGVkOiEhbC5hdHRyKCJjaGVja2VkIil9O2JyZWFrO2RlZmF1bHQ6YT10fWJyZWFrO2Nhc2UiaHIiOmE9Ii0tLS0tLS0iO2JyZWFrO2Nhc2UiaW5wdXQiOnN3aXRjaChsLmF0dHIoInR5cGUiKSl7Y2FzZSJ0ZXh0IjphPXt0eXBlOiJ0ZXh0IixuYW1lOnJ8fGkoYyksZGlzYWJsZWQ6ISFsLmF0dHIoImRpc2FibGVkIiksdmFsdWU6bC52YWwoKX07YnJlYWs7Y2FzZSJjaGVja2JveCI6YT17dHlwZToiY2hlY2tib3giLG5hbWU6cnx8aShjKSxkaXNhYmxlZDohIWwuYXR0cigiZGlzYWJsZWQiKSxzZWxlY3RlZDohIWwuYXR0cigiY2hlY2tlZCIpfTticmVhaztjYXNlInJhZGlvIjphPXt0eXBlOiJyYWRpbyIsbmFtZTpyfHxpKGMpLGRpc2FibGVkOiEhbC5hdHRyKCJkaXNhYmxlZCIpLHJhZGlvOiEhbC5hdHRyKCJuYW1lIiksdmFsdWU6bC52YWwoKSxzZWxlY3RlZDohIWwuYXR0cigiY2hlY2tlZCIpfTticmVhaztkZWZhdWx0OmE9dH1icmVhaztjYXNlInNlbGVjdCI6YT17dHlwZToic2VsZWN0IixuYW1lOnJ8fGkoYyksZGlzYWJsZWQ6ISFsLmF0dHIoImRpc2FibGVkIiksc2VsZWN0ZWQ6bC52YWwoKSxvcHRpb25zOnt9fSxsLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpe2Eub3B0aW9uc1t0aGlzLnZhbHVlXT1lKHRoaXMpLnRleHQoKX0pO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmE9e3R5cGU6InRleHRhcmVhIixuYW1lOnJ8fGkoYyksZGlzYWJsZWQ6ISFsLmF0dHIoImRpc2FibGVkIiksdmFsdWU6bC52YWwoKX07YnJlYWs7Y2FzZSJsYWJlbCI6YnJlYWs7ZGVmYXVsdDphPXt0eXBlOiJodG1sIixodG1sOmwuY2xvbmUoITApfX1hJiYocysrLG5bImtleSIrc109YSl9KSxzfWlmKGUuc3VwcG9ydC5odG1sTWVudWl0ZW09IkhUTUxNZW51SXRlbUVsZW1lbnQiaW4gd2luZG93LGUuc3VwcG9ydC5odG1sQ29tbWFuZD0iSFRNTENvbW1hbmRFbGVtZW50ImluIHdpbmRvdyxlLnN1cHBvcnQuZXZlbnRTZWxlY3RzdGFydD0ib25zZWxlY3RzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIWUudWl8fCFlLnVpLndpZGdldCl7dmFyIHI9ZS5jbGVhbkRhdGE7ZS5jbGVhbkRhdGE9ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtudWxsIT0obj10W2ldKTtpKyspdHJ5e2UobikudHJpZ2dlckhhbmRsZXIoInJlbW92ZSIpfWNhdGNoKG8pe31yKHQpfX12YXIgcz1udWxsLGE9ITEsbD1lKHdpbmRvdyksYz0wLHU9e30sZD17fSxwPXt9LGg9e3NlbGVjdG9yOm51bGwsYXBwZW5kVG86bnVsbCx0cmlnZ2VyOiJyaWdodCIsYXV0b0hpZGU6ITEsZGVsYXk6MjAwLHJlcG9zaXRpb246ITAsZGV0ZXJtaW5lUG9zaXRpb246ZnVuY3Rpb24odCl7aWYoZS51aSYmZS51aS5wb3NpdGlvbil0LmNzcygiZGlzcGxheSIsImJsb2NrIikucG9zaXRpb24oe215OiJjZW50ZXIgdG9wIixhdDoiY2VudGVyIGJvdHRvbSIsb2Y6dGhpcyxvZmZzZXQ6IjAgNSIsY29sbGlzaW9uOiJmaXQifSkuY3NzKCJkaXNwbGF5Iiwibm9uZSIpO2Vsc2V7dmFyIG49dGhpcy5vZmZzZXQoKTtuLnRvcCs9dGhpcy5vdXRlckhlaWdodCgpLG4ubGVmdCs9dGhpcy5vdXRlcldpZHRoKCkvMi10Lm91dGVyV2lkdGgoKS8yLHQuY3NzKG4pfX0scG9zaXRpb246ZnVuY3Rpb24oZSx0LG4pe3ZhciBpO2lmKCF0JiYhbilyZXR1cm4gdm9pZCBlLmRldGVybWluZVBvc2l0aW9uLmNhbGwodGhpcyxlLiRtZW51KTtpPSJtYWludGFpbiI9PT10JiYibWFpbnRhaW4iPT09bj9lLiRtZW51LnBvc2l0aW9uKCk6e3RvcDpuLGxlZnQ6dH07dmFyIG89bC5zY3JvbGxUb3AoKStsLmhlaWdodCgpLHI9bC5zY3JvbGxMZWZ0KCkrbC53aWR0aCgpLHM9ZS4kbWVudS5oZWlnaHQoKSxhPWUuJG1lbnUud2lkdGgoKTtpLnRvcCtzPm8mJihpLnRvcC09cyksaS5sZWZ0K2E+ciYmKGkubGVmdC09YSksZS4kbWVudS5jc3MoaSl9LHBvc2l0aW9uU3VibWVudTpmdW5jdGlvbih0KXtpZihlLnVpJiZlLnVpLnBvc2l0aW9uKXQuY3NzKCJkaXNwbGF5IiwiYmxvY2siKS5wb3NpdGlvbih7bXk6ImxlZnQgdG9wIixhdDoicmlnaHQgdG9wIixvZjp0aGlzLGNvbGxpc2lvbjoiZmxpcGZpdCBmaXQifSkuY3NzKCJkaXNwbGF5IiwiIik7ZWxzZXt2YXIgbj17dG9wOjAsbGVmdDp0aGlzLm91dGVyV2lkdGgoKX07dC5jc3Mobil9fSx6SW5kZXg6MSxhbmltYXRpb246e2R1cmF0aW9uOjUwLHNob3c6InNsaWRlRG93biIsaGlkZToic2xpZGVVcCJ9LGV2ZW50czp7c2hvdzplLm5vb3AsaGlkZTplLm5vb3B9LGNhbGxiYWNrOm51bGwsaXRlbXM6e319LGY9e3RpbWVyOm51bGwscGFnZVg6bnVsbCxwYWdlWTpudWxsfSxtPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49ZTs7KWlmKHQ9TWF0aC5tYXgodCxwYXJzZUludChuLmNzcygiei1pbmRleCIpLDEwKXx8MCksbj1uLnBhcmVudCgpLCFufHwhbi5sZW5ndGh8fCJodG1sIGJvZHkiLmluZGV4T2Yobi5wcm9wKCJub2RlTmFtZSIpLnRvTG93ZXJDYXNlKCkpPi0xKWJyZWFrO3JldHVybiB0fSxnPXthYm9ydGV2ZW50OmZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfSxjb250ZXh0bWVudTpmdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpO2lmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCEoInJpZ2h0IiE9dC5kYXRhLnRyaWdnZXImJnQub3JpZ2luYWxFdmVudHx8bi5oYXNDbGFzcygiY29udGV4dC1tZW51LWFjdGl2ZSIpfHxuLmhhc0NsYXNzKCJjb250ZXh0LW1lbnUtZGlzYWJsZWQiKSkpe2lmKHM9bix0LmRhdGEuYnVpbGQpe3ZhciBpPXQuZGF0YS5idWlsZChzLHQpO2lmKGk9PT0hMSlyZXR1cm47aWYodC5kYXRhPWUuZXh0ZW5kKCEwLHt9LGgsdC5kYXRhLGl8fHt9KSwhdC5kYXRhLml0ZW1zfHxlLmlzRW1wdHlPYmplY3QodC5kYXRhLml0ZW1zKSl0aHJvdyB3aW5kb3cuY29uc29sZSYmKGNvbnNvbGUuZXJyb3J8fGNvbnNvbGUubG9nKSgiTm8gaXRlbXMgc3BlY2lmaWVkIHRvIHNob3cgaW4gY29udGV4dE1lbnUiKSxuZXcgRXJyb3IoIk5vIEl0ZW1zIHNwZWNpZmllZCIpO3QuZGF0YS4kdHJpZ2dlcj1zLHYuY3JlYXRlKHQuZGF0YSl9di5zaG93LmNhbGwobix0LmRhdGEsdC5wYWdlWCx0LnBhZ2VZKX19LGNsaWNrOmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUodGhpcykudHJpZ2dlcihlLkV2ZW50KCJjb250ZXh0bWVudSIse2RhdGE6dC5kYXRhLHBhZ2VYOnQucGFnZVgscGFnZVk6dC5wYWdlWX0pKX0sbW91c2Vkb3duOmZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcyk7cyYmcy5sZW5ndGgmJiFzLmlzKG4pJiZzLmRhdGEoImNvbnRleHRNZW51IikuJG1lbnUudHJpZ2dlcigiY29udGV4dG1lbnU6aGlkZSIpLDI9PXQuYnV0dG9uJiYocz1uLmRhdGEoImNvbnRleHRNZW51QWN0aXZlIiwhMCkpfSxtb3VzZXVwOmZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcyk7bi5kYXRhKCJjb250ZXh0TWVudUFjdGl2ZSIpJiZzJiZzLmxlbmd0aCYmcy5pcyhuKSYmIW4uaGFzQ2xhc3MoImNvbnRleHQtbWVudS1kaXNhYmxlZCIpJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkscz1uLG4udHJpZ2dlcihlLkV2ZW50KCJjb250ZXh0bWVudSIse2RhdGE6dC5kYXRhLHBhZ2VYOnQucGFnZVgscGFnZVk6dC5wYWdlWX0pKSksbi5yZW1vdmVEYXRhKCJjb250ZXh0TWVudUFjdGl2ZSIpfSxtb3VzZWVudGVyOmZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcyksaT1lKHQucmVsYXRlZFRhcmdldCksbz1lKGRvY3VtZW50KTtpLmlzKCIuY29udGV4dC1tZW51LWxpc3QiKXx8aS5jbG9zZXN0KCIuY29udGV4dC1tZW51LWxpc3QiKS5sZW5ndGh8fHMmJnMubGVuZ3RofHwoZi5wYWdlWD10LnBhZ2VYLGYucGFnZVk9dC5wYWdlWSxmLmRhdGE9dC5kYXRhLG8ub24oIm1vdXNlbW92ZS5jb250ZXh0TWVudVNob3ciLGcubW91c2Vtb3ZlKSxmLnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtmLnRpbWVyPW51bGwsby5vZmYoIm1vdXNlbW92ZS5jb250ZXh0TWVudVNob3ciKSxzPW4sbi50cmlnZ2VyKGUuRXZlbnQoImNvbnRleHRtZW51Iix7ZGF0YTpmLmRhdGEscGFnZVg6Zi5wYWdlWCxwYWdlWTpmLnBhZ2VZfSkpfSx0LmRhdGEuZGVsYXkpKX0sbW91c2Vtb3ZlOmZ1bmN0aW9uKGUpe2YucGFnZVg9ZS5wYWdlWCxmLnBhZ2VZPWUucGFnZVl9LG1vdXNlbGVhdmU6ZnVuY3Rpb24odCl7dmFyIG49ZSh0LnJlbGF0ZWRUYXJnZXQpO2lmKCFuLmlzKCIuY29udGV4dC1tZW51LWxpc3QiKSYmIW4uY2xvc2VzdCgiLmNvbnRleHQtbWVudS1saXN0IikubGVuZ3RoKXt0cnl7Y2xlYXJUaW1lb3V0KGYudGltZXIpfWNhdGNoKHQpe31mLnRpbWVyPW51bGx9fSxsYXllckNsaWNrOmZ1bmN0aW9uKHQpe3ZhciBuLGksbz1lKHRoaXMpLHI9by5kYXRhKCJjb250ZXh0TWVudVJvb3QiKSxzPXQuYnV0dG9uLGE9dC5wYWdlWCxjPXQucGFnZVk7dC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBvLHU9ImxlZnQiPT1yLnRyaWdnZXImJjA9PT1zfHwicmlnaHQiPT1yLnRyaWdnZXImJjI9PT1zO2lmKGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQmJihyLiRsYXllci5oaWRlKCksbj1kb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGEtbC5zY3JvbGxMZWZ0KCksYy1sLnNjcm9sbFRvcCgpKSxyLiRsYXllci5zaG93KCkpLHIucmVwb3NpdGlvbiYmdSlpZihkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KXtpZihyLiR0cmlnZ2VyLmlzKG4pfHxyLiR0cmlnZ2VyLmhhcyhuKS5sZW5ndGgpcmV0dXJuIHZvaWQgci5wb3NpdGlvbi5jYWxsKHIuJHRyaWdnZXIscixhLGMpfWVsc2UgaWYoaT1yLiR0cmlnZ2VyLm9mZnNldCgpLG89ZSh3aW5kb3cpLGkudG9wKz1vLnNjcm9sbFRvcCgpLGkudG9wPD10LnBhZ2VZJiYoaS5sZWZ0Kz1vLnNjcm9sbExlZnQoKSxpLmxlZnQ8PXQucGFnZVgmJihpLmJvdHRvbT1pLnRvcCtyLiR0cmlnZ2VyLm91dGVySGVpZ2h0KCksaS5ib3R0b20+PXQucGFnZVkmJihpLnJpZ2h0PWkubGVmdCtyLiR0cmlnZ2VyLm91dGVyV2lkdGgoKSxpLnJpZ2h0Pj10LnBhZ2VYKSkpKXJldHVybiB2b2lkIHIucG9zaXRpb24uY2FsbChyLiR0cmlnZ2VyLHIsYSxjKTtuJiZ1JiZyLiR0cmlnZ2VyLm9uZSgiY29udGV4dG1lbnU6aGlkZGVuIixmdW5jdGlvbigpe2UobikuY29udGV4dE1lbnUoe3g6YSx5OmN9KX0pLHIuJG1lbnUudHJpZ2dlcigiY29udGV4dG1lbnU6aGlkZSIpfSw1MCl9LGtleVN0b3A6ZnVuY3Rpb24oZSx0KXt0LmlzSW5wdXR8fGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpCn0sa2V5OmZ1bmN0aW9uKGUpe3ZhciB0PXMuZGF0YSgiY29udGV4dE1lbnUiKXx8e307c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSA5OmNhc2UgMzg6aWYoZy5rZXlTdG9wKGUsdCksdC5pc0lucHV0KXtpZig5PT1lLmtleUNvZGUmJmUuc2hpZnRLZXkpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx0LiRzZWxlY3RlZCYmdC4kc2VsZWN0ZWQuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKS5ibHVyKCksdm9pZCB0LiRtZW51LnRyaWdnZXIoInByZXZjb21tYW5kIik7aWYoMzg9PWUua2V5Q29kZSYmImNoZWNrYm94Ij09dC4kc2VsZWN0ZWQuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKS5wcm9wKCJ0eXBlIikpcmV0dXJuIHZvaWQgZS5wcmV2ZW50RGVmYXVsdCgpfWVsc2UgaWYoOSE9ZS5rZXlDb2RlfHxlLnNoaWZ0S2V5KXJldHVybiB2b2lkIHQuJG1lbnUudHJpZ2dlcigicHJldmNvbW1hbmQiKTtjYXNlIDQwOmlmKGcua2V5U3RvcChlLHQpLCF0LmlzSW5wdXQpcmV0dXJuIHZvaWQgdC4kbWVudS50cmlnZ2VyKCJuZXh0Y29tbWFuZCIpO2lmKDk9PWUua2V5Q29kZSlyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLHQuJHNlbGVjdGVkJiZ0LiRzZWxlY3RlZC5maW5kKCJpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCIpLmJsdXIoKSx2b2lkIHQuJG1lbnUudHJpZ2dlcigibmV4dGNvbW1hbmQiKTtpZig0MD09ZS5rZXlDb2RlJiYiY2hlY2tib3giPT10LiRzZWxlY3RlZC5maW5kKCJpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCIpLnByb3AoInR5cGUiKSlyZXR1cm4gdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSAzNzppZihnLmtleVN0b3AoZSx0KSx0LmlzSW5wdXR8fCF0LiRzZWxlY3RlZHx8IXQuJHNlbGVjdGVkLmxlbmd0aClicmVhaztpZighdC4kc2VsZWN0ZWQucGFyZW50KCkuaGFzQ2xhc3MoImNvbnRleHQtbWVudS1yb290Iikpe3ZhciBuPXQuJHNlbGVjdGVkLnBhcmVudCgpLnBhcmVudCgpO3JldHVybiB0LiRzZWxlY3RlZC50cmlnZ2VyKCJjb250ZXh0bWVudTpibHVyIiksdm9pZCh0LiRzZWxlY3RlZD1uKX1icmVhaztjYXNlIDM5OmlmKGcua2V5U3RvcChlLHQpLHQuaXNJbnB1dHx8IXQuJHNlbGVjdGVkfHwhdC4kc2VsZWN0ZWQubGVuZ3RoKWJyZWFrO3ZhciBpPXQuJHNlbGVjdGVkLmRhdGEoImNvbnRleHRNZW51Iil8fHt9O2lmKGkuJG1lbnUmJnQuJHNlbGVjdGVkLmhhc0NsYXNzKCJjb250ZXh0LW1lbnUtc3VibWVudSIpKXJldHVybiB0LiRzZWxlY3RlZD1udWxsLGkuJHNlbGVjdGVkPW51bGwsdm9pZCBpLiRtZW51LnRyaWdnZXIoIm5leHRjb21tYW5kIik7YnJlYWs7Y2FzZSAzNTpjYXNlIDM2OnJldHVybiB0LiRzZWxlY3RlZCYmdC4kc2VsZWN0ZWQuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKS5sZW5ndGg/dm9pZCAwOigodC4kc2VsZWN0ZWQmJnQuJHNlbGVjdGVkLnBhcmVudCgpfHx0LiRtZW51KS5jaGlsZHJlbigiOm5vdCguZGlzYWJsZWQsIC5ub3Qtc2VsZWN0YWJsZSkiKVszNj09ZS5rZXlDb2RlPyJmaXJzdCI6Imxhc3QiXSgpLnRyaWdnZXIoImNvbnRleHRtZW51OmZvY3VzIiksdm9pZCBlLnByZXZlbnREZWZhdWx0KCkpO2Nhc2UgMTM6aWYoZy5rZXlTdG9wKGUsdCksdC5pc0lucHV0KXtpZih0LiRzZWxlY3RlZCYmIXQuJHNlbGVjdGVkLmlzKCJ0ZXh0YXJlYSwgc2VsZWN0IikpcmV0dXJuIHZvaWQgZS5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrfXJldHVybiB2b2lkKHQuJHNlbGVjdGVkJiZ0LiRzZWxlY3RlZC50cmlnZ2VyKCJtb3VzZXVwIikpO2Nhc2UgMzI6Y2FzZSAzMzpjYXNlIDM0OnJldHVybiB2b2lkIGcua2V5U3RvcChlLHQpO2Nhc2UgMjc6cmV0dXJuIGcua2V5U3RvcChlLHQpLHZvaWQgdC4kbWVudS50cmlnZ2VyKCJjb250ZXh0bWVudTpoaWRlIik7ZGVmYXVsdDp2YXIgbz1TdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZSkudG9VcHBlckNhc2UoKTtpZih0LmFjY2Vzc2tleXNbb10pcmV0dXJuIHZvaWQgdC5hY2Nlc3NrZXlzW29dLiRub2RlLnRyaWdnZXIodC5hY2Nlc3NrZXlzW29dLiRtZW51PyJjb250ZXh0bWVudTpmb2N1cyI6Im1vdXNldXAiKX1lLnN0b3BQcm9wYWdhdGlvbigpLHQuJHNlbGVjdGVkJiZ0LiRzZWxlY3RlZC50cmlnZ2VyKGUpfSxwcmV2SXRlbTpmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpO3ZhciBuPWUodGhpcykuZGF0YSgiY29udGV4dE1lbnUiKXx8e307aWYobi4kc2VsZWN0ZWQpe3ZhciBpPW4uJHNlbGVjdGVkO249bi4kc2VsZWN0ZWQucGFyZW50KCkuZGF0YSgiY29udGV4dE1lbnUiKXx8e30sbi4kc2VsZWN0ZWQ9aX1mb3IodmFyIG89bi4kbWVudS5jaGlsZHJlbigpLHI9bi4kc2VsZWN0ZWQmJm4uJHNlbGVjdGVkLnByZXYoKS5sZW5ndGg/bi4kc2VsZWN0ZWQucHJldigpOm8ubGFzdCgpLHM9cjtyLmhhc0NsYXNzKCJkaXNhYmxlZCIpfHxyLmhhc0NsYXNzKCJub3Qtc2VsZWN0YWJsZSIpOylpZihyPXIucHJldigpLmxlbmd0aD9yLnByZXYoKTpvLmxhc3QoKSxyLmlzKHMpKXJldHVybjtuLiRzZWxlY3RlZCYmZy5pdGVtTW91c2VsZWF2ZS5jYWxsKG4uJHNlbGVjdGVkLmdldCgwKSx0KSxnLml0ZW1Nb3VzZWVudGVyLmNhbGwoci5nZXQoMCksdCk7dmFyIGE9ci5maW5kKCJpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCIpO2EubGVuZ3RoJiZhLmZvY3VzKCl9LG5leHRJdGVtOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIG49ZSh0aGlzKS5kYXRhKCJjb250ZXh0TWVudSIpfHx7fTtpZihuLiRzZWxlY3RlZCl7dmFyIGk9bi4kc2VsZWN0ZWQ7bj1uLiRzZWxlY3RlZC5wYXJlbnQoKS5kYXRhKCJjb250ZXh0TWVudSIpfHx7fSxuLiRzZWxlY3RlZD1pfWZvcih2YXIgbz1uLiRtZW51LmNoaWxkcmVuKCkscj1uLiRzZWxlY3RlZCYmbi4kc2VsZWN0ZWQubmV4dCgpLmxlbmd0aD9uLiRzZWxlY3RlZC5uZXh0KCk6by5maXJzdCgpLHM9cjtyLmhhc0NsYXNzKCJkaXNhYmxlZCIpfHxyLmhhc0NsYXNzKCJub3Qtc2VsZWN0YWJsZSIpOylpZihyPXIubmV4dCgpLmxlbmd0aD9yLm5leHQoKTpvLmZpcnN0KCksci5pcyhzKSlyZXR1cm47bi4kc2VsZWN0ZWQmJmcuaXRlbU1vdXNlbGVhdmUuY2FsbChuLiRzZWxlY3RlZC5nZXQoMCksdCksZy5pdGVtTW91c2VlbnRlci5jYWxsKHIuZ2V0KDApLHQpO3ZhciBhPXIuZmluZCgiaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QiKTthLmxlbmd0aCYmYS5mb2N1cygpfSxmb2N1c0lucHV0OmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5jbG9zZXN0KCIuY29udGV4dC1tZW51LWl0ZW0iKSxuPXQuZGF0YSgpLGk9bi5jb250ZXh0TWVudSxvPW4uY29udGV4dE1lbnVSb290O28uJHNlbGVjdGVkPWkuJHNlbGVjdGVkPXQsby5pc0lucHV0PWkuaXNJbnB1dD0hMH0sYmx1cklucHV0OmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5jbG9zZXN0KCIuY29udGV4dC1tZW51LWl0ZW0iKSxuPXQuZGF0YSgpLGk9bi5jb250ZXh0TWVudSxvPW4uY29udGV4dE1lbnVSb290O28uaXNJbnB1dD1pLmlzSW5wdXQ9ITF9LG1lbnVNb3VzZWVudGVyOmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5kYXRhKCkuY29udGV4dE1lbnVSb290O3QuaG92ZXJpbmc9ITB9LG1lbnVNb3VzZWxlYXZlOmZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcykuZGF0YSgpLmNvbnRleHRNZW51Um9vdDtuLiRsYXllciYmbi4kbGF5ZXIuaXModC5yZWxhdGVkVGFyZ2V0KSYmKG4uaG92ZXJpbmc9ITEpfSxpdGVtTW91c2VlbnRlcjpmdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpLGk9bi5kYXRhKCksbz1pLmNvbnRleHRNZW51LHI9aS5jb250ZXh0TWVudVJvb3Q7cmV0dXJuIHIuaG92ZXJpbmc9ITAsdCYmci4kbGF5ZXImJnIuJGxheWVyLmlzKHQucmVsYXRlZFRhcmdldCkmJih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSksKG8uJG1lbnU/bzpyKS4kbWVudS5jaGlsZHJlbigiLmhvdmVyIikudHJpZ2dlcigiY29udGV4dG1lbnU6Ymx1ciIpLG4uaGFzQ2xhc3MoImRpc2FibGVkIil8fG4uaGFzQ2xhc3MoIm5vdC1zZWxlY3RhYmxlIik/dm9pZChvLiRzZWxlY3RlZD1udWxsKTp2b2lkIG4udHJpZ2dlcigiY29udGV4dG1lbnU6Zm9jdXMiKX0saXRlbU1vdXNlbGVhdmU6ZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKSxpPW4uZGF0YSgpLG89aS5jb250ZXh0TWVudSxyPWkuY29udGV4dE1lbnVSb290O3JldHVybiByIT09byYmci4kbGF5ZXImJnIuJGxheWVyLmlzKHQucmVsYXRlZFRhcmdldCk/KHIuJHNlbGVjdGVkJiZyLiRzZWxlY3RlZC50cmlnZ2VyKCJjb250ZXh0bWVudTpibHVyIiksdC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdm9pZChyLiRzZWxlY3RlZD1vLiRzZWxlY3RlZD1vLiRub2RlKSk6dm9pZCBuLnRyaWdnZXIoImNvbnRleHRtZW51OmJsdXIiKX0saXRlbUNsaWNrOmZ1bmN0aW9uKHQpe3ZhciBuLGk9ZSh0aGlzKSxvPWkuZGF0YSgpLHI9by5jb250ZXh0TWVudSxzPW8uY29udGV4dE1lbnVSb290LGE9by5jb250ZXh0TWVudUtleTtpZihyLml0ZW1zW2FdJiYhaS5pcygiLmRpc2FibGVkLCAuY29udGV4dC1tZW51LXN1Ym1lbnUsIC5jb250ZXh0LW1lbnUtc2VwYXJhdG9yLCAubm90LXNlbGVjdGFibGUiKSl7aWYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5pc0Z1bmN0aW9uKHMuY2FsbGJhY2tzW2FdKSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMuY2FsbGJhY2tzLGEpKW49cy5jYWxsYmFja3NbYV07ZWxzZXtpZighZS5pc0Z1bmN0aW9uKHMuY2FsbGJhY2spKXJldHVybjtuPXMuY2FsbGJhY2t9bi5jYWxsKHMuJHRyaWdnZXIsYSxzKSE9PSExP3MuJG1lbnUudHJpZ2dlcigiY29udGV4dG1lbnU6aGlkZSIpOnMuJG1lbnUucGFyZW50KCkubGVuZ3RoJiZ2LnVwZGF0ZS5jYWxsKHMuJHRyaWdnZXIscyl9fSxpbnB1dENsaWNrOmZ1bmN0aW9uKGUpe2Uuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9LGhpZGVNZW51OmZ1bmN0aW9uKHQsbil7dmFyIGk9ZSh0aGlzKS5kYXRhKCJjb250ZXh0TWVudVJvb3QiKTt2LmhpZGUuY2FsbChpLiR0cmlnZ2VyLGksbiYmbi5mb3JjZSl9LGZvY3VzSXRlbTpmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpO3ZhciBuPWUodGhpcyksaT1uLmRhdGEoKSxvPWkuY29udGV4dE1lbnUscj1pLmNvbnRleHRNZW51Um9vdDtuLmFkZENsYXNzKCJob3ZlciIpLnNpYmxpbmdzKCIuaG92ZXIiKS50cmlnZ2VyKCJjb250ZXh0bWVudTpibHVyIiksby4kc2VsZWN0ZWQ9ci4kc2VsZWN0ZWQ9bixvLiRub2RlJiZyLnBvc2l0aW9uU3VibWVudS5jYWxsKG8uJG5vZGUsby4kbWVudSl9LGJsdXJJdGVtOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7e3ZhciBuPWUodGhpcyksaT1uLmRhdGEoKSxvPWkuY29udGV4dE1lbnU7aS5jb250ZXh0TWVudVJvb3R9bi5yZW1vdmVDbGFzcygiaG92ZXIiKSxvLiRzZWxlY3RlZD1udWxsfX0sdj17c2hvdzpmdW5jdGlvbih0LG4saSl7dmFyIG89ZSh0aGlzKSxyPXt9O3JldHVybiBlKCIjY29udGV4dC1tZW51LWxheWVyIikudHJpZ2dlcigibW91c2Vkb3duIiksdC4kdHJpZ2dlcj1vLHQuZXZlbnRzLnNob3cuY2FsbChvLHQpPT09ITE/dm9pZChzPW51bGwpOih2LnVwZGF0ZS5jYWxsKG8sdCksdC5wb3NpdGlvbi5jYWxsKG8sdCxuLGkpLHQuekluZGV4JiYoci56SW5kZXg9bShvKSt0LnpJbmRleCksdi5sYXllci5jYWxsKHQuJG1lbnUsdCxyLnpJbmRleCksdC4kbWVudS5maW5kKCJ1bCIpLmNzcygiekluZGV4IixyLnpJbmRleCsxKSx0LiRtZW51LmNzcyhyKVt0LmFuaW1hdGlvbi5zaG93XSh0LmFuaW1hdGlvbi5kdXJhdGlvbixmdW5jdGlvbigpe28udHJpZ2dlcigiY29udGV4dG1lbnU6dmlzaWJsZSIpfSksby5kYXRhKCJjb250ZXh0TWVudSIsdCkuYWRkQ2xhc3MoImNvbnRleHQtbWVudS1hY3RpdmUiKSxlKGRvY3VtZW50KS5vZmYoImtleWRvd24uY29udGV4dE1lbnUiKS5vbigia2V5ZG93bi5jb250ZXh0TWVudSIsZy5rZXkpLHZvaWQodC5hdXRvSGlkZSYmZShkb2N1bWVudCkub24oIm1vdXNlbW92ZS5jb250ZXh0TWVudUF1dG9IaWRlIixmdW5jdGlvbihlKXt2YXIgbj1vLm9mZnNldCgpO24ucmlnaHQ9bi5sZWZ0K28ub3V0ZXJXaWR0aCgpLG4uYm90dG9tPW4udG9wK28ub3V0ZXJIZWlnaHQoKSwhdC4kbGF5ZXJ8fHQuaG92ZXJpbmd8fGUucGFnZVg+PW4ubGVmdCYmZS5wYWdlWDw9bi5yaWdodCYmZS5wYWdlWT49bi50b3AmJmUucGFnZVk8PW4uYm90dG9tfHx0LiRtZW51LnRyaWdnZXIoImNvbnRleHRtZW51OmhpZGUiKX0pKSl9LGhpZGU6ZnVuY3Rpb24obixpKXt2YXIgbz1lKHRoaXMpO2lmKG58fChuPW8uZGF0YSgiY29udGV4dE1lbnUiKXx8e30pLGl8fCFuLmV2ZW50c3x8bi5ldmVudHMuaGlkZS5jYWxsKG8sbikhPT0hMSl7aWYoby5yZW1vdmVEYXRhKCJjb250ZXh0TWVudSIpLnJlbW92ZUNsYXNzKCJjb250ZXh0LW1lbnUtYWN0aXZlIiksbi4kbGF5ZXIpe3NldFRpbWVvdXQoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7ZS5yZW1vdmUoKX19KG4uJGxheWVyKSwxMCk7dHJ5e2RlbGV0ZSBuLiRsYXllcn1jYXRjaChyKXtuLiRsYXllcj1udWxsfX1zPW51bGwsbi4kbWVudS5maW5kKCIuaG92ZXIiKS50cmlnZ2VyKCJjb250ZXh0bWVudTpibHVyIiksbi4kc2VsZWN0ZWQ9bnVsbCxlKGRvY3VtZW50KS5vZmYoIi5jb250ZXh0TWVudUF1dG9IaWRlIikub2ZmKCJrZXlkb3duLmNvbnRleHRNZW51Iiksbi4kbWVudSYmbi4kbWVudVtuLmFuaW1hdGlvbi5oaWRlXShuLmFuaW1hdGlvbi5kdXJhdGlvbixmdW5jdGlvbigpe24uYnVpbGQmJihuLiRtZW51LnJlbW92ZSgpLGUuZWFjaChuLGZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIm5zIjpjYXNlInNlbGVjdG9yIjpjYXNlImJ1aWxkIjpjYXNlInRyaWdnZXIiOnJldHVybiEwO2RlZmF1bHQ6bltlXT10O3RyeXtkZWxldGUgbltlXX1jYXRjaChpKXt9cmV0dXJuITB9fSkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLnRyaWdnZXIoImNvbnRleHRtZW51OmhpZGRlbiIpfSwxMCl9KX19LGNyZWF0ZTpmdW5jdGlvbihpLG8pe289PT10JiYobz1pKSxpLiRtZW51PWUoJzx1bCBjbGFzcz0iY29udGV4dC1tZW51LWxpc3QiPjwvdWw+JykuYWRkQ2xhc3MoaS5jbGFzc05hbWV8fCIiKS5kYXRhKHtjb250ZXh0TWVudTppLGNvbnRleHRNZW51Um9vdDpvfSksZS5lYWNoKFsiY2FsbGJhY2tzIiwiY29tbWFuZHMiLCJpbnB1dHMiXSxmdW5jdGlvbihlLHQpe2lbdF09e30sb1t0XXx8KG9bdF09e30pfSksby5hY2Nlc3NrZXlzfHwoby5hY2Nlc3NrZXlzPXt9KSxlLmVhY2goaS5pdGVtcyxmdW5jdGlvbih0LHIpe3ZhciBzPWUoJzxsaSBjbGFzcz0iY29udGV4dC1tZW51LWl0ZW0iPjwvbGk+JykuYWRkQ2xhc3Moci5jbGFzc05hbWV8fCIiKSxhPW51bGwsbD1udWxsO2lmKHMub24oImNsaWNrIixlLm5vb3ApLHIuJG5vZGU9cy5kYXRhKHtjb250ZXh0TWVudTppLGNvbnRleHRNZW51Um9vdDpvLGNvbnRleHRNZW51S2V5OnR9KSxyLmFjY2Vzc2tleSlmb3IodmFyIGMsdT1uKHIuYWNjZXNza2V5KSxkPTA7Yz11W2RdO2QrKylpZighby5hY2Nlc3NrZXlzW2NdKXtvLmFjY2Vzc2tleXNbY109cixyLl9uYW1lPXIubmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoIigiK2MrIikiLCJpIiksJzxzcGFuIGNsYXNzPSJjb250ZXh0LW1lbnUtYWNjZXNza2V5Ij4kMTwvc3Bhbj4nKTticmVha31pZigic3RyaW5nIj09dHlwZW9mIHIpcy5hZGRDbGFzcygiY29udGV4dC1tZW51LXNlcGFyYXRvciBub3Qtc2VsZWN0YWJsZSIpO2Vsc2UgaWYoci50eXBlJiZwW3IudHlwZV0pcFtyLnR5cGVdLmNhbGwocyxyLGksbyksZS5lYWNoKFtpLG9dLGZ1bmN0aW9uKG4saSl7aS5jb21tYW5kc1t0XT1yLGUuaXNGdW5jdGlvbihyLmNhbGxiYWNrKSYmKGkuY2FsbGJhY2tzW3RdPXIuY2FsbGJhY2spfSk7ZWxzZXtzd2l0Y2goImh0bWwiPT1yLnR5cGU/cy5hZGRDbGFzcygiY29udGV4dC1tZW51LWh0bWwgbm90LXNlbGVjdGFibGUiKTpyLnR5cGU/KGE9ZSgiPGxhYmVsPjwvbGFiZWw+IikuYXBwZW5kVG8ocyksZSgiPHNwYW4+PC9zcGFuPiIpLmh0bWwoci5fbmFtZXx8ci5uYW1lKS5hcHBlbmRUbyhhKSxzLmFkZENsYXNzKCJjb250ZXh0LW1lbnUtaW5wdXQiKSxpLmhhc1R5cGVzPSEwLGUuZWFjaChbaSxvXSxmdW5jdGlvbihlLG4pe24uY29tbWFuZHNbdF09cixuLmlucHV0c1t0XT1yfSkpOnIuaXRlbXMmJihyLnR5cGU9InN1YiIpLHIudHlwZSl7Y2FzZSJ0ZXh0IjpsPWUoJzxpbnB1dCB0eXBlPSJ0ZXh0IiB2YWx1ZT0iMSIgbmFtZT0iIiB2YWx1ZT0iIj4nKS5hdHRyKCJuYW1lIiwiY29udGV4dC1tZW51LWlucHV0LSIrdCkudmFsKHIudmFsdWV8fCIiKS5hcHBlbmRUbyhhKTticmVhaztjYXNlInRleHRhcmVhIjpsPWUoJzx0ZXh0YXJlYSBuYW1lPSIiPjwvdGV4dGFyZWE+JykuYXR0cigibmFtZSIsImNvbnRleHQtbWVudS1pbnB1dC0iK3QpLnZhbChyLnZhbHVlfHwiIikuYXBwZW5kVG8oYSksci5oZWlnaHQmJmwuaGVpZ2h0KHIuaGVpZ2h0KTticmVhaztjYXNlImNoZWNrYm94IjpsPWUoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgdmFsdWU9IjEiIG5hbWU9IiIgdmFsdWU9IiI+JykuYXR0cigibmFtZSIsImNvbnRleHQtbWVudS1pbnB1dC0iK3QpLnZhbChyLnZhbHVlfHwiIikucHJvcCgiY2hlY2tlZCIsISFyLnNlbGVjdGVkKS5wcmVwZW5kVG8oYSk7YnJlYWs7Y2FzZSJyYWRpbyI6bD1lKCc8aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSIxIiBuYW1lPSIiIHZhbHVlPSIiPicpLmF0dHIoIm5hbWUiLCJjb250ZXh0LW1lbnUtaW5wdXQtIityLnJhZGlvKS52YWwoci52YWx1ZXx8IiIpLnByb3AoImNoZWNrZWQiLCEhci5zZWxlY3RlZCkucHJlcGVuZFRvKGEpO2JyZWFrO2Nhc2Uic2VsZWN0IjpsPWUoJzxzZWxlY3QgbmFtZT0iIj4nKS5hdHRyKCJuYW1lIiwiY29udGV4dC1tZW51LWlucHV0LSIrdCkuYXBwZW5kVG8oYSksci5vcHRpb25zJiYoZS5lYWNoKHIub3B0aW9ucyxmdW5jdGlvbih0LG4pe2UoIjxvcHRpb24+PC9vcHRpb24+IikudmFsKHQpLnRleHQobikuYXBwZW5kVG8obCl9KSxsLnZhbChyLnNlbGVjdGVkKSk7YnJlYWs7Y2FzZSJzdWIiOmUoIjxzcGFuPjwvc3Bhbj4iKS5odG1sKHIuX25hbWV8fHIubmFtZSkuYXBwZW5kVG8ocyksci5hcHBlbmRUbz1yLiRub2RlLHYuY3JlYXRlKHIsbykscy5kYXRhKCJjb250ZXh0TWVudSIscikuYWRkQ2xhc3MoImNvbnRleHQtbWVudS1zdWJtZW51Iiksci5jYWxsYmFjaz1udWxsO2JyZWFrO2Nhc2UiaHRtbCI6ZShyLmh0bWwpLmFwcGVuZFRvKHMpO2JyZWFrO2RlZmF1bHQ6ZS5lYWNoKFtpLG9dLGZ1bmN0aW9uKG4saSl7aS5jb21tYW5kc1t0XT1yLGUuaXNGdW5jdGlvbihyLmNhbGxiYWNrKSYmKGkuY2FsbGJhY2tzW3RdPXIuY2FsbGJhY2spfSksZSgiPHNwYW4+PC9zcGFuPiIpLmh0bWwoci5fbmFtZXx8ci5uYW1lfHwiIikuYXBwZW5kVG8ocyl9ci50eXBlJiYic3ViIiE9ci50eXBlJiYiaHRtbCIhPXIudHlwZSYmKGwub24oImZvY3VzIixnLmZvY3VzSW5wdXQpLm9uKCJibHVyIixnLmJsdXJJbnB1dCksci5ldmVudHMmJmwub24oci5ldmVudHMsaSkpLHIuaWNvbiYmcy5hZGRDbGFzcygiaWNvbiBpY29uLSIrci5pY29uKX1yLiRpbnB1dD1sLHIuJGxhYmVsPWEscy5hcHBlbmRUbyhpLiRtZW51KSwhaS5oYXNUeXBlcyYmZS5zdXBwb3J0LmV2ZW50U2VsZWN0c3RhcnQmJnMub24oInNlbGVjdHN0YXJ0LmRpc2FibGVUZXh0U2VsZWN0IixnLmFib3J0ZXZlbnQpfSksaS4kbm9kZXx8aS4kbWVudS5jc3MoImRpc3BsYXkiLCJub25lIikuYWRkQ2xhc3MoImNvbnRleHQtbWVudS1yb290IiksaS4kbWVudS5hcHBlbmRUbyhpLmFwcGVuZFRvfHxkb2N1bWVudC5ib2R5KX0scmVzaXplOmZ1bmN0aW9uKHQsbil7dC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2sifSksdC5kYXRhKCJ3aWR0aCIsTWF0aC5jZWlsKHQud2lkdGgoKSkrMSksdC5jc3Moe3Bvc2l0aW9uOiJzdGF0aWMiLG1pbldpZHRoOiIwcHgiLG1heFdpZHRoOiIxMDAwMDBweCJ9KSx0LmZpbmQoIj4gbGkgPiB1bCIpLmVhY2goZnVuY3Rpb24oKXt2LnJlc2l6ZShlKHRoaXMpLCEwKX0pLG58fHQuZmluZCgidWwiKS5hbmRTZWxmKCkuY3NzKHtwb3NpdGlvbjoiIixkaXNwbGF5OiIiLG1pbldpZHRoOiIiLG1heFdpZHRoOiIifSkud2lkdGgoZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzKS5kYXRhKCJ3aWR0aCIpfSl9LHVwZGF0ZTpmdW5jdGlvbihuLGkpe3ZhciBvPXRoaXM7aT09PXQmJihpPW4sdi5yZXNpemUobi4kbWVudSkpLG4uJG1lbnUuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxyPXQuZGF0YSgiY29udGV4dE1lbnVLZXkiKSxzPW4uaXRlbXNbcl0sYT1lLmlzRnVuY3Rpb24ocy5kaXNhYmxlZCkmJnMuZGlzYWJsZWQuY2FsbChvLHIsaSl8fHMuZGlzYWJsZWQ9PT0hMDtpZih0W2E/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgiZGlzYWJsZWQiKSxzLnR5cGUpc3dpdGNoKHQuZmluZCgiaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEiKS5wcm9wKCJkaXNhYmxlZCIsYSkscy50eXBlKXtjYXNlInRleHQiOmNhc2UidGV4dGFyZWEiOnMuJGlucHV0LnZhbChzLnZhbHVlfHwiIik7YnJlYWs7Y2FzZSJjaGVja2JveCI6Y2FzZSJyYWRpbyI6cy4kaW5wdXQudmFsKHMudmFsdWV8fCIiKS5wcm9wKCJjaGVja2VkIiwhIXMuc2VsZWN0ZWQpO2JyZWFrO2Nhc2Uic2VsZWN0IjpzLiRpbnB1dC52YWwocy5zZWxlY3RlZHx8IiIpfXMuJG1lbnUmJnYudXBkYXRlLmNhbGwobyxzLGkpfSl9LGxheWVyOmZ1bmN0aW9uKHQsbil7dmFyIGk9dC4kbGF5ZXI9ZSgnPGRpdiBpZD0iY29udGV4dC1tZW51LWxheWVyIiBzdHlsZT0icG9zaXRpb246Zml4ZWQ7IHotaW5kZXg6JytuKyc7IHRvcDowOyBsZWZ0OjA7IG9wYWNpdHk6IDA7IGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsiPjwvZGl2PicpLmNzcyh7aGVpZ2h0OmwuaGVpZ2h0KCksd2lkdGg6bC53aWR0aCgpLGRpc3BsYXk6ImJsb2NrIn0pLmRhdGEoImNvbnRleHRNZW51Um9vdCIsdCkuaW5zZXJ0QmVmb3JlKHRoaXMpLm9uKCJjb250ZXh0bWVudSIsZy5hYm9ydGV2ZW50KS5vbigibW91c2Vkb3duIixnLmxheWVyQ2xpY2spO3JldHVybiBlLnN1cHBvcnQuZml4ZWRQb3NpdGlvbnx8aS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaGVpZ2h0OmUoZG9jdW1lbnQpLmhlaWdodCgpfSksaX19O2UuZm4uY29udGV4dE1lbnU9ZnVuY3Rpb24obil7aWYobj09PXQpdGhpcy5maXJzdCgpLnRyaWdnZXIoImNvbnRleHRtZW51Iik7ZWxzZSBpZihuLngmJm4ueSl0aGlzLmZpcnN0KCkudHJpZ2dlcihlLkV2ZW50KCJjb250ZXh0bWVudSIse3BhZ2VYOm4ueCxwYWdlWTpuLnl9KSk7ZWxzZSBpZigiaGlkZSI9PT1uKXt2YXIgaT10aGlzLmRhdGEoImNvbnRleHRNZW51IikuJG1lbnU7aSYmaS50cmlnZ2VyKCJjb250ZXh0bWVudTpoaWRlIil9ZWxzZSJkZXN0cm95Ij09PW4/ZS5jb250ZXh0TWVudSgiZGVzdHJveSIse2NvbnRleHQ6dGhpc30pOmUuaXNQbGFpbk9iamVjdChuKT8obi5jb250ZXh0PXRoaXMsZS5jb250ZXh0TWVudSgiY3JlYXRlIixuKSk6bj90aGlzLnJlbW92ZUNsYXNzKCJjb250ZXh0LW1lbnUtZGlzYWJsZWQiKTpufHx0aGlzLmFkZENsYXNzKCJjb250ZXh0LW1lbnUtZGlzYWJsZWQiKTtyZXR1cm4gdGhpc30sZS5jb250ZXh0TWVudT1mdW5jdGlvbihuLGkpeyJzdHJpbmciIT10eXBlb2YgbiYmKGk9bixuPSJjcmVhdGUiKSwic3RyaW5nIj09dHlwZW9mIGk/aT17c2VsZWN0b3I6aX06aT09PXQmJihpPXt9KTt2YXIgbz1lLmV4dGVuZCghMCx7fSxoLGl8fHt9KSxyPWUoZG9jdW1lbnQpLHM9cixsPSExO3N3aXRjaChvLmNvbnRleHQmJm8uY29udGV4dC5sZW5ndGg/KHM9ZShvLmNvbnRleHQpLmZpcnN0KCksby5jb250ZXh0PXMuZ2V0KDApLGw9by5jb250ZXh0IT09ZG9jdW1lbnQpOm8uY29udGV4dD1kb2N1bWVudCxuKXtjYXNlImNyZWF0ZSI6aWYoIW8uc2VsZWN0b3IpdGhyb3cgbmV3IEVycm9yKCJObyBzZWxlY3RvciBzcGVjaWZpZWQiKTtpZihvLnNlbGVjdG9yLm1hdGNoKC8uY29udGV4dC1tZW51LShsaXN0fGl0ZW18aW5wdXQpKCR8XHMpLykpdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgYmluZCB0byBzZWxlY3RvciAiJytvLnNlbGVjdG9yKyciIGFzIGl0IGNvbnRhaW5zIGEgcmVzZXJ2ZWQgY2xhc3NOYW1lJyk7aWYoIW8uYnVpbGQmJighby5pdGVtc3x8ZS5pc0VtcHR5T2JqZWN0KG8uaXRlbXMpKSl0aHJvdyBuZXcgRXJyb3IoIk5vIEl0ZW1zIHNwZWNpZmllZCIpO3N3aXRjaChjKyssby5ucz0iLmNvbnRleHRNZW51IitjLGx8fCh1W28uc2VsZWN0b3JdPW8ubnMpLGRbby5uc109byxvLnRyaWdnZXJ8fChvLnRyaWdnZXI9InJpZ2h0IiksYXx8KHIub24oeyJjb250ZXh0bWVudTpoaWRlLmNvbnRleHRNZW51IjpnLmhpZGVNZW51LCJwcmV2Y29tbWFuZC5jb250ZXh0TWVudSI6Zy5wcmV2SXRlbSwibmV4dGNvbW1hbmQuY29udGV4dE1lbnUiOmcubmV4dEl0ZW0sImNvbnRleHRtZW51LmNvbnRleHRNZW51IjpnLmFib3J0ZXZlbnQsIm1vdXNlZW50ZXIuY29udGV4dE1lbnUiOmcubWVudU1vdXNlZW50ZXIsIm1vdXNlbGVhdmUuY29udGV4dE1lbnUiOmcubWVudU1vdXNlbGVhdmV9LCIuY29udGV4dC1tZW51LWxpc3QiKS5vbigibW91c2V1cC5jb250ZXh0TWVudSIsIi5jb250ZXh0LW1lbnUtaW5wdXQiLGcuaW5wdXRDbGljaykub24oeyJtb3VzZXVwLmNvbnRleHRNZW51IjpnLml0ZW1DbGljaywiY29udGV4dG1lbnU6Zm9jdXMuY29udGV4dE1lbnUiOmcuZm9jdXNJdGVtLCJjb250ZXh0bWVudTpibHVyLmNvbnRleHRNZW51IjpnLmJsdXJJdGVtLCJjb250ZXh0bWVudS5jb250ZXh0TWVudSI6Zy5hYm9ydGV2ZW50LCJtb3VzZWVudGVyLmNvbnRleHRNZW51IjpnLml0ZW1Nb3VzZWVudGVyLCJtb3VzZWxlYXZlLmNvbnRleHRNZW51IjpnLml0ZW1Nb3VzZWxlYXZlfSwiLmNvbnRleHQtbWVudS1pdGVtIiksYT0hMCkscy5vbigiY29udGV4dG1lbnUiK28ubnMsby5zZWxlY3RvcixvLGcuY29udGV4dG1lbnUpLGwmJnMub24oInJlbW92ZSIrby5ucyxmdW5jdGlvbigpe2UodGhpcykuY29udGV4dE1lbnUoImRlc3Ryb3kiKX0pLG8udHJpZ2dlcil7Y2FzZSJob3ZlciI6cy5vbigibW91c2VlbnRlciIrby5ucyxvLnNlbGVjdG9yLG8sZy5tb3VzZWVudGVyKS5vbigibW91c2VsZWF2ZSIrby5ucyxvLnNlbGVjdG9yLG8sZy5tb3VzZWxlYXZlKTticmVhaztjYXNlImxlZnQiOnMub24oImNsaWNrIitvLm5zLG8uc2VsZWN0b3IsbyxnLmNsaWNrKX1vLmJ1aWxkfHx2LmNyZWF0ZShvKTticmVhaztjYXNlImRlc3Ryb3kiOnZhciBwO2lmKGwpe3ZhciBmPW8uY29udGV4dDtlLmVhY2goZCxmdW5jdGlvbih0LG4pe2lmKG4uY29udGV4dCE9PWYpcmV0dXJuITA7cD1lKCIuY29udGV4dC1tZW51LWxpc3QiKS5maWx0ZXIoIjp2aXNpYmxlIikscC5sZW5ndGgmJnAuZGF0YSgpLmNvbnRleHRNZW51Um9vdC4kdHJpZ2dlci5pcyhlKG4uY29udGV4dCkuZmluZChuLnNlbGVjdG9yKSkmJnAudHJpZ2dlcigiY29udGV4dG1lbnU6aGlkZSIse2ZvcmNlOiEwfSk7dHJ5e2Rbbi5uc10uJG1lbnUmJmRbbi5uc10uJG1lbnUucmVtb3ZlKCksZGVsZXRlIGRbbi5uc119Y2F0Y2goaSl7ZFtuLm5zXT1udWxsfXJldHVybiBlKG4uY29udGV4dCkub2ZmKG4ubnMpLCEwfSl9ZWxzZSBpZihvLnNlbGVjdG9yKXtpZih1W28uc2VsZWN0b3JdKXtwPWUoIi5jb250ZXh0LW1lbnUtbGlzdCIpLmZpbHRlcigiOnZpc2libGUiKSxwLmxlbmd0aCYmcC5kYXRhKCkuY29udGV4dE1lbnVSb290LiR0cmlnZ2VyLmlzKG8uc2VsZWN0b3IpJiZwLnRyaWdnZXIoImNvbnRleHRtZW51OmhpZGUiLHtmb3JjZTohMH0pO3RyeXtkW3Vbby5zZWxlY3Rvcl1dLiRtZW51JiZkW3Vbby5zZWxlY3Rvcl1dLiRtZW51LnJlbW92ZSgpLGRlbGV0ZSBkW3Vbby5zZWxlY3Rvcl1dfWNhdGNoKG0pe2RbdVtvLnNlbGVjdG9yXV09bnVsbH1yLm9mZih1W28uc2VsZWN0b3JdKX19ZWxzZSByLm9mZigiLmNvbnRleHRNZW51IC5jb250ZXh0TWVudUF1dG9IaWRlIiksZS5lYWNoKGQsZnVuY3Rpb24odCxuKXtlKG4uY29udGV4dCkub2ZmKG4ubnMpfSksdT17fSxkPXt9LGM9MCxhPSExLGUoIiNjb250ZXh0LW1lbnUtbGF5ZXIsIC5jb250ZXh0LW1lbnUtbGlzdCIpLnJlbW92ZSgpO2JyZWFrO2Nhc2UiaHRtbDUiOighZS5zdXBwb3J0Lmh0bWxDb21tYW5kJiYhZS5zdXBwb3J0Lmh0bWxNZW51aXRlbXx8ImJvb2xlYW4iPT10eXBlb2YgaSYmaSkmJmUoJ21lbnVbdHlwZT0iY29udGV4dCJdJykuZWFjaChmdW5jdGlvbigpe3RoaXMuaWQmJmUuY29udGV4dE1lbnUoe3NlbGVjdG9yOiJbY29udGV4dG1lbnU9Iit0aGlzLmlkKyJdIixpdGVtczplLmNvbnRleHRNZW51LmZyb21NZW51KHRoaXMpfSl9KS5jc3MoImRpc3BsYXkiLCJub25lIik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gb3BlcmF0aW9uICInK24rJyInKX1yZXR1cm4gdGhpc30sZS5jb250ZXh0TWVudS5zZXRJbnB1dFZhbHVlcz1mdW5jdGlvbihuLGkpe2k9PT10JiYoaT17fSksZS5lYWNoKG4uaW5wdXRzLGZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSJ0ZXh0IjpjYXNlInRleHRhcmVhIjp0LnZhbHVlPWlbZV18fCIiO2JyZWFrO2Nhc2UiY2hlY2tib3giOnQuc2VsZWN0ZWQ9aVtlXT8hMDohMTticmVhaztjYXNlInJhZGlvIjp0LnNlbGVjdGVkPShpW3QucmFkaW9dfHwiIik9PXQudmFsdWU/ITA6ITE7YnJlYWs7Y2FzZSJzZWxlY3QiOnQuc2VsZWN0ZWQ9aVtlXXx8IiJ9fSl9LGUuY29udGV4dE1lbnUuZ2V0SW5wdXRWYWx1ZXM9ZnVuY3Rpb24obixpKXtyZXR1cm4gaT09PXQmJihpPXt9KSxlLmVhY2gobi5pbnB1dHMsZnVuY3Rpb24oZSx0KXtzd2l0Y2godC50eXBlKXtjYXNlInRleHQiOmNhc2UidGV4dGFyZWEiOmNhc2Uic2VsZWN0IjppW2VdPXQuJGlucHV0LnZhbCgpO2JyZWFrO2Nhc2UiY2hlY2tib3giOmlbZV09dC4kaW5wdXQucHJvcCgiY2hlY2tlZCIpO2JyZWFrO2Nhc2UicmFkaW8iOnQuJGlucHV0LnByb3AoImNoZWNrZWQiKSYmKGlbdC5yYWRpb109dC52YWx1ZSl9fSksaX0sZS5jb250ZXh0TWVudS5mcm9tTWVudT1mdW5jdGlvbih0KXt2YXIgbj1lKHQpLGk9e307cmV0dXJuIG8oaSxuLmNoaWxkcmVuKCkpLGl9LGUuY29udGV4dE1lbnUuZGVmYXVsdHM9aCxlLmNvbnRleHRNZW51LnR5cGVzPXAsZS5jb250ZXh0TWVudS5oYW5kbGU9ZyxlLmNvbnRleHRNZW51Lm9wPXYsZS5jb250ZXh0TWVudS5tZW51cz1kfShqUXVlcnkpLGZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBvPWUodCk7ZS5mbi5sYXp5bG9hZD1mdW5jdGlvbihyKXtmdW5jdGlvbiBzKCl7dmFyIHQ9MDtsLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1lKHRoaXMpO2lmKCFjLnNraXBfaW52aXNpYmxlfHxuLmlzKCI6dmlzaWJsZSIpKWlmKGUuYWJvdmV0aGV0b3AodGhpcyxjKXx8ZS5sZWZ0b2ZiZWdpbih0aGlzLGMpKTtlbHNlIGlmKGUuYmVsb3d0aGVmb2xkKHRoaXMsYyl8fGUucmlnaHRvZmZvbGQodGhpcyxjKSl7aWYoKyt0PmMuZmFpbHVyZV9saW1pdClyZXR1cm4hMX1lbHNlIG4udHJpZ2dlcigiYXBwZWFyIiksdD0wfSl9dmFyIGEsbD10aGlzLGM9e3RocmVzaG9sZDowLGZhaWx1cmVfbGltaXQ6MCxldmVudDoic2Nyb2xsIixlZmZlY3Q6InNob3ciLGNvbnRhaW5lcjp0LGRhdGFfYXR0cmlidXRlOiJvcmlnaW5hbCIsc2tpcF9pbnZpc2libGU6ITAsYXBwZWFyOm51bGwsbG9hZDpudWxsLHBsYWNlaG9sZGVyOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVlBQUFBZkZjU0pBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNRQUFBN0VBWlVyRGhzQUFBQU5TVVJCVkJoWFl6aDgrUEIvQUFmZkEwbk5QdUNMQUFBQUFFbEZUa1N1UW1DQyJ9O3JldHVybiByJiYoaSE9PXIuZmFpbHVyZWxpbWl0JiYoci5mYWlsdXJlX2xpbWl0PXIuZmFpbHVyZWxpbWl0LGRlbGV0ZSByLmZhaWx1cmVsaW1pdCksaSE9PXIuZWZmZWN0c3BlZWQmJihyLmVmZmVjdF9zcGVlZD1yLmVmZmVjdHNwZWVkLGRlbGV0ZSByLmVmZmVjdHNwZWVkKSxlLmV4dGVuZChjLHIpKSxhPWMuY29udGFpbmVyPT09aXx8Yy5jb250YWluZXI9PT10P286ZShjLmNvbnRhaW5lciksMD09PWMuZXZlbnQuaW5kZXhPZigic2Nyb2xsIikmJmEuYmluZChjLmV2ZW50LGZ1bmN0aW9uKCl7cmV0dXJuIHMoKX0pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj1lKHQpO3QubG9hZGVkPSExLChuLmF0dHIoInNyYyIpPT09aXx8bi5hdHRyKCJzcmMiKT09PSExKSYmbi5pcygiaW1nIikmJm4uYXR0cigic3JjIixjLnBsYWNlaG9sZGVyKSxuLm9uZSgiYXBwZWFyIixmdW5jdGlvbigpe2lmKCF0aGlzLmxvYWRlZCl7aWYoYy5hcHBlYXIpe3ZhciBpPWwubGVuZ3RoO2MuYXBwZWFyLmNhbGwodCxpLGMpfWUoIjxpbWcgLz4iKS5iaW5kKCJsb2FkIixmdW5jdGlvbigpe3ZhciBpPW4uYXR0cigiZGF0YS0iK2MuZGF0YV9hdHRyaWJ1dGUpO24uaGlkZSgpLG4uaXMoImltZyIpP24uYXR0cigic3JjIixpKTpuLmNzcygiYmFja2dyb3VuZC1pbWFnZSIsInVybCgnIitpKyInKSIpLG5bYy5lZmZlY3RdKGMuZWZmZWN0X3NwZWVkKSx0LmxvYWRlZD0hMDt2YXIgbz1lLmdyZXAobCxmdW5jdGlvbihlKXtyZXR1cm4hZS5sb2FkZWR9KTtpZihsPWUobyksYy5sb2FkKXt2YXIgcj1sLmxlbmd0aDtjLmxvYWQuY2FsbCh0LHIsYyl9fSkuYXR0cigic3JjIixuLmF0dHIoImRhdGEtIitjLmRhdGFfYXR0cmlidXRlKSl9fSksMCE9PWMuZXZlbnQuaW5kZXhPZigic2Nyb2xsIikmJm4uYmluZChjLmV2ZW50LGZ1bmN0aW9uKCl7dC5sb2FkZWR8fG4udHJpZ2dlcigiYXBwZWFyIil9KX0pLG8uYmluZCgicmVzaXplIixmdW5jdGlvbigpe3MoKX0pLC8oPzppcGhvbmV8aXBvZHxpcGFkKS4qb3MgNS9naS50ZXN0KG5hdmlnYXRvci5hcHBWZXJzaW9uKSYmby5iaW5kKCJwYWdlc2hvdyIsZnVuY3Rpb24odCl7dC5vcmlnaW5hbEV2ZW50JiZ0Lm9yaWdpbmFsRXZlbnQucGVyc2lzdGVkJiZsLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLnRyaWdnZXIoImFwcGVhciIpfSl9KSxlKG4pLnJlYWR5KGZ1bmN0aW9uKCl7cygpfSksdGhpc30sZS5iZWxvd3RoZWZvbGQ9ZnVuY3Rpb24obixyKXt2YXIgcztyZXR1cm4gcz1yLmNvbnRhaW5lcj09PWl8fHIuY29udGFpbmVyPT09dD8odC5pbm5lckhlaWdodD90LmlubmVySGVpZ2h0Om8uaGVpZ2h0KCkpK28uc2Nyb2xsVG9wKCk6ZShyLmNvbnRhaW5lcikub2Zmc2V0KCkudG9wK2Uoci5jb250YWluZXIpLmhlaWdodCgpLHM8PWUobikub2Zmc2V0KCkudG9wLXIudGhyZXNob2xkfSxlLnJpZ2h0b2Zmb2xkPWZ1bmN0aW9uKG4scil7dmFyIHM7cmV0dXJuIHM9ci5jb250YWluZXI9PT1pfHxyLmNvbnRhaW5lcj09PXQ/by53aWR0aCgpK28uc2Nyb2xsTGVmdCgpOmUoci5jb250YWluZXIpLm9mZnNldCgpLmxlZnQrZShyLmNvbnRhaW5lcikud2lkdGgoKSxzPD1lKG4pLm9mZnNldCgpLmxlZnQtci50aHJlc2hvbGR9LGUuYWJvdmV0aGV0b3A9ZnVuY3Rpb24obixyKXt2YXIgcztyZXR1cm4gcz1yLmNvbnRhaW5lcj09PWl8fHIuY29udGFpbmVyPT09dD9vLnNjcm9sbFRvcCgpOmUoci5jb250YWluZXIpLm9mZnNldCgpLnRvcCxzPj1lKG4pLm9mZnNldCgpLnRvcCtyLnRocmVzaG9sZCtlKG4pLmhlaWdodCgpfSxlLmxlZnRvZmJlZ2luPWZ1bmN0aW9uKG4scil7dmFyIHM7cmV0dXJuIHM9ci5jb250YWluZXI9PT1pfHxyLmNvbnRhaW5lcj09PXQ/by5zY3JvbGxMZWZ0KCk6ZShyLmNvbnRhaW5lcikub2Zmc2V0KCkubGVmdCxzPj1lKG4pLm9mZnNldCgpLmxlZnQrci50aHJlc2hvbGQrZShuKS53aWR0aCgpfSxlLmludmlld3BvcnQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4hKGUucmlnaHRvZmZvbGQodCxuKXx8ZS5sZWZ0b2ZiZWdpbih0LG4pfHxlLmJlbG93dGhlZm9sZCh0LG4pfHxlLmFib3ZldGhldG9wKHQsbikpfSxlLmV4dGVuZChlLmV4cHJbIjoiXSx7ImJlbG93LXRoZS1mb2xkIjpmdW5jdGlvbih0KXtyZXR1cm4gZS5iZWxvd3RoZWZvbGQodCx7dGhyZXNob2xkOjB9KX0sImFib3ZlLXRoZS10b3AiOmZ1bmN0aW9uKHQpe3JldHVybiFlLmJlbG93dGhlZm9sZCh0LHt0aHJlc2hvbGQ6MH0pfSwicmlnaHQtb2Ytc2NyZWVuIjpmdW5jdGlvbih0KXtyZXR1cm4gZS5yaWdodG9mZm9sZCh0LHt0aHJlc2hvbGQ6MH0pfSwibGVmdC1vZi1zY3JlZW4iOmZ1bmN0aW9uKHQpe3JldHVybiFlLnJpZ2h0b2Zmb2xkKHQse3RocmVzaG9sZDowfSl9LCJpbi12aWV3cG9ydCI6ZnVuY3Rpb24odCl7cmV0dXJuIGUuaW52aWV3cG9ydCh0LHt0aHJlc2hvbGQ6MH0pfSwiYWJvdmUtdGhlLWZvbGQiOmZ1bmN0aW9uKHQpe3JldHVybiFlLmJlbG93dGhlZm9sZCh0LHt0aHJlc2hvbGQ6MH0pfSwicmlnaHQtb2YtZm9sZCI6ZnVuY3Rpb24odCl7cmV0dXJuIGUucmlnaHRvZmZvbGQodCx7dGhyZXNob2xkOjB9KX0sImxlZnQtb2YtZm9sZCI6ZnVuY3Rpb24odCl7cmV0dXJuIWUucmlnaHRvZmZvbGQodCx7dGhyZXNob2xkOjB9KX19KX0oalF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxlKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJqcXVlcnkiKSk6ZShqUXVlcnkpfShmdW5jdGlvbihlKXt2YXIgdD1lLmV2ZW50LmRpc3BhdGNofHxlLmV2ZW50LmhhbmRsZSxuPWUuZXZlbnQuc3BlY2lhbCxpPSJEIisgK25ldyBEYXRlLG89IkQiKygrbmV3IERhdGUrMSk7bi5zY3JvbGxzdGFydD17c2V0dXA6ZnVuY3Rpb24obyl7dmFyIHIscz1lLmV4dGVuZCh7bGF0ZW5jeTpuLnNjcm9sbHN0b3AubGF0ZW5jeX0sbyksYT1mdW5jdGlvbihlKXt2YXIgbj10aGlzLGk9YXJndW1lbnRzO3I/Y2xlYXJUaW1lb3V0KHIpOihlLnR5cGU9InNjcm9sbHN0YXJ0Iix0LmFwcGx5KG4saSkpLHI9c2V0VGltZW91dChmdW5jdGlvbigpe3I9bnVsbH0scy5sYXRlbmN5KX07ZSh0aGlzKS5iaW5kKCJzY3JvbGwiLGEpLmRhdGEoaSxhKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtlKHRoaXMpLnVuYmluZCgic2Nyb2xsIixlKHRoaXMpLmRhdGEoaSkpfX0sbi5zY3JvbGxzdG9wPXtsYXRlbmN5OjI1MCxzZXR1cDpmdW5jdGlvbihpKXt2YXIgcixzPWUuZXh0ZW5kKHtsYXRlbmN5Om4uc2Nyb2xsc3RvcC5sYXRlbmN5fSxpKSxhPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMsaT1hcmd1bWVudHM7ciYmY2xlYXJUaW1lb3V0KHIpLHI9c2V0VGltZW91dChmdW5jdGlvbigpe3I9bnVsbCxlLnR5cGU9InNjcm9sbHN0b3AiLHQuYXBwbHkobixpKX0scy5sYXRlbmN5KX07ZSh0aGlzKS5iaW5kKCJzY3JvbGwiLGEpLmRhdGEobyxhKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtlKHRoaXMpLnVuYmluZCgic2Nyb2xsIixlKHRoaXMpLmRhdGEobykpfX19KTt2YXIgYm9vdGJveD13aW5kb3cuYm9vdGJveHx8ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKGUsdCl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiB0JiYodD1pKSwic3RyaW5nIj09dHlwZW9mIHBbdF1bZV0/cFt0XVtlXTp0IT1vP24oZSxvKTplfXZhciBpPSJlbiIsbz0iZW4iLHI9ITAscz0ic3RhdGljIixhPSJqYXZhc2NyaXB0OjsiLGw9IiIsYz17fSx1PXt9LGQ9e307ZC5zZXRMb2NhbGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIHApaWYodD09ZSlyZXR1cm4gdm9pZChpPWUpO3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBsb2NhbGU6ICIrZSl9LGQuYWRkTG9jYWxlPWZ1bmN0aW9uKGUsdCl7InVuZGVmaW5lZCI9PXR5cGVvZiBwW2VdJiYocFtlXT17fSk7Zm9yKHZhciBuIGluIHQpcFtlXVtuXT10W25dfSxkLnNldEljb25zPWZ1bmN0aW9uKGUpe3U9ZSwoIm9iamVjdCIhPXR5cGVvZiB1fHxudWxsPT09dSkmJih1PXt9KX0sZC5zZXRCdG5DbGFzc2VzPWZ1bmN0aW9uKGUpe2M9ZSwoIm9iamVjdCIhPXR5cGVvZiBjfHxudWxsPT09YykmJihjPXt9KX0sZC5hbGVydD1mdW5jdGlvbigpe3ZhciBlPSIiLHQ9bigiT0siKSxpPW51bGw7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTplPWFyZ3VtZW50c1swXTticmVhaztjYXNlIDI6ZT1hcmd1bWVudHNbMF0sImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1sxXT9pPWFyZ3VtZW50c1sxXTp0PWFyZ3VtZW50c1sxXTticmVhaztjYXNlIDM6ZT1hcmd1bWVudHNbMF0sdD1hcmd1bWVudHNbMV0saT1hcmd1bWVudHNbMl07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzOiBleHBlY3RlZCAxLTMiKX1yZXR1cm4gZC5kaWFsb2coZSx7bGFiZWw6dCxpY29uOnUuT0ssImNsYXNzIjpjLk9LLGNhbGxiYWNrOml9LHtvbkVzY2FwZTppfHwhMH0pfSxkLmNvbmZpcm09ZnVuY3Rpb24oKXt2YXIgZT0iIix0PW4oIkNBTkNFTCIpLGk9bigiQ09ORklSTSIpLG89bnVsbDtzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAxOmU9YXJndW1lbnRzWzBdO2JyZWFrO2Nhc2UgMjplPWFyZ3VtZW50c1swXSwiZnVuY3Rpb24iPT10eXBlb2YgYXJndW1lbnRzWzFdP289YXJndW1lbnRzWzFdOnQ9YXJndW1lbnRzWzFdO2JyZWFrO2Nhc2UgMzplPWFyZ3VtZW50c1swXSx0PWFyZ3VtZW50c1sxXSwiZnVuY3Rpb24iPT10eXBlb2YgYXJndW1lbnRzWzJdP289YXJndW1lbnRzWzJdOmk9YXJndW1lbnRzWzJdO2JyZWFrO2Nhc2UgNDplPWFyZ3VtZW50c1swXSx0PWFyZ3VtZW50c1sxXSxpPWFyZ3VtZW50c1syXSxvPWFyZ3VtZW50c1szXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHM6IGV4cGVjdGVkIDEtNCIpfXZhciByPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG8/byghMSk6dm9pZCAwfSxzPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG8/byghMCk6dm9pZCAwfTtyZXR1cm4gZC5kaWFsb2coZSxbe2xhYmVsOnQsaWNvbjp1LkNBTkNFTCwiY2xhc3MiOmMuQ0FOQ0VMLGNhbGxiYWNrOnJ9LHtsYWJlbDppLGljb246dS5DT05GSVJNLCJjbGFzcyI6Yy5DT05GSVJNLGNhbGxiYWNrOnN9XSx7b25Fc2NhcGU6cn0pfSxkLnByb21wdD1mdW5jdGlvbigpe3ZhciBlPSIiLGk9bigiQ0FOQ0VMIiksbz1uKCJDT05GSVJNIikscj1udWxsLHM9IiI7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTplPWFyZ3VtZW50c1swXTticmVhaztjYXNlIDI6ZT1hcmd1bWVudHNbMF0sImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1sxXT9yPWFyZ3VtZW50c1sxXTppPWFyZ3VtZW50c1sxXTticmVhaztjYXNlIDM6ZT1hcmd1bWVudHNbMF0saT1hcmd1bWVudHNbMV0sImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1syXT9yPWFyZ3VtZW50c1syXTpvPWFyZ3VtZW50c1syXTticmVhaztjYXNlIDQ6ZT1hcmd1bWVudHNbMF0saT1hcmd1bWVudHNbMV0sbz1hcmd1bWVudHNbMl0scj1hcmd1bWVudHNbM107YnJlYWs7Y2FzZSA1OmU9YXJndW1lbnRzWzBdLGk9YXJndW1lbnRzWzFdLG89YXJndW1lbnRzWzJdLHI9YXJndW1lbnRzWzNdLHM9YXJndW1lbnRzWzRdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJJbmNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50czogZXhwZWN0ZWQgMS01Iil9dmFyIGE9ZSxsPXQoIjxmb3JtPjwvZm9ybT4iKTtsLmFwcGVuZCgiPGlucHV0IGNsYXNzPSdpbnB1dC1ibG9jay1sZXZlbCcgYXV0b2NvbXBsZXRlPW9mZiB0eXBlPXRleHQgdmFsdWU9JyIrcysiJyAvPiIpO3ZhciBwPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/cihudWxsKTp2b2lkIDB9LGg9ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygcj9yKGwuZmluZCgiaW5wdXRbdHlwZT10ZXh0XSIpLnZhbCgpKTp2b2lkIDB9LGY9ZC5kaWFsb2cobCxbe2xhYmVsOmksaWNvbjp1LkNBTkNFTCwiY2xhc3MiOmMuQ0FOQ0VMLGNhbGxiYWNrOnB9LHtsYWJlbDpvLGljb246dS5DT05GSVJNLCJjbGFzcyI6Yy5DT05GSVJNLGNhbGxiYWNrOmh9XSx7aGVhZGVyOmEsc2hvdzohMSxvbkVzY2FwZTpwfSk7cmV0dXJuIGYub24oInNob3duIixmdW5jdGlvbigpe2wuZmluZCgiaW5wdXRbdHlwZT10ZXh0XSIpLmZvY3VzKCksbC5vbigic3VibWl0IixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZi5maW5kKCIuYnRuLXByaW1hcnkiKS5jbGljaygpfSl9KSxmLm1vZGFsKCJzaG93IiksZn0sZC5kaWFsb2c9ZnVuY3Rpb24obixpLG8pe2Z1bmN0aW9uIGMoKXt2YXIgZT1udWxsOyJmdW5jdGlvbiI9PXR5cGVvZiBvLm9uRXNjYXBlJiYoZT1vLm9uRXNjYXBlKCkpLGUhPT0hMSYmay5tb2RhbCgiaGlkZSIpfXZhciB1PSIiLGQ9W107b3x8KG89e30pLCJ1bmRlZmluZWQiPT10eXBlb2YgaT9pPVtdOiJ1bmRlZmluZWQiPT10eXBlb2YgaS5sZW5ndGgmJihpPVtpXSk7Zm9yKHZhciBwPWkubGVuZ3RoO3AtLTspe3ZhciBoPW51bGwsZj1udWxsLG09bnVsbCxnPSIiLHY9bnVsbDtpZigidW5kZWZpbmVkIj09dHlwZW9mIGlbcF0ubGFiZWwmJiJ1bmRlZmluZWQiPT10eXBlb2YgaVtwXVsiY2xhc3MiXSYmInVuZGVmaW5lZCI9PXR5cGVvZiBpW3BdLmNhbGxiYWNrKXt2YXIgeT0wLGI9bnVsbDtmb3IodmFyIHcgaW4gaVtwXSlpZihiPXcsKyt5PjEpYnJlYWs7MT09eSYmImZ1bmN0aW9uIj09dHlwZW9mIGlbcF1bd10mJihpW3BdLmxhYmVsPWIsaVtwXS5jYWxsYmFjaz1pW3BdW3ddKX0iZnVuY3Rpb24iPT10eXBlb2YgaVtwXS5jYWxsYmFjayYmKHY9aVtwXS5jYWxsYmFjayksaVtwXVsiY2xhc3MiXT9tPWlbcF1bImNsYXNzIl06cD09aS5sZW5ndGgtMSYmaS5sZW5ndGg8PTImJihtPSJidG4tcHJpbWFyeSIpLGlbcF0ubGluayE9PSEwJiYobT0iYnRuICIrbSksaD1pW3BdLmxhYmVsP2lbcF0ubGFiZWw6Ik9wdGlvbiAiKyhwKzEpLGlbcF0uaWNvbiYmKGc9IjxpIGNsYXNzPSciK2lbcF0uaWNvbisiJz48L2k+ICIpLGY9aVtwXS5ocmVmP2lbcF0uaHJlZjphLHU9IjxhIGRhdGEtaGFuZGxlcj0nIitwKyInIGNsYXNzPSciK20rIicgaHJlZj0nIitmKyInPiIrZytoKyI8L2E+Iit1LGRbcF09dn12YXIgeD1bIjxkaXYgY2xhc3M9J2Jvb3Rib3ggbW9kYWwnIHRhYmluZGV4PSctMScgc3R5bGU9J292ZXJmbG93OmhpZGRlbjsnPiJdO2lmKG8uaGVhZGVyKXt2YXIgQz0iIjsoInVuZGVmaW5lZCI9PXR5cGVvZiBvLmhlYWRlckNsb3NlQnV0dG9ufHxvLmhlYWRlckNsb3NlQnV0dG9uKSYmKEM9IjxhIGhyZWY9JyIrYSsiJyBjbGFzcz0nY2xvc2UnPiZ0aW1lczs8L2E+IikseC5wdXNoKCI8ZGl2IGNsYXNzPSdtb2RhbC1oZWFkZXInPiIrQysiPGgzPiIrby5oZWFkZXIrIjwvaDM+PC9kaXY+Iil9eC5wdXNoKCI8ZGl2IGNsYXNzPSdtb2RhbC1ib2R5Jz48L2Rpdj4iKSx1JiZ4LnB1c2goIjxkaXYgY2xhc3M9J21vZGFsLWZvb3Rlcic+Iit1KyI8L2Rpdj4iKSx4LnB1c2goIjwvZGl2PiIpO3ZhciBrPXQoeC5qb2luKCJcbiIpKSxUPSJ1bmRlZmluZWQiPT10eXBlb2Ygby5hbmltYXRlP3I6by5hbmltYXRlO1QmJmsuYWRkQ2xhc3MoImZhZGUiKTt2YXIgRT0idW5kZWZpbmVkIj09dHlwZW9mIG8uY2xhc3Nlcz9sOm8uY2xhc3NlcztyZXR1cm4gRSYmay5hZGRDbGFzcyhFKSxrLmZpbmQoIi5tb2RhbC1ib2R5IikuaHRtbChuKSxrLm9uKCJrZXl1cC5kaXNtaXNzLm1vZGFsIixmdW5jdGlvbihlKXsyNz09PWUud2hpY2gmJm8ub25Fc2NhcGUmJmMoImVzY2FwZSIpfSksay5vbigiY2xpY2siLCJhLmNsb3NlIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksYygiY2xvc2UiKX0pLGsub24oInNob3duIixmdW5jdGlvbigpe2suZmluZCgiYS5idG4tcHJpbWFyeTpmaXJzdCIpLmZvY3VzKCl9KSxrLm9uKCJoaWRkZW4iLGZ1bmN0aW9uKGUpe2UudGFyZ2V0PT09dGhpcyYmay5yZW1vdmUoKX0pLGsub24oImNsaWNrIiwiLm1vZGFsLWZvb3RlciBhIixmdW5jdGlvbihlKXt2YXIgbj10KHRoaXMpLmRhdGEoImhhbmRsZXIiKSxvPWRbbl0scj1udWxsOygidW5kZWZpbmVkIj09dHlwZW9mIG58fCJ1bmRlZmluZWQiPT10eXBlb2YgaVtuXS5ocmVmKSYmKGUucHJldmVudERlZmF1bHQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbyYmKHI9byhlKSksciE9PSExJiZrLm1vZGFsKCJoaWRlIikpfSksdCgiYm9keSIpLmFwcGVuZChrKSxrLm1vZGFsKHtiYWNrZHJvcDoidW5kZWZpbmVkIj09dHlwZW9mIG8uYmFja2Ryb3A/czpvLmJhY2tkcm9wLGtleWJvYXJkOiExLHNob3c6ITF9KSxrLm9uKCJzaG93IixmdW5jdGlvbigpe3QoZSkub2ZmKCJmb2N1c2luLm1vZGFsIil9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBvLnNob3d8fG8uc2hvdz09PSEwKSYmay5tb2RhbCgic2hvdyIpLGt9LGQubW9kYWw9ZnVuY3Rpb24oKXt2YXIgZSxuLGksbz17b25Fc2NhcGU6bnVsbCxrZXlib2FyZDohMCxiYWNrZHJvcDpzfTtzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAxOmU9YXJndW1lbnRzWzBdO2JyZWFrO2Nhc2UgMjplPWFyZ3VtZW50c1swXSwib2JqZWN0Ij09dHlwZW9mIGFyZ3VtZW50c1sxXT9pPWFyZ3VtZW50c1sxXTpuPWFyZ3VtZW50c1sxXTticmVhaztjYXNlIDM6ZT1hcmd1bWVudHNbMF0sbj1hcmd1bWVudHNbMV0saT1hcmd1bWVudHNbMl07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzOiBleHBlY3RlZCAxLTMiKX1yZXR1cm4gby5oZWFkZXI9bixpPSJvYmplY3QiPT10eXBlb2YgaT90LmV4dGVuZChvLGkpOm8sZC5kaWFsb2coZSxbXSxpKX0sZC5oaWRlQWxsPWZ1bmN0aW9uKCl7dCgiLmJvb3Rib3giKS5tb2RhbCgiaGlkZSIpfSxkLmFuaW1hdGU9ZnVuY3Rpb24oZSl7cj1lfSxkLmJhY2tkcm9wPWZ1bmN0aW9uKGUpe3M9ZX0sZC5jbGFzc2VzPWZ1bmN0aW9uKGUpe2w9ZX07dmFyIHA9e2JyOntPSzoiT0siLENBTkNFTDoiQ2FuY2VsYXIiLENPTkZJUk06IlNpbSJ9LGRhOntPSzoiT0siLENBTkNFTDoiQW5udWxsZXIiLENPTkZJUk06IkFjY2VwdGVyIn0sZGU6e09LOiJPSyIsQ0FOQ0VMOiJBYmJyZWNoZW4iLENPTkZJUk06IkFremVwdGllcmVuIn0sZW46e09LOiJPSyIsQ0FOQ0VMOiJDYW5jZWwiLENPTkZJUk06Ik9LIn0sZXM6e09LOiJPSyIsQ0FOQ0VMOiJDYW5jZWxhciIsQ09ORklSTToiQWNlcHRhciJ9LGZyOntPSzoiT0siLENBTkNFTDoiQW5udWxlciIsQ09ORklSTToiRCdhY2NvcmQifSxpdDp7T0s6Ik9LIixDQU5DRUw6IkFubnVsbGEiLENPTkZJUk06IkNvbmZlcm1hIn0sbmw6e09LOiJPSyIsQ0FOQ0VMOiJBbm51bGVyZW4iLENPTkZJUk06IkFjY2VwdGVyZW4ifSxwbDp7T0s6Ik9LIixDQU5DRUw6IkFudWx1aiIsQ09ORklSTToiUG90d2llcmTFuiJ9LHJ1OntPSzoiT0siLENBTkNFTDoi0J7RgtC80LXQvdCwIixDT05GSVJNOiLQn9GA0LjQvNC10L3QuNGC0YwifSx6aF9DTjp7T0s6Ik9LIixDQU5DRUw6IuWPlua2iCIsQ09ORklSTToi56Gu6K6kIn0semhfVFc6e09LOiJPSyIsQ0FOQ0VMOiLlj5bmtogiLENPTkZJUk06IueiuuiqjSJ9fTtyZXR1cm4gZH0oZG9jdW1lbnQsd2luZG93LmpRdWVyeSk7d2luZG93LmJvb3Rib3g9Ym9vdGJveCxmdW5jdGlvbigpe3ZhciBlLHQsbixpLG8scixzLGEsbD1bXS5zbGljZSxjPXt9Lmhhc093blByb3BlcnR5LHU9ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWZvcih2YXIgaSBpbiB0KWMuY2FsbCh0LGkpJiYoZVtpXT10W2ldKTtyZXR1cm4gbi5wcm90b3R5cGU9dC5wcm90b3R5cGUsZS5wcm90b3R5cGU9bmV3IG4sZS5fX3N1cGVyX189dC5wcm90b3R5cGUsZX07cz1mdW5jdGlvbigpe30sdD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt9cmV0dXJuIGUucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZS5wcm90b3R5cGUub24sZS5wcm90b3R5cGUub249ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sdGhpcy5fY2FsbGJhY2tzW2VdfHwodGhpcy5fY2FsbGJhY2tzW2VdPVtdKSx0aGlzLl9jYWxsYmFja3NbZV0ucHVzaCh0KSx0aGlzfSxlLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKCl7dmFyIGUsdCxuLGksbyxyO2lmKGk9YXJndW1lbnRzWzBdLGU9Mjw9YXJndW1lbnRzLmxlbmd0aD9sLmNhbGwoYXJndW1lbnRzLDEpOltdLHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LG49dGhpcy5fY2FsbGJhY2tzW2ldKWZvcihvPTAscj1uLmxlbmd0aDtyPm87bysrKXQ9bltvXSx0LmFwcGx5KHRoaXMsZSk7cmV0dXJuIHRoaXN9LGUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWUucHJvdG90eXBlLm9mZixlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZS5wcm90b3R5cGUub2ZmLGUucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZS5wcm90b3R5cGUub2ZmLGUucHJvdG90eXBlLm9mZj1mdW5jdGlvbihlLHQpe3ZhciBuLGksbyxyLHM7aWYoIXRoaXMuX2NhbGxiYWNrc3x8MD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX2NhbGxiYWNrcz17fSx0aGlzO2lmKGk9dGhpcy5fY2FsbGJhY2tzW2VdLCFpKXJldHVybiB0aGlzO2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2VdLHRoaXM7Zm9yKG89cj0wLHM9aS5sZW5ndGg7cz5yO289KytyKWlmKG49aVtvXSxuPT09dCl7aS5zcGxpY2UobywxKTticmVha31yZXR1cm4gdGhpc30sZX0oKSxlPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oZSx0KXt2YXIgbyxyLHM7aWYodGhpcy5lbGVtZW50PWUsdGhpcy52ZXJzaW9uPW4udmVyc2lvbix0aGlzLmRlZmF1bHRPcHRpb25zLnByZXZpZXdUZW1wbGF0ZT10aGlzLmRlZmF1bHRPcHRpb25zLnByZXZpZXdUZW1wbGF0ZS5yZXBsYWNlKC9cbiovZywiIiksdGhpcy5jbGlja2FibGVFbGVtZW50cz1bXSx0aGlzLmxpc3RlbmVycz1bXSx0aGlzLmZpbGVzPVtdLCJzdHJpbmciPT10eXBlb2YgdGhpcy5lbGVtZW50JiYodGhpcy5lbGVtZW50PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5lbGVtZW50KSksIXRoaXMuZWxlbWVudHx8bnVsbD09dGhpcy5lbGVtZW50Lm5vZGVUeXBlKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBkcm9wem9uZSBlbGVtZW50LiIpO2lmKHRoaXMuZWxlbWVudC5kcm9wem9uZSl0aHJvdyBuZXcgRXJyb3IoIkRyb3B6b25lIGFscmVhZHkgYXR0YWNoZWQuIik7aWYobi5pbnN0YW5jZXMucHVzaCh0aGlzKSx0aGlzLmVsZW1lbnQuZHJvcHpvbmU9dGhpcyxvPW51bGwhPShzPW4ub3B0aW9uc0ZvckVsZW1lbnQodGhpcy5lbGVtZW50KSk/czp7fSx0aGlzLm9wdGlvbnM9aSh7fSx0aGlzLmRlZmF1bHRPcHRpb25zLG8sbnVsbCE9dD90Ont9KSx0aGlzLm9wdGlvbnMuZm9yY2VGYWxsYmFja3x8IW4uaXNCcm93c2VyU3VwcG9ydGVkKCkpcmV0dXJuIHRoaXMub3B0aW9ucy5mYWxsYmFjay5jYWxsKHRoaXMpO2lmKG51bGw9PXRoaXMub3B0aW9ucy51cmwmJih0aGlzLm9wdGlvbnMudXJsPXRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpKSwhdGhpcy5vcHRpb25zLnVybCl0aHJvdyBuZXcgRXJyb3IoIk5vIFVSTCBwcm92aWRlZC4iKTtpZih0aGlzLm9wdGlvbnMuYWNjZXB0ZWRGaWxlcyYmdGhpcy5vcHRpb25zLmFjY2VwdGVkTWltZVR5cGVzKXRocm93IG5ldyBFcnJvcigiWW91IGNhbid0IHByb3ZpZGUgYm90aCAnYWNjZXB0ZWRGaWxlcycgYW5kICdhY2NlcHRlZE1pbWVUeXBlcycuICdhY2NlcHRlZE1pbWVUeXBlcycgaXMgZGVwcmVjYXRlZC4iKTt0aGlzLm9wdGlvbnMuYWNjZXB0ZWRNaW1lVHlwZXMmJih0aGlzLm9wdGlvbnMuYWNjZXB0ZWRGaWxlcz10aGlzLm9wdGlvbnMuYWNjZXB0ZWRNaW1lVHlwZXMsZGVsZXRlIHRoaXMub3B0aW9ucy5hY2NlcHRlZE1pbWVUeXBlcyksdGhpcy5vcHRpb25zLm1ldGhvZD10aGlzLm9wdGlvbnMubWV0aG9kLnRvVXBwZXJDYXNlKCksKHI9dGhpcy5nZXRFeGlzdGluZ0ZhbGxiYWNrKCkpJiZyLnBhcmVudE5vZGUmJnIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSx0aGlzLm9wdGlvbnMucHJldmlld3NDb250YWluZXIhPT0hMSYmKHRoaXMucHJldmlld3NDb250YWluZXI9dGhpcy5vcHRpb25zLnByZXZpZXdzQ29udGFpbmVyP24uZ2V0RWxlbWVudCh0aGlzLm9wdGlvbnMucHJldmlld3NDb250YWluZXIsInByZXZpZXdzQ29udGFpbmVyIik6dGhpcy5lbGVtZW50KSx0aGlzLm9wdGlvbnMuY2xpY2thYmxlJiYodGhpcy5jbGlja2FibGVFbGVtZW50cz10aGlzLm9wdGlvbnMuY2xpY2thYmxlPT09ITA/W3RoaXMuZWxlbWVudF06bi5nZXRFbGVtZW50cyh0aGlzLm9wdGlvbnMuY2xpY2thYmxlLCJjbGlja2FibGUiKSksdGhpcy5pbml0KCl9dmFyIGksbztyZXR1cm4gdShuLGUpLG4ucHJvdG90eXBlLkVtaXR0ZXI9dCxuLnByb3RvdHlwZS5ldmVudHM9WyJkcm9wIiwiZHJhZ3N0YXJ0IiwiZHJhZ2VuZCIsImRyYWdlbnRlciIsImRyYWdvdmVyIiwiZHJhZ2xlYXZlIiwiYWRkZWRmaWxlIiwicmVtb3ZlZGZpbGUiLCJ0aHVtYm5haWwiLCJlcnJvciIsImVycm9ybXVsdGlwbGUiLCJwcm9jZXNzaW5nIiwicHJvY2Vzc2luZ211bHRpcGxlIiwidXBsb2FkcHJvZ3Jlc3MiLCJ0b3RhbHVwbG9hZHByb2dyZXNzIiwic2VuZGluZyIsInNlbmRpbmdtdWx0aXBsZSIsInN1Y2Nlc3MiLCJzdWNjZXNzbXVsdGlwbGUiLCJjYW5jZWxlZCIsImNhbmNlbGVkbXVsdGlwbGUiLCJjb21wbGV0ZSIsImNvbXBsZXRlbXVsdGlwbGUiLCJyZXNldCIsIm1heGZpbGVzZXhjZWVkZWQiLCJtYXhmaWxlc3JlYWNoZWQiLCJxdWV1ZWNvbXBsZXRlIl0sbi5wcm90b3R5cGUuZGVmYXVsdE9wdGlvbnM9e3VybDpudWxsLG1ldGhvZDoicG9zdCIsd2l0aENyZWRlbnRpYWxzOiExLHBhcmFsbGVsVXBsb2FkczoyLHVwbG9hZE11bHRpcGxlOiExLG1heEZpbGVzaXplOjI1NixwYXJhbU5hbWU6ImZpbGUiLGNyZWF0ZUltYWdlVGh1bWJuYWlsczohMCxtYXhUaHVtYm5haWxGaWxlc2l6ZToxMCx0aHVtYm5haWxXaWR0aDoxMjAsdGh1bWJuYWlsSGVpZ2h0OjEyMCxmaWxlc2l6ZUJhc2U6MWUzLG1heEZpbGVzOm51bGwsZmlsZXNpemVCYXNlOjFlMyxwYXJhbXM6e30sY2xpY2thYmxlOiEwLGlnbm9yZUhpZGRlbkZpbGVzOiEwLGFjY2VwdGVkRmlsZXM6bnVsbCxhY2NlcHRlZE1pbWVUeXBlczpudWxsLGF1dG9Qcm9jZXNzUXVldWU6ITAsYXV0b1F1ZXVlOiEwLGFkZFJlbW92ZUxpbmtzOiExLHByZXZpZXdzQ29udGFpbmVyOm51bGwsY2FwdHVyZTpudWxsLGRpY3REZWZhdWx0TWVzc2FnZToiRHJvcCBmaWxlcyBoZXJlIHRvIHVwbG9hZCIsZGljdEZhbGxiYWNrTWVzc2FnZToiWW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgZHJhZyduJ2Ryb3AgZmlsZSB1cGxvYWRzLiIsZGljdEZhbGxiYWNrVGV4dDoiUGxlYXNlIHVzZSB0aGUgZmFsbGJhY2sgZm9ybSBiZWxvdyB0byB1cGxvYWQgeW91ciBmaWxlcyBsaWtlIGluIHRoZSBvbGRlbiBkYXlzLiIsZGljdEZpbGVUb29CaWc6IkZpbGUgaXMgdG9vIGJpZyAoe3tmaWxlc2l6ZX19TWlCKS4gTWF4IGZpbGVzaXplOiB7e21heEZpbGVzaXplfX1NaUIuIixkaWN0SW52YWxpZEZpbGVUeXBlOiJZb3UgY2FuJ3QgdXBsb2FkIGZpbGVzIG9mIHRoaXMgdHlwZS4iLGRpY3RSZXNwb25zZUVycm9yOiJTZXJ2ZXIgcmVzcG9uZGVkIHdpdGgge3tzdGF0dXNDb2RlfX0gY29kZS4iLGRpY3RDYW5jZWxVcGxvYWQ6IkNhbmNlbCB1cGxvYWQiLGRpY3RDYW5jZWxVcGxvYWRDb25maXJtYXRpb246IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWwgdGhpcyB1cGxvYWQ/IixkaWN0UmVtb3ZlRmlsZToiUmVtb3ZlIGZpbGUiLGRpY3RSZW1vdmVGaWxlQ29uZmlybWF0aW9uOm51bGwsZGljdE1heEZpbGVzRXhjZWVkZWQ6IllvdSBjYW4gbm90IHVwbG9hZCBhbnkgbW9yZSBmaWxlcy4iLGFjY2VwdDpmdW5jdGlvbihlLHQpe3JldHVybiB0KCl9LGluaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sZm9yY2VGYWxsYmFjazohMSxmYWxsYmFjazpmdW5jdGlvbigpe3ZhciBlLHQsaSxvLHIscztmb3IodGhpcy5lbGVtZW50LmNsYXNzTmFtZT0iIit0aGlzLmVsZW1lbnQuY2xhc3NOYW1lKyIgZHotYnJvd3Nlci1ub3Qtc3VwcG9ydGVkIixzPXRoaXMuZWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZGl2Iiksbz0wLHI9cy5sZW5ndGg7cj5vO28rKyllPXNbb10sLyhefCApZHotbWVzc2FnZSgkfCApLy50ZXN0KGUuY2xhc3NOYW1lKSYmKHQ9ZSxlLmNsYXNzTmFtZT0iZHotbWVzc2FnZSIpO3JldHVybiB0fHwodD1uLmNyZWF0ZUVsZW1lbnQoJzxkaXYgY2xhc3M9ImR6LW1lc3NhZ2UiPjxzcGFuPjwvc3Bhbj48L2Rpdj4nKSx0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodCkpLGk9dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3BhbiIpWzBdLGkmJihpLnRleHRDb250ZW50PXRoaXMub3B0aW9ucy5kaWN0RmFsbGJhY2tNZXNzYWdlKSx0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5nZXRGYWxsYmFja0Zvcm0oKSl9LHJlc2l6ZTpmdW5jdGlvbihlKXt2YXIgdCxuLGk7cmV0dXJuIHQ9e3NyY1g6MCxzcmNZOjAsc3JjV2lkdGg6ZS53aWR0aCxzcmNIZWlnaHQ6ZS5oZWlnaHR9LG49ZS53aWR0aC9lLmhlaWdodCx0Lm9wdFdpZHRoPXRoaXMub3B0aW9ucy50aHVtYm5haWxXaWR0aCx0Lm9wdEhlaWdodD10aGlzLm9wdGlvbnMudGh1bWJuYWlsSGVpZ2h0LG51bGw9PXQub3B0V2lkdGgmJm51bGw9PXQub3B0SGVpZ2h0Pyh0Lm9wdFdpZHRoPXQuc3JjV2lkdGgsdC5vcHRIZWlnaHQ9dC5zcmNIZWlnaHQpOm51bGw9PXQub3B0V2lkdGg/dC5vcHRXaWR0aD1uKnQub3B0SGVpZ2h0Om51bGw9PXQub3B0SGVpZ2h0JiYodC5vcHRIZWlnaHQ9MS9uKnQub3B0V2lkdGgpLGk9dC5vcHRXaWR0aC90Lm9wdEhlaWdodCxlLmhlaWdodDx0Lm9wdEhlaWdodHx8ZS53aWR0aDx0Lm9wdFdpZHRoPyh0LnRyZ0hlaWdodD10LnNyY0hlaWdodCx0LnRyZ1dpZHRoPXQuc3JjV2lkdGgpOm4+aT8odC5zcmNIZWlnaHQ9ZS5oZWlnaHQsdC5zcmNXaWR0aD10LnNyY0hlaWdodCppKToodC5zcmNXaWR0aD1lLndpZHRoLHQuc3JjSGVpZ2h0PXQuc3JjV2lkdGgvaSksdC5zcmNYPShlLndpZHRoLXQuc3JjV2lkdGgpLzIsdC5zcmNZPShlLmhlaWdodC10LnNyY0hlaWdodCkvMix0fSxkcm9wOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJkei1kcmFnLWhvdmVyIil9LGRyYWdzdGFydDpzLGRyYWdlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImR6LWRyYWctaG92ZXIiKX0sZHJhZ2VudGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkei1kcmFnLWhvdmVyIil9LGRyYWdvdmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkei1kcmFnLWhvdmVyIil9LGRyYWdsZWF2ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiZHotZHJhZy1ob3ZlciIpfSxwYXN0ZTpzLHJlc2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJkei1zdGFydGVkIil9LGFkZGVkZmlsZTpmdW5jdGlvbihlKXt2YXIgdCxpLG8scixzLGEsbCxjLHUsZCxwLGgsZjtpZih0aGlzLmVsZW1lbnQ9PT10aGlzLnByZXZpZXdzQ29udGFpbmVyJiZ0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZHotc3RhcnRlZCIpLHRoaXMucHJldmlld3NDb250YWluZXIpe2ZvcihlLnByZXZpZXdFbGVtZW50PW4uY3JlYXRlRWxlbWVudCh0aGlzLm9wdGlvbnMucHJldmlld1RlbXBsYXRlLnRyaW0oKSksZS5wcmV2aWV3VGVtcGxhdGU9ZS5wcmV2aWV3RWxlbWVudCx0aGlzLnByZXZpZXdzQ29udGFpbmVyLmFwcGVuZENoaWxkKGUucHJldmlld0VsZW1lbnQpLGQ9ZS5wcmV2aWV3RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1kei1uYW1lXSIpLHI9MCxsPWQubGVuZ3RoO2w+cjtyKyspdD1kW3JdLHQudGV4dENvbnRlbnQ9ZS5uYW1lO2ZvcihwPWUucHJldmlld0VsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZHotc2l6ZV0iKSxzPTAsYz1wLmxlbmd0aDtjPnM7cysrKXQ9cFtzXSx0LmlubmVySFRNTD10aGlzLmZpbGVzaXplKGUuc2l6ZSk7CmZvcih0aGlzLm9wdGlvbnMuYWRkUmVtb3ZlTGlua3MmJihlLl9yZW1vdmVMaW5rPW4uY3JlYXRlRWxlbWVudCgnPGEgY2xhc3M9ImR6LXJlbW92ZSIgaHJlZj0iamF2YXNjcmlwdDp1bmRlZmluZWQ7IiBkYXRhLWR6LXJlbW92ZT4nK3RoaXMub3B0aW9ucy5kaWN0UmVtb3ZlRmlsZSsiPC9hPiIpLGUucHJldmlld0VsZW1lbnQuYXBwZW5kQ2hpbGQoZS5fcmVtb3ZlTGluaykpLGk9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiBpLnByZXZlbnREZWZhdWx0KCksaS5zdG9wUHJvcGFnYXRpb24oKSxlLnN0YXR1cz09PW4uVVBMT0FESU5HP24uY29uZmlybSh0Lm9wdGlvbnMuZGljdENhbmNlbFVwbG9hZENvbmZpcm1hdGlvbixmdW5jdGlvbigpe3JldHVybiB0LnJlbW92ZUZpbGUoZSl9KTp0Lm9wdGlvbnMuZGljdFJlbW92ZUZpbGVDb25maXJtYXRpb24/bi5jb25maXJtKHQub3B0aW9ucy5kaWN0UmVtb3ZlRmlsZUNvbmZpcm1hdGlvbixmdW5jdGlvbigpe3JldHVybiB0LnJlbW92ZUZpbGUoZSl9KTp0LnJlbW92ZUZpbGUoZSl9fSh0aGlzKSxoPWUucHJldmlld0VsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZHotcmVtb3ZlXSIpLGY9W10sYT0wLHU9aC5sZW5ndGg7dT5hO2ErKylvPWhbYV0sZi5wdXNoKG8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGkpKTtyZXR1cm4gZn19LHJlbW92ZWRmaWxlOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlLnByZXZpZXdFbGVtZW50JiZudWxsIT0odD1lLnByZXZpZXdFbGVtZW50KSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUucHJldmlld0VsZW1lbnQpLHRoaXMuX3VwZGF0ZU1heEZpbGVzUmVhY2hlZENsYXNzKCl9LHRodW1ibmFpbDpmdW5jdGlvbihlLHQpe3ZhciBuLGksbyxyO2lmKGUucHJldmlld0VsZW1lbnQpe2ZvcihlLnByZXZpZXdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImR6LWZpbGUtcHJldmlldyIpLHI9ZS5wcmV2aWV3RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1kei10aHVtYm5haWxdIiksaT0wLG89ci5sZW5ndGg7bz5pO2krKyluPXJbaV0sbi5hbHQ9ZS5uYW1lLG4uc3JjPXQ7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV2aWV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkei1pbWFnZS1wcmV2aWV3Iil9fSh0aGlzKSwxKX19LGVycm9yOmZ1bmN0aW9uKGUsdCl7dmFyIG4saSxvLHIscztpZihlLnByZXZpZXdFbGVtZW50KXtmb3IoZS5wcmV2aWV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkei1lcnJvciIpLCJTdHJpbmciIT10eXBlb2YgdCYmdC5lcnJvciYmKHQ9dC5lcnJvcikscj1lLnByZXZpZXdFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWR6LWVycm9ybWVzc2FnZV0iKSxzPVtdLGk9MCxvPXIubGVuZ3RoO28+aTtpKyspbj1yW2ldLHMucHVzaChuLnRleHRDb250ZW50PXQpO3JldHVybiBzfX0sZXJyb3JtdWx0aXBsZTpzLHByb2Nlc3Npbmc6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJldmlld0VsZW1lbnQmJihlLnByZXZpZXdFbGVtZW50LmNsYXNzTGlzdC5hZGQoImR6LXByb2Nlc3NpbmciKSxlLl9yZW1vdmVMaW5rKT9lLl9yZW1vdmVMaW5rLnRleHRDb250ZW50PXRoaXMub3B0aW9ucy5kaWN0Q2FuY2VsVXBsb2FkOnZvaWQgMH0scHJvY2Vzc2luZ211bHRpcGxlOnMsdXBsb2FkcHJvZ3Jlc3M6ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8scixzO2lmKGUucHJldmlld0VsZW1lbnQpe2ZvcihyPWUucHJldmlld0VsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZHotdXBsb2FkcHJvZ3Jlc3NdIikscz1bXSxpPTAsbz1yLmxlbmd0aDtvPmk7aSsrKW49cltpXSxzLnB1c2goIlBST0dSRVNTIj09PW4ubm9kZU5hbWU/bi52YWx1ZT10Om4uc3R5bGUud2lkdGg9IiIrdCsiJSIpO3JldHVybiBzfX0sdG90YWx1cGxvYWRwcm9ncmVzczpzLHNlbmRpbmc6cyxzZW5kaW5nbXVsdGlwbGU6cyxzdWNjZXNzOmZ1bmN0aW9uKGUpe3JldHVybiBlLnByZXZpZXdFbGVtZW50P2UucHJldmlld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZHotc3VjY2VzcyIpOnZvaWQgMH0sc3VjY2Vzc211bHRpcGxlOnMsY2FuY2VsZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZW1pdCgiZXJyb3IiLGUsIlVwbG9hZCBjYW5jZWxlZC4iKX0sY2FuY2VsZWRtdWx0aXBsZTpzLGNvbXBsZXRlOmZ1bmN0aW9uKGUpe3JldHVybiBlLl9yZW1vdmVMaW5rJiYoZS5fcmVtb3ZlTGluay50ZXh0Q29udGVudD10aGlzLm9wdGlvbnMuZGljdFJlbW92ZUZpbGUpLGUucHJldmlld0VsZW1lbnQ/ZS5wcmV2aWV3RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkei1jb21wbGV0ZSIpOnZvaWQgMH0sY29tcGxldGVtdWx0aXBsZTpzLG1heGZpbGVzZXhjZWVkZWQ6cyxtYXhmaWxlc3JlYWNoZWQ6cyxxdWV1ZWNvbXBsZXRlOnMscHJldmlld1RlbXBsYXRlOic8ZGl2IGNsYXNzPSJkei1wcmV2aWV3IGR6LWZpbGUtcHJldmlldyI+XG4gIDxkaXYgY2xhc3M9ImR6LWltYWdlIj48aW1nIGRhdGEtZHotdGh1bWJuYWlsIC8+PC9kaXY+XG4gIDxkaXYgY2xhc3M9ImR6LWRldGFpbHMiPlxuICAgIDxkaXYgY2xhc3M9ImR6LXNpemUiPjxzcGFuIGRhdGEtZHotc2l6ZT48L3NwYW4+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0iZHotZmlsZW5hbWUiPjxzcGFuIGRhdGEtZHotbmFtZT48L3NwYW4+PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPSJkei1wcm9ncmVzcyI+PHNwYW4gY2xhc3M9ImR6LXVwbG9hZCIgZGF0YS1kei11cGxvYWRwcm9ncmVzcz48L3NwYW4+PC9kaXY+XG4gIDxkaXYgY2xhc3M9ImR6LWVycm9yLW1lc3NhZ2UiPjxzcGFuIGRhdGEtZHotZXJyb3JtZXNzYWdlPjwvc3Bhbj48L2Rpdj5cbiAgPGRpdiBjbGFzcz0iZHotc3VjY2Vzcy1tYXJrIj5cbiAgICA8c3ZnIHdpZHRoPSI1NHB4IiBoZWlnaHQ9IjU0cHgiIHZpZXdCb3g9IjAgMCA1NCA1NCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+XG4gICAgICA8dGl0bGU+Q2hlY2s8L3RpdGxlPlxuICAgICAgPGRlZnM+PC9kZWZzPlxuICAgICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc2tldGNoOnR5cGU9Ik1TUGFnZSI+XG4gICAgICAgIDxwYXRoIGQ9Ik0yMy41LDMxLjg0MzE0NTggTDE3LjU4NTI0MTksMjUuOTI4Mzg3NyBDMTYuMDI0ODI1MywyNC4zNjc5NzExIDEzLjQ5MTAyOTQsMjQuMzY2ODM1IDExLjkyODkzMjIsMjUuOTI4OTMyMiBDMTAuMzcwMDEzNiwyNy40ODc4NTA4IDEwLjM2NjU5MTIsMzAuMDIzNDQ1NSAxMS45MjgzODc3LDMxLjU4NTI0MTkgTDIwLjQxNDc1ODEsNDAuMDcxNjEyMyBDMjAuNTEzMzk5OSw0MC4xNzAyNTQxIDIwLjYxNTkzMTUsNDAuMjYyNjY0OSAyMC43MjE4NjE1LDQwLjM0ODg0MzUgQzIyLjI4MzU2NjksNDEuODcyNTY1MSAyNC43OTQyMzQsNDEuODYyNjIwMiAyNi4zNDYxNTY0LDQwLjMxMDY5NzggTDQzLjMxMDY5NzgsMjMuMzQ2MTU2NCBDNDQuODc3MTAyMSwyMS43Nzk3NTIxIDQ0Ljg3NTgwNTcsMTkuMjQ4Mzg4NyA0My4zMTM3MDg1LDE3LjY4NjI5MTUgQzQxLjc1NDc4OTksMTYuMTI3MzcyOSAzOS4yMTc2MDM1LDE2LjEyNTU0MjIgMzcuNjUzODQzNiwxNy42ODkzMDIyIEwyMy41LDMxLjg0MzE0NTggWiBNMjcsNTMgQzQxLjM1OTQwMzUsNTMgNTMsNDEuMzU5NDAzNSA1MywyNyBDNTMsMTIuNjQwNTk2NSA0MS4zNTk0MDM1LDEgMjcsMSBDMTIuNjQwNTk2NSwxIDEsMTIuNjQwNTk2NSAxLDI3IEMxLDQxLjM1OTQwMzUgMTIuNjQwNTk2NSw1MyAyNyw1MyBaIiBpZD0iT3ZhbC0yIiBzdHJva2Utb3BhY2l0eT0iMC4xOTg3OTQxNTgiIHN0cm9rZT0iIzc0NzQ3NCIgZmlsbC1vcGFjaXR5PSIwLjgxNjUxOTQ3NSIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPlxuICAgICAgPC9nPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0iZHotZXJyb3ItbWFyayI+XG4gICAgPHN2ZyB3aWR0aD0iNTRweCIgaGVpZ2h0PSI1NHB4IiB2aWV3Qm94PSIwIDAgNTQgNTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPlxuICAgICAgPHRpdGxlPkVycm9yPC90aXRsZT5cbiAgICAgIDxkZWZzPjwvZGVmcz5cbiAgICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHNrZXRjaDp0eXBlPSJNU1BhZ2UiPlxuICAgICAgICA8ZyBpZD0iQ2hlY2stKy1PdmFsLTIiIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHN0cm9rZT0iIzc0NzQ3NCIgc3Ryb2tlLW9wYWNpdHk9IjAuMTk4Nzk0MTU4IiBmaWxsPSIjRkZGRkZGIiBmaWxsLW9wYWNpdHk9IjAuODE2NTE5NDc1Ij5cbiAgICAgICAgICA8cGF0aCBkPSJNMzIuNjU2ODU0MiwyOSBMMzguMzEwNjk3OCwyMy4zNDYxNTY0IEMzOS44NzcxMDIxLDIxLjc3OTc1MjEgMzkuODc1ODA1NywxOS4yNDgzODg3IDM4LjMxMzcwODUsMTcuNjg2MjkxNSBDMzYuNzU0Nzg5OSwxNi4xMjczNzI5IDM0LjIxNzYwMzUsMTYuMTI1NTQyMiAzMi42NTM4NDM2LDE3LjY4OTMwMjIgTDI3LDIzLjM0MzE0NTggTDIxLjM0NjE1NjQsMTcuNjg5MzAyMiBDMTkuNzgyMzk2NSwxNi4xMjU1NDIyIDE3LjI0NTIxMDEsMTYuMTI3MzcyOSAxNS42ODYyOTE1LDE3LjY4NjI5MTUgQzE0LjEyNDE5NDMsMTkuMjQ4Mzg4NyAxNC4xMjI4OTc5LDIxLjc3OTc1MjEgMTUuNjg5MzAyMiwyMy4zNDYxNTY0IEwyMS4zNDMxNDU4LDI5IEwxNS42ODkzMDIyLDM0LjY1Mzg0MzYgQzE0LjEyMjg5NzksMzYuMjIwMjQ3OSAxNC4xMjQxOTQzLDM4Ljc1MTYxMTMgMTUuNjg2MjkxNSw0MC4zMTM3MDg1IEMxNy4yNDUyMTAxLDQxLjg3MjYyNzEgMTkuNzgyMzk2NSw0MS44NzQ0NTc4IDIxLjM0NjE1NjQsNDAuMzEwNjk3OCBMMjcsMzQuNjU2ODU0MiBMMzIuNjUzODQzNiw0MC4zMTA2OTc4IEMzNC4yMTc2MDM1LDQxLjg3NDQ1NzggMzYuNzU0Nzg5OSw0MS44NzI2MjcxIDM4LjMxMzcwODUsNDAuMzEzNzA4NSBDMzkuODc1ODA1NywzOC43NTE2MTEzIDM5Ljg3NzEwMjEsMzYuMjIwMjQ3OSAzOC4zMTA2OTc4LDM0LjY1Mzg0MzYgTDMyLjY1Njg1NDIsMjkgWiBNMjcsNTMgQzQxLjM1OTQwMzUsNTMgNTMsNDEuMzU5NDAzNSA1MywyNyBDNTMsMTIuNjQwNTk2NSA0MS4zNTk0MDM1LDEgMjcsMSBDMTIuNjQwNTk2NSwxIDEsMTIuNjQwNTk2NSAxLDI3IEMxLDQxLjM1OTQwMzUgMTIuNjQwNTk2NSw1MyAyNyw1MyBaIiBpZD0iT3ZhbC0yIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj4nfSxpPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLGksbyxyLHM7Zm9yKGk9YXJndW1lbnRzWzBdLG49Mjw9YXJndW1lbnRzLmxlbmd0aD9sLmNhbGwoYXJndW1lbnRzLDEpOltdLHI9MCxzPW4ubGVuZ3RoO3M+cjtyKyspe3Q9bltyXTtmb3IoZSBpbiB0KW89dFtlXSxpW2VdPW99cmV0dXJuIGl9LG4ucHJvdG90eXBlLmdldEFjY2VwdGVkRmlsZXM9ZnVuY3Rpb24oKXt2YXIgZSx0LG4saSxvO2ZvcihpPXRoaXMuZmlsZXMsbz1bXSx0PTAsbj1pLmxlbmd0aDtuPnQ7dCsrKWU9aVt0XSxlLmFjY2VwdGVkJiZvLnB1c2goZSk7cmV0dXJuIG99LG4ucHJvdG90eXBlLmdldFJlamVjdGVkRmlsZXM9ZnVuY3Rpb24oKXt2YXIgZSx0LG4saSxvO2ZvcihpPXRoaXMuZmlsZXMsbz1bXSx0PTAsbj1pLmxlbmd0aDtuPnQ7dCsrKWU9aVt0XSxlLmFjY2VwdGVkfHxvLnB1c2goZSk7cmV0dXJuIG99LG4ucHJvdG90eXBlLmdldEZpbGVzV2l0aFN0YXR1cz1mdW5jdGlvbihlKXt2YXIgdCxuLGksbyxyO2ZvcihvPXRoaXMuZmlsZXMscj1bXSxuPTAsaT1vLmxlbmd0aDtpPm47bisrKXQ9b1tuXSx0LnN0YXR1cz09PWUmJnIucHVzaCh0KTtyZXR1cm4gcn0sbi5wcm90b3R5cGUuZ2V0UXVldWVkRmlsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRGaWxlc1dpdGhTdGF0dXMobi5RVUVVRUQpfSxuLnByb3RvdHlwZS5nZXRVcGxvYWRpbmdGaWxlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEZpbGVzV2l0aFN0YXR1cyhuLlVQTE9BRElORyl9LG4ucHJvdG90eXBlLmdldEFjdGl2ZUZpbGVzPWZ1bmN0aW9uKCl7dmFyIGUsdCxpLG8scjtmb3Iobz10aGlzLmZpbGVzLHI9W10sdD0wLGk9by5sZW5ndGg7aT50O3QrKyllPW9bdF0sKGUuc3RhdHVzPT09bi5VUExPQURJTkd8fGUuc3RhdHVzPT09bi5RVUVVRUQpJiZyLnB1c2goZSk7cmV0dXJuIHJ9LG4ucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LGksbyxyLHMsYTtmb3IoImZvcm0iPT09dGhpcy5lbGVtZW50LnRhZ05hbWUmJnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImVuY3R5cGUiLCJtdWx0aXBhcnQvZm9ybS1kYXRhIiksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiZHJvcHpvbmUiKSYmIXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuZHotbWVzc2FnZSIpJiZ0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQobi5jcmVhdGVFbGVtZW50KCc8ZGl2IGNsYXNzPSJkei1kZWZhdWx0IGR6LW1lc3NhZ2UiPjxzcGFuPicrdGhpcy5vcHRpb25zLmRpY3REZWZhdWx0TWVzc2FnZSsiPC9zcGFuPjwvZGl2PiIpKSx0aGlzLmNsaWNrYWJsZUVsZW1lbnRzLmxlbmd0aCYmKGk9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuaGlkZGVuRmlsZUlucHV0JiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUuaGlkZGVuRmlsZUlucHV0KSxlLmhpZGRlbkZpbGVJbnB1dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGUuaGlkZGVuRmlsZUlucHV0LnNldEF0dHJpYnV0ZSgidHlwZSIsImZpbGUiKSwobnVsbD09ZS5vcHRpb25zLm1heEZpbGVzfHxlLm9wdGlvbnMubWF4RmlsZXM+MSkmJmUuaGlkZGVuRmlsZUlucHV0LnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLCJtdWx0aXBsZSIpLGUuaGlkZGVuRmlsZUlucHV0LmNsYXNzTmFtZT0iZHotaGlkZGVuLWlucHV0IixudWxsIT1lLm9wdGlvbnMuYWNjZXB0ZWRGaWxlcyYmZS5oaWRkZW5GaWxlSW5wdXQuc2V0QXR0cmlidXRlKCJhY2NlcHQiLGUub3B0aW9ucy5hY2NlcHRlZEZpbGVzKSxudWxsIT1lLm9wdGlvbnMuY2FwdHVyZSYmZS5oaWRkZW5GaWxlSW5wdXQuc2V0QXR0cmlidXRlKCJjYXB0dXJlIixlLm9wdGlvbnMuY2FwdHVyZSksZS5oaWRkZW5GaWxlSW5wdXQuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixlLmhpZGRlbkZpbGVJbnB1dC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGUuaGlkZGVuRmlsZUlucHV0LnN0eWxlLnRvcD0iMCIsZS5oaWRkZW5GaWxlSW5wdXQuc3R5bGUubGVmdD0iMCIsZS5oaWRkZW5GaWxlSW5wdXQuc3R5bGUuaGVpZ2h0PSIwIixlLmhpZGRlbkZpbGVJbnB1dC5zdHlsZS53aWR0aD0iMCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlLmhpZGRlbkZpbGVJbnB1dCksZS5oaWRkZW5GaWxlSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3ZhciB0LG4sbyxyO2lmKG49ZS5oaWRkZW5GaWxlSW5wdXQuZmlsZXMsbi5sZW5ndGgpZm9yKG89MCxyPW4ubGVuZ3RoO3I+bztvKyspdD1uW29dLGUuYWRkRmlsZSh0KTtyZXR1cm4gaSgpfSl9fSh0aGlzKSkoKSx0aGlzLlVSTD1udWxsIT0ocz13aW5kb3cuVVJMKT9zOndpbmRvdy53ZWJraXRVUkwsYT10aGlzLmV2ZW50cyxvPTAscj1hLmxlbmd0aDtyPm87bysrKWU9YVtvXSx0aGlzLm9uKGUsdGhpcy5vcHRpb25zW2VdKTtyZXR1cm4gdGhpcy5vbigidXBsb2FkcHJvZ3Jlc3MiLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlLnVwZGF0ZVRvdGFsVXBsb2FkUHJvZ3Jlc3MoKX19KHRoaXMpKSx0aGlzLm9uKCJyZW1vdmVkZmlsZSIsZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUudXBkYXRlVG90YWxVcGxvYWRQcm9ncmVzcygpfX0odGhpcykpLHRoaXMub24oImNhbmNlbGVkIixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuZW1pdCgiY29tcGxldGUiLHQpfX0odGhpcykpLHRoaXMub24oImNvbXBsZXRlIixmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gMD09PWUuZ2V0VXBsb2FkaW5nRmlsZXMoKS5sZW5ndGgmJjA9PT1lLmdldFF1ZXVlZEZpbGVzKCkubGVuZ3RoP3NldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gZS5lbWl0KCJxdWV1ZWNvbXBsZXRlIil9LDApOnZvaWQgMH19KHRoaXMpKSx0PWZ1bmN0aW9uKGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOmUucmV0dXJuVmFsdWU9ITF9LHRoaXMubGlzdGVuZXJzPVt7ZWxlbWVudDp0aGlzLmVsZW1lbnQsZXZlbnRzOntkcmFnc3RhcnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlLmVtaXQoImRyYWdzdGFydCIsdCl9fSh0aGlzKSxkcmFnZW50ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0KG4pLGUuZW1pdCgiZHJhZ2VudGVyIixuKX19KHRoaXMpLGRyYWdvdmVyOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgaTt0cnl7aT1uLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkfWNhdGNoKG8pe31yZXR1cm4gbi5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0ibW92ZSI9PT1pfHwibGlua01vdmUiPT09aT8ibW92ZSI6ImNvcHkiLHQobiksZS5lbWl0KCJkcmFnb3ZlciIsbil9fSh0aGlzKSxkcmFnbGVhdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlLmVtaXQoImRyYWdsZWF2ZSIsdCl9fSh0aGlzKSxkcm9wOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdChuKSxlLmRyb3Aobil9fSh0aGlzKSxkcmFnZW5kOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5lbWl0KCJkcmFnZW5kIix0KX19KHRoaXMpfX1dLHRoaXMuY2xpY2thYmxlRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUubGlzdGVuZXJzLnB1c2goe2VsZW1lbnQ6dCxldmVudHM6e2NsaWNrOmZ1bmN0aW9uKGkpe3JldHVybiB0IT09ZS5lbGVtZW50fHxpLnRhcmdldD09PWUuZWxlbWVudHx8bi5lbGVtZW50SW5zaWRlKGkudGFyZ2V0LGUuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuZHotbWVzc2FnZSIpKT9lLmhpZGRlbkZpbGVJbnB1dC5jbGljaygpOnZvaWQgMH19fSl9fSh0aGlzKSksdGhpcy5lbmFibGUoKSx0aGlzLm9wdGlvbnMuaW5pdC5jYWxsKHRoaXMpfSxuLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIHRoaXMuZGlzYWJsZSgpLHRoaXMucmVtb3ZlQWxsRmlsZXMoITApLChudWxsIT0oZT10aGlzLmhpZGRlbkZpbGVJbnB1dCk/ZS5wYXJlbnROb2RlOnZvaWQgMCkmJih0aGlzLmhpZGRlbkZpbGVJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuaGlkZGVuRmlsZUlucHV0KSx0aGlzLmhpZGRlbkZpbGVJbnB1dD1udWxsKSxkZWxldGUgdGhpcy5lbGVtZW50LmRyb3B6b25lLG4uaW5zdGFuY2VzLnNwbGljZShuLmluc3RhbmNlcy5pbmRleE9mKHRoaXMpLDEpfSxuLnByb3RvdHlwZS51cGRhdGVUb3RhbFVwbG9hZFByb2dyZXNzPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLGksbyxyLHMsYTtpZihpPTAsbj0wLGU9dGhpcy5nZXRBY3RpdmVGaWxlcygpLGUubGVuZ3RoKXtmb3IoYT10aGlzLmdldEFjdGl2ZUZpbGVzKCkscj0wLHM9YS5sZW5ndGg7cz5yO3IrKyl0PWFbcl0saSs9dC51cGxvYWQuYnl0ZXNTZW50LG4rPXQudXBsb2FkLnRvdGFsO289MTAwKmkvbn1lbHNlIG89MTAwO3JldHVybiB0aGlzLmVtaXQoInRvdGFsdXBsb2FkcHJvZ3Jlc3MiLG8sbixpKX0sbi5wcm90b3R5cGUuX2dldFBhcmFtTmFtZT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5vcHRpb25zLnBhcmFtTmFtZT90aGlzLm9wdGlvbnMucGFyYW1OYW1lKGUpOiIiK3RoaXMub3B0aW9ucy5wYXJhbU5hbWUrKHRoaXMub3B0aW9ucy51cGxvYWRNdWx0aXBsZT8iWyIrZSsiXSI6IiIpfSxuLnByb3RvdHlwZS5nZXRGYWxsYmFja0Zvcm09ZnVuY3Rpb24oKXt2YXIgZSx0LGksbztyZXR1cm4oZT10aGlzLmdldEV4aXN0aW5nRmFsbGJhY2soKSk/ZTooaT0nPGRpdiBjbGFzcz0iZHotZmFsbGJhY2siPicsdGhpcy5vcHRpb25zLmRpY3RGYWxsYmFja1RleHQmJihpKz0iPHA+Iit0aGlzLm9wdGlvbnMuZGljdEZhbGxiYWNrVGV4dCsiPC9wPiIpLGkrPSc8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iJyt0aGlzLl9nZXRQYXJhbU5hbWUoMCkrJyIgJysodGhpcy5vcHRpb25zLnVwbG9hZE11bHRpcGxlPydtdWx0aXBsZT0ibXVsdGlwbGUiJzp2b2lkIDApKycgLz48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVXBsb2FkISI+PC9kaXY+Jyx0PW4uY3JlYXRlRWxlbWVudChpKSwiRk9STSIhPT10aGlzLmVsZW1lbnQudGFnTmFtZT8obz1uLmNyZWF0ZUVsZW1lbnQoJzxmb3JtIGFjdGlvbj0iJyt0aGlzLm9wdGlvbnMudXJsKyciIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iJyt0aGlzLm9wdGlvbnMubWV0aG9kKyciPjwvZm9ybT4nKSxvLmFwcGVuZENoaWxkKHQpKToodGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsIm11bHRpcGFydC9mb3JtLWRhdGEiKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJtZXRob2QiLHRoaXMub3B0aW9ucy5tZXRob2QpKSxudWxsIT1vP286dCl9LG4ucHJvdG90eXBlLmdldEV4aXN0aW5nRmFsbGJhY2s9ZnVuY3Rpb24oKXt2YXIgZSx0LG4saSxvLHI7Zm9yKHQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixpO2ZvcihuPTAsaT1lLmxlbmd0aDtpPm47bisrKWlmKHQ9ZVtuXSwvKF58IClmYWxsYmFjaygkfCApLy50ZXN0KHQuY2xhc3NOYW1lKSlyZXR1cm4gdH0scj1bImRpdiIsImZvcm0iXSxpPTAsbz1yLmxlbmd0aDtvPmk7aSsrKWlmKG49cltpXSxlPXQodGhpcy5lbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKG4pKSlyZXR1cm4gZX0sbi5wcm90b3R5cGUuc2V0dXBFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlLHQsbixpLG8scixzO2ZvcihyPXRoaXMubGlzdGVuZXJzLHM9W10saT0wLG89ci5sZW5ndGg7bz5pO2krKyllPXJbaV0scy5wdXNoKGZ1bmN0aW9uKCl7dmFyIGksbztpPWUuZXZlbnRzLG89W107Zm9yKHQgaW4gaSluPWlbdF0sby5wdXNoKGUuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHQsbiwhMSkpO3JldHVybiBvfSgpKTtyZXR1cm4gc30sbi5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgZSx0LG4saSxvLHIscztmb3Iocj10aGlzLmxpc3RlbmVycyxzPVtdLGk9MCxvPXIubGVuZ3RoO28+aTtpKyspZT1yW2ldLHMucHVzaChmdW5jdGlvbigpe3ZhciBpLG87aT1lLmV2ZW50cyxvPVtdO2Zvcih0IGluIGkpbj1pW3RdLG8ucHVzaChlLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sITEpKTtyZXR1cm4gb30oKSk7cmV0dXJuIHN9LG4ucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXt2YXIgZSx0LG4saSxvO2Zvcih0aGlzLmNsaWNrYWJsZUVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2xhc3NMaXN0LnJlbW92ZSgiZHotY2xpY2thYmxlIil9KSx0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXJzKCksaT10aGlzLmZpbGVzLG89W10sdD0wLG49aS5sZW5ndGg7bj50O3QrKyllPWlbdF0sby5wdXNoKHRoaXMuY2FuY2VsVXBsb2FkKGUpKTtyZXR1cm4gb30sbi5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xpY2thYmxlRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc0xpc3QuYWRkKCJkei1jbGlja2FibGUiKX0pLHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpfSxuLnByb3RvdHlwZS5maWxlc2l6ZT1mdW5jdGlvbihlKXt2YXIgdCxuLGksbyxyLHMsYSxsO2ZvcihzPVsiVEIiLCJHQiIsIk1CIiwiS0IiLCJiIl0saT1vPW51bGwsbj1hPTAsbD1zLmxlbmd0aDtsPmE7bj0rK2EpaWYocj1zW25dLHQ9TWF0aC5wb3codGhpcy5vcHRpb25zLmZpbGVzaXplQmFzZSw0LW4pLzEwLGU+PXQpe2k9ZS9NYXRoLnBvdyh0aGlzLm9wdGlvbnMuZmlsZXNpemVCYXNlLDQtbiksbz1yO2JyZWFrfXJldHVybiBpPU1hdGgucm91bmQoMTAqaSkvMTAsIjxzdHJvbmc+IitpKyI8L3N0cm9uZz4gIitvfSxuLnByb3RvdHlwZS5fdXBkYXRlTWF4RmlsZXNSZWFjaGVkQ2xhc3M9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9dGhpcy5vcHRpb25zLm1heEZpbGVzJiZ0aGlzLmdldEFjY2VwdGVkRmlsZXMoKS5sZW5ndGg+PXRoaXMub3B0aW9ucy5tYXhGaWxlcz8odGhpcy5nZXRBY2NlcHRlZEZpbGVzKCkubGVuZ3RoPT09dGhpcy5vcHRpb25zLm1heEZpbGVzJiZ0aGlzLmVtaXQoIm1heGZpbGVzcmVhY2hlZCIsdGhpcy5maWxlcyksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoImR6LW1heC1maWxlcy1yZWFjaGVkIikpOnRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJkei1tYXgtZmlsZXMtcmVhY2hlZCIpfSxuLnByb3RvdHlwZS5kcm9wPWZ1bmN0aW9uKGUpe3ZhciB0LG47ZS5kYXRhVHJhbnNmZXImJih0aGlzLmVtaXQoImRyb3AiLGUpLHQ9ZS5kYXRhVHJhbnNmZXIuZmlsZXMsdC5sZW5ndGgmJihuPWUuZGF0YVRyYW5zZmVyLml0ZW1zLG4mJm4ubGVuZ3RoJiZudWxsIT1uWzBdLndlYmtpdEdldEFzRW50cnk/dGhpcy5fYWRkRmlsZXNGcm9tSXRlbXMobik6dGhpcy5oYW5kbGVGaWxlcyh0KSkpfSxuLnByb3RvdHlwZS5wYXN0ZT1mdW5jdGlvbihlKXt2YXIgdCxuO2lmKG51bGwhPShudWxsIT1lJiZudWxsIT0obj1lLmNsaXBib2FyZERhdGEpP24uaXRlbXM6dm9pZCAwKSlyZXR1cm4gdGhpcy5lbWl0KCJwYXN0ZSIsZSksdD1lLmNsaXBib2FyZERhdGEuaXRlbXMsdC5sZW5ndGg/dGhpcy5fYWRkRmlsZXNGcm9tSXRlbXModCk6dm9pZCAwfSxuLnByb3RvdHlwZS5oYW5kbGVGaWxlcz1mdW5jdGlvbihlKXt2YXIgdCxuLGksbztmb3Iobz1bXSxuPTAsaT1lLmxlbmd0aDtpPm47bisrKXQ9ZVtuXSxvLnB1c2godGhpcy5hZGRGaWxlKHQpKTtyZXR1cm4gb30sbi5wcm90b3R5cGUuX2FkZEZpbGVzRnJvbUl0ZW1zPWZ1bmN0aW9uKGUpe3ZhciB0LG4saSxvLHI7Zm9yKHI9W10saT0wLG89ZS5sZW5ndGg7bz5pO2krKyluPWVbaV0sci5wdXNoKG51bGwhPW4ud2Via2l0R2V0QXNFbnRyeSYmKHQ9bi53ZWJraXRHZXRBc0VudHJ5KCkpP3QuaXNGaWxlP3RoaXMuYWRkRmlsZShuLmdldEFzRmlsZSgpKTp0LmlzRGlyZWN0b3J5P3RoaXMuX2FkZEZpbGVzRnJvbURpcmVjdG9yeSh0LHQubmFtZSk6dm9pZCAwOm51bGwhPW4uZ2V0QXNGaWxlP251bGw9PW4ua2luZHx8ImZpbGUiPT09bi5raW5kP3RoaXMuYWRkRmlsZShuLmdldEFzRmlsZSgpKTp2b2lkIDA6dm9pZCAwKTtyZXR1cm4gcn0sbi5wcm90b3R5cGUuX2FkZEZpbGVzRnJvbURpcmVjdG9yeT1mdW5jdGlvbihlLHQpe3ZhciBuLGk7cmV0dXJuIG49ZS5jcmVhdGVSZWFkZXIoKSxpPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgaSxvLHI7Zm9yKG89MCxyPW4ubGVuZ3RoO3I+bztvKyspaT1uW29dLGkuaXNGaWxlP2kuZmlsZShmdW5jdGlvbihuKXtyZXR1cm4gZS5vcHRpb25zLmlnbm9yZUhpZGRlbkZpbGVzJiYiLiI9PT1uLm5hbWUuc3Vic3RyaW5nKDAsMSk/dm9pZCAwOihuLmZ1bGxQYXRoPSIiK3QrIi8iK24ubmFtZSxlLmFkZEZpbGUobikpfSk6aS5pc0RpcmVjdG9yeSYmZS5fYWRkRmlsZXNGcm9tRGlyZWN0b3J5KGksIiIrdCsiLyIraS5uYW1lKX19KHRoaXMpLG4ucmVhZEVudHJpZXMoaSxmdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJm51bGwhPT1jb25zb2xlJiYiZnVuY3Rpb24iPT10eXBlb2YgY29uc29sZS5sb2c/Y29uc29sZS5sb2coZSk6dm9pZCAwfSl9LG4ucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbihlLHQpe3JldHVybiBlLnNpemU+MTAyNCp0aGlzLm9wdGlvbnMubWF4RmlsZXNpemUqMTAyND90KHRoaXMub3B0aW9ucy5kaWN0RmlsZVRvb0JpZy5yZXBsYWNlKCJ7e2ZpbGVzaXplfX0iLE1hdGgucm91bmQoZS5zaXplLzEwMjQvMTAuMjQpLzEwMCkucmVwbGFjZSgie3ttYXhGaWxlc2l6ZX19Iix0aGlzLm9wdGlvbnMubWF4RmlsZXNpemUpKTpuLmlzVmFsaWRGaWxlKGUsdGhpcy5vcHRpb25zLmFjY2VwdGVkRmlsZXMpP251bGwhPXRoaXMub3B0aW9ucy5tYXhGaWxlcyYmdGhpcy5nZXRBY2NlcHRlZEZpbGVzKCkubGVuZ3RoPj10aGlzLm9wdGlvbnMubWF4RmlsZXM/KHQodGhpcy5vcHRpb25zLmRpY3RNYXhGaWxlc0V4Y2VlZGVkLnJlcGxhY2UoInt7bWF4RmlsZXN9fSIsdGhpcy5vcHRpb25zLm1heEZpbGVzKSksdGhpcy5lbWl0KCJtYXhmaWxlc2V4Y2VlZGVkIixlKSk6dGhpcy5vcHRpb25zLmFjY2VwdC5jYWxsKHRoaXMsZSx0KTp0KHRoaXMub3B0aW9ucy5kaWN0SW52YWxpZEZpbGVUeXBlKX0sbi5wcm90b3R5cGUuYWRkRmlsZT1mdW5jdGlvbihlKXtyZXR1cm4gZS51cGxvYWQ9e3Byb2dyZXNzOjAsdG90YWw6ZS5zaXplLGJ5dGVzU2VudDowfSx0aGlzLmZpbGVzLnB1c2goZSksZS5zdGF0dXM9bi5BRERFRCx0aGlzLmVtaXQoImFkZGVkZmlsZSIsZSksdGhpcy5fZW5xdWV1ZVRodW1ibmFpbChlKSx0aGlzLmFjY2VwdChlLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbj8oZS5hY2NlcHRlZD0hMSx0Ll9lcnJvclByb2Nlc3NpbmcoW2VdLG4pKTooZS5hY2NlcHRlZD0hMCx0Lm9wdGlvbnMuYXV0b1F1ZXVlJiZ0LmVucXVldWVGaWxlKGUpKSx0Ll91cGRhdGVNYXhGaWxlc1JlYWNoZWRDbGFzcygpfX0odGhpcykpfSxuLnByb3RvdHlwZS5lbnF1ZXVlRmlsZXM9ZnVuY3Rpb24oZSl7dmFyIHQsbixpO2ZvcihuPTAsaT1lLmxlbmd0aDtpPm47bisrKXQ9ZVtuXSx0aGlzLmVucXVldWVGaWxlKHQpO3JldHVybiBudWxsfSxuLnByb3RvdHlwZS5lbnF1ZXVlRmlsZT1mdW5jdGlvbihlKXtpZihlLnN0YXR1cyE9PW4uQURERUR8fGUuYWNjZXB0ZWQhPT0hMCl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgZmlsZSBjYW4ndCBiZSBxdWV1ZWQgYmVjYXVzZSBpdCBoYXMgYWxyZWFkeSBiZWVuIHByb2Nlc3NlZCBvciB3YXMgcmVqZWN0ZWQuIik7cmV0dXJuIGUuc3RhdHVzPW4uUVVFVUVELHRoaXMub3B0aW9ucy5hdXRvUHJvY2Vzc1F1ZXVlP3NldFRpbWVvdXQoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUucHJvY2Vzc1F1ZXVlKCl9fSh0aGlzKSwwKTp2b2lkIDB9LG4ucHJvdG90eXBlLl90aHVtYm5haWxRdWV1ZT1bXSxuLnByb3RvdHlwZS5fcHJvY2Vzc2luZ1RodW1ibmFpbD0hMSxuLnByb3RvdHlwZS5fZW5xdWV1ZVRodW1ibmFpbD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vcHRpb25zLmNyZWF0ZUltYWdlVGh1bWJuYWlscyYmZS50eXBlLm1hdGNoKC9pbWFnZS4qLykmJmUuc2l6ZTw9MTAyNCp0aGlzLm9wdGlvbnMubWF4VGh1bWJuYWlsRmlsZXNpemUqMTAyND8odGhpcy5fdGh1bWJuYWlsUXVldWUucHVzaChlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlLl9wcm9jZXNzVGh1bWJuYWlsUXVldWUoKX19KHRoaXMpLDApKTp2b2lkIDB9LG4ucHJvdG90eXBlLl9wcm9jZXNzVGh1bWJuYWlsUXVldWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvY2Vzc2luZ1RodW1ibmFpbHx8MD09PXRoaXMuX3RodW1ibmFpbFF1ZXVlLmxlbmd0aD92b2lkIDA6KHRoaXMuX3Byb2Nlc3NpbmdUaHVtYm5haWw9ITAsdGhpcy5jcmVhdGVUaHVtYm5haWwodGhpcy5fdGh1bWJuYWlsUXVldWUuc2hpZnQoKSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5fcHJvY2Vzc2luZ1RodW1ibmFpbD0hMSxlLl9wcm9jZXNzVGh1bWJuYWlsUXVldWUoKX19KHRoaXMpKSl9LG4ucHJvdG90eXBlLnJlbW92ZUZpbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RhdHVzPT09bi5VUExPQURJTkcmJnRoaXMuY2FuY2VsVXBsb2FkKGUpLHRoaXMuZmlsZXM9YSh0aGlzLmZpbGVzLGUpLHRoaXMuZW1pdCgicmVtb3ZlZGZpbGUiLGUpLDA9PT10aGlzLmZpbGVzLmxlbmd0aD90aGlzLmVtaXQoInJlc2V0Iik6dm9pZCAwfSxuLnByb3RvdHlwZS5yZW1vdmVBbGxGaWxlcz1mdW5jdGlvbihlKXt2YXIgdCxpLG8scjtmb3IobnVsbD09ZSYmKGU9ITEpLHI9dGhpcy5maWxlcy5zbGljZSgpLGk9MCxvPXIubGVuZ3RoO28+aTtpKyspdD1yW2ldLCh0LnN0YXR1cyE9PW4uVVBMT0FESU5HfHxlKSYmdGhpcy5yZW1vdmVGaWxlKHQpO3JldHVybiBudWxsfSxuLnByb3RvdHlwZS5jcmVhdGVUaHVtYm5haWw9ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4gbj1uZXcgRmlsZVJlYWRlcixuLm9ubG9hZD1mdW5jdGlvbihpKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4iaW1hZ2Uvc3ZnK3htbCI9PT1lLnR5cGU/KGkuZW1pdCgidGh1bWJuYWlsIixlLG4ucmVzdWx0KSx2b2lkKG51bGwhPXQmJnQoKSkpOmkuY3JlYXRlVGh1bWJuYWlsRnJvbVVybChlLG4ucmVzdWx0LHQpfX0odGhpcyksbi5yZWFkQXNEYXRhVVJMKGUpfSxuLnByb3RvdHlwZS5jcmVhdGVUaHVtYm5haWxGcm9tVXJsPWZ1bmN0aW9uKGUsdCxuKXt2YXIgaTtyZXR1cm4gaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSxpLm9ubG9hZD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbyxzLGEsbCxjLHUsZCxwO3JldHVybiBlLndpZHRoPWkud2lkdGgsZS5oZWlnaHQ9aS5oZWlnaHQsYT10Lm9wdGlvbnMucmVzaXplLmNhbGwodCxlKSxudWxsPT1hLnRyZ1dpZHRoJiYoYS50cmdXaWR0aD1hLm9wdFdpZHRoKSxudWxsPT1hLnRyZ0hlaWdodCYmKGEudHJnSGVpZ2h0PWEub3B0SGVpZ2h0KSxvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHM9by5nZXRDb250ZXh0KCIyZCIpLG8ud2lkdGg9YS50cmdXaWR0aCxvLmhlaWdodD1hLnRyZ0hlaWdodCxyKHMsaSxudWxsIT0oYz1hLnNyY1gpP2M6MCxudWxsIT0odT1hLnNyY1kpP3U6MCxhLnNyY1dpZHRoLGEuc3JjSGVpZ2h0LG51bGwhPShkPWEudHJnWCk/ZDowLG51bGwhPShwPWEudHJnWSk/cDowLGEudHJnV2lkdGgsYS50cmdIZWlnaHQpLGw9by50b0RhdGFVUkwoImltYWdlL3BuZyIpLHQuZW1pdCgidGh1bWJuYWlsIixlLGwpLG51bGwhPW4/bigpOnZvaWQgMH19KHRoaXMpLG51bGwhPW4mJihpLm9uZXJyb3I9biksaS5zcmM9dH0sbi5wcm90b3R5cGUucHJvY2Vzc1F1ZXVlPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLGk7aWYodD10aGlzLm9wdGlvbnMucGFyYWxsZWxVcGxvYWRzLG49dGhpcy5nZXRVcGxvYWRpbmdGaWxlcygpLmxlbmd0aCxlPW4sIShuPj10KSYmKGk9dGhpcy5nZXRRdWV1ZWRGaWxlcygpLGkubGVuZ3RoPjApKXtpZih0aGlzLm9wdGlvbnMudXBsb2FkTXVsdGlwbGUpcmV0dXJuIHRoaXMucHJvY2Vzc0ZpbGVzKGkuc2xpY2UoMCx0LW4pKTtmb3IoO3Q+ZTspe2lmKCFpLmxlbmd0aClyZXR1cm47dGhpcy5wcm9jZXNzRmlsZShpLnNoaWZ0KCkpLGUrK319fSxuLnByb3RvdHlwZS5wcm9jZXNzRmlsZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wcm9jZXNzRmlsZXMoW2VdKX0sbi5wcm90b3R5cGUucHJvY2Vzc0ZpbGVzPWZ1bmN0aW9uKGUpe3ZhciB0LGksbztmb3IoaT0wLG89ZS5sZW5ndGg7bz5pO2krKyl0PWVbaV0sdC5wcm9jZXNzaW5nPSEwLHQuc3RhdHVzPW4uVVBMT0FESU5HLHRoaXMuZW1pdCgicHJvY2Vzc2luZyIsdCk7cmV0dXJuIHRoaXMub3B0aW9ucy51cGxvYWRNdWx0aXBsZSYmdGhpcy5lbWl0KCJwcm9jZXNzaW5nbXVsdGlwbGUiLGUpLHRoaXMudXBsb2FkRmlsZXMoZSl9LG4ucHJvdG90eXBlLl9nZXRGaWxlc1dpdGhYaHI9ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4gbj1mdW5jdGlvbigpe3ZhciBuLGksbyxyO2ZvcihvPXRoaXMuZmlsZXMscj1bXSxuPTAsaT1vLmxlbmd0aDtpPm47bisrKXQ9b1tuXSx0Lnhocj09PWUmJnIucHVzaCh0KTtyZXR1cm4gcn0uY2FsbCh0aGlzKX0sbi5wcm90b3R5cGUuY2FuY2VsVXBsb2FkPWZ1bmN0aW9uKGUpe3ZhciB0LGksbyxyLHMsYSxsO2lmKGUuc3RhdHVzPT09bi5VUExPQURJTkcpe2ZvcihpPXRoaXMuX2dldEZpbGVzV2l0aFhocihlLnhociksbz0wLHM9aS5sZW5ndGg7cz5vO28rKyl0PWlbb10sdC5zdGF0dXM9bi5DQU5DRUxFRDtmb3IoZS54aHIuYWJvcnQoKSxyPTAsYT1pLmxlbmd0aDthPnI7cisrKXQ9aVtyXSx0aGlzLmVtaXQoImNhbmNlbGVkIix0KTt0aGlzLm9wdGlvbnMudXBsb2FkTXVsdGlwbGUmJnRoaXMuZW1pdCgiY2FuY2VsZWRtdWx0aXBsZSIsaSl9ZWxzZSgobD1lLnN0YXR1cyk9PT1uLkFEREVEfHxsPT09bi5RVUVVRUQpJiYoZS5zdGF0dXM9bi5DQU5DRUxFRCx0aGlzLmVtaXQoImNhbmNlbGVkIixlKSx0aGlzLm9wdGlvbnMudXBsb2FkTXVsdGlwbGUmJnRoaXMuZW1pdCgiY2FuY2VsZWRtdWx0aXBsZSIsW2VdKSk7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvUHJvY2Vzc1F1ZXVlP3RoaXMucHJvY2Vzc1F1ZXVlKCk6dm9pZCAwfSxvPWZ1bmN0aW9uKCl7dmFyIGUsdDtyZXR1cm4gdD1hcmd1bWVudHNbMF0sZT0yPD1hcmd1bWVudHMubGVuZ3RoP2wuY2FsbChhcmd1bWVudHMsMSk6W10sImZ1bmN0aW9uIj09dHlwZW9mIHQ/dC5hcHBseSh0aGlzLGUpOnR9LG4ucHJvdG90eXBlLnVwbG9hZEZpbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudXBsb2FkRmlsZXMoW2VdKX0sbi5wcm90b3R5cGUudXBsb2FkRmlsZXM9ZnVuY3Rpb24oZSl7dmFyIHQscixzLGEsbCxjLHUsZCxwLGgsZixtLGcsdix5LGIsdyx4LEMsayxULEUsJCxOLF8sUyxELEEsTSxMLFAsRixPLEk7Zm9yKEM9bmV3IFhNTEh0dHBSZXF1ZXN0LGs9MCxOPWUubGVuZ3RoO04+aztrKyspdD1lW2tdLHQueGhyPUM7bT1vKHRoaXMub3B0aW9ucy5tZXRob2QsZSksdz1vKHRoaXMub3B0aW9ucy51cmwsZSksQy5vcGVuKG0sdywhMCksQy53aXRoQ3JlZGVudGlhbHM9ISF0aGlzLm9wdGlvbnMud2l0aENyZWRlbnRpYWxzLHk9bnVsbCxzPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpLG8scjtmb3Iocj1bXSxpPTAsbz1lLmxlbmd0aDtvPmk7aSsrKXQ9ZVtpXSxyLnB1c2gobi5fZXJyb3JQcm9jZXNzaW5nKGUseXx8bi5vcHRpb25zLmRpY3RSZXNwb25zZUVycm9yLnJlcGxhY2UoInt7c3RhdHVzQ29kZX19IixDLnN0YXR1cyksQykpO3JldHVybiByfX0odGhpcyksYj1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG8scixzLGEsbCxjLHUsZCxwO2lmKG51bGwhPWkpZm9yKHI9MTAwKmkubG9hZGVkL2kudG90YWwscz0wLGM9ZS5sZW5ndGg7Yz5zO3MrKyl0PWVbc10sdC51cGxvYWQ9e3Byb2dyZXNzOnIsdG90YWw6aS50b3RhbCxieXRlc1NlbnQ6aS5sb2FkZWR9O2Vsc2V7Zm9yKG89ITAscj0xMDAsYT0wLHU9ZS5sZW5ndGg7dT5hO2ErKyl0PWVbYV0sKDEwMCE9PXQudXBsb2FkLnByb2dyZXNzfHx0LnVwbG9hZC5ieXRlc1NlbnQhPT10LnVwbG9hZC50b3RhbCkmJihvPSExKSx0LnVwbG9hZC5wcm9ncmVzcz1yLHQudXBsb2FkLmJ5dGVzU2VudD10LnVwbG9hZC50b3RhbDtpZihvKXJldHVybn1mb3IocD1bXSxsPTAsZD1lLmxlbmd0aDtkPmw7bCsrKXQ9ZVtsXSxwLnB1c2gobi5lbWl0KCJ1cGxvYWRwcm9ncmVzcyIsdCxyLHQudXBsb2FkLmJ5dGVzU2VudCkpO3JldHVybiBwfX0odGhpcyksQy5vbmxvYWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGkpe3ZhciBvO2lmKGVbMF0uc3RhdHVzIT09bi5DQU5DRUxFRCYmND09PUMucmVhZHlTdGF0ZSl7aWYoeT1DLnJlc3BvbnNlVGV4dCxDLmdldFJlc3BvbnNlSGVhZGVyKCJjb250ZW50LXR5cGUiKSYmfkMuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpLmluZGV4T2YoImFwcGxpY2F0aW9uL2pzb24iKSl0cnl7eT1KU09OLnBhcnNlKHkpfWNhdGNoKHIpe2k9cix5PSJJbnZhbGlkIEpTT04gcmVzcG9uc2UgZnJvbSBzZXJ2ZXIuIn1yZXR1cm4gYigpLDIwMDw9KG89Qy5zdGF0dXMpJiYzMDA+bz90Ll9maW5pc2hlZChlLHksaSk6cygpfX19KHRoaXMpLEMub25lcnJvcj1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlWzBdLnN0YXR1cyE9PW4uQ0FOQ0VMRUQ/cygpOnZvaWQgMH19KHRoaXMpLHY9bnVsbCE9KE09Qy51cGxvYWQpP006Qyx2Lm9ucHJvZ3Jlc3M9YixjPXtBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLCJDYWNoZS1Db250cm9sIjoibm8tY2FjaGUiLCJYLVJlcXVlc3RlZC1XaXRoIjoiWE1MSHR0cFJlcXVlc3QifSx0aGlzLm9wdGlvbnMuaGVhZGVycyYmaShjLHRoaXMub3B0aW9ucy5oZWFkZXJzKTtmb3IoYSBpbiBjKWw9Y1thXSxDLnNldFJlcXVlc3RIZWFkZXIoYSxsKTtpZihyPW5ldyBGb3JtRGF0YSx0aGlzLm9wdGlvbnMucGFyYW1zKXtMPXRoaXMub3B0aW9ucy5wYXJhbXM7Zm9yKGYgaW4gTCl4PUxbZl0sci5hcHBlbmQoZix4KX1mb3IoVD0wLF89ZS5sZW5ndGg7Xz5UO1QrKyl0PWVbVF0sdGhpcy5lbWl0KCJzZW5kaW5nIix0LEMscik7aWYodGhpcy5vcHRpb25zLnVwbG9hZE11bHRpcGxlJiZ0aGlzLmVtaXQoInNlbmRpbmdtdWx0aXBsZSIsZSxDLHIpLCJGT1JNIj09PXRoaXMuZWxlbWVudC50YWdOYW1lKWZvcihQPXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCJpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgYnV0dG9uIiksRT0wLFM9UC5sZW5ndGg7Uz5FO0UrKylpZihkPVBbRV0scD1kLmdldEF0dHJpYnV0ZSgibmFtZSIpLGg9ZC5nZXRBdHRyaWJ1dGUoInR5cGUiKSwiU0VMRUNUIj09PWQudGFnTmFtZSYmZC5oYXNBdHRyaWJ1dGUoIm11bHRpcGxlIikpZm9yKEY9ZC5vcHRpb25zLCQ9MCxEPUYubGVuZ3RoO0Q+JDskKyspZz1GWyRdLGcuc2VsZWN0ZWQmJnIuYXBwZW5kKHAsZy52YWx1ZSk7ZWxzZSghaHx8ImNoZWNrYm94IiE9PShPPWgudG9Mb3dlckNhc2UoKSkmJiJyYWRpbyIhPT1PfHxkLmNoZWNrZWQpJiZyLmFwcGVuZChwLGQudmFsdWUpO2Zvcih1PUE9MCxJPWUubGVuZ3RoLTE7ST49MD9JPj1BOkE+PUk7dT1JPj0wPysrQTotLUEpci5hcHBlbmQodGhpcy5fZ2V0UGFyYW1OYW1lKHUpLGVbdV0sZVt1XS5uYW1lKTtyZXR1cm4gQy5zZW5kKHIpfSxuLnByb3RvdHlwZS5fZmluaXNoZWQ9ZnVuY3Rpb24oZSx0LGkpe3ZhciBvLHIscztmb3Iocj0wLHM9ZS5sZW5ndGg7cz5yO3IrKylvPWVbcl0sby5zdGF0dXM9bi5TVUNDRVNTLHRoaXMuZW1pdCgic3VjY2VzcyIsbyx0LGkpLHRoaXMuZW1pdCgiY29tcGxldGUiLG8pO3JldHVybiB0aGlzLm9wdGlvbnMudXBsb2FkTXVsdGlwbGUmJih0aGlzLmVtaXQoInN1Y2Nlc3NtdWx0aXBsZSIsZSx0LGkpLHRoaXMuZW1pdCgiY29tcGxldGVtdWx0aXBsZSIsZSkpLHRoaXMub3B0aW9ucy5hdXRvUHJvY2Vzc1F1ZXVlP3RoaXMucHJvY2Vzc1F1ZXVlKCk6dm9pZCAwfSxuLnByb3RvdHlwZS5fZXJyb3JQcm9jZXNzaW5nPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbyxyLHM7Zm9yKHI9MCxzPWUubGVuZ3RoO3M+cjtyKyspbz1lW3JdLG8uc3RhdHVzPW4uRVJST1IsdGhpcy5lbWl0KCJlcnJvciIsbyx0LGkpLHRoaXMuZW1pdCgiY29tcGxldGUiLG8pO3JldHVybiB0aGlzLm9wdGlvbnMudXBsb2FkTXVsdGlwbGUmJih0aGlzLmVtaXQoImVycm9ybXVsdGlwbGUiLGUsdCxpKSx0aGlzLmVtaXQoImNvbXBsZXRlbXVsdGlwbGUiLGUpKSx0aGlzLm9wdGlvbnMuYXV0b1Byb2Nlc3NRdWV1ZT90aGlzLnByb2Nlc3NRdWV1ZSgpOnZvaWQgMH0sbn0odCksZS52ZXJzaW9uPSI0LjAuMSIsZS5vcHRpb25zPXt9LGUub3B0aW9uc0ZvckVsZW1lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0QXR0cmlidXRlKCJpZCIpP2Uub3B0aW9uc1tuKHQuZ2V0QXR0cmlidXRlKCJpZCIpKV06dm9pZCAwfSxlLmluc3RhbmNlcz1bXSxlLmZvckVsZW1lbnQ9ZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpKSxudWxsPT0obnVsbCE9ZT9lLmRyb3B6b25lOnZvaWQgMCkpdGhyb3cgbmV3IEVycm9yKCJObyBEcm9wem9uZSBmb3VuZCBmb3IgZ2l2ZW4gZWxlbWVudC4gVGhpcyBpcyBwcm9iYWJseSBiZWNhdXNlIHlvdSdyZSB0cnlpbmcgdG8gYWNjZXNzIGl0IGJlZm9yZSBEcm9wem9uZSBoYWQgdGhlIHRpbWUgdG8gaW5pdGlhbGl6ZS4gVXNlIHRoZSBgaW5pdGAgb3B0aW9uIHRvIHNldHVwIGFueSBhZGRpdGlvbmFsIG9ic2VydmVycyBvbiB5b3VyIERyb3B6b25lLiIpO3JldHVybiBlLmRyb3B6b25lfSxlLmF1dG9EaXNjb3Zlcj0hMCxlLmRpc2NvdmVyPWZ1bmN0aW9uKCl7dmFyIHQsbixpLG8scixzO2Zvcihkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsP2k9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmRyb3B6b25lIik6KGk9W10sdD1mdW5jdGlvbihlKXt2YXIgdCxuLG8scjtmb3Iocj1bXSxuPTAsbz1lLmxlbmd0aDtvPm47bisrKXQ9ZVtuXSxyLnB1c2goLyhefCApZHJvcHpvbmUoJHwgKS8udGVzdCh0LmNsYXNzTmFtZSk/aS5wdXNoKHQpOnZvaWQgMCk7cmV0dXJuIHJ9LHQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpKSx0KGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIikpKSxzPVtdLG89MCxyPWkubGVuZ3RoO3I+bztvKyspbj1pW29dLHMucHVzaChlLm9wdGlvbnNGb3JFbGVtZW50KG4pIT09ITE/bmV3IGUobik6dm9pZCAwKTtyZXR1cm4gc30sZS5ibGFja2xpc3RlZEJyb3dzZXJzPVsvb3BlcmEuKk1hY2ludG9zaC4qdmVyc2lvblwvMTIvaV0sZS5pc0Jyb3dzZXJTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXt2YXIgdCxuLGksbyxyO2lmKHQ9ITAsd2luZG93LkZpbGUmJndpbmRvdy5GaWxlUmVhZGVyJiZ3aW5kb3cuRmlsZUxpc3QmJndpbmRvdy5CbG9iJiZ3aW5kb3cuRm9ybURhdGEmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IpaWYoImNsYXNzTGlzdCJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpZm9yKHI9ZS5ibGFja2xpc3RlZEJyb3dzZXJzLGk9MCxvPXIubGVuZ3RoO28+aTtpKyspbj1yW2ldLG4udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmKHQ9ITEpO2Vsc2UgdD0hMTtlbHNlIHQ9ITE7cmV0dXJuIHR9LGE9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8scjtmb3Iocj1bXSxpPTAsbz1lLmxlbmd0aDtvPmk7aSsrKW49ZVtpXSxuIT09dCYmci5wdXNoKG4pO3JldHVybiByfSxuPWZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1tcLV9dKFx3KS9nLGZ1bmN0aW9uKGUpe3JldHVybiBlLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfSl9LGUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0LmlubmVySFRNTD1lLHQuY2hpbGROb2Rlc1swXX0sZS5lbGVtZW50SW5zaWRlPWZ1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuITA7Zm9yKDtlPWUucGFyZW50Tm9kZTspaWYoZT09PXQpcmV0dXJuITA7cmV0dXJuITF9LGUuZ2V0RWxlbWVudD1mdW5jdGlvbihlLHQpe3ZhciBuO2lmKCJzdHJpbmciPT10eXBlb2YgZT9uPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSk6bnVsbCE9ZS5ub2RlVHlwZSYmKG49ZSksbnVsbD09bil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYCIrdCsiYCBvcHRpb24gcHJvdmlkZWQuIFBsZWFzZSBwcm92aWRlIGEgQ1NTIHNlbGVjdG9yIG9yIGEgcGxhaW4gSFRNTCBlbGVtZW50LiIpO3JldHVybiBufSxlLmdldEVsZW1lbnRzPWZ1bmN0aW9uKGUsdCl7dmFyIG4saSxvLHIscyxhLGwsYztpZihlIGluc3RhbmNlb2YgQXJyYXkpe289W107dHJ5e2ZvcihyPTAsYT1lLmxlbmd0aDthPnI7cisrKWk9ZVtyXSxvLnB1c2godGhpcy5nZXRFbGVtZW50KGksdCkpfWNhdGNoKHUpe249dSxvPW51bGx9fWVsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKWZvcihvPVtdLGM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChlKSxzPTAsbD1jLmxlbmd0aDtsPnM7cysrKWk9Y1tzXSxvLnB1c2goaSk7ZWxzZSBudWxsIT1lLm5vZGVUeXBlJiYobz1bZV0pO2lmKG51bGw9PW98fCFvLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYCIrdCsiYCBvcHRpb24gcHJvdmlkZWQuIFBsZWFzZSBwcm92aWRlIGEgQ1NTIHNlbGVjdG9yLCBhIHBsYWluIEhUTUwgZWxlbWVudCBvciBhIGxpc3Qgb2YgdGhvc2UuIik7cmV0dXJuIG99LGUuY29uZmlybT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHdpbmRvdy5jb25maXJtKGUpP3QoKTpudWxsIT1uP24oKTp2b2lkIDB9LGUuaXNWYWxpZEZpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8scixzO2lmKCF0KXJldHVybiEwO2Zvcih0PXQuc3BsaXQoIiwiKSxpPWUudHlwZSxuPWkucmVwbGFjZSgvXC8uKiQvLCIiKSxyPTAscz10Lmxlbmd0aDtzPnI7cisrKWlmKG89dFtyXSxvPW8udHJpbSgpLCIuIj09PW8uY2hhckF0KDApKXtpZigtMSE9PWUubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoby50b0xvd2VyQ2FzZSgpLGUubmFtZS5sZW5ndGgtby5sZW5ndGgpKXJldHVybiEwfWVsc2UgaWYoL1wvXCokLy50ZXN0KG8pKXtpZihuPT09by5yZXBsYWNlKC9cLy4qJC8sIiIpKXJldHVybiEwfWVsc2UgaWYoaT09PW8pcmV0dXJuITA7cmV0dXJuITF9LCJ1bmRlZmluZWQiIT10eXBlb2YgalF1ZXJ5JiZudWxsIT09alF1ZXJ5JiYoalF1ZXJ5LmZuLmRyb3B6b25lPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGUodGhpcyx0KX0pfSksInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm51bGwhPT1tb2R1bGU/bW9kdWxlLmV4cG9ydHM9ZTp3aW5kb3cuRHJvcHpvbmU9ZSxlLkFEREVEPSJhZGRlZCIsZS5RVUVVRUQ9InF1ZXVlZCIsZS5BQ0NFUFRFRD1lLlFVRVVFRCxlLlVQTE9BRElORz0idXBsb2FkaW5nIixlLlBST0NFU1NJTkc9ZS5VUExPQURJTkcsZS5DQU5DRUxFRD0iY2FuY2VsZWQiLGUuRVJST1I9ImVycm9yIixlLlNVQ0NFU1M9InN1Y2Nlc3MiLG89ZnVuY3Rpb24oZSl7dmFyIHQsbixpLG8scixzLGEsbCxjLHU7Zm9yKGE9ZS5uYXR1cmFsV2lkdGgscz1lLm5hdHVyYWxIZWlnaHQsbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxuLndpZHRoPTEsbi5oZWlnaHQ9cyxpPW4uZ2V0Q29udGV4dCgiMmQiKSxpLmRyYXdJbWFnZShlLDAsMCksbz1pLmdldEltYWdlRGF0YSgwLDAsMSxzKS5kYXRhLHU9MCxyPXMsbD1zO2w+dTspdD1vWzQqKGwtMSkrM10sMD09PXQ/cj1sOnU9bCxsPXIrdT4+MTtyZXR1cm4gYz1sL3MsMD09PWM/MTpjfSxyPWZ1bmN0aW9uKGUsdCxuLGkscixzLGEsbCxjLHUpe3ZhciBkO3JldHVybiBkPW8odCksZS5kcmF3SW1hZ2UodCxuLGkscixzLGEsbCxjLHUvZCl9LGk9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8scixzLGEsbCxjLHU7aWYobz0hMSx1PSEwLGk9ZS5kb2N1bWVudCxjPWkuZG9jdW1lbnRFbGVtZW50LG49aS5hZGRFdmVudExpc3RlbmVyPyJhZGRFdmVudExpc3RlbmVyIjoiYXR0YWNoRXZlbnQiLGw9aS5hZGRFdmVudExpc3RlbmVyPyJyZW1vdmVFdmVudExpc3RlbmVyIjoiZGV0YWNoRXZlbnQiLGE9aS5hZGRFdmVudExpc3RlbmVyPyIiOiJvbiIscj1mdW5jdGlvbihuKXtyZXR1cm4icmVhZHlzdGF0ZWNoYW5nZSIhPT1uLnR5cGV8fCJjb21wbGV0ZSI9PT1pLnJlYWR5U3RhdGU/KCgibG9hZCI9PT1uLnR5cGU/ZTppKVtsXShhK24udHlwZSxyLCExKSwhbyYmKG89ITApP3QuY2FsbChlLG4udHlwZXx8bik6dm9pZCAwKTp2b2lkIDB9LHM9ZnVuY3Rpb24oKXt2YXIgZTt0cnl7Yy5kb1Njcm9sbCgibGVmdCIpfWNhdGNoKHQpe3JldHVybiBlPXQsdm9pZCBzZXRUaW1lb3V0KHMsNTApfXJldHVybiByKCJwb2xsIil9LCJjb21wbGV0ZSIhPT1pLnJlYWR5U3RhdGUpe2lmKGkuY3JlYXRlRXZlbnRPYmplY3QmJmMuZG9TY3JvbGwpe3RyeXt1PSFlLmZyYW1lRWxlbWVudH1jYXRjaChkKXt9dSYmcygpfXJldHVybiBpW25dKGErIkRPTUNvbnRlbnRMb2FkZWQiLHIsITEpLGlbbl0oYSsicmVhZHlzdGF0ZWNoYW5nZSIsciwhMSksZVtuXShhKyJsb2FkIixyLCExKX19LGUuX2F1dG9EaXNjb3ZlckZ1bmN0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXV0b0Rpc2NvdmVyP2UuZGlzY292ZXIoKTp2b2lkIDB9LGkod2luZG93LGUuX2F1dG9EaXNjb3ZlckZ1bmN0aW9uKX0uY2FsbCh0aGlzKSxmdW5jdGlvbihlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUuYW1kLmpRdWVyeT9kZWZpbmUoWyJqcXVlcnkiXSxlKTplKGpRdWVyeSl9KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQpe3JldHVybiF0fHx2b2lkIDAhPT10LmFsbG93UGFnZVNjcm9sbHx8dm9pZCAwPT09dC5zd2lwZSYmdm9pZCAwPT09dC5zd2lwZVN0YXR1c3x8KHQuYWxsb3dQYWdlU2Nyb2xsPWMpLHZvaWQgMCE9PXQuY2xpY2smJnZvaWQgMD09PXQudGFwJiYodC50YXA9dC5jbGljayksdHx8KHQ9e30pLHQ9ZS5leHRlbmQoe30sZS5mbi5zd2lwZS5kZWZhdWx0cyx0KSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lKHRoaXMpLG89aS5kYXRhKE4pO298fChvPW5ldyBuKHRoaXMsdCksaS5kYXRhKE4sbykpfSl9ZnVuY3Rpb24gbih0LG4pe2Z1bmN0aW9uIF8odCl7aWYoIShjdCgpfHxlKHQudGFyZ2V0KS5jbG9zZXN0KG4uZXhjbHVkZWRFbGVtZW50cyxxdCkubGVuZ3RoPjApKXt2YXIgaSxvPXQub3JpZ2luYWxFdmVudD90Lm9yaWdpbmFsRXZlbnQ6dCxyPVQ/by50b3VjaGVzWzBdOm87cmV0dXJuIFV0PXcsVD9YdD1vLnRvdWNoZXMubGVuZ3RoOnQucHJldmVudERlZmF1bHQoKSxGdD0wLE90PW51bGwsUnQ9bnVsbCxJdD0wLEh0PTAsanQ9MCx6dD0xLFd0PTAsWXQ9ZnQoKSxCdD12dCgpLGF0KCksIVR8fFh0PT09bi5maW5nZXJzfHxuLmZpbmdlcnM9PT15fHxCKCk/KGR0KDAsciksUXQ9JHQoKSwyPT1YdCYmKGR0KDEsby50b3VjaGVzWzFdKSxIdD1qdD13dChZdFswXS5zdGFydCxZdFsxXS5zdGFydCkpLChuLnN3aXBlU3RhdHVzfHxuLnBpbmNoU3RhdHVzKSYmKGk9RihvLFV0KSkpOmk9ITEsaT09PSExPyhVdD1rLEYobyxVdCksaSk6KG4uaG9sZCYmKGVuPXNldFRpbWVvdXQoZS5wcm94eShmdW5jdGlvbigpe3F0LnRyaWdnZXIoImhvbGQiLFtvLnRhcmdldF0pLG4uaG9sZCYmKGk9bi5ob2xkLmNhbGwocXQsbyxvLnRhcmdldCkpfSx0aGlzKSxuLmxvbmdUYXBUaHJlc2hvbGQpKSx1dCghMCksbnVsbCl9fWZ1bmN0aW9uIFMoZSl7dmFyIHQ9ZS5vcmlnaW5hbEV2ZW50P2Uub3JpZ2luYWxFdmVudDplO2lmKFV0IT09QyYmVXQhPT1rJiYhbHQoKSl7dmFyIGksbz1UP3QudG91Y2hlc1swXTp0LHI9cHQobyk7aWYoS3Q9JHQoKSxUJiYoWHQ9dC50b3VjaGVzLmxlbmd0aCksbi5ob2xkJiZjbGVhclRpbWVvdXQoZW4pLFV0PXgsMj09WHQmJigwPT1IdD8oZHQoMSx0LnRvdWNoZXNbMV0pLEh0PWp0PXd0KFl0WzBdLnN0YXJ0LFl0WzFdLnN0YXJ0KSk6KHB0KHQudG91Y2hlc1sxXSksanQ9d3QoWXRbMF0uZW5kLFl0WzFdLmVuZCksUnQ9Q3QoWXRbMF0uZW5kLFl0WzFdLmVuZCkpLHp0PXh0KEh0LGp0KSxXdD1NYXRoLmFicyhIdC1qdCkpLFh0PT09bi5maW5nZXJzfHxuLmZpbmdlcnM9PT15fHwhVHx8QigpKXtpZihPdD1FdChyLnN0YXJ0LHIuZW5kKSxXKGUsT3QpLEZ0PWt0KHIuc3RhcnQsci5lbmQpLEl0PWJ0KCksbXQoT3QsRnQpLChuLnN3aXBlU3RhdHVzfHxuLnBpbmNoU3RhdHVzKSYmKGk9Rih0LFV0KSksIW4udHJpZ2dlck9uVG91Y2hFbmR8fG4udHJpZ2dlck9uVG91Y2hMZWF2ZSl7dmFyIHM9ITA7aWYobi50cmlnZ2VyT25Ub3VjaExlYXZlKXt2YXIgYT1OdCh0aGlzKTtzPV90KHIuZW5kLGEpfSFuLnRyaWdnZXJPblRvdWNoRW5kJiZzP1V0PVAoeCk6bi50cmlnZ2VyT25Ub3VjaExlYXZlJiYhcyYmKFV0PVAoQykpLChVdD09a3x8VXQ9PUMpJiZGKHQsVXQpfX1lbHNlIFV0PWssRih0LFV0KTtpPT09ITEmJihVdD1rLEYodCxVdCkpfX1mdW5jdGlvbiBEKGUpe3ZhciB0PWUub3JpZ2luYWxFdmVudDtyZXR1cm4gVCYmdC50b3VjaGVzLmxlbmd0aD4wPyhzdCgpLCEwKToobHQoKSYmKFh0PVZ0KSxLdD0kdCgpLEl0PWJ0KCksSCgpfHwhSSgpPyhVdD1rLEYodCxVdCkpOm4udHJpZ2dlck9uVG91Y2hFbmR8fDA9PW4udHJpZ2dlck9uVG91Y2hFbmQmJlV0PT09eD8oZS5wcmV2ZW50RGVmYXVsdCgpLFV0PUMsRih0LFV0KSk6IW4udHJpZ2dlck9uVG91Y2hFbmQmJkcoKT8oVXQ9QyxPKHQsVXQsaCkpOlV0PT09eCYmKFV0PWssRih0LFV0KSksdXQoITEpLG51bGwpfWZ1bmN0aW9uIEEoKXtYdD0wLEt0PTAsUXQ9MCxIdD0wLGp0PTAsenQ9MSxhdCgpLHV0KCExKX1mdW5jdGlvbiBNKGUpe3ZhciB0PWUub3JpZ2luYWxFdmVudDtuLnRyaWdnZXJPblRvdWNoTGVhdmUmJihVdD1QKEMpLEYodCxVdCkpfWZ1bmN0aW9uIEwoKXtxdC51bmJpbmQoRHQsXykscXQudW5iaW5kKFB0LEEpLHF0LnVuYmluZChBdCxTKSxxdC51bmJpbmQoTXQsRCksTHQmJnF0LnVuYmluZChMdCxNKSx1dCghMSl9ZnVuY3Rpb24gUChlKXt2YXIgdD1lLGk9eigpLG89SSgpLHI9SCgpO3JldHVybiFpfHxyP3Q9azohb3x8ZSE9eHx8bi50cmlnZ2VyT25Ub3VjaEVuZCYmIW4udHJpZ2dlck9uVG91Y2hMZWF2ZT8hbyYmZT09QyYmbi50cmlnZ2VyT25Ub3VjaExlYXZlJiYodD1rKTp0PUMsdH1mdW5jdGlvbiBGKGUsdCl7dmFyIG49dm9pZCAwO3JldHVybiBZKCl8fFgoKXx8cSgpfHxCKCk/KChZKCl8fFgoKSkmJihuPU8oZSx0LGQpKSwocSgpfHxCKCkpJiZuIT09ITEmJihuPU8oZSx0LHApKSk6b3QoKSYmbiE9PSExP249TyhlLHQsZik6cnQoKSYmbiE9PSExP249TyhlLHQsbSk6aXQoKSYmbiE9PSExJiYobj1PKGUsdCxoKSksdD09PWsmJkEoZSksdD09PUMmJihUPzA9PWUudG91Y2hlcy5sZW5ndGgmJkEoZSk6QShlKSksbn1mdW5jdGlvbiBPKHQsYyx1KXt2YXIgZz12b2lkIDA7aWYodT09ZCl7aWYocXQudHJpZ2dlcigic3dpcGVTdGF0dXMiLFtjLE90fHxudWxsLEZ0fHwwLEl0fHwwLFh0LFl0XSksbi5zd2lwZVN0YXR1cyYmKGc9bi5zd2lwZVN0YXR1cy5jYWxsKHF0LHQsYyxPdHx8bnVsbCxGdHx8MCxJdHx8MCxYdCxZdCksZz09PSExKSlyZXR1cm4hMTtpZihjPT1DJiZVKCkpe2lmKHF0LnRyaWdnZXIoInN3aXBlIixbT3QsRnQsSXQsWHQsWXRdKSxuLnN3aXBlJiYoZz1uLnN3aXBlLmNhbGwocXQsdCxPdCxGdCxJdCxYdCxZdCksZz09PSExKSlyZXR1cm4hMTtzd2l0Y2goT3Qpe2Nhc2UgaTpxdC50cmlnZ2VyKCJzd2lwZUxlZnQiLFtPdCxGdCxJdCxYdCxZdF0pLG4uc3dpcGVMZWZ0JiYoZz1uLnN3aXBlTGVmdC5jYWxsKHF0LHQsT3QsRnQsSXQsWHQsWXQpKTticmVhaztjYXNlIG86cXQudHJpZ2dlcigic3dpcGVSaWdodCIsW090LEZ0LEl0LFh0LFl0XSksbi5zd2lwZVJpZ2h0JiYoZz1uLnN3aXBlUmlnaHQuY2FsbChxdCx0LE90LEZ0LEl0LFh0LFl0KSk7YnJlYWs7Y2FzZSByOnF0LnRyaWdnZXIoInN3aXBlVXAiLFtPdCxGdCxJdCxYdCxZdF0pLG4uc3dpcGVVcCYmKGc9bi5zd2lwZVVwLmNhbGwocXQsdCxPdCxGdCxJdCxYdCxZdCkpO2JyZWFrO2Nhc2UgczpxdC50cmlnZ2VyKCJzd2lwZURvd24iLFtPdCxGdCxJdCxYdCxZdF0pLG4uc3dpcGVEb3duJiYoZz1uLnN3aXBlRG93bi5jYWxsKHF0LHQsT3QsRnQsSXQsWHQsWXQpKX19fWlmKHU9PXApe2lmKHF0LnRyaWdnZXIoInBpbmNoU3RhdHVzIixbYyxSdHx8bnVsbCxXdHx8MCxJdHx8MCxYdCx6dCxZdF0pLG4ucGluY2hTdGF0dXMmJihnPW4ucGluY2hTdGF0dXMuY2FsbChxdCx0LGMsUnR8fG51bGwsV3R8fDAsSXR8fDAsWHQsenQsWXQpLGc9PT0hMSkpcmV0dXJuITE7aWYoYz09QyYmUigpKXN3aXRjaChSdCl7Y2FzZSBhOnF0LnRyaWdnZXIoInBpbmNoSW4iLFtSdHx8bnVsbCxXdHx8MCxJdHx8MCxYdCx6dCxZdF0pLG4ucGluY2hJbiYmKGc9bi5waW5jaEluLmNhbGwocXQsdCxSdHx8bnVsbCxXdHx8MCxJdHx8MCxYdCx6dCxZdCkpO2JyZWFrO2Nhc2UgbDpxdC50cmlnZ2VyKCJwaW5jaE91dCIsW1J0fHxudWxsLFd0fHwwLEl0fHwwLFh0LHp0LFl0XSksbi5waW5jaE91dCYmKGc9bi5waW5jaE91dC5jYWxsKHF0LHQsUnR8fG51bGwsV3R8fDAsSXR8fDAsWHQsenQsWXQpKX19cmV0dXJuIHU9PWg/KGM9PT1rfHxjPT09QykmJihjbGVhclRpbWVvdXQoWnQpLGNsZWFyVGltZW91dChlbiksVigpJiYhZXQoKT8oSnQ9JHQoKSxadD1zZXRUaW1lb3V0KGUucHJveHkoZnVuY3Rpb24oKXtKdD1udWxsLHF0LnRyaWdnZXIoInRhcCIsW3QudGFyZ2V0XSksbi50YXAmJihnPW4udGFwLmNhbGwocXQsdCx0LnRhcmdldCkpfSx0aGlzKSxuLmRvdWJsZVRhcFRocmVzaG9sZCkpOihKdD1udWxsLHF0LnRyaWdnZXIoInRhcCIsW3QudGFyZ2V0XSksbi50YXAmJihnPW4udGFwLmNhbGwocXQsdCx0LnRhcmdldCkpKSk6dT09Zj8oYz09PWt8fGM9PT1DKSYmKGNsZWFyVGltZW91dChadCksSnQ9bnVsbCxxdC50cmlnZ2VyKCJkb3VibGV0YXAiLFt0LnRhcmdldF0pLG4uZG91YmxlVGFwJiYoZz1uLmRvdWJsZVRhcC5jYWxsKHF0LHQsdC50YXJnZXQpKSk6dT09bSYmKGM9PT1rfHxjPT09QykmJihjbGVhclRpbWVvdXQoWnQpLEp0PW51bGwscXQudHJpZ2dlcigibG9uZ3RhcCIsW3QudGFyZ2V0XSksbi5sb25nVGFwJiYoZz1uLmxvbmdUYXAuY2FsbChxdCx0LHQudGFyZ2V0KSkpLGd9ZnVuY3Rpb24gSSgpe3ZhciBlPSEwO3JldHVybiBudWxsIT09bi50aHJlc2hvbGQmJihlPUZ0Pj1uLnRocmVzaG9sZCksZX1mdW5jdGlvbiBIKCl7dmFyIGU9ITE7cmV0dXJuIG51bGwhPT1uLmNhbmNlbFRocmVzaG9sZCYmbnVsbCE9PU90JiYoZT1ndChPdCktRnQ+PW4uY2FuY2VsVGhyZXNob2xkKSxlfWZ1bmN0aW9uIGooKXtyZXR1cm4gbnVsbCE9PW4ucGluY2hUaHJlc2hvbGQ/V3Q+PW4ucGluY2hUaHJlc2hvbGQ6ITB9ZnVuY3Rpb24geigpe3ZhciBlO3JldHVybiBlPW4ubWF4VGltZVRocmVzaG9sZCYmSXQ+PW4ubWF4VGltZVRocmVzaG9sZD8hMTohMH1mdW5jdGlvbiBXKGUsdCl7aWYobi5wcmV2ZW50RGVmYXVsdEV2ZW50cyE9PSExKWlmKG4uYWxsb3dQYWdlU2Nyb2xsPT09YyllLnByZXZlbnREZWZhdWx0KCk7ZWxzZXt2YXIgYT1uLmFsbG93UGFnZVNjcm9sbD09PXU7c3dpdGNoKHQpe2Nhc2UgaToobi5zd2lwZUxlZnQmJmF8fCFhJiZuLmFsbG93UGFnZVNjcm9sbCE9ZykmJmUucHJldmVudERlZmF1bHQoKTticmVhaztjYXNlIG86KG4uc3dpcGVSaWdodCYmYXx8IWEmJm4uYWxsb3dQYWdlU2Nyb2xsIT1nKSYmZS5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2Ugcjoobi5zd2lwZVVwJiZhfHwhYSYmbi5hbGxvd1BhZ2VTY3JvbGwhPXYpJiZlLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSBzOihuLnN3aXBlRG93biYmYXx8IWEmJm4uYWxsb3dQYWdlU2Nyb2xsIT12KSYmZS5wcmV2ZW50RGVmYXVsdCgpfX19ZnVuY3Rpb24gUigpe3ZhciBlPVEoKSx0PUsoKSxuPWooKTtyZXR1cm4gZSYmdCYmbn1mdW5jdGlvbiBCKCl7cmV0dXJuISEobi5waW5jaFN0YXR1c3x8bi5waW5jaElufHxuLnBpbmNoT3V0KX1mdW5jdGlvbiBxKCl7cmV0dXJuISghUigpfHwhQigpKX1mdW5jdGlvbiBVKCl7dmFyIGU9eigpLHQ9SSgpLG49USgpLGk9SygpLG89SCgpLHI9IW8mJmkmJm4mJnQmJmU7cmV0dXJuIHJ9ZnVuY3Rpb24gWCgpe3JldHVybiEhKG4uc3dpcGV8fG4uc3dpcGVTdGF0dXN8fG4uc3dpcGVMZWZ0fHxuLnN3aXBlUmlnaHR8fG4uc3dpcGVVcHx8bi5zd2lwZURvd24pfWZ1bmN0aW9uIFkoKXtyZXR1cm4hKCFVKCl8fCFYKCkpfWZ1bmN0aW9uIFEoKXtyZXR1cm4gWHQ9PT1uLmZpbmdlcnN8fG4uZmluZ2Vycz09PXl8fCFUfWZ1bmN0aW9uIEsoKXtyZXR1cm4gMCE9PVl0WzBdLmVuZC54Cn1mdW5jdGlvbiBHKCl7cmV0dXJuISFuLnRhcH1mdW5jdGlvbiBWKCl7cmV0dXJuISFuLmRvdWJsZVRhcH1mdW5jdGlvbiBKKCl7cmV0dXJuISFuLmxvbmdUYXB9ZnVuY3Rpb24gWigpe2lmKG51bGw9PUp0KXJldHVybiExO3ZhciBlPSR0KCk7cmV0dXJuIFYoKSYmZS1KdDw9bi5kb3VibGVUYXBUaHJlc2hvbGR9ZnVuY3Rpb24gZXQoKXtyZXR1cm4gWigpfWZ1bmN0aW9uIHR0KCl7cmV0dXJuKDE9PT1YdHx8IVQpJiYoaXNOYU4oRnQpfHxGdDxuLnRocmVzaG9sZCl9ZnVuY3Rpb24gbnQoKXtyZXR1cm4gSXQ+bi5sb25nVGFwVGhyZXNob2xkJiZiPkZ0fWZ1bmN0aW9uIGl0KCl7cmV0dXJuISghdHQoKXx8IUcoKSl9ZnVuY3Rpb24gb3QoKXtyZXR1cm4hKCFaKCl8fCFWKCkpfWZ1bmN0aW9uIHJ0KCl7cmV0dXJuISghbnQoKXx8IUooKSl9ZnVuY3Rpb24gc3QoKXtHdD0kdCgpLFZ0PWV2ZW50LnRvdWNoZXMubGVuZ3RoKzF9ZnVuY3Rpb24gYXQoKXtHdD0wLFZ0PTB9ZnVuY3Rpb24gbHQoKXt2YXIgZT0hMTtpZihHdCl7dmFyIHQ9JHQoKS1HdDt0PD1uLmZpbmdlclJlbGVhc2VUaHJlc2hvbGQmJihlPSEwKX1yZXR1cm4gZX1mdW5jdGlvbiBjdCgpe3JldHVybiEocXQuZGF0YShOKyJfaW50b3VjaCIpIT09ITApfWZ1bmN0aW9uIHV0KGUpe2U9PT0hMD8ocXQuYmluZChBdCxTKSxxdC5iaW5kKE10LEQpLEx0JiZxdC5iaW5kKEx0LE0pKToocXQudW5iaW5kKEF0LFMsITEpLHF0LnVuYmluZChNdCxELCExKSxMdCYmcXQudW5iaW5kKEx0LE0sITEpKSxxdC5kYXRhKE4rIl9pbnRvdWNoIixlPT09ITApfWZ1bmN0aW9uIGR0KGUsdCl7dmFyIG49dm9pZCAwIT09dC5pZGVudGlmaWVyP3QuaWRlbnRpZmllcjowO3JldHVybiBZdFtlXS5pZGVudGlmaWVyPW4sWXRbZV0uc3RhcnQueD1ZdFtlXS5lbmQueD10LnBhZ2VYfHx0LmNsaWVudFgsWXRbZV0uc3RhcnQueT1ZdFtlXS5lbmQueT10LnBhZ2VZfHx0LmNsaWVudFksWXRbZV19ZnVuY3Rpb24gcHQoZSl7dmFyIHQ9dm9pZCAwIT09ZS5pZGVudGlmaWVyP2UuaWRlbnRpZmllcjowLG49aHQodCk7cmV0dXJuIG4uZW5kLng9ZS5wYWdlWHx8ZS5jbGllbnRYLG4uZW5kLnk9ZS5wYWdlWXx8ZS5jbGllbnRZLG59ZnVuY3Rpb24gaHQoZSl7Zm9yKHZhciB0PTA7dDxZdC5sZW5ndGg7dCsrKWlmKFl0W3RdLmlkZW50aWZpZXI9PWUpcmV0dXJuIFl0W3RdfWZ1bmN0aW9uIGZ0KCl7Zm9yKHZhciBlPVtdLHQ9MDs1Pj10O3QrKyllLnB1c2goe3N0YXJ0Ont4OjAseTowfSxlbmQ6e3g6MCx5OjB9LGlkZW50aWZpZXI6MH0pO3JldHVybiBlfWZ1bmN0aW9uIG10KGUsdCl7dD1NYXRoLm1heCh0LGd0KGUpKSxCdFtlXS5kaXN0YW5jZT10fWZ1bmN0aW9uIGd0KGUpe3JldHVybiBCdFtlXT9CdFtlXS5kaXN0YW5jZTp2b2lkIDB9ZnVuY3Rpb24gdnQoKXt2YXIgZT17fTtyZXR1cm4gZVtpXT15dChpKSxlW29dPXl0KG8pLGVbcl09eXQociksZVtzXT15dChzKSxlfWZ1bmN0aW9uIHl0KGUpe3JldHVybntkaXJlY3Rpb246ZSxkaXN0YW5jZTowfX1mdW5jdGlvbiBidCgpe3JldHVybiBLdC1RdH1mdW5jdGlvbiB3dChlLHQpe3ZhciBuPU1hdGguYWJzKGUueC10LngpLGk9TWF0aC5hYnMoZS55LXQueSk7cmV0dXJuIE1hdGgucm91bmQoTWF0aC5zcXJ0KG4qbitpKmkpKX1mdW5jdGlvbiB4dChlLHQpe3ZhciBuPXQvZSoxO3JldHVybiBuLnRvRml4ZWQoMil9ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gMT56dD9sOmF9ZnVuY3Rpb24ga3QoZSx0KXtyZXR1cm4gTWF0aC5yb3VuZChNYXRoLnNxcnQoTWF0aC5wb3codC54LWUueCwyKStNYXRoLnBvdyh0LnktZS55LDIpKSl9ZnVuY3Rpb24gVHQoZSx0KXt2YXIgbj1lLngtdC54LGk9dC55LWUueSxvPU1hdGguYXRhbjIoaSxuKSxyPU1hdGgucm91bmQoMTgwKm8vTWF0aC5QSSk7cmV0dXJuIDA+ciYmKHI9MzYwLU1hdGguYWJzKHIpKSxyfWZ1bmN0aW9uIEV0KGUsdCl7dmFyIG49VHQoZSx0KTtyZXR1cm4gNDU+PW4mJm4+PTA/aTozNjA+PW4mJm4+PTMxNT9pOm4+PTEzNSYmMjI1Pj1uP286bj40NSYmMTM1Pm4/czpyfWZ1bmN0aW9uICR0KCl7dmFyIGU9bmV3IERhdGU7cmV0dXJuIGUuZ2V0VGltZSgpfWZ1bmN0aW9uIE50KHQpe3Q9ZSh0KTt2YXIgbj10Lm9mZnNldCgpLGk9e2xlZnQ6bi5sZWZ0LHJpZ2h0Om4ubGVmdCt0Lm91dGVyV2lkdGgoKSx0b3A6bi50b3AsYm90dG9tOm4udG9wK3Qub3V0ZXJIZWlnaHQoKX07cmV0dXJuIGl9ZnVuY3Rpb24gX3QoZSx0KXtyZXR1cm4gZS54PnQubGVmdCYmZS54PHQucmlnaHQmJmUueT50LnRvcCYmZS55PHQuYm90dG9tfXZhciBTdD1UfHwkfHwhbi5mYWxsYmFja1RvTW91c2VFdmVudHMsRHQ9U3Q/JD9FPyJNU1BvaW50ZXJEb3duIjoicG9pbnRlcmRvd24iOiJ0b3VjaHN0YXJ0IjoibW91c2Vkb3duIixBdD1TdD8kP0U/Ik1TUG9pbnRlck1vdmUiOiJwb2ludGVybW92ZSI6InRvdWNobW92ZSI6Im1vdXNlbW92ZSIsTXQ9U3Q/JD9FPyJNU1BvaW50ZXJVcCI6InBvaW50ZXJ1cCI6InRvdWNoZW5kIjoibW91c2V1cCIsTHQ9U3Q/bnVsbDoibW91c2VsZWF2ZSIsUHQ9JD9FPyJNU1BvaW50ZXJDYW5jZWwiOiJwb2ludGVyY2FuY2VsIjoidG91Y2hjYW5jZWwiLEZ0PTAsT3Q9bnVsbCxJdD0wLEh0PTAsanQ9MCx6dD0xLFd0PTAsUnQ9MCxCdD1udWxsLHF0PWUodCksVXQ9InN0YXJ0IixYdD0wLFl0PW51bGwsUXQ9MCxLdD0wLEd0PTAsVnQ9MCxKdD0wLFp0PW51bGwsZW49bnVsbDt0cnl7cXQuYmluZChEdCxfKSxxdC5iaW5kKFB0LEEpfWNhdGNoKHRuKXtlLmVycm9yKCJldmVudHMgbm90IHN1cHBvcnRlZCAiK0R0KyIsIitQdCsiIG9uIGpRdWVyeS5zd2lwZSIpfXRoaXMuZW5hYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHF0LmJpbmQoRHQsXykscXQuYmluZChQdCxBKSxxdH0sdGhpcy5kaXNhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIEwoKSxxdH0sdGhpcy5kZXN0cm95PWZ1bmN0aW9uKCl7TCgpLHF0LmRhdGEoTixudWxsKSxxdD1udWxsfSx0aGlzLm9wdGlvbj1mdW5jdGlvbih0LGkpe2lmKHZvaWQgMCE9PW5bdF0pe2lmKHZvaWQgMD09PWkpcmV0dXJuIG5bdF07blt0XT1pfWVsc2UgZS5lcnJvcigiT3B0aW9uICIrdCsiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5zd2lwZS5vcHRpb25zIik7cmV0dXJuIG51bGx9fXZhciBpPSJsZWZ0IixvPSJyaWdodCIscj0idXAiLHM9ImRvd24iLGE9ImluIixsPSJvdXQiLGM9Im5vbmUiLHU9ImF1dG8iLGQ9InN3aXBlIixwPSJwaW5jaCIsaD0idGFwIixmPSJkb3VibGV0YXAiLG09Imxvbmd0YXAiLGc9Imhvcml6b250YWwiLHY9InZlcnRpY2FsIix5PSJhbGwiLGI9MTAsdz0ic3RhcnQiLHg9Im1vdmUiLEM9ImVuZCIsaz0iY2FuY2VsIixUPSJvbnRvdWNoc3RhcnQiaW4gd2luZG93LEU9d2luZG93Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkJiYhd2luZG93Lm5hdmlnYXRvci5wb2ludGVyRW5hYmxlZCwkPXdpbmRvdy5uYXZpZ2F0b3IucG9pbnRlckVuYWJsZWR8fHdpbmRvdy5uYXZpZ2F0b3IubXNQb2ludGVyRW5hYmxlZCxOPSJUb3VjaFN3aXBlIixfPXtmaW5nZXJzOjEsdGhyZXNob2xkOjc1LGNhbmNlbFRocmVzaG9sZDpudWxsLHBpbmNoVGhyZXNob2xkOjIwLG1heFRpbWVUaHJlc2hvbGQ6bnVsbCxmaW5nZXJSZWxlYXNlVGhyZXNob2xkOjI1MCxsb25nVGFwVGhyZXNob2xkOjUwMCxkb3VibGVUYXBUaHJlc2hvbGQ6MjAwLHN3aXBlOm51bGwsc3dpcGVMZWZ0Om51bGwsc3dpcGVSaWdodDpudWxsLHN3aXBlVXA6bnVsbCxzd2lwZURvd246bnVsbCxzd2lwZVN0YXR1czpudWxsLHBpbmNoSW46bnVsbCxwaW5jaE91dDpudWxsLHBpbmNoU3RhdHVzOm51bGwsY2xpY2s6bnVsbCx0YXA6bnVsbCxkb3VibGVUYXA6bnVsbCxsb25nVGFwOm51bGwsaG9sZDpudWxsLHRyaWdnZXJPblRvdWNoRW5kOiEwLHRyaWdnZXJPblRvdWNoTGVhdmU6ITEsYWxsb3dQYWdlU2Nyb2xsOiJhdXRvIixmYWxsYmFja1RvTW91c2VFdmVudHM6ITAsZXhjbHVkZWRFbGVtZW50czoibGFiZWwsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGEsIC5ub1N3aXBlIixwcmV2ZW50RGVmYXVsdEV2ZW50czohMH07ZS5mbi5zd2lwZT1mdW5jdGlvbihuKXt2YXIgaT1lKHRoaXMpLG89aS5kYXRhKE4pO2lmKG8mJiJzdHJpbmciPT10eXBlb2Ygbil7aWYob1tuXSlyZXR1cm4gb1tuXS5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7ZS5lcnJvcigiTWV0aG9kICIrbisiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5zd2lwZSIpfWVsc2UgaWYoIShvfHwib2JqZWN0IiE9dHlwZW9mIG4mJm4pKXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gaX0sZS5mbi5zd2lwZS5kZWZhdWx0cz1fLGUuZm4uc3dpcGUucGhhc2VzPXtQSEFTRV9TVEFSVDp3LFBIQVNFX01PVkU6eCxQSEFTRV9FTkQ6QyxQSEFTRV9DQU5DRUw6a30sZS5mbi5zd2lwZS5kaXJlY3Rpb25zPXtMRUZUOmksUklHSFQ6byxVUDpyLERPV046cyxJTjphLE9VVDpsfSxlLmZuLnN3aXBlLnBhZ2VTY3JvbGw9e05PTkU6YyxIT1JJWk9OVEFMOmcsVkVSVElDQUw6dixBVVRPOnV9LGUuZm4uc3dpcGUuZmluZ2Vycz17T05FOjEsVFdPOjIsVEhSRUU6MyxBTEw6eX19KSwhZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0aGlzPT09dC50YXJnZXQ/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfX12YXIgbj1mdW5jdGlvbihlLHQpe3RoaXMuaW5pdChlLHQpfTtuLnByb3RvdHlwZT17Y29uc3RydWN0b3I6bixpbml0OmZ1bmN0aW9uKHQsbil7aWYodGhpcy4kZWxlbWVudD1lKHQpLHRoaXMub3B0aW9ucz1lLmV4dGVuZCh7fSxlLmZuLm1vZGFsbWFuYWdlci5kZWZhdWx0cyx0aGlzLiRlbGVtZW50LmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIG4mJm4pLHRoaXMuc3RhY2s9W10sdGhpcy5iYWNrZHJvcENvdW50PTAsdGhpcy5vcHRpb25zLnJlc2l6ZSl7dmFyIGksbz10aGlzO2Uod2luZG93KS5vbigicmVzaXplLm1vZGFsIixmdW5jdGlvbigpe2kmJmNsZWFyVGltZW91dChpKSxpPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPG8uc3RhY2subGVuZ3RoO2UrKylvLnN0YWNrW2VdLmlzU2hvd24mJm8uc3RhY2tbZV0ubGF5b3V0KCl9LDEwKX0pfX0sY3JlYXRlTW9kYWw6ZnVuY3Rpb24odCxuKXtlKHQpLm1vZGFsKGUuZXh0ZW5kKHttYW5hZ2VyOnRoaXN9LG4pKX0sYXBwZW5kTW9kYWw6ZnVuY3Rpb24obil7dGhpcy5zdGFjay5wdXNoKG4pO3ZhciBpPXRoaXM7bi4kZWxlbWVudC5vbigic2hvdy5tb2RhbG1hbmFnZXIiLHQoZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbigpe24uaXNTaG93bj0hMDt2YXIgdD1lLnN1cHBvcnQudHJhbnNpdGlvbiYmbi4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpO2kuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoIm1vZGFsLW9wZW4iLGkuaGFzT3Blbk1vZGFsKCkpLnRvZ2dsZUNsYXNzKCJwYWdlLW92ZXJmbG93IixlKHdpbmRvdykuaGVpZ2h0KCk8aS4kZWxlbWVudC5oZWlnaHQoKSksbi4kcGFyZW50PW4uJGVsZW1lbnQucGFyZW50KCksbi4kY29udGFpbmVyPWkuY3JlYXRlQ29udGFpbmVyKG4pLG4uJGVsZW1lbnQuYXBwZW5kVG8obi4kY29udGFpbmVyKSxpLmJhY2tkcm9wKG4sZnVuY3Rpb24oKXtuLiRlbGVtZW50LnNob3coKSx0JiZuLiRlbGVtZW50WzBdLm9mZnNldFdpZHRoLG4ubGF5b3V0KCksbi4kZWxlbWVudC5hZGRDbGFzcygiaW4iKS5hdHRyKCJhcmlhLWhpZGRlbiIsITEpO3ZhciBvPWZ1bmN0aW9uKCl7aS5zZXRGb2N1cygpLG4uJGVsZW1lbnQudHJpZ2dlcigic2hvd24iKX07dD9uLiRlbGVtZW50Lm9uZShlLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsbyk6bygpfSl9O24ub3B0aW9ucy5yZXBsYWNlP2kucmVwbGFjZSh0KTp0KCl9KSksbi4kZWxlbWVudC5vbigiaGlkZGVuLm1vZGFsbWFuYWdlciIsdChmdW5jdGlvbigpe2lmKGkuYmFja2Ryb3Aobiksbi4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGgpaWYobi4kYmFja2Ryb3Ape3ZhciB0PWUuc3VwcG9ydC50cmFuc2l0aW9uJiZuLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7dCYmbi4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCxlLnN1cHBvcnQudHJhbnNpdGlvbiYmbi4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP24uJGJhY2tkcm9wLm9uZShlLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsZnVuY3Rpb24oKXtuLmRlc3Ryb3koKX0pOm4uZGVzdHJveSgpfWVsc2Ugbi5kZXN0cm95KCk7ZWxzZSBpLmRlc3Ryb3lNb2RhbChuKX0pKSxuLiRlbGVtZW50Lm9uKCJkZXN0cm95ZWQubW9kYWxtYW5hZ2VyIix0KGZ1bmN0aW9uKCl7aS5kZXN0cm95TW9kYWwobil9KSl9LGdldE9wZW5Nb2RhbHM6ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8dGhpcy5zdGFjay5sZW5ndGg7dCsrKXRoaXMuc3RhY2tbdF0uaXNTaG93biYmZS5wdXNoKHRoaXMuc3RhY2tbdF0pO3JldHVybiBlfSxoYXNPcGVuTW9kYWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRPcGVuTW9kYWxzKCkubGVuZ3RoPjB9LHNldEZvY3VzOmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDt0PHRoaXMuc3RhY2subGVuZ3RoO3QrKyl0aGlzLnN0YWNrW3RdLmlzU2hvd24mJihlPXRoaXMuc3RhY2tbdF0pO2UmJmUuZm9jdXMoKX0sZGVzdHJveU1vZGFsOmZ1bmN0aW9uKGUpe2UuJGVsZW1lbnQub2ZmKCIubW9kYWxtYW5hZ2VyIiksZS4kYmFja2Ryb3AmJnRoaXMucmVtb3ZlQmFja2Ryb3AoZSksdGhpcy5zdGFjay5zcGxpY2UodGhpcy5nZXRJbmRleE9mTW9kYWwoZSksMSk7dmFyIHQ9dGhpcy5oYXNPcGVuTW9kYWwoKTt0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCJtb2RhbC1vcGVuIix0KSx0fHx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJwYWdlLW92ZXJmbG93IiksdGhpcy5yZW1vdmVDb250YWluZXIoZSksdGhpcy5zZXRGb2N1cygpfSxnZXRNb2RhbEF0OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnN0YWNrW2VdfSxnZXRJbmRleE9mTW9kYWw6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDx0aGlzLnN0YWNrLmxlbmd0aDt0KyspaWYoZT09PXRoaXMuc3RhY2tbdF0pcmV0dXJuIHR9LHJlcGxhY2U6ZnVuY3Rpb24obil7Zm9yKHZhciBpLG89MDtvPHRoaXMuc3RhY2subGVuZ3RoO28rKyl0aGlzLnN0YWNrW29dLmlzU2hvd24mJihpPXRoaXMuc3RhY2tbb10pO2k/KHRoaXMuJGJhY2tkcm9wSGFuZGxlPWkuJGJhY2tkcm9wLGkuJGJhY2tkcm9wPW51bGwsbiYmaS4kZWxlbWVudC5vbmUoImhpZGRlbiIsdChlLnByb3h5KG4sdGhpcykpKSxpLmhpZGUoKSk6biYmbigpfSxyZW1vdmVCYWNrZHJvcDpmdW5jdGlvbihlKXtlLiRiYWNrZHJvcC5yZW1vdmUoKSxlLiRiYWNrZHJvcD1udWxsfSxjcmVhdGVCYWNrZHJvcDpmdW5jdGlvbih0LG4pe3ZhciBpO3JldHVybiB0aGlzLiRiYWNrZHJvcEhhbmRsZT8oaT10aGlzLiRiYWNrZHJvcEhhbmRsZSxpLm9mZigiLm1vZGFsbWFuYWdlciIpLHRoaXMuJGJhY2tkcm9wSGFuZGxlPW51bGwsdGhpcy5pc0xvYWRpbmcmJnRoaXMucmVtb3ZlU3Bpbm5lcigpKTppPWUobikuYWRkQ2xhc3ModCkuYXBwZW5kVG8odGhpcy4kZWxlbWVudCksaX0scmVtb3ZlQ29udGFpbmVyOmZ1bmN0aW9uKGUpe2UuJGNvbnRhaW5lci5yZW1vdmUoKSxlLiRjb250YWluZXI9bnVsbH0sY3JlYXRlQ29udGFpbmVyOmZ1bmN0aW9uKG4pe3ZhciBvO3JldHVybiBvPWUoJzxkaXYgY2xhc3M9Im1vZGFsLXNjcm9sbGFibGUiPicpLmNzcygiei1pbmRleCIsaSgibW9kYWwiLHRoaXMuZ2V0T3Blbk1vZGFscygpLmxlbmd0aCkpLmFwcGVuZFRvKHRoaXMuJGVsZW1lbnQpLG4mJiJzdGF0aWMiIT1uLm9wdGlvbnMuYmFja2Ryb3A/by5vbigiY2xpY2subW9kYWwiLHQoZnVuY3Rpb24oKXtuLmhpZGUoKX0pKTpuJiZvLm9uKCJjbGljay5tb2RhbCIsdChmdW5jdGlvbigpe24uYXR0ZW50aW9uKCl9KSksb30sYmFja2Ryb3A6ZnVuY3Rpb24odCxuKXt2YXIgbz10LiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/ImZhZGUiOiIiLHI9dC5vcHRpb25zLmJhY2tkcm9wJiZ0aGlzLmJhY2tkcm9wQ291bnQ8dGhpcy5vcHRpb25zLmJhY2tkcm9wTGltaXQ7aWYodC5pc1Nob3duJiZyKXt2YXIgcz1lLnN1cHBvcnQudHJhbnNpdGlvbiYmbyYmIXRoaXMuJGJhY2tkcm9wSGFuZGxlO3QuJGJhY2tkcm9wPXRoaXMuY3JlYXRlQmFja2Ryb3Aobyx0Lm9wdGlvbnMuYmFja2Ryb3BUZW1wbGF0ZSksdC4kYmFja2Ryb3AuY3NzKCJ6LWluZGV4IixpKCJiYWNrZHJvcCIsdGhpcy5nZXRPcGVuTW9kYWxzKCkubGVuZ3RoKSkscyYmdC4kYmFja2Ryb3BbMF0ub2Zmc2V0V2lkdGgsdC4kYmFja2Ryb3AuYWRkQ2xhc3MoImluIiksdGhpcy5iYWNrZHJvcENvdW50Kz0xLHM/dC4kYmFja2Ryb3Aub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxuKTpuKCl9ZWxzZSBpZighdC5pc1Nob3duJiZ0LiRiYWNrZHJvcCl7dC4kYmFja2Ryb3AucmVtb3ZlQ2xhc3MoImluIiksdGhpcy5iYWNrZHJvcENvdW50LT0xO3ZhciBhPXRoaXM7ZS5zdXBwb3J0LnRyYW5zaXRpb24mJnQuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90LiRiYWNrZHJvcC5vbmUoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGZ1bmN0aW9uKCl7YS5yZW1vdmVCYWNrZHJvcCh0KX0pOmEucmVtb3ZlQmFja2Ryb3AodCl9ZWxzZSBuJiZuKCl9LHJlbW92ZVNwaW5uZXI6ZnVuY3Rpb24oKXt0aGlzLiRzcGlubmVyJiZ0aGlzLiRzcGlubmVyLnJlbW92ZSgpLHRoaXMuJHNwaW5uZXI9bnVsbCx0aGlzLmlzTG9hZGluZz0hMX0scmVtb3ZlTG9hZGluZzpmdW5jdGlvbigpe3RoaXMuJGJhY2tkcm9wSGFuZGxlJiZ0aGlzLiRiYWNrZHJvcEhhbmRsZS5yZW1vdmUoKSx0aGlzLiRiYWNrZHJvcEhhbmRsZT1udWxsLHRoaXMucmVtb3ZlU3Bpbm5lcigpfSxsb2FkaW5nOmZ1bmN0aW9uKHQpe2lmKHQ9dHx8ZnVuY3Rpb24oKXt9LHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoIm1vZGFsLW9wZW4iLCF0aGlzLmlzTG9hZGluZ3x8dGhpcy5oYXNPcGVuTW9kYWwoKSkudG9nZ2xlQ2xhc3MoInBhZ2Utb3ZlcmZsb3ciLGUod2luZG93KS5oZWlnaHQoKTx0aGlzLiRlbGVtZW50LmhlaWdodCgpKSx0aGlzLmlzTG9hZGluZylpZih0aGlzLmlzTG9hZGluZyYmdGhpcy4kYmFja2Ryb3BIYW5kbGUpe3RoaXMuJGJhY2tkcm9wSGFuZGxlLnJlbW92ZUNsYXNzKCJpbiIpO3ZhciBuPXRoaXM7ZS5zdXBwb3J0LnRyYW5zaXRpb24/dGhpcy4kYmFja2Ryb3BIYW5kbGUub25lKGUuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxmdW5jdGlvbigpe24ucmVtb3ZlTG9hZGluZygpfSk6bi5yZW1vdmVMb2FkaW5nKCl9ZWxzZSB0JiZ0KHRoaXMuaXNMb2FkaW5nKTtlbHNle3RoaXMuJGJhY2tkcm9wSGFuZGxlPXRoaXMuY3JlYXRlQmFja2Ryb3AoImZhZGUiLHRoaXMub3B0aW9ucy5iYWNrZHJvcFRlbXBsYXRlKSx0aGlzLiRiYWNrZHJvcEhhbmRsZVswXS5vZmZzZXRXaWR0aDt2YXIgbz10aGlzLmdldE9wZW5Nb2RhbHMoKTt0aGlzLiRiYWNrZHJvcEhhbmRsZS5jc3MoInotaW5kZXgiLGkoImJhY2tkcm9wIixvLmxlbmd0aCsxKSkuYWRkQ2xhc3MoImluIik7dmFyIHI9ZSh0aGlzLm9wdGlvbnMuc3Bpbm5lcikuY3NzKCJ6LWluZGV4IixpKCJtb2RhbCIsby5sZW5ndGgrMSkpLmFwcGVuZFRvKHRoaXMuJGVsZW1lbnQpLmFkZENsYXNzKCJpbiIpO3RoaXMuJHNwaW5uZXI9ZSh0aGlzLmNyZWF0ZUNvbnRhaW5lcigpKS5hcHBlbmQocikub24oImNsaWNrLm1vZGFsbWFuYWdlciIsZS5wcm94eSh0aGlzLmxvYWRpbmcsdGhpcykpLHRoaXMuaXNMb2FkaW5nPSEwLGUuc3VwcG9ydC50cmFuc2l0aW9uP3RoaXMuJGJhY2tkcm9wSGFuZGxlLm9uZShlLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsdCk6dCgpfX19O3ZhciBpPWZ1bmN0aW9uKCl7dmFyIHQsbj17fTtyZXR1cm4gZnVuY3Rpb24oaSxvKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHQpe3ZhciByPWUoJzxkaXYgY2xhc3M9Im1vZGFsIGhpZGUiIC8+JykuYXBwZW5kVG8oImJvZHkiKSxzPWUoJzxkaXYgY2xhc3M9Im1vZGFsLWJhY2tkcm9wIGhpZGUiIC8+JykuYXBwZW5kVG8oImJvZHkiKTtuLm1vZGFsPStyLmNzcygiei1pbmRleCIpLG4uYmFja2Ryb3A9K3MuY3NzKCJ6LWluZGV4IiksdD1uLm1vZGFsLW4uYmFja2Ryb3Asci5yZW1vdmUoKSxzLnJlbW92ZSgpLHM9cj1udWxsfXJldHVybiBuW2ldK3Qqb319KCk7ZS5mbi5tb2RhbG1hbmFnZXI9ZnVuY3Rpb24odCxpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89ZSh0aGlzKSxyPW8uZGF0YSgibW9kYWxtYW5hZ2VyIik7cnx8by5kYXRhKCJtb2RhbG1hbmFnZXIiLHI9bmV3IG4odGhpcyx0KSksInN0cmluZyI9PXR5cGVvZiB0JiZyW3RdLmFwcGx5KHIsW10uY29uY2F0KGkpKX0pfSxlLmZuLm1vZGFsbWFuYWdlci5kZWZhdWx0cz17YmFja2Ryb3BMaW1pdDo5OTkscmVzaXplOiEwLHNwaW5uZXI6JzxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciBmYWRlIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBtYXJnaW4tbGVmdDogLTEwMHB4OyI+PGRpdiBjbGFzcz0icHJvZ3Jlc3MgcHJvZ3Jlc3Mtc3RyaXBlZCBhY3RpdmUiPjxkaXYgY2xhc3M9ImJhciIgc3R5bGU9IndpZHRoOiAxMDAlOyI+PC9kaXY+PC9kaXY+PC9kaXY+JyxiYWNrZHJvcFRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtb2RhbC1iYWNrZHJvcCIgLz4nfSxlLmZuLm1vZGFsbWFuYWdlci5Db25zdHJ1Y3Rvcj1uLGUoZnVuY3Rpb24oKXtlKGRvY3VtZW50KS5vZmYoInNob3cuYnMubW9kYWwiKS5vZmYoImhpZGRlbi5icy5tb2RhbCIpfSl9KGpRdWVyeSksIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1mdW5jdGlvbihlLHQpe3RoaXMuaW5pdChlLHQpfTt0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6dCxpbml0OmZ1bmN0aW9uKHQsbil7dmFyIGk9dGhpczt0aGlzLm9wdGlvbnM9bix0aGlzLiRlbGVtZW50PWUodCkuZGVsZWdhdGUoJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLCJjbGljay5kaXNtaXNzLm1vZGFsIixlLnByb3h5KHRoaXMuaGlkZSx0aGlzKSksdGhpcy5vcHRpb25zLnJlbW90ZSYmdGhpcy4kZWxlbWVudC5maW5kKCIubW9kYWwtYm9keSIpLmxvYWQodGhpcy5vcHRpb25zLnJlbW90ZSxmdW5jdGlvbigpe3ZhciB0PWUuRXZlbnQoImxvYWRlZCIpO2kuJGVsZW1lbnQudHJpZ2dlcih0KX0pO3ZhciBvPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMubWFuYWdlcj90aGlzLm9wdGlvbnMubWFuYWdlci5jYWxsKHRoaXMpOnRoaXMub3B0aW9ucy5tYW5hZ2VyO289by5hcHBlbmRNb2RhbD9vOmUobykubW9kYWxtYW5hZ2VyKCkuZGF0YSgibW9kYWxtYW5hZ2VyIiksby5hcHBlbmRNb2RhbCh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbdGhpcy5pc1Nob3duPyJoaWRlIjoic2hvdyJdKCl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgdD1lLkV2ZW50KCJzaG93Iik7dGhpcy5pc1Nob3dufHwodGhpcy4kZWxlbWVudC50cmlnZ2VyKHQpLHQuaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0aGlzLmVzY2FwZSgpLHRoaXMudGFiKCksdGhpcy5vcHRpb25zLmxvYWRpbmcmJnRoaXMubG9hZGluZygpKSl9LGhpZGU6ZnVuY3Rpb24odCl7dCYmdC5wcmV2ZW50RGVmYXVsdCgpLHQ9ZS5FdmVudCgiaGlkZSIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcih0KSx0aGlzLmlzU2hvd24mJiF0LmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksdGhpcy50YWIoKSx0aGlzLmlzTG9hZGluZyYmdGhpcy5sb2FkaW5nKCksZShkb2N1bWVudCkub2ZmKCJmb2N1c2luLm1vZGFsIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiaW4iKS5yZW1vdmVDbGFzcygiYW5pbWF0ZWQiKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuYXR0ZW50aW9uQW5pbWF0aW9uKS5yZW1vdmVDbGFzcygibW9kYWwtb3ZlcmZsb3ciKS5hdHRyKCJhcmlhLWhpZGRlbiIsITApLGUuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy5oaWRlV2l0aFRyYW5zaXRpb24oKTp0aGlzLmhpZGVNb2RhbCgpKX0sbGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLmhlaWdodD8iaGVpZ2h0IjoibWF4LWhlaWdodCIsbj10aGlzLm9wdGlvbnMuaGVpZ2h0fHx0aGlzLm9wdGlvbnMubWF4SGVpZ2h0O2lmKHRoaXMub3B0aW9ucy53aWR0aCl7dGhpcy4kZWxlbWVudC5jc3MoIndpZHRoIix0aGlzLm9wdGlvbnMud2lkdGgpO3ZhciBpPXRoaXM7dGhpcy4kZWxlbWVudC5jc3MoIm1hcmdpbi1sZWZ0IixmdW5jdGlvbigpe3JldHVybi8lL2dpLnRlc3QoaS5vcHRpb25zLndpZHRoKT8tKHBhcnNlSW50KGkub3B0aW9ucy53aWR0aCkvMikrIiUiOi0oZSh0aGlzKS53aWR0aCgpLzIpKyJweCJ9KX1lbHNlIHRoaXMuJGVsZW1lbnQuY3NzKCJ3aWR0aCIsIiIpLHRoaXMuJGVsZW1lbnQuY3NzKCJtYXJnaW4tbGVmdCIsIiIpO3RoaXMuJGVsZW1lbnQuZmluZCgiLm1vZGFsLWJvZHkiKS5jc3MoIm92ZXJmbG93IiwiIikuY3NzKHQsIiIpLG4mJnRoaXMuJGVsZW1lbnQuZmluZCgiLm1vZGFsLWJvZHkiKS5jc3MoIm92ZXJmbG93IiwiYXV0byIpLmNzcyh0LG4pO3ZhciBvPWUod2luZG93KS5oZWlnaHQoKS0xMDx0aGlzLiRlbGVtZW50LmhlaWdodCgpO298fHRoaXMub3B0aW9ucy5tb2RhbE92ZXJmbG93P3RoaXMuJGVsZW1lbnQuY3NzKCJtYXJnaW4tdG9wIiwwKS5hZGRDbGFzcygibW9kYWwtb3ZlcmZsb3ciKTp0aGlzLiRlbGVtZW50LmNzcygibWFyZ2luLXRvcCIsMC10aGlzLiRlbGVtZW50LmhlaWdodCgpLzIpLnJlbW92ZUNsYXNzKCJtb2RhbC1vdmVyZmxvdyIpfSx0YWI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmNvbnN1bWVUYWI/dGhpcy4kZWxlbWVudC5vbigia2V5ZG93bi50YWJpbmRleC5tb2RhbCIsIltkYXRhLXRhYmluZGV4XSIsZnVuY3Rpb24obil7aWYobi5rZXlDb2RlJiY5PT1uLmtleUNvZGUpe3ZhciBpPWUodGhpcyksbz1lKHRoaXMpO3QuJGVsZW1lbnQuZmluZCgiW2RhdGEtdGFiaW5kZXhdOmVuYWJsZWQ6bm90KFtyZWFkb25seV0pIikuZWFjaChmdW5jdGlvbih0KXtpPXQuc2hpZnRLZXk/aS5kYXRhKCJ0YWJpbmRleCIpPmUodGhpcykuZGF0YSgidGFiaW5kZXgiKT9pPWUodGhpcyk6bz1lKHRoaXMpOmkuZGF0YSgidGFiaW5kZXgiKTxlKHRoaXMpLmRhdGEoInRhYmluZGV4Iik/aT1lKHRoaXMpOm89ZSh0aGlzKX0pLGlbMF0hPT1lKHRoaXMpWzBdP2kuZm9jdXMoKTpvLmZvY3VzKCksbi5wcmV2ZW50RGVmYXVsdCgpfX0pOnRoaXMuaXNTaG93bnx8dGhpcy4kZWxlbWVudC5vZmYoImtleWRvd24udGFiaW5kZXgubW9kYWwiKX0sZXNjYXBlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmlzU2hvd24mJnRoaXMub3B0aW9ucy5rZXlib2FyZD8odGhpcy4kZWxlbWVudC5hdHRyKCJ0YWJpbmRleCIpfHx0aGlzLiRlbGVtZW50LmF0dHIoInRhYmluZGV4IiwtMSksdGhpcy4kZWxlbWVudC5vbigia2V5dXAuZGlzbWlzcy5tb2RhbCIsZnVuY3Rpb24odCl7Mjc9PXQud2hpY2gmJmUuaGlkZSgpfSkpOnRoaXMuaXNTaG93bnx8dGhpcy4kZWxlbWVudC5vZmYoImtleXVwLmRpc21pc3MubW9kYWwiKX0saGlkZVdpdGhUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxuPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LiRlbGVtZW50Lm9mZihlLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpLHQuaGlkZU1vZGFsKCl9LDUwMCk7dGhpcy4kZWxlbWVudC5vbmUoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4pLHQuaGlkZU1vZGFsKCl9KX0saGlkZU1vZGFsOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zLmhlaWdodD8iaGVpZ2h0IjoibWF4LWhlaWdodCIsdD10aGlzLm9wdGlvbnMuaGVpZ2h0fHx0aGlzLm9wdGlvbnMubWF4SGVpZ2h0O3QmJnRoaXMuJGVsZW1lbnQuZmluZCgiLm1vZGFsLWJvZHkiKS5jc3MoIm92ZXJmbG93IiwiIikuY3NzKGUsIiIpLHRoaXMuJGVsZW1lbnQuaGlkZSgpLnRyaWdnZXIoImhpZGRlbiIpfSxyZW1vdmVMb2FkaW5nOmZ1bmN0aW9uKCl7dGhpcy4kbG9hZGluZy5yZW1vdmUoKSx0aGlzLiRsb2FkaW5nPW51bGwsdGhpcy5pc0xvYWRpbmc9ITF9LGxvYWRpbmc6ZnVuY3Rpb24odCl7dD10fHxmdW5jdGlvbigpe307dmFyIG49dGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpPyJmYWRlIjoiIjtpZih0aGlzLmlzTG9hZGluZylpZih0aGlzLmlzTG9hZGluZyYmdGhpcy4kbG9hZGluZyl7dGhpcy4kbG9hZGluZy5yZW1vdmVDbGFzcygiaW4iKTt2YXIgaT10aGlzO2Uuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy4kbG9hZGluZy5vbmUoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGZ1bmN0aW9uKCl7aS5yZW1vdmVMb2FkaW5nKCl9KTppLnJlbW92ZUxvYWRpbmcoKX1lbHNlIHQmJnQodGhpcy5pc0xvYWRpbmcpO2Vsc2V7dmFyIG89ZS5zdXBwb3J0LnRyYW5zaXRpb24mJm47dGhpcy4kbG9hZGluZz1lKCc8ZGl2IGNsYXNzPSJsb2FkaW5nLW1hc2sgJytuKyciPicpLmFwcGVuZCh0aGlzLm9wdGlvbnMuc3Bpbm5lcikuYXBwZW5kVG8odGhpcy4kZWxlbWVudCksbyYmdGhpcy4kbG9hZGluZ1swXS5vZmZzZXRXaWR0aCx0aGlzLiRsb2FkaW5nLmFkZENsYXNzKCJpbiIpLHRoaXMuaXNMb2FkaW5nPSEwLG8/dGhpcy4kbG9hZGluZy5vbmUoZS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLHQpOnQoKX19LGZvY3VzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy4kZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5mb2N1c09uKTtlPWUubGVuZ3RoP2U6dGhpcy4kZWxlbWVudCxlLmZvY3VzKCl9LGF0dGVudGlvbjpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5hdHRlbnRpb25BbmltYXRpb24pe3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImFuaW1hdGVkIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmF0dGVudGlvbkFuaW1hdGlvbik7dmFyIGU9dGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS4kZWxlbWVudC5hZGRDbGFzcygiYW5pbWF0ZWQiKS5hZGRDbGFzcyhlLm9wdGlvbnMuYXR0ZW50aW9uQW5pbWF0aW9uKX0sMCl9dGhpcy5mb2N1cygpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIHQ9ZS5FdmVudCgiZGVzdHJveSIpO3RoaXMuJGVsZW1lbnQudHJpZ2dlcih0KSx0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy4kZWxlbWVudC5vZmYoIi5tb2RhbCIpLnJlbW92ZURhdGEoIm1vZGFsIikucmVtb3ZlQ2xhc3MoImluIikuYXR0cigiYXJpYS1oaWRkZW4iLCEwKSx0aGlzLiRwYXJlbnQhPT10aGlzLiRlbGVtZW50LnBhcmVudCgpP3RoaXMuJGVsZW1lbnQuYXBwZW5kVG8odGhpcy4kcGFyZW50KTp0aGlzLiRwYXJlbnQubGVuZ3RofHwodGhpcy4kZWxlbWVudC5yZW1vdmUoKSx0aGlzLiRlbGVtZW50PW51bGwpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcigiZGVzdHJveWVkIikpfX0sZS5mbi5tb2RhbD1mdW5jdGlvbihuLGkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbz1lKHRoaXMpLHI9by5kYXRhKCJtb2RhbCIpLHM9ZS5leHRlbmQoe30sZS5mbi5tb2RhbC5kZWZhdWx0cyxvLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIG4mJm4pO3J8fG8uZGF0YSgibW9kYWwiLHI9bmV3IHQodGhpcyxzKSksInN0cmluZyI9PXR5cGVvZiBuP3Jbbl0uYXBwbHkocixbXS5jb25jYXQoaSkpOnMuc2hvdyYmci5zaG93KCl9KX0sZS5mbi5tb2RhbC5kZWZhdWx0cz17a2V5Ym9hcmQ6ITAsYmFja2Ryb3A6ITAsbG9hZGluZzohMSxzaG93OiEwLHdpZHRoOm51bGwsaGVpZ2h0Om51bGwsbWF4SGVpZ2h0Om51bGwsbW9kYWxPdmVyZmxvdzohMSxjb25zdW1lVGFiOiEwLGZvY3VzT246bnVsbCxyZXBsYWNlOiExLHJlc2l6ZTohMSxhdHRlbnRpb25BbmltYXRpb246InNoYWtlIixtYW5hZ2VyOiJib2R5IixzcGlubmVyOic8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiIHN0eWxlPSJ3aWR0aDogMjAwcHg7IG1hcmdpbi1sZWZ0OiAtMTAwcHg7Ij48ZGl2IGNsYXNzPSJwcm9ncmVzcyBwcm9ncmVzcy1zdHJpcGVkIGFjdGl2ZSI+PGRpdiBjbGFzcz0iYmFyIiBzdHlsZT0id2lkdGg6IDEwMCU7Ij48L2Rpdj48L2Rpdj48L2Rpdj4nLGJhY2tkcm9wVGVtcGxhdGU6JzxkaXYgY2xhc3M9Im1vZGFsLWJhY2tkcm9wIiAvPid9LGUuZm4ubW9kYWwuQ29uc3RydWN0b3I9dCxlKGZ1bmN0aW9uKCl7ZShkb2N1bWVudCkub2ZmKCJjbGljay5tb2RhbCIpLm9uKCJjbGljay5tb2RhbC5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0ibW9kYWwiXScsZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKSxpPW4uYXR0cigiaHJlZiIpLG89ZShuLmF0dHIoImRhdGEtdGFyZ2V0Iil8fGkmJmkucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSkscj1vLmRhdGEoIm1vZGFsIik/InRvZ2dsZSI6ZS5leHRlbmQoe3JlbW90ZTohLyMvLnRlc3QoaSkmJml9LG8uZGF0YSgpLG4uZGF0YSgpKTt0LnByZXZlbnREZWZhdWx0KCksby5tb2RhbChyKS5vbmUoImhpZGUiLGZ1bmN0aW9uKCl7bi5mb2N1cygpfSl9KX0pfSh3aW5kb3cualF1ZXJ5KSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixpLG89ZSxyPW8uZG9jdW1lbnQscz1vLm5hdmlnYXRvcixhPW8uc2V0VGltZW91dCxsPW8uZW5jb2RlVVJJQ29tcG9uZW50LGM9by5BY3RpdmVYT2JqZWN0LHU9by5FcnJvcixkPW8uTnVtYmVyLnBhcnNlSW50fHxvLnBhcnNlSW50LHA9by5OdW1iZXIucGFyc2VGbG9hdHx8by5wYXJzZUZsb2F0LGg9by5OdW1iZXIuaXNOYU58fG8uaXNOYU4sZj1vLk1hdGgucm91bmQsbT1vLkRhdGUubm93LGc9by5PYmplY3Qua2V5cyx2PW8uT2JqZWN0LmRlZmluZVByb3BlcnR5LHk9by5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGI9by5BcnJheS5wcm90b3R5cGUuc2xpY2Usdz1mdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKGUpe3JldHVybiBlfTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygby53cmFwJiYiZnVuY3Rpb24iPT10eXBlb2Ygby51bndyYXApdHJ5e3ZhciB0PXIuY3JlYXRlRWxlbWVudCgiZGl2Iiksbj1vLnVud3JhcCh0KTsxPT09dC5ub2RlVHlwZSYmbiYmMT09PW4ubm9kZVR5cGUmJihlPW8udW53cmFwKX1jYXRjaChpKXt9cmV0dXJuIGV9KCkseD1mdW5jdGlvbihlKXtyZXR1cm4gYi5jYWxsKGUsMCl9LEM9ZnVuY3Rpb24oKXt2YXIgZSxuLGksbyxyLHMsYT14KGFyZ3VtZW50cyksbD1hWzBdfHx7fTtmb3IoZT0xLG49YS5sZW5ndGg7bj5lO2UrKylpZihudWxsIT0oaT1hW2VdKSlmb3IobyBpbiBpKXkuY2FsbChpLG8pJiYocj1sW29dLHM9aVtvXSxsIT09cyYmcyE9PXQmJihsW29dPXMpKTtyZXR1cm4gbH0saz1mdW5jdGlvbihlKXt2YXIgdCxuLGksbztpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PWUpdD1lO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aClmb3IodD1bXSxuPTAsaT1lLmxlbmd0aDtpPm47bisrKXkuY2FsbChlLG4pJiYodFtuXT1rKGVbbl0pKTtlbHNle3Q9e307Zm9yKG8gaW4gZSl5LmNhbGwoZSxvKSYmKHRbb109ayhlW29dKSl9cmV0dXJuIHR9LFQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49e30saT0wLG89dC5sZW5ndGg7bz5pO2krKyl0W2ldaW4gZSYmKG5bdFtpXV09ZVt0W2ldXSk7cmV0dXJuIG59LEU9ZnVuY3Rpb24oZSx0KXt2YXIgbj17fTtmb3IodmFyIGkgaW4gZSktMT09PXQuaW5kZXhPZihpKSYmKG5baV09ZVtpXSk7cmV0dXJuIG59LCQ9ZnVuY3Rpb24oZSl7aWYoZSlmb3IodmFyIHQgaW4gZSl5LmNhbGwoZSx0KSYmZGVsZXRlIGVbdF07cmV0dXJuIGV9LE49ZnVuY3Rpb24oZSx0KXtpZihlJiYxPT09ZS5ub2RlVHlwZSYmZS5vd25lckRvY3VtZW50JiZ0JiYoMT09PXQubm9kZVR5cGUmJnQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50PT09ZS5vd25lckRvY3VtZW50fHw5PT09dC5ub2RlVHlwZSYmIXQub3duZXJEb2N1bWVudCYmdD09PWUub3duZXJEb2N1bWVudCkpZG97aWYoZT09PXQpcmV0dXJuITA7ZT1lLnBhcmVudE5vZGV9d2hpbGUoZSk7cmV0dXJuITF9LF89ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiZlJiYodD1lLnNwbGl0KCIjIilbMF0uc3BsaXQoIj8iKVswXSx0PWUuc2xpY2UoMCxlLmxhc3RJbmRleE9mKCIvIikrMSkpLHR9LFM9ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJmUmJihuPWUubWF0Y2goL14oPzp8W146QF0qQHwuK1wpQCg/PWh0dHBbc10/fGZpbGUpfC4rP1xzKyg/OiBhdCB8QCkoPzpbXjpcKF0rICkqW1woXT8pKCg/Omh0dHBbc10/fGZpbGUpOlwvXC9bXC9dPy4rP1wvW146XCldKj8pKD86OlxkKykoPzo6XGQrKT8vKSxuJiZuWzFdP3Q9blsxXToobj1lLm1hdGNoKC9cKUAoKD86aHR0cFtzXT98ZmlsZSk6XC9cL1tcL10/Lis/XC9bXjpcKV0qPykoPzo6XGQrKSg/OjpcZCspPy8pLG4mJm5bMV0mJih0PW5bMV0pKSksdH0sRD1mdW5jdGlvbigpe3ZhciBlLHQ7dHJ5e3Rocm93IG5ldyB1fWNhdGNoKG4pe3Q9bn1yZXR1cm4gdCYmKGU9dC5zb3VyY2VVUkx8fHQuZmlsZU5hbWV8fFModC5zdGFjaykpLGV9LEE9ZnVuY3Rpb24oKXt2YXIgZSxuLGk7aWYoci5jdXJyZW50U2NyaXB0JiYoZT1yLmN1cnJlbnRTY3JpcHQuc3JjKSlyZXR1cm4gZTtpZihuPXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLDE9PT1uLmxlbmd0aClyZXR1cm4gblswXS5zcmN8fHQ7aWYoInJlYWR5U3RhdGUiaW4gblswXSlmb3IoaT1uLmxlbmd0aDtpLS07KWlmKCJpbnRlcmFjdGl2ZSI9PT1uW2ldLnJlYWR5U3RhdGUmJihlPW5baV0uc3JjKSlyZXR1cm4gZTtyZXR1cm4ibG9hZGluZyI9PT1yLnJlYWR5U3RhdGUmJihlPW5bbi5sZW5ndGgtMV0uc3JjKT9lOihlPUQoKSk/ZTp0fSxNPWZ1bmN0aW9uKCl7dmFyIGUsbixpLG89ci5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7Zm9yKGU9by5sZW5ndGg7ZS0tOyl7aWYoIShpPW9bZV0uc3JjKSl7bj1udWxsO2JyZWFrfWlmKGk9XyhpKSxudWxsPT1uKW49aTtlbHNlIGlmKG4hPT1pKXtuPW51bGw7YnJlYWt9fXJldHVybiBufHx0fSxMPWZ1bmN0aW9uKCl7dmFyIGU9XyhBKCkpfHxNKCl8fCIiO3JldHVybiBlKyJaZXJvQ2xpcGJvYXJkLnN3ZiJ9LFA9e2JyaWRnZTpudWxsLHZlcnNpb246IjAuMC4wIixwbHVnaW5UeXBlOiJ1bmtub3duIixkaXNhYmxlZDpudWxsLG91dGRhdGVkOm51bGwsdW5hdmFpbGFibGU6bnVsbCxkZWFjdGl2YXRlZDpudWxsLG92ZXJkdWU6bnVsbCxyZWFkeTpudWxsfSxGPSIxMS4wLjAiLE89e30sST17fSxIPW51bGwsaj17cmVhZHk6IkZsYXNoIGNvbW11bmljYXRpb24gaXMgZXN0YWJsaXNoZWQiLGVycm9yOnsiZmxhc2gtZGlzYWJsZWQiOiJGbGFzaCBpcyBkaXNhYmxlZCBvciBub3QgaW5zdGFsbGVkIiwiZmxhc2gtb3V0ZGF0ZWQiOiJGbGFzaCBpcyB0b28gb3V0ZGF0ZWQgdG8gc3VwcG9ydCBaZXJvQ2xpcGJvYXJkIiwiZmxhc2gtdW5hdmFpbGFibGUiOiJGbGFzaCBpcyB1bmFibGUgdG8gY29tbXVuaWNhdGUgYmlkaXJlY3Rpb25hbGx5IHdpdGggSmF2YVNjcmlwdCIsImZsYXNoLWRlYWN0aXZhdGVkIjoiRmxhc2ggaXMgdG9vIG91dGRhdGVkIGZvciB5b3VyIGJyb3dzZXIgYW5kL29yIGlzIGNvbmZpZ3VyZWQgYXMgY2xpY2stdG8tYWN0aXZhdGUiLCJmbGFzaC1vdmVyZHVlIjoiRmxhc2ggY29tbXVuaWNhdGlvbiB3YXMgZXN0YWJsaXNoZWQgYnV0IE5PVCB3aXRoaW4gdGhlIGFjY2VwdGFibGUgdGltZSBsaW1pdCJ9fSx6PXtzd2ZQYXRoOkwoKSx0cnVzdGVkRG9tYWluczplLmxvY2F0aW9uLmhvc3Q/W2UubG9jYXRpb24uaG9zdF06W10sY2FjaGVCdXN0OiEwLGZvcmNlRW5oYW5jZWRDbGlwYm9hcmQ6ITEsZmxhc2hMb2FkVGltZW91dDozZTQsYXV0b0FjdGl2YXRlOiEwLGJ1YmJsZUV2ZW50czohMCxjb250YWluZXJJZDoiZ2xvYmFsLXplcm9jbGlwYm9hcmQtaHRtbC1icmlkZ2UiLGNvbnRhaW5lckNsYXNzOiJnbG9iYWwtemVyb2NsaXBib2FyZC1jb250YWluZXIiLHN3Zk9iamVjdElkOiJnbG9iYWwtemVyb2NsaXBib2FyZC1mbGFzaC1icmlkZ2UiLGhvdmVyQ2xhc3M6Inplcm9jbGlwYm9hcmQtaXMtaG92ZXIiLGFjdGl2ZUNsYXNzOiJ6ZXJvY2xpcGJvYXJkLWlzLWFjdGl2ZSIsZm9yY2VIYW5kQ3Vyc29yOiExLHRpdGxlOm51bGwsekluZGV4Ojk5OTk5OTk5OX0sVz1mdW5jdGlvbihlKXtpZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKWZvcih2YXIgdCBpbiBlKWlmKHkuY2FsbChlLHQpKWlmKC9eKD86Zm9yY2VIYW5kQ3Vyc29yfHRpdGxlfHpJbmRleHxidWJibGVFdmVudHMpJC8udGVzdCh0KSl6W3RdPWVbdF07ZWxzZSBpZihudWxsPT1QLmJyaWRnZSlpZigiY29udGFpbmVySWQiPT09dHx8InN3Zk9iamVjdElkIj09PXQpe2lmKCFudChlW3RdKSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBzcGVjaWZpZWQgYCIrdCsiYCB2YWx1ZSBpcyBub3QgdmFsaWQgYXMgYW4gSFRNTDQgRWxlbWVudCBJRCIpO3pbdF09ZVt0XX1lbHNlIHpbdF09ZVt0XTt7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwhZSlyZXR1cm4gayh6KTtpZih5LmNhbGwoeixlKSlyZXR1cm4geltlXX19LFI9ZnVuY3Rpb24oKXtyZXR1cm57YnJvd3NlcjpUKHMsWyJ1c2VyQWdlbnQiLCJwbGF0Zm9ybSIsImFwcE5hbWUiXSksZmxhc2g6RShQLFsiYnJpZGdlIl0pLHplcm9jbGlwYm9hcmQ6e3ZlcnNpb246QXQudmVyc2lvbixjb25maWc6QXQuY29uZmlnKCl9fX0sQj1mdW5jdGlvbigpe3JldHVybiEhKFAuZGlzYWJsZWR8fFAub3V0ZGF0ZWR8fFAudW5hdmFpbGFibGV8fFAuZGVhY3RpdmF0ZWQpfSxxPWZ1bmN0aW9uKGUsdCl7dmFyIG4saSxvLHI9e307aWYoInN0cmluZyI9PXR5cGVvZiBlJiZlKW89ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KC9ccysvKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgZSYmZSYmInVuZGVmaW5lZCI9PXR5cGVvZiB0KWZvcihuIGluIGUpeS5jYWxsKGUsbikmJiJzdHJpbmciPT10eXBlb2YgbiYmbiYmImZ1bmN0aW9uIj09dHlwZW9mIGVbbl0mJkF0Lm9uKG4sZVtuXSk7aWYobyYmby5sZW5ndGgpe2ZvcihuPTAsaT1vLmxlbmd0aDtpPm47bisrKWU9b1tuXS5yZXBsYWNlKC9eb24vLCIiKSxyW2VdPSEwLE9bZV18fChPW2VdPVtdKSxPW2VdLnB1c2godCk7aWYoci5yZWFkeSYmUC5yZWFkeSYmQXQuZW1pdCh7dHlwZToicmVhZHkifSksci5lcnJvcil7dmFyIHM9WyJkaXNhYmxlZCIsIm91dGRhdGVkIiwidW5hdmFpbGFibGUiLCJkZWFjdGl2YXRlZCIsIm92ZXJkdWUiXTtmb3Iobj0wLGk9cy5sZW5ndGg7aT5uO24rKylpZihQW3Nbbl1dPT09ITApe0F0LmVtaXQoe3R5cGU6ImVycm9yIixuYW1lOiJmbGFzaC0iK3Nbbl19KTticmVha319fXJldHVybiBBdH0sVT1mdW5jdGlvbihlLHQpe3ZhciBuLGksbyxyLHM7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcj1nKE8pO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlJiZlKXI9ZS5zcGxpdCgvXHMrLyk7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGUmJmUmJiJ1bmRlZmluZWQiPT10eXBlb2YgdClmb3IobiBpbiBlKXkuY2FsbChlLG4pJiYic3RyaW5nIj09dHlwZW9mIG4mJm4mJiJmdW5jdGlvbiI9PXR5cGVvZiBlW25dJiZBdC5vZmYobixlW25dKTtpZihyJiZyLmxlbmd0aClmb3Iobj0wLGk9ci5sZW5ndGg7aT5uO24rKylpZihlPXJbbl0udG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9eb24vLCIiKSxzPU9bZV0scyYmcy5sZW5ndGgpaWYodClmb3Iobz1zLmluZGV4T2YodCk7LTEhPT1vOylzLnNwbGljZShvLDEpLG89cy5pbmRleE9mKHQsbyk7ZWxzZSBzLmxlbmd0aD0wO3JldHVybiBBdH0sWD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdD0ic3RyaW5nIj09dHlwZW9mIGUmJmU/ayhPW2VdKXx8bnVsbDprKE8pfSxZPWZ1bmN0aW9uKGUpe3ZhciB0LG4saTtyZXR1cm4gZT1pdChlKSxlJiYhY3QoZSk/InJlYWR5Ij09PWUudHlwZSYmUC5vdmVyZHVlPT09ITA/QXQuZW1pdCh7dHlwZToiZXJyb3IiLG5hbWU6ImZsYXNoLW92ZXJkdWUifSk6KHQ9Qyh7fSxlKSxsdC5jYWxsKHRoaXMsdCksImNvcHkiPT09ZS50eXBlJiYoaT1tdChJKSxuPWkuZGF0YSxIPWkuZm9ybWF0TWFwKSxuKTp2b2lkIDB9LFE9ZnVuY3Rpb24oKXtpZigiYm9vbGVhbiIhPXR5cGVvZiBQLnJlYWR5JiYoUC5yZWFkeT0hMSksIUF0LmlzRmxhc2hVbnVzYWJsZSgpJiZudWxsPT09UC5icmlkZ2Upe3ZhciBlPXouZmxhc2hMb2FkVGltZW91dDsibnVtYmVyIj09dHlwZW9mIGUmJmU+PTAmJmEoZnVuY3Rpb24oKXsiYm9vbGVhbiIhPXR5cGVvZiBQLmRlYWN0aXZhdGVkJiYoUC5kZWFjdGl2YXRlZD0hMCksUC5kZWFjdGl2YXRlZD09PSEwJiZBdC5lbWl0KHt0eXBlOiJlcnJvciIsbmFtZToiZmxhc2gtZGVhY3RpdmF0ZWQifSl9LGUpLFAub3ZlcmR1ZT0hMSxodCgpfX0sSz1mdW5jdGlvbigpe0F0LmNsZWFyRGF0YSgpLEF0LmJsdXIoKSxBdC5lbWl0KCJkZXN0cm95IiksZnQoKSxBdC5vZmYoKX0sRz1mdW5jdGlvbihlLHQpe3ZhciBuO2lmKCJvYmplY3QiPT10eXBlb2YgZSYmZSYmInVuZGVmaW5lZCI9PXR5cGVvZiB0KW49ZSxBdC5jbGVhckRhdGEoKTtlbHNle2lmKCJzdHJpbmciIT10eXBlb2YgZXx8IWUpcmV0dXJuO249e30sbltlXT10fWZvcih2YXIgaSBpbiBuKSJzdHJpbmciPT10eXBlb2YgaSYmaSYmeS5jYWxsKG4saSkmJiJzdHJpbmciPT10eXBlb2YgbltpXSYmbltpXSYmKElbaV09bltpXSl9LFY9ZnVuY3Rpb24oZSl7InVuZGVmaW5lZCI9PXR5cGVvZiBlPygkKEkpLEg9bnVsbCk6InN0cmluZyI9PXR5cGVvZiBlJiZ5LmNhbGwoSSxlKSYmZGVsZXRlIElbZV19LEo9ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBlP2soSSk6InN0cmluZyI9PXR5cGVvZiBlJiZ5LmNhbGwoSSxlKT9JW2VdOnZvaWQgMH0sWj1mdW5jdGlvbihlKXtpZihlJiYxPT09ZS5ub2RlVHlwZSl7biYmKGt0KG4sei5hY3RpdmVDbGFzcyksbiE9PWUmJmt0KG4sei5ob3ZlckNsYXNzKSksbj1lLEN0KGUsei5ob3ZlckNsYXNzKTt2YXIgdD1lLmdldEF0dHJpYnV0ZSgidGl0bGUiKXx8ei50aXRsZTtpZigic3RyaW5nIj09dHlwZW9mIHQmJnQpe3ZhciBpPXB0KFAuYnJpZGdlKTtpJiZpLnNldEF0dHJpYnV0ZSgidGl0bGUiLHQpfXZhciBvPXouZm9yY2VIYW5kQ3Vyc29yPT09ITB8fCJwb2ludGVyIj09PVR0KGUsImN1cnNvciIpO190KG8pLE50KCl9fSxldD1mdW5jdGlvbigpe3ZhciBlPXB0KFAuYnJpZGdlKTtlJiYoZS5yZW1vdmVBdHRyaWJ1dGUoInRpdGxlIiksZS5zdHlsZS5sZWZ0PSIwcHgiLGUuc3R5bGUudG9wPSItOTk5OXB4IixlLnN0eWxlLndpZHRoPSIxcHgiLGUuc3R5bGUudG9wPSIxcHgiKSxuJiYoa3Qobix6LmhvdmVyQ2xhc3MpLGt0KG4sei5hY3RpdmVDbGFzcyksbj1udWxsKX0sdHQ9ZnVuY3Rpb24oKXtyZXR1cm4gbnx8bnVsbH0sbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiZlJiYvXltBLVphLXpdW0EtWmEtejAtOV86XC1cLl0qJC8udGVzdChlKX0saXQ9ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoInN0cmluZyI9PXR5cGVvZiBlJiZlPyh0PWUsZT17fSk6Im9iamVjdCI9PXR5cGVvZiBlJiZlJiYic3RyaW5nIj09dHlwZW9mIGUudHlwZSYmZS50eXBlJiYodD1lLnR5cGUpLHQpeyFlLnRhcmdldCYmL14oY29weXxhZnRlcmNvcHl8X2NsaWNrKSQvLnRlc3QodC50b0xvd2VyQ2FzZSgpKSYmKGUudGFyZ2V0PWkpLEMoZSx7dHlwZTp0LnRvTG93ZXJDYXNlKCksdGFyZ2V0OmUudGFyZ2V0fHxufHxudWxsLHJlbGF0ZWRUYXJnZXQ6ZS5yZWxhdGVkVGFyZ2V0fHxudWxsLGN1cnJlbnRUYXJnZXQ6UCYmUC5icmlkZ2V8fG51bGwsdGltZVN0YW1wOmUudGltZVN0YW1wfHxtKCl8fG51bGx9KTt2YXIgbz1qW2UudHlwZV07cmV0dXJuImVycm9yIj09PWUudHlwZSYmZS5uYW1lJiZvJiYobz1vW2UubmFtZV0pLG8mJihlLm1lc3NhZ2U9byksInJlYWR5Ij09PWUudHlwZSYmQyhlLHt0YXJnZXQ6bnVsbCx2ZXJzaW9uOlAudmVyc2lvbn0pLCJlcnJvciI9PT1lLnR5cGUmJigvXmZsYXNoLShkaXNhYmxlZHxvdXRkYXRlZHx1bmF2YWlsYWJsZXxkZWFjdGl2YXRlZHxvdmVyZHVlKSQvLnRlc3QoZS5uYW1lKSYmQyhlLHt0YXJnZXQ6bnVsbCxtaW5pbXVtVmVyc2lvbjpGfSksL15mbGFzaC0ob3V0ZGF0ZWR8dW5hdmFpbGFibGV8ZGVhY3RpdmF0ZWR8b3ZlcmR1ZSkkLy50ZXN0KGUubmFtZSkmJkMoZSx7dmVyc2lvbjpQLnZlcnNpb259KSksImNvcHkiPT09ZS50eXBlJiYoZS5jbGlwYm9hcmREYXRhPXtzZXREYXRhOkF0LnNldERhdGEsY2xlYXJEYXRhOkF0LmNsZWFyRGF0YX0pLCJhZnRlcmNvcHkiPT09ZS50eXBlJiYoZT1ndChlLEgpKSxlLnRhcmdldCYmIWUucmVsYXRlZFRhcmdldCYmKGUucmVsYXRlZFRhcmdldD1vdChlLnRhcmdldCkpLGU9cnQoZSl9fSxvdD1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLmdldEF0dHJpYnV0ZSYmZS5nZXRBdHRyaWJ1dGUoImRhdGEtY2xpcGJvYXJkLXRhcmdldCIpO3JldHVybiB0P3IuZ2V0RWxlbWVudEJ5SWQodCk6bnVsbH0scnQ9ZnVuY3Rpb24oZSl7aWYoZSYmL15fKD86Y2xpY2t8bW91c2UoPzpvdmVyfG91dHxkb3dufHVwfG1vdmUpKSQvLnRlc3QoZS50eXBlKSl7dmFyIG49ZS50YXJnZXQsaT0iX21vdXNlb3ZlciI9PT1lLnR5cGUmJmUucmVsYXRlZFRhcmdldD9lLnJlbGF0ZWRUYXJnZXQ6dCxzPSJfbW91c2VvdXQiPT09ZS50eXBlJiZlLnJlbGF0ZWRUYXJnZXQ/ZS5yZWxhdGVkVGFyZ2V0OnQsYT0kdChuKSxsPW8uc2NyZWVuTGVmdHx8by5zY3JlZW5YfHwwLGM9by5zY3JlZW5Ub3B8fG8uc2NyZWVuWXx8MCx1PXIuYm9keS5zY3JvbGxMZWZ0K3IuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQsZD1yLmJvZHkuc2Nyb2xsVG9wK3IuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCxwPWEubGVmdCsoIm51bWJlciI9PXR5cGVvZiBlLl9zdGFnZVg/ZS5fc3RhZ2VYOjApLGg9YS50b3ArKCJudW1iZXIiPT10eXBlb2YgZS5fc3RhZ2VZP2UuX3N0YWdlWTowKSxmPXAtdSxtPWgtZCxnPWwrZix2PWMrbSx5PSJudW1iZXIiPT10eXBlb2YgZS5tb3ZlbWVudFg/ZS5tb3ZlbWVudFg6MCxiPSJudW1iZXIiPT10eXBlb2YgZS5tb3ZlbWVudFk/ZS5tb3ZlbWVudFk6MDtkZWxldGUgZS5fc3RhZ2VYLGRlbGV0ZSBlLl9zdGFnZVksQyhlLHtzcmNFbGVtZW50Om4sZnJvbUVsZW1lbnQ6aSx0b0VsZW1lbnQ6cyxzY3JlZW5YOmcsc2NyZWVuWTp2LHBhZ2VYOnAscGFnZVk6aCxjbGllbnRYOmYsY2xpZW50WTptLHg6Zix5Om0sbW92ZW1lbnRYOnksbW92ZW1lbnRZOmIsb2Zmc2V0WDowLG9mZnNldFk6MCxsYXllclg6MCxsYXllclk6MH0pfXJldHVybiBlfSxzdD1mdW5jdGlvbihlKXt2YXIgdD1lJiYic3RyaW5nIj09dHlwZW9mIGUudHlwZSYmZS50eXBlfHwiIjtyZXR1cm4hL14oPzooPzpiZWZvcmUpP2NvcHl8ZGVzdHJveSkkLy50ZXN0KHQpfSxhdD1mdW5jdGlvbihlLHQsbixpKXtpP2EoZnVuY3Rpb24oKXtlLmFwcGx5KHQsbil9LDApOmUuYXBwbHkodCxuKX0sbHQ9ZnVuY3Rpb24oZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlJiZlLnR5cGUpe3ZhciB0PXN0KGUpLG49T1siKiJdfHxbXSxpPU9bZS50eXBlXXx8W10scj1uLmNvbmNhdChpKTtpZihyJiZyLmxlbmd0aCl7dmFyIHMsYSxsLGMsdSxkPXRoaXM7Zm9yKHM9MCxhPXIubGVuZ3RoO2E+cztzKyspbD1yW3NdLGM9ZCwic3RyaW5nIj09dHlwZW9mIGwmJiJmdW5jdGlvbiI9PXR5cGVvZiBvW2xdJiYobD1vW2xdKSwib2JqZWN0Ij09dHlwZW9mIGwmJmwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLmhhbmRsZUV2ZW50JiYoYz1sLGw9bC5oYW5kbGVFdmVudCksImZ1bmN0aW9uIj09dHlwZW9mIGwmJih1PUMoe30sZSksYXQobCxjLFt1XSx0KSl9cmV0dXJuIHRoaXN9fSxjdD1mdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldHx8bnx8bnVsbCxvPSJzd2YiPT09ZS5fc291cmNlO2RlbGV0ZSBlLl9zb3VyY2U7dmFyIHI9WyJmbGFzaC1kaXNhYmxlZCIsImZsYXNoLW91dGRhdGVkIiwiZmxhc2gtdW5hdmFpbGFibGUiLCJmbGFzaC1kZWFjdGl2YXRlZCIsImZsYXNoLW92ZXJkdWUiXTtzd2l0Y2goZS50eXBlKXtjYXNlImVycm9yIjotMSE9PXIuaW5kZXhPZihlLm5hbWUpJiZDKFAse2Rpc2FibGVkOiJmbGFzaC1kaXNhYmxlZCI9PT1lLm5hbWUsb3V0ZGF0ZWQ6ImZsYXNoLW91dGRhdGVkIj09PWUubmFtZSx1bmF2YWlsYWJsZToiZmxhc2gtdW5hdmFpbGFibGUiPT09ZS5uYW1lLGRlYWN0aXZhdGVkOiJmbGFzaC1kZWFjdGl2YXRlZCI9PT1lLm5hbWUsb3ZlcmR1ZToiZmxhc2gtb3ZlcmR1ZSI9PT1lLm5hbWUscmVhZHk6ITF9KTticmVhaztjYXNlInJlYWR5Ijp2YXIgcz1QLmRlYWN0aXZhdGVkPT09ITA7QyhQLHtkaXNhYmxlZDohMSxvdXRkYXRlZDohMSx1bmF2YWlsYWJsZTohMSxkZWFjdGl2YXRlZDohMSxvdmVyZHVlOnMscmVhZHk6IXN9KTticmVhaztjYXNlImJlZm9yZWNvcHkiOmk9dDticmVhaztjYXNlImNvcHkiOnZhciBhLGwsYz1lLnJlbGF0ZWRUYXJnZXQ7IUlbInRleHQvaHRtbCJdJiYhSVsidGV4dC9wbGFpbiJdJiZjJiYobD1jLnZhbHVlfHxjLm91dGVySFRNTHx8Yy5pbm5lckhUTUwpJiYoYT1jLnZhbHVlfHxjLnRleHRDb250ZW50fHxjLmlubmVyVGV4dCk/KGUuY2xpcGJvYXJkRGF0YS5jbGVhckRhdGEoKSxlLmNsaXBib2FyZERhdGEuc2V0RGF0YSgidGV4dC9wbGFpbiIsYSksbCE9PWEmJmUuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCJ0ZXh0L2h0bWwiLGwpKTohSVsidGV4dC9wbGFpbiJdJiZlLnRhcmdldCYmKGE9ZS50YXJnZXQuZ2V0QXR0cmlidXRlKCJkYXRhLWNsaXBib2FyZC10ZXh0IikpJiYoZS5jbGlwYm9hcmREYXRhLmNsZWFyRGF0YSgpLGUuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCJ0ZXh0L3BsYWluIixhKSk7YnJlYWs7Y2FzZSJhZnRlcmNvcHkiOkF0LmNsZWFyRGF0YSgpLHQmJnQhPT14dCgpJiZ0LmZvY3VzJiZ0LmZvY3VzKCk7YnJlYWs7Y2FzZSJfbW91c2VvdmVyIjpBdC5mb2N1cyh0KSx6LmJ1YmJsZUV2ZW50cz09PSEwJiZvJiYodCYmdCE9PWUucmVsYXRlZFRhcmdldCYmIU4oZS5yZWxhdGVkVGFyZ2V0LHQpJiZ1dChDKHt9LGUse3R5cGU6Im1vdXNlZW50ZXIiLGJ1YmJsZXM6ITEsY2FuY2VsYWJsZTohMX0pKSx1dChDKHt9LGUse3R5cGU6Im1vdXNlb3ZlciJ9KSkpO2JyZWFrO2Nhc2UiX21vdXNlb3V0IjpBdC5ibHVyKCksei5idWJibGVFdmVudHM9PT0hMCYmbyYmKHQmJnQhPT1lLnJlbGF0ZWRUYXJnZXQmJiFOKGUucmVsYXRlZFRhcmdldCx0KSYmdXQoQyh7fSxlLHt0eXBlOiJtb3VzZWxlYXZlIixidWJibGVzOiExLGNhbmNlbGFibGU6ITF9KSksdXQoQyh7fSxlLHt0eXBlOiJtb3VzZW91dCJ9KSkpO2JyZWFrO2Nhc2UiX21vdXNlZG93biI6Q3QodCx6LmFjdGl2ZUNsYXNzKSx6LmJ1YmJsZUV2ZW50cz09PSEwJiZvJiZ1dChDKHt9LGUse3R5cGU6ZS50eXBlLnNsaWNlKDEpfSkpO2JyZWFrO2Nhc2UiX21vdXNldXAiOmt0KHQsei5hY3RpdmVDbGFzcyksei5idWJibGVFdmVudHM9PT0hMCYmbyYmdXQoQyh7fSxlLHt0eXBlOmUudHlwZS5zbGljZSgxKX0pKTticmVhaztjYXNlIl9jbGljayI6aT1udWxsLHouYnViYmxlRXZlbnRzPT09ITAmJm8mJnV0KEMoe30sZSx7dHlwZTplLnR5cGUuc2xpY2UoMSl9KSk7YnJlYWs7Y2FzZSJfbW91c2Vtb3ZlIjp6LmJ1YmJsZUV2ZW50cz09PSEwJiZvJiZ1dChDKHt9LGUse3R5cGU6ZS50eXBlLnNsaWNlKDEpfSkpfXJldHVybi9eXyg/OmNsaWNrfG1vdXNlKD86b3ZlcnxvdXR8ZG93bnx1cHxtb3ZlKSkkLy50ZXN0KGUudHlwZSk/ITA6dm9pZCAwfSx1dD1mdW5jdGlvbihlKXtpZihlJiYic3RyaW5nIj09dHlwZW9mIGUudHlwZSYmZSl7dmFyIHQsbj1lLnRhcmdldHx8bnVsbCxpPW4mJm4ub3duZXJEb2N1bWVudHx8cixzPXt2aWV3OmkuZGVmYXVsdFZpZXd8fG8sY2FuQnViYmxlOiEwLGNhbmNlbGFibGU6ITAsZGV0YWlsOiJjbGljayI9PT1lLnR5cGU/MTowLGJ1dHRvbjoibnVtYmVyIj09dHlwZW9mIGUud2hpY2g/ZS53aGljaC0xOiJudW1iZXIiPT10eXBlb2YgZS5idXR0b24/ZS5idXR0b246aS5jcmVhdGVFdmVudD8wOjF9LGE9QyhzLGUpO24mJmkuY3JlYXRlRXZlbnQmJm4uZGlzcGF0Y2hFdmVudCYmKGE9W2EudHlwZSxhLmNhbkJ1YmJsZSxhLmNhbmNlbGFibGUsYS52aWV3LGEuZGV0YWlsLGEuc2NyZWVuWCxhLnNjcmVlblksYS5jbGllbnRYLGEuY2xpZW50WSxhLmN0cmxLZXksYS5hbHRLZXksYS5zaGlmdEtleSxhLm1ldGFLZXksYS5idXR0b24sYS5yZWxhdGVkVGFyZ2V0XSx0PWkuY3JlYXRlRXZlbnQoIk1vdXNlRXZlbnRzIiksdC5pbml0TW91c2VFdmVudCYmKHQuaW5pdE1vdXNlRXZlbnQuYXBwbHkodCxhKSx0Ll9zb3VyY2U9ImpzIixuLmRpc3BhdGNoRXZlbnQodCkpKX19LGR0PWZ1bmN0aW9uKCl7dmFyIGU9ci5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZS5pZD16LmNvbnRhaW5lcklkLGUuY2xhc3NOYW1lPXouY29udGFpbmVyQ2xhc3MsZS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGUuc3R5bGUubGVmdD0iMHB4IixlLnN0eWxlLnRvcD0iLTk5OTlweCIsZS5zdHlsZS53aWR0aD0iMXB4IixlLnN0eWxlLmhlaWdodD0iMXB4IixlLnN0eWxlLnpJbmRleD0iIitTdCh6LnpJbmRleCksZX0scHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUmJmUucGFyZW50Tm9kZTt0JiYiT0JKRUNUIj09PXQubm9kZU5hbWUmJnQucGFyZW50Tm9kZTspdD10LnBhcmVudE5vZGU7cmV0dXJuIHR8fG51bGx9LGh0PWZ1bmN0aW9uKCl7dmFyIGUsdD1QLmJyaWRnZSxuPXB0KHQpO2lmKCF0KXt2YXIgaT13dChvLmxvY2F0aW9uLmhvc3Qseikscz0ibmV2ZXIiPT09aT8ibm9uZSI6ImFsbCIsYT15dCh6KSxsPXouc3dmUGF0aCt2dCh6LnN3ZlBhdGgseik7bj1kdCgpO3ZhciBjPXIuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5hcHBlbmRDaGlsZChjKSxyLmJvZHkuYXBwZW5kQ2hpbGQobik7dmFyIHU9ci5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPSJhY3RpdmV4Ij09PVAucGx1Z2luVHlwZTt1LmlubmVySFRNTD0nPG9iamVjdCBpZD0iJyt6LnN3Zk9iamVjdElkKyciIG5hbWU9Iicrei5zd2ZPYmplY3RJZCsnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiAnKyhkPydjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAiJzondHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIGRhdGE9IicrbCsnIicpKyI+IisoZD8nPHBhcmFtIG5hbWU9Im1vdmllIiB2YWx1ZT0iJytsKyciLz4nOiIiKSsnPHBhcmFtIG5hbWU9ImFsbG93U2NyaXB0QWNjZXNzIiB2YWx1ZT0iJytpKyciLz48cGFyYW0gbmFtZT0iYWxsb3dOZXR3b3JraW5nIiB2YWx1ZT0iJytzKyciLz48cGFyYW0gbmFtZT0ibWVudSIgdmFsdWU9ImZhbHNlIi8+PHBhcmFtIG5hbWU9Indtb2RlIiB2YWx1ZT0idHJhbnNwYXJlbnQiLz48cGFyYW0gbmFtZT0iZmxhc2h2YXJzIiB2YWx1ZT0iJythKyciLz48L29iamVjdD4nLHQ9dS5maXJzdENoaWxkLHU9bnVsbCx3KHQpLlplcm9DbGlwYm9hcmQ9QXQsbi5yZXBsYWNlQ2hpbGQodCxjKX1yZXR1cm4gdHx8KHQ9clt6LnN3Zk9iamVjdElkXSx0JiYoZT10Lmxlbmd0aCkmJih0PXRbZS0xXSksIXQmJm4mJih0PW4uZmlyc3RDaGlsZCkpLFAuYnJpZGdlPXR8fG51bGwsdH0sZnQ9ZnVuY3Rpb24oKXt2YXIgZT1QLmJyaWRnZTtpZihlKXt2YXIgdD1wdChlKTt0JiYoImFjdGl2ZXgiPT09UC5wbHVnaW5UeXBlJiYicmVhZHlTdGF0ZSJpbiBlPyhlLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGZ1bmN0aW9uIG4oKXtpZig0PT09ZS5yZWFkeVN0YXRlKXtmb3IodmFyIGkgaW4gZSkiZnVuY3Rpb24iPT10eXBlb2YgZVtpXSYmKGVbaV09bnVsbCk7ZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSksdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9ZWxzZSBhKG4sMTApfSgpKTooZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSksdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCkpKSxQLnJlYWR5PW51bGwsUC5icmlkZ2U9bnVsbCxQLmRlYWN0aXZhdGVkPW51bGx9fSxtdD1mdW5jdGlvbihlKXt2YXIgdD17fSxuPXt9O2lmKCJvYmplY3QiPT10eXBlb2YgZSYmZSl7Zm9yKHZhciBpIGluIGUpaWYoaSYmeS5jYWxsKGUsaSkmJiJzdHJpbmciPT10eXBlb2YgZVtpXSYmZVtpXSlzd2l0Y2goaS50b0xvd2VyQ2FzZSgpKXtjYXNlInRleHQvcGxhaW4iOmNhc2UidGV4dCI6Y2FzZSJhaXI6dGV4dCI6Y2FzZSJmbGFzaDp0ZXh0Ijp0LnRleHQ9ZVtpXSxuLnRleHQ9aTticmVhaztjYXNlInRleHQvaHRtbCI6Y2FzZSJodG1sIjpjYXNlImFpcjpodG1sIjpjYXNlImZsYXNoOmh0bWwiOnQuaHRtbD1lW2ldLG4uaHRtbD1pO2JyZWFrO2Nhc2UiYXBwbGljYXRpb24vcnRmIjpjYXNlInRleHQvcnRmIjpjYXNlInJ0ZiI6Y2FzZSJyaWNodGV4dCI6Y2FzZSJhaXI6cnRmIjpjYXNlImZsYXNoOnJ0ZiI6dC5ydGY9ZVtpXSxuLnJ0Zj1pfXJldHVybntkYXRhOnQsZm9ybWF0TWFwOm59fX0sZ3Q9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fCFlfHwib2JqZWN0IiE9dHlwZW9mIHR8fCF0KXJldHVybiBlO3ZhciBuPXt9O2Zvcih2YXIgaSBpbiBlKWlmKHkuY2FsbChlLGkpKXtpZigic3VjY2VzcyIhPT1pJiYiZGF0YSIhPT1pKXtuW2ldPWVbaV07Y29udGludWV9bltpXT17fTt2YXIgbz1lW2ldO2Zvcih2YXIgciBpbiBvKXImJnkuY2FsbChvLHIpJiZ5LmNhbGwodCxyKSYmKG5baV1bdFtyXV09b1tyXSl9cmV0dXJuIG59LHZ0PWZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09dHx8dCYmdC5jYWNoZUJ1c3Q9PT0hMDtyZXR1cm4gbj8oLTE9PT1lLmluZGV4T2YoIj8iKT8iPyI6IiYiKSsibm9DYWNoZT0iK20oKToiIn0seXQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixpLHIscz0iIixhPVtdO2lmKGUudHJ1c3RlZERvbWFpbnMmJigic3RyaW5nIj09dHlwZW9mIGUudHJ1c3RlZERvbWFpbnM/cj1bZS50cnVzdGVkRG9tYWluc106Im9iamVjdCI9PXR5cGVvZiBlLnRydXN0ZWREb21haW5zJiYibGVuZ3RoImluIGUudHJ1c3RlZERvbWFpbnMmJihyPWUudHJ1c3RlZERvbWFpbnMpKSxyJiZyLmxlbmd0aClmb3IodD0wLG49ci5sZW5ndGg7bj50O3QrKylpZih5LmNhbGwocix0KSYmclt0XSYmInN0cmluZyI9PXR5cGVvZiByW3RdKXtpZihpPWJ0KHJbdF0pLCFpKWNvbnRpbnVlO2lmKCIqIj09PWkpe2EubGVuZ3RoPTAsYS5wdXNoKGkpO2JyZWFrfWEucHVzaC5hcHBseShhLFtpLCIvLyIraSxvLmxvY2F0aW9uLnByb3RvY29sKyIvLyIraV0pfXJldHVybiBhLmxlbmd0aCYmKHMrPSJ0cnVzdGVkT3JpZ2lucz0iK2woYS5qb2luKCIsIikpKSxlLmZvcmNlRW5oYW5jZWRDbGlwYm9hcmQ9PT0hMCYmKHMrPShzPyImIjoiIikrImZvcmNlRW5oYW5jZWRDbGlwYm9hcmQ9dHJ1ZSIpLCJzdHJpbmciPT10eXBlb2YgZS5zd2ZPYmplY3RJZCYmZS5zd2ZPYmplY3RJZCYmKHMrPShzPyImIjoiIikrInN3Zk9iamVjdElkPSIrbChlLnN3Zk9iamVjdElkKSksc30sYnQ9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZXx8IiI9PT1lKXJldHVybiBudWxsO2lmKGU9ZS5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIiksIiI9PT1lKXJldHVybiBudWxsO3ZhciB0PWUuaW5kZXhPZigiLy8iKTtlPS0xPT09dD9lOmUuc2xpY2UodCsyKTt2YXIgbj1lLmluZGV4T2YoIi8iKTtyZXR1cm4gZT0tMT09PW4/ZTotMT09PXR8fDA9PT1uP251bGw6ZS5zbGljZSgwLG4pLGUmJiIuc3dmIj09PWUuc2xpY2UoLTQpLnRvTG93ZXJDYXNlKCk/bnVsbDplfHxudWxsfSx3dD1mdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKGUpe3ZhciB0LG4saSxvPVtdO2lmKCJzdHJpbmciPT10eXBlb2YgZSYmKGU9W2VdKSwib2JqZWN0IiE9dHlwZW9mIGV8fCFlfHwibnVtYmVyIiE9dHlwZW9mIGUubGVuZ3RoKXJldHVybiBvO2Zvcih0PTAsbj1lLmxlbmd0aDtuPnQ7dCsrKWlmKHkuY2FsbChlLHQpJiYoaT1idChlW3RdKSkpe2lmKCIqIj09PWkpe28ubGVuZ3RoPTAsby5wdXNoKCIqIik7YnJlYWt9LTE9PT1vLmluZGV4T2YoaSkmJm8ucHVzaChpKX1yZXR1cm4gb307cmV0dXJuIGZ1bmN0aW9uKHQsbil7dmFyIGk9YnQobi5zd2ZQYXRoKTsKbnVsbD09PWkmJihpPXQpO3ZhciBvPWUobi50cnVzdGVkRG9tYWlucykscj1vLmxlbmd0aDtpZihyPjApe2lmKDE9PT1yJiYiKiI9PT1vWzBdKXJldHVybiJhbHdheXMiO2lmKC0xIT09by5pbmRleE9mKHQpKXJldHVybiAxPT09ciYmdD09PWk/InNhbWVEb21haW4iOiJhbHdheXMifXJldHVybiJuZXZlciJ9fSgpLHh0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiByLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goZSl7cmV0dXJuIG51bGx9fSxDdD1mdW5jdGlvbihlLHQpe2lmKCFlfHwxIT09ZS5ub2RlVHlwZSlyZXR1cm4gZTtpZihlLmNsYXNzTGlzdClyZXR1cm4gZS5jbGFzc0xpc3QuY29udGFpbnModCl8fGUuY2xhc3NMaXN0LmFkZCh0KSxlO2lmKHQmJiJzdHJpbmciPT10eXBlb2YgdCl7dmFyIG49KHR8fCIiKS5zcGxpdCgvXHMrLyk7aWYoMT09PWUubm9kZVR5cGUpaWYoZS5jbGFzc05hbWUpe2Zvcih2YXIgaT0iICIrZS5jbGFzc05hbWUrIiAiLG89ZS5jbGFzc05hbWUscj0wLHM9bi5sZW5ndGg7cz5yO3IrKylpLmluZGV4T2YoIiAiK25bcl0rIiAiKTwwJiYobys9IiAiK25bcl0pO2UuY2xhc3NOYW1lPW8ucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfWVsc2UgZS5jbGFzc05hbWU9dH1yZXR1cm4gZX0sa3Q9ZnVuY3Rpb24oZSx0KXtpZighZXx8MSE9PWUubm9kZVR5cGUpcmV0dXJuIGU7aWYoZS5jbGFzc0xpc3QpcmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKHQpJiZlLmNsYXNzTGlzdC5yZW1vdmUodCksZTtpZigic3RyaW5nIj09dHlwZW9mIHQmJnQpe3ZhciBuPXQuc3BsaXQoL1xzKy8pO2lmKDE9PT1lLm5vZGVUeXBlJiZlLmNsYXNzTmFtZSl7Zm9yKHZhciBpPSgiICIrZS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXG5cdF0vZywiICIpLG89MCxyPW4ubGVuZ3RoO3I+bztvKyspaT1pLnJlcGxhY2UoIiAiK25bb10rIiAiLCIgIik7ZS5jbGFzc05hbWU9aS5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIil9fXJldHVybiBlfSxUdD1mdW5jdGlvbihlLHQpe3ZhciBuPW8uZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpLmdldFByb3BlcnR5VmFsdWUodCk7cmV0dXJuImN1cnNvciIhPT10fHxuJiYiYXV0byIhPT1ufHwiQSIhPT1lLm5vZGVOYW1lP246InBvaW50ZXIifSxFdD1mdW5jdGlvbigpe3ZhciBlLHQsbixpPTE7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHIuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QmJihlPXIuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0PWUucmlnaHQtZS5sZWZ0LG49ci5ib2R5Lm9mZnNldFdpZHRoLGk9Zih0L24qMTAwKS8xMDApLGl9LCR0PWZ1bmN0aW9uKGUpe3ZhciB0PXtsZWZ0OjAsdG9wOjAsd2lkdGg6MCxoZWlnaHQ6MH07aWYoZS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qpe3ZhciBuLGkscyxhPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7InBhZ2VYT2Zmc2V0ImluIG8mJiJwYWdlWU9mZnNldCJpbiBvPyhuPW8ucGFnZVhPZmZzZXQsaT1vLnBhZ2VZT2Zmc2V0KToocz1FdCgpLG49ZihyLmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0L3MpLGk9ZihyLmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AvcykpO3ZhciBsPXIuZG9jdW1lbnRFbGVtZW50LmNsaWVudExlZnR8fDAsYz1yLmRvY3VtZW50RWxlbWVudC5jbGllbnRUb3B8fDA7dC5sZWZ0PWEubGVmdCtuLWwsdC50b3A9YS50b3AraS1jLHQud2lkdGg9IndpZHRoImluIGE/YS53aWR0aDphLnJpZ2h0LWEubGVmdCx0LmhlaWdodD0iaGVpZ2h0ImluIGE/YS5oZWlnaHQ6YS5ib3R0b20tYS50b3B9cmV0dXJuIHR9LE50PWZ1bmN0aW9uKCl7dmFyIGU7aWYobiYmKGU9cHQoUC5icmlkZ2UpKSl7dmFyIHQ9JHQobik7QyhlLnN0eWxlLHt3aWR0aDp0LndpZHRoKyJweCIsaGVpZ2h0OnQuaGVpZ2h0KyJweCIsdG9wOnQudG9wKyJweCIsbGVmdDp0LmxlZnQrInB4Iix6SW5kZXg6IiIrU3Qoei56SW5kZXgpfSl9fSxfdD1mdW5jdGlvbihlKXtQLnJlYWR5PT09ITAmJihQLmJyaWRnZSYmImZ1bmN0aW9uIj09dHlwZW9mIFAuYnJpZGdlLnNldEhhbmRDdXJzb3I/UC5icmlkZ2Uuc2V0SGFuZEN1cnNvcihlKTpQLnJlYWR5PSExKX0sU3Q9ZnVuY3Rpb24oZSl7aWYoL14oPzphdXRvfGluaGVyaXQpJC8udGVzdChlKSlyZXR1cm4gZTt2YXIgdDtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIGV8fGgoZSk/InN0cmluZyI9PXR5cGVvZiBlJiYodD1TdChkKGUsMTApKSk6dD1lLCJudW1iZXIiPT10eXBlb2YgdD90OiJhdXRvIn0sRHQ9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXt2YXIgdD1lLm1hdGNoKC9bXGRdKy9nKTtyZXR1cm4gdC5sZW5ndGg9Myx0LmpvaW4oIi4iKX1mdW5jdGlvbiBuKGUpe3JldHVybiEhZSYmKGU9ZS50b0xvd2VyQ2FzZSgpKSYmKC9eKHBlcGZsYXNocGxheWVyXC5kbGx8bGlicGVwZmxhc2hwbGF5ZXJcLnNvfHBlcHBlcmZsYXNocGxheWVyXC5wbHVnaW4pJC8udGVzdChlKXx8ImNocm9tZS5wbHVnaW4iPT09ZS5zbGljZSgtMTMpKX1mdW5jdGlvbiBpKGUpe2UmJihsPSEwLGUudmVyc2lvbiYmKGQ9dChlLnZlcnNpb24pKSwhZCYmZS5kZXNjcmlwdGlvbiYmKGQ9dChlLmRlc2NyaXB0aW9uKSksZS5maWxlbmFtZSYmKHU9bihlLmZpbGVuYW1lKSkpfXZhciBvLHIsYSxsPSExLGM9ITEsdT0hMSxkPSIiO2lmKHMucGx1Z2lucyYmcy5wbHVnaW5zLmxlbmd0aClvPXMucGx1Z2luc1siU2hvY2t3YXZlIEZsYXNoIl0saShvKSxzLnBsdWdpbnNbIlNob2Nrd2F2ZSBGbGFzaCAyLjAiXSYmKGw9ITAsZD0iMi4wLjAuMTEiKTtlbHNlIGlmKHMubWltZVR5cGVzJiZzLm1pbWVUeXBlcy5sZW5ndGgpYT1zLm1pbWVUeXBlc1siYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giXSxvPWEmJmEuZW5hYmxlZFBsdWdpbixpKG8pO2Vsc2UgaWYoInVuZGVmaW5lZCIhPXR5cGVvZiBlKXtjPSEwO3RyeXtyPW5ldyBlKCJTaG9ja3dhdmVGbGFzaC5TaG9ja3dhdmVGbGFzaC43IiksbD0hMCxkPXQoci5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKSl9Y2F0Y2goaCl7dHJ5e3I9bmV3IGUoIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZsYXNoLjYiKSxsPSEwLGQ9IjYuMC4yMSJ9Y2F0Y2goZil7dHJ5e3I9bmV3IGUoIlNob2Nrd2F2ZUZsYXNoLlNob2Nrd2F2ZUZsYXNoIiksbD0hMCxkPXQoci5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKSl9Y2F0Y2gobSl7Yz0hMX19fX1QLmRpc2FibGVkPWwhPT0hMCxQLm91dGRhdGVkPWQmJnAoZCk8cChGKSxQLnZlcnNpb249ZHx8IjAuMC4wIixQLnBsdWdpblR5cGU9dT8icGVwcGVyIjpjPyJhY3RpdmV4IjpsPyJuZXRzY2FwZSI6InVua25vd24ifTtEdChjKTt2YXIgQXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIEF0P3ZvaWQoImZ1bmN0aW9uIj09dHlwZW9mIEF0Ll9jcmVhdGVDbGllbnQmJkF0Ll9jcmVhdGVDbGllbnQuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpKTpuZXcgQXR9O3YoQXQsInZlcnNpb24iLHt2YWx1ZToiMi4xLjYiLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfSksQXQuY29uZmlnPWZ1bmN0aW9uKCl7cmV0dXJuIFcuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5zdGF0ZT1mdW5jdGlvbigpe3JldHVybiBSLmFwcGx5KHRoaXMseChhcmd1bWVudHMpKX0sQXQuaXNGbGFzaFVudXNhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIEIuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5vbj1mdW5jdGlvbigpe3JldHVybiBxLmFwcGx5KHRoaXMseChhcmd1bWVudHMpKX0sQXQub2ZmPWZ1bmN0aW9uKCl7cmV0dXJuIFUuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5oYW5kbGVycz1mdW5jdGlvbigpe3JldHVybiBYLmFwcGx5KHRoaXMseChhcmd1bWVudHMpKX0sQXQuZW1pdD1mdW5jdGlvbigpe3JldHVybiBZLmFwcGx5KHRoaXMseChhcmd1bWVudHMpKX0sQXQuY3JlYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIFEuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5kZXN0cm95PWZ1bmN0aW9uKCl7cmV0dXJuIEsuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5zZXREYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIEcuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5jbGVhckRhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gVi5hcHBseSh0aGlzLHgoYXJndW1lbnRzKSl9LEF0LmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gSi5hcHBseSh0aGlzLHgoYXJndW1lbnRzKSl9LEF0LmZvY3VzPUF0LmFjdGl2YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIFouYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5ibHVyPUF0LmRlYWN0aXZhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gZXQuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5hY3RpdmVFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHR0LmFwcGx5KHRoaXMseChhcmd1bWVudHMpKX07dmFyIE10PTAsTHQ9e30sUHQ9MCxGdD17fSxPdD17fTtDKHose2F1dG9BY3RpdmF0ZTohMH0pO3ZhciBJdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3QuaWQ9IiIrTXQrKyxMdFt0LmlkXT17aW5zdGFuY2U6dCxlbGVtZW50czpbXSxoYW5kbGVyczp7fX0sZSYmdC5jbGlwKGUpLEF0Lm9uKCIqIixmdW5jdGlvbihlKXtyZXR1cm4gdC5lbWl0KGUpfSksQXQub24oImRlc3Ryb3kiLGZ1bmN0aW9uKCl7dC5kZXN0cm95KCl9KSxBdC5jcmVhdGUoKX0sSHQ9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8scj17fSxzPUx0W3RoaXMuaWRdJiZMdFt0aGlzLmlkXS5oYW5kbGVycztpZigic3RyaW5nIj09dHlwZW9mIGUmJmUpbz1lLnRvTG93ZXJDYXNlKCkuc3BsaXQoL1xzKy8pO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlJiYidW5kZWZpbmVkIj09dHlwZW9mIHQpZm9yKG4gaW4gZSl5LmNhbGwoZSxuKSYmInN0cmluZyI9PXR5cGVvZiBuJiZuJiYiZnVuY3Rpb24iPT10eXBlb2YgZVtuXSYmdGhpcy5vbihuLGVbbl0pO2lmKG8mJm8ubGVuZ3RoKXtmb3Iobj0wLGk9by5sZW5ndGg7aT5uO24rKyllPW9bbl0ucmVwbGFjZSgvXm9uLywiIikscltlXT0hMCxzW2VdfHwoc1tlXT1bXSksc1tlXS5wdXNoKHQpO2lmKHIucmVhZHkmJlAucmVhZHkmJnRoaXMuZW1pdCh7dHlwZToicmVhZHkiLGNsaWVudDp0aGlzfSksci5lcnJvcil7dmFyIGE9WyJkaXNhYmxlZCIsIm91dGRhdGVkIiwidW5hdmFpbGFibGUiLCJkZWFjdGl2YXRlZCIsIm92ZXJkdWUiXTtmb3Iobj0wLGk9YS5sZW5ndGg7aT5uO24rKylpZihQW2Fbbl1dKXt0aGlzLmVtaXQoe3R5cGU6ImVycm9yIixuYW1lOiJmbGFzaC0iK2Fbbl0sY2xpZW50OnRoaXN9KTticmVha319fXJldHVybiB0aGlzfSxqdD1mdW5jdGlvbihlLHQpe3ZhciBuLGksbyxyLHMsYT1MdFt0aGlzLmlkXSYmTHRbdGhpcy5pZF0uaGFuZGxlcnM7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcj1nKGEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlJiZlKXI9ZS5zcGxpdCgvXHMrLyk7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGUmJmUmJiJ1bmRlZmluZWQiPT10eXBlb2YgdClmb3IobiBpbiBlKXkuY2FsbChlLG4pJiYic3RyaW5nIj09dHlwZW9mIG4mJm4mJiJmdW5jdGlvbiI9PXR5cGVvZiBlW25dJiZ0aGlzLm9mZihuLGVbbl0pO2lmKHImJnIubGVuZ3RoKWZvcihuPTAsaT1yLmxlbmd0aDtpPm47bisrKWlmKGU9cltuXS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL15vbi8sIiIpLHM9YVtlXSxzJiZzLmxlbmd0aClpZih0KWZvcihvPXMuaW5kZXhPZih0KTstMSE9PW87KXMuc3BsaWNlKG8sMSksbz1zLmluZGV4T2YodCxvKTtlbHNlIHMubGVuZ3RoPTA7cmV0dXJuIHRoaXN9LHp0PWZ1bmN0aW9uKGUpe3ZhciB0PW51bGwsbj1MdFt0aGlzLmlkXSYmTHRbdGhpcy5pZF0uaGFuZGxlcnM7cmV0dXJuIG4mJih0PSJzdHJpbmciPT10eXBlb2YgZSYmZT9uW2VdP25bZV0uc2xpY2UoMCk6W106ayhuKSksdH0sV3Q9ZnVuY3Rpb24oZSl7aWYoWHQuY2FsbCh0aGlzLGUpKXsib2JqZWN0Ij09dHlwZW9mIGUmJmUmJiJzdHJpbmciPT10eXBlb2YgZS50eXBlJiZlLnR5cGUmJihlPUMoe30sZSkpO3ZhciB0PUMoe30saXQoZSkse2NsaWVudDp0aGlzfSk7WXQuY2FsbCh0aGlzLHQpfXJldHVybiB0aGlzfSxSdD1mdW5jdGlvbihlKXtlPVF0KGUpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKHkuY2FsbChlLHQpJiZlW3RdJiYxPT09ZVt0XS5ub2RlVHlwZSl7ZVt0XS56Y0NsaXBwaW5nSWQ/LTE9PT1GdFtlW3RdLnpjQ2xpcHBpbmdJZF0uaW5kZXhPZih0aGlzLmlkKSYmRnRbZVt0XS56Y0NsaXBwaW5nSWRdLnB1c2godGhpcy5pZCk6KGVbdF0uemNDbGlwcGluZ0lkPSJ6Y0NsaXBwaW5nSWRfIitQdCsrLEZ0W2VbdF0uemNDbGlwcGluZ0lkXT1bdGhpcy5pZF0sei5hdXRvQWN0aXZhdGU9PT0hMCYmS3QoZVt0XSkpO3ZhciBuPUx0W3RoaXMuaWRdJiZMdFt0aGlzLmlkXS5lbGVtZW50czstMT09PW4uaW5kZXhPZihlW3RdKSYmbi5wdXNoKGVbdF0pfXJldHVybiB0aGlzfSxCdD1mdW5jdGlvbihlKXt2YXIgdD1MdFt0aGlzLmlkXTtpZighdClyZXR1cm4gdGhpczt2YXIgbixpPXQuZWxlbWVudHM7ZT0idW5kZWZpbmVkIj09dHlwZW9mIGU/aS5zbGljZSgwKTpRdChlKTtmb3IodmFyIG89ZS5sZW5ndGg7by0tOylpZih5LmNhbGwoZSxvKSYmZVtvXSYmMT09PWVbb10ubm9kZVR5cGUpe2ZvcihuPTA7LTEhPT0obj1pLmluZGV4T2YoZVtvXSxuKSk7KWkuc3BsaWNlKG4sMSk7dmFyIHI9RnRbZVtvXS56Y0NsaXBwaW5nSWRdO2lmKHIpe2ZvcihuPTA7LTEhPT0obj1yLmluZGV4T2YodGhpcy5pZCxuKSk7KXIuc3BsaWNlKG4sMSk7MD09PXIubGVuZ3RoJiYoei5hdXRvQWN0aXZhdGU9PT0hMCYmR3QoZVtvXSksZGVsZXRlIGVbb10uemNDbGlwcGluZ0lkKX19cmV0dXJuIHRoaXN9LHF0PWZ1bmN0aW9uKCl7dmFyIGU9THRbdGhpcy5pZF07cmV0dXJuIGUmJmUuZWxlbWVudHM/ZS5lbGVtZW50cy5zbGljZSgwKTpbXX0sVXQ9ZnVuY3Rpb24oKXt0aGlzLnVuY2xpcCgpLHRoaXMub2ZmKCksZGVsZXRlIEx0W3RoaXMuaWRdfSxYdD1mdW5jdGlvbihlKXtpZighZXx8IWUudHlwZSlyZXR1cm4hMTtpZihlLmNsaWVudCYmZS5jbGllbnQhPT10aGlzKXJldHVybiExO3ZhciB0PUx0W3RoaXMuaWRdJiZMdFt0aGlzLmlkXS5lbGVtZW50cyxuPSEhdCYmdC5sZW5ndGg+MCxpPSFlLnRhcmdldHx8biYmLTEhPT10LmluZGV4T2YoZS50YXJnZXQpLG89ZS5yZWxhdGVkVGFyZ2V0JiZuJiYtMSE9PXQuaW5kZXhPZihlLnJlbGF0ZWRUYXJnZXQpLHI9ZS5jbGllbnQmJmUuY2xpZW50PT09dGhpcztyZXR1cm4gaXx8b3x8cj8hMDohMX0sWXQ9ZnVuY3Rpb24oZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlJiZlLnR5cGUpe3ZhciB0PXN0KGUpLG49THRbdGhpcy5pZF0mJkx0W3RoaXMuaWRdLmhhbmRsZXJzWyIqIl18fFtdLGk9THRbdGhpcy5pZF0mJkx0W3RoaXMuaWRdLmhhbmRsZXJzW2UudHlwZV18fFtdLHI9bi5jb25jYXQoaSk7aWYociYmci5sZW5ndGgpe3ZhciBzLGEsbCxjLHUsZD10aGlzO2ZvcihzPTAsYT1yLmxlbmd0aDthPnM7cysrKWw9cltzXSxjPWQsInN0cmluZyI9PXR5cGVvZiBsJiYiZnVuY3Rpb24iPT10eXBlb2Ygb1tsXSYmKGw9b1tsXSksIm9iamVjdCI9PXR5cGVvZiBsJiZsJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5oYW5kbGVFdmVudCYmKGM9bCxsPWwuaGFuZGxlRXZlbnQpLCJmdW5jdGlvbiI9PXR5cGVvZiBsJiYodT1DKHt9LGUpLGF0KGwsYyxbdV0sdCkpfXJldHVybiB0aGlzfX0sUXQ9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT1bXSksIm51bWJlciIhPXR5cGVvZiBlLmxlbmd0aD9bZV06ZX0sS3Q9ZnVuY3Rpb24oZSl7aWYoZSYmMT09PWUubm9kZVR5cGUpe3ZhciB0PWZ1bmN0aW9uKGUpeyhlfHwoZT1vLmV2ZW50KSkmJigianMiIT09ZS5fc291cmNlJiYoZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxlLnByZXZlbnREZWZhdWx0KCkpLGRlbGV0ZSBlLl9zb3VyY2UpfSxuPWZ1bmN0aW9uKG4peyhufHwobj1vLmV2ZW50KSkmJih0KG4pLEF0LmZvY3VzKGUpKX07ZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLG4sITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLHQsITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdCwhMSksZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0LCExKSxlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCwhMSksT3RbZS56Y0NsaXBwaW5nSWRdPXttb3VzZW92ZXI6bixtb3VzZW91dDp0LG1vdXNlZW50ZXI6dCxtb3VzZWxlYXZlOnQsbW91c2Vtb3ZlOnR9fX0sR3Q9ZnVuY3Rpb24oZSl7aWYoZSYmMT09PWUubm9kZVR5cGUpe3ZhciB0PU90W2UuemNDbGlwcGluZ0lkXTtpZigib2JqZWN0Ij09dHlwZW9mIHQmJnQpe2Zvcih2YXIgbixpLG89WyJtb3ZlIiwibGVhdmUiLCJlbnRlciIsIm91dCIsIm92ZXIiXSxyPTAscz1vLmxlbmd0aDtzPnI7cisrKW49Im1vdXNlIitvW3JdLGk9dFtuXSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKG4saSwhMSk7ZGVsZXRlIE90W2UuemNDbGlwcGluZ0lkXX19fTtBdC5fY3JlYXRlQ2xpZW50PWZ1bmN0aW9uKCl7SXQuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5wcm90b3R5cGUub249ZnVuY3Rpb24oKXtyZXR1cm4gSHQuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKCl7cmV0dXJuIGp0LmFwcGx5KHRoaXMseChhcmd1bWVudHMpKX0sQXQucHJvdG90eXBlLmhhbmRsZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIHp0LmFwcGx5KHRoaXMseChhcmd1bWVudHMpKX0sQXQucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gV3QuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5wcm90b3R5cGUuY2xpcD1mdW5jdGlvbigpe3JldHVybiBSdC5hcHBseSh0aGlzLHgoYXJndW1lbnRzKSl9LEF0LnByb3RvdHlwZS51bmNsaXA9ZnVuY3Rpb24oKXtyZXR1cm4gQnQuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5wcm90b3R5cGUuZWxlbWVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gcXQuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSxBdC5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiBVdC5hcHBseSh0aGlzLHgoYXJndW1lbnRzKSl9LEF0LnByb3RvdHlwZS5zZXRUZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBBdC5zZXREYXRhKCJ0ZXh0L3BsYWluIixlKSx0aGlzfSxBdC5wcm90b3R5cGUuc2V0SHRtbD1mdW5jdGlvbihlKXtyZXR1cm4gQXQuc2V0RGF0YSgidGV4dC9odG1sIixlKSx0aGlzfSxBdC5wcm90b3R5cGUuc2V0UmljaFRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEF0LnNldERhdGEoImFwcGxpY2F0aW9uL3J0ZiIsZSksdGhpc30sQXQucHJvdG90eXBlLnNldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gQXQuc2V0RGF0YS5hcHBseSh0aGlzLHgoYXJndW1lbnRzKSksdGhpc30sQXQucHJvdG90eXBlLmNsZWFyRGF0YT1mdW5jdGlvbigpe3JldHVybiBBdC5jbGVhckRhdGEuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpLHRoaXN9LEF0LnByb3RvdHlwZS5nZXREYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIEF0LmdldERhdGEuYXBwbHkodGhpcyx4KGFyZ3VtZW50cykpfSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShmdW5jdGlvbigpe3JldHVybiBBdH0pOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHMmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPUF0OmUuWmVyb0NsaXBib2FyZD1BdH0oZnVuY3Rpb24oKXtyZXR1cm4gdGhpc3x8d2luZG93fSgpKSxmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4odCxuKXt2YXIgbyxyLHMsYT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImFyZWEiPT09YT8obz10LnBhcmVudE5vZGUscj1vLm5hbWUsdC5ocmVmJiZyJiYibWFwIj09PW8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT8ocz1lKCJpbWdbdXNlbWFwPSMiK3IrIl0iKVswXSwhIXMmJmkocykpOiExKTooL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0Ly50ZXN0KGEpPyF0LmRpc2FibGVkOiJhIj09PWE/dC5ocmVmfHxuOm4pJiZpKHQpfWZ1bmN0aW9uIGkodCl7cmV0dXJuIGUuZXhwci5maWx0ZXJzLnZpc2libGUodCkmJiFlKHQpLnBhcmVudHMoKS5hZGRCYWNrKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuImhpZGRlbiI9PT1lLmNzcyh0aGlzLCJ2aXNpYmlsaXR5Iil9KS5sZW5ndGh9dmFyIG89MCxyPS9edWktaWQtXGQrJC87ZS51aT1lLnVpfHx7fSxlLmV4dGVuZChlLnVpLHt2ZXJzaW9uOiIxLjEwLjQiLGtleUNvZGU6e0JBQ0tTUEFDRTo4LENPTU1BOjE4OCxERUxFVEU6NDYsRE9XTjo0MCxFTkQ6MzUsRU5URVI6MTMsRVNDQVBFOjI3LEhPTUU6MzYsTEVGVDozNyxOVU1QQURfQUREOjEwNyxOVU1QQURfREVDSU1BTDoxMTAsTlVNUEFEX0RJVklERToxMTEsTlVNUEFEX0VOVEVSOjEwOCxOVU1QQURfTVVMVElQTFk6MTA2LE5VTVBBRF9TVUJUUkFDVDoxMDksUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTUEFDRTozMixUQUI6OSxVUDozOH19KSxlLmZuLmV4dGVuZCh7Zm9jdXM6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBuP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2UodCkuZm9jdXMoKSxpJiZpLmNhbGwodCl9LG4pfSk6dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fShlLmZuLmZvY3VzKSxzY3JvbGxQYXJlbnQ6ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4gdD1lLnVpLmllJiYvKHN0YXRpY3xyZWxhdGl2ZSkvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpfHwvYWJzb2x1dGUvLnRlc3QodGhpcy5jc3MoInBvc2l0aW9uIikpP3RoaXMucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybi8ocmVsYXRpdmV8YWJzb2x1dGV8Zml4ZWQpLy50ZXN0KGUuY3NzKHRoaXMsInBvc2l0aW9uIikpJiYvKGF1dG98c2Nyb2xsKS8udGVzdChlLmNzcyh0aGlzLCJvdmVyZmxvdyIpK2UuY3NzKHRoaXMsIm92ZXJmbG93LXkiKStlLmNzcyh0aGlzLCJvdmVyZmxvdy14IikpfSkuZXEoMCk6dGhpcy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuLyhhdXRvfHNjcm9sbCkvLnRlc3QoZS5jc3ModGhpcywib3ZlcmZsb3ciKStlLmNzcyh0aGlzLCJvdmVyZmxvdy15IikrZS5jc3ModGhpcywib3ZlcmZsb3cteCIpKX0pLmVxKDApLC9maXhlZC8udGVzdCh0aGlzLmNzcygicG9zaXRpb24iKSl8fCF0Lmxlbmd0aD9lKGRvY3VtZW50KTp0fSx6SW5kZXg6ZnVuY3Rpb24obil7aWYobiE9PXQpcmV0dXJuIHRoaXMuY3NzKCJ6SW5kZXgiLG4pO2lmKHRoaXMubGVuZ3RoKWZvcih2YXIgaSxvLHI9ZSh0aGlzWzBdKTtyLmxlbmd0aCYmclswXSE9PWRvY3VtZW50Oyl7aWYoaT1yLmNzcygicG9zaXRpb24iKSwoImFic29sdXRlIj09PWl8fCJyZWxhdGl2ZSI9PT1pfHwiZml4ZWQiPT09aSkmJihvPXBhcnNlSW50KHIuY3NzKCJ6SW5kZXgiKSwxMCksIWlzTmFOKG8pJiYwIT09bykpcmV0dXJuIG87cj1yLnBhcmVudCgpfXJldHVybiAwfSx1bmlxdWVJZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt0aGlzLmlkfHwodGhpcy5pZD0idWktaWQtIisgKytvKX0pfSxyZW1vdmVVbmlxdWVJZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtyLnRlc3QodGhpcy5pZCkmJmUodGhpcykucmVtb3ZlQXR0cigiaWQiKX0pfX0pLGUuZXh0ZW5kKGUuZXhwclsiOiJdLHtkYXRhOmUuZXhwci5jcmVhdGVQc2V1ZG8/ZS5leHByLmNyZWF0ZVBzZXVkbyhmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuISFlLmRhdGEobix0KX19KTpmdW5jdGlvbih0LG4saSl7cmV0dXJuISFlLmRhdGEodCxpWzNdKX0sZm9jdXNhYmxlOmZ1bmN0aW9uKHQpe3JldHVybiBuKHQsIWlzTmFOKGUuYXR0cih0LCJ0YWJpbmRleCIpKSl9LHRhYmJhYmxlOmZ1bmN0aW9uKHQpe3ZhciBpPWUuYXR0cih0LCJ0YWJpbmRleCIpLG89aXNOYU4oaSk7cmV0dXJuKG98fGk+PTApJiZuKHQsIW8pfX0pLGUoIjxhPiIpLm91dGVyV2lkdGgoMSkuanF1ZXJ5fHxlLmVhY2goWyJXaWR0aCIsIkhlaWdodCJdLGZ1bmN0aW9uKG4saSl7ZnVuY3Rpb24gbyh0LG4saSxvKXtyZXR1cm4gZS5lYWNoKHIsZnVuY3Rpb24oKXtuLT1wYXJzZUZsb2F0KGUuY3NzKHQsInBhZGRpbmciK3RoaXMpKXx8MCxpJiYobi09cGFyc2VGbG9hdChlLmNzcyh0LCJib3JkZXIiK3RoaXMrIldpZHRoIikpfHwwKSxvJiYobi09cGFyc2VGbG9hdChlLmNzcyh0LCJtYXJnaW4iK3RoaXMpKXx8MCl9KSxufXZhciByPSJXaWR0aCI9PT1pP1siTGVmdCIsIlJpZ2h0Il06WyJUb3AiLCJCb3R0b20iXSxzPWkudG9Mb3dlckNhc2UoKSxhPXtpbm5lcldpZHRoOmUuZm4uaW5uZXJXaWR0aCxpbm5lckhlaWdodDplLmZuLmlubmVySGVpZ2h0LG91dGVyV2lkdGg6ZS5mbi5vdXRlcldpZHRoLG91dGVySGVpZ2h0OmUuZm4ub3V0ZXJIZWlnaHR9O2UuZm5bImlubmVyIitpXT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PXQ/YVsiaW5uZXIiK2ldLmNhbGwodGhpcyk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5jc3MocyxvKHRoaXMsbikrInB4Iil9KX0sZS5mblsib3V0ZXIiK2ldPWZ1bmN0aW9uKHQsbil7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0P2FbIm91dGVyIitpXS5jYWxsKHRoaXMsdCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5jc3MocyxvKHRoaXMsdCwhMCxuKSsicHgiKX0pfX0pLGUuZm4uYWRkQmFja3x8KGUuZm4uYWRkQmFjaz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9KSxlKCI8YT4iKS5kYXRhKCJhLWIiLCJhIikucmVtb3ZlRGF0YSgiYS1iIikuZGF0YSgiYS1iIikmJihlLmZuLnJlbW92ZURhdGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3QuY2FsbCh0aGlzLGUuY2FtZWxDYXNlKG4pKTp0LmNhbGwodGhpcyl9fShlLmZuLnJlbW92ZURhdGEpKSxlLnVpLmllPSEhL21zaWUgW1x3Ll0rLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSksZS5zdXBwb3J0LnNlbGVjdHN0YXJ0PSJvbnNlbGVjdHN0YXJ0ImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuZm4uZXh0ZW5kKHtkaXNhYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYmluZCgoZS5zdXBwb3J0LnNlbGVjdHN0YXJ0PyJzZWxlY3RzdGFydCI6Im1vdXNlZG93biIpKyIudWktZGlzYWJsZVNlbGVjdGlvbiIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpfSl9LGVuYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVuYmluZCgiLnVpLWRpc2FibGVTZWxlY3Rpb24iKX19KSxlLmV4dGVuZChlLnVpLHtwbHVnaW46e2FkZDpmdW5jdGlvbih0LG4saSl7dmFyIG8scj1lLnVpW3RdLnByb3RvdHlwZTtmb3IobyBpbiBpKXIucGx1Z2luc1tvXT1yLnBsdWdpbnNbb118fFtdLHIucGx1Z2luc1tvXS5wdXNoKFtuLGlbb11dKX0sY2FsbDpmdW5jdGlvbihlLHQsbil7dmFyIGksbz1lLnBsdWdpbnNbdF07aWYobyYmZS5lbGVtZW50WzBdLnBhcmVudE5vZGUmJjExIT09ZS5lbGVtZW50WzBdLnBhcmVudE5vZGUubm9kZVR5cGUpZm9yKGk9MDtpPG8ubGVuZ3RoO2krKyllLm9wdGlvbnNbb1tpXVswXV0mJm9baV1bMV0uYXBwbHkoZS5lbGVtZW50LG4pfX0saGFzU2Nyb2xsOmZ1bmN0aW9uKHQsbil7aWYoImhpZGRlbiI9PT1lKHQpLmNzcygib3ZlcmZsb3ciKSlyZXR1cm4hMTt2YXIgaT1uJiYibGVmdCI9PT1uPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIixvPSExO3JldHVybiB0W2ldPjA/ITA6KHRbaV09MSxvPXRbaV0+MCx0W2ldPTAsbyl9fSl9KGpRdWVyeSksZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKGUsdCxuKXtyZXR1cm5bcGFyc2VGbG9hdChlWzBdKSooaC50ZXN0KGVbMF0pP3QvMTAwOjEpLHBhcnNlRmxvYXQoZVsxXSkqKGgudGVzdChlWzFdKT9uLzEwMDoxKV19ZnVuY3Rpb24gaSh0LG4pe3JldHVybiBwYXJzZUludChlLmNzcyh0LG4pLDEwKXx8MH1mdW5jdGlvbiBvKHQpe3ZhciBuPXRbMF07cmV0dXJuIDk9PT1uLm5vZGVUeXBlP3t3aWR0aDp0LndpZHRoKCksaGVpZ2h0OnQuaGVpZ2h0KCksb2Zmc2V0Ont0b3A6MCxsZWZ0OjB9fTplLmlzV2luZG93KG4pP3t3aWR0aDp0LndpZHRoKCksaGVpZ2h0OnQuaGVpZ2h0KCksb2Zmc2V0Ont0b3A6dC5zY3JvbGxUb3AoKSxsZWZ0OnQuc2Nyb2xsTGVmdCgpfX06bi5wcmV2ZW50RGVmYXVsdD97d2lkdGg6MCxoZWlnaHQ6MCxvZmZzZXQ6e3RvcDpuLnBhZ2VZLGxlZnQ6bi5wYWdlWH19Ont3aWR0aDp0Lm91dGVyV2lkdGgoKSxoZWlnaHQ6dC5vdXRlckhlaWdodCgpLG9mZnNldDp0Lm9mZnNldCgpfX1lLnVpPWUudWl8fHt9O3ZhciByLHM9TWF0aC5tYXgsYT1NYXRoLmFicyxsPU1hdGgucm91bmQsYz0vbGVmdHxjZW50ZXJ8cmlnaHQvLHU9L3RvcHxjZW50ZXJ8Ym90dG9tLyxkPS9bXCtcLV1cZCsoXC5bXGRdKyk/JT8vLHA9L15cdysvLGg9LyUkLyxmPWUuZm4ucG9zaXRpb247ZS5wb3NpdGlvbj17c2Nyb2xsYmFyV2lkdGg6ZnVuY3Rpb24oKXtpZihyIT09dClyZXR1cm4gcjt2YXIgbixpLG89ZSgiPGRpdiBzdHlsZT0nZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OmhpZGRlbjsnPjxkaXYgc3R5bGU9J2hlaWdodDoxMDBweDt3aWR0aDphdXRvOyc+PC9kaXY+PC9kaXY+Iikscz1vLmNoaWxkcmVuKClbMF07cmV0dXJuIGUoImJvZHkiKS5hcHBlbmQobyksbj1zLm9mZnNldFdpZHRoLG8uY3NzKCJvdmVyZmxvdyIsInNjcm9sbCIpLGk9cy5vZmZzZXRXaWR0aCxuPT09aSYmKGk9b1swXS5jbGllbnRXaWR0aCksby5yZW1vdmUoKSxyPW4taX0sZ2V0U2Nyb2xsSW5mbzpmdW5jdGlvbih0KXt2YXIgbj10LmlzV2luZG93fHx0LmlzRG9jdW1lbnQ/IiI6dC5lbGVtZW50LmNzcygib3ZlcmZsb3cteCIpLGk9dC5pc1dpbmRvd3x8dC5pc0RvY3VtZW50PyIiOnQuZWxlbWVudC5jc3MoIm92ZXJmbG93LXkiKSxvPSJzY3JvbGwiPT09bnx8ImF1dG8iPT09biYmdC53aWR0aDx0LmVsZW1lbnRbMF0uc2Nyb2xsV2lkdGgscj0ic2Nyb2xsIj09PWl8fCJhdXRvIj09PWkmJnQuaGVpZ2h0PHQuZWxlbWVudFswXS5zY3JvbGxIZWlnaHQ7cmV0dXJue3dpZHRoOnI/ZS5wb3NpdGlvbi5zY3JvbGxiYXJXaWR0aCgpOjAsaGVpZ2h0Om8/ZS5wb3NpdGlvbi5zY3JvbGxiYXJXaWR0aCgpOjB9fSxnZXRXaXRoaW5JbmZvOmZ1bmN0aW9uKHQpe3ZhciBuPWUodHx8d2luZG93KSxpPWUuaXNXaW5kb3coblswXSksbz0hIW5bMF0mJjk9PT1uWzBdLm5vZGVUeXBlO3JldHVybntlbGVtZW50Om4saXNXaW5kb3c6aSxpc0RvY3VtZW50Om8sb2Zmc2V0Om4ub2Zmc2V0KCl8fHtsZWZ0OjAsdG9wOjB9LHNjcm9sbExlZnQ6bi5zY3JvbGxMZWZ0KCksc2Nyb2xsVG9wOm4uc2Nyb2xsVG9wKCksd2lkdGg6aT9uLndpZHRoKCk6bi5vdXRlcldpZHRoKCksaGVpZ2h0Omk/bi5oZWlnaHQoKTpuLm91dGVySGVpZ2h0KCl9fX0sZS5mbi5wb3NpdGlvbj1mdW5jdGlvbih0KXtpZighdHx8IXQub2YpcmV0dXJuIGYuYXBwbHkodGhpcyxhcmd1bWVudHMpO3Q9ZS5leHRlbmQoe30sdCk7dmFyIHIsaCxtLGcsdix5LGI9ZSh0Lm9mKSx3PWUucG9zaXRpb24uZ2V0V2l0aGluSW5mbyh0LndpdGhpbikseD1lLnBvc2l0aW9uLmdldFNjcm9sbEluZm8odyksQz0odC5jb2xsaXNpb258fCJmbGlwIikuc3BsaXQoIiAiKSxrPXt9O3JldHVybiB5PW8oYiksYlswXS5wcmV2ZW50RGVmYXVsdCYmKHQuYXQ9ImxlZnQgdG9wIiksaD15LndpZHRoLG09eS5oZWlnaHQsZz15Lm9mZnNldCx2PWUuZXh0ZW5kKHt9LGcpLGUuZWFjaChbIm15IiwiYXQiXSxmdW5jdGlvbigpe3ZhciBlLG4saT0odFt0aGlzXXx8IiIpLnNwbGl0KCIgIik7MT09PWkubGVuZ3RoJiYoaT1jLnRlc3QoaVswXSk/aS5jb25jYXQoWyJjZW50ZXIiXSk6dS50ZXN0KGlbMF0pP1siY2VudGVyIl0uY29uY2F0KGkpOlsiY2VudGVyIiwiY2VudGVyIl0pLGlbMF09Yy50ZXN0KGlbMF0pP2lbMF06ImNlbnRlciIsaVsxXT11LnRlc3QoaVsxXSk/aVsxXToiY2VudGVyIixlPWQuZXhlYyhpWzBdKSxuPWQuZXhlYyhpWzFdKSxrW3RoaXNdPVtlP2VbMF06MCxuP25bMF06MF0sdFt0aGlzXT1bcC5leGVjKGlbMF0pWzBdLHAuZXhlYyhpWzFdKVswXV19KSwxPT09Qy5sZW5ndGgmJihDWzFdPUNbMF0pLCJyaWdodCI9PT10LmF0WzBdP3YubGVmdCs9aDoiY2VudGVyIj09PXQuYXRbMF0mJih2LmxlZnQrPWgvMiksImJvdHRvbSI9PT10LmF0WzFdP3YudG9wKz1tOiJjZW50ZXIiPT09dC5hdFsxXSYmKHYudG9wKz1tLzIpLHI9bihrLmF0LGgsbSksdi5sZWZ0Kz1yWzBdLHYudG9wKz1yWzFdLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBvLGMsdT1lKHRoaXMpLGQ9dS5vdXRlcldpZHRoKCkscD11Lm91dGVySGVpZ2h0KCksZj1pKHRoaXMsIm1hcmdpbkxlZnQiKSx5PWkodGhpcywibWFyZ2luVG9wIiksVD1kK2YraSh0aGlzLCJtYXJnaW5SaWdodCIpK3gud2lkdGgsRT1wK3kraSh0aGlzLCJtYXJnaW5Cb3R0b20iKSt4LmhlaWdodCwkPWUuZXh0ZW5kKHt9LHYpLE49bihrLm15LHUub3V0ZXJXaWR0aCgpLHUub3V0ZXJIZWlnaHQoKSk7InJpZ2h0Ij09PXQubXlbMF0/JC5sZWZ0LT1kOiJjZW50ZXIiPT09dC5teVswXSYmKCQubGVmdC09ZC8yKSwiYm90dG9tIj09PXQubXlbMV0/JC50b3AtPXA6ImNlbnRlciI9PT10Lm15WzFdJiYoJC50b3AtPXAvMiksJC5sZWZ0Kz1OWzBdLCQudG9wKz1OWzFdLGUuc3VwcG9ydC5vZmZzZXRGcmFjdGlvbnN8fCgkLmxlZnQ9bCgkLmxlZnQpLCQudG9wPWwoJC50b3ApKSxvPXttYXJnaW5MZWZ0OmYsbWFyZ2luVG9wOnl9LGUuZWFjaChbImxlZnQiLCJ0b3AiXSxmdW5jdGlvbihuLGkpe2UudWkucG9zaXRpb25bQ1tuXV0mJmUudWkucG9zaXRpb25bQ1tuXV1baV0oJCx7dGFyZ2V0V2lkdGg6aCx0YXJnZXRIZWlnaHQ6bSxlbGVtV2lkdGg6ZCxlbGVtSGVpZ2h0OnAsY29sbGlzaW9uUG9zaXRpb246byxjb2xsaXNpb25XaWR0aDpULGNvbGxpc2lvbkhlaWdodDpFLG9mZnNldDpbclswXStOWzBdLHJbMV0rTlsxXV0sbXk6dC5teSxhdDp0LmF0LHdpdGhpbjp3LGVsZW06dX0pfSksdC51c2luZyYmKGM9ZnVuY3Rpb24oZSl7dmFyIG49Zy5sZWZ0LSQubGVmdCxpPW4raC1kLG89Zy50b3AtJC50b3Ascj1vK20tcCxsPXt0YXJnZXQ6e2VsZW1lbnQ6YixsZWZ0OmcubGVmdCx0b3A6Zy50b3Asd2lkdGg6aCxoZWlnaHQ6bX0sZWxlbWVudDp7ZWxlbWVudDp1LGxlZnQ6JC5sZWZ0LHRvcDokLnRvcCx3aWR0aDpkLGhlaWdodDpwfSxob3Jpem9udGFsOjA+aT8ibGVmdCI6bj4wPyJyaWdodCI6ImNlbnRlciIsdmVydGljYWw6MD5yPyJ0b3AiOm8+MD8iYm90dG9tIjoibWlkZGxlIn07ZD5oJiZhKG4raSk8aCYmKGwuaG9yaXpvbnRhbD0iY2VudGVyIikscD5tJiZhKG8rcik8bSYmKGwudmVydGljYWw9Im1pZGRsZSIpLGwuaW1wb3J0YW50PXMoYShuKSxhKGkpKT5zKGEobyksYShyKSk/Imhvcml6b250YWwiOiJ2ZXJ0aWNhbCIsdC51c2luZy5jYWxsKHRoaXMsZSxsKX0pLHUub2Zmc2V0KGUuZXh0ZW5kKCQse3VzaW5nOmN9KSl9KX0sZS51aS5wb3NpdGlvbj17Zml0OntsZWZ0OmZ1bmN0aW9uKGUsdCl7dmFyIG4saT10LndpdGhpbixvPWkuaXNXaW5kb3c/aS5zY3JvbGxMZWZ0Omkub2Zmc2V0LmxlZnQscj1pLndpZHRoLGE9ZS5sZWZ0LXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCxsPW8tYSxjPWErdC5jb2xsaXNpb25XaWR0aC1yLW87dC5jb2xsaXNpb25XaWR0aD5yP2w+MCYmMD49Yz8obj1lLmxlZnQrbCt0LmNvbGxpc2lvbldpZHRoLXItbyxlLmxlZnQrPWwtbik6ZS5sZWZ0PWM+MCYmMD49bD9vOmw+Yz9vK3ItdC5jb2xsaXNpb25XaWR0aDpvOmw+MD9lLmxlZnQrPWw6Yz4wP2UubGVmdC09YzplLmxlZnQ9cyhlLmxlZnQtYSxlLmxlZnQpfSx0b3A6ZnVuY3Rpb24oZSx0KXt2YXIgbixpPXQud2l0aGluLG89aS5pc1dpbmRvdz9pLnNjcm9sbFRvcDppLm9mZnNldC50b3Ascj10LndpdGhpbi5oZWlnaHQsYT1lLnRvcC10LmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCxsPW8tYSxjPWErdC5jb2xsaXNpb25IZWlnaHQtci1vO3QuY29sbGlzaW9uSGVpZ2h0PnI/bD4wJiYwPj1jPyhuPWUudG9wK2wrdC5jb2xsaXNpb25IZWlnaHQtci1vLGUudG9wKz1sLW4pOmUudG9wPWM+MCYmMD49bD9vOmw+Yz9vK3ItdC5jb2xsaXNpb25IZWlnaHQ6bzpsPjA/ZS50b3ArPWw6Yz4wP2UudG9wLT1jOmUudG9wPXMoZS50b3AtYSxlLnRvcCl9fSxmbGlwOntsZWZ0OmZ1bmN0aW9uKGUsdCl7dmFyIG4saSxvPXQud2l0aGluLHI9by5vZmZzZXQubGVmdCtvLnNjcm9sbExlZnQscz1vLndpZHRoLGw9by5pc1dpbmRvdz9vLnNjcm9sbExlZnQ6by5vZmZzZXQubGVmdCxjPWUubGVmdC10LmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpbkxlZnQsdT1jLWwsZD1jK3QuY29sbGlzaW9uV2lkdGgtcy1sLHA9ImxlZnQiPT09dC5teVswXT8tdC5lbGVtV2lkdGg6InJpZ2h0Ij09PXQubXlbMF0/dC5lbGVtV2lkdGg6MCxoPSJsZWZ0Ij09PXQuYXRbMF0/dC50YXJnZXRXaWR0aDoicmlnaHQiPT09dC5hdFswXT8tdC50YXJnZXRXaWR0aDowLGY9LTIqdC5vZmZzZXRbMF07MD51PyhuPWUubGVmdCtwK2grZit0LmNvbGxpc2lvbldpZHRoLXMtciwoMD5ufHxuPGEodSkpJiYoZS5sZWZ0Kz1wK2grZikpOmQ+MCYmKGk9ZS5sZWZ0LXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCtwK2grZi1sLChpPjB8fGEoaSk8ZCkmJihlLmxlZnQrPXAraCtmKSl9LHRvcDpmdW5jdGlvbihlLHQpe3ZhciBuLGksbz10LndpdGhpbixyPW8ub2Zmc2V0LnRvcCtvLnNjcm9sbFRvcCxzPW8uaGVpZ2h0LGw9by5pc1dpbmRvdz9vLnNjcm9sbFRvcDpvLm9mZnNldC50b3AsYz1lLnRvcC10LmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCx1PWMtbCxkPWMrdC5jb2xsaXNpb25IZWlnaHQtcy1sLHA9InRvcCI9PT10Lm15WzFdLGg9cD8tdC5lbGVtSGVpZ2h0OiJib3R0b20iPT09dC5teVsxXT90LmVsZW1IZWlnaHQ6MCxmPSJ0b3AiPT09dC5hdFsxXT90LnRhcmdldEhlaWdodDoiYm90dG9tIj09PXQuYXRbMV0/LXQudGFyZ2V0SGVpZ2h0OjAsbT0tMip0Lm9mZnNldFsxXTswPnU/KGk9ZS50b3AraCtmK20rdC5jb2xsaXNpb25IZWlnaHQtcy1yLGUudG9wK2grZittPnUmJigwPml8fGk8YSh1KSkmJihlLnRvcCs9aCtmK20pKTpkPjAmJihuPWUudG9wLXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wK2grZittLWwsZS50b3AraCtmK20+ZCYmKG4+MHx8YShuKTxkKSYmKGUudG9wKz1oK2YrbSkpfX0sZmxpcGZpdDp7bGVmdDpmdW5jdGlvbigpe2UudWkucG9zaXRpb24uZmxpcC5sZWZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnVpLnBvc2l0aW9uLmZpdC5sZWZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdG9wOmZ1bmN0aW9uKCl7ZS51aS5wb3NpdGlvbi5mbGlwLnRvcC5hcHBseSh0aGlzLGFyZ3VtZW50cyksZS51aS5wb3NpdGlvbi5maXQudG9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fSxmdW5jdGlvbigpe3ZhciB0LG4saSxvLHIscz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdLGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHM/ImRpdiI6ImJvZHkiKSxpPXt2aXNpYmlsaXR5OiJoaWRkZW4iLHdpZHRoOjAsaGVpZ2h0OjAsYm9yZGVyOjAsbWFyZ2luOjAsYmFja2dyb3VuZDoibm9uZSJ9LHMmJmUuZXh0ZW5kKGkse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDoiLTEwMDBweCIsdG9wOiItMTAwMHB4In0pO2ZvcihyIGluIGkpdC5zdHlsZVtyXT1pW3JdO3QuYXBwZW5kQ2hpbGQoYSksbj1zfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbi5pbnNlcnRCZWZvcmUodCxuLmZpcnN0Q2hpbGQpLGEuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxMC43NDMyMjIycHg7IixvPWUoYSkub2Zmc2V0KCkubGVmdCxlLnN1cHBvcnQub2Zmc2V0RnJhY3Rpb25zPW8+MTAmJjExPm8sdC5pbm5lckhUTUw9IiIsbi5yZW1vdmVDaGlsZCh0KX0oKX0oalF1ZXJ5KSxmdW5jdGlvbihlLHQpe3ZhciBuPTAsaT1BcnJheS5wcm90b3R5cGUuc2xpY2Usbz1lLmNsZWFuRGF0YTtlLmNsZWFuRGF0YT1mdW5jdGlvbih0KXtmb3IodmFyIG4saT0wO251bGwhPShuPXRbaV0pO2krKyl0cnl7ZShuKS50cmlnZ2VySGFuZGxlcigicmVtb3ZlIil9Y2F0Y2gocil7fW8odCl9LGUud2lkZ2V0PWZ1bmN0aW9uKHQsbixpKXt2YXIgbyxyLHMsYSxsPXt9LGM9dC5zcGxpdCgiLiIpWzBdO3Q9dC5zcGxpdCgiLiIpWzFdLG89YysiLSIrdCxpfHwoaT1uLG49ZS5XaWRnZXQpLGUuZXhwclsiOiJdW28udG9Mb3dlckNhc2UoKV09ZnVuY3Rpb24odCl7cmV0dXJuISFlLmRhdGEodCxvKX0sZVtjXT1lW2NdfHx7fSxyPWVbY11bdF0scz1lW2NdW3RdPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2NyZWF0ZVdpZGdldD92b2lkKGFyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChlLHQpKTpuZXcgcyhlLHQpfSxlLmV4dGVuZChzLHIse3ZlcnNpb246aS52ZXJzaW9uLF9wcm90bzplLmV4dGVuZCh7fSxpKSxfY2hpbGRDb25zdHJ1Y3RvcnM6W119KSxhPW5ldyBuLGEub3B0aW9ucz1lLndpZGdldC5leHRlbmQoe30sYS5vcHRpb25zKSxlLmVhY2goaSxmdW5jdGlvbih0LGkpe3JldHVybiBlLmlzRnVuY3Rpb24oaSk/dm9pZChsW3RdPWZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4gbi5wcm90b3R5cGVbdF0uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxvPWZ1bmN0aW9uKGUpe3JldHVybiBuLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLGUpfTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdCxuPXRoaXMuX3N1cGVyLHI9dGhpcy5fc3VwZXJBcHBseTtyZXR1cm4gdGhpcy5fc3VwZXI9ZSx0aGlzLl9zdXBlckFwcGx5PW8sdD1pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9zdXBlcj1uLHRoaXMuX3N1cGVyQXBwbHk9cix0fX0oKSk6dm9pZChsW3RdPWkpfSkscy5wcm90b3R5cGU9ZS53aWRnZXQuZXh0ZW5kKGEse3dpZGdldEV2ZW50UHJlZml4OnI/YS53aWRnZXRFdmVudFByZWZpeHx8dDp0fSxsLHtjb25zdHJ1Y3RvcjpzLG5hbWVzcGFjZTpjLHdpZGdldE5hbWU6dCx3aWRnZXRGdWxsTmFtZTpvfSkscj8oZS5lYWNoKHIuX2NoaWxkQ29uc3RydWN0b3JzLGZ1bmN0aW9uKHQsbil7dmFyIGk9bi5wcm90b3R5cGU7ZS53aWRnZXQoaS5uYW1lc3BhY2UrIi4iK2kud2lkZ2V0TmFtZSxzLG4uX3Byb3RvKX0pLGRlbGV0ZSByLl9jaGlsZENvbnN0cnVjdG9ycyk6bi5fY2hpbGRDb25zdHJ1Y3RvcnMucHVzaChzKSxlLndpZGdldC5icmlkZ2UodCxzKX0sZS53aWRnZXQuZXh0ZW5kPWZ1bmN0aW9uKG4pe2Zvcih2YXIgbyxyLHM9aS5jYWxsKGFyZ3VtZW50cywxKSxhPTAsbD1zLmxlbmd0aDtsPmE7YSsrKWZvcihvIGluIHNbYV0pcj1zW2FdW29dLHNbYV0uaGFzT3duUHJvcGVydHkobykmJnIhPT10JiYobltvXT1lLmlzUGxhaW5PYmplY3Qocik/ZS5pc1BsYWluT2JqZWN0KG5bb10pP2Uud2lkZ2V0LmV4dGVuZCh7fSxuW29dLHIpOmUud2lkZ2V0LmV4dGVuZCh7fSxyKTpyKTtyZXR1cm4gbn0sZS53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKG4sbyl7dmFyIHI9by5wcm90b3R5cGUud2lkZ2V0RnVsbE5hbWV8fG47ZS5mbltuXT1mdW5jdGlvbihzKXt2YXIgYT0ic3RyaW5nIj09dHlwZW9mIHMsbD1pLmNhbGwoYXJndW1lbnRzLDEpLGM9dGhpcztyZXR1cm4gcz0hYSYmbC5sZW5ndGg/ZS53aWRnZXQuZXh0ZW5kLmFwcGx5KG51bGwsW3NdLmNvbmNhdChsKSk6cyx0aGlzLmVhY2goYT9mdW5jdGlvbigpe3ZhciBpLG89ZS5kYXRhKHRoaXMscik7cmV0dXJuIG8/ZS5pc0Z1bmN0aW9uKG9bc10pJiYiXyIhPT1zLmNoYXJBdCgwKT8oaT1vW3NdLmFwcGx5KG8sbCksaSE9PW8mJmkhPT10PyhjPWkmJmkuanF1ZXJ5P2MucHVzaFN0YWNrKGkuZ2V0KCkpOmksITEpOnZvaWQgMCk6ZS5lcnJvcigibm8gc3VjaCBtZXRob2QgJyIrcysiJyBmb3IgIituKyIgd2lkZ2V0IGluc3RhbmNlIik6ZS5lcnJvcigiY2Fubm90IGNhbGwgbWV0aG9kcyBvbiAiK24rIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgYXR0ZW1wdGVkIHRvIGNhbGwgbWV0aG9kICciK3MrIiciKX06ZnVuY3Rpb24oKXt2YXIgdD1lLmRhdGEodGhpcyxyKTt0P3Qub3B0aW9uKHN8fHt9KS5faW5pdCgpOmUuZGF0YSh0aGlzLHIsbmV3IG8ocyx0aGlzKSl9KSxjfX0sZS5XaWRnZXQ9ZnVuY3Rpb24oKXt9LGUuV2lkZ2V0Ll9jaGlsZENvbnN0cnVjdG9ycz1bXSxlLldpZGdldC5wcm90b3R5cGU9e3dpZGdldE5hbWU6IndpZGdldCIsd2lkZ2V0RXZlbnRQcmVmaXg6IiIsZGVmYXVsdEVsZW1lbnQ6IjxkaXY+IixvcHRpb25zOntkaXNhYmxlZDohMSxjcmVhdGU6bnVsbH0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbih0LGkpe2k9ZShpfHx0aGlzLmRlZmF1bHRFbGVtZW50fHx0aGlzKVswXSx0aGlzLmVsZW1lbnQ9ZShpKSx0aGlzLnV1aWQ9bisrLHRoaXMuZXZlbnROYW1lc3BhY2U9Ii4iK3RoaXMud2lkZ2V0TmFtZSt0aGlzLnV1aWQsdGhpcy5vcHRpb25zPWUud2lkZ2V0LmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMsdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLHQpLHRoaXMuYmluZGluZ3M9ZSgpLHRoaXMuaG92ZXJhYmxlPWUoKSx0aGlzLmZvY3VzYWJsZT1lKCksaSE9PXRoaXMmJihlLmRhdGEoaSx0aGlzLndpZGdldEZ1bGxOYW1lLHRoaXMpLHRoaXMuX29uKCEwLHRoaXMuZWxlbWVudCx7cmVtb3ZlOmZ1bmN0aW9uKGUpe2UudGFyZ2V0PT09aSYmdGhpcy5kZXN0cm95KCl9fSksdGhpcy5kb2N1bWVudD1lKGkuc3R5bGU/aS5vd25lckRvY3VtZW50OmkuZG9jdW1lbnR8fGkpLHRoaXMud2luZG93PWUodGhpcy5kb2N1bWVudFswXS5kZWZhdWx0Vmlld3x8dGhpcy5kb2N1bWVudFswXS5wYXJlbnRXaW5kb3cpKSx0aGlzLl9jcmVhdGUoKSx0aGlzLl90cmlnZ2VyKCJjcmVhdGUiLG51bGwsdGhpcy5fZ2V0Q3JlYXRlRXZlbnREYXRhKCkpLHRoaXMuX2luaXQoKX0sX2dldENyZWF0ZU9wdGlvbnM6ZS5ub29wLF9nZXRDcmVhdGVFdmVudERhdGE6ZS5ub29wLF9jcmVhdGU6ZS5ub29wLF9pbml0OmUubm9vcCxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fZGVzdHJveSgpLHRoaXMuZWxlbWVudC51bmJpbmQodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlRGF0YSh0aGlzLndpZGdldE5hbWUpLnJlbW92ZURhdGEodGhpcy53aWRnZXRGdWxsTmFtZSkucmVtb3ZlRGF0YShlLmNhbWVsQ2FzZSh0aGlzLndpZGdldEZ1bGxOYW1lKSksdGhpcy53aWRnZXQoKS51bmJpbmQodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKHRoaXMud2lkZ2V0RnVsbE5hbWUrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIpLHRoaXMuYmluZGluZ3MudW5iaW5kKHRoaXMuZXZlbnROYW1lc3BhY2UpLHRoaXMuaG92ZXJhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuZm9jdXNhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSxfZGVzdHJveTplLm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKG4saSl7dmFyIG8scixzLGE9bjtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZS53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiBuKWlmKGE9e30sbz1uLnNwbGl0KCIuIiksbj1vLnNoaWZ0KCksby5sZW5ndGgpe2ZvcihyPWFbbl09ZS53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tuXSkscz0wO3M8by5sZW5ndGgtMTtzKyspcltvW3NdXT1yW29bc11dfHx7fSxyPXJbb1tzXV07aWYobj1vLnBvcCgpLDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiByW25dPT09dD9udWxsOnJbbl07cltuXT1pfWVsc2V7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMub3B0aW9uc1tuXT09PXQ/bnVsbDp0aGlzLm9wdGlvbnNbbl07YVtuXT1pfXJldHVybiB0aGlzLl9zZXRPcHRpb25zKGEpLHRoaXN9LF9zZXRPcHRpb25zOmZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUpdGhpcy5fc2V0T3B0aW9uKHQsZVt0XSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5vcHRpb25zW2VdPXQsImRpc2FibGVkIj09PWUmJih0aGlzLndpZGdldCgpLnRvZ2dsZUNsYXNzKHRoaXMud2lkZ2V0RnVsbE5hbWUrIi1kaXNhYmxlZCB1aS1zdGF0ZS1kaXNhYmxlZCIsISF0KS5hdHRyKCJhcmlhLWRpc2FibGVkIix0KSx0aGlzLmhvdmVyYWJsZS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKSx0aGlzLmZvY3VzYWJsZS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKSksdGhpc30sZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLCExKX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIiwhMCl9LF9vbjpmdW5jdGlvbih0LG4saSl7dmFyIG8scj10aGlzOyJib29sZWFuIiE9dHlwZW9mIHQmJihpPW4sbj10LHQ9ITEpLGk/KG49bz1lKG4pLHRoaXMuYmluZGluZ3M9dGhpcy5iaW5kaW5ncy5hZGQobikpOihpPW4sbj10aGlzLmVsZW1lbnQsbz10aGlzLndpZGdldCgpKSxlLmVhY2goaSxmdW5jdGlvbihpLHMpe2Z1bmN0aW9uIGEoKXtyZXR1cm4gdHx8ci5vcHRpb25zLmRpc2FibGVkIT09ITAmJiFlKHRoaXMpLmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpPygic3RyaW5nIj09dHlwZW9mIHM/cltzXTpzKS5hcHBseShyLGFyZ3VtZW50cyk6dm9pZCAwfSJzdHJpbmciIT10eXBlb2YgcyYmKGEuZ3VpZD1zLmd1aWQ9cy5ndWlkfHxhLmd1aWR8fGUuZ3VpZCsrKTt2YXIgbD1pLm1hdGNoKC9eKFx3KylccyooLiopJC8pLGM9bFsxXStyLmV2ZW50TmFtZXNwYWNlLHU9bFsyXTt1P28uZGVsZWdhdGUodSxjLGEpOm4uYmluZChjLGEpfSl9LF9vZmY6ZnVuY3Rpb24oZSx0KXt0PSh0fHwiIikuc3BsaXQoIiAiKS5qb2luKHRoaXMuZXZlbnROYW1lc3BhY2UrIiAiKSt0aGlzLmV2ZW50TmFtZXNwYWNlLGUudW5iaW5kKHQpLnVuZGVsZWdhdGUodCl9LF9kZWxheTpmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiBlP2lbZV06ZSkuYXBwbHkoaSxhcmd1bWVudHMpfXZhciBpPXRoaXM7cmV0dXJuIHNldFRpbWVvdXQobix0fHwwKX0sX2hvdmVyYWJsZTpmdW5jdGlvbih0KXt0aGlzLmhvdmVyYWJsZT10aGlzLmhvdmVyYWJsZS5hZGQodCksdGhpcy5fb24odCx7bW91c2VlbnRlcjpmdW5jdGlvbih0KXtlKHQuY3VycmVudFRhcmdldCkuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil9LG1vdXNlbGVhdmU6ZnVuY3Rpb24odCl7ZSh0LmN1cnJlbnRUYXJnZXQpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfX0pfSxfZm9jdXNhYmxlOmZ1bmN0aW9uKHQpe3RoaXMuZm9jdXNhYmxlPXRoaXMuZm9jdXNhYmxlLmFkZCh0KSx0aGlzLl9vbih0LHtmb2N1c2luOmZ1bmN0aW9uKHQpe2UodC5jdXJyZW50VGFyZ2V0KS5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0sZm9jdXNvdXQ6ZnVuY3Rpb24odCl7ZSh0LmN1cnJlbnRUYXJnZXQpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfX0pfSxfdHJpZ2dlcjpmdW5jdGlvbih0LG4saSl7dmFyIG8scixzPXRoaXMub3B0aW9uc1t0XTtpZihpPWl8fHt9LG49ZS5FdmVudChuKSxuLnR5cGU9KHQ9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P3Q6dGhpcy53aWRnZXRFdmVudFByZWZpeCt0KS50b0xvd2VyQ2FzZSgpLG4udGFyZ2V0PXRoaXMuZWxlbWVudFswXSxyPW4ub3JpZ2luYWxFdmVudClmb3IobyBpbiByKW8gaW4gbnx8KG5bb109cltvXSk7cmV0dXJuIHRoaXMuZWxlbWVudC50cmlnZ2VyKG4saSksIShlLmlzRnVuY3Rpb24ocykmJnMuYXBwbHkodGhpcy5lbGVtZW50WzBdLFtuXS5jb25jYXQoaSkpPT09ITF8fG4uaXNEZWZhdWx0UHJldmVudGVkKCkpfX0sZS5lYWNoKHtzaG93OiJmYWRlSW4iLGhpZGU6ImZhZGVPdXQifSxmdW5jdGlvbih0LG4pe2UuV2lkZ2V0LnByb3RvdHlwZVsiXyIrdF09ZnVuY3Rpb24oaSxvLHIpeyJzdHJpbmciPT10eXBlb2YgbyYmKG89e2VmZmVjdDpvfSk7dmFyIHMsYT1vP289PT0hMHx8Im51bWJlciI9PXR5cGVvZiBvP246by5lZmZlY3R8fG46dDtvPW98fHt9LCJudW1iZXIiPT10eXBlb2YgbyYmKG89e2R1cmF0aW9uOm99KSxzPSFlLmlzRW1wdHlPYmplY3Qobyksby5jb21wbGV0ZT1yLG8uZGVsYXkmJmkuZGVsYXkoby5kZWxheSkscyYmZS5lZmZlY3RzJiZlLmVmZmVjdHMuZWZmZWN0W2FdP2lbdF0obyk6YSE9PXQmJmlbYV0/aVthXShvLmR1cmF0aW9uLG8uZWFzaW5nLHIpOmkucXVldWUoZnVuY3Rpb24obil7ZSh0aGlzKVt0XSgpLHImJnIuY2FsbChpWzBdKSxuKCl9KX19KX0oalF1ZXJ5KSxmdW5jdGlvbihlKXt2YXIgdD0hMTtlKGRvY3VtZW50KS5tb3VzZXVwKGZ1bmN0aW9uKCl7dD0hMX0pLGUud2lkZ2V0KCJ1aS5tb3VzZSIse3ZlcnNpb246IjEuMTAuNCIsb3B0aW9uczp7Y2FuY2VsOiJpbnB1dCx0ZXh0YXJlYSxidXR0b24sc2VsZWN0LG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLmVsZW1lbnQuYmluZCgibW91c2Vkb3duLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKGUpe3JldHVybiB0Ll9tb3VzZURvd24oZSl9KS5iaW5kKCJjbGljay4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihuKXtyZXR1cm4hMD09PWUuZGF0YShuLnRhcmdldCx0LndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpPyhlLnJlbW92ZURhdGEobi50YXJnZXQsdC53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSxuLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCExKTp2b2lkIDB9KSx0aGlzLnN0YXJ0ZWQ9ITF9LF9tb3VzZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQudW5iaW5kKCIuIit0aGlzLndpZGdldE5hbWUpLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlJiZlKGRvY3VtZW50KS51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSl9LF9tb3VzZURvd246ZnVuY3Rpb24obil7aWYoIXQpe3RoaXMuX21vdXNlU3RhcnRlZCYmdGhpcy5fbW91c2VVcChuKSx0aGlzLl9tb3VzZURvd25FdmVudD1uO3ZhciBpPXRoaXMsbz0xPT09bi53aGljaCxyPSJzdHJpbmciPT10eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbCYmbi50YXJnZXQubm9kZU5hbWU/ZShuLnRhcmdldCkuY2xvc2VzdCh0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ITE7cmV0dXJuIG8mJiFyJiZ0aGlzLl9tb3VzZUNhcHR1cmUobik/KHRoaXMubW91c2VEZWxheU1ldD0hdGhpcy5vcHRpb25zLmRlbGF5LHRoaXMubW91c2VEZWxheU1ldHx8KHRoaXMuX21vdXNlRGVsYXlUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5tb3VzZURlbGF5TWV0PSEwfSx0aGlzLm9wdGlvbnMuZGVsYXkpKSx0aGlzLl9tb3VzZURpc3RhbmNlTWV0KG4pJiZ0aGlzLl9tb3VzZURlbGF5TWV0KG4pJiYodGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQobikhPT0hMSwhdGhpcy5fbW91c2VTdGFydGVkKT8obi5wcmV2ZW50RGVmYXVsdCgpLCEwKTooITA9PT1lLmRhdGEobi50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSYmZS5yZW1vdmVEYXRhKG4udGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IiksdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuX21vdXNlTW92ZShlKX0sdGhpcy5fbW91c2VVcERlbGVnYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBpLl9tb3VzZVVwKGUpfSxlKGRvY3VtZW50KS5iaW5kKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERlbGVnYXRlKSxuLnByZXZlbnREZWZhdWx0KCksdD0hMCwhMCkpOiEwfX0sX21vdXNlTW92ZTpmdW5jdGlvbih0KXtyZXR1cm4gZS51aS5pZSYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fGRvY3VtZW50LmRvY3VtZW50TW9kZTw5KSYmIXQuYnV0dG9uP3RoaXMuX21vdXNlVXAodCk6dGhpcy5fbW91c2VTdGFydGVkPyh0aGlzLl9tb3VzZURyYWcodCksdC5wcmV2ZW50RGVmYXVsdCgpKToodGhpcy5fbW91c2VEaXN0YW5jZU1ldCh0KSYmdGhpcy5fbW91c2VEZWxheU1ldCh0KSYmKHRoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3VzZVN0YXJ0KHRoaXMuX21vdXNlRG93bkV2ZW50LHQpIT09ITEsdGhpcy5fbW91c2VTdGFydGVkP3RoaXMuX21vdXNlRHJhZyh0KTp0aGlzLl9tb3VzZVVwKHQpKSwhdGhpcy5fbW91c2VTdGFydGVkKX0sX21vdXNlVXA6ZnVuY3Rpb24odCl7cmV0dXJuIGUoZG9jdW1lbnQpLnVuYmluZCgibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS51bmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERlbGVnYXRlKSx0aGlzLl9tb3VzZVN0YXJ0ZWQmJih0aGlzLl9tb3VzZVN0YXJ0ZWQ9ITEsdC50YXJnZXQ9PT10aGlzLl9tb3VzZURvd25FdmVudC50YXJnZXQmJmUuZGF0YSh0LnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIsITApLHRoaXMuX21vdXNlU3RvcCh0KSksITF9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC1lLnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1lLnBhZ2VZKSk+PXRoaXMub3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpmdW5jdGlvbigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbigpe3JldHVybiEwfX0pfShqUXVlcnkpLGZ1bmN0aW9uKGUpe2Uud2lkZ2V0KCJ1aS5kcmFnZ2FibGUiLGUudWkubW91c2Use3ZlcnNpb246IjEuMTAuNCIsd2lkZ2V0RXZlbnRQcmVmaXg6ImRyYWciLG9wdGlvbnM6e2FkZENsYXNzZXM6ITAsYXBwZW5kVG86InBhcmVudCIsYXhpczohMSxjb25uZWN0VG9Tb3J0YWJsZTohMSxjb250YWlubWVudDohMSxjdXJzb3I6ImF1dG8iLGN1cnNvckF0OiExLGdyaWQ6ITEsaGFuZGxlOiExLGhlbHBlcjoib3JpZ2luYWwiLGlmcmFtZUZpeDohMSxvcGFjaXR5OiExLHJlZnJlc2hQb3NpdGlvbnM6ITEscmV2ZXJ0OiExLHJldmVydER1cmF0aW9uOjUwMCxzY29wZToiZGVmYXVsdCIsc2Nyb2xsOiEwLHNjcm9sbFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNuYXA6ITEsc25hcE1vZGU6ImJvdGgiLHNuYXBUb2xlcmFuY2U6MjAsc3RhY2s6ITEsekluZGV4OiExLGRyYWc6bnVsbCxzdGFydDpudWxsLHN0b3A6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpeyJvcmlnaW5hbCIhPT10aGlzLm9wdGlvbnMuaGVscGVyfHwvXig/OnJ8YXxmKS8udGVzdCh0aGlzLmVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpKXx8KHRoaXMuZWxlbWVudFswXS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSx0aGlzLm9wdGlvbnMuYWRkQ2xhc3NlcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kcmFnZ2FibGUiKSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRpc2FibGVkIiksdGhpcy5fbW91c2VJbml0KCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUgdWktZHJhZ2dhYmxlLWRyYWdnaW5nIHVpLWRyYWdnYWJsZS1kaXNhYmxlZCIpLHRoaXMuX21vdXNlRGVzdHJveSgpfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMub3B0aW9ucztyZXR1cm4gdGhpcy5oZWxwZXJ8fG4uZGlzYWJsZWR8fGUodC50YXJnZXQpLmNsb3Nlc3QoIi51aS1yZXNpemFibGUtaGFuZGxlIikubGVuZ3RoPjA/ITE6KHRoaXMuaGFuZGxlPXRoaXMuX2dldEhhbmRsZSh0KSx0aGlzLmhhbmRsZT8oZShuLmlmcmFtZUZpeD09PSEwPyJpZnJhbWUiOm4uaWZyYW1lRml4KS5lYWNoKGZ1bmN0aW9uKCl7ZSgiPGRpdiBjbGFzcz0ndWktZHJhZ2dhYmxlLWlmcmFtZUZpeCcgc3R5bGU9J2JhY2tncm91bmQ6ICNmZmY7Jz48L2Rpdj4iKS5jc3Moe3dpZHRoOnRoaXMub2Zmc2V0V2lkdGgrInB4IixoZWlnaHQ6dGhpcy5vZmZzZXRIZWlnaHQrInB4Iixwb3NpdGlvbjoiYWJzb2x1dGUiLG9wYWNpdHk6IjAuMDAxIix6SW5kZXg6MWUzfSkuY3NzKGUodGhpcykub2Zmc2V0KCkpLmFwcGVuZFRvKCJib2R5Iil9KSwhMCk6ITEpfSxfbW91c2VTdGFydDpmdW5jdGlvbih0KXt2YXIgbj10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMuaGVscGVyPXRoaXMuX2NyZWF0ZUhlbHBlcih0KSx0aGlzLmhlbHBlci5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRyYWdnaW5nIiksdGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpLGUudWkuZGRtYW5hZ2VyJiYoZS51aS5kZG1hbmFnZXIuY3VycmVudD10aGlzKSx0aGlzLl9jYWNoZU1hcmdpbnMoKSx0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKSx0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKSx0aGlzLm9mZnNldFBhcmVudD10aGlzLmhlbHBlci5vZmZzZXRQYXJlbnQoKSx0aGlzLm9mZnNldFBhcmVudENzc1Bvc2l0aW9uPXRoaXMub2Zmc2V0UGFyZW50LmNzcygicG9zaXRpb24iKSx0aGlzLm9mZnNldD10aGlzLnBvc2l0aW9uQWJzPXRoaXMuZWxlbWVudC5vZmZzZXQoKSx0aGlzLm9mZnNldD17dG9wOnRoaXMub2Zmc2V0LnRvcC10aGlzLm1hcmdpbnMudG9wLGxlZnQ6dGhpcy5vZmZzZXQubGVmdC10aGlzLm1hcmdpbnMubGVmdH0sdGhpcy5vZmZzZXQuc2Nyb2xsPSExLGUuZXh0ZW5kKHRoaXMub2Zmc2V0LHtjbGljazp7bGVmdDp0LnBhZ2VYLXRoaXMub2Zmc2V0LmxlZnQsdG9wOnQucGFnZVktdGhpcy5vZmZzZXQudG9wfSxwYXJlbnQ6dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkscmVsYXRpdmU6dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKX0pLHRoaXMub3JpZ2luYWxQb3NpdGlvbj10aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24odCksdGhpcy5vcmlnaW5hbFBhZ2VYPXQucGFnZVgsdGhpcy5vcmlnaW5hbFBhZ2VZPXQucGFnZVksbi5jdXJzb3JBdCYmdGhpcy5fYWRqdXN0T2Zmc2V0RnJvbUhlbHBlcihuLmN1cnNvckF0KSx0aGlzLl9zZXRDb250YWlubWVudCgpLHRoaXMuX3RyaWdnZXIoInN0YXJ0Iix0KT09PSExPyh0aGlzLl9jbGVhcigpLCExKToodGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpLGUudWkuZGRtYW5hZ2VyJiYhbi5kcm9wQmVoYXZpb3VyJiZlLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLHQpLHRoaXMuX21vdXNlRHJhZyh0LCEwKSxlLnVpLmRkbWFuYWdlciYmZS51aS5kZG1hbmFnZXIuZHJhZ1N0YXJ0KHRoaXMsdCksITApfSxfbW91c2VEcmFnOmZ1bmN0aW9uKHQsbil7aWYoImZpeGVkIj09PXRoaXMub2Zmc2V0UGFyZW50Q3NzUG9zaXRpb24mJih0aGlzLm9mZnNldC5wYXJlbnQ9dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkpLHRoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbih0KSx0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpLCFuKXt2YXIgaT10aGlzLl91aUhhc2goKTtpZih0aGlzLl90cmlnZ2VyKCJkcmFnIix0LGkpPT09ITEpcmV0dXJuIHRoaXMuX21vdXNlVXAoe30pLCExOwp0aGlzLnBvc2l0aW9uPWkucG9zaXRpb259cmV0dXJuIHRoaXMub3B0aW9ucy5heGlzJiYieSI9PT10aGlzLm9wdGlvbnMuYXhpc3x8KHRoaXMuaGVscGVyWzBdLnN0eWxlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIpLHRoaXMub3B0aW9ucy5heGlzJiYieCI9PT10aGlzLm9wdGlvbnMuYXhpc3x8KHRoaXMuaGVscGVyWzBdLnN0eWxlLnRvcD10aGlzLnBvc2l0aW9uLnRvcCsicHgiKSxlLnVpLmRkbWFuYWdlciYmZS51aS5kZG1hbmFnZXIuZHJhZyh0aGlzLHQpLCExfSxfbW91c2VTdG9wOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMsaT0hMTtyZXR1cm4gZS51aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciYmKGk9ZS51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLHQpKSx0aGlzLmRyb3BwZWQmJihpPXRoaXMuZHJvcHBlZCx0aGlzLmRyb3BwZWQ9ITEpLCJvcmlnaW5hbCIhPT10aGlzLm9wdGlvbnMuaGVscGVyfHxlLmNvbnRhaW5zKHRoaXMuZWxlbWVudFswXS5vd25lckRvY3VtZW50LHRoaXMuZWxlbWVudFswXSk/KCJpbnZhbGlkIj09PXRoaXMub3B0aW9ucy5yZXZlcnQmJiFpfHwidmFsaWQiPT09dGhpcy5vcHRpb25zLnJldmVydCYmaXx8dGhpcy5vcHRpb25zLnJldmVydD09PSEwfHxlLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLnJldmVydCkmJnRoaXMub3B0aW9ucy5yZXZlcnQuY2FsbCh0aGlzLmVsZW1lbnQsaSk/ZSh0aGlzLmhlbHBlcikuYW5pbWF0ZSh0aGlzLm9yaWdpbmFsUG9zaXRpb24scGFyc2VJbnQodGhpcy5vcHRpb25zLnJldmVydER1cmF0aW9uLDEwKSxmdW5jdGlvbigpe24uX3RyaWdnZXIoInN0b3AiLHQpIT09ITEmJm4uX2NsZWFyKCl9KTp0aGlzLl90cmlnZ2VyKCJzdG9wIix0KSE9PSExJiZ0aGlzLl9jbGVhcigpLCExKTohMX0sX21vdXNlVXA6ZnVuY3Rpb24odCl7cmV0dXJuIGUoImRpdi51aS1kcmFnZ2FibGUtaWZyYW1lRml4IikuZWFjaChmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzKX0pLGUudWkuZGRtYW5hZ2VyJiZlLnVpLmRkbWFuYWdlci5kcmFnU3RvcCh0aGlzLHQpLGUudWkubW91c2UucHJvdG90eXBlLl9tb3VzZVVwLmNhbGwodGhpcyx0KX0sY2FuY2VsOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGVscGVyLmlzKCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIik/dGhpcy5fbW91c2VVcCh7fSk6dGhpcy5fY2xlYXIoKSx0aGlzfSxfZ2V0SGFuZGxlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuaGFuZGxlPyEhZSh0LnRhcmdldCkuY2xvc2VzdCh0aGlzLmVsZW1lbnQuZmluZCh0aGlzLm9wdGlvbnMuaGFuZGxlKSkubGVuZ3RoOiEwfSxfY3JlYXRlSGVscGVyOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMub3B0aW9ucyxpPWUuaXNGdW5jdGlvbihuLmhlbHBlcik/ZShuLmhlbHBlci5hcHBseSh0aGlzLmVsZW1lbnRbMF0sW3RdKSk6ImNsb25lIj09PW4uaGVscGVyP3RoaXMuZWxlbWVudC5jbG9uZSgpLnJlbW92ZUF0dHIoImlkIik6dGhpcy5lbGVtZW50O3JldHVybiBpLnBhcmVudHMoImJvZHkiKS5sZW5ndGh8fGkuYXBwZW5kVG8oInBhcmVudCI9PT1uLmFwcGVuZFRvP3RoaXMuZWxlbWVudFswXS5wYXJlbnROb2RlOm4uYXBwZW5kVG8pLGlbMF09PT10aGlzLmVsZW1lbnRbMF18fC8oZml4ZWR8YWJzb2x1dGUpLy50ZXN0KGkuY3NzKCJwb3NpdGlvbiIpKXx8aS5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKSxpfSxfYWRqdXN0T2Zmc2V0RnJvbUhlbHBlcjpmdW5jdGlvbih0KXsic3RyaW5nIj09dHlwZW9mIHQmJih0PXQuc3BsaXQoIiAiKSksZS5pc0FycmF5KHQpJiYodD17bGVmdDordFswXSx0b3A6K3RbMV18fDB9KSwibGVmdCJpbiB0JiYodGhpcy5vZmZzZXQuY2xpY2subGVmdD10LmxlZnQrdGhpcy5tYXJnaW5zLmxlZnQpLCJyaWdodCJpbiB0JiYodGhpcy5vZmZzZXQuY2xpY2subGVmdD10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLXQucmlnaHQrdGhpcy5tYXJnaW5zLmxlZnQpLCJ0b3AiaW4gdCYmKHRoaXMub2Zmc2V0LmNsaWNrLnRvcD10LnRvcCt0aGlzLm1hcmdpbnMudG9wKSwiYm90dG9tImluIHQmJih0aGlzLm9mZnNldC5jbGljay50b3A9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdC5ib3R0b20rdGhpcy5tYXJnaW5zLnRvcCl9LF9nZXRQYXJlbnRPZmZzZXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTtyZXR1cm4iYWJzb2x1dGUiPT09dGhpcy5jc3NQb3NpdGlvbiYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPT1kb2N1bWVudCYmZS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkmJih0LmxlZnQrPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKSx0LnRvcCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCkpLCh0aGlzLm9mZnNldFBhcmVudFswXT09PWRvY3VtZW50LmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJiJodG1sIj09PXRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKSYmZS51aS5pZSkmJih0PXt0b3A6MCxsZWZ0OjB9KSx7dG9wOnQudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OnQubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYoInJlbGF0aXZlIj09PXRoaXMuY3NzUG9zaXRpb24pe3ZhciBlPXRoaXMuZWxlbWVudC5wb3NpdGlvbigpO3JldHVybnt0b3A6ZS50b3AtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygidG9wIiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxsZWZ0OmUubGVmdC0ocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9fXJldHVybnt0b3A6MCxsZWZ0OjB9fSxfY2FjaGVNYXJnaW5zOmZ1bmN0aW9uKCl7dGhpcy5tYXJnaW5zPXtsZWZ0OnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSwxMCl8fDAsdG9wOnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MCxyaWdodDpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5SaWdodCIpLDEwKXx8MCxib3R0b206cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luQm90dG9tIiksMTApfHwwfX0sX2NhY2hlSGVscGVyUHJvcG9ydGlvbnM6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlclByb3BvcnRpb25zPXt3aWR0aDp0aGlzLmhlbHBlci5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuaGVscGVyLm91dGVySGVpZ2h0KCl9fSxfc2V0Q29udGFpbm1lbnQ6ZnVuY3Rpb24oKXt2YXIgdCxuLGksbz10aGlzLm9wdGlvbnM7cmV0dXJuIG8uY29udGFpbm1lbnQ/IndpbmRvdyI9PT1vLmNvbnRhaW5tZW50P3ZvaWQodGhpcy5jb250YWlubWVudD1bZSh3aW5kb3cpLnNjcm9sbExlZnQoKS10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LGUod2luZG93KS5zY3JvbGxUb3AoKS10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCxlKHdpbmRvdykuc2Nyb2xsTGVmdCgpK2Uod2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsZSh3aW5kb3cpLnNjcm9sbFRvcCgpKyhlKHdpbmRvdykuaGVpZ2h0KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdKToiZG9jdW1lbnQiPT09by5jb250YWlubWVudD92b2lkKHRoaXMuY29udGFpbm1lbnQ9WzAsMCxlKGRvY3VtZW50KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsKGUoZG9jdW1lbnQpLmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXSk6by5jb250YWlubWVudC5jb25zdHJ1Y3Rvcj09PUFycmF5P3ZvaWQodGhpcy5jb250YWlubWVudD1vLmNvbnRhaW5tZW50KTooInBhcmVudCI9PT1vLmNvbnRhaW5tZW50JiYoby5jb250YWlubWVudD10aGlzLmhlbHBlclswXS5wYXJlbnROb2RlKSxuPWUoby5jb250YWlubWVudCksaT1uWzBdLHZvaWQoaSYmKHQ9ImhpZGRlbiIhPT1uLmNzcygib3ZlcmZsb3ciKSx0aGlzLmNvbnRhaW5tZW50PVsocGFyc2VJbnQobi5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KG4uY3NzKCJwYWRkaW5nTGVmdCIpLDEwKXx8MCksKHBhcnNlSW50KG4uY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KG4uY3NzKCJwYWRkaW5nVG9wIiksMTApfHwwKSwodD9NYXRoLm1heChpLnNjcm9sbFdpZHRoLGkub2Zmc2V0V2lkdGgpOmkub2Zmc2V0V2lkdGgpLShwYXJzZUludChuLmNzcygiYm9yZGVyUmlnaHRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KG4uY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQtdGhpcy5tYXJnaW5zLnJpZ2h0LCh0P01hdGgubWF4KGkuc2Nyb2xsSGVpZ2h0LGkub2Zmc2V0SGVpZ2h0KTppLm9mZnNldEhlaWdodCktKHBhcnNlSW50KG4uY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KG4uY3NzKCJwYWRkaW5nQm90dG9tIiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wLXRoaXMubWFyZ2lucy5ib3R0b21dLHRoaXMucmVsYXRpdmVfY29udGFpbmVyPW4pKSk6dm9pZCh0aGlzLmNvbnRhaW5tZW50PW51bGwpfSxfY29udmVydFBvc2l0aW9uVG86ZnVuY3Rpb24odCxuKXtufHwobj10aGlzLnBvc2l0aW9uKTt2YXIgaT0iYWJzb2x1dGUiPT09dD8xOi0xLG89ImFic29sdXRlIiE9PXRoaXMuY3NzUG9zaXRpb258fHRoaXMuc2Nyb2xsUGFyZW50WzBdIT09ZG9jdW1lbnQmJmUuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pP3RoaXMuc2Nyb2xsUGFyZW50OnRoaXMub2Zmc2V0UGFyZW50O3JldHVybiB0aGlzLm9mZnNldC5zY3JvbGx8fCh0aGlzLm9mZnNldC5zY3JvbGw9e3RvcDpvLnNjcm9sbFRvcCgpLGxlZnQ6by5zY3JvbGxMZWZ0KCl9KSx7dG9wOm4udG9wK3RoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCppK3RoaXMub2Zmc2V0LnBhcmVudC50b3AqaS0oImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOnRoaXMub2Zmc2V0LnNjcm9sbC50b3ApKmksbGVmdDpuLmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCppK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KmktKCJmaXhlZCI9PT10aGlzLmNzc1Bvc2l0aW9uPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6dGhpcy5vZmZzZXQuc2Nyb2xsLmxlZnQpKml9fSxfZ2VuZXJhdGVQb3NpdGlvbjpmdW5jdGlvbih0KXt2YXIgbixpLG8scixzPXRoaXMub3B0aW9ucyxhPSJhYnNvbHV0ZSIhPT10aGlzLmNzc1Bvc2l0aW9ufHx0aGlzLnNjcm9sbFBhcmVudFswXSE9PWRvY3VtZW50JiZlLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKT90aGlzLnNjcm9sbFBhcmVudDp0aGlzLm9mZnNldFBhcmVudCxsPXQucGFnZVgsYz10LnBhZ2VZO3JldHVybiB0aGlzLm9mZnNldC5zY3JvbGx8fCh0aGlzLm9mZnNldC5zY3JvbGw9e3RvcDphLnNjcm9sbFRvcCgpLGxlZnQ6YS5zY3JvbGxMZWZ0KCl9KSx0aGlzLm9yaWdpbmFsUG9zaXRpb24mJih0aGlzLmNvbnRhaW5tZW50JiYodGhpcy5yZWxhdGl2ZV9jb250YWluZXI/KGk9dGhpcy5yZWxhdGl2ZV9jb250YWluZXIub2Zmc2V0KCksbj1bdGhpcy5jb250YWlubWVudFswXStpLmxlZnQsdGhpcy5jb250YWlubWVudFsxXStpLnRvcCx0aGlzLmNvbnRhaW5tZW50WzJdK2kubGVmdCx0aGlzLmNvbnRhaW5tZW50WzNdK2kudG9wXSk6bj10aGlzLmNvbnRhaW5tZW50LHQucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdDxuWzBdJiYobD1uWzBdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQpLHQucGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPG5bMV0mJihjPW5bMV0rdGhpcy5vZmZzZXQuY2xpY2sudG9wKSx0LnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+blsyXSYmKGw9blsyXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0KSx0LnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD5uWzNdJiYoYz1uWzNdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCkpLHMuZ3JpZCYmKG89cy5ncmlkWzFdP3RoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChjLXRoaXMub3JpZ2luYWxQYWdlWSkvcy5ncmlkWzFdKSpzLmdyaWRbMV06dGhpcy5vcmlnaW5hbFBhZ2VZLGM9bj9vLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD49blsxXXx8by10aGlzLm9mZnNldC5jbGljay50b3A+blszXT9vOm8tdGhpcy5vZmZzZXQuY2xpY2sudG9wPj1uWzFdP28tcy5ncmlkWzFdOm8rcy5ncmlkWzFdOm8scj1zLmdyaWRbMF0/dGhpcy5vcmlnaW5hbFBhZ2VYK01hdGgucm91bmQoKGwtdGhpcy5vcmlnaW5hbFBhZ2VYKS9zLmdyaWRbMF0pKnMuZ3JpZFswXTp0aGlzLm9yaWdpbmFsUGFnZVgsbD1uP3ItdGhpcy5vZmZzZXQuY2xpY2subGVmdD49blswXXx8ci10aGlzLm9mZnNldC5jbGljay5sZWZ0Pm5bMl0/cjpyLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+PW5bMF0/ci1zLmdyaWRbMF06citzLmdyaWRbMF06cikpLHt0b3A6Yy10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKCJmaXhlZCI9PT10aGlzLmNzc1Bvc2l0aW9uPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTp0aGlzLm9mZnNldC5zY3JvbGwudG9wKSxsZWZ0OmwtdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KygiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOnRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0KX19LF9jbGVhcjpmdW5jdGlvbigpe3RoaXMuaGVscGVyLnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciKSx0aGlzLmhlbHBlclswXT09PXRoaXMuZWxlbWVudFswXXx8dGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsfHx0aGlzLmhlbHBlci5yZW1vdmUoKSx0aGlzLmhlbHBlcj1udWxsLHRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbD0hMX0sX3RyaWdnZXI6ZnVuY3Rpb24odCxuLGkpe3JldHVybiBpPWl8fHRoaXMuX3VpSGFzaCgpLGUudWkucGx1Z2luLmNhbGwodGhpcyx0LFtuLGldKSwiZHJhZyI9PT10JiYodGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKSksZS5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmNhbGwodGhpcyx0LG4saSl9LHBsdWdpbnM6e30sX3VpSGFzaDpmdW5jdGlvbigpe3JldHVybntoZWxwZXI6dGhpcy5oZWxwZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9uOnRoaXMub3JpZ2luYWxQb3NpdGlvbixvZmZzZXQ6dGhpcy5wb3NpdGlvbkFic319fSksZS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjb25uZWN0VG9Tb3J0YWJsZSIse3N0YXJ0OmZ1bmN0aW9uKHQsbil7dmFyIGk9ZSh0aGlzKS5kYXRhKCJ1aS1kcmFnZ2FibGUiKSxvPWkub3B0aW9ucyxyPWUuZXh0ZW5kKHt9LG4se2l0ZW06aS5lbGVtZW50fSk7aS5zb3J0YWJsZXM9W10sZShvLmNvbm5lY3RUb1NvcnRhYmxlKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49ZS5kYXRhKHRoaXMsInVpLXNvcnRhYmxlIik7biYmIW4ub3B0aW9ucy5kaXNhYmxlZCYmKGkuc29ydGFibGVzLnB1c2goe2luc3RhbmNlOm4sc2hvdWxkUmV2ZXJ0Om4ub3B0aW9ucy5yZXZlcnR9KSxuLnJlZnJlc2hQb3NpdGlvbnMoKSxuLl90cmlnZ2VyKCJhY3RpdmF0ZSIsdCxyKSl9KX0sc3RvcDpmdW5jdGlvbih0LG4pe3ZhciBpPWUodGhpcykuZGF0YSgidWktZHJhZ2dhYmxlIiksbz1lLmV4dGVuZCh7fSxuLHtpdGVtOmkuZWxlbWVudH0pO2UuZWFjaChpLnNvcnRhYmxlcyxmdW5jdGlvbigpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPyh0aGlzLmluc3RhbmNlLmlzT3Zlcj0wLGkuY2FuY2VsSGVscGVyUmVtb3ZhbD0hMCx0aGlzLmluc3RhbmNlLmNhbmNlbEhlbHBlclJlbW92YWw9ITEsdGhpcy5zaG91bGRSZXZlcnQmJih0aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PXRoaXMuc2hvdWxkUmV2ZXJ0KSx0aGlzLmluc3RhbmNlLl9tb3VzZVN0b3AodCksdGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcj10aGlzLmluc3RhbmNlLm9wdGlvbnMuX2hlbHBlciwib3JpZ2luYWwiPT09aS5vcHRpb25zLmhlbHBlciYmdGhpcy5pbnN0YW5jZS5jdXJyZW50SXRlbS5jc3Moe3RvcDoiYXV0byIsbGVmdDoiYXV0byJ9KSk6KHRoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD0hMSx0aGlzLmluc3RhbmNlLl90cmlnZ2VyKCJkZWFjdGl2YXRlIix0LG8pKX0pfSxkcmFnOmZ1bmN0aW9uKHQsbil7dmFyIGk9ZSh0aGlzKS5kYXRhKCJ1aS1kcmFnZ2FibGUiKSxvPXRoaXM7ZS5lYWNoKGkuc29ydGFibGVzLGZ1bmN0aW9uKCl7dmFyIHI9ITEscz10aGlzO3RoaXMuaW5zdGFuY2UucG9zaXRpb25BYnM9aS5wb3NpdGlvbkFicyx0aGlzLmluc3RhbmNlLmhlbHBlclByb3BvcnRpb25zPWkuaGVscGVyUHJvcG9ydGlvbnMsdGhpcy5pbnN0YW5jZS5vZmZzZXQuY2xpY2s9aS5vZmZzZXQuY2xpY2ssdGhpcy5pbnN0YW5jZS5faW50ZXJzZWN0c1dpdGgodGhpcy5pbnN0YW5jZS5jb250YWluZXJDYWNoZSkmJihyPSEwLGUuZWFjaChpLnNvcnRhYmxlcyxmdW5jdGlvbigpe3JldHVybiB0aGlzLmluc3RhbmNlLnBvc2l0aW9uQWJzPWkucG9zaXRpb25BYnMsdGhpcy5pbnN0YW5jZS5oZWxwZXJQcm9wb3J0aW9ucz1pLmhlbHBlclByb3BvcnRpb25zLHRoaXMuaW5zdGFuY2Uub2Zmc2V0LmNsaWNrPWkub2Zmc2V0LmNsaWNrLHRoaXMhPT1zJiZ0aGlzLmluc3RhbmNlLl9pbnRlcnNlY3RzV2l0aCh0aGlzLmluc3RhbmNlLmNvbnRhaW5lckNhY2hlKSYmZS5jb250YWlucyhzLmluc3RhbmNlLmVsZW1lbnRbMF0sdGhpcy5pbnN0YW5jZS5lbGVtZW50WzBdKSYmKHI9ITEpLHJ9KSkscj8odGhpcy5pbnN0YW5jZS5pc092ZXJ8fCh0aGlzLmluc3RhbmNlLmlzT3Zlcj0xLHRoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW09ZShvKS5jbG9uZSgpLnJlbW92ZUF0dHIoImlkIikuYXBwZW5kVG8odGhpcy5pbnN0YW5jZS5lbGVtZW50KS5kYXRhKCJ1aS1zb3J0YWJsZS1pdGVtIiwhMCksdGhpcy5pbnN0YW5jZS5vcHRpb25zLl9oZWxwZXI9dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcix0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVscGVyPWZ1bmN0aW9uKCl7cmV0dXJuIG4uaGVscGVyWzBdfSx0LnRhcmdldD10aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtWzBdLHRoaXMuaW5zdGFuY2UuX21vdXNlQ2FwdHVyZSh0LCEwKSx0aGlzLmluc3RhbmNlLl9tb3VzZVN0YXJ0KHQsITAsITApLHRoaXMuaW5zdGFuY2Uub2Zmc2V0LmNsaWNrLnRvcD1pLm9mZnNldC5jbGljay50b3AsdGhpcy5pbnN0YW5jZS5vZmZzZXQuY2xpY2subGVmdD1pLm9mZnNldC5jbGljay5sZWZ0LHRoaXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC5sZWZ0LT1pLm9mZnNldC5wYXJlbnQubGVmdC10aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQubGVmdCx0aGlzLmluc3RhbmNlLm9mZnNldC5wYXJlbnQudG9wLT1pLm9mZnNldC5wYXJlbnQudG9wLXRoaXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC50b3AsaS5fdHJpZ2dlcigidG9Tb3J0YWJsZSIsdCksaS5kcm9wcGVkPXRoaXMuaW5zdGFuY2UuZWxlbWVudCxpLmN1cnJlbnRJdGVtPWkuZWxlbWVudCx0aGlzLmluc3RhbmNlLmZyb21PdXRzaWRlPWkpLHRoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW0mJnRoaXMuaW5zdGFuY2UuX21vdXNlRHJhZyh0KSk6dGhpcy5pbnN0YW5jZS5pc092ZXImJih0aGlzLmluc3RhbmNlLmlzT3Zlcj0wLHRoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD0hMCx0aGlzLmluc3RhbmNlLm9wdGlvbnMucmV2ZXJ0PSExLHRoaXMuaW5zdGFuY2UuX3RyaWdnZXIoIm91dCIsdCx0aGlzLmluc3RhbmNlLl91aUhhc2godGhpcy5pbnN0YW5jZSkpLHRoaXMuaW5zdGFuY2UuX21vdXNlU3RvcCh0LCEwKSx0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVscGVyPXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5faGVscGVyLHRoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW0ucmVtb3ZlKCksdGhpcy5pbnN0YW5jZS5wbGFjZWhvbGRlciYmdGhpcy5pbnN0YW5jZS5wbGFjZWhvbGRlci5yZW1vdmUoKSxpLl90cmlnZ2VyKCJmcm9tU29ydGFibGUiLHQpLGkuZHJvcHBlZD0hMSl9KX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImN1cnNvciIse3N0YXJ0OmZ1bmN0aW9uKCl7dmFyIHQ9ZSgiYm9keSIpLG49ZSh0aGlzKS5kYXRhKCJ1aS1kcmFnZ2FibGUiKS5vcHRpb25zO3QuY3NzKCJjdXJzb3IiKSYmKG4uX2N1cnNvcj10LmNzcygiY3Vyc29yIikpLHQuY3NzKCJjdXJzb3IiLG4uY3Vyc29yKX0sc3RvcDpmdW5jdGlvbigpe3ZhciB0PWUodGhpcykuZGF0YSgidWktZHJhZ2dhYmxlIikub3B0aW9uczt0Ll9jdXJzb3ImJmUoImJvZHkiKS5jc3MoImN1cnNvciIsdC5fY3Vyc29yKX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsIm9wYWNpdHkiLHtzdGFydDpmdW5jdGlvbih0LG4pe3ZhciBpPWUobi5oZWxwZXIpLG89ZSh0aGlzKS5kYXRhKCJ1aS1kcmFnZ2FibGUiKS5vcHRpb25zO2kuY3NzKCJvcGFjaXR5IikmJihvLl9vcGFjaXR5PWkuY3NzKCJvcGFjaXR5IikpLGkuY3NzKCJvcGFjaXR5IixvLm9wYWNpdHkpfSxzdG9wOmZ1bmN0aW9uKHQsbil7dmFyIGk9ZSh0aGlzKS5kYXRhKCJ1aS1kcmFnZ2FibGUiKS5vcHRpb25zO2kuX29wYWNpdHkmJmUobi5oZWxwZXIpLmNzcygib3BhY2l0eSIsaS5fb3BhY2l0eSl9fSksZS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJzY3JvbGwiLHtzdGFydDpmdW5jdGlvbigpe3ZhciB0PWUodGhpcykuZGF0YSgidWktZHJhZ2dhYmxlIik7dC5zY3JvbGxQYXJlbnRbMF0hPT1kb2N1bWVudCYmIkhUTUwiIT09dC5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSYmKHQub3ZlcmZsb3dPZmZzZXQ9dC5zY3JvbGxQYXJlbnQub2Zmc2V0KCkpfSxkcmFnOmZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcykuZGF0YSgidWktZHJhZ2dhYmxlIiksaT1uLm9wdGlvbnMsbz0hMTtuLnNjcm9sbFBhcmVudFswXSE9PWRvY3VtZW50JiYiSFRNTCIhPT1uLnNjcm9sbFBhcmVudFswXS50YWdOYW1lPyhpLmF4aXMmJiJ4Ij09PWkuYXhpc3x8KG4ub3ZlcmZsb3dPZmZzZXQudG9wK24uc2Nyb2xsUGFyZW50WzBdLm9mZnNldEhlaWdodC10LnBhZ2VZPGkuc2Nyb2xsU2Vuc2l0aXZpdHk/bi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPW89bi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK2kuc2Nyb2xsU3BlZWQ6dC5wYWdlWS1uLm92ZXJmbG93T2Zmc2V0LnRvcDxpLnNjcm9sbFNlbnNpdGl2aXR5JiYobi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPW89bi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wLWkuc2Nyb2xsU3BlZWQpKSxpLmF4aXMmJiJ5Ij09PWkuYXhpc3x8KG4ub3ZlcmZsb3dPZmZzZXQubGVmdCtuLnNjcm9sbFBhcmVudFswXS5vZmZzZXRXaWR0aC10LnBhZ2VYPGkuc2Nyb2xsU2Vuc2l0aXZpdHk/bi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1vPW4uc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQraS5zY3JvbGxTcGVlZDp0LnBhZ2VYLW4ub3ZlcmZsb3dPZmZzZXQubGVmdDxpLnNjcm9sbFNlbnNpdGl2aXR5JiYobi5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1vPW4uc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQtaS5zY3JvbGxTcGVlZCkpKTooaS5heGlzJiYieCI9PT1pLmF4aXN8fCh0LnBhZ2VZLWUoZG9jdW1lbnQpLnNjcm9sbFRvcCgpPGkuc2Nyb2xsU2Vuc2l0aXZpdHk/bz1lKGRvY3VtZW50KS5zY3JvbGxUb3AoZShkb2N1bWVudCkuc2Nyb2xsVG9wKCktaS5zY3JvbGxTcGVlZCk6ZSh3aW5kb3cpLmhlaWdodCgpLSh0LnBhZ2VZLWUoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKTxpLnNjcm9sbFNlbnNpdGl2aXR5JiYobz1lKGRvY3VtZW50KS5zY3JvbGxUb3AoZShkb2N1bWVudCkuc2Nyb2xsVG9wKCkraS5zY3JvbGxTcGVlZCkpKSxpLmF4aXMmJiJ5Ij09PWkuYXhpc3x8KHQucGFnZVgtZShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpPGkuc2Nyb2xsU2Vuc2l0aXZpdHk/bz1lKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGUoZG9jdW1lbnQpLnNjcm9sbExlZnQoKS1pLnNjcm9sbFNwZWVkKTplKHdpbmRvdykud2lkdGgoKS0odC5wYWdlWC1lKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpPGkuc2Nyb2xsU2Vuc2l0aXZpdHkmJihvPWUoZG9jdW1lbnQpLnNjcm9sbExlZnQoZShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpK2kuc2Nyb2xsU3BlZWQpKSkpLG8hPT0hMSYmZS51aS5kZG1hbmFnZXImJiFpLmRyb3BCZWhhdmlvdXImJmUudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKG4sdCl9fSksZS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJzbmFwIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLmRhdGEoInVpLWRyYWdnYWJsZSIpLG49dC5vcHRpb25zO3Quc25hcEVsZW1lbnRzPVtdLGUobi5zbmFwLmNvbnN0cnVjdG9yIT09U3RyaW5nP24uc25hcC5pdGVtc3x8IjpkYXRhKHVpLWRyYWdnYWJsZSkiOm4uc25hcCkuZWFjaChmdW5jdGlvbigpe3ZhciBuPWUodGhpcyksaT1uLm9mZnNldCgpO3RoaXMhPT10LmVsZW1lbnRbMF0mJnQuc25hcEVsZW1lbnRzLnB1c2goe2l0ZW06dGhpcyx3aWR0aDpuLm91dGVyV2lkdGgoKSxoZWlnaHQ6bi5vdXRlckhlaWdodCgpLHRvcDppLnRvcCxsZWZ0OmkubGVmdH0pfSl9LGRyYWc6ZnVuY3Rpb24odCxuKXt2YXIgaSxvLHIscyxhLGwsYyx1LGQscCxoPWUodGhpcykuZGF0YSgidWktZHJhZ2dhYmxlIiksZj1oLm9wdGlvbnMsbT1mLnNuYXBUb2xlcmFuY2UsZz1uLm9mZnNldC5sZWZ0LHY9ZytoLmhlbHBlclByb3BvcnRpb25zLndpZHRoLHk9bi5vZmZzZXQudG9wLGI9eStoLmhlbHBlclByb3BvcnRpb25zLmhlaWdodDtmb3IoZD1oLnNuYXBFbGVtZW50cy5sZW5ndGgtMTtkPj0wO2QtLSlhPWguc25hcEVsZW1lbnRzW2RdLmxlZnQsbD1hK2guc25hcEVsZW1lbnRzW2RdLndpZHRoLGM9aC5zbmFwRWxlbWVudHNbZF0udG9wLHU9YytoLnNuYXBFbGVtZW50c1tkXS5oZWlnaHQsYS1tPnZ8fGc+bCttfHxjLW0+Ynx8eT51K218fCFlLmNvbnRhaW5zKGguc25hcEVsZW1lbnRzW2RdLml0ZW0ub3duZXJEb2N1bWVudCxoLnNuYXBFbGVtZW50c1tkXS5pdGVtKT8oaC5zbmFwRWxlbWVudHNbZF0uc25hcHBpbmcmJmgub3B0aW9ucy5zbmFwLnJlbGVhc2UmJmgub3B0aW9ucy5zbmFwLnJlbGVhc2UuY2FsbChoLmVsZW1lbnQsdCxlLmV4dGVuZChoLl91aUhhc2goKSx7c25hcEl0ZW06aC5zbmFwRWxlbWVudHNbZF0uaXRlbX0pKSxoLnNuYXBFbGVtZW50c1tkXS5zbmFwcGluZz0hMSk6KCJpbm5lciIhPT1mLnNuYXBNb2RlJiYoaT1NYXRoLmFicyhjLWIpPD1tLG89TWF0aC5hYnModS15KTw9bSxyPU1hdGguYWJzKGEtdik8PW0scz1NYXRoLmFicyhsLWcpPD1tLGkmJihuLnBvc2l0aW9uLnRvcD1oLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6Yy1oLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsZWZ0OjB9KS50b3AtaC5tYXJnaW5zLnRvcCksbyYmKG4ucG9zaXRpb24udG9wPWguX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDp1LGxlZnQ6MH0pLnRvcC1oLm1hcmdpbnMudG9wKSxyJiYobi5wb3NpdGlvbi5sZWZ0PWguX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6YS1oLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdC1oLm1hcmdpbnMubGVmdCkscyYmKG4ucG9zaXRpb24ubGVmdD1oLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Omx9KS5sZWZ0LWgubWFyZ2lucy5sZWZ0KSkscD1pfHxvfHxyfHxzLCJvdXRlciIhPT1mLnNuYXBNb2RlJiYoaT1NYXRoLmFicyhjLXkpPD1tLG89TWF0aC5hYnModS1iKTw9bSxyPU1hdGguYWJzKGEtZyk8PW0scz1NYXRoLmFicyhsLXYpPD1tLGkmJihuLnBvc2l0aW9uLnRvcD1oLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6YyxsZWZ0OjB9KS50b3AtaC5tYXJnaW5zLnRvcCksbyYmKG4ucG9zaXRpb24udG9wPWguX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDp1LWguaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRvcC1oLm1hcmdpbnMudG9wKSxyJiYobi5wb3NpdGlvbi5sZWZ0PWguX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6YX0pLmxlZnQtaC5tYXJnaW5zLmxlZnQpLHMmJihuLnBvc2l0aW9uLmxlZnQ9aC5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpsLWguaGVscGVyUHJvcG9ydGlvbnMud2lkdGh9KS5sZWZ0LWgubWFyZ2lucy5sZWZ0KSksIWguc25hcEVsZW1lbnRzW2RdLnNuYXBwaW5nJiYoaXx8b3x8cnx8c3x8cCkmJmgub3B0aW9ucy5zbmFwLnNuYXAmJmgub3B0aW9ucy5zbmFwLnNuYXAuY2FsbChoLmVsZW1lbnQsdCxlLmV4dGVuZChoLl91aUhhc2goKSx7c25hcEl0ZW06aC5zbmFwRWxlbWVudHNbZF0uaXRlbX0pKSxoLnNuYXBFbGVtZW50c1tkXS5zbmFwcGluZz1pfHxvfHxyfHxzfHxwKX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInN0YWNrIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgdCxuPXRoaXMuZGF0YSgidWktZHJhZ2dhYmxlIikub3B0aW9ucyxpPWUubWFrZUFycmF5KGUobi5zdGFjaykpLnNvcnQoZnVuY3Rpb24odCxuKXtyZXR1cm4ocGFyc2VJbnQoZSh0KS5jc3MoInpJbmRleCIpLDEwKXx8MCktKHBhcnNlSW50KGUobikuY3NzKCJ6SW5kZXgiKSwxMCl8fDApfSk7aS5sZW5ndGgmJih0PXBhcnNlSW50KGUoaVswXSkuY3NzKCJ6SW5kZXgiKSwxMCl8fDAsZShpKS5lYWNoKGZ1bmN0aW9uKG4pe2UodGhpcykuY3NzKCJ6SW5kZXgiLHQrbil9KSx0aGlzLmNzcygiekluZGV4Iix0K2kubGVuZ3RoKSl9fSksZS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJ6SW5kZXgiLHtzdGFydDpmdW5jdGlvbih0LG4pe3ZhciBpPWUobi5oZWxwZXIpLG89ZSh0aGlzKS5kYXRhKCJ1aS1kcmFnZ2FibGUiKS5vcHRpb25zO2kuY3NzKCJ6SW5kZXgiKSYmKG8uX3pJbmRleD1pLmNzcygiekluZGV4IikpLGkuY3NzKCJ6SW5kZXgiLG8uekluZGV4KX0sc3RvcDpmdW5jdGlvbih0LG4pe3ZhciBpPWUodGhpcykuZGF0YSgidWktZHJhZ2dhYmxlIikub3B0aW9ucztpLl96SW5kZXgmJmUobi5oZWxwZXIpLmNzcygiekluZGV4IixpLl96SW5kZXgpfX0pfShqUXVlcnkpLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSx0LG4pe3JldHVybiBlPnQmJnQrbj5lfWUud2lkZ2V0KCJ1aS5kcm9wcGFibGUiLHt2ZXJzaW9uOiIxLjEwLjQiLHdpZGdldEV2ZW50UHJlZml4OiJkcm9wIixvcHRpb25zOnthY2NlcHQ6IioiLGFjdGl2ZUNsYXNzOiExLGFkZENsYXNzZXM6ITAsZ3JlZWR5OiExLGhvdmVyQ2xhc3M6ITEsc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5jZToiaW50ZXJzZWN0IixhY3RpdmF0ZTpudWxsLGRlYWN0aXZhdGU6bnVsbCxkcm9wOm51bGwsb3V0Om51bGwsb3ZlcjpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQsbj10aGlzLm9wdGlvbnMsaT1uLmFjY2VwdDt0aGlzLmlzb3Zlcj0hMSx0aGlzLmlzb3V0PSEwLHRoaXMuYWNjZXB0PWUuaXNGdW5jdGlvbihpKT9pOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKGkpfSx0aGlzLnByb3BvcnRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dm9pZCh0PWFyZ3VtZW50c1swXSk6dD90OnQ9e3dpZHRoOnRoaXMuZWxlbWVudFswXS5vZmZzZXRXaWR0aCxoZWlnaHQ6dGhpcy5lbGVtZW50WzBdLm9mZnNldEhlaWdodH19LGUudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbbi5zY29wZV09ZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tuLnNjb3BlXXx8W10sZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tuLnNjb3BlXS5wdXNoKHRoaXMpLG4uYWRkQ2xhc3NlcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kcm9wcGFibGUiKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxuPWUudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbdGhpcy5vcHRpb25zLnNjb3BlXTt0PG4ubGVuZ3RoO3QrKyluW3RdPT09dGhpcyYmbi5zcGxpY2UodCwxKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyb3BwYWJsZSB1aS1kcm9wcGFibGUtZGlzYWJsZWQiKX0sX3NldE9wdGlvbjpmdW5jdGlvbih0LG4peyJhY2NlcHQiPT09dCYmKHRoaXMuYWNjZXB0PWUuaXNGdW5jdGlvbihuKT9uOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKG4pfSksZS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfYWN0aXZhdGU6ZnVuY3Rpb24odCl7dmFyIG49ZS51aS5kZG1hbmFnZXIuY3VycmVudDt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpLG4mJnRoaXMuX3RyaWdnZXIoImFjdGl2YXRlIix0LHRoaXMudWkobikpfSxfZGVhY3RpdmF0ZTpmdW5jdGlvbih0KXt2YXIgbj1lLnVpLmRkbWFuYWdlci5jdXJyZW50O3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyksbiYmdGhpcy5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsdCx0aGlzLnVpKG4pKX0sX292ZXI6ZnVuY3Rpb24odCl7dmFyIG49ZS51aS5kZG1hbmFnZXIuY3VycmVudDtuJiYobi5jdXJyZW50SXRlbXx8bi5lbGVtZW50KVswXSE9PXRoaXMuZWxlbWVudFswXSYmdGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sbi5jdXJyZW50SXRlbXx8bi5lbGVtZW50KSYmKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpLHRoaXMuX3RyaWdnZXIoIm92ZXIiLHQsdGhpcy51aShuKSkpfSxfb3V0OmZ1bmN0aW9uKHQpe3ZhciBuPWUudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7biYmKG4uY3VycmVudEl0ZW18fG4uZWxlbWVudClbMF0hPT10aGlzLmVsZW1lbnRbMF0mJnRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLG4uY3VycmVudEl0ZW18fG4uZWxlbWVudCkmJih0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKSx0aGlzLl90cmlnZ2VyKCJvdXQiLHQsdGhpcy51aShuKSkpfSxfZHJvcDpmdW5jdGlvbih0LG4pe3ZhciBpPW58fGUudWkuZGRtYW5hZ2VyLmN1cnJlbnQsbz0hMTtyZXR1cm4gaSYmKGkuY3VycmVudEl0ZW18fGkuZWxlbWVudClbMF0hPT10aGlzLmVsZW1lbnRbMF0/KHRoaXMuZWxlbWVudC5maW5kKCI6ZGF0YSh1aS1kcm9wcGFibGUpIikubm90KCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIikuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUuZGF0YSh0aGlzLCJ1aS1kcm9wcGFibGUiKTtyZXR1cm4gdC5vcHRpb25zLmdyZWVkeSYmIXQub3B0aW9ucy5kaXNhYmxlZCYmdC5vcHRpb25zLnNjb3BlPT09aS5vcHRpb25zLnNjb3BlJiZ0LmFjY2VwdC5jYWxsKHQuZWxlbWVudFswXSxpLmN1cnJlbnRJdGVtfHxpLmVsZW1lbnQpJiZlLnVpLmludGVyc2VjdChpLGUuZXh0ZW5kKHQse29mZnNldDp0LmVsZW1lbnQub2Zmc2V0KCl9KSx0Lm9wdGlvbnMudG9sZXJhbmNlKT8obz0hMCwhMSk6dm9pZCAwfSksbz8hMTp0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxpLmN1cnJlbnRJdGVtfHxpLmVsZW1lbnQpPyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpLHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpLHRoaXMuX3RyaWdnZXIoImRyb3AiLHQsdGhpcy51aShpKSksdGhpcy5lbGVtZW50KTohMSk6ITF9LHVpOmZ1bmN0aW9uKGUpe3JldHVybntkcmFnZ2FibGU6ZS5jdXJyZW50SXRlbXx8ZS5lbGVtZW50LGhlbHBlcjplLmhlbHBlcixwb3NpdGlvbjplLnBvc2l0aW9uLG9mZnNldDplLnBvc2l0aW9uQWJzfX19KSxlLnVpLmludGVyc2VjdD1mdW5jdGlvbihlLG4saSl7aWYoIW4ub2Zmc2V0KXJldHVybiExO3ZhciBvLHIscz0oZS5wb3NpdGlvbkFic3x8ZS5wb3NpdGlvbi5hYnNvbHV0ZSkubGVmdCxhPShlLnBvc2l0aW9uQWJzfHxlLnBvc2l0aW9uLmFic29sdXRlKS50b3AsbD1zK2UuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsYz1hK2UuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LHU9bi5vZmZzZXQubGVmdCxkPW4ub2Zmc2V0LnRvcCxwPXUrbi5wcm9wb3J0aW9ucygpLndpZHRoLGg9ZCtuLnByb3BvcnRpb25zKCkuaGVpZ2h0O3N3aXRjaChpKXtjYXNlImZpdCI6cmV0dXJuIHM+PXUmJnA+PWwmJmE+PWQmJmg+PWM7Y2FzZSJpbnRlcnNlY3QiOnJldHVybiB1PHMrZS5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZsLWUuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMjxwJiZkPGErZS5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMiYmYy1lLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yPGg7Y2FzZSJwb2ludGVyIjpyZXR1cm4gbz0oZS5wb3NpdGlvbkFic3x8ZS5wb3NpdGlvbi5hYnNvbHV0ZSkubGVmdCsoZS5jbGlja09mZnNldHx8ZS5vZmZzZXQuY2xpY2spLmxlZnQscj0oZS5wb3NpdGlvbkFic3x8ZS5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wKyhlLmNsaWNrT2Zmc2V0fHxlLm9mZnNldC5jbGljaykudG9wLHQocixkLG4ucHJvcG9ydGlvbnMoKS5oZWlnaHQpJiZ0KG8sdSxuLnByb3BvcnRpb25zKCkud2lkdGgpO2Nhc2UidG91Y2giOnJldHVybihhPj1kJiZoPj1hfHxjPj1kJiZoPj1jfHxkPmEmJmM+aCkmJihzPj11JiZwPj1zfHxsPj11JiZwPj1sfHx1PnMmJmw+cCk7ZGVmYXVsdDpyZXR1cm4hMX19LGUudWkuZGRtYW5hZ2VyPXtjdXJyZW50Om51bGwsZHJvcHBhYmxlczp7ImRlZmF1bHQiOltdfSxwcmVwYXJlT2Zmc2V0czpmdW5jdGlvbih0LG4pe3ZhciBpLG8scj1lLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3Qub3B0aW9ucy5zY29wZV18fFtdLHM9bj9uLnR5cGU6bnVsbCxhPSh0LmN1cnJlbnRJdGVtfHx0LmVsZW1lbnQpLmZpbmQoIjpkYXRhKHVpLWRyb3BwYWJsZSkiKS5hZGRCYWNrKCk7ZTpmb3IoaT0wO2k8ci5sZW5ndGg7aSsrKWlmKCEocltpXS5vcHRpb25zLmRpc2FibGVkfHx0JiYhcltpXS5hY2NlcHQuY2FsbChyW2ldLmVsZW1lbnRbMF0sdC5jdXJyZW50SXRlbXx8dC5lbGVtZW50KSkpe2ZvcihvPTA7bzxhLmxlbmd0aDtvKyspaWYoYVtvXT09PXJbaV0uZWxlbWVudFswXSl7cltpXS5wcm9wb3J0aW9ucygpLmhlaWdodD0wO2NvbnRpbnVlIGV9cltpXS52aXNpYmxlPSJub25lIiE9PXJbaV0uZWxlbWVudC5jc3MoImRpc3BsYXkiKSxyW2ldLnZpc2libGUmJigibW91c2Vkb3duIj09PXMmJnJbaV0uX2FjdGl2YXRlLmNhbGwocltpXSxuKSxyW2ldLm9mZnNldD1yW2ldLmVsZW1lbnQub2Zmc2V0KCkscltpXS5wcm9wb3J0aW9ucyh7d2lkdGg6cltpXS5lbGVtZW50WzBdLm9mZnNldFdpZHRoLGhlaWdodDpyW2ldLmVsZW1lbnRbMF0ub2Zmc2V0SGVpZ2h0fSkpfX0sZHJvcDpmdW5jdGlvbih0LG4pe3ZhciBpPSExO3JldHVybiBlLmVhY2goKGUudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbdC5vcHRpb25zLnNjb3BlXXx8W10pLnNsaWNlKCksZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMmJighdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLnZpc2libGUmJmUudWkuaW50ZXJzZWN0KHQsdGhpcyx0aGlzLm9wdGlvbnMudG9sZXJhbmNlKSYmKGk9dGhpcy5fZHJvcC5jYWxsKHRoaXMsbil8fGkpLCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYmdGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sdC5jdXJyZW50SXRlbXx8dC5lbGVtZW50KSYmKHRoaXMuaXNvdXQ9ITAsdGhpcy5pc292ZXI9ITEsdGhpcy5fZGVhY3RpdmF0ZS5jYWxsKHRoaXMsbikpKX0pLGl9LGRyYWdTdGFydDpmdW5jdGlvbih0LG4pe3QuZWxlbWVudC5wYXJlbnRzVW50aWwoImJvZHkiKS5iaW5kKCJzY3JvbGwuZHJvcHBhYmxlIixmdW5jdGlvbigpe3Qub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zfHxlLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0LG4pfSl9LGRyYWc6ZnVuY3Rpb24odCxuKXt0Lm9wdGlvbnMucmVmcmVzaFBvc2l0aW9ucyYmZS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModCxuKSxlLmVhY2goZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0Lm9wdGlvbnMuc2NvcGVdfHxbXSxmdW5jdGlvbigpe2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJiF0aGlzLmdyZWVkeUNoaWxkJiZ0aGlzLnZpc2libGUpe3ZhciBpLG8scixzPWUudWkuaW50ZXJzZWN0KHQsdGhpcyx0aGlzLm9wdGlvbnMudG9sZXJhbmNlKSxhPSFzJiZ0aGlzLmlzb3Zlcj8iaXNvdXQiOnMmJiF0aGlzLmlzb3Zlcj8iaXNvdmVyIjpudWxsO2EmJih0aGlzLm9wdGlvbnMuZ3JlZWR5JiYobz10aGlzLm9wdGlvbnMuc2NvcGUscj10aGlzLmVsZW1lbnQucGFyZW50cygiOmRhdGEodWktZHJvcHBhYmxlKSIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBlLmRhdGEodGhpcywidWktZHJvcHBhYmxlIikub3B0aW9ucy5zY29wZT09PW99KSxyLmxlbmd0aCYmKGk9ZS5kYXRhKHJbMF0sInVpLWRyb3BwYWJsZSIpLGkuZ3JlZWR5Q2hpbGQ9Imlzb3ZlciI9PT1hKSksaSYmImlzb3ZlciI9PT1hJiYoaS5pc292ZXI9ITEsaS5pc291dD0hMCxpLl9vdXQuY2FsbChpLG4pKSx0aGlzW2FdPSEwLHRoaXNbImlzb3V0Ij09PWE/Imlzb3ZlciI6Imlzb3V0Il09ITEsdGhpc1siaXNvdmVyIj09PWE/Il9vdmVyIjoiX291dCJdLmNhbGwodGhpcyxuKSxpJiYiaXNvdXQiPT09YSYmKGkuaXNvdXQ9ITEsaS5pc292ZXI9ITAsaS5fb3Zlci5jYWxsKGksbikpKX19KX0sZHJhZ1N0b3A6ZnVuY3Rpb24odCxuKXt0LmVsZW1lbnQucGFyZW50c1VudGlsKCJib2R5IikudW5iaW5kKCJzY3JvbGwuZHJvcHBhYmxlIiksdC5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnN8fGUudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHQsbil9fX0oalF1ZXJ5KSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCl7aWYoIShlLm9yaWdpbmFsRXZlbnQudG91Y2hlcy5sZW5ndGg+MSkpe2UucHJldmVudERlZmF1bHQoKTt2YXIgbj1lLm9yaWdpbmFsRXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0saT1kb2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtpLmluaXRNb3VzZUV2ZW50KHQsITAsITAsd2luZG93LDEsbi5zY3JlZW5YLG4uc2NyZWVuWSxuLmNsaWVudFgsbi5jbGllbnRZLCExLCExLCExLCExLDAsbnVsbCksZS50YXJnZXQuZGlzcGF0Y2hFdmVudChpKX19aWYoZS5zdXBwb3J0LnRvdWNoPSJvbnRvdWNoZW5kImluIGRvY3VtZW50LGUuc3VwcG9ydC50b3VjaCl7dmFyIG4saT1lLnVpLm1vdXNlLnByb3RvdHlwZSxvPWkuX21vdXNlSW5pdCxyPWkuX21vdXNlRGVzdHJveTtpLl90b3VjaFN0YXJ0PWZ1bmN0aW9uKGUpe3ZhciBpPXRoaXM7IW4mJmkuX21vdXNlQ2FwdHVyZShlLm9yaWdpbmFsRXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0pJiYobj0hMCxpLl90b3VjaE1vdmVkPSExLHQoZSwibW91c2VvdmVyIiksdChlLCJtb3VzZW1vdmUiKSx0KGUsIm1vdXNlZG93biIpKX0saS5fdG91Y2hNb3ZlPWZ1bmN0aW9uKGUpe24mJih0aGlzLl90b3VjaE1vdmVkPSEwLHQoZSwibW91c2Vtb3ZlIikpfSxpLl90b3VjaEVuZD1mdW5jdGlvbihlKXtuJiYodChlLCJtb3VzZXVwIiksdChlLCJtb3VzZW91dCIpLHRoaXMuX3RvdWNoTW92ZWR8fHQoZSwiY2xpY2siKSxuPSExKX0saS5fbW91c2VJbml0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0LmVsZW1lbnQuYmluZCh7dG91Y2hzdGFydDplLnByb3h5KHQsIl90b3VjaFN0YXJ0IiksdG91Y2htb3ZlOmUucHJveHkodCwiX3RvdWNoTW92ZSIpLHRvdWNoZW5kOmUucHJveHkodCwiX3RvdWNoRW5kIil9KSxvLmNhbGwodCl9LGkuX21vdXNlRGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dC5lbGVtZW50LnVuYmluZCh7dG91Y2hzdGFydDplLnByb3h5KHQsIl90b3VjaFN0YXJ0IiksdG91Y2htb3ZlOmUucHJveHkodCwiX3RvdWNoTW92ZSIpLHRvdWNoZW5kOmUucHJveHkodCwiX3RvdWNoRW5kIil9KSxyLmNhbGwodCl9fX0oalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/AGPL-3.0.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgQUZGRVJPIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDMsIDE5IE5vdmVtYmVyIDIwMDcKCiBDb3B5cmlnaHQgKEMpIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIDxodHRwOi8vZnNmLm9yZy8+CiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWFtYmxlCgogIFRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MsIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byBlbnN1cmUKY29vcGVyYXRpb24gd2l0aCB0aGUgY29tbXVuaXR5IGluIHRoZSBjYXNlIG9mIG5ldHdvcmsgc2VydmVyIHNvZnR3YXJlLgoKICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYW5kIG90aGVyIHByYWN0aWNhbCB3b3JrcyBhcmUgZGVzaWduZWQKdG8gdGFrZSBhd2F5IHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIHRoZSB3b3Jrcy4gIEJ5IGNvbnRyYXN0LApvdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8Kc2hhcmUgYW5kIGNoYW5nZSBhbGwgdmVyc2lvbnMgb2YgYSBwcm9ncmFtLS10byBtYWtlIHN1cmUgaXQgcmVtYWlucyBmcmVlCnNvZnR3YXJlIGZvciBhbGwgaXRzIHVzZXJzLgoKICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CnByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UKaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgp0aGVtIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdQp3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0IGluIG5ldwpmcmVlIHByb2dyYW1zLCBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRoZXNlIHRoaW5ncy4KCiAgRGV2ZWxvcGVycyB0aGF0IHVzZSBvdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgcHJvdGVjdCB5b3VyIHJpZ2h0cwp3aXRoIHR3byBzdGVwczogKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyCnlvdSB0aGlzIExpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZQphbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4KCiAgQSBzZWNvbmRhcnkgYmVuZWZpdCBvZiBkZWZlbmRpbmcgYWxsIHVzZXJzJyBmcmVlZG9tIGlzIHRoYXQKaW1wcm92ZW1lbnRzIG1hZGUgaW4gYWx0ZXJuYXRlIHZlcnNpb25zIG9mIHRoZSBwcm9ncmFtLCBpZiB0aGV5CnJlY2VpdmUgd2lkZXNwcmVhZCB1c2UsIGJlY29tZSBhdmFpbGFibGUgZm9yIG90aGVyIGRldmVsb3BlcnMgdG8KaW5jb3Jwb3JhdGUuICBNYW55IGRldmVsb3BlcnMgb2YgZnJlZSBzb2Z0d2FyZSBhcmUgaGVhcnRlbmVkIGFuZAplbmNvdXJhZ2VkIGJ5IHRoZSByZXN1bHRpbmcgY29vcGVyYXRpb24uICBIb3dldmVyLCBpbiB0aGUgY2FzZSBvZgpzb2Z0d2FyZSB1c2VkIG9uIG5ldHdvcmsgc2VydmVycywgdGhpcyByZXN1bHQgbWF5IGZhaWwgdG8gY29tZSBhYm91dC4KVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHBlcm1pdHMgbWFraW5nIGEgbW9kaWZpZWQgdmVyc2lvbiBhbmQKbGV0dGluZyB0aGUgcHVibGljIGFjY2VzcyBpdCBvbiBhIHNlcnZlciB3aXRob3V0IGV2ZXIgcmVsZWFzaW5nIGl0cwpzb3VyY2UgY29kZSB0byB0aGUgcHVibGljLgoKICBUaGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGRlc2lnbmVkIHNwZWNpZmljYWxseSB0bwplbnN1cmUgdGhhdCwgaW4gc3VjaCBjYXNlcywgdGhlIG1vZGlmaWVkIHNvdXJjZSBjb2RlIGJlY29tZXMgYXZhaWxhYmxlCnRvIHRoZSBjb21tdW5pdHkuICBJdCByZXF1aXJlcyB0aGUgb3BlcmF0b3Igb2YgYSBuZXR3b3JrIHNlcnZlciB0bwpwcm92aWRlIHRoZSBzb3VyY2UgY29kZSBvZiB0aGUgbW9kaWZpZWQgdmVyc2lvbiBydW5uaW5nIHRoZXJlIHRvIHRoZQp1c2VycyBvZiB0aGF0IHNlcnZlci4gIFRoZXJlZm9yZSwgcHVibGljIHVzZSBvZiBhIG1vZGlmaWVkIHZlcnNpb24sIG9uCmEgcHVibGljbHkgYWNjZXNzaWJsZSBzZXJ2ZXIsIGdpdmVzIHRoZSBwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UKY29kZSBvZiB0aGUgbW9kaWZpZWQgdmVyc2lvbi4KCiAgQW4gb2xkZXIgbGljZW5zZSwgY2FsbGVkIHRoZSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbmQKcHVibGlzaGVkIGJ5IEFmZmVybywgd2FzIGRlc2lnbmVkIHRvIGFjY29tcGxpc2ggc2ltaWxhciBnb2Fscy4gIFRoaXMgaXMKYSBkaWZmZXJlbnQgbGljZW5zZSwgbm90IGEgdmVyc2lvbiBvZiB0aGUgQWZmZXJvIEdQTCwgYnV0IEFmZmVybyBoYXMKcmVsZWFzZWQgYSBuZXcgdmVyc2lvbiBvZiB0aGUgQWZmZXJvIEdQTCB3aGljaCBwZXJtaXRzIHJlbGljZW5zaW5nIHVuZGVyCnRoaXMgbGljZW5zZS4KCiAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKbW9kaWZpY2F0aW9uIGZvbGxvdy4KCiAgICAgICAgICAgICAgICAgICAgICAgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgMC4gRGVmaW5pdGlvbnMuCgogICJUaGlzIExpY2Vuc2UiIHJlZmVycyB0byB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBSZW1vdGUgTmV0d29yayBJbnRlcmFjdGlvbjsgVXNlIHdpdGggdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIGlmIHlvdSBtb2RpZnkgdGhlClByb2dyYW0sIHlvdXIgbW9kaWZpZWQgdmVyc2lvbiBtdXN0IHByb21pbmVudGx5IG9mZmVyIGFsbCB1c2VycwppbnRlcmFjdGluZyB3aXRoIGl0IHJlbW90ZWx5IHRocm91Z2ggYSBjb21wdXRlciBuZXR3b3JrIChpZiB5b3VyIHZlcnNpb24Kc3VwcG9ydHMgc3VjaCBpbnRlcmFjdGlvbikgYW4gb3Bwb3J0dW5pdHkgdG8gcmVjZWl2ZSB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2Ugb2YgeW91ciB2ZXJzaW9uIGJ5IHByb3ZpZGluZyBhY2Nlc3MgdG8gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlCmZyb20gYSBuZXR3b3JrIHNlcnZlciBhdCBubyBjaGFyZ2UsIHRocm91Z2ggc29tZSBzdGFuZGFyZCBvciBjdXN0b21hcnkKbWVhbnMgb2YgZmFjaWxpdGF0aW5nIGNvcHlpbmcgb2Ygc29mdHdhcmUuICBUaGlzIENvcnJlc3BvbmRpbmcgU291cmNlCnNoYWxsIGluY2x1ZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhbnkgd29yayBjb3ZlcmVkIGJ5IHZlcnNpb24gMwpvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdGhhdCBpcyBpbmNvcnBvcmF0ZWQgcHVyc3VhbnQgdG8gdGhlCmZvbGxvd2luZyBwYXJhZ3JhcGguCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgeW91IGhhdmUKcGVybWlzc2lvbiB0byBsaW5rIG9yIGNvbWJpbmUgYW55IGNvdmVyZWQgd29yayB3aXRoIGEgd29yayBsaWNlbnNlZAp1bmRlciB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGludG8gYSBzaW5nbGUKY29tYmluZWQgd29yaywgYW5kIHRvIGNvbnZleSB0aGUgcmVzdWx0aW5nIHdvcmsuICBUaGUgdGVybXMgb2YgdGhpcwpMaWNlbnNlIHdpbGwgY29udGludWUgdG8gYXBwbHkgdG8gdGhlIHBhcnQgd2hpY2ggaXMgdGhlIGNvdmVyZWQgd29yaywKYnV0IHRoZSB3b3JrIHdpdGggd2hpY2ggaXQgaXMgY29tYmluZWQgd2lsbCByZW1haW4gZ292ZXJuZWQgYnkgdmVyc2lvbgozIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMKd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8KYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCgogIEVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlClByb2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBjZXJ0YWluIG51bWJlcmVkIHZlcnNpb24gb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbApQdWJsaWMgTGljZW5zZSAib3IgYW55IGxhdGVyIHZlcnNpb24iIGFwcGxpZXMgdG8gaXQsIHlvdSBoYXZlIHRoZQpvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBudW1iZXJlZAp2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mIHRoZQpHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94eSdzCnB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNjZXB0YW5jZSBvZiBhIHZlcnNpb24gcGVybWFuZW50bHkgYXV0aG9yaXplcyB5b3UKdG8gY2hvb3NlIHRoYXQgdmVyc2lvbiBmb3IgdGhlIFByb2dyYW0uCgogIExhdGVyIGxpY2Vuc2UgdmVyc2lvbnMgbWF5IGdpdmUgeW91IGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50CnBlcm1pc3Npb25zLiAgSG93ZXZlciwgbm8gYWRkaXRpb25hbCBvYmxpZ2F0aW9ucyBhcmUgaW1wb3NlZCBvbiBhbnkKYXV0aG9yIG9yIGNvcHlyaWdodCBob2xkZXIgYXMgYSByZXN1bHQgb2YgeW91ciBjaG9vc2luZyB0byBmb2xsb3cgYQpsYXRlciB2ZXJzaW9uLgoKICAxNS4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4KCiAgVEhFUkUgSVMgTk8gV0FSUkFOVFkgRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWQpBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUCkhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMgUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkKT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sClRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUyBUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0KSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFIFBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GCkFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KCiAgMTYuIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LgoKICBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNT0RJRklFUyBBTkQvT1IgQ09OVkVZUwpUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkKR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFClVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIExPU1MgT0YKREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQKUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUiBQUk9HUkFNUyksCkVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKU1VDSCBEQU1BR0VTLgoKICAxNy4gSW50ZXJwcmV0YXRpb24gb2YgU2VjdGlvbnMgMTUgYW5kIDE2LgoKICBJZiB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50eSBhbmQgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgcHJvdmlkZWQKYWJvdmUgY2Fubm90IGJlIGdpdmVuIGxvY2FsIGxlZ2FsIGVmZmVjdCBhY2NvcmRpbmcgdG8gdGhlaXIgdGVybXMsCnJldmlld2luZyBjb3VydHMgc2hhbGwgYXBwbHkgbG9jYWwgbGF3IHRoYXQgbW9zdCBjbG9zZWx5IGFwcHJveGltYXRlcwphbiBhYnNvbHV0ZSB3YWl2ZXIgb2YgYWxsIGNpdmlsIGxpYWJpbGl0eSBpbiBjb25uZWN0aW9uIHdpdGggdGhlClByb2dyYW0sIHVubGVzcyBhIHdhcnJhbnR5IG9yIGFzc3VtcHRpb24gb2YgbGlhYmlsaXR5IGFjY29tcGFuaWVzIGEKY29weSBvZiB0aGUgUHJvZ3JhbSBpbiByZXR1cm4gZm9yIGEgZmVlLgoKICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCgogICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKCiAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdApwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CmZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgoKICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAp0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CnN0YXRlIHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QKdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCgogICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+CgogICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogICAgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KCkFsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLgoKICBJZiB5b3VyIHNvZnR3YXJlIGNhbiBpbnRlcmFjdCB3aXRoIHVzZXJzIHJlbW90ZWx5IHRocm91Z2ggYSBjb21wdXRlcgpuZXR3b3JrLCB5b3Ugc2hvdWxkIGFsc28gbWFrZSBzdXJlIHRoYXQgaXQgcHJvdmlkZXMgYSB3YXkgZm9yIHVzZXJzIHRvCmdldCBpdHMgc291cmNlLiAgRm9yIGV4YW1wbGUsIGlmIHlvdXIgcHJvZ3JhbSBpcyBhIHdlYiBhcHBsaWNhdGlvbiwgaXRzCmludGVyZmFjZSBjb3VsZCBkaXNwbGF5IGEgIlNvdXJjZSIgbGluayB0aGF0IGxlYWRzIHVzZXJzIHRvIGFuIGFyY2hpdmUKb2YgdGhlIGNvZGUuICBUaGVyZSBhcmUgbWFueSB3YXlzIHlvdSBjb3VsZCBvZmZlciBzb3VyY2UsIGFuZCBkaWZmZXJlbnQKc29sdXRpb25zIHdpbGwgYmUgYmV0dGVyIGZvciBkaWZmZXJlbnQgcHJvZ3JhbXM7IHNlZSBzZWN0aW9uIDEzIGZvciB0aGUKc3BlY2lmaWMgcmVxdWlyZW1lbnRzLgoKICBZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3Igc2Nob29sLAppZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYgbmVjZXNzYXJ5LgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzLCBhbmQgaG93IHRvIGFwcGx5IGFuZCBmb2xsb3cgdGhlIEdOVSBBR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/compatibility.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogdmltOiBzZXQgc2hpZnR3aWR0aD0yIHRhYnN0b3A9MiBhdXRvaW5kZW50IGNpbmRlbnQgZXhwYW5kdGFiOiAqLwovKiBDb3B5cmlnaHQgMjAxMiBNb3ppbGxhIEZvdW5kYXRpb24KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICovCi8qIGdsb2JhbHMgVkJBcnJheSwgUERGSlMgKi8KCid1c2Ugc3RyaWN0JzsKCi8vIEluaXRpYWxpemluZyBQREZKUyBnbG9iYWwgb2JqZWN0IGhlcmUsIGl0IGNhc2UgaWYgd2UgbmVlZCB0byBjaGFuZ2UvZGlzYWJsZQovLyBzb21lIFBERi5qcyBmZWF0dXJlcywgZS5nLiByYW5nZSByZXF1ZXN0cwppZiAodHlwZW9mIFBERkpTID09PSAndW5kZWZpbmVkJykgewogICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHRoaXMpLlBERkpTID0ge307Cn0KCi8vIENoZWNraW5nIGlmIHRoZSB0eXBlZCBhcnJheXMgYXJlIHN1cHBvcnRlZAovLyBTdXBwb3J0OiBpT1M8Ni4wIChzdWJhcnJheSksIElFPDEwLCBBbmRyb2lkPDQuMAooZnVuY3Rpb24gY2hlY2tUeXBlZEFycmF5Q29tcGF0aWJpbGl0eSgpIHsKICBpZiAodHlwZW9mIFVpbnQ4QXJyYXkgIT09ICd1bmRlZmluZWQnKSB7CiAgICAvLyBTdXBwb3J0OiBpT1M8Ni4wCiAgICBpZiAodHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLnN1YmFycmF5ID09PSAndW5kZWZpbmVkJykgewogICAgICAgIFVpbnQ4QXJyYXkucHJvdG90eXBlLnN1YmFycmF5ID0gZnVuY3Rpb24gc3ViYXJyYXkoc3RhcnQsIGVuZCkgewogICAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHRoaXMuc2xpY2Uoc3RhcnQsIGVuZCkpOwogICAgICAgIH07CiAgICAgICAgRmxvYXQzMkFycmF5LnByb3RvdHlwZS5zdWJhcnJheSA9IGZ1bmN0aW9uIHN1YmFycmF5KHN0YXJ0LCBlbmQpIHsKICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQzMkFycmF5KHRoaXMuc2xpY2Uoc3RhcnQsIGVuZCkpOwogICAgICAgIH07CiAgICB9CgogICAgLy8gU3VwcG9ydDogQW5kcm9pZDw0LjEKICAgIGlmICh0eXBlb2YgRmxvYXQ2NEFycmF5ID09PSAndW5kZWZpbmVkJykgewogICAgICB3aW5kb3cuRmxvYXQ2NEFycmF5ID0gRmxvYXQzMkFycmF5OwogICAgfQogICAgcmV0dXJuOwogIH0KCiAgZnVuY3Rpb24gc3ViYXJyYXkoc3RhcnQsIGVuZCkgewogICAgcmV0dXJuIG5ldyBUeXBlZEFycmF5KHRoaXMuc2xpY2Uoc3RhcnQsIGVuZCkpOwogIH0KCiAgZnVuY3Rpb24gc2V0QXJyYXlPZmZzZXQoYXJyYXksIG9mZnNldCkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CiAgICAgIG9mZnNldCA9IDA7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMCwgbiA9IGFycmF5Lmxlbmd0aDsgaSA8IG47ICsraSwgKytvZmZzZXQpIHsKICAgICAgdGhpc1tvZmZzZXRdID0gYXJyYXlbaV0gJiAweEZGOwogICAgfQogIH0KCiAgZnVuY3Rpb24gVHlwZWRBcnJheShhcmcxKSB7CiAgICB2YXIgcmVzdWx0LCBpLCBuOwogICAgaWYgKHR5cGVvZiBhcmcxID09PSAnbnVtYmVyJykgewogICAgICByZXN1bHQgPSBbXTsKICAgICAgZm9yIChpID0gMDsgaSA8IGFyZzE7ICsraSkgewogICAgICAgIHJlc3VsdFtpXSA9IDA7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoJ3NsaWNlJyBpbiBhcmcxKSB7CiAgICAgIHJlc3VsdCA9IGFyZzEuc2xpY2UoMCk7CiAgICB9IGVsc2UgewogICAgICByZXN1bHQgPSBbXTsKICAgICAgZm9yIChpID0gMCwgbiA9IGFyZzEubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgcmVzdWx0W2ldID0gYXJnMVtpXTsKICAgICAgfQogICAgfQoKICAgIHJlc3VsdC5zdWJhcnJheSA9IHN1YmFycmF5OwogICAgcmVzdWx0LmJ1ZmZlciA9IHJlc3VsdDsKICAgIHJlc3VsdC5ieXRlTGVuZ3RoID0gcmVzdWx0Lmxlbmd0aDsKICAgIHJlc3VsdC5zZXQgPSBzZXRBcnJheU9mZnNldDsKCiAgICBpZiAodHlwZW9mIGFyZzEgPT09ICdvYmplY3QnICYmIGFyZzEuYnVmZmVyKSB7CiAgICAgIHJlc3VsdC5idWZmZXIgPSBhcmcxLmJ1ZmZlcjsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICB3aW5kb3cuVWludDhBcnJheSA9IFR5cGVkQXJyYXk7CiAgd2luZG93LkludDhBcnJheSA9IFR5cGVkQXJyYXk7CgogIC8vIHdlIGRvbid0IG5lZWQgc3VwcG9ydCBmb3Igc2V0LCBieXRlTGVuZ3RoIGZvciAzMi1iaXQgYXJyYXkKICAvLyBzbyB3ZSBjYW4gdXNlIHRoZSBUeXBlZEFycmF5IGFzIHdlbGwKICB3aW5kb3cuVWludDMyQXJyYXkgPSBUeXBlZEFycmF5OwogIHdpbmRvdy5JbnQzMkFycmF5ID0gVHlwZWRBcnJheTsKICB3aW5kb3cuVWludDE2QXJyYXkgPSBUeXBlZEFycmF5OwogIHdpbmRvdy5GbG9hdDMyQXJyYXkgPSBUeXBlZEFycmF5OwogIHdpbmRvdy5GbG9hdDY0QXJyYXkgPSBUeXBlZEFycmF5Owp9KSgpOwoKLy8gVVJMID0gVVJMIHx8IHdlYmtpdFVSTAovLyBTdXBwb3J0OiBTYWZhcmk8NywgQW5kcm9pZCA0LjIrCihmdW5jdGlvbiBub3JtYWxpemVVUkxPYmplY3QoKSB7CiAgaWYgKCF3aW5kb3cuVVJMKSB7CiAgICB3aW5kb3cuVVJMID0gd2luZG93LndlYmtpdFVSTDsKICB9Cn0pKCk7CgovLyBPYmplY3QuZGVmaW5lUHJvcGVydHkoKT8KLy8gU3VwcG9ydDogQW5kcm9pZDw0LjAsIFNhZmFyaTw1LjEKKGZ1bmN0aW9uIGNoZWNrT2JqZWN0RGVmaW5lUHJvcGVydHlDb21wYXRpYmlsaXR5KCkgewogIGlmICh0eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnR5ICE9PSAndW5kZWZpbmVkJykgewogICAgdmFyIGRlZmluZVByb3BlcnR5UG9zc2libGUgPSB0cnVlOwogICAgdHJ5IHsKICAgICAgLy8gc29tZSBicm93c2VycyAoZS5nLiBzYWZhcmkpIGNhbm5vdCB1c2UgZGVmaW5lUHJvcGVydHkoKSBvbiBET00gb2JqZWN0cwogICAgICAvLyBhbmQgdGh1cyB0aGUgbmF0aXZlIHZlcnNpb24gaXMgbm90IHN1ZmZpY2llbnQKICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBJbWFnZSgpLCAnaWQnLCB7IHZhbHVlOiAndGVzdCcgfSk7CiAgICAgIC8vIC4uLiBhbm90aGVyIHRlc3QgZm9yIGFuZHJvaWQgZ2IgYnJvd3NlciBmb3Igbm9uLURPTSBvYmplY3RzCiAgICAgIHZhciBUZXN0ID0gZnVuY3Rpb24gVGVzdCgpIHt9OwogICAgICBUZXN0LnByb3RvdHlwZSA9IHsgZ2V0IGlkKCkgeyB9IH07CiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgVGVzdCgpLCAnaWQnLAogICAgICAgIHsgdmFsdWU6ICcnLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiBmYWxzZSB9KTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgZGVmaW5lUHJvcGVydHlQb3NzaWJsZSA9IGZhbHNlOwogICAgfQogICAgaWYgKGRlZmluZVByb3BlcnR5UG9zc2libGUpIHsKICAgICAgcmV0dXJuOwogICAgfQogIH0KCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5ID0gZnVuY3Rpb24gb2JqZWN0RGVmaW5lUHJvcGVydHkob2JqLCBuYW1lLCBkZWYpIHsKICAgIGRlbGV0ZSBvYmpbbmFtZV07CiAgICBpZiAoJ2dldCcgaW4gZGVmKSB7CiAgICAgIG9iai5fX2RlZmluZUdldHRlcl9fKG5hbWUsIGRlZlsnZ2V0J10pOwogICAgfQogICAgaWYgKCdzZXQnIGluIGRlZikgewogICAgICBvYmouX19kZWZpbmVTZXR0ZXJfXyhuYW1lLCBkZWZbJ3NldCddKTsKICAgIH0KICAgIGlmICgndmFsdWUnIGluIGRlZikgewogICAgICBvYmouX19kZWZpbmVTZXR0ZXJfXyhuYW1lLCBmdW5jdGlvbiBvYmplY3REZWZpbmVQcm9wZXJ0eVNldHRlcih2YWx1ZSkgewogICAgICAgIHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhuYW1lLCBmdW5jdGlvbiBvYmplY3REZWZpbmVQcm9wZXJ0eUdldHRlcigpIHsKICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0pOwogICAgICBvYmpbbmFtZV0gPSBkZWYudmFsdWU7CiAgICB9CiAgfTsKfSkoKTsKCgovLyBObyBYTUxIdHRwUmVxdWVzdCNyZXNwb25zZT8KLy8gU3VwcG9ydDogSUU8MTEsIEFuZHJvaWQgPDQuMAooZnVuY3Rpb24gY2hlY2tYTUxIdHRwUmVxdWVzdFJlc3BvbnNlQ29tcGF0aWJpbGl0eSgpIHsKICB2YXIgeGhyUHJvdG90eXBlID0gWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlOwogIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICBpZiAoISgnb3ZlcnJpZGVNaW1lVHlwZScgaW4geGhyKSkgewogICAgLy8gSUUxMCBtaWdodCBoYXZlIHJlc3BvbnNlLCBidXQgbm90IG92ZXJyaWRlTWltZVR5cGUKICAgIC8vIFN1cHBvcnQ6IElFMTAKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4aHJQcm90b3R5cGUsICdvdmVycmlkZU1pbWVUeXBlJywgewogICAgICB2YWx1ZTogZnVuY3Rpb24geG1sSHR0cFJlcXVlc3RPdmVycmlkZU1pbWVUeXBlKG1pbWVUeXBlKSB7fQogICAgfSk7CiAgfQogIGlmICgncmVzcG9uc2VUeXBlJyBpbiB4aHIpIHsKICAgIHJldHVybjsKICB9CgogIC8vIFRoZSB3b3JrZXIgd2lsbCBiZSB1c2luZyBYSFIsIHNvIHdlIGNhbiBzYXZlIHRpbWUgYW5kIGRpc2FibGUgd29ya2VyLgogIFBERkpTLmRpc2FibGVXb3JrZXIgPSB0cnVlOwoKICBPYmplY3QuZGVmaW5lUHJvcGVydHkoeGhyUHJvdG90eXBlLCAncmVzcG9uc2VUeXBlJywgewogICAgZ2V0OiBmdW5jdGlvbiB4bWxIdHRwUmVxdWVzdEdldFJlc3BvbnNlVHlwZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuX3Jlc3BvbnNlVHlwZSB8fCAndGV4dCc7CiAgICB9LAogICAgc2V0OiBmdW5jdGlvbiB4bWxIdHRwUmVxdWVzdFNldFJlc3BvbnNlVHlwZSh2YWx1ZSkgewogICAgICBpZiAodmFsdWUgPT09ICd0ZXh0JyB8fCB2YWx1ZSA9PT0gJ2FycmF5YnVmZmVyJykgewogICAgICAgIHRoaXMuX3Jlc3BvbnNlVHlwZSA9IHZhbHVlOwogICAgICAgIGlmICh2YWx1ZSA9PT0gJ2FycmF5YnVmZmVyJyAmJgogICAgICAgICAgICB0eXBlb2YgdGhpcy5vdmVycmlkZU1pbWVUeXBlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICB0aGlzLm92ZXJyaWRlTWltZVR5cGUoJ3RleHQvcGxhaW47IGNoYXJzZXQ9eC11c2VyLWRlZmluZWQnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9KTsKCiAgLy8gU3VwcG9ydDogSUU5CiAgaWYgKHR5cGVvZiBWQkFycmF5ICE9PSAndW5kZWZpbmVkJykgewogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHhoclByb3RvdHlwZSwgJ3Jlc3BvbnNlJywgewogICAgICBnZXQ6IGZ1bmN0aW9uIHhtbEh0dHBSZXF1ZXN0UmVzcG9uc2VHZXQoKSB7CiAgICAgICAgaWYgKHRoaXMucmVzcG9uc2VUeXBlID09PSAnYXJyYXlidWZmZXInKSB7CiAgICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkobmV3IFZCQXJyYXkodGhpcy5yZXNwb25zZUJvZHkpLnRvQXJyYXkoKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlVGV4dDsKICAgICAgICB9CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuOwogIH0KCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHhoclByb3RvdHlwZSwgJ3Jlc3BvbnNlJywgewogICAgZ2V0OiBmdW5jdGlvbiB4bWxIdHRwUmVxdWVzdFJlc3BvbnNlR2V0KCkgewogICAgICBpZiAodGhpcy5yZXNwb25zZVR5cGUgIT09ICdhcnJheWJ1ZmZlcicpIHsKICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zZVRleHQ7CiAgICAgIH0KICAgICAgdmFyIHRleHQgPSB0aGlzLnJlc3BvbnNlVGV4dDsKICAgICAgdmFyIGksIG4gPSB0ZXh0Lmxlbmd0aDsKICAgICAgdmFyIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KG4pOwogICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgcmVzdWx0W2ldID0gdGV4dC5jaGFyQ29kZUF0KGkpICYgMHhGRjsKICAgICAgfQogICAgICByZXR1cm4gcmVzdWx0LmJ1ZmZlcjsKICAgIH0KICB9KTsKfSkoKTsKCi8vIHdpbmRvdy5idG9hIChiYXNlNjQgZW5jb2RlIGZ1bmN0aW9uKSA/Ci8vIFN1cHBvcnQ6IElFPDEwCihmdW5jdGlvbiBjaGVja1dpbmRvd0J0b2FDb21wYXRpYmlsaXR5KCkgewogIGlmICgnYnRvYScgaW4gd2luZG93KSB7CiAgICByZXR1cm47CiAgfQoKICB2YXIgZGlnaXRzID0KICAgICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSc7CgogIHdpbmRvdy5idG9hID0gZnVuY3Rpb24gd2luZG93QnRvYShjaGFycykgewogICAgdmFyIGJ1ZmZlciA9ICcnOwogICAgdmFyIGksIG47CiAgICBmb3IgKGkgPSAwLCBuID0gY2hhcnMubGVuZ3RoOyBpIDwgbjsgaSArPSAzKSB7CiAgICAgIHZhciBiMSA9IGNoYXJzLmNoYXJDb2RlQXQoaSkgJiAweEZGOwogICAgICB2YXIgYjIgPSBjaGFycy5jaGFyQ29kZUF0KGkgKyAxKSAmIDB4RkY7CiAgICAgIHZhciBiMyA9IGNoYXJzLmNoYXJDb2RlQXQoaSArIDIpICYgMHhGRjsKICAgICAgdmFyIGQxID0gYjEgPj4gMiwgZDIgPSAoKGIxICYgMykgPDwgNCkgfCAoYjIgPj4gNCk7CiAgICAgIHZhciBkMyA9IGkgKyAxIDwgbiA/ICgoYjIgJiAweEYpIDw8IDIpIHwgKGIzID4+IDYpIDogNjQ7CiAgICAgIHZhciBkNCA9IGkgKyAyIDwgbiA/IChiMyAmIDB4M0YpIDogNjQ7CiAgICAgIGJ1ZmZlciArPSAoZGlnaXRzLmNoYXJBdChkMSkgKyBkaWdpdHMuY2hhckF0KGQyKSArCiAgICAgICAgICAgICAgICAgZGlnaXRzLmNoYXJBdChkMykgKyBkaWdpdHMuY2hhckF0KGQ0KSk7CiAgICB9CiAgICByZXR1cm4gYnVmZmVyOwogIH07Cn0pKCk7CgovLyB3aW5kb3cuYXRvYiAoYmFzZTY0IGVuY29kZSBmdW5jdGlvbik/Ci8vIFN1cHBvcnQ6IElFPDEwCihmdW5jdGlvbiBjaGVja1dpbmRvd0F0b2JDb21wYXRpYmlsaXR5KCkgewogIGlmICgnYXRvYicgaW4gd2luZG93KSB7CiAgICByZXR1cm47CiAgfQoKICAvLyBodHRwczovL2dpdGh1Yi5jb20vZGF2aWRjaGFtYmVycy9CYXNlNjQuanMKICB2YXIgZGlnaXRzID0KICAgICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSc7CiAgd2luZG93LmF0b2IgPSBmdW5jdGlvbiAoaW5wdXQpIHsKICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZSgvPSskLywgJycpOwogICAgaWYgKGlucHV0Lmxlbmd0aCAlIDQgPT09IDEpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgYXRvYiBpbnB1dCcpOwogICAgfQogICAgZm9yICgKICAgICAgLy8gaW5pdGlhbGl6ZSByZXN1bHQgYW5kIGNvdW50ZXJzCiAgICAgIHZhciBiYyA9IDAsIGJzLCBidWZmZXIsIGlkeCA9IDAsIG91dHB1dCA9ICcnOwogICAgICAvLyBnZXQgbmV4dCBjaGFyYWN0ZXIKICAgICAgYnVmZmVyID0gaW5wdXQuY2hhckF0KGlkeCsrKTsKICAgICAgLy8gY2hhcmFjdGVyIGZvdW5kIGluIHRhYmxlPwogICAgICAvLyBpbml0aWFsaXplIGJpdCBzdG9yYWdlIGFuZCBhZGQgaXRzIGFzY2lpIHZhbHVlCiAgICAgIH5idWZmZXIgJiYgKGJzID0gYmMgJSA0ID8gYnMgKiA2NCArIGJ1ZmZlciA6IGJ1ZmZlciwKICAgICAgICAvLyBhbmQgaWYgbm90IGZpcnN0IG9mIGVhY2ggNCBjaGFyYWN0ZXJzLAogICAgICAgIC8vIGNvbnZlcnQgdGhlIGZpcnN0IDggYml0cyB0byBvbmUgYXNjaWkgY2hhcmFjdGVyCiAgICAgICAgYmMrKyAlIDQpID8gb3V0cHV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoMjU1ICYgYnMgPj4gKC0yICogYmMgJiA2KSkgOiAwCiAgICApIHsKICAgICAgLy8gdHJ5IHRvIGZpbmQgY2hhcmFjdGVyIGluIHRhYmxlICgwLTYzLCBub3QgZm91bmQgPT4gLTEpCiAgICAgIGJ1ZmZlciA9IGRpZ2l0cy5pbmRleE9mKGJ1ZmZlcik7CiAgICB9CiAgICByZXR1cm4gb3V0cHV0OwogIH07Cn0pKCk7CgovLyBGdW5jdGlvbi5wcm90b3R5cGUuYmluZD8KLy8gU3VwcG9ydDogQW5kcm9pZDw0LjAsIGlPUzw2LjAKKGZ1bmN0aW9uIGNoZWNrRnVuY3Rpb25Qcm90b3R5cGVCaW5kQ29tcGF0aWJpbGl0eSgpIHsKICBpZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kICE9PSAndW5kZWZpbmVkJykgewogICAgcmV0dXJuOwogIH0KCiAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiBmdW5jdGlvblByb3RvdHlwZUJpbmQob2JqKSB7CiAgICB2YXIgZm4gPSB0aGlzLCBoZWFkQXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7CiAgICB2YXIgYm91bmQgPSBmdW5jdGlvbiBmdW5jdGlvblByb3RvdHlwZUJpbmRCb3VuZCgpIHsKICAgICAgdmFyIGFyZ3MgPSBoZWFkQXJncy5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7CiAgICAgIHJldHVybiBmbi5hcHBseShvYmosIGFyZ3MpOwogICAgfTsKICAgIHJldHVybiBib3VuZDsKICB9Owp9KSgpOwoKLy8gSFRNTEVsZW1lbnQgZGF0YXNldCBwcm9wZXJ0eQovLyBTdXBwb3J0OiBJRTwxMSwgU2FmYXJpPDUuMSwgQW5kcm9pZDw0LjAKKGZ1bmN0aW9uIGNoZWNrRGF0YXNldFByb3BlcnR5KCkgewogIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICBpZiAoJ2RhdGFzZXQnIGluIGRpdikgewogICAgcmV0dXJuOyAvLyBkYXRhc2V0IHByb3BlcnR5IGV4aXN0cwogIH0KCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEhUTUxFbGVtZW50LnByb3RvdHlwZSwgJ2RhdGFzZXQnLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy5fZGF0YXNldCkgewogICAgICAgIHJldHVybiB0aGlzLl9kYXRhc2V0OwogICAgICB9CgogICAgICB2YXIgZGF0YXNldCA9IHt9OwogICAgICBmb3IgKHZhciBqID0gMCwgamogPSB0aGlzLmF0dHJpYnV0ZXMubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciBhdHRyaWJ1dGUgPSB0aGlzLmF0dHJpYnV0ZXNbal07CiAgICAgICAgaWYgKGF0dHJpYnV0ZS5uYW1lLnN1YnN0cmluZygwLCA1KSAhPT0gJ2RhdGEtJykgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHZhciBrZXkgPSBhdHRyaWJ1dGUubmFtZS5zdWJzdHJpbmcoNSkucmVwbGFjZSgvXC0oW2Etel0pL2csCiAgICAgICAgICBmdW5jdGlvbihhbGwsIGNoKSB7CiAgICAgICAgICAgIHJldHVybiBjaC50b1VwcGVyQ2FzZSgpOwogICAgICAgICAgfSk7CiAgICAgICAgZGF0YXNldFtrZXldID0gYXR0cmlidXRlLnZhbHVlOwogICAgICB9CgogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ19kYXRhc2V0JywgewogICAgICAgIHZhbHVlOiBkYXRhc2V0LAogICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQogICAgICB9KTsKICAgICAgcmV0dXJuIGRhdGFzZXQ7CiAgICB9LAogICAgZW51bWVyYWJsZTogdHJ1ZQogIH0pOwp9KSgpOwoKLy8gSFRNTEVsZW1lbnQgY2xhc3NMaXN0IHByb3BlcnR5Ci8vIFN1cHBvcnQ6IElFPDEwLCBBbmRyb2lkPDQuMCwgaU9TPDUuMAooZnVuY3Rpb24gY2hlY2tDbGFzc0xpc3RQcm9wZXJ0eSgpIHsKICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgaWYgKCdjbGFzc0xpc3QnIGluIGRpdikgewogICAgcmV0dXJuOyAvLyBjbGFzc0xpc3QgcHJvcGVydHkgZXhpc3RzCiAgfQoKICBmdW5jdGlvbiBjaGFuZ2VMaXN0KGVsZW1lbnQsIGl0ZW1OYW1lLCBhZGQsIHJlbW92ZSkgewogICAgdmFyIHMgPSBlbGVtZW50LmNsYXNzTmFtZSB8fCAnJzsKICAgIHZhciBsaXN0ID0gcy5zcGxpdCgvXHMrL2cpOwogICAgaWYgKGxpc3RbMF0gPT09ICcnKSB7CiAgICAgIGxpc3Quc2hpZnQoKTsKICAgIH0KICAgIHZhciBpbmRleCA9IGxpc3QuaW5kZXhPZihpdGVtTmFtZSk7CiAgICBpZiAoaW5kZXggPCAwICYmIGFkZCkgewogICAgICBsaXN0LnB1c2goaXRlbU5hbWUpOwogICAgfQogICAgaWYgKGluZGV4ID49IDAgJiYgcmVtb3ZlKSB7CiAgICAgIGxpc3Quc3BsaWNlKGluZGV4LCAxKTsKICAgIH0KICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gbGlzdC5qb2luKCcgJyk7CiAgICByZXR1cm4gKGluZGV4ID49IDApOwogIH0KCiAgdmFyIGNsYXNzTGlzdFByb3RvdHlwZSA9IHsKICAgIGFkZDogZnVuY3Rpb24obmFtZSkgewogICAgICBjaGFuZ2VMaXN0KHRoaXMuZWxlbWVudCwgbmFtZSwgdHJ1ZSwgZmFsc2UpOwogICAgfSwKICAgIGNvbnRhaW5zOiBmdW5jdGlvbihuYW1lKSB7CiAgICAgIHJldHVybiBjaGFuZ2VMaXN0KHRoaXMuZWxlbWVudCwgbmFtZSwgZmFsc2UsIGZhbHNlKTsKICAgIH0sCiAgICByZW1vdmU6IGZ1bmN0aW9uKG5hbWUpIHsKICAgICAgY2hhbmdlTGlzdCh0aGlzLmVsZW1lbnQsIG5hbWUsIGZhbHNlLCB0cnVlKTsKICAgIH0sCiAgICB0b2dnbGU6IGZ1bmN0aW9uKG5hbWUpIHsKICAgICAgY2hhbmdlTGlzdCh0aGlzLmVsZW1lbnQsIG5hbWUsIHRydWUsIHRydWUpOwogICAgfQogIH07CgogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShIVE1MRWxlbWVudC5wcm90b3R5cGUsICdjbGFzc0xpc3QnLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy5fY2xhc3NMaXN0KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2NsYXNzTGlzdDsKICAgICAgfQoKICAgICAgdmFyIGNsYXNzTGlzdCA9IE9iamVjdC5jcmVhdGUoY2xhc3NMaXN0UHJvdG90eXBlLCB7CiAgICAgICAgZWxlbWVudDogewogICAgICAgICAgdmFsdWU6IHRoaXMsCiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsCiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlCiAgICAgICAgfQogICAgICB9KTsKICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdfY2xhc3NMaXN0JywgewogICAgICAgIHZhbHVlOiBjbGFzc0xpc3QsCiAgICAgICAgd3JpdGFibGU6IGZhbHNlLAogICAgICAgIGVudW1lcmFibGU6IGZhbHNlCiAgICAgIH0pOwogICAgICByZXR1cm4gY2xhc3NMaXN0OwogICAgfSwKICAgIGVudW1lcmFibGU6IHRydWUKICB9KTsKfSkoKTsKCi8vIENoZWNrIGNvbnNvbGUgY29tcGF0aWJpbGl0eQovLyBJbiBvbGRlciBJRSB2ZXJzaW9ucyB0aGUgY29uc29sZSBvYmplY3QgaXMgbm90IGF2YWlsYWJsZQovLyB1bmxlc3MgY29uc29sZSBpcyBvcGVuLgovLyBTdXBwb3J0OiBJRTwxMAooZnVuY3Rpb24gY2hlY2tDb25zb2xlQ29tcGF0aWJpbGl0eSgpIHsKICBpZiAoISgnY29uc29sZScgaW4gd2luZG93KSkgewogICAgd2luZG93LmNvbnNvbGUgPSB7CiAgICAgIGxvZzogZnVuY3Rpb24oKSB7fSwKICAgICAgZXJyb3I6IGZ1bmN0aW9uKCkge30sCiAgICAgIHdhcm46IGZ1bmN0aW9uKCkge30KICAgIH07CiAgfSBlbHNlIGlmICghKCdiaW5kJyBpbiBjb25zb2xlLmxvZykpIHsKICAgIC8vIG5hdGl2ZSBmdW5jdGlvbnMgaW4gSUU5IG1pZ2h0IG5vdCBoYXZlIGJpbmQKICAgIGNvbnNvbGUubG9nID0gKGZ1bmN0aW9uKGZuKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbihtc2cpIHsgcmV0dXJuIGZuKG1zZyk7IH07CiAgICB9KShjb25zb2xlLmxvZyk7CiAgICBjb25zb2xlLmVycm9yID0gKGZ1bmN0aW9uKGZuKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbihtc2cpIHsgcmV0dXJuIGZuKG1zZyk7IH07CiAgICB9KShjb25zb2xlLmVycm9yKTsKICAgIGNvbnNvbGUud2FybiA9IChmdW5jdGlvbihmbikgewogICAgICByZXR1cm4gZnVuY3Rpb24obXNnKSB7IHJldHVybiBmbihtc2cpOyB9OwogICAgfSkoY29uc29sZS53YXJuKTsKICB9Cn0pKCk7CgovLyBDaGVjayBvbmNsaWNrIGNvbXBhdGliaWxpdHkgaW4gT3BlcmEKLy8gU3VwcG9ydDogT3BlcmE8MTUKKGZ1bmN0aW9uIGNoZWNrT25DbGlja0NvbXBhdGliaWxpdHkoKSB7CiAgLy8gd29ya2Fyb3VuZCBmb3IgcmVwb3J0ZWQgT3BlcmEgYnVnIERTSy0zNTQ0NDg6CiAgLy8gb25jbGljayBmaXJlcyBvbiBkaXNhYmxlZCBidXR0b25zIHdpdGggb3BhcXVlIGNvbnRlbnQKICBmdW5jdGlvbiBpZ25vcmVJZlRhcmdldERpc2FibGVkKGV2ZW50KSB7CiAgICBpZiAoaXNEaXNhYmxlZChldmVudC50YXJnZXQpKSB7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgfQogIH0KICBmdW5jdGlvbiBpc0Rpc2FibGVkKG5vZGUpIHsKICAgIHJldHVybiBub2RlLmRpc2FibGVkIHx8IChub2RlLnBhcmVudE5vZGUgJiYgaXNEaXNhYmxlZChub2RlLnBhcmVudE5vZGUpKTsKICB9CiAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignT3BlcmEnKSAhPT0gLTEpIHsKICAgIC8vIHVzZSBicm93c2VyIGRldGVjdGlvbiBzaW5jZSB3ZSBjYW5ub3QgZmVhdHVyZS1jaGVjayB0aGlzIGJ1ZwogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBpZ25vcmVJZlRhcmdldERpc2FibGVkLCB0cnVlKTsKICB9Cn0pKCk7CgovLyBDaGVja3MgaWYgcG9zc2libGUgdG8gdXNlIFVSTC5jcmVhdGVPYmplY3RVUkwoKQovLyBTdXBwb3J0OiBJRQooZnVuY3Rpb24gY2hlY2tPbkJsb2JTdXBwb3J0KCkgewogIC8vIHNvbWV0aW1lcyBJRSBsb29zaW5nIHRoZSBkYXRhIGNyZWF0ZWQgd2l0aCBjcmVhdGVPYmplY3RVUkwoKSwgc2VlICMzOTc3CiAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignVHJpZGVudCcpID49IDApIHsKICAgIFBERkpTLmRpc2FibGVDcmVhdGVPYmplY3RVUkwgPSB0cnVlOwogIH0KfSkoKTsKCi8vIENoZWNrcyBpZiBuYXZpZ2F0b3IubGFuZ3VhZ2UgaXMgc3VwcG9ydGVkCihmdW5jdGlvbiBjaGVja05hdmlnYXRvckxhbmd1YWdlKCkgewogIGlmICgnbGFuZ3VhZ2UnIGluIG5hdmlnYXRvcikgewogICAgcmV0dXJuOwogIH0KICBQREZKUy5sb2NhbGUgPSBuYXZpZ2F0b3IudXNlckxhbmd1YWdlIHx8ICdlbi1VUyc7Cn0pKCk7CgooZnVuY3Rpb24gY2hlY2tSYW5nZVJlcXVlc3RzKCkgewogIC8vIFNhZmFyaSBoYXMgaXNzdWVzIHdpdGggY2FjaGVkIHJhbmdlIHJlcXVlc3RzIHNlZToKICAvLyBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9wZGYuanMvaXNzdWVzLzMyNjAKICAvLyBMYXN0IHRlc3RlZCB3aXRoIHZlcnNpb24gNi4wLjQuCiAgLy8gU3VwcG9ydDogU2FmYXJpIDYuMCsKICB2YXIgaXNTYWZhcmkgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoCiAgICAgICAgICAgICAgICAgIHdpbmRvdy5IVE1MRWxlbWVudCkuaW5kZXhPZignQ29uc3RydWN0b3InKSA+IDA7CgogIC8vIE9sZGVyIHZlcnNpb25zIG9mIEFuZHJvaWQgKHByZSAzLjApIGhhcyBpc3N1ZXMgd2l0aCByYW5nZSByZXF1ZXN0cywgc2VlOgogIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3BkZi5qcy9pc3N1ZXMvMzM4MS4KICAvLyBNYWtlIHN1cmUgdGhhdCB3ZSBvbmx5IG1hdGNoIHdlYmtpdC1iYXNlZCBBbmRyb2lkIGJyb3dzZXJzLAogIC8vIHNpbmNlIEZpcmVmb3gvRmVubmVjIHdvcmtzIGFzIGV4cGVjdGVkLgogIC8vIFN1cHBvcnQ6IEFuZHJvaWQ8My4wCiAgdmFyIHJlZ2V4ID0gL0FuZHJvaWRcc1swLTJdW15cZF0vOwogIHZhciBpc09sZEFuZHJvaWQgPSByZWdleC50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOwoKICAvLyBSYW5nZSByZXF1ZXN0cyBhcmUgYnJva2VuIGluIENocm9tZSAzOSBhbmQgNDAsIGh0dHBzOi8vY3JidWcuY29tLzQ0MjMxOAogIHZhciBpc0Nocm9tZVdpdGhSYW5nZUJ1ZyA9IC9DaHJvbWVcLygzOXw0MClcLi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsKCiAgaWYgKGlzU2FmYXJpIHx8IGlzT2xkQW5kcm9pZCB8fCBpc0Nocm9tZVdpdGhSYW5nZUJ1ZykgewogICAgUERGSlMuZGlzYWJsZVJhbmdlID0gdHJ1ZTsKICAgIFBERkpTLmRpc2FibGVTdHJlYW0gPSB0cnVlOwogIH0KfSkoKTsKCi8vIENoZWNrIGlmIHRoZSBicm93c2VyIHN1cHBvcnRzIG1hbmlwdWxhdGlvbiBvZiB0aGUgaGlzdG9yeS4KLy8gU3VwcG9ydDogSUU8MTAsIEFuZHJvaWQ8NC4yCihmdW5jdGlvbiBjaGVja0hpc3RvcnlNYW5pcHVsYXRpb24oKSB7CiAgLy8gQW5kcm9pZCAyLnggaGFzIHNvIGJ1Z2d5IHB1c2hTdGF0ZSBzdXBwb3J0IHRoYXQgaXQgd2FzIHJlbW92ZWQgaW4KICAvLyBBbmRyb2lkIDMuMCBhbmQgcmVzdG9yZWQgYXMgbGF0ZSBhcyBpbiBBbmRyb2lkIDQuMi4KICAvLyBTdXBwb3J0OiBBbmRyb2lkIDIueAogIGlmICghaGlzdG9yeS5wdXNoU3RhdGUgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdBbmRyb2lkIDIuJykgPj0gMCkgewogICAgUERGSlMuZGlzYWJsZUhpc3RvcnkgPSB0cnVlOwogIH0KfSkoKTsKCi8vIFN1cHBvcnQ6IElFPDExLCBDaHJvbWU8MjEsIEFuZHJvaWQ8NC40LCBTYWZhcmk8NgooZnVuY3Rpb24gY2hlY2tTZXRQcmVzZW5jZUluSW1hZ2VEYXRhKCkgewogIC8vIElFIDwgMTEgd2lsbCB1c2Ugd2luZG93LkNhbnZhc1BpeGVsQXJyYXkgd2hpY2ggbGFja3Mgc2V0IGZ1bmN0aW9uLgogIGlmICh3aW5kb3cuQ2FudmFzUGl4ZWxBcnJheSkgewogICAgaWYgKHR5cGVvZiB3aW5kb3cuQ2FudmFzUGl4ZWxBcnJheS5wcm90b3R5cGUuc2V0ICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgIHdpbmRvdy5DYW52YXNQaXhlbEFycmF5LnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbihhcnIpIHsKICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSB0aGlzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgIHRoaXNbaV0gPSBhcnJbaV07CiAgICAgICAgfQogICAgICB9OwogICAgfQogIH0gZWxzZSB7CiAgICAvLyBPbGQgQ2hyb21lIGFuZCBBbmRyb2lkIHVzZSBhbiBpbmFjY2Vzc2libGUgQ2FudmFzUGl4ZWxBcnJheSBwcm90b3R5cGUuCiAgICAvLyBCZWNhdXNlIHdlIGNhbm5vdCBmZWF0dXJlIGRldGVjdCBpdCwgd2UgcmVseSBvbiB1c2VyIGFnZW50IHBhcnNpbmcuCiAgICB2YXIgcG9seWZpbGwgPSBmYWxzZSwgdmVyc2lvbk1hdGNoOwogICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignQ2hyb20nKSA+PSAwKSB7CiAgICAgIHZlcnNpb25NYXRjaCA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0Nocm9tKGV8aXVtKVwvKFswLTldKylcLi8pOwogICAgICAvLyBDaHJvbWUgPCAyMSBsYWNrcyB0aGUgc2V0IGZ1bmN0aW9uLgogICAgICBwb2x5ZmlsbCA9IHZlcnNpb25NYXRjaCAmJiBwYXJzZUludCh2ZXJzaW9uTWF0Y2hbMl0pIDwgMjE7CiAgICB9IGVsc2UgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignQW5kcm9pZCcpID49IDApIHsKICAgICAgLy8gQW5kcm9pZCA8IDQuNCBsYWNrcyB0aGUgc2V0IGZ1bmN0aW9uLgogICAgICAvLyBBbmRyb2lkID49IDQuNCB3aWxsIGNvbnRhaW4gQ2hyb21lIGluIHRoZSB1c2VyIGFnZW50LAogICAgICAvLyB0aHVzIHBhc3MgdGhlIENocm9tZSBjaGVjayBhYm92ZSBhbmQgbm90IHJlYWNoIHRoaXMgYmxvY2suCiAgICAgIHBvbHlmaWxsID0gL0FuZHJvaWRcc1swLTRdW15cZF0vZy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOwogICAgfSBlbHNlIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1NhZmFyaScpID49IDApIHsKICAgICAgdmVyc2lvbk1hdGNoID0gbmF2aWdhdG9yLnVzZXJBZ2VudC4KICAgICAgICBtYXRjaCgvVmVyc2lvblwvKFswLTldKylcLihbMC05XSspXC4oWzAtOV0rKSBTYWZhcmlcLy8pOwogICAgICAvLyBTYWZhcmkgPCA2IGxhY2tzIHRoZSBzZXQgZnVuY3Rpb24uCiAgICAgIHBvbHlmaWxsID0gdmVyc2lvbk1hdGNoICYmIHBhcnNlSW50KHZlcnNpb25NYXRjaFsxXSkgPCA2OwogICAgfQoKICAgIGlmIChwb2x5ZmlsbCkgewogICAgICB2YXIgY29udGV4dFByb3RvdHlwZSA9IHdpbmRvdy5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQucHJvdG90eXBlOwogICAgICBjb250ZXh0UHJvdG90eXBlLl9jcmVhdGVJbWFnZURhdGEgPSBjb250ZXh0UHJvdG90eXBlLmNyZWF0ZUltYWdlRGF0YTsKICAgICAgY29udGV4dFByb3RvdHlwZS5jcmVhdGVJbWFnZURhdGEgPSBmdW5jdGlvbih3LCBoKSB7CiAgICAgICAgdmFyIGltYWdlRGF0YSA9IHRoaXMuX2NyZWF0ZUltYWdlRGF0YSh3LCBoKTsKICAgICAgICBpbWFnZURhdGEuZGF0YS5zZXQgPSBmdW5jdGlvbihhcnIpIHsKICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHRoaXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgICAgICB0aGlzW2ldID0gYXJyW2ldOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgcmV0dXJuIGltYWdlRGF0YTsKICAgICAgfTsKICAgIH0KICB9Cn0pKCk7CgovLyBTdXBwb3J0OiBJRTwxMCwgQW5kcm9pZDw0LjAsIGlPUwooZnVuY3Rpb24gY2hlY2tSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB7CiAgZnVuY3Rpb24gZmFrZVJlcXVlc3RBbmltYXRpb25GcmFtZShjYWxsYmFjaykgewogICAgd2luZG93LnNldFRpbWVvdXQoY2FsbGJhY2ssIDIwKTsKICB9CgogIHZhciBpc0lPUyA9IC8oaVBhZHxpUGhvbmV8aVBvZCkvZy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOwogIGlmIChpc0lPUykgewogICAgLy8gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIG9uIGlPUyBpcyBicm9rZW4sIHJlcGxhY2luZyB3aXRoIGZha2Ugb25lLgogICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IGZha2VSZXF1ZXN0QW5pbWF0aW9uRnJhbWU7CiAgICByZXR1cm47CiAgfQogIGlmICgncmVxdWVzdEFuaW1hdGlvbkZyYW1lJyBpbiB3aW5kb3cpIHsKICAgIHJldHVybjsKICB9CiAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9CiAgICB3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CiAgICB3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CiAgICBmYWtlUmVxdWVzdEFuaW1hdGlvbkZyYW1lOwp9KSgpOwoKKGZ1bmN0aW9uIGNoZWNrQ2FudmFzU2l6ZUxpbWl0YXRpb24oKSB7CiAgdmFyIGlzSU9TID0gLyhpUGFkfGlQaG9uZXxpUG9kKS9nLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgdmFyIGlzQW5kcm9pZCA9IC9BbmRyb2lkL2cudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsKICBpZiAoaXNJT1MgfHwgaXNBbmRyb2lkKSB7CiAgICAvLyA1TVAKICAgIFBERkpTLm1heENhbnZhc1BpeGVscyA9IDUyNDI4ODA7CiAgfQp9KSgpOwoKLy8gRGlzYWJsZSBmdWxsc2NyZWVuIHN1cHBvcnQgZm9yIGNlcnRhaW4gcHJvYmxlbWF0aWMgY29uZmlndXJhdGlvbnMuCi8vIFN1cHBvcnQ6IElFMTErICh3aGVuIGVtYmVkZGVkKS4KKGZ1bmN0aW9uIGNoZWNrRnVsbHNjcmVlblN1cHBvcnQoKSB7CiAgdmFyIGlzRW1iZWRkZWRJRSA9IChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1RyaWRlbnQnKSA+PSAwICYmCiAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cucGFyZW50ICE9PSB3aW5kb3cpOwogIGlmIChpc0VtYmVkZGVkSUUpIHsKICAgIFBERkpTLmRpc2FibGVGdWxsc2NyZWVuID0gdHJ1ZTsKICB9Cn0pKCk7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/example.local.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogVGhpcyBpcyBqdXN0IGEgc2FtcGxlIGZpbGUgd2l0aCBDU1MgcnVsZXMuIFlvdSBzaG91bGQgd3JpdGUgeW91ciBvd24gQGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMKICogdG8gYWRkIHN1cHBvcnQgZm9yIHlvdXIgZGVzaXJlZCBmb250cy4KICovCgpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ05vdmVjZW50b3dpZGUgQm9vayc7CiAgc3JjOiB1cmwoIi9WaWV3ZXJKUy9mb250cy9Ob3ZlY2VudG93aWRlLUJvbGQtd2ViZm9udC5lb3QiKTsKICBzcmM6IHVybCgiL1ZpZXdlckpTL2ZvbnRzL05vdmVjZW50b3dpZGUtQm9sZC13ZWJmb250LmVvdD8jaWVmaXgiKSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksCiAgdXJsKCIvVmlld2VySlMvZm9udHMvTm92ZWNlbnRvd2lkZS1Cb2xkLXdlYmZvbnQud29mZiIpIGZvcm1hdCgid29mZiIpLAogIHVybCgiL2ZvbnRzL05vdmVjZW50b3dpZGUtQm9sZC13ZWJmb250LnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKSwKICB1cmwoIi9mb250cy9Ob3ZlY2VudG93aWRlLUJvbGQtd2ViZm9udC5zdmcjTm92ZWNlbnRvd2lkZUJvb2tCb2xkIikgZm9ybWF0KCJzdmciKTsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ2V4b3RpY2EnOwogICAgc3JjOiB1cmwoJy9WaWV3ZXJKUy9mb250cy9FeG90aWNhLXdlYmZvbnQuZW90Jyk7CiAgICBzcmM6IHVybCgnL1ZpZXdlckpTL2ZvbnRzL0V4b3RpY2Etd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLAogICAgICAgICB1cmwoJy9WaWV3ZXJKUy9mb250cy9FeG90aWNhLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLAogICAgICAgICB1cmwoJy9WaWV3ZXJKUy9mb250cy9FeG90aWNhLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLAogICAgICAgICB1cmwoJy9WaWV3ZXJKUy9mb250cy9FeG90aWNhLXdlYmZvbnQuc3ZnI2V4b3RpY2FtZWRpdW0nKSBmb3JtYXQoJ3N2ZycpOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKCn0KCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/kogmbh.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/nlnet.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/texture.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-download.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAaJJREFUeNp8U09LAlEQf6tttRARbWsb1CWj7OBNchU9qBc/gAl+gqDP0KVTH0TwkieRjtpJkDp68c/NSyKUKSGu5TYT82LYdhv48Wbezt/fm1UcxxGKomwKIfYA24CA+CsfgAnABizpFBi7Rg77g8HgLhwOG8JHoMhtq9VKJZPJezCHMomspkPwFlXyw0kikUhVKpVr0I8A6zwBGgtqzw8bgHmpVDpuNpuXZP+OoJCTrxQKBQPGeCSzB0DeZgqRmIDzSvwvWDHIOLmBmB5n3OaIRCJ9cHpARKPRPlajl5DY4SMI4uBXut3uMxxPqHc6nXc4TFdHQXcC2+WAFd+YbnvN5dsBPZ3D9IVXgoArwSIWi81hbmx9xL6N8M6yrLn080rwQ169XlfT6TTOt6LviFUmk1FrtZrKiPZOYJrmrFqtnudyuQvcUPxH8vm8BXdnoVBo5k4g9yAOZ5yPNh6PtWKxONQ0LVAulw91XeecYEwbYtqSxGmj0Vhls9kv6WAYxhJW9oDMCQ8GX4yb8g52QT+lt5ZJP9l6q677F1xniH39FmAAFper9FGt37sAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-fullscreen.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAY1JREFUKFNFUU0vQ0EUPfXxRLVlVV1QaTQI0lbQVJQQqZ0QaicRQcrKxgKRtJGgLOqjiXSDRj00PsJa7PwHi6al8UOuM+8R52Qmd865c2fuDFAHD7rJdjihQUFj1G5oHrrwyqvJ9y3YjQT7+9afBi8QlBdFPY2wyiesCOtpU0UQGJAnxa/bwCTqYSEdXRPFG1PFANAv9xeZUk4evm9GB1EDbTD0pctj+foyI/foB1oftzHlXSpl5S6/DgdsuTXJl7Mdy5ii0wpKTWiEp2PmbBM9qCUD6Y3ALC0XHQdQgSoOjUktaGBUwdnNlYZKw/mFhTsdvIGCxnZr/y2NzWmwBfv0Rdao5i53bmEoyCTTgettFb7OseKxZK5WYIPtfFEy5RP/OPx0XIBPTnPxQkpSxYPecVaz+sYK+5L6PNITcgofEJKkpOSwsNc2j2YeUIkm99zHnhxSTSKkXnJXMZ3ACA+w8JJ1GD6Jm6p6Sb/sGEw+x1TXhP05xqqGCj/4tSOIYhoRtPGbFKyMIlSidJw/OjSbfU+tbHYAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-menuArrows.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAcAAAAQCAQAAABwiK17AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAI9JREFUCFtjYCARMDJwMggCMSNEH5eRxe3ZRhYMXCAOO7fe1fn/119bwK3HwM7AIHCs6f+y/4v/LzvRyCDAwMDDoMXgyRAExNpANtAIBQYTBksgVgCyGfgP5/3vA8HDeQz8QMUsNvtK/5ftK+WwBSlmZpAQ99+WK+7PIAFkAwErgySDJhCzwpzPzMAGkcEPAPi8H7JRgYIZAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-pageDown.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABKElEQVR42o2SsUrEQBRFZyPIIqhgYQRB0GZZsNpKEf0CPyA/YCGCjYJEY0wI2AQrK0XQZm1sxEKE9CF/kCJfkibxXhhhWJ8zPjgQ8u65Q8goPQMwBGtgBLY1Y7ABlsCcsowXRdFmVVVZ3/fFD23bfjVNM03T9IjlthJPn7JXluUT5HeDj67rPnEAS5aVZdi+HgTBOaS3Weq6fsZ+Szlm6Pv+IYTXWfA5U+wnroIB2IfwIoHdDnDOLsKPEtxJwjxYNX5fgPC9BHc6M6KjXbVYFMUxAg8GdxJmhg5doBbAJM/zKyxu/wOzdLSrPLACDrIsu0bgxgYzzGoHLsYsSZLkEsFQgjtJ/lWCW3cB4cyE7yT5z5IwDHkjTwmfJdlZEsfxCbHIzpIxscnfjwdV53mkOFcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-pageUp.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPpJREFUKFN1zz1Lw2AUhuG7EV5CpSHgIji+kMGPVdBJCKVrqI4igi4VGih1cXIIhELJ5FSXhpZkCZKlHQou/iZd5bikJsT4XOs9nAPVKWxsFP9ModfBOkA3JwqdRrKSVRo1JQqdTCWXTDLJk2k9UejlRDJJC9lyUk0UehFKInFFsgi3iULHgczltWYeF+d2NkOZyUuD2WZIB9o4dOkzkqjEiD5dHNpgYGJh40pYwsXGwsQoPzmT5xLn/Nnp15P82nPZqQdHH48y3vKuserBvnf37UvhbcwJJq1qYHLcu3/3Px9kIAPx89ubg+qJ0GIXhws8rrikxyEWBvwA4IWcm9Bvq1EAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-presentation.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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TUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS4xLjIiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxMy0wNy0xM1QxODowNzoxOTwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAyLjI8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzI8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjE8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjU8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI1PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CtwGYAwAAAJFSURBVDgRnVNLq1JRFN77+H41EC9XBw58kEKTBsUdNRQn15yEk2gc4cRB/yDRSXBBmjTr0ij/wSW7oYUQTkMhUSwxzMA3evR4zulbO/blDgqiBfusffZa37e+vc46bL/f3zH/04C9ay2VSstIJPLGMAwFPOxfjHPOFEUxxuPxkgPAu93u80Ag8Giz2TAi+RMRgaR5PB42nU5fx2Kxp1ZSr+u612KxHFEAzGy73TICEJHT6WS73Y65XC4R0zSN2Ww25vP5vIRViPVwOAjy2Wy26PV6X0Emzoik3W5/QdzodDrtWq32fjKZfL+OEQRW2Gg06lcqlVNc44WsRgr8fv8RiDj8cTQajSN2gwgoRiYIIEvHnc6KxeLHRCKhkkxcywCvORwOB2iwgQKDZrP5abFY/CQgqSOz0oMqhEIhG+2z2ewF7vwwmUwel8vlYhyGsBIOh28Gg8Gw2+32UZ5UIDYAvFJV9fN6vQ5SAMupqpsznBvL5dKcz+cm+dVqJTziJhr9knKFAmx2DofjFmR/QA/O8X4K+ScYFAb1VPDKS+nSCwIkC/mQF0fuM4HAA6RiS5XIJIj2EiMIqtVqHY3zYV2NogRRsjRJgDngmI96Lpf7fYV0On3bbrenqfsSiG+vAcgxExznOkBWEChEQoOE/vxA/FwqeIcG0r8gFCBBy2Qy93G2wiB9S6VS9xqNxtt+vz+kfwYkHPNwmc/nGZcVpUzp6/X6E+Q9QFNNjK3earUeFwqFgYxL/1cCqoIkLxb5PQqpEnTd/wJK4oZqTRL5GAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-zoomIn.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAq0lEQVR42q2RoQpCQRBFDds0mLYLNgWbYBP8BYP/YNJoNVutYrL5A37ceg/MlGWRZZ4PDu9ydziws6NSyiD+J2h8YzEDcnXWJZir/wA5IlirfwM5ItiofwG5R+B3XhoH9Q8ge+87aQm487PiDnXPbEuw0P/WA7MtQRZbsTdO6q9A9t5mckuQxERMjZ36C5C9t5nU+wpnIEeecaX+COSIwHcCOSLwnUD6JRjEF3X4tHRD9cn8AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/images/toolbarButton-zoomOut.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAVklEQVR42u3SsQkAIQxAUQs7LazshevuhnAI13Iih8t9+0AELQ080oRfxYnIlhs4GWACCj5DQdACD3usmLda4GX3FfNWC2RUNENF1gIeEckQ4e8jHQz8T0uYqR7eZeAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+Cgo8IS0tCiAgQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQgS08gR21iSCA8Y29weXJpZ2h0QGtvZ21iaC5jb20+CgogIEBsaWNzdGFydAogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFdlYk9ERi4KCiAgV2ViT0RGIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR05VIEFHUEwpCiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YKICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCiAgV2ViT0RGIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiAgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogIGFsb25nIHdpdGggV2ViT0RGLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIEBsaWNlbmQKCiAgQHNvdXJjZTogaHR0cDovL3d3dy53ZWJvZGYub3JnLwogIEBzb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb2dtYmgvV2ViT0RGLwotLT4KCjwhLS0KICBUaGlzIGZpbGUgaXMgYSBkZXJpdmF0aXZlIGZyb20gYSBwYXJ0IG9mIE1vemlsbGEncyBQREYuanMgcHJvamVjdC4gVGhlCiAgb3JpZ2luYWwgbGljZW5zZSBoZWFkZXIgZm9sbG93cy4KLS0+Cgo8IS0tCkNvcHlyaWdodCAyMDEyIE1vemlsbGEgRm91bmRhdGlvbgoKTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgpodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKClVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuClNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0tPgoKPGh0bWwgZGlyPSJsdHIiIGxhbmc9ImVuLVVTIj4KICAgIDxoZWFkPgogICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ii8+CiAgICAgICAgPHRpdGxlPlZpZXdlckpTPC90aXRsZT4KICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubywgbWluaW11bS1zY2FsZT0xLjAsIG1heGltdW0tc2NhbGU9MS4wIj4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJ2aWV3ZXIuY3NzIiBtZWRpYT0ic2NyZWVuIi8+CiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ibG9jYWwuY3NzIiBtZWRpYT0ic2NyZWVuIi8+CiAgICAgICAgPGxpbmsgaHJlZj0iLy9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC40LjAvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgICAgIDxzY3JpcHQgc3JjPSJ2aWV3ZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJQbHVnaW5Mb2FkZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIGxvYWREb2N1bWVudCh3aW5kb3cubG9jYXRpb24uaGFzaCk7CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8L2hlYWQ+CgogICAgPGJvZHk+CiAgICAgICAgPGRpdiBpZCA9ICJ2aWV3ZXIiPgogICAgICAgICAgICA8ZGl2IGlkID0gInRpdGxlYmFyIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAiZG9jdW1lbnROYW1lIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAidG9vbGJhclJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkID0gInByZXNlbnRhdGlvbiIgY2xhc3MgPSAidG9vbGJhckJ1dHRvbiBwcmVzZW50YXRpb24iIHRpdGxlID0gIlByZXNlbnRhdGlvbiI+PGkgY2xhc3M9ImZhIGZhLXBsYXkiPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkID0gImZ1bGxzY3JlZW4iIGNsYXNzID0gInRvb2xiYXJCdXR0b24gZnVsbHNjcmVlbiIgdGl0bGUgPSAiRnVsbHNjcmVlbiI+PGkgY2xhc3M9ImZhIGZhLWV4cGFuZCI+PC9pPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQgPSAiZG93bmxvYWQiIGNsYXNzID0gInRvb2xiYXJCdXR0b24gZG93bmxvYWQiIHRpdGxlID0gIkRvd25sb2FkIj48aSBjbGFzcz0iZmEgZmEtZG93bmxvYWQiPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkID0gInRvb2xiYXJDb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBpZCA9ICJ0b29sYmFyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkID0gInRvb2xiYXJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZCA9ICJuYXZCdXR0b25zIiBjbGFzcyA9ICJzcGxpdFRvb2xiYXJCdXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZCA9ICJwcmV2aW91cyIgY2xhc3MgPSAidG9vbGJhckJ1dHRvbiBwYWdlVXAiIHRpdGxlID0gIlByZXZpb3VzIFBhZ2UiPjxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXVwIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZCA9ICJuZXh0IiBjbGFzcyA9ICJ0b29sYmFyQnV0dG9uIHBhZ2VEb3duIiB0aXRsZSA9ICJOZXh0IFBhZ2UiPjxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWRvd24iPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZCA9ICJwYWdlTnVtYmVyTGFiZWwiIGNsYXNzID0gInRvb2xiYXJMYWJlbCIgZm9yID0gInBhZ2VOdW1iZXIiPlBhZ2U6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGUgPSAibnVtYmVyIiBpZCA9ICJwYWdlTnVtYmVyIiBjbGFzcyA9ICJ0b29sYmFyRmllbGQgcGFnZU51bWJlciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZCA9ICJudW1QYWdlcyIgY2xhc3MgPSAidG9vbGJhckxhYmVsIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZCA9ICJ0b29sYmFyTWlkZGxlQ29udGFpbmVyIiBjbGFzcyA9ICJvdXRlckNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAidG9vbGJhck1pZGRsZSIgY2xhc3MgPSAiaW5uZXJDZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZCA9ICd6b29tQnV0dG9ucycgY2xhc3MgPSAic3BsaXRUb29sYmFyQnV0dG9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkID0gInpvb21PdXQiIGNsYXNzID0gInRvb2xiYXJCdXR0b24gem9vbU91dCIgdGl0bGUgPSAiWm9vbSBPdXQiPjxpIGNsYXNzPSJmYSBmYS1zZWFyY2gtbWludXMiPjwvaT48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQgPSAiem9vbUluIiBjbGFzcyA9ICJ0b29sYmFyQnV0dG9uIHpvb21JbiIgdGl0bGUgPSAiWm9vbSBJbiI+PGkgY2xhc3M9ImZhIGZhLXNlYXJjaC1wbHVzIj48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJzY2FsZVNlbGVjdENvbnRhaW5lciIgY2xhc3M9ImRyb3Bkb3duVG9vbGJhckJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0ic2NhbGVTZWxlY3QiIHRpdGxlPSJab29tIiBvbmNvbnRleHRtZW51PSJyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBpZD0icGFnZUF1dG9PcHRpb24iIHZhbHVlPSJhdXRvIiBzZWxlY3RlZD5BdXRvbWF0aWM8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBpZD0icGFnZUFjdHVhbE9wdGlvbiIgdmFsdWU9InBhZ2UtYWN0dWFsIj5BY3R1YWwgU2l6ZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGlkPSJwYWdlV2lkdGhPcHRpb24iIHZhbHVlPSJwYWdlLXdpZHRoIj5GdWxsIFdpZHRoPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gaWQ9ImN1c3RvbVNjYWxlT3B0aW9uIiB2YWx1ZT0iY3VzdG9tIj4gPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAuNSI+NTAlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAuNzUiPjc1JTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxIj4xMDAlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEuMjUiPjEyNSU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMS41Ij4xNTAlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjIiPjIwMCU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAic2xpZGVyQ29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkID0gInNsaWRlciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAiY2FudmFzQ29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAiY2FudmFzIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAib3ZlcmxheU5hdmlnYXRvciI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkID0gInByZXZpb3VzUGFnZSI+PGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tdXAiPjwvaT48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQgPSAibmV4dFBhZ2UiPjxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWRvd24iPjwvaT48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAib3ZlcmxheUNsb3NlQnV0dG9uIj4KICAgICAgICAgICAgJiMxMDAwNjsKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAiZGlhbG9nT3ZlcmxheSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQgPSAiYmxhbmtlZCI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/local.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cmh0bWxbZGlyPSdsdHInXSAub3V0ZXJDZW50ZXJ7CiAgcmlnaHQ6IDAgIWltcG9ydGFudDsKfQpodG1sW2Rpcj0nbHRyJ10gLmlubmVyQ2VudGVyewogIHJpZ2h0OiAwICFpbXBvcnRhbnQ7Cn0KCiN0aXRsZWJhciwjdG9vbGJhckNvbnRhaW5lcnsKICBiYWNrZ3JvdW5kOiAjMzMzOwogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KI2RvY3VtZW50TmFtZSwudG9vbGJhckxhYmVsewogIGNvbG9yOiNlZWU7Cn0KLnRvb2xiYXJGaWVsZHsKICBjb2xvcjojZmZmOwp9Ci50b29sYmFyRmllbGQ6aG92ZXIsLnRvb2xiYXJGaWVsZDpmb2N1c3sKICBjb2xvcjojYWFhOwp9CgoudG9vbGJhckZpZWxkLC50b29sYmFyQnV0dG9uLC5kcm9wZG93blRvb2xiYXJCdXR0b257CiAgYm9yZGVyOjFweCBzb2xpZCAjNTU1ICFpbXBvcnRhbnQ7CiAgYmFja2dyb3VuZDogIzIyMjsKfQoudG9vbGJhckJ1dHRvbjpob3Zlciwuc3BsaXRUb29sYmFyQnV0dG9uOmhvdmVyID4gLnRvb2xiYXJCdXR0b24sIC5zcGxpdFRvb2xiYXJCdXR0b246Zm9jdXMgPiAudG9vbGJhckJ1dHRvbiwgLnNwbGl0VG9vbGJhckJ1dHRvbi50b2dnbGVkID4gLnRvb2xiYXJCdXR0b24sIC50b29sYmFyQnV0dG9uLnRleHRCdXR0b257CiAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50Owp9CiN0b29sYmFyUmlnaHQgLnRvb2xiYXJCdXR0b257CiAgcGFkZGluZy1sZWZ0OiAxNHB4OwogIHBhZGRpbmctcmlnaHQ6IDE0cHg7Cn0KLnRvb2xiYXJCdXR0b24uYWJvdXR7CiAgYmFja2dyb3VuZDogIzMzMyAhaW1wb3J0YW50OyAKICBwYWRkaW5nOiA0cHggIWltcG9ydGFudDsKICBib3JkZXI6bm9uZSAhaW1wb3J0YW50OwogIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQojY2FudmFzQ29udGFpbmVyewogIGJhY2tncm91bmQ6ICNlZWU7Cn0KLnRvb2xiYXJCdXR0b257CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci50b29sYmFyQnV0dG9uOmZvY3VzewogIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7Cn0KLnRvb2xiYXJCdXR0b24ucHJlc2VudGF0aW9uOjpiZWZvcmUsLnRvb2xiYXJCdXR0b24uZnVsbHNjcmVlbjo6YmVmb3JlLC50b29sYmFyQnV0dG9uLmRvd25sb2FkOjpiZWZvcmUKLC50b29sYmFyQnV0dG9uLnByZXZpb3VzUGFnZTo6YmVmb3JlLC50b29sYmFyQnV0dG9uLm5leHRQYWdlOjpiZWZvcmUsLnRvb2xiYXJCdXR0b24ucGFnZURvd246OmJlZm9yZQosLnRvb2xiYXJCdXR0b24ucGFnZVVwOjpiZWZvcmUsLnRvb2xiYXJCdXR0b24uem9vbU91dDo6YmVmb3JlLC50b29sYmFyQnV0dG9uLnpvb21Jbjo6YmVmb3JlewogIGNvbnRlbnQ6ICcnOwp9Ci5kcm9wZG93blRvb2xiYXJCdXR0b24gPiBzZWxlY3R7CiAgcGFkZGluZy1sZWZ0OjJweDsKfQojc2NhbGVTZWxlY3RDb250YWluZXJ7CiAgcGFkZGluZy1sZWZ0OiA0cHg7Cn0KI2Fib3V0ewogIGN1cnNvcjogaGVscDsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGZvbnQtc2l6ZTogMTBweDsKfQ==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/ODFViewerPlugin.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE0IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgogKgogKiBAbGljc3RhcnQKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgV2ViT0RGLgogKgogKiBXZWJPREYgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR05VIEFHUEwpCiAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBXZWJPREYgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIGFsb25nIHdpdGggV2ViT0RGLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKiBAbGljZW5kCiAqCiAqIEBzb3VyY2U6IGh0dHA6Ly93d3cud2Vib2RmLm9yZy8KICogQHNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2tvZ21iaC9XZWJPREYvCiAqLwoKQG5hbWVzcGFjZSBjdXJzb3IgdXJsKHVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yKTsKCi5jYXJldCB7CiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/ODFViewerPlugin.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoQykgMjAxMiBLTyBHbWJIIDxjb3B5cmlnaHRAa29nbWJoLmNvbT4KICoKICogQGxpY3N0YXJ0CiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFdlYk9ERi4KICoKICogV2ViT0RGIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdOVSBBR1BMKQogKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZgogKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogV2ViT0RGIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIFdlYk9ERi4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICogQGxpY2VuZAogKgogKiBAc291cmNlOiBodHRwOi8vd3d3LndlYm9kZi5vcmcvCiAqIEBzb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb2dtYmgvV2ViT0RGLwogKi8KCi8qZ2xvYmFsIHJ1bnRpbWUsIGRvY3VtZW50LCBvZGYsIGd1aSwgY29uc29sZSwgd2Vib2RmKi8KCmZ1bmN0aW9uIE9ERlZpZXdlclBsdWdpbigpIHsKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICBmdW5jdGlvbiBpbml0KGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIGxpYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICBwbHVnaW5DU1M7CgogICAgICAgIGxpYi5hc3luYyA9IGZhbHNlOwogICAgICAgIGxpYi5zcmMgPSAnLi93ZWJvZGYuanMnOwogICAgICAgIGxpYi50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICAgICAgbGliLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ2d1aS5IeXBlcmxpbmtDbGlja0hhbmRsZXInKTsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ29kZi5PZGZDYW52YXMnKTsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ29wcy5TZXNzaW9uJyk7CiAgICAgICAgICAgIHJ1bnRpbWUubG9hZENsYXNzKCdndWkuQ2FyZXRNYW5hZ2VyJyk7CiAgICAgICAgICAgIHJ1bnRpbWUubG9hZENsYXNzKCJndWkuSHlwZXJsaW5rVG9vbHRpcFZpZXciKTsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ2d1aS5TZXNzaW9uQ29udHJvbGxlcicpOwogICAgICAgICAgICBydW50aW1lLmxvYWRDbGFzcygnZ3VpLlN2Z1NlbGVjdGlvblZpZXcnKTsKICAgICAgICAgICAgcnVudGltZS5sb2FkQ2xhc3MoJ2d1aS5TZWxlY3Rpb25WaWV3TWFuYWdlcicpOwogICAgICAgICAgICBydW50aW1lLmxvYWRDbGFzcygnZ3VpLlNoYWRvd0N1cnNvcicpOwogICAgICAgICAgICBydW50aW1lLmxvYWRDbGFzcygnZ3VpLlNlc3Npb25WaWV3Jyk7CgogICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH07CgogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobGliKTsKCiAgICAgICAgcGx1Z2luQ1NTID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOwogICAgICAgIHBsdWdpbkNTUy5zZXRBdHRyaWJ1dGUoInJlbCIsICJzdHlsZXNoZWV0Iik7CiAgICAgICAgcGx1Z2luQ1NTLnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0ZXh0L2NzcyIpOwogICAgICAgIHBsdWdpbkNTUy5zZXRBdHRyaWJ1dGUoImhyZWYiLCAiLi9PREZWaWV3ZXJQbHVnaW4uY3NzIik7CiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChwbHVnaW5DU1MpOwogICAgfQoKICAgIC8vIHRoYXQgc2hvdWxkIHByb2JhYmx5IGJlIHByb3ZpZGVkIGJ5IHdlYm9kZgogICAgZnVuY3Rpb24gbnNSZXNvbHZlcihwcmVmaXgpIHsKICAgICAgICB2YXIgbnMgPSB7CiAgICAgICAgICAgICdkcmF3JyA6ICJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyYXdpbmc6MS4wIiwKICAgICAgICAgICAgJ3ByZXNlbnRhdGlvbicgOiAidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpwcmVzZW50YXRpb246MS4wIiwKICAgICAgICAgICAgJ3RleHQnIDogInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjAiLAogICAgICAgICAgICAnb2ZmaWNlJyA6ICJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiCiAgICAgICAgfTsKICAgICAgICByZXR1cm4gbnNbcHJlZml4XSB8fCBjb25zb2xlLmxvZygncHJlZml4IFsnICsgcHJlZml4ICsgJ10gdW5rbm93bi4nKTsKICAgIH0KCiAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgcGx1Z2luTmFtZSA9ICJXZWJPREYiLAogICAgICAgIHBsdWdpblVSTCA9ICJodHRwOi8vd2Vib2RmLm9yZyIsCiAgICAgICAgb2RmQ2FudmFzID0gbnVsbCwKICAgICAgICBvZGZFbGVtZW50ID0gbnVsbCwKICAgICAgICBpbml0aWFsaXplZCA9IGZhbHNlLAogICAgICAgIHJvb3QgPSBudWxsLAogICAgICAgIGRvY3VtZW50VHlwZSA9IG51bGwsCiAgICAgICAgcGFnZXMgPSBbXSwKICAgICAgICBjdXJyZW50UGFnZSA9IG51bGw7CgogICAgdGhpcy5pbml0aWFsaXplID0gZnVuY3Rpb24gKHZpZXdlckVsZW1lbnQsIGRvY3VtZW50VXJsKSB7CiAgICAgICAgLy8gSWYgdGhlIFVSTCBoYXMgYSBmcmFnbWVudCAoIy4uLiksIHRyeSB0byBsb2FkIHRoZSBmaWxlIGl0IHJlcHJlc2VudHMKICAgICAgICBpbml0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIHNlc3Npb24sCiAgICAgICAgICAgICAgICBzZXNzaW9uQ29udHJvbGxlciwKICAgICAgICAgICAgICAgIHNlc3Npb25WaWV3LAogICAgICAgICAgICAgICAgb2R0RG9jdW1lbnQsCiAgICAgICAgICAgICAgICBzaGFkb3dDdXJzb3IsCiAgICAgICAgICAgICAgICBzZWxlY3Rpb25WaWV3TWFuYWdlciwKICAgICAgICAgICAgICAgIGNhcmV0TWFuYWdlciwKICAgICAgICAgICAgICAgIGxvY2FsTWVtYmVySWQgPSAnbG9jYWx1c2VyJywKICAgICAgICAgICAgICAgIGh5cGVybGlua1Rvb2x0aXBWaWV3LAogICAgICAgICAgICAgICAgZXZlbnRNYW5hZ2VyOwoKICAgICAgICAgICAgb2RmRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXMnKTsKICAgICAgICAgICAgb2RmQ2FudmFzID0gbmV3IG9kZi5PZGZDYW52YXMob2RmRWxlbWVudCk7CiAgICAgICAgICAgIG9kZkNhbnZhcy5sb2FkKGRvY3VtZW50VXJsKTsKCiAgICAgICAgICAgIG9kZkNhbnZhcy5hZGRMaXN0ZW5lcignc3RhdGVyZWFkeWNoYW5nZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJvb3QgPSBvZGZDYW52YXMub2RmQ29udGFpbmVyKCkucm9vdEVsZW1lbnQ7CiAgICAgICAgICAgICAgICBpbml0aWFsaXplZCA9IHRydWU7CiAgICAgICAgICAgICAgICBkb2N1bWVudFR5cGUgPSBvZGZDYW52YXMub2RmQ29udGFpbmVyKCkuZ2V0RG9jdW1lbnRUeXBlKHJvb3QpOwogICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50VHlwZSA9PT0gJ3RleHQnKSB7CiAgICAgICAgICAgICAgICAgICAgb2RmQ2FudmFzLmVuYWJsZUFubm90YXRpb25zKHRydWUsIGZhbHNlKTsKCiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbiA9IG5ldyBvcHMuU2Vzc2lvbihvZGZDYW52YXMpOwogICAgICAgICAgICAgICAgICAgIG9kdERvY3VtZW50ID0gc2Vzc2lvbi5nZXRPZHREb2N1bWVudCgpOwogICAgICAgICAgICAgICAgICAgIHNoYWRvd0N1cnNvciA9IG5ldyBndWkuU2hhZG93Q3Vyc29yKG9kdERvY3VtZW50KTsKICAgICAgICAgICAgICAgICAgICBzZXNzaW9uQ29udHJvbGxlciA9IG5ldyBndWkuU2Vzc2lvbkNvbnRyb2xsZXIoc2Vzc2lvbiwgbG9jYWxNZW1iZXJJZCwgc2hhZG93Q3Vyc29yLCB7fSk7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRNYW5hZ2VyID0gc2Vzc2lvbkNvbnRyb2xsZXIuZ2V0RXZlbnRNYW5hZ2VyKCk7CiAgICAgICAgICAgICAgICAgICAgY2FyZXRNYW5hZ2VyID0gbmV3IGd1aS5DYXJldE1hbmFnZXIoc2Vzc2lvbkNvbnRyb2xsZXIsIG9kZkNhbnZhcy5nZXRWaWV3cG9ydCgpKTsKICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25WaWV3TWFuYWdlciA9IG5ldyBndWkuU2VsZWN0aW9uVmlld01hbmFnZXIoZ3VpLlN2Z1NlbGVjdGlvblZpZXcpOwogICAgICAgICAgICAgICAgICAgIHNlc3Npb25WaWV3ID0gbmV3IGd1aS5TZXNzaW9uVmlldyh7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhcmV0QXZhdGFyc0luaXRpYWxseVZpc2libGU6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwgbG9jYWxNZW1iZXJJZCwgc2Vzc2lvbiwgc2Vzc2lvbkNvbnRyb2xsZXIuZ2V0U2Vzc2lvbkNvbnN0cmFpbnRzKCksIGNhcmV0TWFuYWdlciwgc2VsZWN0aW9uVmlld01hbmFnZXIpOwogICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvblZpZXdNYW5hZ2VyLnJlZ2lzdGVyQ3Vyc29yKHNoYWRvd0N1cnNvcik7CiAgICAgICAgICAgICAgICAgICAgaHlwZXJsaW5rVG9vbHRpcFZpZXcgPSBuZXcgZ3VpLkh5cGVybGlua1Rvb2x0aXBWaWV3KG9kZkNhbnZhcywKICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkNvbnRyb2xsZXIuZ2V0SHlwZXJsaW5rQ2xpY2tIYW5kbGVyKCkuZ2V0TW9kaWZpZXIpOwogICAgICAgICAgICAgICAgICAgIGV2ZW50TWFuYWdlci5zdWJzY3JpYmUoIm1vdXNlbW92ZSIsIGh5cGVybGlua1Rvb2x0aXBWaWV3LnNob3dUb29sdGlwKTsKICAgICAgICAgICAgICAgICAgICBldmVudE1hbmFnZXIuc3Vic2NyaWJlKCJtb3VzZW91dCIsIGh5cGVybGlua1Rvb2x0aXBWaWV3LmhpZGVUb29sdGlwKTsKCiAgICAgICAgICAgICAgICAgICAgdmFyIG9wID0gbmV3IG9wcy5PcEFkZE1lbWJlcigpOwogICAgICAgICAgICAgICAgICAgIG9wLmluaXQoewogICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXJpZDogbG9jYWxNZW1iZXJJZCwKICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvcGVydGllczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbE5hbWU6IHJ1bnRpbWUudHIoIlVua25vd24gQXV0aG9yIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogImJsdWUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLmVucXVldWUoW29wXSk7CiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkNvbnRyb2xsZXIuaW5zZXJ0TG9jYWxDdXJzb3IoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzZWxmLm9uTG9hZCgpOwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH07CgogICAgdGhpcy5pc1NsaWRlc2hvdyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gZG9jdW1lbnRUeXBlID09PSAncHJlc2VudGF0aW9uJzsKICAgIH07CgogICAgdGhpcy5vbkxvYWQgPSBmdW5jdGlvbiAoKSB7fTsKCiAgICB0aGlzLmdldFdpZHRoID0gZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBvZGZFbGVtZW50LmNsaWVudFdpZHRoOwogICAgfTsKCiAgICB0aGlzLmdldEhlaWdodCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gb2RmRWxlbWVudC5jbGllbnRIZWlnaHQ7CiAgICB9OwoKICAgIHRoaXMuZml0VG9XaWR0aCA9IGZ1bmN0aW9uICh3aWR0aCkgewogICAgICAgIG9kZkNhbnZhcy5maXRUb1dpZHRoKHdpZHRoKTsKICAgIH07CgogICAgdGhpcy5maXRUb0hlaWdodCA9IGZ1bmN0aW9uIChoZWlnaHQpIHsKICAgICAgICBvZGZDYW52YXMuZml0VG9IZWlnaHQoaGVpZ2h0KTsKICAgIH07CgogICAgdGhpcy5maXRUb1BhZ2UgPSBmdW5jdGlvbiAod2lkdGgsIGhlaWdodCkgewogICAgICAgIG9kZkNhbnZhcy5maXRUb0NvbnRhaW5pbmdFbGVtZW50KHdpZHRoLCBoZWlnaHQpOwogICAgfTsKCiAgICB0aGlzLmZpdFNtYXJ0ID0gZnVuY3Rpb24gKHdpZHRoKSB7CiAgICAgICAgb2RmQ2FudmFzLmZpdFNtYXJ0KHdpZHRoKTsKICAgIH07CgogICAgdGhpcy5nZXRab29tTGV2ZWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIG9kZkNhbnZhcy5nZXRab29tTGV2ZWwoKTsKICAgIH07CgogICAgdGhpcy5zZXRab29tTGV2ZWwgPSBmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICBvZGZDYW52YXMuc2V0Wm9vbUxldmVsKHZhbHVlKTsKICAgIH07CgogICAgLy8gcmV0dXJuIGEgbGlzdCBvZiB0dXBsZXMgKHBhZ2VuYW1lLCBwYWdlbm9kZSkKICAgIHRoaXMuZ2V0UGFnZXMgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHBhZ2VOb2RlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHJvb3QuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhuc1Jlc29sdmVyKCdkcmF3JyksICdwYWdlJykpLAogICAgICAgICAgICBwYWdlcyAgPSBbXSwKICAgICAgICAgICAgaSwKICAgICAgICAgICAgdHVwbGU7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBwYWdlTm9kZXMubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgdHVwbGUgPSBbCiAgICAgICAgICAgICAgICBwYWdlTm9kZXNbaV0uZ2V0QXR0cmlidXRlKCdkcmF3Om5hbWUnKSwKICAgICAgICAgICAgICAgIHBhZ2VOb2Rlc1tpXQogICAgICAgICAgICBdOwogICAgICAgICAgICBwYWdlcy5wdXNoKHR1cGxlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHBhZ2VzOwogICAgfTsKCiAgICB0aGlzLnNob3dQYWdlID0gZnVuY3Rpb24gKG4pIHsKICAgICAgICBvZGZDYW52YXMuc2hvd1BhZ2Uobik7CiAgICB9OwoKICAgIHRoaXMuZ2V0UGx1Z2luTmFtZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gcGx1Z2luTmFtZTsKICAgIH07CgogICAgdGhpcy5nZXRQbHVnaW5WZXJzaW9uID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciB2ZXJzaW9uOwoKICAgICAgICBpZiAoU3RyaW5nKHR5cGVvZiB3ZWJvZGYpICE9PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICB2ZXJzaW9uID0gd2Vib2RmLlZlcnNpb247CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmVyc2lvbiA9ICJVbmtub3duIjsKICAgICAgICB9CgogICAgICAgIHJldHVybiB2ZXJzaW9uOwogICAgfTsKCiAgICB0aGlzLmdldFBsdWdpblVSTCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gcGx1Z2luVVJMOwogICAgfTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/pdf.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogdmltOiBzZXQgc2hpZnR3aWR0aD0yIHRhYnN0b3A9MiBhdXRvaW5kZW50IGNpbmRlbnQgZXhwYW5kdGFiOiAqLwovKiBDb3B5cmlnaHQgMjAxMiBNb3ppbGxhIEZvdW5kYXRpb24KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICovCi8qanNoaW50IGdsb2JhbHN0cmljdDogZmFsc2UgKi8KLyogZ2xvYmFscyBQREZKUyAqLwoKLy8gSW5pdGlhbGl6aW5nIFBERkpTIGdsb2JhbCBvYmplY3QgKGlmIHN0aWxsIHVuZGVmaW5lZCkKaWYgKHR5cGVvZiBQREZKUyA9PT0gJ3VuZGVmaW5lZCcpIHsKICAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB0aGlzKS5QREZKUyA9IHt9Owp9CgpQREZKUy52ZXJzaW9uID0gJzEuMS4xMTQnOwpQREZKUy5idWlsZCA9ICczZmQ0NGZkJzsKCihmdW5jdGlvbiBwZGZqc1dyYXBwZXIoKSB7CiAgLy8gVXNlIHN0cmljdCBpbiBvdXIgY29udGV4dCBvbmx5IC0gdXNlcnMgbWlnaHQgbm90IHdhbnQgaXQKICAndXNlIHN0cmljdCc7CgovKiAtKi0gTW9kZTogSmF2YTsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLwovKiB2aW06IHNldCBzaGlmdHdpZHRoPTIgdGFic3RvcD0yIGF1dG9pbmRlbnQgY2luZGVudCBleHBhbmR0YWI6ICovCi8qIENvcHlyaWdodCAyMDEyIE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KLyogZ2xvYmFscyBDbWQsIENvbG9yU3BhY2UsIERpY3QsIE1vekJsb2JCdWlsZGVyLCBOYW1lLCBQREZKUywgUmVmLCBVUkwsCiAgICAgICAgICAgUHJvbWlzZSAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIGdsb2JhbFNjb3BlID0gKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSA/IHRoaXMgOiB3aW5kb3c7Cgp2YXIgaXNXb3JrZXIgPSAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpOwoKdmFyIEZPTlRfSURFTlRJVFlfTUFUUklYID0gWzAuMDAxLCAwLCAwLCAwLjAwMSwgMCwgMF07Cgp2YXIgVGV4dFJlbmRlcmluZ01vZGUgPSB7CiAgRklMTDogMCwKICBTVFJPS0U6IDEsCiAgRklMTF9TVFJPS0U6IDIsCiAgSU5WSVNJQkxFOiAzLAogIEZJTExfQUREX1RPX1BBVEg6IDQsCiAgU1RST0tFX0FERF9UT19QQVRIOiA1LAogIEZJTExfU1RST0tFX0FERF9UT19QQVRIOiA2LAogIEFERF9UT19QQVRIOiA3LAogIEZJTExfU1RST0tFX01BU0s6IDMsCiAgQUREX1RPX1BBVEhfRkxBRzogNAp9OwoKdmFyIEltYWdlS2luZCA9IHsKICBHUkFZU0NBTEVfMUJQUDogMSwKICBSR0JfMjRCUFA6IDIsCiAgUkdCQV8zMkJQUDogMwp9OwoKdmFyIEFubm90YXRpb25UeXBlID0gewogIFdJREdFVDogMSwKICBURVhUOiAyLAogIExJTks6IDMKfTsKCnZhciBTdHJlYW1UeXBlID0gewogIFVOS05PV046IDAsCiAgRkxBVEU6IDEsCiAgTFpXOiAyLAogIERDVDogMywKICBKUFg6IDQsCiAgSkJJRzogNSwKICBBODU6IDYsCiAgQUhYOiA3LAogIENDRjogOCwKICBSTDogOQp9OwoKdmFyIEZvbnRUeXBlID0gewogIFVOS05PV046IDAsCiAgVFlQRTE6IDEsCiAgVFlQRTFDOiAyLAogIENJREZPTlRUWVBFMDogMywKICBDSURGT05UVFlQRTBDOiA0LAogIFRSVUVUWVBFOiA1LAogIENJREZPTlRUWVBFMjogNiwKICBUWVBFMzogNywKICBPUEVOVFlQRTogOCwKICBUWVBFMDogOSwKICBNTVRZUEUxOiAxMAp9OwoKLy8gVGhlIGdsb2JhbCBQREZKUyBvYmplY3QgZXhwb3NlcyB0aGUgQVBJCi8vIEluIHByb2R1Y3Rpb24sIGl0IHdpbGwgYmUgZGVjbGFyZWQgb3V0c2lkZSBhIGdsb2JhbCB3cmFwcGVyCi8vIEluIGRldmVsb3BtZW50LCBpdCB3aWxsIGJlIGRlY2xhcmVkIGhlcmUKaWYgKCFnbG9iYWxTY29wZS5QREZKUykgewogIGdsb2JhbFNjb3BlLlBERkpTID0ge307Cn0KCmdsb2JhbFNjb3BlLlBERkpTLnBkZkJ1ZyA9IGZhbHNlOwoKUERGSlMuVkVSQk9TSVRZX0xFVkVMUyA9IHsKICBlcnJvcnM6IDAsCiAgd2FybmluZ3M6IDEsCiAgaW5mb3M6IDUKfTsKCi8vIEFsbCB0aGUgcG9zc2libGUgb3BlcmF0aW9ucyBmb3IgYW4gb3BlcmF0b3IgbGlzdC4KdmFyIE9QUyA9IFBERkpTLk9QUyA9IHsKICAvLyBJbnRlbnRpb25hbGx5IHN0YXJ0IGZyb20gMSBzbyBpdCBpcyBlYXN5IHRvIHNwb3QgYmFkIG9wZXJhdG9ycyB0aGF0IHdpbGwgYmUKICAvLyAwJ3MuCiAgZGVwZW5kZW5jeTogMSwKICBzZXRMaW5lV2lkdGg6IDIsCiAgc2V0TGluZUNhcDogMywKICBzZXRMaW5lSm9pbjogNCwKICBzZXRNaXRlckxpbWl0OiA1LAogIHNldERhc2g6IDYsCiAgc2V0UmVuZGVyaW5nSW50ZW50OiA3LAogIHNldEZsYXRuZXNzOiA4LAogIHNldEdTdGF0ZTogOSwKICBzYXZlOiAxMCwKICByZXN0b3JlOiAxMSwKICB0cmFuc2Zvcm06IDEyLAogIG1vdmVUbzogMTMsCiAgbGluZVRvOiAxNCwKICBjdXJ2ZVRvOiAxNSwKICBjdXJ2ZVRvMjogMTYsCiAgY3VydmVUbzM6IDE3LAogIGNsb3NlUGF0aDogMTgsCiAgcmVjdGFuZ2xlOiAxOSwKICBzdHJva2U6IDIwLAogIGNsb3NlU3Ryb2tlOiAyMSwKICBmaWxsOiAyMiwKICBlb0ZpbGw6IDIzLAogIGZpbGxTdHJva2U6IDI0LAogIGVvRmlsbFN0cm9rZTogMjUsCiAgY2xvc2VGaWxsU3Ryb2tlOiAyNiwKICBjbG9zZUVPRmlsbFN0cm9rZTogMjcsCiAgZW5kUGF0aDogMjgsCiAgY2xpcDogMjksCiAgZW9DbGlwOiAzMCwKICBiZWdpblRleHQ6IDMxLAogIGVuZFRleHQ6IDMyLAogIHNldENoYXJTcGFjaW5nOiAzMywKICBzZXRXb3JkU3BhY2luZzogMzQsCiAgc2V0SFNjYWxlOiAzNSwKICBzZXRMZWFkaW5nOiAzNiwKICBzZXRGb250OiAzNywKICBzZXRUZXh0UmVuZGVyaW5nTW9kZTogMzgsCiAgc2V0VGV4dFJpc2U6IDM5LAogIG1vdmVUZXh0OiA0MCwKICBzZXRMZWFkaW5nTW92ZVRleHQ6IDQxLAogIHNldFRleHRNYXRyaXg6IDQyLAogIG5leHRMaW5lOiA0MywKICBzaG93VGV4dDogNDQsCiAgc2hvd1NwYWNlZFRleHQ6IDQ1LAogIG5leHRMaW5lU2hvd1RleHQ6IDQ2LAogIG5leHRMaW5lU2V0U3BhY2luZ1Nob3dUZXh0OiA0NywKICBzZXRDaGFyV2lkdGg6IDQ4LAogIHNldENoYXJXaWR0aEFuZEJvdW5kczogNDksCiAgc2V0U3Ryb2tlQ29sb3JTcGFjZTogNTAsCiAgc2V0RmlsbENvbG9yU3BhY2U6IDUxLAogIHNldFN0cm9rZUNvbG9yOiA1MiwKICBzZXRTdHJva2VDb2xvck46IDUzLAogIHNldEZpbGxDb2xvcjogNTQsCiAgc2V0RmlsbENvbG9yTjogNTUsCiAgc2V0U3Ryb2tlR3JheTogNTYsCiAgc2V0RmlsbEdyYXk6IDU3LAogIHNldFN0cm9rZVJHQkNvbG9yOiA1OCwKICBzZXRGaWxsUkdCQ29sb3I6IDU5LAogIHNldFN0cm9rZUNNWUtDb2xvcjogNjAsCiAgc2V0RmlsbENNWUtDb2xvcjogNjEsCiAgc2hhZGluZ0ZpbGw6IDYyLAogIGJlZ2luSW5saW5lSW1hZ2U6IDYzLAogIGJlZ2luSW1hZ2VEYXRhOiA2NCwKICBlbmRJbmxpbmVJbWFnZTogNjUsCiAgcGFpbnRYT2JqZWN0OiA2NiwKICBtYXJrUG9pbnQ6IDY3LAogIG1hcmtQb2ludFByb3BzOiA2OCwKICBiZWdpbk1hcmtlZENvbnRlbnQ6IDY5LAogIGJlZ2luTWFya2VkQ29udGVudFByb3BzOiA3MCwKICBlbmRNYXJrZWRDb250ZW50OiA3MSwKICBiZWdpbkNvbXBhdDogNzIsCiAgZW5kQ29tcGF0OiA3MywKICBwYWludEZvcm1YT2JqZWN0QmVnaW46IDc0LAogIHBhaW50Rm9ybVhPYmplY3RFbmQ6IDc1LAogIGJlZ2luR3JvdXA6IDc2LAogIGVuZEdyb3VwOiA3NywKICBiZWdpbkFubm90YXRpb25zOiA3OCwKICBlbmRBbm5vdGF0aW9uczogNzksCiAgYmVnaW5Bbm5vdGF0aW9uOiA4MCwKICBlbmRBbm5vdGF0aW9uOiA4MSwKICBwYWludEpwZWdYT2JqZWN0OiA4MiwKICBwYWludEltYWdlTWFza1hPYmplY3Q6IDgzLAogIHBhaW50SW1hZ2VNYXNrWE9iamVjdEdyb3VwOiA4NCwKICBwYWludEltYWdlWE9iamVjdDogODUsCiAgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3Q6IDg2LAogIHBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXA6IDg3LAogIHBhaW50SW1hZ2VYT2JqZWN0UmVwZWF0OiA4OCwKICBwYWludEltYWdlTWFza1hPYmplY3RSZXBlYXQ6IDg5LAogIHBhaW50U29saWRDb2xvckltYWdlTWFzazogOTAsCiAgY29uc3RydWN0UGF0aDogOTEKfTsKCi8vIEEgbm90aWNlIGZvciBkZXZzLiBUaGVzZSBhcmUgZ29vZCBmb3IgdGhpbmdzIHRoYXQgYXJlIGhlbHBmdWwgdG8gZGV2cywgc3VjaAovLyBhcyB3YXJuaW5nIHRoYXQgV29ya2VycyB3ZXJlIGRpc2FibGVkLCB3aGljaCBpcyBpbXBvcnRhbnQgdG8gZGV2cyBidXQgbm90Ci8vIGVuZCB1c2Vycy4KZnVuY3Rpb24gaW5mbyhtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMuaW5mb3MpIHsKICAgIGNvbnNvbGUubG9nKCdJbmZvOiAnICsgbXNnKTsKICB9Cn0KCi8vIE5vbi1mYXRhbCB3YXJuaW5ncy4KZnVuY3Rpb24gd2Fybihtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMud2FybmluZ3MpIHsKICAgIGNvbnNvbGUubG9nKCdXYXJuaW5nOiAnICsgbXNnKTsKICB9Cn0KCi8vIEZhdGFsIGVycm9ycyB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBmYWxsYmFjayBVSSBhbmQgaGFsdCBleGVjdXRpb24gYnkKLy8gdGhyb3dpbmcgYW4gZXhjZXB0aW9uLgpmdW5jdGlvbiBlcnJvcihtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMuZXJyb3JzKSB7CiAgICBjb25zb2xlLmxvZygnRXJyb3I6ICcgKyBtc2cpOwogICAgY29uc29sZS5sb2coYmFja3RyYWNlKCkpOwogIH0KICBVbnN1cHBvcnRlZE1hbmFnZXIubm90aWZ5KFVOU1VQUE9SVEVEX0ZFQVRVUkVTLnVua25vd24pOwogIHRocm93IG5ldyBFcnJvcihtc2cpOwp9CgpmdW5jdGlvbiBiYWNrdHJhY2UoKSB7CiAgdHJ5IHsKICAgIHRocm93IG5ldyBFcnJvcigpOwogIH0gY2F0Y2ggKGUpIHsKICAgIHJldHVybiBlLnN0YWNrID8gZS5zdGFjay5zcGxpdCgnXG4nKS5zbGljZSgyKS5qb2luKCdcbicpIDogJyc7CiAgfQp9CgpmdW5jdGlvbiBhc3NlcnQoY29uZCwgbXNnKSB7CiAgaWYgKCFjb25kKSB7CiAgICBlcnJvcihtc2cpOwogIH0KfQoKdmFyIFVOU1VQUE9SVEVEX0ZFQVRVUkVTID0gUERGSlMuVU5TVVBQT1JURURfRkVBVFVSRVMgPSB7CiAgdW5rbm93bjogJ3Vua25vd24nLAogIGZvcm1zOiAnZm9ybXMnLAogIGphdmFTY3JpcHQ6ICdqYXZhU2NyaXB0JywKICBzbWFzazogJ3NtYXNrJywKICBzaGFkaW5nUGF0dGVybjogJ3NoYWRpbmdQYXR0ZXJuJywKICBmb250OiAnZm9udCcKfTsKCnZhciBVbnN1cHBvcnRlZE1hbmFnZXIgPSBQREZKUy5VbnN1cHBvcnRlZE1hbmFnZXIgPQogIChmdW5jdGlvbiBVbnN1cHBvcnRlZE1hbmFnZXJDbG9zdXJlKCkgewogIHZhciBsaXN0ZW5lcnMgPSBbXTsKICByZXR1cm4gewogICAgbGlzdGVuOiBmdW5jdGlvbiAoY2IpIHsKICAgICAgbGlzdGVuZXJzLnB1c2goY2IpOwogICAgfSwKICAgIG5vdGlmeTogZnVuY3Rpb24gKGZlYXR1cmVJZCkgewogICAgICB3YXJuKCdVbnN1cHBvcnRlZCBmZWF0dXJlICInICsgZmVhdHVyZUlkICsgJyInKTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICBsaXN0ZW5lcnNbaV0oZmVhdHVyZUlkKTsKICAgICAgfQogICAgfQogIH07Cn0pKCk7CgovLyBDb21iaW5lcyB0d28gVVJMcy4gVGhlIGJhc2VVcmwgc2hhbGwgYmUgYWJzb2x1dGUgVVJMLiBJZiB0aGUgdXJsIGlzIGFuCi8vIGFic29sdXRlIFVSTCwgaXQgd2lsbCBiZSByZXR1cm5lZCBhcyBpcy4KZnVuY3Rpb24gY29tYmluZVVybChiYXNlVXJsLCB1cmwpIHsKICBpZiAoIXVybCkgewogICAgcmV0dXJuIGJhc2VVcmw7CiAgfQogIGlmICgvXlthLXpdW2EtejAtOStcLS5dKjovaS50ZXN0KHVybCkpIHsKICAgIHJldHVybiB1cmw7CiAgfQogIHZhciBpOwogIGlmICh1cmwuY2hhckF0KDApID09PSAnLycpIHsKICAgIC8vIGFic29sdXRlIHBhdGgKICAgIGkgPSBiYXNlVXJsLmluZGV4T2YoJzovLycpOwogICAgaWYgKHVybC5jaGFyQXQoMSkgPT09ICcvJykgewogICAgICArK2k7CiAgICB9IGVsc2UgewogICAgICBpID0gYmFzZVVybC5pbmRleE9mKCcvJywgaSArIDMpOwogICAgfQogICAgcmV0dXJuIGJhc2VVcmwuc3Vic3RyaW5nKDAsIGkpICsgdXJsOwogIH0gZWxzZSB7CiAgICAvLyByZWxhdGl2ZSBwYXRoCiAgICB2YXIgcGF0aExlbmd0aCA9IGJhc2VVcmwubGVuZ3RoOwogICAgaSA9IGJhc2VVcmwubGFzdEluZGV4T2YoJyMnKTsKICAgIHBhdGhMZW5ndGggPSBpID49IDAgPyBpIDogcGF0aExlbmd0aDsKICAgIGkgPSBiYXNlVXJsLmxhc3RJbmRleE9mKCc/JywgcGF0aExlbmd0aCk7CiAgICBwYXRoTGVuZ3RoID0gaSA+PSAwID8gaSA6IHBhdGhMZW5ndGg7CiAgICB2YXIgcHJlZml4TGVuZ3RoID0gYmFzZVVybC5sYXN0SW5kZXhPZignLycsIHBhdGhMZW5ndGgpOwogICAgcmV0dXJuIGJhc2VVcmwuc3Vic3RyaW5nKDAsIHByZWZpeExlbmd0aCArIDEpICsgdXJsOwogIH0KfQoKLy8gVmFsaWRhdGVzIGlmIFVSTCBpcyBzYWZlIGFuZCBhbGxvd2VkLCBlLmcuIHRvIGF2b2lkIFhTUy4KZnVuY3Rpb24gaXNWYWxpZFVybCh1cmwsIGFsbG93UmVsYXRpdmUpIHsKICBpZiAoIXVybCkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICAvLyBSRkMgMzk4NiAoaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMSkKICAvLyBzY2hlbWUgPSBBTFBIQSAqKCBBTFBIQSAvIERJR0lUIC8gIisiIC8gIi0iIC8gIi4iICkKICB2YXIgcHJvdG9jb2wgPSAvXlthLXpdW2EtejAtOStcLS5dKig/PTopL2kuZXhlYyh1cmwpOwogIGlmICghcHJvdG9jb2wpIHsKICAgIHJldHVybiBhbGxvd1JlbGF0aXZlOwogIH0KICBwcm90b2NvbCA9IHByb3RvY29sWzBdLnRvTG93ZXJDYXNlKCk7CiAgc3dpdGNoIChwcm90b2NvbCkgewogICAgY2FzZSAnaHR0cCc6CiAgICBjYXNlICdodHRwcyc6CiAgICBjYXNlICdmdHAnOgogICAgY2FzZSAnbWFpbHRvJzoKICAgIGNhc2UgJ3RlbCc6CiAgICAgIHJldHVybiB0cnVlOwogICAgZGVmYXVsdDoKICAgICAgcmV0dXJuIGZhbHNlOwogIH0KfQpQREZKUy5pc1ZhbGlkVXJsID0gaXNWYWxpZFVybDsKCmZ1bmN0aW9uIHNoYWRvdyhvYmosIHByb3AsIHZhbHVlKSB7CiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgeyB2YWx1ZTogdmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlIH0pOwogIHJldHVybiB2YWx1ZTsKfQpQREZKUy5zaGFkb3cgPSBzaGFkb3c7Cgp2YXIgUGFzc3dvcmRSZXNwb25zZXMgPSBQREZKUy5QYXNzd29yZFJlc3BvbnNlcyA9IHsKICBORUVEX1BBU1NXT1JEOiAxLAogIElOQ09SUkVDVF9QQVNTV09SRDogMgp9OwoKdmFyIFBhc3N3b3JkRXhjZXB0aW9uID0gKGZ1bmN0aW9uIFBhc3N3b3JkRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBQYXNzd29yZEV4Y2VwdGlvbihtc2csIGNvZGUpIHsKICAgIHRoaXMubmFtZSA9ICdQYXNzd29yZEV4Y2VwdGlvbic7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgICB0aGlzLmNvZGUgPSBjb2RlOwogIH0KCiAgUGFzc3dvcmRFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgUGFzc3dvcmRFeGNlcHRpb24uY29uc3RydWN0b3IgPSBQYXNzd29yZEV4Y2VwdGlvbjsKCiAgcmV0dXJuIFBhc3N3b3JkRXhjZXB0aW9uOwp9KSgpOwpQREZKUy5QYXNzd29yZEV4Y2VwdGlvbiA9IFBhc3N3b3JkRXhjZXB0aW9uOwoKdmFyIFVua25vd25FcnJvckV4Y2VwdGlvbiA9IChmdW5jdGlvbiBVbmtub3duRXJyb3JFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFVua25vd25FcnJvckV4Y2VwdGlvbihtc2csIGRldGFpbHMpIHsKICAgIHRoaXMubmFtZSA9ICdVbmtub3duRXJyb3JFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogICAgdGhpcy5kZXRhaWxzID0gZGV0YWlsczsKICB9CgogIFVua25vd25FcnJvckV4Y2VwdGlvbi5wcm90b3R5cGUgPSBuZXcgRXJyb3IoKTsKICBVbmtub3duRXJyb3JFeGNlcHRpb24uY29uc3RydWN0b3IgPSBVbmtub3duRXJyb3JFeGNlcHRpb247CgogIHJldHVybiBVbmtub3duRXJyb3JFeGNlcHRpb247Cn0pKCk7ClBERkpTLlVua25vd25FcnJvckV4Y2VwdGlvbiA9IFVua25vd25FcnJvckV4Y2VwdGlvbjsKCnZhciBJbnZhbGlkUERGRXhjZXB0aW9uID0gKGZ1bmN0aW9uIEludmFsaWRQREZFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEludmFsaWRQREZFeGNlcHRpb24obXNnKSB7CiAgICB0aGlzLm5hbWUgPSAnSW52YWxpZFBERkV4Y2VwdGlvbic7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgfQoKICBJbnZhbGlkUERGRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpOwogIEludmFsaWRQREZFeGNlcHRpb24uY29uc3RydWN0b3IgPSBJbnZhbGlkUERGRXhjZXB0aW9uOwoKICByZXR1cm4gSW52YWxpZFBERkV4Y2VwdGlvbjsKfSkoKTsKUERGSlMuSW52YWxpZFBERkV4Y2VwdGlvbiA9IEludmFsaWRQREZFeGNlcHRpb247Cgp2YXIgTWlzc2luZ1BERkV4Y2VwdGlvbiA9IChmdW5jdGlvbiBNaXNzaW5nUERGRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBNaXNzaW5nUERGRXhjZXB0aW9uKG1zZykgewogICAgdGhpcy5uYW1lID0gJ01pc3NpbmdQREZFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogIH0KCiAgTWlzc2luZ1BERkV4Y2VwdGlvbi5wcm90b3R5cGUgPSBuZXcgRXJyb3IoKTsKICBNaXNzaW5nUERGRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTWlzc2luZ1BERkV4Y2VwdGlvbjsKCiAgcmV0dXJuIE1pc3NpbmdQREZFeGNlcHRpb247Cn0pKCk7ClBERkpTLk1pc3NpbmdQREZFeGNlcHRpb24gPSBNaXNzaW5nUERGRXhjZXB0aW9uOwoKdmFyIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiA9CiAgICAoZnVuY3Rpb24gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24obXNnLCBzdGF0dXMpIHsKICAgIHRoaXMubmFtZSA9ICdVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7CiAgfQoKICBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uOwoKICByZXR1cm4gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uOwp9KSgpOwpQREZKUy5VbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24gPSBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb247Cgp2YXIgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24gPSAoZnVuY3Rpb24gTm90SW1wbGVtZW50ZWRFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKG1zZykgewogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogIH0KCiAgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24ucHJvdG90eXBlLm5hbWUgPSAnTm90SW1wbGVtZW50ZWRFeGNlcHRpb24nOwogIE5vdEltcGxlbWVudGVkRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTm90SW1wbGVtZW50ZWRFeGNlcHRpb247CgogIHJldHVybiBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbjsKfSkoKTsKCnZhciBNaXNzaW5nRGF0YUV4Y2VwdGlvbiA9IChmdW5jdGlvbiBNaXNzaW5nRGF0YUV4Y2VwdGlvbkNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gTWlzc2luZ0RhdGFFeGNlcHRpb24oYmVnaW4sIGVuZCkgewogICAgdGhpcy5iZWdpbiA9IGJlZ2luOwogICAgdGhpcy5lbmQgPSBlbmQ7CiAgICB0aGlzLm1lc3NhZ2UgPSAnTWlzc2luZyBkYXRhIFsnICsgYmVnaW4gKyAnLCAnICsgZW5kICsgJyknOwogIH0KCiAgTWlzc2luZ0RhdGFFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgTWlzc2luZ0RhdGFFeGNlcHRpb24ucHJvdG90eXBlLm5hbWUgPSAnTWlzc2luZ0RhdGFFeGNlcHRpb24nOwogIE1pc3NpbmdEYXRhRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTWlzc2luZ0RhdGFFeGNlcHRpb247CgogIHJldHVybiBNaXNzaW5nRGF0YUV4Y2VwdGlvbjsKfSkoKTsKCnZhciBYUmVmUGFyc2VFeGNlcHRpb24gPSAoZnVuY3Rpb24gWFJlZlBhcnNlRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBYUmVmUGFyc2VFeGNlcHRpb24obXNnKSB7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgfQoKICBYUmVmUGFyc2VFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgWFJlZlBhcnNlRXhjZXB0aW9uLnByb3RvdHlwZS5uYW1lID0gJ1hSZWZQYXJzZUV4Y2VwdGlvbic7CiAgWFJlZlBhcnNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gWFJlZlBhcnNlRXhjZXB0aW9uOwoKICByZXR1cm4gWFJlZlBhcnNlRXhjZXB0aW9uOwp9KSgpOwoKCmZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoYnl0ZXMpIHsKICBhc3NlcnQoYnl0ZXMgIT09IG51bGwgJiYgdHlwZW9mIGJ5dGVzID09PSAnb2JqZWN0JyAmJgogICAgICAgICBieXRlcy5sZW5ndGggIT09IHVuZGVmaW5lZCwgJ0ludmFsaWQgYXJndW1lbnQgZm9yIGJ5dGVzVG9TdHJpbmcnKTsKICB2YXIgbGVuZ3RoID0gYnl0ZXMubGVuZ3RoOwogIHZhciBNQVhfQVJHVU1FTlRfQ09VTlQgPSA4MTkyOwogIGlmIChsZW5ndGggPCBNQVhfQVJHVU1FTlRfQ09VTlQpIHsKICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGJ5dGVzKTsKICB9CiAgdmFyIHN0ckJ1ZiA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IE1BWF9BUkdVTUVOVF9DT1VOVCkgewogICAgdmFyIGNodW5rRW5kID0gTWF0aC5taW4oaSArIE1BWF9BUkdVTUVOVF9DT1VOVCwgbGVuZ3RoKTsKICAgIHZhciBjaHVuayA9IGJ5dGVzLnN1YmFycmF5KGksIGNodW5rRW5kKTsKICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgY2h1bmspKTsKICB9CiAgcmV0dXJuIHN0ckJ1Zi5qb2luKCcnKTsKfQoKZnVuY3Rpb24gc3RyaW5nVG9CeXRlcyhzdHIpIHsKICBhc3NlcnQodHlwZW9mIHN0ciA9PT0gJ3N0cmluZycsICdJbnZhbGlkIGFyZ3VtZW50IGZvciBzdHJpbmdUb0J5dGVzJyk7CiAgdmFyIGxlbmd0aCA9IHN0ci5sZW5ndGg7CiAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICBieXRlc1tpXSA9IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhGRjsKICB9CiAgcmV0dXJuIGJ5dGVzOwp9CgpmdW5jdGlvbiBzdHJpbmczMih2YWx1ZSkgewogIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCh2YWx1ZSA+PiAyNCkgJiAweGZmLCAodmFsdWUgPj4gMTYpICYgMHhmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgPj4gOCkgJiAweGZmLCB2YWx1ZSAmIDB4ZmYpOwp9CgpmdW5jdGlvbiBsb2cyKHgpIHsKICB2YXIgbiA9IDEsIGkgPSAwOwogIHdoaWxlICh4ID4gbikgewogICAgbiA8PD0gMTsKICAgIGkrKzsKICB9CiAgcmV0dXJuIGk7Cn0KCmZ1bmN0aW9uIHJlYWRJbnQ4KGRhdGEsIHN0YXJ0KSB7CiAgcmV0dXJuIChkYXRhW3N0YXJ0XSA8PCAyNCkgPj4gMjQ7Cn0KCmZ1bmN0aW9uIHJlYWRVaW50MTYoZGF0YSwgb2Zmc2V0KSB7CiAgcmV0dXJuIChkYXRhW29mZnNldF0gPDwgOCkgfCBkYXRhW29mZnNldCArIDFdOwp9CgpmdW5jdGlvbiByZWFkVWludDMyKGRhdGEsIG9mZnNldCkgewogIHJldHVybiAoKGRhdGFbb2Zmc2V0XSA8PCAyNCkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxNikgfAogICAgICAgICAoZGF0YVtvZmZzZXQgKyAyXSA8PCA4KSB8IGRhdGFbb2Zmc2V0ICsgM10pID4+PiAwOwp9CgovLyBMYXp5IHRlc3QgdGhlIGVuZGlhbm5lc3Mgb2YgdGhlIHBsYXRmb3JtCi8vIE5PVEU6IFRoaXMgd2lsbCBiZSAndHJ1ZScgZm9yIHNpbXVsYXRlZCBUeXBlZEFycmF5cwpmdW5jdGlvbiBpc0xpdHRsZUVuZGlhbigpIHsKICB2YXIgYnVmZmVyOCA9IG5ldyBVaW50OEFycmF5KDIpOwogIGJ1ZmZlcjhbMF0gPSAxOwogIHZhciBidWZmZXIxNiA9IG5ldyBVaW50MTZBcnJheShidWZmZXI4LmJ1ZmZlcik7CiAgcmV0dXJuIChidWZmZXIxNlswXSA9PT0gMSk7Cn0KCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShQREZKUywgJ2lzTGl0dGxlRW5kaWFuJywgewogIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKICBnZXQ6IGZ1bmN0aW9uIFBERkpTX2lzTGl0dGxlRW5kaWFuKCkgewogICAgcmV0dXJuIHNoYWRvdyhQREZKUywgJ2lzTGl0dGxlRW5kaWFuJywgaXNMaXR0bGVFbmRpYW4oKSk7CiAgfQp9KTsKCi8vI2lmICEoRklSRUZPWCB8fCBNT1pDRU5UUkFMIHx8IEIyRyB8fCBDSFJPTUUpCi8vLy8gTGF6eSB0ZXN0IGlmIHRoZSB1c2VyQWdhbnQgc3VwcG9ydCBDYW52YXNUeXBlZEFycmF5cwpmdW5jdGlvbiBoYXNDYW52YXNUeXBlZEFycmF5cygpIHsKICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgY2FudmFzLndpZHRoID0gY2FudmFzLmhlaWdodCA9IDE7CiAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogIHZhciBpbWFnZURhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpOwogIHJldHVybiAodHlwZW9mIGltYWdlRGF0YS5kYXRhLmJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpOwp9CgpPYmplY3QuZGVmaW5lUHJvcGVydHkoUERGSlMsICdoYXNDYW52YXNUeXBlZEFycmF5cycsIHsKICBjb25maWd1cmFibGU6IHRydWUsCiAgZ2V0OiBmdW5jdGlvbiBQREZKU19oYXNDYW52YXNUeXBlZEFycmF5cygpIHsKICAgIHJldHVybiBzaGFkb3coUERGSlMsICdoYXNDYW52YXNUeXBlZEFycmF5cycsIGhhc0NhbnZhc1R5cGVkQXJyYXlzKCkpOwogIH0KfSk7Cgp2YXIgVWludDMyQXJyYXlWaWV3ID0gKGZ1bmN0aW9uIFVpbnQzMkFycmF5Vmlld0Nsb3N1cmUoKSB7CgogIGZ1bmN0aW9uIFVpbnQzMkFycmF5VmlldyhidWZmZXIsIGxlbmd0aCkgewogICAgdGhpcy5idWZmZXIgPSBidWZmZXI7CiAgICB0aGlzLmJ5dGVMZW5ndGggPSBidWZmZXIubGVuZ3RoOwogICAgdGhpcy5sZW5ndGggPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/ICh0aGlzLmJ5dGVMZW5ndGggPj4gMikgOiBsZW5ndGg7CiAgICBlbnN1cmVVaW50MzJBcnJheVZpZXdQcm9wcyh0aGlzLmxlbmd0aCk7CiAgfQogIFVpbnQzMkFycmF5Vmlldy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKG51bGwpOwoKICB2YXIgdWludDMyQXJyYXlWaWV3U2V0dGVycyA9IDA7CiAgZnVuY3Rpb24gY3JlYXRlVWludDMyQXJyYXlQcm9wKGluZGV4KSB7CiAgICByZXR1cm4gewogICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXIsIG9mZnNldCA9IGluZGV4IDw8IDI7CiAgICAgICAgcmV0dXJuIChidWZmZXJbb2Zmc2V0XSB8IChidWZmZXJbb2Zmc2V0ICsgMV0gPDwgOCkgfAogICAgICAgICAgKGJ1ZmZlcltvZmZzZXQgKyAyXSA8PCAxNikgfCAoYnVmZmVyW29mZnNldCArIDNdIDw8IDI0KSkgPj4+IDA7CiAgICAgIH0sCiAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgdmFyIGJ1ZmZlciA9IHRoaXMuYnVmZmVyLCBvZmZzZXQgPSBpbmRleCA8PCAyOwogICAgICAgIGJ1ZmZlcltvZmZzZXRdID0gdmFsdWUgJiAyNTU7CiAgICAgICAgYnVmZmVyW29mZnNldCArIDFdID0gKHZhbHVlID4+IDgpICYgMjU1OwogICAgICAgIGJ1ZmZlcltvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+PiAxNikgJiAyNTU7CiAgICAgICAgYnVmZmVyW29mZnNldCArIDNdID0gKHZhbHVlID4+PiAyNCkgJiAyNTU7CiAgICAgIH0KICAgIH07CiAgfQoKICBmdW5jdGlvbiBlbnN1cmVVaW50MzJBcnJheVZpZXdQcm9wcyhsZW5ndGgpIHsKICAgIHdoaWxlICh1aW50MzJBcnJheVZpZXdTZXR0ZXJzIDwgbGVuZ3RoKSB7CiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShVaW50MzJBcnJheVZpZXcucHJvdG90eXBlLAogICAgICAgIHVpbnQzMkFycmF5Vmlld1NldHRlcnMsCiAgICAgICAgY3JlYXRlVWludDMyQXJyYXlQcm9wKHVpbnQzMkFycmF5Vmlld1NldHRlcnMpKTsKICAgICAgdWludDMyQXJyYXlWaWV3U2V0dGVycysrOwogICAgfQogIH0KCiAgcmV0dXJuIFVpbnQzMkFycmF5VmlldzsKfSkoKTsKLy8jZWxzZQovL1BERkpTLmhhc0NhbnZhc1R5cGVkQXJyYXlzID0gdHJ1ZTsKLy8jZW5kaWYKCnZhciBJREVOVElUWV9NQVRSSVggPSBbMSwgMCwgMCwgMSwgMCwgMF07Cgp2YXIgVXRpbCA9IFBERkpTLlV0aWwgPSAoZnVuY3Rpb24gVXRpbENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gVXRpbCgpIHt9CgogIHZhciByZ2JCdWYgPSBbJ3JnYignLCAwLCAnLCcsIDAsICcsJywgMCwgJyknXTsKCiAgLy8gbWFrZUNzc1JnYigpIGNhbiBiZSBjYWxsZWQgdGhvdXNhbmRzIG9mIHRpbWVzLiBVc2luZyB8cmdiQnVmfCBhdm9pZHMKICAvLyBjcmVhdGluZyBtYW55IGludGVybWVkaWF0ZSBzdHJpbmdzLgogIFV0aWwubWFrZUNzc1JnYiA9IGZ1bmN0aW9uIFV0aWxfbWFrZUNzc1JnYihyLCBnLCBiKSB7CiAgICByZ2JCdWZbMV0gPSByOwogICAgcmdiQnVmWzNdID0gZzsKICAgIHJnYkJ1Zls1XSA9IGI7CiAgICByZXR1cm4gcmdiQnVmLmpvaW4oJycpOwogIH07CgogIC8vIENvbmNhdGVuYXRlcyB0d28gdHJhbnNmb3JtYXRpb24gbWF0cmljZXMgdG9nZXRoZXIgYW5kIHJldHVybnMgdGhlIHJlc3VsdC4KICBVdGlsLnRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfdHJhbnNmb3JtKG0xLCBtMikgewogICAgcmV0dXJuIFsKICAgICAgbTFbMF0gKiBtMlswXSArIG0xWzJdICogbTJbMV0sCiAgICAgIG0xWzFdICogbTJbMF0gKyBtMVszXSAqIG0yWzFdLAogICAgICBtMVswXSAqIG0yWzJdICsgbTFbMl0gKiBtMlszXSwKICAgICAgbTFbMV0gKiBtMlsyXSArIG0xWzNdICogbTJbM10sCiAgICAgIG0xWzBdICogbTJbNF0gKyBtMVsyXSAqIG0yWzVdICsgbTFbNF0sCiAgICAgIG0xWzFdICogbTJbNF0gKyBtMVszXSAqIG0yWzVdICsgbTFbNV0KICAgIF07CiAgfTsKCiAgLy8gRm9yIDJkIGFmZmluZSB0cmFuc2Zvcm1zCiAgVXRpbC5hcHBseVRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfYXBwbHlUcmFuc2Zvcm0ocCwgbSkgewogICAgdmFyIHh0ID0gcFswXSAqIG1bMF0gKyBwWzFdICogbVsyXSArIG1bNF07CiAgICB2YXIgeXQgPSBwWzBdICogbVsxXSArIHBbMV0gKiBtWzNdICsgbVs1XTsKICAgIHJldHVybiBbeHQsIHl0XTsKICB9OwoKICBVdGlsLmFwcGx5SW52ZXJzZVRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfYXBwbHlJbnZlcnNlVHJhbnNmb3JtKHAsIG0pIHsKICAgIHZhciBkID0gbVswXSAqIG1bM10gLSBtWzFdICogbVsyXTsKICAgIHZhciB4dCA9IChwWzBdICogbVszXSAtIHBbMV0gKiBtWzJdICsgbVsyXSAqIG1bNV0gLSBtWzRdICogbVszXSkgLyBkOwogICAgdmFyIHl0ID0gKC1wWzBdICogbVsxXSArIHBbMV0gKiBtWzBdICsgbVs0XSAqIG1bMV0gLSBtWzVdICogbVswXSkgLyBkOwogICAgcmV0dXJuIFt4dCwgeXRdOwogIH07CgogIC8vIEFwcGxpZXMgdGhlIHRyYW5zZm9ybSB0byB0aGUgcmVjdGFuZ2xlIGFuZCBmaW5kcyB0aGUgbWluaW11bSBheGlhbGx5CiAgLy8gYWxpZ25lZCBib3VuZGluZyBib3guCiAgVXRpbC5nZXRBeGlhbEFsaWduZWRCb3VuZGluZ0JveCA9CiAgICBmdW5jdGlvbiBVdGlsX2dldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KHIsIG0pIHsKCiAgICB2YXIgcDEgPSBVdGlsLmFwcGx5VHJhbnNmb3JtKHIsIG0pOwogICAgdmFyIHAyID0gVXRpbC5hcHBseVRyYW5zZm9ybShyLnNsaWNlKDIsIDQpLCBtKTsKICAgIHZhciBwMyA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3JbMF0sIHJbM11dLCBtKTsKICAgIHZhciBwNCA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3JbMl0sIHJbMV1dLCBtKTsKICAgIHJldHVybiBbCiAgICAgIE1hdGgubWluKHAxWzBdLCBwMlswXSwgcDNbMF0sIHA0WzBdKSwKICAgICAgTWF0aC5taW4ocDFbMV0sIHAyWzFdLCBwM1sxXSwgcDRbMV0pLAogICAgICBNYXRoLm1heChwMVswXSwgcDJbMF0sIHAzWzBdLCBwNFswXSksCiAgICAgIE1hdGgubWF4KHAxWzFdLCBwMlsxXSwgcDNbMV0sIHA0WzFdKQogICAgXTsKICB9OwoKICBVdGlsLmludmVyc2VUcmFuc2Zvcm0gPSBmdW5jdGlvbiBVdGlsX2ludmVyc2VUcmFuc2Zvcm0obSkgewogICAgdmFyIGQgPSBtWzBdICogbVszXSAtIG1bMV0gKiBtWzJdOwogICAgcmV0dXJuIFttWzNdIC8gZCwgLW1bMV0gLyBkLCAtbVsyXSAvIGQsIG1bMF0gLyBkLAogICAgICAobVsyXSAqIG1bNV0gLSBtWzRdICogbVszXSkgLyBkLCAobVs0XSAqIG1bMV0gLSBtWzVdICogbVswXSkgLyBkXTsKICB9OwoKICAvLyBBcHBseSBhIGdlbmVyaWMgM2QgbWF0cml4IE0gb24gYSAzLXZlY3RvciB2OgogIC8vICAgfCBhIGIgYyB8ICAgfCBYIHwKICAvLyAgIHwgZCBlIGYgfCB4IHwgWSB8CiAgLy8gICB8IGcgaCBpIHwgICB8IFogfAogIC8vIE0gaXMgYXNzdW1lZCB0byBiZSBzZXJpYWxpemVkIGFzIFthLGIsYyxkLGUsZixnLGgsaV0sCiAgLy8gd2l0aCB2IGFzIFtYLFksWl0KICBVdGlsLmFwcGx5M2RUcmFuc2Zvcm0gPSBmdW5jdGlvbiBVdGlsX2FwcGx5M2RUcmFuc2Zvcm0obSwgdikgewogICAgcmV0dXJuIFsKICAgICAgbVswXSAqIHZbMF0gKyBtWzFdICogdlsxXSArIG1bMl0gKiB2WzJdLAogICAgICBtWzNdICogdlswXSArIG1bNF0gKiB2WzFdICsgbVs1XSAqIHZbMl0sCiAgICAgIG1bNl0gKiB2WzBdICsgbVs3XSAqIHZbMV0gKyBtWzhdICogdlsyXQogICAgXTsKICB9OwoKICAvLyBUaGlzIGNhbGN1bGF0aW9uIHVzZXMgU2luZ3VsYXIgVmFsdWUgRGVjb21wb3NpdGlvbi4KICAvLyBUaGUgU1ZEIGNhbiBiZSByZXByZXNlbnRlZCB3aXRoIGZvcm11bGEgQSA9IFVTVi4gV2UgYXJlIGludGVyZXN0ZWQgaW4gdGhlCiAgLy8gbWF0cml4IFMgaGVyZSBiZWNhdXNlIGl0IHJlcHJlc2VudHMgdGhlIHNjYWxlIHZhbHVlcy4KICBVdGlsLnNpbmd1bGFyVmFsdWVEZWNvbXBvc2UyZFNjYWxlID0KICAgIGZ1bmN0aW9uIFV0aWxfc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUobSkgewoKICAgIHZhciB0cmFuc3Bvc2UgPSBbbVswXSwgbVsyXSwgbVsxXSwgbVszXV07CgogICAgLy8gTXVsdGlwbHkgbWF0cml4IG0gd2l0aCBpdHMgdHJhbnNwb3NlLgogICAgdmFyIGEgPSBtWzBdICogdHJhbnNwb3NlWzBdICsgbVsxXSAqIHRyYW5zcG9zZVsyXTsKICAgIHZhciBiID0gbVswXSAqIHRyYW5zcG9zZVsxXSArIG1bMV0gKiB0cmFuc3Bvc2VbM107CiAgICB2YXIgYyA9IG1bMl0gKiB0cmFuc3Bvc2VbMF0gKyBtWzNdICogdHJhbnNwb3NlWzJdOwogICAgdmFyIGQgPSBtWzJdICogdHJhbnNwb3NlWzFdICsgbVszXSAqIHRyYW5zcG9zZVszXTsKCiAgICAvLyBTb2x2ZSB0aGUgc2Vjb25kIGRlZ3JlZSBwb2x5bm9taWFsIHRvIGdldCByb290cy4KICAgIHZhciBmaXJzdCA9IChhICsgZCkgLyAyOwogICAgdmFyIHNlY29uZCA9IE1hdGguc3FydCgoYSArIGQpICogKGEgKyBkKSAtIDQgKiAoYSAqIGQgLSBjICogYikpIC8gMjsKICAgIHZhciBzeCA9IGZpcnN0ICsgc2Vjb25kIHx8IDE7CiAgICB2YXIgc3kgPSBmaXJzdCAtIHNlY29uZCB8fCAxOwoKICAgIC8vIFNjYWxlIHZhbHVlcyBhcmUgdGhlIHNxdWFyZSByb290cyBvZiB0aGUgZWlnZW52YWx1ZXMuCiAgICByZXR1cm4gW01hdGguc3FydChzeCksIE1hdGguc3FydChzeSldOwogIH07CgogIC8vIE5vcm1hbGl6ZSByZWN0YW5nbGUgcmVjdD1beDEsIHkxLCB4MiwgeTJdIHNvIHRoYXQgKHgxLHkxKSA8ICh4Mix5MikKICAvLyBGb3IgY29vcmRpbmF0ZSBzeXN0ZW1zIHdob3NlIG9yaWdpbiBsaWVzIGluIHRoZSBib3R0b20tbGVmdCwgdGhpcwogIC8vIG1lYW5zIG5vcm1hbGl6YXRpb24gdG8gKEJMLFRSKSBvcmRlcmluZy4gRm9yIHN5c3RlbXMgd2l0aCBvcmlnaW4gaW4gdGhlCiAgLy8gdG9wLWxlZnQsIHRoaXMgbWVhbnMgKFRMLEJSKSBvcmRlcmluZy4KICBVdGlsLm5vcm1hbGl6ZVJlY3QgPSBmdW5jdGlvbiBVdGlsX25vcm1hbGl6ZVJlY3QocmVjdCkgewogICAgdmFyIHIgPSByZWN0LnNsaWNlKDApOyAvLyBjbG9uZSByZWN0CiAgICBpZiAocmVjdFswXSA+IHJlY3RbMl0pIHsKICAgICAgclswXSA9IHJlY3RbMl07CiAgICAgIHJbMl0gPSByZWN0WzBdOwogICAgfQogICAgaWYgKHJlY3RbMV0gPiByZWN0WzNdKSB7CiAgICAgIHJbMV0gPSByZWN0WzNdOwogICAgICByWzNdID0gcmVjdFsxXTsKICAgIH0KICAgIHJldHVybiByOwogIH07CgogIC8vIFJldHVybnMgYSByZWN0YW5nbGUgW3gxLCB5MSwgeDIsIHkyXSBjb3JyZXNwb25kaW5nIHRvIHRoZQogIC8vIGludGVyc2VjdGlvbiBvZiByZWN0MSBhbmQgcmVjdDIuIElmIG5vIGludGVyc2VjdGlvbiwgcmV0dXJucyAnZmFsc2UnCiAgLy8gVGhlIHJlY3RhbmdsZSBjb29yZGluYXRlcyBvZiByZWN0MSwgcmVjdDIgc2hvdWxkIGJlIFt4MSwgeTEsIHgyLCB5Ml0KICBVdGlsLmludGVyc2VjdCA9IGZ1bmN0aW9uIFV0aWxfaW50ZXJzZWN0KHJlY3QxLCByZWN0MikgewogICAgZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7CiAgICAgIHJldHVybiBhIC0gYjsKICAgIH0KCiAgICAvLyBPcmRlciBwb2ludHMgYWxvbmcgdGhlIGF4ZXMKICAgIHZhciBvcmRlcmVkWCA9IFtyZWN0MVswXSwgcmVjdDFbMl0sIHJlY3QyWzBdLCByZWN0MlsyXV0uc29ydChjb21wYXJlKSwKICAgICAgICBvcmRlcmVkWSA9IFtyZWN0MVsxXSwgcmVjdDFbM10sIHJlY3QyWzFdLCByZWN0MlszXV0uc29ydChjb21wYXJlKSwKICAgICAgICByZXN1bHQgPSBbXTsKCiAgICByZWN0MSA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0MSk7CiAgICByZWN0MiA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0Mik7CgogICAgLy8gWDogZmlyc3QgYW5kIHNlY29uZCBwb2ludHMgYmVsb25nIHRvIGRpZmZlcmVudCByZWN0YW5nbGVzPwogICAgaWYgKChvcmRlcmVkWFswXSA9PT0gcmVjdDFbMF0gJiYgb3JkZXJlZFhbMV0gPT09IHJlY3QyWzBdKSB8fAogICAgICAgIChvcmRlcmVkWFswXSA9PT0gcmVjdDJbMF0gJiYgb3JkZXJlZFhbMV0gPT09IHJlY3QxWzBdKSkgewogICAgICAvLyBJbnRlcnNlY3Rpb24gbXVzdCBiZSBiZXR3ZWVuIHNlY29uZCBhbmQgdGhpcmQgcG9pbnRzCiAgICAgIHJlc3VsdFswXSA9IG9yZGVyZWRYWzFdOwogICAgICByZXN1bHRbMl0gPSBvcmRlcmVkWFsyXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLyBZOiBmaXJzdCBhbmQgc2Vjb25kIHBvaW50cyBiZWxvbmcgdG8gZGlmZmVyZW50IHJlY3RhbmdsZXM/CiAgICBpZiAoKG9yZGVyZWRZWzBdID09PSByZWN0MVsxXSAmJiBvcmRlcmVkWVsxXSA9PT0gcmVjdDJbMV0pIHx8CiAgICAgICAgKG9yZGVyZWRZWzBdID09PSByZWN0MlsxXSAmJiBvcmRlcmVkWVsxXSA9PT0gcmVjdDFbMV0pKSB7CiAgICAgIC8vIEludGVyc2VjdGlvbiBtdXN0IGJlIGJldHdlZW4gc2Vjb25kIGFuZCB0aGlyZCBwb2ludHMKICAgICAgcmVzdWx0WzFdID0gb3JkZXJlZFlbMV07CiAgICAgIHJlc3VsdFszXSA9IG9yZGVyZWRZWzJdOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7CiAgfTsKCiAgVXRpbC5zaWduID0gZnVuY3Rpb24gVXRpbF9zaWduKG51bSkgewogICAgcmV0dXJuIG51bSA8IDAgPyAtMSA6IDE7CiAgfTsKCiAgVXRpbC5hcHBlbmRUb0FycmF5ID0gZnVuY3Rpb24gVXRpbF9hcHBlbmRUb0FycmF5KGFycjEsIGFycjIpIHsKICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGFycjEsIGFycjIpOwogIH07CgogIFV0aWwucHJlcGVuZFRvQXJyYXkgPSBmdW5jdGlvbiBVdGlsX3ByZXBlbmRUb0FycmF5KGFycjEsIGFycjIpIHsKICAgIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGFycjEsIGFycjIpOwogIH07CgogIFV0aWwuZXh0ZW5kT2JqID0gZnVuY3Rpb24gZXh0ZW5kT2JqKG9iajEsIG9iajIpIHsKICAgIGZvciAodmFyIGtleSBpbiBvYmoyKSB7CiAgICAgIG9iajFba2V5XSA9IG9iajJba2V5XTsKICAgIH0KICB9OwoKICBVdGlsLmdldEluaGVyaXRhYmxlUHJvcGVydHkgPSBmdW5jdGlvbiBVdGlsX2dldEluaGVyaXRhYmxlUHJvcGVydHkoZGljdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSkgewogICAgd2hpbGUgKGRpY3QgJiYgIWRpY3QuaGFzKG5hbWUpKSB7CiAgICAgIGRpY3QgPSBkaWN0LmdldCgnUGFyZW50Jyk7CiAgICB9CiAgICBpZiAoIWRpY3QpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICByZXR1cm4gZGljdC5nZXQobmFtZSk7CiAgfTsKCiAgVXRpbC5pbmhlcml0ID0gZnVuY3Rpb24gVXRpbF9pbmhlcml0KHN1YiwgYmFzZSwgcHJvdG90eXBlKSB7CiAgICBzdWIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShiYXNlLnByb3RvdHlwZSk7CiAgICBzdWIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViOwogICAgZm9yICh2YXIgcHJvcCBpbiBwcm90b3R5cGUpIHsKICAgICAgc3ViLnByb3RvdHlwZVtwcm9wXSA9IHByb3RvdHlwZVtwcm9wXTsKICAgIH0KICB9OwoKICBVdGlsLmxvYWRTY3JpcHQgPSBmdW5jdGlvbiBVdGlsX2xvYWRTY3JpcHQoc3JjLCBjYWxsYmFjaykgewogICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgdmFyIGxvYWRlZCA9IGZhbHNlOwogICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJywgc3JjKTsKICAgIGlmIChjYWxsYmFjaykgewogICAgICBzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKCFsb2FkZWQpIHsKICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfQogICAgICAgIGxvYWRlZCA9IHRydWU7CiAgICAgIH07CiAgICB9CiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7CiAgfTsKCiAgcmV0dXJuIFV0aWw7Cn0pKCk7CgovKioKICogUERGIHBhZ2Ugdmlld3BvcnQgY3JlYXRlZCBiYXNlZCBvbiBzY2FsZSwgcm90YXRpb24gYW5kIG9mZnNldC4KICogQGNsYXNzCiAqIEBhbGlhcyBQREZKUy5QYWdlVmlld3BvcnQKICovCnZhciBQYWdlVmlld3BvcnQgPSBQREZKUy5QYWdlVmlld3BvcnQgPSAoZnVuY3Rpb24gUGFnZVZpZXdwb3J0Q2xvc3VyZSgpIHsKICAvKioKICAgKiBAY29uc3RydWN0b3IKICAgKiBAcHJpdmF0ZQogICAqIEBwYXJhbSB2aWV3Qm94IHtBcnJheX0geE1pbiwgeU1pbiwgeE1heCBhbmQgeU1heCBjb29yZGluYXRlcy4KICAgKiBAcGFyYW0gc2NhbGUge251bWJlcn0gc2NhbGUgb2YgdGhlIHZpZXdwb3J0LgogICAqIEBwYXJhbSByb3RhdGlvbiB7bnVtYmVyfSByb3RhdGlvbnMgb2YgdGhlIHZpZXdwb3J0IGluIGRlZ3JlZXMuCiAgICogQHBhcmFtIG9mZnNldFgge251bWJlcn0gb2Zmc2V0IFgKICAgKiBAcGFyYW0gb2Zmc2V0WSB7bnVtYmVyfSBvZmZzZXQgWQogICAqIEBwYXJhbSBkb250RmxpcCB7Ym9vbGVhbn0gaWYgdHJ1ZSwgYXhpcyBZIHdpbGwgbm90IGJlIGZsaXBwZWQuCiAgICovCiAgZnVuY3Rpb24gUGFnZVZpZXdwb3J0KHZpZXdCb3gsIHNjYWxlLCByb3RhdGlvbiwgb2Zmc2V0WCwgb2Zmc2V0WSwgZG9udEZsaXApIHsKICAgIHRoaXMudmlld0JveCA9IHZpZXdCb3g7CiAgICB0aGlzLnNjYWxlID0gc2NhbGU7CiAgICB0aGlzLnJvdGF0aW9uID0gcm90YXRpb247CiAgICB0aGlzLm9mZnNldFggPSBvZmZzZXRYOwogICAgdGhpcy5vZmZzZXRZID0gb2Zmc2V0WTsKCiAgICAvLyBjcmVhdGluZyB0cmFuc2Zvcm0gdG8gY29udmVydCBwZGYgY29vcmRpbmF0ZSBzeXN0ZW0gdG8gdGhlIG5vcm1hbAogICAgLy8gY2FudmFzIGxpa2UgY29vcmRpbmF0ZXMgdGFraW5nIGluIGFjY291bnQgc2NhbGUgYW5kIHJvdGF0aW9uCiAgICB2YXIgY2VudGVyWCA9ICh2aWV3Qm94WzJdICsgdmlld0JveFswXSkgLyAyOwogICAgdmFyIGNlbnRlclkgPSAodmlld0JveFszXSArIHZpZXdCb3hbMV0pIC8gMjsKICAgIHZhciByb3RhdGVBLCByb3RhdGVCLCByb3RhdGVDLCByb3RhdGVEOwogICAgcm90YXRpb24gPSByb3RhdGlvbiAlIDM2MDsKICAgIHJvdGF0aW9uID0gcm90YXRpb24gPCAwID8gcm90YXRpb24gKyAzNjAgOiByb3RhdGlvbjsKICAgIHN3aXRjaCAocm90YXRpb24pIHsKICAgICAgY2FzZSAxODA6CiAgICAgICAgcm90YXRlQSA9IC0xOyByb3RhdGVCID0gMDsgcm90YXRlQyA9IDA7IHJvdGF0ZUQgPSAxOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDkwOgogICAgICAgIHJvdGF0ZUEgPSAwOyByb3RhdGVCID0gMTsgcm90YXRlQyA9IDE7IHJvdGF0ZUQgPSAwOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDI3MDoKICAgICAgICByb3RhdGVBID0gMDsgcm90YXRlQiA9IC0xOyByb3RhdGVDID0gLTE7IHJvdGF0ZUQgPSAwOwogICAgICAgIGJyZWFrOwogICAgICAvL2Nhc2UgMDoKICAgICAgZGVmYXVsdDoKICAgICAgICByb3RhdGVBID0gMTsgcm90YXRlQiA9IDA7IHJvdGF0ZUMgPSAwOyByb3RhdGVEID0gLTE7CiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgaWYgKGRvbnRGbGlwKSB7CiAgICAgIHJvdGF0ZUMgPSAtcm90YXRlQzsgcm90YXRlRCA9IC1yb3RhdGVEOwogICAgfQoKICAgIHZhciBvZmZzZXRDYW52YXNYLCBvZmZzZXRDYW52YXNZOwogICAgdmFyIHdpZHRoLCBoZWlnaHQ7CiAgICBpZiAocm90YXRlQSA9PT0gMCkgewogICAgICBvZmZzZXRDYW52YXNYID0gTWF0aC5hYnMoY2VudGVyWSAtIHZpZXdCb3hbMV0pICogc2NhbGUgKyBvZmZzZXRYOwogICAgICBvZmZzZXRDYW52YXNZID0gTWF0aC5hYnMoY2VudGVyWCAtIHZpZXdCb3hbMF0pICogc2NhbGUgKyBvZmZzZXRZOwogICAgICB3aWR0aCA9IE1hdGguYWJzKHZpZXdCb3hbM10gLSB2aWV3Qm94WzFdKSAqIHNjYWxlOwogICAgICBoZWlnaHQgPSBNYXRoLmFicyh2aWV3Qm94WzJdIC0gdmlld0JveFswXSkgKiBzY2FsZTsKICAgIH0gZWxzZSB7CiAgICAgIG9mZnNldENhbnZhc1ggPSBNYXRoLmFicyhjZW50ZXJYIC0gdmlld0JveFswXSkgKiBzY2FsZSArIG9mZnNldFg7CiAgICAgIG9mZnNldENhbnZhc1kgPSBNYXRoLmFicyhjZW50ZXJZIC0gdmlld0JveFsxXSkgKiBzY2FsZSArIG9mZnNldFk7CiAgICAgIHdpZHRoID0gTWF0aC5hYnModmlld0JveFsyXSAtIHZpZXdCb3hbMF0pICogc2NhbGU7CiAgICAgIGhlaWdodCA9IE1hdGguYWJzKHZpZXdCb3hbM10gLSB2aWV3Qm94WzFdKSAqIHNjYWxlOwogICAgfQogICAgLy8gY3JlYXRpbmcgdHJhbnNmb3JtIGZvciB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6CiAgICAvLyB0cmFuc2xhdGUoLWNlbnRlclgsIC1jZW50ZXJZKSwgcm90YXRlIGFuZCBmbGlwIHZlcnRpY2FsbHksCiAgICAvLyBzY2FsZSwgYW5kIHRyYW5zbGF0ZShvZmZzZXRDYW52YXNYLCBvZmZzZXRDYW52YXNZKQogICAgdGhpcy50cmFuc2Zvcm0gPSBbCiAgICAgIHJvdGF0ZUEgKiBzY2FsZSwKICAgICAgcm90YXRlQiAqIHNjYWxlLAogICAgICByb3RhdGVDICogc2NhbGUsCiAgICAgIHJvdGF0ZUQgKiBzY2FsZSwKICAgICAgb2Zmc2V0Q2FudmFzWCAtIHJvdGF0ZUEgKiBzY2FsZSAqIGNlbnRlclggLSByb3RhdGVDICogc2NhbGUgKiBjZW50ZXJZLAogICAgICBvZmZzZXRDYW52YXNZIC0gcm90YXRlQiAqIHNjYWxlICogY2VudGVyWCAtIHJvdGF0ZUQgKiBzY2FsZSAqIGNlbnRlclkKICAgIF07CgogICAgdGhpcy53aWR0aCA9IHdpZHRoOwogICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7CiAgICB0aGlzLmZvbnRTY2FsZSA9IHNjYWxlOwogIH0KICBQYWdlVmlld3BvcnQucHJvdG90eXBlID0gLyoqIEBsZW5kcyBQREZKUy5QYWdlVmlld3BvcnQucHJvdG90eXBlICovIHsKICAgIC8qKgogICAgICogQ2xvbmVzIHZpZXdwb3J0IHdpdGggYWRkaXRpb25hbCBwcm9wZXJ0aWVzLgogICAgICogQHBhcmFtIGFyZ3Mge09iamVjdH0gKG9wdGlvbmFsKSBJZiBzcGVjaWZpZWQsIG1heSBjb250YWluIHRoZSAnc2NhbGUnIG9yCiAgICAgKiAncm90YXRpb24nIHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydGllcyBpbgogICAgICogdGhlIGNsb25lZCB2aWV3cG9ydC4KICAgICAqIEByZXR1cm5zIHtQREZKUy5QYWdlVmlld3BvcnR9IENsb25lZCB2aWV3cG9ydC4KICAgICAqLwogICAgY2xvbmU6IGZ1bmN0aW9uIFBhZ2VWaWV3UG9ydF9jbG9uZShhcmdzKSB7CiAgICAgIGFyZ3MgPSBhcmdzIHx8IHt9OwogICAgICB2YXIgc2NhbGUgPSAnc2NhbGUnIGluIGFyZ3MgPyBhcmdzLnNjYWxlIDogdGhpcy5zY2FsZTsKICAgICAgdmFyIHJvdGF0aW9uID0gJ3JvdGF0aW9uJyBpbiBhcmdzID8gYXJncy5yb3RhdGlvbiA6IHRoaXMucm90YXRpb247CiAgICAgIHJldHVybiBuZXcgUGFnZVZpZXdwb3J0KHRoaXMudmlld0JveC5zbGljZSgpLCBzY2FsZSwgcm90YXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub2Zmc2V0WCwgdGhpcy5vZmZzZXRZLCBhcmdzLmRvbnRGbGlwKTsKICAgIH0sCiAgICAvKioKICAgICAqIENvbnZlcnRzIFBERiBwb2ludCB0byB0aGUgdmlld3BvcnQgY29vcmRpbmF0ZXMuIEZvciBleGFtcGxlcywgdXNlZnVsIGZvcgogICAgICogY29udmVydGluZyBQREYgbG9jYXRpb24gaW50byBjYW52YXMgcGl4ZWwgY29vcmRpbmF0ZXMuCiAgICAgKiBAcGFyYW0geCB7bnVtYmVyfSBYIGNvb3JkaW5hdGUuCiAgICAgKiBAcGFyYW0geSB7bnVtYmVyfSBZIGNvb3JkaW5hdGUuCiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBPYmplY3QgdGhhdCBjb250YWlucyAneCcgYW5kICd5JyBwcm9wZXJ0aWVzIG9mIHRoZQogICAgICogcG9pbnQgaW4gdGhlIHZpZXdwb3J0IGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9QZGZQb2ludH0KICAgICAqIEBzZWUge0BsaW5rIGNvbnZlcnRUb1ZpZXdwb3J0UmVjdGFuZ2xlfQogICAgICovCiAgICBjb252ZXJ0VG9WaWV3cG9ydFBvaW50OiBmdW5jdGlvbiBQYWdlVmlld3BvcnRfY29udmVydFRvVmlld3BvcnRQb2ludCh4LCB5KSB7CiAgICAgIHJldHVybiBVdGlsLmFwcGx5VHJhbnNmb3JtKFt4LCB5XSwgdGhpcy50cmFuc2Zvcm0pOwogICAgfSwKICAgIC8qKgogICAgICogQ29udmVydHMgUERGIHJlY3RhbmdsZSB0byB0aGUgdmlld3BvcnQgY29vcmRpbmF0ZXMuCiAgICAgKiBAcGFyYW0gcmVjdCB7QXJyYXl9IHhNaW4sIHlNaW4sIHhNYXggYW5kIHlNYXggY29vcmRpbmF0ZXMuCiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IENvbnRhaW5zIGNvcnJlc3BvbmRpbmcgY29vcmRpbmF0ZXMgb2YgdGhlIHJlY3RhbmdsZQogICAgICogaW4gdGhlIHZpZXdwb3J0IGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9WaWV3cG9ydFBvaW50fQogICAgICovCiAgICBjb252ZXJ0VG9WaWV3cG9ydFJlY3RhbmdsZToKICAgICAgZnVuY3Rpb24gUGFnZVZpZXdwb3J0X2NvbnZlcnRUb1ZpZXdwb3J0UmVjdGFuZ2xlKHJlY3QpIHsKICAgICAgdmFyIHRsID0gVXRpbC5hcHBseVRyYW5zZm9ybShbcmVjdFswXSwgcmVjdFsxXV0sIHRoaXMudHJhbnNmb3JtKTsKICAgICAgdmFyIGJyID0gVXRpbC5hcHBseVRyYW5zZm9ybShbcmVjdFsyXSwgcmVjdFszXV0sIHRoaXMudHJhbnNmb3JtKTsKICAgICAgcmV0dXJuIFt0bFswXSwgdGxbMV0sIGJyWzBdLCBiclsxXV07CiAgICB9LAogICAgLyoqCiAgICAgKiBDb252ZXJ0cyB2aWV3cG9ydCBjb29yZGluYXRlcyB0byB0aGUgUERGIGxvY2F0aW9uLiBGb3IgZXhhbXBsZXMsIHVzZWZ1bAogICAgICogZm9yIGNvbnZlcnRpbmcgY2FudmFzIHBpeGVsIGxvY2F0aW9uIGludG8gUERGIG9uZS4KICAgICAqIEBwYXJhbSB4IHtudW1iZXJ9IFggY29vcmRpbmF0ZS4KICAgICAqIEBwYXJhbSB5IHtudW1iZXJ9IFkgY29vcmRpbmF0ZS4KICAgICAqIEByZXR1cm5zIHtPYmplY3R9IE9iamVjdCB0aGF0IGNvbnRhaW5zICd4JyBhbmQgJ3knIHByb3BlcnRpZXMgb2YgdGhlCiAgICAgKiBwb2ludCBpbiB0aGUgUERGIGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9WaWV3cG9ydFBvaW50fQogICAgICovCiAgICBjb252ZXJ0VG9QZGZQb2ludDogZnVuY3Rpb24gUGFnZVZpZXdwb3J0X2NvbnZlcnRUb1BkZlBvaW50KHgsIHkpIHsKICAgICAgcmV0dXJuIFV0aWwuYXBwbHlJbnZlcnNlVHJhbnNmb3JtKFt4LCB5XSwgdGhpcy50cmFuc2Zvcm0pOwogICAgfQogIH07CiAgcmV0dXJuIFBhZ2VWaWV3cG9ydDsKfSkoKTsKCnZhciBQREZTdHJpbmdUcmFuc2xhdGVUYWJsZSA9IFsKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogIDB4MkQ4LCAweDJDNywgMHgyQzYsIDB4MkQ5LCAweDJERCwgMHgyREIsIDB4MkRBLCAweDJEQywgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCiAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAweDIwMjIsIDB4MjAyMCwgMHgyMDIxLCAweDIwMjYsIDB4MjAxNCwKICAweDIwMTMsIDB4MTkyLCAweDIwNDQsIDB4MjAzOSwgMHgyMDNBLCAweDIyMTIsIDB4MjAzMCwgMHgyMDFFLCAweDIwMUMsCiAgMHgyMDFELCAweDIwMTgsIDB4MjAxOSwgMHgyMDFBLCAweDIxMjIsIDB4RkIwMSwgMHhGQjAyLCAweDE0MSwgMHgxNTIsIDB4MTYwLAogIDB4MTc4LCAweDE3RCwgMHgxMzEsIDB4MTQyLCAweDE1MywgMHgxNjEsIDB4MTdFLCAwLCAweDIwQUMKXTsKCmZ1bmN0aW9uIHN0cmluZ1RvUERGU3RyaW5nKHN0cikgewogIHZhciBpLCBuID0gc3RyLmxlbmd0aCwgc3RyQnVmID0gW107CiAgaWYgKHN0clswXSA9PT0gJ1x4RkUnICYmIHN0clsxXSA9PT0gJ1x4RkYnKSB7CiAgICAvLyBVVEYxNkJFIEJPTQogICAgZm9yIChpID0gMjsgaSA8IG47IGkgKz0gMikgewogICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKAogICAgICAgIChzdHIuY2hhckNvZGVBdChpKSA8PCA4KSB8IHN0ci5jaGFyQ29kZUF0KGkgKyAxKSkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgIHZhciBjb2RlID0gUERGU3RyaW5nVHJhbnNsYXRlVGFibGVbc3RyLmNoYXJDb2RlQXQoaSldOwogICAgICBzdHJCdWYucHVzaChjb2RlID8gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlKSA6IHN0ci5jaGFyQXQoaSkpOwogICAgfQogIH0KICByZXR1cm4gc3RyQnVmLmpvaW4oJycpOwp9CgpmdW5jdGlvbiBzdHJpbmdUb1VURjhTdHJpbmcoc3RyKSB7CiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoc3RyKSk7Cn0KCmZ1bmN0aW9uIGlzRW1wdHlPYmoob2JqKSB7CiAgZm9yICh2YXIga2V5IGluIG9iaikgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gaXNCb29sKHYpIHsKICByZXR1cm4gdHlwZW9mIHYgPT09ICdib29sZWFuJzsKfQoKZnVuY3Rpb24gaXNJbnQodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgJiYgKCh2IHwgMCkgPT09IHYpOwp9CgpmdW5jdGlvbiBpc051bSh2KSB7CiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJzsKfQoKZnVuY3Rpb24gaXNTdHJpbmcodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ3N0cmluZyc7Cn0KCmZ1bmN0aW9uIGlzTmFtZSh2KSB7CiAgcmV0dXJuIHYgaW5zdGFuY2VvZiBOYW1lOwp9CgpmdW5jdGlvbiBpc0NtZCh2LCBjbWQpIHsKICByZXR1cm4gdiBpbnN0YW5jZW9mIENtZCAmJiAoY21kID09PSB1bmRlZmluZWQgfHwgdi5jbWQgPT09IGNtZCk7Cn0KCmZ1bmN0aW9uIGlzRGljdCh2LCB0eXBlKSB7CiAgaWYgKCEodiBpbnN0YW5jZW9mIERpY3QpKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIGlmICghdHlwZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogIHZhciBkaWN0VHlwZSA9IHYuZ2V0KCdUeXBlJyk7CiAgcmV0dXJuIGlzTmFtZShkaWN0VHlwZSkgJiYgZGljdFR5cGUubmFtZSA9PT0gdHlwZTsKfQoKZnVuY3Rpb24gaXNBcnJheSh2KSB7CiAgcmV0dXJuIHYgaW5zdGFuY2VvZiBBcnJheTsKfQoKZnVuY3Rpb24gaXNTdHJlYW0odikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdiAhPT0gbnVsbCAmJiB2LmdldEJ5dGVzICE9PSB1bmRlZmluZWQ7Cn0KCmZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdiAhPT0gbnVsbCAmJiB2LmJ5dGVMZW5ndGggIT09IHVuZGVmaW5lZDsKfQoKZnVuY3Rpb24gaXNSZWYodikgewogIHJldHVybiB2IGluc3RhbmNlb2YgUmVmOwp9CgovKioKICogUHJvbWlzZSBDYXBhYmlsaXR5IG9iamVjdC4KICoKICogQHR5cGVkZWYge09iamVjdH0gUHJvbWlzZUNhcGFiaWxpdHkKICogQHByb3BlcnR5IHtQcm9taXNlfSBwcm9taXNlIC0gQSBwcm9taXNlIG9iamVjdC4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gcmVzb2x2ZSAtIEZ1bGxmaWxscyB0aGUgcHJvbWlzZS4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gcmVqZWN0IC0gUmVqZWN0cyB0aGUgcHJvbWlzZS4KICovCgovKioKICogQ3JlYXRlcyBhIHByb21pc2UgY2FwYWJpbGl0eSBvYmplY3QuCiAqIEBhbGlhcyBQREZKUy5jcmVhdGVQcm9taXNlQ2FwYWJpbGl0eQogKgogKiBAcmV0dXJuIHtQcm9taXNlQ2FwYWJpbGl0eX0gQSBjYXBhYmlsaXR5IG9iamVjdCBjb250YWluczoKICogLSBhIFByb21pc2UsIHJlc29sdmUgYW5kIHJlamVjdCBtZXRob2RzLgogKi8KZnVuY3Rpb24gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKSB7CiAgdmFyIGNhcGFiaWxpdHkgPSB7fTsKICBjYXBhYmlsaXR5LnByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICBjYXBhYmlsaXR5LnJlc29sdmUgPSByZXNvbHZlOwogICAgY2FwYWJpbGl0eS5yZWplY3QgPSByZWplY3Q7CiAgfSk7CiAgcmV0dXJuIGNhcGFiaWxpdHk7Cn0KClBERkpTLmNyZWF0ZVByb21pc2VDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHk7CgovKioKICogUG9seWZpbGwgZm9yIFByb21pc2VzOgogKiBUaGUgZm9sbG93aW5nIHByb21pc2UgaW1wbGVtZW50YXRpb24gdHJpZXMgdG8gZ2VuZXJhbGx5IGltcGxlbWVudCB0aGUKICogUHJvbWlzZS9BKyBzcGVjLiBTb21lIG5vdGFibGUgZGlmZmVyZW5jZXMgZnJvbSBvdGhlciBwcm9taXNlIGxpYmFyaWVzIGFyZToKICogLSBUaGVyZSBjdXJyZW50bHkgaXNuJ3QgYSBzZXBlcmF0ZSBkZWZlcnJlZCBhbmQgcHJvbWlzZSBvYmplY3QuCiAqIC0gVW5oYW5kbGVkIHJlamVjdGlvbnMgZXZlbnR1YWxseSBzaG93IGFuIGVycm9yIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQuCiAqCiAqIEJhc2VkIG9mZiBvZiB0aGUgd29yayBpbjoKICogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNDkwCiAqLwooZnVuY3Rpb24gUHJvbWlzZUNsb3N1cmUoKSB7CiAgaWYgKGdsb2JhbFNjb3BlLlByb21pc2UpIHsKICAgIC8vIFByb21pc2VzIGV4aXN0aW5nIGluIHRoZSBET00vV29ya2VyLCBjaGVja2luZyBwcmVzZW5jZSBvZiBhbGwvcmVzb2x2ZQogICAgaWYgKHR5cGVvZiBnbG9iYWxTY29wZS5Qcm9taXNlLmFsbCAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLmFsbCA9IGZ1bmN0aW9uIChpdGVyYWJsZSkgewogICAgICAgIHZhciBjb3VudCA9IDAsIHJlc3VsdHMgPSBbXSwgcmVzb2x2ZSwgcmVqZWN0OwogICAgICAgIHZhciBwcm9taXNlID0gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmVfLCByZWplY3RfKSB7CiAgICAgICAgICByZXNvbHZlID0gcmVzb2x2ZV87CiAgICAgICAgICByZWplY3QgPSByZWplY3RfOwogICAgICAgIH0pOwogICAgICAgIGl0ZXJhYmxlLmZvckVhY2goZnVuY3Rpb24gKHAsIGkpIHsKICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICBwLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkgewogICAgICAgICAgICByZXN1bHRzW2ldID0gcmVzdWx0OwogICAgICAgICAgICBjb3VudC0tOwogICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdHMpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCByZWplY3QpOwogICAgICAgIH0pOwogICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgcmVzb2x2ZShyZXN1bHRzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHByb21pc2U7CiAgICAgIH07CiAgICB9CiAgICBpZiAodHlwZW9mIGdsb2JhbFNjb3BlLlByb21pc2UucmVzb2x2ZSAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOwogICAgICB9OwogICAgfQogICAgaWYgKHR5cGVvZiBnbG9iYWxTY29wZS5Qcm9taXNlLnJlamVjdCAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uIChyZWFzb24pIHsKICAgICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgcmVqZWN0KHJlYXNvbik7CiAgICAgICAgfSk7CiAgICAgIH07CiAgICB9CiAgICBpZiAodHlwZW9mIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLmNhdGNoICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLmNhdGNoID0gZnVuY3Rpb24gKG9uUmVqZWN0KSB7CiAgICAgICAgcmV0dXJuIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLnRoZW4odW5kZWZpbmVkLCBvblJlamVjdCk7CiAgICAgIH07CiAgICB9CiAgICByZXR1cm47CiAgfQovLyNpZiAhTU9aQ0VOVFJBTAogIHZhciBTVEFUVVNfUEVORElORyA9IDA7CiAgdmFyIFNUQVRVU19SRVNPTFZFRCA9IDE7CiAgdmFyIFNUQVRVU19SRUpFQ1RFRCA9IDI7CgogIC8vIEluIGFuIGF0dGVtcHQgdG8gYXZvaWQgc2lsZW50IGV4Y2VwdGlvbnMsIHVuaGFuZGxlZCByZWplY3Rpb25zIGFyZQogIC8vIHRyYWNrZWQgYW5kIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQgaW4gYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGFuCiAgLy8gZXJyb3IgaXMgbG9nZ2VkLgogIHZhciBSRUpFQ1RJT05fVElNRU9VVCA9IDUwMDsKCiAgdmFyIEhhbmRsZXJNYW5hZ2VyID0gewogICAgaGFuZGxlcnM6IFtdLAogICAgcnVubmluZzogZmFsc2UsCiAgICB1bmhhbmRsZWRSZWplY3Rpb25zOiBbXSwKICAgIHBlbmRpbmdSZWplY3Rpb25DaGVjazogZmFsc2UsCgogICAgc2NoZWR1bGVIYW5kbGVyczogZnVuY3Rpb24gc2NoZWR1bGVIYW5kbGVycyhwcm9taXNlKSB7CiAgICAgIGlmIChwcm9taXNlLl9zdGF0dXMgPT09IFNUQVRVU19QRU5ESU5HKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmhhbmRsZXJzID0gdGhpcy5oYW5kbGVycy5jb25jYXQocHJvbWlzZS5faGFuZGxlcnMpOwogICAgICBwcm9taXNlLl9oYW5kbGVycyA9IFtdOwoKICAgICAgaWYgKHRoaXMucnVubmluZykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlOwoKICAgICAgc2V0VGltZW91dCh0aGlzLnJ1bkhhbmRsZXJzLmJpbmQodGhpcyksIDApOwogICAgfSwKCiAgICBydW5IYW5kbGVyczogZnVuY3Rpb24gcnVuSGFuZGxlcnMoKSB7CiAgICAgIHZhciBSVU5fVElNRU9VVCA9IDE7IC8vIG1zCiAgICAgIHZhciB0aW1lb3V0QXQgPSBEYXRlLm5vdygpICsgUlVOX1RJTUVPVVQ7CiAgICAgIHdoaWxlICh0aGlzLmhhbmRsZXJzLmxlbmd0aCA+IDApIHsKICAgICAgICB2YXIgaGFuZGxlciA9IHRoaXMuaGFuZGxlcnMuc2hpZnQoKTsKCiAgICAgICAgdmFyIG5leHRTdGF0dXMgPSBoYW5kbGVyLnRoaXNQcm9taXNlLl9zdGF0dXM7CiAgICAgICAgdmFyIG5leHRWYWx1ZSA9IGhhbmRsZXIudGhpc1Byb21pc2UuX3ZhbHVlOwoKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKG5leHRTdGF0dXMgPT09IFNUQVRVU19SRVNPTFZFRCkgewogICAgICAgICAgICBpZiAodHlwZW9mIGhhbmRsZXIub25SZXNvbHZlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgbmV4dFZhbHVlID0gaGFuZGxlci5vblJlc29sdmUobmV4dFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaGFuZGxlci5vblJlamVjdCA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICAgIG5leHRWYWx1ZSA9IGhhbmRsZXIub25SZWplY3QobmV4dFZhbHVlKTsKICAgICAgICAgICAgICBuZXh0U3RhdHVzID0gU1RBVFVTX1JFU09MVkVEOwoKICAgICAgICAgICAgICBpZiAoaGFuZGxlci50aGlzUHJvbWlzZS5fdW5oYW5kbGVkUmVqZWN0aW9uKSB7CiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVuaGFuZGVsZWRSZWplY3Rpb24oaGFuZGxlci50aGlzUHJvbWlzZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICBuZXh0U3RhdHVzID0gU1RBVFVTX1JFSkVDVEVEOwogICAgICAgICAgbmV4dFZhbHVlID0gZXg7CiAgICAgICAgfQoKICAgICAgICBoYW5kbGVyLm5leHRQcm9taXNlLl91cGRhdGVTdGF0dXMobmV4dFN0YXR1cywgbmV4dFZhbHVlKTsKICAgICAgICBpZiAoRGF0ZS5ub3coKSA+PSB0aW1lb3V0QXQpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKHRoaXMuaGFuZGxlcnMubGVuZ3RoID4gMCkgewogICAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5IYW5kbGVycy5iaW5kKHRoaXMpLCAwKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgfSwKCiAgICBhZGRVbmhhbmRsZWRSZWplY3Rpb246IGZ1bmN0aW9uIGFkZFVuaGFuZGxlZFJlamVjdGlvbihwcm9taXNlKSB7CiAgICAgIHRoaXMudW5oYW5kbGVkUmVqZWN0aW9ucy5wdXNoKHsKICAgICAgICBwcm9taXNlOiBwcm9taXNlLAogICAgICAgIHRpbWU6IERhdGUubm93KCkKICAgICAgfSk7CiAgICAgIHRoaXMuc2NoZWR1bGVSZWplY3Rpb25DaGVjaygpOwogICAgfSwKCiAgICByZW1vdmVVbmhhbmRlbGVkUmVqZWN0aW9uOiBmdW5jdGlvbiByZW1vdmVVbmhhbmRlbGVkUmVqZWN0aW9uKHByb21pc2UpIHsKICAgICAgcHJvbWlzZS5fdW5oYW5kbGVkUmVqZWN0aW9uID0gZmFsc2U7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHRoaXMudW5oYW5kbGVkUmVqZWN0aW9uc1tpXS5wcm9taXNlID09PSBwcm9taXNlKSB7CiAgICAgICAgICB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnMuc3BsaWNlKGkpOwogICAgICAgICAgaS0tOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBzY2hlZHVsZVJlamVjdGlvbkNoZWNrOiBmdW5jdGlvbiBzY2hlZHVsZVJlamVjdGlvbkNoZWNrKCkgewogICAgICBpZiAodGhpcy5wZW5kaW5nUmVqZWN0aW9uQ2hlY2spIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5wZW5kaW5nUmVqZWN0aW9uQ2hlY2sgPSB0cnVlOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIHJlamVjdGlvbkNoZWNrKCkgewogICAgICAgIHRoaXMucGVuZGluZ1JlamVjdGlvbkNoZWNrID0gZmFsc2U7CiAgICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmIChub3cgLSB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnNbaV0udGltZSA+IFJFSkVDVElPTl9USU1FT1VUKSB7CiAgICAgICAgICAgIHZhciB1bmhhbmRsZWQgPSB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnNbaV0ucHJvbWlzZS5fdmFsdWU7CiAgICAgICAgICAgIHZhciBtc2cgPSAnVW5oYW5kbGVkIHJlamVjdGlvbjogJyArIHVuaGFuZGxlZDsKICAgICAgICAgICAgaWYgKHVuaGFuZGxlZC5zdGFjaykgewogICAgICAgICAgICAgIG1zZyArPSAnXG4nICsgdW5oYW5kbGVkLnN0YWNrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdhcm4obXNnKTsKICAgICAgICAgICAgdGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLnNwbGljZShpKTsKICAgICAgICAgICAgaS0tOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAodGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLmxlbmd0aCkgewogICAgICAgICAgdGhpcy5zY2hlZHVsZVJlamVjdGlvbkNoZWNrKCk7CiAgICAgICAgfQogICAgICB9LmJpbmQodGhpcyksIFJFSkVDVElPTl9USU1FT1VUKTsKICAgIH0KICB9OwoKICBmdW5jdGlvbiBQcm9taXNlKHJlc29sdmVyKSB7CiAgICB0aGlzLl9zdGF0dXMgPSBTVEFUVVNfUEVORElORzsKICAgIHRoaXMuX2hhbmRsZXJzID0gW107CiAgICB0cnkgewogICAgICByZXNvbHZlci5jYWxsKHRoaXMsIHRoaXMuX3Jlc29sdmUuYmluZCh0aGlzKSwgdGhpcy5fcmVqZWN0LmJpbmQodGhpcykpOwogICAgfSBjYXRjaCAoZSkgewogICAgICB0aGlzLl9yZWplY3QoZSk7CiAgICB9CiAgfQogIC8qKgogICAqIEJ1aWxkcyBhIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aGVuIGFsbCB0aGUgcGFzc2VkIGluIHByb21pc2VzIGFyZQogICAqIHJlc29sdmVkLgogICAqIEBwYXJhbSB7YXJyYXl9IGFycmF5IG9mIGRhdGEgYW5kL29yIHByb21pc2VzIHRvIHdhaXQgZm9yLgogICAqIEByZXR1cm4ge1Byb21pc2V9IE5ldyBkZXBlbmRhbnQgcHJvbWlzZS4KICAgKi8KICBQcm9taXNlLmFsbCA9IGZ1bmN0aW9uIFByb21pc2VfYWxsKHByb21pc2VzKSB7CiAgICB2YXIgcmVzb2x2ZUFsbCwgcmVqZWN0QWxsOwogICAgdmFyIGRlZmVycmVkID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICByZXNvbHZlQWxsID0gcmVzb2x2ZTsKICAgICAgcmVqZWN0QWxsID0gcmVqZWN0OwogICAgfSk7CiAgICB2YXIgdW5yZXNvbHZlZCA9IHByb21pc2VzLmxlbmd0aDsKICAgIHZhciByZXN1bHRzID0gW107CiAgICBpZiAodW5yZXNvbHZlZCA9PT0gMCkgewogICAgICByZXNvbHZlQWxsKHJlc3VsdHMpOwogICAgICByZXR1cm4gZGVmZXJyZWQ7CiAgICB9CiAgICBmdW5jdGlvbiByZWplY3QocmVhc29uKSB7CiAgICAgIGlmIChkZWZlcnJlZC5fc3RhdHVzID09PSBTVEFUVVNfUkVKRUNURUQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgcmVzdWx0cyA9IFtdOwogICAgICByZWplY3RBbGwocmVhc29uKTsKICAgIH0KICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHByb21pc2VzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgdmFyIHByb21pc2UgPSBwcm9taXNlc1tpXTsKICAgICAgdmFyIHJlc29sdmUgPSAoZnVuY3Rpb24oaSkgewogICAgICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgaWYgKGRlZmVycmVkLl9zdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICByZXN1bHRzW2ldID0gdmFsdWU7CiAgICAgICAgICB1bnJlc29sdmVkLS07CiAgICAgICAgICBpZiAodW5yZXNvbHZlZCA9PT0gMCkgewogICAgICAgICAgICByZXNvbHZlQWxsKHJlc3VsdHMpOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH0pKGkpOwogICAgICBpZiAoUHJvbWlzZS5pc1Byb21pc2UocHJvbWlzZSkpIHsKICAgICAgICBwcm9taXNlLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXNvbHZlKHByb21pc2UpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gZGVmZXJyZWQ7CiAgfTsKCiAgLyoqCiAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBsaWtlbHkgYSBwcm9taXNlIChoYXMgYSAndGhlbicgZnVuY3Rpb24pLgogICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgdmFsdWUgaXMgdGhlbmFibGUKICAgKi8KICBQcm9taXNlLmlzUHJvbWlzZSA9IGZ1bmN0aW9uIFByb21pc2VfaXNQcm9taXNlKHZhbHVlKSB7CiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbic7CiAgfTsKCiAgLyoqCiAgICogQ3JlYXRlcyByZXNvbHZlZCBwcm9taXNlCiAgICogQHBhcmFtIHZhbHVlIHJlc29sdmUgdmFsdWUKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBQcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbiBQcm9taXNlX3Jlc29sdmUodmFsdWUpIHsKICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7CiAgfTsKCiAgLyoqCiAgICogQ3JlYXRlcyByZWplY3RlZCBwcm9taXNlCiAgICogQHBhcmFtIHJlYXNvbiByZWplY3Rpb24gdmFsdWUKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBQcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uIFByb21pc2VfcmVqZWN0KHJlYXNvbikgewogICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgcmVqZWN0KHJlYXNvbik7IH0pOwogIH07CgogIFByb21pc2UucHJvdG90eXBlID0gewogICAgX3N0YXR1czogbnVsbCwKICAgIF92YWx1ZTogbnVsbCwKICAgIF9oYW5kbGVyczogbnVsbCwKICAgIF91bmhhbmRsZWRSZWplY3Rpb246IG51bGwsCgogICAgX3VwZGF0ZVN0YXR1czogZnVuY3Rpb24gUHJvbWlzZV9fdXBkYXRlU3RhdHVzKHN0YXR1cywgdmFsdWUpIHsKICAgICAgaWYgKHRoaXMuX3N0YXR1cyA9PT0gU1RBVFVTX1JFU09MVkVEIHx8CiAgICAgICAgICB0aGlzLl9zdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHN0YXR1cyA9PT0gU1RBVFVTX1JFU09MVkVEICYmCiAgICAgICAgICBQcm9taXNlLmlzUHJvbWlzZSh2YWx1ZSkpIHsKICAgICAgICB2YWx1ZS50aGVuKHRoaXMuX3VwZGF0ZVN0YXR1cy5iaW5kKHRoaXMsIFNUQVRVU19SRVNPTFZFRCksCiAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzLCBTVEFUVVNfUkVKRUNURUQpKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMuX3N0YXR1cyA9IHN0YXR1czsKICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKCiAgICAgIGlmIChzdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCAmJiB0aGlzLl9oYW5kbGVycy5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLl91bmhhbmRsZWRSZWplY3Rpb24gPSB0cnVlOwogICAgICAgIEhhbmRsZXJNYW5hZ2VyLmFkZFVuaGFuZGxlZFJlamVjdGlvbih0aGlzKTsKICAgICAgfQoKICAgICAgSGFuZGxlck1hbmFnZXIuc2NoZWR1bGVIYW5kbGVycyh0aGlzKTsKICAgIH0sCgogICAgX3Jlc29sdmU6IGZ1bmN0aW9uIFByb21pc2VfcmVzb2x2ZSh2YWx1ZSkgewogICAgICB0aGlzLl91cGRhdGVTdGF0dXMoU1RBVFVTX1JFU09MVkVELCB2YWx1ZSk7CiAgICB9LAoKICAgIF9yZWplY3Q6IGZ1bmN0aW9uIFByb21pc2VfcmVqZWN0KHJlYXNvbikgewogICAgICB0aGlzLl91cGRhdGVTdGF0dXMoU1RBVFVTX1JFSkVDVEVELCByZWFzb24pOwogICAgfSwKCiAgICB0aGVuOiBmdW5jdGlvbiBQcm9taXNlX3RoZW4ob25SZXNvbHZlLCBvblJlamVjdCkgewogICAgICB2YXIgbmV4dFByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZTsKICAgICAgICB0aGlzLnJlamVjdCA9IHJlamVjdDsKICAgICAgfSk7CiAgICAgIHRoaXMuX2hhbmRsZXJzLnB1c2goewogICAgICAgIHRoaXNQcm9taXNlOiB0aGlzLAogICAgICAgIG9uUmVzb2x2ZTogb25SZXNvbHZlLAogICAgICAgIG9uUmVqZWN0OiBvblJlamVjdCwKICAgICAgICBuZXh0UHJvbWlzZTogbmV4dFByb21pc2UKICAgICAgfSk7CiAgICAgIEhhbmRsZXJNYW5hZ2VyLnNjaGVkdWxlSGFuZGxlcnModGhpcyk7CiAgICAgIHJldHVybiBuZXh0UHJvbWlzZTsKICAgIH0sCgogICAgY2F0Y2g6IGZ1bmN0aW9uIFByb21pc2VfY2F0Y2gob25SZWplY3QpIHsKICAgICAgcmV0dXJuIHRoaXMudGhlbih1bmRlZmluZWQsIG9uUmVqZWN0KTsKICAgIH0KICB9OwoKICBnbG9iYWxTY29wZS5Qcm9taXNlID0gUHJvbWlzZTsKLy8jZWxzZQovL3Rocm93IG5ldyBFcnJvcignRE9NIFByb21pc2UgaXMgbm90IHByZXNlbnQnKTsKLy8jZW5kaWYKfSkoKTsKCnZhciBTdGF0VGltZXIgPSAoZnVuY3Rpb24gU3RhdFRpbWVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBycGFkKHN0ciwgcGFkLCBsZW5ndGgpIHsKICAgIHdoaWxlIChzdHIubGVuZ3RoIDwgbGVuZ3RoKSB7CiAgICAgIHN0ciArPSBwYWQ7CiAgICB9CiAgICByZXR1cm4gc3RyOwogIH0KICBmdW5jdGlvbiBTdGF0VGltZXIoKSB7CiAgICB0aGlzLnN0YXJ0ZWQgPSB7fTsKICAgIHRoaXMudGltZXMgPSBbXTsKICAgIHRoaXMuZW5hYmxlZCA9IHRydWU7CiAgfQogIFN0YXRUaW1lci5wcm90b3R5cGUgPSB7CiAgICB0aW1lOiBmdW5jdGlvbiBTdGF0VGltZXJfdGltZShuYW1lKSB7CiAgICAgIGlmICghdGhpcy5lbmFibGVkKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmIChuYW1lIGluIHRoaXMuc3RhcnRlZCkgewogICAgICAgIHdhcm4oJ1RpbWVyIGlzIGFscmVhZHkgcnVubmluZyBmb3IgJyArIG5hbWUpOwogICAgICB9CiAgICAgIHRoaXMuc3RhcnRlZFtuYW1lXSA9IERhdGUubm93KCk7CiAgICB9LAogICAgdGltZUVuZDogZnVuY3Rpb24gU3RhdFRpbWVyX3RpbWVFbmQobmFtZSkgewogICAgICBpZiAoIXRoaXMuZW5hYmxlZCkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIShuYW1lIGluIHRoaXMuc3RhcnRlZCkpIHsKICAgICAgICB3YXJuKCdUaW1lciBoYXMgbm90IGJlZW4gc3RhcnRlZCBmb3IgJyArIG5hbWUpOwogICAgICB9CiAgICAgIHRoaXMudGltZXMucHVzaCh7CiAgICAgICAgJ25hbWUnOiBuYW1lLAogICAgICAgICdzdGFydCc6IHRoaXMuc3RhcnRlZFtuYW1lXSwKICAgICAgICAnZW5kJzogRGF0ZS5ub3coKQogICAgICB9KTsKICAgICAgLy8gUmVtb3ZlIHRpbWVyIGZyb20gc3RhcnRlZCBzbyBpdCBjYW4gYmUgY2FsbGVkIGFnYWluLgogICAgICBkZWxldGUgdGhpcy5zdGFydGVkW25hbWVdOwogICAgfSwKICAgIHRvU3RyaW5nOiBmdW5jdGlvbiBTdGF0VGltZXJfdG9TdHJpbmcoKSB7CiAgICAgIHZhciBpLCBpaTsKICAgICAgdmFyIHRpbWVzID0gdGhpcy50aW1lczsKICAgICAgdmFyIG91dCA9ICcnOwogICAgICAvLyBGaW5kIHRoZSBsb25nZXN0IG5hbWUgZm9yIHBhZGRpbmcgcHVycG9zZXMuCiAgICAgIHZhciBsb25nZXN0ID0gMDsKICAgICAgZm9yIChpID0gMCwgaWkgPSB0aW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIG5hbWUgPSB0aW1lc1tpXVsnbmFtZSddOwogICAgICAgIGlmIChuYW1lLmxlbmd0aCA+IGxvbmdlc3QpIHsKICAgICAgICAgIGxvbmdlc3QgPSBuYW1lLmxlbmd0aDsKICAgICAgICB9CiAgICAgIH0KICAgICAgZm9yIChpID0gMCwgaWkgPSB0aW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIHNwYW4gPSB0aW1lc1tpXTsKICAgICAgICB2YXIgZHVyYXRpb24gPSBzcGFuLmVuZCAtIHNwYW4uc3RhcnQ7CiAgICAgICAgb3V0ICs9IHJwYWQoc3BhblsnbmFtZSddLCAnICcsIGxvbmdlc3QpICsgJyAnICsgZHVyYXRpb24gKyAnbXNcbic7CiAgICAgIH0KICAgICAgcmV0dXJuIG91dDsKICAgIH0KICB9OwogIHJldHVybiBTdGF0VGltZXI7Cn0pKCk7CgpQREZKUy5jcmVhdGVCbG9iID0gZnVuY3Rpb24gY3JlYXRlQmxvYihkYXRhLCBjb250ZW50VHlwZSkgewogIGlmICh0eXBlb2YgQmxvYiAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgIHJldHVybiBuZXcgQmxvYihbZGF0YV0sIHsgdHlwZTogY29udGVudFR5cGUgfSk7CiAgfQogIC8vIEJsb2IgYnVpbGRlciBpcyBkZXByZWNhdGVkIGluIEZGMTQgYW5kIHJlbW92ZWQgaW4gRkYxOC4KICB2YXIgYmIgPSBuZXcgTW96QmxvYkJ1aWxkZXIoKTsKICBiYi5hcHBlbmQoZGF0YSk7CiAgcmV0dXJuIGJiLmdldEJsb2IoY29udGVudFR5cGUpOwp9OwoKUERGSlMuY3JlYXRlT2JqZWN0VVJMID0gKGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFVSTENsb3N1cmUoKSB7CiAgLy8gQmxvYi9jcmVhdGVPYmplY3RVUkwgaXMgbm90IGF2YWlsYWJsZSwgZmFsbGluZyBiYWNrIHRvIGRhdGEgc2NoZW1hLgogIHZhciBkaWdpdHMgPQogICAgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89JzsKCiAgcmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFVSTChkYXRhLCBjb250ZW50VHlwZSkgewogICAgaWYgKCFQREZKUy5kaXNhYmxlQ3JlYXRlT2JqZWN0VVJMICYmCiAgICAgICAgdHlwZW9mIFVSTCAhPT0gJ3VuZGVmaW5lZCcgJiYgVVJMLmNyZWF0ZU9iamVjdFVSTCkgewogICAgICB2YXIgYmxvYiA9IFBERkpTLmNyZWF0ZUJsb2IoZGF0YSwgY29udGVudFR5cGUpOwogICAgICByZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKICAgIH0KCiAgICB2YXIgYnVmZmVyID0gJ2RhdGE6JyArIGNvbnRlbnRUeXBlICsgJztiYXNlNjQsJzsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRhdGEubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMykgewogICAgICB2YXIgYjEgPSBkYXRhW2ldICYgMHhGRjsKICAgICAgdmFyIGIyID0gZGF0YVtpICsgMV0gJiAweEZGOwogICAgICB2YXIgYjMgPSBkYXRhW2kgKyAyXSAmIDB4RkY7CiAgICAgIHZhciBkMSA9IGIxID4+IDIsIGQyID0gKChiMSAmIDMpIDw8IDQpIHwgKGIyID4+IDQpOwogICAgICB2YXIgZDMgPSBpICsgMSA8IGlpID8gKChiMiAmIDB4RikgPDwgMikgfCAoYjMgPj4gNikgOiA2NDsKICAgICAgdmFyIGQ0ID0gaSArIDIgPCBpaSA/IChiMyAmIDB4M0YpIDogNjQ7CiAgICAgIGJ1ZmZlciArPSBkaWdpdHNbZDFdICsgZGlnaXRzW2QyXSArIGRpZ2l0c1tkM10gKyBkaWdpdHNbZDRdOwogICAgfQogICAgcmV0dXJuIGJ1ZmZlcjsKICB9Owp9KSgpOwoKZnVuY3Rpb24gTWVzc2FnZUhhbmRsZXIobmFtZSwgY29tT2JqKSB7CiAgdGhpcy5uYW1lID0gbmFtZTsKICB0aGlzLmNvbU9iaiA9IGNvbU9iajsKICB0aGlzLmNhbGxiYWNrSW5kZXggPSAxOwogIHRoaXMucG9zdE1lc3NhZ2VUcmFuc2ZlcnMgPSB0cnVlOwogIHZhciBjYWxsYmFja3NDYXBhYmlsaXRpZXMgPSB0aGlzLmNhbGxiYWNrc0NhcGFiaWxpdGllcyA9IHt9OwogIHZhciBhaCA9IHRoaXMuYWN0aW9uSGFuZGxlciA9IHt9OwoKICBhaFsnY29uc29sZV9sb2cnXSA9IFtmdW5jdGlvbiBhaENvbnNvbGVMb2coZGF0YSkgewogICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgZGF0YSk7CiAgfV07CiAgYWhbJ2NvbnNvbGVfZXJyb3InXSA9IFtmdW5jdGlvbiBhaENvbnNvbGVFcnJvcihkYXRhKSB7CiAgICBjb25zb2xlLmVycm9yLmFwcGx5KGNvbnNvbGUsIGRhdGEpOwogIH1dOwogIGFoWydfdW5zdXBwb3J0ZWRfZmVhdHVyZSddID0gW2Z1bmN0aW9uIGFoX3Vuc3VwcG9ydGVkRmVhdHVyZShkYXRhKSB7CiAgICBVbnN1cHBvcnRlZE1hbmFnZXIubm90aWZ5KGRhdGEpOwogIH1dOwoKICBjb21PYmoub25tZXNzYWdlID0gZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXJDb21PYmpPbk1lc3NhZ2UoZXZlbnQpIHsKICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YTsKICAgIGlmIChkYXRhLmlzUmVwbHkpIHsKICAgICAgdmFyIGNhbGxiYWNrSWQgPSBkYXRhLmNhbGxiYWNrSWQ7CiAgICAgIGlmIChkYXRhLmNhbGxiYWNrSWQgaW4gY2FsbGJhY2tzQ2FwYWJpbGl0aWVzKSB7CiAgICAgICAgdmFyIGNhbGxiYWNrID0gY2FsbGJhY2tzQ2FwYWJpbGl0aWVzW2NhbGxiYWNrSWRdOwogICAgICAgIGRlbGV0ZSBjYWxsYmFja3NDYXBhYmlsaXRpZXNbY2FsbGJhY2tJZF07CiAgICAgICAgaWYgKCdlcnJvcicgaW4gZGF0YSkgewogICAgICAgICAgY2FsbGJhY2sucmVqZWN0KGRhdGEuZXJyb3IpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjYWxsYmFjay5yZXNvbHZlKGRhdGEuZGF0YSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGVycm9yKCdDYW5ub3QgcmVzb2x2ZSBjYWxsYmFjayAnICsgY2FsbGJhY2tJZCk7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoZGF0YS5hY3Rpb24gaW4gYWgpIHsKICAgICAgdmFyIGFjdGlvbiA9IGFoW2RhdGEuYWN0aW9uXTsKICAgICAgaWYgKGRhdGEuY2FsbGJhY2tJZCkgewogICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgcmV0dXJuIGFjdGlvblswXS5jYWxsKGFjdGlvblsxXSwgZGF0YS5kYXRhKTsKICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHsKICAgICAgICAgIGNvbU9iai5wb3N0TWVzc2FnZSh7CiAgICAgICAgICAgIGlzUmVwbHk6IHRydWUsCiAgICAgICAgICAgIGNhbGxiYWNrSWQ6IGRhdGEuY2FsbGJhY2tJZCwKICAgICAgICAgICAgZGF0YTogcmVzdWx0CiAgICAgICAgICB9KTsKICAgICAgICB9LCBmdW5jdGlvbiAocmVhc29uKSB7CiAgICAgICAgICBjb21PYmoucG9zdE1lc3NhZ2UoewogICAgICAgICAgICBpc1JlcGx5OiB0cnVlLAogICAgICAgICAgICBjYWxsYmFja0lkOiBkYXRhLmNhbGxiYWNrSWQsCiAgICAgICAgICAgIGVycm9yOiByZWFzb24KICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIGFjdGlvblswXS5jYWxsKGFjdGlvblsxXSwgZGF0YS5kYXRhKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgZXJyb3IoJ1Vua25vd24gYWN0aW9uIGZyb20gd29ya2VyOiAnICsgZGF0YS5hY3Rpb24pOwogICAgfQogIH07Cn0KCk1lc3NhZ2VIYW5kbGVyLnByb3RvdHlwZSA9IHsKICBvbjogZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXJPbihhY3Rpb25OYW1lLCBoYW5kbGVyLCBzY29wZSkgewogICAgdmFyIGFoID0gdGhpcy5hY3Rpb25IYW5kbGVyOwogICAgaWYgKGFoW2FjdGlvbk5hbWVdKSB7CiAgICAgIGVycm9yKCdUaGVyZSBpcyBhbHJlYWR5IGFuIGFjdGlvbk5hbWUgY2FsbGVkICInICsgYWN0aW9uTmFtZSArICciJyk7CiAgICB9CiAgICBhaFthY3Rpb25OYW1lXSA9IFtoYW5kbGVyLCBzY29wZV07CiAgfSwKICAvKioKICAgKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIGNvbU9iaiB0byBpbnZva2UgdGhlIGFjdGlvbiB3aXRoIHRoZSBzdXBwbGllZCBkYXRhLgogICAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb25OYW1lIEFjdGlvbiB0byBjYWxsLgogICAqIEBwYXJhbSB7SlNPTn0gZGF0YSBKU09OIGRhdGEgdG8gc2VuZC4KICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSBPcHRpb25hbCBsaXN0IG9mIHRyYW5zZmVycy9BcnJheUJ1ZmZlcnMKICAgKi8KICBzZW5kOiBmdW5jdGlvbiBtZXNzYWdlSGFuZGxlclNlbmQoYWN0aW9uTmFtZSwgZGF0YSwgdHJhbnNmZXJzKSB7CiAgICB2YXIgbWVzc2FnZSA9IHsKICAgICAgYWN0aW9uOiBhY3Rpb25OYW1lLAogICAgICBkYXRhOiBkYXRhCiAgICB9OwogICAgdGhpcy5wb3N0TWVzc2FnZShtZXNzYWdlLCB0cmFuc2ZlcnMpOwogIH0sCiAgLyoqCiAgICogU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBjb21PYmogdG8gaW52b2tlIHRoZSBhY3Rpb24gd2l0aCB0aGUgc3VwcGxpZWQgZGF0YS4KICAgKiBFeHBlY3RzIHRoYXQgb3RoZXIgc2lkZSB3aWxsIGNhbGxiYWNrIHdpdGggdGhlIHJlc3BvbnNlLgogICAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb25OYW1lIEFjdGlvbiB0byBjYWxsLgogICAqIEBwYXJhbSB7SlNPTn0gZGF0YSBKU09OIGRhdGEgdG8gc2VuZC4KICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSBPcHRpb25hbCBsaXN0IG9mIHRyYW5zZmVycy9BcnJheUJ1ZmZlcnMuCiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgdG8gYmUgcmVzb2x2ZWQgd2l0aCByZXNwb25zZSBkYXRhLgogICAqLwogIHNlbmRXaXRoUHJvbWlzZToKICAgIGZ1bmN0aW9uIG1lc3NhZ2VIYW5kbGVyU2VuZFdpdGhQcm9taXNlKGFjdGlvbk5hbWUsIGRhdGEsIHRyYW5zZmVycykgewogICAgdmFyIGNhbGxiYWNrSWQgPSB0aGlzLmNhbGxiYWNrSW5kZXgrKzsKICAgIHZhciBtZXNzYWdlID0gewogICAgICBhY3Rpb246IGFjdGlvbk5hbWUsCiAgICAgIGRhdGE6IGRhdGEsCiAgICAgIGNhbGxiYWNrSWQ6IGNhbGxiYWNrSWQKICAgIH07CiAgICB2YXIgY2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CiAgICB0aGlzLmNhbGxiYWNrc0NhcGFiaWxpdGllc1tjYWxsYmFja0lkXSA9IGNhcGFiaWxpdHk7CiAgICB0cnkgewogICAgICB0aGlzLnBvc3RNZXNzYWdlKG1lc3NhZ2UsIHRyYW5zZmVycyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGNhcGFiaWxpdHkucmVqZWN0KGUpOwogICAgfQogICAgcmV0dXJuIGNhcGFiaWxpdHkucHJvbWlzZTsKICB9LAogIC8qKgogICAqIFNlbmRzIHJhdyBtZXNzYWdlIHRvIHRoZSBjb21PYmouCiAgICogQHByaXZhdGUKICAgKiBAcGFyYW0gbWVzc2FnZSB7T2JqZWN0fSBSYXcgbWVzc2FnZS4KICAgKiBAcGFyYW0gdHJhbnNmZXJzIExpc3Qgb2YgdHJhbnNmZXJzL0FycmF5QnVmZmVycywgb3IgdW5kZWZpbmVkLgogICAqLwogIHBvc3RNZXNzYWdlOiBmdW5jdGlvbiAobWVzc2FnZSwgdHJhbnNmZXJzKSB7CiAgICBpZiAodHJhbnNmZXJzICYmIHRoaXMucG9zdE1lc3NhZ2VUcmFuc2ZlcnMpIHsKICAgICAgdGhpcy5jb21PYmoucG9zdE1lc3NhZ2UobWVzc2FnZSwgdHJhbnNmZXJzKTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuY29tT2JqLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOwogICAgfQogIH0KfTsKCmZ1bmN0aW9uIGxvYWRKcGVnU3RyZWFtKGlkLCBpbWFnZVVybCwgb2JqcykgewogIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKICBpbWcub25sb2FkID0gKGZ1bmN0aW9uIGxvYWRKcGVnU3RyZWFtX29ubG9hZENsb3N1cmUoKSB7CiAgICBvYmpzLnJlc29sdmUoaWQsIGltZyk7CiAgfSk7CiAgaW1nLm9uZXJyb3IgPSAoZnVuY3Rpb24gbG9hZEpwZWdTdHJlYW1fb25lcnJvckNsb3N1cmUoKSB7CiAgICBvYmpzLnJlc29sdmUoaWQsIG51bGwpOwogICAgd2FybignRXJyb3IgZHVyaW5nIEpQRUcgaW1hZ2UgbG9hZGluZycpOwogIH0pOwogIGltZy5zcmMgPSBpbWFnZVVybDsKfQoKCi8qKgogKiBUaGUgbWF4aW11bSBhbGxvd2VkIGltYWdlIHNpemUgaW4gdG90YWwgcGl4ZWxzIGUuZy4gd2lkdGggKiBoZWlnaHQuIEltYWdlcwogKiBhYm92ZSB0aGlzIHZhbHVlIHdpbGwgbm90IGJlIGRyYXduLiBVc2UgLTEgZm9yIG5vIGxpbWl0LgogKiBAdmFyIHtudW1iZXJ9CiAqLwpQREZKUy5tYXhJbWFnZVNpemUgPSAoUERGSlMubWF4SW1hZ2VTaXplID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgLTEgOiBQREZKUy5tYXhJbWFnZVNpemUpOwoKLyoqCiAqIFRoZSB1cmwgb2Ygd2hlcmUgdGhlIHByZWRlZmluZWQgQWRvYmUgQ01hcHMgYXJlIGxvY2F0ZWQuIEluY2x1ZGUgdHJhaWxpbmcKICogc2xhc2guCiAqIEB2YXIge3N0cmluZ30KICovClBERkpTLmNNYXBVcmwgPSAoUERGSlMuY01hcFVybCA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IFBERkpTLmNNYXBVcmwpOwoKLyoqCiAqIFNwZWNpZmllcyBpZiBDTWFwcyBhcmUgYmluYXJ5IHBhY2tlZC4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLmNNYXBQYWNrZWQgPSBQREZKUy5jTWFwUGFja2VkID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IFBERkpTLmNNYXBQYWNrZWQ7CgovKioKICogQnkgZGVmYXVsdCBmb250cyBhcmUgY29udmVydGVkIHRvIE9wZW5UeXBlIGZvbnRzIGFuZCBsb2FkZWQgdmlhIGZvbnQgZmFjZQogKiBydWxlcy4gSWYgZGlzYWJsZWQsIHRoZSBmb250IHdpbGwgYmUgcmVuZGVyZWQgdXNpbmcgYSBidWlsdCBpbiBmb250IHJlbmRlcmVyCiAqIHRoYXQgY29uc3RydWN0cyB0aGUgZ2x5cGhzIHdpdGggcHJpbWl0aXZlIHBhdGggY29tbWFuZHMuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy5kaXNhYmxlRm9udEZhY2UgPSAoUERGSlMuZGlzYWJsZUZvbnRGYWNlID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgOiBQREZKUy5kaXNhYmxlRm9udEZhY2UpOwoKLyoqCiAqIFBhdGggZm9yIGltYWdlIHJlc291cmNlcywgbWFpbmx5IGZvciBhbm5vdGF0aW9uIGljb25zLiBJbmNsdWRlIHRyYWlsaW5nCiAqIHNsYXNoLgogKiBAdmFyIHtzdHJpbmd9CiAqLwpQREZKUy5pbWFnZVJlc291cmNlc1BhdGggPSAoUERGSlMuaW1hZ2VSZXNvdXJjZXNQYXRoID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJycgOiBQREZKUy5pbWFnZVJlc291cmNlc1BhdGgpOwoKLyoqCiAqIERpc2FibGUgdGhlIHdlYiB3b3JrZXIgYW5kIHJ1biBhbGwgY29kZSBvbiB0aGUgbWFpbiB0aHJlYWQuIFRoaXMgd2lsbCBoYXBwZW4KICogYXV0b21hdGljYWxseSBpZiB0aGUgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgd29ya2VycyBvciBzZW5kaW5nIHR5cGVkIGFycmF5cwogKiB0byB3b3JrZXJzLgogKiBAdmFyIHtib29sZWFufQogKi8KUERGSlMuZGlzYWJsZVdvcmtlciA9IChQREZKUy5kaXNhYmxlV29ya2VyID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIDogUERGSlMuZGlzYWJsZVdvcmtlcik7CgovKioKICogUGF0aCBhbmQgZmlsZW5hbWUgb2YgdGhlIHdvcmtlciBmaWxlLiBSZXF1aXJlZCB3aGVuIHRoZSB3b3JrZXIgaXMgZW5hYmxlZCBpbgogKiBkZXZlbG9wbWVudCBtb2RlLiBJZiB1bnNwZWNpZmllZCBpbiB0aGUgcHJvZHVjdGlvbiBidWlsZCwgdGhlIHdvcmtlciB3aWxsIGJlCiAqIGxvYWRlZCBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIHBkZi5qcyBmaWxlLgogKiBAdmFyIHtzdHJpbmd9CiAqLwpQREZKUy53b3JrZXJTcmMgPSAoUERGSlMud29ya2VyU3JjID09PSB1bmRlZmluZWQgPyBudWxsIDogUERGSlMud29ya2VyU3JjKTsKCi8qKgogKiBEaXNhYmxlIHJhbmdlIHJlcXVlc3QgbG9hZGluZyBvZiBQREYgZmlsZXMuIFdoZW4gZW5hYmxlZCBhbmQgaWYgdGhlIHNlcnZlcgogKiBzdXBwb3J0cyBwYXJ0aWFsIGNvbnRlbnQgcmVxdWVzdHMgdGhlbiB0aGUgUERGIHdpbGwgYmUgZmV0Y2hlZCBpbiBjaHVua3MuCiAqIEVuYWJsZWQgKGZhbHNlKSBieSBkZWZhdWx0LgogKiBAdmFyIHtib29sZWFufQogKi8KUERGSlMuZGlzYWJsZVJhbmdlID0gKFBERkpTLmRpc2FibGVSYW5nZSA9PT0gdW5kZWZpbmVkID8KICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIDogUERGSlMuZGlzYWJsZVJhbmdlKTsKCi8qKgogKiBEaXNhYmxlIHN0cmVhbWluZyBvZiBQREYgZmlsZSBkYXRhLiBCeSBkZWZhdWx0IFBERi5qcyBhdHRlbXB0cyB0byBsb2FkIFBERgogKiBpbiBjaHVua3MuIFRoaXMgZGVmYXVsdCBiZWhhdmlvciBjYW4gYmUgZGlzYWJsZWQuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy5kaXNhYmxlU3RyZWFtID0gKFBERkpTLmRpc2FibGVTdHJlYW0gPT09IHVuZGVmaW5lZCA/CiAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgOiBQREZKUy5kaXNhYmxlU3RyZWFtKTsKCi8qKgogKiBEaXNhYmxlIHByZS1mZXRjaGluZyBvZiBQREYgZmlsZSBkYXRhLiBXaGVuIHJhbmdlIHJlcXVlc3RzIGFyZSBlbmFibGVkIFBERi5qcwogKiB3aWxsIGF1dG9tYXRpY2FsbHkga2VlcCBmZXRjaGluZyBtb3JlIGRhdGEgZXZlbiBpZiBpdCBpc24ndCBuZWVkZWQgdG8gZGlzcGxheQogKiB0aGUgY3VycmVudCBwYWdlLiBUaGlzIGRlZmF1bHQgYmVoYXZpb3IgY2FuIGJlIGRpc2FibGVkLgogKgogKiBOT1RFOiBJdCBpcyBhbHNvIG5lY2Vzc2FyeSB0byBkaXNhYmxlIHN0cmVhbWluZywgc2VlIGFib3ZlLAogKiAgICAgICBpbiBvcmRlciBmb3IgZGlzYWJsaW5nIG9mIHByZS1mZXRjaGluZyB0byB3b3JrIGNvcnJlY3RseS4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLmRpc2FibGVBdXRvRmV0Y2ggPSAoUERGSlMuZGlzYWJsZUF1dG9GZXRjaCA9PT0gdW5kZWZpbmVkID8KICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSA6IFBERkpTLmRpc2FibGVBdXRvRmV0Y2gpOwoKLyoqCiAqIEVuYWJsZXMgc3BlY2lhbCBob29rcyBmb3IgZGVidWdnaW5nIFBERi5qcy4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLnBkZkJ1ZyA9IChQREZKUy5wZGZCdWcgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogUERGSlMucGRmQnVnKTsKCi8qKgogKiBFbmFibGVzIHRyYW5zZmVyIHVzYWdlIGluIHBvc3RNZXNzYWdlIGZvciBBcnJheUJ1ZmZlcnMuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy5wb3N0TWVzc2FnZVRyYW5zZmVycyA9IChQREZKUy5wb3N0TWVzc2FnZVRyYW5zZmVycyA9PT0gdW5kZWZpbmVkID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6IFBERkpTLnBvc3RNZXNzYWdlVHJhbnNmZXJzKTsKCi8qKgogKiBEaXNhYmxlcyBVUkwuY3JlYXRlT2JqZWN0VVJMIHVzYWdlLgogKiBAdmFyIHtib29sZWFufQogKi8KUERGSlMuZGlzYWJsZUNyZWF0ZU9iamVjdFVSTCA9IChQREZKUy5kaXNhYmxlQ3JlYXRlT2JqZWN0VVJMID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIDogUERGSlMuZGlzYWJsZUNyZWF0ZU9iamVjdFVSTCk7CgovKioKICogRGlzYWJsZXMgV2ViR0wgdXNhZ2UuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy5kaXNhYmxlV2ViR0wgPSAoUERGSlMuZGlzYWJsZVdlYkdMID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6IFBERkpTLmRpc2FibGVXZWJHTCk7CgovKioKICogRGlzYWJsZXMgZnVsbHNjcmVlbiBzdXBwb3J0LCBhbmQgYnkgZXh0ZW5zaW9uIFByZXNlbnRhdGlvbiBNb2RlLAogKiBpbiBicm93c2VycyB3aGljaCBzdXBwb3J0IHRoZSBmdWxsc2NyZWVuIEFQSS4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLmRpc2FibGVGdWxsc2NyZWVuID0gKFBERkpTLmRpc2FibGVGdWxsc2NyZWVuID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSA6IFBERkpTLmRpc2FibGVGdWxsc2NyZWVuKTsKCi8qKgogKiBFbmFibGVzIENTUyBvbmx5IHpvb21pbmcuCiAqIEB2YXIge2Jvb2xlYW59CiAqLwpQREZKUy51c2VPbmx5Q3NzWm9vbSA9IChQREZKUy51c2VPbmx5Q3NzWm9vbSA9PT0gdW5kZWZpbmVkID8KICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgOiBQREZKUy51c2VPbmx5Q3NzWm9vbSk7CgovKioKICogQ29udHJvbHMgdGhlIGxvZ2dpbmcgbGV2ZWwuCiAqIFRoZSBjb25zdGFudHMgZnJvbSBQREZKUy5WRVJCT1NJVFlfTEVWRUxTIHNob3VsZCBiZSB1c2VkOgogKiAtIGVycm9ycwogKiAtIHdhcm5pbmdzIFtkZWZhdWx0XQogKiAtIGluZm9zCiAqIEB2YXIge251bWJlcn0KICovClBERkpTLnZlcmJvc2l0eSA9IChQREZKUy52ZXJib3NpdHkgPT09IHVuZGVmaW5lZCA/CiAgICAgICAgICAgICAgICAgICBQREZKUy5WRVJCT1NJVFlfTEVWRUxTLndhcm5pbmdzIDogUERGSlMudmVyYm9zaXR5KTsKCi8qKgogKiBUaGUgbWF4aW11bSBzdXBwb3J0ZWQgY2FudmFzIHNpemUgaW4gdG90YWwgcGl4ZWxzIGUuZy4gd2lkdGggKiBoZWlnaHQuCiAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDQwOTYgKiA0MDk2LiBVc2UgLTEgZm9yIG5vIGxpbWl0LgogKiBAdmFyIHtudW1iZXJ9CiAqLwpQREZKUy5tYXhDYW52YXNQaXhlbHMgPSAoUERGSlMubWF4Q2FudmFzUGl4ZWxzID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgMTY3NzcyMTYgOiBQREZKUy5tYXhDYW52YXNQaXhlbHMpOwoKLyoqCiAqIE9wZW5zIGV4dGVybmFsIGxpbmtzIGluIGEgbmV3IHdpbmRvdyBpZiBlbmFibGVkLiBUaGUgZGVmYXVsdCBiZWhhdmlvciBvcGVucwogKiBleHRlcm5hbCBsaW5rcyBpbiB0aGUgUERGLmpzIHdpbmRvdy4KICogQHZhciB7Ym9vbGVhbn0KICovClBERkpTLm9wZW5FeHRlcm5hbExpbmtzSW5OZXdXaW5kb3cgPSAoCiAgUERGSlMub3BlbkV4dGVybmFsTGlua3NJbk5ld1dpbmRvdyA9PT0gdW5kZWZpbmVkID8KICAgIGZhbHNlIDogUERGSlMub3BlbkV4dGVybmFsTGlua3NJbk5ld1dpbmRvdyk7CgovKioKICogRG9jdW1lbnQgaW5pdGlhbGl6YXRpb24gLyBsb2FkaW5nIHBhcmFtZXRlcnMgb2JqZWN0LgogKgogKiBAdHlwZWRlZiB7T2JqZWN0fSBEb2N1bWVudEluaXRQYXJhbWV0ZXJzCiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSAgICAgdXJsICAgLSBUaGUgVVJMIG9mIHRoZSBQREYuCiAqIEBwcm9wZXJ0eSB7VHlwZWRBcnJheXxBcnJheXxzdHJpbmd9IGRhdGEgLSBCaW5hcnkgUERGIGRhdGEuIFVzZSB0eXBlZCBhcnJheXMKICogICAoVWludDhBcnJheSkgdG8gaW1wcm92ZSB0aGUgbWVtb3J5IHVzYWdlLiBJZiBQREYgZGF0YSBpcyBCQVNFNjQtZW5jb2RlZCwKICogICB1c2UgYXRvYigpIHRvIGNvbnZlcnQgaXQgdG8gYSBiaW5hcnkgc3RyaW5nIGZpcnN0LgogKiBAcHJvcGVydHkge09iamVjdH0gICAgIGh0dHBIZWFkZXJzIC0gQmFzaWMgYXV0aGVudGljYXRpb24gaGVhZGVycy4KICogQHByb3BlcnR5IHtib29sZWFufSAgICB3aXRoQ3JlZGVudGlhbHMgLSBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgY3Jvc3Mtc2l0ZQogKiAgIEFjY2Vzcy1Db250cm9sIHJlcXVlc3RzIHNob3VsZCBiZSBtYWRlIHVzaW5nIGNyZWRlbnRpYWxzIHN1Y2ggYXMgY29va2llcwogKiAgIG9yIGF1dGhvcml6YXRpb24gaGVhZGVycy4gVGhlIGRlZmF1bHQgaXMgZmFsc2UuCiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSAgICAgcGFzc3dvcmQgLSBGb3IgZGVjcnlwdGluZyBwYXNzd29yZC1wcm90ZWN0ZWQgUERGcy4KICogQHByb3BlcnR5IHtUeXBlZEFycmF5fSBpbml0aWFsRGF0YSAtIEEgdHlwZWQgYXJyYXkgd2l0aCB0aGUgZmlyc3QgcG9ydGlvbiBvcgogKiAgIGFsbCBvZiB0aGUgcGRmIGRhdGEuIFVzZWQgYnkgdGhlIGV4dGVuc2lvbiBzaW5jZSBzb21lIGRhdGEgaXMgYWxyZWFkeQogKiAgIGxvYWRlZCBiZWZvcmUgdGhlIHN3aXRjaCB0byByYW5nZSByZXF1ZXN0cy4KICogQHByb3BlcnR5IHtudW1iZXJ9ICAgICBsZW5ndGggLSBUaGUgUERGIGZpbGUgbGVuZ3RoLiBJdCdzIHVzZWQgZm9yIHByb2dyZXNzCiAqICAgcmVwb3J0cyBhbmQgcmFuZ2UgcmVxdWVzdHMgb3BlcmF0aW9ucy4KICogQHByb3BlcnR5IHtQREZEYXRhUmFuZ2VUcmFuc3BvcnR9IHJhbmdlCiAqLwoKLyoqCiAqIEB0eXBlZGVmIHtPYmplY3R9IFBERkRvY3VtZW50U3RhdHMKICogQHByb3BlcnR5IHtBcnJheX0gc3RyZWFtVHlwZXMgLSBVc2VkIHN0cmVhbSB0eXBlcyBpbiB0aGUgZG9jdW1lbnQgKGFuIGl0ZW0KICogICBpcyBzZXQgdG8gdHJ1ZSBpZiBzcGVjaWZpYyBzdHJlYW0gSUQgd2FzIHVzZWQgaW4gdGhlIGRvY3VtZW50KS4KICogQHByb3BlcnR5IHtBcnJheX0gZm9udFR5cGVzIC0gVXNlZCBmb250IHR5cGUgaW4gdGhlIGRvY3VtZW50IChhbiBpdGVtIGlzIHNldAogKiAgIHRvIHRydWUgaWYgc3BlY2lmaWMgZm9udCBJRCB3YXMgdXNlZCBpbiB0aGUgZG9jdW1lbnQpLgogKi8KCi8qKgogKiBUaGlzIGlzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciBsb2FkaW5nIGEgUERGIGFuZCBpbnRlcmFjdGluZyB3aXRoIGl0LgogKiBOT1RFOiBJZiBhIFVSTCBpcyB1c2VkIHRvIGZldGNoIHRoZSBQREYgZGF0YSBhIHN0YW5kYXJkIFhNTEh0dHBSZXF1ZXN0KFhIUikKICogaXMgdXNlZCwgd2hpY2ggbWVhbnMgaXQgbXVzdCBmb2xsb3cgdGhlIHNhbWUgb3JpZ2luIHJ1bGVzIHRoYXQgYW55IFhIUiBkb2VzCiAqIGUuZy4gTm8gY3Jvc3MgZG9tYWluIHJlcXVlc3RzIHdpdGhvdXQgQ09SUy4KICoKICogQHBhcmFtIHtzdHJpbmd8VHlwZWRBcnJheXxEb2N1bWVudEluaXRQYXJhbWV0ZXJzfFBERkRhdGFSYW5nZVRyYW5zcG9ydH0gc3JjCiAqIENhbiBiZSBhIHVybCB0byB3aGVyZSBhIFBERiBpcyBsb2NhdGVkLCBhIHR5cGVkIGFycmF5IChVaW50OEFycmF5KQogKiBhbHJlYWR5IHBvcHVsYXRlZCB3aXRoIGRhdGEgb3IgcGFyYW1ldGVyIG9iamVjdC4KICoKICogQHBhcmFtIHtQREZEYXRhUmFuZ2VUcmFuc3BvcnR9IHBkZkRhdGFSYW5nZVRyYW5zcG9ydCAoZGVwcmVjYXRlZCkgSXQgaXMgdXNlZAogKiBpZiB5b3Ugd2FudCB0byBtYW51YWxseSBzZXJ2ZSByYW5nZSByZXF1ZXN0cyBmb3IgZGF0YSBpbiB0aGUgUERGLgogKgogKiBAcGFyYW0ge2Z1bmN0aW9ufSBwYXNzd29yZENhbGxiYWNrIChkZXByZWNhdGVkKSBJdCBpcyB1c2VkIHRvIHJlcXVlc3QgYQogKiBwYXNzd29yZCBpZiB3cm9uZyBvciBubyBwYXNzd29yZCB3YXMgcHJvdmlkZWQuIFRoZSBjYWxsYmFjayByZWNlaXZlcyB0d28KICogcGFyYW1ldGVyczogZnVuY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBjYWxsZWQgd2l0aCBuZXcgcGFzc3dvcmQgYW5kIHJlYXNvbgogKiAoc2VlIHtQYXNzd29yZFJlc3BvbnNlc30pLgogKgogKiBAcGFyYW0ge2Z1bmN0aW9ufSBwcm9ncmVzc0NhbGxiYWNrIChkZXByZWNhdGVkKSBJdCBpcyB1c2VkIHRvIGJlIGFibGUgdG8KICogbW9uaXRvciB0aGUgbG9hZGluZyBwcm9ncmVzcyBvZiB0aGUgUERGIGZpbGUgKG5lY2Vzc2FyeSB0byBpbXBsZW1lbnQgZS5nLgogKiBhIGxvYWRpbmcgYmFyKS4gVGhlIGNhbGxiYWNrIHJlY2VpdmVzIGFuIHtPYmplY3R9IHdpdGggdGhlIHByb3BlcnRpZXM6CiAqIHtudW1iZXJ9IGxvYWRlZCBhbmQge251bWJlcn0gdG90YWwuCiAqCiAqIEByZXR1cm4ge1BERkRvY3VtZW50TG9hZGluZ1Rhc2t9CiAqLwpQREZKUy5nZXREb2N1bWVudCA9IGZ1bmN0aW9uIGdldERvY3VtZW50KHNyYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmRDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc0NhbGxiYWNrKSB7CiAgdmFyIHRhc2sgPSBuZXcgUERGRG9jdW1lbnRMb2FkaW5nVGFzaygpOwoKICAvLyBTdXBwb3J0IG9mIHRoZSBvYnNvbGV0ZSBhcmd1bWVudHMgKGZvciBjb21wYXRpYmlsaXR5IHdpdGggQVBJIHYxLjApCiAgaWYgKHBkZkRhdGFSYW5nZVRyYW5zcG9ydCkgewogICAgaWYgKCEocGRmRGF0YVJhbmdlVHJhbnNwb3J0IGluc3RhbmNlb2YgUERGRGF0YVJhbmdlVHJhbnNwb3J0KSkgewogICAgICAvLyBOb3QgYSBQREZEYXRhUmFuZ2VUcmFuc3BvcnQgaW5zdGFuY2UsIHRyeWluZyB0byBhZGQgbWlzc2luZyBwcm9wZXJ0aWVzLgogICAgICBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQgPSBPYmplY3QuY3JlYXRlKHBkZkRhdGFSYW5nZVRyYW5zcG9ydCk7CiAgICAgIHBkZkRhdGFSYW5nZVRyYW5zcG9ydC5sZW5ndGggPSBzcmMubGVuZ3RoOwogICAgICBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQuaW5pdGlhbERhdGEgPSBzcmMuaW5pdGlhbERhdGE7CiAgICB9CiAgICBzcmMgPSBPYmplY3QuY3JlYXRlKHNyYyk7CiAgICBzcmMucmFuZ2UgPSBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQ7CiAgfQogIHRhc2sub25QYXNzd29yZCA9IHBhc3N3b3JkQ2FsbGJhY2sgfHwgbnVsbDsKICB0YXNrLm9uUHJvZ3Jlc3MgPSBwcm9ncmVzc0NhbGxiYWNrIHx8IG51bGw7CgogIHZhciB3b3JrZXJJbml0aWFsaXplZENhcGFiaWxpdHksIHRyYW5zcG9ydDsKICB2YXIgc291cmNlOwogIGlmICh0eXBlb2Ygc3JjID09PSAnc3RyaW5nJykgewogICAgc291cmNlID0geyB1cmw6IHNyYyB9OwogIH0gZWxzZSBpZiAoaXNBcnJheUJ1ZmZlcihzcmMpKSB7CiAgICBzb3VyY2UgPSB7IGRhdGE6IHNyYyB9OwogIH0gZWxzZSBpZiAoc3JjIGluc3RhbmNlb2YgUERGRGF0YVJhbmdlVHJhbnNwb3J0KSB7CiAgICBzb3VyY2UgPSB7IHJhbmdlOiBzcmMgfTsKICB9IGVsc2UgewogICAgaWYgKHR5cGVvZiBzcmMgIT09ICdvYmplY3QnKSB7CiAgICAgIGVycm9yKCdJbnZhbGlkIHBhcmFtZXRlciBpbiBnZXREb2N1bWVudCwgbmVlZCBlaXRoZXIgVWludDhBcnJheSwgJyArCiAgICAgICAgJ3N0cmluZyBvciBhIHBhcmFtZXRlciBvYmplY3QnKTsKICAgIH0KICAgIGlmICghc3JjLnVybCAmJiAhc3JjLmRhdGEgJiYgIXNyYy5yYW5nZSkgewogICAgICBlcnJvcignSW52YWxpZCBwYXJhbWV0ZXIgb2JqZWN0OiBuZWVkIGVpdGhlciAuZGF0YSwgLnJhbmdlIG9yIC51cmwnKTsKICAgIH0KCiAgICBzb3VyY2UgPSBzcmM7CiAgfQoKICB2YXIgcGFyYW1zID0ge307CiAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgewogICAgaWYgKGtleSA9PT0gJ3VybCcgJiYgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgLy8gVGhlIGZ1bGwgcGF0aCBpcyByZXF1aXJlZCBpbiB0aGUgJ3VybCcgZmllbGQuCiAgICAgIHBhcmFtc1trZXldID0gY29tYmluZVVybCh3aW5kb3cubG9jYXRpb24uaHJlZiwgc291cmNlW2tleV0pOwogICAgICBjb250aW51ZTsKICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmFuZ2UnKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfSBlbHNlIGlmIChrZXkgPT09ICdkYXRhJyAmJiAhKHNvdXJjZVtrZXldIGluc3RhbmNlb2YgVWludDhBcnJheSkpIHsKICAgICAgLy8gQ29udmVydGluZyBzdHJpbmcgb3IgYXJyYXktbGlrZSBkYXRhIHRvIFVpbnQ4QXJyYXkuCiAgICAgIHZhciBwZGZCeXRlcyA9IHNvdXJjZVtrZXldOwogICAgICBpZiAodHlwZW9mIHBkZkJ5dGVzID09PSAnc3RyaW5nJykgewogICAgICAgIHBhcmFtc1trZXldID0gc3RyaW5nVG9CeXRlcyhwZGZCeXRlcyk7CiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBkZkJ5dGVzID09PSAnb2JqZWN0JyAmJiBwZGZCeXRlcyAhPT0gbnVsbCAmJgogICAgICAgICAgICAgICAgICFpc05hTihwZGZCeXRlcy5sZW5ndGgpKSB7CiAgICAgICAgcGFyYW1zW2tleV0gPSBuZXcgVWludDhBcnJheShwZGZCeXRlcyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZXJyb3IoJ0ludmFsaWQgUERGIGJpbmFyeSBkYXRhOiBlaXRoZXIgdHlwZWQgYXJyYXksIHN0cmluZyBvciAnICsKICAgICAgICAgICAgICAnYXJyYXktbGlrZSBvYmplY3QgaXMgZXhwZWN0ZWQgaW4gdGhlIGRhdGEgcHJvcGVydHkuJyk7CiAgICAgIH0KICAgICAgY29udGludWU7CiAgICB9CiAgICBwYXJhbXNba2V5XSA9IHNvdXJjZVtrZXldOwogIH0KCiAgd29ya2VySW5pdGlhbGl6ZWRDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKTsKICB0cmFuc3BvcnQgPSBuZXcgV29ya2VyVHJhbnNwb3J0KHdvcmtlckluaXRpYWxpemVkQ2FwYWJpbGl0eSwgc291cmNlLnJhbmdlKTsKICB3b3JrZXJJbml0aWFsaXplZENhcGFiaWxpdHkucHJvbWlzZS50aGVuKGZ1bmN0aW9uIHRyYW5zcG9ydEluaXRpYWxpemVkKCkgewogICAgdHJhbnNwb3J0LmZldGNoRG9jdW1lbnQodGFzaywgcGFyYW1zKTsKICB9KTsKCiAgcmV0dXJuIHRhc2s7Cn07CgovKioKICogUERGIGRvY3VtZW50IGxvYWRpbmcgb3BlcmF0aW9uLgogKiBAY2xhc3MKICovCnZhciBQREZEb2N1bWVudExvYWRpbmdUYXNrID0gKGZ1bmN0aW9uIFBERkRvY3VtZW50TG9hZGluZ1Rhc2tDbG9zdXJlKCkgewogIC8qKiBAY29uc3RydWN0cyBQREZEb2N1bWVudExvYWRpbmdUYXNrICovCiAgZnVuY3Rpb24gUERGRG9jdW1lbnRMb2FkaW5nVGFzaygpIHsKICAgIHRoaXMuX2NhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgIC8qKgogICAgICogQ2FsbGJhY2sgdG8gcmVxdWVzdCBhIHBhc3N3b3JkIGlmIHdyb25nIG9yIG5vIHBhc3N3b3JkIHdhcyBwcm92aWRlZC4KICAgICAqIFRoZSBjYWxsYmFjayByZWNlaXZlcyB0d28gcGFyYW1ldGVyczogZnVuY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBjYWxsZWQKICAgICAqIHdpdGggbmV3IHBhc3N3b3JkIGFuZCByZWFzb24gKHNlZSB7UGFzc3dvcmRSZXNwb25zZXN9KS4KICAgICAqLwogICAgdGhpcy5vblBhc3N3b3JkID0gbnVsbDsKCiAgICAvKioKICAgICAqIENhbGxiYWNrIHRvIGJlIGFibGUgdG8gbW9uaXRvciB0aGUgbG9hZGluZyBwcm9ncmVzcyBvZiB0aGUgUERGIGZpbGUKICAgICAqIChuZWNlc3NhcnkgdG8gaW1wbGVtZW50IGUuZy4gYSBsb2FkaW5nIGJhcikuIFRoZSBjYWxsYmFjayByZWNlaXZlcwogICAgICogYW4ge09iamVjdH0gd2l0aCB0aGUgcHJvcGVydGllczoge251bWJlcn0gbG9hZGVkIGFuZCB7bnVtYmVyfSB0b3RhbC4KICAgICAqLwogICAgdGhpcy5vblByb2dyZXNzID0gbnVsbDsKICB9CgogIFBERkRvY3VtZW50TG9hZGluZ1Rhc2sucHJvdG90eXBlID0KICAgICAgLyoqIEBsZW5kcyBQREZEb2N1bWVudExvYWRpbmdUYXNrLnByb3RvdHlwZSAqLyB7CiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9CiAgICAgKi8KICAgIGdldCBwcm9taXNlKCkgewogICAgICByZXR1cm4gdGhpcy5fY2FwYWJpbGl0eS5wcm9taXNlOwogICAgfSwKCiAgICAvLyBUT0RPIGFkZCBjYW5jZWwgb3IgYWJvcnQgbWV0aG9kCgogICAgLyoqCiAgICAgKiBSZWdpc3RlcnMgY2FsbGJhY2tzIHRvIGluZGljYXRlIHRoZSBkb2N1bWVudCBsb2FkaW5nIGNvbXBsZXRpb24uCiAgICAgKgogICAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25GdWxmaWxsZWQgVGhlIGNhbGxiYWNrIGZvciB0aGUgbG9hZGluZyBjb21wbGV0aW9uLgogICAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25SZWplY3RlZCBUaGUgY2FsbGJhY2sgZm9yIHRoZSBsb2FkaW5nIGZhaWx1cmUuCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCBhZnRlciB0aGUgb25GdWxmaWxsZWQgb3IKICAgICAqICAgICAgICAgICAgICAgICAgIG9uUmVqZWN0ZWQgY2FsbGJhY2suCiAgICAgKi8KICAgIHRoZW46IGZ1bmN0aW9uIFBERkRvY3VtZW50TG9hZGluZ1Rhc2tfdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkgewogICAgICByZXR1cm4gdGhpcy5wcm9taXNlLnRoZW4uYXBwbHkodGhpcy5wcm9taXNlLCBhcmd1bWVudHMpOwogICAgfQogIH07CgogIHJldHVybiBQREZEb2N1bWVudExvYWRpbmdUYXNrOwp9KSgpOwoKLyoqCiAqIEFic3RyYWN0IGNsYXNzIHRvIHN1cHBvcnQgcmFuZ2UgcmVxdWVzdHMgZmlsZSBsb2FkaW5nLgogKiBAY2xhc3MKICovCnZhciBQREZEYXRhUmFuZ2VUcmFuc3BvcnQgPSAoZnVuY3Rpb24gcGRmRGF0YVJhbmdlVHJhbnNwb3J0Q2xvc3VyZSgpIHsKICAvKioKICAgKiBAY29uc3RydWN0cyBQREZEYXRhUmFuZ2VUcmFuc3BvcnQKICAgKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoCiAgICogQHBhcmFtIHtVaW50OEFycmF5fSBpbml0aWFsRGF0YQogICAqLwogIGZ1bmN0aW9uIFBERkRhdGFSYW5nZVRyYW5zcG9ydChsZW5ndGgsIGluaXRpYWxEYXRhKSB7CiAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDsKICAgIHRoaXMuaW5pdGlhbERhdGEgPSBpbml0aWFsRGF0YTsKCiAgICB0aGlzLl9yYW5nZUxpc3RlbmVycyA9IFtdOwogICAgdGhpcy5fcHJvZ3Jlc3NMaXN0ZW5lcnMgPSBbXTsKICAgIHRoaXMuX3Byb2dyZXNzaXZlUmVhZExpc3RlbmVycyA9IFtdOwogICAgdGhpcy5fcmVhZHlDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKTsKICB9CiAgUERGRGF0YVJhbmdlVHJhbnNwb3J0LnByb3RvdHlwZSA9CiAgICAgIC8qKiBAbGVuZHMgUERGRGF0YVJhbmdlVHJhbnNwb3J0LnByb3RvdHlwZSAqLyB7CiAgICBhZGRSYW5nZUxpc3RlbmVyOgogICAgICAgIGZ1bmN0aW9uIFBERkRhdGFSYW5nZVRyYW5zcG9ydF9hZGRSYW5nZUxpc3RlbmVyKGxpc3RlbmVyKSB7CiAgICAgIHRoaXMuX3JhbmdlTGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpOwogICAgfSwKCiAgICBhZGRQcm9ncmVzc0xpc3RlbmVyOgogICAgICAgIGZ1bmN0aW9uIFBERkRhdGFSYW5nZVRyYW5zcG9ydF9hZGRQcm9ncmVzc0xpc3RlbmVyKGxpc3RlbmVyKSB7CiAgICAgIHRoaXMuX3Byb2dyZXNzTGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpOwogICAgfSwKCiAgICBhZGRQcm9ncmVzc2l2ZVJlYWRMaXN0ZW5lcjoKICAgICAgICBmdW5jdGlvbiBQREZEYXRhUmFuZ2VUcmFuc3BvcnRfYWRkUHJvZ3Jlc3NpdmVSZWFkTGlzdGVuZXIobGlzdGVuZXIpIHsKICAgICAgdGhpcy5fcHJvZ3Jlc3NpdmVSZWFkTGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpOwogICAgfSwKCiAgICBvbkRhdGFSYW5nZTogZnVuY3Rpb24gUERGRGF0YVJhbmdlVHJhbnNwb3J0X29uRGF0YVJhbmdlKGJlZ2luLCBjaHVuaykgewogICAgICB2YXIgbGlzdGVuZXJzID0gdGhpcy5fcmFuZ2VMaXN0ZW5lcnM7CiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IG47ICsraSkgewogICAgICAgIGxpc3RlbmVyc1tpXShiZWdpbiwgY2h1bmspOwogICAgICB9CiAgICB9LAoKICAgIG9uRGF0YVByb2dyZXNzOiBmdW5jdGlvbiBQREZEYXRhUmFuZ2VUcmFuc3BvcnRfb25EYXRhUHJvZ3Jlc3MobG9hZGVkKSB7CiAgICAgIHRoaXMuX3JlYWR5Q2FwYWJpbGl0eS5wcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9wcm9ncmVzc0xpc3RlbmVyczsKICAgICAgICBmb3IgKHZhciBpID0gMCwgbiA9IGxpc3RlbmVycy5sZW5ndGg7IGkgPCBuOyArK2kpIHsKICAgICAgICAgIGxpc3RlbmVyc1tpXShsb2FkZWQpOwogICAgICAgIH0KICAgICAgfS5iaW5kKHRoaXMpKTsKICAgIH0sCgogICAgb25EYXRhUHJvZ3Jlc3NpdmVSZWFkOgogICAgICAgIGZ1bmN0aW9uIFBERkRhdGFSYW5nZVRyYW5zcG9ydF9vbkRhdGFQcm9ncmVzcyhjaHVuaykgewogICAgICB0aGlzLl9yZWFkeUNhcGFiaWxpdHkucHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgbGlzdGVuZXJzID0gdGhpcy5fcHJvZ3Jlc3NpdmVSZWFkTGlzdGVuZXJzOwogICAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IG47ICsraSkgewogICAgICAgICAgbGlzdGVuZXJzW2ldKGNodW5rKTsKICAgICAgICB9CiAgICAgIH0uYmluZCh0aGlzKSk7CiAgICB9LAoKICAgIHRyYW5zcG9ydFJlYWR5OiBmdW5jdGlvbiBQREZEYXRhUmFuZ2VUcmFuc3BvcnRfdHJhbnNwb3J0UmVhZHkoKSB7CiAgICAgIHRoaXMuX3JlYWR5Q2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICB9LAoKICAgIHJlcXVlc3REYXRhUmFuZ2U6CiAgICAgICAgZnVuY3Rpb24gUERGRGF0YVJhbmdlVHJhbnNwb3J0X3JlcXVlc3REYXRhUmFuZ2UoYmVnaW4sIGVuZCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fic3RyYWN0IG1ldGhvZCBQREZEYXRhUmFuZ2VUcmFuc3BvcnQucmVxdWVzdERhdGFSYW5nZScpOwogICAgfQogIH07CiAgcmV0dXJuIFBERkRhdGFSYW5nZVRyYW5zcG9ydDsKfSkoKTsKClBERkpTLlBERkRhdGFSYW5nZVRyYW5zcG9ydCA9IFBERkRhdGFSYW5nZVRyYW5zcG9ydDsKCi8qKgogKiBQcm94eSB0byBhIFBERkRvY3VtZW50IGluIHRoZSB3b3JrZXIgdGhyZWFkLiBBbHNvLCBjb250YWlucyBjb21tb25seSB1c2VkCiAqIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgcmVhZCBzeW5jaHJvbm91c2x5LgogKiBAY2xhc3MKICovCnZhciBQREZEb2N1bWVudFByb3h5ID0gKGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHkocGRmSW5mbywgdHJhbnNwb3J0KSB7CiAgICB0aGlzLnBkZkluZm8gPSBwZGZJbmZvOwogICAgdGhpcy50cmFuc3BvcnQgPSB0cmFuc3BvcnQ7CiAgfQogIFBERkRvY3VtZW50UHJveHkucHJvdG90eXBlID0gLyoqIEBsZW5kcyBQREZEb2N1bWVudFByb3h5LnByb3RvdHlwZSAqLyB7CiAgICAvKioKICAgICAqIEByZXR1cm4ge251bWJlcn0gVG90YWwgbnVtYmVyIG9mIHBhZ2VzIHRoZSBQREYgY29udGFpbnMuCiAgICAgKi8KICAgIGdldCBudW1QYWdlcygpIHsKICAgICAgcmV0dXJuIHRoaXMucGRmSW5mby5udW1QYWdlczsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge3N0cmluZ30gQSB1bmlxdWUgSUQgdG8gaWRlbnRpZnkgYSBQREYuIE5vdCBndWFyYW50ZWVkIHRvIGJlCiAgICAgKiB1bmlxdWUuCiAgICAgKi8KICAgIGdldCBmaW5nZXJwcmludCgpIHsKICAgICAgcmV0dXJuIHRoaXMucGRmSW5mby5maW5nZXJwcmludDsKICAgIH0sCiAgICAvKioKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBwYWdlTnVtYmVyIFRoZSBwYWdlIG51bWJlciB0byBnZXQuIFRoZSBmaXJzdCBwYWdlIGlzIDEuCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGEge0BsaW5rIFBERlBhZ2VQcm94eX0KICAgICAqIG9iamVjdC4KICAgICAqLwogICAgZ2V0UGFnZTogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXRQYWdlKHBhZ2VOdW1iZXIpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldFBhZ2UocGFnZU51bWJlcik7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcGFyYW0ge3tudW06IG51bWJlciwgZ2VuOiBudW1iZXJ9fSByZWYgVGhlIHBhZ2UgcmVmZXJlbmNlLiBNdXN0IGhhdmUKICAgICAqICAgdGhlICdudW0nIGFuZCAnZ2VuJyBwcm9wZXJ0aWVzLgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCB0aGUgcGFnZSBpbmRleCB0aGF0IGlzCiAgICAgKiBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZmVyZW5jZS4KICAgICAqLwogICAgZ2V0UGFnZUluZGV4OiBmdW5jdGlvbiBQREZEb2N1bWVudFByb3h5X2dldFBhZ2VJbmRleChyZWYpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldFBhZ2VJbmRleChyZWYpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhIGxvb2t1cCB0YWJsZSBmb3IKICAgICAqIG1hcHBpbmcgbmFtZWQgZGVzdGluYXRpb25zIHRvIHJlZmVyZW5jZSBudW1iZXJzLgogICAgICoKICAgICAqIFRoaXMgY2FuIGJlIHNsb3cgZm9yIGxhcmdlIGRvY3VtZW50czogdXNlIGdldERlc3RpbmF0aW9uIGluc3RlYWQKICAgICAqLwogICAgZ2V0RGVzdGluYXRpb25zOiBmdW5jdGlvbiBQREZEb2N1bWVudFByb3h5X2dldERlc3RpbmF0aW9ucygpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldERlc3RpbmF0aW9ucygpOwogICAgfSwKICAgIC8qKgogICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIFRoZSBuYW1lZCBkZXN0aW5hdGlvbiB0byBnZXQuCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGFsbCBpbmZvcm1hdGlvbgogICAgICogb2YgdGhlIGdpdmVuIG5hbWVkIGRlc3RpbmF0aW9uLgogICAgICovCiAgICBnZXREZXN0aW5hdGlvbjogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXREZXN0aW5hdGlvbihpZCkgewogICAgICByZXR1cm4gdGhpcy50cmFuc3BvcnQuZ2V0RGVzdGluYXRpb24oaWQpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhIGxvb2t1cCB0YWJsZSBmb3IKICAgICAqIG1hcHBpbmcgbmFtZWQgYXR0YWNobWVudHMgdG8gdGhlaXIgY29udGVudC4KICAgICAqLwogICAgZ2V0QXR0YWNobWVudHM6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZ2V0QXR0YWNobWVudHMoKSB7CiAgICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydC5nZXRBdHRhY2htZW50cygpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhbiBhcnJheSBvZiBhbGwgdGhlCiAgICAgKiBKYXZhU2NyaXB0IHN0cmluZ3MgaW4gdGhlIG5hbWUgdHJlZS4KICAgICAqLwogICAgZ2V0SmF2YVNjcmlwdDogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXRKYXZhU2NyaXB0KCkgewogICAgICByZXR1cm4gdGhpcy50cmFuc3BvcnQuZ2V0SmF2YVNjcmlwdCgpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhbiB7QXJyYXl9IHRoYXQgaXMgYQogICAgICogdHJlZSBvdXRsaW5lIChpZiBpdCBoYXMgb25lKSBvZiB0aGUgUERGLiBUaGUgdHJlZSBpcyBpbiB0aGUgZm9ybWF0IG9mOgogICAgICogWwogICAgICogIHsKICAgICAqICAgdGl0bGU6IHN0cmluZywKICAgICAqICAgYm9sZDogYm9vbGVhbiwKICAgICAqICAgaXRhbGljOiBib29sZWFuLAogICAgICogICBjb2xvcjogcmdiIGFycmF5LAogICAgICogICBkZXN0OiBkZXN0IG9iaiwKICAgICAqICAgaXRlbXM6IGFycmF5IG9mIG1vcmUgaXRlbXMgbGlrZSB0aGlzCiAgICAgKiAgfSwKICAgICAqICAuLi4KICAgICAqIF0uCiAgICAgKi8KICAgIGdldE91dGxpbmU6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZ2V0T3V0bGluZSgpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldE91dGxpbmUoKTsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYW4ge09iamVjdH0gdGhhdCBoYXMKICAgICAqIGluZm8gYW5kIG1ldGFkYXRhIHByb3BlcnRpZXMuICBJbmZvIGlzIGFuIHtPYmplY3R9IGZpbGxlZCB3aXRoIGFueXRoaW5nCiAgICAgKiBhdmFpbGFibGUgaW4gdGhlIGluZm9ybWF0aW9uIGRpY3Rpb25hcnkgYW5kIHNpbWlsYXJseSBtZXRhZGF0YSBpcyBhCiAgICAgKiB7TWV0YWRhdGF9IG9iamVjdCB3aXRoIGluZm9ybWF0aW9uIGZyb20gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgdGhlIFBERi4KICAgICAqLwogICAgZ2V0TWV0YWRhdGE6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZ2V0TWV0YWRhdGEoKSB7CiAgICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydC5nZXRNZXRhZGF0YSgpOwogICAgfSwKICAgIC8qKgogICAgICogQHJldHVybiB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhIFR5cGVkQXJyYXkgdGhhdCBoYXMKICAgICAqIHRoZSByYXcgZGF0YSBmcm9tIHRoZSBQREYuCiAgICAgKi8KICAgIGdldERhdGE6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZ2V0RGF0YSgpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldERhdGEoKTsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlIGRvY3VtZW50J3MgZGF0YQogICAgICogaXMgbG9hZGVkLiBJdCBpcyByZXNvbHZlZCB3aXRoIGFuIHtPYmplY3R9IHRoYXQgY29udGFpbnMgdGhlIGxlbmd0aAogICAgICogcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXMgc2l6ZSBvZiB0aGUgUERGIGRhdGEgaW4gYnl0ZXMuCiAgICAgKi8KICAgIGdldERvd25sb2FkSW5mbzogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXREb3dubG9hZEluZm8oKSB7CiAgICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydC5kb3dubG9hZEluZm9DYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhpcyBpcyByZXNvbHZlZCB3aXRoIGN1cnJlbnQgc3RhdHMgYWJvdXQKICAgICAqIGRvY3VtZW50IHN0cnVjdHVyZXMgKHNlZSB7QGxpbmsgUERGRG9jdW1lbnRTdGF0c30pLgogICAgICovCiAgICBnZXRTdGF0czogZnVuY3Rpb24gUERGRG9jdW1lbnRQcm94eV9nZXRTdGF0cygpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LmdldFN0YXRzKCk7CiAgICB9LAogICAgLyoqCiAgICAgKiBDbGVhbnMgdXAgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUgZG9jdW1lbnQsIGUuZy4gY3JlYXRlZCBAZm9udC1mYWNlLgogICAgICovCiAgICBjbGVhbnVwOiBmdW5jdGlvbiBQREZEb2N1bWVudFByb3h5X2NsZWFudXAoKSB7CiAgICAgIHRoaXMudHJhbnNwb3J0LnN0YXJ0Q2xlYW51cCgpOwogICAgfSwKICAgIC8qKgogICAgICogRGVzdHJveXMgY3VycmVudCBkb2N1bWVudCBpbnN0YW5jZSBhbmQgdGVybWluYXRlcyB3b3JrZXIuCiAgICAgKi8KICAgIGRlc3Ryb3k6IGZ1bmN0aW9uIFBERkRvY3VtZW50UHJveHlfZGVzdHJveSgpIHsKICAgICAgdGhpcy50cmFuc3BvcnQuZGVzdHJveSgpOwogICAgfQogIH07CiAgcmV0dXJuIFBERkRvY3VtZW50UHJveHk7Cn0pKCk7CgovKioKICogUGFnZSB0ZXh0IGNvbnRlbnQuCiAqCiAqIEB0eXBlZGVmIHtPYmplY3R9IFRleHRDb250ZW50CiAqIEBwcm9wZXJ0eSB7YXJyYXl9IGl0ZW1zIC0gYXJyYXkgb2Yge0BsaW5rIFRleHRJdGVtfQogKiBAcHJvcGVydHkge09iamVjdH0gc3R5bGVzIC0ge0BsaW5rIFRleHRTdHlsZXN9IG9iamVjdHMsIGluZGV4ZWQgYnkgZm9udAogKiAgICAgICAgICAgICAgICAgICAgbmFtZS4KICovCgovKioKICogUGFnZSB0ZXh0IGNvbnRlbnQgcGFydC4KICoKICogQHR5cGVkZWYge09iamVjdH0gVGV4dEl0ZW0KICogQHByb3BlcnR5IHtzdHJpbmd9IHN0ciAtIHRleHQgY29udGVudC4KICogQHByb3BlcnR5IHtzdHJpbmd9IGRpciAtIHRleHQgZGlyZWN0aW9uOiAndHRiJywgJ2x0cicgb3IgJ3J0bCcuCiAqIEBwcm9wZXJ0eSB7YXJyYXl9IHRyYW5zZm9ybSAtIHRyYW5zZm9ybWF0aW9uIG1hdHJpeC4KICogQHByb3BlcnR5IHtudW1iZXJ9IHdpZHRoIC0gd2lkdGggaW4gZGV2aWNlIHNwYWNlLgogKiBAcHJvcGVydHkge251bWJlcn0gaGVpZ2h0IC0gaGVpZ2h0IGluIGRldmljZSBzcGFjZS4KICogQHByb3BlcnR5IHtzdHJpbmd9IGZvbnROYW1lIC0gZm9udCBuYW1lIHVzZWQgYnkgcGRmLmpzIGZvciBjb252ZXJ0ZWQgZm9udC4KICovCgovKioKICogVGV4dCBzdHlsZS4KICoKICogQHR5cGVkZWYge09iamVjdH0gVGV4dFN0eWxlCiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBhc2NlbnQgLSBmb250IGFzY2VudC4KICogQHByb3BlcnR5IHtudW1iZXJ9IGRlc2NlbnQgLSBmb250IGRlc2NlbnQuCiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdmVydGljYWwgLSB0ZXh0IGlzIGluIHZlcnRpY2FsIG1vZGUuCiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBmb250RmFtaWx5IC0gcG9zc2libGUgZm9udCBmYW1pbHkKICovCgovKioKICogUGFnZSByZW5kZXIgcGFyYW1ldGVycy4KICoKICogQHR5cGVkZWYge09iamVjdH0gUmVuZGVyUGFyYW1ldGVycwogKiBAcHJvcGVydHkge09iamVjdH0gY2FudmFzQ29udGV4dCAtIEEgMkQgY29udGV4dCBvZiBhIERPTSBDYW52YXMgb2JqZWN0LgogKiBAcHJvcGVydHkge1BERkpTLlBhZ2VWaWV3cG9ydH0gdmlld3BvcnQgLSBSZW5kZXJpbmcgdmlld3BvcnQgb2J0YWluZWQgYnkKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxpbmcgb2YgUERGUGFnZS5nZXRWaWV3cG9ydCBtZXRob2QuCiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpbnRlbnQgLSBSZW5kZXJpbmcgaW50ZW50LCBjYW4gYmUgJ2Rpc3BsYXknIG9yICdwcmludCcKICogICAgICAgICAgICAgICAgICAgIChkZWZhdWx0IHZhbHVlIGlzICdkaXNwbGF5JykuCiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBpbWFnZUxheWVyIC0gKG9wdGlvbmFsKSBBbiBvYmplY3QgdGhhdCBoYXMgYmVnaW5MYXlvdXQsCiAqICAgICAgICAgICAgICAgICAgICBlbmRMYXlvdXQgYW5kIGFwcGVuZEltYWdlIGZ1bmN0aW9ucy4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gY29udGludWVDYWxsYmFjayAtIChkZXByZWNhdGVkKSBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZQogKiAgICAgICAgICAgICAgICAgICAgICBjYWxsZWQgZWFjaCB0aW1lIHRoZSByZW5kZXJpbmcgaXMgcGF1c2VkLiAgVG8gY29udGludWUKICogICAgICAgICAgICAgICAgICAgICAgcmVuZGVyaW5nIGNhbGwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIGZpcnN0IGFyZ3VtZW50CiAqICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBjYWxsYmFjay4KICovCgovKioKICogUERGIHBhZ2Ugb3BlcmF0b3IgbGlzdC4KICoKICogQHR5cGVkZWYge09iamVjdH0gUERGT3BlcmF0b3JMaXN0CiAqIEBwcm9wZXJ0eSB7QXJyYXl9IGZuQXJyYXkgLSBBcnJheSBjb250YWluaW5nIHRoZSBvcGVyYXRvciBmdW5jdGlvbnMuCiAqIEBwcm9wZXJ0eSB7QXJyYXl9IGFyZ3NBcnJheSAtIEFycmF5IGNvbnRhaW5pbmcgdGhlIGFyZ3VtZW50cyBvZiB0aGUKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zLgogKi8KCi8qKgogKiBQcm94eSB0byBhIFBERlBhZ2UgaW4gdGhlIHdvcmtlciB0aHJlYWQuCiAqIEBjbGFzcwogKi8KdmFyIFBERlBhZ2VQcm94eSA9IChmdW5jdGlvbiBQREZQYWdlUHJveHlDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBERlBhZ2VQcm94eShwYWdlSW5kZXgsIHBhZ2VJbmZvLCB0cmFuc3BvcnQpIHsKICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4OwogICAgdGhpcy5wYWdlSW5mbyA9IHBhZ2VJbmZvOwogICAgdGhpcy50cmFuc3BvcnQgPSB0cmFuc3BvcnQ7CiAgICB0aGlzLnN0YXRzID0gbmV3IFN0YXRUaW1lcigpOwogICAgdGhpcy5zdGF0cy5lbmFibGVkID0gISFnbG9iYWxTY29wZS5QREZKUy5lbmFibGVTdGF0czsKICAgIHRoaXMuY29tbW9uT2JqcyA9IHRyYW5zcG9ydC5jb21tb25PYmpzOwogICAgdGhpcy5vYmpzID0gbmV3IFBERk9iamVjdHMoKTsKICAgIHRoaXMuY2xlYW51cEFmdGVyUmVuZGVyID0gZmFsc2U7CiAgICB0aGlzLnBlbmRpbmdEZXN0cm95ID0gZmFsc2U7CiAgICB0aGlzLmludGVudFN0YXRlcyA9IHt9OwogIH0KICBQREZQYWdlUHJveHkucHJvdG90eXBlID0gLyoqIEBsZW5kcyBQREZQYWdlUHJveHkucHJvdG90eXBlICovIHsKICAgIC8qKgogICAgICogQHJldHVybiB7bnVtYmVyfSBQYWdlIG51bWJlciBvZiB0aGUgcGFnZS4gRmlyc3QgcGFnZSBpcyAxLgogICAgICovCiAgICBnZXQgcGFnZU51bWJlcigpIHsKICAgICAgcmV0dXJuIHRoaXMucGFnZUluZGV4ICsgMTsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge251bWJlcn0gVGhlIG51bWJlciBvZiBkZWdyZWVzIHRoZSBwYWdlIGlzIHJvdGF0ZWQgY2xvY2t3aXNlLgogICAgICovCiAgICBnZXQgcm90YXRlKCkgewogICAgICByZXR1cm4gdGhpcy5wYWdlSW5mby5yb3RhdGU7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IFRoZSByZWZlcmVuY2UgdGhhdCBwb2ludHMgdG8gdGhpcyBwYWdlLiBJdCBoYXMgJ251bScgYW5kCiAgICAgKiAnZ2VuJyBwcm9wZXJ0aWVzLgogICAgICovCiAgICBnZXQgcmVmKCkgewogICAgICByZXR1cm4gdGhpcy5wYWdlSW5mby5yZWY7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtBcnJheX0gQW4gYXJyYXkgb2YgdGhlIHZpc2libGUgcG9ydGlvbiBvZiB0aGUgUERGIHBhZ2UgaW4gdGhlCiAgICAgKiB1c2VyIHNwYWNlIHVuaXRzIC0gW3gxLCB5MSwgeDIsIHkyXS4KICAgICAqLwogICAgZ2V0IHZpZXcoKSB7CiAgICAgIHJldHVybiB0aGlzLnBhZ2VJbmZvLnZpZXc7CiAgICB9LAogICAgLyoqCiAgICAgKiBAcGFyYW0ge251bWJlcn0gc2NhbGUgVGhlIGRlc2lyZWQgc2NhbGUgb2YgdGhlIHZpZXdwb3J0LgogICAgICogQHBhcmFtIHtudW1iZXJ9IHJvdGF0ZSBEZWdyZWVzIHRvIHJvdGF0ZSB0aGUgdmlld3BvcnQuIElmIG9taXR0ZWQgdGhpcwogICAgICogZGVmYXVsdHMgdG8gdGhlIHBhZ2Ugcm90YXRpb24uCiAgICAgKiBAcmV0dXJuIHtQREZKUy5QYWdlVmlld3BvcnR9IENvbnRhaW5zICd3aWR0aCcgYW5kICdoZWlnaHQnIHByb3BlcnRpZXMKICAgICAqIGFsb25nIHdpdGggdHJhbnNmb3JtcyByZXF1aXJlZCBmb3IgcmVuZGVyaW5nLgogICAgICovCiAgICBnZXRWaWV3cG9ydDogZnVuY3Rpb24gUERGUGFnZVByb3h5X2dldFZpZXdwb3J0KHNjYWxlLCByb3RhdGUpIHsKICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CiAgICAgICAgcm90YXRlID0gdGhpcy5yb3RhdGU7CiAgICAgIH0KICAgICAgcmV0dXJuIG5ldyBQREZKUy5QYWdlVmlld3BvcnQodGhpcy52aWV3LCBzY2FsZSwgcm90YXRlLCAwLCAwKTsKICAgIH0sCiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYW4ge0FycmF5fSBvZiB0aGUKICAgICAqIGFubm90YXRpb24gb2JqZWN0cy4KICAgICAqLwogICAgZ2V0QW5ub3RhdGlvbnM6IGZ1bmN0aW9uIFBERlBhZ2VQcm94eV9nZXRBbm5vdGF0aW9ucygpIHsKICAgICAgaWYgKHRoaXMuYW5ub3RhdGlvbnNQcm9taXNlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuYW5ub3RhdGlvbnNQcm9taXNlOwogICAgICB9CgogICAgICB2YXIgcHJvbWlzZSA9IHRoaXMudHJhbnNwb3J0LmdldEFubm90YXRpb25zKHRoaXMucGFnZUluZGV4KTsKICAgICAgdGhpcy5hbm5vdGF0aW9uc1Byb21pc2UgPSBwcm9taXNlOwogICAgICByZXR1cm4gcHJvbWlzZTsKICAgIH0sCiAgICAvKioKICAgICAqIEJlZ2lucyB0aGUgcHJvY2VzcyBvZiByZW5kZXJpbmcgYSBwYWdlIHRvIHRoZSBkZXNpcmVkIGNvbnRleHQuCiAgICAgKiBAcGFyYW0ge1JlbmRlclBhcmFtZXRlcnN9IHBhcmFtcyBQYWdlIHJlbmRlciBwYXJhbWV0ZXJzLgogICAgICogQHJldHVybiB7UmVuZGVyVGFza30gQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHByb21pc2UsIHdoaWNoCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICBpcyByZXNvbHZlZCB3aGVuIHRoZSBwYWdlIGZpbmlzaGVzIHJlbmRlcmluZy4KICAgICAqLwogICAgcmVuZGVyOiBmdW5jdGlvbiBQREZQYWdlUHJveHlfcmVuZGVyKHBhcmFtcykgewogICAgICB2YXIgc3RhdHMgPSB0aGlzLnN0YXRzOwogICAgICBzdGF0cy50aW1lKCdPdmVyYWxsJyk7CgogICAgICAvLyBJZiB0aGVyZSB3YXMgYSBwZW5kaW5nIGRlc3Ryb3kgY2FuY2VsIGl0IHNvIG5vIGNsZWFudXAgaGFwcGVucyBkdXJpbmcKICAgICAgLy8gdGhpcyBjYWxsIHRvIHJlbmRlci4KICAgICAgdGhpcy5wZW5kaW5nRGVzdHJveSA9IGZhbHNlOwoKICAgICAgdmFyIHJlbmRlcmluZ0ludGVudCA9IChwYXJhbXMuaW50ZW50ID09PSAncHJpbnQnID8gJ3ByaW50JyA6ICdkaXNwbGF5Jyk7CgogICAgICBpZiAoIXRoaXMuaW50ZW50U3RhdGVzW3JlbmRlcmluZ0ludGVudF0pIHsKICAgICAgICB0aGlzLmludGVudFN0YXRlc1tyZW5kZXJpbmdJbnRlbnRdID0ge307CiAgICAgIH0KICAgICAgdmFyIGludGVudFN0YXRlID0gdGhpcy5pbnRlbnRTdGF0ZXNbcmVuZGVyaW5nSW50ZW50XTsKCiAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gZGlzcGxheVJlYWR5Q2FwYWJpbGl0eSB5ZXQsIHRoZW4gdGhlIG9wZXJhdG9yTGlzdAogICAgICAvLyB3YXMgbmV2ZXIgcmVxdWVzdGVkIGJlZm9yZS4gTWFrZSB0aGUgcmVxdWVzdCBhbmQgY3JlYXRlIHRoZSBwcm9taXNlLgogICAgICBpZiAoIWludGVudFN0YXRlLmRpc3BsYXlSZWFkeUNhcGFiaWxpdHkpIHsKICAgICAgICBpbnRlbnRTdGF0ZS5yZWNlaXZpbmdPcGVyYXRvckxpc3QgPSB0cnVlOwogICAgICAgIGludGVudFN0YXRlLmRpc3BsYXlSZWFkeUNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgICAgIGludGVudFN0YXRlLm9wZXJhdG9yTGlzdCA9IHsKICAgICAgICAgIGZuQXJyYXk6IFtdLAogICAgICAgICAgYXJnc0FycmF5OiBbXSwKICAgICAgICAgIGxhc3RDaHVuazogZmFsc2UKICAgICAgICB9OwoKICAgICAgICB0aGlzLnN0YXRzLnRpbWUoJ1BhZ2UgUmVxdWVzdCcpOwogICAgICAgIHRoaXMudHJhbnNwb3J0Lm1lc3NhZ2VIYW5kbGVyLnNlbmQoJ1JlbmRlclBhZ2VSZXF1ZXN0JywgewogICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VOdW1iZXIgLSAxLAogICAgICAgICAgaW50ZW50OiByZW5kZXJpbmdJbnRlbnQKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGludGVybmFsUmVuZGVyVGFzayA9IG5ldyBJbnRlcm5hbFJlbmRlclRhc2soY29tcGxldGUsIHBhcmFtcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vYmpzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbW1vbk9ianMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudFN0YXRlLm9wZXJhdG9yTGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlTnVtYmVyKTsKICAgICAgaWYgKCFpbnRlbnRTdGF0ZS5yZW5kZXJUYXNrcykgewogICAgICAgIGludGVudFN0YXRlLnJlbmRlclRhc2tzID0gW107CiAgICAgIH0KICAgICAgaW50ZW50U3RhdGUucmVuZGVyVGFza3MucHVzaChpbnRlcm5hbFJlbmRlclRhc2spOwogICAgICB2YXIgcmVuZGVyVGFzayA9IGludGVybmFsUmVuZGVyVGFzay50YXNrOwoKICAgICAgLy8gT2Jzb2xldGUgcGFyYW1ldGVyIHN1cHBvcnQKICAgICAgaWYgKHBhcmFtcy5jb250aW51ZUNhbGxiYWNrKSB7CiAgICAgICAgcmVuZGVyVGFzay5vbkNvbnRpbnVlID0gcGFyYW1zLmNvbnRpbnVlQ2FsbGJhY2s7CiAgICAgIH0KCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgaW50ZW50U3RhdGUuZGlzcGxheVJlYWR5Q2FwYWJpbGl0eS5wcm9taXNlLnRoZW4oCiAgICAgICAgZnVuY3Rpb24gcGFnZURpc3BsYXlSZWFkeVByb21pc2UodHJhbnNwYXJlbmN5KSB7CiAgICAgICAgICBpZiAoc2VsZi5wZW5kaW5nRGVzdHJveSkgewogICAgICAgICAgICBjb21wbGV0ZSgpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBzdGF0cy50aW1lKCdSZW5kZXJpbmcnKTsKICAgICAgICAgIGludGVybmFsUmVuZGVyVGFzay5pbml0YWxpemVHcmFwaGljcyh0cmFuc3BhcmVuY3kpOwogICAgICAgICAgaW50ZXJuYWxSZW5kZXJUYXNrLm9wZXJhdG9yTGlzdENoYW5nZWQoKTsKICAgICAgICB9LAogICAgICAgIGZ1bmN0aW9uIHBhZ2VEaXNwbGF5UmVhZFByb21pc2VFcnJvcihyZWFzb24pIHsKICAgICAgICAgIGNvbXBsZXRlKHJlYXNvbik7CiAgICAgICAgfQogICAgICApOwoKICAgICAgZnVuY3Rpb24gY29tcGxldGUoZXJyb3IpIHsKICAgICAgICB2YXIgaSA9IGludGVudFN0YXRlLnJlbmRlclRhc2tzLmluZGV4T2YoaW50ZXJuYWxSZW5kZXJUYXNrKTsKICAgICAgICBpZiAoaSA+PSAwKSB7CiAgICAgICAgICBpbnRlbnRTdGF0ZS5yZW5kZXJUYXNrcy5zcGxpY2UoaSwgMSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoc2VsZi5jbGVhbnVwQWZ0ZXJSZW5kZXIpIHsKICAgICAgICAgIHNlbGYucGVuZGluZ0Rlc3Ryb3kgPSB0cnVlOwogICAgICAgIH0KICAgICAgICBzZWxmLl90cnlEZXN0cm95KCk7CgogICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgaW50ZXJuYWxSZW5kZXJUYXNrLmNhcGFiaWxpdHkucmVqZWN0KGVycm9yKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaW50ZXJuYWxSZW5kZXJUYXNrLmNhcGFiaWxpdHkucmVzb2x2ZSgpOwogICAgICAgIH0KICAgICAgICBzdGF0cy50aW1lRW5kKCdSZW5kZXJpbmcnKTsKICAgICAgICBzdGF0cy50aW1lRW5kKCdPdmVyYWxsJyk7CiAgICAgIH0KCiAgICAgIHJldHVybiByZW5kZXJUYXNrOwogICAgfSwKCiAgICAvKioKICAgICAqIEByZXR1cm4ge1Byb21pc2V9IEEgcHJvbWlzZSByZXNvbHZlZCB3aXRoIGFuIHtAbGluayBQREZPcGVyYXRvckxpc3R9CiAgICAgKiBvYmplY3QgdGhhdCByZXByZXNlbnRzIHBhZ2UncyBvcGVyYXRvciBsaXN0LgogICAgICovCiAgICBnZXRPcGVyYXRvckxpc3Q6IGZ1bmN0aW9uIFBERlBhZ2VQcm94eV9nZXRPcGVyYXRvckxpc3QoKSB7CiAgICAgIGZ1bmN0aW9uIG9wZXJhdG9yTGlzdENoYW5nZWQoKSB7CiAgICAgICAgaWYgKGludGVudFN0YXRlLm9wZXJhdG9yTGlzdC5sYXN0Q2h1bmspIHsKICAgICAgICAgIGludGVudFN0YXRlLm9wTGlzdFJlYWRDYXBhYmlsaXR5LnJlc29sdmUoaW50ZW50U3RhdGUub3BlcmF0b3JMaXN0KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciByZW5kZXJpbmdJbnRlbnQgPSAnb3BsaXN0JzsKICAgICAgaWYgKCF0aGlzLmludGVudFN0YXRlc1tyZW5kZXJpbmdJbnRlbnRdKSB7CiAgICAgICAgdGhpcy5pbnRlbnRTdGF0ZXNbcmVuZGVyaW5nSW50ZW50XSA9IHt9OwogICAgICB9CiAgICAgIHZhciBpbnRlbnRTdGF0ZSA9IHRoaXMuaW50ZW50U3RhdGVzW3JlbmRlcmluZ0ludGVudF07CgogICAgICBpZiAoIWludGVudFN0YXRlLm9wTGlzdFJlYWRDYXBhYmlsaXR5KSB7CiAgICAgICAgdmFyIG9wTGlzdFRhc2sgPSB7fTsKICAgICAgICBvcExpc3RUYXNrLm9wZXJhdG9yTGlzdENoYW5nZWQgPSBvcGVyYXRvckxpc3RDaGFuZ2VkOwogICAgICAgIGludGVudFN0YXRlLnJlY2VpdmluZ09wZXJhdG9yTGlzdCA9IHRydWU7CiAgICAgICAgaW50ZW50U3RhdGUub3BMaXN0UmVhZENhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgICAgIGludGVudFN0YXRlLnJlbmRlclRhc2tzID0gW107CiAgICAgICAgaW50ZW50U3RhdGUucmVuZGVyVGFza3MucHVzaChvcExpc3RUYXNrKTsKICAgICAgICBpbnRlbnRTdGF0ZS5vcGVyYXRvckxpc3QgPSB7CiAgICAgICAgICBmbkFycmF5OiBbXSwKICAgICAgICAgIGFyZ3NBcnJheTogW10sCiAgICAgICAgICBsYXN0Q2h1bms6IGZhbHNlCiAgICAgICAgfTsKCiAgICAgICAgdGhpcy50cmFuc3BvcnQubWVzc2FnZUhhbmRsZXIuc2VuZCgnUmVuZGVyUGFnZVJlcXVlc3QnLCB7CiAgICAgICAgICBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LAogICAgICAgICAgaW50ZW50OiByZW5kZXJpbmdJbnRlbnQKICAgICAgICB9KTsKICAgICAgfQogICAgICByZXR1cm4gaW50ZW50U3RhdGUub3BMaXN0UmVhZENhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBUaGF0IGlzIHJlc29sdmVkIGEge0BsaW5rIFRleHRDb250ZW50fQogICAgICogb2JqZWN0IHRoYXQgcmVwcmVzZW50IHRoZSBwYWdlIHRleHQgY29udGVudC4KICAgICAqLwogICAgZ2V0VGV4dENvbnRlbnQ6IGZ1bmN0aW9uIFBERlBhZ2VQcm94eV9nZXRUZXh0Q29udGVudCgpIHsKICAgICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0Lm1lc3NhZ2VIYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgnR2V0VGV4dENvbnRlbnQnLCB7CiAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VOdW1iZXIgLSAxCiAgICAgIH0pOwogICAgfSwKICAgIC8qKgogICAgICogRGVzdHJveXMgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUgcGFnZS4KICAgICAqLwogICAgZGVzdHJveTogZnVuY3Rpb24gUERGUGFnZVByb3h5X2Rlc3Ryb3koKSB7CiAgICAgIHRoaXMucGVuZGluZ0Rlc3Ryb3kgPSB0cnVlOwogICAgICB0aGlzLl90cnlEZXN0cm95KCk7CiAgICB9LAogICAgLyoqCiAgICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEF0dGVtcHRzIHRvIGNsZWFuIHVwIGlmIHJlbmRlcmluZyBpcyBpbiBhIHN0YXRlCiAgICAgKiB3aGVyZSB0aGF0J3MgcG9zc2libGUuCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIF90cnlEZXN0cm95OiBmdW5jdGlvbiBQREZQYWdlUHJveHlfX2Rlc3Ryb3koKSB7CiAgICAgIGlmICghdGhpcy5wZW5kaW5nRGVzdHJveSB8fAogICAgICAgICAgT2JqZWN0LmtleXModGhpcy5pbnRlbnRTdGF0ZXMpLnNvbWUoZnVuY3Rpb24oaW50ZW50KSB7CiAgICAgICAgICAgIHZhciBpbnRlbnRTdGF0ZSA9IHRoaXMuaW50ZW50U3RhdGVzW2ludGVudF07CiAgICAgICAgICAgIHJldHVybiAoaW50ZW50U3RhdGUucmVuZGVyVGFza3MubGVuZ3RoICE9PSAwIHx8CiAgICAgICAgICAgICAgICAgICAgaW50ZW50U3RhdGUucmVjZWl2aW5nT3BlcmF0b3JMaXN0KTsKICAgICAgICAgIH0sIHRoaXMpKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBPYmplY3Qua2V5cyh0aGlzLmludGVudFN0YXRlcykuZm9yRWFjaChmdW5jdGlvbihpbnRlbnQpIHsKICAgICAgICBkZWxldGUgdGhpcy5pbnRlbnRTdGF0ZXNbaW50ZW50XTsKICAgICAgfSwgdGhpcyk7CiAgICAgIHRoaXMub2Jqcy5jbGVhcigpOwogICAgICB0aGlzLmFubm90YXRpb25zUHJvbWlzZSA9IG51bGw7CiAgICAgIHRoaXMucGVuZGluZ0Rlc3Ryb3kgPSBmYWxzZTsKICAgIH0sCiAgICAvKioKICAgICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4KICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgX3N0YXJ0UmVuZGVyUGFnZTogZnVuY3Rpb24gUERGUGFnZVByb3h5X3N0YXJ0UmVuZGVyUGFnZSh0cmFuc3BhcmVuY3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCkgewogICAgICB2YXIgaW50ZW50U3RhdGUgPSB0aGlzLmludGVudFN0YXRlc1tpbnRlbnRdOwogICAgICAvLyBUT0RPIFJlZmFjdG9yIFJlbmRlclBhZ2VSZXF1ZXN0IHRvIHNlcGFyYXRlIHJlbmRlcmluZwogICAgICAvLyBhbmQgb3BlcmF0b3IgbGlzdCBsb2dpYwogICAgICBpZiAoaW50ZW50U3RhdGUuZGlzcGxheVJlYWR5Q2FwYWJpbGl0eSkgewogICAgICAgIGludGVudFN0YXRlLmRpc3BsYXlSZWFkeUNhcGFiaWxpdHkucmVzb2x2ZSh0cmFuc3BhcmVuY3kpOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIF9yZW5kZXJQYWdlQ2h1bms6IGZ1bmN0aW9uIFBERlBhZ2VQcm94eV9yZW5kZXJQYWdlQ2h1bmsob3BlcmF0b3JMaXN0Q2h1bmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCkgewogICAgICB2YXIgaW50ZW50U3RhdGUgPSB0aGlzLmludGVudFN0YXRlc1tpbnRlbnRdOwogICAgICB2YXIgaSwgaWk7CiAgICAgIC8vIEFkZCB0aGUgbmV3IGNodW5rIHRvIHRoZSBjdXJyZW50IG9wZXJhdG9yIGxpc3QuCiAgICAgIGZvciAoaSA9IDAsIGlpID0gb3BlcmF0b3JMaXN0Q2h1bmsubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGludGVudFN0YXRlLm9wZXJhdG9yTGlzdC5mbkFycmF5LnB1c2gob3BlcmF0b3JMaXN0Q2h1bmsuZm5BcnJheVtpXSk7CiAgICAgICAgaW50ZW50U3RhdGUub3BlcmF0b3JMaXN0LmFyZ3NBcnJheS5wdXNoKAogICAgICAgICAgb3BlcmF0b3JMaXN0Q2h1bmsuYXJnc0FycmF5W2ldKTsKICAgICAgfQogICAgICBpbnRlbnRTdGF0ZS5vcGVyYXRvckxpc3QubGFzdENodW5rID0gb3BlcmF0b3JMaXN0Q2h1bmsubGFzdENodW5rOwoKICAgICAgLy8gTm90aWZ5IGFsbCB0aGUgcmVuZGVyaW5nIHRhc2tzIHRoZXJlIGFyZSBtb3JlIG9wZXJhdG9ycyB0byBiZSBjb25zdW1lZC4KICAgICAgZm9yIChpID0gMDsgaSA8IGludGVudFN0YXRlLnJlbmRlclRhc2tzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaW50ZW50U3RhdGUucmVuZGVyVGFza3NbaV0ub3BlcmF0b3JMaXN0Q2hhbmdlZCgpOwogICAgICB9CgogICAgICBpZiAob3BlcmF0b3JMaXN0Q2h1bmsubGFzdENodW5rKSB7CiAgICAgICAgaW50ZW50U3RhdGUucmVjZWl2aW5nT3BlcmF0b3JMaXN0ID0gZmFsc2U7CiAgICAgICAgdGhpcy5fdHJ5RGVzdHJveSgpOwogICAgICB9CiAgICB9CiAgfTsKICByZXR1cm4gUERGUGFnZVByb3h5Owp9KSgpOwoKLyoqCiAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4KICogQGlnbm9yZQogKi8KdmFyIFdvcmtlclRyYW5zcG9ydCA9IChmdW5jdGlvbiBXb3JrZXJUcmFuc3BvcnRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFdvcmtlclRyYW5zcG9ydCh3b3JrZXJJbml0aWFsaXplZENhcGFiaWxpdHksIHBkZkRhdGFSYW5nZVRyYW5zcG9ydCkgewogICAgdGhpcy5wZGZEYXRhUmFuZ2VUcmFuc3BvcnQgPSBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQ7CiAgICB0aGlzLndvcmtlckluaXRpYWxpemVkQ2FwYWJpbGl0eSA9IHdvcmtlckluaXRpYWxpemVkQ2FwYWJpbGl0eTsKICAgIHRoaXMuY29tbW9uT2JqcyA9IG5ldyBQREZPYmplY3RzKCk7CgogICAgdGhpcy5sb2FkaW5nVGFzayA9IG51bGw7CgogICAgdGhpcy5wYWdlQ2FjaGUgPSBbXTsKICAgIHRoaXMucGFnZVByb21pc2VzID0gW107CiAgICB0aGlzLmRvd25sb2FkSW5mb0NhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgIC8vIElmIHdvcmtlciBzdXBwb3J0IGlzbid0IGRpc2FibGVkIGV4cGxpY2l0IGFuZCB0aGUgYnJvd3NlciBoYXMgd29ya2VyCiAgICAvLyBzdXBwb3J0LCBjcmVhdGUgYSBuZXcgd2ViIHdvcmtlciBhbmQgdGVzdCBpZiBpdC90aGUgYnJvd3NlciBmdWxsZmlsbHMKICAgIC8vIGFsbCByZXF1aXJlbWVudHMgdG8gcnVuIHBhcnRzIG9mIHBkZi5qcyBpbiBhIHdlYiB3b3JrZXIuCiAgICAvLyBSaWdodCBub3csIHRoZSByZXF1aXJlbWVudCBpcywgdGhhdCBhbiBVaW50OEFycmF5IGlzIHN0aWxsIGFuIFVpbnQ4QXJyYXkKICAgIC8vIGFzIGl0IGFycml2ZXMgb24gdGhlIHdvcmtlci4gQ2hyb21lIGFkZGVkIHRoaXMgd2l0aCB2ZXJzaW9uIDE1LgovLyNpZiAhU0lOR0xFX0ZJTEUKICAgIGlmICghZ2xvYmFsU2NvcGUuUERGSlMuZGlzYWJsZVdvcmtlciAmJiB0eXBlb2YgV29ya2VyICE9PSAndW5kZWZpbmVkJykgewogICAgICB2YXIgd29ya2VyU3JjID0gUERGSlMud29ya2VyU3JjOwogICAgICBpZiAoIXdvcmtlclNyYykgewogICAgICAgIGVycm9yKCdObyBQREZKUy53b3JrZXJTcmMgc3BlY2lmaWVkJyk7CiAgICAgIH0KCiAgICAgIHRyeSB7CiAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBGRiBjYW4ndCBjcmVhdGUgYSB3b3JrZXIgb24gbG9jYWxob3N0LCBzZWU6CiAgICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjgwCiAgICAgICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIod29ya2VyU3JjKTsKICAgICAgICB2YXIgbWVzc2FnZUhhbmRsZXIgPSBuZXcgTWVzc2FnZUhhbmRsZXIoJ21haW4nLCB3b3JrZXIpOwogICAgICAgIHRoaXMubWVzc2FnZUhhbmRsZXIgPSBtZXNzYWdlSGFuZGxlcjsKCiAgICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ3Rlc3QnLCBmdW5jdGlvbiB0cmFuc3BvcnRUZXN0KGRhdGEpIHsKICAgICAgICAgIHZhciBzdXBwb3J0VHlwZWRBcnJheSA9IGRhdGEgJiYgZGF0YS5zdXBwb3J0VHlwZWRBcnJheTsKICAgICAgICAgIGlmIChzdXBwb3J0VHlwZWRBcnJheSkgewogICAgICAgICAgICB0aGlzLndvcmtlciA9IHdvcmtlcjsKICAgICAgICAgICAgaWYgKCFkYXRhLnN1cHBvcnRUcmFuc2ZlcnMpIHsKICAgICAgICAgICAgICBQREZKUy5wb3N0TWVzc2FnZVRyYW5zZmVycyA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuc2V0dXBNZXNzYWdlSGFuZGxlcihtZXNzYWdlSGFuZGxlcik7CiAgICAgICAgICAgIHdvcmtlckluaXRpYWxpemVkQ2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLnNldHVwRmFrZVdvcmtlcigpOwogICAgICAgICAgfQogICAgICAgIH0uYmluZCh0aGlzKSk7CgogICAgICAgIHZhciB0ZXN0T2JqID0gbmV3IFVpbnQ4QXJyYXkoW1BERkpTLnBvc3RNZXNzYWdlVHJhbnNmZXJzID8gMjU1IDogMF0pOwogICAgICAgIC8vIFNvbWUgdmVyc2lvbnMgb2YgT3BlcmEgdGhyb3cgYSBEQVRBX0NMT05FX0VSUiBvbiBzZXJpYWxpemluZyB0aGUKICAgICAgICAvLyB0eXBlZCBhcnJheS4gQWxzbywgY2hlY2tpbmcgaWYgd2UgY2FuIHVzZSB0cmFuc2ZlcnMuCiAgICAgICAgdHJ5IHsKICAgICAgICAgIG1lc3NhZ2VIYW5kbGVyLnNlbmQoJ3Rlc3QnLCB0ZXN0T2JqLCBbdGVzdE9iai5idWZmZXJdKTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgaW5mbygnQ2Fubm90IHVzZSBwb3N0TWVzc2FnZSB0cmFuc2ZlcnMnKTsKICAgICAgICAgIHRlc3RPYmpbMF0gPSAwOwogICAgICAgICAgbWVzc2FnZUhhbmRsZXIuc2VuZCgndGVzdCcsIHRlc3RPYmopOwogICAgICAgIH0KICAgICAgICByZXR1cm47CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBpbmZvKCdUaGUgd29ya2VyIGhhcyBiZWVuIGRpc2FibGVkLicpOwogICAgICB9CiAgICB9Ci8vI2VuZGlmCiAgICAvLyBFaXRoZXIgd29ya2VycyBhcmUgZGlzYWJsZWQsIG5vdCBzdXBwb3J0ZWQgb3IgaGF2ZSB0aHJvd24gYW4gZXhjZXB0aW9uLgogICAgLy8gVGh1cywgd2UgZmFsbGJhY2sgdG8gYSBmYWtlZCB3b3JrZXIuCiAgICB0aGlzLnNldHVwRmFrZVdvcmtlcigpOwogIH0KICBXb3JrZXJUcmFuc3BvcnQucHJvdG90eXBlID0gewogICAgZGVzdHJveTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2Rlc3Ryb3koKSB7CiAgICAgIHRoaXMucGFnZUNhY2hlID0gW107CiAgICAgIHRoaXMucGFnZVByb21pc2VzID0gW107CiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ1Rlcm1pbmF0ZScsIG51bGwpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIEZvbnRMb2FkZXIuY2xlYXIoKTsKICAgICAgICBpZiAoc2VsZi53b3JrZXIpIHsKICAgICAgICAgIHNlbGYud29ya2VyLnRlcm1pbmF0ZSgpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIHNldHVwRmFrZVdvcmtlcjogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X3NldHVwRmFrZVdvcmtlcigpIHsKICAgICAgZ2xvYmFsU2NvcGUuUERGSlMuZGlzYWJsZVdvcmtlciA9IHRydWU7CgogICAgICBpZiAoIVBERkpTLmZha2VXb3JrZXJGaWxlc0xvYWRlZENhcGFiaWxpdHkpIHsKICAgICAgICBQREZKUy5mYWtlV29ya2VyRmlsZXNMb2FkZWRDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKTsKICAgICAgICAvLyBJbiB0aGUgZGV2ZWxvcGVyIGJ1aWxkIGxvYWQgd29ya2VyX2xvYWRlciB3aGljaCBpbiB0dXJuIGxvYWRzIGFsbCB0aGUKICAgICAgICAvLyBvdGhlciBmaWxlcyBhbmQgcmVzb2x2ZXMgdGhlIHByb21pc2UuIEluIHByb2R1Y3Rpb24gb25seSB0aGUKICAgICAgICAvLyBwZGYud29ya2VyLmpzIGZpbGUgaXMgbmVlZGVkLgovLyNpZiAhUFJPRFVDVElPTgogICAgICAgIFV0aWwubG9hZFNjcmlwdChQREZKUy53b3JrZXJTcmMpOwovLyNlbmRpZgovLyNpZiBQUk9EVUNUSU9OICYmIFNJTkdMRV9GSUxFCi8vICAgICAgUERGSlMuZmFrZVdvcmtlckZpbGVzTG9hZGVkQ2FwYWJpbGl0eS5yZXNvbHZlKCk7Ci8vI2VuZGlmCi8vI2lmIFBST0RVQ1RJT04gJiYgIVNJTkdMRV9GSUxFCi8vICAgICAgVXRpbC5sb2FkU2NyaXB0KFBERkpTLndvcmtlclNyYywgZnVuY3Rpb24oKSB7Ci8vICAgICAgICBQREZKUy5mYWtlV29ya2VyRmlsZXNMb2FkZWRDYXBhYmlsaXR5LnJlc29sdmUoKTsKLy8gICAgICB9KTsKLy8jZW5kaWYKICAgICAgfQogICAgICBQREZKUy5mYWtlV29ya2VyRmlsZXNMb2FkZWRDYXBhYmlsaXR5LnByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgd2FybignU2V0dGluZyB1cCBmYWtlIHdvcmtlci4nKTsKICAgICAgICAvLyBJZiB3ZSBkb24ndCB1c2UgYSB3b3JrZXIsIGp1c3QgcG9zdC9zZW5kTWVzc2FnZSB0byB0aGUgbWFpbiB0aHJlYWQuCiAgICAgICAgdmFyIGZha2VXb3JrZXIgPSB7CiAgICAgICAgICBwb3N0TWVzc2FnZTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X3Bvc3RNZXNzYWdlKG9iaikgewogICAgICAgICAgICBmYWtlV29ya2VyLm9ubWVzc2FnZSh7ZGF0YTogb2JqfSk7CiAgICAgICAgICB9LAogICAgICAgICAgdGVybWluYXRlOiBmdW5jdGlvbiBXb3JrZXJUcmFuc3BvcnRfdGVybWluYXRlKCkge30KICAgICAgICB9OwoKICAgICAgICB2YXIgbWVzc2FnZUhhbmRsZXIgPSBuZXcgTWVzc2FnZUhhbmRsZXIoJ21haW4nLCBmYWtlV29ya2VyKTsKICAgICAgICB0aGlzLnNldHVwTWVzc2FnZUhhbmRsZXIobWVzc2FnZUhhbmRsZXIpOwoKICAgICAgICAvLyBJZiB0aGUgbWFpbiB0aHJlYWQgaXMgb3VyIHdvcmtlciwgc2V0dXAgdGhlIGhhbmRsaW5nIGZvciB0aGUgbWVzc2FnZXMKICAgICAgICAvLyB0aGUgbWFpbiB0aHJlYWQgc2VuZHMgdG8gaXQgc2VsZi4KICAgICAgICBQREZKUy5Xb3JrZXJNZXNzYWdlSGFuZGxlci5zZXR1cChtZXNzYWdlSGFuZGxlcik7CgogICAgICAgIHRoaXMud29ya2VySW5pdGlhbGl6ZWRDYXBhYmlsaXR5LnJlc29sdmUoKTsKICAgICAgfS5iaW5kKHRoaXMpKTsKICAgIH0sCgogICAgc2V0dXBNZXNzYWdlSGFuZGxlcjoKICAgICAgZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X3NldHVwTWVzc2FnZUhhbmRsZXIobWVzc2FnZUhhbmRsZXIpIHsKICAgICAgdGhpcy5tZXNzYWdlSGFuZGxlciA9IG1lc3NhZ2VIYW5kbGVyOwoKICAgICAgZnVuY3Rpb24gdXBkYXRlUGFzc3dvcmQocGFzc3dvcmQpIHsKICAgICAgICBtZXNzYWdlSGFuZGxlci5zZW5kKCdVcGRhdGVQYXNzd29yZCcsIHBhc3N3b3JkKTsKICAgICAgfQoKICAgICAgdmFyIHBkZkRhdGFSYW5nZVRyYW5zcG9ydCA9IHRoaXMucGRmRGF0YVJhbmdlVHJhbnNwb3J0OwogICAgICBpZiAocGRmRGF0YVJhbmdlVHJhbnNwb3J0KSB7CiAgICAgICAgcGRmRGF0YVJhbmdlVHJhbnNwb3J0LmFkZFJhbmdlTGlzdGVuZXIoZnVuY3Rpb24oYmVnaW4sIGNodW5rKSB7CiAgICAgICAgICBtZXNzYWdlSGFuZGxlci5zZW5kKCdPbkRhdGFSYW5nZScsIHsKICAgICAgICAgICAgYmVnaW46IGJlZ2luLAogICAgICAgICAgICBjaHVuazogY2h1bmsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKICAgICAgICBwZGZEYXRhUmFuZ2VUcmFuc3BvcnQuYWRkUHJvZ3Jlc3NMaXN0ZW5lcihmdW5jdGlvbihsb2FkZWQpIHsKICAgICAgICAgIG1lc3NhZ2VIYW5kbGVyLnNlbmQoJ09uRGF0YVByb2dyZXNzJywgewogICAgICAgICAgICBsb2FkZWQ6IGxvYWRlZAogICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgIHBkZkRhdGFSYW5nZVRyYW5zcG9ydC5hZGRQcm9ncmVzc2l2ZVJlYWRMaXN0ZW5lcihmdW5jdGlvbihjaHVuaykgewogICAgICAgICAgbWVzc2FnZUhhbmRsZXIuc2VuZCgnT25EYXRhUmFuZ2UnLCB7CiAgICAgICAgICAgIGNodW5rOiBjaHVuawogICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdSZXF1ZXN0RGF0YVJhbmdlJywKICAgICAgICAgIGZ1bmN0aW9uIHRyYW5zcG9ydERhdGFSYW5nZShkYXRhKSB7CiAgICAgICAgICAgIHBkZkRhdGFSYW5nZVRyYW5zcG9ydC5yZXF1ZXN0RGF0YVJhbmdlKGRhdGEuYmVnaW4sIGRhdGEuZW5kKTsKICAgICAgICAgIH0sIHRoaXMpOwogICAgICB9CgogICAgICBtZXNzYWdlSGFuZGxlci5vbignR2V0RG9jJywgZnVuY3Rpb24gdHJhbnNwb3J0RG9jKGRhdGEpIHsKICAgICAgICB2YXIgcGRmSW5mbyA9IGRhdGEucGRmSW5mbzsKICAgICAgICB0aGlzLm51bVBhZ2VzID0gZGF0YS5wZGZJbmZvLm51bVBhZ2VzOwogICAgICAgIHZhciBwZGZEb2N1bWVudCA9IG5ldyBQREZEb2N1bWVudFByb3h5KHBkZkluZm8sIHRoaXMpOwogICAgICAgIHRoaXMucGRmRG9jdW1lbnQgPSBwZGZEb2N1bWVudDsKICAgICAgICB0aGlzLmxvYWRpbmdUYXNrLl9jYXBhYmlsaXR5LnJlc29sdmUocGRmRG9jdW1lbnQpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdOZWVkUGFzc3dvcmQnLAogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0cmFuc3BvcnROZWVkUGFzc3dvcmQoZXhjZXB0aW9uKSB7CiAgICAgICAgdmFyIGxvYWRpbmdUYXNrID0gdGhpcy5sb2FkaW5nVGFzazsKICAgICAgICBpZiAobG9hZGluZ1Rhc2sub25QYXNzd29yZCkgewogICAgICAgICAgcmV0dXJuIGxvYWRpbmdUYXNrLm9uUGFzc3dvcmQodXBkYXRlUGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzd29yZFJlc3BvbnNlcy5ORUVEX1BBU1NXT1JEKTsKICAgICAgICB9CiAgICAgICAgbG9hZGluZ1Rhc2suX2NhcGFiaWxpdHkucmVqZWN0KAogICAgICAgICAgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKGV4Y2VwdGlvbi5tZXNzYWdlLCBleGNlcHRpb24uY29kZSkpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdJbmNvcnJlY3RQYXNzd29yZCcsCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRyYW5zcG9ydEluY29ycmVjdFBhc3N3b3JkKGV4Y2VwdGlvbikgewogICAgICAgIHZhciBsb2FkaW5nVGFzayA9IHRoaXMubG9hZGluZ1Rhc2s7CiAgICAgICAgaWYgKGxvYWRpbmdUYXNrLm9uUGFzc3dvcmQpIHsKICAgICAgICAgIHJldHVybiBsb2FkaW5nVGFzay5vblBhc3N3b3JkKHVwZGF0ZVBhc3N3b3JkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmRSZXNwb25zZXMuSU5DT1JSRUNUX1BBU1NXT1JEKTsKICAgICAgICB9CiAgICAgICAgbG9hZGluZ1Rhc2suX2NhcGFiaWxpdHkucmVqZWN0KAogICAgICAgICAgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKGV4Y2VwdGlvbi5tZXNzYWdlLCBleGNlcHRpb24uY29kZSkpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdJbnZhbGlkUERGJywgZnVuY3Rpb24gdHJhbnNwb3J0SW52YWxpZFBERihleGNlcHRpb24pIHsKICAgICAgICB0aGlzLmxvYWRpbmdUYXNrLl9jYXBhYmlsaXR5LnJlamVjdCgKICAgICAgICAgIG5ldyBJbnZhbGlkUERGRXhjZXB0aW9uKGV4Y2VwdGlvbi5tZXNzYWdlKSk7CiAgICAgIH0sIHRoaXMpOwoKICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ01pc3NpbmdQREYnLCBmdW5jdGlvbiB0cmFuc3BvcnRNaXNzaW5nUERGKGV4Y2VwdGlvbikgewogICAgICAgIHRoaXMubG9hZGluZ1Rhc2suX2NhcGFiaWxpdHkucmVqZWN0KAogICAgICAgICAgbmV3IE1pc3NpbmdQREZFeGNlcHRpb24oZXhjZXB0aW9uLm1lc3NhZ2UpKTsKICAgICAgfSwgdGhpcyk7CgogICAgICBtZXNzYWdlSGFuZGxlci5vbignVW5leHBlY3RlZFJlc3BvbnNlJywKICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdHJhbnNwb3J0VW5leHBlY3RlZFJlc3BvbnNlKGV4Y2VwdGlvbikgewogICAgICAgIHRoaXMubG9hZGluZ1Rhc2suX2NhcGFiaWxpdHkucmVqZWN0KAogICAgICAgICAgbmV3IFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbihleGNlcHRpb24ubWVzc2FnZSwgZXhjZXB0aW9uLnN0YXR1cykpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdVbmtub3duRXJyb3InLAogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0cmFuc3BvcnRVbmtub3duRXJyb3IoZXhjZXB0aW9uKSB7CiAgICAgICAgdGhpcy5sb2FkaW5nVGFzay5fY2FwYWJpbGl0eS5yZWplY3QoCiAgICAgICAgICBuZXcgVW5rbm93bkVycm9yRXhjZXB0aW9uKGV4Y2VwdGlvbi5tZXNzYWdlLCBleGNlcHRpb24uZGV0YWlscykpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdEYXRhTG9hZGVkJywgZnVuY3Rpb24gdHJhbnNwb3J0UGFnZShkYXRhKSB7CiAgICAgICAgdGhpcy5kb3dubG9hZEluZm9DYXBhYmlsaXR5LnJlc29sdmUoZGF0YSk7CiAgICAgIH0sIHRoaXMpOwoKICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ1BERk1hbmFnZXJSZWFkeScsIGZ1bmN0aW9uIHRyYW5zcG9ydFBhZ2UoZGF0YSkgewogICAgICAgIGlmICh0aGlzLnBkZkRhdGFSYW5nZVRyYW5zcG9ydCkgewogICAgICAgICAgdGhpcy5wZGZEYXRhUmFuZ2VUcmFuc3BvcnQudHJhbnNwb3J0UmVhZHkoKTsKICAgICAgICB9CiAgICAgIH0sIHRoaXMpOwoKICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ1N0YXJ0UmVuZGVyUGFnZScsIGZ1bmN0aW9uIHRyYW5zcG9ydFJlbmRlcihkYXRhKSB7CiAgICAgICAgdmFyIHBhZ2UgPSB0aGlzLnBhZ2VDYWNoZVtkYXRhLnBhZ2VJbmRleF07CgogICAgICAgIHBhZ2Uuc3RhdHMudGltZUVuZCgnUGFnZSBSZXF1ZXN0Jyk7CiAgICAgICAgcGFnZS5fc3RhcnRSZW5kZXJQYWdlKGRhdGEudHJhbnNwYXJlbmN5LCBkYXRhLmludGVudCk7CiAgICAgIH0sIHRoaXMpOwoKICAgICAgbWVzc2FnZUhhbmRsZXIub24oJ1JlbmRlclBhZ2VDaHVuaycsIGZ1bmN0aW9uIHRyYW5zcG9ydFJlbmRlcihkYXRhKSB7CiAgICAgICAgdmFyIHBhZ2UgPSB0aGlzLnBhZ2VDYWNoZVtkYXRhLnBhZ2VJbmRleF07CgogICAgICAgIHBhZ2UuX3JlbmRlclBhZ2VDaHVuayhkYXRhLm9wZXJhdG9yTGlzdCwgZGF0YS5pbnRlbnQpOwogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdjb21tb25vYmonLCBmdW5jdGlvbiB0cmFuc3BvcnRPYmooZGF0YSkgewogICAgICAgIHZhciBpZCA9IGRhdGFbMF07CiAgICAgICAgdmFyIHR5cGUgPSBkYXRhWzFdOwogICAgICAgIGlmICh0aGlzLmNvbW1vbk9ianMuaGFzRGF0YShpZCkpIHsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgY2FzZSAnRm9udCc6CiAgICAgICAgICAgIHZhciBleHBvcnRlZERhdGEgPSBkYXRhWzJdOwoKICAgICAgICAgICAgdmFyIGZvbnQ7CiAgICAgICAgICAgIGlmICgnZXJyb3InIGluIGV4cG9ydGVkRGF0YSkgewogICAgICAgICAgICAgIHZhciBlcnJvciA9IGV4cG9ydGVkRGF0YS5lcnJvcjsKICAgICAgICAgICAgICB3YXJuKCdFcnJvciBkdXJpbmcgZm9udCBsb2FkaW5nOiAnICsgZXJyb3IpOwogICAgICAgICAgICAgIHRoaXMuY29tbW9uT2Jqcy5yZXNvbHZlKGlkLCBlcnJvcik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZm9udCA9IG5ldyBGb250RmFjZU9iamVjdChleHBvcnRlZERhdGEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBGb250TG9hZGVyLmJpbmQoCiAgICAgICAgICAgICAgW2ZvbnRdLAogICAgICAgICAgICAgIGZ1bmN0aW9uIGZvbnRSZWFkeShmb250T2JqcykgewogICAgICAgICAgICAgICAgdGhpcy5jb21tb25PYmpzLnJlc29sdmUoaWQsIGZvbnQpOwogICAgICAgICAgICAgIH0uYmluZCh0aGlzKQogICAgICAgICAgICApOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0ZvbnRQYXRoJzoKICAgICAgICAgICAgdGhpcy5jb21tb25PYmpzLnJlc29sdmUoaWQsIGRhdGFbMl0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdHb3QgdW5rbm93biBjb21tb24gb2JqZWN0IHR5cGUgJyArIHR5cGUpOwogICAgICAgIH0KICAgICAgfSwgdGhpcyk7CgogICAgICBtZXNzYWdlSGFuZGxlci5vbignb2JqJywgZnVuY3Rpb24gdHJhbnNwb3J0T2JqKGRhdGEpIHsKICAgICAgICB2YXIgaWQgPSBkYXRhWzBdOwogICAgICAgIHZhciBwYWdlSW5kZXggPSBkYXRhWzFdOwogICAgICAgIHZhciB0eXBlID0gZGF0YVsyXTsKICAgICAgICB2YXIgcGFnZVByb3h5ID0gdGhpcy5wYWdlQ2FjaGVbcGFnZUluZGV4XTsKICAgICAgICB2YXIgaW1hZ2VEYXRhOwogICAgICAgIGlmIChwYWdlUHJveHkub2Jqcy5oYXNEYXRhKGlkKSkgewogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgICAgICBjYXNlICdKcGVnU3RyZWFtJzoKICAgICAgICAgICAgaW1hZ2VEYXRhID0gZGF0YVszXTsKICAgICAgICAgICAgbG9hZEpwZWdTdHJlYW0oaWQsIGltYWdlRGF0YSwgcGFnZVByb3h5Lm9ianMpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0ltYWdlJzoKICAgICAgICAgICAgaW1hZ2VEYXRhID0gZGF0YVszXTsKICAgICAgICAgICAgcGFnZVByb3h5Lm9ianMucmVzb2x2ZShpZCwgaW1hZ2VEYXRhKTsKCiAgICAgICAgICAgIC8vIGhldXJpc3RpY3MgdGhhdCB3aWxsIGFsbG93IG5vdCB0byBzdG9yZSBsYXJnZSBkYXRhCiAgICAgICAgICAgIHZhciBNQVhfSU1BR0VfU0laRV9UT19TVE9SRSA9IDgwMDAwMDA7CiAgICAgICAgICAgIGlmIChpbWFnZURhdGEgJiYgJ2RhdGEnIGluIGltYWdlRGF0YSAmJgogICAgICAgICAgICAgICAgaW1hZ2VEYXRhLmRhdGEubGVuZ3RoID4gTUFYX0lNQUdFX1NJWkVfVE9fU1RPUkUpIHsKICAgICAgICAgICAgICBwYWdlUHJveHkuY2xlYW51cEFmdGVyUmVuZGVyID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdHb3QgdW5rbm93biBvYmplY3QgdHlwZSAnICsgdHlwZSk7CiAgICAgICAgfQogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdEb2NQcm9ncmVzcycsIGZ1bmN0aW9uIHRyYW5zcG9ydERvY1Byb2dyZXNzKGRhdGEpIHsKICAgICAgICB2YXIgbG9hZGluZ1Rhc2sgPSB0aGlzLmxvYWRpbmdUYXNrOwogICAgICAgIGlmIChsb2FkaW5nVGFzay5vblByb2dyZXNzKSB7CiAgICAgICAgICBsb2FkaW5nVGFzay5vblByb2dyZXNzKHsKICAgICAgICAgICAgbG9hZGVkOiBkYXRhLmxvYWRlZCwKICAgICAgICAgICAgdG90YWw6IGRhdGEudG90YWwKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSwgdGhpcyk7CgogICAgICBtZXNzYWdlSGFuZGxlci5vbignUGFnZUVycm9yJywgZnVuY3Rpb24gdHJhbnNwb3J0RXJyb3IoZGF0YSkgewogICAgICAgIHZhciBwYWdlID0gdGhpcy5wYWdlQ2FjaGVbZGF0YS5wYWdlTnVtIC0gMV07CiAgICAgICAgdmFyIGludGVudFN0YXRlID0gcGFnZS5pbnRlbnRTdGF0ZXNbZGF0YS5pbnRlbnRdOwogICAgICAgIGlmIChpbnRlbnRTdGF0ZS5kaXNwbGF5UmVhZHlDYXBhYmlsaXR5KSB7CiAgICAgICAgICBpbnRlbnRTdGF0ZS5kaXNwbGF5UmVhZHlDYXBhYmlsaXR5LnJlamVjdChkYXRhLmVycm9yKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZXJyb3IoZGF0YS5lcnJvcik7CiAgICAgICAgfQogICAgICB9LCB0aGlzKTsKCiAgICAgIG1lc3NhZ2VIYW5kbGVyLm9uKCdKcGVnRGVjb2RlJywgZnVuY3Rpb24oZGF0YSkgewogICAgICAgIHZhciBpbWFnZVVybCA9IGRhdGFbMF07CiAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBkYXRhWzFdOwogICAgICAgIGlmIChjb21wb25lbnRzICE9PSAzICYmIGNvbXBvbmVudHMgIT09IDEpIHsKICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgKICAgICAgICAgICAgbmV3IEVycm9yKCdPbmx5IDMgY29tcG9uZW50cyBvciAxIGNvbXBvbmVudCBjYW4gYmUgcmV0dXJuZWQnKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwogICAgICAgICAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIHdpZHRoID0gaW1nLndpZHRoOwogICAgICAgICAgICB2YXIgaGVpZ2h0ID0gaW1nLmhlaWdodDsKICAgICAgICAgICAgdmFyIHNpemUgPSB3aWR0aCAqIGhlaWdodDsKICAgICAgICAgICAgdmFyIHJnYmFMZW5ndGggPSBzaXplICogNDsKICAgICAgICAgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KHNpemUgKiBjb21wb25lbnRzKTsKICAgICAgICAgICAgdmFyIHRtcENhbnZhcyA9IGNyZWF0ZVNjcmF0Y2hDYW52YXMod2lkdGgsIGhlaWdodCk7CiAgICAgICAgICAgIHZhciB0bXBDdHggPSB0bXBDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICAgICAgdG1wQ3R4LmRyYXdJbWFnZShpbWcsIDAsIDApOwogICAgICAgICAgICB2YXIgZGF0YSA9IHRtcEN0eC5nZXRJbWFnZURhdGEoMCwgMCwgd2lkdGgsIGhlaWdodCkuZGF0YTsKICAgICAgICAgICAgdmFyIGksIGo7CgogICAgICAgICAgICBpZiAoY29tcG9uZW50cyA9PT0gMykgewogICAgICAgICAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgcmdiYUxlbmd0aDsgaSArPSA0LCBqICs9IDMpIHsKICAgICAgICAgICAgICAgIGJ1ZltqXSA9IGRhdGFbaV07CiAgICAgICAgICAgICAgICBidWZbaiArIDFdID0gZGF0YVtpICsgMV07CiAgICAgICAgICAgICAgICBidWZbaiArIDJdID0gZGF0YVtpICsgMl07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGNvbXBvbmVudHMgPT09IDEpIHsKICAgICAgICAgICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IHJnYmFMZW5ndGg7IGkgKz0gNCwgaisrKSB7CiAgICAgICAgICAgICAgICBidWZbal0gPSBkYXRhW2ldOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXNvbHZlKHsgZGF0YTogYnVmLCB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0fSk7CiAgICAgICAgICB9OwogICAgICAgICAgaW1nLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0pwZWdEZWNvZGUgZmFpbGVkIHRvIGxvYWQgaW1hZ2UnKSk7CiAgICAgICAgICB9OwogICAgICAgICAgaW1nLnNyYyA9IGltYWdlVXJsOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCgogICAgZmV0Y2hEb2N1bWVudDogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2ZldGNoRG9jdW1lbnQobG9hZGluZ1Rhc2ssIHNvdXJjZSkgewogICAgICB0aGlzLmxvYWRpbmdUYXNrID0gbG9hZGluZ1Rhc2s7CgogICAgICBzb3VyY2UuZGlzYWJsZUF1dG9GZXRjaCA9IFBERkpTLmRpc2FibGVBdXRvRmV0Y2g7CiAgICAgIHNvdXJjZS5kaXNhYmxlU3RyZWFtID0gUERGSlMuZGlzYWJsZVN0cmVhbTsKICAgICAgc291cmNlLmNodW5rZWRWaWV3ZXJMb2FkaW5nID0gISF0aGlzLnBkZkRhdGFSYW5nZVRyYW5zcG9ydDsKICAgICAgaWYgKHRoaXMucGRmRGF0YVJhbmdlVHJhbnNwb3J0KSB7CiAgICAgICAgc291cmNlLmxlbmd0aCA9IHRoaXMucGRmRGF0YVJhbmdlVHJhbnNwb3J0Lmxlbmd0aDsKICAgICAgICBzb3VyY2UuaW5pdGlhbERhdGEgPSB0aGlzLnBkZkRhdGFSYW5nZVRyYW5zcG9ydC5pbml0aWFsRGF0YTsKICAgICAgfQogICAgICB0aGlzLm1lc3NhZ2VIYW5kbGVyLnNlbmQoJ0dldERvY1JlcXVlc3QnLCB7CiAgICAgICAgc291cmNlOiBzb3VyY2UsCiAgICAgICAgZGlzYWJsZVJhbmdlOiBQREZKUy5kaXNhYmxlUmFuZ2UsCiAgICAgICAgbWF4SW1hZ2VTaXplOiBQREZKUy5tYXhJbWFnZVNpemUsCiAgICAgICAgY01hcFVybDogUERGSlMuY01hcFVybCwKICAgICAgICBjTWFwUGFja2VkOiBQREZKUy5jTWFwUGFja2VkLAogICAgICAgIGRpc2FibGVGb250RmFjZTogUERGSlMuZGlzYWJsZUZvbnRGYWNlLAogICAgICAgIGRpc2FibGVDcmVhdGVPYmplY3RVUkw6IFBERkpTLmRpc2FibGVDcmVhdGVPYmplY3RVUkwsCiAgICAgICAgdmVyYm9zaXR5OiBQREZKUy52ZXJib3NpdHkKICAgICAgfSk7CiAgICB9LAoKICAgIGdldERhdGE6IGZ1bmN0aW9uIFdvcmtlclRyYW5zcG9ydF9nZXREYXRhKCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldERhdGEnLCBudWxsKTsKICAgIH0sCgogICAgZ2V0UGFnZTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldFBhZ2UocGFnZU51bWJlciwgY2FwYWJpbGl0eSkgewogICAgICBpZiAocGFnZU51bWJlciA8PSAwIHx8IHBhZ2VOdW1iZXIgPiB0aGlzLm51bVBhZ2VzIHx8CiAgICAgICAgICAocGFnZU51bWJlcnwwKSAhPT0gcGFnZU51bWJlcikgewogICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0ludmFsaWQgcGFnZSByZXF1ZXN0JykpOwogICAgICB9CgogICAgICB2YXIgcGFnZUluZGV4ID0gcGFnZU51bWJlciAtIDE7CiAgICAgIGlmIChwYWdlSW5kZXggaW4gdGhpcy5wYWdlUHJvbWlzZXMpIHsKICAgICAgICByZXR1cm4gdGhpcy5wYWdlUHJvbWlzZXNbcGFnZUluZGV4XTsKICAgICAgfQogICAgICB2YXIgcHJvbWlzZSA9IHRoaXMubWVzc2FnZUhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCdHZXRQYWdlJywgewogICAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHBhZ2VJbmZvKSB7CiAgICAgICAgdmFyIHBhZ2UgPSBuZXcgUERGUGFnZVByb3h5KHBhZ2VJbmRleCwgcGFnZUluZm8sIHRoaXMpOwogICAgICAgIHRoaXMucGFnZUNhY2hlW3BhZ2VJbmRleF0gPSBwYWdlOwogICAgICAgIHJldHVybiBwYWdlOwogICAgICB9LmJpbmQodGhpcykpOwogICAgICB0aGlzLnBhZ2VQcm9taXNlc1twYWdlSW5kZXhdID0gcHJvbWlzZTsKICAgICAgcmV0dXJuIHByb21pc2U7CiAgICB9LAoKICAgIGdldFBhZ2VJbmRleDogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldFBhZ2VJbmRleEJ5UmVmKHJlZikgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldFBhZ2VJbmRleCcsIHsgcmVmOiByZWYgfSk7CiAgICB9LAoKICAgIGdldEFubm90YXRpb25zOiBmdW5jdGlvbiBXb3JrZXJUcmFuc3BvcnRfZ2V0QW5ub3RhdGlvbnMocGFnZUluZGV4KSB7CiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VIYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgnR2V0QW5ub3RhdGlvbnMnLAogICAgICAgIHsgcGFnZUluZGV4OiBwYWdlSW5kZXggfSk7CiAgICB9LAoKICAgIGdldERlc3RpbmF0aW9uczogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldERlc3RpbmF0aW9ucygpIHsKICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZUhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCdHZXREZXN0aW5hdGlvbnMnLCBudWxsKTsKICAgIH0sCgogICAgZ2V0RGVzdGluYXRpb246IGZ1bmN0aW9uIFdvcmtlclRyYW5zcG9ydF9nZXREZXN0aW5hdGlvbihpZCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldERlc3RpbmF0aW9uJywgeyBpZDogaWQgfSApOwogICAgfSwKCiAgICBnZXRBdHRhY2htZW50czogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldEF0dGFjaG1lbnRzKCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldEF0dGFjaG1lbnRzJywgbnVsbCk7CiAgICB9LAoKICAgIGdldEphdmFTY3JpcHQ6IGZ1bmN0aW9uIFdvcmtlclRyYW5zcG9ydF9nZXRKYXZhU2NyaXB0KCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldEphdmFTY3JpcHQnLCBudWxsKTsKICAgIH0sCgogICAgZ2V0T3V0bGluZTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldE91dGxpbmUoKSB7CiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VIYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgnR2V0T3V0bGluZScsIG51bGwpOwogICAgfSwKCiAgICBnZXRNZXRhZGF0YTogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldE1ldGFkYXRhKCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldE1ldGFkYXRhJywgbnVsbCkuCiAgICAgICAgdGhlbihmdW5jdGlvbiB0cmFuc3BvcnRNZXRhZGF0YShyZXN1bHRzKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGluZm86IHJlc3VsdHNbMF0sCiAgICAgICAgICBtZXRhZGF0YTogKHJlc3VsdHNbMV0gPyBuZXcgUERGSlMuTWV0YWRhdGEocmVzdWx0c1sxXSkgOiBudWxsKQogICAgICAgIH07CiAgICAgIH0pOwogICAgfSwKCiAgICBnZXRTdGF0czogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X2dldFN0YXRzKCkgewogICAgICByZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0dldFN0YXRzJywgbnVsbCk7CiAgICB9LAoKICAgIHN0YXJ0Q2xlYW51cDogZnVuY3Rpb24gV29ya2VyVHJhbnNwb3J0X3N0YXJ0Q2xlYW51cCgpIHsKICAgICAgdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kV2l0aFByb21pc2UoJ0NsZWFudXAnLCBudWxsKS4KICAgICAgICB0aGVuKGZ1bmN0aW9uIGVuZENsZWFudXAoKSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gdGhpcy5wYWdlQ2FjaGUubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgICAgdmFyIHBhZ2UgPSB0aGlzLnBhZ2VDYWNoZVtpXTsKICAgICAgICAgIGlmIChwYWdlKSB7CiAgICAgICAgICAgIHBhZ2UuZGVzdHJveSgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB0aGlzLmNvbW1vbk9ianMuY2xlYXIoKTsKICAgICAgICBGb250TG9hZGVyLmNsZWFyKCk7CiAgICAgIH0uYmluZCh0aGlzKSk7CiAgICB9CiAgfTsKICByZXR1cm4gV29ya2VyVHJhbnNwb3J0OwoKfSkoKTsKCi8qKgogKiBBIFBERiBkb2N1bWVudCBhbmQgcGFnZSBpcyBidWlsdCBvZiBtYW55IG9iamVjdHMuIEUuZy4gdGhlcmUgYXJlIG9iamVjdHMKICogZm9yIGZvbnRzLCBpbWFnZXMsIHJlbmRlcmluZyBjb2RlIGFuZCBzdWNoLiBUaGVzZSBvYmplY3RzIG1pZ2h0IGdldCBwcm9jZXNzZWQKICogaW5zaWRlIG9mIGEgd29ya2VyLiBUaGUgYFBERk9iamVjdHNgIGltcGxlbWVudHMgc29tZSBiYXNpYyBmdW5jdGlvbnMgdG8KICogbWFuYWdlIHRoZXNlIG9iamVjdHMuCiAqIEBpZ25vcmUKICovCnZhciBQREZPYmplY3RzID0gKGZ1bmN0aW9uIFBERk9iamVjdHNDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBERk9iamVjdHMoKSB7CiAgICB0aGlzLm9ianMgPSB7fTsKICB9CgogIFBERk9iamVjdHMucHJvdG90eXBlID0gewogICAgLyoqCiAgICAgKiBJbnRlcm5hbCBmdW5jdGlvbi4KICAgICAqIEVuc3VyZXMgdGhlcmUgaXMgYW4gb2JqZWN0IGRlZmluZWQgZm9yIGBvYmpJZGAuCiAgICAgKi8KICAgIGVuc3VyZU9iajogZnVuY3Rpb24gUERGT2JqZWN0c19lbnN1cmVPYmoob2JqSWQpIHsKICAgICAgaWYgKHRoaXMub2Jqc1tvYmpJZF0pIHsKICAgICAgICByZXR1cm4gdGhpcy5vYmpzW29iaklkXTsKICAgICAgfQoKICAgICAgdmFyIG9iaiA9IHsKICAgICAgICBjYXBhYmlsaXR5OiBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpLAogICAgICAgIGRhdGE6IG51bGwsCiAgICAgICAgcmVzb2x2ZWQ6IGZhbHNlCiAgICAgIH07CiAgICAgIHRoaXMub2Jqc1tvYmpJZF0gPSBvYmo7CgogICAgICByZXR1cm4gb2JqOwogICAgfSwKCiAgICAvKioKICAgICAqIElmIGNhbGxlZCAqd2l0aG91dCogY2FsbGJhY2ssIHRoaXMgcmV0dXJucyB0aGUgZGF0YSBvZiBgb2JqSWRgIGJ1dCB0aGUKICAgICAqIG9iamVjdCBuZWVkcyB0byBiZSByZXNvbHZlZC4gSWYgaXQgaXNuJ3QsIHRoaXMgZnVuY3Rpb24gdGhyb3dzLgogICAgICoKICAgICAqIElmIGNhbGxlZCAqd2l0aCogYSBjYWxsYmFjaywgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCB3aXRoIHRoZSBkYXRhIG9mIHRoZQogICAgICogb2JqZWN0IG9uY2UgdGhlIG9iamVjdCBpcyByZXNvbHZlZC4gVGhhdCBtZWFucywgaWYgeW91IGNhbGwgdGhpcwogICAgICogZnVuY3Rpb24gYW5kIHRoZSBvYmplY3QgaXMgYWxyZWFkeSByZXNvbHZlZCwgdGhlIGNhbGxiYWNrIGdldHMgY2FsbGVkCiAgICAgKiByaWdodCBhd2F5LgogICAgICovCiAgICBnZXQ6IGZ1bmN0aW9uIFBERk9iamVjdHNfZ2V0KG9iaklkLCBjYWxsYmFjaykgewogICAgICAvLyBJZiB0aGVyZSBpcyBhIGNhbGxiYWNrLCB0aGVuIHRoZSBnZXQgY2FuIGJlIGFzeW5jIGFuZCB0aGUgb2JqZWN0IGlzCiAgICAgIC8vIG5vdCByZXF1aXJlZCB0byBiZSByZXNvbHZlZCByaWdodCBub3cKICAgICAgaWYgKGNhbGxiYWNrKSB7CiAgICAgICAgdGhpcy5lbnN1cmVPYmoob2JqSWQpLmNhcGFiaWxpdHkucHJvbWlzZS50aGVuKGNhbGxiYWNrKTsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQoKICAgICAgLy8gSWYgdGhlcmUgaXNuJ3QgYSBjYWxsYmFjaywgdGhlIHVzZXIgZXhwZWN0cyB0byBnZXQgdGhlIHJlc29sdmVkIGRhdGEKICAgICAgLy8gZGlyZWN0bHkuCiAgICAgIHZhciBvYmogPSB0aGlzLm9ianNbb2JqSWRdOwoKICAgICAgLy8gSWYgdGhlcmUgaXNuJ3QgYW4gb2JqZWN0IHlldCBvciB0aGUgb2JqZWN0IGlzbid0IHJlc29sdmVkLCB0aGVuIHRoZQogICAgICAvLyBkYXRhIGlzbid0IHJlYWR5IHlldCEKICAgICAgaWYgKCFvYmogfHwgIW9iai5yZXNvbHZlZCkgewogICAgICAgIGVycm9yKCdSZXF1ZXN0aW5nIG9iamVjdCB0aGF0IGlzblwndCByZXNvbHZlZCB5ZXQgJyArIG9iaklkKTsKICAgICAgfQoKICAgICAgcmV0dXJuIG9iai5kYXRhOwogICAgfSwKCiAgICAvKioKICAgICAqIFJlc29sdmVzIHRoZSBvYmplY3QgYG9iaklkYCB3aXRoIG9wdGlvbmFsIGBkYXRhYC4KICAgICAqLwogICAgcmVzb2x2ZTogZnVuY3Rpb24gUERGT2JqZWN0c19yZXNvbHZlKG9iaklkLCBkYXRhKSB7CiAgICAgIHZhciBvYmogPSB0aGlzLmVuc3VyZU9iaihvYmpJZCk7CgogICAgICBvYmoucmVzb2x2ZWQgPSB0cnVlOwogICAgICBvYmouZGF0YSA9IGRhdGE7CiAgICAgIG9iai5jYXBhYmlsaXR5LnJlc29sdmUoZGF0YSk7CiAgICB9LAoKICAgIGlzUmVzb2x2ZWQ6IGZ1bmN0aW9uIFBERk9iamVjdHNfaXNSZXNvbHZlZChvYmpJZCkgewogICAgICB2YXIgb2JqcyA9IHRoaXMub2JqczsKCiAgICAgIGlmICghb2Jqc1tvYmpJZF0pIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG9ianNbb2JqSWRdLnJlc29sdmVkOwogICAgICB9CiAgICB9LAoKICAgIGhhc0RhdGE6IGZ1bmN0aW9uIFBERk9iamVjdHNfaGFzRGF0YShvYmpJZCkgewogICAgICByZXR1cm4gdGhpcy5pc1Jlc29sdmVkKG9iaklkKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBkYXRhIG9mIGBvYmpJZGAgaWYgb2JqZWN0IGV4aXN0cywgbnVsbCBvdGhlcndpc2UuCiAgICAgKi8KICAgIGdldERhdGE6IGZ1bmN0aW9uIFBERk9iamVjdHNfZ2V0RGF0YShvYmpJZCkgewogICAgICB2YXIgb2JqcyA9IHRoaXMub2JqczsKICAgICAgaWYgKCFvYmpzW29iaklkXSB8fCAhb2Jqc1tvYmpJZF0ucmVzb2x2ZWQpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gb2Jqc1tvYmpJZF0uZGF0YTsKICAgICAgfQogICAgfSwKCiAgICBjbGVhcjogZnVuY3Rpb24gUERGT2JqZWN0c19jbGVhcigpIHsKICAgICAgdGhpcy5vYmpzID0ge307CiAgICB9CiAgfTsKICByZXR1cm4gUERGT2JqZWN0czsKfSkoKTsKCi8qKgogKiBBbGxvd3MgY29udHJvbGxpbmcgb2YgdGhlIHJlbmRlcmluZyB0YXNrcy4KICogQGNsYXNzCiAqLwp2YXIgUmVuZGVyVGFzayA9IChmdW5jdGlvbiBSZW5kZXJUYXNrQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBSZW5kZXJUYXNrKGludGVybmFsUmVuZGVyVGFzaykgewogICAgdGhpcy5faW50ZXJuYWxSZW5kZXJUYXNrID0gaW50ZXJuYWxSZW5kZXJUYXNrOwoKICAgIC8qKgogICAgICogQ2FsbGJhY2sgZm9yIGluY3JlbWVudGFsIHJlbmRlcmluZyAtLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQKICAgICAqIGVhY2ggdGltZSB0aGUgcmVuZGVyaW5nIGlzIHBhdXNlZC4gIFRvIGNvbnRpbnVlIHJlbmRlcmluZyBjYWxsIHRoZQogICAgICogZnVuY3Rpb24gdGhhdCBpcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIGNhbGxiYWNrLgogICAgICogQHR5cGUge2Z1bmN0aW9ufQogICAgICovCiAgICB0aGlzLm9uQ29udGludWUgPSBudWxsOwogIH0KCiAgUmVuZGVyVGFzay5wcm90b3R5cGUgPSAvKiogQGxlbmRzIFJlbmRlclRhc2sucHJvdG90eXBlICovIHsKICAgIC8qKgogICAgICogUHJvbWlzZSBmb3IgcmVuZGVyaW5nIHRhc2sgY29tcGxldGlvbi4KICAgICAqIEByZXR1cm4ge1Byb21pc2V9CiAgICAgKi8KICAgIGdldCBwcm9taXNlKCkgewogICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxSZW5kZXJUYXNrLmNhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBDYW5jZWxzIHRoZSByZW5kZXJpbmcgdGFzay4gSWYgdGhlIHRhc2sgaXMgY3VycmVudGx5IHJlbmRlcmluZyBpdCB3aWxsCiAgICAgKiBub3QgYmUgY2FuY2VsbGVkIHVudGlsIGdyYXBoaWNzIHBhdXNlcyB3aXRoIGEgdGltZW91dC4gVGhlIHByb21pc2UgdGhhdAogICAgICogdGhpcyBvYmplY3QgZXh0ZW5kcyB3aWxsIHJlc29sdmVkIHdoZW4gY2FuY2VsbGVkLgogICAgICovCiAgICBjYW5jZWw6IGZ1bmN0aW9uIFJlbmRlclRhc2tfY2FuY2VsKCkgewogICAgICB0aGlzLl9pbnRlcm5hbFJlbmRlclRhc2suY2FuY2VsKCk7CiAgICB9LAoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIGNhbGxiYWNrcyB0byBpbmRpY2F0ZSB0aGUgcmVuZGVyaW5nIHRhc2sgY29tcGxldGlvbi4KICAgICAqCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkZ1bGZpbGxlZCBUaGUgY2FsbGJhY2sgZm9yIHRoZSByZW5kZXJpbmcgY29tcGxldGlvbi4KICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9uUmVqZWN0ZWQgVGhlIGNhbGxiYWNrIGZvciB0aGUgcmVuZGVyaW5nIGZhaWx1cmUuCiAgICAgKiBAcmV0dXJuIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCBhZnRlciB0aGUgb25GdWxmaWxsZWQgb3IKICAgICAqICAgICAgICAgICAgICAgICAgIG9uUmVqZWN0ZWQgY2FsbGJhY2suCiAgICAgKi8KICAgIHRoZW46IGZ1bmN0aW9uIFJlbmRlclRhc2tfdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkgewogICAgICByZXR1cm4gdGhpcy5wcm9taXNlLnRoZW4uYXBwbHkodGhpcy5wcm9taXNlLCBhcmd1bWVudHMpOwogICAgfQogIH07CgogIHJldHVybiBSZW5kZXJUYXNrOwp9KSgpOwoKLyoqCiAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4KICogQGlnbm9yZQogKi8KdmFyIEludGVybmFsUmVuZGVyVGFzayA9IChmdW5jdGlvbiBJbnRlcm5hbFJlbmRlclRhc2tDbG9zdXJlKCkgewoKICBmdW5jdGlvbiBJbnRlcm5hbFJlbmRlclRhc2soY2FsbGJhY2ssIHBhcmFtcywgb2JqcywgY29tbW9uT2Jqcywgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlTnVtYmVyKSB7CiAgICB0aGlzLmNhbGxiYWNrID0gY2FsbGJhY2s7CiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtczsKICAgIHRoaXMub2JqcyA9IG9ianM7CiAgICB0aGlzLmNvbW1vbk9ianMgPSBjb21tb25PYmpzOwogICAgdGhpcy5vcGVyYXRvckxpc3RJZHggPSBudWxsOwogICAgdGhpcy5vcGVyYXRvckxpc3QgPSBvcGVyYXRvckxpc3Q7CiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyOwogICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgICB0aGlzLmdyYXBoaWNzUmVhZHlDYWxsYmFjayA9IG51bGw7CiAgICB0aGlzLmdyYXBoaWNzUmVhZHkgPSBmYWxzZTsKICAgIHRoaXMuY2FuY2VsbGVkID0gZmFsc2U7CiAgICB0aGlzLmNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgdGhpcy50YXNrID0gbmV3IFJlbmRlclRhc2sodGhpcyk7CiAgICAvLyBjYWNoaW5nIHRoaXMtYm91bmQgbWV0aG9kcwogICAgdGhpcy5fY29udGludWVCb3VuZCA9IHRoaXMuX2NvbnRpbnVlLmJpbmQodGhpcyk7CiAgICB0aGlzLl9zY2hlZHVsZU5leHRCb3VuZCA9IHRoaXMuX3NjaGVkdWxlTmV4dC5iaW5kKHRoaXMpOwogICAgdGhpcy5fbmV4dEJvdW5kID0gdGhpcy5fbmV4dC5iaW5kKHRoaXMpOwogIH0KCiAgSW50ZXJuYWxSZW5kZXJUYXNrLnByb3RvdHlwZSA9IHsKCiAgICBpbml0YWxpemVHcmFwaGljczoKICAgICAgICBmdW5jdGlvbiBJbnRlcm5hbFJlbmRlclRhc2tfaW5pdGFsaXplR3JhcGhpY3ModHJhbnNwYXJlbmN5KSB7CgogICAgICBpZiAodGhpcy5jYW5jZWxsZWQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaWYgKFBERkpTLnBkZkJ1ZyAmJiAnU3RlcHBlck1hbmFnZXInIGluIGdsb2JhbFNjb3BlICYmCiAgICAgICAgICBnbG9iYWxTY29wZS5TdGVwcGVyTWFuYWdlci5lbmFibGVkKSB7CiAgICAgICAgdGhpcy5zdGVwcGVyID0gZ2xvYmFsU2NvcGUuU3RlcHBlck1hbmFnZXIuY3JlYXRlKHRoaXMucGFnZU51bWJlciAtIDEpOwogICAgICAgIHRoaXMuc3RlcHBlci5pbml0KHRoaXMub3BlcmF0b3JMaXN0KTsKICAgICAgICB0aGlzLnN0ZXBwZXIubmV4dEJyZWFrUG9pbnQgPSB0aGlzLnN0ZXBwZXIuZ2V0TmV4dEJyZWFrUG9pbnQoKTsKICAgICAgfQoKICAgICAgdmFyIHBhcmFtcyA9IHRoaXMucGFyYW1zOwogICAgICB0aGlzLmdmeCA9IG5ldyBDYW52YXNHcmFwaGljcyhwYXJhbXMuY2FudmFzQ29udGV4dCwgdGhpcy5jb21tb25PYmpzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9ianMsIHBhcmFtcy5pbWFnZUxheWVyKTsKCiAgICAgIHRoaXMuZ2Z4LmJlZ2luRHJhd2luZyhwYXJhbXMudmlld3BvcnQsIHRyYW5zcGFyZW5jeSk7CiAgICAgIHRoaXMub3BlcmF0b3JMaXN0SWR4ID0gMDsKICAgICAgdGhpcy5ncmFwaGljc1JlYWR5ID0gdHJ1ZTsKICAgICAgaWYgKHRoaXMuZ3JhcGhpY3NSZWFkeUNhbGxiYWNrKSB7CiAgICAgICAgdGhpcy5ncmFwaGljc1JlYWR5Q2FsbGJhY2soKTsKICAgICAgfQogICAgfSwKCiAgICBjYW5jZWw6IGZ1bmN0aW9uIEludGVybmFsUmVuZGVyVGFza19jYW5jZWwoKSB7CiAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgICB0aGlzLmNhbmNlbGxlZCA9IHRydWU7CiAgICAgIHRoaXMuY2FsbGJhY2soJ2NhbmNlbGxlZCcpOwogICAgfSwKCiAgICBvcGVyYXRvckxpc3RDaGFuZ2VkOiBmdW5jdGlvbiBJbnRlcm5hbFJlbmRlclRhc2tfb3BlcmF0b3JMaXN0Q2hhbmdlZCgpIHsKICAgICAgaWYgKCF0aGlzLmdyYXBoaWNzUmVhZHkpIHsKICAgICAgICBpZiAoIXRoaXMuZ3JhcGhpY3NSZWFkeUNhbGxiYWNrKSB7CiAgICAgICAgICB0aGlzLmdyYXBoaWNzUmVhZHlDYWxsYmFjayA9IHRoaXMuX2NvbnRpbnVlQm91bmQ7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuc3RlcHBlcikgewogICAgICAgIHRoaXMuc3RlcHBlci51cGRhdGVPcGVyYXRvckxpc3QodGhpcy5vcGVyYXRvckxpc3QpOwogICAgICB9CgogICAgICBpZiAodGhpcy5ydW5uaW5nKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMuX2NvbnRpbnVlKCk7CiAgICB9LAoKICAgIF9jb250aW51ZTogZnVuY3Rpb24gSW50ZXJuYWxSZW5kZXJUYXNrX19jb250aW51ZSgpIHsKICAgICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsKICAgICAgaWYgKHRoaXMuY2FuY2VsbGVkKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmICh0aGlzLnRhc2sub25Db250aW51ZSkgewogICAgICAgIHRoaXMudGFzay5vbkNvbnRpbnVlLmNhbGwodGhpcy50YXNrLCB0aGlzLl9zY2hlZHVsZU5leHRCb3VuZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5fc2NoZWR1bGVOZXh0KCk7CiAgICAgIH0KICAgIH0sCgogICAgX3NjaGVkdWxlTmV4dDogZnVuY3Rpb24gSW50ZXJuYWxSZW5kZXJUYXNrX19zY2hlZHVsZU5leHQoKSB7CiAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fbmV4dEJvdW5kKTsKICAgIH0sCgogICAgX25leHQ6IGZ1bmN0aW9uIEludGVybmFsUmVuZGVyVGFza19fbmV4dCgpIHsKICAgICAgaWYgKHRoaXMuY2FuY2VsbGVkKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMub3BlcmF0b3JMaXN0SWR4ID0gdGhpcy5nZnguZXhlY3V0ZU9wZXJhdG9yTGlzdCh0aGlzLm9wZXJhdG9yTGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlcmF0b3JMaXN0SWR4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29udGludWVCb3VuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RlcHBlcik7CiAgICAgIGlmICh0aGlzLm9wZXJhdG9yTGlzdElkeCA9PT0gdGhpcy5vcGVyYXRvckxpc3QuYXJnc0FycmF5Lmxlbmd0aCkgewogICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgICAgIGlmICh0aGlzLm9wZXJhdG9yTGlzdC5sYXN0Q2h1bmspIHsKICAgICAgICAgIHRoaXMuZ2Z4LmVuZERyYXdpbmcoKTsKICAgICAgICAgIHRoaXMuY2FsbGJhY2soKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgfTsKCiAgcmV0dXJuIEludGVybmFsUmVuZGVyVGFzazsKfSkoKTsKCgp2YXIgTWV0YWRhdGEgPSBQREZKUy5NZXRhZGF0YSA9IChmdW5jdGlvbiBNZXRhZGF0YUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gZml4TWV0YWRhdGEobWV0YSkgewogICAgcmV0dXJuIG1ldGEucmVwbGFjZSgvPlxcMzc2XFwzNzcoW148XSspL2csIGZ1bmN0aW9uKGFsbCwgY29kZXMpIHsKICAgICAgdmFyIGJ5dGVzID0gY29kZXMucmVwbGFjZSgvXFwoWzAtM10pKFswLTddKShbMC03XSkvZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihjb2RlLCBkMSwgZDIsIGQzKSB7CiAgICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZDEgKiA2NCArIGQyICogOCArIGQzICogMSk7CiAgICAgIH0pOwogICAgICB2YXIgY2hhcnMgPSAnJzsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMikgewogICAgICAgIHZhciBjb2RlID0gYnl0ZXMuY2hhckNvZGVBdChpKSAqIDI1NiArIGJ5dGVzLmNoYXJDb2RlQXQoaSArIDEpOwogICAgICAgIGNoYXJzICs9IGNvZGUgPj0gMzIgJiYgY29kZSA8IDEyNyAmJiBjb2RlICE9PSA2MCAmJiBjb2RlICE9PSA2MiAmJgogICAgICAgICAgY29kZSAhPT0gMzggJiYgZmFsc2UgPyBTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpIDoKICAgICAgICAgICcmI3gnICsgKDB4MTAwMDAgKyBjb2RlKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpICsgJzsnOwogICAgICB9CiAgICAgIHJldHVybiAnPicgKyBjaGFyczsKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gTWV0YWRhdGEobWV0YSkgewogICAgaWYgKHR5cGVvZiBtZXRhID09PSAnc3RyaW5nJykgewogICAgICAvLyBHaG9zdHNjcmlwdCBwcm9kdWNlcyBpbnZhbGlkIG1ldGFkYXRhCiAgICAgIG1ldGEgPSBmaXhNZXRhZGF0YShtZXRhKTsKCiAgICAgIHZhciBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7CiAgICAgIG1ldGEgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKG1ldGEsICdhcHBsaWNhdGlvbi94bWwnKTsKICAgIH0gZWxzZSBpZiAoIShtZXRhIGluc3RhbmNlb2YgRG9jdW1lbnQpKSB7CiAgICAgIGVycm9yKCdNZXRhZGF0YTogSW52YWxpZCBtZXRhZGF0YSBvYmplY3QnKTsKICAgIH0KCiAgICB0aGlzLm1ldGFEb2N1bWVudCA9IG1ldGE7CiAgICB0aGlzLm1ldGFkYXRhID0ge307CiAgICB0aGlzLnBhcnNlKCk7CiAgfQoKICBNZXRhZGF0YS5wcm90b3R5cGUgPSB7CiAgICBwYXJzZTogZnVuY3Rpb24gTWV0YWRhdGFfcGFyc2UoKSB7CiAgICAgIHZhciBkb2MgPSB0aGlzLm1ldGFEb2N1bWVudDsKICAgICAgdmFyIHJkZiA9IGRvYy5kb2N1bWVudEVsZW1lbnQ7CgogICAgICBpZiAocmRmLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdyZGY6cmRmJykgeyAvLyBXcmFwcGVkIGluIDx4bXBtZXRhPgogICAgICAgIHJkZiA9IHJkZi5maXJzdENoaWxkOwogICAgICAgIHdoaWxlIChyZGYgJiYgcmRmLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdyZGY6cmRmJykgewogICAgICAgICAgcmRmID0gcmRmLm5leHRTaWJsaW5nOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIG5vZGVOYW1lID0gKHJkZikgPyByZGYubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA6IG51bGw7CiAgICAgIGlmICghcmRmIHx8IG5vZGVOYW1lICE9PSAncmRmOnJkZicgfHwgIXJkZi5oYXNDaGlsZE5vZGVzKCkpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBjaGlsZHJlbiA9IHJkZi5jaGlsZE5vZGVzLCBkZXNjLCBlbnRyeSwgbmFtZSwgaSwgaWksIGxlbmd0aCwgaUxlbmd0aDsKICAgICAgZm9yIChpID0gMCwgbGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICBkZXNjID0gY2hpbGRyZW5baV07CiAgICAgICAgaWYgKGRlc2Mubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gJ3JkZjpkZXNjcmlwdGlvbicpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgZm9yIChpaSA9IDAsIGlMZW5ndGggPSBkZXNjLmNoaWxkTm9kZXMubGVuZ3RoOyBpaSA8IGlMZW5ndGg7IGlpKyspIHsKICAgICAgICAgIGlmIChkZXNjLmNoaWxkTm9kZXNbaWldLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICcjdGV4dCcpIHsKICAgICAgICAgICAgZW50cnkgPSBkZXNjLmNoaWxkTm9kZXNbaWldOwogICAgICAgICAgICBuYW1lID0gZW50cnkubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgdGhpcy5tZXRhZGF0YVtuYW1lXSA9IGVudHJ5LnRleHRDb250ZW50LnRyaW0oKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgZ2V0OiBmdW5jdGlvbiBNZXRhZGF0YV9nZXQobmFtZSkgewogICAgICByZXR1cm4gdGhpcy5tZXRhZGF0YVtuYW1lXSB8fCBudWxsOwogICAgfSwKCiAgICBoYXM6IGZ1bmN0aW9uIE1ldGFkYXRhX2hhcyhuYW1lKSB7CiAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5tZXRhZGF0YVtuYW1lXSAhPT0gJ3VuZGVmaW5lZCc7CiAgICB9CiAgfTsKCiAgcmV0dXJuIE1ldGFkYXRhOwp9KSgpOwoKCi8vIDxjYW52YXM+IGNvbnRleHRzIHN0b3JlIG1vc3Qgb2YgdGhlIHN0YXRlIHdlIG5lZWQgbmF0aXZlbHkuCi8vIEhvd2V2ZXIsIFBERiBuZWVkcyBhIGJpdCBtb3JlIHN0YXRlLCB3aGljaCB3ZSBzdG9yZSBoZXJlLgoKLy8gTWluaW1hbCBmb250IHNpemUgdGhhdCB3b3VsZCBiZSB1c2VkIGR1cmluZyBjYW52YXMgZmlsbFRleHQgb3BlcmF0aW9ucy4KdmFyIE1JTl9GT05UX1NJWkUgPSAxNjsKLy8gTWF4aW11bSBmb250IHNpemUgdGhhdCB3b3VsZCBiZSB1c2VkIGR1cmluZyBjYW52YXMgZmlsbFRleHQgb3BlcmF0aW9ucy4KdmFyIE1BWF9GT05UX1NJWkUgPSAxMDA7CnZhciBNQVhfR1JPVVBfU0laRSA9IDQwOTY7CgovLyBIZXVyaXN0aWMgdmFsdWUgdXNlZCB3aGVuIGVuZm9yY2luZyBtaW5pbXVtIGxpbmUgd2lkdGhzLgp2YXIgTUlOX1dJRFRIX0ZBQ1RPUiA9IDAuNjU7Cgp2YXIgQ09NUElMRV9UWVBFM19HTFlQSFMgPSB0cnVlOwp2YXIgTUFYX1NJWkVfVE9fQ09NUElMRSA9IDEwMDA7Cgp2YXIgRlVMTF9DSFVOS19IRUlHSFQgPSAxNjsKCmZ1bmN0aW9uIGNyZWF0ZVNjcmF0Y2hDYW52YXMod2lkdGgsIGhlaWdodCkgewogIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICBjYW52YXMud2lkdGggPSB3aWR0aDsKICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OwogIHJldHVybiBjYW52YXM7Cn0KCmZ1bmN0aW9uIGFkZENvbnRleHRDdXJyZW50VHJhbnNmb3JtKGN0eCkgewogIC8vIElmIHRoZSBjb250ZXh0IGRvZXNuJ3QgZXhwb3NlIGEgYG1vekN1cnJlbnRUcmFuc2Zvcm1gLCBhZGQgYSBKUyBiYXNlZCBvbmUuCiAgaWYgKCFjdHgubW96Q3VycmVudFRyYW5zZm9ybSkgewogICAgY3R4Ll9vcmlnaW5hbFNhdmUgPSBjdHguc2F2ZTsKICAgIGN0eC5fb3JpZ2luYWxSZXN0b3JlID0gY3R4LnJlc3RvcmU7CiAgICBjdHguX29yaWdpbmFsUm90YXRlID0gY3R4LnJvdGF0ZTsKICAgIGN0eC5fb3JpZ2luYWxTY2FsZSA9IGN0eC5zY2FsZTsKICAgIGN0eC5fb3JpZ2luYWxUcmFuc2xhdGUgPSBjdHgudHJhbnNsYXRlOwogICAgY3R4Ll9vcmlnaW5hbFRyYW5zZm9ybSA9IGN0eC50cmFuc2Zvcm07CiAgICBjdHguX29yaWdpbmFsU2V0VHJhbnNmb3JtID0gY3R4LnNldFRyYW5zZm9ybTsKCiAgICBjdHguX3RyYW5zZm9ybU1hdHJpeCA9IGN0eC5fdHJhbnNmb3JtTWF0cml4IHx8IFsxLCAwLCAwLCAxLCAwLCAwXTsKICAgIGN0eC5fdHJhbnNmb3JtU3RhY2sgPSBbXTsKCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY3R4LCAnbW96Q3VycmVudFRyYW5zZm9ybScsIHsKICAgICAgZ2V0OiBmdW5jdGlvbiBnZXRDdXJyZW50VHJhbnNmb3JtKCkgewogICAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1NYXRyaXg7CiAgICAgIH0KICAgIH0pOwoKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjdHgsICdtb3pDdXJyZW50VHJhbnNmb3JtSW52ZXJzZScsIHsKICAgICAgZ2V0OiBmdW5jdGlvbiBnZXRDdXJyZW50VHJhbnNmb3JtSW52ZXJzZSgpIHsKICAgICAgICAvLyBDYWxjdWxhdGlvbiBkb25lIHVzaW5nIFdvbGZyYW1BbHBoYToKICAgICAgICAvLyBodHRwOi8vd3d3LndvbGZyYW1hbHBoYS5jb20vaW5wdXQvPwogICAgICAgIC8vICAgaT1JbnZlcnNlK3t7YSUyQytjJTJDK2V9JTJDK3tiJTJDK2QlMkMrZn0lMkMrezAlMkMrMCUyQysxfX0KCiAgICAgICAgdmFyIG0gPSB0aGlzLl90cmFuc2Zvcm1NYXRyaXg7CiAgICAgICAgdmFyIGEgPSBtWzBdLCBiID0gbVsxXSwgYyA9IG1bMl0sIGQgPSBtWzNdLCBlID0gbVs0XSwgZiA9IG1bNV07CgogICAgICAgIHZhciBhZF9iYyA9IGEgKiBkIC0gYiAqIGM7CiAgICAgICAgdmFyIGJjX2FkID0gYiAqIGMgLSBhICogZDsKCiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgIGQgLyBhZF9iYywKICAgICAgICAgIGIgLyBiY19hZCwKICAgICAgICAgIGMgLyBiY19hZCwKICAgICAgICAgIGEgLyBhZF9iYywKICAgICAgICAgIChkICogZSAtIGMgKiBmKSAvIGJjX2FkLAogICAgICAgICAgKGIgKiBlIC0gYSAqIGYpIC8gYWRfYmMKICAgICAgICBdOwogICAgICB9CiAgICB9KTsKCiAgICBjdHguc2F2ZSA9IGZ1bmN0aW9uIGN0eFNhdmUoKSB7CiAgICAgIHZhciBvbGQgPSB0aGlzLl90cmFuc2Zvcm1NYXRyaXg7CiAgICAgIHRoaXMuX3RyYW5zZm9ybVN0YWNrLnB1c2gob2xkKTsKICAgICAgdGhpcy5fdHJhbnNmb3JtTWF0cml4ID0gb2xkLnNsaWNlKDAsIDYpOwoKICAgICAgdGhpcy5fb3JpZ2luYWxTYXZlKCk7CiAgICB9OwoKICAgIGN0eC5yZXN0b3JlID0gZnVuY3Rpb24gY3R4UmVzdG9yZSgpIHsKICAgICAgdmFyIHByZXYgPSB0aGlzLl90cmFuc2Zvcm1TdGFjay5wb3AoKTsKICAgICAgaWYgKHByZXYpIHsKICAgICAgICB0aGlzLl90cmFuc2Zvcm1NYXRyaXggPSBwcmV2OwogICAgICAgIHRoaXMuX29yaWdpbmFsUmVzdG9yZSgpOwogICAgICB9CiAgICB9OwoKICAgIGN0eC50cmFuc2xhdGUgPSBmdW5jdGlvbiBjdHhUcmFuc2xhdGUoeCwgeSkgewogICAgICB2YXIgbSA9IHRoaXMuX3RyYW5zZm9ybU1hdHJpeDsKICAgICAgbVs0XSA9IG1bMF0gKiB4ICsgbVsyXSAqIHkgKyBtWzRdOwogICAgICBtWzVdID0gbVsxXSAqIHggKyBtWzNdICogeSArIG1bNV07CgogICAgICB0aGlzLl9vcmlnaW5hbFRyYW5zbGF0ZSh4LCB5KTsKICAgIH07CgogICAgY3R4LnNjYWxlID0gZnVuY3Rpb24gY3R4U2NhbGUoeCwgeSkgewogICAgICB2YXIgbSA9IHRoaXMuX3RyYW5zZm9ybU1hdHJpeDsKICAgICAgbVswXSA9IG1bMF0gKiB4OwogICAgICBtWzFdID0gbVsxXSAqIHg7CiAgICAgIG1bMl0gPSBtWzJdICogeTsKICAgICAgbVszXSA9IG1bM10gKiB5OwoKICAgICAgdGhpcy5fb3JpZ2luYWxTY2FsZSh4LCB5KTsKICAgIH07CgogICAgY3R4LnRyYW5zZm9ybSA9IGZ1bmN0aW9uIGN0eFRyYW5zZm9ybShhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHZhciBtID0gdGhpcy5fdHJhbnNmb3JtTWF0cml4OwogICAgICB0aGlzLl90cmFuc2Zvcm1NYXRyaXggPSBbCiAgICAgICAgbVswXSAqIGEgKyBtWzJdICogYiwKICAgICAgICBtWzFdICogYSArIG1bM10gKiBiLAogICAgICAgIG1bMF0gKiBjICsgbVsyXSAqIGQsCiAgICAgICAgbVsxXSAqIGMgKyBtWzNdICogZCwKICAgICAgICBtWzBdICogZSArIG1bMl0gKiBmICsgbVs0XSwKICAgICAgICBtWzFdICogZSArIG1bM10gKiBmICsgbVs1XQogICAgICBdOwoKICAgICAgY3R4Ll9vcmlnaW5hbFRyYW5zZm9ybShhLCBiLCBjLCBkLCBlLCBmKTsKICAgIH07CgogICAgY3R4LnNldFRyYW5zZm9ybSA9IGZ1bmN0aW9uIGN0eFNldFRyYW5zZm9ybShhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHRoaXMuX3RyYW5zZm9ybU1hdHJpeCA9IFthLCBiLCBjLCBkLCBlLCBmXTsKCiAgICAgIGN0eC5fb3JpZ2luYWxTZXRUcmFuc2Zvcm0oYSwgYiwgYywgZCwgZSwgZik7CiAgICB9OwoKICAgIGN0eC5yb3RhdGUgPSBmdW5jdGlvbiBjdHhSb3RhdGUoYW5nbGUpIHsKICAgICAgdmFyIGNvc1ZhbHVlID0gTWF0aC5jb3MoYW5nbGUpOwogICAgICB2YXIgc2luVmFsdWUgPSBNYXRoLnNpbihhbmdsZSk7CgogICAgICB2YXIgbSA9IHRoaXMuX3RyYW5zZm9ybU1hdHJpeDsKICAgICAgdGhpcy5fdHJhbnNmb3JtTWF0cml4ID0gWwogICAgICAgIG1bMF0gKiBjb3NWYWx1ZSArIG1bMl0gKiBzaW5WYWx1ZSwKICAgICAgICBtWzFdICogY29zVmFsdWUgKyBtWzNdICogc2luVmFsdWUsCiAgICAgICAgbVswXSAqICgtc2luVmFsdWUpICsgbVsyXSAqIGNvc1ZhbHVlLAogICAgICAgIG1bMV0gKiAoLXNpblZhbHVlKSArIG1bM10gKiBjb3NWYWx1ZSwKICAgICAgICBtWzRdLAogICAgICAgIG1bNV0KICAgICAgXTsKCiAgICAgIHRoaXMuX29yaWdpbmFsUm90YXRlKGFuZ2xlKTsKICAgIH07CiAgfQp9Cgp2YXIgQ2FjaGVkQ2FudmFzZXMgPSAoZnVuY3Rpb24gQ2FjaGVkQ2FudmFzZXNDbG9zdXJlKCkgewogIHZhciBjYWNoZSA9IHt9OwogIHJldHVybiB7CiAgICBnZXRDYW52YXM6IGZ1bmN0aW9uIENhY2hlZENhbnZhc2VzX2dldENhbnZhcyhpZCwgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrVHJhbnNmb3JtKSB7CiAgICAgIHZhciBjYW52YXNFbnRyeTsKICAgICAgaWYgKGNhY2hlW2lkXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgY2FudmFzRW50cnkgPSBjYWNoZVtpZF07CiAgICAgICAgY2FudmFzRW50cnkuY2FudmFzLndpZHRoID0gd2lkdGg7CiAgICAgICAgY2FudmFzRW50cnkuY2FudmFzLmhlaWdodCA9IGhlaWdodDsKICAgICAgICAvLyByZXNldCBjYW52YXMgdHJhbnNmb3JtIGZvciBlbXVsYXRlZCBtb3pDdXJyZW50VHJhbnNmb3JtLCBpZiBuZWVkZWQKICAgICAgICBjYW52YXNFbnRyeS5jb250ZXh0LnNldFRyYW5zZm9ybSgxLCAwLCAwLCAxLCAwLCAwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgY2FudmFzID0gY3JlYXRlU2NyYXRjaENhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgaWYgKHRyYWNrVHJhbnNmb3JtKSB7CiAgICAgICAgICBhZGRDb250ZXh0Q3VycmVudFRyYW5zZm9ybShjdHgpOwogICAgICAgIH0KICAgICAgICBjYWNoZVtpZF0gPSBjYW52YXNFbnRyeSA9IHtjYW52YXM6IGNhbnZhcywgY29udGV4dDogY3R4fTsKICAgICAgfQogICAgICByZXR1cm4gY2FudmFzRW50cnk7CiAgICB9LAogICAgY2xlYXI6IGZ1bmN0aW9uICgpIHsKICAgICAgZm9yICh2YXIgaWQgaW4gY2FjaGUpIHsKICAgICAgICB2YXIgY2FudmFzRW50cnkgPSBjYWNoZVtpZF07CiAgICAgICAgLy8gWmVyb2luZyB0aGUgd2lkdGggYW5kIGhlaWdodCBjYXVzZXMgRmlyZWZveCB0byByZWxlYXNlIGdyYXBoaWNzCiAgICAgICAgLy8gcmVzb3VyY2VzIGltbWVkaWF0ZWx5LCB3aGljaCBjYW4gZ3JlYXRseSByZWR1Y2UgbWVtb3J5IGNvbnN1bXB0aW9uLgogICAgICAgIGNhbnZhc0VudHJ5LmNhbnZhcy53aWR0aCA9IDA7CiAgICAgICAgY2FudmFzRW50cnkuY2FudmFzLmhlaWdodCA9IDA7CiAgICAgICAgZGVsZXRlIGNhY2hlW2lkXTsKICAgICAgfQogICAgfQogIH07Cn0pKCk7CgpmdW5jdGlvbiBjb21waWxlVHlwZTNHbHlwaChpbWdEYXRhKSB7CiAgdmFyIFBPSU5UX1RPX1BST0NFU1NfTElNSVQgPSAxMDAwOwoKICB2YXIgd2lkdGggPSBpbWdEYXRhLndpZHRoLCBoZWlnaHQgPSBpbWdEYXRhLmhlaWdodDsKICB2YXIgaSwgaiwgajAsIHdpZHRoMSA9IHdpZHRoICsgMTsKICB2YXIgcG9pbnRzID0gbmV3IFVpbnQ4QXJyYXkod2lkdGgxICogKGhlaWdodCArIDEpKTsKICB2YXIgUE9JTlRfVFlQRVMgPQogICAgICBuZXcgVWludDhBcnJheShbMCwgMiwgNCwgMCwgMSwgMCwgNSwgNCwgOCwgMTAsIDAsIDgsIDAsIDIsIDEsIDBdKTsKCiAgLy8gZGVjb2RlcyBiaXQtcGFja2VkIG1hc2sgZGF0YQogIHZhciBsaW5lU2l6ZSA9ICh3aWR0aCArIDcpICYgfjcsIGRhdGEwID0gaW1nRGF0YS5kYXRhOwogIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXkobGluZVNpemUgKiBoZWlnaHQpLCBwb3MgPSAwLCBpaTsKICBmb3IgKGkgPSAwLCBpaSA9IGRhdGEwLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgIHZhciBtYXNrID0gMTI4LCBlbGVtID0gZGF0YTBbaV07CiAgICB3aGlsZSAobWFzayA+IDApIHsKICAgICAgZGF0YVtwb3MrK10gPSAoZWxlbSAmIG1hc2spID8gMCA6IDI1NTsKICAgICAgbWFzayA+Pj0gMTsKICAgIH0KICB9CgogIC8vIGZpbmRpbmcgaXRlcmVzdGluZyBwb2ludHM6IGV2ZXJ5IHBvaW50IGlzIGxvY2F0ZWQgYmV0d2VlbiBtYXNrIHBpeGVscywKICAvLyBzbyB0aGVyZSB3aWxsIGJlIHBvaW50cyBvZiB0aGUgKHdpZHRoICsgMSl4KGhlaWdodCArIDEpIGdyaWQuIEV2ZXJ5IHBvaW50CiAgLy8gd2lsbCBoYXZlIGZsYWdzIGFzc2lnbmVkIGJhc2VkIG9uIG5laWdoYm9yaW5nIG1hc2sgcGl4ZWxzOgogIC8vICAgNCB8IDgKICAvLyAgIC0tUC0tCiAgLy8gICAyIHwgMQogIC8vIFdlIGFyZSBpbnRlcmVzdGVkIG9ubHkgaW4gcG9pbnRzIHdpdGggdGhlIGZsYWdzOgogIC8vICAgLSBvdXRzaWRlIGNvcm5lcnM6IDEsIDIsIDQsIDg7CiAgLy8gICAtIGluc2lkZSBjb3JuZXJzOiA3LCAxMSwgMTMsIDE0OwogIC8vICAgLSBhbmQsIGludGVyc2VjdGlvbnM6IDUsIDEwLgogIHZhciBjb3VudCA9IDA7CiAgcG9zID0gMDsKICBpZiAoZGF0YVtwb3NdICE9PSAwKSB7CiAgICBwb2ludHNbMF0gPSAxOwogICAgKytjb3VudDsKICB9CiAgZm9yIChqID0gMTsgaiA8IHdpZHRoOyBqKyspIHsKICAgIGlmIChkYXRhW3Bvc10gIT09IGRhdGFbcG9zICsgMV0pIHsKICAgICAgcG9pbnRzW2pdID0gZGF0YVtwb3NdID8gMiA6IDE7CiAgICAgICsrY291bnQ7CiAgICB9CiAgICBwb3MrKzsKICB9CiAgaWYgKGRhdGFbcG9zXSAhPT0gMCkgewogICAgcG9pbnRzW2pdID0gMjsKICAgICsrY291bnQ7CiAgfQogIGZvciAoaSA9IDE7IGkgPCBoZWlnaHQ7IGkrKykgewogICAgcG9zID0gaSAqIGxpbmVTaXplOwogICAgajAgPSBpICogd2lkdGgxOwogICAgaWYgKGRhdGFbcG9zIC0gbGluZVNpemVdICE9PSBkYXRhW3Bvc10pIHsKICAgICAgcG9pbnRzW2owXSA9IGRhdGFbcG9zXSA/IDEgOiA4OwogICAgICArK2NvdW50OwogICAgfQogICAgLy8gJ3N1bScgaXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IHBpeGVsIGNvbmZpZ3VyYXRpb24gaW4gdGhlICdUWVBFUycKICAgIC8vIGFycmF5IChpbiBvcmRlciA4LTEtMi00LCBzbyB3ZSBjYW4gdXNlICc+PjInIHRvIHNoaWZ0IHRoZSBjb2x1bW4pLgogICAgdmFyIHN1bSA9IChkYXRhW3Bvc10gPyA0IDogMCkgKyAoZGF0YVtwb3MgLSBsaW5lU2l6ZV0gPyA4IDogMCk7CiAgICBmb3IgKGogPSAxOyBqIDwgd2lkdGg7IGorKykgewogICAgICBzdW0gPSAoc3VtID4+IDIpICsgKGRhdGFbcG9zICsgMV0gPyA0IDogMCkgKwogICAgICAgICAgICAoZGF0YVtwb3MgLSBsaW5lU2l6ZSArIDFdID8gOCA6IDApOwogICAgICBpZiAoUE9JTlRfVFlQRVNbc3VtXSkgewogICAgICAgIHBvaW50c1tqMCArIGpdID0gUE9JTlRfVFlQRVNbc3VtXTsKICAgICAgICArK2NvdW50OwogICAgICB9CiAgICAgIHBvcysrOwogICAgfQogICAgaWYgKGRhdGFbcG9zIC0gbGluZVNpemVdICE9PSBkYXRhW3Bvc10pIHsKICAgICAgcG9pbnRzW2owICsgal0gPSBkYXRhW3Bvc10gPyAyIDogNDsKICAgICAgKytjb3VudDsKICAgIH0KCiAgICBpZiAoY291bnQgPiBQT0lOVF9UT19QUk9DRVNTX0xJTUlUKSB7CiAgICAgIHJldHVybiBudWxsOwogICAgfQogIH0KCiAgcG9zID0gbGluZVNpemUgKiAoaGVpZ2h0IC0gMSk7CiAgajAgPSBpICogd2lkdGgxOwogIGlmIChkYXRhW3Bvc10gIT09IDApIHsKICAgIHBvaW50c1tqMF0gPSA4OwogICAgKytjb3VudDsKICB9CiAgZm9yIChqID0gMTsgaiA8IHdpZHRoOyBqKyspIHsKICAgIGlmIChkYXRhW3Bvc10gIT09IGRhdGFbcG9zICsgMV0pIHsKICAgICAgcG9pbnRzW2owICsgal0gPSBkYXRhW3Bvc10gPyA0IDogODsKICAgICAgKytjb3VudDsKICAgIH0KICAgIHBvcysrOwogIH0KICBpZiAoZGF0YVtwb3NdICE9PSAwKSB7CiAgICBwb2ludHNbajAgKyBqXSA9IDQ7CiAgICArK2NvdW50OwogIH0KICBpZiAoY291bnQgPiBQT0lOVF9UT19QUk9DRVNTX0xJTUlUKSB7CiAgICByZXR1cm4gbnVsbDsKICB9CgogIC8vIGJ1aWxkaW5nIG91dGxpbmVzCiAgdmFyIHN0ZXBzID0gbmV3IEludDMyQXJyYXkoWzAsIHdpZHRoMSwgLTEsIDAsIC13aWR0aDEsIDAsIDAsIDAsIDFdKTsKICB2YXIgb3V0bGluZXMgPSBbXTsKICBmb3IgKGkgPSAwOyBjb3VudCAmJiBpIDw9IGhlaWdodDsgaSsrKSB7CiAgICB2YXIgcCA9IGkgKiB3aWR0aDE7CiAgICB2YXIgZW5kID0gcCArIHdpZHRoOwogICAgd2hpbGUgKHAgPCBlbmQgJiYgIXBvaW50c1twXSkgewogICAgICBwKys7CiAgICB9CiAgICBpZiAocCA9PT0gZW5kKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgdmFyIGNvb3JkcyA9IFtwICUgd2lkdGgxLCBpXTsKCiAgICB2YXIgdHlwZSA9IHBvaW50c1twXSwgcDAgPSBwLCBwcDsKICAgIGRvIHsKICAgICAgdmFyIHN0ZXAgPSBzdGVwc1t0eXBlXTsKICAgICAgZG8gewogICAgICAgIHAgKz0gc3RlcDsKICAgICAgfSB3aGlsZSAoIXBvaW50c1twXSk7CgogICAgICBwcCA9IHBvaW50c1twXTsKICAgICAgaWYgKHBwICE9PSA1ICYmIHBwICE9PSAxMCkgewogICAgICAgIC8vIHNldCBuZXcgZGlyZWN0aW9uCiAgICAgICAgdHlwZSA9IHBwOwogICAgICAgIC8vIGRlbGV0ZSBtYXJrCiAgICAgICAgcG9pbnRzW3BdID0gMDsKICAgICAgfSBlbHNlIHsgLy8gdHlwZSBpcyA1IG9yIDEwLCBpZSwgYSBjcm9zc2luZwogICAgICAgIC8vIHNldCBuZXcgZGlyZWN0aW9uCiAgICAgICAgdHlwZSA9IHBwICYgKCgweDMzICogdHlwZSkgPj4gNCk7CiAgICAgICAgLy8gc2V0IG5ldyB0eXBlIGZvciAiZnV0dXJlIGhpdCIKICAgICAgICBwb2ludHNbcF0gJj0gKHR5cGUgPj4gMiB8IHR5cGUgPDwgMik7CiAgICAgIH0KCiAgICAgIGNvb3Jkcy5wdXNoKHAgJSB3aWR0aDEpOwogICAgICBjb29yZHMucHVzaCgocCAvIHdpZHRoMSkgfCAwKTsKICAgICAgLS1jb3VudDsKICAgIH0gd2hpbGUgKHAwICE9PSBwKTsKICAgIG91dGxpbmVzLnB1c2goY29vcmRzKTsKICAgIC0taTsKICB9CgogIHZhciBkcmF3T3V0bGluZSA9IGZ1bmN0aW9uKGMpIHsKICAgIGMuc2F2ZSgpOwogICAgLy8gdGhlIHBhdGggc2hhbGwgYmUgcGFpbnRlZCBpbiBbMC4uMV14WzAuLjFdIHNwYWNlCiAgICBjLnNjYWxlKDEgLyB3aWR0aCwgLTEgLyBoZWlnaHQpOwogICAgYy50cmFuc2xhdGUoMCwgLWhlaWdodCk7CiAgICBjLmJlZ2luUGF0aCgpOwogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gb3V0bGluZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgbyA9IG91dGxpbmVzW2ldOwogICAgICBjLm1vdmVUbyhvWzBdLCBvWzFdKTsKICAgICAgZm9yICh2YXIgaiA9IDIsIGpqID0gby5sZW5ndGg7IGogPCBqajsgaiArPSAyKSB7CiAgICAgICAgYy5saW5lVG8ob1tqXSwgb1tqKzFdKTsKICAgICAgfQogICAgfQogICAgYy5maWxsKCk7CiAgICBjLmJlZ2luUGF0aCgpOwogICAgYy5yZXN0b3JlKCk7CiAgfTsKCiAgcmV0dXJuIGRyYXdPdXRsaW5lOwp9Cgp2YXIgQ2FudmFzRXh0cmFTdGF0ZSA9IChmdW5jdGlvbiBDYW52YXNFeHRyYVN0YXRlQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDYW52YXNFeHRyYVN0YXRlKG9sZCkgewogICAgLy8gQXJlIHNvZnQgbWFza3MgYW5kIGFscGhhIHZhbHVlcyBzaGFwZXMgb3Igb3BhY2l0aWVzPwogICAgdGhpcy5hbHBoYUlzU2hhcGUgPSBmYWxzZTsKICAgIHRoaXMuZm9udFNpemUgPSAwOwogICAgdGhpcy5mb250U2l6ZVNjYWxlID0gMTsKICAgIHRoaXMudGV4dE1hdHJpeCA9IElERU5USVRZX01BVFJJWDsKICAgIHRoaXMudGV4dE1hdHJpeFNjYWxlID0gMTsKICAgIHRoaXMuZm9udE1hdHJpeCA9IEZPTlRfSURFTlRJVFlfTUFUUklYOwogICAgdGhpcy5sZWFkaW5nID0gMDsKICAgIC8vIEN1cnJlbnQgcG9pbnQgKGluIHVzZXIgY29vcmRpbmF0ZXMpCiAgICB0aGlzLnggPSAwOwogICAgdGhpcy55ID0gMDsKICAgIC8vIFN0YXJ0IG9mIHRleHQgbGluZSAoaW4gdGV4dCBjb29yZGluYXRlcykKICAgIHRoaXMubGluZVggPSAwOwogICAgdGhpcy5saW5lWSA9IDA7CiAgICAvLyBDaGFyYWN0ZXIgYW5kIHdvcmQgc3BhY2luZwogICAgdGhpcy5jaGFyU3BhY2luZyA9IDA7CiAgICB0aGlzLndvcmRTcGFjaW5nID0gMDsKICAgIHRoaXMudGV4dEhTY2FsZSA9IDE7CiAgICB0aGlzLnRleHRSZW5kZXJpbmdNb2RlID0gVGV4dFJlbmRlcmluZ01vZGUuRklMTDsKICAgIHRoaXMudGV4dFJpc2UgPSAwOwogICAgLy8gRGVmYXVsdCBmb3JlIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycwogICAgdGhpcy5maWxsQ29sb3IgPSAnIzAwMDAwMCc7CiAgICB0aGlzLnN0cm9rZUNvbG9yID0gJyMwMDAwMDAnOwogICAgdGhpcy5wYXR0ZXJuRmlsbCA9IGZhbHNlOwogICAgLy8gTm90ZTogZmlsbCBhbHBoYSBhcHBsaWVzIHRvIGFsbCBub24tc3Ryb2tpbmcgb3BlcmF0aW9ucwogICAgdGhpcy5maWxsQWxwaGEgPSAxOwogICAgdGhpcy5zdHJva2VBbHBoYSA9IDE7CiAgICB0aGlzLmxpbmVXaWR0aCA9IDE7CiAgICB0aGlzLmFjdGl2ZVNNYXNrID0gbnVsbDsgLy8gbm9uY2xvbmFibGUgZmllbGQgKHNlZSB0aGUgc2F2ZSBtZXRob2QgYmVsb3cpCgogICAgdGhpcy5vbGQgPSBvbGQ7CiAgfQoKICBDYW52YXNFeHRyYVN0YXRlLnByb3RvdHlwZSA9IHsKICAgIGNsb25lOiBmdW5jdGlvbiBDYW52YXNFeHRyYVN0YXRlX2Nsb25lKCkgewogICAgICByZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKTsKICAgIH0sCiAgICBzZXRDdXJyZW50UG9pbnQ6IGZ1bmN0aW9uIENhbnZhc0V4dHJhU3RhdGVfc2V0Q3VycmVudFBvaW50KHgsIHkpIHsKICAgICAgdGhpcy54ID0geDsKICAgICAgdGhpcy55ID0geTsKICAgIH0KICB9OwogIHJldHVybiBDYW52YXNFeHRyYVN0YXRlOwp9KSgpOwoKdmFyIENhbnZhc0dyYXBoaWNzID0gKGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzQ2xvc3VyZSgpIHsKICAvLyBEZWZpbmVzIHRoZSB0aW1lIHRoZSBleGVjdXRlT3BlcmF0b3JMaXN0IGlzIGdvaW5nIHRvIGJlIGV4ZWN1dGluZwogIC8vIGJlZm9yZSBpdCBzdG9wcyBhbmQgc2hlZHVsZXMgYSBjb250aW51ZSBvZiBleGVjdXRpb24uCiAgdmFyIEVYRUNVVElPTl9USU1FID0gMTU7CiAgLy8gRGVmaW5lcyB0aGUgbnVtYmVyIG9mIHN0ZXBzIGJlZm9yZSBjaGVja2luZyB0aGUgZXhlY3V0aW9uIHRpbWUKICB2YXIgRVhFQ1VUSU9OX1NURVBTID0gMTA7CgogIGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzKGNhbnZhc0N0eCwgY29tbW9uT2Jqcywgb2JqcywgaW1hZ2VMYXllcikgewogICAgdGhpcy5jdHggPSBjYW52YXNDdHg7CiAgICB0aGlzLmN1cnJlbnQgPSBuZXcgQ2FudmFzRXh0cmFTdGF0ZSgpOwogICAgdGhpcy5zdGF0ZVN0YWNrID0gW107CiAgICB0aGlzLnBlbmRpbmdDbGlwID0gbnVsbDsKICAgIHRoaXMucGVuZGluZ0VPRmlsbCA9IGZhbHNlOwogICAgdGhpcy5yZXMgPSBudWxsOwogICAgdGhpcy54b2JqcyA9IG51bGw7CiAgICB0aGlzLmNvbW1vbk9ianMgPSBjb21tb25PYmpzOwogICAgdGhpcy5vYmpzID0gb2JqczsKICAgIHRoaXMuaW1hZ2VMYXllciA9IGltYWdlTGF5ZXI7CiAgICB0aGlzLmdyb3VwU3RhY2sgPSBbXTsKICAgIHRoaXMucHJvY2Vzc2luZ1R5cGUzID0gbnVsbDsKICAgIC8vIFBhdHRlcm5zIGFyZSBwYWludGVkIHJlbGF0aXZlIHRvIHRoZSBpbml0aWFsIHBhZ2UvZm9ybSB0cmFuc2Zvcm0sIHNlZSBwZGYKICAgIC8vIHNwZWMgOC43LjIgTk9URSAxLgogICAgdGhpcy5iYXNlVHJhbnNmb3JtID0gbnVsbDsKICAgIHRoaXMuYmFzZVRyYW5zZm9ybVN0YWNrID0gW107CiAgICB0aGlzLmdyb3VwTGV2ZWwgPSAwOwogICAgdGhpcy5zbWFza1N0YWNrID0gW107CiAgICB0aGlzLnNtYXNrQ291bnRlciA9IDA7CiAgICB0aGlzLnRlbXBTTWFzayA9IG51bGw7CiAgICBpZiAoY2FudmFzQ3R4KSB7CiAgICAgIC8vIE5PVEU6IGlmIG1vekN1cnJlbnRUcmFuc2Zvcm0gaXMgcG9seWZpbGxlZCwgdGhlbiB0aGUgY3VycmVudCBzdGF0ZSBvZgogICAgICAvLyB0aGUgdHJhbnNmb3JtYXRpb24gbXVzdCBhbHJlYWR5IGJlIHNldCBpbiBjYW52YXNDdHguX3RyYW5zZm9ybU1hdHJpeC4KICAgICAgYWRkQ29udGV4dEN1cnJlbnRUcmFuc2Zvcm0oY2FudmFzQ3R4KTsKICAgIH0KICAgIHRoaXMuY2FjaGVkR2V0U2luZ2xlUGl4ZWxXaWR0aCA9IG51bGw7CiAgfQoKICBmdW5jdGlvbiBwdXRCaW5hcnlJbWFnZURhdGEoY3R4LCBpbWdEYXRhKSB7CiAgICBpZiAodHlwZW9mIEltYWdlRGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgaW1nRGF0YSBpbnN0YW5jZW9mIEltYWdlRGF0YSkgewogICAgICBjdHgucHV0SW1hZ2VEYXRhKGltZ0RhdGEsIDAsIDApOwogICAgICByZXR1cm47CiAgICB9CgogICAgLy8gUHV0IHRoZSBpbWFnZSBkYXRhIHRvIHRoZSBjYW52YXMgaW4gY2h1bmtzLCByYXRoZXIgdGhhbiBwdXR0aW5nIHRoZQogICAgLy8gd2hvbGUgaW1hZ2UgYXQgb25jZS4gIFRoaXMgc2F2ZXMgSlMgbWVtb3J5LCBiZWNhdXNlIHRoZSBJbWFnZURhdGEgb2JqZWN0CiAgICAvLyBpcyBzbWFsbGVyLiBJdCBhbHNvIHBvc3NpYmx5IHNhdmVzIEMrKyBtZW1vcnkgd2l0aGluIHRoZSBpbXBsZW1lbnRhdGlvbgogICAgLy8gb2YgcHV0SW1hZ2VEYXRhKCkuIChFLmcuIGluIEZpcmVmb3ggd2UgbWFrZSB0d28gc2hvcnQtbGl2ZWQgY29waWVzIG9mCiAgICAvLyB0aGUgZGF0YSBwYXNzZWQgdG8gcHV0SW1hZ2VEYXRhKCkpLiB8bnwgc2hvdWxkbid0IGJlIHRvbyBzbWFsbCwgaG93ZXZlciwKICAgIC8vIGJlY2F1c2UgdG9vIG1hbnkgcHV0SW1hZ2VEYXRhKCkgY2FsbHMgd2lsbCBzbG93IHRoaW5ncyBkb3duLgogICAgLy8KICAgIC8vIE5vdGU6IGFzIHdyaXR0ZW4sIGlmIHRoZSBsYXN0IGNodW5rIGlzIHBhcnRpYWwsIHRoZSBwdXRJbWFnZURhdGEoKSBjYWxsCiAgICAvLyB3aWxsIChjb25jZXB0dWFsbHkpIHB1dCBwaXhlbHMgcGFzdCB0aGUgYm91bmRzIG9mIHRoZSBjYW52YXMuICBCdXQKICAgIC8vIHRoYXQncyBvazsgYW55IHN1Y2ggcGl4ZWxzIGFyZSBpZ25vcmVkLgoKICAgIHZhciBoZWlnaHQgPSBpbWdEYXRhLmhlaWdodCwgd2lkdGggPSBpbWdEYXRhLndpZHRoOwogICAgdmFyIHBhcnRpYWxDaHVua0hlaWdodCA9IGhlaWdodCAlIEZVTExfQ0hVTktfSEVJR0hUOwogICAgdmFyIGZ1bGxDaHVua3MgPSAoaGVpZ2h0IC0gcGFydGlhbENodW5rSGVpZ2h0KSAvIEZVTExfQ0hVTktfSEVJR0hUOwogICAgdmFyIHRvdGFsQ2h1bmtzID0gcGFydGlhbENodW5rSGVpZ2h0ID09PSAwID8gZnVsbENodW5rcyA6IGZ1bGxDaHVua3MgKyAxOwoKICAgIHZhciBjaHVua0ltZ0RhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKHdpZHRoLCBGVUxMX0NIVU5LX0hFSUdIVCk7CiAgICB2YXIgc3JjUG9zID0gMCwgZGVzdFBvczsKICAgIHZhciBzcmMgPSBpbWdEYXRhLmRhdGE7CiAgICB2YXIgZGVzdCA9IGNodW5rSW1nRGF0YS5kYXRhOwogICAgdmFyIGksIGosIHRoaXNDaHVua0hlaWdodCwgZWxlbXNJblRoaXNDaHVuazsKCiAgICAvLyBUaGVyZSBhcmUgbXVsdGlwbGUgZm9ybXMgaW4gd2hpY2ggdGhlIHBpeGVsIGRhdGEgY2FuIGJlIHBhc3NlZCwgYW5kCiAgICAvLyBpbWdEYXRhLmtpbmQgdGVsbHMgdXMgd2hpY2ggb25lIHRoaXMgaXMuCiAgICBpZiAoaW1nRGF0YS5raW5kID09PSBJbWFnZUtpbmQuR1JBWVNDQUxFXzFCUFApIHsKICAgICAgLy8gR3JheXNjYWxlLCAxIGJpdCBwZXIgcGl4ZWwgKGkuZS4gYmxhY2stYW5kLXdoaXRlKS4KICAgICAgdmFyIHNyY0xlbmd0aCA9IHNyYy5ieXRlTGVuZ3RoOwogICAgICB2YXIgZGVzdDMyID0gUERGSlMuaGFzQ2FudmFzVHlwZWRBcnJheXMgPyBuZXcgVWludDMyQXJyYXkoZGVzdC5idWZmZXIpIDoKICAgICAgICBuZXcgVWludDMyQXJyYXlWaWV3KGRlc3QpOwogICAgICB2YXIgZGVzdDMyRGF0YUxlbmd0aCA9IGRlc3QzMi5sZW5ndGg7CiAgICAgIHZhciBmdWxsU3JjRGlmZiA9ICh3aWR0aCArIDcpID4+IDM7CiAgICAgIHZhciB3aGl0ZSA9IDB4RkZGRkZGRkY7CiAgICAgIHZhciBibGFjayA9IChQREZKUy5pc0xpdHRsZUVuZGlhbiB8fCAhUERGSlMuaGFzQ2FudmFzVHlwZWRBcnJheXMpID8KICAgICAgICAweEZGMDAwMDAwIDogMHgwMDAwMDBGRjsKICAgICAgZm9yIChpID0gMDsgaSA8IHRvdGFsQ2h1bmtzOyBpKyspIHsKICAgICAgICB0aGlzQ2h1bmtIZWlnaHQgPQogICAgICAgICAgKGkgPCBmdWxsQ2h1bmtzKSA/IEZVTExfQ0hVTktfSEVJR0hUIDogcGFydGlhbENodW5rSGVpZ2h0OwogICAgICAgIGRlc3RQb3MgPSAwOwogICAgICAgIGZvciAoaiA9IDA7IGogPCB0aGlzQ2h1bmtIZWlnaHQ7IGorKykgewogICAgICAgICAgdmFyIHNyY0RpZmYgPSBzcmNMZW5ndGggLSBzcmNQb3M7CiAgICAgICAgICB2YXIgayA9IDA7CiAgICAgICAgICB2YXIga0VuZCA9IChzcmNEaWZmID4gZnVsbFNyY0RpZmYpID8gd2lkdGggOiBzcmNEaWZmICogOCAtIDc7CiAgICAgICAgICB2YXIga0VuZFVucm9sbGVkID0ga0VuZCAmIH43OwogICAgICAgICAgdmFyIG1hc2sgPSAwOwogICAgICAgICAgdmFyIHNyY0J5dGUgPSAwOwogICAgICAgICAgZm9yICg7IGsgPCBrRW5kVW5yb2xsZWQ7IGsgKz0gOCkgewogICAgICAgICAgICBzcmNCeXRlID0gc3JjW3NyY1BvcysrXTsKICAgICAgICAgICAgZGVzdDMyW2Rlc3RQb3MrK10gPSAoc3JjQnl0ZSAmIDEyOCkgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgNjQpID8gd2hpdGUgOiBibGFjazsKICAgICAgICAgICAgZGVzdDMyW2Rlc3RQb3MrK10gPSAoc3JjQnl0ZSAmIDMyKSA/IHdoaXRlIDogYmxhY2s7CiAgICAgICAgICAgIGRlc3QzMltkZXN0UG9zKytdID0gKHNyY0J5dGUgJiAxNikgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgOCkgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgNCkgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgMikgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgICBkZXN0MzJbZGVzdFBvcysrXSA9IChzcmNCeXRlICYgMSkgPyB3aGl0ZSA6IGJsYWNrOwogICAgICAgICAgfQogICAgICAgICAgZm9yICg7IGsgPCBrRW5kOyBrKyspIHsKICAgICAgICAgICAgIGlmIChtYXNrID09PSAwKSB7CiAgICAgICAgICAgICAgIHNyY0J5dGUgPSBzcmNbc3JjUG9zKytdOwogICAgICAgICAgICAgICBtYXNrID0gMTI4OwogICAgICAgICAgICAgfQoKICAgICAgICAgICAgZGVzdDMyW2Rlc3RQb3MrK10gPSAoc3JjQnl0ZSAmIG1hc2spID8gd2hpdGUgOiBibGFjazsKICAgICAgICAgICAgbWFzayA+Pj0gMTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gV2UgcmFuIG91dCBvZiBpbnB1dC4gTWFrZSBhbGwgcmVtYWluaW5nIHBpeGVscyB0cmFuc3BhcmVudC4KICAgICAgICB3aGlsZSAoZGVzdFBvcyA8IGRlc3QzMkRhdGFMZW5ndGgpIHsKICAgICAgICAgIGRlc3QzMltkZXN0UG9zKytdID0gMDsKICAgICAgICB9CgogICAgICAgIGN0eC5wdXRJbWFnZURhdGEoY2h1bmtJbWdEYXRhLCAwLCBpICogRlVMTF9DSFVOS19IRUlHSFQpOwogICAgICB9CiAgICB9IGVsc2UgaWYgKGltZ0RhdGEua2luZCA9PT0gSW1hZ2VLaW5kLlJHQkFfMzJCUFApIHsKICAgICAgLy8gUkdCQSwgMzItYml0cyBwZXIgcGl4ZWwuCgogICAgICBqID0gMDsKICAgICAgZWxlbXNJblRoaXNDaHVuayA9IHdpZHRoICogRlVMTF9DSFVOS19IRUlHSFQgKiA0OwogICAgICBmb3IgKGkgPSAwOyBpIDwgZnVsbENodW5rczsgaSsrKSB7CiAgICAgICAgZGVzdC5zZXQoc3JjLnN1YmFycmF5KHNyY1Bvcywgc3JjUG9zICsgZWxlbXNJblRoaXNDaHVuaykpOwogICAgICAgIHNyY1BvcyArPSBlbGVtc0luVGhpc0NodW5rOwoKICAgICAgICBjdHgucHV0SW1hZ2VEYXRhKGNodW5rSW1nRGF0YSwgMCwgaik7CiAgICAgICAgaiArPSBGVUxMX0NIVU5LX0hFSUdIVDsKICAgICAgfQogICAgICBpZiAoaSA8IHRvdGFsQ2h1bmtzKSB7CiAgICAgICAgZWxlbXNJblRoaXNDaHVuayA9IHdpZHRoICogcGFydGlhbENodW5rSGVpZ2h0ICogNDsKICAgICAgICBkZXN0LnNldChzcmMuc3ViYXJyYXkoc3JjUG9zLCBzcmNQb3MgKyBlbGVtc0luVGhpc0NodW5rKSk7CiAgICAgICAgY3R4LnB1dEltYWdlRGF0YShjaHVua0ltZ0RhdGEsIDAsIGopOwogICAgICB9CgogICAgfSBlbHNlIGlmIChpbWdEYXRhLmtpbmQgPT09IEltYWdlS2luZC5SR0JfMjRCUFApIHsKICAgICAgLy8gUkdCLCAyNC1iaXRzIHBlciBwaXhlbC4KICAgICAgdGhpc0NodW5rSGVpZ2h0ID0gRlVMTF9DSFVOS19IRUlHSFQ7CiAgICAgIGVsZW1zSW5UaGlzQ2h1bmsgPSB3aWR0aCAqIHRoaXNDaHVua0hlaWdodDsKICAgICAgZm9yIChpID0gMDsgaSA8IHRvdGFsQ2h1bmtzOyBpKyspIHsKICAgICAgICBpZiAoaSA+PSBmdWxsQ2h1bmtzKSB7CiAgICAgICAgICB0aGlzQ2h1bmtIZWlnaHQgPSBwYXJ0aWFsQ2h1bmtIZWlnaHQ7CiAgICAgICAgICBlbGVtc0luVGhpc0NodW5rID0gd2lkdGggKiB0aGlzQ2h1bmtIZWlnaHQ7CiAgICAgICAgfQoKICAgICAgICBkZXN0UG9zID0gMDsKICAgICAgICBmb3IgKGogPSBlbGVtc0luVGhpc0NodW5rOyBqLS07KSB7CiAgICAgICAgICBkZXN0W2Rlc3RQb3MrK10gPSBzcmNbc3JjUG9zKytdOwogICAgICAgICAgZGVzdFtkZXN0UG9zKytdID0gc3JjW3NyY1BvcysrXTsKICAgICAgICAgIGRlc3RbZGVzdFBvcysrXSA9IHNyY1tzcmNQb3MrK107CiAgICAgICAgICBkZXN0W2Rlc3RQb3MrK10gPSAyNTU7CiAgICAgICAgfQogICAgICAgIGN0eC5wdXRJbWFnZURhdGEoY2h1bmtJbWdEYXRhLCAwLCBpICogRlVMTF9DSFVOS19IRUlHSFQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBlcnJvcignYmFkIGltYWdlIGtpbmQ6ICcgKyBpbWdEYXRhLmtpbmQpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcHV0QmluYXJ5SW1hZ2VNYXNrKGN0eCwgaW1nRGF0YSkgewogICAgdmFyIGhlaWdodCA9IGltZ0RhdGEuaGVpZ2h0LCB3aWR0aCA9IGltZ0RhdGEud2lkdGg7CiAgICB2YXIgcGFydGlhbENodW5rSGVpZ2h0ID0gaGVpZ2h0ICUgRlVMTF9DSFVOS19IRUlHSFQ7CiAgICB2YXIgZnVsbENodW5rcyA9IChoZWlnaHQgLSBwYXJ0aWFsQ2h1bmtIZWlnaHQpIC8gRlVMTF9DSFVOS19IRUlHSFQ7CiAgICB2YXIgdG90YWxDaHVua3MgPSBwYXJ0aWFsQ2h1bmtIZWlnaHQgPT09IDAgPyBmdWxsQ2h1bmtzIDogZnVsbENodW5rcyArIDE7CgogICAgdmFyIGNodW5rSW1nRGF0YSA9IGN0eC5jcmVhdGVJbWFnZURhdGEod2lkdGgsIEZVTExfQ0hVTktfSEVJR0hUKTsKICAgIHZhciBzcmNQb3MgPSAwOwogICAgdmFyIHNyYyA9IGltZ0RhdGEuZGF0YTsKICAgIHZhciBkZXN0ID0gY2h1bmtJbWdEYXRhLmRhdGE7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b3RhbENodW5rczsgaSsrKSB7CiAgICAgIHZhciB0aGlzQ2h1bmtIZWlnaHQgPQogICAgICAgIChpIDwgZnVsbENodW5rcykgPyBGVUxMX0NIVU5LX0hFSUdIVCA6IHBhcnRpYWxDaHVua0hlaWdodDsKCiAgICAgIC8vIEV4cGFuZCB0aGUgbWFzayBzbyBpdCBjYW4gYmUgdXNlZCBieSB0aGUgY2FudmFzLiAgQW55IHJlcXVpcmVkCiAgICAgIC8vIGludmVyc2lvbiBoYXMgYWxyZWFkeSBiZWVuIGhhbmRsZWQuCiAgICAgIHZhciBkZXN0UG9zID0gMzsgLy8gYWxwaGEgY29tcG9uZW50IG9mZnNldAogICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXNDaHVua0hlaWdodDsgaisrKSB7CiAgICAgICAgdmFyIG1hc2sgPSAwOwogICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgd2lkdGg7IGsrKykgewogICAgICAgICAgaWYgKCFtYXNrKSB7CiAgICAgICAgICAgIHZhciBlbGVtID0gc3JjW3NyY1BvcysrXTsKICAgICAgICAgICAgbWFzayA9IDEyODsKICAgICAgICAgIH0KICAgICAgICAgIGRlc3RbZGVzdFBvc10gPSAoZWxlbSAmIG1hc2spID8gMCA6IDI1NTsKICAgICAgICAgIGRlc3RQb3MgKz0gNDsKICAgICAgICAgIG1hc2sgPj49IDE7CiAgICAgICAgfQogICAgICB9CiAgICAgIGN0eC5wdXRJbWFnZURhdGEoY2h1bmtJbWdEYXRhLCAwLCBpICogRlVMTF9DSFVOS19IRUlHSFQpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gY29weUN0eFN0YXRlKHNvdXJjZUN0eCwgZGVzdEN0eCkgewogICAgdmFyIHByb3BlcnRpZXMgPSBbJ3N0cm9rZVN0eWxlJywgJ2ZpbGxTdHlsZScsICdmaWxsUnVsZScsICdnbG9iYWxBbHBoYScsCiAgICAgICAgICAgICAgICAgICAgICAnbGluZVdpZHRoJywgJ2xpbmVDYXAnLCAnbGluZUpvaW4nLCAnbWl0ZXJMaW1pdCcsCiAgICAgICAgICAgICAgICAgICAgICAnZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uJywgJ2ZvbnQnXTsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHByb3BlcnRpZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2ldOwogICAgICBpZiAoc291cmNlQ3R4W3Byb3BlcnR5XSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgZGVzdEN0eFtwcm9wZXJ0eV0gPSBzb3VyY2VDdHhbcHJvcGVydHldOwogICAgICB9CiAgICB9CiAgICBpZiAoc291cmNlQ3R4LnNldExpbmVEYXNoICE9PSB1bmRlZmluZWQpIHsKICAgICAgZGVzdEN0eC5zZXRMaW5lRGFzaChzb3VyY2VDdHguZ2V0TGluZURhc2goKSk7CiAgICAgIGRlc3RDdHgubGluZURhc2hPZmZzZXQgPSAgc291cmNlQ3R4LmxpbmVEYXNoT2Zmc2V0OwogICAgfSBlbHNlIGlmIChzb3VyY2VDdHgubW96RGFzaE9mZnNldCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgIGRlc3RDdHgubW96RGFzaCA9IHNvdXJjZUN0eC5tb3pEYXNoOwogICAgICBkZXN0Q3R4Lm1vekRhc2hPZmZzZXQgPSBzb3VyY2VDdHgubW96RGFzaE9mZnNldDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGNvbXBvc2VTTWFza0JhY2tkcm9wKGJ5dGVzLCByMCwgZzAsIGIwKSB7CiAgICB2YXIgbGVuZ3RoID0gYnl0ZXMubGVuZ3RoOwogICAgZm9yICh2YXIgaSA9IDM7IGkgPCBsZW5ndGg7IGkgKz0gNCkgewogICAgICB2YXIgYWxwaGEgPSBieXRlc1tpXTsKICAgICAgaWYgKGFscGhhID09PSAwKSB7CiAgICAgICAgYnl0ZXNbaSAtIDNdID0gcjA7CiAgICAgICAgYnl0ZXNbaSAtIDJdID0gZzA7CiAgICAgICAgYnl0ZXNbaSAtIDFdID0gYjA7CiAgICAgIH0gZWxzZSBpZiAoYWxwaGEgPCAyNTUpIHsKICAgICAgICB2YXIgYWxwaGFfID0gMjU1IC0gYWxwaGE7CiAgICAgICAgYnl0ZXNbaSAtIDNdID0gKGJ5dGVzW2kgLSAzXSAqIGFscGhhICsgcjAgKiBhbHBoYV8pID4+IDg7CiAgICAgICAgYnl0ZXNbaSAtIDJdID0gKGJ5dGVzW2kgLSAyXSAqIGFscGhhICsgZzAgKiBhbHBoYV8pID4+IDg7CiAgICAgICAgYnl0ZXNbaSAtIDFdID0gKGJ5dGVzW2kgLSAxXSAqIGFscGhhICsgYjAgKiBhbHBoYV8pID4+IDg7CiAgICAgIH0KICAgIH0KICB9CgogIGZ1bmN0aW9uIGNvbXBvc2VTTWFza0FscGhhKG1hc2tEYXRhLCBsYXllckRhdGEpIHsKICAgIHZhciBsZW5ndGggPSBtYXNrRGF0YS5sZW5ndGg7CiAgICB2YXIgc2NhbGUgPSAxIC8gMjU1OwogICAgZm9yICh2YXIgaSA9IDM7IGkgPCBsZW5ndGg7IGkgKz0gNCkgewogICAgICB2YXIgYWxwaGEgPSBtYXNrRGF0YVtpXTsKICAgICAgbGF5ZXJEYXRhW2ldID0gKGxheWVyRGF0YVtpXSAqIGFscGhhICogc2NhbGUpIHwgMDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGNvbXBvc2VTTWFza0x1bWlub3NpdHkobWFza0RhdGEsIGxheWVyRGF0YSkgewogICAgdmFyIGxlbmd0aCA9IG1hc2tEYXRhLmxlbmd0aDsKICAgIGZvciAodmFyIGkgPSAzOyBpIDwgbGVuZ3RoOyBpICs9IDQpIHsKICAgICAgdmFyIHkgPSAobWFza0RhdGFbaSAtIDNdICogNzcpICsgIC8vICogMC4zIC8gMjU1ICogMHgxMDAwMAogICAgICAgICAgICAgIChtYXNrRGF0YVtpIC0gMl0gKiAxNTIpICsgLy8gKiAwLjU5IC4uLi4KICAgICAgICAgICAgICAobWFza0RhdGFbaSAtIDFdICogMjgpOyAgIC8vICogMC4xMSAuLi4uCiAgICAgIGxheWVyRGF0YVtpXSA9IChsYXllckRhdGFbaV0gKiB5KSA+PiAxNjsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGdlbmVyaWNDb21wb3NlU01hc2sobWFza0N0eCwgbGF5ZXJDdHgsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0eXBlLCBiYWNrZHJvcCkgewogICAgdmFyIGhhc0JhY2tkcm9wID0gISFiYWNrZHJvcDsKICAgIHZhciByMCA9IGhhc0JhY2tkcm9wID8gYmFja2Ryb3BbMF0gOiAwOwogICAgdmFyIGcwID0gaGFzQmFja2Ryb3AgPyBiYWNrZHJvcFsxXSA6IDA7CiAgICB2YXIgYjAgPSBoYXNCYWNrZHJvcCA/IGJhY2tkcm9wWzJdIDogMDsKCiAgICB2YXIgY29tcG9zZUZuOwogICAgaWYgKHN1YnR5cGUgPT09ICdMdW1pbm9zaXR5JykgewogICAgICBjb21wb3NlRm4gPSBjb21wb3NlU01hc2tMdW1pbm9zaXR5OwogICAgfSBlbHNlIHsKICAgICAgY29tcG9zZUZuID0gY29tcG9zZVNNYXNrQWxwaGE7CiAgICB9CgogICAgLy8gcHJvY2Vzc2luZyBpbWFnZSBpbiBjaHVua3MgdG8gc2F2ZSBtZW1vcnkKICAgIHZhciBQSVhFTFNfVE9fUFJPQ0VTUyA9IDEwNDg1NzY7CiAgICB2YXIgY2h1bmtTaXplID0gTWF0aC5taW4oaGVpZ2h0LCBNYXRoLmNlaWwoUElYRUxTX1RPX1BST0NFU1MgLyB3aWR0aCkpOwogICAgZm9yICh2YXIgcm93ID0gMDsgcm93IDwgaGVpZ2h0OyByb3cgKz0gY2h1bmtTaXplKSB7CiAgICAgIHZhciBjaHVua0hlaWdodCA9IE1hdGgubWluKGNodW5rU2l6ZSwgaGVpZ2h0IC0gcm93KTsKICAgICAgdmFyIG1hc2tEYXRhID0gbWFza0N0eC5nZXRJbWFnZURhdGEoMCwgcm93LCB3aWR0aCwgY2h1bmtIZWlnaHQpOwogICAgICB2YXIgbGF5ZXJEYXRhID0gbGF5ZXJDdHguZ2V0SW1hZ2VEYXRhKDAsIHJvdywgd2lkdGgsIGNodW5rSGVpZ2h0KTsKCiAgICAgIGlmIChoYXNCYWNrZHJvcCkgewogICAgICAgIGNvbXBvc2VTTWFza0JhY2tkcm9wKG1hc2tEYXRhLmRhdGEsIHIwLCBnMCwgYjApOwogICAgICB9CiAgICAgIGNvbXBvc2VGbihtYXNrRGF0YS5kYXRhLCBsYXllckRhdGEuZGF0YSk7CgogICAgICBtYXNrQ3R4LnB1dEltYWdlRGF0YShsYXllckRhdGEsIDAsIHJvdyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBjb21wb3NlU01hc2soY3R4LCBzbWFzaywgbGF5ZXJDdHgpIHsKICAgIHZhciBtYXNrID0gc21hc2suY2FudmFzOwogICAgdmFyIG1hc2tDdHggPSBzbWFzay5jb250ZXh0OwoKICAgIGN0eC5zZXRUcmFuc2Zvcm0oc21hc2suc2NhbGVYLCAwLCAwLCBzbWFzay5zY2FsZVksCiAgICAgICAgICAgICAgICAgICAgIHNtYXNrLm9mZnNldFgsIHNtYXNrLm9mZnNldFkpOwoKICAgIHZhciBiYWNrZHJvcCA9IHNtYXNrLmJhY2tkcm9wIHx8IG51bGw7CiAgICBpZiAoV2ViR0xVdGlscy5pc0VuYWJsZWQpIHsKICAgICAgdmFyIGNvbXBvc2VkID0gV2ViR0xVdGlscy5jb21wb3NlU01hc2sobGF5ZXJDdHguY2FudmFzLCBtYXNrLAogICAgICAgIHtzdWJ0eXBlOiBzbWFzay5zdWJ0eXBlLCBiYWNrZHJvcDogYmFja2Ryb3B9KTsKICAgICAgY3R4LnNldFRyYW5zZm9ybSgxLCAwLCAwLCAxLCAwLCAwKTsKICAgICAgY3R4LmRyYXdJbWFnZShjb21wb3NlZCwgc21hc2sub2Zmc2V0WCwgc21hc2sub2Zmc2V0WSk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGdlbmVyaWNDb21wb3NlU01hc2sobWFza0N0eCwgbGF5ZXJDdHgsIG1hc2sud2lkdGgsIG1hc2suaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICBzbWFzay5zdWJ0eXBlLCBiYWNrZHJvcCk7CiAgICBjdHguZHJhd0ltYWdlKG1hc2ssIDAsIDApOwogIH0KCiAgdmFyIExJTkVfQ0FQX1NUWUxFUyA9IFsnYnV0dCcsICdyb3VuZCcsICdzcXVhcmUnXTsKICB2YXIgTElORV9KT0lOX1NUWUxFUyA9IFsnbWl0ZXInLCAncm91bmQnLCAnYmV2ZWwnXTsKICB2YXIgTk9STUFMX0NMSVAgPSB7fTsKICB2YXIgRU9fQ0xJUCA9IHt9OwoKICBDYW52YXNHcmFwaGljcy5wcm90b3R5cGUgPSB7CgogICAgYmVnaW5EcmF3aW5nOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19iZWdpbkRyYXdpbmcodmlld3BvcnQsIHRyYW5zcGFyZW5jeSkgewogICAgICAvLyBGb3IgcGRmcyB0aGF0IHVzZSBibGVuZCBtb2RlcyB3ZSBoYXZlIHRvIGNsZWFyIHRoZSBjYW52YXMgZWxzZSBjZXJ0YWluCiAgICAgIC8vIGJsZW5kIG1vZGVzIGNhbiBsb29rIHdyb25nIHNpbmNlIHdlJ2QgYmUgYmxlbmRpbmcgd2l0aCBhIHdoaXRlCiAgICAgIC8vIGJhY2tkcm9wLiBUaGUgcHJvYmxlbSB3aXRoIGEgdHJhbnNwYXJlbnQgYmFja2Ryb3AgdGhvdWdoIGlzIHdlIHRoZW4KICAgICAgLy8gZG9uJ3QgZ2V0IHN1YiBwaXhlbCBhbnRpIGFsaWFzaW5nIG9uIHRleHQsIHNvIHdlIGZpbGwgd2l0aCB3aGl0ZSBpZgogICAgICAvLyB3ZSBjYW4uCiAgICAgIHZhciB3aWR0aCA9IHRoaXMuY3R4LmNhbnZhcy53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IHRoaXMuY3R4LmNhbnZhcy5oZWlnaHQ7CiAgICAgIGlmICh0cmFuc3BhcmVuY3kpIHsKICAgICAgICB0aGlzLmN0eC5jbGVhclJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jdHgubW96T3BhcXVlID0gdHJ1ZTsKICAgICAgICB0aGlzLmN0eC5zYXZlKCk7CiAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gJ3JnYigyNTUsIDI1NSwgMjU1KSc7CiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CiAgICAgICAgdGhpcy5jdHgucmVzdG9yZSgpOwogICAgICB9CgogICAgICB2YXIgdHJhbnNmb3JtID0gdmlld3BvcnQudHJhbnNmb3JtOwoKICAgICAgdGhpcy5jdHguc2F2ZSgpOwogICAgICB0aGlzLmN0eC50cmFuc2Zvcm0uYXBwbHkodGhpcy5jdHgsIHRyYW5zZm9ybSk7CgogICAgICB0aGlzLmJhc2VUcmFuc2Zvcm0gPSB0aGlzLmN0eC5tb3pDdXJyZW50VHJhbnNmb3JtLnNsaWNlKCk7CgogICAgICBpZiAodGhpcy5pbWFnZUxheWVyKSB7CiAgICAgICAgdGhpcy5pbWFnZUxheWVyLmJlZ2luTGF5b3V0KCk7CiAgICAgIH0KICAgIH0sCgogICAgZXhlY3V0ZU9wZXJhdG9yTGlzdDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZXhlY3V0ZU9wZXJhdG9yTGlzdCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRpb25TdGFydElkeCwgY29udGludWVDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHBlcikgewogICAgICB2YXIgYXJnc0FycmF5ID0gb3BlcmF0b3JMaXN0LmFyZ3NBcnJheTsKICAgICAgdmFyIGZuQXJyYXkgPSBvcGVyYXRvckxpc3QuZm5BcnJheTsKICAgICAgdmFyIGkgPSBleGVjdXRpb25TdGFydElkeCB8fCAwOwogICAgICB2YXIgYXJnc0FycmF5TGVuID0gYXJnc0FycmF5Lmxlbmd0aDsKCiAgICAgIC8vIFNvbWV0aW1lcyB0aGUgT3BlcmF0b3JMaXN0IHRvIGV4ZWN1dGUgaXMgZW1wdHkuCiAgICAgIGlmIChhcmdzQXJyYXlMZW4gPT09IGkpIHsKICAgICAgICByZXR1cm4gaTsKICAgICAgfQoKICAgICAgdmFyIGNodW5rT3BlcmF0aW9ucyA9IChhcmdzQXJyYXlMZW4gLSBpID4gRVhFQ1VUSU9OX1NURVBTICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGNvbnRpbnVlQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpOwogICAgICB2YXIgZW5kVGltZSA9IGNodW5rT3BlcmF0aW9ucyA/IERhdGUubm93KCkgKyBFWEVDVVRJT05fVElNRSA6IDA7CiAgICAgIHZhciBzdGVwcyA9IDA7CgogICAgICB2YXIgY29tbW9uT2JqcyA9IHRoaXMuY29tbW9uT2JqczsKICAgICAgdmFyIG9ianMgPSB0aGlzLm9ianM7CiAgICAgIHZhciBmbklkOwoKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpZiAoc3RlcHBlciAhPT0gdW5kZWZpbmVkICYmIGkgPT09IHN0ZXBwZXIubmV4dEJyZWFrUG9pbnQpIHsKICAgICAgICAgIHN0ZXBwZXIuYnJlYWtJdChpLCBjb250aW51ZUNhbGxiYWNrKTsKICAgICAgICAgIHJldHVybiBpOwogICAgICAgIH0KCiAgICAgICAgZm5JZCA9IGZuQXJyYXlbaV07CgogICAgICAgIGlmIChmbklkICE9PSBPUFMuZGVwZW5kZW5jeSkgewogICAgICAgICAgdGhpc1tmbklkXS5hcHBseSh0aGlzLCBhcmdzQXJyYXlbaV0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgZGVwcyA9IGFyZ3NBcnJheVtpXTsKICAgICAgICAgIGZvciAodmFyIG4gPSAwLCBubiA9IGRlcHMubGVuZ3RoOyBuIDwgbm47IG4rKykgewogICAgICAgICAgICB2YXIgZGVwT2JqSWQgPSBkZXBzW25dOwogICAgICAgICAgICB2YXIgY29tbW9uID0gZGVwT2JqSWRbMF0gPT09ICdnJyAmJiBkZXBPYmpJZFsxXSA9PT0gJ18nOwogICAgICAgICAgICB2YXIgb2Jqc1Bvb2wgPSBjb21tb24gPyBjb21tb25PYmpzIDogb2JqczsKCiAgICAgICAgICAgIC8vIElmIHRoZSBwcm9taXNlIGlzbid0IHJlc29sdmVkIHlldCwgYWRkIHRoZSBjb250aW51ZUNhbGxiYWNrCiAgICAgICAgICAgIC8vIHRvIHRoZSBwcm9taXNlIGFuZCBiYWlsIG91dC4KICAgICAgICAgICAgaWYgKCFvYmpzUG9vbC5pc1Jlc29sdmVkKGRlcE9iaklkKSkgewogICAgICAgICAgICAgIG9ianNQb29sLmdldChkZXBPYmpJZCwgY29udGludWVDYWxsYmFjayk7CiAgICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGkrKzsKCiAgICAgICAgLy8gSWYgdGhlIGVudGlyZSBvcGVyYXRvckxpc3Qgd2FzIGV4ZWN1dGVkLCBzdG9wIGFzIHdlcmUgZG9uZS4KICAgICAgICBpZiAoaSA9PT0gYXJnc0FycmF5TGVuKSB7CiAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBleGVjdXRpb24gdG9vayBsb25nZXIgdGhlbiBhIGNlcnRhaW4gYW1vdW50IG9mIHRpbWUgYW5kCiAgICAgICAgLy8gYGNvbnRpbnVlQ2FsbGJhY2tgIGlzIHNwZWNpZmllZCwgaW50ZXJydXB0IHRoZSBleGVjdXRpb24uCiAgICAgICAgaWYgKGNodW5rT3BlcmF0aW9ucyAmJiArK3N0ZXBzID4gRVhFQ1VUSU9OX1NURVBTKSB7CiAgICAgICAgICBpZiAoRGF0ZS5ub3coKSA+IGVuZFRpbWUpIHsKICAgICAgICAgICAgY29udGludWVDYWxsYmFjaygpOwogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgIH0KICAgICAgICAgIHN0ZXBzID0gMDsKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBvcGVyYXRvckxpc3QgaXNuJ3QgZXhlY3V0ZWQgY29tcGxldGVseSB5ZXQgT1IgdGhlIGV4ZWN1dGlvbgogICAgICAgIC8vIHRpbWUgd2FzIHNob3J0IGVub3VnaCwgZG8gYW5vdGhlciBleGVjdXRpb24gcm91bmQuCiAgICAgIH0KICAgIH0sCgogICAgZW5kRHJhd2luZzogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kRHJhd2luZygpIHsKICAgICAgdGhpcy5jdHgucmVzdG9yZSgpOwogICAgICBDYWNoZWRDYW52YXNlcy5jbGVhcigpOwogICAgICBXZWJHTFV0aWxzLmNsZWFyKCk7CgogICAgICBpZiAodGhpcy5pbWFnZUxheWVyKSB7CiAgICAgICAgdGhpcy5pbWFnZUxheWVyLmVuZExheW91dCgpOwogICAgICB9CiAgICB9LAoKICAgIC8vIEdyYXBoaWNzIHN0YXRlCiAgICBzZXRMaW5lV2lkdGg6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExpbmVXaWR0aCh3aWR0aCkgewogICAgICB0aGlzLmN1cnJlbnQubGluZVdpZHRoID0gd2lkdGg7CiAgICAgIHRoaXMuY3R4LmxpbmVXaWR0aCA9IHdpZHRoOwogICAgfSwKICAgIHNldExpbmVDYXA6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExpbmVDYXAoc3R5bGUpIHsKICAgICAgdGhpcy5jdHgubGluZUNhcCA9IExJTkVfQ0FQX1NUWUxFU1tzdHlsZV07CiAgICB9LAogICAgc2V0TGluZUpvaW46IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExpbmVKb2luKHN0eWxlKSB7CiAgICAgIHRoaXMuY3R4LmxpbmVKb2luID0gTElORV9KT0lOX1NUWUxFU1tzdHlsZV07CiAgICB9LAogICAgc2V0TWl0ZXJMaW1pdDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0TWl0ZXJMaW1pdChsaW1pdCkgewogICAgICB0aGlzLmN0eC5taXRlckxpbWl0ID0gbGltaXQ7CiAgICB9LAogICAgc2V0RGFzaDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0RGFzaChkYXNoQXJyYXksIGRhc2hQaGFzZSkgewogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIGlmIChjdHguc2V0TGluZURhc2ggIT09IHVuZGVmaW5lZCkgewogICAgICAgIGN0eC5zZXRMaW5lRGFzaChkYXNoQXJyYXkpOwogICAgICAgIGN0eC5saW5lRGFzaE9mZnNldCA9IGRhc2hQaGFzZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjdHgubW96RGFzaCA9IGRhc2hBcnJheTsKICAgICAgICBjdHgubW96RGFzaE9mZnNldCA9IGRhc2hQaGFzZTsKICAgICAgfQogICAgfSwKICAgIHNldFJlbmRlcmluZ0ludGVudDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0UmVuZGVyaW5nSW50ZW50KGludGVudCkgewogICAgICAvLyBNYXliZSBpZiB3ZSBvbmUgZGF5IGZ1bGx5IHN1cHBvcnQgY29sb3Igc3BhY2VzIHRoaXMgd2lsbCBiZSBpbXBvcnRhbnQKICAgICAgLy8gZm9yIG5vdyB3ZSBjYW4gaWdub3JlLgogICAgICAvLyBUT0RPIHNldCByZW5kZXJpbmcgaW50ZW50PwogICAgfSwKICAgIHNldEZsYXRuZXNzOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRGbGF0bmVzcyhmbGF0bmVzcykgewogICAgICAvLyBUaGVyZSdzIG5vIHdheSB0byBjb250cm9sIHRoaXMgd2l0aCBjYW52YXMsIGJ1dCB3ZSBjYW4gc2FmZWx5IGlnbm9yZS4KICAgICAgLy8gVE9ETyBzZXQgZmxhdG5lc3M/CiAgICB9LAogICAgc2V0R1N0YXRlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRHU3RhdGUoc3RhdGVzKSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHN0YXRlcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgdmFyIHN0YXRlID0gc3RhdGVzW2ldOwogICAgICAgIHZhciBrZXkgPSBzdGF0ZVswXTsKICAgICAgICB2YXIgdmFsdWUgPSBzdGF0ZVsxXTsKCiAgICAgICAgc3dpdGNoIChrZXkpIHsKICAgICAgICAgIGNhc2UgJ0xXJzoKICAgICAgICAgICAgdGhpcy5zZXRMaW5lV2lkdGgodmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0xDJzoKICAgICAgICAgICAgdGhpcy5zZXRMaW5lQ2FwKHZhbHVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdMSic6CiAgICAgICAgICAgIHRoaXMuc2V0TGluZUpvaW4odmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ01MJzoKICAgICAgICAgICAgdGhpcy5zZXRNaXRlckxpbWl0KHZhbHVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdEJzoKICAgICAgICAgICAgdGhpcy5zZXREYXNoKHZhbHVlWzBdLCB2YWx1ZVsxXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnUkknOgogICAgICAgICAgICB0aGlzLnNldFJlbmRlcmluZ0ludGVudCh2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRkwnOgogICAgICAgICAgICB0aGlzLnNldEZsYXRuZXNzKHZhbHVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdGb250JzoKICAgICAgICAgICAgdGhpcy5zZXRGb250KHZhbHVlWzBdLCB2YWx1ZVsxXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnQ0EnOgogICAgICAgICAgICB0aGlzLmN1cnJlbnQuc3Ryb2tlQWxwaGEgPSBzdGF0ZVsxXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdjYSc6CiAgICAgICAgICAgIHRoaXMuY3VycmVudC5maWxsQWxwaGEgPSBzdGF0ZVsxXTsKICAgICAgICAgICAgdGhpcy5jdHguZ2xvYmFsQWxwaGEgPSBzdGF0ZVsxXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdCTSc6CiAgICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5uYW1lICYmICh2YWx1ZS5uYW1lICE9PSAnTm9ybWFsJykpIHsKICAgICAgICAgICAgICB2YXIgbW9kZSA9IHZhbHVlLm5hbWUucmVwbGFjZSgvKFtBLVpdKS9nLAogICAgICAgICAgICAgICAgZnVuY3Rpb24oYykgewogICAgICAgICAgICAgICAgICByZXR1cm4gJy0nICsgYy50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICkuc3Vic3RyaW5nKDEpOwogICAgICAgICAgICAgIHRoaXMuY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IG1vZGU7CiAgICAgICAgICAgICAgaWYgKHRoaXMuY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiAhPT0gbW9kZSkgewogICAgICAgICAgICAgICAgd2FybignZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uICInICsgbW9kZSArCiAgICAgICAgICAgICAgICAgICAgICciIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdGhpcy5jdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ1NNYXNrJzoKICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudC5hY3RpdmVTTWFzaykgewogICAgICAgICAgICAgIHRoaXMuZW5kU01hc2tHcm91cCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuY3VycmVudC5hY3RpdmVTTWFzayA9IHZhbHVlID8gdGhpcy50ZW1wU01hc2sgOiBudWxsOwogICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50LmFjdGl2ZVNNYXNrKSB7CiAgICAgICAgICAgICAgdGhpcy5iZWdpblNNYXNrR3JvdXAoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLnRlbXBTTWFzayA9IG51bGw7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGJlZ2luU01hc2tHcm91cDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfYmVnaW5TTWFza0dyb3VwKCkgewoKICAgICAgdmFyIGFjdGl2ZVNNYXNrID0gdGhpcy5jdXJyZW50LmFjdGl2ZVNNYXNrOwogICAgICB2YXIgZHJhd25XaWR0aCA9IGFjdGl2ZVNNYXNrLmNhbnZhcy53aWR0aDsKICAgICAgdmFyIGRyYXduSGVpZ2h0ID0gYWN0aXZlU01hc2suY2FudmFzLmhlaWdodDsKICAgICAgdmFyIGNhY2hlSWQgPSAnc21hc2tHcm91cEF0JyArIHRoaXMuZ3JvdXBMZXZlbDsKICAgICAgdmFyIHNjcmF0Y2hDYW52YXMgPSBDYWNoZWRDYW52YXNlcy5nZXRDYW52YXMoCiAgICAgICAgY2FjaGVJZCwgZHJhd25XaWR0aCwgZHJhd25IZWlnaHQsIHRydWUpOwoKICAgICAgdmFyIGN1cnJlbnRDdHggPSB0aGlzLmN0eDsKICAgICAgdmFyIGN1cnJlbnRUcmFuc2Zvcm0gPSBjdXJyZW50Q3R4Lm1vekN1cnJlbnRUcmFuc2Zvcm07CiAgICAgIHRoaXMuY3R4LnNhdmUoKTsKCiAgICAgIHZhciBncm91cEN0eCA9IHNjcmF0Y2hDYW52YXMuY29udGV4dDsKICAgICAgZ3JvdXBDdHguc2NhbGUoMSAvIGFjdGl2ZVNNYXNrLnNjYWxlWCwgMSAvIGFjdGl2ZVNNYXNrLnNjYWxlWSk7CiAgICAgIGdyb3VwQ3R4LnRyYW5zbGF0ZSgtYWN0aXZlU01hc2sub2Zmc2V0WCwgLWFjdGl2ZVNNYXNrLm9mZnNldFkpOwogICAgICBncm91cEN0eC50cmFuc2Zvcm0uYXBwbHkoZ3JvdXBDdHgsIGN1cnJlbnRUcmFuc2Zvcm0pOwoKICAgICAgY29weUN0eFN0YXRlKGN1cnJlbnRDdHgsIGdyb3VwQ3R4KTsKICAgICAgdGhpcy5jdHggPSBncm91cEN0eDsKICAgICAgdGhpcy5zZXRHU3RhdGUoWwogICAgICAgIFsnQk0nLCAnTm9ybWFsJ10sCiAgICAgICAgWydjYScsIDFdLAogICAgICAgIFsnQ0EnLCAxXQogICAgICBdKTsKICAgICAgdGhpcy5ncm91cFN0YWNrLnB1c2goY3VycmVudEN0eCk7CiAgICAgIHRoaXMuZ3JvdXBMZXZlbCsrOwogICAgfSwKICAgIGVuZFNNYXNrR3JvdXA6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2VuZFNNYXNrR3JvdXAoKSB7CiAgICAgIHZhciBncm91cEN0eCA9IHRoaXMuY3R4OwogICAgICB0aGlzLmdyb3VwTGV2ZWwtLTsKICAgICAgdGhpcy5jdHggPSB0aGlzLmdyb3VwU3RhY2sucG9wKCk7CgogICAgICBjb21wb3NlU01hc2sodGhpcy5jdHgsIHRoaXMuY3VycmVudC5hY3RpdmVTTWFzaywgZ3JvdXBDdHgpOwogICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7CiAgICB9LAogICAgc2F2ZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2F2ZSgpIHsKICAgICAgdGhpcy5jdHguc2F2ZSgpOwogICAgICB2YXIgb2xkID0gdGhpcy5jdXJyZW50OwogICAgICB0aGlzLnN0YXRlU3RhY2sucHVzaChvbGQpOwogICAgICB0aGlzLmN1cnJlbnQgPSBvbGQuY2xvbmUoKTsKICAgICAgdGhpcy5jdXJyZW50LmFjdGl2ZVNNYXNrID0gbnVsbDsKICAgIH0sCiAgICByZXN0b3JlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19yZXN0b3JlKCkgewogICAgICBpZiAodGhpcy5zdGF0ZVN0YWNrLmxlbmd0aCAhPT0gMCkgewogICAgICAgIGlmICh0aGlzLmN1cnJlbnQuYWN0aXZlU01hc2sgIT09IG51bGwpIHsKICAgICAgICAgIHRoaXMuZW5kU01hc2tHcm91cCgpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jdXJyZW50ID0gdGhpcy5zdGF0ZVN0YWNrLnBvcCgpOwogICAgICAgIHRoaXMuY3R4LnJlc3RvcmUoKTsKCiAgICAgICAgdGhpcy5jYWNoZWRHZXRTaW5nbGVQaXhlbFdpZHRoID0gbnVsbDsKICAgICAgfQogICAgfSwKICAgIHRyYW5zZm9ybTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfdHJhbnNmb3JtKGEsIGIsIGMsIGQsIGUsIGYpIHsKICAgICAgdGhpcy5jdHgudHJhbnNmb3JtKGEsIGIsIGMsIGQsIGUsIGYpOwoKICAgICAgdGhpcy5jYWNoZWRHZXRTaW5nbGVQaXhlbFdpZHRoID0gbnVsbDsKICAgIH0sCgogICAgLy8gUGF0aAogICAgY29uc3RydWN0UGF0aDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfY29uc3RydWN0UGF0aChvcHMsIGFyZ3MpIHsKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIHggPSBjdXJyZW50LngsIHkgPSBjdXJyZW50Lnk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBqID0gMCwgaWkgPSBvcHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIHN3aXRjaCAob3BzW2ldIHwgMCkgewogICAgICAgICAgY2FzZSBPUFMucmVjdGFuZ2xlOgogICAgICAgICAgICB4ID0gYXJnc1tqKytdOwogICAgICAgICAgICB5ID0gYXJnc1tqKytdOwogICAgICAgICAgICB2YXIgd2lkdGggPSBhcmdzW2orK107CiAgICAgICAgICAgIHZhciBoZWlnaHQgPSBhcmdzW2orK107CiAgICAgICAgICAgIGlmICh3aWR0aCA9PT0gMCkgewogICAgICAgICAgICAgIHdpZHRoID0gdGhpcy5nZXRTaW5nbGVQaXhlbFdpZHRoKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGhlaWdodCA9PT0gMCkgewogICAgICAgICAgICAgIGhlaWdodCA9IHRoaXMuZ2V0U2luZ2xlUGl4ZWxXaWR0aCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB4dyA9IHggKyB3aWR0aDsKICAgICAgICAgICAgdmFyIHloID0geSArIGhlaWdodDsKICAgICAgICAgICAgdGhpcy5jdHgubW92ZVRvKHgsIHkpOwogICAgICAgICAgICB0aGlzLmN0eC5saW5lVG8oeHcsIHkpOwogICAgICAgICAgICB0aGlzLmN0eC5saW5lVG8oeHcsIHloKTsKICAgICAgICAgICAgdGhpcy5jdHgubGluZVRvKHgsIHloKTsKICAgICAgICAgICAgdGhpcy5jdHgubGluZVRvKHgsIHkpOwogICAgICAgICAgICB0aGlzLmN0eC5jbG9zZVBhdGgoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5tb3ZlVG86CiAgICAgICAgICAgIHggPSBhcmdzW2orK107CiAgICAgICAgICAgIHkgPSBhcmdzW2orK107CiAgICAgICAgICAgIGN0eC5tb3ZlVG8oeCwgeSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMubGluZVRvOgogICAgICAgICAgICB4ID0gYXJnc1tqKytdOwogICAgICAgICAgICB5ID0gYXJnc1tqKytdOwogICAgICAgICAgICBjdHgubGluZVRvKHgsIHkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG86CiAgICAgICAgICAgIHggPSBhcmdzW2ogKyA0XTsKICAgICAgICAgICAgeSA9IGFyZ3NbaiArIDVdOwogICAgICAgICAgICBjdHguYmV6aWVyQ3VydmVUbyhhcmdzW2pdLCBhcmdzW2ogKyAxXSwgYXJnc1tqICsgMl0sIGFyZ3NbaiArIDNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LCB5KTsKICAgICAgICAgICAgaiArPSA2OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG8yOgogICAgICAgICAgICBjdHguYmV6aWVyQ3VydmVUbyh4LCB5LCBhcmdzW2pdLCBhcmdzW2ogKyAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1tqICsgMl0sIGFyZ3NbaiArIDNdKTsKICAgICAgICAgICAgeCA9IGFyZ3NbaiArIDJdOwogICAgICAgICAgICB5ID0gYXJnc1tqICsgM107CiAgICAgICAgICAgIGogKz0gNDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5jdXJ2ZVRvMzoKICAgICAgICAgICAgeCA9IGFyZ3NbaiArIDJdOwogICAgICAgICAgICB5ID0gYXJnc1tqICsgM107CiAgICAgICAgICAgIGN0eC5iZXppZXJDdXJ2ZVRvKGFyZ3Nbal0sIGFyZ3NbaiArIDFdLCB4LCB5LCB4LCB5KTsKICAgICAgICAgICAgaiArPSA0OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmNsb3NlUGF0aDoKICAgICAgICAgICAgY3R4LmNsb3NlUGF0aCgpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgICAgY3VycmVudC5zZXRDdXJyZW50UG9pbnQoeCwgeSk7CiAgICB9LAogICAgY2xvc2VQYXRoOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19jbG9zZVBhdGgoKSB7CiAgICAgIHRoaXMuY3R4LmNsb3NlUGF0aCgpOwogICAgfSwKICAgIHN0cm9rZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc3Ryb2tlKGNvbnN1bWVQYXRoKSB7CiAgICAgIGNvbnN1bWVQYXRoID0gdHlwZW9mIGNvbnN1bWVQYXRoICE9PSAndW5kZWZpbmVkJyA/IGNvbnN1bWVQYXRoIDogdHJ1ZTsKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwogICAgICB2YXIgc3Ryb2tlQ29sb3IgPSB0aGlzLmN1cnJlbnQuc3Ryb2tlQ29sb3I7CiAgICAgIC8vIFByZXZlbnQgZHJhd2luZyB0b28gdGhpbiBsaW5lcyBieSBlbmZvcmNpbmcgYSBtaW5pbXVtIGxpbmUgd2lkdGguCiAgICAgIGN0eC5saW5lV2lkdGggPSBNYXRoLm1heCh0aGlzLmdldFNpbmdsZVBpeGVsV2lkdGgoKSAqIE1JTl9XSURUSF9GQUNUT1IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnQubGluZVdpZHRoKTsKICAgICAgLy8gRm9yIHN0cm9rZSB3ZSB3YW50IHRvIHRlbXBvcmFyaWx5IGNoYW5nZSB0aGUgZ2xvYmFsIGFscGhhIHRvIHRoZQogICAgICAvLyBzdHJva2luZyBhbHBoYS4KICAgICAgY3R4Lmdsb2JhbEFscGhhID0gdGhpcy5jdXJyZW50LnN0cm9rZUFscGhhOwogICAgICBpZiAoc3Ryb2tlQ29sb3IgJiYgc3Ryb2tlQ29sb3IuaGFzT3duUHJvcGVydHkoJ3R5cGUnKSAmJgogICAgICAgICAgc3Ryb2tlQ29sb3IudHlwZSA9PT0gJ1BhdHRlcm4nKSB7CiAgICAgICAgLy8gZm9yIHBhdHRlcm5zLCB3ZSB0cmFuc2Zvcm0gdG8gcGF0dGVybiBzcGFjZSwgY2FsY3VsYXRlCiAgICAgICAgLy8gdGhlIHBhdHRlcm4sIGNhbGwgc3Ryb2tlLCBhbmQgcmVzdG9yZSB0byB1c2VyIHNwYWNlCiAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSBzdHJva2VDb2xvci5nZXRQYXR0ZXJuKGN0eCwgdGhpcyk7CiAgICAgICAgY3R4LnN0cm9rZSgpOwogICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY3R4LnN0cm9rZSgpOwogICAgICB9CiAgICAgIGlmIChjb25zdW1lUGF0aCkgewogICAgICAgIHRoaXMuY29uc3VtZVBhdGgoKTsKICAgICAgfQogICAgICAvLyBSZXN0b3JlIHRoZSBnbG9iYWwgYWxwaGEgdG8gdGhlIGZpbGwgYWxwaGEKICAgICAgY3R4Lmdsb2JhbEFscGhhID0gdGhpcy5jdXJyZW50LmZpbGxBbHBoYTsKICAgIH0sCiAgICBjbG9zZVN0cm9rZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfY2xvc2VTdHJva2UoKSB7CiAgICAgIHRoaXMuY2xvc2VQYXRoKCk7CiAgICAgIHRoaXMuc3Ryb2tlKCk7CiAgICB9LAogICAgZmlsbDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZmlsbChjb25zdW1lUGF0aCkgewogICAgICBjb25zdW1lUGF0aCA9IHR5cGVvZiBjb25zdW1lUGF0aCAhPT0gJ3VuZGVmaW5lZCcgPyBjb25zdW1lUGF0aCA6IHRydWU7CiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKICAgICAgdmFyIGZpbGxDb2xvciA9IHRoaXMuY3VycmVudC5maWxsQ29sb3I7CiAgICAgIHZhciBpc1BhdHRlcm5GaWxsID0gdGhpcy5jdXJyZW50LnBhdHRlcm5GaWxsOwogICAgICB2YXIgbmVlZFJlc3RvcmUgPSBmYWxzZTsKCiAgICAgIGlmIChpc1BhdHRlcm5GaWxsKSB7CiAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICBjdHguZmlsbFN0eWxlID0gZmlsbENvbG9yLmdldFBhdHRlcm4oY3R4LCB0aGlzKTsKICAgICAgICBuZWVkUmVzdG9yZSA9IHRydWU7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLnBlbmRpbmdFT0ZpbGwpIHsKICAgICAgICBpZiAoY3R4Lm1vekZpbGxSdWxlICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgIGN0eC5tb3pGaWxsUnVsZSA9ICdldmVub2RkJzsKICAgICAgICAgIGN0eC5maWxsKCk7CiAgICAgICAgICBjdHgubW96RmlsbFJ1bGUgPSAnbm9uemVybyc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGN0eC5maWxsKCdldmVub2RkJyk7CiAgICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICAvLyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiwgYnV0IGJyb3dzZXJzIG1pZ2h0IHRoaW5rIGRpZmZlcmVudGx5CiAgICAgICAgICAgIGN0eC5maWxsKCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHRoaXMucGVuZGluZ0VPRmlsbCA9IGZhbHNlOwogICAgICB9IGVsc2UgewogICAgICAgIGN0eC5maWxsKCk7CiAgICAgIH0KCiAgICAgIGlmIChuZWVkUmVzdG9yZSkgewogICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgIH0KICAgICAgaWYgKGNvbnN1bWVQYXRoKSB7CiAgICAgICAgdGhpcy5jb25zdW1lUGF0aCgpOwogICAgICB9CiAgICB9LAogICAgZW9GaWxsOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19lb0ZpbGwoKSB7CiAgICAgIHRoaXMucGVuZGluZ0VPRmlsbCA9IHRydWU7CiAgICAgIHRoaXMuZmlsbCgpOwogICAgfSwKICAgIGZpbGxTdHJva2U6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2ZpbGxTdHJva2UoKSB7CiAgICAgIHRoaXMuZmlsbChmYWxzZSk7CiAgICAgIHRoaXMuc3Ryb2tlKGZhbHNlKTsKCiAgICAgIHRoaXMuY29uc3VtZVBhdGgoKTsKICAgIH0sCiAgICBlb0ZpbGxTdHJva2U6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2VvRmlsbFN0cm9rZSgpIHsKICAgICAgdGhpcy5wZW5kaW5nRU9GaWxsID0gdHJ1ZTsKICAgICAgdGhpcy5maWxsU3Ryb2tlKCk7CiAgICB9LAogICAgY2xvc2VGaWxsU3Ryb2tlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19jbG9zZUZpbGxTdHJva2UoKSB7CiAgICAgIHRoaXMuY2xvc2VQYXRoKCk7CiAgICAgIHRoaXMuZmlsbFN0cm9rZSgpOwogICAgfSwKICAgIGNsb3NlRU9GaWxsU3Ryb2tlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19jbG9zZUVPRmlsbFN0cm9rZSgpIHsKICAgICAgdGhpcy5wZW5kaW5nRU9GaWxsID0gdHJ1ZTsKICAgICAgdGhpcy5jbG9zZVBhdGgoKTsKICAgICAgdGhpcy5maWxsU3Ryb2tlKCk7CiAgICB9LAogICAgZW5kUGF0aDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kUGF0aCgpIHsKICAgICAgdGhpcy5jb25zdW1lUGF0aCgpOwogICAgfSwKCiAgICAvLyBDbGlwcGluZwogICAgY2xpcDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfY2xpcCgpIHsKICAgICAgdGhpcy5wZW5kaW5nQ2xpcCA9IE5PUk1BTF9DTElQOwogICAgfSwKICAgIGVvQ2xpcDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW9DbGlwKCkgewogICAgICB0aGlzLnBlbmRpbmdDbGlwID0gRU9fQ0xJUDsKICAgIH0sCgogICAgLy8gVGV4dAogICAgYmVnaW5UZXh0OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19iZWdpblRleHQoKSB7CiAgICAgIHRoaXMuY3VycmVudC50ZXh0TWF0cml4ID0gSURFTlRJVFlfTUFUUklYOwogICAgICB0aGlzLmN1cnJlbnQudGV4dE1hdHJpeFNjYWxlID0gMTsKICAgICAgdGhpcy5jdXJyZW50LnggPSB0aGlzLmN1cnJlbnQubGluZVggPSAwOwogICAgICB0aGlzLmN1cnJlbnQueSA9IHRoaXMuY3VycmVudC5saW5lWSA9IDA7CiAgICB9LAogICAgZW5kVGV4dDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kVGV4dCgpIHsKICAgICAgdmFyIHBhdGhzID0gdGhpcy5wZW5kaW5nVGV4dFBhdGhzOwogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIGlmIChwYXRocyA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY3R4LnNhdmUoKTsKICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhdGhzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHBhdGggPSBwYXRoc1tpXTsKICAgICAgICBjdHguc2V0VHJhbnNmb3JtLmFwcGx5KGN0eCwgcGF0aC50cmFuc2Zvcm0pOwogICAgICAgIGN0eC50cmFuc2xhdGUocGF0aC54LCBwYXRoLnkpOwogICAgICAgIHBhdGguYWRkVG9QYXRoKGN0eCwgcGF0aC5mb250U2l6ZSk7CiAgICAgIH0KICAgICAgY3R4LnJlc3RvcmUoKTsKICAgICAgY3R4LmNsaXAoKTsKICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICBkZWxldGUgdGhpcy5wZW5kaW5nVGV4dFBhdGhzOwogICAgfSwKICAgIHNldENoYXJTcGFjaW5nOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRDaGFyU3BhY2luZyhzcGFjaW5nKSB7CiAgICAgIHRoaXMuY3VycmVudC5jaGFyU3BhY2luZyA9IHNwYWNpbmc7CiAgICB9LAogICAgc2V0V29yZFNwYWNpbmc6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldFdvcmRTcGFjaW5nKHNwYWNpbmcpIHsKICAgICAgdGhpcy5jdXJyZW50LndvcmRTcGFjaW5nID0gc3BhY2luZzsKICAgIH0sCiAgICBzZXRIU2NhbGU6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldEhTY2FsZShzY2FsZSkgewogICAgICB0aGlzLmN1cnJlbnQudGV4dEhTY2FsZSA9IHNjYWxlIC8gMTAwOwogICAgfSwKICAgIHNldExlYWRpbmc6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExlYWRpbmcobGVhZGluZykgewogICAgICB0aGlzLmN1cnJlbnQubGVhZGluZyA9IC1sZWFkaW5nOwogICAgfSwKICAgIHNldEZvbnQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldEZvbnQoZm9udFJlZk5hbWUsIHNpemUpIHsKICAgICAgdmFyIGZvbnRPYmogPSB0aGlzLmNvbW1vbk9ianMuZ2V0KGZvbnRSZWZOYW1lKTsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CgogICAgICBpZiAoIWZvbnRPYmopIHsKICAgICAgICBlcnJvcignQ2FuXCd0IGZpbmQgZm9udCBmb3IgJyArIGZvbnRSZWZOYW1lKTsKICAgICAgfQoKICAgICAgY3VycmVudC5mb250TWF0cml4ID0gKGZvbnRPYmouZm9udE1hdHJpeCA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250T2JqLmZvbnRNYXRyaXggOiBGT05UX0lERU5USVRZX01BVFJJWCk7CgogICAgICAvLyBBIHZhbGlkIG1hdHJpeCBuZWVkcyBhbGwgbWFpbiBkaWFnb25hbCBlbGVtZW50cyB0byBiZSBub24temVybwogICAgICAvLyBUaGlzIGFsc28gZW5zdXJlcyB3ZSBieXBhc3MgRkYgYnVnemlsbGEgYnVnICM3MTk4NDQuCiAgICAgIGlmIChjdXJyZW50LmZvbnRNYXRyaXhbMF0gPT09IDAgfHwKICAgICAgICAgIGN1cnJlbnQuZm9udE1hdHJpeFszXSA9PT0gMCkgewogICAgICAgIHdhcm4oJ0ludmFsaWQgZm9udCBtYXRyaXggZm9yIGZvbnQgJyArIGZvbnRSZWZOYW1lKTsKICAgICAgfQoKICAgICAgLy8gVGhlIHNwZWMgZm9yIFRmIChzZXRGb250KSBzYXlzIHRoYXQgJ3NpemUnIHNwZWNpZmllcyB0aGUgZm9udCAnc2NhbGUnLAogICAgICAvLyBhbmQgaW4gc29tZSBkb2NzIHRoaXMgY2FuIGJlIG5lZ2F0aXZlIChpbnZlcnRlZCB4LXkgYXhlcykuCiAgICAgIGlmIChzaXplIDwgMCkgewogICAgICAgIHNpemUgPSAtc2l6ZTsKICAgICAgICBjdXJyZW50LmZvbnREaXJlY3Rpb24gPSAtMTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjdXJyZW50LmZvbnREaXJlY3Rpb24gPSAxOwogICAgICB9CgogICAgICB0aGlzLmN1cnJlbnQuZm9udCA9IGZvbnRPYmo7CiAgICAgIHRoaXMuY3VycmVudC5mb250U2l6ZSA9IHNpemU7CgogICAgICBpZiAoZm9udE9iai5pc1R5cGUzRm9udCkgewogICAgICAgIHJldHVybjsgLy8gd2UgZG9uJ3QgbmVlZCBjdHguZm9udCBmb3IgVHlwZTMgZm9udHMKICAgICAgfQoKICAgICAgdmFyIG5hbWUgPSBmb250T2JqLmxvYWRlZE5hbWUgfHwgJ3NhbnMtc2VyaWYnOwogICAgICB2YXIgYm9sZCA9IGZvbnRPYmouYmxhY2sgPyAoZm9udE9iai5ib2xkID8gJ2JvbGRlcicgOiAnYm9sZCcpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvbnRPYmouYm9sZCA/ICdib2xkJyA6ICdub3JtYWwnKTsKCiAgICAgIHZhciBpdGFsaWMgPSBmb250T2JqLml0YWxpYyA/ICdpdGFsaWMnIDogJ25vcm1hbCc7CiAgICAgIHZhciB0eXBlZmFjZSA9ICciJyArIG5hbWUgKyAnIiwgJyArIGZvbnRPYmouZmFsbGJhY2tOYW1lOwoKICAgICAgLy8gU29tZSBmb250IGJhY2tlbmRzIGNhbm5vdCBoYW5kbGUgZm9udHMgYmVsb3cgY2VydGFpbiBzaXplLgogICAgICAvLyBLZWVwaW5nIHRoZSBmb250IGF0IG1pbmltYWwgc2l6ZSBhbmQgdXNpbmcgdGhlIGZvbnRTaXplU2NhbGUgdG8gY2hhbmdlCiAgICAgIC8vIHRoZSBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBiZWZvcmUgdGhlIGZpbGxUZXh0L3N0cm9rZVRleHQuCiAgICAgIC8vIFNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYyMjcKICAgICAgdmFyIGJyb3dzZXJGb250U2l6ZSA9IHNpemUgPCBNSU5fRk9OVF9TSVpFID8gTUlOX0ZPTlRfU0laRSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplID4gTUFYX0ZPTlRfU0laRSA/IE1BWF9GT05UX1NJWkUgOiBzaXplOwogICAgICB0aGlzLmN1cnJlbnQuZm9udFNpemVTY2FsZSA9IHNpemUgLyBicm93c2VyRm9udFNpemU7CgogICAgICB2YXIgcnVsZSA9IGl0YWxpYyArICcgJyArIGJvbGQgKyAnICcgKyBicm93c2VyRm9udFNpemUgKyAncHggJyArIHR5cGVmYWNlOwogICAgICB0aGlzLmN0eC5mb250ID0gcnVsZTsKICAgIH0sCiAgICBzZXRUZXh0UmVuZGVyaW5nTW9kZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0VGV4dFJlbmRlcmluZ01vZGUobW9kZSkgewogICAgICB0aGlzLmN1cnJlbnQudGV4dFJlbmRlcmluZ01vZGUgPSBtb2RlOwogICAgfSwKICAgIHNldFRleHRSaXNlOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRUZXh0UmlzZShyaXNlKSB7CiAgICAgIHRoaXMuY3VycmVudC50ZXh0UmlzZSA9IHJpc2U7CiAgICB9LAogICAgbW92ZVRleHQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX21vdmVUZXh0KHgsIHkpIHsKICAgICAgdGhpcy5jdXJyZW50LnggPSB0aGlzLmN1cnJlbnQubGluZVggKz0geDsKICAgICAgdGhpcy5jdXJyZW50LnkgPSB0aGlzLmN1cnJlbnQubGluZVkgKz0geTsKICAgIH0sCiAgICBzZXRMZWFkaW5nTW92ZVRleHQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldExlYWRpbmdNb3ZlVGV4dCh4LCB5KSB7CiAgICAgIHRoaXMuc2V0TGVhZGluZygteSk7CiAgICAgIHRoaXMubW92ZVRleHQoeCwgeSk7CiAgICB9LAogICAgc2V0VGV4dE1hdHJpeDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0VGV4dE1hdHJpeChhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHRoaXMuY3VycmVudC50ZXh0TWF0cml4ID0gW2EsIGIsIGMsIGQsIGUsIGZdOwogICAgICB0aGlzLmN1cnJlbnQudGV4dE1hdHJpeFNjYWxlID0gTWF0aC5zcXJ0KGEgKiBhICsgYiAqIGIpOwoKICAgICAgdGhpcy5jdXJyZW50LnggPSB0aGlzLmN1cnJlbnQubGluZVggPSAwOwogICAgICB0aGlzLmN1cnJlbnQueSA9IHRoaXMuY3VycmVudC5saW5lWSA9IDA7CiAgICB9LAogICAgbmV4dExpbmU6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX25leHRMaW5lKCkgewogICAgICB0aGlzLm1vdmVUZXh0KDAsIHRoaXMuY3VycmVudC5sZWFkaW5nKTsKICAgIH0sCgogICAgcGFpbnRDaGFyOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19wYWludENoYXIoY2hhcmFjdGVyLCB4LCB5KSB7CiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHZhciBmb250ID0gY3VycmVudC5mb250OwogICAgICB2YXIgdGV4dFJlbmRlcmluZ01vZGUgPSBjdXJyZW50LnRleHRSZW5kZXJpbmdNb2RlOwogICAgICB2YXIgZm9udFNpemUgPSBjdXJyZW50LmZvbnRTaXplIC8gY3VycmVudC5mb250U2l6ZVNjYWxlOwogICAgICB2YXIgZmlsbFN0cm9rZU1vZGUgPSB0ZXh0UmVuZGVyaW5nTW9kZSAmCiAgICAgICAgVGV4dFJlbmRlcmluZ01vZGUuRklMTF9TVFJPS0VfTUFTSzsKICAgICAgdmFyIGlzQWRkVG9QYXRoU2V0ID0gISEodGV4dFJlbmRlcmluZ01vZGUgJgogICAgICAgIFRleHRSZW5kZXJpbmdNb2RlLkFERF9UT19QQVRIX0ZMQUcpOwoKICAgICAgdmFyIGFkZFRvUGF0aDsKICAgICAgaWYgKGZvbnQuZGlzYWJsZUZvbnRGYWNlIHx8IGlzQWRkVG9QYXRoU2V0KSB7CiAgICAgICAgYWRkVG9QYXRoID0gZm9udC5nZXRQYXRoR2VuZXJhdG9yKHRoaXMuY29tbW9uT2JqcywgY2hhcmFjdGVyKTsKICAgICAgfQoKICAgICAgaWYgKGZvbnQuZGlzYWJsZUZvbnRGYWNlKSB7CiAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICBjdHgudHJhbnNsYXRlKHgsIHkpOwogICAgICAgIGN0eC5iZWdpblBhdGgoKTsKICAgICAgICBhZGRUb1BhdGgoY3R4LCBmb250U2l6ZSk7CiAgICAgICAgaWYgKGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMIHx8CiAgICAgICAgICAgIGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMX1NUUk9LRSkgewogICAgICAgICAgY3R4LmZpbGwoKTsKICAgICAgICB9CiAgICAgICAgaWYgKGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5TVFJPS0UgfHwKICAgICAgICAgICAgZmlsbFN0cm9rZU1vZGUgPT09IFRleHRSZW5kZXJpbmdNb2RlLkZJTExfU1RST0tFKSB7CiAgICAgICAgICBjdHguc3Ryb2tlKCk7CiAgICAgICAgfQogICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMIHx8CiAgICAgICAgICAgIGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMX1NUUk9LRSkgewogICAgICAgICAgY3R4LmZpbGxUZXh0KGNoYXJhY3RlciwgeCwgeSk7CiAgICAgICAgfQogICAgICAgIGlmIChmaWxsU3Ryb2tlTW9kZSA9PT0gVGV4dFJlbmRlcmluZ01vZGUuU1RST0tFIHx8CiAgICAgICAgICAgIGZpbGxTdHJva2VNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5GSUxMX1NUUk9LRSkgewogICAgICAgICAgY3R4LnN0cm9rZVRleHQoY2hhcmFjdGVyLCB4LCB5KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChpc0FkZFRvUGF0aFNldCkgewogICAgICAgIHZhciBwYXRocyA9IHRoaXMucGVuZGluZ1RleHRQYXRocyB8fCAodGhpcy5wZW5kaW5nVGV4dFBhdGhzID0gW10pOwogICAgICAgIHBhdGhzLnB1c2goewogICAgICAgICAgdHJhbnNmb3JtOiBjdHgubW96Q3VycmVudFRyYW5zZm9ybSwKICAgICAgICAgIHg6IHgsCiAgICAgICAgICB5OiB5LAogICAgICAgICAgZm9udFNpemU6IGZvbnRTaXplLAogICAgICAgICAgYWRkVG9QYXRoOiBhZGRUb1BhdGgKICAgICAgICB9KTsKICAgICAgfQogICAgfSwKCiAgICBnZXQgaXNGb250U3VicGl4ZWxBQUVuYWJsZWQoKSB7CiAgICAgIC8vIENoZWNrcyBpZiBhbnRpLWFsaWFzaW5nIGlzIGVuYWJsZWQgd2hlbiBzY2FsZWQgdGV4dCBpcyBwYWludGVkLgogICAgICAvLyBPbiBXaW5kb3dzIEdESSBzY2FsZWQgZm9udHMgbG9va3MgYmFkLgogICAgICB2YXIgY3R4ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgY3R4LnNjYWxlKDEuNSwgMSk7CiAgICAgIGN0eC5maWxsVGV4dCgnSScsIDAsIDEwKTsKICAgICAgdmFyIGRhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwLCAxMCkuZGF0YTsKICAgICAgdmFyIGVuYWJsZWQgPSBmYWxzZTsKICAgICAgZm9yICh2YXIgaSA9IDM7IGkgPCBkYXRhLmxlbmd0aDsgaSArPSA0KSB7CiAgICAgICAgaWYgKGRhdGFbaV0gPiAwICYmIGRhdGFbaV0gPCAyNTUpIHsKICAgICAgICAgIGVuYWJsZWQgPSB0cnVlOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2lzRm9udFN1YnBpeGVsQUFFbmFibGVkJywgZW5hYmxlZCk7CiAgICB9LAoKICAgIHNob3dUZXh0OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zaG93VGV4dChnbHlwaHMpIHsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHZhciBmb250ID0gY3VycmVudC5mb250OwogICAgICBpZiAoZm9udC5pc1R5cGUzRm9udCkgewogICAgICAgIHJldHVybiB0aGlzLnNob3dUeXBlM1RleHQoZ2x5cGhzKTsKICAgICAgfQoKICAgICAgdmFyIGZvbnRTaXplID0gY3VycmVudC5mb250U2l6ZTsKICAgICAgaWYgKGZvbnRTaXplID09PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIHZhciBmb250U2l6ZVNjYWxlID0gY3VycmVudC5mb250U2l6ZVNjYWxlOwogICAgICB2YXIgY2hhclNwYWNpbmcgPSBjdXJyZW50LmNoYXJTcGFjaW5nOwogICAgICB2YXIgd29yZFNwYWNpbmcgPSBjdXJyZW50LndvcmRTcGFjaW5nOwogICAgICB2YXIgZm9udERpcmVjdGlvbiA9IGN1cnJlbnQuZm9udERpcmVjdGlvbjsKICAgICAgdmFyIHRleHRIU2NhbGUgPSBjdXJyZW50LnRleHRIU2NhbGUgKiBmb250RGlyZWN0aW9uOwogICAgICB2YXIgZ2x5cGhzTGVuZ3RoID0gZ2x5cGhzLmxlbmd0aDsKICAgICAgdmFyIHZlcnRpY2FsID0gZm9udC52ZXJ0aWNhbDsKICAgICAgdmFyIGRlZmF1bHRWTWV0cmljcyA9IGZvbnQuZGVmYXVsdFZNZXRyaWNzOwogICAgICB2YXIgd2lkdGhBZHZhbmNlU2NhbGUgPSBmb250U2l6ZSAqIGN1cnJlbnQuZm9udE1hdHJpeFswXTsKCiAgICAgIHZhciBzaW1wbGVGaWxsVGV4dCA9CiAgICAgICAgY3VycmVudC50ZXh0UmVuZGVyaW5nTW9kZSA9PT0gVGV4dFJlbmRlcmluZ01vZGUuRklMTCAmJgogICAgICAgICFmb250LmRpc2FibGVGb250RmFjZTsKCiAgICAgIGN0eC5zYXZlKCk7CiAgICAgIGN0eC50cmFuc2Zvcm0uYXBwbHkoY3R4LCBjdXJyZW50LnRleHRNYXRyaXgpOwogICAgICBjdHgudHJhbnNsYXRlKGN1cnJlbnQueCwgY3VycmVudC55ICsgY3VycmVudC50ZXh0UmlzZSk7CgogICAgICBpZiAoZm9udERpcmVjdGlvbiA+IDApIHsKICAgICAgICBjdHguc2NhbGUodGV4dEhTY2FsZSwgLTEpOwogICAgICB9IGVsc2UgewogICAgICAgIGN0eC5zY2FsZSh0ZXh0SFNjYWxlLCAxKTsKICAgICAgfQoKICAgICAgdmFyIGxpbmVXaWR0aCA9IGN1cnJlbnQubGluZVdpZHRoOwogICAgICB2YXIgc2NhbGUgPSBjdXJyZW50LnRleHRNYXRyaXhTY2FsZTsKICAgICAgaWYgKHNjYWxlID09PSAwIHx8IGxpbmVXaWR0aCA9PT0gMCkgewogICAgICAgIHZhciBmaWxsU3Ryb2tlTW9kZSA9IGN1cnJlbnQudGV4dFJlbmRlcmluZ01vZGUgJgogICAgICAgICAgVGV4dFJlbmRlcmluZ01vZGUuRklMTF9TVFJPS0VfTUFTSzsKICAgICAgICBpZiAoZmlsbFN0cm9rZU1vZGUgPT09IFRleHRSZW5kZXJpbmdNb2RlLlNUUk9LRSB8fAogICAgICAgICAgICBmaWxsU3Ryb2tlTW9kZSA9PT0gVGV4dFJlbmRlcmluZ01vZGUuRklMTF9TVFJPS0UpIHsKICAgICAgICAgIHRoaXMuY2FjaGVkR2V0U2luZ2xlUGl4ZWxXaWR0aCA9IG51bGw7CiAgICAgICAgICBsaW5lV2lkdGggPSB0aGlzLmdldFNpbmdsZVBpeGVsV2lkdGgoKSAqIE1JTl9XSURUSF9GQUNUT1I7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGxpbmVXaWR0aCAvPSBzY2FsZTsKICAgICAgfQoKICAgICAgaWYgKGZvbnRTaXplU2NhbGUgIT09IDEuMCkgewogICAgICAgIGN0eC5zY2FsZShmb250U2l6ZVNjYWxlLCBmb250U2l6ZVNjYWxlKTsKICAgICAgICBsaW5lV2lkdGggLz0gZm9udFNpemVTY2FsZTsKICAgICAgfQoKICAgICAgY3R4LmxpbmVXaWR0aCA9IGxpbmVXaWR0aDsKCiAgICAgIHZhciB4ID0gMCwgaTsKICAgICAgZm9yIChpID0gMDsgaSA8IGdseXBoc0xlbmd0aDsgKytpKSB7CiAgICAgICAgdmFyIGdseXBoID0gZ2x5cGhzW2ldOwogICAgICAgIGlmIChnbHlwaCA9PT0gbnVsbCkgewogICAgICAgICAgLy8gd29yZCBicmVhawogICAgICAgICAgeCArPSBmb250RGlyZWN0aW9uICogd29yZFNwYWNpbmc7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9IGVsc2UgaWYgKGlzTnVtKGdseXBoKSkgewogICAgICAgICAgeCArPSAtZ2x5cGggKiBmb250U2l6ZSAqIDAuMDAxOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICB2YXIgcmVzdG9yZU5lZWRlZCA9IGZhbHNlOwogICAgICAgIHZhciBjaGFyYWN0ZXIgPSBnbHlwaC5mb250Q2hhcjsKICAgICAgICB2YXIgYWNjZW50ID0gZ2x5cGguYWNjZW50OwogICAgICAgIHZhciBzY2FsZWRYLCBzY2FsZWRZLCBzY2FsZWRBY2NlbnRYLCBzY2FsZWRBY2NlbnRZOwogICAgICAgIHZhciB3aWR0aCA9IGdseXBoLndpZHRoOwogICAgICAgIGlmICh2ZXJ0aWNhbCkgewogICAgICAgICAgdmFyIHZtZXRyaWMsIHZ4LCB2eTsKICAgICAgICAgIHZtZXRyaWMgPSBnbHlwaC52bWV0cmljIHx8IGRlZmF1bHRWTWV0cmljczsKICAgICAgICAgIHZ4ID0gZ2x5cGgudm1ldHJpYyA/IHZtZXRyaWNbMV0gOiB3aWR0aCAqIDAuNTsKICAgICAgICAgIHZ4ID0gLXZ4ICogd2lkdGhBZHZhbmNlU2NhbGU7CiAgICAgICAgICB2eSA9IHZtZXRyaWNbMl0gKiB3aWR0aEFkdmFuY2VTY2FsZTsKCiAgICAgICAgICB3aWR0aCA9IHZtZXRyaWMgPyAtdm1ldHJpY1swXSA6IHdpZHRoOwogICAgICAgICAgc2NhbGVkWCA9IHZ4IC8gZm9udFNpemVTY2FsZTsKICAgICAgICAgIHNjYWxlZFkgPSAoeCArIHZ5KSAvIGZvbnRTaXplU2NhbGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHNjYWxlZFggPSB4IC8gZm9udFNpemVTY2FsZTsKICAgICAgICAgIHNjYWxlZFkgPSAwOwogICAgICAgIH0KCiAgICAgICAgaWYgKGZvbnQucmVtZWFzdXJlICYmIHdpZHRoID4gMCAmJiB0aGlzLmlzRm9udFN1YnBpeGVsQUFFbmFibGVkKSB7CiAgICAgICAgICAvLyBzb21lIHN0YW5kYXJkIGZvbnRzIG1heSBub3QgaGF2ZSB0aGUgZXhhY3Qgd2lkdGgsIHRyeWluZyB0bwogICAgICAgICAgLy8gcmVzY2FsZSBwZXIgY2hhcmFjdGVyCiAgICAgICAgICB2YXIgbWVhc3VyZWRXaWR0aCA9IGN0eC5tZWFzdXJlVGV4dChjaGFyYWN0ZXIpLndpZHRoICogMTAwMCAvCiAgICAgICAgICAgIGZvbnRTaXplICogZm9udFNpemVTY2FsZTsKICAgICAgICAgIHZhciBjaGFyYWN0ZXJTY2FsZVggPSB3aWR0aCAvIG1lYXN1cmVkV2lkdGg7CiAgICAgICAgICByZXN0b3JlTmVlZGVkID0gdHJ1ZTsKICAgICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgICBjdHguc2NhbGUoY2hhcmFjdGVyU2NhbGVYLCAxKTsKICAgICAgICAgIHNjYWxlZFggLz0gY2hhcmFjdGVyU2NhbGVYOwogICAgICAgIH0KCiAgICAgICAgaWYgKHNpbXBsZUZpbGxUZXh0ICYmICFhY2NlbnQpIHsKICAgICAgICAgIC8vIGNvbW1vbiBjYXNlCiAgICAgICAgICBjdHguZmlsbFRleHQoY2hhcmFjdGVyLCBzY2FsZWRYLCBzY2FsZWRZKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy5wYWludENoYXIoY2hhcmFjdGVyLCBzY2FsZWRYLCBzY2FsZWRZKTsKICAgICAgICAgIGlmIChhY2NlbnQpIHsKICAgICAgICAgICAgc2NhbGVkQWNjZW50WCA9IHNjYWxlZFggKyBhY2NlbnQub2Zmc2V0LnggLyBmb250U2l6ZVNjYWxlOwogICAgICAgICAgICBzY2FsZWRBY2NlbnRZID0gc2NhbGVkWSAtIGFjY2VudC5vZmZzZXQueSAvIGZvbnRTaXplU2NhbGU7CiAgICAgICAgICAgIHRoaXMucGFpbnRDaGFyKGFjY2VudC5mb250Q2hhciwgc2NhbGVkQWNjZW50WCwgc2NhbGVkQWNjZW50WSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgY2hhcldpZHRoID0gd2lkdGggKiB3aWR0aEFkdmFuY2VTY2FsZSArIGNoYXJTcGFjaW5nICogZm9udERpcmVjdGlvbjsKICAgICAgICB4ICs9IGNoYXJXaWR0aDsKCiAgICAgICAgaWYgKHJlc3RvcmVOZWVkZWQpIHsKICAgICAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICh2ZXJ0aWNhbCkgewogICAgICAgIGN1cnJlbnQueSAtPSB4ICogdGV4dEhTY2FsZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjdXJyZW50LnggKz0geCAqIHRleHRIU2NhbGU7CiAgICAgIH0KICAgICAgY3R4LnJlc3RvcmUoKTsKICAgIH0sCgogICAgc2hvd1R5cGUzVGV4dDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2hvd1R5cGUzVGV4dChnbHlwaHMpIHsKICAgICAgLy8gVHlwZTMgZm9udHMgLSBlYWNoIGdseXBoIGlzIGEgIm1pbmktUERGIgogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICB2YXIgZm9udCA9IGN1cnJlbnQuZm9udDsKICAgICAgdmFyIGZvbnRTaXplID0gY3VycmVudC5mb250U2l6ZTsKICAgICAgdmFyIGZvbnREaXJlY3Rpb24gPSBjdXJyZW50LmZvbnREaXJlY3Rpb247CiAgICAgIHZhciBjaGFyU3BhY2luZyA9IGN1cnJlbnQuY2hhclNwYWNpbmc7CiAgICAgIHZhciB3b3JkU3BhY2luZyA9IGN1cnJlbnQud29yZFNwYWNpbmc7CiAgICAgIHZhciB0ZXh0SFNjYWxlID0gY3VycmVudC50ZXh0SFNjYWxlICogZm9udERpcmVjdGlvbjsKICAgICAgdmFyIGZvbnRNYXRyaXggPSBjdXJyZW50LmZvbnRNYXRyaXggfHwgRk9OVF9JREVOVElUWV9NQVRSSVg7CiAgICAgIHZhciBnbHlwaHNMZW5ndGggPSBnbHlwaHMubGVuZ3RoOwogICAgICB2YXIgaXNUZXh0SW52aXNpYmxlID0KICAgICAgICBjdXJyZW50LnRleHRSZW5kZXJpbmdNb2RlID09PSBUZXh0UmVuZGVyaW5nTW9kZS5JTlZJU0lCTEU7CiAgICAgIHZhciBpLCBnbHlwaCwgd2lkdGg7CgogICAgICBpZiAoaXNUZXh0SW52aXNpYmxlIHx8IGZvbnRTaXplID09PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBjdHguc2F2ZSgpOwogICAgICBjdHgudHJhbnNmb3JtLmFwcGx5KGN0eCwgY3VycmVudC50ZXh0TWF0cml4KTsKICAgICAgY3R4LnRyYW5zbGF0ZShjdXJyZW50LngsIGN1cnJlbnQueSk7CgogICAgICBjdHguc2NhbGUodGV4dEhTY2FsZSwgZm9udERpcmVjdGlvbik7CgogICAgICBmb3IgKGkgPSAwOyBpIDwgZ2x5cGhzTGVuZ3RoOyArK2kpIHsKICAgICAgICBnbHlwaCA9IGdseXBoc1tpXTsKICAgICAgICBpZiAoZ2x5cGggPT09IG51bGwpIHsKICAgICAgICAgIC8vIHdvcmQgYnJlYWsKICAgICAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZSh3b3JkU3BhY2luZywgMCk7CiAgICAgICAgICBjdXJyZW50LnggKz0gd29yZFNwYWNpbmcgKiB0ZXh0SFNjYWxlOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfSBlbHNlIGlmIChpc051bShnbHlwaCkpIHsKICAgICAgICAgIHZhciBzcGFjaW5nTGVuZ3RoID0gLWdseXBoICogMC4wMDEgKiBmb250U2l6ZTsKICAgICAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZShzcGFjaW5nTGVuZ3RoLCAwKTsKICAgICAgICAgIGN1cnJlbnQueCArPSBzcGFjaW5nTGVuZ3RoICogdGV4dEhTY2FsZTsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9wZXJhdG9yTGlzdCA9IGZvbnQuY2hhclByb2NPcGVyYXRvckxpc3RbZ2x5cGgub3BlcmF0b3JMaXN0SWRdOwogICAgICAgIGlmICghb3BlcmF0b3JMaXN0KSB7CiAgICAgICAgICB3YXJuKCdUeXBlMyBjaGFyYWN0ZXIgXCInICsgZ2x5cGgub3BlcmF0b3JMaXN0SWQgKwogICAgICAgICAgICAgICAnXCIgaXMgbm90IGF2YWlsYWJsZScpOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHRoaXMucHJvY2Vzc2luZ1R5cGUzID0gZ2x5cGg7CiAgICAgICAgdGhpcy5zYXZlKCk7CiAgICAgICAgY3R4LnNjYWxlKGZvbnRTaXplLCBmb250U2l6ZSk7CiAgICAgICAgY3R4LnRyYW5zZm9ybS5hcHBseShjdHgsIGZvbnRNYXRyaXgpOwogICAgICAgIHRoaXMuZXhlY3V0ZU9wZXJhdG9yTGlzdChvcGVyYXRvckxpc3QpOwogICAgICAgIHRoaXMucmVzdG9yZSgpOwoKICAgICAgICB2YXIgdHJhbnNmb3JtZWQgPSBVdGlsLmFwcGx5VHJhbnNmb3JtKFtnbHlwaC53aWR0aCwgMF0sIGZvbnRNYXRyaXgpOwogICAgICAgIHdpZHRoID0gdHJhbnNmb3JtZWRbMF0gKiBmb250U2l6ZSArIGNoYXJTcGFjaW5nOwoKICAgICAgICBjdHgudHJhbnNsYXRlKHdpZHRoLCAwKTsKICAgICAgICBjdXJyZW50LnggKz0gd2lkdGggKiB0ZXh0SFNjYWxlOwogICAgICB9CiAgICAgIGN0eC5yZXN0b3JlKCk7CiAgICAgIHRoaXMucHJvY2Vzc2luZ1R5cGUzID0gbnVsbDsKICAgIH0sCgogICAgLy8gVHlwZTMgZm9udHMKICAgIHNldENoYXJXaWR0aDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0Q2hhcldpZHRoKHhXaWR0aCwgeVdpZHRoKSB7CiAgICAgIC8vIFdlIGNhbiBzYWZlbHkgaWdub3JlIHRoaXMgc2luY2UgdGhlIHdpZHRoIHNob3VsZCBiZSB0aGUgc2FtZQogICAgICAvLyBhcyB0aGUgd2lkdGggaW4gdGhlIFdpZHRocyBhcnJheS4KICAgIH0sCiAgICBzZXRDaGFyV2lkdGhBbmRCb3VuZHM6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldENoYXJXaWR0aEFuZEJvdW5kcyh4V2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlXaWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJ5KSB7CiAgICAgIC8vIFRPRE8gQWNjb3JkaW5nIHRvIHRoZSBzcGVjIHdlJ3JlIGFsc28gc3VwcG9zZSB0byBpZ25vcmUgYW55IG9wZXJhdG9ycwogICAgICAvLyB0aGF0IHNldCBjb2xvciBvciBpbmNsdWRlIGltYWdlcyB3aGlsZSBwcm9jZXNzaW5nIHRoaXMgdHlwZTMgZm9udC4KICAgICAgdGhpcy5jdHgucmVjdChsbHgsIGxseSwgdXJ4IC0gbGx4LCB1cnkgLSBsbHkpOwogICAgICB0aGlzLmNsaXAoKTsKICAgICAgdGhpcy5lbmRQYXRoKCk7CiAgICB9LAoKICAgIC8vIENvbG9yCiAgICBnZXRDb2xvck5fUGF0dGVybjogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZ2V0Q29sb3JOX1BhdHRlcm4oSVIpIHsKICAgICAgdmFyIHBhdHRlcm47CiAgICAgIGlmIChJUlswXSA9PT0gJ1RpbGluZ1BhdHRlcm4nKSB7CiAgICAgICAgdmFyIGNvbG9yID0gSVJbMV07CiAgICAgICAgcGF0dGVybiA9IG5ldyBUaWxpbmdQYXR0ZXJuKElSLCBjb2xvciwgdGhpcy5jdHgsIHRoaXMub2JqcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21tb25PYmpzLCB0aGlzLmJhc2VUcmFuc2Zvcm0pOwogICAgICB9IGVsc2UgewogICAgICAgIHBhdHRlcm4gPSBnZXRTaGFkaW5nUGF0dGVybkZyb21JUihJUik7CiAgICAgIH0KICAgICAgcmV0dXJuIHBhdHRlcm47CiAgICB9LAogICAgc2V0U3Ryb2tlQ29sb3JOOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zZXRTdHJva2VDb2xvck4oLyouLi4qLykgewogICAgICB0aGlzLmN1cnJlbnQuc3Ryb2tlQ29sb3IgPSB0aGlzLmdldENvbG9yTl9QYXR0ZXJuKGFyZ3VtZW50cyk7CiAgICB9LAogICAgc2V0RmlsbENvbG9yTjogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3Nfc2V0RmlsbENvbG9yTigvKi4uLiovKSB7CiAgICAgIHRoaXMuY3VycmVudC5maWxsQ29sb3IgPSB0aGlzLmdldENvbG9yTl9QYXR0ZXJuKGFyZ3VtZW50cyk7CiAgICAgIHRoaXMuY3VycmVudC5wYXR0ZXJuRmlsbCA9IHRydWU7CiAgICB9LAogICAgc2V0U3Ryb2tlUkdCQ29sb3I6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldFN0cm9rZVJHQkNvbG9yKHIsIGcsIGIpIHsKICAgICAgdmFyIGNvbG9yID0gVXRpbC5tYWtlQ3NzUmdiKHIsIGcsIGIpOwogICAgICB0aGlzLmN0eC5zdHJva2VTdHlsZSA9IGNvbG9yOwogICAgICB0aGlzLmN1cnJlbnQuc3Ryb2tlQ29sb3IgPSBjb2xvcjsKICAgIH0sCiAgICBzZXRGaWxsUkdCQ29sb3I6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3NldEZpbGxSR0JDb2xvcihyLCBnLCBiKSB7CiAgICAgIHZhciBjb2xvciA9IFV0aWwubWFrZUNzc1JnYihyLCBnLCBiKTsKICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gY29sb3I7CiAgICAgIHRoaXMuY3VycmVudC5maWxsQ29sb3IgPSBjb2xvcjsKICAgICAgdGhpcy5jdXJyZW50LnBhdHRlcm5GaWxsID0gZmFsc2U7CiAgICB9LAoKICAgIHNoYWRpbmdGaWxsOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19zaGFkaW5nRmlsbChwYXR0ZXJuSVIpIHsKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwoKICAgICAgdGhpcy5zYXZlKCk7CiAgICAgIHZhciBwYXR0ZXJuID0gZ2V0U2hhZGluZ1BhdHRlcm5Gcm9tSVIocGF0dGVybklSKTsKICAgICAgY3R4LmZpbGxTdHlsZSA9IHBhdHRlcm4uZ2V0UGF0dGVybihjdHgsIHRoaXMsIHRydWUpOwoKICAgICAgdmFyIGludiA9IGN0eC5tb3pDdXJyZW50VHJhbnNmb3JtSW52ZXJzZTsKICAgICAgaWYgKGludikgewogICAgICAgIHZhciBjYW52YXMgPSBjdHguY2FudmFzOwogICAgICAgIHZhciB3aWR0aCA9IGNhbnZhcy53aWR0aDsKICAgICAgICB2YXIgaGVpZ2h0ID0gY2FudmFzLmhlaWdodDsKCiAgICAgICAgdmFyIGJsID0gVXRpbC5hcHBseVRyYW5zZm9ybShbMCwgMF0sIGludik7CiAgICAgICAgdmFyIGJyID0gVXRpbC5hcHBseVRyYW5zZm9ybShbMCwgaGVpZ2h0XSwgaW52KTsKICAgICAgICB2YXIgdWwgPSBVdGlsLmFwcGx5VHJhbnNmb3JtKFt3aWR0aCwgMF0sIGludik7CiAgICAgICAgdmFyIHVyID0gVXRpbC5hcHBseVRyYW5zZm9ybShbd2lkdGgsIGhlaWdodF0sIGludik7CgogICAgICAgIHZhciB4MCA9IE1hdGgubWluKGJsWzBdLCBiclswXSwgdWxbMF0sIHVyWzBdKTsKICAgICAgICB2YXIgeTAgPSBNYXRoLm1pbihibFsxXSwgYnJbMV0sIHVsWzFdLCB1clsxXSk7CiAgICAgICAgdmFyIHgxID0gTWF0aC5tYXgoYmxbMF0sIGJyWzBdLCB1bFswXSwgdXJbMF0pOwogICAgICAgIHZhciB5MSA9IE1hdGgubWF4KGJsWzFdLCBiclsxXSwgdWxbMV0sIHVyWzFdKTsKCiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoeDAsIHkwLCB4MSAtIHgwLCB5MSAtIHkwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBIQUNLIHRvIGRyYXcgdGhlIGdyYWRpZW50IG9udG8gYW4gaW5maW5pdGUgcmVjdGFuZ2xlLgogICAgICAgIC8vIFBERiBncmFkaWVudHMgYXJlIGRyYXduIGFjcm9zcyB0aGUgZW50aXJlIGltYWdlIHdoaWxlCiAgICAgICAgLy8gQ2FudmFzIG9ubHkgYWxsb3dzIGdyYWRpZW50cyB0byBiZSBkcmF3biBpbiBhIHJlY3RhbmdsZQogICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYnVnIHNob3VsZCBhbGxvdyB1cyB0byByZW1vdmUgdGhpcy4KICAgICAgICAvLyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4ODQKCiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoLTFlMTAsIC0xZTEwLCAyZTEwLCAyZTEwKTsKICAgICAgfQoKICAgICAgdGhpcy5yZXN0b3JlKCk7CiAgICB9LAoKICAgIC8vIEltYWdlcwogICAgYmVnaW5JbmxpbmVJbWFnZTogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfYmVnaW5JbmxpbmVJbWFnZSgpIHsKICAgICAgZXJyb3IoJ1Nob3VsZCBub3QgY2FsbCBiZWdpbklubGluZUltYWdlJyk7CiAgICB9LAogICAgYmVnaW5JbWFnZURhdGE6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luSW1hZ2VEYXRhKCkgewogICAgICBlcnJvcignU2hvdWxkIG5vdCBjYWxsIGJlZ2luSW1hZ2VEYXRhJyk7CiAgICB9LAoKICAgIHBhaW50Rm9ybVhPYmplY3RCZWdpbjogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRGb3JtWE9iamVjdEJlZ2luKG1hdHJpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmJveCkgewogICAgICB0aGlzLnNhdmUoKTsKICAgICAgdGhpcy5iYXNlVHJhbnNmb3JtU3RhY2sucHVzaCh0aGlzLmJhc2VUcmFuc2Zvcm0pOwoKICAgICAgaWYgKGlzQXJyYXkobWF0cml4KSAmJiA2ID09PSBtYXRyaXgubGVuZ3RoKSB7CiAgICAgICAgdGhpcy50cmFuc2Zvcm0uYXBwbHkodGhpcywgbWF0cml4KTsKICAgICAgfQoKICAgICAgdGhpcy5iYXNlVHJhbnNmb3JtID0gdGhpcy5jdHgubW96Q3VycmVudFRyYW5zZm9ybTsKCiAgICAgIGlmIChpc0FycmF5KGJib3gpICYmIDQgPT09IGJib3gubGVuZ3RoKSB7CiAgICAgICAgdmFyIHdpZHRoID0gYmJveFsyXSAtIGJib3hbMF07CiAgICAgICAgdmFyIGhlaWdodCA9IGJib3hbM10gLSBiYm94WzFdOwogICAgICAgIHRoaXMuY3R4LnJlY3QoYmJveFswXSwgYmJveFsxXSwgd2lkdGgsIGhlaWdodCk7CiAgICAgICAgdGhpcy5jbGlwKCk7CiAgICAgICAgdGhpcy5lbmRQYXRoKCk7CiAgICAgIH0KICAgIH0sCgogICAgcGFpbnRGb3JtWE9iamVjdEVuZDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRGb3JtWE9iamVjdEVuZCgpIHsKICAgICAgdGhpcy5yZXN0b3JlKCk7CiAgICAgIHRoaXMuYmFzZVRyYW5zZm9ybSA9IHRoaXMuYmFzZVRyYW5zZm9ybVN0YWNrLnBvcCgpOwogICAgfSwKCiAgICBiZWdpbkdyb3VwOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19iZWdpbkdyb3VwKGdyb3VwKSB7CiAgICAgIHRoaXMuc2F2ZSgpOwogICAgICB2YXIgY3VycmVudEN0eCA9IHRoaXMuY3R4OwogICAgICAvLyBUT0RPIG5vbi1pc29sYXRlZCBncm91cHMgLSBhY2NvcmRpbmcgdG8gUmlrIGF0IGFkb2JlIG5vbi1pc29sYXRlZAogICAgICAvLyBncm91cCByZXN1bHRzIGFyZW4ndCB1c3VhbGx5IHRoYXQgZGlmZmVyZW50IGFuZCB0aGV5IGV2ZW4gaGF2ZSB0b29scwogICAgICAvLyB0aGF0IGlnbm9yZSB0aGlzIHNldHRpbmcuIE5vdGVzIGZyb20gUmlrIG9uIGltcGxtZW50aW5nOgogICAgICAvLyAtIFdoZW4geW91IGVuY291bnRlciBhbiB0cmFuc3BhcmVuY3kgZ3JvdXAsIGNyZWF0ZSBhIG5ldyBjYW52YXMgd2l0aAogICAgICAvLyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgYmJveAogICAgICAvLyAtIGNvcHkgdGhlIGNvbnRlbnQgZnJvbSB0aGUgcHJldmlvdXMgY2FudmFzIHRvIHRoZSBuZXcgY2FudmFzCiAgICAgIC8vIC0gZHJhdyBhcyB1c3VhbAogICAgICAvLyAtIHJlbW92ZSB0aGUgYmFja2Ryb3AgYWxwaGE6CiAgICAgIC8vIGFscGhhTmV3ID0gMSAtICgxIC0gYWxwaGEpLygxIC0gYWxwaGFCYWNrZHJvcCkgd2l0aCAnYWxwaGEnIHRoZSBhbHBoYQogICAgICAvLyB2YWx1ZSBvZiB5b3VyIHRyYW5zcGFyZW5jeSBncm91cCBhbmQgJ2FscGhhQmFja2Ryb3AnIHRoZSBhbHBoYSBvZiB0aGUKICAgICAgLy8gYmFja2Ryb3AKICAgICAgLy8gLSByZW1vdmUgYmFja2dyb3VuZCBjb2xvcjoKICAgICAgLy8gY29sb3JOZXcgPSBjb2xvciAtIGFscGhhTmV3ICpjb2xvckJhY2tkcm9wIC8oMSAtIGFscGhhTmV3KQogICAgICBpZiAoIWdyb3VwLmlzb2xhdGVkKSB7CiAgICAgICAgaW5mbygnVE9ETzogU3VwcG9ydCBub24taXNvbGF0ZWQgZ3JvdXBzLicpOwogICAgICB9CgogICAgICAvLyBUT0RPIGtub2Nrb3V0IC0gc3VwcG9zZWRseSBwb3NzaWJsZSB3aXRoIHRoZSBjbGV2ZXIgdXNlIG9mIGNvbXBvc2l0aW5nCiAgICAgIC8vIG1vZGVzLgogICAgICBpZiAoZ3JvdXAua25vY2tvdXQpIHsKICAgICAgICB3YXJuKCdLbm9ja291dCBncm91cHMgbm90IHN1cHBvcnRlZC4nKTsKICAgICAgfQoKICAgICAgdmFyIGN1cnJlbnRUcmFuc2Zvcm0gPSBjdXJyZW50Q3R4Lm1vekN1cnJlbnRUcmFuc2Zvcm07CiAgICAgIGlmIChncm91cC5tYXRyaXgpIHsKICAgICAgICBjdXJyZW50Q3R4LnRyYW5zZm9ybS5hcHBseShjdXJyZW50Q3R4LCBncm91cC5tYXRyaXgpOwogICAgICB9CiAgICAgIGFzc2VydChncm91cC5iYm94LCAnQm91bmRpbmcgYm94IGlzIHJlcXVpcmVkLicpOwoKICAgICAgLy8gQmFzZWQgb24gdGhlIGN1cnJlbnQgdHJhbnNmb3JtIGZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgYm91bmRpbmcgYm94CiAgICAgIC8vIHdpbGwgYWN0dWFsbHkgYmUuCiAgICAgIHZhciBib3VuZHMgPSBVdGlsLmdldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KAogICAgICAgICAgICAgICAgICAgIGdyb3VwLmJib3gsCiAgICAgICAgICAgICAgICAgICAgY3VycmVudEN0eC5tb3pDdXJyZW50VHJhbnNmb3JtKTsKICAgICAgLy8gQ2xpcCB0aGUgYm91bmRpbmcgYm94IHRvIHRoZSBjdXJyZW50IGNhbnZhcy4KICAgICAgdmFyIGNhbnZhc0JvdW5kcyA9IFswLAogICAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEN0eC5jYW52YXMud2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEN0eC5jYW52YXMuaGVpZ2h0XTsKICAgICAgYm91bmRzID0gVXRpbC5pbnRlcnNlY3QoYm91bmRzLCBjYW52YXNCb3VuZHMpIHx8IFswLCAwLCAwLCAwXTsKICAgICAgLy8gVXNlIGNlaWwgaW4gY2FzZSB3ZSdyZSBiZXR3ZWVuIHNpemVzIHNvIHdlIGRvbid0IGNyZWF0ZSBjYW52YXMgdGhhdCBpcwogICAgICAvLyB0b28gc21hbGwgYW5kIG1ha2UgdGhlIGNhbnZhcyBhdCBsZWFzdCAxeDEgcGl4ZWxzLgogICAgICB2YXIgb2Zmc2V0WCA9IE1hdGguZmxvb3IoYm91bmRzWzBdKTsKICAgICAgdmFyIG9mZnNldFkgPSBNYXRoLmZsb29yKGJvdW5kc1sxXSk7CiAgICAgIHZhciBkcmF3bldpZHRoID0gTWF0aC5tYXgoTWF0aC5jZWlsKGJvdW5kc1syXSkgLSBvZmZzZXRYLCAxKTsKICAgICAgdmFyIGRyYXduSGVpZ2h0ID0gTWF0aC5tYXgoTWF0aC5jZWlsKGJvdW5kc1szXSkgLSBvZmZzZXRZLCAxKTsKICAgICAgdmFyIHNjYWxlWCA9IDEsIHNjYWxlWSA9IDE7CiAgICAgIGlmIChkcmF3bldpZHRoID4gTUFYX0dST1VQX1NJWkUpIHsKICAgICAgICBzY2FsZVggPSBkcmF3bldpZHRoIC8gTUFYX0dST1VQX1NJWkU7CiAgICAgICAgZHJhd25XaWR0aCA9IE1BWF9HUk9VUF9TSVpFOwogICAgICB9CiAgICAgIGlmIChkcmF3bkhlaWdodCA+IE1BWF9HUk9VUF9TSVpFKSB7CiAgICAgICAgc2NhbGVZID0gZHJhd25IZWlnaHQgLyBNQVhfR1JPVVBfU0laRTsKICAgICAgICBkcmF3bkhlaWdodCA9IE1BWF9HUk9VUF9TSVpFOwogICAgICB9CgogICAgICB2YXIgY2FjaGVJZCA9ICdncm91cEF0JyArIHRoaXMuZ3JvdXBMZXZlbDsKICAgICAgaWYgKGdyb3VwLnNtYXNrKSB7CiAgICAgICAgLy8gVXNpbmcgdHdvIGNhY2hlIGVudHJpZXMgaXMgY2FzZSBpZiBtYXNrcyBhcmUgdXNlZCBvbmUgYWZ0ZXIgYW5vdGhlci4KICAgICAgICBjYWNoZUlkICs9ICAnX3NtYXNrXycgKyAoKHRoaXMuc21hc2tDb3VudGVyKyspICUgMik7CiAgICAgIH0KICAgICAgdmFyIHNjcmF0Y2hDYW52YXMgPSBDYWNoZWRDYW52YXNlcy5nZXRDYW52YXMoCiAgICAgICAgY2FjaGVJZCwgZHJhd25XaWR0aCwgZHJhd25IZWlnaHQsIHRydWUpOwogICAgICB2YXIgZ3JvdXBDdHggPSBzY3JhdGNoQ2FudmFzLmNvbnRleHQ7CgogICAgICAvLyBTaW5jZSB3ZSBjcmVhdGVkIGEgbmV3IGNhbnZhcyB0aGF0IGlzIGp1c3QgdGhlIHNpemUgb2YgdGhlIGJvdW5kaW5nIGJveAogICAgICAvLyB3ZSBoYXZlIHRvIHRyYW5zbGF0ZSB0aGUgZ3JvdXAgY3R4LgogICAgICBncm91cEN0eC5zY2FsZSgxIC8gc2NhbGVYLCAxIC8gc2NhbGVZKTsKICAgICAgZ3JvdXBDdHgudHJhbnNsYXRlKC1vZmZzZXRYLCAtb2Zmc2V0WSk7CiAgICAgIGdyb3VwQ3R4LnRyYW5zZm9ybS5hcHBseShncm91cEN0eCwgY3VycmVudFRyYW5zZm9ybSk7CgogICAgICBpZiAoZ3JvdXAuc21hc2spIHsKICAgICAgICAvLyBTYXZpbmcgc3RhdGUgYW5kIGNhY2hlZCBtYXNrIHRvIGJlIHVzZWQgaW4gc2V0R1N0YXRlLgogICAgICAgIHRoaXMuc21hc2tTdGFjay5wdXNoKHsKICAgICAgICAgIGNhbnZhczogc2NyYXRjaENhbnZhcy5jYW52YXMsCiAgICAgICAgICBjb250ZXh0OiBncm91cEN0eCwKICAgICAgICAgIG9mZnNldFg6IG9mZnNldFgsCiAgICAgICAgICBvZmZzZXRZOiBvZmZzZXRZLAogICAgICAgICAgc2NhbGVYOiBzY2FsZVgsCiAgICAgICAgICBzY2FsZVk6IHNjYWxlWSwKICAgICAgICAgIHN1YnR5cGU6IGdyb3VwLnNtYXNrLnN1YnR5cGUsCiAgICAgICAgICBiYWNrZHJvcDogZ3JvdXAuc21hc2suYmFja2Ryb3AKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBTZXR1cCB0aGUgY3VycmVudCBjdHggc28gd2hlbiB0aGUgZ3JvdXAgaXMgcG9wcGVkIHdlIGRyYXcgaXQgYXQgdGhlCiAgICAgICAgLy8gcmlnaHQgbG9jYXRpb24uCiAgICAgICAgY3VycmVudEN0eC5zZXRUcmFuc2Zvcm0oMSwgMCwgMCwgMSwgMCwgMCk7CiAgICAgICAgY3VycmVudEN0eC50cmFuc2xhdGUob2Zmc2V0WCwgb2Zmc2V0WSk7CiAgICAgICAgY3VycmVudEN0eC5zY2FsZShzY2FsZVgsIHNjYWxlWSk7CiAgICAgIH0KICAgICAgLy8gVGhlIHRyYW5zcGFyZW5jeSBncm91cCBpbmhlcml0cyBhbGwgb2ZmIHRoZSBjdXJyZW50IGdyYXBoaWNzIHN0YXRlCiAgICAgIC8vIGV4Y2VwdCB0aGUgYmxlbmQgbW9kZSwgc29mdCBtYXNrLCBhbmQgYWxwaGEgY29uc3RhbnRzLgogICAgICBjb3B5Q3R4U3RhdGUoY3VycmVudEN0eCwgZ3JvdXBDdHgpOwogICAgICB0aGlzLmN0eCA9IGdyb3VwQ3R4OwogICAgICB0aGlzLnNldEdTdGF0ZShbCiAgICAgICAgWydCTScsICdOb3JtYWwnXSwKICAgICAgICBbJ2NhJywgMV0sCiAgICAgICAgWydDQScsIDFdCiAgICAgIF0pOwogICAgICB0aGlzLmdyb3VwU3RhY2sucHVzaChjdXJyZW50Q3R4KTsKICAgICAgdGhpcy5ncm91cExldmVsKys7CiAgICB9LAoKICAgIGVuZEdyb3VwOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19lbmRHcm91cChncm91cCkgewogICAgICB0aGlzLmdyb3VwTGV2ZWwtLTsKICAgICAgdmFyIGdyb3VwQ3R4ID0gdGhpcy5jdHg7CiAgICAgIHRoaXMuY3R4ID0gdGhpcy5ncm91cFN0YWNrLnBvcCgpOwogICAgICAvLyBUdXJuIG9mZiBpbWFnZSBzbW9vdGhpbmcgdG8gYXZvaWQgc3ViIHBpeGVsIGludGVycG9sYXRpb24gd2hpY2ggY2FuCiAgICAgIC8vIGxvb2sga2luZCBvZiBibHVycnkgZm9yIHNvbWUgcGRmcy4KICAgICAgaWYgKHRoaXMuY3R4LmltYWdlU21vb3RoaW5nRW5hYmxlZCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgdGhpcy5jdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jdHgubW96SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7CiAgICAgIH0KICAgICAgaWYgKGdyb3VwLnNtYXNrKSB7CiAgICAgICAgdGhpcy50ZW1wU01hc2sgPSB0aGlzLnNtYXNrU3RhY2sucG9wKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5jdHguZHJhd0ltYWdlKGdyb3VwQ3R4LmNhbnZhcywgMCwgMCk7CiAgICAgIH0KICAgICAgdGhpcy5yZXN0b3JlKCk7CiAgICB9LAoKICAgIGJlZ2luQW5ub3RhdGlvbnM6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luQW5ub3RhdGlvbnMoKSB7CiAgICAgIHRoaXMuc2F2ZSgpOwogICAgICB0aGlzLmN1cnJlbnQgPSBuZXcgQ2FudmFzRXh0cmFTdGF0ZSgpOwogICAgfSwKCiAgICBlbmRBbm5vdGF0aW9uczogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kQW5ub3RhdGlvbnMoKSB7CiAgICAgIHRoaXMucmVzdG9yZSgpOwogICAgfSwKCiAgICBiZWdpbkFubm90YXRpb246IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luQW5ub3RhdGlvbihyZWN0LCB0cmFuc2Zvcm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRyaXgpIHsKICAgICAgdGhpcy5zYXZlKCk7CgogICAgICBpZiAoaXNBcnJheShyZWN0KSAmJiA0ID09PSByZWN0Lmxlbmd0aCkgewogICAgICAgIHZhciB3aWR0aCA9IHJlY3RbMl0gLSByZWN0WzBdOwogICAgICAgIHZhciBoZWlnaHQgPSByZWN0WzNdIC0gcmVjdFsxXTsKICAgICAgICB0aGlzLmN0eC5yZWN0KHJlY3RbMF0sIHJlY3RbMV0sIHdpZHRoLCBoZWlnaHQpOwogICAgICAgIHRoaXMuY2xpcCgpOwogICAgICAgIHRoaXMuZW5kUGF0aCgpOwogICAgICB9CgogICAgICB0aGlzLnRyYW5zZm9ybS5hcHBseSh0aGlzLCB0cmFuc2Zvcm0pOwogICAgICB0aGlzLnRyYW5zZm9ybS5hcHBseSh0aGlzLCBtYXRyaXgpOwogICAgfSwKCiAgICBlbmRBbm5vdGF0aW9uOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19lbmRBbm5vdGF0aW9uKCkgewogICAgICB0aGlzLnJlc3RvcmUoKTsKICAgIH0sCgogICAgcGFpbnRKcGVnWE9iamVjdDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRKcGVnWE9iamVjdChvYmpJZCwgdywgaCkgewogICAgICB2YXIgZG9tSW1hZ2UgPSB0aGlzLm9ianMuZ2V0KG9iaklkKTsKICAgICAgaWYgKCFkb21JbWFnZSkgewogICAgICAgIHdhcm4oJ0RlcGVuZGVudCBpbWFnZSBpc25cJ3QgcmVhZHkgeWV0Jyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLnNhdmUoKTsKCiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKICAgICAgLy8gc2NhbGUgdGhlIGltYWdlIHRvIHRoZSB1bml0IHNxdWFyZQogICAgICBjdHguc2NhbGUoMSAvIHcsIC0xIC8gaCk7CgogICAgICBjdHguZHJhd0ltYWdlKGRvbUltYWdlLCAwLCAwLCBkb21JbWFnZS53aWR0aCwgZG9tSW1hZ2UuaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgIDAsIC1oLCB3LCBoKTsKICAgICAgaWYgKHRoaXMuaW1hZ2VMYXllcikgewogICAgICAgIHZhciBjdXJyZW50VHJhbnNmb3JtID0gY3R4Lm1vekN1cnJlbnRUcmFuc2Zvcm1JbnZlcnNlOwogICAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMuZ2V0Q2FudmFzUG9zaXRpb24oMCwgMCk7CiAgICAgICAgdGhpcy5pbWFnZUxheWVyLmFwcGVuZEltYWdlKHsKICAgICAgICAgIG9iaklkOiBvYmpJZCwKICAgICAgICAgIGxlZnQ6IHBvc2l0aW9uWzBdLAogICAgICAgICAgdG9wOiBwb3NpdGlvblsxXSwKICAgICAgICAgIHdpZHRoOiB3IC8gY3VycmVudFRyYW5zZm9ybVswXSwKICAgICAgICAgIGhlaWdodDogaCAvIGN1cnJlbnRUcmFuc2Zvcm1bM10KICAgICAgICB9KTsKICAgICAgfQogICAgICB0aGlzLnJlc3RvcmUoKTsKICAgIH0sCgogICAgcGFpbnRJbWFnZU1hc2tYT2JqZWN0OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19wYWludEltYWdlTWFza1hPYmplY3QoaW1nKSB7CiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKICAgICAgdmFyIHdpZHRoID0gaW1nLndpZHRoLCBoZWlnaHQgPSBpbWcuaGVpZ2h0OwogICAgICB2YXIgZmlsbENvbG9yID0gdGhpcy5jdXJyZW50LmZpbGxDb2xvcjsKICAgICAgdmFyIGlzUGF0dGVybkZpbGwgPSB0aGlzLmN1cnJlbnQucGF0dGVybkZpbGw7CgogICAgICB2YXIgZ2x5cGggPSB0aGlzLnByb2Nlc3NpbmdUeXBlMzsKCiAgICAgIGlmIChDT01QSUxFX1RZUEUzX0dMWVBIUyAmJiBnbHlwaCAmJiBnbHlwaC5jb21waWxlZCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKHdpZHRoIDw9IE1BWF9TSVpFX1RPX0NPTVBJTEUgJiYgaGVpZ2h0IDw9IE1BWF9TSVpFX1RPX0NPTVBJTEUpIHsKICAgICAgICAgIGdseXBoLmNvbXBpbGVkID0KICAgICAgICAgICAgY29tcGlsZVR5cGUzR2x5cGgoe2RhdGE6IGltZy5kYXRhLCB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0fSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGdseXBoLmNvbXBpbGVkID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChnbHlwaCAmJiBnbHlwaC5jb21waWxlZCkgewogICAgICAgIGdseXBoLmNvbXBpbGVkKGN0eCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgbWFza0NhbnZhcyA9IENhY2hlZENhbnZhc2VzLmdldENhbnZhcygnbWFza0NhbnZhcycsIHdpZHRoLCBoZWlnaHQpOwogICAgICB2YXIgbWFza0N0eCA9IG1hc2tDYW52YXMuY29udGV4dDsKICAgICAgbWFza0N0eC5zYXZlKCk7CgogICAgICBwdXRCaW5hcnlJbWFnZU1hc2sobWFza0N0eCwgaW1nKTsKCiAgICAgIG1hc2tDdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1pbic7CgogICAgICBtYXNrQ3R4LmZpbGxTdHlsZSA9IGlzUGF0dGVybkZpbGwgPwogICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvci5nZXRQYXR0ZXJuKG1hc2tDdHgsIHRoaXMpIDogZmlsbENvbG9yOwogICAgICBtYXNrQ3R4LmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpOwoKICAgICAgbWFza0N0eC5yZXN0b3JlKCk7CgogICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0KG1hc2tDYW52YXMuY2FudmFzKTsKICAgIH0sCgogICAgcGFpbnRJbWFnZU1hc2tYT2JqZWN0UmVwZWF0OgogICAgICBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19wYWludEltYWdlTWFza1hPYmplY3RSZXBlYXQoaW1nRGF0YSwgc2NhbGVYLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVZLCBwb3NpdGlvbnMpIHsKICAgICAgdmFyIHdpZHRoID0gaW1nRGF0YS53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGltZ0RhdGEuaGVpZ2h0OwogICAgICB2YXIgZmlsbENvbG9yID0gdGhpcy5jdXJyZW50LmZpbGxDb2xvcjsKICAgICAgdmFyIGlzUGF0dGVybkZpbGwgPSB0aGlzLmN1cnJlbnQucGF0dGVybkZpbGw7CgogICAgICB2YXIgbWFza0NhbnZhcyA9IENhY2hlZENhbnZhc2VzLmdldENhbnZhcygnbWFza0NhbnZhcycsIHdpZHRoLCBoZWlnaHQpOwogICAgICB2YXIgbWFza0N0eCA9IG1hc2tDYW52YXMuY29udGV4dDsKICAgICAgbWFza0N0eC5zYXZlKCk7CgogICAgICBwdXRCaW5hcnlJbWFnZU1hc2sobWFza0N0eCwgaW1nRGF0YSk7CgogICAgICBtYXNrQ3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nOwoKICAgICAgbWFza0N0eC5maWxsU3R5bGUgPSBpc1BhdHRlcm5GaWxsID8KICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsQ29sb3IuZ2V0UGF0dGVybihtYXNrQ3R4LCB0aGlzKSA6IGZpbGxDb2xvcjsKICAgICAgbWFza0N0eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKCiAgICAgIG1hc2tDdHgucmVzdG9yZSgpOwoKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBwb3NpdGlvbnMubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMikgewogICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgY3R4LnRyYW5zZm9ybShzY2FsZVgsIDAsIDAsIHNjYWxlWSwgcG9zaXRpb25zW2ldLCBwb3NpdGlvbnNbaSArIDFdKTsKICAgICAgICBjdHguc2NhbGUoMSwgLTEpOwogICAgICAgIGN0eC5kcmF3SW1hZ2UobWFza0NhbnZhcy5jYW52YXMsIDAsIDAsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAwLCAtMSwgMSwgMSk7CiAgICAgICAgY3R4LnJlc3RvcmUoKTsKICAgICAgfQogICAgfSwKCiAgICBwYWludEltYWdlTWFza1hPYmplY3RHcm91cDoKICAgICAgZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRJbWFnZU1hc2tYT2JqZWN0R3JvdXAoaW1hZ2VzKSB7CiAgICAgIHZhciBjdHggPSB0aGlzLmN0eDsKCiAgICAgIHZhciBmaWxsQ29sb3IgPSB0aGlzLmN1cnJlbnQuZmlsbENvbG9yOwogICAgICB2YXIgaXNQYXR0ZXJuRmlsbCA9IHRoaXMuY3VycmVudC5wYXR0ZXJuRmlsbDsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gaW1hZ2VzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICB2YXIgaW1hZ2UgPSBpbWFnZXNbaV07CiAgICAgICAgdmFyIHdpZHRoID0gaW1hZ2Uud2lkdGgsIGhlaWdodCA9IGltYWdlLmhlaWdodDsKCiAgICAgICAgdmFyIG1hc2tDYW52YXMgPSBDYWNoZWRDYW52YXNlcy5nZXRDYW52YXMoJ21hc2tDYW52YXMnLCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgICB2YXIgbWFza0N0eCA9IG1hc2tDYW52YXMuY29udGV4dDsKICAgICAgICBtYXNrQ3R4LnNhdmUoKTsKCiAgICAgICAgcHV0QmluYXJ5SW1hZ2VNYXNrKG1hc2tDdHgsIGltYWdlKTsKCiAgICAgICAgbWFza0N0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLWluJzsKCiAgICAgICAgbWFza0N0eC5maWxsU3R5bGUgPSBpc1BhdHRlcm5GaWxsID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvci5nZXRQYXR0ZXJuKG1hc2tDdHgsIHRoaXMpIDogZmlsbENvbG9yOwogICAgICAgIG1hc2tDdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CgogICAgICAgIG1hc2tDdHgucmVzdG9yZSgpOwoKICAgICAgICBjdHguc2F2ZSgpOwogICAgICAgIGN0eC50cmFuc2Zvcm0uYXBwbHkoY3R4LCBpbWFnZS50cmFuc2Zvcm0pOwogICAgICAgIGN0eC5zY2FsZSgxLCAtMSk7CiAgICAgICAgY3R4LmRyYXdJbWFnZShtYXNrQ2FudmFzLmNhbnZhcywgMCwgMCwgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgIDAsIC0xLCAxLCAxKTsKICAgICAgICBjdHgucmVzdG9yZSgpOwogICAgICB9CiAgICB9LAoKICAgIHBhaW50SW1hZ2VYT2JqZWN0OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19wYWludEltYWdlWE9iamVjdChvYmpJZCkgewogICAgICB2YXIgaW1nRGF0YSA9IHRoaXMub2Jqcy5nZXQob2JqSWQpOwogICAgICBpZiAoIWltZ0RhdGEpIHsKICAgICAgICB3YXJuKCdEZXBlbmRlbnQgaW1hZ2UgaXNuXCd0IHJlYWR5IHlldCcpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdGhpcy5wYWludElubGluZUltYWdlWE9iamVjdChpbWdEYXRhKTsKICAgIH0sCgogICAgcGFpbnRJbWFnZVhPYmplY3RSZXBlYXQ6CiAgICAgIGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3BhaW50SW1hZ2VYT2JqZWN0UmVwZWF0KG9iaklkLCBzY2FsZVgsIHNjYWxlWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9ucykgewogICAgICB2YXIgaW1nRGF0YSA9IHRoaXMub2Jqcy5nZXQob2JqSWQpOwogICAgICBpZiAoIWltZ0RhdGEpIHsKICAgICAgICB3YXJuKCdEZXBlbmRlbnQgaW1hZ2UgaXNuXCd0IHJlYWR5IHlldCcpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHdpZHRoID0gaW1nRGF0YS53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGltZ0RhdGEuaGVpZ2h0OwogICAgICB2YXIgbWFwID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHBvc2l0aW9ucy5sZW5ndGg7IGkgPCBpaTsgaSArPSAyKSB7CiAgICAgICAgbWFwLnB1c2goe3RyYW5zZm9ybTogW3NjYWxlWCwgMCwgMCwgc2NhbGVZLCBwb3NpdGlvbnNbaV0sCiAgICAgICAgICAgICAgICAgcG9zaXRpb25zW2kgKyAxXV0sIHg6IDAsIHk6IDAsIHc6IHdpZHRoLCBoOiBoZWlnaHR9KTsKICAgICAgfQogICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXAoaW1nRGF0YSwgbWFwKTsKICAgIH0sCgogICAgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3Q6CiAgICAgIGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX3BhaW50SW5saW5lSW1hZ2VYT2JqZWN0KGltZ0RhdGEpIHsKICAgICAgdmFyIHdpZHRoID0gaW1nRGF0YS53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGltZ0RhdGEuaGVpZ2h0OwogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CgogICAgICB0aGlzLnNhdmUoKTsKICAgICAgLy8gc2NhbGUgdGhlIGltYWdlIHRvIHRoZSB1bml0IHNxdWFyZQogICAgICBjdHguc2NhbGUoMSAvIHdpZHRoLCAtMSAvIGhlaWdodCk7CgogICAgICB2YXIgY3VycmVudFRyYW5zZm9ybSA9IGN0eC5tb3pDdXJyZW50VHJhbnNmb3JtSW52ZXJzZTsKICAgICAgdmFyIGEgPSBjdXJyZW50VHJhbnNmb3JtWzBdLCBiID0gY3VycmVudFRyYW5zZm9ybVsxXTsKICAgICAgdmFyIHdpZHRoU2NhbGUgPSBNYXRoLm1heChNYXRoLnNxcnQoYSAqIGEgKyBiICogYiksIDEpOwogICAgICB2YXIgYyA9IGN1cnJlbnRUcmFuc2Zvcm1bMl0sIGQgPSBjdXJyZW50VHJhbnNmb3JtWzNdOwogICAgICB2YXIgaGVpZ2h0U2NhbGUgPSBNYXRoLm1heChNYXRoLnNxcnQoYyAqIGMgKyBkICogZCksIDEpOwoKICAgICAgdmFyIGltZ1RvUGFpbnQsIHRtcENhbnZhczsKICAgICAgLy8gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCBkb2VzIG5vdCB3b3JrIGluIGpzZG9tIG5vZGUuanMgbW9kdWxlCiAgICAgIGlmIChpbWdEYXRhIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgfHwgIWltZ0RhdGEuZGF0YSkgewogICAgICAgIGltZ1RvUGFpbnQgPSBpbWdEYXRhOwogICAgICB9IGVsc2UgewogICAgICAgIHRtcENhbnZhcyA9IENhY2hlZENhbnZhc2VzLmdldENhbnZhcygnaW5saW5lSW1hZ2UnLCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgICB2YXIgdG1wQ3R4ID0gdG1wQ2FudmFzLmNvbnRleHQ7CiAgICAgICAgcHV0QmluYXJ5SW1hZ2VEYXRhKHRtcEN0eCwgaW1nRGF0YSk7CiAgICAgICAgaW1nVG9QYWludCA9IHRtcENhbnZhcy5jYW52YXM7CiAgICAgIH0KCiAgICAgIHZhciBwYWludFdpZHRoID0gd2lkdGgsIHBhaW50SGVpZ2h0ID0gaGVpZ2h0OwogICAgICB2YXIgdG1wQ2FudmFzSWQgPSAncHJlc2NhbGUxJzsKICAgICAgLy8gVmVydGlhbCBvciBob3Jpem9udGFsIHNjYWxpbmcgc2hhbGwgbm90IGJlIG1vcmUgdGhhbiAyIHRvIG5vdCBsb29zZSB0aGUKICAgICAgLy8gcGl4ZWxzIGR1cmluZyBkcmF3SW1hZ2Ugb3BlcmF0aW9uLCBwYWludGluZyBvbiB0aGUgdGVtcG9yYXJ5IGNhbnZhcyhlcykKICAgICAgLy8gdGhhdCBhcmUgdHdpY2Ugc21hbGxlciBpbiBzaXplCiAgICAgIHdoaWxlICgod2lkdGhTY2FsZSA+IDIgJiYgcGFpbnRXaWR0aCA+IDEpIHx8CiAgICAgICAgICAgICAoaGVpZ2h0U2NhbGUgPiAyICYmIHBhaW50SGVpZ2h0ID4gMSkpIHsKICAgICAgICB2YXIgbmV3V2lkdGggPSBwYWludFdpZHRoLCBuZXdIZWlnaHQgPSBwYWludEhlaWdodDsKICAgICAgICBpZiAod2lkdGhTY2FsZSA+IDIgJiYgcGFpbnRXaWR0aCA+IDEpIHsKICAgICAgICAgIG5ld1dpZHRoID0gTWF0aC5jZWlsKHBhaW50V2lkdGggLyAyKTsKICAgICAgICAgIHdpZHRoU2NhbGUgLz0gcGFpbnRXaWR0aCAvIG5ld1dpZHRoOwogICAgICAgIH0KICAgICAgICBpZiAoaGVpZ2h0U2NhbGUgPiAyICYmIHBhaW50SGVpZ2h0ID4gMSkgewogICAgICAgICAgbmV3SGVpZ2h0ID0gTWF0aC5jZWlsKHBhaW50SGVpZ2h0IC8gMik7CiAgICAgICAgICBoZWlnaHRTY2FsZSAvPSBwYWludEhlaWdodCAvIG5ld0hlaWdodDsKICAgICAgICB9CiAgICAgICAgdG1wQ2FudmFzID0gQ2FjaGVkQ2FudmFzZXMuZ2V0Q2FudmFzKHRtcENhbnZhc0lkLCBuZXdXaWR0aCwgbmV3SGVpZ2h0KTsKICAgICAgICB0bXBDdHggPSB0bXBDYW52YXMuY29udGV4dDsKICAgICAgICB0bXBDdHguY2xlYXJSZWN0KDAsIDAsIG5ld1dpZHRoLCBuZXdIZWlnaHQpOwogICAgICAgIHRtcEN0eC5kcmF3SW1hZ2UoaW1nVG9QYWludCwgMCwgMCwgcGFpbnRXaWR0aCwgcGFpbnRIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBuZXdXaWR0aCwgbmV3SGVpZ2h0KTsKICAgICAgICBpbWdUb1BhaW50ID0gdG1wQ2FudmFzLmNhbnZhczsKICAgICAgICBwYWludFdpZHRoID0gbmV3V2lkdGg7CiAgICAgICAgcGFpbnRIZWlnaHQgPSBuZXdIZWlnaHQ7CiAgICAgICAgdG1wQ2FudmFzSWQgPSB0bXBDYW52YXNJZCA9PT0gJ3ByZXNjYWxlMScgPyAncHJlc2NhbGUyJyA6ICdwcmVzY2FsZTEnOwogICAgICB9CiAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nVG9QYWludCwgMCwgMCwgcGFpbnRXaWR0aCwgcGFpbnRIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgLWhlaWdodCwgd2lkdGgsIGhlaWdodCk7CgogICAgICBpZiAodGhpcy5pbWFnZUxheWVyKSB7CiAgICAgICAgdmFyIHBvc2l0aW9uID0gdGhpcy5nZXRDYW52YXNQb3NpdGlvbigwLCAtaGVpZ2h0KTsKICAgICAgICB0aGlzLmltYWdlTGF5ZXIuYXBwZW5kSW1hZ2UoewogICAgICAgICAgaW1nRGF0YTogaW1nRGF0YSwKICAgICAgICAgIGxlZnQ6IHBvc2l0aW9uWzBdLAogICAgICAgICAgdG9wOiBwb3NpdGlvblsxXSwKICAgICAgICAgIHdpZHRoOiB3aWR0aCAvIGN1cnJlbnRUcmFuc2Zvcm1bMF0sCiAgICAgICAgICBoZWlnaHQ6IGhlaWdodCAvIGN1cnJlbnRUcmFuc2Zvcm1bM10KICAgICAgICB9KTsKICAgICAgfQogICAgICB0aGlzLnJlc3RvcmUoKTsKICAgIH0sCgogICAgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3RHcm91cDoKICAgICAgZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRJbmxpbmVJbWFnZVhPYmplY3RHcm91cChpbWdEYXRhLCBtYXApIHsKICAgICAgdmFyIGN0eCA9IHRoaXMuY3R4OwogICAgICB2YXIgdyA9IGltZ0RhdGEud2lkdGg7CiAgICAgIHZhciBoID0gaW1nRGF0YS5oZWlnaHQ7CgogICAgICB2YXIgdG1wQ2FudmFzID0gQ2FjaGVkQ2FudmFzZXMuZ2V0Q2FudmFzKCdpbmxpbmVJbWFnZScsIHcsIGgpOwogICAgICB2YXIgdG1wQ3R4ID0gdG1wQ2FudmFzLmNvbnRleHQ7CiAgICAgIHB1dEJpbmFyeUltYWdlRGF0YSh0bXBDdHgsIGltZ0RhdGEpOwoKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gbWFwLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICB2YXIgZW50cnkgPSBtYXBbaV07CiAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICBjdHgudHJhbnNmb3JtLmFwcGx5KGN0eCwgZW50cnkudHJhbnNmb3JtKTsKICAgICAgICBjdHguc2NhbGUoMSwgLTEpOwogICAgICAgIGN0eC5kcmF3SW1hZ2UodG1wQ2FudmFzLmNhbnZhcywgZW50cnkueCwgZW50cnkueSwgZW50cnkudywgZW50cnkuaCwKICAgICAgICAgICAgICAgICAgICAgIDAsIC0xLCAxLCAxKTsKICAgICAgICBpZiAodGhpcy5pbWFnZUxheWVyKSB7CiAgICAgICAgICB2YXIgcG9zaXRpb24gPSB0aGlzLmdldENhbnZhc1Bvc2l0aW9uKGVudHJ5LngsIGVudHJ5LnkpOwogICAgICAgICAgdGhpcy5pbWFnZUxheWVyLmFwcGVuZEltYWdlKHsKICAgICAgICAgICAgaW1nRGF0YTogaW1nRGF0YSwKICAgICAgICAgICAgbGVmdDogcG9zaXRpb25bMF0sCiAgICAgICAgICAgIHRvcDogcG9zaXRpb25bMV0sCiAgICAgICAgICAgIHdpZHRoOiB3LAogICAgICAgICAgICBoZWlnaHQ6IGgKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICBjdHgucmVzdG9yZSgpOwogICAgICB9CiAgICB9LAoKICAgIHBhaW50U29saWRDb2xvckltYWdlTWFzazoKICAgICAgZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfcGFpbnRTb2xpZENvbG9ySW1hZ2VNYXNrKCkgewogICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KDAsIDAsIDEsIDEpOwogICAgfSwKCiAgICAvLyBNYXJrZWQgY29udGVudAoKICAgIG1hcmtQb2ludDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfbWFya1BvaW50KHRhZykgewogICAgICAvLyBUT0RPIE1hcmtlZCBjb250ZW50LgogICAgfSwKICAgIG1hcmtQb2ludFByb3BzOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19tYXJrUG9pbnRQcm9wcyh0YWcsIHByb3BlcnRpZXMpIHsKICAgICAgLy8gVE9ETyBNYXJrZWQgY29udGVudC4KICAgIH0sCiAgICBiZWdpbk1hcmtlZENvbnRlbnQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luTWFya2VkQ29udGVudCh0YWcpIHsKICAgICAgLy8gVE9ETyBNYXJrZWQgY29udGVudC4KICAgIH0sCiAgICBiZWdpbk1hcmtlZENvbnRlbnRQcm9wczogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfYmVnaW5NYXJrZWRDb250ZW50UHJvcHMoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcsIHByb3BlcnRpZXMpIHsKICAgICAgLy8gVE9ETyBNYXJrZWQgY29udGVudC4KICAgIH0sCiAgICBlbmRNYXJrZWRDb250ZW50OiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19lbmRNYXJrZWRDb250ZW50KCkgewogICAgICAvLyBUT0RPIE1hcmtlZCBjb250ZW50LgogICAgfSwKCiAgICAvLyBDb21wYXRpYmlsaXR5CgogICAgYmVnaW5Db21wYXQ6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2JlZ2luQ29tcGF0KCkgewogICAgICAvLyBUT0RPIGlnbm9yZSB1bmRlZmluZWQgb3BlcmF0b3JzIChzaG91bGQgd2UgZG8gdGhhdCBhbnl3YXk/KQogICAgfSwKICAgIGVuZENvbXBhdDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZW5kQ29tcGF0KCkgewogICAgICAvLyBUT0RPIHN0b3AgaWdub3JpbmcgdW5kZWZpbmVkIG9wZXJhdG9ycwogICAgfSwKCiAgICAvLyBIZWxwZXIgZnVuY3Rpb25zCgogICAgY29uc3VtZVBhdGg6IGZ1bmN0aW9uIENhbnZhc0dyYXBoaWNzX2NvbnN1bWVQYXRoKCkgewogICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgIGlmICh0aGlzLnBlbmRpbmdDbGlwKSB7CiAgICAgICAgaWYgKHRoaXMucGVuZGluZ0NsaXAgPT09IEVPX0NMSVApIHsKICAgICAgICAgIGlmIChjdHgubW96RmlsbFJ1bGUgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBjdHgubW96RmlsbFJ1bGUgPSAnZXZlbm9kZCc7CiAgICAgICAgICAgIGN0eC5jbGlwKCk7CiAgICAgICAgICAgIGN0eC5tb3pGaWxsUnVsZSA9ICdub256ZXJvJzsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgY3R4LmNsaXAoJ2V2ZW5vZGQnKTsKICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgICAvLyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiwgYnV0IGJyb3dzZXJzIG1pZ2h0IHRoaW5rIGRpZmZlcmVudGx5CiAgICAgICAgICAgICAgY3R4LmNsaXAoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjdHguY2xpcCgpOwogICAgICAgIH0KICAgICAgICB0aGlzLnBlbmRpbmdDbGlwID0gbnVsbDsKICAgICAgfQogICAgICBjdHguYmVnaW5QYXRoKCk7CiAgICB9LAogICAgZ2V0U2luZ2xlUGl4ZWxXaWR0aDogZnVuY3Rpb24gQ2FudmFzR3JhcGhpY3NfZ2V0U2luZ2xlUGl4ZWxXaWR0aChzY2FsZSkgewogICAgICBpZiAodGhpcy5jYWNoZWRHZXRTaW5nbGVQaXhlbFdpZHRoID09PSBudWxsKSB7CiAgICAgICAgdmFyIGludmVyc2UgPSB0aGlzLmN0eC5tb3pDdXJyZW50VHJhbnNmb3JtSW52ZXJzZTsKICAgICAgICAvLyBtYXggb2YgdGhlIGN1cnJlbnQgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgc2NhbGUKICAgICAgICB0aGlzLmNhY2hlZEdldFNpbmdsZVBpeGVsV2lkdGggPSBNYXRoLnNxcnQoTWF0aC5tYXgoCiAgICAgICAgICAoaW52ZXJzZVswXSAqIGludmVyc2VbMF0gKyBpbnZlcnNlWzFdICogaW52ZXJzZVsxXSksCiAgICAgICAgICAoaW52ZXJzZVsyXSAqIGludmVyc2VbMl0gKyBpbnZlcnNlWzNdICogaW52ZXJzZVszXSkpKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5jYWNoZWRHZXRTaW5nbGVQaXhlbFdpZHRoOwogICAgfSwKICAgIGdldENhbnZhc1Bvc2l0aW9uOiBmdW5jdGlvbiBDYW52YXNHcmFwaGljc19nZXRDYW52YXNQb3NpdGlvbih4LCB5KSB7CiAgICAgICAgdmFyIHRyYW5zZm9ybSA9IHRoaXMuY3R4Lm1vekN1cnJlbnRUcmFuc2Zvcm07CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgIHRyYW5zZm9ybVswXSAqIHggKyB0cmFuc2Zvcm1bMl0gKiB5ICsgdHJhbnNmb3JtWzRdLAogICAgICAgICAgdHJhbnNmb3JtWzFdICogeCArIHRyYW5zZm9ybVszXSAqIHkgKyB0cmFuc2Zvcm1bNV0KICAgICAgICBdOwogICAgfQogIH07CgogIGZvciAodmFyIG9wIGluIE9QUykgewogICAgQ2FudmFzR3JhcGhpY3MucHJvdG90eXBlW09QU1tvcF1dID0gQ2FudmFzR3JhcGhpY3MucHJvdG90eXBlW29wXTsKICB9CgogIHJldHVybiBDYW52YXNHcmFwaGljczsKfSkoKTsKCgp2YXIgV2ViR0xVdGlscyA9IChmdW5jdGlvbiBXZWJHTFV0aWxzQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBsb2FkU2hhZGVyKGdsLCBjb2RlLCBzaGFkZXJUeXBlKSB7CiAgICB2YXIgc2hhZGVyID0gZ2wuY3JlYXRlU2hhZGVyKHNoYWRlclR5cGUpOwogICAgZ2wuc2hhZGVyU291cmNlKHNoYWRlciwgY29kZSk7CiAgICBnbC5jb21waWxlU2hhZGVyKHNoYWRlcik7CiAgICB2YXIgY29tcGlsZWQgPSBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5DT01QSUxFX1NUQVRVUyk7CiAgICBpZiAoIWNvbXBpbGVkKSB7CiAgICAgIHZhciBlcnJvck1zZyA9IGdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKTsKICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBkdXJpbmcgc2hhZGVyIGNvbXBpbGF0aW9uOiAnICsgZXJyb3JNc2cpOwogICAgfQogICAgcmV0dXJuIHNoYWRlcjsKICB9CiAgZnVuY3Rpb24gY3JlYXRlVmVydGV4U2hhZGVyKGdsLCBjb2RlKSB7CiAgICByZXR1cm4gbG9hZFNoYWRlcihnbCwgY29kZSwgZ2wuVkVSVEVYX1NIQURFUik7CiAgfQogIGZ1bmN0aW9uIGNyZWF0ZUZyYWdtZW50U2hhZGVyKGdsLCBjb2RlKSB7CiAgICByZXR1cm4gbG9hZFNoYWRlcihnbCwgY29kZSwgZ2wuRlJBR01FTlRfU0hBREVSKTsKICB9CiAgZnVuY3Rpb24gY3JlYXRlUHJvZ3JhbShnbCwgc2hhZGVycykgewogICAgdmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBzaGFkZXJzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHNoYWRlcnNbaV0pOwogICAgfQogICAgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CiAgICB2YXIgbGlua2VkID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyk7CiAgICBpZiAoIWxpbmtlZCkgewogICAgICB2YXIgZXJyb3JNc2cgPSBnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKTsKICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBkdXJpbmcgcHJvZ3JhbSBsaW5raW5nOiAnICsgZXJyb3JNc2cpOwogICAgfQogICAgcmV0dXJuIHByb2dyYW07CiAgfQogIGZ1bmN0aW9uIGNyZWF0ZVRleHR1cmUoZ2wsIGltYWdlLCB0ZXh0dXJlSWQpIHsKICAgIGdsLmFjdGl2ZVRleHR1cmUodGV4dHVyZUlkKTsKICAgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwogICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CgogICAgLy8gU2V0IHRoZSBwYXJhbWV0ZXJzIHNvIHdlIGNhbiByZW5kZXIgYW55IHNpemUgaW1hZ2UuCiAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOwogICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOwogICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOwoKICAgIC8vIFVwbG9hZCB0aGUgaW1hZ2UgaW50byB0aGUgdGV4dHVyZS4KICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpOwogICAgcmV0dXJuIHRleHR1cmU7CiAgfQoKICB2YXIgY3VycmVudEdMLCBjdXJyZW50Q2FudmFzOwogIGZ1bmN0aW9uIGdlbmVyYXRlR0woKSB7CiAgICBpZiAoY3VycmVudEdMKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGN1cnJlbnRDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgIGN1cnJlbnRHTCA9IGN1cnJlbnRDYW52YXMuZ2V0Q29udGV4dCgnd2ViZ2wnLAogICAgICB7IHByZW11bHRpcGxpZWRhbHBoYTogZmFsc2UgfSk7CiAgfQoKICB2YXIgc21hc2tWZXJ0ZXhTaGFkZXJDb2RlID0gJ1wKICBhdHRyaWJ1dGUgdmVjMiBhX3Bvc2l0aW9uOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICBhdHRyaWJ1dGUgdmVjMiBhX3RleENvb3JkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB1bmlmb3JtIHZlYzIgdV9yZXNvbHV0aW9uOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB2b2lkIG1haW4oKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgIHZlYzIgY2xpcFNwYWNlID0gKGFfcG9zaXRpb24gLyB1X3Jlc29sdXRpb24pICogMi4wIC0gMS4wOyAgIFwKICAgIGdsX1Bvc2l0aW9uID0gdmVjNChjbGlwU3BhY2UgKiB2ZWMyKDEsIC0xKSwgMCwgMSk7ICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgIHZfdGV4Q29vcmQgPSBhX3RleENvb3JkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc7CgogIHZhciBzbWFza0ZyYWdtZW50U2hhZGVyQ29kZSA9ICdcCiAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSB2ZWM0IHVfYmFja2Ryb3A7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSBpbnQgdV9zdWJ0eXBlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSBzYW1wbGVyMkQgdV9tYXNrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdmFyeWluZyB2ZWMyIHZfdGV4Q29vcmQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdm9pZCBtYWluKCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB2ZWM0IGltYWdlQ29sb3IgPSB0ZXh0dXJlMkQodV9pbWFnZSwgdl90ZXhDb29yZCk7ICAgICAgICAgICBcCiAgICB2ZWM0IG1hc2tDb2xvciA9IHRleHR1cmUyRCh1X21hc2ssIHZfdGV4Q29vcmQpOyAgICAgICAgICAgICBcCiAgICBpZiAodV9iYWNrZHJvcC5hID4gMC4wKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgIG1hc2tDb2xvci5yZ2IgPSBtYXNrQ29sb3IucmdiICogbWFza0NvbG9yLmEgKyAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICB1X2JhY2tkcm9wLnJnYiAqICgxLjAgLSBtYXNrQ29sb3IuYSk7ICAgICBcCiAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBmbG9hdCBsdW07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBpZiAodV9zdWJ0eXBlID09IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgIGx1bSA9IG1hc2tDb2xvci5hOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgIGx1bSA9IG1hc2tDb2xvci5yICogMC4zICsgbWFza0NvbG9yLmcgKiAwLjU5ICsgICAgICAgICAgICBcCiAgICAgICAgICAgIG1hc2tDb2xvci5iICogMC4xMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBpbWFnZUNvbG9yLmEgKj0gbHVtOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBpbWFnZUNvbG9yLnJnYiAqPSBpbWFnZUNvbG9yLmE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBnbF9GcmFnQ29sb3IgPSBpbWFnZUNvbG9yOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOwoKICB2YXIgc21hc2tDYWNoZSA9IG51bGw7CgogIGZ1bmN0aW9uIGluaXRTbWFza0dMKCkgewogICAgdmFyIGNhbnZhcywgZ2w7CgogICAgZ2VuZXJhdGVHTCgpOwogICAgY2FudmFzID0gY3VycmVudENhbnZhczsKICAgIGN1cnJlbnRDYW52YXMgPSBudWxsOwogICAgZ2wgPSBjdXJyZW50R0w7CiAgICBjdXJyZW50R0wgPSBudWxsOwoKICAgIC8vIHNldHVwIGEgR0xTTCBwcm9ncmFtCiAgICB2YXIgdmVydGV4U2hhZGVyID0gY3JlYXRlVmVydGV4U2hhZGVyKGdsLCBzbWFza1ZlcnRleFNoYWRlckNvZGUpOwogICAgdmFyIGZyYWdtZW50U2hhZGVyID0gY3JlYXRlRnJhZ21lbnRTaGFkZXIoZ2wsIHNtYXNrRnJhZ21lbnRTaGFkZXJDb2RlKTsKICAgIHZhciBwcm9ncmFtID0gY3JlYXRlUHJvZ3JhbShnbCwgW3ZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFkZXJdKTsKICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CgogICAgdmFyIGNhY2hlID0ge307CiAgICBjYWNoZS5nbCA9IGdsOwogICAgY2FjaGUuY2FudmFzID0gY2FudmFzOwogICAgY2FjaGUucmVzb2x1dGlvbkxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X3Jlc29sdXRpb24nKTsKICAgIGNhY2hlLnBvc2l0aW9uTG9jYXRpb24gPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9wb3NpdGlvbicpOwogICAgY2FjaGUuYmFja2Ryb3BMb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9iYWNrZHJvcCcpOwogICAgY2FjaGUuc3VidHlwZUxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X3N1YnR5cGUnKTsKCiAgICB2YXIgdGV4Q29vcmRMb2NhdGlvbiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX3RleENvb3JkJyk7CiAgICB2YXIgdGV4TGF5ZXJMb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9pbWFnZScpOwogICAgdmFyIHRleE1hc2tMb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9tYXNrJyk7CgogICAgLy8gcHJvdmlkZSB0ZXh0dXJlIGNvb3JkaW5hdGVzIGZvciB0aGUgcmVjdGFuZ2xlLgogICAgdmFyIHRleENvb3JkQnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CiAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdGV4Q29vcmRCdWZmZXIpOwogICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWwogICAgICAwLjAsICAwLjAsCiAgICAgIDEuMCwgIDAuMCwKICAgICAgMC4wLCAgMS4wLAogICAgICAwLjAsICAxLjAsCiAgICAgIDEuMCwgIDAuMCwKICAgICAgMS4wLCAgMS4wXSksIGdsLlNUQVRJQ19EUkFXKTsKICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHRleENvb3JkTG9jYXRpb24pOwogICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0ZXhDb29yZExvY2F0aW9uLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwoKICAgIGdsLnVuaWZvcm0xaSh0ZXhMYXllckxvY2F0aW9uLCAwKTsKICAgIGdsLnVuaWZvcm0xaSh0ZXhNYXNrTG9jYXRpb24sIDEpOwoKICAgIHNtYXNrQ2FjaGUgPSBjYWNoZTsKICB9CgogIGZ1bmN0aW9uIGNvbXBvc2VTTWFzayhsYXllciwgbWFzaywgcHJvcGVydGllcykgewogICAgdmFyIHdpZHRoID0gbGF5ZXIud2lkdGgsIGhlaWdodCA9IGxheWVyLmhlaWdodDsKCiAgICBpZiAoIXNtYXNrQ2FjaGUpIHsKICAgICAgaW5pdFNtYXNrR0woKTsKICAgIH0KICAgIHZhciBjYWNoZSA9IHNtYXNrQ2FjaGUsY2FudmFzID0gY2FjaGUuY2FudmFzLCBnbCA9IGNhY2hlLmdsOwogICAgY2FudmFzLndpZHRoID0gd2lkdGg7CiAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OwogICAgZ2wudmlld3BvcnQoMCwgMCwgZ2wuZHJhd2luZ0J1ZmZlcldpZHRoLCBnbC5kcmF3aW5nQnVmZmVySGVpZ2h0KTsKICAgIGdsLnVuaWZvcm0yZihjYWNoZS5yZXNvbHV0aW9uTG9jYXRpb24sIHdpZHRoLCBoZWlnaHQpOwoKICAgIGlmIChwcm9wZXJ0aWVzLmJhY2tkcm9wKSB7CiAgICAgIGdsLnVuaWZvcm00ZihjYWNoZS5yZXNvbHV0aW9uTG9jYXRpb24sIHByb3BlcnRpZXMuYmFja2Ryb3BbMF0sCiAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLmJhY2tkcm9wWzFdLCBwcm9wZXJ0aWVzLmJhY2tkcm9wWzJdLCAxKTsKICAgIH0gZWxzZSB7CiAgICAgIGdsLnVuaWZvcm00ZihjYWNoZS5yZXNvbHV0aW9uTG9jYXRpb24sIDAsIDAsIDAsIDApOwogICAgfQogICAgZ2wudW5pZm9ybTFpKGNhY2hlLnN1YnR5cGVMb2NhdGlvbiwKICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnN1YnR5cGUgPT09ICdMdW1pbm9zaXR5JyA/IDEgOiAwKTsKCiAgICAvLyBDcmVhdGUgYSB0ZXh0dXJlcwogICAgdmFyIHRleHR1cmUgPSBjcmVhdGVUZXh0dXJlKGdsLCBsYXllciwgZ2wuVEVYVFVSRTApOwogICAgdmFyIG1hc2tUZXh0dXJlID0gY3JlYXRlVGV4dHVyZShnbCwgbWFzaywgZ2wuVEVYVFVSRTEpOwoKCiAgICAvLyBDcmVhdGUgYSBidWZmZXIgYW5kIHB1dCBhIHNpbmdsZSBjbGlwc3BhY2UgcmVjdGFuZ2xlIGluCiAgICAvLyBpdCAoMiB0cmlhbmdsZXMpCiAgICB2YXIgYnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CiAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsKICAgICAgMCwgMCwKICAgICAgd2lkdGgsIDAsCiAgICAgIDAsIGhlaWdodCwKICAgICAgMCwgaGVpZ2h0LAogICAgICB3aWR0aCwgMCwKICAgICAgd2lkdGgsIGhlaWdodF0pLCBnbC5TVEFUSUNfRFJBVyk7CiAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShjYWNoZS5wb3NpdGlvbkxvY2F0aW9uKTsKICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoY2FjaGUucG9zaXRpb25Mb2NhdGlvbiwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKCiAgICAvLyBkcmF3CiAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDAsIDApOwogICAgZ2wuZW5hYmxlKGdsLkJMRU5EKTsKICAgIGdsLmJsZW5kRnVuYyhnbC5PTkUsIGdsLk9ORV9NSU5VU19TUkNfQUxQSEEpOwogICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CgogICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOwoKICAgIGdsLmZsdXNoKCk7CgogICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXh0dXJlKTsKICAgIGdsLmRlbGV0ZVRleHR1cmUobWFza1RleHR1cmUpOwogICAgZ2wuZGVsZXRlQnVmZmVyKGJ1ZmZlcik7CgogICAgcmV0dXJuIGNhbnZhczsKICB9CgogIHZhciBmaWd1cmVzVmVydGV4U2hhZGVyQ29kZSA9ICdcCiAgYXR0cmlidXRlIHZlYzIgYV9wb3NpdGlvbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgYXR0cmlidXRlIHZlYzMgYV9jb2xvcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSB2ZWMyIHVfcmVzb2x1dGlvbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSB2ZWMyIHVfc2NhbGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdW5pZm9ybSB2ZWMyIHVfb2Zmc2V0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdmFyeWluZyB2ZWM0IHZfY29sb3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdm9pZCBtYWluKCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB2ZWMyIHBvc2l0aW9uID0gKGFfcG9zaXRpb24gKyB1X29mZnNldCkgKiB1X3NjYWxlOyAgICAgICAgICBcCiAgICB2ZWMyIGNsaXBTcGFjZSA9IChwb3NpdGlvbiAvIHVfcmVzb2x1dGlvbikgKiAyLjAgLSAxLjA7ICAgICBcCiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoY2xpcFNwYWNlICogdmVjMigxLCAtMSksIDAsIDEpOyAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB2X2NvbG9yID0gdmVjNChhX2NvbG9yIC8gMjU1LjAsIDEuMCk7ICAgICAgICAgICAgICAgICAgICAgICBcCiAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOwoKICB2YXIgZmlndXJlc0ZyYWdtZW50U2hhZGVyQ29kZSA9ICdcCiAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdmFyeWluZyB2ZWM0IHZfY29sb3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgdm9pZCBtYWluKCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBnbF9GcmFnQ29sb3IgPSB2X2NvbG9yOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOwoKICB2YXIgZmlndXJlc0NhY2hlID0gbnVsbDsKCiAgZnVuY3Rpb24gaW5pdEZpZ3VyZXNHTCgpIHsKICAgIHZhciBjYW52YXMsIGdsOwoKICAgIGdlbmVyYXRlR0woKTsKICAgIGNhbnZhcyA9IGN1cnJlbnRDYW52YXM7CiAgICBjdXJyZW50Q2FudmFzID0gbnVsbDsKICAgIGdsID0gY3VycmVudEdMOwogICAgY3VycmVudEdMID0gbnVsbDsKCiAgICAvLyBzZXR1cCBhIEdMU0wgcHJvZ3JhbQogICAgdmFyIHZlcnRleFNoYWRlciA9IGNyZWF0ZVZlcnRleFNoYWRlcihnbCwgZmlndXJlc1ZlcnRleFNoYWRlckNvZGUpOwogICAgdmFyIGZyYWdtZW50U2hhZGVyID0gY3JlYXRlRnJhZ21lbnRTaGFkZXIoZ2wsIGZpZ3VyZXNGcmFnbWVudFNoYWRlckNvZGUpOwogICAgdmFyIHByb2dyYW0gPSBjcmVhdGVQcm9ncmFtKGdsLCBbdmVydGV4U2hhZGVyLCBmcmFnbWVudFNoYWRlcl0pOwogICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKCiAgICB2YXIgY2FjaGUgPSB7fTsKICAgIGNhY2hlLmdsID0gZ2w7CiAgICBjYWNoZS5jYW52YXMgPSBjYW52YXM7CiAgICBjYWNoZS5yZXNvbHV0aW9uTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3VfcmVzb2x1dGlvbicpOwogICAgY2FjaGUuc2NhbGVMb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9zY2FsZScpOwogICAgY2FjaGUub2Zmc2V0TG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3Vfb2Zmc2V0Jyk7CiAgICBjYWNoZS5wb3NpdGlvbkxvY2F0aW9uID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgJ2FfcG9zaXRpb24nKTsKICAgIGNhY2hlLmNvbG9yTG9jYXRpb24gPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9jb2xvcicpOwoKICAgIGZpZ3VyZXNDYWNoZSA9IGNhY2hlOwogIH0KCiAgZnVuY3Rpb24gZHJhd0ZpZ3VyZXMod2lkdGgsIGhlaWdodCwgYmFja2dyb3VuZENvbG9yLCBmaWd1cmVzLCBjb250ZXh0KSB7CiAgICBpZiAoIWZpZ3VyZXNDYWNoZSkgewogICAgICBpbml0RmlndXJlc0dMKCk7CiAgICB9CiAgICB2YXIgY2FjaGUgPSBmaWd1cmVzQ2FjaGUsIGNhbnZhcyA9IGNhY2hlLmNhbnZhcywgZ2wgPSBjYWNoZS5nbDsKCiAgICBjYW52YXMud2lkdGggPSB3aWR0aDsKICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CiAgICBnbC52aWV3cG9ydCgwLCAwLCBnbC5kcmF3aW5nQnVmZmVyV2lkdGgsIGdsLmRyYXdpbmdCdWZmZXJIZWlnaHQpOwogICAgZ2wudW5pZm9ybTJmKGNhY2hlLnJlc29sdXRpb25Mb2NhdGlvbiwgd2lkdGgsIGhlaWdodCk7CgogICAgLy8gY291bnQgdHJpYW5nbGUgcG9pbnRzCiAgICB2YXIgY291bnQgPSAwOwogICAgdmFyIGksIGlpLCByb3dzOwogICAgZm9yIChpID0gMCwgaWkgPSBmaWd1cmVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgc3dpdGNoIChmaWd1cmVzW2ldLnR5cGUpIHsKICAgICAgICBjYXNlICdsYXR0aWNlJzoKICAgICAgICAgIHJvd3MgPSAoZmlndXJlc1tpXS5jb29yZHMubGVuZ3RoIC8gZmlndXJlc1tpXS52ZXJ0aWNlc1BlclJvdykgfCAwOwogICAgICAgICAgY291bnQgKz0gKHJvd3MgLSAxKSAqIChmaWd1cmVzW2ldLnZlcnRpY2VzUGVyUm93IC0gMSkgKiA2OwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAndHJpYW5nbGVzJzoKICAgICAgICAgIGNvdW50ICs9IGZpZ3VyZXNbaV0uY29vcmRzLmxlbmd0aDsKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CiAgICAvLyB0cmFuc2ZlciBkYXRhCiAgICB2YXIgY29vcmRzID0gbmV3IEZsb2F0MzJBcnJheShjb3VudCAqIDIpOwogICAgdmFyIGNvbG9ycyA9IG5ldyBVaW50OEFycmF5KGNvdW50ICogMyk7CiAgICB2YXIgY29vcmRzTWFwID0gY29udGV4dC5jb29yZHMsIGNvbG9yc01hcCA9IGNvbnRleHQuY29sb3JzOwogICAgdmFyIHBJbmRleCA9IDAsIGNJbmRleCA9IDA7CiAgICBmb3IgKGkgPSAwLCBpaSA9IGZpZ3VyZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgZmlndXJlID0gZmlndXJlc1tpXSwgcHMgPSBmaWd1cmUuY29vcmRzLCBjcyA9IGZpZ3VyZS5jb2xvcnM7CiAgICAgIHN3aXRjaCAoZmlndXJlLnR5cGUpIHsKICAgICAgICBjYXNlICdsYXR0aWNlJzoKICAgICAgICAgIHZhciBjb2xzID0gZmlndXJlLnZlcnRpY2VzUGVyUm93OwogICAgICAgICAgcm93cyA9IChwcy5sZW5ndGggLyBjb2xzKSB8IDA7CiAgICAgICAgICBmb3IgKHZhciByb3cgPSAxOyByb3cgPCByb3dzOyByb3crKykgewogICAgICAgICAgICB2YXIgb2Zmc2V0ID0gcm93ICogY29scyArIDE7CiAgICAgICAgICAgIGZvciAodmFyIGNvbCA9IDE7IGNvbCA8IGNvbHM7IGNvbCsrLCBvZmZzZXQrKykgewogICAgICAgICAgICAgIGNvb3Jkc1twSW5kZXhdID0gY29vcmRzTWFwW3BzW29mZnNldCAtIGNvbHMgLSAxXV07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDFdID0gY29vcmRzTWFwW3BzW29mZnNldCAtIGNvbHMgLSAxXSArIDFdOwogICAgICAgICAgICAgIGNvb3Jkc1twSW5kZXggKyAyXSA9IGNvb3Jkc01hcFtwc1tvZmZzZXQgLSBjb2xzXV07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDNdID0gY29vcmRzTWFwW3BzW29mZnNldCAtIGNvbHNdICsgMV07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDRdID0gY29vcmRzTWFwW3BzW29mZnNldCAtIDFdXTsKICAgICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgNV0gPSBjb29yZHNNYXBbcHNbb2Zmc2V0IC0gMV0gKyAxXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4XSA9IGNvbG9yc01hcFtjc1tvZmZzZXQgLSBjb2xzIC0gMV1dOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyAxXSA9IGNvbG9yc01hcFtjc1tvZmZzZXQgLSBjb2xzIC0gMV0gKyAxXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgMl0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0IC0gY29scyAtIDFdICsgMl07CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDNdID0gY29sb3JzTWFwW2NzW29mZnNldCAtIGNvbHNdXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgNF0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0IC0gY29sc10gKyAxXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgNV0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0IC0gY29sc10gKyAyXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgNl0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0IC0gMV1dOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyA3XSA9IGNvbG9yc01hcFtjc1tvZmZzZXQgLSAxXSArIDFdOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyA4XSA9IGNvbG9yc01hcFtjc1tvZmZzZXQgLSAxXSArIDJdOwoKICAgICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgNl0gPSBjb29yZHNbcEluZGV4ICsgMl07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDddID0gY29vcmRzW3BJbmRleCArIDNdOwogICAgICAgICAgICAgIGNvb3Jkc1twSW5kZXggKyA4XSA9IGNvb3Jkc1twSW5kZXggKyA0XTsKICAgICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgOV0gPSBjb29yZHNbcEluZGV4ICsgNV07CiAgICAgICAgICAgICAgY29vcmRzW3BJbmRleCArIDEwXSA9IGNvb3Jkc01hcFtwc1tvZmZzZXRdXTsKICAgICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgMTFdID0gY29vcmRzTWFwW3BzW29mZnNldF0gKyAxXTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgOV0gPSBjb2xvcnNbY0luZGV4ICsgM107CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDEwXSA9IGNvbG9yc1tjSW5kZXggKyA0XTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgMTFdID0gY29sb3JzW2NJbmRleCArIDVdOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyAxMl0gPSBjb2xvcnNbY0luZGV4ICsgNl07CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDEzXSA9IGNvbG9yc1tjSW5kZXggKyA3XTsKICAgICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgMTRdID0gY29sb3JzW2NJbmRleCArIDhdOwogICAgICAgICAgICAgIGNvbG9yc1tjSW5kZXggKyAxNV0gPSBjb2xvcnNNYXBbY3Nbb2Zmc2V0XV07CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDE2XSA9IGNvbG9yc01hcFtjc1tvZmZzZXRdICsgMV07CiAgICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDE3XSA9IGNvbG9yc01hcFtjc1tvZmZzZXRdICsgMl07CiAgICAgICAgICAgICAgcEluZGV4ICs9IDEyOwogICAgICAgICAgICAgIGNJbmRleCArPSAxODsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAndHJpYW5nbGVzJzoKICAgICAgICAgIGZvciAodmFyIGogPSAwLCBqaiA9IHBzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgICAgY29vcmRzW3BJbmRleF0gPSBjb29yZHNNYXBbcHNbal1dOwogICAgICAgICAgICBjb29yZHNbcEluZGV4ICsgMV0gPSBjb29yZHNNYXBbcHNbal0gKyAxXTsKICAgICAgICAgICAgY29sb3JzW2NJbmRleF0gPSBjb2xvcnNNYXBbY3NbaV1dOwogICAgICAgICAgICBjb2xvcnNbY0luZGV4ICsgMV0gPSBjb2xvcnNNYXBbY3Nbal0gKyAxXTsKICAgICAgICAgICAgY29sb3JzW2NJbmRleCArIDJdID0gY29sb3JzTWFwW2NzW2pdICsgMl07CiAgICAgICAgICAgIHBJbmRleCArPSAyOwogICAgICAgICAgICBjSW5kZXggKz0gMzsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CgogICAgLy8gZHJhdwogICAgaWYgKGJhY2tncm91bmRDb2xvcikgewogICAgICBnbC5jbGVhckNvbG9yKGJhY2tncm91bmRDb2xvclswXSAvIDI1NSwgYmFja2dyb3VuZENvbG9yWzFdIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvclsyXSAvIDI1NSwgMS4wKTsKICAgIH0gZWxzZSB7CiAgICAgIGdsLmNsZWFyQ29sb3IoMCwgMCwgMCwgMCk7CiAgICB9CiAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKCiAgICB2YXIgY29vcmRzQnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CiAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgY29vcmRzQnVmZmVyKTsKICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBjb29yZHMsIGdsLlNUQVRJQ19EUkFXKTsKICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGNhY2hlLnBvc2l0aW9uTG9jYXRpb24pOwogICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihjYWNoZS5wb3NpdGlvbkxvY2F0aW9uLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwoKICAgIHZhciBjb2xvcnNCdWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBjb2xvcnNCdWZmZXIpOwogICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGNvbG9ycywgZ2wuU1RBVElDX0RSQVcpOwogICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoY2FjaGUuY29sb3JMb2NhdGlvbik7CiAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGNhY2hlLmNvbG9yTG9jYXRpb24sIDMsIGdsLlVOU0lHTkVEX0JZVEUsIGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwKTsKCiAgICBnbC51bmlmb3JtMmYoY2FjaGUuc2NhbGVMb2NhdGlvbiwgY29udGV4dC5zY2FsZVgsIGNvbnRleHQuc2NhbGVZKTsKICAgIGdsLnVuaWZvcm0yZihjYWNoZS5vZmZzZXRMb2NhdGlvbiwgY29udGV4dC5vZmZzZXRYLCBjb250ZXh0Lm9mZnNldFkpOwoKICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCBjb3VudCk7CgogICAgZ2wuZmx1c2goKTsKCiAgICBnbC5kZWxldGVCdWZmZXIoY29vcmRzQnVmZmVyKTsKICAgIGdsLmRlbGV0ZUJ1ZmZlcihjb2xvcnNCdWZmZXIpOwoKICAgIHJldHVybiBjYW52YXM7CiAgfQoKICBmdW5jdGlvbiBjbGVhbnVwKCkgewogICAgaWYgKHNtYXNrQ2FjaGUgJiYgc21hc2tDYWNoZS5jYW52YXMpIHsKICAgICAgc21hc2tDYWNoZS5jYW52YXMud2lkdGggPSAwOwogICAgICBzbWFza0NhY2hlLmNhbnZhcy5oZWlnaHQgPSAwOwogICAgfQogICAgaWYgKGZpZ3VyZXNDYWNoZSAmJiBmaWd1cmVzQ2FjaGUuY2FudmFzKSB7CiAgICAgIGZpZ3VyZXNDYWNoZS5jYW52YXMud2lkdGggPSAwOwogICAgICBmaWd1cmVzQ2FjaGUuY2FudmFzLmhlaWdodCA9IDA7CiAgICB9CiAgICBzbWFza0NhY2hlID0gbnVsbDsKICAgIGZpZ3VyZXNDYWNoZSA9IG51bGw7CiAgfQoKICByZXR1cm4gewogICAgZ2V0IGlzRW5hYmxlZCgpIHsKICAgICAgaWYgKFBERkpTLmRpc2FibGVXZWJHTCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICB2YXIgZW5hYmxlZCA9IGZhbHNlOwogICAgICB0cnkgewogICAgICAgIGdlbmVyYXRlR0woKTsKICAgICAgICBlbmFibGVkID0gISFjdXJyZW50R0w7CiAgICAgIH0gY2F0Y2ggKGUpIHsgfQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdpc0VuYWJsZWQnLCBlbmFibGVkKTsKICAgIH0sCiAgICBjb21wb3NlU01hc2s6IGNvbXBvc2VTTWFzaywKICAgIGRyYXdGaWd1cmVzOiBkcmF3RmlndXJlcywKICAgIGNsZWFyOiBjbGVhbnVwCiAgfTsKfSkoKTsKCgp2YXIgU2hhZGluZ0lScyA9IHt9OwoKU2hhZGluZ0lScy5SYWRpYWxBeGlhbCA9IHsKICBmcm9tSVI6IGZ1bmN0aW9uIFJhZGlhbEF4aWFsX2Zyb21JUihyYXcpIHsKICAgIHZhciB0eXBlID0gcmF3WzFdOwogICAgdmFyIGNvbG9yU3RvcHMgPSByYXdbMl07CiAgICB2YXIgcDAgPSByYXdbM107CiAgICB2YXIgcDEgPSByYXdbNF07CiAgICB2YXIgcjAgPSByYXdbNV07CiAgICB2YXIgcjEgPSByYXdbNl07CiAgICByZXR1cm4gewogICAgICB0eXBlOiAnUGF0dGVybicsCiAgICAgIGdldFBhdHRlcm46IGZ1bmN0aW9uIFJhZGlhbEF4aWFsX2dldFBhdHRlcm4oY3R4KSB7CiAgICAgICAgdmFyIGdyYWQ7CiAgICAgICAgaWYgKHR5cGUgPT09ICdheGlhbCcpIHsKICAgICAgICAgIGdyYWQgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQocDBbMF0sIHAwWzFdLCBwMVswXSwgcDFbMV0pOwogICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JhZGlhbCcpIHsKICAgICAgICAgIGdyYWQgPSBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQocDBbMF0sIHAwWzFdLCByMCwgcDFbMF0sIHAxWzFdLCByMSk7CiAgICAgICAgfQoKICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBjb2xvclN0b3BzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICAgIHZhciBjID0gY29sb3JTdG9wc1tpXTsKICAgICAgICAgIGdyYWQuYWRkQ29sb3JTdG9wKGNbMF0sIGNbMV0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZ3JhZDsKICAgICAgfQogICAgfTsKICB9Cn07Cgp2YXIgY3JlYXRlTWVzaENhbnZhcyA9IChmdW5jdGlvbiBjcmVhdGVNZXNoQ2FudmFzQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBkcmF3VHJpYW5nbGUoZGF0YSwgY29udGV4dCwgcDEsIHAyLCBwMywgYzEsIGMyLCBjMykgewogICAgLy8gVmVyeSBiYXNpYyBHb3VyYXVkLXNoYWRlZCB0cmlhbmdsZSByYXN0ZXJpemF0aW9uIGFsZ29yaXRobS4KICAgIHZhciBjb29yZHMgPSBjb250ZXh0LmNvb3JkcywgY29sb3JzID0gY29udGV4dC5jb2xvcnM7CiAgICB2YXIgYnl0ZXMgPSBkYXRhLmRhdGEsIHJvd1NpemUgPSBkYXRhLndpZHRoICogNDsKICAgIHZhciB0bXA7CiAgICBpZiAoY29vcmRzW3AxICsgMV0gPiBjb29yZHNbcDIgKyAxXSkgewogICAgICB0bXAgPSBwMTsgcDEgPSBwMjsgcDIgPSB0bXA7IHRtcCA9IGMxOyBjMSA9IGMyOyBjMiA9IHRtcDsKICAgIH0KICAgIGlmIChjb29yZHNbcDIgKyAxXSA+IGNvb3Jkc1twMyArIDFdKSB7CiAgICAgIHRtcCA9IHAyOyBwMiA9IHAzOyBwMyA9IHRtcDsgdG1wID0gYzI7IGMyID0gYzM7IGMzID0gdG1wOwogICAgfQogICAgaWYgKGNvb3Jkc1twMSArIDFdID4gY29vcmRzW3AyICsgMV0pIHsKICAgICAgdG1wID0gcDE7IHAxID0gcDI7IHAyID0gdG1wOyB0bXAgPSBjMTsgYzEgPSBjMjsgYzIgPSB0bXA7CiAgICB9CiAgICB2YXIgeDEgPSAoY29vcmRzW3AxXSArIGNvbnRleHQub2Zmc2V0WCkgKiBjb250ZXh0LnNjYWxlWDsKICAgIHZhciB5MSA9IChjb29yZHNbcDEgKyAxXSArIGNvbnRleHQub2Zmc2V0WSkgKiBjb250ZXh0LnNjYWxlWTsKICAgIHZhciB4MiA9IChjb29yZHNbcDJdICsgY29udGV4dC5vZmZzZXRYKSAqIGNvbnRleHQuc2NhbGVYOwogICAgdmFyIHkyID0gKGNvb3Jkc1twMiArIDFdICsgY29udGV4dC5vZmZzZXRZKSAqIGNvbnRleHQuc2NhbGVZOwogICAgdmFyIHgzID0gKGNvb3Jkc1twM10gKyBjb250ZXh0Lm9mZnNldFgpICogY29udGV4dC5zY2FsZVg7CiAgICB2YXIgeTMgPSAoY29vcmRzW3AzICsgMV0gKyBjb250ZXh0Lm9mZnNldFkpICogY29udGV4dC5zY2FsZVk7CiAgICBpZiAoeTEgPj0geTMpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgdmFyIGMxciA9IGNvbG9yc1tjMV0sIGMxZyA9IGNvbG9yc1tjMSArIDFdLCBjMWIgPSBjb2xvcnNbYzEgKyAyXTsKICAgIHZhciBjMnIgPSBjb2xvcnNbYzJdLCBjMmcgPSBjb2xvcnNbYzIgKyAxXSwgYzJiID0gY29sb3JzW2MyICsgMl07CiAgICB2YXIgYzNyID0gY29sb3JzW2MzXSwgYzNnID0gY29sb3JzW2MzICsgMV0sIGMzYiA9IGNvbG9yc1tjMyArIDJdOwoKICAgIHZhciBtaW5ZID0gTWF0aC5yb3VuZCh5MSksIG1heFkgPSBNYXRoLnJvdW5kKHkzKTsKICAgIHZhciB4YSwgY2FyLCBjYWcsIGNhYjsKICAgIHZhciB4YiwgY2JyLCBjYmcsIGNiYjsKICAgIHZhciBrOwogICAgZm9yICh2YXIgeSA9IG1pblk7IHkgPD0gbWF4WTsgeSsrKSB7CiAgICAgIGlmICh5IDwgeTIpIHsKICAgICAgICBrID0geSA8IHkxID8gMCA6IHkxID09PSB5MiA/IDEgOiAoeTEgLSB5KSAvICh5MSAtIHkyKTsKICAgICAgICB4YSA9IHgxIC0gKHgxIC0geDIpICogazsKICAgICAgICBjYXIgPSBjMXIgLSAoYzFyIC0gYzJyKSAqIGs7CiAgICAgICAgY2FnID0gYzFnIC0gKGMxZyAtIGMyZykgKiBrOwogICAgICAgIGNhYiA9IGMxYiAtIChjMWIgLSBjMmIpICogazsKICAgICAgfSBlbHNlIHsKICAgICAgICBrID0geSA+IHkzID8gMSA6IHkyID09PSB5MyA/IDAgOiAoeTIgLSB5KSAvICh5MiAtIHkzKTsKICAgICAgICB4YSA9IHgyIC0gKHgyIC0geDMpICogazsKICAgICAgICBjYXIgPSBjMnIgLSAoYzJyIC0gYzNyKSAqIGs7CiAgICAgICAgY2FnID0gYzJnIC0gKGMyZyAtIGMzZykgKiBrOwogICAgICAgIGNhYiA9IGMyYiAtIChjMmIgLSBjM2IpICogazsKICAgICAgfQogICAgICBrID0geSA8IHkxID8gMCA6IHkgPiB5MyA/IDEgOiAoeTEgLSB5KSAvICh5MSAtIHkzKTsKICAgICAgeGIgPSB4MSAtICh4MSAtIHgzKSAqIGs7CiAgICAgIGNiciA9IGMxciAtIChjMXIgLSBjM3IpICogazsKICAgICAgY2JnID0gYzFnIC0gKGMxZyAtIGMzZykgKiBrOwogICAgICBjYmIgPSBjMWIgLSAoYzFiIC0gYzNiKSAqIGs7CiAgICAgIHZhciB4MV8gPSBNYXRoLnJvdW5kKE1hdGgubWluKHhhLCB4YikpOwogICAgICB2YXIgeDJfID0gTWF0aC5yb3VuZChNYXRoLm1heCh4YSwgeGIpKTsKICAgICAgdmFyIGogPSByb3dTaXplICogeSArIHgxXyAqIDQ7CiAgICAgIGZvciAodmFyIHggPSB4MV87IHggPD0geDJfOyB4KyspIHsKICAgICAgICBrID0gKHhhIC0geCkgLyAoeGEgLSB4Yik7CiAgICAgICAgayA9IGsgPCAwID8gMCA6IGsgPiAxID8gMSA6IGs7CiAgICAgICAgYnl0ZXNbaisrXSA9IChjYXIgLSAoY2FyIC0gY2JyKSAqIGspIHwgMDsKICAgICAgICBieXRlc1tqKytdID0gKGNhZyAtIChjYWcgLSBjYmcpICogaykgfCAwOwogICAgICAgIGJ5dGVzW2orK10gPSAoY2FiIC0gKGNhYiAtIGNiYikgKiBrKSB8IDA7CiAgICAgICAgYnl0ZXNbaisrXSA9IDI1NTsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gZHJhd0ZpZ3VyZShkYXRhLCBmaWd1cmUsIGNvbnRleHQpIHsKICAgIHZhciBwcyA9IGZpZ3VyZS5jb29yZHM7CiAgICB2YXIgY3MgPSBmaWd1cmUuY29sb3JzOwogICAgdmFyIGksIGlpOwogICAgc3dpdGNoIChmaWd1cmUudHlwZSkgewogICAgICBjYXNlICdsYXR0aWNlJzoKICAgICAgICB2YXIgdmVydGljZXNQZXJSb3cgPSBmaWd1cmUudmVydGljZXNQZXJSb3c7CiAgICAgICAgdmFyIHJvd3MgPSBNYXRoLmZsb29yKHBzLmxlbmd0aCAvIHZlcnRpY2VzUGVyUm93KSAtIDE7CiAgICAgICAgdmFyIGNvbHMgPSB2ZXJ0aWNlc1BlclJvdyAtIDE7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHJvd3M7IGkrKykgewogICAgICAgICAgdmFyIHEgPSBpICogdmVydGljZXNQZXJSb3c7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGNvbHM7IGorKywgcSsrKSB7CiAgICAgICAgICAgIGRyYXdUcmlhbmdsZShkYXRhLCBjb250ZXh0LAogICAgICAgICAgICAgIHBzW3FdLCBwc1txICsgMV0sIHBzW3EgKyB2ZXJ0aWNlc1BlclJvd10sCiAgICAgICAgICAgICAgY3NbcV0sIGNzW3EgKyAxXSwgY3NbcSArIHZlcnRpY2VzUGVyUm93XSk7CiAgICAgICAgICAgIGRyYXdUcmlhbmdsZShkYXRhLCBjb250ZXh0LAogICAgICAgICAgICAgIHBzW3EgKyB2ZXJ0aWNlc1BlclJvdyArIDFdLCBwc1txICsgMV0sIHBzW3EgKyB2ZXJ0aWNlc1BlclJvd10sCiAgICAgICAgICAgICAgY3NbcSArIHZlcnRpY2VzUGVyUm93ICsgMV0sIGNzW3EgKyAxXSwgY3NbcSArIHZlcnRpY2VzUGVyUm93XSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICBjYXNlICd0cmlhbmdsZXMnOgogICAgICAgIGZvciAoaSA9IDAsIGlpID0gcHMubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMykgewogICAgICAgICAgZHJhd1RyaWFuZ2xlKGRhdGEsIGNvbnRleHQsCiAgICAgICAgICAgIHBzW2ldLCBwc1tpICsgMV0sIHBzW2kgKyAyXSwKICAgICAgICAgICAgY3NbaV0sIGNzW2kgKyAxXSwgY3NbaSArIDJdKTsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgZXJyb3IoJ2lsbGlnYWwgZmlndXJlJyk7CiAgICAgICAgYnJlYWs7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBjcmVhdGVNZXNoQ2FudmFzKGJvdW5kcywgY29tYmluZXNTY2FsZSwgY29vcmRzLCBjb2xvcnMsIGZpZ3VyZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IpIHsKICAgIC8vIHdlIHdpbGwgaW5jcmVhc2Ugc2NhbGUgb24gc29tZSB3ZWlyZCBmYWN0b3IgdG8gbGV0IGFudGlhbGlhc2luZyB0YWtlCiAgICAvLyBjYXJlIG9mICJyb3VnaCIgZWRnZXMKICAgIHZhciBFWFBFQ1RFRF9TQ0FMRSA9IDEuMTsKICAgIC8vIE1BWF9QQVRURVJOX1NJWkUgaXMgdXNlZCB0byBhdm9pZCBPT00gc2l0dWF0aW9uLgogICAgdmFyIE1BWF9QQVRURVJOX1NJWkUgPSAzMDAwOyAvLyAxMGluIEAgMzAwZHBpIHNoYWxsIGJlIGVub3VnaAoKICAgIHZhciBvZmZzZXRYID0gTWF0aC5mbG9vcihib3VuZHNbMF0pOwogICAgdmFyIG9mZnNldFkgPSBNYXRoLmZsb29yKGJvdW5kc1sxXSk7CiAgICB2YXIgYm91bmRzV2lkdGggPSBNYXRoLmNlaWwoYm91bmRzWzJdKSAtIG9mZnNldFg7CiAgICB2YXIgYm91bmRzSGVpZ2h0ID0gTWF0aC5jZWlsKGJvdW5kc1szXSkgLSBvZmZzZXRZOwoKICAgIHZhciB3aWR0aCA9IE1hdGgubWluKE1hdGguY2VpbChNYXRoLmFicyhib3VuZHNXaWR0aCAqIGNvbWJpbmVzU2NhbGVbMF0gKgogICAgICBFWFBFQ1RFRF9TQ0FMRSkpLCBNQVhfUEFUVEVSTl9TSVpFKTsKICAgIHZhciBoZWlnaHQgPSBNYXRoLm1pbihNYXRoLmNlaWwoTWF0aC5hYnMoYm91bmRzSGVpZ2h0ICogY29tYmluZXNTY2FsZVsxXSAqCiAgICAgIEVYUEVDVEVEX1NDQUxFKSksIE1BWF9QQVRURVJOX1NJWkUpOwogICAgdmFyIHNjYWxlWCA9IGJvdW5kc1dpZHRoIC8gd2lkdGg7CiAgICB2YXIgc2NhbGVZID0gYm91bmRzSGVpZ2h0IC8gaGVpZ2h0OwoKICAgIHZhciBjb250ZXh0ID0gewogICAgICBjb29yZHM6IGNvb3JkcywKICAgICAgY29sb3JzOiBjb2xvcnMsCiAgICAgIG9mZnNldFg6IC1vZmZzZXRYLAogICAgICBvZmZzZXRZOiAtb2Zmc2V0WSwKICAgICAgc2NhbGVYOiAxIC8gc2NhbGVYLAogICAgICBzY2FsZVk6IDEgLyBzY2FsZVkKICAgIH07CgogICAgdmFyIGNhbnZhcywgdG1wQ2FudmFzLCBpLCBpaTsKICAgIGlmIChXZWJHTFV0aWxzLmlzRW5hYmxlZCkgewogICAgICBjYW52YXMgPSBXZWJHTFV0aWxzLmRyYXdGaWd1cmVzKHdpZHRoLCBoZWlnaHQsIGJhY2tncm91bmRDb2xvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWd1cmVzLCBjb250ZXh0KTsKCiAgICAgIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTk3MjEyNgogICAgICB0bXBDYW52YXMgPSBDYWNoZWRDYW52YXNlcy5nZXRDYW52YXMoJ21lc2gnLCB3aWR0aCwgaGVpZ2h0LCBmYWxzZSk7CiAgICAgIHRtcENhbnZhcy5jb250ZXh0LmRyYXdJbWFnZShjYW52YXMsIDAsIDApOwogICAgICBjYW52YXMgPSB0bXBDYW52YXMuY2FudmFzOwogICAgfSBlbHNlIHsKICAgICAgdG1wQ2FudmFzID0gQ2FjaGVkQ2FudmFzZXMuZ2V0Q2FudmFzKCdtZXNoJywgd2lkdGgsIGhlaWdodCwgZmFsc2UpOwogICAgICB2YXIgdG1wQ3R4ID0gdG1wQ2FudmFzLmNvbnRleHQ7CgogICAgICB2YXIgZGF0YSA9IHRtcEN0eC5jcmVhdGVJbWFnZURhdGEod2lkdGgsIGhlaWdodCk7CiAgICAgIGlmIChiYWNrZ3JvdW5kQ29sb3IpIHsKICAgICAgICB2YXIgYnl0ZXMgPSBkYXRhLmRhdGE7CiAgICAgICAgZm9yIChpID0gMCwgaWkgPSBieXRlcy5sZW5ndGg7IGkgPCBpaTsgaSArPSA0KSB7CiAgICAgICAgICBieXRlc1tpXSA9IGJhY2tncm91bmRDb2xvclswXTsKICAgICAgICAgIGJ5dGVzW2kgKyAxXSA9IGJhY2tncm91bmRDb2xvclsxXTsKICAgICAgICAgIGJ5dGVzW2kgKyAyXSA9IGJhY2tncm91bmRDb2xvclsyXTsKICAgICAgICAgIGJ5dGVzW2kgKyAzXSA9IDI1NTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZm9yIChpID0gMDsgaSA8IGZpZ3VyZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICBkcmF3RmlndXJlKGRhdGEsIGZpZ3VyZXNbaV0sIGNvbnRleHQpOwogICAgICB9CiAgICAgIHRtcEN0eC5wdXRJbWFnZURhdGEoZGF0YSwgMCwgMCk7CiAgICAgIGNhbnZhcyA9IHRtcENhbnZhcy5jYW52YXM7CiAgICB9CgogICAgcmV0dXJuIHtjYW52YXM6IGNhbnZhcywgb2Zmc2V0WDogb2Zmc2V0WCwgb2Zmc2V0WTogb2Zmc2V0WSwKICAgICAgICAgICAgc2NhbGVYOiBzY2FsZVgsIHNjYWxlWTogc2NhbGVZfTsKICB9CiAgcmV0dXJuIGNyZWF0ZU1lc2hDYW52YXM7Cn0pKCk7CgpTaGFkaW5nSVJzLk1lc2ggPSB7CiAgZnJvbUlSOiBmdW5jdGlvbiBNZXNoX2Zyb21JUihyYXcpIHsKICAgIC8vdmFyIHR5cGUgPSByYXdbMV07CiAgICB2YXIgY29vcmRzID0gcmF3WzJdOwogICAgdmFyIGNvbG9ycyA9IHJhd1szXTsKICAgIHZhciBmaWd1cmVzID0gcmF3WzRdOwogICAgdmFyIGJvdW5kcyA9IHJhd1s1XTsKICAgIHZhciBtYXRyaXggPSByYXdbNl07CiAgICAvL3ZhciBiYm94ID0gcmF3WzddOwogICAgdmFyIGJhY2tncm91bmQgPSByYXdbOF07CiAgICByZXR1cm4gewogICAgICB0eXBlOiAnUGF0dGVybicsCiAgICAgIGdldFBhdHRlcm46IGZ1bmN0aW9uIE1lc2hfZ2V0UGF0dGVybihjdHgsIG93bmVyLCBzaGFkaW5nRmlsbCkgewogICAgICAgIHZhciBzY2FsZTsKICAgICAgICBpZiAoc2hhZGluZ0ZpbGwpIHsKICAgICAgICAgIHNjYWxlID0gVXRpbC5zaW5ndWxhclZhbHVlRGVjb21wb3NlMmRTY2FsZShjdHgubW96Q3VycmVudFRyYW5zZm9ybSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIE9idGFpbiBzY2FsZSBmcm9tIG1hdHJpeCBhbmQgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXguCiAgICAgICAgICBzY2FsZSA9IFV0aWwuc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUob3duZXIuYmFzZVRyYW5zZm9ybSk7CiAgICAgICAgICBpZiAobWF0cml4KSB7CiAgICAgICAgICAgIHZhciBtYXRyaXhTY2FsZSA9IFV0aWwuc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUobWF0cml4KTsKICAgICAgICAgICAgc2NhbGUgPSBbc2NhbGVbMF0gKiBtYXRyaXhTY2FsZVswXSwKICAgICAgICAgICAgICAgICAgICAgc2NhbGVbMV0gKiBtYXRyaXhTY2FsZVsxXV07CiAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgLy8gUmFzdGVyaXppbmcgb24gdGhlIG1haW4gdGhyZWFkIHNpbmNlIHNlbmRpbmcvcXVldWUgbGFyZ2UgY2FudmFzZXMKICAgICAgICAvLyBtaWdodCBjYXVzZSBPT00uCiAgICAgICAgdmFyIHRlbXBvcmFyeVBhdHRlcm5DYW52YXMgPSBjcmVhdGVNZXNoQ2FudmFzKGJvdW5kcywgc2NhbGUsIGNvb3JkcywKICAgICAgICAgIGNvbG9ycywgZmlndXJlcywgc2hhZGluZ0ZpbGwgPyBudWxsIDogYmFja2dyb3VuZCk7CgogICAgICAgIGlmICghc2hhZGluZ0ZpbGwpIHsKICAgICAgICAgIGN0eC5zZXRUcmFuc2Zvcm0uYXBwbHkoY3R4LCBvd25lci5iYXNlVHJhbnNmb3JtKTsKICAgICAgICAgIGlmIChtYXRyaXgpIHsKICAgICAgICAgICAgY3R4LnRyYW5zZm9ybS5hcHBseShjdHgsIG1hdHJpeCk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjdHgudHJhbnNsYXRlKHRlbXBvcmFyeVBhdHRlcm5DYW52YXMub2Zmc2V0WCwKICAgICAgICAgICAgICAgICAgICAgIHRlbXBvcmFyeVBhdHRlcm5DYW52YXMub2Zmc2V0WSk7CiAgICAgICAgY3R4LnNjYWxlKHRlbXBvcmFyeVBhdHRlcm5DYW52YXMuc2NhbGVYLAogICAgICAgICAgICAgICAgICB0ZW1wb3JhcnlQYXR0ZXJuQ2FudmFzLnNjYWxlWSk7CgogICAgICAgIHJldHVybiBjdHguY3JlYXRlUGF0dGVybih0ZW1wb3JhcnlQYXR0ZXJuQ2FudmFzLmNhbnZhcywgJ25vLXJlcGVhdCcpOwogICAgICB9CiAgICB9OwogIH0KfTsKClNoYWRpbmdJUnMuRHVtbXkgPSB7CiAgZnJvbUlSOiBmdW5jdGlvbiBEdW1teV9mcm9tSVIoKSB7CiAgICByZXR1cm4gewogICAgICB0eXBlOiAnUGF0dGVybicsCiAgICAgIGdldFBhdHRlcm46IGZ1bmN0aW9uIER1bW15X2Zyb21JUl9nZXRQYXR0ZXJuKCkgewogICAgICAgIHJldHVybiAnaG90cGluayc7CiAgICAgIH0KICAgIH07CiAgfQp9OwoKZnVuY3Rpb24gZ2V0U2hhZGluZ1BhdHRlcm5Gcm9tSVIocmF3KSB7CiAgdmFyIHNoYWRpbmdJUiA9IFNoYWRpbmdJUnNbcmF3WzBdXTsKICBpZiAoIXNoYWRpbmdJUikgewogICAgZXJyb3IoJ1Vua25vd24gSVIgdHlwZTogJyArIHJhd1swXSk7CiAgfQogIHJldHVybiBzaGFkaW5nSVIuZnJvbUlSKHJhdyk7Cn0KCnZhciBUaWxpbmdQYXR0ZXJuID0gKGZ1bmN0aW9uIFRpbGluZ1BhdHRlcm5DbG9zdXJlKCkgewogIHZhciBQYWludFR5cGUgPSB7CiAgICBDT0xPUkVEOiAxLAogICAgVU5DT0xPUkVEOiAyCiAgfTsKCiAgdmFyIE1BWF9QQVRURVJOX1NJWkUgPSAzMDAwOyAvLyAxMGluIEAgMzAwZHBpIHNoYWxsIGJlIGVub3VnaAoKICBmdW5jdGlvbiBUaWxpbmdQYXR0ZXJuKElSLCBjb2xvciwgY3R4LCBvYmpzLCBjb21tb25PYmpzLCBiYXNlVHJhbnNmb3JtKSB7CiAgICB0aGlzLm9wZXJhdG9yTGlzdCA9IElSWzJdOwogICAgdGhpcy5tYXRyaXggPSBJUlszXSB8fCBbMSwgMCwgMCwgMSwgMCwgMF07CiAgICB0aGlzLmJib3ggPSBJUls0XTsKICAgIHRoaXMueHN0ZXAgPSBJUls1XTsKICAgIHRoaXMueXN0ZXAgPSBJUls2XTsKICAgIHRoaXMucGFpbnRUeXBlID0gSVJbN107CiAgICB0aGlzLnRpbGluZ1R5cGUgPSBJUls4XTsKICAgIHRoaXMuY29sb3IgPSBjb2xvcjsKICAgIHRoaXMub2JqcyA9IG9ianM7CiAgICB0aGlzLmNvbW1vbk9ianMgPSBjb21tb25PYmpzOwogICAgdGhpcy5iYXNlVHJhbnNmb3JtID0gYmFzZVRyYW5zZm9ybTsKICAgIHRoaXMudHlwZSA9ICdQYXR0ZXJuJzsKICAgIHRoaXMuY3R4ID0gY3R4OwogIH0KCiAgVGlsaW5nUGF0dGVybi5wcm90b3R5cGUgPSB7CiAgICBjcmVhdGVQYXR0ZXJuQ2FudmFzOiBmdW5jdGlvbiBUaWxpblBhdHRlcm5fY3JlYXRlUGF0dGVybkNhbnZhcyhvd25lcikgewogICAgICB2YXIgb3BlcmF0b3JMaXN0ID0gdGhpcy5vcGVyYXRvckxpc3Q7CiAgICAgIHZhciBiYm94ID0gdGhpcy5iYm94OwogICAgICB2YXIgeHN0ZXAgPSB0aGlzLnhzdGVwOwogICAgICB2YXIgeXN0ZXAgPSB0aGlzLnlzdGVwOwogICAgICB2YXIgcGFpbnRUeXBlID0gdGhpcy5wYWludFR5cGU7CiAgICAgIHZhciB0aWxpbmdUeXBlID0gdGhpcy50aWxpbmdUeXBlOwogICAgICB2YXIgY29sb3IgPSB0aGlzLmNvbG9yOwogICAgICB2YXIgb2JqcyA9IHRoaXMub2JqczsKICAgICAgdmFyIGNvbW1vbk9ianMgPSB0aGlzLmNvbW1vbk9ianM7CgogICAgICBpbmZvKCdUaWxpbmdUeXBlOiAnICsgdGlsaW5nVHlwZSk7CgogICAgICB2YXIgeDAgPSBiYm94WzBdLCB5MCA9IGJib3hbMV0sIHgxID0gYmJveFsyXSwgeTEgPSBiYm94WzNdOwoKICAgICAgdmFyIHRvcExlZnQgPSBbeDAsIHkwXTsKICAgICAgLy8gd2Ugd2FudCB0aGUgY2FudmFzIHRvIGJlIGFzIGxhcmdlIGFzIHRoZSBzdGVwIHNpemUKICAgICAgdmFyIGJvdFJpZ2h0ID0gW3gwICsgeHN0ZXAsIHkwICsgeXN0ZXBdOwoKICAgICAgdmFyIHdpZHRoID0gYm90UmlnaHRbMF0gLSB0b3BMZWZ0WzBdOwogICAgICB2YXIgaGVpZ2h0ID0gYm90UmlnaHRbMV0gLSB0b3BMZWZ0WzFdOwoKICAgICAgLy8gT2J0YWluIHNjYWxlIGZyb20gbWF0cml4IGFuZCBjdXJyZW50IHRyYW5zZm9ybWF0aW9uIG1hdHJpeC4KICAgICAgdmFyIG1hdHJpeFNjYWxlID0gVXRpbC5zaW5ndWxhclZhbHVlRGVjb21wb3NlMmRTY2FsZSh0aGlzLm1hdHJpeCk7CiAgICAgIHZhciBjdXJNYXRyaXhTY2FsZSA9IFV0aWwuc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUoCiAgICAgICAgdGhpcy5iYXNlVHJhbnNmb3JtKTsKICAgICAgdmFyIGNvbWJpbmVkU2NhbGUgPSBbbWF0cml4U2NhbGVbMF0gKiBjdXJNYXRyaXhTY2FsZVswXSwKICAgICAgICBtYXRyaXhTY2FsZVsxXSAqIGN1ck1hdHJpeFNjYWxlWzFdXTsKCiAgICAgIC8vIE1BWF9QQVRURVJOX1NJWkUgaXMgdXNlZCB0byBhdm9pZCBPT00gc2l0dWF0aW9uLgogICAgICAvLyBVc2Ugd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgdGhhdCBhcmUgYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gdGhlIGVuZAogICAgICAvLyByZXN1bHQgd2hlbiB0aGUgcGF0dGVybiBpcyB1c2VkLiBUb28gbG93IHZhbHVlIG1ha2VzIHRoZSBwYXR0ZXJuIGxvb2sKICAgICAgLy8gYmx1cnJ5LiBUb28gbGFyZ2UgdmFsdWUgbWFrZXMgaXQgbG9vayB0b28gY3Jpc3B5LgogICAgICB3aWR0aCA9IE1hdGgubWluKE1hdGguY2VpbChNYXRoLmFicyh3aWR0aCAqIGNvbWJpbmVkU2NhbGVbMF0pKSwKICAgICAgICBNQVhfUEFUVEVSTl9TSVpFKTsKCiAgICAgIGhlaWdodCA9IE1hdGgubWluKE1hdGguY2VpbChNYXRoLmFicyhoZWlnaHQgKiBjb21iaW5lZFNjYWxlWzFdKSksCiAgICAgICAgTUFYX1BBVFRFUk5fU0laRSk7CgogICAgICB2YXIgdG1wQ2FudmFzID0gQ2FjaGVkQ2FudmFzZXMuZ2V0Q2FudmFzKCdwYXR0ZXJuJywgd2lkdGgsIGhlaWdodCwgdHJ1ZSk7CiAgICAgIHZhciB0bXBDdHggPSB0bXBDYW52YXMuY29udGV4dDsKICAgICAgdmFyIGdyYXBoaWNzID0gbmV3IENhbnZhc0dyYXBoaWNzKHRtcEN0eCwgY29tbW9uT2Jqcywgb2Jqcyk7CiAgICAgIGdyYXBoaWNzLmdyb3VwTGV2ZWwgPSBvd25lci5ncm91cExldmVsOwoKICAgICAgdGhpcy5zZXRGaWxsQW5kU3Ryb2tlU3R5bGVUb0NvbnRleHQodG1wQ3R4LCBwYWludFR5cGUsIGNvbG9yKTsKCiAgICAgIHRoaXMuc2V0U2NhbGUod2lkdGgsIGhlaWdodCwgeHN0ZXAsIHlzdGVwKTsKICAgICAgdGhpcy50cmFuc2Zvcm1Ub1NjYWxlKGdyYXBoaWNzKTsKCiAgICAgIC8vIHRyYW5zZm9ybSBjb29yZGluYXRlcyB0byBwYXR0ZXJuIHNwYWNlCiAgICAgIHZhciB0bXBUcmFuc2xhdGUgPSBbMSwgMCwgMCwgMSwgLXRvcExlZnRbMF0sIC10b3BMZWZ0WzFdXTsKICAgICAgZ3JhcGhpY3MudHJhbnNmb3JtLmFwcGx5KGdyYXBoaWNzLCB0bXBUcmFuc2xhdGUpOwoKICAgICAgdGhpcy5jbGlwQmJveChncmFwaGljcywgYmJveCwgeDAsIHkwLCB4MSwgeTEpOwoKICAgICAgZ3JhcGhpY3MuZXhlY3V0ZU9wZXJhdG9yTGlzdChvcGVyYXRvckxpc3QpOwogICAgICByZXR1cm4gdG1wQ2FudmFzLmNhbnZhczsKICAgIH0sCgogICAgc2V0U2NhbGU6IGZ1bmN0aW9uIFRpbGluZ1BhdHRlcm5fc2V0U2NhbGUod2lkdGgsIGhlaWdodCwgeHN0ZXAsIHlzdGVwKSB7CiAgICAgIHRoaXMuc2NhbGUgPSBbd2lkdGggLyB4c3RlcCwgaGVpZ2h0IC8geXN0ZXBdOwogICAgfSwKCiAgICB0cmFuc2Zvcm1Ub1NjYWxlOiBmdW5jdGlvbiBUaWxpbmdQYXR0ZXJuX3RyYW5zZm9ybVRvU2NhbGUoZ3JhcGhpY3MpIHsKICAgICAgdmFyIHNjYWxlID0gdGhpcy5zY2FsZTsKICAgICAgdmFyIHRtcFNjYWxlID0gW3NjYWxlWzBdLCAwLCAwLCBzY2FsZVsxXSwgMCwgMF07CiAgICAgIGdyYXBoaWNzLnRyYW5zZm9ybS5hcHBseShncmFwaGljcywgdG1wU2NhbGUpOwogICAgfSwKCiAgICBzY2FsZVRvQ29udGV4dDogZnVuY3Rpb24gVGlsaW5nUGF0dGVybl9zY2FsZVRvQ29udGV4dCgpIHsKICAgICAgdmFyIHNjYWxlID0gdGhpcy5zY2FsZTsKICAgICAgdGhpcy5jdHguc2NhbGUoMSAvIHNjYWxlWzBdLCAxIC8gc2NhbGVbMV0pOwogICAgfSwKCiAgICBjbGlwQmJveDogZnVuY3Rpb24gY2xpcEJib3goZ3JhcGhpY3MsIGJib3gsIHgwLCB5MCwgeDEsIHkxKSB7CiAgICAgIGlmIChiYm94ICYmIGlzQXJyYXkoYmJveCkgJiYgYmJveC5sZW5ndGggPT09IDQpIHsKICAgICAgICB2YXIgYmJveFdpZHRoID0geDEgLSB4MDsKICAgICAgICB2YXIgYmJveEhlaWdodCA9IHkxIC0geTA7CiAgICAgICAgZ3JhcGhpY3MuY3R4LnJlY3QoeDAsIHkwLCBiYm94V2lkdGgsIGJib3hIZWlnaHQpOwogICAgICAgIGdyYXBoaWNzLmNsaXAoKTsKICAgICAgICBncmFwaGljcy5lbmRQYXRoKCk7CiAgICAgIH0KICAgIH0sCgogICAgc2V0RmlsbEFuZFN0cm9rZVN0eWxlVG9Db250ZXh0OgogICAgICBmdW5jdGlvbiBzZXRGaWxsQW5kU3Ryb2tlU3R5bGVUb0NvbnRleHQoY29udGV4dCwgcGFpbnRUeXBlLCBjb2xvcikgewogICAgICAgIHN3aXRjaCAocGFpbnRUeXBlKSB7CiAgICAgICAgICBjYXNlIFBhaW50VHlwZS5DT0xPUkVEOgogICAgICAgICAgICB2YXIgY3R4ID0gdGhpcy5jdHg7CiAgICAgICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0gY3R4LmZpbGxTdHlsZTsKICAgICAgICAgICAgY29udGV4dC5zdHJva2VTdHlsZSA9IGN0eC5zdHJva2VTdHlsZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIFBhaW50VHlwZS5VTkNPTE9SRUQ6CiAgICAgICAgICAgIHZhciBjc3NDb2xvciA9IFV0aWwubWFrZUNzc1JnYihjb2xvclswXSwgY29sb3JbMV0sIGNvbG9yWzJdKTsKICAgICAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSBjc3NDb2xvcjsKICAgICAgICAgICAgY29udGV4dC5zdHJva2VTdHlsZSA9IGNzc0NvbG9yOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdVbnN1cHBvcnRlZCBwYWludCB0eXBlOiAnICsgcGFpbnRUeXBlKTsKICAgICAgICB9CiAgICAgIH0sCgogICAgZ2V0UGF0dGVybjogZnVuY3Rpb24gVGlsaW5nUGF0dGVybl9nZXRQYXR0ZXJuKGN0eCwgb3duZXIpIHsKICAgICAgdmFyIHRlbXBvcmFyeVBhdHRlcm5DYW52YXMgPSB0aGlzLmNyZWF0ZVBhdHRlcm5DYW52YXMob3duZXIpOwoKICAgICAgY3R4ID0gdGhpcy5jdHg7CiAgICAgIGN0eC5zZXRUcmFuc2Zvcm0uYXBwbHkoY3R4LCB0aGlzLmJhc2VUcmFuc2Zvcm0pOwogICAgICBjdHgudHJhbnNmb3JtLmFwcGx5KGN0eCwgdGhpcy5tYXRyaXgpOwogICAgICB0aGlzLnNjYWxlVG9Db250ZXh0KCk7CgogICAgICByZXR1cm4gY3R4LmNyZWF0ZVBhdHRlcm4odGVtcG9yYXJ5UGF0dGVybkNhbnZhcywgJ3JlcGVhdCcpOwogICAgfQogIH07CgogIHJldHVybiBUaWxpbmdQYXR0ZXJuOwp9KSgpOwoKClBERkpTLmRpc2FibGVGb250RmFjZSA9IGZhbHNlOwoKdmFyIEZvbnRMb2FkZXIgPSB7CiAgaW5zZXJ0UnVsZTogZnVuY3Rpb24gZm9udExvYWRlckluc2VydFJ1bGUocnVsZSkgewogICAgdmFyIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdQREZKU19GT05UX1NUWUxFX1RBRycpOwogICAgaWYgKCFzdHlsZUVsZW1lbnQpIHsKICAgICAgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKICAgICAgc3R5bGVFbGVtZW50LmlkID0gJ1BERkpTX0ZPTlRfU1RZTEVfVEFHJzsKICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoCiAgICAgICAgc3R5bGVFbGVtZW50KTsKICAgIH0KCiAgICB2YXIgc3R5bGVTaGVldCA9IHN0eWxlRWxlbWVudC5zaGVldDsKICAgIHN0eWxlU2hlZXQuaW5zZXJ0UnVsZShydWxlLCBzdHlsZVNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7CiAgfSwKCiAgY2xlYXI6IGZ1bmN0aW9uIGZvbnRMb2FkZXJDbGVhcigpIHsKICAgIHZhciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnUERGSlNfRk9OVF9TVFlMRV9UQUcnKTsKICAgIGlmIChzdHlsZUVsZW1lbnQpIHsKICAgICAgc3R5bGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50KTsKICAgIH0KLy8jaWYgIShNT1pDRU5UUkFMKQogICAgdGhpcy5uYXRpdmVGb250RmFjZXMuZm9yRWFjaChmdW5jdGlvbihuYXRpdmVGb250RmFjZSkgewogICAgICBkb2N1bWVudC5mb250cy5kZWxldGUobmF0aXZlRm9udEZhY2UpOwogICAgfSk7CiAgICB0aGlzLm5hdGl2ZUZvbnRGYWNlcy5sZW5ndGggPSAwOwovLyNlbmRpZgogIH0sCi8vI2lmICEoTU9aQ0VOVFJBTCkKICBnZXQgbG9hZFRlc3RGb250KCkgewogICAgLy8gVGhpcyBpcyBhIENGRiBmb250IHdpdGggMSBnbHlwaCBmb3IgJy4nIHRoYXQgZmlsbHMgaXRzIGVudGlyZSB3aWR0aCBhbmQKICAgIC8vIGhlaWdodC4KICAgIHJldHVybiBzaGFkb3codGhpcywgJ2xvYWRUZXN0Rm9udCcsIGF0b2IoCiAgICAgICdUMVJVVHdBTEFJQUFBd0F3UTBaR0lESHRaZzRBQUFPWUFBQUFnVVpHVkUxbGt6WndBQUFFSEFBQUFCeEhSRVZHQUJRQUZRJyArCiAgICAgICdBQUJEZ0FBQUFlVDFNdk1sWU5Zd2tBQUFFZ0FBQUFZR050WVhBQkRRTFVBQUFDTkFBQUFVSm9aV0ZrL3hWRkRRQUFBTHdBJyArCiAgICAgICdBQUEyYUdobFlRZGtBK29BQUFEMEFBQUFKR2h0ZEhnRDZBQUFBQUFFV0FBQUFBWnRZWGh3QUFKUUFBQUFBUmdBQUFBR2JtJyArCiAgICAgICdGdFpWam1kSDRBQUFHQUFBQUFzWEJ2YzNUL2hnQXpBQUFEZUFBQUFDQUFBUUFBQUFFQUFMWlJGc1JmRHp6MUFBc0Q2QUFBJyArCiAgICAgICdBQURPQk9UTEFBQUFBTTRLSER3QUFBQUFBK2dESVFBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFESVFBQUFGb0Q2QUFBQUFBRDZBJyArCiAgICAgICdBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQVVBQUFBZ0FBQUFRRDZBSDBBQVVBQUFLS0Fyd0FBQUNNQW9vQ3ZBQUFBZUFBJyArCiAgICAgICdNUUVDQUFBQ0FBWUpBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUZCbVJXUUF3QUF1QUM0RElQODRBRm9ESVFBQUFBJyArCiAgICAgICdBQUFRQUFBQUFBQUFBQUFDQUFJQUFCQUFBQURnQ3VBQUVBQUFBQUFBQUFBUUFBQUFFQUFBQUFBQUVBQVFBQUFBRUFBQUFBJyArCiAgICAgICdBQUlBQVFBQUFBRUFBQUFBQUFNQUFRQUFBQUVBQUFBQUFBUUFBUUFBQUFFQUFBQUFBQVVBQVFBQUFBRUFBQUFBQUFZQUFRJyArCiAgICAgICdBQUFBTUFBUVFKQUFBQUFnQUJBQU1BQVFRSkFBRUFBZ0FCQUFNQUFRUUpBQUlBQWdBQkFBTUFBUVFKQUFNQUFnQUJBQU1BJyArCiAgICAgICdBUVFKQUFRQUFnQUJBQU1BQVFRSkFBVUFBZ0FCQUFNQUFRUUpBQVlBQWdBQldBQllBQUFBQUFBQUF3QUFBQU1BQUFBY0FBJyArCiAgICAgICdFQUFBQUFBRHdBQXdBQkFBQUFIQUFFQUNBQUFBQUVBQVFBQVFBQUFDNy8vd0FBQUM3Ly8vL1RBQUVBQUFBQUFBQUJCZ0FBJyArCiAgICAgICdBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBJyArCiAgICAgICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBJyArCiAgICAgICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBJyArCiAgICAgICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBJyArCiAgICAgICdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQUFBJyArCiAgICAgICdBQUFBRC9nd0F5QUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBUUVBQUVCQVFKWUFBRUJBU0g0RHdENEd3SEVBdmdjJyArCiAgICAgICdBL2dYQkl3TUFZdUwrbno1dFFYa0Q1ajNDQkxuRVFBQ0FRRUJJVmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGJyArCiAgICAgICdoWVdGaFlXRmhZQUFBQkFRQUFEd0FDQVFFRUUvdDNEb3Y2ZkFINmZBVCtmUHA4K253SERvc01Ddm0xQ3ZtMURBejZmQlFBJyArCiAgICAgICdBQUFBQUFBQkFBQUFBTW1KYnpFQUFBQUF6Z1RqRlFBQUFBRE9CT1FwQUFFQUFBQUFBQUFBREFBVUFBUUFBQUFCQUFBQUFnJyArCiAgICAgICdBQkFBQUFBQUFBQUFBRDZBQUFBQUFBQUE9PScKICAgICkpOwogIH0sCgogIGxvYWRUZXN0Rm9udElkOiAwLAoKICBsb2FkaW5nQ29udGV4dDogewogICAgcmVxdWVzdHM6IFtdLAogICAgbmV4dFJlcXVlc3RJZDogMAogIH0sCgogIGlzU3luY0ZvbnRMb2FkaW5nU3VwcG9ydGVkOiAoZnVuY3Rpb24gZGV0ZWN0U3luY0ZvbnRMb2FkaW5nU3VwcG9ydCgpIHsKICAgIGlmIChpc1dvcmtlcikgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLy8gVXNlciBhZ2VudCBzdHJpbmcgc25pZmZpbmcgaXMgYmFkLCBidXQgdGhlcmUgaXMgbm8gcmVsaWFibGUgd2F5IHRvIHRlbGwKICAgIC8vIGlmIGZvbnQgaXMgZnVsbHkgbG9hZGVkIGFuZCByZWFkeSB0byBiZSB1c2VkIHdpdGggY2FudmFzLgogICAgdmFyIHVzZXJBZ2VudCA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50OwogICAgdmFyIG0gPSAvTW96aWxsYVwvNS4wLio/cnY6KFxkKykuKj8gR2Vja28vLmV4ZWModXNlckFnZW50KTsKICAgIGlmIChtICYmIG1bMV0gPj0gMTQpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICAvLyBUT0RPIG90aGVyIGJyb3dzZXJzCiAgICBpZiAodXNlckFnZW50ID09PSAnbm9kZScpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfSkoKSwKCiAgbmF0aXZlRm9udEZhY2VzOiBbXSwKCiAgaXNGb250TG9hZGluZ0FQSVN1cHBvcnRlZDogKCFpc1dvcmtlciAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEhZG9jdW1lbnQuZm9udHMpLAoKICBhZGROYXRpdmVGb250RmFjZTogZnVuY3Rpb24gZm9udExvYWRlcl9hZGROYXRpdmVGb250RmFjZShuYXRpdmVGb250RmFjZSkgewogICAgdGhpcy5uYXRpdmVGb250RmFjZXMucHVzaChuYXRpdmVGb250RmFjZSk7CiAgICBkb2N1bWVudC5mb250cy5hZGQobmF0aXZlRm9udEZhY2UpOwogIH0sCgogIGJpbmQ6IGZ1bmN0aW9uIGZvbnRMb2FkZXJCaW5kKGZvbnRzLCBjYWxsYmFjaykgewogICAgYXNzZXJ0KCFpc1dvcmtlciwgJ2JpbmQoKSBzaGFsbCBiZSBjYWxsZWQgZnJvbSBtYWluIHRocmVhZCcpOwoKICAgIHZhciBydWxlcyA9IFtdOwogICAgdmFyIGZvbnRzVG9Mb2FkID0gW107CiAgICB2YXIgZm9udExvYWRQcm9taXNlcyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gZm9udHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgZm9udCA9IGZvbnRzW2ldOwoKICAgICAgLy8gQWRkIHRoZSBmb250IHRvIHRoZSBET00gb25seSBvbmNlIG9yIHNraXAgaWYgdGhlIGZvbnQKICAgICAgLy8gaXMgYWxyZWFkeSBsb2FkZWQuCiAgICAgIGlmIChmb250LmF0dGFjaGVkIHx8IGZvbnQubG9hZGluZyA9PT0gZmFsc2UpIHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBmb250LmF0dGFjaGVkID0gdHJ1ZTsKCiAgICAgIGlmICh0aGlzLmlzRm9udExvYWRpbmdBUElTdXBwb3J0ZWQpIHsKICAgICAgICB2YXIgbmF0aXZlRm9udEZhY2UgPSBmb250LmNyZWF0ZU5hdGl2ZUZvbnRGYWNlKCk7CiAgICAgICAgaWYgKG5hdGl2ZUZvbnRGYWNlKSB7CiAgICAgICAgICBmb250TG9hZFByb21pc2VzLnB1c2gobmF0aXZlRm9udEZhY2UubG9hZGVkKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIHJ1bGUgPSBmb250LmJpbmRET00oKTsKICAgICAgICBpZiAocnVsZSkgewogICAgICAgICAgcnVsZXMucHVzaChydWxlKTsKICAgICAgICAgIGZvbnRzVG9Mb2FkLnB1c2goZm9udCk7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgdmFyIHJlcXVlc3QgPSBGb250TG9hZGVyLnF1ZXVlTG9hZGluZ0NhbGxiYWNrKGNhbGxiYWNrKTsKICAgIGlmICh0aGlzLmlzRm9udExvYWRpbmdBUElTdXBwb3J0ZWQpIHsKICAgICAgUHJvbWlzZS5hbGwoZm9udHNUb0xvYWQpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgcmVxdWVzdC5jb21wbGV0ZSgpOwogICAgICB9KTsKICAgIH0gZWxzZSBpZiAocnVsZXMubGVuZ3RoID4gMCAmJiAhdGhpcy5pc1N5bmNGb250TG9hZGluZ1N1cHBvcnRlZCkgewogICAgICBGb250TG9hZGVyLnByZXBhcmVGb250TG9hZEV2ZW50KHJ1bGVzLCBmb250c1RvTG9hZCwgcmVxdWVzdCk7CiAgICB9IGVsc2UgewogICAgICByZXF1ZXN0LmNvbXBsZXRlKCk7CiAgICB9CiAgfSwKCiAgcXVldWVMb2FkaW5nQ2FsbGJhY2s6IGZ1bmN0aW9uIEZvbnRMb2FkZXJfcXVldWVMb2FkaW5nQ2FsbGJhY2soY2FsbGJhY2spIHsKICAgIGZ1bmN0aW9uIExvYWRMb2FkZXJfY29tcGxldGVSZXF1ZXN0KCkgewogICAgICBhc3NlcnQoIXJlcXVlc3QuZW5kLCAnY29tcGxldGVSZXF1ZXN0KCkgY2Fubm90IGJlIGNhbGxlZCB0d2ljZScpOwogICAgICByZXF1ZXN0LmVuZCA9IERhdGUubm93KCk7CgogICAgICAvLyBzZW5kaW5nIGFsbCBjb21wbGV0ZWQgcmVxdWVzdHMgaW4gb3JkZXIgaG93IHRoZXkgd2VyZSBxdWV1ZWQKICAgICAgd2hpbGUgKGNvbnRleHQucmVxdWVzdHMubGVuZ3RoID4gMCAmJiBjb250ZXh0LnJlcXVlc3RzWzBdLmVuZCkgewogICAgICAgIHZhciBvdGhlclJlcXVlc3QgPSBjb250ZXh0LnJlcXVlc3RzLnNoaWZ0KCk7CiAgICAgICAgc2V0VGltZW91dChvdGhlclJlcXVlc3QuY2FsbGJhY2ssIDApOwogICAgICB9CiAgICB9CgogICAgdmFyIGNvbnRleHQgPSBGb250TG9hZGVyLmxvYWRpbmdDb250ZXh0OwogICAgdmFyIHJlcXVlc3RJZCA9ICdwZGZqcy1mb250LWxvYWRpbmctJyArIChjb250ZXh0Lm5leHRSZXF1ZXN0SWQrKyk7CiAgICB2YXIgcmVxdWVzdCA9IHsKICAgICAgaWQ6IHJlcXVlc3RJZCwKICAgICAgY29tcGxldGU6IExvYWRMb2FkZXJfY29tcGxldGVSZXF1ZXN0LAogICAgICBjYWxsYmFjazogY2FsbGJhY2ssCiAgICAgIHN0YXJ0ZWQ6IERhdGUubm93KCkKICAgIH07CiAgICBjb250ZXh0LnJlcXVlc3RzLnB1c2gocmVxdWVzdCk7CiAgICByZXR1cm4gcmVxdWVzdDsKICB9LAoKICBwcmVwYXJlRm9udExvYWRFdmVudDogZnVuY3Rpb24gZm9udExvYWRlclByZXBhcmVGb250TG9hZEV2ZW50KHJ1bGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0KSB7CiAgICAgIC8qKiBIYWNrIGJlZ2luICovCiAgICAgIC8vIFRoZXJlJ3MgY3VycmVudGx5IG5vIGV2ZW50IHdoZW4gYSBmb250IGhhcyBmaW5pc2hlZCBkb3dubG9hZGluZyBzbyB0aGUKICAgICAgLy8gZm9sbG93aW5nIGNvZGUgaXMgYSBkaXJ0eSBoYWNrIHRvICdndWVzcycgd2hlbiBhIGZvbnQgaXMKICAgICAgLy8gcmVhZHkuIEl0J3MgYXNzdW1lZCBmb250cyBhcmUgbG9hZGVkIGluIG9yZGVyLCBzbyBhZGQgYSBrbm93biB0ZXN0CiAgICAgIC8vIGZvbnQgYWZ0ZXIgdGhlIGRlc2lyZWQgZm9udHMgYW5kIHRoZW4gdGVzdCBmb3IgdGhlIGxvYWRpbmcgb2YgdGhhdAogICAgICAvLyB0ZXN0IGZvbnQuCgogICAgICBmdW5jdGlvbiBpbnQzMihkYXRhLCBvZmZzZXQpIHsKICAgICAgICByZXR1cm4gKGRhdGEuY2hhckNvZGVBdChvZmZzZXQpIDw8IDI0KSB8CiAgICAgICAgICAgICAgIChkYXRhLmNoYXJDb2RlQXQob2Zmc2V0ICsgMSkgPDwgMTYpIHwKICAgICAgICAgICAgICAgKGRhdGEuY2hhckNvZGVBdChvZmZzZXQgKyAyKSA8PCA4KSB8CiAgICAgICAgICAgICAgIChkYXRhLmNoYXJDb2RlQXQob2Zmc2V0ICsgMykgJiAweGZmKTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gc3BsaWNlU3RyaW5nKHMsIG9mZnNldCwgcmVtb3ZlLCBpbnNlcnQpIHsKICAgICAgICB2YXIgY2h1bmsxID0gcy5zdWJzdHIoMCwgb2Zmc2V0KTsKICAgICAgICB2YXIgY2h1bmsyID0gcy5zdWJzdHIob2Zmc2V0ICsgcmVtb3ZlKTsKICAgICAgICByZXR1cm4gY2h1bmsxICsgaW5zZXJ0ICsgY2h1bmsyOwogICAgICB9CgogICAgICB2YXIgaSwgaWk7CgogICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgIGNhbnZhcy53aWR0aCA9IDE7CiAgICAgIGNhbnZhcy5oZWlnaHQgPSAxOwogICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CgogICAgICB2YXIgY2FsbGVkID0gMDsKICAgICAgZnVuY3Rpb24gaXNGb250UmVhZHkobmFtZSwgY2FsbGJhY2spIHsKICAgICAgICBjYWxsZWQrKzsKICAgICAgICAvLyBXaXRoIHNldFRpbWVvdXQgY2xhbXBpbmcgdGhpcyBnaXZlcyB0aGUgZm9udCB+MTAwbXMgdG8gbG9hZC4KICAgICAgICBpZihjYWxsZWQgPiAzMCkgewogICAgICAgICAgd2FybignTG9hZCB0ZXN0IGZvbnQgbmV2ZXIgbG9hZGVkLicpOwogICAgICAgICAgY2FsbGJhY2soKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgY3R4LmZvbnQgPSAnMzBweCAnICsgbmFtZTsKICAgICAgICBjdHguZmlsbFRleHQoJy4nLCAwLCAyMCk7CiAgICAgICAgdmFyIGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7CiAgICAgICAgaWYgKGltYWdlRGF0YS5kYXRhWzNdID4gMCkgewogICAgICAgICAgY2FsbGJhY2soKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc2V0VGltZW91dChpc0ZvbnRSZWFkeS5iaW5kKG51bGwsIG5hbWUsIGNhbGxiYWNrKSk7CiAgICAgIH0KCiAgICAgIHZhciBsb2FkVGVzdEZvbnRJZCA9ICdsdCcgKyBEYXRlLm5vdygpICsgdGhpcy5sb2FkVGVzdEZvbnRJZCsrOwogICAgICAvLyBDaHJvbWl1bSBzZWVtcyB0byBjYWNoZSBmb250cyBiYXNlZCBvbiBhIGhhc2ggb2YgdGhlIGFjdHVhbCBmb250IGRhdGEsCiAgICAgIC8vIHNvIHRoZSBmb250IG11c3QgYmUgbW9kaWZpZWQgZm9yIGVhY2ggbG9hZCB0ZXN0IGVsc2UgaXQgd2lsbCBhcHBlYXIgdG8KICAgICAgLy8gYmUgbG9hZGVkIGFscmVhZHkuCiAgICAgIC8vIFRPRE86IFRoaXMgY291bGQgbWF5YmUgYmUgbWFkZSBmYXN0ZXIgYnkgYXZvaWRpbmcgdGhlIGJ0b2Egb2YgdGhlIGZ1bGwKICAgICAgLy8gZm9udCBieSBzcGxpdHRpbmcgaXQgaW4gY2h1bmtzIGJlZm9yZSBoYW5kIGFuZCBwYWRkaW5nIHRoZSBmb250IGlkLgogICAgICB2YXIgZGF0YSA9IHRoaXMubG9hZFRlc3RGb250OwogICAgICB2YXIgQ09NTUVOVF9PRkZTRVQgPSA5NzY7IC8vIGhhcyB0byBiZSBvbiA0IGJ5dGUgYm91bmRhcnkgKGZvciBjaGVja3N1bSkKICAgICAgZGF0YSA9IHNwbGljZVN0cmluZyhkYXRhLCBDT01NRU5UX09GRlNFVCwgbG9hZFRlc3RGb250SWQubGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRUZXN0Rm9udElkKTsKICAgICAgLy8gQ0ZGIGNoZWNrc3VtIGlzIGltcG9ydGFudCBmb3IgSUUsIGFkanVzdGluZyBpdAogICAgICB2YXIgQ0ZGX0NIRUNLU1VNX09GRlNFVCA9IDE2OwogICAgICB2YXIgWFhYWF9WQUxVRSA9IDB4NTg1ODU4NTg7IC8vIHRoZSAiY29tbWVudCIgZmlsbGVkIHdpdGggJ1gnCiAgICAgIHZhciBjaGVja3N1bSA9IGludDMyKGRhdGEsIENGRl9DSEVDS1NVTV9PRkZTRVQpOwogICAgICBmb3IgKGkgPSAwLCBpaSA9IGxvYWRUZXN0Rm9udElkLmxlbmd0aCAtIDM7IGkgPCBpaTsgaSArPSA0KSB7CiAgICAgICAgY2hlY2tzdW0gPSAoY2hlY2tzdW0gLSBYWFhYX1ZBTFVFICsgaW50MzIobG9hZFRlc3RGb250SWQsIGkpKSB8IDA7CiAgICAgIH0KICAgICAgaWYgKGkgPCBsb2FkVGVzdEZvbnRJZC5sZW5ndGgpIHsgLy8gYWxpZ24gdG8gNCBieXRlcyBib3VuZGFyeQogICAgICAgIGNoZWNrc3VtID0gKGNoZWNrc3VtIC0gWFhYWF9WQUxVRSArCiAgICAgICAgICAgICAgICAgICAgaW50MzIobG9hZFRlc3RGb250SWQgKyAnWFhYJywgaSkpIHwgMDsKICAgICAgfQogICAgICBkYXRhID0gc3BsaWNlU3RyaW5nKGRhdGEsIENGRl9DSEVDS1NVTV9PRkZTRVQsIDQsIHN0cmluZzMyKGNoZWNrc3VtKSk7CgogICAgICB2YXIgdXJsID0gJ3VybChkYXRhOmZvbnQvb3BlbnR5cGU7YmFzZTY0LCcgKyBidG9hKGRhdGEpICsgJyk7JzsKICAgICAgdmFyIHJ1bGUgPSAnQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiInICsgbG9hZFRlc3RGb250SWQgKyAnIjtzcmM6JyArCiAgICAgICAgICAgICAgICAgdXJsICsgJ30nOwogICAgICBGb250TG9hZGVyLmluc2VydFJ1bGUocnVsZSk7CgogICAgICB2YXIgbmFtZXMgPSBbXTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBmb250cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgbmFtZXMucHVzaChmb250c1tpXS5sb2FkZWROYW1lKTsKICAgICAgfQogICAgICBuYW1lcy5wdXNoKGxvYWRUZXN0Rm9udElkKTsKCiAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgZGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLAogICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5OiBoaWRkZW47JyArCiAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7JyArCiAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwcHg7IGxlZnQ6IDBweDsnKTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBuYW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CiAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9ICdIaSc7CiAgICAgICAgc3Bhbi5zdHlsZS5mb250RmFtaWx5ID0gbmFtZXNbaV07CiAgICAgICAgZGl2LmFwcGVuZENoaWxkKHNwYW4pOwogICAgICB9CiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKCiAgICAgIGlzRm9udFJlYWR5KGxvYWRUZXN0Rm9udElkLCBmdW5jdGlvbigpIHsKICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7CiAgICAgICAgcmVxdWVzdC5jb21wbGV0ZSgpOwogICAgICB9KTsKICAgICAgLyoqIEhhY2sgZW5kICovCiAgfQovLyNlbHNlCi8vYmluZDogZnVuY3Rpb24gZm9udExvYWRlckJpbmQoZm9udHMsIGNhbGxiYWNrKSB7Ci8vICBhc3NlcnQoIWlzV29ya2VyLCAnYmluZCgpIHNoYWxsIGJlIGNhbGxlZCBmcm9tIG1haW4gdGhyZWFkJyk7Ci8vCi8vICBmb3IgKHZhciBpID0gMCwgaWkgPSBmb250cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7Ci8vICAgIHZhciBmb250ID0gZm9udHNbaV07Ci8vICAgIGlmIChmb250LmF0dGFjaGVkKSB7Ci8vICAgICAgY29udGludWU7Ci8vICAgIH0KLy8KLy8gICAgZm9udC5hdHRhY2hlZCA9IHRydWU7Ci8vICAgIGZvbnQuYmluZERPTSgpCi8vICB9Ci8vCi8vICBzZXRUaW1lb3V0KGNhbGxiYWNrKTsKLy99Ci8vI2VuZGlmCn07Cgp2YXIgRm9udEZhY2VPYmplY3QgPSAoZnVuY3Rpb24gRm9udEZhY2VPYmplY3RDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEZvbnRGYWNlT2JqZWN0KG5hbWUsIGZpbGUsIHByb3BlcnRpZXMpIHsKICAgIHRoaXMuY29tcGlsZWRHbHlwaHMgPSB7fTsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7CiAgICAgIC8vIGltcG9ydGluZyB0cmFuc2xhdGVkIGRhdGEKICAgICAgdmFyIGRhdGEgPSBhcmd1bWVudHNbMF07CiAgICAgIGZvciAodmFyIGkgaW4gZGF0YSkgewogICAgICAgIHRoaXNbaV0gPSBkYXRhW2ldOwogICAgICB9CiAgICAgIHJldHVybjsKICAgIH0KICB9CiAgRm9udEZhY2VPYmplY3QucHJvdG90eXBlID0gewovLyNpZiAhKE1PWkNFTlRSQUwpCiAgICBjcmVhdGVOYXRpdmVGb250RmFjZTogZnVuY3Rpb24gRm9udEZhY2VPYmplY3RfY3JlYXRlTmF0aXZlRm9udEZhY2UoKSB7CiAgICAgIGlmICghdGhpcy5kYXRhKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KCiAgICAgIGlmIChQREZKUy5kaXNhYmxlRm9udEZhY2UpIHsKICAgICAgICB0aGlzLmRpc2FibGVGb250RmFjZSA9IHRydWU7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KCiAgICAgIHZhciBuYXRpdmVGb250RmFjZSA9IG5ldyBGb250RmFjZSh0aGlzLmxvYWRlZE5hbWUsIHRoaXMuZGF0YSwge30pOwoKICAgICAgRm9udExvYWRlci5hZGROYXRpdmVGb250RmFjZShuYXRpdmVGb250RmFjZSk7CgogICAgICBpZiAoUERGSlMucGRmQnVnICYmICdGb250SW5zcGVjdG9yJyBpbiBnbG9iYWxTY29wZSAmJgogICAgICAgICAgZ2xvYmFsU2NvcGVbJ0ZvbnRJbnNwZWN0b3InXS5lbmFibGVkKSB7CiAgICAgICAgZ2xvYmFsU2NvcGVbJ0ZvbnRJbnNwZWN0b3InXS5mb250QWRkZWQodGhpcyk7CiAgICAgIH0KICAgICAgcmV0dXJuIG5hdGl2ZUZvbnRGYWNlOwogICAgfSwKLy8jZW5kaWYKCiAgICBiaW5kRE9NOiBmdW5jdGlvbiBGb250RmFjZU9iamVjdF9iaW5kRE9NKCkgewogICAgICBpZiAoIXRoaXMuZGF0YSkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICBpZiAoUERGSlMuZGlzYWJsZUZvbnRGYWNlKSB7CiAgICAgICAgdGhpcy5kaXNhYmxlRm9udEZhY2UgPSB0cnVlOwogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICB2YXIgZGF0YSA9IGJ5dGVzVG9TdHJpbmcobmV3IFVpbnQ4QXJyYXkodGhpcy5kYXRhKSk7CiAgICAgIHZhciBmb250TmFtZSA9IHRoaXMubG9hZGVkTmFtZTsKCiAgICAgIC8vIEFkZCB0aGUgZm9udC1mYWNlIHJ1bGUgdG8gdGhlIGRvY3VtZW50CiAgICAgIHZhciB1cmwgPSAoJ3VybChkYXRhOicgKyB0aGlzLm1pbWV0eXBlICsgJztiYXNlNjQsJyArCiAgICAgICAgICAgICAgICAgd2luZG93LmJ0b2EoZGF0YSkgKyAnKTsnKTsKICAgICAgdmFyIHJ1bGUgPSAnQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiInICsgZm9udE5hbWUgKyAnIjtzcmM6JyArIHVybCArICd9JzsKICAgICAgRm9udExvYWRlci5pbnNlcnRSdWxlKHJ1bGUpOwoKICAgICAgaWYgKFBERkpTLnBkZkJ1ZyAmJiAnRm9udEluc3BlY3RvcicgaW4gZ2xvYmFsU2NvcGUgJiYKICAgICAgICAgIGdsb2JhbFNjb3BlWydGb250SW5zcGVjdG9yJ10uZW5hYmxlZCkgewogICAgICAgIGdsb2JhbFNjb3BlWydGb250SW5zcGVjdG9yJ10uZm9udEFkZGVkKHRoaXMsIHVybCk7CiAgICAgIH0KCiAgICAgIHJldHVybiBydWxlOwogICAgfSwKCiAgICBnZXRQYXRoR2VuZXJhdG9yOiBmdW5jdGlvbiBGb250TG9hZGVyX2dldFBhdGhHZW5lcmF0b3Iob2JqcywgY2hhcmFjdGVyKSB7CiAgICAgIGlmICghKGNoYXJhY3RlciBpbiB0aGlzLmNvbXBpbGVkR2x5cGhzKSkgewogICAgICAgIHZhciBqcyA9IG9ianMuZ2V0KHRoaXMubG9hZGVkTmFtZSArICdfcGF0aF8nICsgY2hhcmFjdGVyKTsKICAgICAgICAvKmpzaGludCAtVzA1NCAqLwogICAgICAgIHRoaXMuY29tcGlsZWRHbHlwaHNbY2hhcmFjdGVyXSA9IG5ldyBGdW5jdGlvbignYycsICdzaXplJywganMpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVkR2x5cGhzW2NoYXJhY3Rlcl07CiAgICB9CiAgfTsKICByZXR1cm4gRm9udEZhY2VPYmplY3Q7Cn0pKCk7CgoKdmFyIEFOTk9UX01JTl9TSVpFID0gMTA7IC8vIHB4Cgp2YXIgQW5ub3RhdGlvblV0aWxzID0gKGZ1bmN0aW9uIEFubm90YXRpb25VdGlsc0Nsb3N1cmUoKSB7CiAgLy8gVE9ETyhtYWNrKTogVGhpcyBkdXBlcyBzb21lIG9mIHRoZSBsb2dpYyBpbiBDYW52YXNHcmFwaGljcy5zZXRGb250KCkKICBmdW5jdGlvbiBzZXRUZXh0U3R5bGVzKGVsZW1lbnQsIGl0ZW0sIGZvbnRPYmopIHsKCiAgICB2YXIgc3R5bGUgPSBlbGVtZW50LnN0eWxlOwogICAgc3R5bGUuZm9udFNpemUgPSBpdGVtLmZvbnRTaXplICsgJ3B4JzsKICAgIHN0eWxlLmRpcmVjdGlvbiA9IGl0ZW0uZm9udERpcmVjdGlvbiA8IDAgPyAncnRsJzogJ2x0cic7CgogICAgaWYgKCFmb250T2JqKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBzdHlsZS5mb250V2VpZ2h0ID0gZm9udE9iai5ibGFjayA/CiAgICAgIChmb250T2JqLmJvbGQgPyAnYm9sZGVyJyA6ICdib2xkJykgOgogICAgICAoZm9udE9iai5ib2xkID8gJ2JvbGQnIDogJ25vcm1hbCcpOwogICAgc3R5bGUuZm9udFN0eWxlID0gZm9udE9iai5pdGFsaWMgPyAnaXRhbGljJyA6ICdub3JtYWwnOwoKICAgIHZhciBmb250TmFtZSA9IGZvbnRPYmoubG9hZGVkTmFtZTsKICAgIHZhciBmb250RmFtaWx5ID0gZm9udE5hbWUgPyAnIicgKyBmb250TmFtZSArICciLCAnIDogJyc7CiAgICAvLyBVc2UgYSByZWFzb25hYmxlIGRlZmF1bHQgZm9udCBpZiB0aGUgZm9udCBkb2Vzbid0IHNwZWNpZnkgYSBmYWxsYmFjawogICAgdmFyIGZhbGxiYWNrTmFtZSA9IGZvbnRPYmouZmFsbGJhY2tOYW1lIHx8ICdIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnOwogICAgc3R5bGUuZm9udEZhbWlseSA9IGZvbnRGYW1pbHkgKyBmYWxsYmFja05hbWU7CiAgfQoKICBmdW5jdGlvbiBpbml0Q29udGFpbmVyKGl0ZW0sIGRyYXdCb3JkZXIpIHsKICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWN0aW9uJyk7CiAgICB2YXIgY3N0eWxlID0gY29udGFpbmVyLnN0eWxlOwogICAgdmFyIHdpZHRoID0gaXRlbS5yZWN0WzJdIC0gaXRlbS5yZWN0WzBdOwogICAgdmFyIGhlaWdodCA9IGl0ZW0ucmVjdFszXSAtIGl0ZW0ucmVjdFsxXTsKCiAgICB2YXIgYldpZHRoID0gaXRlbS5ib3JkZXJXaWR0aCB8fCAwOwogICAgaWYgKGJXaWR0aCkgewogICAgICB3aWR0aCA9IHdpZHRoIC0gMiAqIGJXaWR0aDsKICAgICAgaGVpZ2h0ID0gaGVpZ2h0IC0gMiAqIGJXaWR0aDsKICAgICAgY3N0eWxlLmJvcmRlcldpZHRoID0gYldpZHRoICsgJ3B4JzsKICAgICAgdmFyIGNvbG9yID0gaXRlbS5jb2xvcjsKICAgICAgaWYgKGRyYXdCb3JkZXIgJiYgY29sb3IpIHsKICAgICAgICBjc3R5bGUuYm9yZGVyU3R5bGUgPSAnc29saWQnOwogICAgICAgIGNzdHlsZS5ib3JkZXJDb2xvciA9IFV0aWwubWFrZUNzc1JnYihNYXRoLnJvdW5kKGNvbG9yWzBdICogMjU1KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZChjb2xvclsxXSAqIDI1NSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQoY29sb3JbMl0gKiAyNTUpKTsKICAgICAgfQogICAgfQogICAgY3N0eWxlLndpZHRoID0gd2lkdGggKyAncHgnOwogICAgY3N0eWxlLmhlaWdodCA9IGhlaWdodCArICdweCc7CiAgICByZXR1cm4gY29udGFpbmVyOwogIH0KCiAgZnVuY3Rpb24gZ2V0SHRtbEVsZW1lbnRGb3JUZXh0V2lkZ2V0QW5ub3RhdGlvbihpdGVtLCBjb21tb25PYmpzKSB7CiAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgdmFyIHdpZHRoID0gaXRlbS5yZWN0WzJdIC0gaXRlbS5yZWN0WzBdOwogICAgdmFyIGhlaWdodCA9IGl0ZW0ucmVjdFszXSAtIGl0ZW0ucmVjdFsxXTsKICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7CiAgICBlbGVtZW50LnN0eWxlLmhlaWdodCA9IGhlaWdodCArICdweCc7CiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAndGFibGUnOwoKICAgIHZhciBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjb250ZW50LnRleHRDb250ZW50ID0gaXRlbS5maWVsZFZhbHVlOwogICAgdmFyIHRleHRBbGlnbm1lbnQgPSBpdGVtLnRleHRBbGlnbm1lbnQ7CiAgICBjb250ZW50LnN0eWxlLnRleHRBbGlnbiA9IFsnbGVmdCcsICdjZW50ZXInLCAncmlnaHQnXVt0ZXh0QWxpZ25tZW50XTsKICAgIGNvbnRlbnQuc3R5bGUudmVydGljYWxBbGlnbiA9ICdtaWRkbGUnOwogICAgY29udGVudC5zdHlsZS5kaXNwbGF5ID0gJ3RhYmxlLWNlbGwnOwoKICAgIHZhciBmb250T2JqID0gaXRlbS5mb250UmVmTmFtZSA/CiAgICAgIGNvbW1vbk9ianMuZ2V0RGF0YShpdGVtLmZvbnRSZWZOYW1lKSA6IG51bGw7CiAgICBzZXRUZXh0U3R5bGVzKGNvbnRlbnQsIGl0ZW0sIGZvbnRPYmopOwoKICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudCk7CgogICAgcmV0dXJuIGVsZW1lbnQ7CiAgfQoKICBmdW5jdGlvbiBnZXRIdG1sRWxlbWVudEZvclRleHRBbm5vdGF0aW9uKGl0ZW0pIHsKICAgIHZhciByZWN0ID0gaXRlbS5yZWN0OwoKICAgIC8vIHNhbml0eSBjaGVjayBiZWNhdXNlIG9mIE9Pby1nZW5lcmF0ZWQgUERGcwogICAgaWYgKChyZWN0WzNdIC0gcmVjdFsxXSkgPCBBTk5PVF9NSU5fU0laRSkgewogICAgICByZWN0WzNdID0gcmVjdFsxXSArIEFOTk9UX01JTl9TSVpFOwogICAgfQogICAgaWYgKChyZWN0WzJdIC0gcmVjdFswXSkgPCBBTk5PVF9NSU5fU0laRSkgewogICAgICByZWN0WzJdID0gcmVjdFswXSArIChyZWN0WzNdIC0gcmVjdFsxXSk7IC8vIG1ha2UgaXQgc3F1YXJlCiAgICB9CgogICAgdmFyIGNvbnRhaW5lciA9IGluaXRDb250YWluZXIoaXRlbSwgZmFsc2UpOwogICAgY29udGFpbmVyLmNsYXNzTmFtZSA9ICdhbm5vdFRleHQnOwoKICAgIHZhciBpbWFnZSAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKICAgIGltYWdlLnN0eWxlLmhlaWdodCA9IGNvbnRhaW5lci5zdHlsZS5oZWlnaHQ7CiAgICBpbWFnZS5zdHlsZS53aWR0aCA9IGNvbnRhaW5lci5zdHlsZS53aWR0aDsKICAgIHZhciBpY29uTmFtZSA9IGl0ZW0ubmFtZTsKICAgIGltYWdlLnNyYyA9IFBERkpTLmltYWdlUmVzb3VyY2VzUGF0aCArICdhbm5vdGF0aW9uLScgKwogICAgICBpY29uTmFtZS50b0xvd2VyQ2FzZSgpICsgJy5zdmcnOwogICAgaW1hZ2UuYWx0ID0gJ1t7e3R5cGV9fSBBbm5vdGF0aW9uXSc7CiAgICBpbWFnZS5kYXRhc2V0LmwxMG5JZCA9ICd0ZXh0X2Fubm90YXRpb25fdHlwZSc7CiAgICBpbWFnZS5kYXRhc2V0LmwxMG5BcmdzID0gSlNPTi5zdHJpbmdpZnkoe3R5cGU6IGljb25OYW1lfSk7CgogICAgdmFyIGNvbnRlbnRXcmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjb250ZW50V3JhcHBlci5jbGFzc05hbWUgPSAnYW5ub3RUZXh0Q29udGVudFdyYXBwZXInOwogICAgY29udGVudFdyYXBwZXIuc3R5bGUubGVmdCA9IE1hdGguZmxvb3IocmVjdFsyXSAtIHJlY3RbMF0gKyA1KSArICdweCc7CiAgICBjb250ZW50V3JhcHBlci5zdHlsZS50b3AgPSAnLTEwcHgnOwoKICAgIHZhciBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjb250ZW50LmNsYXNzTmFtZSA9ICdhbm5vdFRleHRDb250ZW50JzsKICAgIGNvbnRlbnQuc2V0QXR0cmlidXRlKCdoaWRkZW4nLCB0cnVlKTsKCiAgICB2YXIgaSwgaWk7CiAgICBpZiAoaXRlbS5oYXNCZ0NvbG9yKSB7CiAgICAgIHZhciBjb2xvciA9IGl0ZW0uY29sb3I7CgogICAgICAvLyBFbmxpZ2h0ZW4gdGhlIGNvbG9yICg3MCUpCiAgICAgIHZhciBCQUNLR1JPVU5EX0VOTElHSFQgPSAwLjc7CiAgICAgIHZhciByID0gQkFDS0dST1VORF9FTkxJR0hUICogKDEuMCAtIGNvbG9yWzBdKSArIGNvbG9yWzBdOwogICAgICB2YXIgZyA9IEJBQ0tHUk9VTkRfRU5MSUdIVCAqICgxLjAgLSBjb2xvclsxXSkgKyBjb2xvclsxXTsKICAgICAgdmFyIGIgPSBCQUNLR1JPVU5EX0VOTElHSFQgKiAoMS4wIC0gY29sb3JbMl0pICsgY29sb3JbMl07CiAgICAgIGNvbnRlbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gVXRpbC5tYWtlQ3NzUmdiKChyICogMjU1KSB8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnICogMjU1KSB8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiICogMjU1KSB8IDApOwogICAgfQoKICAgIHZhciB0aXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2gxJyk7CiAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKICAgIHRpdGxlLnRleHRDb250ZW50ID0gaXRlbS50aXRsZTsKCiAgICBpZiAoIWl0ZW0uY29udGVudCAmJiAhaXRlbS50aXRsZSkgewogICAgICBjb250ZW50LnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgdHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKICAgICAgdmFyIGxpbmVzID0gaXRlbS5jb250ZW50LnNwbGl0KC8oPzpcclxuP3xcbikvKTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBsaW5lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIGxpbmUgPSBsaW5lc1tpXTsKICAgICAgICBlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGxpbmUpKTsKICAgICAgICBpZiAoaSA8IChpaSAtIDEpKSB7CiAgICAgICAgICBlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOwogICAgICAgIH0KICAgICAgfQogICAgICB0ZXh0LmFwcGVuZENoaWxkKGUpOwoKICAgICAgdmFyIHBpbm5lZCA9IGZhbHNlOwoKICAgICAgdmFyIHNob3dBbm5vdGF0aW9uID0gZnVuY3Rpb24gc2hvd0Fubm90YXRpb24ocGluKSB7CiAgICAgICAgaWYgKHBpbikgewogICAgICAgICAgcGlubmVkID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgaWYgKGNvbnRlbnQuaGFzQXR0cmlidXRlKCdoaWRkZW4nKSkgewogICAgICAgICAgY29udGFpbmVyLnN0eWxlLnpJbmRleCArPSAxOwogICAgICAgICAgY29udGVudC5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIHZhciBoaWRlQW5ub3RhdGlvbiA9IGZ1bmN0aW9uIGhpZGVBbm5vdGF0aW9uKHVucGluKSB7CiAgICAgICAgaWYgKHVucGluKSB7CiAgICAgICAgICBwaW5uZWQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKCFjb250ZW50Lmhhc0F0dHJpYnV0ZSgnaGlkZGVuJykgJiYgIXBpbm5lZCkgewogICAgICAgICAgY29udGFpbmVyLnN0eWxlLnpJbmRleCAtPSAxOwogICAgICAgICAgY29udGVudC5zZXRBdHRyaWJ1dGUoJ2hpZGRlbicsIHRydWUpOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIHZhciB0b2dnbGVBbm5vdGF0aW9uID0gZnVuY3Rpb24gdG9nZ2xlQW5ub3RhdGlvbigpIHsKICAgICAgICBpZiAocGlubmVkKSB7CiAgICAgICAgICBoaWRlQW5ub3RhdGlvbih0cnVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgc2hvd0Fubm90YXRpb24odHJ1ZSk7CiAgICAgICAgfQogICAgICB9OwoKICAgICAgaW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiBpbWFnZV9jbGlja0hhbmRsZXIoKSB7CiAgICAgICAgdG9nZ2xlQW5ub3RhdGlvbigpOwogICAgICB9LCBmYWxzZSk7CiAgICAgIGltYWdlLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIGZ1bmN0aW9uIGltYWdlX21vdXNlT3ZlckhhbmRsZXIoKSB7CiAgICAgICAgc2hvd0Fubm90YXRpb24oKTsKICAgICAgfSwgZmFsc2UpOwogICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIGZ1bmN0aW9uIGltYWdlX21vdXNlT3V0SGFuZGxlcigpIHsKICAgICAgICBoaWRlQW5ub3RhdGlvbigpOwogICAgICB9LCBmYWxzZSk7CgogICAgICBjb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gY29udGVudF9jbGlja0hhbmRsZXIoKSB7CiAgICAgICAgaGlkZUFubm90YXRpb24odHJ1ZSk7CiAgICAgIH0sIGZhbHNlKTsKICAgIH0KCiAgICBjb250ZW50LmFwcGVuZENoaWxkKHRpdGxlKTsKICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQodGV4dCk7CiAgICBjb250ZW50V3JhcHBlci5hcHBlbmRDaGlsZChjb250ZW50KTsKICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChpbWFnZSk7CiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY29udGVudFdyYXBwZXIpOwoKICAgIHJldHVybiBjb250YWluZXI7CiAgfQoKICBmdW5jdGlvbiBnZXRIdG1sRWxlbWVudEZvckxpbmtBbm5vdGF0aW9uKGl0ZW0pIHsKICAgIHZhciBjb250YWluZXIgPSBpbml0Q29udGFpbmVyKGl0ZW0sIHRydWUpOwogICAgY29udGFpbmVyLmNsYXNzTmFtZSA9ICdhbm5vdExpbmsnOwoKICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgbGluay5ocmVmID0gbGluay50aXRsZSA9IGl0ZW0udXJsIHx8ICcnOwogICAgaWYgKGl0ZW0udXJsICYmIFBERkpTLm9wZW5FeHRlcm5hbExpbmtzSW5OZXdXaW5kb3cpIHsKICAgICAgbGluay50YXJnZXQgPSAnX2JsYW5rJzsKICAgIH0KCiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGluayk7CgogICAgcmV0dXJuIGNvbnRhaW5lcjsKICB9CgogIGZ1bmN0aW9uIGdldEh0bWxFbGVtZW50KGRhdGEsIG9ianMpIHsKICAgIHN3aXRjaCAoZGF0YS5hbm5vdGF0aW9uVHlwZSkgewogICAgICBjYXNlIEFubm90YXRpb25UeXBlLldJREdFVDoKICAgICAgICByZXR1cm4gZ2V0SHRtbEVsZW1lbnRGb3JUZXh0V2lkZ2V0QW5ub3RhdGlvbihkYXRhLCBvYmpzKTsKICAgICAgY2FzZSBBbm5vdGF0aW9uVHlwZS5URVhUOgogICAgICAgIHJldHVybiBnZXRIdG1sRWxlbWVudEZvclRleHRBbm5vdGF0aW9uKGRhdGEpOwogICAgICBjYXNlIEFubm90YXRpb25UeXBlLkxJTks6CiAgICAgICAgcmV0dXJuIGdldEh0bWxFbGVtZW50Rm9yTGlua0Fubm90YXRpb24oZGF0YSk7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBhbm5vdGF0aW9uVHlwZTogJyArIGRhdGEuYW5ub3RhdGlvblR5cGUpOwogICAgfQogIH0KCiAgcmV0dXJuIHsKICAgIGdldEh0bWxFbGVtZW50OiBnZXRIdG1sRWxlbWVudAogIH07Cn0pKCk7ClBERkpTLkFubm90YXRpb25VdGlscyA9IEFubm90YXRpb25VdGlsczsKCgovLyNpZiAoR0VORVJJQyB8fCBTSU5HTEVfRklMRSkKdmFyIFNWR19ERUZBVUxUUyA9IHsKICBmb250U3R5bGU6ICdub3JtYWwnLAogIGZvbnRXZWlnaHQ6ICdub3JtYWwnLAogIGZpbGxDb2xvcjogJyMwMDAwMDAnCn07Cgp2YXIgY29udmVydEltZ0RhdGFUb1BuZyA9IChmdW5jdGlvbiBjb252ZXJ0SW1nRGF0YVRvUG5nQ2xvc3VyZSgpIHsKICB2YXIgUE5HX0hFQURFUiA9CiAgICBuZXcgVWludDhBcnJheShbMHg4OSwgMHg1MCwgMHg0ZSwgMHg0NywgMHgwZCwgMHgwYSwgMHgxYSwgMHgwYV0pOwoKICB2YXIgQ0hVTktfV1JBUFBFUl9TSVpFID0gMTI7CgogIHZhciBjcmNUYWJsZSA9IG5ldyBJbnQzMkFycmF5KDI1Nik7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTY7IGkrKykgewogICAgdmFyIGMgPSBpOwogICAgZm9yICh2YXIgaCA9IDA7IGggPCA4OyBoKyspIHsKICAgICAgaWYgKGMgJiAxKSB7CiAgICAgICAgYyA9IDB4ZWRCODgzMjAgXiAoKGMgPj4gMSkgJiAweDdmZmZmZmZmKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjID0gKGMgPj4gMSkgJiAweDdmZmZmZmZmOwogICAgICB9CiAgICB9CiAgICBjcmNUYWJsZVtpXSA9IGM7CiAgfQoKICBmdW5jdGlvbiBjcmMzMihkYXRhLCBzdGFydCwgZW5kKSB7CiAgICB2YXIgY3JjID0gLTE7CiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykgewogICAgICB2YXIgYSA9IChjcmMgXiBkYXRhW2ldKSAmIDB4ZmY7CiAgICAgIHZhciBiID0gY3JjVGFibGVbYV07CiAgICAgIGNyYyA9IChjcmMgPj4+IDgpIF4gYjsKICAgIH0KICAgIHJldHVybiBjcmMgXiAtMTsKICB9CgogIGZ1bmN0aW9uIHdyaXRlUG5nQ2h1bmsodHlwZSwgYm9keSwgZGF0YSwgb2Zmc2V0KSB7CiAgICB2YXIgcCA9IG9mZnNldDsKICAgIHZhciBsZW4gPSBib2R5Lmxlbmd0aDsKCiAgICBkYXRhW3BdID0gbGVuID4+IDI0ICYgMHhmZjsKICAgIGRhdGFbcCArIDFdID0gbGVuID4+IDE2ICYgMHhmZjsKICAgIGRhdGFbcCArIDJdID0gbGVuID4+IDggJiAweGZmOwogICAgZGF0YVtwICsgM10gPSBsZW4gJiAweGZmOwogICAgcCArPSA0OwoKICAgIGRhdGFbcF0gPSB0eXBlLmNoYXJDb2RlQXQoMCkgJiAweGZmOwogICAgZGF0YVtwICsgMV0gPSB0eXBlLmNoYXJDb2RlQXQoMSkgJiAweGZmOwogICAgZGF0YVtwICsgMl0gPSB0eXBlLmNoYXJDb2RlQXQoMikgJiAweGZmOwogICAgZGF0YVtwICsgM10gPSB0eXBlLmNoYXJDb2RlQXQoMykgJiAweGZmOwogICAgcCArPSA0OwoKICAgIGRhdGEuc2V0KGJvZHksIHApOwogICAgcCArPSBib2R5Lmxlbmd0aDsKCiAgICB2YXIgY3JjID0gY3JjMzIoZGF0YSwgb2Zmc2V0ICsgNCwgcCk7CgogICAgZGF0YVtwXSA9IGNyYyA+PiAyNCAmIDB4ZmY7CiAgICBkYXRhW3AgKyAxXSA9IGNyYyA+PiAxNiAmIDB4ZmY7CiAgICBkYXRhW3AgKyAyXSA9IGNyYyA+PiA4ICYgMHhmZjsKICAgIGRhdGFbcCArIDNdID0gY3JjICYgMHhmZjsKICB9CgogIGZ1bmN0aW9uIGFkbGVyMzIoZGF0YSwgc3RhcnQsIGVuZCkgewogICAgdmFyIGEgPSAxOwogICAgdmFyIGIgPSAwOwogICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHsKICAgICAgYSA9IChhICsgKGRhdGFbaV0gJiAweGZmKSkgJSA2NTUyMTsKICAgICAgYiA9IChiICsgYSkgJSA2NTUyMTsKICAgIH0KICAgIHJldHVybiAoYiA8PCAxNikgfCBhOwogIH0KCiAgZnVuY3Rpb24gZW5jb2RlKGltZ0RhdGEsIGtpbmQpIHsKICAgIHZhciB3aWR0aCA9IGltZ0RhdGEud2lkdGg7CiAgICB2YXIgaGVpZ2h0ID0gaW1nRGF0YS5oZWlnaHQ7CiAgICB2YXIgYml0RGVwdGgsIGNvbG9yVHlwZSwgbGluZVNpemU7CiAgICB2YXIgYnl0ZXMgPSBpbWdEYXRhLmRhdGE7CgogICAgc3dpdGNoIChraW5kKSB7CiAgICAgIGNhc2UgSW1hZ2VLaW5kLkdSQVlTQ0FMRV8xQlBQOgogICAgICAgIGNvbG9yVHlwZSA9IDA7CiAgICAgICAgYml0RGVwdGggPSAxOwogICAgICAgIGxpbmVTaXplID0gKHdpZHRoICsgNykgPj4gMzsKICAgICAgICBicmVhazsKICAgICAgY2FzZSBJbWFnZUtpbmQuUkdCXzI0QlBQOgogICAgICAgIGNvbG9yVHlwZSA9IDI7CiAgICAgICAgYml0RGVwdGggPSA4OwogICAgICAgIGxpbmVTaXplID0gd2lkdGggKiAzOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIEltYWdlS2luZC5SR0JBXzMyQlBQOgogICAgICAgIGNvbG9yVHlwZSA9IDY7CiAgICAgICAgYml0RGVwdGggPSA4OwogICAgICAgIGxpbmVTaXplID0gd2lkdGggKiA0OwogICAgICAgIGJyZWFrOwogICAgICBkZWZhdWx0OgogICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBmb3JtYXQnKTsKICAgIH0KCiAgICAvLyBwcmVmaXggZXZlcnkgcm93IHdpdGggcHJlZGljdG9yIDAKICAgIHZhciBsaXRlcmFscyA9IG5ldyBVaW50OEFycmF5KCgxICsgbGluZVNpemUpICogaGVpZ2h0KTsKICAgIHZhciBvZmZzZXRMaXRlcmFscyA9IDAsIG9mZnNldEJ5dGVzID0gMDsKICAgIHZhciB5LCBpOwogICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7CiAgICAgIGxpdGVyYWxzW29mZnNldExpdGVyYWxzKytdID0gMDsgLy8gbm8gcHJlZGljdGlvbgogICAgICBsaXRlcmFscy5zZXQoYnl0ZXMuc3ViYXJyYXkob2Zmc2V0Qnl0ZXMsIG9mZnNldEJ5dGVzICsgbGluZVNpemUpLAogICAgICAgICAgICAgICAgICAgb2Zmc2V0TGl0ZXJhbHMpOwogICAgICBvZmZzZXRCeXRlcyArPSBsaW5lU2l6ZTsKICAgICAgb2Zmc2V0TGl0ZXJhbHMgKz0gbGluZVNpemU7CiAgICB9CgogICAgaWYgKGtpbmQgPT09IEltYWdlS2luZC5HUkFZU0NBTEVfMUJQUCkgewogICAgICAvLyBpbnZlcnRpbmcgZm9yIEIvVwogICAgICBvZmZzZXRMaXRlcmFscyA9IDA7CiAgICAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgewogICAgICAgIG9mZnNldExpdGVyYWxzKys7IC8vIHNraXBwaW5nIHByZWRpY3RvcgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsaW5lU2l6ZTsgaSsrKSB7CiAgICAgICAgICBsaXRlcmFsc1tvZmZzZXRMaXRlcmFscysrXSBePSAweEZGOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHZhciBpaGRyID0gbmV3IFVpbnQ4QXJyYXkoWwogICAgICB3aWR0aCA+PiAyNCAmIDB4ZmYsCiAgICAgIHdpZHRoID4+IDE2ICYgMHhmZiwKICAgICAgd2lkdGggPj4gOCAmIDB4ZmYsCiAgICAgIHdpZHRoICYgMHhmZiwKICAgICAgaGVpZ2h0ID4+IDI0ICYgMHhmZiwKICAgICAgaGVpZ2h0ID4+IDE2ICYgMHhmZiwKICAgICAgaGVpZ2h0ID4+IDggJiAweGZmLAogICAgICBoZWlnaHQgJiAweGZmLAogICAgICBiaXREZXB0aCwgLy8gYml0IGRlcHRoCiAgICAgIGNvbG9yVHlwZSwgLy8gY29sb3IgdHlwZQogICAgICAweDAwLCAvLyBjb21wcmVzc2lvbiBtZXRob2QKICAgICAgMHgwMCwgLy8gZmlsdGVyIG1ldGhvZAogICAgICAweDAwIC8vIGludGVybGFjZSBtZXRob2QKICAgIF0pOwoKICAgIHZhciBsZW4gPSBsaXRlcmFscy5sZW5ndGg7CiAgICB2YXIgbWF4QmxvY2tMZW5ndGggPSAweEZGRkY7CgogICAgdmFyIGRlZmxhdGVCbG9ja3MgPSBNYXRoLmNlaWwobGVuIC8gbWF4QmxvY2tMZW5ndGgpOwogICAgdmFyIGlkYXQgPSBuZXcgVWludDhBcnJheSgyICsgbGVuICsgZGVmbGF0ZUJsb2NrcyAqIDUgKyA0KTsKICAgIHZhciBwaSA9IDA7CiAgICBpZGF0W3BpKytdID0gMHg3ODsgLy8gY29tcHJlc3Npb24gbWV0aG9kIGFuZCBmbGFncwogICAgaWRhdFtwaSsrXSA9IDB4OWM7IC8vIGZsYWdzCgogICAgdmFyIHBvcyA9IDA7CiAgICB3aGlsZSAobGVuID4gbWF4QmxvY2tMZW5ndGgpIHsKICAgICAgLy8gd3JpdGluZyBub24tZmluYWwgREVGTEFURSBibG9ja3MgdHlwZSAwIGFuZCBsZW5ndGggb2YgNjU1MzUKICAgICAgaWRhdFtwaSsrXSA9IDB4MDA7CiAgICAgIGlkYXRbcGkrK10gPSAweGZmOwogICAgICBpZGF0W3BpKytdID0gMHhmZjsKICAgICAgaWRhdFtwaSsrXSA9IDB4MDA7CiAgICAgIGlkYXRbcGkrK10gPSAweDAwOwogICAgICBpZGF0LnNldChsaXRlcmFscy5zdWJhcnJheShwb3MsIHBvcyArIG1heEJsb2NrTGVuZ3RoKSwgcGkpOwogICAgICBwaSArPSBtYXhCbG9ja0xlbmd0aDsKICAgICAgcG9zICs9IG1heEJsb2NrTGVuZ3RoOwogICAgICBsZW4gLT0gbWF4QmxvY2tMZW5ndGg7CiAgICB9CgogICAgLy8gd3JpdGluZyBub24tZmluYWwgREVGTEFURSBibG9ja3MgdHlwZSAwCiAgICBpZGF0W3BpKytdID0gMHgwMTsKICAgIGlkYXRbcGkrK10gPSBsZW4gJiAweGZmOwogICAgaWRhdFtwaSsrXSA9IGxlbiA+PiA4ICYgMHhmZjsKICAgIGlkYXRbcGkrK10gPSAofmxlbiAmIDB4ZmZmZikgJiAweGZmOwogICAgaWRhdFtwaSsrXSA9ICh+bGVuICYgMHhmZmZmKSA+PiA4ICYgMHhmZjsKICAgIGlkYXQuc2V0KGxpdGVyYWxzLnN1YmFycmF5KHBvcyksIHBpKTsKICAgIHBpICs9IGxpdGVyYWxzLmxlbmd0aCAtIHBvczsKCiAgICB2YXIgYWRsZXIgPSBhZGxlcjMyKGxpdGVyYWxzLCAwLCBsaXRlcmFscy5sZW5ndGgpOyAvLyBjaGVja3N1bQogICAgaWRhdFtwaSsrXSA9IGFkbGVyID4+IDI0ICYgMHhmZjsKICAgIGlkYXRbcGkrK10gPSBhZGxlciA+PiAxNiAmIDB4ZmY7CiAgICBpZGF0W3BpKytdID0gYWRsZXIgPj4gOCAmIDB4ZmY7CiAgICBpZGF0W3BpKytdID0gYWRsZXIgJiAweGZmOwoKICAgIC8vIFBORyB3aWxsIGNvbnNpc3RzOiBoZWFkZXIsIElIRFIrZGF0YSwgSURBVCtkYXRhLCBhbmQgSUVORC4KICAgIHZhciBwbmdMZW5ndGggPSBQTkdfSEVBREVSLmxlbmd0aCArIChDSFVOS19XUkFQUEVSX1NJWkUgKiAzKSArCiAgICAgICAgICAgICAgICAgICAgaWhkci5sZW5ndGggKyBpZGF0Lmxlbmd0aDsKICAgIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXkocG5nTGVuZ3RoKTsKICAgIHZhciBvZmZzZXQgPSAwOwogICAgZGF0YS5zZXQoUE5HX0hFQURFUiwgb2Zmc2V0KTsKICAgIG9mZnNldCArPSBQTkdfSEVBREVSLmxlbmd0aDsKICAgIHdyaXRlUG5nQ2h1bmsoJ0lIRFInLCBpaGRyLCBkYXRhLCBvZmZzZXQpOwogICAgb2Zmc2V0ICs9IENIVU5LX1dSQVBQRVJfU0laRSArIGloZHIubGVuZ3RoOwogICAgd3JpdGVQbmdDaHVuaygnSURBVEEnLCBpZGF0LCBkYXRhLCBvZmZzZXQpOwogICAgb2Zmc2V0ICs9IENIVU5LX1dSQVBQRVJfU0laRSArIGlkYXQubGVuZ3RoOwogICAgd3JpdGVQbmdDaHVuaygnSUVORCcsIG5ldyBVaW50OEFycmF5KDApLCBkYXRhLCBvZmZzZXQpOwoKICAgIHJldHVybiBQREZKUy5jcmVhdGVPYmplY3RVUkwoZGF0YSwgJ2ltYWdlL3BuZycpOwogIH0KCiAgcmV0dXJuIGZ1bmN0aW9uIGNvbnZlcnRJbWdEYXRhVG9QbmcoaW1nRGF0YSkgewogICAgdmFyIGtpbmQgPSAoaW1nRGF0YS5raW5kID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgSW1hZ2VLaW5kLkdSQVlTQ0FMRV8xQlBQIDogaW1nRGF0YS5raW5kKTsKICAgIHJldHVybiBlbmNvZGUoaW1nRGF0YSwga2luZCk7CiAgfTsKfSkoKTsKCnZhciBTVkdFeHRyYVN0YXRlID0gKGZ1bmN0aW9uIFNWR0V4dHJhU3RhdGVDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFNWR0V4dHJhU3RhdGUoKSB7CiAgICB0aGlzLmZvbnRTaXplU2NhbGUgPSAxOwogICAgdGhpcy5mb250V2VpZ2h0ID0gU1ZHX0RFRkFVTFRTLmZvbnRXZWlnaHQ7CiAgICB0aGlzLmZvbnRTaXplID0gMDsKCiAgICB0aGlzLnRleHRNYXRyaXggPSBJREVOVElUWV9NQVRSSVg7CiAgICB0aGlzLmZvbnRNYXRyaXggPSBGT05UX0lERU5USVRZX01BVFJJWDsKICAgIHRoaXMubGVhZGluZyA9IDA7CgogICAgLy8gQ3VycmVudCBwb2ludCAoaW4gdXNlciBjb29yZGluYXRlcykKICAgIHRoaXMueCA9IDA7CiAgICB0aGlzLnkgPSAwOwoKICAgIC8vIFN0YXJ0IG9mIHRleHQgbGluZSAoaW4gdGV4dCBjb29yZGluYXRlcykKICAgIHRoaXMubGluZVggPSAwOwogICAgdGhpcy5saW5lWSA9IDA7CgogICAgLy8gQ2hhcmFjdGVyIGFuZCB3b3JkIHNwYWNpbmcKICAgIHRoaXMuY2hhclNwYWNpbmcgPSAwOwogICAgdGhpcy53b3JkU3BhY2luZyA9IDA7CiAgICB0aGlzLnRleHRIU2NhbGUgPSAxOwogICAgdGhpcy50ZXh0UmlzZSA9IDA7CgogICAgLy8gRGVmYXVsdCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycwogICAgdGhpcy5maWxsQ29sb3IgPSBTVkdfREVGQVVMVFMuZmlsbENvbG9yOwogICAgdGhpcy5zdHJva2VDb2xvciA9ICcjMDAwMDAwJzsKCiAgICB0aGlzLmZpbGxBbHBoYSA9IDE7CiAgICB0aGlzLnN0cm9rZUFscGhhID0gMTsKICAgIHRoaXMubGluZVdpZHRoID0gMTsKICAgIHRoaXMubGluZUpvaW4gPSAnJzsKICAgIHRoaXMubGluZUNhcCA9ICcnOwogICAgdGhpcy5taXRlckxpbWl0ID0gMDsKCiAgICB0aGlzLmRhc2hBcnJheSA9IFtdOwogICAgdGhpcy5kYXNoUGhhc2UgPSAwOwoKICAgIHRoaXMuZGVwZW5kZW5jaWVzID0gW107CgogICAgLy8gQ2xpcHBpbmcKICAgIHRoaXMuY2xpcElkID0gJyc7CiAgICB0aGlzLnBlbmRpbmdDbGlwID0gZmFsc2U7CgogICAgdGhpcy5tYXNrSWQgPSAnJzsKICB9CgogIFNWR0V4dHJhU3RhdGUucHJvdG90eXBlID0gewogICAgY2xvbmU6IGZ1bmN0aW9uIFNWR0V4dHJhU3RhdGVfY2xvbmUoKSB7CiAgICAgIHJldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpOwogICAgfSwKICAgIHNldEN1cnJlbnRQb2ludDogZnVuY3Rpb24gU1ZHRXh0cmFTdGF0ZV9zZXRDdXJyZW50UG9pbnQoeCwgeSkgewogICAgICB0aGlzLnggPSB4OwogICAgICB0aGlzLnkgPSB5OwogICAgfQogIH07CiAgcmV0dXJuIFNWR0V4dHJhU3RhdGU7Cn0pKCk7Cgp2YXIgU1ZHR3JhcGhpY3MgPSAoZnVuY3Rpb24gU1ZHR3JhcGhpY3NDbG9zdXJlKCkgewogIGZ1bmN0aW9uIGNyZWF0ZVNjcmF0Y2hTVkcod2lkdGgsIGhlaWdodCkgewogICAgdmFyIE5TID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJzsKICAgIHZhciBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6c3ZnJyk7CiAgICBzdmcuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3ZlcnNpb24nLCAnMS4xJyk7CiAgICBzdmcuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3dpZHRoJywgd2lkdGggKyAncHgnKTsKICAgIHN2Zy5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnaGVpZ2h0JywgaGVpZ2h0ICsgJ3B4Jyk7CiAgICBzdmcuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3ZpZXdCb3gnLCAnMCAwICcgKyB3aWR0aCArICcgJyArIGhlaWdodCk7CiAgICByZXR1cm4gc3ZnOwogIH0KCiAgZnVuY3Rpb24gb3BMaXN0VG9UcmVlKG9wTGlzdCkgewogICAgdmFyIG9wVHJlZSA9IFtdOwogICAgdmFyIHRtcCA9IFtdOwogICAgdmFyIG9wTGlzdExlbiA9IG9wTGlzdC5sZW5ndGg7CgogICAgZm9yICh2YXIgeCA9IDA7IHggPCBvcExpc3RMZW47IHgrKykgewogICAgICBpZiAob3BMaXN0W3hdLmZuID09PSAnc2F2ZScpIHsKICAgICAgICBvcFRyZWUucHVzaCh7J2ZuSWQnOiA5MiwgJ2ZuJzogJ2dyb3VwJywgJ2l0ZW1zJzogW119KTsKICAgICAgICB0bXAucHVzaChvcFRyZWUpOwogICAgICAgIG9wVHJlZSA9IG9wVHJlZVtvcFRyZWUubGVuZ3RoIC0gMV0uaXRlbXM7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIGlmKG9wTGlzdFt4XS5mbiA9PT0gJ3Jlc3RvcmUnKSB7CiAgICAgICAgb3BUcmVlID0gdG1wLnBvcCgpOwogICAgICB9IGVsc2UgewogICAgICAgIG9wVHJlZS5wdXNoKG9wTGlzdFt4XSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBvcFRyZWU7CiAgfQoKICAvKioKICAgKiBGb3JtYXRzIGZsb2F0IG51bWJlci4KICAgKiBAcGFyYW0gdmFsdWUge251bWJlcn0gbnVtYmVyIHRvIGZvcm1hdC4KICAgKiBAcmV0dXJucyB7c3RyaW5nfQogICAqLwogIGZ1bmN0aW9uIHBmKHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPT09ICh2YWx1ZSB8IDApKSB7IC8vIGludGVnZXIgbnVtYmVyCiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpOwogICAgfQogICAgdmFyIHMgPSB2YWx1ZS50b0ZpeGVkKDEwKTsKICAgIHZhciBpID0gcy5sZW5ndGggLSAxOwogICAgaWYgKHNbaV0gIT09ICcwJykgewogICAgICByZXR1cm4gczsKICAgIH0KICAgIC8vIHJlbW92aW5nIHRyYWlsaW5nIHplcm9zCiAgICBkbyB7CiAgICAgIGktLTsKICAgIH0gd2hpbGUgKHNbaV0gPT09ICcwJyk7CiAgICByZXR1cm4gcy5zdWJzdHIoMCwgc1tpXSA9PT0gJy4nID8gaSA6IGkgKyAxKTsKICB9CgogIC8qKgogICAqIEZvcm1hdHMgdHJhbnNmb3JtIG1hdHJpeC4gVGhlIHN0YW5kYXJkIHJvdGF0aW9uLCBzY2FsZSBhbmQgdHJhbnNsYXRlCiAgICogbWF0cmljZXMgYXJlIHJlcGxhY2VkIGJ5IHRoZWlyIHNob3J0ZXIgZm9ybXMsIGFuZCBmb3IgaWRlbnRpdHkgbWF0cml4CiAgICogcmV0dXJucyBlbXB0eSBzdHJpbmcgdG8gc2F2ZSB0aGUgbWVtb3J5LgogICAqIEBwYXJhbSBtIHtBcnJheX0gbWF0cml4IHRvIGZvcm1hdC4KICAgKiBAcmV0dXJucyB7c3RyaW5nfQogICAqLwogIGZ1bmN0aW9uIHBtKG0pIHsKICAgIGlmIChtWzRdID09PSAwICYmIG1bNV0gPT09IDApIHsKICAgICAgaWYgKG1bMV0gPT09IDAgJiYgbVsyXSA9PT0gMCkgewogICAgICAgIGlmIChtWzBdID09PSAxICYmIG1bM10gPT09IDEpIHsKICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICdzY2FsZSgnICsgcGYobVswXSkgKyAnICcgKyBwZihtWzNdKSArICcpJzsKICAgICAgfQogICAgICBpZiAobVswXSA9PT0gbVszXSAmJiBtWzFdID09PSAtbVsyXSkgewogICAgICAgIHZhciBhID0gTWF0aC5hY29zKG1bMF0pICogMTgwIC8gTWF0aC5QSTsKICAgICAgICByZXR1cm4gJ3JvdGF0ZSgnICsgcGYoYSkgKyAnKSc7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGlmIChtWzBdID09PSAxICYmIG1bMV0gPT09IDAgJiYgbVsyXSA9PT0gMCAmJiBtWzNdID09PSAxKSB7CiAgICAgICAgcmV0dXJuICd0cmFuc2xhdGUoJyArIHBmKG1bNF0pICsgJyAnICsgcGYobVs1XSkgKyAnKSc7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiAnbWF0cml4KCcgKyBwZihtWzBdKSArICcgJyArIHBmKG1bMV0pICsgJyAnICsgcGYobVsyXSkgKyAnICcgKwogICAgICBwZihtWzNdKSArICcgJyArIHBmKG1bNF0pICsgJyAnICsgcGYobVs1XSkgKyAnKSc7CiAgfQoKICBmdW5jdGlvbiBTVkdHcmFwaGljcyhjb21tb25PYmpzLCBvYmpzKSB7CiAgICB0aGlzLmN1cnJlbnQgPSBuZXcgU1ZHRXh0cmFTdGF0ZSgpOwogICAgdGhpcy50cmFuc2Zvcm1NYXRyaXggPSBJREVOVElUWV9NQVRSSVg7IC8vIEdyYXBoaWNzIHN0YXRlIG1hdHJpeAogICAgdGhpcy50cmFuc2Zvcm1TdGFjayA9IFtdOwogICAgdGhpcy5leHRyYVN0YWNrID0gW107CiAgICB0aGlzLmNvbW1vbk9ianMgPSBjb21tb25PYmpzOwogICAgdGhpcy5vYmpzID0gb2JqczsKICAgIHRoaXMucGVuZGluZ0VPRmlsbCA9IGZhbHNlOwoKICAgIHRoaXMuZW1iZWRGb250cyA9IGZhbHNlOwogICAgdGhpcy5lbWJlZGRlZEZvbnRzID0ge307CiAgICB0aGlzLmNzc1N0eWxlID0gbnVsbDsKICB9CgogIHZhciBOUyA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc7CiAgdmFyIFhNTF9OUyA9ICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UnOwogIHZhciBYTElOS19OUyA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJzsKICB2YXIgTElORV9DQVBfU1RZTEVTID0gWydidXR0JywgJ3JvdW5kJywgJ3NxdWFyZSddOwogIHZhciBMSU5FX0pPSU5fU1RZTEVTID0gWydtaXRlcicsICdyb3VuZCcsICdiZXZlbCddOwogIHZhciBjbGlwQ291bnQgPSAwOwogIHZhciBtYXNrQ291bnQgPSAwOwoKICBTVkdHcmFwaGljcy5wcm90b3R5cGUgPSB7CiAgICBzYXZlOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zYXZlKCkgewogICAgICB0aGlzLnRyYW5zZm9ybVN0YWNrLnB1c2godGhpcy50cmFuc2Zvcm1NYXRyaXgpOwogICAgICB2YXIgb2xkID0gdGhpcy5jdXJyZW50OwogICAgICB0aGlzLmV4dHJhU3RhY2sucHVzaChvbGQpOwogICAgICB0aGlzLmN1cnJlbnQgPSBvbGQuY2xvbmUoKTsKICAgIH0sCgogICAgcmVzdG9yZTogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcmVzdG9yZSgpIHsKICAgICAgdGhpcy50cmFuc2Zvcm1NYXRyaXggPSB0aGlzLnRyYW5zZm9ybVN0YWNrLnBvcCgpOwogICAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLmV4dHJhU3RhY2sucG9wKCk7CgogICAgICB0aGlzLnRncnAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6ZycpOwogICAgICB0aGlzLnRncnAuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsIHBtKHRoaXMudHJhbnNmb3JtTWF0cml4KSk7CiAgICAgIHRoaXMucGdycC5hcHBlbmRDaGlsZCh0aGlzLnRncnApOwogICAgfSwKCiAgICBncm91cDogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfZ3JvdXAoaXRlbXMpIHsKICAgICAgdGhpcy5zYXZlKCk7CiAgICAgIHRoaXMuZXhlY3V0ZU9wVHJlZShpdGVtcyk7CiAgICAgIHRoaXMucmVzdG9yZSgpOwogICAgfSwKCiAgICBsb2FkRGVwZW5kZW5jaWVzOiBmdW5jdGlvbiBTVkdHcmFwaGljc19sb2FkRGVwZW5kZW5jaWVzKG9wZXJhdG9yTGlzdCkgewogICAgICB2YXIgZm5BcnJheSA9IG9wZXJhdG9yTGlzdC5mbkFycmF5OwogICAgICB2YXIgZm5BcnJheUxlbiA9IGZuQXJyYXkubGVuZ3RoOwogICAgICB2YXIgYXJnc0FycmF5ID0gb3BlcmF0b3JMaXN0LmFyZ3NBcnJheTsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmbkFycmF5TGVuOyBpKyspIHsKICAgICAgICBpZiAoT1BTLmRlcGVuZGVuY3kgPT09IGZuQXJyYXlbaV0pIHsKICAgICAgICAgIHZhciBkZXBzID0gYXJnc0FycmF5W2ldOwogICAgICAgICAgZm9yICh2YXIgbiA9IDAsIG5uID0gZGVwcy5sZW5ndGg7IG4gPCBubjsgbisrKSB7CiAgICAgICAgICAgIHZhciBvYmogPSBkZXBzW25dOwogICAgICAgICAgICB2YXIgY29tbW9uID0gb2JqLnN1YnN0cmluZygwLCAyKSA9PT0gJ2dfJzsKICAgICAgICAgICAgdmFyIHByb21pc2U7CiAgICAgICAgICAgIGlmIChjb21tb24pIHsKICAgICAgICAgICAgICBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewogICAgICAgICAgICAgICAgc2VsZi5jb21tb25PYmpzLmdldChvYmosIHJlc29sdmUpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7CiAgICAgICAgICAgICAgICBzZWxmLm9ianMuZ2V0KG9iaiwgcmVzb2x2ZSk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5jdXJyZW50LmRlcGVuZGVuY2llcy5wdXNoKHByb21pc2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gUHJvbWlzZS5hbGwodGhpcy5jdXJyZW50LmRlcGVuZGVuY2llcyk7CiAgICB9LAoKICAgIHRyYW5zZm9ybTogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfdHJhbnNmb3JtKGEsIGIsIGMsIGQsIGUsIGYpIHsKICAgICAgdmFyIHRyYW5zZm9ybU1hdHJpeCA9IFthLCBiLCBjLCBkLCBlLCBmXTsKICAgICAgdGhpcy50cmFuc2Zvcm1NYXRyaXggPSBQREZKUy5VdGlsLnRyYW5zZm9ybSh0aGlzLnRyYW5zZm9ybU1hdHJpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1NYXRyaXgpOwoKICAgICAgdGhpcy50Z3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsKICAgICAgdGhpcy50Z3JwLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0cmFuc2Zvcm0nLCBwbSh0aGlzLnRyYW5zZm9ybU1hdHJpeCkpOwogICAgfSwKCiAgICBnZXRTVkc6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX2dldFNWRyhvcGVyYXRvckxpc3QsIHZpZXdwb3J0KSB7CiAgICAgIHRoaXMuc3ZnID0gY3JlYXRlU2NyYXRjaFNWRyh2aWV3cG9ydC53aWR0aCwgdmlld3BvcnQuaGVpZ2h0KTsKICAgICAgdGhpcy52aWV3cG9ydCA9IHZpZXdwb3J0OwoKICAgICAgcmV0dXJuIHRoaXMubG9hZERlcGVuZGVuY2llcyhvcGVyYXRvckxpc3QpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHRoaXMudHJhbnNmb3JtTWF0cml4ID0gSURFTlRJVFlfTUFUUklYOwogICAgICAgIHRoaXMucGdycCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2ZzpnJyk7IC8vIFBhcmVudCBncm91cAogICAgICAgIHRoaXMucGdycC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAndHJhbnNmb3JtJywgcG0odmlld3BvcnQudHJhbnNmb3JtKSk7CiAgICAgICAgdGhpcy50Z3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsgLy8gVHJhbnNmb3JtIGdyb3VwCiAgICAgICAgdGhpcy50Z3JwLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0cmFuc2Zvcm0nLCBwbSh0aGlzLnRyYW5zZm9ybU1hdHJpeCkpOwogICAgICAgIHRoaXMuZGVmcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2ZzpkZWZzJyk7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMuZGVmcyk7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgICAgdGhpcy5zdmcuYXBwZW5kQ2hpbGQodGhpcy5wZ3JwKTsKICAgICAgICB2YXIgb3BUcmVlID0gdGhpcy5jb252ZXJ0T3BMaXN0KG9wZXJhdG9yTGlzdCk7CiAgICAgICAgdGhpcy5leGVjdXRlT3BUcmVlKG9wVHJlZSk7CiAgICAgICAgcmV0dXJuIHRoaXMuc3ZnOwogICAgICB9LmJpbmQodGhpcykpOwogICAgfSwKCiAgICBjb252ZXJ0T3BMaXN0OiBmdW5jdGlvbiBTVkdHcmFwaGljc19jb252ZXJ0T3BMaXN0KG9wZXJhdG9yTGlzdCkgewogICAgICB2YXIgYXJnc0FycmF5ID0gb3BlcmF0b3JMaXN0LmFyZ3NBcnJheTsKICAgICAgdmFyIGZuQXJyYXkgPSBvcGVyYXRvckxpc3QuZm5BcnJheTsKICAgICAgdmFyIGZuQXJyYXlMZW4gID0gZm5BcnJheS5sZW5ndGg7CiAgICAgIHZhciBSRVZPUFMgPSBbXTsKICAgICAgdmFyIG9wTGlzdCA9IFtdOwoKICAgICAgZm9yICh2YXIgb3AgaW4gT1BTKSB7CiAgICAgICAgUkVWT1BTW09QU1tvcF1dID0gb3A7CiAgICAgIH0KCiAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgZm5BcnJheUxlbjsgeCsrKSB7CiAgICAgICAgdmFyIGZuSWQgPSBmbkFycmF5W3hdOwogICAgICAgIG9wTGlzdC5wdXNoKHsnZm5JZCcgOiBmbklkLCAnZm4nOiBSRVZPUFNbZm5JZF0sICdhcmdzJzogYXJnc0FycmF5W3hdfSk7CiAgICAgIH0KICAgICAgcmV0dXJuIG9wTGlzdFRvVHJlZShvcExpc3QpOwogICAgfSwKCiAgICBleGVjdXRlT3BUcmVlOiBmdW5jdGlvbiBTVkdHcmFwaGljc19leGVjdXRlT3BUcmVlKG9wVHJlZSkgewogICAgICB2YXIgb3BUcmVlTGVuID0gb3BUcmVlLmxlbmd0aDsKICAgICAgZm9yKHZhciB4ID0gMDsgeCA8IG9wVHJlZUxlbjsgeCsrKSB7CiAgICAgICAgdmFyIGZuID0gb3BUcmVlW3hdLmZuOwogICAgICAgIHZhciBmbklkID0gb3BUcmVlW3hdLmZuSWQ7CiAgICAgICAgdmFyIGFyZ3MgPSBvcFRyZWVbeF0uYXJnczsKCiAgICAgICAgc3dpdGNoIChmbklkIHwgMCkgewogICAgICAgICAgY2FzZSBPUFMuYmVnaW5UZXh0OgogICAgICAgICAgICB0aGlzLmJlZ2luVGV4dCgpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldExlYWRpbmc6CiAgICAgICAgICAgIHRoaXMuc2V0TGVhZGluZyhhcmdzKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRMZWFkaW5nTW92ZVRleHQ6CiAgICAgICAgICAgIHRoaXMuc2V0TGVhZGluZ01vdmVUZXh0KGFyZ3NbMF0sIGFyZ3NbMV0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldEZvbnQ6CiAgICAgICAgICAgIHRoaXMuc2V0Rm9udChhcmdzKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zaG93VGV4dDoKICAgICAgICAgICAgdGhpcy5zaG93VGV4dChhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zaG93U3BhY2VkVGV4dDoKICAgICAgICAgICAgdGhpcy5zaG93VGV4dChhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5lbmRUZXh0OgogICAgICAgICAgICB0aGlzLmVuZFRleHQoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5tb3ZlVGV4dDoKICAgICAgICAgICAgdGhpcy5tb3ZlVGV4dChhcmdzWzBdLCBhcmdzWzFdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRDaGFyU3BhY2luZzoKICAgICAgICAgICAgdGhpcy5zZXRDaGFyU3BhY2luZyhhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRXb3JkU3BhY2luZzoKICAgICAgICAgICAgdGhpcy5zZXRXb3JkU3BhY2luZyhhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRIU2NhbGU6CiAgICAgICAgICAgIHRoaXMuc2V0SFNjYWxlKGFyZ3NbMF0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldFRleHRNYXRyaXg6CiAgICAgICAgICAgIHRoaXMuc2V0VGV4dE1hdHJpeChhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1szXSwgYXJnc1s0XSwgYXJnc1s1XSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuc2V0TGluZVdpZHRoOgogICAgICAgICAgICB0aGlzLnNldExpbmVXaWR0aChhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRMaW5lSm9pbjoKICAgICAgICAgICAgdGhpcy5zZXRMaW5lSm9pbihhcmdzWzBdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5zZXRMaW5lQ2FwOgogICAgICAgICAgICB0aGlzLnNldExpbmVDYXAoYXJnc1swXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuc2V0TWl0ZXJMaW1pdDoKICAgICAgICAgICAgdGhpcy5zZXRNaXRlckxpbWl0KGFyZ3NbMF0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldEZpbGxSR0JDb2xvcjoKICAgICAgICAgICAgdGhpcy5zZXRGaWxsUkdCQ29sb3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlUkdCQ29sb3I6CiAgICAgICAgICAgIHRoaXMuc2V0U3Ryb2tlUkdCQ29sb3IoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuc2V0RGFzaDoKICAgICAgICAgICAgdGhpcy5zZXREYXNoKGFyZ3NbMF0sIGFyZ3NbMV0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnNldEdTdGF0ZToKICAgICAgICAgICAgdGhpcy5zZXRHU3RhdGUoYXJnc1swXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuZmlsbDoKICAgICAgICAgICAgdGhpcy5maWxsKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuZW9GaWxsOgogICAgICAgICAgICB0aGlzLmVvRmlsbCgpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnN0cm9rZToKICAgICAgICAgICAgdGhpcy5zdHJva2UoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5maWxsU3Ryb2tlOgogICAgICAgICAgICB0aGlzLmZpbGxTdHJva2UoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5lb0ZpbGxTdHJva2U6CiAgICAgICAgICAgIHRoaXMuZW9GaWxsU3Ryb2tlKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY2xpcDoKICAgICAgICAgICAgdGhpcy5jbGlwKCdub256ZXJvJyk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuZW9DbGlwOgogICAgICAgICAgICB0aGlzLmNsaXAoJ2V2ZW5vZGQnKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5wYWludFNvbGlkQ29sb3JJbWFnZU1hc2s6CiAgICAgICAgICAgIHRoaXMucGFpbnRTb2xpZENvbG9ySW1hZ2VNYXNrKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMucGFpbnRKcGVnWE9iamVjdDoKICAgICAgICAgICAgdGhpcy5wYWludEpwZWdYT2JqZWN0KGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnBhaW50SW1hZ2VYT2JqZWN0OgogICAgICAgICAgICB0aGlzLnBhaW50SW1hZ2VYT2JqZWN0KGFyZ3NbMF0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0OgogICAgICAgICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0KGFyZ3NbMF0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLnBhaW50SW1hZ2VNYXNrWE9iamVjdDoKICAgICAgICAgICAgdGhpcy5wYWludEltYWdlTWFza1hPYmplY3QoYXJnc1swXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMucGFpbnRGb3JtWE9iamVjdEJlZ2luOgogICAgICAgICAgICB0aGlzLnBhaW50Rm9ybVhPYmplY3RCZWdpbihhcmdzWzBdLCBhcmdzWzFdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5wYWludEZvcm1YT2JqZWN0RW5kOgogICAgICAgICAgICB0aGlzLnBhaW50Rm9ybVhPYmplY3RFbmQoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5jbG9zZVBhdGg6CiAgICAgICAgICAgIHRoaXMuY2xvc2VQYXRoKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY2xvc2VTdHJva2U6CiAgICAgICAgICAgIHRoaXMuY2xvc2VTdHJva2UoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5jbG9zZUZpbGxTdHJva2U6CiAgICAgICAgICAgIHRoaXMuY2xvc2VGaWxsU3Ryb2tlKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMubmV4dExpbmU6CiAgICAgICAgICAgIHRoaXMubmV4dExpbmUoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy50cmFuc2Zvcm06CiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbNF0sIGFyZ3NbNV0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmNvbnN0cnVjdFBhdGg6CiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0UGF0aChhcmdzWzBdLCBhcmdzWzFdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIE9QUy5lbmRQYXRoOgogICAgICAgICAgICB0aGlzLmVuZFBhdGgoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDkyOgogICAgICAgICAgICB0aGlzLmdyb3VwKG9wVHJlZVt4XS5pdGVtcyk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgd2FybignVW5pbXBsZW1lbnRlZCBtZXRob2QgJysgZm4pOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgc2V0V29yZFNwYWNpbmc6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldFdvcmRTcGFjaW5nKHdvcmRTcGFjaW5nKSB7CiAgICAgIHRoaXMuY3VycmVudC53b3JkU3BhY2luZyA9IHdvcmRTcGFjaW5nOwogICAgfSwKCiAgICBzZXRDaGFyU3BhY2luZzogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0Q2hhclNwYWNpbmcoY2hhclNwYWNpbmcpIHsKICAgICAgdGhpcy5jdXJyZW50LmNoYXJTcGFjaW5nID0gY2hhclNwYWNpbmc7CiAgICB9LAoKICAgIG5leHRMaW5lOiBmdW5jdGlvbiBTVkdHcmFwaGljc19uZXh0TGluZSgpIHsKICAgICAgdGhpcy5tb3ZlVGV4dCgwLCB0aGlzLmN1cnJlbnQubGVhZGluZyk7CiAgICB9LAoKICAgIHNldFRleHRNYXRyaXg6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldFRleHRNYXRyaXgoYSwgYiwgYywgZCwgZSwgZikgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdGhpcy5jdXJyZW50LnRleHRNYXRyaXggPSB0aGlzLmN1cnJlbnQubGluZU1hdHJpeCA9IFthLCBiLCBjLCBkLCBlLCBmXTsKCiAgICAgIHRoaXMuY3VycmVudC54ID0gdGhpcy5jdXJyZW50LmxpbmVYID0gMDsKICAgICAgdGhpcy5jdXJyZW50LnkgPSB0aGlzLmN1cnJlbnQubGluZVkgPSAwOwoKICAgICAgY3VycmVudC54Y29vcmRzID0gW107CiAgICAgIGN1cnJlbnQudHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6dHNwYW4nKTsKICAgICAgY3VycmVudC50c3Bhbi5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZm9udC1mYW1pbHknLCBjdXJyZW50LmZvbnRGYW1pbHkpOwogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmb250LXNpemUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmKGN1cnJlbnQuZm9udFNpemUpICsgJ3B4Jyk7CiAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCBwZigtY3VycmVudC55KSk7CgogICAgICBjdXJyZW50LnR4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6dGV4dCcpOwogICAgICBjdXJyZW50LnR4dEVsZW1lbnQuYXBwZW5kQ2hpbGQoY3VycmVudC50c3Bhbik7CiAgICB9LAoKICAgIGJlZ2luVGV4dDogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfYmVnaW5UZXh0KCkgewogICAgICB0aGlzLmN1cnJlbnQueCA9IHRoaXMuY3VycmVudC5saW5lWCA9IDA7CiAgICAgIHRoaXMuY3VycmVudC55ID0gdGhpcy5jdXJyZW50LmxpbmVZID0gMDsKICAgICAgdGhpcy5jdXJyZW50LnRleHRNYXRyaXggPSBJREVOVElUWV9NQVRSSVg7CiAgICAgIHRoaXMuY3VycmVudC5saW5lTWF0cml4ID0gSURFTlRJVFlfTUFUUklYOwogICAgICB0aGlzLmN1cnJlbnQudHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6dHNwYW4nKTsKICAgICAgdGhpcy5jdXJyZW50LnR4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6dGV4dCcpOwogICAgICB0aGlzLmN1cnJlbnQudHh0Z3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsKICAgICAgdGhpcy5jdXJyZW50Lnhjb29yZHMgPSBbXTsKICAgIH0sCgogICAgbW92ZVRleHQ6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX21vdmVUZXh0KHgsIHkpIHsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHRoaXMuY3VycmVudC54ID0gdGhpcy5jdXJyZW50LmxpbmVYICs9IHg7CiAgICAgIHRoaXMuY3VycmVudC55ID0gdGhpcy5jdXJyZW50LmxpbmVZICs9IHk7CgogICAgICBjdXJyZW50Lnhjb29yZHMgPSBbXTsKICAgICAgY3VycmVudC50c3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2Zzp0c3BhbicpOwogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmb250LWZhbWlseScsIGN1cnJlbnQuZm9udEZhbWlseSk7CiAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZvbnQtc2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGYoY3VycmVudC5mb250U2l6ZSkgKyAncHgnKTsKICAgICAgY3VycmVudC50c3Bhbi5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsIHBmKC1jdXJyZW50LnkpKTsKICAgIH0sCgogICAgc2hvd1RleHQ6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3Nob3dUZXh0KGdseXBocykgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIGZvbnQgPSBjdXJyZW50LmZvbnQ7CiAgICAgIHZhciBmb250U2l6ZSA9IGN1cnJlbnQuZm9udFNpemU7CgogICAgICBpZiAoZm9udFNpemUgPT09IDApIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBjaGFyU3BhY2luZyA9IGN1cnJlbnQuY2hhclNwYWNpbmc7CiAgICAgIHZhciB3b3JkU3BhY2luZyA9IGN1cnJlbnQud29yZFNwYWNpbmc7CiAgICAgIHZhciBmb250RGlyZWN0aW9uID0gY3VycmVudC5mb250RGlyZWN0aW9uOwogICAgICB2YXIgdGV4dEhTY2FsZSA9IGN1cnJlbnQudGV4dEhTY2FsZSAqIGZvbnREaXJlY3Rpb247CiAgICAgIHZhciBnbHlwaHNMZW5ndGggPSBnbHlwaHMubGVuZ3RoOwogICAgICB2YXIgdmVydGljYWwgPSBmb250LnZlcnRpY2FsOwogICAgICB2YXIgd2lkdGhBZHZhbmNlU2NhbGUgPSBmb250U2l6ZSAqIGN1cnJlbnQuZm9udE1hdHJpeFswXTsKCiAgICAgIHZhciB4ID0gMCwgaTsKICAgICAgZm9yIChpID0gMDsgaSA8IGdseXBoc0xlbmd0aDsgKytpKSB7CiAgICAgICAgdmFyIGdseXBoID0gZ2x5cGhzW2ldOwogICAgICAgIGlmIChnbHlwaCA9PT0gbnVsbCkgewogICAgICAgICAgLy8gd29yZCBicmVhawogICAgICAgICAgeCArPSBmb250RGlyZWN0aW9uICogd29yZFNwYWNpbmc7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9IGVsc2UgaWYgKGlzTnVtKGdseXBoKSkgewogICAgICAgICAgeCArPSAtZ2x5cGggKiBmb250U2l6ZSAqIDAuMDAxOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGN1cnJlbnQueGNvb3Jkcy5wdXNoKGN1cnJlbnQueCArIHggKiB0ZXh0SFNjYWxlKTsKCiAgICAgICAgdmFyIHdpZHRoID0gZ2x5cGgud2lkdGg7CiAgICAgICAgdmFyIGNoYXJhY3RlciA9IGdseXBoLmZvbnRDaGFyOwogICAgICAgIHZhciBjaGFyV2lkdGggPSB3aWR0aCAqIHdpZHRoQWR2YW5jZVNjYWxlICsgY2hhclNwYWNpbmcgKiBmb250RGlyZWN0aW9uOwogICAgICAgIHggKz0gY2hhcldpZHRoOwoKICAgICAgICBjdXJyZW50LnRzcGFuLnRleHRDb250ZW50ICs9IGNoYXJhY3RlcjsKICAgICAgfQogICAgICBpZiAodmVydGljYWwpIHsKICAgICAgICBjdXJyZW50LnkgLT0geCAqIHRleHRIU2NhbGU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY3VycmVudC54ICs9IHggKiB0ZXh0SFNjYWxlOwogICAgICB9CgogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICd4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Lnhjb29yZHMubWFwKHBmKS5qb2luKCcgJykpOwogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICd5JywgcGYoLWN1cnJlbnQueSkpOwogICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmb250LWZhbWlseScsIGN1cnJlbnQuZm9udEZhbWlseSk7CiAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZvbnQtc2l6ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGYoY3VycmVudC5mb250U2l6ZSkgKyAncHgnKTsKICAgICAgaWYgKGN1cnJlbnQuZm9udFN0eWxlICE9PSBTVkdfREVGQVVMVFMuZm9udFN0eWxlKSB7CiAgICAgICAgY3VycmVudC50c3Bhbi5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZm9udC1zdHlsZScsIGN1cnJlbnQuZm9udFN0eWxlKTsKICAgICAgfQogICAgICBpZiAoY3VycmVudC5mb250V2VpZ2h0ICE9PSBTVkdfREVGQVVMVFMuZm9udFdlaWdodCkgewogICAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZvbnQtd2VpZ2h0JywgY3VycmVudC5mb250V2VpZ2h0KTsKICAgICAgfQogICAgICBpZiAoY3VycmVudC5maWxsQ29sb3IgIT09IFNWR19ERUZBVUxUUy5maWxsQ29sb3IpIHsKICAgICAgICBjdXJyZW50LnRzcGFuLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmaWxsJywgY3VycmVudC5maWxsQ29sb3IpOwogICAgICB9CgogICAgICBjdXJyZW50LnR4dEVsZW1lbnQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbShjdXJyZW50LnRleHRNYXRyaXgpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgc2NhbGUoMSwgLTEpJyApOwogICAgICBjdXJyZW50LnR4dEVsZW1lbnQuc2V0QXR0cmlidXRlTlMoWE1MX05TLCAneG1sOnNwYWNlJywgJ3ByZXNlcnZlJyk7CiAgICAgIGN1cnJlbnQudHh0RWxlbWVudC5hcHBlbmRDaGlsZChjdXJyZW50LnRzcGFuKTsKICAgICAgY3VycmVudC50eHRncnAuYXBwZW5kQ2hpbGQoY3VycmVudC50eHRFbGVtZW50KTsKCiAgICAgIHRoaXMudGdycC5hcHBlbmRDaGlsZChjdXJyZW50LnR4dEVsZW1lbnQpOwoKICAgIH0sCgogICAgc2V0TGVhZGluZ01vdmVUZXh0OiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRMZWFkaW5nTW92ZVRleHQoeCwgeSkgewogICAgICB0aGlzLnNldExlYWRpbmcoLXkpOwogICAgICB0aGlzLm1vdmVUZXh0KHgsIHkpOwogICAgfSwKCiAgICBhZGRGb250U3R5bGU6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX2FkZEZvbnRTdHlsZShmb250T2JqKSB7CiAgICAgIGlmICghdGhpcy5jc3NTdHlsZSkgewogICAgICAgIHRoaXMuY3NzU3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6c3R5bGUnKTsKICAgICAgICB0aGlzLmNzc1N0eWxlLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0eXBlJywgJ3RleHQvY3NzJyk7CiAgICAgICAgdGhpcy5kZWZzLmFwcGVuZENoaWxkKHRoaXMuY3NzU3R5bGUpOwogICAgICB9CgogICAgICB2YXIgdXJsID0gUERGSlMuY3JlYXRlT2JqZWN0VVJMKGZvbnRPYmouZGF0YSwgZm9udE9iai5taW1ldHlwZSk7CiAgICAgIHRoaXMuY3NzU3R5bGUudGV4dENvbnRlbnQgKz0KICAgICAgICAnQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAiJyArIGZvbnRPYmoubG9hZGVkTmFtZSArICciOycgKwogICAgICAgICcgc3JjOiB1cmwoJyArIHVybCArICcpOyB9XG4nOwogICAgfSwKCiAgICBzZXRGb250OiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRGb250KGRldGFpbHMpIHsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHZhciBmb250T2JqID0gdGhpcy5jb21tb25PYmpzLmdldChkZXRhaWxzWzBdKTsKICAgICAgdmFyIHNpemUgPSBkZXRhaWxzWzFdOwogICAgICB0aGlzLmN1cnJlbnQuZm9udCA9IGZvbnRPYmo7CgogICAgICBpZiAodGhpcy5lbWJlZEZvbnRzICYmIGZvbnRPYmouZGF0YSAmJgogICAgICAgICAgIXRoaXMuZW1iZWRkZWRGb250c1tmb250T2JqLmxvYWRlZE5hbWVdKSB7CiAgICAgICAgdGhpcy5hZGRGb250U3R5bGUoZm9udE9iaik7CiAgICAgICAgdGhpcy5lbWJlZGRlZEZvbnRzW2ZvbnRPYmoubG9hZGVkTmFtZV0gPSBmb250T2JqOwogICAgICB9CgogICAgICBjdXJyZW50LmZvbnRNYXRyaXggPSAoZm9udE9iai5mb250TWF0cml4ID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRPYmouZm9udE1hdHJpeCA6IEZPTlRfSURFTlRJVFlfTUFUUklYKTsKCiAgICAgIHZhciBib2xkID0gZm9udE9iai5ibGFjayA/IChmb250T2JqLmJvbGQgPyAnYm9sZGVyJyA6ICdib2xkJykgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9udE9iai5ib2xkID8gJ2JvbGQnIDogJ25vcm1hbCcpOwogICAgICB2YXIgaXRhbGljID0gZm9udE9iai5pdGFsaWMgPyAnaXRhbGljJyA6ICdub3JtYWwnOwoKICAgICAgaWYgKHNpemUgPCAwKSB7CiAgICAgICAgc2l6ZSA9IC1zaXplOwogICAgICAgIGN1cnJlbnQuZm9udERpcmVjdGlvbiA9IC0xOwogICAgICB9IGVsc2UgewogICAgICAgIGN1cnJlbnQuZm9udERpcmVjdGlvbiA9IDE7CiAgICAgIH0KICAgICAgY3VycmVudC5mb250U2l6ZSA9IHNpemU7CiAgICAgIGN1cnJlbnQuZm9udEZhbWlseSA9IGZvbnRPYmoubG9hZGVkTmFtZTsKICAgICAgY3VycmVudC5mb250V2VpZ2h0ID0gYm9sZDsKICAgICAgY3VycmVudC5mb250U3R5bGUgPSBpdGFsaWM7CgogICAgICBjdXJyZW50LnRzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOnRzcGFuJyk7CiAgICAgIGN1cnJlbnQudHNwYW4uc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCBwZigtY3VycmVudC55KSk7CiAgICAgIGN1cnJlbnQueGNvb3JkcyA9IFtdOwogICAgfSwKCiAgICBlbmRUZXh0OiBmdW5jdGlvbiBTVkdHcmFwaGljc19lbmRUZXh0KCkgewogICAgICBpZiAodGhpcy5jdXJyZW50LnBlbmRpbmdDbGlwKSB7CiAgICAgICAgdGhpcy5jZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMuY2dycCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgIH0KICAgICAgdGhpcy50Z3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsKICAgICAgdGhpcy50Z3JwLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0cmFuc2Zvcm0nLCBwbSh0aGlzLnRyYW5zZm9ybU1hdHJpeCkpOwogICAgfSwKCiAgICAvLyBQYXRoIHByb3BlcnRpZXMKICAgIHNldExpbmVXaWR0aDogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0TGluZVdpZHRoKHdpZHRoKSB7CiAgICAgIHRoaXMuY3VycmVudC5saW5lV2lkdGggPSB3aWR0aDsKICAgIH0sCiAgICBzZXRMaW5lQ2FwOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRMaW5lQ2FwKHN0eWxlKSB7CiAgICAgIHRoaXMuY3VycmVudC5saW5lQ2FwID0gTElORV9DQVBfU1RZTEVTW3N0eWxlXTsKICAgIH0sCiAgICBzZXRMaW5lSm9pbjogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0TGluZUpvaW4oc3R5bGUpIHsKICAgICAgdGhpcy5jdXJyZW50LmxpbmVKb2luID0gTElORV9KT0lOX1NUWUxFU1tzdHlsZV07CiAgICB9LAogICAgc2V0TWl0ZXJMaW1pdDogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0TWl0ZXJMaW1pdChsaW1pdCkgewogICAgICB0aGlzLmN1cnJlbnQubWl0ZXJMaW1pdCA9IGxpbWl0OwogICAgfSwKICAgIHNldFN0cm9rZVJHQkNvbG9yOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRTdHJva2VSR0JDb2xvcihyLCBnLCBiKSB7CiAgICAgIHZhciBjb2xvciA9IFV0aWwubWFrZUNzc1JnYihyLCBnLCBiKTsKICAgICAgdGhpcy5jdXJyZW50LnN0cm9rZUNvbG9yID0gY29sb3I7CiAgICB9LAogICAgc2V0RmlsbFJHQkNvbG9yOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRGaWxsUkdCQ29sb3IociwgZywgYikgewogICAgICB2YXIgY29sb3IgPSBVdGlsLm1ha2VDc3NSZ2IociwgZywgYik7CiAgICAgIHRoaXMuY3VycmVudC5maWxsQ29sb3IgPSBjb2xvcjsKICAgICAgdGhpcy5jdXJyZW50LnRzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOnRzcGFuJyk7CiAgICAgIHRoaXMuY3VycmVudC54Y29vcmRzID0gW107CiAgICB9LAogICAgc2V0RGFzaDogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc2V0RGFzaChkYXNoQXJyYXksIGRhc2hQaGFzZSkgewogICAgICB0aGlzLmN1cnJlbnQuZGFzaEFycmF5ID0gZGFzaEFycmF5OwogICAgICB0aGlzLmN1cnJlbnQuZGFzaFBoYXNlID0gZGFzaFBoYXNlOwogICAgfSwKCiAgICBjb25zdHJ1Y3RQYXRoOiBmdW5jdGlvbiBTVkdHcmFwaGljc19jb25zdHJ1Y3RQYXRoKG9wcywgYXJncykgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIHggPSBjdXJyZW50LngsIHkgPSBjdXJyZW50Lnk7CiAgICAgIGN1cnJlbnQucGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2ZzpwYXRoJyk7CiAgICAgIHZhciBkID0gW107CiAgICAgIHZhciBvcExlbmd0aCA9IG9wcy5sZW5ndGg7CgogICAgICBmb3IgKHZhciBpID0gMCwgaiA9IDA7IGkgPCBvcExlbmd0aDsgaSsrKSB7CiAgICAgICAgc3dpdGNoIChvcHNbaV0gfCAwKSB7CiAgICAgICAgICBjYXNlIE9QUy5yZWN0YW5nbGU6CiAgICAgICAgICAgIHggPSBhcmdzW2orK107CiAgICAgICAgICAgIHkgPSBhcmdzW2orK107CiAgICAgICAgICAgIHZhciB3aWR0aCA9IGFyZ3NbaisrXTsKICAgICAgICAgICAgdmFyIGhlaWdodCA9IGFyZ3NbaisrXTsKICAgICAgICAgICAgdmFyIHh3ID0geCArIHdpZHRoOwogICAgICAgICAgICB2YXIgeWggPSB5ICsgaGVpZ2h0OwogICAgICAgICAgICBkLnB1c2goJ00nLCBwZih4KSwgcGYoeSksICdMJywgcGYoeHcpICwgcGYoeSksICdMJywgcGYoeHcpLCBwZih5aCksCiAgICAgICAgICAgICAgICAgICAnTCcsIHBmKHgpLCBwZih5aCksICdaJyk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMubW92ZVRvOgogICAgICAgICAgICB4ID0gYXJnc1tqKytdOwogICAgICAgICAgICB5ID0gYXJnc1tqKytdOwogICAgICAgICAgICBkLnB1c2goJ00nLCBwZih4KSwgcGYoeSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmxpbmVUbzoKICAgICAgICAgICAgeCA9IGFyZ3NbaisrXTsKICAgICAgICAgICAgeSA9IGFyZ3NbaisrXTsKICAgICAgICAgICAgZC5wdXNoKCdMJywgcGYoeCkgLCBwZih5KSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY3VydmVUbzoKICAgICAgICAgICAgeCA9IGFyZ3NbaiArIDRdOwogICAgICAgICAgICB5ID0gYXJnc1tqICsgNV07CiAgICAgICAgICAgIGQucHVzaCgnQycsIHBmKGFyZ3Nbal0pLCBwZihhcmdzW2ogKyAxXSksIHBmKGFyZ3NbaiArIDJdKSwKICAgICAgICAgICAgICAgICAgIHBmKGFyZ3NbaiArIDNdKSwgcGYoeCksIHBmKHkpKTsKICAgICAgICAgICAgaiArPSA2OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG8yOgogICAgICAgICAgICB4ID0gYXJnc1tqICsgMl07CiAgICAgICAgICAgIHkgPSBhcmdzW2ogKyAzXTsKICAgICAgICAgICAgZC5wdXNoKCdDJywgcGYoeCksIHBmKHkpLCBwZihhcmdzW2pdKSwgcGYoYXJnc1tqICsgMV0pLAogICAgICAgICAgICAgICAgICAgcGYoYXJnc1tqICsgMl0pLCBwZihhcmdzW2ogKyAzXSkpOwogICAgICAgICAgICBqICs9IDQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY3VydmVUbzM6CiAgICAgICAgICAgIHggPSBhcmdzW2ogKyAyXTsKICAgICAgICAgICAgeSA9IGFyZ3NbaiArIDNdOwogICAgICAgICAgICBkLnB1c2goJ0MnLCBwZihhcmdzW2pdKSwgcGYoYXJnc1tqICsgMV0pLCBwZih4KSwgcGYoeSksCiAgICAgICAgICAgICAgICAgICBwZih4KSwgcGYoeSkpOwogICAgICAgICAgICBqICs9IDQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSBPUFMuY2xvc2VQYXRoOgogICAgICAgICAgICBkLnB1c2goJ1onKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGN1cnJlbnQucGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZCcsIGQuam9pbignICcpKTsKICAgICAgY3VycmVudC5wYXRoLnNldEF0dHJpYnV0ZU5TKG51bGwsICdzdHJva2UtbWl0ZXJsaW1pdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZihjdXJyZW50Lm1pdGVyTGltaXQpKTsKICAgICAgY3VycmVudC5wYXRoLnNldEF0dHJpYnV0ZU5TKG51bGwsICdzdHJva2UtbGluZWNhcCcsIGN1cnJlbnQubGluZUNhcCk7CiAgICAgIGN1cnJlbnQucGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnc3Ryb2tlLWxpbmVqb2luJywgY3VycmVudC5saW5lSm9pbik7CiAgICAgIGN1cnJlbnQucGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnc3Ryb2tlLXdpZHRoJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmKGN1cnJlbnQubGluZVdpZHRoKSArICdweCcpOwogICAgICBjdXJyZW50LnBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ3N0cm9rZS1kYXNoYXJyYXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC5kYXNoQXJyYXkubWFwKHBmKS5qb2luKCcgJykpOwogICAgICBjdXJyZW50LnBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ3N0cm9rZS1kYXNob2Zmc2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBmKGN1cnJlbnQuZGFzaFBoYXNlKSArICdweCcpOwogICAgICBjdXJyZW50LnBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCAnbm9uZScpOwoKICAgICAgdGhpcy50Z3JwLmFwcGVuZENoaWxkKGN1cnJlbnQucGF0aCk7CiAgICAgIGlmIChjdXJyZW50LnBlbmRpbmdDbGlwKSB7CiAgICAgICAgdGhpcy5jZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMuY2dycCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMudGdycCk7CiAgICAgIH0KICAgICAgLy8gU2F2aW5nIGEgcmVmZXJlbmNlIGluIGN1cnJlbnQuZWxlbWVudCBzbyB0aGF0IGl0IGNhbiBiZSBhZGRyZXNzZWQKICAgICAgLy8gaW4gJ2ZpbGwnIGFuZCAnc3Ryb2tlJwogICAgICBjdXJyZW50LmVsZW1lbnQgPSBjdXJyZW50LnBhdGg7CiAgICAgIGN1cnJlbnQuc2V0Q3VycmVudFBvaW50KHgsIHkpOwogICAgfSwKCiAgICBlbmRQYXRoOiBmdW5jdGlvbiBTVkdHcmFwaGljc19lbmRQYXRoKCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgaWYgKGN1cnJlbnQucGVuZGluZ0NsaXApIHsKICAgICAgICB0aGlzLmNncnAuYXBwZW5kQ2hpbGQodGhpcy50Z3JwKTsKICAgICAgICB0aGlzLnBncnAuYXBwZW5kQ2hpbGQodGhpcy5jZ3JwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnBncnAuYXBwZW5kQ2hpbGQodGhpcy50Z3JwKTsKICAgICAgfQogICAgICB0aGlzLnRncnAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6ZycpOwogICAgICB0aGlzLnRncnAuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsIHBtKHRoaXMudHJhbnNmb3JtTWF0cml4KSk7CiAgICB9LAoKICAgIGNsaXA6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX2NsaXAodHlwZSkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgLy8gQWRkIGN1cnJlbnQgcGF0aCB0byBjbGlwcGluZyBwYXRoCiAgICAgIGN1cnJlbnQuY2xpcElkID0gJ2NsaXBwYXRoJyArIGNsaXBDb3VudDsKICAgICAgY2xpcENvdW50Kys7CiAgICAgIHRoaXMuY2xpcHBhdGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6Y2xpcFBhdGgnKTsKICAgICAgdGhpcy5jbGlwcGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnaWQnLCBjdXJyZW50LmNsaXBJZCk7CiAgICAgIHZhciBjbGlwRWxlbWVudCA9IGN1cnJlbnQuZWxlbWVudC5jbG9uZU5vZGUoKTsKICAgICAgaWYgKHR5cGUgPT09ICdldmVub2RkJykgewogICAgICAgIGNsaXBFbGVtZW50LnNldEF0dHJpYnV0ZU5TKG51bGwsICdjbGlwLXJ1bGUnLCAnZXZlbm9kZCcpOwogICAgICB9IGVsc2UgewogICAgICAgIGNsaXBFbGVtZW50LnNldEF0dHJpYnV0ZU5TKG51bGwsICdjbGlwLXJ1bGUnLCAnbm9uemVybycpOwogICAgICB9CiAgICAgIHRoaXMuY2xpcHBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsIHBtKHRoaXMudHJhbnNmb3JtTWF0cml4KSk7CiAgICAgIHRoaXMuY2xpcHBhdGguYXBwZW5kQ2hpbGQoY2xpcEVsZW1lbnQpOwogICAgICB0aGlzLmRlZnMuYXBwZW5kQ2hpbGQodGhpcy5jbGlwcGF0aCk7CgogICAgICAvLyBDcmVhdGUgYSBuZXcgZ3JvdXAgd2l0aCB0aGF0IGF0dHJpYnV0ZQogICAgICBjdXJyZW50LnBlbmRpbmdDbGlwID0gdHJ1ZTsKICAgICAgdGhpcy5jZ3JwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOmcnKTsKICAgICAgdGhpcy5jZ3JwLnNldEF0dHJpYnV0ZU5TKG51bGwsICdjbGlwLXBhdGgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VybCgjJyArIGN1cnJlbnQuY2xpcElkICsgJyknKTsKICAgICAgdGhpcy5wZ3JwLmFwcGVuZENoaWxkKHRoaXMuY2dycCk7CiAgICB9LAoKICAgIGNsb3NlUGF0aDogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfY2xvc2VQYXRoKCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIGQgPSBjdXJyZW50LnBhdGguZ2V0QXR0cmlidXRlTlMobnVsbCwgJ2QnKTsKICAgICAgZCArPSAnWic7CiAgICAgIGN1cnJlbnQucGF0aC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZCcsIGQpOwogICAgfSwKCiAgICBzZXRMZWFkaW5nOiBmdW5jdGlvbiBTVkdHcmFwaGljc19zZXRMZWFkaW5nKGxlYWRpbmcpIHsKICAgICAgdGhpcy5jdXJyZW50LmxlYWRpbmcgPSAtbGVhZGluZzsKICAgIH0sCgogICAgc2V0VGV4dFJpc2U6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldFRleHRSaXNlKHRleHRSaXNlKSB7CiAgICAgIHRoaXMuY3VycmVudC50ZXh0UmlzZSA9IHRleHRSaXNlOwogICAgfSwKCiAgICBzZXRIU2NhbGU6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldEhTY2FsZShzY2FsZSkgewogICAgICB0aGlzLmN1cnJlbnQudGV4dEhTY2FsZSA9IHNjYWxlIC8gMTAwOwogICAgfSwKCiAgICBzZXRHU3RhdGU6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX3NldEdTdGF0ZShzdGF0ZXMpIHsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gc3RhdGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICB2YXIgc3RhdGUgPSBzdGF0ZXNbaV07CiAgICAgICAgdmFyIGtleSA9IHN0YXRlWzBdOwogICAgICAgIHZhciB2YWx1ZSA9IHN0YXRlWzFdOwoKICAgICAgICBzd2l0Y2ggKGtleSkgewogICAgICAgICAgY2FzZSAnTFcnOgogICAgICAgICAgICB0aGlzLnNldExpbmVXaWR0aCh2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnTEMnOgogICAgICAgICAgICB0aGlzLnNldExpbmVDYXAodmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0xKJzoKICAgICAgICAgICAgdGhpcy5zZXRMaW5lSm9pbih2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnTUwnOgogICAgICAgICAgICB0aGlzLnNldE1pdGVyTGltaXQodmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0QnOgogICAgICAgICAgICB0aGlzLnNldERhc2godmFsdWVbMF0sIHZhbHVlWzFdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdSSSc6CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRkwnOgogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0ZvbnQnOgogICAgICAgICAgICB0aGlzLnNldEZvbnQodmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0NBJzoKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdjYSc6CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnQk0nOgogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ1NNYXNrJzoKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIGZpbGw6IGZ1bmN0aW9uIFNWR0dyYXBoaWNzX2ZpbGwoKSB7CiAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICBjdXJyZW50LmVsZW1lbnQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCBjdXJyZW50LmZpbGxDb2xvcik7CiAgICB9LAoKICAgIHN0cm9rZTogZnVuY3Rpb24gU1ZHR3JhcGhpY3Nfc3Ryb2tlKCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgY3VycmVudC5lbGVtZW50LnNldEF0dHJpYnV0ZU5TKG51bGwsICdzdHJva2UnLCBjdXJyZW50LnN0cm9rZUNvbG9yKTsKICAgICAgY3VycmVudC5lbGVtZW50LnNldEF0dHJpYnV0ZU5TKG51bGwsICdmaWxsJywgJ25vbmUnKTsKICAgIH0sCgogICAgZW9GaWxsOiBmdW5jdGlvbiBTVkdHcmFwaGljc19lb0ZpbGwoKSB7CiAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICBjdXJyZW50LmVsZW1lbnQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCBjdXJyZW50LmZpbGxDb2xvcik7CiAgICAgIGN1cnJlbnQuZWxlbWVudC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZmlsbC1ydWxlJywgJ2V2ZW5vZGQnKTsKICAgIH0sCgogICAgZmlsbFN0cm9rZTogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfZmlsbFN0cm9rZSgpIHsKICAgICAgLy8gT3JkZXIgaXMgaW1wb3J0YW50IHNpbmNlIHN0cm9rZSB3YW50cyBmaWxsIHRvIGJlIG5vbmUuCiAgICAgIC8vIEZpcnN0IHN0cm9rZSwgdGhlbiBpZiBmaWxsIG5lZWRlZCwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlbi4KICAgICAgdGhpcy5zdHJva2UoKTsKICAgICAgdGhpcy5maWxsKCk7CiAgICB9LAoKICAgIGVvRmlsbFN0cm9rZTogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfZW9GaWxsU3Ryb2tlKCkgewogICAgICB0aGlzLmN1cnJlbnQuZWxlbWVudC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZmlsbC1ydWxlJywgJ2V2ZW5vZGQnKTsKICAgICAgdGhpcy5maWxsU3Ryb2tlKCk7CiAgICB9LAoKICAgIGNsb3NlU3Ryb2tlOiBmdW5jdGlvbiBTVkdHcmFwaGljc19jbG9zZVN0cm9rZSgpIHsKICAgICAgdGhpcy5jbG9zZVBhdGgoKTsKICAgICAgdGhpcy5zdHJva2UoKTsKICAgIH0sCgogICAgY2xvc2VGaWxsU3Ryb2tlOiBmdW5jdGlvbiBTVkdHcmFwaGljc19jbG9zZUZpbGxTdHJva2UoKSB7CiAgICAgIHRoaXMuY2xvc2VQYXRoKCk7CiAgICAgIHRoaXMuZmlsbFN0cm9rZSgpOwogICAgfSwKCiAgICBwYWludFNvbGlkQ29sb3JJbWFnZU1hc2s6CiAgICAgICAgZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRTb2xpZENvbG9ySW1hZ2VNYXNrKCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6cmVjdCcpOwogICAgICByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd4JywgJzAnKTsKICAgICAgcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsICcwJyk7CiAgICAgIHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ3dpZHRoJywgJzFweCcpOwogICAgICByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdoZWlnaHQnLCAnMXB4Jyk7CiAgICAgIHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCBjdXJyZW50LmZpbGxDb2xvcik7CiAgICAgIHRoaXMudGdycC5hcHBlbmRDaGlsZChyZWN0KTsKICAgIH0sCgogICAgcGFpbnRKcGVnWE9iamVjdDogZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRKcGVnWE9iamVjdChvYmpJZCwgdywgaCkgewogICAgICB2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudDsKICAgICAgdmFyIGltZ09iaiA9IHRoaXMub2Jqcy5nZXQob2JqSWQpOwogICAgICB2YXIgaW1nRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6aW1hZ2UnKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMoWExJTktfTlMsICd4bGluazpocmVmJywgaW1nT2JqLnNyYyk7CiAgICAgIGltZ0VsLnNldEF0dHJpYnV0ZU5TKG51bGwsICd3aWR0aCcsIGltZ09iai53aWR0aCArICdweCcpOwogICAgICBpbWdFbC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnaGVpZ2h0JywgaW1nT2JqLmhlaWdodCArICdweCcpOwogICAgICBpbWdFbC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneCcsICcwJyk7CiAgICAgIGltZ0VsLnNldEF0dHJpYnV0ZU5TKG51bGwsICd5JywgcGYoLWgpKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3RyYW5zZm9ybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSgnICsgcGYoMSAvIHcpICsgJyAnICsgcGYoLTEgLyBoKSArICcpJyk7CgogICAgICB0aGlzLnRncnAuYXBwZW5kQ2hpbGQoaW1nRWwpOwogICAgICBpZiAoY3VycmVudC5wZW5kaW5nQ2xpcCkgewogICAgICAgIHRoaXMuY2dycC5hcHBlbmRDaGlsZCh0aGlzLnRncnApOwogICAgICAgIHRoaXMucGdycC5hcHBlbmRDaGlsZCh0aGlzLmNncnApOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMucGdycC5hcHBlbmRDaGlsZCh0aGlzLnRncnApOwogICAgICB9CiAgICB9LAoKICAgIHBhaW50SW1hZ2VYT2JqZWN0OiBmdW5jdGlvbiBTVkdHcmFwaGljc19wYWludEltYWdlWE9iamVjdChvYmpJZCkgewogICAgICB2YXIgaW1nRGF0YSA9IHRoaXMub2Jqcy5nZXQob2JqSWQpOwogICAgICBpZiAoIWltZ0RhdGEpIHsKICAgICAgICB3YXJuKCdEZXBlbmRlbnQgaW1hZ2UgaXNuXCd0IHJlYWR5IHlldCcpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0KGltZ0RhdGEpOwogICAgfSwKCiAgICBwYWludElubGluZUltYWdlWE9iamVjdDoKICAgICAgICBmdW5jdGlvbiBTVkdHcmFwaGljc19wYWludElubGluZUltYWdlWE9iamVjdChpbWdEYXRhLCBtYXNrKSB7CiAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICB2YXIgd2lkdGggPSBpbWdEYXRhLndpZHRoOwogICAgICB2YXIgaGVpZ2h0ID0gaW1nRGF0YS5oZWlnaHQ7CgogICAgICB2YXIgaW1nU3JjID0gY29udmVydEltZ0RhdGFUb1BuZyhpbWdEYXRhKTsKICAgICAgdmFyIGNsaXByZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOnJlY3QnKTsKICAgICAgY2xpcHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ3gnLCAnMCcpOwogICAgICBjbGlwcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsICcwJyk7CiAgICAgIGNsaXByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd3aWR0aCcsIHBmKHdpZHRoKSk7CiAgICAgIGNsaXByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdoZWlnaHQnLCBwZihoZWlnaHQpKTsKICAgICAgY3VycmVudC5lbGVtZW50ID0gY2xpcHJlY3Q7CiAgICAgIHRoaXMuY2xpcCgnbm9uemVybycpOwogICAgICB2YXIgaW1nRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6aW1hZ2UnKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMoWExJTktfTlMsICd4bGluazpocmVmJywgaW1nU3JjKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3gnLCAnMCcpOwogICAgICBpbWdFbC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsIHBmKC1oZWlnaHQpKTsKICAgICAgaW1nRWwuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3dpZHRoJywgcGYod2lkdGgpICsgJ3B4Jyk7CiAgICAgIGltZ0VsLnNldEF0dHJpYnV0ZU5TKG51bGwsICdoZWlnaHQnLCBwZihoZWlnaHQpICsgJ3B4Jyk7CiAgICAgIGltZ0VsLnNldEF0dHJpYnV0ZU5TKG51bGwsICd0cmFuc2Zvcm0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbGUoJyArIHBmKDEgLyB3aWR0aCkgKyAnICcgKwogICAgICAgICAgICAgICAgICAgICAgICAgICBwZigtMSAvIGhlaWdodCkgKyAnKScpOwogICAgICBpZiAobWFzaykgewogICAgICAgIG1hc2suYXBwZW5kQ2hpbGQoaW1nRWwpOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMudGdycC5hcHBlbmRDaGlsZChpbWdFbCk7CiAgICAgIH0KICAgICAgaWYgKGN1cnJlbnQucGVuZGluZ0NsaXApIHsKICAgICAgICB0aGlzLmNncnAuYXBwZW5kQ2hpbGQodGhpcy50Z3JwKTsKICAgICAgICB0aGlzLnBncnAuYXBwZW5kQ2hpbGQodGhpcy5jZ3JwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnBncnAuYXBwZW5kQ2hpbGQodGhpcy50Z3JwKTsKICAgICAgfQogICAgfSwKCiAgICBwYWludEltYWdlTWFza1hPYmplY3Q6CiAgICAgICAgZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRJbWFnZU1hc2tYT2JqZWN0KGltZ0RhdGEpIHsKICAgICAgdmFyIGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQ7CiAgICAgIHZhciB3aWR0aCA9IGltZ0RhdGEud2lkdGg7CiAgICAgIHZhciBoZWlnaHQgPSBpbWdEYXRhLmhlaWdodDsKICAgICAgdmFyIGZpbGxDb2xvciA9IGN1cnJlbnQuZmlsbENvbG9yOwoKICAgICAgY3VycmVudC5tYXNrSWQgPSAnbWFzaycgKyBtYXNrQ291bnQrKzsKICAgICAgdmFyIG1hc2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6bWFzaycpOwogICAgICBtYXNrLnNldEF0dHJpYnV0ZU5TKG51bGwsICdpZCcsIGN1cnJlbnQubWFza0lkKTsKCiAgICAgIHZhciByZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnc3ZnOnJlY3QnKTsKICAgICAgcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneCcsICcwJyk7CiAgICAgIHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCAnMCcpOwogICAgICByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd3aWR0aCcsIHBmKHdpZHRoKSk7CiAgICAgIHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ2hlaWdodCcsIHBmKGhlaWdodCkpOwogICAgICByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdmaWxsJywgZmlsbENvbG9yKTsKICAgICAgcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnbWFzaycsICd1cmwoIycgKyBjdXJyZW50Lm1hc2tJZCArJyknKTsKICAgICAgdGhpcy5kZWZzLmFwcGVuZENoaWxkKG1hc2spOwogICAgICB0aGlzLnRncnAuYXBwZW5kQ2hpbGQocmVjdCk7CgogICAgICB0aGlzLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0KGltZ0RhdGEsIG1hc2spOwogICAgfSwKCiAgICBwYWludEZvcm1YT2JqZWN0QmVnaW46CiAgICAgICAgZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRGb3JtWE9iamVjdEJlZ2luKG1hdHJpeCwgYmJveCkgewogICAgICB0aGlzLnNhdmUoKTsKCiAgICAgIGlmIChpc0FycmF5KG1hdHJpeCkgJiYgbWF0cml4Lmxlbmd0aCA9PT0gNikgewogICAgICAgIHRoaXMudHJhbnNmb3JtKG1hdHJpeFswXSwgbWF0cml4WzFdLCBtYXRyaXhbMl0sCiAgICAgICAgICAgICAgICAgICAgICAgbWF0cml4WzNdLCBtYXRyaXhbNF0sIG1hdHJpeFs1XSk7CiAgICAgIH0KCiAgICAgIGlmIChpc0FycmF5KGJib3gpICYmIGJib3gubGVuZ3RoID09PSA0KSB7CiAgICAgICAgdmFyIHdpZHRoID0gYmJveFsyXSAtIGJib3hbMF07CiAgICAgICAgdmFyIGhlaWdodCA9IGJib3hbM10gLSBiYm94WzFdOwoKICAgICAgICB2YXIgY2xpcHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoTlMsICdzdmc6cmVjdCcpOwogICAgICAgIGNsaXByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd4JywgYmJveFswXSk7CiAgICAgICAgY2xpcHJlY3Quc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCBiYm94WzFdKTsKICAgICAgICBjbGlwcmVjdC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnd2lkdGgnLCBwZih3aWR0aCkpOwogICAgICAgIGNsaXByZWN0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdoZWlnaHQnLCBwZihoZWlnaHQpKTsKICAgICAgICB0aGlzLmN1cnJlbnQuZWxlbWVudCA9IGNsaXByZWN0OwogICAgICAgIHRoaXMuY2xpcCgnbm9uemVybycpOwogICAgICAgIHRoaXMuZW5kUGF0aCgpOwogICAgICB9CiAgICB9LAoKICAgIHBhaW50Rm9ybVhPYmplY3RFbmQ6CiAgICAgICAgZnVuY3Rpb24gU1ZHR3JhcGhpY3NfcGFpbnRGb3JtWE9iamVjdEVuZCgpIHsKICAgICAgdGhpcy5yZXN0b3JlKCk7CiAgICB9CiAgfTsKICByZXR1cm4gU1ZHR3JhcGhpY3M7Cn0pKCk7CgpQREZKUy5TVkdHcmFwaGljcyA9IFNWR0dyYXBoaWNzOwovLyNlbmRpZgoKCn0pLmNhbGwoKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSA/IHRoaXMgOiB3aW5kb3cpOwoKaWYgKCFQREZKUy53b3JrZXJTcmMgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgewogIC8vIHdvcmtlclNyYyBpcyBub3Qgc2V0IC0tIHVzaW5nIGxhc3Qgc2NyaXB0IHVybCB0byBkZWZpbmUgZGVmYXVsdCBsb2NhdGlvbgogIFBERkpTLndvcmtlclNyYyA9IChmdW5jdGlvbiAoKSB7CiAgICAndXNlIHN0cmljdCc7CiAgICB2YXIgc2NyaXB0VGFnQ29udGFpbmVyID0gZG9jdW1lbnQuYm9keSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07CiAgICB2YXIgcGRmanNTcmMgPSBzY3JpcHRUYWdDb250YWluZXIubGFzdENoaWxkLnNyYzsKICAgIHJldHVybiBwZGZqc1NyYyAmJiBwZGZqc1NyYy5yZXBsYWNlKC9cLmpzJC9pLCAnLndvcmtlci5qcycpOwogIH0pKCk7Cn0KCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/pdf.worker.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogdmltOiBzZXQgc2hpZnR3aWR0aD0yIHRhYnN0b3A9MiBhdXRvaW5kZW50IGNpbmRlbnQgZXhwYW5kdGFiOiAqLwovKiBDb3B5cmlnaHQgMjAxMiBNb3ppbGxhIEZvdW5kYXRpb24KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICovCi8qanNoaW50IGdsb2JhbHN0cmljdDogZmFsc2UgKi8KLyogZ2xvYmFscyBQREZKUyAqLwoKLy8gSW5pdGlhbGl6aW5nIFBERkpTIGdsb2JhbCBvYmplY3QgKGlmIHN0aWxsIHVuZGVmaW5lZCkKaWYgKHR5cGVvZiBQREZKUyA9PT0gJ3VuZGVmaW5lZCcpIHsKICAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB0aGlzKS5QREZKUyA9IHt9Owp9CgpQREZKUy52ZXJzaW9uID0gJzEuMS4xMTQnOwpQREZKUy5idWlsZCA9ICczZmQ0NGZkJzsKCihmdW5jdGlvbiBwZGZqc1dyYXBwZXIoKSB7CiAgLy8gVXNlIHN0cmljdCBpbiBvdXIgY29udGV4dCBvbmx5IC0gdXNlcnMgbWlnaHQgbm90IHdhbnQgaXQKICAndXNlIHN0cmljdCc7CgovKiAtKi0gTW9kZTogSmF2YTsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLwovKiB2aW06IHNldCBzaGlmdHdpZHRoPTIgdGFic3RvcD0yIGF1dG9pbmRlbnQgY2luZGVudCBleHBhbmR0YWI6ICovCi8qIENvcHlyaWdodCAyMDEyIE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KLyogZ2xvYmFscyBDbWQsIENvbG9yU3BhY2UsIERpY3QsIE1vekJsb2JCdWlsZGVyLCBOYW1lLCBQREZKUywgUmVmLCBVUkwsCiAgICAgICAgICAgUHJvbWlzZSAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIGdsb2JhbFNjb3BlID0gKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSA/IHRoaXMgOiB3aW5kb3c7Cgp2YXIgaXNXb3JrZXIgPSAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpOwoKdmFyIEZPTlRfSURFTlRJVFlfTUFUUklYID0gWzAuMDAxLCAwLCAwLCAwLjAwMSwgMCwgMF07Cgp2YXIgVGV4dFJlbmRlcmluZ01vZGUgPSB7CiAgRklMTDogMCwKICBTVFJPS0U6IDEsCiAgRklMTF9TVFJPS0U6IDIsCiAgSU5WSVNJQkxFOiAzLAogIEZJTExfQUREX1RPX1BBVEg6IDQsCiAgU1RST0tFX0FERF9UT19QQVRIOiA1LAogIEZJTExfU1RST0tFX0FERF9UT19QQVRIOiA2LAogIEFERF9UT19QQVRIOiA3LAogIEZJTExfU1RST0tFX01BU0s6IDMsCiAgQUREX1RPX1BBVEhfRkxBRzogNAp9OwoKdmFyIEltYWdlS2luZCA9IHsKICBHUkFZU0NBTEVfMUJQUDogMSwKICBSR0JfMjRCUFA6IDIsCiAgUkdCQV8zMkJQUDogMwp9OwoKdmFyIEFubm90YXRpb25UeXBlID0gewogIFdJREdFVDogMSwKICBURVhUOiAyLAogIExJTks6IDMKfTsKCnZhciBTdHJlYW1UeXBlID0gewogIFVOS05PV046IDAsCiAgRkxBVEU6IDEsCiAgTFpXOiAyLAogIERDVDogMywKICBKUFg6IDQsCiAgSkJJRzogNSwKICBBODU6IDYsCiAgQUhYOiA3LAogIENDRjogOCwKICBSTDogOQp9OwoKdmFyIEZvbnRUeXBlID0gewogIFVOS05PV046IDAsCiAgVFlQRTE6IDEsCiAgVFlQRTFDOiAyLAogIENJREZPTlRUWVBFMDogMywKICBDSURGT05UVFlQRTBDOiA0LAogIFRSVUVUWVBFOiA1LAogIENJREZPTlRUWVBFMjogNiwKICBUWVBFMzogNywKICBPUEVOVFlQRTogOCwKICBUWVBFMDogOSwKICBNTVRZUEUxOiAxMAp9OwoKLy8gVGhlIGdsb2JhbCBQREZKUyBvYmplY3QgZXhwb3NlcyB0aGUgQVBJCi8vIEluIHByb2R1Y3Rpb24sIGl0IHdpbGwgYmUgZGVjbGFyZWQgb3V0c2lkZSBhIGdsb2JhbCB3cmFwcGVyCi8vIEluIGRldmVsb3BtZW50LCBpdCB3aWxsIGJlIGRlY2xhcmVkIGhlcmUKaWYgKCFnbG9iYWxTY29wZS5QREZKUykgewogIGdsb2JhbFNjb3BlLlBERkpTID0ge307Cn0KCmdsb2JhbFNjb3BlLlBERkpTLnBkZkJ1ZyA9IGZhbHNlOwoKUERGSlMuVkVSQk9TSVRZX0xFVkVMUyA9IHsKICBlcnJvcnM6IDAsCiAgd2FybmluZ3M6IDEsCiAgaW5mb3M6IDUKfTsKCi8vIEFsbCB0aGUgcG9zc2libGUgb3BlcmF0aW9ucyBmb3IgYW4gb3BlcmF0b3IgbGlzdC4KdmFyIE9QUyA9IFBERkpTLk9QUyA9IHsKICAvLyBJbnRlbnRpb25hbGx5IHN0YXJ0IGZyb20gMSBzbyBpdCBpcyBlYXN5IHRvIHNwb3QgYmFkIG9wZXJhdG9ycyB0aGF0IHdpbGwgYmUKICAvLyAwJ3MuCiAgZGVwZW5kZW5jeTogMSwKICBzZXRMaW5lV2lkdGg6IDIsCiAgc2V0TGluZUNhcDogMywKICBzZXRMaW5lSm9pbjogNCwKICBzZXRNaXRlckxpbWl0OiA1LAogIHNldERhc2g6IDYsCiAgc2V0UmVuZGVyaW5nSW50ZW50OiA3LAogIHNldEZsYXRuZXNzOiA4LAogIHNldEdTdGF0ZTogOSwKICBzYXZlOiAxMCwKICByZXN0b3JlOiAxMSwKICB0cmFuc2Zvcm06IDEyLAogIG1vdmVUbzogMTMsCiAgbGluZVRvOiAxNCwKICBjdXJ2ZVRvOiAxNSwKICBjdXJ2ZVRvMjogMTYsCiAgY3VydmVUbzM6IDE3LAogIGNsb3NlUGF0aDogMTgsCiAgcmVjdGFuZ2xlOiAxOSwKICBzdHJva2U6IDIwLAogIGNsb3NlU3Ryb2tlOiAyMSwKICBmaWxsOiAyMiwKICBlb0ZpbGw6IDIzLAogIGZpbGxTdHJva2U6IDI0LAogIGVvRmlsbFN0cm9rZTogMjUsCiAgY2xvc2VGaWxsU3Ryb2tlOiAyNiwKICBjbG9zZUVPRmlsbFN0cm9rZTogMjcsCiAgZW5kUGF0aDogMjgsCiAgY2xpcDogMjksCiAgZW9DbGlwOiAzMCwKICBiZWdpblRleHQ6IDMxLAogIGVuZFRleHQ6IDMyLAogIHNldENoYXJTcGFjaW5nOiAzMywKICBzZXRXb3JkU3BhY2luZzogMzQsCiAgc2V0SFNjYWxlOiAzNSwKICBzZXRMZWFkaW5nOiAzNiwKICBzZXRGb250OiAzNywKICBzZXRUZXh0UmVuZGVyaW5nTW9kZTogMzgsCiAgc2V0VGV4dFJpc2U6IDM5LAogIG1vdmVUZXh0OiA0MCwKICBzZXRMZWFkaW5nTW92ZVRleHQ6IDQxLAogIHNldFRleHRNYXRyaXg6IDQyLAogIG5leHRMaW5lOiA0MywKICBzaG93VGV4dDogNDQsCiAgc2hvd1NwYWNlZFRleHQ6IDQ1LAogIG5leHRMaW5lU2hvd1RleHQ6IDQ2LAogIG5leHRMaW5lU2V0U3BhY2luZ1Nob3dUZXh0OiA0NywKICBzZXRDaGFyV2lkdGg6IDQ4LAogIHNldENoYXJXaWR0aEFuZEJvdW5kczogNDksCiAgc2V0U3Ryb2tlQ29sb3JTcGFjZTogNTAsCiAgc2V0RmlsbENvbG9yU3BhY2U6IDUxLAogIHNldFN0cm9rZUNvbG9yOiA1MiwKICBzZXRTdHJva2VDb2xvck46IDUzLAogIHNldEZpbGxDb2xvcjogNTQsCiAgc2V0RmlsbENvbG9yTjogNTUsCiAgc2V0U3Ryb2tlR3JheTogNTYsCiAgc2V0RmlsbEdyYXk6IDU3LAogIHNldFN0cm9rZVJHQkNvbG9yOiA1OCwKICBzZXRGaWxsUkdCQ29sb3I6IDU5LAogIHNldFN0cm9rZUNNWUtDb2xvcjogNjAsCiAgc2V0RmlsbENNWUtDb2xvcjogNjEsCiAgc2hhZGluZ0ZpbGw6IDYyLAogIGJlZ2luSW5saW5lSW1hZ2U6IDYzLAogIGJlZ2luSW1hZ2VEYXRhOiA2NCwKICBlbmRJbmxpbmVJbWFnZTogNjUsCiAgcGFpbnRYT2JqZWN0OiA2NiwKICBtYXJrUG9pbnQ6IDY3LAogIG1hcmtQb2ludFByb3BzOiA2OCwKICBiZWdpbk1hcmtlZENvbnRlbnQ6IDY5LAogIGJlZ2luTWFya2VkQ29udGVudFByb3BzOiA3MCwKICBlbmRNYXJrZWRDb250ZW50OiA3MSwKICBiZWdpbkNvbXBhdDogNzIsCiAgZW5kQ29tcGF0OiA3MywKICBwYWludEZvcm1YT2JqZWN0QmVnaW46IDc0LAogIHBhaW50Rm9ybVhPYmplY3RFbmQ6IDc1LAogIGJlZ2luR3JvdXA6IDc2LAogIGVuZEdyb3VwOiA3NywKICBiZWdpbkFubm90YXRpb25zOiA3OCwKICBlbmRBbm5vdGF0aW9uczogNzksCiAgYmVnaW5Bbm5vdGF0aW9uOiA4MCwKICBlbmRBbm5vdGF0aW9uOiA4MSwKICBwYWludEpwZWdYT2JqZWN0OiA4MiwKICBwYWludEltYWdlTWFza1hPYmplY3Q6IDgzLAogIHBhaW50SW1hZ2VNYXNrWE9iamVjdEdyb3VwOiA4NCwKICBwYWludEltYWdlWE9iamVjdDogODUsCiAgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3Q6IDg2LAogIHBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXA6IDg3LAogIHBhaW50SW1hZ2VYT2JqZWN0UmVwZWF0OiA4OCwKICBwYWludEltYWdlTWFza1hPYmplY3RSZXBlYXQ6IDg5LAogIHBhaW50U29saWRDb2xvckltYWdlTWFzazogOTAsCiAgY29uc3RydWN0UGF0aDogOTEKfTsKCi8vIEEgbm90aWNlIGZvciBkZXZzLiBUaGVzZSBhcmUgZ29vZCBmb3IgdGhpbmdzIHRoYXQgYXJlIGhlbHBmdWwgdG8gZGV2cywgc3VjaAovLyBhcyB3YXJuaW5nIHRoYXQgV29ya2VycyB3ZXJlIGRpc2FibGVkLCB3aGljaCBpcyBpbXBvcnRhbnQgdG8gZGV2cyBidXQgbm90Ci8vIGVuZCB1c2Vycy4KZnVuY3Rpb24gaW5mbyhtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMuaW5mb3MpIHsKICAgIGNvbnNvbGUubG9nKCdJbmZvOiAnICsgbXNnKTsKICB9Cn0KCi8vIE5vbi1mYXRhbCB3YXJuaW5ncy4KZnVuY3Rpb24gd2Fybihtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMud2FybmluZ3MpIHsKICAgIGNvbnNvbGUubG9nKCdXYXJuaW5nOiAnICsgbXNnKTsKICB9Cn0KCi8vIEZhdGFsIGVycm9ycyB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBmYWxsYmFjayBVSSBhbmQgaGFsdCBleGVjdXRpb24gYnkKLy8gdGhyb3dpbmcgYW4gZXhjZXB0aW9uLgpmdW5jdGlvbiBlcnJvcihtc2cpIHsKICBpZiAoUERGSlMudmVyYm9zaXR5ID49IFBERkpTLlZFUkJPU0lUWV9MRVZFTFMuZXJyb3JzKSB7CiAgICBjb25zb2xlLmxvZygnRXJyb3I6ICcgKyBtc2cpOwogICAgY29uc29sZS5sb2coYmFja3RyYWNlKCkpOwogIH0KICBVbnN1cHBvcnRlZE1hbmFnZXIubm90aWZ5KFVOU1VQUE9SVEVEX0ZFQVRVUkVTLnVua25vd24pOwogIHRocm93IG5ldyBFcnJvcihtc2cpOwp9CgpmdW5jdGlvbiBiYWNrdHJhY2UoKSB7CiAgdHJ5IHsKICAgIHRocm93IG5ldyBFcnJvcigpOwogIH0gY2F0Y2ggKGUpIHsKICAgIHJldHVybiBlLnN0YWNrID8gZS5zdGFjay5zcGxpdCgnXG4nKS5zbGljZSgyKS5qb2luKCdcbicpIDogJyc7CiAgfQp9CgpmdW5jdGlvbiBhc3NlcnQoY29uZCwgbXNnKSB7CiAgaWYgKCFjb25kKSB7CiAgICBlcnJvcihtc2cpOwogIH0KfQoKdmFyIFVOU1VQUE9SVEVEX0ZFQVRVUkVTID0gUERGSlMuVU5TVVBQT1JURURfRkVBVFVSRVMgPSB7CiAgdW5rbm93bjogJ3Vua25vd24nLAogIGZvcm1zOiAnZm9ybXMnLAogIGphdmFTY3JpcHQ6ICdqYXZhU2NyaXB0JywKICBzbWFzazogJ3NtYXNrJywKICBzaGFkaW5nUGF0dGVybjogJ3NoYWRpbmdQYXR0ZXJuJywKICBmb250OiAnZm9udCcKfTsKCnZhciBVbnN1cHBvcnRlZE1hbmFnZXIgPSBQREZKUy5VbnN1cHBvcnRlZE1hbmFnZXIgPQogIChmdW5jdGlvbiBVbnN1cHBvcnRlZE1hbmFnZXJDbG9zdXJlKCkgewogIHZhciBsaXN0ZW5lcnMgPSBbXTsKICByZXR1cm4gewogICAgbGlzdGVuOiBmdW5jdGlvbiAoY2IpIHsKICAgICAgbGlzdGVuZXJzLnB1c2goY2IpOwogICAgfSwKICAgIG5vdGlmeTogZnVuY3Rpb24gKGZlYXR1cmVJZCkgewogICAgICB3YXJuKCdVbnN1cHBvcnRlZCBmZWF0dXJlICInICsgZmVhdHVyZUlkICsgJyInKTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICBsaXN0ZW5lcnNbaV0oZmVhdHVyZUlkKTsKICAgICAgfQogICAgfQogIH07Cn0pKCk7CgovLyBDb21iaW5lcyB0d28gVVJMcy4gVGhlIGJhc2VVcmwgc2hhbGwgYmUgYWJzb2x1dGUgVVJMLiBJZiB0aGUgdXJsIGlzIGFuCi8vIGFic29sdXRlIFVSTCwgaXQgd2lsbCBiZSByZXR1cm5lZCBhcyBpcy4KZnVuY3Rpb24gY29tYmluZVVybChiYXNlVXJsLCB1cmwpIHsKICBpZiAoIXVybCkgewogICAgcmV0dXJuIGJhc2VVcmw7CiAgfQogIGlmICgvXlthLXpdW2EtejAtOStcLS5dKjovaS50ZXN0KHVybCkpIHsKICAgIHJldHVybiB1cmw7CiAgfQogIHZhciBpOwogIGlmICh1cmwuY2hhckF0KDApID09PSAnLycpIHsKICAgIC8vIGFic29sdXRlIHBhdGgKICAgIGkgPSBiYXNlVXJsLmluZGV4T2YoJzovLycpOwogICAgaWYgKHVybC5jaGFyQXQoMSkgPT09ICcvJykgewogICAgICArK2k7CiAgICB9IGVsc2UgewogICAgICBpID0gYmFzZVVybC5pbmRleE9mKCcvJywgaSArIDMpOwogICAgfQogICAgcmV0dXJuIGJhc2VVcmwuc3Vic3RyaW5nKDAsIGkpICsgdXJsOwogIH0gZWxzZSB7CiAgICAvLyByZWxhdGl2ZSBwYXRoCiAgICB2YXIgcGF0aExlbmd0aCA9IGJhc2VVcmwubGVuZ3RoOwogICAgaSA9IGJhc2VVcmwubGFzdEluZGV4T2YoJyMnKTsKICAgIHBhdGhMZW5ndGggPSBpID49IDAgPyBpIDogcGF0aExlbmd0aDsKICAgIGkgPSBiYXNlVXJsLmxhc3RJbmRleE9mKCc/JywgcGF0aExlbmd0aCk7CiAgICBwYXRoTGVuZ3RoID0gaSA+PSAwID8gaSA6IHBhdGhMZW5ndGg7CiAgICB2YXIgcHJlZml4TGVuZ3RoID0gYmFzZVVybC5sYXN0SW5kZXhPZignLycsIHBhdGhMZW5ndGgpOwogICAgcmV0dXJuIGJhc2VVcmwuc3Vic3RyaW5nKDAsIHByZWZpeExlbmd0aCArIDEpICsgdXJsOwogIH0KfQoKLy8gVmFsaWRhdGVzIGlmIFVSTCBpcyBzYWZlIGFuZCBhbGxvd2VkLCBlLmcuIHRvIGF2b2lkIFhTUy4KZnVuY3Rpb24gaXNWYWxpZFVybCh1cmwsIGFsbG93UmVsYXRpdmUpIHsKICBpZiAoIXVybCkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICAvLyBSRkMgMzk4NiAoaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMSkKICAvLyBzY2hlbWUgPSBBTFBIQSAqKCBBTFBIQSAvIERJR0lUIC8gIisiIC8gIi0iIC8gIi4iICkKICB2YXIgcHJvdG9jb2wgPSAvXlthLXpdW2EtejAtOStcLS5dKig/PTopL2kuZXhlYyh1cmwpOwogIGlmICghcHJvdG9jb2wpIHsKICAgIHJldHVybiBhbGxvd1JlbGF0aXZlOwogIH0KICBwcm90b2NvbCA9IHByb3RvY29sWzBdLnRvTG93ZXJDYXNlKCk7CiAgc3dpdGNoIChwcm90b2NvbCkgewogICAgY2FzZSAnaHR0cCc6CiAgICBjYXNlICdodHRwcyc6CiAgICBjYXNlICdmdHAnOgogICAgY2FzZSAnbWFpbHRvJzoKICAgIGNhc2UgJ3RlbCc6CiAgICAgIHJldHVybiB0cnVlOwogICAgZGVmYXVsdDoKICAgICAgcmV0dXJuIGZhbHNlOwogIH0KfQpQREZKUy5pc1ZhbGlkVXJsID0gaXNWYWxpZFVybDsKCmZ1bmN0aW9uIHNoYWRvdyhvYmosIHByb3AsIHZhbHVlKSB7CiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgeyB2YWx1ZTogdmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlIH0pOwogIHJldHVybiB2YWx1ZTsKfQpQREZKUy5zaGFkb3cgPSBzaGFkb3c7Cgp2YXIgUGFzc3dvcmRSZXNwb25zZXMgPSBQREZKUy5QYXNzd29yZFJlc3BvbnNlcyA9IHsKICBORUVEX1BBU1NXT1JEOiAxLAogIElOQ09SUkVDVF9QQVNTV09SRDogMgp9OwoKdmFyIFBhc3N3b3JkRXhjZXB0aW9uID0gKGZ1bmN0aW9uIFBhc3N3b3JkRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBQYXNzd29yZEV4Y2VwdGlvbihtc2csIGNvZGUpIHsKICAgIHRoaXMubmFtZSA9ICdQYXNzd29yZEV4Y2VwdGlvbic7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgICB0aGlzLmNvZGUgPSBjb2RlOwogIH0KCiAgUGFzc3dvcmRFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgUGFzc3dvcmRFeGNlcHRpb24uY29uc3RydWN0b3IgPSBQYXNzd29yZEV4Y2VwdGlvbjsKCiAgcmV0dXJuIFBhc3N3b3JkRXhjZXB0aW9uOwp9KSgpOwpQREZKUy5QYXNzd29yZEV4Y2VwdGlvbiA9IFBhc3N3b3JkRXhjZXB0aW9uOwoKdmFyIFVua25vd25FcnJvckV4Y2VwdGlvbiA9IChmdW5jdGlvbiBVbmtub3duRXJyb3JFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFVua25vd25FcnJvckV4Y2VwdGlvbihtc2csIGRldGFpbHMpIHsKICAgIHRoaXMubmFtZSA9ICdVbmtub3duRXJyb3JFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogICAgdGhpcy5kZXRhaWxzID0gZGV0YWlsczsKICB9CgogIFVua25vd25FcnJvckV4Y2VwdGlvbi5wcm90b3R5cGUgPSBuZXcgRXJyb3IoKTsKICBVbmtub3duRXJyb3JFeGNlcHRpb24uY29uc3RydWN0b3IgPSBVbmtub3duRXJyb3JFeGNlcHRpb247CgogIHJldHVybiBVbmtub3duRXJyb3JFeGNlcHRpb247Cn0pKCk7ClBERkpTLlVua25vd25FcnJvckV4Y2VwdGlvbiA9IFVua25vd25FcnJvckV4Y2VwdGlvbjsKCnZhciBJbnZhbGlkUERGRXhjZXB0aW9uID0gKGZ1bmN0aW9uIEludmFsaWRQREZFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEludmFsaWRQREZFeGNlcHRpb24obXNnKSB7CiAgICB0aGlzLm5hbWUgPSAnSW52YWxpZFBERkV4Y2VwdGlvbic7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgfQoKICBJbnZhbGlkUERGRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpOwogIEludmFsaWRQREZFeGNlcHRpb24uY29uc3RydWN0b3IgPSBJbnZhbGlkUERGRXhjZXB0aW9uOwoKICByZXR1cm4gSW52YWxpZFBERkV4Y2VwdGlvbjsKfSkoKTsKUERGSlMuSW52YWxpZFBERkV4Y2VwdGlvbiA9IEludmFsaWRQREZFeGNlcHRpb247Cgp2YXIgTWlzc2luZ1BERkV4Y2VwdGlvbiA9IChmdW5jdGlvbiBNaXNzaW5nUERGRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBNaXNzaW5nUERGRXhjZXB0aW9uKG1zZykgewogICAgdGhpcy5uYW1lID0gJ01pc3NpbmdQREZFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogIH0KCiAgTWlzc2luZ1BERkV4Y2VwdGlvbi5wcm90b3R5cGUgPSBuZXcgRXJyb3IoKTsKICBNaXNzaW5nUERGRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTWlzc2luZ1BERkV4Y2VwdGlvbjsKCiAgcmV0dXJuIE1pc3NpbmdQREZFeGNlcHRpb247Cn0pKCk7ClBERkpTLk1pc3NpbmdQREZFeGNlcHRpb24gPSBNaXNzaW5nUERGRXhjZXB0aW9uOwoKdmFyIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiA9CiAgICAoZnVuY3Rpb24gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24obXNnLCBzdGF0dXMpIHsKICAgIHRoaXMubmFtZSA9ICdVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24nOwogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7CiAgfQoKICBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uOwoKICByZXR1cm4gVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uOwp9KSgpOwpQREZKUy5VbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24gPSBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb247Cgp2YXIgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24gPSAoZnVuY3Rpb24gTm90SW1wbGVtZW50ZWRFeGNlcHRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKG1zZykgewogICAgdGhpcy5tZXNzYWdlID0gbXNnOwogIH0KCiAgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24ucHJvdG90eXBlLm5hbWUgPSAnTm90SW1wbGVtZW50ZWRFeGNlcHRpb24nOwogIE5vdEltcGxlbWVudGVkRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTm90SW1wbGVtZW50ZWRFeGNlcHRpb247CgogIHJldHVybiBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbjsKfSkoKTsKCnZhciBNaXNzaW5nRGF0YUV4Y2VwdGlvbiA9IChmdW5jdGlvbiBNaXNzaW5nRGF0YUV4Y2VwdGlvbkNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gTWlzc2luZ0RhdGFFeGNlcHRpb24oYmVnaW4sIGVuZCkgewogICAgdGhpcy5iZWdpbiA9IGJlZ2luOwogICAgdGhpcy5lbmQgPSBlbmQ7CiAgICB0aGlzLm1lc3NhZ2UgPSAnTWlzc2luZyBkYXRhIFsnICsgYmVnaW4gKyAnLCAnICsgZW5kICsgJyknOwogIH0KCiAgTWlzc2luZ0RhdGFFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgTWlzc2luZ0RhdGFFeGNlcHRpb24ucHJvdG90eXBlLm5hbWUgPSAnTWlzc2luZ0RhdGFFeGNlcHRpb24nOwogIE1pc3NpbmdEYXRhRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gTWlzc2luZ0RhdGFFeGNlcHRpb247CgogIHJldHVybiBNaXNzaW5nRGF0YUV4Y2VwdGlvbjsKfSkoKTsKCnZhciBYUmVmUGFyc2VFeGNlcHRpb24gPSAoZnVuY3Rpb24gWFJlZlBhcnNlRXhjZXB0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBYUmVmUGFyc2VFeGNlcHRpb24obXNnKSB7CiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7CiAgfQoKICBYUmVmUGFyc2VFeGNlcHRpb24ucHJvdG90eXBlID0gbmV3IEVycm9yKCk7CiAgWFJlZlBhcnNlRXhjZXB0aW9uLnByb3RvdHlwZS5uYW1lID0gJ1hSZWZQYXJzZUV4Y2VwdGlvbic7CiAgWFJlZlBhcnNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yID0gWFJlZlBhcnNlRXhjZXB0aW9uOwoKICByZXR1cm4gWFJlZlBhcnNlRXhjZXB0aW9uOwp9KSgpOwoKCmZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoYnl0ZXMpIHsKICBhc3NlcnQoYnl0ZXMgIT09IG51bGwgJiYgdHlwZW9mIGJ5dGVzID09PSAnb2JqZWN0JyAmJgogICAgICAgICBieXRlcy5sZW5ndGggIT09IHVuZGVmaW5lZCwgJ0ludmFsaWQgYXJndW1lbnQgZm9yIGJ5dGVzVG9TdHJpbmcnKTsKICB2YXIgbGVuZ3RoID0gYnl0ZXMubGVuZ3RoOwogIHZhciBNQVhfQVJHVU1FTlRfQ09VTlQgPSA4MTkyOwogIGlmIChsZW5ndGggPCBNQVhfQVJHVU1FTlRfQ09VTlQpIHsKICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGJ5dGVzKTsKICB9CiAgdmFyIHN0ckJ1ZiA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IE1BWF9BUkdVTUVOVF9DT1VOVCkgewogICAgdmFyIGNodW5rRW5kID0gTWF0aC5taW4oaSArIE1BWF9BUkdVTUVOVF9DT1VOVCwgbGVuZ3RoKTsKICAgIHZhciBjaHVuayA9IGJ5dGVzLnN1YmFycmF5KGksIGNodW5rRW5kKTsKICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwgY2h1bmspKTsKICB9CiAgcmV0dXJuIHN0ckJ1Zi5qb2luKCcnKTsKfQoKZnVuY3Rpb24gc3RyaW5nVG9CeXRlcyhzdHIpIHsKICBhc3NlcnQodHlwZW9mIHN0ciA9PT0gJ3N0cmluZycsICdJbnZhbGlkIGFyZ3VtZW50IGZvciBzdHJpbmdUb0J5dGVzJyk7CiAgdmFyIGxlbmd0aCA9IHN0ci5sZW5ndGg7CiAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICBieXRlc1tpXSA9IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhGRjsKICB9CiAgcmV0dXJuIGJ5dGVzOwp9CgpmdW5jdGlvbiBzdHJpbmczMih2YWx1ZSkgewogIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCh2YWx1ZSA+PiAyNCkgJiAweGZmLCAodmFsdWUgPj4gMTYpICYgMHhmZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgPj4gOCkgJiAweGZmLCB2YWx1ZSAmIDB4ZmYpOwp9CgpmdW5jdGlvbiBsb2cyKHgpIHsKICB2YXIgbiA9IDEsIGkgPSAwOwogIHdoaWxlICh4ID4gbikgewogICAgbiA8PD0gMTsKICAgIGkrKzsKICB9CiAgcmV0dXJuIGk7Cn0KCmZ1bmN0aW9uIHJlYWRJbnQ4KGRhdGEsIHN0YXJ0KSB7CiAgcmV0dXJuIChkYXRhW3N0YXJ0XSA8PCAyNCkgPj4gMjQ7Cn0KCmZ1bmN0aW9uIHJlYWRVaW50MTYoZGF0YSwgb2Zmc2V0KSB7CiAgcmV0dXJuIChkYXRhW29mZnNldF0gPDwgOCkgfCBkYXRhW29mZnNldCArIDFdOwp9CgpmdW5jdGlvbiByZWFkVWludDMyKGRhdGEsIG9mZnNldCkgewogIHJldHVybiAoKGRhdGFbb2Zmc2V0XSA8PCAyNCkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxNikgfAogICAgICAgICAoZGF0YVtvZmZzZXQgKyAyXSA8PCA4KSB8IGRhdGFbb2Zmc2V0ICsgM10pID4+PiAwOwp9CgovLyBMYXp5IHRlc3QgdGhlIGVuZGlhbm5lc3Mgb2YgdGhlIHBsYXRmb3JtCi8vIE5PVEU6IFRoaXMgd2lsbCBiZSAndHJ1ZScgZm9yIHNpbXVsYXRlZCBUeXBlZEFycmF5cwpmdW5jdGlvbiBpc0xpdHRsZUVuZGlhbigpIHsKICB2YXIgYnVmZmVyOCA9IG5ldyBVaW50OEFycmF5KDIpOwogIGJ1ZmZlcjhbMF0gPSAxOwogIHZhciBidWZmZXIxNiA9IG5ldyBVaW50MTZBcnJheShidWZmZXI4LmJ1ZmZlcik7CiAgcmV0dXJuIChidWZmZXIxNlswXSA9PT0gMSk7Cn0KCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShQREZKUywgJ2lzTGl0dGxlRW5kaWFuJywgewogIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKICBnZXQ6IGZ1bmN0aW9uIFBERkpTX2lzTGl0dGxlRW5kaWFuKCkgewogICAgcmV0dXJuIHNoYWRvdyhQREZKUywgJ2lzTGl0dGxlRW5kaWFuJywgaXNMaXR0bGVFbmRpYW4oKSk7CiAgfQp9KTsKCi8vI2lmICEoRklSRUZPWCB8fCBNT1pDRU5UUkFMIHx8IEIyRyB8fCBDSFJPTUUpCi8vLy8gTGF6eSB0ZXN0IGlmIHRoZSB1c2VyQWdhbnQgc3VwcG9ydCBDYW52YXNUeXBlZEFycmF5cwpmdW5jdGlvbiBoYXNDYW52YXNUeXBlZEFycmF5cygpIHsKICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgY2FudmFzLndpZHRoID0gY2FudmFzLmhlaWdodCA9IDE7CiAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogIHZhciBpbWFnZURhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpOwogIHJldHVybiAodHlwZW9mIGltYWdlRGF0YS5kYXRhLmJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpOwp9CgpPYmplY3QuZGVmaW5lUHJvcGVydHkoUERGSlMsICdoYXNDYW52YXNUeXBlZEFycmF5cycsIHsKICBjb25maWd1cmFibGU6IHRydWUsCiAgZ2V0OiBmdW5jdGlvbiBQREZKU19oYXNDYW52YXNUeXBlZEFycmF5cygpIHsKICAgIHJldHVybiBzaGFkb3coUERGSlMsICdoYXNDYW52YXNUeXBlZEFycmF5cycsIGhhc0NhbnZhc1R5cGVkQXJyYXlzKCkpOwogIH0KfSk7Cgp2YXIgVWludDMyQXJyYXlWaWV3ID0gKGZ1bmN0aW9uIFVpbnQzMkFycmF5Vmlld0Nsb3N1cmUoKSB7CgogIGZ1bmN0aW9uIFVpbnQzMkFycmF5VmlldyhidWZmZXIsIGxlbmd0aCkgewogICAgdGhpcy5idWZmZXIgPSBidWZmZXI7CiAgICB0aGlzLmJ5dGVMZW5ndGggPSBidWZmZXIubGVuZ3RoOwogICAgdGhpcy5sZW5ndGggPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/ICh0aGlzLmJ5dGVMZW5ndGggPj4gMikgOiBsZW5ndGg7CiAgICBlbnN1cmVVaW50MzJBcnJheVZpZXdQcm9wcyh0aGlzLmxlbmd0aCk7CiAgfQogIFVpbnQzMkFycmF5Vmlldy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKG51bGwpOwoKICB2YXIgdWludDMyQXJyYXlWaWV3U2V0dGVycyA9IDA7CiAgZnVuY3Rpb24gY3JlYXRlVWludDMyQXJyYXlQcm9wKGluZGV4KSB7CiAgICByZXR1cm4gewogICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXIsIG9mZnNldCA9IGluZGV4IDw8IDI7CiAgICAgICAgcmV0dXJuIChidWZmZXJbb2Zmc2V0XSB8IChidWZmZXJbb2Zmc2V0ICsgMV0gPDwgOCkgfAogICAgICAgICAgKGJ1ZmZlcltvZmZzZXQgKyAyXSA8PCAxNikgfCAoYnVmZmVyW29mZnNldCArIDNdIDw8IDI0KSkgPj4+IDA7CiAgICAgIH0sCiAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgdmFyIGJ1ZmZlciA9IHRoaXMuYnVmZmVyLCBvZmZzZXQgPSBpbmRleCA8PCAyOwogICAgICAgIGJ1ZmZlcltvZmZzZXRdID0gdmFsdWUgJiAyNTU7CiAgICAgICAgYnVmZmVyW29mZnNldCArIDFdID0gKHZhbHVlID4+IDgpICYgMjU1OwogICAgICAgIGJ1ZmZlcltvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+PiAxNikgJiAyNTU7CiAgICAgICAgYnVmZmVyW29mZnNldCArIDNdID0gKHZhbHVlID4+PiAyNCkgJiAyNTU7CiAgICAgIH0KICAgIH07CiAgfQoKICBmdW5jdGlvbiBlbnN1cmVVaW50MzJBcnJheVZpZXdQcm9wcyhsZW5ndGgpIHsKICAgIHdoaWxlICh1aW50MzJBcnJheVZpZXdTZXR0ZXJzIDwgbGVuZ3RoKSB7CiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShVaW50MzJBcnJheVZpZXcucHJvdG90eXBlLAogICAgICAgIHVpbnQzMkFycmF5Vmlld1NldHRlcnMsCiAgICAgICAgY3JlYXRlVWludDMyQXJyYXlQcm9wKHVpbnQzMkFycmF5Vmlld1NldHRlcnMpKTsKICAgICAgdWludDMyQXJyYXlWaWV3U2V0dGVycysrOwogICAgfQogIH0KCiAgcmV0dXJuIFVpbnQzMkFycmF5VmlldzsKfSkoKTsKLy8jZWxzZQovL1BERkpTLmhhc0NhbnZhc1R5cGVkQXJyYXlzID0gdHJ1ZTsKLy8jZW5kaWYKCnZhciBJREVOVElUWV9NQVRSSVggPSBbMSwgMCwgMCwgMSwgMCwgMF07Cgp2YXIgVXRpbCA9IFBERkpTLlV0aWwgPSAoZnVuY3Rpb24gVXRpbENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gVXRpbCgpIHt9CgogIHZhciByZ2JCdWYgPSBbJ3JnYignLCAwLCAnLCcsIDAsICcsJywgMCwgJyknXTsKCiAgLy8gbWFrZUNzc1JnYigpIGNhbiBiZSBjYWxsZWQgdGhvdXNhbmRzIG9mIHRpbWVzLiBVc2luZyB8cmdiQnVmfCBhdm9pZHMKICAvLyBjcmVhdGluZyBtYW55IGludGVybWVkaWF0ZSBzdHJpbmdzLgogIFV0aWwubWFrZUNzc1JnYiA9IGZ1bmN0aW9uIFV0aWxfbWFrZUNzc1JnYihyLCBnLCBiKSB7CiAgICByZ2JCdWZbMV0gPSByOwogICAgcmdiQnVmWzNdID0gZzsKICAgIHJnYkJ1Zls1XSA9IGI7CiAgICByZXR1cm4gcmdiQnVmLmpvaW4oJycpOwogIH07CgogIC8vIENvbmNhdGVuYXRlcyB0d28gdHJhbnNmb3JtYXRpb24gbWF0cmljZXMgdG9nZXRoZXIgYW5kIHJldHVybnMgdGhlIHJlc3VsdC4KICBVdGlsLnRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfdHJhbnNmb3JtKG0xLCBtMikgewogICAgcmV0dXJuIFsKICAgICAgbTFbMF0gKiBtMlswXSArIG0xWzJdICogbTJbMV0sCiAgICAgIG0xWzFdICogbTJbMF0gKyBtMVszXSAqIG0yWzFdLAogICAgICBtMVswXSAqIG0yWzJdICsgbTFbMl0gKiBtMlszXSwKICAgICAgbTFbMV0gKiBtMlsyXSArIG0xWzNdICogbTJbM10sCiAgICAgIG0xWzBdICogbTJbNF0gKyBtMVsyXSAqIG0yWzVdICsgbTFbNF0sCiAgICAgIG0xWzFdICogbTJbNF0gKyBtMVszXSAqIG0yWzVdICsgbTFbNV0KICAgIF07CiAgfTsKCiAgLy8gRm9yIDJkIGFmZmluZSB0cmFuc2Zvcm1zCiAgVXRpbC5hcHBseVRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfYXBwbHlUcmFuc2Zvcm0ocCwgbSkgewogICAgdmFyIHh0ID0gcFswXSAqIG1bMF0gKyBwWzFdICogbVsyXSArIG1bNF07CiAgICB2YXIgeXQgPSBwWzBdICogbVsxXSArIHBbMV0gKiBtWzNdICsgbVs1XTsKICAgIHJldHVybiBbeHQsIHl0XTsKICB9OwoKICBVdGlsLmFwcGx5SW52ZXJzZVRyYW5zZm9ybSA9IGZ1bmN0aW9uIFV0aWxfYXBwbHlJbnZlcnNlVHJhbnNmb3JtKHAsIG0pIHsKICAgIHZhciBkID0gbVswXSAqIG1bM10gLSBtWzFdICogbVsyXTsKICAgIHZhciB4dCA9IChwWzBdICogbVszXSAtIHBbMV0gKiBtWzJdICsgbVsyXSAqIG1bNV0gLSBtWzRdICogbVszXSkgLyBkOwogICAgdmFyIHl0ID0gKC1wWzBdICogbVsxXSArIHBbMV0gKiBtWzBdICsgbVs0XSAqIG1bMV0gLSBtWzVdICogbVswXSkgLyBkOwogICAgcmV0dXJuIFt4dCwgeXRdOwogIH07CgogIC8vIEFwcGxpZXMgdGhlIHRyYW5zZm9ybSB0byB0aGUgcmVjdGFuZ2xlIGFuZCBmaW5kcyB0aGUgbWluaW11bSBheGlhbGx5CiAgLy8gYWxpZ25lZCBib3VuZGluZyBib3guCiAgVXRpbC5nZXRBeGlhbEFsaWduZWRCb3VuZGluZ0JveCA9CiAgICBmdW5jdGlvbiBVdGlsX2dldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KHIsIG0pIHsKCiAgICB2YXIgcDEgPSBVdGlsLmFwcGx5VHJhbnNmb3JtKHIsIG0pOwogICAgdmFyIHAyID0gVXRpbC5hcHBseVRyYW5zZm9ybShyLnNsaWNlKDIsIDQpLCBtKTsKICAgIHZhciBwMyA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3JbMF0sIHJbM11dLCBtKTsKICAgIHZhciBwNCA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3JbMl0sIHJbMV1dLCBtKTsKICAgIHJldHVybiBbCiAgICAgIE1hdGgubWluKHAxWzBdLCBwMlswXSwgcDNbMF0sIHA0WzBdKSwKICAgICAgTWF0aC5taW4ocDFbMV0sIHAyWzFdLCBwM1sxXSwgcDRbMV0pLAogICAgICBNYXRoLm1heChwMVswXSwgcDJbMF0sIHAzWzBdLCBwNFswXSksCiAgICAgIE1hdGgubWF4KHAxWzFdLCBwMlsxXSwgcDNbMV0sIHA0WzFdKQogICAgXTsKICB9OwoKICBVdGlsLmludmVyc2VUcmFuc2Zvcm0gPSBmdW5jdGlvbiBVdGlsX2ludmVyc2VUcmFuc2Zvcm0obSkgewogICAgdmFyIGQgPSBtWzBdICogbVszXSAtIG1bMV0gKiBtWzJdOwogICAgcmV0dXJuIFttWzNdIC8gZCwgLW1bMV0gLyBkLCAtbVsyXSAvIGQsIG1bMF0gLyBkLAogICAgICAobVsyXSAqIG1bNV0gLSBtWzRdICogbVszXSkgLyBkLCAobVs0XSAqIG1bMV0gLSBtWzVdICogbVswXSkgLyBkXTsKICB9OwoKICAvLyBBcHBseSBhIGdlbmVyaWMgM2QgbWF0cml4IE0gb24gYSAzLXZlY3RvciB2OgogIC8vICAgfCBhIGIgYyB8ICAgfCBYIHwKICAvLyAgIHwgZCBlIGYgfCB4IHwgWSB8CiAgLy8gICB8IGcgaCBpIHwgICB8IFogfAogIC8vIE0gaXMgYXNzdW1lZCB0byBiZSBzZXJpYWxpemVkIGFzIFthLGIsYyxkLGUsZixnLGgsaV0sCiAgLy8gd2l0aCB2IGFzIFtYLFksWl0KICBVdGlsLmFwcGx5M2RUcmFuc2Zvcm0gPSBmdW5jdGlvbiBVdGlsX2FwcGx5M2RUcmFuc2Zvcm0obSwgdikgewogICAgcmV0dXJuIFsKICAgICAgbVswXSAqIHZbMF0gKyBtWzFdICogdlsxXSArIG1bMl0gKiB2WzJdLAogICAgICBtWzNdICogdlswXSArIG1bNF0gKiB2WzFdICsgbVs1XSAqIHZbMl0sCiAgICAgIG1bNl0gKiB2WzBdICsgbVs3XSAqIHZbMV0gKyBtWzhdICogdlsyXQogICAgXTsKICB9OwoKICAvLyBUaGlzIGNhbGN1bGF0aW9uIHVzZXMgU2luZ3VsYXIgVmFsdWUgRGVjb21wb3NpdGlvbi4KICAvLyBUaGUgU1ZEIGNhbiBiZSByZXByZXNlbnRlZCB3aXRoIGZvcm11bGEgQSA9IFVTVi4gV2UgYXJlIGludGVyZXN0ZWQgaW4gdGhlCiAgLy8gbWF0cml4IFMgaGVyZSBiZWNhdXNlIGl0IHJlcHJlc2VudHMgdGhlIHNjYWxlIHZhbHVlcy4KICBVdGlsLnNpbmd1bGFyVmFsdWVEZWNvbXBvc2UyZFNjYWxlID0KICAgIGZ1bmN0aW9uIFV0aWxfc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUobSkgewoKICAgIHZhciB0cmFuc3Bvc2UgPSBbbVswXSwgbVsyXSwgbVsxXSwgbVszXV07CgogICAgLy8gTXVsdGlwbHkgbWF0cml4IG0gd2l0aCBpdHMgdHJhbnNwb3NlLgogICAgdmFyIGEgPSBtWzBdICogdHJhbnNwb3NlWzBdICsgbVsxXSAqIHRyYW5zcG9zZVsyXTsKICAgIHZhciBiID0gbVswXSAqIHRyYW5zcG9zZVsxXSArIG1bMV0gKiB0cmFuc3Bvc2VbM107CiAgICB2YXIgYyA9IG1bMl0gKiB0cmFuc3Bvc2VbMF0gKyBtWzNdICogdHJhbnNwb3NlWzJdOwogICAgdmFyIGQgPSBtWzJdICogdHJhbnNwb3NlWzFdICsgbVszXSAqIHRyYW5zcG9zZVszXTsKCiAgICAvLyBTb2x2ZSB0aGUgc2Vjb25kIGRlZ3JlZSBwb2x5bm9taWFsIHRvIGdldCByb290cy4KICAgIHZhciBmaXJzdCA9IChhICsgZCkgLyAyOwogICAgdmFyIHNlY29uZCA9IE1hdGguc3FydCgoYSArIGQpICogKGEgKyBkKSAtIDQgKiAoYSAqIGQgLSBjICogYikpIC8gMjsKICAgIHZhciBzeCA9IGZpcnN0ICsgc2Vjb25kIHx8IDE7CiAgICB2YXIgc3kgPSBmaXJzdCAtIHNlY29uZCB8fCAxOwoKICAgIC8vIFNjYWxlIHZhbHVlcyBhcmUgdGhlIHNxdWFyZSByb290cyBvZiB0aGUgZWlnZW52YWx1ZXMuCiAgICByZXR1cm4gW01hdGguc3FydChzeCksIE1hdGguc3FydChzeSldOwogIH07CgogIC8vIE5vcm1hbGl6ZSByZWN0YW5nbGUgcmVjdD1beDEsIHkxLCB4MiwgeTJdIHNvIHRoYXQgKHgxLHkxKSA8ICh4Mix5MikKICAvLyBGb3IgY29vcmRpbmF0ZSBzeXN0ZW1zIHdob3NlIG9yaWdpbiBsaWVzIGluIHRoZSBib3R0b20tbGVmdCwgdGhpcwogIC8vIG1lYW5zIG5vcm1hbGl6YXRpb24gdG8gKEJMLFRSKSBvcmRlcmluZy4gRm9yIHN5c3RlbXMgd2l0aCBvcmlnaW4gaW4gdGhlCiAgLy8gdG9wLWxlZnQsIHRoaXMgbWVhbnMgKFRMLEJSKSBvcmRlcmluZy4KICBVdGlsLm5vcm1hbGl6ZVJlY3QgPSBmdW5jdGlvbiBVdGlsX25vcm1hbGl6ZVJlY3QocmVjdCkgewogICAgdmFyIHIgPSByZWN0LnNsaWNlKDApOyAvLyBjbG9uZSByZWN0CiAgICBpZiAocmVjdFswXSA+IHJlY3RbMl0pIHsKICAgICAgclswXSA9IHJlY3RbMl07CiAgICAgIHJbMl0gPSByZWN0WzBdOwogICAgfQogICAgaWYgKHJlY3RbMV0gPiByZWN0WzNdKSB7CiAgICAgIHJbMV0gPSByZWN0WzNdOwogICAgICByWzNdID0gcmVjdFsxXTsKICAgIH0KICAgIHJldHVybiByOwogIH07CgogIC8vIFJldHVybnMgYSByZWN0YW5nbGUgW3gxLCB5MSwgeDIsIHkyXSBjb3JyZXNwb25kaW5nIHRvIHRoZQogIC8vIGludGVyc2VjdGlvbiBvZiByZWN0MSBhbmQgcmVjdDIuIElmIG5vIGludGVyc2VjdGlvbiwgcmV0dXJucyAnZmFsc2UnCiAgLy8gVGhlIHJlY3RhbmdsZSBjb29yZGluYXRlcyBvZiByZWN0MSwgcmVjdDIgc2hvdWxkIGJlIFt4MSwgeTEsIHgyLCB5Ml0KICBVdGlsLmludGVyc2VjdCA9IGZ1bmN0aW9uIFV0aWxfaW50ZXJzZWN0KHJlY3QxLCByZWN0MikgewogICAgZnVuY3Rpb24gY29tcGFyZShhLCBiKSB7CiAgICAgIHJldHVybiBhIC0gYjsKICAgIH0KCiAgICAvLyBPcmRlciBwb2ludHMgYWxvbmcgdGhlIGF4ZXMKICAgIHZhciBvcmRlcmVkWCA9IFtyZWN0MVswXSwgcmVjdDFbMl0sIHJlY3QyWzBdLCByZWN0MlsyXV0uc29ydChjb21wYXJlKSwKICAgICAgICBvcmRlcmVkWSA9IFtyZWN0MVsxXSwgcmVjdDFbM10sIHJlY3QyWzFdLCByZWN0MlszXV0uc29ydChjb21wYXJlKSwKICAgICAgICByZXN1bHQgPSBbXTsKCiAgICByZWN0MSA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0MSk7CiAgICByZWN0MiA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0Mik7CgogICAgLy8gWDogZmlyc3QgYW5kIHNlY29uZCBwb2ludHMgYmVsb25nIHRvIGRpZmZlcmVudCByZWN0YW5nbGVzPwogICAgaWYgKChvcmRlcmVkWFswXSA9PT0gcmVjdDFbMF0gJiYgb3JkZXJlZFhbMV0gPT09IHJlY3QyWzBdKSB8fAogICAgICAgIChvcmRlcmVkWFswXSA9PT0gcmVjdDJbMF0gJiYgb3JkZXJlZFhbMV0gPT09IHJlY3QxWzBdKSkgewogICAgICAvLyBJbnRlcnNlY3Rpb24gbXVzdCBiZSBiZXR3ZWVuIHNlY29uZCBhbmQgdGhpcmQgcG9pbnRzCiAgICAgIHJlc3VsdFswXSA9IG9yZGVyZWRYWzFdOwogICAgICByZXN1bHRbMl0gPSBvcmRlcmVkWFsyXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLyBZOiBmaXJzdCBhbmQgc2Vjb25kIHBvaW50cyBiZWxvbmcgdG8gZGlmZmVyZW50IHJlY3RhbmdsZXM/CiAgICBpZiAoKG9yZGVyZWRZWzBdID09PSByZWN0MVsxXSAmJiBvcmRlcmVkWVsxXSA9PT0gcmVjdDJbMV0pIHx8CiAgICAgICAgKG9yZGVyZWRZWzBdID09PSByZWN0MlsxXSAmJiBvcmRlcmVkWVsxXSA9PT0gcmVjdDFbMV0pKSB7CiAgICAgIC8vIEludGVyc2VjdGlvbiBtdXN0IGJlIGJldHdlZW4gc2Vjb25kIGFuZCB0aGlyZCBwb2ludHMKICAgICAgcmVzdWx0WzFdID0gb3JkZXJlZFlbMV07CiAgICAgIHJlc3VsdFszXSA9IG9yZGVyZWRZWzJdOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7CiAgfTsKCiAgVXRpbC5zaWduID0gZnVuY3Rpb24gVXRpbF9zaWduKG51bSkgewogICAgcmV0dXJuIG51bSA8IDAgPyAtMSA6IDE7CiAgfTsKCiAgVXRpbC5hcHBlbmRUb0FycmF5ID0gZnVuY3Rpb24gVXRpbF9hcHBlbmRUb0FycmF5KGFycjEsIGFycjIpIHsKICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGFycjEsIGFycjIpOwogIH07CgogIFV0aWwucHJlcGVuZFRvQXJyYXkgPSBmdW5jdGlvbiBVdGlsX3ByZXBlbmRUb0FycmF5KGFycjEsIGFycjIpIHsKICAgIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGFycjEsIGFycjIpOwogIH07CgogIFV0aWwuZXh0ZW5kT2JqID0gZnVuY3Rpb24gZXh0ZW5kT2JqKG9iajEsIG9iajIpIHsKICAgIGZvciAodmFyIGtleSBpbiBvYmoyKSB7CiAgICAgIG9iajFba2V5XSA9IG9iajJba2V5XTsKICAgIH0KICB9OwoKICBVdGlsLmdldEluaGVyaXRhYmxlUHJvcGVydHkgPSBmdW5jdGlvbiBVdGlsX2dldEluaGVyaXRhYmxlUHJvcGVydHkoZGljdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSkgewogICAgd2hpbGUgKGRpY3QgJiYgIWRpY3QuaGFzKG5hbWUpKSB7CiAgICAgIGRpY3QgPSBkaWN0LmdldCgnUGFyZW50Jyk7CiAgICB9CiAgICBpZiAoIWRpY3QpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICByZXR1cm4gZGljdC5nZXQobmFtZSk7CiAgfTsKCiAgVXRpbC5pbmhlcml0ID0gZnVuY3Rpb24gVXRpbF9pbmhlcml0KHN1YiwgYmFzZSwgcHJvdG90eXBlKSB7CiAgICBzdWIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShiYXNlLnByb3RvdHlwZSk7CiAgICBzdWIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViOwogICAgZm9yICh2YXIgcHJvcCBpbiBwcm90b3R5cGUpIHsKICAgICAgc3ViLnByb3RvdHlwZVtwcm9wXSA9IHByb3RvdHlwZVtwcm9wXTsKICAgIH0KICB9OwoKICBVdGlsLmxvYWRTY3JpcHQgPSBmdW5jdGlvbiBVdGlsX2xvYWRTY3JpcHQoc3JjLCBjYWxsYmFjaykgewogICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgdmFyIGxvYWRlZCA9IGZhbHNlOwogICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJywgc3JjKTsKICAgIGlmIChjYWxsYmFjaykgewogICAgICBzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKCFsb2FkZWQpIHsKICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfQogICAgICAgIGxvYWRlZCA9IHRydWU7CiAgICAgIH07CiAgICB9CiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7CiAgfTsKCiAgcmV0dXJuIFV0aWw7Cn0pKCk7CgovKioKICogUERGIHBhZ2Ugdmlld3BvcnQgY3JlYXRlZCBiYXNlZCBvbiBzY2FsZSwgcm90YXRpb24gYW5kIG9mZnNldC4KICogQGNsYXNzCiAqIEBhbGlhcyBQREZKUy5QYWdlVmlld3BvcnQKICovCnZhciBQYWdlVmlld3BvcnQgPSBQREZKUy5QYWdlVmlld3BvcnQgPSAoZnVuY3Rpb24gUGFnZVZpZXdwb3J0Q2xvc3VyZSgpIHsKICAvKioKICAgKiBAY29uc3RydWN0b3IKICAgKiBAcHJpdmF0ZQogICAqIEBwYXJhbSB2aWV3Qm94IHtBcnJheX0geE1pbiwgeU1pbiwgeE1heCBhbmQgeU1heCBjb29yZGluYXRlcy4KICAgKiBAcGFyYW0gc2NhbGUge251bWJlcn0gc2NhbGUgb2YgdGhlIHZpZXdwb3J0LgogICAqIEBwYXJhbSByb3RhdGlvbiB7bnVtYmVyfSByb3RhdGlvbnMgb2YgdGhlIHZpZXdwb3J0IGluIGRlZ3JlZXMuCiAgICogQHBhcmFtIG9mZnNldFgge251bWJlcn0gb2Zmc2V0IFgKICAgKiBAcGFyYW0gb2Zmc2V0WSB7bnVtYmVyfSBvZmZzZXQgWQogICAqIEBwYXJhbSBkb250RmxpcCB7Ym9vbGVhbn0gaWYgdHJ1ZSwgYXhpcyBZIHdpbGwgbm90IGJlIGZsaXBwZWQuCiAgICovCiAgZnVuY3Rpb24gUGFnZVZpZXdwb3J0KHZpZXdCb3gsIHNjYWxlLCByb3RhdGlvbiwgb2Zmc2V0WCwgb2Zmc2V0WSwgZG9udEZsaXApIHsKICAgIHRoaXMudmlld0JveCA9IHZpZXdCb3g7CiAgICB0aGlzLnNjYWxlID0gc2NhbGU7CiAgICB0aGlzLnJvdGF0aW9uID0gcm90YXRpb247CiAgICB0aGlzLm9mZnNldFggPSBvZmZzZXRYOwogICAgdGhpcy5vZmZzZXRZID0gb2Zmc2V0WTsKCiAgICAvLyBjcmVhdGluZyB0cmFuc2Zvcm0gdG8gY29udmVydCBwZGYgY29vcmRpbmF0ZSBzeXN0ZW0gdG8gdGhlIG5vcm1hbAogICAgLy8gY2FudmFzIGxpa2UgY29vcmRpbmF0ZXMgdGFraW5nIGluIGFjY291bnQgc2NhbGUgYW5kIHJvdGF0aW9uCiAgICB2YXIgY2VudGVyWCA9ICh2aWV3Qm94WzJdICsgdmlld0JveFswXSkgLyAyOwogICAgdmFyIGNlbnRlclkgPSAodmlld0JveFszXSArIHZpZXdCb3hbMV0pIC8gMjsKICAgIHZhciByb3RhdGVBLCByb3RhdGVCLCByb3RhdGVDLCByb3RhdGVEOwogICAgcm90YXRpb24gPSByb3RhdGlvbiAlIDM2MDsKICAgIHJvdGF0aW9uID0gcm90YXRpb24gPCAwID8gcm90YXRpb24gKyAzNjAgOiByb3RhdGlvbjsKICAgIHN3aXRjaCAocm90YXRpb24pIHsKICAgICAgY2FzZSAxODA6CiAgICAgICAgcm90YXRlQSA9IC0xOyByb3RhdGVCID0gMDsgcm90YXRlQyA9IDA7IHJvdGF0ZUQgPSAxOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDkwOgogICAgICAgIHJvdGF0ZUEgPSAwOyByb3RhdGVCID0gMTsgcm90YXRlQyA9IDE7IHJvdGF0ZUQgPSAwOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDI3MDoKICAgICAgICByb3RhdGVBID0gMDsgcm90YXRlQiA9IC0xOyByb3RhdGVDID0gLTE7IHJvdGF0ZUQgPSAwOwogICAgICAgIGJyZWFrOwogICAgICAvL2Nhc2UgMDoKICAgICAgZGVmYXVsdDoKICAgICAgICByb3RhdGVBID0gMTsgcm90YXRlQiA9IDA7IHJvdGF0ZUMgPSAwOyByb3RhdGVEID0gLTE7CiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgaWYgKGRvbnRGbGlwKSB7CiAgICAgIHJvdGF0ZUMgPSAtcm90YXRlQzsgcm90YXRlRCA9IC1yb3RhdGVEOwogICAgfQoKICAgIHZhciBvZmZzZXRDYW52YXNYLCBvZmZzZXRDYW52YXNZOwogICAgdmFyIHdpZHRoLCBoZWlnaHQ7CiAgICBpZiAocm90YXRlQSA9PT0gMCkgewogICAgICBvZmZzZXRDYW52YXNYID0gTWF0aC5hYnMoY2VudGVyWSAtIHZpZXdCb3hbMV0pICogc2NhbGUgKyBvZmZzZXRYOwogICAgICBvZmZzZXRDYW52YXNZID0gTWF0aC5hYnMoY2VudGVyWCAtIHZpZXdCb3hbMF0pICogc2NhbGUgKyBvZmZzZXRZOwogICAgICB3aWR0aCA9IE1hdGguYWJzKHZpZXdCb3hbM10gLSB2aWV3Qm94WzFdKSAqIHNjYWxlOwogICAgICBoZWlnaHQgPSBNYXRoLmFicyh2aWV3Qm94WzJdIC0gdmlld0JveFswXSkgKiBzY2FsZTsKICAgIH0gZWxzZSB7CiAgICAgIG9mZnNldENhbnZhc1ggPSBNYXRoLmFicyhjZW50ZXJYIC0gdmlld0JveFswXSkgKiBzY2FsZSArIG9mZnNldFg7CiAgICAgIG9mZnNldENhbnZhc1kgPSBNYXRoLmFicyhjZW50ZXJZIC0gdmlld0JveFsxXSkgKiBzY2FsZSArIG9mZnNldFk7CiAgICAgIHdpZHRoID0gTWF0aC5hYnModmlld0JveFsyXSAtIHZpZXdCb3hbMF0pICogc2NhbGU7CiAgICAgIGhlaWdodCA9IE1hdGguYWJzKHZpZXdCb3hbM10gLSB2aWV3Qm94WzFdKSAqIHNjYWxlOwogICAgfQogICAgLy8gY3JlYXRpbmcgdHJhbnNmb3JtIGZvciB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6CiAgICAvLyB0cmFuc2xhdGUoLWNlbnRlclgsIC1jZW50ZXJZKSwgcm90YXRlIGFuZCBmbGlwIHZlcnRpY2FsbHksCiAgICAvLyBzY2FsZSwgYW5kIHRyYW5zbGF0ZShvZmZzZXRDYW52YXNYLCBvZmZzZXRDYW52YXNZKQogICAgdGhpcy50cmFuc2Zvcm0gPSBbCiAgICAgIHJvdGF0ZUEgKiBzY2FsZSwKICAgICAgcm90YXRlQiAqIHNjYWxlLAogICAgICByb3RhdGVDICogc2NhbGUsCiAgICAgIHJvdGF0ZUQgKiBzY2FsZSwKICAgICAgb2Zmc2V0Q2FudmFzWCAtIHJvdGF0ZUEgKiBzY2FsZSAqIGNlbnRlclggLSByb3RhdGVDICogc2NhbGUgKiBjZW50ZXJZLAogICAgICBvZmZzZXRDYW52YXNZIC0gcm90YXRlQiAqIHNjYWxlICogY2VudGVyWCAtIHJvdGF0ZUQgKiBzY2FsZSAqIGNlbnRlclkKICAgIF07CgogICAgdGhpcy53aWR0aCA9IHdpZHRoOwogICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7CiAgICB0aGlzLmZvbnRTY2FsZSA9IHNjYWxlOwogIH0KICBQYWdlVmlld3BvcnQucHJvdG90eXBlID0gLyoqIEBsZW5kcyBQREZKUy5QYWdlVmlld3BvcnQucHJvdG90eXBlICovIHsKICAgIC8qKgogICAgICogQ2xvbmVzIHZpZXdwb3J0IHdpdGggYWRkaXRpb25hbCBwcm9wZXJ0aWVzLgogICAgICogQHBhcmFtIGFyZ3Mge09iamVjdH0gKG9wdGlvbmFsKSBJZiBzcGVjaWZpZWQsIG1heSBjb250YWluIHRoZSAnc2NhbGUnIG9yCiAgICAgKiAncm90YXRpb24nIHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydGllcyBpbgogICAgICogdGhlIGNsb25lZCB2aWV3cG9ydC4KICAgICAqIEByZXR1cm5zIHtQREZKUy5QYWdlVmlld3BvcnR9IENsb25lZCB2aWV3cG9ydC4KICAgICAqLwogICAgY2xvbmU6IGZ1bmN0aW9uIFBhZ2VWaWV3UG9ydF9jbG9uZShhcmdzKSB7CiAgICAgIGFyZ3MgPSBhcmdzIHx8IHt9OwogICAgICB2YXIgc2NhbGUgPSAnc2NhbGUnIGluIGFyZ3MgPyBhcmdzLnNjYWxlIDogdGhpcy5zY2FsZTsKICAgICAgdmFyIHJvdGF0aW9uID0gJ3JvdGF0aW9uJyBpbiBhcmdzID8gYXJncy5yb3RhdGlvbiA6IHRoaXMucm90YXRpb247CiAgICAgIHJldHVybiBuZXcgUGFnZVZpZXdwb3J0KHRoaXMudmlld0JveC5zbGljZSgpLCBzY2FsZSwgcm90YXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub2Zmc2V0WCwgdGhpcy5vZmZzZXRZLCBhcmdzLmRvbnRGbGlwKTsKICAgIH0sCiAgICAvKioKICAgICAqIENvbnZlcnRzIFBERiBwb2ludCB0byB0aGUgdmlld3BvcnQgY29vcmRpbmF0ZXMuIEZvciBleGFtcGxlcywgdXNlZnVsIGZvcgogICAgICogY29udmVydGluZyBQREYgbG9jYXRpb24gaW50byBjYW52YXMgcGl4ZWwgY29vcmRpbmF0ZXMuCiAgICAgKiBAcGFyYW0geCB7bnVtYmVyfSBYIGNvb3JkaW5hdGUuCiAgICAgKiBAcGFyYW0geSB7bnVtYmVyfSBZIGNvb3JkaW5hdGUuCiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBPYmplY3QgdGhhdCBjb250YWlucyAneCcgYW5kICd5JyBwcm9wZXJ0aWVzIG9mIHRoZQogICAgICogcG9pbnQgaW4gdGhlIHZpZXdwb3J0IGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9QZGZQb2ludH0KICAgICAqIEBzZWUge0BsaW5rIGNvbnZlcnRUb1ZpZXdwb3J0UmVjdGFuZ2xlfQogICAgICovCiAgICBjb252ZXJ0VG9WaWV3cG9ydFBvaW50OiBmdW5jdGlvbiBQYWdlVmlld3BvcnRfY29udmVydFRvVmlld3BvcnRQb2ludCh4LCB5KSB7CiAgICAgIHJldHVybiBVdGlsLmFwcGx5VHJhbnNmb3JtKFt4LCB5XSwgdGhpcy50cmFuc2Zvcm0pOwogICAgfSwKICAgIC8qKgogICAgICogQ29udmVydHMgUERGIHJlY3RhbmdsZSB0byB0aGUgdmlld3BvcnQgY29vcmRpbmF0ZXMuCiAgICAgKiBAcGFyYW0gcmVjdCB7QXJyYXl9IHhNaW4sIHlNaW4sIHhNYXggYW5kIHlNYXggY29vcmRpbmF0ZXMuCiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IENvbnRhaW5zIGNvcnJlc3BvbmRpbmcgY29vcmRpbmF0ZXMgb2YgdGhlIHJlY3RhbmdsZQogICAgICogaW4gdGhlIHZpZXdwb3J0IGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9WaWV3cG9ydFBvaW50fQogICAgICovCiAgICBjb252ZXJ0VG9WaWV3cG9ydFJlY3RhbmdsZToKICAgICAgZnVuY3Rpb24gUGFnZVZpZXdwb3J0X2NvbnZlcnRUb1ZpZXdwb3J0UmVjdGFuZ2xlKHJlY3QpIHsKICAgICAgdmFyIHRsID0gVXRpbC5hcHBseVRyYW5zZm9ybShbcmVjdFswXSwgcmVjdFsxXV0sIHRoaXMudHJhbnNmb3JtKTsKICAgICAgdmFyIGJyID0gVXRpbC5hcHBseVRyYW5zZm9ybShbcmVjdFsyXSwgcmVjdFszXV0sIHRoaXMudHJhbnNmb3JtKTsKICAgICAgcmV0dXJuIFt0bFswXSwgdGxbMV0sIGJyWzBdLCBiclsxXV07CiAgICB9LAogICAgLyoqCiAgICAgKiBDb252ZXJ0cyB2aWV3cG9ydCBjb29yZGluYXRlcyB0byB0aGUgUERGIGxvY2F0aW9uLiBGb3IgZXhhbXBsZXMsIHVzZWZ1bAogICAgICogZm9yIGNvbnZlcnRpbmcgY2FudmFzIHBpeGVsIGxvY2F0aW9uIGludG8gUERGIG9uZS4KICAgICAqIEBwYXJhbSB4IHtudW1iZXJ9IFggY29vcmRpbmF0ZS4KICAgICAqIEBwYXJhbSB5IHtudW1iZXJ9IFkgY29vcmRpbmF0ZS4KICAgICAqIEByZXR1cm5zIHtPYmplY3R9IE9iamVjdCB0aGF0IGNvbnRhaW5zICd4JyBhbmQgJ3knIHByb3BlcnRpZXMgb2YgdGhlCiAgICAgKiBwb2ludCBpbiB0aGUgUERGIGNvb3JkaW5hdGUgc3BhY2UuCiAgICAgKiBAc2VlIHtAbGluayBjb252ZXJ0VG9WaWV3cG9ydFBvaW50fQogICAgICovCiAgICBjb252ZXJ0VG9QZGZQb2ludDogZnVuY3Rpb24gUGFnZVZpZXdwb3J0X2NvbnZlcnRUb1BkZlBvaW50KHgsIHkpIHsKICAgICAgcmV0dXJuIFV0aWwuYXBwbHlJbnZlcnNlVHJhbnNmb3JtKFt4LCB5XSwgdGhpcy50cmFuc2Zvcm0pOwogICAgfQogIH07CiAgcmV0dXJuIFBhZ2VWaWV3cG9ydDsKfSkoKTsKCnZhciBQREZTdHJpbmdUcmFuc2xhdGVUYWJsZSA9IFsKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogIDB4MkQ4LCAweDJDNywgMHgyQzYsIDB4MkQ5LCAweDJERCwgMHgyREIsIDB4MkRBLCAweDJEQywgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAogIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCiAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAweDIwMjIsIDB4MjAyMCwgMHgyMDIxLCAweDIwMjYsIDB4MjAxNCwKICAweDIwMTMsIDB4MTkyLCAweDIwNDQsIDB4MjAzOSwgMHgyMDNBLCAweDIyMTIsIDB4MjAzMCwgMHgyMDFFLCAweDIwMUMsCiAgMHgyMDFELCAweDIwMTgsIDB4MjAxOSwgMHgyMDFBLCAweDIxMjIsIDB4RkIwMSwgMHhGQjAyLCAweDE0MSwgMHgxNTIsIDB4MTYwLAogIDB4MTc4LCAweDE3RCwgMHgxMzEsIDB4MTQyLCAweDE1MywgMHgxNjEsIDB4MTdFLCAwLCAweDIwQUMKXTsKCmZ1bmN0aW9uIHN0cmluZ1RvUERGU3RyaW5nKHN0cikgewogIHZhciBpLCBuID0gc3RyLmxlbmd0aCwgc3RyQnVmID0gW107CiAgaWYgKHN0clswXSA9PT0gJ1x4RkUnICYmIHN0clsxXSA9PT0gJ1x4RkYnKSB7CiAgICAvLyBVVEYxNkJFIEJPTQogICAgZm9yIChpID0gMjsgaSA8IG47IGkgKz0gMikgewogICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKAogICAgICAgIChzdHIuY2hhckNvZGVBdChpKSA8PCA4KSB8IHN0ci5jaGFyQ29kZUF0KGkgKyAxKSkpOwogICAgfQogIH0gZWxzZSB7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgIHZhciBjb2RlID0gUERGU3RyaW5nVHJhbnNsYXRlVGFibGVbc3RyLmNoYXJDb2RlQXQoaSldOwogICAgICBzdHJCdWYucHVzaChjb2RlID8gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlKSA6IHN0ci5jaGFyQXQoaSkpOwogICAgfQogIH0KICByZXR1cm4gc3RyQnVmLmpvaW4oJycpOwp9CgpmdW5jdGlvbiBzdHJpbmdUb1VURjhTdHJpbmcoc3RyKSB7CiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoc3RyKSk7Cn0KCmZ1bmN0aW9uIGlzRW1wdHlPYmoob2JqKSB7CiAgZm9yICh2YXIga2V5IGluIG9iaikgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gaXNCb29sKHYpIHsKICByZXR1cm4gdHlwZW9mIHYgPT09ICdib29sZWFuJzsKfQoKZnVuY3Rpb24gaXNJbnQodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgJiYgKCh2IHwgMCkgPT09IHYpOwp9CgpmdW5jdGlvbiBpc051bSh2KSB7CiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJzsKfQoKZnVuY3Rpb24gaXNTdHJpbmcodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ3N0cmluZyc7Cn0KCmZ1bmN0aW9uIGlzTmFtZSh2KSB7CiAgcmV0dXJuIHYgaW5zdGFuY2VvZiBOYW1lOwp9CgpmdW5jdGlvbiBpc0NtZCh2LCBjbWQpIHsKICByZXR1cm4gdiBpbnN0YW5jZW9mIENtZCAmJiAoY21kID09PSB1bmRlZmluZWQgfHwgdi5jbWQgPT09IGNtZCk7Cn0KCmZ1bmN0aW9uIGlzRGljdCh2LCB0eXBlKSB7CiAgaWYgKCEodiBpbnN0YW5jZW9mIERpY3QpKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIGlmICghdHlwZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogIHZhciBkaWN0VHlwZSA9IHYuZ2V0KCdUeXBlJyk7CiAgcmV0dXJuIGlzTmFtZShkaWN0VHlwZSkgJiYgZGljdFR5cGUubmFtZSA9PT0gdHlwZTsKfQoKZnVuY3Rpb24gaXNBcnJheSh2KSB7CiAgcmV0dXJuIHYgaW5zdGFuY2VvZiBBcnJheTsKfQoKZnVuY3Rpb24gaXNTdHJlYW0odikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdiAhPT0gbnVsbCAmJiB2LmdldEJ5dGVzICE9PSB1bmRlZmluZWQ7Cn0KCmZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIodikgewogIHJldHVybiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdiAhPT0gbnVsbCAmJiB2LmJ5dGVMZW5ndGggIT09IHVuZGVmaW5lZDsKfQoKZnVuY3Rpb24gaXNSZWYodikgewogIHJldHVybiB2IGluc3RhbmNlb2YgUmVmOwp9CgovKioKICogUHJvbWlzZSBDYXBhYmlsaXR5IG9iamVjdC4KICoKICogQHR5cGVkZWYge09iamVjdH0gUHJvbWlzZUNhcGFiaWxpdHkKICogQHByb3BlcnR5IHtQcm9taXNlfSBwcm9taXNlIC0gQSBwcm9taXNlIG9iamVjdC4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gcmVzb2x2ZSAtIEZ1bGxmaWxscyB0aGUgcHJvbWlzZS4KICogQHByb3BlcnR5IHtmdW5jdGlvbn0gcmVqZWN0IC0gUmVqZWN0cyB0aGUgcHJvbWlzZS4KICovCgovKioKICogQ3JlYXRlcyBhIHByb21pc2UgY2FwYWJpbGl0eSBvYmplY3QuCiAqIEBhbGlhcyBQREZKUy5jcmVhdGVQcm9taXNlQ2FwYWJpbGl0eQogKgogKiBAcmV0dXJuIHtQcm9taXNlQ2FwYWJpbGl0eX0gQSBjYXBhYmlsaXR5IG9iamVjdCBjb250YWluczoKICogLSBhIFByb21pc2UsIHJlc29sdmUgYW5kIHJlamVjdCBtZXRob2RzLgogKi8KZnVuY3Rpb24gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKSB7CiAgdmFyIGNhcGFiaWxpdHkgPSB7fTsKICBjYXBhYmlsaXR5LnByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICBjYXBhYmlsaXR5LnJlc29sdmUgPSByZXNvbHZlOwogICAgY2FwYWJpbGl0eS5yZWplY3QgPSByZWplY3Q7CiAgfSk7CiAgcmV0dXJuIGNhcGFiaWxpdHk7Cn0KClBERkpTLmNyZWF0ZVByb21pc2VDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHk7CgovKioKICogUG9seWZpbGwgZm9yIFByb21pc2VzOgogKiBUaGUgZm9sbG93aW5nIHByb21pc2UgaW1wbGVtZW50YXRpb24gdHJpZXMgdG8gZ2VuZXJhbGx5IGltcGxlbWVudCB0aGUKICogUHJvbWlzZS9BKyBzcGVjLiBTb21lIG5vdGFibGUgZGlmZmVyZW5jZXMgZnJvbSBvdGhlciBwcm9taXNlIGxpYmFyaWVzIGFyZToKICogLSBUaGVyZSBjdXJyZW50bHkgaXNuJ3QgYSBzZXBlcmF0ZSBkZWZlcnJlZCBhbmQgcHJvbWlzZSBvYmplY3QuCiAqIC0gVW5oYW5kbGVkIHJlamVjdGlvbnMgZXZlbnR1YWxseSBzaG93IGFuIGVycm9yIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQuCiAqCiAqIEJhc2VkIG9mZiBvZiB0aGUgd29yayBpbjoKICogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNDkwCiAqLwooZnVuY3Rpb24gUHJvbWlzZUNsb3N1cmUoKSB7CiAgaWYgKGdsb2JhbFNjb3BlLlByb21pc2UpIHsKICAgIC8vIFByb21pc2VzIGV4aXN0aW5nIGluIHRoZSBET00vV29ya2VyLCBjaGVja2luZyBwcmVzZW5jZSBvZiBhbGwvcmVzb2x2ZQogICAgaWYgKHR5cGVvZiBnbG9iYWxTY29wZS5Qcm9taXNlLmFsbCAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLmFsbCA9IGZ1bmN0aW9uIChpdGVyYWJsZSkgewogICAgICAgIHZhciBjb3VudCA9IDAsIHJlc3VsdHMgPSBbXSwgcmVzb2x2ZSwgcmVqZWN0OwogICAgICAgIHZhciBwcm9taXNlID0gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmVfLCByZWplY3RfKSB7CiAgICAgICAgICByZXNvbHZlID0gcmVzb2x2ZV87CiAgICAgICAgICByZWplY3QgPSByZWplY3RfOwogICAgICAgIH0pOwogICAgICAgIGl0ZXJhYmxlLmZvckVhY2goZnVuY3Rpb24gKHAsIGkpIHsKICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICBwLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkgewogICAgICAgICAgICByZXN1bHRzW2ldID0gcmVzdWx0OwogICAgICAgICAgICBjb3VudC0tOwogICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdHMpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCByZWplY3QpOwogICAgICAgIH0pOwogICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgcmVzb2x2ZShyZXN1bHRzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHByb21pc2U7CiAgICAgIH07CiAgICB9CiAgICBpZiAodHlwZW9mIGdsb2JhbFNjb3BlLlByb21pc2UucmVzb2x2ZSAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOwogICAgICB9OwogICAgfQogICAgaWYgKHR5cGVvZiBnbG9iYWxTY29wZS5Qcm9taXNlLnJlamVjdCAhPT0gJ2Z1bmN0aW9uJykgewogICAgICBnbG9iYWxTY29wZS5Qcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uIChyZWFzb24pIHsKICAgICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlLlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgcmVqZWN0KHJlYXNvbik7CiAgICAgICAgfSk7CiAgICAgIH07CiAgICB9CiAgICBpZiAodHlwZW9mIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLmNhdGNoICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLmNhdGNoID0gZnVuY3Rpb24gKG9uUmVqZWN0KSB7CiAgICAgICAgcmV0dXJuIGdsb2JhbFNjb3BlLlByb21pc2UucHJvdG90eXBlLnRoZW4odW5kZWZpbmVkLCBvblJlamVjdCk7CiAgICAgIH07CiAgICB9CiAgICByZXR1cm47CiAgfQovLyNpZiAhTU9aQ0VOVFJBTAogIHZhciBTVEFUVVNfUEVORElORyA9IDA7CiAgdmFyIFNUQVRVU19SRVNPTFZFRCA9IDE7CiAgdmFyIFNUQVRVU19SRUpFQ1RFRCA9IDI7CgogIC8vIEluIGFuIGF0dGVtcHQgdG8gYXZvaWQgc2lsZW50IGV4Y2VwdGlvbnMsIHVuaGFuZGxlZCByZWplY3Rpb25zIGFyZQogIC8vIHRyYWNrZWQgYW5kIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQgaW4gYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGFuCiAgLy8gZXJyb3IgaXMgbG9nZ2VkLgogIHZhciBSRUpFQ1RJT05fVElNRU9VVCA9IDUwMDsKCiAgdmFyIEhhbmRsZXJNYW5hZ2VyID0gewogICAgaGFuZGxlcnM6IFtdLAogICAgcnVubmluZzogZmFsc2UsCiAgICB1bmhhbmRsZWRSZWplY3Rpb25zOiBbXSwKICAgIHBlbmRpbmdSZWplY3Rpb25DaGVjazogZmFsc2UsCgogICAgc2NoZWR1bGVIYW5kbGVyczogZnVuY3Rpb24gc2NoZWR1bGVIYW5kbGVycyhwcm9taXNlKSB7CiAgICAgIGlmIChwcm9taXNlLl9zdGF0dXMgPT09IFNUQVRVU19QRU5ESU5HKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmhhbmRsZXJzID0gdGhpcy5oYW5kbGVycy5jb25jYXQocHJvbWlzZS5faGFuZGxlcnMpOwogICAgICBwcm9taXNlLl9oYW5kbGVycyA9IFtdOwoKICAgICAgaWYgKHRoaXMucnVubmluZykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlOwoKICAgICAgc2V0VGltZW91dCh0aGlzLnJ1bkhhbmRsZXJzLmJpbmQodGhpcyksIDApOwogICAgfSwKCiAgICBydW5IYW5kbGVyczogZnVuY3Rpb24gcnVuSGFuZGxlcnMoKSB7CiAgICAgIHZhciBSVU5fVElNRU9VVCA9IDE7IC8vIG1zCiAgICAgIHZhciB0aW1lb3V0QXQgPSBEYXRlLm5vdygpICsgUlVOX1RJTUVPVVQ7CiAgICAgIHdoaWxlICh0aGlzLmhhbmRsZXJzLmxlbmd0aCA+IDApIHsKICAgICAgICB2YXIgaGFuZGxlciA9IHRoaXMuaGFuZGxlcnMuc2hpZnQoKTsKCiAgICAgICAgdmFyIG5leHRTdGF0dXMgPSBoYW5kbGVyLnRoaXNQcm9taXNlLl9zdGF0dXM7CiAgICAgICAgdmFyIG5leHRWYWx1ZSA9IGhhbmRsZXIudGhpc1Byb21pc2UuX3ZhbHVlOwoKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKG5leHRTdGF0dXMgPT09IFNUQVRVU19SRVNPTFZFRCkgewogICAgICAgICAgICBpZiAodHlwZW9mIGhhbmRsZXIub25SZXNvbHZlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgbmV4dFZhbHVlID0gaGFuZGxlci5vblJlc29sdmUobmV4dFZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaGFuZGxlci5vblJlamVjdCA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICAgIG5leHRWYWx1ZSA9IGhhbmRsZXIub25SZWplY3QobmV4dFZhbHVlKTsKICAgICAgICAgICAgICBuZXh0U3RhdHVzID0gU1RBVFVTX1JFU09MVkVEOwoKICAgICAgICAgICAgICBpZiAoaGFuZGxlci50aGlzUHJvbWlzZS5fdW5oYW5kbGVkUmVqZWN0aW9uKSB7CiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVuaGFuZGVsZWRSZWplY3Rpb24oaGFuZGxlci50aGlzUHJvbWlzZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICBuZXh0U3RhdHVzID0gU1RBVFVTX1JFSkVDVEVEOwogICAgICAgICAgbmV4dFZhbHVlID0gZXg7CiAgICAgICAgfQoKICAgICAgICBoYW5kbGVyLm5leHRQcm9taXNlLl91cGRhdGVTdGF0dXMobmV4dFN0YXR1cywgbmV4dFZhbHVlKTsKICAgICAgICBpZiAoRGF0ZS5ub3coKSA+PSB0aW1lb3V0QXQpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKHRoaXMuaGFuZGxlcnMubGVuZ3RoID4gMCkgewogICAgICAgIHNldFRpbWVvdXQodGhpcy5ydW5IYW5kbGVycy5iaW5kKHRoaXMpLCAwKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgfSwKCiAgICBhZGRVbmhhbmRsZWRSZWplY3Rpb246IGZ1bmN0aW9uIGFkZFVuaGFuZGxlZFJlamVjdGlvbihwcm9taXNlKSB7CiAgICAgIHRoaXMudW5oYW5kbGVkUmVqZWN0aW9ucy5wdXNoKHsKICAgICAgICBwcm9taXNlOiBwcm9taXNlLAogICAgICAgIHRpbWU6IERhdGUubm93KCkKICAgICAgfSk7CiAgICAgIHRoaXMuc2NoZWR1bGVSZWplY3Rpb25DaGVjaygpOwogICAgfSwKCiAgICByZW1vdmVVbmhhbmRlbGVkUmVqZWN0aW9uOiBmdW5jdGlvbiByZW1vdmVVbmhhbmRlbGVkUmVqZWN0aW9uKHByb21pc2UpIHsKICAgICAgcHJvbWlzZS5fdW5oYW5kbGVkUmVqZWN0aW9uID0gZmFsc2U7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHRoaXMudW5oYW5kbGVkUmVqZWN0aW9uc1tpXS5wcm9taXNlID09PSBwcm9taXNlKSB7CiAgICAgICAgICB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnMuc3BsaWNlKGkpOwogICAgICAgICAgaS0tOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBzY2hlZHVsZVJlamVjdGlvbkNoZWNrOiBmdW5jdGlvbiBzY2hlZHVsZVJlamVjdGlvbkNoZWNrKCkgewogICAgICBpZiAodGhpcy5wZW5kaW5nUmVqZWN0aW9uQ2hlY2spIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5wZW5kaW5nUmVqZWN0aW9uQ2hlY2sgPSB0cnVlOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIHJlamVjdGlvbkNoZWNrKCkgewogICAgICAgIHRoaXMucGVuZGluZ1JlamVjdGlvbkNoZWNrID0gZmFsc2U7CiAgICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmIChub3cgLSB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnNbaV0udGltZSA+IFJFSkVDVElPTl9USU1FT1VUKSB7CiAgICAgICAgICAgIHZhciB1bmhhbmRsZWQgPSB0aGlzLnVuaGFuZGxlZFJlamVjdGlvbnNbaV0ucHJvbWlzZS5fdmFsdWU7CiAgICAgICAgICAgIHZhciBtc2cgPSAnVW5oYW5kbGVkIHJlamVjdGlvbjogJyArIHVuaGFuZGxlZDsKICAgICAgICAgICAgaWYgKHVuaGFuZGxlZC5zdGFjaykgewogICAgICAgICAgICAgIG1zZyArPSAnXG4nICsgdW5oYW5kbGVkLnN0YWNrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdhcm4obXNnKTsKICAgICAgICAgICAgdGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLnNwbGljZShpKTsKICAgICAgICAgICAgaS0tOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAodGhpcy51bmhhbmRsZWRSZWplY3Rpb25zLmxlbmd0aCkgewogICAgICAgICAgdGhpcy5zY2hlZHVsZVJlamVjdGlvbkNoZWNrKCk7CiAgICAgICAgfQogICAgICB9LmJpbmQodGhpcyksIFJFSkVDVElPTl9USU1FT1VUKTsKICAgIH0KICB9OwoKICBmdW5jdGlvbiBQcm9taXNlKHJlc29sdmVyKSB7CiAgICB0aGlzLl9zdGF0dXMgPSBTVEFUVVNfUEVORElORzsKICAgIHRoaXMuX2hhbmRsZXJzID0gW107CiAgICB0cnkgewogICAgICByZXNvbHZlci5jYWxsKHRoaXMsIHRoaXMuX3Jlc29sdmUuYmluZCh0aGlzKSwgdGhpcy5fcmVqZWN0LmJpbmQodGhpcykpOwogICAgfSBjYXRjaCAoZSkgewogICAgICB0aGlzLl9yZWplY3QoZSk7CiAgICB9CiAgfQogIC8qKgogICAqIEJ1aWxkcyBhIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aGVuIGFsbCB0aGUgcGFzc2VkIGluIHByb21pc2VzIGFyZQogICAqIHJlc29sdmVkLgogICAqIEBwYXJhbSB7YXJyYXl9IGFycmF5IG9mIGRhdGEgYW5kL29yIHByb21pc2VzIHRvIHdhaXQgZm9yLgogICAqIEByZXR1cm4ge1Byb21pc2V9IE5ldyBkZXBlbmRhbnQgcHJvbWlzZS4KICAgKi8KICBQcm9taXNlLmFsbCA9IGZ1bmN0aW9uIFByb21pc2VfYWxsKHByb21pc2VzKSB7CiAgICB2YXIgcmVzb2x2ZUFsbCwgcmVqZWN0QWxsOwogICAgdmFyIGRlZmVycmVkID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICByZXNvbHZlQWxsID0gcmVzb2x2ZTsKICAgICAgcmVqZWN0QWxsID0gcmVqZWN0OwogICAgfSk7CiAgICB2YXIgdW5yZXNvbHZlZCA9IHByb21pc2VzLmxlbmd0aDsKICAgIHZhciByZXN1bHRzID0gW107CiAgICBpZiAodW5yZXNvbHZlZCA9PT0gMCkgewogICAgICByZXNvbHZlQWxsKHJlc3VsdHMpOwogICAgICByZXR1cm4gZGVmZXJyZWQ7CiAgICB9CiAgICBmdW5jdGlvbiByZWplY3QocmVhc29uKSB7CiAgICAgIGlmIChkZWZlcnJlZC5fc3RhdHVzID09PSBTVEFUVVNfUkVKRUNURUQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgcmVzdWx0cyA9IFtdOwogICAgICByZWplY3RBbGwocmVhc29uKTsKICAgIH0KICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHByb21pc2VzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgdmFyIHByb21pc2UgPSBwcm9taXNlc1tpXTsKICAgICAgdmFyIHJlc29sdmUgPSAoZnVuY3Rpb24oaSkgewogICAgICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgaWYgKGRlZmVycmVkLl9zdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICByZXN1bHRzW2ldID0gdmFsdWU7CiAgICAgICAgICB1bnJlc29sdmVkLS07CiAgICAgICAgICBpZiAodW5yZXNvbHZlZCA9PT0gMCkgewogICAgICAgICAgICByZXNvbHZlQWxsKHJlc3VsdHMpOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH0pKGkpOwogICAgICBpZiAoUHJvbWlzZS5pc1Byb21pc2UocHJvbWlzZSkpIHsKICAgICAgICBwcm9taXNlLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXNvbHZlKHByb21pc2UpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gZGVmZXJyZWQ7CiAgfTsKCiAgLyoqCiAgICogQ2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBsaWtlbHkgYSBwcm9taXNlIChoYXMgYSAndGhlbicgZnVuY3Rpb24pLgogICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgdmFsdWUgaXMgdGhlbmFibGUKICAgKi8KICBQcm9taXNlLmlzUHJvbWlzZSA9IGZ1bmN0aW9uIFByb21pc2VfaXNQcm9taXNlKHZhbHVlKSB7CiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbic7CiAgfTsKCiAgLyoqCiAgICogQ3JlYXRlcyByZXNvbHZlZCBwcm9taXNlCiAgICogQHBhcmFtIHZhbHVlIHJlc29sdmUgdmFsdWUKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBQcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbiBQcm9taXNlX3Jlc29sdmUodmFsdWUpIHsKICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7CiAgfTsKCiAgLyoqCiAgICogQ3JlYXRlcyByZWplY3RlZCBwcm9taXNlCiAgICogQHBhcmFtIHJlYXNvbiByZWplY3Rpb24gdmFsdWUKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBQcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uIFByb21pc2VfcmVqZWN0KHJlYXNvbikgewogICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgcmVqZWN0KHJlYXNvbik7IH0pOwogIH07CgogIFByb21pc2UucHJvdG90eXBlID0gewogICAgX3N0YXR1czogbnVsbCwKICAgIF92YWx1ZTogbnVsbCwKICAgIF9oYW5kbGVyczogbnVsbCwKICAgIF91bmhhbmRsZWRSZWplY3Rpb246IG51bGwsCgogICAgX3VwZGF0ZVN0YXR1czogZnVuY3Rpb24gUHJvbWlzZV9fdXBkYXRlU3RhdHVzKHN0YXR1cywgdmFsdWUpIHsKICAgICAgaWYgKHRoaXMuX3N0YXR1cyA9PT0gU1RBVFVTX1JFU09MVkVEIHx8CiAgICAgICAgICB0aGlzLl9zdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHN0YXR1cyA9PT0gU1RBVFVTX1JFU09MVkVEICYmCiAgICAgICAgICBQcm9taXNlLmlzUHJvbWlzZSh2YWx1ZSkpIHsKICAgICAgICB2YWx1ZS50aGVuKHRoaXMuX3VwZGF0ZVN0YXR1cy5iaW5kKHRoaXMsIFNUQVRVU19SRVNPTFZFRCksCiAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzLCBTVEFUVVNfUkVKRUNURUQpKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMuX3N0YXR1cyA9IHN0YXR1czsKICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKCiAgICAgIGlmIChzdGF0dXMgPT09IFNUQVRVU19SRUpFQ1RFRCAmJiB0aGlzLl9oYW5kbGVycy5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLl91bmhhbmRsZWRSZWplY3Rpb24gPSB0cnVlOwogICAgICAgIEhhbmRsZXJNYW5hZ2VyLmFkZFVuaGFuZGxlZFJlamVjdGlvbih0aGlzKTsKICAgICAgfQoKICAgICAgSGFuZGxlck1hbmFnZXIuc2NoZWR1bGVIYW5kbGVycyh0aGlzKTsKICAgIH0sCgogICAgX3Jlc29sdmU6IGZ1bmN0aW9uIFByb21pc2VfcmVzb2x2ZSh2YWx1ZSkgewogICAgICB0aGlzLl91cGRhdGVTdGF0dXMoU1RBVFVTX1JFU09MVkVELCB2YWx1ZSk7CiAgICB9LAoKICAgIF9yZWplY3Q6IGZ1bmN0aW9uIFByb21pc2VfcmVqZWN0KHJlYXNvbikgewogICAgICB0aGlzLl91cGRhdGVTdGF0dXMoU1RBVFVTX1JFSkVDVEVELCByZWFzb24pOwogICAgfSwKCiAgICB0aGVuOiBmdW5jdGlvbiBQcm9taXNlX3RoZW4ob25SZXNvbHZlLCBvblJlamVjdCkgewogICAgICB2YXIgbmV4dFByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZTsKICAgICAgICB0aGlzLnJlamVjdCA9IHJlamVjdDsKICAgICAgfSk7CiAgICAgIHRoaXMuX2hhbmRsZXJzLnB1c2goewogICAgICAgIHRoaXNQcm9taXNlOiB0aGlzLAogICAgICAgIG9uUmVzb2x2ZTogb25SZXNvbHZlLAogICAgICAgIG9uUmVqZWN0OiBvblJlamVjdCwKICAgICAgICBuZXh0UHJvbWlzZTogbmV4dFByb21pc2UKICAgICAgfSk7CiAgICAgIEhhbmRsZXJNYW5hZ2VyLnNjaGVkdWxlSGFuZGxlcnModGhpcyk7CiAgICAgIHJldHVybiBuZXh0UHJvbWlzZTsKICAgIH0sCgogICAgY2F0Y2g6IGZ1bmN0aW9uIFByb21pc2VfY2F0Y2gob25SZWplY3QpIHsKICAgICAgcmV0dXJuIHRoaXMudGhlbih1bmRlZmluZWQsIG9uUmVqZWN0KTsKICAgIH0KICB9OwoKICBnbG9iYWxTY29wZS5Qcm9taXNlID0gUHJvbWlzZTsKLy8jZWxzZQovL3Rocm93IG5ldyBFcnJvcignRE9NIFByb21pc2UgaXMgbm90IHByZXNlbnQnKTsKLy8jZW5kaWYKfSkoKTsKCnZhciBTdGF0VGltZXIgPSAoZnVuY3Rpb24gU3RhdFRpbWVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBycGFkKHN0ciwgcGFkLCBsZW5ndGgpIHsKICAgIHdoaWxlIChzdHIubGVuZ3RoIDwgbGVuZ3RoKSB7CiAgICAgIHN0ciArPSBwYWQ7CiAgICB9CiAgICByZXR1cm4gc3RyOwogIH0KICBmdW5jdGlvbiBTdGF0VGltZXIoKSB7CiAgICB0aGlzLnN0YXJ0ZWQgPSB7fTsKICAgIHRoaXMudGltZXMgPSBbXTsKICAgIHRoaXMuZW5hYmxlZCA9IHRydWU7CiAgfQogIFN0YXRUaW1lci5wcm90b3R5cGUgPSB7CiAgICB0aW1lOiBmdW5jdGlvbiBTdGF0VGltZXJfdGltZShuYW1lKSB7CiAgICAgIGlmICghdGhpcy5lbmFibGVkKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmIChuYW1lIGluIHRoaXMuc3RhcnRlZCkgewogICAgICAgIHdhcm4oJ1RpbWVyIGlzIGFscmVhZHkgcnVubmluZyBmb3IgJyArIG5hbWUpOwogICAgICB9CiAgICAgIHRoaXMuc3RhcnRlZFtuYW1lXSA9IERhdGUubm93KCk7CiAgICB9LAogICAgdGltZUVuZDogZnVuY3Rpb24gU3RhdFRpbWVyX3RpbWVFbmQobmFtZSkgewogICAgICBpZiAoIXRoaXMuZW5hYmxlZCkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIShuYW1lIGluIHRoaXMuc3RhcnRlZCkpIHsKICAgICAgICB3YXJuKCdUaW1lciBoYXMgbm90IGJlZW4gc3RhcnRlZCBmb3IgJyArIG5hbWUpOwogICAgICB9CiAgICAgIHRoaXMudGltZXMucHVzaCh7CiAgICAgICAgJ25hbWUnOiBuYW1lLAogICAgICAgICdzdGFydCc6IHRoaXMuc3RhcnRlZFtuYW1lXSwKICAgICAgICAnZW5kJzogRGF0ZS5ub3coKQogICAgICB9KTsKICAgICAgLy8gUmVtb3ZlIHRpbWVyIGZyb20gc3RhcnRlZCBzbyBpdCBjYW4gYmUgY2FsbGVkIGFnYWluLgogICAgICBkZWxldGUgdGhpcy5zdGFydGVkW25hbWVdOwogICAgfSwKICAgIHRvU3RyaW5nOiBmdW5jdGlvbiBTdGF0VGltZXJfdG9TdHJpbmcoKSB7CiAgICAgIHZhciBpLCBpaTsKICAgICAgdmFyIHRpbWVzID0gdGhpcy50aW1lczsKICAgICAgdmFyIG91dCA9ICcnOwogICAgICAvLyBGaW5kIHRoZSBsb25nZXN0IG5hbWUgZm9yIHBhZGRpbmcgcHVycG9zZXMuCiAgICAgIHZhciBsb25nZXN0ID0gMDsKICAgICAgZm9yIChpID0gMCwgaWkgPSB0aW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIG5hbWUgPSB0aW1lc1tpXVsnbmFtZSddOwogICAgICAgIGlmIChuYW1lLmxlbmd0aCA+IGxvbmdlc3QpIHsKICAgICAgICAgIGxvbmdlc3QgPSBuYW1lLmxlbmd0aDsKICAgICAgICB9CiAgICAgIH0KICAgICAgZm9yIChpID0gMCwgaWkgPSB0aW1lcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIHNwYW4gPSB0aW1lc1tpXTsKICAgICAgICB2YXIgZHVyYXRpb24gPSBzcGFuLmVuZCAtIHNwYW4uc3RhcnQ7CiAgICAgICAgb3V0ICs9IHJwYWQoc3BhblsnbmFtZSddLCAnICcsIGxvbmdlc3QpICsgJyAnICsgZHVyYXRpb24gKyAnbXNcbic7CiAgICAgIH0KICAgICAgcmV0dXJuIG91dDsKICAgIH0KICB9OwogIHJldHVybiBTdGF0VGltZXI7Cn0pKCk7CgpQREZKUy5jcmVhdGVCbG9iID0gZnVuY3Rpb24gY3JlYXRlQmxvYihkYXRhLCBjb250ZW50VHlwZSkgewogIGlmICh0eXBlb2YgQmxvYiAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgIHJldHVybiBuZXcgQmxvYihbZGF0YV0sIHsgdHlwZTogY29udGVudFR5cGUgfSk7CiAgfQogIC8vIEJsb2IgYnVpbGRlciBpcyBkZXByZWNhdGVkIGluIEZGMTQgYW5kIHJlbW92ZWQgaW4gRkYxOC4KICB2YXIgYmIgPSBuZXcgTW96QmxvYkJ1aWxkZXIoKTsKICBiYi5hcHBlbmQoZGF0YSk7CiAgcmV0dXJuIGJiLmdldEJsb2IoY29udGVudFR5cGUpOwp9OwoKUERGSlMuY3JlYXRlT2JqZWN0VVJMID0gKGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFVSTENsb3N1cmUoKSB7CiAgLy8gQmxvYi9jcmVhdGVPYmplY3RVUkwgaXMgbm90IGF2YWlsYWJsZSwgZmFsbGluZyBiYWNrIHRvIGRhdGEgc2NoZW1hLgogIHZhciBkaWdpdHMgPQogICAgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89JzsKCiAgcmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFVSTChkYXRhLCBjb250ZW50VHlwZSkgewogICAgaWYgKCFQREZKUy5kaXNhYmxlQ3JlYXRlT2JqZWN0VVJMICYmCiAgICAgICAgdHlwZW9mIFVSTCAhPT0gJ3VuZGVmaW5lZCcgJiYgVVJMLmNyZWF0ZU9iamVjdFVSTCkgewogICAgICB2YXIgYmxvYiA9IFBERkpTLmNyZWF0ZUJsb2IoZGF0YSwgY29udGVudFR5cGUpOwogICAgICByZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKICAgIH0KCiAgICB2YXIgYnVmZmVyID0gJ2RhdGE6JyArIGNvbnRlbnRUeXBlICsgJztiYXNlNjQsJzsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRhdGEubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMykgewogICAgICB2YXIgYjEgPSBkYXRhW2ldICYgMHhGRjsKICAgICAgdmFyIGIyID0gZGF0YVtpICsgMV0gJiAweEZGOwogICAgICB2YXIgYjMgPSBkYXRhW2kgKyAyXSAmIDB4RkY7CiAgICAgIHZhciBkMSA9IGIxID4+IDIsIGQyID0gKChiMSAmIDMpIDw8IDQpIHwgKGIyID4+IDQpOwogICAgICB2YXIgZDMgPSBpICsgMSA8IGlpID8gKChiMiAmIDB4RikgPDwgMikgfCAoYjMgPj4gNikgOiA2NDsKICAgICAgdmFyIGQ0ID0gaSArIDIgPCBpaSA/IChiMyAmIDB4M0YpIDogNjQ7CiAgICAgIGJ1ZmZlciArPSBkaWdpdHNbZDFdICsgZGlnaXRzW2QyXSArIGRpZ2l0c1tkM10gKyBkaWdpdHNbZDRdOwogICAgfQogICAgcmV0dXJuIGJ1ZmZlcjsKICB9Owp9KSgpOwoKZnVuY3Rpb24gTWVzc2FnZUhhbmRsZXIobmFtZSwgY29tT2JqKSB7CiAgdGhpcy5uYW1lID0gbmFtZTsKICB0aGlzLmNvbU9iaiA9IGNvbU9iajsKICB0aGlzLmNhbGxiYWNrSW5kZXggPSAxOwogIHRoaXMucG9zdE1lc3NhZ2VUcmFuc2ZlcnMgPSB0cnVlOwogIHZhciBjYWxsYmFja3NDYXBhYmlsaXRpZXMgPSB0aGlzLmNhbGxiYWNrc0NhcGFiaWxpdGllcyA9IHt9OwogIHZhciBhaCA9IHRoaXMuYWN0aW9uSGFuZGxlciA9IHt9OwoKICBhaFsnY29uc29sZV9sb2cnXSA9IFtmdW5jdGlvbiBhaENvbnNvbGVMb2coZGF0YSkgewogICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgZGF0YSk7CiAgfV07CiAgYWhbJ2NvbnNvbGVfZXJyb3InXSA9IFtmdW5jdGlvbiBhaENvbnNvbGVFcnJvcihkYXRhKSB7CiAgICBjb25zb2xlLmVycm9yLmFwcGx5KGNvbnNvbGUsIGRhdGEpOwogIH1dOwogIGFoWydfdW5zdXBwb3J0ZWRfZmVhdHVyZSddID0gW2Z1bmN0aW9uIGFoX3Vuc3VwcG9ydGVkRmVhdHVyZShkYXRhKSB7CiAgICBVbnN1cHBvcnRlZE1hbmFnZXIubm90aWZ5KGRhdGEpOwogIH1dOwoKICBjb21PYmoub25tZXNzYWdlID0gZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXJDb21PYmpPbk1lc3NhZ2UoZXZlbnQpIHsKICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YTsKICAgIGlmIChkYXRhLmlzUmVwbHkpIHsKICAgICAgdmFyIGNhbGxiYWNrSWQgPSBkYXRhLmNhbGxiYWNrSWQ7CiAgICAgIGlmIChkYXRhLmNhbGxiYWNrSWQgaW4gY2FsbGJhY2tzQ2FwYWJpbGl0aWVzKSB7CiAgICAgICAgdmFyIGNhbGxiYWNrID0gY2FsbGJhY2tzQ2FwYWJpbGl0aWVzW2NhbGxiYWNrSWRdOwogICAgICAgIGRlbGV0ZSBjYWxsYmFja3NDYXBhYmlsaXRpZXNbY2FsbGJhY2tJZF07CiAgICAgICAgaWYgKCdlcnJvcicgaW4gZGF0YSkgewogICAgICAgICAgY2FsbGJhY2sucmVqZWN0KGRhdGEuZXJyb3IpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjYWxsYmFjay5yZXNvbHZlKGRhdGEuZGF0YSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGVycm9yKCdDYW5ub3QgcmVzb2x2ZSBjYWxsYmFjayAnICsgY2FsbGJhY2tJZCk7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoZGF0YS5hY3Rpb24gaW4gYWgpIHsKICAgICAgdmFyIGFjdGlvbiA9IGFoW2RhdGEuYWN0aW9uXTsKICAgICAgaWYgKGRhdGEuY2FsbGJhY2tJZCkgewogICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgcmV0dXJuIGFjdGlvblswXS5jYWxsKGFjdGlvblsxXSwgZGF0YS5kYXRhKTsKICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHsKICAgICAgICAgIGNvbU9iai5wb3N0TWVzc2FnZSh7CiAgICAgICAgICAgIGlzUmVwbHk6IHRydWUsCiAgICAgICAgICAgIGNhbGxiYWNrSWQ6IGRhdGEuY2FsbGJhY2tJZCwKICAgICAgICAgICAgZGF0YTogcmVzdWx0CiAgICAgICAgICB9KTsKICAgICAgICB9LCBmdW5jdGlvbiAocmVhc29uKSB7CiAgICAgICAgICBjb21PYmoucG9zdE1lc3NhZ2UoewogICAgICAgICAgICBpc1JlcGx5OiB0cnVlLAogICAgICAgICAgICBjYWxsYmFja0lkOiBkYXRhLmNhbGxiYWNrSWQsCiAgICAgICAgICAgIGVycm9yOiByZWFzb24KICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIGFjdGlvblswXS5jYWxsKGFjdGlvblsxXSwgZGF0YS5kYXRhKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgZXJyb3IoJ1Vua25vd24gYWN0aW9uIGZyb20gd29ya2VyOiAnICsgZGF0YS5hY3Rpb24pOwogICAgfQogIH07Cn0KCk1lc3NhZ2VIYW5kbGVyLnByb3RvdHlwZSA9IHsKICBvbjogZnVuY3Rpb24gbWVzc2FnZUhhbmRsZXJPbihhY3Rpb25OYW1lLCBoYW5kbGVyLCBzY29wZSkgewogICAgdmFyIGFoID0gdGhpcy5hY3Rpb25IYW5kbGVyOwogICAgaWYgKGFoW2FjdGlvbk5hbWVdKSB7CiAgICAgIGVycm9yKCdUaGVyZSBpcyBhbHJlYWR5IGFuIGFjdGlvbk5hbWUgY2FsbGVkICInICsgYWN0aW9uTmFtZSArICciJyk7CiAgICB9CiAgICBhaFthY3Rpb25OYW1lXSA9IFtoYW5kbGVyLCBzY29wZV07CiAgfSwKICAvKioKICAgKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIGNvbU9iaiB0byBpbnZva2UgdGhlIGFjdGlvbiB3aXRoIHRoZSBzdXBwbGllZCBkYXRhLgogICAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb25OYW1lIEFjdGlvbiB0byBjYWxsLgogICAqIEBwYXJhbSB7SlNPTn0gZGF0YSBKU09OIGRhdGEgdG8gc2VuZC4KICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSBPcHRpb25hbCBsaXN0IG9mIHRyYW5zZmVycy9BcnJheUJ1ZmZlcnMKICAgKi8KICBzZW5kOiBmdW5jdGlvbiBtZXNzYWdlSGFuZGxlclNlbmQoYWN0aW9uTmFtZSwgZGF0YSwgdHJhbnNmZXJzKSB7CiAgICB2YXIgbWVzc2FnZSA9IHsKICAgICAgYWN0aW9uOiBhY3Rpb25OYW1lLAogICAgICBkYXRhOiBkYXRhCiAgICB9OwogICAgdGhpcy5wb3N0TWVzc2FnZShtZXNzYWdlLCB0cmFuc2ZlcnMpOwogIH0sCiAgLyoqCiAgICogU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBjb21PYmogdG8gaW52b2tlIHRoZSBhY3Rpb24gd2l0aCB0aGUgc3VwcGxpZWQgZGF0YS4KICAgKiBFeHBlY3RzIHRoYXQgb3RoZXIgc2lkZSB3aWxsIGNhbGxiYWNrIHdpdGggdGhlIHJlc3BvbnNlLgogICAqIEBwYXJhbSB7U3RyaW5nfSBhY3Rpb25OYW1lIEFjdGlvbiB0byBjYWxsLgogICAqIEBwYXJhbSB7SlNPTn0gZGF0YSBKU09OIGRhdGEgdG8gc2VuZC4KICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSBPcHRpb25hbCBsaXN0IG9mIHRyYW5zZmVycy9BcnJheUJ1ZmZlcnMuCiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgdG8gYmUgcmVzb2x2ZWQgd2l0aCByZXNwb25zZSBkYXRhLgogICAqLwogIHNlbmRXaXRoUHJvbWlzZToKICAgIGZ1bmN0aW9uIG1lc3NhZ2VIYW5kbGVyU2VuZFdpdGhQcm9taXNlKGFjdGlvbk5hbWUsIGRhdGEsIHRyYW5zZmVycykgewogICAgdmFyIGNhbGxiYWNrSWQgPSB0aGlzLmNhbGxiYWNrSW5kZXgrKzsKICAgIHZhciBtZXNzYWdlID0gewogICAgICBhY3Rpb246IGFjdGlvbk5hbWUsCiAgICAgIGRhdGE6IGRhdGEsCiAgICAgIGNhbGxiYWNrSWQ6IGNhbGxiYWNrSWQKICAgIH07CiAgICB2YXIgY2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CiAgICB0aGlzLmNhbGxiYWNrc0NhcGFiaWxpdGllc1tjYWxsYmFja0lkXSA9IGNhcGFiaWxpdHk7CiAgICB0cnkgewogICAgICB0aGlzLnBvc3RNZXNzYWdlKG1lc3NhZ2UsIHRyYW5zZmVycyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGNhcGFiaWxpdHkucmVqZWN0KGUpOwogICAgfQogICAgcmV0dXJuIGNhcGFiaWxpdHkucHJvbWlzZTsKICB9LAogIC8qKgogICAqIFNlbmRzIHJhdyBtZXNzYWdlIHRvIHRoZSBjb21PYmouCiAgICogQHByaXZhdGUKICAgKiBAcGFyYW0gbWVzc2FnZSB7T2JqZWN0fSBSYXcgbWVzc2FnZS4KICAgKiBAcGFyYW0gdHJhbnNmZXJzIExpc3Qgb2YgdHJhbnNmZXJzL0FycmF5QnVmZmVycywgb3IgdW5kZWZpbmVkLgogICAqLwogIHBvc3RNZXNzYWdlOiBmdW5jdGlvbiAobWVzc2FnZSwgdHJhbnNmZXJzKSB7CiAgICBpZiAodHJhbnNmZXJzICYmIHRoaXMucG9zdE1lc3NhZ2VUcmFuc2ZlcnMpIHsKICAgICAgdGhpcy5jb21PYmoucG9zdE1lc3NhZ2UobWVzc2FnZSwgdHJhbnNmZXJzKTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuY29tT2JqLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOwogICAgfQogIH0KfTsKCmZ1bmN0aW9uIGxvYWRKcGVnU3RyZWFtKGlkLCBpbWFnZVVybCwgb2JqcykgewogIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKICBpbWcub25sb2FkID0gKGZ1bmN0aW9uIGxvYWRKcGVnU3RyZWFtX29ubG9hZENsb3N1cmUoKSB7CiAgICBvYmpzLnJlc29sdmUoaWQsIGltZyk7CiAgfSk7CiAgaW1nLm9uZXJyb3IgPSAoZnVuY3Rpb24gbG9hZEpwZWdTdHJlYW1fb25lcnJvckNsb3N1cmUoKSB7CiAgICBvYmpzLnJlc29sdmUoaWQsIG51bGwpOwogICAgd2FybignRXJyb3IgZHVyaW5nIEpQRUcgaW1hZ2UgbG9hZGluZycpOwogIH0pOwogIGltZy5zcmMgPSBpbWFnZVVybDsKfQoKCgovLyNpZiAoRklSRUZPWCB8fCBNT1pDRU5UUkFMKQovLwovL0NvbXBvbmVudHMudXRpbHMuaW1wb3J0KCdyZXNvdXJjZTovL2dyZS9tb2R1bGVzL1NlcnZpY2VzLmpzbScpOwovLwovL3ZhciBFWFBPUlRFRF9TWU1CT0xTID0gWydOZXR3b3JrTWFuYWdlciddOwovLwovL3ZhciBjb25zb2xlID0gewovLyAgbG9nOiBmdW5jdGlvbiBjb25zb2xlX2xvZyhhTXNnKSB7Ci8vICAgIHZhciBtc2cgPSAnbmV0d29yay5qczogJyArIChhTXNnLmpvaW4gPyBhTXNnLmpvaW4oJycpIDogYU1zZyk7Ci8vICAgIFNlcnZpY2VzLmNvbnNvbGUubG9nU3RyaW5nTWVzc2FnZShtc2cpOwovLyAgICAvLyBUT0RPKG1hY2spOiBkdW1wKCkgZG9lc24ndCBzZWVtIHRvIHdvcmsgaGVyZS4uLgovLyAgICBkdW1wKG1zZyArICdcbicpOwovLyAgfQovL30KLy8jZW5kaWYKCnZhciBOZXR3b3JrTWFuYWdlciA9IChmdW5jdGlvbiBOZXR3b3JrTWFuYWdlckNsb3N1cmUoKSB7CgogIHZhciBPS19SRVNQT05TRSA9IDIwMDsKICB2YXIgUEFSVElBTF9DT05URU5UX1JFU1BPTlNFID0gMjA2OwoKICBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcih1cmwsIGFyZ3MpIHsKICAgIHRoaXMudXJsID0gdXJsOwogICAgYXJncyA9IGFyZ3MgfHwge307CiAgICB0aGlzLmlzSHR0cCA9IC9eaHR0cHM/Oi9pLnRlc3QodXJsKTsKICAgIHRoaXMuaHR0cEhlYWRlcnMgPSAodGhpcy5pc0h0dHAgJiYgYXJncy5odHRwSGVhZGVycykgfHwge307CiAgICB0aGlzLndpdGhDcmVkZW50aWFscyA9IGFyZ3Mud2l0aENyZWRlbnRpYWxzIHx8IGZhbHNlOwogICAgdGhpcy5nZXRYaHIgPSBhcmdzLmdldFhociB8fAogICAgICBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9nZXRYaHIoKSB7Ci8vI2lmIEIyRwovLyAgICAgIHJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3QoeyBtb3pTeXN0ZW06IHRydWUgfSk7Ci8vI2Vsc2UKICAgICAgICByZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci8vI2VuZGlmCiAgICAgIH07CgogICAgdGhpcy5jdXJyWGhySWQgPSAwOwogICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSB7fTsKICAgIHRoaXMubG9hZGVkUmVxdWVzdHMgPSB7fTsKICB9CgogIGZ1bmN0aW9uIGdldEFycmF5QnVmZmVyKHhocikgewogICAgdmFyIGRhdGEgPSB4aHIucmVzcG9uc2U7CiAgICBpZiAodHlwZW9mIGRhdGEgIT09ICdzdHJpbmcnKSB7CiAgICAgIHJldHVybiBkYXRhOwogICAgfQogICAgdmFyIGxlbmd0aCA9IGRhdGEubGVuZ3RoOwogICAgdmFyIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgYXJyYXlbaV0gPSBkYXRhLmNoYXJDb2RlQXQoaSkgJiAweEZGOwogICAgfQogICAgcmV0dXJuIGFycmF5LmJ1ZmZlcjsKICB9CgogIE5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgIHJlcXVlc3RSYW5nZTogZnVuY3Rpb24gTmV0d29ya01hbmFnZXJfcmVxdWVzdFJhbmdlKGJlZ2luLCBlbmQsIGxpc3RlbmVycykgewogICAgICB2YXIgYXJncyA9IHsKICAgICAgICBiZWdpbjogYmVnaW4sCiAgICAgICAgZW5kOiBlbmQKICAgICAgfTsKICAgICAgZm9yICh2YXIgcHJvcCBpbiBsaXN0ZW5lcnMpIHsKICAgICAgICBhcmdzW3Byb3BdID0gbGlzdGVuZXJzW3Byb3BdOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoYXJncyk7CiAgICB9LAoKICAgIHJlcXVlc3RGdWxsOiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9yZXF1ZXN0RnVsbChsaXN0ZW5lcnMpIHsKICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChsaXN0ZW5lcnMpOwogICAgfSwKCiAgICByZXF1ZXN0OiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9yZXF1ZXN0KGFyZ3MpIHsKICAgICAgdmFyIHhociA9IHRoaXMuZ2V0WGhyKCk7CiAgICAgIHZhciB4aHJJZCA9IHRoaXMuY3VyclhocklkKys7CiAgICAgIHZhciBwZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW3hocklkXSA9IHsKICAgICAgICB4aHI6IHhocgogICAgICB9OwoKICAgICAgeGhyLm9wZW4oJ0dFVCcsIHRoaXMudXJsKTsKICAgICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRoaXMud2l0aENyZWRlbnRpYWxzOwogICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzLmh0dHBIZWFkZXJzKSB7CiAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5odHRwSGVhZGVyc1twcm9wZXJ0eV07CiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihwcm9wZXJ0eSwgdmFsdWUpOwogICAgICB9CiAgICAgIGlmICh0aGlzLmlzSHR0cCAmJiAnYmVnaW4nIGluIGFyZ3MgJiYgJ2VuZCcgaW4gYXJncykgewogICAgICAgIHZhciByYW5nZVN0ciA9IGFyZ3MuYmVnaW4gKyAnLScgKyAoYXJncy5lbmQgLSAxKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignUmFuZ2UnLCAnYnl0ZXM9JyArIHJhbmdlU3RyKTsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5leHBlY3RlZFN0YXR1cyA9IDIwNjsKICAgICAgfSBlbHNlIHsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5leHBlY3RlZFN0YXR1cyA9IDIwMDsKICAgICAgfQoKICAgICAgaWYgKGFyZ3Mub25Qcm9ncmVzc2l2ZURhdGEpIHsKICAgICAgICAvLyBTb21lIGxlZ2FjeSBicm93c2VycyBtaWdodCB0aHJvdyBhbiBleGNlcHRpb24uCiAgICAgICAgdHJ5IHsKICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnbW96LWNodW5rZWQtYXJyYXlidWZmZXInOwogICAgICAgIH0gY2F0Y2goZSkge30KICAgICAgICBpZiAoeGhyLnJlc3BvbnNlVHlwZSA9PT0gJ21vei1jaHVua2VkLWFycmF5YnVmZmVyJykgewogICAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25Qcm9ncmVzc2l2ZURhdGEgPSBhcmdzLm9uUHJvZ3Jlc3NpdmVEYXRhOwogICAgICAgICAgcGVuZGluZ1JlcXVlc3QubW96Q2h1bmtlZCA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKICAgICAgfQoKICAgICAgaWYgKGFyZ3Mub25FcnJvcikgewogICAgICAgIHhoci5vbmVycm9yID0gZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgICBhcmdzLm9uRXJyb3IoeGhyLnN0YXR1cyk7CiAgICAgICAgfTsKICAgICAgfQogICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gdGhpcy5vblN0YXRlQ2hhbmdlLmJpbmQodGhpcywgeGhySWQpOwogICAgICB4aHIub25wcm9ncmVzcyA9IHRoaXMub25Qcm9ncmVzcy5iaW5kKHRoaXMsIHhocklkKTsKCiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uSGVhZGVyc1JlY2VpdmVkID0gYXJncy5vbkhlYWRlcnNSZWNlaXZlZDsKICAgICAgcGVuZGluZ1JlcXVlc3Qub25Eb25lID0gYXJncy5vbkRvbmU7CiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uRXJyb3IgPSBhcmdzLm9uRXJyb3I7CiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uUHJvZ3Jlc3MgPSBhcmdzLm9uUHJvZ3Jlc3M7CgogICAgICB4aHIuc2VuZChudWxsKTsKCiAgICAgIHJldHVybiB4aHJJZDsKICAgIH0sCgogICAgb25Qcm9ncmVzczogZnVuY3Rpb24gTmV0d29ya01hbmFnZXJfb25Qcm9ncmVzcyh4aHJJZCwgZXZ0KSB7CiAgICAgIHZhciBwZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW3hocklkXTsKICAgICAgaWYgKCFwZW5kaW5nUmVxdWVzdCkgewogICAgICAgIC8vIE1heWJlIGFib3J0UmVxdWVzdCB3YXMgY2FsbGVkLi4uCiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAocGVuZGluZ1JlcXVlc3QubW96Q2h1bmtlZCkgewogICAgICAgIHZhciBjaHVuayA9IGdldEFycmF5QnVmZmVyKHBlbmRpbmdSZXF1ZXN0Lnhocik7CiAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25Qcm9ncmVzc2l2ZURhdGEoY2h1bmspOwogICAgICB9CgogICAgICB2YXIgb25Qcm9ncmVzcyA9IHBlbmRpbmdSZXF1ZXN0Lm9uUHJvZ3Jlc3M7CiAgICAgIGlmIChvblByb2dyZXNzKSB7CiAgICAgICAgb25Qcm9ncmVzcyhldnQpOwogICAgICB9CiAgICB9LAoKICAgIG9uU3RhdGVDaGFuZ2U6IGZ1bmN0aW9uIE5ldHdvcmtNYW5hZ2VyX29uU3RhdGVDaGFuZ2UoeGhySWQsIGV2dCkgewogICAgICB2YXIgcGVuZGluZ1JlcXVlc3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1t4aHJJZF07CiAgICAgIGlmICghcGVuZGluZ1JlcXVlc3QpIHsKICAgICAgICAvLyBNYXliZSBhYm9ydFJlcXVlc3Qgd2FzIGNhbGxlZC4uLgogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHhociA9IHBlbmRpbmdSZXF1ZXN0LnhocjsKICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID49IDIgJiYgcGVuZGluZ1JlcXVlc3Qub25IZWFkZXJzUmVjZWl2ZWQpIHsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5vbkhlYWRlcnNSZWNlaXZlZCgpOwogICAgICAgIGRlbGV0ZSBwZW5kaW5nUmVxdWVzdC5vbkhlYWRlcnNSZWNlaXZlZDsKICAgICAgfQoKICAgICAgaWYgKHhoci5yZWFkeVN0YXRlICE9PSA0KSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoISh4aHJJZCBpbiB0aGlzLnBlbmRpbmdSZXF1ZXN0cykpIHsKICAgICAgICAvLyBUaGUgWEhSIHJlcXVlc3QgbWlnaHQgaGF2ZSBiZWVuIGFib3J0ZWQgaW4gb25IZWFkZXJzUmVjZWl2ZWQoKQogICAgICAgIC8vIGNhbGxiYWNrLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZCBhYm9ydCByZXF1ZXN0CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNbeGhySWRdOwoKICAgICAgLy8gc3VjY2VzcyBzdGF0dXMgPT0gMCBjYW4gYmUgb24gZnRwLCBmaWxlIGFuZCBvdGhlciBwcm90b2NvbHMKICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDAgJiYgdGhpcy5pc0h0dHApIHsKICAgICAgICBpZiAocGVuZGluZ1JlcXVlc3Qub25FcnJvcikgewogICAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25FcnJvcih4aHIuc3RhdHVzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciB4aHJTdGF0dXMgPSB4aHIuc3RhdHVzIHx8IE9LX1JFU1BPTlNFOwoKICAgICAgLy8gRnJvbSBodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzE0Lmh0bWwjc2VjMTQuMzUuMjoKICAgICAgLy8gIkEgc2VydmVyIE1BWSBpZ25vcmUgdGhlIFJhbmdlIGhlYWRlciIuIFRoaXMgbWVhbnMgaXQncyBwb3NzaWJsZSB0bwogICAgICAvLyBnZXQgYSAyMDAgcmF0aGVyIHRoYW4gYSAyMDYgcmVzcG9uc2UgZnJvbSBhIHJhbmdlIHJlcXVlc3QuCiAgICAgIHZhciBva19yZXNwb25zZV9vbl9yYW5nZV9yZXF1ZXN0ID0KICAgICAgICAgIHhoclN0YXR1cyA9PT0gT0tfUkVTUE9OU0UgJiYKICAgICAgICAgIHBlbmRpbmdSZXF1ZXN0LmV4cGVjdGVkU3RhdHVzID09PSBQQVJUSUFMX0NPTlRFTlRfUkVTUE9OU0U7CgogICAgICBpZiAoIW9rX3Jlc3BvbnNlX29uX3JhbmdlX3JlcXVlc3QgJiYKICAgICAgICAgIHhoclN0YXR1cyAhPT0gcGVuZGluZ1JlcXVlc3QuZXhwZWN0ZWRTdGF0dXMpIHsKICAgICAgICBpZiAocGVuZGluZ1JlcXVlc3Qub25FcnJvcikgewogICAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25FcnJvcih4aHIuc3RhdHVzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmxvYWRlZFJlcXVlc3RzW3hocklkXSA9IHRydWU7CgogICAgICB2YXIgY2h1bmsgPSBnZXRBcnJheUJ1ZmZlcih4aHIpOwogICAgICBpZiAoeGhyU3RhdHVzID09PSBQQVJUSUFMX0NPTlRFTlRfUkVTUE9OU0UpIHsKICAgICAgICB2YXIgcmFuZ2VIZWFkZXIgPSB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ0NvbnRlbnQtUmFuZ2UnKTsKICAgICAgICB2YXIgbWF0Y2hlcyA9IC9ieXRlcyAoXGQrKS0oXGQrKVwvKFxkKykvLmV4ZWMocmFuZ2VIZWFkZXIpOwogICAgICAgIHZhciBiZWdpbiA9IHBhcnNlSW50KG1hdGNoZXNbMV0sIDEwKTsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5vbkRvbmUoewogICAgICAgICAgYmVnaW46IGJlZ2luLAogICAgICAgICAgY2h1bms6IGNodW5rCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSBpZiAocGVuZGluZ1JlcXVlc3Qub25Qcm9ncmVzc2l2ZURhdGEpIHsKICAgICAgICBwZW5kaW5nUmVxdWVzdC5vbkRvbmUobnVsbCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcGVuZGluZ1JlcXVlc3Qub25Eb25lKHsKICAgICAgICAgIGJlZ2luOiAwLAogICAgICAgICAgY2h1bms6IGNodW5rCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCgogICAgaGFzUGVuZGluZ1JlcXVlc3RzOiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9oYXNQZW5kaW5nUmVxdWVzdHMoKSB7CiAgICAgIGZvciAodmFyIHhocklkIGluIHRoaXMucGVuZGluZ1JlcXVlc3RzKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKCiAgICBnZXRSZXF1ZXN0WGhyOiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9nZXRYaHIoeGhySWQpIHsKICAgICAgcmV0dXJuIHRoaXMucGVuZGluZ1JlcXVlc3RzW3hocklkXS54aHI7CiAgICB9LAoKICAgIGlzU3RyZWFtaW5nUmVxdWVzdDogZnVuY3Rpb24gTmV0d29ya01hbmFnZXJfaXNTdHJlYW1pbmdSZXF1ZXN0KHhocklkKSB7CiAgICAgIHJldHVybiAhISh0aGlzLnBlbmRpbmdSZXF1ZXN0c1t4aHJJZF0ub25Qcm9ncmVzc2l2ZURhdGEpOwogICAgfSwKCiAgICBpc1BlbmRpbmdSZXF1ZXN0OiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9pc1BlbmRpbmdSZXF1ZXN0KHhocklkKSB7CiAgICAgIHJldHVybiB4aHJJZCBpbiB0aGlzLnBlbmRpbmdSZXF1ZXN0czsKICAgIH0sCgogICAgaXNMb2FkZWRSZXF1ZXN0OiBmdW5jdGlvbiBOZXR3b3JrTWFuYWdlcl9pc0xvYWRlZFJlcXVlc3QoeGhySWQpIHsKICAgICAgcmV0dXJuIHhocklkIGluIHRoaXMubG9hZGVkUmVxdWVzdHM7CiAgICB9LAoKICAgIGFib3J0QWxsUmVxdWVzdHM6IGZ1bmN0aW9uIE5ldHdvcmtNYW5hZ2VyX2Fib3J0QWxsUmVxdWVzdHMoKSB7CiAgICAgIGZvciAodmFyIHhocklkIGluIHRoaXMucGVuZGluZ1JlcXVlc3RzKSB7CiAgICAgICAgdGhpcy5hYm9ydFJlcXVlc3QoeGhySWQgfCAwKTsKICAgICAgfQogICAgfSwKCiAgICBhYm9ydFJlcXVlc3Q6IGZ1bmN0aW9uIE5ldHdvcmtNYW5hZ2VyX2Fib3J0UmVxdWVzdCh4aHJJZCkgewogICAgICB2YXIgeGhyID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbeGhySWRdLnhocjsKICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzW3hocklkXTsKICAgICAgeGhyLmFib3J0KCk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIE5ldHdvcmtNYW5hZ2VyOwp9KSgpOwoKCnZhciBDaHVua2VkU3RyZWFtID0gKGZ1bmN0aW9uIENodW5rZWRTdHJlYW1DbG9zdXJlKCkgewogIGZ1bmN0aW9uIENodW5rZWRTdHJlYW0obGVuZ3RoLCBjaHVua1NpemUsIG1hbmFnZXIpIHsKICAgIHRoaXMuYnl0ZXMgPSBuZXcgVWludDhBcnJheShsZW5ndGgpOwogICAgdGhpcy5zdGFydCA9IDA7CiAgICB0aGlzLnBvcyA9IDA7CiAgICB0aGlzLmVuZCA9IGxlbmd0aDsKICAgIHRoaXMuY2h1bmtTaXplID0gY2h1bmtTaXplOwogICAgdGhpcy5sb2FkZWRDaHVua3MgPSBbXTsKICAgIHRoaXMubnVtQ2h1bmtzTG9hZGVkID0gMDsKICAgIHRoaXMubnVtQ2h1bmtzID0gTWF0aC5jZWlsKGxlbmd0aCAvIGNodW5rU2l6ZSk7CiAgICB0aGlzLm1hbmFnZXIgPSBtYW5hZ2VyOwogICAgdGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGggPSAwOwogICAgdGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuayA9IC0xOyAgLy8gYSBzaW5nbGUtZW50cnkgY2FjaGUKICB9CgogIC8vIHJlcXVpcmVkIG1ldGhvZHMgZm9yIGEgc3RyZWFtLiBpZiBhIHBhcnRpY3VsYXIgc3RyZWFtIGRvZXMgbm90CiAgLy8gaW1wbGVtZW50IHRoZXNlLCBhbiBlcnJvciBzaG91bGQgYmUgdGhyb3duCiAgQ2h1bmtlZFN0cmVhbS5wcm90b3R5cGUgPSB7CgogICAgZ2V0TWlzc2luZ0NodW5rczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9nZXRNaXNzaW5nQ2h1bmtzKCkgewogICAgICB2YXIgY2h1bmtzID0gW107CiAgICAgIGZvciAodmFyIGNodW5rID0gMCwgbiA9IHRoaXMubnVtQ2h1bmtzOyBjaHVuayA8IG47ICsrY2h1bmspIHsKICAgICAgICBpZiAoIXRoaXMubG9hZGVkQ2h1bmtzW2NodW5rXSkgewogICAgICAgICAgY2h1bmtzLnB1c2goY2h1bmspOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gY2h1bmtzOwogICAgfSwKCiAgICBnZXRCYXNlU3RyZWFtczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9nZXRCYXNlU3RyZWFtcygpIHsKICAgICAgcmV0dXJuIFt0aGlzXTsKICAgIH0sCgogICAgYWxsQ2h1bmtzTG9hZGVkOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX2FsbENodW5rc0xvYWRlZCgpIHsKICAgICAgcmV0dXJuIHRoaXMubnVtQ2h1bmtzTG9hZGVkID09PSB0aGlzLm51bUNodW5rczsKICAgIH0sCgogICAgb25SZWNlaXZlRGF0YTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9vblJlY2VpdmVEYXRhKGJlZ2luLCBjaHVuaykgewogICAgICB2YXIgZW5kID0gYmVnaW4gKyBjaHVuay5ieXRlTGVuZ3RoOwoKICAgICAgYXNzZXJ0KGJlZ2luICUgdGhpcy5jaHVua1NpemUgPT09IDAsICdCYWQgYmVnaW4gb2Zmc2V0OiAnICsgYmVnaW4pOwogICAgICAvLyBVc2luZyB0aGlzLmxlbmd0aCBpcyBpbmFjY3VyYXRlIGhlcmUgc2luY2UgdGhpcy5zdGFydCBjYW4gYmUgbW92ZWQKICAgICAgLy8gU2VlIENodW5rZWRTdHJlYW0ubW92ZVN0YXJ0KCkKICAgICAgdmFyIGxlbmd0aCA9IHRoaXMuYnl0ZXMubGVuZ3RoOwogICAgICBhc3NlcnQoZW5kICUgdGhpcy5jaHVua1NpemUgPT09IDAgfHwgZW5kID09PSBsZW5ndGgsCiAgICAgICAgICAgICAnQmFkIGVuZCBvZmZzZXQ6ICcgKyBlbmQpOwoKICAgICAgdGhpcy5ieXRlcy5zZXQobmV3IFVpbnQ4QXJyYXkoY2h1bmspLCBiZWdpbik7CiAgICAgIHZhciBjaHVua1NpemUgPSB0aGlzLmNodW5rU2l6ZTsKICAgICAgdmFyIGJlZ2luQ2h1bmsgPSBNYXRoLmZsb29yKGJlZ2luIC8gY2h1bmtTaXplKTsKICAgICAgdmFyIGVuZENodW5rID0gTWF0aC5mbG9vcigoZW5kIC0gMSkgLyBjaHVua1NpemUpICsgMTsKICAgICAgdmFyIGN1ckNodW5rOwoKICAgICAgZm9yIChjdXJDaHVuayA9IGJlZ2luQ2h1bms7IGN1ckNodW5rIDwgZW5kQ2h1bms7ICsrY3VyQ2h1bmspIHsKICAgICAgICBpZiAoIXRoaXMubG9hZGVkQ2h1bmtzW2N1ckNodW5rXSkgewogICAgICAgICAgdGhpcy5sb2FkZWRDaHVua3NbY3VyQ2h1bmtdID0gdHJ1ZTsKICAgICAgICAgICsrdGhpcy5udW1DaHVua3NMb2FkZWQ7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIG9uUmVjZWl2ZVByb2dyZXNzaXZlRGF0YToKICAgICAgICBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX29uUmVjZWl2ZVByb2dyZXNzaXZlRGF0YShkYXRhKSB7CiAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoOwogICAgICB2YXIgYmVnaW5DaHVuayA9IE1hdGguZmxvb3IocG9zaXRpb24gLyB0aGlzLmNodW5rU2l6ZSk7CgogICAgICB0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheShkYXRhKSwgcG9zaXRpb24pOwogICAgICBwb3NpdGlvbiArPSBkYXRhLmJ5dGVMZW5ndGg7CiAgICAgIHRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoID0gcG9zaXRpb247CiAgICAgIHZhciBlbmRDaHVuayA9IHBvc2l0aW9uID49IHRoaXMuZW5kID8gdGhpcy5udW1DaHVua3MgOgogICAgICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKHBvc2l0aW9uIC8gdGhpcy5jaHVua1NpemUpOwogICAgICB2YXIgY3VyQ2h1bms7CiAgICAgIGZvciAoY3VyQ2h1bmsgPSBiZWdpbkNodW5rOyBjdXJDaHVuayA8IGVuZENodW5rOyArK2N1ckNodW5rKSB7CiAgICAgICAgaWYgKCF0aGlzLmxvYWRlZENodW5rc1tjdXJDaHVua10pIHsKICAgICAgICAgIHRoaXMubG9hZGVkQ2h1bmtzW2N1ckNodW5rXSA9IHRydWU7CiAgICAgICAgICArK3RoaXMubnVtQ2h1bmtzTG9hZGVkOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBlbnN1cmVCeXRlOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX2Vuc3VyZUJ5dGUocG9zKSB7CiAgICAgIHZhciBjaHVuayA9IE1hdGguZmxvb3IocG9zIC8gdGhpcy5jaHVua1NpemUpOwogICAgICBpZiAoY2h1bmsgPT09IHRoaXMubGFzdFN1Y2Nlc3NmdWxFbnN1cmVCeXRlQ2h1bmspIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICghdGhpcy5sb2FkZWRDaHVua3NbY2h1bmtdKSB7CiAgICAgICAgdGhyb3cgbmV3IE1pc3NpbmdEYXRhRXhjZXB0aW9uKHBvcywgcG9zICsgMSk7CiAgICAgIH0KICAgICAgdGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuayA9IGNodW5rOwogICAgfSwKCiAgICBlbnN1cmVSYW5nZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9lbnN1cmVSYW5nZShiZWdpbiwgZW5kKSB7CiAgICAgIGlmIChiZWdpbiA+PSBlbmQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmIChlbmQgPD0gdGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBjaHVua1NpemUgPSB0aGlzLmNodW5rU2l6ZTsKICAgICAgdmFyIGJlZ2luQ2h1bmsgPSBNYXRoLmZsb29yKGJlZ2luIC8gY2h1bmtTaXplKTsKICAgICAgdmFyIGVuZENodW5rID0gTWF0aC5mbG9vcigoZW5kIC0gMSkgLyBjaHVua1NpemUpICsgMTsKICAgICAgZm9yICh2YXIgY2h1bmsgPSBiZWdpbkNodW5rOyBjaHVuayA8IGVuZENodW5rOyArK2NodW5rKSB7CiAgICAgICAgaWYgKCF0aGlzLmxvYWRlZENodW5rc1tjaHVua10pIHsKICAgICAgICAgIHRocm93IG5ldyBNaXNzaW5nRGF0YUV4Y2VwdGlvbihiZWdpbiwgZW5kKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgbmV4dEVtcHR5Q2h1bms6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fbmV4dEVtcHR5Q2h1bmsoYmVnaW5DaHVuaykgewogICAgICB2YXIgY2h1bmssIG47CiAgICAgIGZvciAoY2h1bmsgPSBiZWdpbkNodW5rLCBuID0gdGhpcy5udW1DaHVua3M7IGNodW5rIDwgbjsgKytjaHVuaykgewogICAgICAgIGlmICghdGhpcy5sb2FkZWRDaHVua3NbY2h1bmtdKSB7CiAgICAgICAgICByZXR1cm4gY2h1bms7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIFdyYXAgYXJvdW5kIHRvIGJlZ2lubmluZwogICAgICBmb3IgKGNodW5rID0gMDsgY2h1bmsgPCBiZWdpbkNodW5rOyArK2NodW5rKSB7CiAgICAgICAgaWYgKCF0aGlzLmxvYWRlZENodW5rc1tjaHVua10pIHsKICAgICAgICAgIHJldHVybiBjaHVuazsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9LAoKICAgIGhhc0NodW5rOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX2hhc0NodW5rKGNodW5rKSB7CiAgICAgIHJldHVybiAhIXRoaXMubG9hZGVkQ2h1bmtzW2NodW5rXTsKICAgIH0sCgogICAgZ2V0IGxlbmd0aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZW5kIC0gdGhpcy5zdGFydDsKICAgIH0sCgogICAgZ2V0IGlzRW1wdHkoKSB7CiAgICAgIHJldHVybiB0aGlzLmxlbmd0aCA9PT0gMDsKICAgIH0sCgogICAgZ2V0Qnl0ZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9nZXRCeXRlKCkgewogICAgICB2YXIgcG9zID0gdGhpcy5wb3M7CiAgICAgIGlmIChwb3MgPj0gdGhpcy5lbmQpIHsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KICAgICAgdGhpcy5lbnN1cmVCeXRlKHBvcyk7CiAgICAgIHJldHVybiB0aGlzLmJ5dGVzW3RoaXMucG9zKytdOwogICAgfSwKCiAgICBnZXRVaW50MTY6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fZ2V0VWludDE2KCkgewogICAgICB2YXIgYjAgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIxID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIGlmIChiMCA9PT0gLTEgfHwgYjEgPT09IC0xKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9CiAgICAgIHJldHVybiAoYjAgPDwgOCkgKyBiMTsKICAgIH0sCgogICAgZ2V0SW50MzI6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fZ2V0SW50MzIoKSB7CiAgICAgIHZhciBiMCA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICB2YXIgYjEgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIyID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHZhciBiMyA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICByZXR1cm4gKGIwIDw8IDI0KSArIChiMSA8PCAxNikgKyAoYjIgPDwgOCkgKyBiMzsKICAgIH0sCgogICAgLy8gcmV0dXJucyBzdWJhcnJheSBvZiBvcmlnaW5hbCBidWZmZXIKICAgIC8vIHNob3VsZCBvbmx5IGJlIHJlYWQKICAgIGdldEJ5dGVzOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX2dldEJ5dGVzKGxlbmd0aCkgewogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmJ5dGVzOwogICAgICB2YXIgcG9zID0gdGhpcy5wb3M7CiAgICAgIHZhciBzdHJFbmQgPSB0aGlzLmVuZDsKCiAgICAgIGlmICghbGVuZ3RoKSB7CiAgICAgICAgdGhpcy5lbnN1cmVSYW5nZShwb3MsIHN0ckVuZCk7CiAgICAgICAgcmV0dXJuIGJ5dGVzLnN1YmFycmF5KHBvcywgc3RyRW5kKTsKICAgICAgfQoKICAgICAgdmFyIGVuZCA9IHBvcyArIGxlbmd0aDsKICAgICAgaWYgKGVuZCA+IHN0ckVuZCkgewogICAgICAgIGVuZCA9IHN0ckVuZDsKICAgICAgfQogICAgICB0aGlzLmVuc3VyZVJhbmdlKHBvcywgZW5kKTsKCiAgICAgIHRoaXMucG9zID0gZW5kOwogICAgICByZXR1cm4gYnl0ZXMuc3ViYXJyYXkocG9zLCBlbmQpOwogICAgfSwKCiAgICBwZWVrQnl0ZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9wZWVrQnl0ZSgpIHsKICAgICAgdmFyIHBlZWtlZEJ5dGUgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdGhpcy5wb3MtLTsKICAgICAgcmV0dXJuIHBlZWtlZEJ5dGU7CiAgICB9LAoKICAgIHBlZWtCeXRlczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9wZWVrQnl0ZXMobGVuZ3RoKSB7CiAgICAgIHZhciBieXRlcyA9IHRoaXMuZ2V0Qnl0ZXMobGVuZ3RoKTsKICAgICAgdGhpcy5wb3MgLT0gYnl0ZXMubGVuZ3RoOwogICAgICByZXR1cm4gYnl0ZXM7CiAgICB9LAoKICAgIGdldEJ5dGVSYW5nZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9nZXRCeXRlcyhiZWdpbiwgZW5kKSB7CiAgICAgIHRoaXMuZW5zdXJlUmFuZ2UoYmVnaW4sIGVuZCk7CiAgICAgIHJldHVybiB0aGlzLmJ5dGVzLnN1YmFycmF5KGJlZ2luLCBlbmQpOwogICAgfSwKCiAgICBza2lwOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtX3NraXAobikgewogICAgICBpZiAoIW4pIHsKICAgICAgICBuID0gMTsKICAgICAgfQogICAgICB0aGlzLnBvcyArPSBuOwogICAgfSwKCiAgICByZXNldDogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbV9yZXNldCgpIHsKICAgICAgdGhpcy5wb3MgPSB0aGlzLnN0YXJ0OwogICAgfSwKCiAgICBtb3ZlU3RhcnQ6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fbW92ZVN0YXJ0KCkgewogICAgICB0aGlzLnN0YXJ0ID0gdGhpcy5wb3M7CiAgICB9LAoKICAgIG1ha2VTdWJTdHJlYW06IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1fbWFrZVN1YlN0cmVhbShzdGFydCwgbGVuZ3RoLCBkaWN0KSB7CiAgICAgIHRoaXMuZW5zdXJlUmFuZ2Uoc3RhcnQsIHN0YXJ0ICsgbGVuZ3RoKTsKCiAgICAgIGZ1bmN0aW9uIENodW5rZWRTdHJlYW1TdWJzdHJlYW0oKSB7fQogICAgICBDaHVua2VkU3RyZWFtU3Vic3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUodGhpcyk7CiAgICAgIENodW5rZWRTdHJlYW1TdWJzdHJlYW0ucHJvdG90eXBlLmdldE1pc3NpbmdDaHVua3MgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgY2h1bmtTaXplID0gdGhpcy5jaHVua1NpemU7CiAgICAgICAgdmFyIGJlZ2luQ2h1bmsgPSBNYXRoLmZsb29yKHRoaXMuc3RhcnQgLyBjaHVua1NpemUpOwogICAgICAgIHZhciBlbmRDaHVuayA9IE1hdGguZmxvb3IoKHRoaXMuZW5kIC0gMSkgLyBjaHVua1NpemUpICsgMTsKICAgICAgICB2YXIgbWlzc2luZ0NodW5rcyA9IFtdOwogICAgICAgIGZvciAodmFyIGNodW5rID0gYmVnaW5DaHVuazsgY2h1bmsgPCBlbmRDaHVuazsgKytjaHVuaykgewogICAgICAgICAgaWYgKCF0aGlzLmxvYWRlZENodW5rc1tjaHVua10pIHsKICAgICAgICAgICAgbWlzc2luZ0NodW5rcy5wdXNoKGNodW5rKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG1pc3NpbmdDaHVua3M7CiAgICAgIH07CiAgICAgIHZhciBzdWJTdHJlYW0gPSBuZXcgQ2h1bmtlZFN0cmVhbVN1YnN0cmVhbSgpOwogICAgICBzdWJTdHJlYW0ucG9zID0gc3ViU3RyZWFtLnN0YXJ0ID0gc3RhcnQ7CiAgICAgIHN1YlN0cmVhbS5lbmQgPSBzdGFydCArIGxlbmd0aCB8fCB0aGlzLmVuZDsKICAgICAgc3ViU3RyZWFtLmRpY3QgPSBkaWN0OwogICAgICByZXR1cm4gc3ViU3RyZWFtOwogICAgfSwKCiAgICBpc1N0cmVhbTogdHJ1ZQogIH07CgogIHJldHVybiBDaHVua2VkU3RyZWFtOwp9KSgpOwoKdmFyIENodW5rZWRTdHJlYW1NYW5hZ2VyID0gKGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyQ2xvc3VyZSgpIHsKCiAgZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXIobGVuZ3RoLCBjaHVua1NpemUsIHVybCwgYXJncykgewogICAgdGhpcy5zdHJlYW0gPSBuZXcgQ2h1bmtlZFN0cmVhbShsZW5ndGgsIGNodW5rU2l6ZSwgdGhpcyk7CiAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDsKICAgIHRoaXMuY2h1bmtTaXplID0gY2h1bmtTaXplOwogICAgdGhpcy51cmwgPSB1cmw7CiAgICB0aGlzLmRpc2FibGVBdXRvRmV0Y2ggPSBhcmdzLmRpc2FibGVBdXRvRmV0Y2g7CiAgICB2YXIgbXNnSGFuZGxlciA9IHRoaXMubXNnSGFuZGxlciA9IGFyZ3MubXNnSGFuZGxlcjsKCiAgICBpZiAoYXJncy5jaHVua2VkVmlld2VyTG9hZGluZykgewogICAgICBtc2dIYW5kbGVyLm9uKCdPbkRhdGFSYW5nZScsIHRoaXMub25SZWNlaXZlRGF0YS5iaW5kKHRoaXMpKTsKICAgICAgbXNnSGFuZGxlci5vbignT25EYXRhUHJvZ3Jlc3MnLCB0aGlzLm9uUHJvZ3Jlc3MuYmluZCh0aGlzKSk7CiAgICAgIHRoaXMuc2VuZFJlcXVlc3QgPSBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9zZW5kUmVxdWVzdChiZWdpbiwgZW5kKSB7CiAgICAgICAgbXNnSGFuZGxlci5zZW5kKCdSZXF1ZXN0RGF0YVJhbmdlJywgeyBiZWdpbjogYmVnaW4sIGVuZDogZW5kIH0pOwogICAgICB9OwogICAgfSBlbHNlIHsKCiAgICAgIHZhciBnZXRYaHIgPSBmdW5jdGlvbiBnZXRYaHIoKSB7Ci8vI2lmIEIyRwovLyAgICAgIHJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3QoeyBtb3pTeXN0ZW06IHRydWUgfSk7Ci8vI2Vsc2UKICAgICAgICByZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci8vI2VuZGlmCiAgICAgIH07CiAgICAgIHRoaXMubmV0d29ya01hbmFnZXIgPSBuZXcgTmV0d29ya01hbmFnZXIodGhpcy51cmwsIHsKICAgICAgICBnZXRYaHI6IGdldFhociwKICAgICAgICBodHRwSGVhZGVyczogYXJncy5odHRwSGVhZGVycywKICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IGFyZ3Mud2l0aENyZWRlbnRpYWxzCiAgICAgIH0pOwogICAgICB0aGlzLnNlbmRSZXF1ZXN0ID0gZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfc2VuZFJlcXVlc3QoYmVnaW4sIGVuZCkgewogICAgICAgIHRoaXMubmV0d29ya01hbmFnZXIucmVxdWVzdFJhbmdlKGJlZ2luLCBlbmQsIHsKICAgICAgICAgIG9uRG9uZTogdGhpcy5vblJlY2VpdmVEYXRhLmJpbmQodGhpcyksCiAgICAgICAgICBvblByb2dyZXNzOiB0aGlzLm9uUHJvZ3Jlc3MuYmluZCh0aGlzKQogICAgICAgIH0pOwogICAgICB9OwogICAgfQoKICAgIHRoaXMuY3VyclJlcXVlc3RJZCA9IDA7CgogICAgdGhpcy5jaHVua3NOZWVkZWRCeVJlcXVlc3QgPSB7fTsKICAgIHRoaXMucmVxdWVzdHNCeUNodW5rID0ge307CiAgICB0aGlzLmNhbGxiYWNrc0J5UmVxdWVzdCA9IHt9OwogICAgdGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGggPSAwOwoKICAgIHRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgIGlmIChhcmdzLmluaXRpYWxEYXRhKSB7CiAgICAgIHRoaXMub25SZWNlaXZlRGF0YSh7Y2h1bms6IGFyZ3MuaW5pdGlhbERhdGF9KTsKICAgIH0KICB9CgogIENodW5rZWRTdHJlYW1NYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgIG9uTG9hZGVkU3RyZWFtOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9nZXRMb2FkZWRTdHJlYW0oKSB7CiAgICAgIHJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAoKICAgIC8vIEdldCBhbGwgdGhlIGNodW5rcyB0aGF0IGFyZSBub3QgeWV0IGxvYWRlZCBhbmQgZ3JvdXBzIHRoZW0gaW50bwogICAgLy8gY29udGlndW91cyByYW5nZXMgdG8gbG9hZCBpbiBhcyBmZXcgcmVxdWVzdHMgYXMgcG9zc2libGUKICAgIHJlcXVlc3RBbGxDaHVua3M6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyX3JlcXVlc3RBbGxDaHVua3MoKSB7CiAgICAgIHZhciBtaXNzaW5nQ2h1bmtzID0gdGhpcy5zdHJlYW0uZ2V0TWlzc2luZ0NodW5rcygpOwogICAgICB0aGlzLnJlcXVlc3RDaHVua3MobWlzc2luZ0NodW5rcyk7CiAgICAgIHJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAoKICAgIHJlcXVlc3RDaHVua3M6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyX3JlcXVlc3RDaHVua3MoY2h1bmtzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaykgewogICAgICB2YXIgcmVxdWVzdElkID0gdGhpcy5jdXJyUmVxdWVzdElkKys7CgogICAgICB2YXIgY2h1bmtzTmVlZGVkOwogICAgICB2YXIgaSwgaWk7CiAgICAgIHRoaXMuY2h1bmtzTmVlZGVkQnlSZXF1ZXN0W3JlcXVlc3RJZF0gPSBjaHVua3NOZWVkZWQgPSB7fTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBjaHVua3MubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGlmICghdGhpcy5zdHJlYW0uaGFzQ2h1bmsoY2h1bmtzW2ldKSkgewogICAgICAgICAgY2h1bmtzTmVlZGVkW2NodW5rc1tpXV0gPSB0cnVlOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGlzRW1wdHlPYmooY2h1bmtzTmVlZGVkKSkgewogICAgICAgIGlmIChjYWxsYmFjaykgewogICAgICAgICAgY2FsbGJhY2soKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmNhbGxiYWNrc0J5UmVxdWVzdFtyZXF1ZXN0SWRdID0gY2FsbGJhY2s7CgogICAgICB2YXIgY2h1bmtzVG9SZXF1ZXN0ID0gW107CiAgICAgIGZvciAodmFyIGNodW5rIGluIGNodW5rc05lZWRlZCkgewogICAgICAgIGNodW5rID0gY2h1bmsgfCAwOwogICAgICAgIGlmICghKGNodW5rIGluIHRoaXMucmVxdWVzdHNCeUNodW5rKSkgewogICAgICAgICAgdGhpcy5yZXF1ZXN0c0J5Q2h1bmtbY2h1bmtdID0gW107CiAgICAgICAgICBjaHVua3NUb1JlcXVlc3QucHVzaChjaHVuayk7CiAgICAgICAgfQogICAgICAgIHRoaXMucmVxdWVzdHNCeUNodW5rW2NodW5rXS5wdXNoKHJlcXVlc3RJZCk7CiAgICAgIH0KCiAgICAgIGlmICghY2h1bmtzVG9SZXF1ZXN0Lmxlbmd0aCkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIGdyb3VwZWRDaHVua3NUb1JlcXVlc3QgPSB0aGlzLmdyb3VwQ2h1bmtzKGNodW5rc1RvUmVxdWVzdCk7CgogICAgICBmb3IgKGkgPSAwOyBpIDwgZ3JvdXBlZENodW5rc1RvUmVxdWVzdC5sZW5ndGg7ICsraSkgewogICAgICAgIHZhciBncm91cGVkQ2h1bmsgPSBncm91cGVkQ2h1bmtzVG9SZXF1ZXN0W2ldOwogICAgICAgIHZhciBiZWdpbiA9IGdyb3VwZWRDaHVuay5iZWdpbkNodW5rICogdGhpcy5jaHVua1NpemU7CiAgICAgICAgdmFyIGVuZCA9IE1hdGgubWluKGdyb3VwZWRDaHVuay5lbmRDaHVuayAqIHRoaXMuY2h1bmtTaXplLCB0aGlzLmxlbmd0aCk7CiAgICAgICAgdGhpcy5zZW5kUmVxdWVzdChiZWdpbiwgZW5kKTsKICAgICAgfQogICAgfSwKCiAgICBnZXRTdHJlYW06IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyX2dldFN0cmVhbSgpIHsKICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtOwogICAgfSwKCiAgICAvLyBMb2FkcyBhbnkgY2h1bmtzIGluIHRoZSByZXF1ZXN0ZWQgcmFuZ2UgdGhhdCBhcmUgbm90IHlldCBsb2FkZWQKICAgIHJlcXVlc3RSYW5nZTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfcmVxdWVzdFJhbmdlKAogICAgICAgICAgICAgICAgICAgICAgYmVnaW4sIGVuZCwgY2FsbGJhY2spIHsKCiAgICAgIGVuZCA9IE1hdGgubWluKGVuZCwgdGhpcy5sZW5ndGgpOwoKICAgICAgdmFyIGJlZ2luQ2h1bmsgPSB0aGlzLmdldEJlZ2luQ2h1bmsoYmVnaW4pOwogICAgICB2YXIgZW5kQ2h1bmsgPSB0aGlzLmdldEVuZENodW5rKGVuZCk7CgogICAgICB2YXIgY2h1bmtzID0gW107CiAgICAgIGZvciAodmFyIGNodW5rID0gYmVnaW5DaHVuazsgY2h1bmsgPCBlbmRDaHVuazsgKytjaHVuaykgewogICAgICAgIGNodW5rcy5wdXNoKGNodW5rKTsKICAgICAgfQoKICAgICAgdGhpcy5yZXF1ZXN0Q2h1bmtzKGNodW5rcywgY2FsbGJhY2spOwogICAgfSwKCiAgICByZXF1ZXN0UmFuZ2VzOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9yZXF1ZXN0UmFuZ2VzKHJhbmdlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2spIHsKICAgICAgcmFuZ2VzID0gcmFuZ2VzIHx8IFtdOwogICAgICB2YXIgY2h1bmtzVG9SZXF1ZXN0ID0gW107CgogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBiZWdpbkNodW5rID0gdGhpcy5nZXRCZWdpbkNodW5rKHJhbmdlc1tpXS5iZWdpbik7CiAgICAgICAgdmFyIGVuZENodW5rID0gdGhpcy5nZXRFbmRDaHVuayhyYW5nZXNbaV0uZW5kKTsKICAgICAgICBmb3IgKHZhciBjaHVuayA9IGJlZ2luQ2h1bms7IGNodW5rIDwgZW5kQ2h1bms7ICsrY2h1bmspIHsKICAgICAgICAgIGlmIChjaHVua3NUb1JlcXVlc3QuaW5kZXhPZihjaHVuaykgPCAwKSB7CiAgICAgICAgICAgIGNodW5rc1RvUmVxdWVzdC5wdXNoKGNodW5rKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIGNodW5rc1RvUmVxdWVzdC5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIGEgLSBiOyB9KTsKICAgICAgdGhpcy5yZXF1ZXN0Q2h1bmtzKGNodW5rc1RvUmVxdWVzdCwgY2FsbGJhY2spOwogICAgfSwKCiAgICAvLyBHcm91cHMgYSBzb3J0ZWQgYXJyYXkgb2YgY2h1bmtzIGludG8gYXMgZmV3IGNvbnRpbmd1b3VzIGxhcmdlcgogICAgLy8gY2h1bmtzIGFzIHBvc3NpYmxlCiAgICBncm91cENodW5rczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfZ3JvdXBDaHVua3MoY2h1bmtzKSB7CiAgICAgIHZhciBncm91cGVkQ2h1bmtzID0gW107CiAgICAgIHZhciBiZWdpbkNodW5rID0gLTE7CiAgICAgIHZhciBwcmV2Q2h1bmsgPSAtMTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaHVua3MubGVuZ3RoOyArK2kpIHsKICAgICAgICB2YXIgY2h1bmsgPSBjaHVua3NbaV07CgogICAgICAgIGlmIChiZWdpbkNodW5rIDwgMCkgewogICAgICAgICAgYmVnaW5DaHVuayA9IGNodW5rOwogICAgICAgIH0KCiAgICAgICAgaWYgKHByZXZDaHVuayA+PSAwICYmIHByZXZDaHVuayArIDEgIT09IGNodW5rKSB7CiAgICAgICAgICBncm91cGVkQ2h1bmtzLnB1c2goeyBiZWdpbkNodW5rOiBiZWdpbkNodW5rLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kQ2h1bms6IHByZXZDaHVuayArIDEgfSk7CiAgICAgICAgICBiZWdpbkNodW5rID0gY2h1bms7CiAgICAgICAgfQogICAgICAgIGlmIChpICsgMSA9PT0gY2h1bmtzLmxlbmd0aCkgewogICAgICAgICAgZ3JvdXBlZENodW5rcy5wdXNoKHsgYmVnaW5DaHVuazogYmVnaW5DaHVuaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZENodW5rOiBjaHVuayArIDEgfSk7CiAgICAgICAgfQoKICAgICAgICBwcmV2Q2h1bmsgPSBjaHVuazsKICAgICAgfQogICAgICByZXR1cm4gZ3JvdXBlZENodW5rczsKICAgIH0sCgogICAgb25Qcm9ncmVzczogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfb25Qcm9ncmVzcyhhcmdzKSB7CiAgICAgIHZhciBieXRlc0xvYWRlZCA9ICh0aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQgKiB0aGlzLmNodW5rU2l6ZSArCiAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmxvYWRlZCk7CiAgICAgIHRoaXMubXNnSGFuZGxlci5zZW5kKCdEb2NQcm9ncmVzcycsIHsKICAgICAgICBsb2FkZWQ6IGJ5dGVzTG9hZGVkLAogICAgICAgIHRvdGFsOiB0aGlzLmxlbmd0aAogICAgICB9KTsKICAgIH0sCgogICAgb25SZWNlaXZlRGF0YTogZnVuY3Rpb24gQ2h1bmtlZFN0cmVhbU1hbmFnZXJfb25SZWNlaXZlRGF0YShhcmdzKSB7CiAgICAgIHZhciBjaHVuayA9IGFyZ3MuY2h1bms7CiAgICAgIHZhciBpc1Byb2dyZXNzaXZlID0gYXJncy5iZWdpbiA9PT0gdW5kZWZpbmVkOwogICAgICB2YXIgYmVnaW4gPSBpc1Byb2dyZXNzaXZlID8gdGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGggOiBhcmdzLmJlZ2luOwogICAgICB2YXIgZW5kID0gYmVnaW4gKyBjaHVuay5ieXRlTGVuZ3RoOwoKICAgICAgdmFyIGJlZ2luQ2h1bmsgPSBNYXRoLmZsb29yKGJlZ2luIC8gdGhpcy5jaHVua1NpemUpOwogICAgICB2YXIgZW5kQ2h1bmsgPSBlbmQgPCB0aGlzLmxlbmd0aCA/IE1hdGguZmxvb3IoZW5kIC8gdGhpcy5jaHVua1NpemUpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmNlaWwoZW5kIC8gdGhpcy5jaHVua1NpemUpOwoKICAgICAgaWYgKGlzUHJvZ3Jlc3NpdmUpIHsKICAgICAgICB0aGlzLnN0cmVhbS5vblJlY2VpdmVQcm9ncmVzc2l2ZURhdGEoY2h1bmspOwogICAgICAgIHRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoID0gZW5kOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuc3RyZWFtLm9uUmVjZWl2ZURhdGEoYmVnaW4sIGNodW5rKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuc3RyZWFtLmFsbENodW5rc0xvYWRlZCgpKSB7CiAgICAgICAgdGhpcy5fbG9hZGVkU3RyZWFtQ2FwYWJpbGl0eS5yZXNvbHZlKHRoaXMuc3RyZWFtKTsKICAgICAgfQoKICAgICAgdmFyIGxvYWRlZFJlcXVlc3RzID0gW107CiAgICAgIHZhciBpLCByZXF1ZXN0SWQ7CiAgICAgIGZvciAoY2h1bmsgPSBiZWdpbkNodW5rOyBjaHVuayA8IGVuZENodW5rOyArK2NodW5rKSB7CiAgICAgICAgLy8gVGhlIHNlcnZlciBtaWdodCByZXR1cm4gbW9yZSBjaHVua3MgdGhhbiByZXF1ZXN0ZWQKICAgICAgICB2YXIgcmVxdWVzdElkcyA9IHRoaXMucmVxdWVzdHNCeUNodW5rW2NodW5rXSB8fCBbXTsKICAgICAgICBkZWxldGUgdGhpcy5yZXF1ZXN0c0J5Q2h1bmtbY2h1bmtdOwoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcmVxdWVzdElkcy5sZW5ndGg7ICsraSkgewogICAgICAgICAgcmVxdWVzdElkID0gcmVxdWVzdElkc1tpXTsKICAgICAgICAgIHZhciBjaHVua3NOZWVkZWQgPSB0aGlzLmNodW5rc05lZWRlZEJ5UmVxdWVzdFtyZXF1ZXN0SWRdOwogICAgICAgICAgaWYgKGNodW5rIGluIGNodW5rc05lZWRlZCkgewogICAgICAgICAgICBkZWxldGUgY2h1bmtzTmVlZGVkW2NodW5rXTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoIWlzRW1wdHlPYmooY2h1bmtzTmVlZGVkKSkgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KCiAgICAgICAgICBsb2FkZWRSZXF1ZXN0cy5wdXNoKHJlcXVlc3RJZCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gcGVuZGluZyByZXF1ZXN0cywgYXV0b21hdGljYWxseSBmZXRjaCB0aGUgbmV4dAogICAgICAvLyB1bmZldGNoZWQgY2h1bmsgb2YgdGhlIFBERgogICAgICBpZiAoIXRoaXMuZGlzYWJsZUF1dG9GZXRjaCAmJiBpc0VtcHR5T2JqKHRoaXMucmVxdWVzdHNCeUNodW5rKSkgewogICAgICAgIHZhciBuZXh0RW1wdHlDaHVuazsKICAgICAgICBpZiAodGhpcy5zdHJlYW0ubnVtQ2h1bmtzTG9hZGVkID09PSAxKSB7CiAgICAgICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBvcHRpbWl6YXRpb24gc28gdGhhdCBhZnRlciBmZXRjaGluZyB0aGUgZmlyc3QKICAgICAgICAgIC8vIGNodW5rLCByYXRoZXIgdGhhbiBmZXRjaGluZyB0aGUgc2Vjb25kIGNodW5rLCB3ZSBmZXRjaCB0aGUgbGFzdAogICAgICAgICAgLy8gY2h1bmsuCiAgICAgICAgICB2YXIgbGFzdENodW5rID0gdGhpcy5zdHJlYW0ubnVtQ2h1bmtzIC0gMTsKICAgICAgICAgIGlmICghdGhpcy5zdHJlYW0uaGFzQ2h1bmsobGFzdENodW5rKSkgewogICAgICAgICAgICBuZXh0RW1wdHlDaHVuayA9IGxhc3RDaHVuazsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgbmV4dEVtcHR5Q2h1bmsgPSB0aGlzLnN0cmVhbS5uZXh0RW1wdHlDaHVuayhlbmRDaHVuayk7CiAgICAgICAgfQogICAgICAgIGlmIChpc0ludChuZXh0RW1wdHlDaHVuaykpIHsKICAgICAgICAgIHRoaXMucmVxdWVzdENodW5rcyhbbmV4dEVtcHR5Q2h1bmtdKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZvciAoaSA9IDA7IGkgPCBsb2FkZWRSZXF1ZXN0cy5sZW5ndGg7ICsraSkgewogICAgICAgIHJlcXVlc3RJZCA9IGxvYWRlZFJlcXVlc3RzW2ldOwogICAgICAgIHZhciBjYWxsYmFjayA9IHRoaXMuY2FsbGJhY2tzQnlSZXF1ZXN0W3JlcXVlc3RJZF07CiAgICAgICAgZGVsZXRlIHRoaXMuY2FsbGJhY2tzQnlSZXF1ZXN0W3JlcXVlc3RJZF07CiAgICAgICAgaWYgKGNhbGxiYWNrKSB7CiAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGhpcy5tc2dIYW5kbGVyLnNlbmQoJ0RvY1Byb2dyZXNzJywgewogICAgICAgIGxvYWRlZDogdGhpcy5zdHJlYW0ubnVtQ2h1bmtzTG9hZGVkICogdGhpcy5jaHVua1NpemUsCiAgICAgICAgdG90YWw6IHRoaXMubGVuZ3RoCiAgICAgIH0pOwogICAgfSwKCiAgICBvbkVycm9yOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9vbkVycm9yKGVycikgewogICAgICB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnJlamVjdChlcnIpOwogICAgfSwKCiAgICBnZXRCZWdpbkNodW5rOiBmdW5jdGlvbiBDaHVua2VkU3RyZWFtTWFuYWdlcl9nZXRCZWdpbkNodW5rKGJlZ2luKSB7CiAgICAgIHZhciBjaHVuayA9IE1hdGguZmxvb3IoYmVnaW4gLyB0aGlzLmNodW5rU2l6ZSk7CiAgICAgIHJldHVybiBjaHVuazsKICAgIH0sCgogICAgZ2V0RW5kQ2h1bms6IGZ1bmN0aW9uIENodW5rZWRTdHJlYW1NYW5hZ2VyX2dldEVuZENodW5rKGVuZCkgewogICAgICBpZiAoZW5kICUgdGhpcy5jaHVua1NpemUgPT09IDApIHsKICAgICAgICByZXR1cm4gZW5kIC8gdGhpcy5jaHVua1NpemU7CiAgICAgIH0KCiAgICAgIC8vIDAgLT4gMAogICAgICAvLyAxIC0+IDEKICAgICAgLy8gOTkgLT4gMQogICAgICAvLyAxMDAgLT4gMQogICAgICAvLyAxMDEgLT4gMgogICAgICB2YXIgY2h1bmsgPSBNYXRoLmZsb29yKChlbmQgLSAxKSAvIHRoaXMuY2h1bmtTaXplKSArIDE7CiAgICAgIHJldHVybiBjaHVuazsKICAgIH0KICB9OwoKICByZXR1cm4gQ2h1bmtlZFN0cmVhbU1hbmFnZXI7Cn0pKCk7CgoKLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGZldGNoZWQgcGVyIHJhbmdlIHJlcXVlc3QKdmFyIFJBTkdFX0NIVU5LX1NJWkUgPSA2NTUzNjsKCi8vIFRPRE8obWFjayk6IE1ha2UgdXNlIG9mIFBERkpTLlV0aWwuaW5oZXJpdCgpIHdoZW4gaXQgYmVjb21lcyBhdmFpbGFibGUKdmFyIEJhc2VQZGZNYW5hZ2VyID0gKGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcigpIHsKICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGluaXRpYWxpemUgQmFzZU1hbmFnZXJNYW5hZ2VyJyk7CiAgfQoKICBCYXNlUGRmTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICBvbkxvYWRlZFN0cmVhbTogZnVuY3Rpb24gQmFzZVBkZk1hbmFnZXJfb25Mb2FkZWRTdHJlYW0oKSB7CiAgICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbigpOwogICAgfSwKCiAgICBlbnN1cmVEb2M6IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX2Vuc3VyZURvYyhwcm9wLCBhcmdzKSB7CiAgICAgIHJldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LCBwcm9wLCBhcmdzKTsKICAgIH0sCgogICAgZW5zdXJlWFJlZjogZnVuY3Rpb24gQmFzZVBkZk1hbmFnZXJfZW5zdXJlWFJlZihwcm9wLCBhcmdzKSB7CiAgICAgIHJldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LnhyZWYsIHByb3AsIGFyZ3MpOwogICAgfSwKCiAgICBlbnN1cmVDYXRhbG9nOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl9lbnN1cmVDYXRhbG9nKHByb3AsIGFyZ3MpIHsKICAgICAgcmV0dXJuIHRoaXMuZW5zdXJlKHRoaXMucGRmRG9jdW1lbnQuY2F0YWxvZywgcHJvcCwgYXJncyk7CiAgICB9LAoKICAgIGdldFBhZ2U6IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX3BhZ2VQYWdlKHBhZ2VJbmRleCkgewogICAgICByZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5nZXRQYWdlKHBhZ2VJbmRleCk7CiAgICB9LAoKICAgIGNsZWFudXA6IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX2NsZWFudXAoKSB7CiAgICAgIHJldHVybiB0aGlzLnBkZkRvY3VtZW50LmNsZWFudXAoKTsKICAgIH0sCgogICAgZW5zdXJlOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl9lbnN1cmUob2JqLCBwcm9wLCBhcmdzKSB7CiAgICAgIHJldHVybiBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTsKICAgIH0sCgogICAgcmVxdWVzdFJhbmdlOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl9lbnN1cmUoYmVnaW4sIGVuZCkgewogICAgICByZXR1cm4gbmV3IE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKCk7CiAgICB9LAoKICAgIHJlcXVlc3RMb2FkZWRTdHJlYW06IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX3JlcXVlc3RMb2FkZWRTdHJlYW0oKSB7CiAgICAgIHJldHVybiBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTsKICAgIH0sCgogICAgc2VuZFByb2dyZXNzaXZlRGF0YTogZnVuY3Rpb24gQmFzZVBkZk1hbmFnZXJfc2VuZFByb2dyZXNzaXZlRGF0YShjaHVuaykgewogICAgICByZXR1cm4gbmV3IE5vdEltcGxlbWVudGVkRXhjZXB0aW9uKCk7CiAgICB9LAoKICAgIHVwZGF0ZVBhc3N3b3JkOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl91cGRhdGVQYXNzd29yZChwYXNzd29yZCkgewogICAgICB0aGlzLnBkZkRvY3VtZW50LnhyZWYucGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkID0gcGFzc3dvcmQ7CiAgICAgIGlmICh0aGlzLl9wYXNzd29yZENoYW5nZWRDYXBhYmlsaXR5KSB7CiAgICAgICAgdGhpcy5fcGFzc3dvcmRDaGFuZ2VkQ2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICAgIH0KICAgIH0sCgogICAgcGFzc3dvcmRDaGFuZ2VkOiBmdW5jdGlvbiBCYXNlUGRmTWFuYWdlcl9wYXNzd29yZENoYW5nZWQoKSB7CiAgICAgIHRoaXMuX3Bhc3N3b3JkQ2hhbmdlZENhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgICByZXR1cm4gdGhpcy5fcGFzc3dvcmRDaGFuZ2VkQ2FwYWJpbGl0eS5wcm9taXNlOwogICAgfSwKCiAgICB0ZXJtaW5hdGU6IGZ1bmN0aW9uIEJhc2VQZGZNYW5hZ2VyX3Rlcm1pbmF0ZSgpIHsKICAgICAgcmV0dXJuIG5ldyBOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbigpOwogICAgfQogIH07CgogIHJldHVybiBCYXNlUGRmTWFuYWdlcjsKfSkoKTsKCnZhciBMb2NhbFBkZk1hbmFnZXIgPSAoZnVuY3Rpb24gTG9jYWxQZGZNYW5hZ2VyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBMb2NhbFBkZk1hbmFnZXIoZGF0YSwgcGFzc3dvcmQpIHsKICAgIHZhciBzdHJlYW0gPSBuZXcgU3RyZWFtKGRhdGEpOwogICAgdGhpcy5wZGZEb2N1bWVudCA9IG5ldyBQREZEb2N1bWVudCh0aGlzLCBzdHJlYW0sIHBhc3N3b3JkKTsKICAgIHRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwogICAgdGhpcy5fbG9hZGVkU3RyZWFtQ2FwYWJpbGl0eS5yZXNvbHZlKHN0cmVhbSk7CiAgfQoKICBMb2NhbFBkZk1hbmFnZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShCYXNlUGRmTWFuYWdlci5wcm90b3R5cGUpOwogIExvY2FsUGRmTWFuYWdlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBMb2NhbFBkZk1hbmFnZXI7CgogIExvY2FsUGRmTWFuYWdlci5wcm90b3R5cGUuZW5zdXJlID0KICAgICAgZnVuY3Rpb24gTG9jYWxQZGZNYW5hZ2VyX2Vuc3VyZShvYmosIHByb3AsIGFyZ3MpIHsKICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIHZhbHVlID0gb2JqW3Byb3BdOwogICAgICAgIHZhciByZXN1bHQ7CiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgcmVzdWx0ID0gdmFsdWUuYXBwbHkob2JqLCBhcmdzKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmVzdWx0ID0gdmFsdWU7CiAgICAgICAgfQogICAgICAgIHJlc29sdmUocmVzdWx0KTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIHJlamVjdChlKTsKICAgICAgfQogICAgfSk7CiAgfTsKCiAgTG9jYWxQZGZNYW5hZ2VyLnByb3RvdHlwZS5yZXF1ZXN0UmFuZ2UgPQogICAgICBmdW5jdGlvbiBMb2NhbFBkZk1hbmFnZXJfcmVxdWVzdFJhbmdlKGJlZ2luLCBlbmQpIHsKICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICB9OwoKICBMb2NhbFBkZk1hbmFnZXIucHJvdG90eXBlLnJlcXVlc3RMb2FkZWRTdHJlYW0gPQogICAgICBmdW5jdGlvbiBMb2NhbFBkZk1hbmFnZXJfcmVxdWVzdExvYWRlZFN0cmVhbSgpIHsKICB9OwoKICBMb2NhbFBkZk1hbmFnZXIucHJvdG90eXBlLm9uTG9hZGVkU3RyZWFtID0KICAgICAgZnVuY3Rpb24gTG9jYWxQZGZNYW5hZ2VyX2dldExvYWRlZFN0cmVhbSgpIHsKICAgIHJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2U7CiAgfTsKCiAgTG9jYWxQZGZNYW5hZ2VyLnByb3RvdHlwZS50ZXJtaW5hdGUgPQogICAgICBmdW5jdGlvbiBMb2NhbFBkZk1hbmFnZXJfdGVybWluYXRlKCkgewogICAgcmV0dXJuOwogIH07CgogIHJldHVybiBMb2NhbFBkZk1hbmFnZXI7Cn0pKCk7Cgp2YXIgTmV0d29ya1BkZk1hbmFnZXIgPSAoZnVuY3Rpb24gTmV0d29ya1BkZk1hbmFnZXJDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5ldHdvcmtQZGZNYW5hZ2VyKGFyZ3MsIG1zZ0hhbmRsZXIpIHsKCiAgICB0aGlzLm1zZ0hhbmRsZXIgPSBtc2dIYW5kbGVyOwoKICAgIHZhciBwYXJhbXMgPSB7CiAgICAgIG1zZ0hhbmRsZXI6IG1zZ0hhbmRsZXIsCiAgICAgIGh0dHBIZWFkZXJzOiBhcmdzLmh0dHBIZWFkZXJzLAogICAgICB3aXRoQ3JlZGVudGlhbHM6IGFyZ3Mud2l0aENyZWRlbnRpYWxzLAogICAgICBjaHVua2VkVmlld2VyTG9hZGluZzogYXJncy5jaHVua2VkVmlld2VyTG9hZGluZywKICAgICAgZGlzYWJsZUF1dG9GZXRjaDogYXJncy5kaXNhYmxlQXV0b0ZldGNoLAogICAgICBpbml0aWFsRGF0YTogYXJncy5pbml0aWFsRGF0YQogICAgfTsKICAgIHRoaXMuc3RyZWFtTWFuYWdlciA9IG5ldyBDaHVua2VkU3RyZWFtTWFuYWdlcihhcmdzLmxlbmd0aCwgUkFOR0VfQ0hVTktfU0laRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLnVybCwgcGFyYW1zKTsKCiAgICB0aGlzLnBkZkRvY3VtZW50ID0gbmV3IFBERkRvY3VtZW50KHRoaXMsIHRoaXMuc3RyZWFtTWFuYWdlci5nZXRTdHJlYW0oKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5wYXNzd29yZCk7CiAgfQoKICBOZXR3b3JrUGRmTWFuYWdlci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEJhc2VQZGZNYW5hZ2VyLnByb3RvdHlwZSk7CiAgTmV0d29ya1BkZk1hbmFnZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTmV0d29ya1BkZk1hbmFnZXI7CgogIE5ldHdvcmtQZGZNYW5hZ2VyLnByb3RvdHlwZS5lbnN1cmUgPQogICAgICBmdW5jdGlvbiBOZXR3b3JrUGRmTWFuYWdlcl9lbnN1cmUob2JqLCBwcm9wLCBhcmdzKSB7CiAgICB2YXIgcGRmTWFuYWdlciA9IHRoaXM7CgogICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgZnVuY3Rpb24gZW5zdXJlSGVscGVyKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgcmVzdWx0OwogICAgICAgICAgdmFyIHZhbHVlID0gb2JqW3Byb3BdOwogICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgICByZXN1bHQgPSB2YWx1ZS5hcHBseShvYmosIGFyZ3MpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmVzdWx0ID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7CiAgICAgICAgfSBjYXRjaChlKSB7CiAgICAgICAgICBpZiAoIShlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKSB7CiAgICAgICAgICAgIHJlamVjdChlKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgcGRmTWFuYWdlci5zdHJlYW1NYW5hZ2VyLnJlcXVlc3RSYW5nZShlLmJlZ2luLCBlLmVuZCwgZW5zdXJlSGVscGVyKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGVuc3VyZUhlbHBlcigpOwogICAgfSk7CiAgfTsKCiAgTmV0d29ya1BkZk1hbmFnZXIucHJvdG90eXBlLnJlcXVlc3RSYW5nZSA9CiAgICAgIGZ1bmN0aW9uIE5ldHdvcmtQZGZNYW5hZ2VyX3JlcXVlc3RSYW5nZShiZWdpbiwgZW5kKSB7CiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsKICAgICAgdGhpcy5zdHJlYW1NYW5hZ2VyLnJlcXVlc3RSYW5nZShiZWdpbiwgZW5kLCBmdW5jdGlvbigpIHsKICAgICAgICByZXNvbHZlKCk7CiAgICAgIH0pOwogICAgfS5iaW5kKHRoaXMpKTsKICB9OwoKICBOZXR3b3JrUGRmTWFuYWdlci5wcm90b3R5cGUucmVxdWVzdExvYWRlZFN0cmVhbSA9CiAgICAgIGZ1bmN0aW9uIE5ldHdvcmtQZGZNYW5hZ2VyX3JlcXVlc3RMb2FkZWRTdHJlYW0oKSB7CiAgICB0aGlzLnN0cmVhbU1hbmFnZXIucmVxdWVzdEFsbENodW5rcygpOwogIH07CgogIE5ldHdvcmtQZGZNYW5hZ2VyLnByb3RvdHlwZS5zZW5kUHJvZ3Jlc3NpdmVEYXRhID0KICAgICAgZnVuY3Rpb24gTmV0d29ya1BkZk1hbmFnZXJfc2VuZFByb2dyZXNzaXZlRGF0YShjaHVuaykgewogICAgdGhpcy5zdHJlYW1NYW5hZ2VyLm9uUmVjZWl2ZURhdGEoeyBjaHVuazogY2h1bmsgfSk7CiAgfTsKCiAgTmV0d29ya1BkZk1hbmFnZXIucHJvdG90eXBlLm9uTG9hZGVkU3RyZWFtID0KICAgICAgZnVuY3Rpb24gTmV0d29ya1BkZk1hbmFnZXJfZ2V0TG9hZGVkU3RyZWFtKCkgewogICAgcmV0dXJuIHRoaXMuc3RyZWFtTWFuYWdlci5vbkxvYWRlZFN0cmVhbSgpOwogIH07CgogIE5ldHdvcmtQZGZNYW5hZ2VyLnByb3RvdHlwZS50ZXJtaW5hdGUgPQogICAgICBmdW5jdGlvbiBOZXR3b3JrUGRmTWFuYWdlcl90ZXJtaW5hdGUoKSB7CiAgICB0aGlzLnN0cmVhbU1hbmFnZXIubmV0d29ya01hbmFnZXIuYWJvcnRBbGxSZXF1ZXN0cygpOwogIH07CgogIHJldHVybiBOZXR3b3JrUGRmTWFuYWdlcjsKfSkoKTsKCgp2YXIgUGFnZSA9IChmdW5jdGlvbiBQYWdlQ2xvc3VyZSgpIHsKCiAgdmFyIExFVFRFUl9TSVpFX01FRElBQk9YID0gWzAsIDAsIDYxMiwgNzkyXTsKCiAgZnVuY3Rpb24gUGFnZShwZGZNYW5hZ2VyLCB4cmVmLCBwYWdlSW5kZXgsIHBhZ2VEaWN0LCByZWYsIGZvbnRDYWNoZSkgewogICAgdGhpcy5wZGZNYW5hZ2VyID0gcGRmTWFuYWdlcjsKICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4OwogICAgdGhpcy5wYWdlRGljdCA9IHBhZ2VEaWN0OwogICAgdGhpcy54cmVmID0geHJlZjsKICAgIHRoaXMucmVmID0gcmVmOwogICAgdGhpcy5mb250Q2FjaGUgPSBmb250Q2FjaGU7CiAgICB0aGlzLmlkQ291bnRlcnMgPSB7CiAgICAgIG9iajogMAogICAgfTsKICAgIHRoaXMucmVzb3VyY2VzUHJvbWlzZSA9IG51bGw7CiAgfQoKICBQYWdlLnByb3RvdHlwZSA9IHsKICAgIGdldFBhZ2VQcm9wOiBmdW5jdGlvbiBQYWdlX2dldFBhZ2VQcm9wKGtleSkgewogICAgICByZXR1cm4gdGhpcy5wYWdlRGljdC5nZXQoa2V5KTsKICAgIH0sCgogICAgZ2V0SW5oZXJpdGVkUGFnZVByb3A6IGZ1bmN0aW9uIFBhZ2VfaW5oZXJpdFBhZ2VQcm9wKGtleSkgewogICAgICB2YXIgZGljdCA9IHRoaXMucGFnZURpY3Q7CiAgICAgIHZhciB2YWx1ZSA9IGRpY3QuZ2V0KGtleSk7CiAgICAgIHdoaWxlICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgZGljdCA9IGRpY3QuZ2V0KCdQYXJlbnQnKTsKICAgICAgICBpZiAoIWRpY3QpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICB2YWx1ZSA9IGRpY3QuZ2V0KGtleSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHZhbHVlOwogICAgfSwKCiAgICBnZXQgY29udGVudCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZ2V0UGFnZVByb3AoJ0NvbnRlbnRzJyk7CiAgICB9LAoKICAgIGdldCByZXNvdXJjZXMoKSB7CiAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZ2V0SW5oZXJpdGVkUGFnZVByb3AoJ1Jlc291cmNlcycpOwogICAgICAvLyBGb3Igcm9idXN0bmVzczogVGhlIHNwZWMgc3RhdGVzIHRoYXQgYSBcUmVzb3VyY2VzIGVudHJ5IGhhcyB0byBiZQogICAgICAvLyBwcmVzZW50LCBidXQgY2FuIGJlIGVtcHR5LiBTb21lIGRvY3VtZW50IG9taXQgaXQgc3RpbGwuIEluIHRoaXMgY2FzZQogICAgICAvLyByZXR1cm4gYW4gZW1wdHkgZGljdGlvbmFyeToKICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHsKICAgICAgICB2YWx1ZSA9IERpY3QuZW1wdHk7CiAgICAgIH0KICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAncmVzb3VyY2VzJywgdmFsdWUpOwogICAgfSwKCiAgICBnZXQgbWVkaWFCb3goKSB7CiAgICAgIHZhciBvYmogPSB0aGlzLmdldEluaGVyaXRlZFBhZ2VQcm9wKCdNZWRpYUJveCcpOwogICAgICAvLyBSZXNldCBpbnZhbGlkIG1lZGlhIGJveCB0byBsZXR0ZXIgc2l6ZS4KICAgICAgaWYgKCFpc0FycmF5KG9iaikgfHwgb2JqLmxlbmd0aCAhPT0gNCkgewogICAgICAgIG9iaiA9IExFVFRFUl9TSVpFX01FRElBQk9YOwogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ21lZGlhQm94Jywgb2JqKTsKICAgIH0sCgogICAgZ2V0IHZpZXcoKSB7CiAgICAgIHZhciBtZWRpYUJveCA9IHRoaXMubWVkaWFCb3g7CiAgICAgIHZhciBjcm9wQm94ID0gdGhpcy5nZXRJbmhlcml0ZWRQYWdlUHJvcCgnQ3JvcEJveCcpOwogICAgICBpZiAoIWlzQXJyYXkoY3JvcEJveCkgfHwgY3JvcEJveC5sZW5ndGggIT09IDQpIHsKICAgICAgICByZXR1cm4gc2hhZG93KHRoaXMsICd2aWV3JywgbWVkaWFCb3gpOwogICAgICB9CgogICAgICAvLyBGcm9tIHRoZSBzcGVjLCA2dGggZWQuLCBwLjk2MzoKICAgICAgLy8gIlRoZSBjcm9wLCBibGVlZCwgdHJpbSwgYW5kIGFydCBib3hlcyBzaG91bGQgbm90IG9yZGluYXJpbHkKICAgICAgLy8gZXh0ZW5kIGJleW9uZCB0aGUgYm91bmRhcmllcyBvZiB0aGUgbWVkaWEgYm94LiBJZiB0aGV5IGRvLCB0aGV5IGFyZQogICAgICAvLyBlZmZlY3RpdmVseSByZWR1Y2VkIHRvIHRoZWlyIGludGVyc2VjdGlvbiB3aXRoIHRoZSBtZWRpYSBib3guIgogICAgICBjcm9wQm94ID0gVXRpbC5pbnRlcnNlY3QoY3JvcEJveCwgbWVkaWFCb3gpOwogICAgICBpZiAoIWNyb3BCb3gpIHsKICAgICAgICByZXR1cm4gc2hhZG93KHRoaXMsICd2aWV3JywgbWVkaWFCb3gpOwogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ3ZpZXcnLCBjcm9wQm94KTsKICAgIH0sCgogICAgZ2V0IGFubm90YXRpb25SZWZzKCkgewogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdhbm5vdGF0aW9uUmVmcycsCiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRJbmhlcml0ZWRQYWdlUHJvcCgnQW5ub3RzJykpOwogICAgfSwKCiAgICBnZXQgcm90YXRlKCkgewogICAgICB2YXIgcm90YXRlID0gdGhpcy5nZXRJbmhlcml0ZWRQYWdlUHJvcCgnUm90YXRlJykgfHwgMDsKICAgICAgLy8gTm9ybWFsaXplIHJvdGF0aW9uIHNvIGl0J3MgYSBtdWx0aXBsZSBvZiA5MCBhbmQgYmV0d2VlbiAwIGFuZCAyNzAKICAgICAgaWYgKHJvdGF0ZSAlIDkwICE9PSAwKSB7CiAgICAgICAgcm90YXRlID0gMDsKICAgICAgfSBlbHNlIGlmIChyb3RhdGUgPj0gMzYwKSB7CiAgICAgICAgcm90YXRlID0gcm90YXRlICUgMzYwOwogICAgICB9IGVsc2UgaWYgKHJvdGF0ZSA8IDApIHsKICAgICAgICAvLyBUaGUgc3BlYyBkb2Vzbid0IGNvdmVyIG5lZ2F0aXZlcywgYXNzdW1lIGl0cyBjb3VudGVyY2xvY2t3aXNlCiAgICAgICAgLy8gcm90YXRpb24uIFRoZSBmb2xsb3dpbmcgaXMgdGhlIG90aGVyIGltcGxlbWVudGF0aW9uIG9mIG1vZHVsby4KICAgICAgICByb3RhdGUgPSAoKHJvdGF0ZSAlIDM2MCkgKyAzNjApICUgMzYwOwogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ3JvdGF0ZScsIHJvdGF0ZSk7CiAgICB9LAoKICAgIGdldENvbnRlbnRTdHJlYW06IGZ1bmN0aW9uIFBhZ2VfZ2V0Q29udGVudFN0cmVhbSgpIHsKICAgICAgdmFyIGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7CiAgICAgIHZhciBzdHJlYW07CiAgICAgIGlmIChpc0FycmF5KGNvbnRlbnQpKSB7CiAgICAgICAgLy8gZmV0Y2hpbmcgaXRlbXMKICAgICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgICB2YXIgaSwgbiA9IGNvbnRlbnQubGVuZ3RoOwogICAgICAgIHZhciBzdHJlYW1zID0gW107CiAgICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgICAgc3RyZWFtcy5wdXNoKHhyZWYuZmV0Y2hJZlJlZihjb250ZW50W2ldKSk7CiAgICAgICAgfQogICAgICAgIHN0cmVhbSA9IG5ldyBTdHJlYW1zU2VxdWVuY2VTdHJlYW0oc3RyZWFtcyk7CiAgICAgIH0gZWxzZSBpZiAoaXNTdHJlYW0oY29udGVudCkpIHsKICAgICAgICBzdHJlYW0gPSBjb250ZW50OwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHJlcGxhY2luZyBub24tZXhpc3RlbnQgcGFnZSBjb250ZW50IHdpdGggZW1wdHkgb25lCiAgICAgICAgc3RyZWFtID0gbmV3IE51bGxTdHJlYW0oKTsKICAgICAgfQogICAgICByZXR1cm4gc3RyZWFtOwogICAgfSwKCiAgICBsb2FkUmVzb3VyY2VzOiBmdW5jdGlvbiBQYWdlX2xvYWRSZXNvdXJjZXMoa2V5cykgewogICAgICBpZiAoIXRoaXMucmVzb3VyY2VzUHJvbWlzZSkgewogICAgICAgIC8vIFRPRE86IGFkZCBhc3luYyBnZXRJbmhlcml0ZWRQYWdlUHJvcCBhbmQgcmVtb3ZlIHRoaXMuCiAgICAgICAgdGhpcy5yZXNvdXJjZXNQcm9taXNlID0gdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCAncmVzb3VyY2VzJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzUHJvbWlzZS50aGVuKGZ1bmN0aW9uIHJlc291cmNlU3VjY2VzcygpIHsKICAgICAgICB2YXIgb2JqZWN0TG9hZGVyID0gbmV3IE9iamVjdExvYWRlcih0aGlzLnJlc291cmNlcy5tYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnhyZWYpOwogICAgICAgIHJldHVybiBvYmplY3RMb2FkZXIubG9hZCgpOwogICAgICB9LmJpbmQodGhpcykpOwogICAgfSwKCiAgICBnZXRPcGVyYXRvckxpc3Q6IGZ1bmN0aW9uIFBhZ2VfZ2V0T3BlcmF0b3JMaXN0KGhhbmRsZXIsIGludGVudCkgewogICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICB2YXIgcGRmTWFuYWdlciA9IHRoaXMucGRmTWFuYWdlcjsKICAgICAgdmFyIGNvbnRlbnRTdHJlYW1Qcm9taXNlID0gcGRmTWFuYWdlci5lbnN1cmUodGhpcywgJ2dldENvbnRlbnRTdHJlYW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSk7CiAgICAgIHZhciByZXNvdXJjZXNQcm9taXNlID0gdGhpcy5sb2FkUmVzb3VyY2VzKFsKICAgICAgICAnRXh0R1N0YXRlJywKICAgICAgICAnQ29sb3JTcGFjZScsCiAgICAgICAgJ1BhdHRlcm4nLAogICAgICAgICdTaGFkaW5nJywKICAgICAgICAnWE9iamVjdCcsCiAgICAgICAgJ0ZvbnQnCiAgICAgICAgLy8gUHJvY1NldAogICAgICAgIC8vIFByb3BlcnRpZXMKICAgICAgXSk7CgogICAgICB2YXIgcGFydGlhbEV2YWx1YXRvciA9IG5ldyBQYXJ0aWFsRXZhbHVhdG9yKHBkZk1hbmFnZXIsIHRoaXMueHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyLCB0aGlzLnBhZ2VJbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncCcgKyB0aGlzLnBhZ2VJbmRleCArICdfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlkQ291bnRlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb250Q2FjaGUpOwoKICAgICAgdmFyIGRhdGFQcm9taXNlcyA9IFByb21pc2UuYWxsKFtjb250ZW50U3RyZWFtUHJvbWlzZSwgcmVzb3VyY2VzUHJvbWlzZV0pOwogICAgICB2YXIgcGFnZUxpc3RQcm9taXNlID0gZGF0YVByb21pc2VzLnRoZW4oZnVuY3Rpb24oZGF0YSkgewogICAgICAgIHZhciBjb250ZW50U3RyZWFtID0gZGF0YVswXTsKICAgICAgICB2YXIgb3BMaXN0ID0gbmV3IE9wZXJhdG9yTGlzdChpbnRlbnQsIGhhbmRsZXIsIHNlbGYucGFnZUluZGV4KTsKCiAgICAgICAgaGFuZGxlci5zZW5kKCdTdGFydFJlbmRlclBhZ2UnLCB7CiAgICAgICAgICB0cmFuc3BhcmVuY3k6IHBhcnRpYWxFdmFsdWF0b3IuaGFzQmxlbmRNb2RlcyhzZWxmLnJlc291cmNlcyksCiAgICAgICAgICBwYWdlSW5kZXg6IHNlbGYucGFnZUluZGV4LAogICAgICAgICAgaW50ZW50OiBpbnRlbnQKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gcGFydGlhbEV2YWx1YXRvci5nZXRPcGVyYXRvckxpc3QoY29udGVudFN0cmVhbSwgc2VsZi5yZXNvdXJjZXMsCiAgICAgICAgICBvcExpc3QpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gb3BMaXN0OwogICAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgdmFyIGFubm90YXRpb25zUHJvbWlzZSA9IHBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsICdhbm5vdGF0aW9ucycpOwogICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW3BhZ2VMaXN0UHJvbWlzZSwgYW5ub3RhdGlvbnNQcm9taXNlXSkudGhlbigKICAgICAgICAgIGZ1bmN0aW9uKGRhdGFzKSB7CiAgICAgICAgdmFyIHBhZ2VPcExpc3QgPSBkYXRhc1swXTsKICAgICAgICB2YXIgYW5ub3RhdGlvbnMgPSBkYXRhc1sxXTsKCiAgICAgICAgaWYgKGFubm90YXRpb25zLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgcGFnZU9wTGlzdC5mbHVzaCh0cnVlKTsKICAgICAgICAgIHJldHVybiBwYWdlT3BMaXN0OwogICAgICAgIH0KCiAgICAgICAgdmFyIGFubm90YXRpb25zUmVhZHlQcm9taXNlID0gQW5ub3RhdGlvbi5hcHBlbmRUb09wZXJhdG9yTGlzdCgKICAgICAgICAgIGFubm90YXRpb25zLCBwYWdlT3BMaXN0LCBwZGZNYW5hZ2VyLCBwYXJ0aWFsRXZhbHVhdG9yLCBpbnRlbnQpOwogICAgICAgIHJldHVybiBhbm5vdGF0aW9uc1JlYWR5UHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIHBhZ2VPcExpc3QuZmx1c2godHJ1ZSk7CiAgICAgICAgICByZXR1cm4gcGFnZU9wTGlzdDsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAoKICAgIGV4dHJhY3RUZXh0Q29udGVudDogZnVuY3Rpb24gUGFnZV9leHRyYWN0VGV4dENvbnRlbnQoKSB7CiAgICAgIHZhciBoYW5kbGVyID0gewogICAgICAgIG9uOiBmdW5jdGlvbiBudWxsSGFuZGxlck9uKCkge30sCiAgICAgICAgc2VuZDogZnVuY3Rpb24gbnVsbEhhbmRsZXJTZW5kKCkge30KICAgICAgfTsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgIHZhciBwZGZNYW5hZ2VyID0gdGhpcy5wZGZNYW5hZ2VyOwogICAgICB2YXIgY29udGVudFN0cmVhbVByb21pc2UgPSBwZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCAnZ2V0Q29udGVudFN0cmVhbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtdKTsKCiAgICAgIHZhciByZXNvdXJjZXNQcm9taXNlID0gdGhpcy5sb2FkUmVzb3VyY2VzKFsKICAgICAgICAnRXh0R1N0YXRlJywKICAgICAgICAnWE9iamVjdCcsCiAgICAgICAgJ0ZvbnQnCiAgICAgIF0pOwoKICAgICAgdmFyIGRhdGFQcm9taXNlcyA9IFByb21pc2UuYWxsKFtjb250ZW50U3RyZWFtUHJvbWlzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNQcm9taXNlXSk7CiAgICAgIHJldHVybiBkYXRhUHJvbWlzZXMudGhlbihmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgdmFyIGNvbnRlbnRTdHJlYW0gPSBkYXRhWzBdOwogICAgICAgIHZhciBwYXJ0aWFsRXZhbHVhdG9yID0gbmV3IFBhcnRpYWxFdmFsdWF0b3IocGRmTWFuYWdlciwgc2VsZi54cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlciwgc2VsZi5wYWdlSW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncCcgKyBzZWxmLnBhZ2VJbmRleCArICdfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaWRDb3VudGVycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZm9udENhY2hlKTsKCiAgICAgICAgcmV0dXJuIHBhcnRpYWxFdmFsdWF0b3IuZ2V0VGV4dENvbnRlbnQoY29udGVudFN0cmVhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlc291cmNlcyk7CiAgICAgIH0pOwogICAgfSwKCiAgICBnZXRBbm5vdGF0aW9uc0RhdGE6IGZ1bmN0aW9uIFBhZ2VfZ2V0QW5ub3RhdGlvbnNEYXRhKCkgewogICAgICB2YXIgYW5ub3RhdGlvbnMgPSB0aGlzLmFubm90YXRpb25zOwogICAgICB2YXIgYW5ub3RhdGlvbnNEYXRhID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gYW5ub3RhdGlvbnMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgYW5ub3RhdGlvbnNEYXRhLnB1c2goYW5ub3RhdGlvbnNbaV0uZ2V0RGF0YSgpKTsKICAgICAgfQogICAgICByZXR1cm4gYW5ub3RhdGlvbnNEYXRhOwogICAgfSwKCiAgICBnZXQgYW5ub3RhdGlvbnMoKSB7CiAgICAgIHZhciBhbm5vdGF0aW9ucyA9IFtdOwogICAgICB2YXIgYW5ub3RhdGlvblJlZnMgPSAodGhpcy5hbm5vdGF0aW9uUmVmcyB8fCBbXSk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gYW5ub3RhdGlvblJlZnMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgdmFyIGFubm90YXRpb25SZWYgPSBhbm5vdGF0aW9uUmVmc1tpXTsKICAgICAgICB2YXIgYW5ub3RhdGlvbiA9IEFubm90YXRpb24uZnJvbVJlZih0aGlzLnhyZWYsIGFubm90YXRpb25SZWYpOwogICAgICAgIGlmIChhbm5vdGF0aW9uKSB7CiAgICAgICAgICBhbm5vdGF0aW9ucy5wdXNoKGFubm90YXRpb24pOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdhbm5vdGF0aW9ucycsIGFubm90YXRpb25zKTsKICAgIH0KICB9OwoKICByZXR1cm4gUGFnZTsKfSkoKTsKCi8qKgogKiBUaGUgYFBERkRvY3VtZW50YCBob2xkcyBhbGwgdGhlIGRhdGEgb2YgdGhlIFBERiBmaWxlLiBDb21wYXJlZCB0byB0aGUKICogYFBERkRvY2AsIHRoaXMgb25lIGRvZXNuJ3QgaGF2ZSBhbnkgam9iIG1hbmFnZW1lbnQgY29kZS4KICogUmlnaHQgbm93IHRoZXJlIGV4aXN0cyBvbmUgUERGRG9jdW1lbnQgb24gdGhlIG1haW4gdGhyZWFkICsgb25lIG9iamVjdAogKiBmb3IgZWFjaCB3b3JrZXIuIElmIHRoZXJlIGlzIG5vIHdvcmtlciBzdXBwb3J0IGVuYWJsZWQsIHRoZXJlIGFyZSB0d28KICogYFBERkRvY3VtZW50YCBvYmplY3RzIG9uIHRoZSBtYWluIHRocmVhZCBjcmVhdGVkLgogKi8KdmFyIFBERkRvY3VtZW50ID0gKGZ1bmN0aW9uIFBERkRvY3VtZW50Q2xvc3VyZSgpIHsKICB2YXIgRklOR0VSUFJJTlRfRklSU1RfQllURVMgPSAxMDI0OwogIHZhciBFTVBUWV9GSU5HRVJQUklOVCA9ICdceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJyArCiAgICAnXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJzsKCiAgZnVuY3Rpb24gUERGRG9jdW1lbnQocGRmTWFuYWdlciwgYXJnLCBwYXNzd29yZCkgewogICAgaWYgKGlzU3RyZWFtKGFyZykpIHsKICAgICAgaW5pdC5jYWxsKHRoaXMsIHBkZk1hbmFnZXIsIGFyZywgcGFzc3dvcmQpOwogICAgfSBlbHNlIGlmIChpc0FycmF5QnVmZmVyKGFyZykpIHsKICAgICAgaW5pdC5jYWxsKHRoaXMsIHBkZk1hbmFnZXIsIG5ldyBTdHJlYW0oYXJnKSwgcGFzc3dvcmQpOwogICAgfSBlbHNlIHsKICAgICAgZXJyb3IoJ1BERkRvY3VtZW50OiBVbmtub3duIGFyZ3VtZW50IHR5cGUnKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGluaXQocGRmTWFuYWdlciwgc3RyZWFtLCBwYXNzd29yZCkgewogICAgYXNzZXJ0KHN0cmVhbS5sZW5ndGggPiAwLCAnc3RyZWFtIG11c3QgaGF2ZSBkYXRhJyk7CiAgICB0aGlzLnBkZk1hbmFnZXIgPSBwZGZNYW5hZ2VyOwogICAgdGhpcy5zdHJlYW0gPSBzdHJlYW07CiAgICB2YXIgeHJlZiA9IG5ldyBYUmVmKHRoaXMuc3RyZWFtLCBwYXNzd29yZCwgcGRmTWFuYWdlcik7CiAgICB0aGlzLnhyZWYgPSB4cmVmOwogIH0KCiAgZnVuY3Rpb24gZmluZChzdHJlYW0sIG5lZWRsZSwgbGltaXQsIGJhY2t3YXJkcykgewogICAgdmFyIHBvcyA9IHN0cmVhbS5wb3M7CiAgICB2YXIgZW5kID0gc3RyZWFtLmVuZDsKICAgIHZhciBzdHJCdWYgPSBbXTsKICAgIGlmIChwb3MgKyBsaW1pdCA+IGVuZCkgewogICAgICBsaW1pdCA9IGVuZCAtIHBvczsKICAgIH0KICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGltaXQ7ICsrbikgewogICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKHN0cmVhbS5nZXRCeXRlKCkpKTsKICAgIH0KICAgIHZhciBzdHIgPSBzdHJCdWYuam9pbignJyk7CiAgICBzdHJlYW0ucG9zID0gcG9zOwogICAgdmFyIGluZGV4ID0gYmFja3dhcmRzID8gc3RyLmxhc3RJbmRleE9mKG5lZWRsZSkgOiBzdHIuaW5kZXhPZihuZWVkbGUpOwogICAgaWYgKGluZGV4ID09PSAtMSkgewogICAgICByZXR1cm4gZmFsc2U7IC8qIG5vdCBmb3VuZCAqLwogICAgfQogICAgc3RyZWFtLnBvcyArPSBpbmRleDsKICAgIHJldHVybiB0cnVlOyAvKiBmb3VuZCAqLwogIH0KCiAgdmFyIERvY3VtZW50SW5mb1ZhbGlkYXRvcnMgPSB7CiAgICBnZXQgZW50cmllcygpIHsKICAgICAgLy8gTGF6aWx5IGJ1aWxkIHRoaXMgc2luY2UgYWxsIHRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9ucyBiZWxvdyBhcmUgbm90CiAgICAgIC8vIGRlZmluZWQgdW50aWwgYWZ0ZXIgdGhpcyBmaWxlIGxvYWRzLgogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdlbnRyaWVzJywgewogICAgICAgIFRpdGxlOiBpc1N0cmluZywKICAgICAgICBBdXRob3I6IGlzU3RyaW5nLAogICAgICAgIFN1YmplY3Q6IGlzU3RyaW5nLAogICAgICAgIEtleXdvcmRzOiBpc1N0cmluZywKICAgICAgICBDcmVhdG9yOiBpc1N0cmluZywKICAgICAgICBQcm9kdWNlcjogaXNTdHJpbmcsCiAgICAgICAgQ3JlYXRpb25EYXRlOiBpc1N0cmluZywKICAgICAgICBNb2REYXRlOiBpc1N0cmluZywKICAgICAgICBUcmFwcGVkOiBpc05hbWUKICAgICAgfSk7CiAgICB9CiAgfTsKCiAgUERGRG9jdW1lbnQucHJvdG90eXBlID0gewogICAgcGFyc2U6IGZ1bmN0aW9uIFBERkRvY3VtZW50X3BhcnNlKHJlY292ZXJ5TW9kZSkgewogICAgICB0aGlzLnNldHVwKHJlY292ZXJ5TW9kZSk7CiAgICAgIHRyeSB7CiAgICAgICAgLy8gY2hlY2tpbmcgaWYgQWNyb0Zvcm0gaXMgcHJlc2VudAogICAgICAgIHRoaXMuYWNyb0Zvcm0gPSB0aGlzLmNhdGFsb2cuY2F0RGljdC5nZXQoJ0Fjcm9Gb3JtJyk7CiAgICAgICAgaWYgKHRoaXMuYWNyb0Zvcm0pIHsKICAgICAgICAgIHRoaXMueGZhID0gdGhpcy5hY3JvRm9ybS5nZXQoJ1hGQScpOwogICAgICAgICAgdmFyIGZpZWxkcyA9IHRoaXMuYWNyb0Zvcm0uZ2V0KCdGaWVsZHMnKTsKICAgICAgICAgIGlmICgoIWZpZWxkcyB8fCAhaXNBcnJheShmaWVsZHMpIHx8IGZpZWxkcy5sZW5ndGggPT09IDApICYmCiAgICAgICAgICAgICAgIXRoaXMueGZhKSB7CiAgICAgICAgICAgIC8vIG5vIGZpZWxkcyBhbmQgbm8gWEZBIC0tIG5vdCBhIGZvcm0gKD8pCiAgICAgICAgICAgIHRoaXMuYWNyb0Zvcm0gPSBudWxsOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICBpbmZvKCdTb21ldGhpbmcgd3Jvbmcgd2l0aCBBY3JvRm9ybSBlbnRyeScpOwogICAgICAgIHRoaXMuYWNyb0Zvcm0gPSBudWxsOwogICAgICB9CiAgICB9LAoKICAgIGdldCBsaW5lYXJpemF0aW9uKCkgewogICAgICB2YXIgbGluZWFyaXphdGlvbiA9IG51bGw7CiAgICAgIGlmICh0aGlzLnN0cmVhbS5sZW5ndGgpIHsKICAgICAgICB0cnkgewogICAgICAgICAgbGluZWFyaXphdGlvbiA9IExpbmVhcml6YXRpb24uY3JlYXRlKHRoaXMuc3RyZWFtKTsKICAgICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikgewogICAgICAgICAgICB0aHJvdyBlcnI7CiAgICAgICAgICB9CiAgICAgICAgICBpbmZvKGVycik7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIHNoYWRvdyB0aGUgcHJvdG90eXBlIGdldHRlciB3aXRoIGEgZGF0YSBwcm9wZXJ0eQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdsaW5lYXJpemF0aW9uJywgbGluZWFyaXphdGlvbik7CiAgICB9LAogICAgZ2V0IHN0YXJ0WFJlZigpIHsKICAgICAgdmFyIHN0cmVhbSA9IHRoaXMuc3RyZWFtOwogICAgICB2YXIgc3RhcnRYUmVmID0gMDsKICAgICAgdmFyIGxpbmVhcml6YXRpb24gPSB0aGlzLmxpbmVhcml6YXRpb247CiAgICAgIGlmIChsaW5lYXJpemF0aW9uKSB7CiAgICAgICAgLy8gRmluZCBlbmQgb2YgZmlyc3Qgb2JqLgogICAgICAgIHN0cmVhbS5yZXNldCgpOwogICAgICAgIGlmIChmaW5kKHN0cmVhbSwgJ2VuZG9iaicsIDEwMjQpKSB7CiAgICAgICAgICBzdGFydFhSZWYgPSBzdHJlYW0ucG9zICsgNjsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gRmluZCBzdGFydHhyZWYgYnkganVtcGluZyBiYWNrd2FyZCBmcm9tIHRoZSBlbmQgb2YgdGhlIGZpbGUuCiAgICAgICAgdmFyIHN0ZXAgPSAxMDI0OwogICAgICAgIHZhciBmb3VuZCA9IGZhbHNlLCBwb3MgPSBzdHJlYW0uZW5kOwogICAgICAgIHdoaWxlICghZm91bmQgJiYgcG9zID4gMCkgewogICAgICAgICAgcG9zIC09IHN0ZXAgLSAnc3RhcnR4cmVmJy5sZW5ndGg7CiAgICAgICAgICBpZiAocG9zIDwgMCkgewogICAgICAgICAgICBwb3MgPSAwOwogICAgICAgICAgfQogICAgICAgICAgc3RyZWFtLnBvcyA9IHBvczsKICAgICAgICAgIGZvdW5kID0gZmluZChzdHJlYW0sICdzdGFydHhyZWYnLCBzdGVwLCB0cnVlKTsKICAgICAgICB9CiAgICAgICAgaWYgKGZvdW5kKSB7CiAgICAgICAgICBzdHJlYW0uc2tpcCg5KTsKICAgICAgICAgIHZhciBjaDsKICAgICAgICAgIGRvIHsKICAgICAgICAgICAgY2ggPSBzdHJlYW0uZ2V0Qnl0ZSgpOwogICAgICAgICAgfSB3aGlsZSAoTGV4ZXIuaXNTcGFjZShjaCkpOwogICAgICAgICAgdmFyIHN0ciA9ICcnOwogICAgICAgICAgd2hpbGUgKGNoID49IDB4MjAgJiYgY2ggPD0gMHgzOSkgeyAvLyA8ICc5JwogICAgICAgICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CiAgICAgICAgICAgIGNoID0gc3RyZWFtLmdldEJ5dGUoKTsKICAgICAgICAgIH0KICAgICAgICAgIHN0YXJ0WFJlZiA9IHBhcnNlSW50KHN0ciwgMTApOwogICAgICAgICAgaWYgKGlzTmFOKHN0YXJ0WFJlZikpIHsKICAgICAgICAgICAgc3RhcnRYUmVmID0gMDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gc2hhZG93IHRoZSBwcm90b3R5cGUgZ2V0dGVyIHdpdGggYSBkYXRhIHByb3BlcnR5CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ3N0YXJ0WFJlZicsIHN0YXJ0WFJlZik7CiAgICB9LAogICAgZ2V0IG1haW5YUmVmRW50cmllc09mZnNldCgpIHsKICAgICAgdmFyIG1haW5YUmVmRW50cmllc09mZnNldCA9IDA7CiAgICAgIHZhciBsaW5lYXJpemF0aW9uID0gdGhpcy5saW5lYXJpemF0aW9uOwogICAgICBpZiAobGluZWFyaXphdGlvbikgewogICAgICAgIG1haW5YUmVmRW50cmllc09mZnNldCA9IGxpbmVhcml6YXRpb24ubWFpblhSZWZFbnRyaWVzT2Zmc2V0OwogICAgICB9CiAgICAgIC8vIHNoYWRvdyB0aGUgcHJvdG90eXBlIGdldHRlciB3aXRoIGEgZGF0YSBwcm9wZXJ0eQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdtYWluWFJlZkVudHJpZXNPZmZzZXQnLCBtYWluWFJlZkVudHJpZXNPZmZzZXQpOwogICAgfSwKICAgIC8vIEZpbmQgdGhlIGhlYWRlciwgcmVtb3ZlIGxlYWRpbmcgZ2FyYmFnZSBhbmQgc2V0dXAgdGhlIHN0cmVhbQogICAgLy8gc3RhcnRpbmcgZnJvbSB0aGUgaGVhZGVyLgogICAgY2hlY2tIZWFkZXI6IGZ1bmN0aW9uIFBERkRvY3VtZW50X2NoZWNrSGVhZGVyKCkgewogICAgICB2YXIgc3RyZWFtID0gdGhpcy5zdHJlYW07CiAgICAgIHN0cmVhbS5yZXNldCgpOwogICAgICBpZiAoZmluZChzdHJlYW0sICclUERGLScsIDEwMjQpKSB7CiAgICAgICAgLy8gRm91bmQgdGhlIGhlYWRlciwgdHJpbSBvZmYgYW55IGdhcmJhZ2UgYmVmb3JlIGl0LgogICAgICAgIHN0cmVhbS5tb3ZlU3RhcnQoKTsKICAgICAgICAvLyBSZWFkaW5nIGZpbGUgZm9ybWF0IHZlcnNpb24KICAgICAgICB2YXIgTUFYX1ZFUlNJT05fTEVOR1RIID0gMTI7CiAgICAgICAgdmFyIHZlcnNpb24gPSAnJywgY2g7CiAgICAgICAgd2hpbGUgKChjaCA9IHN0cmVhbS5nZXRCeXRlKCkpID4gMHgyMCkgeyAvLyBTUEFDRQogICAgICAgICAgaWYgKHZlcnNpb24ubGVuZ3RoID49IE1BWF9WRVJTSU9OX0xFTkdUSCkgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHZlcnNpb24gKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CiAgICAgICAgfQogICAgICAgIC8vIHJlbW92aW5nICIlUERGLSItcHJlZml4CiAgICAgICAgdGhpcy5wZGZGb3JtYXRWZXJzaW9uID0gdmVyc2lvbi5zdWJzdHJpbmcoNSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIC8vIE1heSBub3QgYmUgYSBQREYgZmlsZSwgY29udGludWUgYW55d2F5LgogICAgfSwKICAgIHBhcnNlU3RhcnRYUmVmOiBmdW5jdGlvbiBQREZEb2N1bWVudF9wYXJzZVN0YXJ0WFJlZigpIHsKICAgICAgdmFyIHN0YXJ0WFJlZiA9IHRoaXMuc3RhcnRYUmVmOwogICAgICB0aGlzLnhyZWYuc2V0U3RhcnRYUmVmKHN0YXJ0WFJlZik7CiAgICB9LAogICAgc2V0dXA6IGZ1bmN0aW9uIFBERkRvY3VtZW50X3NldHVwKHJlY292ZXJ5TW9kZSkgewogICAgICB0aGlzLnhyZWYucGFyc2UocmVjb3ZlcnlNb2RlKTsKICAgICAgdGhpcy5jYXRhbG9nID0gbmV3IENhdGFsb2codGhpcy5wZGZNYW5hZ2VyLCB0aGlzLnhyZWYpOwogICAgfSwKICAgIGdldCBudW1QYWdlcygpIHsKICAgICAgdmFyIGxpbmVhcml6YXRpb24gPSB0aGlzLmxpbmVhcml6YXRpb247CiAgICAgIHZhciBudW0gPSBsaW5lYXJpemF0aW9uID8gbGluZWFyaXphdGlvbi5udW1QYWdlcyA6IHRoaXMuY2F0YWxvZy5udW1QYWdlczsKICAgICAgLy8gc2hhZG93IHRoZSBwcm90b3R5cGUgZ2V0dGVyCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ251bVBhZ2VzJywgbnVtKTsKICAgIH0sCiAgICBnZXQgZG9jdW1lbnRJbmZvKCkgewogICAgICB2YXIgZG9jSW5mbyA9IHsKICAgICAgICBQREZGb3JtYXRWZXJzaW9uOiB0aGlzLnBkZkZvcm1hdFZlcnNpb24sCiAgICAgICAgSXNBY3JvRm9ybVByZXNlbnQ6ICEhdGhpcy5hY3JvRm9ybSwKICAgICAgICBJc1hGQVByZXNlbnQ6ICEhdGhpcy54ZmEKICAgICAgfTsKICAgICAgdmFyIGluZm9EaWN0OwogICAgICB0cnkgewogICAgICAgIGluZm9EaWN0ID0gdGhpcy54cmVmLnRyYWlsZXIuZ2V0KCdJbmZvJyk7CiAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgIGluZm8oJ1RoZSBkb2N1bWVudCBpbmZvcm1hdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuJyk7CiAgICAgIH0KICAgICAgaWYgKGluZm9EaWN0KSB7CiAgICAgICAgdmFyIHZhbGlkRW50cmllcyA9IERvY3VtZW50SW5mb1ZhbGlkYXRvcnMuZW50cmllczsKICAgICAgICAvLyBPbmx5IGZpbGwgdGhlIGRvY3VtZW50IGluZm8gd2l0aCB2YWxpZCBlbnRyaWVzIGZyb20gdGhlIHNwZWMuCiAgICAgICAgZm9yICh2YXIga2V5IGluIHZhbGlkRW50cmllcykgewogICAgICAgICAgaWYgKGluZm9EaWN0LmhhcyhrZXkpKSB7CiAgICAgICAgICAgIHZhciB2YWx1ZSA9IGluZm9EaWN0LmdldChrZXkpOwogICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBzcGVjLgogICAgICAgICAgICBpZiAodmFsaWRFbnRyaWVzW2tleV0odmFsdWUpKSB7CiAgICAgICAgICAgICAgZG9jSW5mb1trZXldID0gKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6IHN0cmluZ1RvUERGU3RyaW5nKHZhbHVlKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaW5mbygnQmFkIHZhbHVlIGluIGRvY3VtZW50IGluZm8gZm9yICInICsga2V5ICsgJyInKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdkb2N1bWVudEluZm8nLCBkb2NJbmZvKTsKICAgIH0sCiAgICBnZXQgZmluZ2VycHJpbnQoKSB7CiAgICAgIHZhciB4cmVmID0gdGhpcy54cmVmLCBpZEFycmF5LCBoYXNoLCBmaWxlSUQgPSAnJzsKCiAgICAgIGlmICh4cmVmLnRyYWlsZXIuaGFzKCdJRCcpKSB7CiAgICAgICAgaWRBcnJheSA9IHhyZWYudHJhaWxlci5nZXQoJ0lEJyk7CiAgICAgIH0KICAgICAgaWYgKGlkQXJyYXkgJiYgaXNBcnJheShpZEFycmF5KSAmJiBpZEFycmF5WzBdICE9PSBFTVBUWV9GSU5HRVJQUklOVCkgewogICAgICAgIGhhc2ggPSBzdHJpbmdUb0J5dGVzKGlkQXJyYXlbMF0pOwogICAgICB9IGVsc2UgewogICAgICAgIGlmICh0aGlzLnN0cmVhbS5lbnN1cmVSYW5nZSkgewogICAgICAgICAgdGhpcy5zdHJlYW0uZW5zdXJlUmFuZ2UoMCwKICAgICAgICAgICAgTWF0aC5taW4oRklOR0VSUFJJTlRfRklSU1RfQllURVMsIHRoaXMuc3RyZWFtLmVuZCkpOwogICAgICAgIH0KICAgICAgICBoYXNoID0gY2FsY3VsYXRlTUQ1KHRoaXMuc3RyZWFtLmJ5dGVzLnN1YmFycmF5KDAsCiAgICAgICAgICBGSU5HRVJQUklOVF9GSVJTVF9CWVRFUyksIDAsIEZJTkdFUlBSSU5UX0ZJUlNUX0JZVEVTKTsKICAgICAgfQoKICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBoYXNoLmxlbmd0aDsgaSA8IG47IGkrKykgewogICAgICAgIHZhciBoZXggPSBoYXNoW2ldLnRvU3RyaW5nKDE2KTsKICAgICAgICBmaWxlSUQgKz0gaGV4Lmxlbmd0aCA9PT0gMSA/ICcwJyArIGhleCA6IGhleDsKICAgICAgfQoKICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAnZmluZ2VycHJpbnQnLCBmaWxlSUQpOwogICAgfSwKCiAgICBnZXRQYWdlOiBmdW5jdGlvbiBQREZEb2N1bWVudF9nZXRQYWdlKHBhZ2VJbmRleCkgewogICAgICByZXR1cm4gdGhpcy5jYXRhbG9nLmdldFBhZ2UocGFnZUluZGV4KTsKICAgIH0sCgogICAgY2xlYW51cDogZnVuY3Rpb24gUERGRG9jdW1lbnRfY2xlYW51cCgpIHsKICAgICAgcmV0dXJuIHRoaXMuY2F0YWxvZy5jbGVhbnVwKCk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFBERkRvY3VtZW50Owp9KSgpOwoKCnZhciBOYW1lID0gKGZ1bmN0aW9uIE5hbWVDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5hbWUobmFtZSkgewogICAgdGhpcy5uYW1lID0gbmFtZTsKICB9CgogIE5hbWUucHJvdG90eXBlID0ge307CgogIHZhciBuYW1lQ2FjaGUgPSB7fTsKCiAgTmFtZS5nZXQgPSBmdW5jdGlvbiBOYW1lX2dldChuYW1lKSB7CiAgICB2YXIgbmFtZVZhbHVlID0gbmFtZUNhY2hlW25hbWVdOwogICAgcmV0dXJuIChuYW1lVmFsdWUgPyBuYW1lVmFsdWUgOiAobmFtZUNhY2hlW25hbWVdID0gbmV3IE5hbWUobmFtZSkpKTsKICB9OwoKICByZXR1cm4gTmFtZTsKfSkoKTsKCnZhciBDbWQgPSAoZnVuY3Rpb24gQ21kQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDbWQoY21kKSB7CiAgICB0aGlzLmNtZCA9IGNtZDsKICB9CgogIENtZC5wcm90b3R5cGUgPSB7fTsKCiAgdmFyIGNtZENhY2hlID0ge307CgogIENtZC5nZXQgPSBmdW5jdGlvbiBDbWRfZ2V0KGNtZCkgewogICAgdmFyIGNtZFZhbHVlID0gY21kQ2FjaGVbY21kXTsKICAgIHJldHVybiAoY21kVmFsdWUgPyBjbWRWYWx1ZSA6IChjbWRDYWNoZVtjbWRdID0gbmV3IENtZChjbWQpKSk7CiAgfTsKCiAgcmV0dXJuIENtZDsKfSkoKTsKCnZhciBEaWN0ID0gKGZ1bmN0aW9uIERpY3RDbG9zdXJlKCkgewogIHZhciBub25TZXJpYWxpemFibGUgPSBmdW5jdGlvbiBub25TZXJpYWxpemFibGVDbG9zdXJlKCkgewogICAgcmV0dXJuIG5vblNlcmlhbGl6YWJsZTsgLy8gY3JlYXRpbmcgY2xvc3VyZSBvbiBzb21lIHZhcmlhYmxlCiAgfTsKCiAgdmFyIEdFVEFMTF9ESUNUSU9OQVJZX1RZUEVTX1dISVRFTElTVCA9IHsKICAgICdCYWNrZ3JvdW5kJzogdHJ1ZSwKICAgICdFeHRHU3RhdGUnOiB0cnVlLAogICAgJ0hhbGZ0b25lJzogdHJ1ZSwKICAgICdMYXlvdXQnOiB0cnVlLAogICAgJ01hc2snOiB0cnVlLAogICAgJ1BhZ2luYXRpb24nOiB0cnVlLAogICAgJ1ByaW50aW5nJzogdHJ1ZQogIH07CgogIGZ1bmN0aW9uIGlzUmVjdXJzaW9uQWxsb3dlZEZvcihkaWN0KSB7CiAgICBpZiAoIWlzTmFtZShkaWN0LlR5cGUpKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgdmFyIGRpY3RUeXBlID0gZGljdC5UeXBlLm5hbWU7CiAgICByZXR1cm4gR0VUQUxMX0RJQ1RJT05BUllfVFlQRVNfV0hJVEVMSVNUW2RpY3RUeXBlXSA9PT0gdHJ1ZTsKICB9CgogIC8vIHhyZWYgaXMgb3B0aW9uYWwKICBmdW5jdGlvbiBEaWN0KHhyZWYpIHsKICAgIC8vIE1hcCBzaG91bGQgb25seSBiZSB1c2VkIGludGVybmFsbHksIHVzZSBmdW5jdGlvbnMgYmVsb3cgdG8gYWNjZXNzLgogICAgdGhpcy5tYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgdGhpcy54cmVmID0geHJlZjsKICAgIHRoaXMub2JqSWQgPSBudWxsOwogICAgdGhpcy5fX25vblNlcmlhbGl6YWJsZV9fID0gbm9uU2VyaWFsaXphYmxlOyAvLyBkaXNhYmxlIGNsb25pbmcgb2YgdGhlIERpY3QKICB9CgogIERpY3QucHJvdG90eXBlID0gewogICAgYXNzaWduWHJlZjogZnVuY3Rpb24gRGljdF9hc3NpZ25YcmVmKG5ld1hyZWYpIHsKICAgICAgdGhpcy54cmVmID0gbmV3WHJlZjsKICAgIH0sCgogICAgLy8gYXV0b21hdGljYWxseSBkZXJlZmVyZW5jZXMgUmVmIG9iamVjdHMKICAgIGdldDogZnVuY3Rpb24gRGljdF9nZXQoa2V5MSwga2V5Miwga2V5MykgewogICAgICB2YXIgdmFsdWU7CiAgICAgIHZhciB4cmVmID0gdGhpcy54cmVmOwogICAgICBpZiAodHlwZW9mICh2YWx1ZSA9IHRoaXMubWFwW2tleTFdKSAhPT0gJ3VuZGVmaW5lZCcgfHwga2V5MSBpbiB0aGlzLm1hcCB8fAogICAgICAgICAgdHlwZW9mIGtleTIgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgcmV0dXJuIHhyZWYgPyB4cmVmLmZldGNoSWZSZWYodmFsdWUpIDogdmFsdWU7CiAgICAgIH0KICAgICAgaWYgKHR5cGVvZiAodmFsdWUgPSB0aGlzLm1hcFtrZXkyXSkgIT09ICd1bmRlZmluZWQnIHx8IGtleTIgaW4gdGhpcy5tYXAgfHwKICAgICAgICAgIHR5cGVvZiBrZXkzID09PSAndW5kZWZpbmVkJykgewogICAgICAgIHJldHVybiB4cmVmID8geHJlZi5mZXRjaElmUmVmKHZhbHVlKSA6IHZhbHVlOwogICAgICB9CiAgICAgIHZhbHVlID0gdGhpcy5tYXBba2V5M10gfHwgbnVsbDsKICAgICAgcmV0dXJuIHhyZWYgPyB4cmVmLmZldGNoSWZSZWYodmFsdWUpIDogdmFsdWU7CiAgICB9LAoKICAgIC8vIFNhbWUgYXMgZ2V0KCksIGJ1dCByZXR1cm5zIGEgcHJvbWlzZSBhbmQgdXNlcyBmZXRjaElmUmVmQXN5bmMoKS4KICAgIGdldEFzeW5jOiBmdW5jdGlvbiBEaWN0X2dldEFzeW5jKGtleTEsIGtleTIsIGtleTMpIHsKICAgICAgdmFyIHZhbHVlOwogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgaWYgKHR5cGVvZiAodmFsdWUgPSB0aGlzLm1hcFtrZXkxXSkgIT09ICd1bmRlZmluZWQnIHx8IGtleTEgaW4gdGhpcy5tYXAgfHwKICAgICAgICAgIHR5cGVvZiBrZXkyID09PSAndW5kZWZpbmVkJykgewogICAgICAgIGlmICh4cmVmKSB7CiAgICAgICAgICByZXR1cm4geHJlZi5mZXRjaElmUmVmQXN5bmModmFsdWUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZhbHVlKTsKICAgICAgfQogICAgICBpZiAodHlwZW9mICh2YWx1ZSA9IHRoaXMubWFwW2tleTJdKSAhPT0gJ3VuZGVmaW5lZCcgfHwga2V5MiBpbiB0aGlzLm1hcCB8fAogICAgICAgICAgdHlwZW9mIGtleTMgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgaWYgKHhyZWYpIHsKICAgICAgICAgIHJldHVybiB4cmVmLmZldGNoSWZSZWZBc3luYyh2YWx1ZSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsdWUpOwogICAgICB9CiAgICAgIHZhbHVlID0gdGhpcy5tYXBba2V5M10gfHwgbnVsbDsKICAgICAgaWYgKHhyZWYpIHsKICAgICAgICByZXR1cm4geHJlZi5mZXRjaElmUmVmQXN5bmModmFsdWUpOwogICAgICB9CiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsdWUpOwogICAgfSwKCiAgICAvLyBubyBkZXJlZmVyZW5jaW5nCiAgICBnZXRSYXc6IGZ1bmN0aW9uIERpY3RfZ2V0UmF3KGtleSkgewogICAgICByZXR1cm4gdGhpcy5tYXBba2V5XTsKICAgIH0sCgogICAgLy8gY3JlYXRlcyBuZXcgbWFwIGFuZCBkZXJlZmVyZW5jZXMgYWxsIFJlZnMKICAgIGdldEFsbDogZnVuY3Rpb24gRGljdF9nZXRBbGwoKSB7CiAgICAgIHZhciBhbGwgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICB2YXIgcXVldWUgPSBudWxsOwogICAgICB2YXIga2V5LCBvYmo7CiAgICAgIGZvciAoa2V5IGluIHRoaXMubWFwKSB7CiAgICAgICAgb2JqID0gdGhpcy5nZXQoa2V5KTsKICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgRGljdCkgewogICAgICAgICAgaWYgKGlzUmVjdXJzaW9uQWxsb3dlZEZvcihvYmopKSB7CiAgICAgICAgICAgIChxdWV1ZSB8fCAocXVldWUgPSBbXSkpLnB1c2goe3RhcmdldDogYWxsLCBrZXk6IGtleSwgb2JqOiBvYmp9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFsbFtrZXldID0gdGhpcy5nZXRSYXcoa2V5KTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgYWxsW2tleV0gPSBvYmo7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICghcXVldWUpIHsKICAgICAgICByZXR1cm4gYWxsOwogICAgICB9CgogICAgICAvLyB0cnlpbmcgdG8gdGFrZSBjeWNsaWMgcmVmZXJlbmNlcyBpbnRvIHRoZSBhY2NvdW50CiAgICAgIHZhciBwcm9jZXNzZWQgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkgewogICAgICAgIHZhciBpdGVtID0gcXVldWUuc2hpZnQoKTsKICAgICAgICB2YXIgaXRlbU9iaiA9IGl0ZW0ub2JqOwogICAgICAgIHZhciBvYmpJZCA9IGl0ZW1PYmoub2JqSWQ7CiAgICAgICAgaWYgKG9iaklkICYmIG9iaklkIGluIHByb2Nlc3NlZCkgewogICAgICAgICAgaXRlbS50YXJnZXRbaXRlbS5rZXldID0gcHJvY2Vzc2VkW29iaklkXTsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgZGVyZWZlcmVuY2VkID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICBmb3IgKGtleSBpbiBpdGVtT2JqLm1hcCkgewogICAgICAgICAgb2JqID0gaXRlbU9iai5nZXQoa2V5KTsKICAgICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBEaWN0KSB7CiAgICAgICAgICAgIGlmIChpc1JlY3Vyc2lvbkFsbG93ZWRGb3Iob2JqKSkgewogICAgICAgICAgICAgIHF1ZXVlLnB1c2goe3RhcmdldDogZGVyZWZlcmVuY2VkLCBrZXk6IGtleSwgb2JqOiBvYmp9KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBkZXJlZmVyZW5jZWRba2V5XSA9IGl0ZW1PYmouZ2V0UmF3KGtleSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRlcmVmZXJlbmNlZFtrZXldID0gb2JqOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAob2JqSWQpIHsKICAgICAgICAgIHByb2Nlc3NlZFtvYmpJZF0gPSBkZXJlZmVyZW5jZWQ7CiAgICAgICAgfQogICAgICAgIGl0ZW0udGFyZ2V0W2l0ZW0ua2V5XSA9IGRlcmVmZXJlbmNlZDsKICAgICAgfQogICAgICByZXR1cm4gYWxsOwogICAgfSwKCiAgICBnZXRLZXlzOiBmdW5jdGlvbiBEaWN0X2dldEtleXMoKSB7CiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLm1hcCk7CiAgICB9LAoKICAgIHNldDogZnVuY3Rpb24gRGljdF9zZXQoa2V5LCB2YWx1ZSkgewogICAgICB0aGlzLm1hcFtrZXldID0gdmFsdWU7CiAgICB9LAoKICAgIGhhczogZnVuY3Rpb24gRGljdF9oYXMoa2V5KSB7CiAgICAgIHJldHVybiBrZXkgaW4gdGhpcy5tYXA7CiAgICB9LAoKICAgIGZvckVhY2g6IGZ1bmN0aW9uIERpY3RfZm9yRWFjaChjYWxsYmFjaykgewogICAgICBmb3IgKHZhciBrZXkgaW4gdGhpcy5tYXApIHsKICAgICAgICBjYWxsYmFjayhrZXksIHRoaXMuZ2V0KGtleSkpOwogICAgICB9CiAgICB9CiAgfTsKCiAgRGljdC5lbXB0eSA9IG5ldyBEaWN0KG51bGwpOwoKICByZXR1cm4gRGljdDsKfSkoKTsKCnZhciBSZWYgPSAoZnVuY3Rpb24gUmVmQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBSZWYobnVtLCBnZW4pIHsKICAgIHRoaXMubnVtID0gbnVtOwogICAgdGhpcy5nZW4gPSBnZW47CiAgfQoKICBSZWYucHJvdG90eXBlID0gewogICAgdG9TdHJpbmc6IGZ1bmN0aW9uIFJlZl90b1N0cmluZygpIHsKICAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBob3QsIHNvIHdlIG1ha2UgdGhlIHN0cmluZyBhcyBjb21wYWN0IGFzIHBvc3NpYmxlLgogICAgICAvLyB8dGhpcy5nZW58IGlzIGFsbW9zdCBhbHdheXMgemVybywgc28gd2UgdHJlYXQgdGhhdCBjYXNlIHNwZWNpYWxseS4KICAgICAgdmFyIHN0ciA9IHRoaXMubnVtICsgJ1InOwogICAgICBpZiAodGhpcy5nZW4gIT09IDApIHsKICAgICAgICBzdHIgKz0gdGhpcy5nZW47CiAgICAgIH0KICAgICAgcmV0dXJuIHN0cjsKICAgIH0KICB9OwoKICByZXR1cm4gUmVmOwp9KSgpOwoKLy8gVGhlIHJlZmVyZW5jZSBpcyBpZGVudGlmaWVkIGJ5IG51bWJlciBhbmQgZ2VuZXJhdGlvbi4KLy8gVGhpcyBzdHJ1Y3R1cmUgc3RvcmVzIG9ubHkgb25lIGluc3RhbmNlIG9mIHRoZSByZWZlcmVuY2UuCnZhciBSZWZTZXQgPSAoZnVuY3Rpb24gUmVmU2V0Q2xvc3VyZSgpIHsKICBmdW5jdGlvbiBSZWZTZXQoKSB7CiAgICB0aGlzLmRpY3QgPSB7fTsKICB9CgogIFJlZlNldC5wcm90b3R5cGUgPSB7CiAgICBoYXM6IGZ1bmN0aW9uIFJlZlNldF9oYXMocmVmKSB7CiAgICAgIHJldHVybiByZWYudG9TdHJpbmcoKSBpbiB0aGlzLmRpY3Q7CiAgICB9LAoKICAgIHB1dDogZnVuY3Rpb24gUmVmU2V0X3B1dChyZWYpIHsKICAgICAgdGhpcy5kaWN0W3JlZi50b1N0cmluZygpXSA9IHRydWU7CiAgICB9LAoKICAgIHJlbW92ZTogZnVuY3Rpb24gUmVmU2V0X3JlbW92ZShyZWYpIHsKICAgICAgZGVsZXRlIHRoaXMuZGljdFtyZWYudG9TdHJpbmcoKV07CiAgICB9CiAgfTsKCiAgcmV0dXJuIFJlZlNldDsKfSkoKTsKCnZhciBSZWZTZXRDYWNoZSA9IChmdW5jdGlvbiBSZWZTZXRDYWNoZUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gUmVmU2V0Q2FjaGUoKSB7CiAgICB0aGlzLmRpY3QgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogIH0KCiAgUmVmU2V0Q2FjaGUucHJvdG90eXBlID0gewogICAgZ2V0OiBmdW5jdGlvbiBSZWZTZXRDYWNoZV9nZXQocmVmKSB7CiAgICAgIHJldHVybiB0aGlzLmRpY3RbcmVmLnRvU3RyaW5nKCldOwogICAgfSwKCiAgICBoYXM6IGZ1bmN0aW9uIFJlZlNldENhY2hlX2hhcyhyZWYpIHsKICAgICAgcmV0dXJuIHJlZi50b1N0cmluZygpIGluIHRoaXMuZGljdDsKICAgIH0sCgogICAgcHV0OiBmdW5jdGlvbiBSZWZTZXRDYWNoZV9wdXQocmVmLCBvYmopIHsKICAgICAgdGhpcy5kaWN0W3JlZi50b1N0cmluZygpXSA9IG9iajsKICAgIH0sCgogICAgcHV0QWxpYXM6IGZ1bmN0aW9uIFJlZlNldENhY2hlX3B1dEFsaWFzKHJlZiwgYWxpYXNSZWYpIHsKICAgICAgdGhpcy5kaWN0W3JlZi50b1N0cmluZygpXSA9IHRoaXMuZ2V0KGFsaWFzUmVmKTsKICAgIH0sCgogICAgZm9yRWFjaDogZnVuY3Rpb24gUmVmU2V0Q2FjaGVfZm9yRWFjaChmbiwgdGhpc0FyZykgewogICAgICBmb3IgKHZhciBpIGluIHRoaXMuZGljdCkgewogICAgICAgIGZuLmNhbGwodGhpc0FyZywgdGhpcy5kaWN0W2ldKTsKICAgICAgfQogICAgfSwKCiAgICBjbGVhcjogZnVuY3Rpb24gUmVmU2V0Q2FjaGVfY2xlYXIoKSB7CiAgICAgIHRoaXMuZGljdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFJlZlNldENhY2hlOwp9KSgpOwoKdmFyIENhdGFsb2cgPSAoZnVuY3Rpb24gQ2F0YWxvZ0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ2F0YWxvZyhwZGZNYW5hZ2VyLCB4cmVmKSB7CiAgICB0aGlzLnBkZk1hbmFnZXIgPSBwZGZNYW5hZ2VyOwogICAgdGhpcy54cmVmID0geHJlZjsKICAgIHRoaXMuY2F0RGljdCA9IHhyZWYuZ2V0Q2F0YWxvZ09iaigpOwogICAgdGhpcy5mb250Q2FjaGUgPSBuZXcgUmVmU2V0Q2FjaGUoKTsKICAgIGFzc2VydChpc0RpY3QodGhpcy5jYXREaWN0KSwKICAgICAgJ2NhdGFsb2cgb2JqZWN0IGlzIG5vdCBhIGRpY3Rpb25hcnknKTsKCiAgICB0aGlzLnBhZ2VQcm9taXNlcyA9IFtdOwogIH0KCiAgQ2F0YWxvZy5wcm90b3R5cGUgPSB7CiAgICBnZXQgbWV0YWRhdGEoKSB7CiAgICAgIHZhciBzdHJlYW1SZWYgPSB0aGlzLmNhdERpY3QuZ2V0UmF3KCdNZXRhZGF0YScpOwogICAgICBpZiAoIWlzUmVmKHN0cmVhbVJlZikpIHsKICAgICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdtZXRhZGF0YScsIG51bGwpOwogICAgICB9CgogICAgICB2YXIgZW5jcnlwdE1ldGFkYXRhID0gKCF0aGlzLnhyZWYuZW5jcnlwdCA/IGZhbHNlIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnhyZWYuZW5jcnlwdC5lbmNyeXB0TWV0YWRhdGEpOwoKICAgICAgdmFyIHN0cmVhbSA9IHRoaXMueHJlZi5mZXRjaChzdHJlYW1SZWYsICFlbmNyeXB0TWV0YWRhdGEpOwogICAgICB2YXIgbWV0YWRhdGE7CiAgICAgIGlmIChzdHJlYW0gJiYgaXNEaWN0KHN0cmVhbS5kaWN0KSkgewogICAgICAgIHZhciB0eXBlID0gc3RyZWFtLmRpY3QuZ2V0KCdUeXBlJyk7CiAgICAgICAgdmFyIHN1YnR5cGUgPSBzdHJlYW0uZGljdC5nZXQoJ1N1YnR5cGUnKTsKCiAgICAgICAgaWYgKGlzTmFtZSh0eXBlKSAmJiBpc05hbWUoc3VidHlwZSkgJiYKICAgICAgICAgICAgdHlwZS5uYW1lID09PSAnTWV0YWRhdGEnICYmIHN1YnR5cGUubmFtZSA9PT0gJ1hNTCcpIHsKICAgICAgICAgIC8vIFhYWDogVGhpcyBzaG91bGQgZXhhbWluZSB0aGUgY2hhcnNldCB0aGUgWE1MIGRvY3VtZW50IGRlZmluZXMsCiAgICAgICAgICAvLyBob3dldmVyIHNpbmNlIHRoZXJlIGFyZSBjdXJyZW50bHkgbm8gcmVhbCBtZWFucyB0byBkZWNvZGUKICAgICAgICAgIC8vIGFyYml0cmFyeSBjaGFyc2V0cywgbGV0J3MganVzdCBob3BlIHRoYXQgdGhlIGF1dGhvciBvZiB0aGUgUERGCiAgICAgICAgICAvLyB3YXMgcmVhc29uYWJsZSBlbm91Z2ggdG8gc3RpY2sgd2l0aCB0aGUgWE1MIGRlZmF1bHQgY2hhcnNldCwKICAgICAgICAgIC8vIHdoaWNoIGlzIFVURi04LgogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgbWV0YWRhdGEgPSBzdHJpbmdUb1VURjhTdHJpbmcoYnl0ZXNUb1N0cmluZyhzdHJlYW0uZ2V0Qnl0ZXMoKSkpOwogICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBpbmZvKCdTa2lwcGluZyBpbnZhbGlkIG1ldGFkYXRhLicpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAnbWV0YWRhdGEnLCBtZXRhZGF0YSk7CiAgICB9LAogICAgZ2V0IHRvcGxldmVsUGFnZXNEaWN0KCkgewogICAgICB2YXIgcGFnZXNPYmogPSB0aGlzLmNhdERpY3QuZ2V0KCdQYWdlcycpOwogICAgICBhc3NlcnQoaXNEaWN0KHBhZ2VzT2JqKSwgJ2ludmFsaWQgdG9wLWxldmVsIHBhZ2VzIGRpY3Rpb25hcnknKTsKICAgICAgLy8gc2hhZG93IHRoZSBwcm90b3R5cGUgZ2V0dGVyCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ3RvcGxldmVsUGFnZXNEaWN0JywgcGFnZXNPYmopOwogICAgfSwKICAgIGdldCBkb2N1bWVudE91dGxpbmUoKSB7CiAgICAgIHZhciBvYmogPSBudWxsOwogICAgICB0cnkgewogICAgICAgIG9iaiA9IHRoaXMucmVhZERvY3VtZW50T3V0bGluZSgpOwogICAgICB9IGNhdGNoIChleCkgewogICAgICAgIGlmIChleCBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKSB7CiAgICAgICAgICB0aHJvdyBleDsKICAgICAgICB9CiAgICAgICAgd2FybignVW5hYmxlIHRvIHJlYWQgZG9jdW1lbnQgb3V0bGluZScpOwogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2RvY3VtZW50T3V0bGluZScsIG9iaik7CiAgICB9LAogICAgcmVhZERvY3VtZW50T3V0bGluZTogZnVuY3Rpb24gQ2F0YWxvZ19yZWFkRG9jdW1lbnRPdXRsaW5lKCkgewogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIG9iaiA9IHRoaXMuY2F0RGljdC5nZXQoJ091dGxpbmVzJyk7CiAgICAgIHZhciByb290ID0geyBpdGVtczogW10gfTsKICAgICAgaWYgKGlzRGljdChvYmopKSB7CiAgICAgICAgb2JqID0gb2JqLmdldFJhdygnRmlyc3QnKTsKICAgICAgICB2YXIgcHJvY2Vzc2VkID0gbmV3IFJlZlNldCgpOwogICAgICAgIGlmIChpc1JlZihvYmopKSB7CiAgICAgICAgICB2YXIgcXVldWUgPSBbe29iajogb2JqLCBwYXJlbnQ6IHJvb3R9XTsKICAgICAgICAgIC8vIHRvIGF2b2lkIHJlY3Vyc2lvbiBrZWVwaW5nIHRyYWNrIG9mIHRoZSBpdGVtcwogICAgICAgICAgLy8gaW4gdGhlIHByb2Nlc3NlZCBkaWN0aW9uYXJ5CiAgICAgICAgICBwcm9jZXNzZWQucHV0KG9iaik7CiAgICAgICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkgewogICAgICAgICAgICB2YXIgaSA9IHF1ZXVlLnNoaWZ0KCk7CiAgICAgICAgICAgIHZhciBvdXRsaW5lRGljdCA9IHhyZWYuZmV0Y2hJZlJlZihpLm9iaik7CiAgICAgICAgICAgIGlmIChvdXRsaW5lRGljdCA9PT0gbnVsbCkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghb3V0bGluZURpY3QuaGFzKCdUaXRsZScpKSB7CiAgICAgICAgICAgICAgZXJyb3IoJ0ludmFsaWQgb3V0bGluZSBpdGVtJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGRlc3QgPSBvdXRsaW5lRGljdC5nZXQoJ0EnKTsKICAgICAgICAgICAgaWYgKGRlc3QpIHsKICAgICAgICAgICAgICBkZXN0ID0gZGVzdC5nZXQoJ0QnKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChvdXRsaW5lRGljdC5oYXMoJ0Rlc3QnKSkgewogICAgICAgICAgICAgIGRlc3QgPSBvdXRsaW5lRGljdC5nZXRSYXcoJ0Rlc3QnKTsKICAgICAgICAgICAgICBpZiAoaXNOYW1lKGRlc3QpKSB7CiAgICAgICAgICAgICAgICBkZXN0ID0gZGVzdC5uYW1lOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgdGl0bGUgPSBvdXRsaW5lRGljdC5nZXQoJ1RpdGxlJyk7CiAgICAgICAgICAgIHZhciBvdXRsaW5lSXRlbSA9IHsKICAgICAgICAgICAgICBkZXN0OiBkZXN0LAogICAgICAgICAgICAgIHRpdGxlOiBzdHJpbmdUb1BERlN0cmluZyh0aXRsZSksCiAgICAgICAgICAgICAgY29sb3I6IG91dGxpbmVEaWN0LmdldCgnQycpIHx8IFswLCAwLCAwXSwKICAgICAgICAgICAgICBjb3VudDogb3V0bGluZURpY3QuZ2V0KCdDb3VudCcpLAogICAgICAgICAgICAgIGJvbGQ6ICEhKG91dGxpbmVEaWN0LmdldCgnRicpICYgMiksCiAgICAgICAgICAgICAgaXRhbGljOiAhIShvdXRsaW5lRGljdC5nZXQoJ0YnKSAmIDEpLAogICAgICAgICAgICAgIGl0ZW1zOiBbXQogICAgICAgICAgICB9OwogICAgICAgICAgICBpLnBhcmVudC5pdGVtcy5wdXNoKG91dGxpbmVJdGVtKTsKICAgICAgICAgICAgb2JqID0gb3V0bGluZURpY3QuZ2V0UmF3KCdGaXJzdCcpOwogICAgICAgICAgICBpZiAoaXNSZWYob2JqKSAmJiAhcHJvY2Vzc2VkLmhhcyhvYmopKSB7CiAgICAgICAgICAgICAgcXVldWUucHVzaCh7b2JqOiBvYmosIHBhcmVudDogb3V0bGluZUl0ZW19KTsKICAgICAgICAgICAgICBwcm9jZXNzZWQucHV0KG9iaik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgb2JqID0gb3V0bGluZURpY3QuZ2V0UmF3KCdOZXh0Jyk7CiAgICAgICAgICAgIGlmIChpc1JlZihvYmopICYmICFwcm9jZXNzZWQuaGFzKG9iaikpIHsKICAgICAgICAgICAgICBxdWV1ZS5wdXNoKHtvYmo6IG9iaiwgcGFyZW50OiBpLnBhcmVudH0pOwogICAgICAgICAgICAgIHByb2Nlc3NlZC5wdXQob2JqKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gKHJvb3QuaXRlbXMubGVuZ3RoID4gMCA/IHJvb3QuaXRlbXMgOiBudWxsKTsKICAgIH0sCiAgICBnZXQgbnVtUGFnZXMoKSB7CiAgICAgIHZhciBvYmogPSB0aGlzLnRvcGxldmVsUGFnZXNEaWN0LmdldCgnQ291bnQnKTsKICAgICAgYXNzZXJ0KAogICAgICAgIGlzSW50KG9iaiksCiAgICAgICAgJ3BhZ2UgY291bnQgaW4gdG9wIGxldmVsIHBhZ2VzIG9iamVjdCBpcyBub3QgYW4gaW50ZWdlcicKICAgICAgKTsKICAgICAgLy8gc2hhZG93IHRoZSBwcm90b3R5cGUgZ2V0dGVyCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ251bScsIG9iaik7CiAgICB9LAogICAgZ2V0IGRlc3RpbmF0aW9ucygpIHsKICAgICAgZnVuY3Rpb24gZmV0Y2hEZXN0aW5hdGlvbihkZXN0KSB7CiAgICAgICAgcmV0dXJuIGlzRGljdChkZXN0KSA/IGRlc3QuZ2V0KCdEJykgOiBkZXN0OwogICAgICB9CgogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIGRlc3RzID0ge30sIG5hbWVUcmVlUmVmLCBuYW1lRGljdGlvbmFyeVJlZjsKICAgICAgdmFyIG9iaiA9IHRoaXMuY2F0RGljdC5nZXQoJ05hbWVzJyk7CiAgICAgIGlmIChvYmogJiYgb2JqLmhhcygnRGVzdHMnKSkgewogICAgICAgIG5hbWVUcmVlUmVmID0gb2JqLmdldFJhdygnRGVzdHMnKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLmNhdERpY3QuaGFzKCdEZXN0cycpKSB7CiAgICAgICAgbmFtZURpY3Rpb25hcnlSZWYgPSB0aGlzLmNhdERpY3QuZ2V0KCdEZXN0cycpOwogICAgICB9CgogICAgICBpZiAobmFtZURpY3Rpb25hcnlSZWYpIHsKICAgICAgICAvLyByZWFkaW5nIHNpbXBsZSBkZXN0aW5hdGlvbiBkaWN0aW9uYXJ5CiAgICAgICAgb2JqID0gbmFtZURpY3Rpb25hcnlSZWY7CiAgICAgICAgb2JqLmZvckVhY2goZnVuY3Rpb24gY2F0YWxvZ0ZvckVhY2goa2V5LCB2YWx1ZSkgewogICAgICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBkZXN0c1trZXldID0gZmV0Y2hEZXN0aW5hdGlvbih2YWx1ZSk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgaWYgKG5hbWVUcmVlUmVmKSB7CiAgICAgICAgdmFyIG5hbWVUcmVlID0gbmV3IE5hbWVUcmVlKG5hbWVUcmVlUmVmLCB4cmVmKTsKICAgICAgICB2YXIgbmFtZXMgPSBuYW1lVHJlZS5nZXRBbGwoKTsKICAgICAgICBmb3IgKHZhciBuYW1lIGluIG5hbWVzKSB7CiAgICAgICAgICBpZiAoIW5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgZGVzdHNbbmFtZV0gPSBmZXRjaERlc3RpbmF0aW9uKG5hbWVzW25hbWVdKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAnZGVzdGluYXRpb25zJywgZGVzdHMpOwogICAgfSwKICAgIGdldERlc3RpbmF0aW9uOiBmdW5jdGlvbiBDYXRhbG9nX2dldERlc3RpbmF0aW9uKGRlc3RpbmF0aW9uSWQpIHsKICAgICAgZnVuY3Rpb24gZmV0Y2hEZXN0aW5hdGlvbihkZXN0KSB7CiAgICAgICAgcmV0dXJuIGlzRGljdChkZXN0KSA/IGRlc3QuZ2V0KCdEJykgOiBkZXN0OwogICAgICB9CgogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIGRlc3QsIG5hbWVUcmVlUmVmLCBuYW1lRGljdGlvbmFyeVJlZjsKICAgICAgdmFyIG9iaiA9IHRoaXMuY2F0RGljdC5nZXQoJ05hbWVzJyk7CiAgICAgIGlmIChvYmogJiYgb2JqLmhhcygnRGVzdHMnKSkgewogICAgICAgIG5hbWVUcmVlUmVmID0gb2JqLmdldFJhdygnRGVzdHMnKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLmNhdERpY3QuaGFzKCdEZXN0cycpKSB7CiAgICAgICAgbmFtZURpY3Rpb25hcnlSZWYgPSB0aGlzLmNhdERpY3QuZ2V0KCdEZXN0cycpOwogICAgICB9CgogICAgICBpZiAobmFtZURpY3Rpb25hcnlSZWYpIHsKICAgICAgICAvLyByZWFkaW5nIHNpbXBsZSBkZXN0aW5hdGlvbiBkaWN0aW9uYXJ5CiAgICAgICAgb2JqID0gbmFtZURpY3Rpb25hcnlSZWY7CiAgICAgICAgb2JqLmZvckVhY2goZnVuY3Rpb24gY2F0YWxvZ0ZvckVhY2goa2V5LCB2YWx1ZSkgewogICAgICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoa2V5ID09PSBkZXN0aW5hdGlvbklkKSB7CiAgICAgICAgICAgIGRlc3QgPSBmZXRjaERlc3RpbmF0aW9uKHZhbHVlKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgICBpZiAobmFtZVRyZWVSZWYpIHsKICAgICAgICB2YXIgbmFtZVRyZWUgPSBuZXcgTmFtZVRyZWUobmFtZVRyZWVSZWYsIHhyZWYpOwogICAgICAgIGRlc3QgPSBmZXRjaERlc3RpbmF0aW9uKG5hbWVUcmVlLmdldChkZXN0aW5hdGlvbklkKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGRlc3Q7CiAgICB9LAogICAgZ2V0IGF0dGFjaG1lbnRzKCkgewogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIGF0dGFjaG1lbnRzID0gbnVsbCwgbmFtZVRyZWVSZWY7CiAgICAgIHZhciBvYmogPSB0aGlzLmNhdERpY3QuZ2V0KCdOYW1lcycpOwogICAgICBpZiAob2JqKSB7CiAgICAgICAgbmFtZVRyZWVSZWYgPSBvYmouZ2V0UmF3KCdFbWJlZGRlZEZpbGVzJyk7CiAgICAgIH0KCiAgICAgIGlmIChuYW1lVHJlZVJlZikgewogICAgICAgIHZhciBuYW1lVHJlZSA9IG5ldyBOYW1lVHJlZShuYW1lVHJlZVJlZiwgeHJlZik7CiAgICAgICAgdmFyIG5hbWVzID0gbmFtZVRyZWUuZ2V0QWxsKCk7CiAgICAgICAgZm9yICh2YXIgbmFtZSBpbiBuYW1lcykgewogICAgICAgICAgaWYgKCFuYW1lcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBmcyA9IG5ldyBGaWxlU3BlYyhuYW1lc1tuYW1lXSwgeHJlZik7CiAgICAgICAgICBpZiAoIWF0dGFjaG1lbnRzKSB7CiAgICAgICAgICAgIGF0dGFjaG1lbnRzID0ge307CiAgICAgICAgICB9CiAgICAgICAgICBhdHRhY2htZW50c1tzdHJpbmdUb1BERlN0cmluZyhuYW1lKV0gPSBmcy5zZXJpYWxpemFibGU7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2F0dGFjaG1lbnRzJywgYXR0YWNobWVudHMpOwogICAgfSwKICAgIGdldCBqYXZhU2NyaXB0KCkgewogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIG9iaiA9IHRoaXMuY2F0RGljdC5nZXQoJ05hbWVzJyk7CgogICAgICB2YXIgamF2YVNjcmlwdCA9IFtdOwogICAgICBpZiAob2JqICYmIG9iai5oYXMoJ0phdmFTY3JpcHQnKSkgewogICAgICAgIHZhciBuYW1lVHJlZSA9IG5ldyBOYW1lVHJlZShvYmouZ2V0UmF3KCdKYXZhU2NyaXB0JyksIHhyZWYpOwogICAgICAgIHZhciBuYW1lcyA9IG5hbWVUcmVlLmdldEFsbCgpOwogICAgICAgIGZvciAodmFyIG5hbWUgaW4gbmFtZXMpIHsKICAgICAgICAgIGlmICghbmFtZXMuaGFzT3duUHJvcGVydHkobmFtZSkpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBXZSBkb24ndCByZWFsbHkgdXNlIHRoZSBKYXZhU2NyaXB0IHJpZ2h0IG5vdy4gVGhpcyBjb2RlIGlzCiAgICAgICAgICAvLyBkZWZlbnNpdmUgc28gd2UgZG9uJ3QgY2F1c2UgZXJyb3JzIG9uIGRvY3VtZW50IGxvYWQuCiAgICAgICAgICB2YXIganNEaWN0ID0gbmFtZXNbbmFtZV07CiAgICAgICAgICBpZiAoIWlzRGljdChqc0RpY3QpKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdmFyIHR5cGUgPSBqc0RpY3QuZ2V0KCdTJyk7CiAgICAgICAgICBpZiAoIWlzTmFtZSh0eXBlKSB8fCB0eXBlLm5hbWUgIT09ICdKYXZhU2NyaXB0JykgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBqcyA9IGpzRGljdC5nZXQoJ0pTJyk7CiAgICAgICAgICBpZiAoIWlzU3RyaW5nKGpzKSAmJiAhaXNTdHJlYW0oanMpKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGlzU3RyZWFtKGpzKSkgewogICAgICAgICAgICBqcyA9IGJ5dGVzVG9TdHJpbmcoanMuZ2V0Qnl0ZXMoKSk7CiAgICAgICAgICB9CiAgICAgICAgICBqYXZhU2NyaXB0LnB1c2goc3RyaW5nVG9QREZTdHJpbmcoanMpKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIEFwcGVuZCBPcGVuQWN0aW9uIGFjdGlvbnMgdG8gamF2YVNjcmlwdCBhcnJheQogICAgICB2YXIgb3BlbmFjdGlvbkRpY3QgPSB0aGlzLmNhdERpY3QuZ2V0KCdPcGVuQWN0aW9uJyk7CiAgICAgIGlmIChpc0RpY3Qob3BlbmFjdGlvbkRpY3QpKSB7CiAgICAgICAgdmFyIG9ialR5cGUgPSBvcGVuYWN0aW9uRGljdC5nZXQoJ1R5cGUnKTsKICAgICAgICB2YXIgYWN0aW9uVHlwZSA9IG9wZW5hY3Rpb25EaWN0LmdldCgnUycpOwogICAgICAgIHZhciBhY3Rpb24gPSBvcGVuYWN0aW9uRGljdC5nZXQoJ04nKTsKICAgICAgICB2YXIgaXNQcmludEFjdGlvbiA9IChpc05hbWUob2JqVHlwZSkgJiYgb2JqVHlwZS5uYW1lID09PSAnQWN0aW9uJyAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOYW1lKGFjdGlvblR5cGUpICYmIGFjdGlvblR5cGUubmFtZSA9PT0gJ05hbWVkJyAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOYW1lKGFjdGlvbikgJiYgYWN0aW9uLm5hbWUgPT09ICdQcmludCcpOwoKICAgICAgICBpZiAoaXNQcmludEFjdGlvbikgewogICAgICAgICAgamF2YVNjcmlwdC5wdXNoKCdwcmludCh0cnVlKTsnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2phdmFTY3JpcHQnLCBqYXZhU2NyaXB0KTsKICAgIH0sCgogICAgY2xlYW51cDogZnVuY3Rpb24gQ2F0YWxvZ19jbGVhbnVwKCkgewogICAgICB2YXIgcHJvbWlzZXMgPSBbXTsKICAgICAgdGhpcy5mb250Q2FjaGUuZm9yRWFjaChmdW5jdGlvbiAocHJvbWlzZSkgewogICAgICAgIHByb21pc2VzLnB1c2gocHJvbWlzZSk7CiAgICAgIH0pOwogICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKHRyYW5zbGF0ZWRGb250cykgewogICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHRyYW5zbGF0ZWRGb250cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICB2YXIgZm9udCA9IHRyYW5zbGF0ZWRGb250c1tpXS5kaWN0OwogICAgICAgICAgZGVsZXRlIGZvbnQudHJhbnNsYXRlZDsKICAgICAgICB9CiAgICAgICAgdGhpcy5mb250Q2FjaGUuY2xlYXIoKTsKICAgICAgfS5iaW5kKHRoaXMpKTsKICAgIH0sCgogICAgZ2V0UGFnZTogZnVuY3Rpb24gQ2F0YWxvZ19nZXRQYWdlKHBhZ2VJbmRleCkgewogICAgICBpZiAoIShwYWdlSW5kZXggaW4gdGhpcy5wYWdlUHJvbWlzZXMpKSB7CiAgICAgICAgdGhpcy5wYWdlUHJvbWlzZXNbcGFnZUluZGV4XSA9IHRoaXMuZ2V0UGFnZURpY3QocGFnZUluZGV4KS50aGVuKAogICAgICAgICAgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgdmFyIGRpY3QgPSBhWzBdOwogICAgICAgICAgICB2YXIgcmVmID0gYVsxXTsKICAgICAgICAgICAgcmV0dXJuIG5ldyBQYWdlKHRoaXMucGRmTWFuYWdlciwgdGhpcy54cmVmLCBwYWdlSW5kZXgsIGRpY3QsIHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9udENhY2hlKTsKICAgICAgICAgIH0uYmluZCh0aGlzKQogICAgICAgICk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMucGFnZVByb21pc2VzW3BhZ2VJbmRleF07CiAgICB9LAoKICAgIGdldFBhZ2VEaWN0OiBmdW5jdGlvbiBDYXRhbG9nX2dldFBhZ2VEaWN0KHBhZ2VJbmRleCkgewogICAgICB2YXIgY2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CiAgICAgIHZhciBub2Rlc1RvVmlzaXQgPSBbdGhpcy5jYXREaWN0LmdldFJhdygnUGFnZXMnKV07CiAgICAgIHZhciBjdXJyZW50UGFnZUluZGV4ID0gMDsKICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgIHZhciBjaGVja0FsbEtpZHMgPSBmYWxzZTsKCiAgICAgIGZ1bmN0aW9uIG5leHQoKSB7CiAgICAgICAgd2hpbGUgKG5vZGVzVG9WaXNpdC5sZW5ndGgpIHsKICAgICAgICAgIHZhciBjdXJyZW50Tm9kZSA9IG5vZGVzVG9WaXNpdC5wb3AoKTsKCiAgICAgICAgICBpZiAoaXNSZWYoY3VycmVudE5vZGUpKSB7CiAgICAgICAgICAgIHhyZWYuZmV0Y2hBc3luYyhjdXJyZW50Tm9kZSkudGhlbihmdW5jdGlvbiAob2JqKSB7CiAgICAgICAgICAgICAgaWYgKGlzRGljdChvYmosICdQYWdlJykgfHwgKGlzRGljdChvYmopICYmICFvYmouaGFzKCdLaWRzJykpKSB7CiAgICAgICAgICAgICAgICBpZiAocGFnZUluZGV4ID09PSBjdXJyZW50UGFnZUluZGV4KSB7CiAgICAgICAgICAgICAgICAgIGNhcGFiaWxpdHkucmVzb2x2ZShbb2JqLCBjdXJyZW50Tm9kZV0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2VJbmRleCsrOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG5vZGVzVG9WaXNpdC5wdXNoKG9iaik7CiAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICB9LCBjYXBhYmlsaXR5LnJlamVjdCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBNdXN0IGJlIGEgY2hpbGQgcGFnZSBkaWN0aW9uYXJ5LgogICAgICAgICAgYXNzZXJ0KAogICAgICAgICAgICBpc0RpY3QoY3VycmVudE5vZGUpLAogICAgICAgICAgICAncGFnZSBkaWN0aW9uYXJ5IGtpZCByZWZlcmVuY2UgcG9pbnRzIHRvIHdyb25nIHR5cGUgb2Ygb2JqZWN0JwogICAgICAgICAgKTsKICAgICAgICAgIHZhciBjb3VudCA9IGN1cnJlbnROb2RlLmdldCgnQ291bnQnKTsKICAgICAgICAgIC8vIElmIHRoZSBjdXJyZW50IG5vZGUgZG9lc24ndCBoYXZlIGFueSBjaGlsZHJlbiwgYXZvaWQgZ2V0dGluZyBzdHVjawogICAgICAgICAgLy8gaW4gYW4gZW1wdHkgbm9kZSBmdXJ0aGVyIGRvd24gaW4gdGhlIHRyZWUgKHNlZSBpc3N1ZTU2NDQucGRmKS4KICAgICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgICBjaGVja0FsbEtpZHMgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgICAgLy8gU2tpcCBub2RlcyB3aGVyZSB0aGUgcGFnZSBjYW4ndCBiZS4KICAgICAgICAgIGlmIChjdXJyZW50UGFnZUluZGV4ICsgY291bnQgPD0gcGFnZUluZGV4KSB7CiAgICAgICAgICAgIGN1cnJlbnRQYWdlSW5kZXggKz0gY291bnQ7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBraWRzID0gY3VycmVudE5vZGUuZ2V0KCdLaWRzJyk7CiAgICAgICAgICBhc3NlcnQoaXNBcnJheShraWRzKSwgJ3BhZ2UgZGljdGlvbmFyeSBraWRzIG9iamVjdCBpcyBub3QgYW4gYXJyYXknKTsKICAgICAgICAgIGlmICghY2hlY2tBbGxLaWRzICYmIGNvdW50ID09PSBraWRzLmxlbmd0aCkgewogICAgICAgICAgICAvLyBOb2RlcyB0aGF0IGRvbid0IGhhdmUgdGhlIHBhZ2UgaGF2ZSBiZWVuIHNraXBwZWQgYW5kIHRoaXMgaXMgdGhlCiAgICAgICAgICAgIC8vIGJvdHRvbSBvZiB0aGUgdHJlZSB3aGljaCBtZWFucyB0aGUgcGFnZSByZXF1ZXN0ZWQgbXVzdCBiZSBhCiAgICAgICAgICAgIC8vIGRlc2NlbmRhbnQgb2YgdGhpcyBwYWdlcyBub2RlLiBJZGVhbGx5IHdlIHdvdWxkIGp1c3QgcmVzb2x2ZSB0aGUKICAgICAgICAgICAgLy8gcHJvbWlzZSB3aXRoIHRoZSBwYWdlIHJlZiBoZXJlLCBidXQgdGhlcmUgaXMgdGhlIGNhc2Ugd2hlcmUgbW9yZQogICAgICAgICAgICAvLyBwYWdlcyBub2RlcyBjb3VsZCBsaW5rIHRvIHNpbmdsZSBhIHBhZ2UgKHNlZSBpc3N1ZSAzNjY2IHBkZikuIFRvCiAgICAgICAgICAgIC8vIGhhbmRsZSB0aGlzIHB1c2ggaXQgYmFjayBvbiB0aGUgcXVldWUgc28gaWYgaXQgaXMgYSBwYWdlcyBub2RlIGl0CiAgICAgICAgICAgIC8vIHdpbGwgYmUgZGVzY2VuZGVkIGludG8uCiAgICAgICAgICAgIG5vZGVzVG9WaXNpdCA9IFtraWRzW3BhZ2VJbmRleCAtIGN1cnJlbnRQYWdlSW5kZXhdXTsKICAgICAgICAgICAgY3VycmVudFBhZ2VJbmRleCA9IHBhZ2VJbmRleDsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3IgKHZhciBsYXN0ID0ga2lkcy5sZW5ndGggLSAxOyBsYXN0ID49IDA7IGxhc3QtLSkgewogICAgICAgICAgICAgIG5vZGVzVG9WaXNpdC5wdXNoKGtpZHNbbGFzdF0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhcGFiaWxpdHkucmVqZWN0KCdQYWdlIGluZGV4ICcgKyBwYWdlSW5kZXggKyAnIG5vdCBmb3VuZC4nKTsKICAgICAgfQogICAgICBuZXh0KCk7CiAgICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAoKICAgIGdldFBhZ2VJbmRleDogZnVuY3Rpb24gQ2F0YWxvZ19nZXRQYWdlSW5kZXgocmVmKSB7CiAgICAgIC8vIFRoZSBwYWdlIHRyZWUgbm9kZXMgaGF2ZSB0aGUgY291bnQgb2YgYWxsIHRoZSBsZWF2ZXMgYmVsb3cgdGhlbS4gVG8gZ2V0CiAgICAgIC8vIGhvdyBtYW55IHBhZ2VzIGFyZSBiZWZvcmUgd2UganVzdCBoYXZlIHRvIHdhbGsgdXAgdGhlIHRyZWUgYW5kIGtlZXAKICAgICAgLy8gYWRkaW5nIHRoZSBjb3VudCBvZiBzaWJsaW5ncyB0byB0aGUgbGVmdCBvZiB0aGUgbm9kZS4KICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgIGZ1bmN0aW9uIHBhZ2VzQmVmb3JlUmVmKGtpZFJlZikgewogICAgICAgIHZhciB0b3RhbCA9IDA7CiAgICAgICAgdmFyIHBhcmVudFJlZjsKICAgICAgICByZXR1cm4geHJlZi5mZXRjaEFzeW5jKGtpZFJlZikudGhlbihmdW5jdGlvbiAobm9kZSkgewogICAgICAgICAgaWYgKCFub2RlKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgfQogICAgICAgICAgcGFyZW50UmVmID0gbm9kZS5nZXRSYXcoJ1BhcmVudCcpOwogICAgICAgICAgcmV0dXJuIG5vZGUuZ2V0QXN5bmMoJ1BhcmVudCcpOwogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHBhcmVudCkgewogICAgICAgICAgaWYgKCFwYXJlbnQpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gcGFyZW50LmdldEFzeW5jKCdLaWRzJyk7CiAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoa2lkcykgewogICAgICAgICAgaWYgKCFraWRzKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGtpZFByb21pc2VzID0gW107CiAgICAgICAgICB2YXIgZm91bmQgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2lkcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIga2lkID0ga2lkc1tpXTsKICAgICAgICAgICAgYXNzZXJ0KGlzUmVmKGtpZCksICdraWRzIG11c3QgYmUgYSByZWYnKTsKICAgICAgICAgICAgaWYgKGtpZC5udW0gPT09IGtpZFJlZi5udW0pIHsKICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAga2lkUHJvbWlzZXMucHVzaCh4cmVmLmZldGNoQXN5bmMoa2lkKS50aGVuKGZ1bmN0aW9uIChraWQpIHsKICAgICAgICAgICAgICBpZiAoa2lkLmhhcygnQ291bnQnKSkgewogICAgICAgICAgICAgICAgdmFyIGNvdW50ID0ga2lkLmdldCgnQ291bnQnKTsKICAgICAgICAgICAgICAgIHRvdGFsICs9IGNvdW50OwogICAgICAgICAgICAgIH0gZWxzZSB7IC8vIHBhZ2UgbGVhZiBub2RlCiAgICAgICAgICAgICAgICB0b3RhbCsrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKCFmb3VuZCkgewogICAgICAgICAgICBlcnJvcigna2lkIHJlZiBub3QgZm91bmQgaW4gcGFyZW50cyBraWRzJyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoa2lkUHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gW3RvdGFsLCBwYXJlbnRSZWZdOwogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIHZhciB0b3RhbCA9IDA7CiAgICAgIGZ1bmN0aW9uIG5leHQocmVmKSB7CiAgICAgICAgcmV0dXJuIHBhZ2VzQmVmb3JlUmVmKHJlZikudGhlbihmdW5jdGlvbiAoYXJncykgewogICAgICAgICAgaWYgKCFhcmdzKSB7CiAgICAgICAgICAgIHJldHVybiB0b3RhbDsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBjb3VudCA9IGFyZ3NbMF07CiAgICAgICAgICB2YXIgcGFyZW50UmVmID0gYXJnc1sxXTsKICAgICAgICAgIHRvdGFsICs9IGNvdW50OwogICAgICAgICAgcmV0dXJuIG5leHQocGFyZW50UmVmKTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgcmV0dXJuIG5leHQocmVmKTsKICAgIH0KICB9OwoKICByZXR1cm4gQ2F0YWxvZzsKfSkoKTsKCnZhciBYUmVmID0gKGZ1bmN0aW9uIFhSZWZDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFhSZWYoc3RyZWFtLCBwYXNzd29yZCkgewogICAgdGhpcy5zdHJlYW0gPSBzdHJlYW07CiAgICB0aGlzLmVudHJpZXMgPSBbXTsKICAgIHRoaXMueHJlZnN0bXMgPSB7fTsKICAgIC8vIHByZXBhcmUgdGhlIFhSZWYgY2FjaGUKICAgIHRoaXMuY2FjaGUgPSBbXTsKICAgIHRoaXMucGFzc3dvcmQgPSBwYXNzd29yZDsKICAgIHRoaXMuc3RhdHMgPSB7CiAgICAgIHN0cmVhbVR5cGVzOiBbXSwKICAgICAgZm9udFR5cGVzOiBbXQogICAgfTsKICB9CgogIFhSZWYucHJvdG90eXBlID0gewogICAgc2V0U3RhcnRYUmVmOiBmdW5jdGlvbiBYUmVmX3NldFN0YXJ0WFJlZihzdGFydFhSZWYpIHsKICAgICAgLy8gU3RvcmUgdGhlIHN0YXJ0aW5nIHBvc2l0aW9ucyBvZiB4cmVmIHRhYmxlcyBhcyB3ZSBwcm9jZXNzIHRoZW0KICAgICAgLy8gc28gd2UgY2FuIHJlY292ZXIgZnJvbSBtaXNzaW5nIGRhdGEgZXJyb3JzCiAgICAgIHRoaXMuc3RhcnRYUmVmUXVldWUgPSBbc3RhcnRYUmVmXTsKICAgIH0sCgogICAgcGFyc2U6IGZ1bmN0aW9uIFhSZWZfcGFyc2UocmVjb3ZlcnlNb2RlKSB7CiAgICAgIHZhciB0cmFpbGVyRGljdDsKICAgICAgaWYgKCFyZWNvdmVyeU1vZGUpIHsKICAgICAgICB0cmFpbGVyRGljdCA9IHRoaXMucmVhZFhSZWYoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB3YXJuKCdJbmRleGluZyBhbGwgUERGIG9iamVjdHMnKTsKICAgICAgICB0cmFpbGVyRGljdCA9IHRoaXMuaW5kZXhPYmplY3RzKCk7CiAgICAgIH0KICAgICAgdHJhaWxlckRpY3QuYXNzaWduWHJlZih0aGlzKTsKICAgICAgdGhpcy50cmFpbGVyID0gdHJhaWxlckRpY3Q7CiAgICAgIHZhciBlbmNyeXB0ID0gdHJhaWxlckRpY3QuZ2V0KCdFbmNyeXB0Jyk7CiAgICAgIGlmIChlbmNyeXB0KSB7CiAgICAgICAgdmFyIGlkcyA9IHRyYWlsZXJEaWN0LmdldCgnSUQnKTsKICAgICAgICB2YXIgZmlsZUlkID0gKGlkcyAmJiBpZHMubGVuZ3RoKSA/IGlkc1swXSA6ICcnOwogICAgICAgIHRoaXMuZW5jcnlwdCA9IG5ldyBDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5KGVuY3J5cHQsIGZpbGVJZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3N3b3JkKTsKICAgICAgfQoKICAgICAgLy8gZ2V0IHRoZSByb290IGRpY3Rpb25hcnkgKGNhdGFsb2cpIG9iamVjdAogICAgICBpZiAoISh0aGlzLnJvb3QgPSB0cmFpbGVyRGljdC5nZXQoJ1Jvb3QnKSkpIHsKICAgICAgICBlcnJvcignSW52YWxpZCByb290IHJlZmVyZW5jZScpOwogICAgICB9CiAgICB9LAoKICAgIHByb2Nlc3NYUmVmVGFibGU6IGZ1bmN0aW9uIFhSZWZfcHJvY2Vzc1hSZWZUYWJsZShwYXJzZXIpIHsKICAgICAgaWYgKCEoJ3RhYmxlU3RhdGUnIGluIHRoaXMpKSB7CiAgICAgICAgLy8gU3RvcmVzIHN0YXRlIG9mIHRoZSB0YWJsZSBhcyB3ZSBwcm9jZXNzIGl0IHNvIHdlIGNhbiByZXN1bWUKICAgICAgICAvLyBmcm9tIG1pZGRsZSBvZiB0YWJsZSBpbiBjYXNlIG9mIG1pc3NpbmcgZGF0YSBlcnJvcgogICAgICAgIHRoaXMudGFibGVTdGF0ZSA9IHsKICAgICAgICAgIGVudHJ5TnVtOiAwLAogICAgICAgICAgc3RyZWFtUG9zOiBwYXJzZXIubGV4ZXIuc3RyZWFtLnBvcywKICAgICAgICAgIHBhcnNlckJ1ZjE6IHBhcnNlci5idWYxLAogICAgICAgICAgcGFyc2VyQnVmMjogcGFyc2VyLmJ1ZjIKICAgICAgICB9OwogICAgICB9CgogICAgICB2YXIgb2JqID0gdGhpcy5yZWFkWFJlZlRhYmxlKHBhcnNlcik7CgogICAgICAvLyBTYW5pdHkgY2hlY2sKICAgICAgaWYgKCFpc0NtZChvYmosICd0cmFpbGVyJykpIHsKICAgICAgICBlcnJvcignSW52YWxpZCBYUmVmIHRhYmxlOiBjb3VsZCBub3QgZmluZCB0cmFpbGVyIGRpY3Rpb25hcnknKTsKICAgICAgfQogICAgICAvLyBSZWFkIHRyYWlsZXIgZGljdGlvbmFyeSwgZS5nLgogICAgICAvLyB0cmFpbGVyCiAgICAgIC8vICAgIDw8IC9TaXplIDIyCiAgICAgIC8vICAgICAgL1Jvb3QgMjBSCiAgICAgIC8vICAgICAgL0luZm8gMTBSCiAgICAgIC8vICAgICAgL0lEIFsgPDgxYjE0YWFmYTMxM2RiNjNkYmQ2Zjk4MWU0OWY5NGY0PiBdCiAgICAgIC8vICAgID4+CiAgICAgIC8vIFRoZSBwYXJzZXIgZ29lcyB0aHJvdWdoIHRoZSBlbnRpcmUgc3RyZWFtIDw8IC4uLiA+PiBhbmQgcHJvdmlkZXMKICAgICAgLy8gYSBnZXR0ZXIgaW50ZXJmYWNlIGZvciB0aGUga2V5LXZhbHVlIHRhYmxlCiAgICAgIHZhciBkaWN0ID0gcGFyc2VyLmdldE9iaigpOwoKICAgICAgLy8gVGhlIHBkZmxpYiBQREYgZ2VuZXJhdG9yIGNhbiBnZW5lcmF0ZSBhIG5lc3RlZCB0cmFpbGVyIGRpY3Rpb25hcnkKICAgICAgaWYgKCFpc0RpY3QoZGljdCkgJiYgZGljdC5kaWN0KSB7CiAgICAgICAgZGljdCA9IGRpY3QuZGljdDsKICAgICAgfQogICAgICBpZiAoIWlzRGljdChkaWN0KSkgewogICAgICAgIGVycm9yKCdJbnZhbGlkIFhSZWYgdGFibGU6IGNvdWxkIG5vdCBwYXJzZSB0cmFpbGVyIGRpY3Rpb25hcnknKTsKICAgICAgfQogICAgICBkZWxldGUgdGhpcy50YWJsZVN0YXRlOwoKICAgICAgcmV0dXJuIGRpY3Q7CiAgICB9LAoKICAgIHJlYWRYUmVmVGFibGU6IGZ1bmN0aW9uIFhSZWZfcmVhZFhSZWZUYWJsZShwYXJzZXIpIHsKICAgICAgLy8gRXhhbXBsZSBvZiBjcm9zcy1yZWZlcmVuY2UgdGFibGU6CiAgICAgIC8vIHhyZWYKICAgICAgLy8gMCAxICAgICAgICAgICAgICAgICAgICA8LS0gc3Vic2VjdGlvbiBoZWFkZXIgKGZpcnN0IG9iaiAjLCBvYmogY291bnQpCiAgICAgIC8vIDAwMDAwMDAwMDAgNjU1MzUgZiAgICAgPC0tIGFjdHVhbCBvYmplY3QgKG9mZnNldCwgZ2VuZXJhdGlvbiAjLCBmL24pCiAgICAgIC8vIDIzIDIgICAgICAgICAgICAgICAgICAgPC0tIHN1YnNlY3Rpb24gaGVhZGVyIC4uLiBhbmQgc28gb24gLi4uCiAgICAgIC8vIDAwMDAwMjU1MTggMDAwMDIgbgogICAgICAvLyAwMDAwMDI1NjM1IDAwMDAwIG4KICAgICAgLy8gdHJhaWxlcgogICAgICAvLyAuLi4KCiAgICAgIHZhciBzdHJlYW0gPSBwYXJzZXIubGV4ZXIuc3RyZWFtOwogICAgICB2YXIgdGFibGVTdGF0ZSA9IHRoaXMudGFibGVTdGF0ZTsKICAgICAgc3RyZWFtLnBvcyA9IHRhYmxlU3RhdGUuc3RyZWFtUG9zOwogICAgICBwYXJzZXIuYnVmMSA9IHRhYmxlU3RhdGUucGFyc2VyQnVmMTsKICAgICAgcGFyc2VyLmJ1ZjIgPSB0YWJsZVN0YXRlLnBhcnNlckJ1ZjI7CgogICAgICAvLyBPdXRlciBsb29wIGlzIG92ZXIgc3Vic2VjdGlvbiBoZWFkZXJzCiAgICAgIHZhciBvYmo7CgogICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgIGlmICghKCdmaXJzdEVudHJ5TnVtJyBpbiB0YWJsZVN0YXRlKSB8fCAhKCdlbnRyeUNvdW50JyBpbiB0YWJsZVN0YXRlKSkgewogICAgICAgICAgaWYgKGlzQ21kKG9iaiA9IHBhcnNlci5nZXRPYmooKSwgJ3RyYWlsZXInKSkgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHRhYmxlU3RhdGUuZmlyc3RFbnRyeU51bSA9IG9iajsKICAgICAgICAgIHRhYmxlU3RhdGUuZW50cnlDb3VudCA9IHBhcnNlci5nZXRPYmooKTsKICAgICAgICB9CgogICAgICAgIHZhciBmaXJzdCA9IHRhYmxlU3RhdGUuZmlyc3RFbnRyeU51bTsKICAgICAgICB2YXIgY291bnQgPSB0YWJsZVN0YXRlLmVudHJ5Q291bnQ7CiAgICAgICAgaWYgKCFpc0ludChmaXJzdCkgfHwgIWlzSW50KGNvdW50KSkgewogICAgICAgICAgZXJyb3IoJ0ludmFsaWQgWFJlZiB0YWJsZTogd3JvbmcgdHlwZXMgaW4gc3Vic2VjdGlvbiBoZWFkZXInKTsKICAgICAgICB9CiAgICAgICAgLy8gSW5uZXIgbG9vcCBpcyBvdmVyIG9iamVjdHMgdGhlbXNlbHZlcwogICAgICAgIGZvciAodmFyIGkgPSB0YWJsZVN0YXRlLmVudHJ5TnVtOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICAgdGFibGVTdGF0ZS5zdHJlYW1Qb3MgPSBzdHJlYW0ucG9zOwogICAgICAgICAgdGFibGVTdGF0ZS5lbnRyeU51bSA9IGk7CiAgICAgICAgICB0YWJsZVN0YXRlLnBhcnNlckJ1ZjEgPSBwYXJzZXIuYnVmMTsKICAgICAgICAgIHRhYmxlU3RhdGUucGFyc2VyQnVmMiA9IHBhcnNlci5idWYyOwoKICAgICAgICAgIHZhciBlbnRyeSA9IHt9OwogICAgICAgICAgZW50cnkub2Zmc2V0ID0gcGFyc2VyLmdldE9iaigpOwogICAgICAgICAgZW50cnkuZ2VuID0gcGFyc2VyLmdldE9iaigpOwogICAgICAgICAgdmFyIHR5cGUgPSBwYXJzZXIuZ2V0T2JqKCk7CgogICAgICAgICAgaWYgKGlzQ21kKHR5cGUsICdmJykpIHsKICAgICAgICAgICAgZW50cnkuZnJlZSA9IHRydWU7CiAgICAgICAgICB9IGVsc2UgaWYgKGlzQ21kKHR5cGUsICduJykpIHsKICAgICAgICAgICAgZW50cnkudW5jb21wcmVzc2VkID0gdHJ1ZTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBWYWxpZGF0ZSBlbnRyeSBvYmoKICAgICAgICAgIGlmICghaXNJbnQoZW50cnkub2Zmc2V0KSB8fCAhaXNJbnQoZW50cnkuZ2VuKSB8fAogICAgICAgICAgICAgICEoZW50cnkuZnJlZSB8fCBlbnRyeS51bmNvbXByZXNzZWQpKSB7CiAgICAgICAgICAgIGVycm9yKCdJbnZhbGlkIGVudHJ5IGluIFhSZWYgc3Vic2VjdGlvbjogJyArIGZpcnN0ICsgJywgJyArIGNvdW50KTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoIXRoaXMuZW50cmllc1tpICsgZmlyc3RdKSB7CiAgICAgICAgICAgIHRoaXMuZW50cmllc1tpICsgZmlyc3RdID0gZW50cnk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0YWJsZVN0YXRlLmVudHJ5TnVtID0gMDsKICAgICAgICB0YWJsZVN0YXRlLnN0cmVhbVBvcyA9IHN0cmVhbS5wb3M7CiAgICAgICAgdGFibGVTdGF0ZS5wYXJzZXJCdWYxID0gcGFyc2VyLmJ1ZjE7CiAgICAgICAgdGFibGVTdGF0ZS5wYXJzZXJCdWYyID0gcGFyc2VyLmJ1ZjI7CiAgICAgICAgZGVsZXRlIHRhYmxlU3RhdGUuZmlyc3RFbnRyeU51bTsKICAgICAgICBkZWxldGUgdGFibGVTdGF0ZS5lbnRyeUNvdW50OwogICAgICB9CgogICAgICAvLyBQZXIgaXNzdWUgMzI0ODogaHAgc2Nhbm5lcnMgZ2VuZXJhdGUgYmFkIFhSZWYKICAgICAgaWYgKGZpcnN0ID09PSAxICYmIHRoaXMuZW50cmllc1sxXSAmJiB0aGlzLmVudHJpZXNbMV0uZnJlZSkgewogICAgICAgIC8vIHNoaWZ0aW5nIHRoZSBlbnRyaWVzCiAgICAgICAgdGhpcy5lbnRyaWVzLnNoaWZ0KCk7CiAgICAgIH0KCiAgICAgIC8vIFNhbml0eSBjaGVjazogYXMgcGVyIHNwZWMsIGZpcnN0IG9iamVjdCBtdXN0IGJlIGZyZWUKICAgICAgaWYgKHRoaXMuZW50cmllc1swXSAmJiAhdGhpcy5lbnRyaWVzWzBdLmZyZWUpIHsKICAgICAgICBlcnJvcignSW52YWxpZCBYUmVmIHRhYmxlOiB1bmV4cGVjdGVkIGZpcnN0IG9iamVjdCcpOwogICAgICB9CiAgICAgIHJldHVybiBvYmo7CiAgICB9LAoKICAgIHByb2Nlc3NYUmVmU3RyZWFtOiBmdW5jdGlvbiBYUmVmX3Byb2Nlc3NYUmVmU3RyZWFtKHN0cmVhbSkgewogICAgICBpZiAoISgnc3RyZWFtU3RhdGUnIGluIHRoaXMpKSB7CiAgICAgICAgLy8gU3RvcmVzIHN0YXRlIG9mIHRoZSBzdHJlYW0gYXMgd2UgcHJvY2VzcyBpdCBzbyB3ZSBjYW4gcmVzdW1lCiAgICAgICAgLy8gZnJvbSBtaWRkbGUgb2Ygc3RyZWFtIGluIGNhc2Ugb2YgbWlzc2luZyBkYXRhIGVycm9yCiAgICAgICAgdmFyIHN0cmVhbVBhcmFtZXRlcnMgPSBzdHJlYW0uZGljdDsKICAgICAgICB2YXIgYnl0ZVdpZHRocyA9IHN0cmVhbVBhcmFtZXRlcnMuZ2V0KCdXJyk7CiAgICAgICAgdmFyIHJhbmdlID0gc3RyZWFtUGFyYW1ldGVycy5nZXQoJ0luZGV4Jyk7CiAgICAgICAgaWYgKCFyYW5nZSkgewogICAgICAgICAgcmFuZ2UgPSBbMCwgc3RyZWFtUGFyYW1ldGVycy5nZXQoJ1NpemUnKV07CiAgICAgICAgfQoKICAgICAgICB0aGlzLnN0cmVhbVN0YXRlID0gewogICAgICAgICAgZW50cnlSYW5nZXM6IHJhbmdlLAogICAgICAgICAgYnl0ZVdpZHRoczogYnl0ZVdpZHRocywKICAgICAgICAgIGVudHJ5TnVtOiAwLAogICAgICAgICAgc3RyZWFtUG9zOiBzdHJlYW0ucG9zCiAgICAgICAgfTsKICAgICAgfQogICAgICB0aGlzLnJlYWRYUmVmU3RyZWFtKHN0cmVhbSk7CiAgICAgIGRlbGV0ZSB0aGlzLnN0cmVhbVN0YXRlOwoKICAgICAgcmV0dXJuIHN0cmVhbS5kaWN0OwogICAgfSwKCiAgICByZWFkWFJlZlN0cmVhbTogZnVuY3Rpb24gWFJlZl9yZWFkWFJlZlN0cmVhbShzdHJlYW0pIHsKICAgICAgdmFyIGksIGo7CiAgICAgIHZhciBzdHJlYW1TdGF0ZSA9IHRoaXMuc3RyZWFtU3RhdGU7CiAgICAgIHN0cmVhbS5wb3MgPSBzdHJlYW1TdGF0ZS5zdHJlYW1Qb3M7CgogICAgICB2YXIgYnl0ZVdpZHRocyA9IHN0cmVhbVN0YXRlLmJ5dGVXaWR0aHM7CiAgICAgIHZhciB0eXBlRmllbGRXaWR0aCA9IGJ5dGVXaWR0aHNbMF07CiAgICAgIHZhciBvZmZzZXRGaWVsZFdpZHRoID0gYnl0ZVdpZHRoc1sxXTsKICAgICAgdmFyIGdlbmVyYXRpb25GaWVsZFdpZHRoID0gYnl0ZVdpZHRoc1syXTsKCiAgICAgIHZhciBlbnRyeVJhbmdlcyA9IHN0cmVhbVN0YXRlLmVudHJ5UmFuZ2VzOwogICAgICB3aGlsZSAoZW50cnlSYW5nZXMubGVuZ3RoID4gMCkgewogICAgICAgIHZhciBmaXJzdCA9IGVudHJ5UmFuZ2VzWzBdOwogICAgICAgIHZhciBuID0gZW50cnlSYW5nZXNbMV07CgogICAgICAgIGlmICghaXNJbnQoZmlyc3QpIHx8ICFpc0ludChuKSkgewogICAgICAgICAgZXJyb3IoJ0ludmFsaWQgWFJlZiByYW5nZSBmaWVsZHM6ICcgKyBmaXJzdCArICcsICcgKyBuKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFpc0ludCh0eXBlRmllbGRXaWR0aCkgfHwgIWlzSW50KG9mZnNldEZpZWxkV2lkdGgpIHx8CiAgICAgICAgICAgICFpc0ludChnZW5lcmF0aW9uRmllbGRXaWR0aCkpIHsKICAgICAgICAgIGVycm9yKCdJbnZhbGlkIFhSZWYgZW50cnkgZmllbGRzIGxlbmd0aDogJyArIGZpcnN0ICsgJywgJyArIG4pOwogICAgICAgIH0KICAgICAgICBmb3IgKGkgPSBzdHJlYW1TdGF0ZS5lbnRyeU51bTsgaSA8IG47ICsraSkgewogICAgICAgICAgc3RyZWFtU3RhdGUuZW50cnlOdW0gPSBpOwogICAgICAgICAgc3RyZWFtU3RhdGUuc3RyZWFtUG9zID0gc3RyZWFtLnBvczsKCiAgICAgICAgICB2YXIgdHlwZSA9IDAsIG9mZnNldCA9IDAsIGdlbmVyYXRpb24gPSAwOwogICAgICAgICAgZm9yIChqID0gMDsgaiA8IHR5cGVGaWVsZFdpZHRoOyArK2opIHsKICAgICAgICAgICAgdHlwZSA9ICh0eXBlIDw8IDgpIHwgc3RyZWFtLmdldEJ5dGUoKTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIGlmIHR5cGUgZmllbGQgaXMgYWJzZW50LCBpdHMgZGVmYXVsdCB2YWx1ZSBpcyAxCiAgICAgICAgICBpZiAodHlwZUZpZWxkV2lkdGggPT09IDApIHsKICAgICAgICAgICAgdHlwZSA9IDE7CiAgICAgICAgICB9CiAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgb2Zmc2V0RmllbGRXaWR0aDsgKytqKSB7CiAgICAgICAgICAgIG9mZnNldCA9IChvZmZzZXQgPDwgOCkgfCBzdHJlYW0uZ2V0Qnl0ZSgpOwogICAgICAgICAgfQogICAgICAgICAgZm9yIChqID0gMDsgaiA8IGdlbmVyYXRpb25GaWVsZFdpZHRoOyArK2opIHsKICAgICAgICAgICAgZ2VuZXJhdGlvbiA9IChnZW5lcmF0aW9uIDw8IDgpIHwgc3RyZWFtLmdldEJ5dGUoKTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBlbnRyeSA9IHt9OwogICAgICAgICAgZW50cnkub2Zmc2V0ID0gb2Zmc2V0OwogICAgICAgICAgZW50cnkuZ2VuID0gZ2VuZXJhdGlvbjsKICAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgZW50cnkuZnJlZSA9IHRydWU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICBlbnRyeS51bmNvbXByZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgZXJyb3IoJ0ludmFsaWQgWFJlZiBlbnRyeSB0eXBlOiAnICsgdHlwZSk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoIXRoaXMuZW50cmllc1tmaXJzdCArIGldKSB7CiAgICAgICAgICAgIHRoaXMuZW50cmllc1tmaXJzdCArIGldID0gZW50cnk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBzdHJlYW1TdGF0ZS5lbnRyeU51bSA9IDA7CiAgICAgICAgc3RyZWFtU3RhdGUuc3RyZWFtUG9zID0gc3RyZWFtLnBvczsKICAgICAgICBlbnRyeVJhbmdlcy5zcGxpY2UoMCwgMik7CiAgICAgIH0KICAgIH0sCgogICAgaW5kZXhPYmplY3RzOiBmdW5jdGlvbiBYUmVmX2luZGV4T2JqZWN0cygpIHsKICAgICAgLy8gU2ltcGxlIHNjYW4gdGhyb3VnaCB0aGUgUERGIGNvbnRlbnQgdG8gZmluZCBvYmplY3RzLAogICAgICAvLyB0cmFpbGVycyBhbmQgWFJlZiBzdHJlYW1zLgogICAgICBmdW5jdGlvbiByZWFkVG9rZW4oZGF0YSwgb2Zmc2V0KSB7CiAgICAgICAgdmFyIHRva2VuID0gJycsIGNoID0gZGF0YVtvZmZzZXRdOwogICAgICAgIHdoaWxlIChjaCAhPT0gMTMgJiYgY2ggIT09IDEwKSB7CiAgICAgICAgICBpZiAoKytvZmZzZXQgPj0gZGF0YS5sZW5ndGgpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICB0b2tlbiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoKTsKICAgICAgICAgIGNoID0gZGF0YVtvZmZzZXRdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdG9rZW47CiAgICAgIH0KICAgICAgZnVuY3Rpb24gc2tpcFVudGlsKGRhdGEsIG9mZnNldCwgd2hhdCkgewogICAgICAgIHZhciBsZW5ndGggPSB3aGF0Lmxlbmd0aCwgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoOwogICAgICAgIHZhciBza2lwcGVkID0gMDsKICAgICAgICAvLyBmaW5kaW5nIGJ5dGUgc2VxdWVuY2UKICAgICAgICB3aGlsZSAob2Zmc2V0IDwgZGF0YUxlbmd0aCkgewogICAgICAgICAgdmFyIGkgPSAwOwogICAgICAgICAgd2hpbGUgKGkgPCBsZW5ndGggJiYgZGF0YVtvZmZzZXQgKyBpXSA9PT0gd2hhdFtpXSkgewogICAgICAgICAgICArK2k7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoaSA+PSBsZW5ndGgpIHsKICAgICAgICAgICAgYnJlYWs7IC8vIHNlcXVlbmNlIGZvdW5kCiAgICAgICAgICB9CiAgICAgICAgICBvZmZzZXQrKzsKICAgICAgICAgIHNraXBwZWQrKzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHNraXBwZWQ7CiAgICAgIH0KICAgICAgdmFyIHRyYWlsZXJCeXRlcyA9IG5ldyBVaW50OEFycmF5KFsxMTYsIDExNCwgOTcsIDEwNSwgMTA4LCAxMDEsIDExNF0pOwogICAgICB2YXIgc3RhcnR4cmVmQnl0ZXMgPSBuZXcgVWludDhBcnJheShbMTE1LCAxMTYsIDk3LCAxMTQsIDExNiwgMTIwLCAxMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMSwgMTAyXSk7CiAgICAgIHZhciBlbmRvYmpCeXRlcyA9IG5ldyBVaW50OEFycmF5KFsxMDEsIDExMCwgMTAwLCAxMTEsIDk4LCAxMDZdKTsKICAgICAgdmFyIHhyZWZCeXRlcyA9IG5ldyBVaW50OEFycmF5KFs0NywgODgsIDgyLCAxMDEsIDEwMl0pOwoKICAgICAgdmFyIHN0cmVhbSA9IHRoaXMuc3RyZWFtOwogICAgICBzdHJlYW0ucG9zID0gMDsKICAgICAgdmFyIGJ1ZmZlciA9IHN0cmVhbS5nZXRCeXRlcygpOwogICAgICB2YXIgcG9zaXRpb24gPSBzdHJlYW0uc3RhcnQsIGxlbmd0aCA9IGJ1ZmZlci5sZW5ndGg7CiAgICAgIHZhciB0cmFpbGVycyA9IFtdLCB4cmVmU3RtcyA9IFtdOwogICAgICB3aGlsZSAocG9zaXRpb24gPCBsZW5ndGgpIHsKICAgICAgICB2YXIgY2ggPSBidWZmZXJbcG9zaXRpb25dOwogICAgICAgIGlmIChjaCA9PT0gMzIgfHwgY2ggPT09IDkgfHwgY2ggPT09IDEzIHx8IGNoID09PSAxMCkgewogICAgICAgICAgKytwb3NpdGlvbjsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoY2ggPT09IDM3KSB7IC8vICUtY29tbWVudAogICAgICAgICAgZG8gewogICAgICAgICAgICArK3Bvc2l0aW9uOwogICAgICAgICAgICBpZiAocG9zaXRpb24gPj0gbGVuZ3RoKSB7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2ggPSBidWZmZXJbcG9zaXRpb25dOwogICAgICAgICAgfSB3aGlsZSAoY2ggIT09IDEzICYmIGNoICE9PSAxMCk7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIHRva2VuID0gcmVhZFRva2VuKGJ1ZmZlciwgcG9zaXRpb24pOwogICAgICAgIHZhciBtOwogICAgICAgIGlmICh0b2tlbiA9PT0gJ3hyZWYnKSB7CiAgICAgICAgICBwb3NpdGlvbiArPSBza2lwVW50aWwoYnVmZmVyLCBwb3NpdGlvbiwgdHJhaWxlckJ5dGVzKTsKICAgICAgICAgIHRyYWlsZXJzLnB1c2gocG9zaXRpb24pOwogICAgICAgICAgcG9zaXRpb24gKz0gc2tpcFVudGlsKGJ1ZmZlciwgcG9zaXRpb24sIHN0YXJ0eHJlZkJ5dGVzKTsKICAgICAgICB9IGVsc2UgaWYgKChtID0gL14oXGQrKVxzKyhcZCspXHMrb2JqXGIvLmV4ZWModG9rZW4pKSkgewogICAgICAgICAgdGhpcy5lbnRyaWVzW21bMV1dID0gewogICAgICAgICAgICBvZmZzZXQ6IHBvc2l0aW9uLAogICAgICAgICAgICBnZW46IG1bMl0gfCAwLAogICAgICAgICAgICB1bmNvbXByZXNzZWQ6IHRydWUKICAgICAgICAgIH07CgogICAgICAgICAgdmFyIGNvbnRlbnRMZW5ndGggPSBza2lwVW50aWwoYnVmZmVyLCBwb3NpdGlvbiwgZW5kb2JqQnl0ZXMpICsgNzsKICAgICAgICAgIHZhciBjb250ZW50ID0gYnVmZmVyLnN1YmFycmF5KHBvc2l0aW9uLCBwb3NpdGlvbiArIGNvbnRlbnRMZW5ndGgpOwoKICAgICAgICAgIC8vIGNoZWNraW5nIFhSZWYgc3RyZWFtIHN1c3BlY3QKICAgICAgICAgIC8vIChpdCBzaGFsbCBoYXZlICcvWFJlZicgYW5kIG5leHQgY2hhciBpcyBub3QgYSBsZXR0ZXIpCiAgICAgICAgICB2YXIgeHJlZlRhZ09mZnNldCA9IHNraXBVbnRpbChjb250ZW50LCAwLCB4cmVmQnl0ZXMpOwogICAgICAgICAgaWYgKHhyZWZUYWdPZmZzZXQgPCBjb250ZW50TGVuZ3RoICYmCiAgICAgICAgICAgICAgY29udGVudFt4cmVmVGFnT2Zmc2V0ICsgNV0gPCA2NCkgewogICAgICAgICAgICB4cmVmU3Rtcy5wdXNoKHBvc2l0aW9uKTsKICAgICAgICAgICAgdGhpcy54cmVmc3Rtc1twb3NpdGlvbl0gPSAxOyAvLyBkb24ndCByZWFkIGl0IHJlY3Vyc2l2ZWx5CiAgICAgICAgICB9CgogICAgICAgICAgcG9zaXRpb24gKz0gY29udGVudExlbmd0aDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcG9zaXRpb24gKz0gdG9rZW4ubGVuZ3RoICsgMTsKICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gcmVhZGluZyBYUmVmIHN0cmVhbXMKICAgICAgdmFyIGksIGlpOwogICAgICBmb3IgKGkgPSAwLCBpaSA9IHhyZWZTdG1zLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB0aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2goeHJlZlN0bXNbaV0pOwogICAgICAgIHRoaXMucmVhZFhSZWYoLyogcmVjb3ZlcnlNb2RlICovIHRydWUpOwogICAgICB9CiAgICAgIC8vIGZpbmRpbmcgbWFpbiB0cmFpbGVyCiAgICAgIHZhciBkaWN0OwogICAgICBmb3IgKGkgPSAwLCBpaSA9IHRyYWlsZXJzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICBzdHJlYW0ucG9zID0gdHJhaWxlcnNbaV07CiAgICAgICAgdmFyIHBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKHN0cmVhbSksIHRydWUsIHRoaXMpOwogICAgICAgIHZhciBvYmogPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgICAgaWYgKCFpc0NtZChvYmosICd0cmFpbGVyJykpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICAvLyByZWFkIHRoZSB0cmFpbGVyIGRpY3Rpb25hcnkKICAgICAgICBpZiAoIWlzRGljdChkaWN0ID0gcGFyc2VyLmdldE9iaigpKSkgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIC8vIHRha2luZyB0aGUgZmlyc3Qgb25lIHdpdGggJ0lEJwogICAgICAgIGlmIChkaWN0LmhhcygnSUQnKSkgewogICAgICAgICAgcmV0dXJuIGRpY3Q7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIG5vIHRhaWxlciB3aXRoICdJRCcsIHRha2luZyBsYXN0IG9uZSAoaWYgZXhpc3RzKQogICAgICBpZiAoZGljdCkgewogICAgICAgIHJldHVybiBkaWN0OwogICAgICB9CiAgICAgIC8vIG5vdGhpbmcgaGVscHMKICAgICAgLy8gY2FsbGluZyBlcnJvcigpIHdvdWxkIHJlamVjdCB3b3JrZXIgd2l0aCBhbiBVbmtub3duRXJyb3JFeGNlcHRpb24uCiAgICAgIHRocm93IG5ldyBJbnZhbGlkUERGRXhjZXB0aW9uKCdJbnZhbGlkIFBERiBzdHJ1Y3R1cmUnKTsKICAgIH0sCgogICAgcmVhZFhSZWY6IGZ1bmN0aW9uIFhSZWZfcmVhZFhSZWYocmVjb3ZlcnlNb2RlKSB7CiAgICAgIHZhciBzdHJlYW0gPSB0aGlzLnN0cmVhbTsKCiAgICAgIHRyeSB7CiAgICAgICAgd2hpbGUgKHRoaXMuc3RhcnRYUmVmUXVldWUubGVuZ3RoKSB7CiAgICAgICAgICB2YXIgc3RhcnRYUmVmID0gdGhpcy5zdGFydFhSZWZRdWV1ZVswXTsKCiAgICAgICAgICBzdHJlYW0ucG9zID0gc3RhcnRYUmVmICsgc3RyZWFtLnN0YXJ0OwoKICAgICAgICAgIHZhciBwYXJzZXIgPSBuZXcgUGFyc2VyKG5ldyBMZXhlcihzdHJlYW0pLCB0cnVlLCB0aGlzKTsKICAgICAgICAgIHZhciBvYmogPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgICAgICB2YXIgZGljdDsKCiAgICAgICAgICAvLyBHZXQgZGljdGlvbmFyeQogICAgICAgICAgaWYgKGlzQ21kKG9iaiwgJ3hyZWYnKSkgewogICAgICAgICAgICAvLyBQYXJzZSBlbmQtb2YtZmlsZSBYUmVmCiAgICAgICAgICAgIGRpY3QgPSB0aGlzLnByb2Nlc3NYUmVmVGFibGUocGFyc2VyKTsKICAgICAgICAgICAgaWYgKCF0aGlzLnRvcERpY3QpIHsKICAgICAgICAgICAgICB0aGlzLnRvcERpY3QgPSBkaWN0OwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBnZXQgb3RoZXIgWFJlZnMgJ1hSZWZTdG0nLCBpZiBhbnkKICAgICAgICAgICAgb2JqID0gZGljdC5nZXQoJ1hSZWZTdG0nKTsKICAgICAgICAgICAgaWYgKGlzSW50KG9iaikpIHsKICAgICAgICAgICAgICB2YXIgcG9zID0gb2JqOwogICAgICAgICAgICAgIC8vIGlnbm9yZSBwcmV2aW91c2x5IGxvYWRlZCB4cmVmIHN0cmVhbXMKICAgICAgICAgICAgICAvLyAocG9zc2libGUgaW5maW5pdGUgcmVjdXJzaW9uKQogICAgICAgICAgICAgIGlmICghKHBvcyBpbiB0aGlzLnhyZWZzdG1zKSkgewogICAgICAgICAgICAgICAgdGhpcy54cmVmc3Rtc1twb3NdID0gMTsKICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRYUmVmUXVldWUucHVzaChwb3MpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmIChpc0ludChvYmopKSB7CiAgICAgICAgICAgIC8vIFBhcnNlIGluLXN0cmVhbSBYUmVmCiAgICAgICAgICAgIGlmICghaXNJbnQocGFyc2VyLmdldE9iaigpKSB8fAogICAgICAgICAgICAgICAgIWlzQ21kKHBhcnNlci5nZXRPYmooKSwgJ29iaicpIHx8CiAgICAgICAgICAgICAgICAhaXNTdHJlYW0ob2JqID0gcGFyc2VyLmdldE9iaigpKSkgewogICAgICAgICAgICAgIGVycm9yKCdJbnZhbGlkIFhSZWYgc3RyZWFtJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZGljdCA9IHRoaXMucHJvY2Vzc1hSZWZTdHJlYW0ob2JqKTsKICAgICAgICAgICAgaWYgKCF0aGlzLnRvcERpY3QpIHsKICAgICAgICAgICAgICB0aGlzLnRvcERpY3QgPSBkaWN0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghZGljdCkgewogICAgICAgICAgICAgIGVycm9yKCdGYWlsZWQgdG8gcmVhZCBYUmVmIHN0cmVhbScpOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlcnJvcignSW52YWxpZCBYUmVmIHN0cmVhbSBoZWFkZXInKTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBSZWN1cnNpdmVseSBnZXQgcHJldmlvdXMgZGljdGlvbmFyeSwgaWYgYW55CiAgICAgICAgICBvYmogPSBkaWN0LmdldCgnUHJldicpOwogICAgICAgICAgaWYgKGlzSW50KG9iaikpIHsKICAgICAgICAgICAgdGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKG9iaik7CiAgICAgICAgICB9IGVsc2UgaWYgKGlzUmVmKG9iaikpIHsKICAgICAgICAgICAgLy8gVGhlIHNwZWMgc2F5cyBQcmV2IG11c3Qgbm90IGJlIGEgcmVmZXJlbmNlLCBpLmUuICIvUHJldiBOTk4iCiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBmYWxsYmFjayBmb3Igbm9uLWNvbXBsaWFudCBQREZzLCBpLmUuICIvUHJldiBOTk4gMCBSIgogICAgICAgICAgICB0aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2gob2JqLm51bSk7CiAgICAgICAgICB9CgogICAgICAgICAgdGhpcy5zdGFydFhSZWZRdWV1ZS5zaGlmdCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRoaXMudG9wRGljdDsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIGlmIChlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pIHsKICAgICAgICAgIHRocm93IGU7CiAgICAgICAgfQogICAgICAgIGluZm8oJyh3aGlsZSByZWFkaW5nIFhSZWYpOiAnICsgZSk7CiAgICAgIH0KCiAgICAgIGlmIChyZWNvdmVyeU1vZGUpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbigpOwogICAgfSwKCiAgICBnZXRFbnRyeTogZnVuY3Rpb24gWFJlZl9nZXRFbnRyeShpKSB7CiAgICAgIHZhciB4cmVmRW50cnkgPSB0aGlzLmVudHJpZXNbaV07CiAgICAgIGlmICh4cmVmRW50cnkgJiYgIXhyZWZFbnRyeS5mcmVlICYmIHhyZWZFbnRyeS5vZmZzZXQpIHsKICAgICAgICByZXR1cm4geHJlZkVudHJ5OwogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogICAgfSwKCiAgICBmZXRjaElmUmVmOiBmdW5jdGlvbiBYUmVmX2ZldGNoSWZSZWYob2JqKSB7CiAgICAgIGlmICghaXNSZWYob2JqKSkgewogICAgICAgIHJldHVybiBvYmo7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gob2JqKTsKICAgIH0sCgogICAgZmV0Y2g6IGZ1bmN0aW9uIFhSZWZfZmV0Y2gocmVmLCBzdXBwcmVzc0VuY3J5cHRpb24pIHsKICAgICAgYXNzZXJ0KGlzUmVmKHJlZiksICdyZWYgb2JqZWN0IGlzIG5vdCBhIHJlZmVyZW5jZScpOwogICAgICB2YXIgbnVtID0gcmVmLm51bTsKICAgICAgaWYgKG51bSBpbiB0aGlzLmNhY2hlKSB7CiAgICAgICAgdmFyIGNhY2hlRW50cnkgPSB0aGlzLmNhY2hlW251bV07CiAgICAgICAgcmV0dXJuIGNhY2hlRW50cnk7CiAgICAgIH0KCiAgICAgIHZhciB4cmVmRW50cnkgPSB0aGlzLmdldEVudHJ5KG51bSk7CgogICAgICAvLyB0aGUgcmVmZXJlbmNlZCBlbnRyeSBjYW4gYmUgZnJlZQogICAgICBpZiAoeHJlZkVudHJ5ID09PSBudWxsKSB7CiAgICAgICAgcmV0dXJuICh0aGlzLmNhY2hlW251bV0gPSBudWxsKTsKICAgICAgfQoKICAgICAgaWYgKHhyZWZFbnRyeS51bmNvbXByZXNzZWQpIHsKICAgICAgICB4cmVmRW50cnkgPSB0aGlzLmZldGNoVW5jb21wcmVzc2VkKHJlZiwgeHJlZkVudHJ5LCBzdXBwcmVzc0VuY3J5cHRpb24pOwogICAgICB9IGVsc2UgewogICAgICAgIHhyZWZFbnRyeSA9IHRoaXMuZmV0Y2hDb21wcmVzc2VkKHhyZWZFbnRyeSwgc3VwcHJlc3NFbmNyeXB0aW9uKTsKICAgICAgfQogICAgICBpZiAoaXNEaWN0KHhyZWZFbnRyeSkpewogICAgICAgIHhyZWZFbnRyeS5vYmpJZCA9IHJlZi50b1N0cmluZygpOwogICAgICB9IGVsc2UgaWYgKGlzU3RyZWFtKHhyZWZFbnRyeSkpIHsKICAgICAgICB4cmVmRW50cnkuZGljdC5vYmpJZCA9IHJlZi50b1N0cmluZygpOwogICAgICB9CiAgICAgIHJldHVybiB4cmVmRW50cnk7CiAgICB9LAoKICAgIGZldGNoVW5jb21wcmVzc2VkOiBmdW5jdGlvbiBYUmVmX2ZldGNoVW5jb21wcmVzc2VkKHJlZiwgeHJlZkVudHJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcHJlc3NFbmNyeXB0aW9uKSB7CiAgICAgIHZhciBnZW4gPSByZWYuZ2VuOwogICAgICB2YXIgbnVtID0gcmVmLm51bTsKICAgICAgaWYgKHhyZWZFbnRyeS5nZW4gIT09IGdlbikgewogICAgICAgIGVycm9yKCdpbmNvbnNpc3RlbnQgZ2VuZXJhdGlvbiBpbiBYUmVmJyk7CiAgICAgIH0KICAgICAgdmFyIHN0cmVhbSA9IHRoaXMuc3RyZWFtLm1ha2VTdWJTdHJlYW0oeHJlZkVudHJ5Lm9mZnNldCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RyZWFtLnN0YXJ0KTsKICAgICAgdmFyIHBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKHN0cmVhbSksIHRydWUsIHRoaXMpOwogICAgICB2YXIgb2JqMSA9IHBhcnNlci5nZXRPYmooKTsKICAgICAgdmFyIG9iajIgPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgIHZhciBvYmozID0gcGFyc2VyLmdldE9iaigpOwogICAgICBpZiAoIWlzSW50KG9iajEpIHx8IHBhcnNlSW50KG9iajEsIDEwKSAhPT0gbnVtIHx8CiAgICAgICAgICAhaXNJbnQob2JqMikgfHwgcGFyc2VJbnQob2JqMiwgMTApICE9PSBnZW4gfHwKICAgICAgICAgICFpc0NtZChvYmozKSkgewogICAgICAgIGVycm9yKCdiYWQgWFJlZiBlbnRyeScpOwogICAgICB9CiAgICAgIGlmICghaXNDbWQob2JqMywgJ29iaicpKSB7CiAgICAgICAgLy8gc29tZSBiYWQgUERGcyB1c2UgIm9iajEyMzQiIGFuZCByZWFsbHkgbWVhbiAxMjM0CiAgICAgICAgaWYgKG9iajMuY21kLmluZGV4T2YoJ29iaicpID09PSAwKSB7CiAgICAgICAgICBudW0gPSBwYXJzZUludChvYmozLmNtZC5zdWJzdHJpbmcoMyksIDEwKTsKICAgICAgICAgIGlmICghaXNOYU4obnVtKSkgewogICAgICAgICAgICByZXR1cm4gbnVtOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlcnJvcignYmFkIFhSZWYgZW50cnknKTsKICAgICAgfQogICAgICBpZiAodGhpcy5lbmNyeXB0ICYmICFzdXBwcmVzc0VuY3J5cHRpb24pIHsKICAgICAgICB4cmVmRW50cnkgPSBwYXJzZXIuZ2V0T2JqKHRoaXMuZW5jcnlwdC5jcmVhdGVDaXBoZXJUcmFuc2Zvcm0obnVtLCBnZW4pKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB4cmVmRW50cnkgPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgIH0KICAgICAgaWYgKCFpc1N0cmVhbSh4cmVmRW50cnkpKSB7CiAgICAgICAgdGhpcy5jYWNoZVtudW1dID0geHJlZkVudHJ5OwogICAgICB9CiAgICAgIHJldHVybiB4cmVmRW50cnk7CiAgICB9LAoKICAgIGZldGNoQ29tcHJlc3NlZDogZnVuY3Rpb24gWFJlZl9mZXRjaENvbXByZXNzZWQoeHJlZkVudHJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwcmVzc0VuY3J5cHRpb24pIHsKICAgICAgdmFyIHRhYmxlT2Zmc2V0ID0geHJlZkVudHJ5Lm9mZnNldDsKICAgICAgdmFyIHN0cmVhbSA9IHRoaXMuZmV0Y2gobmV3IFJlZih0YWJsZU9mZnNldCwgMCkpOwogICAgICBpZiAoIWlzU3RyZWFtKHN0cmVhbSkpIHsKICAgICAgICBlcnJvcignYmFkIE9ialN0bSBzdHJlYW0nKTsKICAgICAgfQogICAgICB2YXIgZmlyc3QgPSBzdHJlYW0uZGljdC5nZXQoJ0ZpcnN0Jyk7CiAgICAgIHZhciBuID0gc3RyZWFtLmRpY3QuZ2V0KCdOJyk7CiAgICAgIGlmICghaXNJbnQoZmlyc3QpIHx8ICFpc0ludChuKSkgewogICAgICAgIGVycm9yKCdpbnZhbGlkIGZpcnN0IGFuZCBuIHBhcmFtZXRlcnMgZm9yIE9ialN0bSBzdHJlYW0nKTsKICAgICAgfQogICAgICB2YXIgcGFyc2VyID0gbmV3IFBhcnNlcihuZXcgTGV4ZXIoc3RyZWFtKSwgZmFsc2UsIHRoaXMpOwogICAgICBwYXJzZXIuYWxsb3dTdHJlYW1zID0gdHJ1ZTsKICAgICAgdmFyIGksIGVudHJpZXMgPSBbXSwgbnVtLCBudW1zID0gW107CiAgICAgIC8vIHJlYWQgdGhlIG9iamVjdCBudW1iZXJzIHRvIHBvcHVsYXRlIGNhY2hlCiAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBudW0gPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICAgICAgaWYgKCFpc0ludChudW0pKSB7CiAgICAgICAgICBlcnJvcignaW52YWxpZCBvYmplY3QgbnVtYmVyIGluIHRoZSBPYmpTdG0gc3RyZWFtOiAnICsgbnVtKTsKICAgICAgICB9CiAgICAgICAgbnVtcy5wdXNoKG51bSk7CiAgICAgICAgdmFyIG9mZnNldCA9IHBhcnNlci5nZXRPYmooKTsKICAgICAgICBpZiAoIWlzSW50KG9mZnNldCkpIHsKICAgICAgICAgIGVycm9yKCdpbnZhbGlkIG9iamVjdCBvZmZzZXQgaW4gdGhlIE9ialN0bSBzdHJlYW06ICcgKyBvZmZzZXQpOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyByZWFkIHN0cmVhbSBvYmplY3RzIGZvciBjYWNoZQogICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgZW50cmllcy5wdXNoKHBhcnNlci5nZXRPYmooKSk7CiAgICAgICAgbnVtID0gbnVtc1tpXTsKICAgICAgICB2YXIgZW50cnkgPSB0aGlzLmVudHJpZXNbbnVtXTsKICAgICAgICBpZiAoZW50cnkgJiYgZW50cnkub2Zmc2V0ID09PSB0YWJsZU9mZnNldCAmJiBlbnRyeS5nZW4gPT09IGkpIHsKICAgICAgICAgIHRoaXMuY2FjaGVbbnVtXSA9IGVudHJpZXNbaV07CiAgICAgICAgfQogICAgICB9CiAgICAgIHhyZWZFbnRyeSA9IGVudHJpZXNbeHJlZkVudHJ5Lmdlbl07CiAgICAgIGlmICh4cmVmRW50cnkgPT09IHVuZGVmaW5lZCkgewogICAgICAgIGVycm9yKCdiYWQgWFJlZiBlbnRyeSBmb3IgY29tcHJlc3NlZCBvYmplY3QnKTsKICAgICAgfQogICAgICByZXR1cm4geHJlZkVudHJ5OwogICAgfSwKCiAgICBmZXRjaElmUmVmQXN5bmM6IGZ1bmN0aW9uIFhSZWZfZmV0Y2hJZlJlZkFzeW5jKG9iaikgewogICAgICBpZiAoIWlzUmVmKG9iaikpIHsKICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG9iaik7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hBc3luYyhvYmopOwogICAgfSwKCiAgICBmZXRjaEFzeW5jOiBmdW5jdGlvbiBYUmVmX2ZldGNoQXN5bmMocmVmLCBzdXBwcmVzc0VuY3J5cHRpb24pIHsKICAgICAgdmFyIHN0cmVhbU1hbmFnZXIgPSB0aGlzLnN0cmVhbS5tYW5hZ2VyOwogICAgICB2YXIgeHJlZiA9IHRoaXM7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiB0cnlGZXRjaChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICB0cnkgewogICAgICAgICAgcmVzb2x2ZSh4cmVmLmZldGNoKHJlZiwgc3VwcHJlc3NFbmNyeXB0aW9uKSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikgewogICAgICAgICAgICBzdHJlYW1NYW5hZ2VyLnJlcXVlc3RSYW5nZShlLmJlZ2luLCBlLmVuZCwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIHRyeUZldGNoKHJlc29sdmUsIHJlamVjdCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICByZWplY3QoZSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCgogICAgZ2V0Q2F0YWxvZ09iajogZnVuY3Rpb24gWFJlZl9nZXRDYXRhbG9nT2JqKCkgewogICAgICByZXR1cm4gdGhpcy5yb290OwogICAgfQogIH07CgogIHJldHVybiBYUmVmOwp9KSgpOwoKLyoqCiAqIEEgTmFtZVRyZWUgaXMgbGlrZSBhIERpY3QgYnV0IGhhcyBzb21lIGFkdmFudGFnZW91cyBwcm9wZXJ0aWVzLCBzZWUgdGhlCiAqIHNwZWMgKDcuOS42KSBmb3IgbW9yZSBkZXRhaWxzLgogKiBUT0RPOiBpbXBsZW1lbnQgYWxsIHRoZSBEaWN0IGZ1bmN0aW9ucyBhbmQgbWFrZSB0aGlzIG1vcmUgZWZmaWNlbnQuCiAqLwp2YXIgTmFtZVRyZWUgPSAoZnVuY3Rpb24gTmFtZVRyZWVDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE5hbWVUcmVlKHJvb3QsIHhyZWYpIHsKICAgIHRoaXMucm9vdCA9IHJvb3Q7CiAgICB0aGlzLnhyZWYgPSB4cmVmOwogIH0KCiAgTmFtZVRyZWUucHJvdG90eXBlID0gewogICAgZ2V0QWxsOiBmdW5jdGlvbiBOYW1lVHJlZV9nZXRBbGwoKSB7CiAgICAgIHZhciBkaWN0ID0ge307CiAgICAgIGlmICghdGhpcy5yb290KSB7CiAgICAgICAgcmV0dXJuIGRpY3Q7CiAgICAgIH0KICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgIC8vIHJlYWRpbmcgbmFtZSB0cmVlCiAgICAgIHZhciBwcm9jZXNzZWQgPSBuZXcgUmVmU2V0KCk7CiAgICAgIHByb2Nlc3NlZC5wdXQodGhpcy5yb290KTsKICAgICAgdmFyIHF1ZXVlID0gW3RoaXMucm9vdF07CiAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7CiAgICAgICAgdmFyIGksIG47CiAgICAgICAgdmFyIG9iaiA9IHhyZWYuZmV0Y2hJZlJlZihxdWV1ZS5zaGlmdCgpKTsKICAgICAgICBpZiAoIWlzRGljdChvYmopKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKG9iai5oYXMoJ0tpZHMnKSkgewogICAgICAgICAgdmFyIGtpZHMgPSBvYmouZ2V0KCdLaWRzJyk7CiAgICAgICAgICBmb3IgKGkgPSAwLCBuID0ga2lkcy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgdmFyIGtpZCA9IGtpZHNbaV07CiAgICAgICAgICAgIGlmIChwcm9jZXNzZWQuaGFzKGtpZCkpIHsKICAgICAgICAgICAgICBlcnJvcignaW52YWxpZCBkZXN0aW5hdGlvbnMnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBxdWV1ZS5wdXNoKGtpZCk7CiAgICAgICAgICAgIHByb2Nlc3NlZC5wdXQoa2lkKTsKICAgICAgICAgIH0KICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgbmFtZXMgPSBvYmouZ2V0KCdOYW1lcycpOwogICAgICAgIGlmIChuYW1lcykgewogICAgICAgICAgZm9yIChpID0gMCwgbiA9IG5hbWVzLmxlbmd0aDsgaSA8IG47IGkgKz0gMikgewogICAgICAgICAgICBkaWN0W25hbWVzW2ldXSA9IHhyZWYuZmV0Y2hJZlJlZihuYW1lc1tpICsgMV0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZGljdDsKICAgIH0sCgogICAgZ2V0OiBmdW5jdGlvbiBOYW1lVHJlZV9nZXQoZGVzdGluYXRpb25JZCkgewogICAgICBpZiAoIXRoaXMucm9vdCkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICB2YXIgeHJlZiA9IHRoaXMueHJlZjsKICAgICAgdmFyIGtpZHNPck5hbWVzID0geHJlZi5mZXRjaElmUmVmKHRoaXMucm9vdCk7CiAgICAgIHZhciBsb29wQ291bnQgPSAwOwogICAgICB2YXIgTUFYX05BTUVTX0xFVkVMUyA9IDEwOwogICAgICB2YXIgbCwgciwgbTsKCiAgICAgIC8vIFBlcmZvcm0gYSBiaW5hcnkgc2VhcmNoIHRvIHF1aWNrbHkgZmluZCB0aGUgZW50cnkgdGhhdAogICAgICAvLyBjb250YWlucyB0aGUgbmFtZWQgZGVzdGluYXRpb24gd2UgYXJlIGxvb2tpbmcgZm9yLgogICAgICB3aGlsZSAoa2lkc09yTmFtZXMuaGFzKCdLaWRzJykpIHsKICAgICAgICBsb29wQ291bnQrKzsKICAgICAgICBpZiAobG9vcENvdW50ID4gTUFYX05BTUVTX0xFVkVMUykgewogICAgICAgICAgd2FybignU2VhcmNoIGRlcHRoIGxpbWl0IGZvciBuYW1lZCBkZXN0aW9uYXRpb25zIGhhcyBiZWVuIHJlYWNoZWQuJyk7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBraWRzID0ga2lkc09yTmFtZXMuZ2V0KCdLaWRzJyk7CiAgICAgICAgaWYgKCFpc0FycmF5KGtpZHMpKSB7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIGwgPSAwOwogICAgICAgIHIgPSBraWRzLmxlbmd0aCAtIDE7CiAgICAgICAgd2hpbGUgKGwgPD0gcikgewogICAgICAgICAgbSA9IChsICsgcikgPj4gMTsKICAgICAgICAgIHZhciBraWQgPSB4cmVmLmZldGNoSWZSZWYoa2lkc1ttXSk7CiAgICAgICAgICB2YXIgbGltaXRzID0ga2lkLmdldCgnTGltaXRzJyk7CgogICAgICAgICAgaWYgKGRlc3RpbmF0aW9uSWQgPCBsaW1pdHNbMF0pIHsKICAgICAgICAgICAgciA9IG0gLSAxOwogICAgICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvbklkID4gbGltaXRzWzFdKSB7CiAgICAgICAgICAgIGwgPSBtICsgMTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGtpZHNPck5hbWVzID0geHJlZi5mZXRjaElmUmVmKGtpZHNbbV0pOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKGwgPiByKSB7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIElmIHdlIGdldCBoZXJlLCB0aGVuIHdlIGhhdmUgZm91bmQgdGhlIHJpZ2h0IGVudHJ5LiBOb3cKICAgICAgLy8gZ28gdGhyb3VnaCB0aGUgbmFtZWQgZGVzdGluYXRpb25zIGluIHRoZSBOYW1lZCBkaWN0aW9uYXJ5CiAgICAgIC8vIHVudGlsIHdlIGZpbmQgdGhlIGV4YWN0IGRlc3RpbmF0aW9uIHdlJ3JlIGxvb2tpbmcgZm9yLgogICAgICB2YXIgbmFtZXMgPSBraWRzT3JOYW1lcy5nZXQoJ05hbWVzJyk7CiAgICAgIGlmIChpc0FycmF5KG5hbWVzKSkgewogICAgICAgIC8vIFBlcmZvcm0gYSBiaW5hcnkgc2VhcmNoIHRvIHJlZHVjZSB0aGUgbG9va3VwIHRpbWUuCiAgICAgICAgbCA9IDA7CiAgICAgICAgciA9IG5hbWVzLmxlbmd0aCAtIDI7CiAgICAgICAgd2hpbGUgKGwgPD0gcikgewogICAgICAgICAgLy8gQ2hlY2sgb25seSBldmVuIGluZGljZXMgKDAsIDIsIDQsIC4uLikgYmVjYXVzZSB0aGUKICAgICAgICAgIC8vIG9kZCBpbmRpY2VzIGNvbnRhaW4gdGhlIGFjdHVhbCBEIGFycmF5LgogICAgICAgICAgbSA9IChsICsgcikgJiB+MTsKICAgICAgICAgIGlmIChkZXN0aW5hdGlvbklkIDwgbmFtZXNbbV0pIHsKICAgICAgICAgICAgciA9IG0gLSAyOwogICAgICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvbklkID4gbmFtZXNbbV0pIHsKICAgICAgICAgICAgbCA9IG0gKyAyOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHhyZWYuZmV0Y2hJZlJlZihuYW1lc1ttICsgMV0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9OwogIHJldHVybiBOYW1lVHJlZTsKfSkoKTsKCi8qKgogKiAiQSBQREYgZmlsZSBjYW4gcmVmZXIgdG8gdGhlIGNvbnRlbnRzIG9mIGFub3RoZXIgZmlsZSBieSB1c2luZyBhIEZpbGUKICogU3BlY2lmaWNhdGlvbiAoUERGIDEuMSkiLCBzZWUgdGhlIHNwZWMgKDcuMTEpIGZvciBtb3JlIGRldGFpbHMuCiAqIE5PVEU6IE9ubHkgZW1iZWRkZWQgZmlsZXMgYXJlIHN1cHBvcnRlZCAoYXMgcGFydCBvZiB0aGUgYXR0YWNobWVudHMgc3VwcG9ydCkKICogVE9ETzogc3VwcG9ydCB0aGUgJ1VSTCcgZmlsZSBzeXN0ZW0gKHdpdGggY2FjaGluZyBpZiAhL1YpLCBwb3J0YWJsZQogKiBjb2xsZWN0aW9ucyBhdHRyaWJ1dGVzIGFuZCByZWxhdGVkIGZpbGVzICgvUkYpCiAqLwp2YXIgRmlsZVNwZWMgPSAoZnVuY3Rpb24gRmlsZVNwZWNDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEZpbGVTcGVjKHJvb3QsIHhyZWYpIHsKICAgIGlmICghcm9vdCB8fCAhaXNEaWN0KHJvb3QpKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHRoaXMueHJlZiA9IHhyZWY7CiAgICB0aGlzLnJvb3QgPSByb290OwogICAgaWYgKHJvb3QuaGFzKCdGUycpKSB7CiAgICAgIHRoaXMuZnMgPSByb290LmdldCgnRlMnKTsKICAgIH0KICAgIHRoaXMuZGVzY3JpcHRpb24gPSByb290LmhhcygnRGVzYycpID8KICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ1RvUERGU3RyaW5nKHJvb3QuZ2V0KCdEZXNjJykpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICcnOwogICAgaWYgKHJvb3QuaGFzKCdSRicpKSB7CiAgICAgIHdhcm4oJ1JlbGF0ZWQgZmlsZSBzcGVjaWZpY2F0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCcpOwogICAgfQogICAgdGhpcy5jb250ZW50QXZhaWxhYmxlID0gdHJ1ZTsKICAgIGlmICghcm9vdC5oYXMoJ0VGJykpIHsKICAgICAgdGhpcy5jb250ZW50QXZhaWxhYmxlID0gZmFsc2U7CiAgICAgIHdhcm4oJ05vbi1lbWJlZGRlZCBmaWxlIHNwZWNpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkJyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwaWNrUGxhdGZvcm1JdGVtKGRpY3QpIHsKICAgIC8vIExvb2sgZm9yIHRoZSBmaWxlbmFtZSBpbiB0aGlzIG9yZGVyOgogICAgLy8gVUYsIEYsIFVuaXgsIE1hYywgRE9TCiAgICBpZiAoZGljdC5oYXMoJ1VGJykpIHsKICAgICAgcmV0dXJuIGRpY3QuZ2V0KCdVRicpOwogICAgfSBlbHNlIGlmIChkaWN0LmhhcygnRicpKSB7CiAgICAgIHJldHVybiBkaWN0LmdldCgnRicpOwogICAgfSBlbHNlIGlmIChkaWN0LmhhcygnVW5peCcpKSB7CiAgICAgIHJldHVybiBkaWN0LmdldCgnVW5peCcpOwogICAgfSBlbHNlIGlmIChkaWN0LmhhcygnTWFjJykpIHsKICAgICAgcmV0dXJuIGRpY3QuZ2V0KCdNYWMnKTsKICAgIH0gZWxzZSBpZiAoZGljdC5oYXMoJ0RPUycpKSB7CiAgICAgIHJldHVybiBkaWN0LmdldCgnRE9TJyk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIEZpbGVTcGVjLnByb3RvdHlwZSA9IHsKICAgIGdldCBmaWxlbmFtZSgpIHsKICAgICAgaWYgKCF0aGlzLl9maWxlbmFtZSAmJiB0aGlzLnJvb3QpIHsKICAgICAgICB2YXIgZmlsZW5hbWUgPSBwaWNrUGxhdGZvcm1JdGVtKHRoaXMucm9vdCkgfHwgJ3VubmFtZWQnOwogICAgICAgIHRoaXMuX2ZpbGVuYW1lID0gc3RyaW5nVG9QREZTdHJpbmcoZmlsZW5hbWUpLgogICAgICAgICAgcmVwbGFjZSgvXFxcXC9nLCAnXFwnKS4KICAgICAgICAgIHJlcGxhY2UoL1xcXC8vZywgJy8nKS4KICAgICAgICAgIHJlcGxhY2UoL1xcL2csICcvJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVuYW1lOwogICAgfSwKICAgIGdldCBjb250ZW50KCkgewogICAgICBpZiAoIXRoaXMuY29udGVudEF2YWlsYWJsZSkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICAgIGlmICghdGhpcy5jb250ZW50UmVmICYmIHRoaXMucm9vdCkgewogICAgICAgIHRoaXMuY29udGVudFJlZiA9IHBpY2tQbGF0Zm9ybUl0ZW0odGhpcy5yb290LmdldCgnRUYnKSk7CiAgICAgIH0KICAgICAgdmFyIGNvbnRlbnQgPSBudWxsOwogICAgICBpZiAodGhpcy5jb250ZW50UmVmKSB7CiAgICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgICAgdmFyIGZpbGVPYmogPSB4cmVmLmZldGNoSWZSZWYodGhpcy5jb250ZW50UmVmKTsKICAgICAgICBpZiAoZmlsZU9iaiAmJiBpc1N0cmVhbShmaWxlT2JqKSkgewogICAgICAgICAgY29udGVudCA9IGZpbGVPYmouZ2V0Qnl0ZXMoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgd2FybignRW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9uIHBvaW50cyB0byBub24tZXhpc3RpbmcvaW52YWxpZCAnICsKICAgICAgICAgICAgJ2NvbnRlbnQnKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgd2FybignRW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IGhhdmUgYSBjb250ZW50Jyk7CiAgICAgIH0KICAgICAgcmV0dXJuIGNvbnRlbnQ7CiAgICB9LAogICAgZ2V0IHNlcmlhbGl6YWJsZSgpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBmaWxlbmFtZTogdGhpcy5maWxlbmFtZSwKICAgICAgICBjb250ZW50OiB0aGlzLmNvbnRlbnQKICAgICAgfTsKICAgIH0KICB9OwogIHJldHVybiBGaWxlU3BlYzsKfSkoKTsKCi8qKgogKiBBIGhlbHBlciBmb3IgbG9hZGluZyBtaXNzaW5nIGRhdGEgaW4gb2JqZWN0IGdyYXBocy4gSXQgdHJhdmVyc2VzIHRoZSBncmFwaAogKiBkZXB0aCBmaXJzdCBhbmQgcXVldWVzIHVwIGFueSBvYmplY3RzIHRoYXQgaGF2ZSBtaXNzaW5nIGRhdGEuIE9uY2UgaXQgaGFzCiAqIGhhcyB0cmF2ZXJzZWQgYXMgbWFueSBvYmplY3RzIHRoYXQgYXJlIGF2YWlsYWJsZSBpdCBhdHRlbXB0cyB0byBidW5kbGUgdGhlCiAqIG1pc3NpbmcgZGF0YSByZXF1ZXN0cyBhbmQgdGhlbiByZXN1bWUgZnJvbSB0aGUgbm9kZXMgdGhhdCB3ZXJlbid0IHJlYWR5LgogKgogKiBOT1RFOiBJdCBwcm92aWRlcyBwcm90ZWN0aW9uIGZyb20gY2lyY3VsYXIgcmVmZXJlbmNlcyBieSBrZWVwaW5nIHRyYWNrIG9mCiAqIG9mIGxvYWRlZCByZWZlcmVuY2VzLiBIb3dldmVyLCB5b3UgbXVzdCBiZSBjYXJlZnVsIG5vdCB0byBsb2FkIGFueSBncmFwaHMKICogdGhhdCBoYXZlIHJlZmVyZW5jZXMgdG8gdGhlIGNhdGFsb2cgb3Igb3RoZXIgcGFnZXMgc2luY2UgdGhhdCB3aWxsIGNhdXNlIHRoZQogKiBlbnRpcmUgUERGIGRvY3VtZW50IG9iamVjdCBncmFwaCB0byBiZSB0cmF2ZXJzZWQuCiAqLwp2YXIgT2JqZWN0TG9hZGVyID0gKGZ1bmN0aW9uKCkgewogIGZ1bmN0aW9uIG1heUhhdmVDaGlsZHJlbih2YWx1ZSkgewogICAgcmV0dXJuIGlzUmVmKHZhbHVlKSB8fCBpc0RpY3QodmFsdWUpIHx8IGlzQXJyYXkodmFsdWUpIHx8IGlzU3RyZWFtKHZhbHVlKTsKICB9CgogIGZ1bmN0aW9uIGFkZENoaWxkcmVuKG5vZGUsIG5vZGVzVG9WaXNpdCkgewogICAgdmFyIHZhbHVlOwogICAgaWYgKGlzRGljdChub2RlKSB8fCBpc1N0cmVhbShub2RlKSkgewogICAgICB2YXIgbWFwOwogICAgICBpZiAoaXNEaWN0KG5vZGUpKSB7CiAgICAgICAgbWFwID0gbm9kZS5tYXA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbWFwID0gbm9kZS5kaWN0Lm1hcDsKICAgICAgfQogICAgICBmb3IgKHZhciBrZXkgaW4gbWFwKSB7CiAgICAgICAgdmFsdWUgPSBtYXBba2V5XTsKICAgICAgICBpZiAobWF5SGF2ZUNoaWxkcmVuKHZhbHVlKSkgewogICAgICAgICAgbm9kZXNUb1Zpc2l0LnB1c2godmFsdWUpOwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIGlmIChpc0FycmF5KG5vZGUpKSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IG5vZGUubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIHZhbHVlID0gbm9kZVtpXTsKICAgICAgICBpZiAobWF5SGF2ZUNoaWxkcmVuKHZhbHVlKSkgewogICAgICAgICAgbm9kZXNUb1Zpc2l0LnB1c2godmFsdWUpOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gT2JqZWN0TG9hZGVyKG9iaiwga2V5cywgeHJlZikgewogICAgdGhpcy5vYmogPSBvYmo7CiAgICB0aGlzLmtleXMgPSBrZXlzOwogICAgdGhpcy54cmVmID0geHJlZjsKICAgIHRoaXMucmVmU2V0ID0gbnVsbDsKICB9CgogIE9iamVjdExvYWRlci5wcm90b3R5cGUgPSB7CiAgICBsb2FkOiBmdW5jdGlvbiBPYmplY3RMb2FkZXJfbG9hZCgpIHsKICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXM7CiAgICAgIHRoaXMuY2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CiAgICAgIC8vIERvbid0IHdhbGsgdGhlIGdyYXBoIGlmIGFsbCB0aGUgZGF0YSBpcyBhbHJlYWR5IGxvYWRlZC4KICAgICAgaWYgKCEodGhpcy54cmVmLnN0cmVhbSBpbnN0YW5jZW9mIENodW5rZWRTdHJlYW0pIHx8CiAgICAgICAgICB0aGlzLnhyZWYuc3RyZWFtLmdldE1pc3NpbmdDaHVua3MoKS5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLmNhcGFiaWxpdHkucmVzb2x2ZSgpOwogICAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdHkucHJvbWlzZTsKICAgICAgfQoKICAgICAgdGhpcy5yZWZTZXQgPSBuZXcgUmVmU2V0KCk7CiAgICAgIC8vIFNldHVwIHRoZSBpbml0aWFsIG5vZGVzIHRvIHZpc2l0LgogICAgICB2YXIgbm9kZXNUb1Zpc2l0ID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewogICAgICAgIG5vZGVzVG9WaXNpdC5wdXNoKHRoaXMub2JqW2tleXNbaV1dKTsKICAgICAgfQoKICAgICAgdGhpcy53YWxrKG5vZGVzVG9WaXNpdCk7CiAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0sCgogICAgd2FsazogZnVuY3Rpb24gT2JqZWN0TG9hZGVyX3dhbGsobm9kZXNUb1Zpc2l0KSB7CiAgICAgIHZhciBub2Rlc1RvUmV2aXNpdCA9IFtdOwogICAgICB2YXIgcGVuZGluZ1JlcXVlc3RzID0gW107CiAgICAgIC8vIERGUyB3YWxrIG9mIHRoZSBvYmplY3QgZ3JhcGguCiAgICAgIHdoaWxlIChub2Rlc1RvVmlzaXQubGVuZ3RoKSB7CiAgICAgICAgdmFyIGN1cnJlbnROb2RlID0gbm9kZXNUb1Zpc2l0LnBvcCgpOwoKICAgICAgICAvLyBPbmx5IHJlZmVyZW5jZXMgb3IgY2h1bmtlZCBzdHJlYW1zIGNhbiBjYXVzZSBtaXNzaW5nIGRhdGEgZXhjZXB0aW9ucy4KICAgICAgICBpZiAoaXNSZWYoY3VycmVudE5vZGUpKSB7CiAgICAgICAgICAvLyBTa2lwIG5vZGVzIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gdmlzaXRlZC4KICAgICAgICAgIGlmICh0aGlzLnJlZlNldC5oYXMoY3VycmVudE5vZGUpKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHJlZiA9IGN1cnJlbnROb2RlOwogICAgICAgICAgICB0aGlzLnJlZlNldC5wdXQocmVmKTsKICAgICAgICAgICAgY3VycmVudE5vZGUgPSB0aGlzLnhyZWYuZmV0Y2goY3VycmVudE5vZGUpOwogICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBpZiAoIShlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKSB7CiAgICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBub2Rlc1RvUmV2aXNpdC5wdXNoKGN1cnJlbnROb2RlKTsKICAgICAgICAgICAgcGVuZGluZ1JlcXVlc3RzLnB1c2goeyBiZWdpbjogZS5iZWdpbiwgZW5kOiBlLmVuZCB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKGN1cnJlbnROb2RlICYmIGN1cnJlbnROb2RlLmdldEJhc2VTdHJlYW1zKSB7CiAgICAgICAgICB2YXIgYmFzZVN0cmVhbXMgPSBjdXJyZW50Tm9kZS5nZXRCYXNlU3RyZWFtcygpOwogICAgICAgICAgdmFyIGZvdW5kTWlzc2luZ0RhdGEgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmFzZVN0cmVhbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIHN0cmVhbSA9IGJhc2VTdHJlYW1zW2ldOwogICAgICAgICAgICBpZiAoc3RyZWFtLmdldE1pc3NpbmdDaHVua3MgJiYgc3RyZWFtLmdldE1pc3NpbmdDaHVua3MoKS5sZW5ndGgpIHsKICAgICAgICAgICAgICBmb3VuZE1pc3NpbmdEYXRhID0gdHJ1ZTsKICAgICAgICAgICAgICBwZW5kaW5nUmVxdWVzdHMucHVzaCh7CiAgICAgICAgICAgICAgICBiZWdpbjogc3RyZWFtLnN0YXJ0LAogICAgICAgICAgICAgICAgZW5kOiBzdHJlYW0uZW5kCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGlmIChmb3VuZE1pc3NpbmdEYXRhKSB7CiAgICAgICAgICAgIG5vZGVzVG9SZXZpc2l0LnB1c2goY3VycmVudE5vZGUpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgYWRkQ2hpbGRyZW4oY3VycmVudE5vZGUsIG5vZGVzVG9WaXNpdCk7CiAgICAgIH0KCiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdHMubGVuZ3RoKSB7CiAgICAgICAgdGhpcy54cmVmLnN0cmVhbS5tYW5hZ2VyLnJlcXVlc3RSYW5nZXMocGVuZGluZ1JlcXVlc3RzLAogICAgICAgICAgICBmdW5jdGlvbiBwZW5kaW5nUmVxdWVzdENhbGxiYWNrKCkgewogICAgICAgICAgbm9kZXNUb1Zpc2l0ID0gbm9kZXNUb1JldmlzaXQ7CiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzVG9SZXZpc2l0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1JldmlzaXRbaV07CiAgICAgICAgICAgIC8vIFJlbW92ZSBhbnkgcmVmZXJlbmNlIG5vZGVzIGZyb20gdGhlIGN1cnJyZW50IHJlZnNldCBzbyB0aGV5CiAgICAgICAgICAgIC8vIGFyZW4ndCBza2lwcGVkIHdoZW4gd2UgcmV2aXN0IHRoZW0uCiAgICAgICAgICAgIGlmIChpc1JlZihub2RlKSkgewogICAgICAgICAgICAgIHRoaXMucmVmU2V0LnJlbW92ZShub2RlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgdGhpcy53YWxrKG5vZGVzVG9WaXNpdCk7CiAgICAgICAgfS5iaW5kKHRoaXMpKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgLy8gRXZlcnl0aGluZyBpcyBsb2FkZWQuCiAgICAgIHRoaXMucmVmU2V0ID0gbnVsbDsKICAgICAgdGhpcy5jYXBhYmlsaXR5LnJlc29sdmUoKTsKICAgIH0KICB9OwoKICByZXR1cm4gT2JqZWN0TG9hZGVyOwp9KSgpOwoKCnZhciBJU09BZG9iZUNoYXJzZXQgPSBbCiAgJy5ub3RkZWYnLCAnc3BhY2UnLCAnZXhjbGFtJywgJ3F1b3RlZGJsJywgJ251bWJlcnNpZ24nLCAnZG9sbGFyJywKICAncGVyY2VudCcsICdhbXBlcnNhbmQnLCAncXVvdGVyaWdodCcsICdwYXJlbmxlZnQnLCAncGFyZW5yaWdodCcsCiAgJ2FzdGVyaXNrJywgJ3BsdXMnLCAnY29tbWEnLCAnaHlwaGVuJywgJ3BlcmlvZCcsICdzbGFzaCcsICd6ZXJvJywKICAnb25lJywgJ3R3bycsICd0aHJlZScsICdmb3VyJywgJ2ZpdmUnLCAnc2l4JywgJ3NldmVuJywgJ2VpZ2h0JywKICAnbmluZScsICdjb2xvbicsICdzZW1pY29sb24nLCAnbGVzcycsICdlcXVhbCcsICdncmVhdGVyJywgJ3F1ZXN0aW9uJywKICAnYXQnLCAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywgJ0knLCAnSicsICdLJywgJ0wnLCAnTScsCiAgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLAogICdicmFja2V0bGVmdCcsICdiYWNrc2xhc2gnLCAnYnJhY2tldHJpZ2h0JywgJ2FzY2lpY2lyY3VtJywgJ3VuZGVyc2NvcmUnLAogICdxdW90ZWxlZnQnLCAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLAogICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLAogICdicmFjZWxlZnQnLCAnYmFyJywgJ2JyYWNlcmlnaHQnLCAnYXNjaWl0aWxkZScsICdleGNsYW1kb3duJywgJ2NlbnQnLAogICdzdGVybGluZycsICdmcmFjdGlvbicsICd5ZW4nLCAnZmxvcmluJywgJ3NlY3Rpb24nLCAnY3VycmVuY3knLAogICdxdW90ZXNpbmdsZScsICdxdW90ZWRibGxlZnQnLCAnZ3VpbGxlbW90bGVmdCcsICdndWlsc2luZ2xsZWZ0JywKICAnZ3VpbHNpbmdscmlnaHQnLCAnZmknLCAnZmwnLCAnZW5kYXNoJywgJ2RhZ2dlcicsICdkYWdnZXJkYmwnLAogICdwZXJpb2RjZW50ZXJlZCcsICdwYXJhZ3JhcGgnLCAnYnVsbGV0JywgJ3F1b3Rlc2luZ2xiYXNlJywKICAncXVvdGVkYmxiYXNlJywgJ3F1b3RlZGJscmlnaHQnLCAnZ3VpbGxlbW90cmlnaHQnLCAnZWxsaXBzaXMnLAogICdwZXJ0aG91c2FuZCcsICdxdWVzdGlvbmRvd24nLCAnZ3JhdmUnLCAnYWN1dGUnLCAnY2lyY3VtZmxleCcsICd0aWxkZScsCiAgJ21hY3JvbicsICdicmV2ZScsICdkb3RhY2NlbnQnLCAnZGllcmVzaXMnLCAncmluZycsICdjZWRpbGxhJywKICAnaHVuZ2FydW1sYXV0JywgJ29nb25laycsICdjYXJvbicsICdlbWRhc2gnLCAnQUUnLCAnb3JkZmVtaW5pbmUnLAogICdMc2xhc2gnLCAnT3NsYXNoJywgJ09FJywgJ29yZG1hc2N1bGluZScsICdhZScsICdkb3RsZXNzaScsICdsc2xhc2gnLAogICdvc2xhc2gnLCAnb2UnLCAnZ2VybWFuZGJscycsICdvbmVzdXBlcmlvcicsICdsb2dpY2Fsbm90JywgJ211JywKICAndHJhZGVtYXJrJywgJ0V0aCcsICdvbmVoYWxmJywgJ3BsdXNtaW51cycsICdUaG9ybicsICdvbmVxdWFydGVyJywKICAnZGl2aWRlJywgJ2Jyb2tlbmJhcicsICdkZWdyZWUnLCAndGhvcm4nLCAndGhyZWVxdWFydGVycycsICd0d29zdXBlcmlvcicsCiAgJ3JlZ2lzdGVyZWQnLCAnbWludXMnLCAnZXRoJywgJ211bHRpcGx5JywgJ3RocmVlc3VwZXJpb3InLCAnY29weXJpZ2h0JywKICAnQWFjdXRlJywgJ0FjaXJjdW1mbGV4JywgJ0FkaWVyZXNpcycsICdBZ3JhdmUnLCAnQXJpbmcnLCAnQXRpbGRlJywKICAnQ2NlZGlsbGEnLCAnRWFjdXRlJywgJ0VjaXJjdW1mbGV4JywgJ0VkaWVyZXNpcycsICdFZ3JhdmUnLCAnSWFjdXRlJywKICAnSWNpcmN1bWZsZXgnLCAnSWRpZXJlc2lzJywgJ0lncmF2ZScsICdOdGlsZGUnLCAnT2FjdXRlJywgJ09jaXJjdW1mbGV4JywKICAnT2RpZXJlc2lzJywgJ09ncmF2ZScsICdPdGlsZGUnLCAnU2Nhcm9uJywgJ1VhY3V0ZScsICdVY2lyY3VtZmxleCcsCiAgJ1VkaWVyZXNpcycsICdVZ3JhdmUnLCAnWWFjdXRlJywgJ1lkaWVyZXNpcycsICdaY2Fyb24nLCAnYWFjdXRlJywKICAnYWNpcmN1bWZsZXgnLCAnYWRpZXJlc2lzJywgJ2FncmF2ZScsICdhcmluZycsICdhdGlsZGUnLCAnY2NlZGlsbGEnLAogICdlYWN1dGUnLCAnZWNpcmN1bWZsZXgnLCAnZWRpZXJlc2lzJywgJ2VncmF2ZScsICdpYWN1dGUnLCAnaWNpcmN1bWZsZXgnLAogICdpZGllcmVzaXMnLCAnaWdyYXZlJywgJ250aWxkZScsICdvYWN1dGUnLCAnb2NpcmN1bWZsZXgnLCAnb2RpZXJlc2lzJywKICAnb2dyYXZlJywgJ290aWxkZScsICdzY2Fyb24nLCAndWFjdXRlJywgJ3VjaXJjdW1mbGV4JywgJ3VkaWVyZXNpcycsCiAgJ3VncmF2ZScsICd5YWN1dGUnLCAneWRpZXJlc2lzJywgJ3pjYXJvbicKXTsKCnZhciBFeHBlcnRDaGFyc2V0ID0gWwogICcubm90ZGVmJywgJ3NwYWNlJywgJ2V4Y2xhbXNtYWxsJywgJ0h1bmdhcnVtbGF1dHNtYWxsJywgJ2RvbGxhcm9sZHN0eWxlJywKICAnZG9sbGFyc3VwZXJpb3InLCAnYW1wZXJzYW5kc21hbGwnLCAnQWN1dGVzbWFsbCcsICdwYXJlbmxlZnRzdXBlcmlvcicsCiAgJ3BhcmVucmlnaHRzdXBlcmlvcicsICd0d29kb3RlbmxlYWRlcicsICdvbmVkb3RlbmxlYWRlcicsICdjb21tYScsCiAgJ2h5cGhlbicsICdwZXJpb2QnLCAnZnJhY3Rpb24nLCAnemVyb29sZHN0eWxlJywgJ29uZW9sZHN0eWxlJywKICAndHdvb2xkc3R5bGUnLCAndGhyZWVvbGRzdHlsZScsICdmb3Vyb2xkc3R5bGUnLCAnZml2ZW9sZHN0eWxlJywKICAnc2l4b2xkc3R5bGUnLCAnc2V2ZW5vbGRzdHlsZScsICdlaWdodG9sZHN0eWxlJywgJ25pbmVvbGRzdHlsZScsCiAgJ2NvbG9uJywgJ3NlbWljb2xvbicsICdjb21tYXN1cGVyaW9yJywgJ3RocmVlcXVhcnRlcnNlbWRhc2gnLAogICdwZXJpb2RzdXBlcmlvcicsICdxdWVzdGlvbnNtYWxsJywgJ2FzdXBlcmlvcicsICdic3VwZXJpb3InLAogICdjZW50c3VwZXJpb3InLCAnZHN1cGVyaW9yJywgJ2VzdXBlcmlvcicsICdpc3VwZXJpb3InLCAnbHN1cGVyaW9yJywKICAnbXN1cGVyaW9yJywgJ25zdXBlcmlvcicsICdvc3VwZXJpb3InLCAncnN1cGVyaW9yJywgJ3NzdXBlcmlvcicsCiAgJ3RzdXBlcmlvcicsICdmZicsICdmaScsICdmbCcsICdmZmknLCAnZmZsJywgJ3BhcmVubGVmdGluZmVyaW9yJywKICAncGFyZW5yaWdodGluZmVyaW9yJywgJ0NpcmN1bWZsZXhzbWFsbCcsICdoeXBoZW5zdXBlcmlvcicsICdHcmF2ZXNtYWxsJywKICAnQXNtYWxsJywgJ0JzbWFsbCcsICdDc21hbGwnLCAnRHNtYWxsJywgJ0VzbWFsbCcsICdGc21hbGwnLCAnR3NtYWxsJywKICAnSHNtYWxsJywgJ0lzbWFsbCcsICdKc21hbGwnLCAnS3NtYWxsJywgJ0xzbWFsbCcsICdNc21hbGwnLCAnTnNtYWxsJywKICAnT3NtYWxsJywgJ1BzbWFsbCcsICdRc21hbGwnLCAnUnNtYWxsJywgJ1NzbWFsbCcsICdUc21hbGwnLCAnVXNtYWxsJywKICAnVnNtYWxsJywgJ1dzbWFsbCcsICdYc21hbGwnLCAnWXNtYWxsJywgJ1pzbWFsbCcsICdjb2xvbm1vbmV0YXJ5JywKICAnb25lZml0dGVkJywgJ3J1cGlhaCcsICdUaWxkZXNtYWxsJywgJ2V4Y2xhbWRvd25zbWFsbCcsICdjZW50b2xkc3R5bGUnLAogICdMc2xhc2hzbWFsbCcsICdTY2Fyb25zbWFsbCcsICdaY2Fyb25zbWFsbCcsICdEaWVyZXNpc3NtYWxsJywKICAnQnJldmVzbWFsbCcsICdDYXJvbnNtYWxsJywgJ0RvdGFjY2VudHNtYWxsJywgJ01hY3JvbnNtYWxsJywKICAnZmlndXJlZGFzaCcsICdoeXBoZW5pbmZlcmlvcicsICdPZ29uZWtzbWFsbCcsICdSaW5nc21hbGwnLAogICdDZWRpbGxhc21hbGwnLCAnb25lcXVhcnRlcicsICdvbmVoYWxmJywgJ3RocmVlcXVhcnRlcnMnLAogICdxdWVzdGlvbmRvd25zbWFsbCcsICdvbmVlaWdodGgnLCAndGhyZWVlaWdodGhzJywgJ2ZpdmVlaWdodGhzJywKICAnc2V2ZW5laWdodGhzJywgJ29uZXRoaXJkJywgJ3R3b3RoaXJkcycsICd6ZXJvc3VwZXJpb3InLCAnb25lc3VwZXJpb3InLAogICd0d29zdXBlcmlvcicsICd0aHJlZXN1cGVyaW9yJywgJ2ZvdXJzdXBlcmlvcicsICdmaXZlc3VwZXJpb3InLAogICdzaXhzdXBlcmlvcicsICdzZXZlbnN1cGVyaW9yJywgJ2VpZ2h0c3VwZXJpb3InLCAnbmluZXN1cGVyaW9yJywKICAnemVyb2luZmVyaW9yJywgJ29uZWluZmVyaW9yJywgJ3R3b2luZmVyaW9yJywgJ3RocmVlaW5mZXJpb3InLAogICdmb3VyaW5mZXJpb3InLCAnZml2ZWluZmVyaW9yJywgJ3NpeGluZmVyaW9yJywgJ3NldmVuaW5mZXJpb3InLAogICdlaWdodGluZmVyaW9yJywgJ25pbmVpbmZlcmlvcicsICdjZW50aW5mZXJpb3InLCAnZG9sbGFyaW5mZXJpb3InLAogICdwZXJpb2RpbmZlcmlvcicsICdjb21tYWluZmVyaW9yJywgJ0FncmF2ZXNtYWxsJywgJ0FhY3V0ZXNtYWxsJywKICAnQWNpcmN1bWZsZXhzbWFsbCcsICdBdGlsZGVzbWFsbCcsICdBZGllcmVzaXNzbWFsbCcsICdBcmluZ3NtYWxsJywKICAnQUVzbWFsbCcsICdDY2VkaWxsYXNtYWxsJywgJ0VncmF2ZXNtYWxsJywgJ0VhY3V0ZXNtYWxsJywKICAnRWNpcmN1bWZsZXhzbWFsbCcsICdFZGllcmVzaXNzbWFsbCcsICdJZ3JhdmVzbWFsbCcsICdJYWN1dGVzbWFsbCcsCiAgJ0ljaXJjdW1mbGV4c21hbGwnLCAnSWRpZXJlc2lzc21hbGwnLCAnRXRoc21hbGwnLCAnTnRpbGRlc21hbGwnLAogICdPZ3JhdmVzbWFsbCcsICdPYWN1dGVzbWFsbCcsICdPY2lyY3VtZmxleHNtYWxsJywgJ090aWxkZXNtYWxsJywKICAnT2RpZXJlc2lzc21hbGwnLCAnT0VzbWFsbCcsICdPc2xhc2hzbWFsbCcsICdVZ3JhdmVzbWFsbCcsICdVYWN1dGVzbWFsbCcsCiAgJ1VjaXJjdW1mbGV4c21hbGwnLCAnVWRpZXJlc2lzc21hbGwnLCAnWWFjdXRlc21hbGwnLCAnVGhvcm5zbWFsbCcsCiAgJ1lkaWVyZXNpc3NtYWxsJwpdOwoKdmFyIEV4cGVydFN1YnNldENoYXJzZXQgPSBbCiAgJy5ub3RkZWYnLCAnc3BhY2UnLCAnZG9sbGFyb2xkc3R5bGUnLCAnZG9sbGFyc3VwZXJpb3InLAogICdwYXJlbmxlZnRzdXBlcmlvcicsICdwYXJlbnJpZ2h0c3VwZXJpb3InLCAndHdvZG90ZW5sZWFkZXInLAogICdvbmVkb3RlbmxlYWRlcicsICdjb21tYScsICdoeXBoZW4nLCAncGVyaW9kJywgJ2ZyYWN0aW9uJywKICAnemVyb29sZHN0eWxlJywgJ29uZW9sZHN0eWxlJywgJ3R3b29sZHN0eWxlJywgJ3RocmVlb2xkc3R5bGUnLAogICdmb3Vyb2xkc3R5bGUnLCAnZml2ZW9sZHN0eWxlJywgJ3NpeG9sZHN0eWxlJywgJ3NldmVub2xkc3R5bGUnLAogICdlaWdodG9sZHN0eWxlJywgJ25pbmVvbGRzdHlsZScsICdjb2xvbicsICdzZW1pY29sb24nLCAnY29tbWFzdXBlcmlvcicsCiAgJ3RocmVlcXVhcnRlcnNlbWRhc2gnLCAncGVyaW9kc3VwZXJpb3InLCAnYXN1cGVyaW9yJywgJ2JzdXBlcmlvcicsCiAgJ2NlbnRzdXBlcmlvcicsICdkc3VwZXJpb3InLCAnZXN1cGVyaW9yJywgJ2lzdXBlcmlvcicsICdsc3VwZXJpb3InLAogICdtc3VwZXJpb3InLCAnbnN1cGVyaW9yJywgJ29zdXBlcmlvcicsICdyc3VwZXJpb3InLCAnc3N1cGVyaW9yJywKICAndHN1cGVyaW9yJywgJ2ZmJywgJ2ZpJywgJ2ZsJywgJ2ZmaScsICdmZmwnLCAncGFyZW5sZWZ0aW5mZXJpb3InLAogICdwYXJlbnJpZ2h0aW5mZXJpb3InLCAnaHlwaGVuc3VwZXJpb3InLCAnY29sb25tb25ldGFyeScsICdvbmVmaXR0ZWQnLAogICdydXBpYWgnLCAnY2VudG9sZHN0eWxlJywgJ2ZpZ3VyZWRhc2gnLCAnaHlwaGVuaW5mZXJpb3InLCAnb25lcXVhcnRlcicsCiAgJ29uZWhhbGYnLCAndGhyZWVxdWFydGVycycsICdvbmVlaWdodGgnLCAndGhyZWVlaWdodGhzJywgJ2ZpdmVlaWdodGhzJywKICAnc2V2ZW5laWdodGhzJywgJ29uZXRoaXJkJywgJ3R3b3RoaXJkcycsICd6ZXJvc3VwZXJpb3InLCAnb25lc3VwZXJpb3InLAogICd0d29zdXBlcmlvcicsICd0aHJlZXN1cGVyaW9yJywgJ2ZvdXJzdXBlcmlvcicsICdmaXZlc3VwZXJpb3InLAogICdzaXhzdXBlcmlvcicsICdzZXZlbnN1cGVyaW9yJywgJ2VpZ2h0c3VwZXJpb3InLCAnbmluZXN1cGVyaW9yJywKICAnemVyb2luZmVyaW9yJywgJ29uZWluZmVyaW9yJywgJ3R3b2luZmVyaW9yJywgJ3RocmVlaW5mZXJpb3InLAogICdmb3VyaW5mZXJpb3InLCAnZml2ZWluZmVyaW9yJywgJ3NpeGluZmVyaW9yJywgJ3NldmVuaW5mZXJpb3InLAogICdlaWdodGluZmVyaW9yJywgJ25pbmVpbmZlcmlvcicsICdjZW50aW5mZXJpb3InLCAnZG9sbGFyaW5mZXJpb3InLAogICdwZXJpb2RpbmZlcmlvcicsICdjb21tYWluZmVyaW9yJwpdOwoKCnZhciBERUZBVUxUX0lDT05fU0laRSA9IDIyOyAvLyBweAp2YXIgU1VQUE9SVEVEX1RZUEVTID0gWydMaW5rJywgJ1RleHQnLCAnV2lkZ2V0J107Cgp2YXIgQW5ub3RhdGlvbiA9IChmdW5jdGlvbiBBbm5vdGF0aW9uQ2xvc3VyZSgpIHsKICAvLyAxMi41LjU6IEFsZ29yaXRobTogQXBwZWFyYW5jZSBzdHJlYW1zCiAgZnVuY3Rpb24gZ2V0VHJhbnNmb3JtTWF0cml4KHJlY3QsIGJib3gsIG1hdHJpeCkgewogICAgdmFyIGJvdW5kcyA9IFV0aWwuZ2V0QXhpYWxBbGlnbmVkQm91bmRpbmdCb3goYmJveCwgbWF0cml4KTsKICAgIHZhciBtaW5YID0gYm91bmRzWzBdOwogICAgdmFyIG1pblkgPSBib3VuZHNbMV07CiAgICB2YXIgbWF4WCA9IGJvdW5kc1syXTsKICAgIHZhciBtYXhZID0gYm91bmRzWzNdOwoKICAgIGlmIChtaW5YID09PSBtYXhYIHx8IG1pblkgPT09IG1heFkpIHsKICAgICAgLy8gRnJvbSByZWFsLWxpZmUgZmlsZSwgYmJveCB3YXMgWzAsIDAsIDAsIDBdLiBJbiB0aGlzIGNhc2UsCiAgICAgIC8vIGp1c3QgYXBwbHkgdGhlIHRyYW5zZm9ybSBmb3IgcmVjdAogICAgICByZXR1cm4gWzEsIDAsIDAsIDEsIHJlY3RbMF0sIHJlY3RbMV1dOwogICAgfQoKICAgIHZhciB4UmF0aW8gPSAocmVjdFsyXSAtIHJlY3RbMF0pIC8gKG1heFggLSBtaW5YKTsKICAgIHZhciB5UmF0aW8gPSAocmVjdFszXSAtIHJlY3RbMV0pIC8gKG1heFkgLSBtaW5ZKTsKICAgIHJldHVybiBbCiAgICAgIHhSYXRpbywKICAgICAgMCwKICAgICAgMCwKICAgICAgeVJhdGlvLAogICAgICByZWN0WzBdIC0gbWluWCAqIHhSYXRpbywKICAgICAgcmVjdFsxXSAtIG1pblkgKiB5UmF0aW8KICAgIF07CiAgfQoKICBmdW5jdGlvbiBnZXREZWZhdWx0QXBwZWFyYW5jZShkaWN0KSB7CiAgICB2YXIgYXBwZWFyYW5jZVN0YXRlID0gZGljdC5nZXQoJ0FQJyk7CiAgICBpZiAoIWlzRGljdChhcHBlYXJhbmNlU3RhdGUpKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgYXBwZWFyYW5jZTsKICAgIHZhciBhcHBlYXJhbmNlcyA9IGFwcGVhcmFuY2VTdGF0ZS5nZXQoJ04nKTsKICAgIGlmIChpc0RpY3QoYXBwZWFyYW5jZXMpKSB7CiAgICAgIHZhciBhcyA9IGRpY3QuZ2V0KCdBUycpOwogICAgICBpZiAoYXMgJiYgYXBwZWFyYW5jZXMuaGFzKGFzLm5hbWUpKSB7CiAgICAgICAgYXBwZWFyYW5jZSA9IGFwcGVhcmFuY2VzLmdldChhcy5uYW1lKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgYXBwZWFyYW5jZSA9IGFwcGVhcmFuY2VzOwogICAgfQogICAgcmV0dXJuIGFwcGVhcmFuY2U7CiAgfQoKICBmdW5jdGlvbiBBbm5vdGF0aW9uKHBhcmFtcykgewogICAgdmFyIGRpY3QgPSBwYXJhbXMuZGljdDsKICAgIHZhciBkYXRhID0gdGhpcy5kYXRhID0ge307CgogICAgZGF0YS5zdWJ0eXBlID0gZGljdC5nZXQoJ1N1YnR5cGUnKS5uYW1lOwogICAgdmFyIHJlY3QgPSBkaWN0LmdldCgnUmVjdCcpIHx8IFswLCAwLCAwLCAwXTsKICAgIGRhdGEucmVjdCA9IFV0aWwubm9ybWFsaXplUmVjdChyZWN0KTsKICAgIGRhdGEuYW5ub3RhdGlvbkZsYWdzID0gZGljdC5nZXQoJ0YnKTsKCiAgICB2YXIgY29sb3IgPSBkaWN0LmdldCgnQycpOwogICAgaWYgKCFjb2xvcikgewogICAgICAvLyBUaGUgUERGIHNwZWMgZG9lcyBub3QgbWVudGlvbiBob3cgYSBtaXNzaW5nIGNvbG9yIGFycmF5IGlzIGludGVycHJldGVkLgogICAgICAvLyBBZG9iZSBSZWFkZXIgc2VlbXMgdG8gZGVmYXVsdCB0byBibGFjayBpbiB0aGlzIGNhc2UuCiAgICAgIGRhdGEuY29sb3IgPSBbMCwgMCwgMF07CiAgICB9IGVsc2UgaWYgKGlzQXJyYXkoY29sb3IpKSB7CiAgICAgIHN3aXRjaCAoY29sb3IubGVuZ3RoKSB7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgLy8gRW1wdHkgYXJyYXkgZGVub3RlcyB0cmFuc3BhcmVudCBib3JkZXIuCiAgICAgICAgICBkYXRhLmNvbG9yID0gbnVsbDsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMToKICAgICAgICAgIC8vIFRPRE86IGltcGxlbWVudCBEZXZpY2VHcmF5CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDM6CiAgICAgICAgICBkYXRhLmNvbG9yID0gY29sb3I7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAvLyBUT0RPOiBpbXBsZW1lbnQgRGV2aWNlQ01ZSwogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICAvLyBTb21lIHR5cGVzIG9mIGFubm90YXRpb25zIGhhdmUgYm9yZGVyIHN0eWxlIGRpY3Qgd2hpY2ggaGFzIG1vcmUKICAgIC8vIGluZm8gdGhhbiB0aGUgYm9yZGVyIGFycmF5CiAgICBpZiAoZGljdC5oYXMoJ0JTJykpIHsKICAgICAgdmFyIGJvcmRlclN0eWxlID0gZGljdC5nZXQoJ0JTJyk7CiAgICAgIGRhdGEuYm9yZGVyV2lkdGggPSBib3JkZXJTdHlsZS5oYXMoJ1cnKSA/IGJvcmRlclN0eWxlLmdldCgnVycpIDogMTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBib3JkZXJBcnJheSA9IGRpY3QuZ2V0KCdCb3JkZXInKSB8fCBbMCwgMCwgMV07CiAgICAgIGRhdGEuYm9yZGVyV2lkdGggPSBib3JkZXJBcnJheVsyXSB8fCAwOwoKICAgICAgLy8gVE9ETzogaW1wbGVtZW50IHByb3BlciBzdXBwb3J0IGZvciBhbm5vdGF0aW9ucyB3aXRoIGxpbmUgZGFzaCBwYXR0ZXJucy4KICAgICAgdmFyIGRhc2hBcnJheSA9IGJvcmRlckFycmF5WzNdOwogICAgICBpZiAoZGF0YS5ib3JkZXJXaWR0aCA+IDAgJiYgZGFzaEFycmF5KSB7CiAgICAgICAgaWYgKCFpc0FycmF5KGRhc2hBcnJheSkpIHsKICAgICAgICAgIC8vIElnbm9yZSB0aGUgYm9yZGVyIGlmIGRhc2hBcnJheSBpcyBub3QgYWN0dWFsbHkgYW4gYXJyYXksCiAgICAgICAgICAvLyB0aGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgYmVoYXZpb3VyIGluIEFkb2JlIFJlYWRlci4KICAgICAgICAgIGRhdGEuYm9yZGVyV2lkdGggPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgZGFzaEFycmF5TGVuZ3RoID0gZGFzaEFycmF5Lmxlbmd0aDsKICAgICAgICAgIGlmIChkYXNoQXJyYXlMZW5ndGggPiAwKSB7CiAgICAgICAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgUERGIHNwZWNpZmljYXRpb246IHRoZSBlbGVtZW50cyBpbiBhIGRhc2hBcnJheQogICAgICAgICAgICAvLyBzaGFsbCBiZSBudW1iZXJzIHRoYXQgYXJlIG5vbm5lZ2F0aXZlIGFuZCBub3QgYWxsIGVxdWFsIHRvIHplcm8uCiAgICAgICAgICAgIHZhciBpc0ludmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgdmFyIG51bVBvc2l0aXZlID0gMDsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXNoQXJyYXlMZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHZhciB2YWxpZE51bWJlciA9ICgrZGFzaEFycmF5W2ldID49IDApOwogICAgICAgICAgICAgIGlmICghdmFsaWROdW1iZXIpIHsKICAgICAgICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhc2hBcnJheVtpXSA+IDApIHsKICAgICAgICAgICAgICAgIG51bVBvc2l0aXZlKys7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpc0ludmFsaWQgfHwgbnVtUG9zaXRpdmUgPT09IDApIHsKICAgICAgICAgICAgICBkYXRhLmJvcmRlcldpZHRoID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHRoaXMuYXBwZWFyYW5jZSA9IGdldERlZmF1bHRBcHBlYXJhbmNlKGRpY3QpOwogICAgZGF0YS5oYXNBcHBlYXJhbmNlID0gISF0aGlzLmFwcGVhcmFuY2U7CiAgICBkYXRhLmlkID0gcGFyYW1zLnJlZi5udW07CiAgfQoKICBBbm5vdGF0aW9uLnByb3RvdHlwZSA9IHsKCiAgICBnZXREYXRhOiBmdW5jdGlvbiBBbm5vdGF0aW9uX2dldERhdGEoKSB7CiAgICAgIHJldHVybiB0aGlzLmRhdGE7CiAgICB9LAoKICAgIGlzSW52aXNpYmxlOiBmdW5jdGlvbiBBbm5vdGF0aW9uX2lzSW52aXNpYmxlKCkgewogICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTsKICAgICAgaWYgKGRhdGEgJiYgU1VQUE9SVEVEX1RZUEVTLmluZGV4T2YoZGF0YS5zdWJ0eXBlKSAhPT0gLTEpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICEhKGRhdGEgJiYKICAgICAgICAgICAgICAgICAgZGF0YS5hbm5vdGF0aW9uRmxhZ3MgJiYgICAgICAgICAgICAvLyBEZWZhdWx0OiBub3QgaW52aXNpYmxlCiAgICAgICAgICAgICAgICAgIGRhdGEuYW5ub3RhdGlvbkZsYWdzICYgMHgxKTsgICAgICAgLy8gSW52aXNpYmxlCiAgICAgIH0KICAgIH0sCgogICAgaXNWaWV3YWJsZTogZnVuY3Rpb24gQW5ub3RhdGlvbl9pc1ZpZXdhYmxlKCkgewogICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTsKICAgICAgcmV0dXJuICEhKCF0aGlzLmlzSW52aXNpYmxlKCkgJiYKICAgICAgICAgICAgICAgIGRhdGEgJiYKICAgICAgICAgICAgICAgICghZGF0YS5hbm5vdGF0aW9uRmxhZ3MgfHwKICAgICAgICAgICAgICAgICAhKGRhdGEuYW5ub3RhdGlvbkZsYWdzICYgMHgyMikpICYmICAvLyBIaWRkZW4gb3IgTm9WaWV3CiAgICAgICAgICAgICAgICBkYXRhLnJlY3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVjdGFuZ2xlIGlzIG5lY2Vzc2FyeQogICAgfSwKCiAgICBpc1ByaW50YWJsZTogZnVuY3Rpb24gQW5ub3RhdGlvbl9pc1ByaW50YWJsZSgpIHsKICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7CiAgICAgIHJldHVybiAhISghdGhpcy5pc0ludmlzaWJsZSgpICYmCiAgICAgICAgICAgICAgICBkYXRhICYmCiAgICAgICAgICAgICAgICBkYXRhLmFubm90YXRpb25GbGFncyAmJiAgICAgICAgICAgICAgLy8gRGVmYXVsdDogbm90IHByaW50YWJsZQogICAgICAgICAgICAgICAgZGF0YS5hbm5vdGF0aW9uRmxhZ3MgJiAweDQgJiYgICAgICAgIC8vIFByaW50CiAgICAgICAgICAgICAgICAhKGRhdGEuYW5ub3RhdGlvbkZsYWdzICYgMHgyKSAmJiAgICAgLy8gSGlkZGVuCiAgICAgICAgICAgICAgICBkYXRhLnJlY3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVjdGFuZ2xlIGlzIG5lY2Vzc2FyeQogICAgfSwKCiAgICBsb2FkUmVzb3VyY2VzOiBmdW5jdGlvbiBBbm5vdGF0aW9uX2xvYWRSZXNvdXJjZXMoa2V5cykgewogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgIHRoaXMuYXBwZWFyYW5jZS5kaWN0LmdldEFzeW5jKCdSZXNvdXJjZXMnKS50aGVuKGZ1bmN0aW9uIChyZXNvdXJjZXMpIHsKICAgICAgICAgIGlmICghcmVzb3VyY2VzKSB7CiAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgdmFyIG9iamVjdExvYWRlciA9IG5ldyBPYmplY3RMb2FkZXIocmVzb3VyY2VzLm1hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXMueHJlZik7CiAgICAgICAgICBvYmplY3RMb2FkZXIubG9hZCgpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJlc29sdmUocmVzb3VyY2VzKTsKICAgICAgICAgIH0sIHJlamVjdCk7CiAgICAgICAgfSwgcmVqZWN0KTsKICAgICAgfS5iaW5kKHRoaXMpKTsKICAgIH0sCgogICAgZ2V0T3BlcmF0b3JMaXN0OiBmdW5jdGlvbiBBbm5vdGF0aW9uX2dldE9wZXJhdG9yTGlzdChldmFsdWF0b3IpIHsKCiAgICAgIGlmICghdGhpcy5hcHBlYXJhbmNlKSB7CiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgT3BlcmF0b3JMaXN0KCkpOwogICAgICB9CgogICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTsKCiAgICAgIHZhciBhcHBlYXJhbmNlRGljdCA9IHRoaXMuYXBwZWFyYW5jZS5kaWN0OwogICAgICB2YXIgcmVzb3VyY2VzUHJvbWlzZSA9IHRoaXMubG9hZFJlc291cmNlcyhbCiAgICAgICAgJ0V4dEdTdGF0ZScsCiAgICAgICAgJ0NvbG9yU3BhY2UnLAogICAgICAgICdQYXR0ZXJuJywKICAgICAgICAnU2hhZGluZycsCiAgICAgICAgJ1hPYmplY3QnLAogICAgICAgICdGb250JwogICAgICAgIC8vIFByb2NTZXQKICAgICAgICAvLyBQcm9wZXJ0aWVzCiAgICAgIF0pOwogICAgICB2YXIgYmJveCA9IGFwcGVhcmFuY2VEaWN0LmdldCgnQkJveCcpIHx8IFswLCAwLCAxLCAxXTsKICAgICAgdmFyIG1hdHJpeCA9IGFwcGVhcmFuY2VEaWN0LmdldCgnTWF0cml4JykgfHwgWzEsIDAsIDAsIDEsIDAgLDBdOwogICAgICB2YXIgdHJhbnNmb3JtID0gZ2V0VHJhbnNmb3JtTWF0cml4KGRhdGEucmVjdCwgYmJveCwgbWF0cml4KTsKICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgcmV0dXJuIHJlc291cmNlc1Byb21pc2UudGhlbihmdW5jdGlvbihyZXNvdXJjZXMpIHsKICAgICAgICAgIHZhciBvcExpc3QgPSBuZXcgT3BlcmF0b3JMaXN0KCk7CiAgICAgICAgICBvcExpc3QuYWRkT3AoT1BTLmJlZ2luQW5ub3RhdGlvbiwgW2RhdGEucmVjdCwgdHJhbnNmb3JtLCBtYXRyaXhdKTsKICAgICAgICAgIHJldHVybiBldmFsdWF0b3IuZ2V0T3BlcmF0b3JMaXN0KHNlbGYuYXBwZWFyYW5jZSwgcmVzb3VyY2VzLCBvcExpc3QpLgogICAgICAgICAgICB0aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBvcExpc3QuYWRkT3AoT1BTLmVuZEFubm90YXRpb24sIFtdKTsKICAgICAgICAgICAgICBzZWxmLmFwcGVhcmFuY2UucmVzZXQoKTsKICAgICAgICAgICAgICByZXR1cm4gb3BMaXN0OwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0KICB9OwoKICBBbm5vdGF0aW9uLmdldENvbnN0cnVjdG9yID0KICAgICAgZnVuY3Rpb24gQW5ub3RhdGlvbl9nZXRDb25zdHJ1Y3RvcihzdWJ0eXBlLCBmaWVsZFR5cGUpIHsKCiAgICBpZiAoIXN1YnR5cGUpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIFRPRE8obWFjayk6IEltcGxlbWVudCBGcmVlVGV4dCBhbm5vdGF0aW9ucwogICAgaWYgKHN1YnR5cGUgPT09ICdMaW5rJykgewogICAgICByZXR1cm4gTGlua0Fubm90YXRpb247CiAgICB9IGVsc2UgaWYgKHN1YnR5cGUgPT09ICdUZXh0JykgewogICAgICByZXR1cm4gVGV4dEFubm90YXRpb247CiAgICB9IGVsc2UgaWYgKHN1YnR5cGUgPT09ICdXaWRnZXQnKSB7CiAgICAgIGlmICghZmllbGRUeXBlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoZmllbGRUeXBlID09PSAnVHgnKSB7CiAgICAgICAgcmV0dXJuIFRleHRXaWRnZXRBbm5vdGF0aW9uOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBXaWRnZXRBbm5vdGF0aW9uOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gQW5ub3RhdGlvbjsKICAgIH0KICB9OwoKICBBbm5vdGF0aW9uLmZyb21SZWYgPSBmdW5jdGlvbiBBbm5vdGF0aW9uX2Zyb21SZWYoeHJlZiwgcmVmKSB7CgogICAgdmFyIGRpY3QgPSB4cmVmLmZldGNoSWZSZWYocmVmKTsKICAgIGlmICghaXNEaWN0KGRpY3QpKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgc3VidHlwZSA9IGRpY3QuZ2V0KCdTdWJ0eXBlJyk7CiAgICBzdWJ0eXBlID0gaXNOYW1lKHN1YnR5cGUpID8gc3VidHlwZS5uYW1lIDogJyc7CiAgICBpZiAoIXN1YnR5cGUpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBmaWVsZFR5cGUgPSBVdGlsLmdldEluaGVyaXRhYmxlUHJvcGVydHkoZGljdCwgJ0ZUJyk7CiAgICBmaWVsZFR5cGUgPSBpc05hbWUoZmllbGRUeXBlKSA/IGZpZWxkVHlwZS5uYW1lIDogJyc7CgogICAgdmFyIENvbnN0cnVjdG9yID0gQW5ub3RhdGlvbi5nZXRDb25zdHJ1Y3RvcihzdWJ0eXBlLCBmaWVsZFR5cGUpOwogICAgaWYgKCFDb25zdHJ1Y3RvcikgewogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIHBhcmFtcyA9IHsKICAgICAgZGljdDogZGljdCwKICAgICAgcmVmOiByZWYsCiAgICB9OwoKICAgIHZhciBhbm5vdGF0aW9uID0gbmV3IENvbnN0cnVjdG9yKHBhcmFtcyk7CgogICAgaWYgKGFubm90YXRpb24uaXNWaWV3YWJsZSgpIHx8IGFubm90YXRpb24uaXNQcmludGFibGUoKSkgewogICAgICByZXR1cm4gYW5ub3RhdGlvbjsKICAgIH0gZWxzZSB7CiAgICAgIGlmIChTVVBQT1JURURfVFlQRVMuaW5kZXhPZihzdWJ0eXBlKSA9PT0gLTEpIHsKICAgICAgICB3YXJuKCd1bmltcGxlbWVudGVkIGFubm90YXRpb24gdHlwZTogJyArIHN1YnR5cGUpOwogICAgICB9CiAgICB9CiAgfTsKCiAgQW5ub3RhdGlvbi5hcHBlbmRUb09wZXJhdG9yTGlzdCA9IGZ1bmN0aW9uIEFubm90YXRpb25fYXBwZW5kVG9PcGVyYXRvckxpc3QoCiAgICAgIGFubm90YXRpb25zLCBvcExpc3QsIHBkZk1hbmFnZXIsIHBhcnRpYWxFdmFsdWF0b3IsIGludGVudCkgewoKICAgIGZ1bmN0aW9uIHJlamVjdChlKSB7CiAgICAgIGFubm90YXRpb25zUmVhZHlDYXBhYmlsaXR5LnJlamVjdChlKTsKICAgIH0KCiAgICB2YXIgYW5ub3RhdGlvbnNSZWFkeUNhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgIHZhciBhbm5vdGF0aW9uUHJvbWlzZXMgPSBbXTsKICAgIGZvciAodmFyIGkgPSAwLCBuID0gYW5ub3RhdGlvbnMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgIGlmIChpbnRlbnQgPT09ICdkaXNwbGF5JyAmJiBhbm5vdGF0aW9uc1tpXS5pc1ZpZXdhYmxlKCkgfHwKICAgICAgICAgIGludGVudCA9PT0gJ3ByaW50JyAmJiBhbm5vdGF0aW9uc1tpXS5pc1ByaW50YWJsZSgpKSB7CiAgICAgICAgYW5ub3RhdGlvblByb21pc2VzLnB1c2goCiAgICAgICAgICBhbm5vdGF0aW9uc1tpXS5nZXRPcGVyYXRvckxpc3QocGFydGlhbEV2YWx1YXRvcikpOwogICAgICB9CiAgICB9CiAgICBQcm9taXNlLmFsbChhbm5vdGF0aW9uUHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24oZGF0YXMpIHsKICAgICAgb3BMaXN0LmFkZE9wKE9QUy5iZWdpbkFubm90YXRpb25zLCBbXSk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gZGF0YXMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgdmFyIGFubm90T3BMaXN0ID0gZGF0YXNbaV07CiAgICAgICAgb3BMaXN0LmFkZE9wTGlzdChhbm5vdE9wTGlzdCk7CiAgICAgIH0KICAgICAgb3BMaXN0LmFkZE9wKE9QUy5lbmRBbm5vdGF0aW9ucywgW10pOwogICAgICBhbm5vdGF0aW9uc1JlYWR5Q2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICB9LCByZWplY3QpOwoKICAgIHJldHVybiBhbm5vdGF0aW9uc1JlYWR5Q2FwYWJpbGl0eS5wcm9taXNlOwogIH07CgogIHJldHVybiBBbm5vdGF0aW9uOwp9KSgpOwoKdmFyIFdpZGdldEFubm90YXRpb24gPSAoZnVuY3Rpb24gV2lkZ2V0QW5ub3RhdGlvbkNsb3N1cmUoKSB7CgogIGZ1bmN0aW9uIFdpZGdldEFubm90YXRpb24ocGFyYW1zKSB7CiAgICBBbm5vdGF0aW9uLmNhbGwodGhpcywgcGFyYW1zKTsKCiAgICB2YXIgZGljdCA9IHBhcmFtcy5kaWN0OwogICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7CgogICAgZGF0YS5maWVsZFZhbHVlID0gc3RyaW5nVG9QREZTdHJpbmcoCiAgICAgIFV0aWwuZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShkaWN0LCAnVicpIHx8ICcnKTsKICAgIGRhdGEuYWx0ZXJuYXRpdmVUZXh0ID0gc3RyaW5nVG9QREZTdHJpbmcoZGljdC5nZXQoJ1RVJykgfHwgJycpOwogICAgZGF0YS5kZWZhdWx0QXBwZWFyYW5jZSA9IFV0aWwuZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShkaWN0LCAnREEnKSB8fCAnJzsKICAgIHZhciBmaWVsZFR5cGUgPSBVdGlsLmdldEluaGVyaXRhYmxlUHJvcGVydHkoZGljdCwgJ0ZUJyk7CiAgICBkYXRhLmZpZWxkVHlwZSA9IGlzTmFtZShmaWVsZFR5cGUpID8gZmllbGRUeXBlLm5hbWUgOiAnJzsKICAgIGRhdGEuZmllbGRGbGFncyA9IFV0aWwuZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShkaWN0LCAnRmYnKSB8fCAwOwogICAgdGhpcy5maWVsZFJlc291cmNlcyA9IFV0aWwuZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShkaWN0LCAnRFInKSB8fCBEaWN0LmVtcHR5OwoKICAgIC8vIEJ1aWxkaW5nIHRoZSBmdWxsIGZpZWxkIG5hbWUgYnkgY29sbGVjdGluZyB0aGUgZmllbGQgYW5kCiAgICAvLyBpdHMgYW5jZXN0b3JzICdUJyBkYXRhIGFuZCBqb2luaW5nIHRoZW0gdXNpbmcgJy4nLgogICAgdmFyIGZpZWxkTmFtZSA9IFtdOwogICAgdmFyIG5hbWVkSXRlbSA9IGRpY3Q7CiAgICB2YXIgcmVmID0gcGFyYW1zLnJlZjsKICAgIHdoaWxlIChuYW1lZEl0ZW0pIHsKICAgICAgdmFyIHBhcmVudCA9IG5hbWVkSXRlbS5nZXQoJ1BhcmVudCcpOwogICAgICB2YXIgcGFyZW50UmVmID0gbmFtZWRJdGVtLmdldFJhdygnUGFyZW50Jyk7CiAgICAgIHZhciBuYW1lID0gbmFtZWRJdGVtLmdldCgnVCcpOwogICAgICBpZiAobmFtZSkgewogICAgICAgIGZpZWxkTmFtZS51bnNoaWZ0KHN0cmluZ1RvUERGU3RyaW5nKG5hbWUpKTsKICAgICAgfSBlbHNlIGlmIChwYXJlbnQgJiYgcmVmKSB7CiAgICAgICAgLy8gVGhlIGZpZWxkIG5hbWUgaXMgYWJzZW50LCB0aGF0IG1lYW5zIG1vcmUgdGhhbiBvbmUgZmllbGQKICAgICAgICAvLyB3aXRoIHRoZSBzYW1lIG5hbWUgbWF5IGV4aXN0LiBSZXBsYWNpbmcgdGhlIGVtcHR5IG5hbWUKICAgICAgICAvLyB3aXRoIHRoZSAnYCcgcGx1cyBpbmRleCBpbiB0aGUgcGFyZW50J3MgJ0tpZHMnIGFycmF5LgogICAgICAgIC8vIFRoaXMgaXMgbm90IGluIHRoZSBQREYgc3BlYyBidXQgbmVjZXNzYXJ5IHRvIGlkIHRoZQogICAgICAgIC8vIHRoZSBpbnB1dCBjb250cm9scy4KICAgICAgICB2YXIga2lkcyA9IHBhcmVudC5nZXQoJ0tpZHMnKTsKICAgICAgICB2YXIgaiwgamo7CiAgICAgICAgZm9yIChqID0gMCwgamogPSBraWRzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgIHZhciBraWRSZWYgPSBraWRzW2pdOwogICAgICAgICAgaWYgKGtpZFJlZi5udW0gPT09IHJlZi5udW0gJiYga2lkUmVmLmdlbiA9PT0gcmVmLmdlbikgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZmllbGROYW1lLnVuc2hpZnQoJ2AnICsgaik7CiAgICAgIH0KICAgICAgbmFtZWRJdGVtID0gcGFyZW50OwogICAgICByZWYgPSBwYXJlbnRSZWY7CiAgICB9CiAgICBkYXRhLmZ1bGxOYW1lID0gZmllbGROYW1lLmpvaW4oJy4nKTsKICB9CgogIHZhciBwYXJlbnQgPSBBbm5vdGF0aW9uLnByb3RvdHlwZTsKICBVdGlsLmluaGVyaXQoV2lkZ2V0QW5ub3RhdGlvbiwgQW5ub3RhdGlvbiwgewogICAgaXNWaWV3YWJsZTogZnVuY3Rpb24gV2lkZ2V0QW5ub3RhdGlvbl9pc1ZpZXdhYmxlKCkgewogICAgICBpZiAodGhpcy5kYXRhLmZpZWxkVHlwZSA9PT0gJ1NpZycpIHsKICAgICAgICB3YXJuKCd1bmltcGxlbWVudGVkIGFubm90YXRpb24gdHlwZTogV2lkZ2V0IHNpZ25hdHVyZScpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgcmV0dXJuIHBhcmVudC5pc1ZpZXdhYmxlLmNhbGwodGhpcyk7CiAgICB9CiAgfSk7CgogIHJldHVybiBXaWRnZXRBbm5vdGF0aW9uOwp9KSgpOwoKdmFyIFRleHRXaWRnZXRBbm5vdGF0aW9uID0gKGZ1bmN0aW9uIFRleHRXaWRnZXRBbm5vdGF0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBUZXh0V2lkZ2V0QW5ub3RhdGlvbihwYXJhbXMpIHsKICAgIFdpZGdldEFubm90YXRpb24uY2FsbCh0aGlzLCBwYXJhbXMpOwoKICAgIHRoaXMuZGF0YS50ZXh0QWxpZ25tZW50ID0gVXRpbC5nZXRJbmhlcml0YWJsZVByb3BlcnR5KHBhcmFtcy5kaWN0LCAnUScpOwogICAgdGhpcy5kYXRhLmFubm90YXRpb25UeXBlID0gQW5ub3RhdGlvblR5cGUuV0lER0VUOwogICAgdGhpcy5kYXRhLmhhc0h0bWwgPSAhdGhpcy5kYXRhLmhhc0FwcGVhcmFuY2UgJiYgISF0aGlzLmRhdGEuZmllbGRWYWx1ZTsKICB9CgogIFV0aWwuaW5oZXJpdChUZXh0V2lkZ2V0QW5ub3RhdGlvbiwgV2lkZ2V0QW5ub3RhdGlvbiwgewogICAgZ2V0T3BlcmF0b3JMaXN0OiBmdW5jdGlvbiBUZXh0V2lkZ2V0QW5ub3RhdGlvbl9nZXRPcGVyYXRvckxpc3QoZXZhbHVhdG9yKSB7CiAgICAgIGlmICh0aGlzLmFwcGVhcmFuY2UpIHsKICAgICAgICByZXR1cm4gQW5ub3RhdGlvbi5wcm90b3R5cGUuZ2V0T3BlcmF0b3JMaXN0LmNhbGwodGhpcywgZXZhbHVhdG9yKTsKICAgICAgfQoKICAgICAgdmFyIG9wTGlzdCA9IG5ldyBPcGVyYXRvckxpc3QoKTsKICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7CgogICAgICAvLyBFdmVuIGlmIHRoZXJlIGlzIGFuIGFwcGVhcmFuY2Ugc3RyZWFtLCBpZ25vcmUgaXQuIFRoaXMgaXMgdGhlCiAgICAgIC8vIGJlaGF2aW91ciB1c2VkIGJ5IEFkb2JlIFJlYWRlci4KICAgICAgaWYgKCFkYXRhLmRlZmF1bHRBcHBlYXJhbmNlKSB7CiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShvcExpc3QpOwogICAgICB9CgogICAgICB2YXIgc3RyZWFtID0gbmV3IFN0cmVhbShzdHJpbmdUb0J5dGVzKGRhdGEuZGVmYXVsdEFwcGVhcmFuY2UpKTsKICAgICAgcmV0dXJuIGV2YWx1YXRvci5nZXRPcGVyYXRvckxpc3Qoc3RyZWFtLCB0aGlzLmZpZWxkUmVzb3VyY2VzLCBvcExpc3QpLgogICAgICAgIHRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgcmV0dXJuIG9wTGlzdDsKICAgICAgICB9KTsKICAgIH0KICB9KTsKCiAgcmV0dXJuIFRleHRXaWRnZXRBbm5vdGF0aW9uOwp9KSgpOwoKdmFyIEludGVyYWN0aXZlQW5ub3RhdGlvbiA9IChmdW5jdGlvbiBJbnRlcmFjdGl2ZUFubm90YXRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEludGVyYWN0aXZlQW5ub3RhdGlvbihwYXJhbXMpIHsKICAgIEFubm90YXRpb24uY2FsbCh0aGlzLCBwYXJhbXMpOwoKICAgIHRoaXMuZGF0YS5oYXNIdG1sID0gdHJ1ZTsKICB9CgogIFV0aWwuaW5oZXJpdChJbnRlcmFjdGl2ZUFubm90YXRpb24sIEFubm90YXRpb24sIHsgfSk7CgogIHJldHVybiBJbnRlcmFjdGl2ZUFubm90YXRpb247Cn0pKCk7Cgp2YXIgVGV4dEFubm90YXRpb24gPSAoZnVuY3Rpb24gVGV4dEFubm90YXRpb25DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFRleHRBbm5vdGF0aW9uKHBhcmFtcykgewogICAgSW50ZXJhY3RpdmVBbm5vdGF0aW9uLmNhbGwodGhpcywgcGFyYW1zKTsKCiAgICB2YXIgZGljdCA9IHBhcmFtcy5kaWN0OwogICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7CgogICAgdmFyIGNvbnRlbnQgPSBkaWN0LmdldCgnQ29udGVudHMnKTsKICAgIHZhciB0aXRsZSA9IGRpY3QuZ2V0KCdUJyk7CiAgICBkYXRhLmFubm90YXRpb25UeXBlID0gQW5ub3RhdGlvblR5cGUuVEVYVDsKICAgIGRhdGEuY29udGVudCA9IHN0cmluZ1RvUERGU3RyaW5nKGNvbnRlbnQgfHwgJycpOwogICAgZGF0YS50aXRsZSA9IHN0cmluZ1RvUERGU3RyaW5nKHRpdGxlIHx8ICcnKTsKCiAgICBpZiAoZGF0YS5oYXNBcHBlYXJhbmNlKSB7CiAgICAgIGRhdGEubmFtZSA9ICdOb0ljb24nOwogICAgfSBlbHNlIHsKICAgICAgZGF0YS5yZWN0WzFdID0gZGF0YS5yZWN0WzNdIC0gREVGQVVMVF9JQ09OX1NJWkU7CiAgICAgIGRhdGEucmVjdFsyXSA9IGRhdGEucmVjdFswXSArIERFRkFVTFRfSUNPTl9TSVpFOwogICAgICBkYXRhLm5hbWUgPSBkaWN0LmhhcygnTmFtZScpID8gZGljdC5nZXQoJ05hbWUnKS5uYW1lIDogJ05vdGUnOwogICAgfQoKICAgIGlmIChkaWN0LmhhcygnQycpKSB7CiAgICAgIGRhdGEuaGFzQmdDb2xvciA9IHRydWU7CiAgICB9CiAgfQoKICBVdGlsLmluaGVyaXQoVGV4dEFubm90YXRpb24sIEludGVyYWN0aXZlQW5ub3RhdGlvbiwgeyB9KTsKCiAgcmV0dXJuIFRleHRBbm5vdGF0aW9uOwp9KSgpOwoKdmFyIExpbmtBbm5vdGF0aW9uID0gKGZ1bmN0aW9uIExpbmtBbm5vdGF0aW9uQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBMaW5rQW5ub3RhdGlvbihwYXJhbXMpIHsKICAgIEludGVyYWN0aXZlQW5ub3RhdGlvbi5jYWxsKHRoaXMsIHBhcmFtcyk7CgogICAgdmFyIGRpY3QgPSBwYXJhbXMuZGljdDsKICAgIHZhciBkYXRhID0gdGhpcy5kYXRhOwogICAgZGF0YS5hbm5vdGF0aW9uVHlwZSA9IEFubm90YXRpb25UeXBlLkxJTks7CgogICAgdmFyIGFjdGlvbiA9IGRpY3QuZ2V0KCdBJyk7CiAgICBpZiAoYWN0aW9uICYmIGlzRGljdChhY3Rpb24pKSB7CiAgICAgIHZhciBsaW5rVHlwZSA9IGFjdGlvbi5nZXQoJ1MnKS5uYW1lOwogICAgICBpZiAobGlua1R5cGUgPT09ICdVUkknKSB7CiAgICAgICAgdmFyIHVybCA9IGFjdGlvbi5nZXQoJ1VSSScpOwogICAgICAgIGlmIChpc05hbWUodXJsKSkgewogICAgICAgICAgLy8gU29tZSBiYWQgUERGcyBkbyBub3QgcHV0IHBhcmVudGhlc2VzIGFyb3VuZCByZWxhdGl2ZSBVUkxzLgogICAgICAgICAgdXJsID0gJy8nICsgdXJsLm5hbWU7CiAgICAgICAgfSBlbHNlIGlmICh1cmwpIHsKICAgICAgICAgIHVybCA9IGFkZERlZmF1bHRQcm90b2NvbFRvVXJsKHVybCk7CiAgICAgICAgfQogICAgICAgIC8vIFRPRE86IHBkZiBzcGVjIG1lbnRpb25zIHVybHMgY2FuIGJlIHJlbGF0aXZlIHRvIGEgQmFzZQogICAgICAgIC8vIGVudHJ5IGluIHRoZSBkaWN0aW9uYXJ5LgogICAgICAgIGlmICghaXNWYWxpZFVybCh1cmwsIGZhbHNlKSkgewogICAgICAgICAgdXJsID0gJyc7CiAgICAgICAgfQogICAgICAgIGRhdGEudXJsID0gdXJsOwogICAgICB9IGVsc2UgaWYgKGxpbmtUeXBlID09PSAnR29UbycpIHsKICAgICAgICBkYXRhLmRlc3QgPSBhY3Rpb24uZ2V0KCdEJyk7CiAgICAgIH0gZWxzZSBpZiAobGlua1R5cGUgPT09ICdHb1RvUicpIHsKICAgICAgICB2YXIgdXJsRGljdCA9IGFjdGlvbi5nZXQoJ0YnKTsKICAgICAgICBpZiAoaXNEaWN0KHVybERpY3QpKSB7CiAgICAgICAgICAvLyBXZSBhc3N1bWUgdGhhdCB0aGUgJ3VybCcgaXMgYSBGaWxzcGVjIGRpY3Rpb25hcnkKICAgICAgICAgIC8vIGFuZCBmZXRjaCB0aGUgdXJsIHdpdGhvdXQgY2hlY2tpbmcgYW55IGZ1cnRoZXIKICAgICAgICAgIHVybCA9IHVybERpY3QuZ2V0KCdGJykgfHwgJyc7CiAgICAgICAgfQoKICAgICAgICAvLyBUT0RPOiBwZGYgcmVmZXJlbmNlIHNheXMgdGhhdCBHb1RvUgogICAgICAgIC8vIGNhbiBhbHNvIGhhdmUgJ05ld1dpbmRvdycgYXR0cmlidXRlCiAgICAgICAgaWYgKCFpc1ZhbGlkVXJsKHVybCwgZmFsc2UpKSB7CiAgICAgICAgICB1cmwgPSAnJzsKICAgICAgICB9CiAgICAgICAgZGF0YS51cmwgPSB1cmw7CiAgICAgICAgZGF0YS5kZXN0ID0gYWN0aW9uLmdldCgnRCcpOwogICAgICB9IGVsc2UgaWYgKGxpbmtUeXBlID09PSAnTmFtZWQnKSB7CiAgICAgICAgZGF0YS5hY3Rpb24gPSBhY3Rpb24uZ2V0KCdOJykubmFtZTsKICAgICAgfSBlbHNlIHsKICAgICAgICB3YXJuKCd1bnJlY29nbml6ZWQgbGluayB0eXBlOiAnICsgbGlua1R5cGUpOwogICAgICB9CiAgICB9IGVsc2UgaWYgKGRpY3QuaGFzKCdEZXN0JykpIHsKICAgICAgLy8gc2ltcGxlIGRlc3RpbmF0aW9uIGxpbmsKICAgICAgdmFyIGRlc3QgPSBkaWN0LmdldCgnRGVzdCcpOwogICAgICBkYXRhLmRlc3QgPSBpc05hbWUoZGVzdCkgPyBkZXN0Lm5hbWUgOiBkZXN0OwogICAgfQogIH0KCiAgLy8gTGV0cyBVUkxzIGJlZ2lubmluZyB3aXRoICd3d3cuJyBkZWZhdWx0IHRvIHVzaW5nIHRoZSAnaHR0cDovLycgcHJvdG9jb2wuCiAgZnVuY3Rpb24gYWRkRGVmYXVsdFByb3RvY29sVG9VcmwodXJsKSB7CiAgICBpZiAodXJsICYmIHVybC5pbmRleE9mKCd3d3cuJykgPT09IDApIHsKICAgICAgcmV0dXJuICgnaHR0cDovLycgKyB1cmwpOwogICAgfQogICAgcmV0dXJuIHVybDsKICB9CgogIFV0aWwuaW5oZXJpdChMaW5rQW5ub3RhdGlvbiwgSW50ZXJhY3RpdmVBbm5vdGF0aW9uLCB7IH0pOwoKICByZXR1cm4gTGlua0Fubm90YXRpb247Cn0pKCk7CgoKdmFyIFBERkZ1bmN0aW9uID0gKGZ1bmN0aW9uIFBERkZ1bmN0aW9uQ2xvc3VyZSgpIHsKICB2YXIgQ09OU1RSVUNUX1NBTVBMRUQgPSAwOwogIHZhciBDT05TVFJVQ1RfSU5URVJQT0xBVEVEID0gMjsKICB2YXIgQ09OU1RSVUNUX1NUSUNIRUQgPSAzOwogIHZhciBDT05TVFJVQ1RfUE9TVFNDUklQVCA9IDQ7CgogIHJldHVybiB7CiAgICBnZXRTYW1wbGVBcnJheTogZnVuY3Rpb24gUERGRnVuY3Rpb25fZ2V0U2FtcGxlQXJyYXkoc2l6ZSwgb3V0cHV0U2l6ZSwgYnBzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKSB7CiAgICAgIHZhciBpLCBpaTsKICAgICAgdmFyIGxlbmd0aCA9IDE7CiAgICAgIGZvciAoaSA9IDAsIGlpID0gc2l6ZS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgbGVuZ3RoICo9IHNpemVbaV07CiAgICAgIH0KICAgICAgbGVuZ3RoICo9IG91dHB1dFNpemU7CgogICAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXkobGVuZ3RoKTsKICAgICAgdmFyIGNvZGVTaXplID0gMDsKICAgICAgdmFyIGNvZGVCdWYgPSAwOwogICAgICAvLyAzMiBpcyBhIHZhbGlkIGJwcyBzbyBzaGlmdGluZyB3b24ndCB3b3JrCiAgICAgIHZhciBzYW1wbGVNdWwgPSAxLjAgLyAoTWF0aC5wb3coMi4wLCBicHMpIC0gMSk7CgogICAgICB2YXIgc3RyQnl0ZXMgPSBzdHIuZ2V0Qnl0ZXMoKGxlbmd0aCAqIGJwcyArIDcpIC8gOCk7CiAgICAgIHZhciBzdHJJZHggPSAwOwogICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICB3aGlsZSAoY29kZVNpemUgPCBicHMpIHsKICAgICAgICAgIGNvZGVCdWYgPDw9IDg7CiAgICAgICAgICBjb2RlQnVmIHw9IHN0ckJ5dGVzW3N0cklkeCsrXTsKICAgICAgICAgIGNvZGVTaXplICs9IDg7CiAgICAgICAgfQogICAgICAgIGNvZGVTaXplIC09IGJwczsKICAgICAgICBhcnJheVtpXSA9IChjb2RlQnVmID4+IGNvZGVTaXplKSAqIHNhbXBsZU11bDsKICAgICAgICBjb2RlQnVmICY9ICgxIDw8IGNvZGVTaXplKSAtIDE7CiAgICAgIH0KICAgICAgcmV0dXJuIGFycmF5OwogICAgfSwKCiAgICBnZXRJUjogZnVuY3Rpb24gUERGRnVuY3Rpb25fZ2V0SVIoeHJlZiwgZm4pIHsKICAgICAgdmFyIGRpY3QgPSBmbi5kaWN0OwogICAgICBpZiAoIWRpY3QpIHsKICAgICAgICBkaWN0ID0gZm47CiAgICAgIH0KCiAgICAgIHZhciB0eXBlcyA9IFt0aGlzLmNvbnN0cnVjdFNhbXBsZWQsCiAgICAgICAgICAgICAgICAgICBudWxsLAogICAgICAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3RJbnRlcnBvbGF0ZWQsCiAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdFN0aWNoZWQsCiAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnN0cnVjdFBvc3RTY3JpcHRdOwoKICAgICAgdmFyIHR5cGVOdW0gPSBkaWN0LmdldCgnRnVuY3Rpb25UeXBlJyk7CiAgICAgIHZhciB0eXBlRm4gPSB0eXBlc1t0eXBlTnVtXTsKICAgICAgaWYgKCF0eXBlRm4pIHsKICAgICAgICBlcnJvcignVW5rbm93biB0eXBlIG9mIGZ1bmN0aW9uJyk7CiAgICAgIH0KCiAgICAgIHJldHVybiB0eXBlRm4uY2FsbCh0aGlzLCBmbiwgZGljdCwgeHJlZik7CiAgICB9LAoKICAgIGZyb21JUjogZnVuY3Rpb24gUERGRnVuY3Rpb25fZnJvbUlSKElSKSB7CiAgICAgIHZhciB0eXBlID0gSVJbMF07CiAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgIGNhc2UgQ09OU1RSVUNUX1NBTVBMRUQ6CiAgICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3RTYW1wbGVkRnJvbUlSKElSKTsKICAgICAgICBjYXNlIENPTlNUUlVDVF9JTlRFUlBPTEFURUQ6CiAgICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3RJbnRlcnBvbGF0ZWRGcm9tSVIoSVIpOwogICAgICAgIGNhc2UgQ09OU1RSVUNUX1NUSUNIRUQ6CiAgICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3RTdGljaGVkRnJvbUlSKElSKTsKICAgICAgICAvL2Nhc2UgQ09OU1RSVUNUX1BPU1RTQ1JJUFQ6CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHJldHVybiB0aGlzLmNvbnN0cnVjdFBvc3RTY3JpcHRGcm9tSVIoSVIpOwogICAgICB9CiAgICB9LAoKICAgIHBhcnNlOiBmdW5jdGlvbiBQREZGdW5jdGlvbl9wYXJzZSh4cmVmLCBmbikgewogICAgICB2YXIgSVIgPSB0aGlzLmdldElSKHhyZWYsIGZuKTsKICAgICAgcmV0dXJuIHRoaXMuZnJvbUlSKElSKTsKICAgIH0sCgogICAgcGFyc2VBcnJheTogZnVuY3Rpb24gUERGRnVuY3Rpb25fcGFyc2VBcnJheSh4cmVmLCBmbk9iaikgewogICAgICBpZiAoIWlzQXJyYXkoZm5PYmopKSB7CiAgICAgICAgLy8gbm90IGFuIGFycmF5IC0tIHBhcnNpbmcgYXMgcmVndWxhciBmdW5jdGlvbgogICAgICAgIHJldHVybiB0aGlzLnBhcnNlKHhyZWYsIGZuT2JqKTsKICAgICAgfQoKICAgICAgdmFyIGZuQXJyYXkgPSBbXTsKICAgICAgZm9yICh2YXIgaiA9IDAsIGpqID0gZm5PYmoubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciBvYmogPSB4cmVmLmZldGNoSWZSZWYoZm5PYmpbal0pOwogICAgICAgIGZuQXJyYXkucHVzaChQREZGdW5jdGlvbi5wYXJzZSh4cmVmLCBvYmopKTsKICAgICAgfQogICAgICByZXR1cm4gZnVuY3Rpb24gKHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gZm5BcnJheS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICBmbkFycmF5W2ldKHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0ICsgaSk7CiAgICAgICAgfQogICAgICB9OwogICAgfSwKCiAgICBjb25zdHJ1Y3RTYW1wbGVkOiBmdW5jdGlvbiBQREZGdW5jdGlvbl9jb25zdHJ1Y3RTYW1wbGVkKHN0ciwgZGljdCkgewogICAgICBmdW5jdGlvbiB0b011bHRpQXJyYXkoYXJyKSB7CiAgICAgICAgdmFyIGlucHV0TGVuZ3RoID0gYXJyLmxlbmd0aDsKICAgICAgICB2YXIgb3V0ID0gW107CiAgICAgICAgdmFyIGluZGV4ID0gMDsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0TGVuZ3RoOyBpICs9IDIpIHsKICAgICAgICAgIG91dFtpbmRleF0gPSBbYXJyW2ldLCBhcnJbaSArIDFdXTsKICAgICAgICAgICsraW5kZXg7CiAgICAgICAgfQogICAgICAgIHJldHVybiBvdXQ7CiAgICAgIH0KICAgICAgdmFyIGRvbWFpbiA9IGRpY3QuZ2V0KCdEb21haW4nKTsKICAgICAgdmFyIHJhbmdlID0gZGljdC5nZXQoJ1JhbmdlJyk7CgogICAgICBpZiAoIWRvbWFpbiB8fCAhcmFuZ2UpIHsKICAgICAgICBlcnJvcignTm8gZG9tYWluIG9yIHJhbmdlJyk7CiAgICAgIH0KCiAgICAgIHZhciBpbnB1dFNpemUgPSBkb21haW4ubGVuZ3RoIC8gMjsKICAgICAgdmFyIG91dHB1dFNpemUgPSByYW5nZS5sZW5ndGggLyAyOwoKICAgICAgZG9tYWluID0gdG9NdWx0aUFycmF5KGRvbWFpbik7CiAgICAgIHJhbmdlID0gdG9NdWx0aUFycmF5KHJhbmdlKTsKCiAgICAgIHZhciBzaXplID0gZGljdC5nZXQoJ1NpemUnKTsKICAgICAgdmFyIGJwcyA9IGRpY3QuZ2V0KCdCaXRzUGVyU2FtcGxlJyk7CiAgICAgIHZhciBvcmRlciA9IGRpY3QuZ2V0KCdPcmRlcicpIHx8IDE7CiAgICAgIGlmIChvcmRlciAhPT0gMSkgewogICAgICAgIC8vIE5vIGRlc2NyaXB0aW9uIGhvdyBjdWJpYyBzcGxpbmUgaW50ZXJwb2xhdGlvbiB3b3JrcyBpbiBQREYzMjAwMDoyMDA4CiAgICAgICAgLy8gQXMgaW4gcG9wcGxlciwgaWdub3Jpbmcgb3JkZXIsIGxpbmVhciBpbnRlcnBvbGF0aW9uIG1heSB3b3JrIGFzIGdvb2QKICAgICAgICBpbmZvKCdObyBzdXBwb3J0IGZvciBjdWJpYyBzcGxpbmUgaW50ZXJwb2xhdGlvbjogJyArIG9yZGVyKTsKICAgICAgfQoKICAgICAgdmFyIGVuY29kZSA9IGRpY3QuZ2V0KCdFbmNvZGUnKTsKICAgICAgaWYgKCFlbmNvZGUpIHsKICAgICAgICBlbmNvZGUgPSBbXTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0U2l6ZTsgKytpKSB7CiAgICAgICAgICBlbmNvZGUucHVzaCgwKTsKICAgICAgICAgIGVuY29kZS5wdXNoKHNpemVbaV0gLSAxKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZW5jb2RlID0gdG9NdWx0aUFycmF5KGVuY29kZSk7CgogICAgICB2YXIgZGVjb2RlID0gZGljdC5nZXQoJ0RlY29kZScpOwogICAgICBpZiAoIWRlY29kZSkgewogICAgICAgIGRlY29kZSA9IHJhbmdlOwogICAgICB9IGVsc2UgewogICAgICAgIGRlY29kZSA9IHRvTXVsdGlBcnJheShkZWNvZGUpOwogICAgICB9CgogICAgICB2YXIgc2FtcGxlcyA9IHRoaXMuZ2V0U2FtcGxlQXJyYXkoc2l6ZSwgb3V0cHV0U2l6ZSwgYnBzLCBzdHIpOwoKICAgICAgcmV0dXJuIFsKICAgICAgICBDT05TVFJVQ1RfU0FNUExFRCwgaW5wdXRTaXplLCBkb21haW4sIGVuY29kZSwgZGVjb2RlLCBzYW1wbGVzLCBzaXplLAogICAgICAgIG91dHB1dFNpemUsIE1hdGgucG93KDIsIGJwcykgLSAxLCByYW5nZQogICAgICBdOwogICAgfSwKCiAgICBjb25zdHJ1Y3RTYW1wbGVkRnJvbUlSOiBmdW5jdGlvbiBQREZGdW5jdGlvbl9jb25zdHJ1Y3RTYW1wbGVkRnJvbUlSKElSKSB7CiAgICAgIC8vIFNlZSBjaGFwdGVyIDMsIHBhZ2UgMTA5IG9mIHRoZSBQREYgcmVmZXJlbmNlCiAgICAgIGZ1bmN0aW9uIGludGVycG9sYXRlKHgsIHhtaW4sIHhtYXgsIHltaW4sIHltYXgpIHsKICAgICAgICByZXR1cm4geW1pbiArICgoeCAtIHhtaW4pICogKCh5bWF4IC0geW1pbikgLyAoeG1heCAtIHhtaW4pKSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTYW1wbGVkRnJvbUlSUmVzdWx0KHNyYywgc3JjT2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgICAgLy8gU2VlIGNoYXB0ZXIgMywgcGFnZSAxMTAgb2YgdGhlIFBERiByZWZlcmVuY2UuCiAgICAgICAgdmFyIG0gPSBJUlsxXTsKICAgICAgICB2YXIgZG9tYWluID0gSVJbMl07CiAgICAgICAgdmFyIGVuY29kZSA9IElSWzNdOwogICAgICAgIHZhciBkZWNvZGUgPSBJUls0XTsKICAgICAgICB2YXIgc2FtcGxlcyA9IElSWzVdOwogICAgICAgIHZhciBzaXplID0gSVJbNl07CiAgICAgICAgdmFyIG4gPSBJUls3XTsKICAgICAgICAvL3ZhciBtYXNrID0gSVJbOF07CiAgICAgICAgdmFyIHJhbmdlID0gSVJbOV07CgogICAgICAgIC8vIEJ1aWxkaW5nIHRoZSBjdWJlIHZlcnRpY2VzOiBpdHMgcGFydCBhbmQgc2FtcGxlIGluZGV4CiAgICAgICAgLy8gaHR0cDovL3Jqd2FnbmVyNDkuY29tL01hdGhlbWF0aWNzL0ludGVycG9sYXRpb24ucGRmCiAgICAgICAgdmFyIGN1YmVWZXJ0aWNlcyA9IDEgPDwgbTsKICAgICAgICB2YXIgY3ViZU4gPSBuZXcgRmxvYXQ2NEFycmF5KGN1YmVWZXJ0aWNlcyk7CiAgICAgICAgdmFyIGN1YmVWZXJ0ZXggPSBuZXcgVWludDMyQXJyYXkoY3ViZVZlcnRpY2VzKTsKICAgICAgICB2YXIgaSwgajsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgY3ViZVZlcnRpY2VzOyBqKyspIHsKICAgICAgICAgIGN1YmVOW2pdID0gMTsKICAgICAgICB9CgogICAgICAgIHZhciBrID0gbiwgcG9zID0gMTsKICAgICAgICAvLyBNYXAgeF9pIHRvIHlfaiBmb3IgMCA8PSBpIDwgbSB1c2luZyB0aGUgc2FtcGxlZCBmdW5jdGlvbi4KICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbTsgKytpKSB7CiAgICAgICAgICAvLyB4X2knID0gbWluKG1heCh4X2ksIERvbWFpbl8yaSksIERvbWFpbl8yaSsxKQogICAgICAgICAgdmFyIGRvbWFpbl8yaSA9IGRvbWFpbltpXVswXTsKICAgICAgICAgIHZhciBkb21haW5fMmlfMSA9IGRvbWFpbltpXVsxXTsKICAgICAgICAgIHZhciB4aSA9IE1hdGgubWluKE1hdGgubWF4KHNyY1tzcmNPZmZzZXQgK2ldLCBkb21haW5fMmkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluXzJpXzEpOwoKICAgICAgICAgIC8vIGVfaSA9IEludGVycG9sYXRlKHhfaScsIERvbWFpbl8yaSwgRG9tYWluXzJpKzEsCiAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICBFbmNvZGVfMmksIEVuY29kZV8yaSsxKQogICAgICAgICAgdmFyIGUgPSBpbnRlcnBvbGF0ZSh4aSwgZG9tYWluXzJpLCBkb21haW5fMmlfMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlW2ldWzBdLCBlbmNvZGVbaV1bMV0pOwoKICAgICAgICAgIC8vIGVfaScgPSBtaW4obWF4KGVfaSwgMCksIFNpemVfaSAtIDEpCiAgICAgICAgICB2YXIgc2l6ZV9pID0gc2l6ZVtpXTsKICAgICAgICAgIGUgPSBNYXRoLm1pbihNYXRoLm1heChlLCAwKSwgc2l6ZV9pIC0gMSk7CgogICAgICAgICAgLy8gQWRqdXN0aW5nIHRoZSBjdWJlOiBOIGFuZCB2ZXJ0ZXggc2FtcGxlIGluZGV4CiAgICAgICAgICB2YXIgZTAgPSBlIDwgc2l6ZV9pIC0gMSA/IE1hdGguZmxvb3IoZSkgOiBlIC0gMTsgLy8gZTEgPSBlMCArIDE7CiAgICAgICAgICB2YXIgbjAgPSBlMCArIDEgLSBlOyAvLyAoZTEgLSBlKSAvIChlMSAtIGUwKTsKICAgICAgICAgIHZhciBuMSA9IGUgLSBlMDsgLy8gKGUgLSBlMCkgLyAoZTEgLSBlMCk7CiAgICAgICAgICB2YXIgb2Zmc2V0MCA9IGUwICogazsKICAgICAgICAgIHZhciBvZmZzZXQxID0gb2Zmc2V0MCArIGs7IC8vIGUxICogawogICAgICAgICAgZm9yIChqID0gMDsgaiA8IGN1YmVWZXJ0aWNlczsgaisrKSB7CiAgICAgICAgICAgIGlmIChqICYgcG9zKSB7CiAgICAgICAgICAgICAgY3ViZU5bal0gKj0gbjE7CiAgICAgICAgICAgICAgY3ViZVZlcnRleFtqXSArPSBvZmZzZXQxOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGN1YmVOW2pdICo9IG4wOwogICAgICAgICAgICAgIGN1YmVWZXJ0ZXhbal0gKz0gb2Zmc2V0MDsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGsgKj0gc2l6ZV9pOwogICAgICAgICAgcG9zIDw8PSAxOwogICAgICAgIH0KCiAgICAgICAgZm9yIChqID0gMDsgaiA8IG47ICsraikgewogICAgICAgICAgLy8gU3VtIGFsbCBjdWJlIHZlcnRpY2VzJyBzYW1wbGVzIHBvcnRpb25zCiAgICAgICAgICB2YXIgcmogPSAwOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGN1YmVWZXJ0aWNlczsgaSsrKSB7CiAgICAgICAgICAgIHJqICs9IHNhbXBsZXNbY3ViZVZlcnRleFtpXSArIGpdICogY3ViZU5baV07CiAgICAgICAgICB9CgogICAgICAgICAgLy8gcl9qJyA9IEludGVycG9sYXRlKHJfaiwgMCwgMl5CaXRzUGVyU2FtcGxlIC0gMSwKICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICBEZWNvZGVfMmosIERlY29kZV8yaisxKQogICAgICAgICAgcmogPSBpbnRlcnBvbGF0ZShyaiwgMCwgMSwgZGVjb2RlW2pdWzBdLCBkZWNvZGVbal1bMV0pOwoKICAgICAgICAgIC8vIHlfaiA9IG1pbihtYXgocl9qLCByYW5nZV8yaiksIHJhbmdlXzJqKzEpCiAgICAgICAgICBkZXN0W2Rlc3RPZmZzZXQgKyBqXSA9IE1hdGgubWluKE1hdGgubWF4KHJqLCByYW5nZVtqXVswXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlW2pdWzFdKTsKICAgICAgICB9CiAgICAgIH07CiAgICB9LAoKICAgIGNvbnN0cnVjdEludGVycG9sYXRlZDogZnVuY3Rpb24gUERGRnVuY3Rpb25fY29uc3RydWN0SW50ZXJwb2xhdGVkKHN0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpY3QpIHsKICAgICAgdmFyIGMwID0gZGljdC5nZXQoJ0MwJykgfHwgWzBdOwogICAgICB2YXIgYzEgPSBkaWN0LmdldCgnQzEnKSB8fCBbMV07CiAgICAgIHZhciBuID0gZGljdC5nZXQoJ04nKTsKCiAgICAgIGlmICghaXNBcnJheShjMCkgfHwgIWlzQXJyYXkoYzEpKSB7CiAgICAgICAgZXJyb3IoJ0lsbGVnYWwgZGljdGlvbmFyeSBmb3IgaW50ZXJwb2xhdGVkIGZ1bmN0aW9uJyk7CiAgICAgIH0KCiAgICAgIHZhciBsZW5ndGggPSBjMC5sZW5ndGg7CiAgICAgIHZhciBkaWZmID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICBkaWZmLnB1c2goYzFbaV0gLSBjMFtpXSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBbQ09OU1RSVUNUX0lOVEVSUE9MQVRFRCwgYzAsIGRpZmYsIG5dOwogICAgfSwKCiAgICBjb25zdHJ1Y3RJbnRlcnBvbGF0ZWRGcm9tSVI6CiAgICAgIGZ1bmN0aW9uIFBERkZ1bmN0aW9uX2NvbnN0cnVjdEludGVycG9sYXRlZEZyb21JUihJUikgewogICAgICB2YXIgYzAgPSBJUlsxXTsKICAgICAgdmFyIGRpZmYgPSBJUlsyXTsKICAgICAgdmFyIG4gPSBJUlszXTsKCiAgICAgIHZhciBsZW5ndGggPSBkaWZmLmxlbmd0aDsKCiAgICAgIHJldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RJbnRlcnBvbGF0ZWRGcm9tSVJSZXN1bHQoc3JjLCBzcmNPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICAgIHZhciB4ID0gbiA9PT0gMSA/IHNyY1tzcmNPZmZzZXRdIDogTWF0aC5wb3coc3JjW3NyY09mZnNldF0sIG4pOwoKICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbmd0aDsgKytqKSB7CiAgICAgICAgICBkZXN0W2Rlc3RPZmZzZXQgKyBqXSA9IGMwW2pdICsgKHggKiBkaWZmW2pdKTsKICAgICAgICB9CiAgICAgIH07CiAgICB9LAoKICAgIGNvbnN0cnVjdFN0aWNoZWQ6IGZ1bmN0aW9uIFBERkZ1bmN0aW9uX2NvbnN0cnVjdFN0aWNoZWQoZm4sIGRpY3QsIHhyZWYpIHsKICAgICAgdmFyIGRvbWFpbiA9IGRpY3QuZ2V0KCdEb21haW4nKTsKCiAgICAgIGlmICghZG9tYWluKSB7CiAgICAgICAgZXJyb3IoJ05vIGRvbWFpbicpOwogICAgICB9CgogICAgICB2YXIgaW5wdXRTaXplID0gZG9tYWluLmxlbmd0aCAvIDI7CiAgICAgIGlmIChpbnB1dFNpemUgIT09IDEpIHsKICAgICAgICBlcnJvcignQmFkIGRvbWFpbiBmb3Igc3RpY2hlZCBmdW5jdGlvbicpOwogICAgICB9CgogICAgICB2YXIgZm5SZWZzID0gZGljdC5nZXQoJ0Z1bmN0aW9ucycpOwogICAgICB2YXIgZm5zID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGZuUmVmcy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgZm5zLnB1c2goUERGRnVuY3Rpb24uZ2V0SVIoeHJlZiwgeHJlZi5mZXRjaElmUmVmKGZuUmVmc1tpXSkpKTsKICAgICAgfQoKICAgICAgdmFyIGJvdW5kcyA9IGRpY3QuZ2V0KCdCb3VuZHMnKTsKICAgICAgdmFyIGVuY29kZSA9IGRpY3QuZ2V0KCdFbmNvZGUnKTsKCiAgICAgIHJldHVybiBbQ09OU1RSVUNUX1NUSUNIRUQsIGRvbWFpbiwgYm91bmRzLCBlbmNvZGUsIGZuc107CiAgICB9LAoKICAgIGNvbnN0cnVjdFN0aWNoZWRGcm9tSVI6IGZ1bmN0aW9uIFBERkZ1bmN0aW9uX2NvbnN0cnVjdFN0aWNoZWRGcm9tSVIoSVIpIHsKICAgICAgdmFyIGRvbWFpbiA9IElSWzFdOwogICAgICB2YXIgYm91bmRzID0gSVJbMl07CiAgICAgIHZhciBlbmNvZGUgPSBJUlszXTsKICAgICAgdmFyIGZuc0lSID0gSVJbNF07CiAgICAgIHZhciBmbnMgPSBbXTsKICAgICAgdmFyIHRtcEJ1ZiA9IG5ldyBGbG9hdDMyQXJyYXkoMSk7CgogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBmbnNJUi5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgZm5zLnB1c2goUERGRnVuY3Rpb24uZnJvbUlSKGZuc0lSW2ldKSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRnJvbUlSUmVzdWx0KHNyYywgc3JjT2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgICAgdmFyIGNsaXAgPSBmdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRnJvbUlSQ2xpcCh2LCBtaW4sIG1heCkgewogICAgICAgICAgaWYgKHYgPiBtYXgpIHsKICAgICAgICAgICAgdiA9IG1heDsKICAgICAgICAgIH0gZWxzZSBpZiAodiA8IG1pbikgewogICAgICAgICAgICB2ID0gbWluOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHY7CiAgICAgICAgfTsKCiAgICAgICAgLy8gY2xpcCB0byBkb21haW4KICAgICAgICB2YXIgdiA9IGNsaXAoc3JjW3NyY09mZnNldF0sIGRvbWFpblswXSwgZG9tYWluWzFdKTsKICAgICAgICAvLyBjYWx1bGF0ZSB3aGljaCBib3VuZCB0aGUgdmFsdWUgaXMgaW4KICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBib3VuZHMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgICAgaWYgKHYgPCBib3VuZHNbaV0pIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBlbmNvZGUgdmFsdWUgaW50byBkb21haW4gb2YgZnVuY3Rpb24KICAgICAgICB2YXIgZG1pbiA9IGRvbWFpblswXTsKICAgICAgICBpZiAoaSA+IDApIHsKICAgICAgICAgIGRtaW4gPSBib3VuZHNbaSAtIDFdOwogICAgICAgIH0KICAgICAgICB2YXIgZG1heCA9IGRvbWFpblsxXTsKICAgICAgICBpZiAoaSA8IGJvdW5kcy5sZW5ndGgpIHsKICAgICAgICAgIGRtYXggPSBib3VuZHNbaV07CiAgICAgICAgfQoKICAgICAgICB2YXIgcm1pbiA9IGVuY29kZVsyICogaV07CiAgICAgICAgdmFyIHJtYXggPSBlbmNvZGVbMiAqIGkgKyAxXTsKCiAgICAgICAgdG1wQnVmWzBdID0gcm1pbiArICh2IC0gZG1pbikgKiAocm1heCAtIHJtaW4pIC8gKGRtYXggLSBkbWluKTsKCiAgICAgICAgLy8gY2FsbCB0aGUgYXBwcm9wcmlhdGUgZnVuY3Rpb24KICAgICAgICBmbnNbaV0odG1wQnVmLCAwLCBkZXN0LCBkZXN0T2Zmc2V0KTsKICAgICAgfTsKICAgIH0sCgogICAgY29uc3RydWN0UG9zdFNjcmlwdDogZnVuY3Rpb24gUERGRnVuY3Rpb25fY29uc3RydWN0UG9zdFNjcmlwdChmbiwgZGljdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHJlZikgewogICAgICB2YXIgZG9tYWluID0gZGljdC5nZXQoJ0RvbWFpbicpOwogICAgICB2YXIgcmFuZ2UgPSBkaWN0LmdldCgnUmFuZ2UnKTsKCiAgICAgIGlmICghZG9tYWluKSB7CiAgICAgICAgZXJyb3IoJ05vIGRvbWFpbi4nKTsKICAgICAgfQoKICAgICAgaWYgKCFyYW5nZSkgewogICAgICAgIGVycm9yKCdObyByYW5nZS4nKTsKICAgICAgfQoKICAgICAgdmFyIGxleGVyID0gbmV3IFBvc3RTY3JpcHRMZXhlcihmbik7CiAgICAgIHZhciBwYXJzZXIgPSBuZXcgUG9zdFNjcmlwdFBhcnNlcihsZXhlcik7CiAgICAgIHZhciBjb2RlID0gcGFyc2VyLnBhcnNlKCk7CgogICAgICByZXR1cm4gW0NPTlNUUlVDVF9QT1NUU0NSSVBULCBkb21haW4sIHJhbmdlLCBjb2RlXTsKICAgIH0sCgogICAgY29uc3RydWN0UG9zdFNjcmlwdEZyb21JUjogZnVuY3Rpb24gUERGRnVuY3Rpb25fY29uc3RydWN0UG9zdFNjcmlwdEZyb21JUigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVIpIHsKICAgICAgdmFyIGRvbWFpbiA9IElSWzFdOwogICAgICB2YXIgcmFuZ2UgPSBJUlsyXTsKICAgICAgdmFyIGNvZGUgPSBJUlszXTsKCiAgICAgIHZhciBjb21waWxlZCA9IChuZXcgUG9zdFNjcmlwdENvbXBpbGVyKCkpLmNvbXBpbGUoY29kZSwgZG9tYWluLCByYW5nZSk7CiAgICAgIGlmIChjb21waWxlZCkgewogICAgICAgIC8vIENvbXBpbGVkIGZ1bmN0aW9uIGNvbnNpc3RzIG9mIHNpbXBsZSBleHByZXNzaW9ucyBzdWNoIGFzIGFkZGl0aW9uLAogICAgICAgIC8vIHN1YnRyYWN0aW9uLCBNYXRoLm1heCwgYW5kIGFsc28gY29udGFpbnMgJ3ZhcicgYW5kICdyZXR1cm4nCiAgICAgICAgLy8gc3RhdGVtZW50cy4gU2VlIHRoZSBnZW5lcmF0aW9uIGluIHRoZSBQb3N0U2NyaXB0Q29tcGlsZXIgYmVsb3cuCiAgICAgICAgLypqc2hpbnQgLVcwNTQgKi8KICAgICAgICByZXR1cm4gbmV3IEZ1bmN0aW9uKCdzcmMnLCAnc3JjT2Zmc2V0JywgJ2Rlc3QnLCAnZGVzdE9mZnNldCcsIGNvbXBpbGVkKTsKICAgICAgfQoKICAgICAgaW5mbygnVW5hYmxlIHRvIGNvbXBpbGUgUFMgZnVuY3Rpb24nKTsKCiAgICAgIHZhciBudW1PdXRwdXRzID0gcmFuZ2UubGVuZ3RoID4+IDE7CiAgICAgIHZhciBudW1JbnB1dHMgPSBkb21haW4ubGVuZ3RoID4+IDE7CiAgICAgIHZhciBldmFsdWF0b3IgPSBuZXcgUG9zdFNjcmlwdEV2YWx1YXRvcihjb2RlKTsKICAgICAgLy8gQ2FjaGUgdGhlIHZhbHVlcyBmb3IgYSBiaWcgc3BlZWQgdXAsIHRoZSBjYWNoZSBzaXplIGlzIGxpbWl0ZWQgdGhvdWdoCiAgICAgIC8vIHNpbmNlIHRoZSBudW1iZXIgb2YgcG9zc2libGUgdmFsdWVzIGNhbiBiZSBodWdlIGZyb20gYSBQUyBmdW5jdGlvbi4KICAgICAgdmFyIGNhY2hlID0ge307CiAgICAgIC8vIFRoZSBNQVhfQ0FDSEVfU0laRSBpcyBzZXQgdG8gfjR4IHRoZSBtYXhpbXVtIG51bWJlciBvZiBkaXN0aW5jdCB2YWx1ZXMKICAgICAgLy8gc2VlbiBpbiBvdXIgdGVzdHMuCiAgICAgIHZhciBNQVhfQ0FDSEVfU0laRSA9IDIwNDggKiA0OwogICAgICB2YXIgY2FjaGVfYXZhaWxhYmxlID0gTUFYX0NBQ0hFX1NJWkU7CiAgICAgIHZhciB0bXBCdWYgPSBuZXcgRmxvYXQzMkFycmF5KG51bUlucHV0cyk7CgogICAgICByZXR1cm4gZnVuY3Rpb24gY29uc3RydWN0UG9zdFNjcmlwdEZyb21JUlJlc3VsdChzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICAgIHZhciBpLCB2YWx1ZTsKICAgICAgICB2YXIga2V5ID0gJyc7CiAgICAgICAgdmFyIGlucHV0ID0gdG1wQnVmOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1JbnB1dHM7IGkrKykgewogICAgICAgICAgdmFsdWUgPSBzcmNbc3JjT2Zmc2V0ICsgaV07CiAgICAgICAgICBpbnB1dFtpXSA9IHZhbHVlOwogICAgICAgICAga2V5ICs9IHZhbHVlICsgJ18nOwogICAgICAgIH0KCiAgICAgICAgdmFyIGNhY2hlZFZhbHVlID0gY2FjaGVba2V5XTsKICAgICAgICBpZiAoY2FjaGVkVmFsdWUgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgZGVzdC5zZXQoY2FjaGVkVmFsdWUsIGRlc3RPZmZzZXQpOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdmFyIG91dHB1dCA9IG5ldyBGbG9hdDMyQXJyYXkobnVtT3V0cHV0cyk7CiAgICAgICAgdmFyIHN0YWNrID0gZXZhbHVhdG9yLmV4ZWN1dGUoaW5wdXQpOwogICAgICAgIHZhciBzdGFja0luZGV4ID0gc3RhY2subGVuZ3RoIC0gbnVtT3V0cHV0czsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtT3V0cHV0czsgaSsrKSB7CiAgICAgICAgICB2YWx1ZSA9IHN0YWNrW3N0YWNrSW5kZXggKyBpXTsKICAgICAgICAgIHZhciBib3VuZCA9IHJhbmdlW2kgKiAyXTsKICAgICAgICAgIGlmICh2YWx1ZSA8IGJvdW5kKSB7CiAgICAgICAgICAgIHZhbHVlID0gYm91bmQ7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBib3VuZCA9IHJhbmdlW2kgKiAyICsxXTsKICAgICAgICAgICAgaWYgKHZhbHVlID4gYm91bmQpIHsKICAgICAgICAgICAgICB2YWx1ZSA9IGJvdW5kOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBvdXRwdXRbaV0gPSB2YWx1ZTsKICAgICAgICB9CiAgICAgICAgaWYgKGNhY2hlX2F2YWlsYWJsZSA+IDApIHsKICAgICAgICAgIGNhY2hlX2F2YWlsYWJsZS0tOwogICAgICAgICAgY2FjaGVba2V5XSA9IG91dHB1dDsKICAgICAgICB9CiAgICAgICAgZGVzdC5zZXQob3V0cHV0LCBkZXN0T2Zmc2V0KTsKICAgICAgfTsKICAgIH0KICB9Owp9KSgpOwoKZnVuY3Rpb24gaXNQREZGdW5jdGlvbih2KSB7CiAgdmFyIGZuRGljdDsKICBpZiAodHlwZW9mIHYgIT09ICdvYmplY3QnKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfSBlbHNlIGlmIChpc0RpY3QodikpIHsKICAgIGZuRGljdCA9IHY7CiAgfSBlbHNlIGlmIChpc1N0cmVhbSh2KSkgewogICAgZm5EaWN0ID0gdi5kaWN0OwogIH0gZWxzZSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQogIHJldHVybiBmbkRpY3QuaGFzKCdGdW5jdGlvblR5cGUnKTsKfQoKdmFyIFBvc3RTY3JpcHRTdGFjayA9IChmdW5jdGlvbiBQb3N0U2NyaXB0U3RhY2tDbG9zdXJlKCkgewogIHZhciBNQVhfU1RBQ0tfU0laRSA9IDEwMDsKICBmdW5jdGlvbiBQb3N0U2NyaXB0U3RhY2soaW5pdGlhbFN0YWNrKSB7CiAgICB0aGlzLnN0YWNrID0gIWluaXRpYWxTdGFjayA/IFtdIDoKICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChpbml0aWFsU3RhY2ssIDApOwogIH0KCiAgUG9zdFNjcmlwdFN0YWNrLnByb3RvdHlwZSA9IHsKICAgIHB1c2g6IGZ1bmN0aW9uIFBvc3RTY3JpcHRTdGFja19wdXNoKHZhbHVlKSB7CiAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA+PSBNQVhfU1RBQ0tfU0laRSkgewogICAgICAgIGVycm9yKCdQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIG92ZXJmbG93LicpOwogICAgICB9CiAgICAgIHRoaXMuc3RhY2sucHVzaCh2YWx1ZSk7CiAgICB9LAogICAgcG9wOiBmdW5jdGlvbiBQb3N0U2NyaXB0U3RhY2tfcG9wKCkgewogICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGggPD0gMCkgewogICAgICAgIGVycm9yKCdQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIHVuZGVyZmxvdy4nKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5zdGFjay5wb3AoKTsKICAgIH0sCiAgICBjb3B5OiBmdW5jdGlvbiBQb3N0U2NyaXB0U3RhY2tfY29weShuKSB7CiAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCArIG4gPj0gTUFYX1NUQUNLX1NJWkUpIHsKICAgICAgICBlcnJvcignUG9zdFNjcmlwdCBmdW5jdGlvbiBzdGFjayBvdmVyZmxvdy4nKTsKICAgICAgfQogICAgICB2YXIgc3RhY2sgPSB0aGlzLnN0YWNrOwogICAgICBmb3IgKHZhciBpID0gc3RhY2subGVuZ3RoIC0gbiwgaiA9IG4gLSAxOyBqID49IDA7IGotLSwgaSsrKSB7CiAgICAgICAgc3RhY2sucHVzaChzdGFja1tpXSk7CiAgICAgIH0KICAgIH0sCiAgICBpbmRleDogZnVuY3Rpb24gUG9zdFNjcmlwdFN0YWNrX2luZGV4KG4pIHsKICAgICAgdGhpcy5wdXNoKHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGggLSBuIC0gMV0pOwogICAgfSwKICAgIC8vIHJvdGF0ZSB0aGUgbGFzdCBuIHN0YWNrIGVsZW1lbnRzIHAgdGltZXMKICAgIHJvbGw6IGZ1bmN0aW9uIFBvc3RTY3JpcHRTdGFja19yb2xsKG4sIHApIHsKICAgICAgdmFyIHN0YWNrID0gdGhpcy5zdGFjazsKICAgICAgdmFyIGwgPSBzdGFjay5sZW5ndGggLSBuOwogICAgICB2YXIgciA9IHN0YWNrLmxlbmd0aCAtIDEsIGMgPSBsICsgKHAgLSBNYXRoLmZsb29yKHAgLyBuKSAqIG4pLCBpLCBqLCB0OwogICAgICBmb3IgKGkgPSBsLCBqID0gcjsgaSA8IGo7IGkrKywgai0tKSB7CiAgICAgICAgdCA9IHN0YWNrW2ldOyBzdGFja1tpXSA9IHN0YWNrW2pdOyBzdGFja1tqXSA9IHQ7CiAgICAgIH0KICAgICAgZm9yIChpID0gbCwgaiA9IGMgLSAxOyBpIDwgajsgaSsrLCBqLS0pIHsKICAgICAgICB0ID0gc3RhY2tbaV07IHN0YWNrW2ldID0gc3RhY2tbal07IHN0YWNrW2pdID0gdDsKICAgICAgfQogICAgICBmb3IgKGkgPSBjLCBqID0gcjsgaSA8IGo7IGkrKywgai0tKSB7CiAgICAgICAgdCA9IHN0YWNrW2ldOyBzdGFja1tpXSA9IHN0YWNrW2pdOyBzdGFja1tqXSA9IHQ7CiAgICAgIH0KICAgIH0KICB9OwogIHJldHVybiBQb3N0U2NyaXB0U3RhY2s7Cn0pKCk7CnZhciBQb3N0U2NyaXB0RXZhbHVhdG9yID0gKGZ1bmN0aW9uIFBvc3RTY3JpcHRFdmFsdWF0b3JDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBvc3RTY3JpcHRFdmFsdWF0b3Iob3BlcmF0b3JzKSB7CiAgICB0aGlzLm9wZXJhdG9ycyA9IG9wZXJhdG9yczsKICB9CiAgUG9zdFNjcmlwdEV2YWx1YXRvci5wcm90b3R5cGUgPSB7CiAgICBleGVjdXRlOiBmdW5jdGlvbiBQb3N0U2NyaXB0RXZhbHVhdG9yX2V4ZWN1dGUoaW5pdGlhbFN0YWNrKSB7CiAgICAgIHZhciBzdGFjayA9IG5ldyBQb3N0U2NyaXB0U3RhY2soaW5pdGlhbFN0YWNrKTsKICAgICAgdmFyIGNvdW50ZXIgPSAwOwogICAgICB2YXIgb3BlcmF0b3JzID0gdGhpcy5vcGVyYXRvcnM7CiAgICAgIHZhciBsZW5ndGggPSBvcGVyYXRvcnMubGVuZ3RoOwogICAgICB2YXIgb3BlcmF0b3IsIGEsIGI7CiAgICAgIHdoaWxlIChjb3VudGVyIDwgbGVuZ3RoKSB7CiAgICAgICAgb3BlcmF0b3IgPSBvcGVyYXRvcnNbY291bnRlcisrXTsKICAgICAgICBpZiAodHlwZW9mIG9wZXJhdG9yID09PSAnbnVtYmVyJykgewogICAgICAgICAgLy8gT3BlcmF0b3IgaXMgcmVhbGx5IGFuIG9wZXJhbmQgYW5kIHNob3VsZCBiZSBwdXNoZWQgdG8gdGhlIHN0YWNrLgogICAgICAgICAgc3RhY2sucHVzaChvcGVyYXRvcik7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgc3dpdGNoIChvcGVyYXRvcikgewogICAgICAgICAgLy8gbm9uIHN0YW5kYXJkIHBzIG9wZXJhdG9ycwogICAgICAgICAgY2FzZSAnanonOiAvLyBqdW1wIGlmIGZhbHNlCiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBpZiAoIWEpIHsKICAgICAgICAgICAgICBjb3VudGVyID0gYjsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2onOiAvLyBqdW1wCiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgY291bnRlciA9IGE7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIC8vIGFsbCBwcyBvcGVyYXRvcnMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIChleGNsdWRpbmcgaWYvaWZlbHNlKQogICAgICAgICAgY2FzZSAnYWJzJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKE1hdGguYWJzKGEpKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdhZGQnOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChhICsgYik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnYW5kJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGlmIChpc0Jvb2woYSkgJiYgaXNCb29sKGIpKSB7CiAgICAgICAgICAgICAgc3RhY2sucHVzaChhICYmIGIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goYSAmIGIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnYXRhbic6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChNYXRoLmF0YW4oYSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2JpdHNoaWZ0JzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGlmIChhID4gMCkgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goYSA8PCBiKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKGEgPj4gYik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdjZWlsaW5nJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKE1hdGguY2VpbChhKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnY29weSc6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2suY29weShhKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdjb3MnOgogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goTWF0aC5jb3MoYSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2N2aSc6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKSB8IDA7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnY3ZyJzoKICAgICAgICAgICAgLy8gbm9vcAogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2Rpdic6CiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKGEgLyBiKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdkdXAnOgogICAgICAgICAgICBzdGFjay5jb3B5KDEpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2VxJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSA9PT0gYik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZXhjaCc6CiAgICAgICAgICAgIHN0YWNrLnJvbGwoMiwgMSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZXhwJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goTWF0aC5wb3coYSwgYikpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2ZhbHNlJzoKICAgICAgICAgICAgc3RhY2sucHVzaChmYWxzZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZmxvb3InOgogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goTWF0aC5mbG9vcihhKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnZ2UnOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChhID49IGIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2d0JzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSA+IGIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2lkaXYnOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaCgoYSAvIGIpIHwgMCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnaW5kZXgnOgogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLmluZGV4KGEpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2xlJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSA8PSBiKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdsbic6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChNYXRoLmxvZyhhKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnbG9nJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKE1hdGgubG9nKGEpIC8gTWF0aC5MTjEwKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdsdCc6CiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKGEgPCBiKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdtb2QnOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChhICUgYik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnbXVsJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSAqIGIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ25lJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYSAhPT0gYik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnbmVnJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKC1hKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdub3QnOgogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGlmIChpc0Jvb2woYSkpIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKCFhKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKH5hKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ29yJzoKICAgICAgICAgICAgYiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBhID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGlmIChpc0Jvb2woYSkgJiYgaXNCb29sKGIpKSB7CiAgICAgICAgICAgICAgc3RhY2sucHVzaChhIHx8IGIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goYSB8IGIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAncG9wJzoKICAgICAgICAgICAgc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAncm9sbCc6CiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5yb2xsKGEsIGIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3JvdW5kJzoKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKE1hdGgucm91bmQoYSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3Npbic6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChNYXRoLnNpbihhKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnc3FydCc6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChNYXRoLnNxcnQoYSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3N1Yic6CiAgICAgICAgICAgIGIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKGEgLSBiKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICd0cnVlJzoKICAgICAgICAgICAgc3RhY2sucHVzaCh0cnVlKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICd0cnVuY2F0ZSc6CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgYSA9IGEgPCAwID8gTWF0aC5jZWlsKGEpIDogTWF0aC5mbG9vcihhKTsKICAgICAgICAgICAgc3RhY2sucHVzaChhKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICd4b3InOgogICAgICAgICAgICBiID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgaWYgKGlzQm9vbChhKSAmJiBpc0Jvb2woYikpIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKGEgIT09IGIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goYSBeIGIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgZXJyb3IoJ1Vua25vd24gb3BlcmF0b3IgJyArIG9wZXJhdG9yKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBzdGFjay5zdGFjazsKICAgIH0KICB9OwogIHJldHVybiBQb3N0U2NyaXB0RXZhbHVhdG9yOwp9KSgpOwoKLy8gTW9zdCBvZiB0aGUgUERGcyBmdW5jdGlvbnMgY29uc2lzdCBvZiBzaW1wbGUgb3BlcmF0aW9ucyBzdWNoIGFzOgovLyAgIHJvbGwsIGV4Y2gsIHN1YiwgY3ZyLCBwb3AsIGluZGV4LCBkdXAsIG11bCwgaWYsIGd0LCBhZGQuCi8vCi8vIFdlIGNhbiBjb21waWxlIG1vc3Qgb2Ygc3VjaCBwcm9ncmFtcywgYW5kIGF0IHRoZSBzYW1lIG1vbWVudCwgd2UgY2FuCi8vIG9wdGltaXplIHNvbWUgZXhwcmVzc2lvbnMgdXNpbmcgYmFzaWMgbWF0aCBwcm9wZXJ0aWVzLiBLZWVwaW5nIHRyYWNrIG9mCi8vIG1pbi9tYXggdmFsdWVzIHdpbGwgYWxsb3cgdXMgdG8gYXZvaWQgZXh0cmEgTWF0aC5taW4vTWF0aC5tYXggY2FsbHMuCnZhciBQb3N0U2NyaXB0Q29tcGlsZXIgPSAoZnVuY3Rpb24gUG9zdFNjcmlwdENvbXBpbGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBBc3ROb2RlKHR5cGUpIHsKICAgIHRoaXMudHlwZSA9IHR5cGU7CiAgfQogIEFzdE5vZGUucHJvdG90eXBlLnZpc2l0ID0gZnVuY3Rpb24gKHZpc2l0b3IpIHsKICAgIHRocm93IG5ldyBFcnJvcignYWJzdHJhY3QgbWV0aG9kJyk7CiAgfTsKCiAgZnVuY3Rpb24gQXN0QXJndW1lbnQoaW5kZXgsIG1pbiwgbWF4KSB7CiAgICBBc3ROb2RlLmNhbGwodGhpcywgJ2FyZ3MnKTsKICAgIHRoaXMuaW5kZXggPSBpbmRleDsKICAgIHRoaXMubWluID0gbWluOwogICAgdGhpcy5tYXggPSBtYXg7CiAgfQogIEFzdEFyZ3VtZW50LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXN0Tm9kZS5wcm90b3R5cGUpOwogIEFzdEFyZ3VtZW50LnByb3RvdHlwZS52aXNpdCA9IGZ1bmN0aW9uICh2aXNpdG9yKSB7CiAgICB2aXNpdG9yLnZpc2l0QXJndW1lbnQodGhpcyk7CiAgfTsKCiAgZnVuY3Rpb24gQXN0TGl0ZXJhbChudW1iZXIpIHsKICAgIEFzdE5vZGUuY2FsbCh0aGlzLCAnbGl0ZXJhbCcpOwogICAgdGhpcy5udW1iZXIgPSBudW1iZXI7CiAgICB0aGlzLm1pbiA9IG51bWJlcjsKICAgIHRoaXMubWF4ID0gbnVtYmVyOwogIH0KICBBc3RMaXRlcmFsLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXN0Tm9kZS5wcm90b3R5cGUpOwogIEFzdExpdGVyYWwucHJvdG90eXBlLnZpc2l0ID0gZnVuY3Rpb24gKHZpc2l0b3IpIHsKICAgIHZpc2l0b3IudmlzaXRMaXRlcmFsKHRoaXMpOwogIH07CgogIGZ1bmN0aW9uIEFzdEJpbmFyeU9wZXJhdGlvbihvcCwgYXJnMSwgYXJnMiwgbWluLCBtYXgpIHsKICAgIEFzdE5vZGUuY2FsbCh0aGlzLCAnYmluYXJ5Jyk7CiAgICB0aGlzLm9wID0gb3A7CiAgICB0aGlzLmFyZzEgPSBhcmcxOwogICAgdGhpcy5hcmcyID0gYXJnMjsKICAgIHRoaXMubWluID0gbWluOwogICAgdGhpcy5tYXggPSBtYXg7CiAgfQogIEFzdEJpbmFyeU9wZXJhdGlvbi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEFzdE5vZGUucHJvdG90eXBlKTsKICBBc3RCaW5hcnlPcGVyYXRpb24ucHJvdG90eXBlLnZpc2l0ID0gZnVuY3Rpb24gKHZpc2l0b3IpIHsKICAgIHZpc2l0b3IudmlzaXRCaW5hcnlPcGVyYXRpb24odGhpcyk7CiAgfTsKCiAgZnVuY3Rpb24gQXN0TWluKGFyZywgbWF4KSB7CiAgICBBc3ROb2RlLmNhbGwodGhpcywgJ21heCcpOwogICAgdGhpcy5hcmcgPSBhcmc7CiAgICB0aGlzLm1pbiA9IGFyZy5taW47CiAgICB0aGlzLm1heCA9IG1heDsKICB9CiAgQXN0TWluLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXN0Tm9kZS5wcm90b3R5cGUpOwogIEFzdE1pbi5wcm90b3R5cGUudmlzaXQgPSBmdW5jdGlvbiAodmlzaXRvcikgewogICAgdmlzaXRvci52aXNpdE1pbih0aGlzKTsKICB9OwoKICBmdW5jdGlvbiBBc3RWYXJpYWJsZShpbmRleCwgbWluLCBtYXgpIHsKICAgIEFzdE5vZGUuY2FsbCh0aGlzLCAndmFyJyk7CiAgICB0aGlzLmluZGV4ID0gaW5kZXg7CiAgICB0aGlzLm1pbiA9IG1pbjsKICAgIHRoaXMubWF4ID0gbWF4OwogIH0KICBBc3RWYXJpYWJsZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEFzdE5vZGUucHJvdG90eXBlKTsKICBBc3RWYXJpYWJsZS5wcm90b3R5cGUudmlzaXQgPSBmdW5jdGlvbiAodmlzaXRvcikgewogICAgdmlzaXRvci52aXNpdFZhcmlhYmxlKHRoaXMpOwogIH07CgogIGZ1bmN0aW9uIEFzdFZhcmlhYmxlRGVmaW5pdGlvbih2YXJpYWJsZSwgYXJnKSB7CiAgICBBc3ROb2RlLmNhbGwodGhpcywgJ2RlZmluaXRpb24nKTsKICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTsKICAgIHRoaXMuYXJnID0gYXJnOwogIH0KICBBc3RWYXJpYWJsZURlZmluaXRpb24ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShBc3ROb2RlLnByb3RvdHlwZSk7CiAgQXN0VmFyaWFibGVEZWZpbml0aW9uLnByb3RvdHlwZS52aXNpdCA9IGZ1bmN0aW9uICh2aXNpdG9yKSB7CiAgICB2aXNpdG9yLnZpc2l0VmFyaWFibGVEZWZpbml0aW9uKHRoaXMpOwogIH07CgogIGZ1bmN0aW9uIEV4cHJlc3Npb25CdWlsZGVyVmlzaXRvcigpIHsKICAgIHRoaXMucGFydHMgPSBbXTsKICB9CiAgRXhwcmVzc2lvbkJ1aWxkZXJWaXNpdG9yLnByb3RvdHlwZSA9IHsKICAgIHZpc2l0QXJndW1lbnQ6IGZ1bmN0aW9uIChhcmcpIHsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCdNYXRoLm1heCgnLCBhcmcubWluLCAnLCBNYXRoLm1pbignLAogICAgICAgICAgICAgICAgICAgICAgYXJnLm1heCwgJywgc3JjW3NyY09mZnNldCArICcsIGFyZy5pbmRleCwgJ10pKScpOwogICAgfSwKICAgIHZpc2l0VmFyaWFibGU6IGZ1bmN0aW9uICh2YXJpYWJsZSkgewogICAgICB0aGlzLnBhcnRzLnB1c2goJ3YnLCB2YXJpYWJsZS5pbmRleCk7CiAgICB9LAogICAgdmlzaXRMaXRlcmFsOiBmdW5jdGlvbiAobGl0ZXJhbCkgewogICAgICB0aGlzLnBhcnRzLnB1c2gobGl0ZXJhbC5udW1iZXIpOwogICAgfSwKICAgIHZpc2l0QmluYXJ5T3BlcmF0aW9uOiBmdW5jdGlvbiAob3BlcmF0aW9uKSB7CiAgICAgIHRoaXMucGFydHMucHVzaCgnKCcpOwogICAgICBvcGVyYXRpb24uYXJnMS52aXNpdCh0aGlzKTsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCcgJywgb3BlcmF0aW9uLm9wLCAnICcpOwogICAgICBvcGVyYXRpb24uYXJnMi52aXNpdCh0aGlzKTsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCcpJyk7CiAgICB9LAogICAgdmlzaXRWYXJpYWJsZURlZmluaXRpb246IGZ1bmN0aW9uIChkZWZpbml0aW9uKSB7CiAgICAgIHRoaXMucGFydHMucHVzaCgndmFyICcpOwogICAgICBkZWZpbml0aW9uLnZhcmlhYmxlLnZpc2l0KHRoaXMpOwogICAgICB0aGlzLnBhcnRzLnB1c2goJyA9ICcpOwogICAgICBkZWZpbml0aW9uLmFyZy52aXNpdCh0aGlzKTsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCc7Jyk7CiAgICB9LAogICAgdmlzaXRNaW46IGZ1bmN0aW9uIChtYXgpIHsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCdNYXRoLm1pbignKTsKICAgICAgbWF4LmFyZy52aXNpdCh0aGlzKTsKICAgICAgdGhpcy5wYXJ0cy5wdXNoKCcsICcsIG1heC5tYXgsICcpJyk7CiAgICB9LAogICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgcmV0dXJuIHRoaXMucGFydHMuam9pbignJyk7CiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gYnVpbGRBZGRPcGVyYXRpb24obnVtMSwgbnVtMikgewogICAgaWYgKG51bTIudHlwZSA9PT0gJ2xpdGVyYWwnICYmIG51bTIubnVtYmVyID09PSAwKSB7CiAgICAgIC8vIG9wdGltaXphdGlvbjogc2Vjb25kIG9wZXJhbmQgaXMgMAogICAgICByZXR1cm4gbnVtMTsKICAgIH0KICAgIGlmIChudW0xLnR5cGUgPT09ICdsaXRlcmFsJyAmJiBudW0xLm51bWJlciA9PT0gMCkgewogICAgICAvLyBvcHRpbWl6YXRpb246IGZpcnN0IG9wZXJhbmQgaXMgMAogICAgICByZXR1cm4gbnVtMjsKICAgIH0KICAgIGlmIChudW0yLnR5cGUgPT09ICdsaXRlcmFsJyAmJiBudW0xLnR5cGUgPT09ICdsaXRlcmFsJykgewogICAgICAvLyBvcHRpbWl6YXRpb246IG9wZXJhbmRzIG9wZXJhbmQgYXJlIGxpdGVyYWxzCiAgICAgIHJldHVybiBuZXcgQXN0TGl0ZXJhbChudW0xLm51bWJlciArIG51bTIubnVtYmVyKTsKICAgIH0KICAgIHJldHVybiBuZXcgQXN0QmluYXJ5T3BlcmF0aW9uKCcrJywgbnVtMSwgbnVtMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bTEubWluICsgbnVtMi5taW4sIG51bTEubWF4ICsgbnVtMi5tYXgpOwogIH0KCiAgZnVuY3Rpb24gYnVpbGRNdWxPcGVyYXRpb24obnVtMSwgbnVtMikgewogICAgaWYgKG51bTIudHlwZSA9PT0gJ2xpdGVyYWwnKSB7CiAgICAgIC8vIG9wdGltaXphdGlvbjogc2Vjb25kIG9wZXJhbmRzIGlzIGEgbGl0ZXJhbC4uLgogICAgICBpZiAobnVtMi5udW1iZXIgPT09IDApIHsKICAgICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwoMCk7IC8vIGFuZCBpdCdzIDAKICAgICAgfSBlbHNlIGlmIChudW0yLm51bWJlciA9PT0gMSkgewogICAgICAgIHJldHVybiBudW0xOyAvLyBhbmQgaXQncyAxCiAgICAgIH0gZWxzZSBpZiAobnVtMS50eXBlID09PSAnbGl0ZXJhbCcpIHsKICAgICAgICAvLyAuLi4gYW5kIGZpcnN0IG9wZXJhbmRzIGlzIGEgbGl0ZXJhbCB0b28KICAgICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwobnVtMS5udW1iZXIgKiBudW0yLm51bWJlcik7CiAgICAgIH0KICAgIH0KICAgIGlmIChudW0xLnR5cGUgPT09ICdsaXRlcmFsJykgewogICAgICAvLyBvcHRpbWl6YXRpb246IGZpcnN0IG9wZXJhbmRzIGlzIGEgbGl0ZXJhbC4uLgogICAgICBpZiAobnVtMS5udW1iZXIgPT09IDApIHsKICAgICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwoMCk7IC8vIGFuZCBpdCdzIDAKICAgICAgfSBlbHNlIGlmIChudW0xLm51bWJlciA9PT0gMSkgewogICAgICAgIHJldHVybiBudW0yOyAvLyBhbmQgaXQncyAxCiAgICAgIH0KICAgIH0KICAgIHZhciBtaW4gPSBNYXRoLm1pbihudW0xLm1pbiAqIG51bTIubWluLCBudW0xLm1pbiAqIG51bTIubWF4LAogICAgICAgICAgICAgICAgICAgICAgIG51bTEubWF4ICogbnVtMi5taW4sIG51bTEubWF4ICogbnVtMi5tYXgpOwogICAgdmFyIG1heCA9IE1hdGgubWF4KG51bTEubWluICogbnVtMi5taW4sIG51bTEubWluICogbnVtMi5tYXgsCiAgICAgICAgICAgICAgICAgICAgICAgbnVtMS5tYXggKiBudW0yLm1pbiwgbnVtMS5tYXggKiBudW0yLm1heCk7CiAgICByZXR1cm4gbmV3IEFzdEJpbmFyeU9wZXJhdGlvbignKicsIG51bTEsIG51bTIsIG1pbiwgbWF4KTsKICB9CgogIGZ1bmN0aW9uIGJ1aWxkU3ViT3BlcmF0aW9uKG51bTEsIG51bTIpIHsKICAgIGlmIChudW0yLnR5cGUgPT09ICdsaXRlcmFsJykgewogICAgICAvLyBvcHRpbWl6YXRpb246IHNlY29uZCBvcGVyYW5kcyBpcyBhIGxpdGVyYWwuLi4KICAgICAgaWYgKG51bTIubnVtYmVyID09PSAwKSB7CiAgICAgICAgcmV0dXJuIG51bTE7IC8vIC4uLiBhbmQgaXQncyAwCiAgICAgIH0gZWxzZSBpZiAobnVtMS50eXBlID09PSAnbGl0ZXJhbCcpIHsKICAgICAgICAvLyAuLi4gYW5kIGZpcnN0IG9wZXJhbmRzIGlzIGEgbGl0ZXJhbCB0b28KICAgICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwobnVtMS5udW1iZXIgLSBudW0yLm51bWJlcik7CiAgICAgIH0KICAgIH0KICAgIGlmIChudW0yLnR5cGUgPT09ICdiaW5hcnknICYmIG51bTIub3AgPT09ICctJyAmJgogICAgICBudW0xLnR5cGUgPT09ICdsaXRlcmFsJyAmJiBudW0xLm51bWJlciA9PT0gMSAmJgogICAgICBudW0yLmFyZzEudHlwZSA9PT0gJ2xpdGVyYWwnICYmIG51bTIuYXJnMS5udW1iZXIgPT09IDEpIHsKICAgICAgLy8gb3B0aW1pemF0aW9uIGZvciBjYXNlOiAxIC0gKDEgLSB4KQogICAgICByZXR1cm4gbnVtMi5hcmcyOwogICAgfQogICAgcmV0dXJuIG5ldyBBc3RCaW5hcnlPcGVyYXRpb24oJy0nLCBudW0xLCBudW0yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtMS5taW4gLSBudW0yLm1heCwgbnVtMS5tYXggLSBudW0yLm1pbik7CiAgfQoKICBmdW5jdGlvbiBidWlsZE1pbk9wZXJhdGlvbihudW0xLCBtYXgpIHsKICAgIGlmIChudW0xLm1pbiA+PSBtYXgpIHsKICAgICAgLy8gb3B0aW1pemF0aW9uOiBudW0xIG1pbiB2YWx1ZSBpcyBub3QgbGVzcyB0aGFuIHJlcXVpcmVkIG1heAogICAgICByZXR1cm4gbmV3IEFzdExpdGVyYWwobWF4KTsgLy8ganVzdCByZXR1cm5pbmcgbWF4CiAgICB9IGVsc2UgaWYgKG51bTEubWF4IDw9IG1heCkgewogICAgICAvLyBvcHRpbWl6YXRpb246IG51bTEgbWF4IHZhbHVlIGlzIG5vdCBncmVhdGVyIHRoYW4gcmVxdWlyZWQgbWF4CiAgICAgIHJldHVybiBudW0xOyAvLyBqdXN0IHJldHVybmluZyBhbiBhcmd1bWVudAogICAgfQogICAgcmV0dXJuIG5ldyBBc3RNaW4obnVtMSwgbWF4KTsKICB9CgogIGZ1bmN0aW9uIFBvc3RTY3JpcHRDb21waWxlcigpIHt9CiAgUG9zdFNjcmlwdENvbXBpbGVyLnByb3RvdHlwZSA9IHsKICAgIGNvbXBpbGU6IGZ1bmN0aW9uIFBvc3RTY3JpcHRDb21waWxlcl9jb21waWxlKGNvZGUsIGRvbWFpbiwgcmFuZ2UpIHsKICAgICAgdmFyIHN0YWNrID0gW107CiAgICAgIHZhciBpLCBpaTsKICAgICAgdmFyIGluc3RydWN0aW9ucyA9IFtdOwogICAgICB2YXIgaW5wdXRTaXplID0gZG9tYWluLmxlbmd0aCA+PiAxLCBvdXRwdXRTaXplID0gcmFuZ2UubGVuZ3RoID4+IDE7CiAgICAgIHZhciBsYXN0UmVnaXN0ZXIgPSAwOwogICAgICB2YXIgbiwgaiwgbWluLCBtYXg7CiAgICAgIHZhciBudW0xLCBudW0yLCBhc3QxLCBhc3QyLCB0bXBWYXIsIGl0ZW07CiAgICAgIGZvciAoaSA9IDA7IGkgPCBpbnB1dFNpemU7IGkrKykgewogICAgICAgIHN0YWNrLnB1c2gobmV3IEFzdEFyZ3VtZW50KGksIGRvbWFpbltpICogMl0sIGRvbWFpbltpICogMiArIDFdKSk7CiAgICAgIH0KCiAgICAgIGZvciAoaSA9IDAsIGlpID0gY29kZS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgaXRlbSA9IGNvZGVbaV07CiAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnbnVtYmVyJykgewogICAgICAgICAgc3RhY2sucHVzaChuZXcgQXN0TGl0ZXJhbChpdGVtKSk7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIHN3aXRjaCAoaXRlbSkgewogICAgICAgICAgY2FzZSAnYWRkJzoKICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA8IDIpIHsKICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBudW0yID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIG51bTEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgc3RhY2sucHVzaChidWlsZEFkZE9wZXJhdGlvbihudW0xLCBudW0yKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnY3ZyJzoKICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA8IDEpIHsKICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ211bCc6CiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbnVtMiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBudW0xID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYnVpbGRNdWxPcGVyYXRpb24obnVtMSwgbnVtMikpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3N1Yic6CiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbnVtMiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBudW0xID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHN0YWNrLnB1c2goYnVpbGRTdWJPcGVyYXRpb24obnVtMSwgbnVtMikpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2V4Y2gnOgogICAgICAgICAgICBpZiAoc3RhY2subGVuZ3RoIDwgMikgewogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFzdDEgPSBzdGFjay5wb3AoKTsgYXN0MiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBzdGFjay5wdXNoKGFzdDEsIGFzdDIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3BvcCc6CiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPCAxKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3RhY2sucG9wKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnaW5kZXgnOgogICAgICAgICAgICBpZiAoc3RhY2subGVuZ3RoIDwgMSkgewogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG51bTEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgaWYgKG51bTEudHlwZSAhPT0gJ2xpdGVyYWwnKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbiA9IG51bTEubnVtYmVyOwogICAgICAgICAgICBpZiAobiA8IDAgfHwgKG58MCkgIT09IG4gfHwgc3RhY2subGVuZ3RoIDwgbikgewogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFzdDEgPSBzdGFja1tzdGFjay5sZW5ndGggLSBuIC0gMV07CiAgICAgICAgICAgIGlmIChhc3QxLnR5cGUgPT09ICdsaXRlcmFsJyB8fCBhc3QxLnR5cGUgPT09ICd2YXInKSB7CiAgICAgICAgICAgICAgc3RhY2sucHVzaChhc3QxKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICB0bXBWYXIgPSBuZXcgQXN0VmFyaWFibGUobGFzdFJlZ2lzdGVyKyssIGFzdDEubWluLCBhc3QxLm1heCk7CiAgICAgICAgICAgIHN0YWNrW3N0YWNrLmxlbmd0aCAtIG4gLSAxXSA9IHRtcFZhcjsKICAgICAgICAgICAgc3RhY2sucHVzaCh0bXBWYXIpOwogICAgICAgICAgICBpbnN0cnVjdGlvbnMucHVzaChuZXcgQXN0VmFyaWFibGVEZWZpbml0aW9uKHRtcFZhciwgYXN0MSkpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2R1cCc6CiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPCAxKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHR5cGVvZiBjb2RlW2kgKyAxXSA9PT0gJ251bWJlcicgJiYgY29kZVtpICsgMl0gPT09ICdndCcgJiYKICAgICAgICAgICAgICAgIGNvZGVbaSArIDNdID09PSBpICsgNyAmJiBjb2RlW2kgKyA0XSA9PT0gJ2p6JyAmJgogICAgICAgICAgICAgICAgY29kZVtpICsgNV0gPT09ICdwb3AnICYmIGNvZGVbaSArIDZdID09PSBjb2RlW2kgKyAxXSkgewogICAgICAgICAgICAgIC8vIHNwZWNpYWwgY2FzZSBvZiB0aGUgY29tbWFuZHMgc2VxdWVuY2UgZm9yIHRoZSBtaW4gb3BlcmF0aW9uCiAgICAgICAgICAgICAgbnVtMSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHN0YWNrLnB1c2goYnVpbGRNaW5PcGVyYXRpb24obnVtMSwgY29kZVtpICsgMV0pKTsKICAgICAgICAgICAgICBpICs9IDY7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYXN0MSA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdOwogICAgICAgICAgICBpZiAoYXN0MS50eXBlID09PSAnbGl0ZXJhbCcgfHwgYXN0MS50eXBlID09PSAndmFyJykgewogICAgICAgICAgICAgIC8vIHdlIGRvbid0IGhhdmUgdG8gc2F2ZSBpbnRvIGludGVybWVkaWF0ZSB2YXJpYWJsZSBhIGxpdGVyYWwgb3IKICAgICAgICAgICAgICAvLyB2YXJpYWJsZS4KICAgICAgICAgICAgICBzdGFjay5wdXNoKGFzdDEpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRtcFZhciA9IG5ldyBBc3RWYXJpYWJsZShsYXN0UmVnaXN0ZXIrKywgYXN0MS5taW4sIGFzdDEubWF4KTsKICAgICAgICAgICAgc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0gPSB0bXBWYXI7CiAgICAgICAgICAgIHN0YWNrLnB1c2godG1wVmFyKTsKICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zLnB1c2gobmV3IEFzdFZhcmlhYmxlRGVmaW5pdGlvbih0bXBWYXIsIGFzdDEpKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdyb2xsJzoKICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA8IDIpIHsKICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBudW0yID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIG51bTEgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgaWYgKG51bTIudHlwZSAhPT0gJ2xpdGVyYWwnIHx8IG51bTEudHlwZSAhPT0gJ2xpdGVyYWwnKSB7CiAgICAgICAgICAgICAgLy8gYm90aCByb2xsIG9wZXJhbmRzIG11c3QgYmUgbnVtYmVycwogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGogPSBudW0yLm51bWJlcjsKICAgICAgICAgICAgbiA9IG51bTEubnVtYmVyOwogICAgICAgICAgICBpZiAobiA8PSAwIHx8IChufDApICE9PSBuIHx8IChqfDApICE9PSBqIHx8IHN0YWNrLmxlbmd0aCA8IG4pIHsKICAgICAgICAgICAgICAvLyAuLi4gYW5kIGludGVnZXJzCiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaiA9ICgoaiAlIG4pICsgbikgJSBuOwogICAgICAgICAgICBpZiAoaiA9PT0gMCkgewogICAgICAgICAgICAgIGJyZWFrOyAvLyBqdXN0IHNraXBwaW5nIC0tIHRoZXJlIGFyZSBub3RoaW5nIHRvIHJvdGF0ZQogICAgICAgICAgICB9CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHN0YWNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFjay5zcGxpY2Uoc3RhY2subGVuZ3RoIC0gbiwgbiAtIGopKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICByZXR1cm4gbnVsbDsgLy8gdW5zdXBwb3J0ZWQgb3BlcmF0b3IKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChzdGFjay5sZW5ndGggIT09IG91dHB1dFNpemUpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQoKICAgICAgdmFyIHJlc3VsdCA9IFtdOwogICAgICBpbnN0cnVjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW5zdHJ1Y3Rpb24pIHsKICAgICAgICB2YXIgc3RhdGVtZW50QnVpbGRlciA9IG5ldyBFeHByZXNzaW9uQnVpbGRlclZpc2l0b3IoKTsKICAgICAgICBpbnN0cnVjdGlvbi52aXNpdChzdGF0ZW1lbnRCdWlsZGVyKTsKICAgICAgICByZXN1bHQucHVzaChzdGF0ZW1lbnRCdWlsZGVyLnRvU3RyaW5nKCkpOwogICAgICB9KTsKICAgICAgc3RhY2suZm9yRWFjaChmdW5jdGlvbiAoZXhwciwgaSkgewogICAgICAgIHZhciBzdGF0ZW1lbnRCdWlsZGVyID0gbmV3IEV4cHJlc3Npb25CdWlsZGVyVmlzaXRvcigpOwogICAgICAgIGV4cHIudmlzaXQoc3RhdGVtZW50QnVpbGRlcik7CiAgICAgICAgdmFyIG1pbiA9IHJhbmdlW2kgKiAyXSwgbWF4ID0gcmFuZ2VbaSAqIDIgKyAxXTsKICAgICAgICB2YXIgb3V0ID0gW3N0YXRlbWVudEJ1aWxkZXIudG9TdHJpbmcoKV07CiAgICAgICAgaWYgKG1pbiA+IGV4cHIubWluKSB7CiAgICAgICAgICBvdXQudW5zaGlmdCgnTWF0aC5tYXgoJywgbWluLCAnLCAnKTsKICAgICAgICAgIG91dC5wdXNoKCcpJyk7CiAgICAgICAgfQogICAgICAgIGlmIChtYXggPCBleHByLm1heCkgewogICAgICAgICAgb3V0LnVuc2hpZnQoJ01hdGgubWluKCcsIG1heCwgJywgJyk7CiAgICAgICAgICBvdXQucHVzaCgnKScpOwogICAgICAgIH0KICAgICAgICBvdXQudW5zaGlmdCgnZGVzdFtkZXN0T2Zmc2V0ICsgJywgaSwgJ10gPSAnKTsKICAgICAgICBvdXQucHVzaCgnOycpOwogICAgICAgIHJlc3VsdC5wdXNoKG91dC5qb2luKCcnKSk7CiAgICAgIH0pOwogICAgICByZXR1cm4gcmVzdWx0LmpvaW4oJ1xuJyk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFBvc3RTY3JpcHRDb21waWxlcjsKfSkoKTsKCgp2YXIgQ29sb3JTcGFjZSA9IChmdW5jdGlvbiBDb2xvclNwYWNlQ2xvc3VyZSgpIHsKICAvLyBDb25zdHJ1Y3RvciBzaG91bGQgZGVmaW5lIHRoaXMubnVtQ29tcHMsIHRoaXMuZGVmYXVsdENvbG9yLCB0aGlzLm5hbWUKICBmdW5jdGlvbiBDb2xvclNwYWNlKCkgewogICAgZXJyb3IoJ3Nob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlIGNvbnN0cnVjdG9yJyk7CiAgfQoKICBDb2xvclNwYWNlLnByb3RvdHlwZSA9IHsKICAgIC8qKgogICAgICogQ29udmVydHMgdGhlIGNvbG9yIHZhbHVlIHRvIHRoZSBSR0IgY29sb3IuIFRoZSBjb2xvciBjb21wb25lbnRzIGFyZQogICAgICogbG9jYXRlZCBpbiB0aGUgc3JjIGFycmF5IHN0YXJ0aW5nIGZyb20gdGhlIHNyY09mZnNldC4gUmV0dXJucyB0aGUgYXJyYXkKICAgICAqIG9mIHRoZSByZ2IgY29tcG9uZW50cywgZWFjaCB2YWx1ZSByYW5naW5nIGZyb20gWzAsMjU1XS4KICAgICAqLwogICAgZ2V0UmdiOiBmdW5jdGlvbiBDb2xvclNwYWNlX2dldFJnYihzcmMsIHNyY09mZnNldCkgewogICAgICB2YXIgcmdiID0gbmV3IFVpbnQ4QXJyYXkoMyk7CiAgICAgIHRoaXMuZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwgcmdiLCAwKTsKICAgICAgcmV0dXJuIHJnYjsKICAgIH0sCiAgICAvKioKICAgICAqIENvbnZlcnRzIHRoZSBjb2xvciB2YWx1ZSB0byB0aGUgUkdCIGNvbG9yLCBzaW1pbGFyIHRvIHRoZSBnZXRSZ2IgbWV0aG9kLgogICAgICogVGhlIHJlc3VsdCBwbGFjZWQgaW50byB0aGUgZGVzdCBhcnJheSBzdGFydGluZyBmcm9tIHRoZSBkZXN0T2Zmc2V0LgogICAgICovCiAgICBnZXRSZ2JJdGVtOiBmdW5jdGlvbiBDb2xvclNwYWNlX2dldFJnYkl0ZW0oc3JjLCBzcmNPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICBlcnJvcignU2hvdWxkIG5vdCBjYWxsIENvbG9yU3BhY2UuZ2V0UmdiSXRlbScpOwogICAgfSwKICAgIC8qKgogICAgICogQ29udmVydHMgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGhlIGNvbG9yIHZhbHVlcyB0byB0aGUgUkdCIGNvbG9ycy4KICAgICAqIFRoZSBjb2xvcnMgYXJlIGxvY2F0ZWQgaW4gdGhlIHNyYyBhcnJheSBzdGFydGluZyBmcm9tIHRoZSBzcmNPZmZzZXQuCiAgICAgKiBUaGUgcmVzdWx0IGlzIHBsYWNlZCBpbnRvIHRoZSBkZXN0IGFycmF5IHN0YXJ0aW5nIGZyb20gdGhlIGRlc3RPZmZzZXQuCiAgICAgKiBUaGUgc3JjIGFycmF5IGl0ZW1zIHNoYWxsIGJlIGluIFswLDJeYml0cykgcmFuZ2UsIHRoZSBkZXN0IGFycmF5IGl0ZW1zCiAgICAgKiB3aWxsIGJlIGluIFswLDI1NV0gcmFuZ2UuIGFscGhhMDEgaW5kaWNhdGVzIGhvdyBtYW55IGFscGhhIGNvbXBvbmVudHMKICAgICAqIHRoZXJlIGFyZSBpbiB0aGUgZGVzdCBhcnJheTsgaXQgd2lsbCBiZSBlaXRoZXIgMCAoUkdCIGFycmF5KSBvciAxIChSR0JBCiAgICAgKiBhcnJheSkuCiAgICAgKi8KICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gQ29sb3JTcGFjZV9nZXRSZ2JCdWZmZXIoc3JjLCBzcmNPZmZzZXQsIGNvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIGVycm9yKCdTaG91bGQgbm90IGNhbGwgQ29sb3JTcGFjZS5nZXRSZ2JCdWZmZXInKTsKICAgIH0sCiAgICAvKioKICAgICAqIERldGVybWluZXMgdGhlIG51bWJlciBvZiBieXRlcyByZXF1aXJlZCB0byBzdG9yZSB0aGUgcmVzdWx0IG9mIHRoZQogICAgICogY29udmVyc2lvbiBkb25lIGJ5IHRoZSBnZXRSZ2JCdWZmZXIgbWV0aG9kLiBBcyBpbiBnZXRSZ2JCdWZmZXIsCiAgICAgKiB8YWxwaGEwMXwgaXMgZWl0aGVyIDAgKFJHQiBvdXRwdXQpIG9yIDEgKFJHQkEgb3V0cHV0KS4KICAgICAqLwogICAgZ2V0T3V0cHV0TGVuZ3RoOiBmdW5jdGlvbiBDb2xvclNwYWNlX2dldE91dHB1dExlbmd0aChpbnB1dExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSkgewogICAgICBlcnJvcignU2hvdWxkIG5vdCBjYWxsIENvbG9yU3BhY2UuZ2V0T3V0cHV0TGVuZ3RoJyk7CiAgICB9LAogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRydWUgaWYgc291cmNlIGRhdGEgd2lsbCBiZSBlcXVhbCB0aGUgcmVzdWx0L291dHB1dCBkYXRhLgogICAgICovCiAgICBpc1Bhc3N0aHJvdWdoOiBmdW5jdGlvbiBDb2xvclNwYWNlX2lzUGFzc3Rocm91Z2goYml0cykgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAogICAgLyoqCiAgICAgKiBGaWxscyBpbiB0aGUgUkdCIGNvbG9ycyBpbiB0aGUgZGVzdGluYXRpb24gYnVmZmVyLiAgYWxwaGEwMSBpbmRpY2F0ZXMKICAgICAqIGhvdyBtYW55IGFscGhhIGNvbXBvbmVudHMgdGhlcmUgYXJlIGluIHRoZSBkZXN0IGFycmF5OyBpdCB3aWxsIGJlIGVpdGhlcgogICAgICogMCAoUkdCIGFycmF5KSBvciAxIChSR0JBIGFycmF5KS4KICAgICAqLwogICAgZmlsbFJnYjogZnVuY3Rpb24gQ29sb3JTcGFjZV9maWxsUmdiKGRlc3QsIG9yaWdpbmFsV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxIZWlnaHQsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsSGVpZ2h0LCBicGMsIGNvbXBzLCBhbHBoYTAxKSB7CiAgICAgIHZhciBjb3VudCA9IG9yaWdpbmFsV2lkdGggKiBvcmlnaW5hbEhlaWdodDsKICAgICAgdmFyIHJnYkJ1ZiA9IG51bGw7CiAgICAgIHZhciBudW1Db21wb25lbnRDb2xvcnMgPSAxIDw8IGJwYzsKICAgICAgdmFyIG5lZWRzUmVzaXppbmcgPSBvcmlnaW5hbEhlaWdodCAhPT0gaGVpZ2h0IHx8IG9yaWdpbmFsV2lkdGggIT09IHdpZHRoOwogICAgICB2YXIgaSwgaWk7CgogICAgICBpZiAodGhpcy5pc1Bhc3N0aHJvdWdoKGJwYykpIHsKICAgICAgICByZ2JCdWYgPSBjb21wczsKICAgICAgfSBlbHNlIGlmICh0aGlzLm51bUNvbXBzID09PSAxICYmIGNvdW50ID4gbnVtQ29tcG9uZW50Q29sb3JzICYmCiAgICAgICAgICB0aGlzLm5hbWUgIT09ICdEZXZpY2VHcmF5JyAmJiB0aGlzLm5hbWUgIT09ICdEZXZpY2VSR0InKSB7CiAgICAgICAgLy8gT3B0aW1pemF0aW9uOiBjcmVhdGUgYSBjb2xvciBtYXAgd2hlbiB0aGVyZSBpcyBqdXN0IG9uZSBjb21wb25lbnQgYW5kCiAgICAgICAgLy8gd2UgYXJlIGNvbnZlcnRpbmcgbW9yZSBjb2xvcnMgdGhhbiB0aGUgc2l6ZSBvZiB0aGUgY29sb3IgbWFwLiBXZQogICAgICAgIC8vIGRvbid0IGJ1aWxkIHRoZSBtYXAgaWYgdGhlIGNvbG9yc3BhY2UgaXMgZ3JheSBvciByZ2Igc2luY2UgdGhvc2UKICAgICAgICAvLyBtZXRob2RzIGFyZSBmYXN0ZXIgdGhhbiBidWlsZGluZyBhIG1hcC4gVGhpcyBtYWlubHkgb2ZmZXJzIGJpZyBzcGVlZAogICAgICAgIC8vIHVwcyBmb3IgaW5kZXhlZCBhbmQgYWx0ZXJuYXRlIGNvbG9yc3BhY2VzLgogICAgICAgIC8vCiAgICAgICAgLy8gVE9ETyBpdCBtYXkgYmUgd29ydGggd2hpbGUgdG8gY2FjaGUgdGhlIGNvbG9yIG1hcC4gV2hpbGUgcnVubmluZwogICAgICAgIC8vIHRlc3RpbmcgSSBuZXZlciBoaXQgYSBjYWNoZSBzbyBJIHdpbGwgbGVhdmUgdGhhdCBvdXQgZm9yIG5vdyAocGVyaGFwcwogICAgICAgIC8vIHdlIGFyZSByZXBhcnNpbmcgY29sb3JzcGFjZXMgdG9vIG11Y2g/KS4KICAgICAgICB2YXIgYWxsQ29sb3JzID0gYnBjIDw9IDggPyBuZXcgVWludDhBcnJheShudW1Db21wb25lbnRDb2xvcnMpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgVWludDE2QXJyYXkobnVtQ29tcG9uZW50Q29sb3JzKTsKICAgICAgICB2YXIga2V5OwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1Db21wb25lbnRDb2xvcnM7IGkrKykgewogICAgICAgICAgYWxsQ29sb3JzW2ldID0gaTsKICAgICAgICB9CiAgICAgICAgdmFyIGNvbG9yTWFwID0gbmV3IFVpbnQ4QXJyYXkobnVtQ29tcG9uZW50Q29sb3JzICogMyk7CiAgICAgICAgdGhpcy5nZXRSZ2JCdWZmZXIoYWxsQ29sb3JzLCAwLCBudW1Db21wb25lbnRDb2xvcnMsIGNvbG9yTWFwLCAwLCBicGMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWxwaGEwMSA9ICovIDApOwoKICAgICAgICB2YXIgZGVzdFBvcywgcmdiUG9zOwogICAgICAgIGlmICghbmVlZHNSZXNpemluZykgewogICAgICAgICAgLy8gRmlsbCBpbiB0aGUgUkdCIHZhbHVlcyBkaXJlY3RseSBpbnRvIHxkZXN0fC4KICAgICAgICAgIGRlc3RQb3MgPSAwOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgICAga2V5ID0gY29tcHNbaV0gKiAzOwogICAgICAgICAgICBkZXN0W2Rlc3RQb3MrK10gPSBjb2xvck1hcFtrZXldOwogICAgICAgICAgICBkZXN0W2Rlc3RQb3MrK10gPSBjb2xvck1hcFtrZXkgKyAxXTsKICAgICAgICAgICAgZGVzdFtkZXN0UG9zKytdID0gY29sb3JNYXBba2V5ICsgMl07CiAgICAgICAgICAgIGRlc3RQb3MgKz0gYWxwaGEwMTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmdiQnVmID0gbmV3IFVpbnQ4QXJyYXkoY291bnQgKiAzKTsKICAgICAgICAgIHJnYlBvcyA9IDA7CiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgICAgICBrZXkgPSBjb21wc1tpXSAqIDM7CiAgICAgICAgICAgIHJnYkJ1ZltyZ2JQb3MrK10gPSBjb2xvck1hcFtrZXldOwogICAgICAgICAgICByZ2JCdWZbcmdiUG9zKytdID0gY29sb3JNYXBba2V5ICsgMV07CiAgICAgICAgICAgIHJnYkJ1ZltyZ2JQb3MrK10gPSBjb2xvck1hcFtrZXkgKyAyXTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFuZWVkc1Jlc2l6aW5nKSB7CiAgICAgICAgICAvLyBGaWxsIGluIHRoZSBSR0IgdmFsdWVzIGRpcmVjdGx5IGludG8gfGRlc3R8LgogICAgICAgICAgdGhpcy5nZXRSZ2JCdWZmZXIoY29tcHMsIDAsIHdpZHRoICogYWN0dWFsSGVpZ2h0LCBkZXN0LCAwLCBicGMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmdiQnVmID0gbmV3IFVpbnQ4QXJyYXkoY291bnQgKiAzKTsKICAgICAgICAgIHRoaXMuZ2V0UmdiQnVmZmVyKGNvbXBzLCAwLCBjb3VudCwgcmdiQnVmLCAwLCBicGMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhbHBoYTAxID0gKi8gMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAocmdiQnVmKSB7CiAgICAgICAgaWYgKG5lZWRzUmVzaXppbmcpIHsKICAgICAgICAgIFBERkltYWdlLnJlc2l6ZShyZ2JCdWYsIGJwYywgMywgb3JpZ2luYWxXaWR0aCwgb3JpZ2luYWxIZWlnaHQsIHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCwgZGVzdCwgYWxwaGEwMSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJnYlBvcyA9IDA7CiAgICAgICAgICBkZXN0UG9zID0gMDsKICAgICAgICAgIGZvciAoaSA9IDAsIGlpID0gd2lkdGggKiBhY3R1YWxIZWlnaHQ7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIGRlc3RbZGVzdFBvcysrXSA9IHJnYkJ1ZltyZ2JQb3MrK107CiAgICAgICAgICAgIGRlc3RbZGVzdFBvcysrXSA9IHJnYkJ1ZltyZ2JQb3MrK107CiAgICAgICAgICAgIGRlc3RbZGVzdFBvcysrXSA9IHJnYkJ1ZltyZ2JQb3MrK107CiAgICAgICAgICAgIGRlc3RQb3MgKz0gYWxwaGEwMTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIFRydWUgaWYgdGhlIGNvbG9yc3BhY2UgaGFzIGNvbXBvbmVudHMgaW4gdGhlIGRlZmF1bHQgcmFuZ2Ugb2YgWzAsIDFdLgogICAgICogVGhpcyBzaG91bGQgYmUgdHJ1ZSBmb3IgYWxsIGNvbG9yc3BhY2VzIGV4Y2VwdCBmb3IgbGFiIGNvbG9yIHNwYWNlcwogICAgICogd2hpY2ggYXJlIFswLDEwMF0sIFstMTI4LCAxMjddLCBbLTEyOCwgMTI3XS4KICAgICAqLwogICAgdXNlc1plcm9Ub09uZVJhbmdlOiB0cnVlCiAgfTsKCiAgQ29sb3JTcGFjZS5wYXJzZSA9IGZ1bmN0aW9uIENvbG9yU3BhY2VfcGFyc2UoY3MsIHhyZWYsIHJlcykgewogICAgdmFyIElSID0gQ29sb3JTcGFjZS5wYXJzZVRvSVIoY3MsIHhyZWYsIHJlcyk7CiAgICBpZiAoSVIgaW5zdGFuY2VvZiBBbHRlcm5hdGVDUykgewogICAgICByZXR1cm4gSVI7CiAgICB9CiAgICByZXR1cm4gQ29sb3JTcGFjZS5mcm9tSVIoSVIpOwogIH07CgogIENvbG9yU3BhY2UuZnJvbUlSID0gZnVuY3Rpb24gQ29sb3JTcGFjZV9mcm9tSVIoSVIpIHsKICAgIHZhciBuYW1lID0gaXNBcnJheShJUikgPyBJUlswXSA6IElSOwogICAgdmFyIHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hOwoKICAgIHN3aXRjaCAobmFtZSkgewogICAgICBjYXNlICdEZXZpY2VHcmF5Q1MnOgogICAgICAgIHJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTsKICAgICAgY2FzZSAnRGV2aWNlUmdiQ1MnOgogICAgICAgIHJldHVybiB0aGlzLnNpbmdsZXRvbnMucmdiOwogICAgICBjYXNlICdEZXZpY2VDbXlrQ1MnOgogICAgICAgIHJldHVybiB0aGlzLnNpbmdsZXRvbnMuY215azsKICAgICAgY2FzZSAnQ2FsR3JheUNTJzoKICAgICAgICB3aGl0ZVBvaW50ID0gSVJbMV0uV2hpdGVQb2ludDsKICAgICAgICBibGFja1BvaW50ID0gSVJbMV0uQmxhY2tQb2ludDsKICAgICAgICBnYW1tYSA9IElSWzFdLkdhbW1hOwogICAgICAgIHJldHVybiBuZXcgQ2FsR3JheUNTKHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hKTsKICAgICAgY2FzZSAnQ2FsUkdCQ1MnOgogICAgICAgIHdoaXRlUG9pbnQgPSBJUlsxXS5XaGl0ZVBvaW50OwogICAgICAgIGJsYWNrUG9pbnQgPSBJUlsxXS5CbGFja1BvaW50OwogICAgICAgIGdhbW1hID0gSVJbMV0uR2FtbWE7CiAgICAgICAgdmFyIG1hdHJpeCA9IElSWzFdLk1hdHJpeDsKICAgICAgICByZXR1cm4gbmV3IENhbFJHQkNTKHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hLCBtYXRyaXgpOwogICAgICBjYXNlICdQYXR0ZXJuQ1MnOgogICAgICAgIHZhciBiYXNlUGF0dGVybkNTID0gSVJbMV07CiAgICAgICAgaWYgKGJhc2VQYXR0ZXJuQ1MpIHsKICAgICAgICAgIGJhc2VQYXR0ZXJuQ1MgPSBDb2xvclNwYWNlLmZyb21JUihiYXNlUGF0dGVybkNTKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBQYXR0ZXJuQ1MoYmFzZVBhdHRlcm5DUyk7CiAgICAgIGNhc2UgJ0luZGV4ZWRDUyc6CiAgICAgICAgdmFyIGJhc2VJbmRleGVkQ1MgPSBJUlsxXTsKICAgICAgICB2YXIgaGlWYWwgPSBJUlsyXTsKICAgICAgICB2YXIgbG9va3VwID0gSVJbM107CiAgICAgICAgcmV0dXJuIG5ldyBJbmRleGVkQ1MoQ29sb3JTcGFjZS5mcm9tSVIoYmFzZUluZGV4ZWRDUyksIGhpVmFsLCBsb29rdXApOwogICAgICBjYXNlICdBbHRlcm5hdGVDUyc6CiAgICAgICAgdmFyIG51bUNvbXBzID0gSVJbMV07CiAgICAgICAgdmFyIGFsdCA9IElSWzJdOwogICAgICAgIHZhciB0aW50Rm5JUiA9IElSWzNdOwoKICAgICAgICByZXR1cm4gbmV3IEFsdGVybmF0ZUNTKG51bUNvbXBzLCBDb2xvclNwYWNlLmZyb21JUihhbHQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBERkZ1bmN0aW9uLmZyb21JUih0aW50Rm5JUikpOwogICAgICBjYXNlICdMYWJDUyc6CiAgICAgICAgd2hpdGVQb2ludCA9IElSWzFdLldoaXRlUG9pbnQ7CiAgICAgICAgYmxhY2tQb2ludCA9IElSWzFdLkJsYWNrUG9pbnQ7CiAgICAgICAgdmFyIHJhbmdlID0gSVJbMV0uUmFuZ2U7CiAgICAgICAgcmV0dXJuIG5ldyBMYWJDUyh3aGl0ZVBvaW50LCBibGFja1BvaW50LCByYW5nZSk7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgZXJyb3IoJ1Vua25vd24gbmFtZSAnICsgbmFtZSk7CiAgICB9CiAgICByZXR1cm4gbnVsbDsKICB9OwoKICBDb2xvclNwYWNlLnBhcnNlVG9JUiA9IGZ1bmN0aW9uIENvbG9yU3BhY2VfcGFyc2VUb0lSKGNzLCB4cmVmLCByZXMpIHsKICAgIGlmIChpc05hbWUoY3MpKSB7CiAgICAgIHZhciBjb2xvclNwYWNlcyA9IHJlcy5nZXQoJ0NvbG9yU3BhY2UnKTsKICAgICAgaWYgKGlzRGljdChjb2xvclNwYWNlcykpIHsKICAgICAgICB2YXIgcmVmY3MgPSBjb2xvclNwYWNlcy5nZXQoY3MubmFtZSk7CiAgICAgICAgaWYgKHJlZmNzKSB7CiAgICAgICAgICBjcyA9IHJlZmNzOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIGNzID0geHJlZi5mZXRjaElmUmVmKGNzKTsKICAgIHZhciBtb2RlOwoKICAgIGlmIChpc05hbWUoY3MpKSB7CiAgICAgIG1vZGUgPSBjcy5uYW1lOwogICAgICB0aGlzLm1vZGUgPSBtb2RlOwoKICAgICAgc3dpdGNoIChtb2RlKSB7CiAgICAgICAgY2FzZSAnRGV2aWNlR3JheSc6CiAgICAgICAgY2FzZSAnRyc6CiAgICAgICAgICByZXR1cm4gJ0RldmljZUdyYXlDUyc7CiAgICAgICAgY2FzZSAnRGV2aWNlUkdCJzoKICAgICAgICBjYXNlICdSR0InOgogICAgICAgICAgcmV0dXJuICdEZXZpY2VSZ2JDUyc7CiAgICAgICAgY2FzZSAnRGV2aWNlQ01ZSyc6CiAgICAgICAgY2FzZSAnQ01ZSyc6CiAgICAgICAgICByZXR1cm4gJ0RldmljZUNteWtDUyc7CiAgICAgICAgY2FzZSAnUGF0dGVybic6CiAgICAgICAgICByZXR1cm4gWydQYXR0ZXJuQ1MnLCBudWxsXTsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgZXJyb3IoJ3VucmVjb2duaXplZCBjb2xvcnNwYWNlICcgKyBtb2RlKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChpc0FycmF5KGNzKSkgewogICAgICBtb2RlID0gY3NbMF0ubmFtZTsKICAgICAgdGhpcy5tb2RlID0gbW9kZTsKICAgICAgdmFyIG51bUNvbXBzLCBwYXJhbXM7CgogICAgICBzd2l0Y2ggKG1vZGUpIHsKICAgICAgICBjYXNlICdEZXZpY2VHcmF5JzoKICAgICAgICBjYXNlICdHJzoKICAgICAgICAgIHJldHVybiAnRGV2aWNlR3JheUNTJzsKICAgICAgICBjYXNlICdEZXZpY2VSR0InOgogICAgICAgIGNhc2UgJ1JHQic6CiAgICAgICAgICByZXR1cm4gJ0RldmljZVJnYkNTJzsKICAgICAgICBjYXNlICdEZXZpY2VDTVlLJzoKICAgICAgICBjYXNlICdDTVlLJzoKICAgICAgICAgIHJldHVybiAnRGV2aWNlQ215a0NTJzsKICAgICAgICBjYXNlICdDYWxHcmF5JzoKICAgICAgICAgIHBhcmFtcyA9IHhyZWYuZmV0Y2hJZlJlZihjc1sxXSkuZ2V0QWxsKCk7CiAgICAgICAgICByZXR1cm4gWydDYWxHcmF5Q1MnLCBwYXJhbXNdOwogICAgICAgIGNhc2UgJ0NhbFJHQic6CiAgICAgICAgICBwYXJhbXMgPSB4cmVmLmZldGNoSWZSZWYoY3NbMV0pLmdldEFsbCgpOwogICAgICAgICAgcmV0dXJuIFsnQ2FsUkdCQ1MnLCBwYXJhbXNdOwogICAgICAgIGNhc2UgJ0lDQ0Jhc2VkJzoKICAgICAgICAgIHZhciBzdHJlYW0gPSB4cmVmLmZldGNoSWZSZWYoY3NbMV0pOwogICAgICAgICAgdmFyIGRpY3QgPSBzdHJlYW0uZGljdDsKICAgICAgICAgIG51bUNvbXBzID0gZGljdC5nZXQoJ04nKTsKICAgICAgICAgIGlmIChudW1Db21wcyA9PT0gMSkgewogICAgICAgICAgICByZXR1cm4gJ0RldmljZUdyYXlDUyc7CiAgICAgICAgICB9IGVsc2UgaWYgKG51bUNvbXBzID09PSAzKSB7CiAgICAgICAgICAgIHJldHVybiAnRGV2aWNlUmdiQ1MnOwogICAgICAgICAgfSBlbHNlIGlmIChudW1Db21wcyA9PT0gNCkgewogICAgICAgICAgICByZXR1cm4gJ0RldmljZUNteWtDUyc7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdQYXR0ZXJuJzoKICAgICAgICAgIHZhciBiYXNlUGF0dGVybkNTID0gY3NbMV07CiAgICAgICAgICBpZiAoYmFzZVBhdHRlcm5DUykgewogICAgICAgICAgICBiYXNlUGF0dGVybkNTID0gQ29sb3JTcGFjZS5wYXJzZVRvSVIoYmFzZVBhdHRlcm5DUywgeHJlZiwgcmVzKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBbJ1BhdHRlcm5DUycsIGJhc2VQYXR0ZXJuQ1NdOwogICAgICAgIGNhc2UgJ0luZGV4ZWQnOgogICAgICAgIGNhc2UgJ0knOgogICAgICAgICAgdmFyIGJhc2VJbmRleGVkQ1MgPSBDb2xvclNwYWNlLnBhcnNlVG9JUihjc1sxXSwgeHJlZiwgcmVzKTsKICAgICAgICAgIHZhciBoaVZhbCA9IGNzWzJdICsgMTsKICAgICAgICAgIHZhciBsb29rdXAgPSB4cmVmLmZldGNoSWZSZWYoY3NbM10pOwogICAgICAgICAgaWYgKGlzU3RyZWFtKGxvb2t1cCkpIHsKICAgICAgICAgICAgbG9va3VwID0gbG9va3VwLmdldEJ5dGVzKCk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gWydJbmRleGVkQ1MnLCBiYXNlSW5kZXhlZENTLCBoaVZhbCwgbG9va3VwXTsKICAgICAgICBjYXNlICdTZXBhcmF0aW9uJzoKICAgICAgICBjYXNlICdEZXZpY2VOJzoKICAgICAgICAgIHZhciBuYW1lID0gY3NbMV07CiAgICAgICAgICBudW1Db21wcyA9IDE7CiAgICAgICAgICBpZiAoaXNOYW1lKG5hbWUpKSB7CiAgICAgICAgICAgIG51bUNvbXBzID0gMTsKICAgICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShuYW1lKSkgewogICAgICAgICAgICBudW1Db21wcyA9IG5hbWUubGVuZ3RoOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGFsdCA9IENvbG9yU3BhY2UucGFyc2VUb0lSKGNzWzJdLCB4cmVmLCByZXMpOwogICAgICAgICAgdmFyIHRpbnRGbklSID0gUERGRnVuY3Rpb24uZ2V0SVIoeHJlZiwgeHJlZi5mZXRjaElmUmVmKGNzWzNdKSk7CiAgICAgICAgICByZXR1cm4gWydBbHRlcm5hdGVDUycsIG51bUNvbXBzLCBhbHQsIHRpbnRGbklSXTsKICAgICAgICBjYXNlICdMYWInOgogICAgICAgICAgcGFyYW1zID0gY3NbMV0uZ2V0QWxsKCk7CiAgICAgICAgICByZXR1cm4gWydMYWJDUycsIHBhcmFtc107CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIGVycm9yKCd1bmltcGxlbWVudGVkIGNvbG9yIHNwYWNlIG9iamVjdCAiJyArIG1vZGUgKyAnIicpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBlcnJvcigndW5yZWNvZ25pemVkIGNvbG9yIHNwYWNlIG9iamVjdDogIicgKyBjcyArICciJyk7CiAgICB9CiAgICByZXR1cm4gbnVsbDsKICB9OwogIC8qKgogICAqIENoZWNrcyBpZiBhIGRlY29kZSBtYXAgbWF0Y2hlcyB0aGUgZGVmYXVsdCBkZWNvZGUgbWFwIGZvciBhIGNvbG9yIHNwYWNlLgogICAqIFRoaXMgaGFuZGxlcyB0aGUgZ2VuZXJhbCBkZWNvZGUgbWFwcyB3aGVyZSB0aGVyZSBhcmUgdHdvIHZhbHVlcyBwZXIKICAgKiBjb21wb25lbnQuIGUuZy4gWzAsIDEsIDAsIDEsIDAsIDFdIGZvciBhIFJHQiBjb2xvci4KICAgKiBUaGlzIGRvZXMgbm90IGhhbmRsZSBMYWIsIEluZGV4ZWQsIG9yIFBhdHRlcm4gZGVjb2RlIG1hcHMgc2luY2UgdGhleSBhcmUKICAgKiBzbGlnaHRseSBkaWZmZXJlbnQuCiAgICogQHBhcmFtIHtBcnJheX0gZGVjb2RlIERlY29kZSBtYXAgKHVzdWFsbHkgZnJvbSBhbiBpbWFnZSkuCiAgICogQHBhcmFtIHtOdW1iZXJ9IG4gTnVtYmVyIG9mIGNvbXBvbmVudHMgdGhlIGNvbG9yIHNwYWNlIGhhcy4KICAgKi8KICBDb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZSA9IGZ1bmN0aW9uIENvbG9yU3BhY2VfaXNEZWZhdWx0RGVjb2RlKGRlY29kZSwgbikgewogICAgaWYgKCFkZWNvZGUpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgaWYgKG4gKiAyICE9PSBkZWNvZGUubGVuZ3RoKSB7CiAgICAgIHdhcm4oJ1RoZSBkZWNvZGUgbWFwIGlzIG5vdCB0aGUgY29ycmVjdCBsZW5ndGgnKTsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBkZWNvZGUubGVuZ3RoOyBpIDwgaWk7IGkgKz0gMikgewogICAgICBpZiAoZGVjb2RlW2ldICE9PSAwIHx8IGRlY29kZVtpICsgMV0gIT09IDEpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwogIH07CgogIENvbG9yU3BhY2Uuc2luZ2xldG9ucyA9IHsKICAgIGdldCBncmF5KCkgewogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdncmF5JywgbmV3IERldmljZUdyYXlDUygpKTsKICAgIH0sCiAgICBnZXQgcmdiKCkgewogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdyZ2InLCBuZXcgRGV2aWNlUmdiQ1MoKSk7CiAgICB9LAogICAgZ2V0IGNteWsoKSB7CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2NteWsnLCBuZXcgRGV2aWNlQ215a0NTKCkpOwogICAgfQogIH07CgogIHJldHVybiBDb2xvclNwYWNlOwp9KSgpOwoKLyoqCiAqIEFsdGVybmF0ZSBjb2xvciBzcGFjZSBoYW5kbGVzIGJvdGggU2VwYXJhdGlvbiBhbmQgRGV2aWNlTiBjb2xvciBzcGFjZXMuICBBCiAqIFNlcGFyYXRpb24gY29sb3Igc3BhY2UgaXMgYWN0dWFsbHkganVzdCBhIERldmljZU4gd2l0aCBvbmUgY29sb3IgY29tcG9uZW50LgogKiBCb3RoIGNvbG9yIHNwYWNlcyB1c2UgYSB0aW50aW5nIGZ1bmN0aW9uIHRvIGNvbnZlcnQgY29sb3JzIHRvIGEgYmFzZSBjb2xvcgogKiBzcGFjZS4KICovCnZhciBBbHRlcm5hdGVDUyA9IChmdW5jdGlvbiBBbHRlcm5hdGVDU0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQWx0ZXJuYXRlQ1MobnVtQ29tcHMsIGJhc2UsIHRpbnRGbikgewogICAgdGhpcy5uYW1lID0gJ0FsdGVybmF0ZSc7CiAgICB0aGlzLm51bUNvbXBzID0gbnVtQ29tcHM7CiAgICB0aGlzLmRlZmF1bHRDb2xvciA9IG5ldyBGbG9hdDMyQXJyYXkobnVtQ29tcHMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1Db21wczsgKytpKSB7CiAgICAgIHRoaXMuZGVmYXVsdENvbG9yW2ldID0gMTsKICAgIH0KICAgIHRoaXMuYmFzZSA9IGJhc2U7CiAgICB0aGlzLnRpbnRGbiA9IHRpbnRGbjsKICAgIHRoaXMudG1wQnVmID0gbmV3IEZsb2F0MzJBcnJheShiYXNlLm51bUNvbXBzKTsKICB9CgogIEFsdGVybmF0ZUNTLnByb3RvdHlwZSA9IHsKICAgIGdldFJnYjogQ29sb3JTcGFjZS5wcm90b3R5cGUuZ2V0UmdiLAogICAgZ2V0UmdiSXRlbTogZnVuY3Rpb24gQWx0ZXJuYXRlQ1NfZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICB2YXIgdG1wQnVmID0gdGhpcy50bXBCdWY7CiAgICAgIHRoaXMudGludEZuKHNyYywgc3JjT2Zmc2V0LCB0bXBCdWYsIDApOwogICAgICB0aGlzLmJhc2UuZ2V0UmdiSXRlbSh0bXBCdWYsIDAsIGRlc3QsIGRlc3RPZmZzZXQpOwogICAgfSwKICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gQWx0ZXJuYXRlQ1NfZ2V0UmdiQnVmZmVyKHNyYywgc3JjT2Zmc2V0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQsIGJpdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHZhciB0aW50Rm4gPSB0aGlzLnRpbnRGbjsKICAgICAgdmFyIGJhc2UgPSB0aGlzLmJhc2U7CiAgICAgIHZhciBzY2FsZSA9IDEgLyAoKDEgPDwgYml0cykgLSAxKTsKICAgICAgdmFyIGJhc2VOdW1Db21wcyA9IGJhc2UubnVtQ29tcHM7CiAgICAgIHZhciB1c2VzWmVyb1RvT25lUmFuZ2UgPSBiYXNlLnVzZXNaZXJvVG9PbmVSYW5nZTsKICAgICAgdmFyIGlzUGFzc3Rocm91Z2ggPSAoYmFzZS5pc1Bhc3N0aHJvdWdoKDgpIHx8ICF1c2VzWmVyb1RvT25lUmFuZ2UpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSA9PT0gMDsKICAgICAgdmFyIHBvcyA9IGlzUGFzc3Rocm91Z2ggPyBkZXN0T2Zmc2V0IDogMDsKICAgICAgdmFyIGJhc2VCdWYgPSBpc1Bhc3N0aHJvdWdoID8gZGVzdCA6IG5ldyBVaW50OEFycmF5KGJhc2VOdW1Db21wcyAqIGNvdW50KTsKICAgICAgdmFyIG51bUNvbXBzID0gdGhpcy5udW1Db21wczsKCiAgICAgIHZhciBzY2FsZWQgPSBuZXcgRmxvYXQzMkFycmF5KG51bUNvbXBzKTsKICAgICAgdmFyIHRpbnRlZCA9IG5ldyBGbG9hdDMyQXJyYXkoYmFzZU51bUNvbXBzKTsKICAgICAgdmFyIGksIGo7CiAgICAgIGlmICh1c2VzWmVyb1RvT25lUmFuZ2UpIHsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICAgZm9yIChqID0gMDsgaiA8IG51bUNvbXBzOyBqKyspIHsKICAgICAgICAgICAgc2NhbGVkW2pdID0gc3JjW3NyY09mZnNldCsrXSAqIHNjYWxlOwogICAgICAgICAgfQogICAgICAgICAgdGludEZuKHNjYWxlZCwgMCwgdGludGVkLCAwKTsKICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBiYXNlTnVtQ29tcHM7IGorKykgewogICAgICAgICAgICBiYXNlQnVmW3BvcysrXSA9IHRpbnRlZFtqXSAqIDI1NTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBudW1Db21wczsgaisrKSB7CiAgICAgICAgICAgIHNjYWxlZFtqXSA9IHNyY1tzcmNPZmZzZXQrK10gKiBzY2FsZTsKICAgICAgICAgIH0KICAgICAgICAgIHRpbnRGbihzY2FsZWQsIDAsIHRpbnRlZCwgMCk7CiAgICAgICAgICBiYXNlLmdldFJnYkl0ZW0odGludGVkLCAwLCBiYXNlQnVmLCBwb3MpOwogICAgICAgICAgcG9zICs9IGJhc2VOdW1Db21wczsKICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgKCFpc1Bhc3N0aHJvdWdoKSB7CiAgICAgICAgYmFzZS5nZXRSZ2JCdWZmZXIoYmFzZUJ1ZiwgMCwgY291bnQsIGRlc3QsIGRlc3RPZmZzZXQsIDgsIGFscGhhMDEpOwogICAgICB9CiAgICB9LAogICAgZ2V0T3V0cHV0TGVuZ3RoOiBmdW5jdGlvbiBBbHRlcm5hdGVDU19nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHJldHVybiB0aGlzLmJhc2UuZ2V0T3V0cHV0TGVuZ3RoKGlucHV0TGVuZ3RoICoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYXNlLm51bUNvbXBzIC8gdGhpcy5udW1Db21wcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSk7CiAgICB9LAogICAgaXNQYXNzdGhyb3VnaDogQ29sb3JTcGFjZS5wcm90b3R5cGUuaXNQYXNzdGhyb3VnaCwKICAgIGZpbGxSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmZpbGxSZ2IsCiAgICBpc0RlZmF1bHREZWNvZGU6IGZ1bmN0aW9uIEFsdGVybmF0ZUNTX2lzRGVmYXVsdERlY29kZShkZWNvZGVNYXApIHsKICAgICAgcmV0dXJuIENvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCwgdGhpcy5udW1Db21wcyk7CiAgICB9LAogICAgdXNlc1plcm9Ub09uZVJhbmdlOiB0cnVlCiAgfTsKCiAgcmV0dXJuIEFsdGVybmF0ZUNTOwp9KSgpOwoKdmFyIFBhdHRlcm5DUyA9IChmdW5jdGlvbiBQYXR0ZXJuQ1NDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBhdHRlcm5DUyhiYXNlQ1MpIHsKICAgIHRoaXMubmFtZSA9ICdQYXR0ZXJuJzsKICAgIHRoaXMuYmFzZSA9IGJhc2VDUzsKICB9CiAgUGF0dGVybkNTLnByb3RvdHlwZSA9IHt9OwoKICByZXR1cm4gUGF0dGVybkNTOwp9KSgpOwoKdmFyIEluZGV4ZWRDUyA9IChmdW5jdGlvbiBJbmRleGVkQ1NDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEluZGV4ZWRDUyhiYXNlLCBoaWdoVmFsLCBsb29rdXApIHsKICAgIHRoaXMubmFtZSA9ICdJbmRleGVkJzsKICAgIHRoaXMubnVtQ29tcHMgPSAxOwogICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBuZXcgVWludDhBcnJheShbMF0pOwogICAgdGhpcy5iYXNlID0gYmFzZTsKICAgIHRoaXMuaGlnaFZhbCA9IGhpZ2hWYWw7CgogICAgdmFyIGJhc2VOdW1Db21wcyA9IGJhc2UubnVtQ29tcHM7CiAgICB2YXIgbGVuZ3RoID0gYmFzZU51bUNvbXBzICogaGlnaFZhbDsKICAgIHZhciBsb29rdXBBcnJheTsKCiAgICBpZiAoaXNTdHJlYW0obG9va3VwKSkgewogICAgICBsb29rdXBBcnJheSA9IG5ldyBVaW50OEFycmF5KGxlbmd0aCk7CiAgICAgIHZhciBieXRlcyA9IGxvb2t1cC5nZXRCeXRlcyhsZW5ndGgpOwogICAgICBsb29rdXBBcnJheS5zZXQoYnl0ZXMpOwogICAgfSBlbHNlIGlmIChpc1N0cmluZyhsb29rdXApKSB7CiAgICAgIGxvb2t1cEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgIGxvb2t1cEFycmF5W2ldID0gbG9va3VwLmNoYXJDb2RlQXQoaSk7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAobG9va3VwIGluc3RhbmNlb2YgVWludDhBcnJheSB8fCBsb29rdXAgaW5zdGFuY2VvZiBBcnJheSkgewogICAgICBsb29rdXBBcnJheSA9IGxvb2t1cDsKICAgIH0gZWxzZSB7CiAgICAgIGVycm9yKCdVbnJlY29nbml6ZWQgbG9va3VwIHRhYmxlOiAnICsgbG9va3VwKTsKICAgIH0KICAgIHRoaXMubG9va3VwID0gbG9va3VwQXJyYXk7CiAgfQoKICBJbmRleGVkQ1MucHJvdG90eXBlID0gewogICAgZ2V0UmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5nZXRSZ2IsCiAgICBnZXRSZ2JJdGVtOiBmdW5jdGlvbiBJbmRleGVkQ1NfZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQpIHsKICAgICAgdmFyIG51bUNvbXBzID0gdGhpcy5iYXNlLm51bUNvbXBzOwogICAgICB2YXIgc3RhcnQgPSBzcmNbc3JjT2Zmc2V0XSAqIG51bUNvbXBzOwogICAgICB0aGlzLmJhc2UuZ2V0UmdiSXRlbSh0aGlzLmxvb2t1cCwgc3RhcnQsIGRlc3QsIGRlc3RPZmZzZXQpOwogICAgfSwKICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gSW5kZXhlZENTX2dldFJnYkJ1ZmZlcihzcmMsIHNyY09mZnNldCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCwgYml0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHZhciBiYXNlID0gdGhpcy5iYXNlOwogICAgICB2YXIgbnVtQ29tcHMgPSBiYXNlLm51bUNvbXBzOwogICAgICB2YXIgb3V0cHV0RGVsdGEgPSBiYXNlLmdldE91dHB1dExlbmd0aChudW1Db21wcywgYWxwaGEwMSk7CiAgICAgIHZhciBsb29rdXAgPSB0aGlzLmxvb2t1cDsKCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgIHZhciBsb29rdXBQb3MgPSBzcmNbc3JjT2Zmc2V0KytdICogbnVtQ29tcHM7CiAgICAgICAgYmFzZS5nZXRSZ2JCdWZmZXIobG9va3VwLCBsb29rdXBQb3MsIDEsIGRlc3QsIGRlc3RPZmZzZXQsIDgsIGFscGhhMDEpOwogICAgICAgIGRlc3RPZmZzZXQgKz0gb3V0cHV0RGVsdGE7CiAgICAgIH0KICAgIH0sCiAgICBnZXRPdXRwdXRMZW5ndGg6IGZ1bmN0aW9uIEluZGV4ZWRDU19nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGgsIGFscGhhMDEpIHsKICAgICAgcmV0dXJuIHRoaXMuYmFzZS5nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGggKiB0aGlzLmJhc2UubnVtQ29tcHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscGhhMDEpOwogICAgfSwKICAgIGlzUGFzc3Rocm91Z2g6IENvbG9yU3BhY2UucHJvdG90eXBlLmlzUGFzc3Rocm91Z2gsCiAgICBmaWxsUmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5maWxsUmdiLAogICAgaXNEZWZhdWx0RGVjb2RlOiBmdW5jdGlvbiBJbmRleGVkQ1NfaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCkgewogICAgICAvLyBpbmRleGVkIGNvbG9yIG1hcHMgc2hvdWxkbid0IGJlIGNoYW5nZWQKICAgICAgcmV0dXJuIHRydWU7CiAgICB9LAogICAgdXNlc1plcm9Ub09uZVJhbmdlOiB0cnVlCiAgfTsKICByZXR1cm4gSW5kZXhlZENTOwp9KSgpOwoKdmFyIERldmljZUdyYXlDUyA9IChmdW5jdGlvbiBEZXZpY2VHcmF5Q1NDbG9zdXJlKCkgewogIGZ1bmN0aW9uIERldmljZUdyYXlDUygpIHsKICAgIHRoaXMubmFtZSA9ICdEZXZpY2VHcmF5JzsKICAgIHRoaXMubnVtQ29tcHMgPSAxOwogICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBuZXcgRmxvYXQzMkFycmF5KFswXSk7CiAgfQoKICBEZXZpY2VHcmF5Q1MucHJvdG90eXBlID0gewogICAgZ2V0UmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5nZXRSZ2IsCiAgICBnZXRSZ2JJdGVtOiBmdW5jdGlvbiBEZXZpY2VHcmF5Q1NfZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQpIHsKICAgICAgdmFyIGMgPSAoc3JjW3NyY09mZnNldF0gKiAyNTUpIHwgMDsKICAgICAgYyA9IGMgPCAwID8gMCA6IGMgPiAyNTUgPyAyNTUgOiBjOwogICAgICBkZXN0W2Rlc3RPZmZzZXRdID0gZGVzdFtkZXN0T2Zmc2V0ICsgMV0gPSBkZXN0W2Rlc3RPZmZzZXQgKyAyXSA9IGM7CiAgICB9LAogICAgZ2V0UmdiQnVmZmVyOiBmdW5jdGlvbiBEZXZpY2VHcmF5Q1NfZ2V0UmdiQnVmZmVyKHNyYywgc3JjT2Zmc2V0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscGhhMDEpIHsKICAgICAgdmFyIHNjYWxlID0gMjU1IC8gKCgxIDw8IGJpdHMpIC0gMSk7CiAgICAgIHZhciBqID0gc3JjT2Zmc2V0LCBxID0gZGVzdE9mZnNldDsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgdmFyIGMgPSAoc2NhbGUgKiBzcmNbaisrXSkgfCAwOwogICAgICAgIGRlc3RbcSsrXSA9IGM7CiAgICAgICAgZGVzdFtxKytdID0gYzsKICAgICAgICBkZXN0W3ErK10gPSBjOwogICAgICAgIHEgKz0gYWxwaGEwMTsKICAgICAgfQogICAgfSwKICAgIGdldE91dHB1dExlbmd0aDogZnVuY3Rpb24gRGV2aWNlR3JheUNTX2dldE91dHB1dExlbmd0aChpbnB1dExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHJldHVybiBpbnB1dExlbmd0aCAqICgzICsgYWxwaGEwMSk7CiAgICB9LAogICAgaXNQYXNzdGhyb3VnaDogQ29sb3JTcGFjZS5wcm90b3R5cGUuaXNQYXNzdGhyb3VnaCwKICAgIGZpbGxSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmZpbGxSZ2IsCiAgICBpc0RlZmF1bHREZWNvZGU6IGZ1bmN0aW9uIERldmljZUdyYXlDU19pc0RlZmF1bHREZWNvZGUoZGVjb2RlTWFwKSB7CiAgICAgIHJldHVybiBDb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZShkZWNvZGVNYXAsIHRoaXMubnVtQ29tcHMpOwogICAgfSwKICAgIHVzZXNaZXJvVG9PbmVSYW5nZTogdHJ1ZQogIH07CiAgcmV0dXJuIERldmljZUdyYXlDUzsKfSkoKTsKCnZhciBEZXZpY2VSZ2JDUyA9IChmdW5jdGlvbiBEZXZpY2VSZ2JDU0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gRGV2aWNlUmdiQ1MoKSB7CiAgICB0aGlzLm5hbWUgPSAnRGV2aWNlUkdCJzsKICAgIHRoaXMubnVtQ29tcHMgPSAzOwogICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBuZXcgRmxvYXQzMkFycmF5KFswLCAwLCAwXSk7CiAgfQogIERldmljZVJnYkNTLnByb3RvdHlwZSA9IHsKICAgIGdldFJnYjogQ29sb3JTcGFjZS5wcm90b3R5cGUuZ2V0UmdiLAogICAgZ2V0UmdiSXRlbTogZnVuY3Rpb24gRGV2aWNlUmdiQ1NfZ2V0UmdiSXRlbShzcmMsIHNyY09mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICB2YXIgciA9IChzcmNbc3JjT2Zmc2V0XSAqIDI1NSkgfCAwOwogICAgICB2YXIgZyA9IChzcmNbc3JjT2Zmc2V0ICsgMV0gKiAyNTUpIHwgMDsKICAgICAgdmFyIGIgPSAoc3JjW3NyY09mZnNldCArIDJdICogMjU1KSB8IDA7CiAgICAgIGRlc3RbZGVzdE9mZnNldF0gPSByIDwgMCA/IDAgOiByID4gMjU1ID8gMjU1IDogcjsKICAgICAgZGVzdFtkZXN0T2Zmc2V0ICsgMV0gPSBnIDwgMCA/IDAgOiBnID4gMjU1ID8gMjU1IDogZzsKICAgICAgZGVzdFtkZXN0T2Zmc2V0ICsgMl0gPSBiIDwgMCA/IDAgOiBiID4gMjU1ID8gMjU1IDogYjsKICAgIH0sCiAgICBnZXRSZ2JCdWZmZXI6IGZ1bmN0aW9uIERldmljZVJnYkNTX2dldFJnYkJ1ZmZlcihzcmMsIHNyY09mZnNldCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSkgewogICAgICBpZiAoYml0cyA9PT0gOCAmJiBhbHBoYTAxID09PSAwKSB7CiAgICAgICAgZGVzdC5zZXQoc3JjLnN1YmFycmF5KHNyY09mZnNldCwgc3JjT2Zmc2V0ICsgY291bnQgKiAzKSwgZGVzdE9mZnNldCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBzY2FsZSA9IDI1NSAvICgoMSA8PCBiaXRzKSAtIDEpOwogICAgICB2YXIgaiA9IHNyY09mZnNldCwgcSA9IGRlc3RPZmZzZXQ7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgIGRlc3RbcSsrXSA9IChzY2FsZSAqIHNyY1tqKytdKSB8IDA7CiAgICAgICAgZGVzdFtxKytdID0gKHNjYWxlICogc3JjW2orK10pIHwgMDsKICAgICAgICBkZXN0W3ErK10gPSAoc2NhbGUgKiBzcmNbaisrXSkgfCAwOwogICAgICAgIHEgKz0gYWxwaGEwMTsKICAgICAgfQogICAgfSwKICAgIGdldE91dHB1dExlbmd0aDogZnVuY3Rpb24gRGV2aWNlUmdiQ1NfZ2V0T3V0cHV0TGVuZ3RoKGlucHV0TGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSkgewogICAgICByZXR1cm4gKGlucHV0TGVuZ3RoICogKDMgKyBhbHBoYTAxKSAvIDMpIHwgMDsKICAgIH0sCiAgICBpc1Bhc3N0aHJvdWdoOiBmdW5jdGlvbiBEZXZpY2VSZ2JDU19pc1Bhc3N0aHJvdWdoKGJpdHMpIHsKICAgICAgcmV0dXJuIGJpdHMgPT09IDg7CiAgICB9LAogICAgZmlsbFJnYjogQ29sb3JTcGFjZS5wcm90b3R5cGUuZmlsbFJnYiwKICAgIGlzRGVmYXVsdERlY29kZTogZnVuY3Rpb24gRGV2aWNlUmdiQ1NfaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCkgewogICAgICByZXR1cm4gQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUoZGVjb2RlTWFwLCB0aGlzLm51bUNvbXBzKTsKICAgIH0sCiAgICB1c2VzWmVyb1RvT25lUmFuZ2U6IHRydWUKICB9OwogIHJldHVybiBEZXZpY2VSZ2JDUzsKfSkoKTsKCnZhciBEZXZpY2VDbXlrQ1MgPSAoZnVuY3Rpb24gRGV2aWNlQ215a0NTQ2xvc3VyZSgpIHsKICAvLyBUaGUgY29lZmZpY2llbnRzIGJlbG93IHdhcyBmb3VuZCB1c2luZyBudW1lcmljYWwgYW5hbHlzaXM6IHRoZSBtZXRob2Qgb2YKICAvLyBzdGVlcGVzdCBkZXNjZW50IGZvciB0aGUgc3VtKChmX2kgLSBjb2xvcl92YWx1ZV9pKV4yKSBmb3Igci9nL2IgY29sb3JzLAogIC8vIHdoZXJlIGNvbG9yX3ZhbHVlIGlzIHRoZSB0YWJ1bGFyIHZhbHVlIGZyb20gdGhlIHRhYmxlIG9mIHNhbXBsZWQgUkdCIGNvbG9ycwogIC8vIGZyb20gQ01ZSyBVUyBXZWIgQ29hdGVkIChTV09QKSBjb2xvcnNwYWNlLCBhbmQgZl9pIGlzIHRoZSBjb3JyZXNwb25kaW5nCiAgLy8gQ01ZSyBjb2xvciBjb252ZXJzaW9uIHVzaW5nIHRoZSBlc3RpbWF0aW9uIGJlbG93OgogIC8vICAgZihBLCBCLC4uIE4pID0gQWNjK0JjbStDY3krRGNrK2MrRm1tK0dteStIbWsrSW0rSnl5K0t5aytMeStNa2srTmsrMjU1CiAgZnVuY3Rpb24gY29udmVydFRvUmdiKHNyYywgc3JjT2Zmc2V0LCBzcmNTY2FsZSwgZGVzdCwgZGVzdE9mZnNldCkgewogICAgdmFyIGMgPSBzcmNbc3JjT2Zmc2V0ICsgMF0gKiBzcmNTY2FsZTsKICAgIHZhciBtID0gc3JjW3NyY09mZnNldCArIDFdICogc3JjU2NhbGU7CiAgICB2YXIgeSA9IHNyY1tzcmNPZmZzZXQgKyAyXSAqIHNyY1NjYWxlOwogICAgdmFyIGsgPSBzcmNbc3JjT2Zmc2V0ICsgM10gKiBzcmNTY2FsZTsKCiAgICB2YXIgciA9CiAgICAgIChjICogKC00LjM4NzMzMjM4NDYwOTk4OCAqIGMgKyA1NC40ODYxNTE5NDE4OTE3NiAqIG0gKwogICAgICAgICAgICAxOC44MjI5MDUwMjE2NTMwMiAqIHkgKyAyMTIuMjU2NjI0NTE2Mzk1ODUgKiBrICsKICAgICAgICAgICAgLTI4NS4yMzMxMDI2MTM3MDA0KSArCiAgICAgICBtICogKDEuNzE0OTc2MzQ3NzM2MjEzNCAqIG0gLSA1LjYwOTY3MzY5MDQwNDczMTUgKiB5ICsKICAgICAgICAgICAgLTE3Ljg3Mzg3MDg2MTQxNTQ0NCAqIGsgLSA1LjQ5NzAwNjQyNzE5NjM2NikgKwogICAgICAgeSAqICgtMi41MjE3MzQwMTMxNjgzMDMzICogeSAtIDIxLjI0ODkyMzMzNzM1MzA3MyAqIGsgKwogICAgICAgICAgICAxNy41MTE5MjcwODQxODEzKSArCiAgICAgICBrICogKC0yMS44NjEyMjE0NzQ2MzYwNSAqIGsgLSAxODkuNDgxODA4MzU5MjI3NDcpICsgMjU1KSB8IDA7CiAgICB2YXIgZyA9CiAgICAgIChjICogKDguODQxMDQxNDIyMDM2MTQ5ICogYyArIDYwLjExODAyNzA0NTU5NzM2NiAqIG0gKwogICAgICAgICAgICA2Ljg3MTQyNTU5MjA0OTAwNyAqIHkgKyAzMS4xNTkxMDAxMzAwNTU5MjIgKiBrICsKICAgICAgICAgICAgLTc5LjI5NzA4NDQ4MTY1NDgpICsKICAgICAgIG0gKiAoLTE1LjMxMDM2MTMwNjk2NzgxNyAqIG0gKyAxNy41NzUyNTEyNjExMDk0ODIgKiB5ICsKICAgICAgICAgICAgMTMxLjM1MjUwOTEyNDkzOTc2ICogayAtIDE5MC45NDUzMzAyNTg4OTUxKSArCiAgICAgICB5ICogKDQuNDQ0MzM5MTAyODUyNzM5ICogeSArIDkuODYzMjg2MTQ5MzQwNSAqIGsgLSAyNC44Njc0MTU4MjU1NTg3OCkgKwogICAgICAgayAqICgtMjAuNzM3MzI1NDcxMTgxMDM0ICogayAtIDE4Ny44MDQ1MzcwOTcxOTU3OCkgKyAyNTUpIHwgMDsKICAgIHZhciBiID0KICAgICAgKGMgKiAoMC44ODQyNTIyNDMwMDAzMjk2ICogYyArIDguMDc4Njc3NTAzMTEyOTI4ICogbSArCiAgICAgICAgICAgIDMwLjg5OTc4MzA5NzAzNzI5ICogeSAtIDAuMjM4ODMyMzg2ODkxNzg5MzQgKiBrICsKICAgICAgICAgICAgLTE0LjE4MzU3Njc5OTY3MzI4NikgKwogICAgICAgbSAqICgxMC40OTU5MzI3MzQzMjA3MiAqIG0gKyA2My4wMjM3ODQ5NDc1NDA1MiAqIHkgKwogICAgICAgICAgICA1MC42MDY5NTc2NTYzNjA3MzQgKiBrIC0gMTEyLjIzODg0MjUzNzE5MjQ4KSArCiAgICAgICB5ICogKDAuMDMyOTYwNDExMTQ4NzMyMTcgKiB5ICsgMTE1LjYwMzg0NDQ5NjQ2NjQxICogayArCiAgICAgICAgICAgIC0xOTMuNTgyMDkzNTY4NjE1MDUpICsKICAgICAgIGsgKiAoLTIyLjMzODE2ODA3MzA5ODg2ICogayAtIDE4MC4xMjYxMzk3NDcwODM2NykgKyAyNTUpIHwgMDsKCiAgICBkZXN0W2Rlc3RPZmZzZXRdID0gciA+IDI1NSA/IDI1NSA6IHIgPCAwID8gMCA6IHI7CiAgICBkZXN0W2Rlc3RPZmZzZXQgKyAxXSA9IGcgPiAyNTUgPyAyNTUgOiBnIDwgMCA/IDAgOiBnOwogICAgZGVzdFtkZXN0T2Zmc2V0ICsgMl0gPSBiID4gMjU1ID8gMjU1IDogYiA8IDAgPyAwIDogYjsKICB9CgogIGZ1bmN0aW9uIERldmljZUNteWtDUygpIHsKICAgIHRoaXMubmFtZSA9ICdEZXZpY2VDTVlLJzsKICAgIHRoaXMubnVtQ29tcHMgPSA0OwogICAgdGhpcy5kZWZhdWx0Q29sb3IgPSBuZXcgRmxvYXQzMkFycmF5KFswLCAwLCAwLCAxXSk7CiAgfQogIERldmljZUNteWtDUy5wcm90b3R5cGUgPSB7CiAgICBnZXRSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmdldFJnYiwKICAgIGdldFJnYkl0ZW06IGZ1bmN0aW9uIERldmljZUNteWtDU19nZXRSZ2JJdGVtKHNyYywgc3JjT2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCkgewogICAgICBjb252ZXJ0VG9SZ2Ioc3JjLCBzcmNPZmZzZXQsIDEsIGRlc3QsIGRlc3RPZmZzZXQpOwogICAgfSwKICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gRGV2aWNlQ215a0NTX2dldFJnYkJ1ZmZlcihzcmMsIHNyY09mZnNldCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCwgZGVzdE9mZnNldCwgYml0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHZhciBzY2FsZSA9IDEgLyAoKDEgPDwgYml0cykgLSAxKTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgY29udmVydFRvUmdiKHNyYywgc3JjT2Zmc2V0LCBzY2FsZSwgZGVzdCwgZGVzdE9mZnNldCk7CiAgICAgICAgc3JjT2Zmc2V0ICs9IDQ7CiAgICAgICAgZGVzdE9mZnNldCArPSAzICsgYWxwaGEwMTsKICAgICAgfQogICAgfSwKICAgIGdldE91dHB1dExlbmd0aDogZnVuY3Rpb24gRGV2aWNlQ215a0NTX2dldE91dHB1dExlbmd0aChpbnB1dExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHJldHVybiAoaW5wdXRMZW5ndGggLyA0ICogKDMgKyBhbHBoYTAxKSkgfCAwOwogICAgfSwKICAgIGlzUGFzc3Rocm91Z2g6IENvbG9yU3BhY2UucHJvdG90eXBlLmlzUGFzc3Rocm91Z2gsCiAgICBmaWxsUmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5maWxsUmdiLAogICAgaXNEZWZhdWx0RGVjb2RlOiBmdW5jdGlvbiBEZXZpY2VDbXlrQ1NfaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCkgewogICAgICByZXR1cm4gQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUoZGVjb2RlTWFwLCB0aGlzLm51bUNvbXBzKTsKICAgIH0sCiAgICB1c2VzWmVyb1RvT25lUmFuZ2U6IHRydWUKICB9OwoKICByZXR1cm4gRGV2aWNlQ215a0NTOwp9KSgpOwoKLy8KLy8gQ2FsR3JheUNTOiBCYXNlZCBvbiAiUERGIFJlZmVyZW5jZSwgU2l4dGggRWQiLCBwLjI0NQovLwp2YXIgQ2FsR3JheUNTID0gKGZ1bmN0aW9uIENhbEdyYXlDU0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ2FsR3JheUNTKHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hKSB7CiAgICB0aGlzLm5hbWUgPSAnQ2FsR3JheSc7CiAgICB0aGlzLm51bUNvbXBzID0gMTsKICAgIHRoaXMuZGVmYXVsdENvbG9yID0gbmV3IEZsb2F0MzJBcnJheShbMF0pOwoKICAgIGlmICghd2hpdGVQb2ludCkgewogICAgICBlcnJvcignV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIENhbEdyYXknKTsKICAgIH0KICAgIGJsYWNrUG9pbnQgPSBibGFja1BvaW50IHx8IFswLCAwLCAwXTsKICAgIGdhbW1hID0gZ2FtbWEgfHwgMTsKCiAgICAvLyBUcmFuc2xhdGUgYXJndW1lbnRzIHRvIHNwZWMgdmFyaWFibGVzLgogICAgdGhpcy5YVyA9IHdoaXRlUG9pbnRbMF07CiAgICB0aGlzLllXID0gd2hpdGVQb2ludFsxXTsKICAgIHRoaXMuWlcgPSB3aGl0ZVBvaW50WzJdOwoKICAgIHRoaXMuWEIgPSBibGFja1BvaW50WzBdOwogICAgdGhpcy5ZQiA9IGJsYWNrUG9pbnRbMV07CiAgICB0aGlzLlpCID0gYmxhY2tQb2ludFsyXTsKCiAgICB0aGlzLkcgPSBnYW1tYTsKCiAgICAvLyBWYWxpZGF0ZSB2YXJpYWJsZXMgYXMgcGVyIHNwZWMuCiAgICBpZiAodGhpcy5YVyA8IDAgfHwgdGhpcy5aVyA8IDAgfHwgdGhpcy5ZVyAhPT0gMSkgewogICAgICBlcnJvcignSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMgZm9yICcgKyB0aGlzLm5hbWUgKwogICAgICAgICAgICAnLCBubyBmYWxsYmFjayBhdmFpbGFibGUnKTsKICAgIH0KCiAgICBpZiAodGhpcy5YQiA8IDAgfHwgdGhpcy5ZQiA8IDAgfHwgdGhpcy5aQiA8IDApIHsKICAgICAgaW5mbygnSW52YWxpZCBCbGFja1BvaW50IGZvciAnICsgdGhpcy5uYW1lICsgJywgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQnKTsKICAgICAgdGhpcy5YQiA9IHRoaXMuWUIgPSB0aGlzLlpCID0gMDsKICAgIH0KCiAgICBpZiAodGhpcy5YQiAhPT0gMCB8fCB0aGlzLllCICE9PSAwIHx8IHRoaXMuWkIgIT09IDApIHsKICAgICAgd2Fybih0aGlzLm5hbWUgKyAnLCBCbGFja1BvaW50OiBYQjogJyArIHRoaXMuWEIgKyAnLCBZQjogJyArIHRoaXMuWUIgKwogICAgICAgICAgICcsIFpCOiAnICsgdGhpcy5aQiArICcsIG9ubHkgZGVmYXVsdCB2YWx1ZXMgYXJlIHN1cHBvcnRlZC4nKTsKICAgIH0KCiAgICBpZiAodGhpcy5HIDwgMSkgewogICAgICBpbmZvKCdJbnZhbGlkIEdhbW1hOiAnICsgdGhpcy5HICsgJyBmb3IgJyArIHRoaXMubmFtZSArCiAgICAgICAgICAgJywgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQnKTsKICAgICAgdGhpcy5HID0gMTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGNvbnZlcnRUb1JnYihjcywgc3JjLCBzcmNPZmZzZXQsIGRlc3QsIGRlc3RPZmZzZXQsIHNjYWxlKSB7CiAgICAvLyBBIHJlcHJlc2VudHMgYSBncmF5IGNvbXBvbmVudCBvZiBhIGNhbGlicmF0ZWQgZ3JheSBzcGFjZS4KICAgIC8vIEEgPC0tLT4gQUcgaW4gdGhlIHNwZWMKICAgIHZhciBBID0gc3JjW3NyY09mZnNldF0gKiBzY2FsZTsKICAgIHZhciBBRyA9IE1hdGgucG93KEEsIGNzLkcpOwoKICAgIC8vIENvbXB1dGVzIEwgYXMgcGVyIHNwZWMuICggPSBjcy5ZVyAqIEFHICkKICAgIC8vIEV4Y2VwdCBpZiBvdGhlciB0aGFuIGRlZmF1bHQgQmxhY2tQb2ludCB2YWx1ZXMgYXJlIHVzZWQuCiAgICB2YXIgTCA9IGNzLllXICogQUc7CiAgICAvLyBodHRwOi8vd3d3LnBveW50b24uY29tL25vdGVzL2NvbG91cl9hbmRfZ2FtbWEvQ29sb3JGQVEuaHRtbCwgQ2ggNC4KICAgIC8vIENvbnZlcnQgdmFsdWVzIHRvIHJnYiByYW5nZSBbMCwgMjU1XS4KICAgIHZhciB2YWwgPSBNYXRoLm1heCgyOTUuOCAqIE1hdGgucG93KEwsIDAuMzMzMzMzMzMzMzMzMzMzMzMzKSAtIDQwLjgsIDApIHwgMDsKICAgIGRlc3RbZGVzdE9mZnNldF0gPSB2YWw7CiAgICBkZXN0W2Rlc3RPZmZzZXQgKyAxXSA9IHZhbDsKICAgIGRlc3RbZGVzdE9mZnNldCArIDJdID0gdmFsOwogIH0KCiAgQ2FsR3JheUNTLnByb3RvdHlwZSA9IHsKICAgIGdldFJnYjogQ29sb3JTcGFjZS5wcm90b3R5cGUuZ2V0UmdiLAogICAgZ2V0UmdiSXRlbTogZnVuY3Rpb24gQ2FsR3JheUNTX2dldFJnYkl0ZW0oc3JjLCBzcmNPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgIGNvbnZlcnRUb1JnYih0aGlzLCBzcmMsIHNyY09mZnNldCwgZGVzdCwgZGVzdE9mZnNldCwgMSk7CiAgICB9LAogICAgZ2V0UmdiQnVmZmVyOiBmdW5jdGlvbiBDYWxHcmF5Q1NfZ2V0UmdiQnVmZmVyKHNyYywgc3JjT2Zmc2V0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscGhhMDEpIHsKICAgICAgdmFyIHNjYWxlID0gMSAvICgoMSA8PCBiaXRzKSAtIDEpOwoKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgY29udmVydFRvUmdiKHRoaXMsIHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0LCBzY2FsZSk7CiAgICAgICAgc3JjT2Zmc2V0ICs9IDE7CiAgICAgICAgZGVzdE9mZnNldCArPSAzICsgYWxwaGEwMTsKICAgICAgfQogICAgfSwKICAgIGdldE91dHB1dExlbmd0aDogZnVuY3Rpb24gQ2FsR3JheUNTX2dldE91dHB1dExlbmd0aChpbnB1dExlbmd0aCwgYWxwaGEwMSkgewogICAgICByZXR1cm4gaW5wdXRMZW5ndGggKiAoMyArIGFscGhhMDEpOwogICAgfSwKICAgIGlzUGFzc3Rocm91Z2g6IENvbG9yU3BhY2UucHJvdG90eXBlLmlzUGFzc3Rocm91Z2gsCiAgICBmaWxsUmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5maWxsUmdiLAogICAgaXNEZWZhdWx0RGVjb2RlOiBmdW5jdGlvbiBDYWxHcmF5Q1NfaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCkgewogICAgICByZXR1cm4gQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUoZGVjb2RlTWFwLCB0aGlzLm51bUNvbXBzKTsKICAgIH0sCiAgICB1c2VzWmVyb1RvT25lUmFuZ2U6IHRydWUKICB9OwogIHJldHVybiBDYWxHcmF5Q1M7Cn0pKCk7CgovLwovLyBDYWxSR0JDUzogQmFzZWQgb24gIlBERiBSZWZlcmVuY2UsIFNpeHRoIEVkIiwgcC4yNDcKLy8KdmFyIENhbFJHQkNTID0gKGZ1bmN0aW9uIENhbFJHQkNTQ2xvc3VyZSgpIHsKCiAgLy8gU2VlIGh0dHA6Ly93d3cuYnJ1Y2VsaW5kYmxvb20uY29tL2luZGV4Lmh0bWw/RXFuX0Nocm9tQWRhcHQuaHRtbCBmb3IgdGhlc2UKICAvLyBtYXRyaWNlcy4KICB2YXIgQlJBREZPUkRfU0NBTEVfTUFUUklYID0gbmV3IEZsb2F0MzJBcnJheShbCiAgICAwLjg5NTEsIDAuMjY2NCwgLTAuMTYxNCwKICAgIC0wLjc1MDIsIDEuNzEzNSwgMC4wMzY3LAogICAgMC4wMzg5LCAtMC4wNjg1LCAxLjAyOTZdKTsKCiAgdmFyIEJSQURGT1JEX1NDQUxFX0lOVkVSU0VfTUFUUklYID0gbmV3IEZsb2F0MzJBcnJheShbCiAgICAwLjk4Njk5MjksIC0wLjE0NzA1NDMsIDAuMTU5OTYyNywKICAgIDAuNDMyMzA1MywgMC41MTgzNjAzLCAwLjA0OTI5MTIsCiAgICAtMC4wMDg1Mjg3LCAwLjA0MDA0MjgsIDAuOTY4NDg2N10pOwoKICAvLyBTZWUgaHR0cDovL3d3dy5icnVjZWxpbmRibG9vbS5jb20vaW5kZXguaHRtbD9FcW5fUkdCX1hZWl9NYXRyaXguaHRtbC4KICB2YXIgU1JHQl9ENjVfWFlaX1RPX1JHQl9NQVRSSVggPSBuZXcgRmxvYXQzMkFycmF5KFsKICAgIDMuMjQwNDU0MiwgLTEuNTM3MTM4NSwgLTAuNDk4NTMxNCwKICAgIC0wLjk2OTI2NjAsIDEuODc2MDEwOCwgMC4wNDE1NTYwLAogICAgMC4wNTU2NDM0LCAtMC4yMDQwMjU5LCAxLjA1NzIyNTJdKTsKCiAgdmFyIEZMQVRfV0hJVEVQT0lOVF9NQVRSSVggPSBuZXcgRmxvYXQzMkFycmF5KFsxLCAxLCAxXSk7CgogIHZhciB0ZW1wTm9ybWFsaXplTWF0cml4ID0gbmV3IEZsb2F0MzJBcnJheSgzKTsKICB2YXIgdGVtcENvbnZlcnRNYXRyaXgxID0gbmV3IEZsb2F0MzJBcnJheSgzKTsKICB2YXIgdGVtcENvbnZlcnRNYXRyaXgyID0gbmV3IEZsb2F0MzJBcnJheSgzKTsKCiAgdmFyIERFQ09ERV9MX0NPTlNUQU5UID0gTWF0aC5wb3coKCg4ICsgMTYpIC8gMTE2KSwgMykgLyA4LjA7CgogIGZ1bmN0aW9uIENhbFJHQkNTKHdoaXRlUG9pbnQsIGJsYWNrUG9pbnQsIGdhbW1hLCBtYXRyaXgpIHsKICAgIHRoaXMubmFtZSA9ICdDYWxSR0InOwogICAgdGhpcy5udW1Db21wcyA9IDM7CiAgICB0aGlzLmRlZmF1bHRDb2xvciA9IG5ldyBGbG9hdDMyQXJyYXkoMyk7CgogICAgaWYgKCF3aGl0ZVBvaW50KSB7CiAgICAgIGVycm9yKCdXaGl0ZVBvaW50IG1pc3NpbmcgLSByZXF1aXJlZCBmb3IgY29sb3Igc3BhY2UgQ2FsUkdCJyk7CiAgICB9CiAgICBibGFja1BvaW50ID0gYmxhY2tQb2ludCB8fCBuZXcgRmxvYXQzMkFycmF5KDMpOwogICAgZ2FtbWEgPSBnYW1tYSB8fCBuZXcgRmxvYXQzMkFycmF5KFsxLCAxLCAxXSk7CiAgICBtYXRyaXggPSBtYXRyaXggfHwgbmV3IEZsb2F0MzJBcnJheShbMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMV0pOwoKICAgIC8vIFRyYW5zbGF0ZSBhcmd1bWVudHMgdG8gc3BlYyB2YXJpYWJsZXMuCiAgICB2YXIgWFcgPSB3aGl0ZVBvaW50WzBdOwogICAgdmFyIFlXID0gd2hpdGVQb2ludFsxXTsKICAgIHZhciBaVyA9IHdoaXRlUG9pbnRbMl07CiAgICB0aGlzLndoaXRlUG9pbnQgPSB3aGl0ZVBvaW50OwoKICAgIHZhciBYQiA9IGJsYWNrUG9pbnRbMF07CiAgICB2YXIgWUIgPSBibGFja1BvaW50WzFdOwogICAgdmFyIFpCID0gYmxhY2tQb2ludFsyXTsKICAgIHRoaXMuYmxhY2tQb2ludCA9IGJsYWNrUG9pbnQ7CgogICAgdGhpcy5HUiA9IGdhbW1hWzBdOwogICAgdGhpcy5HRyA9IGdhbW1hWzFdOwogICAgdGhpcy5HQiA9IGdhbW1hWzJdOwoKICAgIHRoaXMuTVhBID0gbWF0cml4WzBdOwogICAgdGhpcy5NWUEgPSBtYXRyaXhbMV07CiAgICB0aGlzLk1aQSA9IG1hdHJpeFsyXTsKICAgIHRoaXMuTVhCID0gbWF0cml4WzNdOwogICAgdGhpcy5NWUIgPSBtYXRyaXhbNF07CiAgICB0aGlzLk1aQiA9IG1hdHJpeFs1XTsKICAgIHRoaXMuTVhDID0gbWF0cml4WzZdOwogICAgdGhpcy5NWUMgPSBtYXRyaXhbN107CiAgICB0aGlzLk1aQyA9IG1hdHJpeFs4XTsKCiAgICAvLyBWYWxpZGF0ZSB2YXJpYWJsZXMgYXMgcGVyIHNwZWMuCiAgICBpZiAoWFcgPCAwIHx8IFpXIDwgMCB8fCBZVyAhPT0gMSkgewogICAgICBlcnJvcignSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMgZm9yICcgKyB0aGlzLm5hbWUgKwogICAgICAgICAgICAnLCBubyBmYWxsYmFjayBhdmFpbGFibGUnKTsKICAgIH0KCiAgICBpZiAoWEIgPCAwIHx8IFlCIDwgMCB8fCBaQiA8IDApIHsKICAgICAgaW5mbygnSW52YWxpZCBCbGFja1BvaW50IGZvciAnICsgdGhpcy5uYW1lICsgJyBbJyArIFhCICsgJywgJyArIFlCICsKICAgICAgICAgICAnLCAnICsgWkIgKyAnXSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQnKTsKICAgICAgdGhpcy5ibGFja1BvaW50ID0gbmV3IEZsb2F0MzJBcnJheSgzKTsKICAgIH0KCiAgICBpZiAodGhpcy5HUiA8IDAgfHwgdGhpcy5HRyA8IDAgfHwgdGhpcy5HQiA8IDApIHsKICAgICAgaW5mbygnSW52YWxpZCBHYW1tYSBbJyArIHRoaXMuR1IgKyAnLCAnICsgdGhpcy5HRyArICcsICcgKyB0aGlzLkdCICsKICAgICAgICAgICAnXSBmb3IgJyArIHRoaXMubmFtZSArICcsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0Jyk7CiAgICAgIHRoaXMuR1IgPSB0aGlzLkdHID0gdGhpcy5HQiA9IDE7CiAgICB9CgogICAgaWYgKHRoaXMuTVhBIDwgMCB8fCB0aGlzLk1ZQSA8IDAgfHwgdGhpcy5NWkEgPCAwIHx8CiAgICAgICAgdGhpcy5NWEIgPCAwIHx8IHRoaXMuTVlCIDwgMCB8fCB0aGlzLk1aQiA8IDAgfHwKICAgICAgICB0aGlzLk1YQyA8IDAgfHwgdGhpcy5NWUMgPCAwIHx8IHRoaXMuTVpDIDwgMCkgewogICAgICBpbmZvKCdJbnZhbGlkIE1hdHJpeCBmb3IgJyArIHRoaXMubmFtZSArICcgWycgKwogICAgICAgICAgIHRoaXMuTVhBICsgJywgJyArIHRoaXMuTVlBICsgJywgJyArIHRoaXMuTVpBICsKICAgICAgICAgICB0aGlzLk1YQiArICcsICcgKyB0aGlzLk1ZQiArICcsICcgKyB0aGlzLk1aQiArCiAgICAgICAgICAgdGhpcy5NWEMgKyAnLCAnICsgdGhpcy5NWUMgKyAnLCAnICsgdGhpcy5NWkMgKwogICAgICAgICAgICddLCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdCcpOwogICAgICB0aGlzLk1YQSA9IHRoaXMuTVlCID0gdGhpcy5NWkMgPSAxOwogICAgICB0aGlzLk1YQiA9IHRoaXMuTVlBID0gdGhpcy5NWkEgPSB0aGlzLk1YQyA9IHRoaXMuTVlDID0gdGhpcy5NWkIgPSAwOwogICAgfQogIH0KCiAgZnVuY3Rpb24gbWF0cml4UHJvZHVjdChhLCBiLCByZXN1bHQpIHsKICAgICAgcmVzdWx0WzBdID0gYVswXSAqIGJbMF0gKyBhWzFdICogYlsxXSArIGFbMl0gKiBiWzJdOwogICAgICByZXN1bHRbMV0gPSBhWzNdICogYlswXSArIGFbNF0gKiBiWzFdICsgYVs1XSAqIGJbMl07CiAgICAgIHJlc3VsdFsyXSA9IGFbNl0gKiBiWzBdICsgYVs3XSAqIGJbMV0gKyBhWzhdICogYlsyXTsKICB9CgogIGZ1bmN0aW9uIGNvbnZlcnRUb0ZsYXQoc291cmNlV2hpdGVQb2ludCwgTE1TLCByZXN1bHQpIHsKICAgICAgcmVzdWx0WzBdID0gTE1TWzBdICogMSAvIHNvdXJjZVdoaXRlUG9pbnRbMF07CiAgICAgIHJlc3VsdFsxXSA9IExNU1sxXSAqIDEgLyBzb3VyY2VXaGl0ZVBvaW50WzFdOwogICAgICByZXN1bHRbMl0gPSBMTVNbMl0gKiAxIC8gc291cmNlV2hpdGVQb2ludFsyXTsKICB9CgogIGZ1bmN0aW9uIGNvbnZlcnRUb0Q2NShzb3VyY2VXaGl0ZVBvaW50LCBMTVMsIHJlc3VsdCkgewogICAgdmFyIEQ2NVggPSAwLjk1MDQ3OwogICAgdmFyIEQ2NVkgPSAxOwogICAgdmFyIEQ2NVogPSAxLjA4ODgzOwoKICAgIHJlc3VsdFswXSA9IExNU1swXSAqIEQ2NVggLyBzb3VyY2VXaGl0ZVBvaW50WzBdOwogICAgcmVzdWx0WzFdID0gTE1TWzFdICogRDY1WSAvIHNvdXJjZVdoaXRlUG9pbnRbMV07CiAgICByZXN1bHRbMl0gPSBMTVNbMl0gKiBENjVaIC8gc291cmNlV2hpdGVQb2ludFsyXTsKICB9CgogIGZ1bmN0aW9uIHNSR0JUcmFuc2ZlckZ1bmN0aW9uKGNvbG9yKSB7CiAgICAvLyBTZWUgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TUkdCLgogICAgaWYgKGNvbG9yIDw9IDAuMDAzMTMwOCl7CiAgICAgIHJldHVybiBhZGp1c3RUb1JhbmdlKDAsIDEsIDEyLjkyICogY29sb3IpOwogICAgfQoKICAgIHJldHVybiBhZGp1c3RUb1JhbmdlKDAsIDEsICgxICsgMC4wNTUpICogTWF0aC5wb3coY29sb3IsIDEgLyAyLjQpIC0gMC4wNTUpOwogIH0KCiAgZnVuY3Rpb24gYWRqdXN0VG9SYW5nZShtaW4sIG1heCwgdmFsdWUpIHsKICAgIHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgdmFsdWUpKTsKICB9CgogIGZ1bmN0aW9uIGRlY29kZUwoTCkgewogICAgaWYgKEwgPCAwKSB7CiAgICAgIHJldHVybiAtZGVjb2RlTCgtTCk7CiAgICB9CgogICAgaWYgKEwgPiA4LjApIHsKICAgICAgcmV0dXJuIE1hdGgucG93KCgoTCArIDE2KSAvIDExNiksIDMpOwogICAgfQoKICAgIHJldHVybiBMICogREVDT0RFX0xfQ09OU1RBTlQ7CiAgfQoKICBmdW5jdGlvbiBjb21wZW5zYXRlQmxhY2tQb2ludChzb3VyY2VCbGFja1BvaW50LCBYWVpfRmxhdCwgcmVzdWx0KSB7CgogICAgLy8gSW4gY2FzZSB0aGUgYmxhY2tQb2ludCBpcyBhbHJlYWR5IHRoZSBkZWZhdWx0IGJsYWNrUG9pbnQgdGhlbiB0aGVyZSBpcwogICAgLy8gbm8gbmVlZCB0byBkbyBjb21wZW5zYXRpb24uCiAgICBpZiAoc291cmNlQmxhY2tQb2ludFswXSA9PT0gMCAmJgogICAgICAgIHNvdXJjZUJsYWNrUG9pbnRbMV0gPT09IDAgJiYKICAgICAgICBzb3VyY2VCbGFja1BvaW50WzJdID09PSAwKSB7CiAgICAgIHJlc3VsdFswXSA9IFhZWl9GbGF0WzBdOwogICAgICByZXN1bHRbMV0gPSBYWVpfRmxhdFsxXTsKICAgICAgcmVzdWx0WzJdID0gWFlaX0ZsYXRbMl07CiAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBGb3IgdGhlIGJsYWNrUG9pbnQgY2FsY3VsYXRpb24gZGV0YWlscywgcGxlYXNlIHNlZQogICAgLy8gaHR0cDovL3d3dy5hZG9iZS5jb20vY29udGVudC9kYW0vQWRvYmUvZW4vZGV2bmV0L3Bob3Rvc2hvcC9zZGsvCiAgICAvLyBBZG9iZUJQQy5wZGYuCiAgICAvLyBUaGUgZGVzdGluYXRpb24gYmxhY2tQb2ludCBpcyB0aGUgZGVmYXVsdCBibGFja1BvaW50IFswLCAwLCAwXS4KICAgIHZhciB6ZXJvRGVjb2RlTCA9IGRlY29kZUwoMCk7CgogICAgdmFyIFhfRFNUID0gemVyb0RlY29kZUw7CiAgICB2YXIgWF9TUkMgPSBkZWNvZGVMKHNvdXJjZUJsYWNrUG9pbnRbMF0pOwoKICAgIHZhciBZX0RTVCA9IHplcm9EZWNvZGVMOwogICAgdmFyIFlfU1JDID0gZGVjb2RlTChzb3VyY2VCbGFja1BvaW50WzFdKTsKCiAgICB2YXIgWl9EU1QgPSB6ZXJvRGVjb2RlTDsKICAgIHZhciBaX1NSQyA9IGRlY29kZUwoc291cmNlQmxhY2tQb2ludFsyXSk7CgogICAgdmFyIFhfU2NhbGUgPSAoMSAtIFhfRFNUKSAvICgxIC0gWF9TUkMpOwogICAgdmFyIFhfT2Zmc2V0ID0gMSAtIFhfU2NhbGU7CgogICAgdmFyIFlfU2NhbGUgPSAoMSAtIFlfRFNUKSAvICgxIC0gWV9TUkMpOwogICAgdmFyIFlfT2Zmc2V0ID0gMSAtIFlfU2NhbGU7CgogICAgdmFyIFpfU2NhbGUgPSAoMSAtIFpfRFNUKSAvICgxIC0gWl9TUkMpOwogICAgdmFyIFpfT2Zmc2V0ID0gMSAtIFpfU2NhbGU7CgogICAgcmVzdWx0WzBdID0gWFlaX0ZsYXRbMF0gKiBYX1NjYWxlICsgWF9PZmZzZXQ7CiAgICByZXN1bHRbMV0gPSBYWVpfRmxhdFsxXSAqIFlfU2NhbGUgKyBZX09mZnNldDsKICAgIHJlc3VsdFsyXSA9IFhZWl9GbGF0WzJdICogWl9TY2FsZSArIFpfT2Zmc2V0OwogIH0KCiAgZnVuY3Rpb24gbm9ybWFsaXplV2hpdGVQb2ludFRvRmxhdChzb3VyY2VXaGl0ZVBvaW50LCBYWVpfSW4sIHJlc3VsdCkgewoKICAgIC8vIEluIGNhc2UgdGhlIHdoaXRlUG9pbnQgaXMgYWxyZWFkeSBmbGF0IHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBkbwogICAgLy8gbm9ybWFsaXphdGlvbi4KICAgIGlmIChzb3VyY2VXaGl0ZVBvaW50WzBdID09PSAxICYmIHNvdXJjZVdoaXRlUG9pbnRbMl0gPT09IDEpIHsKICAgICAgcmVzdWx0WzBdID0gWFlaX0luWzBdOwogICAgICByZXN1bHRbMV0gPSBYWVpfSW5bMV07CiAgICAgIHJlc3VsdFsyXSA9IFhZWl9JblsyXTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBMTVMgPSByZXN1bHQ7CiAgICBtYXRyaXhQcm9kdWN0KEJSQURGT1JEX1NDQUxFX01BVFJJWCwgWFlaX0luLCBMTVMpOwoKICAgIHZhciBMTVNfRmxhdCA9IHRlbXBOb3JtYWxpemVNYXRyaXg7CiAgICBjb252ZXJ0VG9GbGF0KHNvdXJjZVdoaXRlUG9pbnQsIExNUywgTE1TX0ZsYXQpOwoKICAgIG1hdHJpeFByb2R1Y3QoQlJBREZPUkRfU0NBTEVfSU5WRVJTRV9NQVRSSVgsIExNU19GbGF0LCByZXN1bHQpOwogIH0KCiAgZnVuY3Rpb24gbm9ybWFsaXplV2hpdGVQb2ludFRvRDY1KHNvdXJjZVdoaXRlUG9pbnQsIFhZWl9JbiwgcmVzdWx0KSB7CgogICAgdmFyIExNUyA9IHJlc3VsdDsKICAgIG1hdHJpeFByb2R1Y3QoQlJBREZPUkRfU0NBTEVfTUFUUklYLCBYWVpfSW4sIExNUyk7CgogICAgdmFyIExNU19ENjUgPSB0ZW1wTm9ybWFsaXplTWF0cml4OwogICAgY29udmVydFRvRDY1KHNvdXJjZVdoaXRlUG9pbnQsIExNUywgTE1TX0Q2NSk7CgogICAgbWF0cml4UHJvZHVjdChCUkFERk9SRF9TQ0FMRV9JTlZFUlNFX01BVFJJWCwgTE1TX0Q2NSwgcmVzdWx0KTsKICB9CgogIGZ1bmN0aW9uIGNvbnZlcnRUb1JnYihjcywgc3JjLCBzcmNPZmZzZXQsIGRlc3QsIGRlc3RPZmZzZXQsIHNjYWxlKSB7CiAgICAvLyBBLCBCIGFuZCBDIHJlcHJlc2VudCBhIHJlZCwgZ3JlZW4gYW5kIGJsdWUgY29tcG9uZW50cyBvZiBhIGNhbGlicmF0ZWQKICAgIC8vIHJnYiBzcGFjZS4KICAgIHZhciBBID0gYWRqdXN0VG9SYW5nZSgwLCAxLCBzcmNbc3JjT2Zmc2V0XSAqIHNjYWxlKTsKICAgIHZhciBCID0gYWRqdXN0VG9SYW5nZSgwLCAxLCBzcmNbc3JjT2Zmc2V0ICsgMV0gKiBzY2FsZSk7CiAgICB2YXIgQyA9IGFkanVzdFRvUmFuZ2UoMCwgMSwgc3JjW3NyY09mZnNldCArIDJdICogc2NhbGUpOwoKICAgIC8vIEEgPC0tLT4gQUdSIGluIHRoZSBzcGVjCiAgICAvLyBCIDwtLS0+IEJHRyBpbiB0aGUgc3BlYwogICAgLy8gQyA8LS0tPiBDR0IgaW4gdGhlIHNwZWMKICAgIHZhciBBR1IgPSBNYXRoLnBvdyhBLCBjcy5HUik7CiAgICB2YXIgQkdHID0gTWF0aC5wb3coQiwgY3MuR0cpOwogICAgdmFyIENHQiA9IE1hdGgucG93KEMsIGNzLkdCKTsKCiAgICAvLyBDb21wdXRlcyBpbnRlcm1lZGlhdGUgdmFyaWFibGVzIEwsIE0sIE4gYXMgcGVyIHNwZWMuCiAgICAvLyBUbyBkZWNvZGUgWCwgWSwgWiB2YWx1ZXMgbWFwIEwsIE0sIE4gZGlyZWN0bHkgdG8gdGhlbS4KICAgIHZhciBYID0gY3MuTVhBICogQUdSICsgY3MuTVhCICogQkdHICsgY3MuTVhDICogQ0dCOwogICAgdmFyIFkgPSBjcy5NWUEgKiBBR1IgKyBjcy5NWUIgKiBCR0cgKyBjcy5NWUMgKiBDR0I7CiAgICB2YXIgWiA9IGNzLk1aQSAqIEFHUiArIGNzLk1aQiAqIEJHRyArIGNzLk1aQyAqIENHQjsKCiAgICAvLyBUaGUgZm9sbG93aW5nIGNhbGN1bGF0aW9ucyBhcmUgYmFzZWQgb24gdGhpcyBkb2N1bWVudDoKICAgIC8vIGh0dHA6Ly93d3cuYWRvYmUuY29tL2NvbnRlbnQvZGFtL0Fkb2JlL2VuL2Rldm5ldC9waG90b3Nob3Avc2RrLwogICAgLy8gQWRvYmVCUEMucGRmLgogICAgdmFyIFhZWiA9IHRlbXBDb252ZXJ0TWF0cml4MTsKICAgIFhZWlswXSA9IFg7CiAgICBYWVpbMV0gPSBZOwogICAgWFlaWzJdID0gWjsKICAgIHZhciBYWVpfRmxhdCA9IHRlbXBDb252ZXJ0TWF0cml4MjsKCiAgICBub3JtYWxpemVXaGl0ZVBvaW50VG9GbGF0KGNzLndoaXRlUG9pbnQsIFhZWiwgWFlaX0ZsYXQpOwoKICAgIHZhciBYWVpfQmxhY2sgPSB0ZW1wQ29udmVydE1hdHJpeDE7CiAgICBjb21wZW5zYXRlQmxhY2tQb2ludChjcy5ibGFja1BvaW50LCBYWVpfRmxhdCwgWFlaX0JsYWNrKTsKCiAgICB2YXIgWFlaX0Q2NSA9IHRlbXBDb252ZXJ0TWF0cml4MjsKICAgIG5vcm1hbGl6ZVdoaXRlUG9pbnRUb0Q2NShGTEFUX1dISVRFUE9JTlRfTUFUUklYLCBYWVpfQmxhY2ssIFhZWl9ENjUpOwoKICAgIHZhciBTUkdCID0gdGVtcENvbnZlcnRNYXRyaXgxOwogICAgbWF0cml4UHJvZHVjdChTUkdCX0Q2NV9YWVpfVE9fUkdCX01BVFJJWCwgWFlaX0Q2NSwgU1JHQik7CgogICAgdmFyIHNSID0gc1JHQlRyYW5zZmVyRnVuY3Rpb24oU1JHQlswXSk7CiAgICB2YXIgc0cgPSBzUkdCVHJhbnNmZXJGdW5jdGlvbihTUkdCWzFdKTsKICAgIHZhciBzQiA9IHNSR0JUcmFuc2ZlckZ1bmN0aW9uKFNSR0JbMl0pOwoKICAgIC8vIENvbnZlcnQgdGhlIHZhbHVlcyB0byByZ2IgcmFuZ2UgWzAsIDI1NV0uCiAgICBkZXN0W2Rlc3RPZmZzZXRdID0gTWF0aC5yb3VuZChzUiAqIDI1NSk7CiAgICBkZXN0W2Rlc3RPZmZzZXQgKyAxXSA9IE1hdGgucm91bmQoc0cgKiAyNTUpOwogICAgZGVzdFtkZXN0T2Zmc2V0ICsgMl0gPSBNYXRoLnJvdW5kKHNCICogMjU1KTsKICB9CgogIENhbFJHQkNTLnByb3RvdHlwZSA9IHsKICAgIGdldFJnYjogZnVuY3Rpb24gQ2FsUkdCQ1NfZ2V0UmdiKHNyYywgc3JjT2Zmc2V0KSB7CiAgICAgIHZhciByZ2IgPSBuZXcgVWludDhBcnJheSgzKTsKICAgICAgdGhpcy5nZXRSZ2JJdGVtKHNyYywgc3JjT2Zmc2V0LCByZ2IsIDApOwogICAgICByZXR1cm4gcmdiOwogICAgfSwKICAgIGdldFJnYkl0ZW06IGZ1bmN0aW9uIENhbFJHQkNTX2dldFJnYkl0ZW0oc3JjLCBzcmNPZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQpIHsKICAgICAgY29udmVydFRvUmdiKHRoaXMsIHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0LCAxKTsKICAgIH0sCiAgICBnZXRSZ2JCdWZmZXI6IGZ1bmN0aW9uIENhbFJHQkNTX2dldFJnYkJ1ZmZlcihzcmMsIHNyY09mZnNldCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0LCBkZXN0T2Zmc2V0LCBiaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSkgewogICAgICB2YXIgc2NhbGUgPSAxIC8gKCgxIDw8IGJpdHMpIC0gMSk7CgogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICBjb252ZXJ0VG9SZ2IodGhpcywgc3JjLCBzcmNPZmZzZXQsIGRlc3QsIGRlc3RPZmZzZXQsIHNjYWxlKTsKICAgICAgICBzcmNPZmZzZXQgKz0gMzsKICAgICAgICBkZXN0T2Zmc2V0ICs9IDMgKyBhbHBoYTAxOwogICAgICB9CiAgICB9LAogICAgZ2V0T3V0cHV0TGVuZ3RoOiBmdW5jdGlvbiBDYWxSR0JDU19nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGgsIGFscGhhMDEpIHsKICAgICAgcmV0dXJuIChpbnB1dExlbmd0aCAqICgzICsgYWxwaGEwMSkgLyAzKSB8IDA7CiAgICB9LAogICAgaXNQYXNzdGhyb3VnaDogQ29sb3JTcGFjZS5wcm90b3R5cGUuaXNQYXNzdGhyb3VnaCwKICAgIGZpbGxSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmZpbGxSZ2IsCiAgICBpc0RlZmF1bHREZWNvZGU6IGZ1bmN0aW9uIENhbFJHQkNTX2lzRGVmYXVsdERlY29kZShkZWNvZGVNYXApIHsKICAgICAgcmV0dXJuIENvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKGRlY29kZU1hcCwgdGhpcy5udW1Db21wcyk7CiAgICB9LAogICAgdXNlc1plcm9Ub09uZVJhbmdlOiB0cnVlCiAgfTsKICByZXR1cm4gQ2FsUkdCQ1M7Cn0pKCk7CgovLwovLyBMYWJDUzogQmFzZWQgb24gIlBERiBSZWZlcmVuY2UsIFNpeHRoIEVkIiwgcC4yNTAKLy8KdmFyIExhYkNTID0gKGZ1bmN0aW9uIExhYkNTQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBMYWJDUyh3aGl0ZVBvaW50LCBibGFja1BvaW50LCByYW5nZSkgewogICAgdGhpcy5uYW1lID0gJ0xhYic7CiAgICB0aGlzLm51bUNvbXBzID0gMzsKICAgIHRoaXMuZGVmYXVsdENvbG9yID0gbmV3IEZsb2F0MzJBcnJheShbMCwgMCwgMF0pOwoKICAgIGlmICghd2hpdGVQb2ludCkgewogICAgICBlcnJvcignV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIExhYicpOwogICAgfQogICAgYmxhY2tQb2ludCA9IGJsYWNrUG9pbnQgfHwgWzAsIDAsIDBdOwogICAgcmFuZ2UgPSByYW5nZSB8fCBbLTEwMCwgMTAwLCAtMTAwLCAxMDBdOwoKICAgIC8vIFRyYW5zbGF0ZSBhcmdzIHRvIHNwZWMgdmFyaWFibGVzCiAgICB0aGlzLlhXID0gd2hpdGVQb2ludFswXTsKICAgIHRoaXMuWVcgPSB3aGl0ZVBvaW50WzFdOwogICAgdGhpcy5aVyA9IHdoaXRlUG9pbnRbMl07CiAgICB0aGlzLmFtaW4gPSByYW5nZVswXTsKICAgIHRoaXMuYW1heCA9IHJhbmdlWzFdOwogICAgdGhpcy5ibWluID0gcmFuZ2VbMl07CiAgICB0aGlzLmJtYXggPSByYW5nZVszXTsKCiAgICAvLyBUaGVzZSBhcmUgaGVyZSBqdXN0IGZvciBjb21wbGV0ZW5lc3MgLSB0aGUgc3BlYyBkb2Vzbid0IG9mZmVyIGFueQogICAgLy8gZm9ybXVsYXMgdGhhdCB1c2UgQmxhY2tQb2ludCBpbiBMYWIKICAgIHRoaXMuWEIgPSBibGFja1BvaW50WzBdOwogICAgdGhpcy5ZQiA9IGJsYWNrUG9pbnRbMV07CiAgICB0aGlzLlpCID0gYmxhY2tQb2ludFsyXTsKCiAgICAvLyBWYWxpZGF0ZSB2YXJzIGFzIHBlciBzcGVjCiAgICBpZiAodGhpcy5YVyA8IDAgfHwgdGhpcy5aVyA8IDAgfHwgdGhpcy5ZVyAhPT0gMSkgewogICAgICBlcnJvcignSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMsIG5vIGZhbGxiYWNrIGF2YWlsYWJsZScpOwogICAgfQoKICAgIGlmICh0aGlzLlhCIDwgMCB8fCB0aGlzLllCIDwgMCB8fCB0aGlzLlpCIDwgMCkgewogICAgICBpbmZvKCdJbnZhbGlkIEJsYWNrUG9pbnQsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0Jyk7CiAgICAgIHRoaXMuWEIgPSB0aGlzLllCID0gdGhpcy5aQiA9IDA7CiAgICB9CgogICAgaWYgKHRoaXMuYW1pbiA+IHRoaXMuYW1heCB8fCB0aGlzLmJtaW4gPiB0aGlzLmJtYXgpIHsKICAgICAgaW5mbygnSW52YWxpZCBSYW5nZSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHRzJyk7CiAgICAgIHRoaXMuYW1pbiA9IC0xMDA7CiAgICAgIHRoaXMuYW1heCA9IDEwMDsKICAgICAgdGhpcy5ibWluID0gLTEwMDsKICAgICAgdGhpcy5ibWF4ID0gMTAwOwogICAgfQogIH0KCiAgLy8gRnVuY3Rpb24gZyh4KSBmcm9tIHNwZWMKICBmdW5jdGlvbiBmbl9nKHgpIHsKICAgIGlmICh4ID49IDYgLyAyOSkgewogICAgICByZXR1cm4geCAqIHggKiB4OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICgxMDggLyA4NDEpICogKHggLSA0IC8gMjkpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZGVjb2RlKHZhbHVlLCBoaWdoMSwgbG93MiwgaGlnaDIpIHsKICAgIHJldHVybiBsb3cyICsgKHZhbHVlKSAqIChoaWdoMiAtIGxvdzIpIC8gKGhpZ2gxKTsKICB9CgogIC8vIElmIGRlY29kaW5nIGlzIG5lZWRlZCBtYXhWYWwgc2hvdWxkIGJlIDJeYml0cyBwZXIgY29tcG9uZW50IC0gMS4KICBmdW5jdGlvbiBjb252ZXJ0VG9SZ2IoY3MsIHNyYywgc3JjT2Zmc2V0LCBtYXhWYWwsIGRlc3QsIGRlc3RPZmZzZXQpIHsKICAgIC8vIFhYWDogTGFiIGlucHV0IGlzIGluIHRoZSByYW5nZSBvZiBbMCwgMTAwXSwgW2FtaW4sIGFtYXhdLCBbYm1pbiwgYm1heF0KICAgIC8vIG5vdCB0aGUgdXN1YWwgWzAsIDFdLiBJZiBhIGNvbW1hbmQgbGlrZSBzZXRGaWxsQ29sb3IgaXMgdXNlZCB0aGUgc3JjCiAgICAvLyB2YWx1ZXMgd2lsbCBhbHJlYWR5IGJlIHdpdGhpbiB0aGUgY29ycmVjdCByYW5nZS4gSG93ZXZlciwgaWYgd2UgYXJlCiAgICAvLyBjb252ZXJ0aW5nIGFuIGltYWdlIHdlIGhhdmUgdG8gbWFwIHRoZSB2YWx1ZXMgdG8gdGhlIGNvcnJlY3QgcmFuZ2UgZ2l2ZW4KICAgIC8vIGFib3ZlLgogICAgLy8gTHMsYXMsYnMgPC0tLT4gTCosYSosYiogaW4gdGhlIHNwZWMKICAgIHZhciBMcyA9IHNyY1tzcmNPZmZzZXRdOwogICAgdmFyIGFzID0gc3JjW3NyY09mZnNldCArIDFdOwogICAgdmFyIGJzID0gc3JjW3NyY09mZnNldCArIDJdOwogICAgaWYgKG1heFZhbCAhPT0gZmFsc2UpIHsKICAgICAgTHMgPSBkZWNvZGUoTHMsIG1heFZhbCwgMCwgMTAwKTsKICAgICAgYXMgPSBkZWNvZGUoYXMsIG1heFZhbCwgY3MuYW1pbiwgY3MuYW1heCk7CiAgICAgIGJzID0gZGVjb2RlKGJzLCBtYXhWYWwsIGNzLmJtaW4sIGNzLmJtYXgpOwogICAgfQoKICAgIC8vIEFkanVzdCBsaW1pdHMgb2YgJ2FzJyBhbmQgJ2JzJwogICAgYXMgPSBhcyA+IGNzLmFtYXggPyBjcy5hbWF4IDogYXMgPCBjcy5hbWluID8gY3MuYW1pbiA6IGFzOwogICAgYnMgPSBicyA+IGNzLmJtYXggPyBjcy5ibWF4IDogYnMgPCBjcy5ibWluID8gY3MuYm1pbiA6IGJzOwoKICAgIC8vIENvbXB1dGVzIGludGVybWVkaWF0ZSB2YXJpYWJsZXMgWCxZLFogYXMgcGVyIHNwZWMKICAgIHZhciBNID0gKExzICsgMTYpIC8gMTE2OwogICAgdmFyIEwgPSBNICsgKGFzIC8gNTAwKTsKICAgIHZhciBOID0gTSAtIChicyAvIDIwMCk7CgogICAgdmFyIFggPSBjcy5YVyAqIGZuX2coTCk7CiAgICB2YXIgWSA9IGNzLllXICogZm5fZyhNKTsKICAgIHZhciBaID0gY3MuWlcgKiBmbl9nKE4pOwoKICAgIHZhciByLCBnLCBiOwogICAgLy8gVXNpbmcgZGlmZmVyZW50IGNvbnZlcnNpb25zIGZvciBENTAgYW5kIEQ2NSB3aGl0ZSBwb2ludHMsCiAgICAvLyBwZXIgaHR0cDovL3d3dy5jb2xvci5vcmcvc3JnYi5wZGYKICAgIGlmIChjcy5aVyA8IDEpIHsKICAgICAgLy8gQXNzdW1pbmcgRDUwIChYPTAuOTY0MiwgWT0xLjAwLCBaPTAuODI0OSkKICAgICAgciA9IFggKiAzLjEzMzkgKyBZICogLTEuNjE3MCArIFogKiAtMC40OTA2OwogICAgICBnID0gWCAqIC0wLjk3ODUgKyBZICogMS45MTYwICsgWiAqIDAuMDMzMzsKICAgICAgYiA9IFggKiAwLjA3MjAgKyBZICogLTAuMjI5MCArIFogKiAxLjQwNTc7CiAgICB9IGVsc2UgewogICAgICAvLyBBc3N1bWluZyBENjUgKFg9MC45NTA1LCBZPTEuMDAsIFo9MS4wODg4KQogICAgICByID0gWCAqIDMuMjQwNiArIFkgKiAtMS41MzcyICsgWiAqIC0wLjQ5ODY7CiAgICAgIGcgPSBYICogLTAuOTY4OSArIFkgKiAxLjg3NTggKyBaICogMC4wNDE1OwogICAgICBiID0gWCAqIDAuMDU1NyArIFkgKiAtMC4yMDQwICsgWiAqIDEuMDU3MDsKICAgIH0KICAgIC8vIGNsYW1wIGNvbG9yIHZhbHVlcyB0byBbMCwxXSByYW5nZSB0aGVuIGNvbnZlcnQgdG8gWzAsMjU1XSByYW5nZS4KICAgIGRlc3RbZGVzdE9mZnNldF0gPSByIDw9IDAgPyAwIDogciA+PSAxID8gMjU1IDogTWF0aC5zcXJ0KHIpICogMjU1IHwgMDsKICAgIGRlc3RbZGVzdE9mZnNldCArIDFdID0gZyA8PSAwID8gMCA6IGcgPj0gMSA/IDI1NSA6IE1hdGguc3FydChnKSAqIDI1NSB8IDA7CiAgICBkZXN0W2Rlc3RPZmZzZXQgKyAyXSA9IGIgPD0gMCA/IDAgOiBiID49IDEgPyAyNTUgOiBNYXRoLnNxcnQoYikgKiAyNTUgfCAwOwogIH0KCiAgTGFiQ1MucHJvdG90eXBlID0gewogICAgZ2V0UmdiOiBDb2xvclNwYWNlLnByb3RvdHlwZS5nZXRSZ2IsCiAgICBnZXRSZ2JJdGVtOiBmdW5jdGlvbiBMYWJDU19nZXRSZ2JJdGVtKHNyYywgc3JjT2Zmc2V0LCBkZXN0LCBkZXN0T2Zmc2V0KSB7CiAgICAgIGNvbnZlcnRUb1JnYih0aGlzLCBzcmMsIHNyY09mZnNldCwgZmFsc2UsIGRlc3QsIGRlc3RPZmZzZXQpOwogICAgfSwKICAgIGdldFJnYkJ1ZmZlcjogZnVuY3Rpb24gTGFiQ1NfZ2V0UmdiQnVmZmVyKHNyYywgc3JjT2Zmc2V0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QsIGRlc3RPZmZzZXQsIGJpdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTAxKSB7CiAgICAgIHZhciBtYXhWYWwgPSAoMSA8PCBiaXRzKSAtIDE7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgIGNvbnZlcnRUb1JnYih0aGlzLCBzcmMsIHNyY09mZnNldCwgbWF4VmFsLCBkZXN0LCBkZXN0T2Zmc2V0KTsKICAgICAgICBzcmNPZmZzZXQgKz0gMzsKICAgICAgICBkZXN0T2Zmc2V0ICs9IDMgKyBhbHBoYTAxOwogICAgICB9CiAgICB9LAogICAgZ2V0T3V0cHV0TGVuZ3RoOiBmdW5jdGlvbiBMYWJDU19nZXRPdXRwdXRMZW5ndGgoaW5wdXRMZW5ndGgsIGFscGhhMDEpIHsKICAgICAgcmV0dXJuIChpbnB1dExlbmd0aCAqICgzICsgYWxwaGEwMSkgLyAzKSB8IDA7CiAgICB9LAogICAgaXNQYXNzdGhyb3VnaDogQ29sb3JTcGFjZS5wcm90b3R5cGUuaXNQYXNzdGhyb3VnaCwKICAgIGZpbGxSZ2I6IENvbG9yU3BhY2UucHJvdG90eXBlLmZpbGxSZ2IsCiAgICBpc0RlZmF1bHREZWNvZGU6IGZ1bmN0aW9uIExhYkNTX2lzRGVmYXVsdERlY29kZShkZWNvZGVNYXApIHsKICAgICAgLy8gWFhYOiBEZWNvZGluZyBpcyBoYW5kbGVkIHdpdGggdGhlIGxhYiBjb252ZXJzaW9uIGJlY2F1c2Ugb2YgdGhlIHN0cmFuZ2UKICAgICAgLy8gcmFuZ2VzIHRoYXQgYXJlIHVzZWQuCiAgICAgIHJldHVybiB0cnVlOwogICAgfSwKICAgIHVzZXNaZXJvVG9PbmVSYW5nZTogZmFsc2UKICB9OwogIHJldHVybiBMYWJDUzsKfSkoKTsKCgp2YXIgQVJDRm91ckNpcGhlciA9IChmdW5jdGlvbiBBUkNGb3VyQ2lwaGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBBUkNGb3VyQ2lwaGVyKGtleSkgewogICAgdGhpcy5hID0gMDsKICAgIHRoaXMuYiA9IDA7CiAgICB2YXIgcyA9IG5ldyBVaW50OEFycmF5KDI1Nik7CiAgICB2YXIgaSwgaiA9IDAsIHRtcCwga2V5TGVuZ3RoID0ga2V5Lmxlbmd0aDsKICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7ICsraSkgewogICAgICBzW2ldID0gaTsKICAgIH0KICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7ICsraSkgewogICAgICB0bXAgPSBzW2ldOwogICAgICBqID0gKGogKyB0bXAgKyBrZXlbaSAlIGtleUxlbmd0aF0pICYgMHhGRjsKICAgICAgc1tpXSA9IHNbal07CiAgICAgIHNbal0gPSB0bXA7CiAgICB9CiAgICB0aGlzLnMgPSBzOwogIH0KCiAgQVJDRm91ckNpcGhlci5wcm90b3R5cGUgPSB7CiAgICBlbmNyeXB0QmxvY2s6IGZ1bmN0aW9uIEFSQ0ZvdXJDaXBoZXJfZW5jcnlwdEJsb2NrKGRhdGEpIHsKICAgICAgdmFyIGksIG4gPSBkYXRhLmxlbmd0aCwgdG1wLCB0bXAyOwogICAgICB2YXIgYSA9IHRoaXMuYSwgYiA9IHRoaXMuYiwgcyA9IHRoaXMuczsKICAgICAgdmFyIG91dHB1dCA9IG5ldyBVaW50OEFycmF5KG4pOwogICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgYSA9IChhICsgMSkgJiAweEZGOwogICAgICAgIHRtcCA9IHNbYV07CiAgICAgICAgYiA9IChiICsgdG1wKSAmIDB4RkY7CiAgICAgICAgdG1wMiA9IHNbYl07CiAgICAgICAgc1thXSA9IHRtcDI7CiAgICAgICAgc1tiXSA9IHRtcDsKICAgICAgICBvdXRwdXRbaV0gPSBkYXRhW2ldIF4gc1sodG1wICsgdG1wMikgJiAweEZGXTsKICAgICAgfQogICAgICB0aGlzLmEgPSBhOwogICAgICB0aGlzLmIgPSBiOwogICAgICByZXR1cm4gb3V0cHV0OwogICAgfQogIH07CiAgQVJDRm91ckNpcGhlci5wcm90b3R5cGUuZGVjcnlwdEJsb2NrID0gQVJDRm91ckNpcGhlci5wcm90b3R5cGUuZW5jcnlwdEJsb2NrOwoKICByZXR1cm4gQVJDRm91ckNpcGhlcjsKfSkoKTsKCnZhciBjYWxjdWxhdGVNRDUgPSAoZnVuY3Rpb24gY2FsY3VsYXRlTUQ1Q2xvc3VyZSgpIHsKICB2YXIgciA9IG5ldyBVaW50OEFycmF5KFsKICAgIDcsIDEyLCAxNywgMjIsIDcsIDEyLCAxNywgMjIsIDcsIDEyLCAxNywgMjIsIDcsIDEyLCAxNywgMjIsCiAgICA1LCA5LCAxNCwgMjAsIDUsIDksIDE0LCAyMCwgNSwgOSwgMTQsIDIwLCA1LCA5LCAxNCwgMjAsCiAgICA0LCAxMSwgMTYsIDIzLCA0LCAxMSwgMTYsIDIzLCA0LCAxMSwgMTYsIDIzLCA0LCAxMSwgMTYsIDIzLAogICAgNiwgMTAsIDE1LCAyMSwgNiwgMTAsIDE1LCAyMSwgNiwgMTAsIDE1LCAyMSwgNiwgMTAsIDE1LCAyMV0pOwoKICB2YXIgayA9IG5ldyBJbnQzMkFycmF5KFsKICAgIC02ODA4NzY5MzYsIC0zODk1NjQ1ODYsIDYwNjEwNTgxOSwgLTEwNDQ1MjUzMzAsIC0xNzY0MTg4OTcsIDEyMDAwODA0MjYsCiAgICAtMTQ3MzIzMTM0MSwgLTQ1NzA1OTgzLCAxNzcwMDM1NDE2LCAtMTk1ODQxNDQxNywgLTQyMDYzLCAtMTk5MDQwNDE2MiwKICAgIDE4MDQ2MDM2ODIsIC00MDM0MTEwMSwgLTE1MDIwMDIyOTAsIDEyMzY1MzUzMjksIC0xNjU3OTY1MTAsIC0xMDY5NTAxNjMyLAogICAgNjQzNzE3NzEzLCAtMzczODk3MzAyLCAtNzAxNTU4NjkxLCAzODAxNjA4MywgLTY2MDQ3ODMzNSwgLTQwNTUzNzg0OCwKICAgIDU2ODQ0NjQzOCwgLTEwMTk4MDM2OTAsIC0xODczNjM5NjEsIDExNjM1MzE1MDEsIC0xNDQ0NjgxNDY3LCAtNTE0MDM3ODQsCiAgICAxNzM1MzI4NDczLCAtMTkyNjYwNzczNCwgLTM3ODU1OCwgLTIwMjI1NzQ0NjMsIDE4MzkwMzA1NjIsIC0zNTMwOTU1NiwKICAgIC0xNTMwOTkyMDYwLCAxMjcyODkzMzUzLCAtMTU1NDk3NjMyLCAtMTA5NDczMDY0MCwgNjgxMjc5MTc0LCAtMzU4NTM3MjIyLAogICAgLTcyMjUyMTk3OSwgNzYwMjkxODksIC02NDAzNjQ0ODcsIC00MjE4MTU4MzUsIDUzMDc0MjUyMCwgLTk5NTMzODY1MSwKICAgIC0xOTg2MzA4NDQsIDExMjY4OTE0MTUsIC0xNDE2MzU0OTA1LCAtNTc0MzQwNTUsIDE3MDA0ODU1NzEsIC0xODk0OTg2NjA2LAogICAgLTEwNTE1MjMsIC0yMDU0OTIyNzk5LCAxODczMzEzMzU5LCAtMzA2MTE3NDQsIC0xNTYwMTk4MzgwLCAxMzA5MTUxNjQ5LAogICAgLTE0NTUyMzA3MCwgLTExMjAyMTAzNzksIDcxODc4NzI1OSwgLTM0MzQ4NTU1MV0pOwoKICBmdW5jdGlvbiBoYXNoKGRhdGEsIG9mZnNldCwgbGVuZ3RoKSB7CiAgICB2YXIgaDAgPSAxNzMyNTg0MTkzLCBoMSA9IC0yNzE3MzM4NzksIGgyID0gLTE3MzI1ODQxOTQsIGgzID0gMjcxNzMzODc4OwogICAgLy8gcHJlLXByb2Nlc3NpbmcKICAgIHZhciBwYWRkZWRMZW5ndGggPSAobGVuZ3RoICsgNzIpICYgfjYzOyAvLyBkYXRhICsgOSBleHRyYSBieXRlcwogICAgdmFyIHBhZGRlZCA9IG5ldyBVaW50OEFycmF5KHBhZGRlZExlbmd0aCk7CiAgICB2YXIgaSwgaiwgbjsKICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICBwYWRkZWRbaV0gPSBkYXRhW29mZnNldCsrXTsKICAgIH0KICAgIHBhZGRlZFtpKytdID0gMHg4MDsKICAgIG4gPSBwYWRkZWRMZW5ndGggLSA4OwogICAgd2hpbGUgKGkgPCBuKSB7CiAgICAgIHBhZGRlZFtpKytdID0gMDsKICAgIH0KICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA8PCAzKSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4gNSkgJiAweEZGOwogICAgcGFkZGVkW2krK10gPSAobGVuZ3RoID4+IDEzKSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4gMjEpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA+Pj4gMjkpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gMDsKICAgIHBhZGRlZFtpKytdID0gMDsKICAgIHBhZGRlZFtpKytdID0gMDsKICAgIHZhciB3ID0gbmV3IEludDMyQXJyYXkoMTYpOwogICAgZm9yIChpID0gMDsgaSA8IHBhZGRlZExlbmd0aDspIHsKICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyArK2osIGkgKz0gNCkgewogICAgICAgIHdbal0gPSAocGFkZGVkW2ldIHwgKHBhZGRlZFtpICsgMV0gPDwgOCkgfAogICAgICAgICAgICAgICAocGFkZGVkW2kgKyAyXSA8PCAxNikgfCAocGFkZGVkW2kgKyAzXSA8PCAyNCkpOwogICAgICB9CiAgICAgIHZhciBhID0gaDAsIGIgPSBoMSwgYyA9IGgyLCBkID0gaDMsIGYsIGc7CiAgICAgIGZvciAoaiA9IDA7IGogPCA2NDsgKytqKSB7CiAgICAgICAgaWYgKGogPCAxNikgewogICAgICAgICAgZiA9IChiICYgYykgfCAoKH5iKSAmIGQpOwogICAgICAgICAgZyA9IGo7CiAgICAgICAgfSBlbHNlIGlmIChqIDwgMzIpIHsKICAgICAgICAgIGYgPSAoZCAmIGIpIHwgKCh+ZCkgJiBjKTsKICAgICAgICAgIGcgPSAoNSAqIGogKyAxKSAmIDE1OwogICAgICAgIH0gZWxzZSBpZiAoaiA8IDQ4KSB7CiAgICAgICAgICBmID0gYiBeIGMgXiBkOwogICAgICAgICAgZyA9ICgzICogaiArIDUpICYgMTU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGYgPSBjIF4gKGIgfCAofmQpKTsKICAgICAgICAgIGcgPSAoNyAqIGopICYgMTU7CiAgICAgICAgfQogICAgICAgIHZhciB0bXAgPSBkLCByb3RhdGVBcmcgPSAoYSArIGYgKyBrW2pdICsgd1tnXSkgfCAwLCByb3RhdGUgPSByW2pdOwogICAgICAgIGQgPSBjOwogICAgICAgIGMgPSBiOwogICAgICAgIGIgPSAoYiArICgocm90YXRlQXJnIDw8IHJvdGF0ZSkgfCAocm90YXRlQXJnID4+PiAoMzIgLSByb3RhdGUpKSkpIHwgMDsKICAgICAgICBhID0gdG1wOwogICAgICB9CiAgICAgIGgwID0gKGgwICsgYSkgfCAwOwogICAgICBoMSA9IChoMSArIGIpIHwgMDsKICAgICAgaDIgPSAoaDIgKyBjKSB8IDA7CiAgICAgIGgzID0gKGgzICsgZCkgfCAwOwogICAgfQogICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFsKICAgICAgaDAgJiAweEZGLCAoaDAgPj4gOCkgJiAweEZGLCAoaDAgPj4gMTYpICYgMHhGRiwgKGgwID4+PiAyNCkgJiAweEZGLAogICAgICBoMSAmIDB4RkYsIChoMSA+PiA4KSAmIDB4RkYsIChoMSA+PiAxNikgJiAweEZGLCAoaDEgPj4+IDI0KSAmIDB4RkYsCiAgICAgIGgyICYgMHhGRiwgKGgyID4+IDgpICYgMHhGRiwgKGgyID4+IDE2KSAmIDB4RkYsIChoMiA+Pj4gMjQpICYgMHhGRiwKICAgICAgaDMgJiAweEZGLCAoaDMgPj4gOCkgJiAweEZGLCAoaDMgPj4gMTYpICYgMHhGRiwgKGgzID4+PiAyNCkgJiAweEZGCiAgICBdKTsKICB9CgogIHJldHVybiBoYXNoOwp9KSgpOwp2YXIgV29yZDY0ID0gKGZ1bmN0aW9uIFdvcmQ2NENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gV29yZDY0KGhpZ2hJbnRlZ2VyLCBsb3dJbnRlZ2VyKSB7CiAgICB0aGlzLmhpZ2ggPSBoaWdoSW50ZWdlciB8IDA7CiAgICB0aGlzLmxvdyA9IGxvd0ludGVnZXIgfCAwOwogIH0KICBXb3JkNjQucHJvdG90eXBlID0gewogICAgYW5kOiBmdW5jdGlvbiBXb3JkNjRfYW5kKHdvcmQpIHsKICAgICAgdGhpcy5oaWdoICY9IHdvcmQuaGlnaDsKICAgICAgdGhpcy5sb3cgJj0gd29yZC5sb3c7CiAgICB9LAogICAgeG9yOiBmdW5jdGlvbiBXb3JkNjRfeG9yKHdvcmQpIHsKICAgICB0aGlzLmhpZ2ggXj0gd29yZC5oaWdoOwogICAgIHRoaXMubG93IF49IHdvcmQubG93OwogICAgfSwKCiAgICBvcjogZnVuY3Rpb24gV29yZDY0X29yKHdvcmQpIHsKICAgICAgdGhpcy5oaWdoIHw9IHdvcmQuaGlnaDsKICAgICAgdGhpcy5sb3cgfD0gd29yZC5sb3c7CiAgICB9LAoKICAgIHNoaWZ0UmlnaHQ6IGZ1bmN0aW9uIFdvcmQ2NF9zaGlmdFJpZ2h0KHBsYWNlcykgewogICAgICBpZiAocGxhY2VzID49IDMyKSB7CiAgICAgICAgdGhpcy5sb3cgPSAodGhpcy5oaWdoID4+PiAocGxhY2VzIC0gMzIpKSB8IDA7CiAgICAgICAgdGhpcy5oaWdoID0gMDsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmxvdyA9ICh0aGlzLmxvdyA+Pj4gcGxhY2VzKSB8ICh0aGlzLmhpZ2ggPDwgKDMyIC0gcGxhY2VzKSk7CiAgICAgICAgdGhpcy5oaWdoID0gKHRoaXMuaGlnaCA+Pj4gcGxhY2VzKSB8IDA7CiAgICAgIH0KICAgIH0sCgogICAgc2hpZnRMZWZ0OiBmdW5jdGlvbiBXb3JkNjRfc2hpZnRMZWZ0KHBsYWNlcykgewogICAgICBpZiAocGxhY2VzID49IDMyKSB7CiAgICAgICAgdGhpcy5oaWdoID0gdGhpcy5sb3cgPDwgKHBsYWNlcyAtIDMyKTsKICAgICAgICB0aGlzLmxvdyA9IDA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5oaWdoID0gKHRoaXMuaGlnaCA8PCBwbGFjZXMpIHwgKHRoaXMubG93ID4+PiAoMzIgLSBwbGFjZXMpKTsKICAgICAgICB0aGlzLmxvdyA9IHRoaXMubG93IDw8IHBsYWNlczsKICAgICAgfQogICAgfSwKCiAgICByb3RhdGVSaWdodDogZnVuY3Rpb24gV29yZDY0X3JvdGF0ZVJpZ2h0KHBsYWNlcykgewogICAgICB2YXIgbG93LCBoaWdoOwogICAgICBpZiAocGxhY2VzICYgMzIpIHsKICAgICAgICBoaWdoID0gdGhpcy5sb3c7CiAgICAgICAgbG93ID0gdGhpcy5oaWdoOwogICAgICB9IGVsc2UgewogICAgICAgIGxvdyA9IHRoaXMubG93OwogICAgICAgIGhpZ2ggPSB0aGlzLmhpZ2g7CiAgICAgIH0KICAgICAgcGxhY2VzICY9IDMxOwogICAgICB0aGlzLmxvdyA9IChsb3cgPj4+IHBsYWNlcykgfCAoaGlnaCA8PCAoMzIgLSBwbGFjZXMpKTsKICAgICAgdGhpcy5oaWdoID0gKGhpZ2ggPj4+IHBsYWNlcykgfCAobG93IDw8ICgzMiAtIHBsYWNlcykpOwogICAgfSwKCiAgICBub3Q6IGZ1bmN0aW9uIFdvcmQ2NF9ub3QoKSB7CiAgICAgIHRoaXMuaGlnaCA9IH50aGlzLmhpZ2g7CiAgICAgIHRoaXMubG93ID0gfnRoaXMubG93OwogICAgfSwKCiAgICBhZGQ6IGZ1bmN0aW9uIFdvcmQ2NF9hZGQod29yZCkgewogICAgICB2YXIgbG93QWRkID0gKHRoaXMubG93ID4+PiAwKSArICh3b3JkLmxvdyA+Pj4gMCk7CiAgICAgIHZhciBoaWdoQWRkID0gKHRoaXMuaGlnaCA+Pj4gMCkgKyAod29yZC5oaWdoID4+PiAwKTsKICAgICAgaWYgKGxvd0FkZCA+IDB4RkZGRkZGRkYpIHsKICAgICAgICBoaWdoQWRkICs9IDE7CiAgICAgIH0KICAgICAgdGhpcy5sb3cgPSBsb3dBZGQgfCAwOwogICAgICB0aGlzLmhpZ2ggPSBoaWdoQWRkIHwgMDsKICAgIH0sCgogICAgY29weVRvOiBmdW5jdGlvbiBXb3JkNjRfY29weVRvKGJ5dGVzLCBvZmZzZXQpIHsKICAgICAgYnl0ZXNbb2Zmc2V0XSA9ICh0aGlzLmhpZ2ggPj4+IDI0KSAmIDB4RkY7CiAgICAgIGJ5dGVzW29mZnNldCArIDFdID0gKHRoaXMuaGlnaCA+PiAxNikgJiAweEZGOwogICAgICBieXRlc1tvZmZzZXQgKyAyXSA9ICh0aGlzLmhpZ2ggPj4gOCkgJiAweEZGOwogICAgICBieXRlc1tvZmZzZXQgKyAzXSA9IHRoaXMuaGlnaCAmIDB4RkY7CiAgICAgIGJ5dGVzW29mZnNldCArIDRdID0gKHRoaXMubG93ID4+PiAyNCkgJiAweEZGOwogICAgICBieXRlc1tvZmZzZXQgKyA1XSA9ICh0aGlzLmxvdyA+PiAxNikgJiAweEZGOwogICAgICBieXRlc1tvZmZzZXQgKyA2XSA9ICh0aGlzLmxvdyA+PiA4KSAmIDB4RkY7CiAgICAgIGJ5dGVzW29mZnNldCArIDddID0gdGhpcy5sb3cgJiAweEZGOwogICAgfSwKCiAgICBhc3NpZ246IGZ1bmN0aW9uIFdvcmQ2NF9hc3NpZ24od29yZCkgewogICAgICB0aGlzLmhpZ2ggPSB3b3JkLmhpZ2g7CiAgICAgIHRoaXMubG93ID0gd29yZC5sb3c7CiAgICB9CiAgfTsKICByZXR1cm4gV29yZDY0Owp9KSgpOwoKdmFyIGNhbGN1bGF0ZVNIQTI1NiA9IChmdW5jdGlvbiBjYWxjdWxhdGVTSEEyNTZDbG9zdXJlKCkgewogIGZ1bmN0aW9uIHJvdHIoeCwgbikgewogICAgcmV0dXJuICh4ID4+PiBuKSB8ICh4IDw8IDMyIC0gbik7CiAgfQoKICBmdW5jdGlvbiBjaCh4LCB5LCB6KSB7CiAgICByZXR1cm4gKHggJiB5KSBeICh+eCAmIHopOwogIH0KCiAgZnVuY3Rpb24gbWFqKHgsIHksIHopIHsKICAgIHJldHVybiAoeCAmIHkpIF4gKHggJiB6KSBeICh5ICYgeik7CiAgfQoKICBmdW5jdGlvbiBzaWdtYSh4KSB7CiAgICByZXR1cm4gcm90cih4LCAyKSBeIHJvdHIoeCwgMTMpIF4gcm90cih4LCAyMik7CiAgfQoKICBmdW5jdGlvbiBzaWdtYVByaW1lKHgpIHsKICAgIHJldHVybiByb3RyKHgsIDYpIF4gcm90cih4LCAxMSkgXiByb3RyKHgsIDI1KTsKICB9CgogIGZ1bmN0aW9uIGxpdHRsZVNpZ21hKHgpIHsKICAgIHJldHVybiByb3RyKHgsIDcpIF4gcm90cih4LCAxOCkgXiB4ID4+PiAzOwogIH0KCiAgZnVuY3Rpb24gbGl0dGxlU2lnbWFQcmltZSh4KSB7CiAgICByZXR1cm4gcm90cih4LCAxNykgXiByb3RyKHgsIDE5KSBeIHggPj4+IDEwOwogIH0KCiAgdmFyIGsgPSBbMHg0MjhhMmY5OCwgMHg3MTM3NDQ5MSwgMHhiNWMwZmJjZiwgMHhlOWI1ZGJhNSwKICAgICAgICAgICAweDM5NTZjMjViLCAweDU5ZjExMWYxLCAweDkyM2Y4MmE0LCAweGFiMWM1ZWQ1LAogICAgICAgICAgIDB4ZDgwN2FhOTgsIDB4MTI4MzViMDEsIDB4MjQzMTg1YmUsIDB4NTUwYzdkYzMsCiAgICAgICAgICAgMHg3MmJlNWQ3NCwgMHg4MGRlYjFmZSwgMHg5YmRjMDZhNywgMHhjMTliZjE3NCwKICAgICAgICAgICAweGU0OWI2OWMxLCAweGVmYmU0Nzg2LCAweDBmYzE5ZGM2LCAweDI0MGNhMWNjLAogICAgICAgICAgIDB4MmRlOTJjNmYsIDB4NGE3NDg0YWEsIDB4NWNiMGE5ZGMsIDB4NzZmOTg4ZGEsCiAgICAgICAgICAgMHg5ODNlNTE1MiwgMHhhODMxYzY2ZCwgMHhiMDAzMjdjOCwgMHhiZjU5N2ZjNywKICAgICAgICAgICAweGM2ZTAwYmYzLCAweGQ1YTc5MTQ3LCAweDA2Y2E2MzUxLCAweDE0MjkyOTY3LAogICAgICAgICAgIDB4MjdiNzBhODUsIDB4MmUxYjIxMzgsIDB4NGQyYzZkZmMsIDB4NTMzODBkMTMsCiAgICAgICAgICAgMHg2NTBhNzM1NCwgMHg3NjZhMGFiYiwgMHg4MWMyYzkyZSwgMHg5MjcyMmM4NSwKICAgICAgICAgICAweGEyYmZlOGExLCAweGE4MWE2NjRiLCAweGMyNGI4YjcwLCAweGM3NmM1MWEzLAogICAgICAgICAgIDB4ZDE5MmU4MTksIDB4ZDY5OTA2MjQsIDB4ZjQwZTM1ODUsIDB4MTA2YWEwNzAsCiAgICAgICAgICAgMHgxOWE0YzExNiwgMHgxZTM3NmMwOCwgMHgyNzQ4Nzc0YywgMHgzNGIwYmNiNSwKICAgICAgICAgICAweDM5MWMwY2IzLCAweDRlZDhhYTRhLCAweDViOWNjYTRmLCAweDY4MmU2ZmYzLAogICAgICAgICAgIDB4NzQ4ZjgyZWUsIDB4NzhhNTYzNmYsIDB4ODRjODc4MTQsIDB4OGNjNzAyMDgsCiAgICAgICAgICAgMHg5MGJlZmZmYSwgMHhhNDUwNmNlYiwgMHhiZWY5YTNmNywgMHhjNjcxNzhmMl07CgogIGZ1bmN0aW9uIGhhc2goZGF0YSwgb2Zmc2V0LCBsZW5ndGgpIHsKICAgIC8vIGluaXRpYWwgaGFzaCB2YWx1ZXMKICAgIHZhciBoMCA9IDB4NmEwOWU2NjcsIGgxID0gMHhiYjY3YWU4NSwgaDIgPSAweDNjNmVmMzcyLAogICAgICAgIGgzID0gMHhhNTRmZjUzYSwgaDQgPSAweDUxMGU1MjdmLCBoNSA9IDB4OWIwNTY4OGMsCiAgICAgICAgaDYgPSAweDFmODNkOWFiLCBoNyA9IDB4NWJlMGNkMTk7CiAgICAvLyBwcmUtcHJvY2Vzc2luZwogICAgdmFyIHBhZGRlZExlbmd0aCA9IE1hdGguY2VpbCgobGVuZ3RoICsgOSkgLyA2NCkgKiA2NDsKICAgIHZhciBwYWRkZWQgPSBuZXcgVWludDhBcnJheShwYWRkZWRMZW5ndGgpOwogICAgdmFyIGksIGosIG47CiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgcGFkZGVkW2ldID0gZGF0YVtvZmZzZXQrK107CiAgICB9CiAgICBwYWRkZWRbaSsrXSA9IDB4ODA7CiAgICBuID0gcGFkZGVkTGVuZ3RoIC0gODsKICAgIHdoaWxlIChpIDwgbikgewogICAgICBwYWRkZWRbaSsrXSA9IDA7CiAgICB9CiAgICBwYWRkZWRbaSsrXSA9IDA7CiAgICBwYWRkZWRbaSsrXSA9IDA7CiAgICBwYWRkZWRbaSsrXSA9IDA7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4+IDI5KSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4gMjEpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA+PiAxMykgJiAweEZGOwogICAgcGFkZGVkW2krK10gPSAobGVuZ3RoID4+IDUpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA8PCAzKSAmIDB4RkY7CiAgICB2YXIgdyA9IG5ldyBVaW50MzJBcnJheSg2NCk7CiAgICAvLyBmb3IgZWFjaCA1MTIgYml0IGJsb2NrCiAgICBmb3IgKGkgPSAwOyBpIDwgcGFkZGVkTGVuZ3RoOykgewogICAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAgIHdbal0gPSAocGFkZGVkW2ldIDw8IDI0IHwgKHBhZGRlZFtpICsgMV0gPDwgMTYpIHwKICAgICAgICAgICAgICAgKHBhZGRlZFtpICsgMl0gPDwgOCkgfCAocGFkZGVkW2kgKyAzXSkpOwogICAgICAgIGkgKz0gNDsKICAgICAgfQoKICAgICAgZm9yIChqID0gMTY7IGogPCA2NDsgKytqKSB7CiAgICAgICAgd1tqXSA9IGxpdHRsZVNpZ21hUHJpbWUod1tqIC0gMl0pICsgd1tqIC0gN10gKwogICAgICAgICAgICAgICBsaXR0bGVTaWdtYSh3W2ogLSAxNV0pICsgd1tqIC0gMTZdIHwgMDsKICAgICAgfQogICAgICB2YXIgYSA9IGgwLCBiID0gaDEsIGMgPSBoMiwgZCA9IGgzLCBlID0gaDQsCiAgICAgICAgICBmID0gaDUsIGcgPSBoNiwgaCA9IGg3LCB0MSwgdDI7CiAgICAgIGZvciAoaiA9IDA7IGogPCA2NDsgKytqKSB7CiAgICAgICAgdDEgPSBoICsgc2lnbWFQcmltZShlKSArIGNoKGUsIGYsIGcpICsga1tqXSArIHdbal07CiAgICAgICAgdDIgPSBzaWdtYShhKSArIG1haihhLCBiLCBjKTsKICAgICAgICBoID0gZzsKICAgICAgICBnID0gZjsKICAgICAgICBmID0gZTsKICAgICAgICBlID0gKGQgKyB0MSkgfCAwOwogICAgICAgIGQgPSBjOwogICAgICAgIGMgPSBiOwogICAgICAgIGIgPSBhOwogICAgICAgIGEgPSAodDEgKyB0MikgfCAwOwogICAgICB9CiAgICAgIGgwID0gKGgwICsgYSkgfCAwOwogICAgICBoMSA9IChoMSArIGIpIHwgMDsKICAgICAgaDIgPSAoaDIgKyBjKSB8IDA7CiAgICAgIGgzID0gKGgzICsgZCkgfCAwOwogICAgICBoNCA9IChoNCArIGUpIHwgMDsKICAgICAgaDUgPSAoaDUgKyBmKSB8IDA7CiAgICAgIGg2ID0gKGg2ICsgZykgfCAwOwogICAgICBoNyA9IChoNyArIGgpIHwgMDsKICAgIH0KICAgIHJldHVybiBuZXcgVWludDhBcnJheShbCiAgICAgIChoMCA+PiAyNCkgJiAweEZGLCAoaDAgPj4gMTYpICYgMHhGRiwgKGgwID4+IDgpICYgMHhGRiwgKGgwKSAmIDB4RkYsCiAgICAgIChoMSA+PiAyNCkgJiAweEZGLCAoaDEgPj4gMTYpICYgMHhGRiwgKGgxID4+IDgpICYgMHhGRiwgKGgxKSAmIDB4RkYsCiAgICAgIChoMiA+PiAyNCkgJiAweEZGLCAoaDIgPj4gMTYpICYgMHhGRiwgKGgyID4+IDgpICYgMHhGRiwgKGgyKSAmIDB4RkYsCiAgICAgIChoMyA+PiAyNCkgJiAweEZGLCAoaDMgPj4gMTYpICYgMHhGRiwgKGgzID4+IDgpICYgMHhGRiwgKGgzKSAmIDB4RkYsCiAgICAgIChoNCA+PiAyNCkgJiAweEZGLCAoaDQgPj4gMTYpICYgMHhGRiwgKGg0ID4+IDgpICYgMHhGRiwgKGg0KSAmIDB4RkYsCiAgICAgIChoNSA+PiAyNCkgJiAweEZGLCAoaDUgPj4gMTYpICYgMHhGRiwgKGg1ID4+IDgpICYgMHhGRiwgKGg1KSAmIDB4RkYsCiAgICAgIChoNiA+PiAyNCkgJiAweEZGLCAoaDYgPj4gMTYpICYgMHhGRiwgKGg2ID4+IDgpICYgMHhGRiwgKGg2KSAmIDB4RkYsCiAgICAgIChoNyA+PiAyNCkgJiAweEZGLCAoaDcgPj4gMTYpICYgMHhGRiwgKGg3ID4+IDgpICYgMHhGRiwgKGg3KSAmIDB4RkYKICAgIF0pOwogIH0KCiAgcmV0dXJuIGhhc2g7Cn0pKCk7Cgp2YXIgY2FsY3VsYXRlU0hBNTEyID0gKGZ1bmN0aW9uIGNhbGN1bGF0ZVNIQTUxMkNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gY2gocmVzdWx0LCB4LCB5LCB6LCB0bXApIHsKICAgIHJlc3VsdC5hc3NpZ24oeCk7CiAgICByZXN1bHQuYW5kKHkpOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5ub3QoKTsKICAgIHRtcC5hbmQoeik7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgfQoKICBmdW5jdGlvbiBtYWoocmVzdWx0LCB4LCB5LCB6LCB0bXApIHsKICAgIHJlc3VsdC5hc3NpZ24oeCk7CiAgICByZXN1bHQuYW5kKHkpOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5hbmQoeik7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgICB0bXAuYXNzaWduKHkpOwogICAgdG1wLmFuZCh6KTsKICAgIHJlc3VsdC54b3IodG1wKTsKICB9CgogIGZ1bmN0aW9uIHNpZ21hKHJlc3VsdCwgeCwgdG1wKSB7CiAgICByZXN1bHQuYXNzaWduKHgpOwogICAgcmVzdWx0LnJvdGF0ZVJpZ2h0KDI4KTsKICAgIHRtcC5hc3NpZ24oeCk7CiAgICB0bXAucm90YXRlUmlnaHQoMzQpOwogICAgcmVzdWx0Lnhvcih0bXApOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5yb3RhdGVSaWdodCgzOSk7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgfQoKICBmdW5jdGlvbiBzaWdtYVByaW1lKHJlc3VsdCwgeCwgdG1wKSB7CiAgICByZXN1bHQuYXNzaWduKHgpOwogICAgcmVzdWx0LnJvdGF0ZVJpZ2h0KDE0KTsKICAgIHRtcC5hc3NpZ24oeCk7CiAgICB0bXAucm90YXRlUmlnaHQoMTgpOwogICAgcmVzdWx0Lnhvcih0bXApOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5yb3RhdGVSaWdodCg0MSk7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgfQoKICBmdW5jdGlvbiBsaXR0bGVTaWdtYShyZXN1bHQsIHgsIHRtcCkgewogICAgcmVzdWx0LmFzc2lnbih4KTsKICAgIHJlc3VsdC5yb3RhdGVSaWdodCgxKTsKICAgIHRtcC5hc3NpZ24oeCk7CiAgICB0bXAucm90YXRlUmlnaHQoOCk7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgICB0bXAuYXNzaWduKHgpOwogICAgdG1wLnNoaWZ0UmlnaHQoNyk7CiAgICByZXN1bHQueG9yKHRtcCk7CiAgfQoKICBmdW5jdGlvbiBsaXR0bGVTaWdtYVByaW1lKHJlc3VsdCwgeCwgdG1wKSB7CiAgICByZXN1bHQuYXNzaWduKHgpOwogICAgcmVzdWx0LnJvdGF0ZVJpZ2h0KDE5KTsKICAgIHRtcC5hc3NpZ24oeCk7CiAgICB0bXAucm90YXRlUmlnaHQoNjEpOwogICAgcmVzdWx0Lnhvcih0bXApOwogICAgdG1wLmFzc2lnbih4KTsKICAgIHRtcC5zaGlmdFJpZ2h0KDYpOwogICAgcmVzdWx0Lnhvcih0bXApOwogIH0KCiAgdmFyIGsgPSBbCiAgICBuZXcgV29yZDY0KDB4NDI4YTJmOTgsIDB4ZDcyOGFlMjIpLCBuZXcgV29yZDY0KDB4NzEzNzQ0OTEsIDB4MjNlZjY1Y2QpLAogICAgbmV3IFdvcmQ2NCgweGI1YzBmYmNmLCAweGVjNGQzYjJmKSwgbmV3IFdvcmQ2NCgweGU5YjVkYmE1LCAweDgxODlkYmJjKSwKICAgIG5ldyBXb3JkNjQoMHgzOTU2YzI1YiwgMHhmMzQ4YjUzOCksIG5ldyBXb3JkNjQoMHg1OWYxMTFmMSwgMHhiNjA1ZDAxOSksCiAgICBuZXcgV29yZDY0KDB4OTIzZjgyYTQsIDB4YWYxOTRmOWIpLCBuZXcgV29yZDY0KDB4YWIxYzVlZDUsIDB4ZGE2ZDgxMTgpLAogICAgbmV3IFdvcmQ2NCgweGQ4MDdhYTk4LCAweGEzMDMwMjQyKSwgbmV3IFdvcmQ2NCgweDEyODM1YjAxLCAweDQ1NzA2ZmJlKSwKICAgIG5ldyBXb3JkNjQoMHgyNDMxODViZSwgMHg0ZWU0YjI4YyksIG5ldyBXb3JkNjQoMHg1NTBjN2RjMywgMHhkNWZmYjRlMiksCiAgICBuZXcgV29yZDY0KDB4NzJiZTVkNzQsIDB4ZjI3Yjg5NmYpLCBuZXcgV29yZDY0KDB4ODBkZWIxZmUsIDB4M2IxNjk2YjEpLAogICAgbmV3IFdvcmQ2NCgweDliZGMwNmE3LCAweDI1YzcxMjM1KSwgbmV3IFdvcmQ2NCgweGMxOWJmMTc0LCAweGNmNjkyNjk0KSwKICAgIG5ldyBXb3JkNjQoMHhlNDliNjljMSwgMHg5ZWYxNGFkMiksIG5ldyBXb3JkNjQoMHhlZmJlNDc4NiwgMHgzODRmMjVlMyksCiAgICBuZXcgV29yZDY0KDB4MGZjMTlkYzYsIDB4OGI4Y2Q1YjUpLCBuZXcgV29yZDY0KDB4MjQwY2ExY2MsIDB4NzdhYzljNjUpLAogICAgbmV3IFdvcmQ2NCgweDJkZTkyYzZmLCAweDU5MmIwMjc1KSwgbmV3IFdvcmQ2NCgweDRhNzQ4NGFhLCAweDZlYTZlNDgzKSwKICAgIG5ldyBXb3JkNjQoMHg1Y2IwYTlkYywgMHhiZDQxZmJkNCksIG5ldyBXb3JkNjQoMHg3NmY5ODhkYSwgMHg4MzExNTNiNSksCiAgICBuZXcgV29yZDY0KDB4OTgzZTUxNTIsIDB4ZWU2NmRmYWIpLCBuZXcgV29yZDY0KDB4YTgzMWM2NmQsIDB4MmRiNDMyMTApLAogICAgbmV3IFdvcmQ2NCgweGIwMDMyN2M4LCAweDk4ZmIyMTNmKSwgbmV3IFdvcmQ2NCgweGJmNTk3ZmM3LCAweGJlZWYwZWU0KSwKICAgIG5ldyBXb3JkNjQoMHhjNmUwMGJmMywgMHgzZGE4OGZjMiksIG5ldyBXb3JkNjQoMHhkNWE3OTE0NywgMHg5MzBhYTcyNSksCiAgICBuZXcgV29yZDY0KDB4MDZjYTYzNTEsIDB4ZTAwMzgyNmYpLCBuZXcgV29yZDY0KDB4MTQyOTI5NjcsIDB4MGEwZTZlNzApLAogICAgbmV3IFdvcmQ2NCgweDI3YjcwYTg1LCAweDQ2ZDIyZmZjKSwgbmV3IFdvcmQ2NCgweDJlMWIyMTM4LCAweDVjMjZjOTI2KSwKICAgIG5ldyBXb3JkNjQoMHg0ZDJjNmRmYywgMHg1YWM0MmFlZCksIG5ldyBXb3JkNjQoMHg1MzM4MGQxMywgMHg5ZDk1YjNkZiksCiAgICBuZXcgV29yZDY0KDB4NjUwYTczNTQsIDB4OGJhZjYzZGUpLCBuZXcgV29yZDY0KDB4NzY2YTBhYmIsIDB4M2M3N2IyYTgpLAogICAgbmV3IFdvcmQ2NCgweDgxYzJjOTJlLCAweDQ3ZWRhZWU2KSwgbmV3IFdvcmQ2NCgweDkyNzIyYzg1LCAweDE0ODIzNTNiKSwKICAgIG5ldyBXb3JkNjQoMHhhMmJmZThhMSwgMHg0Y2YxMDM2NCksIG5ldyBXb3JkNjQoMHhhODFhNjY0YiwgMHhiYzQyMzAwMSksCiAgICBuZXcgV29yZDY0KDB4YzI0YjhiNzAsIDB4ZDBmODk3OTEpLCBuZXcgV29yZDY0KDB4Yzc2YzUxYTMsIDB4MDY1NGJlMzApLAogICAgbmV3IFdvcmQ2NCgweGQxOTJlODE5LCAweGQ2ZWY1MjE4KSwgbmV3IFdvcmQ2NCgweGQ2OTkwNjI0LCAweDU1NjVhOTEwKSwKICAgIG5ldyBXb3JkNjQoMHhmNDBlMzU4NSwgMHg1NzcxMjAyYSksIG5ldyBXb3JkNjQoMHgxMDZhYTA3MCwgMHgzMmJiZDFiOCksCiAgICBuZXcgV29yZDY0KDB4MTlhNGMxMTYsIDB4YjhkMmQwYzgpLCBuZXcgV29yZDY0KDB4MWUzNzZjMDgsIDB4NTE0MWFiNTMpLAogICAgbmV3IFdvcmQ2NCgweDI3NDg3NzRjLCAweGRmOGVlYjk5KSwgbmV3IFdvcmQ2NCgweDM0YjBiY2I1LCAweGUxOWI0OGE4KSwKICAgIG5ldyBXb3JkNjQoMHgzOTFjMGNiMywgMHhjNWM5NWE2MyksIG5ldyBXb3JkNjQoMHg0ZWQ4YWE0YSwgMHhlMzQxOGFjYiksCiAgICBuZXcgV29yZDY0KDB4NWI5Y2NhNGYsIDB4Nzc2M2UzNzMpLCBuZXcgV29yZDY0KDB4NjgyZTZmZjMsIDB4ZDZiMmI4YTMpLAogICAgbmV3IFdvcmQ2NCgweDc0OGY4MmVlLCAweDVkZWZiMmZjKSwgbmV3IFdvcmQ2NCgweDc4YTU2MzZmLCAweDQzMTcyZjYwKSwKICAgIG5ldyBXb3JkNjQoMHg4NGM4NzgxNCwgMHhhMWYwYWI3MiksIG5ldyBXb3JkNjQoMHg4Y2M3MDIwOCwgMHgxYTY0MzllYyksCiAgICBuZXcgV29yZDY0KDB4OTBiZWZmZmEsIDB4MjM2MzFlMjgpLCBuZXcgV29yZDY0KDB4YTQ1MDZjZWIsIDB4ZGU4MmJkZTkpLAogICAgbmV3IFdvcmQ2NCgweGJlZjlhM2Y3LCAweGIyYzY3OTE1KSwgbmV3IFdvcmQ2NCgweGM2NzE3OGYyLCAweGUzNzI1MzJiKSwKICAgIG5ldyBXb3JkNjQoMHhjYTI3M2VjZSwgMHhlYTI2NjE5YyksIG5ldyBXb3JkNjQoMHhkMTg2YjhjNywgMHgyMWMwYzIwNyksCiAgICBuZXcgV29yZDY0KDB4ZWFkYTdkZDYsIDB4Y2RlMGViMWUpLCBuZXcgV29yZDY0KDB4ZjU3ZDRmN2YsIDB4ZWU2ZWQxNzgpLAogICAgbmV3IFdvcmQ2NCgweDA2ZjA2N2FhLCAweDcyMTc2ZmJhKSwgbmV3IFdvcmQ2NCgweDBhNjM3ZGM1LCAweGEyYzg5OGE2KSwKICAgIG5ldyBXb3JkNjQoMHgxMTNmOTgwNCwgMHhiZWY5MGRhZSksIG5ldyBXb3JkNjQoMHgxYjcxMGIzNSwgMHgxMzFjNDcxYiksCiAgICBuZXcgV29yZDY0KDB4MjhkYjc3ZjUsIDB4MjMwNDdkODQpLCBuZXcgV29yZDY0KDB4MzJjYWFiN2IsIDB4NDBjNzI0OTMpLAogICAgbmV3IFdvcmQ2NCgweDNjOWViZTBhLCAweDE1YzliZWJjKSwgbmV3IFdvcmQ2NCgweDQzMWQ2N2M0LCAweDljMTAwZDRjKSwKICAgIG5ldyBXb3JkNjQoMHg0Y2M1ZDRiZSwgMHhjYjNlNDJiNiksIG5ldyBXb3JkNjQoMHg1OTdmMjk5YywgMHhmYzY1N2UyYSksCiAgICBuZXcgV29yZDY0KDB4NWZjYjZmYWIsIDB4M2FkNmZhZWMpLCBuZXcgV29yZDY0KDB4NmM0NDE5OGMsIDB4NGE0NzU4MTcpXTsKCiAgZnVuY3Rpb24gaGFzaChkYXRhLCBvZmZzZXQsIGxlbmd0aCwgbW9kZTM4NCkgewogICAgbW9kZTM4NCA9ICEhbW9kZTM4NDsKICAgIC8vIGluaXRpYWwgaGFzaCB2YWx1ZXMKICAgIHZhciBoMCwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaDc7CiAgICBpZiAoIW1vZGUzODQpIHsKICAgICAgaDAgPSBuZXcgV29yZDY0KDB4NmEwOWU2NjcsIDB4ZjNiY2M5MDgpOwogICAgICBoMSA9IG5ldyBXb3JkNjQoMHhiYjY3YWU4NSwgMHg4NGNhYTczYik7CiAgICAgIGgyID0gbmV3IFdvcmQ2NCgweDNjNmVmMzcyLCAweGZlOTRmODJiKTsKICAgICAgaDMgPSBuZXcgV29yZDY0KDB4YTU0ZmY1M2EsIDB4NWYxZDM2ZjEpOwogICAgICBoNCA9IG5ldyBXb3JkNjQoMHg1MTBlNTI3ZiwgMHhhZGU2ODJkMSk7CiAgICAgIGg1ID0gbmV3IFdvcmQ2NCgweDliMDU2ODhjLCAweDJiM2U2YzFmKTsKICAgICAgaDYgPSBuZXcgV29yZDY0KDB4MWY4M2Q5YWIsIDB4ZmI0MWJkNmIpOwogICAgICBoNyA9IG5ldyBXb3JkNjQoMHg1YmUwY2QxOSwgMHgxMzdlMjE3OSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgLy8gU0hBMzg0IGlzIGV4YWN0bHkgdGhlIHNhbWUKICAgICAgLy8gZXhjZXB0IHdpdGggZGlmZmVyZW50IHN0YXJ0aW5nIHZhbHVlcyBhbmQgYSB0cmltbWVkIHJlc3VsdAogICAgICBoMCA9IG5ldyBXb3JkNjQoMHhjYmJiOWQ1ZCwgMHhjMTA1OWVkOCk7CiAgICAgIGgxID0gbmV3IFdvcmQ2NCgweDYyOWEyOTJhLCAweDM2N2NkNTA3KTsKICAgICAgaDIgPSBuZXcgV29yZDY0KDB4OTE1OTAxNWEsIDB4MzA3MGRkMTcpOwogICAgICBoMyA9IG5ldyBXb3JkNjQoMHgxNTJmZWNkOCwgMHhmNzBlNTkzOSk7CiAgICAgIGg0ID0gbmV3IFdvcmQ2NCgweDY3MzMyNjY3LCAweGZmYzAwYjMxKTsKICAgICAgaDUgPSBuZXcgV29yZDY0KDB4OGViNDRhODcsIDB4Njg1ODE1MTEpOwogICAgICBoNiA9IG5ldyBXb3JkNjQoMHhkYjBjMmUwZCwgMHg2NGY5OGZhNyk7CiAgICAgIGg3ID0gbmV3IFdvcmQ2NCgweDQ3YjU0ODFkLCAweGJlZmE0ZmE0KTsKICAgIH0KCiAgICAvLyBwcmUtcHJvY2Vzc2luZwogICAgdmFyIHBhZGRlZExlbmd0aCA9IE1hdGguY2VpbCgobGVuZ3RoICsgMTcpIC8gMTI4KSAqIDEyODsKICAgIHZhciBwYWRkZWQgPSBuZXcgVWludDhBcnJheShwYWRkZWRMZW5ndGgpOwogICAgdmFyIGksIGosIG47CiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgcGFkZGVkW2ldID0gZGF0YVtvZmZzZXQrK107CiAgICB9CiAgICBwYWRkZWRbaSsrXSA9IDB4ODA7CiAgICBuID0gcGFkZGVkTGVuZ3RoIC0gMTY7CiAgICB3aGlsZSAoaSA8IG4pIHsKICAgICAgcGFkZGVkW2krK10gPSAwOwogICAgfQogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAwOwogICAgcGFkZGVkW2krK10gPSAobGVuZ3RoID4+PiAyOSkgJiAweEZGOwogICAgcGFkZGVkW2krK10gPSAobGVuZ3RoID4+IDIxKSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPj4gMTMpICYgMHhGRjsKICAgIHBhZGRlZFtpKytdID0gKGxlbmd0aCA+PiA1KSAmIDB4RkY7CiAgICBwYWRkZWRbaSsrXSA9IChsZW5ndGggPDwgMykgJiAweEZGOwoKICAgIHZhciB3ID0gbmV3IEFycmF5KDgwKTsKICAgIGZvciAoaSA9IDA7IGkgPCA4MDsgaSsrKSB7CiAgICAgIHdbaV0gPSBuZXcgV29yZDY0KDAsIDApOwogICAgfQogICAgdmFyIGEgPSBuZXcgV29yZDY0KDAsIDApLCBiID0gbmV3IFdvcmQ2NCgwLCAwKSwgYyA9IG5ldyBXb3JkNjQoMCwgMCk7CiAgICB2YXIgZCA9IG5ldyBXb3JkNjQoMCwgMCksIGUgPSBuZXcgV29yZDY0KDAsIDApLCBmID0gbmV3IFdvcmQ2NCgwLCAwKTsKICAgIHZhciBnID0gbmV3IFdvcmQ2NCgwLCAwKSwgaCA9IG5ldyBXb3JkNjQoMCwgMCk7CiAgICB2YXIgdDEgPSBuZXcgV29yZDY0KDAsIDApLCB0MiA9IG5ldyBXb3JkNjQoMCwgMCk7CiAgICB2YXIgdG1wMSA9IG5ldyBXb3JkNjQoMCwgMCksIHRtcDIgPSBuZXcgV29yZDY0KDAsIDApLCB0bXAzOwoKICAgIC8vIGZvciBlYWNoIDEwMjQgYml0IGJsb2NrCiAgICBmb3IgKGkgPSAwOyBpIDwgcGFkZGVkTGVuZ3RoOykgewogICAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAgIHdbal0uaGlnaCA9IChwYWRkZWRbaV0gPDwgMjQpIHwgKHBhZGRlZFtpICsgMV0gPDwgMTYpIHwKICAgICAgICAgICAgICAgICAgICAocGFkZGVkW2kgKyAyXSA8PCA4KSB8IChwYWRkZWRbaSArIDNdKTsKICAgICAgICB3W2pdLmxvdyA9IChwYWRkZWRbaSArIDRdKSA8PCAyNCB8IChwYWRkZWRbaSArIDVdKSA8PCAxNiB8CiAgICAgICAgICAgICAgICAgICAocGFkZGVkW2kgKyA2XSkgPDwgOCB8IChwYWRkZWRbaSArIDddKTsKICAgICAgICBpICs9IDg7CiAgICAgIH0KICAgICAgZm9yIChqID0gMTY7IGogPCA4MDsgKytqKSB7CiAgICAgICAgdG1wMyA9IHdbal07CiAgICAgICAgbGl0dGxlU2lnbWFQcmltZSh0bXAzLCB3W2ogLSAyXSwgdG1wMik7CiAgICAgICAgdG1wMy5hZGQod1tqIC0gN10pOwogICAgICAgIGxpdHRsZVNpZ21hKHRtcDEsIHdbaiAtIDE1XSwgdG1wMik7CiAgICAgICAgdG1wMy5hZGQodG1wMSk7CiAgICAgICAgdG1wMy5hZGQod1tqIC0gMTZdKTsKICAgICAgfQoKICAgICAgYS5hc3NpZ24oaDApOyBiLmFzc2lnbihoMSk7IGMuYXNzaWduKGgyKTsgZC5hc3NpZ24oaDMpOwogICAgICBlLmFzc2lnbihoNCk7IGYuYXNzaWduKGg1KTsgZy5hc3NpZ24oaDYpOyBoLmFzc2lnbihoNyk7CiAgICAgIGZvciAoaiA9IDA7IGogPCA4MDsgKytqKSB7CiAgICAgICAgdDEuYXNzaWduKGgpOwogICAgICAgIHNpZ21hUHJpbWUodG1wMSwgZSwgdG1wMik7CiAgICAgICAgdDEuYWRkKHRtcDEpOwogICAgICAgIGNoKHRtcDEsIGUsIGYsIGcsIHRtcDIpOwogICAgICAgIHQxLmFkZCh0bXAxKTsKICAgICAgICB0MS5hZGQoa1tqXSk7CiAgICAgICAgdDEuYWRkKHdbal0pOwoKICAgICAgICBzaWdtYSh0MiwgYSwgdG1wMik7CiAgICAgICAgbWFqKHRtcDEsIGEsIGIsIGMsIHRtcDIpOwogICAgICAgIHQyLmFkZCh0bXAxKTsKCiAgICAgICAgdG1wMyA9IGg7CiAgICAgICAgaCA9IGc7CiAgICAgICAgZyA9IGY7CiAgICAgICAgZiA9IGU7CiAgICAgICAgZC5hZGQodDEpOwogICAgICAgIGUgPSBkOwogICAgICAgIGQgPSBjOwogICAgICAgIGMgPSBiOwogICAgICAgIGIgPSBhOwogICAgICAgIHRtcDMuYXNzaWduKHQxKTsKICAgICAgICB0bXAzLmFkZCh0Mik7CiAgICAgICAgYSA9IHRtcDM7CiAgICAgIH0KICAgICAgaDAuYWRkKGEpOwogICAgICBoMS5hZGQoYik7CiAgICAgIGgyLmFkZChjKTsKICAgICAgaDMuYWRkKGQpOwogICAgICBoNC5hZGQoZSk7CiAgICAgIGg1LmFkZChmKTsKICAgICAgaDYuYWRkKGcpOwogICAgICBoNy5hZGQoaCk7CiAgICB9CgogICAgdmFyIHJlc3VsdDsKICAgIGlmICghbW9kZTM4NCkgewogICAgICByZXN1bHQgPSBuZXcgVWludDhBcnJheSg2NCk7CiAgICAgIGgwLmNvcHlUbyhyZXN1bHQsMCk7CiAgICAgIGgxLmNvcHlUbyhyZXN1bHQsOCk7CiAgICAgIGgyLmNvcHlUbyhyZXN1bHQsMTYpOwogICAgICBoMy5jb3B5VG8ocmVzdWx0LDI0KTsKICAgICAgaDQuY29weVRvKHJlc3VsdCwzMik7CiAgICAgIGg1LmNvcHlUbyhyZXN1bHQsNDApOwogICAgICBoNi5jb3B5VG8ocmVzdWx0LDQ4KTsKICAgICAgaDcuY29weVRvKHJlc3VsdCw1Nik7CiAgICB9CiAgICBlbHNlIHsKICAgICAgcmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkoNDgpOwogICAgICBoMC5jb3B5VG8ocmVzdWx0LDApOwogICAgICBoMS5jb3B5VG8ocmVzdWx0LDgpOwogICAgICBoMi5jb3B5VG8ocmVzdWx0LDE2KTsKICAgICAgaDMuY29weVRvKHJlc3VsdCwyNCk7CiAgICAgIGg0LmNvcHlUbyhyZXN1bHQsMzIpOwogICAgICBoNS5jb3B5VG8ocmVzdWx0LDQwKTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICByZXR1cm4gaGFzaDsKfSkoKTsKdmFyIGNhbGN1bGF0ZVNIQTM4NCA9IChmdW5jdGlvbiBjYWxjdWxhdGVTSEEzODRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIGhhc2goZGF0YSwgb2Zmc2V0LCBsZW5ndGgpIHsKICAgIHJldHVybiBjYWxjdWxhdGVTSEE1MTIoZGF0YSwgb2Zmc2V0LCBsZW5ndGgsIHRydWUpOwogIH0KCiAgcmV0dXJuIGhhc2g7Cn0pKCk7CnZhciBOdWxsQ2lwaGVyID0gKGZ1bmN0aW9uIE51bGxDaXBoZXJDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE51bGxDaXBoZXIoKSB7CiAgfQoKICBOdWxsQ2lwaGVyLnByb3RvdHlwZSA9IHsKICAgIGRlY3J5cHRCbG9jazogZnVuY3Rpb24gTnVsbENpcGhlcl9kZWNyeXB0QmxvY2soZGF0YSkgewogICAgICByZXR1cm4gZGF0YTsKICAgIH0KICB9OwoKICByZXR1cm4gTnVsbENpcGhlcjsKfSkoKTsKCnZhciBBRVMxMjhDaXBoZXIgPSAoZnVuY3Rpb24gQUVTMTI4Q2lwaGVyQ2xvc3VyZSgpIHsKICB2YXIgcmNvbiA9IG5ldyBVaW50OEFycmF5KFsKICAgIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsCiAgICAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLAogICAgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwKICAgIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsCiAgICAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLAogICAgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwKICAgIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsCiAgICAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLAogICAgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwKICAgIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsCiAgICAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LAogICAgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwKICAgIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsCiAgICAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLAogICAgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwKICAgIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsCiAgICAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLAogICAgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywKICAgIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsCiAgICAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLAogICAgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwKICAgIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGRdKTsKCiAgdmFyIHMgPSBuZXcgVWludDhBcnJheShbCiAgICAweDYzLCAweDdjLCAweDc3LCAweDdiLCAweGYyLCAweDZiLCAweDZmLCAweGM1LCAweDMwLCAweDAxLCAweDY3LCAweDJiLAogICAgMHhmZSwgMHhkNywgMHhhYiwgMHg3NiwgMHhjYSwgMHg4MiwgMHhjOSwgMHg3ZCwgMHhmYSwgMHg1OSwgMHg0NywgMHhmMCwKICAgIDB4YWQsIDB4ZDQsIDB4YTIsIDB4YWYsIDB4OWMsIDB4YTQsIDB4NzIsIDB4YzAsIDB4YjcsIDB4ZmQsIDB4OTMsIDB4MjYsCiAgICAweDM2LCAweDNmLCAweGY3LCAweGNjLCAweDM0LCAweGE1LCAweGU1LCAweGYxLCAweDcxLCAweGQ4LCAweDMxLCAweDE1LAogICAgMHgwNCwgMHhjNywgMHgyMywgMHhjMywgMHgxOCwgMHg5NiwgMHgwNSwgMHg5YSwgMHgwNywgMHgxMiwgMHg4MCwgMHhlMiwKICAgIDB4ZWIsIDB4MjcsIDB4YjIsIDB4NzUsIDB4MDksIDB4ODMsIDB4MmMsIDB4MWEsIDB4MWIsIDB4NmUsIDB4NWEsIDB4YTAsCiAgICAweDUyLCAweDNiLCAweGQ2LCAweGIzLCAweDI5LCAweGUzLCAweDJmLCAweDg0LCAweDUzLCAweGQxLCAweDAwLCAweGVkLAogICAgMHgyMCwgMHhmYywgMHhiMSwgMHg1YiwgMHg2YSwgMHhjYiwgMHhiZSwgMHgzOSwgMHg0YSwgMHg0YywgMHg1OCwgMHhjZiwKICAgIDB4ZDAsIDB4ZWYsIDB4YWEsIDB4ZmIsIDB4NDMsIDB4NGQsIDB4MzMsIDB4ODUsIDB4NDUsIDB4ZjksIDB4MDIsIDB4N2YsCiAgICAweDUwLCAweDNjLCAweDlmLCAweGE4LCAweDUxLCAweGEzLCAweDQwLCAweDhmLCAweDkyLCAweDlkLCAweDM4LCAweGY1LAogICAgMHhiYywgMHhiNiwgMHhkYSwgMHgyMSwgMHgxMCwgMHhmZiwgMHhmMywgMHhkMiwgMHhjZCwgMHgwYywgMHgxMywgMHhlYywKICAgIDB4NWYsIDB4OTcsIDB4NDQsIDB4MTcsIDB4YzQsIDB4YTcsIDB4N2UsIDB4M2QsIDB4NjQsIDB4NWQsIDB4MTksIDB4NzMsCiAgICAweDYwLCAweDgxLCAweDRmLCAweGRjLCAweDIyLCAweDJhLCAweDkwLCAweDg4LCAweDQ2LCAweGVlLCAweGI4LCAweDE0LAogICAgMHhkZSwgMHg1ZSwgMHgwYiwgMHhkYiwgMHhlMCwgMHgzMiwgMHgzYSwgMHgwYSwgMHg0OSwgMHgwNiwgMHgyNCwgMHg1YywKICAgIDB4YzIsIDB4ZDMsIDB4YWMsIDB4NjIsIDB4OTEsIDB4OTUsIDB4ZTQsIDB4NzksIDB4ZTcsIDB4YzgsIDB4MzcsIDB4NmQsCiAgICAweDhkLCAweGQ1LCAweDRlLCAweGE5LCAweDZjLCAweDU2LCAweGY0LCAweGVhLCAweDY1LCAweDdhLCAweGFlLCAweDA4LAogICAgMHhiYSwgMHg3OCwgMHgyNSwgMHgyZSwgMHgxYywgMHhhNiwgMHhiNCwgMHhjNiwgMHhlOCwgMHhkZCwgMHg3NCwgMHgxZiwKICAgIDB4NGIsIDB4YmQsIDB4OGIsIDB4OGEsIDB4NzAsIDB4M2UsIDB4YjUsIDB4NjYsIDB4NDgsIDB4MDMsIDB4ZjYsIDB4MGUsCiAgICAweDYxLCAweDM1LCAweDU3LCAweGI5LCAweDg2LCAweGMxLCAweDFkLCAweDllLCAweGUxLCAweGY4LCAweDk4LCAweDExLAogICAgMHg2OSwgMHhkOSwgMHg4ZSwgMHg5NCwgMHg5YiwgMHgxZSwgMHg4NywgMHhlOSwgMHhjZSwgMHg1NSwgMHgyOCwgMHhkZiwKICAgIDB4OGMsIDB4YTEsIDB4ODksIDB4MGQsIDB4YmYsIDB4ZTYsIDB4NDIsIDB4NjgsIDB4NDEsIDB4OTksIDB4MmQsIDB4MGYsCiAgICAweGIwLCAweDU0LCAweGJiLCAweDE2XSk7CgogIHZhciBpbnZfcyA9IG5ldyBVaW50OEFycmF5KFsKICAgIDB4NTIsIDB4MDksIDB4NmEsIDB4ZDUsIDB4MzAsIDB4MzYsIDB4YTUsIDB4MzgsIDB4YmYsIDB4NDAsIDB4YTMsIDB4OWUsCiAgICAweDgxLCAweGYzLCAweGQ3LCAweGZiLCAweDdjLCAweGUzLCAweDM5LCAweDgyLCAweDliLCAweDJmLCAweGZmLCAweDg3LAogICAgMHgzNCwgMHg4ZSwgMHg0MywgMHg0NCwgMHhjNCwgMHhkZSwgMHhlOSwgMHhjYiwgMHg1NCwgMHg3YiwgMHg5NCwgMHgzMiwKICAgIDB4YTYsIDB4YzIsIDB4MjMsIDB4M2QsIDB4ZWUsIDB4NGMsIDB4OTUsIDB4MGIsIDB4NDIsIDB4ZmEsIDB4YzMsIDB4NGUsCiAgICAweDA4LCAweDJlLCAweGExLCAweDY2LCAweDI4LCAweGQ5LCAweDI0LCAweGIyLCAweDc2LCAweDViLCAweGEyLCAweDQ5LAogICAgMHg2ZCwgMHg4YiwgMHhkMSwgMHgyNSwgMHg3MiwgMHhmOCwgMHhmNiwgMHg2NCwgMHg4NiwgMHg2OCwgMHg5OCwgMHgxNiwKICAgIDB4ZDQsIDB4YTQsIDB4NWMsIDB4Y2MsIDB4NWQsIDB4NjUsIDB4YjYsIDB4OTIsIDB4NmMsIDB4NzAsIDB4NDgsIDB4NTAsCiAgICAweGZkLCAweGVkLCAweGI5LCAweGRhLCAweDVlLCAweDE1LCAweDQ2LCAweDU3LCAweGE3LCAweDhkLCAweDlkLCAweDg0LAogICAgMHg5MCwgMHhkOCwgMHhhYiwgMHgwMCwgMHg4YywgMHhiYywgMHhkMywgMHgwYSwgMHhmNywgMHhlNCwgMHg1OCwgMHgwNSwKICAgIDB4YjgsIDB4YjMsIDB4NDUsIDB4MDYsIDB4ZDAsIDB4MmMsIDB4MWUsIDB4OGYsIDB4Y2EsIDB4M2YsIDB4MGYsIDB4MDIsCiAgICAweGMxLCAweGFmLCAweGJkLCAweDAzLCAweDAxLCAweDEzLCAweDhhLCAweDZiLCAweDNhLCAweDkxLCAweDExLCAweDQxLAogICAgMHg0ZiwgMHg2NywgMHhkYywgMHhlYSwgMHg5NywgMHhmMiwgMHhjZiwgMHhjZSwgMHhmMCwgMHhiNCwgMHhlNiwgMHg3MywKICAgIDB4OTYsIDB4YWMsIDB4NzQsIDB4MjIsIDB4ZTcsIDB4YWQsIDB4MzUsIDB4ODUsIDB4ZTIsIDB4ZjksIDB4MzcsIDB4ZTgsCiAgICAweDFjLCAweDc1LCAweGRmLCAweDZlLCAweDQ3LCAweGYxLCAweDFhLCAweDcxLCAweDFkLCAweDI5LCAweGM1LCAweDg5LAogICAgMHg2ZiwgMHhiNywgMHg2MiwgMHgwZSwgMHhhYSwgMHgxOCwgMHhiZSwgMHgxYiwgMHhmYywgMHg1NiwgMHgzZSwgMHg0YiwKICAgIDB4YzYsIDB4ZDIsIDB4NzksIDB4MjAsIDB4OWEsIDB4ZGIsIDB4YzAsIDB4ZmUsIDB4NzgsIDB4Y2QsIDB4NWEsIDB4ZjQsCiAgICAweDFmLCAweGRkLCAweGE4LCAweDMzLCAweDg4LCAweDA3LCAweGM3LCAweDMxLCAweGIxLCAweDEyLCAweDEwLCAweDU5LAogICAgMHgyNywgMHg4MCwgMHhlYywgMHg1ZiwgMHg2MCwgMHg1MSwgMHg3ZiwgMHhhOSwgMHgxOSwgMHhiNSwgMHg0YSwgMHgwZCwKICAgIDB4MmQsIDB4ZTUsIDB4N2EsIDB4OWYsIDB4OTMsIDB4YzksIDB4OWMsIDB4ZWYsIDB4YTAsIDB4ZTAsIDB4M2IsIDB4NGQsCiAgICAweGFlLCAweDJhLCAweGY1LCAweGIwLCAweGM4LCAweGViLCAweGJiLCAweDNjLCAweDgzLCAweDUzLCAweDk5LCAweDYxLAogICAgMHgxNywgMHgyYiwgMHgwNCwgMHg3ZSwgMHhiYSwgMHg3NywgMHhkNiwgMHgyNiwgMHhlMSwgMHg2OSwgMHgxNCwgMHg2MywKICAgIDB4NTUsIDB4MjEsIDB4MGMsIDB4N2RdKTsKICB2YXIgbWl4Q29sID0gbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IDI1NjsgaSsrKSB7CiAgICBpZiAoaSA8IDEyOCkgewogICAgICBtaXhDb2xbaV0gPSBpIDw8IDE7CiAgICB9IGVsc2UgewogICAgICBtaXhDb2xbaV0gPSAoaSA8PCAxKSBeIDB4MWI7CiAgICB9CiAgfQogIHZhciBtaXggPSBuZXcgVWludDMyQXJyYXkoWwogICAgMHgwMDAwMDAwMCwgMHgwZTA5MGQwYiwgMHgxYzEyMWExNiwgMHgxMjFiMTcxZCwgMHgzODI0MzQyYywgMHgzNjJkMzkyNywKICAgIDB4MjQzNjJlM2EsIDB4MmEzZjIzMzEsIDB4NzA0ODY4NTgsIDB4N2U0MTY1NTMsIDB4NmM1YTcyNGUsIDB4NjI1MzdmNDUsCiAgICAweDQ4NmM1Yzc0LCAweDQ2NjU1MTdmLCAweDU0N2U0NjYyLCAweDVhNzc0YjY5LCAweGUwOTBkMGIwLCAweGVlOTlkZGJiLAogICAgMHhmYzgyY2FhNiwgMHhmMjhiYzdhZCwgMHhkOGI0ZTQ5YywgMHhkNmJkZTk5NywgMHhjNGE2ZmU4YSwgMHhjYWFmZjM4MSwKICAgIDB4OTBkOGI4ZTgsIDB4OWVkMWI1ZTMsIDB4OGNjYWEyZmUsIDB4ODJjM2FmZjUsIDB4YThmYzhjYzQsIDB4YTZmNTgxY2YsCiAgICAweGI0ZWU5NmQyLCAweGJhZTc5YmQ5LCAweGRiM2JiYjdiLCAweGQ1MzJiNjcwLCAweGM3MjlhMTZkLCAweGM5MjBhYzY2LAogICAgMHhlMzFmOGY1NywgMHhlZDE2ODI1YywgMHhmZjBkOTU0MSwgMHhmMTA0OTg0YSwgMHhhYjczZDMyMywgMHhhNTdhZGUyOCwKICAgIDB4Yjc2MWM5MzUsIDB4Yjk2OGM0M2UsIDB4OTM1N2U3MGYsIDB4OWQ1ZWVhMDQsIDB4OGY0NWZkMTksIDB4ODE0Y2YwMTIsCiAgICAweDNiYWI2YmNiLCAweDM1YTI2NmMwLCAweDI3Yjk3MWRkLCAweDI5YjA3Y2Q2LCAweDAzOGY1ZmU3LCAweDBkODY1MmVjLAogICAgMHgxZjlkNDVmMSwgMHgxMTk0NDhmYSwgMHg0YmUzMDM5MywgMHg0NWVhMGU5OCwgMHg1N2YxMTk4NSwgMHg1OWY4MTQ4ZSwKICAgIDB4NzNjNzM3YmYsIDB4N2RjZTNhYjQsIDB4NmZkNTJkYTksIDB4NjFkYzIwYTIsIDB4YWQ3NjZkZjYsIDB4YTM3ZjYwZmQsCiAgICAweGIxNjQ3N2UwLCAweGJmNmQ3YWViLCAweDk1NTI1OWRhLCAweDliNWI1NGQxLCAweDg5NDA0M2NjLCAweDg3NDk0ZWM3LAogICAgMHhkZDNlMDVhZSwgMHhkMzM3MDhhNSwgMHhjMTJjMWZiOCwgMHhjZjI1MTJiMywgMHhlNTFhMzE4MiwgMHhlYjEzM2M4OSwKICAgIDB4ZjkwODJiOTQsIDB4ZjcwMTI2OWYsIDB4NGRlNmJkNDYsIDB4NDNlZmIwNGQsIDB4NTFmNGE3NTAsIDB4NWZmZGFhNWIsCiAgICAweDc1YzI4OTZhLCAweDdiY2I4NDYxLCAweDY5ZDA5MzdjLCAweDY3ZDk5ZTc3LCAweDNkYWVkNTFlLCAweDMzYTdkODE1LAogICAgMHgyMWJjY2YwOCwgMHgyZmI1YzIwMywgMHgwNThhZTEzMiwgMHgwYjgzZWMzOSwgMHgxOTk4ZmIyNCwgMHgxNzkxZjYyZiwKICAgIDB4NzY0ZGQ2OGQsIDB4Nzg0NGRiODYsIDB4NmE1ZmNjOWIsIDB4NjQ1NmMxOTAsIDB4NGU2OWUyYTEsIDB4NDA2MGVmYWEsCiAgICAweDUyN2JmOGI3LCAweDVjNzJmNWJjLCAweDA2MDViZWQ1LCAweDA4MGNiM2RlLCAweDFhMTdhNGMzLCAweDE0MWVhOWM4LAogICAgMHgzZTIxOGFmOSwgMHgzMDI4ODdmMiwgMHgyMjMzOTBlZiwgMHgyYzNhOWRlNCwgMHg5NmRkMDYzZCwgMHg5OGQ0MGIzNiwKICAgIDB4OGFjZjFjMmIsIDB4ODRjNjExMjAsIDB4YWVmOTMyMTEsIDB4YTBmMDNmMWEsIDB4YjJlYjI4MDcsIDB4YmNlMjI1MGMsCiAgICAweGU2OTU2ZTY1LCAweGU4OWM2MzZlLCAweGZhODc3NDczLCAweGY0OGU3OTc4LCAweGRlYjE1YTQ5LCAweGQwYjg1NzQyLAogICAgMHhjMmEzNDA1ZiwgMHhjY2FhNGQ1NCwgMHg0MWVjZGFmNywgMHg0ZmU1ZDdmYywgMHg1ZGZlYzBlMSwgMHg1M2Y3Y2RlYSwKICAgIDB4NzljOGVlZGIsIDB4NzdjMWUzZDAsIDB4NjVkYWY0Y2QsIDB4NmJkM2Y5YzYsIDB4MzFhNGIyYWYsIDB4M2ZhZGJmYTQsCiAgICAweDJkYjZhOGI5LCAweDIzYmZhNWIyLCAweDA5ODA4NjgzLCAweDA3ODk4Yjg4LCAweDE1OTI5Yzk1LCAweDFiOWI5MTllLAogICAgMHhhMTdjMGE0NywgMHhhZjc1MDc0YywgMHhiZDZlMTA1MSwgMHhiMzY3MWQ1YSwgMHg5OTU4M2U2YiwgMHg5NzUxMzM2MCwKICAgIDB4ODU0YTI0N2QsIDB4OGI0MzI5NzYsIDB4ZDEzNDYyMWYsIDB4ZGYzZDZmMTQsIDB4Y2QyNjc4MDksIDB4YzMyZjc1MDIsCiAgICAweGU5MTA1NjMzLCAweGU3MTk1YjM4LCAweGY1MDI0YzI1LCAweGZiMGI0MTJlLCAweDlhZDc2MThjLCAweDk0ZGU2Yzg3LAogICAgMHg4NmM1N2I5YSwgMHg4OGNjNzY5MSwgMHhhMmYzNTVhMCwgMHhhY2ZhNThhYiwgMHhiZWUxNGZiNiwgMHhiMGU4NDJiZCwKICAgIDB4ZWE5ZjA5ZDQsIDB4ZTQ5NjA0ZGYsIDB4ZjY4ZDEzYzIsIDB4Zjg4NDFlYzksIDB4ZDJiYjNkZjgsIDB4ZGNiMjMwZjMsCiAgICAweGNlYTkyN2VlLCAweGMwYTAyYWU1LCAweDdhNDdiMTNjLCAweDc0NGViYzM3LCAweDY2NTVhYjJhLCAweDY4NWNhNjIxLAogICAgMHg0MjYzODUxMCwgMHg0YzZhODgxYiwgMHg1ZTcxOWYwNiwgMHg1MDc4OTIwZCwgMHgwYTBmZDk2NCwgMHgwNDA2ZDQ2ZiwKICAgIDB4MTYxZGMzNzIsIDB4MTgxNGNlNzksIDB4MzIyYmVkNDgsIDB4M2MyMmUwNDMsIDB4MmUzOWY3NWUsIDB4MjAzMGZhNTUsCiAgICAweGVjOWFiNzAxLCAweGUyOTNiYTBhLCAweGYwODhhZDE3LCAweGZlODFhMDFjLCAweGQ0YmU4MzJkLCAweGRhYjc4ZTI2LAogICAgMHhjOGFjOTkzYiwgMHhjNmE1OTQzMCwgMHg5Y2QyZGY1OSwgMHg5MmRiZDI1MiwgMHg4MGMwYzU0ZiwgMHg4ZWM5Yzg0NCwKICAgIDB4YTRmNmViNzUsIDB4YWFmZmU2N2UsIDB4YjhlNGYxNjMsIDB4YjZlZGZjNjgsIDB4MGMwYTY3YjEsIDB4MDIwMzZhYmEsCiAgICAweDEwMTg3ZGE3LCAweDFlMTE3MGFjLCAweDM0MmU1MzlkLCAweDNhMjc1ZTk2LCAweDI4M2M0OThiLCAweDI2MzU0NDgwLAogICAgMHg3YzQyMGZlOSwgMHg3MjRiMDJlMiwgMHg2MDUwMTVmZiwgMHg2ZTU5MThmNCwgMHg0NDY2M2JjNSwgMHg0YTZmMzZjZSwKICAgIDB4NTg3NDIxZDMsIDB4NTY3ZDJjZDgsIDB4MzdhMTBjN2EsIDB4MzlhODAxNzEsIDB4MmJiMzE2NmMsIDB4MjViYTFiNjcsCiAgICAweDBmODUzODU2LCAweDAxOGMzNTVkLCAweDEzOTcyMjQwLCAweDFkOWUyZjRiLCAweDQ3ZTk2NDIyLCAweDQ5ZTA2OTI5LAogICAgMHg1YmZiN2UzNCwgMHg1NWYyNzMzZiwgMHg3ZmNkNTAwZSwgMHg3MWM0NWQwNSwgMHg2M2RmNGExOCwgMHg2ZGQ2NDcxMywKICAgIDB4ZDczMWRjY2EsIDB4ZDkzOGQxYzEsIDB4Y2IyM2M2ZGMsIDB4YzUyYWNiZDcsIDB4ZWYxNWU4ZTYsIDB4ZTExY2U1ZWQsCiAgICAweGYzMDdmMmYwLCAweGZkMGVmZmZiLCAweGE3NzliNDkyLCAweGE5NzBiOTk5LCAweGJiNmJhZTg0LCAweGI1NjJhMzhmLAogICAgMHg5ZjVkODBiZSwgMHg5MTU0OGRiNSwgMHg4MzRmOWFhOCwgMHg4ZDQ2OTdhM10pOwoKICBmdW5jdGlvbiBleHBhbmRLZXkxMjgoY2lwaGVyS2V5KSB7CiAgICB2YXIgYiA9IDE3NiwgcmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkoYik7CiAgICByZXN1bHQuc2V0KGNpcGhlcktleSk7CiAgICBmb3IgKHZhciBqID0gMTYsIGkgPSAxOyBqIDwgYjsgKytpKSB7CiAgICAgIC8vIFJvdFdvcmQKICAgICAgdmFyIHQxID0gcmVzdWx0W2ogLSAzXSwgdDIgPSByZXN1bHRbaiAtIDJdLAogICAgICAgICAgdDMgPSByZXN1bHRbaiAtIDFdLCB0NCA9IHJlc3VsdFtqIC0gNF07CiAgICAgIC8vIFN1YldvcmQKICAgICAgdDEgPSBzW3QxXTsKICAgICAgdDIgPSBzW3QyXTsKICAgICAgdDMgPSBzW3QzXTsKICAgICAgdDQgPSBzW3Q0XTsKICAgICAgLy8gUmNvbgogICAgICB0MSA9IHQxIF4gcmNvbltpXTsKICAgICAgZm9yICh2YXIgbiA9IDA7IG4gPCA0OyArK24pIHsKICAgICAgICByZXN1bHRbal0gPSAodDEgXj0gcmVzdWx0W2ogLSAxNl0pOwogICAgICAgIGorKzsKICAgICAgICByZXN1bHRbal0gPSAodDIgXj0gcmVzdWx0W2ogLSAxNl0pOwogICAgICAgIGorKzsKICAgICAgICByZXN1bHRbal0gPSAodDMgXj0gcmVzdWx0W2ogLSAxNl0pOwogICAgICAgIGorKzsKICAgICAgICByZXN1bHRbal0gPSAodDQgXj0gcmVzdWx0W2ogLSAxNl0pOwogICAgICAgIGorKzsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9CgogIGZ1bmN0aW9uIGRlY3J5cHQxMjgoaW5wdXQsIGtleSkgewogICAgdmFyIHN0YXRlID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgc3RhdGUuc2V0KGlucHV0KTsKICAgIHZhciBpLCBqLCBrOwogICAgdmFyIHQsIHUsIHY7CiAgICAvLyBBZGRSb3VuZEtleQogICAgZm9yIChqID0gMCwgayA9IDE2MDsgaiA8IDE2OyArK2osICsraykgewogICAgICBzdGF0ZVtqXSBePSBrZXlba107CiAgICB9CiAgICBmb3IgKGkgPSA5OyBpID49IDE7IC0taSkgewogICAgICAvLyBJbnZTaGlmdFJvd3MKICAgICAgdCA9IHN0YXRlWzEzXTsKICAgICAgc3RhdGVbMTNdID0gc3RhdGVbOV07CiAgICAgIHN0YXRlWzldID0gc3RhdGVbNV07CiAgICAgIHN0YXRlWzVdID0gc3RhdGVbMV07CiAgICAgIHN0YXRlWzFdID0gdDsKICAgICAgdCA9IHN0YXRlWzE0XTsKICAgICAgdSA9IHN0YXRlWzEwXTsKICAgICAgc3RhdGVbMTRdID0gc3RhdGVbNl07CiAgICAgIHN0YXRlWzEwXSA9IHN0YXRlWzJdOwogICAgICBzdGF0ZVs2XSA9IHQ7CiAgICAgIHN0YXRlWzJdID0gdTsKICAgICAgdCA9IHN0YXRlWzE1XTsKICAgICAgdSA9IHN0YXRlWzExXTsKICAgICAgdiA9IHN0YXRlWzddOwogICAgICBzdGF0ZVsxNV0gPSBzdGF0ZVszXTsKICAgICAgc3RhdGVbMTFdID0gdDsKICAgICAgc3RhdGVbN10gPSB1OwogICAgICBzdGF0ZVszXSA9IHY7CiAgICAgIC8vIEludlN1YkJ5dGVzCiAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgICAgc3RhdGVbal0gPSBpbnZfc1tzdGF0ZVtqXV07CiAgICAgIH0KICAgICAgLy8gQWRkUm91bmRLZXkKICAgICAgZm9yIChqID0gMCwgayA9IGkgKiAxNjsgaiA8IDE2OyArK2osICsraykgewogICAgICAgIHN0YXRlW2pdIF49IGtleVtrXTsKICAgICAgfQogICAgICAvLyBJbnZNaXhDb2x1bW5zCiAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgaiArPSA0KSB7CiAgICAgICAgdmFyIHMwID0gbWl4W3N0YXRlW2pdXSwgczEgPSBtaXhbc3RhdGVbaiArIDFdXSwKICAgICAgICAgIHMyID0gbWl4W3N0YXRlW2ogKyAyXV0sIHMzID0gbWl4W3N0YXRlW2ogKyAzXV07CiAgICAgICAgdCA9IChzMCBeIChzMSA+Pj4gOCkgXiAoczEgPDwgMjQpIF4gKHMyID4+PiAxNikgXiAoczIgPDwgMTYpIF4KICAgICAgICAgIChzMyA+Pj4gMjQpIF4gKHMzIDw8IDgpKTsKICAgICAgICBzdGF0ZVtqXSA9ICh0ID4+PiAyNCkgJiAweEZGOwogICAgICAgIHN0YXRlW2ogKyAxXSA9ICh0ID4+IDE2KSAmIDB4RkY7CiAgICAgICAgc3RhdGVbaiArIDJdID0gKHQgPj4gOCkgJiAweEZGOwogICAgICAgIHN0YXRlW2ogKyAzXSA9IHQgJiAweEZGOwogICAgICB9CiAgICB9CiAgICAvLyBJbnZTaGlmdFJvd3MKICAgIHQgPSBzdGF0ZVsxM107CiAgICBzdGF0ZVsxM10gPSBzdGF0ZVs5XTsKICAgIHN0YXRlWzldID0gc3RhdGVbNV07CiAgICBzdGF0ZVs1XSA9IHN0YXRlWzFdOwogICAgc3RhdGVbMV0gPSB0OwogICAgdCA9IHN0YXRlWzE0XTsKICAgIHUgPSBzdGF0ZVsxMF07CiAgICBzdGF0ZVsxNF0gPSBzdGF0ZVs2XTsKICAgIHN0YXRlWzEwXSA9IHN0YXRlWzJdOwogICAgc3RhdGVbNl0gPSB0OwogICAgc3RhdGVbMl0gPSB1OwogICAgdCA9IHN0YXRlWzE1XTsKICAgIHUgPSBzdGF0ZVsxMV07CiAgICB2ID0gc3RhdGVbN107CiAgICBzdGF0ZVsxNV0gPSBzdGF0ZVszXTsKICAgIHN0YXRlWzExXSA9IHQ7CiAgICBzdGF0ZVs3XSA9IHU7CiAgICBzdGF0ZVszXSA9IHY7CiAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAvLyBJbnZTdWJCeXRlcwogICAgICBzdGF0ZVtqXSA9IGludl9zW3N0YXRlW2pdXTsKICAgICAgLy8gQWRkUm91bmRLZXkKICAgICAgc3RhdGVbal0gXj0ga2V5W2pdOwogICAgfQogICAgcmV0dXJuIHN0YXRlOwogIH0KCiAgZnVuY3Rpb24gZW5jcnlwdDEyOChpbnB1dCwga2V5KSB7CiAgICB2YXIgdCwgdSwgdiwgazsKICAgIHZhciBzdGF0ZSA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgIHN0YXRlLnNldChpbnB1dCk7CiAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAvLyBBZGRSb3VuZEtleQogICAgICBzdGF0ZVtqXSBePSBrZXlbal07CiAgICB9CgogICAgZm9yIChpID0gMTsgaSA8IDEwOyBpKyspIHsKICAgICAgLy9TdWJCeXRlcwogICAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAgIHN0YXRlW2pdID0gc1tzdGF0ZVtqXV07CiAgICAgIH0KICAgICAgLy9TaGlmdFJvd3MKICAgICAgdiA9IHN0YXRlWzFdOwogICAgICBzdGF0ZVsxXSA9IHN0YXRlWzVdOwogICAgICBzdGF0ZVs1XSA9IHN0YXRlWzldOwogICAgICBzdGF0ZVs5XSA9IHN0YXRlWzEzXTsKICAgICAgc3RhdGVbMTNdID0gdjsKICAgICAgdiA9IHN0YXRlWzJdOwogICAgICB1ID0gc3RhdGVbNl07CiAgICAgIHN0YXRlWzJdID0gc3RhdGVbMTBdOwogICAgICBzdGF0ZVs2XSA9IHN0YXRlWzE0XTsKICAgICAgc3RhdGVbMTBdID0gdjsKICAgICAgc3RhdGVbMTRdID0gdTsKICAgICAgdiA9IHN0YXRlWzNdOwogICAgICB1ID0gc3RhdGVbN107CiAgICAgIHQgPSBzdGF0ZVsxMV07CiAgICAgIHN0YXRlWzNdID0gc3RhdGVbMTVdOwogICAgICBzdGF0ZVs3XSA9IHY7CiAgICAgIHN0YXRlWzExXSA9IHU7CiAgICAgIHN0YXRlWzE1XSA9IHQ7CiAgICAgIC8vTWl4Q29sdW1ucwogICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDE2OyBqICs9IDQpIHsKICAgICAgICB2YXIgczAgPSBzdGF0ZVtqICsgMF0sIHMxID0gc3RhdGVbaiArIDFdOwogICAgICAgIHZhciBzMiA9IHN0YXRlW2ogKyAyXSwgczMgPSBzdGF0ZVtqICsgM107CiAgICAgICAgdCA9IHMwIF4gczEgXiBzMiBeIHMzOwogICAgICAgIHN0YXRlW2ogKyAwXSBePSB0IF4gbWl4Q29sW3MwIF4gczFdOwogICAgICAgIHN0YXRlW2ogKyAxXSBePSB0IF4gbWl4Q29sW3MxIF4gczJdOwogICAgICAgIHN0YXRlW2ogKyAyXSBePSB0IF4gbWl4Q29sW3MyIF4gczNdOwogICAgICAgIHN0YXRlW2ogKyAzXSBePSB0IF4gbWl4Q29sW3MzIF4gczBdOwogICAgICB9CiAgICAgIC8vQWRkUm91bmRLZXkKICAgICAgZm9yIChqID0gMCwgayA9IGkgKiAxNjsgaiA8IDE2OyArK2osICsraykgewogICAgICAgIHN0YXRlW2pdIF49IGtleVtrXTsKICAgICAgfQogICAgfQoKICAgIC8vU3ViQnl0ZXMKICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgIHN0YXRlW2pdID0gc1tzdGF0ZVtqXV07CiAgICB9CiAgICAvL1NoaWZ0Um93cwogICAgdiA9IHN0YXRlWzFdOwogICAgc3RhdGVbMV0gPSBzdGF0ZVs1XTsKICAgIHN0YXRlWzVdID0gc3RhdGVbOV07CiAgICBzdGF0ZVs5XSA9IHN0YXRlWzEzXTsKICAgIHN0YXRlWzEzXSA9IHY7CiAgICB2ID0gc3RhdGVbMl07CiAgICB1ID0gc3RhdGVbNl07CiAgICBzdGF0ZVsyXSA9IHN0YXRlWzEwXTsKICAgIHN0YXRlWzZdID0gc3RhdGVbMTRdOwogICAgc3RhdGVbMTBdID0gdjsKICAgIHN0YXRlWzE0XSA9IHU7CiAgICB2ID0gc3RhdGVbM107CiAgICB1ID0gc3RhdGVbN107CiAgICB0ID0gc3RhdGVbMTFdOwogICAgc3RhdGVbM10gPSBzdGF0ZVsxNV07CiAgICBzdGF0ZVs3XSA9IHY7CiAgICBzdGF0ZVsxMV0gPSB1OwogICAgc3RhdGVbMTVdID0gdDsKICAgIC8vQWRkUm91bmRLZXkKICAgIGZvciAoaiA9IDAsIGsgPSAxNjA7IGogPCAxNjsgKytqLCArK2spIHsKICAgICAgc3RhdGVbal0gXj0ga2V5W2tdOwogICAgfQogICAgcmV0dXJuIHN0YXRlOwogIH0KCiAgZnVuY3Rpb24gQUVTMTI4Q2lwaGVyKGtleSkgewogICAgdGhpcy5rZXkgPSBleHBhbmRLZXkxMjgoa2V5KTsKICAgIHRoaXMuYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgdGhpcy5idWZmZXJQb3NpdGlvbiA9IDA7CiAgfQoKICBmdW5jdGlvbiBkZWNyeXB0QmxvY2syKGRhdGEsIGZpbmFsaXplKSB7CiAgICB2YXIgaSwgaiwgaWksIHNvdXJjZUxlbmd0aCA9IGRhdGEubGVuZ3RoLAogICAgICAgIGJ1ZmZlciA9IHRoaXMuYnVmZmVyLCBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlclBvc2l0aW9uLAogICAgICAgIHJlc3VsdCA9IFtdLCBpdiA9IHRoaXMuaXY7CiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSBkYXRhW2ldOwogICAgICArK2J1ZmZlckxlbmd0aDsKICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IDE2KSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgLy8gYnVmZmVyIGlzIGZ1bGwsIGRlY3J5cHRpbmcKICAgICAgdmFyIHBsYWluID0gZGVjcnlwdDEyOChidWZmZXIsIHRoaXMua2V5KTsKICAgICAgLy8geG9yLWluZyB0aGUgSVYgdmVjdG9yIHRvIGdldCBwbGFpbiB0ZXh0CiAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgICAgcGxhaW5bal0gXj0gaXZbal07CiAgICAgIH0KICAgICAgaXYgPSBidWZmZXI7CiAgICAgIHJlc3VsdC5wdXNoKHBsYWluKTsKICAgICAgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgICBidWZmZXJMZW5ndGggPSAwOwogICAgfQogICAgLy8gc2F2aW5nIGluY29tcGxldGUgYnVmZmVyCiAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogICAgdGhpcy5pdiA9IGl2OwogICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgIH0KICAgIC8vIGNvbWJpbmluZyBwbGFpbiB0ZXh0IGJsb2NrcyBpbnRvIG9uZQogICAgdmFyIG91dHB1dExlbmd0aCA9IDE2ICogcmVzdWx0Lmxlbmd0aDsKICAgIGlmIChmaW5hbGl6ZSkgewogICAgICAvLyB1bmRvIGEgcGFkZGluZyB0aGF0IGlzIGRlc2NyaWJlZCBpbiBSRkMgMjg5OAogICAgICB2YXIgbGFzdEJsb2NrID0gcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXTsKICAgICAgdmFyIHBzTGVuID0gbGFzdEJsb2NrWzE1XTsKICAgICAgaWYgKHBzTGVuIDw9IDE2KSB7CiAgICAgICAgZm9yIChpID0gMTUsIGlpID0gMTYgLSBwc0xlbjsgaSA+PSBpaTsgLS1pKSB7CiAgICAgICAgICBpZiAobGFzdEJsb2NrW2ldICE9PSBwc0xlbikgewogICAgICAgICAgICAvLyBJbnZhbGlkIHBhZGRpbmcsIGFzc3VtZSB0aGF0IHRoZSBibG9jayBoYXMgbm8gcGFkZGluZy4KICAgICAgICAgICAgcHNMZW4gPSAwOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgb3V0cHV0TGVuZ3RoIC09IHBzTGVuOwogICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSBsYXN0QmxvY2suc3ViYXJyYXkoMCwgMTYgLSBwc0xlbik7CiAgICAgIH0KICAgIH0KICAgIHZhciBvdXRwdXQgPSBuZXcgVWludDhBcnJheShvdXRwdXRMZW5ndGgpOwogICAgZm9yIChpID0gMCwgaiA9IDAsIGlpID0gcmVzdWx0Lmxlbmd0aDsgaSA8IGlpOyArK2ksIGogKz0gMTYpIHsKICAgICAgb3V0cHV0LnNldChyZXN1bHRbaV0sIGopOwogICAgfQogICAgcmV0dXJuIG91dHB1dDsKICB9CgogIEFFUzEyOENpcGhlci5wcm90b3R5cGUgPSB7CiAgICBkZWNyeXB0QmxvY2s6IGZ1bmN0aW9uIEFFUzEyOENpcGhlcl9kZWNyeXB0QmxvY2soZGF0YSwgZmluYWxpemUpIHsKICAgICAgdmFyIGksIHNvdXJjZUxlbmd0aCA9IGRhdGEubGVuZ3RoOwogICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXIsIGJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyUG9zaXRpb247CiAgICAgIC8vIHdhaXRpbmcgZm9yIElWIHZhbHVlcyAtLSB0aGV5IGFyZSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbQogICAgICBmb3IgKGkgPSAwOyBidWZmZXJMZW5ndGggPCAxNiAmJiBpIDwgc291cmNlTGVuZ3RoOyArK2ksICsrYnVmZmVyTGVuZ3RoKSB7CiAgICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSBkYXRhW2ldOwogICAgICB9CiAgICAgIGlmIChidWZmZXJMZW5ndGggPCAxNikgewogICAgICAgIC8vIG5lZWQgbW9yZSBkYXRhCiAgICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSBidWZmZXJMZW5ndGg7CiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgICAgfQogICAgICB0aGlzLml2ID0gYnVmZmVyOwogICAgICB0aGlzLmJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSAwOwogICAgICAvLyBzdGFydGluZyBkZWNyeXB0aW9uCiAgICAgIHRoaXMuZGVjcnlwdEJsb2NrID0gZGVjcnlwdEJsb2NrMjsKICAgICAgcmV0dXJuIHRoaXMuZGVjcnlwdEJsb2NrKGRhdGEuc3ViYXJyYXkoMTYpLCBmaW5hbGl6ZSk7CiAgICB9LAogICAgZW5jcnlwdDogZnVuY3Rpb24gQUVTMTI4Q2lwaGVyX2VuY3J5cHQoZGF0YSwgaXYpIHsKICAgICAgdmFyIGksIGosIGlpLCBzb3VyY2VMZW5ndGggPSBkYXRhLmxlbmd0aCwKICAgICAgICAgIGJ1ZmZlciA9IHRoaXMuYnVmZmVyLCBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlclBvc2l0aW9uLAogICAgICAgICAgcmVzdWx0ID0gW107CiAgICAgIGlmICghaXYpIHsKICAgICAgICBpdiA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgICAgfQogICAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICBidWZmZXJbYnVmZmVyTGVuZ3RoXSA9IGRhdGFbaV07CiAgICAgICAgKytidWZmZXJMZW5ndGg7CiAgICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IDE2KSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyArK2opIHsKICAgICAgICAgIGJ1ZmZlcltqXSBePSBpdltqXTsKICAgICAgICB9CgogICAgICAgIC8vIGJ1ZmZlciBpcyBmdWxsLCBlbmNyeXB0aW5nCiAgICAgICAgdmFyIGNpcGhlciA9IGVuY3J5cHQxMjgoYnVmZmVyLCB0aGlzLmtleSk7CiAgICAgICAgaXYgPSBjaXBoZXI7CiAgICAgICAgcmVzdWx0LnB1c2goY2lwaGVyKTsKICAgICAgICBidWZmZXIgPSBuZXcgVWludDhBcnJheSgxNik7CiAgICAgICAgYnVmZmVyTGVuZ3RoID0gMDsKICAgICAgfQogICAgICAvLyBzYXZpbmcgaW5jb21wbGV0ZSBidWZmZXIKICAgICAgdGhpcy5idWZmZXIgPSBidWZmZXI7CiAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogICAgICB0aGlzLml2ID0gaXY7CiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID09PSAwKSB7CiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgICAgfQogICAgICAvLyBjb21iaW5pbmcgcGxhaW4gdGV4dCBibG9ja3MgaW50byBvbmUKICAgICAgdmFyIG91dHB1dExlbmd0aCA9IDE2ICogcmVzdWx0Lmxlbmd0aDsKICAgICAgdmFyIG91dHB1dCA9IG5ldyBVaW50OEFycmF5KG91dHB1dExlbmd0aCk7CiAgICAgIGZvciAoaSA9IDAsIGogPSAwLCBpaSA9IHJlc3VsdC5sZW5ndGg7IGkgPCBpaTsgKytpLCBqICs9IDE2KSB7CiAgICAgICAgb3V0cHV0LnNldChyZXN1bHRbaV0sIGopOwogICAgICB9CiAgICAgIHJldHVybiBvdXRwdXQ7CiAgICB9CiAgfTsKCiAgcmV0dXJuIEFFUzEyOENpcGhlcjsKfSkoKTsKCnZhciBBRVMyNTZDaXBoZXIgPSAoZnVuY3Rpb24gQUVTMjU2Q2lwaGVyQ2xvc3VyZSgpIHsKICB2YXIgcmNvbiA9IG5ldyBVaW50OEFycmF5KFsKICAgIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsCiAgICAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLAogICAgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwKICAgIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsCiAgICAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLAogICAgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwKICAgIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsCiAgICAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLAogICAgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwKICAgIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsCiAgICAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LAogICAgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwKICAgIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsCiAgICAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLAogICAgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwKICAgIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsCiAgICAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLAogICAgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywKICAgIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsCiAgICAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLAogICAgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwKICAgIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGRdKTsKCiAgdmFyIHMgPSBuZXcgVWludDhBcnJheShbCiAgICAweDYzLCAweDdjLCAweDc3LCAweDdiLCAweGYyLCAweDZiLCAweDZmLCAweGM1LCAweDMwLCAweDAxLCAweDY3LCAweDJiLAogICAgMHhmZSwgMHhkNywgMHhhYiwgMHg3NiwgMHhjYSwgMHg4MiwgMHhjOSwgMHg3ZCwgMHhmYSwgMHg1OSwgMHg0NywgMHhmMCwKICAgIDB4YWQsIDB4ZDQsIDB4YTIsIDB4YWYsIDB4OWMsIDB4YTQsIDB4NzIsIDB4YzAsIDB4YjcsIDB4ZmQsIDB4OTMsIDB4MjYsCiAgICAweDM2LCAweDNmLCAweGY3LCAweGNjLCAweDM0LCAweGE1LCAweGU1LCAweGYxLCAweDcxLCAweGQ4LCAweDMxLCAweDE1LAogICAgMHgwNCwgMHhjNywgMHgyMywgMHhjMywgMHgxOCwgMHg5NiwgMHgwNSwgMHg5YSwgMHgwNywgMHgxMiwgMHg4MCwgMHhlMiwKICAgIDB4ZWIsIDB4MjcsIDB4YjIsIDB4NzUsIDB4MDksIDB4ODMsIDB4MmMsIDB4MWEsIDB4MWIsIDB4NmUsIDB4NWEsIDB4YTAsCiAgICAweDUyLCAweDNiLCAweGQ2LCAweGIzLCAweDI5LCAweGUzLCAweDJmLCAweDg0LCAweDUzLCAweGQxLCAweDAwLCAweGVkLAogICAgMHgyMCwgMHhmYywgMHhiMSwgMHg1YiwgMHg2YSwgMHhjYiwgMHhiZSwgMHgzOSwgMHg0YSwgMHg0YywgMHg1OCwgMHhjZiwKICAgIDB4ZDAsIDB4ZWYsIDB4YWEsIDB4ZmIsIDB4NDMsIDB4NGQsIDB4MzMsIDB4ODUsIDB4NDUsIDB4ZjksIDB4MDIsIDB4N2YsCiAgICAweDUwLCAweDNjLCAweDlmLCAweGE4LCAweDUxLCAweGEzLCAweDQwLCAweDhmLCAweDkyLCAweDlkLCAweDM4LCAweGY1LAogICAgMHhiYywgMHhiNiwgMHhkYSwgMHgyMSwgMHgxMCwgMHhmZiwgMHhmMywgMHhkMiwgMHhjZCwgMHgwYywgMHgxMywgMHhlYywKICAgIDB4NWYsIDB4OTcsIDB4NDQsIDB4MTcsIDB4YzQsIDB4YTcsIDB4N2UsIDB4M2QsIDB4NjQsIDB4NWQsIDB4MTksIDB4NzMsCiAgICAweDYwLCAweDgxLCAweDRmLCAweGRjLCAweDIyLCAweDJhLCAweDkwLCAweDg4LCAweDQ2LCAweGVlLCAweGI4LCAweDE0LAogICAgMHhkZSwgMHg1ZSwgMHgwYiwgMHhkYiwgMHhlMCwgMHgzMiwgMHgzYSwgMHgwYSwgMHg0OSwgMHgwNiwgMHgyNCwgMHg1YywKICAgIDB4YzIsIDB4ZDMsIDB4YWMsIDB4NjIsIDB4OTEsIDB4OTUsIDB4ZTQsIDB4NzksIDB4ZTcsIDB4YzgsIDB4MzcsIDB4NmQsCiAgICAweDhkLCAweGQ1LCAweDRlLCAweGE5LCAweDZjLCAweDU2LCAweGY0LCAweGVhLCAweDY1LCAweDdhLCAweGFlLCAweDA4LAogICAgMHhiYSwgMHg3OCwgMHgyNSwgMHgyZSwgMHgxYywgMHhhNiwgMHhiNCwgMHhjNiwgMHhlOCwgMHhkZCwgMHg3NCwgMHgxZiwKICAgIDB4NGIsIDB4YmQsIDB4OGIsIDB4OGEsIDB4NzAsIDB4M2UsIDB4YjUsIDB4NjYsIDB4NDgsIDB4MDMsIDB4ZjYsIDB4MGUsCiAgICAweDYxLCAweDM1LCAweDU3LCAweGI5LCAweDg2LCAweGMxLCAweDFkLCAweDllLCAweGUxLCAweGY4LCAweDk4LCAweDExLAogICAgMHg2OSwgMHhkOSwgMHg4ZSwgMHg5NCwgMHg5YiwgMHgxZSwgMHg4NywgMHhlOSwgMHhjZSwgMHg1NSwgMHgyOCwgMHhkZiwKICAgIDB4OGMsIDB4YTEsIDB4ODksIDB4MGQsIDB4YmYsIDB4ZTYsIDB4NDIsIDB4NjgsIDB4NDEsIDB4OTksIDB4MmQsIDB4MGYsCiAgICAweGIwLCAweDU0LCAweGJiLCAweDE2XSk7CgogIHZhciBpbnZfcyA9IG5ldyBVaW50OEFycmF5KFsKICAgIDB4NTIsIDB4MDksIDB4NmEsIDB4ZDUsIDB4MzAsIDB4MzYsIDB4YTUsIDB4MzgsIDB4YmYsIDB4NDAsIDB4YTMsIDB4OWUsCiAgICAweDgxLCAweGYzLCAweGQ3LCAweGZiLCAweDdjLCAweGUzLCAweDM5LCAweDgyLCAweDliLCAweDJmLCAweGZmLCAweDg3LAogICAgMHgzNCwgMHg4ZSwgMHg0MywgMHg0NCwgMHhjNCwgMHhkZSwgMHhlOSwgMHhjYiwgMHg1NCwgMHg3YiwgMHg5NCwgMHgzMiwKICAgIDB4YTYsIDB4YzIsIDB4MjMsIDB4M2QsIDB4ZWUsIDB4NGMsIDB4OTUsIDB4MGIsIDB4NDIsIDB4ZmEsIDB4YzMsIDB4NGUsCiAgICAweDA4LCAweDJlLCAweGExLCAweDY2LCAweDI4LCAweGQ5LCAweDI0LCAweGIyLCAweDc2LCAweDViLCAweGEyLCAweDQ5LAogICAgMHg2ZCwgMHg4YiwgMHhkMSwgMHgyNSwgMHg3MiwgMHhmOCwgMHhmNiwgMHg2NCwgMHg4NiwgMHg2OCwgMHg5OCwgMHgxNiwKICAgIDB4ZDQsIDB4YTQsIDB4NWMsIDB4Y2MsIDB4NWQsIDB4NjUsIDB4YjYsIDB4OTIsIDB4NmMsIDB4NzAsIDB4NDgsIDB4NTAsCiAgICAweGZkLCAweGVkLCAweGI5LCAweGRhLCAweDVlLCAweDE1LCAweDQ2LCAweDU3LCAweGE3LCAweDhkLCAweDlkLCAweDg0LAogICAgMHg5MCwgMHhkOCwgMHhhYiwgMHgwMCwgMHg4YywgMHhiYywgMHhkMywgMHgwYSwgMHhmNywgMHhlNCwgMHg1OCwgMHgwNSwKICAgIDB4YjgsIDB4YjMsIDB4NDUsIDB4MDYsIDB4ZDAsIDB4MmMsIDB4MWUsIDB4OGYsIDB4Y2EsIDB4M2YsIDB4MGYsIDB4MDIsCiAgICAweGMxLCAweGFmLCAweGJkLCAweDAzLCAweDAxLCAweDEzLCAweDhhLCAweDZiLCAweDNhLCAweDkxLCAweDExLCAweDQxLAogICAgMHg0ZiwgMHg2NywgMHhkYywgMHhlYSwgMHg5NywgMHhmMiwgMHhjZiwgMHhjZSwgMHhmMCwgMHhiNCwgMHhlNiwgMHg3MywKICAgIDB4OTYsIDB4YWMsIDB4NzQsIDB4MjIsIDB4ZTcsIDB4YWQsIDB4MzUsIDB4ODUsIDB4ZTIsIDB4ZjksIDB4MzcsIDB4ZTgsCiAgICAweDFjLCAweDc1LCAweGRmLCAweDZlLCAweDQ3LCAweGYxLCAweDFhLCAweDcxLCAweDFkLCAweDI5LCAweGM1LCAweDg5LAogICAgMHg2ZiwgMHhiNywgMHg2MiwgMHgwZSwgMHhhYSwgMHgxOCwgMHhiZSwgMHgxYiwgMHhmYywgMHg1NiwgMHgzZSwgMHg0YiwKICAgIDB4YzYsIDB4ZDIsIDB4NzksIDB4MjAsIDB4OWEsIDB4ZGIsIDB4YzAsIDB4ZmUsIDB4NzgsIDB4Y2QsIDB4NWEsIDB4ZjQsCiAgICAweDFmLCAweGRkLCAweGE4LCAweDMzLCAweDg4LCAweDA3LCAweGM3LCAweDMxLCAweGIxLCAweDEyLCAweDEwLCAweDU5LAogICAgMHgyNywgMHg4MCwgMHhlYywgMHg1ZiwgMHg2MCwgMHg1MSwgMHg3ZiwgMHhhOSwgMHgxOSwgMHhiNSwgMHg0YSwgMHgwZCwKICAgIDB4MmQsIDB4ZTUsIDB4N2EsIDB4OWYsIDB4OTMsIDB4YzksIDB4OWMsIDB4ZWYsIDB4YTAsIDB4ZTAsIDB4M2IsIDB4NGQsCiAgICAweGFlLCAweDJhLCAweGY1LCAweGIwLCAweGM4LCAweGViLCAweGJiLCAweDNjLCAweDgzLCAweDUzLCAweDk5LCAweDYxLAogICAgMHgxNywgMHgyYiwgMHgwNCwgMHg3ZSwgMHhiYSwgMHg3NywgMHhkNiwgMHgyNiwgMHhlMSwgMHg2OSwgMHgxNCwgMHg2MywKICAgIDB4NTUsIDB4MjEsIDB4MGMsIDB4N2RdKTsKCiAgdmFyIG1peENvbCA9IG5ldyBVaW50OEFycmF5KDI1Nik7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTY7IGkrKykgewogICAgaWYgKGkgPCAxMjgpIHsKICAgICAgbWl4Q29sW2ldID0gaSA8PCAxOwogICAgfSBlbHNlIHsKICAgICAgbWl4Q29sW2ldID0gKGkgPDwgMSkgXiAweDFiOwogICAgfQogIH0KICB2YXIgbWl4ID0gbmV3IFVpbnQzMkFycmF5KFsKICAgIDB4MDAwMDAwMDAsIDB4MGUwOTBkMGIsIDB4MWMxMjFhMTYsIDB4MTIxYjE3MWQsIDB4MzgyNDM0MmMsIDB4MzYyZDM5MjcsCiAgICAweDI0MzYyZTNhLCAweDJhM2YyMzMxLCAweDcwNDg2ODU4LCAweDdlNDE2NTUzLCAweDZjNWE3MjRlLCAweDYyNTM3ZjQ1LAogICAgMHg0ODZjNWM3NCwgMHg0NjY1NTE3ZiwgMHg1NDdlNDY2MiwgMHg1YTc3NGI2OSwgMHhlMDkwZDBiMCwgMHhlZTk5ZGRiYiwKICAgIDB4ZmM4MmNhYTYsIDB4ZjI4YmM3YWQsIDB4ZDhiNGU0OWMsIDB4ZDZiZGU5OTcsIDB4YzRhNmZlOGEsIDB4Y2FhZmYzODEsCiAgICAweDkwZDhiOGU4LCAweDllZDFiNWUzLCAweDhjY2FhMmZlLCAweDgyYzNhZmY1LCAweGE4ZmM4Y2M0LCAweGE2ZjU4MWNmLAogICAgMHhiNGVlOTZkMiwgMHhiYWU3OWJkOSwgMHhkYjNiYmI3YiwgMHhkNTMyYjY3MCwgMHhjNzI5YTE2ZCwgMHhjOTIwYWM2NiwKICAgIDB4ZTMxZjhmNTcsIDB4ZWQxNjgyNWMsIDB4ZmYwZDk1NDEsIDB4ZjEwNDk4NGEsIDB4YWI3M2QzMjMsIDB4YTU3YWRlMjgsCiAgICAweGI3NjFjOTM1LCAweGI5NjhjNDNlLCAweDkzNTdlNzBmLCAweDlkNWVlYTA0LCAweDhmNDVmZDE5LCAweDgxNGNmMDEyLAogICAgMHgzYmFiNmJjYiwgMHgzNWEyNjZjMCwgMHgyN2I5NzFkZCwgMHgyOWIwN2NkNiwgMHgwMzhmNWZlNywgMHgwZDg2NTJlYywKICAgIDB4MWY5ZDQ1ZjEsIDB4MTE5NDQ4ZmEsIDB4NGJlMzAzOTMsIDB4NDVlYTBlOTgsIDB4NTdmMTE5ODUsIDB4NTlmODE0OGUsCiAgICAweDczYzczN2JmLCAweDdkY2UzYWI0LCAweDZmZDUyZGE5LCAweDYxZGMyMGEyLCAweGFkNzY2ZGY2LCAweGEzN2Y2MGZkLAogICAgMHhiMTY0NzdlMCwgMHhiZjZkN2FlYiwgMHg5NTUyNTlkYSwgMHg5YjViNTRkMSwgMHg4OTQwNDNjYywgMHg4NzQ5NGVjNywKICAgIDB4ZGQzZTA1YWUsIDB4ZDMzNzA4YTUsIDB4YzEyYzFmYjgsIDB4Y2YyNTEyYjMsIDB4ZTUxYTMxODIsIDB4ZWIxMzNjODksCiAgICAweGY5MDgyYjk0LCAweGY3MDEyNjlmLCAweDRkZTZiZDQ2LCAweDQzZWZiMDRkLCAweDUxZjRhNzUwLCAweDVmZmRhYTViLAogICAgMHg3NWMyODk2YSwgMHg3YmNiODQ2MSwgMHg2OWQwOTM3YywgMHg2N2Q5OWU3NywgMHgzZGFlZDUxZSwgMHgzM2E3ZDgxNSwKICAgIDB4MjFiY2NmMDgsIDB4MmZiNWMyMDMsIDB4MDU4YWUxMzIsIDB4MGI4M2VjMzksIDB4MTk5OGZiMjQsIDB4MTc5MWY2MmYsCiAgICAweDc2NGRkNjhkLCAweDc4NDRkYjg2LCAweDZhNWZjYzliLCAweDY0NTZjMTkwLCAweDRlNjllMmExLCAweDQwNjBlZmFhLAogICAgMHg1MjdiZjhiNywgMHg1YzcyZjViYywgMHgwNjA1YmVkNSwgMHgwODBjYjNkZSwgMHgxYTE3YTRjMywgMHgxNDFlYTljOCwKICAgIDB4M2UyMThhZjksIDB4MzAyODg3ZjIsIDB4MjIzMzkwZWYsIDB4MmMzYTlkZTQsIDB4OTZkZDA2M2QsIDB4OThkNDBiMzYsCiAgICAweDhhY2YxYzJiLCAweDg0YzYxMTIwLCAweGFlZjkzMjExLCAweGEwZjAzZjFhLCAweGIyZWIyODA3LCAweGJjZTIyNTBjLAogICAgMHhlNjk1NmU2NSwgMHhlODljNjM2ZSwgMHhmYTg3NzQ3MywgMHhmNDhlNzk3OCwgMHhkZWIxNWE0OSwgMHhkMGI4NTc0MiwKICAgIDB4YzJhMzQwNWYsIDB4Y2NhYTRkNTQsIDB4NDFlY2RhZjcsIDB4NGZlNWQ3ZmMsIDB4NWRmZWMwZTEsIDB4NTNmN2NkZWEsCiAgICAweDc5YzhlZWRiLCAweDc3YzFlM2QwLCAweDY1ZGFmNGNkLCAweDZiZDNmOWM2LCAweDMxYTRiMmFmLCAweDNmYWRiZmE0LAogICAgMHgyZGI2YThiOSwgMHgyM2JmYTViMiwgMHgwOTgwODY4MywgMHgwNzg5OGI4OCwgMHgxNTkyOWM5NSwgMHgxYjliOTE5ZSwKICAgIDB4YTE3YzBhNDcsIDB4YWY3NTA3NGMsIDB4YmQ2ZTEwNTEsIDB4YjM2NzFkNWEsIDB4OTk1ODNlNmIsIDB4OTc1MTMzNjAsCiAgICAweDg1NGEyNDdkLCAweDhiNDMyOTc2LCAweGQxMzQ2MjFmLCAweGRmM2Q2ZjE0LCAweGNkMjY3ODA5LCAweGMzMmY3NTAyLAogICAgMHhlOTEwNTYzMywgMHhlNzE5NWIzOCwgMHhmNTAyNGMyNSwgMHhmYjBiNDEyZSwgMHg5YWQ3NjE4YywgMHg5NGRlNmM4NywKICAgIDB4ODZjNTdiOWEsIDB4ODhjYzc2OTEsIDB4YTJmMzU1YTAsIDB4YWNmYTU4YWIsIDB4YmVlMTRmYjYsIDB4YjBlODQyYmQsCiAgICAweGVhOWYwOWQ0LCAweGU0OTYwNGRmLCAweGY2OGQxM2MyLCAweGY4ODQxZWM5LCAweGQyYmIzZGY4LCAweGRjYjIzMGYzLAogICAgMHhjZWE5MjdlZSwgMHhjMGEwMmFlNSwgMHg3YTQ3YjEzYywgMHg3NDRlYmMzNywgMHg2NjU1YWIyYSwgMHg2ODVjYTYyMSwKICAgIDB4NDI2Mzg1MTAsIDB4NGM2YTg4MWIsIDB4NWU3MTlmMDYsIDB4NTA3ODkyMGQsIDB4MGEwZmQ5NjQsIDB4MDQwNmQ0NmYsCiAgICAweDE2MWRjMzcyLCAweDE4MTRjZTc5LCAweDMyMmJlZDQ4LCAweDNjMjJlMDQzLCAweDJlMzlmNzVlLCAweDIwMzBmYTU1LAogICAgMHhlYzlhYjcwMSwgMHhlMjkzYmEwYSwgMHhmMDg4YWQxNywgMHhmZTgxYTAxYywgMHhkNGJlODMyZCwgMHhkYWI3OGUyNiwKICAgIDB4YzhhYzk5M2IsIDB4YzZhNTk0MzAsIDB4OWNkMmRmNTksIDB4OTJkYmQyNTIsIDB4ODBjMGM1NGYsIDB4OGVjOWM4NDQsCiAgICAweGE0ZjZlYjc1LCAweGFhZmZlNjdlLCAweGI4ZTRmMTYzLCAweGI2ZWRmYzY4LCAweDBjMGE2N2IxLCAweDAyMDM2YWJhLAogICAgMHgxMDE4N2RhNywgMHgxZTExNzBhYywgMHgzNDJlNTM5ZCwgMHgzYTI3NWU5NiwgMHgyODNjNDk4YiwgMHgyNjM1NDQ4MCwKICAgIDB4N2M0MjBmZTksIDB4NzI0YjAyZTIsIDB4NjA1MDE1ZmYsIDB4NmU1OTE4ZjQsIDB4NDQ2NjNiYzUsIDB4NGE2ZjM2Y2UsCiAgICAweDU4NzQyMWQzLCAweDU2N2QyY2Q4LCAweDM3YTEwYzdhLCAweDM5YTgwMTcxLCAweDJiYjMxNjZjLCAweDI1YmExYjY3LAogICAgMHgwZjg1Mzg1NiwgMHgwMThjMzU1ZCwgMHgxMzk3MjI0MCwgMHgxZDllMmY0YiwgMHg0N2U5NjQyMiwgMHg0OWUwNjkyOSwKICAgIDB4NWJmYjdlMzQsIDB4NTVmMjczM2YsIDB4N2ZjZDUwMGUsIDB4NzFjNDVkMDUsIDB4NjNkZjRhMTgsIDB4NmRkNjQ3MTMsCiAgICAweGQ3MzFkY2NhLCAweGQ5MzhkMWMxLCAweGNiMjNjNmRjLCAweGM1MmFjYmQ3LCAweGVmMTVlOGU2LCAweGUxMWNlNWVkLAogICAgMHhmMzA3ZjJmMCwgMHhmZDBlZmZmYiwgMHhhNzc5YjQ5MiwgMHhhOTcwYjk5OSwgMHhiYjZiYWU4NCwgMHhiNTYyYTM4ZiwKICAgIDB4OWY1ZDgwYmUsIDB4OTE1NDhkYjUsIDB4ODM0ZjlhYTgsIDB4OGQ0Njk3YTNdKTsKCiAgZnVuY3Rpb24gZXhwYW5kS2V5MjU2KGNpcGhlcktleSkgewogICAgdmFyIGIgPSAyNDAsIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KGIpOwogICAgdmFyIHIgPSAxOwoKICAgIHJlc3VsdC5zZXQoY2lwaGVyS2V5KTsKICAgIGZvciAodmFyIGogPSAzMiwgaSA9IDE7IGogPCBiOyArK2kpIHsKICAgICAgaWYgKGogJSAzMiA9PT0gMTYpIHsKICAgICAgICB0MSA9IHNbdDFdOwogICAgICAgIHQyID0gc1t0Ml07CiAgICAgICAgdDMgPSBzW3QzXTsKICAgICAgICB0NCA9IHNbdDRdOwogICAgICB9IGVsc2UgaWYgKGogJSAzMiA9PT0gMCkgewogICAgICAgIC8vIFJvdFdvcmQKICAgICAgICB2YXIgdDEgPSByZXN1bHRbaiAtIDNdLCB0MiA9IHJlc3VsdFtqIC0gMl0sCiAgICAgICAgICB0MyA9IHJlc3VsdFtqIC0gMV0sIHQ0ID0gcmVzdWx0W2ogLSA0XTsKICAgICAgICAvLyBTdWJXb3JkCiAgICAgICAgdDEgPSBzW3QxXTsKICAgICAgICB0MiA9IHNbdDJdOwogICAgICAgIHQzID0gc1t0M107CiAgICAgICAgdDQgPSBzW3Q0XTsKICAgICAgICAvLyBSY29uCiAgICAgICAgdDEgPSB0MSBeIHI7CiAgICAgICAgaWYgKChyIDw8PSAxKSA+PSAyNTYpIHsKICAgICAgICAgIHIgPSAociBeIDB4MWIpICYgMHhGRjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgNDsgKytuKSB7CiAgICAgICAgcmVzdWx0W2pdID0gKHQxIF49IHJlc3VsdFtqIC0gMzJdKTsKICAgICAgICBqKys7CiAgICAgICAgcmVzdWx0W2pdID0gKHQyIF49IHJlc3VsdFtqIC0gMzJdKTsKICAgICAgICBqKys7CiAgICAgICAgcmVzdWx0W2pdID0gKHQzIF49IHJlc3VsdFtqIC0gMzJdKTsKICAgICAgICBqKys7CiAgICAgICAgcmVzdWx0W2pdID0gKHQ0IF49IHJlc3VsdFtqIC0gMzJdKTsKICAgICAgICBqKys7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICBmdW5jdGlvbiBkZWNyeXB0MjU2KGlucHV0LCBrZXkpIHsKICAgIHZhciBzdGF0ZSA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgIHN0YXRlLnNldChpbnB1dCk7CiAgICB2YXIgaSwgaiwgazsKICAgIHZhciB0LCB1LCB2OwogICAgLy8gQWRkUm91bmRLZXkKICAgIGZvciAoaiA9IDAsIGsgPSAyMjQ7IGogPCAxNjsgKytqLCArK2spIHsKICAgICAgc3RhdGVbal0gXj0ga2V5W2tdOwogICAgfQogICAgZm9yIChpID0gMTM7IGkgPj0gMTsgLS1pKSB7CiAgICAgIC8vIEludlNoaWZ0Um93cwogICAgICB0ID0gc3RhdGVbMTNdOwogICAgICBzdGF0ZVsxM10gPSBzdGF0ZVs5XTsKICAgICAgc3RhdGVbOV0gPSBzdGF0ZVs1XTsKICAgICAgc3RhdGVbNV0gPSBzdGF0ZVsxXTsKICAgICAgc3RhdGVbMV0gPSB0OwogICAgICB0ID0gc3RhdGVbMTRdOwogICAgICB1ID0gc3RhdGVbMTBdOwogICAgICBzdGF0ZVsxNF0gPSBzdGF0ZVs2XTsKICAgICAgc3RhdGVbMTBdID0gc3RhdGVbMl07CiAgICAgIHN0YXRlWzZdID0gdDsKICAgICAgc3RhdGVbMl0gPSB1OwogICAgICB0ID0gc3RhdGVbMTVdOwogICAgICB1ID0gc3RhdGVbMTFdOwogICAgICB2ID0gc3RhdGVbN107CiAgICAgIHN0YXRlWzE1XSA9IHN0YXRlWzNdOwogICAgICBzdGF0ZVsxMV0gPSB0OwogICAgICBzdGF0ZVs3XSA9IHU7CiAgICAgIHN0YXRlWzNdID0gdjsKICAgICAgLy8gSW52U3ViQnl0ZXMKICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyArK2opIHsKICAgICAgICBzdGF0ZVtqXSA9IGludl9zW3N0YXRlW2pdXTsKICAgICAgfQogICAgICAvLyBBZGRSb3VuZEtleQogICAgICBmb3IgKGogPSAwLCBrID0gaSAqIDE2OyBqIDwgMTY7ICsraiwgKytrKSB7CiAgICAgICAgc3RhdGVbal0gXj0ga2V5W2tdOwogICAgICB9CiAgICAgIC8vIEludk1peENvbHVtbnMKICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyBqICs9IDQpIHsKICAgICAgICB2YXIgczAgPSBtaXhbc3RhdGVbal1dLCBzMSA9IG1peFtzdGF0ZVtqICsgMV1dLAogICAgICAgICAgICBzMiA9IG1peFtzdGF0ZVtqICsgMl1dLCBzMyA9IG1peFtzdGF0ZVtqICsgM11dOwogICAgICAgIHQgPSAoczAgXiAoczEgPj4+IDgpIF4gKHMxIDw8IDI0KSBeIChzMiA+Pj4gMTYpIF4gKHMyIDw8IDE2KSBeCiAgICAgICAgICAgIChzMyA+Pj4gMjQpIF4gKHMzIDw8IDgpKTsKICAgICAgICBzdGF0ZVtqXSA9ICh0ID4+PiAyNCkgJiAweEZGOwogICAgICAgIHN0YXRlW2ogKyAxXSA9ICh0ID4+IDE2KSAmIDB4RkY7CiAgICAgICAgc3RhdGVbaiArIDJdID0gKHQgPj4gOCkgJiAweEZGOwogICAgICAgIHN0YXRlW2ogKyAzXSA9IHQgJiAweEZGOwogICAgICB9CiAgICB9CiAgICAvLyBJbnZTaGlmdFJvd3MKICAgIHQgPSBzdGF0ZVsxM107CiAgICBzdGF0ZVsxM10gPSBzdGF0ZVs5XTsKICAgIHN0YXRlWzldID0gc3RhdGVbNV07CiAgICBzdGF0ZVs1XSA9IHN0YXRlWzFdOwogICAgc3RhdGVbMV0gPSB0OwogICAgdCA9IHN0YXRlWzE0XTsKICAgIHUgPSBzdGF0ZVsxMF07CiAgICBzdGF0ZVsxNF0gPSBzdGF0ZVs2XTsKICAgIHN0YXRlWzEwXSA9IHN0YXRlWzJdOwogICAgc3RhdGVbNl0gPSB0OwogICAgc3RhdGVbMl0gPSB1OwogICAgdCA9IHN0YXRlWzE1XTsKICAgIHUgPSBzdGF0ZVsxMV07CiAgICB2ID0gc3RhdGVbN107CiAgICBzdGF0ZVsxNV0gPSBzdGF0ZVszXTsKICAgIHN0YXRlWzExXSA9IHQ7CiAgICBzdGF0ZVs3XSA9IHU7CiAgICBzdGF0ZVszXSA9IHY7CiAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAvLyBJbnZTdWJCeXRlcwogICAgICBzdGF0ZVtqXSA9IGludl9zW3N0YXRlW2pdXTsKICAgICAgLy8gQWRkUm91bmRLZXkKICAgICAgc3RhdGVbal0gXj0ga2V5W2pdOwogICAgfQogICAgcmV0dXJuIHN0YXRlOwogIH0KCiAgZnVuY3Rpb24gZW5jcnlwdDI1NihpbnB1dCwga2V5KSB7CiAgICB2YXIgdCwgdSwgdiwgazsKICAgIHZhciBzdGF0ZSA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgIHN0YXRlLnNldChpbnB1dCk7CiAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAvLyBBZGRSb3VuZEtleQogICAgICBzdGF0ZVtqXSBePSBrZXlbal07CiAgICB9CgogICAgZm9yIChpID0gMTsgaSA8IDE0OyBpKyspIHsKICAgICAgLy9TdWJCeXRlcwogICAgICBmb3IgKGogPSAwOyBqIDwgMTY7ICsraikgewogICAgICAgIHN0YXRlW2pdID0gc1tzdGF0ZVtqXV07CiAgICAgIH0KICAgICAgLy9TaGlmdFJvd3MKICAgICAgdiA9IHN0YXRlWzFdOwogICAgICBzdGF0ZVsxXSA9IHN0YXRlWzVdOwogICAgICBzdGF0ZVs1XSA9IHN0YXRlWzldOwogICAgICBzdGF0ZVs5XSA9IHN0YXRlWzEzXTsKICAgICAgc3RhdGVbMTNdID0gdjsKICAgICAgdiA9IHN0YXRlWzJdOwogICAgICB1ID0gc3RhdGVbNl07CiAgICAgIHN0YXRlWzJdID0gc3RhdGVbMTBdOwogICAgICBzdGF0ZVs2XSA9IHN0YXRlWzE0XTsKICAgICAgc3RhdGVbMTBdID0gdjsKICAgICAgc3RhdGVbMTRdID0gdTsKICAgICAgdiA9IHN0YXRlWzNdOwogICAgICB1ID0gc3RhdGVbN107CiAgICAgIHQgPSBzdGF0ZVsxMV07CiAgICAgIHN0YXRlWzNdID0gc3RhdGVbMTVdOwogICAgICBzdGF0ZVs3XSA9IHY7CiAgICAgIHN0YXRlWzExXSA9IHU7CiAgICAgIHN0YXRlWzE1XSA9IHQ7CiAgICAgIC8vTWl4Q29sdW1ucwogICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDE2OyBqICs9IDQpIHsKICAgICAgICB2YXIgczAgPSBzdGF0ZVtqICsgMF0sIHMxID0gc3RhdGVbaiArIDFdOwogICAgICAgIHZhciBzMiA9IHN0YXRlW2ogKyAyXSwgczMgPSBzdGF0ZVtqICsgM107CiAgICAgICAgdCA9IHMwIF4gczEgXiBzMiBeIHMzOwogICAgICAgIHN0YXRlW2ogKyAwXSBePSB0IF4gbWl4Q29sW3MwIF4gczFdOwogICAgICAgIHN0YXRlW2ogKyAxXSBePSB0IF4gbWl4Q29sW3MxIF4gczJdOwogICAgICAgIHN0YXRlW2ogKyAyXSBePSB0IF4gbWl4Q29sW3MyIF4gczNdOwogICAgICAgIHN0YXRlW2ogKyAzXSBePSB0IF4gbWl4Q29sW3MzIF4gczBdOwogICAgICB9CiAgICAgIC8vQWRkUm91bmRLZXkKICAgICAgZm9yIChqID0gMCwgayA9IGkgKiAxNjsgaiA8IDE2OyArK2osICsraykgewogICAgICAgIHN0YXRlW2pdIF49IGtleVtrXTsKICAgICAgfQogICAgfQoKICAgIC8vU3ViQnl0ZXMKICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgIHN0YXRlW2pdID0gc1tzdGF0ZVtqXV07CiAgICB9CiAgICAvL1NoaWZ0Um93cwogICAgdiA9IHN0YXRlWzFdOwogICAgc3RhdGVbMV0gPSBzdGF0ZVs1XTsKICAgIHN0YXRlWzVdID0gc3RhdGVbOV07CiAgICBzdGF0ZVs5XSA9IHN0YXRlWzEzXTsKICAgIHN0YXRlWzEzXSA9IHY7CiAgICB2ID0gc3RhdGVbMl07CiAgICB1ID0gc3RhdGVbNl07CiAgICBzdGF0ZVsyXSA9IHN0YXRlWzEwXTsKICAgIHN0YXRlWzZdID0gc3RhdGVbMTRdOwogICAgc3RhdGVbMTBdID0gdjsKICAgIHN0YXRlWzE0XSA9IHU7CiAgICB2ID0gc3RhdGVbM107CiAgICB1ID0gc3RhdGVbN107CiAgICB0ID0gc3RhdGVbMTFdOwogICAgc3RhdGVbM10gPSBzdGF0ZVsxNV07CiAgICBzdGF0ZVs3XSA9IHY7CiAgICBzdGF0ZVsxMV0gPSB1OwogICAgc3RhdGVbMTVdID0gdDsKICAgIC8vQWRkUm91bmRLZXkKICAgIGZvciAoaiA9IDAsIGsgPSAyMjQ7IGogPCAxNjsgKytqLCArK2spIHsKICAgICAgc3RhdGVbal0gXj0ga2V5W2tdOwogICAgfQoKICAgIHJldHVybiBzdGF0ZTsKCiAgfQoKICBmdW5jdGlvbiBBRVMyNTZDaXBoZXIoa2V5KSB7CiAgICB0aGlzLmtleSA9IGV4cGFuZEtleTI1NihrZXkpOwogICAgdGhpcy5idWZmZXIgPSBuZXcgVWludDhBcnJheSgxNik7CiAgICB0aGlzLmJ1ZmZlclBvc2l0aW9uID0gMDsKICB9CgogIGZ1bmN0aW9uIGRlY3J5cHRCbG9jazIoZGF0YSwgZmluYWxpemUpIHsKICAgIHZhciBpLCBqLCBpaSwgc291cmNlTGVuZ3RoID0gZGF0YS5sZW5ndGgsCiAgICAgICAgYnVmZmVyID0gdGhpcy5idWZmZXIsIGJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyUG9zaXRpb24sCiAgICAgICAgcmVzdWx0ID0gW10sIGl2ID0gdGhpcy5pdjsKCiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSBkYXRhW2ldOwogICAgICArK2J1ZmZlckxlbmd0aDsKICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IDE2KSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgLy8gYnVmZmVyIGlzIGZ1bGwsIGRlY3J5cHRpbmcKICAgICAgdmFyIHBsYWluID0gZGVjcnlwdDI1NihidWZmZXIsIHRoaXMua2V5KTsKICAgICAgLy8geG9yLWluZyB0aGUgSVYgdmVjdG9yIHRvIGdldCBwbGFpbiB0ZXh0CiAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgICAgcGxhaW5bal0gXj0gaXZbal07CiAgICAgIH0KICAgICAgaXYgPSBidWZmZXI7CiAgICAgIHJlc3VsdC5wdXNoKHBsYWluKTsKICAgICAgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgICBidWZmZXJMZW5ndGggPSAwOwogICAgfQogICAgLy8gc2F2aW5nIGluY29tcGxldGUgYnVmZmVyCiAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogICAgdGhpcy5pdiA9IGl2OwogICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgIH0KICAgIC8vIGNvbWJpbmluZyBwbGFpbiB0ZXh0IGJsb2NrcyBpbnRvIG9uZQogICAgdmFyIG91dHB1dExlbmd0aCA9IDE2ICogcmVzdWx0Lmxlbmd0aDsKICAgIGlmIChmaW5hbGl6ZSkgewogICAgICAvLyB1bmRvIGEgcGFkZGluZyB0aGF0IGlzIGRlc2NyaWJlZCBpbiBSRkMgMjg5OAogICAgICB2YXIgbGFzdEJsb2NrID0gcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXTsKICAgICAgdmFyIHBzTGVuID0gbGFzdEJsb2NrWzE1XTsKICAgICAgaWYgKHBzTGVuIDw9IDE2KSB7CiAgICAgICAgZm9yIChpID0gMTUsIGlpID0gMTYgLSBwc0xlbjsgaSA+PSBpaTsgLS1pKSB7CiAgICAgICAgICBpZiAobGFzdEJsb2NrW2ldICE9PSBwc0xlbikgewogICAgICAgICAgICAvLyBJbnZhbGlkIHBhZGRpbmcsIGFzc3VtZSB0aGF0IHRoZSBibG9jayBoYXMgbm8gcGFkZGluZy4KICAgICAgICAgICAgcHNMZW4gPSAwOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgb3V0cHV0TGVuZ3RoIC09IHBzTGVuOwogICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSBsYXN0QmxvY2suc3ViYXJyYXkoMCwgMTYgLSBwc0xlbik7CiAgICAgIH0KICAgIH0KICAgIHZhciBvdXRwdXQgPSBuZXcgVWludDhBcnJheShvdXRwdXRMZW5ndGgpOwogICAgZm9yIChpID0gMCwgaiA9IDAsIGlpID0gcmVzdWx0Lmxlbmd0aDsgaSA8IGlpOyArK2ksIGogKz0gMTYpIHsKICAgICAgb3V0cHV0LnNldChyZXN1bHRbaV0sIGopOwogICAgfQogICAgcmV0dXJuIG91dHB1dDsKCiAgfQoKICBBRVMyNTZDaXBoZXIucHJvdG90eXBlID0gewogICAgZGVjcnlwdEJsb2NrOiBmdW5jdGlvbiBBRVMyNTZDaXBoZXJfZGVjcnlwdEJsb2NrKGRhdGEsIGZpbmFsaXplLCBpdikgewogICAgICB2YXIgaSwgc291cmNlTGVuZ3RoID0gZGF0YS5sZW5ndGg7CiAgICAgIHZhciBidWZmZXIgPSB0aGlzLmJ1ZmZlciwgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJQb3NpdGlvbjsKICAgICAgLy8gaWYgbm90IHN1cHBsaWVkIGFuIElWIHdhaXQgZm9yIElWIHZhbHVlcwogICAgICAvLyB0aGV5IGFyZSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbQogICAgICBpZiAoaXYpIHsKICAgICAgICB0aGlzLml2ID0gaXY7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChpID0gMDsgYnVmZmVyTGVuZ3RoIDwgMTYgJiYKICAgICAgICAgICAgIGkgPCBzb3VyY2VMZW5ndGg7ICsraSwgKytidWZmZXJMZW5ndGgpIHsKICAgICAgICAgIGJ1ZmZlcltidWZmZXJMZW5ndGhdID0gZGF0YVtpXTsKICAgICAgICB9CiAgICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA8IDE2KSB7CiAgICAgICAgICAvL25lZWQgbW9yZSBkYXRhCiAgICAgICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGJ1ZmZlckxlbmd0aDsKICAgICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShbXSk7CiAgICAgICAgfQogICAgICAgIHRoaXMuaXYgPSBidWZmZXI7CiAgICAgICAgZGF0YSA9IGRhdGEuc3ViYXJyYXkoMTYpOwogICAgICB9CiAgICAgIHRoaXMuYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTYpOwogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IDA7CiAgICAgIC8vIHN0YXJ0aW5nIGRlY3J5cHRpb24KICAgICAgdGhpcy5kZWNyeXB0QmxvY2sgPSBkZWNyeXB0QmxvY2syOwogICAgICByZXR1cm4gdGhpcy5kZWNyeXB0QmxvY2soZGF0YSwgZmluYWxpemUpOwogICAgfSwKICAgIGVuY3J5cHQ6IGZ1bmN0aW9uIEFFUzI1NkNpcGhlcl9lbmNyeXB0KGRhdGEsIGl2KSB7CiAgICAgIHZhciBpLCBqLCBpaSwgc291cmNlTGVuZ3RoID0gZGF0YS5sZW5ndGgsCiAgICAgICAgICBidWZmZXIgPSB0aGlzLmJ1ZmZlciwgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJQb3NpdGlvbiwKICAgICAgICAgIHJlc3VsdCA9IFtdOwogICAgICBpZiAoIWl2KSB7CiAgICAgICAgaXYgPSBuZXcgVWludDhBcnJheSgxNik7CiAgICAgIH0KICAgICAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7CiAgICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSBkYXRhW2ldOwogICAgICAgICsrYnVmZmVyTGVuZ3RoOwogICAgICAgIGlmIChidWZmZXJMZW5ndGggPCAxNikgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGZvciAoaiA9IDA7IGogPCAxNjsgKytqKSB7CiAgICAgICAgICBidWZmZXJbal0gXj0gaXZbal07CiAgICAgICAgfQoKICAgICAgICAvLyBidWZmZXIgaXMgZnVsbCwgZW5jcnlwdGluZwogICAgICAgIHZhciBjaXBoZXIgPSBlbmNyeXB0MjU2KGJ1ZmZlciwgdGhpcy5rZXkpOwogICAgICAgIHRoaXMuaXYgPSBjaXBoZXI7CiAgICAgICAgcmVzdWx0LnB1c2goY2lwaGVyKTsKICAgICAgICBidWZmZXIgPSBuZXcgVWludDhBcnJheSgxNik7CiAgICAgICAgYnVmZmVyTGVuZ3RoID0gMDsKICAgICAgfQogICAgICAvLyBzYXZpbmcgaW5jb21wbGV0ZSBidWZmZXIKICAgICAgdGhpcy5idWZmZXIgPSBidWZmZXI7CiAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogICAgICB0aGlzLml2ID0gaXY7CiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID09PSAwKSB7CiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtdKTsKICAgICAgfQogICAgICAvLyBjb21iaW5pbmcgcGxhaW4gdGV4dCBibG9ja3MgaW50byBvbmUKICAgICAgdmFyIG91dHB1dExlbmd0aCA9IDE2ICogcmVzdWx0Lmxlbmd0aDsKICAgICAgdmFyIG91dHB1dCA9IG5ldyBVaW50OEFycmF5KG91dHB1dExlbmd0aCk7CiAgICAgIGZvciAoaSA9IDAsIGogPSAwLCBpaSA9IHJlc3VsdC5sZW5ndGg7IGkgPCBpaTsgKytpLCBqICs9IDE2KSB7CiAgICAgICAgb3V0cHV0LnNldChyZXN1bHRbaV0sIGopOwogICAgICB9CiAgICAgIHJldHVybiBvdXRwdXQ7CiAgICB9CiAgfTsKCiAgcmV0dXJuIEFFUzI1NkNpcGhlcjsKfSkoKTsKCnZhciBQREYxNyA9IChmdW5jdGlvbiBQREYxN0Nsb3N1cmUoKSB7CgogIGZ1bmN0aW9uIGNvbXBhcmVCeXRlQXJyYXlzKGFycmF5MSwgYXJyYXkyKSB7CiAgICBpZiAoYXJyYXkxLmxlbmd0aCAhPT0gYXJyYXkyLmxlbmd0aCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5MS5sZW5ndGg7IGkrKykgewogICAgICBpZiAoYXJyYXkxW2ldICE9PSBhcnJheTJbaV0pIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KCiAgZnVuY3Rpb24gUERGMTcoKSB7CiAgfQoKICBQREYxNy5wcm90b3R5cGUgPSB7CiAgICBjaGVja093bmVyUGFzc3dvcmQ6IGZ1bmN0aW9uIFBERjE3X2NoZWNrT3duZXJQYXNzd29yZChwYXNzd29yZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93bmVyVmFsaWRhdGlvblNhbHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyQnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lclBhc3N3b3JkKSB7CiAgICAgIHZhciBoYXNoRGF0YSA9IG5ldyBVaW50OEFycmF5KHBhc3N3b3JkLmxlbmd0aCArIDU2KTsKICAgICAgaGFzaERhdGEuc2V0KHBhc3N3b3JkLCAwKTsKICAgICAgaGFzaERhdGEuc2V0KG93bmVyVmFsaWRhdGlvblNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIGhhc2hEYXRhLnNldCh1c2VyQnl0ZXMsIHBhc3N3b3JkLmxlbmd0aCArIG93bmVyVmFsaWRhdGlvblNhbHQubGVuZ3RoKTsKICAgICAgdmFyIHJlc3VsdCA9IGNhbGN1bGF0ZVNIQTI1NihoYXNoRGF0YSwgMCwgaGFzaERhdGEubGVuZ3RoKTsKICAgICAgcmV0dXJuIGNvbXBhcmVCeXRlQXJyYXlzKHJlc3VsdCwgb3duZXJQYXNzd29yZCk7CiAgICB9LAogICAgY2hlY2tVc2VyUGFzc3dvcmQ6IGZ1bmN0aW9uIFBERjE3X2NoZWNrVXNlclBhc3N3b3JkKHBhc3N3b3JkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJWYWxpZGF0aW9uU2FsdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUGFzc3dvcmQpIHsKICAgICAgdmFyIGhhc2hEYXRhID0gbmV3IFVpbnQ4QXJyYXkocGFzc3dvcmQubGVuZ3RoICsgOCk7CiAgICAgIGhhc2hEYXRhLnNldChwYXNzd29yZCwgMCk7CiAgICAgIGhhc2hEYXRhLnNldCh1c2VyVmFsaWRhdGlvblNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIHZhciByZXN1bHQgPSBjYWxjdWxhdGVTSEEyNTYoaGFzaERhdGEsIDAsIGhhc2hEYXRhLmxlbmd0aCk7CiAgICAgIHJldHVybiBjb21wYXJlQnl0ZUFycmF5cyhyZXN1bHQsIHVzZXJQYXNzd29yZCk7CiAgICB9LAogICAgZ2V0T3duZXJLZXk6IGZ1bmN0aW9uIFBERjE3X2dldE93bmVyS2V5KHBhc3N3b3JkLCBvd25lcktleVNhbHQsIHVzZXJCeXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lckVuY3J5cHRpb24pIHsKICAgICAgdmFyIGhhc2hEYXRhID0gbmV3IFVpbnQ4QXJyYXkocGFzc3dvcmQubGVuZ3RoICsgNTYpOwogICAgICBoYXNoRGF0YS5zZXQocGFzc3dvcmQsIDApOwogICAgICBoYXNoRGF0YS5zZXQob3duZXJLZXlTYWx0LCBwYXNzd29yZC5sZW5ndGgpOwogICAgICBoYXNoRGF0YS5zZXQodXNlckJ5dGVzLCBwYXNzd29yZC5sZW5ndGggKyBvd25lcktleVNhbHQubGVuZ3RoKTsKICAgICAgdmFyIGtleSA9IGNhbGN1bGF0ZVNIQTI1NihoYXNoRGF0YSwgMCwgaGFzaERhdGEubGVuZ3RoKTsKICAgICAgdmFyIGNpcGhlciA9IG5ldyBBRVMyNTZDaXBoZXIoa2V5KTsKICAgICAgcmV0dXJuIGNpcGhlci5kZWNyeXB0QmxvY2sob3duZXJFbmNyeXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTYpKTsKCiAgICB9LAogICAgZ2V0VXNlcktleTogZnVuY3Rpb24gUERGMTdfZ2V0VXNlcktleShwYXNzd29yZCwgdXNlcktleVNhbHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJFbmNyeXB0aW9uKSB7CiAgICAgIHZhciBoYXNoRGF0YSA9IG5ldyBVaW50OEFycmF5KHBhc3N3b3JkLmxlbmd0aCArIDgpOwogICAgICBoYXNoRGF0YS5zZXQocGFzc3dvcmQsIDApOwogICAgICBoYXNoRGF0YS5zZXQodXNlcktleVNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIC8va2V5IGlzIHRoZSBkZWNyeXB0aW9uIGtleSBmb3IgdGhlIFVFIHN0cmluZwogICAgICB2YXIga2V5ID0gY2FsY3VsYXRlU0hBMjU2KGhhc2hEYXRhLCAwLCBoYXNoRGF0YS5sZW5ndGgpOwogICAgICB2YXIgY2lwaGVyID0gbmV3IEFFUzI1NkNpcGhlcihrZXkpOwogICAgICByZXR1cm4gY2lwaGVyLmRlY3J5cHRCbG9jayh1c2VyRW5jcnlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KDE2KSk7CiAgICB9CiAgfTsKICByZXR1cm4gUERGMTc7Cn0pKCk7Cgp2YXIgUERGMjAgPSAoZnVuY3Rpb24gUERGMjBDbG9zdXJlKCkgewoKICBmdW5jdGlvbiBjb25jYXRBcnJheXMoYXJyYXkxLCBhcnJheTIpIHsKICAgIHZhciB0ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXkxLmxlbmd0aCArIGFycmF5Mi5sZW5ndGgpOwogICAgdC5zZXQoYXJyYXkxLCAwKTsKICAgIHQuc2V0KGFycmF5MiwgYXJyYXkxLmxlbmd0aCk7CiAgICByZXR1cm4gdDsKICB9CgogIGZ1bmN0aW9uIGNhbGN1bGF0ZVBERjIwSGFzaChwYXNzd29yZCwgaW5wdXQsIHVzZXJCeXRlcykgewogICAgLy9UaGlzIHJlZmVycyB0byBBbGdvcml0aG0gMi5CIGFzIGRlZmluZWQgaW4gSVNPIDMyMDAwLTIKICAgIHZhciBrID0gY2FsY3VsYXRlU0hBMjU2KGlucHV0LCAwLCBpbnB1dC5sZW5ndGgpLnN1YmFycmF5KDAsIDMyKTsKICAgIHZhciBlID0gWzBdOwogICAgdmFyIGkgPSAwOwogICAgd2hpbGUgKGkgPCA2NCB8fCBlW2UubGVuZ3RoIC0gMV0gPiBpIC0gMzIpIHsKICAgICAgdmFyIGFycmF5TGVuZ3RoID0gcGFzc3dvcmQubGVuZ3RoICsgay5sZW5ndGggKyB1c2VyQnl0ZXMubGVuZ3RoOwoKICAgICAgdmFyIGsxID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlMZW5ndGggKiA2NCk7CiAgICAgIHZhciBhcnJheSA9IGNvbmNhdEFycmF5cyhwYXNzd29yZCwgayk7CiAgICAgIGFycmF5ID0gY29uY2F0QXJyYXlzKGFycmF5LCB1c2VyQnl0ZXMpOwogICAgICBmb3IgKHZhciBqID0gMCwgcG9zID0gMDsgaiA8IDY0OyBqKyssIHBvcyArPSBhcnJheUxlbmd0aCkgewogICAgICAgIGsxLnNldChhcnJheSwgcG9zKTsKICAgICAgfQogICAgICAvL0FFUzEyOCBDQkMgTk8gUEFERElORyB3aXRoCiAgICAgIC8vZmlyc3QgMTYgYnl0ZXMgb2YgayBhcyB0aGUga2V5IGFuZCB0aGUgc2Vjb25kIDE2IGFzIHRoZSBpdi4KICAgICAgdmFyIGNpcGhlciA9IG5ldyBBRVMxMjhDaXBoZXIoay5zdWJhcnJheSgwLCAxNikpOwogICAgICBlID0gY2lwaGVyLmVuY3J5cHQoazEsIGsuc3ViYXJyYXkoMTYsIDMyKSk7CiAgICAgIC8vTm93IHdlIGhhdmUgdG8gdGFrZSB0aGUgZmlyc3QgMTYgYnl0ZXMgb2YgYW4gdW5zaWduZWQKICAgICAgLy9iaWcgZW5kaWFuIGludGVnZXIuLi4gYW5kIGNvbXB1dGUgdGhlIHJlbWFpbmRlcgogICAgICAvL21vZHVsbyAzLi4uLiBUaGF0IGlzIGEgZmFpcmx5IGxhcmdlIG51bWJlciBhbmQKICAgICAgLy9KYXZhU2NyaXB0IGlzbid0IGdvaW5nIHRvIGhhbmRsZSB0aGF0IHdlbGwuLi4KICAgICAgLy9TbyB3ZSdyZSB1c2luZyBhIHRyaWNrIHRoYXQgYWxsb3dzIHVzIHRvIHBlcmZvcm0KICAgICAgLy9tb2R1bG8gbWF0aCBieXRlIGJ5IGJ5dGUKICAgICAgdmFyIHJlbWFpbmRlciA9IDA7CiAgICAgIGZvciAodmFyIHogPSAwOyB6IDwgMTY7IHorKykgewogICAgICAgIHJlbWFpbmRlciAqPSAoMjU2ICUgMyk7CiAgICAgICAgcmVtYWluZGVyICU9IDM7CiAgICAgICAgcmVtYWluZGVyICs9ICgoZVt6XSA+Pj4gMCkgJSAzKTsKICAgICAgICByZW1haW5kZXIgJT0gMzsKICAgICAgfQogICAgICBpZiAocmVtYWluZGVyID09PSAwKSB7CiAgICAgICAgayA9IGNhbGN1bGF0ZVNIQTI1NihlLCAwLCBlLmxlbmd0aCk7CiAgICAgIH0KICAgICAgZWxzZSBpZiAocmVtYWluZGVyID09PSAxKSB7CiAgICAgICAgayA9IGNhbGN1bGF0ZVNIQTM4NChlLCAwLCBlLmxlbmd0aCk7CiAgICAgIH0KICAgICAgZWxzZSBpZiAocmVtYWluZGVyID09PSAyKSB7CiAgICAgICAgayA9IGNhbGN1bGF0ZVNIQTUxMihlLCAwLCBlLmxlbmd0aCk7CiAgICAgIH0KICAgICAgaSsrOwogICAgfQogICAgcmV0dXJuIGsuc3ViYXJyYXkoMCwgMzIpOwogIH0KCiAgZnVuY3Rpb24gUERGMjAoKSB7CiAgfQoKICBmdW5jdGlvbiBjb21wYXJlQnl0ZUFycmF5cyhhcnJheTEsIGFycmF5MikgewogICAgaWYgKGFycmF5MS5sZW5ndGggIT09IGFycmF5Mi5sZW5ndGgpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheTEubGVuZ3RoOyBpKyspIHsKICAgICAgaWYgKGFycmF5MVtpXSAhPT0gYXJyYXkyW2ldKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIFBERjIwLnByb3RvdHlwZSA9IHsKICAgIGhhc2g6IGZ1bmN0aW9uIFBERjIwX2hhc2gocGFzc3dvcmQsIGNvbmNhdEJ5dGVzLCB1c2VyQnl0ZXMpIHsKICAgICAgcmV0dXJuIGNhbGN1bGF0ZVBERjIwSGFzaChwYXNzd29yZCwgY29uY2F0Qnl0ZXMsIHVzZXJCeXRlcyk7CiAgICB9LAogICAgY2hlY2tPd25lclBhc3N3b3JkOiBmdW5jdGlvbiBQREYyMF9jaGVja093bmVyUGFzc3dvcmQocGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lclZhbGlkYXRpb25TYWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckJ5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3duZXJQYXNzd29yZCkgewogICAgICB2YXIgaGFzaERhdGEgPSBuZXcgVWludDhBcnJheShwYXNzd29yZC5sZW5ndGggKyA1Nik7CiAgICAgIGhhc2hEYXRhLnNldChwYXNzd29yZCwgMCk7CiAgICAgIGhhc2hEYXRhLnNldChvd25lclZhbGlkYXRpb25TYWx0LCBwYXNzd29yZC5sZW5ndGgpOwogICAgICBoYXNoRGF0YS5zZXQodXNlckJ5dGVzLCBwYXNzd29yZC5sZW5ndGggKyBvd25lclZhbGlkYXRpb25TYWx0Lmxlbmd0aCk7CiAgICAgIHZhciByZXN1bHQgPSBjYWxjdWxhdGVQREYyMEhhc2gocGFzc3dvcmQsIGhhc2hEYXRhLCB1c2VyQnl0ZXMpOwogICAgICByZXR1cm4gY29tcGFyZUJ5dGVBcnJheXMocmVzdWx0LCBvd25lclBhc3N3b3JkKTsKICAgIH0sCiAgICBjaGVja1VzZXJQYXNzd29yZDogZnVuY3Rpb24gUERGMjBfY2hlY2tVc2VyUGFzc3dvcmQocGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclZhbGlkYXRpb25TYWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJQYXNzd29yZCkgewogICAgICB2YXIgaGFzaERhdGEgPSBuZXcgVWludDhBcnJheShwYXNzd29yZC5sZW5ndGggKyA4KTsKICAgICAgaGFzaERhdGEuc2V0KHBhc3N3b3JkLCAwKTsKICAgICAgaGFzaERhdGEuc2V0KHVzZXJWYWxpZGF0aW9uU2FsdCwgcGFzc3dvcmQubGVuZ3RoKTsKICAgICAgdmFyIHJlc3VsdCA9IGNhbGN1bGF0ZVBERjIwSGFzaChwYXNzd29yZCwgaGFzaERhdGEsIFtdKTsKICAgICAgcmV0dXJuIGNvbXBhcmVCeXRlQXJyYXlzKHJlc3VsdCwgdXNlclBhc3N3b3JkKTsKICAgIH0sCiAgICBnZXRPd25lcktleTogZnVuY3Rpb24gUERGMjBfZ2V0T3duZXJLZXkocGFzc3dvcmQsIG93bmVyS2V5U2FsdCwgdXNlckJ5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93bmVyRW5jcnlwdGlvbikgewogICAgICB2YXIgaGFzaERhdGEgPSBuZXcgVWludDhBcnJheShwYXNzd29yZC5sZW5ndGggKyA1Nik7CiAgICAgIGhhc2hEYXRhLnNldChwYXNzd29yZCwgMCk7CiAgICAgIGhhc2hEYXRhLnNldChvd25lcktleVNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIGhhc2hEYXRhLnNldCh1c2VyQnl0ZXMsIHBhc3N3b3JkLmxlbmd0aCArIG93bmVyS2V5U2FsdC5sZW5ndGgpOwogICAgICB2YXIga2V5ID0gY2FsY3VsYXRlUERGMjBIYXNoKHBhc3N3b3JkLCBoYXNoRGF0YSwgdXNlckJ5dGVzKTsKICAgICAgdmFyIGNpcGhlciA9IG5ldyBBRVMyNTZDaXBoZXIoa2V5KTsKICAgICAgcmV0dXJuIGNpcGhlci5kZWNyeXB0QmxvY2sob3duZXJFbmNyeXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTYpKTsKCiAgICB9LAogICAgZ2V0VXNlcktleTogZnVuY3Rpb24gUERGMjBfZ2V0VXNlcktleShwYXNzd29yZCwgdXNlcktleVNhbHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJFbmNyeXB0aW9uKSB7CiAgICAgIHZhciBoYXNoRGF0YSA9IG5ldyBVaW50OEFycmF5KHBhc3N3b3JkLmxlbmd0aCArIDgpOwogICAgICBoYXNoRGF0YS5zZXQocGFzc3dvcmQsIDApOwogICAgICBoYXNoRGF0YS5zZXQodXNlcktleVNhbHQsIHBhc3N3b3JkLmxlbmd0aCk7CiAgICAgIC8va2V5IGlzIHRoZSBkZWNyeXB0aW9uIGtleSBmb3IgdGhlIFVFIHN0cmluZwogICAgICB2YXIga2V5ID0gY2FsY3VsYXRlUERGMjBIYXNoKHBhc3N3b3JkLCBoYXNoRGF0YSwgW10pOwogICAgICB2YXIgY2lwaGVyID0gbmV3IEFFUzI1NkNpcGhlcihrZXkpOwogICAgICByZXR1cm4gY2lwaGVyLmRlY3J5cHRCbG9jayh1c2VyRW5jcnlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KDE2KSk7CiAgICB9CiAgfTsKICByZXR1cm4gUERGMjA7Cn0pKCk7Cgp2YXIgQ2lwaGVyVHJhbnNmb3JtID0gKGZ1bmN0aW9uIENpcGhlclRyYW5zZm9ybUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ2lwaGVyVHJhbnNmb3JtKHN0cmluZ0NpcGhlckNvbnN0cnVjdG9yLCBzdHJlYW1DaXBoZXJDb25zdHJ1Y3RvcikgewogICAgdGhpcy5zdHJpbmdDaXBoZXJDb25zdHJ1Y3RvciA9IHN0cmluZ0NpcGhlckNvbnN0cnVjdG9yOwogICAgdGhpcy5zdHJlYW1DaXBoZXJDb25zdHJ1Y3RvciA9IHN0cmVhbUNpcGhlckNvbnN0cnVjdG9yOwogIH0KCiAgQ2lwaGVyVHJhbnNmb3JtLnByb3RvdHlwZSA9IHsKICAgIGNyZWF0ZVN0cmVhbTogZnVuY3Rpb24gQ2lwaGVyVHJhbnNmb3JtX2NyZWF0ZVN0cmVhbShzdHJlYW0sIGxlbmd0aCkgewogICAgICB2YXIgY2lwaGVyID0gbmV3IHRoaXMuc3RyZWFtQ2lwaGVyQ29uc3RydWN0b3IoKTsKICAgICAgcmV0dXJuIG5ldyBEZWNyeXB0U3RyZWFtKHN0cmVhbSwgbGVuZ3RoLAogICAgICAgIGZ1bmN0aW9uIGNpcGhlclRyYW5zZm9ybURlY3J5cHRTdHJlYW0oZGF0YSwgZmluYWxpemUpIHsKICAgICAgICAgIHJldHVybiBjaXBoZXIuZGVjcnlwdEJsb2NrKGRhdGEsIGZpbmFsaXplKTsKICAgICAgICB9CiAgICAgICk7CiAgICB9LAogICAgZGVjcnlwdFN0cmluZzogZnVuY3Rpb24gQ2lwaGVyVHJhbnNmb3JtX2RlY3J5cHRTdHJpbmcocykgewogICAgICB2YXIgY2lwaGVyID0gbmV3IHRoaXMuc3RyaW5nQ2lwaGVyQ29uc3RydWN0b3IoKTsKICAgICAgdmFyIGRhdGEgPSBzdHJpbmdUb0J5dGVzKHMpOwogICAgICBkYXRhID0gY2lwaGVyLmRlY3J5cHRCbG9jayhkYXRhLCB0cnVlKTsKICAgICAgcmV0dXJuIGJ5dGVzVG9TdHJpbmcoZGF0YSk7CiAgICB9CiAgfTsKICByZXR1cm4gQ2lwaGVyVHJhbnNmb3JtOwp9KSgpOwoKdmFyIENpcGhlclRyYW5zZm9ybUZhY3RvcnkgPSAoZnVuY3Rpb24gQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeUNsb3N1cmUoKSB7CiAgdmFyIGRlZmF1bHRQYXNzd29yZEJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoWwogICAgMHgyOCwgMHhCRiwgMHg0RSwgMHg1RSwgMHg0RSwgMHg3NSwgMHg4QSwgMHg0MSwKICAgIDB4NjQsIDB4MDAsIDB4NEUsIDB4NTYsIDB4RkYsIDB4RkEsIDB4MDEsIDB4MDgsCiAgICAweDJFLCAweDJFLCAweDAwLCAweEI2LCAweEQwLCAweDY4LCAweDNFLCAweDgwLAogICAgMHgyRiwgMHgwQywgMHhBOSwgMHhGRSwgMHg2NCwgMHg1MywgMHg2OSwgMHg3QV0pOwoKICBmdW5jdGlvbiBjcmVhdGVFbmNyeXB0aW9uS2V5MjAocmV2aXNpb24sIHBhc3N3b3JkLCBvd25lclBhc3N3b3JkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lclZhbGlkYXRpb25TYWx0LCBvd25lcktleVNhbHQsIHVCeXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclBhc3N3b3JkLCB1c2VyVmFsaWRhdGlvblNhbHQsIHVzZXJLZXlTYWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lckVuY3J5cHRpb24sIHVzZXJFbmNyeXB0aW9uLCBwZXJtcykgewogICAgaWYgKHBhc3N3b3JkKSB7CiAgICAgIHZhciBwYXNzd29yZExlbmd0aCA9IE1hdGgubWluKDEyNywgcGFzc3dvcmQubGVuZ3RoKTsKICAgICAgcGFzc3dvcmQgPSBwYXNzd29yZC5zdWJhcnJheSgwLCBwYXNzd29yZExlbmd0aCk7CiAgICB9IGVsc2UgewogICAgICBwYXNzd29yZCA9IFtdOwogICAgfQogICAgdmFyIHBkZkFsZ29yaXRobTsKICAgIGlmIChyZXZpc2lvbiA9PT0gNikgewogICAgICBwZGZBbGdvcml0aG0gPSBuZXcgUERGMjAoKTsKICAgIH0gZWxzZSB7CiAgICAgIHBkZkFsZ29yaXRobSA9IG5ldyBQREYxNygpOwogICAgfQoKICAgIGlmIChwZGZBbGdvcml0aG0pIHsKICAgICAgaWYgKHBkZkFsZ29yaXRobS5jaGVja1VzZXJQYXNzd29yZChwYXNzd29yZCwgdXNlclZhbGlkYXRpb25TYWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJQYXNzd29yZCkpIHsKICAgICAgICByZXR1cm4gcGRmQWxnb3JpdGhtLmdldFVzZXJLZXkocGFzc3dvcmQsIHVzZXJLZXlTYWx0LCB1c2VyRW5jcnlwdGlvbik7CiAgICAgIH0gZWxzZSBpZiAocGRmQWxnb3JpdGhtLmNoZWNrT3duZXJQYXNzd29yZChwYXNzd29yZCwgb3duZXJWYWxpZGF0aW9uU2FsdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVCeXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93bmVyUGFzc3dvcmQpKSB7CiAgICAgICAgcmV0dXJuIHBkZkFsZ29yaXRobS5nZXRPd25lcktleShwYXNzd29yZCwgb3duZXJLZXlTYWx0LCB1Qnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lckVuY3J5cHRpb24pOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIG51bGw7CiAgfQoKICBmdW5jdGlvbiBwcmVwYXJlS2V5RGF0YShmaWxlSWQsIHBhc3N3b3JkLCBvd25lclBhc3N3b3JkLCB1c2VyUGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MsIHJldmlzaW9uLCBrZXlMZW5ndGgsIGVuY3J5cHRNZXRhZGF0YSkgewogICAgdmFyIGhhc2hEYXRhU2l6ZSA9IDQwICsgb3duZXJQYXNzd29yZC5sZW5ndGggKyBmaWxlSWQubGVuZ3RoOwogICAgdmFyIGhhc2hEYXRhID0gbmV3IFVpbnQ4QXJyYXkoaGFzaERhdGFTaXplKSwgaSA9IDAsIGosIG47CiAgICBpZiAocGFzc3dvcmQpIHsKICAgICAgbiA9IE1hdGgubWluKDMyLCBwYXNzd29yZC5sZW5ndGgpOwogICAgICBmb3IgKDsgaSA8IG47ICsraSkgewogICAgICAgIGhhc2hEYXRhW2ldID0gcGFzc3dvcmRbaV07CiAgICAgIH0KICAgIH0KICAgIGogPSAwOwogICAgd2hpbGUgKGkgPCAzMikgewogICAgICBoYXNoRGF0YVtpKytdID0gZGVmYXVsdFBhc3N3b3JkQnl0ZXNbaisrXTsKICAgIH0KICAgIC8vIGFzIG5vdyB0aGUgcGFkZGVkIHBhc3N3b3JkIGluIHRoZSBoYXNoRGF0YVswLi5pXQogICAgZm9yIChqID0gMCwgbiA9IG93bmVyUGFzc3dvcmQubGVuZ3RoOyBqIDwgbjsgKytqKSB7CiAgICAgIGhhc2hEYXRhW2krK10gPSBvd25lclBhc3N3b3JkW2pdOwogICAgfQogICAgaGFzaERhdGFbaSsrXSA9IGZsYWdzICYgMHhGRjsKICAgIGhhc2hEYXRhW2krK10gPSAoZmxhZ3MgPj4gOCkgJiAweEZGOwogICAgaGFzaERhdGFbaSsrXSA9IChmbGFncyA+PiAxNikgJiAweEZGOwogICAgaGFzaERhdGFbaSsrXSA9IChmbGFncyA+Pj4gMjQpICYgMHhGRjsKICAgIGZvciAoaiA9IDAsIG4gPSBmaWxlSWQubGVuZ3RoOyBqIDwgbjsgKytqKSB7CiAgICAgIGhhc2hEYXRhW2krK10gPSBmaWxlSWRbal07CiAgICB9CiAgICBpZiAocmV2aXNpb24gPj0gNCAmJiAhZW5jcnlwdE1ldGFkYXRhKSB7CiAgICAgIGhhc2hEYXRhW2krK10gPSAweEZGOwogICAgICBoYXNoRGF0YVtpKytdID0gMHhGRjsKICAgICAgaGFzaERhdGFbaSsrXSA9IDB4RkY7CiAgICAgIGhhc2hEYXRhW2krK10gPSAweEZGOwogICAgfQogICAgdmFyIGhhc2ggPSBjYWxjdWxhdGVNRDUoaGFzaERhdGEsIDAsIGkpOwogICAgdmFyIGtleUxlbmd0aEluQnl0ZXMgPSBrZXlMZW5ndGggPj4gMzsKICAgIGlmIChyZXZpc2lvbiA+PSAzKSB7CiAgICAgIGZvciAoaiA9IDA7IGogPCA1MDsgKytqKSB7CiAgICAgICAgaGFzaCA9IGNhbGN1bGF0ZU1ENShoYXNoLCAwLCBrZXlMZW5ndGhJbkJ5dGVzKTsKICAgICAgfQogICAgfQogICAgdmFyIGVuY3J5cHRpb25LZXkgPSBoYXNoLnN1YmFycmF5KDAsIGtleUxlbmd0aEluQnl0ZXMpOwogICAgdmFyIGNpcGhlciwgY2hlY2tEYXRhOwoKICAgIGlmIChyZXZpc2lvbiA+PSAzKSB7CiAgICAgIGZvciAoaSA9IDA7IGkgPCAzMjsgKytpKSB7CiAgICAgICAgaGFzaERhdGFbaV0gPSBkZWZhdWx0UGFzc3dvcmRCeXRlc1tpXTsKICAgICAgfQogICAgICBmb3IgKGogPSAwLCBuID0gZmlsZUlkLmxlbmd0aDsgaiA8IG47ICsraikgewogICAgICAgIGhhc2hEYXRhW2krK10gPSBmaWxlSWRbal07CiAgICAgIH0KICAgICAgY2lwaGVyID0gbmV3IEFSQ0ZvdXJDaXBoZXIoZW5jcnlwdGlvbktleSk7CiAgICAgIGNoZWNrRGF0YSA9IGNpcGhlci5lbmNyeXB0QmxvY2soY2FsY3VsYXRlTUQ1KGhhc2hEYXRhLCAwLCBpKSk7CiAgICAgIG4gPSBlbmNyeXB0aW9uS2V5Lmxlbmd0aDsKICAgICAgdmFyIGRlcml2ZWRLZXkgPSBuZXcgVWludDhBcnJheShuKSwgazsKICAgICAgZm9yIChqID0gMTsgaiA8PSAxOTsgKytqKSB7CiAgICAgICAgZm9yIChrID0gMDsgayA8IG47ICsraykgewogICAgICAgICAgZGVyaXZlZEtleVtrXSA9IGVuY3J5cHRpb25LZXlba10gXiBqOwogICAgICAgIH0KICAgICAgICBjaXBoZXIgPSBuZXcgQVJDRm91ckNpcGhlcihkZXJpdmVkS2V5KTsKICAgICAgICBjaGVja0RhdGEgPSBjaXBoZXIuZW5jcnlwdEJsb2NrKGNoZWNrRGF0YSk7CiAgICAgIH0KICAgICAgZm9yIChqID0gMCwgbiA9IGNoZWNrRGF0YS5sZW5ndGg7IGogPCBuOyArK2opIHsKICAgICAgICBpZiAodXNlclBhc3N3b3JkW2pdICE9PSBjaGVja0RhdGFbal0pIHsKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgY2lwaGVyID0gbmV3IEFSQ0ZvdXJDaXBoZXIoZW5jcnlwdGlvbktleSk7CiAgICAgIGNoZWNrRGF0YSA9IGNpcGhlci5lbmNyeXB0QmxvY2soZGVmYXVsdFBhc3N3b3JkQnl0ZXMpOwogICAgICBmb3IgKGogPSAwLCBuID0gY2hlY2tEYXRhLmxlbmd0aDsgaiA8IG47ICsraikgewogICAgICAgIGlmICh1c2VyUGFzc3dvcmRbal0gIT09IGNoZWNrRGF0YVtqXSkgewogICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICByZXR1cm4gZW5jcnlwdGlvbktleTsKICB9CgogIGZ1bmN0aW9uIGRlY29kZVVzZXJQYXNzd29yZChwYXNzd29yZCwgb3duZXJQYXNzd29yZCwgcmV2aXNpb24sIGtleUxlbmd0aCkgewogICAgdmFyIGhhc2hEYXRhID0gbmV3IFVpbnQ4QXJyYXkoMzIpLCBpID0gMCwgaiwgbjsKICAgIG4gPSBNYXRoLm1pbigzMiwgcGFzc3dvcmQubGVuZ3RoKTsKICAgIGZvciAoOyBpIDwgbjsgKytpKSB7CiAgICAgIGhhc2hEYXRhW2ldID0gcGFzc3dvcmRbaV07CiAgICB9CiAgICBqID0gMDsKICAgIHdoaWxlIChpIDwgMzIpIHsKICAgICAgaGFzaERhdGFbaSsrXSA9IGRlZmF1bHRQYXNzd29yZEJ5dGVzW2orK107CiAgICB9CiAgICB2YXIgaGFzaCA9IGNhbGN1bGF0ZU1ENShoYXNoRGF0YSwgMCwgaSk7CiAgICB2YXIga2V5TGVuZ3RoSW5CeXRlcyA9IGtleUxlbmd0aCA+PiAzOwogICAgaWYgKHJldmlzaW9uID49IDMpIHsKICAgICAgZm9yIChqID0gMDsgaiA8IDUwOyArK2opIHsKICAgICAgICBoYXNoID0gY2FsY3VsYXRlTUQ1KGhhc2gsIDAsIGhhc2gubGVuZ3RoKTsKICAgICAgfQogICAgfQoKICAgIHZhciBjaXBoZXIsIHVzZXJQYXNzd29yZDsKICAgIGlmIChyZXZpc2lvbiA+PSAzKSB7CiAgICAgIHVzZXJQYXNzd29yZCA9IG93bmVyUGFzc3dvcmQ7CiAgICAgIHZhciBkZXJpdmVkS2V5ID0gbmV3IFVpbnQ4QXJyYXkoa2V5TGVuZ3RoSW5CeXRlcyksIGs7CiAgICAgIGZvciAoaiA9IDE5OyBqID49IDA7IGotLSkgewogICAgICAgIGZvciAoayA9IDA7IGsgPCBrZXlMZW5ndGhJbkJ5dGVzOyArK2spIHsKICAgICAgICAgIGRlcml2ZWRLZXlba10gPSBoYXNoW2tdIF4gajsKICAgICAgICB9CiAgICAgICAgY2lwaGVyID0gbmV3IEFSQ0ZvdXJDaXBoZXIoZGVyaXZlZEtleSk7CiAgICAgICAgdXNlclBhc3N3b3JkID0gY2lwaGVyLmVuY3J5cHRCbG9jayh1c2VyUGFzc3dvcmQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBjaXBoZXIgPSBuZXcgQVJDRm91ckNpcGhlcihoYXNoLnN1YmFycmF5KDAsIGtleUxlbmd0aEluQnl0ZXMpKTsKICAgICAgdXNlclBhc3N3b3JkID0gY2lwaGVyLmVuY3J5cHRCbG9jayhvd25lclBhc3N3b3JkKTsKICAgIH0KICAgIHJldHVybiB1c2VyUGFzc3dvcmQ7CiAgfQoKICB2YXIgaWRlbnRpdHlOYW1lID0gTmFtZS5nZXQoJ0lkZW50aXR5Jyk7CgogIGZ1bmN0aW9uIENpcGhlclRyYW5zZm9ybUZhY3RvcnkoZGljdCwgZmlsZUlkLCBwYXNzd29yZCkgewogICAgdmFyIGZpbHRlciA9IGRpY3QuZ2V0KCdGaWx0ZXInKTsKICAgIGlmICghaXNOYW1lKGZpbHRlcikgfHwgZmlsdGVyLm5hbWUgIT09ICdTdGFuZGFyZCcpIHsKICAgICAgZXJyb3IoJ3Vua25vd24gZW5jcnlwdGlvbiBtZXRob2QnKTsKICAgIH0KICAgIHRoaXMuZGljdCA9IGRpY3Q7CiAgICB2YXIgYWxnb3JpdGhtID0gZGljdC5nZXQoJ1YnKTsKICAgIGlmICghaXNJbnQoYWxnb3JpdGhtKSB8fAogICAgICAgIChhbGdvcml0aG0gIT09IDEgJiYgYWxnb3JpdGhtICE9PSAyICYmIGFsZ29yaXRobSAhPT0gNCAmJgogICAgICAgIGFsZ29yaXRobSAhPT0gNSkpIHsKICAgICAgZXJyb3IoJ3Vuc3VwcG9ydGVkIGVuY3J5cHRpb24gYWxnb3JpdGhtJyk7CiAgICB9CiAgICB0aGlzLmFsZ29yaXRobSA9IGFsZ29yaXRobTsKICAgIHZhciBrZXlMZW5ndGggPSBkaWN0LmdldCgnTGVuZ3RoJykgfHwgNDA7CiAgICBpZiAoIWlzSW50KGtleUxlbmd0aCkgfHwKICAgICAgICBrZXlMZW5ndGggPCA0MCB8fCAoa2V5TGVuZ3RoICUgOCkgIT09IDApIHsKICAgICAgZXJyb3IoJ2ludmFsaWQga2V5IGxlbmd0aCcpOwogICAgfQoKICAgIC8vIHByZXBhcmUga2V5cwogICAgdmFyIG93bmVyUGFzc3dvcmQgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdPJykpLnN1YmFycmF5KDAsIDMyKTsKICAgIHZhciB1c2VyUGFzc3dvcmQgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdVJykpLnN1YmFycmF5KDAsIDMyKTsKICAgIHZhciBmbGFncyA9IGRpY3QuZ2V0KCdQJyk7CiAgICB2YXIgcmV2aXNpb24gPSBkaWN0LmdldCgnUicpOwogICAgLy8gbWVhbmluZ2Z1bCB3aGVuIFYgaXMgNCBvciA1CiAgICB2YXIgZW5jcnlwdE1ldGFkYXRhID0gKChhbGdvcml0aG0gPT09IDQgfHwgYWxnb3JpdGhtID09PSA1KSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICBkaWN0LmdldCgnRW5jcnlwdE1ldGFkYXRhJykgIT09IGZhbHNlKTsKICAgIHRoaXMuZW5jcnlwdE1ldGFkYXRhID0gZW5jcnlwdE1ldGFkYXRhOwoKICAgIHZhciBmaWxlSWRCeXRlcyA9IHN0cmluZ1RvQnl0ZXMoZmlsZUlkKTsKICAgIHZhciBwYXNzd29yZEJ5dGVzOwogICAgaWYgKHBhc3N3b3JkKSB7CiAgICAgIHBhc3N3b3JkQnl0ZXMgPSBzdHJpbmdUb0J5dGVzKHBhc3N3b3JkKTsKICAgIH0KCiAgICB2YXIgZW5jcnlwdGlvbktleTsKICAgIGlmIChhbGdvcml0aG0gIT09IDUpIHsKICAgICAgZW5jcnlwdGlvbktleSA9IHByZXBhcmVLZXlEYXRhKGZpbGVJZEJ5dGVzLCBwYXNzd29yZEJ5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3duZXJQYXNzd29yZCwgdXNlclBhc3N3b3JkLCBmbGFncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmlzaW9uLCBrZXlMZW5ndGgsIGVuY3J5cHRNZXRhZGF0YSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgdmFyIG93bmVyVmFsaWRhdGlvblNhbHQgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdPJykpLnN1YmFycmF5KDMyLCA0MCk7CiAgICAgIHZhciBvd25lcktleVNhbHQgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdPJykpLnN1YmFycmF5KDQwLCA0OCk7CiAgICAgIHZhciB1Qnl0ZXMgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdVJykpLnN1YmFycmF5KDAsIDQ4KTsKICAgICAgdmFyIHVzZXJWYWxpZGF0aW9uU2FsdCA9IHN0cmluZ1RvQnl0ZXMoZGljdC5nZXQoJ1UnKSkuc3ViYXJyYXkoMzIsIDQwKTsKICAgICAgdmFyIHVzZXJLZXlTYWx0ID0gc3RyaW5nVG9CeXRlcyhkaWN0LmdldCgnVScpKS5zdWJhcnJheSg0MCwgNDgpOwogICAgICB2YXIgb3duZXJFbmNyeXB0aW9uID0gc3RyaW5nVG9CeXRlcyhkaWN0LmdldCgnT0UnKSk7CiAgICAgIHZhciB1c2VyRW5jcnlwdGlvbiA9IHN0cmluZ1RvQnl0ZXMoZGljdC5nZXQoJ1VFJykpOwogICAgICB2YXIgcGVybXMgPSBzdHJpbmdUb0J5dGVzKGRpY3QuZ2V0KCdQZXJtcycpKTsKICAgICAgZW5jcnlwdGlvbktleSA9CiAgICAgICAgY3JlYXRlRW5jcnlwdGlvbktleTIwKHJldmlzaW9uLCBwYXNzd29yZEJ5dGVzLAogICAgICAgICAgb3duZXJQYXNzd29yZCwgb3duZXJWYWxpZGF0aW9uU2FsdCwKICAgICAgICAgIG93bmVyS2V5U2FsdCwgdUJ5dGVzLAogICAgICAgICAgdXNlclBhc3N3b3JkLCB1c2VyVmFsaWRhdGlvblNhbHQsCiAgICAgICAgICB1c2VyS2V5U2FsdCwgb3duZXJFbmNyeXB0aW9uLAogICAgICAgICAgdXNlckVuY3J5cHRpb24sIHBlcm1zKTsKICAgIH0KICAgIGlmICghZW5jcnlwdGlvbktleSAmJiAhcGFzc3dvcmQpIHsKICAgICAgdGhyb3cgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKCdObyBwYXNzd29yZCBnaXZlbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzd29yZFJlc3BvbnNlcy5ORUVEX1BBU1NXT1JEKTsKICAgIH0gZWxzZSBpZiAoIWVuY3J5cHRpb25LZXkgJiYgcGFzc3dvcmQpIHsKICAgICAgLy8gQXR0ZW1wdGluZyB1c2UgdGhlIHBhc3N3b3JkIGFzIGFuIG93bmVyIHBhc3N3b3JkCiAgICAgIHZhciBkZWNvZGVkUGFzc3dvcmQgPSBkZWNvZGVVc2VyUGFzc3dvcmQocGFzc3dvcmRCeXRlcywgb3duZXJQYXNzd29yZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZpc2lvbiwga2V5TGVuZ3RoKTsKICAgICAgZW5jcnlwdGlvbktleSA9IHByZXBhcmVLZXlEYXRhKGZpbGVJZEJ5dGVzLCBkZWNvZGVkUGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lclBhc3N3b3JkLCB1c2VyUGFzc3dvcmQsIGZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb24sIGtleUxlbmd0aCwgZW5jcnlwdE1ldGFkYXRhKTsKICAgIH0KCiAgICBpZiAoIWVuY3J5cHRpb25LZXkpIHsKICAgICAgdGhyb3cgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKCdJbmNvcnJlY3QgUGFzc3dvcmQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmRSZXNwb25zZXMuSU5DT1JSRUNUX1BBU1NXT1JEKTsKICAgIH0KCiAgICB0aGlzLmVuY3J5cHRpb25LZXkgPSBlbmNyeXB0aW9uS2V5OwoKICAgIGlmIChhbGdvcml0aG0gPj0gNCkgewogICAgICB0aGlzLmNmID0gZGljdC5nZXQoJ0NGJyk7CiAgICAgIHRoaXMuc3RtZiA9IGRpY3QuZ2V0KCdTdG1GJykgfHwgaWRlbnRpdHlOYW1lOwogICAgICB0aGlzLnN0cmYgPSBkaWN0LmdldCgnU3RyRicpIHx8IGlkZW50aXR5TmFtZTsKICAgICAgdGhpcy5lZmYgPSBkaWN0LmdldCgnRUZGJykgfHwgdGhpcy5zdG1mOwogICAgfQogIH0KCiAgZnVuY3Rpb24gYnVpbGRPYmplY3RLZXkobnVtLCBnZW4sIGVuY3J5cHRpb25LZXksIGlzQWVzKSB7CiAgICB2YXIga2V5ID0gbmV3IFVpbnQ4QXJyYXkoZW5jcnlwdGlvbktleS5sZW5ndGggKyA5KSwgaSwgbjsKICAgIGZvciAoaSA9IDAsIG4gPSBlbmNyeXB0aW9uS2V5Lmxlbmd0aDsgaSA8IG47ICsraSkgewogICAgICBrZXlbaV0gPSBlbmNyeXB0aW9uS2V5W2ldOwogICAgfQogICAga2V5W2krK10gPSBudW0gJiAweEZGOwogICAga2V5W2krK10gPSAobnVtID4+IDgpICYgMHhGRjsKICAgIGtleVtpKytdID0gKG51bSA+PiAxNikgJiAweEZGOwogICAga2V5W2krK10gPSBnZW4gJiAweEZGOwogICAga2V5W2krK10gPSAoZ2VuID4+IDgpICYgMHhGRjsKICAgIGlmIChpc0FlcykgewogICAgICBrZXlbaSsrXSA9IDB4NzM7CiAgICAgIGtleVtpKytdID0gMHg0MTsKICAgICAga2V5W2krK10gPSAweDZDOwogICAgICBrZXlbaSsrXSA9IDB4NTQ7CiAgICB9CiAgICB2YXIgaGFzaCA9IGNhbGN1bGF0ZU1ENShrZXksIDAsIGkpOwogICAgcmV0dXJuIGhhc2guc3ViYXJyYXkoMCwgTWF0aC5taW4oZW5jcnlwdGlvbktleS5sZW5ndGggKyA1LCAxNikpOwogIH0KCiAgZnVuY3Rpb24gYnVpbGRDaXBoZXJDb25zdHJ1Y3RvcihjZiwgbmFtZSwgbnVtLCBnZW4sIGtleSkgewogICAgdmFyIGNyeXB0RmlsdGVyID0gY2YuZ2V0KG5hbWUubmFtZSk7CiAgICB2YXIgY2ZtOwogICAgaWYgKGNyeXB0RmlsdGVyICE9PSBudWxsICYmIGNyeXB0RmlsdGVyICE9PSB1bmRlZmluZWQpIHsKICAgICAgY2ZtID0gY3J5cHRGaWx0ZXIuZ2V0KCdDRk0nKTsKICAgIH0KICAgIGlmICghY2ZtIHx8IGNmbS5uYW1lID09PSAnTm9uZScpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNpcGhlclRyYW5zZm9ybUZhY3RvcnlCdWlsZENpcGhlckNvbnN0cnVjdG9yTm9uZSgpIHsKICAgICAgICByZXR1cm4gbmV3IE51bGxDaXBoZXIoKTsKICAgICAgfTsKICAgIH0KICAgIGlmICgnVjInID09PSBjZm0ubmFtZSkgewogICAgICByZXR1cm4gZnVuY3Rpb24gY2lwaGVyVHJhbnNmb3JtRmFjdG9yeUJ1aWxkQ2lwaGVyQ29uc3RydWN0b3JWMigpIHsKICAgICAgICByZXR1cm4gbmV3IEFSQ0ZvdXJDaXBoZXIoYnVpbGRPYmplY3RLZXkobnVtLCBnZW4sIGtleSwgZmFsc2UpKTsKICAgICAgfTsKICAgIH0KICAgIGlmICgnQUVTVjInID09PSBjZm0ubmFtZSkgewogICAgICByZXR1cm4gZnVuY3Rpb24gY2lwaGVyVHJhbnNmb3JtRmFjdG9yeUJ1aWxkQ2lwaGVyQ29uc3RydWN0b3JBRVNWMigpIHsKICAgICAgICByZXR1cm4gbmV3IEFFUzEyOENpcGhlcihidWlsZE9iamVjdEtleShudW0sIGdlbiwga2V5LCB0cnVlKSk7CiAgICAgIH07CiAgICB9CiAgICBpZiAoJ0FFU1YzJyA9PT0gY2ZtLm5hbWUpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNpcGhlclRyYW5zZm9ybUZhY3RvcnlCdWlsZENpcGhlckNvbnN0cnVjdG9yQUVTVjMoKSB7CiAgICAgICAgcmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIoa2V5KTsKICAgICAgfTsKICAgIH0KICAgIGVycm9yKCdVbmtub3duIGNyeXB0byBtZXRob2QnKTsKICB9CgogIENpcGhlclRyYW5zZm9ybUZhY3RvcnkucHJvdG90eXBlID0gewogICAgY3JlYXRlQ2lwaGVyVHJhbnNmb3JtOgogICAgICBmdW5jdGlvbiBDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5X2NyZWF0ZUNpcGhlclRyYW5zZm9ybShudW0sIGdlbikgewogICAgICBpZiAodGhpcy5hbGdvcml0aG0gPT09IDQgfHwgdGhpcy5hbGdvcml0aG0gPT09IDUpIHsKICAgICAgICByZXR1cm4gbmV3IENpcGhlclRyYW5zZm9ybSgKICAgICAgICAgIGJ1aWxkQ2lwaGVyQ29uc3RydWN0b3IodGhpcy5jZiwgdGhpcy5zdG1mLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW0sIGdlbiwgdGhpcy5lbmNyeXB0aW9uS2V5KSwKICAgICAgICAgIGJ1aWxkQ2lwaGVyQ29uc3RydWN0b3IodGhpcy5jZiwgdGhpcy5zdHJmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW0sIGdlbiwgdGhpcy5lbmNyeXB0aW9uS2V5KSk7CiAgICAgIH0KICAgICAgLy8gYWxnb3JpdGhtcyAxIGFuZCAyCiAgICAgIHZhciBrZXkgPSBidWlsZE9iamVjdEtleShudW0sIGdlbiwgdGhpcy5lbmNyeXB0aW9uS2V5LCBmYWxzZSk7CiAgICAgIHZhciBjaXBoZXJDb25zdHJ1Y3RvciA9IGZ1bmN0aW9uIGJ1aWxkQ2lwaGVyQ2lwaGVyQ29uc3RydWN0b3IoKSB7CiAgICAgICAgcmV0dXJuIG5ldyBBUkNGb3VyQ2lwaGVyKGtleSk7CiAgICAgIH07CiAgICAgIHJldHVybiBuZXcgQ2lwaGVyVHJhbnNmb3JtKGNpcGhlckNvbnN0cnVjdG9yLCBjaXBoZXJDb25zdHJ1Y3Rvcik7CiAgICB9CiAgfTsKCiAgcmV0dXJuIENpcGhlclRyYW5zZm9ybUZhY3Rvcnk7Cn0pKCk7CgoKdmFyIFBhdHRlcm5UeXBlID0gewogIEZVTkNUSU9OX0JBU0VEOiAxLAogIEFYSUFMOiAyLAogIFJBRElBTDogMywKICBGUkVFX0ZPUk1fTUVTSDogNCwKICBMQVRUSUNFX0ZPUk1fTUVTSDogNSwKICBDT09OU19QQVRDSF9NRVNIOiA2LAogIFRFTlNPUl9QQVRDSF9NRVNIOiA3Cn07Cgp2YXIgUGF0dGVybiA9IChmdW5jdGlvbiBQYXR0ZXJuQ2xvc3VyZSgpIHsKICAvLyBDb25zdHJ1Y3RvciBzaG91bGQgZGVmaW5lIHRoaXMuZ2V0UGF0dGVybgogIGZ1bmN0aW9uIFBhdHRlcm4oKSB7CiAgICBlcnJvcignc2hvdWxkIG5vdCBjYWxsIFBhdHRlcm4gY29uc3RydWN0b3InKTsKICB9CgogIFBhdHRlcm4ucHJvdG90eXBlID0gewogICAgLy8gSW5wdXQ6IGN1cnJlbnQgQ2FudmFzIGNvbnRleHQKICAgIC8vIE91dHB1dDogdGhlIGFwcHJvcHJpYXRlIGZpbGxTdHlsZSBvciBzdHJva2VTdHlsZQogICAgZ2V0UGF0dGVybjogZnVuY3Rpb24gUGF0dGVybl9nZXRQYXR0ZXJuKGN0eCkgewogICAgICBlcnJvcignU2hvdWxkIG5vdCBjYWxsIFBhdHRlcm4uZ2V0U3R5bGU6ICcgKyBjdHgpOwogICAgfQogIH07CgogIFBhdHRlcm4ucGFyc2VTaGFkaW5nID0gZnVuY3Rpb24gUGF0dGVybl9wYXJzZVNoYWRpbmcoc2hhZGluZywgbWF0cml4LCB4cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzKSB7CgogICAgdmFyIGRpY3QgPSBpc1N0cmVhbShzaGFkaW5nKSA/IHNoYWRpbmcuZGljdCA6IHNoYWRpbmc7CiAgICB2YXIgdHlwZSA9IGRpY3QuZ2V0KCdTaGFkaW5nVHlwZScpOwoKICAgIHRyeSB7CiAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgIGNhc2UgUGF0dGVyblR5cGUuQVhJQUw6CiAgICAgICAgY2FzZSBQYXR0ZXJuVHlwZS5SQURJQUw6CiAgICAgICAgICAvLyBCb3RoIHJhZGlhbCBhbmQgYXhpYWwgc2hhZGluZ3MgYXJlIGhhbmRsZWQgYnkgUmFkaWFsQXhpYWwgc2hhZGluZy4KICAgICAgICAgIHJldHVybiBuZXcgU2hhZGluZ3MuUmFkaWFsQXhpYWwoZGljdCwgbWF0cml4LCB4cmVmLCByZXMpOwogICAgICAgIGNhc2UgUGF0dGVyblR5cGUuRlJFRV9GT1JNX01FU0g6CiAgICAgICAgY2FzZSBQYXR0ZXJuVHlwZS5MQVRUSUNFX0ZPUk1fTUVTSDoKICAgICAgICBjYXNlIFBhdHRlcm5UeXBlLkNPT05TX1BBVENIX01FU0g6CiAgICAgICAgY2FzZSBQYXR0ZXJuVHlwZS5URU5TT1JfUEFUQ0hfTUVTSDoKICAgICAgICAgIHJldHVybiBuZXcgU2hhZGluZ3MuTWVzaChzaGFkaW5nLCBtYXRyaXgsIHhyZWYsIHJlcyk7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBQYXR0ZXJuVHlwZTogJyArIHR5cGUpOwogICAgICB9CiAgICB9IGNhdGNoIChleCkgewogICAgICBpZiAoZXggaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikgewogICAgICAgIHRocm93IGV4OwogICAgICB9CiAgICAgIFVuc3VwcG9ydGVkTWFuYWdlci5ub3RpZnkoVU5TVVBQT1JURURfRkVBVFVSRVMuc2hhZGluZ1BhdHRlcm4pOwogICAgICB3YXJuKGV4KTsKICAgICAgcmV0dXJuIG5ldyBTaGFkaW5ncy5EdW1teSgpOwogICAgfQogIH07CiAgcmV0dXJuIFBhdHRlcm47Cn0pKCk7Cgp2YXIgU2hhZGluZ3MgPSB7fTsKCi8vIEEgc21hbGwgbnVtYmVyIHRvIG9mZnNldCB0aGUgZmlyc3QvbGFzdCBjb2xvciBzdG9wcyBzbyB3ZSBjYW4gaW5zZXJ0IG9uZXMgdG8KLy8gc3VwcG9ydCBleHRlbmQuICBOdW1iZXIuTUlOX1ZBTFVFIGFwcGVhcnMgdG8gYmUgdG9vIHNtYWxsIGFuZCBicmVha3MgdGhlCi8vIGV4dGVuZC4gMWUtNyB3b3JrcyBpbiBGRiBidXQgY2hyb21lIHNlZW1zIHRvIHVzZSBhbiBldmVuIHNtYWxsZXIgc2l6ZWQgbnVtYmVyCi8vIGludGVybmFsbHkgc28gd2UgaGF2ZSB0byBnbyBiaWdnZXIuClNoYWRpbmdzLlNNQUxMX05VTUJFUiA9IDFlLTI7CgovLyBSYWRpYWwgYW5kIGF4aWFsIHNoYWRpbmcgaGF2ZSB2ZXJ5IHNpbWlsYXIgaW1wbGVtZW50YXRpb25zCi8vIElmIG5lZWRlZCwgdGhlIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgYnJva2VuIGludG8gdHdvIGNsYXNzZXMKU2hhZGluZ3MuUmFkaWFsQXhpYWwgPSAoZnVuY3Rpb24gUmFkaWFsQXhpYWxDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFJhZGlhbEF4aWFsKGRpY3QsIG1hdHJpeCwgeHJlZiwgcmVzKSB7CiAgICB0aGlzLm1hdHJpeCA9IG1hdHJpeDsKICAgIHRoaXMuY29vcmRzQXJyID0gZGljdC5nZXQoJ0Nvb3JkcycpOwogICAgdGhpcy5zaGFkaW5nVHlwZSA9IGRpY3QuZ2V0KCdTaGFkaW5nVHlwZScpOwogICAgdGhpcy50eXBlID0gJ1BhdHRlcm4nOwogICAgdmFyIGNzID0gZGljdC5nZXQoJ0NvbG9yU3BhY2UnLCAnQ1MnKTsKICAgIGNzID0gQ29sb3JTcGFjZS5wYXJzZShjcywgeHJlZiwgcmVzKTsKICAgIHRoaXMuY3MgPSBjczsKCiAgICB2YXIgdDAgPSAwLjAsIHQxID0gMS4wOwogICAgaWYgKGRpY3QuaGFzKCdEb21haW4nKSkgewogICAgICB2YXIgZG9tYWluQXJyID0gZGljdC5nZXQoJ0RvbWFpbicpOwogICAgICB0MCA9IGRvbWFpbkFyclswXTsKICAgICAgdDEgPSBkb21haW5BcnJbMV07CiAgICB9CgogICAgdmFyIGV4dGVuZFN0YXJ0ID0gZmFsc2UsIGV4dGVuZEVuZCA9IGZhbHNlOwogICAgaWYgKGRpY3QuaGFzKCdFeHRlbmQnKSkgewogICAgICB2YXIgZXh0ZW5kQXJyID0gZGljdC5nZXQoJ0V4dGVuZCcpOwogICAgICBleHRlbmRTdGFydCA9IGV4dGVuZEFyclswXTsKICAgICAgZXh0ZW5kRW5kID0gZXh0ZW5kQXJyWzFdOwogICAgfQoKICAgIGlmICh0aGlzLnNoYWRpbmdUeXBlID09PSBQYXR0ZXJuVHlwZS5SQURJQUwgJiYKICAgICAgICghZXh0ZW5kU3RhcnQgfHwgIWV4dGVuZEVuZCkpIHsKICAgICAgLy8gUmFkaWFsIGdyYWRpZW50IG9ubHkgY3VycmVudGx5IHdvcmtzIGlmIGVpdGhlciBjaXJjbGUgaXMgZnVsbHkgd2l0aGluCiAgICAgIC8vIHRoZSBvdGhlciBjaXJjbGUuCiAgICAgIHZhciB4MSA9IHRoaXMuY29vcmRzQXJyWzBdOwogICAgICB2YXIgeTEgPSB0aGlzLmNvb3Jkc0FyclsxXTsKICAgICAgdmFyIHIxID0gdGhpcy5jb29yZHNBcnJbMl07CiAgICAgIHZhciB4MiA9IHRoaXMuY29vcmRzQXJyWzNdOwogICAgICB2YXIgeTIgPSB0aGlzLmNvb3Jkc0Fycls0XTsKICAgICAgdmFyIHIyID0gdGhpcy5jb29yZHNBcnJbNV07CiAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydCgoeDEgLSB4MikgKiAoeDEgLSB4MikgKyAoeTEgLSB5MikgKiAoeTEgLSB5MikpOwogICAgICBpZiAocjEgPD0gcjIgKyBkaXN0YW5jZSAmJgogICAgICAgICAgcjIgPD0gcjEgKyBkaXN0YW5jZSkgewogICAgICAgIHdhcm4oJ1Vuc3VwcG9ydGVkIHJhZGlhbCBncmFkaWVudC4nKTsKICAgICAgfQogICAgfQoKICAgIHRoaXMuZXh0ZW5kU3RhcnQgPSBleHRlbmRTdGFydDsKICAgIHRoaXMuZXh0ZW5kRW5kID0gZXh0ZW5kRW5kOwoKICAgIHZhciBmbk9iaiA9IGRpY3QuZ2V0KCdGdW5jdGlvbicpOwogICAgdmFyIGZuID0gUERGRnVuY3Rpb24ucGFyc2VBcnJheSh4cmVmLCBmbk9iaik7CgogICAgLy8gMTAgc2FtcGxlcyBzZWVtcyBnb29kIGVub3VnaCBmb3Igbm93LCBidXQgcHJvYmFibHkgd29uJ3Qgd29yawogICAgLy8gaWYgdGhlcmUgYXJlIHNoYXJwIGNvbG9yIGNoYW5nZXMuIElkZWFsbHksIHdlIHdvdWxkIGltcGxlbWVudAogICAgLy8gdGhlIHNwZWMgZmFpdGhmdWxseSBhbmQgYWRkIGxvc3NsZXNzIG9wdGltaXphdGlvbnMuCiAgICB2YXIgZGlmZiA9IHQxIC0gdDA7CiAgICB2YXIgc3RlcCA9IGRpZmYgLyAxMDsKCiAgICB2YXIgY29sb3JTdG9wcyA9IHRoaXMuY29sb3JTdG9wcyA9IFtdOwoKICAgIC8vIFByb3RlY3QgYWdhaW5zdCBiYWQgZG9tYWlucyBzbyB3ZSBkb24ndCBlbmQgdXAgaW4gYW4gaW5maW50ZSBsb29wIGJlbG93LgogICAgaWYgKHQwID49IHQxIHx8IHN0ZXAgPD0gMCkgewogICAgICAvLyBBY3JvYmF0IGRvZXNuJ3Qgc2VlbSB0byBoYW5kbGUgdGhlc2UgY2FzZXMgc28gd2UnbGwgaWdub3JlIGZvcgogICAgICAvLyBub3cuCiAgICAgIGluZm8oJ0JhZCBzaGFkaW5nIGRvbWFpbi4nKTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBjb2xvciA9IG5ldyBGbG9hdDMyQXJyYXkoY3MubnVtQ29tcHMpLCByYXRpbyA9IG5ldyBGbG9hdDMyQXJyYXkoMSk7CiAgICB2YXIgcmdiQ29sb3I7CiAgICBmb3IgKHZhciBpID0gdDA7IGkgPD0gdDE7IGkgKz0gc3RlcCkgewogICAgICByYXRpb1swXSA9IGk7CiAgICAgIGZuKHJhdGlvLCAwLCBjb2xvciwgMCk7CiAgICAgIHJnYkNvbG9yID0gY3MuZ2V0UmdiKGNvbG9yLCAwKTsKICAgICAgdmFyIGNzc0NvbG9yID0gVXRpbC5tYWtlQ3NzUmdiKHJnYkNvbG9yWzBdLCByZ2JDb2xvclsxXSwgcmdiQ29sb3JbMl0pOwogICAgICBjb2xvclN0b3BzLnB1c2goWyhpIC0gdDApIC8gZGlmZiwgY3NzQ29sb3JdKTsKICAgIH0KCiAgICB2YXIgYmFja2dyb3VuZCA9ICd0cmFuc3BhcmVudCc7CiAgICBpZiAoZGljdC5oYXMoJ0JhY2tncm91bmQnKSkgewogICAgICByZ2JDb2xvciA9IGNzLmdldFJnYihkaWN0LmdldCgnQmFja2dyb3VuZCcpLCAwKTsKICAgICAgYmFja2dyb3VuZCA9IFV0aWwubWFrZUNzc1JnYihyZ2JDb2xvclswXSwgcmdiQ29sb3JbMV0sIHJnYkNvbG9yWzJdKTsKICAgIH0KCiAgICBpZiAoIWV4dGVuZFN0YXJ0KSB7CiAgICAgIC8vIEluc2VydCBhIGNvbG9yIHN0b3AgYXQgdGhlIGZyb250IGFuZCBvZmZzZXQgdGhlIGZpcnN0IHJlYWwgY29sb3Igc3RvcAogICAgICAvLyBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIG9uZSB3ZSBpbnNlcnQuCiAgICAgIGNvbG9yU3RvcHMudW5zaGlmdChbMCwgYmFja2dyb3VuZF0pOwogICAgICBjb2xvclN0b3BzWzFdWzBdICs9IFNoYWRpbmdzLlNNQUxMX05VTUJFUjsKICAgIH0KICAgIGlmICghZXh0ZW5kRW5kKSB7CiAgICAgIC8vIFNhbWUgaWRlYSBhcyBhYm92ZSBpbiBleHRlbmRTdGFydCBidXQgZm9yIHRoZSBlbmQuCiAgICAgIGNvbG9yU3RvcHNbY29sb3JTdG9wcy5sZW5ndGggLSAxXVswXSAtPSBTaGFkaW5ncy5TTUFMTF9OVU1CRVI7CiAgICAgIGNvbG9yU3RvcHMucHVzaChbMSwgYmFja2dyb3VuZF0pOwogICAgfQoKICAgIHRoaXMuY29sb3JTdG9wcyA9IGNvbG9yU3RvcHM7CiAgfQoKICBSYWRpYWxBeGlhbC5wcm90b3R5cGUgPSB7CiAgICBnZXRJUjogZnVuY3Rpb24gUmFkaWFsQXhpYWxfZ2V0SVIoKSB7CiAgICAgIHZhciBjb29yZHNBcnIgPSB0aGlzLmNvb3Jkc0FycjsKICAgICAgdmFyIHNoYWRpbmdUeXBlID0gdGhpcy5zaGFkaW5nVHlwZTsKICAgICAgdmFyIHR5cGUsIHAwLCBwMSwgcjAsIHIxOwogICAgICBpZiAoc2hhZGluZ1R5cGUgPT09IFBhdHRlcm5UeXBlLkFYSUFMKSB7CiAgICAgICAgcDAgPSBbY29vcmRzQXJyWzBdLCBjb29yZHNBcnJbMV1dOwogICAgICAgIHAxID0gW2Nvb3Jkc0FyclsyXSwgY29vcmRzQXJyWzNdXTsKICAgICAgICByMCA9IG51bGw7CiAgICAgICAgcjEgPSBudWxsOwogICAgICAgIHR5cGUgPSAnYXhpYWwnOwogICAgICB9IGVsc2UgaWYgKHNoYWRpbmdUeXBlID09PSBQYXR0ZXJuVHlwZS5SQURJQUwpIHsKICAgICAgICBwMCA9IFtjb29yZHNBcnJbMF0sIGNvb3Jkc0FyclsxXV07CiAgICAgICAgcDEgPSBbY29vcmRzQXJyWzNdLCBjb29yZHNBcnJbNF1dOwogICAgICAgIHIwID0gY29vcmRzQXJyWzJdOwogICAgICAgIHIxID0gY29vcmRzQXJyWzVdOwogICAgICAgIHR5cGUgPSAncmFkaWFsJzsKICAgICAgfSBlbHNlIHsKICAgICAgICBlcnJvcignZ2V0UGF0dGVybiB0eXBlIHVua25vd246ICcgKyBzaGFkaW5nVHlwZSk7CiAgICAgIH0KCiAgICAgIHZhciBtYXRyaXggPSB0aGlzLm1hdHJpeDsKICAgICAgaWYgKG1hdHJpeCkgewogICAgICAgIHAwID0gVXRpbC5hcHBseVRyYW5zZm9ybShwMCwgbWF0cml4KTsKICAgICAgICBwMSA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0ocDEsIG1hdHJpeCk7CiAgICAgIH0KCiAgICAgIHJldHVybiBbJ1JhZGlhbEF4aWFsJywgdHlwZSwgdGhpcy5jb2xvclN0b3BzLCBwMCwgcDEsIHIwLCByMV07CiAgICB9CiAgfTsKCiAgcmV0dXJuIFJhZGlhbEF4aWFsOwp9KSgpOwoKLy8gQWxsIG1lc2ggc2hhZGluZy4gRm9yIG5vdywgdGhleSB3aWxsIGJlIHByZXNlbnRlZCBhcyBzZXQgb2YgdGhlIHRyaWFuZ2xlcwovLyB0byBiZSBkcmF3biBvbiB0aGUgY2FudmFzIGFuZCByZ2IgY29sb3IgZm9yIGVhY2ggdmVydGV4LgpTaGFkaW5ncy5NZXNoID0gKGZ1bmN0aW9uIE1lc2hDbG9zdXJlKCkgewogIGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXIoc3RyZWFtLCBjb250ZXh0KSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7CiAgICB0aGlzLmJ1ZmZlciA9IDA7CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IDA7CgogICAgdmFyIG51bUNvbXBzID0gY29udGV4dC5udW1Db21wczsKICAgIHRoaXMudG1wQ29tcHNCdWYgPSBuZXcgRmxvYXQzMkFycmF5KG51bUNvbXBzKTsKICAgIHZhciBjc051bUNvbXBzID0gY29udGV4dC5jb2xvclNwYWNlOwogICAgdGhpcy50bXBDc0NvbXBzQnVmID0gY29udGV4dC5jb2xvckZuID8gbmV3IEZsb2F0MzJBcnJheShjc051bUNvbXBzKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRtcENvbXBzQnVmOwogIH0KICBNZXNoU3RyZWFtUmVhZGVyLnByb3RvdHlwZSA9IHsKICAgIGdldCBoYXNEYXRhKCkgewogICAgICBpZiAodGhpcy5zdHJlYW0uZW5kKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtLnBvcyA8IHRoaXMuc3RyZWFtLmVuZDsKICAgICAgfQogICAgICBpZiAodGhpcy5idWZmZXJMZW5ndGggPiAwKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgdmFyIG5leHRCeXRlID0gdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpOwogICAgICBpZiAobmV4dEJ5dGUgPCAwKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIHRoaXMuYnVmZmVyID0gbmV4dEJ5dGU7CiAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gODsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9LAogICAgcmVhZEJpdHM6IGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXJfcmVhZEJpdHMobikgewogICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXI7CiAgICAgIHZhciBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlckxlbmd0aDsKICAgICAgaWYgKG4gPT09IDMyKSB7CiAgICAgICAgaWYgKGJ1ZmZlckxlbmd0aCA9PT0gMCkgewogICAgICAgICAgcmV0dXJuICgodGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpIDw8IDI0KSB8CiAgICAgICAgICAgICh0aGlzLnN0cmVhbS5nZXRCeXRlKCkgPDwgMTYpIHwgKHRoaXMuc3RyZWFtLmdldEJ5dGUoKSA8PCA4KSB8CiAgICAgICAgICAgIHRoaXMuc3RyZWFtLmdldEJ5dGUoKSkgPj4+IDA7CiAgICAgICAgfQogICAgICAgIGJ1ZmZlciA9IChidWZmZXIgPDwgMjQpIHwgKHRoaXMuc3RyZWFtLmdldEJ5dGUoKSA8PCAxNikgfAogICAgICAgICAgKHRoaXMuc3RyZWFtLmdldEJ5dGUoKSA8PCA4KSB8IHRoaXMuc3RyZWFtLmdldEJ5dGUoKTsKICAgICAgICB2YXIgbmV4dEJ5dGUgPSB0aGlzLnN0cmVhbS5nZXRCeXRlKCk7CiAgICAgICAgdGhpcy5idWZmZXIgPSBuZXh0Qnl0ZSAmICgoMSA8PCBidWZmZXJMZW5ndGgpIC0gMSk7CiAgICAgICAgcmV0dXJuICgoYnVmZmVyIDw8ICg4IC0gYnVmZmVyTGVuZ3RoKSkgfAogICAgICAgICAgKChuZXh0Qnl0ZSAmIDB4RkYpID4+IGJ1ZmZlckxlbmd0aCkpID4+PiAwOwogICAgICB9CiAgICAgIGlmIChuID09PSA4ICYmIGJ1ZmZlckxlbmd0aCA9PT0gMCkgewogICAgICAgIHJldHVybiB0aGlzLnN0cmVhbS5nZXRCeXRlKCk7CiAgICAgIH0KICAgICAgd2hpbGUgKGJ1ZmZlckxlbmd0aCA8IG4pIHsKICAgICAgICBidWZmZXIgPSAoYnVmZmVyIDw8IDgpIHwgdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpOwogICAgICAgIGJ1ZmZlckxlbmd0aCArPSA4OwogICAgICB9CiAgICAgIGJ1ZmZlckxlbmd0aCAtPSBuOwogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGJ1ZmZlckxlbmd0aDsKICAgICAgdGhpcy5idWZmZXIgPSBidWZmZXIgJiAoKDEgPDwgYnVmZmVyTGVuZ3RoKSAtIDEpOwogICAgICByZXR1cm4gYnVmZmVyID4+IGJ1ZmZlckxlbmd0aDsKICAgIH0sCiAgICBhbGlnbjogZnVuY3Rpb24gTWVzaFN0cmVhbVJlYWRlcl9hbGlnbigpIHsKICAgICAgdGhpcy5idWZmZXIgPSAwOwogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IDA7CiAgICB9LAogICAgcmVhZEZsYWc6IGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXJfcmVhZEZsYWcoKSB7CiAgICAgIHJldHVybiB0aGlzLnJlYWRCaXRzKHRoaXMuY29udGV4dC5iaXRzUGVyRmxhZyk7CiAgICB9LAogICAgcmVhZENvb3JkaW5hdGU6IGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXJfcmVhZENvb3JkaW5hdGUoKSB7CiAgICAgIHZhciBiaXRzUGVyQ29vcmRpbmF0ZSA9IHRoaXMuY29udGV4dC5iaXRzUGVyQ29vcmRpbmF0ZTsKICAgICAgdmFyIHhpID0gdGhpcy5yZWFkQml0cyhiaXRzUGVyQ29vcmRpbmF0ZSk7CiAgICAgIHZhciB5aSA9IHRoaXMucmVhZEJpdHMoYml0c1BlckNvb3JkaW5hdGUpOwogICAgICB2YXIgZGVjb2RlID0gdGhpcy5jb250ZXh0LmRlY29kZTsKICAgICAgdmFyIHNjYWxlID0gYml0c1BlckNvb3JkaW5hdGUgPCAzMiA/IDEgLyAoKDEgPDwgYml0c1BlckNvb3JkaW5hdGUpIC0gMSkgOgogICAgICAgIDIuMzI4MzA2NDM2NTM4Njk2M2UtMTA7IC8vIDIgXiAtMzIKICAgICAgcmV0dXJuIFsKICAgICAgICB4aSAqIHNjYWxlICogKGRlY29kZVsxXSAtIGRlY29kZVswXSkgKyBkZWNvZGVbMF0sCiAgICAgICAgeWkgKiBzY2FsZSAqIChkZWNvZGVbM10gLSBkZWNvZGVbMl0pICsgZGVjb2RlWzJdCiAgICAgIF07CiAgICB9LAogICAgcmVhZENvbXBvbmVudHM6IGZ1bmN0aW9uIE1lc2hTdHJlYW1SZWFkZXJfcmVhZENvbXBvbmVudHMoKSB7CiAgICAgIHZhciBudW1Db21wcyA9IHRoaXMuY29udGV4dC5udW1Db21wczsKICAgICAgdmFyIGJpdHNQZXJDb21wb25lbnQgPSB0aGlzLmNvbnRleHQuYml0c1BlckNvbXBvbmVudDsKICAgICAgdmFyIHNjYWxlID0gYml0c1BlckNvbXBvbmVudCA8IDMyID8gMSAvICgoMSA8PCBiaXRzUGVyQ29tcG9uZW50KSAtIDEpIDoKICAgICAgICAyLjMyODMwNjQzNjUzODY5NjNlLTEwOyAvLyAyIF4gLTMyCiAgICAgIHZhciBkZWNvZGUgPSB0aGlzLmNvbnRleHQuZGVjb2RlOwogICAgICB2YXIgY29tcG9uZW50cyA9IHRoaXMudG1wQ29tcHNCdWY7CiAgICAgIGZvciAodmFyIGkgPSAwLCBqID0gNDsgaSA8IG51bUNvbXBzOyBpKyssIGogKz0gMikgewogICAgICAgIHZhciBjaSA9IHRoaXMucmVhZEJpdHMoYml0c1BlckNvbXBvbmVudCk7CiAgICAgICAgY29tcG9uZW50c1tpXSA9IGNpICogc2NhbGUgKiAoZGVjb2RlW2ogKyAxXSAtIGRlY29kZVtqXSkgKyBkZWNvZGVbal07CiAgICAgIH0KICAgICAgdmFyIGNvbG9yID0gdGhpcy50bXBDc0NvbXBzQnVmOwogICAgICBpZiAodGhpcy5jb250ZXh0LmNvbG9yRm4pIHsKICAgICAgICB0aGlzLmNvbnRleHQuY29sb3JGbihjb21wb25lbnRzLCAwLCBjb2xvciwgMCk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuY29udGV4dC5jb2xvclNwYWNlLmdldFJnYihjb2xvciwgMCk7CiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gZGVjb2RlVHlwZTRTaGFkaW5nKG1lc2gsIHJlYWRlcikgewogICAgdmFyIGNvb3JkcyA9IG1lc2guY29vcmRzOwogICAgdmFyIGNvbG9ycyA9IG1lc2guY29sb3JzOwogICAgdmFyIG9wZXJhdG9ycyA9IFtdOwogICAgdmFyIHBzID0gW107IC8vIG5vdCBtYWludGFpbmluZyBjcyBzaW5jZSB0aGF0IHdpbGwgbWF0Y2ggcHMKICAgIHZhciB2ZXJ0aWNlc0xlZnQgPSAwOyAvLyBhc3N1bWluZyB3ZSBoYXZlIGFsbCBkYXRhIHRvIHN0YXJ0IGEgbmV3IHRyaWFuZ2xlCiAgICB3aGlsZSAocmVhZGVyLmhhc0RhdGEpIHsKICAgICAgdmFyIGYgPSByZWFkZXIucmVhZEZsYWcoKTsKICAgICAgdmFyIGNvb3JkID0gcmVhZGVyLnJlYWRDb29yZGluYXRlKCk7CiAgICAgIHZhciBjb2xvciA9IHJlYWRlci5yZWFkQ29tcG9uZW50cygpOwogICAgICBpZiAodmVydGljZXNMZWZ0ID09PSAwKSB7IC8vIGlnbm9yaW5nIGZsYWdzIGlmIHdlIHN0YXJ0ZWQgYSB0cmlhbmdsZQogICAgICAgIGFzc2VydCgwIDw9IGYgJiYgZiA8PSAyLCAnVW5rbm93biB0eXBlNCBmbGFnJyk7CiAgICAgICAgc3dpdGNoIChmKSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIHZlcnRpY2VzTGVmdCA9IDM7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICBwcy5wdXNoKHBzW3BzLmxlbmd0aCAtIDJdLCBwc1twcy5sZW5ndGggLSAxXSk7CiAgICAgICAgICAgIHZlcnRpY2VzTGVmdCA9IDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICBwcy5wdXNoKHBzW3BzLmxlbmd0aCAtIDNdLCBwc1twcy5sZW5ndGggLSAxXSk7CiAgICAgICAgICAgIHZlcnRpY2VzTGVmdCA9IDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBvcGVyYXRvcnMucHVzaChmKTsKICAgICAgfQogICAgICBwcy5wdXNoKGNvb3Jkcy5sZW5ndGgpOwogICAgICBjb29yZHMucHVzaChjb29yZCk7CiAgICAgIGNvbG9ycy5wdXNoKGNvbG9yKTsKICAgICAgdmVydGljZXNMZWZ0LS07CgogICAgICByZWFkZXIuYWxpZ24oKTsKICAgIH0KCiAgICB2YXIgcHNQYWNrZWQgPSBuZXcgSW50MzJBcnJheShwcyk7CgogICAgbWVzaC5maWd1cmVzLnB1c2goewogICAgICB0eXBlOiAndHJpYW5nbGVzJywKICAgICAgY29vcmRzOiBwc1BhY2tlZCwKICAgICAgY29sb3JzOiBwc1BhY2tlZAogICAgfSk7CiAgfQoKICBmdW5jdGlvbiBkZWNvZGVUeXBlNVNoYWRpbmcobWVzaCwgcmVhZGVyLCB2ZXJ0aWNlc1BlclJvdykgewogICAgdmFyIGNvb3JkcyA9IG1lc2guY29vcmRzOwogICAgdmFyIGNvbG9ycyA9IG1lc2guY29sb3JzOwogICAgdmFyIHBzID0gW107IC8vIG5vdCBtYWludGFpbmluZyBjcyBzaW5jZSB0aGF0IHdpbGwgbWF0Y2ggcHMKICAgIHdoaWxlIChyZWFkZXIuaGFzRGF0YSkgewogICAgICB2YXIgY29vcmQgPSByZWFkZXIucmVhZENvb3JkaW5hdGUoKTsKICAgICAgdmFyIGNvbG9yID0gcmVhZGVyLnJlYWRDb21wb25lbnRzKCk7CiAgICAgIHBzLnB1c2goY29vcmRzLmxlbmd0aCk7CiAgICAgIGNvb3Jkcy5wdXNoKGNvb3JkKTsKICAgICAgY29sb3JzLnB1c2goY29sb3IpOwogICAgfQoKICAgIHZhciBwc1BhY2tlZCA9IG5ldyBJbnQzMkFycmF5KHBzKTsKCiAgICBtZXNoLmZpZ3VyZXMucHVzaCh7CiAgICAgIHR5cGU6ICdsYXR0aWNlJywKICAgICAgY29vcmRzOiBwc1BhY2tlZCwKICAgICAgY29sb3JzOiBwc1BhY2tlZCwKICAgICAgdmVydGljZXNQZXJSb3c6IHZlcnRpY2VzUGVyUm93CiAgICB9KTsKICB9CgogIHZhciBNSU5fU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVCA9IDM7CiAgdmFyIE1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5UID0gMjA7CgogIHZhciBUUklBTkdMRV9ERU5TSVRZID0gMjA7IC8vIGNvdW50IG9mIHRyaWFuZ2xlcyBwZXIgZW50aXJlIG1lc2ggYm91bmRzCgogIHZhciBnZXRCID0gKGZ1bmN0aW9uIGdldEJDbG9zdXJlKCkgewogICAgZnVuY3Rpb24gYnVpbGRCKGNvdW50KSB7CiAgICAgIHZhciBsdXQgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gY291bnQ7IGkrKykgewogICAgICAgIHZhciB0ID0gaSAvIGNvdW50LCB0XyA9IDEgLSB0OwogICAgICAgIGx1dC5wdXNoKG5ldyBGbG9hdDMyQXJyYXkoW3RfICogdF8gKiB0XywgMyAqIHQgKiB0XyAqIHRfLAogICAgICAgICAgMyAqIHQgKiB0ICogdF8sIHQgKiB0ICogdF0pKTsKICAgICAgfQogICAgICByZXR1cm4gbHV0OwogICAgfQogICAgdmFyIGNhY2hlID0gW107CiAgICByZXR1cm4gZnVuY3Rpb24gZ2V0Qihjb3VudCkgewogICAgICBpZiAoIWNhY2hlW2NvdW50XSkgewogICAgICAgIGNhY2hlW2NvdW50XSA9IGJ1aWxkQihjb3VudCk7CiAgICAgIH0KICAgICAgcmV0dXJuIGNhY2hlW2NvdW50XTsKICAgIH07CiAgfSkoKTsKCiAgZnVuY3Rpb24gYnVpbGRGaWd1cmVGcm9tUGF0Y2gobWVzaCwgaW5kZXgpIHsKICAgIHZhciBmaWd1cmUgPSBtZXNoLmZpZ3VyZXNbaW5kZXhdOwogICAgYXNzZXJ0KGZpZ3VyZS50eXBlID09PSAncGF0Y2gnLCAnVW5leHBlY3RlZCBwYXRjaCBtZXNoIGZpZ3VyZScpOwoKICAgIHZhciBjb29yZHMgPSBtZXNoLmNvb3JkcywgY29sb3JzID0gbWVzaC5jb2xvcnM7CiAgICB2YXIgcGkgPSBmaWd1cmUuY29vcmRzOwogICAgdmFyIGNpID0gZmlndXJlLmNvbG9yczsKCiAgICB2YXIgZmlndXJlTWluWCA9IE1hdGgubWluKGNvb3Jkc1twaVswXV1bMF0sIGNvb3Jkc1twaVszXV1bMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkc1twaVsxMl1dWzBdLCBjb29yZHNbcGlbMTVdXVswXSk7CiAgICB2YXIgZmlndXJlTWluWSA9IE1hdGgubWluKGNvb3Jkc1twaVswXV1bMV0sIGNvb3Jkc1twaVszXV1bMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkc1twaVsxMl1dWzFdLCBjb29yZHNbcGlbMTVdXVsxXSk7CiAgICB2YXIgZmlndXJlTWF4WCA9IE1hdGgubWF4KGNvb3Jkc1twaVswXV1bMF0sIGNvb3Jkc1twaVszXV1bMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkc1twaVsxMl1dWzBdLCBjb29yZHNbcGlbMTVdXVswXSk7CiAgICB2YXIgZmlndXJlTWF4WSA9IE1hdGgubWF4KGNvb3Jkc1twaVswXV1bMV0sIGNvb3Jkc1twaVszXV1bMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3Jkc1twaVsxMl1dWzFdLCBjb29yZHNbcGlbMTVdXVsxXSk7CiAgICB2YXIgc3BsaXRYQnkgPSBNYXRoLmNlaWwoKGZpZ3VyZU1heFggLSBmaWd1cmVNaW5YKSAqIFRSSUFOR0xFX0RFTlNJVFkgLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtZXNoLmJvdW5kc1syXSAtIG1lc2guYm91bmRzWzBdKSk7CiAgICBzcGxpdFhCeSA9IE1hdGgubWF4KE1JTl9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULAogICAgICAgICAgICAgICBNYXRoLm1pbihNQVhfU1BMSVRfUEFUQ0hfQ0hVTktTX0FNT1VOVCwgc3BsaXRYQnkpKTsKICAgIHZhciBzcGxpdFlCeSA9IE1hdGguY2VpbCgoZmlndXJlTWF4WSAtIGZpZ3VyZU1pblkpICogVFJJQU5HTEVfREVOU0lUWSAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1lc2guYm91bmRzWzNdIC0gbWVzaC5ib3VuZHNbMV0pKTsKICAgIHNwbGl0WUJ5ID0gTWF0aC5tYXgoTUlOX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQsCiAgICAgICAgICAgICAgIE1hdGgubWluKE1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULCBzcGxpdFlCeSkpOwoKICAgIHZhciB2ZXJ0aWNlc1BlclJvdyA9IHNwbGl0WEJ5ICsgMTsKICAgIHZhciBmaWd1cmVDb29yZHMgPSBuZXcgSW50MzJBcnJheSgoc3BsaXRZQnkgKyAxKSAqIHZlcnRpY2VzUGVyUm93KTsKICAgIHZhciBmaWd1cmVDb2xvcnMgPSBuZXcgSW50MzJBcnJheSgoc3BsaXRZQnkgKyAxKSAqIHZlcnRpY2VzUGVyUm93KTsKICAgIHZhciBrID0gMDsKICAgIHZhciBjbCA9IG5ldyBVaW50OEFycmF5KDMpLCBjciA9IG5ldyBVaW50OEFycmF5KDMpOwogICAgdmFyIGMwID0gY29sb3JzW2NpWzBdXSwgYzEgPSBjb2xvcnNbY2lbMV1dLAogICAgICBjMiA9IGNvbG9yc1tjaVsyXV0sIGMzID0gY29sb3JzW2NpWzNdXTsKICAgIHZhciBiUm93ID0gZ2V0QihzcGxpdFlCeSksIGJDb2wgPSBnZXRCKHNwbGl0WEJ5KTsKICAgIGZvciAodmFyIHJvdyA9IDA7IHJvdyA8PSBzcGxpdFlCeTsgcm93KyspIHsKICAgICAgY2xbMF0gPSAoKGMwWzBdICogKHNwbGl0WUJ5IC0gcm93KSArIGMyWzBdICogcm93KSAvIHNwbGl0WUJ5KSB8IDA7CiAgICAgIGNsWzFdID0gKChjMFsxXSAqIChzcGxpdFlCeSAtIHJvdykgKyBjMlsxXSAqIHJvdykgLyBzcGxpdFlCeSkgfCAwOwogICAgICBjbFsyXSA9ICgoYzBbMl0gKiAoc3BsaXRZQnkgLSByb3cpICsgYzJbMl0gKiByb3cpIC8gc3BsaXRZQnkpIHwgMDsKCiAgICAgIGNyWzBdID0gKChjMVswXSAqIChzcGxpdFlCeSAtIHJvdykgKyBjM1swXSAqIHJvdykgLyBzcGxpdFlCeSkgfCAwOwogICAgICBjclsxXSA9ICgoYzFbMV0gKiAoc3BsaXRZQnkgLSByb3cpICsgYzNbMV0gKiByb3cpIC8gc3BsaXRZQnkpIHwgMDsKICAgICAgY3JbMl0gPSAoKGMxWzJdICogKHNwbGl0WUJ5IC0gcm93KSArIGMzWzJdICogcm93KSAvIHNwbGl0WUJ5KSB8IDA7CgogICAgICBmb3IgKHZhciBjb2wgPSAwOyBjb2wgPD0gc3BsaXRYQnk7IGNvbCsrLCBrKyspIHsKICAgICAgICBpZiAoKHJvdyA9PT0gMCB8fCByb3cgPT09IHNwbGl0WUJ5KSAmJgogICAgICAgICAgICAoY29sID09PSAwIHx8IGNvbCA9PT0gc3BsaXRYQnkpKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIHggPSAwLCB5ID0gMDsKICAgICAgICB2YXIgcSA9IDA7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gMzsgaSsrKSB7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAzOyBqKyssIHErKykgewogICAgICAgICAgICB2YXIgbSA9IGJSb3dbcm93XVtpXSAqIGJDb2xbY29sXVtqXTsKICAgICAgICAgICAgeCArPSBjb29yZHNbcGlbcV1dWzBdICogbTsKICAgICAgICAgICAgeSArPSBjb29yZHNbcGlbcV1dWzFdICogbTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZmlndXJlQ29vcmRzW2tdID0gY29vcmRzLmxlbmd0aDsKICAgICAgICBjb29yZHMucHVzaChbeCwgeV0pOwogICAgICAgIGZpZ3VyZUNvbG9yc1trXSA9IGNvbG9ycy5sZW5ndGg7CiAgICAgICAgdmFyIG5ld0NvbG9yID0gbmV3IFVpbnQ4QXJyYXkoMyk7CiAgICAgICAgbmV3Q29sb3JbMF0gPSAoKGNsWzBdICogKHNwbGl0WEJ5IC0gY29sKSArIGNyWzBdICogY29sKSAvIHNwbGl0WEJ5KSB8IDA7CiAgICAgICAgbmV3Q29sb3JbMV0gPSAoKGNsWzFdICogKHNwbGl0WEJ5IC0gY29sKSArIGNyWzFdICogY29sKSAvIHNwbGl0WEJ5KSB8IDA7CiAgICAgICAgbmV3Q29sb3JbMl0gPSAoKGNsWzJdICogKHNwbGl0WEJ5IC0gY29sKSArIGNyWzJdICogY29sKSAvIHNwbGl0WEJ5KSB8IDA7CiAgICAgICAgY29sb3JzLnB1c2gobmV3Q29sb3IpOwogICAgICB9CiAgICB9CiAgICBmaWd1cmVDb29yZHNbMF0gPSBwaVswXTsKICAgIGZpZ3VyZUNvbG9yc1swXSA9IGNpWzBdOwogICAgZmlndXJlQ29vcmRzW3NwbGl0WEJ5XSA9IHBpWzNdOwogICAgZmlndXJlQ29sb3JzW3NwbGl0WEJ5XSA9IGNpWzFdOwogICAgZmlndXJlQ29vcmRzW3ZlcnRpY2VzUGVyUm93ICogc3BsaXRZQnldID0gcGlbMTJdOwogICAgZmlndXJlQ29sb3JzW3ZlcnRpY2VzUGVyUm93ICogc3BsaXRZQnldID0gY2lbMl07CiAgICBmaWd1cmVDb29yZHNbdmVydGljZXNQZXJSb3cgKiBzcGxpdFlCeSArIHNwbGl0WEJ5XSA9IHBpWzE1XTsKICAgIGZpZ3VyZUNvbG9yc1t2ZXJ0aWNlc1BlclJvdyAqIHNwbGl0WUJ5ICsgc3BsaXRYQnldID0gY2lbM107CgogICAgbWVzaC5maWd1cmVzW2luZGV4XSA9IHsKICAgICAgdHlwZTogJ2xhdHRpY2UnLAogICAgICBjb29yZHM6IGZpZ3VyZUNvb3JkcywKICAgICAgY29sb3JzOiBmaWd1cmVDb2xvcnMsCiAgICAgIHZlcnRpY2VzUGVyUm93OiB2ZXJ0aWNlc1BlclJvdwogICAgfTsKICB9CgogIGZ1bmN0aW9uIGRlY29kZVR5cGU2U2hhZGluZyhtZXNoLCByZWFkZXIpIHsKICAgIC8vIEEgc3BlY2lhbCBjYXNlIG9mIFR5cGUgNy4gVGhlIHAxMSwgcDEyLCBwMjEsIHAyMiBhdXRvbWF0aWNhbGx5IGZpbGxlZAogICAgdmFyIGNvb3JkcyA9IG1lc2guY29vcmRzOwogICAgdmFyIGNvbG9ycyA9IG1lc2guY29sb3JzOwogICAgdmFyIHBzID0gbmV3IEludDMyQXJyYXkoMTYpOyAvLyBwMDAsIHAxMCwgLi4uLCBwMzAsIHAwMSwgLi4uLCBwMzMKICAgIHZhciBjcyA9IG5ldyBJbnQzMkFycmF5KDQpOyAvLyBjMDAsIGMzMCwgYzAzLCBjMzMKICAgIHdoaWxlIChyZWFkZXIuaGFzRGF0YSkgewogICAgICB2YXIgZiA9IHJlYWRlci5yZWFkRmxhZygpOwogICAgICBhc3NlcnQoMCA8PSBmICYmIGYgPD0gMywgJ1Vua25vd24gdHlwZTYgZmxhZycpOwogICAgICB2YXIgaSwgaWk7CiAgICAgIHZhciBwaSA9IGNvb3Jkcy5sZW5ndGg7CiAgICAgIGZvciAoaSA9IDAsIGlpID0gKGYgIT09IDAgPyA4IDogMTIpOyBpIDwgaWk7IGkrKykgewogICAgICAgIGNvb3Jkcy5wdXNoKHJlYWRlci5yZWFkQ29vcmRpbmF0ZSgpKTsKICAgICAgfQogICAgICB2YXIgY2kgPSBjb2xvcnMubGVuZ3RoOwogICAgICBmb3IgKGkgPSAwLCBpaSA9IChmICE9PSAwID8gMiA6IDQpOyBpIDwgaWk7IGkrKykgewogICAgICAgIGNvbG9ycy5wdXNoKHJlYWRlci5yZWFkQ29tcG9uZW50cygpKTsKICAgICAgfQogICAgICB2YXIgdG1wMSwgdG1wMiwgdG1wMywgdG1wNDsKICAgICAgc3dpdGNoIChmKSB7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgcHNbMTJdID0gcGkgKyAzOyBwc1sxM10gPSBwaSArIDQ7ICBwc1sxNF0gPSBwaSArIDU7ICBwc1sxNV0gPSBwaSArIDY7CiAgICAgICAgICBwc1sgOF0gPSBwaSArIDI7IC8qIHZhbHVlcyBmb3IgNSwgNiwgOSwgMTAgYXJlICAgICovIHBzWzExXSA9IHBpICsgNzsKICAgICAgICAgIHBzWyA0XSA9IHBpICsgMTsgLyogY2FsY3VsYXRlZCBiZWxvdyAgICAgICAgICAgICAgKi8gcHNbIDddID0gcGkgKyA4OwogICAgICAgICAgcHNbIDBdID0gcGk7ICAgICBwc1sgMV0gPSBwaSArIDExOyBwc1sgMl0gPSBwaSArIDEwOyBwc1sgM10gPSBwaSArIDk7CiAgICAgICAgICBjc1syXSA9IGNpICsgMTsgY3NbM10gPSBjaSArIDI7CiAgICAgICAgICBjc1swXSA9IGNpOyAgICAgY3NbMV0gPSBjaSArIDM7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDE6CiAgICAgICAgICB0bXAxID0gcHNbMTJdOyB0bXAyID0gcHNbMTNdOyB0bXAzID0gcHNbMTRdOyB0bXA0ID0gcHNbMTVdOwogICAgICAgICAgcHNbMTJdID0gcGkgKyA1OyBwc1sxM10gPSBwaSArIDQ7ICBwc1sxNF0gPSBwaSArIDM7ICBwc1sxNV0gPSBwaSArIDI7CiAgICAgICAgICBwc1sgOF0gPSBwaSArIDY7IC8qIHZhbHVlcyBmb3IgNSwgNiwgOSwgMTAgYXJlICAgICovIHBzWzExXSA9IHBpICsgMTsKICAgICAgICAgIHBzWyA0XSA9IHBpICsgNzsgLyogY2FsY3VsYXRlZCBiZWxvdyAgICAgICAgICAgICAgKi8gcHNbIDddID0gcGk7CiAgICAgICAgICBwc1sgMF0gPSB0bXAxOyAgIHBzWyAxXSA9IHRtcDI7ICAgIHBzWyAyXSA9IHRtcDM7ICAgIHBzWyAzXSA9IHRtcDQ7CiAgICAgICAgICB0bXAxID0gY3NbMl07IHRtcDIgPSBjc1szXTsKICAgICAgICAgIGNzWzJdID0gY2kgKyAxOyBjc1szXSA9IGNpOwogICAgICAgICAgY3NbMF0gPSB0bXAxOyAgIGNzWzFdID0gdG1wMjsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjoKICAgICAgICAgIHBzWzEyXSA9IHBzWzE1XTsgcHNbMTNdID0gcGkgKyA3OyBwc1sxNF0gPSBwaSArIDY7ICAgcHNbMTVdID0gcGkgKyA1OwogICAgICAgICAgcHNbIDhdID0gcHNbMTFdOyAvKiB2YWx1ZXMgZm9yIDUsIDYsIDksIDEwIGFyZSAgICAqLyBwc1sxMV0gPSBwaSArIDQ7CiAgICAgICAgICBwc1sgNF0gPSBwc1s3XTsgIC8qIGNhbGN1bGF0ZWQgYmVsb3cgICAgICAgICAgICAgICovIHBzWyA3XSA9IHBpICsgMzsKICAgICAgICAgIHBzWyAwXSA9IHBzWzNdOyAgcHNbIDFdID0gcGk7ICAgICBwc1sgMl0gPSBwaSArIDE7ICAgcHNbIDNdID0gcGkgKyAyOwogICAgICAgICAgY3NbMl0gPSBjc1szXTsgY3NbM10gPSBjaSArIDE7CiAgICAgICAgICBjc1swXSA9IGNzWzFdOyBjc1sxXSA9IGNpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAzOgogICAgICAgICAgcHNbMTJdID0gcHNbMF07ICBwc1sxM10gPSBwc1sxXTsgICBwc1sxNF0gPSBwc1syXTsgICBwc1sxNV0gPSBwc1szXTsKICAgICAgICAgIHBzWyA4XSA9IHBpOyAgICAgLyogdmFsdWVzIGZvciA1LCA2LCA5LCAxMCBhcmUgICAgKi8gcHNbMTFdID0gcGkgKyA3OwogICAgICAgICAgcHNbIDRdID0gcGkgKyAxOyAvKiBjYWxjdWxhdGVkIGJlbG93ICAgICAgICAgICAgICAqLyBwc1sgN10gPSBwaSArIDY7CiAgICAgICAgICBwc1sgMF0gPSBwaSArIDI7IHBzWyAxXSA9IHBpICsgMzsgIHBzWyAyXSA9IHBpICsgNDsgIHBzWyAzXSA9IHBpICsgNTsKICAgICAgICAgIGNzWzJdID0gY3NbMF07IGNzWzNdID0gY3NbMV07CiAgICAgICAgICBjc1swXSA9IGNpOyAgICBjc1sxXSA9IGNpICsgMTsKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIC8vIHNldCBwMTEsIHAxMiwgcDIxLCBwMjIKICAgICAgcHNbNV0gPSBjb29yZHMubGVuZ3RoOwogICAgICBjb29yZHMucHVzaChbCiAgICAgICAgKC00ICogY29vcmRzW3BzWzBdXVswXSAtIGNvb3Jkc1twc1sxNV1dWzBdICsKICAgICAgICAgIDYgKiAoY29vcmRzW3BzWzRdXVswXSArIGNvb3Jkc1twc1sxXV1bMF0pIC0KICAgICAgICAgIDIgKiAoY29vcmRzW3BzWzEyXV1bMF0gKyBjb29yZHNbcHNbM11dWzBdKSArCiAgICAgICAgICAzICogKGNvb3Jkc1twc1sxM11dWzBdICsgY29vcmRzW3BzWzddXVswXSkpIC8gOSwKICAgICAgICAoLTQgKiBjb29yZHNbcHNbMF1dWzFdIC0gY29vcmRzW3BzWzE1XV1bMV0gKwogICAgICAgICAgNiAqIChjb29yZHNbcHNbNF1dWzFdICsgY29vcmRzW3BzWzFdXVsxXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMTJdXVsxXSArIGNvb3Jkc1twc1szXV1bMV0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzEzXV1bMV0gKyBjb29yZHNbcHNbN11dWzFdKSkgLyA5CiAgICAgIF0pOwogICAgICBwc1s2XSA9IGNvb3Jkcy5sZW5ndGg7CiAgICAgIGNvb3Jkcy5wdXNoKFsKICAgICAgICAoLTQgKiBjb29yZHNbcHNbM11dWzBdIC0gY29vcmRzW3BzWzEyXV1bMF0gKwogICAgICAgICAgNiAqIChjb29yZHNbcHNbMl1dWzBdICsgY29vcmRzW3BzWzddXVswXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMF1dWzBdICsgY29vcmRzW3BzWzE1XV1bMF0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzRdXVswXSArIGNvb3Jkc1twc1sxNF1dWzBdKSkgLyA5LAogICAgICAgICgtNCAqIGNvb3Jkc1twc1szXV1bMV0gLSBjb29yZHNbcHNbMTJdXVsxXSArCiAgICAgICAgICA2ICogKGNvb3Jkc1twc1syXV1bMV0gKyBjb29yZHNbcHNbN11dWzFdKSAtCiAgICAgICAgICAyICogKGNvb3Jkc1twc1swXV1bMV0gKyBjb29yZHNbcHNbMTVdXVsxXSkgKwogICAgICAgICAgMyAqIChjb29yZHNbcHNbNF1dWzFdICsgY29vcmRzW3BzWzE0XV1bMV0pKSAvIDkKICAgICAgXSk7CiAgICAgIHBzWzldID0gY29vcmRzLmxlbmd0aDsKICAgICAgY29vcmRzLnB1c2goWwogICAgICAgICgtNCAqIGNvb3Jkc1twc1sxMl1dWzBdIC0gY29vcmRzW3BzWzNdXVswXSArCiAgICAgICAgICA2ICogKGNvb3Jkc1twc1s4XV1bMF0gKyBjb29yZHNbcHNbMTNdXVswXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMF1dWzBdICsgY29vcmRzW3BzWzE1XV1bMF0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzExXV1bMF0gKyBjb29yZHNbcHNbMV1dWzBdKSkgLyA5LAogICAgICAgICgtNCAqIGNvb3Jkc1twc1sxMl1dWzFdIC0gY29vcmRzW3BzWzNdXVsxXSArCiAgICAgICAgICA2ICogKGNvb3Jkc1twc1s4XV1bMV0gKyBjb29yZHNbcHNbMTNdXVsxXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMF1dWzFdICsgY29vcmRzW3BzWzE1XV1bMV0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzExXV1bMV0gKyBjb29yZHNbcHNbMV1dWzFdKSkgLyA5CiAgICAgIF0pOwogICAgICBwc1sxMF0gPSBjb29yZHMubGVuZ3RoOwogICAgICBjb29yZHMucHVzaChbCiAgICAgICAgKC00ICogY29vcmRzW3BzWzE1XV1bMF0gLSBjb29yZHNbcHNbMF1dWzBdICsKICAgICAgICAgIDYgKiAoY29vcmRzW3BzWzExXV1bMF0gKyBjb29yZHNbcHNbMTRdXVswXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMTJdXVswXSArIGNvb3Jkc1twc1szXV1bMF0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzJdXVswXSArIGNvb3Jkc1twc1s4XV1bMF0pKSAvIDksCiAgICAgICAgKC00ICogY29vcmRzW3BzWzE1XV1bMV0gLSBjb29yZHNbcHNbMF1dWzFdICsKICAgICAgICAgIDYgKiAoY29vcmRzW3BzWzExXV1bMV0gKyBjb29yZHNbcHNbMTRdXVsxXSkgLQogICAgICAgICAgMiAqIChjb29yZHNbcHNbMTJdXVsxXSArIGNvb3Jkc1twc1szXV1bMV0pICsKICAgICAgICAgIDMgKiAoY29vcmRzW3BzWzJdXVsxXSArIGNvb3Jkc1twc1s4XV1bMV0pKSAvIDkKICAgICAgXSk7CiAgICAgIG1lc2guZmlndXJlcy5wdXNoKHsKICAgICAgICB0eXBlOiAncGF0Y2gnLAogICAgICAgIGNvb3JkczogbmV3IEludDMyQXJyYXkocHMpLCAvLyBtYWtpbmcgY29waWVzIG9mIHBzIGFuZCBjcwogICAgICAgIGNvbG9yczogbmV3IEludDMyQXJyYXkoY3MpCiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZGVjb2RlVHlwZTdTaGFkaW5nKG1lc2gsIHJlYWRlcikgewogICAgdmFyIGNvb3JkcyA9IG1lc2guY29vcmRzOwogICAgdmFyIGNvbG9ycyA9IG1lc2guY29sb3JzOwogICAgdmFyIHBzID0gbmV3IEludDMyQXJyYXkoMTYpOyAvLyBwMDAsIHAxMCwgLi4uLCBwMzAsIHAwMSwgLi4uLCBwMzMKICAgIHZhciBjcyA9IG5ldyBJbnQzMkFycmF5KDQpOyAvLyBjMDAsIGMzMCwgYzAzLCBjMzMKICAgIHdoaWxlIChyZWFkZXIuaGFzRGF0YSkgewogICAgICB2YXIgZiA9IHJlYWRlci5yZWFkRmxhZygpOwogICAgICBhc3NlcnQoMCA8PSBmICYmIGYgPD0gMywgJ1Vua25vd24gdHlwZTcgZmxhZycpOwogICAgICB2YXIgaSwgaWk7CiAgICAgIHZhciBwaSA9IGNvb3Jkcy5sZW5ndGg7CiAgICAgIGZvciAoaSA9IDAsIGlpID0gKGYgIT09IDAgPyAxMiA6IDE2KTsgaSA8IGlpOyBpKyspIHsKICAgICAgICBjb29yZHMucHVzaChyZWFkZXIucmVhZENvb3JkaW5hdGUoKSk7CiAgICAgIH0KICAgICAgdmFyIGNpID0gY29sb3JzLmxlbmd0aDsKICAgICAgZm9yIChpID0gMCwgaWkgPSAoZiAhPT0gMCA/IDIgOiA0KTsgaSA8IGlpOyBpKyspIHsKICAgICAgICBjb2xvcnMucHVzaChyZWFkZXIucmVhZENvbXBvbmVudHMoKSk7CiAgICAgIH0KICAgICAgdmFyIHRtcDEsIHRtcDIsIHRtcDMsIHRtcDQ7CiAgICAgIHN3aXRjaCAoZikgewogICAgICAgIGNhc2UgMDoKICAgICAgICAgIHBzWzEyXSA9IHBpICsgMzsgcHNbMTNdID0gcGkgKyA0OyAgcHNbMTRdID0gcGkgKyA1OyAgcHNbMTVdID0gcGkgKyA2OwogICAgICAgICAgcHNbIDhdID0gcGkgKyAyOyBwc1sgOV0gPSBwaSArIDEzOyBwc1sxMF0gPSBwaSArIDE0OyBwc1sxMV0gPSBwaSArIDc7CiAgICAgICAgICBwc1sgNF0gPSBwaSArIDE7IHBzWyA1XSA9IHBpICsgMTI7IHBzWyA2XSA9IHBpICsgMTU7IHBzWyA3XSA9IHBpICsgODsKICAgICAgICAgIHBzWyAwXSA9IHBpOyAgICAgcHNbIDFdID0gcGkgKyAxMTsgcHNbIDJdID0gcGkgKyAxMDsgcHNbIDNdID0gcGkgKyA5OwogICAgICAgICAgY3NbMl0gPSBjaSArIDE7IGNzWzNdID0gY2kgKyAyOwogICAgICAgICAgY3NbMF0gPSBjaTsgICAgIGNzWzFdID0gY2kgKyAzOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAxOgogICAgICAgICAgdG1wMSA9IHBzWzEyXTsgdG1wMiA9IHBzWzEzXTsgdG1wMyA9IHBzWzE0XTsgdG1wNCA9IHBzWzE1XTsKICAgICAgICAgIHBzWzEyXSA9IHBpICsgNTsgcHNbMTNdID0gcGkgKyA0OyAgcHNbMTRdID0gcGkgKyAzOyAgcHNbMTVdID0gcGkgKyAyOwogICAgICAgICAgcHNbIDhdID0gcGkgKyA2OyBwc1sgOV0gPSBwaSArIDExOyBwc1sxMF0gPSBwaSArIDEwOyBwc1sxMV0gPSBwaSArIDE7CiAgICAgICAgICBwc1sgNF0gPSBwaSArIDc7IHBzWyA1XSA9IHBpICsgODsgIHBzWyA2XSA9IHBpICsgOTsgIHBzWyA3XSA9IHBpOwogICAgICAgICAgcHNbIDBdID0gdG1wMTsgICBwc1sgMV0gPSB0bXAyOyAgICBwc1sgMl0gPSB0bXAzOyAgICBwc1sgM10gPSB0bXA0OwogICAgICAgICAgdG1wMSA9IGNzWzJdOyB0bXAyID0gY3NbM107CiAgICAgICAgICBjc1syXSA9IGNpICsgMTsgY3NbM10gPSBjaTsKICAgICAgICAgIGNzWzBdID0gdG1wMTsgICBjc1sxXSA9IHRtcDI7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDI6CiAgICAgICAgICBwc1sxMl0gPSBwc1sxNV07IHBzWzEzXSA9IHBpICsgNzsgcHNbMTRdID0gcGkgKyA2OyAgcHNbMTVdID0gcGkgKyA1OwogICAgICAgICAgcHNbIDhdID0gcHNbMTFdOyBwc1sgOV0gPSBwaSArIDg7IHBzWzEwXSA9IHBpICsgMTE7IHBzWzExXSA9IHBpICsgNDsKICAgICAgICAgIHBzWyA0XSA9IHBzWzddOyAgcHNbIDVdID0gcGkgKyA5OyBwc1sgNl0gPSBwaSArIDEwOyBwc1sgN10gPSBwaSArIDM7CiAgICAgICAgICBwc1sgMF0gPSBwc1szXTsgIHBzWyAxXSA9IHBpOyAgICAgcHNbIDJdID0gcGkgKyAxOyAgcHNbIDNdID0gcGkgKyAyOwogICAgICAgICAgY3NbMl0gPSBjc1szXTsgY3NbM10gPSBjaSArIDE7CiAgICAgICAgICBjc1swXSA9IGNzWzFdOyBjc1sxXSA9IGNpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAzOgogICAgICAgICAgcHNbMTJdID0gcHNbMF07ICBwc1sxM10gPSBwc1sxXTsgICBwc1sxNF0gPSBwc1syXTsgICBwc1sxNV0gPSBwc1szXTsKICAgICAgICAgIHBzWyA4XSA9IHBpOyAgICAgcHNbIDldID0gcGkgKyA5OyAgcHNbMTBdID0gcGkgKyA4OyAgcHNbMTFdID0gcGkgKyA3OwogICAgICAgICAgcHNbIDRdID0gcGkgKyAxOyBwc1sgNV0gPSBwaSArIDEwOyBwc1sgNl0gPSBwaSArIDExOyBwc1sgN10gPSBwaSArIDY7CiAgICAgICAgICBwc1sgMF0gPSBwaSArIDI7IHBzWyAxXSA9IHBpICsgMzsgIHBzWyAyXSA9IHBpICsgNDsgIHBzWyAzXSA9IHBpICsgNTsKICAgICAgICAgIGNzWzJdID0gY3NbMF07IGNzWzNdID0gY3NbMV07CiAgICAgICAgICBjc1swXSA9IGNpOyAgICBjc1sxXSA9IGNpICsgMTsKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIG1lc2guZmlndXJlcy5wdXNoKHsKICAgICAgICB0eXBlOiAncGF0Y2gnLAogICAgICAgIGNvb3JkczogbmV3IEludDMyQXJyYXkocHMpLCAvLyBtYWtpbmcgY29waWVzIG9mIHBzIGFuZCBjcwogICAgICAgIGNvbG9yczogbmV3IEludDMyQXJyYXkoY3MpCiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gdXBkYXRlQm91bmRzKG1lc2gpIHsKICAgIHZhciBtaW5YID0gbWVzaC5jb29yZHNbMF1bMF0sIG1pblkgPSBtZXNoLmNvb3Jkc1swXVsxXSwKICAgICAgbWF4WCA9IG1pblgsIG1heFkgPSBtaW5ZOwogICAgZm9yICh2YXIgaSA9IDEsIGlpID0gbWVzaC5jb29yZHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgeCA9IG1lc2guY29vcmRzW2ldWzBdLCB5ID0gbWVzaC5jb29yZHNbaV1bMV07CiAgICAgIG1pblggPSBtaW5YID4geCA/IHggOiBtaW5YOwogICAgICBtaW5ZID0gbWluWSA+IHkgPyB5IDogbWluWTsKICAgICAgbWF4WCA9IG1heFggPCB4ID8geCA6IG1heFg7CiAgICAgIG1heFkgPSBtYXhZIDwgeSA/IHkgOiBtYXhZOwogICAgfQogICAgbWVzaC5ib3VuZHMgPSBbbWluWCwgbWluWSwgbWF4WCwgbWF4WV07CiAgfQoKICBmdW5jdGlvbiBwYWNrRGF0YShtZXNoKSB7CiAgICB2YXIgaSwgaWksIGosIGpqOwoKICAgIHZhciBjb29yZHMgPSBtZXNoLmNvb3JkczsKICAgIHZhciBjb29yZHNQYWNrZWQgPSBuZXcgRmxvYXQzMkFycmF5KGNvb3Jkcy5sZW5ndGggKiAyKTsKICAgIGZvciAoaSA9IDAsIGogPSAwLCBpaSA9IGNvb3Jkcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHZhciB4eSA9IGNvb3Jkc1tpXTsKICAgICAgY29vcmRzUGFja2VkW2orK10gPSB4eVswXTsKICAgICAgY29vcmRzUGFja2VkW2orK10gPSB4eVsxXTsKICAgIH0KICAgIG1lc2guY29vcmRzID0gY29vcmRzUGFja2VkOwoKICAgIHZhciBjb2xvcnMgPSBtZXNoLmNvbG9yczsKICAgIHZhciBjb2xvcnNQYWNrZWQgPSBuZXcgVWludDhBcnJheShjb2xvcnMubGVuZ3RoICogMyk7CiAgICBmb3IgKGkgPSAwLCBqID0gMCwgaWkgPSBjb2xvcnMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgYyA9IGNvbG9yc1tpXTsKICAgICAgY29sb3JzUGFja2VkW2orK10gPSBjWzBdOwogICAgICBjb2xvcnNQYWNrZWRbaisrXSA9IGNbMV07CiAgICAgIGNvbG9yc1BhY2tlZFtqKytdID0gY1syXTsKICAgIH0KICAgIG1lc2guY29sb3JzID0gY29sb3JzUGFja2VkOwoKICAgIHZhciBmaWd1cmVzID0gbWVzaC5maWd1cmVzOwogICAgZm9yIChpID0gMCwgaWkgPSBmaWd1cmVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIGZpZ3VyZSA9IGZpZ3VyZXNbaV0sIHBzID0gZmlndXJlLmNvb3JkcywgY3MgPSBmaWd1cmUuY29sb3JzOwogICAgICBmb3IgKGogPSAwLCBqaiA9IHBzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICBwc1tqXSAqPSAyOwogICAgICAgIGNzW2pdICo9IDM7CiAgICAgIH0KICAgIH0KICB9CgogIGZ1bmN0aW9uIE1lc2goc3RyZWFtLCBtYXRyaXgsIHhyZWYsIHJlcykgewogICAgYXNzZXJ0KGlzU3RyZWFtKHN0cmVhbSksICdNZXNoIGRhdGEgaXMgbm90IGEgc3RyZWFtJyk7CiAgICB2YXIgZGljdCA9IHN0cmVhbS5kaWN0OwogICAgdGhpcy5tYXRyaXggPSBtYXRyaXg7CiAgICB0aGlzLnNoYWRpbmdUeXBlID0gZGljdC5nZXQoJ1NoYWRpbmdUeXBlJyk7CiAgICB0aGlzLnR5cGUgPSAnUGF0dGVybic7CiAgICB0aGlzLmJib3ggPSBkaWN0LmdldCgnQkJveCcpOwogICAgdmFyIGNzID0gZGljdC5nZXQoJ0NvbG9yU3BhY2UnLCAnQ1MnKTsKICAgIGNzID0gQ29sb3JTcGFjZS5wYXJzZShjcywgeHJlZiwgcmVzKTsKICAgIHRoaXMuY3MgPSBjczsKICAgIHRoaXMuYmFja2dyb3VuZCA9IGRpY3QuaGFzKCdCYWNrZ3JvdW5kJykgPwogICAgICBjcy5nZXRSZ2IoZGljdC5nZXQoJ0JhY2tncm91bmQnKSwgMCkgOiBudWxsOwoKICAgIHZhciBmbk9iaiA9IGRpY3QuZ2V0KCdGdW5jdGlvbicpOwogICAgdmFyIGZuID0gZm5PYmogPyBQREZGdW5jdGlvbi5wYXJzZUFycmF5KHhyZWYsIGZuT2JqKSA6IG51bGw7CgogICAgdGhpcy5jb29yZHMgPSBbXTsKICAgIHRoaXMuY29sb3JzID0gW107CiAgICB0aGlzLmZpZ3VyZXMgPSBbXTsKCiAgICB2YXIgZGVjb2RlQ29udGV4dCA9IHsKICAgICAgYml0c1BlckNvb3JkaW5hdGU6IGRpY3QuZ2V0KCdCaXRzUGVyQ29vcmRpbmF0ZScpLAogICAgICBiaXRzUGVyQ29tcG9uZW50OiBkaWN0LmdldCgnQml0c1BlckNvbXBvbmVudCcpLAogICAgICBiaXRzUGVyRmxhZzogZGljdC5nZXQoJ0JpdHNQZXJGbGFnJyksCiAgICAgIGRlY29kZTogZGljdC5nZXQoJ0RlY29kZScpLAogICAgICBjb2xvckZuOiBmbiwKICAgICAgY29sb3JTcGFjZTogY3MsCiAgICAgIG51bUNvbXBzOiBmbiA/IDEgOiBjcy5udW1Db21wcwogICAgfTsKICAgIHZhciByZWFkZXIgPSBuZXcgTWVzaFN0cmVhbVJlYWRlcihzdHJlYW0sIGRlY29kZUNvbnRleHQpOwoKICAgIHZhciBwYXRjaE1lc2ggPSBmYWxzZTsKICAgIHN3aXRjaCAodGhpcy5zaGFkaW5nVHlwZSkgewogICAgICBjYXNlIFBhdHRlcm5UeXBlLkZSRUVfRk9STV9NRVNIOgogICAgICAgIGRlY29kZVR5cGU0U2hhZGluZyh0aGlzLCByZWFkZXIpOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIFBhdHRlcm5UeXBlLkxBVFRJQ0VfRk9STV9NRVNIOgogICAgICAgIHZhciB2ZXJ0aWNlc1BlclJvdyA9IGRpY3QuZ2V0KCdWZXJ0aWNlc1BlclJvdycpIHwgMDsKICAgICAgICBhc3NlcnQodmVydGljZXNQZXJSb3cgPj0gMiwgJ0ludmFsaWQgVmVydGljZXNQZXJSb3cnKTsKICAgICAgICBkZWNvZGVUeXBlNVNoYWRpbmcodGhpcywgcmVhZGVyLCB2ZXJ0aWNlc1BlclJvdyk7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgUGF0dGVyblR5cGUuQ09PTlNfUEFUQ0hfTUVTSDoKICAgICAgICBkZWNvZGVUeXBlNlNoYWRpbmcodGhpcywgcmVhZGVyKTsKICAgICAgICBwYXRjaE1lc2ggPSB0cnVlOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIFBhdHRlcm5UeXBlLlRFTlNPUl9QQVRDSF9NRVNIOgogICAgICAgIGRlY29kZVR5cGU3U2hhZGluZyh0aGlzLCByZWFkZXIpOwogICAgICAgIHBhdGNoTWVzaCA9IHRydWU7CiAgICAgICAgYnJlYWs7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIG1lc2ggdHlwZS4nKTsKICAgICAgICBicmVhazsKICAgIH0KCiAgICBpZiAocGF0Y2hNZXNoKSB7CiAgICAgIC8vIGRpcnR5IGJvdW5kcyBjYWxjdWxhdGlvbiBmb3IgZGV0ZXJtaW5pbmcsIGhvdyBkZW5zZSBzaGFsbCBiZSB0cmlhbmdsZXMKICAgICAgdXBkYXRlQm91bmRzKHRoaXMpOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSB0aGlzLmZpZ3VyZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGJ1aWxkRmlndXJlRnJvbVBhdGNoKHRoaXMsIGkpOwogICAgICB9CiAgICB9CiAgICAvLyBjYWxjdWxhdGUgYm91bmRzCiAgICB1cGRhdGVCb3VuZHModGhpcyk7CgogICAgcGFja0RhdGEodGhpcyk7CiAgfQoKICBNZXNoLnByb3RvdHlwZSA9IHsKICAgIGdldElSOiBmdW5jdGlvbiBNZXNoX2dldElSKCkgewogICAgICByZXR1cm4gWydNZXNoJywgdGhpcy5zaGFkaW5nVHlwZSwgdGhpcy5jb29yZHMsIHRoaXMuY29sb3JzLCB0aGlzLmZpZ3VyZXMsCiAgICAgICAgdGhpcy5ib3VuZHMsIHRoaXMubWF0cml4LCB0aGlzLmJib3gsIHRoaXMuYmFja2dyb3VuZF07CiAgICB9CiAgfTsKCiAgcmV0dXJuIE1lc2g7Cn0pKCk7CgpTaGFkaW5ncy5EdW1teSA9IChmdW5jdGlvbiBEdW1teUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gRHVtbXkoKSB7CiAgICB0aGlzLnR5cGUgPSAnUGF0dGVybic7CiAgfQoKICBEdW1teS5wcm90b3R5cGUgPSB7CiAgICBnZXRJUjogZnVuY3Rpb24gRHVtbXlfZ2V0SVIoKSB7CiAgICAgIHJldHVybiBbJ0R1bW15J107CiAgICB9CiAgfTsKICByZXR1cm4gRHVtbXk7Cn0pKCk7CgpmdW5jdGlvbiBnZXRUaWxpbmdQYXR0ZXJuSVIob3BlcmF0b3JMaXN0LCBkaWN0LCBhcmdzKSB7CiAgdmFyIG1hdHJpeCA9IGRpY3QuZ2V0KCdNYXRyaXgnKTsKICB2YXIgYmJveCA9IGRpY3QuZ2V0KCdCQm94Jyk7CiAgdmFyIHhzdGVwID0gZGljdC5nZXQoJ1hTdGVwJyk7CiAgdmFyIHlzdGVwID0gZGljdC5nZXQoJ1lTdGVwJyk7CiAgdmFyIHBhaW50VHlwZSA9IGRpY3QuZ2V0KCdQYWludFR5cGUnKTsKICB2YXIgdGlsaW5nVHlwZSA9IGRpY3QuZ2V0KCdUaWxpbmdUeXBlJyk7CgogIHJldHVybiBbCiAgICAnVGlsaW5nUGF0dGVybicsIGFyZ3MsIG9wZXJhdG9yTGlzdCwgbWF0cml4LCBiYm94LCB4c3RlcCwgeXN0ZXAsCiAgICBwYWludFR5cGUsIHRpbGluZ1R5cGUKICBdOwp9CgoKdmFyIFBhcnRpYWxFdmFsdWF0b3IgPSAoZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcihwZGZNYW5hZ2VyLCB4cmVmLCBoYW5kbGVyLCBwYWdlSW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWVQcmVmaXgsIGlkQ291bnRlcnMsIGZvbnRDYWNoZSkgewogICAgdGhpcy5wZGZNYW5hZ2VyID0gcGRmTWFuYWdlcjsKICAgIHRoaXMueHJlZiA9IHhyZWY7CiAgICB0aGlzLmhhbmRsZXIgPSBoYW5kbGVyOwogICAgdGhpcy5wYWdlSW5kZXggPSBwYWdlSW5kZXg7CiAgICB0aGlzLnVuaXF1ZVByZWZpeCA9IHVuaXF1ZVByZWZpeDsKICAgIHRoaXMuaWRDb3VudGVycyA9IGlkQ291bnRlcnM7CiAgICB0aGlzLmZvbnRDYWNoZSA9IGZvbnRDYWNoZTsKICB9CgogIC8vIFRyeWluZyB0byBtaW5pbWl6ZSBEYXRlLm5vdygpIHVzYWdlIGFuZCBjaGVjayBldmVyeSAxMDAgdGltZQogIHZhciBUSU1FX1NMT1RfRFVSQVRJT05fTVMgPSAyMDsKICB2YXIgQ0hFQ0tfVElNRV9FVkVSWSA9IDEwMDsKICBmdW5jdGlvbiBUaW1lU2xvdE1hbmFnZXIoKSB7CiAgICB0aGlzLnJlc2V0KCk7CiAgfQogIFRpbWVTbG90TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICBjaGVjazogZnVuY3Rpb24gVGltZVNsb3RNYW5hZ2VyX2NoZWNrKCkgewogICAgICBpZiAoKyt0aGlzLmNoZWNrZWQgPCBDSEVDS19USU1FX0VWRVJZKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIHRoaXMuY2hlY2tlZCA9IDA7CiAgICAgIHJldHVybiB0aGlzLmVuZFRpbWUgPD0gRGF0ZS5ub3coKTsKICAgIH0sCiAgICByZXNldDogZnVuY3Rpb24gVGltZVNsb3RNYW5hZ2VyX3Jlc2V0KCkgewogICAgICB0aGlzLmVuZFRpbWUgPSBEYXRlLm5vdygpICsgVElNRV9TTE9UX0RVUkFUSU9OX01TOwogICAgICB0aGlzLmNoZWNrZWQgPSAwOwogICAgfQogIH07CgogIHZhciBkZWZlcnJlZCA9IFByb21pc2UucmVzb2x2ZSgpOwoKICB2YXIgVElMSU5HX1BBVFRFUk4gPSAxLCBTSEFESU5HX1BBVFRFUk4gPSAyOwoKICBQYXJ0aWFsRXZhbHVhdG9yLnByb3RvdHlwZSA9IHsKICAgIGhhc0JsZW5kTW9kZXM6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfaGFzQmxlbmRNb2RlcyhyZXNvdXJjZXMpIHsKICAgICAgaWYgKCFpc0RpY3QocmVzb3VyY2VzKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgdmFyIHByb2Nlc3NlZCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICAgIGlmIChyZXNvdXJjZXMub2JqSWQpIHsKICAgICAgICBwcm9jZXNzZWRbcmVzb3VyY2VzLm9iaklkXSA9IHRydWU7CiAgICAgIH0KCiAgICAgIHZhciBub2RlcyA9IFtyZXNvdXJjZXNdOwogICAgICB3aGlsZSAobm9kZXMubGVuZ3RoKSB7CiAgICAgICAgdmFyIGtleTsKICAgICAgICB2YXIgbm9kZSA9IG5vZGVzLnNoaWZ0KCk7CiAgICAgICAgLy8gRmlyc3QgY2hlY2sgdGhlIGN1cnJlbnQgcmVzb3VyY2VzIGZvciBibGVuZCBtb2Rlcy4KICAgICAgICB2YXIgZ3JhcGhpY1N0YXRlcyA9IG5vZGUuZ2V0KCdFeHRHU3RhdGUnKTsKICAgICAgICBpZiAoaXNEaWN0KGdyYXBoaWNTdGF0ZXMpKSB7CiAgICAgICAgICBncmFwaGljU3RhdGVzID0gZ3JhcGhpY1N0YXRlcy5nZXRBbGwoKTsKICAgICAgICAgIGZvciAoa2V5IGluIGdyYXBoaWNTdGF0ZXMpIHsKICAgICAgICAgICAgdmFyIGdyYXBoaWNTdGF0ZSA9IGdyYXBoaWNTdGF0ZXNba2V5XTsKICAgICAgICAgICAgdmFyIGJtID0gZ3JhcGhpY1N0YXRlWydCTSddOwogICAgICAgICAgICBpZiAoaXNOYW1lKGJtKSAmJiBibS5uYW1lICE9PSAnTm9ybWFsJykgewogICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIERlc2NlbmQgaW50byB0aGUgWE9iamVjdHMgdG8gbG9vayBmb3IgbW9yZSByZXNvdXJjZXMgYW5kIGJsZW5kIG1vZGVzLgogICAgICAgIHZhciB4T2JqZWN0cyA9IG5vZGUuZ2V0KCdYT2JqZWN0Jyk7CiAgICAgICAgaWYgKCFpc0RpY3QoeE9iamVjdHMpKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgeE9iamVjdHMgPSB4T2JqZWN0cy5nZXRBbGwoKTsKICAgICAgICBmb3IgKGtleSBpbiB4T2JqZWN0cykgewogICAgICAgICAgdmFyIHhPYmplY3QgPSB4T2JqZWN0c1trZXldOwogICAgICAgICAgaWYgKCFpc1N0cmVhbSh4T2JqZWN0KSkgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICh4T2JqZWN0LmRpY3Qub2JqSWQpIHsKICAgICAgICAgICAgaWYgKHByb2Nlc3NlZFt4T2JqZWN0LmRpY3Qub2JqSWRdKSB7CiAgICAgICAgICAgICAgLy8gc3RyZWFtIGhhcyBvYmpJZCBhbmQgaXMgcHJvY2Vzc2VkIGFscmVhZHkKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcm9jZXNzZWRbeE9iamVjdC5kaWN0Lm9iaklkXSA9IHRydWU7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgeFJlc291cmNlcyA9IHhPYmplY3QuZGljdC5nZXQoJ1Jlc291cmNlcycpOwogICAgICAgICAgLy8gQ2hlY2tpbmcgb2JqSWQgdG8gZGV0ZWN0IGFuIGluZmluaXRlIGxvb3AuCiAgICAgICAgICBpZiAoaXNEaWN0KHhSZXNvdXJjZXMpICYmCiAgICAgICAgICAgICAgKCF4UmVzb3VyY2VzLm9iaklkIHx8ICFwcm9jZXNzZWRbeFJlc291cmNlcy5vYmpJZF0pKSB7CiAgICAgICAgICAgIG5vZGVzLnB1c2goeFJlc291cmNlcyk7CiAgICAgICAgICAgIGlmICh4UmVzb3VyY2VzLm9iaklkKSB7CiAgICAgICAgICAgICAgcHJvY2Vzc2VkW3hSZXNvdXJjZXMub2JqSWRdID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAoKICAgIGJ1aWxkRm9ybVhPYmplY3Q6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfYnVpbGRGb3JtWE9iamVjdChyZXNvdXJjZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG9iaiwgc21hc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxTdGF0ZSkgewogICAgICB2YXIgbWF0cml4ID0geG9iai5kaWN0LmdldCgnTWF0cml4Jyk7CiAgICAgIHZhciBiYm94ID0geG9iai5kaWN0LmdldCgnQkJveCcpOwogICAgICB2YXIgZ3JvdXAgPSB4b2JqLmRpY3QuZ2V0KCdHcm91cCcpOwogICAgICBpZiAoZ3JvdXApIHsKICAgICAgICB2YXIgZ3JvdXBPcHRpb25zID0gewogICAgICAgICAgbWF0cml4OiBtYXRyaXgsCiAgICAgICAgICBiYm94OiBiYm94LAogICAgICAgICAgc21hc2s6IHNtYXNrLAogICAgICAgICAgaXNvbGF0ZWQ6IGZhbHNlLAogICAgICAgICAga25vY2tvdXQ6IGZhbHNlCiAgICAgICAgfTsKCiAgICAgICAgdmFyIGdyb3VwU3VidHlwZSA9IGdyb3VwLmdldCgnUycpOwogICAgICAgIHZhciBjb2xvclNwYWNlOwogICAgICAgIGlmIChpc05hbWUoZ3JvdXBTdWJ0eXBlKSAmJiBncm91cFN1YnR5cGUubmFtZSA9PT0gJ1RyYW5zcGFyZW5jeScpIHsKICAgICAgICAgIGdyb3VwT3B0aW9ucy5pc29sYXRlZCA9IChncm91cC5nZXQoJ0knKSB8fCBmYWxzZSk7CiAgICAgICAgICBncm91cE9wdGlvbnMua25vY2tvdXQgPSAoZ3JvdXAuZ2V0KCdLJykgfHwgZmFsc2UpOwogICAgICAgICAgY29sb3JTcGFjZSA9IChncm91cC5oYXMoJ0NTJykgPwogICAgICAgICAgICBDb2xvclNwYWNlLnBhcnNlKGdyb3VwLmdldCgnQ1MnKSwgdGhpcy54cmVmLCByZXNvdXJjZXMpIDogbnVsbCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoc21hc2sgJiYgc21hc2suYmFja2Ryb3ApIHsKICAgICAgICAgIGNvbG9yU3BhY2UgPSBjb2xvclNwYWNlIHx8IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2I7CiAgICAgICAgICBzbWFzay5iYWNrZHJvcCA9IGNvbG9yU3BhY2UuZ2V0UmdiKHNtYXNrLmJhY2tkcm9wLCAwKTsKICAgICAgICB9CgogICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMuYmVnaW5Hcm91cCwgW2dyb3VwT3B0aW9uc10pOwogICAgICB9CgogICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnBhaW50Rm9ybVhPYmplY3RCZWdpbiwgW21hdHJpeCwgYmJveF0pOwoKICAgICAgcmV0dXJuIHRoaXMuZ2V0T3BlcmF0b3JMaXN0KHhvYmosCiAgICAgICAgKHhvYmouZGljdC5nZXQoJ1Jlc291cmNlcycpIHx8IHJlc291cmNlcyksIG9wZXJhdG9yTGlzdCwgaW5pdGlhbFN0YXRlKS4KICAgICAgICB0aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMucGFpbnRGb3JtWE9iamVjdEVuZCwgW10pOwoKICAgICAgICAgIGlmIChncm91cCkgewogICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLmVuZEdyb3VwLCBbZ3JvdXBPcHRpb25zXSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9LAoKICAgIGJ1aWxkUGFpbnRJbWFnZVhPYmplY3Q6CiAgICAgICAgZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9idWlsZFBhaW50SW1hZ2VYT2JqZWN0KHJlc291cmNlcywgaW1hZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZSwgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUtleSwgaW1hZ2VDYWNoZSkgewogICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgIHZhciBkaWN0ID0gaW1hZ2UuZGljdDsKICAgICAgdmFyIHcgPSBkaWN0LmdldCgnV2lkdGgnLCAnVycpOwogICAgICB2YXIgaCA9IGRpY3QuZ2V0KCdIZWlnaHQnLCAnSCcpOwoKICAgICAgaWYgKCEodyAmJiBpc051bSh3KSkgfHwgIShoICYmIGlzTnVtKGgpKSkgewogICAgICAgIHdhcm4oJ0ltYWdlIGRpbWVuc2lvbnMgYXJlIG1pc3NpbmcsIG9yIG5vdCBudW1iZXJzLicpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoUERGSlMubWF4SW1hZ2VTaXplICE9PSAtMSAmJiB3ICogaCA+IFBERkpTLm1heEltYWdlU2l6ZSkgewogICAgICAgIHdhcm4oJ0ltYWdlIGV4Y2VlZGVkIG1heGltdW0gYWxsb3dlZCBzaXplIGFuZCB3YXMgcmVtb3ZlZC4nKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBpbWFnZU1hc2sgPSAoZGljdC5nZXQoJ0ltYWdlTWFzaycsICdJTScpIHx8IGZhbHNlKTsKICAgICAgdmFyIGltZ0RhdGEsIGFyZ3M7CiAgICAgIGlmIChpbWFnZU1hc2spIHsKICAgICAgICAvLyBUaGlzIGRlcGVuZHMgb24gYSB0bXBDYW52YXMgYmVpbmcgZmlsbGVkIHdpdGggdGhlCiAgICAgICAgLy8gY3VycmVudCBmaWxsU3R5bGUsIHN1Y2ggdGhhdCBwcm9jZXNzaW5nIHRoZSBwaXhlbAogICAgICAgIC8vIGRhdGEgY2FuJ3QgYmUgZG9uZSBoZXJlLiBJbnN0ZWFkIG9mIGNyZWF0aW5nIGEKICAgICAgICAvLyBjb21wbGV0ZSBQREZJbWFnZSwgb25seSByZWFkIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQKICAgICAgICAvLyBmb3IgbGF0ZXIuCgogICAgICAgIHZhciB3aWR0aCA9IGRpY3QuZ2V0KCdXaWR0aCcsICdXJyk7CiAgICAgICAgdmFyIGhlaWdodCA9IGRpY3QuZ2V0KCdIZWlnaHQnLCAnSCcpOwogICAgICAgIHZhciBiaXRTdHJpZGVMZW5ndGggPSAod2lkdGggKyA3KSA+PiAzOwogICAgICAgIHZhciBpbWdBcnJheSA9IGltYWdlLmdldEJ5dGVzKGJpdFN0cmlkZUxlbmd0aCAqIGhlaWdodCk7CiAgICAgICAgdmFyIGRlY29kZSA9IGRpY3QuZ2V0KCdEZWNvZGUnLCAnRCcpOwogICAgICAgIHZhciBpbnZlcnNlRGVjb2RlID0gKCEhZGVjb2RlICYmIGRlY29kZVswXSA+IDApOwoKICAgICAgICBpbWdEYXRhID0gUERGSW1hZ2UuY3JlYXRlTWFzayhpbWdBcnJheSwgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSBpbnN0YW5jZW9mIERlY29kZVN0cmVhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZlcnNlRGVjb2RlKTsKICAgICAgICBpbWdEYXRhLmNhY2hlZCA9IHRydWU7CiAgICAgICAgYXJncyA9IFtpbWdEYXRhXTsKICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnBhaW50SW1hZ2VNYXNrWE9iamVjdCwgYXJncyk7CiAgICAgICAgaWYgKGNhY2hlS2V5KSB7CiAgICAgICAgICBpbWFnZUNhY2hlW2NhY2hlS2V5XSA9IHsKICAgICAgICAgICAgZm46IE9QUy5wYWludEltYWdlTWFza1hPYmplY3QsCiAgICAgICAgICAgIGFyZ3M6IGFyZ3MKICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHNvZnRNYXNrID0gKGRpY3QuZ2V0KCdTTWFzaycsICdTTScpIHx8IGZhbHNlKTsKICAgICAgdmFyIG1hc2sgPSAoZGljdC5nZXQoJ01hc2snKSB8fCBmYWxzZSk7CgogICAgICB2YXIgU01BTExfSU1BR0VfRElNRU5TSU9OUyA9IDIwMDsKICAgICAgLy8gSW5saW5pbmcgc21hbGwgaW1hZ2VzIGludG8gdGhlIHF1ZXVlIGFzIFJHQiBkYXRhCiAgICAgIGlmIChpbmxpbmUgJiYgIXNvZnRNYXNrICYmICFtYXNrICYmICEoaW1hZ2UgaW5zdGFuY2VvZiBKcGVnU3RyZWFtKSAmJgogICAgICAgICAgKHcgKyBoKSA8IFNNQUxMX0lNQUdFX0RJTUVOU0lPTlMpIHsKICAgICAgICB2YXIgaW1hZ2VPYmogPSBuZXcgUERGSW1hZ2UodGhpcy54cmVmLCByZXNvdXJjZXMsIGltYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmUsIG51bGwsIG51bGwpOwogICAgICAgIC8vIFdlIGZvcmNlIHRoZSB1c2Ugb2YgUkdCQV8zMkJQUCBpbWFnZXMgaGVyZSwgYmVjYXVzZSB3ZSBjYW4ndCBoYW5kbGUKICAgICAgICAvLyBhbnkgb3RoZXIga2luZC4KICAgICAgICBpbWdEYXRhID0gaW1hZ2VPYmouY3JlYXRlSW1hZ2VEYXRhKC8qIGZvcmNlUkdCQSA9ICovIHRydWUpOwogICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMucGFpbnRJbmxpbmVJbWFnZVhPYmplY3QsIFtpbWdEYXRhXSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICAvLyBJZiB0aGVyZSBpcyBubyBpbWFnZU1hc2ssIGNyZWF0ZSB0aGUgUERGSW1hZ2UgYW5kIGEgbG90CiAgICAgIC8vIG9mIGltYWdlIHByb2Nlc3NpbmcgY2FuIGJlIGRvbmUgaGVyZS4KICAgICAgdmFyIHVuaXF1ZVByZWZpeCA9ICh0aGlzLnVuaXF1ZVByZWZpeCB8fCAnJyk7CiAgICAgIHZhciBvYmpJZCA9ICdpbWdfJyArIHVuaXF1ZVByZWZpeCArICgrK3RoaXMuaWRDb3VudGVycy5vYmopOwogICAgICBvcGVyYXRvckxpc3QuYWRkRGVwZW5kZW5jeShvYmpJZCk7CiAgICAgIGFyZ3MgPSBbb2JqSWQsIHcsIGhdOwoKICAgICAgaWYgKCFzb2Z0TWFzayAmJiAhbWFzayAmJiBpbWFnZSBpbnN0YW5jZW9mIEpwZWdTdHJlYW0gJiYKICAgICAgICAgIGltYWdlLmlzTmF0aXZlbHlTdXBwb3J0ZWQodGhpcy54cmVmLCByZXNvdXJjZXMpKSB7CiAgICAgICAgLy8gVGhlc2UgSlBFR3MgZG9uJ3QgbmVlZCBhbnkgbW9yZSBwcm9jZXNzaW5nIHNvIHdlIGNhbiBqdXN0IHNlbmQgaXQuCiAgICAgICAgb3BlcmF0b3JMaXN0LmFkZE9wKE9QUy5wYWludEpwZWdYT2JqZWN0LCBhcmdzKTsKICAgICAgICB0aGlzLmhhbmRsZXIuc2VuZCgnb2JqJywKICAgICAgICAgIFtvYmpJZCwgdGhpcy5wYWdlSW5kZXgsICdKcGVnU3RyZWFtJywgaW1hZ2UuZ2V0SVIoKV0pOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgUERGSW1hZ2UuYnVpbGRJbWFnZShzZWxmLmhhbmRsZXIsIHNlbGYueHJlZiwgcmVzb3VyY2VzLCBpbWFnZSwgaW5saW5lKS4KICAgICAgICB0aGVuKGZ1bmN0aW9uKGltYWdlT2JqKSB7CiAgICAgICAgICB2YXIgaW1nRGF0YSA9IGltYWdlT2JqLmNyZWF0ZUltYWdlRGF0YSgvKiBmb3JjZVJHQkEgPSAqLyBmYWxzZSk7CiAgICAgICAgICBzZWxmLmhhbmRsZXIuc2VuZCgnb2JqJywgW29iaklkLCBzZWxmLnBhZ2VJbmRleCwgJ0ltYWdlJywgaW1nRGF0YV0sCiAgICAgICAgICAgIFtpbWdEYXRhLmRhdGEuYnVmZmVyXSk7CiAgICAgICAgfSkudGhlbih1bmRlZmluZWQsIGZ1bmN0aW9uIChyZWFzb24pIHsKICAgICAgICAgIHdhcm4oJ1VuYWJsZSB0byBkZWNvZGUgaW1hZ2U6ICcgKyByZWFzb24pOwogICAgICAgICAgc2VsZi5oYW5kbGVyLnNlbmQoJ29iaicsIFtvYmpJZCwgc2VsZi5wYWdlSW5kZXgsICdJbWFnZScsIG51bGxdKTsKICAgICAgICB9KTsKCiAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMucGFpbnRJbWFnZVhPYmplY3QsIGFyZ3MpOwogICAgICBpZiAoY2FjaGVLZXkpIHsKICAgICAgICBpbWFnZUNhY2hlW2NhY2hlS2V5XSA9IHsKICAgICAgICAgIGZuOiBPUFMucGFpbnRJbWFnZVhPYmplY3QsCiAgICAgICAgICBhcmdzOiBhcmdzCiAgICAgICAgfTsKICAgICAgfQogICAgfSwKCiAgICBoYW5kbGVTTWFzazogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9oYW5kbGVTbWFzayhzbWFzaywgcmVzb3VyY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyKSB7CiAgICAgIHZhciBzbWFza0NvbnRlbnQgPSBzbWFzay5nZXQoJ0cnKTsKICAgICAgdmFyIHNtYXNrT3B0aW9ucyA9IHsKICAgICAgICBzdWJ0eXBlOiBzbWFzay5nZXQoJ1MnKS5uYW1lLAogICAgICAgIGJhY2tkcm9wOiBzbWFzay5nZXQoJ0JDJykKICAgICAgfTsKICAgICAgcmV0dXJuIHRoaXMuYnVpbGRGb3JtWE9iamVjdChyZXNvdXJjZXMsIHNtYXNrQ29udGVudCwgc21hc2tPcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LCBzdGF0ZU1hbmFnZXIuc3RhdGUuY2xvbmUoKSk7CiAgICB9LAoKICAgIGhhbmRsZVRpbGluZ1R5cGU6CiAgICAgICAgZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9oYW5kbGVUaWxpbmdUeXBlKGZuLCBhcmdzLCByZXNvdXJjZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm4sIHBhdHRlcm5EaWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3QpIHsKICAgICAgLy8gQ3JlYXRlIGFuIElSIG9mIHRoZSBwYXR0ZXJuIGNvZGUuCiAgICAgIHZhciB0aWxpbmdPcExpc3QgPSBuZXcgT3BlcmF0b3JMaXN0KCk7CiAgICAgIHJldHVybiB0aGlzLmdldE9wZXJhdG9yTGlzdChwYXR0ZXJuLAogICAgICAgIChwYXR0ZXJuRGljdC5nZXQoJ1Jlc291cmNlcycpIHx8IHJlc291cmNlcyksIHRpbGluZ09wTGlzdCkuCiAgICAgICAgdGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAvLyBBZGQgdGhlIGRlcGVuZGVuY2llcyB0byB0aGUgcGFyZW50IG9wZXJhdG9yIGxpc3Qgc28gdGhleSBhcmUKICAgICAgICAgIC8vIHJlc29sdmVkIGJlZm9yZSBzdWIgb3BlcmF0b3IgbGlzdCBpcyBleGVjdXRlZCBzeW5jaHJvbm91c2x5LgogICAgICAgICAgb3BlcmF0b3JMaXN0LmFkZERlcGVuZGVuY2llcyh0aWxpbmdPcExpc3QuZGVwZW5kZW5jaWVzKTsKICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChmbiwgZ2V0VGlsaW5nUGF0dGVybklSKHsKICAgICAgICAgICAgZm5BcnJheTogdGlsaW5nT3BMaXN0LmZuQXJyYXksCiAgICAgICAgICAgIGFyZ3NBcnJheTogdGlsaW5nT3BMaXN0LmFyZ3NBcnJheQogICAgICAgICAgfSwgcGF0dGVybkRpY3QsIGFyZ3MpKTsKICAgICAgICB9KTsKICAgIH0sCgogICAgaGFuZGxlU2V0Rm9udDoKICAgICAgICBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX2hhbmRsZVNldEZvbnQocmVzb3VyY2VzLCBmb250QXJncywgZm9udFJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LCBzdGF0ZSkgewogICAgICAvLyBUT0RPKG1hY2spOiBOb3QgbmVlZGVkPwogICAgICB2YXIgZm9udE5hbWU7CiAgICAgIGlmIChmb250QXJncykgewogICAgICAgIGZvbnRBcmdzID0gZm9udEFyZ3Muc2xpY2UoKTsKICAgICAgICBmb250TmFtZSA9IGZvbnRBcmdzWzBdLm5hbWU7CiAgICAgIH0KCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgcmV0dXJuIHRoaXMubG9hZEZvbnQoZm9udE5hbWUsIGZvbnRSZWYsIHRoaXMueHJlZiwgcmVzb3VyY2VzKS50aGVuKAogICAgICAgICAgZnVuY3Rpb24gKHRyYW5zbGF0ZWQpIHsKICAgICAgICBpZiAoIXRyYW5zbGF0ZWQuZm9udC5pc1R5cGUzRm9udCkgewogICAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZWQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0cmFuc2xhdGVkLmxvYWRUeXBlM0RhdGEoc2VsZiwgcmVzb3VyY2VzLCBvcGVyYXRvckxpc3QpLnRoZW4oCiAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgIHJldHVybiB0cmFuc2xhdGVkOwogICAgICAgIH0pOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICh0cmFuc2xhdGVkKSB7CiAgICAgICAgc3RhdGUuZm9udCA9IHRyYW5zbGF0ZWQuZm9udDsKICAgICAgICB0cmFuc2xhdGVkLnNlbmQoc2VsZi5oYW5kbGVyKTsKICAgICAgICByZXR1cm4gdHJhbnNsYXRlZC5sb2FkZWROYW1lOwogICAgICB9KTsKICAgIH0sCgogICAgaGFuZGxlVGV4dDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9oYW5kbGVUZXh0KGNoYXJzLCBzdGF0ZSkgewogICAgICB2YXIgZm9udCA9IHN0YXRlLmZvbnQ7CiAgICAgIHZhciBnbHlwaHMgPSBmb250LmNoYXJzVG9HbHlwaHMoY2hhcnMpOwogICAgICB2YXIgaXNBZGRUb1BhdGhTZXQgPSAhIShzdGF0ZS50ZXh0UmVuZGVyaW5nTW9kZSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHRSZW5kZXJpbmdNb2RlLkFERF9UT19QQVRIX0ZMQUcpOwogICAgICBpZiAoZm9udC5kYXRhICYmIChpc0FkZFRvUGF0aFNldCB8fCBQREZKUy5kaXNhYmxlRm9udEZhY2UpKSB7CiAgICAgICAgdmFyIGJ1aWxkUGF0aCA9IGZ1bmN0aW9uIChmb250Q2hhcikgewogICAgICAgICAgaWYgKCFmb250LnJlbmRlcmVyLmhhc0J1aWx0UGF0aChmb250Q2hhcikpIHsKICAgICAgICAgICAgdmFyIHBhdGggPSBmb250LnJlbmRlcmVyLmdldFBhdGhKcyhmb250Q2hhcik7CiAgICAgICAgICAgIHRoaXMuaGFuZGxlci5zZW5kKCdjb21tb25vYmonLCBbCiAgICAgICAgICAgICAgZm9udC5sb2FkZWROYW1lICsgJ19wYXRoXycgKyBmb250Q2hhciwKICAgICAgICAgICAgICAnRm9udFBhdGgnLAogICAgICAgICAgICAgIHBhdGgKICAgICAgICAgICAgXSk7CiAgICAgICAgICB9CiAgICAgICAgfS5iaW5kKHRoaXMpOwoKICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBnbHlwaHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgICAgdmFyIGdseXBoID0gZ2x5cGhzW2ldOwogICAgICAgICAgaWYgKGdseXBoID09PSBudWxsKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgYnVpbGRQYXRoKGdseXBoLmZvbnRDaGFyKTsKCiAgICAgICAgICAvLyBJZiB0aGUgZ2x5cGggaGFzIGFuIGFjY2VudCB3ZSBuZWVkIHRvIGJ1aWxkIGEgcGF0aCBmb3IgaXRzCiAgICAgICAgICAvLyBmb250Q2hhciB0b28sIG90aGVyd2lzZSBDYW52YXNHcmFwaGljc19wYWludENoYXIgd2lsbCBmYWlsLgogICAgICAgICAgdmFyIGFjY2VudCA9IGdseXBoLmFjY2VudDsKICAgICAgICAgIGlmIChhY2NlbnQgJiYgYWNjZW50LmZvbnRDaGFyKSB7CiAgICAgICAgICAgIGJ1aWxkUGF0aChhY2NlbnQuZm9udENoYXIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIGdseXBoczsKICAgIH0sCgogICAgc2V0R1N0YXRlOiBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX3NldEdTdGF0ZShyZXNvdXJjZXMsIGdTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LCB4cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIpIHsKICAgICAgLy8gVGhpcyBhcnJheSBob2xkcyB0aGUgY29udmVydGVkL3Byb2Nlc3NlZCBzdGF0ZSBkYXRhLgogICAgICB2YXIgZ1N0YXRlT2JqID0gW107CiAgICAgIHZhciBnU3RhdGVNYXAgPSBnU3RhdGUubWFwOwogICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgIHZhciBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7CiAgICAgIGZvciAodmFyIGtleSBpbiBnU3RhdGVNYXApIHsKICAgICAgICB2YXIgdmFsdWUgPSBnU3RhdGVNYXBba2V5XTsKICAgICAgICBzd2l0Y2ggKGtleSkgewogICAgICAgICAgY2FzZSAnVHlwZSc6CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnTFcnOgogICAgICAgICAgY2FzZSAnTEMnOgogICAgICAgICAgY2FzZSAnTEonOgogICAgICAgICAgY2FzZSAnTUwnOgogICAgICAgICAgY2FzZSAnRCc6CiAgICAgICAgICBjYXNlICdSSSc6CiAgICAgICAgICBjYXNlICdGTCc6CiAgICAgICAgICBjYXNlICdDQSc6CiAgICAgICAgICBjYXNlICdjYSc6CiAgICAgICAgICAgIGdTdGF0ZU9iai5wdXNoKFtrZXksIHZhbHVlXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRm9udCc6CiAgICAgICAgICAgIHByb21pc2UgPSBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIHJldHVybiBzZWxmLmhhbmRsZVNldEZvbnQocmVzb3VyY2VzLCBudWxsLCB2YWx1ZVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yTGlzdCwgc3RhdGVNYW5hZ2VyLnN0YXRlKS4KICAgICAgICAgICAgICAgIHRoZW4oZnVuY3Rpb24gKGxvYWRlZE5hbWUpIHsKICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LmFkZERlcGVuZGVuY3kobG9hZGVkTmFtZSk7CiAgICAgICAgICAgICAgICAgIGdTdGF0ZU9iai5wdXNoKFtrZXksIFtsb2FkZWROYW1lLCB2YWx1ZVsxXV1dKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdCTSc6CiAgICAgICAgICAgIGdTdGF0ZU9iai5wdXNoKFtrZXksIHZhbHVlXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnU01hc2snOgogICAgICAgICAgICBpZiAoaXNOYW1lKHZhbHVlKSAmJiB2YWx1ZS5uYW1lID09PSAnTm9uZScpIHsKICAgICAgICAgICAgICBnU3RhdGVPYmoucHVzaChba2V5LCBmYWxzZV0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBkaWN0ID0geHJlZi5mZXRjaElmUmVmKHZhbHVlKTsKICAgICAgICAgICAgaWYgKGlzRGljdChkaWN0KSkgewogICAgICAgICAgICAgIHByb21pc2UgPSBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlU01hc2soZGljdCwgcmVzb3VyY2VzLCBvcGVyYXRvckxpc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIGdTdGF0ZU9iai5wdXNoKFtrZXksIHRydWVdKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB3YXJuKCdVbnN1cHBvcnRlZCBTTWFzayB0eXBlJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgLy8gT25seSBnZW5lcmF0ZSBpbmZvIGxvZyBtZXNzYWdlcyBmb3IgdGhlIGZvbGxvd2luZyBzaW5jZQogICAgICAgICAgLy8gdGhleSBhcmUgdW5saWtlbHkgdG8gaGF2ZSBhIGJpZyBpbXBhY3Qgb24gdGhlIHJlbmRlcmluZy4KICAgICAgICAgIGNhc2UgJ09QJzoKICAgICAgICAgIGNhc2UgJ29wJzoKICAgICAgICAgIGNhc2UgJ09QTSc6CiAgICAgICAgICBjYXNlICdCRyc6CiAgICAgICAgICBjYXNlICdCRzInOgogICAgICAgICAgY2FzZSAnVUNSJzoKICAgICAgICAgIGNhc2UgJ1VDUjInOgogICAgICAgICAgY2FzZSAnVFInOgogICAgICAgICAgY2FzZSAnVFIyJzoKICAgICAgICAgIGNhc2UgJ0hUJzoKICAgICAgICAgIGNhc2UgJ1NNJzoKICAgICAgICAgIGNhc2UgJ1NBJzoKICAgICAgICAgIGNhc2UgJ0FJUyc6CiAgICAgICAgICBjYXNlICdUSyc6CiAgICAgICAgICAgIC8vIFRPRE8gaW1wbGVtZW50IHRoZXNlIG9wZXJhdG9ycy4KICAgICAgICAgICAgaW5mbygnZ3JhcGhpYyBzdGF0ZSBvcGVyYXRvciAnICsga2V5KTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBpbmZvKCdVbmtub3duIGdyYXBoaWMgc3RhdGUgb3BlcmF0b3IgJyArIGtleSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gcHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBpZiAoZ1N0YXRlT2JqLmxlbmd0aCA+PSAwKSB7CiAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnNldEdTdGF0ZSwgW2dTdGF0ZU9ial0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIGxvYWRGb250OiBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX2xvYWRGb250KGZvbnROYW1lLCBmb250LCB4cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzKSB7CgogICAgICBmdW5jdGlvbiBlcnJvckZvbnQoKSB7CiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgVHJhbnNsYXRlZEZvbnQoJ2dfZm9udF9lcnJvcicsCiAgICAgICAgICBuZXcgRXJyb3JGb250KCdGb250ICcgKyBmb250TmFtZSArICcgaXMgbm90IGF2YWlsYWJsZScpLCBmb250KSk7CiAgICAgIH0KICAgICAgdmFyIGZvbnRSZWY7CiAgICAgIGlmIChmb250KSB7IC8vIExvYWRpbmcgYnkgcmVmLgogICAgICAgIGFzc2VydChpc1JlZihmb250KSk7CiAgICAgICAgZm9udFJlZiA9IGZvbnQ7CiAgICAgIH0gZWxzZSB7IC8vIExvYWRpbmcgYnkgbmFtZS4KICAgICAgICB2YXIgZm9udFJlcyA9IHJlc291cmNlcy5nZXQoJ0ZvbnQnKTsKICAgICAgICBpZiAoZm9udFJlcykgewogICAgICAgICAgZm9udFJlZiA9IGZvbnRSZXMuZ2V0UmF3KGZvbnROYW1lKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgd2FybignZm9udFJlcyBub3QgYXZhaWxhYmxlJyk7CiAgICAgICAgICByZXR1cm4gZXJyb3JGb250KCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICghZm9udFJlZikgewogICAgICAgIHdhcm4oJ2ZvbnRSZWYgbm90IGF2YWlsYWJsZScpOwogICAgICAgIHJldHVybiBlcnJvckZvbnQoKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuZm9udENhY2hlLmhhcyhmb250UmVmKSkgewogICAgICAgIHJldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQoZm9udFJlZik7CiAgICAgIH0KCiAgICAgIGZvbnQgPSB4cmVmLmZldGNoSWZSZWYoZm9udFJlZik7CiAgICAgIGlmICghaXNEaWN0KGZvbnQpKSB7CiAgICAgICAgcmV0dXJuIGVycm9yRm9udCgpOwogICAgICB9CgogICAgICAvLyBXZSBhcmUgaG9sZGluZyBmb250LnRyYW5zbGF0ZWQgcmVmZXJlbmNlcyBqdXN0IGZvciBmb250UmVmIHRoYXQgYXJlIG5vdAogICAgICAvLyBkaWN0aW9uYXJpZXMgKERpY3QpLiBTZWUgZXhwbGFuYXRpb24gYmVsb3cuCiAgICAgIGlmIChmb250LnRyYW5zbGF0ZWQpIHsKICAgICAgICByZXR1cm4gZm9udC50cmFuc2xhdGVkOwogICAgICB9CgogICAgICB2YXIgZm9udENhcGFiaWxpdHkgPSBjcmVhdGVQcm9taXNlQ2FwYWJpbGl0eSgpOwoKICAgICAgdmFyIHByZUV2YWx1YXRlZEZvbnQgPSB0aGlzLnByZUV2YWx1YXRlRm9udChmb250LCB4cmVmKTsKICAgICAgdmFyIGRlc2NyaXB0b3IgPSBwcmVFdmFsdWF0ZWRGb250LmRlc2NyaXB0b3I7CiAgICAgIHZhciBmb250SUQgPSBmb250UmVmLm51bSArICdfJyArIGZvbnRSZWYuZ2VuOwogICAgICBpZiAoaXNEaWN0KGRlc2NyaXB0b3IpKSB7CiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmZvbnRBbGlhc2VzKSB7CiAgICAgICAgICBkZXNjcmlwdG9yLmZvbnRBbGlhc2VzID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICB9CgogICAgICAgIHZhciBmb250QWxpYXNlcyA9IGRlc2NyaXB0b3IuZm9udEFsaWFzZXM7CiAgICAgICAgdmFyIGhhc2ggPSBwcmVFdmFsdWF0ZWRGb250Lmhhc2g7CiAgICAgICAgaWYgKGZvbnRBbGlhc2VzW2hhc2hdKSB7CiAgICAgICAgICB2YXIgYWxpYXNGb250UmVmID0gZm9udEFsaWFzZXNbaGFzaF0uYWxpYXNSZWY7CiAgICAgICAgICBpZiAoYWxpYXNGb250UmVmICYmIHRoaXMuZm9udENhY2hlLmhhcyhhbGlhc0ZvbnRSZWYpKSB7CiAgICAgICAgICAgIHRoaXMuZm9udENhY2hlLnB1dEFsaWFzKGZvbnRSZWYsIGFsaWFzRm9udFJlZik7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQoZm9udFJlZik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoIWZvbnRBbGlhc2VzW2hhc2hdKSB7CiAgICAgICAgICBmb250QWxpYXNlc1toYXNoXSA9IHsKICAgICAgICAgICAgZm9udElEOiBGb250LmdldEZvbnRJRCgpCiAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgZm9udEFsaWFzZXNbaGFzaF0uYWxpYXNSZWYgPSBmb250UmVmOwogICAgICAgIGZvbnRJRCA9IGZvbnRBbGlhc2VzW2hhc2hdLmZvbnRJRDsKICAgICAgfQoKICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgYmFkIFBERiBnZW5lcmF0b3JzIHRoYXQgZG9uJ3QgcmVmZXJlbmNlIGZvbnRzCiAgICAgIC8vIHByb3Blcmx5LCBpLmUuIGJ5IG5vdCB1c2luZyBhbiBvYmplY3QgaWRlbnRpZmllci4KICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZvbnRSZWYgaXMgYSBEaWN0IChhcyBvcHBvc2VkIHRvIGEgc3RhbmRhcmQgb2JqZWN0KSwKICAgICAgLy8gaW4gd2hpY2ggY2FzZSB3ZSBkb24ndCBjYWNoZSB0aGUgZm9udCBhbmQgaW5zdGVhZCByZWZlcmVuY2UgaXQgYnkKICAgICAgLy8gZm9udE5hbWUgaW4gZm9udC5sb2FkZWROYW1lIGJlbG93LgogICAgICB2YXIgZm9udFJlZklzRGljdCA9IGlzRGljdChmb250UmVmKTsKICAgICAgaWYgKCFmb250UmVmSXNEaWN0KSB7CiAgICAgICAgdGhpcy5mb250Q2FjaGUucHV0KGZvbnRSZWYsIGZvbnRDYXBhYmlsaXR5LnByb21pc2UpOwogICAgICB9CgogICAgICAvLyBLZWVwIHRyYWNrIG9mIGVhY2ggZm9udCB3ZSB0cmFuc2xhdGVkIHNvIHRoZSBjYWxsZXIgY2FuCiAgICAgIC8vIGxvYWQgdGhlbSBhc3luY2hyb25vdXNseSBiZWZvcmUgY2FsbGluZyBkaXNwbGF5IG9uIGEgcGFnZS4KICAgICAgZm9udC5sb2FkZWROYW1lID0gJ2dfZm9udF8nICsgKGZvbnRSZWZJc0RpY3QgPwogICAgICAgIGZvbnROYW1lLnJlcGxhY2UoL1xXL2csICcnKSA6IGZvbnRJRCk7CgogICAgICBmb250LnRyYW5zbGF0ZWQgPSBmb250Q2FwYWJpbGl0eS5wcm9taXNlOwoKICAgICAgLy8gVE9ETyBtb3ZlIHByb21pc2VzIGludG8gdHJhbnNsYXRlIGZvbnQKICAgICAgdmFyIHRyYW5zbGF0ZWRQcm9taXNlOwogICAgICB0cnkgewogICAgICAgIHRyYW5zbGF0ZWRQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKAogICAgICAgICAgdGhpcy50cmFuc2xhdGVGb250KHByZUV2YWx1YXRlZEZvbnQsIHhyZWYpKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIHRyYW5zbGF0ZWRQcm9taXNlID0gUHJvbWlzZS5yZWplY3QoZSk7CiAgICAgIH0KCiAgICAgIHRyYW5zbGF0ZWRQcm9taXNlLnRoZW4oZnVuY3Rpb24gKHRyYW5zbGF0ZWRGb250KSB7CiAgICAgICAgaWYgKHRyYW5zbGF0ZWRGb250LmZvbnRUeXBlICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgIHZhciB4cmVmRm9udFN0YXRzID0geHJlZi5zdGF0cy5mb250VHlwZXM7CiAgICAgICAgICB4cmVmRm9udFN0YXRzW3RyYW5zbGF0ZWRGb250LmZvbnRUeXBlXSA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICBmb250Q2FwYWJpbGl0eS5yZXNvbHZlKG5ldyBUcmFuc2xhdGVkRm9udChmb250LmxvYWRlZE5hbWUsCiAgICAgICAgICB0cmFuc2xhdGVkRm9udCwgZm9udCkpOwogICAgICB9LCBmdW5jdGlvbiAocmVhc29uKSB7CiAgICAgICAgLy8gVE9ETyBmb250Q2FwYWJpbGl0eS5yZWplY3Q/CiAgICAgICAgVW5zdXBwb3J0ZWRNYW5hZ2VyLm5vdGlmeShVTlNVUFBPUlRFRF9GRUFUVVJFUy5mb250KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIC8vIGVycm9yLCBidXQgaXQncyBzdGlsbCBuaWNlIHRvIGhhdmUgZm9udCB0eXBlIHJlcG9ydGVkCiAgICAgICAgICB2YXIgZGVzY3JpcHRvciA9IHByZUV2YWx1YXRlZEZvbnQuZGVzY3JpcHRvcjsKICAgICAgICAgIHZhciBmb250RmlsZTMgPSBkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuZ2V0KCdGb250RmlsZTMnKTsKICAgICAgICAgIHZhciBzdWJ0eXBlID0gZm9udEZpbGUzICYmIGZvbnRGaWxlMy5nZXQoJ1N1YnR5cGUnKTsKICAgICAgICAgIHZhciBmb250VHlwZSA9IGdldEZvbnRUeXBlKHByZUV2YWx1YXRlZEZvbnQudHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnR5cGUgJiYgc3VidHlwZS5uYW1lKTsKICAgICAgICAgIHZhciB4cmVmRm9udFN0YXRzID0geHJlZi5zdGF0cy5mb250VHlwZXM7CiAgICAgICAgICB4cmVmRm9udFN0YXRzW2ZvbnRUeXBlXSA9IHRydWU7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsgfQoKICAgICAgICBmb250Q2FwYWJpbGl0eS5yZXNvbHZlKG5ldyBUcmFuc2xhdGVkRm9udChmb250LmxvYWRlZE5hbWUsCiAgICAgICAgICBuZXcgRXJyb3JGb250KHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yID8gcmVhc29uLm1lc3NhZ2UgOiByZWFzb24pLAogICAgICAgICAgZm9udCkpOwogICAgICB9KTsKICAgICAgcmV0dXJuIGZvbnRDYXBhYmlsaXR5LnByb21pc2U7CiAgICB9LAoKICAgIGJ1aWxkUGF0aDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9idWlsZFBhdGgob3BlcmF0b3JMaXN0LCBmbiwgYXJncykgewogICAgICB2YXIgbGFzdEluZGV4ID0gb3BlcmF0b3JMaXN0Lmxlbmd0aCAtIDE7CiAgICAgIGlmICghYXJncykgewogICAgICAgIGFyZ3MgPSBbXTsKICAgICAgfQogICAgICBpZiAobGFzdEluZGV4IDwgMCB8fAogICAgICAgICAgb3BlcmF0b3JMaXN0LmZuQXJyYXlbbGFzdEluZGV4XSAhPT0gT1BTLmNvbnN0cnVjdFBhdGgpIHsKICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLmNvbnN0cnVjdFBhdGgsIFtbZm5dLCBhcmdzXSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIG9wQXJncyA9IG9wZXJhdG9yTGlzdC5hcmdzQXJyYXlbbGFzdEluZGV4XTsKICAgICAgICBvcEFyZ3NbMF0ucHVzaChmbik7CiAgICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkob3BBcmdzWzFdLCBhcmdzKTsKICAgICAgfQogICAgfSwKCiAgICBoYW5kbGVDb2xvck46IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfaGFuZGxlQ29sb3JOKG9wZXJhdG9yTGlzdCwgZm4sIGFyZ3MsCiAgICAgICAgICBjcywgcGF0dGVybnMsIHJlc291cmNlcywgeHJlZikgewogICAgICAvLyBjb21waWxlIHRpbGluZyBwYXR0ZXJucwogICAgICB2YXIgcGF0dGVybk5hbWUgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07CiAgICAgIC8vIFNDTi9zY24gYXBwbGllcyBwYXR0ZXJucyBhbG9uZyB3aXRoIG5vcm1hbCBjb2xvcnMKICAgICAgdmFyIHBhdHRlcm47CiAgICAgIGlmIChpc05hbWUocGF0dGVybk5hbWUpICYmCiAgICAgICAgICAocGF0dGVybiA9IHBhdHRlcm5zLmdldChwYXR0ZXJuTmFtZS5uYW1lKSkpIHsKICAgICAgICB2YXIgZGljdCA9IChpc1N0cmVhbShwYXR0ZXJuKSA/IHBhdHRlcm4uZGljdCA6IHBhdHRlcm4pOwogICAgICAgIHZhciB0eXBlTnVtID0gZGljdC5nZXQoJ1BhdHRlcm5UeXBlJyk7CgogICAgICAgIGlmICh0eXBlTnVtID09PSBUSUxJTkdfUEFUVEVSTikgewogICAgICAgICAgdmFyIGNvbG9yID0gY3MuYmFzZSA/IGNzLmJhc2UuZ2V0UmdiKGFyZ3MsIDApIDogbnVsbDsKICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVRpbGluZ1R5cGUoZm4sIGNvbG9yLCByZXNvdXJjZXMsIHBhdHRlcm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpY3QsIG9wZXJhdG9yTGlzdCk7CiAgICAgICAgfSBlbHNlIGlmICh0eXBlTnVtID09PSBTSEFESU5HX1BBVFRFUk4pIHsKICAgICAgICAgIHZhciBzaGFkaW5nID0gZGljdC5nZXQoJ1NoYWRpbmcnKTsKICAgICAgICAgIHZhciBtYXRyaXggPSBkaWN0LmdldCgnTWF0cml4Jyk7CiAgICAgICAgICBwYXR0ZXJuID0gUGF0dGVybi5wYXJzZVNoYWRpbmcoc2hhZGluZywgbWF0cml4LCB4cmVmLCByZXNvdXJjZXMpOwogICAgICAgICAgb3BlcmF0b3JMaXN0LmFkZE9wKGZuLCBwYXR0ZXJuLmdldElSKCkpOwogICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ1Vua25vd24gUGF0dGVyblR5cGU6ICcgKyB0eXBlTnVtKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gVE9ETyBzaGFsbCB3ZSBmYWlsIGhlcmU/CiAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChmbiwgYXJncyk7CiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICAgIH0sCgogICAgZ2V0T3BlcmF0b3JMaXN0OiBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX2dldE9wZXJhdG9yTGlzdChzdHJlYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsU3RhdGUpIHsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CiAgICAgIHZhciBpbWFnZUNhY2hlID0ge307CgogICAgICBhc3NlcnQob3BlcmF0b3JMaXN0KTsKCiAgICAgIHJlc291cmNlcyA9IChyZXNvdXJjZXMgfHwgRGljdC5lbXB0eSk7CiAgICAgIHZhciB4b2JqcyA9IChyZXNvdXJjZXMuZ2V0KCdYT2JqZWN0JykgfHwgRGljdC5lbXB0eSk7CiAgICAgIHZhciBwYXR0ZXJucyA9IChyZXNvdXJjZXMuZ2V0KCdQYXR0ZXJuJykgfHwgRGljdC5lbXB0eSk7CiAgICAgIHZhciBzdGF0ZU1hbmFnZXIgPSBuZXcgU3RhdGVNYW5hZ2VyKGluaXRpYWxTdGF0ZSB8fCBuZXcgRXZhbFN0YXRlKCkpOwogICAgICB2YXIgcHJlcHJvY2Vzc29yID0gbmV3IEV2YWx1YXRvclByZXByb2Nlc3NvcihzdHJlYW0sIHhyZWYsIHN0YXRlTWFuYWdlcik7CiAgICAgIHZhciB0aW1lU2xvdE1hbmFnZXIgPSBuZXcgVGltZVNsb3RNYW5hZ2VyKCk7CgogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gbmV4dChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICB0aW1lU2xvdE1hbmFnZXIucmVzZXQoKTsKICAgICAgICB2YXIgc3RvcCwgb3BlcmF0aW9uID0ge30sIGksIGlpLCBjczsKICAgICAgICB3aGlsZSAoIShzdG9wID0gdGltZVNsb3RNYW5hZ2VyLmNoZWNrKCkpKSB7CiAgICAgICAgICAvLyBUaGUgYXJndW1lbnRzIHBhcnNlZCBieSByZWFkKCkgYXJlIHVzZWQgYmV5b25kIHRoaXMgbG9vcCwgc28gd2UKICAgICAgICAgIC8vIGNhbm5vdCByZXVzZSB0aGUgc2FtZSBhcnJheSBvbiBlYWNoIGl0ZXJhdGlvbi4gVGhlcmVmb3JlIHdlIHBhc3MKICAgICAgICAgIC8vIGluIHxudWxsfCBhcyB0aGUgaW5pdGlhbCB2YWx1ZSAoc2VlIHRoZSBjb21tZW50IG9uCiAgICAgICAgICAvLyBFdmFsdWF0b3JQcmVwcm9jZXNzb3JfcmVhZCgpIGZvciB3aHkpLgogICAgICAgICAgb3BlcmF0aW9uLmFyZ3MgPSBudWxsOwogICAgICAgICAgaWYgKCEocHJlcHJvY2Vzc29yLnJlYWQob3BlcmF0aW9uKSkpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgYXJncyA9IG9wZXJhdGlvbi5hcmdzOwogICAgICAgICAgdmFyIGZuID0gb3BlcmF0aW9uLmZuOwoKICAgICAgICAgIHN3aXRjaCAoZm4gfCAwKSB7CiAgICAgICAgICAgIGNhc2UgT1BTLnBhaW50WE9iamVjdDoKICAgICAgICAgICAgICBpZiAoYXJnc1swXS5jb2RlKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gZWFnZXJseSBjb21waWxlIFhGb3JtIG9iamVjdHMKICAgICAgICAgICAgICB2YXIgbmFtZSA9IGFyZ3NbMF0ubmFtZTsKICAgICAgICAgICAgICBpZiAoaW1hZ2VDYWNoZVtuYW1lXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoaW1hZ2VDYWNoZVtuYW1lXS5mbiwgaW1hZ2VDYWNoZVtuYW1lXS5hcmdzKTsKICAgICAgICAgICAgICAgIGFyZ3MgPSBudWxsOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgeG9iaiA9IHhvYmpzLmdldChuYW1lKTsKICAgICAgICAgICAgICBpZiAoeG9iaikgewogICAgICAgICAgICAgICAgYXNzZXJ0KGlzU3RyZWFtKHhvYmopLCAnWE9iamVjdCBzaG91bGQgYmUgYSBzdHJlYW0nKTsKCiAgICAgICAgICAgICAgICB2YXIgdHlwZSA9IHhvYmouZGljdC5nZXQoJ1N1YnR5cGUnKTsKICAgICAgICAgICAgICAgIGFzc2VydChpc05hbWUodHlwZSksCiAgICAgICAgICAgICAgICAgICdYT2JqZWN0IHNob3VsZCBoYXZlIGEgTmFtZSBzdWJ0eXBlJyk7CgogICAgICAgICAgICAgICAgaWYgKHR5cGUubmFtZSA9PT0gJ0Zvcm0nKSB7CiAgICAgICAgICAgICAgICAgIHN0YXRlTWFuYWdlci5zYXZlKCk7CiAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmJ1aWxkRm9ybVhPYmplY3QocmVzb3VyY2VzLCB4b2JqLCBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yTGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuY2xvbmUoKSkuCiAgICAgICAgICAgICAgICAgICAgdGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIucmVzdG9yZSgpOwogICAgICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgICAgIH0sIHJlamVjdCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUubmFtZSA9PT0gJ0ltYWdlJykgewogICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkUGFpbnRJbWFnZVhPYmplY3QocmVzb3VyY2VzLCB4b2JqLCBmYWxzZSwKICAgICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3QsIG5hbWUsIGltYWdlQ2FjaGUpOwogICAgICAgICAgICAgICAgICBhcmdzID0gbnVsbDsKICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUubmFtZSA9PT0gJ1BTJykgewogICAgICAgICAgICAgICAgICAvLyBQb3N0U2NyaXB0IFhPYmplY3RzIGFyZSB1bnVzZWQgd2hlbiB2aWV3aW5nIGRvY3VtZW50cy4KICAgICAgICAgICAgICAgICAgLy8gU2VlIHNlY3Rpb24gNC43LjEgb2YgQWRvYmUncyBQREYgcmVmZXJlbmNlLgogICAgICAgICAgICAgICAgICBpbmZvKCdJZ25vcmVkIFhPYmplY3Qgc3VidHlwZSBQUycpOwogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIGVycm9yKCdVbmhhbmRsZWQgWE9iamVjdCBzdWJ0eXBlICcgKyB0eXBlLm5hbWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0Rm9udDoKICAgICAgICAgICAgICB2YXIgZm9udFNpemUgPSBhcmdzWzFdOwogICAgICAgICAgICAgIC8vIGVhZ2VybHkgY29sbGVjdCBhbGwgZm9udHMKICAgICAgICAgICAgICByZXR1cm4gc2VsZi5oYW5kbGVTZXRGb250KHJlc291cmNlcywgYXJncywgbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yTGlzdCwgc3RhdGVNYW5hZ2VyLnN0YXRlKS4KICAgICAgICAgICAgICAgIHRoZW4oZnVuY3Rpb24gKGxvYWRlZE5hbWUpIHsKICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LmFkZERlcGVuZGVuY3kobG9hZGVkTmFtZSk7CiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMuc2V0Rm9udCwgW2xvYWRlZE5hbWUsIGZvbnRTaXplXSk7CiAgICAgICAgICAgICAgICAgIG5leHQocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgICAgICAgICAgIH0sIHJlamVjdCk7CiAgICAgICAgICAgIGNhc2UgT1BTLmVuZElubGluZUltYWdlOgogICAgICAgICAgICAgIHZhciBjYWNoZUtleSA9IGFyZ3NbMF0uY2FjaGVLZXk7CiAgICAgICAgICAgICAgaWYgKGNhY2hlS2V5KSB7CiAgICAgICAgICAgICAgICB2YXIgY2FjaGVFbnRyeSA9IGltYWdlQ2FjaGVbY2FjaGVLZXldOwogICAgICAgICAgICAgICAgaWYgKGNhY2hlRW50cnkgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoY2FjaGVFbnRyeS5mbiwgY2FjaGVFbnRyeS5hcmdzKTsKICAgICAgICAgICAgICAgICAgYXJncyA9IG51bGw7CiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzZWxmLmJ1aWxkUGFpbnRJbWFnZVhPYmplY3QocmVzb3VyY2VzLCBhcmdzWzBdLCB0cnVlLAogICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0LCBjYWNoZUtleSwgaW1hZ2VDYWNoZSk7CiAgICAgICAgICAgICAgYXJncyA9IG51bGw7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIGNhc2UgT1BTLnNob3dUZXh0OgogICAgICAgICAgICAgIGFyZ3NbMF0gPSBzZWxmLmhhbmRsZVRleHQoYXJnc1swXSwgc3RhdGVNYW5hZ2VyLnN0YXRlKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2hvd1NwYWNlZFRleHQ6CiAgICAgICAgICAgICAgdmFyIGFyciA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgdmFyIGNvbWJpbmVkR2x5cGhzID0gW107CiAgICAgICAgICAgICAgdmFyIGFyckxlbmd0aCA9IGFyci5sZW5ndGg7CiAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyckxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICAgICB2YXIgYXJySXRlbSA9IGFycltpXTsKICAgICAgICAgICAgICAgIGlmIChpc1N0cmluZyhhcnJJdGVtKSkgewogICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShjb21iaW5lZEdseXBocywKICAgICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZVRleHQoYXJySXRlbSwgc3RhdGVNYW5hZ2VyLnN0YXRlKSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzTnVtKGFyckl0ZW0pKSB7CiAgICAgICAgICAgICAgICAgIGNvbWJpbmVkR2x5cGhzLnB1c2goYXJySXRlbSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGFyZ3NbMF0gPSBjb21iaW5lZEdseXBoczsKICAgICAgICAgICAgICBmbiA9IE9QUy5zaG93VGV4dDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMubmV4dExpbmVTaG93VGV4dDoKICAgICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLm5leHRMaW5lKTsKICAgICAgICAgICAgICBhcmdzWzBdID0gc2VsZi5oYW5kbGVUZXh0KGFyZ3NbMF0sIHN0YXRlTWFuYWdlci5zdGF0ZSk7CiAgICAgICAgICAgICAgZm4gPSBPUFMuc2hvd1RleHQ7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLm5leHRMaW5lU2V0U3BhY2luZ1Nob3dUZXh0OgogICAgICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMubmV4dExpbmUpOwogICAgICAgICAgICAgIG9wZXJhdG9yTGlzdC5hZGRPcChPUFMuc2V0V29yZFNwYWNpbmcsIFthcmdzLnNoaWZ0KCldKTsKICAgICAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnNldENoYXJTcGFjaW5nLCBbYXJncy5zaGlmdCgpXSk7CiAgICAgICAgICAgICAgYXJnc1swXSA9IHNlbGYuaGFuZGxlVGV4dChhcmdzWzBdLCBzdGF0ZU1hbmFnZXIuc3RhdGUpOwogICAgICAgICAgICAgIGZuID0gT1BTLnNob3dUZXh0OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zZXRUZXh0UmVuZGVyaW5nTW9kZToKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUudGV4dFJlbmRlcmluZ01vZGUgPSBhcmdzWzBdOwogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSBPUFMuc2V0RmlsbENvbG9yU3BhY2U6CiAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyLnN0YXRlLmZpbGxDb2xvclNwYWNlID0KICAgICAgICAgICAgICAgIENvbG9yU3BhY2UucGFyc2UoYXJnc1swXSwgeHJlZiwgcmVzb3VyY2VzKTsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlQ29sb3JTcGFjZToKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZSA9CiAgICAgICAgICAgICAgICBDb2xvclNwYWNlLnBhcnNlKGFyZ3NbMF0sIHhyZWYsIHJlc291cmNlcyk7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEZpbGxDb2xvcjoKICAgICAgICAgICAgICBjcyA9IHN0YXRlTWFuYWdlci5zdGF0ZS5maWxsQ29sb3JTcGFjZTsKICAgICAgICAgICAgICBhcmdzID0gY3MuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldEZpbGxSR0JDb2xvcjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlQ29sb3I6CiAgICAgICAgICAgICAgY3MgPSBzdGF0ZU1hbmFnZXIuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZTsKICAgICAgICAgICAgICBhcmdzID0gY3MuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldFN0cm9rZVJHQkNvbG9yOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zZXRGaWxsR3JheToKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuZmlsbENvbG9yU3BhY2UgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTsKICAgICAgICAgICAgICBhcmdzID0gQ29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXkuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldEZpbGxSR0JDb2xvcjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlR3JheToKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZSA9IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5OwogICAgICAgICAgICAgIGFyZ3MgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2IoYXJncywgMCk7CiAgICAgICAgICAgICAgZm4gPSBPUFMuc2V0U3Ryb2tlUkdCQ29sb3I7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEZpbGxDTVlLQ29sb3I6CiAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyLnN0YXRlLmZpbGxDb2xvclNwYWNlID0gQ29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWs7CiAgICAgICAgICAgICAgYXJncyA9IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYihhcmdzLCAwKTsKICAgICAgICAgICAgICBmbiA9IE9QUy5zZXRGaWxsUkdCQ29sb3I7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldFN0cm9rZUNNWUtDb2xvcjoKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZSA9IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrOwogICAgICAgICAgICAgIGFyZ3MgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2IoYXJncywgMCk7CiAgICAgICAgICAgICAgZm4gPSBPUFMuc2V0U3Ryb2tlUkdCQ29sb3I7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEZpbGxSR0JDb2xvcjoKICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIuc3RhdGUuZmlsbENvbG9yU3BhY2UgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiOwogICAgICAgICAgICAgIGFyZ3MgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYihhcmdzLCAwKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlUkdCQ29sb3I6CiAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2UgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiOwogICAgICAgICAgICAgIGFyZ3MgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMucmdiLmdldFJnYihhcmdzLCAwKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0RmlsbENvbG9yTjoKICAgICAgICAgICAgICBjcyA9IHN0YXRlTWFuYWdlci5zdGF0ZS5maWxsQ29sb3JTcGFjZTsKICAgICAgICAgICAgICBpZiAoY3MubmFtZSA9PT0gJ1BhdHRlcm4nKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5oYW5kbGVDb2xvck4ob3BlcmF0b3JMaXN0LCBPUFMuc2V0RmlsbENvbG9yTiwKICAgICAgICAgICAgICAgICAgYXJncywgY3MsIHBhdHRlcm5zLCByZXNvdXJjZXMsIHhyZWYpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgICB9LCByZWplY3QpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBhcmdzID0gY3MuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldEZpbGxSR0JDb2xvcjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0U3Ryb2tlQ29sb3JOOgogICAgICAgICAgICAgIGNzID0gc3RhdGVNYW5hZ2VyLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U7CiAgICAgICAgICAgICAgaWYgKGNzLm5hbWUgPT09ICdQYXR0ZXJuJykgewogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlQ29sb3JOKG9wZXJhdG9yTGlzdCwgT1BTLnNldFN0cm9rZUNvbG9yTiwKICAgICAgICAgICAgICAgICAgYXJncywgY3MsIHBhdHRlcm5zLCByZXNvdXJjZXMsIHhyZWYpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgICB9LCByZWplY3QpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBhcmdzID0gY3MuZ2V0UmdiKGFyZ3MsIDApOwogICAgICAgICAgICAgIGZuID0gT1BTLnNldFN0cm9rZVJHQkNvbG9yOwogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSBPUFMuc2hhZGluZ0ZpbGw6CiAgICAgICAgICAgICAgdmFyIHNoYWRpbmdSZXMgPSByZXNvdXJjZXMuZ2V0KCdTaGFkaW5nJyk7CiAgICAgICAgICAgICAgaWYgKCFzaGFkaW5nUmVzKSB7CiAgICAgICAgICAgICAgICBlcnJvcignTm8gc2hhZGluZyByZXNvdXJjZSBmb3VuZCcpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIHNoYWRpbmcgPSBzaGFkaW5nUmVzLmdldChhcmdzWzBdLm5hbWUpOwogICAgICAgICAgICAgIGlmICghc2hhZGluZykgewogICAgICAgICAgICAgICAgZXJyb3IoJ05vIHNoYWRpbmcgb2JqZWN0IGZvdW5kJyk7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgc2hhZGluZ0ZpbGwgPSBQYXR0ZXJuLnBhcnNlU2hhZGluZyhzaGFkaW5nLCBudWxsLCB4cmVmLAogICAgICAgICAgICAgICAgcmVzb3VyY2VzKTsKICAgICAgICAgICAgICB2YXIgcGF0dGVybklSID0gc2hhZGluZ0ZpbGwuZ2V0SVIoKTsKICAgICAgICAgICAgICBhcmdzID0gW3BhdHRlcm5JUl07CiAgICAgICAgICAgICAgZm4gPSBPUFMuc2hhZGluZ0ZpbGw7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEdTdGF0ZToKICAgICAgICAgICAgICB2YXIgZGljdE5hbWUgPSBhcmdzWzBdOwogICAgICAgICAgICAgIHZhciBleHRHU3RhdGUgPSByZXNvdXJjZXMuZ2V0KCdFeHRHU3RhdGUnKTsKCiAgICAgICAgICAgICAgaWYgKCFpc0RpY3QoZXh0R1N0YXRlKSB8fCAhZXh0R1N0YXRlLmhhcyhkaWN0TmFtZS5uYW1lKSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgZ1N0YXRlID0gZXh0R1N0YXRlLmdldChkaWN0TmFtZS5uYW1lKTsKICAgICAgICAgICAgICByZXR1cm4gc2VsZi5zZXRHU3RhdGUocmVzb3VyY2VzLCBnU3RhdGUsIG9wZXJhdG9yTGlzdCwgeHJlZiwKICAgICAgICAgICAgICAgIHN0YXRlTWFuYWdlcikudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgfSwgcmVqZWN0KTsKICAgICAgICAgICAgY2FzZSBPUFMubW92ZVRvOgogICAgICAgICAgICBjYXNlIE9QUy5saW5lVG86CiAgICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG86CiAgICAgICAgICAgIGNhc2UgT1BTLmN1cnZlVG8yOgogICAgICAgICAgICBjYXNlIE9QUy5jdXJ2ZVRvMzoKICAgICAgICAgICAgY2FzZSBPUFMuY2xvc2VQYXRoOgogICAgICAgICAgICAgIHNlbGYuYnVpbGRQYXRoKG9wZXJhdG9yTGlzdCwgZm4sIGFyZ3MpOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICBjYXNlIE9QUy5yZWN0YW5nbGU6CiAgICAgICAgICAgICAgc2VsZi5idWlsZFBhdGgob3BlcmF0b3JMaXN0LCBmbiwgYXJncyk7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoZm4sIGFyZ3MpOwogICAgICAgIH0KICAgICAgICBpZiAoc3RvcCkgewogICAgICAgICAgZGVmZXJyZWQudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIG5leHQocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgICAgIH0pOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAvLyBTb21lIFBERnMgZG9uJ3QgY2xvc2UgYWxsIHJlc3RvcmVzIGluc2lkZSBvYmplY3QvZm9ybS4KICAgICAgICAvLyBDbG9zaW5nIHRob3NlIGZvciB0aGVtLgogICAgICAgIGZvciAoaSA9IDAsIGlpID0gcHJlcHJvY2Vzc29yLnNhdmVkU3RhdGVzRGVwdGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICBvcGVyYXRvckxpc3QuYWRkT3AoT1BTLnJlc3RvcmUsIFtdKTsKICAgICAgICB9CiAgICAgICAgcmVzb2x2ZSgpOwogICAgICB9KTsKICAgIH0sCgogICAgZ2V0VGV4dENvbnRlbnQ6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfZ2V0VGV4dENvbnRlbnQoc3RyZWFtLCByZXNvdXJjZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIpIHsKCiAgICAgIHN0YXRlTWFuYWdlciA9IChzdGF0ZU1hbmFnZXIgfHwgbmV3IFN0YXRlTWFuYWdlcihuZXcgVGV4dFN0YXRlKCkpKTsKCiAgICAgIHZhciB0ZXh0Q29udGVudCA9IHsKICAgICAgICBpdGVtczogW10sCiAgICAgICAgc3R5bGVzOiBPYmplY3QuY3JlYXRlKG51bGwpCiAgICAgIH07CiAgICAgIHZhciBiaWRpVGV4dHMgPSB0ZXh0Q29udGVudC5pdGVtczsKICAgICAgdmFyIFNQQUNFX0ZBQ1RPUiA9IDAuMzsKICAgICAgdmFyIE1VTFRJX1NQQUNFX0ZBQ1RPUiA9IDEuNTsKCiAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgdmFyIHhyZWYgPSB0aGlzLnhyZWY7CgogICAgICByZXNvdXJjZXMgPSAoeHJlZi5mZXRjaElmUmVmKHJlc291cmNlcykgfHwgRGljdC5lbXB0eSk7CgogICAgICAvLyBUaGUgeG9iaiBpcyBwYXJzZWQgaWZmIGl0J3MgbmVlZGVkLCBlLmcuIGlmIHRoZXJlIGlzIGEgYERPYCBjbWQuCiAgICAgIHZhciB4b2JqcyA9IG51bGw7CiAgICAgIHZhciB4b2Jqc0NhY2hlID0ge307CgogICAgICB2YXIgcHJlcHJvY2Vzc29yID0gbmV3IEV2YWx1YXRvclByZXByb2Nlc3NvcihzdHJlYW0sIHhyZWYsIHN0YXRlTWFuYWdlcik7CgogICAgICB2YXIgdGV4dFN0YXRlOwoKICAgICAgZnVuY3Rpb24gbmV3VGV4dENodW5rKCkgewogICAgICAgIHZhciBmb250ID0gdGV4dFN0YXRlLmZvbnQ7CiAgICAgICAgaWYgKCEoZm9udC5sb2FkZWROYW1lIGluIHRleHRDb250ZW50LnN0eWxlcykpIHsKICAgICAgICAgIHRleHRDb250ZW50LnN0eWxlc1tmb250LmxvYWRlZE5hbWVdID0gewogICAgICAgICAgICBmb250RmFtaWx5OiBmb250LmZhbGxiYWNrTmFtZSwKICAgICAgICAgICAgYXNjZW50OiBmb250LmFzY2VudCwKICAgICAgICAgICAgZGVzY2VudDogZm9udC5kZXNjZW50LAogICAgICAgICAgICB2ZXJ0aWNhbDogZm9udC52ZXJ0aWNhbAogICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIC8vIHxzdHJ8IGlzIGluaXRpYWxseSBhbiBhcnJheSB3aGljaCB3ZSBwdXNoIGluZGl2aWR1YWwgY2hhcnMgdG8sIGFuZAogICAgICAgICAgLy8gdGhlbiBydW5CaWRpKCkgb3ZlcndyaXRlcyBpdCB3aXRoIHRoZSBmaW5hbCBzdHJpbmcuCiAgICAgICAgICBzdHI6IFtdLAogICAgICAgICAgZGlyOiBudWxsLAogICAgICAgICAgd2lkdGg6IDAsCiAgICAgICAgICBoZWlnaHQ6IDAsCiAgICAgICAgICB0cmFuc2Zvcm06IG51bGwsCiAgICAgICAgICBmb250TmFtZTogZm9udC5sb2FkZWROYW1lCiAgICAgICAgfTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcnVuQmlkaSh0ZXh0Q2h1bmspIHsKICAgICAgICB2YXIgc3RyID0gdGV4dENodW5rLnN0ci5qb2luKCcnKTsKICAgICAgICB2YXIgYmlkaVJlc3VsdCA9IFBERkpTLmJpZGkoc3RyLCAtMSwgdGV4dFN0YXRlLmZvbnQudmVydGljYWwpOwogICAgICAgIHRleHRDaHVuay5zdHIgPSBiaWRpUmVzdWx0LnN0cjsKICAgICAgICB0ZXh0Q2h1bmsuZGlyID0gYmlkaVJlc3VsdC5kaXI7CiAgICAgICAgcmV0dXJuIHRleHRDaHVuazsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gaGFuZGxlU2V0Rm9udChmb250TmFtZSwgZm9udFJlZikgewogICAgICAgIHJldHVybiBzZWxmLmxvYWRGb250KGZvbnROYW1lLCBmb250UmVmLCB4cmVmLCByZXNvdXJjZXMpLgogICAgICAgICAgdGhlbihmdW5jdGlvbiAodHJhbnNsYXRlZCkgewogICAgICAgICAgICB0ZXh0U3RhdGUuZm9udCA9IHRyYW5zbGF0ZWQuZm9udDsKICAgICAgICAgICAgdGV4dFN0YXRlLmZvbnRNYXRyaXggPSB0cmFuc2xhdGVkLmZvbnQuZm9udE1hdHJpeCB8fAogICAgICAgICAgICAgIEZPTlRfSURFTlRJVFlfTUFUUklYOwogICAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGJ1aWxkVGV4dEdlb21ldHJ5KGNoYXJzLCB0ZXh0Q2h1bmspIHsKICAgICAgICB2YXIgZm9udCA9IHRleHRTdGF0ZS5mb250OwogICAgICAgIHRleHRDaHVuayA9IHRleHRDaHVuayB8fCBuZXdUZXh0Q2h1bmsoKTsKICAgICAgICBpZiAoIXRleHRDaHVuay50cmFuc2Zvcm0pIHsKICAgICAgICAgIC8vIDkuNC40IFRleHQgU3BhY2UgRGV0YWlscwogICAgICAgICAgdmFyIHRzbSA9IFt0ZXh0U3RhdGUuZm9udFNpemUgKiB0ZXh0U3RhdGUudGV4dEhTY2FsZSwgMCwKICAgICAgICAgICAgICAgICAgICAgMCwgdGV4dFN0YXRlLmZvbnRTaXplLAogICAgICAgICAgICAgICAgICAgICAwLCB0ZXh0U3RhdGUudGV4dFJpc2VdOwogICAgICAgICAgdmFyIHRybSA9IHRleHRDaHVuay50cmFuc2Zvcm0gPSBVdGlsLnRyYW5zZm9ybSh0ZXh0U3RhdGUuY3RtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVdGlsLnRyYW5zZm9ybSh0ZXh0U3RhdGUudGV4dE1hdHJpeCwgdHNtKSk7CiAgICAgICAgICBpZiAoIWZvbnQudmVydGljYWwpIHsKICAgICAgICAgICAgdGV4dENodW5rLmhlaWdodCA9IE1hdGguc3FydCh0cm1bMl0gKiB0cm1bMl0gKyB0cm1bM10gKiB0cm1bM10pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGV4dENodW5rLndpZHRoID0gTWF0aC5zcXJ0KHRybVswXSAqIHRybVswXSArIHRybVsxXSAqIHRybVsxXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciB3aWR0aCA9IDA7CiAgICAgICAgdmFyIGhlaWdodCA9IDA7CiAgICAgICAgdmFyIGdseXBocyA9IGZvbnQuY2hhcnNUb0dseXBocyhjaGFycyk7CiAgICAgICAgdmFyIGRlZmF1bHRWTWV0cmljcyA9IGZvbnQuZGVmYXVsdFZNZXRyaWNzOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ2x5cGhzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB2YXIgZ2x5cGggPSBnbHlwaHNbaV07CiAgICAgICAgICBpZiAoIWdseXBoKSB7IC8vIFByZXZpb3VzIGdseXBoIHdhcyBhIHNwYWNlLgogICAgICAgICAgICB3aWR0aCArPSB0ZXh0U3RhdGUud29yZFNwYWNpbmcgKiB0ZXh0U3RhdGUudGV4dEhTY2FsZTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgdk1ldHJpY1ggPSBudWxsOwogICAgICAgICAgdmFyIHZNZXRyaWNZID0gbnVsbDsKICAgICAgICAgIHZhciBnbHlwaFdpZHRoID0gbnVsbDsKICAgICAgICAgIGlmIChmb250LnZlcnRpY2FsKSB7CiAgICAgICAgICAgIGlmIChnbHlwaC52bWV0cmljKSB7CiAgICAgICAgICAgICAgZ2x5cGhXaWR0aCA9IGdseXBoLnZtZXRyaWNbMF07CiAgICAgICAgICAgICAgdk1ldHJpY1ggPSBnbHlwaC52bWV0cmljWzFdOwogICAgICAgICAgICAgIHZNZXRyaWNZID0gZ2x5cGgudm1ldHJpY1syXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBnbHlwaFdpZHRoID0gZ2x5cGgud2lkdGg7CiAgICAgICAgICAgICAgdk1ldHJpY1ggPSBnbHlwaC53aWR0aCAqIDAuNTsKICAgICAgICAgICAgICB2TWV0cmljWSA9IGRlZmF1bHRWTWV0cmljc1syXTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZ2x5cGhXaWR0aCA9IGdseXBoLndpZHRoOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBnbHlwaFVuaWNvZGUgPSBnbHlwaC51bmljb2RlOwogICAgICAgICAgaWYgKE5vcm1hbGl6ZWRVbmljb2Rlc1tnbHlwaFVuaWNvZGVdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgZ2x5cGhVbmljb2RlID0gTm9ybWFsaXplZFVuaWNvZGVzW2dseXBoVW5pY29kZV07CiAgICAgICAgICB9CiAgICAgICAgICBnbHlwaFVuaWNvZGUgPSByZXZlcnNlSWZSdGwoZ2x5cGhVbmljb2RlKTsKCiAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgY2FsY3VsYXRlIHRoZSB4IGFuZCB5IG9mIHRoZSBpbmRpdmlkdWFsIGdseXBocy4KICAgICAgICAgIC8vIGlmIChmb250LnZlcnRpY2FsKSB7CiAgICAgICAgICAvLyAgIHRzbVs0XSAtPSB2TWV0cmljWCAqIE1hdGguYWJzKHRleHRTdGF0ZS5mb250U2l6ZSkgKgogICAgICAgICAgLy8gICAgICAgICAgICAgdGV4dFN0YXRlLmZvbnRNYXRyaXhbMF07CiAgICAgICAgICAvLyAgIHRzbVs1XSAtPSB2TWV0cmljWSAqIHRleHRTdGF0ZS5mb250U2l6ZSAqCiAgICAgICAgICAvLyAgICAgICAgICAgICB0ZXh0U3RhdGUuZm9udE1hdHJpeFswXTsKICAgICAgICAgIC8vIH0KICAgICAgICAgIC8vIHZhciB0cm0gPSBVdGlsLnRyYW5zZm9ybSh0ZXh0U3RhdGUudGV4dE1hdHJpeCwgdHNtKTsKICAgICAgICAgIC8vIHZhciBwdCA9IFV0aWwuYXBwbHlUcmFuc2Zvcm0oW3RybVs0XSwgdHJtWzVdXSwgdGV4dFN0YXRlLmN0bSk7CiAgICAgICAgICAvLyB2YXIgeCA9IHB0WzBdOwogICAgICAgICAgLy8gdmFyIHkgPSBwdFsxXTsKCiAgICAgICAgICB2YXIgdHggPSAwOwogICAgICAgICAgdmFyIHR5ID0gMDsKICAgICAgICAgIGlmICghZm9udC52ZXJ0aWNhbCkgewogICAgICAgICAgICB2YXIgdzAgPSBnbHlwaFdpZHRoICogdGV4dFN0YXRlLmZvbnRNYXRyaXhbMF07CiAgICAgICAgICAgIHR4ID0gKHcwICogdGV4dFN0YXRlLmZvbnRTaXplICsgdGV4dFN0YXRlLmNoYXJTcGFjaW5nKSAqCiAgICAgICAgICAgICAgICAgdGV4dFN0YXRlLnRleHRIU2NhbGU7CiAgICAgICAgICAgIHdpZHRoICs9IHR4OwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIHcxID0gZ2x5cGhXaWR0aCAqIHRleHRTdGF0ZS5mb250TWF0cml4WzBdOwogICAgICAgICAgICB0eSA9IHcxICogdGV4dFN0YXRlLmZvbnRTaXplICsgdGV4dFN0YXRlLmNoYXJTcGFjaW5nOwogICAgICAgICAgICBoZWlnaHQgKz0gdHk7CiAgICAgICAgICB9CiAgICAgICAgICB0ZXh0U3RhdGUudHJhbnNsYXRlVGV4dE1hdHJpeCh0eCwgdHkpOwoKICAgICAgICAgIHRleHRDaHVuay5zdHIucHVzaChnbHlwaFVuaWNvZGUpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGEgPSB0ZXh0U3RhdGUudGV4dExpbmVNYXRyaXhbMF07CiAgICAgICAgdmFyIGIgPSB0ZXh0U3RhdGUudGV4dExpbmVNYXRyaXhbMV07CiAgICAgICAgdmFyIHNjYWxlTGluZVggPSBNYXRoLnNxcnQoYSAqIGEgKyBiICogYik7CiAgICAgICAgYSA9IHRleHRTdGF0ZS5jdG1bMF07CiAgICAgICAgYiA9IHRleHRTdGF0ZS5jdG1bMV07CiAgICAgICAgdmFyIHNjYWxlQ3RtWCA9IE1hdGguc3FydChhICogYSArIGIgKiBiKTsKICAgICAgICBpZiAoIWZvbnQudmVydGljYWwpIHsKICAgICAgICAgIHRleHRDaHVuay53aWR0aCArPSB3aWR0aCAqIHNjYWxlQ3RtWCAqIHNjYWxlTGluZVg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRleHRDaHVuay5oZWlnaHQgKz0gTWF0aC5hYnMoaGVpZ2h0ICogc2NhbGVDdG1YICogc2NhbGVMaW5lWCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0ZXh0Q2h1bms7CiAgICAgIH0KCiAgICAgIHZhciB0aW1lU2xvdE1hbmFnZXIgPSBuZXcgVGltZVNsb3RNYW5hZ2VyKCk7CgogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gbmV4dChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICB0aW1lU2xvdE1hbmFnZXIucmVzZXQoKTsKICAgICAgICB2YXIgc3RvcCwgb3BlcmF0aW9uID0ge30sIGFyZ3MgPSBbXTsKICAgICAgICB3aGlsZSAoIShzdG9wID0gdGltZVNsb3RNYW5hZ2VyLmNoZWNrKCkpKSB7CiAgICAgICAgICAvLyBUaGUgYXJndW1lbnRzIHBhcnNlZCBieSByZWFkKCkgYXJlIG5vdCB1c2VkIGJleW9uZCB0aGlzIGxvb3AsIHNvCiAgICAgICAgICAvLyB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgYXJyYXkgb24gZXZlcnkgaXRlcmF0aW9uLCB0aHVzIGF2b2lkaW5nCiAgICAgICAgICAvLyB1bm5lY2Vzc2FyeSBhbGxvY2F0aW9ucy4KICAgICAgICAgIGFyZ3MubGVuZ3RoID0gMDsKICAgICAgICAgIG9wZXJhdGlvbi5hcmdzID0gYXJnczsKICAgICAgICAgIGlmICghKHByZXByb2Nlc3Nvci5yZWFkKG9wZXJhdGlvbikpKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgdGV4dFN0YXRlID0gc3RhdGVNYW5hZ2VyLnN0YXRlOwogICAgICAgICAgdmFyIGZuID0gb3BlcmF0aW9uLmZuOwogICAgICAgICAgYXJncyA9IG9wZXJhdGlvbi5hcmdzOwoKICAgICAgICAgIHN3aXRjaCAoZm4gfCAwKSB7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldEZvbnQ6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmZvbnRTaXplID0gYXJnc1sxXTsKICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlU2V0Rm9udChhcmdzWzBdLm5hbWUpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBuZXh0KHJlc29sdmUsIHJlamVjdCk7CiAgICAgICAgICAgICAgfSwgcmVqZWN0KTsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0VGV4dFJpc2U6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLnRleHRSaXNlID0gYXJnc1swXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0SFNjYWxlOgogICAgICAgICAgICAgIHRleHRTdGF0ZS50ZXh0SFNjYWxlID0gYXJnc1swXSAvIDEwMDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0TGVhZGluZzoKICAgICAgICAgICAgICB0ZXh0U3RhdGUubGVhZGluZyA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLm1vdmVUZXh0OgogICAgICAgICAgICAgIHRleHRTdGF0ZS50cmFuc2xhdGVUZXh0TGluZU1hdHJpeChhcmdzWzBdLCBhcmdzWzFdKTsKICAgICAgICAgICAgICB0ZXh0U3RhdGUudGV4dE1hdHJpeCA9IHRleHRTdGF0ZS50ZXh0TGluZU1hdHJpeC5zbGljZSgpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zZXRMZWFkaW5nTW92ZVRleHQ6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmxlYWRpbmcgPSAtYXJnc1sxXTsKICAgICAgICAgICAgICB0ZXh0U3RhdGUudHJhbnNsYXRlVGV4dExpbmVNYXRyaXgoYXJnc1swXSwgYXJnc1sxXSk7CiAgICAgICAgICAgICAgdGV4dFN0YXRlLnRleHRNYXRyaXggPSB0ZXh0U3RhdGUudGV4dExpbmVNYXRyaXguc2xpY2UoKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBPUFMubmV4dExpbmU6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmNhcnJpYWdlUmV0dXJuKCk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldFRleHRNYXRyaXg6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLnNldFRleHRNYXRyaXgoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSwKICAgICAgICAgICAgICAgIGFyZ3NbNF0sIGFyZ3NbNV0pOwogICAgICAgICAgICAgIHRleHRTdGF0ZS5zZXRUZXh0TGluZU1hdHJpeChhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdLAogICAgICAgICAgICAgICAgYXJnc1s0XSwgYXJnc1s1XSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldENoYXJTcGFjaW5nOgogICAgICAgICAgICAgIHRleHRTdGF0ZS5jaGFyU3BhY2luZyA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLnNldFdvcmRTcGFjaW5nOgogICAgICAgICAgICAgIHRleHRTdGF0ZS53b3JkU3BhY2luZyA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLmJlZ2luVGV4dDoKICAgICAgICAgICAgICB0ZXh0U3RhdGUudGV4dE1hdHJpeCA9IElERU5USVRZX01BVFJJWC5zbGljZSgpOwogICAgICAgICAgICAgIHRleHRTdGF0ZS50ZXh0TGluZU1hdHJpeCA9IElERU5USVRZX01BVFJJWC5zbGljZSgpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zaG93U3BhY2VkVGV4dDoKICAgICAgICAgICAgICB2YXIgaXRlbXMgPSBhcmdzWzBdOwogICAgICAgICAgICAgIHZhciB0ZXh0Q2h1bmsgPSBuZXdUZXh0Q2h1bmsoKTsKICAgICAgICAgICAgICB2YXIgb2Zmc2V0OwogICAgICAgICAgICAgIGZvciAodmFyIGogPSAwLCBqaiA9IGl0ZW1zLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbXNbal0gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgIGJ1aWxkVGV4dEdlb21ldHJ5KGl0ZW1zW2pdLCB0ZXh0Q2h1bmspOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IGl0ZW1zW2pdIC8gMTAwMDsKICAgICAgICAgICAgICAgICAgaWYgKCF0ZXh0U3RhdGUuZm9udC52ZXJ0aWNhbCkgewogICAgICAgICAgICAgICAgICAgIG9mZnNldCA9IC12YWwgKiB0ZXh0U3RhdGUuZm9udFNpemUgKiB0ZXh0U3RhdGUudGV4dEhTY2FsZSAqCiAgICAgICAgICAgICAgICAgICAgICB0ZXh0U3RhdGUudGV4dE1hdHJpeFswXTsKICAgICAgICAgICAgICAgICAgICB0ZXh0U3RhdGUudHJhbnNsYXRlVGV4dE1hdHJpeChvZmZzZXQsIDApOwogICAgICAgICAgICAgICAgICAgIHRleHRDaHVuay53aWR0aCArPSBvZmZzZXQ7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gLXZhbCAqIHRleHRTdGF0ZS5mb250U2l6ZSAqCiAgICAgICAgICAgICAgICAgICAgICB0ZXh0U3RhdGUudGV4dE1hdHJpeFszXTsKICAgICAgICAgICAgICAgICAgICB0ZXh0U3RhdGUudHJhbnNsYXRlVGV4dE1hdHJpeCgwLCBvZmZzZXQpOwogICAgICAgICAgICAgICAgICAgIHRleHRDaHVuay5oZWlnaHQgKz0gb2Zmc2V0OwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIGlmIChpdGVtc1tqXSA8IDAgJiYgdGV4dFN0YXRlLmZvbnQuc3BhY2VXaWR0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZmFrZVNwYWNlcyA9IC1pdGVtc1tqXSAvIHRleHRTdGF0ZS5mb250LnNwYWNlV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgaWYgKGZha2VTcGFjZXMgPiBNVUxUSV9TUEFDRV9GQUNUT1IpIHsKICAgICAgICAgICAgICAgICAgICAgIGZha2VTcGFjZXMgPSBNYXRoLnJvdW5kKGZha2VTcGFjZXMpOwogICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGZha2VTcGFjZXMtLSkgewogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0Q2h1bmsuc3RyLnB1c2goJyAnKTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZha2VTcGFjZXMgPiBTUEFDRV9GQUNUT1IpIHsKICAgICAgICAgICAgICAgICAgICAgIHRleHRDaHVuay5zdHIucHVzaCgnICcpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBiaWRpVGV4dHMucHVzaChydW5CaWRpKHRleHRDaHVuaykpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5zaG93VGV4dDoKICAgICAgICAgICAgICBiaWRpVGV4dHMucHVzaChydW5CaWRpKGJ1aWxkVGV4dEdlb21ldHJ5KGFyZ3NbMF0pKSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgT1BTLm5leHRMaW5lU2hvd1RleHQ6CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmNhcnJpYWdlUmV0dXJuKCk7CiAgICAgICAgICAgICAgYmlkaVRleHRzLnB1c2gocnVuQmlkaShidWlsZFRleHRHZW9tZXRyeShhcmdzWzBdKSkpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5uZXh0TGluZVNldFNwYWNpbmdTaG93VGV4dDoKICAgICAgICAgICAgICB0ZXh0U3RhdGUud29yZFNwYWNpbmcgPSBhcmdzWzBdOwogICAgICAgICAgICAgIHRleHRTdGF0ZS5jaGFyU3BhY2luZyA9IGFyZ3NbMV07CiAgICAgICAgICAgICAgdGV4dFN0YXRlLmNhcnJpYWdlUmV0dXJuKCk7CiAgICAgICAgICAgICAgYmlkaVRleHRzLnB1c2gocnVuQmlkaShidWlsZFRleHRHZW9tZXRyeShhcmdzWzJdKSkpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIE9QUy5wYWludFhPYmplY3Q6CiAgICAgICAgICAgICAgaWYgKGFyZ3NbMF0uY29kZSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICBpZiAoIXhvYmpzKSB7CiAgICAgICAgICAgICAgICB4b2JqcyA9IChyZXNvdXJjZXMuZ2V0KCdYT2JqZWN0JykgfHwgRGljdC5lbXB0eSk7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgbmFtZSA9IGFyZ3NbMF0ubmFtZTsKICAgICAgICAgICAgICBpZiAoeG9ianNDYWNoZS5rZXkgPT09IG5hbWUpIHsKICAgICAgICAgICAgICAgIGlmICh4b2Jqc0NhY2hlLnRleHRzKSB7CiAgICAgICAgICAgICAgICAgIFV0aWwuYXBwZW5kVG9BcnJheShiaWRpVGV4dHMsIHhvYmpzQ2FjaGUudGV4dHMuaXRlbXMpOwogICAgICAgICAgICAgICAgICBVdGlsLmV4dGVuZE9iaih0ZXh0Q29udGVudC5zdHlsZXMsIHhvYmpzQ2FjaGUudGV4dHMuc3R5bGVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIHhvYmogPSB4b2Jqcy5nZXQobmFtZSk7CiAgICAgICAgICAgICAgaWYgKCF4b2JqKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYXNzZXJ0KGlzU3RyZWFtKHhvYmopLCAnWE9iamVjdCBzaG91bGQgYmUgYSBzdHJlYW0nKTsKCiAgICAgICAgICAgICAgdmFyIHR5cGUgPSB4b2JqLmRpY3QuZ2V0KCdTdWJ0eXBlJyk7CiAgICAgICAgICAgICAgYXNzZXJ0KGlzTmFtZSh0eXBlKSwKICAgICAgICAgICAgICAgICdYT2JqZWN0IHNob3VsZCBoYXZlIGEgTmFtZSBzdWJ0eXBlJyk7CgogICAgICAgICAgICAgIGlmICgnRm9ybScgIT09IHR5cGUubmFtZSkgewogICAgICAgICAgICAgICAgeG9ianNDYWNoZS5rZXkgPSBuYW1lOwogICAgICAgICAgICAgICAgeG9ianNDYWNoZS50ZXh0cyA9IG51bGw7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHN0YXRlTWFuYWdlci5zYXZlKCk7CiAgICAgICAgICAgICAgdmFyIG1hdHJpeCA9IHhvYmouZGljdC5nZXQoJ01hdHJpeCcpOwogICAgICAgICAgICAgIGlmIChpc0FycmF5KG1hdHJpeCkgJiYgbWF0cml4Lmxlbmd0aCA9PT0gNikgewogICAgICAgICAgICAgICAgc3RhdGVNYW5hZ2VyLnRyYW5zZm9ybShtYXRyaXgpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2V0VGV4dENvbnRlbnQoeG9iaiwKICAgICAgICAgICAgICAgIHhvYmouZGljdC5nZXQoJ1Jlc291cmNlcycpIHx8IHJlc291cmNlcywgc3RhdGVNYW5hZ2VyKS4KICAgICAgICAgICAgICAgIHRoZW4oZnVuY3Rpb24gKGZvcm1UZXh0Q29udGVudCkgewogICAgICAgICAgICAgICAgICBVdGlsLmFwcGVuZFRvQXJyYXkoYmlkaVRleHRzLCBmb3JtVGV4dENvbnRlbnQuaXRlbXMpOwogICAgICAgICAgICAgICAgICBVdGlsLmV4dGVuZE9iaih0ZXh0Q29udGVudC5zdHlsZXMsIGZvcm1UZXh0Q29udGVudC5zdHlsZXMpOwogICAgICAgICAgICAgICAgICBzdGF0ZU1hbmFnZXIucmVzdG9yZSgpOwoKICAgICAgICAgICAgICAgICAgeG9ianNDYWNoZS5rZXkgPSBuYW1lOwogICAgICAgICAgICAgICAgICB4b2Jqc0NhY2hlLnRleHRzID0gZm9ybVRleHRDb250ZW50OwoKICAgICAgICAgICAgICAgICAgbmV4dChyZXNvbHZlLCByZWplY3QpOwogICAgICAgICAgICAgICAgfSwgcmVqZWN0KTsKICAgICAgICAgICAgY2FzZSBPUFMuc2V0R1N0YXRlOgogICAgICAgICAgICAgIHZhciBkaWN0TmFtZSA9IGFyZ3NbMF07CiAgICAgICAgICAgICAgdmFyIGV4dEdTdGF0ZSA9IHJlc291cmNlcy5nZXQoJ0V4dEdTdGF0ZScpOwoKICAgICAgICAgICAgICBpZiAoIWlzRGljdChleHRHU3RhdGUpIHx8ICFleHRHU3RhdGUuaGFzKGRpY3ROYW1lLm5hbWUpKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHZhciBnc1N0YXRlTWFwID0gZXh0R1N0YXRlLmdldChkaWN0TmFtZS5uYW1lKTsKICAgICAgICAgICAgICB2YXIgZ3NTdGF0ZUZvbnQgPSBudWxsOwogICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBnc1N0YXRlTWFwKSB7CiAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAnRm9udCcpIHsKICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFnc1N0YXRlRm9udCk7CiAgICAgICAgICAgICAgICAgIGdzU3RhdGVGb250ID0gZ3NTdGF0ZU1hcFtrZXldOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoZ3NTdGF0ZUZvbnQpIHsKICAgICAgICAgICAgICAgIHRleHRTdGF0ZS5mb250U2l6ZSA9IGdzU3RhdGVGb250WzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZVNldEZvbnQoZ3NTdGF0ZUZvbnRbMF0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgIG5leHQocmVzb2x2ZSwgcmVqZWN0KTsKICAgICAgICAgICAgICAgIH0sIHJlamVjdCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfSAvLyBzd2l0Y2gKICAgICAgICB9IC8vIHdoaWxlCiAgICAgICAgaWYgKHN0b3ApIHsKICAgICAgICAgIGRlZmVycmVkLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICBuZXh0KHJlc29sdmUsIHJlamVjdCk7CiAgICAgICAgICB9KTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgcmVzb2x2ZSh0ZXh0Q29udGVudCk7CiAgICAgIH0pOwogICAgfSwKCiAgICBleHRyYWN0RGF0YVN0cnVjdHVyZXM6IGZ1bmN0aW9uCiAgICAgIHBhcnRpYWxFdmFsdWF0b3JFeHRyYWN0RGF0YVN0cnVjdHVyZXMoZGljdCwgYmFzZURpY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHJlZiwgcHJvcGVydGllcykgewogICAgICAvLyA5LjEwLjIKICAgICAgdmFyIHRvVW5pY29kZSA9IChkaWN0LmdldCgnVG9Vbmljb2RlJykgfHwgYmFzZURpY3QuZ2V0KCdUb1VuaWNvZGUnKSk7CiAgICAgIGlmICh0b1VuaWNvZGUpIHsKICAgICAgICBwcm9wZXJ0aWVzLnRvVW5pY29kZSA9IHRoaXMucmVhZFRvVW5pY29kZSh0b1VuaWNvZGUpOwogICAgICB9CiAgICAgIGlmIChwcm9wZXJ0aWVzLmNvbXBvc2l0ZSkgewogICAgICAgIC8vIENJRFN5c3RlbUluZm8gaGVscHMgdG8gbWF0Y2ggQ0lEIHRvIGdseXBocwogICAgICAgIHZhciBjaWRTeXN0ZW1JbmZvID0gZGljdC5nZXQoJ0NJRFN5c3RlbUluZm8nKTsKICAgICAgICBpZiAoaXNEaWN0KGNpZFN5c3RlbUluZm8pKSB7CiAgICAgICAgICBwcm9wZXJ0aWVzLmNpZFN5c3RlbUluZm8gPSB7CiAgICAgICAgICAgIHJlZ2lzdHJ5OiBjaWRTeXN0ZW1JbmZvLmdldCgnUmVnaXN0cnknKSwKICAgICAgICAgICAgb3JkZXJpbmc6IGNpZFN5c3RlbUluZm8uZ2V0KCdPcmRlcmluZycpLAogICAgICAgICAgICBzdXBwbGVtZW50OiBjaWRTeXN0ZW1JbmZvLmdldCgnU3VwcGxlbWVudCcpCiAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgdmFyIGNpZFRvR2lkTWFwID0gZGljdC5nZXQoJ0NJRFRvR0lETWFwJyk7CiAgICAgICAgaWYgKGlzU3RyZWFtKGNpZFRvR2lkTWFwKSkgewogICAgICAgICAgcHJvcGVydGllcy5jaWRUb0dpZE1hcCA9IHRoaXMucmVhZENpZFRvR2lkTWFwKGNpZFRvR2lkTWFwKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIEJhc2VkIG9uIDkuNi42IG9mIHRoZSBzcGVjIHRoZSBlbmNvZGluZyBjYW4gY29tZSBmcm9tIG11bHRpcGxlIHBsYWNlcwogICAgICAvLyBhbmQgZGVwZW5kcyBvbiB0aGUgZm9udCB0eXBlLiBUaGUgYmFzZSBlbmNvZGluZyBhbmQgZGlmZmVyZW5jZXMgYXJlCiAgICAgIC8vIHJlYWQgaGVyZSwgYnV0IHRoZSBlbmNvZGluZyB0aGF0IGlzIGFjdHVhbGx5IHVzZWQgaXMgY2hvc2VuIGR1cmluZwogICAgICAvLyBnbHlwaCBtYXBwaW5nIGluIHRoZSBmb250LgogICAgICAvLyBUT0RPOiBMb2FkaW5nIHRoZSBidWlsdCBpbiBlbmNvZGluZyBpbiB0aGUgZm9udCB3b3VsZCBhbGxvdyB0aGUKICAgICAgLy8gZGlmZmVyZW5jZXMgdG8gYmUgbWVyZ2VkIGluIGhlcmUgbm90IHJlcXVpcmUgdXMgdG8gaG9sZCBvbiB0byBpdC4KICAgICAgdmFyIGRpZmZlcmVuY2VzID0gW107CiAgICAgIHZhciBiYXNlRW5jb2RpbmdOYW1lID0gbnVsbDsKICAgICAgdmFyIGVuY29kaW5nOwogICAgICBpZiAoZGljdC5oYXMoJ0VuY29kaW5nJykpIHsKICAgICAgICBlbmNvZGluZyA9IGRpY3QuZ2V0KCdFbmNvZGluZycpOwogICAgICAgIGlmIChpc0RpY3QoZW5jb2RpbmcpKSB7CiAgICAgICAgICBiYXNlRW5jb2RpbmdOYW1lID0gZW5jb2RpbmcuZ2V0KCdCYXNlRW5jb2RpbmcnKTsKICAgICAgICAgIGJhc2VFbmNvZGluZ05hbWUgPSAoaXNOYW1lKGJhc2VFbmNvZGluZ05hbWUpID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZUVuY29kaW5nTmFtZS5uYW1lIDogbnVsbCk7CiAgICAgICAgICAvLyBMb2FkIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBiYXNlIGFuZCBvcmlnaW5hbAogICAgICAgICAgaWYgKGVuY29kaW5nLmhhcygnRGlmZmVyZW5jZXMnKSkgewogICAgICAgICAgICB2YXIgZGlmZkVuY29kaW5nID0gZW5jb2RpbmcuZ2V0KCdEaWZmZXJlbmNlcycpOwogICAgICAgICAgICB2YXIgaW5kZXggPSAwOwogICAgICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSBkaWZmRW5jb2RpbmcubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgICAgICAgIHZhciBkYXRhID0gZGlmZkVuY29kaW5nW2pdOwogICAgICAgICAgICAgIGlmIChpc051bShkYXRhKSkgewogICAgICAgICAgICAgICAgaW5kZXggPSBkYXRhOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkaWZmZXJlbmNlc1tpbmRleCsrXSA9IGRhdGEubmFtZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGlzTmFtZShlbmNvZGluZykpIHsKICAgICAgICAgIGJhc2VFbmNvZGluZ05hbWUgPSBlbmNvZGluZy5uYW1lOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBlcnJvcignRW5jb2RpbmcgaXMgbm90IGEgTmFtZSBub3IgYSBEaWN0Jyk7CiAgICAgICAgfQogICAgICAgIC8vIEFjY29yZGluZyB0byB0YWJsZSAxMTQgaWYgdGhlIGVuY29kaW5nIGlzIGEgbmFtZWQgZW5jb2RpbmcgaXQgbXVzdCBiZQogICAgICAgIC8vIG9uZSBvZiB0aGVzZSBwcmVkZWZpbmVkIGVuY29kaW5ncy4KICAgICAgICBpZiAoKGJhc2VFbmNvZGluZ05hbWUgIT09ICdNYWNSb21hbkVuY29kaW5nJyAmJgogICAgICAgICAgICAgYmFzZUVuY29kaW5nTmFtZSAhPT0gJ01hY0V4cGVydEVuY29kaW5nJyAmJgogICAgICAgICAgICAgYmFzZUVuY29kaW5nTmFtZSAhPT0gJ1dpbkFuc2lFbmNvZGluZycpKSB7CiAgICAgICAgICBiYXNlRW5jb2RpbmdOYW1lID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChiYXNlRW5jb2RpbmdOYW1lKSB7CiAgICAgICAgcHJvcGVydGllcy5kZWZhdWx0RW5jb2RpbmcgPSBFbmNvZGluZ3NbYmFzZUVuY29kaW5nTmFtZV0uc2xpY2UoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBlbmNvZGluZyA9IChwcm9wZXJ0aWVzLnR5cGUgPT09ICdUcnVlVHlwZScgPwogICAgICAgICAgICAgICAgICAgIEVuY29kaW5ncy5XaW5BbnNpRW5jb2RpbmcgOiBFbmNvZGluZ3MuU3RhbmRhcmRFbmNvZGluZyk7CiAgICAgICAgLy8gVGhlIFN5bWJvbGljIGF0dHJpYnV0ZSBjYW4gYmUgbWlzdXNlZCBmb3IgcmVndWxhciBmb250cwogICAgICAgIC8vIEhldXJpc3RpYzogd2UgaGF2ZSB0byBjaGVjayBpZiB0aGUgZm9udCBpcyBhIHN0YW5kYXJkIG9uZSBhbHNvCiAgICAgICAgaWYgKCEhKHByb3BlcnRpZXMuZmxhZ3MgJiBGb250RmxhZ3MuU3ltYm9saWMpKSB7CiAgICAgICAgICBlbmNvZGluZyA9IEVuY29kaW5ncy5NYWNSb21hbkVuY29kaW5nOwogICAgICAgICAgaWYgKCFwcm9wZXJ0aWVzLmZpbGUpIHsKICAgICAgICAgICAgaWYgKC9TeW1ib2wvaS50ZXN0KHByb3BlcnRpZXMubmFtZSkpIHsKICAgICAgICAgICAgICBlbmNvZGluZyA9IEVuY29kaW5ncy5TeW1ib2xTZXRFbmNvZGluZzsKICAgICAgICAgICAgfSBlbHNlIGlmICgvRGluZ2JhdHMvaS50ZXN0KHByb3BlcnRpZXMubmFtZSkpIHsKICAgICAgICAgICAgICBlbmNvZGluZyA9IEVuY29kaW5ncy5aYXBmRGluZ2JhdHNFbmNvZGluZzsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBwcm9wZXJ0aWVzLmRlZmF1bHRFbmNvZGluZyA9IGVuY29kaW5nOwogICAgICB9CgogICAgICBwcm9wZXJ0aWVzLmRpZmZlcmVuY2VzID0gZGlmZmVyZW5jZXM7CiAgICAgIHByb3BlcnRpZXMuYmFzZUVuY29kaW5nTmFtZSA9IGJhc2VFbmNvZGluZ05hbWU7CiAgICAgIHByb3BlcnRpZXMuZGljdCA9IGRpY3Q7CiAgICB9LAoKICAgIHJlYWRUb1VuaWNvZGU6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfcmVhZFRvVW5pY29kZSh0b1VuaWNvZGUpIHsKICAgICAgdmFyIGNtYXAsIGNtYXBPYmogPSB0b1VuaWNvZGU7CiAgICAgIGlmIChpc05hbWUoY21hcE9iaikpIHsKICAgICAgICBjbWFwID0gQ01hcEZhY3RvcnkuY3JlYXRlKGNtYXBPYmosCiAgICAgICAgICB7IHVybDogUERGSlMuY01hcFVybCwgcGFja2VkOiBQREZKUy5jTWFwUGFja2VkIH0sIG51bGwpOwogICAgICAgIGlmIChjbWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKSB7CiAgICAgICAgICByZXR1cm4gbmV3IElkZW50aXR5VG9Vbmljb2RlTWFwKDAsIDB4RkZGRik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBuZXcgVG9Vbmljb2RlTWFwKGNtYXAuZ2V0TWFwKCkpOwogICAgICB9IGVsc2UgaWYgKGlzU3RyZWFtKGNtYXBPYmopKSB7CiAgICAgICAgY21hcCA9IENNYXBGYWN0b3J5LmNyZWF0ZShjbWFwT2JqLAogICAgICAgICAgeyB1cmw6IFBERkpTLmNNYXBVcmwsIHBhY2tlZDogUERGSlMuY01hcFBhY2tlZCB9LCBudWxsKTsKICAgICAgICBpZiAoY21hcCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcCkgewogICAgICAgICAgcmV0dXJuIG5ldyBJZGVudGl0eVRvVW5pY29kZU1hcCgwLCAweEZGRkYpOwogICAgICAgIH0KICAgICAgICBjbWFwID0gY21hcC5nZXRNYXAoKTsKICAgICAgICAvLyBDb252ZXJ0IFVURi0xNkJFCiAgICAgICAgLy8gTk9URTogY21hcCBjYW4gYmUgYSBzcGFyc2UgYXJyYXksIHNvIHVzZSBmb3JFYWNoIGluc3RlYWQgb2YgZm9yKDs7KQogICAgICAgIC8vIHRvIGl0ZXJhdGUgb3ZlciBhbGwga2V5cy4KICAgICAgICBjbWFwLmZvckVhY2goZnVuY3Rpb24odG9rZW4sIGkpIHsKICAgICAgICAgIHZhciBzdHIgPSBbXTsKICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgdG9rZW4ubGVuZ3RoOyBrICs9IDIpIHsKICAgICAgICAgICAgdmFyIHcxID0gKHRva2VuLmNoYXJDb2RlQXQoaykgPDwgOCkgfCB0b2tlbi5jaGFyQ29kZUF0KGsgKyAxKTsKICAgICAgICAgICAgaWYgKCh3MSAmIDB4RjgwMCkgIT09IDB4RDgwMCkgeyAvLyB3MSA8IDB4RDgwMCB8fCB3MSA+IDB4REZGRgogICAgICAgICAgICAgIHN0ci5wdXNoKHcxKTsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBrICs9IDI7CiAgICAgICAgICAgIHZhciB3MiA9ICh0b2tlbi5jaGFyQ29kZUF0KGspIDw8IDgpIHwgdG9rZW4uY2hhckNvZGVBdChrICsgMSk7CiAgICAgICAgICAgIHN0ci5wdXNoKCgodzEgJiAweDNmZikgPDwgMTApICsgKHcyICYgMHgzZmYpICsgMHgxMDAwMCk7CiAgICAgICAgICB9CiAgICAgICAgICBjbWFwW2ldID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIHN0cik7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAoY21hcCk7CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9LAoKICAgIHJlYWRDaWRUb0dpZE1hcDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9yZWFkQ2lkVG9HaWRNYXAoY2lkVG9HaWRTdHJlYW0pIHsKICAgICAgLy8gRXh0cmFjdCB0aGUgZW5jb2RpbmcgZnJvbSB0aGUgQ0lEVG9HSURNYXAKICAgICAgdmFyIGdseXBoc0RhdGEgPSBjaWRUb0dpZFN0cmVhbS5nZXRCeXRlcygpOwoKICAgICAgLy8gU2V0IGVuY29kaW5nIDAgdG8gbGF0ZXIgdmVyaWZ5IHRoZSBmb250IGhhcyBhbiBlbmNvZGluZwogICAgICB2YXIgcmVzdWx0ID0gW107CiAgICAgIGZvciAodmFyIGogPSAwLCBqaiA9IGdseXBoc0RhdGEubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciBnbHlwaElEID0gKGdseXBoc0RhdGFbaisrXSA8PCA4KSB8IGdseXBoc0RhdGFbal07CiAgICAgICAgaWYgKGdseXBoSUQgPT09IDApIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgY29kZSA9IGogPj4gMTsKICAgICAgICByZXN1bHRbY29kZV0gPSBnbHlwaElEOwogICAgICB9CiAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9LAoKICAgIGV4dHJhY3RXaWR0aHM6IGZ1bmN0aW9uIFBhcnRpYWxFdmFsdWF0b3JfZXh0cmFjdFdpZHRocyhkaWN0LCB4cmVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcykgewogICAgICB2YXIgZ2x5cGhzV2lkdGhzID0gW107CiAgICAgIHZhciBkZWZhdWx0V2lkdGggPSAwOwogICAgICB2YXIgZ2x5cGhzVk1ldHJpY3MgPSBbXTsKICAgICAgdmFyIGRlZmF1bHRWTWV0cmljczsKICAgICAgdmFyIGksIGlpLCBqLCBqaiwgc3RhcnQsIGNvZGUsIHdpZHRoczsKICAgICAgaWYgKHByb3BlcnRpZXMuY29tcG9zaXRlKSB7CiAgICAgICAgZGVmYXVsdFdpZHRoID0gZGljdC5nZXQoJ0RXJykgfHwgMTAwMDsKCiAgICAgICAgd2lkdGhzID0gZGljdC5nZXQoJ1cnKTsKICAgICAgICBpZiAod2lkdGhzKSB7CiAgICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IHdpZHRocy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIHN0YXJ0ID0gd2lkdGhzW2krK107CiAgICAgICAgICAgIGNvZGUgPSB4cmVmLmZldGNoSWZSZWYod2lkdGhzW2ldKTsKICAgICAgICAgICAgaWYgKGlzQXJyYXkoY29kZSkpIHsKICAgICAgICAgICAgICBmb3IgKGogPSAwLCBqaiA9IGNvZGUubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgICAgICAgICAgZ2x5cGhzV2lkdGhzW3N0YXJ0KytdID0gY29kZVtqXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdmFyIHdpZHRoID0gd2lkdGhzWysraV07CiAgICAgICAgICAgICAgZm9yIChqID0gc3RhcnQ7IGogPD0gY29kZTsgaisrKSB7CiAgICAgICAgICAgICAgICBnbHlwaHNXaWR0aHNbal0gPSB3aWR0aDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChwcm9wZXJ0aWVzLnZlcnRpY2FsKSB7CiAgICAgICAgICB2YXIgdm1ldHJpY3MgPSAoZGljdC5nZXQoJ0RXMicpIHx8IFs4ODAsIC0xMDAwXSk7CiAgICAgICAgICBkZWZhdWx0Vk1ldHJpY3MgPSBbdm1ldHJpY3NbMV0sIGRlZmF1bHRXaWR0aCAqIDAuNSwgdm1ldHJpY3NbMF1dOwogICAgICAgICAgdm1ldHJpY3MgPSBkaWN0LmdldCgnVzInKTsKICAgICAgICAgIGlmICh2bWV0cmljcykgewogICAgICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IHZtZXRyaWNzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgICAgICBzdGFydCA9IHZtZXRyaWNzW2krK107CiAgICAgICAgICAgICAgY29kZSA9IHhyZWYuZmV0Y2hJZlJlZih2bWV0cmljc1tpXSk7CiAgICAgICAgICAgICAgaWYgKGlzQXJyYXkoY29kZSkpIHsKICAgICAgICAgICAgICAgIGZvciAoaiA9IDAsIGpqID0gY29kZS5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICAgICAgICAgIGdseXBoc1ZNZXRyaWNzW3N0YXJ0KytdID0gW2NvZGVbaisrXSwgY29kZVtqKytdLCBjb2RlW2pdXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdmFyIHZtZXRyaWMgPSBbdm1ldHJpY3NbKytpXSwgdm1ldHJpY3NbKytpXSwgdm1ldHJpY3NbKytpXV07CiAgICAgICAgICAgICAgICBmb3IgKGogPSBzdGFydDsgaiA8PSBjb2RlOyBqKyspIHsKICAgICAgICAgICAgICAgICAgZ2x5cGhzVk1ldHJpY3Nbal0gPSB2bWV0cmljOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgZmlyc3RDaGFyID0gcHJvcGVydGllcy5maXJzdENoYXI7CiAgICAgICAgd2lkdGhzID0gZGljdC5nZXQoJ1dpZHRocycpOwogICAgICAgIGlmICh3aWR0aHMpIHsKICAgICAgICAgIGogPSBmaXJzdENoYXI7CiAgICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IHdpZHRocy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIGdseXBoc1dpZHRoc1tqKytdID0gd2lkdGhzW2ldOwogICAgICAgICAgfQogICAgICAgICAgZGVmYXVsdFdpZHRoID0gKHBhcnNlRmxvYXQoZGVzY3JpcHRvci5nZXQoJ01pc3NpbmdXaWR0aCcpKSB8fCAwKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gVHJ5aW5nIGdldCB0aGUgQmFzZUZvbnQgbWV0cmljcyAoc2VlIGNvbW1lbnQgYWJvdmUpLgogICAgICAgICAgdmFyIGJhc2VGb250TmFtZSA9IGRpY3QuZ2V0KCdCYXNlRm9udCcpOwogICAgICAgICAgaWYgKGlzTmFtZShiYXNlRm9udE5hbWUpKSB7CiAgICAgICAgICAgIHZhciBtZXRyaWNzID0gdGhpcy5nZXRCYXNlRm9udE1ldHJpY3MoYmFzZUZvbnROYW1lLm5hbWUpOwoKICAgICAgICAgICAgZ2x5cGhzV2lkdGhzID0gdGhpcy5idWlsZENoYXJDb2RlVG9XaWR0aChtZXRyaWNzLndpZHRocywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzKTsKICAgICAgICAgICAgZGVmYXVsdFdpZHRoID0gbWV0cmljcy5kZWZhdWx0V2lkdGg7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBIZXVyaXN0aWM6IGRldGVjdGlvbiBvZiBtb25vc3BhY2UgZm9udCBieSBjaGVja2luZyBhbGwgbm9uLXplcm8gd2lkdGhzCiAgICAgIHZhciBpc01vbm9zcGFjZSA9IHRydWU7CiAgICAgIHZhciBmaXJzdFdpZHRoID0gZGVmYXVsdFdpZHRoOwogICAgICBmb3IgKHZhciBnbHlwaCBpbiBnbHlwaHNXaWR0aHMpIHsKICAgICAgICB2YXIgZ2x5cGhXaWR0aCA9IGdseXBoc1dpZHRoc1tnbHlwaF07CiAgICAgICAgaWYgKCFnbHlwaFdpZHRoKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCFmaXJzdFdpZHRoKSB7CiAgICAgICAgICBmaXJzdFdpZHRoID0gZ2x5cGhXaWR0aDsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoZmlyc3RXaWR0aCAhPT0gZ2x5cGhXaWR0aCkgewogICAgICAgICAgaXNNb25vc3BhY2UgPSBmYWxzZTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICBpZiAoaXNNb25vc3BhY2UpIHsKICAgICAgICBwcm9wZXJ0aWVzLmZsYWdzIHw9IEZvbnRGbGFncy5GaXhlZFBpdGNoOwogICAgICB9CgogICAgICBwcm9wZXJ0aWVzLmRlZmF1bHRXaWR0aCA9IGRlZmF1bHRXaWR0aDsKICAgICAgcHJvcGVydGllcy53aWR0aHMgPSBnbHlwaHNXaWR0aHM7CiAgICAgIHByb3BlcnRpZXMuZGVmYXVsdFZNZXRyaWNzID0gZGVmYXVsdFZNZXRyaWNzOwogICAgICBwcm9wZXJ0aWVzLnZtZXRyaWNzID0gZ2x5cGhzVk1ldHJpY3M7CiAgICB9LAoKICAgIGlzU2VyaWZGb250OiBmdW5jdGlvbiBQYXJ0aWFsRXZhbHVhdG9yX2lzU2VyaWZGb250KGJhc2VGb250TmFtZSkgewogICAgICAvLyBTaW11bGF0aW5nIGRlc2NyaXB0b3IgZmxhZ3MgYXR0cmlidXRlCiAgICAgIHZhciBmb250TmFtZVdvU3R5bGUgPSBiYXNlRm9udE5hbWUuc3BsaXQoJy0nKVswXTsKICAgICAgcmV0dXJuIChmb250TmFtZVdvU3R5bGUgaW4gc2VyaWZGb250cykgfHwKICAgICAgICAgICAgICAoZm9udE5hbWVXb1N0eWxlLnNlYXJjaCgvc2VyaWYvZ2kpICE9PSAtMSk7CiAgICB9LAoKICAgIGdldEJhc2VGb250TWV0cmljczogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9nZXRCYXNlRm9udE1ldHJpY3MobmFtZSkgewogICAgICB2YXIgZGVmYXVsdFdpZHRoID0gMDsKICAgICAgdmFyIHdpZHRocyA9IFtdOwogICAgICB2YXIgbW9ub3NwYWNlID0gZmFsc2U7CiAgICAgIHZhciBsb29rdXBOYW1lID0gKHN0ZEZvbnRNYXBbbmFtZV0gfHwgbmFtZSk7CgogICAgICBpZiAoIShsb29rdXBOYW1lIGluIE1ldHJpY3MpKSB7CiAgICAgICAgLy8gVXNlIGRlZmF1bHQgZm9udHMgZm9yIGxvb2tpbmcgdXAgZm9udCBtZXRyaWNzIGlmIHRoZSBwYXNzZWQKICAgICAgICAvLyBmb250IGlzIG5vdCBhIGJhc2UgZm9udAogICAgICAgIGlmICh0aGlzLmlzU2VyaWZGb250KG5hbWUpKSB7CiAgICAgICAgICBsb29rdXBOYW1lID0gJ1RpbWVzLVJvbWFuJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbG9va3VwTmFtZSA9ICdIZWx2ZXRpY2EnOwogICAgICAgIH0KICAgICAgfQogICAgICB2YXIgZ2x5cGhXaWR0aHMgPSBNZXRyaWNzW2xvb2t1cE5hbWVdOwoKICAgICAgaWYgKGlzTnVtKGdseXBoV2lkdGhzKSkgewogICAgICAgIGRlZmF1bHRXaWR0aCA9IGdseXBoV2lkdGhzOwogICAgICAgIG1vbm9zcGFjZSA9IHRydWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgd2lkdGhzID0gZ2x5cGhXaWR0aHM7CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgZGVmYXVsdFdpZHRoOiBkZWZhdWx0V2lkdGgsCiAgICAgICAgbW9ub3NwYWNlOiBtb25vc3BhY2UsCiAgICAgICAgd2lkdGhzOiB3aWR0aHMKICAgICAgfTsKICAgIH0sCgogICAgYnVpbGRDaGFyQ29kZVRvV2lkdGg6CiAgICAgICAgZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9idWxpbGRDaGFyQ29kZVRvV2lkdGgod2lkdGhzQnlHbHlwaE5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcykgewogICAgICB2YXIgd2lkdGhzID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgdmFyIGRpZmZlcmVuY2VzID0gcHJvcGVydGllcy5kaWZmZXJlbmNlczsKICAgICAgdmFyIGVuY29kaW5nID0gcHJvcGVydGllcy5kZWZhdWx0RW5jb2Rpbmc7CiAgICAgIGZvciAodmFyIGNoYXJDb2RlID0gMDsgY2hhckNvZGUgPCAyNTY7IGNoYXJDb2RlKyspIHsKICAgICAgICBpZiAoY2hhckNvZGUgaW4gZGlmZmVyZW5jZXMgJiYKICAgICAgICAgICAgd2lkdGhzQnlHbHlwaE5hbWVbZGlmZmVyZW5jZXNbY2hhckNvZGVdXSkgewogICAgICAgICAgd2lkdGhzW2NoYXJDb2RlXSA9IHdpZHRoc0J5R2x5cGhOYW1lW2RpZmZlcmVuY2VzW2NoYXJDb2RlXV07CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYgKGNoYXJDb2RlIGluIGVuY29kaW5nICYmIHdpZHRoc0J5R2x5cGhOYW1lW2VuY29kaW5nW2NoYXJDb2RlXV0pIHsKICAgICAgICAgIHdpZHRoc1tjaGFyQ29kZV0gPSB3aWR0aHNCeUdseXBoTmFtZVtlbmNvZGluZ1tjaGFyQ29kZV1dOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB3aWR0aHM7CiAgICB9LAoKICAgIHByZUV2YWx1YXRlRm9udDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl9wcmVFdmFsdWF0ZUZvbnQoZGljdCwgeHJlZikgewogICAgICB2YXIgYmFzZURpY3QgPSBkaWN0OwogICAgICB2YXIgdHlwZSA9IGRpY3QuZ2V0KCdTdWJ0eXBlJyk7CiAgICAgIGFzc2VydChpc05hbWUodHlwZSksICdpbnZhbGlkIGZvbnQgU3VidHlwZScpOwoKICAgICAgdmFyIGNvbXBvc2l0ZSA9IGZhbHNlOwogICAgICB2YXIgdWludDhhcnJheTsKICAgICAgaWYgKHR5cGUubmFtZSA9PT0gJ1R5cGUwJykgewogICAgICAgIC8vIElmIGZvbnQgaXMgYSBjb21wb3NpdGUKICAgICAgICAvLyAgLSBnZXQgdGhlIGRlc2NlbmRhbnQgZm9udAogICAgICAgIC8vICAtIHNldCB0aGUgdHlwZSBhY2NvcmRpbmcgdG8gdGhlIGRlc2NlbmRhbnQgZm9udAogICAgICAgIC8vICAtIGdldCB0aGUgRm9udERlc2NyaXB0b3IgZnJvbSB0aGUgZGVzY2VuZGFudCBmb250CiAgICAgICAgdmFyIGRmID0gZGljdC5nZXQoJ0Rlc2NlbmRhbnRGb250cycpOwogICAgICAgIGlmICghZGYpIHsKICAgICAgICAgIGVycm9yKCdEZXNjZW5kYW50IGZvbnRzIGFyZSBub3Qgc3BlY2lmaWVkJyk7CiAgICAgICAgfQogICAgICAgIGRpY3QgPSAoaXNBcnJheShkZikgPyB4cmVmLmZldGNoSWZSZWYoZGZbMF0pIDogZGYpOwoKICAgICAgICB0eXBlID0gZGljdC5nZXQoJ1N1YnR5cGUnKTsKICAgICAgICBhc3NlcnQoaXNOYW1lKHR5cGUpLCAnaW52YWxpZCBmb250IFN1YnR5cGUnKTsKICAgICAgICBjb21wb3NpdGUgPSB0cnVlOwogICAgICB9CgogICAgICB2YXIgZGVzY3JpcHRvciA9IGRpY3QuZ2V0KCdGb250RGVzY3JpcHRvcicpOwogICAgICBpZiAoZGVzY3JpcHRvcikgewogICAgICAgIHZhciBoYXNoID0gbmV3IE11cm11ckhhc2gzXzY0KCk7CiAgICAgICAgdmFyIGVuY29kaW5nID0gYmFzZURpY3QuZ2V0UmF3KCdFbmNvZGluZycpOwogICAgICAgIGlmIChpc05hbWUoZW5jb2RpbmcpKSB7CiAgICAgICAgICBoYXNoLnVwZGF0ZShlbmNvZGluZy5uYW1lKTsKICAgICAgICB9IGVsc2UgaWYgKGlzUmVmKGVuY29kaW5nKSkgewogICAgICAgICAgaGFzaC51cGRhdGUoZW5jb2RpbmcubnVtICsgJ18nICsgZW5jb2RpbmcuZ2VuKTsKICAgICAgICB9IGVsc2UgaWYgKGlzRGljdChlbmNvZGluZykpIHsKICAgICAgICAgIHZhciBrZXlzID0gZW5jb2RpbmcuZ2V0S2V5cygpOwogICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0ga2V5cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIHZhciBlbnRyeSA9IGVuY29kaW5nLmdldFJhdyhrZXlzW2ldKTsKICAgICAgICAgICAgaWYgKGlzTmFtZShlbnRyeSkpIHsKICAgICAgICAgICAgICBoYXNoLnVwZGF0ZShlbnRyeS5uYW1lKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChpc1JlZihlbnRyeSkpIHsKICAgICAgICAgICAgICBoYXNoLnVwZGF0ZShlbnRyeS5udW0gKyAnXycgKyBlbnRyeS5nZW4pOwogICAgICAgICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZW50cnkpKSB7IC8vICdEaWZmZXJlbmNlcycgZW50cnkuCiAgICAgICAgICAgICAgLy8gSWRlYWxseSB3ZSBzaG91bGQgY2hlY2sgdGhlIGNvbnRlbnRzIG9mIHRoZSBhcnJheSwgYnV0IHRvIGF2b2lkCiAgICAgICAgICAgICAgLy8gcGFyc2luZyBpdCBoZXJlIGFuZCB0aGVuIGFnYWluIGluIHxleHRyYWN0RGF0YVN0cnVjdHVyZXN8LAogICAgICAgICAgICAgIC8vIHdlIG9ubHkgdXNlIHRoZSBhcnJheSBsZW5ndGggZm9yIG5vdyAoZml4ZXMgYnVnMTE1NzQ5My5wZGYpLgogICAgICAgICAgICAgIGhhc2gudXBkYXRlKGVudHJ5Lmxlbmd0aC50b1N0cmluZygpKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIHRvVW5pY29kZSA9IGRpY3QuZ2V0KCdUb1VuaWNvZGUnKSB8fCBiYXNlRGljdC5nZXQoJ1RvVW5pY29kZScpOwogICAgICAgIGlmIChpc1N0cmVhbSh0b1VuaWNvZGUpKSB7CiAgICAgICAgICB2YXIgc3RyZWFtID0gdG9Vbmljb2RlLnN0ciB8fCB0b1VuaWNvZGU7CiAgICAgICAgICB1aW50OGFycmF5ID0gc3RyZWFtLmJ1ZmZlciA/CiAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KHN0cmVhbS5idWZmZXIuYnVmZmVyLCAwLCBzdHJlYW0uYnVmZmVyTGVuZ3RoKSA6CiAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KHN0cmVhbS5ieXRlcy5idWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbS5zdGFydCwgc3RyZWFtLmVuZCAtIHN0cmVhbS5zdGFydCk7CiAgICAgICAgICBoYXNoLnVwZGF0ZSh1aW50OGFycmF5KTsKCiAgICAgICAgfSBlbHNlIGlmIChpc05hbWUodG9Vbmljb2RlKSkgewogICAgICAgICAgaGFzaC51cGRhdGUodG9Vbmljb2RlLm5hbWUpOwogICAgICAgIH0KCiAgICAgICAgdmFyIHdpZHRocyA9IGRpY3QuZ2V0KCdXaWR0aHMnKSB8fCBiYXNlRGljdC5nZXQoJ1dpZHRocycpOwogICAgICAgIGlmICh3aWR0aHMpIHsKICAgICAgICAgIHVpbnQ4YXJyYXkgPSBuZXcgVWludDhBcnJheShuZXcgVWludDMyQXJyYXkod2lkdGhzKS5idWZmZXIpOwogICAgICAgICAgaGFzaC51cGRhdGUodWludDhhcnJheSk7CiAgICAgICAgfQogICAgICB9CgogICAgICByZXR1cm4gewogICAgICAgIGRlc2NyaXB0b3I6IGRlc2NyaXB0b3IsCiAgICAgICAgZGljdDogZGljdCwKICAgICAgICBiYXNlRGljdDogYmFzZURpY3QsCiAgICAgICAgY29tcG9zaXRlOiBjb21wb3NpdGUsCiAgICAgICAgdHlwZTogdHlwZS5uYW1lLAogICAgICAgIGhhc2g6IGhhc2ggPyBoYXNoLmhleGRpZ2VzdCgpIDogJycKICAgICAgfTsKICAgIH0sCgogICAgdHJhbnNsYXRlRm9udDogZnVuY3Rpb24gUGFydGlhbEV2YWx1YXRvcl90cmFuc2xhdGVGb250KHByZUV2YWx1YXRlZEZvbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHJlZikgewogICAgICB2YXIgYmFzZURpY3QgPSBwcmVFdmFsdWF0ZWRGb250LmJhc2VEaWN0OwogICAgICB2YXIgZGljdCA9IHByZUV2YWx1YXRlZEZvbnQuZGljdDsKICAgICAgdmFyIGNvbXBvc2l0ZSA9IHByZUV2YWx1YXRlZEZvbnQuY29tcG9zaXRlOwogICAgICB2YXIgZGVzY3JpcHRvciA9IHByZUV2YWx1YXRlZEZvbnQuZGVzY3JpcHRvcjsKICAgICAgdmFyIHR5cGUgPSBwcmVFdmFsdWF0ZWRGb250LnR5cGU7CiAgICAgIHZhciBtYXhDaGFySW5kZXggPSAoY29tcG9zaXRlID8gMHhGRkZGIDogMHhGRik7CiAgICAgIHZhciBwcm9wZXJ0aWVzOwoKICAgICAgaWYgKCFkZXNjcmlwdG9yKSB7CiAgICAgICAgaWYgKHR5cGUgPT09ICdUeXBlMycpIHsKICAgICAgICAgIC8vIEZvbnREZXNjcmlwdG9yIGlzIG9ubHkgcmVxdWlyZWQgZm9yIFR5cGUzIGZvbnRzIHdoZW4gdGhlIGRvY3VtZW50CiAgICAgICAgICAvLyBpcyBhIHRhZ2dlZCBwZGYuIENyZWF0ZSBhIGJhcmJlYm9uZXMgb25lIHRvIGdldCBieS4KICAgICAgICAgIGRlc2NyaXB0b3IgPSBuZXcgRGljdChudWxsKTsKICAgICAgICAgIGRlc2NyaXB0b3Iuc2V0KCdGb250TmFtZScsIE5hbWUuZ2V0KHR5cGUpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gQmVmb3JlIFBERiAxLjUgaWYgdGhlIGZvbnQgd2FzIG9uZSBvZiB0aGUgYmFzZSAxNCBmb250cywgaGF2aW5nIGEKICAgICAgICAgIC8vIEZvbnREZXNjcmlwdG9yIHdhcyBub3QgcmVxdWlyZWQuCiAgICAgICAgICAvLyBUaGlzIGNhc2UgaXMgaGVyZSBmb3IgY29tcGF0aWJpbGl0eS4KICAgICAgICAgIHZhciBiYXNlRm9udE5hbWUgPSBkaWN0LmdldCgnQmFzZUZvbnQnKTsKICAgICAgICAgIGlmICghaXNOYW1lKGJhc2VGb250TmFtZSkpIHsKICAgICAgICAgICAgZXJyb3IoJ0Jhc2UgZm9udCBpcyBub3Qgc3BlY2lmaWVkJyk7CiAgICAgICAgICB9CgogICAgICAgICAgLy8gVXNpbmcgYmFzZSBmb250IG5hbWUgYXMgYSBmb250IG5hbWUuCiAgICAgICAgICBiYXNlRm9udE5hbWUgPSBiYXNlRm9udE5hbWUubmFtZS5yZXBsYWNlKC9bLF9dL2csICctJyk7CiAgICAgICAgICB2YXIgbWV0cmljcyA9IHRoaXMuZ2V0QmFzZUZvbnRNZXRyaWNzKGJhc2VGb250TmFtZSk7CgogICAgICAgICAgLy8gU2ltdWxhdGluZyBkZXNjcmlwdG9yIGZsYWdzIGF0dHJpYnV0ZQogICAgICAgICAgdmFyIGZvbnROYW1lV29TdHlsZSA9IGJhc2VGb250TmFtZS5zcGxpdCgnLScpWzBdOwogICAgICAgICAgdmFyIGZsYWdzID0KICAgICAgICAgICAgKHRoaXMuaXNTZXJpZkZvbnQoZm9udE5hbWVXb1N0eWxlKSA/IEZvbnRGbGFncy5TZXJpZiA6IDApIHwKICAgICAgICAgICAgKG1ldHJpY3MubW9ub3NwYWNlID8gRm9udEZsYWdzLkZpeGVkUGl0Y2ggOiAwKSB8CiAgICAgICAgICAgIChzeW1ib2xzRm9udHNbZm9udE5hbWVXb1N0eWxlXSA/IEZvbnRGbGFncy5TeW1ib2xpYyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvbnRGbGFncy5Ob25zeW1ib2xpYyk7CgogICAgICAgICAgcHJvcGVydGllcyA9IHsKICAgICAgICAgICAgdHlwZTogdHlwZSwKICAgICAgICAgICAgbmFtZTogYmFzZUZvbnROYW1lLAogICAgICAgICAgICB3aWR0aHM6IG1ldHJpY3Mud2lkdGhzLAogICAgICAgICAgICBkZWZhdWx0V2lkdGg6IG1ldHJpY3MuZGVmYXVsdFdpZHRoLAogICAgICAgICAgICBmbGFnczogZmxhZ3MsCiAgICAgICAgICAgIGZpcnN0Q2hhcjogMCwKICAgICAgICAgICAgbGFzdENoYXI6IG1heENoYXJJbmRleAogICAgICAgICAgfTsKICAgICAgICAgIHRoaXMuZXh0cmFjdERhdGFTdHJ1Y3R1cmVzKGRpY3QsIGRpY3QsIHhyZWYsIHByb3BlcnRpZXMpOwogICAgICAgICAgcHJvcGVydGllcy53aWR0aHMgPSB0aGlzLmJ1aWxkQ2hhckNvZGVUb1dpZHRoKG1ldHJpY3Mud2lkdGhzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMpOwogICAgICAgICAgcmV0dXJuIG5ldyBGb250KGJhc2VGb250TmFtZSwgbnVsbCwgcHJvcGVydGllcyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHNwZWMgaWYgJ0ZvbnREZXNjcmlwdG9yJyBpcyBkZWNsYXJlZCwgJ0ZpcnN0Q2hhcicsCiAgICAgIC8vICdMYXN0Q2hhcicgYW5kICdXaWR0aHMnIHNob3VsZCBleGlzdCB0b28sIGJ1dCBzb21lIFBERiBlbmNvZGVycyBzZWVtCiAgICAgIC8vIHRvIGlnbm9yZSB0aGlzIHJ1bGUgd2hlbiBhIHZhcmlhbnQgb2YgYSBzdGFuZGFydCBmb250IGlzIHVzZWQuCiAgICAgIC8vIFRPRE8gRmlsbCB0aGUgd2lkdGggYXJyYXkgZGVwZW5kaW5nIG9uIHdoaWNoIG9mIHRoZSBiYXNlIGZvbnQgdGhpcyBpcwogICAgICAvLyBhIHZhcmlhbnQuCiAgICAgIHZhciBmaXJzdENoYXIgPSAoZGljdC5nZXQoJ0ZpcnN0Q2hhcicpIHx8IDApOwogICAgICB2YXIgbGFzdENoYXIgPSAoZGljdC5nZXQoJ0xhc3RDaGFyJykgfHwgbWF4Q2hhckluZGV4KTsKCiAgICAgIHZhciBmb250TmFtZSA9IGRlc2NyaXB0b3IuZ2V0KCdGb250TmFtZScpOwogICAgICB2YXIgYmFzZUZvbnQgPSBkaWN0LmdldCgnQmFzZUZvbnQnKTsKICAgICAgLy8gU29tZSBiYWQgUERGcyBoYXZlIGEgc3RyaW5nIGFzIHRoZSBmb250IG5hbWUuCiAgICAgIGlmIChpc1N0cmluZyhmb250TmFtZSkpIHsKICAgICAgICBmb250TmFtZSA9IE5hbWUuZ2V0KGZvbnROYW1lKTsKICAgICAgfQogICAgICBpZiAoaXNTdHJpbmcoYmFzZUZvbnQpKSB7CiAgICAgICAgYmFzZUZvbnQgPSBOYW1lLmdldChiYXNlRm9udCk7CiAgICAgIH0KCiAgICAgIGlmICh0eXBlICE9PSAnVHlwZTMnKSB7CiAgICAgICAgdmFyIGZvbnROYW1lU3RyID0gZm9udE5hbWUgJiYgZm9udE5hbWUubmFtZTsKICAgICAgICB2YXIgYmFzZUZvbnRTdHIgPSBiYXNlRm9udCAmJiBiYXNlRm9udC5uYW1lOwogICAgICAgIGlmIChmb250TmFtZVN0ciAhPT0gYmFzZUZvbnRTdHIpIHsKICAgICAgICAgIGluZm8oJ1RoZSBGb250RGVzY3JpcHRvclwncyBGb250TmFtZSBpcyAiJyArIGZvbnROYW1lU3RyICsKICAgICAgICAgICAgICAgJyIgYnV0IHNob3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgRm9udFwncyBCYXNlRm9udCAiJyArCiAgICAgICAgICAgICAgIGJhc2VGb250U3RyICsgJyInKTsKICAgICAgICAgIC8vIFdvcmthcm91bmQgZm9yIGNhc2VzIHdoZXJlIGUuZy4gZm9udE5hbWVTdHIgPSAnQXJpYWwnIGFuZAogICAgICAgICAgLy8gYmFzZUZvbnRTdHIgPSAnQXJpYWwsQm9sZCcgKG5lZWRlZCB3aGVuIG5vIGZvbnQgZmlsZSBpcyBlbWJlZGRlZCkuCiAgICAgICAgICBpZiAoZm9udE5hbWVTdHIgJiYgYmFzZUZvbnRTdHIgJiYKICAgICAgICAgICAgICBiYXNlRm9udFN0ci5pbmRleE9mKGZvbnROYW1lU3RyKSA9PT0gMCkgewogICAgICAgICAgICBmb250TmFtZSA9IGJhc2VGb250OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICBmb250TmFtZSA9IChmb250TmFtZSB8fCBiYXNlRm9udCk7CgogICAgICBhc3NlcnQoaXNOYW1lKGZvbnROYW1lKSwgJ2ludmFsaWQgZm9udCBuYW1lJyk7CgogICAgICB2YXIgZm9udEZpbGUgPSBkZXNjcmlwdG9yLmdldCgnRm9udEZpbGUnLCAnRm9udEZpbGUyJywgJ0ZvbnRGaWxlMycpOwogICAgICBpZiAoZm9udEZpbGUpIHsKICAgICAgICBpZiAoZm9udEZpbGUuZGljdCkgewogICAgICAgICAgdmFyIHN1YnR5cGUgPSBmb250RmlsZS5kaWN0LmdldCgnU3VidHlwZScpOwogICAgICAgICAgaWYgKHN1YnR5cGUpIHsKICAgICAgICAgICAgc3VidHlwZSA9IHN1YnR5cGUubmFtZTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBsZW5ndGgxID0gZm9udEZpbGUuZGljdC5nZXQoJ0xlbmd0aDEnKTsKICAgICAgICAgIHZhciBsZW5ndGgyID0gZm9udEZpbGUuZGljdC5nZXQoJ0xlbmd0aDInKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHByb3BlcnRpZXMgPSB7CiAgICAgICAgdHlwZTogdHlwZSwKICAgICAgICBuYW1lOiBmb250TmFtZS5uYW1lLAogICAgICAgIHN1YnR5cGU6IHN1YnR5cGUsCiAgICAgICAgZmlsZTogZm9udEZpbGUsCiAgICAgICAgbGVuZ3RoMTogbGVuZ3RoMSwKICAgICAgICBsZW5ndGgyOiBsZW5ndGgyLAogICAgICAgIGxvYWRlZE5hbWU6IGJhc2VEaWN0LmxvYWRlZE5hbWUsCiAgICAgICAgY29tcG9zaXRlOiBjb21wb3NpdGUsCiAgICAgICAgd2lkZUNoYXJzOiBjb21wb3NpdGUsCiAgICAgICAgZml4ZWRQaXRjaDogZmFsc2UsCiAgICAgICAgZm9udE1hdHJpeDogKGRpY3QuZ2V0KCdGb250TWF0cml4JykgfHwgRk9OVF9JREVOVElUWV9NQVRSSVgpLAogICAgICAgIGZpcnN0Q2hhcjogZmlyc3RDaGFyIHx8IDAsCiAgICAgICAgbGFzdENoYXI6IChsYXN0Q2hhciB8fCBtYXhDaGFySW5kZXgpLAogICAgICAgIGJib3g6IGRlc2NyaXB0b3IuZ2V0KCdGb250QkJveCcpLAogICAgICAgIGFzY2VudDogZGVzY3JpcHRvci5nZXQoJ0FzY2VudCcpLAogICAgICAgIGRlc2NlbnQ6IGRlc2NyaXB0b3IuZ2V0KCdEZXNjZW50JyksCiAgICAgICAgeEhlaWdodDogZGVzY3JpcHRvci5nZXQoJ1hIZWlnaHQnKSwKICAgICAgICBjYXBIZWlnaHQ6IGRlc2NyaXB0b3IuZ2V0KCdDYXBIZWlnaHQnKSwKICAgICAgICBmbGFnczogZGVzY3JpcHRvci5nZXQoJ0ZsYWdzJyksCiAgICAgICAgaXRhbGljQW5nbGU6IGRlc2NyaXB0b3IuZ2V0KCdJdGFsaWNBbmdsZScpLAogICAgICAgIGNvZGVkOiBmYWxzZQogICAgICB9OwoKICAgICAgaWYgKGNvbXBvc2l0ZSkgewogICAgICAgIHZhciBjaWRFbmNvZGluZyA9IGJhc2VEaWN0LmdldCgnRW5jb2RpbmcnKTsKICAgICAgICBpZiAoaXNOYW1lKGNpZEVuY29kaW5nKSkgewogICAgICAgICAgcHJvcGVydGllcy5jaWRFbmNvZGluZyA9IGNpZEVuY29kaW5nLm5hbWU7CiAgICAgICAgfQogICAgICAgIHByb3BlcnRpZXMuY01hcCA9IENNYXBGYWN0b3J5LmNyZWF0ZShjaWRFbmNvZGluZywKICAgICAgICAgIHsgdXJsOiBQREZKUy5jTWFwVXJsLCBwYWNrZWQ6IFBERkpTLmNNYXBQYWNrZWQgfSwgbnVsbCk7CiAgICAgICAgcHJvcGVydGllcy52ZXJ0aWNhbCA9IHByb3BlcnRpZXMuY01hcC52ZXJ0aWNhbDsKICAgICAgfQogICAgICB0aGlzLmV4dHJhY3REYXRhU3RydWN0dXJlcyhkaWN0LCBiYXNlRGljdCwgeHJlZiwgcHJvcGVydGllcyk7CiAgICAgIHRoaXMuZXh0cmFjdFdpZHRocyhkaWN0LCB4cmVmLCBkZXNjcmlwdG9yLCBwcm9wZXJ0aWVzKTsKCiAgICAgIGlmICh0eXBlID09PSAnVHlwZTMnKSB7CiAgICAgICAgcHJvcGVydGllcy5pc1R5cGUzRm9udCA9IHRydWU7CiAgICAgIH0KCiAgICAgIHJldHVybiBuZXcgRm9udChmb250TmFtZS5uYW1lLCBmb250RmlsZSwgcHJvcGVydGllcyk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFBhcnRpYWxFdmFsdWF0b3I7Cn0pKCk7Cgp2YXIgVHJhbnNsYXRlZEZvbnQgPSAoZnVuY3Rpb24gVHJhbnNsYXRlZEZvbnRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFRyYW5zbGF0ZWRGb250KGxvYWRlZE5hbWUsIGZvbnQsIGRpY3QpIHsKICAgIHRoaXMubG9hZGVkTmFtZSA9IGxvYWRlZE5hbWU7CiAgICB0aGlzLmZvbnQgPSBmb250OwogICAgdGhpcy5kaWN0ID0gZGljdDsKICAgIHRoaXMudHlwZTNMb2FkZWQgPSBudWxsOwogICAgdGhpcy5zZW50ID0gZmFsc2U7CiAgfQogIFRyYW5zbGF0ZWRGb250LnByb3RvdHlwZSA9IHsKICAgIHNlbmQ6IGZ1bmN0aW9uIChoYW5kbGVyKSB7CiAgICAgIGlmICh0aGlzLnNlbnQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdmFyIGZvbnREYXRhID0gdGhpcy5mb250LmV4cG9ydERhdGEoKTsKICAgICAgaGFuZGxlci5zZW5kKCdjb21tb25vYmonLCBbCiAgICAgICAgdGhpcy5sb2FkZWROYW1lLAogICAgICAgICdGb250JywKICAgICAgICBmb250RGF0YQogICAgICBdKTsKICAgICAgdGhpcy5zZW50ID0gdHJ1ZTsKICAgIH0sCiAgICBsb2FkVHlwZTNEYXRhOiBmdW5jdGlvbiAoZXZhbHVhdG9yLCByZXNvdXJjZXMsIHBhcmVudE9wZXJhdG9yTGlzdCkgewogICAgICBhc3NlcnQodGhpcy5mb250LmlzVHlwZTNGb250KTsKCiAgICAgIGlmICh0aGlzLnR5cGUzTG9hZGVkKSB7CiAgICAgICAgcmV0dXJuIHRoaXMudHlwZTNMb2FkZWQ7CiAgICAgIH0KCiAgICAgIHZhciB0cmFuc2xhdGVkRm9udCA9IHRoaXMuZm9udDsKICAgICAgdmFyIGxvYWRDaGFyUHJvY3NQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7CiAgICAgIHZhciBjaGFyUHJvY3MgPSB0aGlzLmRpY3QuZ2V0KCdDaGFyUHJvY3MnKS5nZXRBbGwoKTsKICAgICAgdmFyIGZvbnRSZXNvdXJjZXMgPSB0aGlzLmRpY3QuZ2V0KCdSZXNvdXJjZXMnKSB8fCByZXNvdXJjZXM7CiAgICAgIHZhciBjaGFyUHJvY0tleXMgPSBPYmplY3Qua2V5cyhjaGFyUHJvY3MpOwogICAgICB2YXIgY2hhclByb2NPcGVyYXRvckxpc3QgPSB7fTsKICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBjaGFyUHJvY0tleXMubGVuZ3RoOyBpIDwgbjsgKytpKSB7CiAgICAgICAgbG9hZENoYXJQcm9jc1Byb21pc2UgPSBsb2FkQ2hhclByb2NzUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChrZXkpIHsKICAgICAgICAgIHZhciBnbHlwaFN0cmVhbSA9IGNoYXJQcm9jc1trZXldOwogICAgICAgICAgdmFyIG9wZXJhdG9yTGlzdCA9IG5ldyBPcGVyYXRvckxpc3QoKTsKICAgICAgICAgIHJldHVybiBldmFsdWF0b3IuZ2V0T3BlcmF0b3JMaXN0KGdseXBoU3RyZWFtLCBmb250UmVzb3VyY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JMaXN0KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgY2hhclByb2NPcGVyYXRvckxpc3Rba2V5XSA9IG9wZXJhdG9yTGlzdC5nZXRJUigpOwoKICAgICAgICAgICAgLy8gQWRkIHRoZSBkZXBlbmRlbmNpZXMgdG8gdGhlIHBhcmVudCBvcGVyYXRvciBsaXN0IHNvIHRoZXkgYXJlCiAgICAgICAgICAgIC8vIHJlc29sdmVkIGJlZm9yZSBzdWIgb3BlcmF0b3IgbGlzdCBpcyBleGVjdXRlZCBzeW5jaHJvbm91c2x5LgogICAgICAgICAgICBwYXJlbnRPcGVyYXRvckxpc3QuYWRkRGVwZW5kZW5jaWVzKG9wZXJhdG9yTGlzdC5kZXBlbmRlbmNpZXMpOwogICAgICAgICAgfSwgZnVuY3Rpb24gKHJlYXNvbikgewogICAgICAgICAgICB3YXJuKCdUeXBlMyBmb250IHJlc291cmNlIFwiJyArIGtleSArICdcIiBpcyBub3QgYXZhaWxhYmxlJyk7CiAgICAgICAgICAgIHZhciBvcGVyYXRvckxpc3QgPSBuZXcgT3BlcmF0b3JMaXN0KCk7CiAgICAgICAgICAgIGNoYXJQcm9jT3BlcmF0b3JMaXN0W2tleV0gPSBvcGVyYXRvckxpc3QuZ2V0SVIoKTsKICAgICAgICAgIH0pOwogICAgICAgIH0uYmluZCh0aGlzLCBjaGFyUHJvY0tleXNbaV0pKTsKICAgICAgfQogICAgICB0aGlzLnR5cGUzTG9hZGVkID0gbG9hZENoYXJQcm9jc1Byb21pc2UudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgdHJhbnNsYXRlZEZvbnQuY2hhclByb2NPcGVyYXRvckxpc3QgPSBjaGFyUHJvY09wZXJhdG9yTGlzdDsKICAgICAgfSk7CiAgICAgIHJldHVybiB0aGlzLnR5cGUzTG9hZGVkOwogICAgfQogIH07CiAgcmV0dXJuIFRyYW5zbGF0ZWRGb250Owp9KSgpOwoKdmFyIE9wZXJhdG9yTGlzdCA9IChmdW5jdGlvbiBPcGVyYXRvckxpc3RDbG9zdXJlKCkgewogIHZhciBDSFVOS19TSVpFID0gMTAwMDsKICB2YXIgQ0hVTktfU0laRV9BQk9VVCA9IENIVU5LX1NJWkUgLSA1OyAvLyBjbG9zZSB0byBjaHVuayBzaXplCgogIGZ1bmN0aW9uIGdldFRyYW5zZmVycyhxdWV1ZSkgewogICAgdmFyIHRyYW5zZmVycyA9IFtdOwogICAgdmFyIGZuQXJyYXkgPSBxdWV1ZS5mbkFycmF5LCBhcmdzQXJyYXkgPSBxdWV1ZS5hcmdzQXJyYXk7CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBxdWV1ZS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHN3aXRjaCAoZm5BcnJheVtpXSkgewogICAgICAgIGNhc2UgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0OgogICAgICAgIGNhc2UgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXA6CiAgICAgICAgY2FzZSBPUFMucGFpbnRJbWFnZU1hc2tYT2JqZWN0OgogICAgICAgICAgdmFyIGFyZyA9IGFyZ3NBcnJheVtpXVswXTsgLy8gZmlyc3QgcGFyYW0gaW4gaW1nRGF0YQogICAgICAgICAgaWYgKCFhcmcuY2FjaGVkKSB7CiAgICAgICAgICAgIHRyYW5zZmVycy5wdXNoKGFyZy5kYXRhLmJ1ZmZlcik7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHRyYW5zZmVyczsKICB9CgogIGZ1bmN0aW9uIE9wZXJhdG9yTGlzdChpbnRlbnQsIG1lc3NhZ2VIYW5kbGVyLCBwYWdlSW5kZXgpIHsKICAgIHRoaXMubWVzc2FnZUhhbmRsZXIgPSBtZXNzYWdlSGFuZGxlcjsKICAgIHRoaXMuZm5BcnJheSA9IFtdOwogICAgdGhpcy5hcmdzQXJyYXkgPSBbXTsKICAgIHRoaXMuZGVwZW5kZW5jaWVzID0ge307CiAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2VJbmRleDsKICAgIHRoaXMuaW50ZW50ID0gaW50ZW50OwogIH0KCiAgT3BlcmF0b3JMaXN0LnByb3RvdHlwZSA9IHsKICAgIGdldCBsZW5ndGgoKSB7CiAgICAgIHJldHVybiB0aGlzLmFyZ3NBcnJheS5sZW5ndGg7CiAgICB9LAoKICAgIGFkZE9wOiBmdW5jdGlvbihmbiwgYXJncykgewogICAgICB0aGlzLmZuQXJyYXkucHVzaChmbik7CiAgICAgIHRoaXMuYXJnc0FycmF5LnB1c2goYXJncyk7CiAgICAgIGlmICh0aGlzLm1lc3NhZ2VIYW5kbGVyKSB7CiAgICAgICAgaWYgKHRoaXMuZm5BcnJheS5sZW5ndGggPj0gQ0hVTktfU0laRSkgewogICAgICAgICAgdGhpcy5mbHVzaCgpOwogICAgICAgIH0gZWxzZSBpZiAodGhpcy5mbkFycmF5Lmxlbmd0aCA+PSBDSFVOS19TSVpFX0FCT1VUICYmCiAgICAgICAgICAgICAgICAgICAoZm4gPT09IE9QUy5yZXN0b3JlIHx8IGZuID09PSBPUFMuZW5kVGV4dCkpIHsKICAgICAgICAgIC8vIGhldXJpc3RpYyB0byBmbHVzaCBvbiBib3VuZGFyeSBvZiByZXN0b3JlIG9yIGVuZFRleHQKICAgICAgICAgIHRoaXMuZmx1c2goKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgYWRkRGVwZW5kZW5jeTogZnVuY3Rpb24oZGVwZW5kZW5jeSkgewogICAgICBpZiAoZGVwZW5kZW5jeSBpbiB0aGlzLmRlcGVuZGVuY2llcykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLmRlcGVuZGVuY2llc1tkZXBlbmRlbmN5XSA9IHRydWU7CiAgICAgIHRoaXMuYWRkT3AoT1BTLmRlcGVuZGVuY3ksIFtkZXBlbmRlbmN5XSk7CiAgICB9LAoKICAgIGFkZERlcGVuZGVuY2llczogZnVuY3Rpb24oZGVwZW5kZW5jaWVzKSB7CiAgICAgIGZvciAodmFyIGtleSBpbiBkZXBlbmRlbmNpZXMpIHsKICAgICAgICB0aGlzLmFkZERlcGVuZGVuY3koa2V5KTsKICAgICAgfQogICAgfSwKCiAgICBhZGRPcExpc3Q6IGZ1bmN0aW9uKG9wTGlzdCkgewogICAgICBVdGlsLmV4dGVuZE9iaih0aGlzLmRlcGVuZGVuY2llcywgb3BMaXN0LmRlcGVuZGVuY2llcyk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IG9wTGlzdC5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgdGhpcy5hZGRPcChvcExpc3QuZm5BcnJheVtpXSwgb3BMaXN0LmFyZ3NBcnJheVtpXSk7CiAgICAgIH0KICAgIH0sCgogICAgZ2V0SVI6IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gewogICAgICAgIGZuQXJyYXk6IHRoaXMuZm5BcnJheSwKICAgICAgICBhcmdzQXJyYXk6IHRoaXMuYXJnc0FycmF5LAogICAgICAgIGxlbmd0aDogdGhpcy5sZW5ndGgKICAgICAgfTsKICAgIH0sCgogICAgZmx1c2g6IGZ1bmN0aW9uKGxhc3RDaHVuaykgewogICAgICBpZiAodGhpcy5pbnRlbnQgIT09ICdvcGxpc3QnKSB7CiAgICAgICAgbmV3IFF1ZXVlT3B0aW1pemVyKCkub3B0aW1pemUodGhpcyk7CiAgICAgIH0KICAgICAgdmFyIHRyYW5zZmVycyA9IGdldFRyYW5zZmVycyh0aGlzKTsKICAgICAgdGhpcy5tZXNzYWdlSGFuZGxlci5zZW5kKCdSZW5kZXJQYWdlQ2h1bmsnLCB7CiAgICAgICAgb3BlcmF0b3JMaXN0OiB7CiAgICAgICAgICBmbkFycmF5OiB0aGlzLmZuQXJyYXksCiAgICAgICAgICBhcmdzQXJyYXk6IHRoaXMuYXJnc0FycmF5LAogICAgICAgICAgbGFzdENodW5rOiBsYXN0Q2h1bmssCiAgICAgICAgICBsZW5ndGg6IHRoaXMubGVuZ3RoCiAgICAgICAgfSwKICAgICAgICBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LAogICAgICAgIGludGVudDogdGhpcy5pbnRlbnQKICAgICAgfSwgdHJhbnNmZXJzKTsKICAgICAgdGhpcy5kZXBlbmRlbmNpZXMgPSB7fTsKICAgICAgdGhpcy5mbkFycmF5Lmxlbmd0aCA9IDA7CiAgICAgIHRoaXMuYXJnc0FycmF5Lmxlbmd0aCA9IDA7CiAgICB9CiAgfTsKCiAgcmV0dXJuIE9wZXJhdG9yTGlzdDsKfSkoKTsKCnZhciBTdGF0ZU1hbmFnZXIgPSAoZnVuY3Rpb24gU3RhdGVNYW5hZ2VyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBTdGF0ZU1hbmFnZXIoaW5pdGlhbFN0YXRlKSB7CiAgICB0aGlzLnN0YXRlID0gaW5pdGlhbFN0YXRlOwogICAgdGhpcy5zdGF0ZVN0YWNrID0gW107CiAgfQogIFN0YXRlTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICBzYXZlOiBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBvbGQgPSB0aGlzLnN0YXRlOwogICAgICB0aGlzLnN0YXRlU3RhY2sucHVzaCh0aGlzLnN0YXRlKTsKICAgICAgdGhpcy5zdGF0ZSA9IG9sZC5jbG9uZSgpOwogICAgfSwKICAgIHJlc3RvcmU6IGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIHByZXYgPSB0aGlzLnN0YXRlU3RhY2sucG9wKCk7CiAgICAgIGlmIChwcmV2KSB7CiAgICAgICAgdGhpcy5zdGF0ZSA9IHByZXY7CiAgICAgIH0KICAgIH0sCiAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uIChhcmdzKSB7CiAgICAgIHRoaXMuc3RhdGUuY3RtID0gVXRpbC50cmFuc2Zvcm0odGhpcy5zdGF0ZS5jdG0sIGFyZ3MpOwogICAgfQogIH07CiAgcmV0dXJuIFN0YXRlTWFuYWdlcjsKfSkoKTsKCnZhciBUZXh0U3RhdGUgPSAoZnVuY3Rpb24gVGV4dFN0YXRlQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBUZXh0U3RhdGUoKSB7CiAgICB0aGlzLmN0bSA9IG5ldyBGbG9hdDMyQXJyYXkoSURFTlRJVFlfTUFUUklYKTsKICAgIHRoaXMuZm9udFNpemUgPSAwOwogICAgdGhpcy5mb250ID0gbnVsbDsKICAgIHRoaXMuZm9udE1hdHJpeCA9IEZPTlRfSURFTlRJVFlfTUFUUklYOwogICAgdGhpcy50ZXh0TWF0cml4ID0gSURFTlRJVFlfTUFUUklYLnNsaWNlKCk7CiAgICB0aGlzLnRleHRMaW5lTWF0cml4ID0gSURFTlRJVFlfTUFUUklYLnNsaWNlKCk7CiAgICB0aGlzLmNoYXJTcGFjaW5nID0gMDsKICAgIHRoaXMud29yZFNwYWNpbmcgPSAwOwogICAgdGhpcy5sZWFkaW5nID0gMDsKICAgIHRoaXMudGV4dEhTY2FsZSA9IDE7CiAgICB0aGlzLnRleHRSaXNlID0gMDsKICB9CgogIFRleHRTdGF0ZS5wcm90b3R5cGUgPSB7CiAgICBzZXRUZXh0TWF0cml4OiBmdW5jdGlvbiBUZXh0U3RhdGVfc2V0VGV4dE1hdHJpeChhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHZhciBtID0gdGhpcy50ZXh0TWF0cml4OwogICAgICBtWzBdID0gYTsgbVsxXSA9IGI7IG1bMl0gPSBjOyBtWzNdID0gZDsgbVs0XSA9IGU7IG1bNV0gPSBmOwogICAgfSwKICAgIHNldFRleHRMaW5lTWF0cml4OiBmdW5jdGlvbiBUZXh0U3RhdGVfc2V0VGV4dE1hdHJpeChhLCBiLCBjLCBkLCBlLCBmKSB7CiAgICAgIHZhciBtID0gdGhpcy50ZXh0TGluZU1hdHJpeDsKICAgICAgbVswXSA9IGE7IG1bMV0gPSBiOyBtWzJdID0gYzsgbVszXSA9IGQ7IG1bNF0gPSBlOyBtWzVdID0gZjsKICAgIH0sCiAgICB0cmFuc2xhdGVUZXh0TWF0cml4OiBmdW5jdGlvbiBUZXh0U3RhdGVfdHJhbnNsYXRlVGV4dE1hdHJpeCh4LCB5KSB7CiAgICAgIHZhciBtID0gdGhpcy50ZXh0TWF0cml4OwogICAgICBtWzRdID0gbVswXSAqIHggKyBtWzJdICogeSArIG1bNF07CiAgICAgIG1bNV0gPSBtWzFdICogeCArIG1bM10gKiB5ICsgbVs1XTsKICAgIH0sCiAgICB0cmFuc2xhdGVUZXh0TGluZU1hdHJpeDogZnVuY3Rpb24gVGV4dFN0YXRlX3RyYW5zbGF0ZVRleHRNYXRyaXgoeCwgeSkgewogICAgICB2YXIgbSA9IHRoaXMudGV4dExpbmVNYXRyaXg7CiAgICAgIG1bNF0gPSBtWzBdICogeCArIG1bMl0gKiB5ICsgbVs0XTsKICAgICAgbVs1XSA9IG1bMV0gKiB4ICsgbVszXSAqIHkgKyBtWzVdOwogICAgfSwKICAgIGNhbGNSZW5kZXJNYXRyaXg6IGZ1bmN0aW9uIFRleHRTdGF0ZV9jYWxjUmVuZGVNYXRyaXgoY3RtKSB7CiAgICAgIC8vIDkuNC40IFRleHQgU3BhY2UgRGV0YWlscwogICAgICB2YXIgdHNtID0gW3RoaXMuZm9udFNpemUgKiB0aGlzLnRleHRIU2NhbGUsIDAsCiAgICAgICAgICAgICAgICAwLCB0aGlzLmZvbnRTaXplLAogICAgICAgICAgICAgICAgMCwgdGhpcy50ZXh0UmlzZV07CiAgICAgIHJldHVybiBVdGlsLnRyYW5zZm9ybShjdG0sIFV0aWwudHJhbnNmb3JtKHRoaXMudGV4dE1hdHJpeCwgdHNtKSk7CiAgICB9LAogICAgY2FycmlhZ2VSZXR1cm46IGZ1bmN0aW9uIFRleHRTdGF0ZV9jYXJyaWFnZVJldHVybigpIHsKICAgICAgdGhpcy50cmFuc2xhdGVUZXh0TGluZU1hdHJpeCgwLCAtdGhpcy5sZWFkaW5nKTsKICAgICAgdGhpcy50ZXh0TWF0cml4ID0gdGhpcy50ZXh0TGluZU1hdHJpeC5zbGljZSgpOwogICAgfSwKICAgIGNsb25lOiBmdW5jdGlvbiBUZXh0U3RhdGVfY2xvbmUoKSB7CiAgICAgIHZhciBjbG9uZSA9IE9iamVjdC5jcmVhdGUodGhpcyk7CiAgICAgIGNsb25lLnRleHRNYXRyaXggPSB0aGlzLnRleHRNYXRyaXguc2xpY2UoKTsKICAgICAgY2xvbmUudGV4dExpbmVNYXRyaXggPSB0aGlzLnRleHRMaW5lTWF0cml4LnNsaWNlKCk7CiAgICAgIGNsb25lLmZvbnRNYXRyaXggPSB0aGlzLmZvbnRNYXRyaXguc2xpY2UoKTsKICAgICAgcmV0dXJuIGNsb25lOwogICAgfQogIH07CiAgcmV0dXJuIFRleHRTdGF0ZTsKfSkoKTsKCnZhciBFdmFsU3RhdGUgPSAoZnVuY3Rpb24gRXZhbFN0YXRlQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBFdmFsU3RhdGUoKSB7CiAgICB0aGlzLmN0bSA9IG5ldyBGbG9hdDMyQXJyYXkoSURFTlRJVFlfTUFUUklYKTsKICAgIHRoaXMuZm9udCA9IG51bGw7CiAgICB0aGlzLnRleHRSZW5kZXJpbmdNb2RlID0gVGV4dFJlbmRlcmluZ01vZGUuRklMTDsKICAgIHRoaXMuZmlsbENvbG9yU3BhY2UgPSBDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTsKICAgIHRoaXMuc3Ryb2tlQ29sb3JTcGFjZSA9IENvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5OwogIH0KICBFdmFsU3RhdGUucHJvdG90eXBlID0gewogICAgY2xvbmU6IGZ1bmN0aW9uIENhbnZhc0V4dHJhU3RhdGVfY2xvbmUoKSB7CiAgICAgIHJldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpOwogICAgfSwKICB9OwogIHJldHVybiBFdmFsU3RhdGU7Cn0pKCk7Cgp2YXIgRXZhbHVhdG9yUHJlcHJvY2Vzc29yID0gKGZ1bmN0aW9uIEV2YWx1YXRvclByZXByb2Nlc3NvckNsb3N1cmUoKSB7CiAgLy8gU3BlY2lmaWVzIHByb3BlcnRpZXMgZm9yIGVhY2ggY29tbWFuZAogIC8vCiAgLy8gSWYgdmFyaWFibGVBcmdzID09PSB0cnVlOiBbMCwgYG51bUFyZ3NgXSBleHBlY3RlZAogIC8vIElmIHZhcmlhYmxlQXJncyA9PT0gZmFsc2U6IGV4YWN0bHkgYG51bUFyZ3NgIGV4cGVjdGVkCiAgdmFyIE9QX01BUCA9IHsKICAgIC8vIEdyYXBoaWMgc3RhdGUKICAgIHc6IHsgaWQ6IE9QUy5zZXRMaW5lV2lkdGgsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIEo6IHsgaWQ6IE9QUy5zZXRMaW5lQ2FwLCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBqOiB7IGlkOiBPUFMuc2V0TGluZUpvaW4sIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIE06IHsgaWQ6IE9QUy5zZXRNaXRlckxpbWl0LCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBkOiB7IGlkOiBPUFMuc2V0RGFzaCwgbnVtQXJnczogMiwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgcmk6IHsgaWQ6IE9QUy5zZXRSZW5kZXJpbmdJbnRlbnQsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGk6IHsgaWQ6IE9QUy5zZXRGbGF0bmVzcywgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgZ3M6IHsgaWQ6IE9QUy5zZXRHU3RhdGUsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIHE6IHsgaWQ6IE9QUy5zYXZlLCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBROiB7IGlkOiBPUFMucmVzdG9yZSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgY206IHsgaWQ6IE9QUy50cmFuc2Zvcm0sIG51bUFyZ3M6IDYsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBQYXRoCiAgICBtOiB7IGlkOiBPUFMubW92ZVRvLCBudW1BcmdzOiAyLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBsOiB7IGlkOiBPUFMubGluZVRvLCBudW1BcmdzOiAyLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBjOiB7IGlkOiBPUFMuY3VydmVUbywgbnVtQXJnczogNiwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgdjogeyBpZDogT1BTLmN1cnZlVG8yLCBudW1BcmdzOiA0LCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICB5OiB7IGlkOiBPUFMuY3VydmVUbzMsIG51bUFyZ3M6IDQsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGg6IHsgaWQ6IE9QUy5jbG9zZVBhdGgsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIHJlOiB7IGlkOiBPUFMucmVjdGFuZ2xlLCBudW1BcmdzOiA0LCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBTOiB7IGlkOiBPUFMuc3Ryb2tlLCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBzOiB7IGlkOiBPUFMuY2xvc2VTdHJva2UsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGY6IHsgaWQ6IE9QUy5maWxsLCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBGOiB7IGlkOiBPUFMuZmlsbCwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgJ2YqJzogeyBpZDogT1BTLmVvRmlsbCwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgQjogeyBpZDogT1BTLmZpbGxTdHJva2UsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICdCKic6IHsgaWQ6IE9QUy5lb0ZpbGxTdHJva2UsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGI6IHsgaWQ6IE9QUy5jbG9zZUZpbGxTdHJva2UsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICdiKic6IHsgaWQ6IE9QUy5jbG9zZUVPRmlsbFN0cm9rZSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgbjogeyBpZDogT1BTLmVuZFBhdGgsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBDbGlwcGluZwogICAgVzogeyBpZDogT1BTLmNsaXAsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICdXKic6IHsgaWQ6IE9QUy5lb0NsaXAsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBUZXh0CiAgICBCVDogeyBpZDogT1BTLmJlZ2luVGV4dCwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgRVQ6IHsgaWQ6IE9QUy5lbmRUZXh0LCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUYzogeyBpZDogT1BTLnNldENoYXJTcGFjaW5nLCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUdzogeyBpZDogT1BTLnNldFdvcmRTcGFjaW5nLCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUejogeyBpZDogT1BTLnNldEhTY2FsZSwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgVEw6IHsgaWQ6IE9QUy5zZXRMZWFkaW5nLCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUZjogeyBpZDogT1BTLnNldEZvbnQsIG51bUFyZ3M6IDIsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFRyOiB7IGlkOiBPUFMuc2V0VGV4dFJlbmRlcmluZ01vZGUsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFRzOiB7IGlkOiBPUFMuc2V0VGV4dFJpc2UsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFRkOiB7IGlkOiBPUFMubW92ZVRleHQsIG51bUFyZ3M6IDIsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFREOiB7IGlkOiBPUFMuc2V0TGVhZGluZ01vdmVUZXh0LCBudW1BcmdzOiAyLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBUbTogeyBpZDogT1BTLnNldFRleHRNYXRyaXgsIG51bUFyZ3M6IDYsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICdUKic6IHsgaWQ6IE9QUy5uZXh0TGluZSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgVGo6IHsgaWQ6IE9QUy5zaG93VGV4dCwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgVEo6IHsgaWQ6IE9QUy5zaG93U3BhY2VkVGV4dCwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgJ1wnJzogeyBpZDogT1BTLm5leHRMaW5lU2hvd1RleHQsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgICciJzogeyBpZDogT1BTLm5leHRMaW5lU2V0U3BhY2luZ1Nob3dUZXh0LCBudW1BcmdzOiAzLAogICAgICAgICAgIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBUeXBlMyBmb250cwogICAgZDA6IHsgaWQ6IE9QUy5zZXRDaGFyV2lkdGgsIG51bUFyZ3M6IDIsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIGQxOiB7IGlkOiBPUFMuc2V0Q2hhcldpZHRoQW5kQm91bmRzLCBudW1BcmdzOiA2LCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCgogICAgLy8gQ29sb3IKICAgIENTOiB7IGlkOiBPUFMuc2V0U3Ryb2tlQ29sb3JTcGFjZSwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgY3M6IHsgaWQ6IE9QUy5zZXRGaWxsQ29sb3JTcGFjZSwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgU0M6IHsgaWQ6IE9QUy5zZXRTdHJva2VDb2xvciwgbnVtQXJnczogNCwgdmFyaWFibGVBcmdzOiB0cnVlIH0sCiAgICBTQ046IHsgaWQ6IE9QUy5zZXRTdHJva2VDb2xvck4sIG51bUFyZ3M6IDMzLCB2YXJpYWJsZUFyZ3M6IHRydWUgfSwKICAgIHNjOiB7IGlkOiBPUFMuc2V0RmlsbENvbG9yLCBudW1BcmdzOiA0LCB2YXJpYWJsZUFyZ3M6IHRydWUgfSwKICAgIHNjbjogeyBpZDogT1BTLnNldEZpbGxDb2xvck4sIG51bUFyZ3M6IDMzLCB2YXJpYWJsZUFyZ3M6IHRydWUgfSwKICAgIEc6IHsgaWQ6IE9QUy5zZXRTdHJva2VHcmF5LCBudW1BcmdzOiAxLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBnOiB7IGlkOiBPUFMuc2V0RmlsbEdyYXksIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIFJHOiB7IGlkOiBPUFMuc2V0U3Ryb2tlUkdCQ29sb3IsIG51bUFyZ3M6IDMsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIHJnOiB7IGlkOiBPUFMuc2V0RmlsbFJHQkNvbG9yLCBudW1BcmdzOiAzLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBLOiB7IGlkOiBPUFMuc2V0U3Ryb2tlQ01ZS0NvbG9yLCBudW1BcmdzOiA0LCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCiAgICBrOiB7IGlkOiBPUFMuc2V0RmlsbENNWUtDb2xvciwgbnVtQXJnczogNCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAoKICAgIC8vIFNoYWRpbmcKICAgIHNoOiB7IGlkOiBPUFMuc2hhZGluZ0ZpbGwsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKCiAgICAvLyBJbWFnZXMKICAgIEJJOiB7IGlkOiBPUFMuYmVnaW5JbmxpbmVJbWFnZSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgSUQ6IHsgaWQ6IE9QUy5iZWdpbkltYWdlRGF0YSwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgRUk6IHsgaWQ6IE9QUy5lbmRJbmxpbmVJbWFnZSwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAoKICAgIC8vIFhPYmplY3RzCiAgICBEbzogeyBpZDogT1BTLnBhaW50WE9iamVjdCwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgTVA6IHsgaWQ6IE9QUy5tYXJrUG9pbnQsIG51bUFyZ3M6IDEsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIERQOiB7IGlkOiBPUFMubWFya1BvaW50UHJvcHMsIG51bUFyZ3M6IDIsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIEJNQzogeyBpZDogT1BTLmJlZ2luTWFya2VkQ29udGVudCwgbnVtQXJnczogMSwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgQkRDOiB7IGlkOiBPUFMuYmVnaW5NYXJrZWRDb250ZW50UHJvcHMsIG51bUFyZ3M6IDIsCiAgICAgICAgICAgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAogICAgRU1DOiB7IGlkOiBPUFMuZW5kTWFya2VkQ29udGVudCwgbnVtQXJnczogMCwgdmFyaWFibGVBcmdzOiBmYWxzZSB9LAoKICAgIC8vIENvbXBhdGliaWxpdHkKICAgIEJYOiB7IGlkOiBPUFMuYmVnaW5Db21wYXQsIG51bUFyZ3M6IDAsIHZhcmlhYmxlQXJnczogZmFsc2UgfSwKICAgIEVYOiB7IGlkOiBPUFMuZW5kQ29tcGF0LCBudW1BcmdzOiAwLCB2YXJpYWJsZUFyZ3M6IGZhbHNlIH0sCgogICAgLy8gKHJlc2VydmVkIHBhcnRpYWwgY29tbWFuZHMgZm9yIHRoZSBsZXhlcikKICAgIEJNOiBudWxsLAogICAgQkQ6IG51bGwsCiAgICAndHJ1ZSc6IG51bGwsCiAgICBmYTogbnVsbCwKICAgIGZhbDogbnVsbCwKICAgIGZhbHM6IG51bGwsCiAgICAnZmFsc2UnOiBudWxsLAogICAgbnU6IG51bGwsCiAgICBudWw6IG51bGwsCiAgICAnbnVsbCc6IG51bGwKICB9OwoKICBmdW5jdGlvbiBFdmFsdWF0b3JQcmVwcm9jZXNzb3Ioc3RyZWFtLCB4cmVmLCBzdGF0ZU1hbmFnZXIpIHsKICAgIC8vIFRPRE8obWR1YW4pOiBwYXNzIGFycmF5IG9mIGtub3duQ29tbWFuZHMgcmF0aGVyIHRoYW4gT1BfTUFQCiAgICAvLyBkaWN0aW9uYXJ5CiAgICB0aGlzLnBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKHN0cmVhbSwgT1BfTUFQKSwgZmFsc2UsIHhyZWYpOwogICAgdGhpcy5zdGF0ZU1hbmFnZXIgPSBzdGF0ZU1hbmFnZXI7CiAgICB0aGlzLm5vblByb2Nlc3NlZEFyZ3MgPSBbXTsKICB9CgogIEV2YWx1YXRvclByZXByb2Nlc3Nvci5wcm90b3R5cGUgPSB7CiAgICBnZXQgc2F2ZWRTdGF0ZXNEZXB0aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuc3RhdGVNYW5hZ2VyLnN0YXRlU3RhY2subGVuZ3RoOwogICAgfSwKCiAgICAvLyB8b3BlcmF0aW9ufCBpcyBhbiBvYmplY3Qgd2l0aCB0d28gZmllbGRzOgogICAgLy8KICAgIC8vIC0gfGZufCBpcyBhbiBvdXQgcGFyYW0uCiAgICAvLwogICAgLy8gLSB8YXJnc3wgaXMgYW4gaW5vdXQgcGFyYW0uIE9uIGVudHJ5LCBpdCBzaG91bGQgaGF2ZSBvbmUgb2YgdHdvIHZhbHVlcy4KICAgIC8vCiAgICAvLyAgIC0gQW4gZW1wdHkgYXJyYXkuIFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGNhbGxlciBpcyBwcm92aWRpbmcgdGhlCiAgICAvLyAgICAgYXJyYXkgaW4gd2hpY2ggdGhlIGFyZ3Mgd2lsbCBiZSBzdG9yZWQgaW4uIFRoZSBjYWxsZXIgc2hvdWxkIHVzZQogICAgLy8gICAgIHRoaXMgdmFsdWUgaWYgaXQgY2FuIHJldXNlIGEgc2luZ2xlIGFycmF5IGZvciBlYWNoIGNhbGwgdG8gcmVhZCgpLgogICAgLy8KICAgIC8vICAgLSB8bnVsbHwuIFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGNhbGxlciBuZWVkcyB0aGlzIGZ1bmN0aW9uIHRvIGNyZWF0ZQogICAgLy8gICAgIHRoZSBhcnJheSBpbiB3aGljaCBhbnkgYXJncyBhcmUgc3RvcmVkIGluLiBJZiB0aGVyZSBhcmUgemVybyBhcmdzLAogICAgLy8gICAgIHRoaXMgZnVuY3Rpb24gd2lsbCBsZWF2ZSB8b3BlcmF0aW9uLmFyZ3N8IGFzIHxudWxsfCAodGh1cyBhdm9pZGluZwogICAgLy8gICAgIGFsbG9jYXRpb25zIHRoYXQgd291bGQgb2NjdXIgaWYgd2UgdXNlZCBhbiBlbXB0eSBhcnJheSB0byByZXByZXNlbnQKICAgIC8vICAgICB6ZXJvIGFyZ3VtZW50cykuIE90aGVyd2lzZSwgaXQgd2lsbCByZXBsYWNlIHxudWxsfCB3aXRoIGEgbmV3IGFycmF5CiAgICAvLyAgICAgY29udGFpbmluZyB0aGUgYXJndW1lbnRzLiBUaGUgY2FsbGVyIHNob3VsZCB1c2UgdGhpcyB2YWx1ZSBpZiBpdAogICAgLy8gICAgIGNhbm5vdCByZXVzZSBhbiBhcnJheSBmb3IgZWFjaCBjYWxsIHRvIHJlYWQoKS4KICAgIC8vCiAgICAvLyBUaGVzZSB0d28gbW9kZXMgYXJlIHByZXNlbnQgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIHZlcnkgaG90IGFuZCBzbwogICAgLy8gYXZvaWRpbmcgYWxsb2NhdGlvbnMgd2hlcmUgcG9zc2libGUgaXMgd29ydGh3aGlsZS4KICAgIC8vCiAgICByZWFkOiBmdW5jdGlvbiBFdmFsdWF0b3JQcmVwcm9jZXNzb3JfcmVhZChvcGVyYXRpb24pIHsKICAgICAgdmFyIGFyZ3MgPSBvcGVyYXRpb24uYXJnczsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICB2YXIgb2JqID0gdGhpcy5wYXJzZXIuZ2V0T2JqKCk7CiAgICAgICAgaWYgKGlzQ21kKG9iaikpIHsKICAgICAgICAgIHZhciBjbWQgPSBvYmouY21kOwogICAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgY29tbWFuZCBpcyB2YWxpZAogICAgICAgICAgdmFyIG9wU3BlYyA9IE9QX01BUFtjbWRdOwogICAgICAgICAgaWYgKCFvcFNwZWMpIHsKICAgICAgICAgICAgd2FybignVW5rbm93biBjb21tYW5kICInICsgY21kICsgJyInKTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIGZuID0gb3BTcGVjLmlkOwogICAgICAgICAgdmFyIG51bUFyZ3MgPSBvcFNwZWMubnVtQXJnczsKICAgICAgICAgIHZhciBhcmdzTGVuZ3RoID0gYXJncyAhPT0gbnVsbCA/IGFyZ3MubGVuZ3RoIDogMDsKCiAgICAgICAgICBpZiAoIW9wU3BlYy52YXJpYWJsZUFyZ3MpIHsKICAgICAgICAgICAgLy8gUG9zdHNjcmlwdCBjb21tYW5kcyBjYW4gYmUgbmVzdGVkLCBlLmcuIC9GMiAvR1MyIGdzIDUuNzExIFRmCiAgICAgICAgICAgIGlmIChhcmdzTGVuZ3RoICE9PSBudW1BcmdzKSB7CiAgICAgICAgICAgICAgdmFyIG5vblByb2Nlc3NlZEFyZ3MgPSB0aGlzLm5vblByb2Nlc3NlZEFyZ3M7CiAgICAgICAgICAgICAgd2hpbGUgKGFyZ3NMZW5ndGggPiBudW1BcmdzKSB7CiAgICAgICAgICAgICAgICBub25Qcm9jZXNzZWRBcmdzLnB1c2goYXJncy5zaGlmdCgpKTsKICAgICAgICAgICAgICAgIGFyZ3NMZW5ndGgtLTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgd2hpbGUgKGFyZ3NMZW5ndGggPCBudW1BcmdzICYmIG5vblByb2Nlc3NlZEFyZ3MubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICAgICBpZiAoIWFyZ3MpIHsKICAgICAgICAgICAgICAgICAgYXJncyA9IFtdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYXJncy51bnNoaWZ0KG5vblByb2Nlc3NlZEFyZ3MucG9wKCkpOwogICAgICAgICAgICAgICAgYXJnc0xlbmd0aCsrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGFyZ3NMZW5ndGggPCBudW1BcmdzKSB7CiAgICAgICAgICAgICAgLy8gSWYgd2UgcmVjZWl2ZSB0b28gZmV3IGFyZ3MsIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHBvc3NpYmxlCiAgICAgICAgICAgICAgLy8gdG8gZXhlY3V0ZSB0aGUgY29tbWFuZCwgc28gc2tpcCB0aGUgY29tbWFuZAogICAgICAgICAgICAgIGluZm8oJ0NvbW1hbmQgJyArIGZuICsgJzogYmVjYXVzZSBleHBlY3RlZCAnICsKICAgICAgICAgICAgICAgICAgIG51bUFyZ3MgKyAnIGFyZ3MsIGJ1dCByZWNlaXZlZCAnICsgYXJnc0xlbmd0aCArCiAgICAgICAgICAgICAgICAgICAnIGFyZ3M7IHNraXBwaW5nJyk7CiAgICAgICAgICAgICAgYXJncyA9IG51bGw7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAoYXJnc0xlbmd0aCA+IG51bUFyZ3MpIHsKICAgICAgICAgICAgaW5mbygnQ29tbWFuZCAnICsgZm4gKyAnOiBleHBlY3RlZCBbMCwnICsgbnVtQXJncyArCiAgICAgICAgICAgICAgICAgJ10gYXJncywgYnV0IHJlY2VpdmVkICcgKyBhcmdzTGVuZ3RoICsgJyBhcmdzJyk7CiAgICAgICAgICB9CgogICAgICAgICAgLy8gVE9ETyBmaWd1cmUgb3V0IGhvdyB0byB0eXBlLWNoZWNrIHZhcmFyZyBmdW5jdGlvbnMKICAgICAgICAgIHRoaXMucHJlcHJvY2Vzc0NvbW1hbmQoZm4sIGFyZ3MpOwoKICAgICAgICAgIG9wZXJhdGlvbi5mbiA9IGZuOwogICAgICAgICAgb3BlcmF0aW9uLmFyZ3MgPSBhcmdzOwogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChpc0VPRihvYmopKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gbm8gbW9yZSBjb21tYW5kcwogICAgICAgICAgfQogICAgICAgICAgLy8gYXJndW1lbnQKICAgICAgICAgIGlmIChvYmogIT09IG51bGwpIHsKICAgICAgICAgICAgaWYgKCFhcmdzKSB7CiAgICAgICAgICAgICAgYXJncyA9IFtdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFyZ3MucHVzaCgob2JqIGluc3RhbmNlb2YgRGljdCA/IG9iai5nZXRBbGwoKSA6IG9iaikpOwogICAgICAgICAgICBhc3NlcnQoYXJncy5sZW5ndGggPD0gMzMsICdUb28gbWFueSBhcmd1bWVudHMnKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgcHJlcHJvY2Vzc0NvbW1hbmQ6CiAgICAgICAgZnVuY3Rpb24gRXZhbHVhdG9yUHJlcHJvY2Vzc29yX3ByZXByb2Nlc3NDb21tYW5kKGZuLCBhcmdzKSB7CiAgICAgIHN3aXRjaCAoZm4gfCAwKSB7CiAgICAgICAgY2FzZSBPUFMuc2F2ZToKICAgICAgICAgIHRoaXMuc3RhdGVNYW5hZ2VyLnNhdmUoKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgT1BTLnJlc3RvcmU6CiAgICAgICAgICB0aGlzLnN0YXRlTWFuYWdlci5yZXN0b3JlKCk7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIE9QUy50cmFuc2Zvcm06CiAgICAgICAgICB0aGlzLnN0YXRlTWFuYWdlci50cmFuc2Zvcm0oYXJncyk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogIH07CiAgcmV0dXJuIEV2YWx1YXRvclByZXByb2Nlc3NvcjsKfSkoKTsKCnZhciBRdWV1ZU9wdGltaXplciA9IChmdW5jdGlvbiBRdWV1ZU9wdGltaXplckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gYWRkU3RhdGUocGFyZW50U3RhdGUsIHBhdHRlcm4sIGZuKSB7CiAgICB2YXIgc3RhdGUgPSBwYXJlbnRTdGF0ZTsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHBhdHRlcm4ubGVuZ3RoIC0gMTsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIGl0ZW0gPSBwYXR0ZXJuW2ldOwogICAgICBzdGF0ZSA9IChzdGF0ZVtpdGVtXSB8fCAoc3RhdGVbaXRlbV0gPSBbXSkpOwogICAgfQogICAgc3RhdGVbcGF0dGVybltwYXR0ZXJuLmxlbmd0aCAtIDFdXSA9IGZuOwogIH0KCiAgZnVuY3Rpb24gaGFuZGxlUGFpbnRTb2xpZENvbG9ySW1hZ2VNYXNrKGlGaXJzdFNhdmUsIGNvdW50LCBmbkFycmF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzQXJyYXkpIHsKICAgIC8vIEhhbmRsZXMgc3BlY2lhbCBjYXNlIG9mIG1haW5seSBMYVRlWCBkb2N1bWVudHMgd2hpY2ggdXNlIGltYWdlIG1hc2tzIHRvCiAgICAvLyBkcmF3IGxpbmVzIHdpdGggdGhlIGN1cnJlbnQgZmlsbCBzdHlsZS4KICAgIC8vICdjb3VudCcgZ3JvdXBzIG9mIChzYXZlLCB0cmFuc2Zvcm0sIHBhaW50SW1hZ2VNYXNrWE9iamVjdCwgcmVzdG9yZSkrCiAgICAvLyBoYXZlIGJlZW4gZm91bmQgYXQgaUZpcnN0U2F2ZS4KICAgIHZhciBpRmlyc3RQSU1YTyA9IGlGaXJzdFNhdmUgKyAyOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgIHZhciBhcmcgPSBhcmdzQXJyYXlbaUZpcnN0UElNWE8gKyA0ICogaV07CiAgICAgIHZhciBpbWFnZU1hc2sgPSBhcmcubGVuZ3RoID09PSAxICYmIGFyZ1swXTsKICAgICAgaWYgKGltYWdlTWFzayAmJiBpbWFnZU1hc2sud2lkdGggPT09IDEgJiYgaW1hZ2VNYXNrLmhlaWdodCA9PT0gMSAmJgogICAgICAgICAgKCFpbWFnZU1hc2suZGF0YS5sZW5ndGggfHwKICAgICAgICAgICAoaW1hZ2VNYXNrLmRhdGEubGVuZ3RoID09PSAxICYmIGltYWdlTWFzay5kYXRhWzBdID09PSAwKSkpIHsKICAgICAgICBmbkFycmF5W2lGaXJzdFBJTVhPICsgNCAqIGldID0gT1BTLnBhaW50U29saWRDb2xvckltYWdlTWFzazsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBicmVhazsKICAgIH0KICAgIHJldHVybiBjb3VudCAtIGk7CiAgfQoKICB2YXIgSW5pdGlhbFN0YXRlID0gW107CgogIC8vIFRoaXMgcmVwbGFjZXMgKHNhdmUsIHRyYW5zZm9ybSwgcGFpbnRJbmxpbmVJbWFnZVhPYmplY3QsIHJlc3RvcmUpKwogIC8vIHNlcXVlbmNlcyB3aXRoIG9uZSB8cGFpbnRJbmxpbmVJbWFnZVhPYmplY3RHcm91cHwgb3BlcmF0aW9uLgogIGFkZFN0YXRlKEluaXRpYWxTdGF0ZSwKICAgIFtPUFMuc2F2ZSwgT1BTLnRyYW5zZm9ybSwgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0LCBPUFMucmVzdG9yZV0sCiAgICBmdW5jdGlvbiBmb3VuZElubGluZUltYWdlR3JvdXAoY29udGV4dCkgewogICAgICB2YXIgTUlOX0lNQUdFU19JTl9JTkxJTkVfSU1BR0VTX0JMT0NLID0gMTA7CiAgICAgIHZhciBNQVhfSU1BR0VTX0lOX0lOTElORV9JTUFHRVNfQkxPQ0sgPSAyMDA7CiAgICAgIHZhciBNQVhfV0lEVEggPSAxMDAwOwogICAgICB2YXIgSU1BR0VfUEFERElORyA9IDE7CgogICAgICB2YXIgZm5BcnJheSA9IGNvbnRleHQuZm5BcnJheSwgYXJnc0FycmF5ID0gY29udGV4dC5hcmdzQXJyYXk7CiAgICAgIHZhciBjdXJyID0gY29udGV4dC5pQ3VycjsKICAgICAgdmFyIGlGaXJzdFNhdmUgPSBjdXJyIC0gMzsKICAgICAgdmFyIGlGaXJzdFRyYW5zZm9ybSA9IGN1cnIgLSAyOwogICAgICB2YXIgaUZpcnN0UElJWE8gPSBjdXJyIC0gMTsKCiAgICAgIC8vIExvb2sgZm9yIHRoZSBxdWFydGV0cy4KICAgICAgdmFyIGkgPSBpRmlyc3RTYXZlICsgNDsKICAgICAgdmFyIGlpID0gZm5BcnJheS5sZW5ndGg7CiAgICAgIHdoaWxlIChpICsgMyA8IGlpKSB7CiAgICAgICAgaWYgKGZuQXJyYXlbaV0gIT09IE9QUy5zYXZlIHx8CiAgICAgICAgICAgIGZuQXJyYXlbaSArIDFdICE9PSBPUFMudHJhbnNmb3JtIHx8CiAgICAgICAgICAgIGZuQXJyYXlbaSArIDJdICE9PSBPUFMucGFpbnRJbmxpbmVJbWFnZVhPYmplY3QgfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgM10gIT09IE9QUy5yZXN0b3JlKSB7CiAgICAgICAgICBicmVhazsgICAgLy8gb3BzIGRvbid0IG1hdGNoCiAgICAgICAgfQogICAgICAgIGkgKz0gNDsKICAgICAgfQoKICAgICAgLy8gQXQgdGhpcyBwb2ludCwgaSBpcyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IG9wIHBhc3QgdGhlIGxhc3QgdmFsaWQKICAgICAgLy8gcXVhcnRldC4KICAgICAgdmFyIGNvdW50ID0gTWF0aC5taW4oKGkgLSBpRmlyc3RTYXZlKSAvIDQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BWF9JTUFHRVNfSU5fSU5MSU5FX0lNQUdFU19CTE9DSyk7CiAgICAgIGlmIChjb3VudCA8IE1JTl9JTUFHRVNfSU5fSU5MSU5FX0lNQUdFU19CTE9DSykgewogICAgICAgIHJldHVybiBpOwogICAgICB9CgogICAgICAvLyBhc3N1bWluZyB0aGF0IGhlaWdodHMgb2YgdGhvc2UgaW1hZ2UgaXMgdG9vIHNtYWxsICh+MSBwaXhlbCkKICAgICAgLy8gcGFja2luZyBhcyBtdWNoIGFzIHBvc3NpYmxlIGJ5IGxpbmVzCiAgICAgIHZhciBtYXhYID0gMDsKICAgICAgdmFyIG1hcCA9IFtdLCBtYXhMaW5lSGVpZ2h0ID0gMDsKICAgICAgdmFyIGN1cnJlbnRYID0gSU1BR0VfUEFERElORywgY3VycmVudFkgPSBJTUFHRV9QQURESU5HOwogICAgICB2YXIgcTsKICAgICAgZm9yIChxID0gMDsgcSA8IGNvdW50OyBxKyspIHsKICAgICAgICB2YXIgdHJhbnNmb3JtID0gYXJnc0FycmF5W2lGaXJzdFRyYW5zZm9ybSArIChxIDw8IDIpXTsKICAgICAgICB2YXIgaW1nID0gYXJnc0FycmF5W2lGaXJzdFBJSVhPICsgKHEgPDwgMildWzBdOwogICAgICAgIGlmIChjdXJyZW50WCArIGltZy53aWR0aCA+IE1BWF9XSURUSCkgewogICAgICAgICAgLy8gc3RhcnRpbmcgbmV3IGxpbmUKICAgICAgICAgIG1heFggPSBNYXRoLm1heChtYXhYLCBjdXJyZW50WCk7CiAgICAgICAgICBjdXJyZW50WSArPSBtYXhMaW5lSGVpZ2h0ICsgMiAqIElNQUdFX1BBRERJTkc7CiAgICAgICAgICBjdXJyZW50WCA9IDA7CiAgICAgICAgICBtYXhMaW5lSGVpZ2h0ID0gMDsKICAgICAgICB9CiAgICAgICAgbWFwLnB1c2goewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sCiAgICAgICAgICB4OiBjdXJyZW50WCwgeTogY3VycmVudFksCiAgICAgICAgICB3OiBpbWcud2lkdGgsIGg6IGltZy5oZWlnaHQKICAgICAgICB9KTsKICAgICAgICBjdXJyZW50WCArPSBpbWcud2lkdGggKyAyICogSU1BR0VfUEFERElORzsKICAgICAgICBtYXhMaW5lSGVpZ2h0ID0gTWF0aC5tYXgobWF4TGluZUhlaWdodCwgaW1nLmhlaWdodCk7CiAgICAgIH0KICAgICAgdmFyIGltZ1dpZHRoID0gTWF0aC5tYXgobWF4WCwgY3VycmVudFgpICsgSU1BR0VfUEFERElORzsKICAgICAgdmFyIGltZ0hlaWdodCA9IGN1cnJlbnRZICsgbWF4TGluZUhlaWdodCArIElNQUdFX1BBRERJTkc7CiAgICAgIHZhciBpbWdEYXRhID0gbmV3IFVpbnQ4QXJyYXkoaW1nV2lkdGggKiBpbWdIZWlnaHQgKiA0KTsKICAgICAgdmFyIGltZ1Jvd1NpemUgPSBpbWdXaWR0aCA8PCAyOwogICAgICBmb3IgKHEgPSAwOyBxIDwgY291bnQ7IHErKykgewogICAgICAgIHZhciBkYXRhID0gYXJnc0FycmF5W2lGaXJzdFBJSVhPICsgKHEgPDwgMildWzBdLmRhdGE7CiAgICAgICAgLy8gQ29weSBpbWFnZSBieSBsaW5lcyBhbmQgZXh0ZW5kcyBwaXhlbHMgaW50byBwYWRkaW5nLgogICAgICAgIHZhciByb3dTaXplID0gbWFwW3FdLncgPDwgMjsKICAgICAgICB2YXIgZGF0YU9mZnNldCA9IDA7CiAgICAgICAgdmFyIG9mZnNldCA9IChtYXBbcV0ueCArIG1hcFtxXS55ICogaW1nV2lkdGgpIDw8IDI7CiAgICAgICAgaW1nRGF0YS5zZXQoZGF0YS5zdWJhcnJheSgwLCByb3dTaXplKSwgb2Zmc2V0IC0gaW1nUm93U2l6ZSk7CiAgICAgICAgZm9yICh2YXIgayA9IDAsIGtrID0gbWFwW3FdLmg7IGsgPCBrazsgaysrKSB7CiAgICAgICAgICBpbWdEYXRhLnNldChkYXRhLnN1YmFycmF5KGRhdGFPZmZzZXQsIGRhdGFPZmZzZXQgKyByb3dTaXplKSwgb2Zmc2V0KTsKICAgICAgICAgIGRhdGFPZmZzZXQgKz0gcm93U2l6ZTsKICAgICAgICAgIG9mZnNldCArPSBpbWdSb3dTaXplOwogICAgICAgIH0KICAgICAgICBpbWdEYXRhLnNldChkYXRhLnN1YmFycmF5KGRhdGFPZmZzZXQgLSByb3dTaXplLCBkYXRhT2Zmc2V0KSwgb2Zmc2V0KTsKICAgICAgICB3aGlsZSAob2Zmc2V0ID49IDApIHsKICAgICAgICAgIGRhdGFbb2Zmc2V0IC0gNF0gPSBkYXRhW29mZnNldF07CiAgICAgICAgICBkYXRhW29mZnNldCAtIDNdID0gZGF0YVtvZmZzZXQgKyAxXTsKICAgICAgICAgIGRhdGFbb2Zmc2V0IC0gMl0gPSBkYXRhW29mZnNldCArIDJdOwogICAgICAgICAgZGF0YVtvZmZzZXQgLSAxXSA9IGRhdGFbb2Zmc2V0ICsgM107CiAgICAgICAgICBkYXRhW29mZnNldCArIHJvd1NpemVdID0gZGF0YVtvZmZzZXQgKyByb3dTaXplIC0gNF07CiAgICAgICAgICBkYXRhW29mZnNldCArIHJvd1NpemUgKyAxXSA9IGRhdGFbb2Zmc2V0ICsgcm93U2l6ZSAtIDNdOwogICAgICAgICAgZGF0YVtvZmZzZXQgKyByb3dTaXplICsgMl0gPSBkYXRhW29mZnNldCArIHJvd1NpemUgLSAyXTsKICAgICAgICAgIGRhdGFbb2Zmc2V0ICsgcm93U2l6ZSArIDNdID0gZGF0YVtvZmZzZXQgKyByb3dTaXplIC0gMV07CiAgICAgICAgICBvZmZzZXQgLT0gaW1nUm93U2l6ZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIFJlcGxhY2UgcXVldWUgaXRlbXMuCiAgICAgIGZuQXJyYXkuc3BsaWNlKGlGaXJzdFNhdmUsIGNvdW50ICogNCwgT1BTLnBhaW50SW5saW5lSW1hZ2VYT2JqZWN0R3JvdXApOwogICAgICBhcmdzQXJyYXkuc3BsaWNlKGlGaXJzdFNhdmUsIGNvdW50ICogNCwKICAgICAgICBbeyB3aWR0aDogaW1nV2lkdGgsIGhlaWdodDogaW1nSGVpZ2h0LCBraW5kOiBJbWFnZUtpbmQuUkdCQV8zMkJQUCwKICAgICAgICAgICBkYXRhOiBpbWdEYXRhIH0sIG1hcF0pOwoKICAgICAgcmV0dXJuIGlGaXJzdFNhdmUgKyAxOwogICAgfSk7CgogIC8vIFRoaXMgcmVwbGFjZXMgKHNhdmUsIHRyYW5zZm9ybSwgcGFpbnRJbWFnZU1hc2tYT2JqZWN0LCByZXN0b3JlKSsKICAvLyBzZXF1ZW5jZXMgd2l0aCBvbmUgfHBhaW50SW1hZ2VNYXNrWE9iamVjdEdyb3VwfCBvciBvbmUKICAvLyB8cGFpbnRJbWFnZU1hc2tYT2JqZWN0UmVwZWF0fCBvcGVyYXRpb24uCiAgYWRkU3RhdGUoSW5pdGlhbFN0YXRlLAogICAgW09QUy5zYXZlLCBPUFMudHJhbnNmb3JtLCBPUFMucGFpbnRJbWFnZU1hc2tYT2JqZWN0LCBPUFMucmVzdG9yZV0sCiAgICBmdW5jdGlvbiBmb3VuZEltYWdlTWFza0dyb3VwKGNvbnRleHQpIHsKICAgICAgdmFyIE1JTl9JTUFHRVNfSU5fTUFTS1NfQkxPQ0sgPSAxMDsKICAgICAgdmFyIE1BWF9JTUFHRVNfSU5fTUFTS1NfQkxPQ0sgPSAxMDA7CiAgICAgIHZhciBNQVhfU0FNRV9JTUFHRVNfSU5fTUFTS1NfQkxPQ0sgPSAxMDAwOwoKICAgICAgdmFyIGZuQXJyYXkgPSBjb250ZXh0LmZuQXJyYXksIGFyZ3NBcnJheSA9IGNvbnRleHQuYXJnc0FycmF5OwogICAgICB2YXIgY3VyciA9IGNvbnRleHQuaUN1cnI7CiAgICAgIHZhciBpRmlyc3RTYXZlID0gY3VyciAtIDM7CiAgICAgIHZhciBpRmlyc3RUcmFuc2Zvcm0gPSBjdXJyIC0gMjsKICAgICAgdmFyIGlGaXJzdFBJTVhPID0gY3VyciAtIDE7CgogICAgICAvLyBMb29rIGZvciB0aGUgcXVhcnRldHMuCiAgICAgIHZhciBpID0gaUZpcnN0U2F2ZSArIDQ7CiAgICAgIHZhciBpaSA9IGZuQXJyYXkubGVuZ3RoOwogICAgICB3aGlsZSAoaSArIDMgPCBpaSkgewogICAgICAgIGlmIChmbkFycmF5W2ldICE9PSBPUFMuc2F2ZSB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAxXSAhPT0gT1BTLnRyYW5zZm9ybSB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAyXSAhPT0gT1BTLnBhaW50SW1hZ2VNYXNrWE9iamVjdCB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAzXSAhPT0gT1BTLnJlc3RvcmUpIHsKICAgICAgICAgIGJyZWFrOyAgICAvLyBvcHMgZG9uJ3QgbWF0Y2gKICAgICAgICB9CiAgICAgICAgaSArPSA0OwogICAgICB9CgogICAgICAvLyBBdCB0aGlzIHBvaW50LCBpIGlzIHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgb3AgcGFzdCB0aGUgbGFzdCB2YWxpZAogICAgICAvLyBxdWFydGV0LgogICAgICB2YXIgY291bnQgPSAoaSAtIGlGaXJzdFNhdmUpIC8gNDsKICAgICAgY291bnQgPSBoYW5kbGVQYWludFNvbGlkQ29sb3JJbWFnZU1hc2soaUZpcnN0U2F2ZSwgY291bnQsIGZuQXJyYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NBcnJheSk7CiAgICAgIGlmIChjb3VudCA8IE1JTl9JTUFHRVNfSU5fTUFTS1NfQkxPQ0spIHsKICAgICAgICByZXR1cm4gaTsKICAgICAgfQoKICAgICAgdmFyIHE7CiAgICAgIHZhciBpc1NhbWVJbWFnZSA9IGZhbHNlOwogICAgICB2YXIgaVRyYW5zZm9ybSwgdHJhbnNmb3JtQXJnczsKICAgICAgdmFyIGZpcnN0UElNWE9BcmcwID0gYXJnc0FycmF5W2lGaXJzdFBJTVhPXVswXTsKICAgICAgaWYgKGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm1dWzFdID09PSAwICYmCiAgICAgICAgICBhcmdzQXJyYXlbaUZpcnN0VHJhbnNmb3JtXVsyXSA9PT0gMCkgewogICAgICAgIGlzU2FtZUltYWdlID0gdHJ1ZTsKICAgICAgICB2YXIgZmlyc3RUcmFuc2Zvcm1BcmcwID0gYXJnc0FycmF5W2lGaXJzdFRyYW5zZm9ybV1bMF07CiAgICAgICAgdmFyIGZpcnN0VHJhbnNmb3JtQXJnMyA9IGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm1dWzNdOwogICAgICAgIGlUcmFuc2Zvcm0gPSBpRmlyc3RUcmFuc2Zvcm0gKyA0OwogICAgICAgIHZhciBpUElNWE8gPSBpRmlyc3RQSU1YTyArIDQ7CiAgICAgICAgZm9yIChxID0gMTsgcSA8IGNvdW50OyBxKyssIGlUcmFuc2Zvcm0gKz0gNCwgaVBJTVhPICs9IDQpIHsKICAgICAgICAgIHRyYW5zZm9ybUFyZ3MgPSBhcmdzQXJyYXlbaVRyYW5zZm9ybV07CiAgICAgICAgICBpZiAoYXJnc0FycmF5W2lQSU1YT11bMF0gIT09IGZpcnN0UElNWE9BcmcwIHx8CiAgICAgICAgICAgICAgdHJhbnNmb3JtQXJnc1swXSAhPT0gZmlyc3RUcmFuc2Zvcm1BcmcwIHx8CiAgICAgICAgICAgICAgdHJhbnNmb3JtQXJnc1sxXSAhPT0gMCB8fAogICAgICAgICAgICAgIHRyYW5zZm9ybUFyZ3NbMl0gIT09IDAgfHwKICAgICAgICAgICAgICB0cmFuc2Zvcm1BcmdzWzNdICE9PSBmaXJzdFRyYW5zZm9ybUFyZzMpIHsKICAgICAgICAgICAgaWYgKHEgPCBNSU5fSU1BR0VTX0lOX01BU0tTX0JMT0NLKSB7CiAgICAgICAgICAgICAgaXNTYW1lSW1hZ2UgPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBjb3VudCA9IHE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7IC8vIGRpZmZlcmVudCBpbWFnZSBvciB0cmFuc2Zvcm0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChpc1NhbWVJbWFnZSkgewogICAgICAgIGNvdW50ID0gTWF0aC5taW4oY291bnQsIE1BWF9TQU1FX0lNQUdFU19JTl9NQVNLU19CTE9DSyk7CiAgICAgICAgdmFyIHBvc2l0aW9ucyA9IG5ldyBGbG9hdDMyQXJyYXkoY291bnQgKiAyKTsKICAgICAgICBpVHJhbnNmb3JtID0gaUZpcnN0VHJhbnNmb3JtOwogICAgICAgIGZvciAocSA9IDA7IHEgPCBjb3VudDsgcSsrLCBpVHJhbnNmb3JtICs9IDQpIHsKICAgICAgICAgIHRyYW5zZm9ybUFyZ3MgPSBhcmdzQXJyYXlbaVRyYW5zZm9ybV07CiAgICAgICAgICBwb3NpdGlvbnNbKHEgPDwgMSldID0gdHJhbnNmb3JtQXJnc1s0XTsKICAgICAgICAgIHBvc2l0aW9uc1socSA8PCAxKSArIDFdID0gdHJhbnNmb3JtQXJnc1s1XTsKICAgICAgICB9CgogICAgICAgIC8vIFJlcGxhY2UgcXVldWUgaXRlbXMuCiAgICAgICAgZm5BcnJheS5zcGxpY2UoaUZpcnN0U2F2ZSwgY291bnQgKiA0LCBPUFMucGFpbnRJbWFnZU1hc2tYT2JqZWN0UmVwZWF0KTsKICAgICAgICBhcmdzQXJyYXkuc3BsaWNlKGlGaXJzdFNhdmUsIGNvdW50ICogNCwKICAgICAgICAgIFtmaXJzdFBJTVhPQXJnMCwgZmlyc3RUcmFuc2Zvcm1BcmcwLCBmaXJzdFRyYW5zZm9ybUFyZzMsIHBvc2l0aW9uc10pOwogICAgICB9IGVsc2UgewogICAgICAgIGNvdW50ID0gTWF0aC5taW4oY291bnQsIE1BWF9JTUFHRVNfSU5fTUFTS1NfQkxPQ0spOwogICAgICAgIHZhciBpbWFnZXMgPSBbXTsKICAgICAgICBmb3IgKHEgPSAwOyBxIDwgY291bnQ7IHErKykgewogICAgICAgICAgdHJhbnNmb3JtQXJncyA9IGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm0gKyAocSA8PCAyKV07CiAgICAgICAgICB2YXIgbWFza1BhcmFtcyA9IGFyZ3NBcnJheVtpRmlyc3RQSU1YTyArIChxIDw8IDIpXVswXTsKICAgICAgICAgIGltYWdlcy5wdXNoKHsgZGF0YTogbWFza1BhcmFtcy5kYXRhLCB3aWR0aDogbWFza1BhcmFtcy53aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXNrUGFyYW1zLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm1BcmdzIH0pOwogICAgICAgIH0KCiAgICAgICAgLy8gUmVwbGFjZSBxdWV1ZSBpdGVtcy4KICAgICAgICBmbkFycmF5LnNwbGljZShpRmlyc3RTYXZlLCBjb3VudCAqIDQsIE9QUy5wYWludEltYWdlTWFza1hPYmplY3RHcm91cCk7CiAgICAgICAgYXJnc0FycmF5LnNwbGljZShpRmlyc3RTYXZlLCBjb3VudCAqIDQsIFtpbWFnZXNdKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGlGaXJzdFNhdmUgKyAxOwogICAgfSk7CgogIC8vIFRoaXMgcmVwbGFjZXMgKHNhdmUsIHRyYW5zZm9ybSwgcGFpbnRJbWFnZVhPYmplY3QsIHJlc3RvcmUpKyBzZXF1ZW5jZXMKICAvLyB3aXRoIG9uZSBwYWludEltYWdlWE9iamVjdFJlcGVhdCBvcGVyYXRpb24sIGlmIHRoZSB8dHJhbnNmb3JtfCBhbmQKICAvLyB8cGFpbnRJbWFnZVhPYmplY3RSZXBlYXR8IG9wcyBhcmUgYXBwcm9wcmlhdGUuCiAgYWRkU3RhdGUoSW5pdGlhbFN0YXRlLAogICAgW09QUy5zYXZlLCBPUFMudHJhbnNmb3JtLCBPUFMucGFpbnRJbWFnZVhPYmplY3QsIE9QUy5yZXN0b3JlXSwKICAgIGZ1bmN0aW9uIChjb250ZXh0KSB7CiAgICAgIHZhciBNSU5fSU1BR0VTX0lOX0JMT0NLID0gMzsKICAgICAgdmFyIE1BWF9JTUFHRVNfSU5fQkxPQ0sgPSAxMDAwOwoKICAgICAgdmFyIGZuQXJyYXkgPSBjb250ZXh0LmZuQXJyYXksIGFyZ3NBcnJheSA9IGNvbnRleHQuYXJnc0FycmF5OwogICAgICB2YXIgY3VyciA9IGNvbnRleHQuaUN1cnI7CiAgICAgIHZhciBpRmlyc3RTYXZlID0gY3VyciAtIDM7CiAgICAgIHZhciBpRmlyc3RUcmFuc2Zvcm0gPSBjdXJyIC0gMjsKICAgICAgdmFyIGlGaXJzdFBJWE8gPSBjdXJyIC0gMTsKICAgICAgdmFyIGlGaXJzdFJlc3RvcmUgPSBjdXJyOwoKICAgICAgaWYgKGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm1dWzFdICE9PSAwIHx8CiAgICAgICAgICBhcmdzQXJyYXlbaUZpcnN0VHJhbnNmb3JtXVsyXSAhPT0gMCkgewogICAgICAgIHJldHVybiBpRmlyc3RSZXN0b3JlICsgMTsgICAvLyB0cmFuc2Zvcm0gaGFzIHRoZSB3cm9uZyBmb3JtCiAgICAgIH0KCiAgICAgIC8vIExvb2sgZm9yIHRoZSBxdWFydGV0cy4KICAgICAgdmFyIGZpcnN0UElYT0FyZzAgPSBhcmdzQXJyYXlbaUZpcnN0UElYT11bMF07CiAgICAgIHZhciBmaXJzdFRyYW5zZm9ybUFyZzAgPSBhcmdzQXJyYXlbaUZpcnN0VHJhbnNmb3JtXVswXTsKICAgICAgdmFyIGZpcnN0VHJhbnNmb3JtQXJnMyA9IGFyZ3NBcnJheVtpRmlyc3RUcmFuc2Zvcm1dWzNdOwogICAgICB2YXIgaSA9IGlGaXJzdFNhdmUgKyA0OwogICAgICB2YXIgaWkgPSBmbkFycmF5Lmxlbmd0aDsKICAgICAgd2hpbGUgKGkgKyAzIDwgaWkpIHsKICAgICAgICBpZiAoZm5BcnJheVtpXSAhPT0gT1BTLnNhdmUgfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgMV0gIT09IE9QUy50cmFuc2Zvcm0gfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgMl0gIT09IE9QUy5wYWludEltYWdlWE9iamVjdCB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAzXSAhPT0gT1BTLnJlc3RvcmUpIHsKICAgICAgICAgIGJyZWFrOyAgICAvLyBvcHMgZG9uJ3QgbWF0Y2gKICAgICAgICB9CiAgICAgICAgaWYgKGFyZ3NBcnJheVtpICsgMV1bMF0gIT09IGZpcnN0VHJhbnNmb3JtQXJnMCB8fAogICAgICAgICAgICBhcmdzQXJyYXlbaSArIDFdWzFdICE9PSAwIHx8CiAgICAgICAgICAgIGFyZ3NBcnJheVtpICsgMV1bMl0gIT09IDAgfHwKICAgICAgICAgICAgYXJnc0FycmF5W2kgKyAxXVszXSAhPT0gZmlyc3RUcmFuc2Zvcm1BcmczKSB7CiAgICAgICAgICBicmVhazsgICAgLy8gdHJhbnNmb3JtcyBkb24ndCBtYXRjaAogICAgICAgIH0KICAgICAgICBpZiAoYXJnc0FycmF5W2kgKyAyXVswXSAhPT0gZmlyc3RQSVhPQXJnMCkgewogICAgICAgICAgYnJlYWs7ICAgIC8vIGltYWdlcyBkb24ndCBtYXRjaAogICAgICAgIH0KICAgICAgICBpICs9IDQ7CiAgICAgIH0KCiAgICAgIC8vIEF0IHRoaXMgcG9pbnQsIGkgaXMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvcCBwYXN0IHRoZSBsYXN0IHZhbGlkCiAgICAgIC8vIHF1YXJ0ZXQuCiAgICAgIHZhciBjb3VudCA9IE1hdGgubWluKChpIC0gaUZpcnN0U2F2ZSkgLyA0LCBNQVhfSU1BR0VTX0lOX0JMT0NLKTsKICAgICAgaWYgKGNvdW50IDwgTUlOX0lNQUdFU19JTl9CTE9DSykgewogICAgICAgIHJldHVybiBpOwogICAgICB9CgogICAgICAvLyBFeHRyYWN0IHRoZSAoeCx5KSBwb3NpdGlvbnMgZnJvbSBhbGwgb2YgdGhlIG1hdGNoaW5nIHRyYW5zZm9ybXMuCiAgICAgIHZhciBwb3NpdGlvbnMgPSBuZXcgRmxvYXQzMkFycmF5KGNvdW50ICogMik7CiAgICAgIHZhciBpVHJhbnNmb3JtID0gaUZpcnN0VHJhbnNmb3JtOwogICAgICBmb3IgKHZhciBxID0gMDsgcSA8IGNvdW50OyBxKyssIGlUcmFuc2Zvcm0gKz0gNCkgewogICAgICAgIHZhciB0cmFuc2Zvcm1BcmdzID0gYXJnc0FycmF5W2lUcmFuc2Zvcm1dOwogICAgICAgIHBvc2l0aW9uc1socSA8PCAxKV0gPSB0cmFuc2Zvcm1BcmdzWzRdOwogICAgICAgIHBvc2l0aW9uc1socSA8PCAxKSArIDFdID0gdHJhbnNmb3JtQXJnc1s1XTsKICAgICAgfQoKICAgICAgLy8gUmVwbGFjZSBxdWV1ZSBpdGVtcy4KICAgICAgdmFyIGFyZ3MgPSBbZmlyc3RQSVhPQXJnMCwgZmlyc3RUcmFuc2Zvcm1BcmcwLCBmaXJzdFRyYW5zZm9ybUFyZzMsCiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uc107CiAgICAgIGZuQXJyYXkuc3BsaWNlKGlGaXJzdFNhdmUsIGNvdW50ICogNCwgT1BTLnBhaW50SW1hZ2VYT2JqZWN0UmVwZWF0KTsKICAgICAgYXJnc0FycmF5LnNwbGljZShpRmlyc3RTYXZlLCBjb3VudCAqIDQsIGFyZ3MpOwoKICAgICAgcmV0dXJuIGlGaXJzdFNhdmUgKyAxOwogICAgfSk7CgogIC8vIFRoaXMgcmVwbGFjZXMgKGJlZ2luVGV4dCwgc2V0Rm9udCwgc2V0VGV4dE1hdHJpeCwgc2hvd1RleHQsIGVuZFRleHQpKwogIC8vIHNlcXVlbmNlcyB3aXRoIChiZWdpblRleHQsIHNldEZvbnQsIChzZXRUZXh0TWF0cml4LCBzaG93VGV4dCkrLCBlbmRUZXh0KSsKICAvLyBzZXF1ZW5jZXMsIGlmIHRoZSBmb250IGZvciBlYWNoIG9uZSBpcyB0aGUgc2FtZS4KICBhZGRTdGF0ZShJbml0aWFsU3RhdGUsCiAgICBbT1BTLmJlZ2luVGV4dCwgT1BTLnNldEZvbnQsIE9QUy5zZXRUZXh0TWF0cml4LCBPUFMuc2hvd1RleHQsIE9QUy5lbmRUZXh0XSwKICAgIGZ1bmN0aW9uIChjb250ZXh0KSB7CiAgICAgIHZhciBNSU5fQ0hBUlNfSU5fQkxPQ0sgPSAzOwogICAgICB2YXIgTUFYX0NIQVJTX0lOX0JMT0NLID0gMTAwMDsKCiAgICAgIHZhciBmbkFycmF5ID0gY29udGV4dC5mbkFycmF5LCBhcmdzQXJyYXkgPSBjb250ZXh0LmFyZ3NBcnJheTsKICAgICAgdmFyIGN1cnIgPSBjb250ZXh0LmlDdXJyOwogICAgICB2YXIgaUZpcnN0QmVnaW5UZXh0ID0gY3VyciAtIDQ7CiAgICAgIHZhciBpRmlyc3RTZXRGb250ID0gY3VyciAtIDM7CiAgICAgIHZhciBpRmlyc3RTZXRUZXh0TWF0cml4ID0gY3VyciAtIDI7CiAgICAgIHZhciBpRmlyc3RTaG93VGV4dCA9IGN1cnIgLSAxOwogICAgICB2YXIgaUZpcnN0RW5kVGV4dCA9IGN1cnI7CgogICAgICAvLyBMb29rIGZvciB0aGUgcXVpbnRldHMuCiAgICAgIHZhciBmaXJzdFNldEZvbnRBcmcwID0gYXJnc0FycmF5W2lGaXJzdFNldEZvbnRdWzBdOwogICAgICB2YXIgZmlyc3RTZXRGb250QXJnMSA9IGFyZ3NBcnJheVtpRmlyc3RTZXRGb250XVsxXTsKICAgICAgdmFyIGkgPSBpRmlyc3RCZWdpblRleHQgKyA1OwogICAgICB2YXIgaWkgPSBmbkFycmF5Lmxlbmd0aDsKICAgICAgd2hpbGUgKGkgKyA0IDwgaWkpIHsKICAgICAgICBpZiAoZm5BcnJheVtpXSAhPT0gT1BTLmJlZ2luVGV4dCB8fAogICAgICAgICAgICBmbkFycmF5W2kgKyAxXSAhPT0gT1BTLnNldEZvbnQgfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgMl0gIT09IE9QUy5zZXRUZXh0TWF0cml4IHx8CiAgICAgICAgICAgIGZuQXJyYXlbaSArIDNdICE9PSBPUFMuc2hvd1RleHQgfHwKICAgICAgICAgICAgZm5BcnJheVtpICsgNF0gIT09IE9QUy5lbmRUZXh0KSB7CiAgICAgICAgICBicmVhazsgICAgLy8gb3BzIGRvbid0IG1hdGNoCiAgICAgICAgfQogICAgICAgIGlmIChhcmdzQXJyYXlbaSArIDFdWzBdICE9PSBmaXJzdFNldEZvbnRBcmcwIHx8CiAgICAgICAgICAgIGFyZ3NBcnJheVtpICsgMV1bMV0gIT09IGZpcnN0U2V0Rm9udEFyZzEpIHsKICAgICAgICAgIGJyZWFrOyAgICAvLyBmb250cyBkb24ndCBtYXRjaAogICAgICAgIH0KICAgICAgICBpICs9IDU7CiAgICAgIH0KCiAgICAgIC8vIEF0IHRoaXMgcG9pbnQsIGkgaXMgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvcCBwYXN0IHRoZSBsYXN0IHZhbGlkCiAgICAgIC8vIHF1aW50ZXQuCiAgICAgIHZhciBjb3VudCA9IE1hdGgubWluKCgoaSAtIGlGaXJzdEJlZ2luVGV4dCkgLyA1KSwgTUFYX0NIQVJTX0lOX0JMT0NLKTsKICAgICAgaWYgKGNvdW50IDwgTUlOX0NIQVJTX0lOX0JMT0NLKSB7CiAgICAgICAgcmV0dXJuIGk7CiAgICAgIH0KCiAgICAgIC8vIElmIHRoZSBwcmVjZWRpbmcgcXVpbnRldCBpcyAoPHNvbWV0aGluZz4sIHNldEZvbnQsIHNldFRleHRNYXRyaXgsCiAgICAgIC8vIHNob3dUZXh0LCBlbmRUZXh0KSwgaW5jbHVkZSB0aGF0IGFzIHdlbGwuIChFLmcuIDxzb21ldGhpbmc+IG1pZ2h0IGJlCiAgICAgIC8vIHxkZXBlbmRlbmN5fC4pCiAgICAgIHZhciBpRmlyc3QgPSBpRmlyc3RCZWdpblRleHQ7CiAgICAgIGlmIChpRmlyc3RCZWdpblRleHQgPj0gNCAmJgogICAgICAgICAgZm5BcnJheVtpRmlyc3RCZWdpblRleHQgLSA0XSA9PT0gZm5BcnJheVtpRmlyc3RTZXRGb250XSAmJgogICAgICAgICAgZm5BcnJheVtpRmlyc3RCZWdpblRleHQgLSAzXSA9PT0gZm5BcnJheVtpRmlyc3RTZXRUZXh0TWF0cml4XSAmJgogICAgICAgICAgZm5BcnJheVtpRmlyc3RCZWdpblRleHQgLSAyXSA9PT0gZm5BcnJheVtpRmlyc3RTaG93VGV4dF0gJiYKICAgICAgICAgIGZuQXJyYXlbaUZpcnN0QmVnaW5UZXh0IC0gMV0gPT09IGZuQXJyYXlbaUZpcnN0RW5kVGV4dF0gJiYKICAgICAgICAgIGFyZ3NBcnJheVtpRmlyc3RCZWdpblRleHQgLSA0XVswXSA9PT0gZmlyc3RTZXRGb250QXJnMCAmJgogICAgICAgICAgYXJnc0FycmF5W2lGaXJzdEJlZ2luVGV4dCAtIDRdWzFdID09PSBmaXJzdFNldEZvbnRBcmcxKSB7CiAgICAgICAgY291bnQrKzsKICAgICAgICBpRmlyc3QgLT0gNTsKICAgICAgfQoKICAgICAgLy8gUmVtb3ZlIChlbmRUZXh0LCBiZWdpblRleHQsIHNldEZvbnQpIHRyaW9zLgogICAgICB2YXIgaUVuZFRleHQgPSBpRmlyc3QgKyA0OwogICAgICBmb3IgKHZhciBxID0gMTsgcSA8IGNvdW50OyBxKyspIHsKICAgICAgICBmbkFycmF5LnNwbGljZShpRW5kVGV4dCwgMyk7CiAgICAgICAgYXJnc0FycmF5LnNwbGljZShpRW5kVGV4dCwgMyk7CiAgICAgICAgaUVuZFRleHQgKz0gMjsKICAgICAgfQoKICAgICAgcmV0dXJuIGlFbmRUZXh0ICsgMTsKICAgIH0pOwoKICBmdW5jdGlvbiBRdWV1ZU9wdGltaXplcigpIHt9CgogIFF1ZXVlT3B0aW1pemVyLnByb3RvdHlwZSA9IHsKICAgIG9wdGltaXplOiBmdW5jdGlvbiBRdWV1ZU9wdGltaXplcl9vcHRpbWl6ZShxdWV1ZSkgewogICAgICB2YXIgZm5BcnJheSA9IHF1ZXVlLmZuQXJyYXksIGFyZ3NBcnJheSA9IHF1ZXVlLmFyZ3NBcnJheTsKICAgICAgdmFyIGNvbnRleHQgPSB7CiAgICAgICAgaUN1cnI6IDAsCiAgICAgICAgZm5BcnJheTogZm5BcnJheSwKICAgICAgICBhcmdzQXJyYXk6IGFyZ3NBcnJheQogICAgICB9OwogICAgICB2YXIgc3RhdGU7CiAgICAgIHZhciBpID0gMCwgaWkgPSBmbkFycmF5Lmxlbmd0aDsKICAgICAgd2hpbGUgKGkgPCBpaSkgewogICAgICAgIHN0YXRlID0gKHN0YXRlIHx8IEluaXRpYWxTdGF0ZSlbZm5BcnJheVtpXV07CiAgICAgICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gJ2Z1bmN0aW9uJykgeyAvLyB3ZSBmb3VuZCBzb21lIGhhbmRsZXIKICAgICAgICAgIGNvbnRleHQuaUN1cnIgPSBpOwogICAgICAgICAgLy8gc3RhdGUoKSByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgbm9uLW1hdGNoaW5nIG9wIChpZiB3ZQogICAgICAgICAgLy8gZGlkbid0IG1hdGNoKSBvciB0aGUgZmlyc3Qgb3AgcGFzdCB0aGUgbW9kaWZpZWQgb3BzIChpZiB3ZSBkaWQKICAgICAgICAgIC8vIG1hdGNoIGFuZCByZXBsYWNlKS4KICAgICAgICAgIGkgPSBzdGF0ZShjb250ZXh0KTsKICAgICAgICAgIHN0YXRlID0gdW5kZWZpbmVkOyAgICAvLyByZXNldCB0aGUgc3RhdGUgbWFjaGluZQogICAgICAgICAgaWkgPSBjb250ZXh0LmZuQXJyYXkubGVuZ3RoOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfTsKICByZXR1cm4gUXVldWVPcHRpbWl6ZXI7Cn0pKCk7CgoKdmFyIEJVSUxUX0lOX0NNQVBTID0gWwovLyA8PCBTdGFydCB1bmljb2RlIG1hcHMuCidBZG9iZS1HQjEtVUNTMicsCidBZG9iZS1DTlMxLVVDUzInLAonQWRvYmUtSmFwYW4xLVVDUzInLAonQWRvYmUtS29yZWExLVVDUzInLAovLyA+PiBFbmQgdW5pY29kZSBtYXBzLgonNzgtRVVDLUgnLAonNzgtRVVDLVYnLAonNzgtSCcsCic3OC1SS1NKLUgnLAonNzgtUktTSi1WJywKJzc4LVYnLAonNzhtcy1SS1NKLUgnLAonNzhtcy1SS1NKLVYnLAonODNwdi1SS1NKLUgnLAonOTBtcy1SS1NKLUgnLAonOTBtcy1SS1NKLVYnLAonOTBtc3AtUktTSi1IJywKJzkwbXNwLVJLU0otVicsCic5MHB2LVJLU0otSCcsCic5MHB2LVJLU0otVicsCidBZGQtSCcsCidBZGQtUktTSi1IJywKJ0FkZC1SS1NKLVYnLAonQWRkLVYnLAonQWRvYmUtQ05TMS0wJywKJ0Fkb2JlLUNOUzEtMScsCidBZG9iZS1DTlMxLTInLAonQWRvYmUtQ05TMS0zJywKJ0Fkb2JlLUNOUzEtNCcsCidBZG9iZS1DTlMxLTUnLAonQWRvYmUtQ05TMS02JywKJ0Fkb2JlLUdCMS0wJywKJ0Fkb2JlLUdCMS0xJywKJ0Fkb2JlLUdCMS0yJywKJ0Fkb2JlLUdCMS0zJywKJ0Fkb2JlLUdCMS00JywKJ0Fkb2JlLUdCMS01JywKJ0Fkb2JlLUphcGFuMS0wJywKJ0Fkb2JlLUphcGFuMS0xJywKJ0Fkb2JlLUphcGFuMS0yJywKJ0Fkb2JlLUphcGFuMS0zJywKJ0Fkb2JlLUphcGFuMS00JywKJ0Fkb2JlLUphcGFuMS01JywKJ0Fkb2JlLUphcGFuMS02JywKJ0Fkb2JlLUtvcmVhMS0wJywKJ0Fkb2JlLUtvcmVhMS0xJywKJ0Fkb2JlLUtvcmVhMS0yJywKJ0I1LUgnLAonQjUtVicsCidCNXBjLUgnLAonQjVwYy1WJywKJ0NOUy1FVUMtSCcsCidDTlMtRVVDLVYnLAonQ05TMS1IJywKJ0NOUzEtVicsCidDTlMyLUgnLAonQ05TMi1WJywKJ0VUSEstQjUtSCcsCidFVEhLLUI1LVYnLAonRVRlbi1CNS1IJywKJ0VUZW4tQjUtVicsCidFVGVubXMtQjUtSCcsCidFVGVubXMtQjUtVicsCidFVUMtSCcsCidFVUMtVicsCidFeHQtSCcsCidFeHQtUktTSi1IJywKJ0V4dC1SS1NKLVYnLAonRXh0LVYnLAonR0ItRVVDLUgnLAonR0ItRVVDLVYnLAonR0ItSCcsCidHQi1WJywKJ0dCSy1FVUMtSCcsCidHQkstRVVDLVYnLAonR0JLMkstSCcsCidHQksySy1WJywKJ0dCS3AtRVVDLUgnLAonR0JLcC1FVUMtVicsCidHQlQtRVVDLUgnLAonR0JULUVVQy1WJywKJ0dCVC1IJywKJ0dCVC1WJywKJ0dCVHBjLUVVQy1IJywKJ0dCVHBjLUVVQy1WJywKJ0dCcGMtRVVDLUgnLAonR0JwYy1FVUMtVicsCidIJywKJ0hLZGxhLUI1LUgnLAonSEtkbGEtQjUtVicsCidIS2RsYi1CNS1IJywKJ0hLZGxiLUI1LVYnLAonSEtnY2NzLUI1LUgnLAonSEtnY2NzLUI1LVYnLAonSEttMzE0LUI1LUgnLAonSEttMzE0LUI1LVYnLAonSEttNDcxLUI1LUgnLAonSEttNDcxLUI1LVYnLAonSEtzY3MtQjUtSCcsCidIS3Njcy1CNS1WJywKJ0hhbmtha3UnLAonSGlyYWdhbmEnLAonS1NDLUVVQy1IJywKJ0tTQy1FVUMtVicsCidLU0MtSCcsCidLU0MtSm9oYWItSCcsCidLU0MtSm9oYWItVicsCidLU0MtVicsCidLU0Ntcy1VSEMtSCcsCidLU0Ntcy1VSEMtSFctSCcsCidLU0Ntcy1VSEMtSFctVicsCidLU0Ntcy1VSEMtVicsCidLU0NwYy1FVUMtSCcsCidLU0NwYy1FVUMtVicsCidLYXRha2FuYScsCidOV1AtSCcsCidOV1AtVicsCidSS1NKLUgnLAonUktTSi1WJywKJ1JvbWFuJywKJ1VuaUNOUy1VQ1MyLUgnLAonVW5pQ05TLVVDUzItVicsCidVbmlDTlMtVVRGMTYtSCcsCidVbmlDTlMtVVRGMTYtVicsCidVbmlDTlMtVVRGMzItSCcsCidVbmlDTlMtVVRGMzItVicsCidVbmlDTlMtVVRGOC1IJywKJ1VuaUNOUy1VVEY4LVYnLAonVW5pR0ItVUNTMi1IJywKJ1VuaUdCLVVDUzItVicsCidVbmlHQi1VVEYxNi1IJywKJ1VuaUdCLVVURjE2LVYnLAonVW5pR0ItVVRGMzItSCcsCidVbmlHQi1VVEYzMi1WJywKJ1VuaUdCLVVURjgtSCcsCidVbmlHQi1VVEY4LVYnLAonVW5pSklTLVVDUzItSCcsCidVbmlKSVMtVUNTMi1IVy1IJywKJ1VuaUpJUy1VQ1MyLUhXLVYnLAonVW5pSklTLVVDUzItVicsCidVbmlKSVMtVVRGMTYtSCcsCidVbmlKSVMtVVRGMTYtVicsCidVbmlKSVMtVVRGMzItSCcsCidVbmlKSVMtVVRGMzItVicsCidVbmlKSVMtVVRGOC1IJywKJ1VuaUpJUy1VVEY4LVYnLAonVW5pSklTMjAwNC1VVEYxNi1IJywKJ1VuaUpJUzIwMDQtVVRGMTYtVicsCidVbmlKSVMyMDA0LVVURjMyLUgnLAonVW5pSklTMjAwNC1VVEYzMi1WJywKJ1VuaUpJUzIwMDQtVVRGOC1IJywKJ1VuaUpJUzIwMDQtVVRGOC1WJywKJ1VuaUpJU1Byby1VQ1MyLUhXLVYnLAonVW5pSklTUHJvLVVDUzItVicsCidVbmlKSVNQcm8tVVRGOC1WJywKJ1VuaUpJU1gwMjEzLVVURjMyLUgnLAonVW5pSklTWDAyMTMtVVRGMzItVicsCidVbmlKSVNYMDIxMzIwMDQtVVRGMzItSCcsCidVbmlKSVNYMDIxMzIwMDQtVVRGMzItVicsCidVbmlLUy1VQ1MyLUgnLAonVW5pS1MtVUNTMi1WJywKJ1VuaUtTLVVURjE2LUgnLAonVW5pS1MtVVRGMTYtVicsCidVbmlLUy1VVEYzMi1IJywKJ1VuaUtTLVVURjMyLVYnLAonVW5pS1MtVVRGOC1IJywKJ1VuaUtTLVVURjgtVicsCidWJywKJ1dQLVN5bWJvbCddOwoKLy8gQ01hcCwgbm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggVHJ1ZVR5cGUncyBjbWFwLgp2YXIgQ01hcCA9IChmdW5jdGlvbiBDTWFwQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDTWFwKGJ1aWx0SW5DTWFwKSB7CiAgICAvLyBDb2Rlc3BhY2UgcmFuZ2VzIGFyZSBzdG9yZWQgYXMgZm9sbG93czoKICAgIC8vIFtbMUJ5dGVQYWlyc10sIFsyQnl0ZVBhaXJzXSwgWzNCeXRlUGFpcnNdLCBbNEJ5dGVQYWlyc11dCiAgICAvLyB3aGVyZSBuQnl0ZVBhaXJzIGFyZSByYW5nZXMgZS5nLiBbbG93MSwgaGlnaDEsIGxvdzIsIGhpZ2gyLCAuLi5dCiAgICB0aGlzLmNvZGVzcGFjZVJhbmdlcyA9IFtbXSwgW10sIFtdLCBbXV07CiAgICB0aGlzLm51bUNvZGVzcGFjZVJhbmdlcyA9IDA7CiAgICAvLyBNYXAgZW50cmllcyBoYXZlIG9uZSBvZiB0d28gZm9ybXMuCiAgICAvLyAtIGNpZCBjaGFycyBhcmUgMTYtYml0IHVuc2lnbmVkIGludGVnZXJzLCBzdG9yZWQgYXMgaW50ZWdlcnMuCiAgICAvLyAtIGJmIGNoYXJzIGFyZSB2YXJpYWJsZS1sZW5ndGggYnl0ZSBzZXF1ZW5jZXMsIHN0b3JlZCBhcyBzdHJpbmdzLCB3aXRoCiAgICAvLyAgIG9uZSBieXRlIHBlciBjaGFyYWN0ZXIuCiAgICB0aGlzLl9tYXAgPSBbXTsKICAgIHRoaXMubmFtZSA9ICcnOwogICAgdGhpcy52ZXJ0aWNhbCA9IGZhbHNlOwogICAgdGhpcy51c2VDTWFwID0gbnVsbDsKICAgIHRoaXMuYnVpbHRJbkNNYXAgPSBidWlsdEluQ01hcDsKICB9CiAgQ01hcC5wcm90b3R5cGUgPSB7CiAgICBhZGRDb2Rlc3BhY2VSYW5nZTogZnVuY3Rpb24obiwgbG93LCBoaWdoKSB7CiAgICAgIHRoaXMuY29kZXNwYWNlUmFuZ2VzW24gLSAxXS5wdXNoKGxvdywgaGlnaCk7CiAgICAgIHRoaXMubnVtQ29kZXNwYWNlUmFuZ2VzKys7CiAgICB9LAoKICAgIG1hcENpZFJhbmdlOiBmdW5jdGlvbihsb3csIGhpZ2gsIGRzdExvdykgewogICAgICB3aGlsZSAobG93IDw9IGhpZ2gpIHsKICAgICAgICB0aGlzLl9tYXBbbG93KytdID0gZHN0TG93Kys7CiAgICAgIH0KICAgIH0sCgogICAgbWFwQmZSYW5nZTogZnVuY3Rpb24obG93LCBoaWdoLCBkc3RMb3cpIHsKICAgICAgdmFyIGxhc3RCeXRlID0gZHN0TG93Lmxlbmd0aCAtIDE7CiAgICAgIHdoaWxlIChsb3cgPD0gaGlnaCkgewogICAgICAgIHRoaXMuX21hcFtsb3crK10gPSBkc3RMb3c7CiAgICAgICAgLy8gT25seSB0aGUgbGFzdCBieXRlIGhhcyB0byBiZSBpbmNyZW1lbnRlZC4KICAgICAgICBkc3RMb3cgPSBkc3RMb3cuc3Vic3RyKDAsIGxhc3RCeXRlKSArCiAgICAgICAgICAgICAgICAgU3RyaW5nLmZyb21DaGFyQ29kZShkc3RMb3cuY2hhckNvZGVBdChsYXN0Qnl0ZSkgKyAxKTsKICAgICAgfQogICAgfSwKCiAgICBtYXBCZlJhbmdlVG9BcnJheTogZnVuY3Rpb24obG93LCBoaWdoLCBhcnJheSkgewogICAgICB2YXIgaSA9IDAsIGlpID0gYXJyYXkubGVuZ3RoOwogICAgICB3aGlsZSAobG93IDw9IGhpZ2ggJiYgaSA8IGlpKSB7CiAgICAgICAgdGhpcy5fbWFwW2xvd10gPSBhcnJheVtpKytdOwogICAgICAgICsrbG93OwogICAgICB9CiAgICB9LAoKICAgIC8vIFRoaXMgaXMgdXNlZCBmb3IgYm90aCBiZiBhbmQgY2lkIGNoYXJzLgogICAgbWFwT25lOiBmdW5jdGlvbihzcmMsIGRzdCkgewogICAgICB0aGlzLl9tYXBbc3JjXSA9IGRzdDsKICAgIH0sCgogICAgbG9va3VwOiBmdW5jdGlvbihjb2RlKSB7CiAgICAgIHJldHVybiB0aGlzLl9tYXBbY29kZV07CiAgICB9LAoKICAgIGNvbnRhaW5zOiBmdW5jdGlvbihjb2RlKSB7CiAgICAgIHJldHVybiB0aGlzLl9tYXBbY29kZV0gIT09IHVuZGVmaW5lZDsKICAgIH0sCgogICAgZm9yRWFjaDogZnVuY3Rpb24oY2FsbGJhY2spIHsKICAgICAgLy8gTW9zdCBtYXBzIGhhdmUgZmV3ZXIgdGhhbiA2NTUzNiBlbnRyaWVzLCBhbmQgZm9yIHRob3NlIHdlIHVzZSBub3JtYWwKICAgICAgLy8gYXJyYXkgaXRlcmF0aW9uLiBCdXQgcmVhbGx5IHNwYXJzZSB0YWJsZXMgYXJlIHBvc3NpYmxlIC0tIGUuZy4gd2l0aAogICAgICAvLyBpbmRpY2VzIGluIHRoZSAqYmlsbGlvbnMqLiBGb3Igc3VjaCB0YWJsZXMgd2UgdXNlIGZvci4uaW4sIHdoaWNoIGlzbid0CiAgICAgIC8vIGlkZWFsIGJlY2F1c2UgaXQgc3RyaW5naWZpZXMgdGhlIGluZGljZXMgZm9yIGFsbCBwcmVzZW50IGVsZW1lbnRzLCBidXQKICAgICAgLy8gaXQgZG9lcyBhdm9pZCBpdGVyYXRpbmcgb3ZlciBldmVyeSB1bmRlZmluZWQgZW50cnkuCiAgICAgIHZhciBtYXAgPSB0aGlzLl9tYXA7CiAgICAgIHZhciBsZW5ndGggPSBtYXAubGVuZ3RoOwogICAgICB2YXIgaTsKICAgICAgaWYgKGxlbmd0aCA8PSAweDEwMDAwKSB7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBpZiAobWFwW2ldICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgY2FsbGJhY2soaSwgbWFwW2ldKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChpIGluIHRoaXMuX21hcCkgewogICAgICAgICAgY2FsbGJhY2soaSwgbWFwW2ldKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgY2hhckNvZGVPZjogZnVuY3Rpb24odmFsdWUpIHsKICAgICAgcmV0dXJuIHRoaXMuX21hcC5pbmRleE9mKHZhbHVlKTsKICAgIH0sCgogICAgZ2V0TWFwOiBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuX21hcDsKICAgIH0sCgogICAgcmVhZENoYXJDb2RlOiBmdW5jdGlvbihzdHIsIG9mZnNldCwgb3V0KSB7CiAgICAgIHZhciBjID0gMDsKICAgICAgdmFyIGNvZGVzcGFjZVJhbmdlcyA9IHRoaXMuY29kZXNwYWNlUmFuZ2VzOwogICAgICB2YXIgY29kZXNwYWNlUmFuZ2VzTGVuID0gdGhpcy5jb2Rlc3BhY2VSYW5nZXMubGVuZ3RoOwogICAgICAvLyA5LjcuNi4yIENNYXAgTWFwcGluZwogICAgICAvLyBUaGUgY29kZSBsZW5ndGggaXMgYXQgbW9zdCA0LgogICAgICBmb3IgKHZhciBuID0gMDsgbiA8IGNvZGVzcGFjZVJhbmdlc0xlbjsgbisrKSB7CiAgICAgICAgYyA9ICgoYyA8PCA4KSB8IHN0ci5jaGFyQ29kZUF0KG9mZnNldCArIG4pKSA+Pj4gMDsKICAgICAgICAvLyBDaGVjayBlYWNoIGNvZGVzcGFjZSByYW5nZSB0byBzZWUgaWYgaXQgZmFsbHMgd2l0aGluLgogICAgICAgIHZhciBjb2Rlc3BhY2VSYW5nZSA9IGNvZGVzcGFjZVJhbmdlc1tuXTsKICAgICAgICBmb3IgKHZhciBrID0gMCwga2sgPSBjb2Rlc3BhY2VSYW5nZS5sZW5ndGg7IGsgPCBrazspIHsKICAgICAgICAgIHZhciBsb3cgPSBjb2Rlc3BhY2VSYW5nZVtrKytdOwogICAgICAgICAgdmFyIGhpZ2ggPSBjb2Rlc3BhY2VSYW5nZVtrKytdOwogICAgICAgICAgaWYgKGMgPj0gbG93ICYmIGMgPD0gaGlnaCkgewogICAgICAgICAgICBvdXQuY2hhcmNvZGUgPSBjOwogICAgICAgICAgICBvdXQubGVuZ3RoID0gbiArIDE7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgb3V0LmNoYXJjb2RlID0gMDsKICAgICAgb3V0Lmxlbmd0aCA9IDE7CiAgICB9LAoKICAgIGdldCBpc0lkZW50aXR5Q01hcCgpIHsKICAgICAgaWYgKCEodGhpcy5uYW1lID09PSAnSWRlbnRpdHktSCcgfHwgdGhpcy5uYW1lID09PSAnSWRlbnRpdHktVicpKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmICh0aGlzLl9tYXAubGVuZ3RoICE9PSAweDEwMDAwKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMHgxMDAwMDsgaSsrKSB7CiAgICAgICAgaWYgKHRoaXMuX21hcFtpXSAhPT0gaSkgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9OwogIHJldHVybiBDTWFwOwp9KSgpOwoKLy8gQSBzcGVjaWFsIGNhc2Ugb2YgQ01hcCwgd2hlcmUgdGhlIF9tYXAgYXJyYXkgaW1wbGljaXRseSBoYXMgYSBsZW5ndGggb2YKLy8gNjU1MzYgYW5kIGVhY2ggZWxlbWVudCBpcyBlcXVhbCB0byBpdHMgaW5kZXguCnZhciBJZGVudGl0eUNNYXAgPSAoZnVuY3Rpb24gSWRlbnRpdHlDTWFwQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBJZGVudGl0eUNNYXAodmVydGljYWwsIG4pIHsKICAgIENNYXAuY2FsbCh0aGlzKTsKICAgIHRoaXMudmVydGljYWwgPSB2ZXJ0aWNhbDsKICAgIHRoaXMuYWRkQ29kZXNwYWNlUmFuZ2UobiwgMCwgMHhmZmZmKTsKICB9CiAgVXRpbC5pbmhlcml0KElkZW50aXR5Q01hcCwgQ01hcCwge30pOwoKICBJZGVudGl0eUNNYXAucHJvdG90eXBlID0gewogICAgYWRkQ29kZXNwYWNlUmFuZ2U6IENNYXAucHJvdG90eXBlLmFkZENvZGVzcGFjZVJhbmdlLAoKICAgIG1hcENpZFJhbmdlOiBmdW5jdGlvbihsb3csIGhpZ2gsIGRzdExvdykgewogICAgICBlcnJvcignc2hvdWxkIG5vdCBjYWxsIG1hcENpZFJhbmdlJyk7CiAgICB9LAoKICAgIG1hcEJmUmFuZ2U6IGZ1bmN0aW9uKGxvdywgaGlnaCwgZHN0TG93KSB7CiAgICAgIGVycm9yKCdzaG91bGQgbm90IGNhbGwgbWFwQmZSYW5nZScpOwogICAgfSwKCiAgICBtYXBCZlJhbmdlVG9BcnJheTogZnVuY3Rpb24obG93LCBoaWdoLCBhcnJheSkgewogICAgICBlcnJvcignc2hvdWxkIG5vdCBjYWxsIG1hcEJmUmFuZ2VUb0FycmF5Jyk7CiAgICB9LAoKICAgIG1hcE9uZTogZnVuY3Rpb24oc3JjLCBkc3QpIHsKICAgICAgZXJyb3IoJ3Nob3VsZCBub3QgY2FsbCBtYXBDaWRPbmUnKTsKICAgIH0sCgogICAgbG9va3VwOiBmdW5jdGlvbihjb2RlKSB7CiAgICAgIHJldHVybiAoaXNJbnQoY29kZSkgJiYgY29kZSA8PSAweGZmZmYpID8gY29kZSA6IHVuZGVmaW5lZDsKICAgIH0sCgogICAgY29udGFpbnM6IGZ1bmN0aW9uKGNvZGUpIHsKICAgICAgcmV0dXJuIGlzSW50KGNvZGUpICYmIGNvZGUgPD0gMHhmZmZmOwogICAgfSwKCiAgICBmb3JFYWNoOiBmdW5jdGlvbihjYWxsYmFjaykgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8PSAweGZmZmY7IGkrKykgewogICAgICAgIGNhbGxiYWNrKGksIGkpOwogICAgICB9CiAgICB9LAoKICAgIGNoYXJDb2RlT2Y6IGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgIHJldHVybiAoaXNJbnQodmFsdWUpICYmIHZhbHVlIDw9IDB4ZmZmZikgPyB2YWx1ZSA6IC0xOwogICAgfSwKCiAgICBnZXRNYXA6IGZ1bmN0aW9uKCkgewogICAgICAvLyBTb21ldGltZXMgaWRlbnRpdHkgbWFwcyBtdXN0IGJlIGluc3RhbnRpYXRlZCwgYnV0IGl0J3MgcmFyZS4KICAgICAgdmFyIG1hcCA9IG5ldyBBcnJheSgweDEwMDAwKTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gMHhmZmZmOyBpKyspIHsKICAgICAgICBtYXBbaV0gPSBpOwogICAgICB9CiAgICAgIHJldHVybiBtYXA7CiAgICB9LAoKICAgIHJlYWRDaGFyQ29kZTogQ01hcC5wcm90b3R5cGUucmVhZENoYXJDb2RlLAoKICAgIGdldCBpc0lkZW50aXR5Q01hcCgpIHsKICAgICAgZXJyb3IoJ3Nob3VsZCBub3QgYWNjZXNzIC5pc0lkZW50aXR5Q01hcCcpOwogICAgfQogIH07CgogIHJldHVybiBJZGVudGl0eUNNYXA7Cn0pKCk7Cgp2YXIgQmluYXJ5Q01hcFJlYWRlciA9IChmdW5jdGlvbiBCaW5hcnlDTWFwUmVhZGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBmZXRjaEJpbmFyeURhdGEodXJsKSB7CiAgICB2YXIgbm9uQmluYXJ5UmVxdWVzdCA9IFBERkpTLmRpc2FibGVXb3JrZXI7CiAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgcmVxdWVzdC5vcGVuKCdHRVQnLCB1cmwsIGZhbHNlKTsKICAgIGlmICghbm9uQmluYXJ5UmVxdWVzdCkgewogICAgICB0cnkgewogICAgICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKICAgICAgICBub25CaW5hcnlSZXF1ZXN0ID0gcmVxdWVzdC5yZXNwb25zZVR5cGUgIT09ICdhcnJheWJ1ZmZlcic7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBub25CaW5hcnlSZXF1ZXN0ID0gdHJ1ZTsKICAgICAgfQogICAgfQogICAgaWYgKG5vbkJpbmFyeVJlcXVlc3QgJiYgcmVxdWVzdC5vdmVycmlkZU1pbWVUeXBlKSB7CiAgICAgIHJlcXVlc3Qub3ZlcnJpZGVNaW1lVHlwZSgndGV4dC9wbGFpbjsgY2hhcnNldD14LXVzZXItZGVmaW5lZCcpOwogICAgfQogICAgcmVxdWVzdC5zZW5kKG51bGwpOwogICAgaWYgKG5vbkJpbmFyeVJlcXVlc3QgPyAhcmVxdWVzdC5yZXNwb25zZVRleHQgOiAhcmVxdWVzdC5yZXNwb25zZSkgewogICAgICBlcnJvcignVW5hYmxlIHRvIGdldCBiaW5hcnkgY01hcCBhdDogJyArIHVybCk7CiAgICB9CiAgICBpZiAobm9uQmluYXJ5UmVxdWVzdCkgewogICAgICB2YXIgZGF0YSA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChyZXF1ZXN0LnJlc3BvbnNlVGV4dCwgZnVuY3Rpb24gKGNoKSB7CiAgICAgICAgcmV0dXJuIGNoLmNoYXJDb2RlQXQoMCkgJiAyNTU7CiAgICAgIH0pOwogICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGF0YSk7CiAgICB9CiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkocmVxdWVzdC5yZXNwb25zZSk7CiAgfQoKICBmdW5jdGlvbiBoZXhUb0ludChhLCBzaXplKSB7CiAgICB2YXIgbiA9IDA7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBzaXplOyBpKyspIHsKICAgICAgbiA9IChuIDw8IDgpIHwgYVtpXTsKICAgIH0KICAgIHJldHVybiBuID4+PiAwOwogIH0KCiAgZnVuY3Rpb24gaGV4VG9TdHIoYSwgc2l6ZSkgewogICAgLy8gVGhpcyBjb2RlIGlzIGhvdC4gU3BlY2lhbC1jYXNlIHNvbWUgY29tbW9uIHZhbHVlcyB0byBhdm9pZCBjcmVhdGluZyBhbgogICAgLy8gb2JqZWN0IHdpdGggc3ViYXJyYXkoKS4KICAgIGlmIChzaXplID09PSAxKSB7CiAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGFbMF0sIGFbMV0pOwogICAgfQogICAgaWYgKHNpemUgPT09IDMpIHsKICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoYVswXSwgYVsxXSwgYVsyXSwgYVszXSk7CiAgICB9CiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLCBhLnN1YmFycmF5KDAsIHNpemUgKyAxKSk7CiAgfQoKICBmdW5jdGlvbiBhZGRIZXgoYSwgYiwgc2l6ZSkgewogICAgdmFyIGMgPSAwOwogICAgZm9yICh2YXIgaSA9IHNpemU7IGkgPj0gMDsgaS0tKSB7CiAgICAgIGMgKz0gYVtpXSArIGJbaV07CiAgICAgIGFbaV0gPSBjICYgMjU1OwogICAgICBjID4+PSA4OwogICAgfQogIH0KCiAgZnVuY3Rpb24gaW5jSGV4KGEsIHNpemUpIHsKICAgIHZhciBjID0gMTsKICAgIGZvciAodmFyIGkgPSBzaXplOyBpID49IDAgJiYgYyA+IDA7IGktLSkgewogICAgICBjICs9IGFbaV07CiAgICAgIGFbaV0gPSBjICYgMjU1OwogICAgICBjID4+PSA4OwogICAgfQogIH0KCiAgdmFyIE1BWF9OVU1fU0laRSA9IDE2OwogIHZhciBNQVhfRU5DT0RFRF9OVU1fU0laRSA9IDE5OyAvLyBjZWlsKE1BWF9OVU1fU0laRSAqIDcgLyA4KQoKICBmdW5jdGlvbiBCaW5hcnlDTWFwU3RyZWFtKGRhdGEpIHsKICAgIHRoaXMuYnVmZmVyID0gZGF0YTsKICAgIHRoaXMucG9zID0gMDsKICAgIHRoaXMuZW5kID0gZGF0YS5sZW5ndGg7CiAgICB0aGlzLnRtcEJ1ZiA9IG5ldyBVaW50OEFycmF5KE1BWF9FTkNPREVEX05VTV9TSVpFKTsKICB9CgogIEJpbmFyeUNNYXBTdHJlYW0ucHJvdG90eXBlID0gewogICAgcmVhZEJ5dGU6IGZ1bmN0aW9uICgpIHsKICAgICAgaWYgKHRoaXMucG9zID49IHRoaXMuZW5kKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLmJ1ZmZlclt0aGlzLnBvcysrXTsKICAgIH0sCiAgICByZWFkTnVtYmVyOiBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBuID0gMDsKICAgICAgdmFyIGxhc3Q7CiAgICAgIGRvIHsKICAgICAgICB2YXIgYiA9IHRoaXMucmVhZEJ5dGUoKTsKICAgICAgICBpZiAoYiA8IDApIHsKICAgICAgICAgIGVycm9yKCd1bmV4cGVjdGVkIEVPRiBpbiBiY21hcCcpOwogICAgICAgIH0KICAgICAgICBsYXN0ID0gIShiICYgMHg4MCk7CiAgICAgICAgbiA9IChuIDw8IDcpIHwgKGIgJiAweDdGKTsKICAgICAgfSB3aGlsZSAoIWxhc3QpOwogICAgICByZXR1cm4gbjsKICAgIH0sCiAgICByZWFkU2lnbmVkOiBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBuID0gdGhpcy5yZWFkTnVtYmVyKCk7CiAgICAgIHJldHVybiAobiAmIDEpID8gfihuID4+PiAxKSA6IG4gPj4+IDE7CiAgICB9LAogICAgcmVhZEhleDogZnVuY3Rpb24gKG51bSwgc2l6ZSkgewogICAgICBudW0uc2V0KHRoaXMuYnVmZmVyLnN1YmFycmF5KHRoaXMucG9zLAogICAgICAgIHRoaXMucG9zICsgc2l6ZSArIDEpKTsKICAgICAgdGhpcy5wb3MgKz0gc2l6ZSArIDE7CiAgICB9LAogICAgcmVhZEhleE51bWJlcjogZnVuY3Rpb24gKG51bSwgc2l6ZSkgewogICAgICB2YXIgbGFzdDsKICAgICAgdmFyIHN0YWNrID0gdGhpcy50bXBCdWYsIHNwID0gMDsKICAgICAgZG8gewogICAgICAgIHZhciBiID0gdGhpcy5yZWFkQnl0ZSgpOwogICAgICAgIGlmIChiIDwgMCkgewogICAgICAgICAgZXJyb3IoJ3VuZXhwZWN0ZWQgRU9GIGluIGJjbWFwJyk7CiAgICAgICAgfQogICAgICAgIGxhc3QgPSAhKGIgJiAweDgwKTsKICAgICAgICBzdGFja1tzcCsrXSA9IGIgJiAweDdGOwogICAgICB9IHdoaWxlICghbGFzdCk7CiAgICAgIHZhciBpID0gc2l6ZSwgYnVmZmVyID0gMCwgYnVmZmVyU2l6ZSA9IDA7CiAgICAgIHdoaWxlIChpID49IDApIHsKICAgICAgICB3aGlsZSAoYnVmZmVyU2l6ZSA8IDggJiYgc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgYnVmZmVyID0gKHN0YWNrWy0tc3BdIDw8IGJ1ZmZlclNpemUpIHwgYnVmZmVyOwogICAgICAgICAgYnVmZmVyU2l6ZSArPSA3OwogICAgICAgIH0KICAgICAgICBudW1baV0gPSBidWZmZXIgJiAyNTU7CiAgICAgICAgaS0tOwogICAgICAgIGJ1ZmZlciA+Pj0gODsKICAgICAgICBidWZmZXJTaXplIC09IDg7CiAgICAgIH0KICAgIH0sCiAgICByZWFkSGV4U2lnbmVkOiBmdW5jdGlvbiAobnVtLCBzaXplKSB7CiAgICAgIHRoaXMucmVhZEhleE51bWJlcihudW0sIHNpemUpOwogICAgICB2YXIgc2lnbiA9IG51bVtzaXplXSAmIDEgPyAyNTUgOiAwOwogICAgICB2YXIgYyA9IDA7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IHNpemU7IGkrKykgewogICAgICAgIGMgPSAoKGMgJiAxKSA8PCA4KSB8IG51bVtpXTsKICAgICAgICBudW1baV0gPSAoYyA+PiAxKSBeIHNpZ247CiAgICAgIH0KICAgIH0sCiAgICByZWFkU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBsZW4gPSB0aGlzLnJlYWROdW1iZXIoKTsKICAgICAgdmFyIHMgPSAnJzsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICAgIHMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLnJlYWROdW1iZXIoKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHM7CiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gcHJvY2Vzc0JpbmFyeUNNYXAodXJsLCBjTWFwLCBleHRlbmQpIHsKICAgIHZhciBkYXRhID0gZmV0Y2hCaW5hcnlEYXRhKHVybCk7CiAgICB2YXIgc3RyZWFtID0gbmV3IEJpbmFyeUNNYXBTdHJlYW0oZGF0YSk7CgogICAgdmFyIGhlYWRlciA9IHN0cmVhbS5yZWFkQnl0ZSgpOwogICAgY01hcC52ZXJ0aWNhbCA9ICEhKGhlYWRlciAmIDEpOwoKICAgIHZhciB1c2VDTWFwID0gbnVsbDsKICAgIHZhciBzdGFydCA9IG5ldyBVaW50OEFycmF5KE1BWF9OVU1fU0laRSk7CiAgICB2YXIgZW5kID0gbmV3IFVpbnQ4QXJyYXkoTUFYX05VTV9TSVpFKTsKICAgIHZhciBjaGFyID0gbmV3IFVpbnQ4QXJyYXkoTUFYX05VTV9TSVpFKTsKICAgIHZhciBjaGFyQ29kZSA9IG5ldyBVaW50OEFycmF5KE1BWF9OVU1fU0laRSk7CiAgICB2YXIgdG1wID0gbmV3IFVpbnQ4QXJyYXkoTUFYX05VTV9TSVpFKTsKICAgIHZhciBjb2RlOwoKICAgIHZhciBiOwogICAgd2hpbGUgKChiID0gc3RyZWFtLnJlYWRCeXRlKCkpID49IDApIHsKICAgICAgdmFyIHR5cGUgPSBiID4+IDU7CiAgICAgIGlmICh0eXBlID09PSA3KSB7IC8vIG1ldGFkYXRhLCBlLmcuIGNvbW1lbnQgb3IgdXNlY21hcAogICAgICAgIHN3aXRjaCAoYiAmIDB4MUYpIHsKICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgc3RyZWFtLnJlYWRTdHJpbmcoKTsgLy8gc2tpcHBpbmcgY29tbWVudAogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgdXNlQ01hcCA9IHN0cmVhbS5yZWFkU3RyaW5nKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICB2YXIgc2VxdWVuY2UgPSAhIShiICYgMHgxMCk7CiAgICAgIHZhciBkYXRhU2l6ZSA9IGIgJiAxNTsKCiAgICAgIGFzc2VydChkYXRhU2l6ZSArIDEgPD0gTUFYX05VTV9TSVpFKTsKCiAgICAgIHZhciB1Y3MyRGF0YVNpemUgPSAxOwogICAgICB2YXIgc3ViaXRlbXNDb3VudCA9IHN0cmVhbS5yZWFkTnVtYmVyKCk7CiAgICAgIHZhciBpOwogICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgICBjYXNlIDA6IC8vIGNvZGVzcGFjZXJhbmdlCiAgICAgICAgICBzdHJlYW0ucmVhZEhleChzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgc3RyZWFtLnJlYWRIZXhOdW1iZXIoZW5kLCBkYXRhU2l6ZSk7CiAgICAgICAgICBhZGRIZXgoZW5kLCBzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgY01hcC5hZGRDb2Rlc3BhY2VSYW5nZShkYXRhU2l6ZSArIDEsIGhleFRvSW50KHN0YXJ0LCBkYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhleFRvSW50KGVuZCwgZGF0YVNpemUpKTsKICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBzdWJpdGVtc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgaW5jSGV4KGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcihzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgICBhZGRIZXgoc3RhcnQsIGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcihlbmQsIGRhdGFTaXplKTsKICAgICAgICAgICAgYWRkSGV4KGVuZCwgc3RhcnQsIGRhdGFTaXplKTsKICAgICAgICAgICAgY01hcC5hZGRDb2Rlc3BhY2VSYW5nZShkYXRhU2l6ZSArIDEsIGhleFRvSW50KHN0YXJ0LCBkYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGV4VG9JbnQoZW5kLCBkYXRhU2l6ZSkpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAxOiAvLyBub3RkZWZyYW5nZQogICAgICAgICAgc3RyZWFtLnJlYWRIZXgoc3RhcnQsIGRhdGFTaXplKTsKICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgYWRkSGV4KGVuZCwgc3RhcnQsIGRhdGFTaXplKTsKICAgICAgICAgIGNvZGUgPSBzdHJlYW0ucmVhZE51bWJlcigpOwogICAgICAgICAgLy8gdW5kZWZpbmVkIHJhbmdlLCBza2lwcGluZwogICAgICAgICAgZm9yIChpID0gMTsgaSA8IHN1Yml0ZW1zQ291bnQ7IGkrKykgewogICAgICAgICAgICBpbmNIZXgoZW5kLCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKHN0YXJ0LCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIGFkZEhleChzdGFydCwgZW5kLCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBhZGRIZXgoZW5kLCBzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgICBjb2RlID0gc3RyZWFtLnJlYWROdW1iZXIoKTsKICAgICAgICAgICAgLy8gbm9wCiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDI6IC8vIGNpZGNoYXIKICAgICAgICAgIHN0cmVhbS5yZWFkSGV4KGNoYXIsIGRhdGFTaXplKTsKICAgICAgICAgIGNvZGUgPSBzdHJlYW0ucmVhZE51bWJlcigpOwogICAgICAgICAgY01hcC5tYXBPbmUoaGV4VG9JbnQoY2hhciwgZGF0YVNpemUpLCBjb2RlKTsKICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBzdWJpdGVtc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgaW5jSGV4KGNoYXIsIGRhdGFTaXplKTsKICAgICAgICAgICAgaWYgKCFzZXF1ZW5jZSkgewogICAgICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKHRtcCwgZGF0YVNpemUpOwogICAgICAgICAgICAgIGFkZEhleChjaGFyLCB0bXAsIGRhdGFTaXplKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb2RlID0gc3RyZWFtLnJlYWRTaWduZWQoKSArIChjb2RlICsgMSk7CiAgICAgICAgICAgIGNNYXAubWFwT25lKGhleFRvSW50KGNoYXIsIGRhdGFTaXplKSwgY29kZSk7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDM6IC8vIGNpZHJhbmdlCiAgICAgICAgICBzdHJlYW0ucmVhZEhleChzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgc3RyZWFtLnJlYWRIZXhOdW1iZXIoZW5kLCBkYXRhU2l6ZSk7CiAgICAgICAgICBhZGRIZXgoZW5kLCBzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgY29kZSA9IHN0cmVhbS5yZWFkTnVtYmVyKCk7CiAgICAgICAgICBjTWFwLm1hcENpZFJhbmdlKGhleFRvSW50KHN0YXJ0LCBkYXRhU2l6ZSksIGhleFRvSW50KGVuZCwgZGF0YVNpemUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlKTsKICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBzdWJpdGVtc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgaW5jSGV4KGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBpZiAoIXNlcXVlbmNlKSB7CiAgICAgICAgICAgICAgc3RyZWFtLnJlYWRIZXhOdW1iZXIoc3RhcnQsIGRhdGFTaXplKTsKICAgICAgICAgICAgICBhZGRIZXgoc3RhcnQsIGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0YXJ0LnNldChlbmQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKGVuZCwgZGF0YVNpemUpOwogICAgICAgICAgICBhZGRIZXgoZW5kLCBzdGFydCwgZGF0YVNpemUpOwogICAgICAgICAgICBjb2RlID0gc3RyZWFtLnJlYWROdW1iZXIoKTsKICAgICAgICAgICAgY01hcC5tYXBDaWRSYW5nZShoZXhUb0ludChzdGFydCwgZGF0YVNpemUpLCBoZXhUb0ludChlbmQsIGRhdGFTaXplKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlKTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgNDogLy8gYmZjaGFyCiAgICAgICAgICBzdHJlYW0ucmVhZEhleChjaGFyLCB1Y3MyRGF0YVNpemUpOwogICAgICAgICAgc3RyZWFtLnJlYWRIZXgoY2hhckNvZGUsIGRhdGFTaXplKTsKICAgICAgICAgIGNNYXAubWFwT25lKGhleFRvSW50KGNoYXIsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICBoZXhUb1N0cihjaGFyQ29kZSwgZGF0YVNpemUpKTsKICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBzdWJpdGVtc0NvdW50OyBpKyspIHsKICAgICAgICAgICAgaW5jSGV4KGNoYXIsIHVjczJEYXRhU2l6ZSk7CiAgICAgICAgICAgIGlmICghc2VxdWVuY2UpIHsKICAgICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcih0bXAsIHVjczJEYXRhU2l6ZSk7CiAgICAgICAgICAgICAgYWRkSGV4KGNoYXIsIHRtcCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbmNIZXgoY2hhckNvZGUsIGRhdGFTaXplKTsKICAgICAgICAgICAgc3RyZWFtLnJlYWRIZXhTaWduZWQodG1wLCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIGFkZEhleChjaGFyQ29kZSwgdG1wLCBkYXRhU2l6ZSk7CiAgICAgICAgICAgIGNNYXAubWFwT25lKGhleFRvSW50KGNoYXIsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgIGhleFRvU3RyKGNoYXJDb2RlLCBkYXRhU2l6ZSkpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA1OiAvLyBiZnJhbmdlCiAgICAgICAgICBzdHJlYW0ucmVhZEhleChzdGFydCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgIHN0cmVhbS5yZWFkSGV4TnVtYmVyKGVuZCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgIGFkZEhleChlbmQsIHN0YXJ0LCB1Y3MyRGF0YVNpemUpOwogICAgICAgICAgc3RyZWFtLnJlYWRIZXgoY2hhckNvZGUsIGRhdGFTaXplKTsKICAgICAgICAgIGNNYXAubWFwQmZSYW5nZShoZXhUb0ludChzdGFydCwgdWNzMkRhdGFTaXplKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBoZXhUb0ludChlbmQsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgaGV4VG9TdHIoY2hhckNvZGUsIGRhdGFTaXplKSk7CiAgICAgICAgICBmb3IgKGkgPSAxOyBpIDwgc3ViaXRlbXNDb3VudDsgaSsrKSB7CiAgICAgICAgICAgIGluY0hleChlbmQsIHVjczJEYXRhU2l6ZSk7CiAgICAgICAgICAgIGlmICghc2VxdWVuY2UpIHsKICAgICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcihzdGFydCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgICAgICBhZGRIZXgoc3RhcnQsIGVuZCwgdWNzMkRhdGFTaXplKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBzdGFydC5zZXQoZW5kKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdHJlYW0ucmVhZEhleE51bWJlcihlbmQsIHVjczJEYXRhU2l6ZSk7CiAgICAgICAgICAgIGFkZEhleChlbmQsIHN0YXJ0LCB1Y3MyRGF0YVNpemUpOwogICAgICAgICAgICBzdHJlYW0ucmVhZEhleChjaGFyQ29kZSwgZGF0YVNpemUpOwogICAgICAgICAgICBjTWFwLm1hcEJmUmFuZ2UoaGV4VG9JbnQoc3RhcnQsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXhUb0ludChlbmQsIHVjczJEYXRhU2l6ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXhUb1N0cihjaGFyQ29kZSwgZGF0YVNpemUpKTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBlcnJvcignVW5rbm93biB0eXBlOiAnICsgdHlwZSk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfQoKICAgIGlmICh1c2VDTWFwKSB7CiAgICAgIGV4dGVuZCh1c2VDTWFwKTsKICAgIH0KICAgIHJldHVybiBjTWFwOwogIH0KCiAgZnVuY3Rpb24gQmluYXJ5Q01hcFJlYWRlcigpIHt9CgogIEJpbmFyeUNNYXBSZWFkZXIucHJvdG90eXBlID0gewogICAgcmVhZDogcHJvY2Vzc0JpbmFyeUNNYXAKICB9OwoKICByZXR1cm4gQmluYXJ5Q01hcFJlYWRlcjsKfSkoKTsKCnZhciBDTWFwRmFjdG9yeSA9IChmdW5jdGlvbiBDTWFwRmFjdG9yeUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gc3RyVG9JbnQoc3RyKSB7CiAgICB2YXIgYSA9IDA7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykgewogICAgICBhID0gKGEgPDwgOCkgfCBzdHIuY2hhckNvZGVBdChpKTsKICAgIH0KICAgIHJldHVybiBhID4+PiAwOwogIH0KCiAgZnVuY3Rpb24gZXhwZWN0U3RyaW5nKG9iaikgewogICAgaWYgKCFpc1N0cmluZyhvYmopKSB7CiAgICAgIGVycm9yKCdNYWxmb3JtZWQgQ01hcDogZXhwZWN0ZWQgc3RyaW5nLicpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZXhwZWN0SW50KG9iaikgewogICAgaWYgKCFpc0ludChvYmopKSB7CiAgICAgIGVycm9yKCdNYWxmb3JtZWQgQ01hcDogZXhwZWN0ZWQgaW50LicpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcGFyc2VCZkNoYXIoY01hcCwgbGV4ZXIpIHsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgaWYgKGlzRU9GKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBpZiAoaXNDbWQob2JqLCAnZW5kYmZjaGFyJykpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBzcmMgPSBzdHJUb0ludChvYmopOwogICAgICBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgLy8gVE9ETyBhcmUgL2RzdE5hbWUgdXNlZD8KICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBkc3QgPSBvYmo7CiAgICAgIGNNYXAubWFwT25lKHNyYywgZHN0KTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlQmZSYW5nZShjTWFwLCBsZXhlcikgewogICAgd2hpbGUgKHRydWUpIHsKICAgICAgdmFyIG9iaiA9IGxleGVyLmdldE9iaigpOwogICAgICBpZiAoaXNFT0Yob2JqKSkgewogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGlmIChpc0NtZChvYmosICdlbmRiZnJhbmdlJykpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBsb3cgPSBzdHJUb0ludChvYmopOwogICAgICBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBoaWdoID0gc3RyVG9JbnQob2JqKTsKICAgICAgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGlmIChpc0ludChvYmopIHx8IGlzU3RyaW5nKG9iaikpIHsKICAgICAgICB2YXIgZHN0TG93ID0gaXNJbnQob2JqKSA/IFN0cmluZy5mcm9tQ2hhckNvZGUob2JqKSA6IG9iajsKICAgICAgICBjTWFwLm1hcEJmUmFuZ2UobG93LCBoaWdoLCBkc3RMb3cpOwogICAgICB9IGVsc2UgaWYgKGlzQ21kKG9iaiwgJ1snKSkgewogICAgICAgIG9iaiA9IGxleGVyLmdldE9iaigpOwogICAgICAgIHZhciBhcnJheSA9IFtdOwogICAgICAgIHdoaWxlICghaXNDbWQob2JqLCAnXScpICYmICFpc0VPRihvYmopKSB7CiAgICAgICAgICBhcnJheS5wdXNoKG9iaik7CiAgICAgICAgICBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgICB9CiAgICAgICAgY01hcC5tYXBCZlJhbmdlVG9BcnJheShsb3csIGhpZ2gsIGFycmF5KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogICAgZXJyb3IoJ0ludmFsaWQgYmYgcmFuZ2UuJyk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUNpZENoYXIoY01hcCwgbGV4ZXIpIHsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgaWYgKGlzRU9GKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBpZiAoaXNDbWQob2JqLCAnZW5kY2lkY2hhcicpKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGV4cGVjdFN0cmluZyhvYmopOwogICAgICB2YXIgc3JjID0gc3RyVG9JbnQob2JqKTsKICAgICAgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGV4cGVjdEludChvYmopOwogICAgICB2YXIgZHN0ID0gb2JqOwogICAgICBjTWFwLm1hcE9uZShzcmMsIGRzdCk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwYXJzZUNpZFJhbmdlKGNNYXAsIGxleGVyKSB7CiAgICB3aGlsZSAodHJ1ZSkgewogICAgICB2YXIgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGlmIChpc0VPRihvYmopKSB7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgaWYgKGlzQ21kKG9iaiwgJ2VuZGNpZHJhbmdlJykpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBsb3cgPSBzdHJUb0ludChvYmopOwogICAgICBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgZXhwZWN0U3RyaW5nKG9iaik7CiAgICAgIHZhciBoaWdoID0gc3RyVG9JbnQob2JqKTsKICAgICAgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGV4cGVjdEludChvYmopOwogICAgICB2YXIgZHN0TG93ID0gb2JqOwogICAgICBjTWFwLm1hcENpZFJhbmdlKGxvdywgaGlnaCwgZHN0TG93KTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlQ29kZXNwYWNlUmFuZ2UoY01hcCwgbGV4ZXIpIHsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgaWYgKGlzRU9GKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBpZiAoaXNDbWQob2JqLCAnZW5kY29kZXNwYWNlcmFuZ2UnKSkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIWlzU3RyaW5nKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICB2YXIgbG93ID0gc3RyVG9JbnQob2JqKTsKICAgICAgb2JqID0gbGV4ZXIuZ2V0T2JqKCk7CiAgICAgIGlmICghaXNTdHJpbmcob2JqKSkgewogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIHZhciBoaWdoID0gc3RyVG9JbnQob2JqKTsKICAgICAgY01hcC5hZGRDb2Rlc3BhY2VSYW5nZShvYmoubGVuZ3RoLCBsb3csIGhpZ2gpOwogICAgfQogICAgZXJyb3IoJ0ludmFsaWQgY29kZXNwYWNlIHJhbmdlLicpOwogIH0KCiAgZnVuY3Rpb24gcGFyc2VXTW9kZShjTWFwLCBsZXhlcikgewogICAgdmFyIG9iaiA9IGxleGVyLmdldE9iaigpOwogICAgaWYgKGlzSW50KG9iaikpIHsKICAgICAgY01hcC52ZXJ0aWNhbCA9ICEhb2JqOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcGFyc2VDTWFwTmFtZShjTWFwLCBsZXhlcikgewogICAgdmFyIG9iaiA9IGxleGVyLmdldE9iaigpOwogICAgaWYgKGlzTmFtZShvYmopICYmIGlzU3RyaW5nKG9iai5uYW1lKSkgewogICAgICBjTWFwLm5hbWUgPSBvYmoubmFtZTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlQ01hcChjTWFwLCBsZXhlciwgYnVpbHRJbkNNYXBQYXJhbXMsIHVzZUNNYXApIHsKICAgIHZhciBwcmV2aW91czsKICAgIHZhciBlbWJlZGVkVXNlQ01hcDsKICAgIG9iakxvb3A6IHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBvYmogPSBsZXhlci5nZXRPYmooKTsKICAgICAgaWYgKGlzRU9GKG9iaikpIHsKICAgICAgICBicmVhazsKICAgICAgfSBlbHNlIGlmIChpc05hbWUob2JqKSkgewogICAgICAgIGlmIChvYmoubmFtZSA9PT0gJ1dNb2RlJykgewogICAgICAgICAgcGFyc2VXTW9kZShjTWFwLCBsZXhlcik7CiAgICAgICAgfSBlbHNlIGlmIChvYmoubmFtZSA9PT0gJ0NNYXBOYW1lJykgewogICAgICAgICAgcGFyc2VDTWFwTmFtZShjTWFwLCBsZXhlcik7CiAgICAgICAgfQogICAgICAgIHByZXZpb3VzID0gb2JqOwogICAgICB9IGVsc2UgaWYgKGlzQ21kKG9iaikpIHsKICAgICAgICBzd2l0Y2ggKG9iai5jbWQpIHsKICAgICAgICAgIGNhc2UgJ2VuZGNtYXAnOgogICAgICAgICAgICBicmVhayBvYmpMb29wOwogICAgICAgICAgY2FzZSAndXNlY21hcCc6CiAgICAgICAgICAgIGlmIChpc05hbWUocHJldmlvdXMpKSB7CiAgICAgICAgICAgICAgZW1iZWRlZFVzZUNNYXAgPSBwcmV2aW91cy5uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnYmVnaW5jb2Rlc3BhY2VyYW5nZSc6CiAgICAgICAgICAgIHBhcnNlQ29kZXNwYWNlUmFuZ2UoY01hcCwgbGV4ZXIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2JlZ2luYmZjaGFyJzoKICAgICAgICAgICAgcGFyc2VCZkNoYXIoY01hcCwgbGV4ZXIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2JlZ2luY2lkY2hhcic6CiAgICAgICAgICAgIHBhcnNlQ2lkQ2hhcihjTWFwLCBsZXhlcik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnYmVnaW5iZnJhbmdlJzoKICAgICAgICAgICAgcGFyc2VCZlJhbmdlKGNNYXAsIGxleGVyKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdiZWdpbmNpZHJhbmdlJzoKICAgICAgICAgICAgcGFyc2VDaWRSYW5nZShjTWFwLCBsZXhlcik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIGlmICghdXNlQ01hcCAmJiBlbWJlZGVkVXNlQ01hcCkgewogICAgICAvLyBMb2FkIHRoZSB1c2VjbWFwIGRlZmluaXRpb24gZnJvbSB0aGUgZmlsZSBvbmx5IGlmIHRoZXJlIHdhc24ndCBvbmUKICAgICAgLy8gc3BlY2lmaWVkLgogICAgICB1c2VDTWFwID0gZW1iZWRlZFVzZUNNYXA7CiAgICB9CiAgICBpZiAodXNlQ01hcCkgewogICAgICBleHRlbmRDTWFwKGNNYXAsIGJ1aWx0SW5DTWFwUGFyYW1zLCB1c2VDTWFwKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGV4dGVuZENNYXAoY01hcCwgYnVpbHRJbkNNYXBQYXJhbXMsIHVzZUNNYXApIHsKICAgIGNNYXAudXNlQ01hcCA9IGNyZWF0ZUJ1aWx0SW5DTWFwKHVzZUNNYXAsIGJ1aWx0SW5DTWFwUGFyYW1zKTsKICAgIC8vIElmIHRoZXJlIGFyZW4ndCBhbnkgY29kZSBzcGFjZSByYW5nZXMgZGVmaW5lZCBjbG9uZSBhbGwgdGhlIHBhcmVudCBvbmVzCiAgICAvLyBpbnRvIHRoaXMgY01hcC4KICAgIGlmIChjTWFwLm51bUNvZGVzcGFjZVJhbmdlcyA9PT0gMCkgewogICAgICB2YXIgdXNlQ29kZXNwYWNlUmFuZ2VzID0gY01hcC51c2VDTWFwLmNvZGVzcGFjZVJhbmdlczsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB1c2VDb2Rlc3BhY2VSYW5nZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICBjTWFwLmNvZGVzcGFjZVJhbmdlc1tpXSA9IHVzZUNvZGVzcGFjZVJhbmdlc1tpXS5zbGljZSgpOwogICAgICB9CiAgICAgIGNNYXAubnVtQ29kZXNwYWNlUmFuZ2VzID0gY01hcC51c2VDTWFwLm51bUNvZGVzcGFjZVJhbmdlczsKICAgIH0KICAgIC8vIE1lcmdlIHRoZSBtYXAgaW50byB0aGUgY3VycmVudCBvbmUsIG1ha2luZyBzdXJlIG5vdCB0byBvdmVycmlkZQogICAgLy8gYW55IHByZXZpb3VzbHkgZGVmaW5lZCBlbnRyaWVzLgogICAgY01hcC51c2VDTWFwLmZvckVhY2goZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewogICAgICBpZiAoIWNNYXAuY29udGFpbnMoa2V5KSkgewogICAgICAgIGNNYXAubWFwT25lKGtleSwgY01hcC51c2VDTWFwLmxvb2t1cChrZXkpKTsKICAgICAgfQogICAgfSk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUJpbmFyeUNNYXAobmFtZSwgYnVpbHRJbkNNYXBQYXJhbXMpIHsKICAgIHZhciB1cmwgPSBidWlsdEluQ01hcFBhcmFtcy51cmwgKyBuYW1lICsgJy5iY21hcCc7CiAgICB2YXIgY01hcCA9IG5ldyBDTWFwKHRydWUpOwogICAgbmV3IEJpbmFyeUNNYXBSZWFkZXIoKS5yZWFkKHVybCwgY01hcCwgZnVuY3Rpb24gKHVzZUNNYXApIHsKICAgICAgZXh0ZW5kQ01hcChjTWFwLCBidWlsdEluQ01hcFBhcmFtcywgdXNlQ01hcCk7CiAgICB9KTsKICAgIHJldHVybiBjTWFwOwogIH0KCiAgZnVuY3Rpb24gY3JlYXRlQnVpbHRJbkNNYXAobmFtZSwgYnVpbHRJbkNNYXBQYXJhbXMpIHsKICAgIGlmIChuYW1lID09PSAnSWRlbnRpdHktSCcpIHsKICAgICAgcmV0dXJuIG5ldyBJZGVudGl0eUNNYXAoZmFsc2UsIDIpOwogICAgfSBlbHNlIGlmIChuYW1lID09PSAnSWRlbnRpdHktVicpIHsKICAgICAgcmV0dXJuIG5ldyBJZGVudGl0eUNNYXAodHJ1ZSwgMik7CiAgICB9CiAgICBpZiAoQlVJTFRfSU5fQ01BUFMuaW5kZXhPZihuYW1lKSA9PT0gLTEpIHsKICAgICAgZXJyb3IoJ1Vua25vd24gY01hcCBuYW1lOiAnICsgbmFtZSk7CiAgICB9CiAgICBhc3NlcnQoYnVpbHRJbkNNYXBQYXJhbXMsICdidWlsdC1pbiBjTWFwIHBhcmFtZXRlcnMgYXJlIG5vdCBwcm92aWRlZCcpOwoKICAgIGlmIChidWlsdEluQ01hcFBhcmFtcy5wYWNrZWQpIHsKICAgICAgcmV0dXJuIHBhcnNlQmluYXJ5Q01hcChuYW1lLCBidWlsdEluQ01hcFBhcmFtcyk7CiAgICB9CgogICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgIHZhciB1cmwgPSBidWlsdEluQ01hcFBhcmFtcy51cmwgKyBuYW1lOwogICAgcmVxdWVzdC5vcGVuKCdHRVQnLCB1cmwsIGZhbHNlKTsKICAgIHJlcXVlc3Quc2VuZChudWxsKTsKICAgIGlmICghcmVxdWVzdC5yZXNwb25zZVRleHQpIHsKICAgICAgZXJyb3IoJ1VuYWJsZSB0byBnZXQgY01hcCBhdDogJyArIHVybCk7CiAgICB9CiAgICB2YXIgY01hcCA9IG5ldyBDTWFwKHRydWUpOwogICAgdmFyIGxleGVyID0gbmV3IExleGVyKG5ldyBTdHJpbmdTdHJlYW0ocmVxdWVzdC5yZXNwb25zZVRleHQpKTsKICAgIHBhcnNlQ01hcChjTWFwLCBsZXhlciwgYnVpbHRJbkNNYXBQYXJhbXMsIG51bGwpOwogICAgcmV0dXJuIGNNYXA7CiAgfQoKICByZXR1cm4gewogICAgY3JlYXRlOiBmdW5jdGlvbiAoZW5jb2RpbmcsIGJ1aWx0SW5DTWFwUGFyYW1zLCB1c2VDTWFwKSB7CiAgICAgIGlmIChpc05hbWUoZW5jb2RpbmcpKSB7CiAgICAgICAgcmV0dXJuIGNyZWF0ZUJ1aWx0SW5DTWFwKGVuY29kaW5nLm5hbWUsIGJ1aWx0SW5DTWFwUGFyYW1zKTsKICAgICAgfSBlbHNlIGlmIChpc1N0cmVhbShlbmNvZGluZykpIHsKICAgICAgICB2YXIgY01hcCA9IG5ldyBDTWFwKCk7CiAgICAgICAgdmFyIGxleGVyID0gbmV3IExleGVyKGVuY29kaW5nKTsKICAgICAgICB0cnkgewogICAgICAgICAgcGFyc2VDTWFwKGNNYXAsIGxleGVyLCBidWlsdEluQ01hcFBhcmFtcywgdXNlQ01hcCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgd2FybignSW52YWxpZCBDTWFwIGRhdGEuICcgKyBlKTsKICAgICAgICB9CiAgICAgICAgaWYgKGNNYXAuaXNJZGVudGl0eUNNYXApIHsKICAgICAgICAgIHJldHVybiBjcmVhdGVCdWlsdEluQ01hcChjTWFwLm5hbWUsIGJ1aWx0SW5DTWFwUGFyYW1zKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGNNYXA7CiAgICAgIH0KICAgICAgZXJyb3IoJ0VuY29kaW5nIHJlcXVpcmVkLicpOwogICAgfQogIH07Cn0pKCk7CgoKLy8gVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhCnZhciBQUklWQVRFX1VTRV9PRkZTRVRfU1RBUlQgPSAweEUwMDA7CnZhciBQUklWQVRFX1VTRV9PRkZTRVRfRU5EID0gMHhGOEZGOwp2YXIgU0tJUF9QUklWQVRFX1VTRV9SQU5HRV9GMDAwX1RPX0YwMUYgPSBmYWxzZTsKCi8vIFBERiBHbHlwaCBTcGFjZSBVbml0cyBhcmUgb25lIFRob3VzYW5kdGggb2YgYSBUZXh0U3BhY2UgVW5pdAovLyBleGNlcHQgZm9yIFR5cGUgMyBmb250cwp2YXIgUERGX0dMWVBIX1NQQUNFX1VOSVRTID0gMTAwMDsKCi8vIEhpbnRpbmcgaXMgY3VycmVudGx5IGRpc2FibGVkIGR1ZSB0byB1bmtub3duIHByb2JsZW1zIG9uIHdpbmRvd3MKLy8gaW4gdHJhY2Vtb25rZXkgYW5kIHZhcmlvdXMgb3RoZXIgcGRmcyB3aXRoIHR5cGUxIGZvbnRzLgp2YXIgSElOVElOR19FTkFCTEVEID0gZmFsc2U7CgovLyBBY2NlbnRlZCBjaGFyYWN0YXJzIGFyZSBub3QgZGlzcGxheWVkIHByb3Blcmx5IG9uIHdpbmRvd3MsIHVzaW5nIHRoaXMgZmxhZwovLyB0byBjb250cm9sIGFuYWx5c2lzIG9mIHNlYWMgY2hhcnN0cmluZ3MuCnZhciBTRUFDX0FOQUxZU0lTX0VOQUJMRUQgPSBmYWxzZTsKCnZhciBGb250RmxhZ3MgPSB7CiAgRml4ZWRQaXRjaDogMSwKICBTZXJpZjogMiwKICBTeW1ib2xpYzogNCwKICBTY3JpcHQ6IDgsCiAgTm9uc3ltYm9saWM6IDMyLAogIEl0YWxpYzogNjQsCiAgQWxsQ2FwOiA2NTUzNiwKICBTbWFsbENhcDogMTMxMDcyLAogIEZvcmNlQm9sZDogMjYyMTQ0Cn07Cgp2YXIgRW5jb2RpbmdzID0gewogIEV4cGVydEVuY29kaW5nOiBbJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICdzcGFjZScsICdleGNsYW1zbWFsbCcsICdIdW5nYXJ1bWxhdXRzbWFsbCcsICcnLCAnZG9sbGFyb2xkc3R5bGUnLAogICAgJ2RvbGxhcnN1cGVyaW9yJywgJ2FtcGVyc2FuZHNtYWxsJywgJ0FjdXRlc21hbGwnLCAncGFyZW5sZWZ0c3VwZXJpb3InLAogICAgJ3BhcmVucmlnaHRzdXBlcmlvcicsICd0d29kb3RlbmxlYWRlcicsICdvbmVkb3RlbmxlYWRlcicsICdjb21tYScsCiAgICAnaHlwaGVuJywgJ3BlcmlvZCcsICdmcmFjdGlvbicsICd6ZXJvb2xkc3R5bGUnLCAnb25lb2xkc3R5bGUnLAogICAgJ3R3b29sZHN0eWxlJywgJ3RocmVlb2xkc3R5bGUnLCAnZm91cm9sZHN0eWxlJywgJ2ZpdmVvbGRzdHlsZScsCiAgICAnc2l4b2xkc3R5bGUnLCAnc2V2ZW5vbGRzdHlsZScsICdlaWdodG9sZHN0eWxlJywgJ25pbmVvbGRzdHlsZScsICdjb2xvbicsCiAgICAnc2VtaWNvbG9uJywgJ2NvbW1hc3VwZXJpb3InLCAndGhyZWVxdWFydGVyc2VtZGFzaCcsICdwZXJpb2RzdXBlcmlvcicsCiAgICAncXVlc3Rpb25zbWFsbCcsICcnLCAnYXN1cGVyaW9yJywgJ2JzdXBlcmlvcicsICdjZW50c3VwZXJpb3InLCAnZHN1cGVyaW9yJywKICAgICdlc3VwZXJpb3InLCAnJywgJycsICdpc3VwZXJpb3InLCAnJywgJycsICdsc3VwZXJpb3InLCAnbXN1cGVyaW9yJywKICAgICduc3VwZXJpb3InLCAnb3N1cGVyaW9yJywgJycsICcnLCAncnN1cGVyaW9yJywgJ3NzdXBlcmlvcicsICd0c3VwZXJpb3InLAogICAgJycsICdmZicsICdmaScsICdmbCcsICdmZmknLCAnZmZsJywgJ3BhcmVubGVmdGluZmVyaW9yJywgJycsCiAgICAncGFyZW5yaWdodGluZmVyaW9yJywgJ0NpcmN1bWZsZXhzbWFsbCcsICdoeXBoZW5zdXBlcmlvcicsICdHcmF2ZXNtYWxsJywKICAgICdBc21hbGwnLCAnQnNtYWxsJywgJ0NzbWFsbCcsICdEc21hbGwnLCAnRXNtYWxsJywgJ0ZzbWFsbCcsICdHc21hbGwnLAogICAgJ0hzbWFsbCcsICdJc21hbGwnLCAnSnNtYWxsJywgJ0tzbWFsbCcsICdMc21hbGwnLCAnTXNtYWxsJywgJ05zbWFsbCcsCiAgICAnT3NtYWxsJywgJ1BzbWFsbCcsICdRc21hbGwnLCAnUnNtYWxsJywgJ1NzbWFsbCcsICdUc21hbGwnLCAnVXNtYWxsJywKICAgICdWc21hbGwnLCAnV3NtYWxsJywgJ1hzbWFsbCcsICdZc21hbGwnLCAnWnNtYWxsJywgJ2NvbG9ubW9uZXRhcnknLAogICAgJ29uZWZpdHRlZCcsICdydXBpYWgnLCAnVGlsZGVzbWFsbCcsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICdleGNsYW1kb3duc21hbGwnLCAnY2VudG9sZHN0eWxlJywgJ0xzbGFzaHNtYWxsJywKICAgICcnLCAnJywgJ1NjYXJvbnNtYWxsJywgJ1pjYXJvbnNtYWxsJywgJ0RpZXJlc2lzc21hbGwnLCAnQnJldmVzbWFsbCcsCiAgICAnQ2Fyb25zbWFsbCcsICcnLCAnRG90YWNjZW50c21hbGwnLCAnJywgJycsICdNYWNyb25zbWFsbCcsICcnLCAnJywKICAgICdmaWd1cmVkYXNoJywgJ2h5cGhlbmluZmVyaW9yJywgJycsICcnLCAnT2dvbmVrc21hbGwnLCAnUmluZ3NtYWxsJywKICAgICdDZWRpbGxhc21hbGwnLCAnJywgJycsICcnLCAnb25lcXVhcnRlcicsICdvbmVoYWxmJywgJ3RocmVlcXVhcnRlcnMnLAogICAgJ3F1ZXN0aW9uZG93bnNtYWxsJywgJ29uZWVpZ2h0aCcsICd0aHJlZWVpZ2h0aHMnLCAnZml2ZWVpZ2h0aHMnLAogICAgJ3NldmVuZWlnaHRocycsICdvbmV0aGlyZCcsICd0d290aGlyZHMnLCAnJywgJycsICd6ZXJvc3VwZXJpb3InLAogICAgJ29uZXN1cGVyaW9yJywgJ3R3b3N1cGVyaW9yJywgJ3RocmVlc3VwZXJpb3InLCAnZm91cnN1cGVyaW9yJywKICAgICdmaXZlc3VwZXJpb3InLCAnc2l4c3VwZXJpb3InLCAnc2V2ZW5zdXBlcmlvcicsICdlaWdodHN1cGVyaW9yJywKICAgICduaW5lc3VwZXJpb3InLCAnemVyb2luZmVyaW9yJywgJ29uZWluZmVyaW9yJywgJ3R3b2luZmVyaW9yJywKICAgICd0aHJlZWluZmVyaW9yJywgJ2ZvdXJpbmZlcmlvcicsICdmaXZlaW5mZXJpb3InLCAnc2l4aW5mZXJpb3InLAogICAgJ3NldmVuaW5mZXJpb3InLCAnZWlnaHRpbmZlcmlvcicsICduaW5laW5mZXJpb3InLCAnY2VudGluZmVyaW9yJywKICAgICdkb2xsYXJpbmZlcmlvcicsICdwZXJpb2RpbmZlcmlvcicsICdjb21tYWluZmVyaW9yJywgJ0FncmF2ZXNtYWxsJywKICAgICdBYWN1dGVzbWFsbCcsICdBY2lyY3VtZmxleHNtYWxsJywgJ0F0aWxkZXNtYWxsJywgJ0FkaWVyZXNpc3NtYWxsJywKICAgICdBcmluZ3NtYWxsJywgJ0FFc21hbGwnLCAnQ2NlZGlsbGFzbWFsbCcsICdFZ3JhdmVzbWFsbCcsICdFYWN1dGVzbWFsbCcsCiAgICAnRWNpcmN1bWZsZXhzbWFsbCcsICdFZGllcmVzaXNzbWFsbCcsICdJZ3JhdmVzbWFsbCcsICdJYWN1dGVzbWFsbCcsCiAgICAnSWNpcmN1bWZsZXhzbWFsbCcsICdJZGllcmVzaXNzbWFsbCcsICdFdGhzbWFsbCcsICdOdGlsZGVzbWFsbCcsCiAgICAnT2dyYXZlc21hbGwnLCAnT2FjdXRlc21hbGwnLCAnT2NpcmN1bWZsZXhzbWFsbCcsICdPdGlsZGVzbWFsbCcsCiAgICAnT2RpZXJlc2lzc21hbGwnLCAnT0VzbWFsbCcsICdPc2xhc2hzbWFsbCcsICdVZ3JhdmVzbWFsbCcsICdVYWN1dGVzbWFsbCcsCiAgICAnVWNpcmN1bWZsZXhzbWFsbCcsICdVZGllcmVzaXNzbWFsbCcsICdZYWN1dGVzbWFsbCcsICdUaG9ybnNtYWxsJywKICAgICdZZGllcmVzaXNzbWFsbCddLAogIE1hY0V4cGVydEVuY29kaW5nOiBbJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICdzcGFjZScsICdleGNsYW1zbWFsbCcsICdIdW5nYXJ1bWxhdXRzbWFsbCcsICdjZW50b2xkc3R5bGUnLAogICAgJ2RvbGxhcm9sZHN0eWxlJywgJ2RvbGxhcnN1cGVyaW9yJywgJ2FtcGVyc2FuZHNtYWxsJywgJ0FjdXRlc21hbGwnLAogICAgJ3BhcmVubGVmdHN1cGVyaW9yJywgJ3BhcmVucmlnaHRzdXBlcmlvcicsICd0d29kb3RlbmxlYWRlcicsCiAgICAnb25lZG90ZW5sZWFkZXInLCAnY29tbWEnLCAnaHlwaGVuJywgJ3BlcmlvZCcsICdmcmFjdGlvbicsICd6ZXJvb2xkc3R5bGUnLAogICAgJ29uZW9sZHN0eWxlJywgJ3R3b29sZHN0eWxlJywgJ3RocmVlb2xkc3R5bGUnLCAnZm91cm9sZHN0eWxlJywKICAgICdmaXZlb2xkc3R5bGUnLCAnc2l4b2xkc3R5bGUnLCAnc2V2ZW5vbGRzdHlsZScsICdlaWdodG9sZHN0eWxlJywKICAgICduaW5lb2xkc3R5bGUnLCAnY29sb24nLCAnc2VtaWNvbG9uJywgJycsICd0aHJlZXF1YXJ0ZXJzZW1kYXNoJywgJycsCiAgICAncXVlc3Rpb25zbWFsbCcsICcnLCAnJywgJycsICcnLCAnRXRoc21hbGwnLCAnJywgJycsICdvbmVxdWFydGVyJywKICAgICdvbmVoYWxmJywgJ3RocmVlcXVhcnRlcnMnLCAnb25lZWlnaHRoJywgJ3RocmVlZWlnaHRocycsICdmaXZlZWlnaHRocycsCiAgICAnc2V2ZW5laWdodGhzJywgJ29uZXRoaXJkJywgJ3R3b3RoaXJkcycsICcnLCAnJywgJycsICcnLCAnJywgJycsICdmZicsCiAgICAnZmknLCAnZmwnLCAnZmZpJywgJ2ZmbCcsICdwYXJlbmxlZnRpbmZlcmlvcicsICcnLCAncGFyZW5yaWdodGluZmVyaW9yJywKICAgICdDaXJjdW1mbGV4c21hbGwnLCAnaHlwaGVuaW5mZXJpb3InLCAnR3JhdmVzbWFsbCcsICdBc21hbGwnLCAnQnNtYWxsJywKICAgICdDc21hbGwnLCAnRHNtYWxsJywgJ0VzbWFsbCcsICdGc21hbGwnLCAnR3NtYWxsJywgJ0hzbWFsbCcsICdJc21hbGwnLAogICAgJ0pzbWFsbCcsICdLc21hbGwnLCAnTHNtYWxsJywgJ01zbWFsbCcsICdOc21hbGwnLCAnT3NtYWxsJywgJ1BzbWFsbCcsCiAgICAnUXNtYWxsJywgJ1JzbWFsbCcsICdTc21hbGwnLCAnVHNtYWxsJywgJ1VzbWFsbCcsICdWc21hbGwnLCAnV3NtYWxsJywKICAgICdYc21hbGwnLCAnWXNtYWxsJywgJ1pzbWFsbCcsICdjb2xvbm1vbmV0YXJ5JywgJ29uZWZpdHRlZCcsICdydXBpYWgnLAogICAgJ1RpbGRlc21hbGwnLCAnJywgJycsICdhc3VwZXJpb3InLCAnY2VudHN1cGVyaW9yJywgJycsICcnLCAnJywgJycsCiAgICAnQWFjdXRlc21hbGwnLCAnQWdyYXZlc21hbGwnLCAnQWNpcmN1bWZsZXhzbWFsbCcsICdBZGllcmVzaXNzbWFsbCcsCiAgICAnQXRpbGRlc21hbGwnLCAnQXJpbmdzbWFsbCcsICdDY2VkaWxsYXNtYWxsJywgJ0VhY3V0ZXNtYWxsJywgJ0VncmF2ZXNtYWxsJywKICAgICdFY2lyY3VtZmxleHNtYWxsJywgJ0VkaWVyZXNpc3NtYWxsJywgJ0lhY3V0ZXNtYWxsJywgJ0lncmF2ZXNtYWxsJywKICAgICdJY2lyY3VtZmxleHNtYWxsJywgJ0lkaWVyZXNpc3NtYWxsJywgJ050aWxkZXNtYWxsJywgJ09hY3V0ZXNtYWxsJywKICAgICdPZ3JhdmVzbWFsbCcsICdPY2lyY3VtZmxleHNtYWxsJywgJ09kaWVyZXNpc3NtYWxsJywgJ090aWxkZXNtYWxsJywKICAgICdVYWN1dGVzbWFsbCcsICdVZ3JhdmVzbWFsbCcsICdVY2lyY3VtZmxleHNtYWxsJywgJ1VkaWVyZXNpc3NtYWxsJywgJycsCiAgICAnZWlnaHRzdXBlcmlvcicsICdmb3VyaW5mZXJpb3InLCAndGhyZWVpbmZlcmlvcicsICdzaXhpbmZlcmlvcicsCiAgICAnZWlnaHRpbmZlcmlvcicsICdzZXZlbmluZmVyaW9yJywgJ1NjYXJvbnNtYWxsJywgJycsICdjZW50aW5mZXJpb3InLAogICAgJ3R3b2luZmVyaW9yJywgJycsICdEaWVyZXNpc3NtYWxsJywgJycsICdDYXJvbnNtYWxsJywgJ29zdXBlcmlvcicsCiAgICAnZml2ZWluZmVyaW9yJywgJycsICdjb21tYWluZmVyaW9yJywgJ3BlcmlvZGluZmVyaW9yJywgJ1lhY3V0ZXNtYWxsJywgJycsCiAgICAnZG9sbGFyaW5mZXJpb3InLCAnJywgJ1Rob3Juc21hbGwnLCAnJywgJ25pbmVpbmZlcmlvcicsICd6ZXJvaW5mZXJpb3InLAogICAgJ1pjYXJvbnNtYWxsJywgJ0FFc21hbGwnLCAnT3NsYXNoc21hbGwnLCAncXVlc3Rpb25kb3duc21hbGwnLAogICAgJ29uZWluZmVyaW9yJywgJ0xzbGFzaHNtYWxsJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJ0NlZGlsbGFzbWFsbCcsICcnLAogICAgJycsICcnLCAnJywgJycsICdPRXNtYWxsJywgJ2ZpZ3VyZWRhc2gnLCAnaHlwaGVuc3VwZXJpb3InLCAnJywgJycsICcnLCAnJywKICAgICdleGNsYW1kb3duc21hbGwnLCAnJywgJ1lkaWVyZXNpc3NtYWxsJywgJycsICdvbmVzdXBlcmlvcicsICd0d29zdXBlcmlvcicsCiAgICAndGhyZWVzdXBlcmlvcicsICdmb3Vyc3VwZXJpb3InLCAnZml2ZXN1cGVyaW9yJywgJ3NpeHN1cGVyaW9yJywKICAgICdzZXZlbnN1cGVyaW9yJywgJ25pbmVzdXBlcmlvcicsICd6ZXJvc3VwZXJpb3InLCAnJywgJ2VzdXBlcmlvcicsCiAgICAncnN1cGVyaW9yJywgJ3RzdXBlcmlvcicsICcnLCAnJywgJ2lzdXBlcmlvcicsICdzc3VwZXJpb3InLCAnZHN1cGVyaW9yJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJ2xzdXBlcmlvcicsICdPZ29uZWtzbWFsbCcsICdCcmV2ZXNtYWxsJywKICAgICdNYWNyb25zbWFsbCcsICdic3VwZXJpb3InLCAnbnN1cGVyaW9yJywgJ21zdXBlcmlvcicsICdjb21tYXN1cGVyaW9yJywKICAgICdwZXJpb2RzdXBlcmlvcicsICdEb3RhY2NlbnRzbWFsbCcsICdSaW5nc21hbGwnXSwKICBNYWNSb21hbkVuY29kaW5nOiBbJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICdzcGFjZScsICdleGNsYW0nLCAncXVvdGVkYmwnLCAnbnVtYmVyc2lnbicsICdkb2xsYXInLCAncGVyY2VudCcsCiAgICAnYW1wZXJzYW5kJywgJ3F1b3Rlc2luZ2xlJywgJ3BhcmVubGVmdCcsICdwYXJlbnJpZ2h0JywgJ2FzdGVyaXNrJywgJ3BsdXMnLAogICAgJ2NvbW1hJywgJ2h5cGhlbicsICdwZXJpb2QnLCAnc2xhc2gnLCAnemVybycsICdvbmUnLCAndHdvJywgJ3RocmVlJywKICAgICdmb3VyJywgJ2ZpdmUnLCAnc2l4JywgJ3NldmVuJywgJ2VpZ2h0JywgJ25pbmUnLCAnY29sb24nLCAnc2VtaWNvbG9uJywKICAgICdsZXNzJywgJ2VxdWFsJywgJ2dyZWF0ZXInLCAncXVlc3Rpb24nLCAnYXQnLCAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLAogICAgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJywgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywKICAgICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLCAnYnJhY2tldGxlZnQnLCAnYmFja3NsYXNoJywgJ2JyYWNrZXRyaWdodCcsCiAgICAnYXNjaWljaXJjdW0nLCAndW5kZXJzY29yZScsICdncmF2ZScsICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywKICAgICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLCAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsCiAgICAndycsICd4JywgJ3knLCAneicsICdicmFjZWxlZnQnLCAnYmFyJywgJ2JyYWNlcmlnaHQnLCAnYXNjaWl0aWxkZScsICcnLAogICAgJ0FkaWVyZXNpcycsICdBcmluZycsICdDY2VkaWxsYScsICdFYWN1dGUnLCAnTnRpbGRlJywgJ09kaWVyZXNpcycsCiAgICAnVWRpZXJlc2lzJywgJ2FhY3V0ZScsICdhZ3JhdmUnLCAnYWNpcmN1bWZsZXgnLCAnYWRpZXJlc2lzJywgJ2F0aWxkZScsCiAgICAnYXJpbmcnLCAnY2NlZGlsbGEnLCAnZWFjdXRlJywgJ2VncmF2ZScsICdlY2lyY3VtZmxleCcsICdlZGllcmVzaXMnLAogICAgJ2lhY3V0ZScsICdpZ3JhdmUnLCAnaWNpcmN1bWZsZXgnLCAnaWRpZXJlc2lzJywgJ250aWxkZScsICdvYWN1dGUnLAogICAgJ29ncmF2ZScsICdvY2lyY3VtZmxleCcsICdvZGllcmVzaXMnLCAnb3RpbGRlJywgJ3VhY3V0ZScsICd1Z3JhdmUnLAogICAgJ3VjaXJjdW1mbGV4JywgJ3VkaWVyZXNpcycsICdkYWdnZXInLCAnZGVncmVlJywgJ2NlbnQnLCAnc3RlcmxpbmcnLAogICAgJ3NlY3Rpb24nLCAnYnVsbGV0JywgJ3BhcmFncmFwaCcsICdnZXJtYW5kYmxzJywgJ3JlZ2lzdGVyZWQnLCAnY29weXJpZ2h0JywKICAgICd0cmFkZW1hcmsnLCAnYWN1dGUnLCAnZGllcmVzaXMnLCAnbm90ZXF1YWwnLCAnQUUnLCAnT3NsYXNoJywgJ2luZmluaXR5JywKICAgICdwbHVzbWludXMnLCAnbGVzc2VxdWFsJywgJ2dyZWF0ZXJlcXVhbCcsICd5ZW4nLCAnbXUnLCAncGFydGlhbGRpZmYnLAogICAgJ3N1bW1hdGlvbicsICdwcm9kdWN0JywgJ3BpJywgJ2ludGVncmFsJywgJ29yZGZlbWluaW5lJywgJ29yZG1hc2N1bGluZScsCiAgICAnT21lZ2EnLCAnYWUnLCAnb3NsYXNoJywgJ3F1ZXN0aW9uZG93bicsICdleGNsYW1kb3duJywgJ2xvZ2ljYWxub3QnLAogICAgJ3JhZGljYWwnLCAnZmxvcmluJywgJ2FwcHJveGVxdWFsJywgJ0RlbHRhJywgJ2d1aWxsZW1vdGxlZnQnLAogICAgJ2d1aWxsZW1vdHJpZ2h0JywgJ2VsbGlwc2lzJywgJ3NwYWNlJywgJ0FncmF2ZScsICdBdGlsZGUnLCAnT3RpbGRlJywgJ09FJywKICAgICdvZScsICdlbmRhc2gnLCAnZW1kYXNoJywgJ3F1b3RlZGJsbGVmdCcsICdxdW90ZWRibHJpZ2h0JywgJ3F1b3RlbGVmdCcsCiAgICAncXVvdGVyaWdodCcsICdkaXZpZGUnLCAnbG96ZW5nZScsICd5ZGllcmVzaXMnLCAnWWRpZXJlc2lzJywgJ2ZyYWN0aW9uJywKICAgICdjdXJyZW5jeScsICdndWlsc2luZ2xsZWZ0JywgJ2d1aWxzaW5nbHJpZ2h0JywgJ2ZpJywgJ2ZsJywgJ2RhZ2dlcmRibCcsCiAgICAncGVyaW9kY2VudGVyZWQnLCAncXVvdGVzaW5nbGJhc2UnLCAncXVvdGVkYmxiYXNlJywgJ3BlcnRob3VzYW5kJywKICAgICdBY2lyY3VtZmxleCcsICdFY2lyY3VtZmxleCcsICdBYWN1dGUnLCAnRWRpZXJlc2lzJywgJ0VncmF2ZScsICdJYWN1dGUnLAogICAgJ0ljaXJjdW1mbGV4JywgJ0lkaWVyZXNpcycsICdJZ3JhdmUnLCAnT2FjdXRlJywgJ09jaXJjdW1mbGV4JywgJ2FwcGxlJywKICAgICdPZ3JhdmUnLCAnVWFjdXRlJywgJ1VjaXJjdW1mbGV4JywgJ1VncmF2ZScsICdkb3RsZXNzaScsICdjaXJjdW1mbGV4JywKICAgICd0aWxkZScsICdtYWNyb24nLCAnYnJldmUnLCAnZG90YWNjZW50JywgJ3JpbmcnLCAnY2VkaWxsYScsICdodW5nYXJ1bWxhdXQnLAogICAgJ29nb25laycsICdjYXJvbiddLAogIFN0YW5kYXJkRW5jb2Rpbmc6IFsnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJ3NwYWNlJywgJ2V4Y2xhbScsICdxdW90ZWRibCcsICdudW1iZXJzaWduJywgJ2RvbGxhcicsICdwZXJjZW50JywKICAgICdhbXBlcnNhbmQnLCAncXVvdGVyaWdodCcsICdwYXJlbmxlZnQnLCAncGFyZW5yaWdodCcsICdhc3RlcmlzaycsICdwbHVzJywKICAgICdjb21tYScsICdoeXBoZW4nLCAncGVyaW9kJywgJ3NsYXNoJywgJ3plcm8nLCAnb25lJywgJ3R3bycsICd0aHJlZScsCiAgICAnZm91cicsICdmaXZlJywgJ3NpeCcsICdzZXZlbicsICdlaWdodCcsICduaW5lJywgJ2NvbG9uJywgJ3NlbWljb2xvbicsCiAgICAnbGVzcycsICdlcXVhbCcsICdncmVhdGVyJywgJ3F1ZXN0aW9uJywgJ2F0JywgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywKICAgICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsCiAgICAnVicsICdXJywgJ1gnLCAnWScsICdaJywgJ2JyYWNrZXRsZWZ0JywgJ2JhY2tzbGFzaCcsICdicmFja2V0cmlnaHQnLAogICAgJ2FzY2lpY2lyY3VtJywgJ3VuZGVyc2NvcmUnLCAncXVvdGVsZWZ0JywgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywKICAgICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsCiAgICAndicsICd3JywgJ3gnLCAneScsICd6JywgJ2JyYWNlbGVmdCcsICdiYXInLCAnYnJhY2VyaWdodCcsICdhc2NpaXRpbGRlJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJ2V4Y2xhbWRvd24nLAogICAgJ2NlbnQnLCAnc3RlcmxpbmcnLCAnZnJhY3Rpb24nLCAneWVuJywgJ2Zsb3JpbicsICdzZWN0aW9uJywgJ2N1cnJlbmN5JywKICAgICdxdW90ZXNpbmdsZScsICdxdW90ZWRibGxlZnQnLCAnZ3VpbGxlbW90bGVmdCcsICdndWlsc2luZ2xsZWZ0JywKICAgICdndWlsc2luZ2xyaWdodCcsICdmaScsICdmbCcsICcnLCAnZW5kYXNoJywgJ2RhZ2dlcicsICdkYWdnZXJkYmwnLAogICAgJ3BlcmlvZGNlbnRlcmVkJywgJycsICdwYXJhZ3JhcGgnLCAnYnVsbGV0JywgJ3F1b3Rlc2luZ2xiYXNlJywKICAgICdxdW90ZWRibGJhc2UnLCAncXVvdGVkYmxyaWdodCcsICdndWlsbGVtb3RyaWdodCcsICdlbGxpcHNpcycsCiAgICAncGVydGhvdXNhbmQnLCAnJywgJ3F1ZXN0aW9uZG93bicsICcnLCAnZ3JhdmUnLCAnYWN1dGUnLCAnY2lyY3VtZmxleCcsCiAgICAndGlsZGUnLCAnbWFjcm9uJywgJ2JyZXZlJywgJ2RvdGFjY2VudCcsICdkaWVyZXNpcycsICcnLCAncmluZycsICdjZWRpbGxhJywKICAgICcnLCAnaHVuZ2FydW1sYXV0JywgJ29nb25laycsICdjYXJvbicsICdlbWRhc2gnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICdBRScsICcnLCAnb3JkZmVtaW5pbmUnLCAnJywgJycsCiAgICAnJywgJycsICdMc2xhc2gnLCAnT3NsYXNoJywgJ09FJywgJ29yZG1hc2N1bGluZScsICcnLCAnJywgJycsICcnLCAnJywgJ2FlJywKICAgICcnLCAnJywgJycsICdkb3RsZXNzaScsICcnLCAnJywgJ2xzbGFzaCcsICdvc2xhc2gnLCAnb2UnLCAnZ2VybWFuZGJscyddLAogIFdpbkFuc2lFbmNvZGluZzogWycnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnc3BhY2UnLCAnZXhjbGFtJywgJ3F1b3RlZGJsJywgJ251bWJlcnNpZ24nLCAnZG9sbGFyJywgJ3BlcmNlbnQnLAogICAgJ2FtcGVyc2FuZCcsICdxdW90ZXNpbmdsZScsICdwYXJlbmxlZnQnLCAncGFyZW5yaWdodCcsICdhc3RlcmlzaycsICdwbHVzJywKICAgICdjb21tYScsICdoeXBoZW4nLCAncGVyaW9kJywgJ3NsYXNoJywgJ3plcm8nLCAnb25lJywgJ3R3bycsICd0aHJlZScsCiAgICAnZm91cicsICdmaXZlJywgJ3NpeCcsICdzZXZlbicsICdlaWdodCcsICduaW5lJywgJ2NvbG9uJywgJ3NlbWljb2xvbicsCiAgICAnbGVzcycsICdlcXVhbCcsICdncmVhdGVyJywgJ3F1ZXN0aW9uJywgJ2F0JywgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywKICAgICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsCiAgICAnVicsICdXJywgJ1gnLCAnWScsICdaJywgJ2JyYWNrZXRsZWZ0JywgJ2JhY2tzbGFzaCcsICdicmFja2V0cmlnaHQnLAogICAgJ2FzY2lpY2lyY3VtJywgJ3VuZGVyc2NvcmUnLCAnZ3JhdmUnLCAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsCiAgICAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLAogICAgJ3cnLCAneCcsICd5JywgJ3onLCAnYnJhY2VsZWZ0JywgJ2JhcicsICdicmFjZXJpZ2h0JywgJ2FzY2lpdGlsZGUnLAogICAgJ2J1bGxldCcsICdFdXJvJywgJ2J1bGxldCcsICdxdW90ZXNpbmdsYmFzZScsICdmbG9yaW4nLCAncXVvdGVkYmxiYXNlJywKICAgICdlbGxpcHNpcycsICdkYWdnZXInLCAnZGFnZ2VyZGJsJywgJ2NpcmN1bWZsZXgnLCAncGVydGhvdXNhbmQnLCAnU2Nhcm9uJywKICAgICdndWlsc2luZ2xsZWZ0JywgJ09FJywgJ2J1bGxldCcsICdaY2Fyb24nLCAnYnVsbGV0JywgJ2J1bGxldCcsICdxdW90ZWxlZnQnLAogICAgJ3F1b3RlcmlnaHQnLCAncXVvdGVkYmxsZWZ0JywgJ3F1b3RlZGJscmlnaHQnLCAnYnVsbGV0JywgJ2VuZGFzaCcsCiAgICAnZW1kYXNoJywgJ3RpbGRlJywgJ3RyYWRlbWFyaycsICdzY2Fyb24nLCAnZ3VpbHNpbmdscmlnaHQnLCAnb2UnLCAnYnVsbGV0JywKICAgICd6Y2Fyb24nLCAnWWRpZXJlc2lzJywgJ3NwYWNlJywgJ2V4Y2xhbWRvd24nLCAnY2VudCcsICdzdGVybGluZycsCiAgICAnY3VycmVuY3knLCAneWVuJywgJ2Jyb2tlbmJhcicsICdzZWN0aW9uJywgJ2RpZXJlc2lzJywgJ2NvcHlyaWdodCcsCiAgICAnb3JkZmVtaW5pbmUnLCAnZ3VpbGxlbW90bGVmdCcsICdsb2dpY2Fsbm90JywgJ2h5cGhlbicsICdyZWdpc3RlcmVkJywKICAgICdtYWNyb24nLCAnZGVncmVlJywgJ3BsdXNtaW51cycsICd0d29zdXBlcmlvcicsICd0aHJlZXN1cGVyaW9yJywgJ2FjdXRlJywKICAgICdtdScsICdwYXJhZ3JhcGgnLCAncGVyaW9kY2VudGVyZWQnLCAnY2VkaWxsYScsICdvbmVzdXBlcmlvcicsCiAgICAnb3JkbWFzY3VsaW5lJywgJ2d1aWxsZW1vdHJpZ2h0JywgJ29uZXF1YXJ0ZXInLCAnb25laGFsZicsICd0aHJlZXF1YXJ0ZXJzJywKICAgICdxdWVzdGlvbmRvd24nLCAnQWdyYXZlJywgJ0FhY3V0ZScsICdBY2lyY3VtZmxleCcsICdBdGlsZGUnLCAnQWRpZXJlc2lzJywKICAgICdBcmluZycsICdBRScsICdDY2VkaWxsYScsICdFZ3JhdmUnLCAnRWFjdXRlJywgJ0VjaXJjdW1mbGV4JywgJ0VkaWVyZXNpcycsCiAgICAnSWdyYXZlJywgJ0lhY3V0ZScsICdJY2lyY3VtZmxleCcsICdJZGllcmVzaXMnLCAnRXRoJywgJ050aWxkZScsICdPZ3JhdmUnLAogICAgJ09hY3V0ZScsICdPY2lyY3VtZmxleCcsICdPdGlsZGUnLCAnT2RpZXJlc2lzJywgJ211bHRpcGx5JywgJ09zbGFzaCcsCiAgICAnVWdyYXZlJywgJ1VhY3V0ZScsICdVY2lyY3VtZmxleCcsICdVZGllcmVzaXMnLCAnWWFjdXRlJywgJ1Rob3JuJywKICAgICdnZXJtYW5kYmxzJywgJ2FncmF2ZScsICdhYWN1dGUnLCAnYWNpcmN1bWZsZXgnLCAnYXRpbGRlJywgJ2FkaWVyZXNpcycsCiAgICAnYXJpbmcnLCAnYWUnLCAnY2NlZGlsbGEnLCAnZWdyYXZlJywgJ2VhY3V0ZScsICdlY2lyY3VtZmxleCcsICdlZGllcmVzaXMnLAogICAgJ2lncmF2ZScsICdpYWN1dGUnLCAnaWNpcmN1bWZsZXgnLCAnaWRpZXJlc2lzJywgJ2V0aCcsICdudGlsZGUnLCAnb2dyYXZlJywKICAgICdvYWN1dGUnLCAnb2NpcmN1bWZsZXgnLCAnb3RpbGRlJywgJ29kaWVyZXNpcycsICdkaXZpZGUnLCAnb3NsYXNoJywKICAgICd1Z3JhdmUnLCAndWFjdXRlJywgJ3VjaXJjdW1mbGV4JywgJ3VkaWVyZXNpcycsICd5YWN1dGUnLCAndGhvcm4nLAogICAgJ3lkaWVyZXNpcyddLAogIFN5bWJvbFNldEVuY29kaW5nOiBbJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICdzcGFjZScsICdleGNsYW0nLCAndW5pdmVyc2FsJywgJ251bWJlcnNpZ24nLCAnZXhpc3RlbnRpYWwnLCAncGVyY2VudCcsCiAgICAnYW1wZXJzYW5kJywgJ3N1Y2h0aGF0JywgJ3BhcmVubGVmdCcsICdwYXJlbnJpZ2h0JywgJ2FzdGVyaXNrbWF0aCcsICdwbHVzJywKICAgICdjb21tYScsICdtaW51cycsICdwZXJpb2QnLCAnc2xhc2gnLCAnemVybycsICdvbmUnLCAndHdvJywgJ3RocmVlJywgJ2ZvdXInLAogICAgJ2ZpdmUnLCAnc2l4JywgJ3NldmVuJywgJ2VpZ2h0JywgJ25pbmUnLCAnY29sb24nLCAnc2VtaWNvbG9uJywgJ2xlc3MnLAogICAgJ2VxdWFsJywgJ2dyZWF0ZXInLCAncXVlc3Rpb24nLCAnY29uZ3J1ZW50JywgJ0FscGhhJywgJ0JldGEnLCAnQ2hpJywKICAgICdEZWx0YScsICdFcHNpbG9uJywgJ1BoaScsICdHYW1tYScsICdFdGEnLCAnSW90YScsICd0aGV0YTEnLCAnS2FwcGEnLAogICAgJ0xhbWJkYScsICdNdScsICdOdScsICdPbWljcm9uJywgJ1BpJywgJ1RoZXRhJywgJ1JobycsICdTaWdtYScsICdUYXUnLAogICAgJ1Vwc2lsb24nLCAnc2lnbWExJywgJ09tZWdhJywgJ1hpJywgJ1BzaScsICdaZXRhJywgJ2JyYWNrZXRsZWZ0JywKICAgICd0aGVyZWZvcmUnLCAnYnJhY2tldHJpZ2h0JywgJ3BlcnBlbmRpY3VsYXInLCAndW5kZXJzY29yZScsICdyYWRpY2FsZXgnLAogICAgJ2FscGhhJywgJ2JldGEnLCAnY2hpJywgJ2RlbHRhJywgJ2Vwc2lsb24nLCAncGhpJywgJ2dhbW1hJywgJ2V0YScsICdpb3RhJywKICAgICdwaGkxJywgJ2thcHBhJywgJ2xhbWJkYScsICdtdScsICdudScsICdvbWljcm9uJywgJ3BpJywgJ3RoZXRhJywgJ3JobycsCiAgICAnc2lnbWEnLCAndGF1JywgJ3Vwc2lsb24nLCAnb21lZ2ExJywgJ29tZWdhJywgJ3hpJywgJ3BzaScsICd6ZXRhJywKICAgICdicmFjZWxlZnQnLCAnYmFyJywgJ2JyYWNlcmlnaHQnLCAnc2ltaWxhcicsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJ0V1cm8nLCAnVXBzaWxvbjEnLCAnbWludXRlJywgJ2xlc3NlcXVhbCcsCiAgICAnZnJhY3Rpb24nLCAnaW5maW5pdHknLCAnZmxvcmluJywgJ2NsdWInLCAnZGlhbW9uZCcsICdoZWFydCcsICdzcGFkZScsCiAgICAnYXJyb3dib3RoJywgJ2Fycm93bGVmdCcsICdhcnJvd3VwJywgJ2Fycm93cmlnaHQnLCAnYXJyb3dkb3duJywgJ2RlZ3JlZScsCiAgICAncGx1c21pbnVzJywgJ3NlY29uZCcsICdncmVhdGVyZXF1YWwnLCAnbXVsdGlwbHknLCAncHJvcG9ydGlvbmFsJywKICAgICdwYXJ0aWFsZGlmZicsICdidWxsZXQnLCAnZGl2aWRlJywgJ25vdGVxdWFsJywgJ2VxdWl2YWxlbmNlJywKICAgICdhcHByb3hlcXVhbCcsICdlbGxpcHNpcycsICdhcnJvd3ZlcnRleCcsICdhcnJvd2hvcml6ZXgnLCAnY2FycmlhZ2VyZXR1cm4nLAogICAgJ2FsZXBoJywgJ0lmcmFrdHVyJywgJ1JmcmFrdHVyJywgJ3dlaWVyc3RyYXNzJywgJ2NpcmNsZW11bHRpcGx5JywKICAgICdjaXJjbGVwbHVzJywgJ2VtcHR5c2V0JywgJ2ludGVyc2VjdGlvbicsICd1bmlvbicsICdwcm9wZXJzdXBlcnNldCcsCiAgICAncmVmbGV4c3VwZXJzZXQnLCAnbm90c3Vic2V0JywgJ3Byb3BlcnN1YnNldCcsICdyZWZsZXhzdWJzZXQnLCAnZWxlbWVudCcsCiAgICAnbm90ZWxlbWVudCcsICdhbmdsZScsICdncmFkaWVudCcsICdyZWdpc3RlcnNlcmlmJywgJ2NvcHlyaWdodHNlcmlmJywKICAgICd0cmFkZW1hcmtzZXJpZicsICdwcm9kdWN0JywgJ3JhZGljYWwnLCAnZG90bWF0aCcsICdsb2dpY2Fsbm90JywKICAgICdsb2dpY2FsYW5kJywgJ2xvZ2ljYWxvcicsICdhcnJvd2RibGJvdGgnLCAnYXJyb3dkYmxsZWZ0JywgJ2Fycm93ZGJsdXAnLAogICAgJ2Fycm93ZGJscmlnaHQnLCAnYXJyb3dkYmxkb3duJywgJ2xvemVuZ2UnLCAnYW5nbGVsZWZ0JywgJ3JlZ2lzdGVyc2FucycsCiAgICAnY29weXJpZ2h0c2FucycsICd0cmFkZW1hcmtzYW5zJywgJ3N1bW1hdGlvbicsICdwYXJlbmxlZnR0cCcsCiAgICAncGFyZW5sZWZ0ZXgnLCAncGFyZW5sZWZ0YnQnLCAnYnJhY2tldGxlZnR0cCcsICdicmFja2V0bGVmdGV4JywKICAgICdicmFja2V0bGVmdGJ0JywgJ2JyYWNlbGVmdHRwJywgJ2JyYWNlbGVmdG1pZCcsICdicmFjZWxlZnRidCcsICdicmFjZWV4JywKICAgICcnLCAnYW5nbGVyaWdodCcsICdpbnRlZ3JhbCcsICdpbnRlZ3JhbHRwJywgJ2ludGVncmFsZXgnLCAnaW50ZWdyYWxidCcsCiAgICAncGFyZW5yaWdodHRwJywgJ3BhcmVucmlnaHRleCcsICdwYXJlbnJpZ2h0YnQnLCAnYnJhY2tldHJpZ2h0dHAnLAogICAgJ2JyYWNrZXRyaWdodGV4JywgJ2JyYWNrZXRyaWdodGJ0JywgJ2JyYWNlcmlnaHR0cCcsICdicmFjZXJpZ2h0bWlkJywKICAgICdicmFjZXJpZ2h0YnQnXSwKICBaYXBmRGluZ2JhdHNFbmNvZGluZzogWycnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywKICAgICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsCiAgICAnc3BhY2UnLCAnYTEnLCAnYTInLCAnYTIwMicsICdhMycsICdhNCcsICdhNScsICdhMTE5JywgJ2ExMTgnLCAnYTExNycsCiAgICAnYTExJywgJ2ExMicsICdhMTMnLCAnYTE0JywgJ2ExNScsICdhMTYnLCAnYTEwNScsICdhMTcnLCAnYTE4JywgJ2ExOScsCiAgICAnYTIwJywgJ2EyMScsICdhMjInLCAnYTIzJywgJ2EyNCcsICdhMjUnLCAnYTI2JywgJ2EyNycsICdhMjgnLCAnYTYnLCAnYTcnLAogICAgJ2E4JywgJ2E5JywgJ2ExMCcsICdhMjknLCAnYTMwJywgJ2EzMScsICdhMzInLCAnYTMzJywgJ2EzNCcsICdhMzUnLCAnYTM2JywKICAgICdhMzcnLCAnYTM4JywgJ2EzOScsICdhNDAnLCAnYTQxJywgJ2E0MicsICdhNDMnLCAnYTQ0JywgJ2E0NScsICdhNDYnLAogICAgJ2E0NycsICdhNDgnLCAnYTQ5JywgJ2E1MCcsICdhNTEnLCAnYTUyJywgJ2E1MycsICdhNTQnLCAnYTU1JywgJ2E1NicsCiAgICAnYTU3JywgJ2E1OCcsICdhNTknLCAnYTYwJywgJ2E2MScsICdhNjInLCAnYTYzJywgJ2E2NCcsICdhNjUnLCAnYTY2JywKICAgICdhNjcnLCAnYTY4JywgJ2E2OScsICdhNzAnLCAnYTcxJywgJ2E3MicsICdhNzMnLCAnYTc0JywgJ2EyMDMnLCAnYTc1JywKICAgICdhMjA0JywgJ2E3NicsICdhNzcnLCAnYTc4JywgJ2E3OScsICdhODEnLCAnYTgyJywgJ2E4MycsICdhODQnLCAnYTk3JywKICAgICdhOTgnLCAnYTk5JywgJ2ExMDAnLCAnJywgJ2E4OScsICdhOTAnLCAnYTkzJywgJ2E5NCcsICdhOTEnLCAnYTkyJywgJ2EyMDUnLAogICAgJ2E4NScsICdhMjA2JywgJ2E4NicsICdhODcnLCAnYTg4JywgJ2E5NScsICdhOTYnLCAnJywgJycsICcnLCAnJywgJycsICcnLAogICAgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICdhMTAxJywgJ2ExMDInLCAnYTEwMycsCiAgICAnYTEwNCcsICdhMTA2JywgJ2ExMDcnLCAnYTEwOCcsICdhMTEyJywgJ2ExMTEnLCAnYTExMCcsICdhMTA5JywgJ2ExMjAnLAogICAgJ2ExMjEnLCAnYTEyMicsICdhMTIzJywgJ2ExMjQnLCAnYTEyNScsICdhMTI2JywgJ2ExMjcnLCAnYTEyOCcsICdhMTI5JywKICAgICdhMTMwJywgJ2ExMzEnLCAnYTEzMicsICdhMTMzJywgJ2ExMzQnLCAnYTEzNScsICdhMTM2JywgJ2ExMzcnLCAnYTEzOCcsCiAgICAnYTEzOScsICdhMTQwJywgJ2ExNDEnLCAnYTE0MicsICdhMTQzJywgJ2ExNDQnLCAnYTE0NScsICdhMTQ2JywgJ2ExNDcnLAogICAgJ2ExNDgnLCAnYTE0OScsICdhMTUwJywgJ2ExNTEnLCAnYTE1MicsICdhMTUzJywgJ2ExNTQnLCAnYTE1NScsICdhMTU2JywKICAgICdhMTU3JywgJ2ExNTgnLCAnYTE1OScsICdhMTYwJywgJ2ExNjEnLCAnYTE2MycsICdhMTY0JywgJ2ExOTYnLCAnYTE2NScsCiAgICAnYTE5MicsICdhMTY2JywgJ2ExNjcnLCAnYTE2OCcsICdhMTY5JywgJ2ExNzAnLCAnYTE3MScsICdhMTcyJywgJ2ExNzMnLAogICAgJ2ExNjInLCAnYTE3NCcsICdhMTc1JywgJ2ExNzYnLCAnYTE3NycsICdhMTc4JywgJ2ExNzknLCAnYTE5MycsICdhMTgwJywKICAgICdhMTk5JywgJ2ExODEnLCAnYTIwMCcsICdhMTgyJywgJycsICdhMjAxJywgJ2ExODMnLCAnYTE4NCcsICdhMTk3JywgJ2ExODUnLAogICAgJ2ExOTQnLCAnYTE5OCcsICdhMTg2JywgJ2ExOTUnLCAnYTE4NycsICdhMTg4JywgJ2ExODknLCAnYTE5MCcsICdhMTkxJ10KfTsKCi8qKgogKiBIb2xkIGEgbWFwIG9mIGRlY29kZWQgZm9udHMgYW5kIG9mIHRoZSBzdGFuZGFyZCBmb3VydGVlbiBUeXBlMQogKiBmb250cyBhbmQgdGhlaXIgYWNyb255bXMuCiAqLwp2YXIgc3RkRm9udE1hcCA9IHsKICAnQXJpYWxOYXJyb3cnOiAnSGVsdmV0aWNhJywKICAnQXJpYWxOYXJyb3ctQm9sZCc6ICdIZWx2ZXRpY2EtQm9sZCcsCiAgJ0FyaWFsTmFycm93LUJvbGRJdGFsaWMnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnQXJpYWxOYXJyb3ctSXRhbGljJzogJ0hlbHZldGljYS1PYmxpcXVlJywKICAnQXJpYWxCbGFjayc6ICdIZWx2ZXRpY2EnLAogICdBcmlhbEJsYWNrLUJvbGQnOiAnSGVsdmV0aWNhLUJvbGQnLAogICdBcmlhbEJsYWNrLUJvbGRJdGFsaWMnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnQXJpYWxCbGFjay1JdGFsaWMnOiAnSGVsdmV0aWNhLU9ibGlxdWUnLAogICdBcmlhbCc6ICdIZWx2ZXRpY2EnLAogICdBcmlhbC1Cb2xkJzogJ0hlbHZldGljYS1Cb2xkJywKICAnQXJpYWwtQm9sZEl0YWxpYyc6ICdIZWx2ZXRpY2EtQm9sZE9ibGlxdWUnLAogICdBcmlhbC1JdGFsaWMnOiAnSGVsdmV0aWNhLU9ibGlxdWUnLAogICdBcmlhbC1Cb2xkSXRhbGljTVQnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnQXJpYWwtQm9sZE1UJzogJ0hlbHZldGljYS1Cb2xkJywKICAnQXJpYWwtSXRhbGljTVQnOiAnSGVsdmV0aWNhLU9ibGlxdWUnLAogICdBcmlhbE1UJzogJ0hlbHZldGljYScsCiAgJ0NvdXJpZXItQm9sZCc6ICdDb3VyaWVyLUJvbGQnLAogICdDb3VyaWVyLUJvbGRJdGFsaWMnOiAnQ291cmllci1Cb2xkT2JsaXF1ZScsCiAgJ0NvdXJpZXItSXRhbGljJzogJ0NvdXJpZXItT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXcnOiAnQ291cmllcicsCiAgJ0NvdXJpZXJOZXctQm9sZCc6ICdDb3VyaWVyLUJvbGQnLAogICdDb3VyaWVyTmV3LUJvbGRJdGFsaWMnOiAnQ291cmllci1Cb2xkT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXctSXRhbGljJzogJ0NvdXJpZXItT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXdQUy1Cb2xkSXRhbGljTVQnOiAnQ291cmllci1Cb2xkT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXdQUy1Cb2xkTVQnOiAnQ291cmllci1Cb2xkJywKICAnQ291cmllck5ld1BTLUl0YWxpY01UJzogJ0NvdXJpZXItT2JsaXF1ZScsCiAgJ0NvdXJpZXJOZXdQU01UJzogJ0NvdXJpZXInLAogICdIZWx2ZXRpY2EnOiAnSGVsdmV0aWNhJywKICAnSGVsdmV0aWNhLUJvbGQnOiAnSGVsdmV0aWNhLUJvbGQnLAogICdIZWx2ZXRpY2EtQm9sZEl0YWxpYyc6ICdIZWx2ZXRpY2EtQm9sZE9ibGlxdWUnLAogICdIZWx2ZXRpY2EtQm9sZE9ibGlxdWUnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnSGVsdmV0aWNhLUl0YWxpYyc6ICdIZWx2ZXRpY2EtT2JsaXF1ZScsCiAgJ0hlbHZldGljYS1PYmxpcXVlJzonSGVsdmV0aWNhLU9ibGlxdWUnLAogICdTeW1ib2wtQm9sZCc6ICdTeW1ib2wnLAogICdTeW1ib2wtQm9sZEl0YWxpYyc6ICdTeW1ib2wnLAogICdTeW1ib2wtSXRhbGljJzogJ1N5bWJvbCcsCiAgJ1RpbWVzTmV3Um9tYW4nOiAnVGltZXMtUm9tYW4nLAogICdUaW1lc05ld1JvbWFuLUJvbGQnOiAnVGltZXMtQm9sZCcsCiAgJ1RpbWVzTmV3Um9tYW4tQm9sZEl0YWxpYyc6ICdUaW1lcy1Cb2xkSXRhbGljJywKICAnVGltZXNOZXdSb21hbi1JdGFsaWMnOiAnVGltZXMtSXRhbGljJywKICAnVGltZXNOZXdSb21hblBTJzogJ1RpbWVzLVJvbWFuJywKICAnVGltZXNOZXdSb21hblBTLUJvbGQnOiAnVGltZXMtQm9sZCcsCiAgJ1RpbWVzTmV3Um9tYW5QUy1Cb2xkSXRhbGljJzogJ1RpbWVzLUJvbGRJdGFsaWMnLAogICdUaW1lc05ld1JvbWFuUFMtQm9sZEl0YWxpY01UJzogJ1RpbWVzLUJvbGRJdGFsaWMnLAogICdUaW1lc05ld1JvbWFuUFMtQm9sZE1UJzogJ1RpbWVzLUJvbGQnLAogICdUaW1lc05ld1JvbWFuUFMtSXRhbGljJzogJ1RpbWVzLUl0YWxpYycsCiAgJ1RpbWVzTmV3Um9tYW5QUy1JdGFsaWNNVCc6ICdUaW1lcy1JdGFsaWMnLAogICdUaW1lc05ld1JvbWFuUFNNVCc6ICdUaW1lcy1Sb21hbicsCiAgJ1RpbWVzTmV3Um9tYW5QU01ULUJvbGQnOiAnVGltZXMtQm9sZCcsCiAgJ1RpbWVzTmV3Um9tYW5QU01ULUJvbGRJdGFsaWMnOiAnVGltZXMtQm9sZEl0YWxpYycsCiAgJ1RpbWVzTmV3Um9tYW5QU01ULUl0YWxpYyc6ICdUaW1lcy1JdGFsaWMnCn07CgovKioKICogSG9sZHMgdGhlIG1hcCBvZiB0aGUgbm9uLXN0YW5kYXJkIGZvbnRzIHRoYXQgbWlnaHQgYmUgaW5jbHVkZWQgYXMgYSBzdGFuZGFyZAogKiBmb250cyB3aXRob3V0IGdseXBoIGRhdGEuCiAqLwp2YXIgbm9uU3RkRm9udE1hcCA9IHsKICAnQ2VudHVyeUdvdGhpYyc6ICdIZWx2ZXRpY2EnLAogICdDZW50dXJ5R290aGljLUJvbGQnOiAnSGVsdmV0aWNhLUJvbGQnLAogICdDZW50dXJ5R290aGljLUJvbGRJdGFsaWMnOiAnSGVsdmV0aWNhLUJvbGRPYmxpcXVlJywKICAnQ2VudHVyeUdvdGhpYy1JdGFsaWMnOiAnSGVsdmV0aWNhLU9ibGlxdWUnLAogICdDb21pY1NhbnNNUyc6ICdDb21pYyBTYW5zIE1TJywKICAnQ29taWNTYW5zTVMtQm9sZCc6ICdDb21pYyBTYW5zIE1TLUJvbGQnLAogICdDb21pY1NhbnNNUy1Cb2xkSXRhbGljJzogJ0NvbWljIFNhbnMgTVMtQm9sZEl0YWxpYycsCiAgJ0NvbWljU2Fuc01TLUl0YWxpYyc6ICdDb21pYyBTYW5zIE1TLUl0YWxpYycsCiAgJ0x1Y2lkYUNvbnNvbGUnOiAnQ291cmllcicsCiAgJ0x1Y2lkYUNvbnNvbGUtQm9sZCc6ICdDb3VyaWVyLUJvbGQnLAogICdMdWNpZGFDb25zb2xlLUJvbGRJdGFsaWMnOiAnQ291cmllci1Cb2xkT2JsaXF1ZScsCiAgJ0x1Y2lkYUNvbnNvbGUtSXRhbGljJzogJ0NvdXJpZXItT2JsaXF1ZScsCiAgJ01TLUdvdGhpYyc6ICdNUyBHb3RoaWMnLAogICdNUy1Hb3RoaWMtQm9sZCc6ICdNUyBHb3RoaWMtQm9sZCcsCiAgJ01TLUdvdGhpYy1Cb2xkSXRhbGljJzogJ01TIEdvdGhpYy1Cb2xkSXRhbGljJywKICAnTVMtR290aGljLUl0YWxpYyc6ICdNUyBHb3RoaWMtSXRhbGljJywKICAnTVMtTWluY2hvJzogJ01TIE1pbmNobycsCiAgJ01TLU1pbmNoby1Cb2xkJzogJ01TIE1pbmNoby1Cb2xkJywKICAnTVMtTWluY2hvLUJvbGRJdGFsaWMnOiAnTVMgTWluY2hvLUJvbGRJdGFsaWMnLAogICdNUy1NaW5jaG8tSXRhbGljJzogJ01TIE1pbmNoby1JdGFsaWMnLAogICdNUy1QR290aGljJzogJ01TIFBHb3RoaWMnLAogICdNUy1QR290aGljLUJvbGQnOiAnTVMgUEdvdGhpYy1Cb2xkJywKICAnTVMtUEdvdGhpYy1Cb2xkSXRhbGljJzogJ01TIFBHb3RoaWMtQm9sZEl0YWxpYycsCiAgJ01TLVBHb3RoaWMtSXRhbGljJzogJ01TIFBHb3RoaWMtSXRhbGljJywKICAnTVMtUE1pbmNobyc6ICdNUyBQTWluY2hvJywKICAnTVMtUE1pbmNoby1Cb2xkJzogJ01TIFBNaW5jaG8tQm9sZCcsCiAgJ01TLVBNaW5jaG8tQm9sZEl0YWxpYyc6ICdNUyBQTWluY2hvLUJvbGRJdGFsaWMnLAogICdNUy1QTWluY2hvLUl0YWxpYyc6ICdNUyBQTWluY2hvLUl0YWxpYycsCiAgJ1dpbmdkaW5ncyc6ICdaYXBmRGluZ2JhdHMnCn07Cgp2YXIgc2VyaWZGb250cyA9IHsKICAnQWRvYmUgSmVuc29uJzogdHJ1ZSwgJ0Fkb2JlIFRleHQnOiB0cnVlLCAnQWxiZXJ0dXMnOiB0cnVlLAogICdBbGR1cyc6IHRydWUsICdBbGV4YW5kcmlhJzogdHJ1ZSwgJ0FsZ2VyaWFuJzogdHJ1ZSwKICAnQW1lcmljYW4gVHlwZXdyaXRlcic6IHRydWUsICdBbnRpcXVhJzogdHJ1ZSwgJ0FwZXgnOiB0cnVlLAogICdBcm5vJzogdHJ1ZSwgJ0FzdGVyJzogdHJ1ZSwgJ0F1cm9yYSc6IHRydWUsCiAgJ0Jhc2tlcnZpbGxlJzogdHJ1ZSwgJ0JlbGwnOiB0cnVlLCAnQmVtYm8nOiB0cnVlLAogICdCZW1ibyBTY2hvb2xib29rJzogdHJ1ZSwgJ0Jlbmd1aWF0JzogdHJ1ZSwgJ0JlcmtlbGV5IE9sZCBTdHlsZSc6IHRydWUsCiAgJ0Jlcm5oYXJkIE1vZGVybic6IHRydWUsICdCZXJ0aG9sZCBDaXR5JzogdHJ1ZSwgJ0JvZG9uaSc6IHRydWUsCiAgJ0JhdWVyIEJvZG9uaSc6IHRydWUsICdCb29rIEFudGlxdWEnOiB0cnVlLCAnQm9va21hbic6IHRydWUsCiAgJ0JvcmRlYXV4IFJvbWFuJzogdHJ1ZSwgJ0NhbGlmb3JuaWFuIEZCJzogdHJ1ZSwgJ0NhbGlzdG8nOiB0cnVlLAogICdDYWx2ZXJ0JzogdHJ1ZSwgJ0NhcGl0YWxzJzogdHJ1ZSwgJ0NhbWJyaWEnOiB0cnVlLAogICdDYXJ0aWVyJzogdHJ1ZSwgJ0Nhc2xvbic6IHRydWUsICdDYXR1bGwnOiB0cnVlLAogICdDZW50YXVyJzogdHJ1ZSwgJ0NlbnR1cnkgT2xkIFN0eWxlJzogdHJ1ZSwgJ0NlbnR1cnkgU2Nob29sYm9vayc6IHRydWUsCiAgJ0NoYXBhcnJhbCc6IHRydWUsICdDaGFyaXMgU0lMJzogdHJ1ZSwgJ0NoZWx0ZW5oYW0nOiB0cnVlLAogICdDaG9sbGEgU2xhYic6IHRydWUsICdDbGFyZW5kb24nOiB0cnVlLCAnQ2xlYXJmYWNlJzogdHJ1ZSwKICAnQ29jaGluJzogdHJ1ZSwgJ0NvbG9ubmEnOiB0cnVlLCAnQ29tcHV0ZXIgTW9kZXJuJzogdHJ1ZSwKICAnQ29uY3JldGUgUm9tYW4nOiB0cnVlLCAnQ29uc3RhbnRpYSc6IHRydWUsICdDb29wZXIgQmxhY2snOiB0cnVlLAogICdDb3JvbmEnOiB0cnVlLCAnRWNvdHlwZSc6IHRydWUsICdFZ3lwdGllbm5lJzogdHJ1ZSwKICAnRWxlcGhhbnQnOiB0cnVlLCAnRXhjZWxzaW9yJzogdHJ1ZSwgJ0ZhaXJmaWVsZCc6IHRydWUsCiAgJ0ZGIFNjYWxhJzogdHJ1ZSwgJ0ZvbGthcmQnOiB0cnVlLCAnRm9vdGxpZ2h0JzogdHJ1ZSwKICAnRnJlZVNlcmlmJzogdHJ1ZSwgJ0ZyaXogUXVhZHJhdGEnOiB0cnVlLCAnR2FyYW1vbmQnOiB0cnVlLAogICdHZW50aXVtJzogdHJ1ZSwgJ0dlb3JnaWEnOiB0cnVlLCAnR2xvdWNlc3Rlcic6IHRydWUsCiAgJ0dvdWR5IE9sZCBTdHlsZSc6IHRydWUsICdHb3VkeSBTY2hvb2xib29rJzogdHJ1ZSwgJ0dvdWR5IFBybyBGb250JzogdHJ1ZSwKICAnR3Jhbmpvbic6IHRydWUsICdHdWFyZGlhbiBFZ3lwdGlhbic6IHRydWUsICdIZWF0aGVyJzogdHJ1ZSwKICAnSGVyY3VsZXMnOiB0cnVlLCAnSGlnaCBUb3dlciBUZXh0JzogdHJ1ZSwgJ0hpcm9zaGlnZSc6IHRydWUsCiAgJ0hvZWZsZXIgVGV4dCc6IHRydWUsICdIdW1hbmEgU2VyaWYnOiB0cnVlLCAnSW1wcmludCc6IHRydWUsCiAgJ0lvbmljIE5vLiA1JzogdHJ1ZSwgJ0phbnNvbic6IHRydWUsICdKb2FubmEnOiB0cnVlLAogICdLb3Jpbm5hJzogdHJ1ZSwgJ0xleGljb24nOiB0cnVlLCAnTGliZXJhdGlvbiBTZXJpZic6IHRydWUsCiAgJ0xpbnV4IExpYmVydGluZSc6IHRydWUsICdMaXRlcmF0dXJuYXlhJzogdHJ1ZSwgJ0x1Y2lkYSc6IHRydWUsCiAgJ0x1Y2lkYSBCcmlnaHQnOiB0cnVlLCAnTWVsaW9yJzogdHJ1ZSwgJ01lbXBoaXMnOiB0cnVlLAogICdNaWxsZXInOiB0cnVlLCAnTWluaW9uJzogdHJ1ZSwgJ01vZGVybic6IHRydWUsCiAgJ01vbmEgTGlzYSc6IHRydWUsICdNcnMgRWF2ZXMnOiB0cnVlLCAnTVMgU2VyaWYnOiB0cnVlLAogICdNdXNlbyBTbGFiJzogdHJ1ZSwgJ05ldyBZb3JrJzogdHJ1ZSwgJ05pbWJ1cyBSb21hbic6IHRydWUsCiAgJ05QUyBSYXdsaW5zb24gUm9hZHdheSc6IHRydWUsICdQYWxhdGlubyc6IHRydWUsICdQZXJwZXR1YSc6IHRydWUsCiAgJ1BsYW50aW4nOiB0cnVlLCAnUGxhbnRpbiBTY2hvb2xib29rJzogdHJ1ZSwgJ1BsYXliaWxsJzogdHJ1ZSwKICAnUG9vciBSaWNoYXJkJzogdHJ1ZSwgJ1Jhd2xpbnNvbiBSb2Fkd2F5JzogdHJ1ZSwgJ1JlbmF1bHQnOiB0cnVlLAogICdSZXF1aWVtJzogdHJ1ZSwgJ1JvY2t3ZWxsJzogdHJ1ZSwgJ1JvbWFuJzogdHJ1ZSwKICAnUm90aXMgU2VyaWYnOiB0cnVlLCAnU2Fib24nOiB0cnVlLCAnU2NhbGEnOiB0cnVlLAogICdTZWFndWxsJzogdHJ1ZSwgJ1Npc3RpbmEnOiB0cnVlLCAnU291dmVuaXInOiB0cnVlLAogICdTVElYJzogdHJ1ZSwgJ1N0b25lIEluZm9ybWFsJzogdHJ1ZSwgJ1N0b25lIFNlcmlmJzogdHJ1ZSwKICAnU3lsZmFlbic6IHRydWUsICdUaW1lcyc6IHRydWUsICdUcmFqYW4nOiB0cnVlLAogICdUcmluaXTDqSc6IHRydWUsICdUcnVtcCBNZWRpYWV2YWwnOiB0cnVlLCAnVXRvcGlhJzogdHJ1ZSwKICAnVmFsZSBUeXBlJzogdHJ1ZSwgJ0JpdHN0cmVhbSBWZXJhJzogdHJ1ZSwgJ1ZlcmEgU2VyaWYnOiB0cnVlLAogICdWZXJzYWlsbGVzJzogdHJ1ZSwgJ1dhbnRlZCc6IHRydWUsICdXZWlzcyc6IHRydWUsCiAgJ1dpZGUgTGF0aW4nOiB0cnVlLCAnV2luZHNvcic6IHRydWUsICdYSVRTJzogdHJ1ZQp9OwoKdmFyIHN5bWJvbHNGb250cyA9IHsKICAnRGluZ2JhdHMnOiB0cnVlLCAnU3ltYm9sJzogdHJ1ZSwgJ1phcGZEaW5nYmF0cyc6IHRydWUKfTsKCi8vIEdseXBoIG1hcCBmb3Igd2VsbC1rbm93biBzdGFuZGFyZCBmb250cy4gU29tZXRpbWVzIEdob3N0c2NyaXB0IHVzZXMgQ0lEIGZvbnRzCi8vIGJ1dCBkb2VzIG5vdCBlbWJlZCB0aGUgQ0lEIHRvIEdJRCBtYXBwaW5nLiBUaGUgbWFwcGluZyBpcyBpbmNvbXBsZXRlIGZvciBhbGwKLy8gZ2x5cGhzLCBidXQgY29tbW9uIGZvciBzb21lIHNldCBvZiB0aGUgc3RhbmRhcmQgZm9udHMuCnZhciBHbHlwaE1hcEZvclN0YW5kYXJkRm9udHMgPSB7CiAgJzInOiAxMCwgJzMnOiAzMiwgJzQnOiAzMywgJzUnOiAzNCwgJzYnOiAzNSwgJzcnOiAzNiwgJzgnOiAzNywgJzknOiAzOCwKICAnMTAnOiAzOSwgJzExJzogNDAsICcxMic6IDQxLCAnMTMnOiA0MiwgJzE0JzogNDMsICcxNSc6IDQ0LCAnMTYnOiA0NSwKICAnMTcnOiA0NiwgJzE4JzogNDcsICcxOSc6IDQ4LCAnMjAnOiA0OSwgJzIxJzogNTAsICcyMic6IDUxLCAnMjMnOiA1MiwKICAnMjQnOiA1MywgJzI1JzogNTQsICcyNic6IDU1LCAnMjcnOiA1NiwgJzI4JzogNTcsICcyOSc6IDU4LCAnMzAnOiA4OTQsCiAgJzMxJzogNjAsICczMic6IDYxLCAnMzMnOiA2MiwgJzM0JzogNjMsICczNSc6IDY0LCAnMzYnOiA2NSwgJzM3JzogNjYsCiAgJzM4JzogNjcsICczOSc6IDY4LCAnNDAnOiA2OSwgJzQxJzogNzAsICc0Mic6IDcxLCAnNDMnOiA3MiwgJzQ0JzogNzMsCiAgJzQ1JzogNzQsICc0Nic6IDc1LCAnNDcnOiA3NiwgJzQ4JzogNzcsICc0OSc6IDc4LCAnNTAnOiA3OSwgJzUxJzogODAsCiAgJzUyJzogODEsICc1Myc6IDgyLCAnNTQnOiA4MywgJzU1JzogODQsICc1Nic6IDg1LCAnNTcnOiA4NiwgJzU4JzogODcsCiAgJzU5JzogODgsICc2MCc6IDg5LCAnNjEnOiA5MCwgJzYyJzogOTEsICc2Myc6IDkyLCAnNjQnOiA5MywgJzY1JzogOTQsCiAgJzY2JzogOTUsICc2Nyc6IDk2LCAnNjgnOiA5NywgJzY5JzogOTgsICc3MCc6IDk5LCAnNzEnOiAxMDAsICc3Mic6IDEwMSwKICAnNzMnOiAxMDIsICc3NCc6IDEwMywgJzc1JzogMTA0LCAnNzYnOiAxMDUsICc3Nyc6IDEwNiwgJzc4JzogMTA3LCAnNzknOiAxMDgsCiAgJzgwJzogMTA5LCAnODEnOiAxMTAsICc4Mic6IDExMSwgJzgzJzogMTEyLCAnODQnOiAxMTMsICc4NSc6IDExNCwgJzg2JzogMTE1LAogICc4Nyc6IDExNiwgJzg4JzogMTE3LCAnODknOiAxMTgsICc5MCc6IDExOSwgJzkxJzogMTIwLCAnOTInOiAxMjEsICc5Myc6IDEyMiwKICAnOTQnOiAxMjMsICc5NSc6IDEyNCwgJzk2JzogMTI1LCAnOTcnOiAxMjYsICc5OCc6IDE5NiwgJzk5JzogMTk3LCAnMTAwJzogMTk5LAogICcxMDEnOiAyMDEsICcxMDInOiAyMDksICcxMDMnOiAyMTQsICcxMDQnOiAyMjAsICcxMDUnOiAyMjUsICcxMDYnOiAyMjQsCiAgJzEwNyc6IDIyNiwgJzEwOCc6IDIyOCwgJzEwOSc6IDIyNywgJzExMCc6IDIyOSwgJzExMSc6IDIzMSwgJzExMic6IDIzMywKICAnMTEzJzogMjMyLCAnMTE0JzogMjM0LCAnMTE1JzogMjM1LCAnMTE2JzogMjM3LCAnMTE3JzogMjM2LCAnMTE4JzogMjM4LAogICcxMTknOiAyMzksICcxMjAnOiAyNDEsICcxMjEnOiAyNDMsICcxMjInOiAyNDIsICcxMjMnOiAyNDQsICcxMjQnOiAyNDYsCiAgJzEyNSc6IDI0NSwgJzEyNic6IDI1MCwgJzEyNyc6IDI0OSwgJzEyOCc6IDI1MSwgJzEyOSc6IDI1MiwgJzEzMCc6IDgyMjQsCiAgJzEzMSc6IDE3NiwgJzEzMic6IDE2MiwgJzEzMyc6IDE2MywgJzEzNCc6IDE2NywgJzEzNSc6IDgyMjYsICcxMzYnOiAxODIsCiAgJzEzNyc6IDIyMywgJzEzOCc6IDE3NCwgJzEzOSc6IDE2OSwgJzE0MCc6IDg0ODIsICcxNDEnOiAxODAsICcxNDInOiAxNjgsCiAgJzE0Myc6IDg4MDAsICcxNDQnOiAxOTgsICcxNDUnOiAyMTYsICcxNDYnOiA4NzM0LCAnMTQ3JzogMTc3LCAnMTQ4JzogODgwNCwKICAnMTQ5JzogODgwNSwgJzE1MCc6IDE2NSwgJzE1MSc6IDE4MSwgJzE1Mic6IDg3MDYsICcxNTMnOiA4NzIxLCAnMTU0JzogODcxOSwKICAnMTU2JzogODc0NywgJzE1Nyc6IDE3MCwgJzE1OCc6IDE4NiwgJzE1OSc6IDg0ODYsICcxNjAnOiAyMzAsICcxNjEnOiAyNDgsCiAgJzE2Mic6IDE5MSwgJzE2Myc6IDE2MSwgJzE2NCc6IDE3MiwgJzE2NSc6IDg3MzAsICcxNjYnOiA0MDIsICcxNjcnOiA4Nzc2LAogICcxNjgnOiA4NzEwLCAnMTY5JzogMTcxLCAnMTcwJzogMTg3LCAnMTcxJzogODIzMCwgJzIxMCc6IDIxOCwgJzIyMyc6IDcxMSwKICAnMjI0JzogMzIxLCAnMjI1JzogMzIyLCAnMjI3JzogMzUzLCAnMjI5JzogMzgyLCAnMjM0JzogMjUzLCAnMjUyJzogMjYzLAogICcyNTMnOiAyNjgsICcyNTQnOiAyNjksICcyNTgnOiAyNTgsICcyNjAnOiAyNjAsICcyNjEnOiAyNjEsICcyNjUnOiAyODAsCiAgJzI2Nic6IDI4MSwgJzI2OCc6IDI4MywgJzI2OSc6IDMxMywgJzI3NSc6IDMyMywgJzI3Nic6IDMyNCwgJzI3OCc6IDMyOCwKICAnMjg0JzogMzQ1LCAnMjg1JzogMzQ2LCAnMjg2JzogMzQ3LCAnMjkyJzogMzY3LCAnMjk1JzogMzc3LCAnMjk2JzogMzc4LAogICcyOTgnOiAzODAsICczMDUnOiA5NjMsCiAgJzMwNic6IDk2NCwgJzMwNyc6IDk2NiwgJzMwOCc6IDgyMTUsICczMDknOiA4MjUyLCAnMzEwJzogODMxOSwgJzMxMSc6IDgzNTksCiAgJzMxMic6IDg1OTIsICczMTMnOiA4NTkzLCAnMzM3JzogOTU1MiwgJzQ5Myc6IDEwMzksICc0OTQnOiAxMDQwLCAnNzA1JzogMTUyNCwKICAnNzA2JzogODM2MiwgJzcxMCc6IDY0Mjg4LCAnNzExJzogNjQyOTgsICc3NTknOiAxNjE3LCAnNzYxJzogMTc3NiwKICAnNzYzJzogMTc3OCwgJzc3NSc6IDE2NTIsICc3NzcnOiAxNzY0LCAnNzc4JzogMTc4MCwgJzc3OSc6IDE3ODEsICc3ODAnOiAxNzgyLAogICc3ODInOiA3NzEsICc3ODMnOiA2NDcyNiwgJzc4Nic6IDgzNjMsICc3ODgnOiA4NTMyLCAnNzkwJzogNzY4LCAnNzkxJzogNzY5LAogICc3OTInOiA3NjgsICc3OTUnOiA4MDMsICc3OTcnOiA2NDMzNiwgJzc5OCc6IDY0MzM3LCAnNzk5JzogNjQzNDIsCiAgJzgwMCc6IDY0MzQzLCAnODAxJzogNjQzNDQsICc4MDInOiA2NDM0NSwgJzgwMyc6IDY0MzYyLCAnODA0JzogNjQzNjMsCiAgJzgwNSc6IDY0MzY0LCAnMjQyNCc6IDc4MjEsICcyNDI1JzogNzgyMiwgJzI0MjYnOiA3ODIzLCAnMjQyNyc6IDc4MjQsCiAgJzI0MjgnOiA3ODI1LCAnMjQyOSc6IDc4MjYsICcyNDMwJzogNzgyNywgJzI0MzMnOiA3NjgyLCAnMjY3OCc6IDgwNDUsCiAgJzI2NzknOiA4MDQ2LCAnMjgzMCc6IDE1NTIsICcyODM4JzogNjg2LCAnMjg0MCc6IDc1MSwgJzI4NDInOiA3NTMsCiAgJzI4NDMnOiA3NTQsICcyODQ0JzogNzU1LCAnMjg0Nic6IDc1NywgJzI4NTYnOiA3NjcsICcyODU3JzogODQ4LCAnMjg1OCc6IDg0OSwKICAnMjg2Mic6IDg1MywgJzI4NjMnOiA4NTQsICcyODY0JzogODU1LCAnMjg2NSc6IDg2MSwgJzI4NjYnOiA4NjIsICcyOTA2JzogNzQ2MCwKICAnMjkwOCc6IDc0NjIsICcyOTA5JzogNzQ2MywgJzI5MTAnOiA3NDY0LCAnMjkxMic6IDc0NjYsICcyOTEzJzogNzQ2NywKICAnMjkxNCc6IDc0NjgsICcyOTE2JzogNzQ3MCwgJzI5MTcnOiA3NDcxLCAnMjkxOCc6IDc0NzIsICcyOTIwJzogNzQ3NCwKICAnMjkyMSc6IDc0NzUsICcyOTIyJzogNzQ3NiwgJzI5MjQnOiA3NDc4LCAnMjkyNSc6IDc0NzksICcyOTI2JzogNzQ4MCwKICAnMjkyOCc6IDc0ODIsICcyOTI5JzogNzQ4MywgJzI5MzAnOiA3NDg0LCAnMjkzMic6IDc0ODYsICcyOTMzJzogNzQ4NywKICAnMjkzNCc6IDc0ODgsICcyOTM2JzogNzQ5MCwgJzI5MzcnOiA3NDkxLCAnMjkzOCc6IDc0OTIsICcyOTQwJzogNzQ5NCwKICAnMjk0MSc6IDc0OTUsICcyOTQyJzogNzQ5NiwgJzI5NDQnOiA3NDk4LCAnMjk0Nic6IDc1MDAsICcyOTQ4JzogNzUwMiwKICAnMjk1MCc6IDc1MDQsICcyOTUxJzogNzUwNSwgJzI5NTInOiA3NTA2LCAnMjk1NCc6IDc1MDgsICcyOTU1JzogNzUwOSwKICAnMjk1Nic6IDc1MTAsICcyOTU4JzogNzUxMiwgJzI5NTknOiA3NTEzLCAnMjk2MCc6IDc1MTQsICcyOTYyJzogNzUxNiwKICAnMjk2Myc6IDc1MTcsICcyOTY0JzogNzUxOCwgJzI5NjYnOiA3NTIwLCAnMjk2Nyc6IDc1MjEsICcyOTY4JzogNzUyMiwKICAnMjk3MCc6IDc1MjQsICcyOTcxJzogNzUyNSwgJzI5NzInOiA3NTI2LCAnMjk3NCc6IDc1MjgsICcyOTc1JzogNzUyOSwKICAnMjk3Nic6IDc1MzAsICcyOTc4JzogMTUzNywgJzI5NzknOiAxNTM4LCAnMjk4MCc6IDE1MzksICcyOTgyJzogMTU0OSwKICAnMjk4Myc6IDE1NTEsICcyOTg0JzogMTU1MiwgJzI5ODYnOiAxNTU0LCAnMjk4Nyc6IDE1NTUsICcyOTg4JzogMTU1NiwKICAnMjk5MCc6IDE2MjMsICcyOTkxJzogMTYyNCwgJzI5OTUnOiAxNzc1LCAnMjk5OSc6IDE3OTEsICczMDAyJzogNjQyOTAsCiAgJzMwMDMnOiA2NDI5MSwgJzMwMDQnOiA2NDI5MiwgJzMwMDYnOiA2NDI5NCwgJzMwMDcnOiA2NDI5NSwgJzMwMDgnOiA2NDI5NiwKICAnMzAxMSc6IDE5MDAsICczMDE0JzogODIyMywgJzMwMTUnOiA4MjQ0LCAnMzAxNyc6IDc1MzIsICczMDE4JzogNzUzMywKICAnMzAxOSc6IDc1MzQsICczMDc1JzogNzU5MCwgJzMwNzYnOiA3NTkxLCAnMzA3OSc6IDc1OTQsICczMDgwJzogNzU5NSwKICAnMzA4Myc6IDc1OTgsICczMDg0JzogNzU5OSwgJzMwODcnOiA3NjAyLCAnMzA4OCc6IDc2MDMsICczMDkxJzogNzYwNiwKICAnMzA5Mic6IDc2MDcsICczMDk1JzogNzYxMCwgJzMwOTYnOiA3NjExLCAnMzA5OSc6IDc2MTQsICczMTAwJzogNzYxNSwKICAnMzEwMyc6IDc2MTgsICczMTA0JzogNzYxOSwgJzMxMDcnOiA4MzM3LCAnMzEwOCc6IDgzMzgsICczMTE2JzogMTg4NCwKICAnMzExOSc6IDE4ODUsICczMTIwJzogMTg4NSwgJzMxMjMnOiAxODg2LCAnMzEyNCc6IDE4ODYsICczMTI3JzogMTg4NywKICAnMzEyOCc6IDE4ODcsICczMTMxJzogMTg4OCwgJzMxMzInOiAxODg4LCAnMzEzNSc6IDE4ODksICczMTM2JzogMTg4OSwKICAnMzEzOSc6IDE4OTAsICczMTQwJzogMTg5MCwgJzMxNDMnOiAxODkxLCAnMzE0NCc6IDE4OTEsICczMTQ3JzogMTg5MiwKICAnMzE0OCc6IDE4OTIsICczMTUzJzogNTgwLCAnMzE1NCc6IDU4MSwgJzMxNTcnOiA1ODQsICczMTU4JzogNTg1LCAnMzE2MSc6IDU4OCwKICAnMzE2Mic6IDU4OSwgJzMxNjUnOiA4OTEsICczMTY2JzogODkyLCAnMzE2OSc6IDEyNzQsICczMTcwJzogMTI3NSwKICAnMzE3Myc6IDEyNzgsICczMTc0JzogMTI3OSwgJzMxODEnOiA3NjIyLCAnMzE4Mic6IDc2MjMsICczMjgyJzogMTE3OTksCiAgJzMzMTYnOiA1NzgsICczMzc5JzogNDI3ODUsICczMzkzJzogMTE1OSwgJzM0MTYnOiA4Mzc3Cn07CgovLyBTb21lIGNoYXJhY3RlcnMsIGUuZy4gY29weXJpZ2h0c2VyaWYsIGFyZSBtYXBwZWQgdG8gdGhlIHByaXZhdGUgdXNlIGFyZWEgYW5kCi8vIG1pZ2h0IG5vdCBiZSBkaXNwbGF5ZWQgdXNpbmcgc3RhbmRhcmQgZm9udHMuIE1hcHBpbmcvaGFja2luZyB3ZWxsLWtub3duIGNoYXJzCi8vIHRvIHRoZSBzaW1pbGFyIGVxdWl2YWxlbnRzIGluIHRoZSBub3JtYWwgY2hhcmFjdGVycyByYW5nZS4KdmFyIFNwZWNpYWxQVUFTeW1ib2xzID0gewogICc2MzcyMSc6IDB4MDBBOSwgLy8gY29weXJpZ2h0c2FucyAoMHhGOEU5KSA9PiBjb3B5cmlnaHQKICAnNjMxOTMnOiAweDAwQTksIC8vIGNvcHlyaWdodHNlcmlmICgweEY2RDkpID0+IGNvcHlyaWdodAogICc2MzcyMCc6IDB4MDBBRSwgLy8gcmVnaXN0ZXJzYW5zICgweEY4RTgpID0+IHJlZ2lzdGVyZWQKICAnNjMxOTQnOiAweDAwQUUsIC8vIHJlZ2lzdGVyc2VyaWYgKDB4RjZEQSkgPT4gcmVnaXN0ZXJlZAogICc2MzcyMic6IDB4MjEyMiwgLy8gdHJhZGVtYXJrc2FucyAoMHhGOEVBKSA9PiB0cmFkZW1hcmsKICAnNjMxOTUnOiAweDIxMjIsIC8vIHRyYWRlbWFya3NlcmlmICgweEY2REIpID0+IHRyYWRlbWFyawogICc2MzcyOSc6IDB4MjNBNywgLy8gYnJhY2VsZWZ0dHAgKDB4RjhGMSkKICAnNjM3MzAnOiAweDIzQTgsIC8vIGJyYWNlbGVmdG1pZCAoMHhGOEYyKQogICc2MzczMSc6IDB4MjNBOSwgLy8gYnJhY2VsZWZ0YnQgKDB4RjhGMykKICAnNjM3NDAnOiAweDIzQUIsIC8vIGJyYWNlcmlnaHR0cCAoMHhGOEZDKQogICc2Mzc0MSc6IDB4MjNBQywgLy8gYnJhY2VyaWdodG1pZCAoMHhGOEZEKQogICc2Mzc0Mic6IDB4MjNBRCwgLy8gYnJhY2VyaWdodGJ0ICgweEY4RkUpCiAgJzYzNzI2JzogMHgyM0ExLCAvLyBicmFja2V0bGVmdHRwICgweEY4RUUpCiAgJzYzNzI3JzogMHgyM0EyLCAvLyBicmFja2V0bGVmdGV4ICgweEY4RUYpCiAgJzYzNzI4JzogMHgyM0EzLCAvLyBicmFja2V0bGVmdGJ0ICgweEY4RjApCiAgJzYzNzM3JzogMHgyM0E0LCAvLyBicmFja2V0cmlnaHR0cCAoMHhGOEY5KQogICc2MzczOCc6IDB4MjNBNSwgLy8gYnJhY2tldHJpZ2h0ZXggKDB4RjhGQSkKICAnNjM3MzknOiAweDIzQTYsIC8vIGJyYWNrZXRyaWdodGJ0ICgweEY4RkIpCiAgJzYzNzIzJzogMHgyMzlCLCAvLyBwYXJlbmxlZnR0cCAoMHhGOEVCKQogICc2MzcyNCc6IDB4MjM5QywgLy8gcGFyZW5sZWZ0ZXggKDB4RjhFQykKICAnNjM3MjUnOiAweDIzOUQsIC8vIHBhcmVubGVmdGJ0ICgweEY4RUQpCiAgJzYzNzM0JzogMHgyMzlFLCAvLyBwYXJlbnJpZ2h0dHAgKDB4RjhGNikKICAnNjM3MzUnOiAweDIzOUYsIC8vIHBhcmVucmlnaHRleCAoMHhGOEY3KQogICc2MzczNic6IDB4MjNBMCwgLy8gcGFyZW5yaWdodGJ0ICgweEY4RjgpCn07CmZ1bmN0aW9uIG1hcFNwZWNpYWxVbmljb2RlVmFsdWVzKGNvZGUpIHsKICBpZiAoY29kZSA+PSAweEZGRjAgJiYgY29kZSA8PSAweEZGRkYpIHsgLy8gU3BlY2lhbHMgdW5pY29kZSBibG9jay4KICAgIHJldHVybiAwOwogIH0gZWxzZSBpZiAoY29kZSA+PSAweEY2MDAgJiYgY29kZSA8PSAweEY4RkYpIHsKICAgIHJldHVybiAoU3BlY2lhbFBVQVN5bWJvbHNbY29kZV0gfHwgY29kZSk7CiAgfQogIHJldHVybiBjb2RlOwp9Cgp2YXIgVW5pY29kZVJhbmdlcyA9IFsKICB7ICdiZWdpbic6IDB4MDAwMCwgJ2VuZCc6IDB4MDA3RiB9LCAvLyBCYXNpYyBMYXRpbgogIHsgJ2JlZ2luJzogMHgwMDgwLCAnZW5kJzogMHgwMEZGIH0sIC8vIExhdGluLTEgU3VwcGxlbWVudAogIHsgJ2JlZ2luJzogMHgwMTAwLCAnZW5kJzogMHgwMTdGIH0sIC8vIExhdGluIEV4dGVuZGVkLUEKICB7ICdiZWdpbic6IDB4MDE4MCwgJ2VuZCc6IDB4MDI0RiB9LCAvLyBMYXRpbiBFeHRlbmRlZC1CCiAgeyAnYmVnaW4nOiAweDAyNTAsICdlbmQnOiAweDAyQUYgfSwgLy8gSVBBIEV4dGVuc2lvbnMKICB7ICdiZWdpbic6IDB4MDJCMCwgJ2VuZCc6IDB4MDJGRiB9LCAvLyBTcGFjaW5nIE1vZGlmaWVyIExldHRlcnMKICB7ICdiZWdpbic6IDB4MDMwMCwgJ2VuZCc6IDB4MDM2RiB9LCAvLyBDb21iaW5pbmcgRGlhY3JpdGljYWwgTWFya3MKICB7ICdiZWdpbic6IDB4MDM3MCwgJ2VuZCc6IDB4MDNGRiB9LCAvLyBHcmVlayBhbmQgQ29wdGljCiAgeyAnYmVnaW4nOiAweDJDODAsICdlbmQnOiAweDJDRkYgfSwgLy8gQ29wdGljCiAgeyAnYmVnaW4nOiAweDA0MDAsICdlbmQnOiAweDA0RkYgfSwgLy8gQ3lyaWxsaWMKICB7ICdiZWdpbic6IDB4MDUzMCwgJ2VuZCc6IDB4MDU4RiB9LCAvLyBBcm1lbmlhbgogIHsgJ2JlZ2luJzogMHgwNTkwLCAnZW5kJzogMHgwNUZGIH0sIC8vIEhlYnJldwogIHsgJ2JlZ2luJzogMHhBNTAwLCAnZW5kJzogMHhBNjNGIH0sIC8vIFZhaQogIHsgJ2JlZ2luJzogMHgwNjAwLCAnZW5kJzogMHgwNkZGIH0sIC8vIEFyYWJpYwogIHsgJ2JlZ2luJzogMHgwN0MwLCAnZW5kJzogMHgwN0ZGIH0sIC8vIE5LbwogIHsgJ2JlZ2luJzogMHgwOTAwLCAnZW5kJzogMHgwOTdGIH0sIC8vIERldmFuYWdhcmkKICB7ICdiZWdpbic6IDB4MDk4MCwgJ2VuZCc6IDB4MDlGRiB9LCAvLyBCZW5nYWxpCiAgeyAnYmVnaW4nOiAweDBBMDAsICdlbmQnOiAweDBBN0YgfSwgLy8gR3VybXVraGkKICB7ICdiZWdpbic6IDB4MEE4MCwgJ2VuZCc6IDB4MEFGRiB9LCAvLyBHdWphcmF0aQogIHsgJ2JlZ2luJzogMHgwQjAwLCAnZW5kJzogMHgwQjdGIH0sIC8vIE9yaXlhCiAgeyAnYmVnaW4nOiAweDBCODAsICdlbmQnOiAweDBCRkYgfSwgLy8gVGFtaWwKICB7ICdiZWdpbic6IDB4MEMwMCwgJ2VuZCc6IDB4MEM3RiB9LCAvLyBUZWx1Z3UKICB7ICdiZWdpbic6IDB4MEM4MCwgJ2VuZCc6IDB4MENGRiB9LCAvLyBLYW5uYWRhCiAgeyAnYmVnaW4nOiAweDBEMDAsICdlbmQnOiAweDBEN0YgfSwgLy8gTWFsYXlhbGFtCiAgeyAnYmVnaW4nOiAweDBFMDAsICdlbmQnOiAweDBFN0YgfSwgLy8gVGhhaQogIHsgJ2JlZ2luJzogMHgwRTgwLCAnZW5kJzogMHgwRUZGIH0sIC8vIExhbwogIHsgJ2JlZ2luJzogMHgxMEEwLCAnZW5kJzogMHgxMEZGIH0sIC8vIEdlb3JnaWFuCiAgeyAnYmVnaW4nOiAweDFCMDAsICdlbmQnOiAweDFCN0YgfSwgLy8gQmFsaW5lc2UKICB7ICdiZWdpbic6IDB4MTEwMCwgJ2VuZCc6IDB4MTFGRiB9LCAvLyBIYW5ndWwgSmFtbwogIHsgJ2JlZ2luJzogMHgxRTAwLCAnZW5kJzogMHgxRUZGIH0sIC8vIExhdGluIEV4dGVuZGVkIEFkZGl0aW9uYWwKICB7ICdiZWdpbic6IDB4MUYwMCwgJ2VuZCc6IDB4MUZGRiB9LCAvLyBHcmVlayBFeHRlbmRlZAogIHsgJ2JlZ2luJzogMHgyMDAwLCAnZW5kJzogMHgyMDZGIH0sIC8vIEdlbmVyYWwgUHVuY3R1YXRpb24KICB7ICdiZWdpbic6IDB4MjA3MCwgJ2VuZCc6IDB4MjA5RiB9LCAvLyBTdXBlcnNjcmlwdHMgQW5kIFN1YnNjcmlwdHMKICB7ICdiZWdpbic6IDB4MjBBMCwgJ2VuZCc6IDB4MjBDRiB9LCAvLyBDdXJyZW5jeSBTeW1ib2wKICB7ICdiZWdpbic6IDB4MjBEMCwgJ2VuZCc6IDB4MjBGRiB9LCAvLyBDb21iaW5pbmcgRGlhY3JpdGljYWwgTWFya3MgRm9yIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MjEwMCwgJ2VuZCc6IDB4MjE0RiB9LCAvLyBMZXR0ZXJsaWtlIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MjE1MCwgJ2VuZCc6IDB4MjE4RiB9LCAvLyBOdW1iZXIgRm9ybXMKICB7ICdiZWdpbic6IDB4MjE5MCwgJ2VuZCc6IDB4MjFGRiB9LCAvLyBBcnJvd3MKICB7ICdiZWdpbic6IDB4MjIwMCwgJ2VuZCc6IDB4MjJGRiB9LCAvLyBNYXRoZW1hdGljYWwgT3BlcmF0b3JzCiAgeyAnYmVnaW4nOiAweDIzMDAsICdlbmQnOiAweDIzRkYgfSwgLy8gTWlzY2VsbGFuZW91cyBUZWNobmljYWwKICB7ICdiZWdpbic6IDB4MjQwMCwgJ2VuZCc6IDB4MjQzRiB9LCAvLyBDb250cm9sIFBpY3R1cmVzCiAgeyAnYmVnaW4nOiAweDI0NDAsICdlbmQnOiAweDI0NUYgfSwgLy8gT3B0aWNhbCBDaGFyYWN0ZXIgUmVjb2duaXRpb24KICB7ICdiZWdpbic6IDB4MjQ2MCwgJ2VuZCc6IDB4MjRGRiB9LCAvLyBFbmNsb3NlZCBBbHBoYW51bWVyaWNzCiAgeyAnYmVnaW4nOiAweDI1MDAsICdlbmQnOiAweDI1N0YgfSwgLy8gQm94IERyYXdpbmcKICB7ICdiZWdpbic6IDB4MjU4MCwgJ2VuZCc6IDB4MjU5RiB9LCAvLyBCbG9jayBFbGVtZW50cwogIHsgJ2JlZ2luJzogMHgyNUEwLCAnZW5kJzogMHgyNUZGIH0sIC8vIEdlb21ldHJpYyBTaGFwZXMKICB7ICdiZWdpbic6IDB4MjYwMCwgJ2VuZCc6IDB4MjZGRiB9LCAvLyBNaXNjZWxsYW5lb3VzIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MjcwMCwgJ2VuZCc6IDB4MjdCRiB9LCAvLyBEaW5nYmF0cwogIHsgJ2JlZ2luJzogMHgzMDAwLCAnZW5kJzogMHgzMDNGIH0sIC8vIENKSyBTeW1ib2xzIEFuZCBQdW5jdHVhdGlvbgogIHsgJ2JlZ2luJzogMHgzMDQwLCAnZW5kJzogMHgzMDlGIH0sIC8vIEhpcmFnYW5hCiAgeyAnYmVnaW4nOiAweDMwQTAsICdlbmQnOiAweDMwRkYgfSwgLy8gS2F0YWthbmEKICB7ICdiZWdpbic6IDB4MzEwMCwgJ2VuZCc6IDB4MzEyRiB9LCAvLyBCb3BvbW9mbwogIHsgJ2JlZ2luJzogMHgzMTMwLCAnZW5kJzogMHgzMThGIH0sIC8vIEhhbmd1bCBDb21wYXRpYmlsaXR5IEphbW8KICB7ICdiZWdpbic6IDB4QTg0MCwgJ2VuZCc6IDB4QTg3RiB9LCAvLyBQaGFncy1wYQogIHsgJ2JlZ2luJzogMHgzMjAwLCAnZW5kJzogMHgzMkZGIH0sIC8vIEVuY2xvc2VkIENKSyBMZXR0ZXJzIEFuZCBNb250aHMKICB7ICdiZWdpbic6IDB4MzMwMCwgJ2VuZCc6IDB4MzNGRiB9LCAvLyBDSksgQ29tcGF0aWJpbGl0eQogIHsgJ2JlZ2luJzogMHhBQzAwLCAnZW5kJzogMHhEN0FGIH0sIC8vIEhhbmd1bCBTeWxsYWJsZXMKICB7ICdiZWdpbic6IDB4RDgwMCwgJ2VuZCc6IDB4REZGRiB9LCAvLyBOb24tUGxhbmUgMCAqCiAgeyAnYmVnaW4nOiAweDEwOTAwLCAnZW5kJzogMHgxMDkxRiB9LCAvLyBQaG9lbmljaWEKICB7ICdiZWdpbic6IDB4NEUwMCwgJ2VuZCc6IDB4OUZGRiB9LCAvLyBDSksgVW5pZmllZCBJZGVvZ3JhcGhzCiAgeyAnYmVnaW4nOiAweEUwMDAsICdlbmQnOiAweEY4RkYgfSwgLy8gUHJpdmF0ZSBVc2UgQXJlYSAocGxhbmUgMCkKICB7ICdiZWdpbic6IDB4MzFDMCwgJ2VuZCc6IDB4MzFFRiB9LCAvLyBDSksgU3Ryb2tlcwogIHsgJ2JlZ2luJzogMHhGQjAwLCAnZW5kJzogMHhGQjRGIH0sIC8vIEFscGhhYmV0aWMgUHJlc2VudGF0aW9uIEZvcm1zCiAgeyAnYmVnaW4nOiAweEZCNTAsICdlbmQnOiAweEZERkYgfSwgLy8gQXJhYmljIFByZXNlbnRhdGlvbiBGb3Jtcy1BCiAgeyAnYmVnaW4nOiAweEZFMjAsICdlbmQnOiAweEZFMkYgfSwgLy8gQ29tYmluaW5nIEhhbGYgTWFya3MKICB7ICdiZWdpbic6IDB4RkUxMCwgJ2VuZCc6IDB4RkUxRiB9LCAvLyBWZXJ0aWNhbCBGb3JtcwogIHsgJ2JlZ2luJzogMHhGRTUwLCAnZW5kJzogMHhGRTZGIH0sIC8vIFNtYWxsIEZvcm0gVmFyaWFudHMKICB7ICdiZWdpbic6IDB4RkU3MCwgJ2VuZCc6IDB4RkVGRiB9LCAvLyBBcmFiaWMgUHJlc2VudGF0aW9uIEZvcm1zLUIKICB7ICdiZWdpbic6IDB4RkYwMCwgJ2VuZCc6IDB4RkZFRiB9LCAvLyBIYWxmd2lkdGggQW5kIEZ1bGx3aWR0aCBGb3JtcwogIHsgJ2JlZ2luJzogMHhGRkYwLCAnZW5kJzogMHhGRkZGIH0sIC8vIFNwZWNpYWxzCiAgeyAnYmVnaW4nOiAweDBGMDAsICdlbmQnOiAweDBGRkYgfSwgLy8gVGliZXRhbgogIHsgJ2JlZ2luJzogMHgwNzAwLCAnZW5kJzogMHgwNzRGIH0sIC8vIFN5cmlhYwogIHsgJ2JlZ2luJzogMHgwNzgwLCAnZW5kJzogMHgwN0JGIH0sIC8vIFRoYWFuYQogIHsgJ2JlZ2luJzogMHgwRDgwLCAnZW5kJzogMHgwREZGIH0sIC8vIFNpbmhhbGEKICB7ICdiZWdpbic6IDB4MTAwMCwgJ2VuZCc6IDB4MTA5RiB9LCAvLyBNeWFubWFyCiAgeyAnYmVnaW4nOiAweDEyMDAsICdlbmQnOiAweDEzN0YgfSwgLy8gRXRoaW9waWMKICB7ICdiZWdpbic6IDB4MTNBMCwgJ2VuZCc6IDB4MTNGRiB9LCAvLyBDaGVyb2tlZQogIHsgJ2JlZ2luJzogMHgxNDAwLCAnZW5kJzogMHgxNjdGIH0sIC8vIFVuaWZpZWQgQ2FuYWRpYW4gQWJvcmlnaW5hbCBTeWxsYWJpY3MKICB7ICdiZWdpbic6IDB4MTY4MCwgJ2VuZCc6IDB4MTY5RiB9LCAvLyBPZ2hhbQogIHsgJ2JlZ2luJzogMHgxNkEwLCAnZW5kJzogMHgxNkZGIH0sIC8vIFJ1bmljCiAgeyAnYmVnaW4nOiAweDE3ODAsICdlbmQnOiAweDE3RkYgfSwgLy8gS2htZXIKICB7ICdiZWdpbic6IDB4MTgwMCwgJ2VuZCc6IDB4MThBRiB9LCAvLyBNb25nb2xpYW4KICB7ICdiZWdpbic6IDB4MjgwMCwgJ2VuZCc6IDB4MjhGRiB9LCAvLyBCcmFpbGxlIFBhdHRlcm5zCiAgeyAnYmVnaW4nOiAweEEwMDAsICdlbmQnOiAweEE0OEYgfSwgLy8gWWkgU3lsbGFibGVzCiAgeyAnYmVnaW4nOiAweDE3MDAsICdlbmQnOiAweDE3MUYgfSwgLy8gVGFnYWxvZwogIHsgJ2JlZ2luJzogMHgxMDMwMCwgJ2VuZCc6IDB4MTAzMkYgfSwgLy8gT2xkIEl0YWxpYwogIHsgJ2JlZ2luJzogMHgxMDMzMCwgJ2VuZCc6IDB4MTAzNEYgfSwgLy8gR290aGljCiAgeyAnYmVnaW4nOiAweDEwNDAwLCAnZW5kJzogMHgxMDQ0RiB9LCAvLyBEZXNlcmV0CiAgeyAnYmVnaW4nOiAweDFEMDAwLCAnZW5kJzogMHgxRDBGRiB9LCAvLyBCeXphbnRpbmUgTXVzaWNhbCBTeW1ib2xzCiAgeyAnYmVnaW4nOiAweDFENDAwLCAnZW5kJzogMHgxRDdGRiB9LCAvLyBNYXRoZW1hdGljYWwgQWxwaGFudW1lcmljIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4RkYwMDAsICdlbmQnOiAweEZGRkZEIH0sIC8vIFByaXZhdGUgVXNlIChwbGFuZSAxNSkKICB7ICdiZWdpbic6IDB4RkUwMCwgJ2VuZCc6IDB4RkUwRiB9LCAvLyBWYXJpYXRpb24gU2VsZWN0b3JzCiAgeyAnYmVnaW4nOiAweEUwMDAwLCAnZW5kJzogMHhFMDA3RiB9LCAvLyBUYWdzCiAgeyAnYmVnaW4nOiAweDE5MDAsICdlbmQnOiAweDE5NEYgfSwgLy8gTGltYnUKICB7ICdiZWdpbic6IDB4MTk1MCwgJ2VuZCc6IDB4MTk3RiB9LCAvLyBUYWkgTGUKICB7ICdiZWdpbic6IDB4MTk4MCwgJ2VuZCc6IDB4MTlERiB9LCAvLyBOZXcgVGFpIEx1ZQogIHsgJ2JlZ2luJzogMHgxQTAwLCAnZW5kJzogMHgxQTFGIH0sIC8vIEJ1Z2luZXNlCiAgeyAnYmVnaW4nOiAweDJDMDAsICdlbmQnOiAweDJDNUYgfSwgLy8gR2xhZ29saXRpYwogIHsgJ2JlZ2luJzogMHgyRDMwLCAnZW5kJzogMHgyRDdGIH0sIC8vIFRpZmluYWdoCiAgeyAnYmVnaW4nOiAweDREQzAsICdlbmQnOiAweDRERkYgfSwgLy8gWWlqaW5nIEhleGFncmFtIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4QTgwMCwgJ2VuZCc6IDB4QTgyRiB9LCAvLyBTeWxvdGkgTmFncmkKICB7ICdiZWdpbic6IDB4MTAwMDAsICdlbmQnOiAweDEwMDdGIH0sIC8vIExpbmVhciBCIFN5bGxhYmFyeQogIHsgJ2JlZ2luJzogMHgxMDE0MCwgJ2VuZCc6IDB4MTAxOEYgfSwgLy8gQW5jaWVudCBHcmVlayBOdW1iZXJzCiAgeyAnYmVnaW4nOiAweDEwMzgwLCAnZW5kJzogMHgxMDM5RiB9LCAvLyBVZ2FyaXRpYwogIHsgJ2JlZ2luJzogMHgxMDNBMCwgJ2VuZCc6IDB4MTAzREYgfSwgLy8gT2xkIFBlcnNpYW4KICB7ICdiZWdpbic6IDB4MTA0NTAsICdlbmQnOiAweDEwNDdGIH0sIC8vIFNoYXZpYW4KICB7ICdiZWdpbic6IDB4MTA0ODAsICdlbmQnOiAweDEwNEFGIH0sIC8vIE9zbWFueWEKICB7ICdiZWdpbic6IDB4MTA4MDAsICdlbmQnOiAweDEwODNGIH0sIC8vIEN5cHJpb3QgU3lsbGFiYXJ5CiAgeyAnYmVnaW4nOiAweDEwQTAwLCAnZW5kJzogMHgxMEE1RiB9LCAvLyBLaGFyb3NodGhpCiAgeyAnYmVnaW4nOiAweDFEMzAwLCAnZW5kJzogMHgxRDM1RiB9LCAvLyBUYWkgWHVhbiBKaW5nIFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MTIwMDAsICdlbmQnOiAweDEyM0ZGIH0sIC8vIEN1bmVpZm9ybQogIHsgJ2JlZ2luJzogMHgxRDM2MCwgJ2VuZCc6IDB4MUQzN0YgfSwgLy8gQ291bnRpbmcgUm9kIE51bWVyYWxzCiAgeyAnYmVnaW4nOiAweDFCODAsICdlbmQnOiAweDFCQkYgfSwgLy8gU3VuZGFuZXNlCiAgeyAnYmVnaW4nOiAweDFDMDAsICdlbmQnOiAweDFDNEYgfSwgLy8gTGVwY2hhCiAgeyAnYmVnaW4nOiAweDFDNTAsICdlbmQnOiAweDFDN0YgfSwgLy8gT2wgQ2hpa2kKICB7ICdiZWdpbic6IDB4QTg4MCwgJ2VuZCc6IDB4QThERiB9LCAvLyBTYXVyYXNodHJhCiAgeyAnYmVnaW4nOiAweEE5MDAsICdlbmQnOiAweEE5MkYgfSwgLy8gS2F5YWggTGkKICB7ICdiZWdpbic6IDB4QTkzMCwgJ2VuZCc6IDB4QTk1RiB9LCAvLyBSZWphbmcKICB7ICdiZWdpbic6IDB4QUEwMCwgJ2VuZCc6IDB4QUE1RiB9LCAvLyBDaGFtCiAgeyAnYmVnaW4nOiAweDEwMTkwLCAnZW5kJzogMHgxMDFDRiB9LCAvLyBBbmNpZW50IFN5bWJvbHMKICB7ICdiZWdpbic6IDB4MTAxRDAsICdlbmQnOiAweDEwMUZGIH0sIC8vIFBoYWlzdG9zIERpc2MKICB7ICdiZWdpbic6IDB4MTAyQTAsICdlbmQnOiAweDEwMkRGIH0sIC8vIENhcmlhbgogIHsgJ2JlZ2luJzogMHgxRjAzMCwgJ2VuZCc6IDB4MUYwOUYgfSAgLy8gRG9taW5vIFRpbGVzCl07Cgp2YXIgTWFjU3RhbmRhcmRHbHlwaE9yZGVyaW5nID0gWwogICcubm90ZGVmJywgJy5udWxsJywgJ25vbm1hcmtpbmdyZXR1cm4nLCAnc3BhY2UnLCAnZXhjbGFtJywgJ3F1b3RlZGJsJywKICAnbnVtYmVyc2lnbicsICdkb2xsYXInLCAncGVyY2VudCcsICdhbXBlcnNhbmQnLCAncXVvdGVzaW5nbGUnLCAncGFyZW5sZWZ0JywKICAncGFyZW5yaWdodCcsICdhc3RlcmlzaycsICdwbHVzJywgJ2NvbW1hJywgJ2h5cGhlbicsICdwZXJpb2QnLCAnc2xhc2gnLAogICd6ZXJvJywgJ29uZScsICd0d28nLCAndGhyZWUnLCAnZm91cicsICdmaXZlJywgJ3NpeCcsICdzZXZlbicsICdlaWdodCcsCiAgJ25pbmUnLCAnY29sb24nLCAnc2VtaWNvbG9uJywgJ2xlc3MnLCAnZXF1YWwnLCAnZ3JlYXRlcicsICdxdWVzdGlvbicsICdhdCcsCiAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJywKICAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAnWScsICdaJywgJ2JyYWNrZXRsZWZ0JywKICAnYmFja3NsYXNoJywgJ2JyYWNrZXRyaWdodCcsICdhc2NpaWNpcmN1bScsICd1bmRlcnNjb3JlJywgJ2dyYXZlJywgJ2EnLCAnYicsCiAgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLCAncCcsICdxJywKICAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLCAnYnJhY2VsZWZ0JywgJ2JhcicsICdicmFjZXJpZ2h0JywKICAnYXNjaWl0aWxkZScsICdBZGllcmVzaXMnLCAnQXJpbmcnLCAnQ2NlZGlsbGEnLCAnRWFjdXRlJywgJ050aWxkZScsCiAgJ09kaWVyZXNpcycsICdVZGllcmVzaXMnLCAnYWFjdXRlJywgJ2FncmF2ZScsICdhY2lyY3VtZmxleCcsICdhZGllcmVzaXMnLAogICdhdGlsZGUnLCAnYXJpbmcnLCAnY2NlZGlsbGEnLCAnZWFjdXRlJywgJ2VncmF2ZScsICdlY2lyY3VtZmxleCcsICdlZGllcmVzaXMnLAogICdpYWN1dGUnLCAnaWdyYXZlJywgJ2ljaXJjdW1mbGV4JywgJ2lkaWVyZXNpcycsICdudGlsZGUnLCAnb2FjdXRlJywgJ29ncmF2ZScsCiAgJ29jaXJjdW1mbGV4JywgJ29kaWVyZXNpcycsICdvdGlsZGUnLCAndWFjdXRlJywgJ3VncmF2ZScsICd1Y2lyY3VtZmxleCcsCiAgJ3VkaWVyZXNpcycsICdkYWdnZXInLCAnZGVncmVlJywgJ2NlbnQnLCAnc3RlcmxpbmcnLCAnc2VjdGlvbicsICdidWxsZXQnLAogICdwYXJhZ3JhcGgnLCAnZ2VybWFuZGJscycsICdyZWdpc3RlcmVkJywgJ2NvcHlyaWdodCcsICd0cmFkZW1hcmsnLCAnYWN1dGUnLAogICdkaWVyZXNpcycsICdub3RlcXVhbCcsICdBRScsICdPc2xhc2gnLCAnaW5maW5pdHknLCAncGx1c21pbnVzJywgJ2xlc3NlcXVhbCcsCiAgJ2dyZWF0ZXJlcXVhbCcsICd5ZW4nLCAnbXUnLCAncGFydGlhbGRpZmYnLCAnc3VtbWF0aW9uJywgJ3Byb2R1Y3QnLCAncGknLAogICdpbnRlZ3JhbCcsICdvcmRmZW1pbmluZScsICdvcmRtYXNjdWxpbmUnLCAnT21lZ2EnLCAnYWUnLCAnb3NsYXNoJywKICAncXVlc3Rpb25kb3duJywgJ2V4Y2xhbWRvd24nLCAnbG9naWNhbG5vdCcsICdyYWRpY2FsJywgJ2Zsb3JpbicsCiAgJ2FwcHJveGVxdWFsJywgJ0RlbHRhJywgJ2d1aWxsZW1vdGxlZnQnLCAnZ3VpbGxlbW90cmlnaHQnLCAnZWxsaXBzaXMnLAogICdub25icmVha2luZ3NwYWNlJywgJ0FncmF2ZScsICdBdGlsZGUnLCAnT3RpbGRlJywgJ09FJywgJ29lJywgJ2VuZGFzaCcsCiAgJ2VtZGFzaCcsICdxdW90ZWRibGxlZnQnLCAncXVvdGVkYmxyaWdodCcsICdxdW90ZWxlZnQnLCAncXVvdGVyaWdodCcsCiAgJ2RpdmlkZScsICdsb3plbmdlJywgJ3lkaWVyZXNpcycsICdZZGllcmVzaXMnLCAnZnJhY3Rpb24nLCAnY3VycmVuY3knLAogICdndWlsc2luZ2xsZWZ0JywgJ2d1aWxzaW5nbHJpZ2h0JywgJ2ZpJywgJ2ZsJywgJ2RhZ2dlcmRibCcsICdwZXJpb2RjZW50ZXJlZCcsCiAgJ3F1b3Rlc2luZ2xiYXNlJywgJ3F1b3RlZGJsYmFzZScsICdwZXJ0aG91c2FuZCcsICdBY2lyY3VtZmxleCcsCiAgJ0VjaXJjdW1mbGV4JywgJ0FhY3V0ZScsICdFZGllcmVzaXMnLCAnRWdyYXZlJywgJ0lhY3V0ZScsICdJY2lyY3VtZmxleCcsCiAgJ0lkaWVyZXNpcycsICdJZ3JhdmUnLCAnT2FjdXRlJywgJ09jaXJjdW1mbGV4JywgJ2FwcGxlJywgJ09ncmF2ZScsICdVYWN1dGUnLAogICdVY2lyY3VtZmxleCcsICdVZ3JhdmUnLCAnZG90bGVzc2knLCAnY2lyY3VtZmxleCcsICd0aWxkZScsICdtYWNyb24nLAogICdicmV2ZScsICdkb3RhY2NlbnQnLCAncmluZycsICdjZWRpbGxhJywgJ2h1bmdhcnVtbGF1dCcsICdvZ29uZWsnLCAnY2Fyb24nLAogICdMc2xhc2gnLCAnbHNsYXNoJywgJ1NjYXJvbicsICdzY2Fyb24nLCAnWmNhcm9uJywgJ3pjYXJvbicsICdicm9rZW5iYXInLAogICdFdGgnLCAnZXRoJywgJ1lhY3V0ZScsICd5YWN1dGUnLCAnVGhvcm4nLCAndGhvcm4nLCAnbWludXMnLCAnbXVsdGlwbHknLAogICdvbmVzdXBlcmlvcicsICd0d29zdXBlcmlvcicsICd0aHJlZXN1cGVyaW9yJywgJ29uZWhhbGYnLCAnb25lcXVhcnRlcicsCiAgJ3RocmVlcXVhcnRlcnMnLCAnZnJhbmMnLCAnR2JyZXZlJywgJ2dicmV2ZScsICdJZG90YWNjZW50JywgJ1NjZWRpbGxhJywKICAnc2NlZGlsbGEnLCAnQ2FjdXRlJywgJ2NhY3V0ZScsICdDY2Fyb24nLCAnY2Nhcm9uJywgJ2Rjcm9hdCddOwoKZnVuY3Rpb24gZ2V0VW5pY29kZVJhbmdlRm9yKHZhbHVlKSB7CiAgZm9yICh2YXIgaSA9IDAsIGlpID0gVW5pY29kZVJhbmdlcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICB2YXIgcmFuZ2UgPSBVbmljb2RlUmFuZ2VzW2ldOwogICAgaWYgKHZhbHVlID49IHJhbmdlLmJlZ2luICYmIHZhbHVlIDwgcmFuZ2UuZW5kKSB7CiAgICAgIHJldHVybiBpOwogICAgfQogIH0KICByZXR1cm4gLTE7Cn0KCmZ1bmN0aW9uIGlzUlRMUmFuZ2VGb3IodmFsdWUpIHsKICB2YXIgcmFuZ2UgPSBVbmljb2RlUmFuZ2VzWzEzXTsKICBpZiAodmFsdWUgPj0gcmFuZ2UuYmVnaW4gJiYgdmFsdWUgPCByYW5nZS5lbmQpIHsKICAgIHJldHVybiB0cnVlOwogIH0KICByYW5nZSA9IFVuaWNvZGVSYW5nZXNbMTFdOwogIGlmICh2YWx1ZSA+PSByYW5nZS5iZWdpbiAmJiB2YWx1ZSA8IHJhbmdlLmVuZCkgewogICAgcmV0dXJuIHRydWU7CiAgfQogIHJldHVybiBmYWxzZTsKfQoKLy8gVGhlIG5vcm1hbGl6YXRpb24gdGFibGUgaXMgb2J0YWluZWQgYnkgZmlsdGVyaW5nIHRoZSBVbmljb2RlIGNoYXJhY3RlcnMKLy8gZGF0YWJhc2Ugd2l0aCA8Y29tcGF0PiBlbnRyaWVzLgp2YXIgTm9ybWFsaXplZFVuaWNvZGVzID0gewogICdcdTAwQTgnOiAnXHUwMDIwXHUwMzA4JywKICAnXHUwMEFGJzogJ1x1MDAyMFx1MDMwNCcsCiAgJ1x1MDBCNCc6ICdcdTAwMjBcdTAzMDEnLAogICdcdTAwQjUnOiAnXHUwM0JDJywKICAnXHUwMEI4JzogJ1x1MDAyMFx1MDMyNycsCiAgJ1x1MDEzMic6ICdcdTAwNDlcdTAwNEEnLAogICdcdTAxMzMnOiAnXHUwMDY5XHUwMDZBJywKICAnXHUwMTNGJzogJ1x1MDA0Q1x1MDBCNycsCiAgJ1x1MDE0MCc6ICdcdTAwNkNcdTAwQjcnLAogICdcdTAxNDknOiAnXHUwMkJDXHUwMDZFJywKICAnXHUwMTdGJzogJ1x1MDA3MycsCiAgJ1x1MDFDNCc6ICdcdTAwNDRcdTAxN0QnLAogICdcdTAxQzUnOiAnXHUwMDQ0XHUwMTdFJywKICAnXHUwMUM2JzogJ1x1MDA2NFx1MDE3RScsCiAgJ1x1MDFDNyc6ICdcdTAwNENcdTAwNEEnLAogICdcdTAxQzgnOiAnXHUwMDRDXHUwMDZBJywKICAnXHUwMUM5JzogJ1x1MDA2Q1x1MDA2QScsCiAgJ1x1MDFDQSc6ICdcdTAwNEVcdTAwNEEnLAogICdcdTAxQ0InOiAnXHUwMDRFXHUwMDZBJywKICAnXHUwMUNDJzogJ1x1MDA2RVx1MDA2QScsCiAgJ1x1MDFGMSc6ICdcdTAwNDRcdTAwNUEnLAogICdcdTAxRjInOiAnXHUwMDQ0XHUwMDdBJywKICAnXHUwMUYzJzogJ1x1MDA2NFx1MDA3QScsCiAgJ1x1MDJEOCc6ICdcdTAwMjBcdTAzMDYnLAogICdcdTAyRDknOiAnXHUwMDIwXHUwMzA3JywKICAnXHUwMkRBJzogJ1x1MDAyMFx1MDMwQScsCiAgJ1x1MDJEQic6ICdcdTAwMjBcdTAzMjgnLAogICdcdTAyREMnOiAnXHUwMDIwXHUwMzAzJywKICAnXHUwMkREJzogJ1x1MDAyMFx1MDMwQicsCiAgJ1x1MDM3QSc6ICdcdTAwMjBcdTAzNDUnLAogICdcdTAzODQnOiAnXHUwMDIwXHUwMzAxJywKICAnXHUwM0QwJzogJ1x1MDNCMicsCiAgJ1x1MDNEMSc6ICdcdTAzQjgnLAogICdcdTAzRDInOiAnXHUwM0E1JywKICAnXHUwM0Q1JzogJ1x1MDNDNicsCiAgJ1x1MDNENic6ICdcdTAzQzAnLAogICdcdTAzRjAnOiAnXHUwM0JBJywKICAnXHUwM0YxJzogJ1x1MDNDMScsCiAgJ1x1MDNGMic6ICdcdTAzQzInLAogICdcdTAzRjQnOiAnXHUwMzk4JywKICAnXHUwM0Y1JzogJ1x1MDNCNScsCiAgJ1x1MDNGOSc6ICdcdTAzQTMnLAogICdcdTA1ODcnOiAnXHUwNTY1XHUwNTgyJywKICAnXHUwNjc1JzogJ1x1MDYyN1x1MDY3NCcsCiAgJ1x1MDY3Nic6ICdcdTA2NDhcdTA2NzQnLAogICdcdTA2NzcnOiAnXHUwNkM3XHUwNjc0JywKICAnXHUwNjc4JzogJ1x1MDY0QVx1MDY3NCcsCiAgJ1x1MEUzMyc6ICdcdTBFNERcdTBFMzInLAogICdcdTBFQjMnOiAnXHUwRUNEXHUwRUIyJywKICAnXHUwRURDJzogJ1x1MEVBQlx1MEU5OScsCiAgJ1x1MEVERCc6ICdcdTBFQUJcdTBFQTEnLAogICdcdTBGNzcnOiAnXHUwRkIyXHUwRjgxJywKICAnXHUwRjc5JzogJ1x1MEZCM1x1MEY4MScsCiAgJ1x1MUU5QSc6ICdcdTAwNjFcdTAyQkUnLAogICdcdTFGQkQnOiAnXHUwMDIwXHUwMzEzJywKICAnXHUxRkJGJzogJ1x1MDAyMFx1MDMxMycsCiAgJ1x1MUZDMCc6ICdcdTAwMjBcdTAzNDInLAogICdcdTFGRkUnOiAnXHUwMDIwXHUwMzE0JywKICAnXHUyMDAyJzogJ1x1MDAyMCcsCiAgJ1x1MjAwMyc6ICdcdTAwMjAnLAogICdcdTIwMDQnOiAnXHUwMDIwJywKICAnXHUyMDA1JzogJ1x1MDAyMCcsCiAgJ1x1MjAwNic6ICdcdTAwMjAnLAogICdcdTIwMDgnOiAnXHUwMDIwJywKICAnXHUyMDA5JzogJ1x1MDAyMCcsCiAgJ1x1MjAwQSc6ICdcdTAwMjAnLAogICdcdTIwMTcnOiAnXHUwMDIwXHUwMzMzJywKICAnXHUyMDI0JzogJ1x1MDAyRScsCiAgJ1x1MjAyNSc6ICdcdTAwMkVcdTAwMkUnLAogICdcdTIwMjYnOiAnXHUwMDJFXHUwMDJFXHUwMDJFJywKICAnXHUyMDMzJzogJ1x1MjAzMlx1MjAzMicsCiAgJ1x1MjAzNCc6ICdcdTIwMzJcdTIwMzJcdTIwMzInLAogICdcdTIwMzYnOiAnXHUyMDM1XHUyMDM1JywKICAnXHUyMDM3JzogJ1x1MjAzNVx1MjAzNVx1MjAzNScsCiAgJ1x1MjAzQyc6ICdcdTAwMjFcdTAwMjEnLAogICdcdTIwM0UnOiAnXHUwMDIwXHUwMzA1JywKICAnXHUyMDQ3JzogJ1x1MDAzRlx1MDAzRicsCiAgJ1x1MjA0OCc6ICdcdTAwM0ZcdTAwMjEnLAogICdcdTIwNDknOiAnXHUwMDIxXHUwMDNGJywKICAnXHUyMDU3JzogJ1x1MjAzMlx1MjAzMlx1MjAzMlx1MjAzMicsCiAgJ1x1MjA1Ric6ICdcdTAwMjAnLAogICdcdTIwQTgnOiAnXHUwMDUyXHUwMDczJywKICAnXHUyMTAwJzogJ1x1MDA2MVx1MDAyRlx1MDA2MycsCiAgJ1x1MjEwMSc6ICdcdTAwNjFcdTAwMkZcdTAwNzMnLAogICdcdTIxMDMnOiAnXHUwMEIwXHUwMDQzJywKICAnXHUyMTA1JzogJ1x1MDA2M1x1MDAyRlx1MDA2RicsCiAgJ1x1MjEwNic6ICdcdTAwNjNcdTAwMkZcdTAwNzUnLAogICdcdTIxMDcnOiAnXHUwMTkwJywKICAnXHUyMTA5JzogJ1x1MDBCMFx1MDA0NicsCiAgJ1x1MjExNic6ICdcdTAwNEVcdTAwNkYnLAogICdcdTIxMjEnOiAnXHUwMDU0XHUwMDQ1XHUwMDRDJywKICAnXHUyMTM1JzogJ1x1MDVEMCcsCiAgJ1x1MjEzNic6ICdcdTA1RDEnLAogICdcdTIxMzcnOiAnXHUwNUQyJywKICAnXHUyMTM4JzogJ1x1MDVEMycsCiAgJ1x1MjEzQic6ICdcdTAwNDZcdTAwNDFcdTAwNTgnLAogICdcdTIxNjAnOiAnXHUwMDQ5JywKICAnXHUyMTYxJzogJ1x1MDA0OVx1MDA0OScsCiAgJ1x1MjE2Mic6ICdcdTAwNDlcdTAwNDlcdTAwNDknLAogICdcdTIxNjMnOiAnXHUwMDQ5XHUwMDU2JywKICAnXHUyMTY0JzogJ1x1MDA1NicsCiAgJ1x1MjE2NSc6ICdcdTAwNTZcdTAwNDknLAogICdcdTIxNjYnOiAnXHUwMDU2XHUwMDQ5XHUwMDQ5JywKICAnXHUyMTY3JzogJ1x1MDA1Nlx1MDA0OVx1MDA0OVx1MDA0OScsCiAgJ1x1MjE2OCc6ICdcdTAwNDlcdTAwNTgnLAogICdcdTIxNjknOiAnXHUwMDU4JywKICAnXHUyMTZBJzogJ1x1MDA1OFx1MDA0OScsCiAgJ1x1MjE2Qic6ICdcdTAwNThcdTAwNDlcdTAwNDknLAogICdcdTIxNkMnOiAnXHUwMDRDJywKICAnXHUyMTZEJzogJ1x1MDA0MycsCiAgJ1x1MjE2RSc6ICdcdTAwNDQnLAogICdcdTIxNkYnOiAnXHUwMDREJywKICAnXHUyMTcwJzogJ1x1MDA2OScsCiAgJ1x1MjE3MSc6ICdcdTAwNjlcdTAwNjknLAogICdcdTIxNzInOiAnXHUwMDY5XHUwMDY5XHUwMDY5JywKICAnXHUyMTczJzogJ1x1MDA2OVx1MDA3NicsCiAgJ1x1MjE3NCc6ICdcdTAwNzYnLAogICdcdTIxNzUnOiAnXHUwMDc2XHUwMDY5JywKICAnXHUyMTc2JzogJ1x1MDA3Nlx1MDA2OVx1MDA2OScsCiAgJ1x1MjE3Nyc6ICdcdTAwNzZcdTAwNjlcdTAwNjlcdTAwNjknLAogICdcdTIxNzgnOiAnXHUwMDY5XHUwMDc4JywKICAnXHUyMTc5JzogJ1x1MDA3OCcsCiAgJ1x1MjE3QSc6ICdcdTAwNzhcdTAwNjknLAogICdcdTIxN0InOiAnXHUwMDc4XHUwMDY5XHUwMDY5JywKICAnXHUyMTdDJzogJ1x1MDA2QycsCiAgJ1x1MjE3RCc6ICdcdTAwNjMnLAogICdcdTIxN0UnOiAnXHUwMDY0JywKICAnXHUyMTdGJzogJ1x1MDA2RCcsCiAgJ1x1MjIyQyc6ICdcdTIyMkJcdTIyMkInLAogICdcdTIyMkQnOiAnXHUyMjJCXHUyMjJCXHUyMjJCJywKICAnXHUyMjJGJzogJ1x1MjIyRVx1MjIyRScsCiAgJ1x1MjIzMCc6ICdcdTIyMkVcdTIyMkVcdTIyMkUnLAogICdcdTI0NzQnOiAnXHUwMDI4XHUwMDMxXHUwMDI5JywKICAnXHUyNDc1JzogJ1x1MDAyOFx1MDAzMlx1MDAyOScsCiAgJ1x1MjQ3Nic6ICdcdTAwMjhcdTAwMzNcdTAwMjknLAogICdcdTI0NzcnOiAnXHUwMDI4XHUwMDM0XHUwMDI5JywKICAnXHUyNDc4JzogJ1x1MDAyOFx1MDAzNVx1MDAyOScsCiAgJ1x1MjQ3OSc6ICdcdTAwMjhcdTAwMzZcdTAwMjknLAogICdcdTI0N0EnOiAnXHUwMDI4XHUwMDM3XHUwMDI5JywKICAnXHUyNDdCJzogJ1x1MDAyOFx1MDAzOFx1MDAyOScsCiAgJ1x1MjQ3Qyc6ICdcdTAwMjhcdTAwMzlcdTAwMjknLAogICdcdTI0N0QnOiAnXHUwMDI4XHUwMDMxXHUwMDMwXHUwMDI5JywKICAnXHUyNDdFJzogJ1x1MDAyOFx1MDAzMVx1MDAzMVx1MDAyOScsCiAgJ1x1MjQ3Ric6ICdcdTAwMjhcdTAwMzFcdTAwMzJcdTAwMjknLAogICdcdTI0ODAnOiAnXHUwMDI4XHUwMDMxXHUwMDMzXHUwMDI5JywKICAnXHUyNDgxJzogJ1x1MDAyOFx1MDAzMVx1MDAzNFx1MDAyOScsCiAgJ1x1MjQ4Mic6ICdcdTAwMjhcdTAwMzFcdTAwMzVcdTAwMjknLAogICdcdTI0ODMnOiAnXHUwMDI4XHUwMDMxXHUwMDM2XHUwMDI5JywKICAnXHUyNDg0JzogJ1x1MDAyOFx1MDAzMVx1MDAzN1x1MDAyOScsCiAgJ1x1MjQ4NSc6ICdcdTAwMjhcdTAwMzFcdTAwMzhcdTAwMjknLAogICdcdTI0ODYnOiAnXHUwMDI4XHUwMDMxXHUwMDM5XHUwMDI5JywKICAnXHUyNDg3JzogJ1x1MDAyOFx1MDAzMlx1MDAzMFx1MDAyOScsCiAgJ1x1MjQ4OCc6ICdcdTAwMzFcdTAwMkUnLAogICdcdTI0ODknOiAnXHUwMDMyXHUwMDJFJywKICAnXHUyNDhBJzogJ1x1MDAzM1x1MDAyRScsCiAgJ1x1MjQ4Qic6ICdcdTAwMzRcdTAwMkUnLAogICdcdTI0OEMnOiAnXHUwMDM1XHUwMDJFJywKICAnXHUyNDhEJzogJ1x1MDAzNlx1MDAyRScsCiAgJ1x1MjQ4RSc6ICdcdTAwMzdcdTAwMkUnLAogICdcdTI0OEYnOiAnXHUwMDM4XHUwMDJFJywKICAnXHUyNDkwJzogJ1x1MDAzOVx1MDAyRScsCiAgJ1x1MjQ5MSc6ICdcdTAwMzFcdTAwMzBcdTAwMkUnLAogICdcdTI0OTInOiAnXHUwMDMxXHUwMDMxXHUwMDJFJywKICAnXHUyNDkzJzogJ1x1MDAzMVx1MDAzMlx1MDAyRScsCiAgJ1x1MjQ5NCc6ICdcdTAwMzFcdTAwMzNcdTAwMkUnLAogICdcdTI0OTUnOiAnXHUwMDMxXHUwMDM0XHUwMDJFJywKICAnXHUyNDk2JzogJ1x1MDAzMVx1MDAzNVx1MDAyRScsCiAgJ1x1MjQ5Nyc6ICdcdTAwMzFcdTAwMzZcdTAwMkUnLAogICdcdTI0OTgnOiAnXHUwMDMxXHUwMDM3XHUwMDJFJywKICAnXHUyNDk5JzogJ1x1MDAzMVx1MDAzOFx1MDAyRScsCiAgJ1x1MjQ5QSc6ICdcdTAwMzFcdTAwMzlcdTAwMkUnLAogICdcdTI0OUInOiAnXHUwMDMyXHUwMDMwXHUwMDJFJywKICAnXHUyNDlDJzogJ1x1MDAyOFx1MDA2MVx1MDAyOScsCiAgJ1x1MjQ5RCc6ICdcdTAwMjhcdTAwNjJcdTAwMjknLAogICdcdTI0OUUnOiAnXHUwMDI4XHUwMDYzXHUwMDI5JywKICAnXHUyNDlGJzogJ1x1MDAyOFx1MDA2NFx1MDAyOScsCiAgJ1x1MjRBMCc6ICdcdTAwMjhcdTAwNjVcdTAwMjknLAogICdcdTI0QTEnOiAnXHUwMDI4XHUwMDY2XHUwMDI5JywKICAnXHUyNEEyJzogJ1x1MDAyOFx1MDA2N1x1MDAyOScsCiAgJ1x1MjRBMyc6ICdcdTAwMjhcdTAwNjhcdTAwMjknLAogICdcdTI0QTQnOiAnXHUwMDI4XHUwMDY5XHUwMDI5JywKICAnXHUyNEE1JzogJ1x1MDAyOFx1MDA2QVx1MDAyOScsCiAgJ1x1MjRBNic6ICdcdTAwMjhcdTAwNkJcdTAwMjknLAogICdcdTI0QTcnOiAnXHUwMDI4XHUwMDZDXHUwMDI5JywKICAnXHUyNEE4JzogJ1x1MDAyOFx1MDA2RFx1MDAyOScsCiAgJ1x1MjRBOSc6ICdcdTAwMjhcdTAwNkVcdTAwMjknLAogICdcdTI0QUEnOiAnXHUwMDI4XHUwMDZGXHUwMDI5JywKICAnXHUyNEFCJzogJ1x1MDAyOFx1MDA3MFx1MDAyOScsCiAgJ1x1MjRBQyc6ICdcdTAwMjhcdTAwNzFcdTAwMjknLAogICdcdTI0QUQnOiAnXHUwMDI4XHUwMDcyXHUwMDI5JywKICAnXHUyNEFFJzogJ1x1MDAyOFx1MDA3M1x1MDAyOScsCiAgJ1x1MjRBRic6ICdcdTAwMjhcdTAwNzRcdTAwMjknLAogICdcdTI0QjAnOiAnXHUwMDI4XHUwMDc1XHUwMDI5JywKICAnXHUyNEIxJzogJ1x1MDAyOFx1MDA3Nlx1MDAyOScsCiAgJ1x1MjRCMic6ICdcdTAwMjhcdTAwNzdcdTAwMjknLAogICdcdTI0QjMnOiAnXHUwMDI4XHUwMDc4XHUwMDI5JywKICAnXHUyNEI0JzogJ1x1MDAyOFx1MDA3OVx1MDAyOScsCiAgJ1x1MjRCNSc6ICdcdTAwMjhcdTAwN0FcdTAwMjknLAogICdcdTJBMEMnOiAnXHUyMjJCXHUyMjJCXHUyMjJCXHUyMjJCJywKICAnXHUyQTc0JzogJ1x1MDAzQVx1MDAzQVx1MDAzRCcsCiAgJ1x1MkE3NSc6ICdcdTAwM0RcdTAwM0QnLAogICdcdTJBNzYnOiAnXHUwMDNEXHUwMDNEXHUwMDNEJywKICAnXHUyRTlGJzogJ1x1NkJDRCcsCiAgJ1x1MkVGMyc6ICdcdTlGOUYnLAogICdcdTJGMDAnOiAnXHU0RTAwJywKICAnXHUyRjAxJzogJ1x1NEUyOCcsCiAgJ1x1MkYwMic6ICdcdTRFMzYnLAogICdcdTJGMDMnOiAnXHU0RTNGJywKICAnXHUyRjA0JzogJ1x1NEU1OScsCiAgJ1x1MkYwNSc6ICdcdTRFODUnLAogICdcdTJGMDYnOiAnXHU0RThDJywKICAnXHUyRjA3JzogJ1x1NEVBMCcsCiAgJ1x1MkYwOCc6ICdcdTRFQkEnLAogICdcdTJGMDknOiAnXHU1MTNGJywKICAnXHUyRjBBJzogJ1x1NTE2NScsCiAgJ1x1MkYwQic6ICdcdTUxNkInLAogICdcdTJGMEMnOiAnXHU1MTgyJywKICAnXHUyRjBEJzogJ1x1NTE5NicsCiAgJ1x1MkYwRSc6ICdcdTUxQUInLAogICdcdTJGMEYnOiAnXHU1MUUwJywKICAnXHUyRjEwJzogJ1x1NTFGNScsCiAgJ1x1MkYxMSc6ICdcdTUyMDAnLAogICdcdTJGMTInOiAnXHU1MjlCJywKICAnXHUyRjEzJzogJ1x1NTJGOScsCiAgJ1x1MkYxNCc6ICdcdTUzMTUnLAogICdcdTJGMTUnOiAnXHU1MzFBJywKICAnXHUyRjE2JzogJ1x1NTMzOCcsCiAgJ1x1MkYxNyc6ICdcdTUzNDEnLAogICdcdTJGMTgnOiAnXHU1MzVDJywKICAnXHUyRjE5JzogJ1x1NTM2OScsCiAgJ1x1MkYxQSc6ICdcdTUzODInLAogICdcdTJGMUInOiAnXHU1M0I2JywKICAnXHUyRjFDJzogJ1x1NTNDOCcsCiAgJ1x1MkYxRCc6ICdcdTUzRTMnLAogICdcdTJGMUUnOiAnXHU1NkQ3JywKICAnXHUyRjFGJzogJ1x1NTcxRicsCiAgJ1x1MkYyMCc6ICdcdTU4RUInLAogICdcdTJGMjEnOiAnXHU1OTAyJywKICAnXHUyRjIyJzogJ1x1NTkwQScsCiAgJ1x1MkYyMyc6ICdcdTU5MTUnLAogICdcdTJGMjQnOiAnXHU1OTI3JywKICAnXHUyRjI1JzogJ1x1NTk3MycsCiAgJ1x1MkYyNic6ICdcdTVCNTAnLAogICdcdTJGMjcnOiAnXHU1QjgwJywKICAnXHUyRjI4JzogJ1x1NUJGOCcsCiAgJ1x1MkYyOSc6ICdcdTVDMEYnLAogICdcdTJGMkEnOiAnXHU1QzIyJywKICAnXHUyRjJCJzogJ1x1NUMzOCcsCiAgJ1x1MkYyQyc6ICdcdTVDNkUnLAogICdcdTJGMkQnOiAnXHU1QzcxJywKICAnXHUyRjJFJzogJ1x1NUREQicsCiAgJ1x1MkYyRic6ICdcdTVERTUnLAogICdcdTJGMzAnOiAnXHU1REYxJywKICAnXHUyRjMxJzogJ1x1NURGRScsCiAgJ1x1MkYzMic6ICdcdTVFNzInLAogICdcdTJGMzMnOiAnXHU1RTdBJywKICAnXHUyRjM0JzogJ1x1NUU3RicsCiAgJ1x1MkYzNSc6ICdcdTVFRjQnLAogICdcdTJGMzYnOiAnXHU1RUZFJywKICAnXHUyRjM3JzogJ1x1NUYwQicsCiAgJ1x1MkYzOCc6ICdcdTVGMTMnLAogICdcdTJGMzknOiAnXHU1RjUwJywKICAnXHUyRjNBJzogJ1x1NUY2MScsCiAgJ1x1MkYzQic6ICdcdTVGNzMnLAogICdcdTJGM0MnOiAnXHU1RkMzJywKICAnXHUyRjNEJzogJ1x1NjIwOCcsCiAgJ1x1MkYzRSc6ICdcdTYyMzYnLAogICdcdTJGM0YnOiAnXHU2MjRCJywKICAnXHUyRjQwJzogJ1x1NjUyRicsCiAgJ1x1MkY0MSc6ICdcdTY1MzQnLAogICdcdTJGNDInOiAnXHU2NTg3JywKICAnXHUyRjQzJzogJ1x1NjU5NycsCiAgJ1x1MkY0NCc6ICdcdTY1QTQnLAogICdcdTJGNDUnOiAnXHU2NUI5JywKICAnXHUyRjQ2JzogJ1x1NjVFMCcsCiAgJ1x1MkY0Nyc6ICdcdTY1RTUnLAogICdcdTJGNDgnOiAnXHU2NkYwJywKICAnXHUyRjQ5JzogJ1x1NjcwOCcsCiAgJ1x1MkY0QSc6ICdcdTY3MjgnLAogICdcdTJGNEInOiAnXHU2QjIwJywKICAnXHUyRjRDJzogJ1x1NkI2MicsCiAgJ1x1MkY0RCc6ICdcdTZCNzknLAogICdcdTJGNEUnOiAnXHU2QkIzJywKICAnXHUyRjRGJzogJ1x1NkJDQicsCiAgJ1x1MkY1MCc6ICdcdTZCRDQnLAogICdcdTJGNTEnOiAnXHU2QkRCJywKICAnXHUyRjUyJzogJ1x1NkMwRicsCiAgJ1x1MkY1Myc6ICdcdTZDMTQnLAogICdcdTJGNTQnOiAnXHU2QzM0JywKICAnXHUyRjU1JzogJ1x1NzA2QicsCiAgJ1x1MkY1Nic6ICdcdTcyMkEnLAogICdcdTJGNTcnOiAnXHU3MjM2JywKICAnXHUyRjU4JzogJ1x1NzIzQicsCiAgJ1x1MkY1OSc6ICdcdTcyM0YnLAogICdcdTJGNUEnOiAnXHU3MjQ3JywKICAnXHUyRjVCJzogJ1x1NzI1OScsCiAgJ1x1MkY1Qyc6ICdcdTcyNUInLAogICdcdTJGNUQnOiAnXHU3MkFDJywKICAnXHUyRjVFJzogJ1x1NzM4NCcsCiAgJ1x1MkY1Ric6ICdcdTczODknLAogICdcdTJGNjAnOiAnXHU3NERDJywKICAnXHUyRjYxJzogJ1x1NzRFNicsCiAgJ1x1MkY2Mic6ICdcdTc1MTgnLAogICdcdTJGNjMnOiAnXHU3NTFGJywKICAnXHUyRjY0JzogJ1x1NzUyOCcsCiAgJ1x1MkY2NSc6ICdcdTc1MzAnLAogICdcdTJGNjYnOiAnXHU3NThCJywKICAnXHUyRjY3JzogJ1x1NzU5MicsCiAgJ1x1MkY2OCc6ICdcdTc2NzYnLAogICdcdTJGNjknOiAnXHU3NjdEJywKICAnXHUyRjZBJzogJ1x1NzZBRScsCiAgJ1x1MkY2Qic6ICdcdTc2QkYnLAogICdcdTJGNkMnOiAnXHU3NkVFJywKICAnXHUyRjZEJzogJ1x1NzdEQicsCiAgJ1x1MkY2RSc6ICdcdTc3RTInLAogICdcdTJGNkYnOiAnXHU3N0YzJywKICAnXHUyRjcwJzogJ1x1NzkzQScsCiAgJ1x1MkY3MSc6ICdcdTc5QjgnLAogICdcdTJGNzInOiAnXHU3OUJFJywKICAnXHUyRjczJzogJ1x1N0E3NCcsCiAgJ1x1MkY3NCc6ICdcdTdBQ0InLAogICdcdTJGNzUnOiAnXHU3QUY5JywKICAnXHUyRjc2JzogJ1x1N0M3MycsCiAgJ1x1MkY3Nyc6ICdcdTdDRjgnLAogICdcdTJGNzgnOiAnXHU3RjM2JywKICAnXHUyRjc5JzogJ1x1N0Y1MScsCiAgJ1x1MkY3QSc6ICdcdTdGOEEnLAogICdcdTJGN0InOiAnXHU3RkJEJywKICAnXHUyRjdDJzogJ1x1ODAwMScsCiAgJ1x1MkY3RCc6ICdcdTgwMEMnLAogICdcdTJGN0UnOiAnXHU4MDEyJywKICAnXHUyRjdGJzogJ1x1ODAzMycsCiAgJ1x1MkY4MCc6ICdcdTgwN0YnLAogICdcdTJGODEnOiAnXHU4MDg5JywKICAnXHUyRjgyJzogJ1x1ODFFMycsCiAgJ1x1MkY4Myc6ICdcdTgxRUEnLAogICdcdTJGODQnOiAnXHU4MUYzJywKICAnXHUyRjg1JzogJ1x1ODFGQycsCiAgJ1x1MkY4Nic6ICdcdTgyMEMnLAogICdcdTJGODcnOiAnXHU4MjFCJywKICAnXHUyRjg4JzogJ1x1ODIxRicsCiAgJ1x1MkY4OSc6ICdcdTgyNkUnLAogICdcdTJGOEEnOiAnXHU4MjcyJywKICAnXHUyRjhCJzogJ1x1ODI3OCcsCiAgJ1x1MkY4Qyc6ICdcdTg2NEQnLAogICdcdTJGOEQnOiAnXHU4NjZCJywKICAnXHUyRjhFJzogJ1x1ODg0MCcsCiAgJ1x1MkY4Ric6ICdcdTg4NEMnLAogICdcdTJGOTAnOiAnXHU4ODYzJywKICAnXHUyRjkxJzogJ1x1ODk3RScsCiAgJ1x1MkY5Mic6ICdcdTg5OEInLAogICdcdTJGOTMnOiAnXHU4OUQyJywKICAnXHUyRjk0JzogJ1x1OEEwMCcsCiAgJ1x1MkY5NSc6ICdcdThDMzcnLAogICdcdTJGOTYnOiAnXHU4QzQ2JywKICAnXHUyRjk3JzogJ1x1OEM1NScsCiAgJ1x1MkY5OCc6ICdcdThDNzgnLAogICdcdTJGOTknOiAnXHU4QzlEJywKICAnXHUyRjlBJzogJ1x1OEQ2NCcsCiAgJ1x1MkY5Qic6ICdcdThENzAnLAogICdcdTJGOUMnOiAnXHU4REIzJywKICAnXHUyRjlEJzogJ1x1OEVBQicsCiAgJ1x1MkY5RSc6ICdcdThFQ0EnLAogICdcdTJGOUYnOiAnXHU4RjlCJywKICAnXHUyRkEwJzogJ1x1OEZCMCcsCiAgJ1x1MkZBMSc6ICdcdThGQjUnLAogICdcdTJGQTInOiAnXHU5MDkxJywKICAnXHUyRkEzJzogJ1x1OTE0OScsCiAgJ1x1MkZBNCc6ICdcdTkxQzYnLAogICdcdTJGQTUnOiAnXHU5MUNDJywKICAnXHUyRkE2JzogJ1x1OTFEMScsCiAgJ1x1MkZBNyc6ICdcdTk1NzcnLAogICdcdTJGQTgnOiAnXHU5NTgwJywKICAnXHUyRkE5JzogJ1x1OTYxQycsCiAgJ1x1MkZBQSc6ICdcdTk2QjYnLAogICdcdTJGQUInOiAnXHU5NkI5JywKICAnXHUyRkFDJzogJ1x1OTZFOCcsCiAgJ1x1MkZBRCc6ICdcdTk3NTEnLAogICdcdTJGQUUnOiAnXHU5NzVFJywKICAnXHUyRkFGJzogJ1x1OTc2MicsCiAgJ1x1MkZCMCc6ICdcdTk3NjknLAogICdcdTJGQjEnOiAnXHU5N0NCJywKICAnXHUyRkIyJzogJ1x1OTdFRCcsCiAgJ1x1MkZCMyc6ICdcdTk3RjMnLAogICdcdTJGQjQnOiAnXHU5ODAxJywKICAnXHUyRkI1JzogJ1x1OThBOCcsCiAgJ1x1MkZCNic6ICdcdTk4REInLAogICdcdTJGQjcnOiAnXHU5OERGJywKICAnXHUyRkI4JzogJ1x1OTk5NicsCiAgJ1x1MkZCOSc6ICdcdTk5OTknLAogICdcdTJGQkEnOiAnXHU5OUFDJywKICAnXHUyRkJCJzogJ1x1OUFBOCcsCiAgJ1x1MkZCQyc6ICdcdTlBRDgnLAogICdcdTJGQkQnOiAnXHU5QURGJywKICAnXHUyRkJFJzogJ1x1OUIyNScsCiAgJ1x1MkZCRic6ICdcdTlCMkYnLAogICdcdTJGQzAnOiAnXHU5QjMyJywKICAnXHUyRkMxJzogJ1x1OUIzQycsCiAgJ1x1MkZDMic6ICdcdTlCNUEnLAogICdcdTJGQzMnOiAnXHU5Q0U1JywKICAnXHUyRkM0JzogJ1x1OUU3NScsCiAgJ1x1MkZDNSc6ICdcdTlFN0YnLAogICdcdTJGQzYnOiAnXHU5RUE1JywKICAnXHUyRkM3JzogJ1x1OUVCQicsCiAgJ1x1MkZDOCc6ICdcdTlFQzMnLAogICdcdTJGQzknOiAnXHU5RUNEJywKICAnXHUyRkNBJzogJ1x1OUVEMScsCiAgJ1x1MkZDQic6ICdcdTlFRjknLAogICdcdTJGQ0MnOiAnXHU5RUZEJywKICAnXHUyRkNEJzogJ1x1OUYwRScsCiAgJ1x1MkZDRSc6ICdcdTlGMTMnLAogICdcdTJGQ0YnOiAnXHU5RjIwJywKICAnXHUyRkQwJzogJ1x1OUYzQicsCiAgJ1x1MkZEMSc6ICdcdTlGNEEnLAogICdcdTJGRDInOiAnXHU5RjUyJywKICAnXHUyRkQzJzogJ1x1OUY4RCcsCiAgJ1x1MkZENCc6ICdcdTlGOUMnLAogICdcdTJGRDUnOiAnXHU5RkEwJywKICAnXHUzMDM2JzogJ1x1MzAxMicsCiAgJ1x1MzAzOCc6ICdcdTUzNDEnLAogICdcdTMwMzknOiAnXHU1MzQ0JywKICAnXHUzMDNBJzogJ1x1NTM0NScsCiAgJ1x1MzA5Qic6ICdcdTAwMjBcdTMwOTknLAogICdcdTMwOUMnOiAnXHUwMDIwXHUzMDlBJywKICAnXHUzMTMxJzogJ1x1MTEwMCcsCiAgJ1x1MzEzMic6ICdcdTExMDEnLAogICdcdTMxMzMnOiAnXHUxMUFBJywKICAnXHUzMTM0JzogJ1x1MTEwMicsCiAgJ1x1MzEzNSc6ICdcdTExQUMnLAogICdcdTMxMzYnOiAnXHUxMUFEJywKICAnXHUzMTM3JzogJ1x1MTEwMycsCiAgJ1x1MzEzOCc6ICdcdTExMDQnLAogICdcdTMxMzknOiAnXHUxMTA1JywKICAnXHUzMTNBJzogJ1x1MTFCMCcsCiAgJ1x1MzEzQic6ICdcdTExQjEnLAogICdcdTMxM0MnOiAnXHUxMUIyJywKICAnXHUzMTNEJzogJ1x1MTFCMycsCiAgJ1x1MzEzRSc6ICdcdTExQjQnLAogICdcdTMxM0YnOiAnXHUxMUI1JywKICAnXHUzMTQwJzogJ1x1MTExQScsCiAgJ1x1MzE0MSc6ICdcdTExMDYnLAogICdcdTMxNDInOiAnXHUxMTA3JywKICAnXHUzMTQzJzogJ1x1MTEwOCcsCiAgJ1x1MzE0NCc6ICdcdTExMjEnLAogICdcdTMxNDUnOiAnXHUxMTA5JywKICAnXHUzMTQ2JzogJ1x1MTEwQScsCiAgJ1x1MzE0Nyc6ICdcdTExMEInLAogICdcdTMxNDgnOiAnXHUxMTBDJywKICAnXHUzMTQ5JzogJ1x1MTEwRCcsCiAgJ1x1MzE0QSc6ICdcdTExMEUnLAogICdcdTMxNEInOiAnXHUxMTBGJywKICAnXHUzMTRDJzogJ1x1MTExMCcsCiAgJ1x1MzE0RCc6ICdcdTExMTEnLAogICdcdTMxNEUnOiAnXHUxMTEyJywKICAnXHUzMTRGJzogJ1x1MTE2MScsCiAgJ1x1MzE1MCc6ICdcdTExNjInLAogICdcdTMxNTEnOiAnXHUxMTYzJywKICAnXHUzMTUyJzogJ1x1MTE2NCcsCiAgJ1x1MzE1Myc6ICdcdTExNjUnLAogICdcdTMxNTQnOiAnXHUxMTY2JywKICAnXHUzMTU1JzogJ1x1MTE2NycsCiAgJ1x1MzE1Nic6ICdcdTExNjgnLAogICdcdTMxNTcnOiAnXHUxMTY5JywKICAnXHUzMTU4JzogJ1x1MTE2QScsCiAgJ1x1MzE1OSc6ICdcdTExNkInLAogICdcdTMxNUEnOiAnXHUxMTZDJywKICAnXHUzMTVCJzogJ1x1MTE2RCcsCiAgJ1x1MzE1Qyc6ICdcdTExNkUnLAogICdcdTMxNUQnOiAnXHUxMTZGJywKICAnXHUzMTVFJzogJ1x1MTE3MCcsCiAgJ1x1MzE1Ric6ICdcdTExNzEnLAogICdcdTMxNjAnOiAnXHUxMTcyJywKICAnXHUzMTYxJzogJ1x1MTE3MycsCiAgJ1x1MzE2Mic6ICdcdTExNzQnLAogICdcdTMxNjMnOiAnXHUxMTc1JywKICAnXHUzMTY0JzogJ1x1MTE2MCcsCiAgJ1x1MzE2NSc6ICdcdTExMTQnLAogICdcdTMxNjYnOiAnXHUxMTE1JywKICAnXHUzMTY3JzogJ1x1MTFDNycsCiAgJ1x1MzE2OCc6ICdcdTExQzgnLAogICdcdTMxNjknOiAnXHUxMUNDJywKICAnXHUzMTZBJzogJ1x1MTFDRScsCiAgJ1x1MzE2Qic6ICdcdTExRDMnLAogICdcdTMxNkMnOiAnXHUxMUQ3JywKICAnXHUzMTZEJzogJ1x1MTFEOScsCiAgJ1x1MzE2RSc6ICdcdTExMUMnLAogICdcdTMxNkYnOiAnXHUxMUREJywKICAnXHUzMTcwJzogJ1x1MTFERicsCiAgJ1x1MzE3MSc6ICdcdTExMUQnLAogICdcdTMxNzInOiAnXHUxMTFFJywKICAnXHUzMTczJzogJ1x1MTEyMCcsCiAgJ1x1MzE3NCc6ICdcdTExMjInLAogICdcdTMxNzUnOiAnXHUxMTIzJywKICAnXHUzMTc2JzogJ1x1MTEyNycsCiAgJ1x1MzE3Nyc6ICdcdTExMjknLAogICdcdTMxNzgnOiAnXHUxMTJCJywKICAnXHUzMTc5JzogJ1x1MTEyQycsCiAgJ1x1MzE3QSc6ICdcdTExMkQnLAogICdcdTMxN0InOiAnXHUxMTJFJywKICAnXHUzMTdDJzogJ1x1MTEyRicsCiAgJ1x1MzE3RCc6ICdcdTExMzInLAogICdcdTMxN0UnOiAnXHUxMTM2JywKICAnXHUzMTdGJzogJ1x1MTE0MCcsCiAgJ1x1MzE4MCc6ICdcdTExNDcnLAogICdcdTMxODEnOiAnXHUxMTRDJywKICAnXHUzMTgyJzogJ1x1MTFGMScsCiAgJ1x1MzE4Myc6ICdcdTExRjInLAogICdcdTMxODQnOiAnXHUxMTU3JywKICAnXHUzMTg1JzogJ1x1MTE1OCcsCiAgJ1x1MzE4Nic6ICdcdTExNTknLAogICdcdTMxODcnOiAnXHUxMTg0JywKICAnXHUzMTg4JzogJ1x1MTE4NScsCiAgJ1x1MzE4OSc6ICdcdTExODgnLAogICdcdTMxOEEnOiAnXHUxMTkxJywKICAnXHUzMThCJzogJ1x1MTE5MicsCiAgJ1x1MzE4Qyc6ICdcdTExOTQnLAogICdcdTMxOEQnOiAnXHUxMTlFJywKICAnXHUzMThFJzogJ1x1MTFBMScsCiAgJ1x1MzIwMCc6ICdcdTAwMjhcdTExMDBcdTAwMjknLAogICdcdTMyMDEnOiAnXHUwMDI4XHUxMTAyXHUwMDI5JywKICAnXHUzMjAyJzogJ1x1MDAyOFx1MTEwM1x1MDAyOScsCiAgJ1x1MzIwMyc6ICdcdTAwMjhcdTExMDVcdTAwMjknLAogICdcdTMyMDQnOiAnXHUwMDI4XHUxMTA2XHUwMDI5JywKICAnXHUzMjA1JzogJ1x1MDAyOFx1MTEwN1x1MDAyOScsCiAgJ1x1MzIwNic6ICdcdTAwMjhcdTExMDlcdTAwMjknLAogICdcdTMyMDcnOiAnXHUwMDI4XHUxMTBCXHUwMDI5JywKICAnXHUzMjA4JzogJ1x1MDAyOFx1MTEwQ1x1MDAyOScsCiAgJ1x1MzIwOSc6ICdcdTAwMjhcdTExMEVcdTAwMjknLAogICdcdTMyMEEnOiAnXHUwMDI4XHUxMTBGXHUwMDI5JywKICAnXHUzMjBCJzogJ1x1MDAyOFx1MTExMFx1MDAyOScsCiAgJ1x1MzIwQyc6ICdcdTAwMjhcdTExMTFcdTAwMjknLAogICdcdTMyMEQnOiAnXHUwMDI4XHUxMTEyXHUwMDI5JywKICAnXHUzMjBFJzogJ1x1MDAyOFx1MTEwMFx1MTE2MVx1MDAyOScsCiAgJ1x1MzIwRic6ICdcdTAwMjhcdTExMDJcdTExNjFcdTAwMjknLAogICdcdTMyMTAnOiAnXHUwMDI4XHUxMTAzXHUxMTYxXHUwMDI5JywKICAnXHUzMjExJzogJ1x1MDAyOFx1MTEwNVx1MTE2MVx1MDAyOScsCiAgJ1x1MzIxMic6ICdcdTAwMjhcdTExMDZcdTExNjFcdTAwMjknLAogICdcdTMyMTMnOiAnXHUwMDI4XHUxMTA3XHUxMTYxXHUwMDI5JywKICAnXHUzMjE0JzogJ1x1MDAyOFx1MTEwOVx1MTE2MVx1MDAyOScsCiAgJ1x1MzIxNSc6ICdcdTAwMjhcdTExMEJcdTExNjFcdTAwMjknLAogICdcdTMyMTYnOiAnXHUwMDI4XHUxMTBDXHUxMTYxXHUwMDI5JywKICAnXHUzMjE3JzogJ1x1MDAyOFx1MTEwRVx1MTE2MVx1MDAyOScsCiAgJ1x1MzIxOCc6ICdcdTAwMjhcdTExMEZcdTExNjFcdTAwMjknLAogICdcdTMyMTknOiAnXHUwMDI4XHUxMTEwXHUxMTYxXHUwMDI5JywKICAnXHUzMjFBJzogJ1x1MDAyOFx1MTExMVx1MTE2MVx1MDAyOScsCiAgJ1x1MzIxQic6ICdcdTAwMjhcdTExMTJcdTExNjFcdTAwMjknLAogICdcdTMyMUMnOiAnXHUwMDI4XHUxMTBDXHUxMTZFXHUwMDI5JywKICAnXHUzMjFEJzogJ1x1MDAyOFx1MTEwQlx1MTE2OVx1MTEwQ1x1MTE2NVx1MTFBQlx1MDAyOScsCiAgJ1x1MzIxRSc6ICdcdTAwMjhcdTExMEJcdTExNjlcdTExMTJcdTExNkVcdTAwMjknLAogICdcdTMyMjAnOiAnXHUwMDI4XHU0RTAwXHUwMDI5JywKICAnXHUzMjIxJzogJ1x1MDAyOFx1NEU4Q1x1MDAyOScsCiAgJ1x1MzIyMic6ICdcdTAwMjhcdTRFMDlcdTAwMjknLAogICdcdTMyMjMnOiAnXHUwMDI4XHU1NkRCXHUwMDI5JywKICAnXHUzMjI0JzogJ1x1MDAyOFx1NEU5NFx1MDAyOScsCiAgJ1x1MzIyNSc6ICdcdTAwMjhcdTUxNkRcdTAwMjknLAogICdcdTMyMjYnOiAnXHUwMDI4XHU0RTAzXHUwMDI5JywKICAnXHUzMjI3JzogJ1x1MDAyOFx1NTE2Qlx1MDAyOScsCiAgJ1x1MzIyOCc6ICdcdTAwMjhcdTRFNURcdTAwMjknLAogICdcdTMyMjknOiAnXHUwMDI4XHU1MzQxXHUwMDI5JywKICAnXHUzMjJBJzogJ1x1MDAyOFx1NjcwOFx1MDAyOScsCiAgJ1x1MzIyQic6ICdcdTAwMjhcdTcwNkJcdTAwMjknLAogICdcdTMyMkMnOiAnXHUwMDI4XHU2QzM0XHUwMDI5JywKICAnXHUzMjJEJzogJ1x1MDAyOFx1NjcyOFx1MDAyOScsCiAgJ1x1MzIyRSc6ICdcdTAwMjhcdTkxRDFcdTAwMjknLAogICdcdTMyMkYnOiAnXHUwMDI4XHU1NzFGXHUwMDI5JywKICAnXHUzMjMwJzogJ1x1MDAyOFx1NjVFNVx1MDAyOScsCiAgJ1x1MzIzMSc6ICdcdTAwMjhcdTY4MkFcdTAwMjknLAogICdcdTMyMzInOiAnXHUwMDI4XHU2NzA5XHUwMDI5JywKICAnXHUzMjMzJzogJ1x1MDAyOFx1NzkzRVx1MDAyOScsCiAgJ1x1MzIzNCc6ICdcdTAwMjhcdTU0MERcdTAwMjknLAogICdcdTMyMzUnOiAnXHUwMDI4XHU3Mjc5XHUwMDI5JywKICAnXHUzMjM2JzogJ1x1MDAyOFx1OENBMVx1MDAyOScsCiAgJ1x1MzIzNyc6ICdcdTAwMjhcdTc5NURcdTAwMjknLAogICdcdTMyMzgnOiAnXHUwMDI4XHU1MkI0XHUwMDI5JywKICAnXHUzMjM5JzogJ1x1MDAyOFx1NEVFM1x1MDAyOScsCiAgJ1x1MzIzQSc6ICdcdTAwMjhcdTU0N0NcdTAwMjknLAogICdcdTMyM0InOiAnXHUwMDI4XHU1QjY2XHUwMDI5JywKICAnXHUzMjNDJzogJ1x1MDAyOFx1NzZFM1x1MDAyOScsCiAgJ1x1MzIzRCc6ICdcdTAwMjhcdTRGMDFcdTAwMjknLAogICdcdTMyM0UnOiAnXHUwMDI4XHU4Q0M3XHUwMDI5JywKICAnXHUzMjNGJzogJ1x1MDAyOFx1NTM1NFx1MDAyOScsCiAgJ1x1MzI0MCc6ICdcdTAwMjhcdTc5NkRcdTAwMjknLAogICdcdTMyNDEnOiAnXHUwMDI4XHU0RjExXHUwMDI5JywKICAnXHUzMjQyJzogJ1x1MDAyOFx1ODFFQVx1MDAyOScsCiAgJ1x1MzI0Myc6ICdcdTAwMjhcdTgxRjNcdTAwMjknLAogICdcdTMyQzAnOiAnXHUwMDMxXHU2NzA4JywKICAnXHUzMkMxJzogJ1x1MDAzMlx1NjcwOCcsCiAgJ1x1MzJDMic6ICdcdTAwMzNcdTY3MDgnLAogICdcdTMyQzMnOiAnXHUwMDM0XHU2NzA4JywKICAnXHUzMkM0JzogJ1x1MDAzNVx1NjcwOCcsCiAgJ1x1MzJDNSc6ICdcdTAwMzZcdTY3MDgnLAogICdcdTMyQzYnOiAnXHUwMDM3XHU2NzA4JywKICAnXHUzMkM3JzogJ1x1MDAzOFx1NjcwOCcsCiAgJ1x1MzJDOCc6ICdcdTAwMzlcdTY3MDgnLAogICdcdTMyQzknOiAnXHUwMDMxXHUwMDMwXHU2NzA4JywKICAnXHUzMkNBJzogJ1x1MDAzMVx1MDAzMVx1NjcwOCcsCiAgJ1x1MzJDQic6ICdcdTAwMzFcdTAwMzJcdTY3MDgnLAogICdcdTMzNTgnOiAnXHUwMDMwXHU3MEI5JywKICAnXHUzMzU5JzogJ1x1MDAzMVx1NzBCOScsCiAgJ1x1MzM1QSc6ICdcdTAwMzJcdTcwQjknLAogICdcdTMzNUInOiAnXHUwMDMzXHU3MEI5JywKICAnXHUzMzVDJzogJ1x1MDAzNFx1NzBCOScsCiAgJ1x1MzM1RCc6ICdcdTAwMzVcdTcwQjknLAogICdcdTMzNUUnOiAnXHUwMDM2XHU3MEI5JywKICAnXHUzMzVGJzogJ1x1MDAzN1x1NzBCOScsCiAgJ1x1MzM2MCc6ICdcdTAwMzhcdTcwQjknLAogICdcdTMzNjEnOiAnXHUwMDM5XHU3MEI5JywKICAnXHUzMzYyJzogJ1x1MDAzMVx1MDAzMFx1NzBCOScsCiAgJ1x1MzM2Myc6ICdcdTAwMzFcdTAwMzFcdTcwQjknLAogICdcdTMzNjQnOiAnXHUwMDMxXHUwMDMyXHU3MEI5JywKICAnXHUzMzY1JzogJ1x1MDAzMVx1MDAzM1x1NzBCOScsCiAgJ1x1MzM2Nic6ICdcdTAwMzFcdTAwMzRcdTcwQjknLAogICdcdTMzNjcnOiAnXHUwMDMxXHUwMDM1XHU3MEI5JywKICAnXHUzMzY4JzogJ1x1MDAzMVx1MDAzNlx1NzBCOScsCiAgJ1x1MzM2OSc6ICdcdTAwMzFcdTAwMzdcdTcwQjknLAogICdcdTMzNkEnOiAnXHUwMDMxXHUwMDM4XHU3MEI5JywKICAnXHUzMzZCJzogJ1x1MDAzMVx1MDAzOVx1NzBCOScsCiAgJ1x1MzM2Qyc6ICdcdTAwMzJcdTAwMzBcdTcwQjknLAogICdcdTMzNkQnOiAnXHUwMDMyXHUwMDMxXHU3MEI5JywKICAnXHUzMzZFJzogJ1x1MDAzMlx1MDAzMlx1NzBCOScsCiAgJ1x1MzM2Ric6ICdcdTAwMzJcdTAwMzNcdTcwQjknLAogICdcdTMzNzAnOiAnXHUwMDMyXHUwMDM0XHU3MEI5JywKICAnXHUzM0UwJzogJ1x1MDAzMVx1NjVFNScsCiAgJ1x1MzNFMSc6ICdcdTAwMzJcdTY1RTUnLAogICdcdTMzRTInOiAnXHUwMDMzXHU2NUU1JywKICAnXHUzM0UzJzogJ1x1MDAzNFx1NjVFNScsCiAgJ1x1MzNFNCc6ICdcdTAwMzVcdTY1RTUnLAogICdcdTMzRTUnOiAnXHUwMDM2XHU2NUU1JywKICAnXHUzM0U2JzogJ1x1MDAzN1x1NjVFNScsCiAgJ1x1MzNFNyc6ICdcdTAwMzhcdTY1RTUnLAogICdcdTMzRTgnOiAnXHUwMDM5XHU2NUU1JywKICAnXHUzM0U5JzogJ1x1MDAzMVx1MDAzMFx1NjVFNScsCiAgJ1x1MzNFQSc6ICdcdTAwMzFcdTAwMzFcdTY1RTUnLAogICdcdTMzRUInOiAnXHUwMDMxXHUwMDMyXHU2NUU1JywKICAnXHUzM0VDJzogJ1x1MDAzMVx1MDAzM1x1NjVFNScsCiAgJ1x1MzNFRCc6ICdcdTAwMzFcdTAwMzRcdTY1RTUnLAogICdcdTMzRUUnOiAnXHUwMDMxXHUwMDM1XHU2NUU1JywKICAnXHUzM0VGJzogJ1x1MDAzMVx1MDAzNlx1NjVFNScsCiAgJ1x1MzNGMCc6ICdcdTAwMzFcdTAwMzdcdTY1RTUnLAogICdcdTMzRjEnOiAnXHUwMDMxXHUwMDM4XHU2NUU1JywKICAnXHUzM0YyJzogJ1x1MDAzMVx1MDAzOVx1NjVFNScsCiAgJ1x1MzNGMyc6ICdcdTAwMzJcdTAwMzBcdTY1RTUnLAogICdcdTMzRjQnOiAnXHUwMDMyXHUwMDMxXHU2NUU1JywKICAnXHUzM0Y1JzogJ1x1MDAzMlx1MDAzMlx1NjVFNScsCiAgJ1x1MzNGNic6ICdcdTAwMzJcdTAwMzNcdTY1RTUnLAogICdcdTMzRjcnOiAnXHUwMDMyXHUwMDM0XHU2NUU1JywKICAnXHUzM0Y4JzogJ1x1MDAzMlx1MDAzNVx1NjVFNScsCiAgJ1x1MzNGOSc6ICdcdTAwMzJcdTAwMzZcdTY1RTUnLAogICdcdTMzRkEnOiAnXHUwMDMyXHUwMDM3XHU2NUU1JywKICAnXHUzM0ZCJzogJ1x1MDAzMlx1MDAzOFx1NjVFNScsCiAgJ1x1MzNGQyc6ICdcdTAwMzJcdTAwMzlcdTY1RTUnLAogICdcdTMzRkQnOiAnXHUwMDMzXHUwMDMwXHU2NUU1JywKICAnXHUzM0ZFJzogJ1x1MDAzM1x1MDAzMVx1NjVFNScsCiAgJ1x1RkIwMCc6ICdcdTAwNjZcdTAwNjYnLAogICdcdUZCMDEnOiAnXHUwMDY2XHUwMDY5JywKICAnXHVGQjAyJzogJ1x1MDA2Nlx1MDA2QycsCiAgJ1x1RkIwMyc6ICdcdTAwNjZcdTAwNjZcdTAwNjknLAogICdcdUZCMDQnOiAnXHUwMDY2XHUwMDY2XHUwMDZDJywKICAnXHVGQjA1JzogJ1x1MDE3Rlx1MDA3NCcsCiAgJ1x1RkIwNic6ICdcdTAwNzNcdTAwNzQnLAogICdcdUZCMTMnOiAnXHUwNTc0XHUwNTc2JywKICAnXHVGQjE0JzogJ1x1MDU3NFx1MDU2NScsCiAgJ1x1RkIxNSc6ICdcdTA1NzRcdTA1NkInLAogICdcdUZCMTYnOiAnXHUwNTdFXHUwNTc2JywKICAnXHVGQjE3JzogJ1x1MDU3NFx1MDU2RCcsCiAgJ1x1RkI0Ric6ICdcdTA1RDBcdTA1REMnLAogICdcdUZCNTAnOiAnXHUwNjcxJywKICAnXHVGQjUxJzogJ1x1MDY3MScsCiAgJ1x1RkI1Mic6ICdcdTA2N0InLAogICdcdUZCNTMnOiAnXHUwNjdCJywKICAnXHVGQjU0JzogJ1x1MDY3QicsCiAgJ1x1RkI1NSc6ICdcdTA2N0InLAogICdcdUZCNTYnOiAnXHUwNjdFJywKICAnXHVGQjU3JzogJ1x1MDY3RScsCiAgJ1x1RkI1OCc6ICdcdTA2N0UnLAogICdcdUZCNTknOiAnXHUwNjdFJywKICAnXHVGQjVBJzogJ1x1MDY4MCcsCiAgJ1x1RkI1Qic6ICdcdTA2ODAnLAogICdcdUZCNUMnOiAnXHUwNjgwJywKICAnXHVGQjVEJzogJ1x1MDY4MCcsCiAgJ1x1RkI1RSc6ICdcdTA2N0EnLAogICdcdUZCNUYnOiAnXHUwNjdBJywKICAnXHVGQjYwJzogJ1x1MDY3QScsCiAgJ1x1RkI2MSc6ICdcdTA2N0EnLAogICdcdUZCNjInOiAnXHUwNjdGJywKICAnXHVGQjYzJzogJ1x1MDY3RicsCiAgJ1x1RkI2NCc6ICdcdTA2N0YnLAogICdcdUZCNjUnOiAnXHUwNjdGJywKICAnXHVGQjY2JzogJ1x1MDY3OScsCiAgJ1x1RkI2Nyc6ICdcdTA2NzknLAogICdcdUZCNjgnOiAnXHUwNjc5JywKICAnXHVGQjY5JzogJ1x1MDY3OScsCiAgJ1x1RkI2QSc6ICdcdTA2QTQnLAogICdcdUZCNkInOiAnXHUwNkE0JywKICAnXHVGQjZDJzogJ1x1MDZBNCcsCiAgJ1x1RkI2RCc6ICdcdTA2QTQnLAogICdcdUZCNkUnOiAnXHUwNkE2JywKICAnXHVGQjZGJzogJ1x1MDZBNicsCiAgJ1x1RkI3MCc6ICdcdTA2QTYnLAogICdcdUZCNzEnOiAnXHUwNkE2JywKICAnXHVGQjcyJzogJ1x1MDY4NCcsCiAgJ1x1RkI3Myc6ICdcdTA2ODQnLAogICdcdUZCNzQnOiAnXHUwNjg0JywKICAnXHVGQjc1JzogJ1x1MDY4NCcsCiAgJ1x1RkI3Nic6ICdcdTA2ODMnLAogICdcdUZCNzcnOiAnXHUwNjgzJywKICAnXHVGQjc4JzogJ1x1MDY4MycsCiAgJ1x1RkI3OSc6ICdcdTA2ODMnLAogICdcdUZCN0EnOiAnXHUwNjg2JywKICAnXHVGQjdCJzogJ1x1MDY4NicsCiAgJ1x1RkI3Qyc6ICdcdTA2ODYnLAogICdcdUZCN0QnOiAnXHUwNjg2JywKICAnXHVGQjdFJzogJ1x1MDY4NycsCiAgJ1x1RkI3Ric6ICdcdTA2ODcnLAogICdcdUZCODAnOiAnXHUwNjg3JywKICAnXHVGQjgxJzogJ1x1MDY4NycsCiAgJ1x1RkI4Mic6ICdcdTA2OEQnLAogICdcdUZCODMnOiAnXHUwNjhEJywKICAnXHVGQjg0JzogJ1x1MDY4QycsCiAgJ1x1RkI4NSc6ICdcdTA2OEMnLAogICdcdUZCODYnOiAnXHUwNjhFJywKICAnXHVGQjg3JzogJ1x1MDY4RScsCiAgJ1x1RkI4OCc6ICdcdTA2ODgnLAogICdcdUZCODknOiAnXHUwNjg4JywKICAnXHVGQjhBJzogJ1x1MDY5OCcsCiAgJ1x1RkI4Qic6ICdcdTA2OTgnLAogICdcdUZCOEMnOiAnXHUwNjkxJywKICAnXHVGQjhEJzogJ1x1MDY5MScsCiAgJ1x1RkI4RSc6ICdcdTA2QTknLAogICdcdUZCOEYnOiAnXHUwNkE5JywKICAnXHVGQjkwJzogJ1x1MDZBOScsCiAgJ1x1RkI5MSc6ICdcdTA2QTknLAogICdcdUZCOTInOiAnXHUwNkFGJywKICAnXHVGQjkzJzogJ1x1MDZBRicsCiAgJ1x1RkI5NCc6ICdcdTA2QUYnLAogICdcdUZCOTUnOiAnXHUwNkFGJywKICAnXHVGQjk2JzogJ1x1MDZCMycsCiAgJ1x1RkI5Nyc6ICdcdTA2QjMnLAogICdcdUZCOTgnOiAnXHUwNkIzJywKICAnXHVGQjk5JzogJ1x1MDZCMycsCiAgJ1x1RkI5QSc6ICdcdTA2QjEnLAogICdcdUZCOUInOiAnXHUwNkIxJywKICAnXHVGQjlDJzogJ1x1MDZCMScsCiAgJ1x1RkI5RCc6ICdcdTA2QjEnLAogICdcdUZCOUUnOiAnXHUwNkJBJywKICAnXHVGQjlGJzogJ1x1MDZCQScsCiAgJ1x1RkJBMCc6ICdcdTA2QkInLAogICdcdUZCQTEnOiAnXHUwNkJCJywKICAnXHVGQkEyJzogJ1x1MDZCQicsCiAgJ1x1RkJBMyc6ICdcdTA2QkInLAogICdcdUZCQTQnOiAnXHUwNkMwJywKICAnXHVGQkE1JzogJ1x1MDZDMCcsCiAgJ1x1RkJBNic6ICdcdTA2QzEnLAogICdcdUZCQTcnOiAnXHUwNkMxJywKICAnXHVGQkE4JzogJ1x1MDZDMScsCiAgJ1x1RkJBOSc6ICdcdTA2QzEnLAogICdcdUZCQUEnOiAnXHUwNkJFJywKICAnXHVGQkFCJzogJ1x1MDZCRScsCiAgJ1x1RkJBQyc6ICdcdTA2QkUnLAogICdcdUZCQUQnOiAnXHUwNkJFJywKICAnXHVGQkFFJzogJ1x1MDZEMicsCiAgJ1x1RkJBRic6ICdcdTA2RDInLAogICdcdUZCQjAnOiAnXHUwNkQzJywKICAnXHVGQkIxJzogJ1x1MDZEMycsCiAgJ1x1RkJEMyc6ICdcdTA2QUQnLAogICdcdUZCRDQnOiAnXHUwNkFEJywKICAnXHVGQkQ1JzogJ1x1MDZBRCcsCiAgJ1x1RkJENic6ICdcdTA2QUQnLAogICdcdUZCRDcnOiAnXHUwNkM3JywKICAnXHVGQkQ4JzogJ1x1MDZDNycsCiAgJ1x1RkJEOSc6ICdcdTA2QzYnLAogICdcdUZCREEnOiAnXHUwNkM2JywKICAnXHVGQkRCJzogJ1x1MDZDOCcsCiAgJ1x1RkJEQyc6ICdcdTA2QzgnLAogICdcdUZCREQnOiAnXHUwNjc3JywKICAnXHVGQkRFJzogJ1x1MDZDQicsCiAgJ1x1RkJERic6ICdcdTA2Q0InLAogICdcdUZCRTAnOiAnXHUwNkM1JywKICAnXHVGQkUxJzogJ1x1MDZDNScsCiAgJ1x1RkJFMic6ICdcdTA2QzknLAogICdcdUZCRTMnOiAnXHUwNkM5JywKICAnXHVGQkU0JzogJ1x1MDZEMCcsCiAgJ1x1RkJFNSc6ICdcdTA2RDAnLAogICdcdUZCRTYnOiAnXHUwNkQwJywKICAnXHVGQkU3JzogJ1x1MDZEMCcsCiAgJ1x1RkJFOCc6ICdcdTA2NDknLAogICdcdUZCRTknOiAnXHUwNjQ5JywKICAnXHVGQkVBJzogJ1x1MDYyNlx1MDYyNycsCiAgJ1x1RkJFQic6ICdcdTA2MjZcdTA2MjcnLAogICdcdUZCRUMnOiAnXHUwNjI2XHUwNkQ1JywKICAnXHVGQkVEJzogJ1x1MDYyNlx1MDZENScsCiAgJ1x1RkJFRSc6ICdcdTA2MjZcdTA2NDgnLAogICdcdUZCRUYnOiAnXHUwNjI2XHUwNjQ4JywKICAnXHVGQkYwJzogJ1x1MDYyNlx1MDZDNycsCiAgJ1x1RkJGMSc6ICdcdTA2MjZcdTA2QzcnLAogICdcdUZCRjInOiAnXHUwNjI2XHUwNkM2JywKICAnXHVGQkYzJzogJ1x1MDYyNlx1MDZDNicsCiAgJ1x1RkJGNCc6ICdcdTA2MjZcdTA2QzgnLAogICdcdUZCRjUnOiAnXHUwNjI2XHUwNkM4JywKICAnXHVGQkY2JzogJ1x1MDYyNlx1MDZEMCcsCiAgJ1x1RkJGNyc6ICdcdTA2MjZcdTA2RDAnLAogICdcdUZCRjgnOiAnXHUwNjI2XHUwNkQwJywKICAnXHVGQkY5JzogJ1x1MDYyNlx1MDY0OScsCiAgJ1x1RkJGQSc6ICdcdTA2MjZcdTA2NDknLAogICdcdUZCRkInOiAnXHUwNjI2XHUwNjQ5JywKICAnXHVGQkZDJzogJ1x1MDZDQycsCiAgJ1x1RkJGRCc6ICdcdTA2Q0MnLAogICdcdUZCRkUnOiAnXHUwNkNDJywKICAnXHVGQkZGJzogJ1x1MDZDQycsCiAgJ1x1RkMwMCc6ICdcdTA2MjZcdTA2MkMnLAogICdcdUZDMDEnOiAnXHUwNjI2XHUwNjJEJywKICAnXHVGQzAyJzogJ1x1MDYyNlx1MDY0NScsCiAgJ1x1RkMwMyc6ICdcdTA2MjZcdTA2NDknLAogICdcdUZDMDQnOiAnXHUwNjI2XHUwNjRBJywKICAnXHVGQzA1JzogJ1x1MDYyOFx1MDYyQycsCiAgJ1x1RkMwNic6ICdcdTA2MjhcdTA2MkQnLAogICdcdUZDMDcnOiAnXHUwNjI4XHUwNjJFJywKICAnXHVGQzA4JzogJ1x1MDYyOFx1MDY0NScsCiAgJ1x1RkMwOSc6ICdcdTA2MjhcdTA2NDknLAogICdcdUZDMEEnOiAnXHUwNjI4XHUwNjRBJywKICAnXHVGQzBCJzogJ1x1MDYyQVx1MDYyQycsCiAgJ1x1RkMwQyc6ICdcdTA2MkFcdTA2MkQnLAogICdcdUZDMEQnOiAnXHUwNjJBXHUwNjJFJywKICAnXHVGQzBFJzogJ1x1MDYyQVx1MDY0NScsCiAgJ1x1RkMwRic6ICdcdTA2MkFcdTA2NDknLAogICdcdUZDMTAnOiAnXHUwNjJBXHUwNjRBJywKICAnXHVGQzExJzogJ1x1MDYyQlx1MDYyQycsCiAgJ1x1RkMxMic6ICdcdTA2MkJcdTA2NDUnLAogICdcdUZDMTMnOiAnXHUwNjJCXHUwNjQ5JywKICAnXHVGQzE0JzogJ1x1MDYyQlx1MDY0QScsCiAgJ1x1RkMxNSc6ICdcdTA2MkNcdTA2MkQnLAogICdcdUZDMTYnOiAnXHUwNjJDXHUwNjQ1JywKICAnXHVGQzE3JzogJ1x1MDYyRFx1MDYyQycsCiAgJ1x1RkMxOCc6ICdcdTA2MkRcdTA2NDUnLAogICdcdUZDMTknOiAnXHUwNjJFXHUwNjJDJywKICAnXHVGQzFBJzogJ1x1MDYyRVx1MDYyRCcsCiAgJ1x1RkMxQic6ICdcdTA2MkVcdTA2NDUnLAogICdcdUZDMUMnOiAnXHUwNjMzXHUwNjJDJywKICAnXHVGQzFEJzogJ1x1MDYzM1x1MDYyRCcsCiAgJ1x1RkMxRSc6ICdcdTA2MzNcdTA2MkUnLAogICdcdUZDMUYnOiAnXHUwNjMzXHUwNjQ1JywKICAnXHVGQzIwJzogJ1x1MDYzNVx1MDYyRCcsCiAgJ1x1RkMyMSc6ICdcdTA2MzVcdTA2NDUnLAogICdcdUZDMjInOiAnXHUwNjM2XHUwNjJDJywKICAnXHVGQzIzJzogJ1x1MDYzNlx1MDYyRCcsCiAgJ1x1RkMyNCc6ICdcdTA2MzZcdTA2MkUnLAogICdcdUZDMjUnOiAnXHUwNjM2XHUwNjQ1JywKICAnXHVGQzI2JzogJ1x1MDYzN1x1MDYyRCcsCiAgJ1x1RkMyNyc6ICdcdTA2MzdcdTA2NDUnLAogICdcdUZDMjgnOiAnXHUwNjM4XHUwNjQ1JywKICAnXHVGQzI5JzogJ1x1MDYzOVx1MDYyQycsCiAgJ1x1RkMyQSc6ICdcdTA2MzlcdTA2NDUnLAogICdcdUZDMkInOiAnXHUwNjNBXHUwNjJDJywKICAnXHVGQzJDJzogJ1x1MDYzQVx1MDY0NScsCiAgJ1x1RkMyRCc6ICdcdTA2NDFcdTA2MkMnLAogICdcdUZDMkUnOiAnXHUwNjQxXHUwNjJEJywKICAnXHVGQzJGJzogJ1x1MDY0MVx1MDYyRScsCiAgJ1x1RkMzMCc6ICdcdTA2NDFcdTA2NDUnLAogICdcdUZDMzEnOiAnXHUwNjQxXHUwNjQ5JywKICAnXHVGQzMyJzogJ1x1MDY0MVx1MDY0QScsCiAgJ1x1RkMzMyc6ICdcdTA2NDJcdTA2MkQnLAogICdcdUZDMzQnOiAnXHUwNjQyXHUwNjQ1JywKICAnXHVGQzM1JzogJ1x1MDY0Mlx1MDY0OScsCiAgJ1x1RkMzNic6ICdcdTA2NDJcdTA2NEEnLAogICdcdUZDMzcnOiAnXHUwNjQzXHUwNjI3JywKICAnXHVGQzM4JzogJ1x1MDY0M1x1MDYyQycsCiAgJ1x1RkMzOSc6ICdcdTA2NDNcdTA2MkQnLAogICdcdUZDM0EnOiAnXHUwNjQzXHUwNjJFJywKICAnXHVGQzNCJzogJ1x1MDY0M1x1MDY0NCcsCiAgJ1x1RkMzQyc6ICdcdTA2NDNcdTA2NDUnLAogICdcdUZDM0QnOiAnXHUwNjQzXHUwNjQ5JywKICAnXHVGQzNFJzogJ1x1MDY0M1x1MDY0QScsCiAgJ1x1RkMzRic6ICdcdTA2NDRcdTA2MkMnLAogICdcdUZDNDAnOiAnXHUwNjQ0XHUwNjJEJywKICAnXHVGQzQxJzogJ1x1MDY0NFx1MDYyRScsCiAgJ1x1RkM0Mic6ICdcdTA2NDRcdTA2NDUnLAogICdcdUZDNDMnOiAnXHUwNjQ0XHUwNjQ5JywKICAnXHVGQzQ0JzogJ1x1MDY0NFx1MDY0QScsCiAgJ1x1RkM0NSc6ICdcdTA2NDVcdTA2MkMnLAogICdcdUZDNDYnOiAnXHUwNjQ1XHUwNjJEJywKICAnXHVGQzQ3JzogJ1x1MDY0NVx1MDYyRScsCiAgJ1x1RkM0OCc6ICdcdTA2NDVcdTA2NDUnLAogICdcdUZDNDknOiAnXHUwNjQ1XHUwNjQ5JywKICAnXHVGQzRBJzogJ1x1MDY0NVx1MDY0QScsCiAgJ1x1RkM0Qic6ICdcdTA2NDZcdTA2MkMnLAogICdcdUZDNEMnOiAnXHUwNjQ2XHUwNjJEJywKICAnXHVGQzREJzogJ1x1MDY0Nlx1MDYyRScsCiAgJ1x1RkM0RSc6ICdcdTA2NDZcdTA2NDUnLAogICdcdUZDNEYnOiAnXHUwNjQ2XHUwNjQ5JywKICAnXHVGQzUwJzogJ1x1MDY0Nlx1MDY0QScsCiAgJ1x1RkM1MSc6ICdcdTA2NDdcdTA2MkMnLAogICdcdUZDNTInOiAnXHUwNjQ3XHUwNjQ1JywKICAnXHVGQzUzJzogJ1x1MDY0N1x1MDY0OScsCiAgJ1x1RkM1NCc6ICdcdTA2NDdcdTA2NEEnLAogICdcdUZDNTUnOiAnXHUwNjRBXHUwNjJDJywKICAnXHVGQzU2JzogJ1x1MDY0QVx1MDYyRCcsCiAgJ1x1RkM1Nyc6ICdcdTA2NEFcdTA2MkUnLAogICdcdUZDNTgnOiAnXHUwNjRBXHUwNjQ1JywKICAnXHVGQzU5JzogJ1x1MDY0QVx1MDY0OScsCiAgJ1x1RkM1QSc6ICdcdTA2NEFcdTA2NEEnLAogICdcdUZDNUInOiAnXHUwNjMwXHUwNjcwJywKICAnXHVGQzVDJzogJ1x1MDYzMVx1MDY3MCcsCiAgJ1x1RkM1RCc6ICdcdTA2NDlcdTA2NzAnLAogICdcdUZDNUUnOiAnXHUwMDIwXHUwNjRDXHUwNjUxJywKICAnXHVGQzVGJzogJ1x1MDAyMFx1MDY0RFx1MDY1MScsCiAgJ1x1RkM2MCc6ICdcdTAwMjBcdTA2NEVcdTA2NTEnLAogICdcdUZDNjEnOiAnXHUwMDIwXHUwNjRGXHUwNjUxJywKICAnXHVGQzYyJzogJ1x1MDAyMFx1MDY1MFx1MDY1MScsCiAgJ1x1RkM2Myc6ICdcdTAwMjBcdTA2NTFcdTA2NzAnLAogICdcdUZDNjQnOiAnXHUwNjI2XHUwNjMxJywKICAnXHVGQzY1JzogJ1x1MDYyNlx1MDYzMicsCiAgJ1x1RkM2Nic6ICdcdTA2MjZcdTA2NDUnLAogICdcdUZDNjcnOiAnXHUwNjI2XHUwNjQ2JywKICAnXHVGQzY4JzogJ1x1MDYyNlx1MDY0OScsCiAgJ1x1RkM2OSc6ICdcdTA2MjZcdTA2NEEnLAogICdcdUZDNkEnOiAnXHUwNjI4XHUwNjMxJywKICAnXHVGQzZCJzogJ1x1MDYyOFx1MDYzMicsCiAgJ1x1RkM2Qyc6ICdcdTA2MjhcdTA2NDUnLAogICdcdUZDNkQnOiAnXHUwNjI4XHUwNjQ2JywKICAnXHVGQzZFJzogJ1x1MDYyOFx1MDY0OScsCiAgJ1x1RkM2Ric6ICdcdTA2MjhcdTA2NEEnLAogICdcdUZDNzAnOiAnXHUwNjJBXHUwNjMxJywKICAnXHVGQzcxJzogJ1x1MDYyQVx1MDYzMicsCiAgJ1x1RkM3Mic6ICdcdTA2MkFcdTA2NDUnLAogICdcdUZDNzMnOiAnXHUwNjJBXHUwNjQ2JywKICAnXHVGQzc0JzogJ1x1MDYyQVx1MDY0OScsCiAgJ1x1RkM3NSc6ICdcdTA2MkFcdTA2NEEnLAogICdcdUZDNzYnOiAnXHUwNjJCXHUwNjMxJywKICAnXHVGQzc3JzogJ1x1MDYyQlx1MDYzMicsCiAgJ1x1RkM3OCc6ICdcdTA2MkJcdTA2NDUnLAogICdcdUZDNzknOiAnXHUwNjJCXHUwNjQ2JywKICAnXHVGQzdBJzogJ1x1MDYyQlx1MDY0OScsCiAgJ1x1RkM3Qic6ICdcdTA2MkJcdTA2NEEnLAogICdcdUZDN0MnOiAnXHUwNjQxXHUwNjQ5JywKICAnXHVGQzdEJzogJ1x1MDY0MVx1MDY0QScsCiAgJ1x1RkM3RSc6ICdcdTA2NDJcdTA2NDknLAogICdcdUZDN0YnOiAnXHUwNjQyXHUwNjRBJywKICAnXHVGQzgwJzogJ1x1MDY0M1x1MDYyNycsCiAgJ1x1RkM4MSc6ICdcdTA2NDNcdTA2NDQnLAogICdcdUZDODInOiAnXHUwNjQzXHUwNjQ1JywKICAnXHVGQzgzJzogJ1x1MDY0M1x1MDY0OScsCiAgJ1x1RkM4NCc6ICdcdTA2NDNcdTA2NEEnLAogICdcdUZDODUnOiAnXHUwNjQ0XHUwNjQ1JywKICAnXHVGQzg2JzogJ1x1MDY0NFx1MDY0OScsCiAgJ1x1RkM4Nyc6ICdcdTA2NDRcdTA2NEEnLAogICdcdUZDODgnOiAnXHUwNjQ1XHUwNjI3JywKICAnXHVGQzg5JzogJ1x1MDY0NVx1MDY0NScsCiAgJ1x1RkM4QSc6ICdcdTA2NDZcdTA2MzEnLAogICdcdUZDOEInOiAnXHUwNjQ2XHUwNjMyJywKICAnXHVGQzhDJzogJ1x1MDY0Nlx1MDY0NScsCiAgJ1x1RkM4RCc6ICdcdTA2NDZcdTA2NDYnLAogICdcdUZDOEUnOiAnXHUwNjQ2XHUwNjQ5JywKICAnXHVGQzhGJzogJ1x1MDY0Nlx1MDY0QScsCiAgJ1x1RkM5MCc6ICdcdTA2NDlcdTA2NzAnLAogICdcdUZDOTEnOiAnXHUwNjRBXHUwNjMxJywKICAnXHVGQzkyJzogJ1x1MDY0QVx1MDYzMicsCiAgJ1x1RkM5Myc6ICdcdTA2NEFcdTA2NDUnLAogICdcdUZDOTQnOiAnXHUwNjRBXHUwNjQ2JywKICAnXHVGQzk1JzogJ1x1MDY0QVx1MDY0OScsCiAgJ1x1RkM5Nic6ICdcdTA2NEFcdTA2NEEnLAogICdcdUZDOTcnOiAnXHUwNjI2XHUwNjJDJywKICAnXHVGQzk4JzogJ1x1MDYyNlx1MDYyRCcsCiAgJ1x1RkM5OSc6ICdcdTA2MjZcdTA2MkUnLAogICdcdUZDOUEnOiAnXHUwNjI2XHUwNjQ1JywKICAnXHVGQzlCJzogJ1x1MDYyNlx1MDY0NycsCiAgJ1x1RkM5Qyc6ICdcdTA2MjhcdTA2MkMnLAogICdcdUZDOUQnOiAnXHUwNjI4XHUwNjJEJywKICAnXHVGQzlFJzogJ1x1MDYyOFx1MDYyRScsCiAgJ1x1RkM5Ric6ICdcdTA2MjhcdTA2NDUnLAogICdcdUZDQTAnOiAnXHUwNjI4XHUwNjQ3JywKICAnXHVGQ0ExJzogJ1x1MDYyQVx1MDYyQycsCiAgJ1x1RkNBMic6ICdcdTA2MkFcdTA2MkQnLAogICdcdUZDQTMnOiAnXHUwNjJBXHUwNjJFJywKICAnXHVGQ0E0JzogJ1x1MDYyQVx1MDY0NScsCiAgJ1x1RkNBNSc6ICdcdTA2MkFcdTA2NDcnLAogICdcdUZDQTYnOiAnXHUwNjJCXHUwNjQ1JywKICAnXHVGQ0E3JzogJ1x1MDYyQ1x1MDYyRCcsCiAgJ1x1RkNBOCc6ICdcdTA2MkNcdTA2NDUnLAogICdcdUZDQTknOiAnXHUwNjJEXHUwNjJDJywKICAnXHVGQ0FBJzogJ1x1MDYyRFx1MDY0NScsCiAgJ1x1RkNBQic6ICdcdTA2MkVcdTA2MkMnLAogICdcdUZDQUMnOiAnXHUwNjJFXHUwNjQ1JywKICAnXHVGQ0FEJzogJ1x1MDYzM1x1MDYyQycsCiAgJ1x1RkNBRSc6ICdcdTA2MzNcdTA2MkQnLAogICdcdUZDQUYnOiAnXHUwNjMzXHUwNjJFJywKICAnXHVGQ0IwJzogJ1x1MDYzM1x1MDY0NScsCiAgJ1x1RkNCMSc6ICdcdTA2MzVcdTA2MkQnLAogICdcdUZDQjInOiAnXHUwNjM1XHUwNjJFJywKICAnXHVGQ0IzJzogJ1x1MDYzNVx1MDY0NScsCiAgJ1x1RkNCNCc6ICdcdTA2MzZcdTA2MkMnLAogICdcdUZDQjUnOiAnXHUwNjM2XHUwNjJEJywKICAnXHVGQ0I2JzogJ1x1MDYzNlx1MDYyRScsCiAgJ1x1RkNCNyc6ICdcdTA2MzZcdTA2NDUnLAogICdcdUZDQjgnOiAnXHUwNjM3XHUwNjJEJywKICAnXHVGQ0I5JzogJ1x1MDYzOFx1MDY0NScsCiAgJ1x1RkNCQSc6ICdcdTA2MzlcdTA2MkMnLAogICdcdUZDQkInOiAnXHUwNjM5XHUwNjQ1JywKICAnXHVGQ0JDJzogJ1x1MDYzQVx1MDYyQycsCiAgJ1x1RkNCRCc6ICdcdTA2M0FcdTA2NDUnLAogICdcdUZDQkUnOiAnXHUwNjQxXHUwNjJDJywKICAnXHVGQ0JGJzogJ1x1MDY0MVx1MDYyRCcsCiAgJ1x1RkNDMCc6ICdcdTA2NDFcdTA2MkUnLAogICdcdUZDQzEnOiAnXHUwNjQxXHUwNjQ1JywKICAnXHVGQ0MyJzogJ1x1MDY0Mlx1MDYyRCcsCiAgJ1x1RkNDMyc6ICdcdTA2NDJcdTA2NDUnLAogICdcdUZDQzQnOiAnXHUwNjQzXHUwNjJDJywKICAnXHVGQ0M1JzogJ1x1MDY0M1x1MDYyRCcsCiAgJ1x1RkNDNic6ICdcdTA2NDNcdTA2MkUnLAogICdcdUZDQzcnOiAnXHUwNjQzXHUwNjQ0JywKICAnXHVGQ0M4JzogJ1x1MDY0M1x1MDY0NScsCiAgJ1x1RkNDOSc6ICdcdTA2NDRcdTA2MkMnLAogICdcdUZDQ0EnOiAnXHUwNjQ0XHUwNjJEJywKICAnXHVGQ0NCJzogJ1x1MDY0NFx1MDYyRScsCiAgJ1x1RkNDQyc6ICdcdTA2NDRcdTA2NDUnLAogICdcdUZDQ0QnOiAnXHUwNjQ0XHUwNjQ3JywKICAnXHVGQ0NFJzogJ1x1MDY0NVx1MDYyQycsCiAgJ1x1RkNDRic6ICdcdTA2NDVcdTA2MkQnLAogICdcdUZDRDAnOiAnXHUwNjQ1XHUwNjJFJywKICAnXHVGQ0QxJzogJ1x1MDY0NVx1MDY0NScsCiAgJ1x1RkNEMic6ICdcdTA2NDZcdTA2MkMnLAogICdcdUZDRDMnOiAnXHUwNjQ2XHUwNjJEJywKICAnXHVGQ0Q0JzogJ1x1MDY0Nlx1MDYyRScsCiAgJ1x1RkNENSc6ICdcdTA2NDZcdTA2NDUnLAogICdcdUZDRDYnOiAnXHUwNjQ2XHUwNjQ3JywKICAnXHVGQ0Q3JzogJ1x1MDY0N1x1MDYyQycsCiAgJ1x1RkNEOCc6ICdcdTA2NDdcdTA2NDUnLAogICdcdUZDRDknOiAnXHUwNjQ3XHUwNjcwJywKICAnXHVGQ0RBJzogJ1x1MDY0QVx1MDYyQycsCiAgJ1x1RkNEQic6ICdcdTA2NEFcdTA2MkQnLAogICdcdUZDREMnOiAnXHUwNjRBXHUwNjJFJywKICAnXHVGQ0REJzogJ1x1MDY0QVx1MDY0NScsCiAgJ1x1RkNERSc6ICdcdTA2NEFcdTA2NDcnLAogICdcdUZDREYnOiAnXHUwNjI2XHUwNjQ1JywKICAnXHVGQ0UwJzogJ1x1MDYyNlx1MDY0NycsCiAgJ1x1RkNFMSc6ICdcdTA2MjhcdTA2NDUnLAogICdcdUZDRTInOiAnXHUwNjI4XHUwNjQ3JywKICAnXHVGQ0UzJzogJ1x1MDYyQVx1MDY0NScsCiAgJ1x1RkNFNCc6ICdcdTA2MkFcdTA2NDcnLAogICdcdUZDRTUnOiAnXHUwNjJCXHUwNjQ1JywKICAnXHVGQ0U2JzogJ1x1MDYyQlx1MDY0NycsCiAgJ1x1RkNFNyc6ICdcdTA2MzNcdTA2NDUnLAogICdcdUZDRTgnOiAnXHUwNjMzXHUwNjQ3JywKICAnXHVGQ0U5JzogJ1x1MDYzNFx1MDY0NScsCiAgJ1x1RkNFQSc6ICdcdTA2MzRcdTA2NDcnLAogICdcdUZDRUInOiAnXHUwNjQzXHUwNjQ0JywKICAnXHVGQ0VDJzogJ1x1MDY0M1x1MDY0NScsCiAgJ1x1RkNFRCc6ICdcdTA2NDRcdTA2NDUnLAogICdcdUZDRUUnOiAnXHUwNjQ2XHUwNjQ1JywKICAnXHVGQ0VGJzogJ1x1MDY0Nlx1MDY0NycsCiAgJ1x1RkNGMCc6ICdcdTA2NEFcdTA2NDUnLAogICdcdUZDRjEnOiAnXHUwNjRBXHUwNjQ3JywKICAnXHVGQ0YyJzogJ1x1MDY0MFx1MDY0RVx1MDY1MScsCiAgJ1x1RkNGMyc6ICdcdTA2NDBcdTA2NEZcdTA2NTEnLAogICdcdUZDRjQnOiAnXHUwNjQwXHUwNjUwXHUwNjUxJywKICAnXHVGQ0Y1JzogJ1x1MDYzN1x1MDY0OScsCiAgJ1x1RkNGNic6ICdcdTA2MzdcdTA2NEEnLAogICdcdUZDRjcnOiAnXHUwNjM5XHUwNjQ5JywKICAnXHVGQ0Y4JzogJ1x1MDYzOVx1MDY0QScsCiAgJ1x1RkNGOSc6ICdcdTA2M0FcdTA2NDknLAogICdcdUZDRkEnOiAnXHUwNjNBXHUwNjRBJywKICAnXHVGQ0ZCJzogJ1x1MDYzM1x1MDY0OScsCiAgJ1x1RkNGQyc6ICdcdTA2MzNcdTA2NEEnLAogICdcdUZDRkQnOiAnXHUwNjM0XHUwNjQ5JywKICAnXHVGQ0ZFJzogJ1x1MDYzNFx1MDY0QScsCiAgJ1x1RkNGRic6ICdcdTA2MkRcdTA2NDknLAogICdcdUZEMDAnOiAnXHUwNjJEXHUwNjRBJywKICAnXHVGRDAxJzogJ1x1MDYyQ1x1MDY0OScsCiAgJ1x1RkQwMic6ICdcdTA2MkNcdTA2NEEnLAogICdcdUZEMDMnOiAnXHUwNjJFXHUwNjQ5JywKICAnXHVGRDA0JzogJ1x1MDYyRVx1MDY0QScsCiAgJ1x1RkQwNSc6ICdcdTA2MzVcdTA2NDknLAogICdcdUZEMDYnOiAnXHUwNjM1XHUwNjRBJywKICAnXHVGRDA3JzogJ1x1MDYzNlx1MDY0OScsCiAgJ1x1RkQwOCc6ICdcdTA2MzZcdTA2NEEnLAogICdcdUZEMDknOiAnXHUwNjM0XHUwNjJDJywKICAnXHVGRDBBJzogJ1x1MDYzNFx1MDYyRCcsCiAgJ1x1RkQwQic6ICdcdTA2MzRcdTA2MkUnLAogICdcdUZEMEMnOiAnXHUwNjM0XHUwNjQ1JywKICAnXHVGRDBEJzogJ1x1MDYzNFx1MDYzMScsCiAgJ1x1RkQwRSc6ICdcdTA2MzNcdTA2MzEnLAogICdcdUZEMEYnOiAnXHUwNjM1XHUwNjMxJywKICAnXHVGRDEwJzogJ1x1MDYzNlx1MDYzMScsCiAgJ1x1RkQxMSc6ICdcdTA2MzdcdTA2NDknLAogICdcdUZEMTInOiAnXHUwNjM3XHUwNjRBJywKICAnXHVGRDEzJzogJ1x1MDYzOVx1MDY0OScsCiAgJ1x1RkQxNCc6ICdcdTA2MzlcdTA2NEEnLAogICdcdUZEMTUnOiAnXHUwNjNBXHUwNjQ5JywKICAnXHVGRDE2JzogJ1x1MDYzQVx1MDY0QScsCiAgJ1x1RkQxNyc6ICdcdTA2MzNcdTA2NDknLAogICdcdUZEMTgnOiAnXHUwNjMzXHUwNjRBJywKICAnXHVGRDE5JzogJ1x1MDYzNFx1MDY0OScsCiAgJ1x1RkQxQSc6ICdcdTA2MzRcdTA2NEEnLAogICdcdUZEMUInOiAnXHUwNjJEXHUwNjQ5JywKICAnXHVGRDFDJzogJ1x1MDYyRFx1MDY0QScsCiAgJ1x1RkQxRCc6ICdcdTA2MkNcdTA2NDknLAogICdcdUZEMUUnOiAnXHUwNjJDXHUwNjRBJywKICAnXHVGRDFGJzogJ1x1MDYyRVx1MDY0OScsCiAgJ1x1RkQyMCc6ICdcdTA2MkVcdTA2NEEnLAogICdcdUZEMjEnOiAnXHUwNjM1XHUwNjQ5JywKICAnXHVGRDIyJzogJ1x1MDYzNVx1MDY0QScsCiAgJ1x1RkQyMyc6ICdcdTA2MzZcdTA2NDknLAogICdcdUZEMjQnOiAnXHUwNjM2XHUwNjRBJywKICAnXHVGRDI1JzogJ1x1MDYzNFx1MDYyQycsCiAgJ1x1RkQyNic6ICdcdTA2MzRcdTA2MkQnLAogICdcdUZEMjcnOiAnXHUwNjM0XHUwNjJFJywKICAnXHVGRDI4JzogJ1x1MDYzNFx1MDY0NScsCiAgJ1x1RkQyOSc6ICdcdTA2MzRcdTA2MzEnLAogICdcdUZEMkEnOiAnXHUwNjMzXHUwNjMxJywKICAnXHVGRDJCJzogJ1x1MDYzNVx1MDYzMScsCiAgJ1x1RkQyQyc6ICdcdTA2MzZcdTA2MzEnLAogICdcdUZEMkQnOiAnXHUwNjM0XHUwNjJDJywKICAnXHVGRDJFJzogJ1x1MDYzNFx1MDYyRCcsCiAgJ1x1RkQyRic6ICdcdTA2MzRcdTA2MkUnLAogICdcdUZEMzAnOiAnXHUwNjM0XHUwNjQ1JywKICAnXHVGRDMxJzogJ1x1MDYzM1x1MDY0NycsCiAgJ1x1RkQzMic6ICdcdTA2MzRcdTA2NDcnLAogICdcdUZEMzMnOiAnXHUwNjM3XHUwNjQ1JywKICAnXHVGRDM0JzogJ1x1MDYzM1x1MDYyQycsCiAgJ1x1RkQzNSc6ICdcdTA2MzNcdTA2MkQnLAogICdcdUZEMzYnOiAnXHUwNjMzXHUwNjJFJywKICAnXHVGRDM3JzogJ1x1MDYzNFx1MDYyQycsCiAgJ1x1RkQzOCc6ICdcdTA2MzRcdTA2MkQnLAogICdcdUZEMzknOiAnXHUwNjM0XHUwNjJFJywKICAnXHVGRDNBJzogJ1x1MDYzN1x1MDY0NScsCiAgJ1x1RkQzQic6ICdcdTA2MzhcdTA2NDUnLAogICdcdUZEM0MnOiAnXHUwNjI3XHUwNjRCJywKICAnXHVGRDNEJzogJ1x1MDYyN1x1MDY0QicsCiAgJ1x1RkQ1MCc6ICdcdTA2MkFcdTA2MkNcdTA2NDUnLAogICdcdUZENTEnOiAnXHUwNjJBXHUwNjJEXHUwNjJDJywKICAnXHVGRDUyJzogJ1x1MDYyQVx1MDYyRFx1MDYyQycsCiAgJ1x1RkQ1Myc6ICdcdTA2MkFcdTA2MkRcdTA2NDUnLAogICdcdUZENTQnOiAnXHUwNjJBXHUwNjJFXHUwNjQ1JywKICAnXHVGRDU1JzogJ1x1MDYyQVx1MDY0NVx1MDYyQycsCiAgJ1x1RkQ1Nic6ICdcdTA2MkFcdTA2NDVcdTA2MkQnLAogICdcdUZENTcnOiAnXHUwNjJBXHUwNjQ1XHUwNjJFJywKICAnXHVGRDU4JzogJ1x1MDYyQ1x1MDY0NVx1MDYyRCcsCiAgJ1x1RkQ1OSc6ICdcdTA2MkNcdTA2NDVcdTA2MkQnLAogICdcdUZENUEnOiAnXHUwNjJEXHUwNjQ1XHUwNjRBJywKICAnXHVGRDVCJzogJ1x1MDYyRFx1MDY0NVx1MDY0OScsCiAgJ1x1RkQ1Qyc6ICdcdTA2MzNcdTA2MkRcdTA2MkMnLAogICdcdUZENUQnOiAnXHUwNjMzXHUwNjJDXHUwNjJEJywKICAnXHVGRDVFJzogJ1x1MDYzM1x1MDYyQ1x1MDY0OScsCiAgJ1x1RkQ1Ric6ICdcdTA2MzNcdTA2NDVcdTA2MkQnLAogICdcdUZENjAnOiAnXHUwNjMzXHUwNjQ1XHUwNjJEJywKICAnXHVGRDYxJzogJ1x1MDYzM1x1MDY0NVx1MDYyQycsCiAgJ1x1RkQ2Mic6ICdcdTA2MzNcdTA2NDVcdTA2NDUnLAogICdcdUZENjMnOiAnXHUwNjMzXHUwNjQ1XHUwNjQ1JywKICAnXHVGRDY0JzogJ1x1MDYzNVx1MDYyRFx1MDYyRCcsCiAgJ1x1RkQ2NSc6ICdcdTA2MzVcdTA2MkRcdTA2MkQnLAogICdcdUZENjYnOiAnXHUwNjM1XHUwNjQ1XHUwNjQ1JywKICAnXHVGRDY3JzogJ1x1MDYzNFx1MDYyRFx1MDY0NScsCiAgJ1x1RkQ2OCc6ICdcdTA2MzRcdTA2MkRcdTA2NDUnLAogICdcdUZENjknOiAnXHUwNjM0XHUwNjJDXHUwNjRBJywKICAnXHVGRDZBJzogJ1x1MDYzNFx1MDY0NVx1MDYyRScsCiAgJ1x1RkQ2Qic6ICdcdTA2MzRcdTA2NDVcdTA2MkUnLAogICdcdUZENkMnOiAnXHUwNjM0XHUwNjQ1XHUwNjQ1JywKICAnXHVGRDZEJzogJ1x1MDYzNFx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ2RSc6ICdcdTA2MzZcdTA2MkRcdTA2NDknLAogICdcdUZENkYnOiAnXHUwNjM2XHUwNjJFXHUwNjQ1JywKICAnXHVGRDcwJzogJ1x1MDYzNlx1MDYyRVx1MDY0NScsCiAgJ1x1RkQ3MSc6ICdcdTA2MzdcdTA2NDVcdTA2MkQnLAogICdcdUZENzInOiAnXHUwNjM3XHUwNjQ1XHUwNjJEJywKICAnXHVGRDczJzogJ1x1MDYzN1x1MDY0NVx1MDY0NScsCiAgJ1x1RkQ3NCc6ICdcdTA2MzdcdTA2NDVcdTA2NEEnLAogICdcdUZENzUnOiAnXHUwNjM5XHUwNjJDXHUwNjQ1JywKICAnXHVGRDc2JzogJ1x1MDYzOVx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ3Nyc6ICdcdTA2MzlcdTA2NDVcdTA2NDUnLAogICdcdUZENzgnOiAnXHUwNjM5XHUwNjQ1XHUwNjQ5JywKICAnXHVGRDc5JzogJ1x1MDYzQVx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ3QSc6ICdcdTA2M0FcdTA2NDVcdTA2NEEnLAogICdcdUZEN0InOiAnXHUwNjNBXHUwNjQ1XHUwNjQ5JywKICAnXHVGRDdDJzogJ1x1MDY0MVx1MDYyRVx1MDY0NScsCiAgJ1x1RkQ3RCc6ICdcdTA2NDFcdTA2MkVcdTA2NDUnLAogICdcdUZEN0UnOiAnXHUwNjQyXHUwNjQ1XHUwNjJEJywKICAnXHVGRDdGJzogJ1x1MDY0Mlx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ4MCc6ICdcdTA2NDRcdTA2MkRcdTA2NDUnLAogICdcdUZEODEnOiAnXHUwNjQ0XHUwNjJEXHUwNjRBJywKICAnXHVGRDgyJzogJ1x1MDY0NFx1MDYyRFx1MDY0OScsCiAgJ1x1RkQ4Myc6ICdcdTA2NDRcdTA2MkNcdTA2MkMnLAogICdcdUZEODQnOiAnXHUwNjQ0XHUwNjJDXHUwNjJDJywKICAnXHVGRDg1JzogJ1x1MDY0NFx1MDYyRVx1MDY0NScsCiAgJ1x1RkQ4Nic6ICdcdTA2NDRcdTA2MkVcdTA2NDUnLAogICdcdUZEODcnOiAnXHUwNjQ0XHUwNjQ1XHUwNjJEJywKICAnXHVGRDg4JzogJ1x1MDY0NFx1MDY0NVx1MDYyRCcsCiAgJ1x1RkQ4OSc6ICdcdTA2NDVcdTA2MkRcdTA2MkMnLAogICdcdUZEOEEnOiAnXHUwNjQ1XHUwNjJEXHUwNjQ1JywKICAnXHVGRDhCJzogJ1x1MDY0NVx1MDYyRFx1MDY0QScsCiAgJ1x1RkQ4Qyc6ICdcdTA2NDVcdTA2MkNcdTA2MkQnLAogICdcdUZEOEQnOiAnXHUwNjQ1XHUwNjJDXHUwNjQ1JywKICAnXHVGRDhFJzogJ1x1MDY0NVx1MDYyRVx1MDYyQycsCiAgJ1x1RkQ4Ric6ICdcdTA2NDVcdTA2MkVcdTA2NDUnLAogICdcdUZEOTInOiAnXHUwNjQ1XHUwNjJDXHUwNjJFJywKICAnXHVGRDkzJzogJ1x1MDY0N1x1MDY0NVx1MDYyQycsCiAgJ1x1RkQ5NCc6ICdcdTA2NDdcdTA2NDVcdTA2NDUnLAogICdcdUZEOTUnOiAnXHUwNjQ2XHUwNjJEXHUwNjQ1JywKICAnXHVGRDk2JzogJ1x1MDY0Nlx1MDYyRFx1MDY0OScsCiAgJ1x1RkQ5Nyc6ICdcdTA2NDZcdTA2MkNcdTA2NDUnLAogICdcdUZEOTgnOiAnXHUwNjQ2XHUwNjJDXHUwNjQ1JywKICAnXHVGRDk5JzogJ1x1MDY0Nlx1MDYyQ1x1MDY0OScsCiAgJ1x1RkQ5QSc6ICdcdTA2NDZcdTA2NDVcdTA2NEEnLAogICdcdUZEOUInOiAnXHUwNjQ2XHUwNjQ1XHUwNjQ5JywKICAnXHVGRDlDJzogJ1x1MDY0QVx1MDY0NVx1MDY0NScsCiAgJ1x1RkQ5RCc6ICdcdTA2NEFcdTA2NDVcdTA2NDUnLAogICdcdUZEOUUnOiAnXHUwNjI4XHUwNjJFXHUwNjRBJywKICAnXHVGRDlGJzogJ1x1MDYyQVx1MDYyQ1x1MDY0QScsCiAgJ1x1RkRBMCc6ICdcdTA2MkFcdTA2MkNcdTA2NDknLAogICdcdUZEQTEnOiAnXHUwNjJBXHUwNjJFXHUwNjRBJywKICAnXHVGREEyJzogJ1x1MDYyQVx1MDYyRVx1MDY0OScsCiAgJ1x1RkRBMyc6ICdcdTA2MkFcdTA2NDVcdTA2NEEnLAogICdcdUZEQTQnOiAnXHUwNjJBXHUwNjQ1XHUwNjQ5JywKICAnXHVGREE1JzogJ1x1MDYyQ1x1MDY0NVx1MDY0QScsCiAgJ1x1RkRBNic6ICdcdTA2MkNcdTA2MkRcdTA2NDknLAogICdcdUZEQTcnOiAnXHUwNjJDXHUwNjQ1XHUwNjQ5JywKICAnXHVGREE4JzogJ1x1MDYzM1x1MDYyRVx1MDY0OScsCiAgJ1x1RkRBOSc6ICdcdTA2MzVcdTA2MkRcdTA2NEEnLAogICdcdUZEQUEnOiAnXHUwNjM0XHUwNjJEXHUwNjRBJywKICAnXHVGREFCJzogJ1x1MDYzNlx1MDYyRFx1MDY0QScsCiAgJ1x1RkRBQyc6ICdcdTA2NDRcdTA2MkNcdTA2NEEnLAogICdcdUZEQUQnOiAnXHUwNjQ0XHUwNjQ1XHUwNjRBJywKICAnXHVGREFFJzogJ1x1MDY0QVx1MDYyRFx1MDY0QScsCiAgJ1x1RkRBRic6ICdcdTA2NEFcdTA2MkNcdTA2NEEnLAogICdcdUZEQjAnOiAnXHUwNjRBXHUwNjQ1XHUwNjRBJywKICAnXHVGREIxJzogJ1x1MDY0NVx1MDY0NVx1MDY0QScsCiAgJ1x1RkRCMic6ICdcdTA2NDJcdTA2NDVcdTA2NEEnLAogICdcdUZEQjMnOiAnXHUwNjQ2XHUwNjJEXHUwNjRBJywKICAnXHVGREI0JzogJ1x1MDY0Mlx1MDY0NVx1MDYyRCcsCiAgJ1x1RkRCNSc6ICdcdTA2NDRcdTA2MkRcdTA2NDUnLAogICdcdUZEQjYnOiAnXHUwNjM5XHUwNjQ1XHUwNjRBJywKICAnXHVGREI3JzogJ1x1MDY0M1x1MDY0NVx1MDY0QScsCiAgJ1x1RkRCOCc6ICdcdTA2NDZcdTA2MkNcdTA2MkQnLAogICdcdUZEQjknOiAnXHUwNjQ1XHUwNjJFXHUwNjRBJywKICAnXHVGREJBJzogJ1x1MDY0NFx1MDYyQ1x1MDY0NScsCiAgJ1x1RkRCQic6ICdcdTA2NDNcdTA2NDVcdTA2NDUnLAogICdcdUZEQkMnOiAnXHUwNjQ0XHUwNjJDXHUwNjQ1JywKICAnXHVGREJEJzogJ1x1MDY0Nlx1MDYyQ1x1MDYyRCcsCiAgJ1x1RkRCRSc6ICdcdTA2MkNcdTA2MkRcdTA2NEEnLAogICdcdUZEQkYnOiAnXHUwNjJEXHUwNjJDXHUwNjRBJywKICAnXHVGREMwJzogJ1x1MDY0NVx1MDYyQ1x1MDY0QScsCiAgJ1x1RkRDMSc6ICdcdTA2NDFcdTA2NDVcdTA2NEEnLAogICdcdUZEQzInOiAnXHUwNjI4XHUwNjJEXHUwNjRBJywKICAnXHVGREMzJzogJ1x1MDY0M1x1MDY0NVx1MDY0NScsCiAgJ1x1RkRDNCc6ICdcdTA2MzlcdTA2MkNcdTA2NDUnLAogICdcdUZEQzUnOiAnXHUwNjM1XHUwNjQ1XHUwNjQ1JywKICAnXHVGREM2JzogJ1x1MDYzM1x1MDYyRVx1MDY0QScsCiAgJ1x1RkRDNyc6ICdcdTA2NDZcdTA2MkNcdTA2NEEnLAogICdcdUZFNDknOiAnXHUyMDNFJywKICAnXHVGRTRBJzogJ1x1MjAzRScsCiAgJ1x1RkU0Qic6ICdcdTIwM0UnLAogICdcdUZFNEMnOiAnXHUyMDNFJywKICAnXHVGRTREJzogJ1x1MDA1RicsCiAgJ1x1RkU0RSc6ICdcdTAwNUYnLAogICdcdUZFNEYnOiAnXHUwMDVGJywKICAnXHVGRTgwJzogJ1x1MDYyMScsCiAgJ1x1RkU4MSc6ICdcdTA2MjInLAogICdcdUZFODInOiAnXHUwNjIyJywKICAnXHVGRTgzJzogJ1x1MDYyMycsCiAgJ1x1RkU4NCc6ICdcdTA2MjMnLAogICdcdUZFODUnOiAnXHUwNjI0JywKICAnXHVGRTg2JzogJ1x1MDYyNCcsCiAgJ1x1RkU4Nyc6ICdcdTA2MjUnLAogICdcdUZFODgnOiAnXHUwNjI1JywKICAnXHVGRTg5JzogJ1x1MDYyNicsCiAgJ1x1RkU4QSc6ICdcdTA2MjYnLAogICdcdUZFOEInOiAnXHUwNjI2JywKICAnXHVGRThDJzogJ1x1MDYyNicsCiAgJ1x1RkU4RCc6ICdcdTA2MjcnLAogICdcdUZFOEUnOiAnXHUwNjI3JywKICAnXHVGRThGJzogJ1x1MDYyOCcsCiAgJ1x1RkU5MCc6ICdcdTA2MjgnLAogICdcdUZFOTEnOiAnXHUwNjI4JywKICAnXHVGRTkyJzogJ1x1MDYyOCcsCiAgJ1x1RkU5Myc6ICdcdTA2MjknLAogICdcdUZFOTQnOiAnXHUwNjI5JywKICAnXHVGRTk1JzogJ1x1MDYyQScsCiAgJ1x1RkU5Nic6ICdcdTA2MkEnLAogICdcdUZFOTcnOiAnXHUwNjJBJywKICAnXHVGRTk4JzogJ1x1MDYyQScsCiAgJ1x1RkU5OSc6ICdcdTA2MkInLAogICdcdUZFOUEnOiAnXHUwNjJCJywKICAnXHVGRTlCJzogJ1x1MDYyQicsCiAgJ1x1RkU5Qyc6ICdcdTA2MkInLAogICdcdUZFOUQnOiAnXHUwNjJDJywKICAnXHVGRTlFJzogJ1x1MDYyQycsCiAgJ1x1RkU5Ric6ICdcdTA2MkMnLAogICdcdUZFQTAnOiAnXHUwNjJDJywKICAnXHVGRUExJzogJ1x1MDYyRCcsCiAgJ1x1RkVBMic6ICdcdTA2MkQnLAogICdcdUZFQTMnOiAnXHUwNjJEJywKICAnXHVGRUE0JzogJ1x1MDYyRCcsCiAgJ1x1RkVBNSc6ICdcdTA2MkUnLAogICdcdUZFQTYnOiAnXHUwNjJFJywKICAnXHVGRUE3JzogJ1x1MDYyRScsCiAgJ1x1RkVBOCc6ICdcdTA2MkUnLAogICdcdUZFQTknOiAnXHUwNjJGJywKICAnXHVGRUFBJzogJ1x1MDYyRicsCiAgJ1x1RkVBQic6ICdcdTA2MzAnLAogICdcdUZFQUMnOiAnXHUwNjMwJywKICAnXHVGRUFEJzogJ1x1MDYzMScsCiAgJ1x1RkVBRSc6ICdcdTA2MzEnLAogICdcdUZFQUYnOiAnXHUwNjMyJywKICAnXHVGRUIwJzogJ1x1MDYzMicsCiAgJ1x1RkVCMSc6ICdcdTA2MzMnLAogICdcdUZFQjInOiAnXHUwNjMzJywKICAnXHVGRUIzJzogJ1x1MDYzMycsCiAgJ1x1RkVCNCc6ICdcdTA2MzMnLAogICdcdUZFQjUnOiAnXHUwNjM0JywKICAnXHVGRUI2JzogJ1x1MDYzNCcsCiAgJ1x1RkVCNyc6ICdcdTA2MzQnLAogICdcdUZFQjgnOiAnXHUwNjM0JywKICAnXHVGRUI5JzogJ1x1MDYzNScsCiAgJ1x1RkVCQSc6ICdcdTA2MzUnLAogICdcdUZFQkInOiAnXHUwNjM1JywKICAnXHVGRUJDJzogJ1x1MDYzNScsCiAgJ1x1RkVCRCc6ICdcdTA2MzYnLAogICdcdUZFQkUnOiAnXHUwNjM2JywKICAnXHVGRUJGJzogJ1x1MDYzNicsCiAgJ1x1RkVDMCc6ICdcdTA2MzYnLAogICdcdUZFQzEnOiAnXHUwNjM3JywKICAnXHVGRUMyJzogJ1x1MDYzNycsCiAgJ1x1RkVDMyc6ICdcdTA2MzcnLAogICdcdUZFQzQnOiAnXHUwNjM3JywKICAnXHVGRUM1JzogJ1x1MDYzOCcsCiAgJ1x1RkVDNic6ICdcdTA2MzgnLAogICdcdUZFQzcnOiAnXHUwNjM4JywKICAnXHVGRUM4JzogJ1x1MDYzOCcsCiAgJ1x1RkVDOSc6ICdcdTA2MzknLAogICdcdUZFQ0EnOiAnXHUwNjM5JywKICAnXHVGRUNCJzogJ1x1MDYzOScsCiAgJ1x1RkVDQyc6ICdcdTA2MzknLAogICdcdUZFQ0QnOiAnXHUwNjNBJywKICAnXHVGRUNFJzogJ1x1MDYzQScsCiAgJ1x1RkVDRic6ICdcdTA2M0EnLAogICdcdUZFRDAnOiAnXHUwNjNBJywKICAnXHVGRUQxJzogJ1x1MDY0MScsCiAgJ1x1RkVEMic6ICdcdTA2NDEnLAogICdcdUZFRDMnOiAnXHUwNjQxJywKICAnXHVGRUQ0JzogJ1x1MDY0MScsCiAgJ1x1RkVENSc6ICdcdTA2NDInLAogICdcdUZFRDYnOiAnXHUwNjQyJywKICAnXHVGRUQ3JzogJ1x1MDY0MicsCiAgJ1x1RkVEOCc6ICdcdTA2NDInLAogICdcdUZFRDknOiAnXHUwNjQzJywKICAnXHVGRURBJzogJ1x1MDY0MycsCiAgJ1x1RkVEQic6ICdcdTA2NDMnLAogICdcdUZFREMnOiAnXHUwNjQzJywKICAnXHVGRUREJzogJ1x1MDY0NCcsCiAgJ1x1RkVERSc6ICdcdTA2NDQnLAogICdcdUZFREYnOiAnXHUwNjQ0JywKICAnXHVGRUUwJzogJ1x1MDY0NCcsCiAgJ1x1RkVFMSc6ICdcdTA2NDUnLAogICdcdUZFRTInOiAnXHUwNjQ1JywKICAnXHVGRUUzJzogJ1x1MDY0NScsCiAgJ1x1RkVFNCc6ICdcdTA2NDUnLAogICdcdUZFRTUnOiAnXHUwNjQ2JywKICAnXHVGRUU2JzogJ1x1MDY0NicsCiAgJ1x1RkVFNyc6ICdcdTA2NDYnLAogICdcdUZFRTgnOiAnXHUwNjQ2JywKICAnXHVGRUU5JzogJ1x1MDY0NycsCiAgJ1x1RkVFQSc6ICdcdTA2NDcnLAogICdcdUZFRUInOiAnXHUwNjQ3JywKICAnXHVGRUVDJzogJ1x1MDY0NycsCiAgJ1x1RkVFRCc6ICdcdTA2NDgnLAogICdcdUZFRUUnOiAnXHUwNjQ4JywKICAnXHVGRUVGJzogJ1x1MDY0OScsCiAgJ1x1RkVGMCc6ICdcdTA2NDknLAogICdcdUZFRjEnOiAnXHUwNjRBJywKICAnXHVGRUYyJzogJ1x1MDY0QScsCiAgJ1x1RkVGMyc6ICdcdTA2NEEnLAogICdcdUZFRjQnOiAnXHUwNjRBJywKICAnXHVGRUY1JzogJ1x1MDY0NFx1MDYyMicsCiAgJ1x1RkVGNic6ICdcdTA2NDRcdTA2MjInLAogICdcdUZFRjcnOiAnXHUwNjQ0XHUwNjIzJywKICAnXHVGRUY4JzogJ1x1MDY0NFx1MDYyMycsCiAgJ1x1RkVGOSc6ICdcdTA2NDRcdTA2MjUnLAogICdcdUZFRkEnOiAnXHUwNjQ0XHUwNjI1JywKICAnXHVGRUZCJzogJ1x1MDY0NFx1MDYyNycsCiAgJ1x1RkVGQyc6ICdcdTA2NDRcdTA2MjcnCn07CgpmdW5jdGlvbiByZXZlcnNlSWZSdGwoY2hhcnMpIHsKICB2YXIgY2hhcnNMZW5ndGggPSBjaGFycy5sZW5ndGg7CiAgLy9yZXZlcnNlIGFuIGFyYWJpYyBsaWdhdHVyZQogIGlmIChjaGFyc0xlbmd0aCA8PSAxIHx8ICFpc1JUTFJhbmdlRm9yKGNoYXJzLmNoYXJDb2RlQXQoMCkpKSB7CiAgICByZXR1cm4gY2hhcnM7CiAgfQogIHZhciBzID0gJyc7CiAgZm9yICh2YXIgaWkgPSBjaGFyc0xlbmd0aCAtIDE7IGlpID49IDA7IGlpLS0pIHsKICAgIHMgKz0gY2hhcnNbaWldOwogIH0KICByZXR1cm4gczsKfQoKZnVuY3Rpb24gYWRqdXN0V2lkdGhzKHByb3BlcnRpZXMpIHsKICBpZiAocHJvcGVydGllcy5mb250TWF0cml4WzBdID09PSBGT05UX0lERU5USVRZX01BVFJJWFswXSkgewogICAgcmV0dXJuOwogIH0KICAvLyBhZGp1c3Rpbmcgd2lkdGggdG8gZm9udE1hdHJpeCBzY2FsZQogIHZhciBzY2FsZSA9IDAuMDAxIC8gcHJvcGVydGllcy5mb250TWF0cml4WzBdOwogIHZhciBnbHlwaHNXaWR0aHMgPSBwcm9wZXJ0aWVzLndpZHRoczsKICBmb3IgKHZhciBnbHlwaCBpbiBnbHlwaHNXaWR0aHMpIHsKICAgIGdseXBoc1dpZHRoc1tnbHlwaF0gKj0gc2NhbGU7CiAgfQogIHByb3BlcnRpZXMuZGVmYXVsdFdpZHRoICo9IHNjYWxlOwp9CgpmdW5jdGlvbiBnZXRGb250VHlwZSh0eXBlLCBzdWJ0eXBlKSB7CiAgc3dpdGNoICh0eXBlKSB7CiAgICBjYXNlICdUeXBlMSc6CiAgICAgIHJldHVybiBzdWJ0eXBlID09PSAnVHlwZTFDJyA/IEZvbnRUeXBlLlRZUEUxQyA6IEZvbnRUeXBlLlRZUEUxOwogICAgY2FzZSAnQ0lERm9udFR5cGUwJzoKICAgICAgcmV0dXJuIHN1YnR5cGUgPT09ICdDSURGb250VHlwZTBDJyA/IEZvbnRUeXBlLkNJREZPTlRUWVBFMEMgOgogICAgICAgIEZvbnRUeXBlLkNJREZPTlRUWVBFMDsKICAgIGNhc2UgJ09wZW5UeXBlJzoKICAgICAgcmV0dXJuIEZvbnRUeXBlLk9QRU5UWVBFOwogICAgY2FzZSAnVHJ1ZVR5cGUnOgogICAgICByZXR1cm4gRm9udFR5cGUuVFJVRVRZUEU7CiAgICBjYXNlICdDSURGb250VHlwZTInOgogICAgICByZXR1cm4gRm9udFR5cGUuQ0lERk9OVFRZUEUyOwogICAgY2FzZSAnTU1UeXBlMSc6CiAgICAgIHJldHVybiBGb250VHlwZS5NTVRZUEUxOwogICAgY2FzZSAnVHlwZTAnOgogICAgICByZXR1cm4gRm9udFR5cGUuVFlQRTA7CiAgICBkZWZhdWx0OgogICAgICByZXR1cm4gRm9udFR5cGUuVU5LTk9XTjsKICB9Cn0KCnZhciBHbHlwaCA9IChmdW5jdGlvbiBHbHlwaENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gR2x5cGgoZm9udENoYXIsIHVuaWNvZGUsIGFjY2VudCwgd2lkdGgsIHZtZXRyaWMsIG9wZXJhdG9yTGlzdElkKSB7CiAgICB0aGlzLmZvbnRDaGFyID0gZm9udENoYXI7CiAgICB0aGlzLnVuaWNvZGUgPSB1bmljb2RlOwogICAgdGhpcy5hY2NlbnQgPSBhY2NlbnQ7CiAgICB0aGlzLndpZHRoID0gd2lkdGg7CiAgICB0aGlzLnZtZXRyaWMgPSB2bWV0cmljOwogICAgdGhpcy5vcGVyYXRvckxpc3RJZCA9IG9wZXJhdG9yTGlzdElkOwogIH0KCiAgR2x5cGgucHJvdG90eXBlLm1hdGNoZXNGb3JDYWNoZSA9CiAgICAgIGZ1bmN0aW9uKGZvbnRDaGFyLCB1bmljb2RlLCBhY2NlbnQsIHdpZHRoLCB2bWV0cmljLCBvcGVyYXRvckxpc3RJZCkgewogICAgcmV0dXJuIHRoaXMuZm9udENoYXIgPT09IGZvbnRDaGFyICYmCiAgICAgICAgICAgdGhpcy51bmljb2RlID09PSB1bmljb2RlICYmCiAgICAgICAgICAgdGhpcy5hY2NlbnQgPT09IGFjY2VudCAmJgogICAgICAgICAgIHRoaXMud2lkdGggPT09IHdpZHRoICYmCiAgICAgICAgICAgdGhpcy52bWV0cmljID09PSB2bWV0cmljICYmCiAgICAgICAgICAgdGhpcy5vcGVyYXRvckxpc3RJZCA9PT0gb3BlcmF0b3JMaXN0SWQ7CiAgfTsKCiAgcmV0dXJuIEdseXBoOwp9KSgpOwoKdmFyIFRvVW5pY29kZU1hcCA9IChmdW5jdGlvbiBUb1VuaWNvZGVNYXBDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFRvVW5pY29kZU1hcChjbWFwKSB7CiAgICAvLyBUaGUgZWxlbWVudHMgb2YgdGhpcy5fbWFwIGNhbiBiZSBpbnRlZ2VycyBvciBzdHJpbmdzLCBkZXBlbmRpbmcgb24gaG93CiAgICAvLyB8Y21hcHwgd2FzIGNyZWF0ZWQuCiAgICB0aGlzLl9tYXAgPSBjbWFwOwogIH0KCiAgVG9Vbmljb2RlTWFwLnByb3RvdHlwZSA9IHsKICAgIGdldCBsZW5ndGgoKSB7CiAgICAgIHJldHVybiB0aGlzLl9tYXAubGVuZ3RoOwogICAgfSwKCiAgICBmb3JFYWNoOiBmdW5jdGlvbihjYWxsYmFjaykgewogICAgICBmb3IgKHZhciBjaGFyQ29kZSBpbiB0aGlzLl9tYXApIHsKICAgICAgICBjYWxsYmFjayhjaGFyQ29kZSwgdGhpcy5fbWFwW2NoYXJDb2RlXS5jaGFyQ29kZUF0KDApKTsKICAgICAgfQogICAgfSwKCiAgICBoYXM6IGZ1bmN0aW9uKGkpIHsKICAgICAgcmV0dXJuIHRoaXMuX21hcFtpXSAhPT0gdW5kZWZpbmVkOwogICAgfSwKCiAgICBnZXQ6IGZ1bmN0aW9uKGkpIHsKICAgICAgcmV0dXJuIHRoaXMuX21hcFtpXTsKICAgIH0sCgogICAgY2hhckNvZGVPZjogZnVuY3Rpb24odikgewogICAgICByZXR1cm4gdGhpcy5fbWFwLmluZGV4T2Yodik7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFRvVW5pY29kZU1hcDsKfSkoKTsKCnZhciBJZGVudGl0eVRvVW5pY29kZU1hcCA9IChmdW5jdGlvbiBJZGVudGl0eVRvVW5pY29kZU1hcENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gSWRlbnRpdHlUb1VuaWNvZGVNYXAoZmlyc3RDaGFyLCBsYXN0Q2hhcikgewogICAgdGhpcy5maXJzdENoYXIgPSBmaXJzdENoYXI7CiAgICB0aGlzLmxhc3RDaGFyID0gbGFzdENoYXI7CiAgfQoKICBJZGVudGl0eVRvVW5pY29kZU1hcC5wcm90b3R5cGUgPSB7CiAgICBnZXQgbGVuZ3RoKCkgewogICAgICByZXR1cm4gKHRoaXMubGFzdENoYXIgKyAxKSAtIHRoaXMuZmlyc3RDaGFyOwogICAgfSwKCiAgICBmb3JFYWNoOiBmdW5jdGlvbiAoY2FsbGJhY2spIHsKICAgICAgZm9yICh2YXIgaSA9IHRoaXMuZmlyc3RDaGFyLCBpaSA9IHRoaXMubGFzdENoYXI7IGkgPD0gaWk7IGkrKykgewogICAgICAgIGNhbGxiYWNrKGksIGkpOwogICAgICB9CiAgICB9LAoKICAgIGhhczogZnVuY3Rpb24gKGkpIHsKICAgICAgcmV0dXJuIHRoaXMuZmlyc3RDaGFyIDw9IGkgJiYgaSA8PSB0aGlzLmxhc3RDaGFyOwogICAgfSwKCiAgICBnZXQ6IGZ1bmN0aW9uIChpKSB7CiAgICAgIGlmICh0aGlzLmZpcnN0Q2hhciA8PSBpICYmIGkgPD0gdGhpcy5sYXN0Q2hhcikgewogICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpOwogICAgICB9CiAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICB9LAoKICAgIGNoYXJDb2RlT2Y6IGZ1bmN0aW9uICh2KSB7CiAgICAgIGVycm9yKCdzaG91bGQgbm90IGNhbGwgLmNoYXJDb2RlT2YnKTsKICAgIH0KICB9OwoKICByZXR1cm4gSWRlbnRpdHlUb1VuaWNvZGVNYXA7Cn0pKCk7Cgp2YXIgT3BlblR5cGVGaWxlQnVpbGRlciA9IChmdW5jdGlvbiBPcGVuVHlwZUZpbGVCdWlsZGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiB3cml0ZUludDE2KGRlc3QsIG9mZnNldCwgbnVtKSB7CiAgICBkZXN0W29mZnNldF0gPSAobnVtID4+IDgpICYgMHhGRjsKICAgIGRlc3Rbb2Zmc2V0ICsgMV0gPSBudW0gJiAweEZGOwogIH0KCiAgZnVuY3Rpb24gd3JpdGVJbnQzMihkZXN0LCBvZmZzZXQsIG51bSkgewogICAgZGVzdFtvZmZzZXRdID0gKG51bSA+PiAyNCkgJiAweEZGOwogICAgZGVzdFtvZmZzZXQgKyAxXSA9IChudW0gPj4gMTYpICYgMHhGRjsKICAgIGRlc3Rbb2Zmc2V0ICsgMl0gPSAobnVtID4+IDgpICYgMHhGRjsKICAgIGRlc3Rbb2Zmc2V0ICsgM10gPSBudW0gJiAweEZGOwogIH0KCiAgZnVuY3Rpb24gd3JpdGVEYXRhKGRlc3QsIG9mZnNldCwgZGF0YSkgewogICAgdmFyIGksIGlpOwogICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7CiAgICAgIGRlc3Quc2V0KGRhdGEsIG9mZnNldCk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykgewogICAgICBmb3IgKGkgPSAwLCBpaSA9IGRhdGEubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGRlc3Rbb2Zmc2V0KytdID0gZGF0YS5jaGFyQ29kZUF0KGkpICYgMHhGRjsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgLy8gdHJlYXRpbmcgZXZlcnl0aGluZyBlbHNlIGFzIGFycmF5CiAgICAgIGZvciAoaSA9IDAsIGlpID0gZGF0YS5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgZGVzdFtvZmZzZXQrK10gPSBkYXRhW2ldICYgMHhGRjsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gT3BlblR5cGVGaWxlQnVpbGRlcihzZm50KSB7CiAgICB0aGlzLnNmbnQgPSBzZm50OwogICAgdGhpcy50YWJsZXMgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogIH0KCiAgT3BlblR5cGVGaWxlQnVpbGRlci5nZXRTZWFyY2hQYXJhbXMgPQogICAgICBmdW5jdGlvbiBPcGVuVHlwZUZpbGVCdWlsZGVyX2dldFNlYXJjaFBhcmFtcyhlbnRyaWVzQ291bnQsIGVudHJ5U2l6ZSkgewogICAgdmFyIG1heFBvd2VyMiA9IDEsIGxvZzIgPSAwOwogICAgd2hpbGUgKChtYXhQb3dlcjIgXiBlbnRyaWVzQ291bnQpID4gbWF4UG93ZXIyKSB7CiAgICAgIG1heFBvd2VyMiA8PD0gMTsKICAgICAgbG9nMisrOwogICAgfQogICAgdmFyIHNlYXJjaFJhbmdlID0gbWF4UG93ZXIyICogZW50cnlTaXplOwogICAgcmV0dXJuIHsKICAgICAgcmFuZ2U6IHNlYXJjaFJhbmdlLAogICAgICBlbnRyeTogbG9nMiwKICAgICAgcmFuZ2VTaGlmdDogZW50cnlTaXplICogZW50cmllc0NvdW50IC0gc2VhcmNoUmFuZ2UKICAgIH07CiAgfTsKCiAgdmFyIE9URl9IRUFERVJfU0laRSA9IDEyOwogIHZhciBPVEZfVEFCTEVfRU5UUllfU0laRSA9IDE2OwoKICBPcGVuVHlwZUZpbGVCdWlsZGVyLnByb3RvdHlwZSA9IHsKICAgIHRvQXJyYXk6IGZ1bmN0aW9uIE9wZW5UeXBlRmlsZUJ1aWxkZXJfdG9BcnJheSgpIHsKICAgICAgdmFyIHNmbnQgPSB0aGlzLnNmbnQ7CgogICAgICAvLyBUYWJsZXMgbmVlZHMgdG8gYmUgd3JpdHRlbiBieSBhc2NlbmRhbnQgYWxwaGFiZXRpYyBvcmRlcgogICAgICB2YXIgdGFibGVzID0gdGhpcy50YWJsZXM7CiAgICAgIHZhciB0YWJsZXNOYW1lcyA9IE9iamVjdC5rZXlzKHRhYmxlcyk7CiAgICAgIHRhYmxlc05hbWVzLnNvcnQoKTsKICAgICAgdmFyIG51bVRhYmxlcyA9IHRhYmxlc05hbWVzLmxlbmd0aDsKCiAgICAgIHZhciBpLCBqLCBqaiwgdGFibGUsIHRhYmxlTmFtZTsKICAgICAgLy8gbGF5b3V0IHRoZSB0YWJsZXMgZGF0YQogICAgICB2YXIgb2Zmc2V0ID0gT1RGX0hFQURFUl9TSVpFICsgbnVtVGFibGVzICogT1RGX1RBQkxFX0VOVFJZX1NJWkU7CiAgICAgIHZhciB0YWJsZU9mZnNldHMgPSBbb2Zmc2V0XTsKICAgICAgZm9yIChpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKSB7CiAgICAgICAgdGFibGUgPSB0YWJsZXNbdGFibGVzTmFtZXNbaV1dOwogICAgICAgIHZhciBwYWRkZWRMZW5ndGggPSAoKHRhYmxlLmxlbmd0aCArIDMpICYgfjMpID4+PiAwOwogICAgICAgIG9mZnNldCArPSBwYWRkZWRMZW5ndGg7CiAgICAgICAgdGFibGVPZmZzZXRzLnB1c2gob2Zmc2V0KTsKICAgICAgfQoKICAgICAgdmFyIGZpbGUgPSBuZXcgVWludDhBcnJheShvZmZzZXQpOwogICAgICAvLyB3cml0ZSB0aGUgdGFibGUgZGF0YSBmaXJzdCAobW9zdGx5IGZvciBjaGVja3N1bSkKICAgICAgZm9yIChpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKSB7CiAgICAgICAgdGFibGUgPSB0YWJsZXNbdGFibGVzTmFtZXNbaV1dOwogICAgICAgIHdyaXRlRGF0YShmaWxlLCB0YWJsZU9mZnNldHNbaV0sIHRhYmxlKTsKICAgICAgfQoKICAgICAgLy8gc2ZudCB2ZXJzaW9uICg0IGJ5dGVzKQogICAgICBpZiAoc2ZudCA9PT0gJ3RydWUnKSB7CiAgICAgICAgLy8gV2luZG93cyBoYXRlcyB0aGUgTWFjIFRydWVUeXBlIHNmbnQgdmVyc2lvbiBudW1iZXIKICAgICAgICBzZm50ID0gc3RyaW5nMzIoMHgwMDAxMDAwMCk7CiAgICAgIH0KICAgICAgZmlsZVswXSA9IHNmbnQuY2hhckNvZGVBdCgwKSAmIDB4RkY7CiAgICAgIGZpbGVbMV0gPSBzZm50LmNoYXJDb2RlQXQoMSkgJiAweEZGOwogICAgICBmaWxlWzJdID0gc2ZudC5jaGFyQ29kZUF0KDIpICYgMHhGRjsKICAgICAgZmlsZVszXSA9IHNmbnQuY2hhckNvZGVBdCgzKSAmIDB4RkY7CgogICAgICAvLyBudW1UYWJsZXMgKDIgYnl0ZXMpCiAgICAgIHdyaXRlSW50MTYoZmlsZSwgNCwgbnVtVGFibGVzKTsKCiAgICAgIHZhciBzZWFyY2hQYXJhbXMgPSBPcGVuVHlwZUZpbGVCdWlsZGVyLmdldFNlYXJjaFBhcmFtcyhudW1UYWJsZXMsIDE2KTsKCiAgICAgIC8vIHNlYXJjaFJhbmdlICgyIGJ5dGVzKQogICAgICB3cml0ZUludDE2KGZpbGUsIDYsIHNlYXJjaFBhcmFtcy5yYW5nZSk7CiAgICAgIC8vIGVudHJ5U2VsZWN0b3IgKDIgYnl0ZXMpCiAgICAgIHdyaXRlSW50MTYoZmlsZSwgOCwgc2VhcmNoUGFyYW1zLmVudHJ5KTsKICAgICAgLy8gcmFuZ2VTaGlmdCAoMiBieXRlcykKICAgICAgd3JpdGVJbnQxNihmaWxlLCAxMCwgc2VhcmNoUGFyYW1zLnJhbmdlU2hpZnQpOwoKICAgICAgb2Zmc2V0ID0gT1RGX0hFQURFUl9TSVpFOwogICAgICAvLyB3cml0aW5nIHRhYmxlIGVudHJpZXMKICAgICAgZm9yIChpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKSB7CiAgICAgICAgdGFibGVOYW1lID0gdGFibGVzTmFtZXNbaV07CiAgICAgICAgZmlsZVtvZmZzZXRdID0gdGFibGVOYW1lLmNoYXJDb2RlQXQoMCkgJiAweEZGOwogICAgICAgIGZpbGVbb2Zmc2V0ICsgMV0gPSB0YWJsZU5hbWUuY2hhckNvZGVBdCgxKSAmIDB4RkY7CiAgICAgICAgZmlsZVtvZmZzZXQgKyAyXSA9IHRhYmxlTmFtZS5jaGFyQ29kZUF0KDIpICYgMHhGRjsKICAgICAgICBmaWxlW29mZnNldCArIDNdID0gdGFibGVOYW1lLmNoYXJDb2RlQXQoMykgJiAweEZGOwoKICAgICAgICAvLyBjaGVja3N1bQogICAgICAgIHZhciBjaGVja3N1bSA9IDA7CiAgICAgICAgZm9yIChqID0gdGFibGVPZmZzZXRzW2ldLCBqaiA9IHRhYmxlT2Zmc2V0c1tpICsgMV07IGogPCBqajsgaiArPSA0KSB7CiAgICAgICAgICB2YXIgcXVhZCA9IChmaWxlW2pdIDw8IDI0KSArIChmaWxlW2ogKyAxXSA8PCAxNikgKwogICAgICAgICAgICAgICAgICAgICAoZmlsZVtqICsgMl0gPDwgOCkgKyBmaWxlW2ogKyAzXTsKICAgICAgICAgIGNoZWNrc3VtID0gKGNoZWNrc3VtICsgcXVhZCkgfCAwOwogICAgICAgIH0KICAgICAgICB3cml0ZUludDMyKGZpbGUsIG9mZnNldCArIDQsIGNoZWNrc3VtKTsKCiAgICAgICAgLy8gb2Zmc2V0CiAgICAgICAgd3JpdGVJbnQzMihmaWxlLCBvZmZzZXQgKyA4LCB0YWJsZU9mZnNldHNbaV0pOwogICAgICAgIC8vIGxlbmd0aAogICAgICAgIHdyaXRlSW50MzIoZmlsZSwgb2Zmc2V0ICsgMTIsIHRhYmxlc1t0YWJsZU5hbWVdLmxlbmd0aCk7CgogICAgICAgIG9mZnNldCArPSBPVEZfVEFCTEVfRU5UUllfU0laRTsKICAgICAgfQogICAgICByZXR1cm4gZmlsZTsKICAgIH0sCgogICAgYWRkVGFibGU6IGZ1bmN0aW9uIE9wZW5UeXBlRmlsZUJ1aWxkZXJfYWRkVGFibGUodGFnLCBkYXRhKSB7CiAgICAgIGlmICh0YWcgaW4gdGhpcy50YWJsZXMpIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhYmxlICcgKyB0YWcgKyAnIGFscmVhZHkgZXhpc3RzJyk7CiAgICAgIH0KICAgICAgdGhpcy50YWJsZXNbdGFnXSA9IGRhdGE7CiAgICB9CiAgfTsKCiAgcmV0dXJuIE9wZW5UeXBlRmlsZUJ1aWxkZXI7Cn0pKCk7CgovKioKICogJ0ZvbnQnIGlzIHRoZSBjbGFzcyB0aGUgb3V0c2lkZSB3b3JsZCBzaG91bGQgdXNlLCBpdCBlbmNhcHN1bGF0ZSBhbGwgdGhlIGZvbnQKICogZGVjb2RpbmcgbG9naWNzIHdoYXRldmVyIHR5cGUgaXQgaXMgKGFzc3VtaW5nIHRoZSBmb250IHR5cGUgaXMgc3VwcG9ydGVkKS4KICoKICogRm9yIGV4YW1wbGUgdG8gcmVhZCBhIFR5cGUxIGZvbnQgYW5kIHRvIGF0dGFjaCBpdCB0byB0aGUgZG9jdW1lbnQ6CiAqICAgdmFyIHR5cGUxRm9udCA9IG5ldyBGb250KCJNeUZvbnROYW1lIiwgYmluYXJ5RmlsZSwgcHJvcGVydGllc09iamVjdCk7CiAqICAgdHlwZTFGb250LmJpbmQoKTsKICovCnZhciBGb250ID0gKGZ1bmN0aW9uIEZvbnRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEZvbnQobmFtZSwgZmlsZSwgcHJvcGVydGllcykgewogICAgdmFyIGNoYXJDb2RlLCBnbHlwaE5hbWUsIGZvbnRDaGFyOwoKICAgIHRoaXMubmFtZSA9IG5hbWU7CiAgICB0aGlzLmxvYWRlZE5hbWUgPSBwcm9wZXJ0aWVzLmxvYWRlZE5hbWU7CiAgICB0aGlzLmlzVHlwZTNGb250ID0gcHJvcGVydGllcy5pc1R5cGUzRm9udDsKICAgIHRoaXMuc2l6ZXMgPSBbXTsKCiAgICB0aGlzLmdseXBoQ2FjaGUgPSB7fTsKCiAgICB2YXIgbmFtZXMgPSBuYW1lLnNwbGl0KCcrJyk7CiAgICBuYW1lcyA9IG5hbWVzLmxlbmd0aCA+IDEgPyBuYW1lc1sxXSA6IG5hbWVzWzBdOwogICAgbmFtZXMgPSBuYW1lcy5zcGxpdCgvWy0sX10vZylbMF07CiAgICB0aGlzLmlzU2VyaWZGb250ID0gISEocHJvcGVydGllcy5mbGFncyAmIEZvbnRGbGFncy5TZXJpZik7CiAgICB0aGlzLmlzU3ltYm9saWNGb250ID0gISEocHJvcGVydGllcy5mbGFncyAmIEZvbnRGbGFncy5TeW1ib2xpYyk7CiAgICB0aGlzLmlzTW9ub3NwYWNlID0gISEocHJvcGVydGllcy5mbGFncyAmIEZvbnRGbGFncy5GaXhlZFBpdGNoKTsKCiAgICB2YXIgdHlwZSA9IHByb3BlcnRpZXMudHlwZTsKICAgIHZhciBzdWJ0eXBlID0gcHJvcGVydGllcy5zdWJ0eXBlOwogICAgdGhpcy50eXBlID0gdHlwZTsKCiAgICB0aGlzLmZhbGxiYWNrTmFtZSA9ICh0aGlzLmlzTW9ub3NwYWNlID8gJ21vbm9zcGFjZScgOgogICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuaXNTZXJpZkZvbnQgPyAnc2VyaWYnIDogJ3NhbnMtc2VyaWYnKSk7CgogICAgdGhpcy5kaWZmZXJlbmNlcyA9IHByb3BlcnRpZXMuZGlmZmVyZW5jZXM7CiAgICB0aGlzLndpZHRocyA9IHByb3BlcnRpZXMud2lkdGhzOwogICAgdGhpcy5kZWZhdWx0V2lkdGggPSBwcm9wZXJ0aWVzLmRlZmF1bHRXaWR0aDsKICAgIHRoaXMuY29tcG9zaXRlID0gcHJvcGVydGllcy5jb21wb3NpdGU7CiAgICB0aGlzLndpZGVDaGFycyA9IHByb3BlcnRpZXMud2lkZUNoYXJzOwogICAgdGhpcy5jTWFwID0gcHJvcGVydGllcy5jTWFwOwogICAgdGhpcy5hc2NlbnQgPSBwcm9wZXJ0aWVzLmFzY2VudCAvIFBERl9HTFlQSF9TUEFDRV9VTklUUzsKICAgIHRoaXMuZGVzY2VudCA9IHByb3BlcnRpZXMuZGVzY2VudCAvIFBERl9HTFlQSF9TUEFDRV9VTklUUzsKICAgIHRoaXMuZm9udE1hdHJpeCA9IHByb3BlcnRpZXMuZm9udE1hdHJpeDsKCiAgICB0aGlzLnRvVW5pY29kZSA9IHByb3BlcnRpZXMudG9Vbmljb2RlID0gdGhpcy5idWlsZFRvVW5pY29kZShwcm9wZXJ0aWVzKTsKCiAgICB0aGlzLnRvRm9udENoYXIgPSBbXTsKCiAgICBpZiAocHJvcGVydGllcy50eXBlID09PSAnVHlwZTMnKSB7CiAgICAgIGZvciAoY2hhckNvZGUgPSAwOyBjaGFyQ29kZSA8IDI1NjsgY2hhckNvZGUrKykgewogICAgICAgIHRoaXMudG9Gb250Q2hhcltjaGFyQ29kZV0gPSAodGhpcy5kaWZmZXJlbmNlc1tjaGFyQ29kZV0gfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMuZGVmYXVsdEVuY29kaW5nW2NoYXJDb2RlXSk7CiAgICAgIH0KICAgICAgdGhpcy5mb250VHlwZSA9IEZvbnRUeXBlLlRZUEUzOwogICAgICByZXR1cm47CiAgICB9CgogICAgdGhpcy5jaWRFbmNvZGluZyA9IHByb3BlcnRpZXMuY2lkRW5jb2Rpbmc7CiAgICB0aGlzLnZlcnRpY2FsID0gcHJvcGVydGllcy52ZXJ0aWNhbDsKICAgIGlmICh0aGlzLnZlcnRpY2FsKSB7CiAgICAgIHRoaXMudm1ldHJpY3MgPSBwcm9wZXJ0aWVzLnZtZXRyaWNzOwogICAgICB0aGlzLmRlZmF1bHRWTWV0cmljcyA9IHByb3BlcnRpZXMuZGVmYXVsdFZNZXRyaWNzOwogICAgfQoKICAgIGlmICghZmlsZSB8fCBmaWxlLmlzRW1wdHkpIHsKICAgICAgaWYgKGZpbGUpIHsKICAgICAgICAvLyBTb21lIGJhZCBQREYgZ2VuZXJhdG9ycyB3aWxsIGluY2x1ZGUgZW1wdHkgZm9udCBmaWxlcywKICAgICAgICAvLyBhdHRlbXB0aW5nIHRvIHJlY292ZXIgYnkgYXNzdW1pbmcgdGhhdCBubyBmaWxlIGV4aXN0cy4KICAgICAgICB3YXJuKCdGb250IGZpbGUgaXMgZW1wdHkgaW4gIicgKyBuYW1lICsgJyIgKCcgKyB0aGlzLmxvYWRlZE5hbWUgKyAnKScpOwogICAgICB9CgogICAgICB0aGlzLm1pc3NpbmdGaWxlID0gdHJ1ZTsKICAgICAgLy8gVGhlIGZpbGUgZGF0YSBpcyBub3Qgc3BlY2lmaWVkLiBUcnlpbmcgdG8gZml4IHRoZSBmb250IG5hbWUKICAgICAgLy8gdG8gYmUgdXNlZCB3aXRoIHRoZSBjYW52YXMuZm9udC4KICAgICAgdmFyIGZvbnROYW1lID0gbmFtZS5yZXBsYWNlKC9bLF9dL2csICctJyk7CiAgICAgIHZhciBpc1N0YW5kYXJkRm9udCA9ICEhc3RkRm9udE1hcFtmb250TmFtZV0gfHwKICAgICAgICAhIShub25TdGRGb250TWFwW2ZvbnROYW1lXSAmJiBzdGRGb250TWFwW25vblN0ZEZvbnRNYXBbZm9udE5hbWVdXSk7CiAgICAgIGZvbnROYW1lID0gc3RkRm9udE1hcFtmb250TmFtZV0gfHwgbm9uU3RkRm9udE1hcFtmb250TmFtZV0gfHwgZm9udE5hbWU7CgogICAgICB0aGlzLmJvbGQgPSAoZm9udE5hbWUuc2VhcmNoKC9ib2xkL2dpKSAhPT0gLTEpOwogICAgICB0aGlzLml0YWxpYyA9ICgoZm9udE5hbWUuc2VhcmNoKC9vYmxpcXVlL2dpKSAhPT0gLTEpIHx8CiAgICAgICAgICAgICAgICAgICAgIChmb250TmFtZS5zZWFyY2goL2l0YWxpYy9naSkgIT09IC0xKSk7CgogICAgICAvLyBVc2UgJ25hbWUnIGluc3RlYWQgb2YgJ2ZvbnROYW1lJyBoZXJlIGJlY2F1c2UgdGhlIG9yaWdpbmFsCiAgICAgIC8vIG5hbWUgQXJpYWxCbGFjayBmb3IgZXhhbXBsZSB3aWxsIGJlIHJlcGxhY2VkIGJ5IEhlbHZldGljYS4KICAgICAgdGhpcy5ibGFjayA9IChuYW1lLnNlYXJjaCgvQmxhY2svZykgIT09IC0xKTsKCiAgICAgIC8vIGlmIGF0IGxlYXN0IG9uZSB3aWR0aCBpcyBwcmVzZW50LCByZW1lYXN1cmUgYWxsIGNoYXJzIHdoZW4gZXhpc3RzCiAgICAgIHRoaXMucmVtZWFzdXJlID0gT2JqZWN0LmtleXModGhpcy53aWR0aHMpLmxlbmd0aCA+IDA7CiAgICAgIGlmIChpc1N0YW5kYXJkRm9udCAmJiB0eXBlID09PSAnQ0lERm9udFR5cGUyJyAmJgogICAgICAgICAgcHJvcGVydGllcy5jaWRFbmNvZGluZy5pbmRleE9mKCdJZGVudGl0eS0nKSA9PT0gMCkgewogICAgICAgIC8vIFN0YW5kYXJkIGZvbnRzIG1pZ2h0IGJlIGVtYmVkZGVkIGFzIENJRCBmb250IHdpdGhvdXQgZ2x5cGggbWFwcGluZy4KICAgICAgICAvLyBCdWlsZGluZyBvbmUgYmFzZWQgb24gR2x5cGhNYXBGb3JTdGFuZGFyZEZvbnRzLgogICAgICAgIHZhciBtYXAgPSBbXTsKICAgICAgICBmb3IgKHZhciBjb2RlIGluIEdseXBoTWFwRm9yU3RhbmRhcmRGb250cykgewogICAgICAgICAgbWFwWytjb2RlXSA9IEdseXBoTWFwRm9yU3RhbmRhcmRGb250c1tjb2RlXTsKICAgICAgICB9CiAgICAgICAgdmFyIGlzSWRlbnRpdHlVbmljb2RlID0gdGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcDsKICAgICAgICBpZiAoIWlzSWRlbnRpdHlVbmljb2RlKSB7CiAgICAgICAgICB0aGlzLnRvVW5pY29kZS5mb3JFYWNoKGZ1bmN0aW9uKGNoYXJDb2RlLCB1bmljb2RlQ2hhckNvZGUpIHsKICAgICAgICAgICAgbWFwWytjaGFyQ29kZV0gPSB1bmljb2RlQ2hhckNvZGU7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgdGhpcy50b0ZvbnRDaGFyID0gbWFwOwogICAgICAgIHRoaXMudG9Vbmljb2RlID0gbmV3IFRvVW5pY29kZU1hcChtYXApOwogICAgICB9IGVsc2UgaWYgKC9TeW1ib2wvaS50ZXN0KGZvbnROYW1lKSkgewogICAgICAgIHZhciBzeW1ib2xzID0gRW5jb2RpbmdzLlN5bWJvbFNldEVuY29kaW5nOwogICAgICAgIGZvciAoY2hhckNvZGUgaW4gc3ltYm9scykgewogICAgICAgICAgZm9udENoYXIgPSBHbHlwaHNVbmljb2RlW3N5bWJvbHNbY2hhckNvZGVdXTsKICAgICAgICAgIGlmICghZm9udENoYXIpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLnRvRm9udENoYXJbY2hhckNvZGVdID0gZm9udENoYXI7CiAgICAgICAgfQogICAgICAgIGZvciAoY2hhckNvZGUgaW4gcHJvcGVydGllcy5kaWZmZXJlbmNlcykgewogICAgICAgICAgZm9udENoYXIgPSBHbHlwaHNVbmljb2RlW3Byb3BlcnRpZXMuZGlmZmVyZW5jZXNbY2hhckNvZGVdXTsKICAgICAgICAgIGlmICghZm9udENoYXIpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLnRvRm9udENoYXJbY2hhckNvZGVdID0gZm9udENoYXI7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKC9EaW5nYmF0cy9pLnRlc3QoZm9udE5hbWUpKSB7CiAgICAgICAgaWYgKC9XaW5nZGluZ3MvaS50ZXN0KG5hbWUpKSB7CiAgICAgICAgICB3YXJuKCdXaW5nZGluZ3MgZm9udCB3aXRob3V0IGVtYmVkZGVkIGZvbnQgZmlsZSwgJyArCiAgICAgICAgICAgICAgICdmYWxsaW5nIGJhY2sgdG8gdGhlIFphcGZEaW5nYmF0cyBlbmNvZGluZy4nKTsKICAgICAgICB9CiAgICAgICAgdmFyIGRpbmdiYXRzID0gRW5jb2RpbmdzLlphcGZEaW5nYmF0c0VuY29kaW5nOwogICAgICAgIGZvciAoY2hhckNvZGUgaW4gZGluZ2JhdHMpIHsKICAgICAgICAgIGZvbnRDaGFyID0gRGluZ2JhdHNHbHlwaHNVbmljb2RlW2RpbmdiYXRzW2NoYXJDb2RlXV07CiAgICAgICAgICBpZiAoIWZvbnRDaGFyKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy50b0ZvbnRDaGFyW2NoYXJDb2RlXSA9IGZvbnRDaGFyOwogICAgICAgIH0KICAgICAgICBmb3IgKGNoYXJDb2RlIGluIHByb3BlcnRpZXMuZGlmZmVyZW5jZXMpIHsKICAgICAgICAgIGZvbnRDaGFyID0gRGluZ2JhdHNHbHlwaHNVbmljb2RlW3Byb3BlcnRpZXMuZGlmZmVyZW5jZXNbY2hhckNvZGVdXTsKICAgICAgICAgIGlmICghZm9udENoYXIpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLnRvRm9udENoYXJbY2hhckNvZGVdID0gZm9udENoYXI7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKGlzU3RhbmRhcmRGb250KSB7CiAgICAgICAgdGhpcy50b0ZvbnRDaGFyID0gW107CiAgICAgICAgZm9yIChjaGFyQ29kZSBpbiBwcm9wZXJ0aWVzLmRlZmF1bHRFbmNvZGluZykgewogICAgICAgICAgZ2x5cGhOYW1lID0gKHByb3BlcnRpZXMuZGlmZmVyZW5jZXNbY2hhckNvZGVdIHx8CiAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcy5kZWZhdWx0RW5jb2RpbmdbY2hhckNvZGVdKTsKICAgICAgICAgIHRoaXMudG9Gb250Q2hhcltjaGFyQ29kZV0gPSBHbHlwaHNVbmljb2RlW2dseXBoTmFtZV07CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHZhciB1bmljb2RlQ2hhckNvZGUsIG5vdENpZEZvbnQgPSAodHlwZS5pbmRleE9mKCdDSURGb250VHlwZScpID09PSAtMSk7CiAgICAgICAgdGhpcy50b1VuaWNvZGUuZm9yRWFjaChmdW5jdGlvbihjaGFyQ29kZSwgdW5pY29kZUNoYXJDb2RlKSB7CiAgICAgICAgICBpZiAobm90Q2lkRm9udCkgewogICAgICAgICAgICBnbHlwaE5hbWUgPSAocHJvcGVydGllcy5kaWZmZXJlbmNlc1tjaGFyQ29kZV0gfHwKICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMuZGVmYXVsdEVuY29kaW5nW2NoYXJDb2RlXSk7CiAgICAgICAgICAgIHVuaWNvZGVDaGFyQ29kZSA9IChHbHlwaHNVbmljb2RlW2dseXBoTmFtZV0gfHwgdW5pY29kZUNoYXJDb2RlKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMudG9Gb250Q2hhcltjaGFyQ29kZV0gPSB1bmljb2RlQ2hhckNvZGU7CiAgICAgICAgfS5iaW5kKHRoaXMpKTsKICAgICAgfQogICAgICB0aGlzLmxvYWRlZE5hbWUgPSBmb250TmFtZS5zcGxpdCgnLScpWzBdOwogICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgdGhpcy5mb250VHlwZSA9IGdldEZvbnRUeXBlKHR5cGUsIHN1YnR5cGUpOwogICAgICByZXR1cm47CiAgICB9CgogICAgLy8gU29tZSBmb250cyBtaWdodCB1c2Ugd3JvbmcgZm9udCB0eXBlcyBmb3IgVHlwZTFDIG9yIENJREZvbnRUeXBlMEMKICAgIGlmIChzdWJ0eXBlID09PSAnVHlwZTFDJyAmJiAodHlwZSAhPT0gJ1R5cGUxJyAmJiB0eXBlICE9PSAnTU1UeXBlMScpKSB7CiAgICAgIC8vIFNvbWUgVHJ1ZVR5cGUgZm9udHMgYnkgbWlzdGFrZSBjbGFpbSBUeXBlMUMKICAgICAgaWYgKGlzVHJ1ZVR5cGVGaWxlKGZpbGUpKSB7CiAgICAgICAgc3VidHlwZSA9ICdUcnVlVHlwZSc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdHlwZSA9ICdUeXBlMSc7CiAgICAgIH0KICAgIH0KICAgIGlmIChzdWJ0eXBlID09PSAnQ0lERm9udFR5cGUwQycgJiYgdHlwZSAhPT0gJ0NJREZvbnRUeXBlMCcpIHsKICAgICAgdHlwZSA9ICdDSURGb250VHlwZTAnOwogICAgfQogICAgaWYgKHN1YnR5cGUgPT09ICdPcGVuVHlwZScpIHsKICAgICAgdHlwZSA9ICdPcGVuVHlwZSc7CiAgICB9CiAgICAvLyBTb21lIENJREZvbnRUeXBlMEMgZm9udHMgYnkgbWlzdGFrZSBjbGFpbSBDSURGb250VHlwZTAuCiAgICBpZiAodHlwZSA9PT0gJ0NJREZvbnRUeXBlMCcpIHsKICAgICAgc3VidHlwZSA9IGlzVHlwZTFGaWxlKGZpbGUpID8gJ0NJREZvbnRUeXBlMCcgOiAnQ0lERm9udFR5cGUwQyc7CiAgICB9CgogICAgdmFyIGRhdGE7CiAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgY2FzZSAnTU1UeXBlMSc6CiAgICAgICAgaW5mbygnTU1UeXBlMSBmb250ICgnICsgbmFtZSArICcpLCBmYWxsaW5nIGJhY2sgdG8gVHlwZTEuJyk7CiAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICBjYXNlICdUeXBlMSc6CiAgICAgIGNhc2UgJ0NJREZvbnRUeXBlMCc6CiAgICAgICAgdGhpcy5taW1ldHlwZSA9ICdmb250L29wZW50eXBlJzsKCiAgICAgICAgdmFyIGNmZiA9IChzdWJ0eXBlID09PSAnVHlwZTFDJyB8fCBzdWJ0eXBlID09PSAnQ0lERm9udFR5cGUwQycpID8KICAgICAgICAgIG5ldyBDRkZGb250KGZpbGUsIHByb3BlcnRpZXMpIDogbmV3IFR5cGUxRm9udChuYW1lLCBmaWxlLCBwcm9wZXJ0aWVzKTsKCiAgICAgICAgYWRqdXN0V2lkdGhzKHByb3BlcnRpZXMpOwoKICAgICAgICAvLyBXcmFwIHRoZSBDRkYgZGF0YSBpbnNpZGUgYW4gT1RGIGZvbnQgZmlsZQogICAgICAgIGRhdGEgPSB0aGlzLmNvbnZlcnQobmFtZSwgY2ZmLCBwcm9wZXJ0aWVzKTsKICAgICAgICBicmVhazsKCiAgICAgIGNhc2UgJ09wZW5UeXBlJzoKICAgICAgY2FzZSAnVHJ1ZVR5cGUnOgogICAgICBjYXNlICdDSURGb250VHlwZTInOgogICAgICAgIHRoaXMubWltZXR5cGUgPSAnZm9udC9vcGVudHlwZSc7CgogICAgICAgIC8vIFJlcGFpciB0aGUgVHJ1ZVR5cGUgZmlsZS4gSXQgaXMgY2FuIGJlIGRhbWFnZWQgaW4gdGhlIHBvaW50IG9mCiAgICAgICAgLy8gdmlldyBvZiB0aGUgc2FuaXRpemVyCiAgICAgICAgZGF0YSA9IHRoaXMuY2hlY2tBbmRSZXBhaXIobmFtZSwgZmlsZSwgcHJvcGVydGllcyk7CiAgICAgICAgaWYgKHRoaXMuaXNPcGVuVHlwZSkgewogICAgICAgICAgdHlwZSA9ICdPcGVuVHlwZSc7CiAgICAgICAgfQogICAgICAgIGJyZWFrOwoKICAgICAgZGVmYXVsdDoKICAgICAgICBlcnJvcignRm9udCAnICsgdHlwZSArICcgaXMgbm90IHN1cHBvcnRlZCcpOwogICAgICAgIGJyZWFrOwogICAgfQoKICAgIHRoaXMuZGF0YSA9IGRhdGE7CiAgICB0aGlzLmZvbnRUeXBlID0gZ2V0Rm9udFR5cGUodHlwZSwgc3VidHlwZSk7CgogICAgLy8gVHJhbnNmZXIgc29tZSBwcm9wZXJ0aWVzIGFnYWluIHRoYXQgY291bGQgY2hhbmdlIGR1cmluZyBmb250IGNvbnZlcnNpb24KICAgIHRoaXMuZm9udE1hdHJpeCA9IHByb3BlcnRpZXMuZm9udE1hdHJpeDsKICAgIHRoaXMud2lkdGhzID0gcHJvcGVydGllcy53aWR0aHM7CiAgICB0aGlzLmRlZmF1bHRXaWR0aCA9IHByb3BlcnRpZXMuZGVmYXVsdFdpZHRoOwogICAgdGhpcy5lbmNvZGluZyA9IHByb3BlcnRpZXMuYmFzZUVuY29kaW5nOwogICAgdGhpcy5zZWFjTWFwID0gcHJvcGVydGllcy5zZWFjTWFwOwoKICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgfQoKICBGb250LmdldEZvbnRJRCA9IChmdW5jdGlvbiAoKSB7CiAgICB2YXIgSUQgPSAxOwogICAgcmV0dXJuIGZ1bmN0aW9uIEZvbnRfZ2V0Rm9udElEKCkgewogICAgICByZXR1cm4gU3RyaW5nKElEKyspOwogICAgfTsKICB9KSgpOwoKICBmdW5jdGlvbiBpbnQxNihiMCwgYjEpIHsKICAgIHJldHVybiAoYjAgPDwgOCkgKyBiMTsKICB9CgogIGZ1bmN0aW9uIGludDMyKGIwLCBiMSwgYjIsIGIzKSB7CiAgICByZXR1cm4gKGIwIDw8IDI0KSArIChiMSA8PCAxNikgKyAoYjIgPDwgOCkgKyBiMzsKICB9CgogIGZ1bmN0aW9uIHN0cmluZzE2KHZhbHVlKSB7CiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgodmFsdWUgPj4gOCkgJiAweGZmLCB2YWx1ZSAmIDB4ZmYpOwogIH0KCiAgZnVuY3Rpb24gc2FmZVN0cmluZzE2KHZhbHVlKSB7CiAgICAvLyBjbGFtcCB2YWx1ZSB0byB0aGUgMTYtYml0IGludCByYW5nZQogICAgdmFsdWUgPSAodmFsdWUgPiAweDdGRkYgPyAweDdGRkYgOiAodmFsdWUgPCAtMHg4MDAwID8gLTB4ODAwMCA6IHZhbHVlKSk7CiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgodmFsdWUgPj4gOCkgJiAweGZmLCB2YWx1ZSAmIDB4ZmYpOwogIH0KCiAgZnVuY3Rpb24gaXNUcnVlVHlwZUZpbGUoZmlsZSkgewogICAgdmFyIGhlYWRlciA9IGZpbGUucGVla0J5dGVzKDQpOwogICAgcmV0dXJuIHJlYWRVaW50MzIoaGVhZGVyLCAwKSA9PT0gMHgwMDAxMDAwMDsKICB9CgogIGZ1bmN0aW9uIGlzVHlwZTFGaWxlKGZpbGUpIHsKICAgIHZhciBoZWFkZXIgPSBmaWxlLnBlZWtCeXRlcygyKTsKICAgIC8vIEFsbCBUeXBlMSBmb250IHByb2dyYW1zIG11c3QgYmVnaW4gd2l0aCB0aGUgY29tbWVudCAnJSEnICgweDI1ICsgMHgyMSkuCiAgICBpZiAoaGVhZGVyWzBdID09PSAweDI1ICYmIGhlYWRlclsxXSA9PT0gMHgyMSkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIC8vIC4uLiBvYnZpb3VzbHkgc29tZSBmb250cyB2aW9sYXRlIHRoYXQgcGFydCBvZiB0aGUgc3BlY2lmaWNhdGlvbiwKICAgIC8vIHBsZWFzZSByZWZlciB0byB0aGUgY29tbWVudCBpbiB8VHlwZTFGb250fCBiZWxvdy4KICAgIGlmIChoZWFkZXJbMF0gPT09IDB4ODAgJiYgaGVhZGVyWzFdID09PSAweDAxKSB7IC8vIHBmYiBmaWxlIGhlYWRlci4KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvKioKICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHxhZGp1c3RNYXBwaW5nfC4KICAgKiBAcmV0dXJuIHtib29sZWFufQogICAqLwogIGZ1bmN0aW9uIGlzUHJvYmxlbWF0aWNVbmljb2RlTG9jYXRpb24oY29kZSkgewogICAgaWYgKGNvZGUgPD0gMHgxRikgeyAvLyBDb250cm9sIGNoYXJzCiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgaWYgKGNvZGUgPj0gMHg4MCAmJiBjb2RlIDw9IDB4OUYpIHsgLy8gQ29udHJvbCBjaGFycwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIGlmICgoY29kZSA+PSAweDIwMDAgJiYgY29kZSA8PSAweDIwMEYpIHx8IC8vIEdlbmVyYWwgcHVuY3R1YXRpb24gY2hhcnMKICAgICAgICAoY29kZSA+PSAweDIwMjggJiYgY29kZSA8PSAweDIwMkYpIHx8CiAgICAgICAgKGNvZGUgPj0gMHgyMDYwICYmIGNvZGUgPD0gMHgyMDZGKSkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIGlmIChjb2RlID49IDB4RkZGMCAmJiBjb2RlIDw9IDB4RkZGRikgeyAvLyBTcGVjaWFscyBVbmljb2RlIGJsb2NrCiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgc3dpdGNoIChjb2RlKSB7CiAgICAgIGNhc2UgMHg3RjogLy8gQ29udHJvbCBjaGFyCiAgICAgIGNhc2UgMHhBMDogLy8gTm9uIGJyZWFraW5nIHNwYWNlCiAgICAgIGNhc2UgMHhBRDogLy8gU29mdCBoeXBoZW4KICAgICAgY2FzZSAweDBFMzM6IC8vIFRoYWkgY2hhcmFjdGVyIFNBUkEgQU0KICAgICAgY2FzZSAweDIwMTE6IC8vIE5vbiBicmVha2luZyBoeXBoZW4KICAgICAgY2FzZSAweDIwNUY6IC8vIE1lZGl1bSBtYXRoZW1hdGljYWwgc3BhY2UKICAgICAgY2FzZSAweDI1Q0M6IC8vIERvdHRlZCBjaXJjbGUgKGNvbWJpbmluZyBtYXJrKQogICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLyoqCiAgICogUmVidWlsZHMgdGhlIGNoYXIgY29kZSB0byBnbHlwaCBJRCBtYXAgYnkgdHJ5aW5nIHRvIHJlcGxhY2UgdGhlIGNoYXIgY29kZXMKICAgKiB3aXRoIHRoZWlyIHVuaWNvZGUgdmFsdWUuIEl0IGFsc28gbW92ZXMgY2hhciBjb2RlcyB0aGF0IGFyZSBpbiBrbm93bgogICAqIHByb2JsZW1hdGljIGxvY2F0aW9ucy4KICAgKiBAcmV0dXJuIHtPYmplY3R9IFR3byBwcm9wZXJ0aWVzOgogICAqICd0b0ZvbnRDaGFyJyAtIG1hcHMgb3JpZ2luYWwgY2hhciBjb2Rlcyh0aGUgdmFsdWUgdGhhdCB3aWxsIGJlIHJlYWQKICAgKiBmcm9tIGNvbW1hbmRzIHN1Y2ggYXMgc2hvdyB0ZXh0KSB0byB0aGUgY2hhciBjb2RlcyB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUKICAgKiBmb250IHRoYXQgd2UgYnVpbGQKICAgKiAnY2hhckNvZGVUb0dseXBoSWQnIC0gbWFwcyB0aGUgbmV3IGZvbnQgY2hhciBjb2RlcyB0byBnbHlwaCBpZHMKICAgKi8KICBmdW5jdGlvbiBhZGp1c3RNYXBwaW5nKGNoYXJDb2RlVG9HbHlwaElkLCBwcm9wZXJ0aWVzKSB7CiAgICB2YXIgdG9Vbmljb2RlID0gcHJvcGVydGllcy50b1VuaWNvZGU7CiAgICB2YXIgaXNTeW1ib2xpYyA9ICEhKHByb3BlcnRpZXMuZmxhZ3MgJiBGb250RmxhZ3MuU3ltYm9saWMpOwogICAgdmFyIGlzSWRlbnRpdHlVbmljb2RlID0KICAgICAgcHJvcGVydGllcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcDsKICAgIHZhciBuZXdNYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgdmFyIHRvRm9udENoYXIgPSBbXTsKICAgIHZhciB1c2VkRm9udENoYXJDb2RlcyA9IFtdOwogICAgdmFyIG5leHRBdmFpbGFibGVGb250Q2hhckNvZGUgPSBQUklWQVRFX1VTRV9PRkZTRVRfU1RBUlQ7CiAgICBmb3IgKHZhciBvcmlnaW5hbENoYXJDb2RlIGluIGNoYXJDb2RlVG9HbHlwaElkKSB7CiAgICAgIG9yaWdpbmFsQ2hhckNvZGUgfD0gMDsKICAgICAgdmFyIGdseXBoSWQgPSBjaGFyQ29kZVRvR2x5cGhJZFtvcmlnaW5hbENoYXJDb2RlXTsKICAgICAgdmFyIGZvbnRDaGFyQ29kZSA9IG9yaWdpbmFsQ2hhckNvZGU7CiAgICAgIC8vIEZpcnN0IHRyeSB0byBtYXAgdGhlIHZhbHVlIHRvIGEgdW5pY29kZSBwb3NpdGlvbiBpZiBhIG5vbiBpZGVudGl0eSBtYXAKICAgICAgLy8gd2FzIGNyZWF0ZWQuCiAgICAgIGlmICghaXNJZGVudGl0eVVuaWNvZGUgJiYgdG9Vbmljb2RlLmhhcyhvcmlnaW5hbENoYXJDb2RlKSkgewogICAgICAgIHZhciB1bmljb2RlID0gdG9Vbmljb2RlLmdldChmb250Q2hhckNvZGUpOwogICAgICAgIC8vIFRPRE86IFRyeSB0byBtYXAgbGlnYXR1cmVzIHRvIHRoZSBjb3JyZWN0IHNwb3QuCiAgICAgICAgaWYgKHVuaWNvZGUubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICBmb250Q2hhckNvZGUgPSB1bmljb2RlLmNoYXJDb2RlQXQoMCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIFRyeSB0byBtb3ZlIGNvbnRyb2wgY2hhcmFjdGVycywgc3BlY2lhbCBjaGFyYWN0ZXJzIGFuZCBhbHJlYWR5IG1hcHBlZAogICAgICAvLyBjaGFyYWN0ZXJzIHRvIHRoZSBwcml2YXRlIHVzZSBhcmVhIHNpbmNlIHRoZXkgd2lsbCBub3QgYmUgZHJhd24gYnkKICAgICAgLy8gY2FudmFzIGlmIGxlZnQgaW4gdGhlaXIgY3VycmVudCBwb3NpdGlvbi4gQWxzbywgbW92ZSBjaGFyYWN0ZXJzIGlmIHRoZQogICAgICAvLyBmb250IHdhcyBzeW1ib2xpYyBhbmQgdGhlcmUgaXMgb25seSBhbiBpZGVudGl0eSB1bmljb2RlIG1hcCBzaW5jZSB0aGUKICAgICAgLy8gY2hhcmFjdGVycyBwcm9iYWJseSBhcmVuJ3QgaW4gdGhlIGNvcnJlY3QgcG9zaXRpb24gKGZpeGVzIGFuIGlzc3VlCiAgICAgIC8vIHdpdGggZmlyZWZveCBhbmQgdGh1bHV0aGZvbnQpLgogICAgICBpZiAoKHVzZWRGb250Q2hhckNvZGVzW2ZvbnRDaGFyQ29kZV0gIT09IHVuZGVmaW5lZCB8fAogICAgICAgICAgIGlzUHJvYmxlbWF0aWNVbmljb2RlTG9jYXRpb24oZm9udENoYXJDb2RlKSB8fAogICAgICAgICAgIChpc1N5bWJvbGljICYmIGlzSWRlbnRpdHlVbmljb2RlKSkgJiYKICAgICAgICAgIG5leHRBdmFpbGFibGVGb250Q2hhckNvZGUgPD0gUFJJVkFURV9VU0VfT0ZGU0VUX0VORCkgeyAvLyBSb29tIGxlZnQuCiAgICAgICAgLy8gTG9vcCB0byB0cnkgYW5kIGZpbmQgYSBmcmVlIHNwb3QgaW4gdGhlIHByaXZhdGUgdXNlIGFyZWEuCiAgICAgICAgZG8gewogICAgICAgICAgZm9udENoYXJDb2RlID0gbmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZSsrOwoKICAgICAgICAgIGlmIChTS0lQX1BSSVZBVEVfVVNFX1JBTkdFX0YwMDBfVE9fRjAxRiAmJiBmb250Q2hhckNvZGUgPT09IDB4RjAwMCkgewogICAgICAgICAgICBmb250Q2hhckNvZGUgPSAweEYwMjA7CiAgICAgICAgICAgIG5leHRBdmFpbGFibGVGb250Q2hhckNvZGUgPSBmb250Q2hhckNvZGUgKyAxOwogICAgICAgICAgfQoKICAgICAgICB9IHdoaWxlICh1c2VkRm9udENoYXJDb2Rlc1tmb250Q2hhckNvZGVdICE9PSB1bmRlZmluZWQgJiYKICAgICAgICAgICAgICAgICBuZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlIDw9IFBSSVZBVEVfVVNFX09GRlNFVF9FTkQpOwogICAgICB9CgogICAgICBuZXdNYXBbZm9udENoYXJDb2RlXSA9IGdseXBoSWQ7CiAgICAgIHRvRm9udENoYXJbb3JpZ2luYWxDaGFyQ29kZV0gPSBmb250Q2hhckNvZGU7CiAgICAgIHVzZWRGb250Q2hhckNvZGVzW2ZvbnRDaGFyQ29kZV0gPSB0cnVlOwogICAgfQogICAgcmV0dXJuIHsKICAgICAgdG9Gb250Q2hhcjogdG9Gb250Q2hhciwKICAgICAgY2hhckNvZGVUb0dseXBoSWQ6IG5ld01hcCwKICAgICAgbmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZTogbmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZQogICAgfTsKICB9CgogIGZ1bmN0aW9uIGdldFJhbmdlcyhnbHlwaHMpIHsKICAgIC8vIEFycmF5LnNvcnQoKSBzb3J0cyBieSBjaGFyYWN0ZXJzLCBub3QgbnVtZXJpY2FsbHksIHNvIGNvbnZlcnQgdG8gYW4KICAgIC8vIGFycmF5IG9mIGNoYXJhY3RlcnMuCiAgICB2YXIgY29kZXMgPSBbXTsKICAgIGZvciAodmFyIGNoYXJDb2RlIGluIGdseXBocykgewogICAgICBjb2Rlcy5wdXNoKHsgZm9udENoYXJDb2RlOiBjaGFyQ29kZSB8IDAsIGdseXBoSWQ6IGdseXBoc1tjaGFyQ29kZV0gfSk7CiAgICB9CiAgICBjb2Rlcy5zb3J0KGZ1bmN0aW9uIGZvbnRHZXRSYW5nZXNTb3J0KGEsIGIpIHsKICAgICAgcmV0dXJuIGEuZm9udENoYXJDb2RlIC0gYi5mb250Q2hhckNvZGU7CiAgICB9KTsKCiAgICAvLyBTcGxpdCB0aGUgc29ydGVkIGNvZGVzIGludG8gcmFuZ2VzLgogICAgdmFyIHJhbmdlcyA9IFtdOwogICAgdmFyIGxlbmd0aCA9IGNvZGVzLmxlbmd0aDsKICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGVuZ3RoOyApIHsKICAgICAgdmFyIHN0YXJ0ID0gY29kZXNbbl0uZm9udENoYXJDb2RlOwogICAgICB2YXIgY29kZUluZGljZXMgPSBbY29kZXNbbl0uZ2x5cGhJZF07CiAgICAgICsrbjsKICAgICAgdmFyIGVuZCA9IHN0YXJ0OwogICAgICB3aGlsZSAobiA8IGxlbmd0aCAmJiBlbmQgKyAxID09PSBjb2Rlc1tuXS5mb250Q2hhckNvZGUpIHsKICAgICAgICBjb2RlSW5kaWNlcy5wdXNoKGNvZGVzW25dLmdseXBoSWQpOwogICAgICAgICsrZW5kOwogICAgICAgICsrbjsKICAgICAgICBpZiAoZW5kID09PSAweEZGRkYpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICByYW5nZXMucHVzaChbc3RhcnQsIGVuZCwgY29kZUluZGljZXNdKTsKICAgIH0KCiAgICByZXR1cm4gcmFuZ2VzOwogIH0KCiAgZnVuY3Rpb24gY3JlYXRlQ21hcFRhYmxlKGdseXBocykgewogICAgdmFyIHJhbmdlcyA9IGdldFJhbmdlcyhnbHlwaHMpOwogICAgdmFyIG51bVRhYmxlcyA9IHJhbmdlc1tyYW5nZXMubGVuZ3RoIC0gMV1bMV0gPiAweEZGRkYgPyAyIDogMTsKICAgIHZhciBjbWFwID0gJ1x4MDBceDAwJyArIC8vIHZlcnNpb24KICAgICAgICAgICAgICAgc3RyaW5nMTYobnVtVGFibGVzKSArICAvLyBudW1UYWJsZXMKICAgICAgICAgICAgICAgJ1x4MDBceDAzJyArIC8vIHBsYXRmb3JtSUQKICAgICAgICAgICAgICAgJ1x4MDBceDAxJyArIC8vIGVuY29kaW5nSUQKICAgICAgICAgICAgICAgc3RyaW5nMzIoNCArIG51bVRhYmxlcyAqIDgpOyAvLyBzdGFydCBvZiB0aGUgdGFibGUgcmVjb3JkCgogICAgdmFyIGksIGlpLCBqLCBqajsKICAgIGZvciAoaSA9IHJhbmdlcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgewogICAgICBpZiAocmFuZ2VzW2ldWzBdIDw9IDB4RkZGRikgeyBicmVhazsgfQogICAgfQogICAgdmFyIGJtcExlbmd0aCA9IGkgKyAxOwoKICAgIGlmIChyYW5nZXNbaV1bMF0gPCAweEZGRkYgJiYgcmFuZ2VzW2ldWzFdID09PSAweEZGRkYpIHsKICAgICAgcmFuZ2VzW2ldWzFdID0gMHhGRkZFOwogICAgfQogICAgdmFyIHRyYWlsaW5nUmFuZ2VzQ291bnQgPSByYW5nZXNbaV1bMV0gPCAweEZGRkYgPyAxIDogMDsKICAgIHZhciBzZWdDb3VudCA9IGJtcExlbmd0aCArIHRyYWlsaW5nUmFuZ2VzQ291bnQ7CiAgICB2YXIgc2VhcmNoUGFyYW1zID0gT3BlblR5cGVGaWxlQnVpbGRlci5nZXRTZWFyY2hQYXJhbXMoc2VnQ291bnQsIDIpOwoKICAgIC8vIEZpbGwgdXAgdGhlIDQgcGFyYWxsZWwgYXJyYXlzIGRlc2NyaWJpbmcgdGhlIHNlZ21lbnRzLgogICAgdmFyIHN0YXJ0Q291bnQgPSAnJzsKICAgIHZhciBlbmRDb3VudCA9ICcnOwogICAgdmFyIGlkRGVsdGFzID0gJyc7CiAgICB2YXIgaWRSYW5nZU9mZnNldHMgPSAnJzsKICAgIHZhciBnbHlwaHNJZHMgPSAnJzsKICAgIHZhciBiaWFzID0gMDsKCiAgICB2YXIgcmFuZ2UsIHN0YXJ0LCBlbmQsIGNvZGVzOwogICAgZm9yIChpID0gMCwgaWkgPSBibXBMZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHJhbmdlID0gcmFuZ2VzW2ldOwogICAgICBzdGFydCA9IHJhbmdlWzBdOwogICAgICBlbmQgPSByYW5nZVsxXTsKICAgICAgc3RhcnRDb3VudCArPSBzdHJpbmcxNihzdGFydCk7CiAgICAgIGVuZENvdW50ICs9IHN0cmluZzE2KGVuZCk7CiAgICAgIGNvZGVzID0gcmFuZ2VbMl07CiAgICAgIHZhciBjb250aWd1b3VzID0gdHJ1ZTsKICAgICAgZm9yIChqID0gMSwgamogPSBjb2Rlcy5sZW5ndGg7IGogPCBqajsgKytqKSB7CiAgICAgICAgaWYgKGNvZGVzW2pdICE9PSBjb2Rlc1tqIC0gMV0gKyAxKSB7CiAgICAgICAgICBjb250aWd1b3VzID0gZmFsc2U7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgKCFjb250aWd1b3VzKSB7CiAgICAgICAgdmFyIG9mZnNldCA9IChzZWdDb3VudCAtIGkpICogMiArIGJpYXMgKiAyOwogICAgICAgIGJpYXMgKz0gKGVuZCAtIHN0YXJ0ICsgMSk7CgogICAgICAgIGlkRGVsdGFzICs9IHN0cmluZzE2KDApOwogICAgICAgIGlkUmFuZ2VPZmZzZXRzICs9IHN0cmluZzE2KG9mZnNldCk7CgogICAgICAgIGZvciAoaiA9IDAsIGpqID0gY29kZXMubGVuZ3RoOyBqIDwgamo7ICsraikgewogICAgICAgICAgZ2x5cGhzSWRzICs9IHN0cmluZzE2KGNvZGVzW2pdKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIHN0YXJ0Q29kZSA9IGNvZGVzWzBdOwoKICAgICAgICBpZERlbHRhcyArPSBzdHJpbmcxNigoc3RhcnRDb2RlIC0gc3RhcnQpICYgMHhGRkZGKTsKICAgICAgICBpZFJhbmdlT2Zmc2V0cyArPSBzdHJpbmcxNigwKTsKICAgICAgfQogICAgfQoKICAgIGlmICh0cmFpbGluZ1Jhbmdlc0NvdW50ID4gMCkgewogICAgICBlbmRDb3VudCArPSAnXHhGRlx4RkYnOwogICAgICBzdGFydENvdW50ICs9ICdceEZGXHhGRic7CiAgICAgIGlkRGVsdGFzICs9ICdceDAwXHgwMSc7CiAgICAgIGlkUmFuZ2VPZmZzZXRzICs9ICdceDAwXHgwMCc7CiAgICB9CgogICAgdmFyIGZvcm1hdDMxNCA9ICdceDAwXHgwMCcgKyAvLyBsYW5ndWFnZQogICAgICAgICAgICAgICAgICAgIHN0cmluZzE2KDIgKiBzZWdDb3VudCkgKwogICAgICAgICAgICAgICAgICAgIHN0cmluZzE2KHNlYXJjaFBhcmFtcy5yYW5nZSkgKwogICAgICAgICAgICAgICAgICAgIHN0cmluZzE2KHNlYXJjaFBhcmFtcy5lbnRyeSkgKwogICAgICAgICAgICAgICAgICAgIHN0cmluZzE2KHNlYXJjaFBhcmFtcy5yYW5nZVNoaWZ0KSArCiAgICAgICAgICAgICAgICAgICAgZW5kQ291bnQgKyAnXHgwMFx4MDAnICsgc3RhcnRDb3VudCArCiAgICAgICAgICAgICAgICAgICAgaWREZWx0YXMgKyBpZFJhbmdlT2Zmc2V0cyArIGdseXBoc0lkczsKCiAgICB2YXIgZm9ybWF0MzEwMTIgPSAnJzsKICAgIHZhciBoZWFkZXIzMTAxMiA9ICcnOwogICAgaWYgKG51bVRhYmxlcyA+IDEpIHsKICAgICAgY21hcCArPSAnXHgwMFx4MDMnICsgLy8gcGxhdGZvcm1JRAogICAgICAgICAgICAgICdceDAwXHgwQScgKyAvLyBlbmNvZGluZ0lECiAgICAgICAgICAgICAgc3RyaW5nMzIoNCArIG51bVRhYmxlcyAqIDggKwogICAgICAgICAgICAgICAgICAgICAgIDQgKyBmb3JtYXQzMTQubGVuZ3RoKTsgLy8gc3RhcnQgb2YgdGhlIHRhYmxlIHJlY29yZAogICAgICBmb3JtYXQzMTAxMiA9ICcnOwogICAgICBmb3IgKGkgPSAwLCBpaSA9IHJhbmdlcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgcmFuZ2UgPSByYW5nZXNbaV07CiAgICAgICAgc3RhcnQgPSByYW5nZVswXTsKICAgICAgICBjb2RlcyA9IHJhbmdlWzJdOwogICAgICAgIHZhciBjb2RlID0gY29kZXNbMF07CiAgICAgICAgZm9yIChqID0gMSwgamogPSBjb2Rlcy5sZW5ndGg7IGogPCBqajsgKytqKSB7CiAgICAgICAgICBpZiAoY29kZXNbal0gIT09IGNvZGVzW2ogLSAxXSArIDEpIHsKICAgICAgICAgICAgZW5kID0gcmFuZ2VbMF0gKyBqIC0gMTsKICAgICAgICAgICAgZm9ybWF0MzEwMTIgKz0gc3RyaW5nMzIoc3RhcnQpICsgLy8gc3RhcnRDaGFyQ29kZQogICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmczMihlbmQpICsgLy8gZW5kQ2hhckNvZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nMzIoY29kZSk7IC8vIHN0YXJ0R2x5cGhJRAogICAgICAgICAgICBzdGFydCA9IGVuZCArIDE7CiAgICAgICAgICAgIGNvZGUgPSBjb2Rlc1tqXTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9ybWF0MzEwMTIgKz0gc3RyaW5nMzIoc3RhcnQpICsgLy8gc3RhcnRDaGFyQ29kZQogICAgICAgICAgICAgICAgICAgICAgIHN0cmluZzMyKHJhbmdlWzFdKSArIC8vIGVuZENoYXJDb2RlCiAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nMzIoY29kZSk7IC8vIHN0YXJ0R2x5cGhJRAogICAgICB9CiAgICAgIGhlYWRlcjMxMDEyID0gJ1x4MDBceDBDJyArIC8vIGZvcm1hdAogICAgICAgICAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyByZXNlcnZlZAogICAgICAgICAgICAgICAgICAgIHN0cmluZzMyKGZvcm1hdDMxMDEyLmxlbmd0aCArIDE2KSArIC8vIGxlbmd0aAogICAgICAgICAgICAgICAgICAgICdceDAwXHgwMFx4MDBceDAwJyArIC8vIGxhbmd1YWdlCiAgICAgICAgICAgICAgICAgICAgc3RyaW5nMzIoZm9ybWF0MzEwMTIubGVuZ3RoIC8gMTIpOyAvLyBuR3JvdXBzCiAgICB9CgogICAgcmV0dXJuIGNtYXAgKyAnXHgwMFx4MDQnICsgLy8gZm9ybWF0CiAgICAgICAgICAgICAgICAgIHN0cmluZzE2KGZvcm1hdDMxNC5sZW5ndGggKyA0KSArIC8vIGxlbmd0aAogICAgICAgICAgICAgICAgICBmb3JtYXQzMTQgKyBoZWFkZXIzMTAxMiArIGZvcm1hdDMxMDEyOwogIH0KCiAgZnVuY3Rpb24gdmFsaWRhdGVPUzJUYWJsZShvczIpIHsKICAgIHZhciBzdHJlYW0gPSBuZXcgU3RyZWFtKG9zMi5kYXRhKTsKICAgIHZhciB2ZXJzaW9uID0gc3RyZWFtLmdldFVpbnQxNigpOwogICAgLy8gVE9ETyB2ZXJpZnkgYWxsIE9TLzIgdGFibGVzIGZpZWxkcywgYnV0IGN1cnJlbnRseSB3ZSB2YWxpZGF0ZSBvbmx5IHRob3NlCiAgICAvLyB0aGF0IGdpdmUgdXMgaXNzdWVzCiAgICBzdHJlYW0uZ2V0Qnl0ZXMoNjApOyAvLyBza2lwcGluZyB0eXBlLCBtaXNjIHNpemVzLCBwYW5vc2UsIHVuaWNvZGUgcmFuZ2VzCiAgICB2YXIgc2VsZWN0aW9uID0gc3RyZWFtLmdldFVpbnQxNigpOwogICAgaWYgKHZlcnNpb24gPCA0ICYmIChzZWxlY3Rpb24gJiAweDAzMDApKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHZhciBmaXJzdENoYXIgPSBzdHJlYW0uZ2V0VWludDE2KCk7CiAgICB2YXIgbGFzdENoYXIgPSBzdHJlYW0uZ2V0VWludDE2KCk7CiAgICBpZiAoZmlyc3RDaGFyID4gbGFzdENoYXIpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgc3RyZWFtLmdldEJ5dGVzKDYpOyAvLyBza2lwcGluZyBzVHlwb0FzY2VuZGVyL0Rlc2NlbmRlci9MaW5lR2FwCiAgICB2YXIgdXNXaW5Bc2NlbnQgPSBzdHJlYW0uZ2V0VWludDE2KCk7CiAgICBpZiAodXNXaW5Bc2NlbnQgPT09IDApIHsgLy8gbWFrZXMgZm9udCB1bnJlYWRhYmxlIGJ5IHdpbmRvd3MKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8vIE9TLzIgYXBwZWFycyB0byBiZSB2YWxpZCwgcmVzZXR0aW5nIHNvbWUgZmllbGRzCiAgICBvczIuZGF0YVs4XSA9IG9zMi5kYXRhWzldID0gMDsgLy8gSUUgcmVqZWN0cyBmb250cyBpZiBmc1R5cGUgIT0gMAogICAgcmV0dXJuIHRydWU7CiAgfQoKICBmdW5jdGlvbiBjcmVhdGVPUzJUYWJsZShwcm9wZXJ0aWVzLCBjaGFyc3RyaW5ncywgb3ZlcnJpZGUpIHsKICAgIG92ZXJyaWRlID0gb3ZlcnJpZGUgfHwgewogICAgICB1bml0c1BlckVtOiAwLAogICAgICB5TWF4OiAwLAogICAgICB5TWluOiAwLAogICAgICBhc2NlbnQ6IDAsCiAgICAgIGRlc2NlbnQ6IDAKICAgIH07CgogICAgdmFyIHVsVW5pY29kZVJhbmdlMSA9IDA7CiAgICB2YXIgdWxVbmljb2RlUmFuZ2UyID0gMDsKICAgIHZhciB1bFVuaWNvZGVSYW5nZTMgPSAwOwogICAgdmFyIHVsVW5pY29kZVJhbmdlNCA9IDA7CgogICAgdmFyIGZpcnN0Q2hhckluZGV4ID0gbnVsbDsKICAgIHZhciBsYXN0Q2hhckluZGV4ID0gMDsKCiAgICBpZiAoY2hhcnN0cmluZ3MpIHsKICAgICAgZm9yICh2YXIgY29kZSBpbiBjaGFyc3RyaW5ncykgewogICAgICAgIGNvZGUgfD0gMDsKICAgICAgICBpZiAoZmlyc3RDaGFySW5kZXggPiBjb2RlIHx8ICFmaXJzdENoYXJJbmRleCkgewogICAgICAgICAgZmlyc3RDaGFySW5kZXggPSBjb2RlOwogICAgICAgIH0KICAgICAgICBpZiAobGFzdENoYXJJbmRleCA8IGNvZGUpIHsKICAgICAgICAgIGxhc3RDaGFySW5kZXggPSBjb2RlOwogICAgICAgIH0KCiAgICAgICAgdmFyIHBvc2l0aW9uID0gZ2V0VW5pY29kZVJhbmdlRm9yKGNvZGUpOwogICAgICAgIGlmIChwb3NpdGlvbiA8IDMyKSB7CiAgICAgICAgICB1bFVuaWNvZGVSYW5nZTEgfD0gMSA8PCBwb3NpdGlvbjsKICAgICAgICB9IGVsc2UgaWYgKHBvc2l0aW9uIDwgNjQpIHsKICAgICAgICAgIHVsVW5pY29kZVJhbmdlMiB8PSAxIDw8IHBvc2l0aW9uIC0gMzI7CiAgICAgICAgfSBlbHNlIGlmIChwb3NpdGlvbiA8IDk2KSB7CiAgICAgICAgICB1bFVuaWNvZGVSYW5nZTMgfD0gMSA8PCBwb3NpdGlvbiAtIDY0OwogICAgICAgIH0gZWxzZSBpZiAocG9zaXRpb24gPCAxMjMpIHsKICAgICAgICAgIHVsVW5pY29kZVJhbmdlNCB8PSAxIDw8IHBvc2l0aW9uIC0gOTY7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGVycm9yKCdVbmljb2RlIHJhbmdlcyBCaXRzID4gMTIzIGFyZSByZXNlcnZlZCBmb3IgaW50ZXJuYWwgdXNhZ2UnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIC8vIFRPRE8KICAgICAgZmlyc3RDaGFySW5kZXggPSAwOwogICAgICBsYXN0Q2hhckluZGV4ID0gMjU1OwogICAgfQoKICAgIHZhciBiYm94ID0gcHJvcGVydGllcy5iYm94IHx8IFswLCAwLCAwLCAwXTsKICAgIHZhciB1bml0c1BlckVtID0gKG92ZXJyaWRlLnVuaXRzUGVyRW0gfHwKICAgICAgICAgICAgICAgICAgICAgIDEgLyAocHJvcGVydGllcy5mb250TWF0cml4IHx8IEZPTlRfSURFTlRJVFlfTUFUUklYKVswXSk7CgogICAgLy8gaWYgdGhlIGZvbnQgdW5pdHMgZGlmZmVyIHRvIHRoZSBQREYgZ2x5cGggc3BhY2UgdW5pdHMKICAgIC8vIHRoZW4gc2NhbGUgdXAgdGhlIHZhbHVlcwogICAgdmFyIHNjYWxlID0gKHByb3BlcnRpZXMuYXNjZW50U2NhbGVkID8gMS4wIDoKICAgICAgICAgICAgICAgICB1bml0c1BlckVtIC8gUERGX0dMWVBIX1NQQUNFX1VOSVRTKTsKCiAgICB2YXIgdHlwb0FzY2VudCA9IChvdmVycmlkZS5hc2NlbnQgfHwKICAgICAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQoc2NhbGUgKiAocHJvcGVydGllcy5hc2NlbnQgfHwgYmJveFszXSkpKTsKICAgIHZhciB0eXBvRGVzY2VudCA9IChvdmVycmlkZS5kZXNjZW50IHx8CiAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZChzY2FsZSAqIChwcm9wZXJ0aWVzLmRlc2NlbnQgfHwgYmJveFsxXSkpKTsKICAgIGlmICh0eXBvRGVzY2VudCA+IDAgJiYgcHJvcGVydGllcy5kZXNjZW50ID4gMCAmJiBiYm94WzFdIDwgMCkgewogICAgICB0eXBvRGVzY2VudCA9IC10eXBvRGVzY2VudDsgLy8gZml4aW5nIGluY29ycmVjdCBkZXNjZW50CiAgICB9CiAgICB2YXIgd2luQXNjZW50ID0gb3ZlcnJpZGUueU1heCB8fCB0eXBvQXNjZW50OwogICAgdmFyIHdpbkRlc2NlbnQgPSAtb3ZlcnJpZGUueU1pbiB8fCAtdHlwb0Rlc2NlbnQ7CgogICAgcmV0dXJuICdceDAwXHgwMycgKyAvLyB2ZXJzaW9uCiAgICAgICAgICAgJ1x4MDJceDI0JyArIC8vIHhBdmdDaGFyV2lkdGgKICAgICAgICAgICAnXHgwMVx4RjQnICsgLy8gdXNXZWlnaHRDbGFzcwogICAgICAgICAgICdceDAwXHgwNScgKyAvLyB1c1dpZHRoQ2xhc3MKICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gZnN0eXBlICgwIHRvIGxldCB0aGUgZm9udCBsb2FkcyB2aWEgZm9udC1mYWNlIG9uIElFKQogICAgICAgICAgICdceDAyXHg4QScgKyAvLyB5U3Vic2NyaXB0WFNpemUKICAgICAgICAgICAnXHgwMlx4QkInICsgLy8geVN1YnNjcmlwdFlTaXplCiAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIHlTdWJzY3JpcHRYT2Zmc2V0CiAgICAgICAgICAgJ1x4MDBceDhDJyArIC8vIHlTdWJzY3JpcHRZT2Zmc2V0CiAgICAgICAgICAgJ1x4MDJceDhBJyArIC8vIHlTdXBlclNjcmlwdFhTaXplCiAgICAgICAgICAgJ1x4MDJceEJCJyArIC8vIHlTdXBlclNjcmlwdFlTaXplCiAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIHlTdXBlclNjcmlwdFhPZmZzZXQKICAgICAgICAgICAnXHgwMVx4REYnICsgLy8geVN1cGVyU2NyaXB0WU9mZnNldAogICAgICAgICAgICdceDAwXHgzMScgKyAvLyB5U3RyaWtlT3V0U2l6ZQogICAgICAgICAgICdceDAxXHgwMicgKyAvLyB5U3RyaWtlT3V0UG9zaXRpb24KICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gc0ZhbWlseUNsYXNzCiAgICAgICAgICAgJ1x4MDBceDAwXHgwNicgKwogICAgICAgICAgIFN0cmluZy5mcm9tQ2hhckNvZGUocHJvcGVydGllcy5maXhlZFBpdGNoID8gMHgwOSA6IDB4MDApICsKICAgICAgICAgICAnXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJyArIC8vIFBhbm9zZQogICAgICAgICAgIHN0cmluZzMyKHVsVW5pY29kZVJhbmdlMSkgKyAvLyB1bFVuaWNvZGVSYW5nZTEgKEJpdHMgMC0zMSkKICAgICAgICAgICBzdHJpbmczMih1bFVuaWNvZGVSYW5nZTIpICsgLy8gdWxVbmljb2RlUmFuZ2UyIChCaXRzIDMyLTYzKQogICAgICAgICAgIHN0cmluZzMyKHVsVW5pY29kZVJhbmdlMykgKyAvLyB1bFVuaWNvZGVSYW5nZTMgKEJpdHMgNjQtOTUpCiAgICAgICAgICAgc3RyaW5nMzIodWxVbmljb2RlUmFuZ2U0KSArIC8vIHVsVW5pY29kZVJhbmdlNCAoQml0cyA5Ni0xMjcpCiAgICAgICAgICAgJ1x4MkFceDMyXHgzMVx4MkEnICsgLy8gYWNoVmVuZElECiAgICAgICAgICAgc3RyaW5nMTYocHJvcGVydGllcy5pdGFsaWNBbmdsZSA/IDEgOiAwKSArIC8vIGZzU2VsZWN0aW9uCiAgICAgICAgICAgc3RyaW5nMTYoZmlyc3RDaGFySW5kZXggfHwKICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLmZpcnN0Q2hhcikgKyAvLyB1c0ZpcnN0Q2hhckluZGV4CiAgICAgICAgICAgc3RyaW5nMTYobGFzdENoYXJJbmRleCB8fCBwcm9wZXJ0aWVzLmxhc3RDaGFyKSArICAvLyB1c0xhc3RDaGFySW5kZXgKICAgICAgICAgICBzdHJpbmcxNih0eXBvQXNjZW50KSArIC8vIHNUeXBvQXNjZW5kZXIKICAgICAgICAgICBzdHJpbmcxNih0eXBvRGVzY2VudCkgKyAvLyBzVHlwb0Rlc2NlbmRlcgogICAgICAgICAgICdceDAwXHg2NCcgKyAvLyBzVHlwb0xpbmVHYXAgKDclLTEwJSBvZiB0aGUgdW5pdHNQZXJFTSB2YWx1ZSkKICAgICAgICAgICBzdHJpbmcxNih3aW5Bc2NlbnQpICsgLy8gdXNXaW5Bc2NlbnQKICAgICAgICAgICBzdHJpbmcxNih3aW5EZXNjZW50KSArIC8vIHVzV2luRGVzY2VudAogICAgICAgICAgICdceDAwXHgwMFx4MDBceDAwJyArIC8vIHVsQ29kZVBhZ2VSYW5nZTEgKEJpdHMgMC0zMSkKICAgICAgICAgICAnXHgwMFx4MDBceDAwXHgwMCcgKyAvLyB1bENvZGVQYWdlUmFuZ2UyIChCaXRzIDMyLTYzKQogICAgICAgICAgIHN0cmluZzE2KHByb3BlcnRpZXMueEhlaWdodCkgKyAvLyBzeEhlaWdodAogICAgICAgICAgIHN0cmluZzE2KHByb3BlcnRpZXMuY2FwSGVpZ2h0KSArIC8vIHNDYXBIZWlnaHQKICAgICAgICAgICBzdHJpbmcxNigwKSArIC8vIHVzRGVmYXVsdENoYXIKICAgICAgICAgICBzdHJpbmcxNihmaXJzdENoYXJJbmRleCB8fCBwcm9wZXJ0aWVzLmZpcnN0Q2hhcikgKyAvLyB1c0JyZWFrQ2hhcgogICAgICAgICAgICdceDAwXHgwMyc7ICAvLyB1c01heENvbnRleHQKICB9CgogIGZ1bmN0aW9uIGNyZWF0ZVBvc3RUYWJsZShwcm9wZXJ0aWVzKSB7CiAgICB2YXIgYW5nbGUgPSBNYXRoLmZsb29yKHByb3BlcnRpZXMuaXRhbGljQW5nbGUgKiAoTWF0aC5wb3coMiwgMTYpKSk7CiAgICByZXR1cm4gKCdceDAwXHgwM1x4MDBceDAwJyArIC8vIFZlcnNpb24gbnVtYmVyCiAgICAgICAgICAgIHN0cmluZzMyKGFuZ2xlKSArIC8vIGl0YWxpY0FuZ2xlCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyB1bmRlcmxpbmVQb3NpdGlvbgogICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gdW5kZXJsaW5lVGhpY2tuZXNzCiAgICAgICAgICAgIHN0cmluZzMyKHByb3BlcnRpZXMuZml4ZWRQaXRjaCkgKyAvLyBpc0ZpeGVkUGl0Y2gKICAgICAgICAgICAgJ1x4MDBceDAwXHgwMFx4MDAnICsgLy8gbWluTWVtVHlwZTQyCiAgICAgICAgICAgICdceDAwXHgwMFx4MDBceDAwJyArIC8vIG1heE1lbVR5cGU0MgogICAgICAgICAgICAnXHgwMFx4MDBceDAwXHgwMCcgKyAvLyBtaW5NZW1UeXBlMQogICAgICAgICAgICAnXHgwMFx4MDBceDAwXHgwMCcpOyAgLy8gbWF4TWVtVHlwZTEKICB9CgogIGZ1bmN0aW9uIGNyZWF0ZU5hbWVUYWJsZShuYW1lLCBwcm90bykgewogICAgaWYgKCFwcm90bykgewogICAgICBwcm90byA9IFtbXSwgW11dOyAvLyBubyBzdHJpbmdzIGFuZCB1bmljb2RlIHN0cmluZ3MKICAgIH0KCiAgICB2YXIgc3RyaW5ncyA9IFsKICAgICAgcHJvdG9bMF1bMF0gfHwgJ09yaWdpbmFsIGxpY2VuY2UnLCAgLy8gMC5Db3B5cmlnaHQKICAgICAgcHJvdG9bMF1bMV0gfHwgbmFtZSwgICAgICAgICAgICAgICAgLy8gMS5Gb250IGZhbWlseQogICAgICBwcm90b1swXVsyXSB8fCAnVW5rbm93bicsICAgICAgICAgICAvLyAyLkZvbnQgc3ViZmFtaWx5IChmb250IHdlaWdodCkKICAgICAgcHJvdG9bMF1bM10gfHwgJ3VuaXF1ZUlEJywgICAgICAgICAgLy8gMy5VbmlxdWUgSUQKICAgICAgcHJvdG9bMF1bNF0gfHwgbmFtZSwgICAgICAgICAgICAgICAgLy8gNC5GdWxsIGZvbnQgbmFtZQogICAgICBwcm90b1swXVs1XSB8fCAnVmVyc2lvbiAwLjExJywgICAgICAvLyA1LlZlcnNpb24KICAgICAgcHJvdG9bMF1bNl0gfHwgJycsICAgICAgICAgICAgICAgICAgLy8gNi5Qb3N0c2NyaXB0IG5hbWUKICAgICAgcHJvdG9bMF1bN10gfHwgJ1Vua25vd24nLCAgICAgICAgICAgLy8gNy5UcmFkZW1hcmsKICAgICAgcHJvdG9bMF1bOF0gfHwgJ1Vua25vd24nLCAgICAgICAgICAgLy8gOC5NYW51ZmFjdHVyZXIKICAgICAgcHJvdG9bMF1bOV0gfHwgJ1Vua25vd24nICAgICAgICAgICAgLy8gOS5EZXNpZ25lcgogICAgXTsKCiAgICAvLyBNYWMgd2FudCAxLWJ5dGUgcGVyIGNoYXJhY3RlciBzdHJpbmdzIHdoaWxlIFdpbmRvd3Mgd2FudAogICAgLy8gMi1ieXRlcyBwZXIgY2hhcmFjdGVyLCBzbyBkdXBsaWNhdGUgdGhlIG5hbWVzIHRhYmxlCiAgICB2YXIgc3RyaW5nc1VuaWNvZGUgPSBbXTsKICAgIHZhciBpLCBpaSwgaiwgamosIHN0cjsKICAgIGZvciAoaSA9IDAsIGlpID0gc3RyaW5ncy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHN0ciA9IHByb3RvWzFdW2ldIHx8IHN0cmluZ3NbaV07CgogICAgICB2YXIgc3RyQnVmVW5pY29kZSA9IFtdOwogICAgICBmb3IgKGogPSAwLCBqaiA9IHN0ci5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgc3RyQnVmVW5pY29kZS5wdXNoKHN0cmluZzE2KHN0ci5jaGFyQ29kZUF0KGopKSk7CiAgICAgIH0KICAgICAgc3RyaW5nc1VuaWNvZGUucHVzaChzdHJCdWZVbmljb2RlLmpvaW4oJycpKTsKICAgIH0KCiAgICB2YXIgbmFtZXMgPSBbc3RyaW5ncywgc3RyaW5nc1VuaWNvZGVdOwogICAgdmFyIHBsYXRmb3JtcyA9IFsnXHgwMFx4MDEnLCAnXHgwMFx4MDMnXTsKICAgIHZhciBlbmNvZGluZ3MgPSBbJ1x4MDBceDAwJywgJ1x4MDBceDAxJ107CiAgICB2YXIgbGFuZ3VhZ2VzID0gWydceDAwXHgwMCcsICdceDA0XHgwOSddOwoKICAgIHZhciBuYW1lc1JlY29yZENvdW50ID0gc3RyaW5ncy5sZW5ndGggKiBwbGF0Zm9ybXMubGVuZ3RoOwogICAgdmFyIG5hbWVUYWJsZSA9CiAgICAgICdceDAwXHgwMCcgKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvcm1hdAogICAgICBzdHJpbmcxNihuYW1lc1JlY29yZENvdW50KSArICAgICAgICAgICAvLyBOdW1iZXIgb2YgbmFtZXMgUmVjb3JkCiAgICAgIHN0cmluZzE2KG5hbWVzUmVjb3JkQ291bnQgKiAxMiArIDYpOyAgIC8vIFN0b3JhZ2UKCiAgICAvLyBCdWlsZCB0aGUgbmFtZSByZWNvcmRzIGZpZWxkCiAgICB2YXIgc3RyT2Zmc2V0ID0gMDsKICAgIGZvciAoaSA9IDAsIGlpID0gcGxhdGZvcm1zLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIHN0cnMgPSBuYW1lc1tpXTsKICAgICAgZm9yIChqID0gMCwgamogPSBzdHJzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICBzdHIgPSBzdHJzW2pdOwogICAgICAgIHZhciBuYW1lUmVjb3JkID0KICAgICAgICAgIHBsYXRmb3Jtc1tpXSArIC8vIHBsYXRmb3JtIElECiAgICAgICAgICBlbmNvZGluZ3NbaV0gKyAvLyBlbmNvZGluZyBJRAogICAgICAgICAgbGFuZ3VhZ2VzW2ldICsgLy8gbGFuZ3VhZ2UgSUQKICAgICAgICAgIHN0cmluZzE2KGopICsgLy8gbmFtZSBJRAogICAgICAgICAgc3RyaW5nMTYoc3RyLmxlbmd0aCkgKwogICAgICAgICAgc3RyaW5nMTYoc3RyT2Zmc2V0KTsKICAgICAgICBuYW1lVGFibGUgKz0gbmFtZVJlY29yZDsKICAgICAgICBzdHJPZmZzZXQgKz0gc3RyLmxlbmd0aDsKICAgICAgfQogICAgfQoKICAgIG5hbWVUYWJsZSArPSBzdHJpbmdzLmpvaW4oJycpICsgc3RyaW5nc1VuaWNvZGUuam9pbignJyk7CiAgICByZXR1cm4gbmFtZVRhYmxlOwogIH0KCiAgRm9udC5wcm90b3R5cGUgPSB7CiAgICBuYW1lOiBudWxsLAogICAgZm9udDogbnVsbCwKICAgIG1pbWV0eXBlOiBudWxsLAogICAgZW5jb2Rpbmc6IG51bGwsCiAgICBnZXQgcmVuZGVyZXIoKSB7CiAgICAgIHZhciByZW5kZXJlciA9IEZvbnRSZW5kZXJlckZhY3RvcnkuY3JlYXRlKHRoaXMpOwogICAgICByZXR1cm4gc2hhZG93KHRoaXMsICdyZW5kZXJlcicsIHJlbmRlcmVyKTsKICAgIH0sCgogICAgZXhwb3J0RGF0YTogZnVuY3Rpb24gRm9udF9leHBvcnREYXRhKCkgewogICAgICB2YXIgZGF0YSA9IHt9OwogICAgICBmb3IgKHZhciBpIGluIHRoaXMpIHsKICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShpKSkgewogICAgICAgICAgZGF0YVtpXSA9IHRoaXNbaV07CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKCiAgICBjaGVja0FuZFJlcGFpcjogZnVuY3Rpb24gRm9udF9jaGVja0FuZFJlcGFpcihuYW1lLCBmb250LCBwcm9wZXJ0aWVzKSB7CiAgICAgIGZ1bmN0aW9uIHJlYWRUYWJsZUVudHJ5KGZpbGUpIHsKICAgICAgICB2YXIgdGFnID0gYnl0ZXNUb1N0cmluZyhmaWxlLmdldEJ5dGVzKDQpKTsKCiAgICAgICAgdmFyIGNoZWNrc3VtID0gZmlsZS5nZXRJbnQzMigpOwogICAgICAgIHZhciBvZmZzZXQgPSBmaWxlLmdldEludDMyKCkgPj4+IDA7CiAgICAgICAgdmFyIGxlbmd0aCA9IGZpbGUuZ2V0SW50MzIoKSA+Pj4gMDsKCiAgICAgICAgLy8gUmVhZCB0aGUgdGFibGUgYXNzb2NpYXRlZCBkYXRhCiAgICAgICAgdmFyIHByZXZpb3VzUG9zaXRpb24gPSBmaWxlLnBvczsKICAgICAgICBmaWxlLnBvcyA9IGZpbGUuc3RhcnQgPyBmaWxlLnN0YXJ0IDogMDsKICAgICAgICBmaWxlLnNraXAob2Zmc2V0KTsKICAgICAgICB2YXIgZGF0YSA9IGZpbGUuZ2V0Qnl0ZXMobGVuZ3RoKTsKICAgICAgICBmaWxlLnBvcyA9IHByZXZpb3VzUG9zaXRpb247CgogICAgICAgIGlmICh0YWcgPT09ICdoZWFkJykgewogICAgICAgICAgLy8gY2xlYXJpbmcgY2hlY2tzdW0gYWRqdXN0bWVudAogICAgICAgICAgZGF0YVs4XSA9IGRhdGFbOV0gPSBkYXRhWzEwXSA9IGRhdGFbMTFdID0gMDsKICAgICAgICAgIGRhdGFbMTddIHw9IDB4MjA7IC8vU2V0IGZvbnQgb3B0aW1pemVkIGZvciBjbGVhcnR5cGUgZmxhZwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHRhZzogdGFnLAogICAgICAgICAgY2hlY2tzdW06IGNoZWNrc3VtLAogICAgICAgICAgbGVuZ3RoOiBsZW5ndGgsCiAgICAgICAgICBvZmZzZXQ6IG9mZnNldCwKICAgICAgICAgIGRhdGE6IGRhdGEKICAgICAgICB9OwogICAgICB9CgogICAgICBmdW5jdGlvbiByZWFkT3BlblR5cGVIZWFkZXIodHRmKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHZlcnNpb246IGJ5dGVzVG9TdHJpbmcodHRmLmdldEJ5dGVzKDQpKSwKICAgICAgICAgIG51bVRhYmxlczogdHRmLmdldFVpbnQxNigpLAogICAgICAgICAgc2VhcmNoUmFuZ2U6IHR0Zi5nZXRVaW50MTYoKSwKICAgICAgICAgIGVudHJ5U2VsZWN0b3I6IHR0Zi5nZXRVaW50MTYoKSwKICAgICAgICAgIHJhbmdlU2hpZnQ6IHR0Zi5nZXRVaW50MTYoKQogICAgICAgIH07CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZWFkIHRoZSBhcHByb3ByaWF0ZSBzdWJ0YWJsZSBmcm9tIHRoZSBjbWFwIGFjY29yZGluZyB0byA5LjYuNi40IGZyb20KICAgICAgICogUERGIHNwZWMKICAgICAgICovCiAgICAgIGZ1bmN0aW9uIHJlYWRDbWFwVGFibGUoY21hcCwgZm9udCwgaXNTeW1ib2xpY0ZvbnQpIHsKICAgICAgICB2YXIgc2VnbWVudDsKICAgICAgICB2YXIgc3RhcnQgPSAoZm9udC5zdGFydCA/IGZvbnQuc3RhcnQgOiAwKSArIGNtYXAub2Zmc2V0OwogICAgICAgIGZvbnQucG9zID0gc3RhcnQ7CgogICAgICAgIHZhciB2ZXJzaW9uID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICB2YXIgbnVtVGFibGVzID0gZm9udC5nZXRVaW50MTYoKTsKCiAgICAgICAgdmFyIHBvdGVudGlhbFRhYmxlOwogICAgICAgIHZhciBjYW5CcmVhayA9IGZhbHNlOwogICAgICAgIC8vIFRoZXJlJ3MgYW4gb3JkZXIgb2YgcHJlZmVyZW5jZSBpbiB0ZXJtcyBvZiB3aGljaCBjbWFwIHN1YnRhYmxlIHRvCiAgICAgICAgLy8gdXNlOgogICAgICAgIC8vIC0gbm9uLXN5bWJvbGljIGZvbnRzIHRoZSBwcmVmZXJlbmNlIGlzIGEgMywxIHRhYmxlIHRoZW4gYSAxLDAgdGFibGUKICAgICAgICAvLyAtIHN5bWJvbGljIGZvbnRzIHRoZSBwcmVmZXJlbmNlIGlzIGEgMywwIHRhYmxlIHRoZW4gYSAxLDAgdGFibGUKICAgICAgICAvLyBUaGUgZm9sbG93aW5nIHRha2VzIGFkdmFudGFnZSBvZiB0aGUgZmFjdCB0aGF0IHRoZSB0YWJsZXMgYXJlIHNvcnRlZAogICAgICAgIC8vIHRvIHdvcmsuCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1UYWJsZXM7IGkrKykgewogICAgICAgICAgdmFyIHBsYXRmb3JtSWQgPSBmb250LmdldFVpbnQxNigpOwogICAgICAgICAgdmFyIGVuY29kaW5nSWQgPSBmb250LmdldFVpbnQxNigpOwogICAgICAgICAgdmFyIG9mZnNldCA9IGZvbnQuZ2V0SW50MzIoKSA+Pj4gMDsKICAgICAgICAgIHZhciB1c2VUYWJsZSA9IGZhbHNlOwoKICAgICAgICAgIGlmIChwbGF0Zm9ybUlkID09PSAwICYmIGVuY29kaW5nSWQgPT09IDApIHsKICAgICAgICAgICAgdXNlVGFibGUgPSB0cnVlOwogICAgICAgICAgICAvLyBDb250aW51ZSB0aGUgbG9vcCBzaW5jZSB0aGVyZSBzdGlsbCBtYXkgYmUgYSBoaWdoZXIgcHJpb3JpdHkKICAgICAgICAgICAgLy8gdGFibGUuCiAgICAgICAgICB9IGVsc2UgaWYgKHBsYXRmb3JtSWQgPT09IDEgJiYgZW5jb2RpbmdJZCA9PT0gMCkgewogICAgICAgICAgICB1c2VUYWJsZSA9IHRydWU7CiAgICAgICAgICAgIC8vIENvbnRpbnVlIHRoZSBsb29wIHNpbmNlIHRoZXJlIHN0aWxsIG1heSBiZSBhIGhpZ2hlciBwcmlvcml0eQogICAgICAgICAgICAvLyB0YWJsZS4KICAgICAgICAgIH0gZWxzZSBpZiAocGxhdGZvcm1JZCA9PT0gMyAmJiBlbmNvZGluZ0lkID09PSAxICYmCiAgICAgICAgICAgICAgICAgICAgICghaXNTeW1ib2xpY0ZvbnQgfHwgIXBvdGVudGlhbFRhYmxlKSkgewogICAgICAgICAgICB1c2VUYWJsZSA9IHRydWU7CiAgICAgICAgICAgIGlmICghaXNTeW1ib2xpY0ZvbnQpIHsKICAgICAgICAgICAgICBjYW5CcmVhayA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAoaXNTeW1ib2xpY0ZvbnQgJiYgcGxhdGZvcm1JZCA9PT0gMyAmJiBlbmNvZGluZ0lkID09PSAwKSB7CiAgICAgICAgICAgIHVzZVRhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgY2FuQnJlYWsgPSB0cnVlOwogICAgICAgICAgfQoKICAgICAgICAgIGlmICh1c2VUYWJsZSkgewogICAgICAgICAgICBwb3RlbnRpYWxUYWJsZSA9IHsKICAgICAgICAgICAgICBwbGF0Zm9ybUlkOiBwbGF0Zm9ybUlkLAogICAgICAgICAgICAgIGVuY29kaW5nSWQ6IGVuY29kaW5nSWQsCiAgICAgICAgICAgICAgb2Zmc2V0OiBvZmZzZXQKICAgICAgICAgICAgfTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChjYW5CcmVhaykgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICghcG90ZW50aWFsVGFibGUpIHsKICAgICAgICAgIHdhcm4oJ0NvdWxkIG5vdCBmaW5kIGEgcHJlZmVycmVkIGNtYXAgdGFibGUuJyk7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICBwbGF0Zm9ybUlkOiAtMSwKICAgICAgICAgICAgZW5jb2RpbmdJZDogLTEsCiAgICAgICAgICAgIG1hcHBpbmdzOiBbXSwKICAgICAgICAgICAgaGFzU2hvcnRDbWFwOiBmYWxzZQogICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgIGZvbnQucG9zID0gc3RhcnQgKyBwb3RlbnRpYWxUYWJsZS5vZmZzZXQ7CiAgICAgICAgdmFyIGZvcm1hdCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgdmFyIGxlbmd0aCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgdmFyIGxhbmd1YWdlID0gZm9udC5nZXRVaW50MTYoKTsKCiAgICAgICAgdmFyIGhhc1Nob3J0Q21hcCA9IGZhbHNlOwogICAgICAgIHZhciBtYXBwaW5ncyA9IFtdOwogICAgICAgIHZhciBqLCBnbHlwaElkOwoKICAgICAgICAvLyBUT0RPKG1hY2spOiByZWZhY3RvciB0aGlzIGNtYXAgc3VidGFibGUgcmVhZGluZyBsb2dpYyBvdXQKICAgICAgICBpZiAoZm9ybWF0ID09PSAwKSB7CiAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgMjU2OyBqKyspIHsKICAgICAgICAgICAgdmFyIGluZGV4ID0gZm9udC5nZXRCeXRlKCk7CiAgICAgICAgICAgIGlmICghaW5kZXgpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBtYXBwaW5ncy5wdXNoKHsKICAgICAgICAgICAgICBjaGFyQ29kZTogaiwKICAgICAgICAgICAgICBnbHlwaElkOiBpbmRleAogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICAgIGhhc1Nob3J0Q21hcCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQgPT09IDQpIHsKICAgICAgICAgIC8vIHJlLWNyZWF0aW5nIHRoZSB0YWJsZSBpbiBmb3JtYXQgNCBzaW5jZSB0aGUgZW5jb2RpbmcKICAgICAgICAgIC8vIG1pZ2h0IGJlIGNoYW5nZWQKICAgICAgICAgIHZhciBzZWdDb3VudCA9IChmb250LmdldFVpbnQxNigpID4+IDEpOwogICAgICAgICAgZm9udC5nZXRCeXRlcyg2KTsgLy8gc2tpcHBpbmcgcmFuZ2UgZmllbGRzCiAgICAgICAgICB2YXIgc2VnSW5kZXgsIHNlZ21lbnRzID0gW107CiAgICAgICAgICBmb3IgKHNlZ0luZGV4ID0gMDsgc2VnSW5kZXggPCBzZWdDb3VudDsgc2VnSW5kZXgrKykgewogICAgICAgICAgICBzZWdtZW50cy5wdXNoKHsgZW5kOiBmb250LmdldFVpbnQxNigpIH0pOwogICAgICAgICAgfQogICAgICAgICAgZm9udC5nZXRVaW50MTYoKTsKICAgICAgICAgIGZvciAoc2VnSW5kZXggPSAwOyBzZWdJbmRleCA8IHNlZ0NvdW50OyBzZWdJbmRleCsrKSB7CiAgICAgICAgICAgIHNlZ21lbnRzW3NlZ0luZGV4XS5zdGFydCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICB9CgogICAgICAgICAgZm9yIChzZWdJbmRleCA9IDA7IHNlZ0luZGV4IDwgc2VnQ291bnQ7IHNlZ0luZGV4KyspIHsKICAgICAgICAgICAgc2VnbWVudHNbc2VnSW5kZXhdLmRlbHRhID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgb2Zmc2V0c0NvdW50ID0gMDsKICAgICAgICAgIGZvciAoc2VnSW5kZXggPSAwOyBzZWdJbmRleCA8IHNlZ0NvdW50OyBzZWdJbmRleCsrKSB7CiAgICAgICAgICAgIHNlZ21lbnQgPSBzZWdtZW50c1tzZWdJbmRleF07CiAgICAgICAgICAgIHZhciByYW5nZU9mZnNldCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICAgIGlmICghcmFuZ2VPZmZzZXQpIHsKICAgICAgICAgICAgICBzZWdtZW50Lm9mZnNldEluZGV4ID0gLTE7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBvZmZzZXRJbmRleCA9IChyYW5nZU9mZnNldCA+PiAxKSAtIChzZWdDb3VudCAtIHNlZ0luZGV4KTsKICAgICAgICAgICAgc2VnbWVudC5vZmZzZXRJbmRleCA9IG9mZnNldEluZGV4OwogICAgICAgICAgICBvZmZzZXRzQ291bnQgPSBNYXRoLm1heChvZmZzZXRzQ291bnQsIG9mZnNldEluZGV4ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudC5lbmQgLSBzZWdtZW50LnN0YXJ0ICsgMSk7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIG9mZnNldHMgPSBbXTsKICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBvZmZzZXRzQ291bnQ7IGorKykgewogICAgICAgICAgICBvZmZzZXRzLnB1c2goZm9udC5nZXRVaW50MTYoKSk7CiAgICAgICAgICB9CgogICAgICAgICAgZm9yIChzZWdJbmRleCA9IDA7IHNlZ0luZGV4IDwgc2VnQ291bnQ7IHNlZ0luZGV4KyspIHsKICAgICAgICAgICAgc2VnbWVudCA9IHNlZ21lbnRzW3NlZ0luZGV4XTsKICAgICAgICAgICAgc3RhcnQgPSBzZWdtZW50LnN0YXJ0OwogICAgICAgICAgICB2YXIgZW5kID0gc2VnbWVudC5lbmQ7CiAgICAgICAgICAgIHZhciBkZWx0YSA9IHNlZ21lbnQuZGVsdGE7CiAgICAgICAgICAgIG9mZnNldEluZGV4ID0gc2VnbWVudC5vZmZzZXRJbmRleDsKCiAgICAgICAgICAgIGZvciAoaiA9IHN0YXJ0OyBqIDw9IGVuZDsgaisrKSB7CiAgICAgICAgICAgICAgaWYgKGogPT09IDB4RkZGRikgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICBnbHlwaElkID0gKG9mZnNldEluZGV4IDwgMCA/CiAgICAgICAgICAgICAgICAgICAgICAgICBqIDogb2Zmc2V0c1tvZmZzZXRJbmRleCArIGogLSBzdGFydF0pOwogICAgICAgICAgICAgIGdseXBoSWQgPSAoZ2x5cGhJZCArIGRlbHRhKSAmIDB4RkZGRjsKICAgICAgICAgICAgICBpZiAoZ2x5cGhJZCA9PT0gMCkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG1hcHBpbmdzLnB1c2goewogICAgICAgICAgICAgICAgY2hhckNvZGU6IGosCiAgICAgICAgICAgICAgICBnbHlwaElkOiBnbHlwaElkCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gNikgewogICAgICAgICAgLy8gRm9ybWF0IDYgaXMgYSAyLWJ5dGVzIGRlbnNlIG1hcHBpbmcsIHdoaWNoIG1lYW5zIHRoZSBmb250IGRhdGEKICAgICAgICAgIC8vIGxpdmVzIGdsdWUgdG9nZXRoZXIgZXZlbiBpZiB0aGV5IGFyZSBwcmV0dHkgZmFyIGluIHRoZSB1bmljb2RlCiAgICAgICAgICAvLyB0YWJsZS4gKFRoaXMgbG9va3Mgd2VpcmQsIHNvIEkgY2FuIGhhdmUgbWlzc2VkIHNvbWV0aGluZyksIHRoaXMKICAgICAgICAgIC8vIHdvcmtzIG9uIExpbnV4IGJ1dCBzZWVtcyB0byBmYWlscyBvbiBNYWMgc28gbGV0J3MgcmV3cml0ZSB0aGUKICAgICAgICAgIC8vIGNtYXAgdGFibGUgdG8gYSAzLTEtNCBzdHlsZQogICAgICAgICAgdmFyIGZpcnN0Q29kZSA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICB2YXIgZW50cnlDb3VudCA9IGZvbnQuZ2V0VWludDE2KCk7CgogICAgICAgICAgZm9yIChqID0gMDsgaiA8IGVudHJ5Q291bnQ7IGorKykgewogICAgICAgICAgICBnbHlwaElkID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICAgICAgdmFyIGNoYXJDb2RlID0gZmlyc3RDb2RlICsgajsKCiAgICAgICAgICAgIG1hcHBpbmdzLnB1c2goewogICAgICAgICAgICAgIGNoYXJDb2RlOiBjaGFyQ29kZSwKICAgICAgICAgICAgICBnbHlwaElkOiBnbHlwaElkCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBlcnJvcignY21hcCB0YWJsZSBoYXMgdW5zdXBwb3J0ZWQgZm9ybWF0OiAnICsgZm9ybWF0KTsKICAgICAgICB9CgogICAgICAgIC8vIHJlbW92aW5nIGR1cGxpY2F0ZSBlbnRyaWVzCiAgICAgICAgbWFwcGluZ3Muc29ydChmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgcmV0dXJuIGEuY2hhckNvZGUgLSBiLmNoYXJDb2RlOwogICAgICAgIH0pOwogICAgICAgIGZvciAoaSA9IDE7IGkgPCBtYXBwaW5ncy5sZW5ndGg7IGkrKykgewogICAgICAgICAgaWYgKG1hcHBpbmdzW2kgLSAxXS5jaGFyQ29kZSA9PT0gbWFwcGluZ3NbaV0uY2hhckNvZGUpIHsKICAgICAgICAgICAgbWFwcGluZ3Muc3BsaWNlKGksIDEpOwogICAgICAgICAgICBpLS07CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gewogICAgICAgICAgcGxhdGZvcm1JZDogcG90ZW50aWFsVGFibGUucGxhdGZvcm1JZCwKICAgICAgICAgIGVuY29kaW5nSWQ6IHBvdGVudGlhbFRhYmxlLmVuY29kaW5nSWQsCiAgICAgICAgICBtYXBwaW5nczogbWFwcGluZ3MsCiAgICAgICAgICBoYXNTaG9ydENtYXA6IGhhc1Nob3J0Q21hcAogICAgICAgIH07CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHNhbml0aXplTWV0cmljcyhmb250LCBoZWFkZXIsIG1ldHJpY3MsIG51bUdseXBocykgewogICAgICAgIGlmICghaGVhZGVyKSB7CiAgICAgICAgICBpZiAobWV0cmljcykgewogICAgICAgICAgICBtZXRyaWNzLmRhdGEgPSBudWxsOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgZm9udC5wb3MgPSAoZm9udC5zdGFydCA/IGZvbnQuc3RhcnQgOiAwKSArIGhlYWRlci5vZmZzZXQ7CiAgICAgICAgZm9udC5wb3MgKz0gaGVhZGVyLmxlbmd0aCAtIDI7CiAgICAgICAgdmFyIG51bU9mTWV0cmljcyA9IGZvbnQuZ2V0VWludDE2KCk7CgogICAgICAgIGlmIChudW1PZk1ldHJpY3MgPiBudW1HbHlwaHMpIHsKICAgICAgICAgIGluZm8oJ1RoZSBudW1PZk1ldHJpY3MgKCcgKyBudW1PZk1ldHJpY3MgKyAnKSBzaG91bGQgbm90IGJlICcgKwogICAgICAgICAgICAgICAnZ3JlYXRlciB0aGFuIHRoZSBudW1HbHlwaHMgKCcgKyBudW1HbHlwaHMgKyAnKScpOwogICAgICAgICAgLy8gUmVkdWNlIG51bU9mTWV0cmljcyBpZiBpdCBpcyBncmVhdGVyIHRoYW4gbnVtR2x5cGhzCiAgICAgICAgICBudW1PZk1ldHJpY3MgPSBudW1HbHlwaHM7CiAgICAgICAgICBoZWFkZXIuZGF0YVszNF0gPSAobnVtT2ZNZXRyaWNzICYgMHhmZjAwKSA+PiA4OwogICAgICAgICAgaGVhZGVyLmRhdGFbMzVdID0gbnVtT2ZNZXRyaWNzICYgMHgwMGZmOwogICAgICAgIH0KCiAgICAgICAgdmFyIG51bU9mU2lkZWJlYXJpbmdzID0gbnVtR2x5cGhzIC0gbnVtT2ZNZXRyaWNzOwogICAgICAgIHZhciBudW1NaXNzaW5nID0gbnVtT2ZTaWRlYmVhcmluZ3MgLQogICAgICAgICAgKChtZXRyaWNzLmxlbmd0aCAtIG51bU9mTWV0cmljcyAqIDQpID4+IDEpOwoKICAgICAgICBpZiAobnVtTWlzc2luZyA+IDApIHsKICAgICAgICAgIC8vIEZvciBlYWNoIG1pc3NpbmcgZ2x5cGgsIHdlIHNldCBib3RoIHRoZSB3aWR0aCBhbmQgbHNiIHRvIDAgKHplcm8pLgogICAgICAgICAgLy8gU2luY2Ugd2UgbmVlZCB0byBhZGQgdHdvIHByb3BlcnRpZXMgZm9yIGVhY2ggZ2x5cGgsIHRoaXMgZXhwbGFpbnMKICAgICAgICAgIC8vIHRoZSB1c2Ugb2YgfG51bU1pc3NpbmcgKiAyfCB3aGVuIGluaXRpYWxpemluZyB0aGUgdHlwZWQgYXJyYXkuCiAgICAgICAgICB2YXIgZW50cmllcyA9IG5ldyBVaW50OEFycmF5KG1ldHJpY3MubGVuZ3RoICsgbnVtTWlzc2luZyAqIDIpOwogICAgICAgICAgZW50cmllcy5zZXQobWV0cmljcy5kYXRhKTsKICAgICAgICAgIG1ldHJpY3MuZGF0YSA9IGVudHJpZXM7CiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiBzYW5pdGl6ZUdseXBoKHNvdXJjZSwgc291cmNlU3RhcnQsIHNvdXJjZUVuZCwgZGVzdCwgZGVzdFN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRzVmFsaWQpIHsKICAgICAgICBpZiAoc291cmNlRW5kIC0gc291cmNlU3RhcnQgPD0gMTIpIHsKICAgICAgICAgIC8vIGdseXBoIHdpdGggZGF0YSBsZXNzIHRoYW4gMTIgaXMgaW52YWxpZCBvbmUKICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgICB2YXIgZ2x5ZiA9IHNvdXJjZS5zdWJhcnJheShzb3VyY2VTdGFydCwgc291cmNlRW5kKTsKICAgICAgICB2YXIgY29udG91cnNDb3VudCA9IChnbHlmWzBdIDw8IDgpIHwgZ2x5ZlsxXTsKICAgICAgICBpZiAoY29udG91cnNDb3VudCAmIDB4ODAwMCkgewogICAgICAgICAgLy8gY29tcGxleCBnbHlwaCwgd3JpdGluZyBhcyBpcwogICAgICAgICAgZGVzdC5zZXQoZ2x5ZiwgZGVzdFN0YXJ0KTsKICAgICAgICAgIHJldHVybiBnbHlmLmxlbmd0aDsKICAgICAgICB9CgogICAgICAgIHZhciBpLCBqID0gMTAsIGZsYWdzQ291bnQgPSAwOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBjb250b3Vyc0NvdW50OyBpKyspIHsKICAgICAgICAgIHZhciBlbmRQb2ludCA9IChnbHlmW2pdIDw8IDgpIHwgZ2x5ZltqICsgMV07CiAgICAgICAgICBmbGFnc0NvdW50ID0gZW5kUG9pbnQgKyAxOwogICAgICAgICAgaiArPSAyOwogICAgICAgIH0KICAgICAgICAvLyBza2lwcGluZyBpbnN0cnVjdGlvbnMKICAgICAgICB2YXIgaW5zdHJ1Y3Rpb25zU3RhcnQgPSBqOwogICAgICAgIHZhciBpbnN0cnVjdGlvbnNMZW5ndGggPSAoZ2x5ZltqXSA8PCA4KSB8IGdseWZbaiArIDFdOwogICAgICAgIGogKz0gMiArIGluc3RydWN0aW9uc0xlbmd0aDsKICAgICAgICB2YXIgaW5zdHJ1Y3Rpb25zRW5kID0gajsKICAgICAgICAvLyB2YWxpZGF0aW5nIGZsYWdzCiAgICAgICAgdmFyIGNvb3JkaW5hdGVzTGVuZ3RoID0gMDsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZmxhZ3NDb3VudDsgaSsrKSB7CiAgICAgICAgICB2YXIgZmxhZyA9IGdseWZbaisrXTsKICAgICAgICAgIGlmIChmbGFnICYgMHhDMCkgewogICAgICAgICAgICAvLyByZXNlcnZlZCBmbGFncyBtdXN0IGJlIHplcm8sIGNsZWFuaW5nIHVwCiAgICAgICAgICAgIGdseWZbaiAtIDFdID0gZmxhZyAmIDB4M0Y7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgeHlMZW5ndGggPSAoKGZsYWcgJiAyKSA/IDEgOiAoZmxhZyAmIDE2KSA/IDAgOiAyKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAoKGZsYWcgJiA0KSA/IDEgOiAoZmxhZyAmIDMyKSA/IDAgOiAyKTsKICAgICAgICAgIGNvb3JkaW5hdGVzTGVuZ3RoICs9IHh5TGVuZ3RoOwogICAgICAgICAgaWYgKGZsYWcgJiA4KSB7CiAgICAgICAgICAgIHZhciByZXBlYXQgPSBnbHlmW2orK107CiAgICAgICAgICAgIGkgKz0gcmVwZWF0OwogICAgICAgICAgICBjb29yZGluYXRlc0xlbmd0aCArPSByZXBlYXQgKiB4eUxlbmd0aDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gZ2x5cGggd2l0aG91dCBjb29yZGluYXRlcyB3aWxsIGJlIHJlamVjdGVkCiAgICAgICAgaWYgKGNvb3JkaW5hdGVzTGVuZ3RoID09PSAwKSB7CiAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICAgICAgdmFyIGdseXBoRGF0YUxlbmd0aCA9IGogKyBjb29yZGluYXRlc0xlbmd0aDsKICAgICAgICBpZiAoZ2x5cGhEYXRhTGVuZ3RoID4gZ2x5Zi5sZW5ndGgpIHsKICAgICAgICAgIC8vIG5vdCBlbm91Z2ggZGF0YSBmb3IgY29vcmRpbmF0ZXMKICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgICBpZiAoIWhpbnRzVmFsaWQgJiYgaW5zdHJ1Y3Rpb25zTGVuZ3RoID4gMCkgewogICAgICAgICAgZGVzdC5zZXQoZ2x5Zi5zdWJhcnJheSgwLCBpbnN0cnVjdGlvbnNTdGFydCksIGRlc3RTdGFydCk7CiAgICAgICAgICBkZXN0LnNldChbMCwgMF0sIGRlc3RTdGFydCArIGluc3RydWN0aW9uc1N0YXJ0KTsKICAgICAgICAgIGRlc3Quc2V0KGdseWYuc3ViYXJyYXkoaW5zdHJ1Y3Rpb25zRW5kLCBnbHlwaERhdGFMZW5ndGgpLAogICAgICAgICAgICAgICAgICAgZGVzdFN0YXJ0ICsgaW5zdHJ1Y3Rpb25zU3RhcnQgKyAyKTsKICAgICAgICAgIGdseXBoRGF0YUxlbmd0aCAtPSBpbnN0cnVjdGlvbnNMZW5ndGg7CiAgICAgICAgICBpZiAoZ2x5Zi5sZW5ndGggLSBnbHlwaERhdGFMZW5ndGggPiAzKSB7CiAgICAgICAgICAgIGdseXBoRGF0YUxlbmd0aCA9IChnbHlwaERhdGFMZW5ndGggKyAzKSAmIH4zOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGdseXBoRGF0YUxlbmd0aDsKICAgICAgICB9CiAgICAgICAgaWYgKGdseWYubGVuZ3RoIC0gZ2x5cGhEYXRhTGVuZ3RoID4gMykgewogICAgICAgICAgLy8gdHJ1bmNhdGluZyBhbmQgYWxpZ25pbmcgdG8gNCBieXRlcyB0aGUgbG9uZyBnbHlwaCBkYXRhCiAgICAgICAgICBnbHlwaERhdGFMZW5ndGggPSAoZ2x5cGhEYXRhTGVuZ3RoICsgMykgJiB+MzsKICAgICAgICAgIGRlc3Quc2V0KGdseWYuc3ViYXJyYXkoMCwgZ2x5cGhEYXRhTGVuZ3RoKSwgZGVzdFN0YXJ0KTsKICAgICAgICAgIHJldHVybiBnbHlwaERhdGFMZW5ndGg7CiAgICAgICAgfQogICAgICAgIC8vIGdseXBoIGRhdGEgaXMgZmluZQogICAgICAgIGRlc3Quc2V0KGdseWYsIGRlc3RTdGFydCk7CiAgICAgICAgcmV0dXJuIGdseWYubGVuZ3RoOwogICAgICB9CgogICAgICBmdW5jdGlvbiBzYW5pdGl6ZUhlYWQoaGVhZCwgbnVtR2x5cGhzLCBsb2NhTGVuZ3RoKSB7CiAgICAgICAgdmFyIGRhdGEgPSBoZWFkLmRhdGE7CgogICAgICAgIC8vIFZhbGlkYXRlIHZlcnNpb246CiAgICAgICAgLy8gU2hvdWxkIGFsd2F5cyBiZSAweDAwMDEwMDAwCiAgICAgICAgdmFyIHZlcnNpb24gPSBpbnQzMihkYXRhWzBdLCBkYXRhWzFdLCBkYXRhWzJdLCBkYXRhWzNdKTsKICAgICAgICBpZiAodmVyc2lvbiA+PiAxNiAhPT0gMSkgewogICAgICAgICAgaW5mbygnQXR0ZW1wdGluZyB0byBmaXggaW52YWxpZCB2ZXJzaW9uIGluIGhlYWQgdGFibGU6ICcgKyB2ZXJzaW9uKTsKICAgICAgICAgIGRhdGFbMF0gPSAwOwogICAgICAgICAgZGF0YVsxXSA9IDE7CiAgICAgICAgICBkYXRhWzJdID0gMDsKICAgICAgICAgIGRhdGFbM10gPSAwOwogICAgICAgIH0KCiAgICAgICAgdmFyIGluZGV4VG9Mb2NGb3JtYXQgPSBpbnQxNihkYXRhWzUwXSwgZGF0YVs1MV0pOwogICAgICAgIGlmIChpbmRleFRvTG9jRm9ybWF0IDwgMCB8fCBpbmRleFRvTG9jRm9ybWF0ID4gMSkgewogICAgICAgICAgaW5mbygnQXR0ZW1wdGluZyB0byBmaXggaW52YWxpZCBpbmRleFRvTG9jRm9ybWF0IGluIGhlYWQgdGFibGU6ICcgKwogICAgICAgICAgICAgICBpbmRleFRvTG9jRm9ybWF0KTsKCiAgICAgICAgICAvLyBUaGUgdmFsdWUgb2YgaW5kZXhUb0xvY0Zvcm1hdCBzaG91bGQgYmUgMCBpZiB0aGUgbG9jYSB0YWJsZQogICAgICAgICAgLy8gY29uc2lzdHMgb2Ygc2hvcnQgb2Zmc2V0cywgYW5kIHNob3VsZCBiZSAxIGlmIHRoZSBsb2NhIHRhYmxlCiAgICAgICAgICAvLyBjb25zaXN0cyBvZiBsb25nIG9mZnNldHMuCiAgICAgICAgICAvLwogICAgICAgICAgLy8gVGhlIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBsb2NhIHRhYmxlIHNob3VsZCBiZSBudW1HbHlwaHMgKyAxLgogICAgICAgICAgLy8KICAgICAgICAgIC8vIFVzaW5nIHRoaXMgaW5mb3JtYXRpb24sIHdlIGNhbiB3b3JrIGJhY2t3YXJkcyB0byBkZWR1Y2UgaWYgdGhlCiAgICAgICAgICAvLyBzaXplIG9mIGVhY2ggb2Zmc2V0IGluIHRoZSBsb2NhIHRhYmxlLCBhbmQgdGh1cyBmaWd1cmUgb3V0IHRoZQogICAgICAgICAgLy8gYXBwcm9wcmlhdGUgdmFsdWUgZm9yIGluZGV4VG9Mb2NGb3JtYXQuCgogICAgICAgICAgdmFyIG51bUdseXBoc1BsdXNPbmUgPSBudW1HbHlwaHMgKyAxOwogICAgICAgICAgaWYgKGxvY2FMZW5ndGggPT09IG51bUdseXBoc1BsdXNPbmUgPDwgMSkgewogICAgICAgICAgICAvLyAweDAwMDAgaW5kaWNhdGVzIHRoZSBsb2NhIHRhYmxlIGNvbnNpc3RzIG9mIHNob3J0IG9mZnNldHMKICAgICAgICAgICAgZGF0YVs1MF0gPSAwOwogICAgICAgICAgICBkYXRhWzUxXSA9IDA7CiAgICAgICAgICB9IGVsc2UgaWYgKGxvY2FMZW5ndGggPT09IG51bUdseXBoc1BsdXNPbmUgPDwgMikgewogICAgICAgICAgICAvLyAweDAwMDEgaW5kaWNhdGVzIHRoZSBsb2NhIHRhYmxlIGNvbnNpc3RzIG9mIGxvbmcgb2Zmc2V0cwogICAgICAgICAgICBkYXRhWzUwXSA9IDA7CiAgICAgICAgICAgIGRhdGFbNTFdID0gMTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHdhcm4oJ0NvdWxkIG5vdCBmaXggaW5kZXhUb0xvY0Zvcm1hdDogJyArIGluZGV4VG9Mb2NGb3JtYXQpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gc2FuaXRpemVHbHlwaExvY2F0aW9ucyhsb2NhLCBnbHlmLCBudW1HbHlwaHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNHbHlwaExvY2F0aW9uc0xvbmcsIGhpbnRzVmFsaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwRmlyc3RFbnRyeSkgewogICAgICAgIHZhciBpdGVtU2l6ZSwgaXRlbURlY29kZSwgaXRlbUVuY29kZTsKICAgICAgICBpZiAoaXNHbHlwaExvY2F0aW9uc0xvbmcpIHsKICAgICAgICAgIGl0ZW1TaXplID0gNDsKICAgICAgICAgIGl0ZW1EZWNvZGUgPSBmdW5jdGlvbiBmb250SXRlbURlY29kZUxvbmcoZGF0YSwgb2Zmc2V0KSB7CiAgICAgICAgICAgIHJldHVybiAoZGF0YVtvZmZzZXRdIDw8IDI0KSB8IChkYXRhW29mZnNldCArIDFdIDw8IDE2KSB8CiAgICAgICAgICAgICAgICAgICAoZGF0YVtvZmZzZXQgKyAyXSA8PCA4KSB8IGRhdGFbb2Zmc2V0ICsgM107CiAgICAgICAgICB9OwogICAgICAgICAgaXRlbUVuY29kZSA9IGZ1bmN0aW9uIGZvbnRJdGVtRW5jb2RlTG9uZyhkYXRhLCBvZmZzZXQsIHZhbHVlKSB7CiAgICAgICAgICAgIGRhdGFbb2Zmc2V0XSA9ICh2YWx1ZSA+Pj4gMjQpICYgMHhGRjsKICAgICAgICAgICAgZGF0YVtvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+PiAxNikgJiAweEZGOwogICAgICAgICAgICBkYXRhW29mZnNldCArIDJdID0gKHZhbHVlID4+IDgpICYgMHhGRjsKICAgICAgICAgICAgZGF0YVtvZmZzZXQgKyAzXSA9IHZhbHVlICYgMHhGRjsKICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGl0ZW1TaXplID0gMjsKICAgICAgICAgIGl0ZW1EZWNvZGUgPSBmdW5jdGlvbiBmb250SXRlbURlY29kZShkYXRhLCBvZmZzZXQpIHsKICAgICAgICAgICAgcmV0dXJuIChkYXRhW29mZnNldF0gPDwgOSkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxKTsKICAgICAgICAgIH07CiAgICAgICAgICBpdGVtRW5jb2RlID0gZnVuY3Rpb24gZm9udEl0ZW1FbmNvZGUoZGF0YSwgb2Zmc2V0LCB2YWx1ZSkgewogICAgICAgICAgICBkYXRhW29mZnNldF0gPSAodmFsdWUgPj4gOSkgJiAweEZGOwogICAgICAgICAgICBkYXRhW29mZnNldCArIDFdID0gKHZhbHVlID4+IDEpICYgMHhGRjsKICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIHZhciBsb2NhRGF0YSA9IGxvY2EuZGF0YTsKICAgICAgICB2YXIgbG9jYURhdGFTaXplID0gaXRlbVNpemUgKiAoMSArIG51bUdseXBocyk7CiAgICAgICAgLy8gaXMgbG9jYS5kYXRhIHRvbyBzaG9ydCBvciBsb25nPwogICAgICAgIGlmIChsb2NhRGF0YS5sZW5ndGggIT09IGxvY2FEYXRhU2l6ZSkgewogICAgICAgICAgbG9jYURhdGEgPSBuZXcgVWludDhBcnJheShsb2NhRGF0YVNpemUpOwogICAgICAgICAgbG9jYURhdGEuc2V0KGxvY2EuZGF0YS5zdWJhcnJheSgwLCBsb2NhRGF0YVNpemUpKTsKICAgICAgICAgIGxvY2EuZGF0YSA9IGxvY2FEYXRhOwogICAgICAgIH0KICAgICAgICAvLyByZW1vdmluZyB0aGUgaW52YWxpZCBnbHlwaHMKICAgICAgICB2YXIgb2xkR2x5ZkRhdGEgPSBnbHlmLmRhdGE7CiAgICAgICAgdmFyIG9sZEdseWZEYXRhTGVuZ3RoID0gb2xkR2x5ZkRhdGEubGVuZ3RoOwogICAgICAgIHZhciBuZXdHbHlmRGF0YSA9IG5ldyBVaW50OEFycmF5KG9sZEdseWZEYXRhTGVuZ3RoKTsKICAgICAgICB2YXIgc3RhcnRPZmZzZXQgPSBpdGVtRGVjb2RlKGxvY2FEYXRhLCAwKTsKICAgICAgICB2YXIgd3JpdGVPZmZzZXQgPSAwOwogICAgICAgIHZhciBtaXNzaW5nR2x5cGhEYXRhID0ge307CiAgICAgICAgaXRlbUVuY29kZShsb2NhRGF0YSwgMCwgd3JpdGVPZmZzZXQpOwogICAgICAgIHZhciBpLCBqOwogICAgICAgIGZvciAoaSA9IDAsIGogPSBpdGVtU2l6ZTsgaSA8IG51bUdseXBoczsgaSsrLCBqICs9IGl0ZW1TaXplKSB7CiAgICAgICAgICB2YXIgZW5kT2Zmc2V0ID0gaXRlbURlY29kZShsb2NhRGF0YSwgaik7CiAgICAgICAgICBpZiAoZW5kT2Zmc2V0ID4gb2xkR2x5ZkRhdGFMZW5ndGggJiYKICAgICAgICAgICAgICAoKG9sZEdseWZEYXRhTGVuZ3RoICsgMykgJiB+MykgPT09IGVuZE9mZnNldCkgewogICAgICAgICAgICAvLyBBc3Bvc2UgYnJlYWtzIGZvbnRzIGJ5IGFsaWduaW5nIHRoZSBnbHlwaHMgdG8gdGhlIHF3b3JkLCBidXQgbm90CiAgICAgICAgICAgIC8vIHRoZSBnbHlmIHRhYmxlIHNpemUsIHdoaWNoIG1ha2VzIGxhc3QgZ2x5cGggb3V0IG9mIHJhbmdlLgogICAgICAgICAgICBlbmRPZmZzZXQgPSBvbGRHbHlmRGF0YUxlbmd0aDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChlbmRPZmZzZXQgPiBvbGRHbHlmRGF0YUxlbmd0aCkgewogICAgICAgICAgICAvLyBnbHlwaCBlbmQgb2Zmc2V0IHBvaW50cyBvdXRzaWRlIGdseWYgZGF0YSwgcmVqZWN0aW5nIHRoZSBnbHlwaAogICAgICAgICAgICBpdGVtRW5jb2RlKGxvY2FEYXRhLCBqLCB3cml0ZU9mZnNldCk7CiAgICAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gZW5kT2Zmc2V0OwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoc3RhcnRPZmZzZXQgPT09IGVuZE9mZnNldCkgewogICAgICAgICAgICBtaXNzaW5nR2x5cGhEYXRhW2ldID0gdHJ1ZTsKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgbmV3TGVuZ3RoID0gc2FuaXRpemVHbHlwaChvbGRHbHlmRGF0YSwgc3RhcnRPZmZzZXQsIGVuZE9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0dseWZEYXRhLCB3cml0ZU9mZnNldCwgaGludHNWYWxpZCk7CiAgICAgICAgICB3cml0ZU9mZnNldCArPSBuZXdMZW5ndGg7CiAgICAgICAgICBpdGVtRW5jb2RlKGxvY2FEYXRhLCBqLCB3cml0ZU9mZnNldCk7CiAgICAgICAgICBzdGFydE9mZnNldCA9IGVuZE9mZnNldDsKICAgICAgICB9CgogICAgICAgIGlmICh3cml0ZU9mZnNldCA9PT0gMCkgewogICAgICAgICAgLy8gZ2x5ZiB0YWJsZSBjYW5ub3QgYmUgZW1wdHkgLS0gcmVkb2luZyB0aGUgZ2x5ZiBhbmQgbG9jYSB0YWJsZXMKICAgICAgICAgIC8vIHRvIGhhdmUgc2luZ2xlIGdseXBoIHdpdGggb25lIHBvaW50CiAgICAgICAgICB2YXIgc2ltcGxlR2x5cGggPSBuZXcgVWludDhBcnJheSgKICAgICAgICAgICAgWzAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5LCAwXSk7CiAgICAgICAgICBmb3IgKGkgPSAwLCBqID0gaXRlbVNpemU7IGkgPCBudW1HbHlwaHM7IGkrKywgaiArPSBpdGVtU2l6ZSkgewogICAgICAgICAgICBpdGVtRW5jb2RlKGxvY2FEYXRhLCBqLCBzaW1wbGVHbHlwaC5sZW5ndGgpOwogICAgICAgICAgfQogICAgICAgICAgZ2x5Zi5kYXRhID0gc2ltcGxlR2x5cGg7CiAgICAgICAgICByZXR1cm4gbWlzc2luZ0dseXBoRGF0YTsKICAgICAgICB9CgogICAgICAgIGlmIChkdXBGaXJzdEVudHJ5KSB7CiAgICAgICAgICB2YXIgZmlyc3RFbnRyeUxlbmd0aCA9IGl0ZW1EZWNvZGUobG9jYURhdGEsIGl0ZW1TaXplKTsKICAgICAgICAgIGlmIChuZXdHbHlmRGF0YS5sZW5ndGggPiBmaXJzdEVudHJ5TGVuZ3RoICsgd3JpdGVPZmZzZXQpIHsKICAgICAgICAgICAgZ2x5Zi5kYXRhID0gbmV3R2x5ZkRhdGEuc3ViYXJyYXkoMCwgZmlyc3RFbnRyeUxlbmd0aCArIHdyaXRlT2Zmc2V0KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGdseWYuZGF0YSA9IG5ldyBVaW50OEFycmF5KGZpcnN0RW50cnlMZW5ndGggKyB3cml0ZU9mZnNldCk7CiAgICAgICAgICAgIGdseWYuZGF0YS5zZXQobmV3R2x5ZkRhdGEuc3ViYXJyYXkoMCwgd3JpdGVPZmZzZXQpKTsKICAgICAgICAgIH0KICAgICAgICAgIGdseWYuZGF0YS5zZXQobmV3R2x5ZkRhdGEuc3ViYXJyYXkoMCwgZmlyc3RFbnRyeUxlbmd0aCksIHdyaXRlT2Zmc2V0KTsKICAgICAgICAgIGl0ZW1FbmNvZGUobG9jYS5kYXRhLCBsb2NhRGF0YS5sZW5ndGggLSBpdGVtU2l6ZSwKICAgICAgICAgICAgICAgICAgICAgd3JpdGVPZmZzZXQgKyBmaXJzdEVudHJ5TGVuZ3RoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZ2x5Zi5kYXRhID0gbmV3R2x5ZkRhdGEuc3ViYXJyYXkoMCwgd3JpdGVPZmZzZXQpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbWlzc2luZ0dseXBoRGF0YTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcmVhZFBvc3RTY3JpcHRUYWJsZShwb3N0LCBwcm9wZXJ0aWVzLCBtYXhwTnVtR2x5cGhzKSB7CiAgICAgICAgdmFyIHN0YXJ0ID0gKGZvbnQuc3RhcnQgPyBmb250LnN0YXJ0IDogMCkgKyBwb3N0Lm9mZnNldDsKICAgICAgICBmb250LnBvcyA9IHN0YXJ0OwoKICAgICAgICB2YXIgbGVuZ3RoID0gcG9zdC5sZW5ndGgsIGVuZCA9IHN0YXJ0ICsgbGVuZ3RoOwogICAgICAgIHZhciB2ZXJzaW9uID0gZm9udC5nZXRJbnQzMigpOwogICAgICAgIC8vIHNraXAgcmVzdCB0byB0aGUgdGFibGVzCiAgICAgICAgZm9udC5nZXRCeXRlcygyOCk7CgogICAgICAgIHZhciBnbHlwaE5hbWVzOwogICAgICAgIHZhciB2YWxpZCA9IHRydWU7CiAgICAgICAgdmFyIGk7CgogICAgICAgIHN3aXRjaCAodmVyc2lvbikgewogICAgICAgICAgY2FzZSAweDAwMDEwMDAwOgogICAgICAgICAgICBnbHlwaE5hbWVzID0gTWFjU3RhbmRhcmRHbHlwaE9yZGVyaW5nOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMHgwMDAyMDAwMDoKICAgICAgICAgICAgdmFyIG51bUdseXBocyA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICAgIGlmIChudW1HbHlwaHMgIT09IG1heHBOdW1HbHlwaHMpIHsKICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBnbHlwaE5hbWVJbmRleGVzID0gW107CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1HbHlwaHM7ICsraSkgewogICAgICAgICAgICAgIHZhciBpbmRleCA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDMyNzY4KSB7CiAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGdseXBoTmFtZUluZGV4ZXMucHVzaChpbmRleCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCF2YWxpZCkgewogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBjdXN0b21OYW1lcyA9IFtdOwogICAgICAgICAgICB2YXIgc3RyQnVmID0gW107CiAgICAgICAgICAgIHdoaWxlIChmb250LnBvcyA8IGVuZCkgewogICAgICAgICAgICAgIHZhciBzdHJpbmdMZW5ndGggPSBmb250LmdldEJ5dGUoKTsKICAgICAgICAgICAgICBzdHJCdWYubGVuZ3RoID0gc3RyaW5nTGVuZ3RoOwogICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzdHJpbmdMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgICAgc3RyQnVmW2ldID0gU3RyaW5nLmZyb21DaGFyQ29kZShmb250LmdldEJ5dGUoKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGN1c3RvbU5hbWVzLnB1c2goc3RyQnVmLmpvaW4oJycpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBnbHlwaE5hbWVzID0gW107CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1HbHlwaHM7ICsraSkgewogICAgICAgICAgICAgIHZhciBqID0gZ2x5cGhOYW1lSW5kZXhlc1tpXTsKICAgICAgICAgICAgICBpZiAoaiA8IDI1OCkgewogICAgICAgICAgICAgICAgZ2x5cGhOYW1lcy5wdXNoKE1hY1N0YW5kYXJkR2x5cGhPcmRlcmluZ1tqXSk7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZ2x5cGhOYW1lcy5wdXNoKGN1c3RvbU5hbWVzW2ogLSAyNThdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMHgwMDAzMDAwMDoKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB3YXJuKCdVbmtub3duL3Vuc3VwcG9ydGVkIHBvc3QgdGFibGUgdmVyc2lvbiAnICsgdmVyc2lvbik7CiAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBwcm9wZXJ0aWVzLmdseXBoTmFtZXMgPSBnbHlwaE5hbWVzOwogICAgICAgIHJldHVybiB2YWxpZDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcmVhZE5hbWVUYWJsZShuYW1lVGFibGUpIHsKICAgICAgICB2YXIgc3RhcnQgPSAoZm9udC5zdGFydCA/IGZvbnQuc3RhcnQgOiAwKSArIG5hbWVUYWJsZS5vZmZzZXQ7CiAgICAgICAgZm9udC5wb3MgPSBzdGFydDsKCiAgICAgICAgdmFyIG5hbWVzID0gW1tdLCBbXV07CiAgICAgICAgdmFyIGxlbmd0aCA9IG5hbWVUYWJsZS5sZW5ndGgsIGVuZCA9IHN0YXJ0ICsgbGVuZ3RoOwogICAgICAgIHZhciBmb3JtYXQgPSBmb250LmdldFVpbnQxNigpOwogICAgICAgIHZhciBGT1JNQVRfMF9IRUFERVJfTEVOR1RIID0gNjsKICAgICAgICBpZiAoZm9ybWF0ICE9PSAwIHx8IGxlbmd0aCA8IEZPUk1BVF8wX0hFQURFUl9MRU5HVEgpIHsKICAgICAgICAgIC8vIHVuc3VwcG9ydGVkIG5hbWUgdGFibGUgZm9ybWF0IG9yIHRhYmxlICJ0b28iIHNtYWxsCiAgICAgICAgICByZXR1cm4gbmFtZXM7CiAgICAgICAgfQogICAgICAgIHZhciBudW1SZWNvcmRzID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICB2YXIgc3RyaW5nc1N0YXJ0ID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICB2YXIgcmVjb3JkcyA9IFtdOwogICAgICAgIHZhciBOQU1FX1JFQ09SRF9MRU5HVEggPSAxMjsKICAgICAgICB2YXIgaSwgaWk7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1SZWNvcmRzICYmCiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQucG9zICsgTkFNRV9SRUNPUkRfTEVOR1RIIDw9IGVuZDsgaSsrKSB7CiAgICAgICAgICB2YXIgciA9IHsKICAgICAgICAgICAgcGxhdGZvcm06IGZvbnQuZ2V0VWludDE2KCksCiAgICAgICAgICAgIGVuY29kaW5nOiBmb250LmdldFVpbnQxNigpLAogICAgICAgICAgICBsYW5ndWFnZTogZm9udC5nZXRVaW50MTYoKSwKICAgICAgICAgICAgbmFtZTogZm9udC5nZXRVaW50MTYoKSwKICAgICAgICAgICAgbGVuZ3RoOiBmb250LmdldFVpbnQxNigpLAogICAgICAgICAgICBvZmZzZXQ6IGZvbnQuZ2V0VWludDE2KCkKICAgICAgICAgIH07CiAgICAgICAgICAvLyB1c2luZyBvbmx5IE1hY2ludG9zaCBhbmQgV2luZG93cyBwbGF0Zm9ybS9lbmNvZGluZyBuYW1lcwogICAgICAgICAgaWYgKChyLnBsYXRmb3JtID09PSAxICYmIHIuZW5jb2RpbmcgPT09IDAgJiYgci5sYW5ndWFnZSA9PT0gMCkgfHwKICAgICAgICAgICAgICAoci5wbGF0Zm9ybSA9PT0gMyAmJiByLmVuY29kaW5nID09PSAxICYmIHIubGFuZ3VhZ2UgPT09IDB4NDA5KSkgewogICAgICAgICAgICByZWNvcmRzLnB1c2gocik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAoaSA9IDAsIGlpID0gcmVjb3Jkcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICB2YXIgcmVjb3JkID0gcmVjb3Jkc1tpXTsKICAgICAgICAgIHZhciBwb3MgPSBzdGFydCArIHN0cmluZ3NTdGFydCArIHJlY29yZC5vZmZzZXQ7CiAgICAgICAgICBpZiAocG9zICsgcmVjb3JkLmxlbmd0aCA+IGVuZCkgewogICAgICAgICAgICBjb250aW51ZTsgLy8gb3V0c2lkZSBvZiBuYW1lIHRhYmxlLCBpZ25vcmluZwogICAgICAgICAgfQogICAgICAgICAgZm9udC5wb3MgPSBwb3M7CiAgICAgICAgICB2YXIgbmFtZUluZGV4ID0gcmVjb3JkLm5hbWU7CiAgICAgICAgICBpZiAocmVjb3JkLmVuY29kaW5nKSB7CiAgICAgICAgICAgIC8vIHVuaWNvZGUKICAgICAgICAgICAgdmFyIHN0ciA9ICcnOwogICAgICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSByZWNvcmQubGVuZ3RoOyBqIDwgamo7IGogKz0gMikgewogICAgICAgICAgICAgIHN0ciArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGZvbnQuZ2V0VWludDE2KCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG5hbWVzWzFdW25hbWVJbmRleF0gPSBzdHI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBuYW1lc1swXVtuYW1lSW5kZXhdID0gYnl0ZXNUb1N0cmluZyhmb250LmdldEJ5dGVzKHJlY29yZC5sZW5ndGgpKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5hbWVzOwogICAgICB9CgogICAgICB2YXIgVFRPcHNTdGFja0RlbHRhcyA9IFsKICAgICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAtMiwgLTIsIC0yLCAtMiwgMCwgMCwgLTIsIC01LAogICAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMCwgMCwgLTEsIDAsIC0xLCAtMSwgLTEsIC0xLAogICAgICAgIDEsIC0xLCAtOTk5LCAwLCAxLCAwLCAtMSwgLTIsIDAsIC0xLCAtMiwgLTEsIC0xLCAwLCAtMSwgLTEsCiAgICAgICAgMCwgMCwgLTk5OSwgLTk5OSwgLTEsIC0xLCAtMSwgLTEsIC0yLCAtOTk5LCAtMiwgLTIsIC05OTksIDAsIC0yLCAtMiwKICAgICAgICAwLCAwLCAtMiwgMCwgLTIsIDAsIDAsIDAsIC0yLCAtMSwgLTEsIDEsIDEsIDAsIDAsIC0xLAogICAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDAsIDAsIC0xLCAwLCAtMSwgLTEsIDAsIC05OTksIC0xLCAtMSwKICAgICAgICAtMSwgLTEsIC0xLCAtMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKICAgICAgICAtMiwgLTk5OSwgLTk5OSwgLTk5OSwgLTk5OSwgLTk5OSwgLTEsIC0xLCAtMiwgLTIsIDAsIDAsIDAsIDAsIC0xLCAtMSwKICAgICAgICAtOTk5LCAtMiwgLTIsIDAsIDAsIC0xLCAtMiwgLTIsIDAsIDAsIDAsIC0xLCAtMSwgLTEsIC0yXTsKICAgICAgICAvLyAweEMwLURGID09IC0xIGFuZCAweEUwLUZGID09IC0yCgogICAgICBmdW5jdGlvbiBzYW5pdGl6ZVRUUHJvZ3JhbSh0YWJsZSwgdHRDb250ZXh0KSB7CiAgICAgICAgdmFyIGRhdGEgPSB0YWJsZS5kYXRhOwogICAgICAgIHZhciBpID0gMCwgaiwgbiwgYiwgZnVuY0lkLCBwYywgbGFzdEVuZGYgPSAwLCBsYXN0RGVmZiA9IDA7CiAgICAgICAgdmFyIHN0YWNrID0gW107CiAgICAgICAgdmFyIGNhbGxzdGFjayA9IFtdOwogICAgICAgIHZhciBmdW5jdGlvbnNDYWxsZWQgPSBbXTsKICAgICAgICB2YXIgdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zID0KICAgICAgICAgIHR0Q29udGV4dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM7CiAgICAgICAgdmFyIGluRkRFRiA9IGZhbHNlLCBpZkxldmVsID0gMCwgaW5FTFNFID0gMDsKICAgICAgICBmb3IgKHZhciBpaSA9IGRhdGEubGVuZ3RoOyBpIDwgaWk7KSB7CiAgICAgICAgICB2YXIgb3AgPSBkYXRhW2krK107CiAgICAgICAgICAvLyBUaGUgVHJ1ZVR5cGUgaW5zdHJ1Y3Rpb24gc2V0IGRvY3MgY2FuIGJlIGZvdW5kIGF0CiAgICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZm9udHMvVFRSZWZNYW4vUk0wNS9DaGFwNS5odG1sCiAgICAgICAgICBpZiAob3AgPT09IDB4NDApIHsgLy8gTlBVU0hCIC0gcHVzaGVzIG4gYnl0ZXMKICAgICAgICAgICAgbiA9IGRhdGFbaSsrXTsKICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICBpICs9IG47CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG47IGorKykgewogICAgICAgICAgICAgICAgc3RhY2sucHVzaChkYXRhW2krK10pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gMHg0MSkgeyAvLyBOUFVTSFcgLSBwdXNoZXMgbiB3b3JkcwogICAgICAgICAgICBuID0gZGF0YVtpKytdOwogICAgICAgICAgICBpZiAoaW5GREVGIHx8IGluRUxTRSkgewogICAgICAgICAgICAgIGkgKz0gbiAqIDI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG47IGorKykgewogICAgICAgICAgICAgICAgYiA9IGRhdGFbaSsrXTsKICAgICAgICAgICAgICAgIHN0YWNrLnB1c2goKGIgPDwgOCkgfCBkYXRhW2krK10pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmICgob3AgJiAweEY4KSA9PT0gMHhCMCkgeyAvLyBQVVNIQiAtIHB1c2hlcyBieXRlcwogICAgICAgICAgICBuID0gb3AgLSAweEIwICsgMTsKICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICBpICs9IG47CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG47IGorKykgewogICAgICAgICAgICAgICAgc3RhY2sucHVzaChkYXRhW2krK10pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmICgob3AgJiAweEY4KSA9PT0gMHhCOCkgeyAvLyBQVVNIVyAtIHB1c2hlcyB3b3JkcwogICAgICAgICAgICBuID0gb3AgLSAweEI4ICsgMTsKICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICBpICs9IG4gKiAyOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBuOyBqKyspIHsKICAgICAgICAgICAgICAgIGIgPSBkYXRhW2krK107CiAgICAgICAgICAgICAgICBzdGFjay5wdXNoKChiIDw8IDgpIHwgZGF0YVtpKytdKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT09IDB4MkIgJiYgIXRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucykgeyAvLyBDQUxMCiAgICAgICAgICAgIGlmICghaW5GREVGICYmICFpbkVMU0UpIHsKICAgICAgICAgICAgICAvLyBjb2xsZWN0aW5nIGluZm9yYW10aW9uIGFib3V0IHdoaWNoIGZ1bmN0aW9ucyBhcmUgdXNlZAogICAgICAgICAgICAgIGZ1bmNJZCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdOwogICAgICAgICAgICAgIHR0Q29udGV4dC5mdW5jdGlvbnNVc2VkW2Z1bmNJZF0gPSB0cnVlOwogICAgICAgICAgICAgIGlmIChmdW5jSWQgaW4gdHRDb250ZXh0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzKSB7CiAgICAgICAgICAgICAgICBzdGFjay5sZW5ndGggKz0gdHRDb250ZXh0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzW2Z1bmNJZF07CiAgICAgICAgICAgICAgfSBlbHNlIGlmIChmdW5jSWQgaW4gdHRDb250ZXh0LmZ1bmN0aW9uc0RlZmluZWQgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uc0NhbGxlZC5pbmRleE9mKGZ1bmNJZCkgPCAwKSB7CiAgICAgICAgICAgICAgICBjYWxsc3RhY2sucHVzaCh7ZGF0YTogZGF0YSwgaTogaSwgc3RhY2tUb3A6IHN0YWNrLmxlbmd0aCAtIDF9KTsKICAgICAgICAgICAgICAgIGZ1bmN0aW9uc0NhbGxlZC5wdXNoKGZ1bmNJZCk7CiAgICAgICAgICAgICAgICBwYyA9IHR0Q29udGV4dC5mdW5jdGlvbnNEZWZpbmVkW2Z1bmNJZF07CiAgICAgICAgICAgICAgICBpZiAoIXBjKSB7CiAgICAgICAgICAgICAgICAgIHdhcm4oJ1RUOiBDQUxMIG5vbi1leGlzdGVudCBmdW5jdGlvbicpOwogICAgICAgICAgICAgICAgICB0dENvbnRleHQuaGludHNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBkYXRhID0gcGMuZGF0YTsKICAgICAgICAgICAgICAgIGkgPSBwYy5pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gMHgyQyAmJiAhdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zKSB7IC8vIEZERUYKICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICB3YXJuKCdUVDogbmVzdGVkIEZERUZzIG5vdCBhbGxvd2VkJyk7CiAgICAgICAgICAgICAgdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbkZERUYgPSB0cnVlOwogICAgICAgICAgICAvLyBjb2xsZWN0aW5nIGluZm9yYW10aW9uIGFib3V0IHdoaWNoIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZAogICAgICAgICAgICBsYXN0RGVmZiA9IGk7CiAgICAgICAgICAgIGZ1bmNJZCA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICB0dENvbnRleHQuZnVuY3Rpb25zRGVmaW5lZFtmdW5jSWRdID0ge2RhdGE6IGRhdGEsIGk6IGl9OwogICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gMHgyRCkgeyAvLyBFTkRGIC0gZW5kIG9mIGZ1bmN0aW9uCiAgICAgICAgICAgIGlmIChpbkZERUYpIHsKICAgICAgICAgICAgICBpbkZERUYgPSBmYWxzZTsKICAgICAgICAgICAgICBsYXN0RW5kZiA9IGk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgcGMgPSBjYWxsc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgaWYgKCFwYykgewogICAgICAgICAgICAgICAgd2FybignVFQ6IEVOREYgYmFkIHN0YWNrJyk7CiAgICAgICAgICAgICAgICB0dENvbnRleHQuaGludHNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBmdW5jSWQgPSBmdW5jdGlvbnNDYWxsZWQucG9wKCk7CiAgICAgICAgICAgICAgZGF0YSA9IHBjLmRhdGE7CiAgICAgICAgICAgICAgaSA9IHBjLmk7CiAgICAgICAgICAgICAgdHRDb250ZXh0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzW2Z1bmNJZF0gPQogICAgICAgICAgICAgICAgc3RhY2subGVuZ3RoIC0gcGMuc3RhY2tUb3A7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT09IDB4ODkpIHsgLy8gSURFRiAtIGluc3RydWN0aW9uIGRlZmluaXRpb24KICAgICAgICAgICAgaWYgKGluRkRFRiB8fCBpbkVMU0UpIHsKICAgICAgICAgICAgICB3YXJuKCdUVDogbmVzdGVkIElERUZzIG5vdCBhbGxvd2VkJyk7CiAgICAgICAgICAgICAgdG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbkZERUYgPSB0cnVlOwogICAgICAgICAgICAvLyByZWNvcmRpbmcgaXQgYXMgYSBmdW5jdGlvbiB0byB0cmFjayBFTkRGCiAgICAgICAgICAgIGxhc3REZWZmID0gaTsKICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT09IDB4NTgpIHsgLy8gSUYKICAgICAgICAgICAgKytpZkxldmVsOwogICAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gMHgxQikgeyAvLyBFTFNFCiAgICAgICAgICAgIGluRUxTRSA9IGlmTGV2ZWw7CiAgICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAweDU5KSB7IC8vIEVJRgogICAgICAgICAgICBpZiAoaW5FTFNFID09PSBpZkxldmVsKSB7CiAgICAgICAgICAgICAgaW5FTFNFID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICAtLWlmTGV2ZWw7CiAgICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAweDFDKSB7IC8vIEpNUFIKICAgICAgICAgICAgaWYgKCFpbkZERUYgJiYgIWluRUxTRSkgewogICAgICAgICAgICAgIHZhciBvZmZzZXQgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTsKICAgICAgICAgICAgICAvLyBvbmx5IGp1bXBpbmcgZm9yd2FyZCB0byBwcmV2ZW50IGluZmluaXRlIGxvb3AKICAgICAgICAgICAgICBpZiAob2Zmc2V0ID4gMCkgewogICAgICAgICAgICAgICAgaSArPSBvZmZzZXQgLSAxOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgLy8gQWRqdXN0aW5nIHN0YWNrIG5vdCBleHRhY3RseSwgYnV0IGp1c3QgZW5vdWdoIHRvIGdldCBmdW5jdGlvbiBpZAogICAgICAgICAgaWYgKCFpbkZERUYgJiYgIWluRUxTRSkgewogICAgICAgICAgICB2YXIgc3RhY2tEZWx0YSA9IG9wIDw9IDB4OEUgPyBUVE9wc1N0YWNrRGVsdGFzW29wXSA6CiAgICAgICAgICAgICAgb3AgPj0gMHhDMCAmJiBvcCA8PSAweERGID8gLTEgOiBvcCA+PSAweEUwID8gLTIgOiAwOwogICAgICAgICAgICBpZiAob3AgPj0gMHg3MSAmJiBvcCA8PSAweDc1KSB7CiAgICAgICAgICAgICAgbiA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIGlmIChuID09PSBuKSB7CiAgICAgICAgICAgICAgICBzdGFja0RlbHRhID0gLW4gKiAyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZSAoc3RhY2tEZWx0YSA8IDAgJiYgc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHN0YWNrRGVsdGErKzsKICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZSAoc3RhY2tEZWx0YSA+IDApIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKE5hTik7IC8vIHB1c2hpbmcgYW55IG51bWJlciBpbnRvIHN0YWNrCiAgICAgICAgICAgICAgc3RhY2tEZWx0YS0tOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHR0Q29udGV4dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnMgPSB0b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM7CiAgICAgICAgdmFyIGNvbnRlbnQgPSBbZGF0YV07CiAgICAgICAgaWYgKGkgPiBkYXRhLmxlbmd0aCkgewogICAgICAgICAgY29udGVudC5wdXNoKG5ldyBVaW50OEFycmF5KGkgLSBkYXRhLmxlbmd0aCkpOwogICAgICAgIH0KICAgICAgICBpZiAobGFzdERlZmYgPiBsYXN0RW5kZikgewogICAgICAgICAgd2FybignVFQ6IGNvbXBsZW1lbnRpbmcgYSBtaXNzaW5nIGZ1bmN0aW9uIHRhaWwnKTsKICAgICAgICAgIC8vIG5ldyBmdW5jdGlvbiBkZWZpbml0aW9uIHN0YXJ0ZWQsIGJ1dCBub3QgZmluaXNoZWQKICAgICAgICAgIC8vIGNvbXBsZXRlIGZ1bmN0aW9uIGJ5IFtDTEVBUiwgRU5ERl0KICAgICAgICAgIGNvbnRlbnQucHVzaChuZXcgVWludDhBcnJheShbMHgyMiwgMHgyRF0pKTsKICAgICAgICB9CiAgICAgICAgZm9sZFRUVGFibGUodGFibGUsIGNvbnRlbnQpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBjaGVja0ludmFsaWRGdW5jdGlvbnModHRDb250ZXh0LCBtYXhGdW5jdGlvbkRlZnMpIHsKICAgICAgICBpZiAodHRDb250ZXh0LnRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucykgewogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAodHRDb250ZXh0LmZ1bmN0aW9uc0RlZmluZWQubGVuZ3RoID4gbWF4RnVuY3Rpb25EZWZzKSB7CiAgICAgICAgICB3YXJuKCdUVDogbW9yZSBmdW5jdGlvbnMgZGVmaW5lZCB0aGFuIGV4cGVjdGVkJyk7CiAgICAgICAgICB0dENvbnRleHQuaGludHNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSB0dENvbnRleHQuZnVuY3Rpb25zVXNlZC5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICBpZiAoaiA+IG1heEZ1bmN0aW9uRGVmcykgewogICAgICAgICAgICB3YXJuKCdUVDogaW52YWxpZCBmdW5jdGlvbiBpZDogJyArIGopOwogICAgICAgICAgICB0dENvbnRleHQuaGludHNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBpZiAodHRDb250ZXh0LmZ1bmN0aW9uc1VzZWRbal0gJiYgIXR0Q29udGV4dC5mdW5jdGlvbnNEZWZpbmVkW2pdKSB7CiAgICAgICAgICAgIHdhcm4oJ1RUOiB1bmRlZmluZWQgZnVuY3Rpb246ICcgKyBqKTsKICAgICAgICAgICAgdHRDb250ZXh0LmhpbnRzVmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgZnVuY3Rpb24gZm9sZFRUVGFibGUodGFibGUsIGNvbnRlbnQpIHsKICAgICAgICBpZiAoY29udGVudC5sZW5ndGggPiAxKSB7CiAgICAgICAgICAvLyBjb25jYXRlbmF0aW5nIHRoZSBjb250ZW50IGl0ZW1zCiAgICAgICAgICB2YXIgbmV3TGVuZ3RoID0gMDsKICAgICAgICAgIHZhciBqLCBqajsKICAgICAgICAgIGZvciAoaiA9IDAsIGpqID0gY29udGVudC5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICAgIG5ld0xlbmd0aCArPSBjb250ZW50W2pdLmxlbmd0aDsKICAgICAgICAgIH0KICAgICAgICAgIG5ld0xlbmd0aCA9IChuZXdMZW5ndGggKyAzKSAmIH4zOwogICAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KG5ld0xlbmd0aCk7CiAgICAgICAgICB2YXIgcG9zID0gMDsKICAgICAgICAgIGZvciAoaiA9IDAsIGpqID0gY29udGVudC5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICAgIHJlc3VsdC5zZXQoY29udGVudFtqXSwgcG9zKTsKICAgICAgICAgICAgcG9zICs9IGNvbnRlbnRbal0ubGVuZ3RoOwogICAgICAgICAgfQogICAgICAgICAgdGFibGUuZGF0YSA9IHJlc3VsdDsKICAgICAgICAgIHRhYmxlLmxlbmd0aCA9IG5ld0xlbmd0aDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHNhbml0aXplVFRQcm9ncmFtcyhmcGdtLCBwcmVwLCBjdnQpIHsKICAgICAgICB2YXIgdHRDb250ZXh0ID0gewogICAgICAgICAgZnVuY3Rpb25zRGVmaW5lZDogW10sCiAgICAgICAgICBmdW5jdGlvbnNVc2VkOiBbXSwKICAgICAgICAgIGZ1bmN0aW9uc1N0YWNrRGVsdGFzOiBbXSwKICAgICAgICAgIHRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9uczogZmFsc2UsCiAgICAgICAgICBoaW50c1ZhbGlkOiB0cnVlCiAgICAgICAgfTsKICAgICAgICBpZiAoZnBnbSkgewogICAgICAgICAgc2FuaXRpemVUVFByb2dyYW0oZnBnbSwgdHRDb250ZXh0KTsKICAgICAgICB9CiAgICAgICAgaWYgKHByZXApIHsKICAgICAgICAgIHNhbml0aXplVFRQcm9ncmFtKHByZXAsIHR0Q29udGV4dCk7CiAgICAgICAgfQogICAgICAgIGlmIChmcGdtKSB7CiAgICAgICAgICBjaGVja0ludmFsaWRGdW5jdGlvbnModHRDb250ZXh0LCBtYXhGdW5jdGlvbkRlZnMpOwogICAgICAgIH0KICAgICAgICBpZiAoY3Z0ICYmIChjdnQubGVuZ3RoICYgMSkpIHsKICAgICAgICAgIHZhciBjdnREYXRhID0gbmV3IFVpbnQ4QXJyYXkoY3Z0Lmxlbmd0aCArIDEpOwogICAgICAgICAgY3Z0RGF0YS5zZXQoY3Z0LmRhdGEpOwogICAgICAgICAgY3Z0LmRhdGEgPSBjdnREYXRhOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdHRDb250ZXh0LmhpbnRzVmFsaWQ7CiAgICAgIH0KCiAgICAgIC8vIFRoZSBmb2xsb3dpbmcgc3RlcHMgbW9kaWZ5IHRoZSBvcmlnaW5hbCBmb250IGRhdGEsIG1ha2luZyBjb3B5CiAgICAgIGZvbnQgPSBuZXcgU3RyZWFtKG5ldyBVaW50OEFycmF5KGZvbnQuZ2V0Qnl0ZXMoKSkpOwoKICAgICAgdmFyIFZBTElEX1RBQkxFUyA9IFsnT1MvMicsICdjbWFwJywgJ2hlYWQnLCAnaGhlYScsICdobXR4JywgJ21heHAnLAogICAgICAgICduYW1lJywgJ3Bvc3QnLCAnbG9jYScsICdnbHlmJywgJ2ZwZ20nLCAncHJlcCcsICdjdnQgJywgJ0NGRiAnXTsKCiAgICAgIHZhciBoZWFkZXIgPSByZWFkT3BlblR5cGVIZWFkZXIoZm9udCk7CiAgICAgIHZhciBudW1UYWJsZXMgPSBoZWFkZXIubnVtVGFibGVzOwogICAgICB2YXIgY2ZmLCBjZmZGaWxlOwoKICAgICAgdmFyIHRhYmxlcyA9IHsgJ09TLzInOiBudWxsLCBjbWFwOiBudWxsLCBoZWFkOiBudWxsLCBoaGVhOiBudWxsLAogICAgICAgICAgICAgICAgICAgICBobXR4OiBudWxsLCBtYXhwOiBudWxsLCBuYW1lOiBudWxsLCBwb3N0OiBudWxsIH07CiAgICAgIHZhciB0YWJsZTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1UYWJsZXM7IGkrKykgewogICAgICAgIHRhYmxlID0gcmVhZFRhYmxlRW50cnkoZm9udCk7CiAgICAgICAgaWYgKFZBTElEX1RBQkxFUy5pbmRleE9mKHRhYmxlLnRhZykgPCAwKSB7CiAgICAgICAgICBjb250aW51ZTsgLy8gc2tpcHBpbmcgdGFibGUgaWYgaXQncyBub3QgYSByZXF1aXJlZCBvciBvcHRpb25hbCB0YWJsZQogICAgICAgIH0KICAgICAgICBpZiAodGFibGUubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICBjb250aW51ZTsgLy8gc2tpcHBpbmcgZW1wdHkgdGFibGVzCiAgICAgICAgfQogICAgICAgIHRhYmxlc1t0YWJsZS50YWddID0gdGFibGU7CiAgICAgIH0KCiAgICAgIHZhciBpc1RydWVUeXBlID0gIXRhYmxlc1snQ0ZGICddOwogICAgICBpZiAoIWlzVHJ1ZVR5cGUpIHsKICAgICAgICAvLyBPcGVuVHlwZSBmb250CiAgICAgICAgaWYgKGhlYWRlci52ZXJzaW9uID09PSAnT1RUTycgfHwKICAgICAgICAgICAgIXRhYmxlcy5oZWFkIHx8ICF0YWJsZXMuaGhlYSB8fCAhdGFibGVzLm1heHAgfHwgIXRhYmxlcy5wb3N0KSB7CiAgICAgICAgICAvLyBubyBtYWpvciB0YWJsZXM6IHRocm93aW5nIGV2ZXJ5dGhpbmcgYXQgQ0ZGRm9udAogICAgICAgICAgY2ZmRmlsZSA9IG5ldyBTdHJlYW0odGFibGVzWydDRkYgJ10uZGF0YSk7CiAgICAgICAgICBjZmYgPSBuZXcgQ0ZGRm9udChjZmZGaWxlLCBwcm9wZXJ0aWVzKTsKCiAgICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0KG5hbWUsIGNmZiwgcHJvcGVydGllcyk7CiAgICAgICAgfQoKICAgICAgICBkZWxldGUgdGFibGVzLmdseWY7CiAgICAgICAgZGVsZXRlIHRhYmxlcy5sb2NhOwogICAgICAgIGRlbGV0ZSB0YWJsZXMuZnBnbTsKICAgICAgICBkZWxldGUgdGFibGVzLnByZXA7CiAgICAgICAgZGVsZXRlIHRhYmxlc1snY3Z0ICddOwogICAgICAgIHRoaXMuaXNPcGVuVHlwZSA9IHRydWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCF0YWJsZXMuZ2x5ZiB8fCAhdGFibGVzLmxvY2EpIHsKICAgICAgICAgIGVycm9yKCdSZXF1aXJlZCAiZ2x5ZiIgb3IgImxvY2EiIHRhYmxlcyBhcmUgbm90IGZvdW5kJyk7CiAgICAgICAgfQogICAgICAgIHRoaXMuaXNPcGVuVHlwZSA9IGZhbHNlOwogICAgICB9CgogICAgICBpZiAoIXRhYmxlcy5tYXhwKSB7CiAgICAgICAgZXJyb3IoJ1JlcXVpcmVkICJtYXhwIiB0YWJsZSBpcyBub3QgZm91bmQnKTsKICAgICAgfQoKICAgICAgZm9udC5wb3MgPSAoZm9udC5zdGFydCB8fCAwKSArIHRhYmxlcy5tYXhwLm9mZnNldDsKICAgICAgdmFyIHZlcnNpb24gPSBmb250LmdldEludDMyKCk7CiAgICAgIHZhciBudW1HbHlwaHMgPSBmb250LmdldFVpbnQxNigpOwogICAgICB2YXIgbWF4RnVuY3Rpb25EZWZzID0gMDsKICAgICAgaWYgKHZlcnNpb24gPj0gMHgwMDAxMDAwMCAmJiB0YWJsZXMubWF4cC5sZW5ndGggPj0gMjIpIHsKICAgICAgICAvLyBtYXhab25lcyBjYW4gYmUgaW52YWxpZAogICAgICAgIGZvbnQucG9zICs9IDg7CiAgICAgICAgdmFyIG1heFpvbmVzID0gZm9udC5nZXRVaW50MTYoKTsKICAgICAgICBpZiAobWF4Wm9uZXMgPiAyKSB7IC8vIHJlc2V0IHRvIDIgaWYgZm9udCBoYXMgaW52YWxpZCBtYXhab25lcwogICAgICAgICAgdGFibGVzLm1heHAuZGF0YVsxNF0gPSAwOwogICAgICAgICAgdGFibGVzLm1heHAuZGF0YVsxNV0gPSAyOwogICAgICAgIH0KICAgICAgICBmb250LnBvcyArPSA0OwogICAgICAgIG1heEZ1bmN0aW9uRGVmcyA9IGZvbnQuZ2V0VWludDE2KCk7CiAgICAgIH0KCiAgICAgIHZhciBkdXBGaXJzdEVudHJ5ID0gZmFsc2U7CiAgICAgIGlmIChwcm9wZXJ0aWVzLnR5cGUgPT09ICdDSURGb250VHlwZTInICYmIHByb3BlcnRpZXMudG9Vbmljb2RlICYmCiAgICAgICAgICBwcm9wZXJ0aWVzLnRvVW5pY29kZS5nZXQoMCkgPiAnXHUwMDAwJykgewogICAgICAgIC8vIG9yYWNsZSdzIGRlZmVjdCAoc2VlIDM0MjcpLCBkdXBsaWNhdGluZyBmaXJzdCBlbnRyeQogICAgICAgIGR1cEZpcnN0RW50cnkgPSB0cnVlOwogICAgICAgIG51bUdseXBocysrOwogICAgICAgIHRhYmxlcy5tYXhwLmRhdGFbNF0gPSBudW1HbHlwaHMgPj4gODsKICAgICAgICB0YWJsZXMubWF4cC5kYXRhWzVdID0gbnVtR2x5cGhzICYgMjU1OwogICAgICB9CgogICAgICB2YXIgaGludHNWYWxpZCA9IHNhbml0aXplVFRQcm9ncmFtcyh0YWJsZXMuZnBnbSwgdGFibGVzLnByZXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlc1snY3Z0ICddLCBtYXhGdW5jdGlvbkRlZnMpOwogICAgICBpZiAoIWhpbnRzVmFsaWQpIHsKICAgICAgICBkZWxldGUgdGFibGVzLmZwZ207CiAgICAgICAgZGVsZXRlIHRhYmxlcy5wcmVwOwogICAgICAgIGRlbGV0ZSB0YWJsZXNbJ2N2dCAnXTsKICAgICAgfQoKICAgICAgLy8gRW5zdXJlIHRoZSBobXR4IHRhYmxlIGNvbnRhaW5zIHRoZSBhZHZhbmNlIHdpZHRoIGFuZAogICAgICAvLyBzaWRlYmVhcmluZ3MgaW5mb3JtYXRpb24gZm9yIG51bUdseXBocyBpbiB0aGUgbWF4cCB0YWJsZQogICAgICBzYW5pdGl6ZU1ldHJpY3MoZm9udCwgdGFibGVzLmhoZWEsIHRhYmxlcy5obXR4LCBudW1HbHlwaHMpOwoKICAgICAgaWYgKCF0YWJsZXMuaGVhZCkgewogICAgICAgIGVycm9yKCdSZXF1aXJlZCAiaGVhZCIgdGFibGUgaXMgbm90IGZvdW5kJyk7CiAgICAgIH0KCiAgICAgIHNhbml0aXplSGVhZCh0YWJsZXMuaGVhZCwgbnVtR2x5cGhzLCBpc1RydWVUeXBlID8gdGFibGVzLmxvY2EubGVuZ3RoIDogMCk7CgogICAgICB2YXIgbWlzc2luZ0dseXBocyA9IHt9OwogICAgICBpZiAoaXNUcnVlVHlwZSkgewogICAgICAgIHZhciBpc0dseXBoTG9jYXRpb25zTG9uZyA9IGludDE2KHRhYmxlcy5oZWFkLmRhdGFbNTBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlcy5oZWFkLmRhdGFbNTFdKTsKICAgICAgICBtaXNzaW5nR2x5cGhzID0gc2FuaXRpemVHbHlwaExvY2F0aW9ucyh0YWJsZXMubG9jYSwgdGFibGVzLmdseWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtR2x5cGhzLCBpc0dseXBoTG9jYXRpb25zTG9uZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50c1ZhbGlkLCBkdXBGaXJzdEVudHJ5KTsKICAgICAgfQoKICAgICAgaWYgKCF0YWJsZXMuaGhlYSkgewogICAgICAgIGVycm9yKCdSZXF1aXJlZCAiaGhlYSIgdGFibGUgaXMgbm90IGZvdW5kJyk7CiAgICAgIH0KCiAgICAgIC8vIFNhbml0aXplciByZWR1Y2VzIHRoZSBnbHlwaCBhZHZhbmNlV2lkdGggdG8gdGhlIG1heEFkdmFuY2VXaWR0aAogICAgICAvLyBTb21ldGltZXMgaXQncyAwLiBUaGF0IG5lZWRzIHRvIGJlIGZpeGVkCiAgICAgIGlmICh0YWJsZXMuaGhlYS5kYXRhWzEwXSA9PT0gMCAmJiB0YWJsZXMuaGhlYS5kYXRhWzExXSA9PT0gMCkgewogICAgICAgIHRhYmxlcy5oaGVhLmRhdGFbMTBdID0gMHhGRjsKICAgICAgICB0YWJsZXMuaGhlYS5kYXRhWzExXSA9IDB4RkY7CiAgICAgIH0KCiAgICAgIC8vIFRoZSAncG9zdCcgdGFibGUgaGFzIGdseXBocyBuYW1lcy4KICAgICAgaWYgKHRhYmxlcy5wb3N0KSB7CiAgICAgICAgdmFyIHZhbGlkID0gcmVhZFBvc3RTY3JpcHRUYWJsZSh0YWJsZXMucG9zdCwgcHJvcGVydGllcywgbnVtR2x5cGhzKTsKICAgICAgICBpZiAoIXZhbGlkKSB7CiAgICAgICAgICB0YWJsZXMucG9zdCA9IG51bGw7CiAgICAgICAgfQogICAgICB9CgogICAgICB2YXIgY2hhckNvZGVUb0dseXBoSWQgPSBbXSwgY2hhckNvZGUsIHRvVW5pY29kZSA9IHByb3BlcnRpZXMudG9Vbmljb2RlOwoKICAgICAgZnVuY3Rpb24gaGFzR2x5cGgoZ2x5cGhJZCwgY2hhckNvZGUpIHsKICAgICAgICBpZiAoIW1pc3NpbmdHbHlwaHNbZ2x5cGhJZF0pIHsKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICBpZiAoY2hhckNvZGUgPj0gMCAmJiB0b1VuaWNvZGUuaGFzKGNoYXJDb2RlKSkgewogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgaWYgKHByb3BlcnRpZXMudHlwZSA9PT0gJ0NJREZvbnRUeXBlMicpIHsKICAgICAgICB2YXIgY2lkVG9HaWRNYXAgPSBwcm9wZXJ0aWVzLmNpZFRvR2lkTWFwIHx8IFtdOwogICAgICAgIHZhciBpc0NpZFRvR2lkTWFwRW1wdHkgPSBjaWRUb0dpZE1hcC5sZW5ndGggPT09IDA7CgogICAgICAgIHByb3BlcnRpZXMuY01hcC5mb3JFYWNoKGZ1bmN0aW9uKGNoYXJDb2RlLCBjaWQpIHsKICAgICAgICAgIGFzc2VydChjaWQgPD0gMHhmZmZmLCAnTWF4IHNpemUgb2YgQ0lEIGlzIDY1LDUzNScpOwogICAgICAgICAgdmFyIGdseXBoSWQgPSAtMTsKICAgICAgICAgIGlmIChpc0NpZFRvR2lkTWFwRW1wdHkpIHsKICAgICAgICAgICAgZ2x5cGhJZCA9IGNoYXJDb2RlOwogICAgICAgICAgfSBlbHNlIGlmIChjaWRUb0dpZE1hcFtjaWRdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgZ2x5cGhJZCA9IGNpZFRvR2lkTWFwW2NpZF07CiAgICAgICAgICB9CgogICAgICAgICAgaWYgKGdseXBoSWQgPj0gMCAmJiBnbHlwaElkIDwgbnVtR2x5cGhzICYmCiAgICAgICAgICAgICAgaGFzR2x5cGgoZ2x5cGhJZCwgY2hhckNvZGUpKSB7CiAgICAgICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSA9IGdseXBoSWQ7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgaWYgKGR1cEZpcnN0RW50cnkpIHsKICAgICAgICAgIGNoYXJDb2RlVG9HbHlwaElkWzBdID0gbnVtR2x5cGhzIC0gMTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gTW9zdCBvZiB0aGUgZm9sbG93aW5nIGxvZ2ljIGluIHRoaXMgY29kZSBicmFuY2ggaXMgYmFzZWQgb24gdGhlCiAgICAgICAgLy8gOS42LjYuNCBvZiB0aGUgUERGIHNwZWMuCiAgICAgICAgdmFyIGNtYXBUYWJsZSA9IHJlYWRDbWFwVGFibGUodGFibGVzLmNtYXAsIGZvbnQsIHRoaXMuaXNTeW1ib2xpY0ZvbnQpOwogICAgICAgIHZhciBjbWFwUGxhdGZvcm1JZCA9IGNtYXBUYWJsZS5wbGF0Zm9ybUlkOwogICAgICAgIHZhciBjbWFwRW5jb2RpbmdJZCA9IGNtYXBUYWJsZS5lbmNvZGluZ0lkOwogICAgICAgIHZhciBjbWFwTWFwcGluZ3MgPSBjbWFwVGFibGUubWFwcGluZ3M7CiAgICAgICAgdmFyIGNtYXBNYXBwaW5nc0xlbmd0aCA9IGNtYXBNYXBwaW5ncy5sZW5ndGg7CiAgICAgICAgdmFyIGhhc0VuY29kaW5nID0gcHJvcGVydGllcy5kaWZmZXJlbmNlcy5sZW5ndGggfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAhIXByb3BlcnRpZXMuYmFzZUVuY29kaW5nTmFtZTsKCiAgICAgICAgLy8gVGhlIHNwZWMgc2VlbXMgdG8gaW1wbHkgdGhhdCBpZiB0aGUgZm9udCBpcyBzeW1ib2xpYyB0aGUgZW5jb2RpbmcKICAgICAgICAvLyBzaG91bGQgYmUgaWdub3JlZCwgdGhpcyBkb2Vzbid0IGFwcGVhciB0byB3b3JrIGZvciAncHJlaXN0YWJlbGxlLnBkZicKICAgICAgICAvLyB3aGVyZSB0aGUgdGhlIGZvbnQgaXMgc3ltYm9saWMgYW5kIGl0IGhhcyBhbiBlbmNvZGluZy4KICAgICAgICBpZiAoaGFzRW5jb2RpbmcgJiYKICAgICAgICAgICAgKGNtYXBQbGF0Zm9ybUlkID09PSAzICYmIGNtYXBFbmNvZGluZ0lkID09PSAxIHx8CiAgICAgICAgICAgICBjbWFwUGxhdGZvcm1JZCA9PT0gMSAmJiBjbWFwRW5jb2RpbmdJZCA9PT0gMCkgfHwKICAgICAgICAgICAgKGNtYXBQbGF0Zm9ybUlkID09PSAtMSAmJiBjbWFwRW5jb2RpbmdJZCA9PT0gLTEgJiYgLy8gVGVtcG9yYXJ5IGhhY2sKICAgICAgICAgICAgICEhRW5jb2RpbmdzW3Byb3BlcnRpZXMuYmFzZUVuY29kaW5nTmFtZV0pKSB7ICAgICAgLy8gVGVtcG9yYXJ5IGhhY2sKICAgICAgICAgIC8vIFdoZW4gbm8gcHJlZmVycmVkIGNtYXAgdGFibGUgd2FzIGZvdW5kIGFuZCB8YmFzZUVuY29kaW5nTmFtZXwgaXMKICAgICAgICAgIC8vIG9uZSBvZiB0aGUgcHJlZGVmaW5lZCBlbmNvZGluZ3MsIHdlIHNlZW0gdG8gb2J0YWluIGEgYmV0dGVyCiAgICAgICAgICAvLyB8Y2hhckNvZGVUb0dseXBoSWR8IG1hcCBmcm9tIHRoZSBjb2RlIGJlbG93IChmaXhlcyBidWcgMTA1NzU0NCkuCiAgICAgICAgICAvLyBUT0RPOiBOb3RlIHRoYXQgdGhpcyBpcyBhIGhhY2sgd2hpY2ggc2hvdWxkIGJlIHJlbW92ZWQgYXMgc29vbiBhcwogICAgICAgICAgLy8gICAgICAgd2UgaGF2ZSBwcm9wZXIgc3VwcG9ydCBmb3IgbW9yZSBleG90aWMgY21hcCB0YWJsZXMuCgogICAgICAgICAgdmFyIGJhc2VFbmNvZGluZyA9IFtdOwogICAgICAgICAgaWYgKHByb3BlcnRpZXMuYmFzZUVuY29kaW5nTmFtZSA9PT0gJ01hY1JvbWFuRW5jb2RpbmcnIHx8CiAgICAgICAgICAgICAgcHJvcGVydGllcy5iYXNlRW5jb2RpbmdOYW1lID09PSAnV2luQW5zaUVuY29kaW5nJykgewogICAgICAgICAgICBiYXNlRW5jb2RpbmcgPSBFbmNvZGluZ3NbcHJvcGVydGllcy5iYXNlRW5jb2RpbmdOYW1lXTsKICAgICAgICAgIH0KICAgICAgICAgIGZvciAoY2hhckNvZGUgPSAwOyBjaGFyQ29kZSA8IDI1NjsgY2hhckNvZGUrKykgewogICAgICAgICAgICB2YXIgZ2x5cGhOYW1lOwogICAgICAgICAgICBpZiAodGhpcy5kaWZmZXJlbmNlcyAmJiBjaGFyQ29kZSBpbiB0aGlzLmRpZmZlcmVuY2VzKSB7CiAgICAgICAgICAgICAgZ2x5cGhOYW1lID0gdGhpcy5kaWZmZXJlbmNlc1tjaGFyQ29kZV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hhckNvZGUgaW4gYmFzZUVuY29kaW5nICYmCiAgICAgICAgICAgICAgICAgICAgICAgYmFzZUVuY29kaW5nW2NoYXJDb2RlXSAhPT0gJycpIHsKICAgICAgICAgICAgICBnbHlwaE5hbWUgPSBiYXNlRW5jb2RpbmdbY2hhckNvZGVdOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGdseXBoTmFtZSA9IEVuY29kaW5ncy5TdGFuZGFyZEVuY29kaW5nW2NoYXJDb2RlXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIWdseXBoTmFtZSkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB1bmljb2RlT3JDaGFyQ29kZTsKICAgICAgICAgICAgaWYgKGNtYXBQbGF0Zm9ybUlkID09PSAzICYmIGNtYXBFbmNvZGluZ0lkID09PSAxKSB7CiAgICAgICAgICAgICAgdW5pY29kZU9yQ2hhckNvZGUgPSBHbHlwaHNVbmljb2RlW2dseXBoTmFtZV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY21hcFBsYXRmb3JtSWQgPT09IDEgJiYgY21hcEVuY29kaW5nSWQgPT09IDApIHsKICAgICAgICAgICAgICAvLyBUT0RPOiB0aGUgZW5jb2RpbmcgbmVlZHMgdG8gYmUgdXBkYXRlZCB3aXRoIG1hYyBvcyB0YWJsZS4KICAgICAgICAgICAgICB1bmljb2RlT3JDaGFyQ29kZSA9IEVuY29kaW5ncy5NYWNSb21hbkVuY29kaW5nLmluZGV4T2YoZ2x5cGhOYW1lKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGZvdW5kID0gZmFsc2U7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjbWFwTWFwcGluZ3NMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgIGlmIChjbWFwTWFwcGluZ3NbaV0uY2hhckNvZGUgPT09IHVuaWNvZGVPckNoYXJDb2RlICYmCiAgICAgICAgICAgICAgICAgIGhhc0dseXBoKGNtYXBNYXBwaW5nc1tpXS5nbHlwaElkLCB1bmljb2RlT3JDaGFyQ29kZSkpIHsKICAgICAgICAgICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSA9IGNtYXBNYXBwaW5nc1tpXS5nbHlwaElkOwogICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghZm91bmQgJiYgcHJvcGVydGllcy5nbHlwaE5hbWVzKSB7CiAgICAgICAgICAgICAgLy8gVHJ5IHRvIG1hcCB1c2luZyB0aGUgcG9zdCB0YWJsZS4gVGhlcmUgYXJlIGN1cnJlbnRseSBubyBrbm93bgogICAgICAgICAgICAgIC8vIHBkZnMgdGhhdCB0aGlzIGZpeGVzLgogICAgICAgICAgICAgIHZhciBnbHlwaElkID0gcHJvcGVydGllcy5nbHlwaE5hbWVzLmluZGV4T2YoZ2x5cGhOYW1lKTsKICAgICAgICAgICAgICBpZiAoZ2x5cGhJZCA+IDAgJiYgaGFzR2x5cGgoZ2x5cGhJZCwgLTEpKSB7CiAgICAgICAgICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0gPSBnbHlwaElkOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY21hcFBsYXRmb3JtSWQgPT09IDAgJiYgY21hcEVuY29kaW5nSWQgPT09IDApIHsKICAgICAgICAgIC8vIERlZmF1bHQgVW5pY29kZSBzZW1hbnRpY3MsIHVzZSB0aGUgY2hhcmNvZGVzIGFzIGlzLgogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNtYXBNYXBwaW5nc0xlbmd0aDsgKytpKSB7CiAgICAgICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NtYXBNYXBwaW5nc1tpXS5jaGFyQ29kZV0gPQogICAgICAgICAgICAgIGNtYXBNYXBwaW5nc1tpXS5nbHlwaElkOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBGb3IgKDMsIDApIGNtYXAgdGFibGVzOgogICAgICAgICAgLy8gVGhlIGNoYXJjb2RlIGtleSBiZWluZyBzdG9yZWQgaW4gY2hhckNvZGVUb0dseXBoSWQgaXMgdGhlIGxvd2VyCiAgICAgICAgICAvLyBieXRlIG9mIHRoZSB0d28tYnl0ZSBjaGFyY29kZXMgb2YgdGhlIGNtYXAgdGFibGUgc2luY2UgYWNjb3JkaW5nIHRvCiAgICAgICAgICAvLyB0aGUgc3BlYzogJ2VhY2ggYnl0ZSBmcm9tIHRoZSBzdHJpbmcgc2hhbGwgYmUgcHJlcGVuZGVkIHdpdGggdGhlCiAgICAgICAgICAvLyBoaWdoIGJ5dGUgb2YgdGhlIHJhbmdlIFtvZiBjaGFyY29kZXMgaW4gdGhlIGNtYXAgdGFibGVdLCB0byBmb3JtCiAgICAgICAgICAvLyBhIHR3by1ieXRlIGNoYXJhY3Rlciwgd2hpY2ggc2hhbGwgYmUgdXNlZCB0byBzZWxlY3QgdGhlCiAgICAgICAgICAvLyBhc3NvY2lhdGVkIGdseXBoIGRlc2NyaXB0aW9uIGZyb20gdGhlIHN1YnRhYmxlJy4KICAgICAgICAgIC8vCiAgICAgICAgICAvLyBGb3IgKDEsIDApIGNtYXAgdGFibGVzOgogICAgICAgICAgLy8gJ3NpbmdsZSBieXRlcyBmcm9tIHRoZSBzdHJpbmcgc2hhbGwgYmUgdXNlZCB0byBsb29rIHVwIHRoZQogICAgICAgICAgLy8gYXNzb2NpYXRlZCBnbHlwaCBkZXNjcmlwdGlvbnMgZnJvbSB0aGUgc3VidGFibGUnLiBUaGlzIG1lYW5zCiAgICAgICAgICAvLyBjaGFyY29kZXMgaW4gdGhlIGNtYXAgd2lsbCBiZSBzaW5nbGUgYnl0ZXMsIHNvIG5vLW9wIHNpbmNlCiAgICAgICAgICAvLyBnbHlwaC5jaGFyQ29kZSAmIDB4RkYgPT09IGdseXBoLmNoYXJDb2RlCiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY21hcE1hcHBpbmdzTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgY2hhckNvZGUgPSBjbWFwTWFwcGluZ3NbaV0uY2hhckNvZGUgJiAweEZGOwogICAgICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0gPSBjbWFwTWFwcGluZ3NbaV0uZ2x5cGhJZDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChjaGFyQ29kZVRvR2x5cGhJZC5sZW5ndGggPT09IDApIHsKICAgICAgICAvLyBkZWZpbmVzIGF0IGxlYXN0IG9uZSBnbHlwaAogICAgICAgIGNoYXJDb2RlVG9HbHlwaElkWzBdID0gMDsKICAgICAgfQoKICAgICAgLy8gQ29udmVydGluZyBnbHlwaHMgYW5kIGlkcyBpbnRvIGZvbnQncyBjbWFwIHRhYmxlCiAgICAgIHZhciBuZXdNYXBwaW5nID0gYWRqdXN0TWFwcGluZyhjaGFyQ29kZVRvR2x5cGhJZCwgcHJvcGVydGllcyk7CiAgICAgIHRoaXMudG9Gb250Q2hhciA9IG5ld01hcHBpbmcudG9Gb250Q2hhcjsKICAgICAgdGFibGVzLmNtYXAgPSB7CiAgICAgICAgdGFnOiAnY21hcCcsCiAgICAgICAgZGF0YTogY3JlYXRlQ21hcFRhYmxlKG5ld01hcHBpbmcuY2hhckNvZGVUb0dseXBoSWQpCiAgICAgIH07CgogICAgICBpZiAoIXRhYmxlc1snT1MvMiddIHx8ICF2YWxpZGF0ZU9TMlRhYmxlKHRhYmxlc1snT1MvMiddKSkgewogICAgICAgIC8vIGV4dHJhY3Qgc29tZSBtb3JlIGZvbnQgcHJvcGVydGllcyBmcm9tIHRoZSBPcGVuVHlwZSBoZWFkIGFuZAogICAgICAgIC8vIGhoZWEgdGFibGVzOyB5TWluIGFuZCBkZXNjZW50IHZhbHVlIGFyZSBhbHdheXMgbmVnYXRpdmUKICAgICAgICB2YXIgb3ZlcnJpZGUgPSB7CiAgICAgICAgICB1bml0c1BlckVtOiBpbnQxNih0YWJsZXMuaGVhZC5kYXRhWzE4XSwgdGFibGVzLmhlYWQuZGF0YVsxOV0pLAogICAgICAgICAgeU1heDogaW50MTYodGFibGVzLmhlYWQuZGF0YVs0Ml0sIHRhYmxlcy5oZWFkLmRhdGFbNDNdKSwKICAgICAgICAgIHlNaW46IGludDE2KHRhYmxlcy5oZWFkLmRhdGFbMzhdLCB0YWJsZXMuaGVhZC5kYXRhWzM5XSkgLSAweDEwMDAwLAogICAgICAgICAgYXNjZW50OiBpbnQxNih0YWJsZXMuaGhlYS5kYXRhWzRdLCB0YWJsZXMuaGhlYS5kYXRhWzVdKSwKICAgICAgICAgIGRlc2NlbnQ6IGludDE2KHRhYmxlcy5oaGVhLmRhdGFbNl0sIHRhYmxlcy5oaGVhLmRhdGFbN10pIC0gMHgxMDAwMAogICAgICAgIH07CgogICAgICAgIHRhYmxlc1snT1MvMiddID0gewogICAgICAgICAgdGFnOiAnT1MvMicsCiAgICAgICAgICBkYXRhOiBjcmVhdGVPUzJUYWJsZShwcm9wZXJ0aWVzLCBuZXdNYXBwaW5nLmNoYXJDb2RlVG9HbHlwaElkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGUpCiAgICAgICAgfTsKICAgICAgfQoKICAgICAgLy8gUmV3cml0ZSB0aGUgJ3Bvc3QnIHRhYmxlIGlmIG5lZWRlZAogICAgICBpZiAoIXRhYmxlcy5wb3N0KSB7CiAgICAgICAgdGFibGVzLnBvc3QgPSB7CiAgICAgICAgICB0YWc6ICdwb3N0JywKICAgICAgICAgIGRhdGE6IGNyZWF0ZVBvc3RUYWJsZShwcm9wZXJ0aWVzKQogICAgICAgIH07CiAgICAgIH0KCiAgICAgIGlmICghaXNUcnVlVHlwZSkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAvLyBUcnlpbmcgdG8gcmVwYWlyIENGRiBmaWxlCiAgICAgICAgICBjZmZGaWxlID0gbmV3IFN0cmVhbSh0YWJsZXNbJ0NGRiAnXS5kYXRhKTsKICAgICAgICAgIHZhciBwYXJzZXIgPSBuZXcgQ0ZGUGFyc2VyKGNmZkZpbGUsIHByb3BlcnRpZXMpOwogICAgICAgICAgY2ZmID0gcGFyc2VyLnBhcnNlKCk7CiAgICAgICAgICB2YXIgY29tcGlsZXIgPSBuZXcgQ0ZGQ29tcGlsZXIoY2ZmKTsKICAgICAgICAgIHRhYmxlc1snQ0ZGICddLmRhdGEgPSBjb21waWxlci5jb21waWxlKCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgd2FybignRmFpbGVkIHRvIGNvbXBpbGUgZm9udCAnICsgcHJvcGVydGllcy5sb2FkZWROYW1lKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIFJlLWNyZWF0aW5nICduYW1lJyB0YWJsZQogICAgICBpZiAoIXRhYmxlcy5uYW1lKSB7CiAgICAgICAgdGFibGVzLm5hbWUgPSB7CiAgICAgICAgICB0YWc6ICduYW1lJywKICAgICAgICAgIGRhdGE6IGNyZWF0ZU5hbWVUYWJsZSh0aGlzLm5hbWUpCiAgICAgICAgfTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyAuLi4gdXNpbmcgZXhpc3RpbmcgJ25hbWUnIHRhYmxlIGFzIHByb3RvdHlwZQogICAgICAgIHZhciBuYW1lUHJvdG90eXBlID0gcmVhZE5hbWVUYWJsZSh0YWJsZXMubmFtZSk7CiAgICAgICAgdGFibGVzLm5hbWUuZGF0YSA9IGNyZWF0ZU5hbWVUYWJsZShuYW1lLCBuYW1lUHJvdG90eXBlKTsKICAgICAgfQoKICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgT3BlblR5cGVGaWxlQnVpbGRlcihoZWFkZXIudmVyc2lvbik7CiAgICAgIGZvciAodmFyIHRhYmxlVGFnIGluIHRhYmxlcykgewogICAgICAgIGJ1aWxkZXIuYWRkVGFibGUodGFibGVUYWcsIHRhYmxlc1t0YWJsZVRhZ10uZGF0YSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGJ1aWxkZXIudG9BcnJheSgpOwogICAgfSwKCiAgICBjb252ZXJ0OiBmdW5jdGlvbiBGb250X2NvbnZlcnQoZm9udE5hbWUsIGZvbnQsIHByb3BlcnRpZXMpIHsKICAgICAgLy8gVE9ETzogQ2hlY2sgdGhlIGNoYXJzdHJpbmcgd2lkdGhzIHRvIGRldGVybWluZSB0aGlzLgogICAgICBwcm9wZXJ0aWVzLmZpeGVkUGl0Y2ggPSBmYWxzZTsKCiAgICAgIHZhciBtYXBwaW5nID0gZm9udC5nZXRHbHlwaE1hcHBpbmcocHJvcGVydGllcyk7CiAgICAgIHZhciBuZXdNYXBwaW5nID0gYWRqdXN0TWFwcGluZyhtYXBwaW5nLCBwcm9wZXJ0aWVzKTsKICAgICAgdGhpcy50b0ZvbnRDaGFyID0gbmV3TWFwcGluZy50b0ZvbnRDaGFyOwogICAgICB2YXIgbnVtR2x5cGhzID0gZm9udC5udW1HbHlwaHM7CgogICAgICBmdW5jdGlvbiBnZXRDaGFyQ29kZXMoY2hhckNvZGVUb0dseXBoSWQsIGdseXBoSWQpIHsKICAgICAgICB2YXIgY2hhckNvZGVzID0gbnVsbDsKICAgICAgICBmb3IgKHZhciBjaGFyQ29kZSBpbiBjaGFyQ29kZVRvR2x5cGhJZCkgewogICAgICAgICAgaWYgKGdseXBoSWQgPT09IGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSkgewogICAgICAgICAgICBpZiAoIWNoYXJDb2RlcykgewogICAgICAgICAgICAgIGNoYXJDb2RlcyA9IFtdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNoYXJDb2Rlcy5wdXNoKGNoYXJDb2RlIHwgMCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBjaGFyQ29kZXM7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGNyZWF0ZUNoYXJDb2RlKGNoYXJDb2RlVG9HbHlwaElkLCBnbHlwaElkKSB7CiAgICAgICAgZm9yICh2YXIgY2hhckNvZGUgaW4gY2hhckNvZGVUb0dseXBoSWQpIHsKICAgICAgICAgIGlmIChnbHlwaElkID09PSBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0pIHsKICAgICAgICAgICAgcmV0dXJuIGNoYXJDb2RlIHwgMDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbmV3TWFwcGluZy5jaGFyQ29kZVRvR2x5cGhJZFtuZXdNYXBwaW5nLm5leHRBdmFpbGFibGVGb250Q2hhckNvZGVdID0KICAgICAgICAgICAgZ2x5cGhJZDsKICAgICAgICByZXR1cm4gbmV3TWFwcGluZy5uZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlKys7CiAgICAgIH0KCiAgICAgIHZhciBzZWFjcyA9IGZvbnQuc2VhY3M7CiAgICAgIGlmIChTRUFDX0FOQUxZU0lTX0VOQUJMRUQgJiYgc2VhY3MgJiYgc2VhY3MubGVuZ3RoKSB7CiAgICAgICAgdmFyIG1hdHJpeCA9IHByb3BlcnRpZXMuZm9udE1hdHJpeCB8fCBGT05UX0lERU5USVRZX01BVFJJWDsKICAgICAgICB2YXIgY2hhcnNldCA9IGZvbnQuZ2V0Q2hhcnNldCgpOwogICAgICAgIHZhciBzZWFjTWFwID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICBmb3IgKHZhciBnbHlwaElkIGluIHNlYWNzKSB7CiAgICAgICAgICBnbHlwaElkIHw9IDA7CiAgICAgICAgICB2YXIgc2VhYyA9IHNlYWNzW2dseXBoSWRdOwogICAgICAgICAgdmFyIGJhc2VHbHlwaE5hbWUgPSBFbmNvZGluZ3MuU3RhbmRhcmRFbmNvZGluZ1tzZWFjWzJdXTsKICAgICAgICAgIHZhciBhY2NlbnRHbHlwaE5hbWUgPSBFbmNvZGluZ3MuU3RhbmRhcmRFbmNvZGluZ1tzZWFjWzNdXTsKICAgICAgICAgIHZhciBiYXNlR2x5cGhJZCA9IGNoYXJzZXQuaW5kZXhPZihiYXNlR2x5cGhOYW1lKTsKICAgICAgICAgIHZhciBhY2NlbnRHbHlwaElkID0gY2hhcnNldC5pbmRleE9mKGFjY2VudEdseXBoTmFtZSk7CiAgICAgICAgICBpZiAoYmFzZUdseXBoSWQgPCAwIHx8IGFjY2VudEdseXBoSWQgPCAwKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdmFyIGFjY2VudE9mZnNldCA9IHsKICAgICAgICAgICAgeDogc2VhY1swXSAqIG1hdHJpeFswXSArIHNlYWNbMV0gKiBtYXRyaXhbMl0gKyBtYXRyaXhbNF0sCiAgICAgICAgICAgIHk6IHNlYWNbMF0gKiBtYXRyaXhbMV0gKyBzZWFjWzFdICogbWF0cml4WzNdICsgbWF0cml4WzVdCiAgICAgICAgICB9OwoKICAgICAgICAgIHZhciBjaGFyQ29kZXMgPSBnZXRDaGFyQ29kZXMobWFwcGluZywgZ2x5cGhJZCk7CiAgICAgICAgICBpZiAoIWNoYXJDb2RlcykgewogICAgICAgICAgICAvLyBUaGVyZSdzIG5vIHBvaW50IGluIG1hcHBpbmcgaXQgaWYgdGhlIGNoYXIgY29kZSB3YXMgbmV2ZXIgbWFwcGVkCiAgICAgICAgICAgIC8vIHRvIGJlZ2luIHdpdGguCiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gY2hhckNvZGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgICAgdmFyIGNoYXJDb2RlID0gY2hhckNvZGVzW2ldOwogICAgICAgICAgICAvLyBGaW5kIGEgZm9udENoYXJDb2RlIHRoYXQgbWFwcyB0byB0aGUgYmFzZSBhbmQgYWNjZW50IGdseXBocy4KICAgICAgICAgICAgLy8gSWYgb25lIGRvZXNuJ3QgZXhpc3RzLCBjcmVhdGUgaXQuCiAgICAgICAgICAgIHZhciBjaGFyQ29kZVRvR2x5cGhJZCA9IG5ld01hcHBpbmcuY2hhckNvZGVUb0dseXBoSWQ7CiAgICAgICAgICAgIHZhciBiYXNlRm9udENoYXJDb2RlID0gY3JlYXRlQ2hhckNvZGUoY2hhckNvZGVUb0dseXBoSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZUdseXBoSWQpOwogICAgICAgICAgICB2YXIgYWNjZW50Rm9udENoYXJDb2RlID0gY3JlYXRlQ2hhckNvZGUoY2hhckNvZGVUb0dseXBoSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NlbnRHbHlwaElkKTsKICAgICAgICAgICAgc2VhY01hcFtjaGFyQ29kZV0gPSB7CiAgICAgICAgICAgICAgYmFzZUZvbnRDaGFyQ29kZTogYmFzZUZvbnRDaGFyQ29kZSwKICAgICAgICAgICAgICBhY2NlbnRGb250Q2hhckNvZGU6IGFjY2VudEZvbnRDaGFyQ29kZSwKICAgICAgICAgICAgICBhY2NlbnRPZmZzZXQ6IGFjY2VudE9mZnNldAogICAgICAgICAgICB9OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBwcm9wZXJ0aWVzLnNlYWNNYXAgPSBzZWFjTWFwOwogICAgICB9CgogICAgICB2YXIgdW5pdHNQZXJFbSA9IDEgLyAocHJvcGVydGllcy5mb250TWF0cml4IHx8IEZPTlRfSURFTlRJVFlfTUFUUklYKVswXTsKCiAgICAgIHZhciBidWlsZGVyID0gbmV3IE9wZW5UeXBlRmlsZUJ1aWxkZXIoJ1x4NEZceDU0XHg1NFx4NEYnKTsKICAgICAgLy8gUG9zdFNjcmlwdCBGb250IFByb2dyYW0KICAgICAgYnVpbGRlci5hZGRUYWJsZSgnQ0ZGICcsIGZvbnQuZGF0YSk7CiAgICAgIC8vIE9TLzIgYW5kIFdpbmRvd3MgU3BlY2lmaWMgbWV0cmljcwogICAgICBidWlsZGVyLmFkZFRhYmxlKCdPUy8yJywgY3JlYXRlT1MyVGFibGUocHJvcGVydGllcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld01hcHBpbmcuY2hhckNvZGVUb0dseXBoSWQpKTsKICAgICAgLy8gQ2hhcmFjdGVyIHRvIGdseXBocyBtYXBwaW5nCiAgICAgIGJ1aWxkZXIuYWRkVGFibGUoJ2NtYXAnLCBjcmVhdGVDbWFwVGFibGUobmV3TWFwcGluZy5jaGFyQ29kZVRvR2x5cGhJZCkpOwogICAgICAvLyBGb250IGhlYWRlcgogICAgICBidWlsZGVyLmFkZFRhYmxlKCdoZWFkJywKICAgICAgICAgICAgJ1x4MDBceDAxXHgwMFx4MDAnICsgLy8gVmVyc2lvbiBudW1iZXIKICAgICAgICAgICAgJ1x4MDBceDAwXHgxMFx4MDAnICsgLy8gZm9udFJldmlzaW9uCiAgICAgICAgICAgICdceDAwXHgwMFx4MDBceDAwJyArIC8vIGNoZWNrc3VtQWRqdXN0ZW1lbnQKICAgICAgICAgICAgJ1x4NUZceDBGXHgzQ1x4RjUnICsgLy8gbWFnaWNOdW1iZXIKICAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIEZsYWdzCiAgICAgICAgICAgIHNhZmVTdHJpbmcxNih1bml0c1BlckVtKSArIC8vIHVuaXRzUGVyRU0KICAgICAgICAgICAgJ1x4MDBceDAwXHgwMFx4MDBceDllXHgwYlx4N2VceDI3JyArIC8vIGNyZWF0aW9uIGRhdGUKICAgICAgICAgICAgJ1x4MDBceDAwXHgwMFx4MDBceDllXHgwYlx4N2VceDI3JyArIC8vIG1vZGlmaWZpY2F0aW9uIGRhdGUKICAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIHhNaW4KICAgICAgICAgICAgc2FmZVN0cmluZzE2KHByb3BlcnRpZXMuZGVzY2VudCkgKyAvLyB5TWluCiAgICAgICAgICAgICdceDBGXHhGRicgKyAvLyB4TWF4CiAgICAgICAgICAgIHNhZmVTdHJpbmcxNihwcm9wZXJ0aWVzLmFzY2VudCkgKyAvLyB5TWF4CiAgICAgICAgICAgIHN0cmluZzE2KHByb3BlcnRpZXMuaXRhbGljQW5nbGUgPyAyIDogMCkgKyAvLyBtYWNTdHlsZQogICAgICAgICAgICAnXHgwMFx4MTEnICsgLy8gbG93ZXN0UmVjUFBFTQogICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gZm9udERpcmVjdGlvbkhpbnQKICAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIGluZGV4VG9Mb2NGb3JtYXQKICAgICAgICAgICAgJ1x4MDBceDAwJyk7ICAvLyBnbHlwaERhdGFGb3JtYXQKCiAgICAgIC8vIEhvcml6b250YWwgaGVhZGVyCiAgICAgIGJ1aWxkZXIuYWRkVGFibGUoJ2hoZWEnLAogICAgICAgICAgICAnXHgwMFx4MDFceDAwXHgwMCcgKyAvLyBWZXJzaW9uIG51bWJlcgogICAgICAgICAgICBzYWZlU3RyaW5nMTYocHJvcGVydGllcy5hc2NlbnQpICsgLy8gVHlwb2dyYXBoaWMgQXNjZW50CiAgICAgICAgICAgIHNhZmVTdHJpbmcxNihwcm9wZXJ0aWVzLmRlc2NlbnQpICsgLy8gVHlwb2dyYXBoaWMgRGVzY2VudAogICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gTGluZSBHYXAKICAgICAgICAgICAgJ1x4RkZceEZGJyArIC8vIGFkdmFuY2VXaWR0aE1heAogICAgICAgICAgICAnXHgwMFx4MDAnICsgLy8gbWluTGVmdFNpZGViZWFyaW5nCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyBtaW5SaWdodFNpZGViZWFyaW5nCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyB4TWF4RXh0ZW50CiAgICAgICAgICAgIHNhZmVTdHJpbmcxNihwcm9wZXJ0aWVzLmNhcEhlaWdodCkgKyAvLyBjYXJldFNsb3BlUmlzZQogICAgICAgICAgICBzYWZlU3RyaW5nMTYoTWF0aC50YW4ocHJvcGVydGllcy5pdGFsaWNBbmdsZSkgKgogICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcy54SGVpZ2h0KSArIC8vIGNhcmV0U2xvcGVSdW4KICAgICAgICAgICAgJ1x4MDBceDAwJyArIC8vIGNhcmV0T2Zmc2V0CiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyAtcmVzZXJ2ZWQtCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyAtcmVzZXJ2ZWQtCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyAtcmVzZXJ2ZWQtCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyAtcmVzZXJ2ZWQtCiAgICAgICAgICAgICdceDAwXHgwMCcgKyAvLyBtZXRyaWNEYXRhRm9ybWF0CiAgICAgICAgICAgIHN0cmluZzE2KG51bUdseXBocykpOyAvLyBOdW1iZXIgb2YgSE1ldHJpY3MKCiAgICAgIC8vIEhvcml6b250YWwgbWV0cmljcwogICAgICBidWlsZGVyLmFkZFRhYmxlKCdobXR4JywgKGZ1bmN0aW9uIGZvbnRGaWVsZHNIbXR4KCkgewogICAgICAgICAgdmFyIGNoYXJzdHJpbmdzID0gZm9udC5jaGFyc3RyaW5nczsKICAgICAgICAgIHZhciBjZmZXaWR0aHMgPSBmb250LmNmZiA/IGZvbnQuY2ZmLndpZHRocyA6IG51bGw7CiAgICAgICAgICB2YXIgaG10eCA9ICdceDAwXHgwMFx4MDBceDAwJzsgLy8gRmFrZSAubm90ZGVmCiAgICAgICAgICBmb3IgKHZhciBpID0gMSwgaWkgPSBudW1HbHlwaHM7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICAgIHZhciB3aWR0aCA9IDA7CiAgICAgICAgICAgIGlmIChjaGFyc3RyaW5ncykgewogICAgICAgICAgICAgIHZhciBjaGFyc3RyaW5nID0gY2hhcnN0cmluZ3NbaSAtIDFdOwogICAgICAgICAgICAgIHdpZHRoID0gJ3dpZHRoJyBpbiBjaGFyc3RyaW5nID8gY2hhcnN0cmluZy53aWR0aCA6IDA7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2ZmV2lkdGhzKSB7CiAgICAgICAgICAgICAgd2lkdGggPSBNYXRoLmNlaWwoY2ZmV2lkdGhzW2ldIHx8IDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGhtdHggKz0gc3RyaW5nMTYod2lkdGgpICsgc3RyaW5nMTYoMCk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gaG10eDsKICAgICAgICB9KSgpKTsKCiAgICAgIC8vIE1heGltdW0gcHJvZmlsZQogICAgICBidWlsZGVyLmFkZFRhYmxlKCdtYXhwJywKICAgICAgICAgICAgJ1x4MDBceDAwXHg1MFx4MDAnICsgLy8gVmVyc2lvbiBudW1iZXIKICAgICAgICAgICAgc3RyaW5nMTYobnVtR2x5cGhzKSk7IC8vIE51bSBvZiBnbHlwaHMKCiAgICAgIC8vIE5hbWluZyB0YWJsZXMKICAgICAgYnVpbGRlci5hZGRUYWJsZSgnbmFtZScsIGNyZWF0ZU5hbWVUYWJsZShmb250TmFtZSkpOwoKICAgICAgLy8gUG9zdFNjcmlwdCBpbmZvcm1hdGlvbnMKICAgICAgYnVpbGRlci5hZGRUYWJsZSgncG9zdCcsIGNyZWF0ZVBvc3RUYWJsZShwcm9wZXJ0aWVzKSk7CgogICAgICByZXR1cm4gYnVpbGRlci50b0FycmF5KCk7CiAgICB9LAoKICAgIC8qKgogICAgICogQnVpbGRzIGEgY2hhciBjb2RlIHRvIHVuaWNvZGUgbWFwIGJhc2VkIG9uIHNlY3Rpb24gOS4xMCBvZiB0aGUgc3BlYy4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIEZvbnQgcHJvcGVydGllcyBvYmplY3QuCiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IEEgVG9Vbmljb2RlTWFwIG9iamVjdC4KICAgICAqLwogICAgYnVpbGRUb1VuaWNvZGU6IGZ1bmN0aW9uIEZvbnRfYnVpbGRUb1VuaWNvZGUocHJvcGVydGllcykgewogICAgICAvLyBTZWN0aW9uIDkuMTAuMiBNYXBwaW5nIENoYXJhY3RlciBDb2RlcyB0byBVbmljb2RlIFZhbHVlcwogICAgICBpZiAocHJvcGVydGllcy50b1VuaWNvZGUgJiYgcHJvcGVydGllcy50b1VuaWNvZGUubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMudG9Vbmljb2RlOwogICAgICB9CiAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgc3BlYyBpZiB0aGUgZm9udCBpcyBhIHNpbXBsZSBmb250IHdlIHNob3VsZCBvbmx5IG1hcAogICAgICAvLyB0byB1bmljb2RlIGlmIHRoZSBiYXNlIGVuY29kaW5nIGlzIE1hY1JvbWFuLCBNYWNFeHBlcnQsIG9yIFdpbkFuc2kgb3IKICAgICAgLy8gdGhlIGRpZmZlcmVuY2VzIGFycmF5IG9ubHkgY29udGFpbnMgYWRvYmUgc3RhbmRhcmQgb3Igc3ltYm9sIHNldCBuYW1lcywKICAgICAgLy8gaW4gcHJhdGljZSBpdCBzZWVtcyBiZXR0ZXIgdG8gYWx3YXlzIHRyeSB0byBjcmVhdGUgYSB0b1VuaWNvZGUKICAgICAgLy8gbWFwIGJhc2VkIG9mIHRoZSBkZWZhdWx0IGVuY29kaW5nLgogICAgICB2YXIgdG9Vbmljb2RlLCBjaGFyY29kZTsKICAgICAgaWYgKCFwcm9wZXJ0aWVzLmNvbXBvc2l0ZSAvKiBpcyBzaW1wbGUgZm9udCAqLykgewogICAgICAgIHRvVW5pY29kZSA9IFtdOwogICAgICAgIHZhciBlbmNvZGluZyA9IHByb3BlcnRpZXMuZGVmYXVsdEVuY29kaW5nLnNsaWNlKCk7CiAgICAgICAgdmFyIGJhc2VFbmNvZGluZ05hbWUgPSBwcm9wZXJ0aWVzLmJhc2VFbmNvZGluZ05hbWU7CiAgICAgICAgLy8gTWVyZ2UgaW4gdGhlIGRpZmZlcmVuY2VzIGFycmF5LgogICAgICAgIHZhciBkaWZmZXJlbmNlcyA9IHByb3BlcnRpZXMuZGlmZmVyZW5jZXM7CiAgICAgICAgZm9yIChjaGFyY29kZSBpbiBkaWZmZXJlbmNlcykgewogICAgICAgICAgZW5jb2RpbmdbY2hhcmNvZGVdID0gZGlmZmVyZW5jZXNbY2hhcmNvZGVdOwogICAgICAgIH0KICAgICAgICBmb3IgKGNoYXJjb2RlIGluIGVuY29kaW5nKSB7CiAgICAgICAgICAvLyBhKSBNYXAgdGhlIGNoYXJhY3RlciBjb2RlIHRvIGEgY2hhcmFjdGVyIG5hbWUuCiAgICAgICAgICB2YXIgZ2x5cGhOYW1lID0gZW5jb2RpbmdbY2hhcmNvZGVdOwogICAgICAgICAgLy8gYikgTG9vayB1cCB0aGUgY2hhcmFjdGVyIG5hbWUgaW4gdGhlIEFkb2JlIEdseXBoIExpc3QgKHNlZSB0aGUKICAgICAgICAgIC8vICAgIEJpYmxpb2dyYXBoeSkgdG8gb2J0YWluIHRoZSBjb3JyZXNwb25kaW5nIFVuaWNvZGUgdmFsdWUuCiAgICAgICAgICBpZiAoZ2x5cGhOYW1lID09PSAnJykgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0gZWxzZSBpZiAoR2x5cGhzVW5pY29kZVtnbHlwaE5hbWVdID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgLy8gKHVuZG9jdW1lbnRlZCkgYykgRmV3IGhldXJpc3RpY3MgdG8gcmVjb2duaXplIHVua25vd24gZ2x5cGhzCiAgICAgICAgICAgIC8vIE5PVEU6IEFkb2JlIFJlYWRlciBkb2VzIG5vdCBkbyB0aGlzIHN0ZXAsIGJ1dCBPU1ggUHJldmlldyBkb2VzCiAgICAgICAgICAgIHZhciBjb2RlID0gMDsKICAgICAgICAgICAgc3dpdGNoIChnbHlwaE5hbWVbMF0pIHsKICAgICAgICAgICAgICBjYXNlICdHJzogLy8gR3h4IGdseXBoCiAgICAgICAgICAgICAgICBpZiAoZ2x5cGhOYW1lLmxlbmd0aCA9PT0gMykgewogICAgICAgICAgICAgICAgICBjb2RlID0gcGFyc2VJbnQoZ2x5cGhOYW1lLnN1YnN0cigxKSwgMTYpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAnZyc6IC8vIGcwMHh4IGdseXBoCiAgICAgICAgICAgICAgICBpZiAoZ2x5cGhOYW1lLmxlbmd0aCA9PT0gNSkgewogICAgICAgICAgICAgICAgICBjb2RlID0gcGFyc2VJbnQoZ2x5cGhOYW1lLnN1YnN0cigxKSwgMTYpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAnQyc6IC8vIENkZGQgZ2x5cGgKICAgICAgICAgICAgICBjYXNlICdjJzogLy8gY2RkZCBnbHlwaAogICAgICAgICAgICAgICAgaWYgKGdseXBoTmFtZS5sZW5ndGggPj0gMykgewogICAgICAgICAgICAgICAgICBjb2RlID0gK2dseXBoTmFtZS5zdWJzdHIoMSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29kZSkgewogICAgICAgICAgICAgIC8vIElmIHxiYXNlRW5jb2RpbmdOYW1lfCBpcyBvbmUgdGhlIHByZWRlZmluZWQgZW5jb2RpbmdzLAogICAgICAgICAgICAgIC8vIGFuZCB8Y29kZXwgZXF1YWxzIHxjaGFyY29kZXwsIHVzaW5nIHRoZSBnbHlwaCBkZWZpbmVkIGluIHRoZQogICAgICAgICAgICAgIC8vIGJhc2VFbmNvZGluZyBzZWVtcyB0byB5aWVsZCBhIGJldHRlciB8dG9Vbmljb2RlfCBtYXBwaW5nCiAgICAgICAgICAgICAgLy8gKGZpeGVzIGlzc3VlIDUwNzApLgogICAgICAgICAgICAgIGlmIChiYXNlRW5jb2RpbmdOYW1lICYmIGNvZGUgPT09ICtjaGFyY29kZSkgewogICAgICAgICAgICAgICAgdmFyIGJhc2VFbmNvZGluZyA9IEVuY29kaW5nc1tiYXNlRW5jb2RpbmdOYW1lXTsKICAgICAgICAgICAgICAgIGlmIChiYXNlRW5jb2RpbmcgJiYgKGdseXBoTmFtZSA9IGJhc2VFbmNvZGluZ1tjaGFyY29kZV0pKSB7CiAgICAgICAgICAgICAgICAgIHRvVW5pY29kZVtjaGFyY29kZV0gPQogICAgICAgICAgICAgICAgICAgIFN0cmluZy5mcm9tQ2hhckNvZGUoR2x5cGhzVW5pY29kZVtnbHlwaE5hbWVdKTsKICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHRvVW5pY29kZVtjaGFyY29kZV0gPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgdG9Vbmljb2RlW2NoYXJjb2RlXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoR2x5cGhzVW5pY29kZVtnbHlwaE5hbWVdKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAodG9Vbmljb2RlKTsKICAgICAgfQogICAgICAvLyBJZiB0aGUgZm9udCBpcyBhIGNvbXBvc2l0ZSBmb250IHRoYXQgdXNlcyBvbmUgb2YgdGhlIHByZWRlZmluZWQgQ01hcHMKICAgICAgLy8gbGlzdGVkIGluIFRhYmxlIDExOCAoZXhjZXB0IElkZW50aXR54oCTSCBhbmQgSWRlbnRpdHnigJNWKSBvciB3aG9zZQogICAgICAvLyBkZXNjZW5kYW50IENJREZvbnQgdXNlcyB0aGUgQWRvYmUtR0IxLCBBZG9iZS1DTlMxLCBBZG9iZS1KYXBhbjEsIG9yCiAgICAgIC8vIEFkb2JlLUtvcmVhMSBjaGFyYWN0ZXIgY29sbGVjdGlvbjoKICAgICAgaWYgKHByb3BlcnRpZXMuY29tcG9zaXRlICYmICgKICAgICAgICAgICAocHJvcGVydGllcy5jTWFwLmJ1aWx0SW5DTWFwICYmCiAgICAgICAgICAgICEocHJvcGVydGllcy5jTWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKSkgfHwKICAgICAgICAgICAocHJvcGVydGllcy5jaWRTeXN0ZW1JbmZvLnJlZ2lzdHJ5ID09PSAnQWRvYmUnICYmCiAgICAgICAgICAgICAocHJvcGVydGllcy5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nID09PSAnR0IxJyB8fAogICAgICAgICAgICAgIHByb3BlcnRpZXMuY2lkU3lzdGVtSW5mby5vcmRlcmluZyA9PT0gJ0NOUzEnIHx8CiAgICAgICAgICAgICAgcHJvcGVydGllcy5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nID09PSAnSmFwYW4xJyB8fAogICAgICAgICAgICAgIHByb3BlcnRpZXMuY2lkU3lzdGVtSW5mby5vcmRlcmluZyA9PT0gJ0tvcmVhMScpKSkpIHsKICAgICAgICAvLyBUaGVuOgogICAgICAgIC8vIGEpIE1hcCB0aGUgY2hhcmFjdGVyIGNvZGUgdG8gYSBjaGFyYWN0ZXIgaWRlbnRpZmllciAoQ0lEKSBhY2NvcmRpbmcKICAgICAgICAvLyB0byB0aGUgZm9udOKAmXMgQ01hcC4KICAgICAgICAvLyBiKSBPYnRhaW4gdGhlIHJlZ2lzdHJ5IGFuZCBvcmRlcmluZyBvZiB0aGUgY2hhcmFjdGVyIGNvbGxlY3Rpb24gdXNlZAogICAgICAgIC8vIGJ5IHRoZSBmb2504oCZcyBDTWFwIChmb3IgZXhhbXBsZSwgQWRvYmUgYW5kIEphcGFuMSkgZnJvbSBpdHMKICAgICAgICAvLyBDSURTeXN0ZW1JbmZvIGRpY3Rpb25hcnkuCiAgICAgICAgdmFyIHJlZ2lzdHJ5ID0gcHJvcGVydGllcy5jaWRTeXN0ZW1JbmZvLnJlZ2lzdHJ5OwogICAgICAgIHZhciBvcmRlcmluZyA9IHByb3BlcnRpZXMuY2lkU3lzdGVtSW5mby5vcmRlcmluZzsKICAgICAgICAvLyBjKSBDb25zdHJ1Y3QgYSBzZWNvbmQgQ01hcCBuYW1lIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIHJlZ2lzdHJ5IGFuZAogICAgICAgIC8vIG9yZGVyaW5nIG9idGFpbmVkIGluIHN0ZXAgKGIpIGluIHRoZSBmb3JtYXQgcmVnaXN0cnnigJNvcmRlcmluZ+KAk1VDUzIKICAgICAgICAvLyAoZm9yIGV4YW1wbGUsIEFkb2Jl4oCTSmFwYW4x4oCTVUNTMikuCiAgICAgICAgdmFyIHVjczJDTWFwTmFtZSA9IG5ldyBOYW1lKHJlZ2lzdHJ5ICsgJy0nICsgb3JkZXJpbmcgKyAnLVVDUzInKTsKICAgICAgICAvLyBkKSBPYnRhaW4gdGhlIENNYXAgd2l0aCB0aGUgbmFtZSBjb25zdHJ1Y3RlZCBpbiBzdGVwIChjKSAoYXZhaWxhYmxlCiAgICAgICAgLy8gZnJvbSB0aGUgQVNOIFdlYiBzaXRlOyBzZWUgdGhlIEJpYmxpb2dyYXBoeSkuCiAgICAgICAgdmFyIHVjczJDTWFwID0gQ01hcEZhY3RvcnkuY3JlYXRlKHVjczJDTWFwTmFtZSwKICAgICAgICAgIHsgdXJsOiBQREZKUy5jTWFwVXJsLCBwYWNrZWQ6IFBERkpTLmNNYXBQYWNrZWQgfSwgbnVsbCk7CiAgICAgICAgdmFyIGNNYXAgPSBwcm9wZXJ0aWVzLmNNYXA7CiAgICAgICAgdG9Vbmljb2RlID0gW107CiAgICAgICAgY01hcC5mb3JFYWNoKGZ1bmN0aW9uKGNoYXJjb2RlLCBjaWQpIHsKICAgICAgICAgIGFzc2VydChjaWQgPD0gMHhmZmZmLCAnTWF4IHNpemUgb2YgQ0lEIGlzIDY1LDUzNScpOwogICAgICAgICAgLy8gZSkgTWFwIHRoZSBDSUQgb2J0YWluZWQgaW4gc3RlcCAoYSkgYWNjb3JkaW5nIHRvIHRoZSBDTWFwIG9idGFpbmVkCiAgICAgICAgICAvLyBpbiBzdGVwIChkKSwgcHJvZHVjaW5nIGEgVW5pY29kZSB2YWx1ZS4KICAgICAgICAgIHZhciB1Y3MyID0gdWNzMkNNYXAubG9va3VwKGNpZCk7CiAgICAgICAgICBpZiAodWNzMikgewogICAgICAgICAgICB0b1VuaWNvZGVbY2hhcmNvZGVdID0KICAgICAgICAgICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKCh1Y3MyLmNoYXJDb2RlQXQoMCkgPDwgOCkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWNzMi5jaGFyQ29kZUF0KDEpKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICByZXR1cm4gbmV3IFRvVW5pY29kZU1hcCh0b1VuaWNvZGUpOwogICAgICB9CgogICAgICAvLyBUaGUgdmlld2VyJ3MgY2hvaWNlLCBqdXN0IHVzZSBhbiBpZGVudGl0eSBtYXAuCiAgICAgIHJldHVybiBuZXcgSWRlbnRpdHlUb1VuaWNvZGVNYXAocHJvcGVydGllcy5maXJzdENoYXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcy5sYXN0Q2hhcik7CiAgICB9LAoKICAgIGdldCBzcGFjZVdpZHRoKCkgewogICAgICBpZiAoJ19zaGFkb3dXaWR0aCcgaW4gdGhpcykgewogICAgICAgIHJldHVybiB0aGlzLl9zaGFkb3dXaWR0aDsKICAgICAgfQoKICAgICAgLy8gdHJ5aW5nIHRvIGVzdGltYXRlIHNwYWNlIGNoYXJhY3RlciB3aWR0aAogICAgICB2YXIgcG9zc2libGVTcGFjZVJlcGxhY2VtZW50cyA9IFsnc3BhY2UnLCAnbWludXMnLCAnb25lJywgJ2knXTsKICAgICAgdmFyIHdpZHRoOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBwb3NzaWJsZVNwYWNlUmVwbGFjZW1lbnRzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICB2YXIgZ2x5cGhOYW1lID0gcG9zc2libGVTcGFjZVJlcGxhY2VtZW50c1tpXTsKICAgICAgICAvLyBpZiBwb3NzaWJsZSwgZ2V0dGluZyB3aWR0aCBieSBnbHlwaCBuYW1lCiAgICAgICAgaWYgKGdseXBoTmFtZSBpbiB0aGlzLndpZHRocykgewogICAgICAgICAgd2lkdGggPSB0aGlzLndpZHRoc1tnbHlwaE5hbWVdOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHZhciBnbHlwaFVuaWNvZGUgPSBHbHlwaHNVbmljb2RlW2dseXBoTmFtZV07CiAgICAgICAgLy8gZmluZGluZyB0aGUgY2hhcmNvZGUgdmlhIHVuaWNvZGVUb0NJRCBtYXAKICAgICAgICB2YXIgY2hhcmNvZGUgPSAwOwogICAgICAgIGlmICh0aGlzLmNvbXBvc2l0ZSkgewogICAgICAgICAgaWYgKHRoaXMuY01hcC5jb250YWlucyhnbHlwaFVuaWNvZGUpKSB7CiAgICAgICAgICAgIGNoYXJjb2RlID0gdGhpcy5jTWFwLmxvb2t1cChnbHlwaFVuaWNvZGUpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAvLyAuLi4gdmlhIHRvVW5pY29kZSBtYXAKICAgICAgICBpZiAoIWNoYXJjb2RlICYmICd0b1VuaWNvZGUnIGluIHRoaXMpIHsKICAgICAgICAgIGNoYXJjb2RlID0gdGhpcy50b1VuaWNvZGUuY2hhckNvZGVPZihnbHlwaFVuaWNvZGUpOwogICAgICAgIH0KICAgICAgICAvLyBzZXR0aW5nIGl0IHRvIHVuaWNvZGUgaWYgbmVnYXRpdmUgb3IgdW5kZWZpbmVkCiAgICAgICAgaWYgKGNoYXJjb2RlIDw9IDApIHsKICAgICAgICAgIGNoYXJjb2RlID0gZ2x5cGhVbmljb2RlOwogICAgICAgIH0KICAgICAgICAvLyB0cnlpbmcgdG8gZ2V0IHdpZHRoIHZpYSBjaGFyY29kZQogICAgICAgIHdpZHRoID0gdGhpcy53aWR0aHNbY2hhcmNvZGVdOwogICAgICAgIGlmICh3aWR0aCkgewogICAgICAgICAgYnJlYWs7IC8vIHRoZSBub24temVybyB3aWR0aCBmb3VuZAogICAgICAgIH0KICAgICAgfQogICAgICB3aWR0aCA9IHdpZHRoIHx8IHRoaXMuZGVmYXVsdFdpZHRoOwogICAgICAvLyBEbyBub3Qgc2hhZG93IHRoZSBwcm9wZXJ0eSBoZXJlLiBTZWUgZGlzY3Vzc2lvbjoKICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvcGRmLmpzL3B1bGwvMjEyNyNkaXNjdXNzaW9uX3IxNjYyMjgwCiAgICAgIHRoaXMuX3NoYWRvd1dpZHRoID0gd2lkdGg7CiAgICAgIHJldHVybiB3aWR0aDsKICAgIH0sCgogICAgY2hhclRvR2x5cGg6IGZ1bmN0aW9uIEZvbnRfY2hhclRvR2x5cGgoY2hhcmNvZGUpIHsKICAgICAgdmFyIGZvbnRDaGFyQ29kZSwgd2lkdGgsIG9wZXJhdG9yTGlzdElkOwoKICAgICAgdmFyIHdpZHRoQ29kZSA9IGNoYXJjb2RlOwogICAgICBpZiAodGhpcy5jTWFwICYmIHRoaXMuY01hcC5jb250YWlucyhjaGFyY29kZSkpIHsKICAgICAgICB3aWR0aENvZGUgPSB0aGlzLmNNYXAubG9va3VwKGNoYXJjb2RlKTsKICAgICAgfQogICAgICB3aWR0aCA9IHRoaXMud2lkdGhzW3dpZHRoQ29kZV07CiAgICAgIHdpZHRoID0gaXNOdW0od2lkdGgpID8gd2lkdGggOiB0aGlzLmRlZmF1bHRXaWR0aDsKICAgICAgdmFyIHZtZXRyaWMgPSB0aGlzLnZtZXRyaWNzICYmIHRoaXMudm1ldHJpY3Nbd2lkdGhDb2RlXTsKCiAgICAgIHZhciB1bmljb2RlID0gdGhpcy50b1VuaWNvZGUuZ2V0KGNoYXJjb2RlKSB8fCBjaGFyY29kZTsKICAgICAgaWYgKHR5cGVvZiB1bmljb2RlID09PSAnbnVtYmVyJykgewogICAgICAgIHVuaWNvZGUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHVuaWNvZGUpOwogICAgICB9CgogICAgICAvLyBGaXJzdCB0cnkgdGhlIHRvRm9udENoYXIgbWFwLCBpZiBpdCdzIG5vdCB0aGVyZSB0aGVuIHRyeSBmYWxsaW5nCiAgICAgIC8vIGJhY2sgdG8gdGhlIGNoYXIgY29kZS4KICAgICAgZm9udENoYXJDb2RlID0gdGhpcy50b0ZvbnRDaGFyW2NoYXJjb2RlXSB8fCBjaGFyY29kZTsKICAgICAgaWYgKHRoaXMubWlzc2luZ0ZpbGUpIHsKICAgICAgICBmb250Q2hhckNvZGUgPSBtYXBTcGVjaWFsVW5pY29kZVZhbHVlcyhmb250Q2hhckNvZGUpOwogICAgICB9CgogICAgICBpZiAodGhpcy5pc1R5cGUzRm9udCkgewogICAgICAgIC8vIEZvbnQgY2hhciBjb2RlIGluIHRoaXMgY2FzZSBpcyBhY3R1YWxseSBhIGdseXBoIG5hbWUuCiAgICAgICAgb3BlcmF0b3JMaXN0SWQgPSBmb250Q2hhckNvZGU7CiAgICAgIH0KCiAgICAgIHZhciBhY2NlbnQgPSBudWxsOwogICAgICBpZiAodGhpcy5zZWFjTWFwICYmIHRoaXMuc2VhY01hcFtjaGFyY29kZV0pIHsKICAgICAgICB2YXIgc2VhYyA9IHRoaXMuc2VhY01hcFtjaGFyY29kZV07CiAgICAgICAgZm9udENoYXJDb2RlID0gc2VhYy5iYXNlRm9udENoYXJDb2RlOwogICAgICAgIGFjY2VudCA9IHsKICAgICAgICAgIGZvbnRDaGFyOiBTdHJpbmcuZnJvbUNoYXJDb2RlKHNlYWMuYWNjZW50Rm9udENoYXJDb2RlKSwKICAgICAgICAgIG9mZnNldDogc2VhYy5hY2NlbnRPZmZzZXQKICAgICAgICB9OwogICAgICB9CgogICAgICB2YXIgZm9udENoYXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGZvbnRDaGFyQ29kZSk7CgogICAgICB2YXIgZ2x5cGggPSB0aGlzLmdseXBoQ2FjaGVbY2hhcmNvZGVdOwogICAgICBpZiAoIWdseXBoIHx8CiAgICAgICAgICAhZ2x5cGgubWF0Y2hlc0ZvckNhY2hlKGZvbnRDaGFyLCB1bmljb2RlLCBhY2NlbnQsIHdpZHRoLCB2bWV0cmljLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3RJZCkpIHsKICAgICAgICBnbHlwaCA9IG5ldyBHbHlwaChmb250Q2hhciwgdW5pY29kZSwgYWNjZW50LCB3aWR0aCwgdm1ldHJpYywKICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvckxpc3RJZCk7CiAgICAgICAgdGhpcy5nbHlwaENhY2hlW2NoYXJjb2RlXSA9IGdseXBoOwogICAgICB9CiAgICAgIHJldHVybiBnbHlwaDsKICAgIH0sCgogICAgY2hhcnNUb0dseXBoczogZnVuY3Rpb24gRm9udF9jaGFyc1RvR2x5cGhzKGNoYXJzKSB7CiAgICAgIHZhciBjaGFyc0NhY2hlID0gdGhpcy5jaGFyc0NhY2hlOwogICAgICB2YXIgZ2x5cGhzLCBnbHlwaCwgY2hhcmNvZGU7CgogICAgICAvLyBpZiB3ZSB0cmFuc2xhdGVkIHRoaXMgc3RyaW5nIGJlZm9yZSwganVzdCBncmFiIGl0IGZyb20gdGhlIGNhY2hlCiAgICAgIGlmIChjaGFyc0NhY2hlKSB7CiAgICAgICAgZ2x5cGhzID0gY2hhcnNDYWNoZVtjaGFyc107CiAgICAgICAgaWYgKGdseXBocykgewogICAgICAgICAgcmV0dXJuIGdseXBoczsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIGxhemlseSBjcmVhdGUgdGhlIHRyYW5zbGF0aW9uIGNhY2hlCiAgICAgIGlmICghY2hhcnNDYWNoZSkgewogICAgICAgIGNoYXJzQ2FjaGUgPSB0aGlzLmNoYXJzQ2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICB9CgogICAgICBnbHlwaHMgPSBbXTsKICAgICAgdmFyIGNoYXJzQ2FjaGVLZXkgPSBjaGFyczsKICAgICAgdmFyIGkgPSAwLCBpaTsKCiAgICAgIGlmICh0aGlzLmNNYXApIHsKICAgICAgICAvLyBjb21wb3NpdGUgZm9udHMgaGF2ZSBtdWx0aS1ieXRlIHN0cmluZ3MgY29udmVydCB0aGUgc3RyaW5nIGZyb20KICAgICAgICAvLyBzaW5nbGUtYnl0ZSB0byBtdWx0aS1ieXRlCiAgICAgICAgdmFyIGMgPSB7fTsKICAgICAgICB3aGlsZSAoaSA8IGNoYXJzLmxlbmd0aCkgewogICAgICAgICAgdGhpcy5jTWFwLnJlYWRDaGFyQ29kZShjaGFycywgaSwgYyk7CiAgICAgICAgICBjaGFyY29kZSA9IGMuY2hhcmNvZGU7CiAgICAgICAgICB2YXIgbGVuZ3RoID0gYy5sZW5ndGg7CiAgICAgICAgICBpICs9IGxlbmd0aDsKICAgICAgICAgIGdseXBoID0gdGhpcy5jaGFyVG9HbHlwaChjaGFyY29kZSk7CiAgICAgICAgICBnbHlwaHMucHVzaChnbHlwaCk7CiAgICAgICAgICAvLyBwbGFjaW5nIG51bGwgYWZ0ZXIgZWFjaCB3b3JkIGJyZWFrIGNoYXJjb2RlIChBU0NJSSBTUEFDRSkKICAgICAgICAgIC8vIElnbm9yZSBvY2N1cmVuY2VzIG9mIDB4MjAgaW4gbXVsdGlwbGUtYnl0ZSBjb2Rlcy4KICAgICAgICAgIGlmIChsZW5ndGggPT09IDEgJiYgY2hhcnMuY2hhckNvZGVBdChpIC0gMSkgPT09IDB4MjApIHsKICAgICAgICAgICAgZ2x5cGhzLnB1c2gobnVsbCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGZvciAoaSA9IDAsIGlpID0gY2hhcnMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgICAgY2hhcmNvZGUgPSBjaGFycy5jaGFyQ29kZUF0KGkpOwogICAgICAgICAgZ2x5cGggPSB0aGlzLmNoYXJUb0dseXBoKGNoYXJjb2RlKTsKICAgICAgICAgIGdseXBocy5wdXNoKGdseXBoKTsKICAgICAgICAgIGlmIChjaGFyY29kZSA9PT0gMHgyMCkgewogICAgICAgICAgICBnbHlwaHMucHVzaChudWxsKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIEVudGVyIHRoZSB0cmFuc2xhdGVkIHN0cmluZyBpbnRvIHRoZSBjYWNoZQogICAgICByZXR1cm4gKGNoYXJzQ2FjaGVbY2hhcnNDYWNoZUtleV0gPSBnbHlwaHMpOwogICAgfQogIH07CgogIHJldHVybiBGb250Owp9KSgpOwoKdmFyIEVycm9yRm9udCA9IChmdW5jdGlvbiBFcnJvckZvbnRDbG9zdXJlKCkgewogIGZ1bmN0aW9uIEVycm9yRm9udChlcnJvcikgewogICAgdGhpcy5lcnJvciA9IGVycm9yOwogICAgdGhpcy5sb2FkZWROYW1lID0gJ2dfZm9udF9lcnJvcic7CiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICB9CgogIEVycm9yRm9udC5wcm90b3R5cGUgPSB7CiAgICBjaGFyc1RvR2x5cGhzOiBmdW5jdGlvbiBFcnJvckZvbnRfY2hhcnNUb0dseXBocygpIHsKICAgICAgcmV0dXJuIFtdOwogICAgfSwKICAgIGV4cG9ydERhdGE6IGZ1bmN0aW9uIEVycm9yRm9udF9leHBvcnREYXRhKCkgewogICAgICByZXR1cm4ge2Vycm9yOiB0aGlzLmVycm9yfTsKICAgIH0KICB9OwoKICByZXR1cm4gRXJyb3JGb250Owp9KSgpOwoKLyoqCiAqIFNoYXJlZCBsb2dpYyBmb3IgYnVpbGRpbmcgYSBjaGFyIGNvZGUgdG8gZ2x5cGggaWQgbWFwcGluZyBmb3IgVHlwZTEgYW5kCiAqIHNpbXBsZSBDRkYgZm9udHMuIFNlZSBzZWN0aW9uIDkuNi42LjIgb2YgdGhlIHNwZWMuCiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIEZvbnQgcHJvcGVydGllcyBvYmplY3QuCiAqIEBwYXJhbSB7T2JqZWN0fSBidWlsdEluRW5jb2RpbmcgVGhlIGVuY29kaW5nIGNvbnRhaW5lZCB3aXRoaW4gdGhlIGFjdHVhbCBmb250CiAqIGRhdGEuCiAqIEBwYXJhbSB7QXJyYXl9IEFycmF5IG9mIGdseXBoIG5hbWVzIHdoZXJlIHRoZSBpbmRleCBpcyB0aGUgZ2x5cGggSUQuCiAqIEByZXR1cm5zIHtPYmplY3R9IEEgY2hhciBjb2RlIHRvIGdseXBoIElEIG1hcC4KICovCmZ1bmN0aW9uIHR5cGUxRm9udEdseXBoTWFwcGluZyhwcm9wZXJ0aWVzLCBidWlsdEluRW5jb2RpbmcsIGdseXBoTmFtZXMpIHsKICB2YXIgY2hhckNvZGVUb0dseXBoSWQgPSBPYmplY3QuY3JlYXRlKG51bGwpOwogIHZhciBnbHlwaElkLCBjaGFyQ29kZSwgYmFzZUVuY29kaW5nOwoKICBpZiAocHJvcGVydGllcy5iYXNlRW5jb2RpbmdOYW1lKSB7CiAgICAvLyBJZiBhIHZhbGlkIGJhc2UgZW5jb2RpbmcgbmFtZSB3YXMgdXNlZCwgdGhlIG1hcHBpbmcgaXMgaW5pdGlhbGl6ZWQgd2l0aAogICAgLy8gdGhhdC4KICAgIGJhc2VFbmNvZGluZyA9IEVuY29kaW5nc1twcm9wZXJ0aWVzLmJhc2VFbmNvZGluZ05hbWVdOwogICAgZm9yIChjaGFyQ29kZSA9IDA7IGNoYXJDb2RlIDwgYmFzZUVuY29kaW5nLmxlbmd0aDsgY2hhckNvZGUrKykgewogICAgICBnbHlwaElkID0gZ2x5cGhOYW1lcy5pbmRleE9mKGJhc2VFbmNvZGluZ1tjaGFyQ29kZV0pOwogICAgICBpZiAoZ2x5cGhJZCA+PSAwKSB7CiAgICAgICAgY2hhckNvZGVUb0dseXBoSWRbY2hhckNvZGVdID0gZ2x5cGhJZDsKICAgICAgfSBlbHNlIHsKICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0gPSAwOyAvLyBub3RkZWYKICAgICAgfQogICAgfQogIH0gZWxzZSBpZiAoISEocHJvcGVydGllcy5mbGFncyAmIEZvbnRGbGFncy5TeW1ib2xpYykpIHsKICAgIC8vIEZvciBhIHN5bWJvbGljIGZvbnQgdGhlIGVuY29kaW5nIHNob3VsZCBiZSB0aGUgZm9udHMgYnVpbHQtaW4KICAgIC8vIGVuY29kaW5nLgogICAgZm9yIChjaGFyQ29kZSBpbiBidWlsdEluRW5jb2RpbmcpIHsKICAgICAgY2hhckNvZGVUb0dseXBoSWRbY2hhckNvZGVdID0gYnVpbHRJbkVuY29kaW5nW2NoYXJDb2RlXTsKICAgIH0KICB9IGVsc2UgewogICAgLy8gRm9yIG5vbi1zeW1ib2xpYyBmb250cyB0aGF0IGRvbid0IGhhdmUgYSBiYXNlIGVuY29kaW5nIHRoZSBzdGFuZGFyZAogICAgLy8gZW5jb2Rpbmcgc2hvdWxkIGJlIHVzZWQuCiAgICBiYXNlRW5jb2RpbmcgPSBFbmNvZGluZ3MuU3RhbmRhcmRFbmNvZGluZzsKICAgIGZvciAoY2hhckNvZGUgPSAwOyBjaGFyQ29kZSA8IGJhc2VFbmNvZGluZy5sZW5ndGg7IGNoYXJDb2RlKyspIHsKICAgICAgZ2x5cGhJZCA9IGdseXBoTmFtZXMuaW5kZXhPZihiYXNlRW5jb2RpbmdbY2hhckNvZGVdKTsKICAgICAgaWYgKGdseXBoSWQgPj0gMCkgewogICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSA9IGdseXBoSWQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2hhckNvZGVUb0dseXBoSWRbY2hhckNvZGVdID0gMDsgLy8gbm90ZGVmCiAgICAgIH0KICAgIH0KICB9CgogIC8vIExhc3RseSwgbWVyZ2UgaW4gdGhlIGRpZmZlcmVuY2VzLgogIHZhciBkaWZmZXJlbmNlcyA9IHByb3BlcnRpZXMuZGlmZmVyZW5jZXM7CiAgaWYgKGRpZmZlcmVuY2VzKSB7CiAgICBmb3IgKGNoYXJDb2RlIGluIGRpZmZlcmVuY2VzKSB7CiAgICAgIHZhciBnbHlwaE5hbWUgPSBkaWZmZXJlbmNlc1tjaGFyQ29kZV07CiAgICAgIGdseXBoSWQgPSBnbHlwaE5hbWVzLmluZGV4T2YoZ2x5cGhOYW1lKTsKICAgICAgaWYgKGdseXBoSWQgPj0gMCkgewogICAgICAgIGNoYXJDb2RlVG9HbHlwaElkW2NoYXJDb2RlXSA9IGdseXBoSWQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2hhckNvZGVUb0dseXBoSWRbY2hhckNvZGVdID0gMDsgLy8gbm90ZGVmCiAgICAgIH0KICAgIH0KICB9CiAgcmV0dXJuIGNoYXJDb2RlVG9HbHlwaElkOwp9CgovKgogKiBDaGFyU3RyaW5ncyBhcmUgZW5jb2RlZCBmb2xsb3dpbmcgdGhlIHRoZSBDaGFyU3RyaW5nIEVuY29kaW5nIHNlcXVlbmNlCiAqIGRlc2NyaWJlIGluIENoYXB0ZXIgNiBvZiB0aGUgIkFkb2JlIFR5cGUxIEZvbnQgRm9ybWF0IiBzcGVjaWZpY2F0aW9uLgogKiBUaGUgdmFsdWUgaW4gYSBieXRlIGluZGljYXRlcyBhIGNvbW1hbmQsIGEgbnVtYmVyLCBvciBzdWJzZXF1ZW50IGJ5dGVzCiAqIHRoYXQgYXJlIHRvIGJlIGludGVycHJldGVkIGluIGEgc3BlY2lhbCB3YXkuCiAqCiAqIENoYXJTdHJpbmcgTnVtYmVyIEVuY29kaW5nOgogKiAgQSBDaGFyU3RyaW5nIGJ5dGUgY29udGFpbmluZyB0aGUgdmFsdWVzIGZyb20gMzIgdGhyb3VnaCAyNTUgaW5jbHVzaXZlCiAqICBpbmRpY2F0ZSBhbiBpbnRlZ2VyLiBUaGVzZSB2YWx1ZXMgYXJlIGRlY29kZWQgaW4gZm91ciByYW5nZXMuCiAqCiAqIDEuIEEgQ2hhclN0cmluZyBieXRlIGNvbnRhaW5pbmcgYSB2YWx1ZSwgdiwgYmV0d2VlbiAzMiBhbmQgMjQ2IGluY2x1c2l2ZSwKICogaW5kaWNhdGUgdGhlIGludGVnZXIgdiAtIDEzOS4gVGh1cywgdGhlIGludGVnZXIgdmFsdWVzIGZyb20gLTEwNyB0aHJvdWdoCiAqIDEwNyBpbmNsdXNpdmUgbWF5IGJlIGVuY29kZWQgaW4gc2luZ2xlIGJ5dGUuCiAqCiAqIDIuIEEgQ2hhclN0cmluZyBieXRlIGNvbnRhaW5pbmcgYSB2YWx1ZSwgdiwgYmV0d2VlbiAyNDcgYW5kIDI1MCBpbmNsdXNpdmUsCiAqIGluZGljYXRlcyBhbiBpbnRlZ2VyIGludm9sdmluZyB0aGUgbmV4dCBieXRlLCB3LCBhY2NvcmRpbmcgdG8gdGhlIGZvcm11bGE6CiAqIFsodiAtIDI0NykgeCAyNTZdICsgdyArIDEwOAogKgogKiAzLiBBIENoYXJTdHJpbmcgYnl0ZSBjb250YWluaW5nIGEgdmFsdWUsIHYsIGJldHdlZW4gMjUxIGFuZCAyNTQgaW5jbHVzaXZlLAogKiBpbmRpY2F0ZXMgYW4gaW50ZWdlciBpbnZvbHZpbmcgdGhlIG5leHQgYnl0ZSwgdywgYWNjb3JkaW5nIHRvIHRoZSBmb3JtdWxhOgogKiAtWyh2IC0gMjUxKSAqIDI1Nl0gLSB3IC0gMTA4CiAqCiAqIDQuIEEgQ2hhclN0cmluZyBjb250YWluaW5nIHRoZSB2YWx1ZSAyNTUgaW5kaWNhdGVzIHRoYXQgdGhlIG5leHQgNCBieXRlcwogKiBhcmUgYSB0d28gY29tcGxlbWVudCBzaWduZWQgaW50ZWdlci4gVGhlIGZpcnN0IG9mIHRoZXNlIGJ5dGVzIGNvbnRhaW5zIHRoZQogKiBoaWdoZXN0IG9yZGVyIGJpdHMsIHRoZSBzZWNvbmQgYnl0ZSBjb250YWlucyB0aGUgbmV4dCBoaWdoZXIgb3JkZXIgYml0cwogKiBhbmQgdGhlIGZvdXJ0aCBieXRlIGNvbnRhaW4gdGhlIGxvd2VzdCBvcmRlciBiaXRzLgogKgogKgogKiBDaGFyU3RyaW5nIENvbW1hbmQgRW5jb2Rpbmc6CiAqICBDaGFyU3RyaW5ncyBjb21tYW5kcyBhcmUgZW5jb2RlZCBpbiAxIG9yIDIgYnl0ZXMuCiAqCiAqICBTaW5nbGUgYnl0ZSBjb21tYW5kcyBhcmUgZW5jb2RlZCBpbiAxIGJ5dGUgdGhhdCBjb250YWlucyBhIHZhbHVlIGJldHdlZW4KICogIDAgYW5kIDMxIGluY2x1c2l2ZS4KICogIElmIGEgY29tbWFuZCBieXRlIGNvbnRhaW5zIHRoZSB2YWx1ZSAxMiwgdGhlbiB0aGUgdmFsdWUgaW4gdGhlIG5leHQgYnl0ZQogKiAgaW5kaWNhdGVzIGEgY29tbWFuZC4gVGhpcyAiZXNjYXBlIiBtZWNoYW5pc20gYWxsb3dzIG1hbnkgZXh0cmEgY29tbWFuZHMKICogdG8gYmUgZW5jb2RlZCBhbmQgdGhpcyBlbmNvZGluZyB0ZWNobmlxdWUgaGVscHMgdG8gbWluaW1pemUgdGhlIGxlbmd0aCBvZgogKiB0aGUgY2hhclN0cmluZ3MuCiAqLwp2YXIgVHlwZTFDaGFyU3RyaW5nID0gKGZ1bmN0aW9uIFR5cGUxQ2hhclN0cmluZ0Nsb3N1cmUoKSB7CiAgdmFyIENPTU1BTkRfTUFQID0gewogICAgJ2hzdGVtJzogWzFdLAogICAgJ3ZzdGVtJzogWzNdLAogICAgJ3Ztb3ZldG8nOiBbNF0sCiAgICAncmxpbmV0byc6IFs1XSwKICAgICdobGluZXRvJzogWzZdLAogICAgJ3ZsaW5ldG8nOiBbN10sCiAgICAncnJjdXJ2ZXRvJzogWzhdLAogICAgJ2NhbGxzdWJyJzogWzEwXSwKICAgICdmbGV4JzogWzEyLCAzNV0sCiAgICAnZHJvcCcgOiBbMTIsIDE4XSwKICAgICdlbmRjaGFyJzogWzE0XSwKICAgICdybW92ZXRvJzogWzIxXSwKICAgICdobW92ZXRvJzogWzIyXSwKICAgICd2aGN1cnZldG8nOiBbMzBdLAogICAgJ2h2Y3VydmV0byc6IFszMV0KICB9OwoKICBmdW5jdGlvbiBUeXBlMUNoYXJTdHJpbmcoKSB7CiAgICB0aGlzLndpZHRoID0gMDsKICAgIHRoaXMubHNiID0gMDsKICAgIHRoaXMuZmxleGluZyA9IGZhbHNlOwogICAgdGhpcy5vdXRwdXQgPSBbXTsKICAgIHRoaXMuc3RhY2sgPSBbXTsKICB9CgogIFR5cGUxQ2hhclN0cmluZy5wcm90b3R5cGUgPSB7CiAgICBjb252ZXJ0OiBmdW5jdGlvbiBUeXBlMUNoYXJTdHJpbmdfY29udmVydChlbmNvZGVkLCBzdWJycykgewogICAgICB2YXIgY291bnQgPSBlbmNvZGVkLmxlbmd0aDsKICAgICAgdmFyIGVycm9yID0gZmFsc2U7CiAgICAgIHZhciB3eCwgc2J4LCBzdWJyTnVtYmVyOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgICB2YXIgdmFsdWUgPSBlbmNvZGVkW2ldOwogICAgICAgIGlmICh2YWx1ZSA8IDMyKSB7CiAgICAgICAgICBpZiAodmFsdWUgPT09IDEyKSB7CiAgICAgICAgICAgIHZhbHVlID0gKHZhbHVlIDw8IDgpICsgZW5jb2RlZFsrK2ldOwogICAgICAgICAgfQogICAgICAgICAgc3dpdGNoICh2YWx1ZSkgewogICAgICAgICAgICBjYXNlIDE6IC8vIGhzdGVtCiAgICAgICAgICAgICAgaWYgKCFISU5USU5HX0VOQUJMRUQpIHsKICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sgPSBbXTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMiwgQ09NTUFORF9NQVAuaHN0ZW0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDM6IC8vIHZzdGVtCiAgICAgICAgICAgICAgaWYgKCFISU5USU5HX0VOQUJMRUQpIHsKICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sgPSBbXTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMiwgQ09NTUFORF9NQVAudnN0ZW0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDQ6IC8vIHZtb3ZldG8KICAgICAgICAgICAgICBpZiAodGhpcy5mbGV4aW5nKSB7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGggPCAxKSB7CiAgICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGR4IGZvciBmbGV4IGFuZCBidXQgYWxzbyBzd2FwIHRoZSB2YWx1ZXMgc28gdGhleSBhcmUKICAgICAgICAgICAgICAgIC8vIHRoZSByaWdodCBvcmRlci4KICAgICAgICAgICAgICAgIHZhciBkeSA9IHRoaXMuc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goMCwgZHkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVycm9yID0gdGhpcy5leGVjdXRlQ29tbWFuZCgxLCBDT01NQU5EX01BUC52bW92ZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA1OiAvLyBybGluZXRvCiAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDIsIENPTU1BTkRfTUFQLnJsaW5ldG8pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDY6IC8vIGhsaW5ldG8KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMSwgQ09NTUFORF9NQVAuaGxpbmV0byk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNzogLy8gdmxpbmV0bwogICAgICAgICAgICAgIGVycm9yID0gdGhpcy5leGVjdXRlQ29tbWFuZCgxLCBDT01NQU5EX01BUC52bGluZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA4OiAvLyBycmN1cnZldG8KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoNiwgQ09NTUFORF9NQVAucnJjdXJ2ZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA5OiAvLyBjbG9zZXBhdGgKICAgICAgICAgICAgICAvLyBjbG9zZXBhdGggaXMgYSBUeXBlMSBjb21tYW5kIHRoYXQgZG9lcyBub3QgdGFrZSBhcmd1bWVudCBhbmQgaXMKICAgICAgICAgICAgICAvLyB1c2VsZXNzIGluIFR5cGUyIGFuZCBpdCBjYW4gc2ltcGx5IGJlIGlnbm9yZWQuCiAgICAgICAgICAgICAgdGhpcy5zdGFjayA9IFtdOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDEwOiAvLyBjYWxsc3VicgogICAgICAgICAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA8IDEpIHsKICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzdWJyTnVtYmVyID0gdGhpcy5zdGFjay5wb3AoKTsKICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuY29udmVydChzdWJyc1tzdWJyTnVtYmVyXSwgc3VicnMpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDExOiAvLyByZXR1cm4KICAgICAgICAgICAgICByZXR1cm4gZXJyb3I7CiAgICAgICAgICAgIGNhc2UgMTM6IC8vIGhzYncKICAgICAgICAgICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgICBlcnJvciA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gVG8gY29udmVydCB0byB0eXBlMiB3ZSBoYXZlIHRvIG1vdmUgdGhlIHdpZHRoIHZhbHVlIHRvIHRoZQogICAgICAgICAgICAgIC8vIGZpcnN0IHBhcnQgb2YgdGhlIGNoYXJzdHJpbmcgYW5kIHRoZW4gdXNlIGhtb3ZldG8gd2l0aCBsc2IuCiAgICAgICAgICAgICAgd3ggPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHNieCA9IHRoaXMuc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgdGhpcy5sc2IgPSBzYng7CiAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IHd4OwogICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCh3eCwgc2J4KTsKICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMiwgQ09NTUFORF9NQVAuaG1vdmV0byk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTQ6IC8vIGVuZGNoYXIKICAgICAgICAgICAgICB0aGlzLm91dHB1dC5wdXNoKENPTU1BTkRfTUFQLmVuZGNoYXJbMF0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDIxOiAvLyBybW92ZXRvCiAgICAgICAgICAgICAgaWYgKHRoaXMuZmxleGluZykgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVycm9yID0gdGhpcy5leGVjdXRlQ29tbWFuZCgyLCBDT01NQU5EX01BUC5ybW92ZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyMjogLy8gaG1vdmV0bwogICAgICAgICAgICAgIGlmICh0aGlzLmZsZXhpbmcpIHsKICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgZHkgZm9yIGZsZXguCiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goMCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDEsIENPTU1BTkRfTUFQLmhtb3ZldG8pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDMwOiAvLyB2aGN1cnZldG8KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoNCwgQ09NTUFORF9NQVAudmhjdXJ2ZXRvKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAzMTogLy8gaHZjdXJ2ZXRvCiAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDQsIENPTU1BTkRfTUFQLmh2Y3VydmV0byk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDEyIDw8IDgpICsgMDogLy8gZG90c2VjdGlvbgogICAgICAgICAgICAgIC8vIGRvdHNlY3Rpb24gaXMgYSBUeXBlMSBjb21tYW5kIHRvIHNwZWNpZnkgc29tZSBoaW50aW5nIGZlYXR1cmUKICAgICAgICAgICAgICAvLyBmb3IgZG90cyB0aGF0IGRvIG5vdCB0YWtlIGEgcGFyYW1ldGVyIGFuZCBpdCBjYW4gc2FmZWx5IGJlCiAgICAgICAgICAgICAgLy8gaWdub3JlZCBmb3IgVHlwZTIuCiAgICAgICAgICAgICAgdGhpcy5zdGFjayA9IFtdOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICgxMiA8PCA4KSArIDE6IC8vIHZzdGVtMwogICAgICAgICAgICAgIGlmICghSElOVElOR19FTkFCTEVEKSB7CiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrID0gW107CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gW3ZoXXN0ZW0zIGFyZSBUeXBlMSBvbmx5IGFuZCBUeXBlMiBzdXBwb3J0cyBbdmhdc3RlbSB3aXRoCiAgICAgICAgICAgICAgLy8gbXVsdGlwbGUgcGFyYW1ldGVycywgc28gaW5zdGVhZCBvZiByZXR1cm5pbmcgW3ZoXXN0ZW0zIHRha2UgYQogICAgICAgICAgICAgIC8vIHNob3J0Y3V0IGFuZCByZXR1cm4gW3Zoc3RlbV0gaW5zdGVhZC4KICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMiwgQ09NTUFORF9NQVAudnN0ZW0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICgxMiA8PCA4KSArIDI6IC8vIGhzdGVtMwogICAgICAgICAgICAgIGlmICghSElOVElOR19FTkFCTEVEKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5zdGFjayA9IFtdOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vIFNlZSB2c3RlbTMuCiAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDIsIENPTU1BTkRfTUFQLmhzdGVtKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAoMTIgPDwgOCkgKyA2OiAvLyBzZWFjCiAgICAgICAgICAgICAgLy8gc2VhYyBpcyBsaWtlIHR5cGUgMidzIHNwZWNpYWwgZW5kY2hhciBidXQgaXQgZG9lc24ndCB1c2UgdGhlCiAgICAgICAgICAgICAgLy8gZmlyc3QgYXJndW1lbnQgYXNiLCBzbyByZW1vdmUgaXQuCiAgICAgICAgICAgICAgaWYgKFNFQUNfQU5BTFlTSVNfRU5BQkxFRCkgewogICAgICAgICAgICAgICAgdGhpcy5zZWFjID0gdGhpcy5zdGFjay5zcGxpY2UoLTQsIDQpOwogICAgICAgICAgICAgICAgZXJyb3IgPSB0aGlzLmV4ZWN1dGVDb21tYW5kKDAsIENPTU1BTkRfTUFQLmVuZGNoYXIpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoNCwgQ09NTUFORF9NQVAuZW5kY2hhcik7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICgxMiA8PCA4KSArIDc6IC8vIHNidwogICAgICAgICAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA8IDQpIHsKICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvLyBUbyBjb252ZXJ0IHRvIHR5cGUyIHdlIGhhdmUgdG8gbW92ZSB0aGUgd2lkdGggdmFsdWUgdG8gdGhlCiAgICAgICAgICAgICAgLy8gZmlyc3QgcGFydCBvZiB0aGUgY2hhcnN0cmluZyBhbmQgdGhlbiB1c2Ugcm1vdmV0byB3aXRoCiAgICAgICAgICAgICAgLy8gKGR4LCBkeSkuIFRoZSBoZWlnaHQgYXJndW1lbnQgd2lsbCBub3QgYmUgdXNlZCBmb3Igdm10eCBhbmQKICAgICAgICAgICAgICAvLyB2aGVhIHRhYmxlcyByZWNvbnN0cnVjdGlvbiAtLSBpZ25vcmluZyBpdC4KICAgICAgICAgICAgICB2YXIgd3kgPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHd4ID0gdGhpcy5zdGFjay5wb3AoKTsKICAgICAgICAgICAgICB2YXIgc2J5ID0gdGhpcy5zdGFjay5wb3AoKTsKICAgICAgICAgICAgICBzYnggPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHRoaXMubHNiID0gc2J4OwogICAgICAgICAgICAgIHRoaXMud2lkdGggPSB3eDsKICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2god3gsIHNieCwgc2J5KTsKICAgICAgICAgICAgICBlcnJvciA9IHRoaXMuZXhlY3V0ZUNvbW1hbmQoMywgQ09NTUFORF9NQVAucm1vdmV0byk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDEyIDw8IDgpICsgMTI6IC8vIGRpdgogICAgICAgICAgICAgIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA8IDIpIHsKICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2YXIgbnVtMiA9IHRoaXMuc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgdmFyIG51bTEgPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaChudW0xIC8gbnVtMik7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDEyIDw8IDgpICsgMTY6IC8vIGNhbGxvdGhlcnN1YnIKICAgICAgICAgICAgICBpZiAodGhpcy5zdGFjay5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgICBlcnJvciA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgc3Vick51bWJlciA9IHRoaXMuc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgdmFyIG51bUFyZ3MgPSB0aGlzLnN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIGlmIChzdWJyTnVtYmVyID09PSAwICYmIG51bUFyZ3MgPT09IDMpIHsKICAgICAgICAgICAgICAgIHZhciBmbGV4QXJncyA9IHRoaXMuc3RhY2suc3BsaWNlKHRoaXMuc3RhY2subGVuZ3RoIC0gMTcsIDE3KTsKICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCgKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbMl0gKyBmbGV4QXJnc1swXSwgLy8gYmNwMXggKyBycHgKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbM10gKyBmbGV4QXJnc1sxXSwgLy8gYmNwMXkgKyBycHkKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbNF0sIC8vIGJjcDJ4CiAgICAgICAgICAgICAgICAgIGZsZXhBcmdzWzVdLCAvLyBiY3AyeQogICAgICAgICAgICAgICAgICBmbGV4QXJnc1s2XSwgLy8gcDJ4CiAgICAgICAgICAgICAgICAgIGZsZXhBcmdzWzddLCAvLyBwMnkKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbOF0sIC8vIGJjcDN4CiAgICAgICAgICAgICAgICAgIGZsZXhBcmdzWzldLCAvLyBiY3AzeQogICAgICAgICAgICAgICAgICBmbGV4QXJnc1sxMF0sIC8vIGJjcDR4CiAgICAgICAgICAgICAgICAgIGZsZXhBcmdzWzExXSwgLy8gYmNwNHkKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbMTJdLCAvLyBwM3gKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbMTNdLCAvLyBwM3kKICAgICAgICAgICAgICAgICAgZmxleEFyZ3NbMTRdIC8vIGZsZXhEZXB0aAogICAgICAgICAgICAgICAgICAvLyAxNSA9IGZpbmFseCB1bnVzZWQgYnkgZmxleAogICAgICAgICAgICAgICAgICAvLyAxNiA9IGZpbmFseSB1bnVzZWQgYnkgZmxleAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIGVycm9yID0gdGhpcy5leGVjdXRlQ29tbWFuZCgxMywgQ09NTUFORF9NQVAuZmxleCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICB0aGlzLmZsZXhpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaChmbGV4QXJnc1sxNV0sIGZsZXhBcmdzWzE2XSk7CiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdWJyTnVtYmVyID09PSAxICYmIG51bUFyZ3MgPT09IDApIHsKICAgICAgICAgICAgICAgIHRoaXMuZmxleGluZyA9IHRydWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICgxMiA8PCA4KSArIDE3OiAvLyBwb3AKICAgICAgICAgICAgICAvLyBJZ25vcmUgdGhpcyBzaW5jZSBpdCBpcyBvbmx5IHVzZWQgd2l0aCBvdGhlcnN1YnIuCiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDEyIDw8IDgpICsgMzM6IC8vIHNldGN1cnJlbnRwb2ludAogICAgICAgICAgICAgIC8vIElnbm9yZSBmb3Igbm93LgogICAgICAgICAgICAgIHRoaXMuc3RhY2sgPSBbXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICB3YXJuKCdVbmtub3duIHR5cGUgMSBjaGFyc3RyaW5nIGNvbW1hbmQgb2YgIicgKyB2YWx1ZSArICciJyk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIDw9IDI0NikgewogICAgICAgICAgdmFsdWUgPSB2YWx1ZSAtIDEzOTsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIDw9IDI1MCkgewogICAgICAgICAgdmFsdWUgPSAoKHZhbHVlIC0gMjQ3KSAqIDI1NikgKyBlbmNvZGVkWysraV0gKyAxMDg7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA8PSAyNTQpIHsKICAgICAgICAgIHZhbHVlID0gLSgodmFsdWUgLSAyNTEpICogMjU2KSAtIGVuY29kZWRbKytpXSAtIDEwODsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFsdWUgPSAoZW5jb2RlZFsrK2ldICYgMHhmZikgPDwgMjQgfCAoZW5jb2RlZFsrK2ldICYgMHhmZikgPDwgMTYgfAogICAgICAgICAgICAgICAgICAoZW5jb2RlZFsrK2ldICYgMHhmZikgPDwgOCB8IChlbmNvZGVkWysraV0gJiAweGZmKSA8PCAwOwogICAgICAgIH0KICAgICAgICB0aGlzLnN0YWNrLnB1c2godmFsdWUpOwogICAgICB9CiAgICAgIHJldHVybiBlcnJvcjsKICAgIH0sCgogICAgZXhlY3V0ZUNvbW1hbmQ6IGZ1bmN0aW9uKGhvd01hbnlBcmdzLCBjb21tYW5kLCBrZWVwU3RhY2spIHsKICAgICAgdmFyIHN0YWNrTGVuZ3RoID0gdGhpcy5zdGFjay5sZW5ndGg7CiAgICAgIGlmIChob3dNYW55QXJncyA+IHN0YWNrTGVuZ3RoKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgdmFyIHN0YXJ0ID0gc3RhY2tMZW5ndGggLSBob3dNYW55QXJnczsKICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgc3RhY2tMZW5ndGg7IGkrKykgewogICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuc3RhY2tbaV07CiAgICAgICAgaWYgKHZhbHVlID09PSAodmFsdWUgfCAwKSkgeyAvLyBpbnQKICAgICAgICAgIHRoaXMub3V0cHV0LnB1c2goMjgsICh2YWx1ZSA+PiA4KSAmIDB4ZmYsIHZhbHVlICYgMHhmZik7CiAgICAgICAgfSBlbHNlIHsgLy8gZml4ZWQgcG9pbnQKICAgICAgICAgIHZhbHVlID0gKDY1NTM2ICogdmFsdWUpIHwgMDsKICAgICAgICAgIHRoaXMub3V0cHV0LnB1c2goMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWUgPj4gMjQpICYgMHhGRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlID4+IDE2KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZSA+PiA4KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlICYgMHhGRik7CiAgICAgICAgfQogICAgICB9CiAgICAgIHRoaXMub3V0cHV0LnB1c2guYXBwbHkodGhpcy5vdXRwdXQsIGNvbW1hbmQpOwogICAgICBpZiAoa2VlcFN0YWNrKSB7CiAgICAgICAgdGhpcy5zdGFjay5zcGxpY2Uoc3RhcnQsIGhvd01hbnlBcmdzKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnN0YWNrLmxlbmd0aCA9IDA7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH07CgogIHJldHVybiBUeXBlMUNoYXJTdHJpbmc7Cn0pKCk7CgovKgogKiBUeXBlMVBhcnNlciBlbmNhcHN1bGF0ZSB0aGUgbmVlZGVkIGNvZGUgZm9yIHBhcnNpbmcgYSBUeXBlMSBmb250CiAqIHByb2dyYW0uIFNvbWUgb2YgaXRzIGxvZ2ljIGRlcGVuZHMgb24gdGhlIFR5cGUyIGNoYXJzdHJpbmdzCiAqIHN0cnVjdHVyZS4KICogTm90ZTogdGhpcyBkb2Vzbid0IHJlYWxseSBwYXJzZSB0aGUgZm9udCBzaW5jZSB0aGF0IHdvdWxkIHJlcXVpcmUgZXZhbHVhdGlvbgogKiBvZiBQb3N0U2NyaXB0LCBidXQgaXQgaXMgcG9zc2libGUgaW4gbW9zdCBjYXNlcyB0byBleHRyYWN0IHdoYXQgd2UgbmVlZAogKiB3aXRob3V0IGEgZnVsbCBwYXJzZS4KICovCnZhciBUeXBlMVBhcnNlciA9IChmdW5jdGlvbiBUeXBlMVBhcnNlckNsb3N1cmUoKSB7CiAgLyoKICAgKiBEZWNyeXB0IGEgU2VxdWVuY2Ugb2YgQ2lwaGVydGV4dCBCeXRlcyB0byBQcm9kdWNlIHRoZSBPcmlnaW5hbCBTZXF1ZW5jZQogICAqIG9mIFBsYWludGV4dCBCeXRlcy4gVGhlIGZ1bmN0aW9uIHRvb2sgYSBrZXkgYXMgYSBwYXJhbWV0ZXIgd2hpY2ggY2FuIGJlCiAgICogZm9yIGRlY3J5cHRpbmcgdGhlIGVleGVjIGJsb2NrIG9mIGZvciBkZWNvZGluZyBjaGFyU3RyaW5ncy4KICAgKi8KICB2YXIgRUVYRUNfRU5DUllQVF9LRVkgPSA1NTY2NTsKICB2YXIgQ0hBUl9TVFJTX0VOQ1JZUFRfS0VZID0gNDMzMDsKCiAgZnVuY3Rpb24gaXNIZXhEaWdpdChjb2RlKSB7CiAgICByZXR1cm4gY29kZSA+PSA0OCAmJiBjb2RlIDw9IDU3IHx8IC8vICcwJy0nOScKICAgICAgICAgICBjb2RlID49IDY1ICYmIGNvZGUgPD0gNzAgfHwgLy8gJ0EnLSdGJwogICAgICAgICAgIGNvZGUgPj0gOTcgJiYgY29kZSA8PSAxMDI7ICAvLyAnYSctJ2YnCiAgfQoKICBmdW5jdGlvbiBkZWNyeXB0KGRhdGEsIGtleSwgZGlzY2FyZE51bWJlcikgewogICAgdmFyIHIgPSBrZXkgfCAwLCBjMSA9IDUyODQ1LCBjMiA9IDIyNzE5OwogICAgdmFyIGNvdW50ID0gZGF0YS5sZW5ndGg7CiAgICB2YXIgZGVjcnlwdGVkID0gbmV3IFVpbnQ4QXJyYXkoY291bnQpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgIHZhciB2YWx1ZSA9IGRhdGFbaV07CiAgICAgIGRlY3J5cHRlZFtpXSA9IHZhbHVlIF4gKHIgPj4gOCk7CiAgICAgIHIgPSAoKHZhbHVlICsgcikgKiBjMSArIGMyKSAmICgoMSA8PCAxNikgLSAxKTsKICAgIH0KICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkZWNyeXB0ZWQsIGRpc2NhcmROdW1iZXIpOwogIH0KCiAgZnVuY3Rpb24gZGVjcnlwdEFzY2lpKGRhdGEsIGtleSwgZGlzY2FyZE51bWJlcikgewogICAgdmFyIHIgPSBrZXkgfCAwLCBjMSA9IDUyODQ1LCBjMiA9IDIyNzE5OwogICAgdmFyIGNvdW50ID0gZGF0YS5sZW5ndGgsIG1heWJlTGVuZ3RoID0gY291bnQgPj4+IDE7CiAgICB2YXIgZGVjcnlwdGVkID0gbmV3IFVpbnQ4QXJyYXkobWF5YmVMZW5ndGgpOwogICAgdmFyIGksIGo7CiAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgdmFyIGRpZ2l0MSA9IGRhdGFbaV07CiAgICAgIGlmICghaXNIZXhEaWdpdChkaWdpdDEpKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaSsrOwogICAgICB2YXIgZGlnaXQyOwogICAgICB3aGlsZSAoaSA8IGNvdW50ICYmICFpc0hleERpZ2l0KGRpZ2l0MiA9IGRhdGFbaV0pKSB7CiAgICAgICAgaSsrOwogICAgICB9CiAgICAgIGlmIChpIDwgY291bnQpIHsKICAgICAgICB2YXIgdmFsdWUgPSBwYXJzZUludChTdHJpbmcuZnJvbUNoYXJDb2RlKGRpZ2l0MSwgZGlnaXQyKSwgMTYpOwogICAgICAgIGRlY3J5cHRlZFtqKytdID0gdmFsdWUgXiAociA+PiA4KTsKICAgICAgICByID0gKCh2YWx1ZSArIHIpICogYzEgKyBjMikgJiAoKDEgPDwgMTYpIC0gMSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkZWNyeXB0ZWQsIGRpc2NhcmROdW1iZXIsIGopOwogIH0KCiAgZnVuY3Rpb24gaXNTcGVjaWFsKGMpIHsKICAgIHJldHVybiBjID09PSAweDJGIHx8IC8vICcvJwogICAgICAgICAgIGMgPT09IDB4NUIgfHwgYyA9PT0gMHg1RCB8fCAvLyAnWycsICddJwogICAgICAgICAgIGMgPT09IDB4N0IgfHwgYyA9PT0gMHg3RCB8fCAvLyAneycsICd9JwogICAgICAgICAgIGMgPT09IDB4MjggfHwgYyA9PT0gMHgyOTsgLy8gJygnLCAnKScKICB9CgogIGZ1bmN0aW9uIFR5cGUxUGFyc2VyKHN0cmVhbSwgZW5jcnlwdGVkKSB7CiAgICBpZiAoZW5jcnlwdGVkKSB7CiAgICAgIHZhciBkYXRhID0gc3RyZWFtLmdldEJ5dGVzKCk7CiAgICAgIHZhciBpc0JpbmFyeSA9ICEoaXNIZXhEaWdpdChkYXRhWzBdKSAmJiBpc0hleERpZ2l0KGRhdGFbMV0pICYmCiAgICAgICAgICAgICAgICAgICAgICAgaXNIZXhEaWdpdChkYXRhWzJdKSAmJiBpc0hleERpZ2l0KGRhdGFbM10pKTsKICAgICAgc3RyZWFtID0gbmV3IFN0cmVhbShpc0JpbmFyeSA/IGRlY3J5cHQoZGF0YSwgRUVYRUNfRU5DUllQVF9LRVksIDQpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNyeXB0QXNjaWkoZGF0YSwgRUVYRUNfRU5DUllQVF9LRVksIDQpKTsKICAgIH0KICAgIHRoaXMuc3RyZWFtID0gc3RyZWFtOwogICAgdGhpcy5uZXh0Q2hhcigpOwogIH0KCiAgVHlwZTFQYXJzZXIucHJvdG90eXBlID0gewogICAgcmVhZE51bWJlckFycmF5OiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9yZWFkTnVtYmVyQXJyYXkoKSB7CiAgICAgIHRoaXMuZ2V0VG9rZW4oKTsgLy8gcmVhZCAnWycgb3IgJ3snIChhcnJheXMgY2FuIHN0YXJ0IHdpdGggZWl0aGVyKQogICAgICB2YXIgYXJyYXkgPSBbXTsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7CiAgICAgICAgaWYgKHRva2VuID09PSBudWxsIHx8IHRva2VuID09PSAnXScgfHwgdG9rZW4gPT09ICd9JykgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGFycmF5LnB1c2gocGFyc2VGbG9hdCh0b2tlbiB8fCAwKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGFycmF5OwogICAgfSwKCiAgICByZWFkTnVtYmVyOiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9yZWFkTnVtYmVyKCkgewogICAgICB2YXIgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7CiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHRva2VuIHx8IDApOwogICAgfSwKCiAgICByZWFkSW50OiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9yZWFkSW50KCkgewogICAgICAvLyBVc2UgJ3wgMCcgdG8gcHJldmVudCBzZXR0aW5nIGEgZG91YmxlIGludG8gbGVuZ3RoIHN1Y2ggYXMgdGhlIGRvdWJsZQogICAgICAvLyBkb2VzIG5vdCBmbG93IGludG8gdGhlIGxvb3AgdmFyaWFibGUuCiAgICAgIHZhciB0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKTsKICAgICAgcmV0dXJuIHBhcnNlSW50KHRva2VuIHx8IDAsIDEwKSB8IDA7CiAgICB9LAoKICAgIHJlYWRCb29sZWFuOiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9yZWFkQm9vbGVhbigpIHsKICAgICAgdmFyIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwoKICAgICAgLy8gVXNlIDEgYW5kIDAgc2luY2UgdGhhdCdzIHdoYXQgdHlwZTIgY2hhcnN0cmluZ3MgdXNlLgogICAgICByZXR1cm4gdG9rZW4gPT09ICd0cnVlJyA/IDEgOiAwOwogICAgfSwKCiAgICBuZXh0Q2hhciA6IGZ1bmN0aW9uIFR5cGUxX25leHRDaGFyKCkgewogICAgICByZXR1cm4gKHRoaXMuY3VycmVudENoYXIgPSB0aGlzLnN0cmVhbS5nZXRCeXRlKCkpOwogICAgfSwKCiAgICBnZXRUb2tlbjogZnVuY3Rpb24gVHlwZTFQYXJzZXJfZ2V0VG9rZW4oKSB7CiAgICAgIC8vIEVhdCB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cy4KICAgICAgdmFyIGNvbW1lbnQgPSBmYWxzZTsKICAgICAgdmFyIGNoID0gdGhpcy5jdXJyZW50Q2hhcjsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpZiAoY2ggPT09IC0xKSB7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIGlmIChjb21tZW50KSB7CiAgICAgICAgICBpZiAoY2ggPT09IDB4MEEgfHwgY2ggPT09IDB4MEQpIHsKICAgICAgICAgICAgY29tbWVudCA9IGZhbHNlOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MjUpIHsgLy8gJyUnCiAgICAgICAgICBjb21tZW50ID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgaWYgKCFMZXhlci5pc1NwYWNlKGNoKSkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICB9CiAgICAgIGlmIChpc1NwZWNpYWwoY2gpKSB7CiAgICAgICAgdGhpcy5uZXh0Q2hhcigpOwogICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoKTsKICAgICAgfQogICAgICB2YXIgdG9rZW4gPSAnJzsKICAgICAgZG8gewogICAgICAgIHRva2VuICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpOwogICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICB9IHdoaWxlIChjaCA+PSAwICYmICFMZXhlci5pc1NwYWNlKGNoKSAmJiAhaXNTcGVjaWFsKGNoKSk7CiAgICAgIHJldHVybiB0b2tlbjsKICAgIH0sCgogICAgLyoKICAgICAqIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYSBTdWJycyBhcnJheSBhbmQgYSBDaGFyU3RyaW5ncwogICAgICogYXJyYXkgZXh0cmFjdGVkIGZyb20gYW5kIGVleGVjIGVuY3J5cHRlZCBibG9jayBvZiBkYXRhCiAgICAgKi8KICAgIGV4dHJhY3RGb250UHJvZ3JhbTogZnVuY3Rpb24gVHlwZTFQYXJzZXJfZXh0cmFjdEZvbnRQcm9ncmFtKCkgewogICAgICB2YXIgc3RyZWFtID0gdGhpcy5zdHJlYW07CgogICAgICB2YXIgc3VicnMgPSBbXSwgY2hhcnN0cmluZ3MgPSBbXTsKICAgICAgdmFyIHByb2dyYW0gPSB7CiAgICAgICAgc3VicnM6IFtdLAogICAgICAgIGNoYXJzdHJpbmdzOiBbXSwKICAgICAgICBwcm9wZXJ0aWVzOiB7CiAgICAgICAgICAncHJpdmF0ZURhdGEnOiB7CiAgICAgICAgICAgICdsZW5JVic6IDQKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH07CiAgICAgIHZhciB0b2tlbiwgbGVuZ3RoLCBkYXRhLCBsZW5JViwgZW5jb2RlZDsKICAgICAgd2hpbGUgKCh0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKSkgIT09IG51bGwpIHsKICAgICAgICBpZiAodG9rZW4gIT09ICcvJykgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgIHN3aXRjaCAodG9rZW4pIHsKICAgICAgICAgIGNhc2UgJ0NoYXJTdHJpbmdzJzoKICAgICAgICAgICAgLy8gVGhlIG51bWJlciBpbW1lZGlhdGVseSBmb2xsb3dpbmcgQ2hhclN0cmluZ3MgbXVzdCBiZSBncmVhdGVyIG9yCiAgICAgICAgICAgIC8vIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgQ2hhclN0cmluZ3MuCiAgICAgICAgICAgIHRoaXMuZ2V0VG9rZW4oKTsKICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdkaWN0JwogICAgICAgICAgICB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ2R1cCcKICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdiZWdpbicKICAgICAgICAgICAgd2hpbGUodHJ1ZSkgewogICAgICAgICAgICAgIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgICAgICAgIGlmICh0b2tlbiA9PT0gbnVsbCB8fCB0b2tlbiA9PT0gJ2VuZCcpIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgaWYgKHRva2VuICE9PSAnLycpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2YXIgZ2x5cGggPSB0aGlzLmdldFRva2VuKCk7CiAgICAgICAgICAgICAgbGVuZ3RoID0gdGhpcy5yZWFkSW50KCk7CiAgICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdSRCcgb3IgJy18JwogICAgICAgICAgICAgIGRhdGEgPSBzdHJlYW0ubWFrZVN1YlN0cmVhbShzdHJlYW0ucG9zLCBsZW5ndGgpOwogICAgICAgICAgICAgIGxlbklWID0gcHJvZ3JhbS5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhWydsZW5JViddOwogICAgICAgICAgICAgIGVuY29kZWQgPSBkZWNyeXB0KGRhdGEuZ2V0Qnl0ZXMoKSwgQ0hBUl9TVFJTX0VOQ1JZUFRfS0VZLCBsZW5JVik7CiAgICAgICAgICAgICAgLy8gU2tpcCBwYXN0IHRoZSByZXF1aXJlZCBzcGFjZSBhbmQgYmluYXJ5IGRhdGEuCiAgICAgICAgICAgICAgc3RyZWFtLnNraXAobGVuZ3RoKTsKICAgICAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ05EJyBvciAnfC0nCiAgICAgICAgICAgICAgaWYgKHRva2VuID09PSAnbm9hY2Nlc3MnKSB7CiAgICAgICAgICAgICAgICB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ2RlZicKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgY2hhcnN0cmluZ3MucHVzaCh7CiAgICAgICAgICAgICAgICBnbHlwaDogZ2x5cGgsCiAgICAgICAgICAgICAgICBlbmNvZGVkOiBlbmNvZGVkCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdTdWJycyc6CiAgICAgICAgICAgIHZhciBudW0gPSB0aGlzLnJlYWRJbnQoKTsKICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdhcnJheScKICAgICAgICAgICAgd2hpbGUgKCh0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKSkgPT09ICdkdXAnKSB7CiAgICAgICAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5yZWFkSW50KCk7CiAgICAgICAgICAgICAgbGVuZ3RoID0gdGhpcy5yZWFkSW50KCk7CiAgICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICdSRCcgb3IgJy18JwogICAgICAgICAgICAgIGRhdGEgPSBzdHJlYW0ubWFrZVN1YlN0cmVhbShzdHJlYW0ucG9zLCBsZW5ndGgpOwogICAgICAgICAgICAgIGxlbklWID0gcHJvZ3JhbS5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhWydsZW5JViddOwogICAgICAgICAgICAgIGVuY29kZWQgPSBkZWNyeXB0KGRhdGEuZ2V0Qnl0ZXMoKSwgQ0hBUl9TVFJTX0VOQ1JZUFRfS0VZLCBsZW5JVik7CiAgICAgICAgICAgICAgLy8gU2tpcCBwYXN0IHRoZSByZXF1aXJlZCBzcGFjZSBhbmQgYmluYXJ5IGRhdGEuCiAgICAgICAgICAgICAgc3RyZWFtLnNraXAobGVuZ3RoKTsKICAgICAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ05QJyBvciAnfCcKICAgICAgICAgICAgICBpZiAodG9rZW4gPT09ICdub2FjY2VzcycpIHsKICAgICAgICAgICAgICAgIHRoaXMuZ2V0VG9rZW4oKTsgLy8gcmVhZCBpbiAncHV0JwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzdWJyc1tpbmRleF0gPSBlbmNvZGVkOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnQmx1ZVZhbHVlcyc6CiAgICAgICAgICBjYXNlICdPdGhlckJsdWVzJzoKICAgICAgICAgIGNhc2UgJ0ZhbWlseUJsdWVzJzoKICAgICAgICAgIGNhc2UgJ0ZhbWlseU90aGVyQmx1ZXMnOgogICAgICAgICAgICB2YXIgYmx1ZUFycmF5ID0gdGhpcy5yZWFkTnVtYmVyQXJyYXkoKTsKICAgICAgICAgICAgLy8gKkJsdWUqIHZhbHVlcyBtYXkgY29udGFpbiBpbnZhbGlkIGRhdGE6IGRpc2FibGVzIHJlYWRpbmcgb2YKICAgICAgICAgICAgLy8gdGhvc2UgdmFsdWVzIHdoZW4gaGludGluZyBpcyBkaXNhYmxlZC4KICAgICAgICAgICAgaWYgKGJsdWVBcnJheS5sZW5ndGggPiAwICYmIChibHVlQXJyYXkubGVuZ3RoICUgMikgPT09IDAgJiYKICAgICAgICAgICAgICAgIEhJTlRJTkdfRU5BQkxFRCkgewogICAgICAgICAgICAgIHByb2dyYW0ucHJvcGVydGllcy5wcml2YXRlRGF0YVt0b2tlbl0gPSBibHVlQXJyYXk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdTdGVtU25hcEgnOgogICAgICAgICAgY2FzZSAnU3RlbVNuYXBWJzoKICAgICAgICAgICAgcHJvZ3JhbS5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW3Rva2VuXSA9IHRoaXMucmVhZE51bWJlckFycmF5KCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnU3RkSFcnOgogICAgICAgICAgY2FzZSAnU3RkVlcnOgogICAgICAgICAgICBwcm9ncmFtLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbdG9rZW5dID0KICAgICAgICAgICAgICB0aGlzLnJlYWROdW1iZXJBcnJheSgpWzBdOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0JsdWVTaGlmdCc6CiAgICAgICAgICBjYXNlICdsZW5JVic6CiAgICAgICAgICBjYXNlICdCbHVlRnV6eic6CiAgICAgICAgICBjYXNlICdCbHVlU2NhbGUnOgogICAgICAgICAgY2FzZSAnTGFuZ3VhZ2VHcm91cCc6CiAgICAgICAgICBjYXNlICdFeHBhbnNpb25GYWN0b3InOgogICAgICAgICAgICBwcm9ncmFtLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbdG9rZW5dID0gdGhpcy5yZWFkTnVtYmVyKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRm9yY2VCb2xkJzoKICAgICAgICAgICAgcHJvZ3JhbS5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW3Rva2VuXSA9IHRoaXMucmVhZEJvb2xlYW4oKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CgogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzdHJpbmdzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgZ2x5cGggPSBjaGFyc3RyaW5nc1tpXS5nbHlwaDsKICAgICAgICBlbmNvZGVkID0gY2hhcnN0cmluZ3NbaV0uZW5jb2RlZDsKICAgICAgICB2YXIgY2hhclN0cmluZyA9IG5ldyBUeXBlMUNoYXJTdHJpbmcoKTsKICAgICAgICB2YXIgZXJyb3IgPSBjaGFyU3RyaW5nLmNvbnZlcnQoZW5jb2RlZCwgc3VicnMpOwogICAgICAgIHZhciBvdXRwdXQgPSBjaGFyU3RyaW5nLm91dHB1dDsKICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgIC8vIEl0IHNlZW1zIHdoZW4gRnJlZVR5cGUgZW5jb3VudGVycyBhbiBlcnJvciB3aGlsZSBldmFsdWF0aW5nIGEgZ2x5cGgKICAgICAgICAgIC8vIHRoYXQgaXQgY29tcGxldGVseSBpZ25vcmVzIHRoZSBnbHlwaCBzbyB3ZSdsbCBtaW1pYyB0aGF0IGJlaGF2aW91cgogICAgICAgICAgLy8gaGVyZSBhbmQgcHV0IGFuIGVuZGNoYXIgdG8gbWFrZSB0aGUgdmFsaWRhdG9yIGhhcHB5LgogICAgICAgICAgb3V0cHV0ID0gWzE0XTsKICAgICAgICB9CiAgICAgICAgcHJvZ3JhbS5jaGFyc3RyaW5ncy5wdXNoKHsKICAgICAgICAgIGdseXBoTmFtZTogZ2x5cGgsCiAgICAgICAgICBjaGFyc3RyaW5nOiBvdXRwdXQsCiAgICAgICAgICB3aWR0aDogY2hhclN0cmluZy53aWR0aCwKICAgICAgICAgIGxzYjogY2hhclN0cmluZy5sc2IsCiAgICAgICAgICBzZWFjOiBjaGFyU3RyaW5nLnNlYWMKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgcmV0dXJuIHByb2dyYW07CiAgICB9LAoKICAgIGV4dHJhY3RGb250SGVhZGVyOiBmdW5jdGlvbiBUeXBlMVBhcnNlcl9leHRyYWN0Rm9udEhlYWRlcihwcm9wZXJ0aWVzKSB7CiAgICAgIHZhciB0b2tlbjsKICAgICAgd2hpbGUgKCh0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKSkgIT09IG51bGwpIHsKICAgICAgICBpZiAodG9rZW4gIT09ICcvJykgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgIHN3aXRjaCAodG9rZW4pIHsKICAgICAgICAgIGNhc2UgJ0ZvbnRNYXRyaXgnOgogICAgICAgICAgICB2YXIgbWF0cml4ID0gdGhpcy5yZWFkTnVtYmVyQXJyYXkoKTsKICAgICAgICAgICAgcHJvcGVydGllcy5mb250TWF0cml4ID0gbWF0cml4OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0VuY29kaW5nJzoKICAgICAgICAgICAgdmFyIGVuY29kaW5nQXJnID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgICAgICB2YXIgZW5jb2Rpbmc7CiAgICAgICAgICAgIGlmICghL15cZCskLy50ZXN0KGVuY29kaW5nQXJnKSkgewogICAgICAgICAgICAgIC8vIGVuY29kaW5nIG5hbWUgaXMgc3BlY2lmaWVkCiAgICAgICAgICAgICAgZW5jb2RpbmcgPSBFbmNvZGluZ3NbZW5jb2RpbmdBcmddOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGVuY29kaW5nID0gW107CiAgICAgICAgICAgICAgdmFyIHNpemUgPSBwYXJzZUludChlbmNvZGluZ0FyZywgMTApIHwgMDsKICAgICAgICAgICAgICB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgaW4gJ2FycmF5JwoKICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHNpemU7IGorKykgewogICAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7CiAgICAgICAgICAgICAgICAvLyBza2lwcGluZyB0aWxsIGZpcnN0IGR1cCBvciBkZWYgKGUuZy4gaWdub3JpbmcgZm9yIHN0YXRlbWVudCkKICAgICAgICAgICAgICAgIHdoaWxlICh0b2tlbiAhPT0gJ2R1cCcgJiYgdG9rZW4gIT09ICdkZWYnKSB7CiAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgICAgICAgICAgICBpZiAodG9rZW4gPT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGludmFsaWQgaGVhZGVyCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICh0b2tlbiA9PT0gJ2RlZicpIHsKICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIHJlYWQgYWxsIGFycmF5IGRhdGEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHRoaXMucmVhZEludCgpOwogICAgICAgICAgICAgICAgdGhpcy5nZXRUb2tlbigpOyAvLyByZWFkIGluICcvJwogICAgICAgICAgICAgICAgdmFyIGdseXBoID0gdGhpcy5nZXRUb2tlbigpOwogICAgICAgICAgICAgICAgZW5jb2RpbmdbaW5kZXhdID0gZ2x5cGg7CiAgICAgICAgICAgICAgICB0aGlzLmdldFRva2VuKCk7IC8vIHJlYWQgdGhlIGluICdwdXQnCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHByb3BlcnRpZXMuYnVpbHRJbkVuY29kaW5nID0gZW5jb2Rpbmc7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnRm9udEJCb3gnOgogICAgICAgICAgICB2YXIgZm9udEJCb3ggPSB0aGlzLnJlYWROdW1iZXJBcnJheSgpOwogICAgICAgICAgICAvLyBhZGp1c3RpbmcgYXNjZW50L2Rlc2NlbnQKICAgICAgICAgICAgcHJvcGVydGllcy5hc2NlbnQgPSBmb250QkJveFszXTsKICAgICAgICAgICAgcHJvcGVydGllcy5kZXNjZW50ID0gZm9udEJCb3hbMV07CiAgICAgICAgICAgIHByb3BlcnRpZXMuYXNjZW50U2NhbGVkID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfTsKCiAgcmV0dXJuIFR5cGUxUGFyc2VyOwp9KSgpOwoKLyoqCiAqIFRoZSBDRkYgY2xhc3MgdGFrZXMgYSBUeXBlMSBmaWxlIGFuZCB3cmFwIGl0IGludG8gYQogKiAnQ29tcGFjdCBGb250IEZvcm1hdCcgd2hpY2ggaXRzZWxmIGVtYmVkIFR5cGUyIGNoYXJzdHJpbmdzLgogKi8KdmFyIENGRlN0YW5kYXJkU3RyaW5ncyA9IFsKICAnLm5vdGRlZicsICdzcGFjZScsICdleGNsYW0nLCAncXVvdGVkYmwnLCAnbnVtYmVyc2lnbicsICdkb2xsYXInLCAncGVyY2VudCcsCiAgJ2FtcGVyc2FuZCcsICdxdW90ZXJpZ2h0JywgJ3BhcmVubGVmdCcsICdwYXJlbnJpZ2h0JywgJ2FzdGVyaXNrJywgJ3BsdXMnLAogICdjb21tYScsICdoeXBoZW4nLCAncGVyaW9kJywgJ3NsYXNoJywgJ3plcm8nLCAnb25lJywgJ3R3bycsICd0aHJlZScsICdmb3VyJywKICAnZml2ZScsICdzaXgnLCAnc2V2ZW4nLCAnZWlnaHQnLCAnbmluZScsICdjb2xvbicsICdzZW1pY29sb24nLCAnbGVzcycsCiAgJ2VxdWFsJywgJ2dyZWF0ZXInLCAncXVlc3Rpb24nLCAnYXQnLCAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywKICAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLAogICdYJywgJ1knLCAnWicsICdicmFja2V0bGVmdCcsICdiYWNrc2xhc2gnLCAnYnJhY2tldHJpZ2h0JywgJ2FzY2lpY2lyY3VtJywKICAndW5kZXJzY29yZScsICdxdW90ZWxlZnQnLCAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsCiAgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywKICAneicsICdicmFjZWxlZnQnLCAnYmFyJywgJ2JyYWNlcmlnaHQnLCAnYXNjaWl0aWxkZScsICdleGNsYW1kb3duJywgJ2NlbnQnLAogICdzdGVybGluZycsICdmcmFjdGlvbicsICd5ZW4nLCAnZmxvcmluJywgJ3NlY3Rpb24nLCAnY3VycmVuY3knLAogICdxdW90ZXNpbmdsZScsICdxdW90ZWRibGxlZnQnLCAnZ3VpbGxlbW90bGVmdCcsICdndWlsc2luZ2xsZWZ0JywKICAnZ3VpbHNpbmdscmlnaHQnLCAnZmknLCAnZmwnLCAnZW5kYXNoJywgJ2RhZ2dlcicsICdkYWdnZXJkYmwnLAogICdwZXJpb2RjZW50ZXJlZCcsICdwYXJhZ3JhcGgnLCAnYnVsbGV0JywgJ3F1b3Rlc2luZ2xiYXNlJywgJ3F1b3RlZGJsYmFzZScsCiAgJ3F1b3RlZGJscmlnaHQnLCAnZ3VpbGxlbW90cmlnaHQnLCAnZWxsaXBzaXMnLCAncGVydGhvdXNhbmQnLCAncXVlc3Rpb25kb3duJywKICAnZ3JhdmUnLCAnYWN1dGUnLCAnY2lyY3VtZmxleCcsICd0aWxkZScsICdtYWNyb24nLCAnYnJldmUnLCAnZG90YWNjZW50JywKICAnZGllcmVzaXMnLCAncmluZycsICdjZWRpbGxhJywgJ2h1bmdhcnVtbGF1dCcsICdvZ29uZWsnLCAnY2Fyb24nLCAnZW1kYXNoJywKICAnQUUnLCAnb3JkZmVtaW5pbmUnLCAnTHNsYXNoJywgJ09zbGFzaCcsICdPRScsICdvcmRtYXNjdWxpbmUnLCAnYWUnLAogICdkb3RsZXNzaScsICdsc2xhc2gnLCAnb3NsYXNoJywgJ29lJywgJ2dlcm1hbmRibHMnLCAnb25lc3VwZXJpb3InLAogICdsb2dpY2Fsbm90JywgJ211JywgJ3RyYWRlbWFyaycsICdFdGgnLCAnb25laGFsZicsICdwbHVzbWludXMnLCAnVGhvcm4nLAogICdvbmVxdWFydGVyJywgJ2RpdmlkZScsICdicm9rZW5iYXInLCAnZGVncmVlJywgJ3Rob3JuJywgJ3RocmVlcXVhcnRlcnMnLAogICd0d29zdXBlcmlvcicsICdyZWdpc3RlcmVkJywgJ21pbnVzJywgJ2V0aCcsICdtdWx0aXBseScsICd0aHJlZXN1cGVyaW9yJywKICAnY29weXJpZ2h0JywgJ0FhY3V0ZScsICdBY2lyY3VtZmxleCcsICdBZGllcmVzaXMnLCAnQWdyYXZlJywgJ0FyaW5nJywKICAnQXRpbGRlJywgJ0NjZWRpbGxhJywgJ0VhY3V0ZScsICdFY2lyY3VtZmxleCcsICdFZGllcmVzaXMnLCAnRWdyYXZlJywKICAnSWFjdXRlJywgJ0ljaXJjdW1mbGV4JywgJ0lkaWVyZXNpcycsICdJZ3JhdmUnLCAnTnRpbGRlJywgJ09hY3V0ZScsCiAgJ09jaXJjdW1mbGV4JywgJ09kaWVyZXNpcycsICdPZ3JhdmUnLCAnT3RpbGRlJywgJ1NjYXJvbicsICdVYWN1dGUnLAogICdVY2lyY3VtZmxleCcsICdVZGllcmVzaXMnLCAnVWdyYXZlJywgJ1lhY3V0ZScsICdZZGllcmVzaXMnLCAnWmNhcm9uJywKICAnYWFjdXRlJywgJ2FjaXJjdW1mbGV4JywgJ2FkaWVyZXNpcycsICdhZ3JhdmUnLCAnYXJpbmcnLCAnYXRpbGRlJywKICAnY2NlZGlsbGEnLCAnZWFjdXRlJywgJ2VjaXJjdW1mbGV4JywgJ2VkaWVyZXNpcycsICdlZ3JhdmUnLCAnaWFjdXRlJywKICAnaWNpcmN1bWZsZXgnLCAnaWRpZXJlc2lzJywgJ2lncmF2ZScsICdudGlsZGUnLCAnb2FjdXRlJywgJ29jaXJjdW1mbGV4JywKICAnb2RpZXJlc2lzJywgJ29ncmF2ZScsICdvdGlsZGUnLCAnc2Nhcm9uJywgJ3VhY3V0ZScsICd1Y2lyY3VtZmxleCcsCiAgJ3VkaWVyZXNpcycsICd1Z3JhdmUnLCAneWFjdXRlJywgJ3lkaWVyZXNpcycsICd6Y2Fyb24nLCAnZXhjbGFtc21hbGwnLAogICdIdW5nYXJ1bWxhdXRzbWFsbCcsICdkb2xsYXJvbGRzdHlsZScsICdkb2xsYXJzdXBlcmlvcicsICdhbXBlcnNhbmRzbWFsbCcsCiAgJ0FjdXRlc21hbGwnLCAncGFyZW5sZWZ0c3VwZXJpb3InLCAncGFyZW5yaWdodHN1cGVyaW9yJywgJ3R3b2RvdGVubGVhZGVyJywKICAnb25lZG90ZW5sZWFkZXInLCAnemVyb29sZHN0eWxlJywgJ29uZW9sZHN0eWxlJywgJ3R3b29sZHN0eWxlJywKICAndGhyZWVvbGRzdHlsZScsICdmb3Vyb2xkc3R5bGUnLCAnZml2ZW9sZHN0eWxlJywgJ3NpeG9sZHN0eWxlJywKICAnc2V2ZW5vbGRzdHlsZScsICdlaWdodG9sZHN0eWxlJywgJ25pbmVvbGRzdHlsZScsICdjb21tYXN1cGVyaW9yJywKICAndGhyZWVxdWFydGVyc2VtZGFzaCcsICdwZXJpb2RzdXBlcmlvcicsICdxdWVzdGlvbnNtYWxsJywgJ2FzdXBlcmlvcicsCiAgJ2JzdXBlcmlvcicsICdjZW50c3VwZXJpb3InLCAnZHN1cGVyaW9yJywgJ2VzdXBlcmlvcicsICdpc3VwZXJpb3InLAogICdsc3VwZXJpb3InLCAnbXN1cGVyaW9yJywgJ25zdXBlcmlvcicsICdvc3VwZXJpb3InLCAncnN1cGVyaW9yJywgJ3NzdXBlcmlvcicsCiAgJ3RzdXBlcmlvcicsICdmZicsICdmZmknLCAnZmZsJywgJ3BhcmVubGVmdGluZmVyaW9yJywgJ3BhcmVucmlnaHRpbmZlcmlvcicsCiAgJ0NpcmN1bWZsZXhzbWFsbCcsICdoeXBoZW5zdXBlcmlvcicsICdHcmF2ZXNtYWxsJywgJ0FzbWFsbCcsICdCc21hbGwnLAogICdDc21hbGwnLCAnRHNtYWxsJywgJ0VzbWFsbCcsICdGc21hbGwnLCAnR3NtYWxsJywgJ0hzbWFsbCcsICdJc21hbGwnLAogICdKc21hbGwnLCAnS3NtYWxsJywgJ0xzbWFsbCcsICdNc21hbGwnLCAnTnNtYWxsJywgJ09zbWFsbCcsICdQc21hbGwnLAogICdRc21hbGwnLCAnUnNtYWxsJywgJ1NzbWFsbCcsICdUc21hbGwnLCAnVXNtYWxsJywgJ1ZzbWFsbCcsICdXc21hbGwnLAogICdYc21hbGwnLCAnWXNtYWxsJywgJ1pzbWFsbCcsICdjb2xvbm1vbmV0YXJ5JywgJ29uZWZpdHRlZCcsICdydXBpYWgnLAogICdUaWxkZXNtYWxsJywgJ2V4Y2xhbWRvd25zbWFsbCcsICdjZW50b2xkc3R5bGUnLCAnTHNsYXNoc21hbGwnLAogICdTY2Fyb25zbWFsbCcsICdaY2Fyb25zbWFsbCcsICdEaWVyZXNpc3NtYWxsJywgJ0JyZXZlc21hbGwnLCAnQ2Fyb25zbWFsbCcsCiAgJ0RvdGFjY2VudHNtYWxsJywgJ01hY3JvbnNtYWxsJywgJ2ZpZ3VyZWRhc2gnLCAnaHlwaGVuaW5mZXJpb3InLAogICdPZ29uZWtzbWFsbCcsICdSaW5nc21hbGwnLCAnQ2VkaWxsYXNtYWxsJywgJ3F1ZXN0aW9uZG93bnNtYWxsJywgJ29uZWVpZ2h0aCcsCiAgJ3RocmVlZWlnaHRocycsICdmaXZlZWlnaHRocycsICdzZXZlbmVpZ2h0aHMnLCAnb25ldGhpcmQnLCAndHdvdGhpcmRzJywKICAnemVyb3N1cGVyaW9yJywgJ2ZvdXJzdXBlcmlvcicsICdmaXZlc3VwZXJpb3InLCAnc2l4c3VwZXJpb3InLAogICdzZXZlbnN1cGVyaW9yJywgJ2VpZ2h0c3VwZXJpb3InLCAnbmluZXN1cGVyaW9yJywgJ3plcm9pbmZlcmlvcicsCiAgJ29uZWluZmVyaW9yJywgJ3R3b2luZmVyaW9yJywgJ3RocmVlaW5mZXJpb3InLCAnZm91cmluZmVyaW9yJywKICAnZml2ZWluZmVyaW9yJywgJ3NpeGluZmVyaW9yJywgJ3NldmVuaW5mZXJpb3InLCAnZWlnaHRpbmZlcmlvcicsCiAgJ25pbmVpbmZlcmlvcicsICdjZW50aW5mZXJpb3InLCAnZG9sbGFyaW5mZXJpb3InLCAncGVyaW9kaW5mZXJpb3InLAogICdjb21tYWluZmVyaW9yJywgJ0FncmF2ZXNtYWxsJywgJ0FhY3V0ZXNtYWxsJywgJ0FjaXJjdW1mbGV4c21hbGwnLAogICdBdGlsZGVzbWFsbCcsICdBZGllcmVzaXNzbWFsbCcsICdBcmluZ3NtYWxsJywgJ0FFc21hbGwnLCAnQ2NlZGlsbGFzbWFsbCcsCiAgJ0VncmF2ZXNtYWxsJywgJ0VhY3V0ZXNtYWxsJywgJ0VjaXJjdW1mbGV4c21hbGwnLCAnRWRpZXJlc2lzc21hbGwnLAogICdJZ3JhdmVzbWFsbCcsICdJYWN1dGVzbWFsbCcsICdJY2lyY3VtZmxleHNtYWxsJywgJ0lkaWVyZXNpc3NtYWxsJywKICAnRXRoc21hbGwnLCAnTnRpbGRlc21hbGwnLCAnT2dyYXZlc21hbGwnLCAnT2FjdXRlc21hbGwnLCAnT2NpcmN1bWZsZXhzbWFsbCcsCiAgJ090aWxkZXNtYWxsJywgJ09kaWVyZXNpc3NtYWxsJywgJ09Fc21hbGwnLCAnT3NsYXNoc21hbGwnLCAnVWdyYXZlc21hbGwnLAogICdVYWN1dGVzbWFsbCcsICdVY2lyY3VtZmxleHNtYWxsJywgJ1VkaWVyZXNpc3NtYWxsJywgJ1lhY3V0ZXNtYWxsJywKICAnVGhvcm5zbWFsbCcsICdZZGllcmVzaXNzbWFsbCcsICcwMDEuMDAwJywgJzAwMS4wMDEnLCAnMDAxLjAwMicsICcwMDEuMDAzJywKICAnQmxhY2snLCAnQm9sZCcsICdCb29rJywgJ0xpZ2h0JywgJ01lZGl1bScsICdSZWd1bGFyJywgJ1JvbWFuJywgJ1NlbWlib2xkJwpdOwoKLy8gVHlwZTFGb250IGlzIGFsc28gYSBDSURGb250VHlwZTAuCnZhciBUeXBlMUZvbnQgPSBmdW5jdGlvbiBUeXBlMUZvbnQobmFtZSwgZmlsZSwgcHJvcGVydGllcykgewogIC8vIFNvbWUgYmFkIGdlbmVyYXRvcnMgZW1iZWQgcGZiIGZpbGUgYXMgaXMsIHdlIGhhdmUgdG8gc3RyaXAgNi1ieXRlIGhlYWRlcnMuCiAgLy8gQWxzbywgbGVuZ3RoMSBhbmQgbGVuZ3RoMiBtaWdodCBiZSBvZmYgYnkgNiBieXRlcyBhcyB3ZWxsLgogIC8vIGh0dHA6Ly93d3cubWF0aC51YmMuY2EvfmNhc3MvcGlzY3JpcHQvdHlwZTEucGRmCiAgdmFyIFBGQl9IRUFERVJfU0laRSA9IDY7CiAgdmFyIGhlYWRlckJsb2NrTGVuZ3RoID0gcHJvcGVydGllcy5sZW5ndGgxOwogIHZhciBlZXhlY0Jsb2NrTGVuZ3RoID0gcHJvcGVydGllcy5sZW5ndGgyOwogIHZhciBwZmJIZWFkZXIgPSBmaWxlLnBlZWtCeXRlcyhQRkJfSEVBREVSX1NJWkUpOwogIHZhciBwZmJIZWFkZXJQcmVzZW50ID0gcGZiSGVhZGVyWzBdID09PSAweDgwICYmIHBmYkhlYWRlclsxXSA9PT0gMHgwMTsKICBpZiAocGZiSGVhZGVyUHJlc2VudCkgewogICAgZmlsZS5za2lwKFBGQl9IRUFERVJfU0laRSk7CiAgICBoZWFkZXJCbG9ja0xlbmd0aCA9IChwZmJIZWFkZXJbNV0gPDwgMjQpIHwgKHBmYkhlYWRlcls0XSA8PCAxNikgfAogICAgICAgICAgICAgICAgICAgICAgICAocGZiSGVhZGVyWzNdIDw8IDgpIHwgcGZiSGVhZGVyWzJdOwogIH0KCiAgLy8gR2V0IHRoZSBkYXRhIGJsb2NrIGNvbnRhaW5pbmcgZ2x5cGhzIGFuZCBzdWJycyBpbmZvcm1hdGlvbnMKICB2YXIgaGVhZGVyQmxvY2sgPSBuZXcgU3RyZWFtKGZpbGUuZ2V0Qnl0ZXMoaGVhZGVyQmxvY2tMZW5ndGgpKTsKICB2YXIgaGVhZGVyQmxvY2tQYXJzZXIgPSBuZXcgVHlwZTFQYXJzZXIoaGVhZGVyQmxvY2spOwogIGhlYWRlckJsb2NrUGFyc2VyLmV4dHJhY3RGb250SGVhZGVyKHByb3BlcnRpZXMpOwoKICBpZiAocGZiSGVhZGVyUHJlc2VudCkgewogICAgcGZiSGVhZGVyID0gZmlsZS5nZXRCeXRlcyhQRkJfSEVBREVSX1NJWkUpOwogICAgZWV4ZWNCbG9ja0xlbmd0aCA9IChwZmJIZWFkZXJbNV0gPDwgMjQpIHwgKHBmYkhlYWRlcls0XSA8PCAxNikgfAogICAgICAgICAgICAgICAgICAgICAgIChwZmJIZWFkZXJbM10gPDwgOCkgfCBwZmJIZWFkZXJbMl07CiAgfQoKICAvLyBEZWNyeXB0IHRoZSBkYXRhIGJsb2NrcyBhbmQgcmV0cmlldmUgaXQncyBjb250ZW50CiAgdmFyIGVleGVjQmxvY2sgPSBuZXcgU3RyZWFtKGZpbGUuZ2V0Qnl0ZXMoZWV4ZWNCbG9ja0xlbmd0aCkpOwogIHZhciBlZXhlY0Jsb2NrUGFyc2VyID0gbmV3IFR5cGUxUGFyc2VyKGVleGVjQmxvY2ssIHRydWUpOwogIHZhciBkYXRhID0gZWV4ZWNCbG9ja1BhcnNlci5leHRyYWN0Rm9udFByb2dyYW0oKTsKICBmb3IgKHZhciBpbmZvIGluIGRhdGEucHJvcGVydGllcykgewogICAgcHJvcGVydGllc1tpbmZvXSA9IGRhdGEucHJvcGVydGllc1tpbmZvXTsKICB9CgogIHZhciBjaGFyc3RyaW5ncyA9IGRhdGEuY2hhcnN0cmluZ3M7CiAgdmFyIHR5cGUyQ2hhcnN0cmluZ3MgPSB0aGlzLmdldFR5cGUyQ2hhcnN0cmluZ3MoY2hhcnN0cmluZ3MpOwogIHZhciBzdWJycyA9IHRoaXMuZ2V0VHlwZTJTdWJycyhkYXRhLnN1YnJzKTsKCiAgdGhpcy5jaGFyc3RyaW5ncyA9IGNoYXJzdHJpbmdzOwogIHRoaXMuZGF0YSA9IHRoaXMud3JhcChuYW1lLCB0eXBlMkNoYXJzdHJpbmdzLCB0aGlzLmNoYXJzdHJpbmdzLAogICAgICAgICAgICAgICAgICAgICAgICBzdWJycywgcHJvcGVydGllcyk7CiAgdGhpcy5zZWFjcyA9IHRoaXMuZ2V0U2VhY3MoZGF0YS5jaGFyc3RyaW5ncyk7Cn07CgpUeXBlMUZvbnQucHJvdG90eXBlID0gewogIGdldCBudW1HbHlwaHMoKSB7CiAgICByZXR1cm4gdGhpcy5jaGFyc3RyaW5ncy5sZW5ndGggKyAxOwogIH0sCgogIGdldENoYXJzZXQ6IGZ1bmN0aW9uIFR5cGUxRm9udF9nZXRDaGFyc2V0KCkgewogICAgdmFyIGNoYXJzZXQgPSBbJy5ub3RkZWYnXTsKICAgIHZhciBjaGFyc3RyaW5ncyA9IHRoaXMuY2hhcnN0cmluZ3M7CiAgICBmb3IgKHZhciBnbHlwaElkID0gMDsgZ2x5cGhJZCA8IGNoYXJzdHJpbmdzLmxlbmd0aDsgZ2x5cGhJZCsrKSB7CiAgICAgIGNoYXJzZXQucHVzaChjaGFyc3RyaW5nc1tnbHlwaElkXS5nbHlwaE5hbWUpOwogICAgfQogICAgcmV0dXJuIGNoYXJzZXQ7CiAgfSwKCiAgZ2V0R2x5cGhNYXBwaW5nOiBmdW5jdGlvbiBUeXBlMUZvbnRfZ2V0R2x5cGhNYXBwaW5nKHByb3BlcnRpZXMpIHsKICAgIHZhciBjaGFyc3RyaW5ncyA9IHRoaXMuY2hhcnN0cmluZ3M7CiAgICB2YXIgZ2x5cGhOYW1lcyA9IFsnLm5vdGRlZiddLCBnbHlwaElkOwogICAgZm9yIChnbHlwaElkID0gMDsgZ2x5cGhJZCA8IGNoYXJzdHJpbmdzLmxlbmd0aDsgZ2x5cGhJZCsrKSB7CiAgICAgIGdseXBoTmFtZXMucHVzaChjaGFyc3RyaW5nc1tnbHlwaElkXS5nbHlwaE5hbWUpOwogICAgfQogICAgdmFyIGVuY29kaW5nID0gcHJvcGVydGllcy5idWlsdEluRW5jb2Rpbmc7CiAgICBpZiAoZW5jb2RpbmcpIHsKICAgICAgdmFyIGJ1aWx0SW5FbmNvZGluZyA9IHt9OwogICAgICBmb3IgKHZhciBjaGFyQ29kZSBpbiBlbmNvZGluZykgewogICAgICAgIGdseXBoSWQgPSBnbHlwaE5hbWVzLmluZGV4T2YoZW5jb2RpbmdbY2hhckNvZGVdKTsKICAgICAgICBpZiAoZ2x5cGhJZCA+PSAwKSB7CiAgICAgICAgICBidWlsdEluRW5jb2RpbmdbY2hhckNvZGVdID0gZ2x5cGhJZDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gdHlwZTFGb250R2x5cGhNYXBwaW5nKHByb3BlcnRpZXMsIGJ1aWx0SW5FbmNvZGluZywgZ2x5cGhOYW1lcyk7CiAgfSwKCiAgZ2V0U2VhY3M6IGZ1bmN0aW9uIFR5cGUxRm9udF9nZXRTZWFjcyhjaGFyc3RyaW5ncykgewogICAgdmFyIGksIGlpOwogICAgdmFyIHNlYWNNYXAgPSBbXTsKICAgIGZvciAoaSA9IDAsIGlpID0gY2hhcnN0cmluZ3MubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgY2hhcnN0cmluZyA9IGNoYXJzdHJpbmdzW2ldOwogICAgICBpZiAoY2hhcnN0cmluZy5zZWFjKSB7CiAgICAgICAgLy8gT2Zmc2V0IGJ5IDEgZm9yIC5ub3RkZWYKICAgICAgICBzZWFjTWFwW2kgKyAxXSA9IGNoYXJzdHJpbmcuc2VhYzsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHNlYWNNYXA7CiAgfSwKCiAgZ2V0VHlwZTJDaGFyc3RyaW5nczogZnVuY3Rpb24gVHlwZTFGb250X2dldFR5cGUyQ2hhcnN0cmluZ3MoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlMUNoYXJzdHJpbmdzKSB7CiAgICB2YXIgdHlwZTJDaGFyc3RyaW5ncyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gdHlwZTFDaGFyc3RyaW5ncy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHR5cGUyQ2hhcnN0cmluZ3MucHVzaCh0eXBlMUNoYXJzdHJpbmdzW2ldLmNoYXJzdHJpbmcpOwogICAgfQogICAgcmV0dXJuIHR5cGUyQ2hhcnN0cmluZ3M7CiAgfSwKCiAgZ2V0VHlwZTJTdWJyczogZnVuY3Rpb24gVHlwZTFGb250X2dldFR5cGUyU3VicnModHlwZTFTdWJycykgewogICAgdmFyIGJpYXMgPSAwOwogICAgdmFyIGNvdW50ID0gdHlwZTFTdWJycy5sZW5ndGg7CiAgICBpZiAoY291bnQgPCAxMTMzKSB7CiAgICAgIGJpYXMgPSAxMDc7CiAgICB9IGVsc2UgaWYgKGNvdW50IDwgMzM3NjkpIHsKICAgICAgYmlhcyA9IDExMzE7CiAgICB9IGVsc2UgewogICAgICBiaWFzID0gMzI3Njg7CiAgICB9CgogICAgLy8gQWRkIGEgYnVuY2ggb2YgZW1wdHkgc3VicnMgdG8gZGVhbCB3aXRoIHRoZSBUeXBlMiBiaWFzCiAgICB2YXIgdHlwZTJTdWJycyA9IFtdOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYmlhczsgaSsrKSB7CiAgICAgIHR5cGUyU3VicnMucHVzaChbMHgwQl0pOwogICAgfQoKICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgIHR5cGUyU3VicnMucHVzaCh0eXBlMVN1YnJzW2ldKTsKICAgIH0KCiAgICByZXR1cm4gdHlwZTJTdWJyczsKICB9LAoKICB3cmFwOiBmdW5jdGlvbiBUeXBlMUZvbnRfd3JhcChuYW1lLCBnbHlwaHMsIGNoYXJzdHJpbmdzLCBzdWJycywgcHJvcGVydGllcykgewogICAgdmFyIGNmZiA9IG5ldyBDRkYoKTsKICAgIGNmZi5oZWFkZXIgPSBuZXcgQ0ZGSGVhZGVyKDEsIDAsIDQsIDQpOwoKICAgIGNmZi5uYW1lcyA9IFtuYW1lXTsKCiAgICB2YXIgdG9wRGljdCA9IG5ldyBDRkZUb3BEaWN0KCk7CiAgICAvLyBDRkYgc3RyaW5ncyBJRHMgMC4uLjM5MCBhcmUgcHJlZGVmaW5lZCBuYW1lcywgc28gcmVmZXJpbmcKICAgIC8vIHRvIGVudHJpZXMgaW4gb3VyIG93biBTdHJpbmcgSU5ERVggc3RhcnRzIGF0IFNJRCAzOTEuCiAgICB0b3BEaWN0LnNldEJ5TmFtZSgndmVyc2lvbicsIDM5MSk7CiAgICB0b3BEaWN0LnNldEJ5TmFtZSgnTm90aWNlJywgMzkyKTsKICAgIHRvcERpY3Quc2V0QnlOYW1lKCdGdWxsTmFtZScsIDM5Myk7CiAgICB0b3BEaWN0LnNldEJ5TmFtZSgnRmFtaWx5TmFtZScsIDM5NCk7CiAgICB0b3BEaWN0LnNldEJ5TmFtZSgnV2VpZ2h0JywgMzk1KTsKICAgIHRvcERpY3Quc2V0QnlOYW1lKCdFbmNvZGluZycsIG51bGwpOyAvLyBwbGFjZWhvbGRlcgogICAgdG9wRGljdC5zZXRCeU5hbWUoJ0ZvbnRNYXRyaXgnLCBwcm9wZXJ0aWVzLmZvbnRNYXRyaXgpOwogICAgdG9wRGljdC5zZXRCeU5hbWUoJ0ZvbnRCQm94JywgcHJvcGVydGllcy5iYm94KTsKICAgIHRvcERpY3Quc2V0QnlOYW1lKCdjaGFyc2V0JywgbnVsbCk7IC8vIHBsYWNlaG9sZGVyCiAgICB0b3BEaWN0LnNldEJ5TmFtZSgnQ2hhclN0cmluZ3MnLCBudWxsKTsgLy8gcGxhY2Vob2xkZXIKICAgIHRvcERpY3Quc2V0QnlOYW1lKCdQcml2YXRlJywgbnVsbCk7IC8vIHBsYWNlaG9sZGVyCiAgICBjZmYudG9wRGljdCA9IHRvcERpY3Q7CgogICAgdmFyIHN0cmluZ3MgPSBuZXcgQ0ZGU3RyaW5ncygpOwogICAgc3RyaW5ncy5hZGQoJ1ZlcnNpb24gMC4xMScpOyAvLyBWZXJzaW9uCiAgICBzdHJpbmdzLmFkZCgnU2VlIG9yaWdpbmFsIG5vdGljZScpOyAvLyBOb3RpY2UKICAgIHN0cmluZ3MuYWRkKG5hbWUpOyAvLyBGdWxsTmFtZQogICAgc3RyaW5ncy5hZGQobmFtZSk7IC8vIEZhbWlseU5hbWUKICAgIHN0cmluZ3MuYWRkKCdNZWRpdW0nKTsgLy8gV2VpZ2h0CiAgICBjZmYuc3RyaW5ncyA9IHN0cmluZ3M7CgogICAgY2ZmLmdsb2JhbFN1YnJJbmRleCA9IG5ldyBDRkZJbmRleCgpOwoKICAgIHZhciBjb3VudCA9IGdseXBocy5sZW5ndGg7CiAgICB2YXIgY2hhcnNldEFycmF5ID0gWzBdOwogICAgdmFyIGksIGlpOwogICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgdmFyIGluZGV4ID0gQ0ZGU3RhbmRhcmRTdHJpbmdzLmluZGV4T2YoY2hhcnN0cmluZ3NbaV0uZ2x5cGhOYW1lKTsKICAgICAgLy8gVE9ETzogSW5zZXJ0IHRoZSBzdHJpbmcgYW5kIGNvcnJlY3RseSBtYXAgaXQuICBQcmV2aW91c2x5IGl0IHdhcwogICAgICAvLyB0aG91Z2h0IG1hcHBpbmcgbmFtZXMgdGhhdCBhcmVuJ3QgaW4gdGhlIHN0YW5kYXJkIHN0cmluZ3MgdG8gLm5vdGRlZgogICAgICAvLyB3YXMgZmluZSwgaG93ZXZlciBpbiBpc3N1ZTgxOCB3aGVuIG1hcHBpbmcgdGhlbSBhbGwgdG8gLm5vdGRlZiB0aGUKICAgICAgLy8gYWRpZXJlc2lzIGdseXBoIG5vIGxvbmdlciB3b3JrZWQuCiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHsKICAgICAgICBpbmRleCA9IDA7CiAgICAgIH0KICAgICAgY2hhcnNldEFycmF5LnB1c2goKGluZGV4ID4+IDgpICYgMHhmZiwgaW5kZXggJiAweGZmKTsKICAgIH0KICAgIGNmZi5jaGFyc2V0ID0gbmV3IENGRkNoYXJzZXQoZmFsc2UsIDAsIFtdLCBjaGFyc2V0QXJyYXkpOwoKICAgIHZhciBjaGFyU3RyaW5nc0luZGV4ID0gbmV3IENGRkluZGV4KCk7CiAgICBjaGFyU3RyaW5nc0luZGV4LmFkZChbMHg4QiwgMHgwRV0pOyAvLyAubm90ZGVmCiAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICBjaGFyU3RyaW5nc0luZGV4LmFkZChnbHlwaHNbaV0pOwogICAgfQogICAgY2ZmLmNoYXJTdHJpbmdzID0gY2hhclN0cmluZ3NJbmRleDsKCiAgICB2YXIgcHJpdmF0ZURpY3QgPSBuZXcgQ0ZGUHJpdmF0ZURpY3QoKTsKICAgIHByaXZhdGVEaWN0LnNldEJ5TmFtZSgnU3VicnMnLCBudWxsKTsgLy8gcGxhY2Vob2xkZXIKICAgIHZhciBmaWVsZHMgPSBbCiAgICAgICdCbHVlVmFsdWVzJywKICAgICAgJ090aGVyQmx1ZXMnLAogICAgICAnRmFtaWx5Qmx1ZXMnLAogICAgICAnRmFtaWx5T3RoZXJCbHVlcycsCiAgICAgICdTdGVtU25hcEgnLAogICAgICAnU3RlbVNuYXBWJywKICAgICAgJ0JsdWVTaGlmdCcsCiAgICAgICdCbHVlRnV6eicsCiAgICAgICdCbHVlU2NhbGUnLAogICAgICAnTGFuZ3VhZ2VHcm91cCcsCiAgICAgICdFeHBhbnNpb25GYWN0b3InLAogICAgICAnRm9yY2VCb2xkJywKICAgICAgJ1N0ZEhXJywKICAgICAgJ1N0ZFZXJwogICAgXTsKICAgIGZvciAoaSA9IDAsIGlpID0gZmllbGRzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIGZpZWxkID0gZmllbGRzW2ldOwogICAgICBpZiAoIXByb3BlcnRpZXMucHJpdmF0ZURhdGEuaGFzT3duUHJvcGVydHkoZmllbGQpKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgdmFyIHZhbHVlID0gcHJvcGVydGllcy5wcml2YXRlRGF0YVtmaWVsZF07CiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkgewogICAgICAgIC8vIEFsbCBvZiB0aGUgcHJpdmF0ZSBkaWN0aW9uYXJ5IGFycmF5IGRhdGEgaW4gQ0ZGIG11c3QgYmUgc3RvcmVkIGFzCiAgICAgICAgLy8gImRlbHRhLWVuY29kZWQiIG51bWJlcnMuCiAgICAgICAgZm9yICh2YXIgaiA9IHZhbHVlLmxlbmd0aCAtIDE7IGogPiAwOyBqLS0pIHsKICAgICAgICAgIHZhbHVlW2pdIC09IHZhbHVlW2ogLSAxXTsgLy8gLi4uIGRpZmZlcmVuY2UgZnJvbSBwcmV2aW91cyB2YWx1ZQogICAgICAgIH0KICAgICAgfQogICAgICBwcml2YXRlRGljdC5zZXRCeU5hbWUoZmllbGQsIHZhbHVlKTsKICAgIH0KICAgIGNmZi50b3BEaWN0LnByaXZhdGVEaWN0ID0gcHJpdmF0ZURpY3Q7CgogICAgdmFyIHN1YnJJbmRleCA9IG5ldyBDRkZJbmRleCgpOwogICAgZm9yIChpID0gMCwgaWkgPSBzdWJycy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHN1YnJJbmRleC5hZGQoc3VicnNbaV0pOwogICAgfQogICAgcHJpdmF0ZURpY3Quc3VicnNJbmRleCA9IHN1YnJJbmRleDsKCiAgICB2YXIgY29tcGlsZXIgPSBuZXcgQ0ZGQ29tcGlsZXIoY2ZmKTsKICAgIHJldHVybiBjb21waWxlci5jb21waWxlKCk7CiAgfQp9OwoKdmFyIENGRkZvbnQgPSAoZnVuY3Rpb24gQ0ZGRm9udENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGRm9udChmaWxlLCBwcm9wZXJ0aWVzKSB7CiAgICB0aGlzLnByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOwoKICAgIHZhciBwYXJzZXIgPSBuZXcgQ0ZGUGFyc2VyKGZpbGUsIHByb3BlcnRpZXMpOwogICAgdGhpcy5jZmYgPSBwYXJzZXIucGFyc2UoKTsKICAgIHZhciBjb21waWxlciA9IG5ldyBDRkZDb21waWxlcih0aGlzLmNmZik7CiAgICB0aGlzLnNlYWNzID0gdGhpcy5jZmYuc2VhY3M7CiAgICB0cnkgewogICAgICB0aGlzLmRhdGEgPSBjb21waWxlci5jb21waWxlKCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHdhcm4oJ0ZhaWxlZCB0byBjb21waWxlIGZvbnQgJyArIHByb3BlcnRpZXMubG9hZGVkTmFtZSk7CiAgICAgIC8vIFRoZXJlIG1heSBoYXZlIGp1c3QgYmVlbiBhbiBpc3N1ZSB3aXRoIHRoZSBjb21waWxlciwgc2V0IHRoZSBkYXRhCiAgICAgIC8vIGFueXdheSBhbmQgaG9wZSB0aGUgZm9udCBsb2FkZWQuCiAgICAgIHRoaXMuZGF0YSA9IGZpbGU7CiAgICB9CiAgfQoKICBDRkZGb250LnByb3RvdHlwZSA9IHsKICAgIGdldCBudW1HbHlwaHMoKSB7CiAgICAgIHJldHVybiB0aGlzLmNmZi5jaGFyU3RyaW5ncy5jb3VudDsKICAgIH0sCiAgICBnZXRDaGFyc2V0OiBmdW5jdGlvbiBDRkZGb250X2dldENoYXJzZXQoKSB7CiAgICAgIHJldHVybiB0aGlzLmNmZi5jaGFyc2V0LmNoYXJzZXQ7CiAgICB9LAogICAgZ2V0R2x5cGhNYXBwaW5nOiBmdW5jdGlvbiBDRkZGb250X2dldEdseXBoTWFwcGluZygpIHsKICAgICAgdmFyIGNmZiA9IHRoaXMuY2ZmOwogICAgICB2YXIgcHJvcGVydGllcyA9IHRoaXMucHJvcGVydGllczsKICAgICAgdmFyIGNoYXJzZXRzID0gY2ZmLmNoYXJzZXQuY2hhcnNldDsKICAgICAgdmFyIGNoYXJDb2RlVG9HbHlwaElkOwogICAgICB2YXIgZ2x5cGhJZDsKCiAgICAgIGlmIChwcm9wZXJ0aWVzLmNvbXBvc2l0ZSkgewogICAgICAgIGNoYXJDb2RlVG9HbHlwaElkID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAgICBpZiAoY2ZmLmlzQ0lERm9udCkgewogICAgICAgICAgLy8gSWYgdGhlIGZvbnQgaXMgYWN0dWFsbHkgYSBDSUQgZm9udCB0aGVuIHdlIHNob3VsZCB1c2UgdGhlIGNoYXJzZXQKICAgICAgICAgIC8vIHRvIG1hcCBDSURzIHRvIEdJRHMuCiAgICAgICAgICBmb3IgKGdseXBoSWQgPSAwOyBnbHlwaElkIDwgY2hhcnNldHMubGVuZ3RoOyBnbHlwaElkKyspIHsKICAgICAgICAgICAgdmFyIGNpZCA9IGNoYXJzZXRzW2dseXBoSWRdOwogICAgICAgICAgICB2YXIgY2hhckNvZGUgPSBwcm9wZXJ0aWVzLmNNYXAuY2hhckNvZGVPZihjaWQpOwogICAgICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtjaGFyQ29kZV0gPSBnbHlwaElkOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBJZiBpdCBpcyBOT1QgYWN0dWFsbHkgYSBDSUQgZm9udCB0aGVuIENJRHMgc2hvdWxkIGJlIG1hcHBlZAogICAgICAgICAgLy8gZGlyZWN0bHkgdG8gR0lEcy4KICAgICAgICAgIGZvciAoZ2x5cGhJZCA9IDA7IGdseXBoSWQgPCBjZmYuY2hhclN0cmluZ3MuY291bnQ7IGdseXBoSWQrKykgewogICAgICAgICAgICBjaGFyQ29kZVRvR2x5cGhJZFtnbHlwaElkXSA9IGdseXBoSWQ7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBjaGFyQ29kZVRvR2x5cGhJZDsKICAgICAgfQoKICAgICAgdmFyIGVuY29kaW5nID0gY2ZmLmVuY29kaW5nID8gY2ZmLmVuY29kaW5nLmVuY29kaW5nIDogbnVsbDsKICAgICAgY2hhckNvZGVUb0dseXBoSWQgPSB0eXBlMUZvbnRHbHlwaE1hcHBpbmcocHJvcGVydGllcywgZW5jb2RpbmcsIGNoYXJzZXRzKTsKICAgICAgcmV0dXJuIGNoYXJDb2RlVG9HbHlwaElkOwogICAgfQogIH07CgogIHJldHVybiBDRkZGb250Owp9KSgpOwoKdmFyIENGRlBhcnNlciA9IChmdW5jdGlvbiBDRkZQYXJzZXJDbG9zdXJlKCkgewogIHZhciBDaGFyc3RyaW5nVmFsaWRhdGlvbkRhdGEgPSBbCiAgICBudWxsLAogICAgeyBpZDogJ2hzdGVtJywgbWluOiAyLCBzdGFja0NsZWFyaW5nOiB0cnVlLCBzdGVtOiB0cnVlIH0sCiAgICBudWxsLAogICAgeyBpZDogJ3ZzdGVtJywgbWluOiAyLCBzdGFja0NsZWFyaW5nOiB0cnVlLCBzdGVtOiB0cnVlIH0sCiAgICB7IGlkOiAndm1vdmV0bycsIG1pbjogMSwgc3RhY2tDbGVhcmluZzogdHJ1ZSB9LAogICAgeyBpZDogJ3JsaW5ldG8nLCBtaW46IDIsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIHsgaWQ6ICdobGluZXRvJywgbWluOiAxLCByZXNldFN0YWNrOiB0cnVlIH0sCiAgICB7IGlkOiAndmxpbmV0bycsIG1pbjogMSwgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ3JyY3VydmV0bycsIG1pbjogNiwgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgbnVsbCwKICAgIHsgaWQ6ICdjYWxsc3VicicsIG1pbjogMSwgdW5kZWZTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ3JldHVybicsIG1pbjogMCwgdW5kZWZTdGFjazogdHJ1ZSB9LAogICAgbnVsbCwgLy8gMTIKICAgIG51bGwsCiAgICB7IGlkOiAnZW5kY2hhcicsIG1pbjogMCwgc3RhY2tDbGVhcmluZzogdHJ1ZSB9LAogICAgbnVsbCwKICAgIG51bGwsCiAgICBudWxsLAogICAgeyBpZDogJ2hzdGVtaG0nLCBtaW46IDIsIHN0YWNrQ2xlYXJpbmc6IHRydWUsIHN0ZW06IHRydWUgfSwKICAgIHsgaWQ6ICdoaW50bWFzaycsIG1pbjogMCwgc3RhY2tDbGVhcmluZzogdHJ1ZSB9LAogICAgeyBpZDogJ2NudHJtYXNrJywgbWluOiAwLCBzdGFja0NsZWFyaW5nOiB0cnVlIH0sCiAgICB7IGlkOiAncm1vdmV0bycsIG1pbjogMiwgc3RhY2tDbGVhcmluZzogdHJ1ZSB9LAogICAgeyBpZDogJ2htb3ZldG8nLCBtaW46IDEsIHN0YWNrQ2xlYXJpbmc6IHRydWUgfSwKICAgIHsgaWQ6ICd2c3RlbWhtJywgbWluOiAyLCBzdGFja0NsZWFyaW5nOiB0cnVlLCBzdGVtOiB0cnVlIH0sCiAgICB7IGlkOiAncmN1cnZlbGluZScsIG1pbjogOCwgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ3JsaW5lY3VydmUnLCBtaW46IDgsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIHsgaWQ6ICd2dmN1cnZldG8nLCBtaW46IDQsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIHsgaWQ6ICdoaGN1cnZldG8nLCBtaW46IDQsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIG51bGwsIC8vIHNob3J0aW50CiAgICB7IGlkOiAnY2FsbGdzdWJyJywgbWluOiAxLCB1bmRlZlN0YWNrOiB0cnVlIH0sCiAgICB7IGlkOiAndmhjdXJ2ZXRvJywgbWluOiA0LCByZXNldFN0YWNrOiB0cnVlIH0sCiAgICB7IGlkOiAnaHZjdXJ2ZXRvJywgbWluOiA0LCByZXNldFN0YWNrOiB0cnVlIH0KICBdOwogIHZhciBDaGFyc3RyaW5nVmFsaWRhdGlvbkRhdGExMiA9IFsKICAgIG51bGwsCiAgICBudWxsLAogICAgbnVsbCwKICAgIHsgaWQ6ICdhbmQnLCBtaW46IDIsIHN0YWNrRGVsdGE6IC0xIH0sCiAgICB7IGlkOiAnb3InLCBtaW46IDIsIHN0YWNrRGVsdGE6IC0xIH0sCiAgICB7IGlkOiAnbm90JywgbWluOiAxLCBzdGFja0RlbHRhOiAwIH0sCiAgICBudWxsLAogICAgbnVsbCwKICAgIG51bGwsCiAgICB7IGlkOiAnYWJzJywgbWluOiAxLCBzdGFja0RlbHRhOiAwIH0sCiAgICB7IGlkOiAnYWRkJywgbWluOiAyLCBzdGFja0RlbHRhOiAtMSwKICAgICAgc3RhY2tGbjogZnVuY3Rpb24gc3RhY2tfZGl2KHN0YWNrLCBpbmRleCkgewogICAgICAgIHN0YWNrW2luZGV4IC0gMl0gPSBzdGFja1tpbmRleCAtIDJdICsgc3RhY2tbaW5kZXggLSAxXTsKICAgICAgfQogICAgfSwKICAgIHsgaWQ6ICdzdWInLCBtaW46IDIsIHN0YWNrRGVsdGE6IC0xLAogICAgICBzdGFja0ZuOiBmdW5jdGlvbiBzdGFja19kaXYoc3RhY2ssIGluZGV4KSB7CiAgICAgICAgc3RhY2tbaW5kZXggLSAyXSA9IHN0YWNrW2luZGV4IC0gMl0gLSBzdGFja1tpbmRleCAtIDFdOwogICAgICB9CiAgICB9LAogICAgeyBpZDogJ2RpdicsIG1pbjogMiwgc3RhY2tEZWx0YTogLTEsCiAgICAgIHN0YWNrRm46IGZ1bmN0aW9uIHN0YWNrX2RpdihzdGFjaywgaW5kZXgpIHsKICAgICAgICBzdGFja1tpbmRleCAtIDJdID0gc3RhY2tbaW5kZXggLSAyXSAvIHN0YWNrW2luZGV4IC0gMV07CiAgICAgIH0KICAgIH0sCiAgICBudWxsLAogICAgeyBpZDogJ25lZycsIG1pbjogMSwgc3RhY2tEZWx0YTogMCwKICAgICAgc3RhY2tGbjogZnVuY3Rpb24gc3RhY2tfZGl2KHN0YWNrLCBpbmRleCkgewogICAgICAgIHN0YWNrW2luZGV4IC0gMV0gPSAtc3RhY2tbaW5kZXggLSAxXTsKICAgICAgfQogICAgfSwKICAgIHsgaWQ6ICdlcScsIG1pbjogMiwgc3RhY2tEZWx0YTogLTEgfSwKICAgIG51bGwsCiAgICBudWxsLAogICAgeyBpZDogJ2Ryb3AnLCBtaW46IDEsIHN0YWNrRGVsdGE6IC0xIH0sCiAgICBudWxsLAogICAgeyBpZDogJ3B1dCcsIG1pbjogMiwgc3RhY2tEZWx0YTogLTIgfSwKICAgIHsgaWQ6ICdnZXQnLCBtaW46IDEsIHN0YWNrRGVsdGE6IDAgfSwKICAgIHsgaWQ6ICdpZmVsc2UnLCBtaW46IDQsIHN0YWNrRGVsdGE6IC0zIH0sCiAgICB7IGlkOiAncmFuZG9tJywgbWluOiAwLCBzdGFja0RlbHRhOiAxIH0sCiAgICB7IGlkOiAnbXVsJywgbWluOiAyLCBzdGFja0RlbHRhOiAtMSwKICAgICAgc3RhY2tGbjogZnVuY3Rpb24gc3RhY2tfZGl2KHN0YWNrLCBpbmRleCkgewogICAgICAgIHN0YWNrW2luZGV4IC0gMl0gPSBzdGFja1tpbmRleCAtIDJdICogc3RhY2tbaW5kZXggLSAxXTsKICAgICAgfQogICAgfSwKICAgIG51bGwsCiAgICB7IGlkOiAnc3FydCcsIG1pbjogMSwgc3RhY2tEZWx0YTogMCB9LAogICAgeyBpZDogJ2R1cCcsIG1pbjogMSwgc3RhY2tEZWx0YTogMSB9LAogICAgeyBpZDogJ2V4Y2gnLCBtaW46IDIsIHN0YWNrRGVsdGE6IDAgfSwKICAgIHsgaWQ6ICdpbmRleCcsIG1pbjogMiwgc3RhY2tEZWx0YTogMCB9LAogICAgeyBpZDogJ3JvbGwnLCBtaW46IDMsIHN0YWNrRGVsdGE6IC0yIH0sCiAgICBudWxsLAogICAgbnVsbCwKICAgIG51bGwsCiAgICB7IGlkOiAnaGZsZXgnLCBtaW46IDcsIHJlc2V0U3RhY2s6IHRydWUgfSwKICAgIHsgaWQ6ICdmbGV4JywgbWluOiAxMywgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ2hmbGV4MScsIG1pbjogOSwgcmVzZXRTdGFjazogdHJ1ZSB9LAogICAgeyBpZDogJ2ZsZXgxJywgbWluOiAxMSwgcmVzZXRTdGFjazogdHJ1ZSB9CiAgXTsKCiAgZnVuY3Rpb24gQ0ZGUGFyc2VyKGZpbGUsIHByb3BlcnRpZXMpIHsKICAgIHRoaXMuYnl0ZXMgPSBmaWxlLmdldEJ5dGVzKCk7CiAgICB0aGlzLnByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOwogIH0KICBDRkZQYXJzZXIucHJvdG90eXBlID0gewogICAgcGFyc2U6IGZ1bmN0aW9uIENGRlBhcnNlcl9wYXJzZSgpIHsKICAgICAgdmFyIHByb3BlcnRpZXMgPSB0aGlzLnByb3BlcnRpZXM7CiAgICAgIHZhciBjZmYgPSBuZXcgQ0ZGKCk7CiAgICAgIHRoaXMuY2ZmID0gY2ZmOwoKICAgICAgLy8gVGhlIGZpcnN0IGZpdmUgc2VjdGlvbnMgbXVzdCBiZSBpbiBvcmRlciwgYWxsIHRoZSBvdGhlcnMgYXJlIHJlYWNoZWQKICAgICAgLy8gdmlhIG9mZnNldHMgY29udGFpbmVkIGluIG9uZSBvZiB0aGUgYmVsb3cuCiAgICAgIHZhciBoZWFkZXIgPSB0aGlzLnBhcnNlSGVhZGVyKCk7CiAgICAgIHZhciBuYW1lSW5kZXggPSB0aGlzLnBhcnNlSW5kZXgoaGVhZGVyLmVuZFBvcyk7CiAgICAgIHZhciB0b3BEaWN0SW5kZXggPSB0aGlzLnBhcnNlSW5kZXgobmFtZUluZGV4LmVuZFBvcyk7CiAgICAgIHZhciBzdHJpbmdJbmRleCA9IHRoaXMucGFyc2VJbmRleCh0b3BEaWN0SW5kZXguZW5kUG9zKTsKICAgICAgdmFyIGdsb2JhbFN1YnJJbmRleCA9IHRoaXMucGFyc2VJbmRleChzdHJpbmdJbmRleC5lbmRQb3MpOwoKICAgICAgdmFyIHRvcERpY3RQYXJzZWQgPSB0aGlzLnBhcnNlRGljdCh0b3BEaWN0SW5kZXgub2JqLmdldCgwKSk7CiAgICAgIHZhciB0b3BEaWN0ID0gdGhpcy5jcmVhdGVEaWN0KENGRlRvcERpY3QsIHRvcERpY3RQYXJzZWQsIGNmZi5zdHJpbmdzKTsKCiAgICAgIGNmZi5oZWFkZXIgPSBoZWFkZXIub2JqOwogICAgICBjZmYubmFtZXMgPSB0aGlzLnBhcnNlTmFtZUluZGV4KG5hbWVJbmRleC5vYmopOwogICAgICBjZmYuc3RyaW5ncyA9IHRoaXMucGFyc2VTdHJpbmdJbmRleChzdHJpbmdJbmRleC5vYmopOwogICAgICBjZmYudG9wRGljdCA9IHRvcERpY3Q7CiAgICAgIGNmZi5nbG9iYWxTdWJySW5kZXggPSBnbG9iYWxTdWJySW5kZXgub2JqOwoKICAgICAgdGhpcy5wYXJzZVByaXZhdGVEaWN0KGNmZi50b3BEaWN0KTsKCiAgICAgIGNmZi5pc0NJREZvbnQgPSB0b3BEaWN0Lmhhc05hbWUoJ1JPUycpOwoKICAgICAgdmFyIGNoYXJTdHJpbmdPZmZzZXQgPSB0b3BEaWN0LmdldEJ5TmFtZSgnQ2hhclN0cmluZ3MnKTsKICAgICAgdmFyIGNoYXJTdHJpbmdzQW5kU2VhY3MgPSB0aGlzLnBhcnNlQ2hhclN0cmluZ3MoY2hhclN0cmluZ09mZnNldCk7CiAgICAgIGNmZi5jaGFyU3RyaW5ncyA9IGNoYXJTdHJpbmdzQW5kU2VhY3MuY2hhclN0cmluZ3M7CiAgICAgIGNmZi5zZWFjcyA9IGNoYXJTdHJpbmdzQW5kU2VhY3Muc2VhY3M7CiAgICAgIGNmZi53aWR0aHMgPSBjaGFyU3RyaW5nc0FuZFNlYWNzLndpZHRoczsKCiAgICAgIHZhciBmb250TWF0cml4ID0gdG9wRGljdC5nZXRCeU5hbWUoJ0ZvbnRNYXRyaXgnKTsKICAgICAgaWYgKGZvbnRNYXRyaXgpIHsKICAgICAgICBwcm9wZXJ0aWVzLmZvbnRNYXRyaXggPSBmb250TWF0cml4OwogICAgICB9CgogICAgICB2YXIgZm9udEJCb3ggPSB0b3BEaWN0LmdldEJ5TmFtZSgnRm9udEJCb3gnKTsKICAgICAgaWYgKGZvbnRCQm94KSB7CiAgICAgICAgLy8gYWRqdXN0aW5nIGFzY2VudC9kZXNjZW50CiAgICAgICAgcHJvcGVydGllcy5hc2NlbnQgPSBmb250QkJveFszXTsKICAgICAgICBwcm9wZXJ0aWVzLmRlc2NlbnQgPSBmb250QkJveFsxXTsKICAgICAgICBwcm9wZXJ0aWVzLmFzY2VudFNjYWxlZCA9IHRydWU7CiAgICAgIH0KCiAgICAgIHZhciBjaGFyc2V0LCBlbmNvZGluZzsKICAgICAgaWYgKGNmZi5pc0NJREZvbnQpIHsKICAgICAgICB2YXIgZmRBcnJheUluZGV4ID0gdGhpcy5wYXJzZUluZGV4KHRvcERpY3QuZ2V0QnlOYW1lKCdGREFycmF5JykpLm9iajsKICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBmZEFycmF5SW5kZXguY291bnQ7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgICB2YXIgZGljdFJhdyA9IGZkQXJyYXlJbmRleC5nZXQoaSk7CiAgICAgICAgICB2YXIgZm9udERpY3QgPSB0aGlzLmNyZWF0ZURpY3QoQ0ZGVG9wRGljdCwgdGhpcy5wYXJzZURpY3QoZGljdFJhdyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ZmLnN0cmluZ3MpOwogICAgICAgICAgdGhpcy5wYXJzZVByaXZhdGVEaWN0KGZvbnREaWN0KTsKICAgICAgICAgIGNmZi5mZEFycmF5LnB1c2goZm9udERpY3QpOwogICAgICAgIH0KICAgICAgICAvLyBjaWQgZm9udHMgZG9uJ3QgaGF2ZSBhbiBlbmNvZGluZwogICAgICAgIGVuY29kaW5nID0gbnVsbDsKICAgICAgICBjaGFyc2V0ID0gdGhpcy5wYXJzZUNoYXJzZXRzKHRvcERpY3QuZ2V0QnlOYW1lKCdjaGFyc2V0JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZmYuY2hhclN0cmluZ3MuY291bnQsIGNmZi5zdHJpbmdzLCB0cnVlKTsKICAgICAgICBjZmYuZmRTZWxlY3QgPSB0aGlzLnBhcnNlRkRTZWxlY3QodG9wRGljdC5nZXRCeU5hbWUoJ0ZEU2VsZWN0JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNmZi5jaGFyU3RyaW5ncy5jb3VudCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2hhcnNldCA9IHRoaXMucGFyc2VDaGFyc2V0cyh0b3BEaWN0LmdldEJ5TmFtZSgnY2hhcnNldCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ZmLmNoYXJTdHJpbmdzLmNvdW50LCBjZmYuc3RyaW5ncywgZmFsc2UpOwogICAgICAgIGVuY29kaW5nID0gdGhpcy5wYXJzZUVuY29kaW5nKHRvcERpY3QuZ2V0QnlOYW1lKCdFbmNvZGluZycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ZmLnN0cmluZ3MsIGNoYXJzZXQuY2hhcnNldCk7CiAgICAgIH0KICAgICAgY2ZmLmNoYXJzZXQgPSBjaGFyc2V0OwogICAgICBjZmYuZW5jb2RpbmcgPSBlbmNvZGluZzsKCiAgICAgIHJldHVybiBjZmY7CiAgICB9LAogICAgcGFyc2VIZWFkZXI6IGZ1bmN0aW9uIENGRlBhcnNlcl9wYXJzZUhlYWRlcigpIHsKICAgICAgdmFyIGJ5dGVzID0gdGhpcy5ieXRlczsKICAgICAgdmFyIGJ5dGVzTGVuZ3RoID0gYnl0ZXMubGVuZ3RoOwogICAgICB2YXIgb2Zmc2V0ID0gMDsKCiAgICAgIC8vIFByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCwgYnkgY2hlY2tpbmcgdGhhdCB0aGUgb2Zmc2V0IGlzIHdpdGhpbiB0aGUKICAgICAgLy8gYm91bmRzIG9mIHRoZSBieXRlcyBhcnJheS4gTmVjZXNzYXJ5IGluIGVtcHR5LCBvciBpbnZhbGlkLCBmb250IGZpbGVzLgogICAgICB3aGlsZSAob2Zmc2V0IDwgYnl0ZXNMZW5ndGggJiYgYnl0ZXNbb2Zmc2V0XSAhPT0gMSkgewogICAgICAgICsrb2Zmc2V0OwogICAgICB9CiAgICAgIGlmIChvZmZzZXQgPj0gYnl0ZXNMZW5ndGgpIHsKICAgICAgICBlcnJvcignSW52YWxpZCBDRkYgaGVhZGVyJyk7CiAgICAgIH0gZWxzZSBpZiAob2Zmc2V0ICE9PSAwKSB7CiAgICAgICAgaW5mbygnY2ZmIGRhdGEgaXMgc2hpZnRlZCcpOwogICAgICAgIGJ5dGVzID0gYnl0ZXMuc3ViYXJyYXkob2Zmc2V0KTsKICAgICAgICB0aGlzLmJ5dGVzID0gYnl0ZXM7CiAgICAgIH0KICAgICAgdmFyIG1ham9yID0gYnl0ZXNbMF07CiAgICAgIHZhciBtaW5vciA9IGJ5dGVzWzFdOwogICAgICB2YXIgaGRyU2l6ZSA9IGJ5dGVzWzJdOwogICAgICB2YXIgb2ZmU2l6ZSA9IGJ5dGVzWzNdOwogICAgICB2YXIgaGVhZGVyID0gbmV3IENGRkhlYWRlcihtYWpvciwgbWlub3IsIGhkclNpemUsIG9mZlNpemUpOwogICAgICByZXR1cm4geyBvYmo6IGhlYWRlciwgZW5kUG9zOiBoZHJTaXplIH07CiAgICB9LAogICAgcGFyc2VEaWN0OiBmdW5jdGlvbiBDRkZQYXJzZXJfcGFyc2VEaWN0KGRpY3QpIHsKICAgICAgdmFyIHBvcyA9IDA7CgogICAgICBmdW5jdGlvbiBwYXJzZU9wZXJhbmQoKSB7CiAgICAgICAgdmFyIHZhbHVlID0gZGljdFtwb3MrK107CiAgICAgICAgaWYgKHZhbHVlID09PSAzMCkgewogICAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXRPcGVyYW5kKHBvcyk7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gMjgpIHsKICAgICAgICAgIHZhbHVlID0gZGljdFtwb3MrK107CiAgICAgICAgICB2YWx1ZSA9ICgodmFsdWUgPDwgMjQpIHwgKGRpY3RbcG9zKytdIDw8IDE2KSkgPj4gMTY7CiAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gMjkpIHsKICAgICAgICAgIHZhbHVlID0gZGljdFtwb3MrK107CiAgICAgICAgICB2YWx1ZSA9ICh2YWx1ZSA8PCA4KSB8IGRpY3RbcG9zKytdOwogICAgICAgICAgdmFsdWUgPSAodmFsdWUgPDwgOCkgfCBkaWN0W3BvcysrXTsKICAgICAgICAgIHZhbHVlID0gKHZhbHVlIDw8IDgpIHwgZGljdFtwb3MrK107CiAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA+PSAzMiAmJiB2YWx1ZSA8PSAyNDYpIHsKICAgICAgICAgIHJldHVybiB2YWx1ZSAtIDEzOTsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID49IDI0NyAmJiB2YWx1ZSA8PSAyNTApIHsKICAgICAgICAgIHJldHVybiAoKHZhbHVlIC0gMjQ3KSAqIDI1NikgKyBkaWN0W3BvcysrXSArIDEwODsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID49IDI1MSAmJiB2YWx1ZSA8PSAyNTQpIHsKICAgICAgICAgIHJldHVybiAtKCh2YWx1ZSAtIDI1MSkgKiAyNTYpIC0gZGljdFtwb3MrK10gLSAxMDg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGVycm9yKCcyNTUgaXMgbm90IGEgdmFsaWQgRElDVCBjb21tYW5kJyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAtMTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gcGFyc2VGbG9hdE9wZXJhbmQoKSB7CiAgICAgICAgdmFyIHN0ciA9ICcnOwogICAgICAgIHZhciBlb2YgPSAxNTsKICAgICAgICB2YXIgbG9va3VwID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsCiAgICAgICAgICAgICc5JywgJy4nLCAnRScsICdFLScsIG51bGwsICctJ107CiAgICAgICAgdmFyIGxlbmd0aCA9IGRpY3QubGVuZ3RoOwogICAgICAgIHdoaWxlIChwb3MgPCBsZW5ndGgpIHsKICAgICAgICAgIHZhciBiID0gZGljdFtwb3MrK107CiAgICAgICAgICB2YXIgYjEgPSBiID4+IDQ7CiAgICAgICAgICB2YXIgYjIgPSBiICYgMTU7CgogICAgICAgICAgaWYgKGIxID09PSBlb2YpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBzdHIgKz0gbG9va3VwW2IxXTsKCiAgICAgICAgICBpZiAoYjIgPT09IGVvZikgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHN0ciArPSBsb29rdXBbYjJdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChzdHIpOwogICAgICB9CgogICAgICB2YXIgb3BlcmFuZHMgPSBbXTsKICAgICAgdmFyIGVudHJpZXMgPSBbXTsKCiAgICAgIHBvcyA9IDA7CiAgICAgIHZhciBlbmQgPSBkaWN0Lmxlbmd0aDsKICAgICAgd2hpbGUgKHBvcyA8IGVuZCkgewogICAgICAgIHZhciBiID0gZGljdFtwb3NdOwogICAgICAgIGlmIChiIDw9IDIxKSB7CiAgICAgICAgICBpZiAoYiA9PT0gMTIpIHsKICAgICAgICAgICAgYiA9IChiIDw8IDgpIHwgZGljdFsrK3Bvc107CiAgICAgICAgICB9CiAgICAgICAgICBlbnRyaWVzLnB1c2goW2IsIG9wZXJhbmRzXSk7CiAgICAgICAgICBvcGVyYW5kcyA9IFtdOwogICAgICAgICAgKytwb3M7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG9wZXJhbmRzLnB1c2gocGFyc2VPcGVyYW5kKCkpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZW50cmllczsKICAgIH0sCiAgICBwYXJzZUluZGV4OiBmdW5jdGlvbiBDRkZQYXJzZXJfcGFyc2VJbmRleChwb3MpIHsKICAgICAgdmFyIGNmZkluZGV4ID0gbmV3IENGRkluZGV4KCk7CiAgICAgIHZhciBieXRlcyA9IHRoaXMuYnl0ZXM7CiAgICAgIHZhciBjb3VudCA9IChieXRlc1twb3MrK10gPDwgOCkgfCBieXRlc1twb3MrK107CiAgICAgIHZhciBvZmZzZXRzID0gW107CiAgICAgIHZhciBlbmQgPSBwb3M7CiAgICAgIHZhciBpLCBpaTsKCiAgICAgIGlmIChjb3VudCAhPT0gMCkgewogICAgICAgIHZhciBvZmZzZXRTaXplID0gYnl0ZXNbcG9zKytdOwogICAgICAgIC8vIGFkZCAxIGZvciBvZmZzZXQgdG8gZGV0ZXJtaW5lIHNpemUgb2YgbGFzdCBvYmplY3QKICAgICAgICB2YXIgc3RhcnRQb3MgPSBwb3MgKyAoKGNvdW50ICsgMSkgKiBvZmZzZXRTaXplKSAtIDE7CgogICAgICAgIGZvciAoaSA9IDAsIGlpID0gY291bnQgKyAxOyBpIDwgaWk7ICsraSkgewogICAgICAgICAgdmFyIG9mZnNldCA9IDA7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG9mZnNldFNpemU7ICsraikgewogICAgICAgICAgICBvZmZzZXQgPDw9IDg7CiAgICAgICAgICAgIG9mZnNldCArPSBieXRlc1twb3MrK107CiAgICAgICAgICB9CiAgICAgICAgICBvZmZzZXRzLnB1c2goc3RhcnRQb3MgKyBvZmZzZXQpOwogICAgICAgIH0KICAgICAgICBlbmQgPSBvZmZzZXRzW2NvdW50XTsKICAgICAgfQogICAgICBmb3IgKGkgPSAwLCBpaSA9IG9mZnNldHMubGVuZ3RoIC0gMTsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgb2Zmc2V0U3RhcnQgPSBvZmZzZXRzW2ldOwogICAgICAgIHZhciBvZmZzZXRFbmQgPSBvZmZzZXRzW2kgKyAxXTsKICAgICAgICBjZmZJbmRleC5hZGQoYnl0ZXMuc3ViYXJyYXkob2Zmc2V0U3RhcnQsIG9mZnNldEVuZCkpOwogICAgICB9CiAgICAgIHJldHVybiB7b2JqOiBjZmZJbmRleCwgZW5kUG9zOiBlbmR9OwogICAgfSwKICAgIHBhcnNlTmFtZUluZGV4OiBmdW5jdGlvbiBDRkZQYXJzZXJfcGFyc2VOYW1lSW5kZXgoaW5kZXgpIHsKICAgICAgdmFyIG5hbWVzID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGluZGV4LmNvdW50OyBpIDwgaWk7ICsraSkgewogICAgICAgIHZhciBuYW1lID0gaW5kZXguZ2V0KGkpOwogICAgICAgIC8vIE9UUyBkb2Vzbid0IGFsbG93IG5hbWVzIHRvIGJlIG92ZXIgMTI3IGNoYXJhY3RlcnMuCiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGgubWluKG5hbWUubGVuZ3RoLCAxMjcpOwogICAgICAgIHZhciBkYXRhID0gW107CiAgICAgICAgLy8gT1RTIGFsc28gb25seSBwZXJtaXRzIGNlcnRhaW4gY2hhcmFjdGVycyBpbiB0aGUgbmFtZS4KICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbmd0aDsgKytqKSB7CiAgICAgICAgICB2YXIgYyA9IG5hbWVbal07CiAgICAgICAgICBpZiAoaiA9PT0gMCAmJiBjID09PSAwKSB7CiAgICAgICAgICAgIGRhdGFbal0gPSBjOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICgoYyA8IDMzIHx8IGMgPiAxMjYpIHx8IGMgPT09IDkxIC8qIFsgKi8gfHwgYyA9PT0gOTMgLyogXSAqLyB8fAogICAgICAgICAgICAgIGMgPT09IDQwIC8qICggKi8gfHwgYyA9PT0gNDEgLyogKSAqLyB8fCBjID09PSAxMjMgLyogeyAqLyB8fAogICAgICAgICAgICAgIGMgPT09IDEyNSAvKiB9ICovIHx8IGMgPT09IDYwIC8qIDwgKi8gfHwgYyA9PT0gNjIgLyogPiAqLyB8fAogICAgICAgICAgICAgIGMgPT09IDQ3IC8qIC8gKi8gfHwgYyA9PT0gMzcgLyogJSAqLyB8fCBjID09PSAzNSAvKiAjICovKSB7CiAgICAgICAgICAgIGRhdGFbal0gPSA5NTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgICAgICAgICBkYXRhW2pdID0gYzsKICAgICAgICB9CiAgICAgICAgbmFtZXMucHVzaChieXRlc1RvU3RyaW5nKGRhdGEpKTsKICAgICAgfQogICAgICByZXR1cm4gbmFtZXM7CiAgICB9LAogICAgcGFyc2VTdHJpbmdJbmRleDogZnVuY3Rpb24gQ0ZGUGFyc2VyX3BhcnNlU3RyaW5nSW5kZXgoaW5kZXgpIHsKICAgICAgdmFyIHN0cmluZ3MgPSBuZXcgQ0ZGU3RyaW5ncygpOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBpbmRleC5jb3VudDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgZGF0YSA9IGluZGV4LmdldChpKTsKICAgICAgICBzdHJpbmdzLmFkZChieXRlc1RvU3RyaW5nKGRhdGEpKTsKICAgICAgfQogICAgICByZXR1cm4gc3RyaW5nczsKICAgIH0sCiAgICBjcmVhdGVEaWN0OiBmdW5jdGlvbiBDRkZQYXJzZXJfY3JlYXRlRGljdChUeXBlLCBkaWN0LCBzdHJpbmdzKSB7CiAgICAgIHZhciBjZmZEaWN0ID0gbmV3IFR5cGUoc3RyaW5ncyk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRpY3QubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgIHZhciBwYWlyID0gZGljdFtpXTsKICAgICAgICB2YXIga2V5ID0gcGFpclswXTsKICAgICAgICB2YXIgdmFsdWUgPSBwYWlyWzFdOwogICAgICAgIGNmZkRpY3Quc2V0QnlLZXkoa2V5LCB2YWx1ZSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGNmZkRpY3Q7CiAgICB9LAogICAgcGFyc2VDaGFyU3RyaW5nczogZnVuY3Rpb24gQ0ZGUGFyc2VyX3BhcnNlQ2hhclN0cmluZ3MoY2hhclN0cmluZ09mZnNldCkgewogICAgICB2YXIgY2hhclN0cmluZ3MgPSB0aGlzLnBhcnNlSW5kZXgoY2hhclN0cmluZ09mZnNldCkub2JqOwogICAgICB2YXIgc2VhY3MgPSBbXTsKICAgICAgdmFyIHdpZHRocyA9IFtdOwogICAgICB2YXIgY291bnQgPSBjaGFyU3RyaW5ncy5jb3VudDsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgdmFyIGNoYXJzdHJpbmcgPSBjaGFyU3RyaW5ncy5nZXQoaSk7CgogICAgICAgIHZhciBzdGFja1NpemUgPSAwOwogICAgICAgIHZhciBzdGFjayA9IFtdOwogICAgICAgIHZhciB1bmRlZlN0YWNrID0gdHJ1ZTsKICAgICAgICB2YXIgaGludHMgPSAwOwogICAgICAgIHZhciB2YWxpZCA9IHRydWU7CiAgICAgICAgdmFyIGRhdGEgPSBjaGFyc3RyaW5nOwogICAgICAgIHZhciBsZW5ndGggPSBkYXRhLmxlbmd0aDsKICAgICAgICB2YXIgZmlyc3RTdGFja0NsZWFyaW5nID0gdHJ1ZTsKICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbmd0aDspIHsKICAgICAgICAgIHZhciB2YWx1ZSA9IGRhdGFbaisrXTsKICAgICAgICAgIHZhciB2YWxpZGF0aW9uQ29tbWFuZCA9IG51bGw7CiAgICAgICAgICBpZiAodmFsdWUgPT09IDEyKSB7CiAgICAgICAgICAgIHZhciBxID0gZGF0YVtqKytdOwogICAgICAgICAgICBpZiAocSA9PT0gMCkgewogICAgICAgICAgICAgIC8vIFRoZSBDRkYgc3BlY2lmaWNhdGlvbiBzdGF0ZSB0aGF0IHRoZSAnZG90c2VjdGlvbicgY29tbWFuZAogICAgICAgICAgICAgIC8vICgxMiwgMCkgaXMgZGVwcmVjYXRlZCBhbmQgdHJlYXRlZCBhcyBhIG5vLW9wLCBidXQgYWxsIFR5cGUyCiAgICAgICAgICAgICAgLy8gY2hhcnN0cmluZ3MgcHJvY2Vzc29ycyBzaG91bGQgc3VwcG9ydCB0aGVtLiBVbmZvcnR1bmF0ZWx5CiAgICAgICAgICAgICAgLy8gdGhlIGZvbnQgc2FuaXRpemVyIGRvbid0LiBBcyBhIHdvcmthcm91bmQgdGhlIHNlcXVlbmNlICgxMiwgMCkKICAgICAgICAgICAgICAvLyBpcyByZXBsYWNlZCBieSBhIHVzZWxlc3MgKDAsIGhtb3ZldG8pLgogICAgICAgICAgICAgIGRhdGFbaiAtIDJdID0gMTM5OwogICAgICAgICAgICAgIGRhdGFbaiAtIDFdID0gMjI7CiAgICAgICAgICAgICAgc3RhY2tTaXplID0gMDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB2YWxpZGF0aW9uQ29tbWFuZCA9IENoYXJzdHJpbmdWYWxpZGF0aW9uRGF0YTEyW3FdOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAyOCkgeyAvLyBudW1iZXIgKDE2IGJpdCkKICAgICAgICAgICAgc3RhY2tbc3RhY2tTaXplXSA9ICgoZGF0YVtqXSA8PCAyNCkgfCAoZGF0YVtqICsgMV0gPDwgMTYpKSA+PiAxNjsKICAgICAgICAgICAgaiArPSAyOwogICAgICAgICAgICBzdGFja1NpemUrKzsKICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IDE0KSB7CiAgICAgICAgICAgIGlmIChzdGFja1NpemUgPj0gNCkgewogICAgICAgICAgICAgIHN0YWNrU2l6ZSAtPSA0OwogICAgICAgICAgICAgIGlmIChTRUFDX0FOQUxZU0lTX0VOQUJMRUQpIHsKICAgICAgICAgICAgICAgIHNlYWNzW2ldID0gc3RhY2suc2xpY2Uoc3RhY2tTaXplLCBzdGFja1NpemUgKyA0KTsKICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhbGlkYXRpb25Db21tYW5kID0gQ2hhcnN0cmluZ1ZhbGlkYXRpb25EYXRhW3ZhbHVlXTsKICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gMzIgJiYgdmFsdWUgPD0gMjQ2KSB7ICAvLyBudW1iZXIKICAgICAgICAgICAgc3RhY2tbc3RhY2tTaXplXSA9IHZhbHVlIC0gMTM5OwogICAgICAgICAgICBzdGFja1NpemUrKzsKICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gMjQ3ICYmIHZhbHVlIDw9IDI1NCkgeyAgLy8gbnVtYmVyICgrMSBieXRlcykKICAgICAgICAgICAgc3RhY2tbc3RhY2tTaXplXSA9ICh2YWx1ZSA8IDI1MSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2YWx1ZSAtIDI0NykgPDwgOCkgKyBkYXRhW2pdICsgMTA4IDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKCh2YWx1ZSAtIDI1MSkgPDwgOCkgLSBkYXRhW2pdIC0gMTA4KTsKICAgICAgICAgICAgaisrOwogICAgICAgICAgICBzdGFja1NpemUrKzsKICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IDI1NSkgeyAgLy8gbnVtYmVyICgzMiBiaXQpCiAgICAgICAgICAgIHN0YWNrW3N0YWNrU2l6ZV0gPSAoKGRhdGFbal0gPDwgMjQpIHwgKGRhdGFbaiArIDFdIDw8IDE2KSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGFbaiArIDJdIDw8IDgpIHwgZGF0YVtqICsgM10pIC8gNjU1MzY7CiAgICAgICAgICAgIGogKz0gNDsKICAgICAgICAgICAgc3RhY2tTaXplKys7CiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAxOSB8fCB2YWx1ZSA9PT0gMjApIHsKICAgICAgICAgICAgaGludHMgKz0gc3RhY2tTaXplID4+IDE7CiAgICAgICAgICAgIGogKz0gKGhpbnRzICsgNykgPj4gMzsgLy8gc2tpcHBpbmcgcmlnaHQgYW1vdW50IG9mIGhpbnRzIGZsYWcgZGF0YQogICAgICAgICAgICBzdGFja1NpemUgJT0gMjsKICAgICAgICAgICAgdmFsaWRhdGlvbkNvbW1hbmQgPSBDaGFyc3RyaW5nVmFsaWRhdGlvbkRhdGFbdmFsdWVdOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFsaWRhdGlvbkNvbW1hbmQgPSBDaGFyc3RyaW5nVmFsaWRhdGlvbkRhdGFbdmFsdWVdOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHZhbGlkYXRpb25Db21tYW5kKSB7CiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uQ29tbWFuZC5zdGVtKSB7CiAgICAgICAgICAgICAgaGludHMgKz0gc3RhY2tTaXplID4+IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCdtaW4nIGluIHZhbGlkYXRpb25Db21tYW5kKSB7CiAgICAgICAgICAgICAgaWYgKCF1bmRlZlN0YWNrICYmIHN0YWNrU2l6ZSA8IHZhbGlkYXRpb25Db21tYW5kLm1pbikgewogICAgICAgICAgICAgICAgd2FybignTm90IGVub3VnaCBwYXJhbWV0ZXJzIGZvciAnICsgdmFsaWRhdGlvbkNvbW1hbmQuaWQgKwogICAgICAgICAgICAgICAgICAgICAnOyBhY3R1YWw6ICcgKyBzdGFja1NpemUgKwogICAgICAgICAgICAgICAgICAgICAnLCBleHBlY3RlZDogJyArIHZhbGlkYXRpb25Db21tYW5kLm1pbik7CiAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChmaXJzdFN0YWNrQ2xlYXJpbmcgJiYgdmFsaWRhdGlvbkNvbW1hbmQuc3RhY2tDbGVhcmluZykgewogICAgICAgICAgICAgIGZpcnN0U3RhY2tDbGVhcmluZyA9IGZhbHNlOwogICAgICAgICAgICAgIC8vIHRoZSBvcHRpb25hbCBjaGFyYWN0ZXIgd2lkdGggY2FuIGJlIGZvdW5kIGJlZm9yZSB0aGUgZmlyc3QKICAgICAgICAgICAgICAvLyBzdGFjay1jbGVhcmluZyBjb21tYW5kIGFyZ3VtZW50cwogICAgICAgICAgICAgIHN0YWNrU2l6ZSAtPSB2YWxpZGF0aW9uQ29tbWFuZC5taW47CiAgICAgICAgICAgICAgaWYgKHN0YWNrU2l6ZSA+PSAyICYmIHZhbGlkYXRpb25Db21tYW5kLnN0ZW0pIHsKICAgICAgICAgICAgICAgIC8vIHRoZXJlIGFyZSBldmVuIGFtb3VudCBvZiBhcmd1bWVudHMgZm9yIHN0ZW0gY29tbWFuZHMKICAgICAgICAgICAgICAgIHN0YWNrU2l6ZSAlPSAyOwogICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhY2tTaXplID4gMSkgewogICAgICAgICAgICAgICAgd2FybignRm91bmQgdG9vIG1hbnkgcGFyYW1ldGVycyBmb3Igc3RhY2stY2xlYXJpbmcgY29tbWFuZCcpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoc3RhY2tTaXplID4gMCAmJiBzdGFja1tzdGFja1NpemUgLSAxXSA+PSAwKSB7CiAgICAgICAgICAgICAgICB3aWR0aHNbaV0gPSBzdGFja1tzdGFja1NpemUgLSAxXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCdzdGFja0RlbHRhJyBpbiB2YWxpZGF0aW9uQ29tbWFuZCkgewogICAgICAgICAgICAgIGlmICgnc3RhY2tGbicgaW4gdmFsaWRhdGlvbkNvbW1hbmQpIHsKICAgICAgICAgICAgICAgIHZhbGlkYXRpb25Db21tYW5kLnN0YWNrRm4oc3RhY2ssIHN0YWNrU2l6ZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHN0YWNrU2l6ZSArPSB2YWxpZGF0aW9uQ29tbWFuZC5zdGFja0RlbHRhOwogICAgICAgICAgICB9IGVsc2UgaWYgKHZhbGlkYXRpb25Db21tYW5kLnN0YWNrQ2xlYXJpbmcpIHsKICAgICAgICAgICAgICBzdGFja1NpemUgPSAwOwogICAgICAgICAgICB9IGVsc2UgaWYgKHZhbGlkYXRpb25Db21tYW5kLnJlc2V0U3RhY2spIHsKICAgICAgICAgICAgICBzdGFja1NpemUgPSAwOwogICAgICAgICAgICAgIHVuZGVmU3RhY2sgPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxpZGF0aW9uQ29tbWFuZC51bmRlZlN0YWNrKSB7CiAgICAgICAgICAgICAgc3RhY2tTaXplID0gMDsKICAgICAgICAgICAgICB1bmRlZlN0YWNrID0gdHJ1ZTsKICAgICAgICAgICAgICBmaXJzdFN0YWNrQ2xlYXJpbmcgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIXZhbGlkKSB7CiAgICAgICAgICAvLyByZXNldHRpbmcgaW52YWxpZCBjaGFyc3RyaW5nIHRvIHNpbmdsZSAnZW5kY2hhcicKICAgICAgICAgIGNoYXJTdHJpbmdzLnNldChpLCBuZXcgVWludDhBcnJheShbMTRdKSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB7IGNoYXJTdHJpbmdzOiBjaGFyU3RyaW5ncywgc2VhY3M6IHNlYWNzLCB3aWR0aHM6IHdpZHRocyB9OwogICAgfSwKICAgIGVtcHR5UHJpdmF0ZURpY3Rpb25hcnk6CiAgICAgIGZ1bmN0aW9uIENGRlBhcnNlcl9lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KHBhcmVudERpY3QpIHsKICAgICAgdmFyIHByaXZhdGVEaWN0ID0gdGhpcy5jcmVhdGVEaWN0KENGRlByaXZhdGVEaWN0LCBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudERpY3Quc3RyaW5ncyk7CiAgICAgIHBhcmVudERpY3Quc2V0QnlLZXkoMTgsIFswLCAwXSk7CiAgICAgIHBhcmVudERpY3QucHJpdmF0ZURpY3QgPSBwcml2YXRlRGljdDsKICAgIH0sCiAgICBwYXJzZVByaXZhdGVEaWN0OiBmdW5jdGlvbiBDRkZQYXJzZXJfcGFyc2VQcml2YXRlRGljdChwYXJlbnREaWN0KSB7CiAgICAgIC8vIG5vIHByaXZhdGUgZGljdCwgZG8gbm90aGluZwogICAgICBpZiAoIXBhcmVudERpY3QuaGFzTmFtZSgnUHJpdmF0ZScpKSB7CiAgICAgICAgdGhpcy5lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KHBhcmVudERpY3QpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgcHJpdmF0ZU9mZnNldCA9IHBhcmVudERpY3QuZ2V0QnlOYW1lKCdQcml2YXRlJyk7CiAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgcGFyYW1zIGFyZSBmb3JtYXR0ZWQgY29ycmVjdGx5CiAgICAgIGlmICghaXNBcnJheShwcml2YXRlT2Zmc2V0KSB8fCBwcml2YXRlT2Zmc2V0Lmxlbmd0aCAhPT0gMikgewogICAgICAgIHBhcmVudERpY3QucmVtb3ZlQnlOYW1lKCdQcml2YXRlJyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBzaXplID0gcHJpdmF0ZU9mZnNldFswXTsKICAgICAgdmFyIG9mZnNldCA9IHByaXZhdGVPZmZzZXRbMV07CiAgICAgIC8vIHJlbW92ZSBlbXB0eSBkaWN0cyBvciBvbmVzIHRoYXQgcmVmZXIgdG8gaW52YWxpZCBsb2NhdGlvbgogICAgICBpZiAoc2l6ZSA9PT0gMCB8fCBvZmZzZXQgPj0gdGhpcy5ieXRlcy5sZW5ndGgpIHsKICAgICAgICB0aGlzLmVtcHR5UHJpdmF0ZURpY3Rpb25hcnkocGFyZW50RGljdCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgcHJpdmF0ZURpY3RFbmQgPSBvZmZzZXQgKyBzaXplOwogICAgICB2YXIgZGljdERhdGEgPSB0aGlzLmJ5dGVzLnN1YmFycmF5KG9mZnNldCwgcHJpdmF0ZURpY3RFbmQpOwogICAgICB2YXIgZGljdCA9IHRoaXMucGFyc2VEaWN0KGRpY3REYXRhKTsKICAgICAgdmFyIHByaXZhdGVEaWN0ID0gdGhpcy5jcmVhdGVEaWN0KENGRlByaXZhdGVEaWN0LCBkaWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50RGljdC5zdHJpbmdzKTsKICAgICAgcGFyZW50RGljdC5wcml2YXRlRGljdCA9IHByaXZhdGVEaWN0OwoKICAgICAgLy8gUGFyc2UgdGhlIFN1YnJzIGluZGV4IGFsc28gc2luY2UgaXQncyByZWxhdGl2ZSB0byB0aGUgcHJpdmF0ZSBkaWN0LgogICAgICBpZiAoIXByaXZhdGVEaWN0LmdldEJ5TmFtZSgnU3VicnMnKSkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgc3VicnNPZmZzZXQgPSBwcml2YXRlRGljdC5nZXRCeU5hbWUoJ1N1YnJzJyk7CiAgICAgIHZhciByZWxhdGl2ZU9mZnNldCA9IG9mZnNldCArIHN1YnJzT2Zmc2V0OwogICAgICAvLyBWYWxpZGF0ZSB0aGUgb2Zmc2V0LgogICAgICBpZiAoc3VicnNPZmZzZXQgPT09IDAgfHwgcmVsYXRpdmVPZmZzZXQgPj0gdGhpcy5ieXRlcy5sZW5ndGgpIHsKICAgICAgICB0aGlzLmVtcHR5UHJpdmF0ZURpY3Rpb25hcnkocGFyZW50RGljdCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBzdWJyc0luZGV4ID0gdGhpcy5wYXJzZUluZGV4KHJlbGF0aXZlT2Zmc2V0KTsKICAgICAgcHJpdmF0ZURpY3Quc3VicnNJbmRleCA9IHN1YnJzSW5kZXgub2JqOwogICAgfSwKICAgIHBhcnNlQ2hhcnNldHM6IGZ1bmN0aW9uIENGRlBhcnNlcl9wYXJzZUNoYXJzZXRzKHBvcywgbGVuZ3RoLCBzdHJpbmdzLCBjaWQpIHsKICAgICAgaWYgKHBvcyA9PT0gMCkgewogICAgICAgIHJldHVybiBuZXcgQ0ZGQ2hhcnNldCh0cnVlLCBDRkZDaGFyc2V0UHJlZGVmaW5lZFR5cGVzLklTT19BRE9CRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPQWRvYmVDaGFyc2V0KTsKICAgICAgfSBlbHNlIGlmIChwb3MgPT09IDEpIHsKICAgICAgICByZXR1cm4gbmV3IENGRkNoYXJzZXQodHJ1ZSwgQ0ZGQ2hhcnNldFByZWRlZmluZWRUeXBlcy5FWFBFUlQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGVydENoYXJzZXQpOwogICAgICB9IGVsc2UgaWYgKHBvcyA9PT0gMikgewogICAgICAgIHJldHVybiBuZXcgQ0ZGQ2hhcnNldCh0cnVlLCBDRkZDaGFyc2V0UHJlZGVmaW5lZFR5cGVzLkVYUEVSVF9TVUJTRVQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGVydFN1YnNldENoYXJzZXQpOwogICAgICB9CgogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmJ5dGVzOwogICAgICB2YXIgc3RhcnQgPSBwb3M7CiAgICAgIHZhciBmb3JtYXQgPSBieXRlc1twb3MrK107CiAgICAgIHZhciBjaGFyc2V0ID0gWycubm90ZGVmJ107CiAgICAgIHZhciBpZCwgY291bnQsIGk7CgogICAgICAvLyBzdWJ0cmFjdCAxIGZvciB0aGUgLm5vdGRlZiBnbHlwaAogICAgICBsZW5ndGggLT0gMTsKCiAgICAgIHN3aXRjaCAoZm9ybWF0KSB7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlkID0gKGJ5dGVzW3BvcysrXSA8PCA4KSB8IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgY2hhcnNldC5wdXNoKGNpZCA/IGlkIDogc3RyaW5ncy5nZXQoaWQpKTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMToKICAgICAgICAgIHdoaWxlIChjaGFyc2V0Lmxlbmd0aCA8PSBsZW5ndGgpIHsKICAgICAgICAgICAgaWQgPSAoYnl0ZXNbcG9zKytdIDw8IDgpIHwgYnl0ZXNbcG9zKytdOwogICAgICAgICAgICBjb3VudCA9IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8PSBjb3VudDsgaSsrKSB7CiAgICAgICAgICAgICAgY2hhcnNldC5wdXNoKGNpZCA/IGlkKysgOiBzdHJpbmdzLmdldChpZCsrKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjoKICAgICAgICAgIHdoaWxlIChjaGFyc2V0Lmxlbmd0aCA8PSBsZW5ndGgpIHsKICAgICAgICAgICAgaWQgPSAoYnl0ZXNbcG9zKytdIDw8IDgpIHwgYnl0ZXNbcG9zKytdOwogICAgICAgICAgICBjb3VudCA9IChieXRlc1twb3MrK10gPDwgOCkgfCBieXRlc1twb3MrK107CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPD0gY291bnQ7IGkrKykgewogICAgICAgICAgICAgIGNoYXJzZXQucHVzaChjaWQgPyBpZCsrIDogc3RyaW5ncy5nZXQoaWQrKykpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgZXJyb3IoJ1Vua25vd24gY2hhcnNldCBmb3JtYXQnKTsKICAgICAgfQogICAgICAvLyBSYXcgd29uJ3QgYmUgbmVlZGVkIGlmIHdlIGFjdHVhbGx5IGNvbXBpbGUgdGhlIGNoYXJzZXQuCiAgICAgIHZhciBlbmQgPSBwb3M7CiAgICAgIHZhciByYXcgPSBieXRlcy5zdWJhcnJheShzdGFydCwgZW5kKTsKCiAgICAgIHJldHVybiBuZXcgQ0ZGQ2hhcnNldChmYWxzZSwgZm9ybWF0LCBjaGFyc2V0LCByYXcpOwogICAgfSwKICAgIHBhcnNlRW5jb2Rpbmc6IGZ1bmN0aW9uIENGRlBhcnNlcl9wYXJzZUVuY29kaW5nKHBvcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnNldCkgewogICAgICB2YXIgZW5jb2RpbmcgPSB7fTsKICAgICAgdmFyIGJ5dGVzID0gdGhpcy5ieXRlczsKICAgICAgdmFyIHByZWRlZmluZWQgPSBmYWxzZTsKICAgICAgdmFyIGhhc1N1cHBsZW1lbnQgPSBmYWxzZTsKICAgICAgdmFyIGZvcm1hdCwgaSwgaWk7CiAgICAgIHZhciByYXcgPSBudWxsOwoKICAgICAgZnVuY3Rpb24gcmVhZFN1cHBsZW1lbnQoKSB7CiAgICAgICAgdmFyIHN1cHBsZW1lbnRzQ291bnQgPSBieXRlc1twb3MrK107CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHN1cHBsZW1lbnRzQ291bnQ7IGkrKykgewogICAgICAgICAgdmFyIGNvZGUgPSBieXRlc1twb3MrK107CiAgICAgICAgICB2YXIgc2lkID0gKGJ5dGVzW3BvcysrXSA8PCA4KSArIChieXRlc1twb3MrK10gJiAweGZmKTsKICAgICAgICAgIGVuY29kaW5nW2NvZGVdID0gY2hhcnNldC5pbmRleE9mKHN0cmluZ3MuZ2V0KHNpZCkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKHBvcyA9PT0gMCB8fCBwb3MgPT09IDEpIHsKICAgICAgICBwcmVkZWZpbmVkID0gdHJ1ZTsKICAgICAgICBmb3JtYXQgPSBwb3M7CiAgICAgICAgdmFyIGJhc2VFbmNvZGluZyA9IHBvcyA/IEVuY29kaW5ncy5FeHBlcnRFbmNvZGluZyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kaW5ncy5TdGFuZGFyZEVuY29kaW5nOwogICAgICAgIGZvciAoaSA9IDAsIGlpID0gY2hhcnNldC5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICB2YXIgaW5kZXggPSBiYXNlRW5jb2RpbmcuaW5kZXhPZihjaGFyc2V0W2ldKTsKICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHsKICAgICAgICAgICAgZW5jb2RpbmdbaW5kZXhdID0gaTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIGRhdGFTdGFydCA9IHBvczsKICAgICAgICBmb3JtYXQgPSBieXRlc1twb3MrK107CiAgICAgICAgc3dpdGNoIChmb3JtYXQgJiAweDdmKSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIHZhciBnbHlwaHNDb3VudCA9IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgZm9yIChpID0gMTsgaSA8PSBnbHlwaHNDb3VudDsgaSsrKSB7CiAgICAgICAgICAgICAgZW5jb2RpbmdbYnl0ZXNbcG9zKytdXSA9IGk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICB2YXIgcmFuZ2VzQ291bnQgPSBieXRlc1twb3MrK107CiAgICAgICAgICAgIHZhciBnaWQgPSAxOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcmFuZ2VzQ291bnQ7IGkrKykgewogICAgICAgICAgICAgIHZhciBzdGFydCA9IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgICB2YXIgbGVmdCA9IGJ5dGVzW3BvcysrXTsKICAgICAgICAgICAgICBmb3IgKHZhciBqID0gc3RhcnQ7IGogPD0gc3RhcnQgKyBsZWZ0OyBqKyspIHsKICAgICAgICAgICAgICAgIGVuY29kaW5nW2pdID0gZ2lkKys7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdVbmtub3cgZW5jb2RpbmcgZm9ybWF0OiAnICsgZm9ybWF0ICsgJyBpbiBDRkYnKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHZhciBkYXRhRW5kID0gcG9zOwogICAgICAgIGlmIChmb3JtYXQgJiAweDgwKSB7CiAgICAgICAgICAvLyBUaGUgZm9udCBzYW5pdGl6ZXIgZG9lcyBub3Qgc3VwcG9ydCBDRkYgZW5jb2Rpbmcgd2l0aCBhCiAgICAgICAgICAvLyBzdXBwbGVtZW50LCBzaW5jZSB0aGUgZW5jb2RpbmcgaXMgbm90IHJlYWxseSB1c2VkIHRvIG1hcAogICAgICAgICAgLy8gYmV0d2VlbiBnaWQgdG8gZ2x5cGgsIGxldCdzIG92ZXJ3cml0ZSB3aGF0IGlzIGRlY2xhcmVkIGluCiAgICAgICAgICAvLyB0aGUgdG9wIGRpY3Rpb25hcnkgdG8gbGV0IHRoZSBzYW5pdGl6ZXIgdGhpbmsgdGhlIGZvbnQgdXNlCiAgICAgICAgICAvLyBTdGFuZGFyZEVuY29kaW5nLCB0aGF0J3MgYSBsaWUgYnV0IHRoYXQncyBvay4KICAgICAgICAgIGJ5dGVzW2RhdGFTdGFydF0gJj0gMHg3ZjsKICAgICAgICAgIHJlYWRTdXBwbGVtZW50KCk7CiAgICAgICAgICBoYXNTdXBwbGVtZW50ID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgcmF3ID0gYnl0ZXMuc3ViYXJyYXkoZGF0YVN0YXJ0LCBkYXRhRW5kKTsKICAgICAgfQogICAgICBmb3JtYXQgPSBmb3JtYXQgJiAweDdmOwogICAgICByZXR1cm4gbmV3IENGRkVuY29kaW5nKHByZWRlZmluZWQsIGZvcm1hdCwgZW5jb2RpbmcsIHJhdyk7CiAgICB9LAogICAgcGFyc2VGRFNlbGVjdDogZnVuY3Rpb24gQ0ZGUGFyc2VyX3BhcnNlRkRTZWxlY3QocG9zLCBsZW5ndGgpIHsKICAgICAgdmFyIHN0YXJ0ID0gcG9zOwogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmJ5dGVzOwogICAgICB2YXIgZm9ybWF0ID0gYnl0ZXNbcG9zKytdOwogICAgICB2YXIgZmRTZWxlY3QgPSBbXTsKICAgICAgdmFyIGk7CgogICAgICBzd2l0Y2ggKGZvcm1hdCkgewogICAgICAgIGNhc2UgMDoKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICAgICB2YXIgaWQgPSBieXRlc1twb3MrK107CiAgICAgICAgICAgIGZkU2VsZWN0LnB1c2goaWQpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAzOgogICAgICAgICAgdmFyIHJhbmdlc0NvdW50ID0gKGJ5dGVzW3BvcysrXSA8PCA4KSB8IGJ5dGVzW3BvcysrXTsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCByYW5nZXNDb3VudDsgKytpKSB7CiAgICAgICAgICAgIHZhciBmaXJzdCA9IChieXRlc1twb3MrK10gPDwgOCkgfCBieXRlc1twb3MrK107CiAgICAgICAgICAgIHZhciBmZEluZGV4ID0gYnl0ZXNbcG9zKytdOwogICAgICAgICAgICB2YXIgbmV4dCA9IChieXRlc1twb3NdIDw8IDgpIHwgYnl0ZXNbcG9zICsgMV07CiAgICAgICAgICAgIGZvciAodmFyIGogPSBmaXJzdDsgaiA8IG5leHQ7ICsraikgewogICAgICAgICAgICAgIGZkU2VsZWN0LnB1c2goZmRJbmRleCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIC8vIEFkdmFuY2UgcGFzdCB0aGUgc2VudGluZWwobmV4dCkuCiAgICAgICAgICBwb3MgKz0gMjsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBlcnJvcignVW5rbm93biBmZHNlbGVjdCBmb3JtYXQgJyArIGZvcm1hdCk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgICB2YXIgZW5kID0gcG9zOwogICAgICByZXR1cm4gbmV3IENGRkZEU2VsZWN0KGZkU2VsZWN0LCBieXRlcy5zdWJhcnJheShzdGFydCwgZW5kKSk7CiAgICB9CiAgfTsKICByZXR1cm4gQ0ZGUGFyc2VyOwp9KSgpOwoKLy8gQ29tcGFjdCBGb250IEZvcm1hdAp2YXIgQ0ZGID0gKGZ1bmN0aW9uIENGRkNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGKCkgewogICAgdGhpcy5oZWFkZXIgPSBudWxsOwogICAgdGhpcy5uYW1lcyA9IFtdOwogICAgdGhpcy50b3BEaWN0ID0gbnVsbDsKICAgIHRoaXMuc3RyaW5ncyA9IG5ldyBDRkZTdHJpbmdzKCk7CiAgICB0aGlzLmdsb2JhbFN1YnJJbmRleCA9IG51bGw7CgogICAgLy8gVGhlIGZvbGxvd2luZyBjb3VsZCByZWFsbHkgYmUgcGVyIGZvbnQsIGJ1dCBzaW5jZSB3ZSBvbmx5IGhhdmUgb25lIGZvbnQKICAgIC8vIHN0b3JlIHRoZW0gaGVyZS4KICAgIHRoaXMuZW5jb2RpbmcgPSBudWxsOwogICAgdGhpcy5jaGFyc2V0ID0gbnVsbDsKICAgIHRoaXMuY2hhclN0cmluZ3MgPSBudWxsOwogICAgdGhpcy5mZEFycmF5ID0gW107CiAgICB0aGlzLmZkU2VsZWN0ID0gbnVsbDsKCiAgICB0aGlzLmlzQ0lERm9udCA9IGZhbHNlOwogIH0KICByZXR1cm4gQ0ZGOwp9KSgpOwoKdmFyIENGRkhlYWRlciA9IChmdW5jdGlvbiBDRkZIZWFkZXJDbG9zdXJlKCkgewogIGZ1bmN0aW9uIENGRkhlYWRlcihtYWpvciwgbWlub3IsIGhkclNpemUsIG9mZlNpemUpIHsKICAgIHRoaXMubWFqb3IgPSBtYWpvcjsKICAgIHRoaXMubWlub3IgPSBtaW5vcjsKICAgIHRoaXMuaGRyU2l6ZSA9IGhkclNpemU7CiAgICB0aGlzLm9mZlNpemUgPSBvZmZTaXplOwogIH0KICByZXR1cm4gQ0ZGSGVhZGVyOwp9KSgpOwoKdmFyIENGRlN0cmluZ3MgPSAoZnVuY3Rpb24gQ0ZGU3RyaW5nc0Nsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGU3RyaW5ncygpIHsKICAgIHRoaXMuc3RyaW5ncyA9IFtdOwogIH0KICBDRkZTdHJpbmdzLnByb3RvdHlwZSA9IHsKICAgIGdldDogZnVuY3Rpb24gQ0ZGU3RyaW5nc19nZXQoaW5kZXgpIHsKICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPD0gMzkwKSB7CiAgICAgICAgcmV0dXJuIENGRlN0YW5kYXJkU3RyaW5nc1tpbmRleF07CiAgICAgIH0KICAgICAgaWYgKGluZGV4IC0gMzkxIDw9IHRoaXMuc3RyaW5ncy5sZW5ndGgpIHsKICAgICAgICByZXR1cm4gdGhpcy5zdHJpbmdzW2luZGV4IC0gMzkxXTsKICAgICAgfQogICAgICByZXR1cm4gQ0ZGU3RhbmRhcmRTdHJpbmdzWzBdOwogICAgfSwKICAgIGFkZDogZnVuY3Rpb24gQ0ZGU3RyaW5nc19hZGQodmFsdWUpIHsKICAgICAgdGhpcy5zdHJpbmdzLnB1c2godmFsdWUpOwogICAgfSwKICAgIGdldCBjb3VudCgpIHsKICAgICAgcmV0dXJuIHRoaXMuc3RyaW5ncy5sZW5ndGg7CiAgICB9CiAgfTsKICByZXR1cm4gQ0ZGU3RyaW5nczsKfSkoKTsKCnZhciBDRkZJbmRleCA9IChmdW5jdGlvbiBDRkZJbmRleENsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGSW5kZXgoKSB7CiAgICB0aGlzLm9iamVjdHMgPSBbXTsKICAgIHRoaXMubGVuZ3RoID0gMDsKICB9CiAgQ0ZGSW5kZXgucHJvdG90eXBlID0gewogICAgYWRkOiBmdW5jdGlvbiBDRkZJbmRleF9hZGQoZGF0YSkgewogICAgICB0aGlzLmxlbmd0aCArPSBkYXRhLmxlbmd0aDsKICAgICAgdGhpcy5vYmplY3RzLnB1c2goZGF0YSk7CiAgICB9LAogICAgc2V0OiBmdW5jdGlvbiBDRkZJbmRleF9zZXQoaW5kZXgsIGRhdGEpIHsKICAgICAgdGhpcy5sZW5ndGggKz0gZGF0YS5sZW5ndGggLSB0aGlzLm9iamVjdHNbaW5kZXhdLmxlbmd0aDsKICAgICAgdGhpcy5vYmplY3RzW2luZGV4XSA9IGRhdGE7CiAgICB9LAogICAgZ2V0OiBmdW5jdGlvbiBDRkZJbmRleF9nZXQoaW5kZXgpIHsKICAgICAgcmV0dXJuIHRoaXMub2JqZWN0c1tpbmRleF07CiAgICB9LAogICAgZ2V0IGNvdW50KCkgewogICAgICByZXR1cm4gdGhpcy5vYmplY3RzLmxlbmd0aDsKICAgIH0KICB9OwogIHJldHVybiBDRkZJbmRleDsKfSkoKTsKCnZhciBDRkZEaWN0ID0gKGZ1bmN0aW9uIENGRkRpY3RDbG9zdXJlKCkgewogIGZ1bmN0aW9uIENGRkRpY3QodGFibGVzLCBzdHJpbmdzKSB7CiAgICB0aGlzLmtleVRvTmFtZU1hcCA9IHRhYmxlcy5rZXlUb05hbWVNYXA7CiAgICB0aGlzLm5hbWVUb0tleU1hcCA9IHRhYmxlcy5uYW1lVG9LZXlNYXA7CiAgICB0aGlzLmRlZmF1bHRzID0gdGFibGVzLmRlZmF1bHRzOwogICAgdGhpcy50eXBlcyA9IHRhYmxlcy50eXBlczsKICAgIHRoaXMub3Bjb2RlcyA9IHRhYmxlcy5vcGNvZGVzOwogICAgdGhpcy5vcmRlciA9IHRhYmxlcy5vcmRlcjsKICAgIHRoaXMuc3RyaW5ncyA9IHN0cmluZ3M7CiAgICB0aGlzLnZhbHVlcyA9IHt9OwogIH0KICBDRkZEaWN0LnByb3RvdHlwZSA9IHsKICAgIC8vIHZhbHVlIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkKICAgIHNldEJ5S2V5OiBmdW5jdGlvbiBDRkZEaWN0X3NldEJ5S2V5KGtleSwgdmFsdWUpIHsKICAgICAgaWYgKCEoa2V5IGluIHRoaXMua2V5VG9OYW1lTWFwKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICAvLyBpZ25vcmUgZW1wdHkgdmFsdWVzCiAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICB2YXIgdHlwZSA9IHRoaXMudHlwZXNba2V5XTsKICAgICAgLy8gcmVtb3ZlIHRoZSBhcnJheSB3cmFwcGluZyB0aGVzZSB0eXBlcyBvZiB2YWx1ZXMKICAgICAgaWYgKHR5cGUgPT09ICdudW0nIHx8IHR5cGUgPT09ICdzaWQnIHx8IHR5cGUgPT09ICdvZmZzZXQnKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZVswXTsKICAgICAgfQogICAgICB0aGlzLnZhbHVlc1trZXldID0gdmFsdWU7CiAgICAgIHJldHVybiB0cnVlOwogICAgfSwKICAgIHNldEJ5TmFtZTogZnVuY3Rpb24gQ0ZGRGljdF9zZXRCeU5hbWUobmFtZSwgdmFsdWUpIHsKICAgICAgaWYgKCEobmFtZSBpbiB0aGlzLm5hbWVUb0tleU1hcCkpIHsKICAgICAgICBlcnJvcignSW52YWxpZCBkaWN0aW9uYXJ5IG5hbWUgIicgKyBuYW1lICsgJyInKTsKICAgICAgfQogICAgICB0aGlzLnZhbHVlc1t0aGlzLm5hbWVUb0tleU1hcFtuYW1lXV0gPSB2YWx1ZTsKICAgIH0sCiAgICBoYXNOYW1lOiBmdW5jdGlvbiBDRkZEaWN0X2hhc05hbWUobmFtZSkgewogICAgICByZXR1cm4gdGhpcy5uYW1lVG9LZXlNYXBbbmFtZV0gaW4gdGhpcy52YWx1ZXM7CiAgICB9LAogICAgZ2V0QnlOYW1lOiBmdW5jdGlvbiBDRkZEaWN0X2dldEJ5TmFtZShuYW1lKSB7CiAgICAgIGlmICghKG5hbWUgaW4gdGhpcy5uYW1lVG9LZXlNYXApKSB7CiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZGljdGlvbmFyeSBuYW1lICInICsgbmFtZSArICciJyk7CiAgICAgIH0KICAgICAgdmFyIGtleSA9IHRoaXMubmFtZVRvS2V5TWFwW25hbWVdOwogICAgICBpZiAoIShrZXkgaW4gdGhpcy52YWx1ZXMpKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdHNba2V5XTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy52YWx1ZXNba2V5XTsKICAgIH0sCiAgICByZW1vdmVCeU5hbWU6IGZ1bmN0aW9uIENGRkRpY3RfcmVtb3ZlQnlOYW1lKG5hbWUpIHsKICAgICAgZGVsZXRlIHRoaXMudmFsdWVzW3RoaXMubmFtZVRvS2V5TWFwW25hbWVdXTsKICAgIH0KICB9OwogIENGRkRpY3QuY3JlYXRlVGFibGVzID0gZnVuY3Rpb24gQ0ZGRGljdF9jcmVhdGVUYWJsZXMobGF5b3V0KSB7CiAgICB2YXIgdGFibGVzID0gewogICAgICBrZXlUb05hbWVNYXA6IHt9LAogICAgICBuYW1lVG9LZXlNYXA6IHt9LAogICAgICBkZWZhdWx0czoge30sCiAgICAgIHR5cGVzOiB7fSwKICAgICAgb3Bjb2Rlczoge30sCiAgICAgIG9yZGVyOiBbXQogICAgfTsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGxheW91dC5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgIHZhciBlbnRyeSA9IGxheW91dFtpXTsKICAgICAgdmFyIGtleSA9IGlzQXJyYXkoZW50cnlbMF0pID8gKGVudHJ5WzBdWzBdIDw8IDgpICsgZW50cnlbMF1bMV0gOiBlbnRyeVswXTsKICAgICAgdGFibGVzLmtleVRvTmFtZU1hcFtrZXldID0gZW50cnlbMV07CiAgICAgIHRhYmxlcy5uYW1lVG9LZXlNYXBbZW50cnlbMV1dID0ga2V5OwogICAgICB0YWJsZXMudHlwZXNba2V5XSA9IGVudHJ5WzJdOwogICAgICB0YWJsZXMuZGVmYXVsdHNba2V5XSA9IGVudHJ5WzNdOwogICAgICB0YWJsZXMub3Bjb2Rlc1trZXldID0gaXNBcnJheShlbnRyeVswXSkgPyBlbnRyeVswXSA6IFtlbnRyeVswXV07CiAgICAgIHRhYmxlcy5vcmRlci5wdXNoKGtleSk7CiAgICB9CiAgICByZXR1cm4gdGFibGVzOwogIH07CiAgcmV0dXJuIENGRkRpY3Q7Cn0pKCk7Cgp2YXIgQ0ZGVG9wRGljdCA9IChmdW5jdGlvbiBDRkZUb3BEaWN0Q2xvc3VyZSgpIHsKICB2YXIgbGF5b3V0ID0gWwogICAgW1sxMiwgMzBdLCAnUk9TJywgWydzaWQnLCAnc2lkJywgJ251bSddLCBudWxsXSwKICAgIFtbMTIsIDIwXSwgJ1N5bnRoZXRpY0Jhc2UnLCAnbnVtJywgbnVsbF0sCiAgICBbMCwgJ3ZlcnNpb24nLCAnc2lkJywgbnVsbF0sCiAgICBbMSwgJ05vdGljZScsICdzaWQnLCBudWxsXSwKICAgIFtbMTIsIDBdLCAnQ29weXJpZ2h0JywgJ3NpZCcsIG51bGxdLAogICAgWzIsICdGdWxsTmFtZScsICdzaWQnLCBudWxsXSwKICAgIFszLCAnRmFtaWx5TmFtZScsICdzaWQnLCBudWxsXSwKICAgIFs0LCAnV2VpZ2h0JywgJ3NpZCcsIG51bGxdLAogICAgW1sxMiwgMV0sICdpc0ZpeGVkUGl0Y2gnLCAnbnVtJywgMF0sCiAgICBbWzEyLCAyXSwgJ0l0YWxpY0FuZ2xlJywgJ251bScsIDBdLAogICAgW1sxMiwgM10sICdVbmRlcmxpbmVQb3NpdGlvbicsICdudW0nLCAtMTAwXSwKICAgIFtbMTIsIDRdLCAnVW5kZXJsaW5lVGhpY2tuZXNzJywgJ251bScsIDUwXSwKICAgIFtbMTIsIDVdLCAnUGFpbnRUeXBlJywgJ251bScsIDBdLAogICAgW1sxMiwgNl0sICdDaGFyc3RyaW5nVHlwZScsICdudW0nLCAyXSwKICAgIFtbMTIsIDddLCAnRm9udE1hdHJpeCcsIFsnbnVtJywgJ251bScsICdudW0nLCAnbnVtJywgJ251bScsICdudW0nXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFswLjAwMSwgMCwgMCwgMC4wMDEsIDAsIDBdXSwKICAgIFsxMywgJ1VuaXF1ZUlEJywgJ251bScsIG51bGxdLAogICAgWzUsICdGb250QkJveCcsIFsnbnVtJywgJ251bScsICdudW0nLCAnbnVtJ10sIFswLCAwLCAwLCAwXV0sCiAgICBbWzEyLCA4XSwgJ1N0cm9rZVdpZHRoJywgJ251bScsIDBdLAogICAgWzE0LCAnWFVJRCcsICdhcnJheScsIG51bGxdLAogICAgWzE1LCAnY2hhcnNldCcsICdvZmZzZXQnLCAwXSwKICAgIFsxNiwgJ0VuY29kaW5nJywgJ29mZnNldCcsIDBdLAogICAgWzE3LCAnQ2hhclN0cmluZ3MnLCAnb2Zmc2V0JywgMF0sCiAgICBbMTgsICdQcml2YXRlJywgWydvZmZzZXQnLCAnb2Zmc2V0J10sIG51bGxdLAogICAgW1sxMiwgMjFdLCAnUG9zdFNjcmlwdCcsICdzaWQnLCBudWxsXSwKICAgIFtbMTIsIDIyXSwgJ0Jhc2VGb250TmFtZScsICdzaWQnLCBudWxsXSwKICAgIFtbMTIsIDIzXSwgJ0Jhc2VGb250QmxlbmQnLCAnZGVsdGEnLCBudWxsXSwKICAgIFtbMTIsIDMxXSwgJ0NJREZvbnRWZXJzaW9uJywgJ251bScsIDBdLAogICAgW1sxMiwgMzJdLCAnQ0lERm9udFJldmlzaW9uJywgJ251bScsIDBdLAogICAgW1sxMiwgMzNdLCAnQ0lERm9udFR5cGUnLCAnbnVtJywgMF0sCiAgICBbWzEyLCAzNF0sICdDSURDb3VudCcsICdudW0nLCA4NzIwXSwKICAgIFtbMTIsIDM1XSwgJ1VJREJhc2UnLCAnbnVtJywgbnVsbF0sCiAgICAvLyBYWFg6IENJRCBGb250cyBvbiBEaXJlY3RXcml0ZSA2LjEgb25seSBzZWVtIHRvIHdvcmsgaWYgRkRTZWxlY3QgY29tZXMKICAgIC8vIGJlZm9yZSBGREFycmF5LgogICAgW1sxMiwgMzddLCAnRkRTZWxlY3QnLCAnb2Zmc2V0JywgbnVsbF0sCiAgICBbWzEyLCAzNl0sICdGREFycmF5JywgJ29mZnNldCcsIG51bGxdLAogICAgW1sxMiwgMzhdLCAnRm9udE5hbWUnLCAnc2lkJywgbnVsbF0KICBdOwogIHZhciB0YWJsZXMgPSBudWxsOwogIGZ1bmN0aW9uIENGRlRvcERpY3Qoc3RyaW5ncykgewogICAgaWYgKHRhYmxlcyA9PT0gbnVsbCkgewogICAgICB0YWJsZXMgPSBDRkZEaWN0LmNyZWF0ZVRhYmxlcyhsYXlvdXQpOwogICAgfQogICAgQ0ZGRGljdC5jYWxsKHRoaXMsIHRhYmxlcywgc3RyaW5ncyk7CiAgICB0aGlzLnByaXZhdGVEaWN0ID0gbnVsbDsKICB9CiAgQ0ZGVG9wRGljdC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKENGRkRpY3QucHJvdG90eXBlKTsKICByZXR1cm4gQ0ZGVG9wRGljdDsKfSkoKTsKCnZhciBDRkZQcml2YXRlRGljdCA9IChmdW5jdGlvbiBDRkZQcml2YXRlRGljdENsb3N1cmUoKSB7CiAgdmFyIGxheW91dCA9IFsKICAgIFs2LCAnQmx1ZVZhbHVlcycsICdkZWx0YScsIG51bGxdLAogICAgWzcsICdPdGhlckJsdWVzJywgJ2RlbHRhJywgbnVsbF0sCiAgICBbOCwgJ0ZhbWlseUJsdWVzJywgJ2RlbHRhJywgbnVsbF0sCiAgICBbOSwgJ0ZhbWlseU90aGVyQmx1ZXMnLCAnZGVsdGEnLCBudWxsXSwKICAgIFtbMTIsIDldLCAnQmx1ZVNjYWxlJywgJ251bScsIDAuMDM5NjI1XSwKICAgIFtbMTIsIDEwXSwgJ0JsdWVTaGlmdCcsICdudW0nLCA3XSwKICAgIFtbMTIsIDExXSwgJ0JsdWVGdXp6JywgJ251bScsIDFdLAogICAgWzEwLCAnU3RkSFcnLCAnbnVtJywgbnVsbF0sCiAgICBbMTEsICdTdGRWVycsICdudW0nLCBudWxsXSwKICAgIFtbMTIsIDEyXSwgJ1N0ZW1TbmFwSCcsICdkZWx0YScsIG51bGxdLAogICAgW1sxMiwgMTNdLCAnU3RlbVNuYXBWJywgJ2RlbHRhJywgbnVsbF0sCiAgICBbWzEyLCAxNF0sICdGb3JjZUJvbGQnLCAnbnVtJywgMF0sCiAgICBbWzEyLCAxN10sICdMYW5ndWFnZUdyb3VwJywgJ251bScsIDBdLAogICAgW1sxMiwgMThdLCAnRXhwYW5zaW9uRmFjdG9yJywgJ251bScsIDAuMDZdLAogICAgW1sxMiwgMTldLCAnaW5pdGlhbFJhbmRvbVNlZWQnLCAnbnVtJywgMF0sCiAgICBbMjAsICdkZWZhdWx0V2lkdGhYJywgJ251bScsIDBdLAogICAgWzIxLCAnbm9taW5hbFdpZHRoWCcsICdudW0nLCAwXSwKICAgIFsxOSwgJ1N1YnJzJywgJ29mZnNldCcsIG51bGxdCiAgXTsKICB2YXIgdGFibGVzID0gbnVsbDsKICBmdW5jdGlvbiBDRkZQcml2YXRlRGljdChzdHJpbmdzKSB7CiAgICBpZiAodGFibGVzID09PSBudWxsKSB7CiAgICAgIHRhYmxlcyA9IENGRkRpY3QuY3JlYXRlVGFibGVzKGxheW91dCk7CiAgICB9CiAgICBDRkZEaWN0LmNhbGwodGhpcywgdGFibGVzLCBzdHJpbmdzKTsKICAgIHRoaXMuc3VicnNJbmRleCA9IG51bGw7CiAgfQogIENGRlByaXZhdGVEaWN0LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQ0ZGRGljdC5wcm90b3R5cGUpOwogIHJldHVybiBDRkZQcml2YXRlRGljdDsKfSkoKTsKCnZhciBDRkZDaGFyc2V0UHJlZGVmaW5lZFR5cGVzID0gewogIElTT19BRE9CRTogMCwKICBFWFBFUlQ6IDEsCiAgRVhQRVJUX1NVQlNFVDogMgp9Owp2YXIgQ0ZGQ2hhcnNldCA9IChmdW5jdGlvbiBDRkZDaGFyc2V0Q2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDRkZDaGFyc2V0KHByZWRlZmluZWQsIGZvcm1hdCwgY2hhcnNldCwgcmF3KSB7CiAgICB0aGlzLnByZWRlZmluZWQgPSBwcmVkZWZpbmVkOwogICAgdGhpcy5mb3JtYXQgPSBmb3JtYXQ7CiAgICB0aGlzLmNoYXJzZXQgPSBjaGFyc2V0OwogICAgdGhpcy5yYXcgPSByYXc7CiAgfQogIHJldHVybiBDRkZDaGFyc2V0Owp9KSgpOwoKdmFyIENGRkVuY29kaW5nID0gKGZ1bmN0aW9uIENGRkVuY29kaW5nQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBDRkZFbmNvZGluZyhwcmVkZWZpbmVkLCBmb3JtYXQsIGVuY29kaW5nLCByYXcpIHsKICAgIHRoaXMucHJlZGVmaW5lZCA9IHByZWRlZmluZWQ7CiAgICB0aGlzLmZvcm1hdCA9IGZvcm1hdDsKICAgIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZzsKICAgIHRoaXMucmF3ID0gcmF3OwogIH0KICByZXR1cm4gQ0ZGRW5jb2Rpbmc7Cn0pKCk7Cgp2YXIgQ0ZGRkRTZWxlY3QgPSAoZnVuY3Rpb24gQ0ZGRkRTZWxlY3RDbG9zdXJlKCkgewogIGZ1bmN0aW9uIENGRkZEU2VsZWN0KGZkU2VsZWN0LCByYXcpIHsKICAgIHRoaXMuZmRTZWxlY3QgPSBmZFNlbGVjdDsKICAgIHRoaXMucmF3ID0gcmF3OwogIH0KICByZXR1cm4gQ0ZGRkRTZWxlY3Q7Cn0pKCk7CgovLyBIZWxwZXIgY2xhc3MgdG8ga2VlcCB0cmFjayBvZiB3aGVyZSBhbiBvZmZzZXQgaXMgd2l0aGluIHRoZSBkYXRhIGFuZCBoZWxwcwovLyBmaWxsaW5nIGluIHRoYXQgb2Zmc2V0IG9uY2UgaXQncyBrbm93bi4KdmFyIENGRk9mZnNldFRyYWNrZXIgPSAoZnVuY3Rpb24gQ0ZGT2Zmc2V0VHJhY2tlckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGT2Zmc2V0VHJhY2tlcigpIHsKICAgIHRoaXMub2Zmc2V0cyA9IHt9OwogIH0KICBDRkZPZmZzZXRUcmFja2VyLnByb3RvdHlwZSA9IHsKICAgIGlzVHJhY2tpbmc6IGZ1bmN0aW9uIENGRk9mZnNldFRyYWNrZXJfaXNUcmFja2luZyhrZXkpIHsKICAgICAgcmV0dXJuIGtleSBpbiB0aGlzLm9mZnNldHM7CiAgICB9LAogICAgdHJhY2s6IGZ1bmN0aW9uIENGRk9mZnNldFRyYWNrZXJfdHJhY2soa2V5LCBsb2NhdGlvbikgewogICAgICBpZiAoa2V5IGluIHRoaXMub2Zmc2V0cykgewogICAgICAgIGVycm9yKCdBbHJlYWR5IHRyYWNraW5nIGxvY2F0aW9uIG9mICcgKyBrZXkpOwogICAgICB9CiAgICAgIHRoaXMub2Zmc2V0c1trZXldID0gbG9jYXRpb247CiAgICB9LAogICAgb2Zmc2V0OiBmdW5jdGlvbiBDRkZPZmZzZXRUcmFja2VyX29mZnNldCh2YWx1ZSkgewogICAgICBmb3IgKHZhciBrZXkgaW4gdGhpcy5vZmZzZXRzKSB7CiAgICAgICAgdGhpcy5vZmZzZXRzW2tleV0gKz0gdmFsdWU7CiAgICAgIH0KICAgIH0sCiAgICBzZXRFbnRyeUxvY2F0aW9uOiBmdW5jdGlvbiBDRkZPZmZzZXRUcmFja2VyX3NldEVudHJ5TG9jYXRpb24oa2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQpIHsKICAgICAgaWYgKCEoa2V5IGluIHRoaXMub2Zmc2V0cykpIHsKICAgICAgICBlcnJvcignTm90IHRyYWNraW5nIGxvY2F0aW9uIG9mICcgKyBrZXkpOwogICAgICB9CiAgICAgIHZhciBkYXRhID0gb3V0cHV0LmRhdGE7CiAgICAgIHZhciBkYXRhT2Zmc2V0ID0gdGhpcy5vZmZzZXRzW2tleV07CiAgICAgIHZhciBzaXplID0gNTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gdmFsdWVzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgb2Zmc2V0MCA9IGkgKiBzaXplICsgZGF0YU9mZnNldDsKICAgICAgICB2YXIgb2Zmc2V0MSA9IG9mZnNldDAgKyAxOwogICAgICAgIHZhciBvZmZzZXQyID0gb2Zmc2V0MCArIDI7CiAgICAgICAgdmFyIG9mZnNldDMgPSBvZmZzZXQwICsgMzsKICAgICAgICB2YXIgb2Zmc2V0NCA9IG9mZnNldDAgKyA0OwogICAgICAgIC8vIEl0J3MgZWFzeSB0byBzY3JldyB1cCBvZmZzZXRzIHNvIHBlcmZvcm0gdGhpcyBzYW5pdHkgY2hlY2suCiAgICAgICAgaWYgKGRhdGFbb2Zmc2V0MF0gIT09IDB4MWQgfHwgZGF0YVtvZmZzZXQxXSAhPT0gMCB8fAogICAgICAgICAgICBkYXRhW29mZnNldDJdICE9PSAwIHx8IGRhdGFbb2Zmc2V0M10gIT09IDAgfHwgZGF0YVtvZmZzZXQ0XSAhPT0gMCkgewogICAgICAgICAgZXJyb3IoJ3dyaXRpbmcgdG8gYW4gb2Zmc2V0IHRoYXQgaXMgbm90IGVtcHR5Jyk7CiAgICAgICAgfQogICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tpXTsKICAgICAgICBkYXRhW29mZnNldDBdID0gMHgxZDsKICAgICAgICBkYXRhW29mZnNldDFdID0gKHZhbHVlID4+IDI0KSAmIDB4RkY7CiAgICAgICAgZGF0YVtvZmZzZXQyXSA9ICh2YWx1ZSA+PiAxNikgJiAweEZGOwogICAgICAgIGRhdGFbb2Zmc2V0M10gPSAodmFsdWUgPj4gOCkgJiAweEZGOwogICAgICAgIGRhdGFbb2Zmc2V0NF0gPSB2YWx1ZSAmIDB4RkY7CiAgICAgIH0KICAgIH0KICB9OwogIHJldHVybiBDRkZPZmZzZXRUcmFja2VyOwp9KSgpOwoKLy8gVGFrZXMgYSBDRkYgYW5kIGNvbnZlcnRzIGl0IHRvIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24uCnZhciBDRkZDb21waWxlciA9IChmdW5jdGlvbiBDRkZDb21waWxlckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQ0ZGQ29tcGlsZXIoY2ZmKSB7CiAgICB0aGlzLmNmZiA9IGNmZjsKICB9CiAgQ0ZGQ29tcGlsZXIucHJvdG90eXBlID0gewogICAgY29tcGlsZTogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZSgpIHsKICAgICAgdmFyIGNmZiA9IHRoaXMuY2ZmOwogICAgICB2YXIgb3V0cHV0ID0gewogICAgICAgIGRhdGE6IFtdLAogICAgICAgIGxlbmd0aDogMCwKICAgICAgICBhZGQ6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2FkZChkYXRhKSB7CiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuY29uY2F0KGRhdGEpOwogICAgICAgICAgdGhpcy5sZW5ndGggPSB0aGlzLmRhdGEubGVuZ3RoOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIC8vIENvbXBpbGUgdGhlIGZpdmUgZW50cmllcyB0aGF0IG11c3QgYmUgaW4gb3JkZXIuCiAgICAgIHZhciBoZWFkZXIgPSB0aGlzLmNvbXBpbGVIZWFkZXIoY2ZmLmhlYWRlcik7CiAgICAgIG91dHB1dC5hZGQoaGVhZGVyKTsKCiAgICAgIHZhciBuYW1lSW5kZXggPSB0aGlzLmNvbXBpbGVOYW1lSW5kZXgoY2ZmLm5hbWVzKTsKICAgICAgb3V0cHV0LmFkZChuYW1lSW5kZXgpOwoKICAgICAgaWYgKGNmZi5pc0NJREZvbnQpIHsKICAgICAgICAvLyBUaGUgc3BlYyBpcyB1bmNsZWFyIG9uIGhvdyBmb250IG1hdHJpY2VzIHNob3VsZCByZWxhdGUgdG8gZWFjaCBvdGhlcgogICAgICAgIC8vIHdoZW4gdGhlcmUgaXMgb25lIGluIHRoZSBtYWluIHRvcCBkaWN0IGFuZCB0aGUgc3ViIHRvcCBkaWN0cy4KICAgICAgICAvLyBXaW5kb3dzIGhhbmRsZXMgdGhpcyBkaWZmZXJlbnRseSB0aGFuIGxpbnV4IGFuZCBvc3ggc28gd2UgaGF2ZSB0bwogICAgICAgIC8vIG5vcm1hbGl6ZSB0byB3b3JrIG9uIGFsbC4KICAgICAgICAvLyBSdWxlcyBiYXNlZCBvZmYgb2Ygc29tZSBtYWlsaW5nIGxpc3QgZGlzY3Vzc2lvbnM6CiAgICAgICAgLy8gLSBJZiBtYWluIGZvbnQgaGFzIGEgbWF0cml4IGFuZCBzdWJmb250IGRvZXNuJ3QsIHVzZSB0aGUgbWFpbiBtYXRyaXguCiAgICAgICAgLy8gLSBJZiBubyBtYWluIGZvbnQgbWF0cml4IGFuZCB0aGVyZSBpcyBhIHN1YmZvbnQgbWF0cml4LCB1c2UgdGhlCiAgICAgICAgLy8gICBzdWJmb250IG1hdHJpeC4KICAgICAgICAvLyAtIElmIGJvdGggaGF2ZSBtYXRyaWNlcywgY29uY2F0IHRvZ2V0aGVyLgogICAgICAgIC8vIC0gSWYgbmVpdGhlciBoYXZlIG1hdHJpY2VzLCB1c2UgZGVmYXVsdC4KICAgICAgICAvLyBUbyBtYWtlIHRoaXMgd29yayBvbiBhbGwgcGxhdGZvcm1zIHdlIG1vdmUgdGhlIHRvcCBtYXRyaXggaW50byBlYWNoCiAgICAgICAgLy8gc3ViIHRvcCBkaWN0IGFuZCBjb25jYXQgaWYgbmVjZXNzYXJ5LgogICAgICAgIGlmIChjZmYudG9wRGljdC5oYXNOYW1lKCdGb250TWF0cml4JykpIHsKICAgICAgICAgIHZhciBiYXNlID0gY2ZmLnRvcERpY3QuZ2V0QnlOYW1lKCdGb250TWF0cml4Jyk7CiAgICAgICAgICBjZmYudG9wRGljdC5yZW1vdmVCeU5hbWUoJ0ZvbnRNYXRyaXgnKTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGNmZi5mZEFycmF5Lmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgICAgdmFyIHN1YkRpY3QgPSBjZmYuZmRBcnJheVtpXTsKICAgICAgICAgICAgdmFyIG1hdHJpeCA9IGJhc2Uuc2xpY2UoMCk7CiAgICAgICAgICAgIGlmIChzdWJEaWN0Lmhhc05hbWUoJ0ZvbnRNYXRyaXgnKSkgewogICAgICAgICAgICAgIG1hdHJpeCA9IFV0aWwudHJhbnNmb3JtKG1hdHJpeCwgc3ViRGljdC5nZXRCeU5hbWUoJ0ZvbnRNYXRyaXgnKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3ViRGljdC5zZXRCeU5hbWUoJ0ZvbnRNYXRyaXgnLCBtYXRyaXgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIGNvbXBpbGVkID0gdGhpcy5jb21waWxlVG9wRGljdHMoW2NmZi50b3BEaWN0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0Lmxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2ZmLmlzQ0lERm9udCk7CiAgICAgIG91dHB1dC5hZGQoY29tcGlsZWQub3V0cHV0KTsKICAgICAgdmFyIHRvcERpY3RUcmFja2VyID0gY29tcGlsZWQudHJhY2tlcnNbMF07CgogICAgICB2YXIgc3RyaW5nSW5kZXggPSB0aGlzLmNvbXBpbGVTdHJpbmdJbmRleChjZmYuc3RyaW5ncy5zdHJpbmdzKTsKICAgICAgb3V0cHV0LmFkZChzdHJpbmdJbmRleCk7CgogICAgICB2YXIgZ2xvYmFsU3VickluZGV4ID0gdGhpcy5jb21waWxlSW5kZXgoY2ZmLmdsb2JhbFN1YnJJbmRleCk7CiAgICAgIG91dHB1dC5hZGQoZ2xvYmFsU3VickluZGV4KTsKCiAgICAgIC8vIE5vdyBzdGFydCBvbiB0aGUgb3RoZXIgZW50cmllcyB0aGF0IGhhdmUgbm8gc3BlY2ZpYyBvcmRlci4KICAgICAgaWYgKGNmZi5lbmNvZGluZyAmJiBjZmYudG9wRGljdC5oYXNOYW1lKCdFbmNvZGluZycpKSB7CiAgICAgICAgaWYgKGNmZi5lbmNvZGluZy5wcmVkZWZpbmVkKSB7CiAgICAgICAgICB0b3BEaWN0VHJhY2tlci5zZXRFbnRyeUxvY2F0aW9uKCdFbmNvZGluZycsIFtjZmYuZW5jb2RpbmcuZm9ybWF0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIGVuY29kaW5nID0gdGhpcy5jb21waWxlRW5jb2RpbmcoY2ZmLmVuY29kaW5nKTsKICAgICAgICAgIHRvcERpY3RUcmFja2VyLnNldEVudHJ5TG9jYXRpb24oJ0VuY29kaW5nJywgW291dHB1dC5sZW5ndGhdLCBvdXRwdXQpOwogICAgICAgICAgb3V0cHV0LmFkZChlbmNvZGluZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoY2ZmLmNoYXJzZXQgJiYgY2ZmLnRvcERpY3QuaGFzTmFtZSgnY2hhcnNldCcpKSB7CiAgICAgICAgaWYgKGNmZi5jaGFyc2V0LnByZWRlZmluZWQpIHsKICAgICAgICAgIHRvcERpY3RUcmFja2VyLnNldEVudHJ5TG9jYXRpb24oJ2NoYXJzZXQnLCBbY2ZmLmNoYXJzZXQuZm9ybWF0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIGNoYXJzZXQgPSB0aGlzLmNvbXBpbGVDaGFyc2V0KGNmZi5jaGFyc2V0KTsKICAgICAgICAgIHRvcERpY3RUcmFja2VyLnNldEVudHJ5TG9jYXRpb24oJ2NoYXJzZXQnLCBbb3V0cHV0Lmxlbmd0aF0sIG91dHB1dCk7CiAgICAgICAgICBvdXRwdXQuYWRkKGNoYXJzZXQpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIGNoYXJTdHJpbmdzID0gdGhpcy5jb21waWxlQ2hhclN0cmluZ3MoY2ZmLmNoYXJTdHJpbmdzKTsKICAgICAgdG9wRGljdFRyYWNrZXIuc2V0RW50cnlMb2NhdGlvbignQ2hhclN0cmluZ3MnLCBbb3V0cHV0Lmxlbmd0aF0sIG91dHB1dCk7CiAgICAgIG91dHB1dC5hZGQoY2hhclN0cmluZ3MpOwoKICAgICAgaWYgKGNmZi5pc0NJREZvbnQpIHsKICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gRkRTZWxlY3QgbXVzdCBiZSBpbiBmcm9udCBvZiBGREFycmF5IG9uIHdpbmRvd3MuIE9TWAogICAgICAgIC8vIGFuZCBsaW51eCBkb24ndCBzZWVtIHRvIGNhcmUuCiAgICAgICAgdG9wRGljdFRyYWNrZXIuc2V0RW50cnlMb2NhdGlvbignRkRTZWxlY3QnLCBbb3V0cHV0Lmxlbmd0aF0sIG91dHB1dCk7CiAgICAgICAgdmFyIGZkU2VsZWN0ID0gdGhpcy5jb21waWxlRkRTZWxlY3QoY2ZmLmZkU2VsZWN0LnJhdyk7CiAgICAgICAgb3V0cHV0LmFkZChmZFNlbGVjdCk7CiAgICAgICAgLy8gSXQgaXMgdW5jbGVhciBpZiB0aGUgc3ViIGZvbnQgZGljdGlvbmFyeSBjYW4gaGF2ZSBDSUQgcmVsYXRlZAogICAgICAgIC8vIGRpY3Rpb25hcnkga2V5cywgYnV0IHRoZSBzYW5pdGl6ZXIgZG9lc24ndCBsaWtlIHRoZW0gc28gcmVtb3ZlIHRoZW0uCiAgICAgICAgY29tcGlsZWQgPSB0aGlzLmNvbXBpbGVUb3BEaWN0cyhjZmYuZmRBcnJheSwgb3V0cHV0Lmxlbmd0aCwgdHJ1ZSk7CiAgICAgICAgdG9wRGljdFRyYWNrZXIuc2V0RW50cnlMb2NhdGlvbignRkRBcnJheScsIFtvdXRwdXQubGVuZ3RoXSwgb3V0cHV0KTsKICAgICAgICBvdXRwdXQuYWRkKGNvbXBpbGVkLm91dHB1dCk7CiAgICAgICAgdmFyIGZvbnREaWN0VHJhY2tlcnMgPSBjb21waWxlZC50cmFja2VyczsKCiAgICAgICAgdGhpcy5jb21waWxlUHJpdmF0ZURpY3RzKGNmZi5mZEFycmF5LCBmb250RGljdFRyYWNrZXJzLCBvdXRwdXQpOwogICAgICB9CgogICAgICB0aGlzLmNvbXBpbGVQcml2YXRlRGljdHMoW2NmZi50b3BEaWN0XSwgW3RvcERpY3RUcmFja2VyXSwgb3V0cHV0KTsKCiAgICAgIC8vIElmIHRoZSBmb250IGRhdGEgZW5kcyB3aXRoIElOREVYIHdob3NlIG9iamVjdCBkYXRhIGlzIHplcm8tbGVuZ3RoLAogICAgICAvLyB0aGUgc2FuaXRpemVyIHdpbGwgYmFpbCBvdXQuIEFkZCBhIGR1bW15IGJ5dGUgdG8gYXZvaWQgdGhhdC4KICAgICAgb3V0cHV0LmFkZChbMF0pOwoKICAgICAgcmV0dXJuIG91dHB1dC5kYXRhOwogICAgfSwKICAgIGVuY29kZU51bWJlcjogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfZW5jb2RlTnVtYmVyKHZhbHVlKSB7CiAgICAgIGlmIChwYXJzZUZsb2F0KHZhbHVlKSA9PT0gcGFyc2VJbnQodmFsdWUsIDEwKSAmJiAhaXNOYU4odmFsdWUpKSB7IC8vIGlzSW50CiAgICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlSW50ZWdlcih2YWx1ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlRmxvYXQodmFsdWUpOwogICAgICB9CiAgICB9LAogICAgZW5jb2RlRmxvYXQ6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2VuY29kZUZsb2F0KG51bSkgewogICAgICB2YXIgdmFsdWUgPSBudW0udG9TdHJpbmcoKTsKCiAgICAgIC8vIHJvdW5kaW5nIGluYWNjdXJhdGUgZG91YmxlcwogICAgICB2YXIgbSA9IC9cLihcZCo/KSg/Ojl7NSwyMH18MHs1LDIwfSlcZHswLDJ9KD86ZSguKyl8JCkvLmV4ZWModmFsdWUpOwogICAgICBpZiAobSkgewogICAgICAgIHZhciBlcHNpbG9uID0gcGFyc2VGbG9hdCgnMWUnICsgKChtWzJdID8gK21bMl0gOiAwKSArIG1bMV0ubGVuZ3RoKSk7CiAgICAgICAgdmFsdWUgPSAoTWF0aC5yb3VuZChudW0gKiBlcHNpbG9uKSAvIGVwc2lsb24pLnRvU3RyaW5nKCk7CiAgICAgIH0KCiAgICAgIHZhciBuaWJibGVzID0gJyc7CiAgICAgIHZhciBpLCBpaTsKICAgICAgZm9yIChpID0gMCwgaWkgPSB2YWx1ZS5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgdmFyIGEgPSB2YWx1ZVtpXTsKICAgICAgICBpZiAoYSA9PT0gJ2UnKSB7CiAgICAgICAgICBuaWJibGVzICs9IHZhbHVlWysraV0gPT09ICctJyA/ICdjJyA6ICdiJzsKICAgICAgICB9IGVsc2UgaWYgKGEgPT09ICcuJykgewogICAgICAgICAgbmliYmxlcyArPSAnYSc7CiAgICAgICAgfSBlbHNlIGlmIChhID09PSAnLScpIHsKICAgICAgICAgIG5pYmJsZXMgKz0gJ2UnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBuaWJibGVzICs9IGE7CiAgICAgICAgfQogICAgICB9CiAgICAgIG5pYmJsZXMgKz0gKG5pYmJsZXMubGVuZ3RoICYgMSkgPyAnZicgOiAnZmYnOwogICAgICB2YXIgb3V0ID0gWzMwXTsKICAgICAgZm9yIChpID0gMCwgaWkgPSBuaWJibGVzLmxlbmd0aDsgaSA8IGlpOyBpICs9IDIpIHsKICAgICAgICBvdXQucHVzaChwYXJzZUludChuaWJibGVzLnN1YnN0cihpLCAyKSwgMTYpKTsKICAgICAgfQogICAgICByZXR1cm4gb3V0OwogICAgfSwKICAgIGVuY29kZUludGVnZXI6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2VuY29kZUludGVnZXIodmFsdWUpIHsKICAgICAgdmFyIGNvZGU7CiAgICAgIGlmICh2YWx1ZSA+PSAtMTA3ICYmIHZhbHVlIDw9IDEwNykgewogICAgICAgIGNvZGUgPSBbdmFsdWUgKyAxMzldOwogICAgICB9IGVsc2UgaWYgKHZhbHVlID49IDEwOCAmJiB2YWx1ZSA8PSAxMTMxKSB7CiAgICAgICAgdmFsdWUgPSBbdmFsdWUgLSAxMDhdOwogICAgICAgIGNvZGUgPSBbKHZhbHVlID4+IDgpICsgMjQ3LCB2YWx1ZSAmIDB4RkZdOwogICAgICB9IGVsc2UgaWYgKHZhbHVlID49IC0xMTMxICYmIHZhbHVlIDw9IC0xMDgpIHsKICAgICAgICB2YWx1ZSA9IC12YWx1ZSAtIDEwODsKICAgICAgICBjb2RlID0gWyh2YWx1ZSA+PiA4KSArIDI1MSwgdmFsdWUgJiAweEZGXTsKICAgICAgfSBlbHNlIGlmICh2YWx1ZSA+PSAtMzI3NjggJiYgdmFsdWUgPD0gMzI3NjcpIHsKICAgICAgICBjb2RlID0gWzB4MWMsICh2YWx1ZSA+PiA4KSAmIDB4RkYsIHZhbHVlICYgMHhGRl07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29kZSA9IFsweDFkLAogICAgICAgICAgICAgICAgKHZhbHVlID4+IDI0KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAodmFsdWUgPj4gMTYpICYgMHhGRiwKICAgICAgICAgICAgICAgICh2YWx1ZSA+PiA4KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgdmFsdWUgJiAweEZGXTsKICAgICAgfQogICAgICByZXR1cm4gY29kZTsKICAgIH0sCiAgICBjb21waWxlSGVhZGVyOiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlSGVhZGVyKGhlYWRlcikgewogICAgICByZXR1cm4gWwogICAgICAgIGhlYWRlci5tYWpvciwKICAgICAgICBoZWFkZXIubWlub3IsCiAgICAgICAgaGVhZGVyLmhkclNpemUsCiAgICAgICAgaGVhZGVyLm9mZlNpemUKICAgICAgXTsKICAgIH0sCiAgICBjb21waWxlTmFtZUluZGV4OiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlTmFtZUluZGV4KG5hbWVzKSB7CiAgICAgIHZhciBuYW1lSW5kZXggPSBuZXcgQ0ZGSW5kZXgoKTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gbmFtZXMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgIG5hbWVJbmRleC5hZGQoc3RyaW5nVG9CeXRlcyhuYW1lc1tpXSkpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVJbmRleChuYW1lSW5kZXgpOwogICAgfSwKICAgIGNvbXBpbGVUb3BEaWN0czogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZVRvcERpY3RzKGRpY3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ2lkS2V5cykgewogICAgICB2YXIgZm9udERpY3RUcmFja2VycyA9IFtdOwogICAgICB2YXIgZmRBcnJheUluZGV4ID0gbmV3IENGRkluZGV4KCk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRpY3RzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgZm9udERpY3QgPSBkaWN0c1tpXTsKICAgICAgICBpZiAocmVtb3ZlQ2lkS2V5cykgewogICAgICAgICAgZm9udERpY3QucmVtb3ZlQnlOYW1lKCdDSURGb250VmVyc2lvbicpOwogICAgICAgICAgZm9udERpY3QucmVtb3ZlQnlOYW1lKCdDSURGb250UmV2aXNpb24nKTsKICAgICAgICAgIGZvbnREaWN0LnJlbW92ZUJ5TmFtZSgnQ0lERm9udFR5cGUnKTsKICAgICAgICAgIGZvbnREaWN0LnJlbW92ZUJ5TmFtZSgnQ0lEQ291bnQnKTsKICAgICAgICAgIGZvbnREaWN0LnJlbW92ZUJ5TmFtZSgnVUlEQmFzZScpOwogICAgICAgIH0KICAgICAgICB2YXIgZm9udERpY3RUcmFja2VyID0gbmV3IENGRk9mZnNldFRyYWNrZXIoKTsKICAgICAgICB2YXIgZm9udERpY3REYXRhID0gdGhpcy5jb21waWxlRGljdChmb250RGljdCwgZm9udERpY3RUcmFja2VyKTsKICAgICAgICBmb250RGljdFRyYWNrZXJzLnB1c2goZm9udERpY3RUcmFja2VyKTsKICAgICAgICBmZEFycmF5SW5kZXguYWRkKGZvbnREaWN0RGF0YSk7CiAgICAgICAgZm9udERpY3RUcmFja2VyLm9mZnNldChsZW5ndGgpOwogICAgICB9CiAgICAgIGZkQXJyYXlJbmRleCA9IHRoaXMuY29tcGlsZUluZGV4KGZkQXJyYXlJbmRleCwgZm9udERpY3RUcmFja2Vycyk7CiAgICAgIHJldHVybiB7CiAgICAgICAgdHJhY2tlcnM6IGZvbnREaWN0VHJhY2tlcnMsCiAgICAgICAgb3V0cHV0OiBmZEFycmF5SW5kZXgKICAgICAgfTsKICAgIH0sCiAgICBjb21waWxlUHJpdmF0ZURpY3RzOiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlUHJpdmF0ZURpY3RzKGRpY3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja2VycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KSB7CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGRpY3RzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICB2YXIgZm9udERpY3QgPSBkaWN0c1tpXTsKICAgICAgICBhc3NlcnQoZm9udERpY3QucHJpdmF0ZURpY3QgJiYgZm9udERpY3QuaGFzTmFtZSgnUHJpdmF0ZScpLAogICAgICAgICAgICAgICAnVGhlcmUgbXVzdCBiZSBhbiBwcml2YXRlIGRpY3Rpb25hcnkuJyk7CiAgICAgICAgdmFyIHByaXZhdGVEaWN0ID0gZm9udERpY3QucHJpdmF0ZURpY3Q7CiAgICAgICAgdmFyIHByaXZhdGVEaWN0VHJhY2tlciA9IG5ldyBDRkZPZmZzZXRUcmFja2VyKCk7CiAgICAgICAgdmFyIHByaXZhdGVEaWN0RGF0YSA9IHRoaXMuY29tcGlsZURpY3QocHJpdmF0ZURpY3QsIHByaXZhdGVEaWN0VHJhY2tlcik7CgogICAgICAgIHZhciBvdXRwdXRMZW5ndGggPSBvdXRwdXQubGVuZ3RoOwogICAgICAgIHByaXZhdGVEaWN0VHJhY2tlci5vZmZzZXQob3V0cHV0TGVuZ3RoKTsKICAgICAgICBpZiAoIXByaXZhdGVEaWN0RGF0YS5sZW5ndGgpIHsKICAgICAgICAgIC8vIFRoZSBwcml2YXRlIGRpY3Rpb25hcnkgd2FzIGVtcHR5LCBzZXQgdGhlIG91dHB1dCBsZW5ndGggdG8gemVybyB0bwogICAgICAgICAgLy8gZW5zdXJlIHRoZSBvZmZzZXQgbGVuZ3RoIGlzbid0IG91dCBvZiBib3VuZHMgaW4gdGhlIGV5ZXMgb2YgdGhlCiAgICAgICAgICAvLyBzYW5pdGl6ZXIuCiAgICAgICAgICBvdXRwdXRMZW5ndGggPSAwOwogICAgICAgIH0KCiAgICAgICAgdHJhY2tlcnNbaV0uc2V0RW50cnlMb2NhdGlvbignUHJpdmF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpdmF0ZURpY3REYXRhLmxlbmd0aCwgb3V0cHV0TGVuZ3RoXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCk7CiAgICAgICAgb3V0cHV0LmFkZChwcml2YXRlRGljdERhdGEpOwoKICAgICAgICBpZiAocHJpdmF0ZURpY3Quc3VicnNJbmRleCAmJiBwcml2YXRlRGljdC5oYXNOYW1lKCdTdWJycycpKSB7CiAgICAgICAgICB2YXIgc3VicnMgPSB0aGlzLmNvbXBpbGVJbmRleChwcml2YXRlRGljdC5zdWJyc0luZGV4KTsKICAgICAgICAgIHByaXZhdGVEaWN0VHJhY2tlci5zZXRFbnRyeUxvY2F0aW9uKCdTdWJycycsIFtwcml2YXRlRGljdERhdGEubGVuZ3RoXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCk7CiAgICAgICAgICBvdXRwdXQuYWRkKHN1YnJzKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBjb21waWxlRGljdDogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZURpY3QoZGljdCwgb2Zmc2V0VHJhY2tlcikgewogICAgICB2YXIgb3V0ID0gW107CiAgICAgIC8vIFRoZSBkaWN0aW9uYXJ5IGtleXMgbXVzdCBiZSBpbiBhIGNlcnRhaW4gb3JkZXIuCiAgICAgIHZhciBvcmRlciA9IGRpY3Qub3JkZXI7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3JkZXIubGVuZ3RoOyArK2kpIHsKICAgICAgICB2YXIga2V5ID0gb3JkZXJbaV07CiAgICAgICAgaWYgKCEoa2V5IGluIGRpY3QudmFsdWVzKSkgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHZhciB2YWx1ZXMgPSBkaWN0LnZhbHVlc1trZXldOwogICAgICAgIHZhciB0eXBlcyA9IGRpY3QudHlwZXNba2V5XTsKICAgICAgICBpZiAoIWlzQXJyYXkodHlwZXMpKSB7CiAgICAgICAgICB0eXBlcyA9IFt0eXBlc107CiAgICAgICAgfQogICAgICAgIGlmICghaXNBcnJheSh2YWx1ZXMpKSB7CiAgICAgICAgICB2YWx1ZXMgPSBbdmFsdWVzXTsKICAgICAgICB9CgogICAgICAgIC8vIFJlbW92ZSBhbnkgZW1wdHkgZGljdCB2YWx1ZXMuCiAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgZm9yICh2YXIgaiA9IDAsIGpqID0gdHlwZXMubGVuZ3RoOyBqIDwgamo7ICsraikgewogICAgICAgICAgdmFyIHR5cGUgPSB0eXBlc1tqXTsKICAgICAgICAgIHZhciB2YWx1ZSA9IHZhbHVlc1tqXTsKICAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgICBjYXNlICdudW0nOgogICAgICAgICAgICBjYXNlICdzaWQnOgogICAgICAgICAgICAgIG91dCA9IG91dC5jb25jYXQodGhpcy5lbmNvZGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnb2Zmc2V0JzoKICAgICAgICAgICAgICAvLyBGb3Igb2Zmc2V0cyB3ZSBqdXN0IGluc2VydCBhIDMyYml0IGludGVnZXIgc28gd2UgZG9uJ3QgaGF2ZSB0bwogICAgICAgICAgICAgIC8vIGRlYWwgd2l0aCBmaWd1cmluZyBvdXQgdGhlIGxlbmd0aCBvZiB0aGUgb2Zmc2V0IHdoZW4gaXQgZ2V0cwogICAgICAgICAgICAgIC8vIHJlcGxhY2VkIGxhdGVyIG9uIGJ5IHRoZSBjb21waWxlci4KICAgICAgICAgICAgICB2YXIgbmFtZSA9IGRpY3Qua2V5VG9OYW1lTWFwW2tleV07CiAgICAgICAgICAgICAgLy8gU29tZSBvZmZzZXRzIGhhdmUgdGhlIG9mZnNldCBhbmQgdGhlIGxlbmd0aCwgc28ganVzdCByZWNvcmQgdGhlCiAgICAgICAgICAgICAgLy8gcG9zaXRpb24gb2YgdGhlIGZpcnN0IG9uZS4KICAgICAgICAgICAgICBpZiAoIW9mZnNldFRyYWNrZXIuaXNUcmFja2luZyhuYW1lKSkgewogICAgICAgICAgICAgICAgb2Zmc2V0VHJhY2tlci50cmFjayhuYW1lLCBvdXQubGVuZ3RoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgb3V0ID0gb3V0LmNvbmNhdChbMHgxZCwgMCwgMCwgMCwgMF0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdhcnJheSc6CiAgICAgICAgICAgIGNhc2UgJ2RlbHRhJzoKICAgICAgICAgICAgICBvdXQgPSBvdXQuY29uY2F0KHRoaXMuZW5jb2RlTnVtYmVyKHZhbHVlKSk7CiAgICAgICAgICAgICAgZm9yICh2YXIgayA9IDEsIGtrID0gdmFsdWVzLmxlbmd0aDsgayA8IGtrOyArK2spIHsKICAgICAgICAgICAgICAgIG91dCA9IG91dC5jb25jYXQodGhpcy5lbmNvZGVOdW1iZXIodmFsdWVzW2tdKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIGVycm9yKCdVbmtub3duIGRhdGEgdHlwZSBvZiAnICsgdHlwZSk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIG91dCA9IG91dC5jb25jYXQoZGljdC5vcGNvZGVzW2tleV0pOwogICAgICB9CiAgICAgIHJldHVybiBvdXQ7CiAgICB9LAogICAgY29tcGlsZVN0cmluZ0luZGV4OiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlU3RyaW5nSW5kZXgoc3RyaW5ncykgewogICAgICB2YXIgc3RyaW5nSW5kZXggPSBuZXcgQ0ZGSW5kZXgoKTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gc3RyaW5ncy5sZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgc3RyaW5nSW5kZXguYWRkKHN0cmluZ1RvQnl0ZXMoc3RyaW5nc1tpXSkpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVJbmRleChzdHJpbmdJbmRleCk7CiAgICB9LAogICAgY29tcGlsZUdsb2JhbFN1YnJJbmRleDogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZUdsb2JhbFN1YnJJbmRleCgpIHsKICAgICAgdmFyIGdsb2JhbFN1YnJJbmRleCA9IHRoaXMuY2ZmLmdsb2JhbFN1YnJJbmRleDsKICAgICAgdGhpcy5vdXQud3JpdGVCeXRlQXJyYXkodGhpcy5jb21waWxlSW5kZXgoZ2xvYmFsU3VickluZGV4KSk7CiAgICB9LAogICAgY29tcGlsZUNoYXJTdHJpbmdzOiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlQ2hhclN0cmluZ3MoY2hhclN0cmluZ3MpIHsKICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZUluZGV4KGNoYXJTdHJpbmdzKTsKICAgIH0sCiAgICBjb21waWxlQ2hhcnNldDogZnVuY3Rpb24gQ0ZGQ29tcGlsZXJfY29tcGlsZUNoYXJzZXQoY2hhcnNldCkgewogICAgICByZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShjaGFyc2V0LnJhdyk7CiAgICB9LAogICAgY29tcGlsZUVuY29kaW5nOiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlRW5jb2RpbmcoZW5jb2RpbmcpIHsKICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZVR5cGVkQXJyYXkoZW5jb2RpbmcucmF3KTsKICAgIH0sCiAgICBjb21waWxlRkRTZWxlY3Q6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2NvbXBpbGVGRFNlbGVjdChmZFNlbGVjdCkgewogICAgICByZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShmZFNlbGVjdCk7CiAgICB9LAogICAgY29tcGlsZVR5cGVkQXJyYXk6IGZ1bmN0aW9uIENGRkNvbXBpbGVyX2NvbXBpbGVUeXBlZEFycmF5KGRhdGEpIHsKICAgICAgdmFyIG91dCA9IFtdOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBkYXRhLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICBvdXRbaV0gPSBkYXRhW2ldOwogICAgICB9CiAgICAgIHJldHVybiBvdXQ7CiAgICB9LAogICAgY29tcGlsZUluZGV4OiBmdW5jdGlvbiBDRkZDb21waWxlcl9jb21waWxlSW5kZXgoaW5kZXgsIHRyYWNrZXJzKSB7CiAgICAgIHRyYWNrZXJzID0gdHJhY2tlcnMgfHwgW107CiAgICAgIHZhciBvYmplY3RzID0gaW5kZXgub2JqZWN0czsKICAgICAgLy8gRmlyc3QgMiBieXRlcyBjb250YWlucyB0aGUgbnVtYmVyIG9mIG9iamVjdHMgY29udGFpbmVkIGludG8gdGhpcyBpbmRleAogICAgICB2YXIgY291bnQgPSBvYmplY3RzLmxlbmd0aDsKCiAgICAgIC8vIElmIHRoZXJlIGlzIG5vIG9iamVjdCwganVzdCBjcmVhdGUgYW4gaW5kZXguIFRoaXMgdGVjaG5pY2FsbHkKICAgICAgLy8gc2hvdWxkIGp1c3QgYmUgWzAsIDBdIGJ1dCBPVFMgaGFzIGFuIGlzc3VlIHdpdGggdGhhdC4KICAgICAgaWYgKGNvdW50ID09PSAwKSB7CiAgICAgICAgcmV0dXJuIFswLCAwLCAwXTsKICAgICAgfQoKICAgICAgdmFyIGRhdGEgPSBbKGNvdW50ID4+IDgpICYgMHhGRiwgY291bnQgJiAweGZmXTsKCiAgICAgIHZhciBsYXN0T2Zmc2V0ID0gMSwgaTsKICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICBsYXN0T2Zmc2V0ICs9IG9iamVjdHNbaV0ubGVuZ3RoOwogICAgICB9CgogICAgICB2YXIgb2Zmc2V0U2l6ZTsKICAgICAgaWYgKGxhc3RPZmZzZXQgPCAweDEwMCkgewogICAgICAgIG9mZnNldFNpemUgPSAxOwogICAgICB9IGVsc2UgaWYgKGxhc3RPZmZzZXQgPCAweDEwMDAwKSB7CiAgICAgICAgb2Zmc2V0U2l6ZSA9IDI7CiAgICAgIH0gZWxzZSBpZiAobGFzdE9mZnNldCA8IDB4MTAwMDAwMCkgewogICAgICAgIG9mZnNldFNpemUgPSAzOwogICAgICB9IGVsc2UgewogICAgICAgIG9mZnNldFNpemUgPSA0OwogICAgICB9CgogICAgICAvLyBOZXh0IGJ5dGUgY29udGFpbnMgdGhlIG9mZnNldCBzaXplIHVzZSB0byByZWZlcmVuY2Ugb2JqZWN0IGluIHRoZSBmaWxlCiAgICAgIGRhdGEucHVzaChvZmZzZXRTaXplKTsKCiAgICAgIC8vIEFkZCBhbm90aGVyIG9mZnNldCBhZnRlciB0aGlzIG9uZSBiZWNhdXNlIHdlIG5lZWQgYSBuZXcgb2Zmc2V0CiAgICAgIHZhciByZWxhdGl2ZU9mZnNldCA9IDE7CiAgICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudCArIDE7IGkrKykgewogICAgICAgIGlmIChvZmZzZXRTaXplID09PSAxKSB7CiAgICAgICAgICBkYXRhLnB1c2gocmVsYXRpdmVPZmZzZXQgJiAweEZGKTsKICAgICAgICB9IGVsc2UgaWYgKG9mZnNldFNpemUgPT09IDIpIHsKICAgICAgICAgIGRhdGEucHVzaCgocmVsYXRpdmVPZmZzZXQgPj4gOCkgJiAweEZGLAogICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZU9mZnNldCAmIDB4RkYpOwogICAgICAgIH0gZWxzZSBpZiAob2Zmc2V0U2l6ZSA9PT0gMykgewogICAgICAgICAgZGF0YS5wdXNoKChyZWxhdGl2ZU9mZnNldCA+PiAxNikgJiAweEZGLAogICAgICAgICAgICAgICAgICAgIChyZWxhdGl2ZU9mZnNldCA+PiA4KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlT2Zmc2V0ICYgMHhGRik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGRhdGEucHVzaCgocmVsYXRpdmVPZmZzZXQgPj4+IDI0KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgKHJlbGF0aXZlT2Zmc2V0ID4+IDE2KSAmIDB4RkYsCiAgICAgICAgICAgICAgICAgICAgKHJlbGF0aXZlT2Zmc2V0ID4+IDgpICYgMHhGRiwKICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVPZmZzZXQgJiAweEZGKTsKICAgICAgICB9CgogICAgICAgIGlmIChvYmplY3RzW2ldKSB7CiAgICAgICAgICByZWxhdGl2ZU9mZnNldCArPSBvYmplY3RzW2ldLmxlbmd0aDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgLy8gTm90aWZ5IHRoZSB0cmFja2VyIHdoZXJlIHRoZSBvYmplY3Qgd2lsbCBiZSBvZmZzZXQgaW4gdGhlIGRhdGEuCiAgICAgICAgaWYgKHRyYWNrZXJzW2ldKSB7CiAgICAgICAgICB0cmFja2Vyc1tpXS5vZmZzZXQoZGF0YS5sZW5ndGgpOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSBvYmplY3RzW2ldLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgIGRhdGEucHVzaChvYmplY3RzW2ldW2pdKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIGRhdGE7CiAgICB9CiAgfTsKICByZXR1cm4gQ0ZGQ29tcGlsZXI7Cn0pKCk7CgovLyBXb3JrYXJvdW5kIGZvciBzZWFjIG9uIFdpbmRvd3MuCihmdW5jdGlvbiBjaGVja1NlYWNTdXBwb3J0KCkgewogIGlmICgvV2luZG93cy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgewogICAgU0VBQ19BTkFMWVNJU19FTkFCTEVEID0gdHJ1ZTsKICB9Cn0pKCk7CgovLyBXb3JrYXJvdW5kIGZvciBQcml2YXRlIFVzZSBBcmVhIGNoYXJhY3RlcnMgaW4gQ2hyb21lIG9uIFdpbmRvd3MKLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTIyNDY1Ci8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3BkZi5qcy9pc3N1ZXMvMTY4OQooZnVuY3Rpb24gY2hlY2tDaHJvbWVXaW5kb3dzKCkgewogIGlmICgvV2luZG93cy4qQ2hyb21lLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7CiAgICBTS0lQX1BSSVZBVEVfVVNFX1JBTkdFX0YwMDBfVE9fRjAxRiA9IHRydWU7CiAgfQp9KSgpOwoKCnZhciBGb250UmVuZGVyZXJGYWN0b3J5ID0gKGZ1bmN0aW9uIEZvbnRSZW5kZXJlckZhY3RvcnlDbG9zdXJlKCkgewogIGZ1bmN0aW9uIGdldExvbmcoZGF0YSwgb2Zmc2V0KSB7CiAgICByZXR1cm4gKGRhdGFbb2Zmc2V0XSA8PCAyNCkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxNikgfAogICAgICAgICAgIChkYXRhW29mZnNldCArIDJdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAzXTsKICB9CgogIGZ1bmN0aW9uIGdldFVzaG9ydChkYXRhLCBvZmZzZXQpIHsKICAgIHJldHVybiAoZGF0YVtvZmZzZXRdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAxXTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlQ21hcChkYXRhLCBzdGFydCwgZW5kKSB7CiAgICB2YXIgb2Zmc2V0ID0gKGdldFVzaG9ydChkYXRhLCBzdGFydCArIDIpID09PSAxID8KICAgICAgICAgICAgICAgICAgZ2V0TG9uZyhkYXRhLCBzdGFydCArIDgpIDogZ2V0TG9uZyhkYXRhLCBzdGFydCArIDE2KSk7CiAgICB2YXIgZm9ybWF0ID0gZ2V0VXNob3J0KGRhdGEsIHN0YXJ0ICsgb2Zmc2V0KTsKICAgIHZhciBsZW5ndGgsIHJhbmdlcywgcCwgaTsKICAgIGlmIChmb3JtYXQgPT09IDQpIHsKICAgICAgbGVuZ3RoID0gZ2V0VXNob3J0KGRhdGEsIHN0YXJ0ICsgb2Zmc2V0ICsgMik7CiAgICAgIHZhciBzZWdDb3VudCA9IGdldFVzaG9ydChkYXRhLCBzdGFydCArIG9mZnNldCArIDYpID4+IDE7CiAgICAgIHAgPSBzdGFydCArIG9mZnNldCArIDE0OwogICAgICByYW5nZXMgPSBbXTsKICAgICAgZm9yIChpID0gMDsgaSA8IHNlZ0NvdW50OyBpKyssIHAgKz0gMikgewogICAgICAgIHJhbmdlc1tpXSA9IHtlbmQ6IGdldFVzaG9ydChkYXRhLCBwKX07CiAgICAgIH0KICAgICAgcCArPSAyOwogICAgICBmb3IgKGkgPSAwOyBpIDwgc2VnQ291bnQ7IGkrKywgcCArPSAyKSB7CiAgICAgICAgcmFuZ2VzW2ldLnN0YXJ0ID0gZ2V0VXNob3J0KGRhdGEsIHApOwogICAgICB9CiAgICAgIGZvciAoaSA9IDA7IGkgPCBzZWdDb3VudDsgaSsrLCBwICs9IDIpIHsKICAgICAgICByYW5nZXNbaV0uaWREZWx0YSA9IGdldFVzaG9ydChkYXRhLCBwKTsKICAgICAgfQogICAgICBmb3IgKGkgPSAwOyBpIDwgc2VnQ291bnQ7IGkrKywgcCArPSAyKSB7CiAgICAgICAgdmFyIGlkT2Zmc2V0ID0gZ2V0VXNob3J0KGRhdGEsIHApOwogICAgICAgIGlmIChpZE9mZnNldCA9PT0gMCkgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHJhbmdlc1tpXS5pZHMgPSBbXTsKICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSByYW5nZXNbaV0uZW5kIC0gcmFuZ2VzW2ldLnN0YXJ0ICsgMTsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgIHJhbmdlc1tpXS5pZHNbal0gPSBnZXRVc2hvcnQoZGF0YSwgcCArIGlkT2Zmc2V0KTsKICAgICAgICAgIGlkT2Zmc2V0ICs9IDI7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiByYW5nZXM7CiAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gMTIpIHsKICAgICAgbGVuZ3RoID0gZ2V0TG9uZyhkYXRhLCBzdGFydCArIG9mZnNldCArIDQpOwogICAgICB2YXIgZ3JvdXBzID0gZ2V0TG9uZyhkYXRhLCBzdGFydCArIG9mZnNldCArIDEyKTsKICAgICAgcCA9IHN0YXJ0ICsgb2Zmc2V0ICsgMTY7CiAgICAgIHJhbmdlcyA9IFtdOwogICAgICBmb3IgKGkgPSAwOyBpIDwgZ3JvdXBzOyBpKyspIHsKICAgICAgICByYW5nZXMucHVzaCh7CiAgICAgICAgICBzdGFydDogZ2V0TG9uZyhkYXRhLCBwKSwKICAgICAgICAgIGVuZDogZ2V0TG9uZyhkYXRhLCBwICsgNCksCiAgICAgICAgICBpZERlbHRhOiBnZXRMb25nKGRhdGEsIHAgKyA4KSAtIGdldExvbmcoZGF0YSwgcCkKICAgICAgICB9KTsKICAgICAgICBwICs9IDEyOwogICAgICB9CiAgICAgIHJldHVybiByYW5nZXM7CiAgICB9CiAgICBlcnJvcignbm90IHN1cHBvcnRlZCBjbWFwOiAnICsgZm9ybWF0KTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlQ2ZmKGRhdGEsIHN0YXJ0LCBlbmQpIHsKICAgIHZhciBwcm9wZXJ0aWVzID0ge307CiAgICB2YXIgcGFyc2VyID0gbmV3IENGRlBhcnNlcihuZXcgU3RyZWFtKGRhdGEsIHN0YXJ0LCBlbmQgLSBzdGFydCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzKTsKICAgIHZhciBjZmYgPSBwYXJzZXIucGFyc2UoKTsKICAgIHJldHVybiB7CiAgICAgIGdseXBoczogY2ZmLmNoYXJTdHJpbmdzLm9iamVjdHMsCiAgICAgIHN1YnJzOiAoY2ZmLnRvcERpY3QucHJpdmF0ZURpY3QgJiYgY2ZmLnRvcERpY3QucHJpdmF0ZURpY3Quc3VicnNJbmRleCAmJgogICAgICAgICAgICAgIGNmZi50b3BEaWN0LnByaXZhdGVEaWN0LnN1YnJzSW5kZXgub2JqZWN0cyksCiAgICAgIGdzdWJyczogY2ZmLmdsb2JhbFN1YnJJbmRleCAmJiBjZmYuZ2xvYmFsU3VickluZGV4Lm9iamVjdHMKICAgIH07CiAgfQoKICBmdW5jdGlvbiBwYXJzZUdseWZUYWJsZShnbHlmLCBsb2NhLCBpc0dseXBoTG9jYXRpb25zTG9uZykgewogICAgdmFyIGl0ZW1TaXplLCBpdGVtRGVjb2RlOwogICAgaWYgKGlzR2x5cGhMb2NhdGlvbnNMb25nKSB7CiAgICAgIGl0ZW1TaXplID0gNDsKICAgICAgaXRlbURlY29kZSA9IGZ1bmN0aW9uIGZvbnRJdGVtRGVjb2RlTG9uZyhkYXRhLCBvZmZzZXQpIHsKICAgICAgICByZXR1cm4gKGRhdGFbb2Zmc2V0XSA8PCAyNCkgfCAoZGF0YVtvZmZzZXQgKyAxXSA8PCAxNikgfAogICAgICAgICAgICAgICAoZGF0YVtvZmZzZXQgKyAyXSA8PCA4KSB8IGRhdGFbb2Zmc2V0ICsgM107CiAgICAgIH07CiAgICB9IGVsc2UgewogICAgICBpdGVtU2l6ZSA9IDI7CiAgICAgIGl0ZW1EZWNvZGUgPSBmdW5jdGlvbiBmb250SXRlbURlY29kZShkYXRhLCBvZmZzZXQpIHsKICAgICAgICByZXR1cm4gKGRhdGFbb2Zmc2V0XSA8PCA5KSB8IChkYXRhW29mZnNldCArIDFdIDw8IDEpOwogICAgICB9OwogICAgfQogICAgdmFyIGdseXBocyA9IFtdOwogICAgdmFyIHN0YXJ0T2Zmc2V0ID0gaXRlbURlY29kZShsb2NhLCAwKTsKICAgIGZvciAodmFyIGogPSBpdGVtU2l6ZTsgaiA8IGxvY2EubGVuZ3RoOyBqICs9IGl0ZW1TaXplKSB7CiAgICAgIHZhciBlbmRPZmZzZXQgPSBpdGVtRGVjb2RlKGxvY2EsIGopOwogICAgICBnbHlwaHMucHVzaChnbHlmLnN1YmFycmF5KHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpKTsKICAgICAgc3RhcnRPZmZzZXQgPSBlbmRPZmZzZXQ7CiAgICB9CiAgICByZXR1cm4gZ2x5cGhzOwogIH0KCiAgZnVuY3Rpb24gbG9va3VwQ21hcChyYW5nZXMsIHVuaWNvZGUpIHsKICAgIHZhciBjb2RlID0gdW5pY29kZS5jaGFyQ29kZUF0KDApOwogICAgdmFyIGwgPSAwLCByID0gcmFuZ2VzLmxlbmd0aCAtIDE7CiAgICB3aGlsZSAobCA8IHIpIHsKICAgICAgdmFyIGMgPSAobCArIHIgKyAxKSA+PiAxOwogICAgICBpZiAoY29kZSA8IHJhbmdlc1tjXS5zdGFydCkgewogICAgICAgIHIgPSBjIC0gMTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsID0gYzsKICAgICAgfQogICAgfQogICAgaWYgKHJhbmdlc1tsXS5zdGFydCA8PSBjb2RlICYmIGNvZGUgPD0gcmFuZ2VzW2xdLmVuZCkgewogICAgICByZXR1cm4gKHJhbmdlc1tsXS5pZERlbHRhICsgKHJhbmdlc1tsXS5pZHMgPwogICAgICAgIHJhbmdlc1tsXS5pZHNbY29kZSAtIHJhbmdlc1tsXS5zdGFydF0gOiBjb2RlKSkgJiAweEZGRkY7CiAgICB9CiAgICByZXR1cm4gMDsKICB9CgogIGZ1bmN0aW9uIGNvbXBpbGVHbHlmKGNvZGUsIGpzLCBmb250KSB7CiAgICBmdW5jdGlvbiBtb3ZlVG8oeCwgeSkgewogICAgICBqcy5wdXNoKCdjLm1vdmVUbygnICsgeCArICcsJyArIHkgKyAnKTsnKTsKICAgIH0KICAgIGZ1bmN0aW9uIGxpbmVUbyh4LCB5KSB7CiAgICAgIGpzLnB1c2goJ2MubGluZVRvKCcgKyB4ICsgJywnICsgeSArICcpOycpOwogICAgfQogICAgZnVuY3Rpb24gcXVhZHJhdGljQ3VydmVUbyh4YSwgeWEsIHgsIHkpIHsKICAgICAganMucHVzaCgnYy5xdWFkcmF0aWNDdXJ2ZVRvKCcgKyB4YSArICcsJyArIHlhICsgJywnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ICsgJywnICsgeSArICcpOycpOwogICAgfQoKICAgIHZhciBpID0gMDsKICAgIHZhciBudW1iZXJPZkNvbnRvdXJzID0gKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2OwogICAgdmFyIGZsYWdzOwogICAgdmFyIHggPSAwLCB5ID0gMDsKICAgIGkgKz0gMTA7CiAgICBpZiAobnVtYmVyT2ZDb250b3VycyA8IDApIHsKICAgICAgLy8gY29tcG9zaXRlIGdseXBoCiAgICAgIGRvIHsKICAgICAgICBmbGFncyA9IChjb2RlW2ldIDw8IDgpIHwgY29kZVtpICsgMV07CiAgICAgICAgdmFyIGdseXBoSW5kZXggPSAoY29kZVtpICsgMl0gPDwgOCkgfCBjb2RlW2kgKyAzXTsKICAgICAgICBpICs9IDQ7CiAgICAgICAgdmFyIGFyZzEsIGFyZzI7CiAgICAgICAgaWYgKChmbGFncyAmIDB4MDEpKSB7CiAgICAgICAgICBhcmcxID0gKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2OwogICAgICAgICAgYXJnMiA9ICgoY29kZVtpICsgMl0gPDwgMjQpIHwgKGNvZGVbaSArIDNdIDw8IDE2KSkgPj4gMTY7CiAgICAgICAgICBpICs9IDQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGFyZzEgPSBjb2RlW2krK107IGFyZzIgPSBjb2RlW2krK107CiAgICAgICAgfQogICAgICAgIGlmICgoZmxhZ3MgJiAweDAyKSkgewogICAgICAgICAgIHggPSBhcmcxOwogICAgICAgICAgIHkgPSBhcmcyOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgeCA9IDA7IHkgPSAwOyAvLyBUT0RPICJ0aGV5IGFyZSBwb2ludHMiID8KICAgICAgICB9CiAgICAgICAgdmFyIHNjYWxlWCA9IDEsIHNjYWxlWSA9IDEsIHNjYWxlMDEgPSAwLCBzY2FsZTEwID0gMDsKICAgICAgICBpZiAoKGZsYWdzICYgMHgwOCkpIHsKICAgICAgICAgIHNjYWxlWCA9CiAgICAgICAgICBzY2FsZVkgPSAoKGNvZGVbaV0gPDwgMjQpIHwgKGNvZGVbaSArIDFdIDw8IDE2KSkgLyAxMDczNzQxODI0OwogICAgICAgICAgaSArPSAyOwogICAgICAgIH0gZWxzZSBpZiAoKGZsYWdzICYgMHg0MCkpIHsKICAgICAgICAgIHNjYWxlWCA9ICgoY29kZVtpXSA8PCAyNCkgfCAoY29kZVtpICsgMV0gPDwgMTYpKSAvIDEwNzM3NDE4MjQ7CiAgICAgICAgICBzY2FsZVkgPSAoKGNvZGVbaSArIDJdIDw8IDI0KSB8IChjb2RlW2kgKyAzXSA8PCAxNikpIC8gMTA3Mzc0MTgyNDsKICAgICAgICAgIGkgKz0gNDsKICAgICAgICB9IGVsc2UgaWYgKChmbGFncyAmIDB4ODApKSB7CiAgICAgICAgICBzY2FsZVggPSAoKGNvZGVbaV0gPDwgMjQpIHwgKGNvZGVbaSArIDFdIDw8IDE2KSkgLyAxMDczNzQxODI0OwogICAgICAgICAgc2NhbGUwMSA9ICgoY29kZVtpICsgMl0gPDwgMjQpIHwgKGNvZGVbaSArIDNdIDw8IDE2KSkgLyAxMDczNzQxODI0OwogICAgICAgICAgc2NhbGUxMCA9ICgoY29kZVtpICsgNF0gPDwgMjQpIHwgKGNvZGVbaSArIDVdIDw8IDE2KSkgLyAxMDczNzQxODI0OwogICAgICAgICAgc2NhbGVZID0gKChjb2RlW2kgKyA2XSA8PCAyNCkgfCAoY29kZVtpICsgN10gPDwgMTYpKSAvIDEwNzM3NDE4MjQ7CiAgICAgICAgICBpICs9IDg7CiAgICAgICAgfQogICAgICAgIHZhciBzdWJnbHlwaCA9IGZvbnQuZ2x5cGhzW2dseXBoSW5kZXhdOwogICAgICAgIGlmIChzdWJnbHlwaCkgewogICAgICAgICAganMucHVzaCgnYy5zYXZlKCk7Jyk7CiAgICAgICAgICBqcy5wdXNoKCdjLnRyYW5zZm9ybSgnICsgc2NhbGVYICsgJywnICsgc2NhbGUwMSArICcsJyArCiAgICAgICAgICAgICAgICAgIHNjYWxlMTAgKyAnLCcgKyBzY2FsZVkgKyAnLCcgKyB4ICsgJywnICsgeSArICcpOycpOwogICAgICAgICAgY29tcGlsZUdseWYoc3ViZ2x5cGgsIGpzLCBmb250KTsKICAgICAgICAgIGpzLnB1c2goJ2MucmVzdG9yZSgpOycpOwogICAgICAgIH0KICAgICAgfSB3aGlsZSAoKGZsYWdzICYgMHgyMCkpOwogICAgfSBlbHNlIHsKICAgICAgLy8gc2ltcGxlIGdseXBoCiAgICAgIHZhciBlbmRQdHNPZkNvbnRvdXJzID0gW107CiAgICAgIHZhciBqLCBqajsKICAgICAgZm9yIChqID0gMDsgaiA8IG51bWJlck9mQ29udG91cnM7IGorKykgewogICAgICAgIGVuZFB0c09mQ29udG91cnMucHVzaCgoY29kZVtpXSA8PCA4KSB8IGNvZGVbaSArIDFdKTsKICAgICAgICBpICs9IDI7CiAgICAgIH0KICAgICAgdmFyIGluc3RydWN0aW9uTGVuZ3RoID0gKGNvZGVbaV0gPDwgOCkgfCBjb2RlW2kgKyAxXTsKICAgICAgaSArPSAyICsgaW5zdHJ1Y3Rpb25MZW5ndGg7IC8vIHNraXBwaW5nIHRoZSBpbnN0cnVjdGlvbnMKICAgICAgdmFyIG51bWJlck9mUG9pbnRzID0gZW5kUHRzT2ZDb250b3Vyc1tlbmRQdHNPZkNvbnRvdXJzLmxlbmd0aCAtIDFdICsgMTsKICAgICAgdmFyIHBvaW50cyA9IFtdOwogICAgICB3aGlsZSAocG9pbnRzLmxlbmd0aCA8IG51bWJlck9mUG9pbnRzKSB7CiAgICAgICAgZmxhZ3MgPSBjb2RlW2krK107CiAgICAgICAgdmFyIHJlcGVhdCA9IDE7CiAgICAgICAgaWYgKChmbGFncyAmIDB4MDgpKSB7CiAgICAgICAgICByZXBlYXQgKz0gY29kZVtpKytdOwogICAgICAgIH0KICAgICAgICB3aGlsZSAocmVwZWF0LS0gPiAwKSB7CiAgICAgICAgICBwb2ludHMucHVzaCh7ZmxhZ3M6IGZsYWdzfSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGZvciAoaiA9IDA7IGogPCBudW1iZXJPZlBvaW50czsgaisrKSB7CiAgICAgICAgc3dpdGNoIChwb2ludHNbal0uZmxhZ3MgJiAweDEyKSB7CiAgICAgICAgICBjYXNlIDB4MDA6CiAgICAgICAgICAgIHggKz0gKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2OwogICAgICAgICAgICBpICs9IDI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDAyOgogICAgICAgICAgICB4IC09IGNvZGVbaSsrXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDB4MTI6CiAgICAgICAgICAgIHggKz0gY29kZVtpKytdOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcG9pbnRzW2pdLnggPSB4OwogICAgICB9CiAgICAgIGZvciAoaiA9IDA7IGogPCBudW1iZXJPZlBvaW50czsgaisrKSB7CiAgICAgICAgc3dpdGNoIChwb2ludHNbal0uZmxhZ3MgJiAweDI0KSB7CiAgICAgICAgICBjYXNlIDB4MDA6CiAgICAgICAgICAgIHkgKz0gKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2OwogICAgICAgICAgICBpICs9IDI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDA0OgogICAgICAgICAgICB5IC09IGNvZGVbaSsrXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDB4MjQ6CiAgICAgICAgICAgIHkgKz0gY29kZVtpKytdOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcG9pbnRzW2pdLnkgPSB5OwogICAgICB9CgogICAgICB2YXIgc3RhcnRQb2ludCA9IDA7CiAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1iZXJPZkNvbnRvdXJzOyBpKyspIHsKICAgICAgICB2YXIgZW5kUG9pbnQgPSBlbmRQdHNPZkNvbnRvdXJzW2ldOwogICAgICAgIC8vIGNvbnRvdXJzIG1pZ2h0IGhhdmUgaW1wbGljaXQgcG9pbnRzLCB3aGljaCBpcyBsb2NhdGVkIGluIHRoZSBtaWRkbGUKICAgICAgICAvLyBiZXR3ZWVuIHR3byBuZWlnaGJvcmluZyBvZmYtY3VydmUgcG9pbnRzCiAgICAgICAgdmFyIGNvbnRvdXIgPSBwb2ludHMuc2xpY2Uoc3RhcnRQb2ludCwgZW5kUG9pbnQgKyAxKTsKICAgICAgICBpZiAoKGNvbnRvdXJbMF0uZmxhZ3MgJiAxKSkgewogICAgICAgICAgY29udG91ci5wdXNoKGNvbnRvdXJbMF0pOyAvLyB1c2luZyBzdGFydCBwb2ludCBhdCB0aGUgY29udG91ciBlbmQKICAgICAgICB9IGVsc2UgaWYgKChjb250b3VyW2NvbnRvdXIubGVuZ3RoIC0gMV0uZmxhZ3MgJiAxKSkgewogICAgICAgICAgLy8gZmlyc3QgaXMgb2ZmLWN1cnZlIHBvaW50LCB0cnlpbmcgdG8gdXNlIG9uZSBmcm9tIHRoZSBlbmQKICAgICAgICAgIGNvbnRvdXIudW5zaGlmdChjb250b3VyW2NvbnRvdXIubGVuZ3RoIC0gMV0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBzdGFydCBhbmQgZW5kIGFyZSBvZmYtY3VydmUgcG9pbnRzLCBjcmVhdGluZyBpbXBsaWNpdCBvbmUKICAgICAgICAgIHZhciBwID0gewogICAgICAgICAgICBmbGFnczogMSwKICAgICAgICAgICAgeDogKGNvbnRvdXJbMF0ueCArIGNvbnRvdXJbY29udG91ci5sZW5ndGggLSAxXS54KSAvIDIsCiAgICAgICAgICAgIHk6IChjb250b3VyWzBdLnkgKyBjb250b3VyW2NvbnRvdXIubGVuZ3RoIC0gMV0ueSkgLyAyCiAgICAgICAgICB9OwogICAgICAgICAgY29udG91ci51bnNoaWZ0KHApOwogICAgICAgICAgY29udG91ci5wdXNoKHApOwogICAgICAgIH0KICAgICAgICBtb3ZlVG8oY29udG91clswXS54LCBjb250b3VyWzBdLnkpOwogICAgICAgIGZvciAoaiA9IDEsIGpqID0gY29udG91ci5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICBpZiAoKGNvbnRvdXJbal0uZmxhZ3MgJiAxKSkgewogICAgICAgICAgICBsaW5lVG8oY29udG91cltqXS54LCBjb250b3VyW2pdLnkpOwogICAgICAgICAgfSBlbHNlIGlmICgoY29udG91cltqICsgMV0uZmxhZ3MgJiAxKSl7CiAgICAgICAgICAgIHF1YWRyYXRpY0N1cnZlVG8oY29udG91cltqXS54LCBjb250b3VyW2pdLnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udG91cltqICsgMV0ueCwgY29udG91cltqICsgMV0ueSk7CiAgICAgICAgICAgIGorKzsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHF1YWRyYXRpY0N1cnZlVG8oY29udG91cltqXS54LCBjb250b3VyW2pdLnksCiAgICAgICAgICAgICAgKGNvbnRvdXJbal0ueCArIGNvbnRvdXJbaiArIDFdLngpIC8gMiwKICAgICAgICAgICAgICAoY29udG91cltqXS55ICsgY29udG91cltqICsgMV0ueSkgLyAyKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgc3RhcnRQb2ludCA9IGVuZFBvaW50ICsgMTsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gY29tcGlsZUNoYXJTdHJpbmcoY29kZSwganMsIGZvbnQpIHsKICAgIHZhciBzdGFjayA9IFtdOwogICAgdmFyIHggPSAwLCB5ID0gMDsKICAgIHZhciBzdGVtcyA9IDA7CgogICAgZnVuY3Rpb24gbW92ZVRvKHgsIHkpIHsKICAgICAganMucHVzaCgnYy5tb3ZlVG8oJyArIHggKyAnLCcgKyB5ICsgJyk7Jyk7CiAgICB9CiAgICBmdW5jdGlvbiBsaW5lVG8oeCwgeSkgewogICAgICBqcy5wdXNoKCdjLmxpbmVUbygnICsgeCArICcsJyArIHkgKyAnKTsnKTsKICAgIH0KICAgIGZ1bmN0aW9uIGJlemllckN1cnZlVG8oeDEsIHkxLCB4MiwgeTIsIHgsIHkpIHsKICAgICAganMucHVzaCgnYy5iZXppZXJDdXJ2ZVRvKCcgKyB4MSArICcsJyArIHkxICsgJywnICsgeDIgKyAnLCcgKyB5MiArICcsJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeCArICcsJyArIHkgKyAnKTsnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBwYXJzZShjb2RlKSB7CiAgICAgIHZhciBpID0gMDsKICAgICAgd2hpbGUgKGkgPCBjb2RlLmxlbmd0aCkgewogICAgICAgIHZhciBzdGFja0NsZWFuID0gZmFsc2U7CiAgICAgICAgdmFyIHYgPSBjb2RlW2krK107CiAgICAgICAgdmFyIHhhLCB4YiwgeWEsIHliLCB5MSwgeTIsIHkzLCBuLCBzdWJyQ29kZTsKICAgICAgICBzd2l0Y2ggKHYpIHsKICAgICAgICAgIGNhc2UgMTogLy8gaHN0ZW0KICAgICAgICAgICAgc3RlbXMgKz0gc3RhY2subGVuZ3RoID4+IDE7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMzogLy8gdnN0ZW0KICAgICAgICAgICAgc3RlbXMgKz0gc3RhY2subGVuZ3RoID4+IDE7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgNDogLy8gdm1vdmV0bwogICAgICAgICAgICB5ICs9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBtb3ZlVG8oeCwgeSk7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgNTogLy8gcmxpbmV0bwogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHggKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ICs9IHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgbGluZVRvKHgsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSA2OiAvLyBobGluZXRvCiAgICAgICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgeCArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIGxpbmVUbyh4LCB5KTsKICAgICAgICAgICAgICBpZiAoc3RhY2subGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgeSArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIGxpbmVUbyh4LCB5KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgNzogLy8gdmxpbmV0bwogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHkgKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICBsaW5lVG8oeCwgeSk7CiAgICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHggKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICBsaW5lVG8oeCwgeSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDg6IC8vIHJyY3VydmV0bwogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHhhID0geCArIHN0YWNrLnNoaWZ0KCk7IHlhID0geSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHliID0geWEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHggPSB4YiArIHN0YWNrLnNoaWZ0KCk7IHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDEwOiAvLyBjYWxsc3VicgogICAgICAgICAgICBuID0gc3RhY2sucG9wKCkgKyBmb250LnN1YnJzQmlhczsKICAgICAgICAgICAgc3VickNvZGUgPSBmb250LnN1YnJzW25dOwogICAgICAgICAgICBpZiAoc3VickNvZGUpIHsKICAgICAgICAgICAgICBwYXJzZShzdWJyQ29kZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDExOiAvLyByZXR1cm4KICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgdiA9IGNvZGVbaSsrXTsKICAgICAgICAgICAgc3dpdGNoICh2KSB7CiAgICAgICAgICAgICAgY2FzZSAzNDogLy8gZmxleAogICAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5MSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHksIHhiLCB5MSwgeCwgeTEpOwogICAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHkxLCB4YiwgeSwgeCwgeSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDM1OiAvLyBmbGV4CiAgICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5YSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHliID0geWEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsgeSA9IHliICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHlhLCB4YiwgeWIsIHgsIHkpOwogICAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsgeWEgPSB5ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHggPSB4YiArIHN0YWNrLnNoaWZ0KCk7IHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBiZXppZXJDdXJ2ZVRvKHhhLCB5YSwgeGIsIHliLCB4LCB5KTsKICAgICAgICAgICAgICAgIHN0YWNrLnBvcCgpOyAvLyBmZAogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAzNjogLy8gaGZsZXgxCiAgICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5MSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHkyID0geTEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHkxLCB4YiwgeTIsIHgsIHkyKTsKICAgICAgICAgICAgICAgIHhhID0geCArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB4YiA9IHhhICsgc3RhY2suc2hpZnQoKTsgeTMgPSB5MiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB4ID0geGIgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeTIsIHhiLCB5MywgeCwgeSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDM3OiAvLyBmbGV4MQogICAgICAgICAgICAgICAgdmFyIHgwID0geCwgeTAgPSB5OwogICAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsgeWEgPSB5ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICAgIHggPSB4YiArIHN0YWNrLnNoaWZ0KCk7IHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBiZXppZXJDdXJ2ZVRvKHhhLCB5YSwgeGIsIHliLCB4LCB5KTsKICAgICAgICAgICAgICAgIHhhID0geCArIHN0YWNrLnNoaWZ0KCk7IHlhID0geSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB4YiA9IHhhICsgc3RhY2suc2hpZnQoKTsgeWIgPSB5YSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB4ID0geGI7IHkgPSB5YjsKICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyh4IC0geDApID4gTWF0aC5hYnMoeSAtIHkwKSkgewogICAgICAgICAgICAgICAgICB4ICs9IHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgIHsKICAgICAgICAgICAgICAgICAgeSArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgZXJyb3IoJ3Vua25vd24gb3BlcmF0b3I6IDEyICcgKyB2KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMTQ6IC8vIGVuZGNoYXIKICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA+PSA0KSB7CiAgICAgICAgICAgICAgdmFyIGFjaGFyID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgdmFyIGJjaGFyID0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgICAgeSA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgIHggPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgICBqcy5wdXNoKCdjLnNhdmUoKTsnKTsKICAgICAgICAgICAgICBqcy5wdXNoKCdjLnRyYW5zbGF0ZSgnKyB4ICsgJywnICsgeSArICcpOycpOwogICAgICAgICAgICAgIHZhciBnaWQgPSBsb29rdXBDbWFwKGZvbnQuY21hcCwgU3RyaW5nLmZyb21DaGFyQ29kZSgKICAgICAgICAgICAgICAgIGZvbnQuZ2x5cGhOYW1lTWFwW0VuY29kaW5ncy5TdGFuZGFyZEVuY29kaW5nW2FjaGFyXV0pKTsKICAgICAgICAgICAgICBjb21waWxlQ2hhclN0cmluZyhmb250LmdseXBoc1tnaWRdLCBqcywgZm9udCk7CiAgICAgICAgICAgICAganMucHVzaCgnYy5yZXN0b3JlKCk7Jyk7CgogICAgICAgICAgICAgIGdpZCA9IGxvb2t1cENtYXAoZm9udC5jbWFwLCBTdHJpbmcuZnJvbUNoYXJDb2RlKAogICAgICAgICAgICAgICAgZm9udC5nbHlwaE5hbWVNYXBbRW5jb2RpbmdzLlN0YW5kYXJkRW5jb2RpbmdbYmNoYXJdXSkpOwogICAgICAgICAgICAgIGNvbXBpbGVDaGFyU3RyaW5nKGZvbnQuZ2x5cGhzW2dpZF0sIGpzLCBmb250KTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICBjYXNlIDE4OiAvLyBoc3RlbWhtCiAgICAgICAgICAgIHN0ZW1zICs9IHN0YWNrLmxlbmd0aCA+PiAxOwogICAgICAgICAgICBzdGFja0NsZWFuID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDE5OiAvLyBoaW50bWFzawogICAgICAgICAgICBzdGVtcyArPSBzdGFjay5sZW5ndGggPj4gMTsKICAgICAgICAgICAgaSArPSAoc3RlbXMgKyA3KSA+PiAzOwogICAgICAgICAgICBzdGFja0NsZWFuID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDIwOiAvLyBjbnRybWFzawogICAgICAgICAgICBzdGVtcyArPSBzdGFjay5sZW5ndGggPj4gMTsKICAgICAgICAgICAgaSArPSAoc3RlbXMgKyA3KSA+PiAzOwogICAgICAgICAgICBzdGFja0NsZWFuID0gdHJ1ZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDIxOiAvLyBybW92ZXRvCiAgICAgICAgICAgIHkgKz0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIHggKz0gc3RhY2sucG9wKCk7CiAgICAgICAgICAgIG1vdmVUbyh4LCB5KTsKICAgICAgICAgICAgc3RhY2tDbGVhbiA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAyMjogLy8gaG1vdmV0bwogICAgICAgICAgICB4ICs9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICBtb3ZlVG8oeCwgeSk7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjM6IC8vIHZzdGVtaG0KICAgICAgICAgICAgc3RlbXMgKz0gc3RhY2subGVuZ3RoID4+IDE7CiAgICAgICAgICAgIHN0YWNrQ2xlYW4gPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjQ6IC8vIHJjdXJ2ZWxpbmUKICAgICAgICAgICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDIpIHsKICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5YSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB4ID0geGIgKyBzdGFjay5zaGlmdCgpOyB5ID0geWIgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHlhLCB4YiwgeWIsIHgsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHggKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgeSArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICBsaW5lVG8oeCwgeSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAyNTogLy8gcmxpbmVjdXJ2ZQogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gNikgewogICAgICAgICAgICAgIHggKz0gc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ICs9IHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgbGluZVRvKHgsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHhhID0geCArIHN0YWNrLnNoaWZ0KCk7IHlhID0geSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsgeSA9IHliICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAyNjogLy8gdnZjdXJ2ZXRvCiAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggJSAyKSB7CiAgICAgICAgICAgICAgeCArPSBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgeGEgPSB4OyB5YSA9IHkgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB4ID0geGI7IHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDI3OiAvLyBoaGN1cnZldG8KICAgICAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCAlIDIpIHsKICAgICAgICAgICAgICB5ICs9IHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5YSA9IHk7CiAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHliID0geWEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHggPSB4YiArIHN0YWNrLnNoaWZ0KCk7IHkgPSB5YjsKICAgICAgICAgICAgICBiZXppZXJDdXJ2ZVRvKHhhLCB5YSwgeGIsIHliLCB4LCB5KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjg6CiAgICAgICAgICAgIHN0YWNrLnB1c2goKChjb2RlW2ldIDw8IDI0KSB8IChjb2RlW2kgKyAxXSA8PCAxNikpID4+IDE2KTsKICAgICAgICAgICAgaSArPSAyOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMjk6IC8vIGNhbGxnc3VicgogICAgICAgICAgICBuID0gc3RhY2sucG9wKCkgKyBmb250LmdzdWJyc0JpYXM7CiAgICAgICAgICAgIHN1YnJDb2RlID0gZm9udC5nc3VicnNbbl07CiAgICAgICAgICAgIGlmIChzdWJyQ29kZSkgewogICAgICAgICAgICAgIHBhcnNlKHN1YnJDb2RlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMzA6IC8vIHZoY3VydmV0bwogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICAgIHhhID0geDsgeWEgPSB5ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB4YiA9IHhhICsgc3RhY2suc2hpZnQoKTsgeWIgPSB5YSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ID0geWIgKyAoc3RhY2subGVuZ3RoID09PSAxID8gc3RhY2suc2hpZnQoKSA6IDApOwogICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHlhLCB4YiwgeWIsIHgsIHkpOwogICAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPT09IDApIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgeGEgPSB4ICsgc3RhY2suc2hpZnQoKTsgeWEgPSB5OwogICAgICAgICAgICAgIHhiID0geGEgKyBzdGFjay5zaGlmdCgpOyB5YiA9IHlhICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ID0geWIgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHggPSB4YiArIChzdGFjay5sZW5ndGggPT09IDEgPyBzdGFjay5zaGlmdCgpIDogMCk7CiAgICAgICAgICAgICAgYmV6aWVyQ3VydmVUbyh4YSwgeWEsIHhiLCB5YiwgeCwgeSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDMxOiAvLyBodmN1cnZldG8KICAgICAgICAgICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICB4YSA9IHggKyBzdGFjay5zaGlmdCgpOyB5YSA9IHk7CiAgICAgICAgICAgICAgeGIgPSB4YSArIHN0YWNrLnNoaWZ0KCk7IHliID0geWEgKyBzdGFjay5zaGlmdCgpOwogICAgICAgICAgICAgIHkgPSB5YiArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgeCA9IHhiICsgKHN0YWNrLmxlbmd0aCA9PT0gMSA/IHN0YWNrLnNoaWZ0KCkgOiAwKTsKICAgICAgICAgICAgICBiZXppZXJDdXJ2ZVRvKHhhLCB5YSwgeGIsIHliLCB4LCB5KTsKICAgICAgICAgICAgICBpZiAoc3RhY2subGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHhhID0geDsgeWEgPSB5ICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB4YiA9IHhhICsgc3RhY2suc2hpZnQoKTsgeWIgPSB5YSArIHN0YWNrLnNoaWZ0KCk7CiAgICAgICAgICAgICAgeCA9IHhiICsgc3RhY2suc2hpZnQoKTsKICAgICAgICAgICAgICB5ID0geWIgKyAoc3RhY2subGVuZ3RoID09PSAxID8gc3RhY2suc2hpZnQoKSA6IDApOwogICAgICAgICAgICAgIGJlemllckN1cnZlVG8oeGEsIHlhLCB4YiwgeWIsIHgsIHkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgaWYgKHYgPCAzMikgewogICAgICAgICAgICAgIGVycm9yKCd1bmtub3duIG9wZXJhdG9yOiAnICsgdik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHYgPCAyNDcpIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKHYgLSAxMzkpOwogICAgICAgICAgICB9IGVsc2UgaWYgKHYgPCAyNTEpIHsKICAgICAgICAgICAgICBzdGFjay5wdXNoKCh2IC0gMjQ3KSAqIDI1NiArIGNvZGVbaSsrXSArIDEwOCk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodiA8IDI1NSkgewogICAgICAgICAgICAgIHN0YWNrLnB1c2goLSh2IC0gMjUxKSAqIDI1NiAtIGNvZGVbaSsrXSAtIDEwOCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgc3RhY2sucHVzaCgoKGNvZGVbaV0gPDwgMjQpIHwgKGNvZGVbaSArIDFdIDw8IDE2KSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAoY29kZVtpICsgMl0gPDwgOCkgfCBjb2RlW2kgKyAzXSkgLyA2NTUzNik7CiAgICAgICAgICAgICAgaSArPSA0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZiAoc3RhY2tDbGVhbikgewogICAgICAgICAgc3RhY2subGVuZ3RoID0gMDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHBhcnNlKGNvZGUpOwogIH0KCiAgdmFyIG5vb3AgPSAnJzsKCiAgZnVuY3Rpb24gQ29tcGlsZWRGb250KGZvbnRNYXRyaXgpIHsKICAgIHRoaXMuY29tcGlsZWRHbHlwaHMgPSB7fTsKICAgIHRoaXMuZm9udE1hdHJpeCA9IGZvbnRNYXRyaXg7CiAgfQogIENvbXBpbGVkRm9udC5wcm90b3R5cGUgPSB7CiAgICBnZXRQYXRoSnM6IGZ1bmN0aW9uICh1bmljb2RlKSB7CiAgICAgIHZhciBnaWQgPSBsb29rdXBDbWFwKHRoaXMuY21hcCwgdW5pY29kZSk7CiAgICAgIHZhciBmbiA9IHRoaXMuY29tcGlsZWRHbHlwaHNbZ2lkXTsKICAgICAgaWYgKCFmbikgewogICAgICAgIHRoaXMuY29tcGlsZWRHbHlwaHNbZ2lkXSA9IGZuID0gdGhpcy5jb21waWxlR2x5cGgodGhpcy5nbHlwaHNbZ2lkXSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGZuOwogICAgfSwKCiAgICBjb21waWxlR2x5cGg6IGZ1bmN0aW9uIChjb2RlKSB7CiAgICAgIGlmICghY29kZSB8fCBjb2RlLmxlbmd0aCA9PT0gMCB8fCBjb2RlWzBdID09PSAxNCkgewogICAgICAgIHJldHVybiBub29wOwogICAgICB9CgogICAgICB2YXIganMgPSBbXTsKICAgICAganMucHVzaCgnYy5zYXZlKCk7Jyk7CiAgICAgIGpzLnB1c2goJ2MudHJhbnNmb3JtKCcgKyB0aGlzLmZvbnRNYXRyaXguam9pbignLCcpICsgJyk7Jyk7CiAgICAgIGpzLnB1c2goJ2Muc2NhbGUoc2l6ZSwgLXNpemUpOycpOwoKICAgICAgdGhpcy5jb21waWxlR2x5cGhJbXBsKGNvZGUsIGpzKTsKCiAgICAgIGpzLnB1c2goJ2MucmVzdG9yZSgpOycpOwoKICAgICAgcmV0dXJuIGpzLmpvaW4oJ1xuJyk7CiAgICB9LAoKICAgIGNvbXBpbGVHbHlwaEltcGw6IGZ1bmN0aW9uICgpIHsKICAgICAgZXJyb3IoJ0NoaWxkcmVuIGNsYXNzZXMgc2hvdWxkIGltcGxlbWVudCB0aGlzLicpOwogICAgfSwKCiAgICBoYXNCdWlsdFBhdGg6IGZ1bmN0aW9uICh1bmljb2RlKSB7CiAgICAgIHZhciBnaWQgPSBsb29rdXBDbWFwKHRoaXMuY21hcCwgdW5pY29kZSk7CiAgICAgIHJldHVybiBnaWQgaW4gdGhpcy5jb21waWxlZEdseXBoczsKICAgIH0KICB9OwoKICBmdW5jdGlvbiBUcnVlVHlwZUNvbXBpbGVkKGdseXBocywgY21hcCwgZm9udE1hdHJpeCkgewogICAgZm9udE1hdHJpeCA9IGZvbnRNYXRyaXggfHwgWzAuMDAwNDg4LCAwLCAwLCAwLjAwMDQ4OCwgMCwgMF07CiAgICBDb21waWxlZEZvbnQuY2FsbCh0aGlzLCBmb250TWF0cml4KTsKCiAgICB0aGlzLmdseXBocyA9IGdseXBoczsKICAgIHRoaXMuY21hcCA9IGNtYXA7CgogICAgdGhpcy5jb21waWxlZEdseXBocyA9IFtdOwogIH0KCiAgVXRpbC5pbmhlcml0KFRydWVUeXBlQ29tcGlsZWQsIENvbXBpbGVkRm9udCwgewogICAgY29tcGlsZUdseXBoSW1wbDogZnVuY3Rpb24gKGNvZGUsIGpzKSB7CiAgICAgIGNvbXBpbGVHbHlmKGNvZGUsIGpzLCB0aGlzKTsKICAgIH0KICB9KTsKCiAgZnVuY3Rpb24gVHlwZTJDb21waWxlZChjZmZJbmZvLCBjbWFwLCBmb250TWF0cml4LCBnbHlwaE5hbWVNYXApIHsKICAgIGZvbnRNYXRyaXggPSBmb250TWF0cml4IHx8IFswLjAwMSwgMCwgMCwgMC4wMDEsIDAsIDBdOwogICAgQ29tcGlsZWRGb250LmNhbGwodGhpcywgZm9udE1hdHJpeCk7CiAgICB0aGlzLmdseXBocyA9IGNmZkluZm8uZ2x5cGhzOwogICAgdGhpcy5nc3VicnMgPSBjZmZJbmZvLmdzdWJycyB8fCBbXTsKICAgIHRoaXMuc3VicnMgPSBjZmZJbmZvLnN1YnJzIHx8IFtdOwogICAgdGhpcy5jbWFwID0gY21hcDsKICAgIHRoaXMuZ2x5cGhOYW1lTWFwID0gZ2x5cGhOYW1lTWFwIHx8IEdseXBoc1VuaWNvZGU7CgogICAgdGhpcy5jb21waWxlZEdseXBocyA9IFtdOwogICAgdGhpcy5nc3VicnNCaWFzID0gKHRoaXMuZ3N1YnJzLmxlbmd0aCA8IDEyNDAgPwogICAgICAgICAgICAgICAgICAgICAgIDEwNyA6ICh0aGlzLmdzdWJycy5sZW5ndGggPCAzMzkwMCA/IDExMzEgOiAzMjc2OCkpOwogICAgdGhpcy5zdWJyc0JpYXMgPSAodGhpcy5zdWJycy5sZW5ndGggPCAxMjQwID8KICAgICAgICAgICAgICAgICAgICAgIDEwNyA6ICh0aGlzLnN1YnJzLmxlbmd0aCA8IDMzOTAwID8gMTEzMSA6IDMyNzY4KSk7CiAgfQoKICBVdGlsLmluaGVyaXQoVHlwZTJDb21waWxlZCwgQ29tcGlsZWRGb250LCB7CiAgICBjb21waWxlR2x5cGhJbXBsOiBmdW5jdGlvbiAoY29kZSwganMpIHsKICAgICAgY29tcGlsZUNoYXJTdHJpbmcoY29kZSwganMsIHRoaXMpOwogICAgfQogIH0pOwoKCiAgcmV0dXJuIHsKICAgIGNyZWF0ZTogZnVuY3Rpb24gRm9udFJlbmRlcmVyRmFjdG9yeV9jcmVhdGUoZm9udCkgewogICAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KGZvbnQuZGF0YSk7CiAgICAgIHZhciBjbWFwLCBnbHlmLCBsb2NhLCBjZmYsIGluZGV4VG9Mb2NGb3JtYXQsIHVuaXRzUGVyRW07CiAgICAgIHZhciBudW1UYWJsZXMgPSBnZXRVc2hvcnQoZGF0YSwgNCk7CiAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gMTI7IGkgPCBudW1UYWJsZXM7IGkrKywgcCArPSAxNikgewogICAgICAgIHZhciB0YWcgPSBieXRlc1RvU3RyaW5nKGRhdGEuc3ViYXJyYXkocCwgcCArIDQpKTsKICAgICAgICB2YXIgb2Zmc2V0ID0gZ2V0TG9uZyhkYXRhLCBwICsgOCk7CiAgICAgICAgdmFyIGxlbmd0aCA9IGdldExvbmcoZGF0YSwgcCArIDEyKTsKICAgICAgICBzd2l0Y2ggKHRhZykgewogICAgICAgICAgY2FzZSAnY21hcCc6CiAgICAgICAgICAgIGNtYXAgPSBwYXJzZUNtYXAoZGF0YSwgb2Zmc2V0LCBvZmZzZXQgKyBsZW5ndGgpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ2dseWYnOgogICAgICAgICAgICBnbHlmID0gZGF0YS5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIGxlbmd0aCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAnbG9jYSc6CiAgICAgICAgICAgIGxvY2EgPSBkYXRhLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgbGVuZ3RoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdoZWFkJzoKICAgICAgICAgICAgdW5pdHNQZXJFbSA9IGdldFVzaG9ydChkYXRhLCBvZmZzZXQgKyAxOCk7CiAgICAgICAgICAgIGluZGV4VG9Mb2NGb3JtYXQgPSBnZXRVc2hvcnQoZGF0YSwgb2Zmc2V0ICsgNTApOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ0NGRiAnOgogICAgICAgICAgICBjZmYgPSBwYXJzZUNmZihkYXRhLCBvZmZzZXQsIG9mZnNldCArIGxlbmd0aCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGdseWYpIHsKICAgICAgICB2YXIgZm9udE1hdHJpeCA9ICghdW5pdHNQZXJFbSA/IGZvbnQuZm9udE1hdHJpeCA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgWzEgLyB1bml0c1BlckVtLCAwLCAwLCAxIC8gdW5pdHNQZXJFbSwgMCwgMF0pOwogICAgICAgIHJldHVybiBuZXcgVHJ1ZVR5cGVDb21waWxlZCgKICAgICAgICAgIHBhcnNlR2x5ZlRhYmxlKGdseWYsIGxvY2EsIGluZGV4VG9Mb2NGb3JtYXQpLCBjbWFwLCBmb250TWF0cml4KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IFR5cGUyQ29tcGlsZWQoY2ZmLCBjbWFwLCBmb250LmZvbnRNYXRyaXgsIGZvbnQuZ2x5cGhOYW1lTWFwKTsKICAgICAgfQogICAgfQogIH07Cn0pKCk7CgoKdmFyIEdseXBoc1VuaWNvZGUgPSB7CiAgQTogMHgwMDQxLAogIEFFOiAweDAwQzYsCiAgQUVhY3V0ZTogMHgwMUZDLAogIEFFbWFjcm9uOiAweDAxRTIsCiAgQUVzbWFsbDogMHhGN0U2LAogIEFhY3V0ZTogMHgwMEMxLAogIEFhY3V0ZXNtYWxsOiAweEY3RTEsCiAgQWJyZXZlOiAweDAxMDIsCiAgQWJyZXZlYWN1dGU6IDB4MUVBRSwKICBBYnJldmVjeXJpbGxpYzogMHgwNEQwLAogIEFicmV2ZWRvdGJlbG93OiAweDFFQjYsCiAgQWJyZXZlZ3JhdmU6IDB4MUVCMCwKICBBYnJldmVob29rYWJvdmU6IDB4MUVCMiwKICBBYnJldmV0aWxkZTogMHgxRUI0LAogIEFjYXJvbjogMHgwMUNELAogIEFjaXJjbGU6IDB4MjRCNiwKICBBY2lyY3VtZmxleDogMHgwMEMyLAogIEFjaXJjdW1mbGV4YWN1dGU6IDB4MUVBNCwKICBBY2lyY3VtZmxleGRvdGJlbG93OiAweDFFQUMsCiAgQWNpcmN1bWZsZXhncmF2ZTogMHgxRUE2LAogIEFjaXJjdW1mbGV4aG9va2Fib3ZlOiAweDFFQTgsCiAgQWNpcmN1bWZsZXhzbWFsbDogMHhGN0UyLAogIEFjaXJjdW1mbGV4dGlsZGU6IDB4MUVBQSwKICBBY3V0ZTogMHhGNkM5LAogIEFjdXRlc21hbGw6IDB4RjdCNCwKICBBY3lyaWxsaWM6IDB4MDQxMCwKICBBZGJsZ3JhdmU6IDB4MDIwMCwKICBBZGllcmVzaXM6IDB4MDBDNCwKICBBZGllcmVzaXNjeXJpbGxpYzogMHgwNEQyLAogIEFkaWVyZXNpc21hY3JvbjogMHgwMURFLAogIEFkaWVyZXNpc3NtYWxsOiAweEY3RTQsCiAgQWRvdGJlbG93OiAweDFFQTAsCiAgQWRvdG1hY3JvbjogMHgwMUUwLAogIEFncmF2ZTogMHgwMEMwLAogIEFncmF2ZXNtYWxsOiAweEY3RTAsCiAgQWhvb2thYm92ZTogMHgxRUEyLAogIEFpZWN5cmlsbGljOiAweDA0RDQsCiAgQWludmVydGVkYnJldmU6IDB4MDIwMiwKICBBbHBoYTogMHgwMzkxLAogIEFscGhhdG9ub3M6IDB4MDM4NiwKICBBbWFjcm9uOiAweDAxMDAsCiAgQW1vbm9zcGFjZTogMHhGRjIxLAogIEFvZ29uZWs6IDB4MDEwNCwKICBBcmluZzogMHgwMEM1LAogIEFyaW5nYWN1dGU6IDB4MDFGQSwKICBBcmluZ2JlbG93OiAweDFFMDAsCiAgQXJpbmdzbWFsbDogMHhGN0U1LAogIEFzbWFsbDogMHhGNzYxLAogIEF0aWxkZTogMHgwMEMzLAogIEF0aWxkZXNtYWxsOiAweEY3RTMsCiAgQXliYXJtZW5pYW46IDB4MDUzMSwKICBCOiAweDAwNDIsCiAgQmNpcmNsZTogMHgyNEI3LAogIEJkb3RhY2NlbnQ6IDB4MUUwMiwKICBCZG90YmVsb3c6IDB4MUUwNCwKICBCZWN5cmlsbGljOiAweDA0MTEsCiAgQmVuYXJtZW5pYW46IDB4MDUzMiwKICBCZXRhOiAweDAzOTIsCiAgQmhvb2s6IDB4MDE4MSwKICBCbGluZWJlbG93OiAweDFFMDYsCiAgQm1vbm9zcGFjZTogMHhGRjIyLAogIEJyZXZlc21hbGw6IDB4RjZGNCwKICBCc21hbGw6IDB4Rjc2MiwKICBCdG9wYmFyOiAweDAxODIsCiAgQzogMHgwMDQzLAogIENhYXJtZW5pYW46IDB4MDUzRSwKICBDYWN1dGU6IDB4MDEwNiwKICBDYXJvbjogMHhGNkNBLAogIENhcm9uc21hbGw6IDB4RjZGNSwKICBDY2Fyb246IDB4MDEwQywKICBDY2VkaWxsYTogMHgwMEM3LAogIENjZWRpbGxhYWN1dGU6IDB4MUUwOCwKICBDY2VkaWxsYXNtYWxsOiAweEY3RTcsCiAgQ2NpcmNsZTogMHgyNEI4LAogIENjaXJjdW1mbGV4OiAweDAxMDgsCiAgQ2RvdDogMHgwMTBBLAogIENkb3RhY2NlbnQ6IDB4MDEwQSwKICBDZWRpbGxhc21hbGw6IDB4RjdCOCwKICBDaGFhcm1lbmlhbjogMHgwNTQ5LAogIENoZWFia2hhc2lhbmN5cmlsbGljOiAweDA0QkMsCiAgQ2hlY3lyaWxsaWM6IDB4MDQyNywKICBDaGVkZXNjZW5kZXJhYmtoYXNpYW5jeXJpbGxpYzogMHgwNEJFLAogIENoZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0QjYsCiAgQ2hlZGllcmVzaXNjeXJpbGxpYzogMHgwNEY0LAogIENoZWhhcm1lbmlhbjogMHgwNTQzLAogIENoZWtoYWthc3NpYW5jeXJpbGxpYzogMHgwNENCLAogIENoZXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM6IDB4MDRCOCwKICBDaGk6IDB4MDNBNywKICBDaG9vazogMHgwMTg3LAogIENpcmN1bWZsZXhzbWFsbDogMHhGNkY2LAogIENtb25vc3BhY2U6IDB4RkYyMywKICBDb2FybWVuaWFuOiAweDA1NTEsCiAgQ3NtYWxsOiAweEY3NjMsCiAgRDogMHgwMDQ0LAogIERaOiAweDAxRjEsCiAgRFpjYXJvbjogMHgwMUM0LAogIERhYXJtZW5pYW46IDB4MDUzNCwKICBEYWZyaWNhbjogMHgwMTg5LAogIERjYXJvbjogMHgwMTBFLAogIERjZWRpbGxhOiAweDFFMTAsCiAgRGNpcmNsZTogMHgyNEI5LAogIERjaXJjdW1mbGV4YmVsb3c6IDB4MUUxMiwKICBEY3JvYXQ6IDB4MDExMCwKICBEZG90YWNjZW50OiAweDFFMEEsCiAgRGRvdGJlbG93OiAweDFFMEMsCiAgRGVjeXJpbGxpYzogMHgwNDE0LAogIERlaWNvcHRpYzogMHgwM0VFLAogIERlbHRhOiAweDIyMDYsCiAgRGVsdGFncmVlazogMHgwMzk0LAogIERob29rOiAweDAxOEEsCiAgRGllcmVzaXM6IDB4RjZDQiwKICBEaWVyZXNpc0FjdXRlOiAweEY2Q0MsCiAgRGllcmVzaXNHcmF2ZTogMHhGNkNELAogIERpZXJlc2lzc21hbGw6IDB4RjdBOCwKICBEaWdhbW1hZ3JlZWs6IDB4MDNEQywKICBEamVjeXJpbGxpYzogMHgwNDAyLAogIERsaW5lYmVsb3c6IDB4MUUwRSwKICBEbW9ub3NwYWNlOiAweEZGMjQsCiAgRG90YWNjZW50c21hbGw6IDB4RjZGNywKICBEc2xhc2g6IDB4MDExMCwKICBEc21hbGw6IDB4Rjc2NCwKICBEdG9wYmFyOiAweDAxOEIsCiAgRHo6IDB4MDFGMiwKICBEemNhcm9uOiAweDAxQzUsCiAgRHplYWJraGFzaWFuY3lyaWxsaWM6IDB4MDRFMCwKICBEemVjeXJpbGxpYzogMHgwNDA1LAogIER6aGVjeXJpbGxpYzogMHgwNDBGLAogIEU6IDB4MDA0NSwKICBFYWN1dGU6IDB4MDBDOSwKICBFYWN1dGVzbWFsbDogMHhGN0U5LAogIEVicmV2ZTogMHgwMTE0LAogIEVjYXJvbjogMHgwMTFBLAogIEVjZWRpbGxhYnJldmU6IDB4MUUxQywKICBFY2hhcm1lbmlhbjogMHgwNTM1LAogIEVjaXJjbGU6IDB4MjRCQSwKICBFY2lyY3VtZmxleDogMHgwMENBLAogIEVjaXJjdW1mbGV4YWN1dGU6IDB4MUVCRSwKICBFY2lyY3VtZmxleGJlbG93OiAweDFFMTgsCiAgRWNpcmN1bWZsZXhkb3RiZWxvdzogMHgxRUM2LAogIEVjaXJjdW1mbGV4Z3JhdmU6IDB4MUVDMCwKICBFY2lyY3VtZmxleGhvb2thYm92ZTogMHgxRUMyLAogIEVjaXJjdW1mbGV4c21hbGw6IDB4RjdFQSwKICBFY2lyY3VtZmxleHRpbGRlOiAweDFFQzQsCiAgRWN5cmlsbGljOiAweDA0MDQsCiAgRWRibGdyYXZlOiAweDAyMDQsCiAgRWRpZXJlc2lzOiAweDAwQ0IsCiAgRWRpZXJlc2lzc21hbGw6IDB4RjdFQiwKICBFZG90OiAweDAxMTYsCiAgRWRvdGFjY2VudDogMHgwMTE2LAogIEVkb3RiZWxvdzogMHgxRUI4LAogIEVmY3lyaWxsaWM6IDB4MDQyNCwKICBFZ3JhdmU6IDB4MDBDOCwKICBFZ3JhdmVzbWFsbDogMHhGN0U4LAogIEVoYXJtZW5pYW46IDB4MDUzNywKICBFaG9va2Fib3ZlOiAweDFFQkEsCiAgRWlnaHRyb21hbjogMHgyMTY3LAogIEVpbnZlcnRlZGJyZXZlOiAweDAyMDYsCiAgRWlvdGlmaWVkY3lyaWxsaWM6IDB4MDQ2NCwKICBFbGN5cmlsbGljOiAweDA0MUIsCiAgRWxldmVucm9tYW46IDB4MjE2QSwKICBFbWFjcm9uOiAweDAxMTIsCiAgRW1hY3JvbmFjdXRlOiAweDFFMTYsCiAgRW1hY3JvbmdyYXZlOiAweDFFMTQsCiAgRW1jeXJpbGxpYzogMHgwNDFDLAogIEVtb25vc3BhY2U6IDB4RkYyNSwKICBFbmN5cmlsbGljOiAweDA0MUQsCiAgRW5kZXNjZW5kZXJjeXJpbGxpYzogMHgwNEEyLAogIEVuZzogMHgwMTRBLAogIEVuZ2hlY3lyaWxsaWM6IDB4MDRBNCwKICBFbmhvb2tjeXJpbGxpYzogMHgwNEM3LAogIEVvZ29uZWs6IDB4MDExOCwKICBFb3BlbjogMHgwMTkwLAogIEVwc2lsb246IDB4MDM5NSwKICBFcHNpbG9udG9ub3M6IDB4MDM4OCwKICBFcmN5cmlsbGljOiAweDA0MjAsCiAgRXJldmVyc2VkOiAweDAxOEUsCiAgRXJldmVyc2VkY3lyaWxsaWM6IDB4MDQyRCwKICBFc2N5cmlsbGljOiAweDA0MjEsCiAgRXNkZXNjZW5kZXJjeXJpbGxpYzogMHgwNEFBLAogIEVzaDogMHgwMUE5LAogIEVzbWFsbDogMHhGNzY1LAogIEV0YTogMHgwMzk3LAogIEV0YXJtZW5pYW46IDB4MDUzOCwKICBFdGF0b25vczogMHgwMzg5LAogIEV0aDogMHgwMEQwLAogIEV0aHNtYWxsOiAweEY3RjAsCiAgRXRpbGRlOiAweDFFQkMsCiAgRXRpbGRlYmVsb3c6IDB4MUUxQSwKICBFdXJvOiAweDIwQUMsCiAgRXpoOiAweDAxQjcsCiAgRXpoY2Fyb246IDB4MDFFRSwKICBFemhyZXZlcnNlZDogMHgwMUI4LAogIEY6IDB4MDA0NiwKICBGY2lyY2xlOiAweDI0QkIsCiAgRmRvdGFjY2VudDogMHgxRTFFLAogIEZlaGFybWVuaWFuOiAweDA1NTYsCiAgRmVpY29wdGljOiAweDAzRTQsCiAgRmhvb2s6IDB4MDE5MSwKICBGaXRhY3lyaWxsaWM6IDB4MDQ3MiwKICBGaXZlcm9tYW46IDB4MjE2NCwKICBGbW9ub3NwYWNlOiAweEZGMjYsCiAgRm91cnJvbWFuOiAweDIxNjMsCiAgRnNtYWxsOiAweEY3NjYsCiAgRzogMHgwMDQ3LAogIEdCc3F1YXJlOiAweDMzODcsCiAgR2FjdXRlOiAweDAxRjQsCiAgR2FtbWE6IDB4MDM5MywKICBHYW1tYWFmcmljYW46IDB4MDE5NCwKICBHYW5naWFjb3B0aWM6IDB4MDNFQSwKICBHYnJldmU6IDB4MDExRSwKICBHY2Fyb246IDB4MDFFNiwKICBHY2VkaWxsYTogMHgwMTIyLAogIEdjaXJjbGU6IDB4MjRCQywKICBHY2lyY3VtZmxleDogMHgwMTFDLAogIEdjb21tYWFjY2VudDogMHgwMTIyLAogIEdkb3Q6IDB4MDEyMCwKICBHZG90YWNjZW50OiAweDAxMjAsCiAgR2VjeXJpbGxpYzogMHgwNDEzLAogIEdoYWRhcm1lbmlhbjogMHgwNTQyLAogIEdoZW1pZGRsZWhvb2tjeXJpbGxpYzogMHgwNDk0LAogIEdoZXN0cm9rZWN5cmlsbGljOiAweDA0OTIsCiAgR2hldXB0dXJuY3lyaWxsaWM6IDB4MDQ5MCwKICBHaG9vazogMHgwMTkzLAogIEdpbWFybWVuaWFuOiAweDA1MzMsCiAgR2plY3lyaWxsaWM6IDB4MDQwMywKICBHbWFjcm9uOiAweDFFMjAsCiAgR21vbm9zcGFjZTogMHhGRjI3LAogIEdyYXZlOiAweEY2Q0UsCiAgR3JhdmVzbWFsbDogMHhGNzYwLAogIEdzbWFsbDogMHhGNzY3LAogIEdzbWFsbGhvb2s6IDB4MDI5QiwKICBHc3Ryb2tlOiAweDAxRTQsCiAgSDogMHgwMDQ4LAogIEgxODUzMzogMHgyNUNGLAogIEgxODU0MzogMHgyNUFBLAogIEgxODU1MTogMHgyNUFCLAogIEgyMjA3MzogMHgyNUExLAogIEhQc3F1YXJlOiAweDMzQ0IsCiAgSGFhYmtoYXNpYW5jeXJpbGxpYzogMHgwNEE4LAogIEhhZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDRCMiwKICBIYXJkc2lnbmN5cmlsbGljOiAweDA0MkEsCiAgSGJhcjogMHgwMTI2LAogIEhicmV2ZWJlbG93OiAweDFFMkEsCiAgSGNlZGlsbGE6IDB4MUUyOCwKICBIY2lyY2xlOiAweDI0QkQsCiAgSGNpcmN1bWZsZXg6IDB4MDEyNCwKICBIZGllcmVzaXM6IDB4MUUyNiwKICBIZG90YWNjZW50OiAweDFFMjIsCiAgSGRvdGJlbG93OiAweDFFMjQsCiAgSG1vbm9zcGFjZTogMHhGRjI4LAogIEhvYXJtZW5pYW46IDB4MDU0MCwKICBIb3JpY29wdGljOiAweDAzRTgsCiAgSHNtYWxsOiAweEY3NjgsCiAgSHVuZ2FydW1sYXV0OiAweEY2Q0YsCiAgSHVuZ2FydW1sYXV0c21hbGw6IDB4RjZGOCwKICBIenNxdWFyZTogMHgzMzkwLAogIEk6IDB4MDA0OSwKICBJQWN5cmlsbGljOiAweDA0MkYsCiAgSUo6IDB4MDEzMiwKICBJVWN5cmlsbGljOiAweDA0MkUsCiAgSWFjdXRlOiAweDAwQ0QsCiAgSWFjdXRlc21hbGw6IDB4RjdFRCwKICBJYnJldmU6IDB4MDEyQywKICBJY2Fyb246IDB4MDFDRiwKICBJY2lyY2xlOiAweDI0QkUsCiAgSWNpcmN1bWZsZXg6IDB4MDBDRSwKICBJY2lyY3VtZmxleHNtYWxsOiAweEY3RUUsCiAgSWN5cmlsbGljOiAweDA0MDYsCiAgSWRibGdyYXZlOiAweDAyMDgsCiAgSWRpZXJlc2lzOiAweDAwQ0YsCiAgSWRpZXJlc2lzYWN1dGU6IDB4MUUyRSwKICBJZGllcmVzaXNjeXJpbGxpYzogMHgwNEU0LAogIElkaWVyZXNpc3NtYWxsOiAweEY3RUYsCiAgSWRvdDogMHgwMTMwLAogIElkb3RhY2NlbnQ6IDB4MDEzMCwKICBJZG90YmVsb3c6IDB4MUVDQSwKICBJZWJyZXZlY3lyaWxsaWM6IDB4MDRENiwKICBJZWN5cmlsbGljOiAweDA0MTUsCiAgSWZyYWt0dXI6IDB4MjExMSwKICBJZ3JhdmU6IDB4MDBDQywKICBJZ3JhdmVzbWFsbDogMHhGN0VDLAogIElob29rYWJvdmU6IDB4MUVDOCwKICBJaWN5cmlsbGljOiAweDA0MTgsCiAgSWludmVydGVkYnJldmU6IDB4MDIwQSwKICBJaXNob3J0Y3lyaWxsaWM6IDB4MDQxOSwKICBJbWFjcm9uOiAweDAxMkEsCiAgSW1hY3JvbmN5cmlsbGljOiAweDA0RTIsCiAgSW1vbm9zcGFjZTogMHhGRjI5LAogIEluaWFybWVuaWFuOiAweDA1M0IsCiAgSW9jeXJpbGxpYzogMHgwNDAxLAogIElvZ29uZWs6IDB4MDEyRSwKICBJb3RhOiAweDAzOTksCiAgSW90YWFmcmljYW46IDB4MDE5NiwKICBJb3RhZGllcmVzaXM6IDB4MDNBQSwKICBJb3RhdG9ub3M6IDB4MDM4QSwKICBJc21hbGw6IDB4Rjc2OSwKICBJc3Ryb2tlOiAweDAxOTcsCiAgSXRpbGRlOiAweDAxMjgsCiAgSXRpbGRlYmVsb3c6IDB4MUUyQywKICBJemhpdHNhY3lyaWxsaWM6IDB4MDQ3NCwKICBJemhpdHNhZGJsZ3JhdmVjeXJpbGxpYzogMHgwNDc2LAogIEo6IDB4MDA0QSwKICBKYWFybWVuaWFuOiAweDA1NDEsCiAgSmNpcmNsZTogMHgyNEJGLAogIEpjaXJjdW1mbGV4OiAweDAxMzQsCiAgSmVjeXJpbGxpYzogMHgwNDA4LAogIEpoZWhhcm1lbmlhbjogMHgwNTRCLAogIEptb25vc3BhY2U6IDB4RkYyQSwKICBKc21hbGw6IDB4Rjc2QSwKICBLOiAweDAwNEIsCiAgS0JzcXVhcmU6IDB4MzM4NSwKICBLS3NxdWFyZTogMHgzM0NELAogIEthYmFzaGtpcmN5cmlsbGljOiAweDA0QTAsCiAgS2FjdXRlOiAweDFFMzAsCiAgS2FjeXJpbGxpYzogMHgwNDFBLAogIEthZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDQ5QSwKICBLYWhvb2tjeXJpbGxpYzogMHgwNEMzLAogIEthcHBhOiAweDAzOUEsCiAgS2FzdHJva2VjeXJpbGxpYzogMHgwNDlFLAogIEthdmVydGljYWxzdHJva2VjeXJpbGxpYzogMHgwNDlDLAogIEtjYXJvbjogMHgwMUU4LAogIEtjZWRpbGxhOiAweDAxMzYsCiAgS2NpcmNsZTogMHgyNEMwLAogIEtjb21tYWFjY2VudDogMHgwMTM2LAogIEtkb3RiZWxvdzogMHgxRTMyLAogIEtlaGFybWVuaWFuOiAweDA1NTQsCiAgS2VuYXJtZW5pYW46IDB4MDUzRiwKICBLaGFjeXJpbGxpYzogMHgwNDI1LAogIEtoZWljb3B0aWM6IDB4MDNFNiwKICBLaG9vazogMHgwMTk4LAogIEtqZWN5cmlsbGljOiAweDA0MEMsCiAgS2xpbmViZWxvdzogMHgxRTM0LAogIEttb25vc3BhY2U6IDB4RkYyQiwKICBLb3BwYWN5cmlsbGljOiAweDA0ODAsCiAgS29wcGFncmVlazogMHgwM0RFLAogIEtzaWN5cmlsbGljOiAweDA0NkUsCiAgS3NtYWxsOiAweEY3NkIsCiAgTDogMHgwMDRDLAogIExKOiAweDAxQzcsCiAgTEw6IDB4RjZCRiwKICBMYWN1dGU6IDB4MDEzOSwKICBMYW1iZGE6IDB4MDM5QiwKICBMY2Fyb246IDB4MDEzRCwKICBMY2VkaWxsYTogMHgwMTNCLAogIExjaXJjbGU6IDB4MjRDMSwKICBMY2lyY3VtZmxleGJlbG93OiAweDFFM0MsCiAgTGNvbW1hYWNjZW50OiAweDAxM0IsCiAgTGRvdDogMHgwMTNGLAogIExkb3RhY2NlbnQ6IDB4MDEzRiwKICBMZG90YmVsb3c6IDB4MUUzNiwKICBMZG90YmVsb3dtYWNyb246IDB4MUUzOCwKICBMaXduYXJtZW5pYW46IDB4MDUzQywKICBMajogMHgwMUM4LAogIExqZWN5cmlsbGljOiAweDA0MDksCiAgTGxpbmViZWxvdzogMHgxRTNBLAogIExtb25vc3BhY2U6IDB4RkYyQywKICBMc2xhc2g6IDB4MDE0MSwKICBMc2xhc2hzbWFsbDogMHhGNkY5LAogIExzbWFsbDogMHhGNzZDLAogIE06IDB4MDA0RCwKICBNQnNxdWFyZTogMHgzMzg2LAogIE1hY3JvbjogMHhGNkQwLAogIE1hY3JvbnNtYWxsOiAweEY3QUYsCiAgTWFjdXRlOiAweDFFM0UsCiAgTWNpcmNsZTogMHgyNEMyLAogIE1kb3RhY2NlbnQ6IDB4MUU0MCwKICBNZG90YmVsb3c6IDB4MUU0MiwKICBNZW5hcm1lbmlhbjogMHgwNTQ0LAogIE1tb25vc3BhY2U6IDB4RkYyRCwKICBNc21hbGw6IDB4Rjc2RCwKICBNdHVybmVkOiAweDAxOUMsCiAgTXU6IDB4MDM5QywKICBOOiAweDAwNEUsCiAgTko6IDB4MDFDQSwKICBOYWN1dGU6IDB4MDE0MywKICBOY2Fyb246IDB4MDE0NywKICBOY2VkaWxsYTogMHgwMTQ1LAogIE5jaXJjbGU6IDB4MjRDMywKICBOY2lyY3VtZmxleGJlbG93OiAweDFFNEEsCiAgTmNvbW1hYWNjZW50OiAweDAxNDUsCiAgTmRvdGFjY2VudDogMHgxRTQ0LAogIE5kb3RiZWxvdzogMHgxRTQ2LAogIE5ob29rbGVmdDogMHgwMTlELAogIE5pbmVyb21hbjogMHgyMTY4LAogIE5qOiAweDAxQ0IsCiAgTmplY3lyaWxsaWM6IDB4MDQwQSwKICBObGluZWJlbG93OiAweDFFNDgsCiAgTm1vbm9zcGFjZTogMHhGRjJFLAogIE5vd2FybWVuaWFuOiAweDA1NDYsCiAgTnNtYWxsOiAweEY3NkUsCiAgTnRpbGRlOiAweDAwRDEsCiAgTnRpbGRlc21hbGw6IDB4RjdGMSwKICBOdTogMHgwMzlELAogIE86IDB4MDA0RiwKICBPRTogMHgwMTUyLAogIE9Fc21hbGw6IDB4RjZGQSwKICBPYWN1dGU6IDB4MDBEMywKICBPYWN1dGVzbWFsbDogMHhGN0YzLAogIE9iYXJyZWRjeXJpbGxpYzogMHgwNEU4LAogIE9iYXJyZWRkaWVyZXNpc2N5cmlsbGljOiAweDA0RUEsCiAgT2JyZXZlOiAweDAxNEUsCiAgT2Nhcm9uOiAweDAxRDEsCiAgT2NlbnRlcmVkdGlsZGU6IDB4MDE5RiwKICBPY2lyY2xlOiAweDI0QzQsCiAgT2NpcmN1bWZsZXg6IDB4MDBENCwKICBPY2lyY3VtZmxleGFjdXRlOiAweDFFRDAsCiAgT2NpcmN1bWZsZXhkb3RiZWxvdzogMHgxRUQ4LAogIE9jaXJjdW1mbGV4Z3JhdmU6IDB4MUVEMiwKICBPY2lyY3VtZmxleGhvb2thYm92ZTogMHgxRUQ0LAogIE9jaXJjdW1mbGV4c21hbGw6IDB4RjdGNCwKICBPY2lyY3VtZmxleHRpbGRlOiAweDFFRDYsCiAgT2N5cmlsbGljOiAweDA0MUUsCiAgT2RibGFjdXRlOiAweDAxNTAsCiAgT2RibGdyYXZlOiAweDAyMEMsCiAgT2RpZXJlc2lzOiAweDAwRDYsCiAgT2RpZXJlc2lzY3lyaWxsaWM6IDB4MDRFNiwKICBPZGllcmVzaXNzbWFsbDogMHhGN0Y2LAogIE9kb3RiZWxvdzogMHgxRUNDLAogIE9nb25la3NtYWxsOiAweEY2RkIsCiAgT2dyYXZlOiAweDAwRDIsCiAgT2dyYXZlc21hbGw6IDB4RjdGMiwKICBPaGFybWVuaWFuOiAweDA1NTUsCiAgT2htOiAweDIxMjYsCiAgT2hvb2thYm92ZTogMHgxRUNFLAogIE9ob3JuOiAweDAxQTAsCiAgT2hvcm5hY3V0ZTogMHgxRURBLAogIE9ob3JuZG90YmVsb3c6IDB4MUVFMiwKICBPaG9ybmdyYXZlOiAweDFFREMsCiAgT2hvcm5ob29rYWJvdmU6IDB4MUVERSwKICBPaG9ybnRpbGRlOiAweDFFRTAsCiAgT2h1bmdhcnVtbGF1dDogMHgwMTUwLAogIE9pOiAweDAxQTIsCiAgT2ludmVydGVkYnJldmU6IDB4MDIwRSwKICBPbWFjcm9uOiAweDAxNEMsCiAgT21hY3JvbmFjdXRlOiAweDFFNTIsCiAgT21hY3JvbmdyYXZlOiAweDFFNTAsCiAgT21lZ2E6IDB4MjEyNiwKICBPbWVnYWN5cmlsbGljOiAweDA0NjAsCiAgT21lZ2FncmVlazogMHgwM0E5LAogIE9tZWdhcm91bmRjeXJpbGxpYzogMHgwNDdBLAogIE9tZWdhdGl0bG9jeXJpbGxpYzogMHgwNDdDLAogIE9tZWdhdG9ub3M6IDB4MDM4RiwKICBPbWljcm9uOiAweDAzOUYsCiAgT21pY3JvbnRvbm9zOiAweDAzOEMsCiAgT21vbm9zcGFjZTogMHhGRjJGLAogIE9uZXJvbWFuOiAweDIxNjAsCiAgT29nb25lazogMHgwMUVBLAogIE9vZ29uZWttYWNyb246IDB4MDFFQywKICBPb3BlbjogMHgwMTg2LAogIE9zbGFzaDogMHgwMEQ4LAogIE9zbGFzaGFjdXRlOiAweDAxRkUsCiAgT3NsYXNoc21hbGw6IDB4RjdGOCwKICBPc21hbGw6IDB4Rjc2RiwKICBPc3Ryb2tlYWN1dGU6IDB4MDFGRSwKICBPdGN5cmlsbGljOiAweDA0N0UsCiAgT3RpbGRlOiAweDAwRDUsCiAgT3RpbGRlYWN1dGU6IDB4MUU0QywKICBPdGlsZGVkaWVyZXNpczogMHgxRTRFLAogIE90aWxkZXNtYWxsOiAweEY3RjUsCiAgUDogMHgwMDUwLAogIFBhY3V0ZTogMHgxRTU0LAogIFBjaXJjbGU6IDB4MjRDNSwKICBQZG90YWNjZW50OiAweDFFNTYsCiAgUGVjeXJpbGxpYzogMHgwNDFGLAogIFBlaGFybWVuaWFuOiAweDA1NEEsCiAgUGVtaWRkbGVob29rY3lyaWxsaWM6IDB4MDRBNiwKICBQaGk6IDB4MDNBNiwKICBQaG9vazogMHgwMUE0LAogIFBpOiAweDAzQTAsCiAgUGl3cmFybWVuaWFuOiAweDA1NTMsCiAgUG1vbm9zcGFjZTogMHhGRjMwLAogIFBzaTogMHgwM0E4LAogIFBzaWN5cmlsbGljOiAweDA0NzAsCiAgUHNtYWxsOiAweEY3NzAsCiAgUTogMHgwMDUxLAogIFFjaXJjbGU6IDB4MjRDNiwKICBRbW9ub3NwYWNlOiAweEZGMzEsCiAgUXNtYWxsOiAweEY3NzEsCiAgUjogMHgwMDUyLAogIFJhYXJtZW5pYW46IDB4MDU0QywKICBSYWN1dGU6IDB4MDE1NCwKICBSY2Fyb246IDB4MDE1OCwKICBSY2VkaWxsYTogMHgwMTU2LAogIFJjaXJjbGU6IDB4MjRDNywKICBSY29tbWFhY2NlbnQ6IDB4MDE1NiwKICBSZGJsZ3JhdmU6IDB4MDIxMCwKICBSZG90YWNjZW50OiAweDFFNTgsCiAgUmRvdGJlbG93OiAweDFFNUEsCiAgUmRvdGJlbG93bWFjcm9uOiAweDFFNUMsCiAgUmVoYXJtZW5pYW46IDB4MDU1MCwKICBSZnJha3R1cjogMHgyMTFDLAogIFJobzogMHgwM0ExLAogIFJpbmdzbWFsbDogMHhGNkZDLAogIFJpbnZlcnRlZGJyZXZlOiAweDAyMTIsCiAgUmxpbmViZWxvdzogMHgxRTVFLAogIFJtb25vc3BhY2U6IDB4RkYzMiwKICBSc21hbGw6IDB4Rjc3MiwKICBSc21hbGxpbnZlcnRlZDogMHgwMjgxLAogIFJzbWFsbGludmVydGVkc3VwZXJpb3I6IDB4MDJCNiwKICBTOiAweDAwNTMsCiAgU0YwMTAwMDA6IDB4MjUwQywKICBTRjAyMDAwMDogMHgyNTE0LAogIFNGMDMwMDAwOiAweDI1MTAsCiAgU0YwNDAwMDA6IDB4MjUxOCwKICBTRjA1MDAwMDogMHgyNTNDLAogIFNGMDYwMDAwOiAweDI1MkMsCiAgU0YwNzAwMDA6IDB4MjUzNCwKICBTRjA4MDAwMDogMHgyNTFDLAogIFNGMDkwMDAwOiAweDI1MjQsCiAgU0YxMDAwMDA6IDB4MjUwMCwKICBTRjExMDAwMDogMHgyNTAyLAogIFNGMTkwMDAwOiAweDI1NjEsCiAgU0YyMDAwMDA6IDB4MjU2MiwKICBTRjIxMDAwMDogMHgyNTU2LAogIFNGMjIwMDAwOiAweDI1NTUsCiAgU0YyMzAwMDA6IDB4MjU2MywKICBTRjI0MDAwMDogMHgyNTUxLAogIFNGMjUwMDAwOiAweDI1NTcsCiAgU0YyNjAwMDA6IDB4MjU1RCwKICBTRjI3MDAwMDogMHgyNTVDLAogIFNGMjgwMDAwOiAweDI1NUIsCiAgU0YzNjAwMDA6IDB4MjU1RSwKICBTRjM3MDAwMDogMHgyNTVGLAogIFNGMzgwMDAwOiAweDI1NUEsCiAgU0YzOTAwMDA6IDB4MjU1NCwKICBTRjQwMDAwMDogMHgyNTY5LAogIFNGNDEwMDAwOiAweDI1NjYsCiAgU0Y0MjAwMDA6IDB4MjU2MCwKICBTRjQzMDAwMDogMHgyNTUwLAogIFNGNDQwMDAwOiAweDI1NkMsCiAgU0Y0NTAwMDA6IDB4MjU2NywKICBTRjQ2MDAwMDogMHgyNTY4LAogIFNGNDcwMDAwOiAweDI1NjQsCiAgU0Y0ODAwMDA6IDB4MjU2NSwKICBTRjQ5MDAwMDogMHgyNTU5LAogIFNGNTAwMDAwOiAweDI1NTgsCiAgU0Y1MTAwMDA6IDB4MjU1MiwKICBTRjUyMDAwMDogMHgyNTUzLAogIFNGNTMwMDAwOiAweDI1NkIsCiAgU0Y1NDAwMDA6IDB4MjU2QSwKICBTYWN1dGU6IDB4MDE1QSwKICBTYWN1dGVkb3RhY2NlbnQ6IDB4MUU2NCwKICBTYW1waWdyZWVrOiAweDAzRTAsCiAgU2Nhcm9uOiAweDAxNjAsCiAgU2Nhcm9uZG90YWNjZW50OiAweDFFNjYsCiAgU2Nhcm9uc21hbGw6IDB4RjZGRCwKICBTY2VkaWxsYTogMHgwMTVFLAogIFNjaHdhOiAweDAxOEYsCiAgU2Nod2FjeXJpbGxpYzogMHgwNEQ4LAogIFNjaHdhZGllcmVzaXNjeXJpbGxpYzogMHgwNERBLAogIFNjaXJjbGU6IDB4MjRDOCwKICBTY2lyY3VtZmxleDogMHgwMTVDLAogIFNjb21tYWFjY2VudDogMHgwMjE4LAogIFNkb3RhY2NlbnQ6IDB4MUU2MCwKICBTZG90YmVsb3c6IDB4MUU2MiwKICBTZG90YmVsb3dkb3RhY2NlbnQ6IDB4MUU2OCwKICBTZWhhcm1lbmlhbjogMHgwNTRELAogIFNldmVucm9tYW46IDB4MjE2NiwKICBTaGFhcm1lbmlhbjogMHgwNTQ3LAogIFNoYWN5cmlsbGljOiAweDA0MjgsCiAgU2hjaGFjeXJpbGxpYzogMHgwNDI5LAogIFNoZWljb3B0aWM6IDB4MDNFMiwKICBTaGhhY3lyaWxsaWM6IDB4MDRCQSwKICBTaGltYWNvcHRpYzogMHgwM0VDLAogIFNpZ21hOiAweDAzQTMsCiAgU2l4cm9tYW46IDB4MjE2NSwKICBTbW9ub3NwYWNlOiAweEZGMzMsCiAgU29mdHNpZ25jeXJpbGxpYzogMHgwNDJDLAogIFNzbWFsbDogMHhGNzczLAogIFN0aWdtYWdyZWVrOiAweDAzREEsCiAgVDogMHgwMDU0LAogIFRhdTogMHgwM0E0LAogIFRiYXI6IDB4MDE2NiwKICBUY2Fyb246IDB4MDE2NCwKICBUY2VkaWxsYTogMHgwMTYyLAogIFRjaXJjbGU6IDB4MjRDOSwKICBUY2lyY3VtZmxleGJlbG93OiAweDFFNzAsCiAgVGNvbW1hYWNjZW50OiAweDAxNjIsCiAgVGRvdGFjY2VudDogMHgxRTZBLAogIFRkb3RiZWxvdzogMHgxRTZDLAogIFRlY3lyaWxsaWM6IDB4MDQyMiwKICBUZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0QUMsCiAgVGVucm9tYW46IDB4MjE2OSwKICBUZXRzZWN5cmlsbGljOiAweDA0QjQsCiAgVGhldGE6IDB4MDM5OCwKICBUaG9vazogMHgwMUFDLAogIFRob3JuOiAweDAwREUsCiAgVGhvcm5zbWFsbDogMHhGN0ZFLAogIFRocmVlcm9tYW46IDB4MjE2MiwKICBUaWxkZXNtYWxsOiAweEY2RkUsCiAgVGl3bmFybWVuaWFuOiAweDA1NEYsCiAgVGxpbmViZWxvdzogMHgxRTZFLAogIFRtb25vc3BhY2U6IDB4RkYzNCwKICBUb2FybWVuaWFuOiAweDA1MzksCiAgVG9uZWZpdmU6IDB4MDFCQywKICBUb25lc2l4OiAweDAxODQsCiAgVG9uZXR3bzogMHgwMUE3LAogIFRyZXRyb2ZsZXhob29rOiAweDAxQUUsCiAgVHNlY3lyaWxsaWM6IDB4MDQyNiwKICBUc2hlY3lyaWxsaWM6IDB4MDQwQiwKICBUc21hbGw6IDB4Rjc3NCwKICBUd2VsdmVyb21hbjogMHgyMTZCLAogIFR3b3JvbWFuOiAweDIxNjEsCiAgVTogMHgwMDU1LAogIFVhY3V0ZTogMHgwMERBLAogIFVhY3V0ZXNtYWxsOiAweEY3RkEsCiAgVWJyZXZlOiAweDAxNkMsCiAgVWNhcm9uOiAweDAxRDMsCiAgVWNpcmNsZTogMHgyNENBLAogIFVjaXJjdW1mbGV4OiAweDAwREIsCiAgVWNpcmN1bWZsZXhiZWxvdzogMHgxRTc2LAogIFVjaXJjdW1mbGV4c21hbGw6IDB4RjdGQiwKICBVY3lyaWxsaWM6IDB4MDQyMywKICBVZGJsYWN1dGU6IDB4MDE3MCwKICBVZGJsZ3JhdmU6IDB4MDIxNCwKICBVZGllcmVzaXM6IDB4MDBEQywKICBVZGllcmVzaXNhY3V0ZTogMHgwMUQ3LAogIFVkaWVyZXNpc2JlbG93OiAweDFFNzIsCiAgVWRpZXJlc2lzY2Fyb246IDB4MDFEOSwKICBVZGllcmVzaXNjeXJpbGxpYzogMHgwNEYwLAogIFVkaWVyZXNpc2dyYXZlOiAweDAxREIsCiAgVWRpZXJlc2lzbWFjcm9uOiAweDAxRDUsCiAgVWRpZXJlc2lzc21hbGw6IDB4RjdGQywKICBVZG90YmVsb3c6IDB4MUVFNCwKICBVZ3JhdmU6IDB4MDBEOSwKICBVZ3JhdmVzbWFsbDogMHhGN0Y5LAogIFVob29rYWJvdmU6IDB4MUVFNiwKICBVaG9ybjogMHgwMUFGLAogIFVob3JuYWN1dGU6IDB4MUVFOCwKICBVaG9ybmRvdGJlbG93OiAweDFFRjAsCiAgVWhvcm5ncmF2ZTogMHgxRUVBLAogIFVob3JuaG9va2Fib3ZlOiAweDFFRUMsCiAgVWhvcm50aWxkZTogMHgxRUVFLAogIFVodW5nYXJ1bWxhdXQ6IDB4MDE3MCwKICBVaHVuZ2FydW1sYXV0Y3lyaWxsaWM6IDB4MDRGMiwKICBVaW52ZXJ0ZWRicmV2ZTogMHgwMjE2LAogIFVrY3lyaWxsaWM6IDB4MDQ3OCwKICBVbWFjcm9uOiAweDAxNkEsCiAgVW1hY3JvbmN5cmlsbGljOiAweDA0RUUsCiAgVW1hY3JvbmRpZXJlc2lzOiAweDFFN0EsCiAgVW1vbm9zcGFjZTogMHhGRjM1LAogIFVvZ29uZWs6IDB4MDE3MiwKICBVcHNpbG9uOiAweDAzQTUsCiAgVXBzaWxvbjE6IDB4MDNEMiwKICBVcHNpbG9uYWN1dGVob29rc3ltYm9sZ3JlZWs6IDB4MDNEMywKICBVcHNpbG9uYWZyaWNhbjogMHgwMUIxLAogIFVwc2lsb25kaWVyZXNpczogMHgwM0FCLAogIFVwc2lsb25kaWVyZXNpc2hvb2tzeW1ib2xncmVlazogMHgwM0Q0LAogIFVwc2lsb25ob29rc3ltYm9sOiAweDAzRDIsCiAgVXBzaWxvbnRvbm9zOiAweDAzOEUsCiAgVXJpbmc6IDB4MDE2RSwKICBVc2hvcnRjeXJpbGxpYzogMHgwNDBFLAogIFVzbWFsbDogMHhGNzc1LAogIFVzdHJhaWdodGN5cmlsbGljOiAweDA0QUUsCiAgVXN0cmFpZ2h0c3Ryb2tlY3lyaWxsaWM6IDB4MDRCMCwKICBVdGlsZGU6IDB4MDE2OCwKICBVdGlsZGVhY3V0ZTogMHgxRTc4LAogIFV0aWxkZWJlbG93OiAweDFFNzQsCiAgVjogMHgwMDU2LAogIFZjaXJjbGU6IDB4MjRDQiwKICBWZG90YmVsb3c6IDB4MUU3RSwKICBWZWN5cmlsbGljOiAweDA0MTIsCiAgVmV3YXJtZW5pYW46IDB4MDU0RSwKICBWaG9vazogMHgwMUIyLAogIFZtb25vc3BhY2U6IDB4RkYzNiwKICBWb2FybWVuaWFuOiAweDA1NDgsCiAgVnNtYWxsOiAweEY3NzYsCiAgVnRpbGRlOiAweDFFN0MsCiAgVzogMHgwMDU3LAogIFdhY3V0ZTogMHgxRTgyLAogIFdjaXJjbGU6IDB4MjRDQywKICBXY2lyY3VtZmxleDogMHgwMTc0LAogIFdkaWVyZXNpczogMHgxRTg0LAogIFdkb3RhY2NlbnQ6IDB4MUU4NiwKICBXZG90YmVsb3c6IDB4MUU4OCwKICBXZ3JhdmU6IDB4MUU4MCwKICBXbW9ub3NwYWNlOiAweEZGMzcsCiAgV3NtYWxsOiAweEY3NzcsCiAgWDogMHgwMDU4LAogIFhjaXJjbGU6IDB4MjRDRCwKICBYZGllcmVzaXM6IDB4MUU4QywKICBYZG90YWNjZW50OiAweDFFOEEsCiAgWGVoYXJtZW5pYW46IDB4MDUzRCwKICBYaTogMHgwMzlFLAogIFhtb25vc3BhY2U6IDB4RkYzOCwKICBYc21hbGw6IDB4Rjc3OCwKICBZOiAweDAwNTksCiAgWWFjdXRlOiAweDAwREQsCiAgWWFjdXRlc21hbGw6IDB4RjdGRCwKICBZYXRjeXJpbGxpYzogMHgwNDYyLAogIFljaXJjbGU6IDB4MjRDRSwKICBZY2lyY3VtZmxleDogMHgwMTc2LAogIFlkaWVyZXNpczogMHgwMTc4LAogIFlkaWVyZXNpc3NtYWxsOiAweEY3RkYsCiAgWWRvdGFjY2VudDogMHgxRThFLAogIFlkb3RiZWxvdzogMHgxRUY0LAogIFllcmljeXJpbGxpYzogMHgwNDJCLAogIFllcnVkaWVyZXNpc2N5cmlsbGljOiAweDA0RjgsCiAgWWdyYXZlOiAweDFFRjIsCiAgWWhvb2s6IDB4MDFCMywKICBZaG9va2Fib3ZlOiAweDFFRjYsCiAgWWlhcm1lbmlhbjogMHgwNTQ1LAogIFlpY3lyaWxsaWM6IDB4MDQwNywKICBZaXduYXJtZW5pYW46IDB4MDU1MiwKICBZbW9ub3NwYWNlOiAweEZGMzksCiAgWXNtYWxsOiAweEY3NzksCiAgWXRpbGRlOiAweDFFRjgsCiAgWXVzYmlnY3lyaWxsaWM6IDB4MDQ2QSwKICBZdXNiaWdpb3RpZmllZGN5cmlsbGljOiAweDA0NkMsCiAgWXVzbGl0dGxlY3lyaWxsaWM6IDB4MDQ2NiwKICBZdXNsaXR0bGVpb3RpZmllZGN5cmlsbGljOiAweDA0NjgsCiAgWjogMHgwMDVBLAogIFphYXJtZW5pYW46IDB4MDUzNiwKICBaYWN1dGU6IDB4MDE3OSwKICBaY2Fyb246IDB4MDE3RCwKICBaY2Fyb25zbWFsbDogMHhGNkZGLAogIFpjaXJjbGU6IDB4MjRDRiwKICBaY2lyY3VtZmxleDogMHgxRTkwLAogIFpkb3Q6IDB4MDE3QiwKICBaZG90YWNjZW50OiAweDAxN0IsCiAgWmRvdGJlbG93OiAweDFFOTIsCiAgWmVjeXJpbGxpYzogMHgwNDE3LAogIFplZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDQ5OCwKICBaZWRpZXJlc2lzY3lyaWxsaWM6IDB4MDRERSwKICBaZXRhOiAweDAzOTYsCiAgWmhlYXJtZW5pYW46IDB4MDUzQSwKICBaaGVicmV2ZWN5cmlsbGljOiAweDA0QzEsCiAgWmhlY3lyaWxsaWM6IDB4MDQxNiwKICBaaGVkZXNjZW5kZXJjeXJpbGxpYzogMHgwNDk2LAogIFpoZWRpZXJlc2lzY3lyaWxsaWM6IDB4MDREQywKICBabGluZWJlbG93OiAweDFFOTQsCiAgWm1vbm9zcGFjZTogMHhGRjNBLAogIFpzbWFsbDogMHhGNzdBLAogIFpzdHJva2U6IDB4MDFCNSwKICBhOiAweDAwNjEsCiAgYWFiZW5nYWxpOiAweDA5ODYsCiAgYWFjdXRlOiAweDAwRTEsCiAgYWFkZXZhOiAweDA5MDYsCiAgYWFndWphcmF0aTogMHgwQTg2LAogIGFhZ3VybXVraGk6IDB4MEEwNiwKICBhYW1hdHJhZ3VybXVraGk6IDB4MEEzRSwKICBhYXJ1c3F1YXJlOiAweDMzMDMsCiAgYWF2b3dlbHNpZ25iZW5nYWxpOiAweDA5QkUsCiAgYWF2b3dlbHNpZ25kZXZhOiAweDA5M0UsCiAgYWF2b3dlbHNpZ25ndWphcmF0aTogMHgwQUJFLAogIGFiYnJldmlhdGlvbm1hcmthcm1lbmlhbjogMHgwNTVGLAogIGFiYnJldmlhdGlvbnNpZ25kZXZhOiAweDA5NzAsCiAgYWJlbmdhbGk6IDB4MDk4NSwKICBhYm9wb21vZm86IDB4MzExQSwKICBhYnJldmU6IDB4MDEwMywKICBhYnJldmVhY3V0ZTogMHgxRUFGLAogIGFicmV2ZWN5cmlsbGljOiAweDA0RDEsCiAgYWJyZXZlZG90YmVsb3c6IDB4MUVCNywKICBhYnJldmVncmF2ZTogMHgxRUIxLAogIGFicmV2ZWhvb2thYm92ZTogMHgxRUIzLAogIGFicmV2ZXRpbGRlOiAweDFFQjUsCiAgYWNhcm9uOiAweDAxQ0UsCiAgYWNpcmNsZTogMHgyNEQwLAogIGFjaXJjdW1mbGV4OiAweDAwRTIsCiAgYWNpcmN1bWZsZXhhY3V0ZTogMHgxRUE1LAogIGFjaXJjdW1mbGV4ZG90YmVsb3c6IDB4MUVBRCwKICBhY2lyY3VtZmxleGdyYXZlOiAweDFFQTcsCiAgYWNpcmN1bWZsZXhob29rYWJvdmU6IDB4MUVBOSwKICBhY2lyY3VtZmxleHRpbGRlOiAweDFFQUIsCiAgYWN1dGU6IDB4MDBCNCwKICBhY3V0ZWJlbG93Y21iOiAweDAzMTcsCiAgYWN1dGVjbWI6IDB4MDMwMSwKICBhY3V0ZWNvbWI6IDB4MDMwMSwKICBhY3V0ZWRldmE6IDB4MDk1NCwKICBhY3V0ZWxvd21vZDogMHgwMkNGLAogIGFjdXRldG9uZWNtYjogMHgwMzQxLAogIGFjeXJpbGxpYzogMHgwNDMwLAogIGFkYmxncmF2ZTogMHgwMjAxLAogIGFkZGFrZ3VybXVraGk6IDB4MEE3MSwKICBhZGV2YTogMHgwOTA1LAogIGFkaWVyZXNpczogMHgwMEU0LAogIGFkaWVyZXNpc2N5cmlsbGljOiAweDA0RDMsCiAgYWRpZXJlc2lzbWFjcm9uOiAweDAxREYsCiAgYWRvdGJlbG93OiAweDFFQTEsCiAgYWRvdG1hY3JvbjogMHgwMUUxLAogIGFlOiAweDAwRTYsCiAgYWVhY3V0ZTogMHgwMUZELAogIGFla29yZWFuOiAweDMxNTAsCiAgYWVtYWNyb246IDB4MDFFMywKICBhZmlpMDAyMDg6IDB4MjAxNSwKICBhZmlpMDg5NDE6IDB4MjBBNCwKICBhZmlpMTAwMTc6IDB4MDQxMCwKICBhZmlpMTAwMTg6IDB4MDQxMSwKICBhZmlpMTAwMTk6IDB4MDQxMiwKICBhZmlpMTAwMjA6IDB4MDQxMywKICBhZmlpMTAwMjE6IDB4MDQxNCwKICBhZmlpMTAwMjI6IDB4MDQxNSwKICBhZmlpMTAwMjM6IDB4MDQwMSwKICBhZmlpMTAwMjQ6IDB4MDQxNiwKICBhZmlpMTAwMjU6IDB4MDQxNywKICBhZmlpMTAwMjY6IDB4MDQxOCwKICBhZmlpMTAwMjc6IDB4MDQxOSwKICBhZmlpMTAwMjg6IDB4MDQxQSwKICBhZmlpMTAwMjk6IDB4MDQxQiwKICBhZmlpMTAwMzA6IDB4MDQxQywKICBhZmlpMTAwMzE6IDB4MDQxRCwKICBhZmlpMTAwMzI6IDB4MDQxRSwKICBhZmlpMTAwMzM6IDB4MDQxRiwKICBhZmlpMTAwMzQ6IDB4MDQyMCwKICBhZmlpMTAwMzU6IDB4MDQyMSwKICBhZmlpMTAwMzY6IDB4MDQyMiwKICBhZmlpMTAwMzc6IDB4MDQyMywKICBhZmlpMTAwMzg6IDB4MDQyNCwKICBhZmlpMTAwMzk6IDB4MDQyNSwKICBhZmlpMTAwNDA6IDB4MDQyNiwKICBhZmlpMTAwNDE6IDB4MDQyNywKICBhZmlpMTAwNDI6IDB4MDQyOCwKICBhZmlpMTAwNDM6IDB4MDQyOSwKICBhZmlpMTAwNDQ6IDB4MDQyQSwKICBhZmlpMTAwNDU6IDB4MDQyQiwKICBhZmlpMTAwNDY6IDB4MDQyQywKICBhZmlpMTAwNDc6IDB4MDQyRCwKICBhZmlpMTAwNDg6IDB4MDQyRSwKICBhZmlpMTAwNDk6IDB4MDQyRiwKICBhZmlpMTAwNTA6IDB4MDQ5MCwKICBhZmlpMTAwNTE6IDB4MDQwMiwKICBhZmlpMTAwNTI6IDB4MDQwMywKICBhZmlpMTAwNTM6IDB4MDQwNCwKICBhZmlpMTAwNTQ6IDB4MDQwNSwKICBhZmlpMTAwNTU6IDB4MDQwNiwKICBhZmlpMTAwNTY6IDB4MDQwNywKICBhZmlpMTAwNTc6IDB4MDQwOCwKICBhZmlpMTAwNTg6IDB4MDQwOSwKICBhZmlpMTAwNTk6IDB4MDQwQSwKICBhZmlpMTAwNjA6IDB4MDQwQiwKICBhZmlpMTAwNjE6IDB4MDQwQywKICBhZmlpMTAwNjI6IDB4MDQwRSwKICBhZmlpMTAwNjM6IDB4RjZDNCwKICBhZmlpMTAwNjQ6IDB4RjZDNSwKICBhZmlpMTAwNjU6IDB4MDQzMCwKICBhZmlpMTAwNjY6IDB4MDQzMSwKICBhZmlpMTAwNjc6IDB4MDQzMiwKICBhZmlpMTAwNjg6IDB4MDQzMywKICBhZmlpMTAwNjk6IDB4MDQzNCwKICBhZmlpMTAwNzA6IDB4MDQzNSwKICBhZmlpMTAwNzE6IDB4MDQ1MSwKICBhZmlpMTAwNzI6IDB4MDQzNiwKICBhZmlpMTAwNzM6IDB4MDQzNywKICBhZmlpMTAwNzQ6IDB4MDQzOCwKICBhZmlpMTAwNzU6IDB4MDQzOSwKICBhZmlpMTAwNzY6IDB4MDQzQSwKICBhZmlpMTAwNzc6IDB4MDQzQiwKICBhZmlpMTAwNzg6IDB4MDQzQywKICBhZmlpMTAwNzk6IDB4MDQzRCwKICBhZmlpMTAwODA6IDB4MDQzRSwKICBhZmlpMTAwODE6IDB4MDQzRiwKICBhZmlpMTAwODI6IDB4MDQ0MCwKICBhZmlpMTAwODM6IDB4MDQ0MSwKICBhZmlpMTAwODQ6IDB4MDQ0MiwKICBhZmlpMTAwODU6IDB4MDQ0MywKICBhZmlpMTAwODY6IDB4MDQ0NCwKICBhZmlpMTAwODc6IDB4MDQ0NSwKICBhZmlpMTAwODg6IDB4MDQ0NiwKICBhZmlpMTAwODk6IDB4MDQ0NywKICBhZmlpMTAwOTA6IDB4MDQ0OCwKICBhZmlpMTAwOTE6IDB4MDQ0OSwKICBhZmlpMTAwOTI6IDB4MDQ0QSwKICBhZmlpMTAwOTM6IDB4MDQ0QiwKICBhZmlpMTAwOTQ6IDB4MDQ0QywKICBhZmlpMTAwOTU6IDB4MDQ0RCwKICBhZmlpMTAwOTY6IDB4MDQ0RSwKICBhZmlpMTAwOTc6IDB4MDQ0RiwKICBhZmlpMTAwOTg6IDB4MDQ5MSwKICBhZmlpMTAwOTk6IDB4MDQ1MiwKICBhZmlpMTAxMDA6IDB4MDQ1MywKICBhZmlpMTAxMDE6IDB4MDQ1NCwKICBhZmlpMTAxMDI6IDB4MDQ1NSwKICBhZmlpMTAxMDM6IDB4MDQ1NiwKICBhZmlpMTAxMDQ6IDB4MDQ1NywKICBhZmlpMTAxMDU6IDB4MDQ1OCwKICBhZmlpMTAxMDY6IDB4MDQ1OSwKICBhZmlpMTAxMDc6IDB4MDQ1QSwKICBhZmlpMTAxMDg6IDB4MDQ1QiwKICBhZmlpMTAxMDk6IDB4MDQ1QywKICBhZmlpMTAxMTA6IDB4MDQ1RSwKICBhZmlpMTAxNDU6IDB4MDQwRiwKICBhZmlpMTAxNDY6IDB4MDQ2MiwKICBhZmlpMTAxNDc6IDB4MDQ3MiwKICBhZmlpMTAxNDg6IDB4MDQ3NCwKICBhZmlpMTAxOTI6IDB4RjZDNiwKICBhZmlpMTAxOTM6IDB4MDQ1RiwKICBhZmlpMTAxOTQ6IDB4MDQ2MywKICBhZmlpMTAxOTU6IDB4MDQ3MywKICBhZmlpMTAxOTY6IDB4MDQ3NSwKICBhZmlpMTA4MzE6IDB4RjZDNywKICBhZmlpMTA4MzI6IDB4RjZDOCwKICBhZmlpMTA4NDY6IDB4MDREOSwKICBhZmlpMjk5OiAweDIwMEUsCiAgYWZpaTMwMDogMHgyMDBGLAogIGFmaWkzMDE6IDB4MjAwRCwKICBhZmlpNTczODE6IDB4MDY2QSwKICBhZmlpNTczODg6IDB4MDYwQywKICBhZmlpNTczOTI6IDB4MDY2MCwKICBhZmlpNTczOTM6IDB4MDY2MSwKICBhZmlpNTczOTQ6IDB4MDY2MiwKICBhZmlpNTczOTU6IDB4MDY2MywKICBhZmlpNTczOTY6IDB4MDY2NCwKICBhZmlpNTczOTc6IDB4MDY2NSwKICBhZmlpNTczOTg6IDB4MDY2NiwKICBhZmlpNTczOTk6IDB4MDY2NywKICBhZmlpNTc0MDA6IDB4MDY2OCwKICBhZmlpNTc0MDE6IDB4MDY2OSwKICBhZmlpNTc0MDM6IDB4MDYxQiwKICBhZmlpNTc0MDc6IDB4MDYxRiwKICBhZmlpNTc0MDk6IDB4MDYyMSwKICBhZmlpNTc0MTA6IDB4MDYyMiwKICBhZmlpNTc0MTE6IDB4MDYyMywKICBhZmlpNTc0MTI6IDB4MDYyNCwKICBhZmlpNTc0MTM6IDB4MDYyNSwKICBhZmlpNTc0MTQ6IDB4MDYyNiwKICBhZmlpNTc0MTU6IDB4MDYyNywKICBhZmlpNTc0MTY6IDB4MDYyOCwKICBhZmlpNTc0MTc6IDB4MDYyOSwKICBhZmlpNTc0MTg6IDB4MDYyQSwKICBhZmlpNTc0MTk6IDB4MDYyQiwKICBhZmlpNTc0MjA6IDB4MDYyQywKICBhZmlpNTc0MjE6IDB4MDYyRCwKICBhZmlpNTc0MjI6IDB4MDYyRSwKICBhZmlpNTc0MjM6IDB4MDYyRiwKICBhZmlpNTc0MjQ6IDB4MDYzMCwKICBhZmlpNTc0MjU6IDB4MDYzMSwKICBhZmlpNTc0MjY6IDB4MDYzMiwKICBhZmlpNTc0Mjc6IDB4MDYzMywKICBhZmlpNTc0Mjg6IDB4MDYzNCwKICBhZmlpNTc0Mjk6IDB4MDYzNSwKICBhZmlpNTc0MzA6IDB4MDYzNiwKICBhZmlpNTc0MzE6IDB4MDYzNywKICBhZmlpNTc0MzI6IDB4MDYzOCwKICBhZmlpNTc0MzM6IDB4MDYzOSwKICBhZmlpNTc0MzQ6IDB4MDYzQSwKICBhZmlpNTc0NDA6IDB4MDY0MCwKICBhZmlpNTc0NDE6IDB4MDY0MSwKICBhZmlpNTc0NDI6IDB4MDY0MiwKICBhZmlpNTc0NDM6IDB4MDY0MywKICBhZmlpNTc0NDQ6IDB4MDY0NCwKICBhZmlpNTc0NDU6IDB4MDY0NSwKICBhZmlpNTc0NDY6IDB4MDY0NiwKICBhZmlpNTc0NDg6IDB4MDY0OCwKICBhZmlpNTc0NDk6IDB4MDY0OSwKICBhZmlpNTc0NTA6IDB4MDY0QSwKICBhZmlpNTc0NTE6IDB4MDY0QiwKICBhZmlpNTc0NTI6IDB4MDY0QywKICBhZmlpNTc0NTM6IDB4MDY0RCwKICBhZmlpNTc0NTQ6IDB4MDY0RSwKICBhZmlpNTc0NTU6IDB4MDY0RiwKICBhZmlpNTc0NTY6IDB4MDY1MCwKICBhZmlpNTc0NTc6IDB4MDY1MSwKICBhZmlpNTc0NTg6IDB4MDY1MiwKICBhZmlpNTc0NzA6IDB4MDY0NywKICBhZmlpNTc1MDU6IDB4MDZBNCwKICBhZmlpNTc1MDY6IDB4MDY3RSwKICBhZmlpNTc1MDc6IDB4MDY4NiwKICBhZmlpNTc1MDg6IDB4MDY5OCwKICBhZmlpNTc1MDk6IDB4MDZBRiwKICBhZmlpNTc1MTE6IDB4MDY3OSwKICBhZmlpNTc1MTI6IDB4MDY4OCwKICBhZmlpNTc1MTM6IDB4MDY5MSwKICBhZmlpNTc1MTQ6IDB4MDZCQSwKICBhZmlpNTc1MTk6IDB4MDZEMiwKICBhZmlpNTc1MzQ6IDB4MDZENSwKICBhZmlpNTc2MzY6IDB4MjBBQSwKICBhZmlpNTc2NDU6IDB4MDVCRSwKICBhZmlpNTc2NTg6IDB4MDVDMywKICBhZmlpNTc2NjQ6IDB4MDVEMCwKICBhZmlpNTc2NjU6IDB4MDVEMSwKICBhZmlpNTc2NjY6IDB4MDVEMiwKICBhZmlpNTc2Njc6IDB4MDVEMywKICBhZmlpNTc2Njg6IDB4MDVENCwKICBhZmlpNTc2Njk6IDB4MDVENSwKICBhZmlpNTc2NzA6IDB4MDVENiwKICBhZmlpNTc2NzE6IDB4MDVENywKICBhZmlpNTc2NzI6IDB4MDVEOCwKICBhZmlpNTc2NzM6IDB4MDVEOSwKICBhZmlpNTc2NzQ6IDB4MDVEQSwKICBhZmlpNTc2NzU6IDB4MDVEQiwKICBhZmlpNTc2NzY6IDB4MDVEQywKICBhZmlpNTc2Nzc6IDB4MDVERCwKICBhZmlpNTc2Nzg6IDB4MDVERSwKICBhZmlpNTc2Nzk6IDB4MDVERiwKICBhZmlpNTc2ODA6IDB4MDVFMCwKICBhZmlpNTc2ODE6IDB4MDVFMSwKICBhZmlpNTc2ODI6IDB4MDVFMiwKICBhZmlpNTc2ODM6IDB4MDVFMywKICBhZmlpNTc2ODQ6IDB4MDVFNCwKICBhZmlpNTc2ODU6IDB4MDVFNSwKICBhZmlpNTc2ODY6IDB4MDVFNiwKICBhZmlpNTc2ODc6IDB4MDVFNywKICBhZmlpNTc2ODg6IDB4MDVFOCwKICBhZmlpNTc2ODk6IDB4MDVFOSwKICBhZmlpNTc2OTA6IDB4MDVFQSwKICBhZmlpNTc2OTQ6IDB4RkIyQSwKICBhZmlpNTc2OTU6IDB4RkIyQiwKICBhZmlpNTc3MDA6IDB4RkI0QiwKICBhZmlpNTc3MDU6IDB4RkIxRiwKICBhZmlpNTc3MTY6IDB4MDVGMCwKICBhZmlpNTc3MTc6IDB4MDVGMSwKICBhZmlpNTc3MTg6IDB4MDVGMiwKICBhZmlpNTc3MjM6IDB4RkIzNSwKICBhZmlpNTc3OTM6IDB4MDVCNCwKICBhZmlpNTc3OTQ6IDB4MDVCNSwKICBhZmlpNTc3OTU6IDB4MDVCNiwKICBhZmlpNTc3OTY6IDB4MDVCQiwKICBhZmlpNTc3OTc6IDB4MDVCOCwKICBhZmlpNTc3OTg6IDB4MDVCNywKICBhZmlpNTc3OTk6IDB4MDVCMCwKICBhZmlpNTc4MDA6IDB4MDVCMiwKICBhZmlpNTc4MDE6IDB4MDVCMSwKICBhZmlpNTc4MDI6IDB4MDVCMywKICBhZmlpNTc4MDM6IDB4MDVDMiwKICBhZmlpNTc4MDQ6IDB4MDVDMSwKICBhZmlpNTc4MDY6IDB4MDVCOSwKICBhZmlpNTc4MDc6IDB4MDVCQywKICBhZmlpNTc4Mzk6IDB4MDVCRCwKICBhZmlpNTc4NDE6IDB4MDVCRiwKICBhZmlpNTc4NDI6IDB4MDVDMCwKICBhZmlpNTc5Mjk6IDB4MDJCQywKICBhZmlpNjEyNDg6IDB4MjEwNSwKICBhZmlpNjEyODk6IDB4MjExMywKICBhZmlpNjEzNTI6IDB4MjExNiwKICBhZmlpNjE1NzM6IDB4MjAyQywKICBhZmlpNjE1NzQ6IDB4MjAyRCwKICBhZmlpNjE1NzU6IDB4MjAyRSwKICBhZmlpNjE2NjQ6IDB4MjAwQywKICBhZmlpNjMxNjc6IDB4MDY2RCwKICBhZmlpNjQ5Mzc6IDB4MDJCRCwKICBhZ3JhdmU6IDB4MDBFMCwKICBhZ3VqYXJhdGk6IDB4MEE4NSwKICBhZ3VybXVraGk6IDB4MEEwNSwKICBhaGlyYWdhbmE6IDB4MzA0MiwKICBhaG9va2Fib3ZlOiAweDFFQTMsCiAgYWliZW5nYWxpOiAweDA5OTAsCiAgYWlib3BvbW9mbzogMHgzMTFFLAogIGFpZGV2YTogMHgwOTEwLAogIGFpZWN5cmlsbGljOiAweDA0RDUsCiAgYWlndWphcmF0aTogMHgwQTkwLAogIGFpZ3VybXVraGk6IDB4MEExMCwKICBhaW1hdHJhZ3VybXVraGk6IDB4MEE0OCwKICBhaW5hcmFiaWM6IDB4MDYzOSwKICBhaW5maW5hbGFyYWJpYzogMHhGRUNBLAogIGFpbmluaXRpYWxhcmFiaWM6IDB4RkVDQiwKICBhaW5tZWRpYWxhcmFiaWM6IDB4RkVDQywKICBhaW52ZXJ0ZWRicmV2ZTogMHgwMjAzLAogIGFpdm93ZWxzaWduYmVuZ2FsaTogMHgwOUM4LAogIGFpdm93ZWxzaWduZGV2YTogMHgwOTQ4LAogIGFpdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDOCwKICBha2F0YWthbmE6IDB4MzBBMiwKICBha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3MSwKICBha29yZWFuOiAweDMxNEYsCiAgYWxlZjogMHgwNUQwLAogIGFsZWZhcmFiaWM6IDB4MDYyNywKICBhbGVmZGFnZXNoaGVicmV3OiAweEZCMzAsCiAgYWxlZmZpbmFsYXJhYmljOiAweEZFOEUsCiAgYWxlZmhhbXphYWJvdmVhcmFiaWM6IDB4MDYyMywKICBhbGVmaGFtemFhYm92ZWZpbmFsYXJhYmljOiAweEZFODQsCiAgYWxlZmhhbXphYmVsb3dhcmFiaWM6IDB4MDYyNSwKICBhbGVmaGFtemFiZWxvd2ZpbmFsYXJhYmljOiAweEZFODgsCiAgYWxlZmhlYnJldzogMHgwNUQwLAogIGFsZWZsYW1lZGhlYnJldzogMHhGQjRGLAogIGFsZWZtYWRkYWFib3ZlYXJhYmljOiAweDA2MjIsCiAgYWxlZm1hZGRhYWJvdmVmaW5hbGFyYWJpYzogMHhGRTgyLAogIGFsZWZtYWtzdXJhYXJhYmljOiAweDA2NDksCiAgYWxlZm1ha3N1cmFmaW5hbGFyYWJpYzogMHhGRUYwLAogIGFsZWZtYWtzdXJhaW5pdGlhbGFyYWJpYzogMHhGRUYzLAogIGFsZWZtYWtzdXJhbWVkaWFsYXJhYmljOiAweEZFRjQsCiAgYWxlZnBhdGFoaGVicmV3OiAweEZCMkUsCiAgYWxlZnFhbWF0c2hlYnJldzogMHhGQjJGLAogIGFsZXBoOiAweDIxMzUsCiAgYWxsZXF1YWw6IDB4MjI0QywKICBhbHBoYTogMHgwM0IxLAogIGFscGhhdG9ub3M6IDB4MDNBQywKICBhbWFjcm9uOiAweDAxMDEsCiAgYW1vbm9zcGFjZTogMHhGRjQxLAogIGFtcGVyc2FuZDogMHgwMDI2LAogIGFtcGVyc2FuZG1vbm9zcGFjZTogMHhGRjA2LAogIGFtcGVyc2FuZHNtYWxsOiAweEY3MjYsCiAgYW1zcXVhcmU6IDB4MzNDMiwKICBhbmJvcG9tb2ZvOiAweDMxMjIsCiAgYW5nYm9wb21vZm86IDB4MzEyNCwKICBhbmdicmFja2V0bGVmdDogMHgzMDA4LCAvLyBUaGlzIGdseXBoIGlzIG1pc3NpbmcgZnJvbSBBZG9iZSdzIG9yaWdpbmFsIGxpc3QuCiAgYW5nYnJhY2tldHJpZ2h0OiAweDMwMDksIC8vIFRoaXMgZ2x5cGggaXMgbWlzc2luZyBmcm9tIEFkb2JlJ3Mgb3JpZ2luYWwgbGlzdC4KICBhbmdraGFua2h1dGhhaTogMHgwRTVBLAogIGFuZ2xlOiAweDIyMjAsCiAgYW5nbGVicmFja2V0bGVmdDogMHgzMDA4LAogIGFuZ2xlYnJhY2tldGxlZnR2ZXJ0aWNhbDogMHhGRTNGLAogIGFuZ2xlYnJhY2tldHJpZ2h0OiAweDMwMDksCiAgYW5nbGVicmFja2V0cmlnaHR2ZXJ0aWNhbDogMHhGRTQwLAogIGFuZ2xlbGVmdDogMHgyMzI5LAogIGFuZ2xlcmlnaHQ6IDB4MjMyQSwKICBhbmdzdHJvbTogMHgyMTJCLAogIGFub3RlbGVpYTogMHgwMzg3LAogIGFudWRhdHRhZGV2YTogMHgwOTUyLAogIGFudXN2YXJhYmVuZ2FsaTogMHgwOTgyLAogIGFudXN2YXJhZGV2YTogMHgwOTAyLAogIGFudXN2YXJhZ3VqYXJhdGk6IDB4MEE4MiwKICBhb2dvbmVrOiAweDAxMDUsCiAgYXBhYXRvc3F1YXJlOiAweDMzMDAsCiAgYXBhcmVuOiAweDI0OUMsCiAgYXBvc3Ryb3BoZWFybWVuaWFuOiAweDA1NUEsCiAgYXBvc3Ryb3BoZW1vZDogMHgwMkJDLAogIGFwcGxlOiAweEY4RkYsCiAgYXBwcm9hY2hlczogMHgyMjUwLAogIGFwcHJveGVxdWFsOiAweDIyNDgsCiAgYXBwcm94ZXF1YWxvcmltYWdlOiAweDIyNTIsCiAgYXBwcm94aW1hdGVseWVxdWFsOiAweDIyNDUsCiAgYXJhZWFla29yZWFuOiAweDMxOEUsCiAgYXJhZWFrb3JlYW46IDB4MzE4RCwKICBhcmM6IDB4MjMxMiwKICBhcmlnaHRoYWxmcmluZzogMHgxRTlBLAogIGFyaW5nOiAweDAwRTUsCiAgYXJpbmdhY3V0ZTogMHgwMUZCLAogIGFyaW5nYmVsb3c6IDB4MUUwMSwKICBhcnJvd2JvdGg6IDB4MjE5NCwKICBhcnJvd2Rhc2hkb3duOiAweDIxRTMsCiAgYXJyb3dkYXNobGVmdDogMHgyMUUwLAogIGFycm93ZGFzaHJpZ2h0OiAweDIxRTIsCiAgYXJyb3dkYXNodXA6IDB4MjFFMSwKICBhcnJvd2RibGJvdGg6IDB4MjFENCwKICBhcnJvd2RibGRvd246IDB4MjFEMywKICBhcnJvd2RibGxlZnQ6IDB4MjFEMCwKICBhcnJvd2RibHJpZ2h0OiAweDIxRDIsCiAgYXJyb3dkYmx1cDogMHgyMUQxLAogIGFycm93ZG93bjogMHgyMTkzLAogIGFycm93ZG93bmxlZnQ6IDB4MjE5OSwKICBhcnJvd2Rvd25yaWdodDogMHgyMTk4LAogIGFycm93ZG93bndoaXRlOiAweDIxRTksCiAgYXJyb3doZWFkZG93bm1vZDogMHgwMkM1LAogIGFycm93aGVhZGxlZnRtb2Q6IDB4MDJDMiwKICBhcnJvd2hlYWRyaWdodG1vZDogMHgwMkMzLAogIGFycm93aGVhZHVwbW9kOiAweDAyQzQsCiAgYXJyb3dob3JpemV4OiAweEY4RTcsCiAgYXJyb3dsZWZ0OiAweDIxOTAsCiAgYXJyb3dsZWZ0ZGJsOiAweDIxRDAsCiAgYXJyb3dsZWZ0ZGJsc3Ryb2tlOiAweDIxQ0QsCiAgYXJyb3dsZWZ0b3ZlcnJpZ2h0OiAweDIxQzYsCiAgYXJyb3dsZWZ0d2hpdGU6IDB4MjFFNiwKICBhcnJvd3JpZ2h0OiAweDIxOTIsCiAgYXJyb3dyaWdodGRibHN0cm9rZTogMHgyMUNGLAogIGFycm93cmlnaHRoZWF2eTogMHgyNzlFLAogIGFycm93cmlnaHRvdmVybGVmdDogMHgyMUM0LAogIGFycm93cmlnaHR3aGl0ZTogMHgyMUU4LAogIGFycm93dGFibGVmdDogMHgyMUU0LAogIGFycm93dGFicmlnaHQ6IDB4MjFFNSwKICBhcnJvd3VwOiAweDIxOTEsCiAgYXJyb3d1cGRuOiAweDIxOTUsCiAgYXJyb3d1cGRuYnNlOiAweDIxQTgsCiAgYXJyb3d1cGRvd25iYXNlOiAweDIxQTgsCiAgYXJyb3d1cGxlZnQ6IDB4MjE5NiwKICBhcnJvd3VwbGVmdG9mZG93bjogMHgyMUM1LAogIGFycm93dXByaWdodDogMHgyMTk3LAogIGFycm93dXB3aGl0ZTogMHgyMUU3LAogIGFycm93dmVydGV4OiAweEY4RTYsCiAgYXNjaWljaXJjdW06IDB4MDA1RSwKICBhc2NpaWNpcmN1bW1vbm9zcGFjZTogMHhGRjNFLAogIGFzY2lpdGlsZGU6IDB4MDA3RSwKICBhc2NpaXRpbGRlbW9ub3NwYWNlOiAweEZGNUUsCiAgYXNjcmlwdDogMHgwMjUxLAogIGFzY3JpcHR0dXJuZWQ6IDB4MDI1MiwKICBhc21hbGxoaXJhZ2FuYTogMHgzMDQxLAogIGFzbWFsbGthdGFrYW5hOiAweDMwQTEsCiAgYXNtYWxsa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2NywKICBhc3RlcmlzazogMHgwMDJBLAogIGFzdGVyaXNrYWx0b25lYXJhYmljOiAweDA2NkQsCiAgYXN0ZXJpc2thcmFiaWM6IDB4MDY2RCwKICBhc3Rlcmlza21hdGg6IDB4MjIxNywKICBhc3Rlcmlza21vbm9zcGFjZTogMHhGRjBBLAogIGFzdGVyaXNrc21hbGw6IDB4RkU2MSwKICBhc3RlcmlzbTogMHgyMDQyLAogIGFzdXBlcmlvcjogMHhGNkU5LAogIGFzeW1wdG90aWNhbGx5ZXF1YWw6IDB4MjI0MywKICBhdDogMHgwMDQwLAogIGF0aWxkZTogMHgwMEUzLAogIGF0bW9ub3NwYWNlOiAweEZGMjAsCiAgYXRzbWFsbDogMHhGRTZCLAogIGF0dXJuZWQ6IDB4MDI1MCwKICBhdWJlbmdhbGk6IDB4MDk5NCwKICBhdWJvcG9tb2ZvOiAweDMxMjAsCiAgYXVkZXZhOiAweDA5MTQsCiAgYXVndWphcmF0aTogMHgwQTk0LAogIGF1Z3VybXVraGk6IDB4MEExNCwKICBhdWxlbmd0aG1hcmtiZW5nYWxpOiAweDA5RDcsCiAgYXVtYXRyYWd1cm11a2hpOiAweDBBNEMsCiAgYXV2b3dlbHNpZ25iZW5nYWxpOiAweDA5Q0MsCiAgYXV2b3dlbHNpZ25kZXZhOiAweDA5NEMsCiAgYXV2b3dlbHNpZ25ndWphcmF0aTogMHgwQUNDLAogIGF2YWdyYWhhZGV2YTogMHgwOTNELAogIGF5YmFybWVuaWFuOiAweDA1NjEsCiAgYXlpbjogMHgwNUUyLAogIGF5aW5hbHRvbmVoZWJyZXc6IDB4RkIyMCwKICBheWluaGVicmV3OiAweDA1RTIsCiAgYjogMHgwMDYyLAogIGJhYmVuZ2FsaTogMHgwOUFDLAogIGJhY2tzbGFzaDogMHgwMDVDLAogIGJhY2tzbGFzaG1vbm9zcGFjZTogMHhGRjNDLAogIGJhZGV2YTogMHgwOTJDLAogIGJhZ3VqYXJhdGk6IDB4MEFBQywKICBiYWd1cm11a2hpOiAweDBBMkMsCiAgYmFoaXJhZ2FuYTogMHgzMDcwLAogIGJhaHR0aGFpOiAweDBFM0YsCiAgYmFrYXRha2FuYTogMHgzMEQwLAogIGJhcjogMHgwMDdDLAogIGJhcm1vbm9zcGFjZTogMHhGRjVDLAogIGJib3BvbW9mbzogMHgzMTA1LAogIGJjaXJjbGU6IDB4MjREMSwKICBiZG90YWNjZW50OiAweDFFMDMsCiAgYmRvdGJlbG93OiAweDFFMDUsCiAgYmVhbWVkc2l4dGVlbnRobm90ZXM6IDB4MjY2QywKICBiZWNhdXNlOiAweDIyMzUsCiAgYmVjeXJpbGxpYzogMHgwNDMxLAogIGJlaGFyYWJpYzogMHgwNjI4LAogIGJlaGZpbmFsYXJhYmljOiAweEZFOTAsCiAgYmVoaW5pdGlhbGFyYWJpYzogMHhGRTkxLAogIGJlaGlyYWdhbmE6IDB4MzA3OSwKICBiZWhtZWRpYWxhcmFiaWM6IDB4RkU5MiwKICBiZWhtZWVtaW5pdGlhbGFyYWJpYzogMHhGQzlGLAogIGJlaG1lZW1pc29sYXRlZGFyYWJpYzogMHhGQzA4LAogIGJlaG5vb25maW5hbGFyYWJpYzogMHhGQzZELAogIGJla2F0YWthbmE6IDB4MzBEOSwKICBiZW5hcm1lbmlhbjogMHgwNTYyLAogIGJldDogMHgwNUQxLAogIGJldGE6IDB4MDNCMiwKICBiZXRhc3ltYm9sZ3JlZWs6IDB4MDNEMCwKICBiZXRkYWdlc2g6IDB4RkIzMSwKICBiZXRkYWdlc2hoZWJyZXc6IDB4RkIzMSwKICBiZXRoZWJyZXc6IDB4MDVEMSwKICBiZXRyYWZlaGVicmV3OiAweEZCNEMsCiAgYmhhYmVuZ2FsaTogMHgwOUFELAogIGJoYWRldmE6IDB4MDkyRCwKICBiaGFndWphcmF0aTogMHgwQUFELAogIGJoYWd1cm11a2hpOiAweDBBMkQsCiAgYmhvb2s6IDB4MDI1MywKICBiaWhpcmFnYW5hOiAweDMwNzMsCiAgYmlrYXRha2FuYTogMHgzMEQzLAogIGJpbGFiaWFsY2xpY2s6IDB4MDI5OCwKICBiaW5kaWd1cm11a2hpOiAweDBBMDIsCiAgYmlydXNxdWFyZTogMHgzMzMxLAogIGJsYWNrY2lyY2xlOiAweDI1Q0YsCiAgYmxhY2tkaWFtb25kOiAweDI1QzYsCiAgYmxhY2tkb3ducG9pbnRpbmd0cmlhbmdsZTogMHgyNUJDLAogIGJsYWNrbGVmdHBvaW50aW5ncG9pbnRlcjogMHgyNUM0LAogIGJsYWNrbGVmdHBvaW50aW5ndHJpYW5nbGU6IDB4MjVDMCwKICBibGFja2xlbnRpY3VsYXJicmFja2V0bGVmdDogMHgzMDEwLAogIGJsYWNrbGVudGljdWxhcmJyYWNrZXRsZWZ0dmVydGljYWw6IDB4RkUzQiwKICBibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHQ6IDB4MzAxMSwKICBibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHR2ZXJ0aWNhbDogMHhGRTNDLAogIGJsYWNrbG93ZXJsZWZ0dHJpYW5nbGU6IDB4MjVFMywKICBibGFja2xvd2VycmlnaHR0cmlhbmdsZTogMHgyNUUyLAogIGJsYWNrcmVjdGFuZ2xlOiAweDI1QUMsCiAgYmxhY2tyaWdodHBvaW50aW5ncG9pbnRlcjogMHgyNUJBLAogIGJsYWNrcmlnaHRwb2ludGluZ3RyaWFuZ2xlOiAweDI1QjYsCiAgYmxhY2tzbWFsbHNxdWFyZTogMHgyNUFBLAogIGJsYWNrc21pbGluZ2ZhY2U6IDB4MjYzQiwKICBibGFja3NxdWFyZTogMHgyNUEwLAogIGJsYWNrc3RhcjogMHgyNjA1LAogIGJsYWNrdXBwZXJsZWZ0dHJpYW5nbGU6IDB4MjVFNCwKICBibGFja3VwcGVycmlnaHR0cmlhbmdsZTogMHgyNUU1LAogIGJsYWNrdXBwb2ludGluZ3NtYWxsdHJpYW5nbGU6IDB4MjVCNCwKICBibGFja3VwcG9pbnRpbmd0cmlhbmdsZTogMHgyNUIyLAogIGJsYW5rOiAweDI0MjMsCiAgYmxpbmViZWxvdzogMHgxRTA3LAogIGJsb2NrOiAweDI1ODgsCiAgYm1vbm9zcGFjZTogMHhGRjQyLAogIGJvYmFpbWFpdGhhaTogMHgwRTFBLAogIGJvaGlyYWdhbmE6IDB4MzA3QywKICBib2thdGFrYW5hOiAweDMwREMsCiAgYnBhcmVuOiAweDI0OUQsCiAgYnFzcXVhcmU6IDB4MzNDMywKICBicmFjZWV4OiAweEY4RjQsCiAgYnJhY2VsZWZ0OiAweDAwN0IsCiAgYnJhY2VsZWZ0YnQ6IDB4RjhGMywKICBicmFjZWxlZnRtaWQ6IDB4RjhGMiwKICBicmFjZWxlZnRtb25vc3BhY2U6IDB4RkY1QiwKICBicmFjZWxlZnRzbWFsbDogMHhGRTVCLAogIGJyYWNlbGVmdHRwOiAweEY4RjEsCiAgYnJhY2VsZWZ0dmVydGljYWw6IDB4RkUzNywKICBicmFjZXJpZ2h0OiAweDAwN0QsCiAgYnJhY2VyaWdodGJ0OiAweEY4RkUsCiAgYnJhY2VyaWdodG1pZDogMHhGOEZELAogIGJyYWNlcmlnaHRtb25vc3BhY2U6IDB4RkY1RCwKICBicmFjZXJpZ2h0c21hbGw6IDB4RkU1QywKICBicmFjZXJpZ2h0dHA6IDB4RjhGQywKICBicmFjZXJpZ2h0dmVydGljYWw6IDB4RkUzOCwKICBicmFja2V0bGVmdDogMHgwMDVCLAogIGJyYWNrZXRsZWZ0YnQ6IDB4RjhGMCwKICBicmFja2V0bGVmdGV4OiAweEY4RUYsCiAgYnJhY2tldGxlZnRtb25vc3BhY2U6IDB4RkYzQiwKICBicmFja2V0bGVmdHRwOiAweEY4RUUsCiAgYnJhY2tldHJpZ2h0OiAweDAwNUQsCiAgYnJhY2tldHJpZ2h0YnQ6IDB4RjhGQiwKICBicmFja2V0cmlnaHRleDogMHhGOEZBLAogIGJyYWNrZXRyaWdodG1vbm9zcGFjZTogMHhGRjNELAogIGJyYWNrZXRyaWdodHRwOiAweEY4RjksCiAgYnJldmU6IDB4MDJEOCwKICBicmV2ZWJlbG93Y21iOiAweDAzMkUsCiAgYnJldmVjbWI6IDB4MDMwNiwKICBicmV2ZWludmVydGVkYmVsb3djbWI6IDB4MDMyRiwKICBicmV2ZWludmVydGVkY21iOiAweDAzMTEsCiAgYnJldmVpbnZlcnRlZGRvdWJsZWNtYjogMHgwMzYxLAogIGJyaWRnZWJlbG93Y21iOiAweDAzMkEsCiAgYnJpZGdlaW52ZXJ0ZWRiZWxvd2NtYjogMHgwMzNBLAogIGJyb2tlbmJhcjogMHgwMEE2LAogIGJzdHJva2U6IDB4MDE4MCwKICBic3VwZXJpb3I6IDB4RjZFQSwKICBidG9wYmFyOiAweDAxODMsCiAgYnVoaXJhZ2FuYTogMHgzMDc2LAogIGJ1a2F0YWthbmE6IDB4MzBENiwKICBidWxsZXQ6IDB4MjAyMiwKICBidWxsZXRpbnZlcnNlOiAweDI1RDgsCiAgYnVsbGV0b3BlcmF0b3I6IDB4MjIxOSwKICBidWxsc2V5ZTogMHgyNUNFLAogIGM6IDB4MDA2MywKICBjYWFybWVuaWFuOiAweDA1NkUsCiAgY2FiZW5nYWxpOiAweDA5OUEsCiAgY2FjdXRlOiAweDAxMDcsCiAgY2FkZXZhOiAweDA5MUEsCiAgY2FndWphcmF0aTogMHgwQTlBLAogIGNhZ3VybXVraGk6IDB4MEExQSwKICBjYWxzcXVhcmU6IDB4MzM4OCwKICBjYW5kcmFiaW5kdWJlbmdhbGk6IDB4MDk4MSwKICBjYW5kcmFiaW5kdWNtYjogMHgwMzEwLAogIGNhbmRyYWJpbmR1ZGV2YTogMHgwOTAxLAogIGNhbmRyYWJpbmR1Z3VqYXJhdGk6IDB4MEE4MSwKICBjYXBzbG9jazogMHgyMUVBLAogIGNhcmVvZjogMHgyMTA1LAogIGNhcm9uOiAweDAyQzcsCiAgY2Fyb25iZWxvd2NtYjogMHgwMzJDLAogIGNhcm9uY21iOiAweDAzMEMsCiAgY2FycmlhZ2VyZXR1cm46IDB4MjFCNSwKICBjYm9wb21vZm86IDB4MzExOCwKICBjY2Fyb246IDB4MDEwRCwKICBjY2VkaWxsYTogMHgwMEU3LAogIGNjZWRpbGxhYWN1dGU6IDB4MUUwOSwKICBjY2lyY2xlOiAweDI0RDIsCiAgY2NpcmN1bWZsZXg6IDB4MDEwOSwKICBjY3VybDogMHgwMjU1LAogIGNkb3Q6IDB4MDEwQiwKICBjZG90YWNjZW50OiAweDAxMEIsCiAgY2RzcXVhcmU6IDB4MzNDNSwKICBjZWRpbGxhOiAweDAwQjgsCiAgY2VkaWxsYWNtYjogMHgwMzI3LAogIGNlbnQ6IDB4MDBBMiwKICBjZW50aWdyYWRlOiAweDIxMDMsCiAgY2VudGluZmVyaW9yOiAweEY2REYsCiAgY2VudG1vbm9zcGFjZTogMHhGRkUwLAogIGNlbnRvbGRzdHlsZTogMHhGN0EyLAogIGNlbnRzdXBlcmlvcjogMHhGNkUwLAogIGNoYWFybWVuaWFuOiAweDA1NzksCiAgY2hhYmVuZ2FsaTogMHgwOTlCLAogIGNoYWRldmE6IDB4MDkxQiwKICBjaGFndWphcmF0aTogMHgwQTlCLAogIGNoYWd1cm11a2hpOiAweDBBMUIsCiAgY2hib3BvbW9mbzogMHgzMTE0LAogIGNoZWFia2hhc2lhbmN5cmlsbGljOiAweDA0QkQsCiAgY2hlY2ttYXJrOiAweDI3MTMsCiAgY2hlY3lyaWxsaWM6IDB4MDQ0NywKICBjaGVkZXNjZW5kZXJhYmtoYXNpYW5jeXJpbGxpYzogMHgwNEJGLAogIGNoZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0QjcsCiAgY2hlZGllcmVzaXNjeXJpbGxpYzogMHgwNEY1LAogIGNoZWhhcm1lbmlhbjogMHgwNTczLAogIGNoZWtoYWthc3NpYW5jeXJpbGxpYzogMHgwNENDLAogIGNoZXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM6IDB4MDRCOSwKICBjaGk6IDB4MDNDNywKICBjaGlldWNoYWNpcmNsZWtvcmVhbjogMHgzMjc3LAogIGNoaWV1Y2hhcGFyZW5rb3JlYW46IDB4MzIxNywKICBjaGlldWNoY2lyY2xla29yZWFuOiAweDMyNjksCiAgY2hpZXVjaGtvcmVhbjogMHgzMTRBLAogIGNoaWV1Y2hwYXJlbmtvcmVhbjogMHgzMjA5LAogIGNob2NoYW5ndGhhaTogMHgwRTBBLAogIGNob2NoYW50aGFpOiAweDBFMDgsCiAgY2hvY2hpbmd0aGFpOiAweDBFMDksCiAgY2hvY2hvZXRoYWk6IDB4MEUwQywKICBjaG9vazogMHgwMTg4LAogIGNpZXVjYWNpcmNsZWtvcmVhbjogMHgzMjc2LAogIGNpZXVjYXBhcmVua29yZWFuOiAweDMyMTYsCiAgY2lldWNjaXJjbGVrb3JlYW46IDB4MzI2OCwKICBjaWV1Y2tvcmVhbjogMHgzMTQ4LAogIGNpZXVjcGFyZW5rb3JlYW46IDB4MzIwOCwKICBjaWV1Y3VwYXJlbmtvcmVhbjogMHgzMjFDLAogIGNpcmNsZTogMHgyNUNCLAogIGNpcmNsZWNvcHlydDogMHgwMEE5LCAvLyBUaGlzIGdseXBoIGlzIG1pc3NpbmcgZnJvbSBBZG9iZSdzIG9yaWdpbmFsIGxpc3QuCiAgY2lyY2xlbXVsdGlwbHk6IDB4MjI5NywKICBjaXJjbGVvdDogMHgyMjk5LAogIGNpcmNsZXBsdXM6IDB4MjI5NSwKICBjaXJjbGVwb3N0YWxtYXJrOiAweDMwMzYsCiAgY2lyY2xld2l0aGxlZnRoYWxmYmxhY2s6IDB4MjVEMCwKICBjaXJjbGV3aXRocmlnaHRoYWxmYmxhY2s6IDB4MjVEMSwKICBjaXJjdW1mbGV4OiAweDAyQzYsCiAgY2lyY3VtZmxleGJlbG93Y21iOiAweDAzMkQsCiAgY2lyY3VtZmxleGNtYjogMHgwMzAyLAogIGNsZWFyOiAweDIzMjcsCiAgY2xpY2thbHZlb2xhcjogMHgwMUMyLAogIGNsaWNrZGVudGFsOiAweDAxQzAsCiAgY2xpY2tsYXRlcmFsOiAweDAxQzEsCiAgY2xpY2tyZXRyb2ZsZXg6IDB4MDFDMywKICBjbHViOiAweDI2NjMsCiAgY2x1YnN1aXRibGFjazogMHgyNjYzLAogIGNsdWJzdWl0d2hpdGU6IDB4MjY2NywKICBjbWN1YmVkc3F1YXJlOiAweDMzQTQsCiAgY21vbm9zcGFjZTogMHhGRjQzLAogIGNtc3F1YXJlZHNxdWFyZTogMHgzM0EwLAogIGNvYXJtZW5pYW46IDB4MDU4MSwKICBjb2xvbjogMHgwMDNBLAogIGNvbG9ubW9uZXRhcnk6IDB4MjBBMSwKICBjb2xvbm1vbm9zcGFjZTogMHhGRjFBLAogIGNvbG9uc2lnbjogMHgyMEExLAogIGNvbG9uc21hbGw6IDB4RkU1NSwKICBjb2xvbnRyaWFuZ3VsYXJoYWxmbW9kOiAweDAyRDEsCiAgY29sb250cmlhbmd1bGFybW9kOiAweDAyRDAsCiAgY29tbWE6IDB4MDAyQywKICBjb21tYWFib3ZlY21iOiAweDAzMTMsCiAgY29tbWFhYm92ZXJpZ2h0Y21iOiAweDAzMTUsCiAgY29tbWFhY2NlbnQ6IDB4RjZDMywKICBjb21tYWFyYWJpYzogMHgwNjBDLAogIGNvbW1hYXJtZW5pYW46IDB4MDU1RCwKICBjb21tYWluZmVyaW9yOiAweEY2RTEsCiAgY29tbWFtb25vc3BhY2U6IDB4RkYwQywKICBjb21tYXJldmVyc2VkYWJvdmVjbWI6IDB4MDMxNCwKICBjb21tYXJldmVyc2VkbW9kOiAweDAyQkQsCiAgY29tbWFzbWFsbDogMHhGRTUwLAogIGNvbW1hc3VwZXJpb3I6IDB4RjZFMiwKICBjb21tYXR1cm5lZGFib3ZlY21iOiAweDAzMTIsCiAgY29tbWF0dXJuZWRtb2Q6IDB4MDJCQiwKICBjb21wYXNzOiAweDI2M0MsCiAgY29uZ3J1ZW50OiAweDIyNDUsCiAgY29udG91cmludGVncmFsOiAweDIyMkUsCiAgY29udHJvbDogMHgyMzAzLAogIGNvbnRyb2xBQ0s6IDB4MDAwNiwKICBjb250cm9sQkVMOiAweDAwMDcsCiAgY29udHJvbEJTOiAweDAwMDgsCiAgY29udHJvbENBTjogMHgwMDE4LAogIGNvbnRyb2xDUjogMHgwMDBELAogIGNvbnRyb2xEQzE6IDB4MDAxMSwKICBjb250cm9sREMyOiAweDAwMTIsCiAgY29udHJvbERDMzogMHgwMDEzLAogIGNvbnRyb2xEQzQ6IDB4MDAxNCwKICBjb250cm9sREVMOiAweDAwN0YsCiAgY29udHJvbERMRTogMHgwMDEwLAogIGNvbnRyb2xFTTogMHgwMDE5LAogIGNvbnRyb2xFTlE6IDB4MDAwNSwKICBjb250cm9sRU9UOiAweDAwMDQsCiAgY29udHJvbEVTQzogMHgwMDFCLAogIGNvbnRyb2xFVEI6IDB4MDAxNywKICBjb250cm9sRVRYOiAweDAwMDMsCiAgY29udHJvbEZGOiAweDAwMEMsCiAgY29udHJvbEZTOiAweDAwMUMsCiAgY29udHJvbEdTOiAweDAwMUQsCiAgY29udHJvbEhUOiAweDAwMDksCiAgY29udHJvbExGOiAweDAwMEEsCiAgY29udHJvbE5BSzogMHgwMDE1LAogIGNvbnRyb2xSUzogMHgwMDFFLAogIGNvbnRyb2xTSTogMHgwMDBGLAogIGNvbnRyb2xTTzogMHgwMDBFLAogIGNvbnRyb2xTT1Q6IDB4MDAwMiwKICBjb250cm9sU1RYOiAweDAwMDEsCiAgY29udHJvbFNVQjogMHgwMDFBLAogIGNvbnRyb2xTWU46IDB4MDAxNiwKICBjb250cm9sVVM6IDB4MDAxRiwKICBjb250cm9sVlQ6IDB4MDAwQiwKICBjb3B5cmlnaHQ6IDB4MDBBOSwKICBjb3B5cmlnaHRzYW5zOiAweEY4RTksCiAgY29weXJpZ2h0c2VyaWY6IDB4RjZEOSwKICBjb3JuZXJicmFja2V0bGVmdDogMHgzMDBDLAogIGNvcm5lcmJyYWNrZXRsZWZ0aGFsZndpZHRoOiAweEZGNjIsCiAgY29ybmVyYnJhY2tldGxlZnR2ZXJ0aWNhbDogMHhGRTQxLAogIGNvcm5lcmJyYWNrZXRyaWdodDogMHgzMDBELAogIGNvcm5lcmJyYWNrZXRyaWdodGhhbGZ3aWR0aDogMHhGRjYzLAogIGNvcm5lcmJyYWNrZXRyaWdodHZlcnRpY2FsOiAweEZFNDIsCiAgY29ycG9yYXRpb25zcXVhcmU6IDB4MzM3RiwKICBjb3NxdWFyZTogMHgzM0M3LAogIGNvdmVya2dzcXVhcmU6IDB4MzNDNiwKICBjcGFyZW46IDB4MjQ5RSwKICBjcnV6ZWlybzogMHgyMEEyLAogIGNzdHJldGNoZWQ6IDB4MDI5NywKICBjdXJseWFuZDogMHgyMkNGLAogIGN1cmx5b3I6IDB4MjJDRSwKICBjdXJyZW5jeTogMHgwMEE0LAogIGN5ckJyZXZlOiAweEY2RDEsCiAgY3lyRmxleDogMHhGNkQyLAogIGN5cmJyZXZlOiAweEY2RDQsCiAgY3lyZmxleDogMHhGNkQ1LAogIGQ6IDB4MDA2NCwKICBkYWFybWVuaWFuOiAweDA1NjQsCiAgZGFiZW5nYWxpOiAweDA5QTYsCiAgZGFkYXJhYmljOiAweDA2MzYsCiAgZGFkZXZhOiAweDA5MjYsCiAgZGFkZmluYWxhcmFiaWM6IDB4RkVCRSwKICBkYWRpbml0aWFsYXJhYmljOiAweEZFQkYsCiAgZGFkbWVkaWFsYXJhYmljOiAweEZFQzAsCiAgZGFnZXNoOiAweDA1QkMsCiAgZGFnZXNoaGVicmV3OiAweDA1QkMsCiAgZGFnZ2VyOiAweDIwMjAsCiAgZGFnZ2VyZGJsOiAweDIwMjEsCiAgZGFndWphcmF0aTogMHgwQUE2LAogIGRhZ3VybXVraGk6IDB4MEEyNiwKICBkYWhpcmFnYW5hOiAweDMwNjAsCiAgZGFrYXRha2FuYTogMHgzMEMwLAogIGRhbGFyYWJpYzogMHgwNjJGLAogIGRhbGV0OiAweDA1RDMsCiAgZGFsZXRkYWdlc2g6IDB4RkIzMywKICBkYWxldGRhZ2VzaGhlYnJldzogMHhGQjMzLAogIGRhbGV0aGVicmV3OiAweDA1RDMsCiAgZGFsZmluYWxhcmFiaWM6IDB4RkVBQSwKICBkYW1tYWFyYWJpYzogMHgwNjRGLAogIGRhbW1hbG93YXJhYmljOiAweDA2NEYsCiAgZGFtbWF0YW5hbHRvbmVhcmFiaWM6IDB4MDY0QywKICBkYW1tYXRhbmFyYWJpYzogMHgwNjRDLAogIGRhbmRhOiAweDA5NjQsCiAgZGFyZ2FoZWJyZXc6IDB4MDVBNywKICBkYXJnYWxlZnRoZWJyZXc6IDB4MDVBNywKICBkYXNpYXBuZXVtYXRhY3lyaWxsaWNjbWI6IDB4MDQ4NSwKICBkYmxHcmF2ZTogMHhGNkQzLAogIGRibGFuZ2xlYnJhY2tldGxlZnQ6IDB4MzAwQSwKICBkYmxhbmdsZWJyYWNrZXRsZWZ0dmVydGljYWw6IDB4RkUzRCwKICBkYmxhbmdsZWJyYWNrZXRyaWdodDogMHgzMDBCLAogIGRibGFuZ2xlYnJhY2tldHJpZ2h0dmVydGljYWw6IDB4RkUzRSwKICBkYmxhcmNoaW52ZXJ0ZWRiZWxvd2NtYjogMHgwMzJCLAogIGRibGFycm93bGVmdDogMHgyMUQ0LAogIGRibGFycm93cmlnaHQ6IDB4MjFEMiwKICBkYmxkYW5kYTogMHgwOTY1LAogIGRibGdyYXZlOiAweEY2RDYsCiAgZGJsZ3JhdmVjbWI6IDB4MDMwRiwKICBkYmxpbnRlZ3JhbDogMHgyMjJDLAogIGRibGxvd2xpbmU6IDB4MjAxNywKICBkYmxsb3dsaW5lY21iOiAweDAzMzMsCiAgZGJsb3ZlcmxpbmVjbWI6IDB4MDMzRiwKICBkYmxwcmltZW1vZDogMHgwMkJBLAogIGRibHZlcnRpY2FsYmFyOiAweDIwMTYsCiAgZGJsdmVydGljYWxsaW5lYWJvdmVjbWI6IDB4MDMwRSwKICBkYm9wb21vZm86IDB4MzEwOSwKICBkYnNxdWFyZTogMHgzM0M4LAogIGRjYXJvbjogMHgwMTBGLAogIGRjZWRpbGxhOiAweDFFMTEsCiAgZGNpcmNsZTogMHgyNEQzLAogIGRjaXJjdW1mbGV4YmVsb3c6IDB4MUUxMywKICBkY3JvYXQ6IDB4MDExMSwKICBkZGFiZW5nYWxpOiAweDA5QTEsCiAgZGRhZGV2YTogMHgwOTIxLAogIGRkYWd1amFyYXRpOiAweDBBQTEsCiAgZGRhZ3VybXVraGk6IDB4MEEyMSwKICBkZGFsYXJhYmljOiAweDA2ODgsCiAgZGRhbGZpbmFsYXJhYmljOiAweEZCODksCiAgZGRkaGFkZXZhOiAweDA5NUMsCiAgZGRoYWJlbmdhbGk6IDB4MDlBMiwKICBkZGhhZGV2YTogMHgwOTIyLAogIGRkaGFndWphcmF0aTogMHgwQUEyLAogIGRkaGFndXJtdWtoaTogMHgwQTIyLAogIGRkb3RhY2NlbnQ6IDB4MUUwQiwKICBkZG90YmVsb3c6IDB4MUUwRCwKICBkZWNpbWFsc2VwYXJhdG9yYXJhYmljOiAweDA2NkIsCiAgZGVjaW1hbHNlcGFyYXRvcnBlcnNpYW46IDB4MDY2QiwKICBkZWN5cmlsbGljOiAweDA0MzQsCiAgZGVncmVlOiAweDAwQjAsCiAgZGVoaWhlYnJldzogMHgwNUFELAogIGRlaGlyYWdhbmE6IDB4MzA2NywKICBkZWljb3B0aWM6IDB4MDNFRiwKICBkZWthdGFrYW5hOiAweDMwQzcsCiAgZGVsZXRlbGVmdDogMHgyMzJCLAogIGRlbGV0ZXJpZ2h0OiAweDIzMjYsCiAgZGVsdGE6IDB4MDNCNCwKICBkZWx0YXR1cm5lZDogMHgwMThELAogIGRlbm9taW5hdG9ybWludXNvbmVudW1lcmF0b3JiZW5nYWxpOiAweDA5RjgsCiAgZGV6aDogMHgwMkE0LAogIGRoYWJlbmdhbGk6IDB4MDlBNywKICBkaGFkZXZhOiAweDA5MjcsCiAgZGhhZ3VqYXJhdGk6IDB4MEFBNywKICBkaGFndXJtdWtoaTogMHgwQTI3LAogIGRob29rOiAweDAyNTcsCiAgZGlhbHl0aWthdG9ub3M6IDB4MDM4NSwKICBkaWFseXRpa2F0b25vc2NtYjogMHgwMzQ0LAogIGRpYW1vbmQ6IDB4MjY2NiwKICBkaWFtb25kc3VpdHdoaXRlOiAweDI2NjIsCiAgZGllcmVzaXM6IDB4MDBBOCwKICBkaWVyZXNpc2FjdXRlOiAweEY2RDcsCiAgZGllcmVzaXNiZWxvd2NtYjogMHgwMzI0LAogIGRpZXJlc2lzY21iOiAweDAzMDgsCiAgZGllcmVzaXNncmF2ZTogMHhGNkQ4LAogIGRpZXJlc2lzdG9ub3M6IDB4MDM4NSwKICBkaWhpcmFnYW5hOiAweDMwNjIsCiAgZGlrYXRha2FuYTogMHgzMEMyLAogIGRpdHRvbWFyazogMHgzMDAzLAogIGRpdmlkZTogMHgwMEY3LAogIGRpdmlkZXM6IDB4MjIyMywKICBkaXZpc2lvbnNsYXNoOiAweDIyMTUsCiAgZGplY3lyaWxsaWM6IDB4MDQ1MiwKICBka3NoYWRlOiAweDI1OTMsCiAgZGxpbmViZWxvdzogMHgxRTBGLAogIGRsc3F1YXJlOiAweDMzOTcsCiAgZG1hY3JvbjogMHgwMTExLAogIGRtb25vc3BhY2U6IDB4RkY0NCwKICBkbmJsb2NrOiAweDI1ODQsCiAgZG9jaGFkYXRoYWk6IDB4MEUwRSwKICBkb2Rla3RoYWk6IDB4MEUxNCwKICBkb2hpcmFnYW5hOiAweDMwNjksCiAgZG9rYXRha2FuYTogMHgzMEM5LAogIGRvbGxhcjogMHgwMDI0LAogIGRvbGxhcmluZmVyaW9yOiAweEY2RTMsCiAgZG9sbGFybW9ub3NwYWNlOiAweEZGMDQsCiAgZG9sbGFyb2xkc3R5bGU6IDB4RjcyNCwKICBkb2xsYXJzbWFsbDogMHhGRTY5LAogIGRvbGxhcnN1cGVyaW9yOiAweEY2RTQsCiAgZG9uZzogMHgyMEFCLAogIGRvcnVzcXVhcmU6IDB4MzMyNiwKICBkb3RhY2NlbnQ6IDB4MDJEOSwKICBkb3RhY2NlbnRjbWI6IDB4MDMwNywKICBkb3RiZWxvd2NtYjogMHgwMzIzLAogIGRvdGJlbG93Y29tYjogMHgwMzIzLAogIGRvdGthdGFrYW5hOiAweDMwRkIsCiAgZG90bGVzc2k6IDB4MDEzMSwKICBkb3RsZXNzajogMHhGNkJFLAogIGRvdGxlc3Nqc3Ryb2tlaG9vazogMHgwMjg0LAogIGRvdG1hdGg6IDB4MjJDNSwKICBkb3R0ZWRjaXJjbGU6IDB4MjVDQywKICBkb3VibGV5b2RwYXRhaDogMHhGQjFGLAogIGRvdWJsZXlvZHBhdGFoaGVicmV3OiAweEZCMUYsCiAgZG93bnRhY2tiZWxvd2NtYjogMHgwMzFFLAogIGRvd250YWNrbW9kOiAweDAyRDUsCiAgZHBhcmVuOiAweDI0OUYsCiAgZHN1cGVyaW9yOiAweEY2RUIsCiAgZHRhaWw6IDB4MDI1NiwKICBkdG9wYmFyOiAweDAxOEMsCiAgZHVoaXJhZ2FuYTogMHgzMDY1LAogIGR1a2F0YWthbmE6IDB4MzBDNSwKICBkejogMHgwMUYzLAogIGR6YWx0b25lOiAweDAyQTMsCiAgZHpjYXJvbjogMHgwMUM2LAogIGR6Y3VybDogMHgwMkE1LAogIGR6ZWFia2hhc2lhbmN5cmlsbGljOiAweDA0RTEsCiAgZHplY3lyaWxsaWM6IDB4MDQ1NSwKICBkemhlY3lyaWxsaWM6IDB4MDQ1RiwKICBlOiAweDAwNjUsCiAgZWFjdXRlOiAweDAwRTksCiAgZWFydGg6IDB4MjY0MSwKICBlYmVuZ2FsaTogMHgwOThGLAogIGVib3BvbW9mbzogMHgzMTFDLAogIGVicmV2ZTogMHgwMTE1LAogIGVjYW5kcmFkZXZhOiAweDA5MEQsCiAgZWNhbmRyYWd1amFyYXRpOiAweDBBOEQsCiAgZWNhbmRyYXZvd2Vsc2lnbmRldmE6IDB4MDk0NSwKICBlY2FuZHJhdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDNSwKICBlY2Fyb246IDB4MDExQiwKICBlY2VkaWxsYWJyZXZlOiAweDFFMUQsCiAgZWNoYXJtZW5pYW46IDB4MDU2NSwKICBlY2h5aXduYXJtZW5pYW46IDB4MDU4NywKICBlY2lyY2xlOiAweDI0RDQsCiAgZWNpcmN1bWZsZXg6IDB4MDBFQSwKICBlY2lyY3VtZmxleGFjdXRlOiAweDFFQkYsCiAgZWNpcmN1bWZsZXhiZWxvdzogMHgxRTE5LAogIGVjaXJjdW1mbGV4ZG90YmVsb3c6IDB4MUVDNywKICBlY2lyY3VtZmxleGdyYXZlOiAweDFFQzEsCiAgZWNpcmN1bWZsZXhob29rYWJvdmU6IDB4MUVDMywKICBlY2lyY3VtZmxleHRpbGRlOiAweDFFQzUsCiAgZWN5cmlsbGljOiAweDA0NTQsCiAgZWRibGdyYXZlOiAweDAyMDUsCiAgZWRldmE6IDB4MDkwRiwKICBlZGllcmVzaXM6IDB4MDBFQiwKICBlZG90OiAweDAxMTcsCiAgZWRvdGFjY2VudDogMHgwMTE3LAogIGVkb3RiZWxvdzogMHgxRUI5LAogIGVlZ3VybXVraGk6IDB4MEEwRiwKICBlZW1hdHJhZ3VybXVraGk6IDB4MEE0NywKICBlZmN5cmlsbGljOiAweDA0NDQsCiAgZWdyYXZlOiAweDAwRTgsCiAgZWd1amFyYXRpOiAweDBBOEYsCiAgZWhhcm1lbmlhbjogMHgwNTY3LAogIGVoYm9wb21vZm86IDB4MzExRCwKICBlaGlyYWdhbmE6IDB4MzA0OCwKICBlaG9va2Fib3ZlOiAweDFFQkIsCiAgZWlib3BvbW9mbzogMHgzMTFGLAogIGVpZ2h0OiAweDAwMzgsCiAgZWlnaHRhcmFiaWM6IDB4MDY2OCwKICBlaWdodGJlbmdhbGk6IDB4MDlFRSwKICBlaWdodGNpcmNsZTogMHgyNDY3LAogIGVpZ2h0Y2lyY2xlaW52ZXJzZXNhbnNzZXJpZjogMHgyNzkxLAogIGVpZ2h0ZGV2YTogMHgwOTZFLAogIGVpZ2h0ZWVuY2lyY2xlOiAweDI0NzEsCiAgZWlnaHRlZW5wYXJlbjogMHgyNDg1LAogIGVpZ2h0ZWVucGVyaW9kOiAweDI0OTksCiAgZWlnaHRndWphcmF0aTogMHgwQUVFLAogIGVpZ2h0Z3VybXVraGk6IDB4MEE2RSwKICBlaWdodGhhY2thcmFiaWM6IDB4MDY2OCwKICBlaWdodGhhbmd6aG91OiAweDMwMjgsCiAgZWlnaHRobm90ZWJlYW1lZDogMHgyNjZCLAogIGVpZ2h0aWRlb2dyYXBoaWNwYXJlbjogMHgzMjI3LAogIGVpZ2h0aW5mZXJpb3I6IDB4MjA4OCwKICBlaWdodG1vbm9zcGFjZTogMHhGRjE4LAogIGVpZ2h0b2xkc3R5bGU6IDB4RjczOCwKICBlaWdodHBhcmVuOiAweDI0N0IsCiAgZWlnaHRwZXJpb2Q6IDB4MjQ4RiwKICBlaWdodHBlcnNpYW46IDB4MDZGOCwKICBlaWdodHJvbWFuOiAweDIxNzcsCiAgZWlnaHRzdXBlcmlvcjogMHgyMDc4LAogIGVpZ2h0dGhhaTogMHgwRTU4LAogIGVpbnZlcnRlZGJyZXZlOiAweDAyMDcsCiAgZWlvdGlmaWVkY3lyaWxsaWM6IDB4MDQ2NSwKICBla2F0YWthbmE6IDB4MzBBOCwKICBla2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3NCwKICBla29ua2FyZ3VybXVraGk6IDB4MEE3NCwKICBla29yZWFuOiAweDMxNTQsCiAgZWxjeXJpbGxpYzogMHgwNDNCLAogIGVsZW1lbnQ6IDB4MjIwOCwKICBlbGV2ZW5jaXJjbGU6IDB4MjQ2QSwKICBlbGV2ZW5wYXJlbjogMHgyNDdFLAogIGVsZXZlbnBlcmlvZDogMHgyNDkyLAogIGVsZXZlbnJvbWFuOiAweDIxN0EsCiAgZWxsaXBzaXM6IDB4MjAyNiwKICBlbGxpcHNpc3ZlcnRpY2FsOiAweDIyRUUsCiAgZW1hY3JvbjogMHgwMTEzLAogIGVtYWNyb25hY3V0ZTogMHgxRTE3LAogIGVtYWNyb25ncmF2ZTogMHgxRTE1LAogIGVtY3lyaWxsaWM6IDB4MDQzQywKICBlbWRhc2g6IDB4MjAxNCwKICBlbWRhc2h2ZXJ0aWNhbDogMHhGRTMxLAogIGVtb25vc3BhY2U6IDB4RkY0NSwKICBlbXBoYXNpc21hcmthcm1lbmlhbjogMHgwNTVCLAogIGVtcHR5c2V0OiAweDIyMDUsCiAgZW5ib3BvbW9mbzogMHgzMTIzLAogIGVuY3lyaWxsaWM6IDB4MDQzRCwKICBlbmRhc2g6IDB4MjAxMywKICBlbmRhc2h2ZXJ0aWNhbDogMHhGRTMyLAogIGVuZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDRBMywKICBlbmc6IDB4MDE0QiwKICBlbmdib3BvbW9mbzogMHgzMTI1LAogIGVuZ2hlY3lyaWxsaWM6IDB4MDRBNSwKICBlbmhvb2tjeXJpbGxpYzogMHgwNEM4LAogIGVuc3BhY2U6IDB4MjAwMiwKICBlb2dvbmVrOiAweDAxMTksCiAgZW9rb3JlYW46IDB4MzE1MywKICBlb3BlbjogMHgwMjVCLAogIGVvcGVuY2xvc2VkOiAweDAyOUEsCiAgZW9wZW5yZXZlcnNlZDogMHgwMjVDLAogIGVvcGVucmV2ZXJzZWRjbG9zZWQ6IDB4MDI1RSwKICBlb3BlbnJldmVyc2VkaG9vazogMHgwMjVELAogIGVwYXJlbjogMHgyNEEwLAogIGVwc2lsb246IDB4MDNCNSwKICBlcHNpbG9udG9ub3M6IDB4MDNBRCwKICBlcXVhbDogMHgwMDNELAogIGVxdWFsbW9ub3NwYWNlOiAweEZGMUQsCiAgZXF1YWxzbWFsbDogMHhGRTY2LAogIGVxdWFsc3VwZXJpb3I6IDB4MjA3QywKICBlcXVpdmFsZW5jZTogMHgyMjYxLAogIGVyYm9wb21vZm86IDB4MzEyNiwKICBlcmN5cmlsbGljOiAweDA0NDAsCiAgZXJldmVyc2VkOiAweDAyNTgsCiAgZXJldmVyc2VkY3lyaWxsaWM6IDB4MDQ0RCwKICBlc2N5cmlsbGljOiAweDA0NDEsCiAgZXNkZXNjZW5kZXJjeXJpbGxpYzogMHgwNEFCLAogIGVzaDogMHgwMjgzLAogIGVzaGN1cmw6IDB4MDI4NiwKICBlc2hvcnRkZXZhOiAweDA5MEUsCiAgZXNob3J0dm93ZWxzaWduZGV2YTogMHgwOTQ2LAogIGVzaHJldmVyc2VkbG9vcDogMHgwMUFBLAogIGVzaHNxdWF0cmV2ZXJzZWQ6IDB4MDI4NSwKICBlc21hbGxoaXJhZ2FuYTogMHgzMDQ3LAogIGVzbWFsbGthdGFrYW5hOiAweDMwQTcsCiAgZXNtYWxsa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2QSwKICBlc3RpbWF0ZWQ6IDB4MjEyRSwKICBlc3VwZXJpb3I6IDB4RjZFQywKICBldGE6IDB4MDNCNywKICBldGFybWVuaWFuOiAweDA1NjgsCiAgZXRhdG9ub3M6IDB4MDNBRSwKICBldGg6IDB4MDBGMCwKICBldGlsZGU6IDB4MUVCRCwKICBldGlsZGViZWxvdzogMHgxRTFCLAogIGV0bmFodGFmb3VraGhlYnJldzogMHgwNTkxLAogIGV0bmFodGFmb3VraGxlZnRoZWJyZXc6IDB4MDU5MSwKICBldG5haHRhaGVicmV3OiAweDA1OTEsCiAgZXRuYWh0YWxlZnRoZWJyZXc6IDB4MDU5MSwKICBldHVybmVkOiAweDAxREQsCiAgZXVrb3JlYW46IDB4MzE2MSwKICBldXJvOiAweDIwQUMsCiAgZXZvd2Vsc2lnbmJlbmdhbGk6IDB4MDlDNywKICBldm93ZWxzaWduZGV2YTogMHgwOTQ3LAogIGV2b3dlbHNpZ25ndWphcmF0aTogMHgwQUM3LAogIGV4Y2xhbTogMHgwMDIxLAogIGV4Y2xhbWFybWVuaWFuOiAweDA1NUMsCiAgZXhjbGFtZGJsOiAweDIwM0MsCiAgZXhjbGFtZG93bjogMHgwMEExLAogIGV4Y2xhbWRvd25zbWFsbDogMHhGN0ExLAogIGV4Y2xhbW1vbm9zcGFjZTogMHhGRjAxLAogIGV4Y2xhbXNtYWxsOiAweEY3MjEsCiAgZXhpc3RlbnRpYWw6IDB4MjIwMywKICBlemg6IDB4MDI5MiwKICBlemhjYXJvbjogMHgwMUVGLAogIGV6aGN1cmw6IDB4MDI5MywKICBlemhyZXZlcnNlZDogMHgwMUI5LAogIGV6aHRhaWw6IDB4MDFCQSwKICBmOiAweDAwNjYsCiAgZmFkZXZhOiAweDA5NUUsCiAgZmFndXJtdWtoaTogMHgwQTVFLAogIGZhaHJlbmhlaXQ6IDB4MjEwOSwKICBmYXRoYWFyYWJpYzogMHgwNjRFLAogIGZhdGhhbG93YXJhYmljOiAweDA2NEUsCiAgZmF0aGF0YW5hcmFiaWM6IDB4MDY0QiwKICBmYm9wb21vZm86IDB4MzEwOCwKICBmY2lyY2xlOiAweDI0RDUsCiAgZmRvdGFjY2VudDogMHgxRTFGLAogIGZlaGFyYWJpYzogMHgwNjQxLAogIGZlaGFybWVuaWFuOiAweDA1ODYsCiAgZmVoZmluYWxhcmFiaWM6IDB4RkVEMiwKICBmZWhpbml0aWFsYXJhYmljOiAweEZFRDMsCiAgZmVobWVkaWFsYXJhYmljOiAweEZFRDQsCiAgZmVpY29wdGljOiAweDAzRTUsCiAgZmVtYWxlOiAweDI2NDAsCiAgZmY6IDB4RkIwMCwKICBmZmk6IDB4RkIwMywKICBmZmw6IDB4RkIwNCwKICBmaTogMHhGQjAxLAogIGZpZnRlZW5jaXJjbGU6IDB4MjQ2RSwKICBmaWZ0ZWVucGFyZW46IDB4MjQ4MiwKICBmaWZ0ZWVucGVyaW9kOiAweDI0OTYsCiAgZmlndXJlZGFzaDogMHgyMDEyLAogIGZpbGxlZGJveDogMHgyNUEwLAogIGZpbGxlZHJlY3Q6IDB4MjVBQywKICBmaW5hbGthZjogMHgwNURBLAogIGZpbmFsa2FmZGFnZXNoOiAweEZCM0EsCiAgZmluYWxrYWZkYWdlc2hoZWJyZXc6IDB4RkIzQSwKICBmaW5hbGthZmhlYnJldzogMHgwNURBLAogIGZpbmFsbWVtOiAweDA1REQsCiAgZmluYWxtZW1oZWJyZXc6IDB4MDVERCwKICBmaW5hbG51bjogMHgwNURGLAogIGZpbmFsbnVuaGVicmV3OiAweDA1REYsCiAgZmluYWxwZTogMHgwNUUzLAogIGZpbmFscGVoZWJyZXc6IDB4MDVFMywKICBmaW5hbHRzYWRpOiAweDA1RTUsCiAgZmluYWx0c2FkaWhlYnJldzogMHgwNUU1LAogIGZpcnN0dG9uZWNoaW5lc2U6IDB4MDJDOSwKICBmaXNoZXllOiAweDI1QzksCiAgZml0YWN5cmlsbGljOiAweDA0NzMsCiAgZml2ZTogMHgwMDM1LAogIGZpdmVhcmFiaWM6IDB4MDY2NSwKICBmaXZlYmVuZ2FsaTogMHgwOUVCLAogIGZpdmVjaXJjbGU6IDB4MjQ2NCwKICBmaXZlY2lyY2xlaW52ZXJzZXNhbnNzZXJpZjogMHgyNzhFLAogIGZpdmVkZXZhOiAweDA5NkIsCiAgZml2ZWVpZ2h0aHM6IDB4MjE1RCwKICBmaXZlZ3VqYXJhdGk6IDB4MEFFQiwKICBmaXZlZ3VybXVraGk6IDB4MEE2QiwKICBmaXZlaGFja2FyYWJpYzogMHgwNjY1LAogIGZpdmVoYW5nemhvdTogMHgzMDI1LAogIGZpdmVpZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjQsCiAgZml2ZWluZmVyaW9yOiAweDIwODUsCiAgZml2ZW1vbm9zcGFjZTogMHhGRjE1LAogIGZpdmVvbGRzdHlsZTogMHhGNzM1LAogIGZpdmVwYXJlbjogMHgyNDc4LAogIGZpdmVwZXJpb2Q6IDB4MjQ4QywKICBmaXZlcGVyc2lhbjogMHgwNkY1LAogIGZpdmVyb21hbjogMHgyMTc0LAogIGZpdmVzdXBlcmlvcjogMHgyMDc1LAogIGZpdmV0aGFpOiAweDBFNTUsCiAgZmw6IDB4RkIwMiwKICBmbG9yaW46IDB4MDE5MiwKICBmbW9ub3NwYWNlOiAweEZGNDYsCiAgZm1zcXVhcmU6IDB4MzM5OSwKICBmb2ZhbnRoYWk6IDB4MEUxRiwKICBmb2ZhdGhhaTogMHgwRTFELAogIGZvbmdtYW50aGFpOiAweDBFNEYsCiAgZm9yYWxsOiAweDIyMDAsCiAgZm91cjogMHgwMDM0LAogIGZvdXJhcmFiaWM6IDB4MDY2NCwKICBmb3VyYmVuZ2FsaTogMHgwOUVBLAogIGZvdXJjaXJjbGU6IDB4MjQ2MywKICBmb3VyY2lyY2xlaW52ZXJzZXNhbnNzZXJpZjogMHgyNzhELAogIGZvdXJkZXZhOiAweDA5NkEsCiAgZm91cmd1amFyYXRpOiAweDBBRUEsCiAgZm91cmd1cm11a2hpOiAweDBBNkEsCiAgZm91cmhhY2thcmFiaWM6IDB4MDY2NCwKICBmb3VyaGFuZ3pob3U6IDB4MzAyNCwKICBmb3VyaWRlb2dyYXBoaWNwYXJlbjogMHgzMjIzLAogIGZvdXJpbmZlcmlvcjogMHgyMDg0LAogIGZvdXJtb25vc3BhY2U6IDB4RkYxNCwKICBmb3VybnVtZXJhdG9yYmVuZ2FsaTogMHgwOUY3LAogIGZvdXJvbGRzdHlsZTogMHhGNzM0LAogIGZvdXJwYXJlbjogMHgyNDc3LAogIGZvdXJwZXJpb2Q6IDB4MjQ4QiwKICBmb3VycGVyc2lhbjogMHgwNkY0LAogIGZvdXJyb21hbjogMHgyMTczLAogIGZvdXJzdXBlcmlvcjogMHgyMDc0LAogIGZvdXJ0ZWVuY2lyY2xlOiAweDI0NkQsCiAgZm91cnRlZW5wYXJlbjogMHgyNDgxLAogIGZvdXJ0ZWVucGVyaW9kOiAweDI0OTUsCiAgZm91cnRoYWk6IDB4MEU1NCwKICBmb3VydGh0b25lY2hpbmVzZTogMHgwMkNCLAogIGZwYXJlbjogMHgyNEExLAogIGZyYWN0aW9uOiAweDIwNDQsCiAgZnJhbmM6IDB4MjBBMywKICBnOiAweDAwNjcsCiAgZ2FiZW5nYWxpOiAweDA5OTcsCiAgZ2FjdXRlOiAweDAxRjUsCiAgZ2FkZXZhOiAweDA5MTcsCiAgZ2FmYXJhYmljOiAweDA2QUYsCiAgZ2FmZmluYWxhcmFiaWM6IDB4RkI5MywKICBnYWZpbml0aWFsYXJhYmljOiAweEZCOTQsCiAgZ2FmbWVkaWFsYXJhYmljOiAweEZCOTUsCiAgZ2FndWphcmF0aTogMHgwQTk3LAogIGdhZ3VybXVraGk6IDB4MEExNywKICBnYWhpcmFnYW5hOiAweDMwNEMsCiAgZ2FrYXRha2FuYTogMHgzMEFDLAogIGdhbW1hOiAweDAzQjMsCiAgZ2FtbWFsYXRpbnNtYWxsOiAweDAyNjMsCiAgZ2FtbWFzdXBlcmlvcjogMHgwMkUwLAogIGdhbmdpYWNvcHRpYzogMHgwM0VCLAogIGdib3BvbW9mbzogMHgzMTBELAogIGdicmV2ZTogMHgwMTFGLAogIGdjYXJvbjogMHgwMUU3LAogIGdjZWRpbGxhOiAweDAxMjMsCiAgZ2NpcmNsZTogMHgyNEQ2LAogIGdjaXJjdW1mbGV4OiAweDAxMUQsCiAgZ2NvbW1hYWNjZW50OiAweDAxMjMsCiAgZ2RvdDogMHgwMTIxLAogIGdkb3RhY2NlbnQ6IDB4MDEyMSwKICBnZWN5cmlsbGljOiAweDA0MzMsCiAgZ2VoaXJhZ2FuYTogMHgzMDUyLAogIGdla2F0YWthbmE6IDB4MzBCMiwKICBnZW9tZXRyaWNhbGx5ZXF1YWw6IDB4MjI1MSwKICBnZXJlc2hhY2NlbnRoZWJyZXc6IDB4MDU5QywKICBnZXJlc2hoZWJyZXc6IDB4MDVGMywKICBnZXJlc2htdXFkYW1oZWJyZXc6IDB4MDU5RCwKICBnZXJtYW5kYmxzOiAweDAwREYsCiAgZ2Vyc2hheWltYWNjZW50aGVicmV3OiAweDA1OUUsCiAgZ2Vyc2hheWltaGVicmV3OiAweDA1RjQsCiAgZ2V0YW1hcms6IDB4MzAxMywKICBnaGFiZW5nYWxpOiAweDA5OTgsCiAgZ2hhZGFybWVuaWFuOiAweDA1NzIsCiAgZ2hhZGV2YTogMHgwOTE4LAogIGdoYWd1amFyYXRpOiAweDBBOTgsCiAgZ2hhZ3VybXVraGk6IDB4MEExOCwKICBnaGFpbmFyYWJpYzogMHgwNjNBLAogIGdoYWluZmluYWxhcmFiaWM6IDB4RkVDRSwKICBnaGFpbmluaXRpYWxhcmFiaWM6IDB4RkVDRiwKICBnaGFpbm1lZGlhbGFyYWJpYzogMHhGRUQwLAogIGdoZW1pZGRsZWhvb2tjeXJpbGxpYzogMHgwNDk1LAogIGdoZXN0cm9rZWN5cmlsbGljOiAweDA0OTMsCiAgZ2hldXB0dXJuY3lyaWxsaWM6IDB4MDQ5MSwKICBnaGhhZGV2YTogMHgwOTVBLAogIGdoaGFndXJtdWtoaTogMHgwQTVBLAogIGdob29rOiAweDAyNjAsCiAgZ2h6c3F1YXJlOiAweDMzOTMsCiAgZ2loaXJhZ2FuYTogMHgzMDRFLAogIGdpa2F0YWthbmE6IDB4MzBBRSwKICBnaW1hcm1lbmlhbjogMHgwNTYzLAogIGdpbWVsOiAweDA1RDIsCiAgZ2ltZWxkYWdlc2g6IDB4RkIzMiwKICBnaW1lbGRhZ2VzaGhlYnJldzogMHhGQjMyLAogIGdpbWVsaGVicmV3OiAweDA1RDIsCiAgZ2plY3lyaWxsaWM6IDB4MDQ1MywKICBnbG90dGFsaW52ZXJ0ZWRzdHJva2U6IDB4MDFCRSwKICBnbG90dGFsc3RvcDogMHgwMjk0LAogIGdsb3R0YWxzdG9waW52ZXJ0ZWQ6IDB4MDI5NiwKICBnbG90dGFsc3RvcG1vZDogMHgwMkMwLAogIGdsb3R0YWxzdG9wcmV2ZXJzZWQ6IDB4MDI5NSwKICBnbG90dGFsc3RvcHJldmVyc2VkbW9kOiAweDAyQzEsCiAgZ2xvdHRhbHN0b3ByZXZlcnNlZHN1cGVyaW9yOiAweDAyRTQsCiAgZ2xvdHRhbHN0b3BzdHJva2U6IDB4MDJBMSwKICBnbG90dGFsc3RvcHN0cm9rZXJldmVyc2VkOiAweDAyQTIsCiAgZ21hY3JvbjogMHgxRTIxLAogIGdtb25vc3BhY2U6IDB4RkY0NywKICBnb2hpcmFnYW5hOiAweDMwNTQsCiAgZ29rYXRha2FuYTogMHgzMEI0LAogIGdwYXJlbjogMHgyNEEyLAogIGdwYXNxdWFyZTogMHgzM0FDLAogIGdyYWRpZW50OiAweDIyMDcsCiAgZ3JhdmU6IDB4MDA2MCwKICBncmF2ZWJlbG93Y21iOiAweDAzMTYsCiAgZ3JhdmVjbWI6IDB4MDMwMCwKICBncmF2ZWNvbWI6IDB4MDMwMCwKICBncmF2ZWRldmE6IDB4MDk1MywKICBncmF2ZWxvd21vZDogMHgwMkNFLAogIGdyYXZlbW9ub3NwYWNlOiAweEZGNDAsCiAgZ3JhdmV0b25lY21iOiAweDAzNDAsCiAgZ3JlYXRlcjogMHgwMDNFLAogIGdyZWF0ZXJlcXVhbDogMHgyMjY1LAogIGdyZWF0ZXJlcXVhbG9ybGVzczogMHgyMkRCLAogIGdyZWF0ZXJtb25vc3BhY2U6IDB4RkYxRSwKICBncmVhdGVyb3JlcXVpdmFsZW50OiAweDIyNzMsCiAgZ3JlYXRlcm9ybGVzczogMHgyMjc3LAogIGdyZWF0ZXJvdmVyZXF1YWw6IDB4MjI2NywKICBncmVhdGVyc21hbGw6IDB4RkU2NSwKICBnc2NyaXB0OiAweDAyNjEsCiAgZ3N0cm9rZTogMHgwMUU1LAogIGd1aGlyYWdhbmE6IDB4MzA1MCwKICBndWlsbGVtb3RsZWZ0OiAweDAwQUIsCiAgZ3VpbGxlbW90cmlnaHQ6IDB4MDBCQiwKICBndWlsc2luZ2xsZWZ0OiAweDIwMzksCiAgZ3VpbHNpbmdscmlnaHQ6IDB4MjAzQSwKICBndWthdGFrYW5hOiAweDMwQjAsCiAgZ3VyYW11c3F1YXJlOiAweDMzMTgsCiAgZ3lzcXVhcmU6IDB4MzNDOSwKICBoOiAweDAwNjgsCiAgaGFhYmtoYXNpYW5jeXJpbGxpYzogMHgwNEE5LAogIGhhYWx0b25lYXJhYmljOiAweDA2QzEsCiAgaGFiZW5nYWxpOiAweDA5QjksCiAgaGFkZXNjZW5kZXJjeXJpbGxpYzogMHgwNEIzLAogIGhhZGV2YTogMHgwOTM5LAogIGhhZ3VqYXJhdGk6IDB4MEFCOSwKICBoYWd1cm11a2hpOiAweDBBMzksCiAgaGFoYXJhYmljOiAweDA2MkQsCiAgaGFoZmluYWxhcmFiaWM6IDB4RkVBMiwKICBoYWhpbml0aWFsYXJhYmljOiAweEZFQTMsCiAgaGFoaXJhZ2FuYTogMHgzMDZGLAogIGhhaG1lZGlhbGFyYWJpYzogMHhGRUE0LAogIGhhaXR1c3F1YXJlOiAweDMzMkEsCiAgaGFrYXRha2FuYTogMHgzMENGLAogIGhha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4QSwKICBoYWxhbnRndXJtdWtoaTogMHgwQTRELAogIGhhbXphYXJhYmljOiAweDA2MjEsCiAgaGFtemFsb3dhcmFiaWM6IDB4MDYyMSwKICBoYW5ndWxmaWxsZXI6IDB4MzE2NCwKICBoYXJkc2lnbmN5cmlsbGljOiAweDA0NEEsCiAgaGFycG9vbmxlZnRiYXJidXA6IDB4MjFCQywKICBoYXJwb29ucmlnaHRiYXJidXA6IDB4MjFDMCwKICBoYXNxdWFyZTogMHgzM0NBLAogIGhhdGFmcGF0YWg6IDB4MDVCMiwKICBoYXRhZnBhdGFoMTY6IDB4MDVCMiwKICBoYXRhZnBhdGFoMjM6IDB4MDVCMiwKICBoYXRhZnBhdGFoMmY6IDB4MDVCMiwKICBoYXRhZnBhdGFoaGVicmV3OiAweDA1QjIsCiAgaGF0YWZwYXRhaG5hcnJvd2hlYnJldzogMHgwNUIyLAogIGhhdGFmcGF0YWhxdWFydGVyaGVicmV3OiAweDA1QjIsCiAgaGF0YWZwYXRhaHdpZGVoZWJyZXc6IDB4MDVCMiwKICBoYXRhZnFhbWF0czogMHgwNUIzLAogIGhhdGFmcWFtYXRzMWI6IDB4MDVCMywKICBoYXRhZnFhbWF0czI4OiAweDA1QjMsCiAgaGF0YWZxYW1hdHMzNDogMHgwNUIzLAogIGhhdGFmcWFtYXRzaGVicmV3OiAweDA1QjMsCiAgaGF0YWZxYW1hdHNuYXJyb3doZWJyZXc6IDB4MDVCMywKICBoYXRhZnFhbWF0c3F1YXJ0ZXJoZWJyZXc6IDB4MDVCMywKICBoYXRhZnFhbWF0c3dpZGVoZWJyZXc6IDB4MDVCMywKICBoYXRhZnNlZ29sOiAweDA1QjEsCiAgaGF0YWZzZWdvbDE3OiAweDA1QjEsCiAgaGF0YWZzZWdvbDI0OiAweDA1QjEsCiAgaGF0YWZzZWdvbDMwOiAweDA1QjEsCiAgaGF0YWZzZWdvbGhlYnJldzogMHgwNUIxLAogIGhhdGFmc2Vnb2xuYXJyb3doZWJyZXc6IDB4MDVCMSwKICBoYXRhZnNlZ29scXVhcnRlcmhlYnJldzogMHgwNUIxLAogIGhhdGFmc2Vnb2x3aWRlaGVicmV3OiAweDA1QjEsCiAgaGJhcjogMHgwMTI3LAogIGhib3BvbW9mbzogMHgzMTBGLAogIGhicmV2ZWJlbG93OiAweDFFMkIsCiAgaGNlZGlsbGE6IDB4MUUyOSwKICBoY2lyY2xlOiAweDI0RDcsCiAgaGNpcmN1bWZsZXg6IDB4MDEyNSwKICBoZGllcmVzaXM6IDB4MUUyNywKICBoZG90YWNjZW50OiAweDFFMjMsCiAgaGRvdGJlbG93OiAweDFFMjUsCiAgaGU6IDB4MDVENCwKICBoZWFydDogMHgyNjY1LAogIGhlYXJ0c3VpdGJsYWNrOiAweDI2NjUsCiAgaGVhcnRzdWl0d2hpdGU6IDB4MjY2MSwKICBoZWRhZ2VzaDogMHhGQjM0LAogIGhlZGFnZXNoaGVicmV3OiAweEZCMzQsCiAgaGVoYWx0b25lYXJhYmljOiAweDA2QzEsCiAgaGVoYXJhYmljOiAweDA2NDcsCiAgaGVoZWJyZXc6IDB4MDVENCwKICBoZWhmaW5hbGFsdG9uZWFyYWJpYzogMHhGQkE3LAogIGhlaGZpbmFsYWx0dHdvYXJhYmljOiAweEZFRUEsCiAgaGVoZmluYWxhcmFiaWM6IDB4RkVFQSwKICBoZWhoYW16YWFib3ZlZmluYWxhcmFiaWM6IDB4RkJBNSwKICBoZWhoYW16YWFib3ZlaXNvbGF0ZWRhcmFiaWM6IDB4RkJBNCwKICBoZWhpbml0aWFsYWx0b25lYXJhYmljOiAweEZCQTgsCiAgaGVoaW5pdGlhbGFyYWJpYzogMHhGRUVCLAogIGhlaGlyYWdhbmE6IDB4MzA3OCwKICBoZWhtZWRpYWxhbHRvbmVhcmFiaWM6IDB4RkJBOSwKICBoZWhtZWRpYWxhcmFiaWM6IDB4RkVFQywKICBoZWlzZWllcmFzcXVhcmU6IDB4MzM3QiwKICBoZWthdGFrYW5hOiAweDMwRDgsCiAgaGVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjhELAogIGhla3V0YWFydXNxdWFyZTogMHgzMzM2LAogIGhlbmdob29rOiAweDAyNjcsCiAgaGVydXR1c3F1YXJlOiAweDMzMzksCiAgaGV0OiAweDA1RDcsCiAgaGV0aGVicmV3OiAweDA1RDcsCiAgaGhvb2s6IDB4MDI2NiwKICBoaG9va3N1cGVyaW9yOiAweDAyQjEsCiAgaGlldWhhY2lyY2xla29yZWFuOiAweDMyN0IsCiAgaGlldWhhcGFyZW5rb3JlYW46IDB4MzIxQiwKICBoaWV1aGNpcmNsZWtvcmVhbjogMHgzMjZELAogIGhpZXVoa29yZWFuOiAweDMxNEUsCiAgaGlldWhwYXJlbmtvcmVhbjogMHgzMjBELAogIGhpaGlyYWdhbmE6IDB4MzA3MiwKICBoaWthdGFrYW5hOiAweDMwRDIsCiAgaGlrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjhCLAogIGhpcmlxOiAweDA1QjQsCiAgaGlyaXExNDogMHgwNUI0LAogIGhpcmlxMjE6IDB4MDVCNCwKICBoaXJpcTJkOiAweDA1QjQsCiAgaGlyaXFoZWJyZXc6IDB4MDVCNCwKICBoaXJpcW5hcnJvd2hlYnJldzogMHgwNUI0LAogIGhpcmlxcXVhcnRlcmhlYnJldzogMHgwNUI0LAogIGhpcmlxd2lkZWhlYnJldzogMHgwNUI0LAogIGhsaW5lYmVsb3c6IDB4MUU5NiwKICBobW9ub3NwYWNlOiAweEZGNDgsCiAgaG9hcm1lbmlhbjogMHgwNTcwLAogIGhvaGlwdGhhaTogMHgwRTJCLAogIGhvaGlyYWdhbmE6IDB4MzA3QiwKICBob2thdGFrYW5hOiAweDMwREIsCiAgaG9rYXRha2FuYWhhbGZ3aWR0aDogMHhGRjhFLAogIGhvbGFtOiAweDA1QjksCiAgaG9sYW0xOTogMHgwNUI5LAogIGhvbGFtMjY6IDB4MDVCOSwKICBob2xhbTMyOiAweDA1QjksCiAgaG9sYW1oZWJyZXc6IDB4MDVCOSwKICBob2xhbW5hcnJvd2hlYnJldzogMHgwNUI5LAogIGhvbGFtcXVhcnRlcmhlYnJldzogMHgwNUI5LAogIGhvbGFtd2lkZWhlYnJldzogMHgwNUI5LAogIGhvbm9raHVrdGhhaTogMHgwRTJFLAogIGhvb2thYm92ZWNvbWI6IDB4MDMwOSwKICBob29rY21iOiAweDAzMDksCiAgaG9va3BhbGF0YWxpemVkYmVsb3djbWI6IDB4MDMyMSwKICBob29rcmV0cm9mbGV4YmVsb3djbWI6IDB4MDMyMiwKICBob29uc3F1YXJlOiAweDMzNDIsCiAgaG9yaWNvcHRpYzogMHgwM0U5LAogIGhvcml6b250YWxiYXI6IDB4MjAxNSwKICBob3JuY21iOiAweDAzMUIsCiAgaG90c3ByaW5nczogMHgyNjY4LAogIGhvdXNlOiAweDIzMDIsCiAgaHBhcmVuOiAweDI0QTMsCiAgaHN1cGVyaW9yOiAweDAyQjAsCiAgaHR1cm5lZDogMHgwMjY1LAogIGh1aGlyYWdhbmE6IDB4MzA3NSwKICBodWlpdG9zcXVhcmU6IDB4MzMzMywKICBodWthdGFrYW5hOiAweDMwRDUsCiAgaHVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjhDLAogIGh1bmdhcnVtbGF1dDogMHgwMkRELAogIGh1bmdhcnVtbGF1dGNtYjogMHgwMzBCLAogIGh2OiAweDAxOTUsCiAgaHlwaGVuOiAweDAwMkQsCiAgaHlwaGVuaW5mZXJpb3I6IDB4RjZFNSwKICBoeXBoZW5tb25vc3BhY2U6IDB4RkYwRCwKICBoeXBoZW5zbWFsbDogMHhGRTYzLAogIGh5cGhlbnN1cGVyaW9yOiAweEY2RTYsCiAgaHlwaGVudHdvOiAweDIwMTAsCiAgaTogMHgwMDY5LAogIGlhY3V0ZTogMHgwMEVELAogIGlhY3lyaWxsaWM6IDB4MDQ0RiwKICBpYmVuZ2FsaTogMHgwOTg3LAogIGlib3BvbW9mbzogMHgzMTI3LAogIGlicmV2ZTogMHgwMTJELAogIGljYXJvbjogMHgwMUQwLAogIGljaXJjbGU6IDB4MjREOCwKICBpY2lyY3VtZmxleDogMHgwMEVFLAogIGljeXJpbGxpYzogMHgwNDU2LAogIGlkYmxncmF2ZTogMHgwMjA5LAogIGlkZW9ncmFwaGVhcnRoY2lyY2xlOiAweDMyOEYsCiAgaWRlb2dyYXBoZmlyZWNpcmNsZTogMHgzMjhCLAogIGlkZW9ncmFwaGljYWxsaWFuY2VwYXJlbjogMHgzMjNGLAogIGlkZW9ncmFwaGljY2FsbHBhcmVuOiAweDMyM0EsCiAgaWRlb2dyYXBoaWNjZW50cmVjaXJjbGU6IDB4MzJBNSwKICBpZGVvZ3JhcGhpY2Nsb3NlOiAweDMwMDYsCiAgaWRlb2dyYXBoaWNjb21tYTogMHgzMDAxLAogIGlkZW9ncmFwaGljY29tbWFsZWZ0OiAweEZGNjQsCiAgaWRlb2dyYXBoaWNjb25ncmF0dWxhdGlvbnBhcmVuOiAweDMyMzcsCiAgaWRlb2dyYXBoaWNjb3JyZWN0Y2lyY2xlOiAweDMyQTMsCiAgaWRlb2dyYXBoaWNlYXJ0aHBhcmVuOiAweDMyMkYsCiAgaWRlb2dyYXBoaWNlbnRlcnByaXNlcGFyZW46IDB4MzIzRCwKICBpZGVvZ3JhcGhpY2V4Y2VsbGVudGNpcmNsZTogMHgzMjlELAogIGlkZW9ncmFwaGljZmVzdGl2YWxwYXJlbjogMHgzMjQwLAogIGlkZW9ncmFwaGljZmluYW5jaWFsY2lyY2xlOiAweDMyOTYsCiAgaWRlb2dyYXBoaWNmaW5hbmNpYWxwYXJlbjogMHgzMjM2LAogIGlkZW9ncmFwaGljZmlyZXBhcmVuOiAweDMyMkIsCiAgaWRlb2dyYXBoaWNoYXZlcGFyZW46IDB4MzIzMiwKICBpZGVvZ3JhcGhpY2hpZ2hjaXJjbGU6IDB4MzJBNCwKICBpZGVvZ3JhcGhpY2l0ZXJhdGlvbm1hcms6IDB4MzAwNSwKICBpZGVvZ3JhcGhpY2xhYm9yY2lyY2xlOiAweDMyOTgsCiAgaWRlb2dyYXBoaWNsYWJvcnBhcmVuOiAweDMyMzgsCiAgaWRlb2dyYXBoaWNsZWZ0Y2lyY2xlOiAweDMyQTcsCiAgaWRlb2dyYXBoaWNsb3djaXJjbGU6IDB4MzJBNiwKICBpZGVvZ3JhcGhpY21lZGljaW5lY2lyY2xlOiAweDMyQTksCiAgaWRlb2dyYXBoaWNtZXRhbHBhcmVuOiAweDMyMkUsCiAgaWRlb2dyYXBoaWNtb29ucGFyZW46IDB4MzIyQSwKICBpZGVvZ3JhcGhpY25hbWVwYXJlbjogMHgzMjM0LAogIGlkZW9ncmFwaGljcGVyaW9kOiAweDMwMDIsCiAgaWRlb2dyYXBoaWNwcmludGNpcmNsZTogMHgzMjlFLAogIGlkZW9ncmFwaGljcmVhY2hwYXJlbjogMHgzMjQzLAogIGlkZW9ncmFwaGljcmVwcmVzZW50cGFyZW46IDB4MzIzOSwKICBpZGVvZ3JhcGhpY3Jlc291cmNlcGFyZW46IDB4MzIzRSwKICBpZGVvZ3JhcGhpY3JpZ2h0Y2lyY2xlOiAweDMyQTgsCiAgaWRlb2dyYXBoaWNzZWNyZXRjaXJjbGU6IDB4MzI5OSwKICBpZGVvZ3JhcGhpY3NlbGZwYXJlbjogMHgzMjQyLAogIGlkZW9ncmFwaGljc29jaWV0eXBhcmVuOiAweDMyMzMsCiAgaWRlb2dyYXBoaWNzcGFjZTogMHgzMDAwLAogIGlkZW9ncmFwaGljc3BlY2lhbHBhcmVuOiAweDMyMzUsCiAgaWRlb2dyYXBoaWNzdG9ja3BhcmVuOiAweDMyMzEsCiAgaWRlb2dyYXBoaWNzdHVkeXBhcmVuOiAweDMyM0IsCiAgaWRlb2dyYXBoaWNzdW5wYXJlbjogMHgzMjMwLAogIGlkZW9ncmFwaGljc3VwZXJ2aXNlcGFyZW46IDB4MzIzQywKICBpZGVvZ3JhcGhpY3dhdGVycGFyZW46IDB4MzIyQywKICBpZGVvZ3JhcGhpY3dvb2RwYXJlbjogMHgzMjJELAogIGlkZW9ncmFwaGljemVybzogMHgzMDA3LAogIGlkZW9ncmFwaG1ldGFsY2lyY2xlOiAweDMyOEUsCiAgaWRlb2dyYXBobW9vbmNpcmNsZTogMHgzMjhBLAogIGlkZW9ncmFwaG5hbWVjaXJjbGU6IDB4MzI5NCwKICBpZGVvZ3JhcGhzdW5jaXJjbGU6IDB4MzI5MCwKICBpZGVvZ3JhcGh3YXRlcmNpcmNsZTogMHgzMjhDLAogIGlkZW9ncmFwaHdvb2RjaXJjbGU6IDB4MzI4RCwKICBpZGV2YTogMHgwOTA3LAogIGlkaWVyZXNpczogMHgwMEVGLAogIGlkaWVyZXNpc2FjdXRlOiAweDFFMkYsCiAgaWRpZXJlc2lzY3lyaWxsaWM6IDB4MDRFNSwKICBpZG90YmVsb3c6IDB4MUVDQiwKICBpZWJyZXZlY3lyaWxsaWM6IDB4MDRENywKICBpZWN5cmlsbGljOiAweDA0MzUsCiAgaWV1bmdhY2lyY2xla29yZWFuOiAweDMyNzUsCiAgaWV1bmdhcGFyZW5rb3JlYW46IDB4MzIxNSwKICBpZXVuZ2NpcmNsZWtvcmVhbjogMHgzMjY3LAogIGlldW5na29yZWFuOiAweDMxNDcsCiAgaWV1bmdwYXJlbmtvcmVhbjogMHgzMjA3LAogIGlncmF2ZTogMHgwMEVDLAogIGlndWphcmF0aTogMHgwQTg3LAogIGlndXJtdWtoaTogMHgwQTA3LAogIGloaXJhZ2FuYTogMHgzMDQ0LAogIGlob29rYWJvdmU6IDB4MUVDOSwKICBpaWJlbmdhbGk6IDB4MDk4OCwKICBpaWN5cmlsbGljOiAweDA0MzgsCiAgaWlkZXZhOiAweDA5MDgsCiAgaWlndWphcmF0aTogMHgwQTg4LAogIGlpZ3VybXVraGk6IDB4MEEwOCwKICBpaW1hdHJhZ3VybXVraGk6IDB4MEE0MCwKICBpaW52ZXJ0ZWRicmV2ZTogMHgwMjBCLAogIGlpc2hvcnRjeXJpbGxpYzogMHgwNDM5LAogIGlpdm93ZWxzaWduYmVuZ2FsaTogMHgwOUMwLAogIGlpdm93ZWxzaWduZGV2YTogMHgwOTQwLAogIGlpdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDMCwKICBpajogMHgwMTMzLAogIGlrYXRha2FuYTogMHgzMEE0LAogIGlrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjcyLAogIGlrb3JlYW46IDB4MzE2MywKICBpbGRlOiAweDAyREMsCiAgaWx1eWhlYnJldzogMHgwNUFDLAogIGltYWNyb246IDB4MDEyQiwKICBpbWFjcm9uY3lyaWxsaWM6IDB4MDRFMywKICBpbWFnZW9yYXBwcm94aW1hdGVseWVxdWFsOiAweDIyNTMsCiAgaW1hdHJhZ3VybXVraGk6IDB4MEEzRiwKICBpbW9ub3NwYWNlOiAweEZGNDksCiAgaW5jcmVtZW50OiAweDIyMDYsCiAgaW5maW5pdHk6IDB4MjIxRSwKICBpbmlhcm1lbmlhbjogMHgwNTZCLAogIGludGVncmFsOiAweDIyMkIsCiAgaW50ZWdyYWxib3R0b206IDB4MjMyMSwKICBpbnRlZ3JhbGJ0OiAweDIzMjEsCiAgaW50ZWdyYWxleDogMHhGOEY1LAogIGludGVncmFsdG9wOiAweDIzMjAsCiAgaW50ZWdyYWx0cDogMHgyMzIwLAogIGludGVyc2VjdGlvbjogMHgyMjI5LAogIGludGlzcXVhcmU6IDB4MzMwNSwKICBpbnZidWxsZXQ6IDB4MjVEOCwKICBpbnZjaXJjbGU6IDB4MjVEOSwKICBpbnZzbWlsZWZhY2U6IDB4MjYzQiwKICBpb2N5cmlsbGljOiAweDA0NTEsCiAgaW9nb25lazogMHgwMTJGLAogIGlvdGE6IDB4MDNCOSwKICBpb3RhZGllcmVzaXM6IDB4MDNDQSwKICBpb3RhZGllcmVzaXN0b25vczogMHgwMzkwLAogIGlvdGFsYXRpbjogMHgwMjY5LAogIGlvdGF0b25vczogMHgwM0FGLAogIGlwYXJlbjogMHgyNEE0LAogIGlyaWd1cm11a2hpOiAweDBBNzIsCiAgaXNtYWxsaGlyYWdhbmE6IDB4MzA0MywKICBpc21hbGxrYXRha2FuYTogMHgzMEEzLAogIGlzbWFsbGthdGFrYW5haGFsZndpZHRoOiAweEZGNjgsCiAgaXNzaGFyYmVuZ2FsaTogMHgwOUZBLAogIGlzdHJva2U6IDB4MDI2OCwKICBpc3VwZXJpb3I6IDB4RjZFRCwKICBpdGVyYXRpb25oaXJhZ2FuYTogMHgzMDlELAogIGl0ZXJhdGlvbmthdGFrYW5hOiAweDMwRkQsCiAgaXRpbGRlOiAweDAxMjksCiAgaXRpbGRlYmVsb3c6IDB4MUUyRCwKICBpdWJvcG9tb2ZvOiAweDMxMjksCiAgaXVjeXJpbGxpYzogMHgwNDRFLAogIGl2b3dlbHNpZ25iZW5nYWxpOiAweDA5QkYsCiAgaXZvd2Vsc2lnbmRldmE6IDB4MDkzRiwKICBpdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFCRiwKICBpemhpdHNhY3lyaWxsaWM6IDB4MDQ3NSwKICBpemhpdHNhZGJsZ3JhdmVjeXJpbGxpYzogMHgwNDc3LAogIGo6IDB4MDA2QSwKICBqYWFybWVuaWFuOiAweDA1NzEsCiAgamFiZW5nYWxpOiAweDA5OUMsCiAgamFkZXZhOiAweDA5MUMsCiAgamFndWphcmF0aTogMHgwQTlDLAogIGphZ3VybXVraGk6IDB4MEExQywKICBqYm9wb21vZm86IDB4MzExMCwKICBqY2Fyb246IDB4MDFGMCwKICBqY2lyY2xlOiAweDI0RDksCiAgamNpcmN1bWZsZXg6IDB4MDEzNSwKICBqY3Jvc3NlZHRhaWw6IDB4MDI5RCwKICBqZG90bGVzc3N0cm9rZTogMHgwMjVGLAogIGplY3lyaWxsaWM6IDB4MDQ1OCwKICBqZWVtYXJhYmljOiAweDA2MkMsCiAgamVlbWZpbmFsYXJhYmljOiAweEZFOUUsCiAgamVlbWluaXRpYWxhcmFiaWM6IDB4RkU5RiwKICBqZWVtbWVkaWFsYXJhYmljOiAweEZFQTAsCiAgamVoYXJhYmljOiAweDA2OTgsCiAgamVoZmluYWxhcmFiaWM6IDB4RkI4QiwKICBqaGFiZW5nYWxpOiAweDA5OUQsCiAgamhhZGV2YTogMHgwOTFELAogIGpoYWd1amFyYXRpOiAweDBBOUQsCiAgamhhZ3VybXVraGk6IDB4MEExRCwKICBqaGVoYXJtZW5pYW46IDB4MDU3QiwKICBqaXM6IDB4MzAwNCwKICBqbW9ub3NwYWNlOiAweEZGNEEsCiAganBhcmVuOiAweDI0QTUsCiAganN1cGVyaW9yOiAweDAyQjIsCiAgazogMHgwMDZCLAogIGthYmFzaGtpcmN5cmlsbGljOiAweDA0QTEsCiAga2FiZW5nYWxpOiAweDA5OTUsCiAga2FjdXRlOiAweDFFMzEsCiAga2FjeXJpbGxpYzogMHgwNDNBLAogIGthZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDQ5QiwKICBrYWRldmE6IDB4MDkxNSwKICBrYWY6IDB4MDVEQiwKICBrYWZhcmFiaWM6IDB4MDY0MywKICBrYWZkYWdlc2g6IDB4RkIzQiwKICBrYWZkYWdlc2hoZWJyZXc6IDB4RkIzQiwKICBrYWZmaW5hbGFyYWJpYzogMHhGRURBLAogIGthZmhlYnJldzogMHgwNURCLAogIGthZmluaXRpYWxhcmFiaWM6IDB4RkVEQiwKICBrYWZtZWRpYWxhcmFiaWM6IDB4RkVEQywKICBrYWZyYWZlaGVicmV3OiAweEZCNEQsCiAga2FndWphcmF0aTogMHgwQTk1LAogIGthZ3VybXVraGk6IDB4MEExNSwKICBrYWhpcmFnYW5hOiAweDMwNEIsCiAga2Fob29rY3lyaWxsaWM6IDB4MDRDNCwKICBrYWthdGFrYW5hOiAweDMwQUIsCiAga2FrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjc2LAogIGthcHBhOiAweDAzQkEsCiAga2FwcGFzeW1ib2xncmVlazogMHgwM0YwLAogIGthcHllb3VubWlldW1rb3JlYW46IDB4MzE3MSwKICBrYXB5ZW91bnBoaWV1cGhrb3JlYW46IDB4MzE4NCwKICBrYXB5ZW91bnBpZXVwa29yZWFuOiAweDMxNzgsCiAga2FweWVvdW5zc2FuZ3BpZXVwa29yZWFuOiAweDMxNzksCiAga2Fyb3JpaXNxdWFyZTogMHgzMzBELAogIGthc2hpZGFhdXRvYXJhYmljOiAweDA2NDAsCiAga2FzaGlkYWF1dG9ub3NpZGViZWFyaW5nYXJhYmljOiAweDA2NDAsCiAga2FzbWFsbGthdGFrYW5hOiAweDMwRjUsCiAga2FzcXVhcmU6IDB4MzM4NCwKICBrYXNyYWFyYWJpYzogMHgwNjUwLAogIGthc3JhdGFuYXJhYmljOiAweDA2NEQsCiAga2FzdHJva2VjeXJpbGxpYzogMHgwNDlGLAogIGthdGFoaXJhcHJvbG9uZ21hcmtoYWxmd2lkdGg6IDB4RkY3MCwKICBrYXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM6IDB4MDQ5RCwKICBrYm9wb21vZm86IDB4MzEwRSwKICBrY2Fsc3F1YXJlOiAweDMzODksCiAga2Nhcm9uOiAweDAxRTksCiAga2NlZGlsbGE6IDB4MDEzNywKICBrY2lyY2xlOiAweDI0REEsCiAga2NvbW1hYWNjZW50OiAweDAxMzcsCiAga2RvdGJlbG93OiAweDFFMzMsCiAga2VoYXJtZW5pYW46IDB4MDU4NCwKICBrZWhpcmFnYW5hOiAweDMwNTEsCiAga2VrYXRha2FuYTogMHgzMEIxLAogIGtla2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3OSwKICBrZW5hcm1lbmlhbjogMHgwNTZGLAogIGtlc21hbGxrYXRha2FuYTogMHgzMEY2LAogIGtncmVlbmxhbmRpYzogMHgwMTM4LAogIGtoYWJlbmdhbGk6IDB4MDk5NiwKICBraGFjeXJpbGxpYzogMHgwNDQ1LAogIGtoYWRldmE6IDB4MDkxNiwKICBraGFndWphcmF0aTogMHgwQTk2LAogIGtoYWd1cm11a2hpOiAweDBBMTYsCiAga2hhaGFyYWJpYzogMHgwNjJFLAogIGtoYWhmaW5hbGFyYWJpYzogMHhGRUE2LAogIGtoYWhpbml0aWFsYXJhYmljOiAweEZFQTcsCiAga2hhaG1lZGlhbGFyYWJpYzogMHhGRUE4LAogIGtoZWljb3B0aWM6IDB4MDNFNywKICBraGhhZGV2YTogMHgwOTU5LAogIGtoaGFndXJtdWtoaTogMHgwQTU5LAogIGtoaWV1a2hhY2lyY2xla29yZWFuOiAweDMyNzgsCiAga2hpZXVraGFwYXJlbmtvcmVhbjogMHgzMjE4LAogIGtoaWV1a2hjaXJjbGVrb3JlYW46IDB4MzI2QSwKICBraGlldWtoa29yZWFuOiAweDMxNEIsCiAga2hpZXVraHBhcmVua29yZWFuOiAweDMyMEEsCiAga2hva2hhaXRoYWk6IDB4MEUwMiwKICBraG9raG9udGhhaTogMHgwRTA1LAogIGtob2todWF0dGhhaTogMHgwRTAzLAogIGtob2tod2FpdGhhaTogMHgwRTA0LAogIGtob211dHRoYWk6IDB4MEU1QiwKICBraG9vazogMHgwMTk5LAogIGtob3Jha2hhbmd0aGFpOiAweDBFMDYsCiAga2h6c3F1YXJlOiAweDMzOTEsCiAga2loaXJhZ2FuYTogMHgzMDRELAogIGtpa2F0YWthbmE6IDB4MzBBRCwKICBraWthdGFrYW5haGFsZndpZHRoOiAweEZGNzcsCiAga2lyb2d1cmFtdXNxdWFyZTogMHgzMzE1LAogIGtpcm9tZWV0b3J1c3F1YXJlOiAweDMzMTYsCiAga2lyb3NxdWFyZTogMHgzMzE0LAogIGtpeWVva2FjaXJjbGVrb3JlYW46IDB4MzI2RSwKICBraXllb2thcGFyZW5rb3JlYW46IDB4MzIwRSwKICBraXllb2tjaXJjbGVrb3JlYW46IDB4MzI2MCwKICBraXllb2trb3JlYW46IDB4MzEzMSwKICBraXllb2twYXJlbmtvcmVhbjogMHgzMjAwLAogIGtpeWVva3Npb3Nrb3JlYW46IDB4MzEzMywKICBramVjeXJpbGxpYzogMHgwNDVDLAogIGtsaW5lYmVsb3c6IDB4MUUzNSwKICBrbHNxdWFyZTogMHgzMzk4LAogIGttY3ViZWRzcXVhcmU6IDB4MzNBNiwKICBrbW9ub3NwYWNlOiAweEZGNEIsCiAga21zcXVhcmVkc3F1YXJlOiAweDMzQTIsCiAga29oaXJhZ2FuYTogMHgzMDUzLAogIGtvaG1zcXVhcmU6IDB4MzNDMCwKICBrb2thaXRoYWk6IDB4MEUwMSwKICBrb2thdGFrYW5hOiAweDMwQjMsCiAga29rYXRha2FuYWhhbGZ3aWR0aDogMHhGRjdBLAogIGtvb3Bvc3F1YXJlOiAweDMzMUUsCiAga29wcGFjeXJpbGxpYzogMHgwNDgxLAogIGtvcmVhbnN0YW5kYXJkc3ltYm9sOiAweDMyN0YsCiAga29yb25pc2NtYjogMHgwMzQzLAogIGtwYXJlbjogMHgyNEE2LAogIGtwYXNxdWFyZTogMHgzM0FBLAogIGtzaWN5cmlsbGljOiAweDA0NkYsCiAga3RzcXVhcmU6IDB4MzNDRiwKICBrdHVybmVkOiAweDAyOUUsCiAga3VoaXJhZ2FuYTogMHgzMDRGLAogIGt1a2F0YWthbmE6IDB4MzBBRiwKICBrdWthdGFrYW5haGFsZndpZHRoOiAweEZGNzgsCiAga3ZzcXVhcmU6IDB4MzNCOCwKICBrd3NxdWFyZTogMHgzM0JFLAogIGw6IDB4MDA2QywKICBsYWJlbmdhbGk6IDB4MDlCMiwKICBsYWN1dGU6IDB4MDEzQSwKICBsYWRldmE6IDB4MDkzMiwKICBsYWd1amFyYXRpOiAweDBBQjIsCiAgbGFndXJtdWtoaTogMHgwQTMyLAogIGxha2toYW5neWFvdGhhaTogMHgwRTQ1LAogIGxhbWFsZWZmaW5hbGFyYWJpYzogMHhGRUZDLAogIGxhbWFsZWZoYW16YWFib3ZlZmluYWxhcmFiaWM6IDB4RkVGOCwKICBsYW1hbGVmaGFtemFhYm92ZWlzb2xhdGVkYXJhYmljOiAweEZFRjcsCiAgbGFtYWxlZmhhbXphYmVsb3dmaW5hbGFyYWJpYzogMHhGRUZBLAogIGxhbWFsZWZoYW16YWJlbG93aXNvbGF0ZWRhcmFiaWM6IDB4RkVGOSwKICBsYW1hbGVmaXNvbGF0ZWRhcmFiaWM6IDB4RkVGQiwKICBsYW1hbGVmbWFkZGFhYm92ZWZpbmFsYXJhYmljOiAweEZFRjYsCiAgbGFtYWxlZm1hZGRhYWJvdmVpc29sYXRlZGFyYWJpYzogMHhGRUY1LAogIGxhbWFyYWJpYzogMHgwNjQ0LAogIGxhbWJkYTogMHgwM0JCLAogIGxhbWJkYXN0cm9rZTogMHgwMTlCLAogIGxhbWVkOiAweDA1REMsCiAgbGFtZWRkYWdlc2g6IDB4RkIzQywKICBsYW1lZGRhZ2VzaGhlYnJldzogMHhGQjNDLAogIGxhbWVkaGVicmV3OiAweDA1REMsCiAgbGFtZmluYWxhcmFiaWM6IDB4RkVERSwKICBsYW1oYWhpbml0aWFsYXJhYmljOiAweEZDQ0EsCiAgbGFtaW5pdGlhbGFyYWJpYzogMHhGRURGLAogIGxhbWplZW1pbml0aWFsYXJhYmljOiAweEZDQzksCiAgbGFta2hhaGluaXRpYWxhcmFiaWM6IDB4RkNDQiwKICBsYW1sYW1oZWhpc29sYXRlZGFyYWJpYzogMHhGREYyLAogIGxhbW1lZGlhbGFyYWJpYzogMHhGRUUwLAogIGxhbW1lZW1oYWhpbml0aWFsYXJhYmljOiAweEZEODgsCiAgbGFtbWVlbWluaXRpYWxhcmFiaWM6IDB4RkNDQywKICBsYXJnZWNpcmNsZTogMHgyNUVGLAogIGxiYXI6IDB4MDE5QSwKICBsYmVsdDogMHgwMjZDLAogIGxib3BvbW9mbzogMHgzMTBDLAogIGxjYXJvbjogMHgwMTNFLAogIGxjZWRpbGxhOiAweDAxM0MsCiAgbGNpcmNsZTogMHgyNERCLAogIGxjaXJjdW1mbGV4YmVsb3c6IDB4MUUzRCwKICBsY29tbWFhY2NlbnQ6IDB4MDEzQywKICBsZG90OiAweDAxNDAsCiAgbGRvdGFjY2VudDogMHgwMTQwLAogIGxkb3RiZWxvdzogMHgxRTM3LAogIGxkb3RiZWxvd21hY3JvbjogMHgxRTM5LAogIGxlZnRhbmdsZWFib3ZlY21iOiAweDAzMUEsCiAgbGVmdHRhY2tiZWxvd2NtYjogMHgwMzE4LAogIGxlc3M6IDB4MDAzQywKICBsZXNzZXF1YWw6IDB4MjI2NCwKICBsZXNzZXF1YWxvcmdyZWF0ZXI6IDB4MjJEQSwKICBsZXNzbW9ub3NwYWNlOiAweEZGMUMsCiAgbGVzc29yZXF1aXZhbGVudDogMHgyMjcyLAogIGxlc3NvcmdyZWF0ZXI6IDB4MjI3NiwKICBsZXNzb3ZlcmVxdWFsOiAweDIyNjYsCiAgbGVzc3NtYWxsOiAweEZFNjQsCiAgbGV6aDogMHgwMjZFLAogIGxmYmxvY2s6IDB4MjU4QywKICBsaG9va3JldHJvZmxleDogMHgwMjZELAogIGxpcmE6IDB4MjBBNCwKICBsaXduYXJtZW5pYW46IDB4MDU2QywKICBsajogMHgwMUM5LAogIGxqZWN5cmlsbGljOiAweDA0NTksCiAgbGw6IDB4RjZDMCwKICBsbGFkZXZhOiAweDA5MzMsCiAgbGxhZ3VqYXJhdGk6IDB4MEFCMywKICBsbGluZWJlbG93OiAweDFFM0IsCiAgbGxsYWRldmE6IDB4MDkzNCwKICBsbHZvY2FsaWNiZW5nYWxpOiAweDA5RTEsCiAgbGx2b2NhbGljZGV2YTogMHgwOTYxLAogIGxsdm9jYWxpY3Zvd2Vsc2lnbmJlbmdhbGk6IDB4MDlFMywKICBsbHZvY2FsaWN2b3dlbHNpZ25kZXZhOiAweDA5NjMsCiAgbG1pZGRsZXRpbGRlOiAweDAyNkIsCiAgbG1vbm9zcGFjZTogMHhGRjRDLAogIGxtc3F1YXJlOiAweDMzRDAsCiAgbG9jaHVsYXRoYWk6IDB4MEUyQywKICBsb2dpY2FsYW5kOiAweDIyMjcsCiAgbG9naWNhbG5vdDogMHgwMEFDLAogIGxvZ2ljYWxub3RyZXZlcnNlZDogMHgyMzEwLAogIGxvZ2ljYWxvcjogMHgyMjI4LAogIGxvbGluZ3RoYWk6IDB4MEUyNSwKICBsb25nczogMHgwMTdGLAogIGxvd2xpbmVjZW50ZXJsaW5lOiAweEZFNEUsCiAgbG93bGluZWNtYjogMHgwMzMyLAogIGxvd2xpbmVkYXNoZWQ6IDB4RkU0RCwKICBsb3plbmdlOiAweDI1Q0EsCiAgbHBhcmVuOiAweDI0QTcsCiAgbHNsYXNoOiAweDAxNDIsCiAgbHNxdWFyZTogMHgyMTEzLAogIGxzdXBlcmlvcjogMHhGNkVFLAogIGx0c2hhZGU6IDB4MjU5MSwKICBsdXRoYWk6IDB4MEUyNiwKICBsdm9jYWxpY2JlbmdhbGk6IDB4MDk4QywKICBsdm9jYWxpY2RldmE6IDB4MDkwQywKICBsdm9jYWxpY3Zvd2Vsc2lnbmJlbmdhbGk6IDB4MDlFMiwKICBsdm9jYWxpY3Zvd2Vsc2lnbmRldmE6IDB4MDk2MiwKICBseHNxdWFyZTogMHgzM0QzLAogIG06IDB4MDA2RCwKICBtYWJlbmdhbGk6IDB4MDlBRSwKICBtYWNyb246IDB4MDBBRiwKICBtYWNyb25iZWxvd2NtYjogMHgwMzMxLAogIG1hY3JvbmNtYjogMHgwMzA0LAogIG1hY3Jvbmxvd21vZDogMHgwMkNELAogIG1hY3Jvbm1vbm9zcGFjZTogMHhGRkUzLAogIG1hY3V0ZTogMHgxRTNGLAogIG1hZGV2YTogMHgwOTJFLAogIG1hZ3VqYXJhdGk6IDB4MEFBRSwKICBtYWd1cm11a2hpOiAweDBBMkUsCiAgbWFoYXBha2hoZWJyZXc6IDB4MDVBNCwKICBtYWhhcGFraGxlZnRoZWJyZXc6IDB4MDVBNCwKICBtYWhpcmFnYW5hOiAweDMwN0UsCiAgbWFpY2hhdHRhd2Fsb3dsZWZ0dGhhaTogMHhGODk1LAogIG1haWNoYXR0YXdhbG93cmlnaHR0aGFpOiAweEY4OTQsCiAgbWFpY2hhdHRhd2F0aGFpOiAweDBFNEIsCiAgbWFpY2hhdHRhd2F1cHBlcmxlZnR0aGFpOiAweEY4OTMsCiAgbWFpZWtsb3dsZWZ0dGhhaTogMHhGODhDLAogIG1haWVrbG93cmlnaHR0aGFpOiAweEY4OEIsCiAgbWFpZWt0aGFpOiAweDBFNDgsCiAgbWFpZWt1cHBlcmxlZnR0aGFpOiAweEY4OEEsCiAgbWFpaGFuYWthdGxlZnR0aGFpOiAweEY4ODQsCiAgbWFpaGFuYWthdHRoYWk6IDB4MEUzMSwKICBtYWl0YWlraHVsZWZ0dGhhaTogMHhGODg5LAogIG1haXRhaWtodXRoYWk6IDB4MEU0NywKICBtYWl0aG9sb3dsZWZ0dGhhaTogMHhGODhGLAogIG1haXRob2xvd3JpZ2h0dGhhaTogMHhGODhFLAogIG1haXRob3RoYWk6IDB4MEU0OSwKICBtYWl0aG91cHBlcmxlZnR0aGFpOiAweEY4OEQsCiAgbWFpdHJpbG93bGVmdHRoYWk6IDB4Rjg5MiwKICBtYWl0cmlsb3dyaWdodHRoYWk6IDB4Rjg5MSwKICBtYWl0cml0aGFpOiAweDBFNEEsCiAgbWFpdHJpdXBwZXJsZWZ0dGhhaTogMHhGODkwLAogIG1haXlhbW9rdGhhaTogMHgwRTQ2LAogIG1ha2F0YWthbmE6IDB4MzBERSwKICBtYWthdGFrYW5haGFsZndpZHRoOiAweEZGOEYsCiAgbWFsZTogMHgyNjQyLAogIG1hbnN5b25zcXVhcmU6IDB4MzM0NywKICBtYXFhZmhlYnJldzogMHgwNUJFLAogIG1hcnM6IDB4MjY0MiwKICBtYXNvcmFjaXJjbGVoZWJyZXc6IDB4MDVBRiwKICBtYXNxdWFyZTogMHgzMzgzLAogIG1ib3BvbW9mbzogMHgzMTA3LAogIG1ic3F1YXJlOiAweDMzRDQsCiAgbWNpcmNsZTogMHgyNERDLAogIG1jdWJlZHNxdWFyZTogMHgzM0E1LAogIG1kb3RhY2NlbnQ6IDB4MUU0MSwKICBtZG90YmVsb3c6IDB4MUU0MywKICBtZWVtYXJhYmljOiAweDA2NDUsCiAgbWVlbWZpbmFsYXJhYmljOiAweEZFRTIsCiAgbWVlbWluaXRpYWxhcmFiaWM6IDB4RkVFMywKICBtZWVtbWVkaWFsYXJhYmljOiAweEZFRTQsCiAgbWVlbW1lZW1pbml0aWFsYXJhYmljOiAweEZDRDEsCiAgbWVlbW1lZW1pc29sYXRlZGFyYWJpYzogMHhGQzQ4LAogIG1lZXRvcnVzcXVhcmU6IDB4MzM0RCwKICBtZWhpcmFnYW5hOiAweDMwODEsCiAgbWVpemllcmFzcXVhcmU6IDB4MzM3RSwKICBtZWthdGFrYW5hOiAweDMwRTEsCiAgbWVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjkyLAogIG1lbTogMHgwNURFLAogIG1lbWRhZ2VzaDogMHhGQjNFLAogIG1lbWRhZ2VzaGhlYnJldzogMHhGQjNFLAogIG1lbWhlYnJldzogMHgwNURFLAogIG1lbmFybWVuaWFuOiAweDA1NzQsCiAgbWVya2hhaGVicmV3OiAweDA1QTUsCiAgbWVya2hha2VmdWxhaGVicmV3OiAweDA1QTYsCiAgbWVya2hha2VmdWxhbGVmdGhlYnJldzogMHgwNUE2LAogIG1lcmtoYWxlZnRoZWJyZXc6IDB4MDVBNSwKICBtaG9vazogMHgwMjcxLAogIG1oenNxdWFyZTogMHgzMzkyLAogIG1pZGRsZWRvdGthdGFrYW5haGFsZndpZHRoOiAweEZGNjUsCiAgbWlkZG90OiAweDAwQjcsCiAgbWlldW1hY2lyY2xla29yZWFuOiAweDMyNzIsCiAgbWlldW1hcGFyZW5rb3JlYW46IDB4MzIxMiwKICBtaWV1bWNpcmNsZWtvcmVhbjogMHgzMjY0LAogIG1pZXVta29yZWFuOiAweDMxNDEsCiAgbWlldW1wYW5zaW9za29yZWFuOiAweDMxNzAsCiAgbWlldW1wYXJlbmtvcmVhbjogMHgzMjA0LAogIG1pZXVtcGlldXBrb3JlYW46IDB4MzE2RSwKICBtaWV1bXNpb3Nrb3JlYW46IDB4MzE2RiwKICBtaWhpcmFnYW5hOiAweDMwN0YsCiAgbWlrYXRha2FuYTogMHgzMERGLAogIG1pa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5MCwKICBtaW51czogMHgyMjEyLAogIG1pbnVzYmVsb3djbWI6IDB4MDMyMCwKICBtaW51c2NpcmNsZTogMHgyMjk2LAogIG1pbnVzbW9kOiAweDAyRDcsCiAgbWludXNwbHVzOiAweDIyMTMsCiAgbWludXRlOiAweDIwMzIsCiAgbWlyaWJhYXJ1c3F1YXJlOiAweDMzNEEsCiAgbWlyaXNxdWFyZTogMHgzMzQ5LAogIG1sb25nbGVndHVybmVkOiAweDAyNzAsCiAgbWxzcXVhcmU6IDB4MzM5NiwKICBtbWN1YmVkc3F1YXJlOiAweDMzQTMsCiAgbW1vbm9zcGFjZTogMHhGRjRELAogIG1tc3F1YXJlZHNxdWFyZTogMHgzMzlGLAogIG1vaGlyYWdhbmE6IDB4MzA4MiwKICBtb2htc3F1YXJlOiAweDMzQzEsCiAgbW9rYXRha2FuYTogMHgzMEUyLAogIG1va2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5MywKICBtb2xzcXVhcmU6IDB4MzNENiwKICBtb21hdGhhaTogMHgwRTIxLAogIG1vdmVyc3NxdWFyZTogMHgzM0E3LAogIG1vdmVyc3NxdWFyZWRzcXVhcmU6IDB4MzNBOCwKICBtcGFyZW46IDB4MjRBOCwKICBtcGFzcXVhcmU6IDB4MzNBQiwKICBtc3NxdWFyZTogMHgzM0IzLAogIG1zdXBlcmlvcjogMHhGNkVGLAogIG10dXJuZWQ6IDB4MDI2RiwKICBtdTogMHgwMEI1LAogIG11MTogMHgwMEI1LAogIG11YXNxdWFyZTogMHgzMzgyLAogIG11Y2hncmVhdGVyOiAweDIyNkIsCiAgbXVjaGxlc3M6IDB4MjI2QSwKICBtdWZzcXVhcmU6IDB4MzM4QywKICBtdWdyZWVrOiAweDAzQkMsCiAgbXVnc3F1YXJlOiAweDMzOEQsCiAgbXVoaXJhZ2FuYTogMHgzMDgwLAogIG11a2F0YWthbmE6IDB4MzBFMCwKICBtdWthdGFrYW5haGFsZndpZHRoOiAweEZGOTEsCiAgbXVsc3F1YXJlOiAweDMzOTUsCiAgbXVsdGlwbHk6IDB4MDBENywKICBtdW1zcXVhcmU6IDB4MzM5QiwKICBtdW5haGhlYnJldzogMHgwNUEzLAogIG11bmFobGVmdGhlYnJldzogMHgwNUEzLAogIG11c2ljYWxub3RlOiAweDI2NkEsCiAgbXVzaWNhbG5vdGVkYmw6IDB4MjY2QiwKICBtdXNpY2ZsYXRzaWduOiAweDI2NkQsCiAgbXVzaWNzaGFycHNpZ246IDB4MjY2RiwKICBtdXNzcXVhcmU6IDB4MzNCMiwKICBtdXZzcXVhcmU6IDB4MzNCNiwKICBtdXdzcXVhcmU6IDB4MzNCQywKICBtdm1lZ2FzcXVhcmU6IDB4MzNCOSwKICBtdnNxdWFyZTogMHgzM0I3LAogIG13bWVnYXNxdWFyZTogMHgzM0JGLAogIG13c3F1YXJlOiAweDMzQkQsCiAgbjogMHgwMDZFLAogIG5hYmVuZ2FsaTogMHgwOUE4LAogIG5hYmxhOiAweDIyMDcsCiAgbmFjdXRlOiAweDAxNDQsCiAgbmFkZXZhOiAweDA5MjgsCiAgbmFndWphcmF0aTogMHgwQUE4LAogIG5hZ3VybXVraGk6IDB4MEEyOCwKICBuYWhpcmFnYW5hOiAweDMwNkEsCiAgbmFrYXRha2FuYTogMHgzMENBLAogIG5ha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4NSwKICBuYXBvc3Ryb3BoZTogMHgwMTQ5LAogIG5hc3F1YXJlOiAweDMzODEsCiAgbmJvcG9tb2ZvOiAweDMxMEIsCiAgbmJzcGFjZTogMHgwMEEwLAogIG5jYXJvbjogMHgwMTQ4LAogIG5jZWRpbGxhOiAweDAxNDYsCiAgbmNpcmNsZTogMHgyNERELAogIG5jaXJjdW1mbGV4YmVsb3c6IDB4MUU0QiwKICBuY29tbWFhY2NlbnQ6IDB4MDE0NiwKICBuZG90YWNjZW50OiAweDFFNDUsCiAgbmRvdGJlbG93OiAweDFFNDcsCiAgbmVoaXJhZ2FuYTogMHgzMDZELAogIG5la2F0YWthbmE6IDB4MzBDRCwKICBuZWthdGFrYW5haGFsZndpZHRoOiAweEZGODgsCiAgbmV3c2hlcWVsc2lnbjogMHgyMEFBLAogIG5mc3F1YXJlOiAweDMzOEIsCiAgbmdhYmVuZ2FsaTogMHgwOTk5LAogIG5nYWRldmE6IDB4MDkxOSwKICBuZ2FndWphcmF0aTogMHgwQTk5LAogIG5nYWd1cm11a2hpOiAweDBBMTksCiAgbmdvbmd1dGhhaTogMHgwRTA3LAogIG5oaXJhZ2FuYTogMHgzMDkzLAogIG5ob29rbGVmdDogMHgwMjcyLAogIG5ob29rcmV0cm9mbGV4OiAweDAyNzMsCiAgbmlldW5hY2lyY2xla29yZWFuOiAweDMyNkYsCiAgbmlldW5hcGFyZW5rb3JlYW46IDB4MzIwRiwKICBuaWV1bmNpZXVja29yZWFuOiAweDMxMzUsCiAgbmlldW5jaXJjbGVrb3JlYW46IDB4MzI2MSwKICBuaWV1bmhpZXVoa29yZWFuOiAweDMxMzYsCiAgbmlldW5rb3JlYW46IDB4MzEzNCwKICBuaWV1bnBhbnNpb3Nrb3JlYW46IDB4MzE2OCwKICBuaWV1bnBhcmVua29yZWFuOiAweDMyMDEsCiAgbmlldW5zaW9za29yZWFuOiAweDMxNjcsCiAgbmlldW50aWtldXRrb3JlYW46IDB4MzE2NiwKICBuaWhpcmFnYW5hOiAweDMwNkIsCiAgbmlrYXRha2FuYTogMHgzMENCLAogIG5pa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4NiwKICBuaWtoYWhpdGxlZnR0aGFpOiAweEY4OTksCiAgbmlraGFoaXR0aGFpOiAweDBFNEQsCiAgbmluZTogMHgwMDM5LAogIG5pbmVhcmFiaWM6IDB4MDY2OSwKICBuaW5lYmVuZ2FsaTogMHgwOUVGLAogIG5pbmVjaXJjbGU6IDB4MjQ2OCwKICBuaW5lY2lyY2xlaW52ZXJzZXNhbnNzZXJpZjogMHgyNzkyLAogIG5pbmVkZXZhOiAweDA5NkYsCiAgbmluZWd1amFyYXRpOiAweDBBRUYsCiAgbmluZWd1cm11a2hpOiAweDBBNkYsCiAgbmluZWhhY2thcmFiaWM6IDB4MDY2OSwKICBuaW5laGFuZ3pob3U6IDB4MzAyOSwKICBuaW5laWRlb2dyYXBoaWNwYXJlbjogMHgzMjI4LAogIG5pbmVpbmZlcmlvcjogMHgyMDg5LAogIG5pbmVtb25vc3BhY2U6IDB4RkYxOSwKICBuaW5lb2xkc3R5bGU6IDB4RjczOSwKICBuaW5lcGFyZW46IDB4MjQ3QywKICBuaW5lcGVyaW9kOiAweDI0OTAsCiAgbmluZXBlcnNpYW46IDB4MDZGOSwKICBuaW5lcm9tYW46IDB4MjE3OCwKICBuaW5lc3VwZXJpb3I6IDB4MjA3OSwKICBuaW5ldGVlbmNpcmNsZTogMHgyNDcyLAogIG5pbmV0ZWVucGFyZW46IDB4MjQ4NiwKICBuaW5ldGVlbnBlcmlvZDogMHgyNDlBLAogIG5pbmV0aGFpOiAweDBFNTksCiAgbmo6IDB4MDFDQywKICBuamVjeXJpbGxpYzogMHgwNDVBLAogIG5rYXRha2FuYTogMHgzMEYzLAogIG5rYXRha2FuYWhhbGZ3aWR0aDogMHhGRjlELAogIG5sZWdyaWdodGxvbmc6IDB4MDE5RSwKICBubGluZWJlbG93OiAweDFFNDksCiAgbm1vbm9zcGFjZTogMHhGRjRFLAogIG5tc3F1YXJlOiAweDMzOUEsCiAgbm5hYmVuZ2FsaTogMHgwOUEzLAogIG5uYWRldmE6IDB4MDkyMywKICBubmFndWphcmF0aTogMHgwQUEzLAogIG5uYWd1cm11a2hpOiAweDBBMjMsCiAgbm5uYWRldmE6IDB4MDkyOSwKICBub2hpcmFnYW5hOiAweDMwNkUsCiAgbm9rYXRha2FuYTogMHgzMENFLAogIG5va2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4OSwKICBub25icmVha2luZ3NwYWNlOiAweDAwQTAsCiAgbm9uZW50aGFpOiAweDBFMTMsCiAgbm9udXRoYWk6IDB4MEUxOSwKICBub29uYXJhYmljOiAweDA2NDYsCiAgbm9vbmZpbmFsYXJhYmljOiAweEZFRTYsCiAgbm9vbmdodW5uYWFyYWJpYzogMHgwNkJBLAogIG5vb25naHVubmFmaW5hbGFyYWJpYzogMHhGQjlGLAogIG5vb25pbml0aWFsYXJhYmljOiAweEZFRTcsCiAgbm9vbmplZW1pbml0aWFsYXJhYmljOiAweEZDRDIsCiAgbm9vbmplZW1pc29sYXRlZGFyYWJpYzogMHhGQzRCLAogIG5vb25tZWRpYWxhcmFiaWM6IDB4RkVFOCwKICBub29ubWVlbWluaXRpYWxhcmFiaWM6IDB4RkNENSwKICBub29ubWVlbWlzb2xhdGVkYXJhYmljOiAweEZDNEUsCiAgbm9vbm5vb25maW5hbGFyYWJpYzogMHhGQzhELAogIG5vdGNvbnRhaW5zOiAweDIyMEMsCiAgbm90ZWxlbWVudDogMHgyMjA5LAogIG5vdGVsZW1lbnRvZjogMHgyMjA5LAogIG5vdGVxdWFsOiAweDIyNjAsCiAgbm90Z3JlYXRlcjogMHgyMjZGLAogIG5vdGdyZWF0ZXJub3JlcXVhbDogMHgyMjcxLAogIG5vdGdyZWF0ZXJub3JsZXNzOiAweDIyNzksCiAgbm90aWRlbnRpY2FsOiAweDIyNjIsCiAgbm90bGVzczogMHgyMjZFLAogIG5vdGxlc3Nub3JlcXVhbDogMHgyMjcwLAogIG5vdHBhcmFsbGVsOiAweDIyMjYsCiAgbm90cHJlY2VkZXM6IDB4MjI4MCwKICBub3RzdWJzZXQ6IDB4MjI4NCwKICBub3RzdWNjZWVkczogMHgyMjgxLAogIG5vdHN1cGVyc2V0OiAweDIyODUsCiAgbm93YXJtZW5pYW46IDB4MDU3NiwKICBucGFyZW46IDB4MjRBOSwKICBuc3NxdWFyZTogMHgzM0IxLAogIG5zdXBlcmlvcjogMHgyMDdGLAogIG50aWxkZTogMHgwMEYxLAogIG51OiAweDAzQkQsCiAgbnVoaXJhZ2FuYTogMHgzMDZDLAogIG51a2F0YWthbmE6IDB4MzBDQywKICBudWthdGFrYW5haGFsZndpZHRoOiAweEZGODcsCiAgbnVrdGFiZW5nYWxpOiAweDA5QkMsCiAgbnVrdGFkZXZhOiAweDA5M0MsCiAgbnVrdGFndWphcmF0aTogMHgwQUJDLAogIG51a3RhZ3VybXVraGk6IDB4MEEzQywKICBudW1iZXJzaWduOiAweDAwMjMsCiAgbnVtYmVyc2lnbm1vbm9zcGFjZTogMHhGRjAzLAogIG51bWJlcnNpZ25zbWFsbDogMHhGRTVGLAogIG51bWVyYWxzaWduZ3JlZWs6IDB4MDM3NCwKICBudW1lcmFsc2lnbmxvd2VyZ3JlZWs6IDB4MDM3NSwKICBudW1lcm86IDB4MjExNiwKICBudW46IDB4MDVFMCwKICBudW5kYWdlc2g6IDB4RkI0MCwKICBudW5kYWdlc2hoZWJyZXc6IDB4RkI0MCwKICBudW5oZWJyZXc6IDB4MDVFMCwKICBudnNxdWFyZTogMHgzM0I1LAogIG53c3F1YXJlOiAweDMzQkIsCiAgbnlhYmVuZ2FsaTogMHgwOTlFLAogIG55YWRldmE6IDB4MDkxRSwKICBueWFndWphcmF0aTogMHgwQTlFLAogIG55YWd1cm11a2hpOiAweDBBMUUsCiAgbzogMHgwMDZGLAogIG9hY3V0ZTogMHgwMEYzLAogIG9hbmd0aGFpOiAweDBFMkQsCiAgb2JhcnJlZDogMHgwMjc1LAogIG9iYXJyZWRjeXJpbGxpYzogMHgwNEU5LAogIG9iYXJyZWRkaWVyZXNpc2N5cmlsbGljOiAweDA0RUIsCiAgb2JlbmdhbGk6IDB4MDk5MywKICBvYm9wb21vZm86IDB4MzExQiwKICBvYnJldmU6IDB4MDE0RiwKICBvY2FuZHJhZGV2YTogMHgwOTExLAogIG9jYW5kcmFndWphcmF0aTogMHgwQTkxLAogIG9jYW5kcmF2b3dlbHNpZ25kZXZhOiAweDA5NDksCiAgb2NhbmRyYXZvd2Vsc2lnbmd1amFyYXRpOiAweDBBQzksCiAgb2Nhcm9uOiAweDAxRDIsCiAgb2NpcmNsZTogMHgyNERFLAogIG9jaXJjdW1mbGV4OiAweDAwRjQsCiAgb2NpcmN1bWZsZXhhY3V0ZTogMHgxRUQxLAogIG9jaXJjdW1mbGV4ZG90YmVsb3c6IDB4MUVEOSwKICBvY2lyY3VtZmxleGdyYXZlOiAweDFFRDMsCiAgb2NpcmN1bWZsZXhob29rYWJvdmU6IDB4MUVENSwKICBvY2lyY3VtZmxleHRpbGRlOiAweDFFRDcsCiAgb2N5cmlsbGljOiAweDA0M0UsCiAgb2RibGFjdXRlOiAweDAxNTEsCiAgb2RibGdyYXZlOiAweDAyMEQsCiAgb2RldmE6IDB4MDkxMywKICBvZGllcmVzaXM6IDB4MDBGNiwKICBvZGllcmVzaXNjeXJpbGxpYzogMHgwNEU3LAogIG9kb3RiZWxvdzogMHgxRUNELAogIG9lOiAweDAxNTMsCiAgb2Vrb3JlYW46IDB4MzE1QSwKICBvZ29uZWs6IDB4MDJEQiwKICBvZ29uZWtjbWI6IDB4MDMyOCwKICBvZ3JhdmU6IDB4MDBGMiwKICBvZ3VqYXJhdGk6IDB4MEE5MywKICBvaGFybWVuaWFuOiAweDA1ODUsCiAgb2hpcmFnYW5hOiAweDMwNEEsCiAgb2hvb2thYm92ZTogMHgxRUNGLAogIG9ob3JuOiAweDAxQTEsCiAgb2hvcm5hY3V0ZTogMHgxRURCLAogIG9ob3JuZG90YmVsb3c6IDB4MUVFMywKICBvaG9ybmdyYXZlOiAweDFFREQsCiAgb2hvcm5ob29rYWJvdmU6IDB4MUVERiwKICBvaG9ybnRpbGRlOiAweDFFRTEsCiAgb2h1bmdhcnVtbGF1dDogMHgwMTUxLAogIG9pOiAweDAxQTMsCiAgb2ludmVydGVkYnJldmU6IDB4MDIwRiwKICBva2F0YWthbmE6IDB4MzBBQSwKICBva2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3NSwKICBva29yZWFuOiAweDMxNTcsCiAgb2xlaGVicmV3OiAweDA1QUIsCiAgb21hY3JvbjogMHgwMTRELAogIG9tYWNyb25hY3V0ZTogMHgxRTUzLAogIG9tYWNyb25ncmF2ZTogMHgxRTUxLAogIG9tZGV2YTogMHgwOTUwLAogIG9tZWdhOiAweDAzQzksCiAgb21lZ2ExOiAweDAzRDYsCiAgb21lZ2FjeXJpbGxpYzogMHgwNDYxLAogIG9tZWdhbGF0aW5jbG9zZWQ6IDB4MDI3NywKICBvbWVnYXJvdW5kY3lyaWxsaWM6IDB4MDQ3QiwKICBvbWVnYXRpdGxvY3lyaWxsaWM6IDB4MDQ3RCwKICBvbWVnYXRvbm9zOiAweDAzQ0UsCiAgb21ndWphcmF0aTogMHgwQUQwLAogIG9taWNyb246IDB4MDNCRiwKICBvbWljcm9udG9ub3M6IDB4MDNDQywKICBvbW9ub3NwYWNlOiAweEZGNEYsCiAgb25lOiAweDAwMzEsCiAgb25lYXJhYmljOiAweDA2NjEsCiAgb25lYmVuZ2FsaTogMHgwOUU3LAogIG9uZWNpcmNsZTogMHgyNDYwLAogIG9uZWNpcmNsZWludmVyc2VzYW5zc2VyaWY6IDB4Mjc4QSwKICBvbmVkZXZhOiAweDA5NjcsCiAgb25lZG90ZW5sZWFkZXI6IDB4MjAyNCwKICBvbmVlaWdodGg6IDB4MjE1QiwKICBvbmVmaXR0ZWQ6IDB4RjZEQywKICBvbmVndWphcmF0aTogMHgwQUU3LAogIG9uZWd1cm11a2hpOiAweDBBNjcsCiAgb25laGFja2FyYWJpYzogMHgwNjYxLAogIG9uZWhhbGY6IDB4MDBCRCwKICBvbmVoYW5nemhvdTogMHgzMDIxLAogIG9uZWlkZW9ncmFwaGljcGFyZW46IDB4MzIyMCwKICBvbmVpbmZlcmlvcjogMHgyMDgxLAogIG9uZW1vbm9zcGFjZTogMHhGRjExLAogIG9uZW51bWVyYXRvcmJlbmdhbGk6IDB4MDlGNCwKICBvbmVvbGRzdHlsZTogMHhGNzMxLAogIG9uZXBhcmVuOiAweDI0NzQsCiAgb25lcGVyaW9kOiAweDI0ODgsCiAgb25lcGVyc2lhbjogMHgwNkYxLAogIG9uZXF1YXJ0ZXI6IDB4MDBCQywKICBvbmVyb21hbjogMHgyMTcwLAogIG9uZXN1cGVyaW9yOiAweDAwQjksCiAgb25ldGhhaTogMHgwRTUxLAogIG9uZXRoaXJkOiAweDIxNTMsCiAgb29nb25lazogMHgwMUVCLAogIG9vZ29uZWttYWNyb246IDB4MDFFRCwKICBvb2d1cm11a2hpOiAweDBBMTMsCiAgb29tYXRyYWd1cm11a2hpOiAweDBBNEIsCiAgb29wZW46IDB4MDI1NCwKICBvcGFyZW46IDB4MjRBQSwKICBvcGVuYnVsbGV0OiAweDI1RTYsCiAgb3B0aW9uOiAweDIzMjUsCiAgb3JkZmVtaW5pbmU6IDB4MDBBQSwKICBvcmRtYXNjdWxpbmU6IDB4MDBCQSwKICBvcnRob2dvbmFsOiAweDIyMUYsCiAgb3Nob3J0ZGV2YTogMHgwOTEyLAogIG9zaG9ydHZvd2Vsc2lnbmRldmE6IDB4MDk0QSwKICBvc2xhc2g6IDB4MDBGOCwKICBvc2xhc2hhY3V0ZTogMHgwMUZGLAogIG9zbWFsbGhpcmFnYW5hOiAweDMwNDksCiAgb3NtYWxsa2F0YWthbmE6IDB4MzBBOSwKICBvc21hbGxrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjZCLAogIG9zdHJva2VhY3V0ZTogMHgwMUZGLAogIG9zdXBlcmlvcjogMHhGNkYwLAogIG90Y3lyaWxsaWM6IDB4MDQ3RiwKICBvdGlsZGU6IDB4MDBGNSwKICBvdGlsZGVhY3V0ZTogMHgxRTRELAogIG90aWxkZWRpZXJlc2lzOiAweDFFNEYsCiAgb3Vib3BvbW9mbzogMHgzMTIxLAogIG92ZXJsaW5lOiAweDIwM0UsCiAgb3ZlcmxpbmVjZW50ZXJsaW5lOiAweEZFNEEsCiAgb3ZlcmxpbmVjbWI6IDB4MDMwNSwKICBvdmVybGluZWRhc2hlZDogMHhGRTQ5LAogIG92ZXJsaW5lZGJsd2F2eTogMHhGRTRDLAogIG92ZXJsaW5ld2F2eTogMHhGRTRCLAogIG92ZXJzY29yZTogMHgwMEFGLAogIG92b3dlbHNpZ25iZW5nYWxpOiAweDA5Q0IsCiAgb3Zvd2Vsc2lnbmRldmE6IDB4MDk0QiwKICBvdm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDQiwKICBwOiAweDAwNzAsCiAgcGFhbXBzc3F1YXJlOiAweDMzODAsCiAgcGFhc2VudG9zcXVhcmU6IDB4MzMyQiwKICBwYWJlbmdhbGk6IDB4MDlBQSwKICBwYWN1dGU6IDB4MUU1NSwKICBwYWRldmE6IDB4MDkyQSwKICBwYWdlZG93bjogMHgyMURGLAogIHBhZ2V1cDogMHgyMURFLAogIHBhZ3VqYXJhdGk6IDB4MEFBQSwKICBwYWd1cm11a2hpOiAweDBBMkEsCiAgcGFoaXJhZ2FuYTogMHgzMDcxLAogIHBhaXlhbm5vaXRoYWk6IDB4MEUyRiwKICBwYWthdGFrYW5hOiAweDMwRDEsCiAgcGFsYXRhbGl6YXRpb25jeXJpbGxpY2NtYjogMHgwNDg0LAogIHBhbG9jaGthY3lyaWxsaWM6IDB4MDRDMCwKICBwYW5zaW9za29yZWFuOiAweDMxN0YsCiAgcGFyYWdyYXBoOiAweDAwQjYsCiAgcGFyYWxsZWw6IDB4MjIyNSwKICBwYXJlbmxlZnQ6IDB4MDAyOCwKICBwYXJlbmxlZnRhbHRvbmVhcmFiaWM6IDB4RkQzRSwKICBwYXJlbmxlZnRidDogMHhGOEVELAogIHBhcmVubGVmdGV4OiAweEY4RUMsCiAgcGFyZW5sZWZ0aW5mZXJpb3I6IDB4MjA4RCwKICBwYXJlbmxlZnRtb25vc3BhY2U6IDB4RkYwOCwKICBwYXJlbmxlZnRzbWFsbDogMHhGRTU5LAogIHBhcmVubGVmdHN1cGVyaW9yOiAweDIwN0QsCiAgcGFyZW5sZWZ0dHA6IDB4RjhFQiwKICBwYXJlbmxlZnR2ZXJ0aWNhbDogMHhGRTM1LAogIHBhcmVucmlnaHQ6IDB4MDAyOSwKICBwYXJlbnJpZ2h0YWx0b25lYXJhYmljOiAweEZEM0YsCiAgcGFyZW5yaWdodGJ0OiAweEY4RjgsCiAgcGFyZW5yaWdodGV4OiAweEY4RjcsCiAgcGFyZW5yaWdodGluZmVyaW9yOiAweDIwOEUsCiAgcGFyZW5yaWdodG1vbm9zcGFjZTogMHhGRjA5LAogIHBhcmVucmlnaHRzbWFsbDogMHhGRTVBLAogIHBhcmVucmlnaHRzdXBlcmlvcjogMHgyMDdFLAogIHBhcmVucmlnaHR0cDogMHhGOEY2LAogIHBhcmVucmlnaHR2ZXJ0aWNhbDogMHhGRTM2LAogIHBhcnRpYWxkaWZmOiAweDIyMDIsCiAgcGFzZXFoZWJyZXc6IDB4MDVDMCwKICBwYXNodGFoZWJyZXc6IDB4MDU5OSwKICBwYXNxdWFyZTogMHgzM0E5LAogIHBhdGFoOiAweDA1QjcsCiAgcGF0YWgxMTogMHgwNUI3LAogIHBhdGFoMWQ6IDB4MDVCNywKICBwYXRhaDJhOiAweDA1QjcsCiAgcGF0YWhoZWJyZXc6IDB4MDVCNywKICBwYXRhaG5hcnJvd2hlYnJldzogMHgwNUI3LAogIHBhdGFocXVhcnRlcmhlYnJldzogMHgwNUI3LAogIHBhdGFod2lkZWhlYnJldzogMHgwNUI3LAogIHBhemVyaGVicmV3OiAweDA1QTEsCiAgcGJvcG9tb2ZvOiAweDMxMDYsCiAgcGNpcmNsZTogMHgyNERGLAogIHBkb3RhY2NlbnQ6IDB4MUU1NywKICBwZTogMHgwNUU0LAogIHBlY3lyaWxsaWM6IDB4MDQzRiwKICBwZWRhZ2VzaDogMHhGQjQ0LAogIHBlZGFnZXNoaGVicmV3OiAweEZCNDQsCiAgcGVlemlzcXVhcmU6IDB4MzMzQiwKICBwZWZpbmFsZGFnZXNoaGVicmV3OiAweEZCNDMsCiAgcGVoYXJhYmljOiAweDA2N0UsCiAgcGVoYXJtZW5pYW46IDB4MDU3QSwKICBwZWhlYnJldzogMHgwNUU0LAogIHBlaGZpbmFsYXJhYmljOiAweEZCNTcsCiAgcGVoaW5pdGlhbGFyYWJpYzogMHhGQjU4LAogIHBlaGlyYWdhbmE6IDB4MzA3QSwKICBwZWhtZWRpYWxhcmFiaWM6IDB4RkI1OSwKICBwZWthdGFrYW5hOiAweDMwREEsCiAgcGVtaWRkbGVob29rY3lyaWxsaWM6IDB4MDRBNywKICBwZXJhZmVoZWJyZXc6IDB4RkI0RSwKICBwZXJjZW50OiAweDAwMjUsCiAgcGVyY2VudGFyYWJpYzogMHgwNjZBLAogIHBlcmNlbnRtb25vc3BhY2U6IDB4RkYwNSwKICBwZXJjZW50c21hbGw6IDB4RkU2QSwKICBwZXJpb2Q6IDB4MDAyRSwKICBwZXJpb2Rhcm1lbmlhbjogMHgwNTg5LAogIHBlcmlvZGNlbnRlcmVkOiAweDAwQjcsCiAgcGVyaW9kaGFsZndpZHRoOiAweEZGNjEsCiAgcGVyaW9kaW5mZXJpb3I6IDB4RjZFNywKICBwZXJpb2Rtb25vc3BhY2U6IDB4RkYwRSwKICBwZXJpb2RzbWFsbDogMHhGRTUyLAogIHBlcmlvZHN1cGVyaW9yOiAweEY2RTgsCiAgcGVyaXNwb21lbmlncmVla2NtYjogMHgwMzQyLAogIHBlcnBlbmRpY3VsYXI6IDB4MjJBNSwKICBwZXJ0aG91c2FuZDogMHgyMDMwLAogIHBlc2V0YTogMHgyMEE3LAogIHBmc3F1YXJlOiAweDMzOEEsCiAgcGhhYmVuZ2FsaTogMHgwOUFCLAogIHBoYWRldmE6IDB4MDkyQiwKICBwaGFndWphcmF0aTogMHgwQUFCLAogIHBoYWd1cm11a2hpOiAweDBBMkIsCiAgcGhpOiAweDAzQzYsCiAgcGhpMTogMHgwM0Q1LAogIHBoaWV1cGhhY2lyY2xla29yZWFuOiAweDMyN0EsCiAgcGhpZXVwaGFwYXJlbmtvcmVhbjogMHgzMjFBLAogIHBoaWV1cGhjaXJjbGVrb3JlYW46IDB4MzI2QywKICBwaGlldXBoa29yZWFuOiAweDMxNEQsCiAgcGhpZXVwaHBhcmVua29yZWFuOiAweDMyMEMsCiAgcGhpbGF0aW46IDB4MDI3OCwKICBwaGludGh1dGhhaTogMHgwRTNBLAogIHBoaXN5bWJvbGdyZWVrOiAweDAzRDUsCiAgcGhvb2s6IDB4MDFBNSwKICBwaG9waGFudGhhaTogMHgwRTFFLAogIHBob3BodW5ndGhhaTogMHgwRTFDLAogIHBob3NhbXBoYW90aGFpOiAweDBFMjAsCiAgcGk6IDB4MDNDMCwKICBwaWV1cGFjaXJjbGVrb3JlYW46IDB4MzI3MywKICBwaWV1cGFwYXJlbmtvcmVhbjogMHgzMjEzLAogIHBpZXVwY2lldWNrb3JlYW46IDB4MzE3NiwKICBwaWV1cGNpcmNsZWtvcmVhbjogMHgzMjY1LAogIHBpZXVwa2l5ZW9ra29yZWFuOiAweDMxNzIsCiAgcGlldXBrb3JlYW46IDB4MzE0MiwKICBwaWV1cHBhcmVua29yZWFuOiAweDMyMDUsCiAgcGlldXBzaW9za2l5ZW9ra29yZWFuOiAweDMxNzQsCiAgcGlldXBzaW9za29yZWFuOiAweDMxNDQsCiAgcGlldXBzaW9zdGlrZXV0a29yZWFuOiAweDMxNzUsCiAgcGlldXB0aGlldXRoa29yZWFuOiAweDMxNzcsCiAgcGlldXB0aWtldXRrb3JlYW46IDB4MzE3MywKICBwaWhpcmFnYW5hOiAweDMwNzQsCiAgcGlrYXRha2FuYTogMHgzMEQ0LAogIHBpc3ltYm9sZ3JlZWs6IDB4MDNENiwKICBwaXdyYXJtZW5pYW46IDB4MDU4MywKICBwbHVzOiAweDAwMkIsCiAgcGx1c2JlbG93Y21iOiAweDAzMUYsCiAgcGx1c2NpcmNsZTogMHgyMjk1LAogIHBsdXNtaW51czogMHgwMEIxLAogIHBsdXNtb2Q6IDB4MDJENiwKICBwbHVzbW9ub3NwYWNlOiAweEZGMEIsCiAgcGx1c3NtYWxsOiAweEZFNjIsCiAgcGx1c3N1cGVyaW9yOiAweDIwN0EsCiAgcG1vbm9zcGFjZTogMHhGRjUwLAogIHBtc3F1YXJlOiAweDMzRDgsCiAgcG9oaXJhZ2FuYTogMHgzMDdELAogIHBvaW50aW5naW5kZXhkb3dud2hpdGU6IDB4MjYxRiwKICBwb2ludGluZ2luZGV4bGVmdHdoaXRlOiAweDI2MUMsCiAgcG9pbnRpbmdpbmRleHJpZ2h0d2hpdGU6IDB4MjYxRSwKICBwb2ludGluZ2luZGV4dXB3aGl0ZTogMHgyNjFELAogIHBva2F0YWthbmE6IDB4MzBERCwKICBwb3BsYXRoYWk6IDB4MEUxQiwKICBwb3N0YWxtYXJrOiAweDMwMTIsCiAgcG9zdGFsbWFya2ZhY2U6IDB4MzAyMCwKICBwcGFyZW46IDB4MjRBQiwKICBwcmVjZWRlczogMHgyMjdBLAogIHByZXNjcmlwdGlvbjogMHgyMTFFLAogIHByaW1lbW9kOiAweDAyQjksCiAgcHJpbWVyZXZlcnNlZDogMHgyMDM1LAogIHByb2R1Y3Q6IDB4MjIwRiwKICBwcm9qZWN0aXZlOiAweDIzMDUsCiAgcHJvbG9uZ2Vka2FuYTogMHgzMEZDLAogIHByb3BlbGxvcjogMHgyMzE4LAogIHByb3BlcnN1YnNldDogMHgyMjgyLAogIHByb3BlcnN1cGVyc2V0OiAweDIyODMsCiAgcHJvcG9ydGlvbjogMHgyMjM3LAogIHByb3BvcnRpb25hbDogMHgyMjFELAogIHBzaTogMHgwM0M4LAogIHBzaWN5cmlsbGljOiAweDA0NzEsCiAgcHNpbGlwbmV1bWF0YWN5cmlsbGljY21iOiAweDA0ODYsCiAgcHNzcXVhcmU6IDB4MzNCMCwKICBwdWhpcmFnYW5hOiAweDMwNzcsCiAgcHVrYXRha2FuYTogMHgzMEQ3LAogIHB2c3F1YXJlOiAweDMzQjQsCiAgcHdzcXVhcmU6IDB4MzNCQSwKICBxOiAweDAwNzEsCiAgcWFkZXZhOiAweDA5NTgsCiAgcWFkbWFoZWJyZXc6IDB4MDVBOCwKICBxYWZhcmFiaWM6IDB4MDY0MiwKICBxYWZmaW5hbGFyYWJpYzogMHhGRUQ2LAogIHFhZmluaXRpYWxhcmFiaWM6IDB4RkVENywKICBxYWZtZWRpYWxhcmFiaWM6IDB4RkVEOCwKICBxYW1hdHM6IDB4MDVCOCwKICBxYW1hdHMxMDogMHgwNUI4LAogIHFhbWF0czFhOiAweDA1QjgsCiAgcWFtYXRzMWM6IDB4MDVCOCwKICBxYW1hdHMyNzogMHgwNUI4LAogIHFhbWF0czI5OiAweDA1QjgsCiAgcWFtYXRzMzM6IDB4MDVCOCwKICBxYW1hdHNkZTogMHgwNUI4LAogIHFhbWF0c2hlYnJldzogMHgwNUI4LAogIHFhbWF0c25hcnJvd2hlYnJldzogMHgwNUI4LAogIHFhbWF0c3FhdGFuaGVicmV3OiAweDA1QjgsCiAgcWFtYXRzcWF0YW5uYXJyb3doZWJyZXc6IDB4MDVCOCwKICBxYW1hdHNxYXRhbnF1YXJ0ZXJoZWJyZXc6IDB4MDVCOCwKICBxYW1hdHNxYXRhbndpZGVoZWJyZXc6IDB4MDVCOCwKICBxYW1hdHNxdWFydGVyaGVicmV3OiAweDA1QjgsCiAgcWFtYXRzd2lkZWhlYnJldzogMHgwNUI4LAogIHFhcm5leXBhcmFoZWJyZXc6IDB4MDU5RiwKICBxYm9wb21vZm86IDB4MzExMSwKICBxY2lyY2xlOiAweDI0RTAsCiAgcWhvb2s6IDB4MDJBMCwKICBxbW9ub3NwYWNlOiAweEZGNTEsCiAgcW9mOiAweDA1RTcsCiAgcW9mZGFnZXNoOiAweEZCNDcsCiAgcW9mZGFnZXNoaGVicmV3OiAweEZCNDcsCiAgcW9maGVicmV3OiAweDA1RTcsCiAgcXBhcmVuOiAweDI0QUMsCiAgcXVhcnRlcm5vdGU6IDB4MjY2OSwKICBxdWJ1dHM6IDB4MDVCQiwKICBxdWJ1dHMxODogMHgwNUJCLAogIHF1YnV0czI1OiAweDA1QkIsCiAgcXVidXRzMzE6IDB4MDVCQiwKICBxdWJ1dHNoZWJyZXc6IDB4MDVCQiwKICBxdWJ1dHNuYXJyb3doZWJyZXc6IDB4MDVCQiwKICBxdWJ1dHNxdWFydGVyaGVicmV3OiAweDA1QkIsCiAgcXVidXRzd2lkZWhlYnJldzogMHgwNUJCLAogIHF1ZXN0aW9uOiAweDAwM0YsCiAgcXVlc3Rpb25hcmFiaWM6IDB4MDYxRiwKICBxdWVzdGlvbmFybWVuaWFuOiAweDA1NUUsCiAgcXVlc3Rpb25kb3duOiAweDAwQkYsCiAgcXVlc3Rpb25kb3duc21hbGw6IDB4RjdCRiwKICBxdWVzdGlvbmdyZWVrOiAweDAzN0UsCiAgcXVlc3Rpb25tb25vc3BhY2U6IDB4RkYxRiwKICBxdWVzdGlvbnNtYWxsOiAweEY3M0YsCiAgcXVvdGVkYmw6IDB4MDAyMiwKICBxdW90ZWRibGJhc2U6IDB4MjAxRSwKICBxdW90ZWRibGxlZnQ6IDB4MjAxQywKICBxdW90ZWRibG1vbm9zcGFjZTogMHhGRjAyLAogIHF1b3RlZGJscHJpbWU6IDB4MzAxRSwKICBxdW90ZWRibHByaW1lcmV2ZXJzZWQ6IDB4MzAxRCwKICBxdW90ZWRibHJpZ2h0OiAweDIwMUQsCiAgcXVvdGVsZWZ0OiAweDIwMTgsCiAgcXVvdGVsZWZ0cmV2ZXJzZWQ6IDB4MjAxQiwKICBxdW90ZXJldmVyc2VkOiAweDIwMUIsCiAgcXVvdGVyaWdodDogMHgyMDE5LAogIHF1b3RlcmlnaHRuOiAweDAxNDksCiAgcXVvdGVzaW5nbGJhc2U6IDB4MjAxQSwKICBxdW90ZXNpbmdsZTogMHgwMDI3LAogIHF1b3Rlc2luZ2xlbW9ub3NwYWNlOiAweEZGMDcsCiAgcjogMHgwMDcyLAogIHJhYXJtZW5pYW46IDB4MDU3QywKICByYWJlbmdhbGk6IDB4MDlCMCwKICByYWN1dGU6IDB4MDE1NSwKICByYWRldmE6IDB4MDkzMCwKICByYWRpY2FsOiAweDIyMUEsCiAgcmFkaWNhbGV4OiAweEY4RTUsCiAgcmFkb3ZlcnNzcXVhcmU6IDB4MzNBRSwKICByYWRvdmVyc3NxdWFyZWRzcXVhcmU6IDB4MzNBRiwKICByYWRzcXVhcmU6IDB4MzNBRCwKICByYWZlOiAweDA1QkYsCiAgcmFmZWhlYnJldzogMHgwNUJGLAogIHJhZ3VqYXJhdGk6IDB4MEFCMCwKICByYWd1cm11a2hpOiAweDBBMzAsCiAgcmFoaXJhZ2FuYTogMHgzMDg5LAogIHJha2F0YWthbmE6IDB4MzBFOSwKICByYWthdGFrYW5haGFsZndpZHRoOiAweEZGOTcsCiAgcmFsb3dlcmRpYWdvbmFsYmVuZ2FsaTogMHgwOUYxLAogIHJhbWlkZGxlZGlhZ29uYWxiZW5nYWxpOiAweDA5RjAsCiAgcmFtc2hvcm46IDB4MDI2NCwKICByYXRpbzogMHgyMjM2LAogIHJib3BvbW9mbzogMHgzMTE2LAogIHJjYXJvbjogMHgwMTU5LAogIHJjZWRpbGxhOiAweDAxNTcsCiAgcmNpcmNsZTogMHgyNEUxLAogIHJjb21tYWFjY2VudDogMHgwMTU3LAogIHJkYmxncmF2ZTogMHgwMjExLAogIHJkb3RhY2NlbnQ6IDB4MUU1OSwKICByZG90YmVsb3c6IDB4MUU1QiwKICByZG90YmVsb3dtYWNyb246IDB4MUU1RCwKICByZWZlcmVuY2VtYXJrOiAweDIwM0IsCiAgcmVmbGV4c3Vic2V0OiAweDIyODYsCiAgcmVmbGV4c3VwZXJzZXQ6IDB4MjI4NywKICByZWdpc3RlcmVkOiAweDAwQUUsCiAgcmVnaXN0ZXJzYW5zOiAweEY4RTgsCiAgcmVnaXN0ZXJzZXJpZjogMHhGNkRBLAogIHJlaGFyYWJpYzogMHgwNjMxLAogIHJlaGFybWVuaWFuOiAweDA1ODAsCiAgcmVoZmluYWxhcmFiaWM6IDB4RkVBRSwKICByZWhpcmFnYW5hOiAweDMwOEMsCiAgcmVrYXRha2FuYTogMHgzMEVDLAogIHJla2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5QSwKICByZXNoOiAweDA1RTgsCiAgcmVzaGRhZ2VzaGhlYnJldzogMHhGQjQ4LAogIHJlc2hoZWJyZXc6IDB4MDVFOCwKICByZXZlcnNlZHRpbGRlOiAweDIyM0QsCiAgcmV2aWFoZWJyZXc6IDB4MDU5NywKICByZXZpYW11Z3Jhc2hoZWJyZXc6IDB4MDU5NywKICByZXZsb2dpY2Fsbm90OiAweDIzMTAsCiAgcmZpc2hob29rOiAweDAyN0UsCiAgcmZpc2hob29rcmV2ZXJzZWQ6IDB4MDI3RiwKICByaGFiZW5nYWxpOiAweDA5REQsCiAgcmhhZGV2YTogMHgwOTVELAogIHJobzogMHgwM0MxLAogIHJob29rOiAweDAyN0QsCiAgcmhvb2t0dXJuZWQ6IDB4MDI3QiwKICByaG9va3R1cm5lZHN1cGVyaW9yOiAweDAyQjUsCiAgcmhvc3ltYm9sZ3JlZWs6IDB4MDNGMSwKICByaG90aWNob29rbW9kOiAweDAyREUsCiAgcmlldWxhY2lyY2xla29yZWFuOiAweDMyNzEsCiAgcmlldWxhcGFyZW5rb3JlYW46IDB4MzIxMSwKICByaWV1bGNpcmNsZWtvcmVhbjogMHgzMjYzLAogIHJpZXVsaGlldWhrb3JlYW46IDB4MzE0MCwKICByaWV1bGtpeWVva2tvcmVhbjogMHgzMTNBLAogIHJpZXVsa2l5ZW9rc2lvc2tvcmVhbjogMHgzMTY5LAogIHJpZXVsa29yZWFuOiAweDMxMzksCiAgcmlldWxtaWV1bWtvcmVhbjogMHgzMTNCLAogIHJpZXVscGFuc2lvc2tvcmVhbjogMHgzMTZDLAogIHJpZXVscGFyZW5rb3JlYW46IDB4MzIwMywKICByaWV1bHBoaWV1cGhrb3JlYW46IDB4MzEzRiwKICByaWV1bHBpZXVwa29yZWFuOiAweDMxM0MsCiAgcmlldWxwaWV1cHNpb3Nrb3JlYW46IDB4MzE2QiwKICByaWV1bHNpb3Nrb3JlYW46IDB4MzEzRCwKICByaWV1bHRoaWV1dGhrb3JlYW46IDB4MzEzRSwKICByaWV1bHRpa2V1dGtvcmVhbjogMHgzMTZBLAogIHJpZXVseWVvcmluaGlldWhrb3JlYW46IDB4MzE2RCwKICByaWdodGFuZ2xlOiAweDIyMUYsCiAgcmlnaHR0YWNrYmVsb3djbWI6IDB4MDMxOSwKICByaWdodHRyaWFuZ2xlOiAweDIyQkYsCiAgcmloaXJhZ2FuYTogMHgzMDhBLAogIHJpa2F0YWthbmE6IDB4MzBFQSwKICByaWthdGFrYW5haGFsZndpZHRoOiAweEZGOTgsCiAgcmluZzogMHgwMkRBLAogIHJpbmdiZWxvd2NtYjogMHgwMzI1LAogIHJpbmdjbWI6IDB4MDMwQSwKICByaW5naGFsZmxlZnQ6IDB4MDJCRiwKICByaW5naGFsZmxlZnRhcm1lbmlhbjogMHgwNTU5LAogIHJpbmdoYWxmbGVmdGJlbG93Y21iOiAweDAzMUMsCiAgcmluZ2hhbGZsZWZ0Y2VudGVyZWQ6IDB4MDJEMywKICByaW5naGFsZnJpZ2h0OiAweDAyQkUsCiAgcmluZ2hhbGZyaWdodGJlbG93Y21iOiAweDAzMzksCiAgcmluZ2hhbGZyaWdodGNlbnRlcmVkOiAweDAyRDIsCiAgcmludmVydGVkYnJldmU6IDB4MDIxMywKICByaXR0b3J1c3F1YXJlOiAweDMzNTEsCiAgcmxpbmViZWxvdzogMHgxRTVGLAogIHJsb25nbGVnOiAweDAyN0MsCiAgcmxvbmdsZWd0dXJuZWQ6IDB4MDI3QSwKICBybW9ub3NwYWNlOiAweEZGNTIsCiAgcm9oaXJhZ2FuYTogMHgzMDhELAogIHJva2F0YWthbmE6IDB4MzBFRCwKICByb2thdGFrYW5haGFsZndpZHRoOiAweEZGOUIsCiAgcm9ydWF0aGFpOiAweDBFMjMsCiAgcnBhcmVuOiAweDI0QUQsCiAgcnJhYmVuZ2FsaTogMHgwOURDLAogIHJyYWRldmE6IDB4MDkzMSwKICBycmFndXJtdWtoaTogMHgwQTVDLAogIHJyZWhhcmFiaWM6IDB4MDY5MSwKICBycmVoZmluYWxhcmFiaWM6IDB4RkI4RCwKICBycnZvY2FsaWNiZW5nYWxpOiAweDA5RTAsCiAgcnJ2b2NhbGljZGV2YTogMHgwOTYwLAogIHJydm9jYWxpY2d1amFyYXRpOiAweDBBRTAsCiAgcnJ2b2NhbGljdm93ZWxzaWduYmVuZ2FsaTogMHgwOUM0LAogIHJydm9jYWxpY3Zvd2Vsc2lnbmRldmE6IDB4MDk0NCwKICBycnZvY2FsaWN2b3dlbHNpZ25ndWphcmF0aTogMHgwQUM0LAogIHJzdXBlcmlvcjogMHhGNkYxLAogIHJ0YmxvY2s6IDB4MjU5MCwKICBydHVybmVkOiAweDAyNzksCiAgcnR1cm5lZHN1cGVyaW9yOiAweDAyQjQsCiAgcnVoaXJhZ2FuYTogMHgzMDhCLAogIHJ1a2F0YWthbmE6IDB4MzBFQiwKICBydWthdGFrYW5haGFsZndpZHRoOiAweEZGOTksCiAgcnVwZWVtYXJrYmVuZ2FsaTogMHgwOUYyLAogIHJ1cGVlc2lnbmJlbmdhbGk6IDB4MDlGMywKICBydXBpYWg6IDB4RjZERCwKICBydXRoYWk6IDB4MEUyNCwKICBydm9jYWxpY2JlbmdhbGk6IDB4MDk4QiwKICBydm9jYWxpY2RldmE6IDB4MDkwQiwKICBydm9jYWxpY2d1amFyYXRpOiAweDBBOEIsCiAgcnZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpOiAweDA5QzMsCiAgcnZvY2FsaWN2b3dlbHNpZ25kZXZhOiAweDA5NDMsCiAgcnZvY2FsaWN2b3dlbHNpZ25ndWphcmF0aTogMHgwQUMzLAogIHM6IDB4MDA3MywKICBzYWJlbmdhbGk6IDB4MDlCOCwKICBzYWN1dGU6IDB4MDE1QiwKICBzYWN1dGVkb3RhY2NlbnQ6IDB4MUU2NSwKICBzYWRhcmFiaWM6IDB4MDYzNSwKICBzYWRldmE6IDB4MDkzOCwKICBzYWRmaW5hbGFyYWJpYzogMHhGRUJBLAogIHNhZGluaXRpYWxhcmFiaWM6IDB4RkVCQiwKICBzYWRtZWRpYWxhcmFiaWM6IDB4RkVCQywKICBzYWd1amFyYXRpOiAweDBBQjgsCiAgc2FndXJtdWtoaTogMHgwQTM4LAogIHNhaGlyYWdhbmE6IDB4MzA1NSwKICBzYWthdGFrYW5hOiAweDMwQjUsCiAgc2FrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjdCLAogIHNhbGxhbGxhaG91YWxheWhld2FzYWxsYW1hcmFiaWM6IDB4RkRGQSwKICBzYW1la2g6IDB4MDVFMSwKICBzYW1la2hkYWdlc2g6IDB4RkI0MSwKICBzYW1la2hkYWdlc2hoZWJyZXc6IDB4RkI0MSwKICBzYW1la2hoZWJyZXc6IDB4MDVFMSwKICBzYXJhYWF0aGFpOiAweDBFMzIsCiAgc2FyYWFldGhhaTogMHgwRTQxLAogIHNhcmFhaW1haW1hbGFpdGhhaTogMHgwRTQ0LAogIHNhcmFhaW1haW11YW50aGFpOiAweDBFNDMsCiAgc2FyYWFtdGhhaTogMHgwRTMzLAogIHNhcmFhdGhhaTogMHgwRTMwLAogIHNhcmFldGhhaTogMHgwRTQwLAogIHNhcmFpaWxlZnR0aGFpOiAweEY4ODYsCiAgc2FyYWlpdGhhaTogMHgwRTM1LAogIHNhcmFpbGVmdHRoYWk6IDB4Rjg4NSwKICBzYXJhaXRoYWk6IDB4MEUzNCwKICBzYXJhb3RoYWk6IDB4MEU0MiwKICBzYXJhdWVlbGVmdHRoYWk6IDB4Rjg4OCwKICBzYXJhdWVldGhhaTogMHgwRTM3LAogIHNhcmF1ZWxlZnR0aGFpOiAweEY4ODcsCiAgc2FyYXVldGhhaTogMHgwRTM2LAogIHNhcmF1dGhhaTogMHgwRTM4LAogIHNhcmF1dXRoYWk6IDB4MEUzOSwKICBzYm9wb21vZm86IDB4MzExOSwKICBzY2Fyb246IDB4MDE2MSwKICBzY2Fyb25kb3RhY2NlbnQ6IDB4MUU2NywKICBzY2VkaWxsYTogMHgwMTVGLAogIHNjaHdhOiAweDAyNTksCiAgc2Nod2FjeXJpbGxpYzogMHgwNEQ5LAogIHNjaHdhZGllcmVzaXNjeXJpbGxpYzogMHgwNERCLAogIHNjaHdhaG9vazogMHgwMjVBLAogIHNjaXJjbGU6IDB4MjRFMiwKICBzY2lyY3VtZmxleDogMHgwMTVELAogIHNjb21tYWFjY2VudDogMHgwMjE5LAogIHNkb3RhY2NlbnQ6IDB4MUU2MSwKICBzZG90YmVsb3c6IDB4MUU2MywKICBzZG90YmVsb3dkb3RhY2NlbnQ6IDB4MUU2OSwKICBzZWFndWxsYmVsb3djbWI6IDB4MDMzQywKICBzZWNvbmQ6IDB4MjAzMywKICBzZWNvbmR0b25lY2hpbmVzZTogMHgwMkNBLAogIHNlY3Rpb246IDB4MDBBNywKICBzZWVuYXJhYmljOiAweDA2MzMsCiAgc2VlbmZpbmFsYXJhYmljOiAweEZFQjIsCiAgc2VlbmluaXRpYWxhcmFiaWM6IDB4RkVCMywKICBzZWVubWVkaWFsYXJhYmljOiAweEZFQjQsCiAgc2Vnb2w6IDB4MDVCNiwKICBzZWdvbDEzOiAweDA1QjYsCiAgc2Vnb2wxZjogMHgwNUI2LAogIHNlZ29sMmM6IDB4MDVCNiwKICBzZWdvbGhlYnJldzogMHgwNUI2LAogIHNlZ29sbmFycm93aGVicmV3OiAweDA1QjYsCiAgc2Vnb2xxdWFydGVyaGVicmV3OiAweDA1QjYsCiAgc2Vnb2x0YWhlYnJldzogMHgwNTkyLAogIHNlZ29sd2lkZWhlYnJldzogMHgwNUI2LAogIHNlaGFybWVuaWFuOiAweDA1N0QsCiAgc2VoaXJhZ2FuYTogMHgzMDVCLAogIHNla2F0YWthbmE6IDB4MzBCQiwKICBzZWthdGFrYW5haGFsZndpZHRoOiAweEZGN0UsCiAgc2VtaWNvbG9uOiAweDAwM0IsCiAgc2VtaWNvbG9uYXJhYmljOiAweDA2MUIsCiAgc2VtaWNvbG9ubW9ub3NwYWNlOiAweEZGMUIsCiAgc2VtaWNvbG9uc21hbGw6IDB4RkU1NCwKICBzZW1pdm9pY2VkbWFya2thbmE6IDB4MzA5QywKICBzZW1pdm9pY2VkbWFya2thbmFoYWxmd2lkdGg6IDB4RkY5RiwKICBzZW50aXNxdWFyZTogMHgzMzIyLAogIHNlbnRvc3F1YXJlOiAweDMzMjMsCiAgc2V2ZW46IDB4MDAzNywKICBzZXZlbmFyYWJpYzogMHgwNjY3LAogIHNldmVuYmVuZ2FsaTogMHgwOUVELAogIHNldmVuY2lyY2xlOiAweDI0NjYsCiAgc2V2ZW5jaXJjbGVpbnZlcnNlc2Fuc3NlcmlmOiAweDI3OTAsCiAgc2V2ZW5kZXZhOiAweDA5NkQsCiAgc2V2ZW5laWdodGhzOiAweDIxNUUsCiAgc2V2ZW5ndWphcmF0aTogMHgwQUVELAogIHNldmVuZ3VybXVraGk6IDB4MEE2RCwKICBzZXZlbmhhY2thcmFiaWM6IDB4MDY2NywKICBzZXZlbmhhbmd6aG91OiAweDMwMjcsCiAgc2V2ZW5pZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjYsCiAgc2V2ZW5pbmZlcmlvcjogMHgyMDg3LAogIHNldmVubW9ub3NwYWNlOiAweEZGMTcsCiAgc2V2ZW5vbGRzdHlsZTogMHhGNzM3LAogIHNldmVucGFyZW46IDB4MjQ3QSwKICBzZXZlbnBlcmlvZDogMHgyNDhFLAogIHNldmVucGVyc2lhbjogMHgwNkY3LAogIHNldmVucm9tYW46IDB4MjE3NiwKICBzZXZlbnN1cGVyaW9yOiAweDIwNzcsCiAgc2V2ZW50ZWVuY2lyY2xlOiAweDI0NzAsCiAgc2V2ZW50ZWVucGFyZW46IDB4MjQ4NCwKICBzZXZlbnRlZW5wZXJpb2Q6IDB4MjQ5OCwKICBzZXZlbnRoYWk6IDB4MEU1NywKICBzZnRoeXBoZW46IDB4MDBBRCwKICBzaGFhcm1lbmlhbjogMHgwNTc3LAogIHNoYWJlbmdhbGk6IDB4MDlCNiwKICBzaGFjeXJpbGxpYzogMHgwNDQ4LAogIHNoYWRkYWFyYWJpYzogMHgwNjUxLAogIHNoYWRkYWRhbW1hYXJhYmljOiAweEZDNjEsCiAgc2hhZGRhZGFtbWF0YW5hcmFiaWM6IDB4RkM1RSwKICBzaGFkZGFmYXRoYWFyYWJpYzogMHhGQzYwLAogIHNoYWRkYWthc3JhYXJhYmljOiAweEZDNjIsCiAgc2hhZGRha2FzcmF0YW5hcmFiaWM6IDB4RkM1RiwKICBzaGFkZTogMHgyNTkyLAogIHNoYWRlZGFyazogMHgyNTkzLAogIHNoYWRlbGlnaHQ6IDB4MjU5MSwKICBzaGFkZW1lZGl1bTogMHgyNTkyLAogIHNoYWRldmE6IDB4MDkzNiwKICBzaGFndWphcmF0aTogMHgwQUI2LAogIHNoYWd1cm11a2hpOiAweDBBMzYsCiAgc2hhbHNoZWxldGhlYnJldzogMHgwNTkzLAogIHNoYm9wb21vZm86IDB4MzExNSwKICBzaGNoYWN5cmlsbGljOiAweDA0NDksCiAgc2hlZW5hcmFiaWM6IDB4MDYzNCwKICBzaGVlbmZpbmFsYXJhYmljOiAweEZFQjYsCiAgc2hlZW5pbml0aWFsYXJhYmljOiAweEZFQjcsCiAgc2hlZW5tZWRpYWxhcmFiaWM6IDB4RkVCOCwKICBzaGVpY29wdGljOiAweDAzRTMsCiAgc2hlcWVsOiAweDIwQUEsCiAgc2hlcWVsaGVicmV3OiAweDIwQUEsCiAgc2hldmE6IDB4MDVCMCwKICBzaGV2YTExNTogMHgwNUIwLAogIHNoZXZhMTU6IDB4MDVCMCwKICBzaGV2YTIyOiAweDA1QjAsCiAgc2hldmEyZTogMHgwNUIwLAogIHNoZXZhaGVicmV3OiAweDA1QjAsCiAgc2hldmFuYXJyb3doZWJyZXc6IDB4MDVCMCwKICBzaGV2YXF1YXJ0ZXJoZWJyZXc6IDB4MDVCMCwKICBzaGV2YXdpZGVoZWJyZXc6IDB4MDVCMCwKICBzaGhhY3lyaWxsaWM6IDB4MDRCQiwKICBzaGltYWNvcHRpYzogMHgwM0VELAogIHNoaW46IDB4MDVFOSwKICBzaGluZGFnZXNoOiAweEZCNDksCiAgc2hpbmRhZ2VzaGhlYnJldzogMHhGQjQ5LAogIHNoaW5kYWdlc2hzaGluZG90OiAweEZCMkMsCiAgc2hpbmRhZ2VzaHNoaW5kb3RoZWJyZXc6IDB4RkIyQywKICBzaGluZGFnZXNoc2luZG90OiAweEZCMkQsCiAgc2hpbmRhZ2VzaHNpbmRvdGhlYnJldzogMHhGQjJELAogIHNoaW5kb3RoZWJyZXc6IDB4MDVDMSwKICBzaGluaGVicmV3OiAweDA1RTksCiAgc2hpbnNoaW5kb3Q6IDB4RkIyQSwKICBzaGluc2hpbmRvdGhlYnJldzogMHhGQjJBLAogIHNoaW5zaW5kb3Q6IDB4RkIyQiwKICBzaGluc2luZG90aGVicmV3OiAweEZCMkIsCiAgc2hvb2s6IDB4MDI4MiwKICBzaWdtYTogMHgwM0MzLAogIHNpZ21hMTogMHgwM0MyLAogIHNpZ21hZmluYWw6IDB4MDNDMiwKICBzaWdtYWx1bmF0ZXN5bWJvbGdyZWVrOiAweDAzRjIsCiAgc2loaXJhZ2FuYTogMHgzMDU3LAogIHNpa2F0YWthbmE6IDB4MzBCNywKICBzaWthdGFrYW5haGFsZndpZHRoOiAweEZGN0MsCiAgc2lsdXFoZWJyZXc6IDB4MDVCRCwKICBzaWx1cWxlZnRoZWJyZXc6IDB4MDVCRCwKICBzaW1pbGFyOiAweDIyM0MsCiAgc2luZG90aGVicmV3OiAweDA1QzIsCiAgc2lvc2FjaXJjbGVrb3JlYW46IDB4MzI3NCwKICBzaW9zYXBhcmVua29yZWFuOiAweDMyMTQsCiAgc2lvc2NpZXVja29yZWFuOiAweDMxN0UsCiAgc2lvc2NpcmNsZWtvcmVhbjogMHgzMjY2LAogIHNpb3NraXllb2trb3JlYW46IDB4MzE3QSwKICBzaW9za29yZWFuOiAweDMxNDUsCiAgc2lvc25pZXVua29yZWFuOiAweDMxN0IsCiAgc2lvc3BhcmVua29yZWFuOiAweDMyMDYsCiAgc2lvc3BpZXVwa29yZWFuOiAweDMxN0QsCiAgc2lvc3Rpa2V1dGtvcmVhbjogMHgzMTdDLAogIHNpeDogMHgwMDM2LAogIHNpeGFyYWJpYzogMHgwNjY2LAogIHNpeGJlbmdhbGk6IDB4MDlFQywKICBzaXhjaXJjbGU6IDB4MjQ2NSwKICBzaXhjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmOiAweDI3OEYsCiAgc2l4ZGV2YTogMHgwOTZDLAogIHNpeGd1amFyYXRpOiAweDBBRUMsCiAgc2l4Z3VybXVraGk6IDB4MEE2QywKICBzaXhoYWNrYXJhYmljOiAweDA2NjYsCiAgc2l4aGFuZ3pob3U6IDB4MzAyNiwKICBzaXhpZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjUsCiAgc2l4aW5mZXJpb3I6IDB4MjA4NiwKICBzaXhtb25vc3BhY2U6IDB4RkYxNiwKICBzaXhvbGRzdHlsZTogMHhGNzM2LAogIHNpeHBhcmVuOiAweDI0NzksCiAgc2l4cGVyaW9kOiAweDI0OEQsCiAgc2l4cGVyc2lhbjogMHgwNkY2LAogIHNpeHJvbWFuOiAweDIxNzUsCiAgc2l4c3VwZXJpb3I6IDB4MjA3NiwKICBzaXh0ZWVuY2lyY2xlOiAweDI0NkYsCiAgc2l4dGVlbmN1cnJlbmN5ZGVub21pbmF0b3JiZW5nYWxpOiAweDA5RjksCiAgc2l4dGVlbnBhcmVuOiAweDI0ODMsCiAgc2l4dGVlbnBlcmlvZDogMHgyNDk3LAogIHNpeHRoYWk6IDB4MEU1NiwKICBzbGFzaDogMHgwMDJGLAogIHNsYXNobW9ub3NwYWNlOiAweEZGMEYsCiAgc2xvbmc6IDB4MDE3RiwKICBzbG9uZ2RvdGFjY2VudDogMHgxRTlCLAogIHNtaWxlZmFjZTogMHgyNjNBLAogIHNtb25vc3BhY2U6IDB4RkY1MywKICBzb2ZwYXN1cWhlYnJldzogMHgwNUMzLAogIHNvZnRoeXBoZW46IDB4MDBBRCwKICBzb2Z0c2lnbmN5cmlsbGljOiAweDA0NEMsCiAgc29oaXJhZ2FuYTogMHgzMDVELAogIHNva2F0YWthbmE6IDB4MzBCRCwKICBzb2thdGFrYW5haGFsZndpZHRoOiAweEZGN0YsCiAgc29saWR1c2xvbmdvdmVybGF5Y21iOiAweDAzMzgsCiAgc29saWR1c3Nob3J0b3ZlcmxheWNtYjogMHgwMzM3LAogIHNvcnVzaXRoYWk6IDB4MEUyOSwKICBzb3NhbGF0aGFpOiAweDBFMjgsCiAgc29zb3RoYWk6IDB4MEUwQiwKICBzb3N1YXRoYWk6IDB4MEUyQSwKICBzcGFjZTogMHgwMDIwLAogIHNwYWNlaGFja2FyYWJpYzogMHgwMDIwLAogIHNwYWRlOiAweDI2NjAsCiAgc3BhZGVzdWl0YmxhY2s6IDB4MjY2MCwKICBzcGFkZXN1aXR3aGl0ZTogMHgyNjY0LAogIHNwYXJlbjogMHgyNEFFLAogIHNxdWFyZWJlbG93Y21iOiAweDAzM0IsCiAgc3F1YXJlY2M6IDB4MzNDNCwKICBzcXVhcmVjbTogMHgzMzlELAogIHNxdWFyZWRpYWdvbmFsY3Jvc3NoYXRjaGZpbGw6IDB4MjVBOSwKICBzcXVhcmVob3Jpem9udGFsZmlsbDogMHgyNUE0LAogIHNxdWFyZWtnOiAweDMzOEYsCiAgc3F1YXJla206IDB4MzM5RSwKICBzcXVhcmVrbWNhcGl0YWw6IDB4MzNDRSwKICBzcXVhcmVsbjogMHgzM0QxLAogIHNxdWFyZWxvZzogMHgzM0QyLAogIHNxdWFyZW1nOiAweDMzOEUsCiAgc3F1YXJlbWlsOiAweDMzRDUsCiAgc3F1YXJlbW06IDB4MzM5QywKICBzcXVhcmVtc3F1YXJlZDogMHgzM0ExLAogIHNxdWFyZW9ydGhvZ29uYWxjcm9zc2hhdGNoZmlsbDogMHgyNUE2LAogIHNxdWFyZXVwcGVybGVmdHRvbG93ZXJyaWdodGZpbGw6IDB4MjVBNywKICBzcXVhcmV1cHBlcnJpZ2h0dG9sb3dlcmxlZnRmaWxsOiAweDI1QTgsCiAgc3F1YXJldmVydGljYWxmaWxsOiAweDI1QTUsCiAgc3F1YXJld2hpdGV3aXRoc21hbGxibGFjazogMHgyNUEzLAogIHNyc3F1YXJlOiAweDMzREIsCiAgc3NhYmVuZ2FsaTogMHgwOUI3LAogIHNzYWRldmE6IDB4MDkzNywKICBzc2FndWphcmF0aTogMHgwQUI3LAogIHNzYW5nY2lldWNrb3JlYW46IDB4MzE0OSwKICBzc2FuZ2hpZXVoa29yZWFuOiAweDMxODUsCiAgc3NhbmdpZXVuZ2tvcmVhbjogMHgzMTgwLAogIHNzYW5na2l5ZW9ra29yZWFuOiAweDMxMzIsCiAgc3NhbmduaWV1bmtvcmVhbjogMHgzMTY1LAogIHNzYW5ncGlldXBrb3JlYW46IDB4MzE0MywKICBzc2FuZ3Npb3Nrb3JlYW46IDB4MzE0NiwKICBzc2FuZ3Rpa2V1dGtvcmVhbjogMHgzMTM4LAogIHNzdXBlcmlvcjogMHhGNkYyLAogIHN0ZXJsaW5nOiAweDAwQTMsCiAgc3Rlcmxpbmdtb25vc3BhY2U6IDB4RkZFMSwKICBzdHJva2Vsb25nb3ZlcmxheWNtYjogMHgwMzM2LAogIHN0cm9rZXNob3J0b3ZlcmxheWNtYjogMHgwMzM1LAogIHN1YnNldDogMHgyMjgyLAogIHN1YnNldG5vdGVxdWFsOiAweDIyOEEsCiAgc3Vic2V0b3JlcXVhbDogMHgyMjg2LAogIHN1Y2NlZWRzOiAweDIyN0IsCiAgc3VjaHRoYXQ6IDB4MjIwQiwKICBzdWhpcmFnYW5hOiAweDMwNTksCiAgc3VrYXRha2FuYTogMHgzMEI5LAogIHN1a2F0YWthbmFoYWxmd2lkdGg6IDB4RkY3RCwKICBzdWt1bmFyYWJpYzogMHgwNjUyLAogIHN1bW1hdGlvbjogMHgyMjExLAogIHN1bjogMHgyNjNDLAogIHN1cGVyc2V0OiAweDIyODMsCiAgc3VwZXJzZXRub3RlcXVhbDogMHgyMjhCLAogIHN1cGVyc2V0b3JlcXVhbDogMHgyMjg3LAogIHN2c3F1YXJlOiAweDMzREMsCiAgc3lvdXdhZXJhc3F1YXJlOiAweDMzN0MsCiAgdDogMHgwMDc0LAogIHRhYmVuZ2FsaTogMHgwOUE0LAogIHRhY2tkb3duOiAweDIyQTQsCiAgdGFja2xlZnQ6IDB4MjJBMywKICB0YWRldmE6IDB4MDkyNCwKICB0YWd1amFyYXRpOiAweDBBQTQsCiAgdGFndXJtdWtoaTogMHgwQTI0LAogIHRhaGFyYWJpYzogMHgwNjM3LAogIHRhaGZpbmFsYXJhYmljOiAweEZFQzIsCiAgdGFoaW5pdGlhbGFyYWJpYzogMHhGRUMzLAogIHRhaGlyYWdhbmE6IDB4MzA1RiwKICB0YWhtZWRpYWxhcmFiaWM6IDB4RkVDNCwKICB0YWlzeW91ZXJhc3F1YXJlOiAweDMzN0QsCiAgdGFrYXRha2FuYTogMHgzMEJGLAogIHRha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4MCwKICB0YXR3ZWVsYXJhYmljOiAweDA2NDAsCiAgdGF1OiAweDAzQzQsCiAgdGF2OiAweDA1RUEsCiAgdGF2ZGFnZXM6IDB4RkI0QSwKICB0YXZkYWdlc2g6IDB4RkI0QSwKICB0YXZkYWdlc2hoZWJyZXc6IDB4RkI0QSwKICB0YXZoZWJyZXc6IDB4MDVFQSwKICB0YmFyOiAweDAxNjcsCiAgdGJvcG9tb2ZvOiAweDMxMEEsCiAgdGNhcm9uOiAweDAxNjUsCiAgdGNjdXJsOiAweDAyQTgsCiAgdGNlZGlsbGE6IDB4MDE2MywKICB0Y2hlaGFyYWJpYzogMHgwNjg2LAogIHRjaGVoZmluYWxhcmFiaWM6IDB4RkI3QiwKICB0Y2hlaGluaXRpYWxhcmFiaWM6IDB4RkI3QywKICB0Y2hlaG1lZGlhbGFyYWJpYzogMHhGQjdELAogIHRjaXJjbGU6IDB4MjRFMywKICB0Y2lyY3VtZmxleGJlbG93OiAweDFFNzEsCiAgdGNvbW1hYWNjZW50OiAweDAxNjMsCiAgdGRpZXJlc2lzOiAweDFFOTcsCiAgdGRvdGFjY2VudDogMHgxRTZCLAogIHRkb3RiZWxvdzogMHgxRTZELAogIHRlY3lyaWxsaWM6IDB4MDQ0MiwKICB0ZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0QUQsCiAgdGVoYXJhYmljOiAweDA2MkEsCiAgdGVoZmluYWxhcmFiaWM6IDB4RkU5NiwKICB0ZWhoYWhpbml0aWFsYXJhYmljOiAweEZDQTIsCiAgdGVoaGFoaXNvbGF0ZWRhcmFiaWM6IDB4RkMwQywKICB0ZWhpbml0aWFsYXJhYmljOiAweEZFOTcsCiAgdGVoaXJhZ2FuYTogMHgzMDY2LAogIHRlaGplZW1pbml0aWFsYXJhYmljOiAweEZDQTEsCiAgdGVoamVlbWlzb2xhdGVkYXJhYmljOiAweEZDMEIsCiAgdGVobWFyYnV0YWFyYWJpYzogMHgwNjI5LAogIHRlaG1hcmJ1dGFmaW5hbGFyYWJpYzogMHhGRTk0LAogIHRlaG1lZGlhbGFyYWJpYzogMHhGRTk4LAogIHRlaG1lZW1pbml0aWFsYXJhYmljOiAweEZDQTQsCiAgdGVobWVlbWlzb2xhdGVkYXJhYmljOiAweEZDMEUsCiAgdGVobm9vbmZpbmFsYXJhYmljOiAweEZDNzMsCiAgdGVrYXRha2FuYTogMHgzMEM2LAogIHRla2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4MywKICB0ZWxlcGhvbmU6IDB4MjEyMSwKICB0ZWxlcGhvbmVibGFjazogMHgyNjBFLAogIHRlbGlzaGFnZWRvbGFoZWJyZXc6IDB4MDVBMCwKICB0ZWxpc2hhcWV0YW5haGVicmV3OiAweDA1QTksCiAgdGVuY2lyY2xlOiAweDI0NjksCiAgdGVuaWRlb2dyYXBoaWNwYXJlbjogMHgzMjI5LAogIHRlbnBhcmVuOiAweDI0N0QsCiAgdGVucGVyaW9kOiAweDI0OTEsCiAgdGVucm9tYW46IDB4MjE3OSwKICB0ZXNoOiAweDAyQTcsCiAgdGV0OiAweDA1RDgsCiAgdGV0ZGFnZXNoOiAweEZCMzgsCiAgdGV0ZGFnZXNoaGVicmV3OiAweEZCMzgsCiAgdGV0aGVicmV3OiAweDA1RDgsCiAgdGV0c2VjeXJpbGxpYzogMHgwNEI1LAogIHRldmlyaGVicmV3OiAweDA1OUIsCiAgdGV2aXJsZWZ0aGVicmV3OiAweDA1OUIsCiAgdGhhYmVuZ2FsaTogMHgwOUE1LAogIHRoYWRldmE6IDB4MDkyNSwKICB0aGFndWphcmF0aTogMHgwQUE1LAogIHRoYWd1cm11a2hpOiAweDBBMjUsCiAgdGhhbGFyYWJpYzogMHgwNjMwLAogIHRoYWxmaW5hbGFyYWJpYzogMHhGRUFDLAogIHRoYW50aGFraGF0bG93bGVmdHRoYWk6IDB4Rjg5OCwKICB0aGFudGhha2hhdGxvd3JpZ2h0dGhhaTogMHhGODk3LAogIHRoYW50aGFraGF0dGhhaTogMHgwRTRDLAogIHRoYW50aGFraGF0dXBwZXJsZWZ0dGhhaTogMHhGODk2LAogIHRoZWhhcmFiaWM6IDB4MDYyQiwKICB0aGVoZmluYWxhcmFiaWM6IDB4RkU5QSwKICB0aGVoaW5pdGlhbGFyYWJpYzogMHhGRTlCLAogIHRoZWhtZWRpYWxhcmFiaWM6IDB4RkU5QywKICB0aGVyZWV4aXN0czogMHgyMjAzLAogIHRoZXJlZm9yZTogMHgyMjM0LAogIHRoZXRhOiAweDAzQjgsCiAgdGhldGExOiAweDAzRDEsCiAgdGhldGFzeW1ib2xncmVlazogMHgwM0QxLAogIHRoaWV1dGhhY2lyY2xla29yZWFuOiAweDMyNzksCiAgdGhpZXV0aGFwYXJlbmtvcmVhbjogMHgzMjE5LAogIHRoaWV1dGhjaXJjbGVrb3JlYW46IDB4MzI2QiwKICB0aGlldXRoa29yZWFuOiAweDMxNEMsCiAgdGhpZXV0aHBhcmVua29yZWFuOiAweDMyMEIsCiAgdGhpcnRlZW5jaXJjbGU6IDB4MjQ2QywKICB0aGlydGVlbnBhcmVuOiAweDI0ODAsCiAgdGhpcnRlZW5wZXJpb2Q6IDB4MjQ5NCwKICB0aG9uYW5nbW9udGhvdGhhaTogMHgwRTExLAogIHRob29rOiAweDAxQUQsCiAgdGhvcGh1dGhhb3RoYWk6IDB4MEUxMiwKICB0aG9ybjogMHgwMEZFLAogIHRob3RoYWhhbnRoYWk6IDB4MEUxNywKICB0aG90aGFudGhhaTogMHgwRTEwLAogIHRob3Rob25ndGhhaTogMHgwRTE4LAogIHRob3RodW5ndGhhaTogMHgwRTE2LAogIHRob3VzYW5kY3lyaWxsaWM6IDB4MDQ4MiwKICB0aG91c2FuZHNzZXBhcmF0b3JhcmFiaWM6IDB4MDY2QywKICB0aG91c2FuZHNzZXBhcmF0b3JwZXJzaWFuOiAweDA2NkMsCiAgdGhyZWU6IDB4MDAzMywKICB0aHJlZWFyYWJpYzogMHgwNjYzLAogIHRocmVlYmVuZ2FsaTogMHgwOUU5LAogIHRocmVlY2lyY2xlOiAweDI0NjIsCiAgdGhyZWVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmOiAweDI3OEMsCiAgdGhyZWVkZXZhOiAweDA5NjksCiAgdGhyZWVlaWdodGhzOiAweDIxNUMsCiAgdGhyZWVndWphcmF0aTogMHgwQUU5LAogIHRocmVlZ3VybXVraGk6IDB4MEE2OSwKICB0aHJlZWhhY2thcmFiaWM6IDB4MDY2MywKICB0aHJlZWhhbmd6aG91OiAweDMwMjMsCiAgdGhyZWVpZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjIsCiAgdGhyZWVpbmZlcmlvcjogMHgyMDgzLAogIHRocmVlbW9ub3NwYWNlOiAweEZGMTMsCiAgdGhyZWVudW1lcmF0b3JiZW5nYWxpOiAweDA5RjYsCiAgdGhyZWVvbGRzdHlsZTogMHhGNzMzLAogIHRocmVlcGFyZW46IDB4MjQ3NiwKICB0aHJlZXBlcmlvZDogMHgyNDhBLAogIHRocmVlcGVyc2lhbjogMHgwNkYzLAogIHRocmVlcXVhcnRlcnM6IDB4MDBCRSwKICB0aHJlZXF1YXJ0ZXJzZW1kYXNoOiAweEY2REUsCiAgdGhyZWVyb21hbjogMHgyMTcyLAogIHRocmVlc3VwZXJpb3I6IDB4MDBCMywKICB0aHJlZXRoYWk6IDB4MEU1MywKICB0aHpzcXVhcmU6IDB4MzM5NCwKICB0aWhpcmFnYW5hOiAweDMwNjEsCiAgdGlrYXRha2FuYTogMHgzMEMxLAogIHRpa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY4MSwKICB0aWtldXRhY2lyY2xla29yZWFuOiAweDMyNzAsCiAgdGlrZXV0YXBhcmVua29yZWFuOiAweDMyMTAsCiAgdGlrZXV0Y2lyY2xla29yZWFuOiAweDMyNjIsCiAgdGlrZXV0a29yZWFuOiAweDMxMzcsCiAgdGlrZXV0cGFyZW5rb3JlYW46IDB4MzIwMiwKICB0aWxkZTogMHgwMkRDLAogIHRpbGRlYmVsb3djbWI6IDB4MDMzMCwKICB0aWxkZWNtYjogMHgwMzAzLAogIHRpbGRlY29tYjogMHgwMzAzLAogIHRpbGRlZG91YmxlY21iOiAweDAzNjAsCiAgdGlsZGVvcGVyYXRvcjogMHgyMjNDLAogIHRpbGRlb3ZlcmxheWNtYjogMHgwMzM0LAogIHRpbGRldmVydGljYWxjbWI6IDB4MDMzRSwKICB0aW1lc2NpcmNsZTogMHgyMjk3LAogIHRpcGVoYWhlYnJldzogMHgwNTk2LAogIHRpcGVoYWxlZnRoZWJyZXc6IDB4MDU5NiwKICB0aXBwaWd1cm11a2hpOiAweDBBNzAsCiAgdGl0bG9jeXJpbGxpY2NtYjogMHgwNDgzLAogIHRpd25hcm1lbmlhbjogMHgwNTdGLAogIHRsaW5lYmVsb3c6IDB4MUU2RiwKICB0bW9ub3NwYWNlOiAweEZGNTQsCiAgdG9hcm1lbmlhbjogMHgwNTY5LAogIHRvaGlyYWdhbmE6IDB4MzA2OCwKICB0b2thdGFrYW5hOiAweDMwQzgsCiAgdG9rYXRha2FuYWhhbGZ3aWR0aDogMHhGRjg0LAogIHRvbmViYXJleHRyYWhpZ2htb2Q6IDB4MDJFNSwKICB0b25lYmFyZXh0cmFsb3dtb2Q6IDB4MDJFOSwKICB0b25lYmFyaGlnaG1vZDogMHgwMkU2LAogIHRvbmViYXJsb3dtb2Q6IDB4MDJFOCwKICB0b25lYmFybWlkbW9kOiAweDAyRTcsCiAgdG9uZWZpdmU6IDB4MDFCRCwKICB0b25lc2l4OiAweDAxODUsCiAgdG9uZXR3bzogMHgwMUE4LAogIHRvbm9zOiAweDAzODQsCiAgdG9uc3F1YXJlOiAweDMzMjcsCiAgdG9wYXRha3RoYWk6IDB4MEUwRiwKICB0b3J0b2lzZXNoZWxsYnJhY2tldGxlZnQ6IDB4MzAxNCwKICB0b3J0b2lzZXNoZWxsYnJhY2tldGxlZnRzbWFsbDogMHhGRTVELAogIHRvcnRvaXNlc2hlbGxicmFja2V0bGVmdHZlcnRpY2FsOiAweEZFMzksCiAgdG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodDogMHgzMDE1LAogIHRvcnRvaXNlc2hlbGxicmFja2V0cmlnaHRzbWFsbDogMHhGRTVFLAogIHRvcnRvaXNlc2hlbGxicmFja2V0cmlnaHR2ZXJ0aWNhbDogMHhGRTNBLAogIHRvdGFvdGhhaTogMHgwRTE1LAogIHRwYWxhdGFsaG9vazogMHgwMUFCLAogIHRwYXJlbjogMHgyNEFGLAogIHRyYWRlbWFyazogMHgyMTIyLAogIHRyYWRlbWFya3NhbnM6IDB4RjhFQSwKICB0cmFkZW1hcmtzZXJpZjogMHhGNkRCLAogIHRyZXRyb2ZsZXhob29rOiAweDAyODgsCiAgdHJpYWdkbjogMHgyNUJDLAogIHRyaWFnbGY6IDB4MjVDNCwKICB0cmlhZ3J0OiAweDI1QkEsCiAgdHJpYWd1cDogMHgyNUIyLAogIHRzOiAweDAyQTYsCiAgdHNhZGk6IDB4MDVFNiwKICB0c2FkaWRhZ2VzaDogMHhGQjQ2LAogIHRzYWRpZGFnZXNoaGVicmV3OiAweEZCNDYsCiAgdHNhZGloZWJyZXc6IDB4MDVFNiwKICB0c2VjeXJpbGxpYzogMHgwNDQ2LAogIHRzZXJlOiAweDA1QjUsCiAgdHNlcmUxMjogMHgwNUI1LAogIHRzZXJlMWU6IDB4MDVCNSwKICB0c2VyZTJiOiAweDA1QjUsCiAgdHNlcmVoZWJyZXc6IDB4MDVCNSwKICB0c2VyZW5hcnJvd2hlYnJldzogMHgwNUI1LAogIHRzZXJlcXVhcnRlcmhlYnJldzogMHgwNUI1LAogIHRzZXJld2lkZWhlYnJldzogMHgwNUI1LAogIHRzaGVjeXJpbGxpYzogMHgwNDVCLAogIHRzdXBlcmlvcjogMHhGNkYzLAogIHR0YWJlbmdhbGk6IDB4MDk5RiwKICB0dGFkZXZhOiAweDA5MUYsCiAgdHRhZ3VqYXJhdGk6IDB4MEE5RiwKICB0dGFndXJtdWtoaTogMHgwQTFGLAogIHR0ZWhhcmFiaWM6IDB4MDY3OSwKICB0dGVoZmluYWxhcmFiaWM6IDB4RkI2NywKICB0dGVoaW5pdGlhbGFyYWJpYzogMHhGQjY4LAogIHR0ZWhtZWRpYWxhcmFiaWM6IDB4RkI2OSwKICB0dGhhYmVuZ2FsaTogMHgwOUEwLAogIHR0aGFkZXZhOiAweDA5MjAsCiAgdHRoYWd1amFyYXRpOiAweDBBQTAsCiAgdHRoYWd1cm11a2hpOiAweDBBMjAsCiAgdHR1cm5lZDogMHgwMjg3LAogIHR1aGlyYWdhbmE6IDB4MzA2NCwKICB0dWthdGFrYW5hOiAweDMwQzQsCiAgdHVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjgyLAogIHR1c21hbGxoaXJhZ2FuYTogMHgzMDYzLAogIHR1c21hbGxrYXRha2FuYTogMHgzMEMzLAogIHR1c21hbGxrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjZGLAogIHR3ZWx2ZWNpcmNsZTogMHgyNDZCLAogIHR3ZWx2ZXBhcmVuOiAweDI0N0YsCiAgdHdlbHZlcGVyaW9kOiAweDI0OTMsCiAgdHdlbHZlcm9tYW46IDB4MjE3QiwKICB0d2VudHljaXJjbGU6IDB4MjQ3MywKICB0d2VudHloYW5nemhvdTogMHg1MzQ0LAogIHR3ZW50eXBhcmVuOiAweDI0ODcsCiAgdHdlbnR5cGVyaW9kOiAweDI0OUIsCiAgdHdvOiAweDAwMzIsCiAgdHdvYXJhYmljOiAweDA2NjIsCiAgdHdvYmVuZ2FsaTogMHgwOUU4LAogIHR3b2NpcmNsZTogMHgyNDYxLAogIHR3b2NpcmNsZWludmVyc2VzYW5zc2VyaWY6IDB4Mjc4QiwKICB0d29kZXZhOiAweDA5NjgsCiAgdHdvZG90ZW5sZWFkZXI6IDB4MjAyNSwKICB0d29kb3RsZWFkZXI6IDB4MjAyNSwKICB0d29kb3RsZWFkZXJ2ZXJ0aWNhbDogMHhGRTMwLAogIHR3b2d1amFyYXRpOiAweDBBRTgsCiAgdHdvZ3VybXVraGk6IDB4MEE2OCwKICB0d29oYWNrYXJhYmljOiAweDA2NjIsCiAgdHdvaGFuZ3pob3U6IDB4MzAyMiwKICB0d29pZGVvZ3JhcGhpY3BhcmVuOiAweDMyMjEsCiAgdHdvaW5mZXJpb3I6IDB4MjA4MiwKICB0d29tb25vc3BhY2U6IDB4RkYxMiwKICB0d29udW1lcmF0b3JiZW5nYWxpOiAweDA5RjUsCiAgdHdvb2xkc3R5bGU6IDB4RjczMiwKICB0d29wYXJlbjogMHgyNDc1LAogIHR3b3BlcmlvZDogMHgyNDg5LAogIHR3b3BlcnNpYW46IDB4MDZGMiwKICB0d29yb21hbjogMHgyMTcxLAogIHR3b3N0cm9rZTogMHgwMUJCLAogIHR3b3N1cGVyaW9yOiAweDAwQjIsCiAgdHdvdGhhaTogMHgwRTUyLAogIHR3b3RoaXJkczogMHgyMTU0LAogIHU6IDB4MDA3NSwKICB1YWN1dGU6IDB4MDBGQSwKICB1YmFyOiAweDAyODksCiAgdWJlbmdhbGk6IDB4MDk4OSwKICB1Ym9wb21vZm86IDB4MzEyOCwKICB1YnJldmU6IDB4MDE2RCwKICB1Y2Fyb246IDB4MDFENCwKICB1Y2lyY2xlOiAweDI0RTQsCiAgdWNpcmN1bWZsZXg6IDB4MDBGQiwKICB1Y2lyY3VtZmxleGJlbG93OiAweDFFNzcsCiAgdWN5cmlsbGljOiAweDA0NDMsCiAgdWRhdHRhZGV2YTogMHgwOTUxLAogIHVkYmxhY3V0ZTogMHgwMTcxLAogIHVkYmxncmF2ZTogMHgwMjE1LAogIHVkZXZhOiAweDA5MDksCiAgdWRpZXJlc2lzOiAweDAwRkMsCiAgdWRpZXJlc2lzYWN1dGU6IDB4MDFEOCwKICB1ZGllcmVzaXNiZWxvdzogMHgxRTczLAogIHVkaWVyZXNpc2Nhcm9uOiAweDAxREEsCiAgdWRpZXJlc2lzY3lyaWxsaWM6IDB4MDRGMSwKICB1ZGllcmVzaXNncmF2ZTogMHgwMURDLAogIHVkaWVyZXNpc21hY3JvbjogMHgwMUQ2LAogIHVkb3RiZWxvdzogMHgxRUU1LAogIHVncmF2ZTogMHgwMEY5LAogIHVndWphcmF0aTogMHgwQTg5LAogIHVndXJtdWtoaTogMHgwQTA5LAogIHVoaXJhZ2FuYTogMHgzMDQ2LAogIHVob29rYWJvdmU6IDB4MUVFNywKICB1aG9ybjogMHgwMUIwLAogIHVob3JuYWN1dGU6IDB4MUVFOSwKICB1aG9ybmRvdGJlbG93OiAweDFFRjEsCiAgdWhvcm5ncmF2ZTogMHgxRUVCLAogIHVob3JuaG9va2Fib3ZlOiAweDFFRUQsCiAgdWhvcm50aWxkZTogMHgxRUVGLAogIHVodW5nYXJ1bWxhdXQ6IDB4MDE3MSwKICB1aHVuZ2FydW1sYXV0Y3lyaWxsaWM6IDB4MDRGMywKICB1aW52ZXJ0ZWRicmV2ZTogMHgwMjE3LAogIHVrYXRha2FuYTogMHgzMEE2LAogIHVrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjczLAogIHVrY3lyaWxsaWM6IDB4MDQ3OSwKICB1a29yZWFuOiAweDMxNUMsCiAgdW1hY3JvbjogMHgwMTZCLAogIHVtYWNyb25jeXJpbGxpYzogMHgwNEVGLAogIHVtYWNyb25kaWVyZXNpczogMHgxRTdCLAogIHVtYXRyYWd1cm11a2hpOiAweDBBNDEsCiAgdW1vbm9zcGFjZTogMHhGRjU1LAogIHVuZGVyc2NvcmU6IDB4MDA1RiwKICB1bmRlcnNjb3JlZGJsOiAweDIwMTcsCiAgdW5kZXJzY29yZW1vbm9zcGFjZTogMHhGRjNGLAogIHVuZGVyc2NvcmV2ZXJ0aWNhbDogMHhGRTMzLAogIHVuZGVyc2NvcmV3YXZ5OiAweEZFNEYsCiAgdW5pb246IDB4MjIyQSwKICB1bml2ZXJzYWw6IDB4MjIwMCwKICB1b2dvbmVrOiAweDAxNzMsCiAgdXBhcmVuOiAweDI0QjAsCiAgdXBibG9jazogMHgyNTgwLAogIHVwcGVyZG90aGVicmV3OiAweDA1QzQsCiAgdXBzaWxvbjogMHgwM0M1LAogIHVwc2lsb25kaWVyZXNpczogMHgwM0NCLAogIHVwc2lsb25kaWVyZXNpc3Rvbm9zOiAweDAzQjAsCiAgdXBzaWxvbmxhdGluOiAweDAyOEEsCiAgdXBzaWxvbnRvbm9zOiAweDAzQ0QsCiAgdXB0YWNrYmVsb3djbWI6IDB4MDMxRCwKICB1cHRhY2ttb2Q6IDB4MDJENCwKICB1cmFndXJtdWtoaTogMHgwQTczLAogIHVyaW5nOiAweDAxNkYsCiAgdXNob3J0Y3lyaWxsaWM6IDB4MDQ1RSwKICB1c21hbGxoaXJhZ2FuYTogMHgzMDQ1LAogIHVzbWFsbGthdGFrYW5hOiAweDMwQTUsCiAgdXNtYWxsa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2OSwKICB1c3RyYWlnaHRjeXJpbGxpYzogMHgwNEFGLAogIHVzdHJhaWdodHN0cm9rZWN5cmlsbGljOiAweDA0QjEsCiAgdXRpbGRlOiAweDAxNjksCiAgdXRpbGRlYWN1dGU6IDB4MUU3OSwKICB1dGlsZGViZWxvdzogMHgxRTc1LAogIHV1YmVuZ2FsaTogMHgwOThBLAogIHV1ZGV2YTogMHgwOTBBLAogIHV1Z3VqYXJhdGk6IDB4MEE4QSwKICB1dWd1cm11a2hpOiAweDBBMEEsCiAgdXVtYXRyYWd1cm11a2hpOiAweDBBNDIsCiAgdXV2b3dlbHNpZ25iZW5nYWxpOiAweDA5QzIsCiAgdXV2b3dlbHNpZ25kZXZhOiAweDA5NDIsCiAgdXV2b3dlbHNpZ25ndWphcmF0aTogMHgwQUMyLAogIHV2b3dlbHNpZ25iZW5nYWxpOiAweDA5QzEsCiAgdXZvd2Vsc2lnbmRldmE6IDB4MDk0MSwKICB1dm93ZWxzaWduZ3VqYXJhdGk6IDB4MEFDMSwKICB2OiAweDAwNzYsCiAgdmFkZXZhOiAweDA5MzUsCiAgdmFndWphcmF0aTogMHgwQUI1LAogIHZhZ3VybXVraGk6IDB4MEEzNSwKICB2YWthdGFrYW5hOiAweDMwRjcsCiAgdmF2OiAweDA1RDUsCiAgdmF2ZGFnZXNoOiAweEZCMzUsCiAgdmF2ZGFnZXNoNjU6IDB4RkIzNSwKICB2YXZkYWdlc2hoZWJyZXc6IDB4RkIzNSwKICB2YXZoZWJyZXc6IDB4MDVENSwKICB2YXZob2xhbTogMHhGQjRCLAogIHZhdmhvbGFtaGVicmV3OiAweEZCNEIsCiAgdmF2dmF2aGVicmV3OiAweDA1RjAsCiAgdmF2eW9kaGVicmV3OiAweDA1RjEsCiAgdmNpcmNsZTogMHgyNEU1LAogIHZkb3RiZWxvdzogMHgxRTdGLAogIHZlY3lyaWxsaWM6IDB4MDQzMiwKICB2ZWhhcmFiaWM6IDB4MDZBNCwKICB2ZWhmaW5hbGFyYWJpYzogMHhGQjZCLAogIHZlaGluaXRpYWxhcmFiaWM6IDB4RkI2QywKICB2ZWhtZWRpYWxhcmFiaWM6IDB4RkI2RCwKICB2ZWthdGFrYW5hOiAweDMwRjksCiAgdmVudXM6IDB4MjY0MCwKICB2ZXJ0aWNhbGJhcjogMHgwMDdDLAogIHZlcnRpY2FsbGluZWFib3ZlY21iOiAweDAzMEQsCiAgdmVydGljYWxsaW5lYmVsb3djbWI6IDB4MDMyOSwKICB2ZXJ0aWNhbGxpbmVsb3dtb2Q6IDB4MDJDQywKICB2ZXJ0aWNhbGxpbmVtb2Q6IDB4MDJDOCwKICB2ZXdhcm1lbmlhbjogMHgwNTdFLAogIHZob29rOiAweDAyOEIsCiAgdmlrYXRha2FuYTogMHgzMEY4LAogIHZpcmFtYWJlbmdhbGk6IDB4MDlDRCwKICB2aXJhbWFkZXZhOiAweDA5NEQsCiAgdmlyYW1hZ3VqYXJhdGk6IDB4MEFDRCwKICB2aXNhcmdhYmVuZ2FsaTogMHgwOTgzLAogIHZpc2FyZ2FkZXZhOiAweDA5MDMsCiAgdmlzYXJnYWd1amFyYXRpOiAweDBBODMsCiAgdm1vbm9zcGFjZTogMHhGRjU2LAogIHZvYXJtZW5pYW46IDB4MDU3OCwKICB2b2ljZWRpdGVyYXRpb25oaXJhZ2FuYTogMHgzMDlFLAogIHZvaWNlZGl0ZXJhdGlvbmthdGFrYW5hOiAweDMwRkUsCiAgdm9pY2VkbWFya2thbmE6IDB4MzA5QiwKICB2b2ljZWRtYXJra2FuYWhhbGZ3aWR0aDogMHhGRjlFLAogIHZva2F0YWthbmE6IDB4MzBGQSwKICB2cGFyZW46IDB4MjRCMSwKICB2dGlsZGU6IDB4MUU3RCwKICB2dHVybmVkOiAweDAyOEMsCiAgdnVoaXJhZ2FuYTogMHgzMDk0LAogIHZ1a2F0YWthbmE6IDB4MzBGNCwKICB3OiAweDAwNzcsCiAgd2FjdXRlOiAweDFFODMsCiAgd2Fla29yZWFuOiAweDMxNTksCiAgd2FoaXJhZ2FuYTogMHgzMDhGLAogIHdha2F0YWthbmE6IDB4MzBFRiwKICB3YWthdGFrYW5haGFsZndpZHRoOiAweEZGOUMsCiAgd2Frb3JlYW46IDB4MzE1OCwKICB3YXNtYWxsaGlyYWdhbmE6IDB4MzA4RSwKICB3YXNtYWxsa2F0YWthbmE6IDB4MzBFRSwKICB3YXR0b3NxdWFyZTogMHgzMzU3LAogIHdhdmVkYXNoOiAweDMwMUMsCiAgd2F2eXVuZGVyc2NvcmV2ZXJ0aWNhbDogMHhGRTM0LAogIHdhd2FyYWJpYzogMHgwNjQ4LAogIHdhd2ZpbmFsYXJhYmljOiAweEZFRUUsCiAgd2F3aGFtemFhYm92ZWFyYWJpYzogMHgwNjI0LAogIHdhd2hhbXphYWJvdmVmaW5hbGFyYWJpYzogMHhGRTg2LAogIHdic3F1YXJlOiAweDMzREQsCiAgd2NpcmNsZTogMHgyNEU2LAogIHdjaXJjdW1mbGV4OiAweDAxNzUsCiAgd2RpZXJlc2lzOiAweDFFODUsCiAgd2RvdGFjY2VudDogMHgxRTg3LAogIHdkb3RiZWxvdzogMHgxRTg5LAogIHdlaGlyYWdhbmE6IDB4MzA5MSwKICB3ZWllcnN0cmFzczogMHgyMTE4LAogIHdla2F0YWthbmE6IDB4MzBGMSwKICB3ZWtvcmVhbjogMHgzMTVFLAogIHdlb2tvcmVhbjogMHgzMTVELAogIHdncmF2ZTogMHgxRTgxLAogIHdoaXRlYnVsbGV0OiAweDI1RTYsCiAgd2hpdGVjaXJjbGU6IDB4MjVDQiwKICB3aGl0ZWNpcmNsZWludmVyc2U6IDB4MjVEOSwKICB3aGl0ZWNvcm5lcmJyYWNrZXRsZWZ0OiAweDMwMEUsCiAgd2hpdGVjb3JuZXJicmFja2V0bGVmdHZlcnRpY2FsOiAweEZFNDMsCiAgd2hpdGVjb3JuZXJicmFja2V0cmlnaHQ6IDB4MzAwRiwKICB3aGl0ZWNvcm5lcmJyYWNrZXRyaWdodHZlcnRpY2FsOiAweEZFNDQsCiAgd2hpdGVkaWFtb25kOiAweDI1QzcsCiAgd2hpdGVkaWFtb25kY29udGFpbmluZ2JsYWNrc21hbGxkaWFtb25kOiAweDI1QzgsCiAgd2hpdGVkb3ducG9pbnRpbmdzbWFsbHRyaWFuZ2xlOiAweDI1QkYsCiAgd2hpdGVkb3ducG9pbnRpbmd0cmlhbmdsZTogMHgyNUJELAogIHdoaXRlbGVmdHBvaW50aW5nc21hbGx0cmlhbmdsZTogMHgyNUMzLAogIHdoaXRlbGVmdHBvaW50aW5ndHJpYW5nbGU6IDB4MjVDMSwKICB3aGl0ZWxlbnRpY3VsYXJicmFja2V0bGVmdDogMHgzMDE2LAogIHdoaXRlbGVudGljdWxhcmJyYWNrZXRyaWdodDogMHgzMDE3LAogIHdoaXRlcmlnaHRwb2ludGluZ3NtYWxsdHJpYW5nbGU6IDB4MjVCOSwKICB3aGl0ZXJpZ2h0cG9pbnRpbmd0cmlhbmdsZTogMHgyNUI3LAogIHdoaXRlc21hbGxzcXVhcmU6IDB4MjVBQiwKICB3aGl0ZXNtaWxpbmdmYWNlOiAweDI2M0EsCiAgd2hpdGVzcXVhcmU6IDB4MjVBMSwKICB3aGl0ZXN0YXI6IDB4MjYwNiwKICB3aGl0ZXRlbGVwaG9uZTogMHgyNjBGLAogIHdoaXRldG9ydG9pc2VzaGVsbGJyYWNrZXRsZWZ0OiAweDMwMTgsCiAgd2hpdGV0b3J0b2lzZXNoZWxsYnJhY2tldHJpZ2h0OiAweDMwMTksCiAgd2hpdGV1cHBvaW50aW5nc21hbGx0cmlhbmdsZTogMHgyNUI1LAogIHdoaXRldXBwb2ludGluZ3RyaWFuZ2xlOiAweDI1QjMsCiAgd2loaXJhZ2FuYTogMHgzMDkwLAogIHdpa2F0YWthbmE6IDB4MzBGMCwKICB3aWtvcmVhbjogMHgzMTVGLAogIHdtb25vc3BhY2U6IDB4RkY1NywKICB3b2hpcmFnYW5hOiAweDMwOTIsCiAgd29rYXRha2FuYTogMHgzMEYyLAogIHdva2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2NiwKICB3b246IDB4MjBBOSwKICB3b25tb25vc3BhY2U6IDB4RkZFNiwKICB3b3dhZW50aGFpOiAweDBFMjcsCiAgd3BhcmVuOiAweDI0QjIsCiAgd3Jpbmc6IDB4MUU5OCwKICB3c3VwZXJpb3I6IDB4MDJCNywKICB3dHVybmVkOiAweDAyOEQsCiAgd3lubjogMHgwMUJGLAogIHg6IDB4MDA3OCwKICB4YWJvdmVjbWI6IDB4MDMzRCwKICB4Ym9wb21vZm86IDB4MzExMiwKICB4Y2lyY2xlOiAweDI0RTcsCiAgeGRpZXJlc2lzOiAweDFFOEQsCiAgeGRvdGFjY2VudDogMHgxRThCLAogIHhlaGFybWVuaWFuOiAweDA1NkQsCiAgeGk6IDB4MDNCRSwKICB4bW9ub3NwYWNlOiAweEZGNTgsCiAgeHBhcmVuOiAweDI0QjMsCiAgeHN1cGVyaW9yOiAweDAyRTMsCiAgeTogMHgwMDc5LAogIHlhYWRvc3F1YXJlOiAweDMzNEUsCiAgeWFiZW5nYWxpOiAweDA5QUYsCiAgeWFjdXRlOiAweDAwRkQsCiAgeWFkZXZhOiAweDA5MkYsCiAgeWFla29yZWFuOiAweDMxNTIsCiAgeWFndWphcmF0aTogMHgwQUFGLAogIHlhZ3VybXVraGk6IDB4MEEyRiwKICB5YWhpcmFnYW5hOiAweDMwODQsCiAgeWFrYXRha2FuYTogMHgzMEU0LAogIHlha2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5NCwKICB5YWtvcmVhbjogMHgzMTUxLAogIHlhbWFra2FudGhhaTogMHgwRTRFLAogIHlhc21hbGxoaXJhZ2FuYTogMHgzMDgzLAogIHlhc21hbGxrYXRha2FuYTogMHgzMEUzLAogIHlhc21hbGxrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjZDLAogIHlhdGN5cmlsbGljOiAweDA0NjMsCiAgeWNpcmNsZTogMHgyNEU4LAogIHljaXJjdW1mbGV4OiAweDAxNzcsCiAgeWRpZXJlc2lzOiAweDAwRkYsCiAgeWRvdGFjY2VudDogMHgxRThGLAogIHlkb3RiZWxvdzogMHgxRUY1LAogIHllaGFyYWJpYzogMHgwNjRBLAogIHllaGJhcnJlZWFyYWJpYzogMHgwNkQyLAogIHllaGJhcnJlZWZpbmFsYXJhYmljOiAweEZCQUYsCiAgeWVoZmluYWxhcmFiaWM6IDB4RkVGMiwKICB5ZWhoYW16YWFib3ZlYXJhYmljOiAweDA2MjYsCiAgeWVoaGFtemFhYm92ZWZpbmFsYXJhYmljOiAweEZFOEEsCiAgeWVoaGFtemFhYm92ZWluaXRpYWxhcmFiaWM6IDB4RkU4QiwKICB5ZWhoYW16YWFib3ZlbWVkaWFsYXJhYmljOiAweEZFOEMsCiAgeWVoaW5pdGlhbGFyYWJpYzogMHhGRUYzLAogIHllaG1lZGlhbGFyYWJpYzogMHhGRUY0LAogIHllaG1lZW1pbml0aWFsYXJhYmljOiAweEZDREQsCiAgeWVobWVlbWlzb2xhdGVkYXJhYmljOiAweEZDNTgsCiAgeWVobm9vbmZpbmFsYXJhYmljOiAweEZDOTQsCiAgeWVodGhyZWVkb3RzYmVsb3dhcmFiaWM6IDB4MDZEMSwKICB5ZWtvcmVhbjogMHgzMTU2LAogIHllbjogMHgwMEE1LAogIHllbm1vbm9zcGFjZTogMHhGRkU1LAogIHllb2tvcmVhbjogMHgzMTU1LAogIHllb3JpbmhpZXVoa29yZWFuOiAweDMxODYsCiAgeWVyYWhiZW55b21vaGVicmV3OiAweDA1QUEsCiAgeWVyYWhiZW55b21vbGVmdGhlYnJldzogMHgwNUFBLAogIHllcmljeXJpbGxpYzogMHgwNDRCLAogIHllcnVkaWVyZXNpc2N5cmlsbGljOiAweDA0RjksCiAgeWVzaWV1bmdrb3JlYW46IDB4MzE4MSwKICB5ZXNpZXVuZ3BhbnNpb3Nrb3JlYW46IDB4MzE4MywKICB5ZXNpZXVuZ3Npb3Nrb3JlYW46IDB4MzE4MiwKICB5ZXRpdmhlYnJldzogMHgwNTlBLAogIHlncmF2ZTogMHgxRUYzLAogIHlob29rOiAweDAxQjQsCiAgeWhvb2thYm92ZTogMHgxRUY3LAogIHlpYXJtZW5pYW46IDB4MDU3NSwKICB5aWN5cmlsbGljOiAweDA0NTcsCiAgeWlrb3JlYW46IDB4MzE2MiwKICB5aW55YW5nOiAweDI2MkYsCiAgeWl3bmFybWVuaWFuOiAweDA1ODIsCiAgeW1vbm9zcGFjZTogMHhGRjU5LAogIHlvZDogMHgwNUQ5LAogIHlvZGRhZ2VzaDogMHhGQjM5LAogIHlvZGRhZ2VzaGhlYnJldzogMHhGQjM5LAogIHlvZGhlYnJldzogMHgwNUQ5LAogIHlvZHlvZGhlYnJldzogMHgwNUYyLAogIHlvZHlvZHBhdGFoaGVicmV3OiAweEZCMUYsCiAgeW9oaXJhZ2FuYTogMHgzMDg4LAogIHlvaWtvcmVhbjogMHgzMTg5LAogIHlva2F0YWthbmE6IDB4MzBFOCwKICB5b2thdGFrYW5haGFsZndpZHRoOiAweEZGOTYsCiAgeW9rb3JlYW46IDB4MzE1QiwKICB5b3NtYWxsaGlyYWdhbmE6IDB4MzA4NywKICB5b3NtYWxsa2F0YWthbmE6IDB4MzBFNywKICB5b3NtYWxsa2F0YWthbmFoYWxmd2lkdGg6IDB4RkY2RSwKICB5b3RncmVlazogMHgwM0YzLAogIHlveWFla29yZWFuOiAweDMxODgsCiAgeW95YWtvcmVhbjogMHgzMTg3LAogIHlveWFrdGhhaTogMHgwRTIyLAogIHlveWluZ3RoYWk6IDB4MEUwRCwKICB5cGFyZW46IDB4MjRCNCwKICB5cG9nZWdyYW1tZW5pOiAweDAzN0EsCiAgeXBvZ2VncmFtbWVuaWdyZWVrY21iOiAweDAzNDUsCiAgeXI6IDB4MDFBNiwKICB5cmluZzogMHgxRTk5LAogIHlzdXBlcmlvcjogMHgwMkI4LAogIHl0aWxkZTogMHgxRUY5LAogIHl0dXJuZWQ6IDB4MDI4RSwKICB5dWhpcmFnYW5hOiAweDMwODYsCiAgeXVpa29yZWFuOiAweDMxOEMsCiAgeXVrYXRha2FuYTogMHgzMEU2LAogIHl1a2F0YWthbmFoYWxmd2lkdGg6IDB4RkY5NSwKICB5dWtvcmVhbjogMHgzMTYwLAogIHl1c2JpZ2N5cmlsbGljOiAweDA0NkIsCiAgeXVzYmlnaW90aWZpZWRjeXJpbGxpYzogMHgwNDZELAogIHl1c2xpdHRsZWN5cmlsbGljOiAweDA0NjcsCiAgeXVzbGl0dGxlaW90aWZpZWRjeXJpbGxpYzogMHgwNDY5LAogIHl1c21hbGxoaXJhZ2FuYTogMHgzMDg1LAogIHl1c21hbGxrYXRha2FuYTogMHgzMEU1LAogIHl1c21hbGxrYXRha2FuYWhhbGZ3aWR0aDogMHhGRjZELAogIHl1eWVrb3JlYW46IDB4MzE4QiwKICB5dXllb2tvcmVhbjogMHgzMThBLAogIHl5YWJlbmdhbGk6IDB4MDlERiwKICB5eWFkZXZhOiAweDA5NUYsCiAgejogMHgwMDdBLAogIHphYXJtZW5pYW46IDB4MDU2NiwKICB6YWN1dGU6IDB4MDE3QSwKICB6YWRldmE6IDB4MDk1QiwKICB6YWd1cm11a2hpOiAweDBBNUIsCiAgemFoYXJhYmljOiAweDA2MzgsCiAgemFoZmluYWxhcmFiaWM6IDB4RkVDNiwKICB6YWhpbml0aWFsYXJhYmljOiAweEZFQzcsCiAgemFoaXJhZ2FuYTogMHgzMDU2LAogIHphaG1lZGlhbGFyYWJpYzogMHhGRUM4LAogIHphaW5hcmFiaWM6IDB4MDYzMiwKICB6YWluZmluYWxhcmFiaWM6IDB4RkVCMCwKICB6YWthdGFrYW5hOiAweDMwQjYsCiAgemFxZWZnYWRvbGhlYnJldzogMHgwNTk1LAogIHphcWVmcWF0YW5oZWJyZXc6IDB4MDU5NCwKICB6YXJxYWhlYnJldzogMHgwNTk4LAogIHpheWluOiAweDA1RDYsCiAgemF5aW5kYWdlc2g6IDB4RkIzNiwKICB6YXlpbmRhZ2VzaGhlYnJldzogMHhGQjM2LAogIHpheWluaGVicmV3OiAweDA1RDYsCiAgemJvcG9tb2ZvOiAweDMxMTcsCiAgemNhcm9uOiAweDAxN0UsCiAgemNpcmNsZTogMHgyNEU5LAogIHpjaXJjdW1mbGV4OiAweDFFOTEsCiAgemN1cmw6IDB4MDI5MSwKICB6ZG90OiAweDAxN0MsCiAgemRvdGFjY2VudDogMHgwMTdDLAogIHpkb3RiZWxvdzogMHgxRTkzLAogIHplY3lyaWxsaWM6IDB4MDQzNywKICB6ZWRlc2NlbmRlcmN5cmlsbGljOiAweDA0OTksCiAgemVkaWVyZXNpc2N5cmlsbGljOiAweDA0REYsCiAgemVoaXJhZ2FuYTogMHgzMDVDLAogIHpla2F0YWthbmE6IDB4MzBCQywKICB6ZXJvOiAweDAwMzAsCiAgemVyb2FyYWJpYzogMHgwNjYwLAogIHplcm9iZW5nYWxpOiAweDA5RTYsCiAgemVyb2RldmE6IDB4MDk2NiwKICB6ZXJvZ3VqYXJhdGk6IDB4MEFFNiwKICB6ZXJvZ3VybXVraGk6IDB4MEE2NiwKICB6ZXJvaGFja2FyYWJpYzogMHgwNjYwLAogIHplcm9pbmZlcmlvcjogMHgyMDgwLAogIHplcm9tb25vc3BhY2U6IDB4RkYxMCwKICB6ZXJvb2xkc3R5bGU6IDB4RjczMCwKICB6ZXJvcGVyc2lhbjogMHgwNkYwLAogIHplcm9zdXBlcmlvcjogMHgyMDcwLAogIHplcm90aGFpOiAweDBFNTAsCiAgemVyb3dpZHRoam9pbmVyOiAweEZFRkYsCiAgemVyb3dpZHRobm9uam9pbmVyOiAweDIwMEMsCiAgemVyb3dpZHRoc3BhY2U6IDB4MjAwQiwKICB6ZXRhOiAweDAzQjYsCiAgemhib3BvbW9mbzogMHgzMTEzLAogIHpoZWFybWVuaWFuOiAweDA1NkEsCiAgemhlYnJldmVjeXJpbGxpYzogMHgwNEMyLAogIHpoZWN5cmlsbGljOiAweDA0MzYsCiAgemhlZGVzY2VuZGVyY3lyaWxsaWM6IDB4MDQ5NywKICB6aGVkaWVyZXNpc2N5cmlsbGljOiAweDA0REQsCiAgemloaXJhZ2FuYTogMHgzMDU4LAogIHppa2F0YWthbmE6IDB4MzBCOCwKICB6aW5vcmhlYnJldzogMHgwNUFFLAogIHpsaW5lYmVsb3c6IDB4MUU5NSwKICB6bW9ub3NwYWNlOiAweEZGNUEsCiAgem9oaXJhZ2FuYTogMHgzMDVFLAogIHpva2F0YWthbmE6IDB4MzBCRSwKICB6cGFyZW46IDB4MjRCNSwKICB6cmV0cm9mbGV4aG9vazogMHgwMjkwLAogIHpzdHJva2U6IDB4MDFCNiwKICB6dWhpcmFnYW5hOiAweDMwNUEsCiAgenVrYXRha2FuYTogMHgzMEJBLAogICcubm90ZGVmJzogMHgwMDAwCn07Cgp2YXIgRGluZ2JhdHNHbHlwaHNVbmljb2RlID0gewogIHNwYWNlOiAweDAwMjAsCiAgYTE6IDB4MjcwMSwKICBhMjogMHgyNzAyLAogIGEyMDI6IDB4MjcwMywKICBhMzogMHgyNzA0LAogIGE0OiAweDI2MEUsCiAgYTU6IDB4MjcwNiwKICBhMTE5OiAweDI3MDcsCiAgYTExODogMHgyNzA4LAogIGExMTc6IDB4MjcwOSwKICBhMTE6IDB4MjYxQiwKICBhMTI6IDB4MjYxRSwKICBhMTM6IDB4MjcwQywKICBhMTQ6IDB4MjcwRCwKICBhMTU6IDB4MjcwRSwKICBhMTY6IDB4MjcwRiwKICBhMTA1OiAweDI3MTAsCiAgYTE3OiAweDI3MTEsCiAgYTE4OiAweDI3MTIsCiAgYTE5OiAweDI3MTMsCiAgYTIwOiAweDI3MTQsCiAgYTIxOiAweDI3MTUsCiAgYTIyOiAweDI3MTYsCiAgYTIzOiAweDI3MTcsCiAgYTI0OiAweDI3MTgsCiAgYTI1OiAweDI3MTksCiAgYTI2OiAweDI3MUEsCiAgYTI3OiAweDI3MUIsCiAgYTI4OiAweDI3MUMsCiAgYTY6IDB4MjcxRCwKICBhNzogMHgyNzFFLAogIGE4OiAweDI3MUYsCiAgYTk6IDB4MjcyMCwKICBhMTA6IDB4MjcyMSwKICBhMjk6IDB4MjcyMiwKICBhMzA6IDB4MjcyMywKICBhMzE6IDB4MjcyNCwKICBhMzI6IDB4MjcyNSwKICBhMzM6IDB4MjcyNiwKICBhMzQ6IDB4MjcyNywKICBhMzU6IDB4MjYwNSwKICBhMzY6IDB4MjcyOSwKICBhMzc6IDB4MjcyQSwKICBhMzg6IDB4MjcyQiwKICBhMzk6IDB4MjcyQywKICBhNDA6IDB4MjcyRCwKICBhNDE6IDB4MjcyRSwKICBhNDI6IDB4MjcyRiwKICBhNDM6IDB4MjczMCwKICBhNDQ6IDB4MjczMSwKICBhNDU6IDB4MjczMiwKICBhNDY6IDB4MjczMywKICBhNDc6IDB4MjczNCwKICBhNDg6IDB4MjczNSwKICBhNDk6IDB4MjczNiwKICBhNTA6IDB4MjczNywKICBhNTE6IDB4MjczOCwKICBhNTI6IDB4MjczOSwKICBhNTM6IDB4MjczQSwKICBhNTQ6IDB4MjczQiwKICBhNTU6IDB4MjczQywKICBhNTY6IDB4MjczRCwKICBhNTc6IDB4MjczRSwKICBhNTg6IDB4MjczRiwKICBhNTk6IDB4Mjc0MCwKICBhNjA6IDB4Mjc0MSwKICBhNjE6IDB4Mjc0MiwKICBhNjI6IDB4Mjc0MywKICBhNjM6IDB4Mjc0NCwKICBhNjQ6IDB4Mjc0NSwKICBhNjU6IDB4Mjc0NiwKICBhNjY6IDB4Mjc0NywKICBhNjc6IDB4Mjc0OCwKICBhNjg6IDB4Mjc0OSwKICBhNjk6IDB4Mjc0QSwKICBhNzA6IDB4Mjc0QiwKICBhNzE6IDB4MjVDRiwKICBhNzI6IDB4Mjc0RCwKICBhNzM6IDB4MjVBMCwKICBhNzQ6IDB4Mjc0RiwKICBhMjAzOiAweDI3NTAsCiAgYTc1OiAweDI3NTEsCiAgYTIwNDogMHgyNzUyLAogIGE3NjogMHgyNUIyLAogIGE3NzogMHgyNUJDLAogIGE3ODogMHgyNUM2LAogIGE3OTogMHgyNzU2LAogIGE4MTogMHgyNUQ3LAogIGE4MjogMHgyNzU4LAogIGE4MzogMHgyNzU5LAogIGE4NDogMHgyNzVBLAogIGE5NzogMHgyNzVCLAogIGE5ODogMHgyNzVDLAogIGE5OTogMHgyNzVELAogIGExMDA6IDB4Mjc1RSwKICBhMTAxOiAweDI3NjEsCiAgYTEwMjogMHgyNzYyLAogIGExMDM6IDB4Mjc2MywKICBhMTA0OiAweDI3NjQsCiAgYTEwNjogMHgyNzY1LAogIGExMDc6IDB4Mjc2NiwKICBhMTA4OiAweDI3NjcsCiAgYTExMjogMHgyNjYzLAogIGExMTE6IDB4MjY2NiwKICBhMTEwOiAweDI2NjUsCiAgYTEwOTogMHgyNjYwLAogIGExMjA6IDB4MjQ2MCwKICBhMTIxOiAweDI0NjEsCiAgYTEyMjogMHgyNDYyLAogIGExMjM6IDB4MjQ2MywKICBhMTI0OiAweDI0NjQsCiAgYTEyNTogMHgyNDY1LAogIGExMjY6IDB4MjQ2NiwKICBhMTI3OiAweDI0NjcsCiAgYTEyODogMHgyNDY4LAogIGExMjk6IDB4MjQ2OSwKICBhMTMwOiAweDI3NzYsCiAgYTEzMTogMHgyNzc3LAogIGExMzI6IDB4Mjc3OCwKICBhMTMzOiAweDI3NzksCiAgYTEzNDogMHgyNzdBLAogIGExMzU6IDB4Mjc3QiwKICBhMTM2OiAweDI3N0MsCiAgYTEzNzogMHgyNzdELAogIGExMzg6IDB4Mjc3RSwKICBhMTM5OiAweDI3N0YsCiAgYTE0MDogMHgyNzgwLAogIGExNDE6IDB4Mjc4MSwKICBhMTQyOiAweDI3ODIsCiAgYTE0MzogMHgyNzgzLAogIGExNDQ6IDB4Mjc4NCwKICBhMTQ1OiAweDI3ODUsCiAgYTE0NjogMHgyNzg2LAogIGExNDc6IDB4Mjc4NywKICBhMTQ4OiAweDI3ODgsCiAgYTE0OTogMHgyNzg5LAogIGExNTA6IDB4Mjc4QSwKICBhMTUxOiAweDI3OEIsCiAgYTE1MjogMHgyNzhDLAogIGExNTM6IDB4Mjc4RCwKICBhMTU0OiAweDI3OEUsCiAgYTE1NTogMHgyNzhGLAogIGExNTY6IDB4Mjc5MCwKICBhMTU3OiAweDI3OTEsCiAgYTE1ODogMHgyNzkyLAogIGExNTk6IDB4Mjc5MywKICBhMTYwOiAweDI3OTQsCiAgYTE2MTogMHgyMTkyLAogIGExNjM6IDB4MjE5NCwKICBhMTY0OiAweDIxOTUsCiAgYTE5NjogMHgyNzk4LAogIGExNjU6IDB4Mjc5OSwKICBhMTkyOiAweDI3OUEsCiAgYTE2NjogMHgyNzlCLAogIGExNjc6IDB4Mjc5QywKICBhMTY4OiAweDI3OUQsCiAgYTE2OTogMHgyNzlFLAogIGExNzA6IDB4Mjc5RiwKICBhMTcxOiAweDI3QTAsCiAgYTE3MjogMHgyN0ExLAogIGExNzM6IDB4MjdBMiwKICBhMTYyOiAweDI3QTMsCiAgYTE3NDogMHgyN0E0LAogIGExNzU6IDB4MjdBNSwKICBhMTc2OiAweDI3QTYsCiAgYTE3NzogMHgyN0E3LAogIGExNzg6IDB4MjdBOCwKICBhMTc5OiAweDI3QTksCiAgYTE5MzogMHgyN0FBLAogIGExODA6IDB4MjdBQiwKICBhMTk5OiAweDI3QUMsCiAgYTE4MTogMHgyN0FELAogIGEyMDA6IDB4MjdBRSwKICBhMTgyOiAweDI3QUYsCiAgYTIwMTogMHgyN0IxLAogIGExODM6IDB4MjdCMiwKICBhMTg0OiAweDI3QjMsCiAgYTE5NzogMHgyN0I0LAogIGExODU6IDB4MjdCNSwKICBhMTk0OiAweDI3QjYsCiAgYTE5ODogMHgyN0I3LAogIGExODY6IDB4MjdCOCwKICBhMTk1OiAweDI3QjksCiAgYTE4NzogMHgyN0JBLAogIGExODg6IDB4MjdCQiwKICBhMTg5OiAweDI3QkMsCiAgYTE5MDogMHgyN0JELAogIGExOTE6IDB4MjdCRSwKICBhODk6IDB4Mjc2OCwgLy8gMHhGOEQ3CiAgYTkwOiAweDI3NjksIC8vIDB4RjhEOAogIGE5MzogMHgyNzZBLCAvLyAweEY4RDkKICBhOTQ6IDB4Mjc2QiwgLy8gMHhGOERBCiAgYTkxOiAweDI3NkMsIC8vIDB4RjhEQgogIGE5MjogMHgyNzZELCAvLyAweEY4REMKICBhMjA1OiAweDI3NkUsIC8vIDB4RjhERAogIGE4NTogMHgyNzZGLCAvLyAweEY4REUKICBhMjA2OiAweDI3NzAsIC8vIDB4RjhERgogIGE4NjogMHgyNzcxLCAvLyAweEY4RTAKICBhODc6IDB4Mjc3MiwgLy8gMHhGOEUxCiAgYTg4OiAweDI3NzMsIC8vIDB4RjhFMgogIGE5NTogMHgyNzc0LCAvLyAweEY4RTMKICBhOTY6IDB4Mjc3NSwgLy8gMHhGOEU0CiAgJy5ub3RkZWYnOiAweDAwMDAKfTsKCgp2YXIgUERGSW1hZ2UgPSAoZnVuY3Rpb24gUERGSW1hZ2VDbG9zdXJlKCkgewogIC8qKgogICAqIERlY29kZSB0aGUgaW1hZ2UgaW4gdGhlIG1haW4gdGhyZWFkIGlmIGl0IHN1cHBvcnRlZC4gUmVzb3ZsZXMgdGhlIHByb21pc2UKICAgKiB3aGVuIHRoZSBpbWFnZSBkYXRhIGlzIHJlYWR5LgogICAqLwogIGZ1bmN0aW9uIGhhbmRsZUltYWdlRGF0YShoYW5kbGVyLCB4cmVmLCByZXMsIGltYWdlKSB7CiAgICBpZiAoaW1hZ2UgaW5zdGFuY2VvZiBKcGVnU3RyZWFtICYmIGltYWdlLmlzTmF0aXZlbHlEZWNvZGFibGUoeHJlZiwgcmVzKSkgewogICAgICAvLyBGb3IgbmF0aXZlbHkgc3VwcG9ydGVkIGpwZWdzIHNlbmQgdGhlbSB0byB0aGUgbWFpbiB0aHJlYWQgZm9yIGRlY29kaW5nLgogICAgICB2YXIgZGljdCA9IGltYWdlLmRpY3Q7CiAgICAgIHZhciBjb2xvclNwYWNlID0gZGljdC5nZXQoJ0NvbG9yU3BhY2UnLCAnQ1MnKTsKICAgICAgY29sb3JTcGFjZSA9IENvbG9yU3BhY2UucGFyc2UoY29sb3JTcGFjZSwgeHJlZiwgcmVzKTsKICAgICAgdmFyIG51bUNvbXBzID0gY29sb3JTcGFjZS5udW1Db21wczsKICAgICAgdmFyIGRlY29kZVByb21pc2UgPSBoYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgnSnBlZ0RlY29kZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlLmdldElSKCksIG51bUNvbXBzXSk7CiAgICAgIHJldHVybiBkZWNvZGVQcm9taXNlLnRoZW4oZnVuY3Rpb24gKG1lc3NhZ2UpIHsKICAgICAgICB2YXIgZGF0YSA9IG1lc3NhZ2UuZGF0YTsKICAgICAgICByZXR1cm4gbmV3IFN0cmVhbShkYXRhLCAwLCBkYXRhLmxlbmd0aCwgaW1hZ2UuZGljdCk7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShpbWFnZSk7CiAgICB9CiAgfQoKICAvKioKICAgKiBEZWNvZGUgYW5kIGNsYW1wIGEgdmFsdWUuIFRoZSBmb3JtdWxhIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzcGVjIGJlY2F1c2Ugd2UKICAgKiBkb24ndCBkZWNvZGUgdG8gZmxvYXQgcmFuZ2UgWzAsMV0sIHdlIGRlY29kZSBpdCBpbiB0aGUgWzAsbWF4XSByYW5nZS4KICAgKi8KICBmdW5jdGlvbiBkZWNvZGVBbmRDbGFtcCh2YWx1ZSwgYWRkZW5kLCBjb2VmZmljaWVudCwgbWF4KSB7CiAgICB2YWx1ZSA9IGFkZGVuZCArIHZhbHVlICogY29lZmZpY2llbnQ7CiAgICAvLyBDbGFtcCB0aGUgdmFsdWUgdG8gdGhlIHJhbmdlCiAgICByZXR1cm4gKHZhbHVlIDwgMCA/IDAgOiAodmFsdWUgPiBtYXggPyBtYXggOiB2YWx1ZSkpOwogIH0KCiAgZnVuY3Rpb24gUERGSW1hZ2UoeHJlZiwgcmVzLCBpbWFnZSwgaW5saW5lLCBzbWFzaywgbWFzaywgaXNNYXNrKSB7CiAgICB0aGlzLmltYWdlID0gaW1hZ2U7CiAgICB2YXIgZGljdCA9IGltYWdlLmRpY3Q7CiAgICBpZiAoZGljdC5oYXMoJ0ZpbHRlcicpKSB7CiAgICAgIHZhciBmaWx0ZXIgPSBkaWN0LmdldCgnRmlsdGVyJykubmFtZTsKICAgICAgaWYgKGZpbHRlciA9PT0gJ0pQWERlY29kZScpIHsKICAgICAgICB2YXIganB4SW1hZ2UgPSBuZXcgSnB4SW1hZ2UoKTsKICAgICAgICBqcHhJbWFnZS5wYXJzZUltYWdlUHJvcGVydGllcyhpbWFnZS5zdHJlYW0pOwogICAgICAgIGltYWdlLnN0cmVhbS5yZXNldCgpOwogICAgICAgIGltYWdlLmJpdHNQZXJDb21wb25lbnQgPSBqcHhJbWFnZS5iaXRzUGVyQ29tcG9uZW50OwogICAgICAgIGltYWdlLm51bUNvbXBzID0ganB4SW1hZ2UuY29tcG9uZW50c0NvdW50OwogICAgICB9IGVsc2UgaWYgKGZpbHRlciA9PT0gJ0pCSUcyRGVjb2RlJykgewogICAgICAgIGltYWdlLmJpdHNQZXJDb21wb25lbnQgPSAxOwogICAgICAgIGltYWdlLm51bUNvbXBzID0gMTsKICAgICAgfQogICAgfQogICAgLy8gVE9ETyBjYWNoZSByZW5kZXJlZCBpbWFnZXM/CgogICAgdGhpcy53aWR0aCA9IGRpY3QuZ2V0KCdXaWR0aCcsICdXJyk7CiAgICB0aGlzLmhlaWdodCA9IGRpY3QuZ2V0KCdIZWlnaHQnLCAnSCcpOwoKICAgIGlmICh0aGlzLndpZHRoIDwgMSB8fCB0aGlzLmhlaWdodCA8IDEpIHsKICAgICAgZXJyb3IoJ0ludmFsaWQgaW1hZ2Ugd2lkdGg6ICcgKyB0aGlzLndpZHRoICsgJyBvciBoZWlnaHQ6ICcgKwogICAgICAgICAgICB0aGlzLmhlaWdodCk7CiAgICB9CgogICAgdGhpcy5pbnRlcnBvbGF0ZSA9IGRpY3QuZ2V0KCdJbnRlcnBvbGF0ZScsICdJJykgfHwgZmFsc2U7CiAgICB0aGlzLmltYWdlTWFzayA9IGRpY3QuZ2V0KCdJbWFnZU1hc2snLCAnSU0nKSB8fCBmYWxzZTsKICAgIHRoaXMubWF0dGUgPSBkaWN0LmdldCgnTWF0dGUnKSB8fCBmYWxzZTsKCiAgICB2YXIgYml0c1BlckNvbXBvbmVudCA9IGltYWdlLmJpdHNQZXJDb21wb25lbnQ7CiAgICBpZiAoIWJpdHNQZXJDb21wb25lbnQpIHsKICAgICAgYml0c1BlckNvbXBvbmVudCA9IGRpY3QuZ2V0KCdCaXRzUGVyQ29tcG9uZW50JywgJ0JQQycpOwogICAgICBpZiAoIWJpdHNQZXJDb21wb25lbnQpIHsKICAgICAgICBpZiAodGhpcy5pbWFnZU1hc2spIHsKICAgICAgICAgIGJpdHNQZXJDb21wb25lbnQgPSAxOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBlcnJvcignQml0cyBwZXIgY29tcG9uZW50IG1pc3NpbmcgaW4gaW1hZ2U6ICcgKyB0aGlzLmltYWdlTWFzayk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICB0aGlzLmJwYyA9IGJpdHNQZXJDb21wb25lbnQ7CgogICAgaWYgKCF0aGlzLmltYWdlTWFzaykgewogICAgICB2YXIgY29sb3JTcGFjZSA9IGRpY3QuZ2V0KCdDb2xvclNwYWNlJywgJ0NTJyk7CiAgICAgIGlmICghY29sb3JTcGFjZSkgewogICAgICAgIGluZm8oJ0pQWCBpbWFnZXMgKHdoaWNoIGRvIG5vdCByZXF1aXJlIGNvbG9yIHNwYWNlcyknKTsKICAgICAgICBzd2l0Y2ggKGltYWdlLm51bUNvbXBzKSB7CiAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgIGNvbG9yU3BhY2UgPSBOYW1lLmdldCgnRGV2aWNlR3JheScpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgY29sb3JTcGFjZSA9IE5hbWUuZ2V0KCdEZXZpY2VSR0InKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgIGNvbG9yU3BhY2UgPSBOYW1lLmdldCgnRGV2aWNlQ01ZSycpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIGVycm9yKCdKUFggaW1hZ2VzIHdpdGggJyArIHRoaXMubnVtQ29tcHMgKwogICAgICAgICAgICAgICAgICAnIGNvbG9yIGNvbXBvbmVudHMgbm90IHN1cHBvcnRlZC4nKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5jb2xvclNwYWNlID0gQ29sb3JTcGFjZS5wYXJzZShjb2xvclNwYWNlLCB4cmVmLCByZXMpOwogICAgICB0aGlzLm51bUNvbXBzID0gdGhpcy5jb2xvclNwYWNlLm51bUNvbXBzOwogICAgfQoKICAgIHRoaXMuZGVjb2RlID0gZGljdC5nZXQoJ0RlY29kZScsICdEJyk7CiAgICB0aGlzLm5lZWRzRGVjb2RlID0gZmFsc2U7CiAgICBpZiAodGhpcy5kZWNvZGUgJiYKICAgICAgICAoKHRoaXMuY29sb3JTcGFjZSAmJiAhdGhpcy5jb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZSh0aGlzLmRlY29kZSkpIHx8CiAgICAgICAgIChpc01hc2sgJiYgIUNvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKHRoaXMuZGVjb2RlLCAxKSkpKSB7CiAgICAgIHRoaXMubmVlZHNEZWNvZGUgPSB0cnVlOwogICAgICAvLyBEbyBzb21lIHByZXByb2Nlc3NpbmcgdG8gYXZvaWQgbW9yZSBtYXRoLgogICAgICB2YXIgbWF4ID0gKDEgPDwgYml0c1BlckNvbXBvbmVudCkgLSAxOwogICAgICB0aGlzLmRlY29kZUNvZWZmaWNpZW50cyA9IFtdOwogICAgICB0aGlzLmRlY29kZUFkZGVuZHMgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDAsIGogPSAwOyBpIDwgdGhpcy5kZWNvZGUubGVuZ3RoOyBpICs9IDIsICsraikgewogICAgICAgIHZhciBkbWluID0gdGhpcy5kZWNvZGVbaV07CiAgICAgICAgdmFyIGRtYXggPSB0aGlzLmRlY29kZVtpICsgMV07CiAgICAgICAgdGhpcy5kZWNvZGVDb2VmZmljaWVudHNbal0gPSBkbWF4IC0gZG1pbjsKICAgICAgICB0aGlzLmRlY29kZUFkZGVuZHNbal0gPSBtYXggKiBkbWluOwogICAgICB9CiAgICB9CgogICAgaWYgKHNtYXNrKSB7CiAgICAgIHRoaXMuc21hc2sgPSBuZXcgUERGSW1hZ2UoeHJlZiwgcmVzLCBzbWFzaywgZmFsc2UpOwogICAgfSBlbHNlIGlmIChtYXNrKSB7CiAgICAgIGlmIChpc1N0cmVhbShtYXNrKSkgewogICAgICAgIHRoaXMubWFzayA9IG5ldyBQREZJbWFnZSh4cmVmLCByZXMsIG1hc2ssIGZhbHNlLCBudWxsLCBudWxsLCB0cnVlKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBDb2xvciBrZXkgbWFzayAoanVzdCBhbiBhcnJheSkuCiAgICAgICAgdGhpcy5tYXNrID0gbWFzazsKICAgICAgfQogICAgfQogIH0KICAvKioKICAgKiBIYW5kbGVzIHByb2Nlc3Npbmcgb2YgaW1hZ2UgZGF0YSBhbmQgcmV0dXJucyB0aGUgUHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkCiAgICogd2l0aCBhIFBERkltYWdlIHdoZW4gdGhlIGltYWdlIGlzIHJlYWR5IHRvIGJlIHVzZWQuCiAgICovCiAgUERGSW1hZ2UuYnVpbGRJbWFnZSA9IGZ1bmN0aW9uIFBERkltYWdlX2J1aWxkSW1hZ2UoaGFuZGxlciwgeHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMsIGltYWdlLCBpbmxpbmUpIHsKICAgIHZhciBpbWFnZVByb21pc2UgPSBoYW5kbGVJbWFnZURhdGEoaGFuZGxlciwgeHJlZiwgcmVzLCBpbWFnZSk7CiAgICB2YXIgc21hc2tQcm9taXNlOwogICAgdmFyIG1hc2tQcm9taXNlOwoKICAgIHZhciBzbWFzayA9IGltYWdlLmRpY3QuZ2V0KCdTTWFzaycpOwogICAgdmFyIG1hc2sgPSBpbWFnZS5kaWN0LmdldCgnTWFzaycpOwoKICAgIGlmIChzbWFzaykgewogICAgICBzbWFza1Byb21pc2UgPSBoYW5kbGVJbWFnZURhdGEoaGFuZGxlciwgeHJlZiwgcmVzLCBzbWFzayk7CiAgICAgIG1hc2tQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKG51bGwpOwogICAgfSBlbHNlIHsKICAgICAgc21hc2tQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKG51bGwpOwogICAgICBpZiAobWFzaykgewogICAgICAgIGlmIChpc1N0cmVhbShtYXNrKSkgewogICAgICAgICAgbWFza1Byb21pc2UgPSBoYW5kbGVJbWFnZURhdGEoaGFuZGxlciwgeHJlZiwgcmVzLCBtYXNrKTsKICAgICAgICB9IGVsc2UgaWYgKGlzQXJyYXkobWFzaykpIHsKICAgICAgICAgIG1hc2tQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKG1hc2spOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB3YXJuKCdVbnN1cHBvcnRlZCBtYXNrIGZvcm1hdC4nKTsKICAgICAgICAgIG1hc2tQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKG51bGwpOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBtYXNrUHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZShudWxsKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIFByb21pc2UuYWxsKFtpbWFnZVByb21pc2UsIHNtYXNrUHJvbWlzZSwgbWFza1Byb21pc2VdKS50aGVuKAogICAgICBmdW5jdGlvbihyZXN1bHRzKSB7CiAgICAgICAgdmFyIGltYWdlRGF0YSA9IHJlc3VsdHNbMF07CiAgICAgICAgdmFyIHNtYXNrRGF0YSA9IHJlc3VsdHNbMV07CiAgICAgICAgdmFyIG1hc2tEYXRhID0gcmVzdWx0c1syXTsKICAgICAgICByZXR1cm4gbmV3IFBERkltYWdlKHhyZWYsIHJlcywgaW1hZ2VEYXRhLCBpbmxpbmUsIHNtYXNrRGF0YSwgbWFza0RhdGEpOwogICAgICB9KTsKICB9OwoKICAvKioKICAgKiBSZXNpemUgYW4gaW1hZ2UgdXNpbmcgdGhlIG5lYXJlc3QgbmVpZ2hib3IgYWxnb3JpdGhtLiBDdXJyZW50bHkgb25seQogICAqIHN1cHBvcnRzIG9uZSBhbmQgdGhyZWUgY29tcG9uZW50IGltYWdlcy4KICAgKiBAcGFyYW0ge1R5cGVkQXJyYXl9IHBpeGVscyBUaGUgb3JpZ2luYWwgaW1hZ2Ugd2l0aCBvbmUgY29tcG9uZW50LgogICAqIEBwYXJhbSB7TnVtYmVyfSBicGMgTnVtYmVyIG9mIGJpdHMgcGVyIGNvbXBvbmVudC4KICAgKiBAcGFyYW0ge051bWJlcn0gY29tcG9uZW50cyBOdW1iZXIgb2YgY29sb3IgY29tcG9uZW50cywgMSBvciAzIGlzIHN1cHBvcnRlZC4KICAgKiBAcGFyYW0ge051bWJlcn0gdzEgT3JpZ2luYWwgd2lkdGguCiAgICogQHBhcmFtIHtOdW1iZXJ9IGgxIE9yaWdpbmFsIGhlaWdodC4KICAgKiBAcGFyYW0ge051bWJlcn0gdzIgTmV3IHdpZHRoLgogICAqIEBwYXJhbSB7TnVtYmVyfSBoMiBOZXcgaGVpZ2h0LgogICAqIEBwYXJhbSB7VHlwZWRBcnJheX0gZGVzdCAoT3B0aW9uYWwpIFRoZSBkZXN0aW5hdGlvbiBidWZmZXIuCiAgICogQHBhcmFtIHtOdW1iZXJ9IGFscGhhMDEgKE9wdGlvbmFsKSBTaXplIHJlc2VydmVkIGZvciB0aGUgYWxwaGEgY2hhbm5lbC4KICAgKiBAcmV0dXJuIHtUeXBlZEFycmF5fSBSZXNpemVkIGltYWdlIGRhdGEuCiAgICovCiAgUERGSW1hZ2UucmVzaXplID0gZnVuY3Rpb24gUERGSW1hZ2VfcmVzaXplKHBpeGVscywgYnBjLCBjb21wb25lbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3MSwgaDEsIHcyLCBoMiwgZGVzdCwgYWxwaGEwMSkgewoKICAgIGlmIChjb21wb25lbnRzICE9PSAxICYmIGNvbXBvbmVudHMgIT09IDMpIHsKICAgICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIGNvbXBvbmVudCBjb3VudCBmb3IgcmVzaXppbmcuJyk7CiAgICB9CgogICAgdmFyIGxlbmd0aCA9IHcyICogaDIgKiBjb21wb25lbnRzOwogICAgdmFyIHRlbXAgPSBkZXN0ID8gZGVzdCA6IChicGMgPD0gOCA/IG5ldyBVaW50OEFycmF5KGxlbmd0aCkgOgogICAgICAgIChicGMgPD0gMTYgPyBuZXcgVWludDE2QXJyYXkobGVuZ3RoKSA6IG5ldyBVaW50MzJBcnJheShsZW5ndGgpKSk7CiAgICB2YXIgeFJhdGlvID0gdzEgLyB3MjsKICAgIHZhciB5UmF0aW8gPSBoMSAvIGgyOwogICAgdmFyIGksIGosIHB5LCBuZXdJbmRleCA9IDAsIG9sZEluZGV4OwogICAgdmFyIHhTY2FsZWQgPSBuZXcgVWludDE2QXJyYXkodzIpOwogICAgdmFyIHcxU2NhbmxpbmUgPSB3MSAqIGNvbXBvbmVudHM7CiAgICBpZiAoYWxwaGEwMSAhPT0gMSkgewogICAgICBhbHBoYTAxID0gMDsKICAgIH0KCiAgICBmb3IgKGogPSAwOyBqIDwgdzI7IGorKykgewogICAgICB4U2NhbGVkW2pdID0gTWF0aC5mbG9vcihqICogeFJhdGlvKSAqIGNvbXBvbmVudHM7CiAgICB9CgogICAgaWYgKGNvbXBvbmVudHMgPT09IDEpIHsKICAgICAgZm9yIChpID0gMDsgaSA8IGgyOyBpKyspIHsKICAgICAgICBweSA9IE1hdGguZmxvb3IoaSAqIHlSYXRpbykgKiB3MVNjYW5saW5lOwogICAgICAgIGZvciAoaiA9IDA7IGogPCB3MjsgaisrKSB7CiAgICAgICAgICBvbGRJbmRleCA9IHB5ICsgeFNjYWxlZFtqXTsKICAgICAgICAgIHRlbXBbbmV3SW5kZXgrK10gPSBwaXhlbHNbb2xkSW5kZXhdOwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIGlmIChjb21wb25lbnRzID09PSAzKSB7CiAgICAgIGZvciAoaSA9IDA7IGkgPCBoMjsgaSsrKSB7CiAgICAgICAgcHkgPSBNYXRoLmZsb29yKGkgKiB5UmF0aW8pICogdzFTY2FubGluZTsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgdzI7IGorKykgewogICAgICAgICAgb2xkSW5kZXggPSBweSArIHhTY2FsZWRbal07CiAgICAgICAgICB0ZW1wW25ld0luZGV4KytdID0gcGl4ZWxzW29sZEluZGV4KytdOwogICAgICAgICAgdGVtcFtuZXdJbmRleCsrXSA9IHBpeGVsc1tvbGRJbmRleCsrXTsKICAgICAgICAgIHRlbXBbbmV3SW5kZXgrK10gPSBwaXhlbHNbb2xkSW5kZXgrK107CiAgICAgICAgICBuZXdJbmRleCArPSBhbHBoYTAxOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIHRlbXA7CiAgfTsKCiAgUERGSW1hZ2UuY3JlYXRlTWFzayA9CiAgICAgIGZ1bmN0aW9uIFBERkltYWdlX2NyZWF0ZU1hc2soaW1nQXJyYXksIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW0sIGludmVyc2VEZWNvZGUpIHsKCiAgICAvLyB8aW1nQXJyYXl8IG1pZ2h0IG5vdCBjb250YWluIGZ1bGwgZGF0YSBmb3IgZXZlcnkgcGl4ZWwgb2YgdGhlIG1hc2ssIHNvCiAgICAvLyB3ZSBuZWVkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gfGNvbXB1dGVkTGVuZ3RofCBhbmQgfGFjdHVhbExlbmd0aHwuCiAgICAvLyBJbiBwYXJ0aWN1bGFyLCBpZiBpbnZlcnNlRGVjb2RlIGlzIHRydWUsIHRoZW4gdGhlIGFycmF5IHdlIHJldHVybiBtdXN0CiAgICAvLyBoYXZlIGEgbGVuZ3RoIG9mIHxjb21wdXRlZExlbmd0aHwuCgogICAgdmFyIGNvbXB1dGVkTGVuZ3RoID0gKCh3aWR0aCArIDcpID4+IDMpICogaGVpZ2h0OwogICAgdmFyIGFjdHVhbExlbmd0aCA9IGltZ0FycmF5LmJ5dGVMZW5ndGg7CiAgICB2YXIgaGF2ZUZ1bGxEYXRhID0gY29tcHV0ZWRMZW5ndGggPT09IGFjdHVhbExlbmd0aDsKICAgIHZhciBkYXRhLCBpOwoKICAgIGlmIChpbWFnZUlzRnJvbURlY29kZVN0cmVhbSAmJiAoIWludmVyc2VEZWNvZGUgfHwgaGF2ZUZ1bGxEYXRhKSkgewogICAgICAvLyBpbWdBcnJheSBjYW1lIGZyb20gYSBEZWNvZGVTdHJlYW0gYW5kIGl0cyBkYXRhIGlzIGluIGFuIGFwcHJvcHJpYXRlCiAgICAgIC8vIGZvcm0sIHNvIHdlIGNhbiBqdXN0IHRyYW5zZmVyIGl0LgogICAgICBkYXRhID0gaW1nQXJyYXk7CiAgICB9IGVsc2UgaWYgKCFpbnZlcnNlRGVjb2RlKSB7CiAgICAgIGRhdGEgPSBuZXcgVWludDhBcnJheShhY3R1YWxMZW5ndGgpOwogICAgICBkYXRhLnNldChpbWdBcnJheSk7CiAgICB9IGVsc2UgewogICAgICBkYXRhID0gbmV3IFVpbnQ4QXJyYXkoY29tcHV0ZWRMZW5ndGgpOwogICAgICBkYXRhLnNldChpbWdBcnJheSk7CiAgICAgIGZvciAoaSA9IGFjdHVhbExlbmd0aDsgaSA8IGNvbXB1dGVkTGVuZ3RoOyBpKyspIHsKICAgICAgICBkYXRhW2ldID0gMHhmZjsKICAgICAgfQogICAgfQoKICAgIC8vIElmIG5lY2Vzc2FyeSwgaW52ZXJ0IHRoZSBvcmlnaW5hbCBtYXNrIGRhdGEgKGJ1dCBub3QgYW55IGV4dHJhIHdlIG1pZ2h0CiAgICAvLyBoYXZlIGFkZGVkIGFib3ZlKS4gSXQncyBzYWZlIHRvIG1vZGlmeSB0aGUgYXJyYXkgLS0gd2hldGhlciBpdCdzIHRoZQogICAgLy8gb3JpZ2luYWwgb3IgYSBjb3B5LCB3ZSdyZSBhYm91dCB0byB0cmFuc2ZlciBpdCBhbnl3YXksIHNvIG5vdGhpbmcgZWxzZQogICAgLy8gaW4gdGhpcyB0aHJlYWQgY2FuIGJlIHJlbHlpbmcgb24gaXRzIGNvbnRlbnRzLgogICAgaWYgKGludmVyc2VEZWNvZGUpIHsKICAgICAgZm9yIChpID0gMDsgaSA8IGFjdHVhbExlbmd0aDsgaSsrKSB7CiAgICAgICAgZGF0YVtpXSA9IH5kYXRhW2ldOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIHtkYXRhOiBkYXRhLCB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0fTsKICB9OwoKICBQREZJbWFnZS5wcm90b3R5cGUgPSB7CiAgICBnZXQgZHJhd1dpZHRoKCkgewogICAgICByZXR1cm4gTWF0aC5tYXgodGhpcy53aWR0aCwKICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc21hc2sgJiYgdGhpcy5zbWFzay53aWR0aCB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXNrICYmIHRoaXMubWFzay53aWR0aCB8fCAwKTsKICAgIH0sCgogICAgZ2V0IGRyYXdIZWlnaHQoKSB7CiAgICAgIHJldHVybiBNYXRoLm1heCh0aGlzLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc21hc2sgJiYgdGhpcy5zbWFzay5oZWlnaHQgfHwgMCwKICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFzayAmJiB0aGlzLm1hc2suaGVpZ2h0IHx8IDApOwogICAgfSwKCiAgICBkZWNvZGVCdWZmZXI6IGZ1bmN0aW9uIFBERkltYWdlX2RlY29kZUJ1ZmZlcihidWZmZXIpIHsKICAgICAgdmFyIGJwYyA9IHRoaXMuYnBjOwogICAgICB2YXIgbnVtQ29tcHMgPSB0aGlzLm51bUNvbXBzOwoKICAgICAgdmFyIGRlY29kZUFkZGVuZHMgPSB0aGlzLmRlY29kZUFkZGVuZHM7CiAgICAgIHZhciBkZWNvZGVDb2VmZmljaWVudHMgPSB0aGlzLmRlY29kZUNvZWZmaWNpZW50czsKICAgICAgdmFyIG1heCA9ICgxIDw8IGJwYykgLSAxOwogICAgICB2YXIgaSwgaWk7CgogICAgICBpZiAoYnBjID09PSAxKSB7CiAgICAgICAgLy8gSWYgdGhlIGJ1ZmZlciBuZWVkZWQgZGVjb2RlIHRoYXQgbWVhbnMgaXQganVzdCBuZWVkcyB0byBiZSBpbnZlcnRlZC4KICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IGJ1ZmZlci5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICBidWZmZXJbaV0gPSArIShidWZmZXJbaV0pOwogICAgICAgIH0KICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdmFyIGluZGV4ID0gMDsKICAgICAgZm9yIChpID0gMCwgaWkgPSB0aGlzLndpZHRoICogdGhpcy5oZWlnaHQ7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBudW1Db21wczsgaisrKSB7CiAgICAgICAgICBidWZmZXJbaW5kZXhdID0gZGVjb2RlQW5kQ2xhbXAoYnVmZmVyW2luZGV4XSwgZGVjb2RlQWRkZW5kc1tqXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVDb2VmZmljaWVudHNbal0sIG1heCk7CiAgICAgICAgICBpbmRleCsrOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBnZXRDb21wb25lbnRzOiBmdW5jdGlvbiBQREZJbWFnZV9nZXRDb21wb25lbnRzKGJ1ZmZlcikgewogICAgICB2YXIgYnBjID0gdGhpcy5icGM7CgogICAgICAvLyBUaGlzIGltYWdlIGRvZXNuJ3QgcmVxdWlyZSBhbnkgZXh0cmEgd29yay4KICAgICAgaWYgKGJwYyA9PT0gOCkgewogICAgICAgIHJldHVybiBidWZmZXI7CiAgICAgIH0KCiAgICAgIHZhciB3aWR0aCA9IHRoaXMud2lkdGg7CiAgICAgIHZhciBoZWlnaHQgPSB0aGlzLmhlaWdodDsKICAgICAgdmFyIG51bUNvbXBzID0gdGhpcy5udW1Db21wczsKCiAgICAgIHZhciBsZW5ndGggPSB3aWR0aCAqIGhlaWdodCAqIG51bUNvbXBzOwogICAgICB2YXIgYnVmZmVyUG9zID0gMDsKICAgICAgdmFyIG91dHB1dCA9IChicGMgPD0gOCA/IG5ldyBVaW50OEFycmF5KGxlbmd0aCkgOgogICAgICAgIChicGMgPD0gMTYgPyBuZXcgVWludDE2QXJyYXkobGVuZ3RoKSA6IG5ldyBVaW50MzJBcnJheShsZW5ndGgpKSk7CiAgICAgIHZhciByb3dDb21wcyA9IHdpZHRoICogbnVtQ29tcHM7CgogICAgICB2YXIgbWF4ID0gKDEgPDwgYnBjKSAtIDE7CiAgICAgIHZhciBpID0gMCwgaWksIGJ1ZjsKCiAgICAgIGlmIChicGMgPT09IDEpIHsKICAgICAgICAvLyBPcHRpbWl6YXRpb24gZm9yIHJlYWRpbmcgMSBicGMgaW1hZ2VzLgogICAgICAgIHZhciBtYXNrLCBsb29wMUVuZCwgbG9vcDJFbmQ7CiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBoZWlnaHQ7IGorKykgewogICAgICAgICAgbG9vcDFFbmQgPSBpICsgKHJvd0NvbXBzICYgfjcpOwogICAgICAgICAgbG9vcDJFbmQgPSBpICsgcm93Q29tcHM7CgogICAgICAgICAgLy8gdW5yb2xsIGxvb3AgZm9yIGFsbCBmdWxsIGJ5dGVzCiAgICAgICAgICB3aGlsZSAoaSA8IGxvb3AxRW5kKSB7CiAgICAgICAgICAgIGJ1ZiA9IGJ1ZmZlcltidWZmZXJQb3MrK107CiAgICAgICAgICAgIG91dHB1dFtpXSA9IChidWYgPj4gNykgJiAxOwogICAgICAgICAgICBvdXRwdXRbaSArIDFdID0gKGJ1ZiA+PiA2KSAmIDE7CiAgICAgICAgICAgIG91dHB1dFtpICsgMl0gPSAoYnVmID4+IDUpICYgMTsKICAgICAgICAgICAgb3V0cHV0W2kgKyAzXSA9IChidWYgPj4gNCkgJiAxOwogICAgICAgICAgICBvdXRwdXRbaSArIDRdID0gKGJ1ZiA+PiAzKSAmIDE7CiAgICAgICAgICAgIG91dHB1dFtpICsgNV0gPSAoYnVmID4+IDIpICYgMTsKICAgICAgICAgICAgb3V0cHV0W2kgKyA2XSA9IChidWYgPj4gMSkgJiAxOwogICAgICAgICAgICBvdXRwdXRbaSArIDddID0gYnVmICYgMTsKICAgICAgICAgICAgaSArPSA4OwogICAgICAgICAgfQoKICAgICAgICAgIC8vIGhhbmRsZSByZW1haW5nIGJpdHMKICAgICAgICAgIGlmIChpIDwgbG9vcDJFbmQpIHsKICAgICAgICAgICAgYnVmID0gYnVmZmVyW2J1ZmZlclBvcysrXTsKICAgICAgICAgICAgbWFzayA9IDEyODsKICAgICAgICAgICAgd2hpbGUgKGkgPCBsb29wMkVuZCkgewogICAgICAgICAgICAgIG91dHB1dFtpKytdID0gKyEhKGJ1ZiAmIG1hc2spOwogICAgICAgICAgICAgIG1hc2sgPj49IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gVGhlIGdlbmVyYWwgY2FzZSB0aGF0IGhhbmRsZXMgYWxsIG90aGVyIGJwYyB2YWx1ZXMuCiAgICAgICAgdmFyIGJpdHMgPSAwOwogICAgICAgIGJ1ZiA9IDA7CiAgICAgICAgZm9yIChpID0gMCwgaWkgPSBsZW5ndGg7IGkgPCBpaTsgKytpKSB7CiAgICAgICAgICBpZiAoaSAlIHJvd0NvbXBzID09PSAwKSB7CiAgICAgICAgICAgIGJ1ZiA9IDA7CiAgICAgICAgICAgIGJpdHMgPSAwOwogICAgICAgICAgfQoKICAgICAgICAgIHdoaWxlIChiaXRzIDwgYnBjKSB7CiAgICAgICAgICAgIGJ1ZiA9IChidWYgPDwgOCkgfCBidWZmZXJbYnVmZmVyUG9zKytdOwogICAgICAgICAgICBiaXRzICs9IDg7CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIHJlbWFpbmluZ0JpdHMgPSBiaXRzIC0gYnBjOwogICAgICAgICAgdmFyIHZhbHVlID0gYnVmID4+IHJlbWFpbmluZ0JpdHM7CiAgICAgICAgICBvdXRwdXRbaV0gPSAodmFsdWUgPCAwID8gMCA6ICh2YWx1ZSA+IG1heCA/IG1heCA6IHZhbHVlKSk7CiAgICAgICAgICBidWYgPSBidWYgJiAoKDEgPDwgcmVtYWluaW5nQml0cykgLSAxKTsKICAgICAgICAgIGJpdHMgPSByZW1haW5pbmdCaXRzOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gb3V0cHV0OwogICAgfSwKCiAgICBmaWxsT3BhY2l0eTogZnVuY3Rpb24gUERGSW1hZ2VfZmlsbE9wYWNpdHkocmdiYUJ1Ziwgd2lkdGgsIGhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxIZWlnaHQsIGltYWdlKSB7CiAgICAgIHZhciBzbWFzayA9IHRoaXMuc21hc2s7CiAgICAgIHZhciBtYXNrID0gdGhpcy5tYXNrOwogICAgICB2YXIgYWxwaGFCdWYsIHN3LCBzaCwgaSwgaWksIGo7CgogICAgICBpZiAoc21hc2spIHsKICAgICAgICBzdyA9IHNtYXNrLndpZHRoOwogICAgICAgIHNoID0gc21hc2suaGVpZ2h0OwogICAgICAgIGFscGhhQnVmID0gbmV3IFVpbnQ4QXJyYXkoc3cgKiBzaCk7CiAgICAgICAgc21hc2suZmlsbEdyYXlCdWZmZXIoYWxwaGFCdWYpOwogICAgICAgIGlmIChzdyAhPT0gd2lkdGggfHwgc2ggIT09IGhlaWdodCkgewogICAgICAgICAgYWxwaGFCdWYgPSBQREZJbWFnZS5yZXNpemUoYWxwaGFCdWYsIHNtYXNrLmJwYywgMSwgc3csIHNoLCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKG1hc2spIHsKICAgICAgICBpZiAobWFzayBpbnN0YW5jZW9mIFBERkltYWdlKSB7CiAgICAgICAgICBzdyA9IG1hc2sud2lkdGg7CiAgICAgICAgICBzaCA9IG1hc2suaGVpZ2h0OwogICAgICAgICAgYWxwaGFCdWYgPSBuZXcgVWludDhBcnJheShzdyAqIHNoKTsKICAgICAgICAgIG1hc2subnVtQ29tcHMgPSAxOwogICAgICAgICAgbWFzay5maWxsR3JheUJ1ZmZlcihhbHBoYUJ1Zik7CgogICAgICAgICAgLy8gTmVlZCB0byBpbnZlcnQgdmFsdWVzIGluIHJnYmFCdWYKICAgICAgICAgIGZvciAoaSA9IDAsIGlpID0gc3cgKiBzaDsgaSA8IGlpOyArK2kpIHsKICAgICAgICAgICAgYWxwaGFCdWZbaV0gPSAyNTUgLSBhbHBoYUJ1ZltpXTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoc3cgIT09IHdpZHRoIHx8IHNoICE9PSBoZWlnaHQpIHsKICAgICAgICAgICAgYWxwaGFCdWYgPSBQREZJbWFnZS5yZXNpemUoYWxwaGFCdWYsIG1hc2suYnBjLCAxLCBzdywgc2gsIHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShtYXNrKSkgewogICAgICAgICAgLy8gQ29sb3Iga2V5IG1hc2s6IGlmIGFueSBvZiB0aGUgY29tcG9udGVudHMgYXJlIG91dHNpZGUgdGhlIHJhbmdlCiAgICAgICAgICAvLyB0aGVuIHRoZXkgc2hvdWxkIGJlIHBhaW50ZWQuCiAgICAgICAgICBhbHBoYUJ1ZiA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0KTsKICAgICAgICAgIHZhciBudW1Db21wcyA9IHRoaXMubnVtQ29tcHM7CiAgICAgICAgICBmb3IgKGkgPSAwLCBpaSA9IHdpZHRoICogaGVpZ2h0OyBpIDwgaWk7ICsraSkgewogICAgICAgICAgICB2YXIgb3BhY2l0eSA9IDA7CiAgICAgICAgICAgIHZhciBpbWFnZU9mZnNldCA9IGkgKiBudW1Db21wczsKICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG51bUNvbXBzOyArK2opIHsKICAgICAgICAgICAgICB2YXIgY29sb3IgPSBpbWFnZVtpbWFnZU9mZnNldCArIGpdOwogICAgICAgICAgICAgIHZhciBtYXNrT2Zmc2V0ID0gaiAqIDI7CiAgICAgICAgICAgICAgaWYgKGNvbG9yIDwgbWFza1ttYXNrT2Zmc2V0XSB8fCBjb2xvciA+IG1hc2tbbWFza09mZnNldCArIDFdKSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5ID0gMjU1OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGFscGhhQnVmW2ldID0gb3BhY2l0eTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgZXJyb3IoJ1Vua25vd24gbWFzayBmb3JtYXQuJyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoYWxwaGFCdWYpIHsKICAgICAgICBmb3IgKGkgPSAwLCBqID0gMywgaWkgPSB3aWR0aCAqIGFjdHVhbEhlaWdodDsgaSA8IGlpOyArK2ksIGogKz0gNCkgewogICAgICAgICAgcmdiYUJ1ZltqXSA9IGFscGhhQnVmW2ldOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBObyBtYXNrLgogICAgICAgIGZvciAoaSA9IDAsIGogPSAzLCBpaSA9IHdpZHRoICogYWN0dWFsSGVpZ2h0OyBpIDwgaWk7ICsraSwgaiArPSA0KSB7CiAgICAgICAgICByZ2JhQnVmW2pdID0gMjU1OwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICB1bmRvUHJlYmxlbmQ6IGZ1bmN0aW9uIFBERkltYWdlX3VuZG9QcmVibGVuZChidWZmZXIsIHdpZHRoLCBoZWlnaHQpIHsKICAgICAgdmFyIG1hdHRlID0gdGhpcy5zbWFzayAmJiB0aGlzLnNtYXNrLm1hdHRlOwogICAgICBpZiAoIW1hdHRlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBtYXR0ZVJnYiA9IHRoaXMuY29sb3JTcGFjZS5nZXRSZ2IobWF0dGUsIDApOwogICAgICB2YXIgbWF0dGVSID0gbWF0dGVSZ2JbMF07CiAgICAgIHZhciBtYXR0ZUcgPSBtYXR0ZVJnYlsxXTsKICAgICAgdmFyIG1hdHRlQiA9IG1hdHRlUmdiWzJdOwogICAgICB2YXIgbGVuZ3RoID0gd2lkdGggKiBoZWlnaHQgKiA0OwogICAgICB2YXIgciwgZywgYjsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkgKz0gNCkgewogICAgICAgIHZhciBhbHBoYSA9IGJ1ZmZlcltpICsgM107CiAgICAgICAgaWYgKGFscGhhID09PSAwKSB7CiAgICAgICAgICAvLyBhY2NvcmRpbmcgZm9ybXVsYSB3ZSBoYXZlIHRvIGdldCBJbmZpbml0eSBpbiBhbGwgY29tcG9uZW50cwogICAgICAgICAgLy8gbWFraW5nIGl0IHdoaXRlICh0eXBpY2FsIHBhcGVyIGNvbG9yKSBzaG91bGQgYmUgb2theQogICAgICAgICAgYnVmZmVyW2ldID0gMjU1OwogICAgICAgICAgYnVmZmVyW2kgKyAxXSA9IDI1NTsKICAgICAgICAgIGJ1ZmZlcltpICsgMl0gPSAyNTU7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgdmFyIGsgPSAyNTUgLyBhbHBoYTsKICAgICAgICByID0gKGJ1ZmZlcltpXSAtIG1hdHRlUikgKiBrICsgbWF0dGVSOwogICAgICAgIGcgPSAoYnVmZmVyW2kgKyAxXSAtIG1hdHRlRykgKiBrICsgbWF0dGVHOwogICAgICAgIGIgPSAoYnVmZmVyW2kgKyAyXSAtIG1hdHRlQikgKiBrICsgbWF0dGVCOwogICAgICAgIGJ1ZmZlcltpXSA9IHIgPD0gMCA/IDAgOiByID49IDI1NSA/IDI1NSA6IHIgfCAwOwogICAgICAgIGJ1ZmZlcltpICsgMV0gPSBnIDw9IDAgPyAwIDogZyA+PSAyNTUgPyAyNTUgOiBnIHwgMDsKICAgICAgICBidWZmZXJbaSArIDJdID0gYiA8PSAwID8gMCA6IGIgPj0gMjU1ID8gMjU1IDogYiB8IDA7CiAgICAgIH0KICAgIH0sCgogICAgY3JlYXRlSW1hZ2VEYXRhOiBmdW5jdGlvbiBQREZJbWFnZV9jcmVhdGVJbWFnZURhdGEoZm9yY2VSR0JBKSB7CiAgICAgIHZhciBkcmF3V2lkdGggPSB0aGlzLmRyYXdXaWR0aDsKICAgICAgdmFyIGRyYXdIZWlnaHQgPSB0aGlzLmRyYXdIZWlnaHQ7CiAgICAgIHZhciBpbWdEYXRhID0geyAvLyBvdGhlciBmaWVsZHMgYXJlIGZpbGxlZCBpbiBiZWxvdwogICAgICAgIHdpZHRoOiBkcmF3V2lkdGgsCiAgICAgICAgaGVpZ2h0OiBkcmF3SGVpZ2h0CiAgICAgIH07CgogICAgICB2YXIgbnVtQ29tcHMgPSB0aGlzLm51bUNvbXBzOwogICAgICB2YXIgb3JpZ2luYWxXaWR0aCA9IHRoaXMud2lkdGg7CiAgICAgIHZhciBvcmlnaW5hbEhlaWdodCA9IHRoaXMuaGVpZ2h0OwogICAgICB2YXIgYnBjID0gdGhpcy5icGM7CgogICAgICAvLyBSb3dzIHN0YXJ0IGF0IGJ5dGUgYm91bmRhcnkuCiAgICAgIHZhciByb3dCeXRlcyA9IChvcmlnaW5hbFdpZHRoICogbnVtQ29tcHMgKiBicGMgKyA3KSA+PiAzOwogICAgICB2YXIgaW1nQXJyYXk7CgogICAgICBpZiAoIWZvcmNlUkdCQSkgewogICAgICAgIC8vIElmIGl0IGlzIGEgMS1iaXQtcGVyLXBpeGVsIGdyYXlzY2FsZSAoaS5lLiBibGFjay1hbmQtd2hpdGUpIGltYWdlCiAgICAgICAgLy8gd2l0aG91dCBhbnkgY29tcGxpY2F0aW9ucywgd2UgcGFzcyBhIHNhbWUtc2l6ZWQgY29weSB0byB0aGUgbWFpbgogICAgICAgIC8vIHRocmVhZCByYXRoZXIgdGhhbiBleHBhbmRpbmcgYnkgMzJ4IHRvIFJHQkEgZm9ybS4gVGhpcyBzYXZlcyAqbG90cyoKICAgICAgICAvLyBvZiBtZW1vcnkgZm9yIG1hbnkgc2Nhbm5lZCBkb2N1bWVudHMuIEl0J3MgYWxzbyBtdWNoIGZhc3Rlci4KICAgICAgICAvLwogICAgICAgIC8vIFNpbWlsYXJseSwgaWYgaXQgaXMgYSAyNC1iaXQtcGVyIHBpeGVsIFJHQiBpbWFnZSB3aXRob3V0IGFueQogICAgICAgIC8vIGNvbXBsaWNhdGlvbnMsIHdlIGF2b2lkIGV4cGFuZGluZyBieSAxLjMzM3ggdG8gUkdCQSBmb3JtLgogICAgICAgIHZhciBraW5kOwogICAgICAgIGlmICh0aGlzLmNvbG9yU3BhY2UubmFtZSA9PT0gJ0RldmljZUdyYXknICYmIGJwYyA9PT0gMSkgewogICAgICAgICAga2luZCA9IEltYWdlS2luZC5HUkFZU0NBTEVfMUJQUDsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29sb3JTcGFjZS5uYW1lID09PSAnRGV2aWNlUkdCJyAmJiBicGMgPT09IDggJiYKICAgICAgICAgICAgICAgICAgICF0aGlzLm5lZWRzRGVjb2RlKSB7CiAgICAgICAgICBraW5kID0gSW1hZ2VLaW5kLlJHQl8yNEJQUDsKICAgICAgICB9CiAgICAgICAgaWYgKGtpbmQgJiYgIXRoaXMuc21hc2sgJiYgIXRoaXMubWFzayAmJgogICAgICAgICAgICBkcmF3V2lkdGggPT09IG9yaWdpbmFsV2lkdGggJiYgZHJhd0hlaWdodCA9PT0gb3JpZ2luYWxIZWlnaHQpIHsKICAgICAgICAgIGltZ0RhdGEua2luZCA9IGtpbmQ7CgogICAgICAgICAgaW1nQXJyYXkgPSB0aGlzLmdldEltYWdlQnl0ZXMob3JpZ2luYWxIZWlnaHQgKiByb3dCeXRlcyk7CiAgICAgICAgICAvLyBJZiBpbWdBcnJheSBjYW1lIGZyb20gYSBEZWNvZGVTdHJlYW0sIHdlJ3JlIHNhZmUgdG8gdHJhbnNmZXIgaXQKICAgICAgICAgIC8vIChhbmQgdGh1cyBuZXV0ZXIgaXQpIGJlY2F1c2UgaXQgd2lsbCBjb25zdGl0dXRlIHRoZSBlbnRpcmUKICAgICAgICAgIC8vIERlY29kZVN0cmVhbSdzIGRhdGEuICBCdXQgaWYgaXQgY2FtZSBmcm9tIGEgU3RyZWFtLCB3ZSBuZWVkIHRvCiAgICAgICAgICAvLyBjb3B5IGl0IGJlY2F1c2UgaXQnbGwgb25seSBiZSBhIHBvcnRpb24gb2YgdGhlIFN0cmVhbSdzIGRhdGEsIGFuZAogICAgICAgICAgLy8gdGhlIHJlc3Qgd2lsbCBiZSByZWFkIGxhdGVyIG9uLgogICAgICAgICAgaWYgKHRoaXMuaW1hZ2UgaW5zdGFuY2VvZiBEZWNvZGVTdHJlYW0pIHsKICAgICAgICAgICAgaW1nRGF0YS5kYXRhID0gaW1nQXJyYXk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgbmV3QXJyYXkgPSBuZXcgVWludDhBcnJheShpbWdBcnJheS5sZW5ndGgpOwogICAgICAgICAgICBuZXdBcnJheS5zZXQoaW1nQXJyYXkpOwogICAgICAgICAgICBpbWdEYXRhLmRhdGEgPSBuZXdBcnJheTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICh0aGlzLm5lZWRzRGVjb2RlKSB7CiAgICAgICAgICAgIC8vIEludmVydCB0aGUgYnVmZmVyICh3aGljaCBtdXN0IGJlIGdyYXlzY2FsZSBpZiB3ZSByZWFjaGVkIGhlcmUpLgogICAgICAgICAgICBhc3NlcnQoa2luZCA9PT0gSW1hZ2VLaW5kLkdSQVlTQ0FMRV8xQlBQKTsKICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IGltZ0RhdGEuZGF0YTsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gYnVmZmVyLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgICAgICBidWZmZXJbaV0gXj0gMHhmZjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGltZ0RhdGE7CiAgICAgICAgfQogICAgICAgIGlmICh0aGlzLmltYWdlIGluc3RhbmNlb2YgSnBlZ1N0cmVhbSAmJiAhdGhpcy5zbWFzayAmJiAhdGhpcy5tYXNrKSB7CiAgICAgICAgICBpbWdEYXRhLmtpbmQgPSBJbWFnZUtpbmQuUkdCXzI0QlBQOwogICAgICAgICAgaW1nRGF0YS5kYXRhID0gdGhpcy5nZXRJbWFnZUJ5dGVzKG9yaWdpbmFsSGVpZ2h0ICogcm93Qnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd1dpZHRoLCBkcmF3SGVpZ2h0LCB0cnVlKTsKICAgICAgICAgIHJldHVybiBpbWdEYXRhOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaW1nQXJyYXkgPSB0aGlzLmdldEltYWdlQnl0ZXMob3JpZ2luYWxIZWlnaHQgKiByb3dCeXRlcyk7CiAgICAgIC8vIGltZ0FycmF5IGNhbiBiZSBpbmNvbXBsZXRlIChlLmcuIGFmdGVyIENDSVRUIGZheCBlbmNvZGluZykuCiAgICAgIHZhciBhY3R1YWxIZWlnaHQgPSAwIHwgKGltZ0FycmF5Lmxlbmd0aCAvIHJvd0J5dGVzICoKICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdIZWlnaHQgLyBvcmlnaW5hbEhlaWdodCk7CgogICAgICB2YXIgY29tcHMgPSB0aGlzLmdldENvbXBvbmVudHMoaW1nQXJyYXkpOwoKICAgICAgLy8gSWYgb3BhY2l0eSBkYXRhIGlzIHByZXNlbnQsIHVzZSBSR0JBXzMyQlBQIGZvcm0uIE90aGVyd2lzZSwgdXNlIHRoZQogICAgICAvLyBtb3JlIGNvbXBhY3QgUkdCXzI0QlBQIGZvcm0gaWYgYWxsb3dhYmxlLgogICAgICB2YXIgYWxwaGEwMSwgbWF5YmVVbmRvUHJlYmxlbmQ7CiAgICAgIGlmICghZm9yY2VSR0JBICYmICF0aGlzLnNtYXNrICYmICF0aGlzLm1hc2spIHsKICAgICAgICBpbWdEYXRhLmtpbmQgPSBJbWFnZUtpbmQuUkdCXzI0QlBQOwogICAgICAgIGltZ0RhdGEuZGF0YSA9IG5ldyBVaW50OEFycmF5KGRyYXdXaWR0aCAqIGRyYXdIZWlnaHQgKiAzKTsKICAgICAgICBhbHBoYTAxID0gMDsKICAgICAgICBtYXliZVVuZG9QcmVibGVuZCA9IGZhbHNlOwogICAgICB9IGVsc2UgewogICAgICAgIGltZ0RhdGEua2luZCA9IEltYWdlS2luZC5SR0JBXzMyQlBQOwogICAgICAgIGltZ0RhdGEuZGF0YSA9IG5ldyBVaW50OEFycmF5KGRyYXdXaWR0aCAqIGRyYXdIZWlnaHQgKiA0KTsKICAgICAgICBhbHBoYTAxID0gMTsKICAgICAgICBtYXliZVVuZG9QcmVibGVuZCA9IHRydWU7CgogICAgICAgIC8vIENvbG9yIGtleSBtYXNraW5nIChvcGFjaXR5KSBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgZGVjb2RpbmcuCiAgICAgICAgdGhpcy5maWxsT3BhY2l0eShpbWdEYXRhLmRhdGEsIGRyYXdXaWR0aCwgZHJhd0hlaWdodCwgYWN0dWFsSGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgY29tcHMpOwogICAgICB9CgogICAgICBpZiAodGhpcy5uZWVkc0RlY29kZSkgewogICAgICAgIHRoaXMuZGVjb2RlQnVmZmVyKGNvbXBzKTsKICAgICAgfQogICAgICB0aGlzLmNvbG9yU3BhY2UuZmlsbFJnYihpbWdEYXRhLmRhdGEsIG9yaWdpbmFsV2lkdGgsIG9yaWdpbmFsSGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3V2lkdGgsIGRyYXdIZWlnaHQsIGFjdHVhbEhlaWdodCwgYnBjLCBjb21wcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxwaGEwMSk7CiAgICAgIGlmIChtYXliZVVuZG9QcmVibGVuZCkgewogICAgICAgIHRoaXMudW5kb1ByZWJsZW5kKGltZ0RhdGEuZGF0YSwgZHJhd1dpZHRoLCBhY3R1YWxIZWlnaHQpOwogICAgICB9CgogICAgICByZXR1cm4gaW1nRGF0YTsKICAgIH0sCgogICAgZmlsbEdyYXlCdWZmZXI6IGZ1bmN0aW9uIFBERkltYWdlX2ZpbGxHcmF5QnVmZmVyKGJ1ZmZlcikgewogICAgICB2YXIgbnVtQ29tcHMgPSB0aGlzLm51bUNvbXBzOwogICAgICBpZiAobnVtQ29tcHMgIT09IDEpIHsKICAgICAgICBlcnJvcignUmVhZGluZyBncmF5IHNjYWxlIGZyb20gYSBjb2xvciBpbWFnZTogJyArIG51bUNvbXBzKTsKICAgICAgfQoKICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IHRoaXMuaGVpZ2h0OwogICAgICB2YXIgYnBjID0gdGhpcy5icGM7CgogICAgICAvLyByb3dzIHN0YXJ0IGF0IGJ5dGUgYm91bmRhcnkKICAgICAgdmFyIHJvd0J5dGVzID0gKHdpZHRoICogbnVtQ29tcHMgKiBicGMgKyA3KSA+PiAzOwogICAgICB2YXIgaW1nQXJyYXkgPSB0aGlzLmdldEltYWdlQnl0ZXMoaGVpZ2h0ICogcm93Qnl0ZXMpOwoKICAgICAgdmFyIGNvbXBzID0gdGhpcy5nZXRDb21wb25lbnRzKGltZ0FycmF5KTsKICAgICAgdmFyIGksIGxlbmd0aDsKCiAgICAgIGlmIChicGMgPT09IDEpIHsKICAgICAgICAvLyBpbmxpbmUgZGVjb2RpbmcgKD0gaW52ZXJzaW9uKSBmb3IgMSBicGMgaW1hZ2VzCiAgICAgICAgbGVuZ3RoID0gd2lkdGggKiBoZWlnaHQ7CiAgICAgICAgaWYgKHRoaXMubmVlZHNEZWNvZGUpIHsKICAgICAgICAgIC8vIGludmVydCBhbmQgc2NhbGUgdG8gezAsIDI1NX0KICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICAgICBidWZmZXJbaV0gPSAoY29tcHNbaV0gLSAxKSAmIDI1NTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gc2NhbGUgdG8gezAsIDI1NX0KICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICAgICBidWZmZXJbaV0gPSAoLWNvbXBzW2ldKSAmIDI1NTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAodGhpcy5uZWVkc0RlY29kZSkgewogICAgICAgIHRoaXMuZGVjb2RlQnVmZmVyKGNvbXBzKTsKICAgICAgfQogICAgICBsZW5ndGggPSB3aWR0aCAqIGhlaWdodDsKICAgICAgLy8gd2UgYXJlbid0IHVzaW5nIGEgY29sb3JzcGFjZSBzbyB3ZSBuZWVkIHRvIHNjYWxlIHRoZSB2YWx1ZQogICAgICB2YXIgc2NhbGUgPSAyNTUgLyAoKDEgPDwgYnBjKSAtIDEpOwogICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICBidWZmZXJbaV0gPSAoc2NhbGUgKiBjb21wc1tpXSkgfCAwOwogICAgICB9CiAgICB9LAoKICAgIGdldEltYWdlQnl0ZXM6IGZ1bmN0aW9uIFBERkltYWdlX2dldEltYWdlQnl0ZXMobGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3V2lkdGgsIGRyYXdIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlUkdCKSB7CiAgICAgIHRoaXMuaW1hZ2UucmVzZXQoKTsKICAgICAgdGhpcy5pbWFnZS5kcmF3V2lkdGggPSBkcmF3V2lkdGggfHwgdGhpcy53aWR0aDsKICAgICAgdGhpcy5pbWFnZS5kcmF3SGVpZ2h0ID0gZHJhd0hlaWdodCB8fCB0aGlzLmhlaWdodDsKICAgICAgdGhpcy5pbWFnZS5mb3JjZVJHQiA9ICEhZm9yY2VSR0I7CiAgICAgIHJldHVybiB0aGlzLmltYWdlLmdldEJ5dGVzKGxlbmd0aCk7CiAgICB9CiAgfTsKICByZXR1cm4gUERGSW1hZ2U7Cn0pKCk7CgoKLy8gVGhlIE1ldHJpY3Mgb2JqZWN0IGNvbnRhaW5zIGdseXBoIHdpZHRocyAoaW4gZ2x5cGggc3BhY2UgdW5pdHMpLgovLyBBcyBwZXIgUERGIHNwZWMsIGZvciBtb3N0IGZvbnRzIChUeXBlIDMgYmVpbmcgYW4gZXhjZXB0aW9uKSBhIGdseXBoCi8vIHNwYWNlIHVuaXQgY29ycmVzcG9uZHMgdG8gMS8xMDAwdGggb2YgdGV4dCBzcGFjZSB1bml0Lgp2YXIgTWV0cmljcyA9IHsKICAnQ291cmllcic6IDYwMCwKICAnQ291cmllci1Cb2xkJzogNjAwLAogICdDb3VyaWVyLUJvbGRPYmxpcXVlJzogNjAwLAogICdDb3VyaWVyLU9ibGlxdWUnOiA2MDAsCiAgJ0hlbHZldGljYScgOiB7CiAgICAnc3BhY2UnOiAyNzgsCiAgICAnZXhjbGFtJzogMjc4LAogICAgJ3F1b3RlZGJsJzogMzU1LAogICAgJ251bWJlcnNpZ24nOiA1NTYsCiAgICAnZG9sbGFyJzogNTU2LAogICAgJ3BlcmNlbnQnOiA4ODksCiAgICAnYW1wZXJzYW5kJzogNjY3LAogICAgJ3F1b3RlcmlnaHQnOiAyMjIsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiAzODksCiAgICAncGx1cyc6IDU4NCwKICAgICdjb21tYSc6IDI3OCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjc4LAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1NTYsCiAgICAnb25lJzogNTU2LAogICAgJ3R3byc6IDU1NiwKICAgICd0aHJlZSc6IDU1NiwKICAgICdmb3VyJzogNTU2LAogICAgJ2ZpdmUnOiA1NTYsCiAgICAnc2l4JzogNTU2LAogICAgJ3NldmVuJzogNTU2LAogICAgJ2VpZ2h0JzogNTU2LAogICAgJ25pbmUnOiA1NTYsCiAgICAnY29sb24nOiAyNzgsCiAgICAnc2VtaWNvbG9uJzogMjc4LAogICAgJ2xlc3MnOiA1ODQsCiAgICAnZXF1YWwnOiA1ODQsCiAgICAnZ3JlYXRlcic6IDU4NCwKICAgICdxdWVzdGlvbic6IDU1NiwKICAgICdhdCc6IDEwMTUsCiAgICAnQSc6IDY2NywKICAgICdCJzogNjY3LAogICAgJ0MnOiA3MjIsCiAgICAnRCc6IDcyMiwKICAgICdFJzogNjY3LAogICAgJ0YnOiA2MTEsCiAgICAnRyc6IDc3OCwKICAgICdIJzogNzIyLAogICAgJ0knOiAyNzgsCiAgICAnSic6IDUwMCwKICAgICdLJzogNjY3LAogICAgJ0wnOiA1NTYsCiAgICAnTSc6IDgzMywKICAgICdOJzogNzIyLAogICAgJ08nOiA3NzgsCiAgICAnUCc6IDY2NywKICAgICdRJzogNzc4LAogICAgJ1InOiA3MjIsCiAgICAnUyc6IDY2NywKICAgICdUJzogNjExLAogICAgJ1UnOiA3MjIsCiAgICAnVic6IDY2NywKICAgICdXJzogOTQ0LAogICAgJ1gnOiA2NjcsCiAgICAnWSc6IDY2NywKICAgICdaJzogNjExLAogICAgJ2JyYWNrZXRsZWZ0JzogMjc4LAogICAgJ2JhY2tzbGFzaCc6IDI3OCwKICAgICdicmFja2V0cmlnaHQnOiAyNzgsCiAgICAnYXNjaWljaXJjdW0nOiA0NjksCiAgICAndW5kZXJzY29yZSc6IDU1NiwKICAgICdxdW90ZWxlZnQnOiAyMjIsCiAgICAnYSc6IDU1NiwKICAgICdiJzogNTU2LAogICAgJ2MnOiA1MDAsCiAgICAnZCc6IDU1NiwKICAgICdlJzogNTU2LAogICAgJ2YnOiAyNzgsCiAgICAnZyc6IDU1NiwKICAgICdoJzogNTU2LAogICAgJ2knOiAyMjIsCiAgICAnaic6IDIyMiwKICAgICdrJzogNTAwLAogICAgJ2wnOiAyMjIsCiAgICAnbSc6IDgzMywKICAgICduJzogNTU2LAogICAgJ28nOiA1NTYsCiAgICAncCc6IDU1NiwKICAgICdxJzogNTU2LAogICAgJ3InOiAzMzMsCiAgICAncyc6IDUwMCwKICAgICd0JzogMjc4LAogICAgJ3UnOiA1NTYsCiAgICAndic6IDUwMCwKICAgICd3JzogNzIyLAogICAgJ3gnOiA1MDAsCiAgICAneSc6IDUwMCwKICAgICd6JzogNTAwLAogICAgJ2JyYWNlbGVmdCc6IDMzNCwKICAgICdiYXInOiAyNjAsCiAgICAnYnJhY2VyaWdodCc6IDMzNCwKICAgICdhc2NpaXRpbGRlJzogNTg0LAogICAgJ2V4Y2xhbWRvd24nOiAzMzMsCiAgICAnY2VudCc6IDU1NiwKICAgICdzdGVybGluZyc6IDU1NiwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICd5ZW4nOiA1NTYsCiAgICAnZmxvcmluJzogNTU2LAogICAgJ3NlY3Rpb24nOiA1NTYsCiAgICAnY3VycmVuY3knOiA1NTYsCiAgICAncXVvdGVzaW5nbGUnOiAxOTEsCiAgICAncXVvdGVkYmxsZWZ0JzogMzMzLAogICAgJ2d1aWxsZW1vdGxlZnQnOiA1NTYsCiAgICAnZ3VpbHNpbmdsbGVmdCc6IDMzMywKICAgICdndWlsc2luZ2xyaWdodCc6IDMzMywKICAgICdmaSc6IDUwMCwKICAgICdmbCc6IDUwMCwKICAgICdlbmRhc2gnOiA1NTYsCiAgICAnZGFnZ2VyJzogNTU2LAogICAgJ2RhZ2dlcmRibCc6IDU1NiwKICAgICdwZXJpb2RjZW50ZXJlZCc6IDI3OCwKICAgICdwYXJhZ3JhcGgnOiA1MzcsCiAgICAnYnVsbGV0JzogMzUwLAogICAgJ3F1b3Rlc2luZ2xiYXNlJzogMjIyLAogICAgJ3F1b3RlZGJsYmFzZSc6IDMzMywKICAgICdxdW90ZWRibHJpZ2h0JzogMzMzLAogICAgJ2d1aWxsZW1vdHJpZ2h0JzogNTU2LAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdwZXJ0aG91c2FuZCc6IDEwMDAsCiAgICAncXVlc3Rpb25kb3duJzogNjExLAogICAgJ2dyYXZlJzogMzMzLAogICAgJ2FjdXRlJzogMzMzLAogICAgJ2NpcmN1bWZsZXgnOiAzMzMsCiAgICAndGlsZGUnOiAzMzMsCiAgICAnbWFjcm9uJzogMzMzLAogICAgJ2JyZXZlJzogMzMzLAogICAgJ2RvdGFjY2VudCc6IDMzMywKICAgICdkaWVyZXNpcyc6IDMzMywKICAgICdyaW5nJzogMzMzLAogICAgJ2NlZGlsbGEnOiAzMzMsCiAgICAnaHVuZ2FydW1sYXV0JzogMzMzLAogICAgJ29nb25layc6IDMzMywKICAgICdjYXJvbic6IDMzMywKICAgICdlbWRhc2gnOiAxMDAwLAogICAgJ0FFJzogMTAwMCwKICAgICdvcmRmZW1pbmluZSc6IDM3MCwKICAgICdMc2xhc2gnOiA1NTYsCiAgICAnT3NsYXNoJzogNzc4LAogICAgJ09FJzogMTAwMCwKICAgICdvcmRtYXNjdWxpbmUnOiAzNjUsCiAgICAnYWUnOiA4ODksCiAgICAnZG90bGVzc2knOiAyNzgsCiAgICAnbHNsYXNoJzogMjIyLAogICAgJ29zbGFzaCc6IDYxMSwKICAgICdvZSc6IDk0NCwKICAgICdnZXJtYW5kYmxzJzogNjExLAogICAgJ0lkaWVyZXNpcyc6IDI3OCwKICAgICdlYWN1dGUnOiA1NTYsCiAgICAnYWJyZXZlJzogNTU2LAogICAgJ3VodW5nYXJ1bWxhdXQnOiA1NTYsCiAgICAnZWNhcm9uJzogNTU2LAogICAgJ1lkaWVyZXNpcyc6IDY2NywKICAgICdkaXZpZGUnOiA1ODQsCiAgICAnWWFjdXRlJzogNjY3LAogICAgJ0FjaXJjdW1mbGV4JzogNjY3LAogICAgJ2FhY3V0ZSc6IDU1NiwKICAgICdVY2lyY3VtZmxleCc6IDcyMiwKICAgICd5YWN1dGUnOiA1MDAsCiAgICAnc2NvbW1hYWNjZW50JzogNTAwLAogICAgJ2VjaXJjdW1mbGV4JzogNTU2LAogICAgJ1VyaW5nJzogNzIyLAogICAgJ1VkaWVyZXNpcyc6IDcyMiwKICAgICdhb2dvbmVrJzogNTU2LAogICAgJ1VhY3V0ZSc6IDcyMiwKICAgICd1b2dvbmVrJzogNTU2LAogICAgJ0VkaWVyZXNpcyc6IDY2NywKICAgICdEY3JvYXQnOiA3MjIsCiAgICAnY29tbWFhY2NlbnQnOiAyNTAsCiAgICAnY29weXJpZ2h0JzogNzM3LAogICAgJ0VtYWNyb24nOiA2NjcsCiAgICAnY2Nhcm9uJzogNTAwLAogICAgJ2FyaW5nJzogNTU2LAogICAgJ05jb21tYWFjY2VudCc6IDcyMiwKICAgICdsYWN1dGUnOiAyMjIsCiAgICAnYWdyYXZlJzogNTU2LAogICAgJ1Rjb21tYWFjY2VudCc6IDYxMSwKICAgICdDYWN1dGUnOiA3MjIsCiAgICAnYXRpbGRlJzogNTU2LAogICAgJ0Vkb3RhY2NlbnQnOiA2NjcsCiAgICAnc2Nhcm9uJzogNTAwLAogICAgJ3NjZWRpbGxhJzogNTAwLAogICAgJ2lhY3V0ZSc6IDI3OCwKICAgICdsb3plbmdlJzogNDcxLAogICAgJ1JjYXJvbic6IDcyMiwKICAgICdHY29tbWFhY2NlbnQnOiA3NzgsCiAgICAndWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnYWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnQW1hY3Jvbic6IDY2NywKICAgICdyY2Fyb24nOiAzMzMsCiAgICAnY2NlZGlsbGEnOiA1MDAsCiAgICAnWmRvdGFjY2VudCc6IDYxMSwKICAgICdUaG9ybic6IDY2NywKICAgICdPbWFjcm9uJzogNzc4LAogICAgJ1JhY3V0ZSc6IDcyMiwKICAgICdTYWN1dGUnOiA2NjcsCiAgICAnZGNhcm9uJzogNjQzLAogICAgJ1VtYWNyb24nOiA3MjIsCiAgICAndXJpbmcnOiA1NTYsCiAgICAndGhyZWVzdXBlcmlvcic6IDMzMywKICAgICdPZ3JhdmUnOiA3NzgsCiAgICAnQWdyYXZlJzogNjY3LAogICAgJ0FicmV2ZSc6IDY2NywKICAgICdtdWx0aXBseSc6IDU4NCwKICAgICd1YWN1dGUnOiA1NTYsCiAgICAnVGNhcm9uJzogNjExLAogICAgJ3BhcnRpYWxkaWZmJzogNDc2LAogICAgJ3lkaWVyZXNpcyc6IDUwMCwKICAgICdOYWN1dGUnOiA3MjIsCiAgICAnaWNpcmN1bWZsZXgnOiAyNzgsCiAgICAnRWNpcmN1bWZsZXgnOiA2NjcsCiAgICAnYWRpZXJlc2lzJzogNTU2LAogICAgJ2VkaWVyZXNpcyc6IDU1NiwKICAgICdjYWN1dGUnOiA1MDAsCiAgICAnbmFjdXRlJzogNTU2LAogICAgJ3VtYWNyb24nOiA1NTYsCiAgICAnTmNhcm9uJzogNzIyLAogICAgJ0lhY3V0ZSc6IDI3OCwKICAgICdwbHVzbWludXMnOiA1ODQsCiAgICAnYnJva2VuYmFyJzogMjYwLAogICAgJ3JlZ2lzdGVyZWQnOiA3MzcsCiAgICAnR2JyZXZlJzogNzc4LAogICAgJ0lkb3RhY2NlbnQnOiAyNzgsCiAgICAnc3VtbWF0aW9uJzogNjAwLAogICAgJ0VncmF2ZSc6IDY2NywKICAgICdyYWN1dGUnOiAzMzMsCiAgICAnb21hY3Jvbic6IDU1NiwKICAgICdaYWN1dGUnOiA2MTEsCiAgICAnWmNhcm9uJzogNjExLAogICAgJ2dyZWF0ZXJlcXVhbCc6IDU0OSwKICAgICdFdGgnOiA3MjIsCiAgICAnQ2NlZGlsbGEnOiA3MjIsCiAgICAnbGNvbW1hYWNjZW50JzogMjIyLAogICAgJ3RjYXJvbic6IDMxNywKICAgICdlb2dvbmVrJzogNTU2LAogICAgJ1VvZ29uZWsnOiA3MjIsCiAgICAnQWFjdXRlJzogNjY3LAogICAgJ0FkaWVyZXNpcyc6IDY2NywKICAgICdlZ3JhdmUnOiA1NTYsCiAgICAnemFjdXRlJzogNTAwLAogICAgJ2lvZ29uZWsnOiAyMjIsCiAgICAnT2FjdXRlJzogNzc4LAogICAgJ29hY3V0ZSc6IDU1NiwKICAgICdhbWFjcm9uJzogNTU2LAogICAgJ3NhY3V0ZSc6IDUwMCwKICAgICdpZGllcmVzaXMnOiAyNzgsCiAgICAnT2NpcmN1bWZsZXgnOiA3NzgsCiAgICAnVWdyYXZlJzogNzIyLAogICAgJ0RlbHRhJzogNjEyLAogICAgJ3Rob3JuJzogNTU2LAogICAgJ3R3b3N1cGVyaW9yJzogMzMzLAogICAgJ09kaWVyZXNpcyc6IDc3OCwKICAgICdtdSc6IDU1NiwKICAgICdpZ3JhdmUnOiAyNzgsCiAgICAnb2h1bmdhcnVtbGF1dCc6IDU1NiwKICAgICdFb2dvbmVrJzogNjY3LAogICAgJ2Rjcm9hdCc6IDU1NiwKICAgICd0aHJlZXF1YXJ0ZXJzJzogODM0LAogICAgJ1NjZWRpbGxhJzogNjY3LAogICAgJ2xjYXJvbic6IDI5OSwKICAgICdLY29tbWFhY2NlbnQnOiA2NjcsCiAgICAnTGFjdXRlJzogNTU2LAogICAgJ3RyYWRlbWFyayc6IDEwMDAsCiAgICAnZWRvdGFjY2VudCc6IDU1NiwKICAgICdJZ3JhdmUnOiAyNzgsCiAgICAnSW1hY3Jvbic6IDI3OCwKICAgICdMY2Fyb24nOiA1NTYsCiAgICAnb25laGFsZic6IDgzNCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1NTYsCiAgICAnbnRpbGRlJzogNTU2LAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjY3LAogICAgJ2VtYWNyb24nOiA1NTYsCiAgICAnZ2JyZXZlJzogNTU2LAogICAgJ29uZXF1YXJ0ZXInOiA4MzQsCiAgICAnU2Nhcm9uJzogNjY3LAogICAgJ1Njb21tYWFjY2VudCc6IDY2NywKICAgICdPaHVuZ2FydW1sYXV0JzogNzc4LAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1NTYsCiAgICAnQ2Nhcm9uJzogNzIyLAogICAgJ3VncmF2ZSc6IDU1NiwKICAgICdyYWRpY2FsJzogNDUzLAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiAzMzMsCiAgICAnTnRpbGRlJzogNzIyLAogICAgJ290aWxkZSc6IDU1NiwKICAgICdSY29tbWFhY2NlbnQnOiA3MjIsCiAgICAnTGNvbW1hYWNjZW50JzogNTU2LAogICAgJ0F0aWxkZSc6IDY2NywKICAgICdBb2dvbmVrJzogNjY3LAogICAgJ0FyaW5nJzogNjY3LAogICAgJ090aWxkZSc6IDc3OCwKICAgICd6ZG90YWNjZW50JzogNTAwLAogICAgJ0VjYXJvbic6IDY2NywKICAgICdJb2dvbmVrJzogMjc4LAogICAgJ2tjb21tYWFjY2VudCc6IDUwMCwKICAgICdtaW51cyc6IDU4NCwKICAgICdJY2lyY3VtZmxleCc6IDI3OCwKICAgICduY2Fyb24nOiA1NTYsCiAgICAndGNvbW1hYWNjZW50JzogMjc4LAogICAgJ2xvZ2ljYWxub3QnOiA1ODQsCiAgICAnb2RpZXJlc2lzJzogNTU2LAogICAgJ3VkaWVyZXNpcyc6IDU1NiwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnZXRoJzogNTU2LAogICAgJ3pjYXJvbic6IDUwMCwKICAgICduY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnb25lc3VwZXJpb3InOiAzMzMsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTU2CiAgfSwKICAnSGVsdmV0aWNhLUJvbGQnOiB7CiAgICAnc3BhY2UnOiAyNzgsCiAgICAnZXhjbGFtJzogMzMzLAogICAgJ3F1b3RlZGJsJzogNDc0LAogICAgJ251bWJlcnNpZ24nOiA1NTYsCiAgICAnZG9sbGFyJzogNTU2LAogICAgJ3BlcmNlbnQnOiA4ODksCiAgICAnYW1wZXJzYW5kJzogNzIyLAogICAgJ3F1b3RlcmlnaHQnOiAyNzgsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiAzODksCiAgICAncGx1cyc6IDU4NCwKICAgICdjb21tYSc6IDI3OCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjc4LAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1NTYsCiAgICAnb25lJzogNTU2LAogICAgJ3R3byc6IDU1NiwKICAgICd0aHJlZSc6IDU1NiwKICAgICdmb3VyJzogNTU2LAogICAgJ2ZpdmUnOiA1NTYsCiAgICAnc2l4JzogNTU2LAogICAgJ3NldmVuJzogNTU2LAogICAgJ2VpZ2h0JzogNTU2LAogICAgJ25pbmUnOiA1NTYsCiAgICAnY29sb24nOiAzMzMsCiAgICAnc2VtaWNvbG9uJzogMzMzLAogICAgJ2xlc3MnOiA1ODQsCiAgICAnZXF1YWwnOiA1ODQsCiAgICAnZ3JlYXRlcic6IDU4NCwKICAgICdxdWVzdGlvbic6IDYxMSwKICAgICdhdCc6IDk3NSwKICAgICdBJzogNzIyLAogICAgJ0InOiA3MjIsCiAgICAnQyc6IDcyMiwKICAgICdEJzogNzIyLAogICAgJ0UnOiA2NjcsCiAgICAnRic6IDYxMSwKICAgICdHJzogNzc4LAogICAgJ0gnOiA3MjIsCiAgICAnSSc6IDI3OCwKICAgICdKJzogNTU2LAogICAgJ0snOiA3MjIsCiAgICAnTCc6IDYxMSwKICAgICdNJzogODMzLAogICAgJ04nOiA3MjIsCiAgICAnTyc6IDc3OCwKICAgICdQJzogNjY3LAogICAgJ1EnOiA3NzgsCiAgICAnUic6IDcyMiwKICAgICdTJzogNjY3LAogICAgJ1QnOiA2MTEsCiAgICAnVSc6IDcyMiwKICAgICdWJzogNjY3LAogICAgJ1cnOiA5NDQsCiAgICAnWCc6IDY2NywKICAgICdZJzogNjY3LAogICAgJ1onOiA2MTEsCiAgICAnYnJhY2tldGxlZnQnOiAzMzMsCiAgICAnYmFja3NsYXNoJzogMjc4LAogICAgJ2JyYWNrZXRyaWdodCc6IDMzMywKICAgICdhc2NpaWNpcmN1bSc6IDU4NCwKICAgICd1bmRlcnNjb3JlJzogNTU2LAogICAgJ3F1b3RlbGVmdCc6IDI3OCwKICAgICdhJzogNTU2LAogICAgJ2InOiA2MTEsCiAgICAnYyc6IDU1NiwKICAgICdkJzogNjExLAogICAgJ2UnOiA1NTYsCiAgICAnZic6IDMzMywKICAgICdnJzogNjExLAogICAgJ2gnOiA2MTEsCiAgICAnaSc6IDI3OCwKICAgICdqJzogMjc4LAogICAgJ2snOiA1NTYsCiAgICAnbCc6IDI3OCwKICAgICdtJzogODg5LAogICAgJ24nOiA2MTEsCiAgICAnbyc6IDYxMSwKICAgICdwJzogNjExLAogICAgJ3EnOiA2MTEsCiAgICAncic6IDM4OSwKICAgICdzJzogNTU2LAogICAgJ3QnOiAzMzMsCiAgICAndSc6IDYxMSwKICAgICd2JzogNTU2LAogICAgJ3cnOiA3NzgsCiAgICAneCc6IDU1NiwKICAgICd5JzogNTU2LAogICAgJ3onOiA1MDAsCiAgICAnYnJhY2VsZWZ0JzogMzg5LAogICAgJ2Jhcic6IDI4MCwKICAgICdicmFjZXJpZ2h0JzogMzg5LAogICAgJ2FzY2lpdGlsZGUnOiA1ODQsCiAgICAnZXhjbGFtZG93bic6IDMzMywKICAgICdjZW50JzogNTU2LAogICAgJ3N0ZXJsaW5nJzogNTU2LAogICAgJ2ZyYWN0aW9uJzogMTY3LAogICAgJ3llbic6IDU1NiwKICAgICdmbG9yaW4nOiA1NTYsCiAgICAnc2VjdGlvbic6IDU1NiwKICAgICdjdXJyZW5jeSc6IDU1NiwKICAgICdxdW90ZXNpbmdsZSc6IDIzOCwKICAgICdxdW90ZWRibGxlZnQnOiA1MDAsCiAgICAnZ3VpbGxlbW90bGVmdCc6IDU1NiwKICAgICdndWlsc2luZ2xsZWZ0JzogMzMzLAogICAgJ2d1aWxzaW5nbHJpZ2h0JzogMzMzLAogICAgJ2ZpJzogNjExLAogICAgJ2ZsJzogNjExLAogICAgJ2VuZGFzaCc6IDU1NiwKICAgICdkYWdnZXInOiA1NTYsCiAgICAnZGFnZ2VyZGJsJzogNTU2LAogICAgJ3BlcmlvZGNlbnRlcmVkJzogMjc4LAogICAgJ3BhcmFncmFwaCc6IDU1NiwKICAgICdidWxsZXQnOiAzNTAsCiAgICAncXVvdGVzaW5nbGJhc2UnOiAyNzgsCiAgICAncXVvdGVkYmxiYXNlJzogNTAwLAogICAgJ3F1b3RlZGJscmlnaHQnOiA1MDAsCiAgICAnZ3VpbGxlbW90cmlnaHQnOiA1NTYsCiAgICAnZWxsaXBzaXMnOiAxMDAwLAogICAgJ3BlcnRob3VzYW5kJzogMTAwMCwKICAgICdxdWVzdGlvbmRvd24nOiA2MTEsCiAgICAnZ3JhdmUnOiAzMzMsCiAgICAnYWN1dGUnOiAzMzMsCiAgICAnY2lyY3VtZmxleCc6IDMzMywKICAgICd0aWxkZSc6IDMzMywKICAgICdtYWNyb24nOiAzMzMsCiAgICAnYnJldmUnOiAzMzMsCiAgICAnZG90YWNjZW50JzogMzMzLAogICAgJ2RpZXJlc2lzJzogMzMzLAogICAgJ3JpbmcnOiAzMzMsCiAgICAnY2VkaWxsYSc6IDMzMywKICAgICdodW5nYXJ1bWxhdXQnOiAzMzMsCiAgICAnb2dvbmVrJzogMzMzLAogICAgJ2Nhcm9uJzogMzMzLAogICAgJ2VtZGFzaCc6IDEwMDAsCiAgICAnQUUnOiAxMDAwLAogICAgJ29yZGZlbWluaW5lJzogMzcwLAogICAgJ0xzbGFzaCc6IDYxMSwKICAgICdPc2xhc2gnOiA3NzgsCiAgICAnT0UnOiAxMDAwLAogICAgJ29yZG1hc2N1bGluZSc6IDM2NSwKICAgICdhZSc6IDg4OSwKICAgICdkb3RsZXNzaSc6IDI3OCwKICAgICdsc2xhc2gnOiAyNzgsCiAgICAnb3NsYXNoJzogNjExLAogICAgJ29lJzogOTQ0LAogICAgJ2dlcm1hbmRibHMnOiA2MTEsCiAgICAnSWRpZXJlc2lzJzogMjc4LAogICAgJ2VhY3V0ZSc6IDU1NiwKICAgICdhYnJldmUnOiA1NTYsCiAgICAndWh1bmdhcnVtbGF1dCc6IDYxMSwKICAgICdlY2Fyb24nOiA1NTYsCiAgICAnWWRpZXJlc2lzJzogNjY3LAogICAgJ2RpdmlkZSc6IDU4NCwKICAgICdZYWN1dGUnOiA2NjcsCiAgICAnQWNpcmN1bWZsZXgnOiA3MjIsCiAgICAnYWFjdXRlJzogNTU2LAogICAgJ1VjaXJjdW1mbGV4JzogNzIyLAogICAgJ3lhY3V0ZSc6IDU1NiwKICAgICdzY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnZWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnVXJpbmcnOiA3MjIsCiAgICAnVWRpZXJlc2lzJzogNzIyLAogICAgJ2FvZ29uZWsnOiA1NTYsCiAgICAnVWFjdXRlJzogNzIyLAogICAgJ3VvZ29uZWsnOiA2MTEsCiAgICAnRWRpZXJlc2lzJzogNjY3LAogICAgJ0Rjcm9hdCc6IDcyMiwKICAgICdjb21tYWFjY2VudCc6IDI1MCwKICAgICdjb3B5cmlnaHQnOiA3MzcsCiAgICAnRW1hY3Jvbic6IDY2NywKICAgICdjY2Fyb24nOiA1NTYsCiAgICAnYXJpbmcnOiA1NTYsCiAgICAnTmNvbW1hYWNjZW50JzogNzIyLAogICAgJ2xhY3V0ZSc6IDI3OCwKICAgICdhZ3JhdmUnOiA1NTYsCiAgICAnVGNvbW1hYWNjZW50JzogNjExLAogICAgJ0NhY3V0ZSc6IDcyMiwKICAgICdhdGlsZGUnOiA1NTYsCiAgICAnRWRvdGFjY2VudCc6IDY2NywKICAgICdzY2Fyb24nOiA1NTYsCiAgICAnc2NlZGlsbGEnOiA1NTYsCiAgICAnaWFjdXRlJzogMjc4LAogICAgJ2xvemVuZ2UnOiA0OTQsCiAgICAnUmNhcm9uJzogNzIyLAogICAgJ0djb21tYWFjY2VudCc6IDc3OCwKICAgICd1Y2lyY3VtZmxleCc6IDYxMSwKICAgICdhY2lyY3VtZmxleCc6IDU1NiwKICAgICdBbWFjcm9uJzogNzIyLAogICAgJ3JjYXJvbic6IDM4OSwKICAgICdjY2VkaWxsYSc6IDU1NiwKICAgICdaZG90YWNjZW50JzogNjExLAogICAgJ1Rob3JuJzogNjY3LAogICAgJ09tYWNyb24nOiA3NzgsCiAgICAnUmFjdXRlJzogNzIyLAogICAgJ1NhY3V0ZSc6IDY2NywKICAgICdkY2Fyb24nOiA3NDMsCiAgICAnVW1hY3Jvbic6IDcyMiwKICAgICd1cmluZyc6IDYxMSwKICAgICd0aHJlZXN1cGVyaW9yJzogMzMzLAogICAgJ09ncmF2ZSc6IDc3OCwKICAgICdBZ3JhdmUnOiA3MjIsCiAgICAnQWJyZXZlJzogNzIyLAogICAgJ211bHRpcGx5JzogNTg0LAogICAgJ3VhY3V0ZSc6IDYxMSwKICAgICdUY2Fyb24nOiA2MTEsCiAgICAncGFydGlhbGRpZmYnOiA0OTQsCiAgICAneWRpZXJlc2lzJzogNTU2LAogICAgJ05hY3V0ZSc6IDcyMiwKICAgICdpY2lyY3VtZmxleCc6IDI3OCwKICAgICdFY2lyY3VtZmxleCc6IDY2NywKICAgICdhZGllcmVzaXMnOiA1NTYsCiAgICAnZWRpZXJlc2lzJzogNTU2LAogICAgJ2NhY3V0ZSc6IDU1NiwKICAgICduYWN1dGUnOiA2MTEsCiAgICAndW1hY3Jvbic6IDYxMSwKICAgICdOY2Fyb24nOiA3MjIsCiAgICAnSWFjdXRlJzogMjc4LAogICAgJ3BsdXNtaW51cyc6IDU4NCwKICAgICdicm9rZW5iYXInOiAyODAsCiAgICAncmVnaXN0ZXJlZCc6IDczNywKICAgICdHYnJldmUnOiA3NzgsCiAgICAnSWRvdGFjY2VudCc6IDI3OCwKICAgICdzdW1tYXRpb24nOiA2MDAsCiAgICAnRWdyYXZlJzogNjY3LAogICAgJ3JhY3V0ZSc6IDM4OSwKICAgICdvbWFjcm9uJzogNjExLAogICAgJ1phY3V0ZSc6IDYxMSwKICAgICdaY2Fyb24nOiA2MTEsCiAgICAnZ3JlYXRlcmVxdWFsJzogNTQ5LAogICAgJ0V0aCc6IDcyMiwKICAgICdDY2VkaWxsYSc6IDcyMiwKICAgICdsY29tbWFhY2NlbnQnOiAyNzgsCiAgICAndGNhcm9uJzogMzg5LAogICAgJ2VvZ29uZWsnOiA1NTYsCiAgICAnVW9nb25layc6IDcyMiwKICAgICdBYWN1dGUnOiA3MjIsCiAgICAnQWRpZXJlc2lzJzogNzIyLAogICAgJ2VncmF2ZSc6IDU1NiwKICAgICd6YWN1dGUnOiA1MDAsCiAgICAnaW9nb25layc6IDI3OCwKICAgICdPYWN1dGUnOiA3NzgsCiAgICAnb2FjdXRlJzogNjExLAogICAgJ2FtYWNyb24nOiA1NTYsCiAgICAnc2FjdXRlJzogNTU2LAogICAgJ2lkaWVyZXNpcyc6IDI3OCwKICAgICdPY2lyY3VtZmxleCc6IDc3OCwKICAgICdVZ3JhdmUnOiA3MjIsCiAgICAnRGVsdGEnOiA2MTIsCiAgICAndGhvcm4nOiA2MTEsCiAgICAndHdvc3VwZXJpb3InOiAzMzMsCiAgICAnT2RpZXJlc2lzJzogNzc4LAogICAgJ211JzogNjExLAogICAgJ2lncmF2ZSc6IDI3OCwKICAgICdvaHVuZ2FydW1sYXV0JzogNjExLAogICAgJ0VvZ29uZWsnOiA2NjcsCiAgICAnZGNyb2F0JzogNjExLAogICAgJ3RocmVlcXVhcnRlcnMnOiA4MzQsCiAgICAnU2NlZGlsbGEnOiA2NjcsCiAgICAnbGNhcm9uJzogNDAwLAogICAgJ0tjb21tYWFjY2VudCc6IDcyMiwKICAgICdMYWN1dGUnOiA2MTEsCiAgICAndHJhZGVtYXJrJzogMTAwMCwKICAgICdlZG90YWNjZW50JzogNTU2LAogICAgJ0lncmF2ZSc6IDI3OCwKICAgICdJbWFjcm9uJzogMjc4LAogICAgJ0xjYXJvbic6IDYxMSwKICAgICdvbmVoYWxmJzogODM0LAogICAgJ2xlc3NlcXVhbCc6IDU0OSwKICAgICdvY2lyY3VtZmxleCc6IDYxMSwKICAgICdudGlsZGUnOiA2MTEsCiAgICAnVWh1bmdhcnVtbGF1dCc6IDcyMiwKICAgICdFYWN1dGUnOiA2NjcsCiAgICAnZW1hY3Jvbic6IDU1NiwKICAgICdnYnJldmUnOiA2MTEsCiAgICAnb25lcXVhcnRlcic6IDgzNCwKICAgICdTY2Fyb24nOiA2NjcsCiAgICAnU2NvbW1hYWNjZW50JzogNjY3LAogICAgJ09odW5nYXJ1bWxhdXQnOiA3NzgsCiAgICAnZGVncmVlJzogNDAwLAogICAgJ29ncmF2ZSc6IDYxMSwKICAgICdDY2Fyb24nOiA3MjIsCiAgICAndWdyYXZlJzogNjExLAogICAgJ3JhZGljYWwnOiA1NDksCiAgICAnRGNhcm9uJzogNzIyLAogICAgJ3Jjb21tYWFjY2VudCc6IDM4OSwKICAgICdOdGlsZGUnOiA3MjIsCiAgICAnb3RpbGRlJzogNjExLAogICAgJ1Jjb21tYWFjY2VudCc6IDcyMiwKICAgICdMY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnQXRpbGRlJzogNzIyLAogICAgJ0FvZ29uZWsnOiA3MjIsCiAgICAnQXJpbmcnOiA3MjIsCiAgICAnT3RpbGRlJzogNzc4LAogICAgJ3pkb3RhY2NlbnQnOiA1MDAsCiAgICAnRWNhcm9uJzogNjY3LAogICAgJ0lvZ29uZWsnOiAyNzgsCiAgICAna2NvbW1hYWNjZW50JzogNTU2LAogICAgJ21pbnVzJzogNTg0LAogICAgJ0ljaXJjdW1mbGV4JzogMjc4LAogICAgJ25jYXJvbic6IDYxMSwKICAgICd0Y29tbWFhY2NlbnQnOiAzMzMsCiAgICAnbG9naWNhbG5vdCc6IDU4NCwKICAgICdvZGllcmVzaXMnOiA2MTEsCiAgICAndWRpZXJlc2lzJzogNjExLAogICAgJ25vdGVxdWFsJzogNTQ5LAogICAgJ2djb21tYWFjY2VudCc6IDYxMSwKICAgICdldGgnOiA2MTEsCiAgICAnemNhcm9uJzogNTAwLAogICAgJ25jb21tYWFjY2VudCc6IDYxMSwKICAgICdvbmVzdXBlcmlvcic6IDMzMywKICAgICdpbWFjcm9uJzogMjc4LAogICAgJ0V1cm8nOiA1NTYKICB9LAogICdIZWx2ZXRpY2EtQm9sZE9ibGlxdWUnOiB7CiAgICAnc3BhY2UnOiAyNzgsCiAgICAnZXhjbGFtJzogMzMzLAogICAgJ3F1b3RlZGJsJzogNDc0LAogICAgJ251bWJlcnNpZ24nOiA1NTYsCiAgICAnZG9sbGFyJzogNTU2LAogICAgJ3BlcmNlbnQnOiA4ODksCiAgICAnYW1wZXJzYW5kJzogNzIyLAogICAgJ3F1b3RlcmlnaHQnOiAyNzgsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiAzODksCiAgICAncGx1cyc6IDU4NCwKICAgICdjb21tYSc6IDI3OCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjc4LAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1NTYsCiAgICAnb25lJzogNTU2LAogICAgJ3R3byc6IDU1NiwKICAgICd0aHJlZSc6IDU1NiwKICAgICdmb3VyJzogNTU2LAogICAgJ2ZpdmUnOiA1NTYsCiAgICAnc2l4JzogNTU2LAogICAgJ3NldmVuJzogNTU2LAogICAgJ2VpZ2h0JzogNTU2LAogICAgJ25pbmUnOiA1NTYsCiAgICAnY29sb24nOiAzMzMsCiAgICAnc2VtaWNvbG9uJzogMzMzLAogICAgJ2xlc3MnOiA1ODQsCiAgICAnZXF1YWwnOiA1ODQsCiAgICAnZ3JlYXRlcic6IDU4NCwKICAgICdxdWVzdGlvbic6IDYxMSwKICAgICdhdCc6IDk3NSwKICAgICdBJzogNzIyLAogICAgJ0InOiA3MjIsCiAgICAnQyc6IDcyMiwKICAgICdEJzogNzIyLAogICAgJ0UnOiA2NjcsCiAgICAnRic6IDYxMSwKICAgICdHJzogNzc4LAogICAgJ0gnOiA3MjIsCiAgICAnSSc6IDI3OCwKICAgICdKJzogNTU2LAogICAgJ0snOiA3MjIsCiAgICAnTCc6IDYxMSwKICAgICdNJzogODMzLAogICAgJ04nOiA3MjIsCiAgICAnTyc6IDc3OCwKICAgICdQJzogNjY3LAogICAgJ1EnOiA3NzgsCiAgICAnUic6IDcyMiwKICAgICdTJzogNjY3LAogICAgJ1QnOiA2MTEsCiAgICAnVSc6IDcyMiwKICAgICdWJzogNjY3LAogICAgJ1cnOiA5NDQsCiAgICAnWCc6IDY2NywKICAgICdZJzogNjY3LAogICAgJ1onOiA2MTEsCiAgICAnYnJhY2tldGxlZnQnOiAzMzMsCiAgICAnYmFja3NsYXNoJzogMjc4LAogICAgJ2JyYWNrZXRyaWdodCc6IDMzMywKICAgICdhc2NpaWNpcmN1bSc6IDU4NCwKICAgICd1bmRlcnNjb3JlJzogNTU2LAogICAgJ3F1b3RlbGVmdCc6IDI3OCwKICAgICdhJzogNTU2LAogICAgJ2InOiA2MTEsCiAgICAnYyc6IDU1NiwKICAgICdkJzogNjExLAogICAgJ2UnOiA1NTYsCiAgICAnZic6IDMzMywKICAgICdnJzogNjExLAogICAgJ2gnOiA2MTEsCiAgICAnaSc6IDI3OCwKICAgICdqJzogMjc4LAogICAgJ2snOiA1NTYsCiAgICAnbCc6IDI3OCwKICAgICdtJzogODg5LAogICAgJ24nOiA2MTEsCiAgICAnbyc6IDYxMSwKICAgICdwJzogNjExLAogICAgJ3EnOiA2MTEsCiAgICAncic6IDM4OSwKICAgICdzJzogNTU2LAogICAgJ3QnOiAzMzMsCiAgICAndSc6IDYxMSwKICAgICd2JzogNTU2LAogICAgJ3cnOiA3NzgsCiAgICAneCc6IDU1NiwKICAgICd5JzogNTU2LAogICAgJ3onOiA1MDAsCiAgICAnYnJhY2VsZWZ0JzogMzg5LAogICAgJ2Jhcic6IDI4MCwKICAgICdicmFjZXJpZ2h0JzogMzg5LAogICAgJ2FzY2lpdGlsZGUnOiA1ODQsCiAgICAnZXhjbGFtZG93bic6IDMzMywKICAgICdjZW50JzogNTU2LAogICAgJ3N0ZXJsaW5nJzogNTU2LAogICAgJ2ZyYWN0aW9uJzogMTY3LAogICAgJ3llbic6IDU1NiwKICAgICdmbG9yaW4nOiA1NTYsCiAgICAnc2VjdGlvbic6IDU1NiwKICAgICdjdXJyZW5jeSc6IDU1NiwKICAgICdxdW90ZXNpbmdsZSc6IDIzOCwKICAgICdxdW90ZWRibGxlZnQnOiA1MDAsCiAgICAnZ3VpbGxlbW90bGVmdCc6IDU1NiwKICAgICdndWlsc2luZ2xsZWZ0JzogMzMzLAogICAgJ2d1aWxzaW5nbHJpZ2h0JzogMzMzLAogICAgJ2ZpJzogNjExLAogICAgJ2ZsJzogNjExLAogICAgJ2VuZGFzaCc6IDU1NiwKICAgICdkYWdnZXInOiA1NTYsCiAgICAnZGFnZ2VyZGJsJzogNTU2LAogICAgJ3BlcmlvZGNlbnRlcmVkJzogMjc4LAogICAgJ3BhcmFncmFwaCc6IDU1NiwKICAgICdidWxsZXQnOiAzNTAsCiAgICAncXVvdGVzaW5nbGJhc2UnOiAyNzgsCiAgICAncXVvdGVkYmxiYXNlJzogNTAwLAogICAgJ3F1b3RlZGJscmlnaHQnOiA1MDAsCiAgICAnZ3VpbGxlbW90cmlnaHQnOiA1NTYsCiAgICAnZWxsaXBzaXMnOiAxMDAwLAogICAgJ3BlcnRob3VzYW5kJzogMTAwMCwKICAgICdxdWVzdGlvbmRvd24nOiA2MTEsCiAgICAnZ3JhdmUnOiAzMzMsCiAgICAnYWN1dGUnOiAzMzMsCiAgICAnY2lyY3VtZmxleCc6IDMzMywKICAgICd0aWxkZSc6IDMzMywKICAgICdtYWNyb24nOiAzMzMsCiAgICAnYnJldmUnOiAzMzMsCiAgICAnZG90YWNjZW50JzogMzMzLAogICAgJ2RpZXJlc2lzJzogMzMzLAogICAgJ3JpbmcnOiAzMzMsCiAgICAnY2VkaWxsYSc6IDMzMywKICAgICdodW5nYXJ1bWxhdXQnOiAzMzMsCiAgICAnb2dvbmVrJzogMzMzLAogICAgJ2Nhcm9uJzogMzMzLAogICAgJ2VtZGFzaCc6IDEwMDAsCiAgICAnQUUnOiAxMDAwLAogICAgJ29yZGZlbWluaW5lJzogMzcwLAogICAgJ0xzbGFzaCc6IDYxMSwKICAgICdPc2xhc2gnOiA3NzgsCiAgICAnT0UnOiAxMDAwLAogICAgJ29yZG1hc2N1bGluZSc6IDM2NSwKICAgICdhZSc6IDg4OSwKICAgICdkb3RsZXNzaSc6IDI3OCwKICAgICdsc2xhc2gnOiAyNzgsCiAgICAnb3NsYXNoJzogNjExLAogICAgJ29lJzogOTQ0LAogICAgJ2dlcm1hbmRibHMnOiA2MTEsCiAgICAnSWRpZXJlc2lzJzogMjc4LAogICAgJ2VhY3V0ZSc6IDU1NiwKICAgICdhYnJldmUnOiA1NTYsCiAgICAndWh1bmdhcnVtbGF1dCc6IDYxMSwKICAgICdlY2Fyb24nOiA1NTYsCiAgICAnWWRpZXJlc2lzJzogNjY3LAogICAgJ2RpdmlkZSc6IDU4NCwKICAgICdZYWN1dGUnOiA2NjcsCiAgICAnQWNpcmN1bWZsZXgnOiA3MjIsCiAgICAnYWFjdXRlJzogNTU2LAogICAgJ1VjaXJjdW1mbGV4JzogNzIyLAogICAgJ3lhY3V0ZSc6IDU1NiwKICAgICdzY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnZWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnVXJpbmcnOiA3MjIsCiAgICAnVWRpZXJlc2lzJzogNzIyLAogICAgJ2FvZ29uZWsnOiA1NTYsCiAgICAnVWFjdXRlJzogNzIyLAogICAgJ3VvZ29uZWsnOiA2MTEsCiAgICAnRWRpZXJlc2lzJzogNjY3LAogICAgJ0Rjcm9hdCc6IDcyMiwKICAgICdjb21tYWFjY2VudCc6IDI1MCwKICAgICdjb3B5cmlnaHQnOiA3MzcsCiAgICAnRW1hY3Jvbic6IDY2NywKICAgICdjY2Fyb24nOiA1NTYsCiAgICAnYXJpbmcnOiA1NTYsCiAgICAnTmNvbW1hYWNjZW50JzogNzIyLAogICAgJ2xhY3V0ZSc6IDI3OCwKICAgICdhZ3JhdmUnOiA1NTYsCiAgICAnVGNvbW1hYWNjZW50JzogNjExLAogICAgJ0NhY3V0ZSc6IDcyMiwKICAgICdhdGlsZGUnOiA1NTYsCiAgICAnRWRvdGFjY2VudCc6IDY2NywKICAgICdzY2Fyb24nOiA1NTYsCiAgICAnc2NlZGlsbGEnOiA1NTYsCiAgICAnaWFjdXRlJzogMjc4LAogICAgJ2xvemVuZ2UnOiA0OTQsCiAgICAnUmNhcm9uJzogNzIyLAogICAgJ0djb21tYWFjY2VudCc6IDc3OCwKICAgICd1Y2lyY3VtZmxleCc6IDYxMSwKICAgICdhY2lyY3VtZmxleCc6IDU1NiwKICAgICdBbWFjcm9uJzogNzIyLAogICAgJ3JjYXJvbic6IDM4OSwKICAgICdjY2VkaWxsYSc6IDU1NiwKICAgICdaZG90YWNjZW50JzogNjExLAogICAgJ1Rob3JuJzogNjY3LAogICAgJ09tYWNyb24nOiA3NzgsCiAgICAnUmFjdXRlJzogNzIyLAogICAgJ1NhY3V0ZSc6IDY2NywKICAgICdkY2Fyb24nOiA3NDMsCiAgICAnVW1hY3Jvbic6IDcyMiwKICAgICd1cmluZyc6IDYxMSwKICAgICd0aHJlZXN1cGVyaW9yJzogMzMzLAogICAgJ09ncmF2ZSc6IDc3OCwKICAgICdBZ3JhdmUnOiA3MjIsCiAgICAnQWJyZXZlJzogNzIyLAogICAgJ211bHRpcGx5JzogNTg0LAogICAgJ3VhY3V0ZSc6IDYxMSwKICAgICdUY2Fyb24nOiA2MTEsCiAgICAncGFydGlhbGRpZmYnOiA0OTQsCiAgICAneWRpZXJlc2lzJzogNTU2LAogICAgJ05hY3V0ZSc6IDcyMiwKICAgICdpY2lyY3VtZmxleCc6IDI3OCwKICAgICdFY2lyY3VtZmxleCc6IDY2NywKICAgICdhZGllcmVzaXMnOiA1NTYsCiAgICAnZWRpZXJlc2lzJzogNTU2LAogICAgJ2NhY3V0ZSc6IDU1NiwKICAgICduYWN1dGUnOiA2MTEsCiAgICAndW1hY3Jvbic6IDYxMSwKICAgICdOY2Fyb24nOiA3MjIsCiAgICAnSWFjdXRlJzogMjc4LAogICAgJ3BsdXNtaW51cyc6IDU4NCwKICAgICdicm9rZW5iYXInOiAyODAsCiAgICAncmVnaXN0ZXJlZCc6IDczNywKICAgICdHYnJldmUnOiA3NzgsCiAgICAnSWRvdGFjY2VudCc6IDI3OCwKICAgICdzdW1tYXRpb24nOiA2MDAsCiAgICAnRWdyYXZlJzogNjY3LAogICAgJ3JhY3V0ZSc6IDM4OSwKICAgICdvbWFjcm9uJzogNjExLAogICAgJ1phY3V0ZSc6IDYxMSwKICAgICdaY2Fyb24nOiA2MTEsCiAgICAnZ3JlYXRlcmVxdWFsJzogNTQ5LAogICAgJ0V0aCc6IDcyMiwKICAgICdDY2VkaWxsYSc6IDcyMiwKICAgICdsY29tbWFhY2NlbnQnOiAyNzgsCiAgICAndGNhcm9uJzogMzg5LAogICAgJ2VvZ29uZWsnOiA1NTYsCiAgICAnVW9nb25layc6IDcyMiwKICAgICdBYWN1dGUnOiA3MjIsCiAgICAnQWRpZXJlc2lzJzogNzIyLAogICAgJ2VncmF2ZSc6IDU1NiwKICAgICd6YWN1dGUnOiA1MDAsCiAgICAnaW9nb25layc6IDI3OCwKICAgICdPYWN1dGUnOiA3NzgsCiAgICAnb2FjdXRlJzogNjExLAogICAgJ2FtYWNyb24nOiA1NTYsCiAgICAnc2FjdXRlJzogNTU2LAogICAgJ2lkaWVyZXNpcyc6IDI3OCwKICAgICdPY2lyY3VtZmxleCc6IDc3OCwKICAgICdVZ3JhdmUnOiA3MjIsCiAgICAnRGVsdGEnOiA2MTIsCiAgICAndGhvcm4nOiA2MTEsCiAgICAndHdvc3VwZXJpb3InOiAzMzMsCiAgICAnT2RpZXJlc2lzJzogNzc4LAogICAgJ211JzogNjExLAogICAgJ2lncmF2ZSc6IDI3OCwKICAgICdvaHVuZ2FydW1sYXV0JzogNjExLAogICAgJ0VvZ29uZWsnOiA2NjcsCiAgICAnZGNyb2F0JzogNjExLAogICAgJ3RocmVlcXVhcnRlcnMnOiA4MzQsCiAgICAnU2NlZGlsbGEnOiA2NjcsCiAgICAnbGNhcm9uJzogNDAwLAogICAgJ0tjb21tYWFjY2VudCc6IDcyMiwKICAgICdMYWN1dGUnOiA2MTEsCiAgICAndHJhZGVtYXJrJzogMTAwMCwKICAgICdlZG90YWNjZW50JzogNTU2LAogICAgJ0lncmF2ZSc6IDI3OCwKICAgICdJbWFjcm9uJzogMjc4LAogICAgJ0xjYXJvbic6IDYxMSwKICAgICdvbmVoYWxmJzogODM0LAogICAgJ2xlc3NlcXVhbCc6IDU0OSwKICAgICdvY2lyY3VtZmxleCc6IDYxMSwKICAgICdudGlsZGUnOiA2MTEsCiAgICAnVWh1bmdhcnVtbGF1dCc6IDcyMiwKICAgICdFYWN1dGUnOiA2NjcsCiAgICAnZW1hY3Jvbic6IDU1NiwKICAgICdnYnJldmUnOiA2MTEsCiAgICAnb25lcXVhcnRlcic6IDgzNCwKICAgICdTY2Fyb24nOiA2NjcsCiAgICAnU2NvbW1hYWNjZW50JzogNjY3LAogICAgJ09odW5nYXJ1bWxhdXQnOiA3NzgsCiAgICAnZGVncmVlJzogNDAwLAogICAgJ29ncmF2ZSc6IDYxMSwKICAgICdDY2Fyb24nOiA3MjIsCiAgICAndWdyYXZlJzogNjExLAogICAgJ3JhZGljYWwnOiA1NDksCiAgICAnRGNhcm9uJzogNzIyLAogICAgJ3Jjb21tYWFjY2VudCc6IDM4OSwKICAgICdOdGlsZGUnOiA3MjIsCiAgICAnb3RpbGRlJzogNjExLAogICAgJ1Jjb21tYWFjY2VudCc6IDcyMiwKICAgICdMY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnQXRpbGRlJzogNzIyLAogICAgJ0FvZ29uZWsnOiA3MjIsCiAgICAnQXJpbmcnOiA3MjIsCiAgICAnT3RpbGRlJzogNzc4LAogICAgJ3pkb3RhY2NlbnQnOiA1MDAsCiAgICAnRWNhcm9uJzogNjY3LAogICAgJ0lvZ29uZWsnOiAyNzgsCiAgICAna2NvbW1hYWNjZW50JzogNTU2LAogICAgJ21pbnVzJzogNTg0LAogICAgJ0ljaXJjdW1mbGV4JzogMjc4LAogICAgJ25jYXJvbic6IDYxMSwKICAgICd0Y29tbWFhY2NlbnQnOiAzMzMsCiAgICAnbG9naWNhbG5vdCc6IDU4NCwKICAgICdvZGllcmVzaXMnOiA2MTEsCiAgICAndWRpZXJlc2lzJzogNjExLAogICAgJ25vdGVxdWFsJzogNTQ5LAogICAgJ2djb21tYWFjY2VudCc6IDYxMSwKICAgICdldGgnOiA2MTEsCiAgICAnemNhcm9uJzogNTAwLAogICAgJ25jb21tYWFjY2VudCc6IDYxMSwKICAgICdvbmVzdXBlcmlvcic6IDMzMywKICAgICdpbWFjcm9uJzogMjc4LAogICAgJ0V1cm8nOiA1NTYKICB9LAogICdIZWx2ZXRpY2EtT2JsaXF1ZScgOiB7CiAgICAnc3BhY2UnOiAyNzgsCiAgICAnZXhjbGFtJzogMjc4LAogICAgJ3F1b3RlZGJsJzogMzU1LAogICAgJ251bWJlcnNpZ24nOiA1NTYsCiAgICAnZG9sbGFyJzogNTU2LAogICAgJ3BlcmNlbnQnOiA4ODksCiAgICAnYW1wZXJzYW5kJzogNjY3LAogICAgJ3F1b3RlcmlnaHQnOiAyMjIsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiAzODksCiAgICAncGx1cyc6IDU4NCwKICAgICdjb21tYSc6IDI3OCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjc4LAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1NTYsCiAgICAnb25lJzogNTU2LAogICAgJ3R3byc6IDU1NiwKICAgICd0aHJlZSc6IDU1NiwKICAgICdmb3VyJzogNTU2LAogICAgJ2ZpdmUnOiA1NTYsCiAgICAnc2l4JzogNTU2LAogICAgJ3NldmVuJzogNTU2LAogICAgJ2VpZ2h0JzogNTU2LAogICAgJ25pbmUnOiA1NTYsCiAgICAnY29sb24nOiAyNzgsCiAgICAnc2VtaWNvbG9uJzogMjc4LAogICAgJ2xlc3MnOiA1ODQsCiAgICAnZXF1YWwnOiA1ODQsCiAgICAnZ3JlYXRlcic6IDU4NCwKICAgICdxdWVzdGlvbic6IDU1NiwKICAgICdhdCc6IDEwMTUsCiAgICAnQSc6IDY2NywKICAgICdCJzogNjY3LAogICAgJ0MnOiA3MjIsCiAgICAnRCc6IDcyMiwKICAgICdFJzogNjY3LAogICAgJ0YnOiA2MTEsCiAgICAnRyc6IDc3OCwKICAgICdIJzogNzIyLAogICAgJ0knOiAyNzgsCiAgICAnSic6IDUwMCwKICAgICdLJzogNjY3LAogICAgJ0wnOiA1NTYsCiAgICAnTSc6IDgzMywKICAgICdOJzogNzIyLAogICAgJ08nOiA3NzgsCiAgICAnUCc6IDY2NywKICAgICdRJzogNzc4LAogICAgJ1InOiA3MjIsCiAgICAnUyc6IDY2NywKICAgICdUJzogNjExLAogICAgJ1UnOiA3MjIsCiAgICAnVic6IDY2NywKICAgICdXJzogOTQ0LAogICAgJ1gnOiA2NjcsCiAgICAnWSc6IDY2NywKICAgICdaJzogNjExLAogICAgJ2JyYWNrZXRsZWZ0JzogMjc4LAogICAgJ2JhY2tzbGFzaCc6IDI3OCwKICAgICdicmFja2V0cmlnaHQnOiAyNzgsCiAgICAnYXNjaWljaXJjdW0nOiA0NjksCiAgICAndW5kZXJzY29yZSc6IDU1NiwKICAgICdxdW90ZWxlZnQnOiAyMjIsCiAgICAnYSc6IDU1NiwKICAgICdiJzogNTU2LAogICAgJ2MnOiA1MDAsCiAgICAnZCc6IDU1NiwKICAgICdlJzogNTU2LAogICAgJ2YnOiAyNzgsCiAgICAnZyc6IDU1NiwKICAgICdoJzogNTU2LAogICAgJ2knOiAyMjIsCiAgICAnaic6IDIyMiwKICAgICdrJzogNTAwLAogICAgJ2wnOiAyMjIsCiAgICAnbSc6IDgzMywKICAgICduJzogNTU2LAogICAgJ28nOiA1NTYsCiAgICAncCc6IDU1NiwKICAgICdxJzogNTU2LAogICAgJ3InOiAzMzMsCiAgICAncyc6IDUwMCwKICAgICd0JzogMjc4LAogICAgJ3UnOiA1NTYsCiAgICAndic6IDUwMCwKICAgICd3JzogNzIyLAogICAgJ3gnOiA1MDAsCiAgICAneSc6IDUwMCwKICAgICd6JzogNTAwLAogICAgJ2JyYWNlbGVmdCc6IDMzNCwKICAgICdiYXInOiAyNjAsCiAgICAnYnJhY2VyaWdodCc6IDMzNCwKICAgICdhc2NpaXRpbGRlJzogNTg0LAogICAgJ2V4Y2xhbWRvd24nOiAzMzMsCiAgICAnY2VudCc6IDU1NiwKICAgICdzdGVybGluZyc6IDU1NiwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICd5ZW4nOiA1NTYsCiAgICAnZmxvcmluJzogNTU2LAogICAgJ3NlY3Rpb24nOiA1NTYsCiAgICAnY3VycmVuY3knOiA1NTYsCiAgICAncXVvdGVzaW5nbGUnOiAxOTEsCiAgICAncXVvdGVkYmxsZWZ0JzogMzMzLAogICAgJ2d1aWxsZW1vdGxlZnQnOiA1NTYsCiAgICAnZ3VpbHNpbmdsbGVmdCc6IDMzMywKICAgICdndWlsc2luZ2xyaWdodCc6IDMzMywKICAgICdmaSc6IDUwMCwKICAgICdmbCc6IDUwMCwKICAgICdlbmRhc2gnOiA1NTYsCiAgICAnZGFnZ2VyJzogNTU2LAogICAgJ2RhZ2dlcmRibCc6IDU1NiwKICAgICdwZXJpb2RjZW50ZXJlZCc6IDI3OCwKICAgICdwYXJhZ3JhcGgnOiA1MzcsCiAgICAnYnVsbGV0JzogMzUwLAogICAgJ3F1b3Rlc2luZ2xiYXNlJzogMjIyLAogICAgJ3F1b3RlZGJsYmFzZSc6IDMzMywKICAgICdxdW90ZWRibHJpZ2h0JzogMzMzLAogICAgJ2d1aWxsZW1vdHJpZ2h0JzogNTU2LAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdwZXJ0aG91c2FuZCc6IDEwMDAsCiAgICAncXVlc3Rpb25kb3duJzogNjExLAogICAgJ2dyYXZlJzogMzMzLAogICAgJ2FjdXRlJzogMzMzLAogICAgJ2NpcmN1bWZsZXgnOiAzMzMsCiAgICAndGlsZGUnOiAzMzMsCiAgICAnbWFjcm9uJzogMzMzLAogICAgJ2JyZXZlJzogMzMzLAogICAgJ2RvdGFjY2VudCc6IDMzMywKICAgICdkaWVyZXNpcyc6IDMzMywKICAgICdyaW5nJzogMzMzLAogICAgJ2NlZGlsbGEnOiAzMzMsCiAgICAnaHVuZ2FydW1sYXV0JzogMzMzLAogICAgJ29nb25layc6IDMzMywKICAgICdjYXJvbic6IDMzMywKICAgICdlbWRhc2gnOiAxMDAwLAogICAgJ0FFJzogMTAwMCwKICAgICdvcmRmZW1pbmluZSc6IDM3MCwKICAgICdMc2xhc2gnOiA1NTYsCiAgICAnT3NsYXNoJzogNzc4LAogICAgJ09FJzogMTAwMCwKICAgICdvcmRtYXNjdWxpbmUnOiAzNjUsCiAgICAnYWUnOiA4ODksCiAgICAnZG90bGVzc2knOiAyNzgsCiAgICAnbHNsYXNoJzogMjIyLAogICAgJ29zbGFzaCc6IDYxMSwKICAgICdvZSc6IDk0NCwKICAgICdnZXJtYW5kYmxzJzogNjExLAogICAgJ0lkaWVyZXNpcyc6IDI3OCwKICAgICdlYWN1dGUnOiA1NTYsCiAgICAnYWJyZXZlJzogNTU2LAogICAgJ3VodW5nYXJ1bWxhdXQnOiA1NTYsCiAgICAnZWNhcm9uJzogNTU2LAogICAgJ1lkaWVyZXNpcyc6IDY2NywKICAgICdkaXZpZGUnOiA1ODQsCiAgICAnWWFjdXRlJzogNjY3LAogICAgJ0FjaXJjdW1mbGV4JzogNjY3LAogICAgJ2FhY3V0ZSc6IDU1NiwKICAgICdVY2lyY3VtZmxleCc6IDcyMiwKICAgICd5YWN1dGUnOiA1MDAsCiAgICAnc2NvbW1hYWNjZW50JzogNTAwLAogICAgJ2VjaXJjdW1mbGV4JzogNTU2LAogICAgJ1VyaW5nJzogNzIyLAogICAgJ1VkaWVyZXNpcyc6IDcyMiwKICAgICdhb2dvbmVrJzogNTU2LAogICAgJ1VhY3V0ZSc6IDcyMiwKICAgICd1b2dvbmVrJzogNTU2LAogICAgJ0VkaWVyZXNpcyc6IDY2NywKICAgICdEY3JvYXQnOiA3MjIsCiAgICAnY29tbWFhY2NlbnQnOiAyNTAsCiAgICAnY29weXJpZ2h0JzogNzM3LAogICAgJ0VtYWNyb24nOiA2NjcsCiAgICAnY2Nhcm9uJzogNTAwLAogICAgJ2FyaW5nJzogNTU2LAogICAgJ05jb21tYWFjY2VudCc6IDcyMiwKICAgICdsYWN1dGUnOiAyMjIsCiAgICAnYWdyYXZlJzogNTU2LAogICAgJ1Rjb21tYWFjY2VudCc6IDYxMSwKICAgICdDYWN1dGUnOiA3MjIsCiAgICAnYXRpbGRlJzogNTU2LAogICAgJ0Vkb3RhY2NlbnQnOiA2NjcsCiAgICAnc2Nhcm9uJzogNTAwLAogICAgJ3NjZWRpbGxhJzogNTAwLAogICAgJ2lhY3V0ZSc6IDI3OCwKICAgICdsb3plbmdlJzogNDcxLAogICAgJ1JjYXJvbic6IDcyMiwKICAgICdHY29tbWFhY2NlbnQnOiA3NzgsCiAgICAndWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnYWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnQW1hY3Jvbic6IDY2NywKICAgICdyY2Fyb24nOiAzMzMsCiAgICAnY2NlZGlsbGEnOiA1MDAsCiAgICAnWmRvdGFjY2VudCc6IDYxMSwKICAgICdUaG9ybic6IDY2NywKICAgICdPbWFjcm9uJzogNzc4LAogICAgJ1JhY3V0ZSc6IDcyMiwKICAgICdTYWN1dGUnOiA2NjcsCiAgICAnZGNhcm9uJzogNjQzLAogICAgJ1VtYWNyb24nOiA3MjIsCiAgICAndXJpbmcnOiA1NTYsCiAgICAndGhyZWVzdXBlcmlvcic6IDMzMywKICAgICdPZ3JhdmUnOiA3NzgsCiAgICAnQWdyYXZlJzogNjY3LAogICAgJ0FicmV2ZSc6IDY2NywKICAgICdtdWx0aXBseSc6IDU4NCwKICAgICd1YWN1dGUnOiA1NTYsCiAgICAnVGNhcm9uJzogNjExLAogICAgJ3BhcnRpYWxkaWZmJzogNDc2LAogICAgJ3lkaWVyZXNpcyc6IDUwMCwKICAgICdOYWN1dGUnOiA3MjIsCiAgICAnaWNpcmN1bWZsZXgnOiAyNzgsCiAgICAnRWNpcmN1bWZsZXgnOiA2NjcsCiAgICAnYWRpZXJlc2lzJzogNTU2LAogICAgJ2VkaWVyZXNpcyc6IDU1NiwKICAgICdjYWN1dGUnOiA1MDAsCiAgICAnbmFjdXRlJzogNTU2LAogICAgJ3VtYWNyb24nOiA1NTYsCiAgICAnTmNhcm9uJzogNzIyLAogICAgJ0lhY3V0ZSc6IDI3OCwKICAgICdwbHVzbWludXMnOiA1ODQsCiAgICAnYnJva2VuYmFyJzogMjYwLAogICAgJ3JlZ2lzdGVyZWQnOiA3MzcsCiAgICAnR2JyZXZlJzogNzc4LAogICAgJ0lkb3RhY2NlbnQnOiAyNzgsCiAgICAnc3VtbWF0aW9uJzogNjAwLAogICAgJ0VncmF2ZSc6IDY2NywKICAgICdyYWN1dGUnOiAzMzMsCiAgICAnb21hY3Jvbic6IDU1NiwKICAgICdaYWN1dGUnOiA2MTEsCiAgICAnWmNhcm9uJzogNjExLAogICAgJ2dyZWF0ZXJlcXVhbCc6IDU0OSwKICAgICdFdGgnOiA3MjIsCiAgICAnQ2NlZGlsbGEnOiA3MjIsCiAgICAnbGNvbW1hYWNjZW50JzogMjIyLAogICAgJ3RjYXJvbic6IDMxNywKICAgICdlb2dvbmVrJzogNTU2LAogICAgJ1VvZ29uZWsnOiA3MjIsCiAgICAnQWFjdXRlJzogNjY3LAogICAgJ0FkaWVyZXNpcyc6IDY2NywKICAgICdlZ3JhdmUnOiA1NTYsCiAgICAnemFjdXRlJzogNTAwLAogICAgJ2lvZ29uZWsnOiAyMjIsCiAgICAnT2FjdXRlJzogNzc4LAogICAgJ29hY3V0ZSc6IDU1NiwKICAgICdhbWFjcm9uJzogNTU2LAogICAgJ3NhY3V0ZSc6IDUwMCwKICAgICdpZGllcmVzaXMnOiAyNzgsCiAgICAnT2NpcmN1bWZsZXgnOiA3NzgsCiAgICAnVWdyYXZlJzogNzIyLAogICAgJ0RlbHRhJzogNjEyLAogICAgJ3Rob3JuJzogNTU2LAogICAgJ3R3b3N1cGVyaW9yJzogMzMzLAogICAgJ09kaWVyZXNpcyc6IDc3OCwKICAgICdtdSc6IDU1NiwKICAgICdpZ3JhdmUnOiAyNzgsCiAgICAnb2h1bmdhcnVtbGF1dCc6IDU1NiwKICAgICdFb2dvbmVrJzogNjY3LAogICAgJ2Rjcm9hdCc6IDU1NiwKICAgICd0aHJlZXF1YXJ0ZXJzJzogODM0LAogICAgJ1NjZWRpbGxhJzogNjY3LAogICAgJ2xjYXJvbic6IDI5OSwKICAgICdLY29tbWFhY2NlbnQnOiA2NjcsCiAgICAnTGFjdXRlJzogNTU2LAogICAgJ3RyYWRlbWFyayc6IDEwMDAsCiAgICAnZWRvdGFjY2VudCc6IDU1NiwKICAgICdJZ3JhdmUnOiAyNzgsCiAgICAnSW1hY3Jvbic6IDI3OCwKICAgICdMY2Fyb24nOiA1NTYsCiAgICAnb25laGFsZic6IDgzNCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1NTYsCiAgICAnbnRpbGRlJzogNTU2LAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjY3LAogICAgJ2VtYWNyb24nOiA1NTYsCiAgICAnZ2JyZXZlJzogNTU2LAogICAgJ29uZXF1YXJ0ZXInOiA4MzQsCiAgICAnU2Nhcm9uJzogNjY3LAogICAgJ1Njb21tYWFjY2VudCc6IDY2NywKICAgICdPaHVuZ2FydW1sYXV0JzogNzc4LAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1NTYsCiAgICAnQ2Nhcm9uJzogNzIyLAogICAgJ3VncmF2ZSc6IDU1NiwKICAgICdyYWRpY2FsJzogNDUzLAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiAzMzMsCiAgICAnTnRpbGRlJzogNzIyLAogICAgJ290aWxkZSc6IDU1NiwKICAgICdSY29tbWFhY2NlbnQnOiA3MjIsCiAgICAnTGNvbW1hYWNjZW50JzogNTU2LAogICAgJ0F0aWxkZSc6IDY2NywKICAgICdBb2dvbmVrJzogNjY3LAogICAgJ0FyaW5nJzogNjY3LAogICAgJ090aWxkZSc6IDc3OCwKICAgICd6ZG90YWNjZW50JzogNTAwLAogICAgJ0VjYXJvbic6IDY2NywKICAgICdJb2dvbmVrJzogMjc4LAogICAgJ2tjb21tYWFjY2VudCc6IDUwMCwKICAgICdtaW51cyc6IDU4NCwKICAgICdJY2lyY3VtZmxleCc6IDI3OCwKICAgICduY2Fyb24nOiA1NTYsCiAgICAndGNvbW1hYWNjZW50JzogMjc4LAogICAgJ2xvZ2ljYWxub3QnOiA1ODQsCiAgICAnb2RpZXJlc2lzJzogNTU2LAogICAgJ3VkaWVyZXNpcyc6IDU1NiwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnZXRoJzogNTU2LAogICAgJ3pjYXJvbic6IDUwMCwKICAgICduY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnb25lc3VwZXJpb3InOiAzMzMsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTU2CiAgfSwKICAnU3ltYm9sJzogewogICAgJ3NwYWNlJzogMjUwLAogICAgJ2V4Y2xhbSc6IDMzMywKICAgICd1bml2ZXJzYWwnOiA3MTMsCiAgICAnbnVtYmVyc2lnbic6IDUwMCwKICAgICdleGlzdGVudGlhbCc6IDU0OSwKICAgICdwZXJjZW50JzogODMzLAogICAgJ2FtcGVyc2FuZCc6IDc3OCwKICAgICdzdWNodGhhdCc6IDQzOSwKICAgICdwYXJlbmxlZnQnOiAzMzMsCiAgICAncGFyZW5yaWdodCc6IDMzMywKICAgICdhc3Rlcmlza21hdGgnOiA1MDAsCiAgICAncGx1cyc6IDU0OSwKICAgICdjb21tYSc6IDI1MCwKICAgICdtaW51cyc6IDU0OSwKICAgICdwZXJpb2QnOiAyNTAsCiAgICAnc2xhc2gnOiAyNzgsCiAgICAnemVybyc6IDUwMCwKICAgICdvbmUnOiA1MDAsCiAgICAndHdvJzogNTAwLAogICAgJ3RocmVlJzogNTAwLAogICAgJ2ZvdXInOiA1MDAsCiAgICAnZml2ZSc6IDUwMCwKICAgICdzaXgnOiA1MDAsCiAgICAnc2V2ZW4nOiA1MDAsCiAgICAnZWlnaHQnOiA1MDAsCiAgICAnbmluZSc6IDUwMCwKICAgICdjb2xvbic6IDI3OCwKICAgICdzZW1pY29sb24nOiAyNzgsCiAgICAnbGVzcyc6IDU0OSwKICAgICdlcXVhbCc6IDU0OSwKICAgICdncmVhdGVyJzogNTQ5LAogICAgJ3F1ZXN0aW9uJzogNDQ0LAogICAgJ2NvbmdydWVudCc6IDU0OSwKICAgICdBbHBoYSc6IDcyMiwKICAgICdCZXRhJzogNjY3LAogICAgJ0NoaSc6IDcyMiwKICAgICdEZWx0YSc6IDYxMiwKICAgICdFcHNpbG9uJzogNjExLAogICAgJ1BoaSc6IDc2MywKICAgICdHYW1tYSc6IDYwMywKICAgICdFdGEnOiA3MjIsCiAgICAnSW90YSc6IDMzMywKICAgICd0aGV0YTEnOiA2MzEsCiAgICAnS2FwcGEnOiA3MjIsCiAgICAnTGFtYmRhJzogNjg2LAogICAgJ011JzogODg5LAogICAgJ051JzogNzIyLAogICAgJ09taWNyb24nOiA3MjIsCiAgICAnUGknOiA3NjgsCiAgICAnVGhldGEnOiA3NDEsCiAgICAnUmhvJzogNTU2LAogICAgJ1NpZ21hJzogNTkyLAogICAgJ1RhdSc6IDYxMSwKICAgICdVcHNpbG9uJzogNjkwLAogICAgJ3NpZ21hMSc6IDQzOSwKICAgICdPbWVnYSc6IDc2OCwKICAgICdYaSc6IDY0NSwKICAgICdQc2knOiA3OTUsCiAgICAnWmV0YSc6IDYxMSwKICAgICdicmFja2V0bGVmdCc6IDMzMywKICAgICd0aGVyZWZvcmUnOiA4NjMsCiAgICAnYnJhY2tldHJpZ2h0JzogMzMzLAogICAgJ3BlcnBlbmRpY3VsYXInOiA2NTgsCiAgICAndW5kZXJzY29yZSc6IDUwMCwKICAgICdyYWRpY2FsZXgnOiA1MDAsCiAgICAnYWxwaGEnOiA2MzEsCiAgICAnYmV0YSc6IDU0OSwKICAgICdjaGknOiA1NDksCiAgICAnZGVsdGEnOiA0OTQsCiAgICAnZXBzaWxvbic6IDQzOSwKICAgICdwaGknOiA1MjEsCiAgICAnZ2FtbWEnOiA0MTEsCiAgICAnZXRhJzogNjAzLAogICAgJ2lvdGEnOiAzMjksCiAgICAncGhpMSc6IDYwMywKICAgICdrYXBwYSc6IDU0OSwKICAgICdsYW1iZGEnOiA1NDksCiAgICAnbXUnOiA1NzYsCiAgICAnbnUnOiA1MjEsCiAgICAnb21pY3Jvbic6IDU0OSwKICAgICdwaSc6IDU0OSwKICAgICd0aGV0YSc6IDUyMSwKICAgICdyaG8nOiA1NDksCiAgICAnc2lnbWEnOiA2MDMsCiAgICAndGF1JzogNDM5LAogICAgJ3Vwc2lsb24nOiA1NzYsCiAgICAnb21lZ2ExJzogNzEzLAogICAgJ29tZWdhJzogNjg2LAogICAgJ3hpJzogNDkzLAogICAgJ3BzaSc6IDY4NiwKICAgICd6ZXRhJzogNDk0LAogICAgJ2JyYWNlbGVmdCc6IDQ4MCwKICAgICdiYXInOiAyMDAsCiAgICAnYnJhY2VyaWdodCc6IDQ4MCwKICAgICdzaW1pbGFyJzogNTQ5LAogICAgJ0V1cm8nOiA3NTAsCiAgICAnVXBzaWxvbjEnOiA2MjAsCiAgICAnbWludXRlJzogMjQ3LAogICAgJ2xlc3NlcXVhbCc6IDU0OSwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICdpbmZpbml0eSc6IDcxMywKICAgICdmbG9yaW4nOiA1MDAsCiAgICAnY2x1Yic6IDc1MywKICAgICdkaWFtb25kJzogNzUzLAogICAgJ2hlYXJ0JzogNzUzLAogICAgJ3NwYWRlJzogNzUzLAogICAgJ2Fycm93Ym90aCc6IDEwNDIsCiAgICAnYXJyb3dsZWZ0JzogOTg3LAogICAgJ2Fycm93dXAnOiA2MDMsCiAgICAnYXJyb3dyaWdodCc6IDk4NywKICAgICdhcnJvd2Rvd24nOiA2MDMsCiAgICAnZGVncmVlJzogNDAwLAogICAgJ3BsdXNtaW51cyc6IDU0OSwKICAgICdzZWNvbmQnOiA0MTEsCiAgICAnZ3JlYXRlcmVxdWFsJzogNTQ5LAogICAgJ211bHRpcGx5JzogNTQ5LAogICAgJ3Byb3BvcnRpb25hbCc6IDcxMywKICAgICdwYXJ0aWFsZGlmZic6IDQ5NCwKICAgICdidWxsZXQnOiA0NjAsCiAgICAnZGl2aWRlJzogNTQ5LAogICAgJ25vdGVxdWFsJzogNTQ5LAogICAgJ2VxdWl2YWxlbmNlJzogNTQ5LAogICAgJ2FwcHJveGVxdWFsJzogNTQ5LAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdhcnJvd3ZlcnRleCc6IDYwMywKICAgICdhcnJvd2hvcml6ZXgnOiAxMDAwLAogICAgJ2NhcnJpYWdlcmV0dXJuJzogNjU4LAogICAgJ2FsZXBoJzogODIzLAogICAgJ0lmcmFrdHVyJzogNjg2LAogICAgJ1JmcmFrdHVyJzogNzk1LAogICAgJ3dlaWVyc3RyYXNzJzogOTg3LAogICAgJ2NpcmNsZW11bHRpcGx5JzogNzY4LAogICAgJ2NpcmNsZXBsdXMnOiA3NjgsCiAgICAnZW1wdHlzZXQnOiA4MjMsCiAgICAnaW50ZXJzZWN0aW9uJzogNzY4LAogICAgJ3VuaW9uJzogNzY4LAogICAgJ3Byb3BlcnN1cGVyc2V0JzogNzEzLAogICAgJ3JlZmxleHN1cGVyc2V0JzogNzEzLAogICAgJ25vdHN1YnNldCc6IDcxMywKICAgICdwcm9wZXJzdWJzZXQnOiA3MTMsCiAgICAncmVmbGV4c3Vic2V0JzogNzEzLAogICAgJ2VsZW1lbnQnOiA3MTMsCiAgICAnbm90ZWxlbWVudCc6IDcxMywKICAgICdhbmdsZSc6IDc2OCwKICAgICdncmFkaWVudCc6IDcxMywKICAgICdyZWdpc3RlcnNlcmlmJzogNzkwLAogICAgJ2NvcHlyaWdodHNlcmlmJzogNzkwLAogICAgJ3RyYWRlbWFya3NlcmlmJzogODkwLAogICAgJ3Byb2R1Y3QnOiA4MjMsCiAgICAncmFkaWNhbCc6IDU0OSwKICAgICdkb3RtYXRoJzogMjUwLAogICAgJ2xvZ2ljYWxub3QnOiA3MTMsCiAgICAnbG9naWNhbGFuZCc6IDYwMywKICAgICdsb2dpY2Fsb3InOiA2MDMsCiAgICAnYXJyb3dkYmxib3RoJzogMTA0MiwKICAgICdhcnJvd2RibGxlZnQnOiA5ODcsCiAgICAnYXJyb3dkYmx1cCc6IDYwMywKICAgICdhcnJvd2RibHJpZ2h0JzogOTg3LAogICAgJ2Fycm93ZGJsZG93bic6IDYwMywKICAgICdsb3plbmdlJzogNDk0LAogICAgJ2FuZ2xlbGVmdCc6IDMyOSwKICAgICdyZWdpc3RlcnNhbnMnOiA3OTAsCiAgICAnY29weXJpZ2h0c2Fucyc6IDc5MCwKICAgICd0cmFkZW1hcmtzYW5zJzogNzg2LAogICAgJ3N1bW1hdGlvbic6IDcxMywKICAgICdwYXJlbmxlZnR0cCc6IDM4NCwKICAgICdwYXJlbmxlZnRleCc6IDM4NCwKICAgICdwYXJlbmxlZnRidCc6IDM4NCwKICAgICdicmFja2V0bGVmdHRwJzogMzg0LAogICAgJ2JyYWNrZXRsZWZ0ZXgnOiAzODQsCiAgICAnYnJhY2tldGxlZnRidCc6IDM4NCwKICAgICdicmFjZWxlZnR0cCc6IDQ5NCwKICAgICdicmFjZWxlZnRtaWQnOiA0OTQsCiAgICAnYnJhY2VsZWZ0YnQnOiA0OTQsCiAgICAnYnJhY2VleCc6IDQ5NCwKICAgICdhbmdsZXJpZ2h0JzogMzI5LAogICAgJ2ludGVncmFsJzogMjc0LAogICAgJ2ludGVncmFsdHAnOiA2ODYsCiAgICAnaW50ZWdyYWxleCc6IDY4NiwKICAgICdpbnRlZ3JhbGJ0JzogNjg2LAogICAgJ3BhcmVucmlnaHR0cCc6IDM4NCwKICAgICdwYXJlbnJpZ2h0ZXgnOiAzODQsCiAgICAncGFyZW5yaWdodGJ0JzogMzg0LAogICAgJ2JyYWNrZXRyaWdodHRwJzogMzg0LAogICAgJ2JyYWNrZXRyaWdodGV4JzogMzg0LAogICAgJ2JyYWNrZXRyaWdodGJ0JzogMzg0LAogICAgJ2JyYWNlcmlnaHR0cCc6IDQ5NCwKICAgICdicmFjZXJpZ2h0bWlkJzogNDk0LAogICAgJ2JyYWNlcmlnaHRidCc6IDQ5NCwKICAgICdhcHBsZSc6IDc5MAogIH0sCiAgJ1RpbWVzLVJvbWFuJzogewogICAgJ3NwYWNlJzogMjUwLAogICAgJ2V4Y2xhbSc6IDMzMywKICAgICdxdW90ZWRibCc6IDQwOCwKICAgICdudW1iZXJzaWduJzogNTAwLAogICAgJ2RvbGxhcic6IDUwMCwKICAgICdwZXJjZW50JzogODMzLAogICAgJ2FtcGVyc2FuZCc6IDc3OCwKICAgICdxdW90ZXJpZ2h0JzogMzMzLAogICAgJ3BhcmVubGVmdCc6IDMzMywKICAgICdwYXJlbnJpZ2h0JzogMzMzLAogICAgJ2FzdGVyaXNrJzogNTAwLAogICAgJ3BsdXMnOiA1NjQsCiAgICAnY29tbWEnOiAyNTAsCiAgICAnaHlwaGVuJzogMzMzLAogICAgJ3BlcmlvZCc6IDI1MCwKICAgICdzbGFzaCc6IDI3OCwKICAgICd6ZXJvJzogNTAwLAogICAgJ29uZSc6IDUwMCwKICAgICd0d28nOiA1MDAsCiAgICAndGhyZWUnOiA1MDAsCiAgICAnZm91cic6IDUwMCwKICAgICdmaXZlJzogNTAwLAogICAgJ3NpeCc6IDUwMCwKICAgICdzZXZlbic6IDUwMCwKICAgICdlaWdodCc6IDUwMCwKICAgICduaW5lJzogNTAwLAogICAgJ2NvbG9uJzogMjc4LAogICAgJ3NlbWljb2xvbic6IDI3OCwKICAgICdsZXNzJzogNTY0LAogICAgJ2VxdWFsJzogNTY0LAogICAgJ2dyZWF0ZXInOiA1NjQsCiAgICAncXVlc3Rpb24nOiA0NDQsCiAgICAnYXQnOiA5MjEsCiAgICAnQSc6IDcyMiwKICAgICdCJzogNjY3LAogICAgJ0MnOiA2NjcsCiAgICAnRCc6IDcyMiwKICAgICdFJzogNjExLAogICAgJ0YnOiA1NTYsCiAgICAnRyc6IDcyMiwKICAgICdIJzogNzIyLAogICAgJ0knOiAzMzMsCiAgICAnSic6IDM4OSwKICAgICdLJzogNzIyLAogICAgJ0wnOiA2MTEsCiAgICAnTSc6IDg4OSwKICAgICdOJzogNzIyLAogICAgJ08nOiA3MjIsCiAgICAnUCc6IDU1NiwKICAgICdRJzogNzIyLAogICAgJ1InOiA2NjcsCiAgICAnUyc6IDU1NiwKICAgICdUJzogNjExLAogICAgJ1UnOiA3MjIsCiAgICAnVic6IDcyMiwKICAgICdXJzogOTQ0LAogICAgJ1gnOiA3MjIsCiAgICAnWSc6IDcyMiwKICAgICdaJzogNjExLAogICAgJ2JyYWNrZXRsZWZ0JzogMzMzLAogICAgJ2JhY2tzbGFzaCc6IDI3OCwKICAgICdicmFja2V0cmlnaHQnOiAzMzMsCiAgICAnYXNjaWljaXJjdW0nOiA0NjksCiAgICAndW5kZXJzY29yZSc6IDUwMCwKICAgICdxdW90ZWxlZnQnOiAzMzMsCiAgICAnYSc6IDQ0NCwKICAgICdiJzogNTAwLAogICAgJ2MnOiA0NDQsCiAgICAnZCc6IDUwMCwKICAgICdlJzogNDQ0LAogICAgJ2YnOiAzMzMsCiAgICAnZyc6IDUwMCwKICAgICdoJzogNTAwLAogICAgJ2knOiAyNzgsCiAgICAnaic6IDI3OCwKICAgICdrJzogNTAwLAogICAgJ2wnOiAyNzgsCiAgICAnbSc6IDc3OCwKICAgICduJzogNTAwLAogICAgJ28nOiA1MDAsCiAgICAncCc6IDUwMCwKICAgICdxJzogNTAwLAogICAgJ3InOiAzMzMsCiAgICAncyc6IDM4OSwKICAgICd0JzogMjc4LAogICAgJ3UnOiA1MDAsCiAgICAndic6IDUwMCwKICAgICd3JzogNzIyLAogICAgJ3gnOiA1MDAsCiAgICAneSc6IDUwMCwKICAgICd6JzogNDQ0LAogICAgJ2JyYWNlbGVmdCc6IDQ4MCwKICAgICdiYXInOiAyMDAsCiAgICAnYnJhY2VyaWdodCc6IDQ4MCwKICAgICdhc2NpaXRpbGRlJzogNTQxLAogICAgJ2V4Y2xhbWRvd24nOiAzMzMsCiAgICAnY2VudCc6IDUwMCwKICAgICdzdGVybGluZyc6IDUwMCwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICd5ZW4nOiA1MDAsCiAgICAnZmxvcmluJzogNTAwLAogICAgJ3NlY3Rpb24nOiA1MDAsCiAgICAnY3VycmVuY3knOiA1MDAsCiAgICAncXVvdGVzaW5nbGUnOiAxODAsCiAgICAncXVvdGVkYmxsZWZ0JzogNDQ0LAogICAgJ2d1aWxsZW1vdGxlZnQnOiA1MDAsCiAgICAnZ3VpbHNpbmdsbGVmdCc6IDMzMywKICAgICdndWlsc2luZ2xyaWdodCc6IDMzMywKICAgICdmaSc6IDU1NiwKICAgICdmbCc6IDU1NiwKICAgICdlbmRhc2gnOiA1MDAsCiAgICAnZGFnZ2VyJzogNTAwLAogICAgJ2RhZ2dlcmRibCc6IDUwMCwKICAgICdwZXJpb2RjZW50ZXJlZCc6IDI1MCwKICAgICdwYXJhZ3JhcGgnOiA0NTMsCiAgICAnYnVsbGV0JzogMzUwLAogICAgJ3F1b3Rlc2luZ2xiYXNlJzogMzMzLAogICAgJ3F1b3RlZGJsYmFzZSc6IDQ0NCwKICAgICdxdW90ZWRibHJpZ2h0JzogNDQ0LAogICAgJ2d1aWxsZW1vdHJpZ2h0JzogNTAwLAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdwZXJ0aG91c2FuZCc6IDEwMDAsCiAgICAncXVlc3Rpb25kb3duJzogNDQ0LAogICAgJ2dyYXZlJzogMzMzLAogICAgJ2FjdXRlJzogMzMzLAogICAgJ2NpcmN1bWZsZXgnOiAzMzMsCiAgICAndGlsZGUnOiAzMzMsCiAgICAnbWFjcm9uJzogMzMzLAogICAgJ2JyZXZlJzogMzMzLAogICAgJ2RvdGFjY2VudCc6IDMzMywKICAgICdkaWVyZXNpcyc6IDMzMywKICAgICdyaW5nJzogMzMzLAogICAgJ2NlZGlsbGEnOiAzMzMsCiAgICAnaHVuZ2FydW1sYXV0JzogMzMzLAogICAgJ29nb25layc6IDMzMywKICAgICdjYXJvbic6IDMzMywKICAgICdlbWRhc2gnOiAxMDAwLAogICAgJ0FFJzogODg5LAogICAgJ29yZGZlbWluaW5lJzogMjc2LAogICAgJ0xzbGFzaCc6IDYxMSwKICAgICdPc2xhc2gnOiA3MjIsCiAgICAnT0UnOiA4ODksCiAgICAnb3JkbWFzY3VsaW5lJzogMzEwLAogICAgJ2FlJzogNjY3LAogICAgJ2RvdGxlc3NpJzogMjc4LAogICAgJ2xzbGFzaCc6IDI3OCwKICAgICdvc2xhc2gnOiA1MDAsCiAgICAnb2UnOiA3MjIsCiAgICAnZ2VybWFuZGJscyc6IDUwMCwKICAgICdJZGllcmVzaXMnOiAzMzMsCiAgICAnZWFjdXRlJzogNDQ0LAogICAgJ2FicmV2ZSc6IDQ0NCwKICAgICd1aHVuZ2FydW1sYXV0JzogNTAwLAogICAgJ2VjYXJvbic6IDQ0NCwKICAgICdZZGllcmVzaXMnOiA3MjIsCiAgICAnZGl2aWRlJzogNTY0LAogICAgJ1lhY3V0ZSc6IDcyMiwKICAgICdBY2lyY3VtZmxleCc6IDcyMiwKICAgICdhYWN1dGUnOiA0NDQsCiAgICAnVWNpcmN1bWZsZXgnOiA3MjIsCiAgICAneWFjdXRlJzogNTAwLAogICAgJ3Njb21tYWFjY2VudCc6IDM4OSwKICAgICdlY2lyY3VtZmxleCc6IDQ0NCwKICAgICdVcmluZyc6IDcyMiwKICAgICdVZGllcmVzaXMnOiA3MjIsCiAgICAnYW9nb25layc6IDQ0NCwKICAgICdVYWN1dGUnOiA3MjIsCiAgICAndW9nb25layc6IDUwMCwKICAgICdFZGllcmVzaXMnOiA2MTEsCiAgICAnRGNyb2F0JzogNzIyLAogICAgJ2NvbW1hYWNjZW50JzogMjUwLAogICAgJ2NvcHlyaWdodCc6IDc2MCwKICAgICdFbWFjcm9uJzogNjExLAogICAgJ2NjYXJvbic6IDQ0NCwKICAgICdhcmluZyc6IDQ0NCwKICAgICdOY29tbWFhY2NlbnQnOiA3MjIsCiAgICAnbGFjdXRlJzogMjc4LAogICAgJ2FncmF2ZSc6IDQ0NCwKICAgICdUY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnQ2FjdXRlJzogNjY3LAogICAgJ2F0aWxkZSc6IDQ0NCwKICAgICdFZG90YWNjZW50JzogNjExLAogICAgJ3NjYXJvbic6IDM4OSwKICAgICdzY2VkaWxsYSc6IDM4OSwKICAgICdpYWN1dGUnOiAyNzgsCiAgICAnbG96ZW5nZSc6IDQ3MSwKICAgICdSY2Fyb24nOiA2NjcsCiAgICAnR2NvbW1hYWNjZW50JzogNzIyLAogICAgJ3VjaXJjdW1mbGV4JzogNTAwLAogICAgJ2FjaXJjdW1mbGV4JzogNDQ0LAogICAgJ0FtYWNyb24nOiA3MjIsCiAgICAncmNhcm9uJzogMzMzLAogICAgJ2NjZWRpbGxhJzogNDQ0LAogICAgJ1pkb3RhY2NlbnQnOiA2MTEsCiAgICAnVGhvcm4nOiA1NTYsCiAgICAnT21hY3Jvbic6IDcyMiwKICAgICdSYWN1dGUnOiA2NjcsCiAgICAnU2FjdXRlJzogNTU2LAogICAgJ2RjYXJvbic6IDU4OCwKICAgICdVbWFjcm9uJzogNzIyLAogICAgJ3VyaW5nJzogNTAwLAogICAgJ3RocmVlc3VwZXJpb3InOiAzMDAsCiAgICAnT2dyYXZlJzogNzIyLAogICAgJ0FncmF2ZSc6IDcyMiwKICAgICdBYnJldmUnOiA3MjIsCiAgICAnbXVsdGlwbHknOiA1NjQsCiAgICAndWFjdXRlJzogNTAwLAogICAgJ1RjYXJvbic6IDYxMSwKICAgICdwYXJ0aWFsZGlmZic6IDQ3NiwKICAgICd5ZGllcmVzaXMnOiA1MDAsCiAgICAnTmFjdXRlJzogNzIyLAogICAgJ2ljaXJjdW1mbGV4JzogMjc4LAogICAgJ0VjaXJjdW1mbGV4JzogNjExLAogICAgJ2FkaWVyZXNpcyc6IDQ0NCwKICAgICdlZGllcmVzaXMnOiA0NDQsCiAgICAnY2FjdXRlJzogNDQ0LAogICAgJ25hY3V0ZSc6IDUwMCwKICAgICd1bWFjcm9uJzogNTAwLAogICAgJ05jYXJvbic6IDcyMiwKICAgICdJYWN1dGUnOiAzMzMsCiAgICAncGx1c21pbnVzJzogNTY0LAogICAgJ2Jyb2tlbmJhcic6IDIwMCwKICAgICdyZWdpc3RlcmVkJzogNzYwLAogICAgJ0dicmV2ZSc6IDcyMiwKICAgICdJZG90YWNjZW50JzogMzMzLAogICAgJ3N1bW1hdGlvbic6IDYwMCwKICAgICdFZ3JhdmUnOiA2MTEsCiAgICAncmFjdXRlJzogMzMzLAogICAgJ29tYWNyb24nOiA1MDAsCiAgICAnWmFjdXRlJzogNjExLAogICAgJ1pjYXJvbic6IDYxMSwKICAgICdncmVhdGVyZXF1YWwnOiA1NDksCiAgICAnRXRoJzogNzIyLAogICAgJ0NjZWRpbGxhJzogNjY3LAogICAgJ2xjb21tYWFjY2VudCc6IDI3OCwKICAgICd0Y2Fyb24nOiAzMjYsCiAgICAnZW9nb25layc6IDQ0NCwKICAgICdVb2dvbmVrJzogNzIyLAogICAgJ0FhY3V0ZSc6IDcyMiwKICAgICdBZGllcmVzaXMnOiA3MjIsCiAgICAnZWdyYXZlJzogNDQ0LAogICAgJ3phY3V0ZSc6IDQ0NCwKICAgICdpb2dvbmVrJzogMjc4LAogICAgJ09hY3V0ZSc6IDcyMiwKICAgICdvYWN1dGUnOiA1MDAsCiAgICAnYW1hY3Jvbic6IDQ0NCwKICAgICdzYWN1dGUnOiAzODksCiAgICAnaWRpZXJlc2lzJzogMjc4LAogICAgJ09jaXJjdW1mbGV4JzogNzIyLAogICAgJ1VncmF2ZSc6IDcyMiwKICAgICdEZWx0YSc6IDYxMiwKICAgICd0aG9ybic6IDUwMCwKICAgICd0d29zdXBlcmlvcic6IDMwMCwKICAgICdPZGllcmVzaXMnOiA3MjIsCiAgICAnbXUnOiA1MDAsCiAgICAnaWdyYXZlJzogMjc4LAogICAgJ29odW5nYXJ1bWxhdXQnOiA1MDAsCiAgICAnRW9nb25layc6IDYxMSwKICAgICdkY3JvYXQnOiA1MDAsCiAgICAndGhyZWVxdWFydGVycyc6IDc1MCwKICAgICdTY2VkaWxsYSc6IDU1NiwKICAgICdsY2Fyb24nOiAzNDQsCiAgICAnS2NvbW1hYWNjZW50JzogNzIyLAogICAgJ0xhY3V0ZSc6IDYxMSwKICAgICd0cmFkZW1hcmsnOiA5ODAsCiAgICAnZWRvdGFjY2VudCc6IDQ0NCwKICAgICdJZ3JhdmUnOiAzMzMsCiAgICAnSW1hY3Jvbic6IDMzMywKICAgICdMY2Fyb24nOiA2MTEsCiAgICAnb25laGFsZic6IDc1MCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1MDAsCiAgICAnbnRpbGRlJzogNTAwLAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjExLAogICAgJ2VtYWNyb24nOiA0NDQsCiAgICAnZ2JyZXZlJzogNTAwLAogICAgJ29uZXF1YXJ0ZXInOiA3NTAsCiAgICAnU2Nhcm9uJzogNTU2LAogICAgJ1Njb21tYWFjY2VudCc6IDU1NiwKICAgICdPaHVuZ2FydW1sYXV0JzogNzIyLAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1MDAsCiAgICAnQ2Nhcm9uJzogNjY3LAogICAgJ3VncmF2ZSc6IDUwMCwKICAgICdyYWRpY2FsJzogNDUzLAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiAzMzMsCiAgICAnTnRpbGRlJzogNzIyLAogICAgJ290aWxkZSc6IDUwMCwKICAgICdSY29tbWFhY2NlbnQnOiA2NjcsCiAgICAnTGNvbW1hYWNjZW50JzogNjExLAogICAgJ0F0aWxkZSc6IDcyMiwKICAgICdBb2dvbmVrJzogNzIyLAogICAgJ0FyaW5nJzogNzIyLAogICAgJ090aWxkZSc6IDcyMiwKICAgICd6ZG90YWNjZW50JzogNDQ0LAogICAgJ0VjYXJvbic6IDYxMSwKICAgICdJb2dvbmVrJzogMzMzLAogICAgJ2tjb21tYWFjY2VudCc6IDUwMCwKICAgICdtaW51cyc6IDU2NCwKICAgICdJY2lyY3VtZmxleCc6IDMzMywKICAgICduY2Fyb24nOiA1MDAsCiAgICAndGNvbW1hYWNjZW50JzogMjc4LAogICAgJ2xvZ2ljYWxub3QnOiA1NjQsCiAgICAnb2RpZXJlc2lzJzogNTAwLAogICAgJ3VkaWVyZXNpcyc6IDUwMCwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnZXRoJzogNTAwLAogICAgJ3pjYXJvbic6IDQ0NCwKICAgICduY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnb25lc3VwZXJpb3InOiAzMDAsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTAwCiAgfSwKICAnVGltZXMtQm9sZCc6IHsKICAgICdzcGFjZSc6IDI1MCwKICAgICdleGNsYW0nOiAzMzMsCiAgICAncXVvdGVkYmwnOiA1NTUsCiAgICAnbnVtYmVyc2lnbic6IDUwMCwKICAgICdkb2xsYXInOiA1MDAsCiAgICAncGVyY2VudCc6IDEwMDAsCiAgICAnYW1wZXJzYW5kJzogODMzLAogICAgJ3F1b3RlcmlnaHQnOiAzMzMsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiA1MDAsCiAgICAncGx1cyc6IDU3MCwKICAgICdjb21tYSc6IDI1MCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjUwLAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1MDAsCiAgICAnb25lJzogNTAwLAogICAgJ3R3byc6IDUwMCwKICAgICd0aHJlZSc6IDUwMCwKICAgICdmb3VyJzogNTAwLAogICAgJ2ZpdmUnOiA1MDAsCiAgICAnc2l4JzogNTAwLAogICAgJ3NldmVuJzogNTAwLAogICAgJ2VpZ2h0JzogNTAwLAogICAgJ25pbmUnOiA1MDAsCiAgICAnY29sb24nOiAzMzMsCiAgICAnc2VtaWNvbG9uJzogMzMzLAogICAgJ2xlc3MnOiA1NzAsCiAgICAnZXF1YWwnOiA1NzAsCiAgICAnZ3JlYXRlcic6IDU3MCwKICAgICdxdWVzdGlvbic6IDUwMCwKICAgICdhdCc6IDkzMCwKICAgICdBJzogNzIyLAogICAgJ0InOiA2NjcsCiAgICAnQyc6IDcyMiwKICAgICdEJzogNzIyLAogICAgJ0UnOiA2NjcsCiAgICAnRic6IDYxMSwKICAgICdHJzogNzc4LAogICAgJ0gnOiA3NzgsCiAgICAnSSc6IDM4OSwKICAgICdKJzogNTAwLAogICAgJ0snOiA3NzgsCiAgICAnTCc6IDY2NywKICAgICdNJzogOTQ0LAogICAgJ04nOiA3MjIsCiAgICAnTyc6IDc3OCwKICAgICdQJzogNjExLAogICAgJ1EnOiA3NzgsCiAgICAnUic6IDcyMiwKICAgICdTJzogNTU2LAogICAgJ1QnOiA2NjcsCiAgICAnVSc6IDcyMiwKICAgICdWJzogNzIyLAogICAgJ1cnOiAxMDAwLAogICAgJ1gnOiA3MjIsCiAgICAnWSc6IDcyMiwKICAgICdaJzogNjY3LAogICAgJ2JyYWNrZXRsZWZ0JzogMzMzLAogICAgJ2JhY2tzbGFzaCc6IDI3OCwKICAgICdicmFja2V0cmlnaHQnOiAzMzMsCiAgICAnYXNjaWljaXJjdW0nOiA1ODEsCiAgICAndW5kZXJzY29yZSc6IDUwMCwKICAgICdxdW90ZWxlZnQnOiAzMzMsCiAgICAnYSc6IDUwMCwKICAgICdiJzogNTU2LAogICAgJ2MnOiA0NDQsCiAgICAnZCc6IDU1NiwKICAgICdlJzogNDQ0LAogICAgJ2YnOiAzMzMsCiAgICAnZyc6IDUwMCwKICAgICdoJzogNTU2LAogICAgJ2knOiAyNzgsCiAgICAnaic6IDMzMywKICAgICdrJzogNTU2LAogICAgJ2wnOiAyNzgsCiAgICAnbSc6IDgzMywKICAgICduJzogNTU2LAogICAgJ28nOiA1MDAsCiAgICAncCc6IDU1NiwKICAgICdxJzogNTU2LAogICAgJ3InOiA0NDQsCiAgICAncyc6IDM4OSwKICAgICd0JzogMzMzLAogICAgJ3UnOiA1NTYsCiAgICAndic6IDUwMCwKICAgICd3JzogNzIyLAogICAgJ3gnOiA1MDAsCiAgICAneSc6IDUwMCwKICAgICd6JzogNDQ0LAogICAgJ2JyYWNlbGVmdCc6IDM5NCwKICAgICdiYXInOiAyMjAsCiAgICAnYnJhY2VyaWdodCc6IDM5NCwKICAgICdhc2NpaXRpbGRlJzogNTIwLAogICAgJ2V4Y2xhbWRvd24nOiAzMzMsCiAgICAnY2VudCc6IDUwMCwKICAgICdzdGVybGluZyc6IDUwMCwKICAgICdmcmFjdGlvbic6IDE2NywKICAgICd5ZW4nOiA1MDAsCiAgICAnZmxvcmluJzogNTAwLAogICAgJ3NlY3Rpb24nOiA1MDAsCiAgICAnY3VycmVuY3knOiA1MDAsCiAgICAncXVvdGVzaW5nbGUnOiAyNzgsCiAgICAncXVvdGVkYmxsZWZ0JzogNTAwLAogICAgJ2d1aWxsZW1vdGxlZnQnOiA1MDAsCiAgICAnZ3VpbHNpbmdsbGVmdCc6IDMzMywKICAgICdndWlsc2luZ2xyaWdodCc6IDMzMywKICAgICdmaSc6IDU1NiwKICAgICdmbCc6IDU1NiwKICAgICdlbmRhc2gnOiA1MDAsCiAgICAnZGFnZ2VyJzogNTAwLAogICAgJ2RhZ2dlcmRibCc6IDUwMCwKICAgICdwZXJpb2RjZW50ZXJlZCc6IDI1MCwKICAgICdwYXJhZ3JhcGgnOiA1NDAsCiAgICAnYnVsbGV0JzogMzUwLAogICAgJ3F1b3Rlc2luZ2xiYXNlJzogMzMzLAogICAgJ3F1b3RlZGJsYmFzZSc6IDUwMCwKICAgICdxdW90ZWRibHJpZ2h0JzogNTAwLAogICAgJ2d1aWxsZW1vdHJpZ2h0JzogNTAwLAogICAgJ2VsbGlwc2lzJzogMTAwMCwKICAgICdwZXJ0aG91c2FuZCc6IDEwMDAsCiAgICAncXVlc3Rpb25kb3duJzogNTAwLAogICAgJ2dyYXZlJzogMzMzLAogICAgJ2FjdXRlJzogMzMzLAogICAgJ2NpcmN1bWZsZXgnOiAzMzMsCiAgICAndGlsZGUnOiAzMzMsCiAgICAnbWFjcm9uJzogMzMzLAogICAgJ2JyZXZlJzogMzMzLAogICAgJ2RvdGFjY2VudCc6IDMzMywKICAgICdkaWVyZXNpcyc6IDMzMywKICAgICdyaW5nJzogMzMzLAogICAgJ2NlZGlsbGEnOiAzMzMsCiAgICAnaHVuZ2FydW1sYXV0JzogMzMzLAogICAgJ29nb25layc6IDMzMywKICAgICdjYXJvbic6IDMzMywKICAgICdlbWRhc2gnOiAxMDAwLAogICAgJ0FFJzogMTAwMCwKICAgICdvcmRmZW1pbmluZSc6IDMwMCwKICAgICdMc2xhc2gnOiA2NjcsCiAgICAnT3NsYXNoJzogNzc4LAogICAgJ09FJzogMTAwMCwKICAgICdvcmRtYXNjdWxpbmUnOiAzMzAsCiAgICAnYWUnOiA3MjIsCiAgICAnZG90bGVzc2knOiAyNzgsCiAgICAnbHNsYXNoJzogMjc4LAogICAgJ29zbGFzaCc6IDUwMCwKICAgICdvZSc6IDcyMiwKICAgICdnZXJtYW5kYmxzJzogNTU2LAogICAgJ0lkaWVyZXNpcyc6IDM4OSwKICAgICdlYWN1dGUnOiA0NDQsCiAgICAnYWJyZXZlJzogNTAwLAogICAgJ3VodW5nYXJ1bWxhdXQnOiA1NTYsCiAgICAnZWNhcm9uJzogNDQ0LAogICAgJ1lkaWVyZXNpcyc6IDcyMiwKICAgICdkaXZpZGUnOiA1NzAsCiAgICAnWWFjdXRlJzogNzIyLAogICAgJ0FjaXJjdW1mbGV4JzogNzIyLAogICAgJ2FhY3V0ZSc6IDUwMCwKICAgICdVY2lyY3VtZmxleCc6IDcyMiwKICAgICd5YWN1dGUnOiA1MDAsCiAgICAnc2NvbW1hYWNjZW50JzogMzg5LAogICAgJ2VjaXJjdW1mbGV4JzogNDQ0LAogICAgJ1VyaW5nJzogNzIyLAogICAgJ1VkaWVyZXNpcyc6IDcyMiwKICAgICdhb2dvbmVrJzogNTAwLAogICAgJ1VhY3V0ZSc6IDcyMiwKICAgICd1b2dvbmVrJzogNTU2LAogICAgJ0VkaWVyZXNpcyc6IDY2NywKICAgICdEY3JvYXQnOiA3MjIsCiAgICAnY29tbWFhY2NlbnQnOiAyNTAsCiAgICAnY29weXJpZ2h0JzogNzQ3LAogICAgJ0VtYWNyb24nOiA2NjcsCiAgICAnY2Nhcm9uJzogNDQ0LAogICAgJ2FyaW5nJzogNTAwLAogICAgJ05jb21tYWFjY2VudCc6IDcyMiwKICAgICdsYWN1dGUnOiAyNzgsCiAgICAnYWdyYXZlJzogNTAwLAogICAgJ1Rjb21tYWFjY2VudCc6IDY2NywKICAgICdDYWN1dGUnOiA3MjIsCiAgICAnYXRpbGRlJzogNTAwLAogICAgJ0Vkb3RhY2NlbnQnOiA2NjcsCiAgICAnc2Nhcm9uJzogMzg5LAogICAgJ3NjZWRpbGxhJzogMzg5LAogICAgJ2lhY3V0ZSc6IDI3OCwKICAgICdsb3plbmdlJzogNDk0LAogICAgJ1JjYXJvbic6IDcyMiwKICAgICdHY29tbWFhY2NlbnQnOiA3NzgsCiAgICAndWNpcmN1bWZsZXgnOiA1NTYsCiAgICAnYWNpcmN1bWZsZXgnOiA1MDAsCiAgICAnQW1hY3Jvbic6IDcyMiwKICAgICdyY2Fyb24nOiA0NDQsCiAgICAnY2NlZGlsbGEnOiA0NDQsCiAgICAnWmRvdGFjY2VudCc6IDY2NywKICAgICdUaG9ybic6IDYxMSwKICAgICdPbWFjcm9uJzogNzc4LAogICAgJ1JhY3V0ZSc6IDcyMiwKICAgICdTYWN1dGUnOiA1NTYsCiAgICAnZGNhcm9uJzogNjcyLAogICAgJ1VtYWNyb24nOiA3MjIsCiAgICAndXJpbmcnOiA1NTYsCiAgICAndGhyZWVzdXBlcmlvcic6IDMwMCwKICAgICdPZ3JhdmUnOiA3NzgsCiAgICAnQWdyYXZlJzogNzIyLAogICAgJ0FicmV2ZSc6IDcyMiwKICAgICdtdWx0aXBseSc6IDU3MCwKICAgICd1YWN1dGUnOiA1NTYsCiAgICAnVGNhcm9uJzogNjY3LAogICAgJ3BhcnRpYWxkaWZmJzogNDk0LAogICAgJ3lkaWVyZXNpcyc6IDUwMCwKICAgICdOYWN1dGUnOiA3MjIsCiAgICAnaWNpcmN1bWZsZXgnOiAyNzgsCiAgICAnRWNpcmN1bWZsZXgnOiA2NjcsCiAgICAnYWRpZXJlc2lzJzogNTAwLAogICAgJ2VkaWVyZXNpcyc6IDQ0NCwKICAgICdjYWN1dGUnOiA0NDQsCiAgICAnbmFjdXRlJzogNTU2LAogICAgJ3VtYWNyb24nOiA1NTYsCiAgICAnTmNhcm9uJzogNzIyLAogICAgJ0lhY3V0ZSc6IDM4OSwKICAgICdwbHVzbWludXMnOiA1NzAsCiAgICAnYnJva2VuYmFyJzogMjIwLAogICAgJ3JlZ2lzdGVyZWQnOiA3NDcsCiAgICAnR2JyZXZlJzogNzc4LAogICAgJ0lkb3RhY2NlbnQnOiAzODksCiAgICAnc3VtbWF0aW9uJzogNjAwLAogICAgJ0VncmF2ZSc6IDY2NywKICAgICdyYWN1dGUnOiA0NDQsCiAgICAnb21hY3Jvbic6IDUwMCwKICAgICdaYWN1dGUnOiA2NjcsCiAgICAnWmNhcm9uJzogNjY3LAogICAgJ2dyZWF0ZXJlcXVhbCc6IDU0OSwKICAgICdFdGgnOiA3MjIsCiAgICAnQ2NlZGlsbGEnOiA3MjIsCiAgICAnbGNvbW1hYWNjZW50JzogMjc4LAogICAgJ3RjYXJvbic6IDQxNiwKICAgICdlb2dvbmVrJzogNDQ0LAogICAgJ1VvZ29uZWsnOiA3MjIsCiAgICAnQWFjdXRlJzogNzIyLAogICAgJ0FkaWVyZXNpcyc6IDcyMiwKICAgICdlZ3JhdmUnOiA0NDQsCiAgICAnemFjdXRlJzogNDQ0LAogICAgJ2lvZ29uZWsnOiAyNzgsCiAgICAnT2FjdXRlJzogNzc4LAogICAgJ29hY3V0ZSc6IDUwMCwKICAgICdhbWFjcm9uJzogNTAwLAogICAgJ3NhY3V0ZSc6IDM4OSwKICAgICdpZGllcmVzaXMnOiAyNzgsCiAgICAnT2NpcmN1bWZsZXgnOiA3NzgsCiAgICAnVWdyYXZlJzogNzIyLAogICAgJ0RlbHRhJzogNjEyLAogICAgJ3Rob3JuJzogNTU2LAogICAgJ3R3b3N1cGVyaW9yJzogMzAwLAogICAgJ09kaWVyZXNpcyc6IDc3OCwKICAgICdtdSc6IDU1NiwKICAgICdpZ3JhdmUnOiAyNzgsCiAgICAnb2h1bmdhcnVtbGF1dCc6IDUwMCwKICAgICdFb2dvbmVrJzogNjY3LAogICAgJ2Rjcm9hdCc6IDU1NiwKICAgICd0aHJlZXF1YXJ0ZXJzJzogNzUwLAogICAgJ1NjZWRpbGxhJzogNTU2LAogICAgJ2xjYXJvbic6IDM5NCwKICAgICdLY29tbWFhY2NlbnQnOiA3NzgsCiAgICAnTGFjdXRlJzogNjY3LAogICAgJ3RyYWRlbWFyayc6IDEwMDAsCiAgICAnZWRvdGFjY2VudCc6IDQ0NCwKICAgICdJZ3JhdmUnOiAzODksCiAgICAnSW1hY3Jvbic6IDM4OSwKICAgICdMY2Fyb24nOiA2NjcsCiAgICAnb25laGFsZic6IDc1MCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1MDAsCiAgICAnbnRpbGRlJzogNTU2LAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjY3LAogICAgJ2VtYWNyb24nOiA0NDQsCiAgICAnZ2JyZXZlJzogNTAwLAogICAgJ29uZXF1YXJ0ZXInOiA3NTAsCiAgICAnU2Nhcm9uJzogNTU2LAogICAgJ1Njb21tYWFjY2VudCc6IDU1NiwKICAgICdPaHVuZ2FydW1sYXV0JzogNzc4LAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1MDAsCiAgICAnQ2Nhcm9uJzogNzIyLAogICAgJ3VncmF2ZSc6IDU1NiwKICAgICdyYWRpY2FsJzogNTQ5LAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiA0NDQsCiAgICAnTnRpbGRlJzogNzIyLAogICAgJ290aWxkZSc6IDUwMCwKICAgICdSY29tbWFhY2NlbnQnOiA3MjIsCiAgICAnTGNvbW1hYWNjZW50JzogNjY3LAogICAgJ0F0aWxkZSc6IDcyMiwKICAgICdBb2dvbmVrJzogNzIyLAogICAgJ0FyaW5nJzogNzIyLAogICAgJ090aWxkZSc6IDc3OCwKICAgICd6ZG90YWNjZW50JzogNDQ0LAogICAgJ0VjYXJvbic6IDY2NywKICAgICdJb2dvbmVrJzogMzg5LAogICAgJ2tjb21tYWFjY2VudCc6IDU1NiwKICAgICdtaW51cyc6IDU3MCwKICAgICdJY2lyY3VtZmxleCc6IDM4OSwKICAgICduY2Fyb24nOiA1NTYsCiAgICAndGNvbW1hYWNjZW50JzogMzMzLAogICAgJ2xvZ2ljYWxub3QnOiA1NzAsCiAgICAnb2RpZXJlc2lzJzogNTAwLAogICAgJ3VkaWVyZXNpcyc6IDU1NiwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnZXRoJzogNTAwLAogICAgJ3pjYXJvbic6IDQ0NCwKICAgICduY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnb25lc3VwZXJpb3InOiAzMDAsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTAwCiAgfSwKICAnVGltZXMtQm9sZEl0YWxpYyc6IHsKICAgICdzcGFjZSc6IDI1MCwKICAgICdleGNsYW0nOiAzODksCiAgICAncXVvdGVkYmwnOiA1NTUsCiAgICAnbnVtYmVyc2lnbic6IDUwMCwKICAgICdkb2xsYXInOiA1MDAsCiAgICAncGVyY2VudCc6IDgzMywKICAgICdhbXBlcnNhbmQnOiA3NzgsCiAgICAncXVvdGVyaWdodCc6IDMzMywKICAgICdwYXJlbmxlZnQnOiAzMzMsCiAgICAncGFyZW5yaWdodCc6IDMzMywKICAgICdhc3Rlcmlzayc6IDUwMCwKICAgICdwbHVzJzogNTcwLAogICAgJ2NvbW1hJzogMjUwLAogICAgJ2h5cGhlbic6IDMzMywKICAgICdwZXJpb2QnOiAyNTAsCiAgICAnc2xhc2gnOiAyNzgsCiAgICAnemVybyc6IDUwMCwKICAgICdvbmUnOiA1MDAsCiAgICAndHdvJzogNTAwLAogICAgJ3RocmVlJzogNTAwLAogICAgJ2ZvdXInOiA1MDAsCiAgICAnZml2ZSc6IDUwMCwKICAgICdzaXgnOiA1MDAsCiAgICAnc2V2ZW4nOiA1MDAsCiAgICAnZWlnaHQnOiA1MDAsCiAgICAnbmluZSc6IDUwMCwKICAgICdjb2xvbic6IDMzMywKICAgICdzZW1pY29sb24nOiAzMzMsCiAgICAnbGVzcyc6IDU3MCwKICAgICdlcXVhbCc6IDU3MCwKICAgICdncmVhdGVyJzogNTcwLAogICAgJ3F1ZXN0aW9uJzogNTAwLAogICAgJ2F0JzogODMyLAogICAgJ0EnOiA2NjcsCiAgICAnQic6IDY2NywKICAgICdDJzogNjY3LAogICAgJ0QnOiA3MjIsCiAgICAnRSc6IDY2NywKICAgICdGJzogNjY3LAogICAgJ0cnOiA3MjIsCiAgICAnSCc6IDc3OCwKICAgICdJJzogMzg5LAogICAgJ0onOiA1MDAsCiAgICAnSyc6IDY2NywKICAgICdMJzogNjExLAogICAgJ00nOiA4ODksCiAgICAnTic6IDcyMiwKICAgICdPJzogNzIyLAogICAgJ1AnOiA2MTEsCiAgICAnUSc6IDcyMiwKICAgICdSJzogNjY3LAogICAgJ1MnOiA1NTYsCiAgICAnVCc6IDYxMSwKICAgICdVJzogNzIyLAogICAgJ1YnOiA2NjcsCiAgICAnVyc6IDg4OSwKICAgICdYJzogNjY3LAogICAgJ1knOiA2MTEsCiAgICAnWic6IDYxMSwKICAgICdicmFja2V0bGVmdCc6IDMzMywKICAgICdiYWNrc2xhc2gnOiAyNzgsCiAgICAnYnJhY2tldHJpZ2h0JzogMzMzLAogICAgJ2FzY2lpY2lyY3VtJzogNTcwLAogICAgJ3VuZGVyc2NvcmUnOiA1MDAsCiAgICAncXVvdGVsZWZ0JzogMzMzLAogICAgJ2EnOiA1MDAsCiAgICAnYic6IDUwMCwKICAgICdjJzogNDQ0LAogICAgJ2QnOiA1MDAsCiAgICAnZSc6IDQ0NCwKICAgICdmJzogMzMzLAogICAgJ2cnOiA1MDAsCiAgICAnaCc6IDU1NiwKICAgICdpJzogMjc4LAogICAgJ2onOiAyNzgsCiAgICAnayc6IDUwMCwKICAgICdsJzogMjc4LAogICAgJ20nOiA3NzgsCiAgICAnbic6IDU1NiwKICAgICdvJzogNTAwLAogICAgJ3AnOiA1MDAsCiAgICAncSc6IDUwMCwKICAgICdyJzogMzg5LAogICAgJ3MnOiAzODksCiAgICAndCc6IDI3OCwKICAgICd1JzogNTU2LAogICAgJ3YnOiA0NDQsCiAgICAndyc6IDY2NywKICAgICd4JzogNTAwLAogICAgJ3knOiA0NDQsCiAgICAneic6IDM4OSwKICAgICdicmFjZWxlZnQnOiAzNDgsCiAgICAnYmFyJzogMjIwLAogICAgJ2JyYWNlcmlnaHQnOiAzNDgsCiAgICAnYXNjaWl0aWxkZSc6IDU3MCwKICAgICdleGNsYW1kb3duJzogMzg5LAogICAgJ2NlbnQnOiA1MDAsCiAgICAnc3RlcmxpbmcnOiA1MDAsCiAgICAnZnJhY3Rpb24nOiAxNjcsCiAgICAneWVuJzogNTAwLAogICAgJ2Zsb3Jpbic6IDUwMCwKICAgICdzZWN0aW9uJzogNTAwLAogICAgJ2N1cnJlbmN5JzogNTAwLAogICAgJ3F1b3Rlc2luZ2xlJzogMjc4LAogICAgJ3F1b3RlZGJsbGVmdCc6IDUwMCwKICAgICdndWlsbGVtb3RsZWZ0JzogNTAwLAogICAgJ2d1aWxzaW5nbGxlZnQnOiAzMzMsCiAgICAnZ3VpbHNpbmdscmlnaHQnOiAzMzMsCiAgICAnZmknOiA1NTYsCiAgICAnZmwnOiA1NTYsCiAgICAnZW5kYXNoJzogNTAwLAogICAgJ2RhZ2dlcic6IDUwMCwKICAgICdkYWdnZXJkYmwnOiA1MDAsCiAgICAncGVyaW9kY2VudGVyZWQnOiAyNTAsCiAgICAncGFyYWdyYXBoJzogNTAwLAogICAgJ2J1bGxldCc6IDM1MCwKICAgICdxdW90ZXNpbmdsYmFzZSc6IDMzMywKICAgICdxdW90ZWRibGJhc2UnOiA1MDAsCiAgICAncXVvdGVkYmxyaWdodCc6IDUwMCwKICAgICdndWlsbGVtb3RyaWdodCc6IDUwMCwKICAgICdlbGxpcHNpcyc6IDEwMDAsCiAgICAncGVydGhvdXNhbmQnOiAxMDAwLAogICAgJ3F1ZXN0aW9uZG93bic6IDUwMCwKICAgICdncmF2ZSc6IDMzMywKICAgICdhY3V0ZSc6IDMzMywKICAgICdjaXJjdW1mbGV4JzogMzMzLAogICAgJ3RpbGRlJzogMzMzLAogICAgJ21hY3Jvbic6IDMzMywKICAgICdicmV2ZSc6IDMzMywKICAgICdkb3RhY2NlbnQnOiAzMzMsCiAgICAnZGllcmVzaXMnOiAzMzMsCiAgICAncmluZyc6IDMzMywKICAgICdjZWRpbGxhJzogMzMzLAogICAgJ2h1bmdhcnVtbGF1dCc6IDMzMywKICAgICdvZ29uZWsnOiAzMzMsCiAgICAnY2Fyb24nOiAzMzMsCiAgICAnZW1kYXNoJzogMTAwMCwKICAgICdBRSc6IDk0NCwKICAgICdvcmRmZW1pbmluZSc6IDI2NiwKICAgICdMc2xhc2gnOiA2MTEsCiAgICAnT3NsYXNoJzogNzIyLAogICAgJ09FJzogOTQ0LAogICAgJ29yZG1hc2N1bGluZSc6IDMwMCwKICAgICdhZSc6IDcyMiwKICAgICdkb3RsZXNzaSc6IDI3OCwKICAgICdsc2xhc2gnOiAyNzgsCiAgICAnb3NsYXNoJzogNTAwLAogICAgJ29lJzogNzIyLAogICAgJ2dlcm1hbmRibHMnOiA1MDAsCiAgICAnSWRpZXJlc2lzJzogMzg5LAogICAgJ2VhY3V0ZSc6IDQ0NCwKICAgICdhYnJldmUnOiA1MDAsCiAgICAndWh1bmdhcnVtbGF1dCc6IDU1NiwKICAgICdlY2Fyb24nOiA0NDQsCiAgICAnWWRpZXJlc2lzJzogNjExLAogICAgJ2RpdmlkZSc6IDU3MCwKICAgICdZYWN1dGUnOiA2MTEsCiAgICAnQWNpcmN1bWZsZXgnOiA2NjcsCiAgICAnYWFjdXRlJzogNTAwLAogICAgJ1VjaXJjdW1mbGV4JzogNzIyLAogICAgJ3lhY3V0ZSc6IDQ0NCwKICAgICdzY29tbWFhY2NlbnQnOiAzODksCiAgICAnZWNpcmN1bWZsZXgnOiA0NDQsCiAgICAnVXJpbmcnOiA3MjIsCiAgICAnVWRpZXJlc2lzJzogNzIyLAogICAgJ2FvZ29uZWsnOiA1MDAsCiAgICAnVWFjdXRlJzogNzIyLAogICAgJ3VvZ29uZWsnOiA1NTYsCiAgICAnRWRpZXJlc2lzJzogNjY3LAogICAgJ0Rjcm9hdCc6IDcyMiwKICAgICdjb21tYWFjY2VudCc6IDI1MCwKICAgICdjb3B5cmlnaHQnOiA3NDcsCiAgICAnRW1hY3Jvbic6IDY2NywKICAgICdjY2Fyb24nOiA0NDQsCiAgICAnYXJpbmcnOiA1MDAsCiAgICAnTmNvbW1hYWNjZW50JzogNzIyLAogICAgJ2xhY3V0ZSc6IDI3OCwKICAgICdhZ3JhdmUnOiA1MDAsCiAgICAnVGNvbW1hYWNjZW50JzogNjExLAogICAgJ0NhY3V0ZSc6IDY2NywKICAgICdhdGlsZGUnOiA1MDAsCiAgICAnRWRvdGFjY2VudCc6IDY2NywKICAgICdzY2Fyb24nOiAzODksCiAgICAnc2NlZGlsbGEnOiAzODksCiAgICAnaWFjdXRlJzogMjc4LAogICAgJ2xvemVuZ2UnOiA0OTQsCiAgICAnUmNhcm9uJzogNjY3LAogICAgJ0djb21tYWFjY2VudCc6IDcyMiwKICAgICd1Y2lyY3VtZmxleCc6IDU1NiwKICAgICdhY2lyY3VtZmxleCc6IDUwMCwKICAgICdBbWFjcm9uJzogNjY3LAogICAgJ3JjYXJvbic6IDM4OSwKICAgICdjY2VkaWxsYSc6IDQ0NCwKICAgICdaZG90YWNjZW50JzogNjExLAogICAgJ1Rob3JuJzogNjExLAogICAgJ09tYWNyb24nOiA3MjIsCiAgICAnUmFjdXRlJzogNjY3LAogICAgJ1NhY3V0ZSc6IDU1NiwKICAgICdkY2Fyb24nOiA2MDgsCiAgICAnVW1hY3Jvbic6IDcyMiwKICAgICd1cmluZyc6IDU1NiwKICAgICd0aHJlZXN1cGVyaW9yJzogMzAwLAogICAgJ09ncmF2ZSc6IDcyMiwKICAgICdBZ3JhdmUnOiA2NjcsCiAgICAnQWJyZXZlJzogNjY3LAogICAgJ211bHRpcGx5JzogNTcwLAogICAgJ3VhY3V0ZSc6IDU1NiwKICAgICdUY2Fyb24nOiA2MTEsCiAgICAncGFydGlhbGRpZmYnOiA0OTQsCiAgICAneWRpZXJlc2lzJzogNDQ0LAogICAgJ05hY3V0ZSc6IDcyMiwKICAgICdpY2lyY3VtZmxleCc6IDI3OCwKICAgICdFY2lyY3VtZmxleCc6IDY2NywKICAgICdhZGllcmVzaXMnOiA1MDAsCiAgICAnZWRpZXJlc2lzJzogNDQ0LAogICAgJ2NhY3V0ZSc6IDQ0NCwKICAgICduYWN1dGUnOiA1NTYsCiAgICAndW1hY3Jvbic6IDU1NiwKICAgICdOY2Fyb24nOiA3MjIsCiAgICAnSWFjdXRlJzogMzg5LAogICAgJ3BsdXNtaW51cyc6IDU3MCwKICAgICdicm9rZW5iYXInOiAyMjAsCiAgICAncmVnaXN0ZXJlZCc6IDc0NywKICAgICdHYnJldmUnOiA3MjIsCiAgICAnSWRvdGFjY2VudCc6IDM4OSwKICAgICdzdW1tYXRpb24nOiA2MDAsCiAgICAnRWdyYXZlJzogNjY3LAogICAgJ3JhY3V0ZSc6IDM4OSwKICAgICdvbWFjcm9uJzogNTAwLAogICAgJ1phY3V0ZSc6IDYxMSwKICAgICdaY2Fyb24nOiA2MTEsCiAgICAnZ3JlYXRlcmVxdWFsJzogNTQ5LAogICAgJ0V0aCc6IDcyMiwKICAgICdDY2VkaWxsYSc6IDY2NywKICAgICdsY29tbWFhY2NlbnQnOiAyNzgsCiAgICAndGNhcm9uJzogMzY2LAogICAgJ2VvZ29uZWsnOiA0NDQsCiAgICAnVW9nb25layc6IDcyMiwKICAgICdBYWN1dGUnOiA2NjcsCiAgICAnQWRpZXJlc2lzJzogNjY3LAogICAgJ2VncmF2ZSc6IDQ0NCwKICAgICd6YWN1dGUnOiAzODksCiAgICAnaW9nb25layc6IDI3OCwKICAgICdPYWN1dGUnOiA3MjIsCiAgICAnb2FjdXRlJzogNTAwLAogICAgJ2FtYWNyb24nOiA1MDAsCiAgICAnc2FjdXRlJzogMzg5LAogICAgJ2lkaWVyZXNpcyc6IDI3OCwKICAgICdPY2lyY3VtZmxleCc6IDcyMiwKICAgICdVZ3JhdmUnOiA3MjIsCiAgICAnRGVsdGEnOiA2MTIsCiAgICAndGhvcm4nOiA1MDAsCiAgICAndHdvc3VwZXJpb3InOiAzMDAsCiAgICAnT2RpZXJlc2lzJzogNzIyLAogICAgJ211JzogNTc2LAogICAgJ2lncmF2ZSc6IDI3OCwKICAgICdvaHVuZ2FydW1sYXV0JzogNTAwLAogICAgJ0VvZ29uZWsnOiA2NjcsCiAgICAnZGNyb2F0JzogNTAwLAogICAgJ3RocmVlcXVhcnRlcnMnOiA3NTAsCiAgICAnU2NlZGlsbGEnOiA1NTYsCiAgICAnbGNhcm9uJzogMzgyLAogICAgJ0tjb21tYWFjY2VudCc6IDY2NywKICAgICdMYWN1dGUnOiA2MTEsCiAgICAndHJhZGVtYXJrJzogMTAwMCwKICAgICdlZG90YWNjZW50JzogNDQ0LAogICAgJ0lncmF2ZSc6IDM4OSwKICAgICdJbWFjcm9uJzogMzg5LAogICAgJ0xjYXJvbic6IDYxMSwKICAgICdvbmVoYWxmJzogNzUwLAogICAgJ2xlc3NlcXVhbCc6IDU0OSwKICAgICdvY2lyY3VtZmxleCc6IDUwMCwKICAgICdudGlsZGUnOiA1NTYsCiAgICAnVWh1bmdhcnVtbGF1dCc6IDcyMiwKICAgICdFYWN1dGUnOiA2NjcsCiAgICAnZW1hY3Jvbic6IDQ0NCwKICAgICdnYnJldmUnOiA1MDAsCiAgICAnb25lcXVhcnRlcic6IDc1MCwKICAgICdTY2Fyb24nOiA1NTYsCiAgICAnU2NvbW1hYWNjZW50JzogNTU2LAogICAgJ09odW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnZGVncmVlJzogNDAwLAogICAgJ29ncmF2ZSc6IDUwMCwKICAgICdDY2Fyb24nOiA2NjcsCiAgICAndWdyYXZlJzogNTU2LAogICAgJ3JhZGljYWwnOiA1NDksCiAgICAnRGNhcm9uJzogNzIyLAogICAgJ3Jjb21tYWFjY2VudCc6IDM4OSwKICAgICdOdGlsZGUnOiA3MjIsCiAgICAnb3RpbGRlJzogNTAwLAogICAgJ1Jjb21tYWFjY2VudCc6IDY2NywKICAgICdMY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnQXRpbGRlJzogNjY3LAogICAgJ0FvZ29uZWsnOiA2NjcsCiAgICAnQXJpbmcnOiA2NjcsCiAgICAnT3RpbGRlJzogNzIyLAogICAgJ3pkb3RhY2NlbnQnOiAzODksCiAgICAnRWNhcm9uJzogNjY3LAogICAgJ0lvZ29uZWsnOiAzODksCiAgICAna2NvbW1hYWNjZW50JzogNTAwLAogICAgJ21pbnVzJzogNjA2LAogICAgJ0ljaXJjdW1mbGV4JzogMzg5LAogICAgJ25jYXJvbic6IDU1NiwKICAgICd0Y29tbWFhY2NlbnQnOiAyNzgsCiAgICAnbG9naWNhbG5vdCc6IDYwNiwKICAgICdvZGllcmVzaXMnOiA1MDAsCiAgICAndWRpZXJlc2lzJzogNTU2LAogICAgJ25vdGVxdWFsJzogNTQ5LAogICAgJ2djb21tYWFjY2VudCc6IDUwMCwKICAgICdldGgnOiA1MDAsCiAgICAnemNhcm9uJzogMzg5LAogICAgJ25jb21tYWFjY2VudCc6IDU1NiwKICAgICdvbmVzdXBlcmlvcic6IDMwMCwKICAgICdpbWFjcm9uJzogMjc4LAogICAgJ0V1cm8nOiA1MDAKICB9LAogICdUaW1lcy1JdGFsaWMnOiB7CiAgICAnc3BhY2UnOiAyNTAsCiAgICAnZXhjbGFtJzogMzMzLAogICAgJ3F1b3RlZGJsJzogNDIwLAogICAgJ251bWJlcnNpZ24nOiA1MDAsCiAgICAnZG9sbGFyJzogNTAwLAogICAgJ3BlcmNlbnQnOiA4MzMsCiAgICAnYW1wZXJzYW5kJzogNzc4LAogICAgJ3F1b3RlcmlnaHQnOiAzMzMsCiAgICAncGFyZW5sZWZ0JzogMzMzLAogICAgJ3BhcmVucmlnaHQnOiAzMzMsCiAgICAnYXN0ZXJpc2snOiA1MDAsCiAgICAncGx1cyc6IDY3NSwKICAgICdjb21tYSc6IDI1MCwKICAgICdoeXBoZW4nOiAzMzMsCiAgICAncGVyaW9kJzogMjUwLAogICAgJ3NsYXNoJzogMjc4LAogICAgJ3plcm8nOiA1MDAsCiAgICAnb25lJzogNTAwLAogICAgJ3R3byc6IDUwMCwKICAgICd0aHJlZSc6IDUwMCwKICAgICdmb3VyJzogNTAwLAogICAgJ2ZpdmUnOiA1MDAsCiAgICAnc2l4JzogNTAwLAogICAgJ3NldmVuJzogNTAwLAogICAgJ2VpZ2h0JzogNTAwLAogICAgJ25pbmUnOiA1MDAsCiAgICAnY29sb24nOiAzMzMsCiAgICAnc2VtaWNvbG9uJzogMzMzLAogICAgJ2xlc3MnOiA2NzUsCiAgICAnZXF1YWwnOiA2NzUsCiAgICAnZ3JlYXRlcic6IDY3NSwKICAgICdxdWVzdGlvbic6IDUwMCwKICAgICdhdCc6IDkyMCwKICAgICdBJzogNjExLAogICAgJ0InOiA2MTEsCiAgICAnQyc6IDY2NywKICAgICdEJzogNzIyLAogICAgJ0UnOiA2MTEsCiAgICAnRic6IDYxMSwKICAgICdHJzogNzIyLAogICAgJ0gnOiA3MjIsCiAgICAnSSc6IDMzMywKICAgICdKJzogNDQ0LAogICAgJ0snOiA2NjcsCiAgICAnTCc6IDU1NiwKICAgICdNJzogODMzLAogICAgJ04nOiA2NjcsCiAgICAnTyc6IDcyMiwKICAgICdQJzogNjExLAogICAgJ1EnOiA3MjIsCiAgICAnUic6IDYxMSwKICAgICdTJzogNTAwLAogICAgJ1QnOiA1NTYsCiAgICAnVSc6IDcyMiwKICAgICdWJzogNjExLAogICAgJ1cnOiA4MzMsCiAgICAnWCc6IDYxMSwKICAgICdZJzogNTU2LAogICAgJ1onOiA1NTYsCiAgICAnYnJhY2tldGxlZnQnOiAzODksCiAgICAnYmFja3NsYXNoJzogMjc4LAogICAgJ2JyYWNrZXRyaWdodCc6IDM4OSwKICAgICdhc2NpaWNpcmN1bSc6IDQyMiwKICAgICd1bmRlcnNjb3JlJzogNTAwLAogICAgJ3F1b3RlbGVmdCc6IDMzMywKICAgICdhJzogNTAwLAogICAgJ2InOiA1MDAsCiAgICAnYyc6IDQ0NCwKICAgICdkJzogNTAwLAogICAgJ2UnOiA0NDQsCiAgICAnZic6IDI3OCwKICAgICdnJzogNTAwLAogICAgJ2gnOiA1MDAsCiAgICAnaSc6IDI3OCwKICAgICdqJzogMjc4LAogICAgJ2snOiA0NDQsCiAgICAnbCc6IDI3OCwKICAgICdtJzogNzIyLAogICAgJ24nOiA1MDAsCiAgICAnbyc6IDUwMCwKICAgICdwJzogNTAwLAogICAgJ3EnOiA1MDAsCiAgICAncic6IDM4OSwKICAgICdzJzogMzg5LAogICAgJ3QnOiAyNzgsCiAgICAndSc6IDUwMCwKICAgICd2JzogNDQ0LAogICAgJ3cnOiA2NjcsCiAgICAneCc6IDQ0NCwKICAgICd5JzogNDQ0LAogICAgJ3onOiAzODksCiAgICAnYnJhY2VsZWZ0JzogNDAwLAogICAgJ2Jhcic6IDI3NSwKICAgICdicmFjZXJpZ2h0JzogNDAwLAogICAgJ2FzY2lpdGlsZGUnOiA1NDEsCiAgICAnZXhjbGFtZG93bic6IDM4OSwKICAgICdjZW50JzogNTAwLAogICAgJ3N0ZXJsaW5nJzogNTAwLAogICAgJ2ZyYWN0aW9uJzogMTY3LAogICAgJ3llbic6IDUwMCwKICAgICdmbG9yaW4nOiA1MDAsCiAgICAnc2VjdGlvbic6IDUwMCwKICAgICdjdXJyZW5jeSc6IDUwMCwKICAgICdxdW90ZXNpbmdsZSc6IDIxNCwKICAgICdxdW90ZWRibGxlZnQnOiA1NTYsCiAgICAnZ3VpbGxlbW90bGVmdCc6IDUwMCwKICAgICdndWlsc2luZ2xsZWZ0JzogMzMzLAogICAgJ2d1aWxzaW5nbHJpZ2h0JzogMzMzLAogICAgJ2ZpJzogNTAwLAogICAgJ2ZsJzogNTAwLAogICAgJ2VuZGFzaCc6IDUwMCwKICAgICdkYWdnZXInOiA1MDAsCiAgICAnZGFnZ2VyZGJsJzogNTAwLAogICAgJ3BlcmlvZGNlbnRlcmVkJzogMjUwLAogICAgJ3BhcmFncmFwaCc6IDUyMywKICAgICdidWxsZXQnOiAzNTAsCiAgICAncXVvdGVzaW5nbGJhc2UnOiAzMzMsCiAgICAncXVvdGVkYmxiYXNlJzogNTU2LAogICAgJ3F1b3RlZGJscmlnaHQnOiA1NTYsCiAgICAnZ3VpbGxlbW90cmlnaHQnOiA1MDAsCiAgICAnZWxsaXBzaXMnOiA4ODksCiAgICAncGVydGhvdXNhbmQnOiAxMDAwLAogICAgJ3F1ZXN0aW9uZG93bic6IDUwMCwKICAgICdncmF2ZSc6IDMzMywKICAgICdhY3V0ZSc6IDMzMywKICAgICdjaXJjdW1mbGV4JzogMzMzLAogICAgJ3RpbGRlJzogMzMzLAogICAgJ21hY3Jvbic6IDMzMywKICAgICdicmV2ZSc6IDMzMywKICAgICdkb3RhY2NlbnQnOiAzMzMsCiAgICAnZGllcmVzaXMnOiAzMzMsCiAgICAncmluZyc6IDMzMywKICAgICdjZWRpbGxhJzogMzMzLAogICAgJ2h1bmdhcnVtbGF1dCc6IDMzMywKICAgICdvZ29uZWsnOiAzMzMsCiAgICAnY2Fyb24nOiAzMzMsCiAgICAnZW1kYXNoJzogODg5LAogICAgJ0FFJzogODg5LAogICAgJ29yZGZlbWluaW5lJzogMjc2LAogICAgJ0xzbGFzaCc6IDU1NiwKICAgICdPc2xhc2gnOiA3MjIsCiAgICAnT0UnOiA5NDQsCiAgICAnb3JkbWFzY3VsaW5lJzogMzEwLAogICAgJ2FlJzogNjY3LAogICAgJ2RvdGxlc3NpJzogMjc4LAogICAgJ2xzbGFzaCc6IDI3OCwKICAgICdvc2xhc2gnOiA1MDAsCiAgICAnb2UnOiA2NjcsCiAgICAnZ2VybWFuZGJscyc6IDUwMCwKICAgICdJZGllcmVzaXMnOiAzMzMsCiAgICAnZWFjdXRlJzogNDQ0LAogICAgJ2FicmV2ZSc6IDUwMCwKICAgICd1aHVuZ2FydW1sYXV0JzogNTAwLAogICAgJ2VjYXJvbic6IDQ0NCwKICAgICdZZGllcmVzaXMnOiA1NTYsCiAgICAnZGl2aWRlJzogNjc1LAogICAgJ1lhY3V0ZSc6IDU1NiwKICAgICdBY2lyY3VtZmxleCc6IDYxMSwKICAgICdhYWN1dGUnOiA1MDAsCiAgICAnVWNpcmN1bWZsZXgnOiA3MjIsCiAgICAneWFjdXRlJzogNDQ0LAogICAgJ3Njb21tYWFjY2VudCc6IDM4OSwKICAgICdlY2lyY3VtZmxleCc6IDQ0NCwKICAgICdVcmluZyc6IDcyMiwKICAgICdVZGllcmVzaXMnOiA3MjIsCiAgICAnYW9nb25layc6IDUwMCwKICAgICdVYWN1dGUnOiA3MjIsCiAgICAndW9nb25layc6IDUwMCwKICAgICdFZGllcmVzaXMnOiA2MTEsCiAgICAnRGNyb2F0JzogNzIyLAogICAgJ2NvbW1hYWNjZW50JzogMjUwLAogICAgJ2NvcHlyaWdodCc6IDc2MCwKICAgICdFbWFjcm9uJzogNjExLAogICAgJ2NjYXJvbic6IDQ0NCwKICAgICdhcmluZyc6IDUwMCwKICAgICdOY29tbWFhY2NlbnQnOiA2NjcsCiAgICAnbGFjdXRlJzogMjc4LAogICAgJ2FncmF2ZSc6IDUwMCwKICAgICdUY29tbWFhY2NlbnQnOiA1NTYsCiAgICAnQ2FjdXRlJzogNjY3LAogICAgJ2F0aWxkZSc6IDUwMCwKICAgICdFZG90YWNjZW50JzogNjExLAogICAgJ3NjYXJvbic6IDM4OSwKICAgICdzY2VkaWxsYSc6IDM4OSwKICAgICdpYWN1dGUnOiAyNzgsCiAgICAnbG96ZW5nZSc6IDQ3MSwKICAgICdSY2Fyb24nOiA2MTEsCiAgICAnR2NvbW1hYWNjZW50JzogNzIyLAogICAgJ3VjaXJjdW1mbGV4JzogNTAwLAogICAgJ2FjaXJjdW1mbGV4JzogNTAwLAogICAgJ0FtYWNyb24nOiA2MTEsCiAgICAncmNhcm9uJzogMzg5LAogICAgJ2NjZWRpbGxhJzogNDQ0LAogICAgJ1pkb3RhY2NlbnQnOiA1NTYsCiAgICAnVGhvcm4nOiA2MTEsCiAgICAnT21hY3Jvbic6IDcyMiwKICAgICdSYWN1dGUnOiA2MTEsCiAgICAnU2FjdXRlJzogNTAwLAogICAgJ2RjYXJvbic6IDU0NCwKICAgICdVbWFjcm9uJzogNzIyLAogICAgJ3VyaW5nJzogNTAwLAogICAgJ3RocmVlc3VwZXJpb3InOiAzMDAsCiAgICAnT2dyYXZlJzogNzIyLAogICAgJ0FncmF2ZSc6IDYxMSwKICAgICdBYnJldmUnOiA2MTEsCiAgICAnbXVsdGlwbHknOiA2NzUsCiAgICAndWFjdXRlJzogNTAwLAogICAgJ1RjYXJvbic6IDU1NiwKICAgICdwYXJ0aWFsZGlmZic6IDQ3NiwKICAgICd5ZGllcmVzaXMnOiA0NDQsCiAgICAnTmFjdXRlJzogNjY3LAogICAgJ2ljaXJjdW1mbGV4JzogMjc4LAogICAgJ0VjaXJjdW1mbGV4JzogNjExLAogICAgJ2FkaWVyZXNpcyc6IDUwMCwKICAgICdlZGllcmVzaXMnOiA0NDQsCiAgICAnY2FjdXRlJzogNDQ0LAogICAgJ25hY3V0ZSc6IDUwMCwKICAgICd1bWFjcm9uJzogNTAwLAogICAgJ05jYXJvbic6IDY2NywKICAgICdJYWN1dGUnOiAzMzMsCiAgICAncGx1c21pbnVzJzogNjc1LAogICAgJ2Jyb2tlbmJhcic6IDI3NSwKICAgICdyZWdpc3RlcmVkJzogNzYwLAogICAgJ0dicmV2ZSc6IDcyMiwKICAgICdJZG90YWNjZW50JzogMzMzLAogICAgJ3N1bW1hdGlvbic6IDYwMCwKICAgICdFZ3JhdmUnOiA2MTEsCiAgICAncmFjdXRlJzogMzg5LAogICAgJ29tYWNyb24nOiA1MDAsCiAgICAnWmFjdXRlJzogNTU2LAogICAgJ1pjYXJvbic6IDU1NiwKICAgICdncmVhdGVyZXF1YWwnOiA1NDksCiAgICAnRXRoJzogNzIyLAogICAgJ0NjZWRpbGxhJzogNjY3LAogICAgJ2xjb21tYWFjY2VudCc6IDI3OCwKICAgICd0Y2Fyb24nOiAzMDAsCiAgICAnZW9nb25layc6IDQ0NCwKICAgICdVb2dvbmVrJzogNzIyLAogICAgJ0FhY3V0ZSc6IDYxMSwKICAgICdBZGllcmVzaXMnOiA2MTEsCiAgICAnZWdyYXZlJzogNDQ0LAogICAgJ3phY3V0ZSc6IDM4OSwKICAgICdpb2dvbmVrJzogMjc4LAogICAgJ09hY3V0ZSc6IDcyMiwKICAgICdvYWN1dGUnOiA1MDAsCiAgICAnYW1hY3Jvbic6IDUwMCwKICAgICdzYWN1dGUnOiAzODksCiAgICAnaWRpZXJlc2lzJzogMjc4LAogICAgJ09jaXJjdW1mbGV4JzogNzIyLAogICAgJ1VncmF2ZSc6IDcyMiwKICAgICdEZWx0YSc6IDYxMiwKICAgICd0aG9ybic6IDUwMCwKICAgICd0d29zdXBlcmlvcic6IDMwMCwKICAgICdPZGllcmVzaXMnOiA3MjIsCiAgICAnbXUnOiA1MDAsCiAgICAnaWdyYXZlJzogMjc4LAogICAgJ29odW5nYXJ1bWxhdXQnOiA1MDAsCiAgICAnRW9nb25layc6IDYxMSwKICAgICdkY3JvYXQnOiA1MDAsCiAgICAndGhyZWVxdWFydGVycyc6IDc1MCwKICAgICdTY2VkaWxsYSc6IDUwMCwKICAgICdsY2Fyb24nOiAzMDAsCiAgICAnS2NvbW1hYWNjZW50JzogNjY3LAogICAgJ0xhY3V0ZSc6IDU1NiwKICAgICd0cmFkZW1hcmsnOiA5ODAsCiAgICAnZWRvdGFjY2VudCc6IDQ0NCwKICAgICdJZ3JhdmUnOiAzMzMsCiAgICAnSW1hY3Jvbic6IDMzMywKICAgICdMY2Fyb24nOiA2MTEsCiAgICAnb25laGFsZic6IDc1MCwKICAgICdsZXNzZXF1YWwnOiA1NDksCiAgICAnb2NpcmN1bWZsZXgnOiA1MDAsCiAgICAnbnRpbGRlJzogNTAwLAogICAgJ1VodW5nYXJ1bWxhdXQnOiA3MjIsCiAgICAnRWFjdXRlJzogNjExLAogICAgJ2VtYWNyb24nOiA0NDQsCiAgICAnZ2JyZXZlJzogNTAwLAogICAgJ29uZXF1YXJ0ZXInOiA3NTAsCiAgICAnU2Nhcm9uJzogNTAwLAogICAgJ1Njb21tYWFjY2VudCc6IDUwMCwKICAgICdPaHVuZ2FydW1sYXV0JzogNzIyLAogICAgJ2RlZ3JlZSc6IDQwMCwKICAgICdvZ3JhdmUnOiA1MDAsCiAgICAnQ2Nhcm9uJzogNjY3LAogICAgJ3VncmF2ZSc6IDUwMCwKICAgICdyYWRpY2FsJzogNDUzLAogICAgJ0RjYXJvbic6IDcyMiwKICAgICdyY29tbWFhY2NlbnQnOiAzODksCiAgICAnTnRpbGRlJzogNjY3LAogICAgJ290aWxkZSc6IDUwMCwKICAgICdSY29tbWFhY2NlbnQnOiA2MTEsCiAgICAnTGNvbW1hYWNjZW50JzogNTU2LAogICAgJ0F0aWxkZSc6IDYxMSwKICAgICdBb2dvbmVrJzogNjExLAogICAgJ0FyaW5nJzogNjExLAogICAgJ090aWxkZSc6IDcyMiwKICAgICd6ZG90YWNjZW50JzogMzg5LAogICAgJ0VjYXJvbic6IDYxMSwKICAgICdJb2dvbmVrJzogMzMzLAogICAgJ2tjb21tYWFjY2VudCc6IDQ0NCwKICAgICdtaW51cyc6IDY3NSwKICAgICdJY2lyY3VtZmxleCc6IDMzMywKICAgICduY2Fyb24nOiA1MDAsCiAgICAndGNvbW1hYWNjZW50JzogMjc4LAogICAgJ2xvZ2ljYWxub3QnOiA2NzUsCiAgICAnb2RpZXJlc2lzJzogNTAwLAogICAgJ3VkaWVyZXNpcyc6IDUwMCwKICAgICdub3RlcXVhbCc6IDU0OSwKICAgICdnY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnZXRoJzogNTAwLAogICAgJ3pjYXJvbic6IDM4OSwKICAgICduY29tbWFhY2NlbnQnOiA1MDAsCiAgICAnb25lc3VwZXJpb3InOiAzMDAsCiAgICAnaW1hY3Jvbic6IDI3OCwKICAgICdFdXJvJzogNTAwCiAgfSwKICAnWmFwZkRpbmdiYXRzJzogewogICAgJ3NwYWNlJzogMjc4LAogICAgJ2ExJzogOTc0LAogICAgJ2EyJzogOTYxLAogICAgJ2EyMDInOiA5NzQsCiAgICAnYTMnOiA5ODAsCiAgICAnYTQnOiA3MTksCiAgICAnYTUnOiA3ODksCiAgICAnYTExOSc6IDc5MCwKICAgICdhMTE4JzogNzkxLAogICAgJ2ExMTcnOiA2OTAsCiAgICAnYTExJzogOTYwLAogICAgJ2ExMic6IDkzOSwKICAgICdhMTMnOiA1NDksCiAgICAnYTE0JzogODU1LAogICAgJ2ExNSc6IDkxMSwKICAgICdhMTYnOiA5MzMsCiAgICAnYTEwNSc6IDkxMSwKICAgICdhMTcnOiA5NDUsCiAgICAnYTE4JzogOTc0LAogICAgJ2ExOSc6IDc1NSwKICAgICdhMjAnOiA4NDYsCiAgICAnYTIxJzogNzYyLAogICAgJ2EyMic6IDc2MSwKICAgICdhMjMnOiA1NzEsCiAgICAnYTI0JzogNjc3LAogICAgJ2EyNSc6IDc2MywKICAgICdhMjYnOiA3NjAsCiAgICAnYTI3JzogNzU5LAogICAgJ2EyOCc6IDc1NCwKICAgICdhNic6IDQ5NCwKICAgICdhNyc6IDU1MiwKICAgICdhOCc6IDUzNywKICAgICdhOSc6IDU3NywKICAgICdhMTAnOiA2OTIsCiAgICAnYTI5JzogNzg2LAogICAgJ2EzMCc6IDc4OCwKICAgICdhMzEnOiA3ODgsCiAgICAnYTMyJzogNzkwLAogICAgJ2EzMyc6IDc5MywKICAgICdhMzQnOiA3OTQsCiAgICAnYTM1JzogODE2LAogICAgJ2EzNic6IDgyMywKICAgICdhMzcnOiA3ODksCiAgICAnYTM4JzogODQxLAogICAgJ2EzOSc6IDgyMywKICAgICdhNDAnOiA4MzMsCiAgICAnYTQxJzogODE2LAogICAgJ2E0Mic6IDgzMSwKICAgICdhNDMnOiA5MjMsCiAgICAnYTQ0JzogNzQ0LAogICAgJ2E0NSc6IDcyMywKICAgICdhNDYnOiA3NDksCiAgICAnYTQ3JzogNzkwLAogICAgJ2E0OCc6IDc5MiwKICAgICdhNDknOiA2OTUsCiAgICAnYTUwJzogNzc2LAogICAgJ2E1MSc6IDc2OCwKICAgICdhNTInOiA3OTIsCiAgICAnYTUzJzogNzU5LAogICAgJ2E1NCc6IDcwNywKICAgICdhNTUnOiA3MDgsCiAgICAnYTU2JzogNjgyLAogICAgJ2E1Nyc6IDcwMSwKICAgICdhNTgnOiA4MjYsCiAgICAnYTU5JzogODE1LAogICAgJ2E2MCc6IDc4OSwKICAgICdhNjEnOiA3ODksCiAgICAnYTYyJzogNzA3LAogICAgJ2E2Myc6IDY4NywKICAgICdhNjQnOiA2OTYsCiAgICAnYTY1JzogNjg5LAogICAgJ2E2Nic6IDc4NiwKICAgICdhNjcnOiA3ODcsCiAgICAnYTY4JzogNzEzLAogICAgJ2E2OSc6IDc5MSwKICAgICdhNzAnOiA3ODUsCiAgICAnYTcxJzogNzkxLAogICAgJ2E3Mic6IDg3MywKICAgICdhNzMnOiA3NjEsCiAgICAnYTc0JzogNzYyLAogICAgJ2EyMDMnOiA3NjIsCiAgICAnYTc1JzogNzU5LAogICAgJ2EyMDQnOiA3NTksCiAgICAnYTc2JzogODkyLAogICAgJ2E3Nyc6IDg5MiwKICAgICdhNzgnOiA3ODgsCiAgICAnYTc5JzogNzg0LAogICAgJ2E4MSc6IDQzOCwKICAgICdhODInOiAxMzgsCiAgICAnYTgzJzogMjc3LAogICAgJ2E4NCc6IDQxNSwKICAgICdhOTcnOiAzOTIsCiAgICAnYTk4JzogMzkyLAogICAgJ2E5OSc6IDY2OCwKICAgICdhMTAwJzogNjY4LAogICAgJ2E4OSc6IDM5MCwKICAgICdhOTAnOiAzOTAsCiAgICAnYTkzJzogMzE3LAogICAgJ2E5NCc6IDMxNywKICAgICdhOTEnOiAyNzYsCiAgICAnYTkyJzogMjc2LAogICAgJ2EyMDUnOiA1MDksCiAgICAnYTg1JzogNTA5LAogICAgJ2EyMDYnOiA0MTAsCiAgICAnYTg2JzogNDEwLAogICAgJ2E4Nyc6IDIzNCwKICAgICdhODgnOiAyMzQsCiAgICAnYTk1JzogMzM0LAogICAgJ2E5Nic6IDMzNCwKICAgICdhMTAxJzogNzMyLAogICAgJ2ExMDInOiA1NDQsCiAgICAnYTEwMyc6IDU0NCwKICAgICdhMTA0JzogOTEwLAogICAgJ2ExMDYnOiA2NjcsCiAgICAnYTEwNyc6IDc2MCwKICAgICdhMTA4JzogNzYwLAogICAgJ2ExMTInOiA3NzYsCiAgICAnYTExMSc6IDU5NSwKICAgICdhMTEwJzogNjk0LAogICAgJ2ExMDknOiA2MjYsCiAgICAnYTEyMCc6IDc4OCwKICAgICdhMTIxJzogNzg4LAogICAgJ2ExMjInOiA3ODgsCiAgICAnYTEyMyc6IDc4OCwKICAgICdhMTI0JzogNzg4LAogICAgJ2ExMjUnOiA3ODgsCiAgICAnYTEyNic6IDc4OCwKICAgICdhMTI3JzogNzg4LAogICAgJ2ExMjgnOiA3ODgsCiAgICAnYTEyOSc6IDc4OCwKICAgICdhMTMwJzogNzg4LAogICAgJ2ExMzEnOiA3ODgsCiAgICAnYTEzMic6IDc4OCwKICAgICdhMTMzJzogNzg4LAogICAgJ2ExMzQnOiA3ODgsCiAgICAnYTEzNSc6IDc4OCwKICAgICdhMTM2JzogNzg4LAogICAgJ2ExMzcnOiA3ODgsCiAgICAnYTEzOCc6IDc4OCwKICAgICdhMTM5JzogNzg4LAogICAgJ2ExNDAnOiA3ODgsCiAgICAnYTE0MSc6IDc4OCwKICAgICdhMTQyJzogNzg4LAogICAgJ2ExNDMnOiA3ODgsCiAgICAnYTE0NCc6IDc4OCwKICAgICdhMTQ1JzogNzg4LAogICAgJ2ExNDYnOiA3ODgsCiAgICAnYTE0Nyc6IDc4OCwKICAgICdhMTQ4JzogNzg4LAogICAgJ2ExNDknOiA3ODgsCiAgICAnYTE1MCc6IDc4OCwKICAgICdhMTUxJzogNzg4LAogICAgJ2ExNTInOiA3ODgsCiAgICAnYTE1Myc6IDc4OCwKICAgICdhMTU0JzogNzg4LAogICAgJ2ExNTUnOiA3ODgsCiAgICAnYTE1Nic6IDc4OCwKICAgICdhMTU3JzogNzg4LAogICAgJ2ExNTgnOiA3ODgsCiAgICAnYTE1OSc6IDc4OCwKICAgICdhMTYwJzogODk0LAogICAgJ2ExNjEnOiA4MzgsCiAgICAnYTE2Myc6IDEwMTYsCiAgICAnYTE2NCc6IDQ1OCwKICAgICdhMTk2JzogNzQ4LAogICAgJ2ExNjUnOiA5MjQsCiAgICAnYTE5Mic6IDc0OCwKICAgICdhMTY2JzogOTE4LAogICAgJ2ExNjcnOiA5MjcsCiAgICAnYTE2OCc6IDkyOCwKICAgICdhMTY5JzogOTI4LAogICAgJ2ExNzAnOiA4MzQsCiAgICAnYTE3MSc6IDg3MywKICAgICdhMTcyJzogODI4LAogICAgJ2ExNzMnOiA5MjQsCiAgICAnYTE2Mic6IDkyNCwKICAgICdhMTc0JzogOTE3LAogICAgJ2ExNzUnOiA5MzAsCiAgICAnYTE3Nic6IDkzMSwKICAgICdhMTc3JzogNDYzLAogICAgJ2ExNzgnOiA4ODMsCiAgICAnYTE3OSc6IDgzNiwKICAgICdhMTkzJzogODM2LAogICAgJ2ExODAnOiA4NjcsCiAgICAnYTE5OSc6IDg2NywKICAgICdhMTgxJzogNjk2LAogICAgJ2EyMDAnOiA2OTYsCiAgICAnYTE4Mic6IDg3NCwKICAgICdhMjAxJzogODc0LAogICAgJ2ExODMnOiA3NjAsCiAgICAnYTE4NCc6IDk0NiwKICAgICdhMTk3JzogNzcxLAogICAgJ2ExODUnOiA4NjUsCiAgICAnYTE5NCc6IDc3MSwKICAgICdhMTk4JzogODg4LAogICAgJ2ExODYnOiA5NjcsCiAgICAnYTE5NSc6IDg4OCwKICAgICdhMTg3JzogODMxLAogICAgJ2ExODgnOiA4NzMsCiAgICAnYTE4OSc6IDkyNywKICAgICdhMTkwJzogOTcwLAogICAgJ2ExOTEnOiA5MTgKICB9Cn07CgoKdmFyIEVPRiA9IHt9OwoKZnVuY3Rpb24gaXNFT0YodikgewogIHJldHVybiAodiA9PT0gRU9GKTsKfQoKdmFyIE1BWF9MRU5HVEhfVE9fQ0FDSEUgPSAxMDAwOwoKdmFyIFBhcnNlciA9IChmdW5jdGlvbiBQYXJzZXJDbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBhcnNlcihsZXhlciwgYWxsb3dTdHJlYW1zLCB4cmVmKSB7CiAgICB0aGlzLmxleGVyID0gbGV4ZXI7CiAgICB0aGlzLmFsbG93U3RyZWFtcyA9IGFsbG93U3RyZWFtczsKICAgIHRoaXMueHJlZiA9IHhyZWY7CiAgICB0aGlzLmltYWdlQ2FjaGUgPSB7fTsKICAgIHRoaXMucmVmaWxsKCk7CiAgfQoKICBQYXJzZXIucHJvdG90eXBlID0gewogICAgcmVmaWxsOiBmdW5jdGlvbiBQYXJzZXJfcmVmaWxsKCkgewogICAgICB0aGlzLmJ1ZjEgPSB0aGlzLmxleGVyLmdldE9iaigpOwogICAgICB0aGlzLmJ1ZjIgPSB0aGlzLmxleGVyLmdldE9iaigpOwogICAgfSwKICAgIHNoaWZ0OiBmdW5jdGlvbiBQYXJzZXJfc2hpZnQoKSB7CiAgICAgIGlmIChpc0NtZCh0aGlzLmJ1ZjIsICdJRCcpKSB7CiAgICAgICAgdGhpcy5idWYxID0gdGhpcy5idWYyOwogICAgICAgIHRoaXMuYnVmMiA9IG51bGw7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5idWYxID0gdGhpcy5idWYyOwogICAgICAgIHRoaXMuYnVmMiA9IHRoaXMubGV4ZXIuZ2V0T2JqKCk7CiAgICAgIH0KICAgIH0sCiAgICBnZXRPYmo6IGZ1bmN0aW9uIFBhcnNlcl9nZXRPYmooY2lwaGVyVHJhbnNmb3JtKSB7CiAgICAgIHZhciBidWYxID0gdGhpcy5idWYxOwogICAgICB0aGlzLnNoaWZ0KCk7CgogICAgICBpZiAoYnVmMSBpbnN0YW5jZW9mIENtZCkgewogICAgICAgIHN3aXRjaCAoYnVmMS5jbWQpIHsKICAgICAgICAgIGNhc2UgJ0JJJzogLy8gaW5saW5lIGltYWdlCiAgICAgICAgICAgIHJldHVybiB0aGlzLm1ha2VJbmxpbmVJbWFnZShjaXBoZXJUcmFuc2Zvcm0pOwogICAgICAgICAgY2FzZSAnWyc6IC8vIGFycmF5CiAgICAgICAgICAgIHZhciBhcnJheSA9IFtdOwogICAgICAgICAgICB3aGlsZSAoIWlzQ21kKHRoaXMuYnVmMSwgJ10nKSAmJiAhaXNFT0YodGhpcy5idWYxKSkgewogICAgICAgICAgICAgIGFycmF5LnB1c2godGhpcy5nZXRPYmooY2lwaGVyVHJhbnNmb3JtKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGlzRU9GKHRoaXMuYnVmMSkpIHsKICAgICAgICAgICAgICBlcnJvcignRW5kIG9mIGZpbGUgaW5zaWRlIGFycmF5Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5zaGlmdCgpOwogICAgICAgICAgICByZXR1cm4gYXJyYXk7CiAgICAgICAgICBjYXNlICc8PCc6IC8vIGRpY3Rpb25hcnkgb3Igc3RyZWFtCiAgICAgICAgICAgIHZhciBkaWN0ID0gbmV3IERpY3QodGhpcy54cmVmKTsKICAgICAgICAgICAgd2hpbGUgKCFpc0NtZCh0aGlzLmJ1ZjEsICc+PicpICYmICFpc0VPRih0aGlzLmJ1ZjEpKSB7CiAgICAgICAgICAgICAgaWYgKCFpc05hbWUodGhpcy5idWYxKSkgewogICAgICAgICAgICAgICAgaW5mbygnTWFsZm9ybWVkIGRpY3Rpb25hcnk6IGtleSBtdXN0IGJlIGEgbmFtZSBvYmplY3QnKTsKICAgICAgICAgICAgICAgIHRoaXMuc2hpZnQoKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIGtleSA9IHRoaXMuYnVmMS5uYW1lOwogICAgICAgICAgICAgIHRoaXMuc2hpZnQoKTsKICAgICAgICAgICAgICBpZiAoaXNFT0YodGhpcy5idWYxKSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGRpY3Quc2V0KGtleSwgdGhpcy5nZXRPYmooY2lwaGVyVHJhbnNmb3JtKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGlzRU9GKHRoaXMuYnVmMSkpIHsKICAgICAgICAgICAgICBlcnJvcignRW5kIG9mIGZpbGUgaW5zaWRlIGRpY3Rpb25hcnknKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RyZWFtIG9iamVjdHMgYXJlIG5vdCBhbGxvd2VkIGluc2lkZSBjb250ZW50IHN0cmVhbXMgb3IKICAgICAgICAgICAgLy8gb2JqZWN0IHN0cmVhbXMuCiAgICAgICAgICAgIGlmIChpc0NtZCh0aGlzLmJ1ZjIsICdzdHJlYW0nKSkgewogICAgICAgICAgICAgIHJldHVybiAodGhpcy5hbGxvd1N0cmVhbXMgPwogICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYWtlU3RyZWFtKGRpY3QsIGNpcGhlclRyYW5zZm9ybSkgOiBkaWN0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLnNoaWZ0KCk7CiAgICAgICAgICAgIHJldHVybiBkaWN0OwogICAgICAgICAgZGVmYXVsdDogLy8gc2ltcGxlIG9iamVjdAogICAgICAgICAgICByZXR1cm4gYnVmMTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChpc0ludChidWYxKSkgeyAvLyBpbmRpcmVjdCByZWZlcmVuY2Ugb3IgaW50ZWdlcgogICAgICAgIHZhciBudW0gPSBidWYxOwogICAgICAgIGlmIChpc0ludCh0aGlzLmJ1ZjEpICYmIGlzQ21kKHRoaXMuYnVmMiwgJ1InKSkgewogICAgICAgICAgdmFyIHJlZiA9IG5ldyBSZWYobnVtLCB0aGlzLmJ1ZjEpOwogICAgICAgICAgdGhpcy5zaGlmdCgpOwogICAgICAgICAgdGhpcy5zaGlmdCgpOwogICAgICAgICAgcmV0dXJuIHJlZjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bTsKICAgICAgfQoKICAgICAgaWYgKGlzU3RyaW5nKGJ1ZjEpKSB7IC8vIHN0cmluZwogICAgICAgIHZhciBzdHIgPSBidWYxOwogICAgICAgIGlmIChjaXBoZXJUcmFuc2Zvcm0pIHsKICAgICAgICAgIHN0ciA9IGNpcGhlclRyYW5zZm9ybS5kZWNyeXB0U3RyaW5nKHN0cik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzdHI7CiAgICAgIH0KCiAgICAgIC8vIHNpbXBsZSBvYmplY3QKICAgICAgcmV0dXJuIGJ1ZjE7CiAgICB9LAogICAgLyoqCiAgICAgKiBGaW5kIHRoZSBlbmQgb2YgdGhlIHN0cmVhbSBieSBzZWFyY2hpbmcgZm9yIHRoZSAvRUlccy8uCiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgaW5saW5lIHN0cmVhbSBsZW5ndGguCiAgICAgKi8KICAgIGZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kOgogICAgICAgIGZ1bmN0aW9uIFBhcnNlcl9maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChzdHJlYW0pIHsKICAgICAgdmFyIEUgPSAweDQ1LCBJID0gMHg0OSwgU1BBQ0UgPSAweDIwLCBMRiA9IDB4QSwgQ1IgPSAweEQ7CiAgICAgIHZhciBzdGFydFBvcyA9IHN0cmVhbS5wb3MsIHN0YXRlID0gMCwgY2gsIGksIG4sIGZvbGxvd2luZ0J5dGVzOwogICAgICB3aGlsZSAoKGNoID0gc3RyZWFtLmdldEJ5dGUoKSkgIT09IC0xKSB7CiAgICAgICAgaWYgKHN0YXRlID09PSAwKSB7CiAgICAgICAgICBzdGF0ZSA9IChjaCA9PT0gRSkgPyAxIDogMDsKICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAxKSB7CiAgICAgICAgICBzdGF0ZSA9IChjaCA9PT0gSSkgPyAyIDogMDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYXNzZXJ0KHN0YXRlID09PSAyKTsKICAgICAgICAgIGlmIChjaCA9PT0gU1BBQ0UgfHwgY2ggPT09IExGIHx8IGNoID09PSBDUikgewogICAgICAgICAgICAvLyBMZXQncyBjaGVjayB0aGUgbmV4dCBmaXZlIGJ5dGVzIGFyZSBBU0NJSS4uLiBqdXN0IGJlIHN1cmUuCiAgICAgICAgICAgIG4gPSA1OwogICAgICAgICAgICBmb2xsb3dpbmdCeXRlcyA9IHN0cmVhbS5wZWVrQnl0ZXMobik7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgICBjaCA9IGZvbGxvd2luZ0J5dGVzW2ldOwogICAgICAgICAgICAgIGlmIChjaCAhPT0gTEYgJiYgY2ggIT09IENSICYmIChjaCA8IFNQQUNFIHx8IGNoID4gMHg3RikpIHsKICAgICAgICAgICAgICAgIC8vIE5vdCBhIExGLCBDUiwgU1BBQ0Ugb3IgYW55IHZpc2libGUgQVNDSUkgY2hhcmFjdGVyLCBpLmUuCiAgICAgICAgICAgICAgICAvLyBpdCdzIGJpbmFyeSBzdHVmZi4gUmVzZXR0aW5nIHRoZSBzdGF0ZS4KICAgICAgICAgICAgICAgIHN0YXRlID0gMDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoc3RhdGUgPT09IDIpIHsKICAgICAgICAgICAgICBicmVhazsgIC8vIEZpbmlzaGVkIQogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBzdGF0ZSA9IDA7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiAoKHN0cmVhbS5wb3MgLSA0KSAtIHN0YXJ0UG9zKTsKICAgIH0sCiAgICAvKioKICAgICAqIEZpbmQgdGhlIEVPSSAoZW5kLW9mLWltYWdlKSBtYXJrZXIgMHhGRkQ5IG9mIHRoZSBzdHJlYW0uCiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgaW5saW5lIHN0cmVhbSBsZW5ndGguCiAgICAgKi8KICAgIGZpbmREQ1REZWNvZGVJbmxpbmVTdHJlYW1FbmQ6CiAgICAgICAgZnVuY3Rpb24gUGFyc2VyX2ZpbmREQ1REZWNvZGVJbmxpbmVTdHJlYW1FbmQoc3RyZWFtKSB7CiAgICAgIHZhciBzdGFydFBvcyA9IHN0cmVhbS5wb3MsIGZvdW5kRU9JID0gZmFsc2UsIGIsIG1hcmtlckxlbmd0aCwgbGVuZ3RoOwogICAgICB3aGlsZSAoKGIgPSBzdHJlYW0uZ2V0Qnl0ZSgpKSAhPT0gLTEpIHsKICAgICAgICBpZiAoYiAhPT0gMHhGRikgeyAvLyBOb3QgYSB2YWxpZCBtYXJrZXIuCiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgc3dpdGNoIChzdHJlYW0uZ2V0Qnl0ZSgpKSB7CiAgICAgICAgICBjYXNlIDB4MDA6IC8vIEJ5dGUgc3R1ZmZpbmcuCiAgICAgICAgICAgIC8vIDB4RkYwMCBhcHBlYXJzIHRvIGJlIGEgdmVyeSBjb21tb24gYnl0ZSBzZXF1ZW5jZSBpbiBKUEVHIGltYWdlcy4KICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgY2FzZSAweEZGOiAvLyBGaWxsIGJ5dGUuCiAgICAgICAgICAgIC8vIEF2b2lkIHNraXBwaW5nIGEgdmFsaWQgbWFya2VyLCByZXNldHRpbmcgdGhlIHN0cmVhbSBwb3NpdGlvbi4KICAgICAgICAgICAgc3RyZWFtLnNraXAoLTEpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBjYXNlIDB4RDk6IC8vIEVPSQogICAgICAgICAgICBmb3VuZEVPSSA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMHhDMDogLy8gU09GMAogICAgICAgICAgY2FzZSAweEMxOiAvLyBTT0YxCiAgICAgICAgICBjYXNlIDB4QzI6IC8vIFNPRjIKICAgICAgICAgIGNhc2UgMHhDMzogLy8gU09GMwoKICAgICAgICAgIGNhc2UgMHhDNTogLy8gU09GNQogICAgICAgICAgY2FzZSAweEM2OiAvLyBTT0Y2CiAgICAgICAgICBjYXNlIDB4Qzc6IC8vIFNPRjcKCiAgICAgICAgICBjYXNlIDB4Qzk6IC8vIFNPRjkKICAgICAgICAgIGNhc2UgMHhDQTogLy8gU09GMTAKICAgICAgICAgIGNhc2UgMHhDQjogLy8gU09GMTEKCiAgICAgICAgICBjYXNlIDB4Q0Q6IC8vIFNPRjEzCiAgICAgICAgICBjYXNlIDB4Q0U6IC8vIFNPRjE0CiAgICAgICAgICBjYXNlIDB4Q0Y6IC8vIFNPRjE1CgogICAgICAgICAgY2FzZSAweEM0OiAvLyBESFQKICAgICAgICAgIGNhc2UgMHhDQzogLy8gREFDCgogICAgICAgICAgY2FzZSAweERBOiAvLyBTT1MKICAgICAgICAgIGNhc2UgMHhEQjogLy8gRFFUCiAgICAgICAgICBjYXNlIDB4REM6IC8vIEROTAogICAgICAgICAgY2FzZSAweEREOiAvLyBEUkkKICAgICAgICAgIGNhc2UgMHhERTogLy8gREhQCiAgICAgICAgICBjYXNlIDB4REY6IC8vIEVYUAoKICAgICAgICAgIGNhc2UgMHhFMDogLy8gQVBQMAogICAgICAgICAgY2FzZSAweEUxOiAvLyBBUFAxCiAgICAgICAgICBjYXNlIDB4RTI6IC8vIEFQUDIKICAgICAgICAgIGNhc2UgMHhFMzogLy8gQVBQMwogICAgICAgICAgY2FzZSAweEU0OiAvLyBBUFA0CiAgICAgICAgICBjYXNlIDB4RTU6IC8vIEFQUDUKICAgICAgICAgIGNhc2UgMHhFNjogLy8gQVBQNgogICAgICAgICAgY2FzZSAweEU3OiAvLyBBUFA3CiAgICAgICAgICBjYXNlIDB4RTg6IC8vIEFQUDgKICAgICAgICAgIGNhc2UgMHhFOTogLy8gQVBQOQogICAgICAgICAgY2FzZSAweEVBOiAvLyBBUFAxMAogICAgICAgICAgY2FzZSAweEVCOiAvLyBBUFAxMQogICAgICAgICAgY2FzZSAweEVDOiAvLyBBUFAxMgogICAgICAgICAgY2FzZSAweEVEOiAvLyBBUFAxMwogICAgICAgICAgY2FzZSAweEVFOiAvLyBBUFAxNAogICAgICAgICAgY2FzZSAweEVGOiAvLyBBUFAxNQoKICAgICAgICAgIGNhc2UgMHhGRTogLy8gQ09NCiAgICAgICAgICAgIC8vIFRoZSBtYXJrZXIgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IHRoZSBsZW5ndGggb2YgdGhlIHNlZ21lbnQuCiAgICAgICAgICAgIG1hcmtlckxlbmd0aCA9IHN0cmVhbS5nZXRVaW50MTYoKTsKICAgICAgICAgICAgaWYgKG1hcmtlckxlbmd0aCA+IDIpIHsKICAgICAgICAgICAgICAvLyB8bWFya2VyTGVuZ3RofCBjb250YWlucyB0aGUgYnl0ZSBsZW5ndGggb2YgdGhlIG1hcmtlciBzZWdtZW50LAogICAgICAgICAgICAgIC8vIGluY2x1ZGluZyBpdHMgb3duIGxlbmd0aCAoMiBieXRlcykgYW5kIGV4Y2x1ZGluZyB0aGUgbWFya2VyLgogICAgICAgICAgICAgIHN0cmVhbS5za2lwKG1hcmtlckxlbmd0aCAtIDIpOyAvLyBKdW1wIHRvIHRoZSBuZXh0IG1hcmtlci4KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAvLyBUaGUgbWFya2VyIGxlbmd0aCBpcyBpbnZhbGlkLCByZXNldHRpbmcgdGhlIHN0cmVhbSBwb3NpdGlvbi4KICAgICAgICAgICAgICBzdHJlYW0uc2tpcCgtMik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmIChmb3VuZEVPSSkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGxlbmd0aCA9IHN0cmVhbS5wb3MgLSBzdGFydFBvczsKICAgICAgaWYgKGIgPT09IC0xKSB7CiAgICAgICAgd2FybignSW5saW5lIERDVERlY29kZSBpbWFnZSBzdHJlYW06ICcgKwogICAgICAgICAgICAgJ0VPSSBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4nKTsKICAgICAgICBzdHJlYW0uc2tpcCgtbGVuZ3RoKTsgLy8gUmVzZXQgdGhlIHN0cmVhbSBwb3NpdGlvbi4KICAgICAgICByZXR1cm4gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChzdHJlYW0pOwogICAgICB9CiAgICAgIHRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKHN0cmVhbSk7CiAgICAgIHJldHVybiBsZW5ndGg7CiAgICB9LAogICAgLyoqCiAgICAgKiBGaW5kIHRoZSBFT0QgKGVuZC1vZi1kYXRhKSBtYXJrZXIgJ34+JyAoaS5lLiBUSUxERSArIEdUKSBvZiB0aGUgc3RyZWFtLgogICAgICogQHJldHVybnMge251bWJlcn0gVGhlIGlubGluZSBzdHJlYW0gbGVuZ3RoLgogICAgICovCiAgICBmaW5kQVNDSUk4NURlY29kZUlubGluZVN0cmVhbUVuZDoKICAgICAgICBmdW5jdGlvbiBQYXJzZXJfZmluZEFTQ0lJODVEZWNvZGVJbmxpbmVTdHJlYW1FbmQoc3RyZWFtKSB7CiAgICAgIHZhciBUSUxERSA9IDB4N0UsIEdUID0gMHgzRTsKICAgICAgdmFyIHN0YXJ0UG9zID0gc3RyZWFtLnBvcywgY2gsIGxlbmd0aDsKICAgICAgd2hpbGUgKChjaCA9IHN0cmVhbS5nZXRCeXRlKCkpICE9PSAtMSkgewogICAgICAgIGlmIChjaCA9PT0gVElMREUgJiYgc3RyZWFtLnBlZWtCeXRlKCkgPT09IEdUKSB7CiAgICAgICAgICBzdHJlYW0uc2tpcCgpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGxlbmd0aCA9IHN0cmVhbS5wb3MgLSBzdGFydFBvczsKICAgICAgaWYgKGNoID09PSAtMSkgewogICAgICAgIHdhcm4oJ0lubGluZSBBU0NJSTg1RGVjb2RlIGltYWdlIHN0cmVhbTogJyArCiAgICAgICAgICAgICAnRU9EIG1hcmtlciBub3QgZm91bmQsIHNlYXJjaGluZyBmb3IgL0VJLyBpbnN0ZWFkLicpOwogICAgICAgIHN0cmVhbS5za2lwKC1sZW5ndGgpOyAvLyBSZXNldCB0aGUgc3RyZWFtIHBvc2l0aW9uLgogICAgICAgIHJldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKHN0cmVhbSk7CiAgICAgIH0KICAgICAgdGhpcy5pbmxpbmVTdHJlYW1Ta2lwRUkoc3RyZWFtKTsKICAgICAgcmV0dXJuIGxlbmd0aDsKICAgIH0sCiAgICAvKioKICAgICAqIEZpbmQgdGhlIEVPRCAoZW5kLW9mLWRhdGEpIG1hcmtlciAnPicgKGkuZS4gR1QpIG9mIHRoZSBzdHJlYW0uCiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgaW5saW5lIHN0cmVhbSBsZW5ndGguCiAgICAgKi8KICAgIGZpbmRBU0NJSUhleERlY29kZUlubGluZVN0cmVhbUVuZDoKICAgICAgICBmdW5jdGlvbiBQYXJzZXJfZmluZEFTQ0lJSGV4RGVjb2RlSW5saW5lU3RyZWFtRW5kKHN0cmVhbSkgewogICAgICB2YXIgR1QgPSAweDNFOwogICAgICB2YXIgc3RhcnRQb3MgPSBzdHJlYW0ucG9zLCBjaCwgbGVuZ3RoOwogICAgICB3aGlsZSAoKGNoID0gc3RyZWFtLmdldEJ5dGUoKSkgIT09IC0xKSB7CiAgICAgICAgaWYgKGNoID09PSBHVCkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGxlbmd0aCA9IHN0cmVhbS5wb3MgLSBzdGFydFBvczsKICAgICAgaWYgKGNoID09PSAtMSkgewogICAgICAgIHdhcm4oJ0lubGluZSBBU0NJSUhleERlY29kZSBpbWFnZSBzdHJlYW06ICcgKwogICAgICAgICAgICAgJ0VPRCBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4nKTsKICAgICAgICBzdHJlYW0uc2tpcCgtbGVuZ3RoKTsgLy8gUmVzZXQgdGhlIHN0cmVhbSBwb3NpdGlvbi4KICAgICAgICByZXR1cm4gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChzdHJlYW0pOwogICAgICB9CiAgICAgIHRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKHN0cmVhbSk7CiAgICAgIHJldHVybiBsZW5ndGg7CiAgICB9LAogICAgLyoqCiAgICAgKiBTa2lwIG92ZXIgdGhlIC9FSS8gZm9yIHN0cmVhbXMgd2hlcmUgd2Ugc2VhcmNoIGZvciBhbiBFT0QgbWFya2VyLgogICAgICovCiAgICBpbmxpbmVTdHJlYW1Ta2lwRUk6IGZ1bmN0aW9uIFBhcnNlcl9pbmxpbmVTdHJlYW1Ta2lwRUkoc3RyZWFtKSB7CiAgICAgIHZhciBFID0gMHg0NSwgSSA9IDB4NDk7CiAgICAgIHZhciBzdGF0ZSA9IDAsIGNoOwogICAgICB3aGlsZSAoKGNoID0gc3RyZWFtLmdldEJ5dGUoKSkgIT09IC0xKSB7CiAgICAgICAgaWYgKHN0YXRlID09PSAwKSB7CiAgICAgICAgICBzdGF0ZSA9IChjaCA9PT0gRSkgPyAxIDogMDsKICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAxKSB7CiAgICAgICAgICBzdGF0ZSA9IChjaCA9PT0gSSkgPyAyIDogMDsKICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAyKSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBtYWtlSW5saW5lSW1hZ2U6IGZ1bmN0aW9uIFBhcnNlcl9tYWtlSW5saW5lSW1hZ2UoY2lwaGVyVHJhbnNmb3JtKSB7CiAgICAgIHZhciBsZXhlciA9IHRoaXMubGV4ZXI7CiAgICAgIHZhciBzdHJlYW0gPSBsZXhlci5zdHJlYW07CgogICAgICAvLyBQYXJzZSBkaWN0aW9uYXJ5LgogICAgICB2YXIgZGljdCA9IG5ldyBEaWN0KG51bGwpOwogICAgICB3aGlsZSAoIWlzQ21kKHRoaXMuYnVmMSwgJ0lEJykgJiYgIWlzRU9GKHRoaXMuYnVmMSkpIHsKICAgICAgICBpZiAoIWlzTmFtZSh0aGlzLmJ1ZjEpKSB7CiAgICAgICAgICBlcnJvcignRGljdGlvbmFyeSBrZXkgbXVzdCBiZSBhIG5hbWUgb2JqZWN0Jyk7CiAgICAgICAgfQogICAgICAgIHZhciBrZXkgPSB0aGlzLmJ1ZjEubmFtZTsKICAgICAgICB0aGlzLnNoaWZ0KCk7CiAgICAgICAgaWYgKGlzRU9GKHRoaXMuYnVmMSkpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBkaWN0LnNldChrZXksIHRoaXMuZ2V0T2JqKGNpcGhlclRyYW5zZm9ybSkpOwogICAgICB9CgogICAgICAvLyBFeHRyYWN0IHRoZSBuYW1lIG9mIHRoZSBmaXJzdCAoaS5lLiB0aGUgY3VycmVudCkgaW1hZ2UgZmlsdGVyLgogICAgICB2YXIgZmlsdGVyID0gdGhpcy5mZXRjaElmUmVmKGRpY3QuZ2V0KCdGaWx0ZXInLCAnRicpKSwgZmlsdGVyTmFtZTsKICAgICAgaWYgKGlzTmFtZShmaWx0ZXIpKSB7CiAgICAgICAgZmlsdGVyTmFtZSA9IGZpbHRlci5uYW1lOwogICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZmlsdGVyKSAmJiBpc05hbWUoZmlsdGVyWzBdKSkgewogICAgICAgIGZpbHRlck5hbWUgPSBmaWx0ZXJbMF0ubmFtZTsKICAgICAgfQoKICAgICAgLy8gUGFyc2UgaW1hZ2Ugc3RyZWFtLgogICAgICB2YXIgc3RhcnRQb3MgPSBzdHJlYW0ucG9zLCBsZW5ndGgsIGksIGlpOwogICAgICBpZiAoZmlsdGVyTmFtZSA9PT0gJ0RDVERlY29kZScgfHwgZmlsdGVyTmFtZSA9PT0gJ0RDVCcpIHsKICAgICAgICBsZW5ndGggPSB0aGlzLmZpbmREQ1REZWNvZGVJbmxpbmVTdHJlYW1FbmQoc3RyZWFtKTsKICAgICAgfSBlbHNlIGlmIChmaWx0ZXJOYW1lID09PSAnQVNDSUk4NURlY2lkZScgfHwgZmlsdGVyTmFtZSA9PT0gJ0E4NScpIHsKICAgICAgICBsZW5ndGggPSB0aGlzLmZpbmRBU0NJSTg1RGVjb2RlSW5saW5lU3RyZWFtRW5kKHN0cmVhbSk7CiAgICAgIH0gZWxzZSBpZiAoZmlsdGVyTmFtZSA9PT0gJ0FTQ0lJSGV4RGVjb2RlJyB8fCBmaWx0ZXJOYW1lID09PSAnQUh4JykgewogICAgICAgIGxlbmd0aCA9IHRoaXMuZmluZEFTQ0lJSGV4RGVjb2RlSW5saW5lU3RyZWFtRW5kKHN0cmVhbSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbGVuZ3RoID0gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChzdHJlYW0pOwogICAgICB9CiAgICAgIHZhciBpbWFnZVN0cmVhbSA9IHN0cmVhbS5tYWtlU3ViU3RyZWFtKHN0YXJ0UG9zLCBsZW5ndGgsIGRpY3QpOwoKICAgICAgLy8gQ2FjaGUgYWxsIGltYWdlcyBiZWxvdyB0aGUgTUFYX0xFTkdUSF9UT19DQUNIRSB0aHJlc2hvbGQgYnkgdGhlaXIKICAgICAgLy8gYWRsZXIzMiBjaGVja3N1bS4KICAgICAgdmFyIGFkbGVyMzI7CiAgICAgIGlmIChsZW5ndGggPCBNQVhfTEVOR1RIX1RPX0NBQ0hFKSB7CiAgICAgICAgdmFyIGltYWdlQnl0ZXMgPSBpbWFnZVN0cmVhbS5nZXRCeXRlcygpOwogICAgICAgIGltYWdlU3RyZWFtLnJlc2V0KCk7CgogICAgICAgIHZhciBhID0gMTsKICAgICAgICB2YXIgYiA9IDA7CiAgICAgICAgZm9yIChpID0gMCwgaWkgPSBpbWFnZUJ5dGVzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICAgIC8vIE5vIG1vZHVsbyByZXF1aXJlZCBpbiB0aGUgbG9vcCBpZiBpbWFnZUJ5dGVzLmxlbmd0aCA8IDU1NTIuCiAgICAgICAgICBhICs9IGltYWdlQnl0ZXNbaV0gJiAweGZmOwogICAgICAgICAgYiArPSBhOwogICAgICAgIH0KICAgICAgICBhZGxlcjMyID0gKChiICUgNjU1MjEpIDw8IDE2KSB8IChhICUgNjU1MjEpOwoKICAgICAgICBpZiAodGhpcy5pbWFnZUNhY2hlLmFkbGVyMzIgPT09IGFkbGVyMzIpIHsKICAgICAgICAgIHRoaXMuYnVmMiA9IENtZC5nZXQoJ0VJJyk7CiAgICAgICAgICB0aGlzLnNoaWZ0KCk7CgogICAgICAgICAgdGhpcy5pbWFnZUNhY2hlW2FkbGVyMzJdLnJlc2V0KCk7CiAgICAgICAgICByZXR1cm4gdGhpcy5pbWFnZUNhY2hlW2FkbGVyMzJdOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGNpcGhlclRyYW5zZm9ybSkgewogICAgICAgIGltYWdlU3RyZWFtID0gY2lwaGVyVHJhbnNmb3JtLmNyZWF0ZVN0cmVhbShpbWFnZVN0cmVhbSwgbGVuZ3RoKTsKICAgICAgfQoKICAgICAgaW1hZ2VTdHJlYW0gPSB0aGlzLmZpbHRlcihpbWFnZVN0cmVhbSwgZGljdCwgbGVuZ3RoKTsKICAgICAgaW1hZ2VTdHJlYW0uZGljdCA9IGRpY3Q7CiAgICAgIGlmIChhZGxlcjMyICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBpbWFnZVN0cmVhbS5jYWNoZUtleSA9ICdpbmxpbmVfJyArIGxlbmd0aCArICdfJyArIGFkbGVyMzI7CiAgICAgICAgdGhpcy5pbWFnZUNhY2hlW2FkbGVyMzJdID0gaW1hZ2VTdHJlYW07CiAgICAgIH0KCiAgICAgIHRoaXMuYnVmMiA9IENtZC5nZXQoJ0VJJyk7CiAgICAgIHRoaXMuc2hpZnQoKTsKCiAgICAgIHJldHVybiBpbWFnZVN0cmVhbTsKICAgIH0sCiAgICBmZXRjaElmUmVmOiBmdW5jdGlvbiBQYXJzZXJfZmV0Y2hJZlJlZihvYmopIHsKICAgICAgLy8gbm90IHJlbHlpbmcgb24gdGhlIHhyZWYuZmV0Y2hJZlJlZiAtLSB4cmVmIG1pZ2h0IG5vdCBiZSBzZXQKICAgICAgcmV0dXJuIChpc1JlZihvYmopID8gdGhpcy54cmVmLmZldGNoKG9iaikgOiBvYmopOwogICAgfSwKICAgIG1ha2VTdHJlYW06IGZ1bmN0aW9uIFBhcnNlcl9tYWtlU3RyZWFtKGRpY3QsIGNpcGhlclRyYW5zZm9ybSkgewogICAgICB2YXIgbGV4ZXIgPSB0aGlzLmxleGVyOwogICAgICB2YXIgc3RyZWFtID0gbGV4ZXIuc3RyZWFtOwoKICAgICAgLy8gZ2V0IHN0cmVhbSBzdGFydCBwb3NpdGlvbgogICAgICBsZXhlci5za2lwVG9OZXh0TGluZSgpOwogICAgICB2YXIgcG9zID0gc3RyZWFtLnBvcyAtIDE7CgogICAgICAvLyBnZXQgbGVuZ3RoCiAgICAgIHZhciBsZW5ndGggPSB0aGlzLmZldGNoSWZSZWYoZGljdC5nZXQoJ0xlbmd0aCcpKTsKICAgICAgaWYgKCFpc0ludChsZW5ndGgpKSB7CiAgICAgICAgaW5mbygnQmFkICcgKyBsZW5ndGggKyAnIGF0dHJpYnV0ZSBpbiBzdHJlYW0nKTsKICAgICAgICBsZW5ndGggPSAwOwogICAgICB9CgogICAgICAvLyBza2lwIG92ZXIgdGhlIHN0cmVhbSBkYXRhCiAgICAgIHN0cmVhbS5wb3MgPSBwb3MgKyBsZW5ndGg7CiAgICAgIGxleGVyLm5leHRDaGFyKCk7CgogICAgICB0aGlzLnNoaWZ0KCk7IC8vICc+PicKICAgICAgdGhpcy5zaGlmdCgpOyAvLyAnc3RyZWFtJwogICAgICBpZiAoIWlzQ21kKHRoaXMuYnVmMSwgJ2VuZHN0cmVhbScpKSB7CiAgICAgICAgLy8gYmFkIHN0cmVhbSBsZW5ndGgsIHNjYW5uaW5nIGZvciBlbmRzdHJlYW0KICAgICAgICBzdHJlYW0ucG9zID0gcG9zOwogICAgICAgIHZhciBTQ0FOX0JMT0NLX1NJWkUgPSAyMDQ4OwogICAgICAgIHZhciBFTkRTVFJFQU1fU0lHTkFUVVJFX0xFTkdUSCA9IDk7CiAgICAgICAgdmFyIEVORFNUUkVBTV9TSUdOQVRVUkUgPSBbMHg2NSwgMHg2RSwgMHg2NCwgMHg3MywgMHg3NCwgMHg3MiwgMHg2NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYxLCAweDZEXTsKICAgICAgICB2YXIgc2tpcHBlZCA9IDAsIGZvdW5kID0gZmFsc2UsIGksIGo7CiAgICAgICAgd2hpbGUgKHN0cmVhbS5wb3MgPCBzdHJlYW0uZW5kKSB7CiAgICAgICAgICB2YXIgc2NhbkJ5dGVzID0gc3RyZWFtLnBlZWtCeXRlcyhTQ0FOX0JMT0NLX1NJWkUpOwogICAgICAgICAgdmFyIHNjYW5MZW5ndGggPSBzY2FuQnl0ZXMubGVuZ3RoIC0gRU5EU1RSRUFNX1NJR05BVFVSRV9MRU5HVEg7CiAgICAgICAgICBpZiAoc2Nhbkxlbmd0aCA8PSAwKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgZm91bmQgPSBmYWxzZTsKICAgICAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgc2Nhbkxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBiID0gc2NhbkJ5dGVzW2ldOwogICAgICAgICAgICBpZiAoYiAhPT0gRU5EU1RSRUFNX1NJR05BVFVSRVtqXSkgewogICAgICAgICAgICAgIGkgLT0gajsKICAgICAgICAgICAgICBqID0gMDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBqKys7CiAgICAgICAgICAgICAgaWYgKGogPj0gRU5EU1RSRUFNX1NJR05BVFVSRV9MRU5HVEgpIHsKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKGZvdW5kKSB7CiAgICAgICAgICAgIHNraXBwZWQgKz0gaSAtIEVORFNUUkVBTV9TSUdOQVRVUkVfTEVOR1RIOwogICAgICAgICAgICBzdHJlYW0ucG9zICs9IGkgLSBFTkRTVFJFQU1fU0lHTkFUVVJFX0xFTkdUSDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBza2lwcGVkICs9IHNjYW5MZW5ndGg7CiAgICAgICAgICBzdHJlYW0ucG9zICs9IHNjYW5MZW5ndGg7CiAgICAgICAgfQogICAgICAgIGlmICghZm91bmQpIHsKICAgICAgICAgIGVycm9yKCdNaXNzaW5nIGVuZHN0cmVhbScpOwogICAgICAgIH0KICAgICAgICBsZW5ndGggPSBza2lwcGVkOwoKICAgICAgICBsZXhlci5uZXh0Q2hhcigpOwogICAgICAgIHRoaXMuc2hpZnQoKTsKICAgICAgICB0aGlzLnNoaWZ0KCk7CiAgICAgIH0KICAgICAgdGhpcy5zaGlmdCgpOyAvLyAnZW5kc3RyZWFtJwoKICAgICAgc3RyZWFtID0gc3RyZWFtLm1ha2VTdWJTdHJlYW0ocG9zLCBsZW5ndGgsIGRpY3QpOwogICAgICBpZiAoY2lwaGVyVHJhbnNmb3JtKSB7CiAgICAgICAgc3RyZWFtID0gY2lwaGVyVHJhbnNmb3JtLmNyZWF0ZVN0cmVhbShzdHJlYW0sIGxlbmd0aCk7CiAgICAgIH0KICAgICAgc3RyZWFtID0gdGhpcy5maWx0ZXIoc3RyZWFtLCBkaWN0LCBsZW5ndGgpOwogICAgICBzdHJlYW0uZGljdCA9IGRpY3Q7CiAgICAgIHJldHVybiBzdHJlYW07CiAgICB9LAogICAgZmlsdGVyOiBmdW5jdGlvbiBQYXJzZXJfZmlsdGVyKHN0cmVhbSwgZGljdCwgbGVuZ3RoKSB7CiAgICAgIHZhciBmaWx0ZXIgPSB0aGlzLmZldGNoSWZSZWYoZGljdC5nZXQoJ0ZpbHRlcicsICdGJykpOwogICAgICB2YXIgcGFyYW1zID0gdGhpcy5mZXRjaElmUmVmKGRpY3QuZ2V0KCdEZWNvZGVQYXJtcycsICdEUCcpKTsKICAgICAgaWYgKGlzTmFtZShmaWx0ZXIpKSB7CiAgICAgICAgcmV0dXJuIHRoaXMubWFrZUZpbHRlcihzdHJlYW0sIGZpbHRlci5uYW1lLCBsZW5ndGgsIHBhcmFtcyk7CiAgICAgIH0KCiAgICAgIHZhciBtYXliZUxlbmd0aCA9IGxlbmd0aDsKICAgICAgaWYgKGlzQXJyYXkoZmlsdGVyKSkgewogICAgICAgIHZhciBmaWx0ZXJBcnJheSA9IGZpbHRlcjsKICAgICAgICB2YXIgcGFyYW1zQXJyYXkgPSBwYXJhbXM7CiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gZmlsdGVyQXJyYXkubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICAgICAgZmlsdGVyID0gZmlsdGVyQXJyYXlbaV07CiAgICAgICAgICBpZiAoIWlzTmFtZShmaWx0ZXIpKSB7CiAgICAgICAgICAgIGVycm9yKCdCYWQgZmlsdGVyIG5hbWU6ICcgKyBmaWx0ZXIpOwogICAgICAgICAgfQoKICAgICAgICAgIHBhcmFtcyA9IG51bGw7CiAgICAgICAgICBpZiAoaXNBcnJheShwYXJhbXNBcnJheSkgJiYgKGkgaW4gcGFyYW1zQXJyYXkpKSB7CiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtc0FycmF5W2ldOwogICAgICAgICAgfQogICAgICAgICAgc3RyZWFtID0gdGhpcy5tYWtlRmlsdGVyKHN0cmVhbSwgZmlsdGVyLm5hbWUsIG1heWJlTGVuZ3RoLCBwYXJhbXMpOwogICAgICAgICAgLy8gYWZ0ZXIgdGhlIGZpcnN0IHN0cmVhbSB0aGUgbGVuZ3RoIHZhcmlhYmxlIGlzIGludmFsaWQKICAgICAgICAgIG1heWJlTGVuZ3RoID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHN0cmVhbTsKICAgIH0sCiAgICBtYWtlRmlsdGVyOiBmdW5jdGlvbiBQYXJzZXJfbWFrZUZpbHRlcihzdHJlYW0sIG5hbWUsIG1heWJlTGVuZ3RoLCBwYXJhbXMpIHsKICAgICAgaWYgKHN0cmVhbS5kaWN0LmdldCgnTGVuZ3RoJykgPT09IDApIHsKICAgICAgICByZXR1cm4gbmV3IE51bGxTdHJlYW0oc3RyZWFtKTsKICAgICAgfQogICAgICB0cnkgewogICAgICAgIGlmIChwYXJhbXMpIHsKICAgICAgICAgIHBhcmFtcyA9IHRoaXMuZmV0Y2hJZlJlZihwYXJhbXMpOwogICAgICAgIH0KICAgICAgICB2YXIgeHJlZlN0cmVhbVN0YXRzID0gdGhpcy54cmVmLnN0YXRzLnN0cmVhbVR5cGVzOwogICAgICAgIGlmIChuYW1lID09PSAnRmxhdGVEZWNvZGUnIHx8IG5hbWUgPT09ICdGbCcpIHsKICAgICAgICAgIHhyZWZTdHJlYW1TdGF0c1tTdHJlYW1UeXBlLkZMQVRFXSA9IHRydWU7CiAgICAgICAgICBpZiAocGFyYW1zKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgUHJlZGljdG9yU3RyZWFtKG5ldyBGbGF0ZVN0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5YmVMZW5ndGgsIHBhcmFtcyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbmV3IEZsYXRlU3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZiAobmFtZSA9PT0gJ0xaV0RlY29kZScgfHwgbmFtZSA9PT0gJ0xaVycpIHsKICAgICAgICAgIHhyZWZTdHJlYW1TdGF0c1tTdHJlYW1UeXBlLkxaV10gPSB0cnVlOwogICAgICAgICAgdmFyIGVhcmx5Q2hhbmdlID0gMTsKICAgICAgICAgIGlmIChwYXJhbXMpIHsKICAgICAgICAgICAgaWYgKHBhcmFtcy5oYXMoJ0Vhcmx5Q2hhbmdlJykpIHsKICAgICAgICAgICAgICBlYXJseUNoYW5nZSA9IHBhcmFtcy5nZXQoJ0Vhcmx5Q2hhbmdlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIG5ldyBQcmVkaWN0b3JTdHJlYW0oCiAgICAgICAgICAgICAgbmV3IExaV1N0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBlYXJseUNoYW5nZSksCiAgICAgICAgICAgICAgbWF5YmVMZW5ndGgsIHBhcmFtcyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbmV3IExaV1N0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBlYXJseUNoYW5nZSk7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnRENURGVjb2RlJyB8fCBuYW1lID09PSAnRENUJykgewogICAgICAgICAgeHJlZlN0cmVhbVN0YXRzW1N0cmVhbVR5cGUuRENUXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IEpwZWdTdHJlYW0oc3RyZWFtLCBtYXliZUxlbmd0aCwgc3RyZWFtLmRpY3QsIHRoaXMueHJlZik7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnSlBYRGVjb2RlJyB8fCBuYW1lID09PSAnSlBYJykgewogICAgICAgICAgeHJlZlN0cmVhbVN0YXRzW1N0cmVhbVR5cGUuSlBYXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IEpweFN0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBzdHJlYW0uZGljdCk7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnQVNDSUk4NURlY29kZScgfHwgbmFtZSA9PT0gJ0E4NScpIHsKICAgICAgICAgIHhyZWZTdHJlYW1TdGF0c1tTdHJlYW1UeXBlLkE4NV0gPSB0cnVlOwogICAgICAgICAgcmV0dXJuIG5ldyBBc2NpaTg1U3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZiAobmFtZSA9PT0gJ0FTQ0lJSGV4RGVjb2RlJyB8fCBuYW1lID09PSAnQUh4JykgewogICAgICAgICAgeHJlZlN0cmVhbVN0YXRzW1N0cmVhbVR5cGUuQUhYXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IEFzY2lpSGV4U3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZiAobmFtZSA9PT0gJ0NDSVRURmF4RGVjb2RlJyB8fCBuYW1lID09PSAnQ0NGJykgewogICAgICAgICAgeHJlZlN0cmVhbVN0YXRzW1N0cmVhbVR5cGUuQ0NGXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IENDSVRURmF4U3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgsIHBhcmFtcyk7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnUnVuTGVuZ3RoRGVjb2RlJyB8fCBuYW1lID09PSAnUkwnKSB7CiAgICAgICAgICB4cmVmU3RyZWFtU3RhdHNbU3RyZWFtVHlwZS5STF0gPSB0cnVlOwogICAgICAgICAgcmV0dXJuIG5ldyBSdW5MZW5ndGhTdHJlYW0oc3RyZWFtLCBtYXliZUxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIGlmIChuYW1lID09PSAnSkJJRzJEZWNvZGUnKSB7CiAgICAgICAgICB4cmVmU3RyZWFtU3RhdHNbU3RyZWFtVHlwZS5KQklHXSA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbmV3IEpiaWcyU3RyZWFtKHN0cmVhbSwgbWF5YmVMZW5ndGgsIHN0cmVhbS5kaWN0KTsKICAgICAgICB9CiAgICAgICAgd2FybignZmlsdGVyICInICsgbmFtZSArICciIG5vdCBzdXBwb3J0ZWQgeWV0Jyk7CiAgICAgICAgcmV0dXJuIHN0cmVhbTsKICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICBpZiAoZXggaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikgewogICAgICAgICAgdGhyb3cgZXg7CiAgICAgICAgfQogICAgICAgIHdhcm4oJ0ludmFsaWQgc3RyZWFtOiBcIicgKyBleCArICdcIicpOwogICAgICAgIHJldHVybiBuZXcgTnVsbFN0cmVhbShzdHJlYW0pOwogICAgICB9CiAgICB9CiAgfTsKCiAgcmV0dXJuIFBhcnNlcjsKfSkoKTsKCnZhciBMZXhlciA9IChmdW5jdGlvbiBMZXhlckNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gTGV4ZXIoc3RyZWFtLCBrbm93bkNvbW1hbmRzKSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMubmV4dENoYXIoKTsKCiAgICAvLyBXaGlsZSBsZXhpbmcsIHdlIGJ1aWxkIHVwIG1hbnkgc3RyaW5ncyBvbmUgY2hhciBhdCBhIHRpbWUuIFVzaW5nICs9IGZvcgogICAgLy8gdGhpcyBjYW4gcmVzdWx0IGluIGxvdHMgb2YgZ2FyYmFnZSBzdHJpbmdzLiBJdCdzIGJldHRlciB0byBidWlsZCBhbgogICAgLy8gYXJyYXkgb2Ygc2luZ2xlLWNoYXIgc3RyaW5ncyBhbmQgdGhlbiBqb2luKCkgdGhlbSB0b2dldGhlciBhdCB0aGUgZW5kLgogICAgLy8gQW5kIHJldXNpbmcgYSBzaW5nbGUgYXJyYXkgKGkuZS4gfHRoaXMuc3RyQnVmfCkgb3ZlciBhbmQgb3ZlciBmb3IgdGhpcwogICAgLy8gcHVycG9zZSB1c2VzIGxlc3MgbWVtb3J5IHRoYW4gdXNpbmcgYSBuZXcgYXJyYXkgZm9yIGVhY2ggc3RyaW5nLgogICAgdGhpcy5zdHJCdWYgPSBbXTsKCiAgICAvLyBUaGUgUERGcyBtaWdodCBoYXZlICJnbHVlZCIgY29tbWFuZHMgd2l0aCBvdGhlciBjb21tYW5kcywgb3BlcmFuZHMgb3IKICAgIC8vIGxpdGVyYWxzLCBlLmcuICJxMSIuIFRoZSBrbm93bkNvbW1hbmRzIGlzIGEgZGljdGlvbmFyeSBvZiB0aGUgdmFsaWQKICAgIC8vIGNvbW1hbmRzIGFuZCB0aGVpciBwcmVmaXhlcy4gVGhlIHByZWZpeGVzIGFyZSBidWlsdCB0aGUgZm9sbG93aW5nIHdheToKICAgIC8vIGlmIHRoZXJlIGEgY29tbWFuZCB0aGF0IGlzIGEgcHJlZml4IG9mIHRoZSBvdGhlciB2YWxpZCBjb21tYW5kIG9yCiAgICAvLyBsaXRlcmFsIChlLmcuICdmJyBhbmQgJ2ZhbHNlJykgdGhlIGZvbGxvd2luZyBwcmVmaXhlcyBtdXN0IGJlIGluY2x1ZGVkLAogICAgLy8gJ2ZhJywgJ2ZhbCcsICdmYWxzJy4gVGhlIHByZWZpeGVzIGFyZSBub3QgbmVlZGVkLCBpZiB0aGUgY29tbWFuZCBoYXMgbm8KICAgIC8vIG90aGVyIGNvbW1hbmRzIG9yIGxpdGVyYWxzIGFzIGEgcHJlZml4LiBUaGUga25vd0NvbW1hbmRzIGlzIG9wdGlvbmFsLgogICAgdGhpcy5rbm93bkNvbW1hbmRzID0ga25vd25Db21tYW5kczsKICB9CgogIExleGVyLmlzU3BhY2UgPSBmdW5jdGlvbiBMZXhlcl9pc1NwYWNlKGNoKSB7CiAgICAvLyBTcGFjZSBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiBTUEFDRSwgVEFCLCBDUiBvciBMRi4KICAgIHJldHVybiAoY2ggPT09IDB4MjAgfHwgY2ggPT09IDB4MDkgfHwgY2ggPT09IDB4MEQgfHwgY2ggPT09IDB4MEEpOwogIH07CgogIC8vIEEgJzEnIGluIHRoaXMgYXJyYXkgbWVhbnMgdGhlIGNoYXJhY3RlciBpcyB3aGl0ZSBzcGFjZS4gQSAnMScgb3IKICAvLyAnMicgbWVhbnMgdGhlIGNoYXJhY3RlciBlbmRzIGEgbmFtZSBvciBjb21tYW5kLgogIHZhciBzcGVjaWFsQ2hhcnMgPSBbCiAgICAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAwLCAxLCAxLCAwLCAwLCAvLyAweAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gMXgKICAgIDEsIDAsIDAsIDAsIDAsIDIsIDAsIDAsIDIsIDIsIDAsIDAsIDAsIDAsIDAsIDIsIC8vIDJ4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAwLCAyLCAwLCAvLyAzeAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gNHgKICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIsIDAsIDIsIDAsIDAsIC8vIDV4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAvLyA2eAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMiwgMCwgMiwgMCwgMCwgLy8gN3gKICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIC8vIDh4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAvLyA5eAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gYXgKICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIC8vIGJ4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAvLyBjeAogICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgLy8gZHgKICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIC8vIGV4CiAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwICAvLyBmeAogIF07CgogIGZ1bmN0aW9uIHRvSGV4RGlnaXQoY2gpIHsKICAgIGlmIChjaCA+PSAweDMwICYmIGNoIDw9IDB4MzkpIHsgLy8gJzAnLSc5JwogICAgICByZXR1cm4gY2ggJiAweDBGOwogICAgfQogICAgaWYgKChjaCA+PSAweDQxICYmIGNoIDw9IDB4NDYpIHx8IChjaCA+PSAweDYxICYmIGNoIDw9IDB4NjYpKSB7CiAgICAgIC8vICdBJy0nRicsICdhJy0nZicKICAgICAgcmV0dXJuIChjaCAmIDB4MEYpICsgOTsKICAgIH0KICAgIHJldHVybiAtMTsKICB9CgogIExleGVyLnByb3RvdHlwZSA9IHsKICAgIG5leHRDaGFyOiBmdW5jdGlvbiBMZXhlcl9uZXh0Q2hhcigpIHsKICAgICAgcmV0dXJuICh0aGlzLmN1cnJlbnRDaGFyID0gdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpKTsKICAgIH0sCiAgICBwZWVrQ2hhcjogZnVuY3Rpb24gTGV4ZXJfcGVla0NoYXIoKSB7CiAgICAgIHJldHVybiB0aGlzLnN0cmVhbS5wZWVrQnl0ZSgpOwogICAgfSwKICAgIGdldE51bWJlcjogZnVuY3Rpb24gTGV4ZXJfZ2V0TnVtYmVyKCkgewogICAgICB2YXIgY2ggPSB0aGlzLmN1cnJlbnRDaGFyOwogICAgICB2YXIgZU5vdGF0aW9uID0gZmFsc2U7CiAgICAgIHZhciBkaXZpZGVCeSA9IDA7IC8vIGRpZmZlcmVudCBmcm9tIDAgaWYgaXQncyBhIGZsb2F0aW5nIHBvaW50IHZhbHVlCiAgICAgIHZhciBzaWduID0gMTsKCiAgICAgIGlmIChjaCA9PT0gMHgyRCkgeyAvLyAnLScKICAgICAgICBzaWduID0gLTE7CiAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MkIpIHsgLy8gJysnCiAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgIH0KICAgICAgaWYgKGNoID09PSAweDJFKSB7IC8vICcuJwogICAgICAgIGRpdmlkZUJ5ID0gMTA7CiAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgIH0KICAgICAgaWYgKGNoIDwgMHgzMCB8fCBjaCA+IDB4MzkpIHsgLy8gJzAnIC0gJzknCiAgICAgICAgZXJyb3IoJ0ludmFsaWQgbnVtYmVyOiAnICsgU3RyaW5nLmZyb21DaGFyQ29kZShjaCkpOwogICAgICAgIHJldHVybiAwOwogICAgICB9CgogICAgICB2YXIgYmFzZVZhbHVlID0gY2ggLSAweDMwOyAvLyAnMCcKICAgICAgdmFyIHBvd2VyVmFsdWUgPSAwOwogICAgICB2YXIgcG93ZXJWYWx1ZVNpZ24gPSAxOwoKICAgICAgd2hpbGUgKChjaCA9IHRoaXMubmV4dENoYXIoKSkgPj0gMCkgewogICAgICAgIGlmICgweDMwIDw9IGNoICYmIGNoIDw9IDB4MzkpIHsgLy8gJzAnIC0gJzknCiAgICAgICAgICB2YXIgY3VycmVudERpZ2l0ID0gY2ggLSAweDMwOyAvLyAnMCcKICAgICAgICAgIGlmIChlTm90YXRpb24pIHsgLy8gV2UgYXJlIGFmdGVyIGFuICdlJyBvciAnRScKICAgICAgICAgICAgcG93ZXJWYWx1ZSA9IHBvd2VyVmFsdWUgKiAxMCArIGN1cnJlbnREaWdpdDsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChkaXZpZGVCeSAhPT0gMCkgeyAvLyBXZSBhcmUgYWZ0ZXIgYSBwb2ludAogICAgICAgICAgICAgIGRpdmlkZUJ5ICo9IDEwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJhc2VWYWx1ZSA9IGJhc2VWYWx1ZSAqIDEwICsgY3VycmVudERpZ2l0OwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MkUpIHsgLy8gJy4nCiAgICAgICAgICBpZiAoZGl2aWRlQnkgPT09IDApIHsKICAgICAgICAgICAgZGl2aWRlQnkgPSAxOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gQSBudW1iZXIgY2FuIGhhdmUgb25seSBvbmUgJy4nCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MkQpIHsgLy8gJy0nCiAgICAgICAgICAvLyBpZ25vcmUgbWludXMgc2lnbnMgaW4gdGhlIG1pZGRsZSBvZiBudW1iZXJzIHRvIG1hdGNoCiAgICAgICAgICAvLyBBZG9iZSdzIGJlaGF2aW9yCiAgICAgICAgICB3YXJuKCdCYWRseSBmb3JtYXRlZCBudW1iZXInKTsKICAgICAgICB9IGVsc2UgaWYgKGNoID09PSAweDQ1IHx8IGNoID09PSAweDY1KSB7IC8vICdFJywgJ2UnCiAgICAgICAgICAvLyAnRScgY2FuIGJlIGVpdGhlciBhIHNjaWVudGlmaWMgbm90YXRpb24gb3IgdGhlIGJlZ2lubmluZyBvZiBhIG5ldwogICAgICAgICAgLy8gb3BlcmF0b3IKICAgICAgICAgIGNoID0gdGhpcy5wZWVrQ2hhcigpOwogICAgICAgICAgaWYgKGNoID09PSAweDJCIHx8IGNoID09PSAweDJEKSB7IC8vICcrJywgJy0nCiAgICAgICAgICAgIHBvd2VyVmFsdWVTaWduID0gKGNoID09PSAweDJEKSA/IC0xIDogMTsKICAgICAgICAgICAgdGhpcy5uZXh0Q2hhcigpOyAvLyBDb25zdW1lIHRoZSBzaWduIGNoYXJhY3RlcgogICAgICAgICAgfSBlbHNlIGlmIChjaCA8IDB4MzAgfHwgY2ggPiAweDM5KSB7IC8vICcwJyAtICc5JwogICAgICAgICAgICAvLyBUaGUgJ0UnIG11c3QgYmUgdGhlIGJlZ2lubmluZyBvZiBhIG5ldyBvcGVyYXRvcgogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGVOb3RhdGlvbiA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIHRoZSBsYXN0IGNoYXJhY3RlciBkb2Vzbid0IGJlbG9uZyB0byB1cwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoZGl2aWRlQnkgIT09IDApIHsKICAgICAgICBiYXNlVmFsdWUgLz0gZGl2aWRlQnk7CiAgICAgIH0KICAgICAgaWYgKGVOb3RhdGlvbikgewogICAgICAgIGJhc2VWYWx1ZSAqPSBNYXRoLnBvdygxMCwgcG93ZXJWYWx1ZVNpZ24gKiBwb3dlclZhbHVlKTsKICAgICAgfQogICAgICByZXR1cm4gc2lnbiAqIGJhc2VWYWx1ZTsKICAgIH0sCiAgICBnZXRTdHJpbmc6IGZ1bmN0aW9uIExleGVyX2dldFN0cmluZygpIHsKICAgICAgdmFyIG51bVBhcmVuID0gMTsKICAgICAgdmFyIGRvbmUgPSBmYWxzZTsKICAgICAgdmFyIHN0ckJ1ZiA9IHRoaXMuc3RyQnVmOwogICAgICBzdHJCdWYubGVuZ3RoID0gMDsKCiAgICAgIHZhciBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICB2YXIgY2hhckJ1ZmZlcmVkID0gZmFsc2U7CiAgICAgICAgc3dpdGNoIChjaCB8IDApIHsKICAgICAgICAgIGNhc2UgLTE6CiAgICAgICAgICAgIHdhcm4oJ1VudGVybWluYXRlZCBzdHJpbmcnKTsKICAgICAgICAgICAgZG9uZSA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDI4OiAvLyAnKCcKICAgICAgICAgICAgKytudW1QYXJlbjsKICAgICAgICAgICAgc3RyQnVmLnB1c2goJygnKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDB4Mjk6IC8vICcpJwogICAgICAgICAgICBpZiAoLS1udW1QYXJlbiA9PT0gMCkgewogICAgICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsgLy8gY29uc3VtZSBzdHJpbmdzICcpJwogICAgICAgICAgICAgIGRvbmUgPSB0cnVlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHN0ckJ1Zi5wdXNoKCcpJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDB4NUM6IC8vICdcXCcKICAgICAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICAgIHN3aXRjaCAoY2gpIHsKICAgICAgICAgICAgICBjYXNlIC0xOgogICAgICAgICAgICAgICAgd2FybignVW50ZXJtaW5hdGVkIHN0cmluZycpOwogICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NkU6IC8vICduJwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1xuJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NzI6IC8vICdyJwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1xyJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NzQ6IC8vICd0JwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1x0Jyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NjI6IC8vICdiJwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1xiJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NjY6IC8vICdmJwogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goJ1xmJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4NUM6IC8vICdcJwogICAgICAgICAgICAgIGNhc2UgMHgyODogLy8gJygnCiAgICAgICAgICAgICAgY2FzZSAweDI5OiAvLyAnKScKICAgICAgICAgICAgICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgMHgzMDogY2FzZSAweDMxOiBjYXNlIDB4MzI6IGNhc2UgMHgzMzogLy8gJzAnLSczJwogICAgICAgICAgICAgIGNhc2UgMHgzNDogY2FzZSAweDM1OiBjYXNlIDB4MzY6IGNhc2UgMHgzNzogLy8gJzQnLSc3JwogICAgICAgICAgICAgICAgdmFyIHggPSBjaCAmIDB4MEY7CiAgICAgICAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgICAgICAgIGNoYXJCdWZmZXJlZCA9IHRydWU7CiAgICAgICAgICAgICAgICBpZiAoY2ggPj0gMHgzMCAmJiBjaCA8PSAweDM3KSB7IC8vICcwJy0nNycKICAgICAgICAgICAgICAgICAgeCA9ICh4IDw8IDMpICsgKGNoICYgMHgwRik7CiAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgICAgICAgICBpZiAoY2ggPj0gMHgzMCAmJiBjaCA8PSAweDM3KSB7ICAvLyAnMCctJzcnCiAgICAgICAgICAgICAgICAgICAgY2hhckJ1ZmZlcmVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgeCA9ICh4IDw8IDMpICsgKGNoICYgMHgwRik7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoeCkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAweDBEOiAvLyBDUgogICAgICAgICAgICAgICAgaWYgKHRoaXMucGVla0NoYXIoKSA9PT0gMHgwQSkgeyAvLyBMRgogICAgICAgICAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBjYXNlIDB4MEE6IC8vIExGCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgc3RyQnVmLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjaCkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGNoKSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZiAoZG9uZSkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmICghY2hhckJ1ZmZlcmVkKSB7CiAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHN0ckJ1Zi5qb2luKCcnKTsKICAgIH0sCiAgICBnZXROYW1lOiBmdW5jdGlvbiBMZXhlcl9nZXROYW1lKCkgewogICAgICB2YXIgY2g7CiAgICAgIHZhciBzdHJCdWYgPSB0aGlzLnN0ckJ1ZjsKICAgICAgc3RyQnVmLmxlbmd0aCA9IDA7CiAgICAgIHdoaWxlICgoY2ggPSB0aGlzLm5leHRDaGFyKCkpID49IDAgJiYgIXNwZWNpYWxDaGFyc1tjaF0pIHsKICAgICAgICBpZiAoY2ggPT09IDB4MjMpIHsgLy8gJyMnCiAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgIHZhciB4ID0gdG9IZXhEaWdpdChjaCk7CiAgICAgICAgICBpZiAoeCAhPT0gLTEpIHsKICAgICAgICAgICAgdmFyIHgyID0gdG9IZXhEaWdpdCh0aGlzLm5leHRDaGFyKCkpOwogICAgICAgICAgICBpZiAoeDIgPT09IC0xKSB7CiAgICAgICAgICAgICAgZXJyb3IoJ0lsbGVnYWwgZGlnaXQgaW4gaGV4IGNoYXIgaW4gbmFtZTogJyArIHgyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKCh4IDw8IDQpIHwgeDIpKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHN0ckJ1Zi5wdXNoKCcjJywgU3RyaW5nLmZyb21DaGFyQ29kZShjaCkpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGNoKSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChzdHJCdWYubGVuZ3RoID4gMTI4KSB7CiAgICAgICAgZXJyb3IoJ1dhcm5pbmc6IG5hbWUgdG9rZW4gaXMgbG9uZ2VyIHRoYW4gYWxsb3dlZCBieSB0aGUgc3BlYzogJyArCiAgICAgICAgICAgICAgc3RyQnVmLmxlbmd0aCk7CiAgICAgIH0KICAgICAgcmV0dXJuIE5hbWUuZ2V0KHN0ckJ1Zi5qb2luKCcnKSk7CiAgICB9LAogICAgZ2V0SGV4U3RyaW5nOiBmdW5jdGlvbiBMZXhlcl9nZXRIZXhTdHJpbmcoKSB7CiAgICAgIHZhciBzdHJCdWYgPSB0aGlzLnN0ckJ1ZjsKICAgICAgc3RyQnVmLmxlbmd0aCA9IDA7CiAgICAgIHZhciBjaCA9IHRoaXMuY3VycmVudENoYXI7CiAgICAgIHZhciBpc0ZpcnN0SGV4ID0gdHJ1ZTsKICAgICAgdmFyIGZpcnN0RGlnaXQ7CiAgICAgIHZhciBzZWNvbmREaWdpdDsKICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpZiAoY2ggPCAwKSB7CiAgICAgICAgICB3YXJuKCdVbnRlcm1pbmF0ZWQgaGV4IHN0cmluZycpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfSBlbHNlIGlmIChjaCA9PT0gMHgzRSkgeyAvLyAnPicKICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0gZWxzZSBpZiAoc3BlY2lhbENoYXJzW2NoXSA9PT0gMSkgewogICAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKGlzRmlyc3RIZXgpIHsKICAgICAgICAgICAgZmlyc3REaWdpdCA9IHRvSGV4RGlnaXQoY2gpOwogICAgICAgICAgICBpZiAoZmlyc3REaWdpdCA9PT0gLTEpIHsKICAgICAgICAgICAgICB3YXJuKCdJZ25vcmluZyBpbnZhbGlkIGNoYXJhY3RlciAiJyArIGNoICsgJyIgaW4gaGV4IHN0cmluZycpOwogICAgICAgICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBzZWNvbmREaWdpdCA9IHRvSGV4RGlnaXQoY2gpOwogICAgICAgICAgICBpZiAoc2Vjb25kRGlnaXQgPT09IC0xKSB7CiAgICAgICAgICAgICAgd2FybignSWdub3JpbmcgaW52YWxpZCBjaGFyYWN0ZXIgIicgKyBjaCArICciIGluIGhleCBzdHJpbmcnKTsKICAgICAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdHJCdWYucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKChmaXJzdERpZ2l0IDw8IDQpIHwgc2Vjb25kRGlnaXQpKTsKICAgICAgICAgIH0KICAgICAgICAgIGlzRmlyc3RIZXggPSAhaXNGaXJzdEhleDsKICAgICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc3RyQnVmLmpvaW4oJycpOwogICAgfSwKICAgIGdldE9iajogZnVuY3Rpb24gTGV4ZXJfZ2V0T2JqKCkgewogICAgICAvLyBza2lwIHdoaXRlc3BhY2UgYW5kIGNvbW1lbnRzCiAgICAgIHZhciBjb21tZW50ID0gZmFsc2U7CiAgICAgIHZhciBjaCA9IHRoaXMuY3VycmVudENoYXI7CiAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgaWYgKGNoIDwgMCkgewogICAgICAgICAgcmV0dXJuIEVPRjsKICAgICAgICB9CiAgICAgICAgaWYgKGNvbW1lbnQpIHsKICAgICAgICAgIGlmIChjaCA9PT0gMHgwQSB8fCBjaCA9PT0gMHgwRCkgeyAvLyBMRiwgQ1IKICAgICAgICAgICAgY29tbWVudCA9IGZhbHNlOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoY2ggPT09IDB4MjUpIHsgLy8gJyUnCiAgICAgICAgICBjb21tZW50ID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgaWYgKHNwZWNpYWxDaGFyc1tjaF0gIT09IDEpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgfQoKICAgICAgLy8gc3RhcnQgcmVhZGluZyB0b2tlbgogICAgICBzd2l0Y2ggKGNoIHwgMCkgewogICAgICAgIGNhc2UgMHgzMDogY2FzZSAweDMxOiBjYXNlIDB4MzI6IGNhc2UgMHgzMzogY2FzZSAweDM0OiAvLyAnMCctJzQnCiAgICAgICAgY2FzZSAweDM1OiBjYXNlIDB4MzY6IGNhc2UgMHgzNzogY2FzZSAweDM4OiBjYXNlIDB4Mzk6IC8vICc1Jy0nOScKICAgICAgICBjYXNlIDB4MkI6IGNhc2UgMHgyRDogY2FzZSAweDJFOiAvLyAnKycsICctJywgJy4nCiAgICAgICAgICByZXR1cm4gdGhpcy5nZXROdW1iZXIoKTsKICAgICAgICBjYXNlIDB4Mjg6IC8vICcoJwogICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nKCk7CiAgICAgICAgY2FzZSAweDJGOiAvLyAnLycKICAgICAgICAgIHJldHVybiB0aGlzLmdldE5hbWUoKTsKICAgICAgICAvLyBhcnJheSBwdW5jdHVhdGlvbgogICAgICAgIGNhc2UgMHg1QjogLy8gJ1snCiAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgnWycpOwogICAgICAgIGNhc2UgMHg1RDogLy8gJ10nCiAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgnXScpOwogICAgICAgIC8vIGhleCBzdHJpbmcgb3IgZGljdCBwdW5jdHVhdGlvbgogICAgICAgIGNhc2UgMHgzQzogLy8gJzwnCiAgICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgIGlmIChjaCA9PT0gMHgzQykgewogICAgICAgICAgICAvLyBkaWN0IHB1bmN0dWF0aW9uCiAgICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgICAgcmV0dXJuIENtZC5nZXQoJzw8Jyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRIZXhTdHJpbmcoKTsKICAgICAgICAvLyBkaWN0IHB1bmN0dWF0aW9uCiAgICAgICAgY2FzZSAweDNFOiAvLyAnPicKICAgICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgaWYgKGNoID09PSAweDNFKSB7CiAgICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgICAgcmV0dXJuIENtZC5nZXQoJz4+Jyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgnPicpOwogICAgICAgIGNhc2UgMHg3QjogLy8gJ3snCiAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgneycpOwogICAgICAgIGNhc2UgMHg3RDogLy8gJ30nCiAgICAgICAgICB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICByZXR1cm4gQ21kLmdldCgnfScpOwogICAgICAgIGNhc2UgMHgyOTogLy8gJyknCiAgICAgICAgICBlcnJvcignSWxsZWdhbCBjaGFyYWN0ZXI6ICcgKyBjaCk7CiAgICAgICAgICBicmVhazsKICAgICAgfQoKICAgICAgLy8gY29tbWFuZAogICAgICB2YXIgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CiAgICAgIHZhciBrbm93bkNvbW1hbmRzID0gdGhpcy5rbm93bkNvbW1hbmRzOwogICAgICB2YXIga25vd25Db21tYW5kRm91bmQgPSBrbm93bkNvbW1hbmRzICYmIGtub3duQ29tbWFuZHNbc3RyXSAhPT0gdW5kZWZpbmVkOwogICAgICB3aGlsZSAoKGNoID0gdGhpcy5uZXh0Q2hhcigpKSA+PSAwICYmICFzcGVjaWFsQ2hhcnNbY2hdKSB7CiAgICAgICAgLy8gc3RvcCBpZiBrbm93biBjb21tYW5kIGlzIGZvdW5kIGFuZCBuZXh0IGNoYXJhY3RlciBkb2VzIG5vdCBtYWtlCiAgICAgICAgLy8gdGhlIHN0ciBhIGNvbW1hbmQKICAgICAgICB2YXIgcG9zc2libGVDb21tYW5kID0gc3RyICsgU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CiAgICAgICAgaWYgKGtub3duQ29tbWFuZEZvdW5kICYmIGtub3duQ29tbWFuZHNbcG9zc2libGVDb21tYW5kXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgaWYgKHN0ci5sZW5ndGggPT09IDEyOCkgewogICAgICAgICAgZXJyb3IoJ0NvbW1hbmQgdG9rZW4gdG9vIGxvbmc6ICcgKyBzdHIubGVuZ3RoKTsKICAgICAgICB9CiAgICAgICAgc3RyID0gcG9zc2libGVDb21tYW5kOwogICAgICAgIGtub3duQ29tbWFuZEZvdW5kID0ga25vd25Db21tYW5kcyAmJiBrbm93bkNvbW1hbmRzW3N0cl0gIT09IHVuZGVmaW5lZDsKICAgICAgfQogICAgICBpZiAoc3RyID09PSAndHJ1ZScpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICBpZiAoc3RyID09PSAnZmFsc2UnKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmIChzdHIgPT09ICdudWxsJykgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICAgIHJldHVybiBDbWQuZ2V0KHN0cik7CiAgICB9LAogICAgc2tpcFRvTmV4dExpbmU6IGZ1bmN0aW9uIExleGVyX3NraXBUb05leHRMaW5lKCkgewogICAgICB2YXIgY2ggPSB0aGlzLmN1cnJlbnRDaGFyOwogICAgICB3aGlsZSAoY2ggPj0gMCkgewogICAgICAgIGlmIChjaCA9PT0gMHgwRCkgeyAvLyBDUgogICAgICAgICAgY2ggPSB0aGlzLm5leHRDaGFyKCk7CiAgICAgICAgICBpZiAoY2ggPT09IDB4MEEpIHsgLy8gTEYKICAgICAgICAgICAgdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgfSBlbHNlIGlmIChjaCA9PT0gMHgwQSkgeyAvLyBMRgogICAgICAgICAgdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNoID0gdGhpcy5uZXh0Q2hhcigpOwogICAgICB9CiAgICB9CiAgfTsKCiAgcmV0dXJuIExleGVyOwp9KSgpOwoKdmFyIExpbmVhcml6YXRpb24gPSB7CiAgY3JlYXRlOiBmdW5jdGlvbiBMaW5lYXJpemF0aW9uQ3JlYXRlKHN0cmVhbSkgewogICAgZnVuY3Rpb24gZ2V0SW50KG5hbWUsIGFsbG93WmVyb1ZhbHVlKSB7CiAgICAgIHZhciBvYmogPSBsaW5EaWN0LmdldChuYW1lKTsKICAgICAgaWYgKGlzSW50KG9iaikgJiYgKGFsbG93WmVyb1ZhbHVlID8gb2JqID49IDAgOiBvYmogPiAwKSkgewogICAgICAgIHJldHVybiBvYmo7CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgIicgKyBuYW1lICsgJyIgcGFyYW1ldGVyIGluIHRoZSBsaW5lYXJpemF0aW9uICcgKwogICAgICAgICAgICAgICAgICAgICAgJ2RpY3Rpb25hcnkgaXMgaW52YWxpZC4nKTsKICAgIH0KICAgIGZ1bmN0aW9uIGdldEhpbnRzKCkgewogICAgICB2YXIgaGludHMgPSBsaW5EaWN0LmdldCgnSCcpLCBoaW50c0xlbmd0aCwgaXRlbTsKICAgICAgaWYgKGlzQXJyYXkoaGludHMpICYmCiAgICAgICAgICAoKGhpbnRzTGVuZ3RoID0gaGludHMubGVuZ3RoKSA9PT0gMiB8fCBoaW50c0xlbmd0aCA9PT0gNCkpIHsKICAgICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgaGludHNMZW5ndGg7IGluZGV4KyspIHsKICAgICAgICAgIGlmICghKGlzSW50KGl0ZW0gPSBoaW50c1tpbmRleF0pICYmIGl0ZW0gPiAwKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hpbnQgKCcgKyBpbmRleCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKSBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuJyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBoaW50czsKICAgICAgfQogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hpbnQgYXJyYXkgaW4gdGhlIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLicpOwogICAgfQogICAgdmFyIHBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKHN0cmVhbSksIGZhbHNlLCBudWxsKTsKICAgIHZhciBvYmoxID0gcGFyc2VyLmdldE9iaigpOwogICAgdmFyIG9iajIgPSBwYXJzZXIuZ2V0T2JqKCk7CiAgICB2YXIgb2JqMyA9IHBhcnNlci5nZXRPYmooKTsKICAgIHZhciBsaW5EaWN0ID0gcGFyc2VyLmdldE9iaigpOwogICAgdmFyIG9iaiwgbGVuZ3RoOwogICAgaWYgKCEoaXNJbnQob2JqMSkgJiYgaXNJbnQob2JqMikgJiYgaXNDbWQob2JqMywgJ29iaicpICYmIGlzRGljdChsaW5EaWN0KSAmJgogICAgICAgICAgaXNOdW0ob2JqID0gbGluRGljdC5nZXQoJ0xpbmVhcml6ZWQnKSkgJiYgb2JqID4gMCkpIHsKICAgICAgcmV0dXJuIG51bGw7IC8vIE5vIHZhbGlkIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBmb3VuZC4KICAgIH0gZWxzZSBpZiAoKGxlbmd0aCA9IGdldEludCgnTCcpKSAhPT0gc3RyZWFtLmxlbmd0aCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSAiTCIgcGFyYW1ldGVyIGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgJyArCiAgICAgICAgICAgICAgICAgICAgICAnZG9lcyBub3QgZXF1YWwgdGhlIHN0cmVhbSBsZW5ndGguJyk7CiAgICB9CiAgICByZXR1cm4gewogICAgICBsZW5ndGg6IGxlbmd0aCwKICAgICAgaGludHM6IGdldEhpbnRzKCksCiAgICAgIG9iamVjdE51bWJlckZpcnN0OiBnZXRJbnQoJ08nKSwKICAgICAgZW5kRmlyc3Q6IGdldEludCgnRScpLAogICAgICBudW1QYWdlczogZ2V0SW50KCdOJyksCiAgICAgIG1haW5YUmVmRW50cmllc09mZnNldDogZ2V0SW50KCdUJyksCiAgICAgIHBhZ2VGaXJzdDogKGxpbkRpY3QuaGFzKCdQJykgPyBnZXRJbnQoJ1AnLCB0cnVlKSA6IDApCiAgICB9OwogIH0KfTsKCgp2YXIgUG9zdFNjcmlwdFBhcnNlciA9IChmdW5jdGlvbiBQb3N0U2NyaXB0UGFyc2VyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBQb3N0U2NyaXB0UGFyc2VyKGxleGVyKSB7CiAgICB0aGlzLmxleGVyID0gbGV4ZXI7CiAgICB0aGlzLm9wZXJhdG9ycyA9IFtdOwogICAgdGhpcy50b2tlbiA9IG51bGw7CiAgICB0aGlzLnByZXYgPSBudWxsOwogIH0KICBQb3N0U2NyaXB0UGFyc2VyLnByb3RvdHlwZSA9IHsKICAgIG5leHRUb2tlbjogZnVuY3Rpb24gUG9zdFNjcmlwdFBhcnNlcl9uZXh0VG9rZW4oKSB7CiAgICAgIHRoaXMucHJldiA9IHRoaXMudG9rZW47CiAgICAgIHRoaXMudG9rZW4gPSB0aGlzLmxleGVyLmdldFRva2VuKCk7CiAgICB9LAogICAgYWNjZXB0OiBmdW5jdGlvbiBQb3N0U2NyaXB0UGFyc2VyX2FjY2VwdCh0eXBlKSB7CiAgICAgIGlmICh0aGlzLnRva2VuLnR5cGUgPT09IHR5cGUpIHsKICAgICAgICB0aGlzLm5leHRUb2tlbigpOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBleHBlY3Q6IGZ1bmN0aW9uIFBvc3RTY3JpcHRQYXJzZXJfZXhwZWN0KHR5cGUpIHsKICAgICAgaWYgKHRoaXMuYWNjZXB0KHR5cGUpKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgc3ltYm9sOiBmb3VuZCAnICsgdGhpcy50b2tlbi50eXBlICsgJyBleHBlY3RlZCAnICsKICAgICAgICB0eXBlICsgJy4nKTsKICAgIH0sCiAgICBwYXJzZTogZnVuY3Rpb24gUG9zdFNjcmlwdFBhcnNlcl9wYXJzZSgpIHsKICAgICAgdGhpcy5uZXh0VG9rZW4oKTsKICAgICAgdGhpcy5leHBlY3QoUG9zdFNjcmlwdFRva2VuVHlwZXMuTEJSQUNFKTsKICAgICAgdGhpcy5wYXJzZUJsb2NrKCk7CiAgICAgIHRoaXMuZXhwZWN0KFBvc3RTY3JpcHRUb2tlblR5cGVzLlJCUkFDRSk7CiAgICAgIHJldHVybiB0aGlzLm9wZXJhdG9yczsKICAgIH0sCiAgICBwYXJzZUJsb2NrOiBmdW5jdGlvbiBQb3N0U2NyaXB0UGFyc2VyX3BhcnNlQmxvY2soKSB7CiAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgaWYgKHRoaXMuYWNjZXB0KFBvc3RTY3JpcHRUb2tlblR5cGVzLk5VTUJFUikpIHsKICAgICAgICAgIHRoaXMub3BlcmF0b3JzLnB1c2godGhpcy5wcmV2LnZhbHVlKTsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWNjZXB0KFBvc3RTY3JpcHRUb2tlblR5cGVzLk9QRVJBVE9SKSkgewogICAgICAgICAgdGhpcy5vcGVyYXRvcnMucHVzaCh0aGlzLnByZXYudmFsdWUpOwogICAgICAgIH0gZWxzZSBpZiAodGhpcy5hY2NlcHQoUG9zdFNjcmlwdFRva2VuVHlwZXMuTEJSQUNFKSkgewogICAgICAgICAgdGhpcy5wYXJzZUNvbmRpdGlvbigpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgcGFyc2VDb25kaXRpb246IGZ1bmN0aW9uIFBvc3RTY3JpcHRQYXJzZXJfcGFyc2VDb25kaXRpb24oKSB7CiAgICAgIC8vIEFkZCB0d28gcGxhY2UgaG9sZGVycyB0aGF0IHdpbGwgYmUgdXBkYXRlZCBsYXRlcgogICAgICB2YXIgY29uZGl0aW9uTG9jYXRpb24gPSB0aGlzLm9wZXJhdG9ycy5sZW5ndGg7CiAgICAgIHRoaXMub3BlcmF0b3JzLnB1c2gobnVsbCwgbnVsbCk7CgogICAgICB0aGlzLnBhcnNlQmxvY2soKTsKICAgICAgdGhpcy5leHBlY3QoUG9zdFNjcmlwdFRva2VuVHlwZXMuUkJSQUNFKTsKICAgICAgaWYgKHRoaXMuYWNjZXB0KFBvc3RTY3JpcHRUb2tlblR5cGVzLklGKSkgewogICAgICAgIC8vIFRoZSB0cnVlIGJsb2NrIGlzIHJpZ2h0IGFmdGVyIHRoZSAnaWYnIHNvIGl0IGp1c3QgZmFsbHMgdGhyb3VnaCBvbgogICAgICAgIC8vIHRydWUgZWxzZSBpdCBqdW1wcyBhbmQgc2tpcHMgdGhlIHRydWUgYmxvY2suCiAgICAgICAgdGhpcy5vcGVyYXRvcnNbY29uZGl0aW9uTG9jYXRpb25dID0gdGhpcy5vcGVyYXRvcnMubGVuZ3RoOwogICAgICAgIHRoaXMub3BlcmF0b3JzW2NvbmRpdGlvbkxvY2F0aW9uICsgMV0gPSAnanonOwogICAgICB9IGVsc2UgaWYgKHRoaXMuYWNjZXB0KFBvc3RTY3JpcHRUb2tlblR5cGVzLkxCUkFDRSkpIHsKICAgICAgICB2YXIganVtcExvY2F0aW9uID0gdGhpcy5vcGVyYXRvcnMubGVuZ3RoOwogICAgICAgIHRoaXMub3BlcmF0b3JzLnB1c2gobnVsbCwgbnVsbCk7CiAgICAgICAgdmFyIGVuZE9mVHJ1ZSA9IHRoaXMub3BlcmF0b3JzLmxlbmd0aDsKICAgICAgICB0aGlzLnBhcnNlQmxvY2soKTsKICAgICAgICB0aGlzLmV4cGVjdChQb3N0U2NyaXB0VG9rZW5UeXBlcy5SQlJBQ0UpOwogICAgICAgIHRoaXMuZXhwZWN0KFBvc3RTY3JpcHRUb2tlblR5cGVzLklGRUxTRSk7CiAgICAgICAgLy8gVGhlIGp1bXAgaXMgYWRkZWQgYXQgdGhlIGVuZCBvZiB0aGUgdHJ1ZSBibG9jayB0byBza2lwIHRoZSBmYWxzZQogICAgICAgIC8vIGJsb2NrLgogICAgICAgIHRoaXMub3BlcmF0b3JzW2p1bXBMb2NhdGlvbl0gPSB0aGlzLm9wZXJhdG9ycy5sZW5ndGg7CiAgICAgICAgdGhpcy5vcGVyYXRvcnNbanVtcExvY2F0aW9uICsgMV0gPSAnaic7CgogICAgICAgIHRoaXMub3BlcmF0b3JzW2NvbmRpdGlvbkxvY2F0aW9uXSA9IGVuZE9mVHJ1ZTsKICAgICAgICB0aGlzLm9wZXJhdG9yc1tjb25kaXRpb25Mb2NhdGlvbiArIDFdID0gJ2p6JzsKICAgICAgfSBlbHNlIHsKICAgICAgICBlcnJvcignUFMgRnVuY3Rpb246IGVycm9yIHBhcnNpbmcgY29uZGl0aW9uYWwuJyk7CiAgICAgIH0KICAgIH0KICB9OwogIHJldHVybiBQb3N0U2NyaXB0UGFyc2VyOwp9KSgpOwoKdmFyIFBvc3RTY3JpcHRUb2tlblR5cGVzID0gewogIExCUkFDRTogMCwKICBSQlJBQ0U6IDEsCiAgTlVNQkVSOiAyLAogIE9QRVJBVE9SOiAzLAogIElGOiA0LAogIElGRUxTRTogNQp9OwoKdmFyIFBvc3RTY3JpcHRUb2tlbiA9IChmdW5jdGlvbiBQb3N0U2NyaXB0VG9rZW5DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFBvc3RTY3JpcHRUb2tlbih0eXBlLCB2YWx1ZSkgewogICAgdGhpcy50eXBlID0gdHlwZTsKICAgIHRoaXMudmFsdWUgPSB2YWx1ZTsKICB9CgogIHZhciBvcENhY2hlID0ge307CgogIFBvc3RTY3JpcHRUb2tlbi5nZXRPcGVyYXRvciA9IGZ1bmN0aW9uIFBvc3RTY3JpcHRUb2tlbl9nZXRPcGVyYXRvcihvcCkgewogICAgdmFyIG9wVmFsdWUgPSBvcENhY2hlW29wXTsKICAgIGlmIChvcFZhbHVlKSB7CiAgICAgIHJldHVybiBvcFZhbHVlOwogICAgfQogICAgcmV0dXJuIG9wQ2FjaGVbb3BdID0gbmV3IFBvc3RTY3JpcHRUb2tlbihQb3N0U2NyaXB0VG9rZW5UeXBlcy5PUEVSQVRPUiwgb3ApOwogIH07CgogIFBvc3RTY3JpcHRUb2tlbi5MQlJBQ0UgPSBuZXcgUG9zdFNjcmlwdFRva2VuKFBvc3RTY3JpcHRUb2tlblR5cGVzLkxCUkFDRSwKICAgICd7Jyk7CiAgUG9zdFNjcmlwdFRva2VuLlJCUkFDRSA9IG5ldyBQb3N0U2NyaXB0VG9rZW4oUG9zdFNjcmlwdFRva2VuVHlwZXMuUkJSQUNFLAogICAgJ30nKTsKICBQb3N0U2NyaXB0VG9rZW4uSUYgPSBuZXcgUG9zdFNjcmlwdFRva2VuKFBvc3RTY3JpcHRUb2tlblR5cGVzLklGLCAnSUYnKTsKICBQb3N0U2NyaXB0VG9rZW4uSUZFTFNFID0gbmV3IFBvc3RTY3JpcHRUb2tlbihQb3N0U2NyaXB0VG9rZW5UeXBlcy5JRkVMU0UsCiAgICAnSUZFTFNFJyk7CiAgcmV0dXJuIFBvc3RTY3JpcHRUb2tlbjsKfSkoKTsKCnZhciBQb3N0U2NyaXB0TGV4ZXIgPSAoZnVuY3Rpb24gUG9zdFNjcmlwdExleGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBQb3N0U2NyaXB0TGV4ZXIoc3RyZWFtKSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMubmV4dENoYXIoKTsKCiAgICB0aGlzLnN0ckJ1ZiA9IFtdOwogIH0KICBQb3N0U2NyaXB0TGV4ZXIucHJvdG90eXBlID0gewogICAgbmV4dENoYXI6IGZ1bmN0aW9uIFBvc3RTY3JpcHRMZXhlcl9uZXh0Q2hhcigpIHsKICAgICAgcmV0dXJuICh0aGlzLmN1cnJlbnRDaGFyID0gdGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpKTsKICAgIH0sCiAgICBnZXRUb2tlbjogZnVuY3Rpb24gUG9zdFNjcmlwdExleGVyX2dldFRva2VuKCkgewogICAgICB2YXIgY29tbWVudCA9IGZhbHNlOwogICAgICB2YXIgY2ggPSB0aGlzLmN1cnJlbnRDaGFyOwoKICAgICAgLy8gc2tpcCBjb21tZW50cwogICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgIGlmIChjaCA8IDApIHsKICAgICAgICAgIHJldHVybiBFT0Y7CiAgICAgICAgfQoKICAgICAgICBpZiAoY29tbWVudCkgewogICAgICAgICAgaWYgKGNoID09PSAweDBBIHx8IGNoID09PSAweDBEKSB7CiAgICAgICAgICAgIGNvbW1lbnQgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGNoID09PSAweDI1KSB7IC8vICclJwogICAgICAgICAgY29tbWVudCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmICghTGV4ZXIuaXNTcGFjZShjaCkpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjaCA9IHRoaXMubmV4dENoYXIoKTsKICAgICAgfQogICAgICBzd2l0Y2ggKGNoIHwgMCkgewogICAgICAgIGNhc2UgMHgzMDogY2FzZSAweDMxOiBjYXNlIDB4MzI6IGNhc2UgMHgzMzogY2FzZSAweDM0OiAvLyAnMCctJzQnCiAgICAgICAgY2FzZSAweDM1OiBjYXNlIDB4MzY6IGNhc2UgMHgzNzogY2FzZSAweDM4OiBjYXNlIDB4Mzk6IC8vICc1Jy0nOScKICAgICAgICBjYXNlIDB4MkI6IGNhc2UgMHgyRDogY2FzZSAweDJFOiAvLyAnKycsICctJywgJy4nCiAgICAgICAgICByZXR1cm4gbmV3IFBvc3RTY3JpcHRUb2tlbihQb3N0U2NyaXB0VG9rZW5UeXBlcy5OVU1CRVIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldE51bWJlcigpKTsKICAgICAgICBjYXNlIDB4N0I6IC8vICd7JwogICAgICAgICAgdGhpcy5uZXh0Q2hhcigpOwogICAgICAgICAgcmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5MQlJBQ0U7CiAgICAgICAgY2FzZSAweDdEOiAvLyAnfScKICAgICAgICAgIHRoaXMubmV4dENoYXIoKTsKICAgICAgICAgIHJldHVybiBQb3N0U2NyaXB0VG9rZW4uUkJSQUNFOwogICAgICB9CiAgICAgIC8vIG9wZXJhdG9yCiAgICAgIHZhciBzdHJCdWYgPSB0aGlzLnN0ckJ1ZjsKICAgICAgc3RyQnVmLmxlbmd0aCA9IDA7CiAgICAgIHN0ckJ1ZlswXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpOwoKICAgICAgd2hpbGUgKChjaCA9IHRoaXMubmV4dENoYXIoKSkgPj0gMCAmJiAvLyBhbmQgJ0EnLSdaJywgJ2EnLSd6JwogICAgICAgICAgICAgKChjaCA+PSAweDQxICYmIGNoIDw9IDB4NUEpIHx8IChjaCA+PSAweDYxICYmIGNoIDw9IDB4N0EpKSkgewogICAgICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpKTsKICAgICAgfQogICAgICB2YXIgc3RyID0gc3RyQnVmLmpvaW4oJycpOwogICAgICBzd2l0Y2ggKHN0ci50b0xvd2VyQ2FzZSgpKSB7CiAgICAgICAgY2FzZSAnaWYnOgogICAgICAgICAgcmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRjsKICAgICAgICBjYXNlICdpZmVsc2UnOgogICAgICAgICAgcmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRkVMU0U7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHJldHVybiBQb3N0U2NyaXB0VG9rZW4uZ2V0T3BlcmF0b3Ioc3RyKTsKICAgICAgfQogICAgfSwKICAgIGdldE51bWJlcjogZnVuY3Rpb24gUG9zdFNjcmlwdExleGVyX2dldE51bWJlcigpIHsKICAgICAgdmFyIGNoID0gdGhpcy5jdXJyZW50Q2hhcjsKICAgICAgdmFyIHN0ckJ1ZiA9IHRoaXMuc3RyQnVmOwogICAgICBzdHJCdWYubGVuZ3RoID0gMDsKICAgICAgc3RyQnVmWzBdID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7CgogICAgICB3aGlsZSAoKGNoID0gdGhpcy5uZXh0Q2hhcigpKSA+PSAwKSB7CiAgICAgICAgaWYgKChjaCA+PSAweDMwICYmIGNoIDw9IDB4MzkpIHx8IC8vICcwJy0nOScKICAgICAgICAgICAgY2ggPT09IDB4MkQgfHwgY2ggPT09IDB4MkUpIHsgLy8gJy0nLCAnLicKICAgICAgICAgIHN0ckJ1Zi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoY2gpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIHZhciB2YWx1ZSA9IHBhcnNlRmxvYXQoc3RyQnVmLmpvaW4oJycpKTsKICAgICAgaWYgKGlzTmFOKHZhbHVlKSkgewogICAgICAgIGVycm9yKCdJbnZhbGlkIGZsb2F0aW5nIHBvaW50IG51bWJlcjogJyArIHZhbHVlKTsKICAgICAgfQogICAgICByZXR1cm4gdmFsdWU7CiAgICB9CiAgfTsKICByZXR1cm4gUG9zdFNjcmlwdExleGVyOwp9KSgpOwoKCnZhciBTdHJlYW0gPSAoZnVuY3Rpb24gU3RyZWFtQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBTdHJlYW0oYXJyYXlCdWZmZXIsIHN0YXJ0LCBsZW5ndGgsIGRpY3QpIHsKICAgIHRoaXMuYnl0ZXMgPSAoYXJyYXlCdWZmZXIgaW5zdGFuY2VvZiBVaW50OEFycmF5ID8KICAgICAgICAgICAgICAgICAgYXJyYXlCdWZmZXIgOiBuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpOwogICAgdGhpcy5zdGFydCA9IHN0YXJ0IHx8IDA7CiAgICB0aGlzLnBvcyA9IHRoaXMuc3RhcnQ7CiAgICB0aGlzLmVuZCA9IChzdGFydCArIGxlbmd0aCkgfHwgdGhpcy5ieXRlcy5sZW5ndGg7CiAgICB0aGlzLmRpY3QgPSBkaWN0OwogIH0KCiAgLy8gcmVxdWlyZWQgbWV0aG9kcyBmb3IgYSBzdHJlYW0uIGlmIGEgcGFydGljdWxhciBzdHJlYW0gZG9lcyBub3QKICAvLyBpbXBsZW1lbnQgdGhlc2UsIGFuIGVycm9yIHNob3VsZCBiZSB0aHJvd24KICBTdHJlYW0ucHJvdG90eXBlID0gewogICAgZ2V0IGxlbmd0aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZW5kIC0gdGhpcy5zdGFydDsKICAgIH0sCiAgICBnZXQgaXNFbXB0eSgpIHsKICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAwOwogICAgfSwKICAgIGdldEJ5dGU6IGZ1bmN0aW9uIFN0cmVhbV9nZXRCeXRlKCkgewogICAgICBpZiAodGhpcy5wb3MgPj0gdGhpcy5lbmQpIHsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuYnl0ZXNbdGhpcy5wb3MrK107CiAgICB9LAogICAgZ2V0VWludDE2OiBmdW5jdGlvbiBTdHJlYW1fZ2V0VWludDE2KCkgewogICAgICB2YXIgYjAgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIxID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIGlmIChiMCA9PT0gLTEgfHwgYjEgPT09IC0xKSB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgICB9CiAgICAgIHJldHVybiAoYjAgPDwgOCkgKyBiMTsKICAgIH0sCiAgICBnZXRJbnQzMjogZnVuY3Rpb24gU3RyZWFtX2dldEludDMyKCkgewogICAgICB2YXIgYjAgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIxID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHZhciBiMiA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICB2YXIgYjMgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgcmV0dXJuIChiMCA8PCAyNCkgKyAoYjEgPDwgMTYpICsgKGIyIDw8IDgpICsgYjM7CiAgICB9LAogICAgLy8gcmV0dXJucyBzdWJhcnJheSBvZiBvcmlnaW5hbCBidWZmZXIKICAgIC8vIHNob3VsZCBvbmx5IGJlIHJlYWQKICAgIGdldEJ5dGVzOiBmdW5jdGlvbiBTdHJlYW1fZ2V0Qnl0ZXMobGVuZ3RoKSB7CiAgICAgIHZhciBieXRlcyA9IHRoaXMuYnl0ZXM7CiAgICAgIHZhciBwb3MgPSB0aGlzLnBvczsKICAgICAgdmFyIHN0ckVuZCA9IHRoaXMuZW5kOwoKICAgICAgaWYgKCFsZW5ndGgpIHsKICAgICAgICByZXR1cm4gYnl0ZXMuc3ViYXJyYXkocG9zLCBzdHJFbmQpOwogICAgICB9CiAgICAgIHZhciBlbmQgPSBwb3MgKyBsZW5ndGg7CiAgICAgIGlmIChlbmQgPiBzdHJFbmQpIHsKICAgICAgICBlbmQgPSBzdHJFbmQ7CiAgICAgIH0KICAgICAgdGhpcy5wb3MgPSBlbmQ7CiAgICAgIHJldHVybiBieXRlcy5zdWJhcnJheShwb3MsIGVuZCk7CiAgICB9LAogICAgcGVla0J5dGU6IGZ1bmN0aW9uIFN0cmVhbV9wZWVrQnl0ZSgpIHsKICAgICAgdmFyIHBlZWtlZEJ5dGUgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdGhpcy5wb3MtLTsKICAgICAgcmV0dXJuIHBlZWtlZEJ5dGU7CiAgICB9LAogICAgcGVla0J5dGVzOiBmdW5jdGlvbiBTdHJlYW1fcGVla0J5dGVzKGxlbmd0aCkgewogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmdldEJ5dGVzKGxlbmd0aCk7CiAgICAgIHRoaXMucG9zIC09IGJ5dGVzLmxlbmd0aDsKICAgICAgcmV0dXJuIGJ5dGVzOwogICAgfSwKICAgIHNraXA6IGZ1bmN0aW9uIFN0cmVhbV9za2lwKG4pIHsKICAgICAgaWYgKCFuKSB7CiAgICAgICAgbiA9IDE7CiAgICAgIH0KICAgICAgdGhpcy5wb3MgKz0gbjsKICAgIH0sCiAgICByZXNldDogZnVuY3Rpb24gU3RyZWFtX3Jlc2V0KCkgewogICAgICB0aGlzLnBvcyA9IHRoaXMuc3RhcnQ7CiAgICB9LAogICAgbW92ZVN0YXJ0OiBmdW5jdGlvbiBTdHJlYW1fbW92ZVN0YXJ0KCkgewogICAgICB0aGlzLnN0YXJ0ID0gdGhpcy5wb3M7CiAgICB9LAogICAgbWFrZVN1YlN0cmVhbTogZnVuY3Rpb24gU3RyZWFtX21ha2VTdWJTdHJlYW0oc3RhcnQsIGxlbmd0aCwgZGljdCkgewogICAgICByZXR1cm4gbmV3IFN0cmVhbSh0aGlzLmJ5dGVzLmJ1ZmZlciwgc3RhcnQsIGxlbmd0aCwgZGljdCk7CiAgICB9LAogICAgaXNTdHJlYW06IHRydWUKICB9OwoKICByZXR1cm4gU3RyZWFtOwp9KSgpOwoKdmFyIFN0cmluZ1N0cmVhbSA9IChmdW5jdGlvbiBTdHJpbmdTdHJlYW1DbG9zdXJlKCkgewogIGZ1bmN0aW9uIFN0cmluZ1N0cmVhbShzdHIpIHsKICAgIHZhciBsZW5ndGggPSBzdHIubGVuZ3RoOwogICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTsKICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGVuZ3RoOyArK24pIHsKICAgICAgYnl0ZXNbbl0gPSBzdHIuY2hhckNvZGVBdChuKTsKICAgIH0KICAgIFN0cmVhbS5jYWxsKHRoaXMsIGJ5dGVzKTsKICB9CgogIFN0cmluZ1N0cmVhbS5wcm90b3R5cGUgPSBTdHJlYW0ucHJvdG90eXBlOwoKICByZXR1cm4gU3RyaW5nU3RyZWFtOwp9KSgpOwoKLy8gc3VwZXIgY2xhc3MgZm9yIHRoZSBkZWNvZGluZyBzdHJlYW1zCnZhciBEZWNvZGVTdHJlYW0gPSAoZnVuY3Rpb24gRGVjb2RlU3RyZWFtQ2xvc3VyZSgpIHsKICAvLyBMb3RzIG9mIERlY29kZVN0cmVhbXMgYXJlIGNyZWF0ZWQgd2hvc2UgYnVmZmVycyBhcmUgbmV2ZXIgdXNlZC4gIEZvciB0aGVzZQogIC8vIHdlIHNoYXJlIGEgc2luZ2xlIGVtcHR5IGJ1ZmZlci4gVGhpcyBpcyAoYSkgc3BhY2UtZWZmaWNpZW50IGFuZCAoYikgYXZvaWRzCiAgLy8gaGF2aW5nIHNwZWNpYWwgY2FzZXMgdGhhdCB3b3VsZCBiZSByZXF1aXJlZCBpZiB3ZSB1c2VkIHxudWxsfCBmb3IgYW4gZW1wdHkKICAvLyBidWZmZXIuCiAgdmFyIGVtcHR5QnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMCk7CgogIGZ1bmN0aW9uIERlY29kZVN0cmVhbShtYXliZU1pbkJ1ZmZlckxlbmd0aCkgewogICAgdGhpcy5wb3MgPSAwOwogICAgdGhpcy5idWZmZXJMZW5ndGggPSAwOwogICAgdGhpcy5lb2YgPSBmYWxzZTsKICAgIHRoaXMuYnVmZmVyID0gZW1wdHlCdWZmZXI7CiAgICB0aGlzLm1pbkJ1ZmZlckxlbmd0aCA9IDUxMjsKICAgIGlmIChtYXliZU1pbkJ1ZmZlckxlbmd0aCkgewogICAgICAvLyBDb21wdXRlIHRoZSBmaXJzdCBwb3dlciBvZiB0d28gdGhhdCBpcyBhcyBiaWcgYXMgbWF5YmVNaW5CdWZmZXJMZW5ndGguCiAgICAgIHdoaWxlICh0aGlzLm1pbkJ1ZmZlckxlbmd0aCA8IG1heWJlTWluQnVmZmVyTGVuZ3RoKSB7CiAgICAgICAgdGhpcy5taW5CdWZmZXJMZW5ndGggKj0gMjsKICAgICAgfQogICAgfQogIH0KCiAgRGVjb2RlU3RyZWFtLnByb3RvdHlwZSA9IHsKICAgIGdldCBpc0VtcHR5KCkgewogICAgICB3aGlsZSAoIXRoaXMuZW9mICYmIHRoaXMuYnVmZmVyTGVuZ3RoID09PSAwKSB7CiAgICAgICAgdGhpcy5yZWFkQmxvY2soKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5idWZmZXJMZW5ndGggPT09IDA7CiAgICB9LAogICAgZW5zdXJlQnVmZmVyOiBmdW5jdGlvbiBEZWNvZGVTdHJlYW1fZW5zdXJlQnVmZmVyKHJlcXVlc3RlZCkgewogICAgICB2YXIgYnVmZmVyID0gdGhpcy5idWZmZXI7CiAgICAgIGlmIChyZXF1ZXN0ZWQgPD0gYnVmZmVyLmJ5dGVMZW5ndGgpIHsKICAgICAgICByZXR1cm4gYnVmZmVyOwogICAgICB9CiAgICAgIHZhciBzaXplID0gdGhpcy5taW5CdWZmZXJMZW5ndGg7CiAgICAgIHdoaWxlIChzaXplIDwgcmVxdWVzdGVkKSB7CiAgICAgICAgc2l6ZSAqPSAyOwogICAgICB9CiAgICAgIHZhciBidWZmZXIyID0gbmV3IFVpbnQ4QXJyYXkoc2l6ZSk7CiAgICAgIGJ1ZmZlcjIuc2V0KGJ1ZmZlcik7CiAgICAgIHJldHVybiAodGhpcy5idWZmZXIgPSBidWZmZXIyKTsKICAgIH0sCiAgICBnZXRCeXRlOiBmdW5jdGlvbiBEZWNvZGVTdHJlYW1fZ2V0Qnl0ZSgpIHsKICAgICAgdmFyIHBvcyA9IHRoaXMucG9zOwogICAgICB3aGlsZSAodGhpcy5idWZmZXJMZW5ndGggPD0gcG9zKSB7CiAgICAgICAgaWYgKHRoaXMuZW9mKSB7CiAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgfQogICAgICAgIHRoaXMucmVhZEJsb2NrKCk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyW3RoaXMucG9zKytdOwogICAgfSwKICAgIGdldFVpbnQxNjogZnVuY3Rpb24gRGVjb2RlU3RyZWFtX2dldFVpbnQxNigpIHsKICAgICAgdmFyIGIwID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHZhciBiMSA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICBpZiAoYjAgPT09IC0xIHx8IGIxID09PSAtMSkgewogICAgICAgIHJldHVybiAtMTsKICAgICAgfQogICAgICByZXR1cm4gKGIwIDw8IDgpICsgYjE7CiAgICB9LAogICAgZ2V0SW50MzI6IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9nZXRJbnQzMigpIHsKICAgICAgdmFyIGIwID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHZhciBiMSA9IHRoaXMuZ2V0Qnl0ZSgpOwogICAgICB2YXIgYjIgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdmFyIGIzID0gdGhpcy5nZXRCeXRlKCk7CiAgICAgIHJldHVybiAoYjAgPDwgMjQpICsgKGIxIDw8IDE2KSArIChiMiA8PCA4KSArIGIzOwogICAgfSwKICAgIGdldEJ5dGVzOiBmdW5jdGlvbiBEZWNvZGVTdHJlYW1fZ2V0Qnl0ZXMobGVuZ3RoKSB7CiAgICAgIHZhciBlbmQsIHBvcyA9IHRoaXMucG9zOwoKICAgICAgaWYgKGxlbmd0aCkgewogICAgICAgIHRoaXMuZW5zdXJlQnVmZmVyKHBvcyArIGxlbmd0aCk7CiAgICAgICAgZW5kID0gcG9zICsgbGVuZ3RoOwoKICAgICAgICB3aGlsZSAoIXRoaXMuZW9mICYmIHRoaXMuYnVmZmVyTGVuZ3RoIDwgZW5kKSB7CiAgICAgICAgICB0aGlzLnJlYWRCbG9jaygpOwogICAgICAgIH0KICAgICAgICB2YXIgYnVmRW5kID0gdGhpcy5idWZmZXJMZW5ndGg7CiAgICAgICAgaWYgKGVuZCA+IGJ1ZkVuZCkgewogICAgICAgICAgZW5kID0gYnVmRW5kOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB3aGlsZSAoIXRoaXMuZW9mKSB7CiAgICAgICAgICB0aGlzLnJlYWRCbG9jaygpOwogICAgICAgIH0KICAgICAgICBlbmQgPSB0aGlzLmJ1ZmZlckxlbmd0aDsKICAgICAgfQoKICAgICAgdGhpcy5wb3MgPSBlbmQ7CiAgICAgIHJldHVybiB0aGlzLmJ1ZmZlci5zdWJhcnJheShwb3MsIGVuZCk7CiAgICB9LAogICAgcGVla0J5dGU6IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9wZWVrQnl0ZSgpIHsKICAgICAgdmFyIHBlZWtlZEJ5dGUgPSB0aGlzLmdldEJ5dGUoKTsKICAgICAgdGhpcy5wb3MtLTsKICAgICAgcmV0dXJuIHBlZWtlZEJ5dGU7CiAgICB9LAogICAgcGVla0J5dGVzOiBmdW5jdGlvbiBEZWNvZGVTdHJlYW1fcGVla0J5dGVzKGxlbmd0aCkgewogICAgICB2YXIgYnl0ZXMgPSB0aGlzLmdldEJ5dGVzKGxlbmd0aCk7CiAgICAgIHRoaXMucG9zIC09IGJ5dGVzLmxlbmd0aDsKICAgICAgcmV0dXJuIGJ5dGVzOwogICAgfSwKICAgIG1ha2VTdWJTdHJlYW06IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9tYWtlU3ViU3RyZWFtKHN0YXJ0LCBsZW5ndGgsIGRpY3QpIHsKICAgICAgdmFyIGVuZCA9IHN0YXJ0ICsgbGVuZ3RoOwogICAgICB3aGlsZSAodGhpcy5idWZmZXJMZW5ndGggPD0gZW5kICYmICF0aGlzLmVvZikgewogICAgICAgIHRoaXMucmVhZEJsb2NrKCk7CiAgICAgIH0KICAgICAgcmV0dXJuIG5ldyBTdHJlYW0odGhpcy5idWZmZXIsIHN0YXJ0LCBsZW5ndGgsIGRpY3QpOwogICAgfSwKICAgIHNraXA6IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9za2lwKG4pIHsKICAgICAgaWYgKCFuKSB7CiAgICAgICAgbiA9IDE7CiAgICAgIH0KICAgICAgdGhpcy5wb3MgKz0gbjsKICAgIH0sCiAgICByZXNldDogZnVuY3Rpb24gRGVjb2RlU3RyZWFtX3Jlc2V0KCkgewogICAgICB0aGlzLnBvcyA9IDA7CiAgICB9LAogICAgZ2V0QmFzZVN0cmVhbXM6IGZ1bmN0aW9uIERlY29kZVN0cmVhbV9nZXRCYXNlU3RyZWFtcygpIHsKICAgICAgaWYgKHRoaXMuc3RyICYmIHRoaXMuc3RyLmdldEJhc2VTdHJlYW1zKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuc3RyLmdldEJhc2VTdHJlYW1zKCk7CiAgICAgIH0KICAgICAgcmV0dXJuIFtdOwogICAgfQogIH07CgogIHJldHVybiBEZWNvZGVTdHJlYW07Cn0pKCk7Cgp2YXIgU3RyZWFtc1NlcXVlbmNlU3RyZWFtID0gKGZ1bmN0aW9uIFN0cmVhbXNTZXF1ZW5jZVN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gU3RyZWFtc1NlcXVlbmNlU3RyZWFtKHN0cmVhbXMpIHsKICAgIHRoaXMuc3RyZWFtcyA9IHN0cmVhbXM7CiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCAvKiBtYXliZUxlbmd0aCA9ICovIG51bGwpOwogIH0KCiAgU3RyZWFtc1NlcXVlbmNlU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIFN0cmVhbXNTZXF1ZW5jZVN0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrID0KICAgICAgZnVuY3Rpb24gc3RyZWFtU2VxdWVuY2VTdHJlYW1SZWFkQmxvY2soKSB7CgogICAgdmFyIHN0cmVhbXMgPSB0aGlzLnN0cmVhbXM7CiAgICBpZiAoc3RyZWFtcy5sZW5ndGggPT09IDApIHsKICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgc3RyZWFtID0gc3RyZWFtcy5zaGlmdCgpOwogICAgdmFyIGNodW5rID0gc3RyZWFtLmdldEJ5dGVzKCk7CiAgICB2YXIgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJMZW5ndGg7CiAgICB2YXIgbmV3TGVuZ3RoID0gYnVmZmVyTGVuZ3RoICsgY2h1bmsubGVuZ3RoOwogICAgdmFyIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKG5ld0xlbmd0aCk7CiAgICBidWZmZXIuc2V0KGNodW5rLCBidWZmZXJMZW5ndGgpOwogICAgdGhpcy5idWZmZXJMZW5ndGggPSBuZXdMZW5ndGg7CiAgfTsKCiAgU3RyZWFtc1NlcXVlbmNlU3RyZWFtLnByb3RvdHlwZS5nZXRCYXNlU3RyZWFtcyA9CiAgICBmdW5jdGlvbiBTdHJlYW1zU2VxdWVuY2VTdHJlYW1fZ2V0QmFzZVN0cmVhbXMoKSB7CgogICAgdmFyIGJhc2VTdHJlYW1zID0gW107CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSB0aGlzLnN0cmVhbXMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgc3RyZWFtID0gdGhpcy5zdHJlYW1zW2ldOwogICAgICBpZiAoc3RyZWFtLmdldEJhc2VTdHJlYW1zKSB7CiAgICAgICAgVXRpbC5hcHBlbmRUb0FycmF5KGJhc2VTdHJlYW1zLCBzdHJlYW0uZ2V0QmFzZVN0cmVhbXMoKSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBiYXNlU3RyZWFtczsKICB9OwoKICByZXR1cm4gU3RyZWFtc1NlcXVlbmNlU3RyZWFtOwp9KSgpOwoKdmFyIEZsYXRlU3RyZWFtID0gKGZ1bmN0aW9uIEZsYXRlU3RyZWFtQ2xvc3VyZSgpIHsKICB2YXIgY29kZUxlbkNvZGVNYXAgPSBuZXcgSW50MzJBcnJheShbCiAgICAxNiwgMTcsIDE4LCAwLCA4LCA3LCA5LCA2LCAxMCwgNSwgMTEsIDQsIDEyLCAzLCAxMywgMiwgMTQsIDEsIDE1CiAgXSk7CgogIHZhciBsZW5ndGhEZWNvZGUgPSBuZXcgSW50MzJBcnJheShbCiAgICAweDAwMDAzLCAweDAwMDA0LCAweDAwMDA1LCAweDAwMDA2LCAweDAwMDA3LCAweDAwMDA4LCAweDAwMDA5LCAweDAwMDBhLAogICAgMHgxMDAwYiwgMHgxMDAwZCwgMHgxMDAwZiwgMHgxMDAxMSwgMHgyMDAxMywgMHgyMDAxNywgMHgyMDAxYiwgMHgyMDAxZiwKICAgIDB4MzAwMjMsIDB4MzAwMmIsIDB4MzAwMzMsIDB4MzAwM2IsIDB4NDAwNDMsIDB4NDAwNTMsIDB4NDAwNjMsIDB4NDAwNzMsCiAgICAweDUwMDgzLCAweDUwMGEzLCAweDUwMGMzLCAweDUwMGUzLCAweDAwMTAyLCAweDAwMTAyLCAweDAwMTAyCiAgXSk7CgogIHZhciBkaXN0RGVjb2RlID0gbmV3IEludDMyQXJyYXkoWwogICAgMHgwMDAwMSwgMHgwMDAwMiwgMHgwMDAwMywgMHgwMDAwNCwgMHgxMDAwNSwgMHgxMDAwNywgMHgyMDAwOSwgMHgyMDAwZCwKICAgIDB4MzAwMTEsIDB4MzAwMTksIDB4NDAwMjEsIDB4NDAwMzEsIDB4NTAwNDEsIDB4NTAwNjEsIDB4NjAwODEsIDB4NjAwYzEsCiAgICAweDcwMTAxLCAweDcwMTgxLCAweDgwMjAxLCAweDgwMzAxLCAweDkwNDAxLCAweDkwNjAxLCAweGEwODAxLCAweGEwYzAxLAogICAgMHhiMTAwMSwgMHhiMTgwMSwgMHhjMjAwMSwgMHhjMzAwMSwgMHhkNDAwMSwgMHhkNjAwMQogIF0pOwoKICB2YXIgZml4ZWRMaXRDb2RlVGFiID0gW25ldyBJbnQzMkFycmF5KFsKICAgIDB4NzAxMDAsIDB4ODAwNTAsIDB4ODAwMTAsIDB4ODAxMTgsIDB4NzAxMTAsIDB4ODAwNzAsIDB4ODAwMzAsIDB4OTAwYzAsCiAgICAweDcwMTA4LCAweDgwMDYwLCAweDgwMDIwLCAweDkwMGEwLCAweDgwMDAwLCAweDgwMDgwLCAweDgwMDQwLCAweDkwMGUwLAogICAgMHg3MDEwNCwgMHg4MDA1OCwgMHg4MDAxOCwgMHg5MDA5MCwgMHg3MDExNCwgMHg4MDA3OCwgMHg4MDAzOCwgMHg5MDBkMCwKICAgIDB4NzAxMGMsIDB4ODAwNjgsIDB4ODAwMjgsIDB4OTAwYjAsIDB4ODAwMDgsIDB4ODAwODgsIDB4ODAwNDgsIDB4OTAwZjAsCiAgICAweDcwMTAyLCAweDgwMDU0LCAweDgwMDE0LCAweDgwMTFjLCAweDcwMTEyLCAweDgwMDc0LCAweDgwMDM0LCAweDkwMGM4LAogICAgMHg3MDEwYSwgMHg4MDA2NCwgMHg4MDAyNCwgMHg5MDBhOCwgMHg4MDAwNCwgMHg4MDA4NCwgMHg4MDA0NCwgMHg5MDBlOCwKICAgIDB4NzAxMDYsIDB4ODAwNWMsIDB4ODAwMWMsIDB4OTAwOTgsIDB4NzAxMTYsIDB4ODAwN2MsIDB4ODAwM2MsIDB4OTAwZDgsCiAgICAweDcwMTBlLCAweDgwMDZjLCAweDgwMDJjLCAweDkwMGI4LCAweDgwMDBjLCAweDgwMDhjLCAweDgwMDRjLCAweDkwMGY4LAogICAgMHg3MDEwMSwgMHg4MDA1MiwgMHg4MDAxMiwgMHg4MDExYSwgMHg3MDExMSwgMHg4MDA3MiwgMHg4MDAzMiwgMHg5MDBjNCwKICAgIDB4NzAxMDksIDB4ODAwNjIsIDB4ODAwMjIsIDB4OTAwYTQsIDB4ODAwMDIsIDB4ODAwODIsIDB4ODAwNDIsIDB4OTAwZTQsCiAgICAweDcwMTA1LCAweDgwMDVhLCAweDgwMDFhLCAweDkwMDk0LCAweDcwMTE1LCAweDgwMDdhLCAweDgwMDNhLCAweDkwMGQ0LAogICAgMHg3MDEwZCwgMHg4MDA2YSwgMHg4MDAyYSwgMHg5MDBiNCwgMHg4MDAwYSwgMHg4MDA4YSwgMHg4MDA0YSwgMHg5MDBmNCwKICAgIDB4NzAxMDMsIDB4ODAwNTYsIDB4ODAwMTYsIDB4ODAxMWUsIDB4NzAxMTMsIDB4ODAwNzYsIDB4ODAwMzYsIDB4OTAwY2MsCiAgICAweDcwMTBiLCAweDgwMDY2LCAweDgwMDI2LCAweDkwMGFjLCAweDgwMDA2LCAweDgwMDg2LCAweDgwMDQ2LCAweDkwMGVjLAogICAgMHg3MDEwNywgMHg4MDA1ZSwgMHg4MDAxZSwgMHg5MDA5YywgMHg3MDExNywgMHg4MDA3ZSwgMHg4MDAzZSwgMHg5MDBkYywKICAgIDB4NzAxMGYsIDB4ODAwNmUsIDB4ODAwMmUsIDB4OTAwYmMsIDB4ODAwMGUsIDB4ODAwOGUsIDB4ODAwNGUsIDB4OTAwZmMsCiAgICAweDcwMTAwLCAweDgwMDUxLCAweDgwMDExLCAweDgwMTE5LCAweDcwMTEwLCAweDgwMDcxLCAweDgwMDMxLCAweDkwMGMyLAogICAgMHg3MDEwOCwgMHg4MDA2MSwgMHg4MDAyMSwgMHg5MDBhMiwgMHg4MDAwMSwgMHg4MDA4MSwgMHg4MDA0MSwgMHg5MDBlMiwKICAgIDB4NzAxMDQsIDB4ODAwNTksIDB4ODAwMTksIDB4OTAwOTIsIDB4NzAxMTQsIDB4ODAwNzksIDB4ODAwMzksIDB4OTAwZDIsCiAgICAweDcwMTBjLCAweDgwMDY5LCAweDgwMDI5LCAweDkwMGIyLCAweDgwMDA5LCAweDgwMDg5LCAweDgwMDQ5LCAweDkwMGYyLAogICAgMHg3MDEwMiwgMHg4MDA1NSwgMHg4MDAxNSwgMHg4MDExZCwgMHg3MDExMiwgMHg4MDA3NSwgMHg4MDAzNSwgMHg5MDBjYSwKICAgIDB4NzAxMGEsIDB4ODAwNjUsIDB4ODAwMjUsIDB4OTAwYWEsIDB4ODAwMDUsIDB4ODAwODUsIDB4ODAwNDUsIDB4OTAwZWEsCiAgICAweDcwMTA2LCAweDgwMDVkLCAweDgwMDFkLCAweDkwMDlhLCAweDcwMTE2LCAweDgwMDdkLCAweDgwMDNkLCAweDkwMGRhLAogICAgMHg3MDEwZSwgMHg4MDA2ZCwgMHg4MDAyZCwgMHg5MDBiYSwgMHg4MDAwZCwgMHg4MDA4ZCwgMHg4MDA0ZCwgMHg5MDBmYSwKICAgIDB4NzAxMDEsIDB4ODAwNTMsIDB4ODAwMTMsIDB4ODAxMWIsIDB4NzAxMTEsIDB4ODAwNzMsIDB4ODAwMzMsIDB4OTAwYzYsCiAgICAweDcwMTA5LCAweDgwMDYzLCAweDgwMDIzLCAweDkwMGE2LCAweDgwMDAzLCAweDgwMDgzLCAweDgwMDQzLCAweDkwMGU2LAogICAgMHg3MDEwNSwgMHg4MDA1YiwgMHg4MDAxYiwgMHg5MDA5NiwgMHg3MDExNSwgMHg4MDA3YiwgMHg4MDAzYiwgMHg5MDBkNiwKICAgIDB4NzAxMGQsIDB4ODAwNmIsIDB4ODAwMmIsIDB4OTAwYjYsIDB4ODAwMGIsIDB4ODAwOGIsIDB4ODAwNGIsIDB4OTAwZjYsCiAgICAweDcwMTAzLCAweDgwMDU3LCAweDgwMDE3LCAweDgwMTFmLCAweDcwMTEzLCAweDgwMDc3LCAweDgwMDM3LCAweDkwMGNlLAogICAgMHg3MDEwYiwgMHg4MDA2NywgMHg4MDAyNywgMHg5MDBhZSwgMHg4MDAwNywgMHg4MDA4NywgMHg4MDA0NywgMHg5MDBlZSwKICAgIDB4NzAxMDcsIDB4ODAwNWYsIDB4ODAwMWYsIDB4OTAwOWUsIDB4NzAxMTcsIDB4ODAwN2YsIDB4ODAwM2YsIDB4OTAwZGUsCiAgICAweDcwMTBmLCAweDgwMDZmLCAweDgwMDJmLCAweDkwMGJlLCAweDgwMDBmLCAweDgwMDhmLCAweDgwMDRmLCAweDkwMGZlLAogICAgMHg3MDEwMCwgMHg4MDA1MCwgMHg4MDAxMCwgMHg4MDExOCwgMHg3MDExMCwgMHg4MDA3MCwgMHg4MDAzMCwgMHg5MDBjMSwKICAgIDB4NzAxMDgsIDB4ODAwNjAsIDB4ODAwMjAsIDB4OTAwYTEsIDB4ODAwMDAsIDB4ODAwODAsIDB4ODAwNDAsIDB4OTAwZTEsCiAgICAweDcwMTA0LCAweDgwMDU4LCAweDgwMDE4LCAweDkwMDkxLCAweDcwMTE0LCAweDgwMDc4LCAweDgwMDM4LCAweDkwMGQxLAogICAgMHg3MDEwYywgMHg4MDA2OCwgMHg4MDAyOCwgMHg5MDBiMSwgMHg4MDAwOCwgMHg4MDA4OCwgMHg4MDA0OCwgMHg5MDBmMSwKICAgIDB4NzAxMDIsIDB4ODAwNTQsIDB4ODAwMTQsIDB4ODAxMWMsIDB4NzAxMTIsIDB4ODAwNzQsIDB4ODAwMzQsIDB4OTAwYzksCiAgICAweDcwMTBhLCAweDgwMDY0LCAweDgwMDI0LCAweDkwMGE5LCAweDgwMDA0LCAweDgwMDg0LCAweDgwMDQ0LCAweDkwMGU5LAogICAgMHg3MDEwNiwgMHg4MDA1YywgMHg4MDAxYywgMHg5MDA5OSwgMHg3MDExNiwgMHg4MDA3YywgMHg4MDAzYywgMHg5MDBkOSwKICAgIDB4NzAxMGUsIDB4ODAwNmMsIDB4ODAwMmMsIDB4OTAwYjksIDB4ODAwMGMsIDB4ODAwOGMsIDB4ODAwNGMsIDB4OTAwZjksCiAgICAweDcwMTAxLCAweDgwMDUyLCAweDgwMDEyLCAweDgwMTFhLCAweDcwMTExLCAweDgwMDcyLCAweDgwMDMyLCAweDkwMGM1LAogICAgMHg3MDEwOSwgMHg4MDA2MiwgMHg4MDAyMiwgMHg5MDBhNSwgMHg4MDAwMiwgMHg4MDA4MiwgMHg4MDA0MiwgMHg5MDBlNSwKICAgIDB4NzAxMDUsIDB4ODAwNWEsIDB4ODAwMWEsIDB4OTAwOTUsIDB4NzAxMTUsIDB4ODAwN2EsIDB4ODAwM2EsIDB4OTAwZDUsCiAgICAweDcwMTBkLCAweDgwMDZhLCAweDgwMDJhLCAweDkwMGI1LCAweDgwMDBhLCAweDgwMDhhLCAweDgwMDRhLCAweDkwMGY1LAogICAgMHg3MDEwMywgMHg4MDA1NiwgMHg4MDAxNiwgMHg4MDExZSwgMHg3MDExMywgMHg4MDA3NiwgMHg4MDAzNiwgMHg5MDBjZCwKICAgIDB4NzAxMGIsIDB4ODAwNjYsIDB4ODAwMjYsIDB4OTAwYWQsIDB4ODAwMDYsIDB4ODAwODYsIDB4ODAwNDYsIDB4OTAwZWQsCiAgICAweDcwMTA3LCAweDgwMDVlLCAweDgwMDFlLCAweDkwMDlkLCAweDcwMTE3LCAweDgwMDdlLCAweDgwMDNlLCAweDkwMGRkLAogICAgMHg3MDEwZiwgMHg4MDA2ZSwgMHg4MDAyZSwgMHg5MDBiZCwgMHg4MDAwZSwgMHg4MDA4ZSwgMHg4MDA0ZSwgMHg5MDBmZCwKICAgIDB4NzAxMDAsIDB4ODAwNTEsIDB4ODAwMTEsIDB4ODAxMTksIDB4NzAxMTAsIDB4ODAwNzEsIDB4ODAwMzEsIDB4OTAwYzMsCiAgICAweDcwMTA4LCAweDgwMDYxLCAweDgwMDIxLCAweDkwMGEzLCAweDgwMDAxLCAweDgwMDgxLCAweDgwMDQxLCAweDkwMGUzLAogICAgMHg3MDEwNCwgMHg4MDA1OSwgMHg4MDAxOSwgMHg5MDA5MywgMHg3MDExNCwgMHg4MDA3OSwgMHg4MDAzOSwgMHg5MDBkMywKICAgIDB4NzAxMGMsIDB4ODAwNjksIDB4ODAwMjksIDB4OTAwYjMsIDB4ODAwMDksIDB4ODAwODksIDB4ODAwNDksIDB4OTAwZjMsCiAgICAweDcwMTAyLCAweDgwMDU1LCAweDgwMDE1LCAweDgwMTFkLCAweDcwMTEyLCAweDgwMDc1LCAweDgwMDM1LCAweDkwMGNiLAogICAgMHg3MDEwYSwgMHg4MDA2NSwgMHg4MDAyNSwgMHg5MDBhYiwgMHg4MDAwNSwgMHg4MDA4NSwgMHg4MDA0NSwgMHg5MDBlYiwKICAgIDB4NzAxMDYsIDB4ODAwNWQsIDB4ODAwMWQsIDB4OTAwOWIsIDB4NzAxMTYsIDB4ODAwN2QsIDB4ODAwM2QsIDB4OTAwZGIsCiAgICAweDcwMTBlLCAweDgwMDZkLCAweDgwMDJkLCAweDkwMGJiLCAweDgwMDBkLCAweDgwMDhkLCAweDgwMDRkLCAweDkwMGZiLAogICAgMHg3MDEwMSwgMHg4MDA1MywgMHg4MDAxMywgMHg4MDExYiwgMHg3MDExMSwgMHg4MDA3MywgMHg4MDAzMywgMHg5MDBjNywKICAgIDB4NzAxMDksIDB4ODAwNjMsIDB4ODAwMjMsIDB4OTAwYTcsIDB4ODAwMDMsIDB4ODAwODMsIDB4ODAwNDMsIDB4OTAwZTcsCiAgICAweDcwMTA1LCAweDgwMDViLCAweDgwMDFiLCAweDkwMDk3LCAweDcwMTE1LCAweDgwMDdiLCAweDgwMDNiLCAweDkwMGQ3LAogICAgMHg3MDEwZCwgMHg4MDA2YiwgMHg4MDAyYiwgMHg5MDBiNywgMHg4MDAwYiwgMHg4MDA4YiwgMHg4MDA0YiwgMHg5MDBmNywKICAgIDB4NzAxMDMsIDB4ODAwNTcsIDB4ODAwMTcsIDB4ODAxMWYsIDB4NzAxMTMsIDB4ODAwNzcsIDB4ODAwMzcsIDB4OTAwY2YsCiAgICAweDcwMTBiLCAweDgwMDY3LCAweDgwMDI3LCAweDkwMGFmLCAweDgwMDA3LCAweDgwMDg3LCAweDgwMDQ3LCAweDkwMGVmLAogICAgMHg3MDEwNywgMHg4MDA1ZiwgMHg4MDAxZiwgMHg5MDA5ZiwgMHg3MDExNywgMHg4MDA3ZiwgMHg4MDAzZiwgMHg5MDBkZiwKICAgIDB4NzAxMGYsIDB4ODAwNmYsIDB4ODAwMmYsIDB4OTAwYmYsIDB4ODAwMGYsIDB4ODAwOGYsIDB4ODAwNGYsIDB4OTAwZmYKICBdKSwgOV07CgogIHZhciBmaXhlZERpc3RDb2RlVGFiID0gW25ldyBJbnQzMkFycmF5KFsKICAgIDB4NTAwMDAsIDB4NTAwMTAsIDB4NTAwMDgsIDB4NTAwMTgsIDB4NTAwMDQsIDB4NTAwMTQsIDB4NTAwMGMsIDB4NTAwMWMsCiAgICAweDUwMDAyLCAweDUwMDEyLCAweDUwMDBhLCAweDUwMDFhLCAweDUwMDA2LCAweDUwMDE2LCAweDUwMDBlLCAweDAwMDAwLAogICAgMHg1MDAwMSwgMHg1MDAxMSwgMHg1MDAwOSwgMHg1MDAxOSwgMHg1MDAwNSwgMHg1MDAxNSwgMHg1MDAwZCwgMHg1MDAxZCwKICAgIDB4NTAwMDMsIDB4NTAwMTMsIDB4NTAwMGIsIDB4NTAwMWIsIDB4NTAwMDcsIDB4NTAwMTcsIDB4NTAwMGYsIDB4MDAwMDAKICBdKSwgNV07CgogIGZ1bmN0aW9uIEZsYXRlU3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgpIHsKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CgogICAgdmFyIGNtZiA9IHN0ci5nZXRCeXRlKCk7CiAgICB2YXIgZmxnID0gc3RyLmdldEJ5dGUoKTsKICAgIGlmIChjbWYgPT09IC0xIHx8IGZsZyA9PT0gLTEpIHsKICAgICAgZXJyb3IoJ0ludmFsaWQgaGVhZGVyIGluIGZsYXRlIHN0cmVhbTogJyArIGNtZiArICcsICcgKyBmbGcpOwogICAgfQogICAgaWYgKChjbWYgJiAweDBmKSAhPT0gMHgwOCkgewogICAgICBlcnJvcignVW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QgaW4gZmxhdGUgc3RyZWFtOiAnICsgY21mICsgJywgJyArIGZsZyk7CiAgICB9CiAgICBpZiAoKCgoY21mIDw8IDgpICsgZmxnKSAlIDMxKSAhPT0gMCkgewogICAgICBlcnJvcignQmFkIEZDSEVDSyBpbiBmbGF0ZSBzdHJlYW06ICcgKyBjbWYgKyAnLCAnICsgZmxnKTsKICAgIH0KICAgIGlmIChmbGcgJiAweDIwKSB7CiAgICAgIGVycm9yKCdGRElDVCBiaXQgc2V0IGluIGZsYXRlIHN0cmVhbTogJyArIGNtZiArICcsICcgKyBmbGcpOwogICAgfQoKICAgIHRoaXMuY29kZVNpemUgPSAwOwogICAgdGhpcy5jb2RlQnVmID0gMDsKCiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgfQoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKERlY29kZVN0cmVhbS5wcm90b3R5cGUpOwoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUuZ2V0Qml0cyA9IGZ1bmN0aW9uIEZsYXRlU3RyZWFtX2dldEJpdHMoYml0cykgewogICAgdmFyIHN0ciA9IHRoaXMuc3RyOwogICAgdmFyIGNvZGVTaXplID0gdGhpcy5jb2RlU2l6ZTsKICAgIHZhciBjb2RlQnVmID0gdGhpcy5jb2RlQnVmOwoKICAgIHZhciBiOwogICAgd2hpbGUgKGNvZGVTaXplIDwgYml0cykgewogICAgICBpZiAoKGIgPSBzdHIuZ2V0Qnl0ZSgpKSA9PT0gLTEpIHsKICAgICAgICBlcnJvcignQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbScpOwogICAgICB9CiAgICAgIGNvZGVCdWYgfD0gYiA8PCBjb2RlU2l6ZTsKICAgICAgY29kZVNpemUgKz0gODsKICAgIH0KICAgIGIgPSBjb2RlQnVmICYgKCgxIDw8IGJpdHMpIC0gMSk7CiAgICB0aGlzLmNvZGVCdWYgPSBjb2RlQnVmID4+IGJpdHM7CiAgICB0aGlzLmNvZGVTaXplID0gY29kZVNpemUgLT0gYml0czsKCiAgICByZXR1cm4gYjsKICB9OwoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUuZ2V0Q29kZSA9IGZ1bmN0aW9uIEZsYXRlU3RyZWFtX2dldENvZGUodGFibGUpIHsKICAgIHZhciBzdHIgPSB0aGlzLnN0cjsKICAgIHZhciBjb2RlcyA9IHRhYmxlWzBdOwogICAgdmFyIG1heExlbiA9IHRhYmxlWzFdOwogICAgdmFyIGNvZGVTaXplID0gdGhpcy5jb2RlU2l6ZTsKICAgIHZhciBjb2RlQnVmID0gdGhpcy5jb2RlQnVmOwoKICAgIHZhciBiOwogICAgd2hpbGUgKGNvZGVTaXplIDwgbWF4TGVuKSB7CiAgICAgIGlmICgoYiA9IHN0ci5nZXRCeXRlKCkpID09PSAtMSkgewogICAgICAgIC8vIHByZW1hdHVyZSBlbmQgb2Ygc3RyZWFtLiBjb2RlIG1pZ2h0IGhvd2V2ZXIgc3RpbGwgYmUgdmFsaWQuCiAgICAgICAgLy8gY29kZVNpemUgPCBjb2RlTGVuIGNoZWNrIGJlbG93IGd1YXJkcyBhZ2FpbnN0IGluY29tcGxldGUgY29kZVZhbC4KICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjb2RlQnVmIHw9IChiIDw8IGNvZGVTaXplKTsKICAgICAgY29kZVNpemUgKz0gODsKICAgIH0KICAgIHZhciBjb2RlID0gY29kZXNbY29kZUJ1ZiAmICgoMSA8PCBtYXhMZW4pIC0gMSldOwogICAgdmFyIGNvZGVMZW4gPSBjb2RlID4+IDE2OwogICAgdmFyIGNvZGVWYWwgPSBjb2RlICYgMHhmZmZmOwogICAgaWYgKGNvZGVMZW4gPCAxIHx8IGNvZGVTaXplIDwgY29kZUxlbikgewogICAgICBlcnJvcignQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbScpOwogICAgfQogICAgdGhpcy5jb2RlQnVmID0gKGNvZGVCdWYgPj4gY29kZUxlbik7CiAgICB0aGlzLmNvZGVTaXplID0gKGNvZGVTaXplIC0gY29kZUxlbik7CiAgICByZXR1cm4gY29kZVZhbDsKICB9OwoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUuZ2VuZXJhdGVIdWZmbWFuVGFibGUgPQogICAgICBmdW5jdGlvbiBmbGF0ZVN0cmVhbUdlbmVyYXRlSHVmZm1hblRhYmxlKGxlbmd0aHMpIHsKICAgIHZhciBuID0gbGVuZ3Rocy5sZW5ndGg7CgogICAgLy8gZmluZCBtYXggY29kZSBsZW5ndGgKICAgIHZhciBtYXhMZW4gPSAwOwogICAgdmFyIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgIGlmIChsZW5ndGhzW2ldID4gbWF4TGVuKSB7CiAgICAgICAgbWF4TGVuID0gbGVuZ3Roc1tpXTsKICAgICAgfQogICAgfQoKICAgIC8vIGJ1aWxkIHRoZSB0YWJsZQogICAgdmFyIHNpemUgPSAxIDw8IG1heExlbjsKICAgIHZhciBjb2RlcyA9IG5ldyBJbnQzMkFycmF5KHNpemUpOwogICAgZm9yICh2YXIgbGVuID0gMSwgY29kZSA9IDAsIHNraXAgPSAyOwogICAgICAgICBsZW4gPD0gbWF4TGVuOwogICAgICAgICArK2xlbiwgY29kZSA8PD0gMSwgc2tpcCA8PD0gMSkgewogICAgICBmb3IgKHZhciB2YWwgPSAwOyB2YWwgPCBuOyArK3ZhbCkgewogICAgICAgIGlmIChsZW5ndGhzW3ZhbF0gPT09IGxlbikgewogICAgICAgICAgLy8gYml0LXJldmVyc2UgdGhlIGNvZGUKICAgICAgICAgIHZhciBjb2RlMiA9IDA7CiAgICAgICAgICB2YXIgdCA9IGNvZGU7CiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpIHsKICAgICAgICAgICAgY29kZTIgPSAoY29kZTIgPDwgMSkgfCAodCAmIDEpOwogICAgICAgICAgICB0ID4+PSAxOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIGZpbGwgdGhlIHRhYmxlIGVudHJpZXMKICAgICAgICAgIGZvciAoaSA9IGNvZGUyOyBpIDwgc2l6ZTsgaSArPSBza2lwKSB7CiAgICAgICAgICAgIGNvZGVzW2ldID0gKGxlbiA8PCAxNikgfCB2YWw7CiAgICAgICAgICB9CiAgICAgICAgICArK2NvZGU7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgcmV0dXJuIFtjb2RlcywgbWF4TGVuXTsKICB9OwoKICBGbGF0ZVN0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrID0gZnVuY3Rpb24gRmxhdGVTdHJlYW1fcmVhZEJsb2NrKCkgewogICAgdmFyIGJ1ZmZlciwgbGVuOwogICAgdmFyIHN0ciA9IHRoaXMuc3RyOwogICAgLy8gcmVhZCBibG9jayBoZWFkZXIKICAgIHZhciBoZHIgPSB0aGlzLmdldEJpdHMoMyk7CiAgICBpZiAoaGRyICYgMSkgewogICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICB9CiAgICBoZHIgPj49IDE7CgogICAgaWYgKGhkciA9PT0gMCkgeyAvLyB1bmNvbXByZXNzZWQgYmxvY2sKICAgICAgdmFyIGI7CgogICAgICBpZiAoKGIgPSBzdHIuZ2V0Qnl0ZSgpKSA9PT0gLTEpIHsKICAgICAgICBlcnJvcignQmFkIGJsb2NrIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW0nKTsKICAgICAgfQogICAgICB2YXIgYmxvY2tMZW4gPSBiOwogICAgICBpZiAoKGIgPSBzdHIuZ2V0Qnl0ZSgpKSA9PT0gLTEpIHsKICAgICAgICBlcnJvcignQmFkIGJsb2NrIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW0nKTsKICAgICAgfQogICAgICBibG9ja0xlbiB8PSAoYiA8PCA4KTsKICAgICAgaWYgKChiID0gc3RyLmdldEJ5dGUoKSkgPT09IC0xKSB7CiAgICAgICAgZXJyb3IoJ0JhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtJyk7CiAgICAgIH0KICAgICAgdmFyIGNoZWNrID0gYjsKICAgICAgaWYgKChiID0gc3RyLmdldEJ5dGUoKSkgPT09IC0xKSB7CiAgICAgICAgZXJyb3IoJ0JhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtJyk7CiAgICAgIH0KICAgICAgY2hlY2sgfD0gKGIgPDwgOCk7CiAgICAgIGlmIChjaGVjayAhPT0gKH5ibG9ja0xlbiAmIDB4ZmZmZikgJiYKICAgICAgICAgIChibG9ja0xlbiAhPT0gMCB8fCBjaGVjayAhPT0gMCkpIHsKICAgICAgICAvLyBJZ25vcmluZyBlcnJvciBmb3IgYmFkICJlbXB0eSIgYmxvY2sgKHNlZSBpc3N1ZSAxMjc3KQogICAgICAgIGVycm9yKCdCYWQgdW5jb21wcmVzc2VkIGJsb2NrIGxlbmd0aCBpbiBmbGF0ZSBzdHJlYW0nKTsKICAgICAgfQoKICAgICAgdGhpcy5jb2RlQnVmID0gMDsKICAgICAgdGhpcy5jb2RlU2l6ZSA9IDA7CgogICAgICB2YXIgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJMZW5ndGg7CiAgICAgIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKGJ1ZmZlckxlbmd0aCArIGJsb2NrTGVuKTsKICAgICAgdmFyIGVuZCA9IGJ1ZmZlckxlbmd0aCArIGJsb2NrTGVuOwogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGVuZDsKICAgICAgaWYgKGJsb2NrTGVuID09PSAwKSB7CiAgICAgICAgaWYgKHN0ci5wZWVrQnl0ZSgpID09PSAtMSkgewogICAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBmb3IgKHZhciBuID0gYnVmZmVyTGVuZ3RoOyBuIDwgZW5kOyArK24pIHsKICAgICAgICAgIGlmICgoYiA9IHN0ci5nZXRCeXRlKCkpID09PSAtMSkgewogICAgICAgICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgYnVmZmVyW25dID0gYjsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBsaXRDb2RlVGFibGU7CiAgICB2YXIgZGlzdENvZGVUYWJsZTsKICAgIGlmIChoZHIgPT09IDEpIHsgLy8gY29tcHJlc3NlZCBibG9jaywgZml4ZWQgY29kZXMKICAgICAgbGl0Q29kZVRhYmxlID0gZml4ZWRMaXRDb2RlVGFiOwogICAgICBkaXN0Q29kZVRhYmxlID0gZml4ZWREaXN0Q29kZVRhYjsKICAgIH0gZWxzZSBpZiAoaGRyID09PSAyKSB7IC8vIGNvbXByZXNzZWQgYmxvY2ssIGR5bmFtaWMgY29kZXMKICAgICAgdmFyIG51bUxpdENvZGVzID0gdGhpcy5nZXRCaXRzKDUpICsgMjU3OwogICAgICB2YXIgbnVtRGlzdENvZGVzID0gdGhpcy5nZXRCaXRzKDUpICsgMTsKICAgICAgdmFyIG51bUNvZGVMZW5Db2RlcyA9IHRoaXMuZ2V0Qml0cyg0KSArIDQ7CgogICAgICAvLyBidWlsZCB0aGUgY29kZSBsZW5ndGhzIGNvZGUgdGFibGUKICAgICAgdmFyIGNvZGVMZW5Db2RlTGVuZ3RocyA9IG5ldyBVaW50OEFycmF5KGNvZGVMZW5Db2RlTWFwLmxlbmd0aCk7CgogICAgICB2YXIgaTsKICAgICAgZm9yIChpID0gMDsgaSA8IG51bUNvZGVMZW5Db2RlczsgKytpKSB7CiAgICAgICAgY29kZUxlbkNvZGVMZW5ndGhzW2NvZGVMZW5Db2RlTWFwW2ldXSA9IHRoaXMuZ2V0Qml0cygzKTsKICAgICAgfQogICAgICB2YXIgY29kZUxlbkNvZGVUYWIgPSB0aGlzLmdlbmVyYXRlSHVmZm1hblRhYmxlKGNvZGVMZW5Db2RlTGVuZ3Rocyk7CgogICAgICAvLyBidWlsZCB0aGUgbGl0ZXJhbCBhbmQgZGlzdGFuY2UgY29kZSB0YWJsZXMKICAgICAgbGVuID0gMDsKICAgICAgaSA9IDA7CiAgICAgIHZhciBjb2RlcyA9IG51bUxpdENvZGVzICsgbnVtRGlzdENvZGVzOwogICAgICB2YXIgY29kZUxlbmd0aHMgPSBuZXcgVWludDhBcnJheShjb2Rlcyk7CiAgICAgIHZhciBiaXRzTGVuZ3RoLCBiaXRzT2Zmc2V0LCB3aGF0OwogICAgICB3aGlsZSAoaSA8IGNvZGVzKSB7CiAgICAgICAgdmFyIGNvZGUgPSB0aGlzLmdldENvZGUoY29kZUxlbkNvZGVUYWIpOwogICAgICAgIGlmIChjb2RlID09PSAxNikgewogICAgICAgICAgYml0c0xlbmd0aCA9IDI7IGJpdHNPZmZzZXQgPSAzOyB3aGF0ID0gbGVuOwogICAgICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gMTcpIHsKICAgICAgICAgIGJpdHNMZW5ndGggPSAzOyBiaXRzT2Zmc2V0ID0gMzsgd2hhdCA9IChsZW4gPSAwKTsKICAgICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IDE4KSB7CiAgICAgICAgICBiaXRzTGVuZ3RoID0gNzsgYml0c09mZnNldCA9IDExOyB3aGF0ID0gKGxlbiA9IDApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjb2RlTGVuZ3Roc1tpKytdID0gbGVuID0gY29kZTsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgdmFyIHJlcGVhdExlbmd0aCA9IHRoaXMuZ2V0Qml0cyhiaXRzTGVuZ3RoKSArIGJpdHNPZmZzZXQ7CiAgICAgICAgd2hpbGUgKHJlcGVhdExlbmd0aC0tID4gMCkgewogICAgICAgICAgY29kZUxlbmd0aHNbaSsrXSA9IHdoYXQ7CiAgICAgICAgfQogICAgICB9CgogICAgICBsaXRDb2RlVGFibGUgPQogICAgICAgIHRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUoY29kZUxlbmd0aHMuc3ViYXJyYXkoMCwgbnVtTGl0Q29kZXMpKTsKICAgICAgZGlzdENvZGVUYWJsZSA9CiAgICAgICAgdGhpcy5nZW5lcmF0ZUh1ZmZtYW5UYWJsZShjb2RlTGVuZ3Rocy5zdWJhcnJheShudW1MaXRDb2RlcywgY29kZXMpKTsKICAgIH0gZWxzZSB7CiAgICAgIGVycm9yKCdVbmtub3duIGJsb2NrIHR5cGUgaW4gZmxhdGUgc3RyZWFtJyk7CiAgICB9CgogICAgYnVmZmVyID0gdGhpcy5idWZmZXI7CiAgICB2YXIgbGltaXQgPSBidWZmZXIgPyBidWZmZXIubGVuZ3RoIDogMDsKICAgIHZhciBwb3MgPSB0aGlzLmJ1ZmZlckxlbmd0aDsKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgIHZhciBjb2RlMSA9IHRoaXMuZ2V0Q29kZShsaXRDb2RlVGFibGUpOwogICAgICBpZiAoY29kZTEgPCAyNTYpIHsKICAgICAgICBpZiAocG9zICsgMSA+PSBsaW1pdCkgewogICAgICAgICAgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIocG9zICsgMSk7CiAgICAgICAgICBsaW1pdCA9IGJ1ZmZlci5sZW5ndGg7CiAgICAgICAgfQogICAgICAgIGJ1ZmZlcltwb3MrK10gPSBjb2RlMTsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBpZiAoY29kZTEgPT09IDI1NikgewogICAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gcG9zOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBjb2RlMSAtPSAyNTc7CiAgICAgIGNvZGUxID0gbGVuZ3RoRGVjb2RlW2NvZGUxXTsKICAgICAgdmFyIGNvZGUyID0gY29kZTEgPj4gMTY7CiAgICAgIGlmIChjb2RlMiA+IDApIHsKICAgICAgICBjb2RlMiA9IHRoaXMuZ2V0Qml0cyhjb2RlMik7CiAgICAgIH0KICAgICAgbGVuID0gKGNvZGUxICYgMHhmZmZmKSArIGNvZGUyOwogICAgICBjb2RlMSA9IHRoaXMuZ2V0Q29kZShkaXN0Q29kZVRhYmxlKTsKICAgICAgY29kZTEgPSBkaXN0RGVjb2RlW2NvZGUxXTsKICAgICAgY29kZTIgPSBjb2RlMSA+PiAxNjsKICAgICAgaWYgKGNvZGUyID4gMCkgewogICAgICAgIGNvZGUyID0gdGhpcy5nZXRCaXRzKGNvZGUyKTsKICAgICAgfQogICAgICB2YXIgZGlzdCA9IChjb2RlMSAmIDB4ZmZmZikgKyBjb2RlMjsKICAgICAgaWYgKHBvcyArIGxlbiA+PSBsaW1pdCkgewogICAgICAgIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKHBvcyArIGxlbik7CiAgICAgICAgbGltaXQgPSBidWZmZXIubGVuZ3RoOwogICAgICB9CiAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgbGVuOyArK2ssICsrcG9zKSB7CiAgICAgICAgYnVmZmVyW3Bvc10gPSBidWZmZXJbcG9zIC0gZGlzdF07CiAgICAgIH0KICAgIH0KICB9OwoKICByZXR1cm4gRmxhdGVTdHJlYW07Cn0pKCk7Cgp2YXIgUHJlZGljdG9yU3RyZWFtID0gKGZ1bmN0aW9uIFByZWRpY3RvclN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gUHJlZGljdG9yU3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgsIHBhcmFtcykgewogICAgdmFyIHByZWRpY3RvciA9IHRoaXMucHJlZGljdG9yID0gcGFyYW1zLmdldCgnUHJlZGljdG9yJykgfHwgMTsKCiAgICBpZiAocHJlZGljdG9yIDw9IDEpIHsKICAgICAgcmV0dXJuIHN0cjsgLy8gbm8gcHJlZGljdGlvbgogICAgfQogICAgaWYgKHByZWRpY3RvciAhPT0gMiAmJiAocHJlZGljdG9yIDwgMTAgfHwgcHJlZGljdG9yID4gMTUpKSB7CiAgICAgIGVycm9yKCdVbnN1cHBvcnRlZCBwcmVkaWN0b3I6ICcgKyBwcmVkaWN0b3IpOwogICAgfQoKICAgIGlmIChwcmVkaWN0b3IgPT09IDIpIHsKICAgICAgdGhpcy5yZWFkQmxvY2sgPSB0aGlzLnJlYWRCbG9ja1RpZmY7CiAgICB9IGVsc2UgewogICAgICB0aGlzLnJlYWRCbG9jayA9IHRoaXMucmVhZEJsb2NrUG5nOwogICAgfQoKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CgogICAgdmFyIGNvbG9ycyA9IHRoaXMuY29sb3JzID0gcGFyYW1zLmdldCgnQ29sb3JzJykgfHwgMTsKICAgIHZhciBiaXRzID0gdGhpcy5iaXRzID0gcGFyYW1zLmdldCgnQml0c1BlckNvbXBvbmVudCcpIHx8IDg7CiAgICB2YXIgY29sdW1ucyA9IHRoaXMuY29sdW1ucyA9IHBhcmFtcy5nZXQoJ0NvbHVtbnMnKSB8fCAxOwoKICAgIHRoaXMucGl4Qnl0ZXMgPSAoY29sb3JzICogYml0cyArIDcpID4+IDM7CiAgICB0aGlzLnJvd0J5dGVzID0gKGNvbHVtbnMgKiBjb2xvcnMgKiBiaXRzICsgNykgPj4gMzsKCiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIFByZWRpY3RvclN0cmVhbS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKERlY29kZVN0cmVhbS5wcm90b3R5cGUpOwoKICBQcmVkaWN0b3JTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9ja1RpZmYgPQogICAgICBmdW5jdGlvbiBwcmVkaWN0b3JTdHJlYW1SZWFkQmxvY2tUaWZmKCkgewogICAgdmFyIHJvd0J5dGVzID0gdGhpcy5yb3dCeXRlczsKCiAgICB2YXIgYnVmZmVyTGVuZ3RoID0gdGhpcy5idWZmZXJMZW5ndGg7CiAgICB2YXIgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIoYnVmZmVyTGVuZ3RoICsgcm93Qnl0ZXMpOwoKICAgIHZhciBiaXRzID0gdGhpcy5iaXRzOwogICAgdmFyIGNvbG9ycyA9IHRoaXMuY29sb3JzOwoKICAgIHZhciByYXdCeXRlcyA9IHRoaXMuc3RyLmdldEJ5dGVzKHJvd0J5dGVzKTsKICAgIHRoaXMuZW9mID0gIXJhd0J5dGVzLmxlbmd0aDsKICAgIGlmICh0aGlzLmVvZikgewogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIGluYnVmID0gMCwgb3V0YnVmID0gMDsKICAgIHZhciBpbmJpdHMgPSAwLCBvdXRiaXRzID0gMDsKICAgIHZhciBwb3MgPSBidWZmZXJMZW5ndGg7CiAgICB2YXIgaTsKCiAgICBpZiAoYml0cyA9PT0gMSkgewogICAgICBmb3IgKGkgPSAwOyBpIDwgcm93Qnl0ZXM7ICsraSkgewogICAgICAgIHZhciBjID0gcmF3Qnl0ZXNbaV07CiAgICAgICAgaW5idWYgPSAoaW5idWYgPDwgOCkgfCBjOwogICAgICAgIC8vIGJpdHdpc2UgYWRkaXRpb24gaXMgZXhjbHVzaXZlIG9yCiAgICAgICAgLy8gZmlyc3Qgc2hpZnQgaW5idWYgYW5kIHRoZW4gYWRkCiAgICAgICAgYnVmZmVyW3BvcysrXSA9IChjIF4gKGluYnVmID4+IGNvbG9ycykpICYgMHhGRjsKICAgICAgICAvLyB0cnVuY2F0ZSBpbmJ1ZiAoYXNzdW1lcyBjb2xvcnMgPCAxNikKICAgICAgICBpbmJ1ZiAmPSAweEZGRkY7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoYml0cyA9PT0gOCkgewogICAgICBmb3IgKGkgPSAwOyBpIDwgY29sb3JzOyArK2kpIHsKICAgICAgICBidWZmZXJbcG9zKytdID0gcmF3Qnl0ZXNbaV07CiAgICAgIH0KICAgICAgZm9yICg7IGkgPCByb3dCeXRlczsgKytpKSB7CiAgICAgICAgYnVmZmVyW3Bvc10gPSBidWZmZXJbcG9zIC0gY29sb3JzXSArIHJhd0J5dGVzW2ldOwogICAgICAgIHBvcysrOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICB2YXIgY29tcEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoY29sb3JzICsgMSk7CiAgICAgIHZhciBiaXRNYXNrID0gKDEgPDwgYml0cykgLSAxOwogICAgICB2YXIgaiA9IDAsIGsgPSBidWZmZXJMZW5ndGg7CiAgICAgIHZhciBjb2x1bW5zID0gdGhpcy5jb2x1bW5zOwogICAgICBmb3IgKGkgPSAwOyBpIDwgY29sdW1uczsgKytpKSB7CiAgICAgICAgZm9yICh2YXIga2sgPSAwOyBrayA8IGNvbG9yczsgKytraykgewogICAgICAgICAgaWYgKGluYml0cyA8IGJpdHMpIHsKICAgICAgICAgICAgaW5idWYgPSAoaW5idWYgPDwgOCkgfCAocmF3Qnl0ZXNbaisrXSAmIDB4RkYpOwogICAgICAgICAgICBpbmJpdHMgKz0gODsKICAgICAgICAgIH0KICAgICAgICAgIGNvbXBBcnJheVtra10gPSAoY29tcEFycmF5W2trXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmJ1ZiA+PiAoaW5iaXRzIC0gYml0cykpKSAmIGJpdE1hc2s7CiAgICAgICAgICBpbmJpdHMgLT0gYml0czsKICAgICAgICAgIG91dGJ1ZiA9IChvdXRidWYgPDwgYml0cykgfCBjb21wQXJyYXlba2tdOwogICAgICAgICAgb3V0Yml0cyArPSBiaXRzOwogICAgICAgICAgaWYgKG91dGJpdHMgPj0gOCkgewogICAgICAgICAgICBidWZmZXJbaysrXSA9IChvdXRidWYgPj4gKG91dGJpdHMgLSA4KSkgJiAweEZGOwogICAgICAgICAgICBvdXRiaXRzIC09IDg7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChvdXRiaXRzID4gMCkgewogICAgICAgIGJ1ZmZlcltrKytdID0gKG91dGJ1ZiA8PCAoOCAtIG91dGJpdHMpKSArCiAgICAgICAgICAgICAgICAgICAgICAoaW5idWYgJiAoKDEgPDwgKDggLSBvdXRiaXRzKSkgLSAxKSk7CiAgICAgIH0KICAgIH0KICAgIHRoaXMuYnVmZmVyTGVuZ3RoICs9IHJvd0J5dGVzOwogIH07CgogIFByZWRpY3RvclN0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrUG5nID0KICAgICAgZnVuY3Rpb24gcHJlZGljdG9yU3RyZWFtUmVhZEJsb2NrUG5nKCkgewoKICAgIHZhciByb3dCeXRlcyA9IHRoaXMucm93Qnl0ZXM7CiAgICB2YXIgcGl4Qnl0ZXMgPSB0aGlzLnBpeEJ5dGVzOwoKICAgIHZhciBwcmVkaWN0b3IgPSB0aGlzLnN0ci5nZXRCeXRlKCk7CiAgICB2YXIgcmF3Qnl0ZXMgPSB0aGlzLnN0ci5nZXRCeXRlcyhyb3dCeXRlcyk7CiAgICB0aGlzLmVvZiA9ICFyYXdCeXRlcy5sZW5ndGg7CiAgICBpZiAodGhpcy5lb2YpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlckxlbmd0aDsKICAgIHZhciBidWZmZXIgPSB0aGlzLmVuc3VyZUJ1ZmZlcihidWZmZXJMZW5ndGggKyByb3dCeXRlcyk7CgogICAgdmFyIHByZXZSb3cgPSBidWZmZXIuc3ViYXJyYXkoYnVmZmVyTGVuZ3RoIC0gcm93Qnl0ZXMsIGJ1ZmZlckxlbmd0aCk7CiAgICBpZiAocHJldlJvdy5sZW5ndGggPT09IDApIHsKICAgICAgcHJldlJvdyA9IG5ldyBVaW50OEFycmF5KHJvd0J5dGVzKTsKICAgIH0KCiAgICB2YXIgaSwgaiA9IGJ1ZmZlckxlbmd0aCwgdXAsIGM7CiAgICBzd2l0Y2ggKHByZWRpY3RvcikgewogICAgICBjYXNlIDA6CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHJvd0J5dGVzOyArK2kpIHsKICAgICAgICAgIGJ1ZmZlcltqKytdID0gcmF3Qnl0ZXNbaV07CiAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDE6CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHBpeEJ5dGVzOyArK2kpIHsKICAgICAgICAgIGJ1ZmZlcltqKytdID0gcmF3Qnl0ZXNbaV07CiAgICAgICAgfQogICAgICAgIGZvciAoOyBpIDwgcm93Qnl0ZXM7ICsraSkgewogICAgICAgICAgYnVmZmVyW2pdID0gKGJ1ZmZlcltqIC0gcGl4Qnl0ZXNdICsgcmF3Qnl0ZXNbaV0pICYgMHhGRjsKICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgMjoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcm93Qnl0ZXM7ICsraSkgewogICAgICAgICAgYnVmZmVyW2orK10gPSAocHJldlJvd1tpXSArIHJhd0J5dGVzW2ldKSAmIDB4RkY7CiAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDM6CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHBpeEJ5dGVzOyArK2kpIHsKICAgICAgICAgIGJ1ZmZlcltqKytdID0gKHByZXZSb3dbaV0gPj4gMSkgKyByYXdCeXRlc1tpXTsKICAgICAgICB9CiAgICAgICAgZm9yICg7IGkgPCByb3dCeXRlczsgKytpKSB7CiAgICAgICAgICBidWZmZXJbal0gPSAoKChwcmV2Um93W2ldICsgYnVmZmVyW2ogLSBwaXhCeXRlc10pID4+IDEpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3Qnl0ZXNbaV0pICYgMHhGRjsKICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDoKICAgICAgICAvLyB3ZSBuZWVkIHRvIHNhdmUgdGhlIHVwIGxlZnQgcGl4ZWxzIHZhbHVlcy4gdGhlIHNpbXBsZXN0IHdheQogICAgICAgIC8vIGlzIHRvIGNyZWF0ZSBhIG5ldyBidWZmZXIKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGl4Qnl0ZXM7ICsraSkgewogICAgICAgICAgdXAgPSBwcmV2Um93W2ldOwogICAgICAgICAgYyA9IHJhd0J5dGVzW2ldOwogICAgICAgICAgYnVmZmVyW2orK10gPSB1cCArIGM7CiAgICAgICAgfQogICAgICAgIGZvciAoOyBpIDwgcm93Qnl0ZXM7ICsraSkgewogICAgICAgICAgdXAgPSBwcmV2Um93W2ldOwogICAgICAgICAgdmFyIHVwTGVmdCA9IHByZXZSb3dbaSAtIHBpeEJ5dGVzXTsKICAgICAgICAgIHZhciBsZWZ0ID0gYnVmZmVyW2ogLSBwaXhCeXRlc107CiAgICAgICAgICB2YXIgcCA9IGxlZnQgKyB1cCAtIHVwTGVmdDsKCiAgICAgICAgICB2YXIgcGEgPSBwIC0gbGVmdDsKICAgICAgICAgIGlmIChwYSA8IDApIHsKICAgICAgICAgICAgcGEgPSAtcGE7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgcGIgPSBwIC0gdXA7CiAgICAgICAgICBpZiAocGIgPCAwKSB7CiAgICAgICAgICAgIHBiID0gLXBiOwogICAgICAgICAgfQogICAgICAgICAgdmFyIHBjID0gcCAtIHVwTGVmdDsKICAgICAgICAgIGlmIChwYyA8IDApIHsKICAgICAgICAgICAgcGMgPSAtcGM7CiAgICAgICAgICB9CgogICAgICAgICAgYyA9IHJhd0J5dGVzW2ldOwogICAgICAgICAgaWYgKHBhIDw9IHBiICYmIHBhIDw9IHBjKSB7CiAgICAgICAgICAgIGJ1ZmZlcltqKytdID0gbGVmdCArIGM7CiAgICAgICAgICB9IGVsc2UgaWYgKHBiIDw9IHBjKSB7CiAgICAgICAgICAgIGJ1ZmZlcltqKytdID0gdXAgKyBjOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYnVmZmVyW2orK10gPSB1cExlZnQgKyBjOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBicmVhazsKICAgICAgZGVmYXVsdDoKICAgICAgICBlcnJvcignVW5zdXBwb3J0ZWQgcHJlZGljdG9yOiAnICsgcHJlZGljdG9yKTsKICAgIH0KICAgIHRoaXMuYnVmZmVyTGVuZ3RoICs9IHJvd0J5dGVzOwogIH07CgogIHJldHVybiBQcmVkaWN0b3JTdHJlYW07Cn0pKCk7CgovKioKICogRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIEpQRUcgYSBKcGVnU3RyZWFtIGlzIGhhbmRsZWQgaW4gZGlmZmVyZW50IHdheXMuIEZvcgogKiBKUEVHJ3MgdGhhdCBhcmUgc3VwcG9ydGVkIG5hdGl2ZWx5IHN1Y2ggYXMgRGV2aWNlR3JheSBhbmQgRGV2aWNlUkdCIHRoZSBpbWFnZQogKiBkYXRhIGlzIHN0b3JlZCBhbmQgdGhlbiBsb2FkZWQgYnkgdGhlIGJyb3dzZXIuICBGb3IgdW5zdXBwb3J0ZWQgSlBFRydzIHdlIHVzZQogKiBhIGxpYnJhcnkgdG8gZGVjb2RlIHRoZXNlIGltYWdlcyBhbmQgdGhlIHN0cmVhbSBiZWhhdmVzIGxpa2UgYWxsIHRoZSBvdGhlcgogKiBEZWNvZGVTdHJlYW1zLgogKi8KdmFyIEpwZWdTdHJlYW0gPSAoZnVuY3Rpb24gSnBlZ1N0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gSnBlZ1N0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBkaWN0LCB4cmVmKSB7CiAgICAvLyBTb21lIGltYWdlcyBtYXkgY29udGFpbiAnanVuaycgYmVmb3JlIHRoZSBTT0kgKHN0YXJ0LW9mLWltYWdlKSBtYXJrZXIuCiAgICAvLyBOb3RlOiB0aGlzIHNlZW1zIHRvIG1haW5seSBhZmZlY3QgaW5saW5lIGltYWdlcy4KICAgIHZhciBjaDsKICAgIHdoaWxlICgoY2ggPSBzdHJlYW0uZ2V0Qnl0ZSgpKSAhPT0gLTEpIHsKICAgICAgaWYgKGNoID09PSAweEZGKSB7IC8vIEZpbmQgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIFNPSSBtYXJrZXIgKDB4RkZEOCkuCiAgICAgICAgc3RyZWFtLnNraXAoLTEpOyAvLyBSZXNldCB0aGUgc3RyZWFtIHBvc2l0aW9uIHRvIHRoZSBTT0kuCiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KICAgIHRoaXMuc3RyZWFtID0gc3RyZWFtOwogICAgdGhpcy5tYXliZUxlbmd0aCA9IG1heWJlTGVuZ3RoOwogICAgdGhpcy5kaWN0ID0gZGljdDsKCiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgfQoKICBKcGVnU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShKcGVnU3RyZWFtLnByb3RvdHlwZSwgJ2J5dGVzJywgewogICAgZ2V0OiBmdW5jdGlvbiBKcGVnU3RyZWFtX2J5dGVzKCkgewogICAgICAvLyBJZiB0aGlzLm1heWJlTGVuZ3RoIGlzIG51bGwsIHdlJ2xsIGdldCB0aGUgZW50aXJlIHN0cmVhbS4KICAgICAgcmV0dXJuIHNoYWRvdyh0aGlzLCAnYnl0ZXMnLCB0aGlzLnN0cmVhbS5nZXRCeXRlcyh0aGlzLm1heWJlTGVuZ3RoKSk7CiAgICB9LAogICAgY29uZmlndXJhYmxlOiB0cnVlCiAgfSk7CgogIEpwZWdTdHJlYW0ucHJvdG90eXBlLmVuc3VyZUJ1ZmZlciA9IGZ1bmN0aW9uIEpwZWdTdHJlYW1fZW5zdXJlQnVmZmVyKHJlcSkgewogICAgaWYgKHRoaXMuYnVmZmVyTGVuZ3RoKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHRyeSB7CiAgICAgIHZhciBqcGVnSW1hZ2UgPSBuZXcgSnBlZ0ltYWdlKCk7CgogICAgICAvLyBjaGVja2luZyBpZiB2YWx1ZXMgbmVlZHMgdG8gYmUgdHJhbnNmb3JtZWQgYmVmb3JlIGNvbnZlcnNpb24KICAgICAgaWYgKHRoaXMuZm9yY2VSR0IgJiYgdGhpcy5kaWN0ICYmIGlzQXJyYXkodGhpcy5kaWN0LmdldCgnRGVjb2RlJykpKSB7CiAgICAgICAgdmFyIGRlY29kZUFyciA9IHRoaXMuZGljdC5nZXQoJ0RlY29kZScpOwogICAgICAgIHZhciBiaXRzUGVyQ29tcG9uZW50ID0gdGhpcy5kaWN0LmdldCgnQml0c1BlckNvbXBvbmVudCcpIHx8IDg7CiAgICAgICAgdmFyIGRlY29kZUFyckxlbmd0aCA9IGRlY29kZUFyci5sZW5ndGg7CiAgICAgICAgdmFyIHRyYW5zZm9ybSA9IG5ldyBJbnQzMkFycmF5KGRlY29kZUFyckxlbmd0aCk7CiAgICAgICAgdmFyIHRyYW5zZm9ybU5lZWRlZCA9IGZhbHNlOwogICAgICAgIHZhciBtYXhWYWx1ZSA9ICgxIDw8IGJpdHNQZXJDb21wb25lbnQpIC0gMTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlY29kZUFyckxlbmd0aDsgaSArPSAyKSB7CiAgICAgICAgICB0cmFuc2Zvcm1baV0gPSAoKGRlY29kZUFycltpICsgMV0gLSBkZWNvZGVBcnJbaV0pICogMjU2KSB8IDA7CiAgICAgICAgICB0cmFuc2Zvcm1baSArIDFdID0gKGRlY29kZUFycltpXSAqIG1heFZhbHVlKSB8IDA7CiAgICAgICAgICBpZiAodHJhbnNmb3JtW2ldICE9PSAyNTYgfHwgdHJhbnNmb3JtW2kgKyAxXSAhPT0gMCkgewogICAgICAgICAgICB0cmFuc2Zvcm1OZWVkZWQgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAodHJhbnNmb3JtTmVlZGVkKSB7CiAgICAgICAgICBqcGVnSW1hZ2UuZGVjb2RlVHJhbnNmb3JtID0gdHJhbnNmb3JtOwogICAgICAgIH0KICAgICAgfQoKICAgICAganBlZ0ltYWdlLnBhcnNlKHRoaXMuYnl0ZXMpOwogICAgICB2YXIgZGF0YSA9IGpwZWdJbWFnZS5nZXREYXRhKHRoaXMuZHJhd1dpZHRoLCB0aGlzLmRyYXdIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JjZVJHQik7CiAgICAgIHRoaXMuYnVmZmVyID0gZGF0YTsKICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSBkYXRhLmxlbmd0aDsKICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgfSBjYXRjaCAoZSkgewogICAgICBlcnJvcignSlBFRyBlcnJvcjogJyArIGUpOwogICAgfQogIH07CgogIEpwZWdTdHJlYW0ucHJvdG90eXBlLmdldEJ5dGVzID0gZnVuY3Rpb24gSnBlZ1N0cmVhbV9nZXRCeXRlcyhsZW5ndGgpIHsKICAgIHRoaXMuZW5zdXJlQnVmZmVyKCk7CiAgICByZXR1cm4gdGhpcy5idWZmZXI7CiAgfTsKCiAgSnBlZ1N0cmVhbS5wcm90b3R5cGUuZ2V0SVIgPSBmdW5jdGlvbiBKcGVnU3RyZWFtX2dldElSKCkgewogICAgcmV0dXJuIFBERkpTLmNyZWF0ZU9iamVjdFVSTCh0aGlzLmJ5dGVzLCAnaW1hZ2UvanBlZycpOwogIH07CiAgLyoqCiAgICogQ2hlY2tzIGlmIHRoZSBpbWFnZSBjYW4gYmUgZGVjb2RlZCBhbmQgZGlzcGxheWVkIGJ5IHRoZSBicm93c2VyIHdpdGhvdXQgYW55CiAgICogZnVydGhlciBwcm9jZXNzaW5nIHN1Y2ggYXMgY29sb3Igc3BhY2UgY29udmVyc2lvbnMuCiAgICovCiAgSnBlZ1N0cmVhbS5wcm90b3R5cGUuaXNOYXRpdmVseVN1cHBvcnRlZCA9CiAgICAgIGZ1bmN0aW9uIEpwZWdTdHJlYW1faXNOYXRpdmVseVN1cHBvcnRlZCh4cmVmLCByZXMpIHsKICAgIHZhciBjcyA9IENvbG9yU3BhY2UucGFyc2UodGhpcy5kaWN0LmdldCgnQ29sb3JTcGFjZScsICdDUycpLCB4cmVmLCByZXMpOwogICAgcmV0dXJuIGNzLm5hbWUgPT09ICdEZXZpY2VHcmF5JyB8fCBjcy5uYW1lID09PSAnRGV2aWNlUkdCJzsKICB9OwogIC8qKgogICAqIENoZWNrcyBpZiB0aGUgaW1hZ2UgY2FuIGJlIGRlY29kZWQgYnkgdGhlIGJyb3dzZXIuCiAgICovCiAgSnBlZ1N0cmVhbS5wcm90b3R5cGUuaXNOYXRpdmVseURlY29kYWJsZSA9CiAgICAgIGZ1bmN0aW9uIEpwZWdTdHJlYW1faXNOYXRpdmVseURlY29kYWJsZSh4cmVmLCByZXMpIHsKICAgIHZhciBjcyA9IENvbG9yU3BhY2UucGFyc2UodGhpcy5kaWN0LmdldCgnQ29sb3JTcGFjZScsICdDUycpLCB4cmVmLCByZXMpOwogICAgdmFyIG51bUNvbXBzID0gY3MubnVtQ29tcHM7CiAgICByZXR1cm4gbnVtQ29tcHMgPT09IDEgfHwgbnVtQ29tcHMgPT09IDM7CiAgfTsKCiAgcmV0dXJuIEpwZWdTdHJlYW07Cn0pKCk7CgovKioKICogRm9yIEpQRUcgMjAwMCdzIHdlIHVzZSBhIGxpYnJhcnkgdG8gZGVjb2RlIHRoZXNlIGltYWdlcyBhbmQKICogdGhlIHN0cmVhbSBiZWhhdmVzIGxpa2UgYWxsIHRoZSBvdGhlciBEZWNvZGVTdHJlYW1zLgogKi8KdmFyIEpweFN0cmVhbSA9IChmdW5jdGlvbiBKcHhTdHJlYW1DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEpweFN0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBkaWN0KSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMubWF5YmVMZW5ndGggPSBtYXliZUxlbmd0aDsKICAgIHRoaXMuZGljdCA9IGRpY3Q7CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgSnB4U3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShKcHhTdHJlYW0ucHJvdG90eXBlLCAnYnl0ZXMnLCB7CiAgICBnZXQ6IGZ1bmN0aW9uIEpweFN0cmVhbV9ieXRlcygpIHsKICAgICAgLy8gSWYgdGhpcy5tYXliZUxlbmd0aCBpcyBudWxsLCB3ZSdsbCBnZXQgdGhlIGVudGlyZSBzdHJlYW0uCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2J5dGVzJywgdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpOwogICAgfSwKICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogIH0pOwoKICBKcHhTdHJlYW0ucHJvdG90eXBlLmVuc3VyZUJ1ZmZlciA9IGZ1bmN0aW9uIEpweFN0cmVhbV9lbnN1cmVCdWZmZXIocmVxKSB7CiAgICBpZiAodGhpcy5idWZmZXJMZW5ndGgpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBqcHhJbWFnZSA9IG5ldyBKcHhJbWFnZSgpOwogICAganB4SW1hZ2UucGFyc2UodGhpcy5ieXRlcyk7CgogICAgdmFyIHdpZHRoID0ganB4SW1hZ2Uud2lkdGg7CiAgICB2YXIgaGVpZ2h0ID0ganB4SW1hZ2UuaGVpZ2h0OwogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IGpweEltYWdlLmNvbXBvbmVudHNDb3VudDsKICAgIHZhciB0aWxlQ291bnQgPSBqcHhJbWFnZS50aWxlcy5sZW5ndGg7CiAgICBpZiAodGlsZUNvdW50ID09PSAxKSB7CiAgICAgIHRoaXMuYnVmZmVyID0ganB4SW1hZ2UudGlsZXNbMF0uaXRlbXM7CiAgICB9IGVsc2UgewogICAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICogY29tcG9uZW50c0NvdW50KTsKCiAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgdGlsZUNvdW50OyBrKyspIHsKICAgICAgICB2YXIgdGlsZUNvbXBvbmVudHMgPSBqcHhJbWFnZS50aWxlc1trXTsKICAgICAgICB2YXIgdGlsZVdpZHRoID0gdGlsZUNvbXBvbmVudHMud2lkdGg7CiAgICAgICAgdmFyIHRpbGVIZWlnaHQgPSB0aWxlQ29tcG9uZW50cy5oZWlnaHQ7CiAgICAgICAgdmFyIHRpbGVMZWZ0ID0gdGlsZUNvbXBvbmVudHMubGVmdDsKICAgICAgICB2YXIgdGlsZVRvcCA9IHRpbGVDb21wb25lbnRzLnRvcDsKCiAgICAgICAgdmFyIHNyYyA9IHRpbGVDb21wb25lbnRzLml0ZW1zOwogICAgICAgIHZhciBzcmNQb3NpdGlvbiA9IDA7CiAgICAgICAgdmFyIGRhdGFQb3NpdGlvbiA9ICh3aWR0aCAqIHRpbGVUb3AgKyB0aWxlTGVmdCkgKiBjb21wb25lbnRzQ291bnQ7CiAgICAgICAgdmFyIGltZ1Jvd1NpemUgPSB3aWR0aCAqIGNvbXBvbmVudHNDb3VudDsKICAgICAgICB2YXIgdGlsZVJvd1NpemUgPSB0aWxlV2lkdGggKiBjb21wb25lbnRzQ291bnQ7CgogICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGlsZUhlaWdodDsgaisrKSB7CiAgICAgICAgICB2YXIgcm93Qnl0ZXMgPSBzcmMuc3ViYXJyYXkoc3JjUG9zaXRpb24sIHNyY1Bvc2l0aW9uICsgdGlsZVJvd1NpemUpOwogICAgICAgICAgZGF0YS5zZXQocm93Qnl0ZXMsIGRhdGFQb3NpdGlvbik7CiAgICAgICAgICBzcmNQb3NpdGlvbiArPSB0aWxlUm93U2l6ZTsKICAgICAgICAgIGRhdGFQb3NpdGlvbiArPSBpbWdSb3dTaXplOwogICAgICAgIH0KICAgICAgfQogICAgICB0aGlzLmJ1ZmZlciA9IGRhdGE7CiAgICB9CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyLmxlbmd0aDsKICAgIHRoaXMuZW9mID0gdHJ1ZTsKICB9OwoKICByZXR1cm4gSnB4U3RyZWFtOwp9KSgpOwoKLyoqCiAqIEZvciBKQklHMidzIHdlIHVzZSBhIGxpYnJhcnkgdG8gZGVjb2RlIHRoZXNlIGltYWdlcyBhbmQKICogdGhlIHN0cmVhbSBiZWhhdmVzIGxpa2UgYWxsIHRoZSBvdGhlciBEZWNvZGVTdHJlYW1zLgogKi8KdmFyIEpiaWcyU3RyZWFtID0gKGZ1bmN0aW9uIEpiaWcyU3RyZWFtQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBKYmlnMlN0cmVhbShzdHJlYW0sIG1heWJlTGVuZ3RoLCBkaWN0KSB7CiAgICB0aGlzLnN0cmVhbSA9IHN0cmVhbTsKICAgIHRoaXMubWF5YmVMZW5ndGggPSBtYXliZUxlbmd0aDsKICAgIHRoaXMuZGljdCA9IGRpY3Q7CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgSmJpZzJTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShEZWNvZGVTdHJlYW0ucHJvdG90eXBlKTsKCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpiaWcyU3RyZWFtLnByb3RvdHlwZSwgJ2J5dGVzJywgewogICAgZ2V0OiBmdW5jdGlvbiBKYmlnMlN0cmVhbV9ieXRlcygpIHsKICAgICAgLy8gSWYgdGhpcy5tYXliZUxlbmd0aCBpcyBudWxsLCB3ZSdsbCBnZXQgdGhlIGVudGlyZSBzdHJlYW0uCiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2J5dGVzJywgdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpOwogICAgfSwKICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogIH0pOwoKICBKYmlnMlN0cmVhbS5wcm90b3R5cGUuZW5zdXJlQnVmZmVyID0gZnVuY3Rpb24gSmJpZzJTdHJlYW1fZW5zdXJlQnVmZmVyKHJlcSkgewogICAgaWYgKHRoaXMuYnVmZmVyTGVuZ3RoKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgamJpZzJJbWFnZSA9IG5ldyBKYmlnMkltYWdlKCk7CgogICAgdmFyIGNodW5rcyA9IFtdLCB4cmVmID0gdGhpcy5kaWN0LnhyZWY7CiAgICB2YXIgZGVjb2RlUGFyYW1zID0geHJlZi5mZXRjaElmUmVmKHRoaXMuZGljdC5nZXQoJ0RlY29kZVBhcm1zJykpOwoKICAgIC8vIEFjY29yZGluZyB0byB0aGUgUERGIHNwZWNpZmljYXRpb24sIERlY29kZVBhcm1zIGNhbiBiZSBlaXRoZXIKICAgIC8vIGEgZGljdGlvbmFyeSwgb3IgYW4gYXJyYXkgd2hvc2UgZWxlbWVudHMgYXJlIGRpY3Rpb25hcmllcy4KICAgIGlmIChpc0FycmF5KGRlY29kZVBhcmFtcykpIHsKICAgICAgaWYgKGRlY29kZVBhcmFtcy5sZW5ndGggPiAxKSB7CiAgICAgICAgd2FybignSkJJRzIgLSBcJ0RlY29kZVBhcm1zXCcgYXJyYXkgd2l0aCBtdWx0aXBsZSBlbGVtZW50cyAnICsKICAgICAgICAgICAgICdub3Qgc3VwcG9ydGVkLicpOwogICAgICB9CiAgICAgIGRlY29kZVBhcmFtcyA9IHhyZWYuZmV0Y2hJZlJlZihkZWNvZGVQYXJhbXNbMF0pOwogICAgfQogICAgaWYgKGRlY29kZVBhcmFtcyAmJiBkZWNvZGVQYXJhbXMuaGFzKCdKQklHMkdsb2JhbHMnKSkgewogICAgICB2YXIgZ2xvYmFsc1N0cmVhbSA9IGRlY29kZVBhcmFtcy5nZXQoJ0pCSUcyR2xvYmFscycpOwogICAgICB2YXIgZ2xvYmFscyA9IGdsb2JhbHNTdHJlYW0uZ2V0Qnl0ZXMoKTsKICAgICAgY2h1bmtzLnB1c2goe2RhdGE6IGdsb2JhbHMsIHN0YXJ0OiAwLCBlbmQ6IGdsb2JhbHMubGVuZ3RofSk7CiAgICB9CiAgICBjaHVua3MucHVzaCh7ZGF0YTogdGhpcy5ieXRlcywgc3RhcnQ6IDAsIGVuZDogdGhpcy5ieXRlcy5sZW5ndGh9KTsKICAgIHZhciBkYXRhID0gamJpZzJJbWFnZS5wYXJzZUNodW5rcyhjaHVua3MpOwogICAgdmFyIGRhdGFMZW5ndGggPSBkYXRhLmxlbmd0aDsKCiAgICAvLyBKQklHMiBoYWQgYmxhY2sgYXMgMSBhbmQgd2hpdGUgYXMgMCwgaW52ZXJ0aW5nIHRoZSBjb2xvcnMKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YUxlbmd0aDsgaSsrKSB7CiAgICAgIGRhdGFbaV0gXj0gMHhGRjsKICAgIH0KCiAgICB0aGlzLmJ1ZmZlciA9IGRhdGE7CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGRhdGFMZW5ndGg7CiAgICB0aGlzLmVvZiA9IHRydWU7CiAgfTsKCiAgcmV0dXJuIEpiaWcyU3RyZWFtOwp9KSgpOwoKdmFyIERlY3J5cHRTdHJlYW0gPSAoZnVuY3Rpb24gRGVjcnlwdFN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gRGVjcnlwdFN0cmVhbShzdHIsIG1heWJlTGVuZ3RoLCBkZWNyeXB0KSB7CiAgICB0aGlzLnN0ciA9IHN0cjsKICAgIHRoaXMuZGljdCA9IHN0ci5kaWN0OwogICAgdGhpcy5kZWNyeXB0ID0gZGVjcnlwdDsKICAgIHRoaXMubmV4dENodW5rID0gbnVsbDsKICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTsKCiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgfQoKICB2YXIgY2h1bmtTaXplID0gNTEyOwoKICBEZWNyeXB0U3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIERlY3J5cHRTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9jayA9IGZ1bmN0aW9uIERlY3J5cHRTdHJlYW1fcmVhZEJsb2NrKCkgewogICAgdmFyIGNodW5rOwogICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHsKICAgICAgY2h1bmsgPSB0aGlzLm5leHRDaHVuazsKICAgIH0gZWxzZSB7CiAgICAgIGNodW5rID0gdGhpcy5zdHIuZ2V0Qnl0ZXMoY2h1bmtTaXplKTsKICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7CiAgICB9CiAgICBpZiAoIWNodW5rIHx8IGNodW5rLmxlbmd0aCA9PT0gMCkgewogICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHRoaXMubmV4dENodW5rID0gdGhpcy5zdHIuZ2V0Qnl0ZXMoY2h1bmtTaXplKTsKICAgIHZhciBoYXNNb3JlRGF0YSA9IHRoaXMubmV4dENodW5rICYmIHRoaXMubmV4dENodW5rLmxlbmd0aCA+IDA7CgogICAgdmFyIGRlY3J5cHQgPSB0aGlzLmRlY3J5cHQ7CiAgICBjaHVuayA9IGRlY3J5cHQoY2h1bmssICFoYXNNb3JlRGF0YSk7CgogICAgdmFyIGJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyTGVuZ3RoOwogICAgdmFyIGksIG4gPSBjaHVuay5sZW5ndGg7CiAgICB2YXIgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIoYnVmZmVyTGVuZ3RoICsgbik7CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgIGJ1ZmZlcltidWZmZXJMZW5ndGgrK10gPSBjaHVua1tpXTsKICAgIH0KICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gYnVmZmVyTGVuZ3RoOwogIH07CgogIHJldHVybiBEZWNyeXB0U3RyZWFtOwp9KSgpOwoKdmFyIEFzY2lpODVTdHJlYW0gPSAoZnVuY3Rpb24gQXNjaWk4NVN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gQXNjaWk4NVN0cmVhbShzdHIsIG1heWJlTGVuZ3RoKSB7CiAgICB0aGlzLnN0ciA9IHN0cjsKICAgIHRoaXMuZGljdCA9IHN0ci5kaWN0OwogICAgdGhpcy5pbnB1dCA9IG5ldyBVaW50OEFycmF5KDUpOwoKICAgIC8vIE1vc3Qgc3RyZWFtcyBpbmNyZWFzZSBpbiBzaXplIHdoZW4gZGVjb2RlZCwgYnV0IEFzY2lpODUgc3RyZWFtcwogICAgLy8gdHlwaWNhbGx5IHNocmluayBieSB+MjAlLgogICAgaWYgKG1heWJlTGVuZ3RoKSB7CiAgICAgIG1heWJlTGVuZ3RoID0gMC44ICogbWF5YmVMZW5ndGg7CiAgICB9CiAgICBEZWNvZGVTdHJlYW0uY2FsbCh0aGlzLCBtYXliZUxlbmd0aCk7CiAgfQoKICBBc2NpaTg1U3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIEFzY2lpODVTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9jayA9IGZ1bmN0aW9uIEFzY2lpODVTdHJlYW1fcmVhZEJsb2NrKCkgewogICAgdmFyIFRJTERBX0NIQVIgPSAweDdFOyAvLyAnficKICAgIHZhciBaX0xPV0VSX0NIQVIgPSAweDdBOyAvLyAneicKICAgIHZhciBFT0YgPSAtMTsKCiAgICB2YXIgc3RyID0gdGhpcy5zdHI7CgogICAgdmFyIGMgPSBzdHIuZ2V0Qnl0ZSgpOwogICAgd2hpbGUgKExleGVyLmlzU3BhY2UoYykpIHsKICAgICAgYyA9IHN0ci5nZXRCeXRlKCk7CiAgICB9CgogICAgaWYgKGMgPT09IEVPRiB8fCBjID09PSBUSUxEQV9DSEFSKSB7CiAgICAgIHRoaXMuZW9mID0gdHJ1ZTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlckxlbmd0aCwgYnVmZmVyOwogICAgdmFyIGk7CgogICAgLy8gc3BlY2lhbCBjb2RlIGZvciB6CiAgICBpZiAoYyA9PT0gWl9MT1dFUl9DSEFSKSB7CiAgICAgIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKGJ1ZmZlckxlbmd0aCArIDQpOwogICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CiAgICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aCArIGldID0gMDsKICAgICAgfQogICAgICB0aGlzLmJ1ZmZlckxlbmd0aCArPSA0OwogICAgfSBlbHNlIHsKICAgICAgdmFyIGlucHV0ID0gdGhpcy5pbnB1dDsKICAgICAgaW5wdXRbMF0gPSBjOwogICAgICBmb3IgKGkgPSAxOyBpIDwgNTsgKytpKSB7CiAgICAgICAgYyA9IHN0ci5nZXRCeXRlKCk7CiAgICAgICAgd2hpbGUgKExleGVyLmlzU3BhY2UoYykpIHsKICAgICAgICAgIGMgPSBzdHIuZ2V0Qnl0ZSgpOwogICAgICAgIH0KCiAgICAgICAgaW5wdXRbaV0gPSBjOwoKICAgICAgICBpZiAoYyA9PT0gRU9GIHx8IGMgPT09IFRJTERBX0NIQVIpIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICBidWZmZXIgPSB0aGlzLmVuc3VyZUJ1ZmZlcihidWZmZXJMZW5ndGggKyBpIC0gMSk7CiAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoICs9IGkgLSAxOwoKICAgICAgLy8gcGFydGlhbCBlbmRpbmc7CiAgICAgIGlmIChpIDwgNSkgewogICAgICAgIGZvciAoOyBpIDwgNTsgKytpKSB7CiAgICAgICAgICBpbnB1dFtpXSA9IDB4MjEgKyA4NDsKICAgICAgICB9CiAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICB9CiAgICAgIHZhciB0ID0gMDsKICAgICAgZm9yIChpID0gMDsgaSA8IDU7ICsraSkgewogICAgICAgIHQgPSB0ICogODUgKyAoaW5wdXRbaV0gLSAweDIxKTsKICAgICAgfQoKICAgICAgZm9yIChpID0gMzsgaSA+PSAwOyAtLWkpIHsKICAgICAgICBidWZmZXJbYnVmZmVyTGVuZ3RoICsgaV0gPSB0ICYgMHhGRjsKICAgICAgICB0ID4+PSA4OwogICAgICB9CiAgICB9CiAgfTsKCiAgcmV0dXJuIEFzY2lpODVTdHJlYW07Cn0pKCk7Cgp2YXIgQXNjaWlIZXhTdHJlYW0gPSAoZnVuY3Rpb24gQXNjaWlIZXhTdHJlYW1DbG9zdXJlKCkgewogIGZ1bmN0aW9uIEFzY2lpSGV4U3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgpIHsKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CgogICAgdGhpcy5maXJzdERpZ2l0ID0gLTE7CgogICAgLy8gTW9zdCBzdHJlYW1zIGluY3JlYXNlIGluIHNpemUgd2hlbiBkZWNvZGVkLCBidXQgQXNjaWlIZXggc3RyZWFtcyBzaHJpbmsKICAgIC8vIGJ5IDUwJS4KICAgIGlmIChtYXliZUxlbmd0aCkgewogICAgICBtYXliZUxlbmd0aCA9IDAuNSAqIG1heWJlTGVuZ3RoOwogICAgfQogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgQXNjaWlIZXhTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShEZWNvZGVTdHJlYW0ucHJvdG90eXBlKTsKCiAgQXNjaWlIZXhTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9jayA9IGZ1bmN0aW9uIEFzY2lpSGV4U3RyZWFtX3JlYWRCbG9jaygpIHsKICAgIHZhciBVUFNUUkVBTV9CTE9DS19TSVpFID0gODAwMDsKICAgIHZhciBieXRlcyA9IHRoaXMuc3RyLmdldEJ5dGVzKFVQU1RSRUFNX0JMT0NLX1NJWkUpOwogICAgaWYgKCFieXRlcy5sZW5ndGgpIHsKICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIG1heERlY29kZUxlbmd0aCA9IChieXRlcy5sZW5ndGggKyAxKSA+PiAxOwogICAgdmFyIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoICsgbWF4RGVjb2RlTGVuZ3RoKTsKICAgIHZhciBidWZmZXJMZW5ndGggPSB0aGlzLmJ1ZmZlckxlbmd0aDsKCiAgICB2YXIgZmlyc3REaWdpdCA9IHRoaXMuZmlyc3REaWdpdDsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGJ5dGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIGNoID0gYnl0ZXNbaV0sIGRpZ2l0OwogICAgICBpZiAoY2ggPj0gMHgzMCAmJiBjaCA8PSAweDM5KSB7IC8vICcwJy0nOScKICAgICAgICBkaWdpdCA9IGNoICYgMHgwRjsKICAgICAgfSBlbHNlIGlmICgoY2ggPj0gMHg0MSAmJiBjaCA8PSAweDQ2KSB8fCAoY2ggPj0gMHg2MSAmJiBjaCA8PSAweDY2KSkgewogICAgICAgIC8vICdBJy0nWicsICdhJy0neicKICAgICAgICBkaWdpdCA9IChjaCAmIDB4MEYpICsgOTsKICAgICAgfSBlbHNlIGlmIChjaCA9PT0gMHgzRSkgeyAvLyAnPicKICAgICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgICAgYnJlYWs7CiAgICAgIH0gZWxzZSB7IC8vIHByb2JhYmx5IHdoaXRlc3BhY2UKICAgICAgICBjb250aW51ZTsgLy8gaWdub3JpbmcKICAgICAgfQogICAgICBpZiAoZmlyc3REaWdpdCA8IDApIHsKICAgICAgICBmaXJzdERpZ2l0ID0gZGlnaXQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYnVmZmVyW2J1ZmZlckxlbmd0aCsrXSA9IChmaXJzdERpZ2l0IDw8IDQpIHwgZGlnaXQ7CiAgICAgICAgZmlyc3REaWdpdCA9IC0xOwogICAgICB9CiAgICB9CiAgICBpZiAoZmlyc3REaWdpdCA+PSAwICYmIHRoaXMuZW9mKSB7CiAgICAgIC8vIGluY29tcGxldGUgYnl0ZQogICAgICBidWZmZXJbYnVmZmVyTGVuZ3RoKytdID0gKGZpcnN0RGlnaXQgPDwgNCk7CiAgICAgIGZpcnN0RGlnaXQgPSAtMTsKICAgIH0KICAgIHRoaXMuZmlyc3REaWdpdCA9IGZpcnN0RGlnaXQ7CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGJ1ZmZlckxlbmd0aDsKICB9OwoKICByZXR1cm4gQXNjaWlIZXhTdHJlYW07Cn0pKCk7Cgp2YXIgUnVuTGVuZ3RoU3RyZWFtID0gKGZ1bmN0aW9uIFJ1bkxlbmd0aFN0cmVhbUNsb3N1cmUoKSB7CiAgZnVuY3Rpb24gUnVuTGVuZ3RoU3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgpIHsKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgUnVuTGVuZ3RoU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIFJ1bkxlbmd0aFN0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrID0gZnVuY3Rpb24gUnVuTGVuZ3RoU3RyZWFtX3JlYWRCbG9jaygpIHsKICAgIC8vIFRoZSByZXBlYXRIZWFkZXIgaGFzIGZvbGxvd2luZyBmb3JtYXQuIFRoZSBmaXJzdCBieXRlIGRlZmluZXMgdHlwZSBvZiBydW4KICAgIC8vIGFuZCBhbW91bnQgb2YgYnl0ZXMgdG8gcmVwZWF0L2NvcHk6IG4gPSAwIHRocm91Z2ggMTI3IC0gY29weSBuZXh0IG4gYnl0ZXMKICAgIC8vIChpbiBhZGRpdGlvbiB0byB0aGUgc2Vjb25kIGJ5dGUgZnJvbSB0aGUgaGVhZGVyKSwgbiA9IDEyOSB0aHJvdWdoIDI1NSAtCiAgICAvLyBkdXBsaWNhdGUgdGhlIHNlY29uZCBieXRlIGZyb20gdGhlIGhlYWRlciAoMjU3IC0gbikgdGltZXMsIG4gPSAxMjggLSBlbmQuCiAgICB2YXIgcmVwZWF0SGVhZGVyID0gdGhpcy5zdHIuZ2V0Qnl0ZXMoMik7CiAgICBpZiAoIXJlcGVhdEhlYWRlciB8fCByZXBlYXRIZWFkZXIubGVuZ3RoIDwgMiB8fCByZXBlYXRIZWFkZXJbMF0gPT09IDEyOCkgewogICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB2YXIgYnVmZmVyOwogICAgdmFyIGJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyTGVuZ3RoOwogICAgdmFyIG4gPSByZXBlYXRIZWFkZXJbMF07CiAgICBpZiAobiA8IDEyOCkgewogICAgICAvLyBjb3B5IG4gYnl0ZXMKICAgICAgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIoYnVmZmVyTGVuZ3RoICsgbiArIDEpOwogICAgICBidWZmZXJbYnVmZmVyTGVuZ3RoKytdID0gcmVwZWF0SGVhZGVyWzFdOwogICAgICBpZiAobiA+IDApIHsKICAgICAgICB2YXIgc291cmNlID0gdGhpcy5zdHIuZ2V0Qnl0ZXMobik7CiAgICAgICAgYnVmZmVyLnNldChzb3VyY2UsIGJ1ZmZlckxlbmd0aCk7CiAgICAgICAgYnVmZmVyTGVuZ3RoICs9IG47CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIG4gPSAyNTcgLSBuOwogICAgICB2YXIgYiA9IHJlcGVhdEhlYWRlclsxXTsKICAgICAgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIoYnVmZmVyTGVuZ3RoICsgbiArIDEpOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGJ1ZmZlcltidWZmZXJMZW5ndGgrK10gPSBiOwogICAgICB9CiAgICB9CiAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IGJ1ZmZlckxlbmd0aDsKICB9OwoKICByZXR1cm4gUnVuTGVuZ3RoU3RyZWFtOwp9KSgpOwoKdmFyIENDSVRURmF4U3RyZWFtID0gKGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtQ2xvc3VyZSgpIHsKCiAgdmFyIGNjaXR0RU9MID0gLTI7CiAgdmFyIHR3b0RpbVBhc3MgPSAwOwogIHZhciB0d29EaW1Ib3JpeiA9IDE7CiAgdmFyIHR3b0RpbVZlcnQwID0gMjsKICB2YXIgdHdvRGltVmVydFIxID0gMzsKICB2YXIgdHdvRGltVmVydEwxID0gNDsKICB2YXIgdHdvRGltVmVydFIyID0gNTsKICB2YXIgdHdvRGltVmVydEwyID0gNjsKICB2YXIgdHdvRGltVmVydFIzID0gNzsKICB2YXIgdHdvRGltVmVydEwzID0gODsKCiAgdmFyIHR3b0RpbVRhYmxlID0gWwogICAgWy0xLCAtMV0sIFstMSwgLTFdLCAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDB4CiAgICBbNywgdHdvRGltVmVydEwzXSwgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAKICAgIFs3LCB0d29EaW1WZXJ0UjNdLCAgICAgICAgICAgICAgICAgICAgLy8gMDAwMDAxMQogICAgWzYsIHR3b0RpbVZlcnRMMl0sIFs2LCB0d29EaW1WZXJ0TDJdLCAvLyAwMDAwMTB4CiAgICBbNiwgdHdvRGltVmVydFIyXSwgWzYsIHR3b0RpbVZlcnRSMl0sIC8vIDAwMDAxMXgKICAgIFs0LCB0d29EaW1QYXNzXSwgWzQsIHR3b0RpbVBhc3NdLCAgICAgLy8gMDAwMXh4eAogICAgWzQsIHR3b0RpbVBhc3NdLCBbNCwgdHdvRGltUGFzc10sCiAgICBbNCwgdHdvRGltUGFzc10sIFs0LCB0d29EaW1QYXNzXSwKICAgIFs0LCB0d29EaW1QYXNzXSwgWzQsIHR3b0RpbVBhc3NdLAogICAgWzMsIHR3b0RpbUhvcml6XSwgWzMsIHR3b0RpbUhvcml6XSwgICAvLyAwMDF4eHh4CiAgICBbMywgdHdvRGltSG9yaXpdLCBbMywgdHdvRGltSG9yaXpdLAogICAgWzMsIHR3b0RpbUhvcml6XSwgWzMsIHR3b0RpbUhvcml6XSwKICAgIFszLCB0d29EaW1Ib3Jpel0sIFszLCB0d29EaW1Ib3Jpel0sCiAgICBbMywgdHdvRGltSG9yaXpdLCBbMywgdHdvRGltSG9yaXpdLAogICAgWzMsIHR3b0RpbUhvcml6XSwgWzMsIHR3b0RpbUhvcml6XSwKICAgIFszLCB0d29EaW1Ib3Jpel0sIFszLCB0d29EaW1Ib3Jpel0sCiAgICBbMywgdHdvRGltSG9yaXpdLCBbMywgdHdvRGltSG9yaXpdLAogICAgWzMsIHR3b0RpbVZlcnRMMV0sIFszLCB0d29EaW1WZXJ0TDFdLCAvLyAwMTB4eHh4CiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydEwxXSwgWzMsIHR3b0RpbVZlcnRMMV0sCiAgICBbMywgdHdvRGltVmVydFIxXSwgWzMsIHR3b0RpbVZlcnRSMV0sIC8vIDAxMXh4eHgKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFszLCB0d29EaW1WZXJ0UjFdLCBbMywgdHdvRGltVmVydFIxXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sICAgLy8gMXh4eHh4eAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXSwKICAgIFsxLCB0d29EaW1WZXJ0MF0sIFsxLCB0d29EaW1WZXJ0MF0sCiAgICBbMSwgdHdvRGltVmVydDBdLCBbMSwgdHdvRGltVmVydDBdLAogICAgWzEsIHR3b0RpbVZlcnQwXSwgWzEsIHR3b0RpbVZlcnQwXQogIF07CgogIHZhciB3aGl0ZVRhYmxlMSA9IFsKICAgIFstMSwgLTFdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMAogICAgWzEyLCBjY2l0dEVPTF0sICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxCiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sICAgICAgICAgICAgICAgICAgICAgLy8gMDAwMXgKICAgIFstMSwgLTFdLCBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCAvLyAwMDF4eAogICAgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgWy0xLCAtMV0sIC8vIDAxMHh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgLy8gMDExeHgKICAgIFsxMSwgMTc5Ml0sIFsxMSwgMTc5Ml0sICAgICAgICAgICAgICAgICAvLyAxMDAweAogICAgWzEyLCAxOTg0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEwMDEwCiAgICBbMTIsIDIwNDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTAwMTEKICAgIFsxMiwgMjExMl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMDEwMAogICAgWzEyLCAyMTc2XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEwMTAxCiAgICBbMTIsIDIyNDBdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTAxMTAKICAgIFsxMiwgMjMwNF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMDExMQogICAgWzExLCAxODU2XSwgWzExLCAxODU2XSwgICAgICAgICAgICAgICAgIC8vIDExMDB4CiAgICBbMTEsIDE5MjBdLCBbMTEsIDE5MjBdLCAgICAgICAgICAgICAgICAgLy8gMTEwMXgKICAgIFsxMiwgMjM2OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMTEwMAogICAgWzEyLCAyNDMyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDExMTAxCiAgICBbMTIsIDI0OTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTExMTAKICAgIFsxMiwgMjU2MF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMTExMQogIF07CgogIHZhciB3aGl0ZVRhYmxlMiA9IFsKICAgIFstMSwgLTFdLCBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCAgICAgLy8gMDAwMDAwMHh4CiAgICBbOCwgMjldLCBbOCwgMjldLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEweAogICAgWzgsIDMwXSwgWzgsIDMwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAxMXgKICAgIFs4LCA0NV0sIFs4LCA0NV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAwMDAxMDB4CiAgICBbOCwgNDZdLCBbOCwgNDZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxeAogICAgWzcsIDIyXSwgWzcsIDIyXSwgWzcsIDIyXSwgWzcsIDIyXSwgICAgICAgICAvLyAwMDAwMDExeHgKICAgIFs3LCAyM10sIFs3LCAyM10sIFs3LCAyM10sIFs3LCAyM10sICAgICAgICAgLy8gMDAwMDEwMHh4CiAgICBbOCwgNDddLCBbOCwgNDddLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMDEweAogICAgWzgsIDQ4XSwgWzgsIDQ4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMTAxMXgKICAgIFs2LCAxM10sIFs2LCAxM10sIFs2LCAxM10sIFs2LCAxM10sICAgICAgICAgLy8gMDAwMDExeHh4CiAgICBbNiwgMTNdLCBbNiwgMTNdLCBbNiwgMTNdLCBbNiwgMTNdLAogICAgWzcsIDIwXSwgWzcsIDIwXSwgWzcsIDIwXSwgWzcsIDIwXSwgICAgICAgICAvLyAwMDAxMDAweHgKICAgIFs4LCAzM10sIFs4LCAzM10sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAwMTAwMTB4CiAgICBbOCwgMzRdLCBbOCwgMzRdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDEwMDExeAogICAgWzgsIDM1XSwgWzgsIDM1XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMDEwMHgKICAgIFs4LCAzNl0sIFs4LCAzNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAwMTAxMDF4CiAgICBbOCwgMzddLCBbOCwgMzddLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDEwMTEweAogICAgWzgsIDM4XSwgWzgsIDM4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMDExMXgKICAgIFs3LCAxOV0sIFs3LCAxOV0sIFs3LCAxOV0sIFs3LCAxOV0sICAgICAgICAgLy8gMDAwMTEwMHh4CiAgICBbOCwgMzFdLCBbOCwgMzFdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDExMDEweAogICAgWzgsIDMyXSwgWzgsIDMyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMTAxMXgKICAgIFs2LCAxXSwgWzYsIDFdLCBbNiwgMV0sIFs2LCAxXSwgICAgICAgICAgICAgLy8gMDAwMTExeHh4CiAgICBbNiwgMV0sIFs2LCAxXSwgWzYsIDFdLCBbNiwgMV0sCiAgICBbNiwgMTJdLCBbNiwgMTJdLCBbNiwgMTJdLCBbNiwgMTJdLCAgICAgICAgIC8vIDAwMTAwMHh4eAogICAgWzYsIDEyXSwgWzYsIDEyXSwgWzYsIDEyXSwgWzYsIDEyXSwKICAgIFs4LCA1M10sIFs4LCA1M10sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMDAxMDB4CiAgICBbOCwgNTRdLCBbOCwgNTRdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTAwMTAxeAogICAgWzcsIDI2XSwgWzcsIDI2XSwgWzcsIDI2XSwgWzcsIDI2XSwgICAgICAgICAvLyAwMDEwMDExeHgKICAgIFs4LCAzOV0sIFs4LCAzOV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMDEwMDB4CiAgICBbOCwgNDBdLCBbOCwgNDBdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTAxMDAxeAogICAgWzgsIDQxXSwgWzgsIDQxXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDEwMTAxMHgKICAgIFs4LCA0Ml0sIFs4LCA0Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMDEwMTF4CiAgICBbOCwgNDNdLCBbOCwgNDNdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTAxMTAweAogICAgWzgsIDQ0XSwgWzgsIDQ0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDEwMTEwMXgKICAgIFs3LCAyMV0sIFs3LCAyMV0sIFs3LCAyMV0sIFs3LCAyMV0sICAgICAgICAgLy8gMDAxMDExMXh4CiAgICBbNywgMjhdLCBbNywgMjhdLCBbNywgMjhdLCBbNywgMjhdLCAgICAgICAgIC8vIDAwMTEwMDB4eAogICAgWzgsIDYxXSwgWzgsIDYxXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDExMDAxMHgKICAgIFs4LCA2Ml0sIFs4LCA2Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMTAwMTF4CiAgICBbOCwgNjNdLCBbOCwgNjNdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTEwMTAweAogICAgWzgsIDBdLCBbOCwgMF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDExMDEwMXgKICAgIFs4LCAzMjBdLCBbOCwgMzIwXSwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDAxMTAxMTB4CiAgICBbOCwgMzg0XSwgWzgsIDM4NF0sICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMTEwMTExeAogICAgWzUsIDEwXSwgWzUsIDEwXSwgWzUsIDEwXSwgWzUsIDEwXSwgICAgICAgICAvLyAwMDExMXh4eHgKICAgIFs1LCAxMF0sIFs1LCAxMF0sIFs1LCAxMF0sIFs1LCAxMF0sCiAgICBbNSwgMTBdLCBbNSwgMTBdLCBbNSwgMTBdLCBbNSwgMTBdLAogICAgWzUsIDEwXSwgWzUsIDEwXSwgWzUsIDEwXSwgWzUsIDEwXSwKICAgIFs1LCAxMV0sIFs1LCAxMV0sIFs1LCAxMV0sIFs1LCAxMV0sICAgICAgICAgLy8gMDEwMDB4eHh4CiAgICBbNSwgMTFdLCBbNSwgMTFdLCBbNSwgMTFdLCBbNSwgMTFdLAogICAgWzUsIDExXSwgWzUsIDExXSwgWzUsIDExXSwgWzUsIDExXSwKICAgIFs1LCAxMV0sIFs1LCAxMV0sIFs1LCAxMV0sIFs1LCAxMV0sCiAgICBbNywgMjddLCBbNywgMjddLCBbNywgMjddLCBbNywgMjddLCAgICAgICAgIC8vIDAxMDAxMDB4eAogICAgWzgsIDU5XSwgWzgsIDU5XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTAwMTAxMHgKICAgIFs4LCA2MF0sIFs4LCA2MF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMDEwMTF4CiAgICBbOSwgMTQ3Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDAxMTAwMAogICAgWzksIDE1MzZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTAwMTEwMDEKICAgIFs5LCAxNjAwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMDExMDEwCiAgICBbOSwgMTcyOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDAxMTAxMQogICAgWzcsIDE4XSwgWzcsIDE4XSwgWzcsIDE4XSwgWzcsIDE4XSwgICAgICAgICAvLyAwMTAwMTExeHgKICAgIFs3LCAyNF0sIFs3LCAyNF0sIFs3LCAyNF0sIFs3LCAyNF0sICAgICAgICAgLy8gMDEwMTAwMHh4CiAgICBbOCwgNDldLCBbOCwgNDldLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDEwMDEweAogICAgWzgsIDUwXSwgWzgsIDUwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTAxMDAxMXgKICAgIFs4LCA1MV0sIFs4LCA1MV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMTAxMDB4CiAgICBbOCwgNTJdLCBbOCwgNTJdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDEwMTAxeAogICAgWzcsIDI1XSwgWzcsIDI1XSwgWzcsIDI1XSwgWzcsIDI1XSwgICAgICAgICAvLyAwMTAxMDExeHgKICAgIFs4LCA1NV0sIFs4LCA1NV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMTEwMDB4CiAgICBbOCwgNTZdLCBbOCwgNTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMDExMDAxeAogICAgWzgsIDU3XSwgWzgsIDU3XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTAxMTAxMHgKICAgIFs4LCA1OF0sIFs4LCA1OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDEwMTEwMTF4CiAgICBbNiwgMTkyXSwgWzYsIDE5Ml0sIFs2LCAxOTJdLCBbNiwgMTkyXSwgICAgIC8vIDAxMDExMXh4eAogICAgWzYsIDE5Ml0sIFs2LCAxOTJdLCBbNiwgMTkyXSwgWzYsIDE5Ml0sCiAgICBbNiwgMTY2NF0sIFs2LCAxNjY0XSwgWzYsIDE2NjRdLCBbNiwgMTY2NF0sIC8vIDAxMTAwMHh4eAogICAgWzYsIDE2NjRdLCBbNiwgMTY2NF0sIFs2LCAxNjY0XSwgWzYsIDE2NjRdLAogICAgWzgsIDQ0OF0sIFs4LCA0NDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMDEwMHgKICAgIFs4LCA1MTJdLCBbOCwgNTEyXSwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDAxMDF4CiAgICBbOSwgNzA0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAwMTEwMAogICAgWzksIDc2OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMDExMDEKICAgIFs4LCA2NDBdLCBbOCwgNjQwXSwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDAxMTF4CiAgICBbOCwgNTc2XSwgWzgsIDU3Nl0sICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAxMDAweAogICAgWzksIDgzMl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMTAwMTAKICAgIFs5LCA4OTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDEwMDExCiAgICBbOSwgOTYwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAxMDEwMAogICAgWzksIDEwMjRdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMTAxMDEKICAgIFs5LCAxMDg4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDEwMTEwCiAgICBbOSwgMTE1Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAxMDExMQogICAgWzksIDEyMTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMTEwMDAKICAgIFs5LCAxMjgwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDExMDExMDAxCiAgICBbOSwgMTM0NF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxMTAxMTAxMAogICAgWzksIDE0MDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMTEwMTEwMTEKICAgIFs3LCAyNTZdLCBbNywgMjU2XSwgWzcsIDI1Nl0sIFs3LCAyNTZdLCAgICAgLy8gMDExMDExMXh4CiAgICBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLCBbNCwgMl0sICAgICAgICAgICAgIC8vIDAxMTF4eHh4eAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDJdLCBbNCwgMl0sIFs0LCAyXSwgWzQsIDJdLAogICAgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwgWzQsIDNdLCAgICAgICAgICAgICAvLyAxMDAweHh4eHgKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs0LCAzXSwgWzQsIDNdLCBbNCwgM10sIFs0LCAzXSwKICAgIFs1LCAxMjhdLCBbNSwgMTI4XSwgWzUsIDEyOF0sIFs1LCAxMjhdLCAgICAgLy8gMTAwMTB4eHh4CiAgICBbNSwgMTI4XSwgWzUsIDEyOF0sIFs1LCAxMjhdLCBbNSwgMTI4XSwKICAgIFs1LCAxMjhdLCBbNSwgMTI4XSwgWzUsIDEyOF0sIFs1LCAxMjhdLAogICAgWzUsIDEyOF0sIFs1LCAxMjhdLCBbNSwgMTI4XSwgWzUsIDEyOF0sCiAgICBbNSwgOF0sIFs1LCA4XSwgWzUsIDhdLCBbNSwgOF0sICAgICAgICAgICAgIC8vIDEwMDExeHh4eAogICAgWzUsIDhdLCBbNSwgOF0sIFs1LCA4XSwgWzUsIDhdLAogICAgWzUsIDhdLCBbNSwgOF0sIFs1LCA4XSwgWzUsIDhdLAogICAgWzUsIDhdLCBbNSwgOF0sIFs1LCA4XSwgWzUsIDhdLAogICAgWzUsIDldLCBbNSwgOV0sIFs1LCA5XSwgWzUsIDldLCAgICAgICAgICAgICAvLyAxMDEwMHh4eHgKICAgIFs1LCA5XSwgWzUsIDldLCBbNSwgOV0sIFs1LCA5XSwKICAgIFs1LCA5XSwgWzUsIDldLCBbNSwgOV0sIFs1LCA5XSwKICAgIFs1LCA5XSwgWzUsIDldLCBbNSwgOV0sIFs1LCA5XSwKICAgIFs2LCAxNl0sIFs2LCAxNl0sIFs2LCAxNl0sIFs2LCAxNl0sICAgICAgICAgLy8gMTAxMDEweHh4CiAgICBbNiwgMTZdLCBbNiwgMTZdLCBbNiwgMTZdLCBbNiwgMTZdLAogICAgWzYsIDE3XSwgWzYsIDE3XSwgWzYsIDE3XSwgWzYsIDE3XSwgICAgICAgICAvLyAxMDEwMTF4eHgKICAgIFs2LCAxN10sIFs2LCAxN10sIFs2LCAxN10sIFs2LCAxN10sCiAgICBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLCBbNCwgNF0sICAgICAgICAgICAgIC8vIDEwMTF4eHh4eAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDRdLCBbNCwgNF0sIFs0LCA0XSwgWzQsIDRdLAogICAgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwgWzQsIDVdLCAgICAgICAgICAgICAvLyAxMTAweHh4eHgKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwKICAgIFs2LCAxNF0sIFs2LCAxNF0sIFs2LCAxNF0sIFs2LCAxNF0sICAgICAgICAgLy8gMTEwMTAweHh4CiAgICBbNiwgMTRdLCBbNiwgMTRdLCBbNiwgMTRdLCBbNiwgMTRdLAogICAgWzYsIDE1XSwgWzYsIDE1XSwgWzYsIDE1XSwgWzYsIDE1XSwgICAgICAgICAvLyAxMTAxMDF4eHgKICAgIFs2LCAxNV0sIFs2LCAxNV0sIFs2LCAxNV0sIFs2LCAxNV0sCiAgICBbNSwgNjRdLCBbNSwgNjRdLCBbNSwgNjRdLCBbNSwgNjRdLCAgICAgICAgIC8vIDExMDExeHh4eAogICAgWzUsIDY0XSwgWzUsIDY0XSwgWzUsIDY0XSwgWzUsIDY0XSwKICAgIFs1LCA2NF0sIFs1LCA2NF0sIFs1LCA2NF0sIFs1LCA2NF0sCiAgICBbNSwgNjRdLCBbNSwgNjRdLCBbNSwgNjRdLCBbNSwgNjRdLAogICAgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwgWzQsIDZdLCAgICAgICAgICAgICAvLyAxMTEweHh4eHgKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwKICAgIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sIFs0LCA3XSwgICAgICAgICAgICAgLy8gMTExMXh4eHh4CiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10sCiAgICBbNCwgN10sIFs0LCA3XSwgWzQsIDddLCBbNCwgN10KICBdOwoKICB2YXIgYmxhY2tUYWJsZTEgPSBbCiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMDAwMDB4CiAgICBbMTIsIGNjaXR0RU9MXSwgWzEyLCBjY2l0dEVPTF0sICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMDAwMDF4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDAwMXh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDAxMHh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDAxMXh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDEwMHh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDEwMXh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDExMHh4CiAgICBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCBbLTEsIC0xXSwgICAgICAgICAvLyAwMDAwMDAwMDExMXh4CiAgICBbMTEsIDE3OTJdLCBbMTEsIDE3OTJdLCBbMTEsIDE3OTJdLCBbMTEsIDE3OTJdLCAvLyAwMDAwMDAwMTAwMHh4CiAgICBbMTIsIDE5ODRdLCBbMTIsIDE5ODRdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAwMTB4CiAgICBbMTIsIDIwNDhdLCBbMTIsIDIwNDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAwMTF4CiAgICBbMTIsIDIxMTJdLCBbMTIsIDIxMTJdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAxMDB4CiAgICBbMTIsIDIxNzZdLCBbMTIsIDIxNzZdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAxMDF4CiAgICBbMTIsIDIyNDBdLCBbMTIsIDIyNDBdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAxMTB4CiAgICBbMTIsIDIzMDRdLCBbMTIsIDIzMDRdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTAxMTF4CiAgICBbMTEsIDE4NTZdLCBbMTEsIDE4NTZdLCBbMTEsIDE4NTZdLCBbMTEsIDE4NTZdLCAvLyAwMDAwMDAwMTEwMHh4CiAgICBbMTEsIDE5MjBdLCBbMTEsIDE5MjBdLCBbMTEsIDE5MjBdLCBbMTEsIDE5MjBdLCAvLyAwMDAwMDAwMTEwMXh4CiAgICBbMTIsIDIzNjhdLCBbMTIsIDIzNjhdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTExMDB4CiAgICBbMTIsIDI0MzJdLCBbMTIsIDI0MzJdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTExMDF4CiAgICBbMTIsIDI0OTZdLCBbMTIsIDI0OTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTExMTB4CiAgICBbMTIsIDI1NjBdLCBbMTIsIDI1NjBdLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAwMDAwMTExMTF4CiAgICBbMTAsIDE4XSwgWzEwLCAxOF0sIFsxMCwgMThdLCBbMTAsIDE4XSwgICAgICAgICAvLyAwMDAwMDAxMDAweHh4CiAgICBbMTAsIDE4XSwgWzEwLCAxOF0sIFsxMCwgMThdLCBbMTAsIDE4XSwKICAgIFsxMiwgNTJdLCBbMTIsIDUyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDEwMHgKICAgIFsxMywgNjQwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDEwMTAKICAgIFsxMywgNzA0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDEwMTEKICAgIFsxMywgNzY4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDExMDAKICAgIFsxMywgODMyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDExMDEKICAgIFsxMiwgNTVdLCBbMTIsIDU1XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMDExMXgKICAgIFsxMiwgNTZdLCBbMTIsIDU2XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAwMHgKICAgIFsxMywgMTI4MF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAwMTAKICAgIFsxMywgMTM0NF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAwMTEKICAgIFsxMywgMTQwOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAxMDAKICAgIFsxMywgMTQ3Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAxMDEKICAgIFsxMiwgNTldLCBbMTIsIDU5XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTAxMXgKICAgIFsxMiwgNjBdLCBbMTIsIDYwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTEwMHgKICAgIFsxMywgMTUzNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTEwMTAKICAgIFsxMywgMTYwMF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDEwMTEwMTEKICAgIFsxMSwgMjRdLCBbMTEsIDI0XSwgWzExLCAyNF0sIFsxMSwgMjRdLCAgICAgICAgIC8vIDAwMDAwMDEwMTExeHgKICAgIFsxMSwgMjVdLCBbMTEsIDI1XSwgWzExLCAyNV0sIFsxMSwgMjVdLCAgICAgICAgIC8vIDAwMDAwMDExMDAweHgKICAgIFsxMywgMTY2NF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDAxMDAKICAgIFsxMywgMTcyOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDAxMDEKICAgIFsxMiwgMzIwXSwgWzEyLCAzMjBdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDAxMXgKICAgIFsxMiwgMzg0XSwgWzEyLCAzODRdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDEwMHgKICAgIFsxMiwgNDQ4XSwgWzEyLCA0NDhdLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDEwMXgKICAgIFsxMywgNTEyXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDExMDAKICAgIFsxMywgNTc2XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDExMDEKICAgIFsxMiwgNTNdLCBbMTIsIDUzXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMDExMXgKICAgIFsxMiwgNTRdLCBbMTIsIDU0XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAwMHgKICAgIFsxMywgODk2XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAwMTAKICAgIFsxMywgOTYwXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAwMTEKICAgIFsxMywgMTAyNF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAxMDAKICAgIFsxMywgMTA4OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAxMDEKICAgIFsxMywgMTE1Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAxMTAKICAgIFsxMywgMTIxNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMDExMTAxMTEKICAgIFsxMCwgNjRdLCBbMTAsIDY0XSwgWzEwLCA2NF0sIFsxMCwgNjRdLCAgICAgICAgIC8vIDAwMDAwMDExMTF4eHgKICAgIFsxMCwgNjRdLCBbMTAsIDY0XSwgWzEwLCA2NF0sIFsxMCwgNjRdCiAgXTsKCiAgdmFyIGJsYWNrVGFibGUyID0gWwogICAgWzgsIDEzXSwgWzgsIDEzXSwgWzgsIDEzXSwgWzgsIDEzXSwgICAgIC8vIDAwMDAwMTAweHh4eAogICAgWzgsIDEzXSwgWzgsIDEzXSwgWzgsIDEzXSwgWzgsIDEzXSwKICAgIFs4LCAxM10sIFs4LCAxM10sIFs4LCAxM10sIFs4LCAxM10sCiAgICBbOCwgMTNdLCBbOCwgMTNdLCBbOCwgMTNdLCBbOCwgMTNdLAogICAgWzExLCAyM10sIFsxMSwgMjNdLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDAweAogICAgWzEyLCA1MF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDAxMAogICAgWzEyLCA1MV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDAxMQogICAgWzEyLCA0NF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDEwMAogICAgWzEyLCA0NV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDEwMQogICAgWzEyLCA0Nl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDExMAogICAgWzEyLCA0N10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMDExMQogICAgWzEyLCA1N10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMTAwMAogICAgWzEyLCA1OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMTAwMQogICAgWzEyLCA2MV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMTAxMAogICAgWzEyLCAyNTZdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTAxMTAxMQogICAgWzEwLCAxNl0sIFsxMCwgMTZdLCBbMTAsIDE2XSwgWzEwLCAxNl0sIC8vIDAwMDAwMTAxMTF4eAogICAgWzEwLCAxN10sIFsxMCwgMTddLCBbMTAsIDE3XSwgWzEwLCAxN10sIC8vIDAwMDAwMTEwMDB4eAogICAgWzEyLCA0OF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMDEwMAogICAgWzEyLCA0OV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMDEwMQogICAgWzEyLCA2Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMDExMAogICAgWzEyLCA2M10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMDExMQogICAgWzEyLCAzMF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTAwMAogICAgWzEyLCAzMV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTAwMQogICAgWzEyLCAzMl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTAxMAogICAgWzEyLCAzM10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTAxMQogICAgWzEyLCA0MF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTEwMAogICAgWzEyLCA0MV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTEwMQogICAgWzExLCAyMl0sIFsxMSwgMjJdLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAwMTEwMTExeAogICAgWzgsIDE0XSwgWzgsIDE0XSwgWzgsIDE0XSwgWzgsIDE0XSwgICAgIC8vIDAwMDAwMTExeHh4eAogICAgWzgsIDE0XSwgWzgsIDE0XSwgWzgsIDE0XSwgWzgsIDE0XSwKICAgIFs4LCAxNF0sIFs4LCAxNF0sIFs4LCAxNF0sIFs4LCAxNF0sCiAgICBbOCwgMTRdLCBbOCwgMTRdLCBbOCwgMTRdLCBbOCwgMTRdLAogICAgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgICAgIC8vIDAwMDAxMDB4eHh4eAogICAgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwKICAgIFs3LCAxMF0sIFs3LCAxMF0sIFs3LCAxMF0sIFs3LCAxMF0sCiAgICBbNywgMTBdLCBbNywgMTBdLCBbNywgMTBdLCBbNywgMTBdLAogICAgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwKICAgIFs3LCAxMF0sIFs3LCAxMF0sIFs3LCAxMF0sIFs3LCAxMF0sCiAgICBbNywgMTBdLCBbNywgMTBdLCBbNywgMTBdLCBbNywgMTBdLAogICAgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwgWzcsIDEwXSwKICAgIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sICAgICAvLyAwMDAwMTAxeHh4eHgKICAgIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sCiAgICBbNywgMTFdLCBbNywgMTFdLCBbNywgMTFdLCBbNywgMTFdLAogICAgWzcsIDExXSwgWzcsIDExXSwgWzcsIDExXSwgWzcsIDExXSwKICAgIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sCiAgICBbNywgMTFdLCBbNywgMTFdLCBbNywgMTFdLCBbNywgMTFdLAogICAgWzcsIDExXSwgWzcsIDExXSwgWzcsIDExXSwgWzcsIDExXSwKICAgIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sIFs3LCAxMV0sCiAgICBbOSwgMTVdLCBbOSwgMTVdLCBbOSwgMTVdLCBbOSwgMTVdLCAgICAgLy8gMDAwMDExMDAweHh4CiAgICBbOSwgMTVdLCBbOSwgMTVdLCBbOSwgMTVdLCBbOSwgMTVdLAogICAgWzEyLCAxMjhdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTAwMAogICAgWzEyLCAxOTJdLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTAwMQogICAgWzEyLCAyNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTAxMAogICAgWzEyLCAyN10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTAxMQogICAgWzEyLCAyOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTEwMAogICAgWzEyLCAyOV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTEwMQogICAgWzExLCAxOV0sIFsxMSwgMTldLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAwMTExeAogICAgWzExLCAyMF0sIFsxMSwgMjBdLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDAweAogICAgWzEyLCAzNF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDAxMAogICAgWzEyLCAzNV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDAxMQogICAgWzEyLCAzNl0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDEwMAogICAgWzEyLCAzN10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDEwMQogICAgWzEyLCAzOF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDExMAogICAgWzEyLCAzOV0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMDExMQogICAgWzExLCAyMV0sIFsxMSwgMjFdLCAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMTAweAogICAgWzEyLCA0Ml0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMTAxMAogICAgWzEyLCA0M10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAwMDAxMTAxMTAxMQogICAgWzEwLCAwXSwgWzEwLCAwXSwgWzEwLCAwXSwgWzEwLCAwXSwgICAgIC8vIDAwMDAxMTAxMTF4eAogICAgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgICAgIC8vIDAwMDAxMTF4eHh4eAogICAgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwKICAgIFs3LCAxMl0sIFs3LCAxMl0sIFs3LCAxMl0sIFs3LCAxMl0sCiAgICBbNywgMTJdLCBbNywgMTJdLCBbNywgMTJdLCBbNywgMTJdLAogICAgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwKICAgIFs3LCAxMl0sIFs3LCAxMl0sIFs3LCAxMl0sIFs3LCAxMl0sCiAgICBbNywgMTJdLCBbNywgMTJdLCBbNywgMTJdLCBbNywgMTJdLAogICAgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXSwgWzcsIDEyXQogIF07CgogIHZhciBibGFja1RhYmxlMyA9IFsKICAgIFstMSwgLTFdLCBbLTEsIC0xXSwgWy0xLCAtMV0sIFstMSwgLTFdLCAvLyAwMDAweHgKICAgIFs2LCA5XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMDAKICAgIFs2LCA4XSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMDEKICAgIFs1LCA3XSwgWzUsIDddLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyAwMDAxMXgKICAgIFs0LCA2XSwgWzQsIDZdLCBbNCwgNl0sIFs0LCA2XSwgICAgICAgICAvLyAwMDEweHgKICAgIFs0LCA1XSwgWzQsIDVdLCBbNCwgNV0sIFs0LCA1XSwgICAgICAgICAvLyAwMDExeHgKICAgIFszLCAxXSwgWzMsIDFdLCBbMywgMV0sIFszLCAxXSwgICAgICAgICAvLyAwMTB4eHgKICAgIFszLCAxXSwgWzMsIDFdLCBbMywgMV0sIFszLCAxXSwKICAgIFszLCA0XSwgWzMsIDRdLCBbMywgNF0sIFszLCA0XSwgICAgICAgICAvLyAwMTF4eHgKICAgIFszLCA0XSwgWzMsIDRdLCBbMywgNF0sIFszLCA0XSwKICAgIFsyLCAzXSwgWzIsIDNdLCBbMiwgM10sIFsyLCAzXSwgICAgICAgICAvLyAxMHh4eHgKICAgIFsyLCAzXSwgWzIsIDNdLCBbMiwgM10sIFsyLCAzXSwKICAgIFsyLCAzXSwgWzIsIDNdLCBbMiwgM10sIFsyLCAzXSwKICAgIFsyLCAzXSwgWzIsIDNdLCBbMiwgM10sIFsyLCAzXSwKICAgIFsyLCAyXSwgWzIsIDJdLCBbMiwgMl0sIFsyLCAyXSwgICAgICAgICAvLyAxMXh4eHgKICAgIFsyLCAyXSwgWzIsIDJdLCBbMiwgMl0sIFsyLCAyXSwKICAgIFsyLCAyXSwgWzIsIDJdLCBbMiwgMl0sIFsyLCAyXSwKICAgIFsyLCAyXSwgWzIsIDJdLCBbMiwgMl0sIFsyLCAyXQogIF07CgogIGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtKHN0ciwgbWF5YmVMZW5ndGgsIHBhcmFtcykgewogICAgdGhpcy5zdHIgPSBzdHI7CiAgICB0aGlzLmRpY3QgPSBzdHIuZGljdDsKCiAgICBwYXJhbXMgPSBwYXJhbXMgfHwgRGljdC5lbXB0eTsKCiAgICB0aGlzLmVuY29kaW5nID0gcGFyYW1zLmdldCgnSycpIHx8IDA7CiAgICB0aGlzLmVvbGluZSA9IHBhcmFtcy5nZXQoJ0VuZE9mTGluZScpIHx8IGZhbHNlOwogICAgdGhpcy5ieXRlQWxpZ24gPSBwYXJhbXMuZ2V0KCdFbmNvZGVkQnl0ZUFsaWduJykgfHwgZmFsc2U7CiAgICB0aGlzLmNvbHVtbnMgPSBwYXJhbXMuZ2V0KCdDb2x1bW5zJykgfHwgMTcyODsKICAgIHRoaXMucm93cyA9IHBhcmFtcy5nZXQoJ1Jvd3MnKSB8fCAwOwogICAgdmFyIGVvYmxvY2sgPSBwYXJhbXMuZ2V0KCdFbmRPZkJsb2NrJyk7CiAgICBpZiAoZW9ibG9jayA9PT0gbnVsbCB8fCBlb2Jsb2NrID09PSB1bmRlZmluZWQpIHsKICAgICAgZW9ibG9jayA9IHRydWU7CiAgICB9CiAgICB0aGlzLmVvYmxvY2sgPSBlb2Jsb2NrOwogICAgdGhpcy5ibGFjayA9IHBhcmFtcy5nZXQoJ0JsYWNrSXMxJykgfHwgZmFsc2U7CgogICAgdGhpcy5jb2RpbmdMaW5lID0gbmV3IFVpbnQzMkFycmF5KHRoaXMuY29sdW1ucyArIDEpOwogICAgdGhpcy5yZWZMaW5lID0gbmV3IFVpbnQzMkFycmF5KHRoaXMuY29sdW1ucyArIDIpOwoKICAgIHRoaXMuY29kaW5nTGluZVswXSA9IHRoaXMuY29sdW1uczsKICAgIHRoaXMuY29kaW5nUG9zID0gMDsKCiAgICB0aGlzLnJvdyA9IDA7CiAgICB0aGlzLm5leHRMaW5lMkQgPSB0aGlzLmVuY29kaW5nIDwgMDsKICAgIHRoaXMuaW5wdXRCaXRzID0gMDsKICAgIHRoaXMuaW5wdXRCdWYgPSAwOwogICAgdGhpcy5vdXRwdXRCaXRzID0gMDsKCiAgICB2YXIgY29kZTE7CiAgICB3aGlsZSAoKGNvZGUxID0gdGhpcy5sb29rQml0cygxMikpID09PSAwKSB7CiAgICAgIHRoaXMuZWF0Qml0cygxKTsKICAgIH0KICAgIGlmIChjb2RlMSA9PT0gMSkgewogICAgICB0aGlzLmVhdEJpdHMoMTIpOwogICAgfQogICAgaWYgKHRoaXMuZW5jb2RpbmcgPiAwKSB7CiAgICAgIHRoaXMubmV4dExpbmUyRCA9ICF0aGlzLmxvb2tCaXRzKDEpOwogICAgICB0aGlzLmVhdEJpdHMoMSk7CiAgICB9CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgQ0NJVFRGYXhTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShEZWNvZGVTdHJlYW0ucHJvdG90eXBlKTsKCiAgQ0NJVFRGYXhTdHJlYW0ucHJvdG90eXBlLnJlYWRCbG9jayA9IGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtX3JlYWRCbG9jaygpIHsKICAgIHdoaWxlICghdGhpcy5lb2YpIHsKICAgICAgdmFyIGMgPSB0aGlzLmxvb2tDaGFyKCk7CiAgICAgIHRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoICsgMSk7CiAgICAgIHRoaXMuYnVmZmVyW3RoaXMuYnVmZmVyTGVuZ3RoKytdID0gYzsKICAgIH0KICB9OwoKICBDQ0lUVEZheFN0cmVhbS5wcm90b3R5cGUuYWRkUGl4ZWxzID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1BZGRQaXhlbHMoYTEsIGJsYWNrUGl4ZWxzKSB7CiAgICB2YXIgY29kaW5nTGluZSA9IHRoaXMuY29kaW5nTGluZTsKICAgIHZhciBjb2RpbmdQb3MgPSB0aGlzLmNvZGluZ1BvczsKCiAgICBpZiAoYTEgPiBjb2RpbmdMaW5lW2NvZGluZ1Bvc10pIHsKICAgICAgaWYgKGExID4gdGhpcy5jb2x1bW5zKSB7CiAgICAgICAgaW5mbygncm93IGlzIHdyb25nIGxlbmd0aCcpOwogICAgICAgIHRoaXMuZXJyID0gdHJ1ZTsKICAgICAgICBhMSA9IHRoaXMuY29sdW1uczsKICAgICAgfQogICAgICBpZiAoKGNvZGluZ1BvcyAmIDEpIF4gYmxhY2tQaXhlbHMpIHsKICAgICAgICArK2NvZGluZ1BvczsKICAgICAgfQoKICAgICAgY29kaW5nTGluZVtjb2RpbmdQb3NdID0gYTE7CiAgICB9CiAgICB0aGlzLmNvZGluZ1BvcyA9IGNvZGluZ1BvczsKICB9OwoKICBDQ0lUVEZheFN0cmVhbS5wcm90b3R5cGUuYWRkUGl4ZWxzTmVnID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1BZGRQaXhlbHNOZWcoYTEsIGJsYWNrUGl4ZWxzKSB7CiAgICB2YXIgY29kaW5nTGluZSA9IHRoaXMuY29kaW5nTGluZTsKICAgIHZhciBjb2RpbmdQb3MgPSB0aGlzLmNvZGluZ1BvczsKCiAgICBpZiAoYTEgPiBjb2RpbmdMaW5lW2NvZGluZ1Bvc10pIHsKICAgICAgaWYgKGExID4gdGhpcy5jb2x1bW5zKSB7CiAgICAgICAgaW5mbygncm93IGlzIHdyb25nIGxlbmd0aCcpOwogICAgICAgIHRoaXMuZXJyID0gdHJ1ZTsKICAgICAgICBhMSA9IHRoaXMuY29sdW1uczsKICAgICAgfQogICAgICBpZiAoKGNvZGluZ1BvcyAmIDEpIF4gYmxhY2tQaXhlbHMpIHsKICAgICAgICArK2NvZGluZ1BvczsKICAgICAgfQoKICAgICAgY29kaW5nTGluZVtjb2RpbmdQb3NdID0gYTE7CiAgICB9IGVsc2UgaWYgKGExIDwgY29kaW5nTGluZVtjb2RpbmdQb3NdKSB7CiAgICAgIGlmIChhMSA8IDApIHsKICAgICAgICBpbmZvKCdpbnZhbGlkIGNvZGUnKTsKICAgICAgICB0aGlzLmVyciA9IHRydWU7CiAgICAgICAgYTEgPSAwOwogICAgICB9CiAgICAgIHdoaWxlIChjb2RpbmdQb3MgPiAwICYmIGExIDwgY29kaW5nTGluZVtjb2RpbmdQb3MgLSAxXSkgewogICAgICAgIC0tY29kaW5nUG9zOwogICAgICB9CiAgICAgIGNvZGluZ0xpbmVbY29kaW5nUG9zXSA9IGExOwogICAgfQoKICAgIHRoaXMuY29kaW5nUG9zID0gY29kaW5nUG9zOwogIH07CgogIENDSVRURmF4U3RyZWFtLnByb3RvdHlwZS5sb29rQ2hhciA9IGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtX2xvb2tDaGFyKCkgewogICAgdmFyIHJlZkxpbmUgPSB0aGlzLnJlZkxpbmU7CiAgICB2YXIgY29kaW5nTGluZSA9IHRoaXMuY29kaW5nTGluZTsKICAgIHZhciBjb2x1bW5zID0gdGhpcy5jb2x1bW5zOwoKICAgIHZhciByZWZQb3MsIGJsYWNrUGl4ZWxzLCBiaXRzLCBpOwoKICAgIGlmICh0aGlzLm91dHB1dEJpdHMgPT09IDApIHsKICAgICAgaWYgKHRoaXMuZW9mKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgICAgdGhpcy5lcnIgPSBmYWxzZTsKCiAgICAgIHZhciBjb2RlMSwgY29kZTIsIGNvZGUzOwogICAgICBpZiAodGhpcy5uZXh0TGluZTJEKSB7CiAgICAgICAgZm9yIChpID0gMDsgY29kaW5nTGluZVtpXSA8IGNvbHVtbnM7ICsraSkgewogICAgICAgICAgcmVmTGluZVtpXSA9IGNvZGluZ0xpbmVbaV07CiAgICAgICAgfQogICAgICAgIHJlZkxpbmVbaSsrXSA9IGNvbHVtbnM7CiAgICAgICAgcmVmTGluZVtpXSA9IGNvbHVtbnM7CiAgICAgICAgY29kaW5nTGluZVswXSA9IDA7CiAgICAgICAgdGhpcy5jb2RpbmdQb3MgPSAwOwogICAgICAgIHJlZlBvcyA9IDA7CiAgICAgICAgYmxhY2tQaXhlbHMgPSAwOwoKICAgICAgICB3aGlsZSAoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICBjb2RlMSA9IHRoaXMuZ2V0VHdvRGltQ29kZSgpOwogICAgICAgICAgc3dpdGNoIChjb2RlMSkgewogICAgICAgICAgICBjYXNlIHR3b0RpbVBhc3M6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMocmVmTGluZVtyZWZQb3MgKyAxXSwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGlmIChyZWZMaW5lW3JlZlBvcyArIDFdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgcmVmUG9zICs9IDI7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIHR3b0RpbUhvcml6OgogICAgICAgICAgICAgIGNvZGUxID0gY29kZTIgPSAwOwogICAgICAgICAgICAgIGlmIChibGFja1BpeGVscykgewogICAgICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgICBjb2RlMSArPSAoY29kZTMgPSB0aGlzLmdldEJsYWNrQ29kZSgpKTsKICAgICAgICAgICAgICAgIH0gd2hpbGUgKGNvZGUzID49IDY0KTsKICAgICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgY29kZTIgKz0gKGNvZGUzID0gdGhpcy5nZXRXaGl0ZUNvZGUoKSk7CiAgICAgICAgICAgICAgICB9IHdoaWxlIChjb2RlMyA+PSA2NCk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICAgY29kZTEgKz0gKGNvZGUzID0gdGhpcy5nZXRXaGl0ZUNvZGUoKSk7CiAgICAgICAgICAgICAgICB9IHdoaWxlIChjb2RlMyA+PSA2NCk7CiAgICAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgIGNvZGUyICs9IChjb2RlMyA9IHRoaXMuZ2V0QmxhY2tDb2RlKCkpOwogICAgICAgICAgICAgICAgfSB3aGlsZSAoY29kZTMgPj0gNjQpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB0aGlzLmFkZFBpeGVscyhjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZTEsIGJsYWNrUGl4ZWxzKTsKICAgICAgICAgICAgICBpZiAoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICB0aGlzLmFkZFBpeGVscyhjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSArIGNvZGUyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2tQaXhlbHMgXiAxKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgd2hpbGUgKHJlZkxpbmVbcmVmUG9zXSA8PSBjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSAmJgogICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICByZWZQb3MgKz0gMjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgdHdvRGltVmVydFIzOgogICAgICAgICAgICAgIHRoaXMuYWRkUGl4ZWxzKHJlZkxpbmVbcmVmUG9zXSArIDMsIGJsYWNrUGl4ZWxzKTsKICAgICAgICAgICAgICBibGFja1BpeGVscyBePSAxOwogICAgICAgICAgICAgIGlmIChjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICAgICAgICAgICsrcmVmUG9zOwogICAgICAgICAgICAgICAgd2hpbGUgKHJlZkxpbmVbcmVmUG9zXSA8PSBjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSAmJgogICAgICAgICAgICAgICAgICAgICAgIHJlZkxpbmVbcmVmUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICAgICAgICAgICAgcmVmUG9zICs9IDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIHR3b0RpbVZlcnRSMjoKICAgICAgICAgICAgICB0aGlzLmFkZFBpeGVscyhyZWZMaW5lW3JlZlBvc10gKyAyLCBibGFja1BpeGVscyk7CiAgICAgICAgICAgICAgYmxhY2tQaXhlbHMgXj0gMTsKICAgICAgICAgICAgICBpZiAoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSB0d29EaW1WZXJ0UjE6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMocmVmTGluZVtyZWZQb3NdICsgMSwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGJsYWNrUGl4ZWxzIF49IDE7CiAgICAgICAgICAgICAgaWYgKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgKytyZWZQb3M7CiAgICAgICAgICAgICAgICB3aGlsZSAocmVmTGluZVtyZWZQb3NdIDw9IGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdICYmCiAgICAgICAgICAgICAgICAgICAgICAgcmVmTGluZVtyZWZQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgICByZWZQb3MgKz0gMjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgdHdvRGltVmVydDA6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMocmVmTGluZVtyZWZQb3NdLCBibGFja1BpeGVscyk7CiAgICAgICAgICAgICAgYmxhY2tQaXhlbHMgXj0gMTsKICAgICAgICAgICAgICBpZiAoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSB0d29EaW1WZXJ0TDM6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHNOZWcocmVmTGluZVtyZWZQb3NdIC0gMywgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGJsYWNrUGl4ZWxzIF49IDE7CiAgICAgICAgICAgICAgaWYgKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgaWYgKHJlZlBvcyA+IDApIHsKICAgICAgICAgICAgICAgICAgLS1yZWZQb3M7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSB0d29EaW1WZXJ0TDI6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHNOZWcocmVmTGluZVtyZWZQb3NdIC0gMiwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGJsYWNrUGl4ZWxzIF49IDE7CiAgICAgICAgICAgICAgaWYgKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgaWYgKHJlZlBvcyA+IDApIHsKICAgICAgICAgICAgICAgICAgLS1yZWZQb3M7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSB0d29EaW1WZXJ0TDE6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHNOZWcocmVmTGluZVtyZWZQb3NdIC0gMSwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgICAgIGJsYWNrUGl4ZWxzIF49IDE7CiAgICAgICAgICAgICAgaWYgKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIDwgY29sdW1ucykgewogICAgICAgICAgICAgICAgaWYgKHJlZlBvcyA+IDApIHsKICAgICAgICAgICAgICAgICAgLS1yZWZQb3M7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICArK3JlZlBvczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdoaWxlIChyZWZMaW5lW3JlZlBvc10gPD0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gJiYKICAgICAgICAgICAgICAgICAgICAgICByZWZMaW5lW3JlZlBvc10gPCBjb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgIHJlZlBvcyArPSAyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBFT0Y6CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMoY29sdW1ucywgMCk7CiAgICAgICAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIGluZm8oJ2JhZCAyZCBjb2RlJyk7CiAgICAgICAgICAgICAgdGhpcy5hZGRQaXhlbHMoY29sdW1ucywgMCk7CiAgICAgICAgICAgICAgdGhpcy5lcnIgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBjb2RpbmdMaW5lWzBdID0gMDsKICAgICAgICB0aGlzLmNvZGluZ1BvcyA9IDA7CiAgICAgICAgYmxhY2tQaXhlbHMgPSAwOwogICAgICAgIHdoaWxlIChjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICAgIGNvZGUxID0gMDsKICAgICAgICAgIGlmIChibGFja1BpeGVscykgewogICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgY29kZTEgKz0gKGNvZGUzID0gdGhpcy5nZXRCbGFja0NvZGUoKSk7CiAgICAgICAgICAgIH0gd2hpbGUgKGNvZGUzID49IDY0KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICBjb2RlMSArPSAoY29kZTMgPSB0aGlzLmdldFdoaXRlQ29kZSgpKTsKICAgICAgICAgICAgfSB3aGlsZSAoY29kZTMgPj0gNjQpOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy5hZGRQaXhlbHMoY29kaW5nTGluZVt0aGlzLmNvZGluZ1Bvc10gKyBjb2RlMSwgYmxhY2tQaXhlbHMpOwogICAgICAgICAgYmxhY2tQaXhlbHMgXj0gMTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciBnb3RFT0wgPSBmYWxzZTsKCiAgICAgIGlmICh0aGlzLmJ5dGVBbGlnbikgewogICAgICAgIHRoaXMuaW5wdXRCaXRzICY9IH43OwogICAgICB9CgogICAgICBpZiAoIXRoaXMuZW9ibG9jayAmJiB0aGlzLnJvdyA9PT0gdGhpcy5yb3dzIC0gMSkgewogICAgICAgIHRoaXMuZW9mID0gdHJ1ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgIGlmICh0aGlzLmVvbGluZSkgewogICAgICAgICAgd2hpbGUgKGNvZGUxICE9PSBFT0YgJiYgY29kZTEgIT09IDEpIHsKICAgICAgICAgICAgdGhpcy5lYXRCaXRzKDEpOwogICAgICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB3aGlsZSAoY29kZTEgPT09IDApIHsKICAgICAgICAgICAgdGhpcy5lYXRCaXRzKDEpOwogICAgICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoY29kZTEgPT09IDEpIHsKICAgICAgICAgIHRoaXMuZWF0Qml0cygxMik7CiAgICAgICAgICBnb3RFT0wgPSB0cnVlOwogICAgICAgIH0gZWxzZSBpZiAoY29kZTEgPT09IEVPRikgewogICAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKCF0aGlzLmVvZiAmJiB0aGlzLmVuY29kaW5nID4gMCkgewogICAgICAgIHRoaXMubmV4dExpbmUyRCA9ICF0aGlzLmxvb2tCaXRzKDEpOwogICAgICAgIHRoaXMuZWF0Qml0cygxKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuZW9ibG9jayAmJiBnb3RFT0wgJiYgdGhpcy5ieXRlQWxpZ24pIHsKICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgIGlmIChjb2RlMSA9PT0gMSkgewogICAgICAgICAgdGhpcy5lYXRCaXRzKDEyKTsKICAgICAgICAgIGlmICh0aGlzLmVuY29kaW5nID4gMCkgewogICAgICAgICAgICB0aGlzLmxvb2tCaXRzKDEpOwogICAgICAgICAgICB0aGlzLmVhdEJpdHMoMSk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAodGhpcy5lbmNvZGluZyA+PSAwKSB7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKICAgICAgICAgICAgICBjb2RlMSA9IHRoaXMubG9va0JpdHMoMTIpOwogICAgICAgICAgICAgIGlmIChjb2RlMSAhPT0gMSkgewogICAgICAgICAgICAgICAgaW5mbygnYmFkIHJ0YyBjb2RlOiAnICsgY29kZTEpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB0aGlzLmVhdEJpdHMoMTIpOwogICAgICAgICAgICAgIGlmICh0aGlzLmVuY29kaW5nID4gMCkgewogICAgICAgICAgICAgICAgdGhpcy5sb29rQml0cygxKTsKICAgICAgICAgICAgICAgIHRoaXMuZWF0Qml0cygxKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIHRoaXMuZW9mID0gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAodGhpcy5lcnIgJiYgdGhpcy5lb2xpbmUpIHsKICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgY29kZTEgPSB0aGlzLmxvb2tCaXRzKDEzKTsKICAgICAgICAgIGlmIChjb2RlMSA9PT0gRU9GKSB7CiAgICAgICAgICAgIHRoaXMuZW9mID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoKGNvZGUxID4+IDEpID09PSAxKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy5lYXRCaXRzKDEpOwogICAgICAgIH0KICAgICAgICB0aGlzLmVhdEJpdHMoMTIpOwogICAgICAgIGlmICh0aGlzLmVuY29kaW5nID4gMCkgewogICAgICAgICAgdGhpcy5lYXRCaXRzKDEpOwogICAgICAgICAgdGhpcy5uZXh0TGluZTJEID0gIShjb2RlMSAmIDEpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGNvZGluZ0xpbmVbMF0gPiAwKSB7CiAgICAgICAgdGhpcy5vdXRwdXRCaXRzID0gY29kaW5nTGluZVt0aGlzLmNvZGluZ1BvcyA9IDBdOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMub3V0cHV0Qml0cyA9IGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3MgPSAxXTsKICAgICAgfQogICAgICB0aGlzLnJvdysrOwogICAgfQoKICAgIHZhciBjOwogICAgaWYgKHRoaXMub3V0cHV0Qml0cyA+PSA4KSB7CiAgICAgIGMgPSAodGhpcy5jb2RpbmdQb3MgJiAxKSA/IDAgOiAweEZGOwogICAgICB0aGlzLm91dHB1dEJpdHMgLT0gODsKICAgICAgaWYgKHRoaXMub3V0cHV0Qml0cyA9PT0gMCAmJiBjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICB0aGlzLmNvZGluZ1BvcysrOwogICAgICAgIHRoaXMub3V0cHV0Qml0cyA9IChjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSAtCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3MgLSAxXSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGJpdHMgPSA4OwogICAgICBjID0gMDsKICAgICAgZG8gewogICAgICAgIGlmICh0aGlzLm91dHB1dEJpdHMgPiBiaXRzKSB7CiAgICAgICAgICBjIDw8PSBiaXRzOwogICAgICAgICAgaWYgKCEodGhpcy5jb2RpbmdQb3MgJiAxKSkgewogICAgICAgICAgICBjIHw9IDB4RkYgPj4gKDggLSBiaXRzKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMub3V0cHV0Qml0cyAtPSBiaXRzOwogICAgICAgICAgYml0cyA9IDA7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGMgPDw9IHRoaXMub3V0cHV0Qml0czsKICAgICAgICAgIGlmICghKHRoaXMuY29kaW5nUG9zICYgMSkpIHsKICAgICAgICAgICAgYyB8PSAweEZGID4+ICg4IC0gdGhpcy5vdXRwdXRCaXRzKTsKICAgICAgICAgIH0KICAgICAgICAgIGJpdHMgLT0gdGhpcy5vdXRwdXRCaXRzOwogICAgICAgICAgdGhpcy5vdXRwdXRCaXRzID0gMDsKICAgICAgICAgIGlmIChjb2RpbmdMaW5lW3RoaXMuY29kaW5nUG9zXSA8IGNvbHVtbnMpIHsKICAgICAgICAgICAgdGhpcy5jb2RpbmdQb3MrKzsKICAgICAgICAgICAgdGhpcy5vdXRwdXRCaXRzID0gKGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3NdIC0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGluZ0xpbmVbdGhpcy5jb2RpbmdQb3MgLSAxXSk7CiAgICAgICAgICB9IGVsc2UgaWYgKGJpdHMgPiAwKSB7CiAgICAgICAgICAgIGMgPDw9IGJpdHM7CiAgICAgICAgICAgIGJpdHMgPSAwOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSB3aGlsZSAoYml0cyk7CiAgICB9CiAgICBpZiAodGhpcy5ibGFjaykgewogICAgICBjIF49IDB4RkY7CiAgICB9CiAgICByZXR1cm4gYzsKICB9OwoKICAvLyBUaGlzIGZ1bmN0aW9ucyByZXR1cm5zIHRoZSBjb2RlIGZvdW5kIGZyb20gdGhlIHRhYmxlLgogIC8vIFRoZSBzdGFydCBhbmQgZW5kIHBhcmFtZXRlcnMgc2V0IHRoZSBib3VuZGFyaWVzIGZvciBzZWFyY2hpbmcgdGhlIHRhYmxlLgogIC8vIFRoZSBsaW1pdCBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuIEZ1bmN0aW9uIHJldHVybnMgYW4gYXJyYXkgd2l0aCB0aHJlZQogIC8vIHZhbHVlcy4gVGhlIGZpcnN0IGFycmF5IGVsZW1lbnQgaW5kaWNhdGVzIHdoZXRoZXIgYSB2YWxpZCBjb2RlIGlzIGJlaW5nCiAgLy8gcmV0dXJuZWQuIFRoZSBzZWNvbmQgYXJyYXkgZWxlbWVudCBpcyB0aGUgYWN0dWFsIGNvZGUuIFRoZSB0aGlyZCBhcnJheQogIC8vIGVsZW1lbnQgaW5kaWNhdGVzIHdoZXRoZXIgRU9GIHdhcyByZWFjaGVkLgogIENDSVRURmF4U3RyZWFtLnByb3RvdHlwZS5maW5kVGFibGVDb2RlID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1GaW5kVGFibGVDb2RlKHN0YXJ0LCBlbmQsIHRhYmxlLCBsaW1pdCkgewoKICAgIHZhciBsaW1pdFZhbHVlID0gbGltaXQgfHwgMDsKICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8PSBlbmQ7ICsraSkgewogICAgICB2YXIgY29kZSA9IHRoaXMubG9va0JpdHMoaSk7CiAgICAgIGlmIChjb2RlID09PSBFT0YpIHsKICAgICAgICByZXR1cm4gW3RydWUsIDEsIGZhbHNlXTsKICAgICAgfQogICAgICBpZiAoaSA8IGVuZCkgewogICAgICAgIGNvZGUgPDw9IGVuZCAtIGk7CiAgICAgIH0KICAgICAgaWYgKCFsaW1pdFZhbHVlIHx8IGNvZGUgPj0gbGltaXRWYWx1ZSkgewogICAgICAgIHZhciBwID0gdGFibGVbY29kZSAtIGxpbWl0VmFsdWVdOwogICAgICAgIGlmIChwWzBdID09PSBpKSB7CiAgICAgICAgICB0aGlzLmVhdEJpdHMoaSk7CiAgICAgICAgICByZXR1cm4gW3RydWUsIHBbMV0sIHRydWVdOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIFtmYWxzZSwgMCwgZmFsc2VdOwogIH07CgogIENDSVRURmF4U3RyZWFtLnByb3RvdHlwZS5nZXRUd29EaW1Db2RlID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1HZXRUd29EaW1Db2RlKCkgewoKICAgIHZhciBjb2RlID0gMDsKICAgIHZhciBwOwogICAgaWYgKHRoaXMuZW9ibG9jaykgewogICAgICBjb2RlID0gdGhpcy5sb29rQml0cyg3KTsKICAgICAgcCA9IHR3b0RpbVRhYmxlW2NvZGVdOwogICAgICBpZiAocCAmJiBwWzBdID4gMCkgewogICAgICAgIHRoaXMuZWF0Qml0cyhwWzBdKTsKICAgICAgICByZXR1cm4gcFsxXTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuZmluZFRhYmxlQ29kZSgxLCA3LCB0d29EaW1UYWJsZSk7CiAgICAgIGlmIChyZXN1bHRbMF0gJiYgcmVzdWx0WzJdKSB7CiAgICAgICAgcmV0dXJuIHJlc3VsdFsxXTsKICAgICAgfQogICAgfQogICAgaW5mbygnQmFkIHR3byBkaW0gY29kZScpOwogICAgcmV0dXJuIEVPRjsKICB9OwoKICBDQ0lUVEZheFN0cmVhbS5wcm90b3R5cGUuZ2V0V2hpdGVDb2RlID0KICAgICAgZnVuY3Rpb24gY2NpdHRGYXhTdHJlYW1HZXRXaGl0ZUNvZGUoKSB7CgogICAgdmFyIGNvZGUgPSAwOwogICAgdmFyIHA7CiAgICBpZiAodGhpcy5lb2Jsb2NrKSB7CiAgICAgIGNvZGUgPSB0aGlzLmxvb2tCaXRzKDEyKTsKICAgICAgaWYgKGNvZGUgPT09IEVPRikgewogICAgICAgIHJldHVybiAxOwogICAgICB9CgogICAgICBpZiAoKGNvZGUgPj4gNSkgPT09IDApIHsKICAgICAgICBwID0gd2hpdGVUYWJsZTFbY29kZV07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcCA9IHdoaXRlVGFibGUyW2NvZGUgPj4gM107CiAgICAgIH0KCiAgICAgIGlmIChwWzBdID4gMCkgewogICAgICAgIHRoaXMuZWF0Qml0cyhwWzBdKTsKICAgICAgICByZXR1cm4gcFsxXTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuZmluZFRhYmxlQ29kZSgxLCA5LCB3aGl0ZVRhYmxlMik7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CgogICAgICByZXN1bHQgPSB0aGlzLmZpbmRUYWJsZUNvZGUoMTEsIDEyLCB3aGl0ZVRhYmxlMSk7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CiAgICB9CiAgICBpbmZvKCdiYWQgd2hpdGUgY29kZScpOwogICAgdGhpcy5lYXRCaXRzKDEpOwogICAgcmV0dXJuIDE7CiAgfTsKCiAgQ0NJVFRGYXhTdHJlYW0ucHJvdG90eXBlLmdldEJsYWNrQ29kZSA9CiAgICAgIGZ1bmN0aW9uIGNjaXR0RmF4U3RyZWFtR2V0QmxhY2tDb2RlKCkgewoKICAgIHZhciBjb2RlLCBwOwogICAgaWYgKHRoaXMuZW9ibG9jaykgewogICAgICBjb2RlID0gdGhpcy5sb29rQml0cygxMyk7CiAgICAgIGlmIChjb2RlID09PSBFT0YpIHsKICAgICAgICByZXR1cm4gMTsKICAgICAgfQogICAgICBpZiAoKGNvZGUgPj4gNykgPT09IDApIHsKICAgICAgICBwID0gYmxhY2tUYWJsZTFbY29kZV07CiAgICAgIH0gZWxzZSBpZiAoKGNvZGUgPj4gOSkgPT09IDAgJiYgKGNvZGUgPj4gNykgIT09IDApIHsKICAgICAgICBwID0gYmxhY2tUYWJsZTJbKGNvZGUgPj4gMSkgLSA2NF07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcCA9IGJsYWNrVGFibGUzW2NvZGUgPj4gN107CiAgICAgIH0KCiAgICAgIGlmIChwWzBdID4gMCkgewogICAgICAgIHRoaXMuZWF0Qml0cyhwWzBdKTsKICAgICAgICByZXR1cm4gcFsxXTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuZmluZFRhYmxlQ29kZSgyLCA2LCBibGFja1RhYmxlMyk7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CgogICAgICByZXN1bHQgPSB0aGlzLmZpbmRUYWJsZUNvZGUoNywgMTIsIGJsYWNrVGFibGUyLCA2NCk7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CgogICAgICByZXN1bHQgPSB0aGlzLmZpbmRUYWJsZUNvZGUoMTAsIDEzLCBibGFja1RhYmxlMSk7CiAgICAgIGlmIChyZXN1bHRbMF0pIHsKICAgICAgICByZXR1cm4gcmVzdWx0WzFdOwogICAgICB9CiAgICB9CiAgICBpbmZvKCdiYWQgYmxhY2sgY29kZScpOwogICAgdGhpcy5lYXRCaXRzKDEpOwogICAgcmV0dXJuIDE7CiAgfTsKCiAgQ0NJVFRGYXhTdHJlYW0ucHJvdG90eXBlLmxvb2tCaXRzID0gZnVuY3Rpb24gQ0NJVFRGYXhTdHJlYW1fbG9va0JpdHMobikgewogICAgdmFyIGM7CiAgICB3aGlsZSAodGhpcy5pbnB1dEJpdHMgPCBuKSB7CiAgICAgIGlmICgoYyA9IHRoaXMuc3RyLmdldEJ5dGUoKSkgPT09IC0xKSB7CiAgICAgICAgaWYgKHRoaXMuaW5wdXRCaXRzID09PSAwKSB7CiAgICAgICAgICByZXR1cm4gRU9GOwogICAgICAgIH0KICAgICAgICByZXR1cm4gKCh0aGlzLmlucHV0QnVmIDw8IChuIC0gdGhpcy5pbnB1dEJpdHMpKSAmCiAgICAgICAgICAgICAgICAoMHhGRkZGID4+ICgxNiAtIG4pKSk7CiAgICAgIH0KICAgICAgdGhpcy5pbnB1dEJ1ZiA9ICh0aGlzLmlucHV0QnVmIDw8IDgpICsgYzsKICAgICAgdGhpcy5pbnB1dEJpdHMgKz0gODsKICAgIH0KICAgIHJldHVybiAodGhpcy5pbnB1dEJ1ZiA+PiAodGhpcy5pbnB1dEJpdHMgLSBuKSkgJiAoMHhGRkZGID4+ICgxNiAtIG4pKTsKICB9OwoKICBDQ0lUVEZheFN0cmVhbS5wcm90b3R5cGUuZWF0Qml0cyA9IGZ1bmN0aW9uIENDSVRURmF4U3RyZWFtX2VhdEJpdHMobikgewogICAgaWYgKCh0aGlzLmlucHV0Qml0cyAtPSBuKSA8IDApIHsKICAgICAgdGhpcy5pbnB1dEJpdHMgPSAwOwogICAgfQogIH07CgogIHJldHVybiBDQ0lUVEZheFN0cmVhbTsKfSkoKTsKCnZhciBMWldTdHJlYW0gPSAoZnVuY3Rpb24gTFpXU3RyZWFtQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBMWldTdHJlYW0oc3RyLCBtYXliZUxlbmd0aCwgZWFybHlDaGFuZ2UpIHsKICAgIHRoaXMuc3RyID0gc3RyOwogICAgdGhpcy5kaWN0ID0gc3RyLmRpY3Q7CiAgICB0aGlzLmNhY2hlZERhdGEgPSAwOwogICAgdGhpcy5iaXRzQ2FjaGVkID0gMDsKCiAgICB2YXIgbWF4THp3RGljdGlvbmFyeVNpemUgPSA0MDk2OwogICAgdmFyIGx6d1N0YXRlID0gewogICAgICBlYXJseUNoYW5nZTogZWFybHlDaGFuZ2UsCiAgICAgIGNvZGVMZW5ndGg6IDksCiAgICAgIG5leHRDb2RlOiAyNTgsCiAgICAgIGRpY3Rpb25hcnlWYWx1ZXM6IG5ldyBVaW50OEFycmF5KG1heEx6d0RpY3Rpb25hcnlTaXplKSwKICAgICAgZGljdGlvbmFyeUxlbmd0aHM6IG5ldyBVaW50MTZBcnJheShtYXhMendEaWN0aW9uYXJ5U2l6ZSksCiAgICAgIGRpY3Rpb25hcnlQcmV2Q29kZXM6IG5ldyBVaW50MTZBcnJheShtYXhMendEaWN0aW9uYXJ5U2l6ZSksCiAgICAgIGN1cnJlbnRTZXF1ZW5jZTogbmV3IFVpbnQ4QXJyYXkobWF4THp3RGljdGlvbmFyeVNpemUpLAogICAgICBjdXJyZW50U2VxdWVuY2VMZW5ndGg6IDAKICAgIH07CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI1NjsgKytpKSB7CiAgICAgIGx6d1N0YXRlLmRpY3Rpb25hcnlWYWx1ZXNbaV0gPSBpOwogICAgICBsendTdGF0ZS5kaWN0aW9uYXJ5TGVuZ3Roc1tpXSA9IDE7CiAgICB9CiAgICB0aGlzLmx6d1N0YXRlID0gbHp3U3RhdGU7CgogICAgRGVjb2RlU3RyZWFtLmNhbGwodGhpcywgbWF5YmVMZW5ndGgpOwogIH0KCiAgTFpXU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRGVjb2RlU3RyZWFtLnByb3RvdHlwZSk7CgogIExaV1N0cmVhbS5wcm90b3R5cGUucmVhZEJpdHMgPSBmdW5jdGlvbiBMWldTdHJlYW1fcmVhZEJpdHMobikgewogICAgdmFyIGJpdHNDYWNoZWQgPSB0aGlzLmJpdHNDYWNoZWQ7CiAgICB2YXIgY2FjaGVkRGF0YSA9IHRoaXMuY2FjaGVkRGF0YTsKICAgIHdoaWxlIChiaXRzQ2FjaGVkIDwgbikgewogICAgICB2YXIgYyA9IHRoaXMuc3RyLmdldEJ5dGUoKTsKICAgICAgaWYgKGMgPT09IC0xKSB7CiAgICAgICAgdGhpcy5lb2YgPSB0cnVlOwogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICAgIGNhY2hlZERhdGEgPSAoY2FjaGVkRGF0YSA8PCA4KSB8IGM7CiAgICAgIGJpdHNDYWNoZWQgKz0gODsKICAgIH0KICAgIHRoaXMuYml0c0NhY2hlZCA9IChiaXRzQ2FjaGVkIC09IG4pOwogICAgdGhpcy5jYWNoZWREYXRhID0gY2FjaGVkRGF0YTsKICAgIHRoaXMubGFzdENvZGUgPSBudWxsOwogICAgcmV0dXJuIChjYWNoZWREYXRhID4+PiBiaXRzQ2FjaGVkKSAmICgoMSA8PCBuKSAtIDEpOwogIH07CgogIExaV1N0cmVhbS5wcm90b3R5cGUucmVhZEJsb2NrID0gZnVuY3Rpb24gTFpXU3RyZWFtX3JlYWRCbG9jaygpIHsKICAgIHZhciBibG9ja1NpemUgPSA1MTI7CiAgICB2YXIgZXN0aW1hdGVkRGVjb2RlZFNpemUgPSBibG9ja1NpemUgKiAyLCBkZWNvZGVkU2l6ZURlbHRhID0gYmxvY2tTaXplOwogICAgdmFyIGksIGosIHE7CgogICAgdmFyIGx6d1N0YXRlID0gdGhpcy5sendTdGF0ZTsKICAgIGlmICghbHp3U3RhdGUpIHsKICAgICAgcmV0dXJuOyAvLyBlb2Ygd2FzIGZvdW5kCiAgICB9CgogICAgdmFyIGVhcmx5Q2hhbmdlID0gbHp3U3RhdGUuZWFybHlDaGFuZ2U7CiAgICB2YXIgbmV4dENvZGUgPSBsendTdGF0ZS5uZXh0Q29kZTsKICAgIHZhciBkaWN0aW9uYXJ5VmFsdWVzID0gbHp3U3RhdGUuZGljdGlvbmFyeVZhbHVlczsKICAgIHZhciBkaWN0aW9uYXJ5TGVuZ3RocyA9IGx6d1N0YXRlLmRpY3Rpb25hcnlMZW5ndGhzOwogICAgdmFyIGRpY3Rpb25hcnlQcmV2Q29kZXMgPSBsendTdGF0ZS5kaWN0aW9uYXJ5UHJldkNvZGVzOwogICAgdmFyIGNvZGVMZW5ndGggPSBsendTdGF0ZS5jb2RlTGVuZ3RoOwogICAgdmFyIHByZXZDb2RlID0gbHp3U3RhdGUucHJldkNvZGU7CiAgICB2YXIgY3VycmVudFNlcXVlbmNlID0gbHp3U3RhdGUuY3VycmVudFNlcXVlbmNlOwogICAgdmFyIGN1cnJlbnRTZXF1ZW5jZUxlbmd0aCA9IGx6d1N0YXRlLmN1cnJlbnRTZXF1ZW5jZUxlbmd0aDsKCiAgICB2YXIgZGVjb2RlZExlbmd0aCA9IDA7CiAgICB2YXIgY3VycmVudEJ1ZmZlckxlbmd0aCA9IHRoaXMuYnVmZmVyTGVuZ3RoOwogICAgdmFyIGJ1ZmZlciA9IHRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoICsgZXN0aW1hdGVkRGVjb2RlZFNpemUpOwoKICAgIGZvciAoaSA9IDA7IGkgPCBibG9ja1NpemU7IGkrKykgewogICAgICB2YXIgY29kZSA9IHRoaXMucmVhZEJpdHMoY29kZUxlbmd0aCk7CiAgICAgIHZhciBoYXNQcmV2ID0gY3VycmVudFNlcXVlbmNlTGVuZ3RoID4gMDsKICAgICAgaWYgKGNvZGUgPCAyNTYpIHsKICAgICAgICBjdXJyZW50U2VxdWVuY2VbMF0gPSBjb2RlOwogICAgICAgIGN1cnJlbnRTZXF1ZW5jZUxlbmd0aCA9IDE7CiAgICAgIH0gZWxzZSBpZiAoY29kZSA+PSAyNTgpIHsKICAgICAgICBpZiAoY29kZSA8IG5leHRDb2RlKSB7CiAgICAgICAgICBjdXJyZW50U2VxdWVuY2VMZW5ndGggPSBkaWN0aW9uYXJ5TGVuZ3Roc1tjb2RlXTsKICAgICAgICAgIGZvciAoaiA9IGN1cnJlbnRTZXF1ZW5jZUxlbmd0aCAtIDEsIHEgPSBjb2RlOyBqID49IDA7IGotLSkgewogICAgICAgICAgICBjdXJyZW50U2VxdWVuY2Vbal0gPSBkaWN0aW9uYXJ5VmFsdWVzW3FdOwogICAgICAgICAgICBxID0gZGljdGlvbmFyeVByZXZDb2Rlc1txXTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgY3VycmVudFNlcXVlbmNlW2N1cnJlbnRTZXF1ZW5jZUxlbmd0aCsrXSA9IGN1cnJlbnRTZXF1ZW5jZVswXTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gMjU2KSB7CiAgICAgICAgY29kZUxlbmd0aCA9IDk7CiAgICAgICAgbmV4dENvZGUgPSAyNTg7CiAgICAgICAgY3VycmVudFNlcXVlbmNlTGVuZ3RoID0gMDsKICAgICAgICBjb250aW51ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmVvZiA9IHRydWU7CiAgICAgICAgZGVsZXRlIHRoaXMubHp3U3RhdGU7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KCiAgICAgIGlmIChoYXNQcmV2KSB7CiAgICAgICAgZGljdGlvbmFyeVByZXZDb2Rlc1tuZXh0Q29kZV0gPSBwcmV2Q29kZTsKICAgICAgICBkaWN0aW9uYXJ5TGVuZ3Roc1tuZXh0Q29kZV0gPSBkaWN0aW9uYXJ5TGVuZ3Roc1twcmV2Q29kZV0gKyAxOwogICAgICAgIGRpY3Rpb25hcnlWYWx1ZXNbbmV4dENvZGVdID0gY3VycmVudFNlcXVlbmNlWzBdOwogICAgICAgIG5leHRDb2RlKys7CiAgICAgICAgY29kZUxlbmd0aCA9IChuZXh0Q29kZSArIGVhcmx5Q2hhbmdlKSAmIChuZXh0Q29kZSArIGVhcmx5Q2hhbmdlIC0gMSkgPwogICAgICAgICAgY29kZUxlbmd0aCA6IE1hdGgubWluKE1hdGgubG9nKG5leHRDb2RlICsgZWFybHlDaGFuZ2UpIC8KICAgICAgICAgIDAuNjkzMTQ3MTgwNTU5OTQ1MyArIDEsIDEyKSB8IDA7CiAgICAgIH0KICAgICAgcHJldkNvZGUgPSBjb2RlOwoKICAgICAgZGVjb2RlZExlbmd0aCArPSBjdXJyZW50U2VxdWVuY2VMZW5ndGg7CiAgICAgIGlmIChlc3RpbWF0ZWREZWNvZGVkU2l6ZSA8IGRlY29kZWRMZW5ndGgpIHsKICAgICAgICBkbyB7CiAgICAgICAgICBlc3RpbWF0ZWREZWNvZGVkU2l6ZSArPSBkZWNvZGVkU2l6ZURlbHRhOwogICAgICAgIH0gd2hpbGUgKGVzdGltYXRlZERlY29kZWRTaXplIDwgZGVjb2RlZExlbmd0aCk7CiAgICAgICAgYnVmZmVyID0gdGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGggKyBlc3RpbWF0ZWREZWNvZGVkU2l6ZSk7CiAgICAgIH0KICAgICAgZm9yIChqID0gMDsgaiA8IGN1cnJlbnRTZXF1ZW5jZUxlbmd0aDsgaisrKSB7CiAgICAgICAgYnVmZmVyW2N1cnJlbnRCdWZmZXJMZW5ndGgrK10gPSBjdXJyZW50U2VxdWVuY2Vbal07CiAgICAgIH0KICAgIH0KICAgIGx6d1N0YXRlLm5leHRDb2RlID0gbmV4dENvZGU7CiAgICBsendTdGF0ZS5jb2RlTGVuZ3RoID0gY29kZUxlbmd0aDsKICAgIGx6d1N0YXRlLnByZXZDb2RlID0gcHJldkNvZGU7CiAgICBsendTdGF0ZS5jdXJyZW50U2VxdWVuY2VMZW5ndGggPSBjdXJyZW50U2VxdWVuY2VMZW5ndGg7CgogICAgdGhpcy5idWZmZXJMZW5ndGggPSBjdXJyZW50QnVmZmVyTGVuZ3RoOwogIH07CgogIHJldHVybiBMWldTdHJlYW07Cn0pKCk7Cgp2YXIgTnVsbFN0cmVhbSA9IChmdW5jdGlvbiBOdWxsU3RyZWFtQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBOdWxsU3RyZWFtKCkgewogICAgU3RyZWFtLmNhbGwodGhpcywgbmV3IFVpbnQ4QXJyYXkoMCkpOwogIH0KCiAgTnVsbFN0cmVhbS5wcm90b3R5cGUgPSBTdHJlYW0ucHJvdG90eXBlOwoKICByZXR1cm4gTnVsbFN0cmVhbTsKfSkoKTsKCgp2YXIgV29ya2VyTWVzc2FnZUhhbmRsZXIgPSBQREZKUy5Xb3JrZXJNZXNzYWdlSGFuZGxlciA9IHsKICBzZXR1cDogZnVuY3Rpb24gd3BoU2V0dXAoaGFuZGxlcikgewogICAgdmFyIHBkZk1hbmFnZXI7CgogICAgZnVuY3Rpb24gbG9hZERvY3VtZW50KHJlY292ZXJ5TW9kZSkgewogICAgICB2YXIgbG9hZERvY3VtZW50Q2FwYWJpbGl0eSA9IGNyZWF0ZVByb21pc2VDYXBhYmlsaXR5KCk7CgogICAgICB2YXIgcGFyc2VTdWNjZXNzID0gZnVuY3Rpb24gcGFyc2VTdWNjZXNzKCkgewogICAgICAgIHZhciBudW1QYWdlc1Byb21pc2UgPSBwZGZNYW5hZ2VyLmVuc3VyZURvYygnbnVtUGFnZXMnKTsKICAgICAgICB2YXIgZmluZ2VycHJpbnRQcm9taXNlID0gcGRmTWFuYWdlci5lbnN1cmVEb2MoJ2ZpbmdlcnByaW50Jyk7CiAgICAgICAgdmFyIGVuY3J5cHRlZFByb21pc2UgPSBwZGZNYW5hZ2VyLmVuc3VyZVhSZWYoJ2VuY3J5cHQnKTsKICAgICAgICBQcm9taXNlLmFsbChbbnVtUGFnZXNQcm9taXNlLCBmaW5nZXJwcmludFByb21pc2UsCiAgICAgICAgICAgICAgICAgICAgIGVuY3J5cHRlZFByb21pc2VdKS50aGVuKGZ1bmN0aW9uIG9uRG9jUmVhZHkocmVzdWx0cykgewogICAgICAgICAgdmFyIGRvYyA9IHsKICAgICAgICAgICAgbnVtUGFnZXM6IHJlc3VsdHNbMF0sCiAgICAgICAgICAgIGZpbmdlcnByaW50OiByZXN1bHRzWzFdLAogICAgICAgICAgICBlbmNyeXB0ZWQ6ICEhcmVzdWx0c1syXSwKICAgICAgICAgIH07CiAgICAgICAgICBsb2FkRG9jdW1lbnRDYXBhYmlsaXR5LnJlc29sdmUoZG9jKTsKICAgICAgICB9LAogICAgICAgIHBhcnNlRmFpbHVyZSk7CiAgICAgIH07CgogICAgICB2YXIgcGFyc2VGYWlsdXJlID0gZnVuY3Rpb24gcGFyc2VGYWlsdXJlKGUpIHsKICAgICAgICBsb2FkRG9jdW1lbnRDYXBhYmlsaXR5LnJlamVjdChlKTsKICAgICAgfTsKCiAgICAgIHBkZk1hbmFnZXIuZW5zdXJlRG9jKCdjaGVja0hlYWRlcicsIFtdKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIHBkZk1hbmFnZXIuZW5zdXJlRG9jKCdwYXJzZVN0YXJ0WFJlZicsIFtdKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgcGRmTWFuYWdlci5lbnN1cmVEb2MoJ3BhcnNlJywgW3JlY292ZXJ5TW9kZV0pLnRoZW4oCiAgICAgICAgICAgIHBhcnNlU3VjY2VzcywgcGFyc2VGYWlsdXJlKTsKICAgICAgICB9LCBwYXJzZUZhaWx1cmUpOwogICAgICB9LCBwYXJzZUZhaWx1cmUpOwoKICAgICAgcmV0dXJuIGxvYWREb2N1bWVudENhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRQZGZNYW5hZ2VyKGRhdGEpIHsKICAgICAgdmFyIHBkZk1hbmFnZXJDYXBhYmlsaXR5ID0gY3JlYXRlUHJvbWlzZUNhcGFiaWxpdHkoKTsKCiAgICAgIHZhciBzb3VyY2UgPSBkYXRhLnNvdXJjZTsKICAgICAgdmFyIGRpc2FibGVSYW5nZSA9IGRhdGEuZGlzYWJsZVJhbmdlOwogICAgICBpZiAoc291cmNlLmRhdGEpIHsKICAgICAgICB0cnkgewogICAgICAgICAgcGRmTWFuYWdlciA9IG5ldyBMb2NhbFBkZk1hbmFnZXIoc291cmNlLmRhdGEsIHNvdXJjZS5wYXNzd29yZCk7CiAgICAgICAgICBwZGZNYW5hZ2VyQ2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgIHBkZk1hbmFnZXJDYXBhYmlsaXR5LnJlamVjdChleCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyQ2FwYWJpbGl0eS5wcm9taXNlOwogICAgICB9IGVsc2UgaWYgKHNvdXJjZS5jaHVua2VkVmlld2VyTG9hZGluZykgewogICAgICAgIHRyeSB7CiAgICAgICAgICBwZGZNYW5hZ2VyID0gbmV3IE5ldHdvcmtQZGZNYW5hZ2VyKHNvdXJjZSwgaGFuZGxlcik7CiAgICAgICAgICBwZGZNYW5hZ2VyQ2FwYWJpbGl0eS5yZXNvbHZlKCk7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgIHBkZk1hbmFnZXJDYXBhYmlsaXR5LnJlamVjdChleCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyQ2FwYWJpbGl0eS5wcm9taXNlOwogICAgICB9CgogICAgICB2YXIgbmV0d29ya01hbmFnZXIgPSBuZXcgTmV0d29ya01hbmFnZXIoc291cmNlLnVybCwgewogICAgICAgIGh0dHBIZWFkZXJzOiBzb3VyY2UuaHR0cEhlYWRlcnMsCiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzb3VyY2Uud2l0aENyZWRlbnRpYWxzCiAgICAgIH0pOwogICAgICB2YXIgY2FjaGVkQ2h1bmtzID0gW107CiAgICAgIHZhciBmdWxsUmVxdWVzdFhocklkID0gbmV0d29ya01hbmFnZXIucmVxdWVzdEZ1bGwoewogICAgICAgIG9uSGVhZGVyc1JlY2VpdmVkOiBmdW5jdGlvbiBvbkhlYWRlcnNSZWNlaXZlZCgpIHsKICAgICAgICAgIGlmIChkaXNhYmxlUmFuZ2UpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBmdWxsUmVxdWVzdFhociA9IG5ldHdvcmtNYW5hZ2VyLmdldFJlcXVlc3RYaHIoZnVsbFJlcXVlc3RYaHJJZCk7CiAgICAgICAgICBpZiAoZnVsbFJlcXVlc3RYaHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ0FjY2VwdC1SYW5nZXMnKSAhPT0gJ2J5dGVzJykgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CgogICAgICAgICAgdmFyIGNvbnRlbnRFbmNvZGluZyA9CiAgICAgICAgICAgIGZ1bGxSZXF1ZXN0WGhyLmdldFJlc3BvbnNlSGVhZGVyKCdDb250ZW50LUVuY29kaW5nJykgfHwgJ2lkZW50aXR5JzsKICAgICAgICAgIGlmIChjb250ZW50RW5jb2RpbmcgIT09ICdpZGVudGl0eScpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBsZW5ndGggPSBmdWxsUmVxdWVzdFhoci5nZXRSZXNwb25zZUhlYWRlcignQ29udGVudC1MZW5ndGgnKTsKICAgICAgICAgIGxlbmd0aCA9IHBhcnNlSW50KGxlbmd0aCwgMTApOwogICAgICAgICAgaWYgKCFpc0ludChsZW5ndGgpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICAgIHNvdXJjZS5sZW5ndGggPSBsZW5ndGg7CiAgICAgICAgICBpZiAobGVuZ3RoIDw9IDIgKiBSQU5HRV9DSFVOS19TSVpFKSB7CiAgICAgICAgICAgIC8vIFRoZSBmaWxlIHNpemUgaXMgc21hbGxlciB0aGFuIHRoZSBzaXplIG9mIHR3byBjaHVua3MsIHNvIGl0IGRvZXMKICAgICAgICAgICAgLy8gbm90IG1ha2UgYW55IHNlbnNlIHRvIGFib3J0IHRoZSByZXF1ZXN0IGFuZCByZXRyeSB3aXRoIGEgcmFuZ2UKICAgICAgICAgICAgLy8gcmVxdWVzdC4KICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIGlmIChuZXR3b3JrTWFuYWdlci5pc1N0cmVhbWluZ1JlcXVlc3QoZnVsbFJlcXVlc3RYaHJJZCkpIHsKICAgICAgICAgICAgLy8gV2UgY2FuIGNvbnRpbnVlIGZldGNoaW5nIHdoZW4gcHJvZ3Jlc3NpdmUgbG9hZGluZyBpcyBlbmFibGVkLAogICAgICAgICAgICAvLyBhbmQgd2UgZG9uJ3QgbmVlZCB0aGUgYXV0b0ZldGNoIGZlYXR1cmUuCiAgICAgICAgICAgIHNvdXJjZS5kaXNhYmxlQXV0b0ZldGNoID0gdHJ1ZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIE5PVEU6IGJ5IGNhbmNlbGxpbmcgdGhlIGZ1bGwgcmVxdWVzdCwgYW5kIHRoZW4gaXNzdWluZyByYW5nZQogICAgICAgICAgICAvLyByZXF1ZXN0cywgdGhlcmUgd2lsbCBiZSBhbiBpc3N1ZSBmb3Igc2l0ZXMgd2hlcmUgeW91IGNhbiBvbmx5CiAgICAgICAgICAgIC8vIHJlcXVlc3QgdGhlIHBkZiBvbmNlLiBIb3dldmVyLCBpZiB0aGlzIGlzIHRoZSBjYXNlLCB0aGVuIHRoZQogICAgICAgICAgICAvLyBzZXJ2ZXIgc2hvdWxkIG5vdCBiZSByZXR1cm5pbmcgdGhhdCBpdCBjYW4gc3VwcG9ydCByYW5nZQogICAgICAgICAgICAvLyByZXF1ZXN0cy4KICAgICAgICAgICAgbmV0d29ya01hbmFnZXIuYWJvcnRSZXF1ZXN0KGZ1bGxSZXF1ZXN0WGhySWQpOwogICAgICAgICAgfQoKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIHBkZk1hbmFnZXIgPSBuZXcgTmV0d29ya1BkZk1hbmFnZXIoc291cmNlLCBoYW5kbGVyKTsKICAgICAgICAgICAgcGRmTWFuYWdlckNhcGFiaWxpdHkucmVzb2x2ZShwZGZNYW5hZ2VyKTsKICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHBkZk1hbmFnZXJDYXBhYmlsaXR5LnJlamVjdChleCk7CiAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgb25Qcm9ncmVzc2l2ZURhdGE6IHNvdXJjZS5kaXNhYmxlU3RyZWFtID8gbnVsbCA6CiAgICAgICAgICAgIGZ1bmN0aW9uIG9uUHJvZ3Jlc3NpdmVEYXRhKGNodW5rKSB7CiAgICAgICAgICBpZiAoIXBkZk1hbmFnZXIpIHsKICAgICAgICAgICAgY2FjaGVkQ2h1bmtzLnB1c2goY2h1bmspOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBwZGZNYW5hZ2VyLnNlbmRQcm9ncmVzc2l2ZURhdGEoY2h1bmspOwogICAgICAgIH0sCgogICAgICAgIG9uRG9uZTogZnVuY3Rpb24gb25Eb25lKGFyZ3MpIHsKICAgICAgICAgIGlmIChwZGZNYW5hZ2VyKSB7CiAgICAgICAgICAgIHJldHVybjsgLy8gYWxyZWFkeSBwcm9jZXNzZWQKICAgICAgICAgIH0KCiAgICAgICAgICB2YXIgcGRmRmlsZTsKICAgICAgICAgIGlmIChhcmdzID09PSBudWxsKSB7CiAgICAgICAgICAgIC8vIFRPRE8gYWRkIHNvbWUgc3RyZWFtaW5nIG1hbmFnZXIsIGUuZy4gZm9yIHVua25vd24gbGVuZ3RoIGZpbGVzLgogICAgICAgICAgICAvLyBUaGUgZGF0YSB3YXMgcmV0dXJuZWQgaW4gdGhlIG9uUHJvZ3Jlc3NpdmVEYXRhLCBjb21iaW5pbmcuLi4KICAgICAgICAgICAgdmFyIHBkZkZpbGVMZW5ndGggPSAwLCBwb3MgPSAwOwogICAgICAgICAgICBjYWNoZWRDaHVua3MuZm9yRWFjaChmdW5jdGlvbiAoY2h1bmspIHsKICAgICAgICAgICAgICBwZGZGaWxlTGVuZ3RoICs9IGNodW5rLmJ5dGVMZW5ndGg7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAoc291cmNlLmxlbmd0aCAmJiBwZGZGaWxlTGVuZ3RoICE9PSBzb3VyY2UubGVuZ3RoKSB7CiAgICAgICAgICAgICAgd2FybigncmVwb3J0ZWQgSFRUUCBsZW5ndGggaXMgZGlmZmVyZW50IGZyb20gYWN0dWFsJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIHBkZkZpbGVBcnJheSA9IG5ldyBVaW50OEFycmF5KHBkZkZpbGVMZW5ndGgpOwogICAgICAgICAgICBjYWNoZWRDaHVua3MuZm9yRWFjaChmdW5jdGlvbiAoY2h1bmspIHsKICAgICAgICAgICAgICBwZGZGaWxlQXJyYXkuc2V0KG5ldyBVaW50OEFycmF5KGNodW5rKSwgcG9zKTsKICAgICAgICAgICAgICBwb3MgKz0gY2h1bmsuYnl0ZUxlbmd0aDsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHBkZkZpbGUgPSBwZGZGaWxlQXJyYXkuYnVmZmVyOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcGRmRmlsZSA9IGFyZ3MuY2h1bms7CiAgICAgICAgICB9CgogICAgICAgICAgLy8gdGhlIGRhdGEgaXMgYXJyYXksIGluc3RhbnRpYXRpbmcgZGlyZWN0bHkgZnJvbSBpdAogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcGRmTWFuYWdlciA9IG5ldyBMb2NhbFBkZk1hbmFnZXIocGRmRmlsZSwgc291cmNlLnBhc3N3b3JkKTsKICAgICAgICAgICAgcGRmTWFuYWdlckNhcGFiaWxpdHkucmVzb2x2ZSgpOwogICAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgcGRmTWFuYWdlckNhcGFiaWxpdHkucmVqZWN0KGV4KTsKICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBvbkVycm9yOiBmdW5jdGlvbiBvbkVycm9yKHN0YXR1cykgewogICAgICAgICAgdmFyIGV4Y2VwdGlvbjsKICAgICAgICAgIGlmIChzdGF0dXMgPT09IDQwNCkgewogICAgICAgICAgICBleGNlcHRpb24gPSBuZXcgTWlzc2luZ1BERkV4Y2VwdGlvbignTWlzc2luZyBQREYgIicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UudXJsICsgJyIuJyk7CiAgICAgICAgICAgIGhhbmRsZXIuc2VuZCgnTWlzc2luZ1BERicsIGV4Y2VwdGlvbik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBleGNlcHRpb24gPSBuZXcgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uKAogICAgICAgICAgICAgICdVbmV4cGVjdGVkIHNlcnZlciByZXNwb25zZSAoJyArIHN0YXR1cyArCiAgICAgICAgICAgICAgJykgd2hpbGUgcmV0cmlldmluZyBQREYgIicgKyBzb3VyY2UudXJsICsgJyIuJywgc3RhdHVzKTsKICAgICAgICAgICAgaGFuZGxlci5zZW5kKCdVbmV4cGVjdGVkUmVzcG9uc2UnLCBleGNlcHRpb24pOwogICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIG9uUHJvZ3Jlc3M6IGZ1bmN0aW9uIG9uUHJvZ3Jlc3MoZXZ0KSB7CiAgICAgICAgICBoYW5kbGVyLnNlbmQoJ0RvY1Byb2dyZXNzJywgewogICAgICAgICAgICBsb2FkZWQ6IGV2dC5sb2FkZWQsCiAgICAgICAgICAgIHRvdGFsOiBldnQubGVuZ3RoQ29tcHV0YWJsZSA/IGV2dC50b3RhbCA6IHNvdXJjZS5sZW5ndGgKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CgogICAgICByZXR1cm4gcGRmTWFuYWdlckNhcGFiaWxpdHkucHJvbWlzZTsKICAgIH0KCiAgICBoYW5kbGVyLm9uKCd0ZXN0JywgZnVuY3Rpb24gd3BoU2V0dXBUZXN0KGRhdGEpIHsKICAgICAgLy8gY2hlY2sgaWYgVWludDhBcnJheSBjYW4gYmUgc2VudCB0byB3b3JrZXIKICAgICAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKSB7CiAgICAgICAgaGFuZGxlci5zZW5kKCd0ZXN0JywgZmFsc2UpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICAvLyBtYWtpbmcgc3VyZSBwb3N0TWVzc2FnZSB0cmFuc2ZlcnMgYXJlIHdvcmtpbmcKICAgICAgdmFyIHN1cHBvcnRUcmFuc2ZlcnMgPSBkYXRhWzBdID09PSAyNTU7CiAgICAgIGhhbmRsZXIucG9zdE1lc3NhZ2VUcmFuc2ZlcnMgPSBzdXBwb3J0VHJhbnNmZXJzOwogICAgICAvLyBjaGVjayBpZiB0aGUgcmVzcG9uc2UgcHJvcGVydHkgaXMgc3VwcG9ydGVkIGJ5IHhocgogICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgIHZhciByZXNwb25zZUV4aXN0cyA9ICdyZXNwb25zZScgaW4geGhyOwogICAgICAvLyBjaGVjayBpZiB0aGUgcHJvcGVydHkgaXMgYWN0dWFsbHkgaW1wbGVtZW50ZWQKICAgICAgdHJ5IHsKICAgICAgICB2YXIgZHVtbXkgPSB4aHIucmVzcG9uc2VUeXBlOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmVzcG9uc2VFeGlzdHMgPSBmYWxzZTsKICAgICAgfQogICAgICBpZiAoIXJlc3BvbnNlRXhpc3RzKSB7CiAgICAgICAgaGFuZGxlci5zZW5kKCd0ZXN0JywgZmFsc2UpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBoYW5kbGVyLnNlbmQoJ3Rlc3QnLCB7CiAgICAgICAgc3VwcG9ydFR5cGVkQXJyYXk6IHRydWUsCiAgICAgICAgc3VwcG9ydFRyYW5zZmVyczogc3VwcG9ydFRyYW5zZmVycwogICAgICB9KTsKICAgIH0pOwoKICAgIGhhbmRsZXIub24oJ0dldERvY1JlcXVlc3QnLCBmdW5jdGlvbiB3cGhTZXR1cERvYyhkYXRhKSB7CgogICAgICB2YXIgb25TdWNjZXNzID0gZnVuY3Rpb24oZG9jKSB7CiAgICAgICAgaGFuZGxlci5zZW5kKCdHZXREb2MnLCB7IHBkZkluZm86IGRvYyB9KTsKICAgICAgfTsKCiAgICAgIHZhciBvbkZhaWx1cmUgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBQYXNzd29yZEV4Y2VwdGlvbikgewogICAgICAgICAgaWYgKGUuY29kZSA9PT0gUGFzc3dvcmRSZXNwb25zZXMuTkVFRF9QQVNTV09SRCkgewogICAgICAgICAgICBoYW5kbGVyLnNlbmQoJ05lZWRQYXNzd29yZCcsIGUpOwogICAgICAgICAgfSBlbHNlIGlmIChlLmNvZGUgPT09IFBhc3N3b3JkUmVzcG9uc2VzLklOQ09SUkVDVF9QQVNTV09SRCkgewogICAgICAgICAgICBoYW5kbGVyLnNlbmQoJ0luY29ycmVjdFBhc3N3b3JkJywgZSk7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgSW52YWxpZFBERkV4Y2VwdGlvbikgewogICAgICAgICAgaGFuZGxlci5zZW5kKCdJbnZhbGlkUERGJywgZSk7CiAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgTWlzc2luZ1BERkV4Y2VwdGlvbikgewogICAgICAgICAgaGFuZGxlci5zZW5kKCdNaXNzaW5nUERGJywgZSk7CiAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uKSB7CiAgICAgICAgICBoYW5kbGVyLnNlbmQoJ1VuZXhwZWN0ZWRSZXNwb25zZScsIGUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBoYW5kbGVyLnNlbmQoJ1Vua25vd25FcnJvcicsCiAgICAgICAgICAgICAgICAgICAgICAgbmV3IFVua25vd25FcnJvckV4Y2VwdGlvbihlLm1lc3NhZ2UsIGUudG9TdHJpbmcoKSkpOwogICAgICAgIH0KICAgICAgfTsKCiAgICAgIFBERkpTLm1heEltYWdlU2l6ZSA9IGRhdGEubWF4SW1hZ2VTaXplID09PSB1bmRlZmluZWQgPwogICAgICAgICAgICAgICAgICAgICAgICAgICAtMSA6IGRhdGEubWF4SW1hZ2VTaXplOwogICAgICBQREZKUy5kaXNhYmxlRm9udEZhY2UgPSBkYXRhLmRpc2FibGVGb250RmFjZTsKICAgICAgUERGSlMuZGlzYWJsZUNyZWF0ZU9iamVjdFVSTCA9IGRhdGEuZGlzYWJsZUNyZWF0ZU9iamVjdFVSTDsKICAgICAgUERGSlMudmVyYm9zaXR5ID0gZGF0YS52ZXJib3NpdHk7CiAgICAgIFBERkpTLmNNYXBVcmwgPSBkYXRhLmNNYXBVcmwgPT09IHVuZGVmaW5lZCA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgOiBkYXRhLmNNYXBVcmw7CiAgICAgIFBERkpTLmNNYXBQYWNrZWQgPSBkYXRhLmNNYXBQYWNrZWQgPT09IHRydWU7CgogICAgICBnZXRQZGZNYW5hZ2VyKGRhdGEpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIGhhbmRsZXIuc2VuZCgnUERGTWFuYWdlclJlYWR5JywgbnVsbCk7CiAgICAgICAgcGRmTWFuYWdlci5vbkxvYWRlZFN0cmVhbSgpLnRoZW4oZnVuY3Rpb24oc3RyZWFtKSB7CiAgICAgICAgICBoYW5kbGVyLnNlbmQoJ0RhdGFMb2FkZWQnLCB7IGxlbmd0aDogc3RyZWFtLmJ5dGVzLmJ5dGVMZW5ndGggfSk7CiAgICAgICAgfSk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gcGRmTWFuYWdlclJlYWR5KCkgewogICAgICAgIGxvYWREb2N1bWVudChmYWxzZSkudGhlbihvblN1Y2Nlc3MsIGZ1bmN0aW9uIGxvYWRGYWlsdXJlKGV4KSB7CiAgICAgICAgICAvLyBUcnkgYWdhaW4gd2l0aCByZWNvdmVyeU1vZGUgPT0gdHJ1ZQogICAgICAgICAgaWYgKCEoZXggaW5zdGFuY2VvZiBYUmVmUGFyc2VFeGNlcHRpb24pKSB7CiAgICAgICAgICAgIGlmIChleCBpbnN0YW5jZW9mIFBhc3N3b3JkRXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgLy8gYWZ0ZXIgcGFzc3dvcmQgZXhjZXB0aW9uIHByZXBhcmUgdG8gcmVjZWl2ZSBhIG5ldyBwYXNzd29yZAogICAgICAgICAgICAgIC8vIHRvIHJlcGVhdCBsb2FkaW5nCiAgICAgICAgICAgICAgcGRmTWFuYWdlci5wYXNzd29yZENoYW5nZWQoKS50aGVuKHBkZk1hbmFnZXJSZWFkeSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIG9uRmFpbHVyZShleCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICBwZGZNYW5hZ2VyLnJlcXVlc3RMb2FkZWRTdHJlYW0oKTsKICAgICAgICAgIHBkZk1hbmFnZXIub25Mb2FkZWRTdHJlYW0oKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBsb2FkRG9jdW1lbnQodHJ1ZSkudGhlbihvblN1Y2Nlc3MsIG9uRmFpbHVyZSk7CiAgICAgICAgICB9KTsKICAgICAgICB9LCBvbkZhaWx1cmUpOwogICAgICB9LCBvbkZhaWx1cmUpOwogICAgfSk7CgogICAgaGFuZGxlci5vbignR2V0UGFnZScsIGZ1bmN0aW9uIHdwaFNldHVwR2V0UGFnZShkYXRhKSB7CiAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmdldFBhZ2UoZGF0YS5wYWdlSW5kZXgpLnRoZW4oZnVuY3Rpb24ocGFnZSkgewogICAgICAgIHZhciByb3RhdGVQcm9taXNlID0gcGRmTWFuYWdlci5lbnN1cmUocGFnZSwgJ3JvdGF0ZScpOwogICAgICAgIHZhciByZWZQcm9taXNlID0gcGRmTWFuYWdlci5lbnN1cmUocGFnZSwgJ3JlZicpOwogICAgICAgIHZhciB2aWV3UHJvbWlzZSA9IHBkZk1hbmFnZXIuZW5zdXJlKHBhZ2UsICd2aWV3Jyk7CgogICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbcm90YXRlUHJvbWlzZSwgcmVmUHJvbWlzZSwgdmlld1Byb21pc2VdKS50aGVuKAogICAgICAgICAgICBmdW5jdGlvbihyZXN1bHRzKSB7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICByb3RhdGU6IHJlc3VsdHNbMF0sCiAgICAgICAgICAgIHJlZjogcmVzdWx0c1sxXSwKICAgICAgICAgICAgdmlldzogcmVzdWx0c1syXQogICAgICAgICAgfTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBoYW5kbGVyLm9uKCdHZXRQYWdlSW5kZXgnLCBmdW5jdGlvbiB3cGhTZXR1cEdldFBhZ2VJbmRleChkYXRhKSB7CiAgICAgIHZhciByZWYgPSBuZXcgUmVmKGRhdGEucmVmLm51bSwgZGF0YS5yZWYuZ2VuKTsKICAgICAgdmFyIGNhdGFsb2cgPSBwZGZNYW5hZ2VyLnBkZkRvY3VtZW50LmNhdGFsb2c7CiAgICAgIHJldHVybiBjYXRhbG9nLmdldFBhZ2VJbmRleChyZWYpOwogICAgfSk7CgogICAgaGFuZGxlci5vbignR2V0RGVzdGluYXRpb25zJywKICAgICAgZnVuY3Rpb24gd3BoU2V0dXBHZXREZXN0aW5hdGlvbnMoZGF0YSkgewogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coJ2Rlc3RpbmF0aW9ucycpOwogICAgICB9CiAgICApOwoKICAgIGhhbmRsZXIub24oJ0dldERlc3RpbmF0aW9uJywKICAgICAgZnVuY3Rpb24gd3BoU2V0dXBHZXREZXN0aW5hdGlvbihkYXRhKSB7CiAgICAgICAgcmV0dXJuIHBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygnZ2V0RGVzdGluYXRpb24nLCBbIGRhdGEuaWQgXSk7CiAgICAgIH0KICAgICk7CgogICAgaGFuZGxlci5vbignR2V0QXR0YWNobWVudHMnLAogICAgICBmdW5jdGlvbiB3cGhTZXR1cEdldEF0dGFjaG1lbnRzKGRhdGEpIHsKICAgICAgICByZXR1cm4gcGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCdhdHRhY2htZW50cycpOwogICAgICB9CiAgICApOwoKICAgIGhhbmRsZXIub24oJ0dldEphdmFTY3JpcHQnLAogICAgICBmdW5jdGlvbiB3cGhTZXR1cEdldEphdmFTY3JpcHQoZGF0YSkgewogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coJ2phdmFTY3JpcHQnKTsKICAgICAgfQogICAgKTsKCiAgICBoYW5kbGVyLm9uKCdHZXRPdXRsaW5lJywKICAgICAgZnVuY3Rpb24gd3BoU2V0dXBHZXRPdXRsaW5lKGRhdGEpIHsKICAgICAgICByZXR1cm4gcGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCdkb2N1bWVudE91dGxpbmUnKTsKICAgICAgfQogICAgKTsKCiAgICBoYW5kbGVyLm9uKCdHZXRNZXRhZGF0YScsCiAgICAgIGZ1bmN0aW9uIHdwaFNldHVwR2V0TWV0YWRhdGEoZGF0YSkgewogICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbcGRmTWFuYWdlci5lbnN1cmVEb2MoJ2RvY3VtZW50SW5mbycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCdtZXRhZGF0YScpXSk7CiAgICAgIH0KICAgICk7CgogICAgaGFuZGxlci5vbignR2V0RGF0YScsIGZ1bmN0aW9uIHdwaFNldHVwR2V0RGF0YShkYXRhKSB7CiAgICAgIHBkZk1hbmFnZXIucmVxdWVzdExvYWRlZFN0cmVhbSgpOwogICAgICByZXR1cm4gcGRmTWFuYWdlci5vbkxvYWRlZFN0cmVhbSgpLnRoZW4oZnVuY3Rpb24oc3RyZWFtKSB7CiAgICAgICAgcmV0dXJuIHN0cmVhbS5ieXRlczsKICAgICAgfSk7CiAgICB9KTsKCiAgICBoYW5kbGVyLm9uKCdHZXRTdGF0cycsCiAgICAgIGZ1bmN0aW9uIHdwaFNldHVwR2V0U3RhdHMoZGF0YSkgewogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyLnBkZkRvY3VtZW50LnhyZWYuc3RhdHM7CiAgICAgIH0KICAgICk7CgogICAgaGFuZGxlci5vbignVXBkYXRlUGFzc3dvcmQnLCBmdW5jdGlvbiB3cGhTZXR1cFVwZGF0ZVBhc3N3b3JkKGRhdGEpIHsKICAgICAgcGRmTWFuYWdlci51cGRhdGVQYXNzd29yZChkYXRhKTsKICAgIH0pOwoKICAgIGhhbmRsZXIub24oJ0dldEFubm90YXRpb25zJywgZnVuY3Rpb24gd3BoU2V0dXBHZXRBbm5vdGF0aW9ucyhkYXRhKSB7CiAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmdldFBhZ2UoZGF0YS5wYWdlSW5kZXgpLnRoZW4oZnVuY3Rpb24ocGFnZSkgewogICAgICAgIHJldHVybiBwZGZNYW5hZ2VyLmVuc3VyZShwYWdlLCAnZ2V0QW5ub3RhdGlvbnNEYXRhJywgW10pOwogICAgICB9KTsKICAgIH0pOwoKICAgIGhhbmRsZXIub24oJ1JlbmRlclBhZ2VSZXF1ZXN0JywgZnVuY3Rpb24gd3BoU2V0dXBSZW5kZXJQYWdlKGRhdGEpIHsKICAgICAgcGRmTWFuYWdlci5nZXRQYWdlKGRhdGEucGFnZUluZGV4KS50aGVuKGZ1bmN0aW9uKHBhZ2UpIHsKCiAgICAgICAgdmFyIHBhZ2VOdW0gPSBkYXRhLnBhZ2VJbmRleCArIDE7CiAgICAgICAgdmFyIHN0YXJ0ID0gRGF0ZS5ub3coKTsKICAgICAgICAvLyBQcmUgY29tcGlsZSB0aGUgcGRmIHBhZ2UgYW5kIGZldGNoIHRoZSBmb250cy9pbWFnZXMuCiAgICAgICAgcGFnZS5nZXRPcGVyYXRvckxpc3QoaGFuZGxlciwgZGF0YS5pbnRlbnQpLnRoZW4oZnVuY3Rpb24ob3BlcmF0b3JMaXN0KSB7CgogICAgICAgICAgaW5mbygncGFnZT0nICsgcGFnZU51bSArICcgLSBnZXRPcGVyYXRvckxpc3Q6IHRpbWU9JyArCiAgICAgICAgICAgICAgIChEYXRlLm5vdygpIC0gc3RhcnQpICsgJ21zLCBsZW49JyArIG9wZXJhdG9yTGlzdC5mbkFycmF5Lmxlbmd0aCk7CgogICAgICAgIH0sIGZ1bmN0aW9uKGUpIHsKCiAgICAgICAgICB2YXIgbWluaW11bVN0YWNrTWVzc2FnZSA9CiAgICAgICAgICAgICd3b3JrZXIuanM6IHdoaWxlIHRyeWluZyB0byBnZXRQYWdlKCkgYW5kIGdldE9wZXJhdG9yTGlzdCgpJzsKCiAgICAgICAgICB2YXIgd3JhcHBlZEV4Y2VwdGlvbjsKCiAgICAgICAgICAvLyBUdXJuIHRoZSBlcnJvciBpbnRvIGFuIG9iaiB0aGF0IGNhbiBiZSBzZXJpYWxpemVkCiAgICAgICAgICBpZiAodHlwZW9mIGUgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIHdyYXBwZWRFeGNlcHRpb24gPSB7CiAgICAgICAgICAgICAgbWVzc2FnZTogZSwKICAgICAgICAgICAgICBzdGFjazogbWluaW11bVN0YWNrTWVzc2FnZQogICAgICAgICAgICB9OwogICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZSA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgd3JhcHBlZEV4Y2VwdGlvbiA9IHsKICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UgfHwgZS50b1N0cmluZygpLAogICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrIHx8IG1pbmltdW1TdGFja01lc3NhZ2UKICAgICAgICAgICAgfTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHdyYXBwZWRFeGNlcHRpb24gPSB7CiAgICAgICAgICAgICAgbWVzc2FnZTogJ1Vua25vd24gZXhjZXB0aW9uIHR5cGU6ICcgKyAodHlwZW9mIGUpLAogICAgICAgICAgICAgIHN0YWNrOiBtaW5pbXVtU3RhY2tNZXNzYWdlCiAgICAgICAgICAgIH07CiAgICAgICAgICB9CgogICAgICAgICAgaGFuZGxlci5zZW5kKCdQYWdlRXJyb3InLCB7CiAgICAgICAgICAgIHBhZ2VOdW06IHBhZ2VOdW0sCiAgICAgICAgICAgIGVycm9yOiB3cmFwcGVkRXhjZXB0aW9uLAogICAgICAgICAgICBpbnRlbnQ6IGRhdGEuaW50ZW50CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LCB0aGlzKTsKCiAgICBoYW5kbGVyLm9uKCdHZXRUZXh0Q29udGVudCcsIGZ1bmN0aW9uIHdwaEV4dHJhY3RUZXh0KGRhdGEpIHsKICAgICAgcmV0dXJuIHBkZk1hbmFnZXIuZ2V0UGFnZShkYXRhLnBhZ2VJbmRleCkudGhlbihmdW5jdGlvbihwYWdlKSB7CiAgICAgICAgdmFyIHBhZ2VOdW0gPSBkYXRhLnBhZ2VJbmRleCArIDE7CiAgICAgICAgdmFyIHN0YXJ0ID0gRGF0ZS5ub3coKTsKICAgICAgICByZXR1cm4gcGFnZS5leHRyYWN0VGV4dENvbnRlbnQoKS50aGVuKGZ1bmN0aW9uKHRleHRDb250ZW50KSB7CiAgICAgICAgICBpbmZvKCd0ZXh0IGluZGV4aW5nOiBwYWdlPScgKyBwYWdlTnVtICsgJyAtIHRpbWU9JyArCiAgICAgICAgICAgICAgIChEYXRlLm5vdygpIC0gc3RhcnQpICsgJ21zJyk7CiAgICAgICAgICByZXR1cm4gdGV4dENvbnRlbnQ7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CgogICAgaGFuZGxlci5vbignQ2xlYW51cCcsIGZ1bmN0aW9uIHdwaENsZWFudXAoZGF0YSkgewogICAgICByZXR1cm4gcGRmTWFuYWdlci5jbGVhbnVwKCk7CiAgICB9KTsKCiAgICBoYW5kbGVyLm9uKCdUZXJtaW5hdGUnLCBmdW5jdGlvbiB3cGhUZXJtaW5hdGUoZGF0YSkgewogICAgICBwZGZNYW5hZ2VyLnRlcm1pbmF0ZSgpOwogICAgfSk7CiAgfQp9OwoKdmFyIGNvbnNvbGVUaW1lciA9IHt9OwoKdmFyIHdvcmtlckNvbnNvbGUgPSB7CiAgbG9nOiBmdW5jdGlvbiBsb2coKSB7CiAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7CiAgICBnbG9iYWxTY29wZS5wb3N0TWVzc2FnZSh7CiAgICAgIGFjdGlvbjogJ2NvbnNvbGVfbG9nJywKICAgICAgZGF0YTogYXJncwogICAgfSk7CiAgfSwKCiAgZXJyb3I6IGZ1bmN0aW9uIGVycm9yKCkgewogICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwogICAgZ2xvYmFsU2NvcGUucG9zdE1lc3NhZ2UoewogICAgICBhY3Rpb246ICdjb25zb2xlX2Vycm9yJywKICAgICAgZGF0YTogYXJncwogICAgfSk7CiAgICB0aHJvdyAncGRmLmpzIGV4ZWN1dGlvbiBlcnJvcic7CiAgfSwKCiAgdGltZTogZnVuY3Rpb24gdGltZShuYW1lKSB7CiAgICBjb25zb2xlVGltZXJbbmFtZV0gPSBEYXRlLm5vdygpOwogIH0sCgogIHRpbWVFbmQ6IGZ1bmN0aW9uIHRpbWVFbmQobmFtZSkgewogICAgdmFyIHRpbWUgPSBjb25zb2xlVGltZXJbbmFtZV07CiAgICBpZiAoIXRpbWUpIHsKICAgICAgZXJyb3IoJ1Vua25vd24gdGltZXIgbmFtZSAnICsgbmFtZSk7CiAgICB9CiAgICB0aGlzLmxvZygnVGltZXI6JywgbmFtZSwgRGF0ZS5ub3coKSAtIHRpbWUpOwogIH0KfTsKCgovLyBXb3JrZXIgdGhyZWFkPwppZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHsKICBpZiAoISgnY29uc29sZScgaW4gZ2xvYmFsU2NvcGUpKSB7CiAgICBnbG9iYWxTY29wZS5jb25zb2xlID0gd29ya2VyQ29uc29sZTsKICB9CgogIC8vIExpc3RlbiBmb3IgdW5zdXBwb3J0ZWQgZmVhdHVyZXMgc28gd2UgY2FuIHBhc3MgdGhlbSBvbiB0byB0aGUgbWFpbiB0aHJlYWQuCiAgUERGSlMuVW5zdXBwb3J0ZWRNYW5hZ2VyLmxpc3RlbihmdW5jdGlvbiAobXNnKSB7CiAgICBnbG9iYWxTY29wZS5wb3N0TWVzc2FnZSh7CiAgICAgIGFjdGlvbjogJ191bnN1cHBvcnRlZF9mZWF0dXJlJywKICAgICAgZGF0YTogbXNnCiAgICB9KTsKICB9KTsKCiAgdmFyIGhhbmRsZXIgPSBuZXcgTWVzc2FnZUhhbmRsZXIoJ3dvcmtlcl9wcm9jZXNzb3InLCB0aGlzKTsKICBXb3JrZXJNZXNzYWdlSGFuZGxlci5zZXR1cChoYW5kbGVyKTsKfQoKCi8qIFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgUU0gQ29kZXIgZGVjb2RpbmcgYXMgZGVmaW5lZCBpbgogKiAgIEpQRUcgMjAwMCBQYXJ0IEkgRmluYWwgQ29tbWl0dGVlIERyYWZ0IFZlcnNpb24gMS4wCiAqICAgQW5uZXggQy4zIEFyaXRobWV0aWMgZGVjb2RpbmcgcHJvY2VkdXJlCiAqIGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmpwZWcub3JnL3B1YmxpYy9mY2QxNTQ0NC0xLnBkZgogKgogKiBUaGUgYXJpdGhtZXRpYyBkZWNvZGVyIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBjb250ZXh0IG1vZGVscyB0byBkZWNvZGUKICogSlBFRzIwMDAgYW5kIEpCSUcyIHN0cmVhbXMuCiAqLwp2YXIgQXJpdGhtZXRpY0RlY29kZXIgPSAoZnVuY3Rpb24gQXJpdGhtZXRpY0RlY29kZXJDbG9zdXJlKCkgewogIC8vIFRhYmxlIEMtMgogIHZhciBRZVRhYmxlID0gWwogICAge3FlOiAweDU2MDEsIG5tcHM6IDEsIG5scHM6IDEsIHN3aXRjaEZsYWc6IDF9LAogICAge3FlOiAweDM0MDEsIG5tcHM6IDIsIG5scHM6IDYsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDE4MDEsIG5tcHM6IDMsIG5scHM6IDksIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDBBQzEsIG5tcHM6IDQsIG5scHM6IDEyLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwNTIxLCBubXBzOiA1LCBubHBzOiAyOSwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDIyMSwgbm1wczogMzgsIG5scHM6IDMzLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHg1NjAxLCBubXBzOiA3LCBubHBzOiA2LCBzd2l0Y2hGbGFnOiAxfSwKICAgIHtxZTogMHg1NDAxLCBubXBzOiA4LCBubHBzOiAxNCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4NDgwMSwgbm1wczogOSwgbmxwczogMTQsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDM4MDEsIG5tcHM6IDEwLCBubHBzOiAxNCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MzAwMSwgbm1wczogMTEsIG5scHM6IDE3LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgyNDAxLCBubXBzOiAxMiwgbmxwczogMTgsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDFDMDEsIG5tcHM6IDEzLCBubHBzOiAyMCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MTYwMSwgbm1wczogMjksIG5scHM6IDIxLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHg1NjAxLCBubXBzOiAxNSwgbmxwczogMTQsIHN3aXRjaEZsYWc6IDF9LAogICAge3FlOiAweDU0MDEsIG5tcHM6IDE2LCBubHBzOiAxNCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4NTEwMSwgbm1wczogMTcsIG5scHM6IDE1LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHg0ODAxLCBubXBzOiAxOCwgbmxwczogMTYsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDM4MDEsIG5tcHM6IDE5LCBubHBzOiAxNywgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MzQwMSwgbm1wczogMjAsIG5scHM6IDE4LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgzMDAxLCBubXBzOiAyMSwgbmxwczogMTksIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDI4MDEsIG5tcHM6IDIyLCBubHBzOiAxOSwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MjQwMSwgbm1wczogMjMsIG5scHM6IDIwLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgyMjAxLCBubXBzOiAyNCwgbmxwczogMjEsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDFDMDEsIG5tcHM6IDI1LCBubHBzOiAyMiwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MTgwMSwgbm1wczogMjYsIG5scHM6IDIzLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgxNjAxLCBubXBzOiAyNywgbmxwczogMjQsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDE0MDEsIG5tcHM6IDI4LCBubHBzOiAyNSwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MTIwMSwgbm1wczogMjksIG5scHM6IDI2LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgxMTAxLCBubXBzOiAzMCwgbmxwczogMjcsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDBBQzEsIG5tcHM6IDMxLCBubHBzOiAyOCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDlDMSwgbm1wczogMzIsIG5scHM6IDI5LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwOEExLCBubXBzOiAzMywgbmxwczogMzAsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDA1MjEsIG5tcHM6IDM0LCBubHBzOiAzMSwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDQ0MSwgbm1wczogMzUsIG5scHM6IDMyLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwMkExLCBubXBzOiAzNiwgbmxwczogMzMsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDAyMjEsIG5tcHM6IDM3LCBubHBzOiAzNCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDE0MSwgbm1wczogMzgsIG5scHM6IDM1LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwMTExLCBubXBzOiAzOSwgbmxwczogMzYsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDAwODUsIG5tcHM6IDQwLCBubHBzOiAzNywgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDA0OSwgbm1wczogNDEsIG5scHM6IDM4LCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwMDI1LCBubXBzOiA0MiwgbmxwczogMzksIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDAwMTUsIG5tcHM6IDQzLCBubHBzOiA0MCwgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4MDAwOSwgbm1wczogNDQsIG5scHM6IDQxLCBzd2l0Y2hGbGFnOiAwfSwKICAgIHtxZTogMHgwMDA1LCBubXBzOiA0NSwgbmxwczogNDIsIHN3aXRjaEZsYWc6IDB9LAogICAge3FlOiAweDAwMDEsIG5tcHM6IDQ1LCBubHBzOiA0Mywgc3dpdGNoRmxhZzogMH0sCiAgICB7cWU6IDB4NTYwMSwgbm1wczogNDYsIG5scHM6IDQ2LCBzd2l0Y2hGbGFnOiAwfQogIF07CgogIC8vIEMuMy41IEluaXRpYWxpc2F0aW9uIG9mIHRoZSBkZWNvZGVyIChJTklUREVDKQogIGZ1bmN0aW9uIEFyaXRobWV0aWNEZWNvZGVyKGRhdGEsIHN0YXJ0LCBlbmQpIHsKICAgIHRoaXMuZGF0YSA9IGRhdGE7CiAgICB0aGlzLmJwID0gc3RhcnQ7CiAgICB0aGlzLmRhdGFFbmQgPSBlbmQ7CgogICAgdGhpcy5jaGlnaCA9IGRhdGFbc3RhcnRdOwogICAgdGhpcy5jbG93ID0gMDsKCiAgICB0aGlzLmJ5dGVJbigpOwoKICAgIHRoaXMuY2hpZ2ggPSAoKHRoaXMuY2hpZ2ggPDwgNykgJiAweEZGRkYpIHwgKCh0aGlzLmNsb3cgPj4gOSkgJiAweDdGKTsKICAgIHRoaXMuY2xvdyA9ICh0aGlzLmNsb3cgPDwgNykgJiAweEZGRkY7CiAgICB0aGlzLmN0IC09IDc7CiAgICB0aGlzLmEgPSAweDgwMDA7CiAgfQoKICBBcml0aG1ldGljRGVjb2Rlci5wcm90b3R5cGUgPSB7CiAgICAvLyBDLjMuNCBDb21wcmVzc2VkIGRhdGEgaW5wdXQgKEJZVEVJTikKICAgIGJ5dGVJbjogZnVuY3Rpb24gQXJpdGhtZXRpY0RlY29kZXJfYnl0ZUluKCkgewogICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTsKICAgICAgdmFyIGJwID0gdGhpcy5icDsKICAgICAgaWYgKGRhdGFbYnBdID09PSAweEZGKSB7CiAgICAgICAgdmFyIGIxID0gZGF0YVticCArIDFdOwogICAgICAgIGlmIChiMSA+IDB4OEYpIHsKICAgICAgICAgIHRoaXMuY2xvdyArPSAweEZGMDA7CiAgICAgICAgICB0aGlzLmN0ID0gODsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYnArKzsKICAgICAgICAgIHRoaXMuY2xvdyArPSAoZGF0YVticF0gPDwgOSk7CiAgICAgICAgICB0aGlzLmN0ID0gNzsKICAgICAgICAgIHRoaXMuYnAgPSBicDsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYnArKzsKICAgICAgICB0aGlzLmNsb3cgKz0gYnAgPCB0aGlzLmRhdGFFbmQgPyAoZGF0YVticF0gPDwgOCkgOiAweEZGMDA7CiAgICAgICAgdGhpcy5jdCA9IDg7CiAgICAgICAgdGhpcy5icCA9IGJwOwogICAgICB9CiAgICAgIGlmICh0aGlzLmNsb3cgPiAweEZGRkYpIHsKICAgICAgICB0aGlzLmNoaWdoICs9ICh0aGlzLmNsb3cgPj4gMTYpOwogICAgICAgIHRoaXMuY2xvdyAmPSAweEZGRkY7CiAgICAgIH0KICAgIH0sCiAgICAvLyBDLjMuMiBEZWNvZGluZyBhIGRlY2lzaW9uIChERUNPREUpCiAgICByZWFkQml0OiBmdW5jdGlvbiBBcml0aG1ldGljRGVjb2Rlcl9yZWFkQml0KGNvbnRleHRzLCBwb3MpIHsKICAgICAgLy8gY29udGV4dHMgYXJlIHBhY2tlZCBpbnRvIDEgYnl0ZToKICAgICAgLy8gaGlnaGVzdCA3IGJpdHMgY2FycnkgY3guaW5kZXgsIGxvd2VzdCBiaXQgY2FycmllcyBjeC5tcHMKICAgICAgdmFyIGN4X2luZGV4ID0gY29udGV4dHNbcG9zXSA+PiAxLCBjeF9tcHMgPSBjb250ZXh0c1twb3NdICYgMTsKICAgICAgdmFyIHFlVGFibGVJY3ggPSBRZVRhYmxlW2N4X2luZGV4XTsKICAgICAgdmFyIHFlSWN4ID0gcWVUYWJsZUljeC5xZTsKICAgICAgdmFyIGQ7CiAgICAgIHZhciBhID0gdGhpcy5hIC0gcWVJY3g7CgogICAgICBpZiAodGhpcy5jaGlnaCA8IHFlSWN4KSB7CiAgICAgICAgLy8gZXhjaGFuZ2VMcHMKICAgICAgICBpZiAoYSA8IHFlSWN4KSB7CiAgICAgICAgICBhID0gcWVJY3g7CiAgICAgICAgICBkID0gY3hfbXBzOwogICAgICAgICAgY3hfaW5kZXggPSBxZVRhYmxlSWN4Lm5tcHM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGEgPSBxZUljeDsKICAgICAgICAgIGQgPSAxIF4gY3hfbXBzOwogICAgICAgICAgaWYgKHFlVGFibGVJY3guc3dpdGNoRmxhZyA9PT0gMSkgewogICAgICAgICAgICBjeF9tcHMgPSBkOwogICAgICAgICAgfQogICAgICAgICAgY3hfaW5kZXggPSBxZVRhYmxlSWN4Lm5scHM7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuY2hpZ2ggLT0gcWVJY3g7CiAgICAgICAgaWYgKChhICYgMHg4MDAwKSAhPT0gMCkgewogICAgICAgICAgdGhpcy5hID0gYTsKICAgICAgICAgIHJldHVybiBjeF9tcHM7CiAgICAgICAgfQogICAgICAgIC8vIGV4Y2hhbmdlTXBzCiAgICAgICAgaWYgKGEgPCBxZUljeCkgewogICAgICAgICAgZCA9IDEgXiBjeF9tcHM7CiAgICAgICAgICBpZiAocWVUYWJsZUljeC5zd2l0Y2hGbGFnID09PSAxKSB7CiAgICAgICAgICAgIGN4X21wcyA9IGQ7CiAgICAgICAgICB9CiAgICAgICAgICBjeF9pbmRleCA9IHFlVGFibGVJY3gubmxwczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZCA9IGN4X21wczsKICAgICAgICAgIGN4X2luZGV4ID0gcWVUYWJsZUljeC5ubXBzOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyBDLjMuMyByZW5vcm1EOwogICAgICBkbyB7CiAgICAgICAgaWYgKHRoaXMuY3QgPT09IDApIHsKICAgICAgICAgIHRoaXMuYnl0ZUluKCk7CiAgICAgICAgfQoKICAgICAgICBhIDw8PSAxOwogICAgICAgIHRoaXMuY2hpZ2ggPSAoKHRoaXMuY2hpZ2ggPDwgMSkgJiAweEZGRkYpIHwgKCh0aGlzLmNsb3cgPj4gMTUpICYgMSk7CiAgICAgICAgdGhpcy5jbG93ID0gKHRoaXMuY2xvdyA8PCAxKSAmIDB4RkZGRjsKICAgICAgICB0aGlzLmN0LS07CiAgICAgIH0gd2hpbGUgKChhICYgMHg4MDAwKSA9PT0gMCk7CiAgICAgIHRoaXMuYSA9IGE7CgogICAgICBjb250ZXh0c1twb3NdID0gY3hfaW5kZXggPDwgMSB8IGN4X21wczsKICAgICAgcmV0dXJuIGQ7CiAgICB9CiAgfTsKCiAgcmV0dXJuIEFyaXRobWV0aWNEZWNvZGVyOwp9KSgpOwoKCnZhciBKcGVnSW1hZ2UgPSAoZnVuY3Rpb24ganBlZ0ltYWdlKCkgewogIHZhciBkY3RaaWdaYWcgPSBuZXcgVWludDhBcnJheShbCiAgICAgMCwKICAgICAxLCAgOCwKICAgIDE2LCAgOSwgIDIsCiAgICAgMywgMTAsIDE3LCAyNCwKICAgIDMyLCAyNSwgMTgsIDExLCA0LAogICAgIDUsIDEyLCAxOSwgMjYsIDMzLCA0MCwKICAgIDQ4LCA0MSwgMzQsIDI3LCAyMCwgMTMsICA2LAogICAgIDcsIDE0LCAyMSwgMjgsIDM1LCA0MiwgNDksIDU2LAogICAgNTcsIDUwLCA0MywgMzYsIDI5LCAyMiwgMTUsCiAgICAyMywgMzAsIDM3LCA0NCwgNTEsIDU4LAogICAgNTksIDUyLCA0NSwgMzgsIDMxLAogICAgMzksIDQ2LCA1MywgNjAsCiAgICA2MSwgNTQsIDQ3LAogICAgNTUsIDYyLAogICAgNjMKICBdKTsKCiAgdmFyIGRjdENvczEgID0gIDQwMTc7ICAgLy8gY29zKHBpLzE2KQogIHZhciBkY3RTaW4xICA9ICAgNzk5OyAgIC8vIHNpbihwaS8xNikKICB2YXIgZGN0Q29zMyAgPSAgMzQwNjsgICAvLyBjb3MoMypwaS8xNikKICB2YXIgZGN0U2luMyAgPSAgMjI3NjsgICAvLyBzaW4oMypwaS8xNikKICB2YXIgZGN0Q29zNiAgPSAgMTU2NzsgICAvLyBjb3MoNipwaS8xNikKICB2YXIgZGN0U2luNiAgPSAgMzc4NDsgICAvLyBzaW4oNipwaS8xNikKICB2YXIgZGN0U3FydDIgPSAgNTc5MzsgICAvLyBzcXJ0KDIpCiAgdmFyIGRjdFNxcnQxZDIgPSAyODk2OyAgLy8gc3FydCgyKSAvIDIKCiAgZnVuY3Rpb24gY29uc3RydWN0b3IoKSB7CiAgfQoKICBmdW5jdGlvbiBidWlsZEh1ZmZtYW5UYWJsZShjb2RlTGVuZ3RocywgdmFsdWVzKSB7CiAgICB2YXIgayA9IDAsIGNvZGUgPSBbXSwgaSwgaiwgbGVuZ3RoID0gMTY7CiAgICB3aGlsZSAobGVuZ3RoID4gMCAmJiAhY29kZUxlbmd0aHNbbGVuZ3RoIC0gMV0pIHsKICAgICAgbGVuZ3RoLS07CiAgICB9CiAgICBjb2RlLnB1c2goe2NoaWxkcmVuOiBbXSwgaW5kZXg6IDB9KTsKICAgIHZhciBwID0gY29kZVswXSwgcTsKICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICBmb3IgKGogPSAwOyBqIDwgY29kZUxlbmd0aHNbaV07IGorKykgewogICAgICAgIHAgPSBjb2RlLnBvcCgpOwogICAgICAgIHAuY2hpbGRyZW5bcC5pbmRleF0gPSB2YWx1ZXNba107CiAgICAgICAgd2hpbGUgKHAuaW5kZXggPiAwKSB7CiAgICAgICAgICBwID0gY29kZS5wb3AoKTsKICAgICAgICB9CiAgICAgICAgcC5pbmRleCsrOwogICAgICAgIGNvZGUucHVzaChwKTsKICAgICAgICB3aGlsZSAoY29kZS5sZW5ndGggPD0gaSkgewogICAgICAgICAgY29kZS5wdXNoKHEgPSB7Y2hpbGRyZW46IFtdLCBpbmRleDogMH0pOwogICAgICAgICAgcC5jaGlsZHJlbltwLmluZGV4XSA9IHEuY2hpbGRyZW47CiAgICAgICAgICBwID0gcTsKICAgICAgICB9CiAgICAgICAgaysrOwogICAgICB9CiAgICAgIGlmIChpICsgMSA8IGxlbmd0aCkgewogICAgICAgIC8vIHAgaGVyZSBwb2ludHMgdG8gbGFzdCBjb2RlCiAgICAgICAgY29kZS5wdXNoKHEgPSB7Y2hpbGRyZW46IFtdLCBpbmRleDogMH0pOwogICAgICAgIHAuY2hpbGRyZW5bcC5pbmRleF0gPSBxLmNoaWxkcmVuOwogICAgICAgIHAgPSBxOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gY29kZVswXS5jaGlsZHJlbjsKICB9CgogIGZ1bmN0aW9uIGdldEJsb2NrQnVmZmVyT2Zmc2V0KGNvbXBvbmVudCwgcm93LCBjb2wpIHsKICAgIHJldHVybiA2NCAqICgoY29tcG9uZW50LmJsb2Nrc1BlckxpbmUgKyAxKSAqIHJvdyArIGNvbCk7CiAgfQoKICBmdW5jdGlvbiBkZWNvZGVTY2FuKGRhdGEsIG9mZnNldCwgZnJhbWUsIGNvbXBvbmVudHMsIHJlc2V0SW50ZXJ2YWwsCiAgICAgICAgICAgICAgICAgICAgICBzcGVjdHJhbFN0YXJ0LCBzcGVjdHJhbEVuZCwgc3VjY2Vzc2l2ZVByZXYsIHN1Y2Nlc3NpdmUpIHsKICAgIHZhciBwcmVjaXNpb24gPSBmcmFtZS5wcmVjaXNpb247CiAgICB2YXIgc2FtcGxlc1BlckxpbmUgPSBmcmFtZS5zYW1wbGVzUGVyTGluZTsKICAgIHZhciBzY2FuTGluZXMgPSBmcmFtZS5zY2FuTGluZXM7CiAgICB2YXIgbWN1c1BlckxpbmUgPSBmcmFtZS5tY3VzUGVyTGluZTsKICAgIHZhciBwcm9ncmVzc2l2ZSA9IGZyYW1lLnByb2dyZXNzaXZlOwogICAgdmFyIG1heEggPSBmcmFtZS5tYXhILCBtYXhWID0gZnJhbWUubWF4VjsKCiAgICB2YXIgc3RhcnRPZmZzZXQgPSBvZmZzZXQsIGJpdHNEYXRhID0gMCwgYml0c0NvdW50ID0gMDsKCiAgICBmdW5jdGlvbiByZWFkQml0KCkgewogICAgICBpZiAoYml0c0NvdW50ID4gMCkgewogICAgICAgIGJpdHNDb3VudC0tOwogICAgICAgIHJldHVybiAoYml0c0RhdGEgPj4gYml0c0NvdW50KSAmIDE7CiAgICAgIH0KICAgICAgYml0c0RhdGEgPSBkYXRhW29mZnNldCsrXTsKICAgICAgaWYgKGJpdHNEYXRhID09PSAweEZGKSB7CiAgICAgICAgdmFyIG5leHRCeXRlID0gZGF0YVtvZmZzZXQrK107CiAgICAgICAgaWYgKG5leHRCeXRlKSB7CiAgICAgICAgICB0aHJvdyAndW5leHBlY3RlZCBtYXJrZXI6ICcgKwogICAgICAgICAgICAoKGJpdHNEYXRhIDw8IDgpIHwgbmV4dEJ5dGUpLnRvU3RyaW5nKDE2KTsKICAgICAgICB9CiAgICAgICAgLy8gdW5zdHVmZiAwCiAgICAgIH0KICAgICAgYml0c0NvdW50ID0gNzsKICAgICAgcmV0dXJuIGJpdHNEYXRhID4+PiA3OwogICAgfQoKICAgIGZ1bmN0aW9uIGRlY29kZUh1ZmZtYW4odHJlZSkgewogICAgICB2YXIgbm9kZSA9IHRyZWU7CiAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgbm9kZSA9IG5vZGVbcmVhZEJpdCgpXTsKICAgICAgICBpZiAodHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSB7CiAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0JykgewogICAgICAgICAgdGhyb3cgJ2ludmFsaWQgaHVmZm1hbiBzZXF1ZW5jZSc7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gcmVjZWl2ZShsZW5ndGgpIHsKICAgICAgdmFyIG4gPSAwOwogICAgICB3aGlsZSAobGVuZ3RoID4gMCkgewogICAgICAgIG4gPSAobiA8PCAxKSB8IHJlYWRCaXQoKTsKICAgICAgICBsZW5ndGgtLTsKICAgICAgfQogICAgICByZXR1cm4gbjsKICAgIH0KCiAgICBmdW5jdGlvbiByZWNlaXZlQW5kRXh0ZW5kKGxlbmd0aCkgewogICAgICBpZiAobGVuZ3RoID09PSAxKSB7CiAgICAgICAgcmV0dXJuIHJlYWRCaXQoKSA9PT0gMSA/IDEgOiAtMTsKICAgICAgfQogICAgICB2YXIgbiA9IHJlY2VpdmUobGVuZ3RoKTsKICAgICAgaWYgKG4gPj0gMSA8PCAobGVuZ3RoIC0gMSkpIHsKICAgICAgICByZXR1cm4gbjsKICAgICAgfQogICAgICByZXR1cm4gbiArICgtMSA8PCBsZW5ndGgpICsgMTsKICAgIH0KCiAgICBmdW5jdGlvbiBkZWNvZGVCYXNlbGluZShjb21wb25lbnQsIG9mZnNldCkgewogICAgICB2YXIgdCA9IGRlY29kZUh1ZmZtYW4oY29tcG9uZW50Lmh1ZmZtYW5UYWJsZURDKTsKICAgICAgdmFyIGRpZmYgPSB0ID09PSAwID8gMCA6IHJlY2VpdmVBbmRFeHRlbmQodCk7CiAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0XSA9IChjb21wb25lbnQucHJlZCArPSBkaWZmKTsKICAgICAgdmFyIGsgPSAxOwogICAgICB3aGlsZSAoayA8IDY0KSB7CiAgICAgICAgdmFyIHJzID0gZGVjb2RlSHVmZm1hbihjb21wb25lbnQuaHVmZm1hblRhYmxlQUMpOwogICAgICAgIHZhciBzID0gcnMgJiAxNSwgciA9IHJzID4+IDQ7CiAgICAgICAgaWYgKHMgPT09IDApIHsKICAgICAgICAgIGlmIChyIDwgMTUpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBrICs9IDE2OwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGsgKz0gcjsKICAgICAgICB2YXIgeiA9IGRjdFppZ1phZ1trXTsKICAgICAgICBjb21wb25lbnQuYmxvY2tEYXRhW29mZnNldCArIHpdID0gcmVjZWl2ZUFuZEV4dGVuZChzKTsKICAgICAgICBrKys7CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBkZWNvZGVEQ0ZpcnN0KGNvbXBvbmVudCwgb2Zmc2V0KSB7CiAgICAgIHZhciB0ID0gZGVjb2RlSHVmZm1hbihjb21wb25lbnQuaHVmZm1hblRhYmxlREMpOwogICAgICB2YXIgZGlmZiA9IHQgPT09IDAgPyAwIDogKHJlY2VpdmVBbmRFeHRlbmQodCkgPDwgc3VjY2Vzc2l2ZSk7CiAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0XSA9IChjb21wb25lbnQucHJlZCArPSBkaWZmKTsKICAgIH0KCiAgICBmdW5jdGlvbiBkZWNvZGVEQ1N1Y2Nlc3NpdmUoY29tcG9uZW50LCBvZmZzZXQpIHsKICAgICAgY29tcG9uZW50LmJsb2NrRGF0YVtvZmZzZXRdIHw9IHJlYWRCaXQoKSA8PCBzdWNjZXNzaXZlOwogICAgfQoKICAgIHZhciBlb2JydW4gPSAwOwogICAgZnVuY3Rpb24gZGVjb2RlQUNGaXJzdChjb21wb25lbnQsIG9mZnNldCkgewogICAgICBpZiAoZW9icnVuID4gMCkgewogICAgICAgIGVvYnJ1bi0tOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgayA9IHNwZWN0cmFsU3RhcnQsIGUgPSBzcGVjdHJhbEVuZDsKICAgICAgd2hpbGUgKGsgPD0gZSkgewogICAgICAgIHZhciBycyA9IGRlY29kZUh1ZmZtYW4oY29tcG9uZW50Lmh1ZmZtYW5UYWJsZUFDKTsKICAgICAgICB2YXIgcyA9IHJzICYgMTUsIHIgPSBycyA+PiA0OwogICAgICAgIGlmIChzID09PSAwKSB7CiAgICAgICAgICBpZiAociA8IDE1KSB7CiAgICAgICAgICAgIGVvYnJ1biA9IHJlY2VpdmUocikgKyAoMSA8PCByKSAtIDE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgayArPSAxNjsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBrICs9IHI7CiAgICAgICAgdmFyIHogPSBkY3RaaWdaYWdba107CiAgICAgICAgY29tcG9uZW50LmJsb2NrRGF0YVtvZmZzZXQgKyB6XSA9CiAgICAgICAgICByZWNlaXZlQW5kRXh0ZW5kKHMpICogKDEgPDwgc3VjY2Vzc2l2ZSk7CiAgICAgICAgaysrOwogICAgICB9CiAgICB9CgogICAgdmFyIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gMCwgc3VjY2Vzc2l2ZUFDTmV4dFZhbHVlOwogICAgZnVuY3Rpb24gZGVjb2RlQUNTdWNjZXNzaXZlKGNvbXBvbmVudCwgb2Zmc2V0KSB7CiAgICAgIHZhciBrID0gc3BlY3RyYWxTdGFydDsKICAgICAgdmFyIGUgPSBzcGVjdHJhbEVuZDsKICAgICAgdmFyIHIgPSAwOwogICAgICB2YXIgczsKICAgICAgdmFyIHJzOwogICAgICB3aGlsZSAoayA8PSBlKSB7CiAgICAgICAgdmFyIHogPSBkY3RaaWdaYWdba107CiAgICAgICAgc3dpdGNoIChzdWNjZXNzaXZlQUNTdGF0ZSkgewogICAgICAgIGNhc2UgMDogLy8gaW5pdGlhbCBzdGF0ZQogICAgICAgICAgcnMgPSBkZWNvZGVIdWZmbWFuKGNvbXBvbmVudC5odWZmbWFuVGFibGVBQyk7CiAgICAgICAgICBzID0gcnMgJiAxNTsKICAgICAgICAgIHIgPSBycyA+PiA0OwogICAgICAgICAgaWYgKHMgPT09IDApIHsKICAgICAgICAgICAgaWYgKHIgPCAxNSkgewogICAgICAgICAgICAgIGVvYnJ1biA9IHJlY2VpdmUocikgKyAoMSA8PCByKTsKICAgICAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IDQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgciA9IDE2OwogICAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gMTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHMgIT09IDEpIHsKICAgICAgICAgICAgICB0aHJvdyAnaW52YWxpZCBBQ24gZW5jb2RpbmcnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ05leHRWYWx1ZSA9IHJlY2VpdmVBbmRFeHRlbmQocyk7CiAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ1N0YXRlID0gciA/IDIgOiAzOwogICAgICAgICAgfQogICAgICAgICAgY29udGludWU7CiAgICAgICAgY2FzZSAxOiAvLyBza2lwcGluZyByIHplcm8gaXRlbXMKICAgICAgICBjYXNlIDI6CiAgICAgICAgICBpZiAoY29tcG9uZW50LmJsb2NrRGF0YVtvZmZzZXQgKyB6XSkgewogICAgICAgICAgICBjb21wb25lbnQuYmxvY2tEYXRhW29mZnNldCArIHpdICs9IChyZWFkQml0KCkgPDwgc3VjY2Vzc2l2ZSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByLS07CiAgICAgICAgICAgIGlmIChyID09PSAwKSB7CiAgICAgICAgICAgICAgc3VjY2Vzc2l2ZUFDU3RhdGUgPSBzdWNjZXNzaXZlQUNTdGF0ZSA9PT0gMiA/IDMgOiAwOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDM6IC8vIHNldCB2YWx1ZSBmb3IgYSB6ZXJvIGl0ZW0KICAgICAgICAgIGlmIChjb21wb25lbnQuYmxvY2tEYXRhW29mZnNldCArIHpdKSB7CiAgICAgICAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0ICsgel0gKz0gKHJlYWRCaXQoKSA8PCBzdWNjZXNzaXZlKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0ICsgel0gPQogICAgICAgICAgICAgIHN1Y2Nlc3NpdmVBQ05leHRWYWx1ZSA8PCBzdWNjZXNzaXZlOwogICAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IDA7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDQ6IC8vIGVvYgogICAgICAgICAgaWYgKGNvbXBvbmVudC5ibG9ja0RhdGFbb2Zmc2V0ICsgel0pIHsKICAgICAgICAgICAgY29tcG9uZW50LmJsb2NrRGF0YVtvZmZzZXQgKyB6XSArPSAocmVhZEJpdCgpIDw8IHN1Y2Nlc3NpdmUpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGsrKzsKICAgICAgfQogICAgICBpZiAoc3VjY2Vzc2l2ZUFDU3RhdGUgPT09IDQpIHsKICAgICAgICBlb2JydW4tLTsKICAgICAgICBpZiAoZW9icnVuID09PSAwKSB7CiAgICAgICAgICBzdWNjZXNzaXZlQUNTdGF0ZSA9IDA7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZGVjb2RlTWN1KGNvbXBvbmVudCwgZGVjb2RlLCBtY3UsIHJvdywgY29sKSB7CiAgICAgIHZhciBtY3VSb3cgPSAobWN1IC8gbWN1c1BlckxpbmUpIHwgMDsKICAgICAgdmFyIG1jdUNvbCA9IG1jdSAlIG1jdXNQZXJMaW5lOwogICAgICB2YXIgYmxvY2tSb3cgPSBtY3VSb3cgKiBjb21wb25lbnQudiArIHJvdzsKICAgICAgdmFyIGJsb2NrQ29sID0gbWN1Q29sICogY29tcG9uZW50LmggKyBjb2w7CiAgICAgIHZhciBvZmZzZXQgPSBnZXRCbG9ja0J1ZmZlck9mZnNldChjb21wb25lbnQsIGJsb2NrUm93LCBibG9ja0NvbCk7CiAgICAgIGRlY29kZShjb21wb25lbnQsIG9mZnNldCk7CiAgICB9CgogICAgZnVuY3Rpb24gZGVjb2RlQmxvY2soY29tcG9uZW50LCBkZWNvZGUsIG1jdSkgewogICAgICB2YXIgYmxvY2tSb3cgPSAobWN1IC8gY29tcG9uZW50LmJsb2Nrc1BlckxpbmUpIHwgMDsKICAgICAgdmFyIGJsb2NrQ29sID0gbWN1ICUgY29tcG9uZW50LmJsb2Nrc1BlckxpbmU7CiAgICAgIHZhciBvZmZzZXQgPSBnZXRCbG9ja0J1ZmZlck9mZnNldChjb21wb25lbnQsIGJsb2NrUm93LCBibG9ja0NvbCk7CiAgICAgIGRlY29kZShjb21wb25lbnQsIG9mZnNldCk7CiAgICB9CgogICAgdmFyIGNvbXBvbmVudHNMZW5ndGggPSBjb21wb25lbnRzLmxlbmd0aDsKICAgIHZhciBjb21wb25lbnQsIGksIGosIGssIG47CiAgICB2YXIgZGVjb2RlRm47CiAgICBpZiAocHJvZ3Jlc3NpdmUpIHsKICAgICAgaWYgKHNwZWN0cmFsU3RhcnQgPT09IDApIHsKICAgICAgICBkZWNvZGVGbiA9IHN1Y2Nlc3NpdmVQcmV2ID09PSAwID8gZGVjb2RlRENGaXJzdCA6IGRlY29kZURDU3VjY2Vzc2l2ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBkZWNvZGVGbiA9IHN1Y2Nlc3NpdmVQcmV2ID09PSAwID8gZGVjb2RlQUNGaXJzdCA6IGRlY29kZUFDU3VjY2Vzc2l2ZTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgZGVjb2RlRm4gPSBkZWNvZGVCYXNlbGluZTsKICAgIH0KCiAgICB2YXIgbWN1ID0gMCwgbWFya2VyOwogICAgdmFyIG1jdUV4cGVjdGVkOwogICAgaWYgKGNvbXBvbmVudHNMZW5ndGggPT09IDEpIHsKICAgICAgbWN1RXhwZWN0ZWQgPSBjb21wb25lbnRzWzBdLmJsb2Nrc1BlckxpbmUgKiBjb21wb25lbnRzWzBdLmJsb2Nrc1BlckNvbHVtbjsKICAgIH0gZWxzZSB7CiAgICAgIG1jdUV4cGVjdGVkID0gbWN1c1BlckxpbmUgKiBmcmFtZS5tY3VzUGVyQ29sdW1uOwogICAgfQogICAgaWYgKCFyZXNldEludGVydmFsKSB7CiAgICAgIHJlc2V0SW50ZXJ2YWwgPSBtY3VFeHBlY3RlZDsKICAgIH0KCiAgICB2YXIgaCwgdjsKICAgIHdoaWxlIChtY3UgPCBtY3VFeHBlY3RlZCkgewogICAgICAvLyByZXNldCBpbnRlcnZhbCBzdHVmZgogICAgICBmb3IgKGkgPSAwOyBpIDwgY29tcG9uZW50c0xlbmd0aDsgaSsrKSB7CiAgICAgICAgY29tcG9uZW50c1tpXS5wcmVkID0gMDsKICAgICAgfQogICAgICBlb2JydW4gPSAwOwoKICAgICAgaWYgKGNvbXBvbmVudHNMZW5ndGggPT09IDEpIHsKICAgICAgICBjb21wb25lbnQgPSBjb21wb25lbnRzWzBdOwogICAgICAgIGZvciAobiA9IDA7IG4gPCByZXNldEludGVydmFsOyBuKyspIHsKICAgICAgICAgIGRlY29kZUJsb2NrKGNvbXBvbmVudCwgZGVjb2RlRm4sIG1jdSk7CiAgICAgICAgICBtY3UrKzsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChuID0gMDsgbiA8IHJlc2V0SW50ZXJ2YWw7IG4rKykgewogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvbXBvbmVudHNMZW5ndGg7IGkrKykgewogICAgICAgICAgICBjb21wb25lbnQgPSBjb21wb25lbnRzW2ldOwogICAgICAgICAgICBoID0gY29tcG9uZW50Lmg7CiAgICAgICAgICAgIHYgPSBjb21wb25lbnQudjsKICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHY7IGorKykgewogICAgICAgICAgICAgIGZvciAoayA9IDA7IGsgPCBoOyBrKyspIHsKICAgICAgICAgICAgICAgIGRlY29kZU1jdShjb21wb25lbnQsIGRlY29kZUZuLCBtY3UsIGosIGspOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgbWN1Kys7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBmaW5kIG1hcmtlcgogICAgICBiaXRzQ291bnQgPSAwOwogICAgICBtYXJrZXIgPSAoZGF0YVtvZmZzZXRdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAxXTsKICAgICAgaWYgKG1hcmtlciA8PSAweEZGMDApIHsKICAgICAgICB0aHJvdyAnbWFya2VyIHdhcyBub3QgZm91bmQnOwogICAgICB9CgogICAgICBpZiAobWFya2VyID49IDB4RkZEMCAmJiBtYXJrZXIgPD0gMHhGRkQ3KSB7IC8vIFJTVHgKICAgICAgICBvZmZzZXQgKz0gMjsKICAgICAgfSBlbHNlIHsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBvZmZzZXQgLSBzdGFydE9mZnNldDsKICB9CgogIC8vIEEgcG9ydCBvZiBwb3BwbGVyJ3MgSURDVCBtZXRob2Qgd2hpY2ggaW4gdHVybiBpcyB0YWtlbiBmcm9tOgogIC8vICAgQ2hyaXN0b3BoIExvZWZmbGVyLCBBZHJpYWFuIExpZ3RlbmJlcmcsIEdlb3JnZSBTLiBNb3NjaHl0eiwKICAvLyAgICdQcmFjdGljYWwgRmFzdCAxLUQgRENUIEFsZ29yaXRobXMgd2l0aCAxMSBNdWx0aXBsaWNhdGlvbnMnLAogIC8vICAgSUVFRSBJbnRsLiBDb25mLiBvbiBBY291c3RpY3MsIFNwZWVjaCAmIFNpZ25hbCBQcm9jZXNzaW5nLCAxOTg5LAogIC8vICAgOTg4LTk5MS4KICBmdW5jdGlvbiBxdWFudGl6ZUFuZEludmVyc2UoY29tcG9uZW50LCBibG9ja0J1ZmZlck9mZnNldCwgcCkgewogICAgdmFyIHF0ID0gY29tcG9uZW50LnF1YW50aXphdGlvblRhYmxlLCBibG9ja0RhdGEgPSBjb21wb25lbnQuYmxvY2tEYXRhOwogICAgdmFyIHYwLCB2MSwgdjIsIHYzLCB2NCwgdjUsIHY2LCB2NzsKICAgIHZhciBwMCwgcDEsIHAyLCBwMywgcDQsIHA1LCBwNiwgcDc7CiAgICB2YXIgdDsKCiAgICAvLyBpbnZlcnNlIERDVCBvbiByb3dzCiAgICBmb3IgKHZhciByb3cgPSAwOyByb3cgPCA2NDsgcm93ICs9IDgpIHsKICAgICAgLy8gZ2F0aGVyIGJsb2NrIGRhdGEKICAgICAgcDAgPSBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyByb3ddOwogICAgICBwMSA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDFdOwogICAgICBwMiA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDJdOwogICAgICBwMyA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDNdOwogICAgICBwNCA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDRdOwogICAgICBwNSA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDVdOwogICAgICBwNiA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDZdOwogICAgICBwNyA9IGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIHJvdyArIDddOwoKICAgICAgLy8gZGVxdWFudCBwMAogICAgICBwMCAqPSBxdFtyb3ddOwoKICAgICAgLy8gY2hlY2sgZm9yIGFsbC16ZXJvIEFDIGNvZWZmaWNpZW50cwogICAgICBpZiAoKHAxIHwgcDIgfCBwMyB8IHA0IHwgcDUgfCBwNiB8IHA3KSA9PT0gMCkgewogICAgICAgIHQgPSAoZGN0U3FydDIgKiBwMCArIDUxMikgPj4gMTA7CiAgICAgICAgcFtyb3ddID0gdDsKICAgICAgICBwW3JvdyArIDFdID0gdDsKICAgICAgICBwW3JvdyArIDJdID0gdDsKICAgICAgICBwW3JvdyArIDNdID0gdDsKICAgICAgICBwW3JvdyArIDRdID0gdDsKICAgICAgICBwW3JvdyArIDVdID0gdDsKICAgICAgICBwW3JvdyArIDZdID0gdDsKICAgICAgICBwW3JvdyArIDddID0gdDsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICAvLyBkZXF1YW50IHAxIC4uLiBwNwogICAgICBwMSAqPSBxdFtyb3cgKyAxXTsKICAgICAgcDIgKj0gcXRbcm93ICsgMl07CiAgICAgIHAzICo9IHF0W3JvdyArIDNdOwogICAgICBwNCAqPSBxdFtyb3cgKyA0XTsKICAgICAgcDUgKj0gcXRbcm93ICsgNV07CiAgICAgIHA2ICo9IHF0W3JvdyArIDZdOwogICAgICBwNyAqPSBxdFtyb3cgKyA3XTsKCiAgICAgIC8vIHN0YWdlIDQKICAgICAgdjAgPSAoZGN0U3FydDIgKiBwMCArIDEyOCkgPj4gODsKICAgICAgdjEgPSAoZGN0U3FydDIgKiBwNCArIDEyOCkgPj4gODsKICAgICAgdjIgPSBwMjsKICAgICAgdjMgPSBwNjsKICAgICAgdjQgPSAoZGN0U3FydDFkMiAqIChwMSAtIHA3KSArIDEyOCkgPj4gODsKICAgICAgdjcgPSAoZGN0U3FydDFkMiAqIChwMSArIHA3KSArIDEyOCkgPj4gODsKICAgICAgdjUgPSBwMyA8PCA0OwogICAgICB2NiA9IHA1IDw8IDQ7CgogICAgICAvLyBzdGFnZSAzCiAgICAgIHYwID0gKHYwICsgdjEgKyAxKSA+PiAxOwogICAgICB2MSA9IHYwIC0gdjE7CiAgICAgIHQgID0gKHYyICogZGN0U2luNiArIHYzICogZGN0Q29zNiArIDEyOCkgPj4gODsKICAgICAgdjIgPSAodjIgKiBkY3RDb3M2IC0gdjMgKiBkY3RTaW42ICsgMTI4KSA+PiA4OwogICAgICB2MyA9IHQ7CiAgICAgIHY0ID0gKHY0ICsgdjYgKyAxKSA+PiAxOwogICAgICB2NiA9IHY0IC0gdjY7CiAgICAgIHY3ID0gKHY3ICsgdjUgKyAxKSA+PiAxOwogICAgICB2NSA9IHY3IC0gdjU7CgogICAgICAvLyBzdGFnZSAyCiAgICAgIHYwID0gKHYwICsgdjMgKyAxKSA+PiAxOwogICAgICB2MyA9IHYwIC0gdjM7CiAgICAgIHYxID0gKHYxICsgdjIgKyAxKSA+PiAxOwogICAgICB2MiA9IHYxIC0gdjI7CiAgICAgIHQgID0gKHY0ICogZGN0U2luMyArIHY3ICogZGN0Q29zMyArIDIwNDgpID4+IDEyOwogICAgICB2NCA9ICh2NCAqIGRjdENvczMgLSB2NyAqIGRjdFNpbjMgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjcgPSB0OwogICAgICB0ICA9ICh2NSAqIGRjdFNpbjEgKyB2NiAqIGRjdENvczEgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjUgPSAodjUgKiBkY3RDb3MxIC0gdjYgKiBkY3RTaW4xICsgMjA0OCkgPj4gMTI7CiAgICAgIHY2ID0gdDsKCiAgICAgIC8vIHN0YWdlIDEKICAgICAgcFtyb3ddID0gdjAgKyB2NzsKICAgICAgcFtyb3cgKyA3XSA9IHYwIC0gdjc7CiAgICAgIHBbcm93ICsgMV0gPSB2MSArIHY2OwogICAgICBwW3JvdyArIDZdID0gdjEgLSB2NjsKICAgICAgcFtyb3cgKyAyXSA9IHYyICsgdjU7CiAgICAgIHBbcm93ICsgNV0gPSB2MiAtIHY1OwogICAgICBwW3JvdyArIDNdID0gdjMgKyB2NDsKICAgICAgcFtyb3cgKyA0XSA9IHYzIC0gdjQ7CiAgICB9CgogICAgLy8gaW52ZXJzZSBEQ1Qgb24gY29sdW1ucwogICAgZm9yICh2YXIgY29sID0gMDsgY29sIDwgODsgKytjb2wpIHsKICAgICAgcDAgPSBwW2NvbF07CiAgICAgIHAxID0gcFtjb2wgKyAgOF07CiAgICAgIHAyID0gcFtjb2wgKyAxNl07CiAgICAgIHAzID0gcFtjb2wgKyAyNF07CiAgICAgIHA0ID0gcFtjb2wgKyAzMl07CiAgICAgIHA1ID0gcFtjb2wgKyA0MF07CiAgICAgIHA2ID0gcFtjb2wgKyA0OF07CiAgICAgIHA3ID0gcFtjb2wgKyA1Nl07CgogICAgICAvLyBjaGVjayBmb3IgYWxsLXplcm8gQUMgY29lZmZpY2llbnRzCiAgICAgIGlmICgocDEgfCBwMiB8IHAzIHwgcDQgfCBwNSB8IHA2IHwgcDcpID09PSAwKSB7CiAgICAgICAgdCA9IChkY3RTcXJ0MiAqIHAwICsgODE5MikgPj4gMTQ7CiAgICAgICAgLy8gY29udmVydCB0byA4IGJpdAogICAgICAgIHQgPSAodCA8IC0yMDQwKSA/IDAgOiAodCA+PSAyMDI0KSA/IDI1NSA6ICh0ICsgMjA1NikgPj4gNDsKICAgICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2xdID0gdDsKICAgICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyAgOF0gPSB0OwogICAgICAgIGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIGNvbCArIDE2XSA9IHQ7CiAgICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sICsgMjRdID0gdDsKICAgICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyAzMl0gPSB0OwogICAgICAgIGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIGNvbCArIDQwXSA9IHQ7CiAgICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sICsgNDhdID0gdDsKICAgICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyA1Nl0gPSB0OwogICAgICAgIGNvbnRpbnVlOwogICAgICB9CgogICAgICAvLyBzdGFnZSA0CiAgICAgIHYwID0gKGRjdFNxcnQyICogcDAgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjEgPSAoZGN0U3FydDIgKiBwNCArIDIwNDgpID4+IDEyOwogICAgICB2MiA9IHAyOwogICAgICB2MyA9IHA2OwogICAgICB2NCA9IChkY3RTcXJ0MWQyICogKHAxIC0gcDcpICsgMjA0OCkgPj4gMTI7CiAgICAgIHY3ID0gKGRjdFNxcnQxZDIgKiAocDEgKyBwNykgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjUgPSBwMzsKICAgICAgdjYgPSBwNTsKCiAgICAgIC8vIHN0YWdlIDMKICAgICAgLy8gU2hpZnQgdjAgYnkgMTI4LjUgPDwgNSBoZXJlLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHNoaWZ0IHAwLi4ucDcgd2hlbgogICAgICAvLyBjb252ZXJ0aW5nIHRvIFVJbnQ4IHJhbmdlIGxhdGVyLgogICAgICB2MCA9ICgodjAgKyB2MSArIDEpID4+IDEpICsgNDExMjsKICAgICAgdjEgPSB2MCAtIHYxOwogICAgICB0ICA9ICh2MiAqIGRjdFNpbjYgKyB2MyAqIGRjdENvczYgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjIgPSAodjIgKiBkY3RDb3M2IC0gdjMgKiBkY3RTaW42ICsgMjA0OCkgPj4gMTI7CiAgICAgIHYzID0gdDsKICAgICAgdjQgPSAodjQgKyB2NiArIDEpID4+IDE7CiAgICAgIHY2ID0gdjQgLSB2NjsKICAgICAgdjcgPSAodjcgKyB2NSArIDEpID4+IDE7CiAgICAgIHY1ID0gdjcgLSB2NTsKCiAgICAgIC8vIHN0YWdlIDIKICAgICAgdjAgPSAodjAgKyB2MyArIDEpID4+IDE7CiAgICAgIHYzID0gdjAgLSB2MzsKICAgICAgdjEgPSAodjEgKyB2MiArIDEpID4+IDE7CiAgICAgIHYyID0gdjEgLSB2MjsKICAgICAgdCAgPSAodjQgKiBkY3RTaW4zICsgdjcgKiBkY3RDb3MzICsgMjA0OCkgPj4gMTI7CiAgICAgIHY0ID0gKHY0ICogZGN0Q29zMyAtIHY3ICogZGN0U2luMyArIDIwNDgpID4+IDEyOwogICAgICB2NyA9IHQ7CiAgICAgIHQgID0gKHY1ICogZGN0U2luMSArIHY2ICogZGN0Q29zMSArIDIwNDgpID4+IDEyOwogICAgICB2NSA9ICh2NSAqIGRjdENvczEgLSB2NiAqIGRjdFNpbjEgKyAyMDQ4KSA+PiAxMjsKICAgICAgdjYgPSB0OwoKICAgICAgLy8gc3RhZ2UgMQogICAgICBwMCA9IHYwICsgdjc7CiAgICAgIHA3ID0gdjAgLSB2NzsKICAgICAgcDEgPSB2MSArIHY2OwogICAgICBwNiA9IHYxIC0gdjY7CiAgICAgIHAyID0gdjIgKyB2NTsKICAgICAgcDUgPSB2MiAtIHY1OwogICAgICBwMyA9IHYzICsgdjQ7CiAgICAgIHA0ID0gdjMgLSB2NDsKCiAgICAgIC8vIGNvbnZlcnQgdG8gOC1iaXQgaW50ZWdlcnMKICAgICAgcDAgPSAocDAgPCAxNikgPyAwIDogKHAwID49IDQwODApID8gMjU1IDogcDAgPj4gNDsKICAgICAgcDEgPSAocDEgPCAxNikgPyAwIDogKHAxID49IDQwODApID8gMjU1IDogcDEgPj4gNDsKICAgICAgcDIgPSAocDIgPCAxNikgPyAwIDogKHAyID49IDQwODApID8gMjU1IDogcDIgPj4gNDsKICAgICAgcDMgPSAocDMgPCAxNikgPyAwIDogKHAzID49IDQwODApID8gMjU1IDogcDMgPj4gNDsKICAgICAgcDQgPSAocDQgPCAxNikgPyAwIDogKHA0ID49IDQwODApID8gMjU1IDogcDQgPj4gNDsKICAgICAgcDUgPSAocDUgPCAxNikgPyAwIDogKHA1ID49IDQwODApID8gMjU1IDogcDUgPj4gNDsKICAgICAgcDYgPSAocDYgPCAxNikgPyAwIDogKHA2ID49IDQwODApID8gMjU1IDogcDYgPj4gNDsKICAgICAgcDcgPSAocDcgPCAxNikgPyAwIDogKHA3ID49IDQwODApID8gMjU1IDogcDcgPj4gNDsKCiAgICAgIC8vIHN0b3JlIGJsb2NrIGRhdGEKICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sXSA9IHAwOwogICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyAgOF0gPSBwMTsKICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sICsgMTZdID0gcDI7CiAgICAgIGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIGNvbCArIDI0XSA9IHAzOwogICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyAzMl0gPSBwNDsKICAgICAgYmxvY2tEYXRhW2Jsb2NrQnVmZmVyT2Zmc2V0ICsgY29sICsgNDBdID0gcDU7CiAgICAgIGJsb2NrRGF0YVtibG9ja0J1ZmZlck9mZnNldCArIGNvbCArIDQ4XSA9IHA2OwogICAgICBibG9ja0RhdGFbYmxvY2tCdWZmZXJPZmZzZXQgKyBjb2wgKyA1Nl0gPSBwNzsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGJ1aWxkQ29tcG9uZW50RGF0YShmcmFtZSwgY29tcG9uZW50KSB7CiAgICB2YXIgYmxvY2tzUGVyTGluZSA9IGNvbXBvbmVudC5ibG9ja3NQZXJMaW5lOwogICAgdmFyIGJsb2Nrc1BlckNvbHVtbiA9IGNvbXBvbmVudC5ibG9ja3NQZXJDb2x1bW47CiAgICB2YXIgY29tcHV0YXRpb25CdWZmZXIgPSBuZXcgSW50MTZBcnJheSg2NCk7CgogICAgZm9yICh2YXIgYmxvY2tSb3cgPSAwOyBibG9ja1JvdyA8IGJsb2Nrc1BlckNvbHVtbjsgYmxvY2tSb3crKykgewogICAgICBmb3IgKHZhciBibG9ja0NvbCA9IDA7IGJsb2NrQ29sIDwgYmxvY2tzUGVyTGluZTsgYmxvY2tDb2wrKykgewogICAgICAgIHZhciBvZmZzZXQgPSBnZXRCbG9ja0J1ZmZlck9mZnNldChjb21wb25lbnQsIGJsb2NrUm93LCBibG9ja0NvbCk7CiAgICAgICAgcXVhbnRpemVBbmRJbnZlcnNlKGNvbXBvbmVudCwgb2Zmc2V0LCBjb21wdXRhdGlvbkJ1ZmZlcik7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBjb21wb25lbnQuYmxvY2tEYXRhOwogIH0KCiAgZnVuY3Rpb24gY2xhbXAwdG8yNTUoYSkgewogICAgcmV0dXJuIGEgPD0gMCA/IDAgOiBhID49IDI1NSA/IDI1NSA6IGE7CiAgfQoKICBjb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSB7CiAgICBwYXJzZTogZnVuY3Rpb24gcGFyc2UoZGF0YSkgewoKICAgICAgZnVuY3Rpb24gcmVhZFVpbnQxNigpIHsKICAgICAgICB2YXIgdmFsdWUgPSAoZGF0YVtvZmZzZXRdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAxXTsKICAgICAgICBvZmZzZXQgKz0gMjsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHJlYWREYXRhQmxvY2soKSB7CiAgICAgICAgdmFyIGxlbmd0aCA9IHJlYWRVaW50MTYoKTsKICAgICAgICB2YXIgYXJyYXkgPSBkYXRhLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgbGVuZ3RoIC0gMik7CiAgICAgICAgb2Zmc2V0ICs9IGFycmF5Lmxlbmd0aDsKICAgICAgICByZXR1cm4gYXJyYXk7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIHByZXBhcmVDb21wb25lbnRzKGZyYW1lKSB7CiAgICAgICAgdmFyIG1jdXNQZXJMaW5lID0gTWF0aC5jZWlsKGZyYW1lLnNhbXBsZXNQZXJMaW5lIC8gOCAvIGZyYW1lLm1heEgpOwogICAgICAgIHZhciBtY3VzUGVyQ29sdW1uID0gTWF0aC5jZWlsKGZyYW1lLnNjYW5MaW5lcyAvIDggLyBmcmFtZS5tYXhWKTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZyYW1lLmNvbXBvbmVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGNvbXBvbmVudCA9IGZyYW1lLmNvbXBvbmVudHNbaV07CiAgICAgICAgICB2YXIgYmxvY2tzUGVyTGluZSA9IE1hdGguY2VpbChNYXRoLmNlaWwoZnJhbWUuc2FtcGxlc1BlckxpbmUgLyA4KSAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQuaCAvIGZyYW1lLm1heEgpOwogICAgICAgICAgdmFyIGJsb2Nrc1BlckNvbHVtbiA9IE1hdGguY2VpbChNYXRoLmNlaWwoZnJhbWUuc2NhbkxpbmVzICAvIDgpICoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50LnYgLyBmcmFtZS5tYXhWKTsKICAgICAgICAgIHZhciBibG9ja3NQZXJMaW5lRm9yTWN1ID0gbWN1c1BlckxpbmUgKiBjb21wb25lbnQuaDsKICAgICAgICAgIHZhciBibG9ja3NQZXJDb2x1bW5Gb3JNY3UgPSBtY3VzUGVyQ29sdW1uICogY29tcG9uZW50LnY7CgogICAgICAgICAgdmFyIGJsb2Nrc0J1ZmZlclNpemUgPSA2NCAqIGJsb2Nrc1BlckNvbHVtbkZvck1jdSAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJsb2Nrc1BlckxpbmVGb3JNY3UgKyAxKTsKICAgICAgICAgIGNvbXBvbmVudC5ibG9ja0RhdGEgPSBuZXcgSW50MTZBcnJheShibG9ja3NCdWZmZXJTaXplKTsKICAgICAgICAgIGNvbXBvbmVudC5ibG9ja3NQZXJMaW5lID0gYmxvY2tzUGVyTGluZTsKICAgICAgICAgIGNvbXBvbmVudC5ibG9ja3NQZXJDb2x1bW4gPSBibG9ja3NQZXJDb2x1bW47CiAgICAgICAgfQogICAgICAgIGZyYW1lLm1jdXNQZXJMaW5lID0gbWN1c1BlckxpbmU7CiAgICAgICAgZnJhbWUubWN1c1BlckNvbHVtbiA9IG1jdXNQZXJDb2x1bW47CiAgICAgIH0KCiAgICAgIHZhciBvZmZzZXQgPSAwLCBsZW5ndGggPSBkYXRhLmxlbmd0aDsKICAgICAgdmFyIGpmaWYgPSBudWxsOwogICAgICB2YXIgYWRvYmUgPSBudWxsOwogICAgICB2YXIgcGl4ZWxzID0gbnVsbDsKICAgICAgdmFyIGZyYW1lLCByZXNldEludGVydmFsOwogICAgICB2YXIgcXVhbnRpemF0aW9uVGFibGVzID0gW107CiAgICAgIHZhciBodWZmbWFuVGFibGVzQUMgPSBbXSwgaHVmZm1hblRhYmxlc0RDID0gW107CiAgICAgIHZhciBmaWxlTWFya2VyID0gcmVhZFVpbnQxNigpOwogICAgICBpZiAoZmlsZU1hcmtlciAhPT0gMHhGRkQ4KSB7IC8vIFNPSSAoU3RhcnQgb2YgSW1hZ2UpCiAgICAgICAgdGhyb3cgJ1NPSSBub3QgZm91bmQnOwogICAgICB9CgogICAgICBmaWxlTWFya2VyID0gcmVhZFVpbnQxNigpOwogICAgICB3aGlsZSAoZmlsZU1hcmtlciAhPT0gMHhGRkQ5KSB7IC8vIEVPSSAoRW5kIG9mIGltYWdlKQogICAgICAgIHZhciBpLCBqLCBsOwogICAgICAgIHN3aXRjaChmaWxlTWFya2VyKSB7CiAgICAgICAgICBjYXNlIDB4RkZFMDogLy8gQVBQMCAoQXBwbGljYXRpb24gU3BlY2lmaWMpCiAgICAgICAgICBjYXNlIDB4RkZFMTogLy8gQVBQMQogICAgICAgICAgY2FzZSAweEZGRTI6IC8vIEFQUDIKICAgICAgICAgIGNhc2UgMHhGRkUzOiAvLyBBUFAzCiAgICAgICAgICBjYXNlIDB4RkZFNDogLy8gQVBQNAogICAgICAgICAgY2FzZSAweEZGRTU6IC8vIEFQUDUKICAgICAgICAgIGNhc2UgMHhGRkU2OiAvLyBBUFA2CiAgICAgICAgICBjYXNlIDB4RkZFNzogLy8gQVBQNwogICAgICAgICAgY2FzZSAweEZGRTg6IC8vIEFQUDgKICAgICAgICAgIGNhc2UgMHhGRkU5OiAvLyBBUFA5CiAgICAgICAgICBjYXNlIDB4RkZFQTogLy8gQVBQMTAKICAgICAgICAgIGNhc2UgMHhGRkVCOiAvLyBBUFAxMQogICAgICAgICAgY2FzZSAweEZGRUM6IC8vIEFQUDEyCiAgICAgICAgICBjYXNlIDB4RkZFRDogLy8gQVBQMTMKICAgICAgICAgIGNhc2UgMHhGRkVFOiAvLyBBUFAxNAogICAgICAgICAgY2FzZSAweEZGRUY6IC8vIEFQUDE1CiAgICAgICAgICBjYXNlIDB4RkZGRTogLy8gQ09NIChDb21tZW50KQogICAgICAgICAgICB2YXIgYXBwRGF0YSA9IHJlYWREYXRhQmxvY2soKTsKCiAgICAgICAgICAgIGlmIChmaWxlTWFya2VyID09PSAweEZGRTApIHsKICAgICAgICAgICAgICBpZiAoYXBwRGF0YVswXSA9PT0gMHg0QSAmJiBhcHBEYXRhWzFdID09PSAweDQ2ICYmCiAgICAgICAgICAgICAgICAgIGFwcERhdGFbMl0gPT09IDB4NDkgJiYgYXBwRGF0YVszXSA9PT0gMHg0NiAmJgogICAgICAgICAgICAgICAgICBhcHBEYXRhWzRdID09PSAwKSB7IC8vICdKRklGXHgwMCcKICAgICAgICAgICAgICAgIGpmaWYgPSB7CiAgICAgICAgICAgICAgICAgIHZlcnNpb246IHsgbWFqb3I6IGFwcERhdGFbNV0sIG1pbm9yOiBhcHBEYXRhWzZdIH0sCiAgICAgICAgICAgICAgICAgIGRlbnNpdHlVbml0czogYXBwRGF0YVs3XSwKICAgICAgICAgICAgICAgICAgeERlbnNpdHk6IChhcHBEYXRhWzhdIDw8IDgpIHwgYXBwRGF0YVs5XSwKICAgICAgICAgICAgICAgICAgeURlbnNpdHk6IChhcHBEYXRhWzEwXSA8PCA4KSB8IGFwcERhdGFbMTFdLAogICAgICAgICAgICAgICAgICB0aHVtYldpZHRoOiBhcHBEYXRhWzEyXSwKICAgICAgICAgICAgICAgICAgdGh1bWJIZWlnaHQ6IGFwcERhdGFbMTNdLAogICAgICAgICAgICAgICAgICB0aHVtYkRhdGE6IGFwcERhdGEuc3ViYXJyYXkoMTQsIDE0ICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMgKiBhcHBEYXRhWzEyXSAqIGFwcERhdGFbMTNdKQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gVE9ETyBBUFAxIC0gRXhpZgogICAgICAgICAgICBpZiAoZmlsZU1hcmtlciA9PT0gMHhGRkVFKSB7CiAgICAgICAgICAgICAgaWYgKGFwcERhdGFbMF0gPT09IDB4NDEgJiYgYXBwRGF0YVsxXSA9PT0gMHg2NCAmJgogICAgICAgICAgICAgICAgICBhcHBEYXRhWzJdID09PSAweDZGICYmIGFwcERhdGFbM10gPT09IDB4NjIgJiYKICAgICAgICAgICAgICAgICAgYXBwRGF0YVs0XSA9PT0gMHg2NSkgeyAvLyAnQWRvYmUnCiAgICAgICAgICAgICAgICBhZG9iZSA9IHsKICAgICAgICAgICAgICAgICAgdmVyc2lvbjogKGFwcERhdGFbNV0gPDwgOCkgfCBhcHBEYXRhWzZdLAogICAgICAgICAgICAgICAgICBmbGFnczA6IChhcHBEYXRhWzddIDw8IDgpIHwgYXBwRGF0YVs4XSwKICAgICAgICAgICAgICAgICAgZmxhZ3MxOiAoYXBwRGF0YVs5XSA8PCA4KSB8IGFwcERhdGFbMTBdLAogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1Db2RlOiBhcHBEYXRhWzExXQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgY2FzZSAweEZGREI6IC8vIERRVCAoRGVmaW5lIFF1YW50aXphdGlvbiBUYWJsZXMpCiAgICAgICAgICAgIHZhciBxdWFudGl6YXRpb25UYWJsZXNMZW5ndGggPSByZWFkVWludDE2KCk7CiAgICAgICAgICAgIHZhciBxdWFudGl6YXRpb25UYWJsZXNFbmQgPSBxdWFudGl6YXRpb25UYWJsZXNMZW5ndGggKyBvZmZzZXQgLSAyOwogICAgICAgICAgICB2YXIgejsKICAgICAgICAgICAgd2hpbGUgKG9mZnNldCA8IHF1YW50aXphdGlvblRhYmxlc0VuZCkgewogICAgICAgICAgICAgIHZhciBxdWFudGl6YXRpb25UYWJsZVNwZWMgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgICB2YXIgdGFibGVEYXRhID0gbmV3IFVpbnQxNkFycmF5KDY0KTsKICAgICAgICAgICAgICBpZiAoKHF1YW50aXphdGlvblRhYmxlU3BlYyA+PiA0KSA9PT0gMCkgeyAvLyA4IGJpdCB2YWx1ZXMKICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCA2NDsgaisrKSB7CiAgICAgICAgICAgICAgICAgIHogPSBkY3RaaWdaYWdbal07CiAgICAgICAgICAgICAgICAgIHRhYmxlRGF0YVt6XSA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHF1YW50aXphdGlvblRhYmxlU3BlYyA+PiA0KSA9PT0gMSkgeyAvLzE2IGJpdAogICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IDY0OyBqKyspIHsKICAgICAgICAgICAgICAgICAgeiA9IGRjdFppZ1phZ1tqXTsKICAgICAgICAgICAgICAgICAgdGFibGVEYXRhW3pdID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyAnRFFUOiBpbnZhbGlkIHRhYmxlIHNwZWMnOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBxdWFudGl6YXRpb25UYWJsZXNbcXVhbnRpemF0aW9uVGFibGVTcGVjICYgMTVdID0gdGFibGVEYXRhOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMHhGRkMwOiAvLyBTT0YwIChTdGFydCBvZiBGcmFtZSwgQmFzZWxpbmUgRENUKQogICAgICAgICAgY2FzZSAweEZGQzE6IC8vIFNPRjEgKFN0YXJ0IG9mIEZyYW1lLCBFeHRlbmRlZCBEQ1QpCiAgICAgICAgICBjYXNlIDB4RkZDMjogLy8gU09GMiAoU3RhcnQgb2YgRnJhbWUsIFByb2dyZXNzaXZlIERDVCkKICAgICAgICAgICAgaWYgKGZyYW1lKSB7CiAgICAgICAgICAgICAgdGhyb3cgJ09ubHkgc2luZ2xlIGZyYW1lIEpQRUdzIHN1cHBvcnRlZCc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmVhZFVpbnQxNigpOyAvLyBza2lwIGRhdGEgbGVuZ3RoCiAgICAgICAgICAgIGZyYW1lID0ge307CiAgICAgICAgICAgIGZyYW1lLmV4dGVuZGVkID0gKGZpbGVNYXJrZXIgPT09IDB4RkZDMSk7CiAgICAgICAgICAgIGZyYW1lLnByb2dyZXNzaXZlID0gKGZpbGVNYXJrZXIgPT09IDB4RkZDMik7CiAgICAgICAgICAgIGZyYW1lLnByZWNpc2lvbiA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICBmcmFtZS5zY2FuTGluZXMgPSByZWFkVWludDE2KCk7CiAgICAgICAgICAgIGZyYW1lLnNhbXBsZXNQZXJMaW5lID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICBmcmFtZS5jb21wb25lbnRzID0gW107CiAgICAgICAgICAgIGZyYW1lLmNvbXBvbmVudElkcyA9IHt9OwogICAgICAgICAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gZGF0YVtvZmZzZXQrK10sIGNvbXBvbmVudElkOwogICAgICAgICAgICB2YXIgbWF4SCA9IDAsIG1heFYgPSAwOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY29tcG9uZW50c0NvdW50OyBpKyspIHsKICAgICAgICAgICAgICBjb21wb25lbnRJZCA9IGRhdGFbb2Zmc2V0XTsKICAgICAgICAgICAgICB2YXIgaCA9IGRhdGFbb2Zmc2V0ICsgMV0gPj4gNDsKICAgICAgICAgICAgICB2YXIgdiA9IGRhdGFbb2Zmc2V0ICsgMV0gJiAxNTsKICAgICAgICAgICAgICBpZiAobWF4SCA8IGgpIHsKICAgICAgICAgICAgICAgIG1heEggPSBoOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAobWF4ViA8IHYpIHsKICAgICAgICAgICAgICAgIG1heFYgPSB2OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2YXIgcUlkID0gZGF0YVtvZmZzZXQgKyAyXTsKICAgICAgICAgICAgICBsID0gZnJhbWUuY29tcG9uZW50cy5wdXNoKHsKICAgICAgICAgICAgICAgIGg6IGgsCiAgICAgICAgICAgICAgICB2OiB2LAogICAgICAgICAgICAgICAgcXVhbnRpemF0aW9uVGFibGU6IHF1YW50aXphdGlvblRhYmxlc1txSWRdCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgZnJhbWUuY29tcG9uZW50SWRzW2NvbXBvbmVudElkXSA9IGwgLSAxOwogICAgICAgICAgICAgIG9mZnNldCArPSAzOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZyYW1lLm1heEggPSBtYXhIOwogICAgICAgICAgICBmcmFtZS5tYXhWID0gbWF4VjsKICAgICAgICAgICAgcHJlcGFyZUNvbXBvbmVudHMoZnJhbWUpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBjYXNlIDB4RkZDNDogLy8gREhUIChEZWZpbmUgSHVmZm1hbiBUYWJsZXMpCiAgICAgICAgICAgIHZhciBodWZmbWFuTGVuZ3RoID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICBmb3IgKGkgPSAyOyBpIDwgaHVmZm1hbkxlbmd0aDspIHsKICAgICAgICAgICAgICB2YXIgaHVmZm1hblRhYmxlU3BlYyA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICAgIHZhciBjb2RlTGVuZ3RocyA9IG5ldyBVaW50OEFycmF5KDE2KTsKICAgICAgICAgICAgICB2YXIgY29kZUxlbmd0aFN1bSA9IDA7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IDE2OyBqKyssIG9mZnNldCsrKSB7CiAgICAgICAgICAgICAgICBjb2RlTGVuZ3RoU3VtICs9IChjb2RlTGVuZ3Roc1tqXSA9IGRhdGFbb2Zmc2V0XSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHZhciBodWZmbWFuVmFsdWVzID0gbmV3IFVpbnQ4QXJyYXkoY29kZUxlbmd0aFN1bSk7CiAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IGNvZGVMZW5ndGhTdW07IGorKywgb2Zmc2V0KyspIHsKICAgICAgICAgICAgICAgIGh1ZmZtYW5WYWx1ZXNbal0gPSBkYXRhW29mZnNldF07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGkgKz0gMTcgKyBjb2RlTGVuZ3RoU3VtOwoKICAgICAgICAgICAgICAoKGh1ZmZtYW5UYWJsZVNwZWMgPj4gNCkgPT09IDAgPwogICAgICAgICAgICAgICAgaHVmZm1hblRhYmxlc0RDIDogaHVmZm1hblRhYmxlc0FDKVtodWZmbWFuVGFibGVTcGVjICYgMTVdID0KICAgICAgICAgICAgICAgIGJ1aWxkSHVmZm1hblRhYmxlKGNvZGVMZW5ndGhzLCBodWZmbWFuVmFsdWVzKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBjYXNlIDB4RkZERDogLy8gRFJJIChEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCkKICAgICAgICAgICAgcmVhZFVpbnQxNigpOyAvLyBza2lwIGRhdGEgbGVuZ3RoCiAgICAgICAgICAgIHJlc2V0SW50ZXJ2YWwgPSByZWFkVWludDE2KCk7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMHhGRkRBOiAvLyBTT1MgKFN0YXJ0IG9mIFNjYW4pCiAgICAgICAgICAgIHZhciBzY2FuTGVuZ3RoID0gcmVhZFVpbnQxNigpOwogICAgICAgICAgICB2YXIgc2VsZWN0b3JzQ291bnQgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBbXSwgY29tcG9uZW50OwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc2VsZWN0b3JzQ291bnQ7IGkrKykgewogICAgICAgICAgICAgIHZhciBjb21wb25lbnRJbmRleCA9IGZyYW1lLmNvbXBvbmVudElkc1tkYXRhW29mZnNldCsrXV07CiAgICAgICAgICAgICAgY29tcG9uZW50ID0gZnJhbWUuY29tcG9uZW50c1tjb21wb25lbnRJbmRleF07CiAgICAgICAgICAgICAgdmFyIHRhYmxlU3BlYyA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICAgIGNvbXBvbmVudC5odWZmbWFuVGFibGVEQyA9IGh1ZmZtYW5UYWJsZXNEQ1t0YWJsZVNwZWMgPj4gNF07CiAgICAgICAgICAgICAgY29tcG9uZW50Lmh1ZmZtYW5UYWJsZUFDID0gaHVmZm1hblRhYmxlc0FDW3RhYmxlU3BlYyAmIDE1XTsKICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2goY29tcG9uZW50KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgc3BlY3RyYWxTdGFydCA9IGRhdGFbb2Zmc2V0KytdOwogICAgICAgICAgICB2YXIgc3BlY3RyYWxFbmQgPSBkYXRhW29mZnNldCsrXTsKICAgICAgICAgICAgdmFyIHN1Y2Nlc3NpdmVBcHByb3hpbWF0aW9uID0gZGF0YVtvZmZzZXQrK107CiAgICAgICAgICAgIHZhciBwcm9jZXNzZWQgPSBkZWNvZGVTY2FuKGRhdGEsIG9mZnNldCwKICAgICAgICAgICAgICBmcmFtZSwgY29tcG9uZW50cywgcmVzZXRJbnRlcnZhbCwKICAgICAgICAgICAgICBzcGVjdHJhbFN0YXJ0LCBzcGVjdHJhbEVuZCwKICAgICAgICAgICAgICBzdWNjZXNzaXZlQXBwcm94aW1hdGlvbiA+PiA0LCBzdWNjZXNzaXZlQXBwcm94aW1hdGlvbiAmIDE1KTsKICAgICAgICAgICAgb2Zmc2V0ICs9IHByb2Nlc3NlZDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgY2FzZSAweEZGRkY6IC8vIEZpbGwgYnl0ZXMKICAgICAgICAgICAgaWYgKGRhdGFbb2Zmc2V0XSAhPT0gMHhGRikgeyAvLyBBdm9pZCBza2lwcGluZyBhIHZhbGlkIG1hcmtlci4KICAgICAgICAgICAgICBvZmZzZXQtLTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBpZiAoZGF0YVtvZmZzZXQgLSAzXSA9PT0gMHhGRiAmJgogICAgICAgICAgICAgICAgZGF0YVtvZmZzZXQgLSAyXSA+PSAweEMwICYmIGRhdGFbb2Zmc2V0IC0gMl0gPD0gMHhGRSkgewogICAgICAgICAgICAgIC8vIGNvdWxkIGJlIGluY29ycmVjdCBlbmNvZGluZyAtLSBsYXN0IDB4RkYgYnl0ZSBvZiB0aGUgcHJldmlvdXMKICAgICAgICAgICAgICAvLyBibG9jayB3YXMgZWF0ZW4gYnkgdGhlIGVuY29kZXIKICAgICAgICAgICAgICBvZmZzZXQgLT0gMzsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aHJvdyAndW5rbm93biBKUEVHIG1hcmtlciAnICsgZmlsZU1hcmtlci50b1N0cmluZygxNik7CiAgICAgICAgfQogICAgICAgIGZpbGVNYXJrZXIgPSByZWFkVWludDE2KCk7CiAgICAgIH0KCiAgICAgIHRoaXMud2lkdGggPSBmcmFtZS5zYW1wbGVzUGVyTGluZTsKICAgICAgdGhpcy5oZWlnaHQgPSBmcmFtZS5zY2FuTGluZXM7CiAgICAgIHRoaXMuamZpZiA9IGpmaWY7CiAgICAgIHRoaXMuYWRvYmUgPSBhZG9iZTsKICAgICAgdGhpcy5jb21wb25lbnRzID0gW107CiAgICAgIGZvciAoaSA9IDA7IGkgPCBmcmFtZS5jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgY29tcG9uZW50ID0gZnJhbWUuY29tcG9uZW50c1tpXTsKICAgICAgICB0aGlzLmNvbXBvbmVudHMucHVzaCh7CiAgICAgICAgICBvdXRwdXQ6IGJ1aWxkQ29tcG9uZW50RGF0YShmcmFtZSwgY29tcG9uZW50KSwKICAgICAgICAgIHNjYWxlWDogY29tcG9uZW50LmggLyBmcmFtZS5tYXhILAogICAgICAgICAgc2NhbGVZOiBjb21wb25lbnQudiAvIGZyYW1lLm1heFYsCiAgICAgICAgICBibG9ja3NQZXJMaW5lOiBjb21wb25lbnQuYmxvY2tzUGVyTGluZSwKICAgICAgICAgIGJsb2Nrc1BlckNvbHVtbjogY29tcG9uZW50LmJsb2Nrc1BlckNvbHVtbgogICAgICAgIH0pOwogICAgICB9CiAgICAgIHRoaXMubnVtQ29tcG9uZW50cyA9IHRoaXMuY29tcG9uZW50cy5sZW5ndGg7CiAgICB9LAoKICAgIF9nZXRMaW5lYXJpemVkQmxvY2tEYXRhOiBmdW5jdGlvbiBnZXRMaW5lYXJpemVkQmxvY2tEYXRhKHdpZHRoLCBoZWlnaHQpIHsKICAgICAgdmFyIHNjYWxlWCA9IHRoaXMud2lkdGggLyB3aWR0aCwgc2NhbGVZID0gdGhpcy5oZWlnaHQgLyBoZWlnaHQ7CgogICAgICB2YXIgY29tcG9uZW50LCBjb21wb25lbnRTY2FsZVgsIGNvbXBvbmVudFNjYWxlWSwgYmxvY2tzUGVyU2NhbmxpbmU7CiAgICAgIHZhciB4LCB5LCBpLCBqLCBrOwogICAgICB2YXIgaW5kZXg7CiAgICAgIHZhciBvZmZzZXQgPSAwOwogICAgICB2YXIgb3V0cHV0OwogICAgICB2YXIgbnVtQ29tcG9uZW50cyA9IHRoaXMuY29tcG9uZW50cy5sZW5ndGg7CiAgICAgIHZhciBkYXRhTGVuZ3RoID0gd2lkdGggKiBoZWlnaHQgKiBudW1Db21wb25lbnRzOwogICAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KGRhdGFMZW5ndGgpOwogICAgICB2YXIgeFNjYWxlQmxvY2tPZmZzZXQgPSBuZXcgVWludDMyQXJyYXkod2lkdGgpOwogICAgICB2YXIgbWFzazNMU0IgPSAweGZmZmZmZmY4OyAvLyB1c2VkIHRvIGNsZWFyIHRoZSAzIExTQnMKCiAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1Db21wb25lbnRzOyBpKyspIHsKICAgICAgICBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudHNbaV07CiAgICAgICAgY29tcG9uZW50U2NhbGVYID0gY29tcG9uZW50LnNjYWxlWCAqIHNjYWxlWDsKICAgICAgICBjb21wb25lbnRTY2FsZVkgPSBjb21wb25lbnQuc2NhbGVZICogc2NhbGVZOwogICAgICAgIG9mZnNldCA9IGk7CiAgICAgICAgb3V0cHV0ID0gY29tcG9uZW50Lm91dHB1dDsKICAgICAgICBibG9ja3NQZXJTY2FubGluZSA9IChjb21wb25lbnQuYmxvY2tzUGVyTGluZSArIDEpIDw8IDM7CiAgICAgICAgLy8gcHJlY2FsY3VsYXRlIHRoZSB4U2NhbGVCbG9ja09mZnNldAogICAgICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CiAgICAgICAgICBqID0gMCB8ICh4ICogY29tcG9uZW50U2NhbGVYKTsKICAgICAgICAgIHhTY2FsZUJsb2NrT2Zmc2V0W3hdID0gKChqICYgbWFzazNMU0IpIDw8IDMpIHwgKGogJiA3KTsKICAgICAgICB9CiAgICAgICAgLy8gbGluZWFyaXplIHRoZSBibG9ja3Mgb2YgdGhlIGNvbXBvbmVudAogICAgICAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgewogICAgICAgICAgaiA9IDAgfCAoeSAqIGNvbXBvbmVudFNjYWxlWSk7CiAgICAgICAgICBpbmRleCA9IGJsb2Nrc1BlclNjYW5saW5lICogKGogJiBtYXNrM0xTQikgfCAoKGogJiA3KSA8PCAzKTsKICAgICAgICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CiAgICAgICAgICAgIGRhdGFbb2Zmc2V0XSA9IG91dHB1dFtpbmRleCArIHhTY2FsZUJsb2NrT2Zmc2V0W3hdXTsKICAgICAgICAgICAgb2Zmc2V0ICs9IG51bUNvbXBvbmVudHM7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBkZWNvZGVUcmFuc2Zvcm0gY29udGFpbnMgcGFpcnMgb2YgbXVsdGlwbGllciAoLTI1Ni4uMjU2KSBhbmQgYWRkaXRpdmUKICAgICAgdmFyIHRyYW5zZm9ybSA9IHRoaXMuZGVjb2RlVHJhbnNmb3JtOwogICAgICBpZiAodHJhbnNmb3JtKSB7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGRhdGFMZW5ndGg7KSB7CiAgICAgICAgICBmb3IgKGogPSAwLCBrID0gMDsgaiA8IG51bUNvbXBvbmVudHM7IGorKywgaSsrLCBrICs9IDIpIHsKICAgICAgICAgICAgZGF0YVtpXSA9ICgoZGF0YVtpXSAqIHRyYW5zZm9ybVtrXSkgPj4gOCkgKyB0cmFuc2Zvcm1bayArIDFdOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZGF0YTsKICAgIH0sCgogICAgX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkOiBmdW5jdGlvbiBpc0NvbG9yQ29udmVyc2lvbk5lZWRlZCgpIHsKICAgICAgaWYgKHRoaXMuYWRvYmUgJiYgdGhpcy5hZG9iZS50cmFuc2Zvcm1Db2RlKSB7CiAgICAgICAgLy8gVGhlIGFkb2JlIHRyYW5zZm9ybSBtYXJrZXIgb3ZlcnJpZGVzIGFueSBwcmV2aW91cyBzZXR0aW5nCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5udW1Db21wb25lbnRzID09PSAzKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB9LAoKICAgIF9jb252ZXJ0WWNjVG9SZ2I6IGZ1bmN0aW9uIGNvbnZlcnRZY2NUb1JnYihkYXRhKSB7CiAgICAgIHZhciBZLCBDYiwgQ3I7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSBkYXRhLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSArPSAzKSB7CiAgICAgICAgWSAgPSBkYXRhW2kgICAgXTsKICAgICAgICBDYiA9IGRhdGFbaSArIDFdOwogICAgICAgIENyID0gZGF0YVtpICsgMl07CiAgICAgICAgZGF0YVtpICAgIF0gPSBjbGFtcDB0bzI1NShZIC0gMTc5LjQ1NiArIDEuNDAyICogQ3IpOwogICAgICAgIGRhdGFbaSArIDFdID0gY2xhbXAwdG8yNTUoWSArIDEzNS40NTkgLSAwLjM0NCAqIENiIC0gMC43MTQgKiBDcik7CiAgICAgICAgZGF0YVtpICsgMl0gPSBjbGFtcDB0bzI1NShZIC0gMjI2LjgxNiArIDEuNzcyICogQ2IpOwogICAgICB9CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKCiAgICBfY29udmVydFljY2tUb1JnYjogZnVuY3Rpb24gY29udmVydFljY2tUb1JnYihkYXRhKSB7CiAgICAgIHZhciBZLCBDYiwgQ3IsIGs7CiAgICAgIHZhciBvZmZzZXQgPSAwOwogICAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gZGF0YS5sZW5ndGg7IGkgPCBsZW5ndGg7IGkgKz0gNCkgewogICAgICAgIFkgID0gZGF0YVtpXTsKICAgICAgICBDYiA9IGRhdGFbaSArIDFdOwogICAgICAgIENyID0gZGF0YVtpICsgMl07CiAgICAgICAgayA9IGRhdGFbaSArIDNdOwoKICAgICAgICB2YXIgciA9IC0xMjIuNjcxOTU0MDY4OTQgKwogICAgICAgICAgQ2IgKiAoLTYuNjA2MzU2Njk0MjAzNjRlLTUgKiBDYiArIDAuMDAwNDM3MTMwNDc1OTI2MjMyICogQ3IgLQogICAgICAgICAgICAgICAgNS40MDgwNjEwMDY0NTk5ZS01ICogWSArIDAuMDAwNDg0NDk3OTcxMjAyODEgKiBrIC0KICAgICAgICAgICAgICAgIDAuMTU0MzYyMTUxODcxMTI2KSArCiAgICAgICAgICBDciAqICgtMC4wMDA5NTc5NjQzNzg0NDU3NzMgKiBDciArIDAuMDAwODE3MDc2OTExMzQ2NjI1ICogWSAtCiAgICAgICAgICAgICAgICAwLjAwNDc3MjcxNDA1NDA4NzQ3ICogayArIDEuNTMzODAyNTMyMjE3MzQpICsKICAgICAgICAgIFkgKiAoMC4wMDA5NjEyNTAxODQxMzA2ODggKiBZIC0gMC4wMDI2NjI1NzMzMjI4MzkzMyAqIGsgKwogICAgICAgICAgICAgICAwLjQ4MzU3MDg4NDUxMjY1KSArCiAgICAgICAgICBrICogKC0wLjAwMDMzNjE5NzE3NzYxODM5NCAqIGsgKyAwLjQ4NDc5MTU2MTQ5MDc3Nik7CgogICAgICAgIHZhciBnID0gMTA3LjI2ODAzOTM5NzcyNCArCiAgICAgICAgICBDYiAqICgyLjE5OTI3MTA0NTI1NzQxZS01ICogQ2IgLSAwLjAwMDY0MDk5MjAxODI5Nzk0NSAqIENyICsKICAgICAgICAgICAgICAgIDAuMDAwNjU5Mzk3MDAxMjQ1NTc3ICogWSArIDAuMDAwNDI2MTA1NjUyOTM4ODM3ICogayAtCiAgICAgICAgICAgICAgICAwLjE3NjQ5MTc5MjQ2Mjg3NSkgKwogICAgICAgICAgQ3IgKiAoLTAuMDAwNzc4MjY5OTQxNTEzNjgzICogQ3IgKyAwLjAwMTMwODcyMjYxNDA4Mjc1ICogWSArCiAgICAgICAgICAgICAgICAwLjAwMDc3MDQ4MjYzMTgwMTEzMiAqIGsgLSAwLjE1MTA1MTQ5Mjc3NTU2MikgKwogICAgICAgICAgWSAqICgwLjAwMTI2OTM1MzY4MTE0ODQzICogWSAtIDAuMDAyNjUwOTAxODkwMTA4OTggKiBrICsKICAgICAgICAgICAgICAgMC4yNTgwMjkxMDIwNjg0NSkgKwogICAgICAgICAgayAqICgtMC4wMDAzMTg5MTMxMTc1ODgzMjggKiBrIC0gMC4yMTM3NDI0MDAzMjM2NjUpOwoKICAgICAgICB2YXIgYiA9IC0yMC44MTAwMTI1NDY5NDcgKwogICAgICAgICAgQ2IgKiAoLTAuMDAwNTcwMTE1MTk2OTczNjc3ICogQ2IgLSAyLjYzNDA5MDUxMDA0NTg5ZS01ICogQ3IgKwogICAgICAgICAgICAgICAgMC4wMDIwNzQxMDg4MTE1MDEyICogWSAtIDAuMDAyODgyNjAyMzY4NTM0NDIgKiBrICsKICAgICAgICAgICAgICAgIDAuODE0MjcyOTY4MzU5Mjk1KSArCiAgICAgICAgICBDciAqICgtMS41MzQ5NjA1NzQ0MDk3NWUtNSAqIENyIC0gMC4wMDAxMzI2ODkwNDM5NjE0NDYgKiBZICsKICAgICAgICAgICAgICAgIDAuMDAwNTYwODMzNjkxMjQyODEyICogayAtIDAuMTk1MTUyMDI3NTM0MDQ5KSArCiAgICAgICAgICBZICogKDAuMDAxNzQ0MTgxMzI5Mjc1ODIgKiBZIC0gMC4wMDI1NTI0MzMyMTQzOTM0NyAqIGsgKwogICAgICAgICAgICAgICAwLjExNjkzNTAyMDQ2NTE0NSkgKwogICAgICAgICAgayAqICgtMC4wMDAzNDM1MzE5OTY1MTA1NTUgKiBrICsgMC4yNDE2NTI2MDIzMjQwNyk7CgogICAgICAgIGRhdGFbb2Zmc2V0KytdID0gY2xhbXAwdG8yNTUocik7CiAgICAgICAgZGF0YVtvZmZzZXQrK10gPSBjbGFtcDB0bzI1NShnKTsKICAgICAgICBkYXRhW29mZnNldCsrXSA9IGNsYW1wMHRvMjU1KGIpOwogICAgICB9CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKCiAgICBfY29udmVydFljY2tUb0NteWs6IGZ1bmN0aW9uIGNvbnZlcnRZY2NrVG9DbXlrKGRhdGEpIHsKICAgICAgdmFyIFksIENiLCBDcjsKICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IGRhdGEubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpICs9IDQpIHsKICAgICAgICBZICA9IGRhdGFbaV07CiAgICAgICAgQ2IgPSBkYXRhW2kgKyAxXTsKICAgICAgICBDciA9IGRhdGFbaSArIDJdOwogICAgICAgIGRhdGFbaSAgICBdID0gY2xhbXAwdG8yNTUoNDM0LjQ1NiAtIFkgLSAxLjQwMiAqIENyKTsKICAgICAgICBkYXRhW2kgKyAxXSA9IGNsYW1wMHRvMjU1KDExOS41NDEgLSBZICsgMC4zNDQgKiBDYiArIDAuNzE0ICogQ3IpOwogICAgICAgIGRhdGFbaSArIDJdID0gY2xhbXAwdG8yNTUoNDgxLjgxNiAtIFkgLSAxLjc3MiAqIENiKTsKICAgICAgICAvLyBLIGluIGRhdGFbaSArIDNdIGlzIHVuY2hhbmdlZAogICAgICB9CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKCiAgICBfY29udmVydENteWtUb1JnYjogZnVuY3Rpb24gY29udmVydENteWtUb1JnYihkYXRhKSB7CiAgICAgIHZhciBjLCBtLCB5LCBrOwogICAgICB2YXIgb2Zmc2V0ID0gMDsKICAgICAgdmFyIG1pbiA9IC0yNTUgKiAyNTUgKiAyNTU7CiAgICAgIHZhciBzY2FsZSA9IDEgLyAyNTUgLyAyNTU7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSBkYXRhLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSArPSA0KSB7CiAgICAgICAgYyA9IGRhdGFbaV07CiAgICAgICAgbSA9IGRhdGFbaSArIDFdOwogICAgICAgIHkgPSBkYXRhW2kgKyAyXTsKICAgICAgICBrID0gZGF0YVtpICsgM107CgogICAgICAgIHZhciByID0KICAgICAgICAgIGMgKiAoLTQuMzg3MzMyMzg0NjA5OTg4ICogYyArIDU0LjQ4NjE1MTk0MTg5MTc2ICogbSArCiAgICAgICAgICAgICAgIDE4LjgyMjkwNTAyMTY1MzAyICogeSArIDIxMi4yNTY2MjQ1MTYzOTU4NSAqIGsgLQogICAgICAgICAgICAgICA3MjczNC40NDExNjY0OTM2KSArCiAgICAgICAgICBtICogKDEuNzE0OTc2MzQ3NzM2MjEzNCAqIG0gLSA1LjYwOTY3MzY5MDQwNDczMTUgKiB5IC0KICAgICAgICAgICAgICAgMTcuODczODcwODYxNDE1NDQ0ICogayAtIDE0MDEuNzM2NjM4OTM1MDczNCkgKwogICAgICAgICAgeSAqICgtMi41MjE3MzQwMTMxNjgzMDMzICogeSAtIDIxLjI0ODkyMzMzNzM1MzA3MyAqIGsgKwogICAgICAgICAgICAgICA0NDY1LjU0MTQwNjQ2NjIzMSkgLQogICAgICAgICAgayAqICgyMS44NjEyMjE0NzQ2MzYwNSAqIGsgKyA0ODMxNy44NjExMzE2MDMwMSk7CiAgICAgICAgdmFyIGcgPQogICAgICAgICAgYyAqICg4Ljg0MTA0MTQyMjAzNjE0OSAqIGMgKyA2MC4xMTgwMjcwNDU1OTczNjYgKiBtICsKICAgICAgICAgICAgICAgNi44NzE0MjU1OTIwNDkwMDcgKiB5ICsgMzEuMTU5MTAwMTMwMDU1OTIyICogayAtCiAgICAgICAgICAgICAgIDIwMjIwLjc1NjU0MjgyMTk3NSkgKwogICAgICAgICAgbSAqICgtMTUuMzEwMzYxMzA2OTY3ODE3ICogbSArIDE3LjU3NTI1MTI2MTEwOTQ4MiAqIHkgKwogICAgICAgICAgICAgICAxMzEuMzUyNTA5MTI0OTM5NzYgKiBrIC0gNDg2OTEuMDU5MjE2MDE4MjUpICsKICAgICAgICAgIHkgKiAoNC40NDQzMzkxMDI4NTI3MzkgKiB5ICsgOS44NjMyODYxNDkzNDA1ICogayAtCiAgICAgICAgICAgICAgIDYzNDEuMTkxMDM1NTE3NDk0KSAtCiAgICAgICAgICBrICogKDIwLjczNzMyNTQ3MTE4MTAzNCAqIGsgKyA0Nzg5MC4xNTY5NTk3ODQ5Mik7CiAgICAgICAgdmFyIGIgPQogICAgICAgICAgYyAqICgwLjg4NDI1MjI0MzAwMDMyOTYgKiBjICsgOC4wNzg2Nzc1MDMxMTI5MjggKiBtICsKICAgICAgICAgICAgICAgMzAuODk5NzgzMDk3MDM3MjkgKiB5IC0gMC4yMzg4MzIzODY4OTE3ODkzNCAqIGsgLQogICAgICAgICAgICAgICAzNjE2LjgxMjA4MzkxNjY4OCkgKwogICAgICAgICAgbSAqICgxMC40OTU5MzI3MzQzMjA3MiAqIG0gKyA2My4wMjM3ODQ5NDc1NDA1MiAqIHkgKwogICAgICAgICAgICAgICA1MC42MDY5NTc2NTYzNjA3MzQgKiBrIC0gMjg2MjAuOTA0ODQ2OTg0MDgpICsKICAgICAgICAgIHkgKiAoMC4wMzI5NjA0MTExNDg3MzIxNyAqIHkgKyAxMTUuNjAzODQ0NDk2NDY2NDEgKiBrIC0KICAgICAgICAgICAgICAgNDkzNjMuNDMzODU5OTk2ODQpIC0KICAgICAgICAgIGsgKiAoMjIuMzM4MTY4MDczMDk4ODYgKiBrICsgNDU5MzIuMTY1NjM1NTA2MzQpOwoKICAgICAgICBkYXRhW29mZnNldCsrXSA9IHIgPj0gMCA/IDI1NSA6IHIgPD0gbWluID8gMCA6IDI1NSArIHIgKiBzY2FsZSB8IDA7CiAgICAgICAgZGF0YVtvZmZzZXQrK10gPSBnID49IDAgPyAyNTUgOiBnIDw9IG1pbiA/IDAgOiAyNTUgKyBnICogc2NhbGUgfCAwOwogICAgICAgIGRhdGFbb2Zmc2V0KytdID0gYiA+PSAwID8gMjU1IDogYiA8PSBtaW4gPyAwIDogMjU1ICsgYiAqIHNjYWxlIHwgMDsKICAgICAgfQogICAgICByZXR1cm4gZGF0YTsKICAgIH0sCgogICAgZ2V0RGF0YTogZnVuY3Rpb24gZ2V0RGF0YSh3aWR0aCwgaGVpZ2h0LCBmb3JjZVJHQm91dHB1dCkgewogICAgICBpZiAodGhpcy5udW1Db21wb25lbnRzID4gNCkgewogICAgICAgIHRocm93ICdVbnN1cHBvcnRlZCBjb2xvciBtb2RlJzsKICAgICAgfQogICAgICAvLyB0eXBlIG9mIGRhdGE6IFVpbnQ4QXJyYXkod2lkdGggKiBoZWlnaHQgKiBudW1Db21wb25lbnRzKQogICAgICB2YXIgZGF0YSA9IHRoaXMuX2dldExpbmVhcml6ZWRCbG9ja0RhdGEod2lkdGgsIGhlaWdodCk7CgogICAgICBpZiAodGhpcy5udW1Db21wb25lbnRzID09PSAzKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRZY2NUb1JnYihkYXRhKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLm51bUNvbXBvbmVudHMgPT09IDQpIHsKICAgICAgICBpZiAodGhpcy5faXNDb2xvckNvbnZlcnNpb25OZWVkZWQoKSkgewogICAgICAgICAgaWYgKGZvcmNlUkdCb3V0cHV0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb252ZXJ0WWNja1RvUmdiKGRhdGEpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRZY2NrVG9DbXlrKGRhdGEpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoZm9yY2VSR0JvdXRwdXQpIHsKICAgICAgICAgIHJldHVybiB0aGlzLl9jb252ZXJ0Q215a1RvUmdiKGRhdGEpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZGF0YTsKICAgIH0KICB9OwoKICByZXR1cm4gY29uc3RydWN0b3I7Cn0pKCk7CgoKdmFyIEpweEltYWdlID0gKGZ1bmN0aW9uIEpweEltYWdlQ2xvc3VyZSgpIHsKICAvLyBUYWJsZSBFLjEKICB2YXIgU3ViYmFuZHNHYWluTG9nMiA9IHsKICAgICdMTCc6IDAsCiAgICAnTEgnOiAxLAogICAgJ0hMJzogMSwKICAgICdISCc6IDIKICB9OwogIGZ1bmN0aW9uIEpweEltYWdlKCkgewogICAgdGhpcy5mYWlsT25Db3JydXB0ZWRJbWFnZSA9IGZhbHNlOwogIH0KICBKcHhJbWFnZS5wcm90b3R5cGUgPSB7CiAgICBwYXJzZTogZnVuY3Rpb24gSnB4SW1hZ2VfcGFyc2UoZGF0YSkgewoKICAgICAgdmFyIGhlYWQgPSByZWFkVWludDE2KGRhdGEsIDApOwogICAgICAvLyBObyBib3ggaGVhZGVyLCBpbW1lZGlhdGUgc3RhcnQgb2YgY29kZXN0cmVhbSAoU09DKQogICAgICBpZiAoaGVhZCA9PT0gMHhGRjRGKSB7CiAgICAgICAgdGhpcy5wYXJzZUNvZGVzdHJlYW0oZGF0YSwgMCwgZGF0YS5sZW5ndGgpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdmFyIHBvc2l0aW9uID0gMCwgbGVuZ3RoID0gZGF0YS5sZW5ndGg7CiAgICAgIHdoaWxlIChwb3NpdGlvbiA8IGxlbmd0aCkgewogICAgICAgIHZhciBoZWFkZXJTaXplID0gODsKICAgICAgICB2YXIgbGJveCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pOwogICAgICAgIHZhciB0Ym94ID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDQpOwogICAgICAgIHBvc2l0aW9uICs9IGhlYWRlclNpemU7CiAgICAgICAgaWYgKGxib3ggPT09IDEpIHsKICAgICAgICAgIC8vIFhMQm94OiByZWFkIFVJbnQ2NCBhY2NvcmRpbmcgdG8gc3BlYy4KICAgICAgICAgIC8vIEphdmFTY3JpcHQncyBpbnQgcHJlY2lzaW9uIG9mIDUzIGJpdCBzaG91bGQgYmUgc3VmZmljaWVudCBoZXJlLgogICAgICAgICAgbGJveCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pICogNDI5NDk2NzI5NiArCiAgICAgICAgICAgICAgICAgcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDQpOwogICAgICAgICAgcG9zaXRpb24gKz0gODsKICAgICAgICAgIGhlYWRlclNpemUgKz0gODsKICAgICAgICB9CiAgICAgICAgaWYgKGxib3ggPT09IDApIHsKICAgICAgICAgIGxib3ggPSBsZW5ndGggLSBwb3NpdGlvbiArIGhlYWRlclNpemU7CiAgICAgICAgfQogICAgICAgIGlmIChsYm94IDwgaGVhZGVyU2l6ZSkgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IEludmFsaWQgYm94IGZpZWxkIHNpemUnKTsKICAgICAgICB9CiAgICAgICAgdmFyIGRhdGFMZW5ndGggPSBsYm94IC0gaGVhZGVyU2l6ZTsKICAgICAgICB2YXIganVtcERhdGFMZW5ndGggPSB0cnVlOwogICAgICAgIHN3aXRjaCAodGJveCkgewogICAgICAgICAgY2FzZSAweDZBNzAzMjY4OiAvLyAnanAyaCcKICAgICAgICAgICAganVtcERhdGFMZW5ndGggPSBmYWxzZTsgLy8gcGFyc2luZyBjaGlsZCBib3hlcwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMHg2MzZGNkM3MjogLy8gJ2NvbHInCiAgICAgICAgICAgIC8vIENvbG9yc3BhY2VzIGFyZSBub3QgdXNlZCwgdGhlIENTIGZyb20gdGhlIFBERiBpcyB1c2VkLgogICAgICAgICAgICB2YXIgbWV0aG9kID0gZGF0YVtwb3NpdGlvbl07CiAgICAgICAgICAgIHZhciBwcmVjZWRlbmNlID0gZGF0YVtwb3NpdGlvbiArIDFdOwogICAgICAgICAgICB2YXIgYXBwcm94aW1hdGlvbiA9IGRhdGFbcG9zaXRpb24gKyAyXTsKICAgICAgICAgICAgaWYgKG1ldGhvZCA9PT0gMSkgewogICAgICAgICAgICAgIC8vIGVudW1lcmF0ZWQgY29sb3JzcGFjZQogICAgICAgICAgICAgIHZhciBjb2xvcnNwYWNlID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDMpOwogICAgICAgICAgICAgIHN3aXRjaCAoY29sb3JzcGFjZSkgewogICAgICAgICAgICAgICAgY2FzZSAxNjogLy8gdGhpcyBpbmRpY2F0ZXMgYSBzUkdCIGNvbG9yc3BhY2UKICAgICAgICAgICAgICAgIGNhc2UgMTc6IC8vIHRoaXMgaW5kaWNhdGVzIGEgZ3JheXNjYWxlIGNvbG9yc3BhY2UKICAgICAgICAgICAgICAgIGNhc2UgMTg6IC8vIHRoaXMgaW5kaWNhdGVzIGEgWVVWIGNvbG9yc3BhY2UKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICB3YXJuKCdVbmtub3duIGNvbG9yc3BhY2UgJyArIGNvbG9yc3BhY2UpOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAobWV0aG9kID09PSAyKSB7CiAgICAgICAgICAgICAgaW5mbygnSUNDIHByb2ZpbGUgbm90IHN1cHBvcnRlZCcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDZBNzAzMjYzOiAvLyAnanAyYycKICAgICAgICAgICAgdGhpcy5wYXJzZUNvZGVzdHJlYW0oZGF0YSwgcG9zaXRpb24sIHBvc2l0aW9uICsgZGF0YUxlbmd0aCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgY2FzZSAweDZBNTAyMDIwOiAvLyAnalBcMDI0XDAyNCcKICAgICAgICAgICAgaWYgKDB4MGQwYTg3MGEgIT09IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pKSB7CiAgICAgICAgICAgICAgd2FybignSW52YWxpZCBKUDIgc2lnbmF0dXJlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGhlYWRlciB0eXBlcyBhcmUgdmFsaWQgYnV0IGN1cnJlbnRseSBub3QgdXNlZDoKICAgICAgICAgIGNhc2UgMHg2QTUwMUExQTogLy8gJ2pQXDAzMlwwMzInCiAgICAgICAgICBjYXNlIDB4NjY3NDc5NzA6IC8vICdmdHlwJwogICAgICAgICAgY2FzZSAweDcyNzI2NTcxOiAvLyAncnJlcScKICAgICAgICAgIGNhc2UgMHg3MjY1NzMyMDogLy8gJ3JlcyAnCiAgICAgICAgICBjYXNlIDB4Njk2ODY0NzI6IC8vICdpaGRyJwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHZhciBoZWFkZXJUeXBlID0gU3RyaW5nLmZyb21DaGFyQ29kZSgodGJveCA+PiAyNCkgJiAweEZGLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRib3ggPj4gMTYpICYgMHhGRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0Ym94ID4+IDgpICYgMHhGRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRib3ggJiAweEZGKTsKICAgICAgICAgICAgd2FybignVW5zdXBwb3J0ZWQgaGVhZGVyIHR5cGUgJyArIHRib3ggKyAnICgnICsgaGVhZGVyVHlwZSArICcpJyk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZiAoanVtcERhdGFMZW5ndGgpIHsKICAgICAgICAgIHBvc2l0aW9uICs9IGRhdGFMZW5ndGg7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgcGFyc2VJbWFnZVByb3BlcnRpZXM6IGZ1bmN0aW9uIEpweEltYWdlX3BhcnNlSW1hZ2VQcm9wZXJ0aWVzKHN0cmVhbSkgewogICAgICB2YXIgbmV3Qnl0ZSA9IHN0cmVhbS5nZXRCeXRlKCk7CiAgICAgIHdoaWxlIChuZXdCeXRlID49IDApIHsKICAgICAgICB2YXIgb2xkQnl0ZSA9IG5ld0J5dGU7CiAgICAgICAgbmV3Qnl0ZSA9IHN0cmVhbS5nZXRCeXRlKCk7CiAgICAgICAgdmFyIGNvZGUgPSAob2xkQnl0ZSA8PCA4KSB8IG5ld0J5dGU7CiAgICAgICAgLy8gSW1hZ2UgYW5kIHRpbGUgc2l6ZSAoU0laKQogICAgICAgIGlmIChjb2RlID09PSAweEZGNTEpIHsKICAgICAgICAgIHN0cmVhbS5za2lwKDQpOwogICAgICAgICAgdmFyIFhzaXogPSBzdHJlYW0uZ2V0SW50MzIoKSA+Pj4gMDsgLy8gQnl0ZSA0CiAgICAgICAgICB2YXIgWXNpeiA9IHN0cmVhbS5nZXRJbnQzMigpID4+PiAwOyAvLyBCeXRlIDgKICAgICAgICAgIHZhciBYT3NpeiA9IHN0cmVhbS5nZXRJbnQzMigpID4+PiAwOyAvLyBCeXRlIDEyCiAgICAgICAgICB2YXIgWU9zaXogPSBzdHJlYW0uZ2V0SW50MzIoKSA+Pj4gMDsgLy8gQnl0ZSAxNgogICAgICAgICAgc3RyZWFtLnNraXAoMTYpOwogICAgICAgICAgdmFyIENzaXogPSBzdHJlYW0uZ2V0VWludDE2KCk7IC8vIEJ5dGUgMzYKICAgICAgICAgIHRoaXMud2lkdGggPSBYc2l6IC0gWE9zaXo7CiAgICAgICAgICB0aGlzLmhlaWdodCA9IFlzaXogLSBZT3NpejsKICAgICAgICAgIHRoaXMuY29tcG9uZW50c0NvdW50ID0gQ3NpejsKICAgICAgICAgIC8vIFJlc3VsdHMgYXJlIGFsd2F5cyByZXR1cm5lZCBhcyBVaW50OEFycmF5cwogICAgICAgICAgdGhpcy5iaXRzUGVyQ29tcG9uZW50ID0gODsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IE5vIHNpemUgbWFya2VyIGZvdW5kIGluIEpQWCBzdHJlYW0nKTsKICAgIH0sCiAgICBwYXJzZUNvZGVzdHJlYW06IGZ1bmN0aW9uIEpweEltYWdlX3BhcnNlQ29kZXN0cmVhbShkYXRhLCBzdGFydCwgZW5kKSB7CiAgICAgIHZhciBjb250ZXh0ID0ge307CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIGRvTm90UmVjb3ZlciA9IGZhbHNlOwogICAgICAgIHZhciBwb3NpdGlvbiA9IHN0YXJ0OwogICAgICAgIHdoaWxlIChwb3NpdGlvbiArIDEgPCBlbmQpIHsKICAgICAgICAgIHZhciBjb2RlID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICBwb3NpdGlvbiArPSAyOwoKICAgICAgICAgIHZhciBsZW5ndGggPSAwLCBqLCBzcWNkLCBzcHFjZHMsIHNwcWNkU2l6ZSwgc2NhbGFyRXhwb3VuZGVkLCB0aWxlOwogICAgICAgICAgc3dpdGNoIChjb2RlKSB7CiAgICAgICAgICAgIGNhc2UgMHhGRjRGOiAvLyBTdGFydCBvZiBjb2Rlc3RyZWFtIChTT0MpCiAgICAgICAgICAgICAgY29udGV4dC5tYWluSGVhZGVyID0gdHJ1ZTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGRDk6IC8vIEVuZCBvZiBjb2Rlc3RyZWFtIChFT0MpCiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMHhGRjUxOiAvLyBJbWFnZSBhbmQgdGlsZSBzaXplIChTSVopCiAgICAgICAgICAgICAgbGVuZ3RoID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICAgICAgdmFyIHNpeiA9IHt9OwogICAgICAgICAgICAgIHNpei5Yc2l6ID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDQpOwogICAgICAgICAgICAgIHNpei5Zc2l6ID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDgpOwogICAgICAgICAgICAgIHNpei5YT3NpeiA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyAxMik7CiAgICAgICAgICAgICAgc2l6LllPc2l6ID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDE2KTsKICAgICAgICAgICAgICBzaXouWFRzaXogPSByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uICsgMjApOwogICAgICAgICAgICAgIHNpei5ZVHNpeiA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyAyNCk7CiAgICAgICAgICAgICAgc2l6LlhUT3NpeiA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyAyOCk7CiAgICAgICAgICAgICAgc2l6LllUT3NpeiA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyAzMik7CiAgICAgICAgICAgICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHJlYWRVaW50MTYoZGF0YSwgcG9zaXRpb24gKyAzNik7CiAgICAgICAgICAgICAgc2l6LkNzaXogPSBjb21wb25lbnRzQ291bnQ7CiAgICAgICAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBbXTsKICAgICAgICAgICAgICBqID0gcG9zaXRpb24gKyAzODsKICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbXBvbmVudHNDb3VudDsgaSsrKSB7CiAgICAgICAgICAgICAgICB2YXIgY29tcG9uZW50ID0gewogICAgICAgICAgICAgICAgICBwcmVjaXNpb246IChkYXRhW2pdICYgMHg3RikgKyAxLAogICAgICAgICAgICAgICAgICBpc1NpZ25lZDogISEoZGF0YVtqXSAmIDB4ODApLAogICAgICAgICAgICAgICAgICBYUnNpejogZGF0YVtqICsgMV0sCiAgICAgICAgICAgICAgICAgIFlSc2l6OiBkYXRhW2ogKyAxXQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGNhbGN1bGF0ZUNvbXBvbmVudERpbWVuc2lvbnMoY29tcG9uZW50LCBzaXopOwogICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGNvbXBvbmVudCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGNvbnRleHQuU0laID0gc2l6OwogICAgICAgICAgICAgIGNvbnRleHQuY29tcG9uZW50cyA9IGNvbXBvbmVudHM7CiAgICAgICAgICAgICAgY2FsY3VsYXRlVGlsZUdyaWRzKGNvbnRleHQsIGNvbXBvbmVudHMpOwogICAgICAgICAgICAgIGNvbnRleHQuUUNDID0gW107CiAgICAgICAgICAgICAgY29udGV4dC5DT0MgPSBbXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGNUM6IC8vIFF1YW50aXphdGlvbiBkZWZhdWx0IChRQ0QpCiAgICAgICAgICAgICAgbGVuZ3RoID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICAgICAgdmFyIHFjZCA9IHt9OwogICAgICAgICAgICAgIGogPSBwb3NpdGlvbiArIDI7CiAgICAgICAgICAgICAgc3FjZCA9IGRhdGFbaisrXTsKICAgICAgICAgICAgICBzd2l0Y2ggKHNxY2QgJiAweDFGKSB7CiAgICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAgIHNwcWNkU2l6ZSA9IDg7CiAgICAgICAgICAgICAgICAgIHNjYWxhckV4cG91bmRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICAgICBzcHFjZFNpemUgPSAxNjsKICAgICAgICAgICAgICAgICAgc2NhbGFyRXhwb3VuZGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgICBzcHFjZFNpemUgPSAxNjsKICAgICAgICAgICAgICAgICAgc2NhbGFyRXhwb3VuZGVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pQWCBFcnJvcjogSW52YWxpZCBTUWNkIHZhbHVlICcgKyBzcWNkKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcWNkLm5vUXVhbnRpemF0aW9uID0gKHNwcWNkU2l6ZSA9PT0gOCk7CiAgICAgICAgICAgICAgcWNkLnNjYWxhckV4cG91bmRlZCA9IHNjYWxhckV4cG91bmRlZDsKICAgICAgICAgICAgICBxY2QuZ3VhcmRCaXRzID0gc3FjZCA+PiA1OwogICAgICAgICAgICAgIHNwcWNkcyA9IFtdOwogICAgICAgICAgICAgIHdoaWxlIChqIDwgbGVuZ3RoICsgcG9zaXRpb24pIHsKICAgICAgICAgICAgICAgIHZhciBzcHFjZCA9IHt9OwogICAgICAgICAgICAgICAgaWYgKHNwcWNkU2l6ZSA9PT0gOCkgewogICAgICAgICAgICAgICAgICBzcHFjZC5lcHNpbG9uID0gZGF0YVtqKytdID4+IDM7CiAgICAgICAgICAgICAgICAgIHNwcWNkLm11ID0gMDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIHNwcWNkLmVwc2lsb24gPSBkYXRhW2pdID4+IDM7CiAgICAgICAgICAgICAgICAgIHNwcWNkLm11ID0gKChkYXRhW2pdICYgMHg3KSA8PCA4KSB8IGRhdGFbaiArIDFdOwogICAgICAgICAgICAgICAgICBqICs9IDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzcHFjZHMucHVzaChzcHFjZCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHFjZC5TUHFjZHMgPSBzcHFjZHM7CiAgICAgICAgICAgICAgaWYgKGNvbnRleHQubWFpbkhlYWRlcikgewogICAgICAgICAgICAgICAgY29udGV4dC5RQ0QgPSBxY2Q7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRleHQuY3VycmVudFRpbGUuUUNEID0gcWNkOwogICAgICAgICAgICAgICAgY29udGV4dC5jdXJyZW50VGlsZS5RQ0MgPSBbXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMHhGRjVEOiAvLyBRdWFudGl6YXRpb24gY29tcG9uZW50IChRQ0MpCiAgICAgICAgICAgICAgbGVuZ3RoID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICAgICAgdmFyIHFjYyA9IHt9OwogICAgICAgICAgICAgIGogPSBwb3NpdGlvbiArIDI7CiAgICAgICAgICAgICAgdmFyIGNxY2M7CiAgICAgICAgICAgICAgaWYgKGNvbnRleHQuU0laLkNzaXogPCAyNTcpIHsKICAgICAgICAgICAgICAgIGNxY2MgPSBkYXRhW2orK107CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNxY2MgPSByZWFkVWludDE2KGRhdGEsIGopOwogICAgICAgICAgICAgICAgaiArPSAyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzcWNkID0gZGF0YVtqKytdOwogICAgICAgICAgICAgIHN3aXRjaCAoc3FjZCAmIDB4MUYpIHsKICAgICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgc3BxY2RTaXplID0gODsKICAgICAgICAgICAgICAgICAgc2NhbGFyRXhwb3VuZGVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICAgIHNwcWNkU2l6ZSA9IDE2OwogICAgICAgICAgICAgICAgICBzY2FsYXJFeHBvdW5kZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICAgIHNwcWNkU2l6ZSA9IDE2OwogICAgICAgICAgICAgICAgICBzY2FsYXJFeHBvdW5kZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBJbnZhbGlkIFNRY2QgdmFsdWUgJyArIHNxY2QpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBxY2Mubm9RdWFudGl6YXRpb24gPSAoc3BxY2RTaXplID09PSA4KTsKICAgICAgICAgICAgICBxY2Muc2NhbGFyRXhwb3VuZGVkID0gc2NhbGFyRXhwb3VuZGVkOwogICAgICAgICAgICAgIHFjYy5ndWFyZEJpdHMgPSBzcWNkID4+IDU7CiAgICAgICAgICAgICAgc3BxY2RzID0gW107CiAgICAgICAgICAgICAgd2hpbGUgKGogPCAobGVuZ3RoICsgcG9zaXRpb24pKSB7CiAgICAgICAgICAgICAgICBzcHFjZCA9IHt9OwogICAgICAgICAgICAgICAgaWYgKHNwcWNkU2l6ZSA9PT0gOCkgewogICAgICAgICAgICAgICAgICBzcHFjZC5lcHNpbG9uID0gZGF0YVtqKytdID4+IDM7CiAgICAgICAgICAgICAgICAgIHNwcWNkLm11ID0gMDsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIHNwcWNkLmVwc2lsb24gPSBkYXRhW2pdID4+IDM7CiAgICAgICAgICAgICAgICAgIHNwcWNkLm11ID0gKChkYXRhW2pdICYgMHg3KSA8PCA4KSB8IGRhdGFbaiArIDFdOwogICAgICAgICAgICAgICAgICBqICs9IDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzcHFjZHMucHVzaChzcHFjZCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHFjYy5TUHFjZHMgPSBzcHFjZHM7CiAgICAgICAgICAgICAgaWYgKGNvbnRleHQubWFpbkhlYWRlcikgewogICAgICAgICAgICAgICAgY29udGV4dC5RQ0NbY3FjY10gPSBxY2M7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRleHQuY3VycmVudFRpbGUuUUNDW2NxY2NdID0gcWNjOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGNTI6IC8vIENvZGluZyBzdHlsZSBkZWZhdWx0IChDT0QpCiAgICAgICAgICAgICAgbGVuZ3RoID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICAgICAgdmFyIGNvZCA9IHt9OwogICAgICAgICAgICAgIGogPSBwb3NpdGlvbiArIDI7CiAgICAgICAgICAgICAgdmFyIHNjb2QgPSBkYXRhW2orK107CiAgICAgICAgICAgICAgY29kLmVudHJvcHlDb2RlcldpdGhDdXN0b21QcmVjaW5jdHMgPSAhIShzY29kICYgMSk7CiAgICAgICAgICAgICAgY29kLnNvcE1hcmtlclVzZWQgPSAhIShzY29kICYgMik7CiAgICAgICAgICAgICAgY29kLmVwaE1hcmtlclVzZWQgPSAhIShzY29kICYgNCk7CiAgICAgICAgICAgICAgY29kLnByb2dyZXNzaW9uT3JkZXIgPSBkYXRhW2orK107CiAgICAgICAgICAgICAgY29kLmxheWVyc0NvdW50ID0gcmVhZFVpbnQxNihkYXRhLCBqKTsKICAgICAgICAgICAgICBqICs9IDI7CiAgICAgICAgICAgICAgY29kLm11bHRpcGxlQ29tcG9uZW50VHJhbnNmb3JtID0gZGF0YVtqKytdOwoKICAgICAgICAgICAgICBjb2QuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0gZGF0YVtqKytdOwogICAgICAgICAgICAgIGNvZC54Y2IgPSAoZGF0YVtqKytdICYgMHhGKSArIDI7CiAgICAgICAgICAgICAgY29kLnljYiA9IChkYXRhW2orK10gJiAweEYpICsgMjsKICAgICAgICAgICAgICB2YXIgYmxvY2tTdHlsZSA9IGRhdGFbaisrXTsKICAgICAgICAgICAgICBjb2Quc2VsZWN0aXZlQXJpdGhtZXRpY0NvZGluZ0J5cGFzcyA9ICEhKGJsb2NrU3R5bGUgJiAxKTsKICAgICAgICAgICAgICBjb2QucmVzZXRDb250ZXh0UHJvYmFiaWxpdGllcyA9ICEhKGJsb2NrU3R5bGUgJiAyKTsKICAgICAgICAgICAgICBjb2QudGVybWluYXRpb25PbkVhY2hDb2RpbmdQYXNzID0gISEoYmxvY2tTdHlsZSAmIDQpOwogICAgICAgICAgICAgIGNvZC52ZXJ0aWNhbHlTdHJpcGUgPSAhIShibG9ja1N0eWxlICYgOCk7CiAgICAgICAgICAgICAgY29kLnByZWRpY3RhYmxlVGVybWluYXRpb24gPSAhIShibG9ja1N0eWxlICYgMTYpOwogICAgICAgICAgICAgIGNvZC5zZWdtZW50YXRpb25TeW1ib2xVc2VkID0gISEoYmxvY2tTdHlsZSAmIDMyKTsKICAgICAgICAgICAgICBjb2QucmV2ZXJzaWJsZVRyYW5zZm9ybWF0aW9uID0gZGF0YVtqKytdOwogICAgICAgICAgICAgIGlmIChjb2QuZW50cm9weUNvZGVyV2l0aEN1c3RvbVByZWNpbmN0cykgewogICAgICAgICAgICAgICAgdmFyIHByZWNpbmN0c1NpemVzID0gW107CiAgICAgICAgICAgICAgICB3aGlsZSAoaiA8IGxlbmd0aCArIHBvc2l0aW9uKSB7CiAgICAgICAgICAgICAgICAgIHZhciBwcmVjaW5jdHNTaXplID0gZGF0YVtqKytdOwogICAgICAgICAgICAgICAgICBwcmVjaW5jdHNTaXplcy5wdXNoKHsKICAgICAgICAgICAgICAgICAgICBQUHg6IHByZWNpbmN0c1NpemUgJiAweEYsCiAgICAgICAgICAgICAgICAgICAgUFB5OiBwcmVjaW5jdHNTaXplID4+IDQKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjb2QucHJlY2luY3RzU2l6ZXMgPSBwcmVjaW5jdHNTaXplczsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgdmFyIHVuc3VwcG9ydGVkID0gW107CiAgICAgICAgICAgICAgaWYgKGNvZC5zZWxlY3RpdmVBcml0aG1ldGljQ29kaW5nQnlwYXNzKSB7CiAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZC5wdXNoKCdzZWxlY3RpdmVBcml0aG1ldGljQ29kaW5nQnlwYXNzJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChjb2QucmVzZXRDb250ZXh0UHJvYmFiaWxpdGllcykgewogICAgICAgICAgICAgICAgdW5zdXBwb3J0ZWQucHVzaCgncmVzZXRDb250ZXh0UHJvYmFiaWxpdGllcycpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoY29kLnRlcm1pbmF0aW9uT25FYWNoQ29kaW5nUGFzcykgewogICAgICAgICAgICAgICAgdW5zdXBwb3J0ZWQucHVzaCgndGVybWluYXRpb25PbkVhY2hDb2RpbmdQYXNzJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIChjb2QudmVydGljYWx5U3RyaXBlKSB7CiAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZC5wdXNoKCd2ZXJ0aWNhbHlTdHJpcGUnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGNvZC5wcmVkaWN0YWJsZVRlcm1pbmF0aW9uKSB7CiAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZC5wdXNoKCdwcmVkaWN0YWJsZVRlcm1pbmF0aW9uJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmICh1bnN1cHBvcnRlZC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICBkb05vdFJlY292ZXIgPSB0cnVlOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IFVuc3VwcG9ydGVkIENPRCBvcHRpb25zICgnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZC5qb2luKCcsICcpICsgJyknKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGNvbnRleHQubWFpbkhlYWRlcikgewogICAgICAgICAgICAgICAgY29udGV4dC5DT0QgPSBjb2Q7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRleHQuY3VycmVudFRpbGUuQ09EID0gY29kOwogICAgICAgICAgICAgICAgY29udGV4dC5jdXJyZW50VGlsZS5DT0MgPSBbXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMHhGRjkwOiAvLyBTdGFydCBvZiB0aWxlLXBhcnQgKFNPVCkKICAgICAgICAgICAgICBsZW5ndGggPSByZWFkVWludDE2KGRhdGEsIHBvc2l0aW9uKTsKICAgICAgICAgICAgICB0aWxlID0ge307CiAgICAgICAgICAgICAgdGlsZS5pbmRleCA9IHJlYWRVaW50MTYoZGF0YSwgcG9zaXRpb24gKyAyKTsKICAgICAgICAgICAgICB0aWxlLmxlbmd0aCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyA0KTsKICAgICAgICAgICAgICB0aWxlLmRhdGFFbmQgPSB0aWxlLmxlbmd0aCArIHBvc2l0aW9uIC0gMjsKICAgICAgICAgICAgICB0aWxlLnBhcnRJbmRleCA9IGRhdGFbcG9zaXRpb24gKyA4XTsKICAgICAgICAgICAgICB0aWxlLnBhcnRzQ291bnQgPSBkYXRhW3Bvc2l0aW9uICsgOV07CgogICAgICAgICAgICAgIGNvbnRleHQubWFpbkhlYWRlciA9IGZhbHNlOwogICAgICAgICAgICAgIGlmICh0aWxlLnBhcnRJbmRleCA9PT0gMCkgewogICAgICAgICAgICAgICAgLy8gcmVzZXQgY29tcG9uZW50IHNwZWNpZmljIHNldHRpbmdzCiAgICAgICAgICAgICAgICB0aWxlLkNPRCA9IGNvbnRleHQuQ09EOwogICAgICAgICAgICAgICAgdGlsZS5DT0MgPSBjb250ZXh0LkNPQy5zbGljZSgwKTsgLy8gY2xvbmUgb2YgdGhlIGdsb2JhbCBDT0MKICAgICAgICAgICAgICAgIHRpbGUuUUNEID0gY29udGV4dC5RQ0Q7CiAgICAgICAgICAgICAgICB0aWxlLlFDQyA9IGNvbnRleHQuUUNDLnNsaWNlKDApOyAvLyBjbG9uZSBvZiB0aGUgZ2xvYmFsIENPQwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBjb250ZXh0LmN1cnJlbnRUaWxlID0gdGlsZTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGOTM6IC8vIFN0YXJ0IG9mIGRhdGEgKFNPRCkKICAgICAgICAgICAgICB0aWxlID0gY29udGV4dC5jdXJyZW50VGlsZTsKICAgICAgICAgICAgICBpZiAodGlsZS5wYXJ0SW5kZXggPT09IDApIHsKICAgICAgICAgICAgICAgIGluaXRpYWxpemVUaWxlKGNvbnRleHQsIHRpbGUuaW5kZXgpOwogICAgICAgICAgICAgICAgYnVpbGRQYWNrZXRzKGNvbnRleHQpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgLy8gbW92aW5nIHRvIHRoZSBlbmQgb2YgdGhlIGRhdGEKICAgICAgICAgICAgICBsZW5ndGggPSB0aWxlLmRhdGFFbmQgLSBwb3NpdGlvbjsKICAgICAgICAgICAgICBwYXJzZVRpbGVQYWNrZXRzKGNvbnRleHQsIGRhdGEsIHBvc2l0aW9uLCBsZW5ndGgpOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDB4RkY1NTogLy8gVGlsZS1wYXJ0IGxlbmd0aHMsIG1haW4gaGVhZGVyIChUTE0pCiAgICAgICAgICAgIGNhc2UgMHhGRjU3OiAvLyBQYWNrZXQgbGVuZ3RoLCBtYWluIGhlYWRlciAoUExNKQogICAgICAgICAgICBjYXNlIDB4RkY1ODogLy8gUGFja2V0IGxlbmd0aCwgdGlsZS1wYXJ0IGhlYWRlciAoUExUKQogICAgICAgICAgICBjYXNlIDB4RkY2NDogLy8gQ29tbWVudCAoQ09NKQogICAgICAgICAgICAgIGxlbmd0aCA9IHJlYWRVaW50MTYoZGF0YSwgcG9zaXRpb24pOwogICAgICAgICAgICAgIC8vIHNraXBwaW5nIGNvbnRlbnQKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAweEZGNTM6IC8vIENvZGluZyBzdHlsZSBjb21wb25lbnQgKENPQykKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pQWCBFcnJvcjogQ29kZXN0cmVhbSBjb2RlIDB4RkY1MyAoQ09DKSBpcyAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vdCBpbXBsZW1lbnRlZCcpOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBVbmtub3duIGNvZGVzdHJlYW0gY29kZTogJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUudG9TdHJpbmcoMTYpKTsKICAgICAgICAgIH0KICAgICAgICAgIHBvc2l0aW9uICs9IGxlbmd0aDsKICAgICAgICB9CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBpZiAoZG9Ob3RSZWNvdmVyIHx8IHRoaXMuZmFpbE9uQ29ycnVwdGVkSW1hZ2UpIHsKICAgICAgICAgIHRocm93IGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHdhcm4oJ1RyeWluZyB0byByZWNvdmVyIGZyb20gJyArIGUubWVzc2FnZSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHRoaXMudGlsZXMgPSB0cmFuc2Zvcm1Db21wb25lbnRzKGNvbnRleHQpOwogICAgICB0aGlzLndpZHRoID0gY29udGV4dC5TSVouWHNpeiAtIGNvbnRleHQuU0laLlhPc2l6OwogICAgICB0aGlzLmhlaWdodCA9IGNvbnRleHQuU0laLllzaXogLSBjb250ZXh0LlNJWi5ZT3NpejsKICAgICAgdGhpcy5jb21wb25lbnRzQ291bnQgPSBjb250ZXh0LlNJWi5Dc2l6OwogICAgfQogIH07CiAgZnVuY3Rpb24gY2FsY3VsYXRlQ29tcG9uZW50RGltZW5zaW9ucyhjb21wb25lbnQsIHNpeikgewogICAgLy8gU2VjdGlvbiBCLjIgQ29tcG9uZW50IG1hcHBpbmcKICAgIGNvbXBvbmVudC54MCA9IE1hdGguY2VpbChzaXouWE9zaXogLyBjb21wb25lbnQuWFJzaXopOwogICAgY29tcG9uZW50LngxID0gTWF0aC5jZWlsKHNpei5Yc2l6IC8gY29tcG9uZW50LlhSc2l6KTsKICAgIGNvbXBvbmVudC55MCA9IE1hdGguY2VpbChzaXouWU9zaXogLyBjb21wb25lbnQuWVJzaXopOwogICAgY29tcG9uZW50LnkxID0gTWF0aC5jZWlsKHNpei5Zc2l6IC8gY29tcG9uZW50LllSc2l6KTsKICAgIGNvbXBvbmVudC53aWR0aCA9IGNvbXBvbmVudC54MSAtIGNvbXBvbmVudC54MDsKICAgIGNvbXBvbmVudC5oZWlnaHQgPSBjb21wb25lbnQueTEgLSBjb21wb25lbnQueTA7CiAgfQogIGZ1bmN0aW9uIGNhbGN1bGF0ZVRpbGVHcmlkcyhjb250ZXh0LCBjb21wb25lbnRzKSB7CiAgICB2YXIgc2l6ID0gY29udGV4dC5TSVo7CiAgICAvLyBTZWN0aW9uIEIuMyBEaXZpc2lvbiBpbnRvIHRpbGUgYW5kIHRpbGUtY29tcG9uZW50cwogICAgdmFyIHRpbGUsIHRpbGVzID0gW107CiAgICB2YXIgbnVtWHRpbGVzID0gTWF0aC5jZWlsKChzaXouWHNpeiAtIHNpei5YVE9zaXopIC8gc2l6LlhUc2l6KTsKICAgIHZhciBudW1ZdGlsZXMgPSBNYXRoLmNlaWwoKHNpei5Zc2l6IC0gc2l6LllUT3NpeikgLyBzaXouWVRzaXopOwogICAgZm9yICh2YXIgcSA9IDA7IHEgPCBudW1ZdGlsZXM7IHErKykgewogICAgICBmb3IgKHZhciBwID0gMDsgcCA8IG51bVh0aWxlczsgcCsrKSB7CiAgICAgICAgdGlsZSA9IHt9OwogICAgICAgIHRpbGUudHgwID0gTWF0aC5tYXgoc2l6LlhUT3NpeiArIHAgKiBzaXouWFRzaXosIHNpei5YT3Npeik7CiAgICAgICAgdGlsZS50eTAgPSBNYXRoLm1heChzaXouWVRPc2l6ICsgcSAqIHNpei5ZVHNpeiwgc2l6LllPc2l6KTsKICAgICAgICB0aWxlLnR4MSA9IE1hdGgubWluKHNpei5YVE9zaXogKyAocCArIDEpICogc2l6LlhUc2l6LCBzaXouWHNpeik7CiAgICAgICAgdGlsZS50eTEgPSBNYXRoLm1pbihzaXouWVRPc2l6ICsgKHEgKyAxKSAqIHNpei5ZVHNpeiwgc2l6LllzaXopOwogICAgICAgIHRpbGUud2lkdGggPSB0aWxlLnR4MSAtIHRpbGUudHgwOwogICAgICAgIHRpbGUuaGVpZ2h0ID0gdGlsZS50eTEgLSB0aWxlLnR5MDsKICAgICAgICB0aWxlLmNvbXBvbmVudHMgPSBbXTsKICAgICAgICB0aWxlcy5wdXNoKHRpbGUpOwogICAgICB9CiAgICB9CiAgICBjb250ZXh0LnRpbGVzID0gdGlsZXM7CgogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHNpei5Dc2l6OwogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gY29tcG9uZW50c0NvdW50OyBpIDwgaWk7IGkrKykgewogICAgICB2YXIgY29tcG9uZW50ID0gY29tcG9uZW50c1tpXTsKICAgICAgZm9yICh2YXIgaiA9IDAsIGpqID0gdGlsZXMubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciB0aWxlQ29tcG9uZW50ID0ge307CiAgICAgICAgdGlsZSA9IHRpbGVzW2pdOwogICAgICAgIHRpbGVDb21wb25lbnQudGN4MCA9IE1hdGguY2VpbCh0aWxlLnR4MCAvIGNvbXBvbmVudC5YUnNpeik7CiAgICAgICAgdGlsZUNvbXBvbmVudC50Y3kwID0gTWF0aC5jZWlsKHRpbGUudHkwIC8gY29tcG9uZW50LllSc2l6KTsKICAgICAgICB0aWxlQ29tcG9uZW50LnRjeDEgPSBNYXRoLmNlaWwodGlsZS50eDEgLyBjb21wb25lbnQuWFJzaXopOwogICAgICAgIHRpbGVDb21wb25lbnQudGN5MSA9IE1hdGguY2VpbCh0aWxlLnR5MSAvIGNvbXBvbmVudC5ZUnNpeik7CiAgICAgICAgdGlsZUNvbXBvbmVudC53aWR0aCA9IHRpbGVDb21wb25lbnQudGN4MSAtIHRpbGVDb21wb25lbnQudGN4MDsKICAgICAgICB0aWxlQ29tcG9uZW50LmhlaWdodCA9IHRpbGVDb21wb25lbnQudGN5MSAtIHRpbGVDb21wb25lbnQudGN5MDsKICAgICAgICB0aWxlLmNvbXBvbmVudHNbaV0gPSB0aWxlQ29tcG9uZW50OwogICAgICB9CiAgICB9CiAgfQogIGZ1bmN0aW9uIGdldEJsb2Nrc0RpbWVuc2lvbnMoY29udGV4dCwgY29tcG9uZW50LCByKSB7CiAgICB2YXIgY29kT3JDb2MgPSBjb21wb25lbnQuY29kaW5nU3R5bGVQYXJhbWV0ZXJzOwogICAgdmFyIHJlc3VsdCA9IHt9OwogICAgaWYgKCFjb2RPckNvYy5lbnRyb3B5Q29kZXJXaXRoQ3VzdG9tUHJlY2luY3RzKSB7CiAgICAgIHJlc3VsdC5QUHggPSAxNTsKICAgICAgcmVzdWx0LlBQeSA9IDE1OwogICAgfSBlbHNlIHsKICAgICAgcmVzdWx0LlBQeCA9IGNvZE9yQ29jLnByZWNpbmN0c1NpemVzW3JdLlBQeDsKICAgICAgcmVzdWx0LlBQeSA9IGNvZE9yQ29jLnByZWNpbmN0c1NpemVzW3JdLlBQeTsKICAgIH0KICAgIC8vIGNhbGN1bGF0ZSBjb2RlYmxvY2sgc2l6ZSBhcyBkZXNjcmliZWQgaW4gc2VjdGlvbiBCLjcKICAgIHJlc3VsdC54Y2JfID0gKHIgPiAwID8gTWF0aC5taW4oY29kT3JDb2MueGNiLCByZXN1bHQuUFB4IC0gMSkgOgogICAgICAgICAgICAgICAgICAgTWF0aC5taW4oY29kT3JDb2MueGNiLCByZXN1bHQuUFB4KSk7CiAgICByZXN1bHQueWNiXyA9IChyID4gMCA/IE1hdGgubWluKGNvZE9yQ29jLnljYiwgcmVzdWx0LlBQeSAtIDEpIDoKICAgICAgICAgICAgICAgICAgIE1hdGgubWluKGNvZE9yQ29jLnljYiwgcmVzdWx0LlBQeSkpOwogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgZnVuY3Rpb24gYnVpbGRQcmVjaW5jdHMoY29udGV4dCwgcmVzb2x1dGlvbiwgZGltZW5zaW9ucykgewogICAgLy8gU2VjdGlvbiBCLjYgRGl2aXNpb24gcmVzb2x1dGlvbiB0byBwcmVjaW5jdHMKICAgIHZhciBwcmVjaW5jdFdpZHRoID0gMSA8PCBkaW1lbnNpb25zLlBQeDsKICAgIHZhciBwcmVjaW5jdEhlaWdodCA9IDEgPDwgZGltZW5zaW9ucy5QUHk7CiAgICAvLyBKYXNwZXIgaW50cm9kdWNlcyBjb2RlYmxvY2sgZ3JvdXBzIGZvciBtYXBwaW5nIGVhY2ggc3ViYmFuZCBjb2RlYmxvY2tzCiAgICAvLyB0byBwcmVjaW5jdHMuIFByZWNpbmN0IHBhcnRpdGlvbiBkaXZpZGVzIGEgcmVzb2x1dGlvbiBhY2NvcmRpbmcgdG8gd2lkdGgKICAgIC8vIGFuZCBoZWlnaHQgcGFyYW1ldGVycy4gVGhlIHN1YmJhbmQgdGhhdCBiZWxvbmdzIHRvIHRoZSByZXNvbHV0aW9uIGxldmVsCiAgICAvLyBoYXMgYSBkaWZmZXJlbnQgc2l6ZSB0aGFuIHRoZSBsZXZlbCwgdW5sZXNzIGl0IGlzIHRoZSB6ZXJvIHJlc29sdXRpb24uCgogICAgLy8gRnJvbSBKYXNwZXIgZG9jdW1lbnRhdGlvbjoganBlZzIwMDAucGRmLCBzZWN0aW9uIEs6IFRpZXItMiBjb2Rpbmc6CiAgICAvLyBUaGUgcHJlY2luY3QgcGFydGl0aW9uaW5nIGZvciBhIHBhcnRpY3VsYXIgc3ViYmFuZCBpcyBkZXJpdmVkIGZyb20gYQogICAgLy8gcGFydGl0aW9uaW5nIG9mIGl0cyBwYXJlbnQgTEwgYmFuZCAoaS5lLiwgdGhlIExMIGJhbmQgYXQgdGhlIG5leHQgaGlnaGVyCiAgICAvLyByZXNvbHV0aW9uIGxldmVsKS4uLiBUaGUgTEwgYmFuZCBhc3NvY2lhdGVkIHdpdGggZWFjaCByZXNvbHV0aW9uIGxldmVsIGlzCiAgICAvLyBkaXZpZGVkIGludG8gcHJlY2luY3RzLi4uIEVhY2ggb2YgdGhlIHJlc3VsdGluZyBwcmVjaW5jdCByZWdpb25zIGlzIHRoZW4KICAgIC8vIG1hcHBlZCBpbnRvIGl0cyBjaGlsZCBzdWJiYW5kcyAoaWYgYW55KSBhdCB0aGUgbmV4dCBsb3dlciByZXNvbHV0aW9uCiAgICAvLyBsZXZlbC4gVGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgdXNpbmcgdGhlIGNvb3JkaW5hdGUgdHJhbnNmb3JtYXRpb24KICAgIC8vICh1LCB2KSA9IChjZWlsKHgvMiksIGNlaWwoeS8yKSkgd2hlcmUgKHgsIHkpIGFuZCAodSwgdikgYXJlIHRoZQogICAgLy8gY29vcmRpbmF0ZXMgb2YgYSBwb2ludCBpbiB0aGUgTEwgYmFuZCBhbmQgY2hpbGQgc3ViYmFuZCwgcmVzcGVjdGl2ZWx5LgogICAgdmFyIGlzWmVyb1JlcyA9IHJlc29sdXRpb24ucmVzTGV2ZWwgPT09IDA7CiAgICB2YXIgcHJlY2luY3RXaWR0aEluU3ViYmFuZCA9IDEgPDwgKGRpbWVuc2lvbnMuUFB4ICsgKGlzWmVyb1JlcyA/IDAgOiAtMSkpOwogICAgdmFyIHByZWNpbmN0SGVpZ2h0SW5TdWJiYW5kID0gMSA8PCAoZGltZW5zaW9ucy5QUHkgKyAoaXNaZXJvUmVzID8gMCA6IC0xKSk7CiAgICB2YXIgbnVtcHJlY2luY3Rzd2lkZSA9IChyZXNvbHV0aW9uLnRyeDEgPiByZXNvbHV0aW9uLnRyeDAgPwogICAgICBNYXRoLmNlaWwocmVzb2x1dGlvbi50cngxIC8gcHJlY2luY3RXaWR0aCkgLQogICAgICBNYXRoLmZsb29yKHJlc29sdXRpb24udHJ4MCAvIHByZWNpbmN0V2lkdGgpIDogMCk7CiAgICB2YXIgbnVtcHJlY2luY3RzaGlnaCA9IChyZXNvbHV0aW9uLnRyeTEgPiByZXNvbHV0aW9uLnRyeTAgPwogICAgICBNYXRoLmNlaWwocmVzb2x1dGlvbi50cnkxIC8gcHJlY2luY3RIZWlnaHQpIC0KICAgICAgTWF0aC5mbG9vcihyZXNvbHV0aW9uLnRyeTAgLyBwcmVjaW5jdEhlaWdodCkgOiAwKTsKICAgIHZhciBudW1wcmVjaW5jdHMgPSBudW1wcmVjaW5jdHN3aWRlICogbnVtcHJlY2luY3RzaGlnaDsKCiAgICByZXNvbHV0aW9uLnByZWNpbmN0UGFyYW1ldGVycyA9IHsKICAgICAgcHJlY2luY3RXaWR0aDogcHJlY2luY3RXaWR0aCwKICAgICAgcHJlY2luY3RIZWlnaHQ6IHByZWNpbmN0SGVpZ2h0LAogICAgICBudW1wcmVjaW5jdHN3aWRlOiBudW1wcmVjaW5jdHN3aWRlLAogICAgICBudW1wcmVjaW5jdHNoaWdoOiBudW1wcmVjaW5jdHNoaWdoLAogICAgICBudW1wcmVjaW5jdHM6IG51bXByZWNpbmN0cywKICAgICAgcHJlY2luY3RXaWR0aEluU3ViYmFuZDogcHJlY2luY3RXaWR0aEluU3ViYmFuZCwKICAgICAgcHJlY2luY3RIZWlnaHRJblN1YmJhbmQ6IHByZWNpbmN0SGVpZ2h0SW5TdWJiYW5kCiAgICB9OwogIH0KICBmdW5jdGlvbiBidWlsZENvZGVibG9ja3MoY29udGV4dCwgc3ViYmFuZCwgZGltZW5zaW9ucykgewogICAgLy8gU2VjdGlvbiBCLjcgRGl2aXNpb24gc3ViLWJhbmQgaW50byBjb2RlLWJsb2NrcwogICAgdmFyIHhjYl8gPSBkaW1lbnNpb25zLnhjYl87CiAgICB2YXIgeWNiXyA9IGRpbWVuc2lvbnMueWNiXzsKICAgIHZhciBjb2RlYmxvY2tXaWR0aCA9IDEgPDwgeGNiXzsKICAgIHZhciBjb2RlYmxvY2tIZWlnaHQgPSAxIDw8IHljYl87CiAgICB2YXIgY2J4MCA9IHN1YmJhbmQudGJ4MCA+PiB4Y2JfOwogICAgdmFyIGNieTAgPSBzdWJiYW5kLnRieTAgPj4geWNiXzsKICAgIHZhciBjYngxID0gKHN1YmJhbmQudGJ4MSArIGNvZGVibG9ja1dpZHRoIC0gMSkgPj4geGNiXzsKICAgIHZhciBjYnkxID0gKHN1YmJhbmQudGJ5MSArIGNvZGVibG9ja0hlaWdodCAtIDEpID4+IHljYl87CiAgICB2YXIgcHJlY2luY3RQYXJhbWV0ZXJzID0gc3ViYmFuZC5yZXNvbHV0aW9uLnByZWNpbmN0UGFyYW1ldGVyczsKICAgIHZhciBjb2RlYmxvY2tzID0gW107CiAgICB2YXIgcHJlY2luY3RzID0gW107CiAgICB2YXIgaSwgaiwgY29kZWJsb2NrLCBwcmVjaW5jdE51bWJlcjsKICAgIGZvciAoaiA9IGNieTA7IGogPCBjYnkxOyBqKyspIHsKICAgICAgZm9yIChpID0gY2J4MDsgaSA8IGNieDE7IGkrKykgewogICAgICAgIGNvZGVibG9jayA9IHsKICAgICAgICAgIGNieDogaSwKICAgICAgICAgIGNieTogaiwKICAgICAgICAgIHRieDA6IGNvZGVibG9ja1dpZHRoICogaSwKICAgICAgICAgIHRieTA6IGNvZGVibG9ja0hlaWdodCAqIGosCiAgICAgICAgICB0YngxOiBjb2RlYmxvY2tXaWR0aCAqIChpICsgMSksCiAgICAgICAgICB0YnkxOiBjb2RlYmxvY2tIZWlnaHQgKiAoaiArIDEpCiAgICAgICAgfTsKCiAgICAgICAgY29kZWJsb2NrLnRieDBfID0gTWF0aC5tYXgoc3ViYmFuZC50YngwLCBjb2RlYmxvY2sudGJ4MCk7CiAgICAgICAgY29kZWJsb2NrLnRieTBfID0gTWF0aC5tYXgoc3ViYmFuZC50YnkwLCBjb2RlYmxvY2sudGJ5MCk7CiAgICAgICAgY29kZWJsb2NrLnRieDFfID0gTWF0aC5taW4oc3ViYmFuZC50YngxLCBjb2RlYmxvY2sudGJ4MSk7CiAgICAgICAgY29kZWJsb2NrLnRieTFfID0gTWF0aC5taW4oc3ViYmFuZC50YnkxLCBjb2RlYmxvY2sudGJ5MSk7CgogICAgICAgIC8vIENhbGN1bGF0ZSBwcmVjaW5jdCBudW1iZXIgZm9yIHRoaXMgY29kZWJsb2NrLCBjb2RlYmxvY2sgcG9zaXRpb24KICAgICAgICAvLyBzaG91bGQgYmUgcmVsYXRpdmUgdG8gaXRzIHN1YmJhbmQsIHVzZSBhY3R1YWwgZGltZW5zaW9uIGFuZCBwb3NpdGlvbgogICAgICAgIC8vIFNlZSBjb21tZW50IGFib3V0IGNvZGVibG9jayBncm91cCB3aWR0aCBhbmQgaGVpZ2h0CiAgICAgICAgdmFyIHBpID0gTWF0aC5mbG9vcigoY29kZWJsb2NrLnRieDBfIC0gc3ViYmFuZC50YngwKSAvCiAgICAgICAgICBwcmVjaW5jdFBhcmFtZXRlcnMucHJlY2luY3RXaWR0aEluU3ViYmFuZCk7CiAgICAgICAgdmFyIHBqID0gTWF0aC5mbG9vcigoY29kZWJsb2NrLnRieTBfIC0gc3ViYmFuZC50YnkwKSAvCiAgICAgICAgICBwcmVjaW5jdFBhcmFtZXRlcnMucHJlY2luY3RIZWlnaHRJblN1YmJhbmQpOwogICAgICAgIHByZWNpbmN0TnVtYmVyID0gcGkgKyAocGogKiBwcmVjaW5jdFBhcmFtZXRlcnMubnVtcHJlY2luY3Rzd2lkZSk7CgogICAgICAgIGNvZGVibG9jay5wcmVjaW5jdE51bWJlciA9IHByZWNpbmN0TnVtYmVyOwogICAgICAgIGNvZGVibG9jay5zdWJiYW5kVHlwZSA9IHN1YmJhbmQudHlwZTsKICAgICAgICBjb2RlYmxvY2suTGJsb2NrID0gMzsKCiAgICAgICAgaWYgKGNvZGVibG9jay50YngxXyA8PSBjb2RlYmxvY2sudGJ4MF8gfHwKICAgICAgICAgICAgY29kZWJsb2NrLnRieTFfIDw9IGNvZGVibG9jay50YnkwXykgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGNvZGVibG9ja3MucHVzaChjb2RlYmxvY2spOwogICAgICAgIC8vIGJ1aWxkaW5nIHByZWNpbmN0IGZvciB0aGUgc3ViLWJhbmQKICAgICAgICB2YXIgcHJlY2luY3QgPSBwcmVjaW5jdHNbcHJlY2luY3ROdW1iZXJdOwogICAgICAgIGlmIChwcmVjaW5jdCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICBpZiAoaSA8IHByZWNpbmN0LmNieE1pbikgewogICAgICAgICAgICBwcmVjaW5jdC5jYnhNaW4gPSBpOwogICAgICAgICAgfSBlbHNlIGlmIChpID4gcHJlY2luY3QuY2J4TWF4KSB7CiAgICAgICAgICAgIHByZWNpbmN0LmNieE1heCA9IGk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoaiA8IHByZWNpbmN0LmNieU1pbikgewogICAgICAgICAgICBwcmVjaW5jdC5jYnhNaW4gPSBqOwogICAgICAgICAgfSBlbHNlIGlmIChqID4gcHJlY2luY3QuY2J5TWF4KSB7CiAgICAgICAgICAgIHByZWNpbmN0LmNieU1heCA9IGo7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHByZWNpbmN0c1twcmVjaW5jdE51bWJlcl0gPSBwcmVjaW5jdCA9IHsKICAgICAgICAgICAgY2J4TWluOiBpLAogICAgICAgICAgICBjYnlNaW46IGosCiAgICAgICAgICAgIGNieE1heDogaSwKICAgICAgICAgICAgY2J5TWF4OiBqCiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBjb2RlYmxvY2sucHJlY2luY3QgPSBwcmVjaW5jdDsKICAgICAgfQogICAgfQogICAgc3ViYmFuZC5jb2RlYmxvY2tQYXJhbWV0ZXJzID0gewogICAgICBjb2RlYmxvY2tXaWR0aDogeGNiXywKICAgICAgY29kZWJsb2NrSGVpZ2h0OiB5Y2JfLAogICAgICBudW1jb2RlYmxvY2t3aWRlOiBjYngxIC0gY2J4MCArIDEsCiAgICAgIG51bWNvZGVibG9ja2hpZ2g6IGNieTEgLSBjYnkwICsgMQogICAgfTsKICAgIHN1YmJhbmQuY29kZWJsb2NrcyA9IGNvZGVibG9ja3M7CiAgICBzdWJiYW5kLnByZWNpbmN0cyA9IHByZWNpbmN0czsKICB9CiAgZnVuY3Rpb24gY3JlYXRlUGFja2V0KHJlc29sdXRpb24sIHByZWNpbmN0TnVtYmVyLCBsYXllck51bWJlcikgewogICAgdmFyIHByZWNpbmN0Q29kZWJsb2NrcyA9IFtdOwogICAgLy8gU2VjdGlvbiBCLjEwLjggT3JkZXIgb2YgaW5mbyBpbiBwYWNrZXQKICAgIHZhciBzdWJiYW5kcyA9IHJlc29sdXRpb24uc3ViYmFuZHM7CiAgICAvLyBzdWItYmFuZHMgYWxyZWFkeSBvcmRlcmVkIGluICdMTCcsICdITCcsICdMSCcsIGFuZCAnSEgnIHNlcXVlbmNlCiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBzdWJiYW5kcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHZhciBzdWJiYW5kID0gc3ViYmFuZHNbaV07CiAgICAgIHZhciBjb2RlYmxvY2tzID0gc3ViYmFuZC5jb2RlYmxvY2tzOwogICAgICBmb3IgKHZhciBqID0gMCwgamogPSBjb2RlYmxvY2tzLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICB2YXIgY29kZWJsb2NrID0gY29kZWJsb2Nrc1tqXTsKICAgICAgICBpZiAoY29kZWJsb2NrLnByZWNpbmN0TnVtYmVyICE9PSBwcmVjaW5jdE51bWJlcikgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHByZWNpbmN0Q29kZWJsb2Nrcy5wdXNoKGNvZGVibG9jayk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiB7CiAgICAgIGxheWVyTnVtYmVyOiBsYXllck51bWJlciwKICAgICAgY29kZWJsb2NrczogcHJlY2luY3RDb2RlYmxvY2tzCiAgICB9OwogIH0KICBmdW5jdGlvbiBMYXllclJlc29sdXRpb25Db21wb25lbnRQb3NpdGlvbkl0ZXJhdG9yKGNvbnRleHQpIHsKICAgIHZhciBzaXogPSBjb250ZXh0LlNJWjsKICAgIHZhciB0aWxlSW5kZXggPSBjb250ZXh0LmN1cnJlbnRUaWxlLmluZGV4OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICB2YXIgbGF5ZXJzQ291bnQgPSB0aWxlLmNvZGluZ1N0eWxlRGVmYXVsdFBhcmFtZXRlcnMubGF5ZXJzQ291bnQ7CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gc2l6LkNzaXo7CiAgICB2YXIgbWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0gMDsKICAgIGZvciAodmFyIHEgPSAwOyBxIDwgY29tcG9uZW50c0NvdW50OyBxKyspIHsKICAgICAgbWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0gTWF0aC5tYXgobWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50LAogICAgICAgIHRpbGUuY29tcG9uZW50c1txXS5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50KTsKICAgIH0KCiAgICB2YXIgbCA9IDAsIHIgPSAwLCBpID0gMCwgayA9IDA7CgogICAgdGhpcy5uZXh0UGFja2V0ID0gZnVuY3Rpb24gSnB4SW1hZ2VfbmV4dFBhY2tldCgpIHsKICAgICAgLy8gU2VjdGlvbiBCLjEyLjEuMSBMYXllci1yZXNvbHV0aW9uLWNvbXBvbmVudC1wb3NpdGlvbgogICAgICBmb3IgKDsgbCA8IGxheWVyc0NvdW50OyBsKyspIHsKICAgICAgICBmb3IgKDsgciA8PSBtYXhEZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7IHIrKykgewogICAgICAgICAgZm9yICg7IGkgPCBjb21wb25lbnRzQ291bnQ7IGkrKykgewogICAgICAgICAgICB2YXIgY29tcG9uZW50ID0gdGlsZS5jb21wb25lbnRzW2ldOwogICAgICAgICAgICBpZiAociA+IGNvbXBvbmVudC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50KSB7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciByZXNvbHV0aW9uID0gY29tcG9uZW50LnJlc29sdXRpb25zW3JdOwogICAgICAgICAgICB2YXIgbnVtcHJlY2luY3RzID0gcmVzb2x1dGlvbi5wcmVjaW5jdFBhcmFtZXRlcnMubnVtcHJlY2luY3RzOwogICAgICAgICAgICBmb3IgKDsgayA8IG51bXByZWNpbmN0czspIHsKICAgICAgICAgICAgICB2YXIgcGFja2V0ID0gY3JlYXRlUGFja2V0KHJlc29sdXRpb24sIGssIGwpOwogICAgICAgICAgICAgIGsrKzsKICAgICAgICAgICAgICByZXR1cm4gcGFja2V0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGsgPSAwOwogICAgICAgICAgfQogICAgICAgICAgaSA9IDA7CiAgICAgICAgfQogICAgICAgIHIgPSAwOwogICAgICB9CiAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBPdXQgb2YgcGFja2V0cycpOwogICAgfTsKICB9CiAgZnVuY3Rpb24gUmVzb2x1dGlvbkxheWVyQ29tcG9uZW50UG9zaXRpb25JdGVyYXRvcihjb250ZXh0KSB7CiAgICB2YXIgc2l6ID0gY29udGV4dC5TSVo7CiAgICB2YXIgdGlsZUluZGV4ID0gY29udGV4dC5jdXJyZW50VGlsZS5pbmRleDsKICAgIHZhciB0aWxlID0gY29udGV4dC50aWxlc1t0aWxlSW5kZXhdOwogICAgdmFyIGxheWVyc0NvdW50ID0gdGlsZS5jb2RpbmdTdHlsZURlZmF1bHRQYXJhbWV0ZXJzLmxheWVyc0NvdW50OwogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHNpei5Dc2l6OwogICAgdmFyIG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCA9IDA7CiAgICBmb3IgKHZhciBxID0gMDsgcSA8IGNvbXBvbmVudHNDb3VudDsgcSsrKSB7CiAgICAgIG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCA9IE1hdGgubWF4KG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCwKICAgICAgICB0aWxlLmNvbXBvbmVudHNbcV0uY29kaW5nU3R5bGVQYXJhbWV0ZXJzLmRlY29tcG9zaXRpb25MZXZlbHNDb3VudCk7CiAgICB9CgogICAgdmFyIHIgPSAwLCBsID0gMCwgaSA9IDAsIGsgPSAwOwoKICAgIHRoaXMubmV4dFBhY2tldCA9IGZ1bmN0aW9uIEpweEltYWdlX25leHRQYWNrZXQoKSB7CiAgICAgIC8vIFNlY3Rpb24gQi4xMi4xLjIgUmVzb2x1dGlvbi1sYXllci1jb21wb25lbnQtcG9zaXRpb24KICAgICAgZm9yICg7IHIgPD0gbWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50OyByKyspIHsKICAgICAgICBmb3IgKDsgbCA8IGxheWVyc0NvdW50OyBsKyspIHsKICAgICAgICAgIGZvciAoOyBpIDwgY29tcG9uZW50c0NvdW50OyBpKyspIHsKICAgICAgICAgICAgdmFyIGNvbXBvbmVudCA9IHRpbGUuY29tcG9uZW50c1tpXTsKICAgICAgICAgICAgaWYgKHIgPiBjb21wb25lbnQuY29kaW5nU3R5bGVQYXJhbWV0ZXJzLmRlY29tcG9zaXRpb25MZXZlbHNDb3VudCkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgcmVzb2x1dGlvbiA9IGNvbXBvbmVudC5yZXNvbHV0aW9uc1tyXTsKICAgICAgICAgICAgdmFyIG51bXByZWNpbmN0cyA9IHJlc29sdXRpb24ucHJlY2luY3RQYXJhbWV0ZXJzLm51bXByZWNpbmN0czsKICAgICAgICAgICAgZm9yICg7IGsgPCBudW1wcmVjaW5jdHM7KSB7CiAgICAgICAgICAgICAgdmFyIHBhY2tldCA9IGNyZWF0ZVBhY2tldChyZXNvbHV0aW9uLCBrLCBsKTsKICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgICAgcmV0dXJuIHBhY2tldDsKICAgICAgICAgICAgfQogICAgICAgICAgICBrID0gMDsKICAgICAgICAgIH0KICAgICAgICAgIGkgPSAwOwogICAgICAgIH0KICAgICAgICBsID0gMDsKICAgICAgfQogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0pQWCBFcnJvcjogT3V0IG9mIHBhY2tldHMnKTsKICAgIH07CiAgfQogIGZ1bmN0aW9uIFJlc29sdXRpb25Qb3NpdGlvbkNvbXBvbmVudExheWVySXRlcmF0b3IoY29udGV4dCkgewogICAgdmFyIHNpeiA9IGNvbnRleHQuU0laOwogICAgdmFyIHRpbGVJbmRleCA9IGNvbnRleHQuY3VycmVudFRpbGUuaW5kZXg7CiAgICB2YXIgdGlsZSA9IGNvbnRleHQudGlsZXNbdGlsZUluZGV4XTsKICAgIHZhciBsYXllcnNDb3VudCA9IHRpbGUuY29kaW5nU3R5bGVEZWZhdWx0UGFyYW1ldGVycy5sYXllcnNDb3VudDsKICAgIHZhciBjb21wb25lbnRzQ291bnQgPSBzaXouQ3NpejsKICAgIHZhciBsLCByLCBjLCBwOwogICAgdmFyIG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCA9IDA7CiAgICBmb3IgKGMgPSAwOyBjIDwgY29tcG9uZW50c0NvdW50OyBjKyspIHsKICAgICAgdmFyIGNvbXBvbmVudCA9IHRpbGUuY29tcG9uZW50c1tjXTsKICAgICAgbWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0gTWF0aC5tYXgobWF4RGVjb21wb3NpdGlvbkxldmVsc0NvdW50LAogICAgICAgIGNvbXBvbmVudC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50KTsKICAgIH0KICAgIHZhciBtYXhOdW1QcmVjaW5jdHNJbkxldmVsID0gbmV3IEludDMyQXJyYXkoCiAgICAgIG1heERlY29tcG9zaXRpb25MZXZlbHNDb3VudCArIDEpOwogICAgZm9yIChyID0gMDsgciA8PSBtYXhEZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7ICsrcikgewogICAgICB2YXIgbWF4TnVtUHJlY2luY3RzID0gMDsKICAgICAgZm9yIChjID0gMDsgYyA8IGNvbXBvbmVudHNDb3VudDsgKytjKSB7CiAgICAgICAgdmFyIHJlc29sdXRpb25zID0gdGlsZS5jb21wb25lbnRzW2NdLnJlc29sdXRpb25zOwogICAgICAgIGlmIChyIDwgcmVzb2x1dGlvbnMubGVuZ3RoKSB7CiAgICAgICAgICBtYXhOdW1QcmVjaW5jdHMgPSBNYXRoLm1heChtYXhOdW1QcmVjaW5jdHMsCiAgICAgICAgICAgIHJlc29sdXRpb25zW3JdLnByZWNpbmN0UGFyYW1ldGVycy5udW1wcmVjaW5jdHMpOwogICAgICAgIH0KICAgICAgfQogICAgICBtYXhOdW1QcmVjaW5jdHNJbkxldmVsW3JdID0gbWF4TnVtUHJlY2luY3RzOwogICAgfQogICAgbCA9IDA7CiAgICByID0gMDsKICAgIGMgPSAwOwogICAgcCA9IDA7CgogICAgdGhpcy5uZXh0UGFja2V0ID0gZnVuY3Rpb24gSnB4SW1hZ2VfbmV4dFBhY2tldCgpIHsKICAgICAgLy8gU2VjdGlvbiBCLjEyLjEuMyBSZXNvbHV0aW9uLXBvc2l0aW9uLWNvbXBvbmVudC1sYXllcgogICAgICBmb3IgKDsgciA8PSBtYXhEZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7IHIrKykgewogICAgICAgIGZvciAoOyBwIDwgbWF4TnVtUHJlY2luY3RzSW5MZXZlbFtyXTsgcCsrKSB7CiAgICAgICAgICBmb3IgKDsgYyA8IGNvbXBvbmVudHNDb3VudDsgYysrKSB7CiAgICAgICAgICAgIHZhciBjb21wb25lbnQgPSB0aWxlLmNvbXBvbmVudHNbY107CiAgICAgICAgICAgIGlmIChyID4gY29tcG9uZW50LmNvZGluZ1N0eWxlUGFyYW1ldGVycy5kZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgcmVzb2x1dGlvbiA9IGNvbXBvbmVudC5yZXNvbHV0aW9uc1tyXTsKICAgICAgICAgICAgdmFyIG51bXByZWNpbmN0cyA9IHJlc29sdXRpb24ucHJlY2luY3RQYXJhbWV0ZXJzLm51bXByZWNpbmN0czsKICAgICAgICAgICAgaWYgKHAgPj0gbnVtcHJlY2luY3RzKSB7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yICg7IGwgPCBsYXllcnNDb3VudDspIHsKICAgICAgICAgICAgICB2YXIgcGFja2V0ID0gY3JlYXRlUGFja2V0KHJlc29sdXRpb24sIHAsIGwpOwogICAgICAgICAgICAgIGwrKzsKICAgICAgICAgICAgICByZXR1cm4gcGFja2V0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGwgPSAwOwogICAgICAgICAgfQogICAgICAgICAgYyA9IDA7CiAgICAgICAgfQogICAgICAgIHAgPSAwOwogICAgICB9CiAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBPdXQgb2YgcGFja2V0cycpOwogICAgfTsKICB9CiAgZnVuY3Rpb24gUG9zaXRpb25Db21wb25lbnRSZXNvbHV0aW9uTGF5ZXJJdGVyYXRvcihjb250ZXh0KSB7CiAgICB2YXIgc2l6ID0gY29udGV4dC5TSVo7CiAgICB2YXIgdGlsZUluZGV4ID0gY29udGV4dC5jdXJyZW50VGlsZS5pbmRleDsKICAgIHZhciB0aWxlID0gY29udGV4dC50aWxlc1t0aWxlSW5kZXhdOwogICAgdmFyIGxheWVyc0NvdW50ID0gdGlsZS5jb2RpbmdTdHlsZURlZmF1bHRQYXJhbWV0ZXJzLmxheWVyc0NvdW50OwogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHNpei5Dc2l6OwogICAgdmFyIHByZWNpbmN0c1NpemVzID0gZ2V0UHJlY2luY3RTaXplc0luSW1hZ2VTY2FsZSh0aWxlKTsKICAgIHZhciBwcmVjaW5jdHNJdGVyYXRpb25TaXplcyA9IHByZWNpbmN0c1NpemVzOwogICAgdmFyIGwgPSAwLCByID0gMCwgYyA9IDAsIHB4ID0gMCwgcHkgPSAwOwoKICAgIHRoaXMubmV4dFBhY2tldCA9IGZ1bmN0aW9uIEpweEltYWdlX25leHRQYWNrZXQoKSB7CiAgICAgIC8vIFNlY3Rpb24gQi4xMi4xLjQgUG9zaXRpb24tY29tcG9uZW50LXJlc29sdXRpb24tbGF5ZXIKICAgICAgZm9yICg7IHB5IDwgcHJlY2luY3RzSXRlcmF0aW9uU2l6ZXMubWF4TnVtSGlnaDsgcHkrKykgewogICAgICAgIGZvciAoOyBweCA8IHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLm1heE51bVdpZGU7IHB4KyspIHsKICAgICAgICAgIGZvciAoOyBjIDwgY29tcG9uZW50c0NvdW50OyBjKyspIHsKICAgICAgICAgICAgdmFyIGNvbXBvbmVudCA9IHRpbGUuY29tcG9uZW50c1tjXTsKICAgICAgICAgICAgdmFyIGRlY29tcG9zaXRpb25MZXZlbHNDb3VudCA9CiAgICAgICAgICAgICAgY29tcG9uZW50LmNvZGluZ1N0eWxlUGFyYW1ldGVycy5kZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7CiAgICAgICAgICAgIGZvciAoOyByIDw9IGRlY29tcG9zaXRpb25MZXZlbHNDb3VudDsgcisrKSB7CiAgICAgICAgICAgICAgdmFyIHJlc29sdXRpb24gPSBjb21wb25lbnQucmVzb2x1dGlvbnNbcl07CiAgICAgICAgICAgICAgdmFyIHNpemVJbkltYWdlU2NhbGUgPQogICAgICAgICAgICAgICAgcHJlY2luY3RzU2l6ZXMuY29tcG9uZW50c1tjXS5yZXNvbHV0aW9uc1tyXTsKICAgICAgICAgICAgICB2YXIgayA9IGdldFByZWNpbmN0SW5kZXhJZkV4aXN0KAogICAgICAgICAgICAgICAgcHgsCiAgICAgICAgICAgICAgICBweSwKICAgICAgICAgICAgICAgIHNpemVJbkltYWdlU2NhbGUsCiAgICAgICAgICAgICAgICBwcmVjaW5jdHNJdGVyYXRpb25TaXplcywKICAgICAgICAgICAgICAgIHJlc29sdXRpb24pOwogICAgICAgICAgICAgIGlmIChrID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZm9yICg7IGwgPCBsYXllcnNDb3VudDspIHsKICAgICAgICAgICAgICAgIHZhciBwYWNrZXQgPSBjcmVhdGVQYWNrZXQocmVzb2x1dGlvbiwgaywgbCk7CiAgICAgICAgICAgICAgICBsKys7CiAgICAgICAgICAgICAgICByZXR1cm4gcGFja2V0OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBsID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICByID0gMDsKICAgICAgICAgIH0KICAgICAgICAgIGMgPSAwOwogICAgICAgIH0KICAgICAgICBweCA9IDA7CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IE91dCBvZiBwYWNrZXRzJyk7CiAgICB9OwogIH0KICBmdW5jdGlvbiBDb21wb25lbnRQb3NpdGlvblJlc29sdXRpb25MYXllckl0ZXJhdG9yKGNvbnRleHQpIHsKICAgIHZhciBzaXogPSBjb250ZXh0LlNJWjsKICAgIHZhciB0aWxlSW5kZXggPSBjb250ZXh0LmN1cnJlbnRUaWxlLmluZGV4OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICB2YXIgbGF5ZXJzQ291bnQgPSB0aWxlLmNvZGluZ1N0eWxlRGVmYXVsdFBhcmFtZXRlcnMubGF5ZXJzQ291bnQ7CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gc2l6LkNzaXo7CiAgICB2YXIgcHJlY2luY3RzU2l6ZXMgPSBnZXRQcmVjaW5jdFNpemVzSW5JbWFnZVNjYWxlKHRpbGUpOwogICAgdmFyIGwgPSAwLCByID0gMCwgYyA9IDAsIHB4ID0gMCwgcHkgPSAwOwoKICAgIHRoaXMubmV4dFBhY2tldCA9IGZ1bmN0aW9uIEpweEltYWdlX25leHRQYWNrZXQoKSB7CiAgICAgIC8vIFNlY3Rpb24gQi4xMi4xLjUgQ29tcG9uZW50LXBvc2l0aW9uLXJlc29sdXRpb24tbGF5ZXIKICAgICAgZm9yICg7IGMgPCBjb21wb25lbnRzQ291bnQ7ICsrYykgewogICAgICAgIHZhciBjb21wb25lbnQgPSB0aWxlLmNvbXBvbmVudHNbY107CiAgICAgICAgdmFyIHByZWNpbmN0c0l0ZXJhdGlvblNpemVzID0gcHJlY2luY3RzU2l6ZXMuY29tcG9uZW50c1tjXTsKICAgICAgICB2YXIgZGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0KICAgICAgICAgIGNvbXBvbmVudC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OwogICAgICAgIGZvciAoOyBweSA8IHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLm1heE51bUhpZ2g7IHB5KyspIHsKICAgICAgICAgIGZvciAoOyBweCA8IHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLm1heE51bVdpZGU7IHB4KyspIHsKICAgICAgICAgICAgZm9yICg7IHIgPD0gZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OyByKyspIHsKICAgICAgICAgICAgICB2YXIgcmVzb2x1dGlvbiA9IGNvbXBvbmVudC5yZXNvbHV0aW9uc1tyXTsKICAgICAgICAgICAgICB2YXIgc2l6ZUluSW1hZ2VTY2FsZSA9IHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLnJlc29sdXRpb25zW3JdOwogICAgICAgICAgICAgIHZhciBrID0gZ2V0UHJlY2luY3RJbmRleElmRXhpc3QoCiAgICAgICAgICAgICAgICBweCwKICAgICAgICAgICAgICAgIHB5LAogICAgICAgICAgICAgICAgc2l6ZUluSW1hZ2VTY2FsZSwKICAgICAgICAgICAgICAgIHByZWNpbmN0c0l0ZXJhdGlvblNpemVzLAogICAgICAgICAgICAgICAgcmVzb2x1dGlvbik7CiAgICAgICAgICAgICAgaWYgKGsgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBmb3IgKDsgbCA8IGxheWVyc0NvdW50OykgewogICAgICAgICAgICAgICAgdmFyIHBhY2tldCA9IGNyZWF0ZVBhY2tldChyZXNvbHV0aW9uLCBrLCBsKTsKICAgICAgICAgICAgICAgIGwrKzsKICAgICAgICAgICAgICAgIHJldHVybiBwYWNrZXQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGwgPSAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHIgPSAwOwogICAgICAgICAgfQogICAgICAgICAgcHggPSAwOwogICAgICAgIH0KICAgICAgICBweSA9IDA7CiAgICAgIH0KICAgICAgdGhyb3cgbmV3IEVycm9yKCdKUFggRXJyb3I6IE91dCBvZiBwYWNrZXRzJyk7CiAgICB9OwogIH0KICBmdW5jdGlvbiBnZXRQcmVjaW5jdEluZGV4SWZFeGlzdCgKICAgIHB4SW5kZXgsIHB5SW5kZXgsIHNpemVJbkltYWdlU2NhbGUsIHByZWNpbmN0SXRlcmF0aW9uU2l6ZXMsIHJlc29sdXRpb24pIHsKICAgIHZhciBwb3NYID0gcHhJbmRleCAqIHByZWNpbmN0SXRlcmF0aW9uU2l6ZXMubWluV2lkdGg7CiAgICB2YXIgcG9zWSA9IHB5SW5kZXggKiBwcmVjaW5jdEl0ZXJhdGlvblNpemVzLm1pbkhlaWdodDsKICAgIGlmIChwb3NYICUgc2l6ZUluSW1hZ2VTY2FsZS53aWR0aCAhPT0gMCB8fAogICAgICAgIHBvc1kgJSBzaXplSW5JbWFnZVNjYWxlLmhlaWdodCAhPT0gMCkgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIHZhciBzdGFydFByZWNpbmN0Um93SW5kZXggPQogICAgICAocG9zWSAvIHNpemVJbkltYWdlU2NhbGUud2lkdGgpICoKICAgICAgcmVzb2x1dGlvbi5wcmVjaW5jdFBhcmFtZXRlcnMubnVtcHJlY2luY3Rzd2lkZTsKICAgIHJldHVybiAocG9zWCAvIHNpemVJbkltYWdlU2NhbGUuaGVpZ2h0KSArIHN0YXJ0UHJlY2luY3RSb3dJbmRleDsKICB9CiAgZnVuY3Rpb24gZ2V0UHJlY2luY3RTaXplc0luSW1hZ2VTY2FsZSh0aWxlKSB7CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gdGlsZS5jb21wb25lbnRzLmxlbmd0aDsKICAgIHZhciBtaW5XaWR0aCA9IE51bWJlci5NQVhfVkFMVUU7CiAgICB2YXIgbWluSGVpZ2h0ID0gTnVtYmVyLk1BWF9WQUxVRTsKICAgIHZhciBtYXhOdW1XaWRlID0gMDsKICAgIHZhciBtYXhOdW1IaWdoID0gMDsKICAgIHZhciBzaXplUGVyQ29tcG9uZW50ID0gbmV3IEFycmF5KGNvbXBvbmVudHNDb3VudCk7CiAgICBmb3IgKHZhciBjID0gMDsgYyA8IGNvbXBvbmVudHNDb3VudDsgYysrKSB7CiAgICAgIHZhciBjb21wb25lbnQgPSB0aWxlLmNvbXBvbmVudHNbY107CiAgICAgIHZhciBkZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQgPQogICAgICAgIGNvbXBvbmVudC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OwogICAgICB2YXIgc2l6ZVBlclJlc29sdXRpb24gPSBuZXcgQXJyYXkoZGVjb21wb3NpdGlvbkxldmVsc0NvdW50ICsgMSk7CiAgICAgIHZhciBtaW5XaWR0aEN1cnJlbnRDb21wb25lbnQgPSBOdW1iZXIuTUFYX1ZBTFVFOwogICAgICB2YXIgbWluSGVpZ2h0Q3VycmVudENvbXBvbmVudCA9IE51bWJlci5NQVhfVkFMVUU7CiAgICAgIHZhciBtYXhOdW1XaWRlQ3VycmVudENvbXBvbmVudCA9IDA7CiAgICAgIHZhciBtYXhOdW1IaWdoQ3VycmVudENvbXBvbmVudCA9IDA7CiAgICAgIHZhciBzY2FsZSA9IDE7CiAgICAgIGZvciAodmFyIHIgPSBkZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQ7IHIgPj0gMDsgLS1yKSB7CiAgICAgICAgdmFyIHJlc29sdXRpb24gPSBjb21wb25lbnQucmVzb2x1dGlvbnNbcl07CiAgICAgICAgdmFyIHdpZHRoQ3VycmVudFJlc29sdXRpb24gPQogICAgICAgICAgc2NhbGUgKiByZXNvbHV0aW9uLnByZWNpbmN0UGFyYW1ldGVycy5wcmVjaW5jdFdpZHRoOwogICAgICAgIHZhciBoZWlnaHRDdXJyZW50UmVzb2x1dGlvbiA9CiAgICAgICAgICBzY2FsZSAqIHJlc29sdXRpb24ucHJlY2luY3RQYXJhbWV0ZXJzLnByZWNpbmN0SGVpZ2h0OwogICAgICAgIG1pbldpZHRoQ3VycmVudENvbXBvbmVudCA9IE1hdGgubWluKAogICAgICAgICAgbWluV2lkdGhDdXJyZW50Q29tcG9uZW50LAogICAgICAgICAgd2lkdGhDdXJyZW50UmVzb2x1dGlvbik7CiAgICAgICAgbWluSGVpZ2h0Q3VycmVudENvbXBvbmVudCA9IE1hdGgubWluKAogICAgICAgICAgbWluSGVpZ2h0Q3VycmVudENvbXBvbmVudCwKICAgICAgICAgIGhlaWdodEN1cnJlbnRSZXNvbHV0aW9uKTsKICAgICAgICBtYXhOdW1XaWRlQ3VycmVudENvbXBvbmVudCA9IE1hdGgubWF4KG1heE51bVdpZGVDdXJyZW50Q29tcG9uZW50LAogICAgICAgICAgcmVzb2x1dGlvbi5wcmVjaW5jdFBhcmFtZXRlcnMubnVtcHJlY2luY3Rzd2lkZSk7CiAgICAgICAgbWF4TnVtSGlnaEN1cnJlbnRDb21wb25lbnQgPSBNYXRoLm1heChtYXhOdW1IaWdoQ3VycmVudENvbXBvbmVudCwKICAgICAgICAgIHJlc29sdXRpb24ucHJlY2luY3RQYXJhbWV0ZXJzLm51bXByZWNpbmN0c2hpZ2gpOwogICAgICAgIHNpemVQZXJSZXNvbHV0aW9uW3JdID0gewogICAgICAgICAgd2lkdGg6IHdpZHRoQ3VycmVudFJlc29sdXRpb24sCiAgICAgICAgICBoZWlnaHQ6IGhlaWdodEN1cnJlbnRSZXNvbHV0aW9uCiAgICAgICAgfTsKICAgICAgICBzY2FsZSA8PD0gMTsKICAgICAgfQogICAgICBtaW5XaWR0aCA9IE1hdGgubWluKG1pbldpZHRoLCBtaW5XaWR0aEN1cnJlbnRDb21wb25lbnQpOwogICAgICBtaW5IZWlnaHQgPSBNYXRoLm1pbihtaW5IZWlnaHQsIG1pbkhlaWdodEN1cnJlbnRDb21wb25lbnQpOwogICAgICBtYXhOdW1XaWRlID0gTWF0aC5tYXgobWF4TnVtV2lkZSwgbWF4TnVtV2lkZUN1cnJlbnRDb21wb25lbnQpOwogICAgICBtYXhOdW1IaWdoID0gTWF0aC5tYXgobWF4TnVtSGlnaCwgbWF4TnVtSGlnaEN1cnJlbnRDb21wb25lbnQpOwogICAgICBzaXplUGVyQ29tcG9uZW50W2NdID0gewogICAgICAgIHJlc29sdXRpb25zOiBzaXplUGVyUmVzb2x1dGlvbiwKICAgICAgICBtaW5XaWR0aDogbWluV2lkdGhDdXJyZW50Q29tcG9uZW50LAogICAgICAgIG1pbkhlaWdodDogbWluSGVpZ2h0Q3VycmVudENvbXBvbmVudCwKICAgICAgICBtYXhOdW1XaWRlOiBtYXhOdW1XaWRlQ3VycmVudENvbXBvbmVudCwKICAgICAgICBtYXhOdW1IaWdoOiBtYXhOdW1IaWdoQ3VycmVudENvbXBvbmVudAogICAgICB9OwogICAgfQogICAgcmV0dXJuIHsKICAgICAgY29tcG9uZW50czogc2l6ZVBlckNvbXBvbmVudCwKICAgICAgbWluV2lkdGg6IG1pbldpZHRoLAogICAgICBtaW5IZWlnaHQ6IG1pbkhlaWdodCwKICAgICAgbWF4TnVtV2lkZTogbWF4TnVtV2lkZSwKICAgICAgbWF4TnVtSGlnaDogbWF4TnVtSGlnaAogICAgfTsKICB9CiAgZnVuY3Rpb24gYnVpbGRQYWNrZXRzKGNvbnRleHQpIHsKICAgIHZhciBzaXogPSBjb250ZXh0LlNJWjsKICAgIHZhciB0aWxlSW5kZXggPSBjb250ZXh0LmN1cnJlbnRUaWxlLmluZGV4OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gc2l6LkNzaXo7CiAgICAvLyBDcmVhdGluZyByZXNvbHV0aW9ucyBhbmQgc3ViLWJhbmRzIGZvciBlYWNoIGNvbXBvbmVudAogICAgZm9yICh2YXIgYyA9IDA7IGMgPCBjb21wb25lbnRzQ291bnQ7IGMrKykgewogICAgICB2YXIgY29tcG9uZW50ID0gdGlsZS5jb21wb25lbnRzW2NdOwogICAgICB2YXIgZGVjb21wb3NpdGlvbkxldmVsc0NvdW50ID0KICAgICAgICBjb21wb25lbnQuY29kaW5nU3R5bGVQYXJhbWV0ZXJzLmRlY29tcG9zaXRpb25MZXZlbHNDb3VudDsKICAgICAgLy8gU2VjdGlvbiBCLjUgUmVzb2x1dGlvbiBsZXZlbHMgYW5kIHN1Yi1iYW5kcwogICAgICB2YXIgcmVzb2x1dGlvbnMgPSBbXTsKICAgICAgdmFyIHN1YmJhbmRzID0gW107CiAgICAgIGZvciAodmFyIHIgPSAwOyByIDw9IGRlY29tcG9zaXRpb25MZXZlbHNDb3VudDsgcisrKSB7CiAgICAgICAgdmFyIGJsb2Nrc0RpbWVuc2lvbnMgPSBnZXRCbG9ja3NEaW1lbnNpb25zKGNvbnRleHQsIGNvbXBvbmVudCwgcik7CiAgICAgICAgdmFyIHJlc29sdXRpb24gPSB7fTsKICAgICAgICB2YXIgc2NhbGUgPSAxIDw8IChkZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQgLSByKTsKICAgICAgICByZXNvbHV0aW9uLnRyeDAgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeDAgLyBzY2FsZSk7CiAgICAgICAgcmVzb2x1dGlvbi50cnkwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kwIC8gc2NhbGUpOwogICAgICAgIHJlc29sdXRpb24udHJ4MSA9IE1hdGguY2VpbChjb21wb25lbnQudGN4MSAvIHNjYWxlKTsKICAgICAgICByZXNvbHV0aW9uLnRyeTEgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeTEgLyBzY2FsZSk7CiAgICAgICAgcmVzb2x1dGlvbi5yZXNMZXZlbCA9IHI7CiAgICAgICAgYnVpbGRQcmVjaW5jdHMoY29udGV4dCwgcmVzb2x1dGlvbiwgYmxvY2tzRGltZW5zaW9ucyk7CiAgICAgICAgcmVzb2x1dGlvbnMucHVzaChyZXNvbHV0aW9uKTsKCiAgICAgICAgdmFyIHN1YmJhbmQ7CiAgICAgICAgaWYgKHIgPT09IDApIHsKICAgICAgICAgIC8vIG9uZSBzdWItYmFuZCAoTEwpIHdpdGggbGFzdCBkZWNvbXBvc2l0aW9uCiAgICAgICAgICBzdWJiYW5kID0ge307CiAgICAgICAgICBzdWJiYW5kLnR5cGUgPSAnTEwnOwogICAgICAgICAgc3ViYmFuZC50YngwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3gwIC8gc2NhbGUpOwogICAgICAgICAgc3ViYmFuZC50YnkwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kwIC8gc2NhbGUpOwogICAgICAgICAgc3ViYmFuZC50YngxID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3gxIC8gc2NhbGUpOwogICAgICAgICAgc3ViYmFuZC50YnkxID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kxIC8gc2NhbGUpOwogICAgICAgICAgc3ViYmFuZC5yZXNvbHV0aW9uID0gcmVzb2x1dGlvbjsKICAgICAgICAgIGJ1aWxkQ29kZWJsb2Nrcyhjb250ZXh0LCBzdWJiYW5kLCBibG9ja3NEaW1lbnNpb25zKTsKICAgICAgICAgIHN1YmJhbmRzLnB1c2goc3ViYmFuZCk7CiAgICAgICAgICByZXNvbHV0aW9uLnN1YmJhbmRzID0gW3N1YmJhbmRdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgYnNjYWxlID0gMSA8PCAoZGVjb21wb3NpdGlvbkxldmVsc0NvdW50IC0gciArIDEpOwogICAgICAgICAgdmFyIHJlc29sdXRpb25TdWJiYW5kcyA9IFtdOwogICAgICAgICAgLy8gdGhyZWUgc3ViLWJhbmRzIChITCwgTEggYW5kIEhIKSB3aXRoIHJlc3Qgb2YgZGVjb21wb3NpdGlvbnMKICAgICAgICAgIHN1YmJhbmQgPSB7fTsKICAgICAgICAgIHN1YmJhbmQudHlwZSA9ICdITCc7CiAgICAgICAgICBzdWJiYW5kLnRieDAgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeDAgLyBic2NhbGUgLSAwLjUpOwogICAgICAgICAgc3ViYmFuZC50YnkwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kwIC8gYnNjYWxlKTsKICAgICAgICAgIHN1YmJhbmQudGJ4MSA9IE1hdGguY2VpbChjb21wb25lbnQudGN4MSAvIGJzY2FsZSAtIDAuNSk7CiAgICAgICAgICBzdWJiYW5kLnRieTEgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeTEgLyBic2NhbGUpOwogICAgICAgICAgc3ViYmFuZC5yZXNvbHV0aW9uID0gcmVzb2x1dGlvbjsKICAgICAgICAgIGJ1aWxkQ29kZWJsb2Nrcyhjb250ZXh0LCBzdWJiYW5kLCBibG9ja3NEaW1lbnNpb25zKTsKICAgICAgICAgIHN1YmJhbmRzLnB1c2goc3ViYmFuZCk7CiAgICAgICAgICByZXNvbHV0aW9uU3ViYmFuZHMucHVzaChzdWJiYW5kKTsKCiAgICAgICAgICBzdWJiYW5kID0ge307CiAgICAgICAgICBzdWJiYW5kLnR5cGUgPSAnTEgnOwogICAgICAgICAgc3ViYmFuZC50YngwID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3gwIC8gYnNjYWxlKTsKICAgICAgICAgIHN1YmJhbmQudGJ5MCA9IE1hdGguY2VpbChjb21wb25lbnQudGN5MCAvIGJzY2FsZSAtIDAuNSk7CiAgICAgICAgICBzdWJiYW5kLnRieDEgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeDEgLyBic2NhbGUpOwogICAgICAgICAgc3ViYmFuZC50YnkxID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3kxIC8gYnNjYWxlIC0gMC41KTsKICAgICAgICAgIHN1YmJhbmQucmVzb2x1dGlvbiA9IHJlc29sdXRpb247CiAgICAgICAgICBidWlsZENvZGVibG9ja3MoY29udGV4dCwgc3ViYmFuZCwgYmxvY2tzRGltZW5zaW9ucyk7CiAgICAgICAgICBzdWJiYW5kcy5wdXNoKHN1YmJhbmQpOwogICAgICAgICAgcmVzb2x1dGlvblN1YmJhbmRzLnB1c2goc3ViYmFuZCk7CgogICAgICAgICAgc3ViYmFuZCA9IHt9OwogICAgICAgICAgc3ViYmFuZC50eXBlID0gJ0hIJzsKICAgICAgICAgIHN1YmJhbmQudGJ4MCA9IE1hdGguY2VpbChjb21wb25lbnQudGN4MCAvIGJzY2FsZSAtIDAuNSk7CiAgICAgICAgICBzdWJiYW5kLnRieTAgPSBNYXRoLmNlaWwoY29tcG9uZW50LnRjeTAgLyBic2NhbGUgLSAwLjUpOwogICAgICAgICAgc3ViYmFuZC50YngxID0gTWF0aC5jZWlsKGNvbXBvbmVudC50Y3gxIC8gYnNjYWxlIC0gMC41KTsKICAgICAgICAgIHN1YmJhbmQudGJ5MSA9IE1hdGguY2VpbChjb21wb25lbnQudGN5MSAvIGJzY2FsZSAtIDAuNSk7CiAgICAgICAgICBzdWJiYW5kLnJlc29sdXRpb24gPSByZXNvbHV0aW9uOwogICAgICAgICAgYnVpbGRDb2RlYmxvY2tzKGNvbnRleHQsIHN1YmJhbmQsIGJsb2Nrc0RpbWVuc2lvbnMpOwogICAgICAgICAgc3ViYmFuZHMucHVzaChzdWJiYW5kKTsKICAgICAgICAgIHJlc29sdXRpb25TdWJiYW5kcy5wdXNoKHN1YmJhbmQpOwoKICAgICAgICAgIHJlc29sdXRpb24uc3ViYmFuZHMgPSByZXNvbHV0aW9uU3ViYmFuZHM7CiAgICAgICAgfQogICAgICB9CiAgICAgIGNvbXBvbmVudC5yZXNvbHV0aW9ucyA9IHJlc29sdXRpb25zOwogICAgICBjb21wb25lbnQuc3ViYmFuZHMgPSBzdWJiYW5kczsKICAgIH0KICAgIC8vIEdlbmVyYXRlIHRoZSBwYWNrZXRzIHNlcXVlbmNlCiAgICB2YXIgcHJvZ3Jlc3Npb25PcmRlciA9IHRpbGUuY29kaW5nU3R5bGVEZWZhdWx0UGFyYW1ldGVycy5wcm9ncmVzc2lvbk9yZGVyOwogICAgc3dpdGNoIChwcm9ncmVzc2lvbk9yZGVyKSB7CiAgICAgIGNhc2UgMDoKICAgICAgICB0aWxlLnBhY2tldHNJdGVyYXRvciA9CiAgICAgICAgICBuZXcgTGF5ZXJSZXNvbHV0aW9uQ29tcG9uZW50UG9zaXRpb25JdGVyYXRvcihjb250ZXh0KTsKICAgICAgICBicmVhazsKICAgICAgY2FzZSAxOgogICAgICAgIHRpbGUucGFja2V0c0l0ZXJhdG9yID0KICAgICAgICAgIG5ldyBSZXNvbHV0aW9uTGF5ZXJDb21wb25lbnRQb3NpdGlvbkl0ZXJhdG9yKGNvbnRleHQpOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDI6CiAgICAgICAgdGlsZS5wYWNrZXRzSXRlcmF0b3IgPQogICAgICAgICAgbmV3IFJlc29sdXRpb25Qb3NpdGlvbkNvbXBvbmVudExheWVySXRlcmF0b3IoY29udGV4dCk7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgMzoKICAgICAgICB0aWxlLnBhY2tldHNJdGVyYXRvciA9CiAgICAgICAgICBuZXcgUG9zaXRpb25Db21wb25lbnRSZXNvbHV0aW9uTGF5ZXJJdGVyYXRvcihjb250ZXh0KTsKICAgICAgICBicmVhazsKICAgICAgY2FzZSA0OgogICAgICAgIHRpbGUucGFja2V0c0l0ZXJhdG9yID0KICAgICAgICAgIG5ldyBDb21wb25lbnRQb3NpdGlvblJlc29sdXRpb25MYXllckl0ZXJhdG9yKGNvbnRleHQpOwogICAgICAgIGJyZWFrOwogICAgICBkZWZhdWx0OgogICAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBVbnN1cHBvcnRlZCBwcm9ncmVzc2lvbiBvcmRlciAnICsKICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3Npb25PcmRlcik7CiAgICB9CiAgfQogIGZ1bmN0aW9uIHBhcnNlVGlsZVBhY2tldHMoY29udGV4dCwgZGF0YSwgb2Zmc2V0LCBkYXRhTGVuZ3RoKSB7CiAgICB2YXIgcG9zaXRpb24gPSAwOwogICAgdmFyIGJ1ZmZlciwgYnVmZmVyU2l6ZSA9IDAsIHNraXBOZXh0Qml0ID0gZmFsc2U7CiAgICBmdW5jdGlvbiByZWFkQml0cyhjb3VudCkgewogICAgICB3aGlsZSAoYnVmZmVyU2l6ZSA8IGNvdW50KSB7CiAgICAgICAgdmFyIGIgPSBkYXRhW29mZnNldCArIHBvc2l0aW9uXTsKICAgICAgICBwb3NpdGlvbisrOwogICAgICAgIGlmIChza2lwTmV4dEJpdCkgewogICAgICAgICAgYnVmZmVyID0gKGJ1ZmZlciA8PCA3KSB8IGI7CiAgICAgICAgICBidWZmZXJTaXplICs9IDc7CiAgICAgICAgICBza2lwTmV4dEJpdCA9IGZhbHNlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBidWZmZXIgPSAoYnVmZmVyIDw8IDgpIHwgYjsKICAgICAgICAgIGJ1ZmZlclNpemUgKz0gODsKICAgICAgICB9CiAgICAgICAgaWYgKGIgPT09IDB4RkYpIHsKICAgICAgICAgIHNraXBOZXh0Qml0ID0gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgYnVmZmVyU2l6ZSAtPSBjb3VudDsKICAgICAgcmV0dXJuIChidWZmZXIgPj4+IGJ1ZmZlclNpemUpICYgKCgxIDw8IGNvdW50KSAtIDEpOwogICAgfQogICAgZnVuY3Rpb24gc2tpcE1hcmtlcklmRXF1YWwodmFsdWUpIHsKICAgICAgaWYgKGRhdGFbb2Zmc2V0ICsgcG9zaXRpb24gLSAxXSA9PT0gMHhGRiAmJgogICAgICAgICAgZGF0YVtvZmZzZXQgKyBwb3NpdGlvbl0gPT09IHZhbHVlKSB7CiAgICAgICAgc2tpcEJ5dGVzKDEpOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9IGVsc2UgaWYgKGRhdGFbb2Zmc2V0ICsgcG9zaXRpb25dID09PSAweEZGICYmCiAgICAgICAgICAgICAgICAgZGF0YVtvZmZzZXQgKyBwb3NpdGlvbiArIDFdID09PSB2YWx1ZSkgewogICAgICAgIHNraXBCeXRlcygyKTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBmdW5jdGlvbiBza2lwQnl0ZXMoY291bnQpIHsKICAgICAgcG9zaXRpb24gKz0gY291bnQ7CiAgICB9CiAgICBmdW5jdGlvbiBhbGlnblRvQnl0ZSgpIHsKICAgICAgYnVmZmVyU2l6ZSA9IDA7CiAgICAgIGlmIChza2lwTmV4dEJpdCkgewogICAgICAgIHBvc2l0aW9uKys7CiAgICAgICAgc2tpcE5leHRCaXQgPSBmYWxzZTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gcmVhZENvZGluZ3Bhc3NlcygpIHsKICAgICAgaWYgKHJlYWRCaXRzKDEpID09PSAwKSB7CiAgICAgICAgcmV0dXJuIDE7CiAgICAgIH0KICAgICAgaWYgKHJlYWRCaXRzKDEpID09PSAwKSB7CiAgICAgICAgcmV0dXJuIDI7CiAgICAgIH0KICAgICAgdmFyIHZhbHVlID0gcmVhZEJpdHMoMik7CiAgICAgIGlmICh2YWx1ZSA8IDMpIHsKICAgICAgICByZXR1cm4gdmFsdWUgKyAzOwogICAgICB9CiAgICAgIHZhbHVlID0gcmVhZEJpdHMoNSk7CiAgICAgIGlmICh2YWx1ZSA8IDMxKSB7CiAgICAgICAgcmV0dXJuIHZhbHVlICsgNjsKICAgICAgfQogICAgICB2YWx1ZSA9IHJlYWRCaXRzKDcpOwogICAgICByZXR1cm4gdmFsdWUgKyAzNzsKICAgIH0KICAgIHZhciB0aWxlSW5kZXggPSBjb250ZXh0LmN1cnJlbnRUaWxlLmluZGV4OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICB2YXIgc29wTWFya2VyVXNlZCA9IGNvbnRleHQuQ09ELnNvcE1hcmtlclVzZWQ7CiAgICB2YXIgZXBoTWFya2VyVXNlZCA9IGNvbnRleHQuQ09ELmVwaE1hcmtlclVzZWQ7CiAgICB2YXIgcGFja2V0c0l0ZXJhdG9yID0gdGlsZS5wYWNrZXRzSXRlcmF0b3I7CiAgICB3aGlsZSAocG9zaXRpb24gPCBkYXRhTGVuZ3RoKSB7CiAgICAgIGFsaWduVG9CeXRlKCk7CiAgICAgIGlmIChzb3BNYXJrZXJVc2VkICYmIHNraXBNYXJrZXJJZkVxdWFsKDB4OTEpKSB7CiAgICAgICAgLy8gU2tpcCBhbHNvIG1hcmtlciBzZWdtZW50IGxlbmd0aCBhbmQgcGFja2V0IHNlcXVlbmNlIElECiAgICAgICAgc2tpcEJ5dGVzKDQpOwogICAgICB9CiAgICAgIHZhciBwYWNrZXQgPSBwYWNrZXRzSXRlcmF0b3IubmV4dFBhY2tldCgpOwogICAgICBpZiAoIXJlYWRCaXRzKDEpKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgdmFyIGxheWVyTnVtYmVyID0gcGFja2V0LmxheWVyTnVtYmVyOwogICAgICB2YXIgcXVldWUgPSBbXSwgY29kZWJsb2NrOwogICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBwYWNrZXQuY29kZWJsb2Nrcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgY29kZWJsb2NrID0gcGFja2V0LmNvZGVibG9ja3NbaV07CiAgICAgICAgdmFyIHByZWNpbmN0ID0gY29kZWJsb2NrLnByZWNpbmN0OwogICAgICAgIHZhciBjb2RlYmxvY2tDb2x1bW4gPSBjb2RlYmxvY2suY2J4IC0gcHJlY2luY3QuY2J4TWluOwogICAgICAgIHZhciBjb2RlYmxvY2tSb3cgPSBjb2RlYmxvY2suY2J5IC0gcHJlY2luY3QuY2J5TWluOwogICAgICAgIHZhciBjb2RlYmxvY2tJbmNsdWRlZCA9IGZhbHNlOwogICAgICAgIHZhciBmaXJzdFRpbWVJbmNsdXNpb24gPSBmYWxzZTsKICAgICAgICB2YXIgdmFsdWVSZWFkeTsKICAgICAgICBpZiAoY29kZWJsb2NrWydpbmNsdWRlZCddICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgIGNvZGVibG9ja0luY2x1ZGVkID0gISFyZWFkQml0cygxKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gcmVhZGluZyBpbmNsdXNpb24gdHJlZQogICAgICAgICAgcHJlY2luY3QgPSBjb2RlYmxvY2sucHJlY2luY3Q7CiAgICAgICAgICB2YXIgaW5jbHVzaW9uVHJlZSwgemVyb0JpdFBsYW5lc1RyZWU7CiAgICAgICAgICBpZiAocHJlY2luY3RbJ2luY2x1c2lvblRyZWUnXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIGluY2x1c2lvblRyZWUgPSBwcmVjaW5jdC5pbmNsdXNpb25UcmVlOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gYnVpbGRpbmcgaW5jbHVzaW9uIGFuZCB6ZXJvIGJpdC1wbGFuZXMgdHJlZXMKICAgICAgICAgICAgdmFyIHdpZHRoID0gcHJlY2luY3QuY2J4TWF4IC0gcHJlY2luY3QuY2J4TWluICsgMTsKICAgICAgICAgICAgdmFyIGhlaWdodCA9IHByZWNpbmN0LmNieU1heCAtIHByZWNpbmN0LmNieU1pbiArIDE7CiAgICAgICAgICAgIGluY2x1c2lvblRyZWUgPSBuZXcgSW5jbHVzaW9uVHJlZSh3aWR0aCwgaGVpZ2h0LCBsYXllck51bWJlcik7CiAgICAgICAgICAgIHplcm9CaXRQbGFuZXNUcmVlID0gbmV3IFRhZ1RyZWUod2lkdGgsIGhlaWdodCk7CiAgICAgICAgICAgIHByZWNpbmN0LmluY2x1c2lvblRyZWUgPSBpbmNsdXNpb25UcmVlOwogICAgICAgICAgICBwcmVjaW5jdC56ZXJvQml0UGxhbmVzVHJlZSA9IHplcm9CaXRQbGFuZXNUcmVlOwogICAgICAgICAgfQoKICAgICAgICAgIGlmIChpbmNsdXNpb25UcmVlLnJlc2V0KGNvZGVibG9ja0NvbHVtbiwgY29kZWJsb2NrUm93LCBsYXllck51bWJlcikpIHsKICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICBpZiAocmVhZEJpdHMoMSkpIHsKICAgICAgICAgICAgICAgIHZhbHVlUmVhZHkgPSAhaW5jbHVzaW9uVHJlZS5uZXh0TGV2ZWwoKTsKICAgICAgICAgICAgICAgIGlmICh2YWx1ZVJlYWR5KSB7CiAgICAgICAgICAgICAgICAgIGNvZGVibG9jay5pbmNsdWRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgIGNvZGVibG9ja0luY2x1ZGVkID0gZmlyc3RUaW1lSW5jbHVzaW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGluY2x1c2lvblRyZWUuaW5jcmVtZW50VmFsdWUobGF5ZXJOdW1iZXIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICghY29kZWJsb2NrSW5jbHVkZWQpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoZmlyc3RUaW1lSW5jbHVzaW9uKSB7CiAgICAgICAgICB6ZXJvQml0UGxhbmVzVHJlZSA9IHByZWNpbmN0Lnplcm9CaXRQbGFuZXNUcmVlOwogICAgICAgICAgemVyb0JpdFBsYW5lc1RyZWUucmVzZXQoY29kZWJsb2NrQ29sdW1uLCBjb2RlYmxvY2tSb3cpOwogICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgaWYgKHJlYWRCaXRzKDEpKSB7CiAgICAgICAgICAgICAgdmFsdWVSZWFkeSA9ICF6ZXJvQml0UGxhbmVzVHJlZS5uZXh0TGV2ZWwoKTsKICAgICAgICAgICAgICBpZiAodmFsdWVSZWFkeSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHplcm9CaXRQbGFuZXNUcmVlLmluY3JlbWVudFZhbHVlKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGNvZGVibG9jay56ZXJvQml0UGxhbmVzID0gemVyb0JpdFBsYW5lc1RyZWUudmFsdWU7CiAgICAgICAgfQogICAgICAgIHZhciBjb2RpbmdwYXNzZXMgPSByZWFkQ29kaW5ncGFzc2VzKCk7CiAgICAgICAgd2hpbGUgKHJlYWRCaXRzKDEpKSB7CiAgICAgICAgICBjb2RlYmxvY2suTGJsb2NrKys7CiAgICAgICAgfQogICAgICAgIHZhciBjb2RpbmdwYXNzZXNMb2cyID0gbG9nMihjb2RpbmdwYXNzZXMpOwogICAgICAgIC8vIHJvdW5kaW5nIGRvd24gbG9nMgogICAgICAgIHZhciBiaXRzID0gKChjb2RpbmdwYXNzZXMgPCAoMSA8PCBjb2RpbmdwYXNzZXNMb2cyKSkgPwogICAgICAgICAgY29kaW5ncGFzc2VzTG9nMiAtIDEgOiBjb2RpbmdwYXNzZXNMb2cyKSArIGNvZGVibG9jay5MYmxvY2s7CiAgICAgICAgdmFyIGNvZGVkRGF0YUxlbmd0aCA9IHJlYWRCaXRzKGJpdHMpOwogICAgICAgIHF1ZXVlLnB1c2goewogICAgICAgICAgY29kZWJsb2NrOiBjb2RlYmxvY2ssCiAgICAgICAgICBjb2RpbmdwYXNzZXM6IGNvZGluZ3Bhc3NlcywKICAgICAgICAgIGRhdGFMZW5ndGg6IGNvZGVkRGF0YUxlbmd0aAogICAgICAgIH0pOwogICAgICB9CiAgICAgIGFsaWduVG9CeXRlKCk7CiAgICAgIGlmIChlcGhNYXJrZXJVc2VkKSB7CiAgICAgICAgc2tpcE1hcmtlcklmRXF1YWwoMHg5Mik7CiAgICAgIH0KICAgICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApIHsKICAgICAgICB2YXIgcGFja2V0SXRlbSA9IHF1ZXVlLnNoaWZ0KCk7CiAgICAgICAgY29kZWJsb2NrID0gcGFja2V0SXRlbS5jb2RlYmxvY2s7CiAgICAgICAgaWYgKGNvZGVibG9ja1snZGF0YSddID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgIGNvZGVibG9jay5kYXRhID0gW107CiAgICAgICAgfQogICAgICAgIGNvZGVibG9jay5kYXRhLnB1c2goewogICAgICAgICAgZGF0YTogZGF0YSwKICAgICAgICAgIHN0YXJ0OiBvZmZzZXQgKyBwb3NpdGlvbiwKICAgICAgICAgIGVuZDogb2Zmc2V0ICsgcG9zaXRpb24gKyBwYWNrZXRJdGVtLmRhdGFMZW5ndGgsCiAgICAgICAgICBjb2RpbmdwYXNzZXM6IHBhY2tldEl0ZW0uY29kaW5ncGFzc2VzCiAgICAgICAgfSk7CiAgICAgICAgcG9zaXRpb24gKz0gcGFja2V0SXRlbS5kYXRhTGVuZ3RoOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gcG9zaXRpb247CiAgfQogIGZ1bmN0aW9uIGNvcHlDb2VmZmljaWVudHMoY29lZmZpY2llbnRzLCBsZXZlbFdpZHRoLCBsZXZlbEhlaWdodCwgc3ViYmFuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLCBtYiwgcmV2ZXJzaWJsZSwgc2VnbWVudGF0aW9uU3ltYm9sVXNlZCkgewogICAgdmFyIHgwID0gc3ViYmFuZC50YngwOwogICAgdmFyIHkwID0gc3ViYmFuZC50YnkwOwogICAgdmFyIHdpZHRoID0gc3ViYmFuZC50YngxIC0gc3ViYmFuZC50YngwOwogICAgdmFyIGNvZGVibG9ja3MgPSBzdWJiYW5kLmNvZGVibG9ja3M7CiAgICB2YXIgcmlnaHQgPSBzdWJiYW5kLnR5cGUuY2hhckF0KDApID09PSAnSCcgPyAxIDogMDsKICAgIHZhciBib3R0b20gPSBzdWJiYW5kLnR5cGUuY2hhckF0KDEpID09PSAnSCcgPyBsZXZlbFdpZHRoIDogMDsKCiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBjb2RlYmxvY2tzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgdmFyIGNvZGVibG9jayA9IGNvZGVibG9ja3NbaV07CiAgICAgIHZhciBibG9ja1dpZHRoID0gY29kZWJsb2NrLnRieDFfIC0gY29kZWJsb2NrLnRieDBfOwogICAgICB2YXIgYmxvY2tIZWlnaHQgPSBjb2RlYmxvY2sudGJ5MV8gLSBjb2RlYmxvY2sudGJ5MF87CiAgICAgIGlmIChibG9ja1dpZHRoID09PSAwIHx8IGJsb2NrSGVpZ2h0ID09PSAwKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaWYgKGNvZGVibG9ja1snZGF0YSddID09PSB1bmRlZmluZWQpIHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQoKICAgICAgdmFyIGJpdE1vZGVsLCBjdXJyZW50Q29kaW5ncGFzc1R5cGU7CiAgICAgIGJpdE1vZGVsID0gbmV3IEJpdE1vZGVsKGJsb2NrV2lkdGgsIGJsb2NrSGVpZ2h0LCBjb2RlYmxvY2suc3ViYmFuZFR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVibG9jay56ZXJvQml0UGxhbmVzLCBtYik7CiAgICAgIGN1cnJlbnRDb2RpbmdwYXNzVHlwZSA9IDI7IC8vIGZpcnN0IGJpdCBwbGFuZSBzdGFydHMgZnJvbSBjbGVhbnVwCgogICAgICAvLyBjb2xsZWN0IGRhdGEKICAgICAgdmFyIGRhdGEgPSBjb2RlYmxvY2suZGF0YSwgdG90YWxMZW5ndGggPSAwLCBjb2RpbmdwYXNzZXMgPSAwOwogICAgICB2YXIgaiwgamosIGRhdGFJdGVtOwogICAgICBmb3IgKGogPSAwLCBqaiA9IGRhdGEubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIGRhdGFJdGVtID0gZGF0YVtqXTsKICAgICAgICB0b3RhbExlbmd0aCArPSBkYXRhSXRlbS5lbmQgLSBkYXRhSXRlbS5zdGFydDsKICAgICAgICBjb2RpbmdwYXNzZXMgKz0gZGF0YUl0ZW0uY29kaW5ncGFzc2VzOwogICAgICB9CiAgICAgIHZhciBlbmNvZGVkRGF0YSA9IG5ldyBVaW50OEFycmF5KHRvdGFsTGVuZ3RoKTsKICAgICAgdmFyIHBvc2l0aW9uID0gMDsKICAgICAgZm9yIChqID0gMCwgamogPSBkYXRhLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICBkYXRhSXRlbSA9IGRhdGFbal07CiAgICAgICAgdmFyIGNodW5rID0gZGF0YUl0ZW0uZGF0YS5zdWJhcnJheShkYXRhSXRlbS5zdGFydCwgZGF0YUl0ZW0uZW5kKTsKICAgICAgICBlbmNvZGVkRGF0YS5zZXQoY2h1bmssIHBvc2l0aW9uKTsKICAgICAgICBwb3NpdGlvbiArPSBjaHVuay5sZW5ndGg7CiAgICAgIH0KICAgICAgLy8gZGVjb2RpbmcgdGhlIGl0ZW0KICAgICAgdmFyIGRlY29kZXIgPSBuZXcgQXJpdGhtZXRpY0RlY29kZXIoZW5jb2RlZERhdGEsIDAsIHRvdGFsTGVuZ3RoKTsKICAgICAgYml0TW9kZWwuc2V0RGVjb2RlcihkZWNvZGVyKTsKCiAgICAgIGZvciAoaiA9IDA7IGogPCBjb2RpbmdwYXNzZXM7IGorKykgewogICAgICAgIHN3aXRjaCAoY3VycmVudENvZGluZ3Bhc3NUeXBlKSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIGJpdE1vZGVsLnJ1blNpZ25pZmljYW5jZVByb3BvZ2F0aW9uUGFzcygpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgYml0TW9kZWwucnVuTWFnbml0dWRlUmVmaW5lbWVudFBhc3MoKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgIGJpdE1vZGVsLnJ1bkNsZWFudXBQYXNzKCk7CiAgICAgICAgICAgIGlmIChzZWdtZW50YXRpb25TeW1ib2xVc2VkKSB7CiAgICAgICAgICAgICAgYml0TW9kZWwuY2hlY2tTZWdtZW50YXRpb25TeW1ib2woKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgY3VycmVudENvZGluZ3Bhc3NUeXBlID0gKGN1cnJlbnRDb2RpbmdwYXNzVHlwZSArIDEpICUgMzsKICAgICAgfQoKICAgICAgdmFyIG9mZnNldCA9IChjb2RlYmxvY2sudGJ4MF8gLSB4MCkgKyAoY29kZWJsb2NrLnRieTBfIC0geTApICogd2lkdGg7CiAgICAgIHZhciBzaWduID0gYml0TW9kZWwuY29lZmZpY2VudHNTaWduOwogICAgICB2YXIgbWFnbml0dWRlID0gYml0TW9kZWwuY29lZmZpY2VudHNNYWduaXR1ZGU7CiAgICAgIHZhciBiaXRzRGVjb2RlZCA9IGJpdE1vZGVsLmJpdHNEZWNvZGVkOwogICAgICB2YXIgbWFnbml0dWRlQ29ycmVjdGlvbiA9IHJldmVyc2libGUgPyAwIDogMC41OwogICAgICB2YXIgaywgbiwgbmI7CiAgICAgIHBvc2l0aW9uID0gMDsKICAgICAgLy8gRG8gdGhlIGludGVybGVhdmluZyBvZiBTZWN0aW9uIEYuMy4zIGhlcmUsIHNvIHdlIGRvIG5vdCBuZWVkCiAgICAgIC8vIHRvIGNvcHkgbGF0ZXIuIExMIGxldmVsIGlzIG5vdCBpbnRlcmxlYXZlZCwganVzdCBjb3BpZWQuCiAgICAgIHZhciBpbnRlcmxlYXZlID0gKHN1YmJhbmQudHlwZSAhPT0gJ0xMJyk7CiAgICAgIGZvciAoaiA9IDA7IGogPCBibG9ja0hlaWdodDsgaisrKSB7CiAgICAgICAgdmFyIHJvdyA9IChvZmZzZXQgLyB3aWR0aCkgfCAwOyAvLyByb3cgaW4gdGhlIG5vbi1pbnRlcmxlYXZlZCBzdWJiYW5kCiAgICAgICAgdmFyIGxldmVsT2Zmc2V0ID0gMiAqIHJvdyAqIChsZXZlbFdpZHRoIC0gd2lkdGgpICsgcmlnaHQgKyBib3R0b207CiAgICAgICAgZm9yIChrID0gMDsgayA8IGJsb2NrV2lkdGg7IGsrKykgewogICAgICAgICAgbiA9IG1hZ25pdHVkZVtwb3NpdGlvbl07CiAgICAgICAgICBpZiAobiAhPT0gMCkgewogICAgICAgICAgICBuID0gKG4gKyBtYWduaXR1ZGVDb3JyZWN0aW9uKSAqIGRlbHRhOwogICAgICAgICAgICBpZiAoc2lnbltwb3NpdGlvbl0gIT09IDApIHsKICAgICAgICAgICAgICBuID0gLW47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbmIgPSBiaXRzRGVjb2RlZFtwb3NpdGlvbl07CiAgICAgICAgICAgIHZhciBwb3MgPSBpbnRlcmxlYXZlID8gKGxldmVsT2Zmc2V0ICsgKG9mZnNldCA8PCAxKSkgOiBvZmZzZXQ7CiAgICAgICAgICAgIGlmIChyZXZlcnNpYmxlICYmIChuYiA+PSBtYikpIHsKICAgICAgICAgICAgICBjb2VmZmljaWVudHNbcG9zXSA9IG47CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgY29lZmZpY2llbnRzW3Bvc10gPSBuICogKDEgPDwgKG1iIC0gbmIpKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgb2Zmc2V0Kys7CiAgICAgICAgICBwb3NpdGlvbisrOwogICAgICAgIH0KICAgICAgICBvZmZzZXQgKz0gd2lkdGggLSBibG9ja1dpZHRoOwogICAgICB9CiAgICB9CiAgfQogIGZ1bmN0aW9uIHRyYW5zZm9ybVRpbGUoY29udGV4dCwgdGlsZSwgYykgewogICAgdmFyIGNvbXBvbmVudCA9IHRpbGUuY29tcG9uZW50c1tjXTsKICAgIHZhciBjb2RpbmdTdHlsZVBhcmFtZXRlcnMgPSBjb21wb25lbnQuY29kaW5nU3R5bGVQYXJhbWV0ZXJzOwogICAgdmFyIHF1YW50aXphdGlvblBhcmFtZXRlcnMgPSBjb21wb25lbnQucXVhbnRpemF0aW9uUGFyYW1ldGVyczsKICAgIHZhciBkZWNvbXBvc2l0aW9uTGV2ZWxzQ291bnQgPQogICAgICBjb2RpbmdTdHlsZVBhcmFtZXRlcnMuZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OwogICAgdmFyIHNwcWNkcyA9IHF1YW50aXphdGlvblBhcmFtZXRlcnMuU1BxY2RzOwogICAgdmFyIHNjYWxhckV4cG91bmRlZCA9IHF1YW50aXphdGlvblBhcmFtZXRlcnMuc2NhbGFyRXhwb3VuZGVkOwogICAgdmFyIGd1YXJkQml0cyA9IHF1YW50aXphdGlvblBhcmFtZXRlcnMuZ3VhcmRCaXRzOwogICAgdmFyIHNlZ21lbnRhdGlvblN5bWJvbFVzZWQgPSBjb2RpbmdTdHlsZVBhcmFtZXRlcnMuc2VnbWVudGF0aW9uU3ltYm9sVXNlZDsKICAgIHZhciBwcmVjaXNpb24gPSBjb250ZXh0LmNvbXBvbmVudHNbY10ucHJlY2lzaW9uOwoKICAgIHZhciByZXZlcnNpYmxlID0gY29kaW5nU3R5bGVQYXJhbWV0ZXJzLnJldmVyc2libGVUcmFuc2Zvcm1hdGlvbjsKICAgIHZhciB0cmFuc2Zvcm0gPSAocmV2ZXJzaWJsZSA/IG5ldyBSZXZlcnNpYmxlVHJhbnNmb3JtKCkgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IElycmV2ZXJzaWJsZVRyYW5zZm9ybSgpKTsKCiAgICB2YXIgc3ViYmFuZENvZWZmaWNpZW50cyA9IFtdOwogICAgdmFyIGIgPSAwOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gZGVjb21wb3NpdGlvbkxldmVsc0NvdW50OyBpKyspIHsKICAgICAgdmFyIHJlc29sdXRpb24gPSBjb21wb25lbnQucmVzb2x1dGlvbnNbaV07CgogICAgICB2YXIgd2lkdGggPSByZXNvbHV0aW9uLnRyeDEgLSByZXNvbHV0aW9uLnRyeDA7CiAgICAgIHZhciBoZWlnaHQgPSByZXNvbHV0aW9uLnRyeTEgLSByZXNvbHV0aW9uLnRyeTA7CiAgICAgIC8vIEFsbG9jYXRlIHNwYWNlIGZvciB0aGUgd2hvbGUgc3VibGV2ZWwuCiAgICAgIHZhciBjb2VmZmljaWVudHMgPSBuZXcgRmxvYXQzMkFycmF5KHdpZHRoICogaGVpZ2h0KTsKCiAgICAgIGZvciAodmFyIGogPSAwLCBqaiA9IHJlc29sdXRpb24uc3ViYmFuZHMubGVuZ3RoOyBqIDwgamo7IGorKykgewogICAgICAgIHZhciBtdSwgZXBzaWxvbjsKICAgICAgICBpZiAoIXNjYWxhckV4cG91bmRlZCkgewogICAgICAgICAgLy8gZm9ybXVsYSBFLTUKICAgICAgICAgIG11ID0gc3BxY2RzWzBdLm11OwogICAgICAgICAgZXBzaWxvbiA9IHNwcWNkc1swXS5lcHNpbG9uICsgKGkgPiAwID8gMSAtIGkgOiAwKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbXUgPSBzcHFjZHNbYl0ubXU7CiAgICAgICAgICBlcHNpbG9uID0gc3BxY2RzW2JdLmVwc2lsb247CiAgICAgICAgICBiKys7CiAgICAgICAgfQoKICAgICAgICB2YXIgc3ViYmFuZCA9IHJlc29sdXRpb24uc3ViYmFuZHNbal07CiAgICAgICAgdmFyIGdhaW5Mb2cyID0gU3ViYmFuZHNHYWluTG9nMltzdWJiYW5kLnR5cGVdOwoKICAgICAgICAvLyBjYWx1bGF0ZSBxdWFudGl6YXRpb24gY29lZmZpY2llbnQgKFNlY3Rpb24gRS4xLjEuMSkKICAgICAgICB2YXIgZGVsdGEgPSAocmV2ZXJzaWJsZSA/IDEgOgogICAgICAgICAgTWF0aC5wb3coMiwgcHJlY2lzaW9uICsgZ2FpbkxvZzIgLSBlcHNpbG9uKSAqICgxICsgbXUgLyAyMDQ4KSk7CiAgICAgICAgdmFyIG1iID0gKGd1YXJkQml0cyArIGVwc2lsb24gLSAxKTsKCiAgICAgICAgLy8gSW4gdGhlIGZpcnN0IHJlc29sdXRpb24gbGV2ZWwsIGNvcHlDb2VmZmljaWVudHMgd2lsbCBmaWxsIHRoZQogICAgICAgIC8vIHdob2xlIGFycmF5IHdpdGggY29lZmZpY2llbnRzLiBJbiB0aGUgc3VjY2VkaW5nIHBhc3NlcywKICAgICAgICAvLyBjb3B5Q29lZmZpY2llbnRzIHdpbGwgY29uc2VjdXRpdmVseSBmaWxsIGluIHRoZSB2YWx1ZXMgdGhhdCBiZWxvbmcKICAgICAgICAvLyB0byB0aGUgaW50ZXJsZWF2ZWQgcG9zaXRpb25zIG9mIHRoZSBITCwgTEgsIGFuZCBISCBjb2VmZmljaWVudHMuCiAgICAgICAgLy8gVGhlIExMIGNvZWZmaWNpZW50cyB3aWxsIHRoZW4gYmUgaW50ZXJsZWF2ZWQgaW4gVHJhbnNmb3JtLml0ZXJhdGUoKS4KICAgICAgICBjb3B5Q29lZmZpY2llbnRzKGNvZWZmaWNpZW50cywgd2lkdGgsIGhlaWdodCwgc3ViYmFuZCwgZGVsdGEsIG1iLAogICAgICAgICAgICAgICAgICAgICAgICAgcmV2ZXJzaWJsZSwgc2VnbWVudGF0aW9uU3ltYm9sVXNlZCk7CiAgICAgIH0KICAgICAgc3ViYmFuZENvZWZmaWNpZW50cy5wdXNoKHsKICAgICAgICB3aWR0aDogd2lkdGgsCiAgICAgICAgaGVpZ2h0OiBoZWlnaHQsCiAgICAgICAgaXRlbXM6IGNvZWZmaWNpZW50cwogICAgICB9KTsKICAgIH0KCiAgICB2YXIgcmVzdWx0ID0gdHJhbnNmb3JtLmNhbGN1bGF0ZShzdWJiYW5kQ29lZmZpY2llbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50LnRjeDAsIGNvbXBvbmVudC50Y3kwKTsKICAgIHJldHVybiB7CiAgICAgIGxlZnQ6IGNvbXBvbmVudC50Y3gwLAogICAgICB0b3A6IGNvbXBvbmVudC50Y3kwLAogICAgICB3aWR0aDogcmVzdWx0LndpZHRoLAogICAgICBoZWlnaHQ6IHJlc3VsdC5oZWlnaHQsCiAgICAgIGl0ZW1zOiByZXN1bHQuaXRlbXMKICAgIH07CiAgfQogIGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudHMoY29udGV4dCkgewogICAgdmFyIHNpeiA9IGNvbnRleHQuU0laOwogICAgdmFyIGNvbXBvbmVudHMgPSBjb250ZXh0LmNvbXBvbmVudHM7CiAgICB2YXIgY29tcG9uZW50c0NvdW50ID0gc2l6LkNzaXo7CiAgICB2YXIgcmVzdWx0SW1hZ2VzID0gW107CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBjb250ZXh0LnRpbGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW2ldOwogICAgICB2YXIgdHJhbnNmb3JtZWRUaWxlcyA9IFtdOwogICAgICB2YXIgYzsKICAgICAgZm9yIChjID0gMDsgYyA8IGNvbXBvbmVudHNDb3VudDsgYysrKSB7CiAgICAgICAgdHJhbnNmb3JtZWRUaWxlc1tjXSA9IHRyYW5zZm9ybVRpbGUoY29udGV4dCwgdGlsZSwgYyk7CiAgICAgIH0KICAgICAgdmFyIHRpbGUwID0gdHJhbnNmb3JtZWRUaWxlc1swXTsKICAgICAgdmFyIG91dCA9IG5ldyBVaW50OEFycmF5KHRpbGUwLml0ZW1zLmxlbmd0aCAqIGNvbXBvbmVudHNDb3VudCk7CiAgICAgIHZhciByZXN1bHQgPSB7CiAgICAgICAgbGVmdDogdGlsZTAubGVmdCwKICAgICAgICB0b3A6IHRpbGUwLnRvcCwKICAgICAgICB3aWR0aDogdGlsZTAud2lkdGgsCiAgICAgICAgaGVpZ2h0OiB0aWxlMC5oZWlnaHQsCiAgICAgICAgaXRlbXM6IG91dAogICAgICB9OwoKICAgICAgLy8gU2VjdGlvbiBHLjIuMiBJbnZlcnNlIG11bHRpIGNvbXBvbmVudCB0cmFuc2Zvcm0KICAgICAgdmFyIHNoaWZ0LCBvZmZzZXQsIG1heCwgbWluLCBtYXhLOwogICAgICB2YXIgcG9zID0gMCwgaiwgamosIHkwLCB5MSwgeTIsIHIsIGcsIGIsIGssIHZhbDsKICAgICAgaWYgKHRpbGUuY29kaW5nU3R5bGVEZWZhdWx0UGFyYW1ldGVycy5tdWx0aXBsZUNvbXBvbmVudFRyYW5zZm9ybSkgewogICAgICAgIHZhciBmb3VyQ29tcG9uZW50cyA9IGNvbXBvbmVudHNDb3VudCA9PT0gNDsKICAgICAgICB2YXIgeTBpdGVtcyA9IHRyYW5zZm9ybWVkVGlsZXNbMF0uaXRlbXM7CiAgICAgICAgdmFyIHkxaXRlbXMgPSB0cmFuc2Zvcm1lZFRpbGVzWzFdLml0ZW1zOwogICAgICAgIHZhciB5Mml0ZW1zID0gdHJhbnNmb3JtZWRUaWxlc1syXS5pdGVtczsKICAgICAgICB2YXIgeTNpdGVtcyA9IGZvdXJDb21wb25lbnRzID8gdHJhbnNmb3JtZWRUaWxlc1szXS5pdGVtcyA6IG51bGw7CgogICAgICAgIC8vIEhBQ0s6IFRoZSBtdWx0aXBsZSBjb21wb25lbnQgdHJhbnNmb3JtIGZvcm11bGFzIGJlbG93IGFzc3VtZSB0aGF0CiAgICAgICAgLy8gYWxsIGNvbXBvbmVudHMgaGF2ZSB0aGUgc2FtZSBwcmVjaXNpb24uIFdpdGggdGhpcyBpbiBtaW5kLCB3ZQogICAgICAgIC8vIGNvbXB1dGUgc2hpZnQgYW5kIG9mZnNldCBvbmx5IG9uY2UuCiAgICAgICAgc2hpZnQgPSBjb21wb25lbnRzWzBdLnByZWNpc2lvbiAtIDg7CiAgICAgICAgb2Zmc2V0ID0gKDEyOCA8PCBzaGlmdCkgKyAwLjU7CiAgICAgICAgbWF4ID0gMjU1ICogKDEgPDwgc2hpZnQpOwogICAgICAgIG1heEsgPSBtYXggKiAwLjU7CiAgICAgICAgbWluID0gLW1heEs7CgogICAgICAgIHZhciBjb21wb25lbnQwID0gdGlsZS5jb21wb25lbnRzWzBdOwogICAgICAgIHZhciBhbHBoYTAxID0gY29tcG9uZW50c0NvdW50IC0gMzsKICAgICAgICBqaiA9IHkwaXRlbXMubGVuZ3RoOwogICAgICAgIGlmICghY29tcG9uZW50MC5jb2RpbmdTdHlsZVBhcmFtZXRlcnMucmV2ZXJzaWJsZVRyYW5zZm9ybWF0aW9uKSB7CiAgICAgICAgICAvLyBpbnZlcnNlIGlycmV2ZXJzaWJsZSBtdWx0aXBsZSBjb21wb25lbnQgdHJhbnNmb3JtCiAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgamo7IGorKywgcG9zICs9IGFscGhhMDEpIHsKICAgICAgICAgICAgeTAgPSB5MGl0ZW1zW2pdICsgb2Zmc2V0OwogICAgICAgICAgICB5MSA9IHkxaXRlbXNbal07CiAgICAgICAgICAgIHkyID0geTJpdGVtc1tqXTsKICAgICAgICAgICAgciA9IHkwICsgMS40MDIgKiB5MjsKICAgICAgICAgICAgZyA9IHkwIC0gMC4zNDQxMyAqIHkxIC0gMC43MTQxNCAqIHkyOwogICAgICAgICAgICBiID0geTAgKyAxLjc3MiAqIHkxOwogICAgICAgICAgICBvdXRbcG9zKytdID0gciA8PSAwID8gMCA6IHIgPj0gbWF4ID8gMjU1IDogciA+PiBzaGlmdDsKICAgICAgICAgICAgb3V0W3BvcysrXSA9IGcgPD0gMCA/IDAgOiBnID49IG1heCA/IDI1NSA6IGcgPj4gc2hpZnQ7CiAgICAgICAgICAgIG91dFtwb3MrK10gPSBiIDw9IDAgPyAwIDogYiA+PSBtYXggPyAyNTUgOiBiID4+IHNoaWZ0OwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBpbnZlcnNlIHJldmVyc2libGUgbXVsdGlwbGUgY29tcG9uZW50IHRyYW5zZm9ybQogICAgICAgICAgZm9yIChqID0gMDsgaiA8IGpqOyBqKyssIHBvcyArPSBhbHBoYTAxKSB7CiAgICAgICAgICAgIHkwID0geTBpdGVtc1tqXSArIG9mZnNldDsKICAgICAgICAgICAgeTEgPSB5MWl0ZW1zW2pdOwogICAgICAgICAgICB5MiA9IHkyaXRlbXNbal07CiAgICAgICAgICAgIGcgPSB5MCAtICgoeTIgKyB5MSkgPj4gMik7CiAgICAgICAgICAgIHIgPSBnICsgeTI7CiAgICAgICAgICAgIGIgPSBnICsgeTE7CiAgICAgICAgICAgIG91dFtwb3MrK10gPSByIDw9IDAgPyAwIDogciA+PSBtYXggPyAyNTUgOiByID4+IHNoaWZ0OwogICAgICAgICAgICBvdXRbcG9zKytdID0gZyA8PSAwID8gMCA6IGcgPj0gbWF4ID8gMjU1IDogZyA+PiBzaGlmdDsKICAgICAgICAgICAgb3V0W3BvcysrXSA9IGIgPD0gMCA/IDAgOiBiID49IG1heCA/IDI1NSA6IGIgPj4gc2hpZnQ7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChmb3VyQ29tcG9uZW50cykgewogICAgICAgICAgZm9yIChqID0gMCwgcG9zID0gMzsgaiA8IGpqOyBqKyssIHBvcyArPSA0KSB7CiAgICAgICAgICAgIGsgPSB5M2l0ZW1zW2pdOwogICAgICAgICAgICBvdXRbcG9zXSA9IGsgPD0gbWluID8gMCA6IGsgPj0gbWF4SyA/IDI1NSA6IChrICsgb2Zmc2V0KSA+PiBzaGlmdDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7IC8vIG5vIG11bHRpLWNvbXBvbmVudCB0cmFuc2Zvcm0KICAgICAgICBmb3IgKGMgPSAwOyBjIDwgY29tcG9uZW50c0NvdW50OyBjKyspIHsKICAgICAgICAgIHZhciBpdGVtcyA9IHRyYW5zZm9ybWVkVGlsZXNbY10uaXRlbXM7CiAgICAgICAgICBzaGlmdCA9IGNvbXBvbmVudHNbY10ucHJlY2lzaW9uIC0gODsKICAgICAgICAgIG9mZnNldCA9ICgxMjggPDwgc2hpZnQpICsgMC41OwogICAgICAgICAgbWF4ID0gKDEyNy41ICogKDEgPDwgc2hpZnQpKTsKICAgICAgICAgIG1pbiA9IC1tYXg7CiAgICAgICAgICBmb3IgKHBvcyA9IGMsIGogPSAwLCBqaiA9IGl0ZW1zLmxlbmd0aDsgaiA8IGpqOyBqKyspIHsKICAgICAgICAgICAgdmFsID0gaXRlbXNbal07CiAgICAgICAgICAgIG91dFtwb3NdID0gdmFsIDw9IG1pbiA/IDAgOgogICAgICAgICAgICAgICAgICAgICAgIHZhbCA+PSBtYXggPyAyNTUgOiAodmFsICsgb2Zmc2V0KSA+PiBzaGlmdDsKICAgICAgICAgICAgcG9zICs9IGNvbXBvbmVudHNDb3VudDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgcmVzdWx0SW1hZ2VzLnB1c2gocmVzdWx0KTsKICAgIH0KICAgIHJldHVybiByZXN1bHRJbWFnZXM7CiAgfQogIGZ1bmN0aW9uIGluaXRpYWxpemVUaWxlKGNvbnRleHQsIHRpbGVJbmRleCkgewogICAgdmFyIHNpeiA9IGNvbnRleHQuU0laOwogICAgdmFyIGNvbXBvbmVudHNDb3VudCA9IHNpei5Dc2l6OwogICAgdmFyIHRpbGUgPSBjb250ZXh0LnRpbGVzW3RpbGVJbmRleF07CiAgICBmb3IgKHZhciBjID0gMDsgYyA8IGNvbXBvbmVudHNDb3VudDsgYysrKSB7CiAgICAgIHZhciBjb21wb25lbnQgPSB0aWxlLmNvbXBvbmVudHNbY107CiAgICAgIHZhciBxY2RPclFjYyA9IChjb250ZXh0LmN1cnJlbnRUaWxlLlFDQ1tjXSAhPT0gdW5kZWZpbmVkID8KICAgICAgICBjb250ZXh0LmN1cnJlbnRUaWxlLlFDQ1tjXSA6IGNvbnRleHQuY3VycmVudFRpbGUuUUNEKTsKICAgICAgY29tcG9uZW50LnF1YW50aXphdGlvblBhcmFtZXRlcnMgPSBxY2RPclFjYzsKICAgICAgdmFyIGNvZE9yQ29jID0gKGNvbnRleHQuY3VycmVudFRpbGUuQ09DW2NdICE9PSB1bmRlZmluZWQgID8KICAgICAgICBjb250ZXh0LmN1cnJlbnRUaWxlLkNPQ1tjXSA6IGNvbnRleHQuY3VycmVudFRpbGUuQ09EKTsKICAgICAgY29tcG9uZW50LmNvZGluZ1N0eWxlUGFyYW1ldGVycyA9IGNvZE9yQ29jOwogICAgfQogICAgdGlsZS5jb2RpbmdTdHlsZURlZmF1bHRQYXJhbWV0ZXJzID0gY29udGV4dC5jdXJyZW50VGlsZS5DT0Q7CiAgfQoKICAvLyBTZWN0aW9uIEIuMTAuMiBUYWcgdHJlZXMKICB2YXIgVGFnVHJlZSA9IChmdW5jdGlvbiBUYWdUcmVlQ2xvc3VyZSgpIHsKICAgIGZ1bmN0aW9uIFRhZ1RyZWUod2lkdGgsIGhlaWdodCkgewogICAgICB2YXIgbGV2ZWxzTGVuZ3RoID0gbG9nMihNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KSkgKyAxOwogICAgICB0aGlzLmxldmVscyA9IFtdOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxldmVsc0xlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGxldmVsID0gewogICAgICAgICAgd2lkdGg6IHdpZHRoLAogICAgICAgICAgaGVpZ2h0OiBoZWlnaHQsCiAgICAgICAgICBpdGVtczogW10KICAgICAgICB9OwogICAgICAgIHRoaXMubGV2ZWxzLnB1c2gobGV2ZWwpOwogICAgICAgIHdpZHRoID0gTWF0aC5jZWlsKHdpZHRoIC8gMik7CiAgICAgICAgaGVpZ2h0ID0gTWF0aC5jZWlsKGhlaWdodCAvIDIpOwogICAgICB9CiAgICB9CiAgICBUYWdUcmVlLnByb3RvdHlwZSA9IHsKICAgICAgcmVzZXQ6IGZ1bmN0aW9uIFRhZ1RyZWVfcmVzZXQoaSwgaikgewogICAgICAgIHZhciBjdXJyZW50TGV2ZWwgPSAwLCB2YWx1ZSA9IDAsIGxldmVsOwogICAgICAgIHdoaWxlIChjdXJyZW50TGV2ZWwgPCB0aGlzLmxldmVscy5sZW5ndGgpIHsKICAgICAgICAgIGxldmVsID0gdGhpcy5sZXZlbHNbY3VycmVudExldmVsXTsKICAgICAgICAgIHZhciBpbmRleCA9IGkgKyBqICogbGV2ZWwud2lkdGg7CiAgICAgICAgICBpZiAobGV2ZWwuaXRlbXNbaW5kZXhdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgdmFsdWUgPSBsZXZlbC5pdGVtc1tpbmRleF07CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgbGV2ZWwuaW5kZXggPSBpbmRleDsKICAgICAgICAgIGkgPj49IDE7CiAgICAgICAgICBqID4+PSAxOwogICAgICAgICAgY3VycmVudExldmVsKys7CiAgICAgICAgfQogICAgICAgIGN1cnJlbnRMZXZlbC0tOwogICAgICAgIGxldmVsID0gdGhpcy5sZXZlbHNbY3VycmVudExldmVsXTsKICAgICAgICBsZXZlbC5pdGVtc1tsZXZlbC5pbmRleF0gPSB2YWx1ZTsKICAgICAgICB0aGlzLmN1cnJlbnRMZXZlbCA9IGN1cnJlbnRMZXZlbDsKICAgICAgICBkZWxldGUgdGhpcy52YWx1ZTsKICAgICAgfSwKICAgICAgaW5jcmVtZW50VmFsdWU6IGZ1bmN0aW9uIFRhZ1RyZWVfaW5jcmVtZW50VmFsdWUoKSB7CiAgICAgICAgdmFyIGxldmVsID0gdGhpcy5sZXZlbHNbdGhpcy5jdXJyZW50TGV2ZWxdOwogICAgICAgIGxldmVsLml0ZW1zW2xldmVsLmluZGV4XSsrOwogICAgICB9LAogICAgICBuZXh0TGV2ZWw6IGZ1bmN0aW9uIFRhZ1RyZWVfbmV4dExldmVsKCkgewogICAgICAgIHZhciBjdXJyZW50TGV2ZWwgPSB0aGlzLmN1cnJlbnRMZXZlbDsKICAgICAgICB2YXIgbGV2ZWwgPSB0aGlzLmxldmVsc1tjdXJyZW50TGV2ZWxdOwogICAgICAgIHZhciB2YWx1ZSA9IGxldmVsLml0ZW1zW2xldmVsLmluZGV4XTsKICAgICAgICBjdXJyZW50TGV2ZWwtLTsKICAgICAgICBpZiAoY3VycmVudExldmVsIDwgMCkgewogICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jdXJyZW50TGV2ZWwgPSBjdXJyZW50TGV2ZWw7CiAgICAgICAgbGV2ZWwgPSB0aGlzLmxldmVsc1tjdXJyZW50TGV2ZWxdOwogICAgICAgIGxldmVsLml0ZW1zW2xldmVsLmluZGV4XSA9IHZhbHVlOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICB9OwogICAgcmV0dXJuIFRhZ1RyZWU7CiAgfSkoKTsKCiAgdmFyIEluY2x1c2lvblRyZWUgPSAoZnVuY3Rpb24gSW5jbHVzaW9uVHJlZUNsb3N1cmUoKSB7CiAgICBmdW5jdGlvbiBJbmNsdXNpb25UcmVlKHdpZHRoLCBoZWlnaHQsICBkZWZhdWx0VmFsdWUpIHsKICAgICAgdmFyIGxldmVsc0xlbmd0aCA9IGxvZzIoTWF0aC5tYXgod2lkdGgsIGhlaWdodCkpICsgMTsKICAgICAgdGhpcy5sZXZlbHMgPSBbXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZXZlbHNMZW5ndGg7IGkrKykgewogICAgICAgIHZhciBpdGVtcyA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0KTsKICAgICAgICBmb3IgKHZhciBqID0gMCwgamogPSBpdGVtcy5sZW5ndGg7IGogPCBqajsgaisrKSB7CiAgICAgICAgICBpdGVtc1tqXSA9IGRlZmF1bHRWYWx1ZTsKICAgICAgICB9CgogICAgICAgIHZhciBsZXZlbCA9IHsKICAgICAgICAgIHdpZHRoOiB3aWR0aCwKICAgICAgICAgIGhlaWdodDogaGVpZ2h0LAogICAgICAgICAgaXRlbXM6IGl0ZW1zCiAgICAgICAgfTsKICAgICAgICB0aGlzLmxldmVscy5wdXNoKGxldmVsKTsKCiAgICAgICAgd2lkdGggPSBNYXRoLmNlaWwod2lkdGggLyAyKTsKICAgICAgICBoZWlnaHQgPSBNYXRoLmNlaWwoaGVpZ2h0IC8gMik7CiAgICAgIH0KICAgIH0KICAgIEluY2x1c2lvblRyZWUucHJvdG90eXBlID0gewogICAgICByZXNldDogZnVuY3Rpb24gSW5jbHVzaW9uVHJlZV9yZXNldChpLCBqLCBzdG9wVmFsdWUpIHsKICAgICAgICB2YXIgY3VycmVudExldmVsID0gMDsKICAgICAgICB3aGlsZSAoY3VycmVudExldmVsIDwgdGhpcy5sZXZlbHMubGVuZ3RoKSB7CiAgICAgICAgICB2YXIgbGV2ZWwgPSB0aGlzLmxldmVsc1tjdXJyZW50TGV2ZWxdOwogICAgICAgICAgdmFyIGluZGV4ID0gaSArIGogKiBsZXZlbC53aWR0aDsKICAgICAgICAgIGxldmVsLmluZGV4ID0gaW5kZXg7CiAgICAgICAgICB2YXIgdmFsdWUgPSBsZXZlbC5pdGVtc1tpbmRleF07CgogICAgICAgICAgaWYgKHZhbHVlID09PSAweEZGKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQoKICAgICAgICAgIGlmICh2YWx1ZSA+IHN0b3BWYWx1ZSkgewogICAgICAgICAgICB0aGlzLmN1cnJlbnRMZXZlbCA9IGN1cnJlbnRMZXZlbDsKICAgICAgICAgICAgLy8gYWxyZWFkeSBrbm93IGFib3V0IHRoaXMgb25lLCBwcm9wYWdhdGluZyB0aGUgdmFsdWUgdG8gdG9wIGxldmVscwogICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZVZhbHVlcygpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CgogICAgICAgICAgaSA+Pj0gMTsKICAgICAgICAgIGogPj49IDE7CiAgICAgICAgICBjdXJyZW50TGV2ZWwrKzsKICAgICAgICB9CiAgICAgICAgdGhpcy5jdXJyZW50TGV2ZWwgPSBjdXJyZW50TGV2ZWwgLSAxOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9LAogICAgICBpbmNyZW1lbnRWYWx1ZTogZnVuY3Rpb24gSW5jbHVzaW9uVHJlZV9pbmNyZW1lbnRWYWx1ZShzdG9wVmFsdWUpIHsKICAgICAgICB2YXIgbGV2ZWwgPSB0aGlzLmxldmVsc1t0aGlzLmN1cnJlbnRMZXZlbF07CiAgICAgICAgbGV2ZWwuaXRlbXNbbGV2ZWwuaW5kZXhdID0gc3RvcFZhbHVlICsgMTsKICAgICAgICB0aGlzLnByb3BhZ2F0ZVZhbHVlcygpOwogICAgICB9LAogICAgICBwcm9wYWdhdGVWYWx1ZXM6IGZ1bmN0aW9uIEluY2x1c2lvblRyZWVfcHJvcGFnYXRlVmFsdWVzKCkgewogICAgICAgIHZhciBsZXZlbEluZGV4ID0gdGhpcy5jdXJyZW50TGV2ZWw7CiAgICAgICAgdmFyIGxldmVsID0gdGhpcy5sZXZlbHNbbGV2ZWxJbmRleF07CiAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IGxldmVsLml0ZW1zW2xldmVsLmluZGV4XTsKICAgICAgICB3aGlsZSAoLS1sZXZlbEluZGV4ID49IDApIHsKICAgICAgICAgIGxldmVsID0gdGhpcy5sZXZlbHNbbGV2ZWxJbmRleF07CiAgICAgICAgICBsZXZlbC5pdGVtc1tsZXZlbC5pbmRleF0gPSBjdXJyZW50VmFsdWU7CiAgICAgICAgfQogICAgICB9LAogICAgICBuZXh0TGV2ZWw6IGZ1bmN0aW9uIEluY2x1c2lvblRyZWVfbmV4dExldmVsKCkgewogICAgICAgIHZhciBjdXJyZW50TGV2ZWwgPSB0aGlzLmN1cnJlbnRMZXZlbDsKICAgICAgICB2YXIgbGV2ZWwgPSB0aGlzLmxldmVsc1tjdXJyZW50TGV2ZWxdOwogICAgICAgIHZhciB2YWx1ZSA9IGxldmVsLml0ZW1zW2xldmVsLmluZGV4XTsKICAgICAgICBsZXZlbC5pdGVtc1tsZXZlbC5pbmRleF0gPSAweEZGOwogICAgICAgIGN1cnJlbnRMZXZlbC0tOwogICAgICAgIGlmIChjdXJyZW50TGV2ZWwgPCAwKSB7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB0aGlzLmN1cnJlbnRMZXZlbCA9IGN1cnJlbnRMZXZlbDsKICAgICAgICBsZXZlbCA9IHRoaXMubGV2ZWxzW2N1cnJlbnRMZXZlbF07CiAgICAgICAgbGV2ZWwuaXRlbXNbbGV2ZWwuaW5kZXhdID0gdmFsdWU7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH07CiAgICByZXR1cm4gSW5jbHVzaW9uVHJlZTsKICB9KSgpOwoKICAvLyBTZWN0aW9uIEQuIENvZWZmaWNpZW50IGJpdCBtb2RlbGluZwogIHZhciBCaXRNb2RlbCA9IChmdW5jdGlvbiBCaXRNb2RlbENsb3N1cmUoKSB7CiAgICB2YXIgVU5JRk9STV9DT05URVhUID0gMTc7CiAgICB2YXIgUlVOTEVOR1RIX0NPTlRFWFQgPSAxODsKICAgIC8vIFRhYmxlIEQtMQogICAgLy8gVGhlIGluZGV4IGlzIGJpbmFyeSBwcmVzZW50YXRpb246IDBkZGR2dmhoLCBkZGQgLSBzdW0gb2YgRGkgKDAuLjQpLAogICAgLy8gdnYgLSBzdW0gb2YgVmkgKDAuLjIpLCBhbmQgaGggLSBzdW0gb2YgSGkgKDAuLjIpCiAgICB2YXIgTExBbmRMSENvbnRleHRzTGFiZWwgPSBuZXcgVWludDhBcnJheShbCiAgICAgIDAsIDUsIDgsIDAsIDMsIDcsIDgsIDAsIDQsIDcsIDgsIDAsIDAsIDAsIDAsIDAsIDEsIDYsIDgsIDAsIDMsIDcsIDgsIDAsIDQsCiAgICAgIDcsIDgsIDAsIDAsIDAsIDAsIDAsIDIsIDYsIDgsIDAsIDMsIDcsIDgsIDAsIDQsIDcsIDgsIDAsIDAsIDAsIDAsIDAsIDIsIDYsCiAgICAgIDgsIDAsIDMsIDcsIDgsIDAsIDQsIDcsIDgsIDAsIDAsIDAsIDAsIDAsIDIsIDYsIDgsIDAsIDMsIDcsIDgsIDAsIDQsIDcsIDgKICAgIF0pOwogICAgdmFyIEhMQ29udGV4dExhYmVsID0gbmV3IFVpbnQ4QXJyYXkoWwogICAgICAwLCAzLCA0LCAwLCA1LCA3LCA3LCAwLCA4LCA4LCA4LCAwLCAwLCAwLCAwLCAwLCAxLCAzLCA0LCAwLCA2LCA3LCA3LCAwLCA4LAogICAgICA4LCA4LCAwLCAwLCAwLCAwLCAwLCAyLCAzLCA0LCAwLCA2LCA3LCA3LCAwLCA4LCA4LCA4LCAwLCAwLCAwLCAwLCAwLCAyLCAzLAogICAgICA0LCAwLCA2LCA3LCA3LCAwLCA4LCA4LCA4LCAwLCAwLCAwLCAwLCAwLCAyLCAzLCA0LCAwLCA2LCA3LCA3LCAwLCA4LCA4LCA4CiAgICBdKTsKICAgIHZhciBISENvbnRleHRMYWJlbCA9IG5ldyBVaW50OEFycmF5KFsKICAgICAgMCwgMSwgMiwgMCwgMSwgMiwgMiwgMCwgMiwgMiwgMiwgMCwgMCwgMCwgMCwgMCwgMywgNCwgNSwgMCwgNCwgNSwgNSwgMCwgNSwKICAgICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgNiwgNywgNywgMCwgNywgNywgNywgMCwgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgOCwgOCwKICAgICAgOCwgMCwgOCwgOCwgOCwgMCwgOCwgOCwgOCwgMCwgMCwgMCwgMCwgMCwgOCwgOCwgOCwgMCwgOCwgOCwgOCwgMCwgOCwgOCwgOAogICAgXSk7CgogICAgZnVuY3Rpb24gQml0TW9kZWwod2lkdGgsIGhlaWdodCwgc3ViYmFuZCwgemVyb0JpdFBsYW5lcywgbWIpIHsKICAgICAgdGhpcy53aWR0aCA9IHdpZHRoOwogICAgICB0aGlzLmhlaWdodCA9IGhlaWdodDsKCiAgICAgIHRoaXMuY29udGV4dExhYmVsVGFibGUgPSAoc3ViYmFuZCA9PT0gJ0hIJyA/IEhIQ29udGV4dExhYmVsIDoKICAgICAgICAoc3ViYmFuZCA9PT0gJ0hMJyA/IEhMQ29udGV4dExhYmVsIDogTExBbmRMSENvbnRleHRzTGFiZWwpKTsKCiAgICAgIHZhciBjb2VmZmljaWVudENvdW50ID0gd2lkdGggKiBoZWlnaHQ7CgogICAgICAvLyBjb2VmZmljaWVudHMgb3V0c2lkZSB0aGUgZW5jb2RpbmcgcmVnaW9uIHRyZWF0ZWQgYXMgaW5zaWduaWZpY2FudAogICAgICAvLyBhZGQgYm9yZGVyIHN0YXRlIGNlbGxzIGZvciBzaWduaWZpY2FuY2VTdGF0ZQogICAgICB0aGlzLm5laWdoYm9yc1NpZ25pZmljYW5jZSA9IG5ldyBVaW50OEFycmF5KGNvZWZmaWNpZW50Q291bnQpOwogICAgICB0aGlzLmNvZWZmaWNlbnRzU2lnbiA9IG5ldyBVaW50OEFycmF5KGNvZWZmaWNpZW50Q291bnQpOwogICAgICB0aGlzLmNvZWZmaWNlbnRzTWFnbml0dWRlID0gbWIgPiAxNCA/IG5ldyBVaW50MzJBcnJheShjb2VmZmljaWVudENvdW50KSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYiA+IDYgPyBuZXcgVWludDE2QXJyYXkoY29lZmZpY2llbnRDb3VudCkgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoY29lZmZpY2llbnRDb3VudCk7CiAgICAgIHRoaXMucHJvY2Vzc2luZ0ZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoY29lZmZpY2llbnRDb3VudCk7CgogICAgICB2YXIgYml0c0RlY29kZWQgPSBuZXcgVWludDhBcnJheShjb2VmZmljaWVudENvdW50KTsKICAgICAgaWYgKHplcm9CaXRQbGFuZXMgIT09IDApIHsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvZWZmaWNpZW50Q291bnQ7IGkrKykgewogICAgICAgICAgYml0c0RlY29kZWRbaV0gPSB6ZXJvQml0UGxhbmVzOwogICAgICAgIH0KICAgICAgfQogICAgICB0aGlzLmJpdHNEZWNvZGVkID0gYml0c0RlY29kZWQ7CgogICAgICB0aGlzLnJlc2V0KCk7CiAgICB9CgogICAgQml0TW9kZWwucHJvdG90eXBlID0gewogICAgICBzZXREZWNvZGVyOiBmdW5jdGlvbiBCaXRNb2RlbF9zZXREZWNvZGVyKGRlY29kZXIpIHsKICAgICAgICB0aGlzLmRlY29kZXIgPSBkZWNvZGVyOwogICAgICB9LAogICAgICByZXNldDogZnVuY3Rpb24gQml0TW9kZWxfcmVzZXQoKSB7CiAgICAgICAgLy8gV2UgaGF2ZSAxNyBjb250ZXh0cyB0aGF0IGFyZSBhY2Nlc3NlZCB2aWEgY29udGV4dCBsYWJlbHMsCiAgICAgICAgLy8gcGx1cyB0aGUgdW5pZm9ybSBhbmQgcnVubGVuZ3RoIGNvbnRleHQuCiAgICAgICAgdGhpcy5jb250ZXh0cyA9IG5ldyBJbnQ4QXJyYXkoMTkpOwoKICAgICAgICAvLyBDb250ZXh0cyBhcmUgcGFja2VkIGludG8gMSBieXRlOgogICAgICAgIC8vIGhpZ2hlc3QgNyBiaXRzIGNhcnJ5IHRoZSBpbmRleCwgbG93ZXN0IGJpdCBjYXJyaWVzIG1wcwogICAgICAgIHRoaXMuY29udGV4dHNbMF0gPSAoNCA8PCAxKSB8IDA7CiAgICAgICAgdGhpcy5jb250ZXh0c1tVTklGT1JNX0NPTlRFWFRdID0gKDQ2IDw8IDEpIHwgMDsKICAgICAgICB0aGlzLmNvbnRleHRzW1JVTkxFTkdUSF9DT05URVhUXSA9ICgzIDw8IDEpIHwgMDsKICAgICAgfSwKICAgICAgc2V0TmVpZ2hib3JzU2lnbmlmaWNhbmNlOgogICAgICAgIGZ1bmN0aW9uIEJpdE1vZGVsX3NldE5laWdoYm9yc1NpZ25pZmljYW5jZShyb3csIGNvbHVtbiwgaW5kZXgpIHsKICAgICAgICB2YXIgbmVpZ2hib3JzU2lnbmlmaWNhbmNlID0gdGhpcy5uZWlnaGJvcnNTaWduaWZpY2FuY2U7CiAgICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aCwgaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7CiAgICAgICAgdmFyIGxlZnQgPSAoY29sdW1uID4gMCk7CiAgICAgICAgdmFyIHJpZ2h0ID0gKGNvbHVtbiArIDEgPCB3aWR0aCk7CiAgICAgICAgdmFyIGk7CgogICAgICAgIGlmIChyb3cgPiAwKSB7CiAgICAgICAgICBpID0gaW5kZXggLSB3aWR0aDsKICAgICAgICAgIGlmIChsZWZ0KSB7CiAgICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpIC0gMV0gKz0gMHgxMDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChyaWdodCkgewogICAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaSArIDFdICs9IDB4MTA7CiAgICAgICAgICB9CiAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaV0gKz0gMHgwNDsKICAgICAgICB9CgogICAgICAgIGlmIChyb3cgKyAxIDwgaGVpZ2h0KSB7CiAgICAgICAgICBpID0gaW5kZXggKyB3aWR0aDsKICAgICAgICAgIGlmIChsZWZ0KSB7CiAgICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpIC0gMV0gKz0gMHgxMDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChyaWdodCkgewogICAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaSArIDFdICs9IDB4MTA7CiAgICAgICAgICB9CiAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaV0gKz0gMHgwNDsKICAgICAgICB9CgogICAgICAgIGlmIChsZWZ0KSB7CiAgICAgICAgICBuZWlnaGJvcnNTaWduaWZpY2FuY2VbaW5kZXggLSAxXSArPSAweDAxOwogICAgICAgIH0KICAgICAgICBpZiAocmlnaHQpIHsKICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleCArIDFdICs9IDB4MDE7CiAgICAgICAgfQogICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleF0gfD0gMHg4MDsKICAgICAgfSwKICAgICAgcnVuU2lnbmlmaWNhbmNlUHJvcG9nYXRpb25QYXNzOgogICAgICAgIGZ1bmN0aW9uIEJpdE1vZGVsX3J1blNpZ25pZmljYW5jZVByb3BvZ2F0aW9uUGFzcygpIHsKICAgICAgICB2YXIgZGVjb2RlciA9IHRoaXMuZGVjb2RlcjsKICAgICAgICB2YXIgd2lkdGggPSB0aGlzLndpZHRoLCBoZWlnaHQgPSB0aGlzLmhlaWdodDsKICAgICAgICB2YXIgY29lZmZpY2VudHNNYWduaXR1ZGUgPSB0aGlzLmNvZWZmaWNlbnRzTWFnbml0dWRlOwogICAgICAgIHZhciBjb2VmZmljZW50c1NpZ24gPSB0aGlzLmNvZWZmaWNlbnRzU2lnbjsKICAgICAgICB2YXIgbmVpZ2hib3JzU2lnbmlmaWNhbmNlID0gdGhpcy5uZWlnaGJvcnNTaWduaWZpY2FuY2U7CiAgICAgICAgdmFyIHByb2Nlc3NpbmdGbGFncyA9IHRoaXMucHJvY2Vzc2luZ0ZsYWdzOwogICAgICAgIHZhciBjb250ZXh0cyA9IHRoaXMuY29udGV4dHM7CiAgICAgICAgdmFyIGxhYmVscyA9IHRoaXMuY29udGV4dExhYmVsVGFibGU7CiAgICAgICAgdmFyIGJpdHNEZWNvZGVkID0gdGhpcy5iaXRzRGVjb2RlZDsKICAgICAgICB2YXIgcHJvY2Vzc2VkSW52ZXJzZU1hc2sgPSB+MTsKICAgICAgICB2YXIgcHJvY2Vzc2VkTWFzayA9IDE7CiAgICAgICAgdmFyIGZpcnN0TWFnbml0dWRlQml0TWFzayA9IDI7CgogICAgICAgIGZvciAodmFyIGkwID0gMDsgaTAgPCBoZWlnaHQ7IGkwICs9IDQpIHsKICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgd2lkdGg7IGorKykgewogICAgICAgICAgICB2YXIgaW5kZXggPSBpMCAqIHdpZHRoICsgajsKICAgICAgICAgICAgZm9yICh2YXIgaTEgPSAwOyBpMSA8IDQ7IGkxKyssIGluZGV4ICs9IHdpZHRoKSB7CiAgICAgICAgICAgICAgdmFyIGkgPSBpMCArIGkxOwogICAgICAgICAgICAgIGlmIChpID49IGhlaWdodCkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vIGNsZWFyIHByb2Nlc3NlZCBmbGFnIGZpcnN0CiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSAmPSBwcm9jZXNzZWRJbnZlcnNlTWFzazsKCiAgICAgICAgICAgICAgaWYgKGNvZWZmaWNlbnRzTWFnbml0dWRlW2luZGV4XSB8fAogICAgICAgICAgICAgICAgICAhbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4XSkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgY29udGV4dExhYmVsID0gbGFiZWxzW25laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleF1dOwogICAgICAgICAgICAgIHZhciBkZWNpc2lvbiA9IGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgY29udGV4dExhYmVsKTsKICAgICAgICAgICAgICBpZiAoZGVjaXNpb24pIHsKICAgICAgICAgICAgICAgIHZhciBzaWduID0gdGhpcy5kZWNvZGVTaWduQml0KGksIGosIGluZGV4KTsKICAgICAgICAgICAgICAgIGNvZWZmaWNlbnRzU2lnbltpbmRleF0gPSBzaWduOwogICAgICAgICAgICAgICAgY29lZmZpY2VudHNNYWduaXR1ZGVbaW5kZXhdID0gMTsKICAgICAgICAgICAgICAgIHRoaXMuc2V0TmVpZ2hib3JzU2lnbmlmaWNhbmNlKGksIGosIGluZGV4KTsKICAgICAgICAgICAgICAgIHByb2Nlc3NpbmdGbGFnc1tpbmRleF0gfD0gZmlyc3RNYWduaXR1ZGVCaXRNYXNrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleF0rKzsKICAgICAgICAgICAgICBwcm9jZXNzaW5nRmxhZ3NbaW5kZXhdIHw9IHByb2Nlc3NlZE1hc2s7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlY29kZVNpZ25CaXQ6IGZ1bmN0aW9uIEJpdE1vZGVsX2RlY29kZVNpZ25CaXQocm93LCBjb2x1bW4sIGluZGV4KSB7CiAgICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aCwgaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7CiAgICAgICAgdmFyIGNvZWZmaWNlbnRzTWFnbml0dWRlID0gdGhpcy5jb2VmZmljZW50c01hZ25pdHVkZTsKICAgICAgICB2YXIgY29lZmZpY2VudHNTaWduID0gdGhpcy5jb2VmZmljZW50c1NpZ247CiAgICAgICAgdmFyIGNvbnRyaWJ1dGlvbiwgc2lnbjAsIHNpZ24xLCBzaWduaWZpY2FuY2UxOwogICAgICAgIHZhciBjb250ZXh0TGFiZWwsIGRlY29kZWQ7CgogICAgICAgIC8vIGNhbGN1bGF0ZSBob3Jpem9udGFsIGNvbnRyaWJ1dGlvbgogICAgICAgIHNpZ25pZmljYW5jZTEgPSAoY29sdW1uID4gMCAmJiBjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleCAtIDFdICE9PSAwKTsKICAgICAgICBpZiAoY29sdW1uICsgMSA8IHdpZHRoICYmIGNvZWZmaWNlbnRzTWFnbml0dWRlW2luZGV4ICsgMV0gIT09IDApIHsKICAgICAgICAgIHNpZ24xID0gY29lZmZpY2VudHNTaWduW2luZGV4ICsgMV07CiAgICAgICAgICBpZiAoc2lnbmlmaWNhbmNlMSkgewogICAgICAgICAgICBzaWduMCA9IGNvZWZmaWNlbnRzU2lnbltpbmRleCAtIDFdOwogICAgICAgICAgICBjb250cmlidXRpb24gPSAxIC0gc2lnbjEgLSBzaWduMDsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnRyaWJ1dGlvbiA9IDEgLSBzaWduMSAtIHNpZ24xOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoc2lnbmlmaWNhbmNlMSkgewogICAgICAgICAgc2lnbjAgPSBjb2VmZmljZW50c1NpZ25baW5kZXggLSAxXTsKICAgICAgICAgIGNvbnRyaWJ1dGlvbiA9IDEgLSBzaWduMCAtIHNpZ24wOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjb250cmlidXRpb24gPSAwOwogICAgICAgIH0KICAgICAgICB2YXIgaG9yaXpvbnRhbENvbnRyaWJ1dGlvbiA9IDMgKiBjb250cmlidXRpb247CgogICAgICAgIC8vIGNhbGN1bGF0ZSB2ZXJ0aWNhbCBjb250cmlidXRpb24gYW5kIGNvbWJpbmUgd2l0aCB0aGUgaG9yaXpvbnRhbAogICAgICAgIHNpZ25pZmljYW5jZTEgPSAocm93ID4gMCAmJiBjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleCAtIHdpZHRoXSAhPT0gMCk7CiAgICAgICAgaWYgKHJvdyArIDEgPCBoZWlnaHQgJiYgY29lZmZpY2VudHNNYWduaXR1ZGVbaW5kZXggKyB3aWR0aF0gIT09IDApIHsKICAgICAgICAgIHNpZ24xID0gY29lZmZpY2VudHNTaWduW2luZGV4ICsgd2lkdGhdOwogICAgICAgICAgaWYgKHNpZ25pZmljYW5jZTEpIHsKICAgICAgICAgICAgc2lnbjAgPSBjb2VmZmljZW50c1NpZ25baW5kZXggLSB3aWR0aF07CiAgICAgICAgICAgIGNvbnRyaWJ1dGlvbiA9IDEgLSBzaWduMSAtIHNpZ24wICsgaG9yaXpvbnRhbENvbnRyaWJ1dGlvbjsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvbnRyaWJ1dGlvbiA9IDEgLSBzaWduMSAtIHNpZ24xICsgaG9yaXpvbnRhbENvbnRyaWJ1dGlvbjsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKHNpZ25pZmljYW5jZTEpIHsKICAgICAgICAgIHNpZ24wID0gY29lZmZpY2VudHNTaWduW2luZGV4IC0gd2lkdGhdOwogICAgICAgICAgY29udHJpYnV0aW9uID0gMSAtIHNpZ24wIC0gc2lnbjAgKyBob3Jpem9udGFsQ29udHJpYnV0aW9uOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjb250cmlidXRpb24gPSBob3Jpem9udGFsQ29udHJpYnV0aW9uOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvbnRyaWJ1dGlvbiA+PSAwKSB7CiAgICAgICAgICBjb250ZXh0TGFiZWwgPSA5ICsgY29udHJpYnV0aW9uOwogICAgICAgICAgZGVjb2RlZCA9IHRoaXMuZGVjb2Rlci5yZWFkQml0KHRoaXMuY29udGV4dHMsIGNvbnRleHRMYWJlbCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGNvbnRleHRMYWJlbCA9IDkgLSBjb250cmlidXRpb247CiAgICAgICAgICBkZWNvZGVkID0gdGhpcy5kZWNvZGVyLnJlYWRCaXQodGhpcy5jb250ZXh0cywgY29udGV4dExhYmVsKSBeIDE7CiAgICAgICAgfQogICAgICAgIHJldHVybiBkZWNvZGVkOwogICAgICB9LAogICAgICBydW5NYWduaXR1ZGVSZWZpbmVtZW50UGFzczoKICAgICAgICBmdW5jdGlvbiBCaXRNb2RlbF9ydW5NYWduaXR1ZGVSZWZpbmVtZW50UGFzcygpIHsKICAgICAgICB2YXIgZGVjb2RlciA9IHRoaXMuZGVjb2RlcjsKICAgICAgICB2YXIgd2lkdGggPSB0aGlzLndpZHRoLCBoZWlnaHQgPSB0aGlzLmhlaWdodDsKICAgICAgICB2YXIgY29lZmZpY2VudHNNYWduaXR1ZGUgPSB0aGlzLmNvZWZmaWNlbnRzTWFnbml0dWRlOwogICAgICAgIHZhciBuZWlnaGJvcnNTaWduaWZpY2FuY2UgPSB0aGlzLm5laWdoYm9yc1NpZ25pZmljYW5jZTsKICAgICAgICB2YXIgY29udGV4dHMgPSB0aGlzLmNvbnRleHRzOwogICAgICAgIHZhciBiaXRzRGVjb2RlZCA9IHRoaXMuYml0c0RlY29kZWQ7CiAgICAgICAgdmFyIHByb2Nlc3NpbmdGbGFncyA9IHRoaXMucHJvY2Vzc2luZ0ZsYWdzOwogICAgICAgIHZhciBwcm9jZXNzZWRNYXNrID0gMTsKICAgICAgICB2YXIgZmlyc3RNYWduaXR1ZGVCaXRNYXNrID0gMjsKICAgICAgICB2YXIgbGVuZ3RoID0gd2lkdGggKiBoZWlnaHQ7CiAgICAgICAgdmFyIHdpZHRoNCA9IHdpZHRoICogNDsKCiAgICAgICAgZm9yICh2YXIgaW5kZXgwID0gMCwgaW5kZXhOZXh0OyBpbmRleDAgPCBsZW5ndGg7IGluZGV4MCA9IGluZGV4TmV4dCkgewogICAgICAgICAgaW5kZXhOZXh0ID0gTWF0aC5taW4obGVuZ3RoLCBpbmRleDAgKyB3aWR0aDQpOwogICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB3aWR0aDsgaisrKSB7CiAgICAgICAgICAgIGZvciAodmFyIGluZGV4ID0gaW5kZXgwICsgajsgaW5kZXggPCBpbmRleE5leHQ7IGluZGV4ICs9IHdpZHRoKSB7CgogICAgICAgICAgICAgIC8vIHNpZ25pZmljYW50IGJ1dCBub3QgdGhvc2UgdGhhdCBoYXZlIGp1c3QgYmVjb21lCiAgICAgICAgICAgICAgaWYgKCFjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleF0gfHwKICAgICAgICAgICAgICAgIChwcm9jZXNzaW5nRmxhZ3NbaW5kZXhdICYgcHJvY2Vzc2VkTWFzaykgIT09IDApIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdmFyIGNvbnRleHRMYWJlbCA9IDE2OwogICAgICAgICAgICAgIGlmICgocHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSAmIGZpcnN0TWFnbml0dWRlQml0TWFzaykgIT09IDApIHsKICAgICAgICAgICAgICAgIHByb2Nlc3NpbmdGbGFnc1tpbmRleF0gXj0gZmlyc3RNYWduaXR1ZGVCaXRNYXNrOwogICAgICAgICAgICAgICAgLy8gZmlyc3QgcmVmaW5lbWVudAogICAgICAgICAgICAgICB2YXIgc2lnbmlmaWNhbmNlID0gbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4XSAmIDEyNzsKICAgICAgICAgICAgICAgY29udGV4dExhYmVsID0gc2lnbmlmaWNhbmNlID09PSAwID8gMTUgOiAxNDsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIHZhciBiaXQgPSBkZWNvZGVyLnJlYWRCaXQoY29udGV4dHMsIGNvbnRleHRMYWJlbCk7CiAgICAgICAgICAgICAgY29lZmZpY2VudHNNYWduaXR1ZGVbaW5kZXhdID0KICAgICAgICAgICAgICAgIChjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleF0gPDwgMSkgfCBiaXQ7CiAgICAgICAgICAgICAgYml0c0RlY29kZWRbaW5kZXhdKys7CiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSB8PSBwcm9jZXNzZWRNYXNrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LAogICAgICBydW5DbGVhbnVwUGFzczogZnVuY3Rpb24gQml0TW9kZWxfcnVuQ2xlYW51cFBhc3MoKSB7CiAgICAgICAgdmFyIGRlY29kZXIgPSB0aGlzLmRlY29kZXI7CiAgICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aCwgaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7CiAgICAgICAgdmFyIG5laWdoYm9yc1NpZ25pZmljYW5jZSA9IHRoaXMubmVpZ2hib3JzU2lnbmlmaWNhbmNlOwogICAgICAgIHZhciBjb2VmZmljZW50c01hZ25pdHVkZSA9IHRoaXMuY29lZmZpY2VudHNNYWduaXR1ZGU7CiAgICAgICAgdmFyIGNvZWZmaWNlbnRzU2lnbiA9IHRoaXMuY29lZmZpY2VudHNTaWduOwogICAgICAgIHZhciBjb250ZXh0cyA9IHRoaXMuY29udGV4dHM7CiAgICAgICAgdmFyIGxhYmVscyA9IHRoaXMuY29udGV4dExhYmVsVGFibGU7CiAgICAgICAgdmFyIGJpdHNEZWNvZGVkID0gdGhpcy5iaXRzRGVjb2RlZDsKICAgICAgICB2YXIgcHJvY2Vzc2luZ0ZsYWdzID0gdGhpcy5wcm9jZXNzaW5nRmxhZ3M7CiAgICAgICAgdmFyIHByb2Nlc3NlZE1hc2sgPSAxOwogICAgICAgIHZhciBmaXJzdE1hZ25pdHVkZUJpdE1hc2sgPSAyOwogICAgICAgIHZhciBvbmVSb3dEb3duID0gd2lkdGg7CiAgICAgICAgdmFyIHR3b1Jvd3NEb3duID0gd2lkdGggKiAyOwogICAgICAgIHZhciB0aHJlZVJvd3NEb3duID0gd2lkdGggKiAzOwogICAgICAgIHZhciBpTmV4dDsKICAgICAgICBmb3IgKHZhciBpMCA9IDA7IGkwIDwgaGVpZ2h0OyBpMCA9IGlOZXh0KSB7CiAgICAgICAgICBpTmV4dCA9IE1hdGgubWluKGkwICsgNCwgaGVpZ2h0KTsKICAgICAgICAgIHZhciBpbmRleEJhc2UgPSBpMCAqIHdpZHRoOwogICAgICAgICAgdmFyIGNoZWNrQWxsRW1wdHkgPSBpMCArIDMgPCBoZWlnaHQ7CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHdpZHRoOyBqKyspIHsKICAgICAgICAgICAgdmFyIGluZGV4MCA9IGluZGV4QmFzZSArIGo7CiAgICAgICAgICAgIC8vIHVzaW5nIHRoZSBwcm9wZXJ0eTogbGFiZWxzW25laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleF1dID09PSAwCiAgICAgICAgICAgIC8vIHdoZW4gbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4XSA9PT0gMAogICAgICAgICAgICB2YXIgYWxsRW1wdHkgPSAoY2hlY2tBbGxFbXB0eSAmJgogICAgICAgICAgICAgIHByb2Nlc3NpbmdGbGFnc1tpbmRleDBdID09PSAwICYmCiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4MCArIG9uZVJvd0Rvd25dID09PSAwICYmCiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4MCArIHR3b1Jvd3NEb3duXSA9PT0gMCAmJgogICAgICAgICAgICAgIHByb2Nlc3NpbmdGbGFnc1tpbmRleDAgKyB0aHJlZVJvd3NEb3duXSA9PT0gMCAmJgogICAgICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleDBdID09PSAwICYmCiAgICAgICAgICAgICAgbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4MCArIG9uZVJvd0Rvd25dID09PSAwICYmCiAgICAgICAgICAgICAgbmVpZ2hib3JzU2lnbmlmaWNhbmNlW2luZGV4MCArIHR3b1Jvd3NEb3duXSA9PT0gMCAmJgogICAgICAgICAgICAgIG5laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleDAgKyB0aHJlZVJvd3NEb3duXSA9PT0gMCk7CiAgICAgICAgICAgIHZhciBpMSA9IDAsIGluZGV4ID0gaW5kZXgwOwogICAgICAgICAgICB2YXIgaSA9IGkwLCBzaWduOwogICAgICAgICAgICBpZiAoYWxsRW1wdHkpIHsKICAgICAgICAgICAgICB2YXIgaGFzU2lnbmlmaWNhbnRDb2VmZmljZW50ID0KICAgICAgICAgICAgICAgIGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgUlVOTEVOR1RIX0NPTlRFWFQpOwogICAgICAgICAgICAgIGlmICghaGFzU2lnbmlmaWNhbnRDb2VmZmljZW50KSB7CiAgICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleDBdKys7CiAgICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleDAgKyBvbmVSb3dEb3duXSsrOwogICAgICAgICAgICAgICAgYml0c0RlY29kZWRbaW5kZXgwICsgdHdvUm93c0Rvd25dKys7CiAgICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleDAgKyB0aHJlZVJvd3NEb3duXSsrOwogICAgICAgICAgICAgICAgY29udGludWU7IC8vIG5leHQgY29sdW1uCiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGkxID0gKGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgVU5JRk9STV9DT05URVhUKSA8PCAxKSB8CiAgICAgICAgICAgICAgICAgICAgZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBVTklGT1JNX0NPTlRFWFQpOwogICAgICAgICAgICAgIGlmIChpMSAhPT0gMCkgewogICAgICAgICAgICAgICAgaSA9IGkwICsgaTE7CiAgICAgICAgICAgICAgICBpbmRleCArPSBpMSAqIHdpZHRoOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgc2lnbiA9IHRoaXMuZGVjb2RlU2lnbkJpdChpLCBqLCBpbmRleCk7CiAgICAgICAgICAgICAgY29lZmZpY2VudHNTaWduW2luZGV4XSA9IHNpZ247CiAgICAgICAgICAgICAgY29lZmZpY2VudHNNYWduaXR1ZGVbaW5kZXhdID0gMTsKICAgICAgICAgICAgICB0aGlzLnNldE5laWdoYm9yc1NpZ25pZmljYW5jZShpLCBqLCBpbmRleCk7CiAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSB8PSBmaXJzdE1hZ25pdHVkZUJpdE1hc2s7CgogICAgICAgICAgICAgIGluZGV4ID0gaW5kZXgwOwogICAgICAgICAgICAgIGZvciAodmFyIGkyID0gaTA7IGkyIDw9IGk7IGkyKyssIGluZGV4ICs9IHdpZHRoKSB7CiAgICAgICAgICAgICAgICBiaXRzRGVjb2RlZFtpbmRleF0rKzsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIGkxKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIChpID0gaTAgKyBpMTsgaSA8IGlOZXh0OyBpKyssIGluZGV4ICs9IHdpZHRoKSB7CiAgICAgICAgICAgICAgaWYgKGNvZWZmaWNlbnRzTWFnbml0dWRlW2luZGV4XSB8fAogICAgICAgICAgICAgICAgKHByb2Nlc3NpbmdGbGFnc1tpbmRleF0gJiBwcm9jZXNzZWRNYXNrKSAhPT0gMCkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICB2YXIgY29udGV4dExhYmVsID0gbGFiZWxzW25laWdoYm9yc1NpZ25pZmljYW5jZVtpbmRleF1dOwogICAgICAgICAgICAgIHZhciBkZWNpc2lvbiA9IGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgY29udGV4dExhYmVsKTsKICAgICAgICAgICAgICBpZiAoZGVjaXNpb24gPT09IDEpIHsKICAgICAgICAgICAgICAgIHNpZ24gPSB0aGlzLmRlY29kZVNpZ25CaXQoaSwgaiwgaW5kZXgpOwogICAgICAgICAgICAgICAgY29lZmZpY2VudHNTaWduW2luZGV4XSA9IHNpZ247CiAgICAgICAgICAgICAgICBjb2VmZmljZW50c01hZ25pdHVkZVtpbmRleF0gPSAxOwogICAgICAgICAgICAgICAgdGhpcy5zZXROZWlnaGJvcnNTaWduaWZpY2FuY2UoaSwgaiwgaW5kZXgpOwogICAgICAgICAgICAgICAgcHJvY2Vzc2luZ0ZsYWdzW2luZGV4XSB8PSBmaXJzdE1hZ25pdHVkZUJpdE1hc2s7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJpdHNEZWNvZGVkW2luZGV4XSsrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LAogICAgICBjaGVja1NlZ21lbnRhdGlvblN5bWJvbDogZnVuY3Rpb24gQml0TW9kZWxfY2hlY2tTZWdtZW50YXRpb25TeW1ib2woKSB7CiAgICAgICAgdmFyIGRlY29kZXIgPSB0aGlzLmRlY29kZXI7CiAgICAgICAgdmFyIGNvbnRleHRzID0gdGhpcy5jb250ZXh0czsKICAgICAgICB2YXIgc3ltYm9sID0gKGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgVU5JRk9STV9DT05URVhUKSA8PCAzKSB8CiAgICAgICAgICAgICAgICAgICAgIChkZWNvZGVyLnJlYWRCaXQoY29udGV4dHMsIFVOSUZPUk1fQ09OVEVYVCkgPDwgMikgfAogICAgICAgICAgICAgICAgICAgICAoZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBVTklGT1JNX0NPTlRFWFQpIDw8IDEpIHwKICAgICAgICAgICAgICAgICAgICAgIGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgVU5JRk9STV9DT05URVhUKTsKICAgICAgICBpZiAoc3ltYm9sICE9PSAweEEpIHsKICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSlBYIEVycm9yOiBJbnZhbGlkIHNlZ21lbnRhdGlvbiBzeW1ib2wnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH07CgogICAgcmV0dXJuIEJpdE1vZGVsOwogIH0pKCk7CgogIC8vIFNlY3Rpb24gRiwgRGlzY3JldGUgd2F2ZWxldCB0cmFuc2Zvcm1hdGlvbgogIHZhciBUcmFuc2Zvcm0gPSAoZnVuY3Rpb24gVHJhbnNmb3JtQ2xvc3VyZSgpIHsKICAgIGZ1bmN0aW9uIFRyYW5zZm9ybSgpIHt9CgogICAgVHJhbnNmb3JtLnByb3RvdHlwZS5jYWxjdWxhdGUgPQogICAgICBmdW5jdGlvbiB0cmFuc2Zvcm1DYWxjdWxhdGUoc3ViYmFuZHMsIHUwLCB2MCkgewogICAgICB2YXIgbGwgPSBzdWJiYW5kc1swXTsKICAgICAgZm9yICh2YXIgaSA9IDEsIGlpID0gc3ViYmFuZHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGxsID0gdGhpcy5pdGVyYXRlKGxsLCBzdWJiYW5kc1tpXSwgdTAsIHYwKTsKICAgICAgfQogICAgICByZXR1cm4gbGw7CiAgICB9OwogICAgVHJhbnNmb3JtLnByb3RvdHlwZS5leHRlbmQgPSBmdW5jdGlvbiBleHRlbmQoYnVmZmVyLCBvZmZzZXQsIHNpemUpIHsKICAgICAgLy8gU2VjdGlvbiBGLjMuNyBleHRlbmRpbmcuLi4gdXNpbmcgbWF4IGV4dGVuc2lvbiBvZiA0CiAgICAgIHZhciBpMSA9IG9mZnNldCAtIDEsIGoxID0gb2Zmc2V0ICsgMTsKICAgICAgdmFyIGkyID0gb2Zmc2V0ICsgc2l6ZSAtIDIsIGoyID0gb2Zmc2V0ICsgc2l6ZTsKICAgICAgYnVmZmVyW2kxLS1dID0gYnVmZmVyW2oxKytdOwogICAgICBidWZmZXJbajIrK10gPSBidWZmZXJbaTItLV07CiAgICAgIGJ1ZmZlcltpMS0tXSA9IGJ1ZmZlcltqMSsrXTsKICAgICAgYnVmZmVyW2oyKytdID0gYnVmZmVyW2kyLS1dOwogICAgICBidWZmZXJbaTEtLV0gPSBidWZmZXJbajErK107CiAgICAgIGJ1ZmZlcltqMisrXSA9IGJ1ZmZlcltpMi0tXTsKICAgICAgYnVmZmVyW2kxXSA9IGJ1ZmZlcltqMV07CiAgICAgIGJ1ZmZlcltqMl0gPSBidWZmZXJbaTJdOwogICAgfTsKICAgIFRyYW5zZm9ybS5wcm90b3R5cGUuaXRlcmF0ZSA9IGZ1bmN0aW9uIFRyYW5zZm9ybV9pdGVyYXRlKGxsLCBobF9saF9oaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUwLCB2MCkgewogICAgICB2YXIgbGxXaWR0aCA9IGxsLndpZHRoLCBsbEhlaWdodCA9IGxsLmhlaWdodCwgbGxJdGVtcyA9IGxsLml0ZW1zOwogICAgICB2YXIgd2lkdGggPSBobF9saF9oaC53aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGhsX2xoX2hoLmhlaWdodDsKICAgICAgdmFyIGl0ZW1zID0gaGxfbGhfaGguaXRlbXM7CiAgICAgIHZhciBpLCBqLCBrLCBsLCB1LCB2OwoKICAgICAgLy8gSW50ZXJsZWF2ZSBMTCBhY2NvcmRpbmcgdG8gU2VjdGlvbiBGLjMuMwogICAgICBmb3IgKGsgPSAwLCBpID0gMDsgaSA8IGxsSGVpZ2h0OyBpKyspIHsKICAgICAgICBsID0gaSAqIDIgKiB3aWR0aDsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgbGxXaWR0aDsgaisrLCBrKyssIGwgKz0gMikgewogICAgICAgICAgaXRlbXNbbF0gPSBsbEl0ZW1zW2tdOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyBUaGUgTEwgYmFuZCBpcyBub3QgbmVlZGVkIGFueW1vcmUuCiAgICAgIGxsSXRlbXMgPSBsbC5pdGVtcyA9IG51bGw7CgogICAgICB2YXIgYnVmZmVyUGFkZGluZyA9IDQ7CiAgICAgIHZhciByb3dCdWZmZXIgPSBuZXcgRmxvYXQzMkFycmF5KHdpZHRoICsgMiAqIGJ1ZmZlclBhZGRpbmcpOwoKICAgICAgLy8gU2VjdGlvbiBGLjMuNCBIT1JfU1IKICAgICAgaWYgKHdpZHRoID09PSAxKSB7CiAgICAgICAgLy8gaWYgd2lkdGggPSAxLCB3aGVuIHUwIGV2ZW4ga2VlcCBpdGVtcyBhcyBpcywgd2hlbiBvZGQgZGl2aWRlIGJ5IDIKICAgICAgICBpZiAoKHUwICYgMSkgIT09IDApIHsKICAgICAgICAgIGZvciAodiA9IDAsIGsgPSAwOyB2IDwgaGVpZ2h0OyB2KyssIGsgKz0gd2lkdGgpIHsKICAgICAgICAgICAgaXRlbXNba10gKj0gMC41OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBmb3IgKHYgPSAwLCBrID0gMDsgdiA8IGhlaWdodDsgdisrLCBrICs9IHdpZHRoKSB7CiAgICAgICAgICByb3dCdWZmZXIuc2V0KGl0ZW1zLnN1YmFycmF5KGssIGsgKyB3aWR0aCksIGJ1ZmZlclBhZGRpbmcpOwoKICAgICAgICAgIHRoaXMuZXh0ZW5kKHJvd0J1ZmZlciwgYnVmZmVyUGFkZGluZywgd2lkdGgpOwogICAgICAgICAgdGhpcy5maWx0ZXIocm93QnVmZmVyLCBidWZmZXJQYWRkaW5nLCB3aWR0aCk7CgogICAgICAgICAgaXRlbXMuc2V0KAogICAgICAgICAgICByb3dCdWZmZXIuc3ViYXJyYXkoYnVmZmVyUGFkZGluZywgYnVmZmVyUGFkZGluZyArIHdpZHRoKSwKICAgICAgICAgICAgayk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBBY2Nlc3NlcyB0byB0aGUgaXRlbXMgYXJyYXkgY2FuIHRha2UgbG9uZywgYmVjYXVzZSBpdCBtYXkgbm90IGZpdCBpbnRvCiAgICAgIC8vIENQVSBjYWNoZSBhbmQgaGFzIHRvIGJlIGZldGNoZWQgZnJvbSBtYWluIG1lbW9yeS4gU2luY2Ugc3Vic2VxdWVudAogICAgICAvLyBhY2Nlc3NlcyB0byB0aGUgaXRlbXMgYXJyYXkgYXJlIG5vdCBsb2NhbCB3aGVuIHJlYWRpbmcgY29sdW1ucywgd2UKICAgICAgLy8gaGF2ZSBhIGNhY2hlIG1pc3MgZXZlcnkgdGltZS4gVG8gcmVkdWNlIGNhY2hlIG1pc3NlcywgZ2V0IHVwIHRvCiAgICAgIC8vICdudW1CdWZmZXJzJyBpdGVtcyBhdCBhIHRpbWUgYW5kIHN0b3JlIHRoZW0gaW50byB0aGUgaW5kaXZpZHVhbAogICAgICAvLyBidWZmZXJzLiBUaGUgY29sQnVmZmVycyBzaG91bGQgYmUgc21hbGwgZW5vdWdoIHRvIGZpdCBpbnRvIENQVSBjYWNoZS4KICAgICAgdmFyIG51bUJ1ZmZlcnMgPSAxNjsKICAgICAgdmFyIGNvbEJ1ZmZlcnMgPSBbXTsKICAgICAgZm9yIChpID0gMDsgaSA8IG51bUJ1ZmZlcnM7IGkrKykgewogICAgICAgIGNvbEJ1ZmZlcnMucHVzaChuZXcgRmxvYXQzMkFycmF5KGhlaWdodCArIDIgKiBidWZmZXJQYWRkaW5nKSk7CiAgICAgIH0KICAgICAgdmFyIGIsIGN1cnJlbnRCdWZmZXIgPSAwOwogICAgICBsbCA9IGJ1ZmZlclBhZGRpbmcgKyBoZWlnaHQ7CgogICAgICAvLyBTZWN0aW9uIEYuMy41IFZFUl9TUgogICAgICBpZiAoaGVpZ2h0ID09PSAxKSB7CiAgICAgICAgICAvLyBpZiBoZWlnaHQgPSAxLCB3aGVuIHYwIGV2ZW4ga2VlcCBpdGVtcyBhcyBpcywgd2hlbiBvZGQgZGl2aWRlIGJ5IDIKICAgICAgICBpZiAoKHYwICYgMSkgIT09IDApIHsKICAgICAgICAgIGZvciAodSA9IDA7IHUgPCB3aWR0aDsgdSsrKSB7CiAgICAgICAgICAgIGl0ZW1zW3VdICo9IDAuNTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yICh1ID0gMDsgdSA8IHdpZHRoOyB1KyspIHsKICAgICAgICAgIC8vIGlmIHdlIHJhbiBvdXQgb2YgYnVmZmVycywgY29weSBzZXZlcmFsIGltYWdlIGNvbHVtbnMgYXQgb25jZQogICAgICAgICAgaWYgKGN1cnJlbnRCdWZmZXIgPT09IDApIHsKICAgICAgICAgICAgbnVtQnVmZmVycyA9IE1hdGgubWluKHdpZHRoIC0gdSwgbnVtQnVmZmVycyk7CiAgICAgICAgICAgIGZvciAoayA9IHUsIGwgPSBidWZmZXJQYWRkaW5nOyBsIDwgbGw7IGsgKz0gd2lkdGgsIGwrKykgewogICAgICAgICAgICAgIGZvciAoYiA9IDA7IGIgPCBudW1CdWZmZXJzOyBiKyspIHsKICAgICAgICAgICAgICAgIGNvbEJ1ZmZlcnNbYl1bbF0gPSBpdGVtc1trICsgYl07CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGN1cnJlbnRCdWZmZXIgPSBudW1CdWZmZXJzOwogICAgICAgICAgfQoKICAgICAgICAgIGN1cnJlbnRCdWZmZXItLTsKICAgICAgICAgIHZhciBidWZmZXIgPSBjb2xCdWZmZXJzW2N1cnJlbnRCdWZmZXJdOwogICAgICAgICAgdGhpcy5leHRlbmQoYnVmZmVyLCBidWZmZXJQYWRkaW5nLCBoZWlnaHQpOwogICAgICAgICAgdGhpcy5maWx0ZXIoYnVmZmVyLCBidWZmZXJQYWRkaW5nLCBoZWlnaHQpOwoKICAgICAgICAgIC8vIElmIHRoaXMgaXMgbGFzdCBidWZmZXIgaW4gdGhpcyBncm91cCBvZiBidWZmZXJzLCBmbHVzaCBhbGwgYnVmZmVycy4KICAgICAgICAgIGlmIChjdXJyZW50QnVmZmVyID09PSAwKSB7CiAgICAgICAgICAgIGsgPSB1IC0gbnVtQnVmZmVycyArIDE7CiAgICAgICAgICAgIGZvciAobCA9IGJ1ZmZlclBhZGRpbmc7IGwgPCBsbDsgayArPSB3aWR0aCwgbCsrKSB7CiAgICAgICAgICAgICAgZm9yIChiID0gMDsgYiA8IG51bUJ1ZmZlcnM7IGIrKykgewogICAgICAgICAgICAgICAgaXRlbXNbayArIGJdID0gY29sQnVmZmVyc1tiXVtsXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgd2lkdGg6IHdpZHRoLAogICAgICAgIGhlaWdodDogaGVpZ2h0LAogICAgICAgIGl0ZW1zOiBpdGVtcwogICAgICB9OwogICAgfTsKICAgIHJldHVybiBUcmFuc2Zvcm07CiAgfSkoKTsKCiAgLy8gU2VjdGlvbiAzLjguMiBJcnJldmVyc2libGUgOS03IGZpbHRlcgogIHZhciBJcnJldmVyc2libGVUcmFuc2Zvcm0gPSAoZnVuY3Rpb24gSXJyZXZlcnNpYmxlVHJhbnNmb3JtQ2xvc3VyZSgpIHsKICAgIGZ1bmN0aW9uIElycmV2ZXJzaWJsZVRyYW5zZm9ybSgpIHsKICAgICAgVHJhbnNmb3JtLmNhbGwodGhpcyk7CiAgICB9CgogICAgSXJyZXZlcnNpYmxlVHJhbnNmb3JtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVHJhbnNmb3JtLnByb3RvdHlwZSk7CiAgICBJcnJldmVyc2libGVUcmFuc2Zvcm0ucHJvdG90eXBlLmZpbHRlciA9CiAgICAgIGZ1bmN0aW9uIGlycmV2ZXJzaWJsZVRyYW5zZm9ybUZpbHRlcih4LCBvZmZzZXQsIGxlbmd0aCkgewogICAgICB2YXIgbGVuID0gbGVuZ3RoID4+IDE7CiAgICAgIG9mZnNldCA9IG9mZnNldCB8IDA7CiAgICAgIHZhciBqLCBuLCBjdXJyZW50LCBuZXh0OwoKICAgICAgdmFyIGFscGhhID0gLTEuNTg2MTM0MzQyMDU5OTI0OwogICAgICB2YXIgYmV0YSA9IC0wLjA1Mjk4MDExODU3Mjk2MTsKICAgICAgdmFyIGdhbW1hID0gMC44ODI5MTEwNzU1MzA5MzQ7CiAgICAgIHZhciBkZWx0YSA9IDAuNDQzNTA2ODUyMDQzOTcxOwogICAgICB2YXIgSyA9IDEuMjMwMTc0MTA0OTE0MDAxOwogICAgICB2YXIgS18gPSAxIC8gSzsKCiAgICAgIC8vIHN0ZXAgMSBpcyBjb21iaW5lZCB3aXRoIHN0ZXAgMwoKICAgICAgLy8gc3RlcCAyCiAgICAgIGogPSBvZmZzZXQgLSAzOwogICAgICBmb3IgKG4gPSBsZW4gKyA0OyBuLS07IGogKz0gMikgewogICAgICAgIHhbal0gKj0gS187CiAgICAgIH0KCiAgICAgIC8vIHN0ZXAgMSAmIDMKICAgICAgaiA9IG9mZnNldCAtIDI7CiAgICAgIGN1cnJlbnQgPSBkZWx0YSAqIHhbaiAtMV07CiAgICAgIGZvciAobiA9IGxlbiArIDM7IG4tLTsgaiArPSAyKSB7CiAgICAgICAgbmV4dCA9IGRlbHRhICogeFtqICsgMV07CiAgICAgICAgeFtqXSA9IEsgKiB4W2pdIC0gY3VycmVudCAtIG5leHQ7CiAgICAgICAgaWYgKG4tLSkgewogICAgICAgICAgaiArPSAyOwogICAgICAgICAgY3VycmVudCA9IGRlbHRhICogeFtqICsgMV07CiAgICAgICAgICB4W2pdID0gSyAqIHhbal0gLSBjdXJyZW50IC0gbmV4dDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBzdGVwIDQKICAgICAgaiA9IG9mZnNldCAtIDE7CiAgICAgIGN1cnJlbnQgPSBnYW1tYSAqIHhbaiAtIDFdOwogICAgICBmb3IgKG4gPSBsZW4gKyAyOyBuLS07IGogKz0gMikgewogICAgICAgIG5leHQgPSBnYW1tYSAqIHhbaiArIDFdOwogICAgICAgIHhbal0gLT0gY3VycmVudCArIG5leHQ7CiAgICAgICAgaWYgKG4tLSkgewogICAgICAgICAgaiArPSAyOwogICAgICAgICAgY3VycmVudCA9IGdhbW1hICogeFtqICsgMV07CiAgICAgICAgICB4W2pdIC09IGN1cnJlbnQgKyBuZXh0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIHN0ZXAgNQogICAgICBqID0gb2Zmc2V0OwogICAgICBjdXJyZW50ID0gYmV0YSAqIHhbaiAtIDFdOwogICAgICBmb3IgKG4gPSBsZW4gKyAxOyBuLS07IGogKz0gMikgewogICAgICAgIG5leHQgPSBiZXRhICogeFtqICsgMV07CiAgICAgICAgeFtqXSAtPSBjdXJyZW50ICsgbmV4dDsKICAgICAgICBpZiAobi0tKSB7CiAgICAgICAgICBqICs9IDI7CiAgICAgICAgICBjdXJyZW50ID0gYmV0YSAqIHhbaiArIDFdOwogICAgICAgICAgeFtqXSAtPSBjdXJyZW50ICsgbmV4dDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBzdGVwIDYKICAgICAgaWYgKGxlbiAhPT0gMCkgewogICAgICAgIGogPSBvZmZzZXQgKyAxOwogICAgICAgIGN1cnJlbnQgPSBhbHBoYSAqIHhbaiAtIDFdOwogICAgICAgIGZvciAobiA9IGxlbjsgbi0tOyBqICs9IDIpIHsKICAgICAgICAgIG5leHQgPSBhbHBoYSAqIHhbaiArIDFdOwogICAgICAgICAgeFtqXSAtPSBjdXJyZW50ICsgbmV4dDsKICAgICAgICAgIGlmIChuLS0pIHsKICAgICAgICAgICAgaiArPSAyOwogICAgICAgICAgICBjdXJyZW50ID0gYWxwaGEgKiB4W2ogKyAxXTsKICAgICAgICAgICAgeFtqXSAtPSBjdXJyZW50ICsgbmV4dDsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfTsKCiAgICByZXR1cm4gSXJyZXZlcnNpYmxlVHJhbnNmb3JtOwogIH0pKCk7CgogIC8vIFNlY3Rpb24gMy44LjEgUmV2ZXJzaWJsZSA1LTMgZmlsdGVyCiAgdmFyIFJldmVyc2libGVUcmFuc2Zvcm0gPSAoZnVuY3Rpb24gUmV2ZXJzaWJsZVRyYW5zZm9ybUNsb3N1cmUoKSB7CiAgICBmdW5jdGlvbiBSZXZlcnNpYmxlVHJhbnNmb3JtKCkgewogICAgICBUcmFuc2Zvcm0uY2FsbCh0aGlzKTsKICAgIH0KCiAgICBSZXZlcnNpYmxlVHJhbnNmb3JtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVHJhbnNmb3JtLnByb3RvdHlwZSk7CiAgICBSZXZlcnNpYmxlVHJhbnNmb3JtLnByb3RvdHlwZS5maWx0ZXIgPQogICAgICBmdW5jdGlvbiByZXZlcnNpYmxlVHJhbnNmb3JtRmlsdGVyKHgsIG9mZnNldCwgbGVuZ3RoKSB7CiAgICAgIHZhciBsZW4gPSBsZW5ndGggPj4gMTsKICAgICAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDsKICAgICAgdmFyIGosIG47CgogICAgICBmb3IgKGogPSBvZmZzZXQsIG4gPSBsZW4gKyAxOyBuLS07IGogKz0gMikgewogICAgICAgIHhbal0gLT0gKHhbaiAtIDFdICsgeFtqICsgMV0gKyAyKSA+PiAyOwogICAgICB9CgogICAgICBmb3IgKGogPSBvZmZzZXQgKyAxLCBuID0gbGVuOyBuLS07IGogKz0gMikgewogICAgICAgIHhbal0gKz0gKHhbaiAtIDFdICsgeFtqICsgMV0pID4+IDE7CiAgICAgIH0KICAgIH07CgogICAgcmV0dXJuIFJldmVyc2libGVUcmFuc2Zvcm07CiAgfSkoKTsKCiAgcmV0dXJuIEpweEltYWdlOwp9KSgpOwoKCnZhciBKYmlnMkltYWdlID0gKGZ1bmN0aW9uIEpiaWcySW1hZ2VDbG9zdXJlKCkgewogIC8vIFV0aWxpdHkgZGF0YSBzdHJ1Y3R1cmVzCiAgZnVuY3Rpb24gQ29udGV4dENhY2hlKCkge30KCiAgQ29udGV4dENhY2hlLnByb3RvdHlwZSA9IHsKICAgIGdldENvbnRleHRzOiBmdW5jdGlvbihpZCkgewogICAgICBpZiAoaWQgaW4gdGhpcykgewogICAgICAgIHJldHVybiB0aGlzW2lkXTsKICAgICAgfQogICAgICByZXR1cm4gKHRoaXNbaWRdID0gbmV3IEludDhBcnJheSgxIDw8IDE2KSk7CiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gRGVjb2RpbmdDb250ZXh0KGRhdGEsIHN0YXJ0LCBlbmQpIHsKICAgIHRoaXMuZGF0YSA9IGRhdGE7CiAgICB0aGlzLnN0YXJ0ID0gc3RhcnQ7CiAgICB0aGlzLmVuZCA9IGVuZDsKICB9CgogIERlY29kaW5nQ29udGV4dC5wcm90b3R5cGUgPSB7CiAgICBnZXQgZGVjb2RlcigpIHsKICAgICAgdmFyIGRlY29kZXIgPSBuZXcgQXJpdGhtZXRpY0RlY29kZXIodGhpcy5kYXRhLCB0aGlzLnN0YXJ0LCB0aGlzLmVuZCk7CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2RlY29kZXInLCBkZWNvZGVyKTsKICAgIH0sCiAgICBnZXQgY29udGV4dENhY2hlKCkgewogICAgICB2YXIgY2FjaGUgPSBuZXcgQ29udGV4dENhY2hlKCk7CiAgICAgIHJldHVybiBzaGFkb3codGhpcywgJ2NvbnRleHRDYWNoZScsIGNhY2hlKTsKICAgIH0KICB9OwoKICAvLyBBbm5leCBBLiBBcml0aG1ldGljIEludGVnZXIgRGVjb2RpbmcgUHJvY2VkdXJlCiAgLy8gQS4yIFByb2NlZHVyZSBmb3IgZGVjb2RpbmcgdmFsdWVzCiAgZnVuY3Rpb24gZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsIHByb2NlZHVyZSwgZGVjb2RlcikgewogICAgdmFyIGNvbnRleHRzID0gY29udGV4dENhY2hlLmdldENvbnRleHRzKHByb2NlZHVyZSk7CiAgICB2YXIgcHJldiA9IDE7CgogICAgZnVuY3Rpb24gcmVhZEJpdHMobGVuZ3RoKSB7CiAgICAgIHZhciB2ID0gMDsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgIHZhciBiaXQgPSBkZWNvZGVyLnJlYWRCaXQoY29udGV4dHMsIHByZXYpOwogICAgICAgIHByZXYgPSAocHJldiA8IDI1NiA/IChwcmV2IDw8IDEpIHwgYml0IDoKICAgICAgICAgICAgICAgICgoKHByZXYgPDwgMSkgfCBiaXQpICYgNTExKSB8IDI1Nik7CiAgICAgICAgdiA9ICh2IDw8IDEpIHwgYml0OwogICAgICB9CiAgICAgIHJldHVybiB2ID4+PiAwOwogICAgfQoKICAgIHZhciBzaWduID0gcmVhZEJpdHMoMSk7CiAgICB2YXIgdmFsdWUgPSByZWFkQml0cygxKSA/CiAgICAgICAgICAgICAgICAgIChyZWFkQml0cygxKSA/CiAgICAgICAgICAgICAgICAgICAgKHJlYWRCaXRzKDEpID8KICAgICAgICAgICAgICAgICAgICAgIChyZWFkQml0cygxKSA/CiAgICAgICAgICAgICAgICAgICAgICAgIChyZWFkQml0cygxKSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlYWRCaXRzKDMyKSArIDQ0MzYpIDoKICAgICAgICAgICAgICAgICAgICAgICAgcmVhZEJpdHMoMTIpICsgMzQwKSA6CiAgICAgICAgICAgICAgICAgICAgICByZWFkQml0cyg4KSArIDg0KSA6CiAgICAgICAgICAgICAgICAgICAgcmVhZEJpdHMoNikgKyAyMCkgOgogICAgICAgICAgICAgICAgICByZWFkQml0cyg0KSArIDQpIDoKICAgICAgICAgICAgICAgIHJlYWRCaXRzKDIpOwogICAgcmV0dXJuIChzaWduID09PSAwID8gdmFsdWUgOiAodmFsdWUgPiAwID8gLXZhbHVlIDogbnVsbCkpOwogIH0KCiAgLy8gQS4zIFRoZSBJQUlEIGRlY29kaW5nIHByb2NlZHVyZQogIGZ1bmN0aW9uIGRlY29kZUlBSUQoY29udGV4dENhY2hlLCBkZWNvZGVyLCBjb2RlTGVuZ3RoKSB7CiAgICB2YXIgY29udGV4dHMgPSBjb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoJ0lBSUQnKTsKCiAgICB2YXIgcHJldiA9IDE7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvZGVMZW5ndGg7IGkrKykgewogICAgICB2YXIgYml0ID0gZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBwcmV2KTsKICAgICAgcHJldiA9IChwcmV2IDw8IDEpIHwgYml0OwogICAgfQogICAgaWYgKGNvZGVMZW5ndGggPCAzMSkgewogICAgICByZXR1cm4gcHJldiAmICgoMSA8PCBjb2RlTGVuZ3RoKSAtIDEpOwogICAgfQogICAgcmV0dXJuIHByZXYgJiAweDdGRkZGRkZGOwogIH0KCiAgLy8gNy4zIFNlZ21lbnQgdHlwZXMKICB2YXIgU2VnbWVudFR5cGVzID0gWwogICAgJ1N5bWJvbERpY3Rpb25hcnknLCBudWxsLCBudWxsLCBudWxsLCAnSW50ZXJtZWRpYXRlVGV4dFJlZ2lvbicsIG51bGwsCiAgICAnSW1tZWRpYXRlVGV4dFJlZ2lvbicsICdJbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb24nLCBudWxsLCBudWxsLCBudWxsLAogICAgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgJ3BhdHRlcm5EaWN0aW9uYXJ5JywgbnVsbCwgbnVsbCwgbnVsbCwKICAgICdJbnRlcm1lZGlhdGVIYWxmdG9uZVJlZ2lvbicsIG51bGwsICdJbW1lZGlhdGVIYWxmdG9uZVJlZ2lvbicsCiAgICAnSW1tZWRpYXRlTG9zc2xlc3NIYWxmdG9uZVJlZ2lvbicsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsCiAgICBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCAnSW50ZXJtZWRpYXRlR2VuZXJpY1JlZ2lvbicsIG51bGwsCiAgICAnSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbicsICdJbW1lZGlhdGVMb3NzbGVzc0dlbmVyaWNSZWdpb24nLAogICAgJ0ludGVybWVkaWF0ZUdlbmVyaWNSZWZpbmVtZW50UmVnaW9uJywgbnVsbCwKICAgICdJbW1lZGlhdGVHZW5lcmljUmVmaW5lbWVudFJlZ2lvbicsCiAgICAnSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVmaW5lbWVudFJlZ2lvbicsIG51bGwsIG51bGwsIG51bGwsIG51bGwsCiAgICAnUGFnZUluZm9ybWF0aW9uJywgJ0VuZE9mUGFnZScsICdFbmRPZlN0cmlwZScsICdFbmRPZkZpbGUnLCAnUHJvZmlsZXMnLAogICAgJ1RhYmxlcycsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsCiAgICAnRXh0ZW5zaW9uJwogIF07CgogIHZhciBDb2RpbmdUZW1wbGF0ZXMgPSBbCiAgICBbe3g6IC0xLCB5OiAtMn0sIHt4OiAwLCB5OiAtMn0sIHt4OiAxLCB5OiAtMn0sIHt4OiAtMiwgeTogLTF9LAogICAgIHt4OiAtMSwgeTogLTF9LCB7eDogMCwgeTogLTF9LCB7eDogMSwgeTogLTF9LCB7eDogMiwgeTogLTF9LAogICAgIHt4OiAtNCwgeTogMH0sIHt4OiAtMywgeTogMH0sIHt4OiAtMiwgeTogMH0sIHt4OiAtMSwgeTogMH1dLAogICAgW3t4OiAtMSwgeTogLTJ9LCB7eDogMCwgeTogLTJ9LCB7eDogMSwgeTogLTJ9LCB7eDogMiwgeTogLTJ9LAogICAgIHt4OiAtMiwgeTogLTF9LCB7eDogLTEsIHk6IC0xfSwge3g6IDAsIHk6IC0xfSwge3g6IDEsIHk6IC0xfSwKICAgICB7eDogMiwgeTogLTF9LCB7eDogLTMsIHk6IDB9LCB7eDogLTIsIHk6IDB9LCB7eDogLTEsIHk6IDB9XSwKICAgIFt7eDogLTEsIHk6IC0yfSwge3g6IDAsIHk6IC0yfSwge3g6IDEsIHk6IC0yfSwge3g6IC0yLCB5OiAtMX0sCiAgICAge3g6IC0xLCB5OiAtMX0sIHt4OiAwLCB5OiAtMX0sIHt4OiAxLCB5OiAtMX0sIHt4OiAtMiwgeTogMH0sCiAgICAge3g6IC0xLCB5OiAwfV0sCiAgICBbe3g6IC0zLCB5OiAtMX0sIHt4OiAtMiwgeTogLTF9LCB7eDogLTEsIHk6IC0xfSwge3g6IDAsIHk6IC0xfSwKICAgICB7eDogMSwgeTogLTF9LCB7eDogLTQsIHk6IDB9LCB7eDogLTMsIHk6IDB9LCB7eDogLTIsIHk6IDB9LCB7eDogLTEsIHk6IDB9XQogIF07CgogIHZhciBSZWZpbmVtZW50VGVtcGxhdGVzID0gWwogICAgewogICAgICBjb2Rpbmc6IFt7eDogMCwgeTogLTF9LCB7eDogMSwgeTogLTF9LCB7eDogLTEsIHk6IDB9XSwKICAgICAgcmVmZXJlbmNlOiBbe3g6IDAsIHk6IC0xfSwge3g6IDEsIHk6IC0xfSwge3g6IC0xLCB5OiAwfSwge3g6IDAsIHk6IDB9LAogICAgICAgICAgICAgICAgICB7eDogMSwgeTogMH0sIHt4OiAtMSwgeTogMX0sIHt4OiAwLCB5OiAxfSwge3g6IDEsIHk6IDF9XQogICAgfSwKICAgIHsKICAgICAgY29kaW5nOiBbe3g6IC0xLCB5OiAtMX0sIHt4OiAwLCB5OiAtMX0sIHt4OiAxLCB5OiAtMX0sIHt4OiAtMSwgeTogMH1dLAogICAgICByZWZlcmVuY2U6IFt7eDogMCwgeTogLTF9LCB7eDogLTEsIHk6IDB9LCB7eDogMCwgeTogMH0sIHt4OiAxLCB5OiAwfSwKICAgICAgICAgICAgICAgICAge3g6IDAsIHk6IDF9LCB7eDogMSwgeTogMX1dCiAgICB9CiAgXTsKCiAgLy8gU2VlIDYuMi41LjcgRGVjb2RpbmcgdGhlIGJpdG1hcC4KICB2YXIgUmV1c2VkQ29udGV4dHMgPSBbCiAgICAweDlCMjUsIC8vIDEwMDExIDAxMTAwMTAgMDEwMQogICAgMHgwNzk1LCAvLyAwMDExIDExMDAxMCAxMDEKICAgIDB4MDBFNSwgLy8gMDAxIDExMDAxIDAxCiAgICAweDAxOTUgIC8vIDAxMTAwMSAwMTAxCiAgXTsKCiAgdmFyIFJlZmluZW1lbnRSZXVzZWRDb250ZXh0cyA9IFsKICAgIDB4MDAyMCwgLy8gJzAwMCcgKyAnMCcgKGNvZGluZykgKyAnMDAwMTAwMDAnICsgJzAnIChyZWZlcmVuY2UpCiAgICAweDAwMDggIC8vICcwMDAwJyArICcwMDEwMDAnCiAgXTsKCiAgZnVuY3Rpb24gZGVjb2RlQml0bWFwVGVtcGxhdGUwKHdpZHRoLCBoZWlnaHQsIGRlY29kaW5nQ29udGV4dCkgewogICAgdmFyIGRlY29kZXIgPSBkZWNvZGluZ0NvbnRleHQuZGVjb2RlcjsKICAgIHZhciBjb250ZXh0cyA9IGRlY29kaW5nQ29udGV4dC5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoJ0dCJyk7CiAgICB2YXIgY29udGV4dExhYmVsLCBpLCBqLCBwaXhlbCwgcm93LCByb3cxLCByb3cyLCBiaXRtYXAgPSBbXTsKCiAgICAvLyAuLi5vb29vby4uLi4KICAgIC8vIC4ub29vb29vby4uLiBDb250ZXh0IHRlbXBsYXRlIGZvciBjdXJyZW50IHBpeGVsIChYKQogICAgLy8gLm9vb29YLi4uLi4uIChjb25jYXRlbmF0ZSB2YWx1ZXMgb2YgJ28nLXBpeGVscyB0byBnZXQgY29udGV4dExhYmVsKQogICAgdmFyIE9MRF9QSVhFTF9NQVNLID0gMHg3QkY3OyAvLyAwMTExMSAwMTExMTExIDAxMTEKCiAgICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyBpKyspIHsKICAgICAgcm93ID0gYml0bWFwW2ldID0gbmV3IFVpbnQ4QXJyYXkod2lkdGgpOwogICAgICByb3cxID0gKGkgPCAxKSA/IHJvdyA6IGJpdG1hcFtpIC0gMV07CiAgICAgIHJvdzIgPSAoaSA8IDIpID8gcm93IDogYml0bWFwW2kgLSAyXTsKCiAgICAgIC8vIEF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCByb3c6CiAgICAgIC8vIEZpbGwgY29udGV4dExhYmVsIHdpdGggcGl4ZWxzIHRoYXQgYXJlIGFib3ZlL3JpZ2h0IG9mIChYKQogICAgICBjb250ZXh0TGFiZWwgPSAocm93MlswXSA8PCAxMykgfCAocm93MlsxXSA8PCAxMikgfCAocm93MlsyXSA8PCAxMSkgfAogICAgICAgICAgICAgICAgICAgICAocm93MVswXSA8PCA3KSB8IChyb3cxWzFdIDw8IDYpIHwgKHJvdzFbMl0gPDwgNSkgfAogICAgICAgICAgICAgICAgICAgICAocm93MVszXSA8PCA0KTsKCiAgICAgIGZvciAoaiA9IDA7IGogPCB3aWR0aDsgaisrKSB7CiAgICAgICAgcm93W2pdID0gcGl4ZWwgPSBkZWNvZGVyLnJlYWRCaXQoY29udGV4dHMsIGNvbnRleHRMYWJlbCk7CgogICAgICAgIC8vIEF0IGVhY2ggcGl4ZWw6IENsZWFyIGNvbnRleHRMYWJlbCBwaXhlbHMgdGhhdCBhcmUgc2hpZnRlZAogICAgICAgIC8vIG91dCBvZiB0aGUgY29udGV4dCwgdGhlbiBhZGQgbmV3IG9uZXMuCiAgICAgICAgY29udGV4dExhYmVsID0gKChjb250ZXh0TGFiZWwgJiBPTERfUElYRUxfTUFTSykgPDwgMSkgfAogICAgICAgICAgICAgICAgICAgICAgIChqICsgMyA8IHdpZHRoID8gcm93MltqICsgM10gPDwgMTEgOiAwKSB8CiAgICAgICAgICAgICAgICAgICAgICAgKGogKyA0IDwgd2lkdGggPyByb3cxW2ogKyA0XSA8PCA0IDogMCkgfCBwaXhlbDsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBiaXRtYXA7CiAgfQoKICAvLyA2LjIgR2VuZXJpYyBSZWdpb24gRGVjb2RpbmcgUHJvY2VkdXJlCiAgZnVuY3Rpb24gZGVjb2RlQml0bWFwKG1tciwgd2lkdGgsIGhlaWdodCwgdGVtcGxhdGVJbmRleCwgcHJlZGljdGlvbiwgc2tpcCwgYXQsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nQ29udGV4dCkgewogICAgaWYgKG1tcikgewogICAgICBlcnJvcignSkJJRzIgZXJyb3I6IE1NUiBlbmNvZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7CiAgICB9CgogICAgLy8gVXNlIG9wdGltaXplZCB2ZXJzaW9uIGZvciB0aGUgbW9zdCBjb21tb24gY2FzZQogICAgaWYgKHRlbXBsYXRlSW5kZXggPT09IDAgJiYgIXNraXAgJiYgIXByZWRpY3Rpb24gJiYgYXQubGVuZ3RoID09PSA0ICYmCiAgICAgICAgYXRbMF0ueCA9PT0gMyAmJiBhdFswXS55ID09PSAtMSAmJiBhdFsxXS54ID09PSAtMyAmJiBhdFsxXS55ID09PSAtMSAmJgogICAgICAgIGF0WzJdLnggPT09IDIgJiYgYXRbMl0ueSA9PT0gLTIgJiYgYXRbM10ueCA9PT0gLTIgJiYgYXRbM10ueSA9PT0gLTIpIHsKICAgICAgcmV0dXJuIGRlY29kZUJpdG1hcFRlbXBsYXRlMCh3aWR0aCwgaGVpZ2h0LCBkZWNvZGluZ0NvbnRleHQpOwogICAgfQoKICAgIHZhciB1c2Vza2lwID0gISFza2lwOwogICAgdmFyIHRlbXBsYXRlID0gQ29kaW5nVGVtcGxhdGVzW3RlbXBsYXRlSW5kZXhdLmNvbmNhdChhdCk7CgogICAgLy8gU29ydGluZyBpcyBub24tc3RhbmRhcmQsIGFuZCBpdCBpcyBub3QgcmVxdWlyZWQuIEJ1dCBzb3J0aW5nIGluY3JlYXNlcwogICAgLy8gdGhlIG51bWJlciBvZiB0ZW1wbGF0ZSBiaXRzIHRoYXQgY2FuIGJlIHJldXNlZCBmcm9tIHRoZSBwcmV2aW91cwogICAgLy8gY29udGV4dExhYmVsIGluIHRoZSBtYWluIGxvb3AuCiAgICB0ZW1wbGF0ZS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgIHJldHVybiAoYS55IC0gYi55KSB8fCAoYS54IC0gYi54KTsKICAgIH0pOwoKICAgIHZhciB0ZW1wbGF0ZUxlbmd0aCA9IHRlbXBsYXRlLmxlbmd0aDsKICAgIHZhciB0ZW1wbGF0ZVggPSBuZXcgSW50OEFycmF5KHRlbXBsYXRlTGVuZ3RoKTsKICAgIHZhciB0ZW1wbGF0ZVkgPSBuZXcgSW50OEFycmF5KHRlbXBsYXRlTGVuZ3RoKTsKICAgIHZhciBjaGFuZ2luZ1RlbXBsYXRlRW50cmllcyA9IFtdOwogICAgdmFyIHJldXNlTWFzayA9IDAsIG1pblggPSAwLCBtYXhYID0gMCwgbWluWSA9IDA7CiAgICB2YXIgYywgazsKCiAgICBmb3IgKGsgPSAwOyBrIDwgdGVtcGxhdGVMZW5ndGg7IGsrKykgewogICAgICB0ZW1wbGF0ZVhba10gPSB0ZW1wbGF0ZVtrXS54OwogICAgICB0ZW1wbGF0ZVlba10gPSB0ZW1wbGF0ZVtrXS55OwogICAgICBtaW5YID0gTWF0aC5taW4obWluWCwgdGVtcGxhdGVba10ueCk7CiAgICAgIG1heFggPSBNYXRoLm1heChtYXhYLCB0ZW1wbGF0ZVtrXS54KTsKICAgICAgbWluWSA9IE1hdGgubWluKG1pblksIHRlbXBsYXRlW2tdLnkpOwogICAgICAvLyBDaGVjayBpZiB0aGUgdGVtcGxhdGUgcGl4ZWwgYXBwZWFycyBpbiB0d28gY29uc2VjdXRpdmUgY29udGV4dCBsYWJlbHMsCiAgICAgIC8vIHNvIGl0IGNhbiBiZSByZXVzZWQuIE90aGVyd2lzZSwgd2UgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIGNoYW5naW5nCiAgICAgIC8vIHRlbXBsYXRlIGVudHJpZXMuCiAgICAgIGlmIChrIDwgdGVtcGxhdGVMZW5ndGggLSAxICYmCiAgICAgICAgICB0ZW1wbGF0ZVtrXS55ID09PSB0ZW1wbGF0ZVtrICsgMV0ueSAmJgogICAgICAgICAgdGVtcGxhdGVba10ueCA9PT0gdGVtcGxhdGVbayArIDFdLnggLSAxKSB7CiAgICAgICAgcmV1c2VNYXNrIHw9IDEgPDwgKHRlbXBsYXRlTGVuZ3RoIC0gMSAtIGspOwogICAgICB9IGVsc2UgewogICAgICAgIGNoYW5naW5nVGVtcGxhdGVFbnRyaWVzLnB1c2goayk7CiAgICAgIH0KICAgIH0KICAgIHZhciBjaGFuZ2luZ0VudHJpZXNMZW5ndGggPSBjaGFuZ2luZ1RlbXBsYXRlRW50cmllcy5sZW5ndGg7CgogICAgdmFyIGNoYW5naW5nVGVtcGxhdGVYID0gbmV3IEludDhBcnJheShjaGFuZ2luZ0VudHJpZXNMZW5ndGgpOwogICAgdmFyIGNoYW5naW5nVGVtcGxhdGVZID0gbmV3IEludDhBcnJheShjaGFuZ2luZ0VudHJpZXNMZW5ndGgpOwogICAgdmFyIGNoYW5naW5nVGVtcGxhdGVCaXQgPSBuZXcgVWludDE2QXJyYXkoY2hhbmdpbmdFbnRyaWVzTGVuZ3RoKTsKICAgIGZvciAoYyA9IDA7IGMgPCBjaGFuZ2luZ0VudHJpZXNMZW5ndGg7IGMrKykgewogICAgICBrID0gY2hhbmdpbmdUZW1wbGF0ZUVudHJpZXNbY107CiAgICAgIGNoYW5naW5nVGVtcGxhdGVYW2NdID0gdGVtcGxhdGVba10ueDsKICAgICAgY2hhbmdpbmdUZW1wbGF0ZVlbY10gPSB0ZW1wbGF0ZVtrXS55OwogICAgICBjaGFuZ2luZ1RlbXBsYXRlQml0W2NdID0gMSA8PCAodGVtcGxhdGVMZW5ndGggLSAxIC0gayk7CiAgICB9CgogICAgLy8gR2V0IHRoZSBzYWZlIGJvdW5kaW5nIGJveCBlZGdlcyBmcm9tIHRoZSB3aWR0aCwgaGVpZ2h0LCBtaW5YLCBtYXhYLCBtaW5ZCiAgICB2YXIgc2JiX2xlZnQgPSAtbWluWDsKICAgIHZhciBzYmJfdG9wID0gLW1pblk7CiAgICB2YXIgc2JiX3JpZ2h0ID0gd2lkdGggLSBtYXhYOwoKICAgIHZhciBwc2V1ZG9QaXhlbENvbnRleHQgPSBSZXVzZWRDb250ZXh0c1t0ZW1wbGF0ZUluZGV4XTsKICAgIHZhciByb3cgPSBuZXcgVWludDhBcnJheSh3aWR0aCk7CiAgICB2YXIgYml0bWFwID0gW107CgogICAgdmFyIGRlY29kZXIgPSBkZWNvZGluZ0NvbnRleHQuZGVjb2RlcjsKICAgIHZhciBjb250ZXh0cyA9IGRlY29kaW5nQ29udGV4dC5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoJ0dCJyk7CgogICAgdmFyIGx0cCA9IDAsIGosIGkwLCBqMCwgY29udGV4dExhYmVsID0gMCwgYml0LCBzaGlmdDsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGVpZ2h0OyBpKyspIHsKICAgICAgaWYgKHByZWRpY3Rpb24pIHsKICAgICAgICB2YXIgc2x0cCA9IGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgcHNldWRvUGl4ZWxDb250ZXh0KTsKICAgICAgICBsdHAgXj0gc2x0cDsKICAgICAgICBpZiAobHRwKSB7CiAgICAgICAgICBiaXRtYXAucHVzaChyb3cpOyAvLyBkdXBsaWNhdGUgcHJldmlvdXMgcm93CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcm93ID0gbmV3IFVpbnQ4QXJyYXkocm93KTsKICAgICAgYml0bWFwLnB1c2gocm93KTsKICAgICAgZm9yIChqID0gMDsgaiA8IHdpZHRoOyBqKyspIHsKICAgICAgICBpZiAodXNlc2tpcCAmJiBza2lwW2ldW2pdKSB7CiAgICAgICAgICByb3dbal0gPSAwOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIC8vIEFyZSB3ZSBpbiB0aGUgbWlkZGxlIG9mIGEgc2NhbmxpbmUsIHNvIHdlIGNhbiByZXVzZSBjb250ZXh0TGFiZWwKICAgICAgICAvLyBiaXRzPwogICAgICAgIGlmIChqID49IHNiYl9sZWZ0ICYmIGogPCBzYmJfcmlnaHQgJiYgaSA+PSBzYmJfdG9wKSB7CiAgICAgICAgICAvLyBJZiB5ZXMsIHdlIGNhbiBqdXN0IHNoaWZ0IHRoZSBiaXRzIHRoYXQgYXJlIHJldXNhYmxlIGFuZCBvbmx5CiAgICAgICAgICAvLyBmZXRjaCB0aGUgcmVtYWluaW5nIG9uZXMuCiAgICAgICAgICBjb250ZXh0TGFiZWwgPSAoY29udGV4dExhYmVsIDw8IDEpICYgcmV1c2VNYXNrOwogICAgICAgICAgZm9yIChrID0gMDsgayA8IGNoYW5naW5nRW50cmllc0xlbmd0aDsgaysrKSB7CiAgICAgICAgICAgIGkwID0gaSArIGNoYW5naW5nVGVtcGxhdGVZW2tdOwogICAgICAgICAgICBqMCA9IGogKyBjaGFuZ2luZ1RlbXBsYXRlWFtrXTsKICAgICAgICAgICAgYml0ID0gYml0bWFwW2kwXVtqMF07CiAgICAgICAgICAgIGlmIChiaXQpIHsKICAgICAgICAgICAgICBiaXQgPSBjaGFuZ2luZ1RlbXBsYXRlQml0W2tdOwogICAgICAgICAgICAgIGNvbnRleHRMYWJlbCB8PSBiaXQ7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gY29tcHV0ZSB0aGUgY29udGV4dExhYmVsIGZyb20gc2NyYXRjaAogICAgICAgICAgY29udGV4dExhYmVsID0gMDsKICAgICAgICAgIHNoaWZ0ID0gdGVtcGxhdGVMZW5ndGggLSAxOwogICAgICAgICAgZm9yIChrID0gMDsgayA8IHRlbXBsYXRlTGVuZ3RoOyBrKyssIHNoaWZ0LS0pIHsKICAgICAgICAgICAgajAgPSBqICsgdGVtcGxhdGVYW2tdOwogICAgICAgICAgICBpZiAoajAgPj0gMCAmJiBqMCA8IHdpZHRoKSB7CiAgICAgICAgICAgICAgaTAgPSBpICsgdGVtcGxhdGVZW2tdOwogICAgICAgICAgICAgIGlmIChpMCA+PSAwKSB7CiAgICAgICAgICAgICAgICBiaXQgPSBiaXRtYXBbaTBdW2owXTsKICAgICAgICAgICAgICAgIGlmIChiaXQpIHsKICAgICAgICAgICAgICAgICAgY29udGV4dExhYmVsIHw9IGJpdCA8PCBzaGlmdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIHBpeGVsID0gZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBjb250ZXh0TGFiZWwpOwogICAgICAgIHJvd1tqXSA9IHBpeGVsOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gYml0bWFwOwogIH0KCiAgLy8gNi4zLjIgR2VuZXJpYyBSZWZpbmVtZW50IFJlZ2lvbiBEZWNvZGluZyBQcm9jZWR1cmUKICBmdW5jdGlvbiBkZWNvZGVSZWZpbmVtZW50KHdpZHRoLCBoZWlnaHQsIHRlbXBsYXRlSW5kZXgsIHJlZmVyZW5jZUJpdG1hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldFgsIG9mZnNldFksIHByZWRpY3Rpb24sIGF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RpbmdDb250ZXh0KSB7CiAgICB2YXIgY29kaW5nVGVtcGxhdGUgPSBSZWZpbmVtZW50VGVtcGxhdGVzW3RlbXBsYXRlSW5kZXhdLmNvZGluZzsKICAgIGlmICh0ZW1wbGF0ZUluZGV4ID09PSAwKSB7CiAgICAgIGNvZGluZ1RlbXBsYXRlID0gY29kaW5nVGVtcGxhdGUuY29uY2F0KFthdFswXV0pOwogICAgfQogICAgdmFyIGNvZGluZ1RlbXBsYXRlTGVuZ3RoID0gY29kaW5nVGVtcGxhdGUubGVuZ3RoOwogICAgdmFyIGNvZGluZ1RlbXBsYXRlWCA9IG5ldyBJbnQzMkFycmF5KGNvZGluZ1RlbXBsYXRlTGVuZ3RoKTsKICAgIHZhciBjb2RpbmdUZW1wbGF0ZVkgPSBuZXcgSW50MzJBcnJheShjb2RpbmdUZW1wbGF0ZUxlbmd0aCk7CiAgICB2YXIgazsKICAgIGZvciAoayA9IDA7IGsgPCBjb2RpbmdUZW1wbGF0ZUxlbmd0aDsgaysrKSB7CiAgICAgIGNvZGluZ1RlbXBsYXRlWFtrXSA9IGNvZGluZ1RlbXBsYXRlW2tdLng7CiAgICAgIGNvZGluZ1RlbXBsYXRlWVtrXSA9IGNvZGluZ1RlbXBsYXRlW2tdLnk7CiAgICB9CgogICAgdmFyIHJlZmVyZW5jZVRlbXBsYXRlID0gUmVmaW5lbWVudFRlbXBsYXRlc1t0ZW1wbGF0ZUluZGV4XS5yZWZlcmVuY2U7CiAgICBpZiAodGVtcGxhdGVJbmRleCA9PT0gMCkgewogICAgICByZWZlcmVuY2VUZW1wbGF0ZSA9IHJlZmVyZW5jZVRlbXBsYXRlLmNvbmNhdChbYXRbMV1dKTsKICAgIH0KICAgIHZhciByZWZlcmVuY2VUZW1wbGF0ZUxlbmd0aCA9IHJlZmVyZW5jZVRlbXBsYXRlLmxlbmd0aDsKICAgIHZhciByZWZlcmVuY2VUZW1wbGF0ZVggPSBuZXcgSW50MzJBcnJheShyZWZlcmVuY2VUZW1wbGF0ZUxlbmd0aCk7CiAgICB2YXIgcmVmZXJlbmNlVGVtcGxhdGVZID0gbmV3IEludDMyQXJyYXkocmVmZXJlbmNlVGVtcGxhdGVMZW5ndGgpOwogICAgZm9yIChrID0gMDsgayA8IHJlZmVyZW5jZVRlbXBsYXRlTGVuZ3RoOyBrKyspIHsKICAgICAgcmVmZXJlbmNlVGVtcGxhdGVYW2tdID0gcmVmZXJlbmNlVGVtcGxhdGVba10ueDsKICAgICAgcmVmZXJlbmNlVGVtcGxhdGVZW2tdID0gcmVmZXJlbmNlVGVtcGxhdGVba10ueTsKICAgIH0KICAgIHZhciByZWZlcmVuY2VXaWR0aCA9IHJlZmVyZW5jZUJpdG1hcFswXS5sZW5ndGg7CiAgICB2YXIgcmVmZXJlbmNlSGVpZ2h0ID0gcmVmZXJlbmNlQml0bWFwLmxlbmd0aDsKCiAgICB2YXIgcHNldWRvUGl4ZWxDb250ZXh0ID0gUmVmaW5lbWVudFJldXNlZENvbnRleHRzW3RlbXBsYXRlSW5kZXhdOwogICAgdmFyIGJpdG1hcCA9IFtdOwoKICAgIHZhciBkZWNvZGVyID0gZGVjb2RpbmdDb250ZXh0LmRlY29kZXI7CiAgICB2YXIgY29udGV4dHMgPSBkZWNvZGluZ0NvbnRleHQuY29udGV4dENhY2hlLmdldENvbnRleHRzKCdHUicpOwoKICAgIHZhciBsdHAgPSAwOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykgewogICAgICBpZiAocHJlZGljdGlvbikgewogICAgICAgIHZhciBzbHRwID0gZGVjb2Rlci5yZWFkQml0KGNvbnRleHRzLCBwc2V1ZG9QaXhlbENvbnRleHQpOwogICAgICAgIGx0cCBePSBzbHRwOwogICAgICAgIGlmIChsdHApIHsKICAgICAgICAgIGVycm9yKCdKQklHMiBlcnJvcjogcHJlZGljdGlvbiBpcyBub3Qgc3VwcG9ydGVkJyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHZhciByb3cgPSBuZXcgVWludDhBcnJheSh3aWR0aCk7CiAgICAgIGJpdG1hcC5wdXNoKHJvdyk7CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgd2lkdGg7IGorKykgewogICAgICAgIHZhciBpMCwgajA7CiAgICAgICAgdmFyIGNvbnRleHRMYWJlbCA9IDA7CiAgICAgICAgZm9yIChrID0gMDsgayA8IGNvZGluZ1RlbXBsYXRlTGVuZ3RoOyBrKyspIHsKICAgICAgICAgIGkwID0gaSArIGNvZGluZ1RlbXBsYXRlWVtrXTsKICAgICAgICAgIGowID0gaiArIGNvZGluZ1RlbXBsYXRlWFtrXTsKICAgICAgICAgIGlmIChpMCA8IDAgfHwgajAgPCAwIHx8IGowID49IHdpZHRoKSB7CiAgICAgICAgICAgIGNvbnRleHRMYWJlbCA8PD0gMTsgLy8gb3V0IG9mIGJvdW5kIHBpeGVsCiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb250ZXh0TGFiZWwgPSAoY29udGV4dExhYmVsIDw8IDEpIHwgYml0bWFwW2kwXVtqMF07CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAoayA9IDA7IGsgPCByZWZlcmVuY2VUZW1wbGF0ZUxlbmd0aDsgaysrKSB7CiAgICAgICAgICBpMCA9IGkgKyByZWZlcmVuY2VUZW1wbGF0ZVlba10gKyBvZmZzZXRZOwogICAgICAgICAgajAgPSBqICsgcmVmZXJlbmNlVGVtcGxhdGVYW2tdICsgb2Zmc2V0WDsKICAgICAgICAgIGlmIChpMCA8IDAgfHwgaTAgPj0gcmVmZXJlbmNlSGVpZ2h0IHx8IGowIDwgMCB8fAogICAgICAgICAgICAgIGowID49IHJlZmVyZW5jZVdpZHRoKSB7CiAgICAgICAgICAgIGNvbnRleHRMYWJlbCA8PD0gMTsgLy8gb3V0IG9mIGJvdW5kIHBpeGVsCiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb250ZXh0TGFiZWwgPSAoY29udGV4dExhYmVsIDw8IDEpIHwgcmVmZXJlbmNlQml0bWFwW2kwXVtqMF07CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciBwaXhlbCA9IGRlY29kZXIucmVhZEJpdChjb250ZXh0cywgY29udGV4dExhYmVsKTsKICAgICAgICByb3dbal0gPSBwaXhlbDsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBiaXRtYXA7CiAgfQoKICAvLyA2LjUuNSBEZWNvZGluZyB0aGUgc3ltYm9sIGRpY3Rpb25hcnkKICBmdW5jdGlvbiBkZWNvZGVTeW1ib2xEaWN0aW9uYXJ5KGh1ZmZtYW4sIHJlZmluZW1lbnQsIHN5bWJvbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXJPZk5ld1N5bWJvbHMsIG51bWJlck9mRXhwb3J0ZWRTeW1ib2xzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHVmZm1hblRhYmxlcywgdGVtcGxhdGVJbmRleCwgYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZpbmVtZW50VGVtcGxhdGVJbmRleCwgcmVmaW5lbWVudEF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RpbmdDb250ZXh0KSB7CiAgICBpZiAoaHVmZm1hbikgewogICAgICBlcnJvcignSkJJRzIgZXJyb3I6IGh1ZmZtYW4gaXMgbm90IHN1cHBvcnRlZCcpOwogICAgfQoKICAgIHZhciBuZXdTeW1ib2xzID0gW107CiAgICB2YXIgY3VycmVudEhlaWdodCA9IDA7CiAgICB2YXIgc3ltYm9sQ29kZUxlbmd0aCA9IGxvZzIoc3ltYm9scy5sZW5ndGggKyBudW1iZXJPZk5ld1N5bWJvbHMpOwoKICAgIHZhciBkZWNvZGVyID0gZGVjb2RpbmdDb250ZXh0LmRlY29kZXI7CiAgICB2YXIgY29udGV4dENhY2hlID0gZGVjb2RpbmdDb250ZXh0LmNvbnRleHRDYWNoZTsKCiAgICB3aGlsZSAobmV3U3ltYm9scy5sZW5ndGggPCBudW1iZXJPZk5ld1N5bWJvbHMpIHsKICAgICAgdmFyIGRlbHRhSGVpZ2h0ID0gZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQURIJywgZGVjb2Rlcik7IC8vIDYuNS42CiAgICAgIGN1cnJlbnRIZWlnaHQgKz0gZGVsdGFIZWlnaHQ7CiAgICAgIHZhciBjdXJyZW50V2lkdGggPSAwOwogICAgICB2YXIgdG90YWxXaWR0aCA9IDA7CiAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgdmFyIGRlbHRhV2lkdGggPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBRFcnLCBkZWNvZGVyKTsgLy8gNi41LjcKICAgICAgICBpZiAoZGVsdGFXaWR0aCA9PT0gbnVsbCkgewogICAgICAgICAgYnJlYWs7IC8vIE9PQgogICAgICAgIH0KICAgICAgICBjdXJyZW50V2lkdGggKz0gZGVsdGFXaWR0aDsKICAgICAgICB0b3RhbFdpZHRoICs9IGN1cnJlbnRXaWR0aDsKICAgICAgICB2YXIgYml0bWFwOwogICAgICAgIGlmIChyZWZpbmVtZW50KSB7CiAgICAgICAgICAvLyA2LjUuOC4yIFJlZmluZW1lbnQvYWdncmVnYXRlLWNvZGVkIHN5bWJvbCBiaXRtYXAKICAgICAgICAgIHZhciBudW1iZXJPZkluc3RhbmNlcyA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFBSScsIGRlY29kZXIpOwogICAgICAgICAgaWYgKG51bWJlck9mSW5zdGFuY2VzID4gMSkgewogICAgICAgICAgICBiaXRtYXAgPSBkZWNvZGVUZXh0UmVnaW9uKGh1ZmZtYW4sIHJlZmluZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFdpZHRoLCBjdXJyZW50SGVpZ2h0LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlck9mSW5zdGFuY2VzLCAxLCAvL3N0cmlwIHNpemUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xzLmNvbmNhdChuZXdTeW1ib2xzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xDb2RlTGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIC8vdHJhbnNwb3NlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIC8vZHMgb2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgLy90b3AgbGVmdCA3LjQuMy4xLjEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAvL09SIG9wZXJhdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHVmZm1hblRhYmxlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZpbmVtZW50VGVtcGxhdGVJbmRleCwgcmVmaW5lbWVudEF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nQ29udGV4dCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgc3ltYm9sSWQgPSBkZWNvZGVJQUlEKGNvbnRleHRDYWNoZSwgZGVjb2Rlciwgc3ltYm9sQ29kZUxlbmd0aCk7CiAgICAgICAgICAgIHZhciByZHggPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBUkRYJywgZGVjb2Rlcik7IC8vIDYuNC4xMS4zCiAgICAgICAgICAgIHZhciByZHkgPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBUkRZJywgZGVjb2Rlcik7IC8vIDYuNC4xMS40CiAgICAgICAgICAgIHZhciBzeW1ib2wgPSAoc3ltYm9sSWQgPCBzeW1ib2xzLmxlbmd0aCA/IHN5bWJvbHNbc3ltYm9sSWRdIDoKICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTeW1ib2xzW3N5bWJvbElkIC0gc3ltYm9scy5sZW5ndGhdKTsKICAgICAgICAgICAgYml0bWFwID0gZGVjb2RlUmVmaW5lbWVudChjdXJyZW50V2lkdGgsIGN1cnJlbnRIZWlnaHQsCiAgICAgICAgICAgIHJlZmluZW1lbnRUZW1wbGF0ZUluZGV4LCBzeW1ib2wsIHJkeCwgcmR5LCBmYWxzZSwgcmVmaW5lbWVudEF0LAogICAgICAgICAgICBkZWNvZGluZ0NvbnRleHQpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyA2LjUuOC4xIERpcmVjdC1jb2RlZCBzeW1ib2wgYml0bWFwCiAgICAgICAgICBiaXRtYXAgPSBkZWNvZGVCaXRtYXAoZmFsc2UsIGN1cnJlbnRXaWR0aCwgY3VycmVudEhlaWdodCwKICAgICAgICAgICAgdGVtcGxhdGVJbmRleCwgZmFsc2UsIG51bGwsIGF0LCBkZWNvZGluZ0NvbnRleHQpOwogICAgICAgIH0KICAgICAgICBuZXdTeW1ib2xzLnB1c2goYml0bWFwKTsKICAgICAgfQogICAgfQogICAgLy8gNi41LjEwIEV4cG9ydGVkIHN5bWJvbHMKICAgIHZhciBleHBvcnRlZFN5bWJvbHMgPSBbXTsKICAgIHZhciBmbGFncyA9IFtdLCBjdXJyZW50RmxhZyA9IGZhbHNlOwogICAgdmFyIHRvdGFsU3ltYm9sc0xlbmd0aCA9IHN5bWJvbHMubGVuZ3RoICsgbnVtYmVyT2ZOZXdTeW1ib2xzOwogICAgd2hpbGUgKGZsYWdzLmxlbmd0aCA8IHRvdGFsU3ltYm9sc0xlbmd0aCkgewogICAgICB2YXIgcnVuTGVuZ3RoID0gZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQUVYJywgZGVjb2Rlcik7CiAgICAgIHdoaWxlIChydW5MZW5ndGgtLSkgewogICAgICAgIGZsYWdzLnB1c2goY3VycmVudEZsYWcpOwogICAgICB9CiAgICAgIGN1cnJlbnRGbGFnID0gIWN1cnJlbnRGbGFnOwogICAgfQogICAgZm9yICh2YXIgaSA9IDAsIGlpID0gc3ltYm9scy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIGlmIChmbGFnc1tpXSkgewogICAgICAgIGV4cG9ydGVkU3ltYm9scy5wdXNoKHN5bWJvbHNbaV0pOwogICAgICB9CiAgICB9CiAgICBmb3IgKHZhciBqID0gMDsgaiA8IG51bWJlck9mTmV3U3ltYm9sczsgaSsrLCBqKyspIHsKICAgICAgaWYgKGZsYWdzW2ldKSB7CiAgICAgICAgZXhwb3J0ZWRTeW1ib2xzLnB1c2gobmV3U3ltYm9sc1tqXSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBleHBvcnRlZFN5bWJvbHM7CiAgfQoKICBmdW5jdGlvbiBkZWNvZGVUZXh0UmVnaW9uKGh1ZmZtYW4sIHJlZmluZW1lbnQsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0UGl4ZWxWYWx1ZSwgbnVtYmVyT2ZTeW1ib2xJbnN0YW5jZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcFNpemUsIGlucHV0U3ltYm9scywgc3ltYm9sQ29kZUxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcG9zZWQsIGRzT2Zmc2V0LCByZWZlcmVuY2VDb3JuZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5hdGlvbk9wZXJhdG9yLCBodWZmbWFuVGFibGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmaW5lbWVudFRlbXBsYXRlSW5kZXgsIHJlZmluZW1lbnRBdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nQ29udGV4dCkgewogICAgaWYgKGh1ZmZtYW4pIHsKICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBodWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgIH0KCiAgICAvLyBQcmVwYXJlIGJpdG1hcAogICAgdmFyIGJpdG1hcCA9IFtdOwogICAgdmFyIGksIHJvdzsKICAgIGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykgewogICAgICByb3cgPSBuZXcgVWludDhBcnJheSh3aWR0aCk7CiAgICAgIGlmIChkZWZhdWx0UGl4ZWxWYWx1ZSkgewogICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgd2lkdGg7IGorKykgewogICAgICAgICAgcm93W2pdID0gZGVmYXVsdFBpeGVsVmFsdWU7CiAgICAgICAgfQogICAgICB9CiAgICAgIGJpdG1hcC5wdXNoKHJvdyk7CiAgICB9CgogICAgdmFyIGRlY29kZXIgPSBkZWNvZGluZ0NvbnRleHQuZGVjb2RlcjsKICAgIHZhciBjb250ZXh0Q2FjaGUgPSBkZWNvZGluZ0NvbnRleHQuY29udGV4dENhY2hlOwogICAgdmFyIHN0cmlwVCA9IC1kZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBRFQnLCBkZWNvZGVyKTsgLy8gNi40LjYKICAgIHZhciBmaXJzdFMgPSAwOwogICAgaSA9IDA7CiAgICB3aGlsZSAoaSA8IG51bWJlck9mU3ltYm9sSW5zdGFuY2VzKSB7CiAgICAgIHZhciBkZWx0YVQgPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBRFQnLCBkZWNvZGVyKTsgLy8gNi40LjYKICAgICAgc3RyaXBUICs9IGRlbHRhVDsKCiAgICAgIHZhciBkZWx0YUZpcnN0UyA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFGUycsIGRlY29kZXIpOyAvLyA2LjQuNwogICAgICBmaXJzdFMgKz0gZGVsdGFGaXJzdFM7CiAgICAgIHZhciBjdXJyZW50UyA9IGZpcnN0UzsKICAgICAgZG8gewogICAgICAgIHZhciBjdXJyZW50VCA9IChzdHJpcFNpemUgPT09IDEgPyAwIDoKICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQUlUJywgZGVjb2RlcikpOyAvLyA2LjQuOQogICAgICAgIHZhciB0ID0gc3RyaXBTaXplICogc3RyaXBUICsgY3VycmVudFQ7CiAgICAgICAgdmFyIHN5bWJvbElkID0gZGVjb2RlSUFJRChjb250ZXh0Q2FjaGUsIGRlY29kZXIsIHN5bWJvbENvZGVMZW5ndGgpOwogICAgICAgIHZhciBhcHBseVJlZmluZW1lbnQgPSAocmVmaW5lbWVudCAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQVJJJywgZGVjb2RlcikpOwogICAgICAgIHZhciBzeW1ib2xCaXRtYXAgPSBpbnB1dFN5bWJvbHNbc3ltYm9sSWRdOwogICAgICAgIHZhciBzeW1ib2xXaWR0aCA9IHN5bWJvbEJpdG1hcFswXS5sZW5ndGg7CiAgICAgICAgdmFyIHN5bWJvbEhlaWdodCA9IHN5bWJvbEJpdG1hcC5sZW5ndGg7CiAgICAgICAgaWYgKGFwcGx5UmVmaW5lbWVudCkgewogICAgICAgICAgdmFyIHJkdyA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFSRFcnLCBkZWNvZGVyKTsgLy8gNi40LjExLjEKICAgICAgICAgIHZhciByZGggPSBkZWNvZGVJbnRlZ2VyKGNvbnRleHRDYWNoZSwgJ0lBUkRIJywgZGVjb2Rlcik7IC8vIDYuNC4xMS4yCiAgICAgICAgICB2YXIgcmR4ID0gZGVjb2RlSW50ZWdlcihjb250ZXh0Q2FjaGUsICdJQVJEWCcsIGRlY29kZXIpOyAvLyA2LjQuMTEuMwogICAgICAgICAgdmFyIHJkeSA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFSRFknLCBkZWNvZGVyKTsgLy8gNi40LjExLjQKICAgICAgICAgIHN5bWJvbFdpZHRoICs9IHJkdzsKICAgICAgICAgIHN5bWJvbEhlaWdodCArPSByZGg7CiAgICAgICAgICBzeW1ib2xCaXRtYXAgPSBkZWNvZGVSZWZpbmVtZW50KHN5bWJvbFdpZHRoLCBzeW1ib2xIZWlnaHQsCiAgICAgICAgICAgIHJlZmluZW1lbnRUZW1wbGF0ZUluZGV4LCBzeW1ib2xCaXRtYXAsIChyZHcgPj4gMSkgKyByZHgsCiAgICAgICAgICAgIChyZGggPj4gMSkgKyByZHksIGZhbHNlLCByZWZpbmVtZW50QXQsCiAgICAgICAgICAgIGRlY29kaW5nQ29udGV4dCk7CiAgICAgICAgfQogICAgICAgIHZhciBvZmZzZXRUID0gdCAtICgocmVmZXJlbmNlQ29ybmVyICYgMSkgPyAwIDogc3ltYm9sSGVpZ2h0KTsKICAgICAgICB2YXIgb2Zmc2V0UyA9IGN1cnJlbnRTIC0gKChyZWZlcmVuY2VDb3JuZXIgJiAyKSA/IHN5bWJvbFdpZHRoIDogMCk7CiAgICAgICAgdmFyIHMyLCB0Miwgc3ltYm9sUm93OwogICAgICAgIGlmICh0cmFuc3Bvc2VkKSB7CiAgICAgICAgICAvLyBQbGFjZSBTeW1ib2wgQml0bWFwIGZyb20gVDEsUzEKICAgICAgICAgIGZvciAoczIgPSAwOyBzMiA8IHN5bWJvbEhlaWdodDsgczIrKykgewogICAgICAgICAgICByb3cgPSBiaXRtYXBbb2Zmc2V0UyArIHMyXTsKICAgICAgICAgICAgaWYgKCFyb3cpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzeW1ib2xSb3cgPSBzeW1ib2xCaXRtYXBbczJdOwogICAgICAgICAgICAvLyBUbyBpZ25vcmUgUGFydHMgb2YgU3ltYm9sIGJpdG1hcCB3aGljaCBnb2VzCiAgICAgICAgICAgIC8vIG91dHNpZGUgYml0bWFwIHJlZ2lvbgogICAgICAgICAgICB2YXIgbWF4V2lkdGggPSBNYXRoLm1pbih3aWR0aCAtIG9mZnNldFQsIHN5bWJvbFdpZHRoKTsKICAgICAgICAgICAgc3dpdGNoIChjb21iaW5hdGlvbk9wZXJhdG9yKSB7CiAgICAgICAgICAgICAgY2FzZSAwOiAvLyBPUgogICAgICAgICAgICAgICAgZm9yICh0MiA9IDA7IHQyIDwgbWF4V2lkdGg7IHQyKyspIHsKICAgICAgICAgICAgICAgICAgcm93W29mZnNldFQgKyB0Ml0gfD0gc3ltYm9sUm93W3QyXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgMjogLy8gWE9SCiAgICAgICAgICAgICAgICBmb3IgKHQyID0gMDsgdDIgPCBtYXhXaWR0aDsgdDIrKykgewogICAgICAgICAgICAgICAgICByb3dbb2Zmc2V0VCArIHQyXSBePSBzeW1ib2xSb3dbdDJdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIGVycm9yKCdKQklHMiBlcnJvcjogb3BlcmF0b3IgJyArIGNvbWJpbmF0aW9uT3BlcmF0b3IgKwogICAgICAgICAgICAgICAgICAgICAgJyBpcyBub3Qgc3VwcG9ydGVkJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGN1cnJlbnRTICs9IHN5bWJvbEhlaWdodCAtIDE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGZvciAodDIgPSAwOyB0MiA8IHN5bWJvbEhlaWdodDsgdDIrKykgewogICAgICAgICAgICByb3cgPSBiaXRtYXBbb2Zmc2V0VCArIHQyXTsKICAgICAgICAgICAgaWYgKCFyb3cpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzeW1ib2xSb3cgPSBzeW1ib2xCaXRtYXBbdDJdOwogICAgICAgICAgICBzd2l0Y2ggKGNvbWJpbmF0aW9uT3BlcmF0b3IpIHsKICAgICAgICAgICAgICBjYXNlIDA6IC8vIE9SCiAgICAgICAgICAgICAgICBmb3IgKHMyID0gMDsgczIgPCBzeW1ib2xXaWR0aDsgczIrKykgewogICAgICAgICAgICAgICAgICByb3dbb2Zmc2V0UyArIHMyXSB8PSBzeW1ib2xSb3dbczJdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAyOiAvLyBYT1IKICAgICAgICAgICAgICAgIGZvciAoczIgPSAwOyBzMiA8IHN5bWJvbFdpZHRoOyBzMisrKSB7CiAgICAgICAgICAgICAgICAgIHJvd1tvZmZzZXRTICsgczJdIF49IHN5bWJvbFJvd1tzMl07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBvcGVyYXRvciAnICsgY29tYmluYXRpb25PcGVyYXRvciArCiAgICAgICAgICAgICAgICAgICAgICAnIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgY3VycmVudFMgKz0gc3ltYm9sV2lkdGggLSAxOwogICAgICAgIH0KICAgICAgICBpKys7CiAgICAgICAgdmFyIGRlbHRhUyA9IGRlY29kZUludGVnZXIoY29udGV4dENhY2hlLCAnSUFEUycsIGRlY29kZXIpOyAvLyA2LjQuOAogICAgICAgIGlmIChkZWx0YVMgPT09IG51bGwpIHsKICAgICAgICAgIGJyZWFrOyAvLyBPT0IKICAgICAgICB9CiAgICAgICAgY3VycmVudFMgKz0gZGVsdGFTICsgZHNPZmZzZXQ7CiAgICAgIH0gd2hpbGUgKHRydWUpOwogICAgfQogICAgcmV0dXJuIGJpdG1hcDsKICB9CgogIGZ1bmN0aW9uIHJlYWRTZWdtZW50SGVhZGVyKGRhdGEsIHN0YXJ0KSB7CiAgICB2YXIgc2VnbWVudEhlYWRlciA9IHt9OwogICAgc2VnbWVudEhlYWRlci5udW1iZXIgPSByZWFkVWludDMyKGRhdGEsIHN0YXJ0KTsKICAgIHZhciBmbGFncyA9IGRhdGFbc3RhcnQgKyA0XTsKICAgIHZhciBzZWdtZW50VHlwZSA9IGZsYWdzICYgMHgzRjsKICAgIGlmICghU2VnbWVudFR5cGVzW3NlZ21lbnRUeXBlXSkgewogICAgICBlcnJvcignSkJJRzIgZXJyb3I6IGludmFsaWQgc2VnbWVudCB0eXBlOiAnICsgc2VnbWVudFR5cGUpOwogICAgfQogICAgc2VnbWVudEhlYWRlci50eXBlID0gc2VnbWVudFR5cGU7CiAgICBzZWdtZW50SGVhZGVyLnR5cGVOYW1lID0gU2VnbWVudFR5cGVzW3NlZ21lbnRUeXBlXTsKICAgIHNlZ21lbnRIZWFkZXIuZGVmZXJyZWROb25SZXRhaW4gPSAhIShmbGFncyAmIDB4ODApOwoKICAgIHZhciBwYWdlQXNzb2NpYXRpb25GaWVsZFNpemUgPSAhIShmbGFncyAmIDB4NDApOwogICAgdmFyIHJlZmVycmVkRmxhZ3MgPSBkYXRhW3N0YXJ0ICsgNV07CiAgICB2YXIgcmVmZXJyZWRUb0NvdW50ID0gKHJlZmVycmVkRmxhZ3MgPj4gNSkgJiA3OwogICAgdmFyIHJldGFpbkJpdHMgPSBbcmVmZXJyZWRGbGFncyAmIDMxXTsKICAgIHZhciBwb3NpdGlvbiA9IHN0YXJ0ICsgNjsKICAgIGlmIChyZWZlcnJlZEZsYWdzID09PSA3KSB7CiAgICAgIHJlZmVycmVkVG9Db3VudCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gLSAxKSAmIDB4MUZGRkZGRkY7CiAgICAgIHBvc2l0aW9uICs9IDM7CiAgICAgIHZhciBieXRlcyA9IChyZWZlcnJlZFRvQ291bnQgKyA3KSA+PiAzOwogICAgICByZXRhaW5CaXRzWzBdID0gZGF0YVtwb3NpdGlvbisrXTsKICAgICAgd2hpbGUgKC0tYnl0ZXMgPiAwKSB7CiAgICAgICAgcmV0YWluQml0cy5wdXNoKGRhdGFbcG9zaXRpb24rK10pOwogICAgICB9CiAgICB9IGVsc2UgaWYgKHJlZmVycmVkRmxhZ3MgPT09IDUgfHwgcmVmZXJyZWRGbGFncyA9PT0gNikgewogICAgICBlcnJvcignSkJJRzIgZXJyb3I6IGludmFsaWQgcmVmZXJyZWQtdG8gZmxhZ3MnKTsKICAgIH0KCiAgICBzZWdtZW50SGVhZGVyLnJldGFpbkJpdHMgPSByZXRhaW5CaXRzOwogICAgdmFyIHJlZmVycmVkVG9TZWdtZW50TnVtYmVyU2l6ZSA9IChzZWdtZW50SGVhZGVyLm51bWJlciA8PSAyNTYgPyAxIDoKICAgICAgKHNlZ21lbnRIZWFkZXIubnVtYmVyIDw9IDY1NTM2ID8gMiA6IDQpKTsKICAgIHZhciByZWZlcnJlZFRvID0gW107CiAgICB2YXIgaSwgaWk7CiAgICBmb3IgKGkgPSAwOyBpIDwgcmVmZXJyZWRUb0NvdW50OyBpKyspIHsKICAgICAgdmFyIG51bWJlciA9IChyZWZlcnJlZFRvU2VnbWVudE51bWJlclNpemUgPT09IDEgPyBkYXRhW3Bvc2l0aW9uXSA6CiAgICAgICAgKHJlZmVycmVkVG9TZWdtZW50TnVtYmVyU2l6ZSA9PT0gMiA/IHJlYWRVaW50MTYoZGF0YSwgcG9zaXRpb24pIDoKICAgICAgICByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uKSkpOwogICAgICByZWZlcnJlZFRvLnB1c2gobnVtYmVyKTsKICAgICAgcG9zaXRpb24gKz0gcmVmZXJyZWRUb1NlZ21lbnROdW1iZXJTaXplOwogICAgfQogICAgc2VnbWVudEhlYWRlci5yZWZlcnJlZFRvID0gcmVmZXJyZWRUbzsKICAgIGlmICghcGFnZUFzc29jaWF0aW9uRmllbGRTaXplKSB7CiAgICAgIHNlZ21lbnRIZWFkZXIucGFnZUFzc29jaWF0aW9uID0gZGF0YVtwb3NpdGlvbisrXTsKICAgIH0gZWxzZSB7CiAgICAgIHNlZ21lbnRIZWFkZXIucGFnZUFzc29jaWF0aW9uID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbik7CiAgICAgIHBvc2l0aW9uICs9IDQ7CiAgICB9CiAgICBzZWdtZW50SGVhZGVyLmxlbmd0aCA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pOwogICAgcG9zaXRpb24gKz0gNDsKCiAgICBpZiAoc2VnbWVudEhlYWRlci5sZW5ndGggPT09IDB4RkZGRkZGRkYpIHsKICAgICAgLy8gNy4yLjcgU2VnbWVudCBkYXRhIGxlbmd0aCwgdW5rbm93biBzZWdtZW50IGxlbmd0aAogICAgICBpZiAoc2VnbWVudFR5cGUgPT09IDM4KSB7IC8vIEltbWVkaWF0ZUdlbmVyaWNSZWdpb24KICAgICAgICB2YXIgZ2VuZXJpY1JlZ2lvbkluZm8gPSByZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgICB2YXIgZ2VuZXJpY1JlZ2lvblNlZ21lbnRGbGFncyA9IGRhdGFbcG9zaXRpb24gKwogICAgICAgICAgUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uRmllbGRMZW5ndGhdOwogICAgICAgIHZhciBnZW5lcmljUmVnaW9uTW1yID0gISEoZ2VuZXJpY1JlZ2lvblNlZ21lbnRGbGFncyAmIDEpOwogICAgICAgIC8vIHNlYXJjaGluZyBmb3IgdGhlIHNlZ21lbnQgZW5kCiAgICAgICAgdmFyIHNlYXJjaFBhdHRlcm5MZW5ndGggPSA2OwogICAgICAgIHZhciBzZWFyY2hQYXR0ZXJuID0gbmV3IFVpbnQ4QXJyYXkoc2VhcmNoUGF0dGVybkxlbmd0aCk7CiAgICAgICAgaWYgKCFnZW5lcmljUmVnaW9uTW1yKSB7CiAgICAgICAgICBzZWFyY2hQYXR0ZXJuWzBdID0gMHhGRjsKICAgICAgICAgIHNlYXJjaFBhdHRlcm5bMV0gPSAweEFDOwogICAgICAgIH0KICAgICAgICBzZWFyY2hQYXR0ZXJuWzJdID0gKGdlbmVyaWNSZWdpb25JbmZvLmhlaWdodCA+Pj4gMjQpICYgMHhGRjsKICAgICAgICBzZWFyY2hQYXR0ZXJuWzNdID0gKGdlbmVyaWNSZWdpb25JbmZvLmhlaWdodCA+PiAxNikgJiAweEZGOwogICAgICAgIHNlYXJjaFBhdHRlcm5bNF0gPSAoZ2VuZXJpY1JlZ2lvbkluZm8uaGVpZ2h0ID4+IDgpICYgMHhGRjsKICAgICAgICBzZWFyY2hQYXR0ZXJuWzVdID0gZ2VuZXJpY1JlZ2lvbkluZm8uaGVpZ2h0ICYgMHhGRjsKICAgICAgICBmb3IgKGkgPSBwb3NpdGlvbiwgaWkgPSBkYXRhLmxlbmd0aDsgaSA8IGlpOyBpKyspIHsKICAgICAgICAgIHZhciBqID0gMDsKICAgICAgICAgIHdoaWxlIChqIDwgc2VhcmNoUGF0dGVybkxlbmd0aCAmJiBzZWFyY2hQYXR0ZXJuW2pdID09PSBkYXRhW2kgKyBqXSkgewogICAgICAgICAgICBqKys7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoaiA9PT0gc2VhcmNoUGF0dGVybkxlbmd0aCkgewogICAgICAgICAgICBzZWdtZW50SGVhZGVyLmxlbmd0aCA9IGkgKyBzZWFyY2hQYXR0ZXJuTGVuZ3RoOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKHNlZ21lbnRIZWFkZXIubGVuZ3RoID09PSAweEZGRkZGRkZGKSB7CiAgICAgICAgICBlcnJvcignSkJJRzIgZXJyb3I6IHNlZ21lbnQgZW5kIHdhcyBub3QgZm91bmQnKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBpbnZhbGlkIHVua25vd24gc2VnbWVudCBsZW5ndGgnKTsKICAgICAgfQogICAgfQogICAgc2VnbWVudEhlYWRlci5oZWFkZXJFbmQgPSBwb3NpdGlvbjsKICAgIHJldHVybiBzZWdtZW50SGVhZGVyOwogIH0KCiAgZnVuY3Rpb24gcmVhZFNlZ21lbnRzKGhlYWRlciwgZGF0YSwgc3RhcnQsIGVuZCkgewogICAgdmFyIHNlZ21lbnRzID0gW107CiAgICB2YXIgcG9zaXRpb24gPSBzdGFydDsKICAgIHdoaWxlIChwb3NpdGlvbiA8IGVuZCkgewogICAgICB2YXIgc2VnbWVudEhlYWRlciA9IHJlYWRTZWdtZW50SGVhZGVyKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgcG9zaXRpb24gPSBzZWdtZW50SGVhZGVyLmhlYWRlckVuZDsKICAgICAgdmFyIHNlZ21lbnQgPSB7CiAgICAgICAgaGVhZGVyOiBzZWdtZW50SGVhZGVyLAogICAgICAgIGRhdGE6IGRhdGEKICAgICAgfTsKICAgICAgaWYgKCFoZWFkZXIucmFuZG9tQWNjZXNzKSB7CiAgICAgICAgc2VnbWVudC5zdGFydCA9IHBvc2l0aW9uOwogICAgICAgIHBvc2l0aW9uICs9IHNlZ21lbnRIZWFkZXIubGVuZ3RoOwogICAgICAgIHNlZ21lbnQuZW5kID0gcG9zaXRpb247CiAgICAgIH0KICAgICAgc2VnbWVudHMucHVzaChzZWdtZW50KTsKICAgICAgaWYgKHNlZ21lbnRIZWFkZXIudHlwZSA9PT0gNTEpIHsKICAgICAgICBicmVhazsgLy8gZW5kIG9mIGZpbGUgaXMgZm91bmQKICAgICAgfQogICAgfQogICAgaWYgKGhlYWRlci5yYW5kb21BY2Nlc3MpIHsKICAgICAgZm9yICh2YXIgaSA9IDAsIGlpID0gc2VnbWVudHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIHNlZ21lbnRzW2ldLnN0YXJ0ID0gcG9zaXRpb247CiAgICAgICAgcG9zaXRpb24gKz0gc2VnbWVudHNbaV0uaGVhZGVyLmxlbmd0aDsKICAgICAgICBzZWdtZW50c1tpXS5lbmQgPSBwb3NpdGlvbjsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHNlZ21lbnRzOwogIH0KCiAgLy8gNy40LjEgUmVnaW9uIHNlZ21lbnQgaW5mb3JtYXRpb24gZmllbGQKICBmdW5jdGlvbiByZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGRhdGEsIHN0YXJ0KSB7CiAgICByZXR1cm4gewogICAgICB3aWR0aDogcmVhZFVpbnQzMihkYXRhLCBzdGFydCksCiAgICAgIGhlaWdodDogcmVhZFVpbnQzMihkYXRhLCBzdGFydCArIDQpLAogICAgICB4OiByZWFkVWludDMyKGRhdGEsIHN0YXJ0ICsgOCksCiAgICAgIHk6IHJlYWRVaW50MzIoZGF0YSwgc3RhcnQgKyAxMiksCiAgICAgIGNvbWJpbmF0aW9uT3BlcmF0b3I6IGRhdGFbc3RhcnQgKyAxNl0gJiA3CiAgICB9OwogIH0KICB2YXIgUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uRmllbGRMZW5ndGggPSAxNzsKCiAgZnVuY3Rpb24gcHJvY2Vzc1NlZ21lbnQoc2VnbWVudCwgdmlzaXRvcikgewogICAgdmFyIGhlYWRlciA9IHNlZ21lbnQuaGVhZGVyOwoKICAgIHZhciBkYXRhID0gc2VnbWVudC5kYXRhLCBwb3NpdGlvbiA9IHNlZ21lbnQuc3RhcnQsIGVuZCA9IHNlZ21lbnQuZW5kOwogICAgdmFyIGFyZ3MsIGF0LCBpLCBhdExlbmd0aDsKICAgIHN3aXRjaCAoaGVhZGVyLnR5cGUpIHsKICAgICAgY2FzZSAwOiAvLyBTeW1ib2xEaWN0aW9uYXJ5CiAgICAgICAgLy8gNy40LjIgU3ltYm9sIGRpY3Rpb25hcnkgc2VnbWVudCBzeW50YXgKICAgICAgICB2YXIgZGljdGlvbmFyeSA9IHt9OwogICAgICAgIHZhciBkaWN0aW9uYXJ5RmxhZ3MgPSByZWFkVWludDE2KGRhdGEsIHBvc2l0aW9uKTsgLy8gNy40LjIuMS4xCiAgICAgICAgZGljdGlvbmFyeS5odWZmbWFuID0gISEoZGljdGlvbmFyeUZsYWdzICYgMSk7CiAgICAgICAgZGljdGlvbmFyeS5yZWZpbmVtZW50ID0gISEoZGljdGlvbmFyeUZsYWdzICYgMik7CiAgICAgICAgZGljdGlvbmFyeS5odWZmbWFuREhTZWxlY3RvciA9IChkaWN0aW9uYXJ5RmxhZ3MgPj4gMikgJiAzOwogICAgICAgIGRpY3Rpb25hcnkuaHVmZm1hbkRXU2VsZWN0b3IgPSAoZGljdGlvbmFyeUZsYWdzID4+IDQpICYgMzsKICAgICAgICBkaWN0aW9uYXJ5LmJpdG1hcFNpemVTZWxlY3RvciA9IChkaWN0aW9uYXJ5RmxhZ3MgPj4gNikgJiAxOwogICAgICAgIGRpY3Rpb25hcnkuYWdncmVnYXRpb25JbnN0YW5jZXNTZWxlY3RvciA9IChkaWN0aW9uYXJ5RmxhZ3MgPj4gNykgJiAxOwogICAgICAgIGRpY3Rpb25hcnkuYml0bWFwQ29kaW5nQ29udGV4dFVzZWQgPSAhIShkaWN0aW9uYXJ5RmxhZ3MgJiAyNTYpOwogICAgICAgIGRpY3Rpb25hcnkuYml0bWFwQ29kaW5nQ29udGV4dFJldGFpbmVkID0gISEoZGljdGlvbmFyeUZsYWdzICYgNTEyKTsKICAgICAgICBkaWN0aW9uYXJ5LnRlbXBsYXRlID0gKGRpY3Rpb25hcnlGbGFncyA+PiAxMCkgJiAzOwogICAgICAgIGRpY3Rpb25hcnkucmVmaW5lbWVudFRlbXBsYXRlID0gKGRpY3Rpb25hcnlGbGFncyA+PiAxMikgJiAxOwogICAgICAgIHBvc2l0aW9uICs9IDI7CiAgICAgICAgaWYgKCFkaWN0aW9uYXJ5Lmh1ZmZtYW4pIHsKICAgICAgICAgIGF0TGVuZ3RoID0gZGljdGlvbmFyeS50ZW1wbGF0ZSA9PT0gMCA/IDQgOiAxOwogICAgICAgICAgYXQgPSBbXTsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhdExlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGF0LnB1c2goewogICAgICAgICAgICAgIHg6IHJlYWRJbnQ4KGRhdGEsIHBvc2l0aW9uKSwKICAgICAgICAgICAgICB5OiByZWFkSW50OChkYXRhLCBwb3NpdGlvbiArIDEpCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBwb3NpdGlvbiArPSAyOwogICAgICAgICAgfQogICAgICAgICAgZGljdGlvbmFyeS5hdCA9IGF0OwogICAgICAgIH0KICAgICAgICBpZiAoZGljdGlvbmFyeS5yZWZpbmVtZW50ICYmICFkaWN0aW9uYXJ5LnJlZmluZW1lbnRUZW1wbGF0ZSkgewogICAgICAgICAgYXQgPSBbXTsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKICAgICAgICAgICAgYXQucHVzaCh7CiAgICAgICAgICAgICAgeDogcmVhZEludDgoZGF0YSwgcG9zaXRpb24pLAogICAgICAgICAgICAgIHk6IHJlYWRJbnQ4KGRhdGEsIHBvc2l0aW9uICsgMSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHBvc2l0aW9uICs9IDI7CiAgICAgICAgICB9CiAgICAgICAgICBkaWN0aW9uYXJ5LnJlZmluZW1lbnRBdCA9IGF0OwogICAgICAgIH0KICAgICAgICBkaWN0aW9uYXJ5Lm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzID0gcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgcG9zaXRpb24gKz0gNDsKICAgICAgICBkaWN0aW9uYXJ5Lm51bWJlck9mTmV3U3ltYm9scyA9IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24pOwogICAgICAgIHBvc2l0aW9uICs9IDQ7CiAgICAgICAgYXJncyA9IFtkaWN0aW9uYXJ5LCBoZWFkZXIubnVtYmVyLCBoZWFkZXIucmVmZXJyZWRUbywKICAgICAgICAgICAgICAgIGRhdGEsIHBvc2l0aW9uLCBlbmRdOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDY6IC8vIEltbWVkaWF0ZVRleHRSZWdpb24KICAgICAgY2FzZSA3OiAvLyBJbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb24KICAgICAgICB2YXIgdGV4dFJlZ2lvbiA9IHt9OwogICAgICAgIHRleHRSZWdpb24uaW5mbyA9IHJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oZGF0YSwgcG9zaXRpb24pOwogICAgICAgIHBvc2l0aW9uICs9IFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbkZpZWxkTGVuZ3RoOwogICAgICAgIHZhciB0ZXh0UmVnaW9uU2VnbWVudEZsYWdzID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgcG9zaXRpb24gKz0gMjsKICAgICAgICB0ZXh0UmVnaW9uLmh1ZmZtYW4gPSAhISh0ZXh0UmVnaW9uU2VnbWVudEZsYWdzICYgMSk7CiAgICAgICAgdGV4dFJlZ2lvbi5yZWZpbmVtZW50ID0gISEodGV4dFJlZ2lvblNlZ21lbnRGbGFncyAmIDIpOwogICAgICAgIHRleHRSZWdpb24uc3RyaXBTaXplID0gMSA8PCAoKHRleHRSZWdpb25TZWdtZW50RmxhZ3MgPj4gMikgJiAzKTsKICAgICAgICB0ZXh0UmVnaW9uLnJlZmVyZW5jZUNvcm5lciA9ICh0ZXh0UmVnaW9uU2VnbWVudEZsYWdzID4+IDQpICYgMzsKICAgICAgICB0ZXh0UmVnaW9uLnRyYW5zcG9zZWQgPSAhISh0ZXh0UmVnaW9uU2VnbWVudEZsYWdzICYgNjQpOwogICAgICAgIHRleHRSZWdpb24uY29tYmluYXRpb25PcGVyYXRvciA9ICh0ZXh0UmVnaW9uU2VnbWVudEZsYWdzID4+IDcpICYgMzsKICAgICAgICB0ZXh0UmVnaW9uLmRlZmF1bHRQaXhlbFZhbHVlID0gKHRleHRSZWdpb25TZWdtZW50RmxhZ3MgPj4gOSkgJiAxOwogICAgICAgIHRleHRSZWdpb24uZHNPZmZzZXQgPSAodGV4dFJlZ2lvblNlZ21lbnRGbGFncyA8PCAxNykgPj4gMjc7CiAgICAgICAgdGV4dFJlZ2lvbi5yZWZpbmVtZW50VGVtcGxhdGUgPSAodGV4dFJlZ2lvblNlZ21lbnRGbGFncyA+PiAxNSkgJiAxOwogICAgICAgIGlmICh0ZXh0UmVnaW9uLmh1ZmZtYW4pIHsKICAgICAgICAgIHZhciB0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbik7CiAgICAgICAgICBwb3NpdGlvbiArPSAyOwogICAgICAgICAgdGV4dFJlZ2lvbi5odWZmbWFuRlMgPSAodGV4dFJlZ2lvbkh1ZmZtYW5GbGFncykgJiAzOwogICAgICAgICAgdGV4dFJlZ2lvbi5odWZmbWFuRFMgPSAodGV4dFJlZ2lvbkh1ZmZtYW5GbGFncyA+PiAyKSAmIDM7CiAgICAgICAgICB0ZXh0UmVnaW9uLmh1ZmZtYW5EVCA9ICh0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID4+IDQpICYgMzsKICAgICAgICAgIHRleHRSZWdpb24uaHVmZm1hblJlZmluZW1lbnREVyA9ICh0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID4+IDYpICYgMzsKICAgICAgICAgIHRleHRSZWdpb24uaHVmZm1hblJlZmluZW1lbnRESCA9ICh0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID4+IDgpICYgMzsKICAgICAgICAgIHRleHRSZWdpb24uaHVmZm1hblJlZmluZW1lbnREWCA9ICh0ZXh0UmVnaW9uSHVmZm1hbkZsYWdzID4+IDEwKSAmIDM7CiAgICAgICAgICB0ZXh0UmVnaW9uLmh1ZmZtYW5SZWZpbmVtZW50RFkgPSAodGV4dFJlZ2lvbkh1ZmZtYW5GbGFncyA+PiAxMikgJiAzOwogICAgICAgICAgdGV4dFJlZ2lvbi5odWZmbWFuUmVmaW5lbWVudFNpemVTZWxlY3RvciA9CiAgICAgICAgICAgICEhKHRleHRSZWdpb25IdWZmbWFuRmxhZ3MgJiAxNCk7CiAgICAgICAgfQogICAgICAgIGlmICh0ZXh0UmVnaW9uLnJlZmluZW1lbnQgJiYgIXRleHRSZWdpb24ucmVmaW5lbWVudFRlbXBsYXRlKSB7CiAgICAgICAgICBhdCA9IFtdOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgICAgICBhdC5wdXNoKHsKICAgICAgICAgICAgICB4OiByZWFkSW50OChkYXRhLCBwb3NpdGlvbiksCiAgICAgICAgICAgICAgeTogcmVhZEludDgoZGF0YSwgcG9zaXRpb24gKyAxKQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgcG9zaXRpb24gKz0gMjsKICAgICAgICAgIH0KICAgICAgICAgIHRleHRSZWdpb24ucmVmaW5lbWVudEF0ID0gYXQ7CiAgICAgICAgfQogICAgICAgIHRleHRSZWdpb24ubnVtYmVyT2ZTeW1ib2xJbnN0YW5jZXMgPSByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgICBwb3NpdGlvbiArPSA0OwogICAgICAgIC8vIFRPRE8gNy40LjMuMS43IFN5bWJvbCBJRCBIdWZmbWFuIHRhYmxlIGRlY29kaW5nCiAgICAgICAgaWYgKHRleHRSZWdpb24uaHVmZm1hbikgewogICAgICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBodWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgICAgICB9CiAgICAgICAgYXJncyA9IFt0ZXh0UmVnaW9uLCBoZWFkZXIucmVmZXJyZWRUbywgZGF0YSwgcG9zaXRpb24sIGVuZF07CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgMzg6IC8vIEltbWVkaWF0ZUdlbmVyaWNSZWdpb24KICAgICAgY2FzZSAzOTogLy8gSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uCiAgICAgICAgdmFyIGdlbmVyaWNSZWdpb24gPSB7fTsKICAgICAgICBnZW5lcmljUmVnaW9uLmluZm8gPSByZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgICBwb3NpdGlvbiArPSBSZWdpb25TZWdtZW50SW5mb3JtYXRpb25GaWVsZExlbmd0aDsKICAgICAgICB2YXIgZ2VuZXJpY1JlZ2lvblNlZ21lbnRGbGFncyA9IGRhdGFbcG9zaXRpb24rK107CiAgICAgICAgZ2VuZXJpY1JlZ2lvbi5tbXIgPSAhIShnZW5lcmljUmVnaW9uU2VnbWVudEZsYWdzICYgMSk7CiAgICAgICAgZ2VuZXJpY1JlZ2lvbi50ZW1wbGF0ZSA9IChnZW5lcmljUmVnaW9uU2VnbWVudEZsYWdzID4+IDEpICYgMzsKICAgICAgICBnZW5lcmljUmVnaW9uLnByZWRpY3Rpb24gPSAhIShnZW5lcmljUmVnaW9uU2VnbWVudEZsYWdzICYgOCk7CiAgICAgICAgaWYgKCFnZW5lcmljUmVnaW9uLm1tcikgewogICAgICAgICAgYXRMZW5ndGggPSBnZW5lcmljUmVnaW9uLnRlbXBsYXRlID09PSAwID8gNCA6IDE7CiAgICAgICAgICBhdCA9IFtdOwogICAgICAgICAgZm9yIChpID0gMDsgaSA8IGF0TGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgYXQucHVzaCh7CiAgICAgICAgICAgICAgeDogcmVhZEludDgoZGF0YSwgcG9zaXRpb24pLAogICAgICAgICAgICAgIHk6IHJlYWRJbnQ4KGRhdGEsIHBvc2l0aW9uICsgMSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHBvc2l0aW9uICs9IDI7CiAgICAgICAgICB9CiAgICAgICAgICBnZW5lcmljUmVnaW9uLmF0ID0gYXQ7CiAgICAgICAgfQogICAgICAgIGFyZ3MgPSBbZ2VuZXJpY1JlZ2lvbiwgZGF0YSwgcG9zaXRpb24sIGVuZF07CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDg6IC8vIFBhZ2VJbmZvcm1hdGlvbgogICAgICAgIHZhciBwYWdlSW5mbyA9IHsKICAgICAgICAgIHdpZHRoOiByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uKSwKICAgICAgICAgIGhlaWdodDogcmVhZFVpbnQzMihkYXRhLCBwb3NpdGlvbiArIDQpLAogICAgICAgICAgcmVzb2x1dGlvblg6IHJlYWRVaW50MzIoZGF0YSwgcG9zaXRpb24gKyA4KSwKICAgICAgICAgIHJlc29sdXRpb25ZOiByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uICsgMTIpCiAgICAgICAgfTsKICAgICAgICBpZiAocGFnZUluZm8uaGVpZ2h0ID09PSAweEZGRkZGRkZGKSB7CiAgICAgICAgICBkZWxldGUgcGFnZUluZm8uaGVpZ2h0OwogICAgICAgIH0KICAgICAgICB2YXIgcGFnZVNlZ21lbnRGbGFncyA9IGRhdGFbcG9zaXRpb24gKyAxNl07CiAgICAgICAgdmFyIHBhZ2VTdHJpcGluZ0luZm9ybWF0aW9tID0gcmVhZFVpbnQxNihkYXRhLCBwb3NpdGlvbiArIDE3KTsKICAgICAgICBwYWdlSW5mby5sb3NzbGVzcyA9ICEhKHBhZ2VTZWdtZW50RmxhZ3MgJiAxKTsKICAgICAgICBwYWdlSW5mby5yZWZpbmVtZW50ID0gISEocGFnZVNlZ21lbnRGbGFncyAmIDIpOwogICAgICAgIHBhZ2VJbmZvLmRlZmF1bHRQaXhlbFZhbHVlID0gKHBhZ2VTZWdtZW50RmxhZ3MgPj4gMikgJiAxOwogICAgICAgIHBhZ2VJbmZvLmNvbWJpbmF0aW9uT3BlcmF0b3IgPSAocGFnZVNlZ21lbnRGbGFncyA+PiAzKSAmIDM7CiAgICAgICAgcGFnZUluZm8ucmVxdWlyZXNCdWZmZXIgPSAhIShwYWdlU2VnbWVudEZsYWdzICYgMzIpOwogICAgICAgIHBhZ2VJbmZvLmNvbWJpbmF0aW9uT3BlcmF0b3JPdmVycmlkZSA9ICEhKHBhZ2VTZWdtZW50RmxhZ3MgJiA2NCk7CiAgICAgICAgYXJncyA9IFtwYWdlSW5mb107CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgNDk6IC8vIEVuZE9mUGFnZQogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDUwOiAvLyBFbmRPZlN0cmlwZQogICAgICAgIGJyZWFrOwogICAgICBjYXNlIDUxOiAvLyBFbmRPZkZpbGUKICAgICAgICBicmVhazsKICAgICAgY2FzZSA2MjogLy8gNy40LjE1IGRlZmluZXMgMiBleHRlbnNpb24gdHlwZXMgd2hpY2gKICAgICAgICAgICAgICAgLy8gYXJlIGNvbW1lbnRzIGFuZCBjYW4gYmUgaWdub3JlZC4KICAgICAgICBicmVhazsKICAgICAgZGVmYXVsdDoKICAgICAgICBlcnJvcignSkJJRzIgZXJyb3I6IHNlZ21lbnQgdHlwZSAnICsgaGVhZGVyLnR5cGVOYW1lICsgJygnICsKICAgICAgICAgICAgICBoZWFkZXIudHlwZSArICcpIGlzIG5vdCBpbXBsZW1lbnRlZCcpOwogICAgfQogICAgdmFyIGNhbGxiYWNrTmFtZSA9ICdvbicgKyBoZWFkZXIudHlwZU5hbWU7CiAgICBpZiAoY2FsbGJhY2tOYW1lIGluIHZpc2l0b3IpIHsKICAgICAgdmlzaXRvcltjYWxsYmFja05hbWVdLmFwcGx5KHZpc2l0b3IsIGFyZ3MpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcHJvY2Vzc1NlZ21lbnRzKHNlZ21lbnRzLCB2aXNpdG9yKSB7CiAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBzZWdtZW50cy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHByb2Nlc3NTZWdtZW50KHNlZ21lbnRzW2ldLCB2aXNpdG9yKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlSmJpZzIoZGF0YSwgc3RhcnQsIGVuZCkgewogICAgdmFyIHBvc2l0aW9uID0gc3RhcnQ7CiAgICBpZiAoZGF0YVtwb3NpdGlvbl0gIT09IDB4OTcgfHwgZGF0YVtwb3NpdGlvbiArIDFdICE9PSAweDRBIHx8CiAgICAgICAgZGF0YVtwb3NpdGlvbiArIDJdICE9PSAweDQyIHx8IGRhdGFbcG9zaXRpb24gKyAzXSAhPT0gMHgzMiB8fAogICAgICAgIGRhdGFbcG9zaXRpb24gKyA0XSAhPT0gMHgwRCB8fCBkYXRhW3Bvc2l0aW9uICsgNV0gIT09IDB4MEEgfHwKICAgICAgICBkYXRhW3Bvc2l0aW9uICsgNl0gIT09IDB4MUEgfHwgZGF0YVtwb3NpdGlvbiArIDddICE9PSAweDBBKSB7CiAgICAgIGVycm9yKCdKQklHMiBlcnJvcjogaW52YWxpZCBoZWFkZXInKTsKICAgIH0KICAgIHZhciBoZWFkZXIgPSB7fTsKICAgIHBvc2l0aW9uICs9IDg7CiAgICB2YXIgZmxhZ3MgPSBkYXRhW3Bvc2l0aW9uKytdOwogICAgaGVhZGVyLnJhbmRvbUFjY2VzcyA9ICEoZmxhZ3MgJiAxKTsKICAgIGlmICghKGZsYWdzICYgMikpIHsKICAgICAgaGVhZGVyLm51bWJlck9mUGFnZXMgPSByZWFkVWludDMyKGRhdGEsIHBvc2l0aW9uKTsKICAgICAgcG9zaXRpb24gKz0gNDsKICAgIH0KICAgIHZhciBzZWdtZW50cyA9IHJlYWRTZWdtZW50cyhoZWFkZXIsIGRhdGEsIHBvc2l0aW9uLCBlbmQpOwogICAgZXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpOwogICAgLy8gcHJvY2Vzc1NlZ21lbnRzKHNlZ21lbnRzLCBuZXcgU2ltcGxlU2VnbWVudFZpc2l0b3IoKSk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUpiaWcyQ2h1bmtzKGNodW5rcykgewogICAgdmFyIHZpc2l0b3IgPSBuZXcgU2ltcGxlU2VnbWVudFZpc2l0b3IoKTsKICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGNodW5rcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgIHZhciBjaHVuayA9IGNodW5rc1tpXTsKICAgICAgdmFyIHNlZ21lbnRzID0gcmVhZFNlZ21lbnRzKHt9LCBjaHVuay5kYXRhLCBjaHVuay5zdGFydCwgY2h1bmsuZW5kKTsKICAgICAgcHJvY2Vzc1NlZ21lbnRzKHNlZ21lbnRzLCB2aXNpdG9yKTsKICAgIH0KICAgIHJldHVybiB2aXNpdG9yLmJ1ZmZlcjsKICB9CgogIGZ1bmN0aW9uIFNpbXBsZVNlZ21lbnRWaXNpdG9yKCkge30KCiAgU2ltcGxlU2VnbWVudFZpc2l0b3IucHJvdG90eXBlID0gewogICAgb25QYWdlSW5mb3JtYXRpb246IGZ1bmN0aW9uIFNpbXBsZVNlZ21lbnRWaXNpdG9yX29uUGFnZUluZm9ybWF0aW9uKGluZm8pIHsKICAgICAgdGhpcy5jdXJyZW50UGFnZUluZm8gPSBpbmZvOwogICAgICB2YXIgcm93U2l6ZSA9IChpbmZvLndpZHRoICsgNykgPj4gMzsKICAgICAgdmFyIGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KHJvd1NpemUgKiBpbmZvLmhlaWdodCk7CiAgICAgIC8vIFRoZSBjb250ZW50cyBvZiBBcnJheUJ1ZmZlcnMgYXJlIGluaXRpYWxpemVkIHRvIDAuCiAgICAgIC8vIEZpbGwgdGhlIGJ1ZmZlciB3aXRoIDB4RkYgb25seSBpZiBpbmZvLmRlZmF1bHRQaXhlbFZhbHVlIGlzIHNldAogICAgICBpZiAoaW5mby5kZWZhdWx0UGl4ZWxWYWx1ZSkgewogICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IGJ1ZmZlci5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7CiAgICAgICAgICBidWZmZXJbaV0gPSAweEZGOwogICAgICAgIH0KICAgICAgfQogICAgICB0aGlzLmJ1ZmZlciA9IGJ1ZmZlcjsKICAgIH0sCiAgICBkcmF3Qml0bWFwOiBmdW5jdGlvbiBTaW1wbGVTZWdtZW50VmlzaXRvcl9kcmF3Qml0bWFwKHJlZ2lvbkluZm8sIGJpdG1hcCkgewogICAgICB2YXIgcGFnZUluZm8gPSB0aGlzLmN1cnJlbnRQYWdlSW5mbzsKICAgICAgdmFyIHdpZHRoID0gcmVnaW9uSW5mby53aWR0aCwgaGVpZ2h0ID0gcmVnaW9uSW5mby5oZWlnaHQ7CiAgICAgIHZhciByb3dTaXplID0gKHBhZ2VJbmZvLndpZHRoICsgNykgPj4gMzsKICAgICAgdmFyIGNvbWJpbmF0aW9uT3BlcmF0b3IgPSBwYWdlSW5mby5jb21iaW5hdGlvbk9wZXJhdG9yT3ZlcnJpZGUgPwogICAgICAgIHJlZ2lvbkluZm8uY29tYmluYXRpb25PcGVyYXRvciA6IHBhZ2VJbmZvLmNvbWJpbmF0aW9uT3BlcmF0b3I7CiAgICAgIHZhciBidWZmZXIgPSB0aGlzLmJ1ZmZlcjsKICAgICAgdmFyIG1hc2swID0gIDEyOCA+PiAocmVnaW9uSW5mby54ICYgNyk7CiAgICAgIHZhciBvZmZzZXQwID0gcmVnaW9uSW5mby55ICogcm93U2l6ZSArIChyZWdpb25JbmZvLnggPj4gMyk7CiAgICAgIHZhciBpLCBqLCBtYXNrLCBvZmZzZXQ7CiAgICAgIHN3aXRjaCAoY29tYmluYXRpb25PcGVyYXRvcikgewogICAgICAgIGNhc2UgMDogLy8gT1IKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykgewogICAgICAgICAgICBtYXNrID0gbWFzazA7CiAgICAgICAgICAgIG9mZnNldCA9IG9mZnNldDA7CiAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCB3aWR0aDsgaisrKSB7CiAgICAgICAgICAgICAgaWYgKGJpdG1hcFtpXVtqXSkgewogICAgICAgICAgICAgICAgYnVmZmVyW29mZnNldF0gfD0gbWFzazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgbWFzayA+Pj0gMTsKICAgICAgICAgICAgICBpZiAoIW1hc2spIHsKICAgICAgICAgICAgICAgIG1hc2sgPSAxMjg7CiAgICAgICAgICAgICAgICBvZmZzZXQrKzsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgb2Zmc2V0MCArPSByb3dTaXplOwogICAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjogLy8gWE9SCiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaGVpZ2h0OyBpKyspIHsKICAgICAgICAgICAgbWFzayA9IG1hc2swOwogICAgICAgICAgICBvZmZzZXQgPSBvZmZzZXQwOwogICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgd2lkdGg7IGorKykgewogICAgICAgICAgICAgIGlmIChiaXRtYXBbaV1bal0pIHsKICAgICAgICAgICAgICAgIGJ1ZmZlcltvZmZzZXRdIF49IG1hc2s7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG1hc2sgPj49IDE7CiAgICAgICAgICAgICAgaWYgKCFtYXNrKSB7CiAgICAgICAgICAgICAgICBtYXNrID0gMTI4OwogICAgICAgICAgICAgICAgb2Zmc2V0Kys7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIG9mZnNldDAgKz0gcm93U2l6ZTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBlcnJvcignSkJJRzIgZXJyb3I6IG9wZXJhdG9yICcgKyBjb21iaW5hdGlvbk9wZXJhdG9yICsKICAgICAgICAgICAgICAgICcgaXMgbm90IHN1cHBvcnRlZCcpOwogICAgICB9CiAgICB9LAogICAgb25JbW1lZGlhdGVHZW5lcmljUmVnaW9uOgogICAgICBmdW5jdGlvbiBTaW1wbGVTZWdtZW50VmlzaXRvcl9vbkltbWVkaWF0ZUdlbmVyaWNSZWdpb24ocmVnaW9uLCBkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsIGVuZCkgewogICAgICB2YXIgcmVnaW9uSW5mbyA9IHJlZ2lvbi5pbmZvOwogICAgICB2YXIgZGVjb2RpbmdDb250ZXh0ID0gbmV3IERlY29kaW5nQ29udGV4dChkYXRhLCBzdGFydCwgZW5kKTsKICAgICAgdmFyIGJpdG1hcCA9IGRlY29kZUJpdG1hcChyZWdpb24ubW1yLCByZWdpb25JbmZvLndpZHRoLCByZWdpb25JbmZvLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpb24udGVtcGxhdGUsIHJlZ2lvbi5wcmVkaWN0aW9uLCBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lvbi5hdCwgZGVjb2RpbmdDb250ZXh0KTsKICAgICAgdGhpcy5kcmF3Qml0bWFwKHJlZ2lvbkluZm8sIGJpdG1hcCk7CiAgICB9LAogICAgb25JbW1lZGlhdGVMb3NzbGVzc0dlbmVyaWNSZWdpb246CiAgICAgIGZ1bmN0aW9uIFNpbXBsZVNlZ21lbnRWaXNpdG9yX29uSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uKCkgewogICAgICB0aGlzLm9uSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgfSwKICAgIG9uU3ltYm9sRGljdGlvbmFyeToKICAgICAgZnVuY3Rpb24gU2ltcGxlU2VnbWVudFZpc2l0b3Jfb25TeW1ib2xEaWN0aW9uYXJ5KGRpY3Rpb25hcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2VnbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVycmVkU2VnbWVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLCBzdGFydCwgZW5kKSB7CiAgICAgIHZhciBodWZmbWFuVGFibGVzOwogICAgICBpZiAoZGljdGlvbmFyeS5odWZmbWFuKSB7CiAgICAgICAgZXJyb3IoJ0pCSUcyIGVycm9yOiBodWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQnKTsKICAgICAgfQoKICAgICAgLy8gQ29tYmluZXMgZXhwb3J0ZWQgc3ltYm9scyBmcm9tIGFsbCByZWZlcnJlZCBzZWdtZW50cwogICAgICB2YXIgc3ltYm9scyA9IHRoaXMuc3ltYm9sczsKICAgICAgaWYgKCFzeW1ib2xzKSB7CiAgICAgICAgdGhpcy5zeW1ib2xzID0gc3ltYm9scyA9IHt9OwogICAgICB9CgogICAgICB2YXIgaW5wdXRTeW1ib2xzID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHJlZmVycmVkU2VnbWVudHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGlucHV0U3ltYm9scyA9IGlucHV0U3ltYm9scy5jb25jYXQoc3ltYm9sc1tyZWZlcnJlZFNlZ21lbnRzW2ldXSk7CiAgICAgIH0KCiAgICAgIHZhciBkZWNvZGluZ0NvbnRleHQgPSBuZXcgRGVjb2RpbmdDb250ZXh0KGRhdGEsIHN0YXJ0LCBlbmQpOwogICAgICBzeW1ib2xzW2N1cnJlbnRTZWdtZW50XSA9IGRlY29kZVN5bWJvbERpY3Rpb25hcnkoZGljdGlvbmFyeS5odWZmbWFuLAogICAgICAgIGRpY3Rpb25hcnkucmVmaW5lbWVudCwgaW5wdXRTeW1ib2xzLCBkaWN0aW9uYXJ5Lm51bWJlck9mTmV3U3ltYm9scywKICAgICAgICBkaWN0aW9uYXJ5Lm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzLCBodWZmbWFuVGFibGVzLAogICAgICAgIGRpY3Rpb25hcnkudGVtcGxhdGUsIGRpY3Rpb25hcnkuYXQsCiAgICAgICAgZGljdGlvbmFyeS5yZWZpbmVtZW50VGVtcGxhdGUsIGRpY3Rpb25hcnkucmVmaW5lbWVudEF0LAogICAgICAgIGRlY29kaW5nQ29udGV4dCk7CiAgICB9LAogICAgb25JbW1lZGlhdGVUZXh0UmVnaW9uOgogICAgICBmdW5jdGlvbiBTaW1wbGVTZWdtZW50VmlzaXRvcl9vbkltbWVkaWF0ZVRleHRSZWdpb24ocmVnaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJyZWRTZWdtZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIHN0YXJ0LCBlbmQpIHsKICAgICAgdmFyIHJlZ2lvbkluZm8gPSByZWdpb24uaW5mbzsKICAgICAgdmFyIGh1ZmZtYW5UYWJsZXM7CgogICAgICAvLyBDb21iaW5lcyBleHBvcnRlZCBzeW1ib2xzIGZyb20gYWxsIHJlZmVycmVkIHNlZ21lbnRzCiAgICAgIHZhciBzeW1ib2xzID0gdGhpcy5zeW1ib2xzOwogICAgICB2YXIgaW5wdXRTeW1ib2xzID0gW107CiAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHJlZmVycmVkU2VnbWVudHMubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgICAgIGlucHV0U3ltYm9scyA9IGlucHV0U3ltYm9scy5jb25jYXQoc3ltYm9sc1tyZWZlcnJlZFNlZ21lbnRzW2ldXSk7CiAgICAgIH0KICAgICAgdmFyIHN5bWJvbENvZGVMZW5ndGggPSBsb2cyKGlucHV0U3ltYm9scy5sZW5ndGgpOwoKICAgICAgdmFyIGRlY29kaW5nQ29udGV4dCA9IG5ldyBEZWNvZGluZ0NvbnRleHQoZGF0YSwgc3RhcnQsIGVuZCk7CiAgICAgIHZhciBiaXRtYXAgPSBkZWNvZGVUZXh0UmVnaW9uKHJlZ2lvbi5odWZmbWFuLCByZWdpb24ucmVmaW5lbWVudCwKICAgICAgICByZWdpb25JbmZvLndpZHRoLCByZWdpb25JbmZvLmhlaWdodCwgcmVnaW9uLmRlZmF1bHRQaXhlbFZhbHVlLAogICAgICAgIHJlZ2lvbi5udW1iZXJPZlN5bWJvbEluc3RhbmNlcywgcmVnaW9uLnN0cmlwU2l6ZSwgaW5wdXRTeW1ib2xzLAogICAgICAgIHN5bWJvbENvZGVMZW5ndGgsIHJlZ2lvbi50cmFuc3Bvc2VkLCByZWdpb24uZHNPZmZzZXQsCiAgICAgICAgcmVnaW9uLnJlZmVyZW5jZUNvcm5lciwgcmVnaW9uLmNvbWJpbmF0aW9uT3BlcmF0b3IsIGh1ZmZtYW5UYWJsZXMsCiAgICAgICAgcmVnaW9uLnJlZmluZW1lbnRUZW1wbGF0ZSwgcmVnaW9uLnJlZmluZW1lbnRBdCwgZGVjb2RpbmdDb250ZXh0KTsKICAgICAgdGhpcy5kcmF3Qml0bWFwKHJlZ2lvbkluZm8sIGJpdG1hcCk7CiAgICB9LAogICAgb25JbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb246CiAgICAgIGZ1bmN0aW9uIFNpbXBsZVNlZ21lbnRWaXNpdG9yX29uSW1tZWRpYXRlTG9zc2xlc3NUZXh0UmVnaW9uKCkgewogICAgICB0aGlzLm9uSW1tZWRpYXRlVGV4dFJlZ2lvbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgfQogIH07CgogIGZ1bmN0aW9uIEpiaWcySW1hZ2UoKSB7fQoKICBKYmlnMkltYWdlLnByb3RvdHlwZSA9IHsKICAgIHBhcnNlQ2h1bmtzOiBmdW5jdGlvbiBKYmlnMkltYWdlX3BhcnNlQ2h1bmtzKGNodW5rcykgewogICAgICByZXR1cm4gcGFyc2VKYmlnMkNodW5rcyhjaHVua3MpOwogICAgfQogIH07CgogIHJldHVybiBKYmlnMkltYWdlOwp9KSgpOwoKCnZhciBiaWRpID0gUERGSlMuYmlkaSA9IChmdW5jdGlvbiBiaWRpQ2xvc3VyZSgpIHsKICAvLyBDaGFyYWN0ZXIgdHlwZXMgZm9yIHN5bWJvbHMgZnJvbSAwMDAwIHRvIDAwRkYuCiAgdmFyIGJhc2VUeXBlcyA9IFsKICAgICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdTJywgJ0InLCAnUycsICdXUycsCiAgICAnQicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsCiAgICAnQk4nLCAnQk4nLCAnQicsICdCJywgJ0InLCAnUycsICdXUycsICdPTicsICdPTicsICdFVCcsICdFVCcsICdFVCcsICdPTicsCiAgICAnT04nLCAnT04nLCAnT04nLCAnT04nLCAnT04nLCAnQ1MnLCAnT04nLCAnQ1MnLCAnT04nLCAnRU4nLCAnRU4nLCAnRU4nLAogICAgJ0VOJywgJ0VOJywgJ0VOJywgJ0VOJywgJ0VOJywgJ0VOJywgJ0VOJywgJ09OJywgJ09OJywgJ09OJywgJ09OJywgJ09OJywKICAgICdPTicsICdPTicsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywKICAgICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ09OJywgJ09OJywKICAgICdPTicsICdPTicsICdPTicsICdPTicsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywKICAgICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsCiAgICAnTCcsICdPTicsICdPTicsICdPTicsICdPTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCJywgJ0JOJywKICAgICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsICdCTicsCiAgICAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLCAnQk4nLAogICAgJ0JOJywgJ0NTJywgJ09OJywgJ0VUJywgJ0VUJywgJ0VUJywgJ0VUJywgJ09OJywgJ09OJywgJ09OJywgJ09OJywgJ0wnLCAnT04nLAogICAgJ09OJywgJ09OJywgJ09OJywgJ09OJywgJ0VUJywgJ0VUJywgJ0VOJywgJ0VOJywgJ09OJywgJ0wnLCAnT04nLCAnT04nLCAnT04nLAogICAgJ0VOJywgJ0wnLCAnT04nLCAnT04nLCAnT04nLCAnT04nLCAnT04nLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsCiAgICAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLAogICAgJ0wnLCAnT04nLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsCiAgICAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLAogICAgJ0wnLCAnTCcsICdMJywgJ09OJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcsICdMJywgJ0wnLCAnTCcKICBdOwoKICAvLyBDaGFyYWN0ZXIgdHlwZXMgZm9yIHN5bWJvbHMgZnJvbSAwNjAwIHRvIDA2RkYKICB2YXIgYXJhYmljVHlwZXMgPSBbCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0NTJywgJ0FMJywgJ09OJywgJ09OJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywKICAgICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywgJ0FOJywKICAgICdBTicsICdFVCcsICdBTicsICdBTicsICdBTCcsICdBTCcsICdBTCcsICdOU00nLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLCAnQUwnLAogICAgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsCiAgICAnQUwnLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywKICAgICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdOU00nLCAnTlNNJywgJ05TTScsICdPTicsICdOU00nLAogICAgJ05TTScsICdOU00nLCAnTlNNJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywgJ0FMJywKICAgICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcsICdBTCcKICBdOwoKICBmdW5jdGlvbiBpc09kZChpKSB7CiAgICByZXR1cm4gKGkgJiAxKSAhPT0gMDsKICB9CgogIGZ1bmN0aW9uIGlzRXZlbihpKSB7CiAgICByZXR1cm4gKGkgJiAxKSA9PT0gMDsKICB9CgogIGZ1bmN0aW9uIGZpbmRVbmVxdWFsKGFyciwgc3RhcnQsIHZhbHVlKSB7CiAgICBmb3IgKHZhciBqID0gc3RhcnQsIGpqID0gYXJyLmxlbmd0aDsgaiA8IGpqOyArK2opIHsKICAgICAgaWYgKGFycltqXSAhPT0gdmFsdWUpIHsKICAgICAgICByZXR1cm4gajsKICAgICAgfQogICAgfQogICAgcmV0dXJuIGo7CiAgfQoKICBmdW5jdGlvbiBzZXRWYWx1ZXMoYXJyLCBzdGFydCwgZW5kLCB2YWx1ZSkgewogICAgZm9yICh2YXIgaiA9IHN0YXJ0OyBqIDwgZW5kOyArK2opIHsKICAgICAgYXJyW2pdID0gdmFsdWU7CiAgICB9CiAgfQoKICBmdW5jdGlvbiByZXZlcnNlVmFsdWVzKGFyciwgc3RhcnQsIGVuZCkgewogICAgZm9yICh2YXIgaSA9IHN0YXJ0LCBqID0gZW5kIC0gMTsgaSA8IGo7ICsraSwgLS1qKSB7CiAgICAgIHZhciB0ZW1wID0gYXJyW2ldOwogICAgICBhcnJbaV0gPSBhcnJbal07CiAgICAgIGFycltqXSA9IHRlbXA7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBjcmVhdGVCaWRpVGV4dChzdHIsIGlzTFRSLCB2ZXJ0aWNhbCkgewogICAgcmV0dXJuIHsKICAgICAgc3RyOiBzdHIsCiAgICAgIGRpcjogKHZlcnRpY2FsID8gJ3R0YicgOiAoaXNMVFIgPyAnbHRyJyA6ICdydGwnKSkKICAgIH07CiAgfQoKICAvLyBUaGVzZSBhcmUgdXNlZCBpbiBiaWRpKCksIHdoaWNoIGlzIGNhbGxlZCBmcmVxdWVudGx5LiBXZSByZS11c2UgdGhlbSBvbgogIC8vIGVhY2ggY2FsbCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBhbGxvY2F0aW9ucy4KICB2YXIgY2hhcnMgPSBbXTsKICB2YXIgdHlwZXMgPSBbXTsKCiAgZnVuY3Rpb24gYmlkaShzdHIsIHN0YXJ0TGV2ZWwsIHZlcnRpY2FsKSB7CiAgICB2YXIgaXNMVFIgPSB0cnVlOwogICAgdmFyIHN0ckxlbmd0aCA9IHN0ci5sZW5ndGg7CiAgICBpZiAoc3RyTGVuZ3RoID09PSAwIHx8IHZlcnRpY2FsKSB7CiAgICAgIHJldHVybiBjcmVhdGVCaWRpVGV4dChzdHIsIGlzTFRSLCB2ZXJ0aWNhbCk7CiAgICB9CgogICAgLy8gR2V0IHR5cGVzIGFuZCBmaWxsIGFycmF5cwogICAgY2hhcnMubGVuZ3RoID0gc3RyTGVuZ3RoOwogICAgdHlwZXMubGVuZ3RoID0gc3RyTGVuZ3RoOwogICAgdmFyIG51bUJpZGkgPSAwOwoKICAgIHZhciBpLCBpaTsKICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICBjaGFyc1tpXSA9IHN0ci5jaGFyQXQoaSk7CgogICAgICB2YXIgY2hhckNvZGUgPSBzdHIuY2hhckNvZGVBdChpKTsKICAgICAgdmFyIGNoYXJUeXBlID0gJ0wnOwogICAgICBpZiAoY2hhckNvZGUgPD0gMHgwMGZmKSB7CiAgICAgICAgY2hhclR5cGUgPSBiYXNlVHlwZXNbY2hhckNvZGVdOwogICAgICB9IGVsc2UgaWYgKDB4MDU5MCA8PSBjaGFyQ29kZSAmJiBjaGFyQ29kZSA8PSAweDA1ZjQpIHsKICAgICAgICBjaGFyVHlwZSA9ICdSJzsKICAgICAgfSBlbHNlIGlmICgweDA2MDAgPD0gY2hhckNvZGUgJiYgY2hhckNvZGUgPD0gMHgwNmZmKSB7CiAgICAgICAgY2hhclR5cGUgPSBhcmFiaWNUeXBlc1tjaGFyQ29kZSAmIDB4ZmZdOwogICAgICB9IGVsc2UgaWYgKDB4MDcwMCA8PSBjaGFyQ29kZSAmJiBjaGFyQ29kZSA8PSAweDA4QUMpIHsKICAgICAgICBjaGFyVHlwZSA9ICdBTCc7CiAgICAgIH0KICAgICAgaWYgKGNoYXJUeXBlID09PSAnUicgfHwgY2hhclR5cGUgPT09ICdBTCcgfHwgY2hhclR5cGUgPT09ICdBTicpIHsKICAgICAgICBudW1CaWRpKys7CiAgICAgIH0KICAgICAgdHlwZXNbaV0gPSBjaGFyVHlwZTsKICAgIH0KCiAgICAvLyBEZXRlY3QgdGhlIGJpZGkgbWV0aG9kCiAgICAvLyAtIElmIHRoZXJlIGFyZSBubyBydGwgY2hhcmFjdGVycyB0aGVuIG5vIGJpZGkgbmVlZGVkCiAgICAvLyAtIElmIGxlc3MgdGhhbiAzMCUgY2hhcnMgYXJlIHJ0bCB0aGVuIHN0cmluZyBpcyBwcmltYXJpbHkgbHRyCiAgICAvLyAtIElmIG1vcmUgdGhhbiAzMCUgY2hhcnMgYXJlIHJ0bCB0aGVuIHN0cmluZyBpcyBwcmltYXJpbHkgcnRsCiAgICBpZiAobnVtQmlkaSA9PT0gMCkgewogICAgICBpc0xUUiA9IHRydWU7CiAgICAgIHJldHVybiBjcmVhdGVCaWRpVGV4dChzdHIsIGlzTFRSKTsKICAgIH0KCiAgICBpZiAoc3RhcnRMZXZlbCA9PT0gLTEpIHsKICAgICAgaWYgKChzdHJMZW5ndGggLyBudW1CaWRpKSA8IDAuMykgewogICAgICAgIGlzTFRSID0gdHJ1ZTsKICAgICAgICBzdGFydExldmVsID0gMDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpc0xUUiA9IGZhbHNlOwogICAgICAgIHN0YXJ0TGV2ZWwgPSAxOwogICAgICB9CiAgICB9CgogICAgdmFyIGxldmVscyA9IFtdOwogICAgZm9yIChpID0gMDsgaSA8IHN0ckxlbmd0aDsgKytpKSB7CiAgICAgIGxldmVsc1tpXSA9IHN0YXJ0TGV2ZWw7CiAgICB9CgogICAgLyoKICAgICBYMS1YMTA6IHNraXAgbW9zdCBvZiB0aGlzLCBzaW5jZSB3ZSBhcmUgTk9UIGRvaW5nIHRoZSBlbWJlZGRpbmdzLgogICAgICovCiAgICB2YXIgZSA9IChpc09kZChzdGFydExldmVsKSA/ICdSJyA6ICdMJyk7CiAgICB2YXIgc29yID0gZTsKICAgIHZhciBlb3IgPSBzb3I7CgogICAgLyoKICAgICBXMS4gRXhhbWluZSBlYWNoIG5vbi1zcGFjaW5nIG1hcmsgKE5TTSkgaW4gdGhlIGxldmVsIHJ1biwgYW5kIGNoYW5nZSB0aGUKICAgICB0eXBlIG9mIHRoZSBOU00gdG8gdGhlIHR5cGUgb2YgdGhlIHByZXZpb3VzIGNoYXJhY3Rlci4gSWYgdGhlIE5TTSBpcyBhdCB0aGUKICAgICBzdGFydCBvZiB0aGUgbGV2ZWwgcnVuLCBpdCB3aWxsIGdldCB0aGUgdHlwZSBvZiBzb3IuCiAgICAgKi8KICAgIHZhciBsYXN0VHlwZSA9IHNvcjsKICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICBpZiAodHlwZXNbaV0gPT09ICdOU00nKSB7CiAgICAgICAgdHlwZXNbaV0gPSBsYXN0VHlwZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsYXN0VHlwZSA9IHR5cGVzW2ldOwogICAgICB9CiAgICB9CgogICAgLyoKICAgICBXMi4gU2VhcmNoIGJhY2t3YXJkcyBmcm9tIGVhY2ggaW5zdGFuY2Ugb2YgYSBFdXJvcGVhbiBudW1iZXIgdW50aWwgdGhlCiAgICAgZmlyc3Qgc3Ryb25nIHR5cGUgKFIsIEwsIEFMLCBvciBzb3IpIGlzIGZvdW5kLiAgSWYgYW4gQUwgaXMgZm91bmQsIGNoYW5nZQogICAgIHRoZSB0eXBlIG9mIHRoZSBFdXJvcGVhbiBudW1iZXIgdG8gQXJhYmljIG51bWJlci4KICAgICAqLwogICAgbGFzdFR5cGUgPSBzb3I7CiAgICB2YXIgdDsKICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICB0ID0gdHlwZXNbaV07CiAgICAgIGlmICh0ID09PSAnRU4nKSB7CiAgICAgICAgdHlwZXNbaV0gPSAobGFzdFR5cGUgPT09ICdBTCcpID8gJ0FOJyA6ICdFTic7CiAgICAgIH0gZWxzZSBpZiAodCA9PT0gJ1InIHx8IHQgPT09ICdMJyB8fCB0ID09PSAnQUwnKSB7CiAgICAgICAgbGFzdFR5cGUgPSB0OwogICAgICB9CiAgICB9CgogICAgLyoKICAgICBXMy4gQ2hhbmdlIGFsbCBBTHMgdG8gUi4KICAgICAqLwogICAgZm9yIChpID0gMDsgaSA8IHN0ckxlbmd0aDsgKytpKSB7CiAgICAgIHQgPSB0eXBlc1tpXTsKICAgICAgaWYgKHQgPT09ICdBTCcpIHsKICAgICAgICB0eXBlc1tpXSA9ICdSJzsKICAgICAgfQogICAgfQoKICAgIC8qCiAgICAgVzQuIEEgc2luZ2xlIEV1cm9wZWFuIHNlcGFyYXRvciBiZXR3ZWVuIHR3byBFdXJvcGVhbiBudW1iZXJzIGNoYW5nZXMgdG8gYQogICAgIEV1cm9wZWFuIG51bWJlci4gQSBzaW5nbGUgY29tbW9uIHNlcGFyYXRvciBiZXR3ZWVuIHR3byBudW1iZXJzIG9mIHRoZSBzYW1lCiAgICAgdHlwZSBjaGFuZ2VzIHRvIHRoYXQgdHlwZToKICAgICAqLwogICAgZm9yIChpID0gMTsgaSA8IHN0ckxlbmd0aCAtIDE7ICsraSkgewogICAgICBpZiAodHlwZXNbaV0gPT09ICdFUycgJiYgdHlwZXNbaSAtIDFdID09PSAnRU4nICYmIHR5cGVzW2kgKyAxXSA9PT0gJ0VOJykgewogICAgICAgIHR5cGVzW2ldID0gJ0VOJzsKICAgICAgfQogICAgICBpZiAodHlwZXNbaV0gPT09ICdDUycgJiYKICAgICAgICAgICh0eXBlc1tpIC0gMV0gPT09ICdFTicgfHwgdHlwZXNbaSAtIDFdID09PSAnQU4nKSAmJgogICAgICAgICAgdHlwZXNbaSArIDFdID09PSB0eXBlc1tpIC0gMV0pIHsKICAgICAgICB0eXBlc1tpXSA9IHR5cGVzW2kgLSAxXTsKICAgICAgfQogICAgfQoKICAgIC8qCiAgICAgVzUuIEEgc2VxdWVuY2Ugb2YgRXVyb3BlYW4gdGVybWluYXRvcnMgYWRqYWNlbnQgdG8gRXVyb3BlYW4gbnVtYmVycyBjaGFuZ2VzCiAgICAgdG8gYWxsIEV1cm9wZWFuIG51bWJlcnM6CiAgICAgKi8KICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICBpZiAodHlwZXNbaV0gPT09ICdFTicpIHsKICAgICAgICAvLyBkbyBiZWZvcmUKICAgICAgICB2YXIgajsKICAgICAgICBmb3IgKGogPSBpIC0gMTsgaiA+PSAwOyAtLWopIHsKICAgICAgICAgIGlmICh0eXBlc1tqXSAhPT0gJ0VUJykgewogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIHR5cGVzW2pdID0gJ0VOJzsKICAgICAgICB9CiAgICAgICAgLy8gZG8gYWZ0ZXIKICAgICAgICBmb3IgKGogPSBpICsgMTsgaiA8IHN0ckxlbmd0aDsgLS1qKSB7CiAgICAgICAgICBpZiAodHlwZXNbal0gIT09ICdFVCcpIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICB0eXBlc1tqXSA9ICdFTic7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgLyoKICAgICBXNi4gT3RoZXJ3aXNlLCBzZXBhcmF0b3JzIGFuZCB0ZXJtaW5hdG9ycyBjaGFuZ2UgdG8gT3RoZXIgTmV1dHJhbDoKICAgICAqLwogICAgZm9yIChpID0gMDsgaSA8IHN0ckxlbmd0aDsgKytpKSB7CiAgICAgIHQgPSB0eXBlc1tpXTsKICAgICAgaWYgKHQgPT09ICdXUycgfHwgdCA9PT0gJ0VTJyB8fCB0ID09PSAnRVQnIHx8IHQgPT09ICdDUycpIHsKICAgICAgICB0eXBlc1tpXSA9ICdPTic7CiAgICAgIH0KICAgIH0KCiAgICAvKgogICAgIFc3LiBTZWFyY2ggYmFja3dhcmRzIGZyb20gZWFjaCBpbnN0YW5jZSBvZiBhIEV1cm9wZWFuIG51bWJlciB1bnRpbCB0aGUKICAgICBmaXJzdCBzdHJvbmcgdHlwZSAoUiwgTCwgb3Igc29yKSBpcyBmb3VuZC4gSWYgYW4gTCBpcyBmb3VuZCwgIHRoZW4gY2hhbmdlCiAgICAgdGhlIHR5cGUgb2YgdGhlIEV1cm9wZWFuIG51bWJlciB0byBMLgogICAgICovCiAgICBsYXN0VHlwZSA9IHNvcjsKICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICB0ID0gdHlwZXNbaV07CiAgICAgIGlmICh0ID09PSAnRU4nKSB7CiAgICAgICAgdHlwZXNbaV0gPSAoKGxhc3RUeXBlID09PSAnTCcpID8gJ0wnIDogJ0VOJyk7CiAgICAgIH0gZWxzZSBpZiAodCA9PT0gJ1InIHx8IHQgPT09ICdMJykgewogICAgICAgIGxhc3RUeXBlID0gdDsKICAgICAgfQogICAgfQoKICAgIC8qCiAgICAgTjEuIEEgc2VxdWVuY2Ugb2YgbmV1dHJhbHMgdGFrZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgc3Vycm91bmRpbmcgc3Ryb25nCiAgICAgdGV4dCBpZiB0aGUgdGV4dCBvbiBib3RoIHNpZGVzIGhhcyB0aGUgc2FtZSBkaXJlY3Rpb24uIEV1cm9wZWFuIGFuZCBBcmFiaWMKICAgICBudW1iZXJzIGFyZSB0cmVhdGVkIGFzIHRob3VnaCB0aGV5IHdlcmUgUi4gU3RhcnQtb2YtbGV2ZWwtcnVuIChzb3IpIGFuZAogICAgIGVuZC1vZi1sZXZlbC1ydW4gKGVvcikgYXJlIHVzZWQgYXQgbGV2ZWwgcnVuIGJvdW5kYXJpZXMuCiAgICAgKi8KICAgIGZvciAoaSA9IDA7IGkgPCBzdHJMZW5ndGg7ICsraSkgewogICAgICBpZiAodHlwZXNbaV0gPT09ICdPTicpIHsKICAgICAgICB2YXIgZW5kID0gZmluZFVuZXF1YWwodHlwZXMsIGkgKyAxLCAnT04nKTsKICAgICAgICB2YXIgYmVmb3JlID0gc29yOwogICAgICAgIGlmIChpID4gMCkgewogICAgICAgICAgYmVmb3JlID0gdHlwZXNbaSAtIDFdOwogICAgICAgIH0KCiAgICAgICAgdmFyIGFmdGVyID0gZW9yOwogICAgICAgIGlmIChlbmQgKyAxIDwgc3RyTGVuZ3RoKSB7CiAgICAgICAgICBhZnRlciA9IHR5cGVzW2VuZCArIDFdOwogICAgICAgIH0KICAgICAgICBpZiAoYmVmb3JlICE9PSAnTCcpIHsKICAgICAgICAgIGJlZm9yZSA9ICdSJzsKICAgICAgICB9CiAgICAgICAgaWYgKGFmdGVyICE9PSAnTCcpIHsKICAgICAgICAgIGFmdGVyID0gJ1InOwogICAgICAgIH0KICAgICAgICBpZiAoYmVmb3JlID09PSBhZnRlcikgewogICAgICAgICAgc2V0VmFsdWVzKHR5cGVzLCBpLCBlbmQsIGJlZm9yZSk7CiAgICAgICAgfQogICAgICAgIGkgPSBlbmQgLSAxOyAvLyByZXNldCB0byBlbmQgKC0xIHNvIG5leHQgaXRlcmF0aW9uIGlzIG9rKQogICAgICB9CiAgICB9CgogICAgLyoKICAgICBOMi4gQW55IHJlbWFpbmluZyBuZXV0cmFscyB0YWtlIHRoZSBlbWJlZGRpbmcgZGlyZWN0aW9uLgogICAgICovCiAgICBmb3IgKGkgPSAwOyBpIDwgc3RyTGVuZ3RoOyArK2kpIHsKICAgICAgaWYgKHR5cGVzW2ldID09PSAnT04nKSB7CiAgICAgICAgdHlwZXNbaV0gPSBlOwogICAgICB9CiAgICB9CgogICAgLyoKICAgICBJMS4gRm9yIGFsbCBjaGFyYWN0ZXJzIHdpdGggYW4gZXZlbiAobGVmdC10by1yaWdodCkgZW1iZWRkaW5nIGRpcmVjdGlvbiwKICAgICB0aG9zZSBvZiB0eXBlIFIgZ28gdXAgb25lIGxldmVsIGFuZCB0aG9zZSBvZiB0eXBlIEFOIG9yIEVOIGdvIHVwIHR3bwogICAgIGxldmVscy4KICAgICBJMi4gRm9yIGFsbCBjaGFyYWN0ZXJzIHdpdGggYW4gb2RkIChyaWdodC10by1sZWZ0KSBlbWJlZGRpbmcgZGlyZWN0aW9uLAogICAgIHRob3NlIG9mIHR5cGUgTCwgRU4gb3IgQU4gZ28gdXAgb25lIGxldmVsLgogICAgICovCiAgICBmb3IgKGkgPSAwOyBpIDwgc3RyTGVuZ3RoOyArK2kpIHsKICAgICAgdCA9IHR5cGVzW2ldOwogICAgICBpZiAoaXNFdmVuKGxldmVsc1tpXSkpIHsKICAgICAgICBpZiAodCA9PT0gJ1InKSB7CiAgICAgICAgICBsZXZlbHNbaV0gKz0gMTsKICAgICAgICB9IGVsc2UgaWYgKHQgPT09ICdBTicgfHwgdCA9PT0gJ0VOJykgewogICAgICAgICAgbGV2ZWxzW2ldICs9IDI7CiAgICAgICAgfQogICAgICB9IGVsc2UgeyAvLyBpc09kZAogICAgICAgIGlmICh0ID09PSAnTCcgfHwgdCA9PT0gJ0FOJyB8fCB0ID09PSAnRU4nKSB7CiAgICAgICAgICBsZXZlbHNbaV0gKz0gMTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvKgogICAgIEwxLiBPbiBlYWNoIGxpbmUsIHJlc2V0IHRoZSBlbWJlZGRpbmcgbGV2ZWwgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIHRvCiAgICAgdGhlIHBhcmFncmFwaCBlbWJlZGRpbmcgbGV2ZWw6CgogICAgIHNlZ21lbnQgc2VwYXJhdG9ycywKICAgICBwYXJhZ3JhcGggc2VwYXJhdG9ycywKICAgICBhbnkgc2VxdWVuY2Ugb2Ygd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIHByZWNlZGluZyBhIHNlZ21lbnQgc2VwYXJhdG9yIG9yCiAgICAgcGFyYWdyYXBoIHNlcGFyYXRvciwgYW5kIGFueSBzZXF1ZW5jZSBvZiB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQKICAgICBvZiB0aGUgbGluZS4KICAgICAqLwoKICAgIC8vIGRvbid0IGJvdGhlciBhcyB0ZXh0IGlzIG9ubHkgc2luZ2xlIGxpbmUKCiAgICAvKgogICAgIEwyLiBGcm9tIHRoZSBoaWdoZXN0IGxldmVsIGZvdW5kIGluIHRoZSB0ZXh0IHRvIHRoZSBsb3dlc3Qgb2RkIGxldmVsIG9uCiAgICAgZWFjaCBsaW5lLCByZXZlcnNlIGFueSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgdGhhdCBhcmUgYXQgdGhhdAogICAgIGxldmVsIG9yIGhpZ2hlci4KICAgICAqLwoKICAgIC8vIGZpbmQgaGlnaGVzdCBsZXZlbCAmIGxvd2VzdCBvZGQgbGV2ZWwKICAgIHZhciBoaWdoZXN0TGV2ZWwgPSAtMTsKICAgIHZhciBsb3dlc3RPZGRMZXZlbCA9IDk5OwogICAgdmFyIGxldmVsOwogICAgZm9yIChpID0gMCwgaWkgPSBsZXZlbHMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICBsZXZlbCA9IGxldmVsc1tpXTsKICAgICAgaWYgKGhpZ2hlc3RMZXZlbCA8IGxldmVsKSB7CiAgICAgICAgaGlnaGVzdExldmVsID0gbGV2ZWw7CiAgICAgIH0KICAgICAgaWYgKGxvd2VzdE9kZExldmVsID4gbGV2ZWwgJiYgaXNPZGQobGV2ZWwpKSB7CiAgICAgICAgbG93ZXN0T2RkTGV2ZWwgPSBsZXZlbDsKICAgICAgfQogICAgfQoKICAgIC8vIG5vdyByZXZlcnNlIGJldHdlZW4gdGhvc2UgbGltaXRzCiAgICBmb3IgKGxldmVsID0gaGlnaGVzdExldmVsOyBsZXZlbCA+PSBsb3dlc3RPZGRMZXZlbDsgLS1sZXZlbCkgewogICAgICAvLyBmaW5kIHNlZ21lbnRzIHRvIHJldmVyc2UKICAgICAgdmFyIHN0YXJ0ID0gLTE7CiAgICAgIGZvciAoaSA9IDAsIGlpID0gbGV2ZWxzLmxlbmd0aDsgaSA8IGlpOyArK2kpIHsKICAgICAgICBpZiAobGV2ZWxzW2ldIDwgbGV2ZWwpIHsKICAgICAgICAgIGlmIChzdGFydCA+PSAwKSB7CiAgICAgICAgICAgIHJldmVyc2VWYWx1ZXMoY2hhcnMsIHN0YXJ0LCBpKTsKICAgICAgICAgICAgc3RhcnQgPSAtMTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0IDwgMCkgewogICAgICAgICAgc3RhcnQgPSBpOwogICAgICAgIH0KICAgICAgfQogICAgICBpZiAoc3RhcnQgPj0gMCkgewogICAgICAgIHJldmVyc2VWYWx1ZXMoY2hhcnMsIHN0YXJ0LCBsZXZlbHMubGVuZ3RoKTsKICAgICAgfQogICAgfQoKICAgIC8qCiAgICAgTDMuIENvbWJpbmluZyBtYXJrcyBhcHBsaWVkIHRvIGEgcmlnaHQtdG8tbGVmdCBiYXNlIGNoYXJhY3RlciB3aWxsIGF0IHRoaXMKICAgICBwb2ludCBwcmVjZWRlIHRoZWlyIGJhc2UgY2hhcmFjdGVyLiBJZiB0aGUgcmVuZGVyaW5nIGVuZ2luZSBleHBlY3RzIHRoZW0gdG8KICAgICBmb2xsb3cgdGhlIGJhc2UgY2hhcmFjdGVycyBpbiB0aGUgZmluYWwgZGlzcGxheSBwcm9jZXNzLCB0aGVuIHRoZSBvcmRlcmluZwogICAgIG9mIHRoZSBtYXJrcyBhbmQgdGhlIGJhc2UgY2hhcmFjdGVyIG11c3QgYmUgcmV2ZXJzZWQuCiAgICAgKi8KCiAgICAvLyBkb24ndCBib3RoZXIgZm9yIG5vdwoKICAgIC8qCiAgICAgTDQuIEEgY2hhcmFjdGVyIHRoYXQgcG9zc2Vzc2VzIHRoZSBtaXJyb3JlZCBwcm9wZXJ0eSBhcyBzcGVjaWZpZWQgYnkKICAgICBTZWN0aW9uIDQuNywgTWlycm9yZWQsIG11c3QgYmUgZGVwaWN0ZWQgYnkgYSBtaXJyb3JlZCBnbHlwaCBpZiB0aGUgcmVzb2x2ZWQKICAgICBkaXJlY3Rpb25hbGl0eSBvZiB0aGF0IGNoYXJhY3RlciBpcyBSLgogICAgICovCgogICAgLy8gZG9uJ3QgbWlycm9yIGFzIGNoYXJhY3RlcnMgYXJlIGFscmVhZHkgbWlycm9yZWQgaW4gdGhlIHBkZgoKICAgIC8vIEZpbmFsbHksIHJldHVybiBzdHJpbmcKICAgIHZhciByZXN1bHQgPSAnJzsKICAgIGZvciAoaSA9IDAsIGlpID0gY2hhcnMubGVuZ3RoOyBpIDwgaWk7ICsraSkgewogICAgICB2YXIgY2ggPSBjaGFyc1tpXTsKICAgICAgaWYgKGNoICE9PSAnPCcgJiYgY2ggIT09ICc+JykgewogICAgICAgIHJlc3VsdCArPSBjaDsKICAgICAgfQogICAgfQogICAgcmV0dXJuIGNyZWF0ZUJpZGlUZXh0KHJlc3VsdCwgaXNMVFIpOwogIH0KCiAgcmV0dXJuIGJpZGk7Cn0pKCk7CgovKiAtKi0gTW9kZTogSmF2YTsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLwovKiB2aW06IHNldCBzaGlmdHdpZHRoPTIgdGFic3RvcD0yIGF1dG9pbmRlbnQgY2luZGVudCBleHBhbmR0YWI6ICovCgovKiBDb3B5cmlnaHQgMjAxNCBPcGVyYSBTb2Z0d2FyZSBBU0EKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICoKICoKICogQmFzZWQgb24gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9zbWhhc2hlci93aWtpL011cm11ckhhc2gzLgogKiBIYXNoZXMgcm91Z2hseSAxMDAgS0IgcGVyIG1pbGxpc2Vjb25kIG9uIGk3IDMuNCBHSHouCiAqLwovKiBnbG9iYWxzIFVpbnQzMkFycmF5VmlldyAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIE11cm11ckhhc2gzXzY0ID0gKGZ1bmN0aW9uIE11cm11ckhhc2gzXzY0Q2xvc3VyZSAoc2VlZCkgewogIC8vIFdvcmthcm91bmQgZm9yIG1pc3NpbmcgbWF0aCBwcmVjaXNvbiBpbiBKUy4KICB2YXIgTUFTS19ISUdIID0gMHhmZmZmMDAwMDsKICB2YXIgTUFTS19MT1cgPSAweGZmZmY7CgogIGZ1bmN0aW9uIE11cm11ckhhc2gzXzY0IChzZWVkKSB7CiAgICB2YXIgU0VFRCA9IDB4YzNkMmUxZjA7CiAgICB0aGlzLmgxID0gc2VlZCA/IHNlZWQgJiAweGZmZmZmZmZmIDogU0VFRDsKICAgIHRoaXMuaDIgPSBzZWVkID8gc2VlZCAmIDB4ZmZmZmZmZmYgOiBTRUVEOwogIH0KCiAgdmFyIGFsd2F5c1VzZVVpbnQzMkFycmF5VmlldyA9IGZhbHNlOwovLyNpZiAhKEZJUkVGT1ggfHwgTU9aQ0VOVFJBTCB8fCBCMkcgfHwgQ0hST01FKQogIC8vIG9sZCB3ZWJraXRzIGhhdmUgaXNzdWVzIHdpdGggbm9uLWFsaWduZWQgYXJyYXlzCiAgdHJ5IHsKICAgIG5ldyBVaW50MzJBcnJheShuZXcgVWludDhBcnJheSg1KS5idWZmZXIsIDAsIDEpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGFsd2F5c1VzZVVpbnQzMkFycmF5VmlldyA9IHRydWU7CiAgfQovLyNlbmRpZgoKICBNdXJtdXJIYXNoM182NC5wcm90b3R5cGUgPSB7CiAgICB1cGRhdGU6IGZ1bmN0aW9uIE11cm11ckhhc2gzXzY0X3VwZGF0ZShpbnB1dCkgewogICAgICB2YXIgdXNlVWludDMyQXJyYXlWaWV3ID0gYWx3YXlzVXNlVWludDMyQXJyYXlWaWV3OwogICAgICB2YXIgaTsKICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHsKICAgICAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KGlucHV0Lmxlbmd0aCAqIDIpOwogICAgICAgIHZhciBsZW5ndGggPSAwOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykgewogICAgICAgICAgdmFyIGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpOwogICAgICAgICAgaWYgKGNvZGUgPD0gMHhmZikgewogICAgICAgICAgICBkYXRhW2xlbmd0aCsrXSA9IGNvZGU7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZGF0YVtsZW5ndGgrK10gPSBjb2RlID4+PiA4OwogICAgICAgICAgICBkYXRhW2xlbmd0aCsrXSA9IGNvZGUgJiAweGZmOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHsKICAgICAgICBkYXRhID0gaW5wdXQ7CiAgICAgICAgbGVuZ3RoID0gZGF0YS5sZW5ndGg7CiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyAmJiAoJ2xlbmd0aCcgaW4gaW5wdXQpKSB7CiAgICAgICAgLy8gcHJvY2Vzc2luZyByZWd1bGFyIGFycmF5cyBhcyB3ZWxsLCBlLmcuIGZvciBJRTkKICAgICAgICBkYXRhID0gaW5wdXQ7CiAgICAgICAgbGVuZ3RoID0gZGF0YS5sZW5ndGg7CiAgICAgICAgdXNlVWludDMyQXJyYXlWaWV3ID0gdHJ1ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dyb25nIGRhdGEgZm9ybWF0IGluIE11cm11ckhhc2gzXzY0X3VwZGF0ZS4gJyArCiAgICAgICAgICAgICAgICAgICAgICAgICdJbnB1dCBtdXN0IGJlIGEgc3RyaW5nIG9yIGFycmF5LicpOwogICAgICB9CgogICAgICB2YXIgYmxvY2tDb3VudHMgPSBsZW5ndGggPj4gMjsKICAgICAgdmFyIHRhaWxMZW5ndGggPSBsZW5ndGggLSBibG9ja0NvdW50cyAqIDQ7CiAgICAgIC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgZW5kaWFubmVzcyBoZXJlCiAgICAgIHZhciBkYXRhVWludDMyID0gdXNlVWludDMyQXJyYXlWaWV3ID8KICAgICAgICBuZXcgVWludDMyQXJyYXlWaWV3KGRhdGEsIGJsb2NrQ291bnRzKSA6CiAgICAgICAgbmV3IFVpbnQzMkFycmF5KGRhdGEuYnVmZmVyLCAwLCBibG9ja0NvdW50cyk7CiAgICAgIHZhciBrMSA9IDA7CiAgICAgIHZhciBrMiA9IDA7CiAgICAgIHZhciBoMSA9IHRoaXMuaDE7CiAgICAgIHZhciBoMiA9IHRoaXMuaDI7CiAgICAgIHZhciBDMSA9IDB4Y2M5ZTJkNTE7CiAgICAgIHZhciBDMiA9IDB4MWI4NzM1OTM7CiAgICAgIHZhciBDMV9MT1cgPSBDMSAmIE1BU0tfTE9XOwogICAgICB2YXIgQzJfTE9XID0gQzIgJiBNQVNLX0xPVzsKCiAgICAgIGZvciAoaSA9IDA7IGkgPCBibG9ja0NvdW50czsgaSsrKSB7CiAgICAgICAgaWYgKGkgJiAxKSB7CiAgICAgICAgICBrMSA9IGRhdGFVaW50MzJbaV07CiAgICAgICAgICBrMSA9IChrMSAqIEMxICYgTUFTS19ISUdIKSB8IChrMSAqIEMxX0xPVyAmIE1BU0tfTE9XKTsKICAgICAgICAgIGsxID0gazEgPDwgMTUgfCBrMSA+Pj4gMTc7CiAgICAgICAgICBrMSA9IChrMSAqIEMyICYgTUFTS19ISUdIKSB8IChrMSAqIEMyX0xPVyAmIE1BU0tfTE9XKTsKICAgICAgICAgIGgxIF49IGsxOwogICAgICAgICAgaDEgPSBoMSA8PCAxMyB8IGgxID4+PiAxOTsKICAgICAgICAgIGgxID0gaDEgKiA1ICsgMHhlNjU0NmI2NDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgazIgPSBkYXRhVWludDMyW2ldOwogICAgICAgICAgazIgPSAoazIgKiBDMSAmIE1BU0tfSElHSCkgfCAoazIgKiBDMV9MT1cgJiBNQVNLX0xPVyk7CiAgICAgICAgICBrMiA9IGsyIDw8IDE1IHwgazIgPj4+IDE3OwogICAgICAgICAgazIgPSAoazIgKiBDMiAmIE1BU0tfSElHSCkgfCAoazIgKiBDMl9MT1cgJiBNQVNLX0xPVyk7CiAgICAgICAgICBoMiBePSBrMjsKICAgICAgICAgIGgyID0gaDIgPDwgMTMgfCBoMiA+Pj4gMTk7CiAgICAgICAgICBoMiA9IGgyICogNSArIDB4ZTY1NDZiNjQ7CiAgICAgICAgfQogICAgICB9CgogICAgICBrMSA9IDA7CgogICAgICBzd2l0Y2ggKHRhaWxMZW5ndGgpIHsKICAgICAgICBjYXNlIDM6CiAgICAgICAgICBrMSBePSBkYXRhW2Jsb2NrQ291bnRzICogNCArIDJdIDw8IDE2OwogICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgMjoKICAgICAgICAgIGsxIF49IGRhdGFbYmxvY2tDb3VudHMgKiA0ICsgMV0gPDwgODsKICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlIDE6CiAgICAgICAgICBrMSBePSBkYXRhW2Jsb2NrQ291bnRzICogNF07CiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgazEgPSAoazEgKiBDMSAmIE1BU0tfSElHSCkgfCAoazEgKiBDMV9MT1cgJiBNQVNLX0xPVyk7CiAgICAgICAgazEgPSBrMSA8PCAxNSB8IGsxID4+PiAxNzsKICAgICAgICBrMSA9IChrMSAqIEMyICYgTUFTS19ISUdIKSB8IChrMSAqIEMyX0xPVyAmIE1BU0tfTE9XKTsKICAgICAgICBpZiAoYmxvY2tDb3VudHMgJiAxKSB7CiAgICAgICAgICBoMSBePSBrMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaDIgXj0gazE7CiAgICAgICAgfQogICAgICB9CgogICAgICB0aGlzLmgxID0gaDE7CiAgICAgIHRoaXMuaDIgPSBoMjsKICAgICAgcmV0dXJuIHRoaXM7CiAgICB9LAoKICAgIGhleGRpZ2VzdDogZnVuY3Rpb24gTXVybXVySGFzaDNfNjRfaGV4ZGlnZXN0ICgpIHsKICAgICAgdmFyIGgxID0gdGhpcy5oMTsKICAgICAgdmFyIGgyID0gdGhpcy5oMjsKCiAgICAgIGgxIF49IGgyID4+PiAxOwogICAgICBoMSA9IChoMSAqIDB4ZWQ1NThjY2QgJiBNQVNLX0hJR0gpIHwgKGgxICogMHg4Y2NkICYgTUFTS19MT1cpOwogICAgICBoMiA9IChoMiAqIDB4ZmY1MWFmZDcgJiBNQVNLX0hJR0gpIHwKICAgICAgICAgICAoKChoMiA8PCAxNiB8IGgxID4+PiAxNikgKiAweGFmZDdlZDU1ICYgTUFTS19ISUdIKSA+Pj4gMTYpOwogICAgICBoMSBePSBoMiA+Pj4gMTsKICAgICAgaDEgPSAoaDEgKiAweDFhODVlYzUzICYgTUFTS19ISUdIKSB8IChoMSAqIDB4ZWM1MyAmIE1BU0tfTE9XKTsKICAgICAgaDIgPSAoaDIgKiAweGM0Y2ViOWZlICYgTUFTS19ISUdIKSB8CiAgICAgICAgICAgKCgoaDIgPDwgMTYgfCBoMSA+Pj4gMTYpICogMHhiOWZlMWE4NSAmIE1BU0tfSElHSCkgPj4+IDE2KTsKICAgICAgaDEgXj0gaDIgPj4+IDE7CgogICAgICBmb3IgKHZhciBpID0gMCwgYXJyID0gW2gxLCBoMl0sIHN0ciA9ICcnOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGhleCA9IChhcnJbaV0gPj4+IDApLnRvU3RyaW5nKDE2KTsKICAgICAgICB3aGlsZSAoaGV4Lmxlbmd0aCA8IDgpIHsKICAgICAgICAgIGhleCA9ICcwJyArIGhleDsKICAgICAgICB9CiAgICAgICAgc3RyICs9IGhleDsKICAgICAgfQoKICAgICAgcmV0dXJuIHN0cjsKICAgIH0KICB9OwoKICByZXR1cm4gTXVybXVySGFzaDNfNjQ7Cn0pKCk7CgoKfSkuY2FsbCgodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpID8gdGhpcyA6IHdpbmRvdyk7CgppZiAoIVBERkpTLndvcmtlclNyYyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7CiAgLy8gd29ya2VyU3JjIGlzIG5vdCBzZXQgLS0gdXNpbmcgbGFzdCBzY3JpcHQgdXJsIHRvIGRlZmluZSBkZWZhdWx0IGxvY2F0aW9uCiAgUERGSlMud29ya2VyU3JjID0gKGZ1bmN0aW9uICgpIHsKICAgICd1c2Ugc3RyaWN0JzsKICAgIHZhciBzY3JpcHRUYWdDb250YWluZXIgPSBkb2N1bWVudC5ib2R5IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTsKICAgIHZhciBwZGZqc1NyYyA9IHNjcmlwdFRhZ0NvbnRhaW5lci5sYXN0Q2hpbGQuc3JjOwogICAgcmV0dXJuIHBkZmpzU3JjICYmIHBkZmpzU3JjLnJlcGxhY2UoL1wuanMkL2ksICcud29ya2VyLmpzJyk7CiAgfSkoKTsKfQoK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/pdfjsversion.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIC8qKkBjb25zdHshc3RyaW5nfSovcGRmanNfdmVyc2lvbiA9ICJ2MS4xLjExNCI7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/PDFViewerPlugin.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnBhZ2UgewogICAgbWFyZ2luOiA3cHggYXV0byA3cHggYXV0bzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94OwogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICAKICAgIGJveC1zaGFkb3c6ICAgICAgICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC1tb3otYm94LXNoYWRvdzogICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC1tcy1ib3gtc2hhZG93OiAgICAwcHggMHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuNzUpOwogICAgLW8tYm94LXNoYWRvdzogICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKfQoKLnRleHRMYXllciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDA7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBjb2xvcjogIzAwMDsKICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgoudGV4dExheWVyID4gZGl2IHsKICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxpbmUtaGVpZ2h0OiAxOwogIHdoaXRlLXNwYWNlOiBwcmU7CiAgY3Vyc29yOiB0ZXh0Owp9Cgo6OnNlbGVjdGlvbiB7IGJhY2tncm91bmQ6cmdiYSgwLDAsMjU1LDAuMyk7IH0KOjotbW96LXNlbGVjdGlvbiB7IGJhY2tncm91bmQ6cmdiYSgwLDAsMjU1LDAuMyk7IH0KCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/PDFViewerPlugin.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIEBsaWNlbnNlCiAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgogKgogKiBAbGljc3RhcnQKICogVGhlIEphdmFTY3JpcHQgY29kZSBpbiB0aGlzIHBhZ2UgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQKICogYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiAoR05VIEFHUEwpIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgVGhlIGNvZGUgaXMgZGlzdHJpYnV0ZWQKICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBBR1BMIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIHRoaXMgY29kZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICoKICogQXMgYWRkaXRpb25hbCBwZXJtaXNzaW9uIHVuZGVyIEdOVSBBR1BMIHZlcnNpb24gMyBzZWN0aW9uIDcsIHlvdQogKiBtYXkgZGlzdHJpYnV0ZSBub24tc291cmNlIChlLmcuLCBtaW5pbWl6ZWQgb3IgY29tcGFjdGVkKSBmb3JtcyBvZgogKiB0aGF0IGNvZGUgd2l0aG91dCB0aGUgY29weSBvZiB0aGUgR05VIEdQTCBub3JtYWxseSByZXF1aXJlZCBieQogKiBzZWN0aW9uIDQsIHByb3ZpZGVkIHlvdSBpbmNsdWRlIHRoaXMgbGljZW5zZSBub3RpY2UgYW5kIGEgVVJMCiAqIHRocm91Z2ggd2hpY2ggcmVjaXBpZW50cyBjYW4gYWNjZXNzIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4KICoKICogQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgQUdQTCwgYW55IEhUTUwgZmlsZSB3aGljaCBtZXJlbHkgbWFrZXMgZnVuY3Rpb24KICogY2FsbHMgdG8gdGhpcyBjb2RlLCBhbmQgZm9yIHRoYXQgcHVycG9zZSBpbmNsdWRlcyBpdCBieSByZWZlcmVuY2Ugc2hhbGwgYmUKICogZGVlbWVkIGEgc2VwYXJhdGUgd29yayBmb3IgY29weXJpZ2h0IGxhdyBwdXJwb3Nlcy4gSW4gYWRkaXRpb24sIHRoZSBjb3B5cmlnaHQKICogaG9sZGVycyBvZiB0aGlzIGNvZGUgZ2l2ZSB5b3UgcGVybWlzc2lvbiB0byBjb21iaW5lIHRoaXMgY29kZSB3aXRoIGZyZWUKICogc29mdHdhcmUgbGlicmFyaWVzIHRoYXQgYXJlIHJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgTEdQTC4gWW91IG1heSBjb3B5IGFuZAogKiBkaXN0cmlidXRlIHN1Y2ggYSBzeXN0ZW0gZm9sbG93aW5nIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFHUEwgZm9yIHRoaXMgY29kZQogKiBhbmQgdGhlIExHUEwgZm9yIHRoZSBsaWJyYXJpZXMuIElmIHlvdSBtb2RpZnkgdGhpcyBjb2RlLCB5b3UgbWF5IGV4dGVuZCB0aGlzCiAqIGV4Y2VwdGlvbiB0byB5b3VyIHZlcnNpb24gb2YgdGhlIGNvZGUsIGJ1dCB5b3UgYXJlIG5vdCBvYmxpZ2F0ZWQgdG8gZG8gc28uCiAqIElmIHlvdSBkbyBub3Qgd2lzaCB0byBkbyBzbywgZGVsZXRlIHRoaXMgZXhjZXB0aW9uIHN0YXRlbWVudCBmcm9tIHlvdXIKICogdmVyc2lvbi4KICoKICogVGhpcyBsaWNlbnNlIGFwcGxpZXMgdG8gdGhpcyBlbnRpcmUgY29tcGlsYXRpb24uCiAqIEBsaWNlbmQKICogQHNvdXJjZTogaHR0cDovL3ZpZXdlcmpzLm9yZy8KICogQHNvdXJjZTogaHR0cDovL2dpdGh1Yi5jb20va29nbWJoL1ZpZXdlckpTCiAqLwoKLypnbG9iYWwgZG9jdW1lbnQsIFBERkpTLCBjb25zb2xlLCBUZXh0TGF5ZXJCdWlsZGVyKi8KCgpmdW5jdGlvbiBQREZWaWV3ZXJQbHVnaW4oKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgZnVuY3Rpb24gbG9hZFNjcmlwdChwYXRoLCBjYWxsYmFjaykgewogICAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzY3JpcHQuYXN5bmMgPSBmYWxzZTsKICAgICAgICBzY3JpcHQuc3JjID0gcGF0aDsKICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHNjcmlwdC5vbmxvYWQgPSBjYWxsYmFjayB8fCBzY3JpcHQub25sb2FkOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoc2NyaXB0KTsKICAgIH0KCiAgICBmdW5jdGlvbiBpbml0KGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIHBsdWdpbkNTUzsKCiAgICAgICAgbG9hZFNjcmlwdCgnLi9jb21wYXRpYmlsaXR5LmpzJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICBsb2FkU2NyaXB0KCcuL3BkZi5qcycpOwogICAgICAgICAgICBsb2FkU2NyaXB0KCcuL3VpX3V0aWxzLmpzJyk7CiAgICAgICAgICAgIGxvYWRTY3JpcHQoJy4vdGV4dF9sYXllcl9idWlsZGVyLmpzJyk7CiAgICAgICAgICAgIGxvYWRTY3JpcHQoJy4vcGRmanN2ZXJzaW9uLmpzJywgY2FsbGJhY2spOwogICAgICAgIH0pOwoKICAgICAgICBwbHVnaW5DU1MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CiAgICAgICAgcGx1Z2luQ1NTLnNldEF0dHJpYnV0ZSgicmVsIiwgInN0eWxlc2hlZXQiKTsKICAgICAgICBwbHVnaW5DU1Muc2V0QXR0cmlidXRlKCJ0eXBlIiwgInRleHQvY3NzIik7CiAgICAgICAgcGx1Z2luQ1NTLnNldEF0dHJpYnV0ZSgiaHJlZiIsICIuL1BERlZpZXdlclBsdWdpbi5jc3MiKTsKICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHBsdWdpbkNTUyk7CiAgICB9CgogICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgIHBhZ2VzID0gW10sCiAgICAgICAgZG9tUGFnZXMgPSBbXSwKICAgICAgICBwYWdlVGV4dCA9IFtdLAogICAgICAgIHJlbmRlcmluZ1N0YXRlcyA9IFtdLAogICAgICAgIFJFTkRFUklORyA9IHsKICAgICAgICAgICAgQkxBTks6IDAsCiAgICAgICAgICAgIFJVTk5JTkc6IDEsCiAgICAgICAgICAgIEZJTklTSEVEOiAyCiAgICAgICAgfSwKICAgICAgICBjb250YWluZXIgPSBudWxsLAogICAgICAgIHBkZkRvY3VtZW50ID0gbnVsbCwKICAgICAgICBwYWdlVmlld1Njcm9sbCA9IG51bGwsCiAgICAgICAgaXNQcmVzZW50YXRpb25Nb2RlID0gZmFsc2UsCiAgICAgICAgc2NhbGUgPSAxLAogICAgICAgIGN1cnJlbnRQYWdlID0gMSwKICAgICAgICBwYWdlV2lkdGgsCiAgICAgICAgcGFnZUhlaWdodCwKICAgICAgICBjcmVhdGVkUGFnZUNvdW50ID0gMDsKCiAgICBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhlbGVtKSB7CiAgICAgICAgZWxlbS5wYXJlbnROb2RlLnNjcm9sbFRvcCA9IGVsZW0ub2Zmc2V0VG9wOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzU2Nyb2xsZWRJbnRvVmlldyhlbGVtKSB7CiAgICAgICAgdmFyIGRvY1ZpZXdUb3AgPSBjb250YWluZXIuc2Nyb2xsVG9wLAogICAgICAgICAgICBkb2NWaWV3Qm90dG9tID0gZG9jVmlld1RvcCArIGNvbnRhaW5lci5jbGllbnRIZWlnaHQsCiAgICAgICAgICAgIGVsZW1Ub3AgPSBlbGVtLm9mZnNldFRvcCwKICAgICAgICAgICAgZWxlbUJvdHRvbSA9IGVsZW1Ub3AgKyBlbGVtLmNsaWVudEhlaWdodDsKCiAgICAgICAgLy8gSXMgaW4gdmlldyBpZiBlaXRoZXIgdGhlIHRvcCBvciB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGlzIGJldHdlZW4gdGhlCiAgICAgICAgLy8gZG9jdW1lbnQgdmlld3BvcnQgYm91bmRzLAogICAgICAgIC8vIG9yIGlmIHRoZSB0b3AgaXMgYWJvdmUgdGhlIHZpZXdwb3J0IGFuZCB0aGUgYm90dG9tIGlzIGJlbG93IGl0LgogICAgICAgIHJldHVybiAoZWxlbVRvcCA+PSBkb2NWaWV3VG9wICYmIGVsZW1Ub3AgPCBkb2NWaWV3Qm90dG9tKQogICAgICAgICAgICAgICAgfHwgKGVsZW1Cb3R0b20gPj0gZG9jVmlld1RvcCAmJiBlbGVtQm90dG9tIDwgZG9jVmlld0JvdHRvbSkKICAgICAgICAgICAgICAgIHx8IChlbGVtVG9wIDwgZG9jVmlld1RvcCAmJiBlbGVtQm90dG9tID49IGRvY1ZpZXdCb3R0b20pOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldERvbVBhZ2UocGFnZSkgewogICAgICAgIHJldHVybiBkb21QYWdlc1twYWdlLnBhZ2VJbmRleF07CiAgICB9CiAgICBmdW5jdGlvbiBnZXRQYWdlVGV4dChwYWdlKSB7CiAgICAgICAgcmV0dXJuIHBhZ2VUZXh0W3BhZ2UucGFnZUluZGV4XTsKICAgIH0KICAgIGZ1bmN0aW9uIGdldFJlbmRlcmluZ1N0YXR1cyhwYWdlKSB7CiAgICAgICAgcmV0dXJuIHJlbmRlcmluZ1N0YXRlc1twYWdlLnBhZ2VJbmRleF07CiAgICB9CiAgICBmdW5jdGlvbiBzZXRSZW5kZXJpbmdTdGF0dXMocGFnZSwgcmVuZGVyU3RhdHVzKSB7CiAgICAgICAgcmVuZGVyaW5nU3RhdGVzW3BhZ2UucGFnZUluZGV4XSA9IHJlbmRlclN0YXR1czsKICAgIH0KCiAgICBmdW5jdGlvbiB1cGRhdGVQYWdlRGltZW5zaW9ucyhwYWdlLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgdmFyIGRvbVBhZ2UgPSBnZXREb21QYWdlKHBhZ2UpLAogICAgICAgICAgICBjYW52YXMgPSBkb21QYWdlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjYW52YXMnKVswXSwKICAgICAgICAgICAgdGV4dExheWVyID0gZG9tUGFnZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF0sCiAgICAgICAgICAgIGNzc1NjYWxlID0gJ3NjYWxlKCcgKyBzY2FsZSArICcsICcgKyBzY2FsZSArICcpJzsKCiAgICAgICAgZG9tUGFnZS5zdHlsZS53aWR0aCA9IHdpZHRoICsgInB4IjsKICAgICAgICBkb21QYWdlLnN0eWxlLmhlaWdodCA9IGhlaWdodCArICJweCI7CgogICAgICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoOwogICAgICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CgogICAgICAgIHRleHRMYXllci5zdHlsZS53aWR0aCA9IHdpZHRoICsgInB4IjsKICAgICAgICB0ZXh0TGF5ZXIuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgInB4IjsKCiAgICAgICAgQ3VzdG9tU3R5bGUuc2V0UHJvcCgndHJhbnNmb3JtJywgdGV4dExheWVyLCBjc3NTY2FsZSk7CiAgICAgICAgQ3VzdG9tU3R5bGUuc2V0UHJvcCgndHJhbnNmb3JtT3JpZ2luJywgdGV4dExheWVyLCAnMCUgMCUnKTsKCiAgICAgICAgLy8gT25jZSB0aGUgcGFnZSBkaW1lbnNpb24gaXMgdXBkYXRlZCwgdGhlIHJlbmRlcmluZyBzdGF0ZSBpcyBibGFuay4KICAgICAgICBzZXRSZW5kZXJpbmdTdGF0dXMocGFnZSwgUkVOREVSSU5HLkJMQU5LKTsKICAgIH0KCiAgICBmdW5jdGlvbiByZW5kZXJQYWdlKHBhZ2UpIHsKICAgICAgICB2YXIgZG9tUGFnZSA9IGdldERvbVBhZ2UocGFnZSksCiAgICAgICAgICAgIHRleHRMYXllciA9IGdldFBhZ2VUZXh0KHBhZ2UpLAogICAgICAgICAgICBjYW52YXMgPSBkb21QYWdlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjYW52YXMnKVswXTsKCiAgICAgICAgaWYgKGdldFJlbmRlcmluZ1N0YXR1cyhwYWdlKSA9PT0gUkVOREVSSU5HLkJMQU5LKSB7CiAgICAgICAgICAgIHNldFJlbmRlcmluZ1N0YXR1cyhwYWdlLCBSRU5ERVJJTkcuUlVOTklORyk7CiAgICAgICAgICAgIHBhZ2UucmVuZGVyKHsKICAgICAgICAgICAgICAgIGNhbnZhc0NvbnRleHQ6IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLAogICAgICAgICAgICAgICAgdGV4dExheWVyOiB0ZXh0TGF5ZXIsCiAgICAgICAgICAgICAgICB2aWV3cG9ydDogcGFnZS5nZXRWaWV3cG9ydChzY2FsZSkKICAgICAgICAgICAgfSkucHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHNldFJlbmRlcmluZ1N0YXR1cyhwYWdlLCBSRU5ERVJJTkcuRklOSVNIRUQpOwogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gY29tcGxldGVMb2FkaW5nKCkgewogICAgICAgIGRvbVBhZ2VzLmZvckVhY2goZnVuY3Rpb24gKGRvbVBhZ2UpIHsKICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRvbVBhZ2UpOwogICAgICAgIH0pOwoKICAgICAgICBzZWxmLnNob3dQYWdlKDEpOwogICAgICAgIHNlbGYub25Mb2FkKCk7CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlUGFnZShwYWdlKSB7CiAgICAgICAgdmFyIHBhZ2VOdW1iZXIsCiAgICAgICAgICAgIHRleHRMYXllckRpdiwKICAgICAgICAgICAgdGV4dExheWVyLAogICAgICAgICAgICBjYW52YXMsCiAgICAgICAgICAgIGRvbVBhZ2UsCiAgICAgICAgICAgIHZpZXdwb3J0OwoKICAgICAgICBwYWdlTnVtYmVyID0gcGFnZS5wYWdlSW5kZXggKyAxOwoKICAgICAgICB2aWV3cG9ydCA9IHBhZ2UuZ2V0Vmlld3BvcnQoc2NhbGUpOwoKICAgICAgICBkb21QYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgZG9tUGFnZS5pZCA9ICdwYWdlQ29udGFpbmVyJyArIHBhZ2VOdW1iZXI7CiAgICAgICAgZG9tUGFnZS5jbGFzc05hbWUgPSAncGFnZSc7CiAgICAgICAgaWYgKHNlbGYuaXNTbGlkZXNob3coKSkgewogICAgICAgICAgICBkb21QYWdlLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgfQoKICAgICAgICBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgICAgICBjYW52YXMuaWQgPSAnY2FudmFzJyArIHBhZ2VOdW1iZXI7CgogICAgICAgIHRleHRMYXllckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgIHRleHRMYXllckRpdi5jbGFzc05hbWUgPSAndGV4dExheWVyJzsKICAgICAgICB0ZXh0TGF5ZXJEaXYuaWQgPSAndGV4dExheWVyJyArIHBhZ2VOdW1iZXI7CgogICAgICAgIGRvbVBhZ2UuYXBwZW5kQ2hpbGQoY2FudmFzKTsKICAgICAgICBkb21QYWdlLmFwcGVuZENoaWxkKHRleHRMYXllckRpdik7CgogICAgICAgIHBhZ2VzW3BhZ2UucGFnZUluZGV4XSA9IHBhZ2U7CiAgICAgICAgZG9tUGFnZXNbcGFnZS5wYWdlSW5kZXhdID0gZG9tUGFnZTsKICAgICAgICByZW5kZXJpbmdTdGF0ZXNbcGFnZS5wYWdlSW5kZXhdID0gUkVOREVSSU5HLkJMQU5LOwoKICAgICAgICB1cGRhdGVQYWdlRGltZW5zaW9ucyhwYWdlLCB2aWV3cG9ydC53aWR0aCwgdmlld3BvcnQuaGVpZ2h0KTsKICAgICAgICBwYWdlV2lkdGggPSB2aWV3cG9ydC53aWR0aDsKICAgICAgICBwYWdlSGVpZ2h0ID0gdmlld3BvcnQuaGVpZ2h0OwoKICAgICAgICB0ZXh0TGF5ZXIgPSBuZXcgVGV4dExheWVyQnVpbGRlcih7CiAgICAgICAgICAgIHRleHRMYXllckRpdjogdGV4dExheWVyRGl2LAogICAgICAgICAgICB2aWV3cG9ydDogdmlld3BvcnQsCiAgICAgICAgICAgIHBhZ2VJbmRleDogcGFnZU51bWJlciAtIDEKICAgICAgICB9KTsKICAgICAgICBwYWdlLmdldFRleHRDb250ZW50KCkudGhlbihmdW5jdGlvbiAodGV4dENvbnRlbnQpIHsKICAgICAgICAgICAgdGV4dExheWVyLnNldFRleHRDb250ZW50KHRleHRDb250ZW50KTsKICAgICAgICB9KTsKICAgICAgICBwYWdlVGV4dFtwYWdlLnBhZ2VJbmRleF0gPSB0ZXh0TGF5ZXI7CgogICAgICAgIGNyZWF0ZWRQYWdlQ291bnQgKz0gMTsKICAgICAgICBpZiAoY3JlYXRlZFBhZ2VDb3VudCA9PT0gKHBkZkRvY3VtZW50Lm51bVBhZ2VzKSkgewogICAgICAgICAgICBjb21wbGV0ZUxvYWRpbmcoKTsKICAgICAgICB9CiAgICB9CgogICAgdGhpcy5pbml0aWFsaXplID0gZnVuY3Rpb24gKHZpZXdDb250YWluZXIsIGxvY2F0aW9uKSB7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgICAgICBpLAogICAgICAgICAgICBwbHVnaW5DU1M7CgoKICAgICAgICBpbml0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgUERGSlMud29ya2VyU3JjID0gIi4vcGRmLndvcmtlci5qcyI7CiAgICAgICAgICAgIFBERkpTLmdldERvY3VtZW50KGxvY2F0aW9uKS50aGVuKGZ1bmN0aW9uIGxvYWRQREYoZG9jKSB7CiAgICAgICAgICAgICAgICBwZGZEb2N1bWVudCA9IGRvYzsKICAgICAgICAgICAgICAgIGNvbnRhaW5lciA9IHZpZXdDb250YWluZXI7CgogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHBkZkRvY3VtZW50Lm51bVBhZ2VzOyBpICs9IDEpIHsKICAgICAgICAgICAgICAgICAgICBwZGZEb2N1bWVudC5nZXRQYWdlKGkgKyAxKS50aGVuKGNyZWF0ZVBhZ2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH07CgogICAgdGhpcy5pc1NsaWRlc2hvdyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyBBIHZlcnkgc2ltcGxlIGJ1dCBnZW5lcmFsbHkgdHJ1ZSBndWVzcyAtIGlmIHRoZSB3aWR0aCBpcyBncmVhdGVyIHRoYW4gdGhlIGhlaWdodCwgdHJlYXQgaXQgYXMgYSBzbGlkZXNob3cKICAgICAgICByZXR1cm4gcGFnZVdpZHRoID4gcGFnZUhlaWdodDsKICAgIH07CgogICAgdGhpcy5vbkxvYWQgPSBmdW5jdGlvbiAoKSB7fTsKCiAgICB0aGlzLmdldFBhZ2VzID0gZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBkb21QYWdlczsKICAgIH07CgogICAgdGhpcy5nZXRXaWR0aCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gcGFnZVdpZHRoOwogICAgfTsKCiAgICB0aGlzLmdldEhlaWdodCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gcGFnZUhlaWdodDsKICAgIH07CgogICAgdGhpcy5maXRUb1dpZHRoID0gZnVuY3Rpb24gKHdpZHRoKSB7CiAgICAgICAgdmFyIHpvb21MZXZlbDsKCiAgICAgICAgaWYgKHNlbGYuZ2V0V2lkdGgoKSA9PT0gd2lkdGgpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB6b29tTGV2ZWwgPSB3aWR0aCAvIHBhZ2VXaWR0aDsKICAgICAgICBzZWxmLnNldFpvb21MZXZlbCh6b29tTGV2ZWwpOwogICAgfTsKCiAgICB0aGlzLmZpdFRvSGVpZ2h0ID0gZnVuY3Rpb24gKGhlaWdodCkgewogICAgICAgIHZhciB6b29tTGV2ZWw7CgogICAgICAgIGlmIChzZWxmLmdldEhlaWdodCgpID09PSBoZWlnaHQpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB6b29tTGV2ZWwgPSBoZWlnaHQgLyBwYWdlSGVpZ2h0OwogICAgICAgIHNlbGYuc2V0Wm9vbUxldmVsKHpvb21MZXZlbCk7CiAgICB9OwoKICAgIHRoaXMuZml0VG9QYWdlID0gZnVuY3Rpb24gKHdpZHRoLCBoZWlnaHQpIHsKICAgICAgICB2YXIgem9vbUxldmVsID0gd2lkdGggLyBwYWdlV2lkdGg7CiAgICAgICAgaWYgKGhlaWdodCAvIHBhZ2VIZWlnaHQgPCB6b29tTGV2ZWwpIHsKICAgICAgICAgICAgem9vbUxldmVsID0gaGVpZ2h0IC8gcGFnZUhlaWdodDsKICAgICAgICB9CiAgICAgICAgc2VsZi5zZXRab29tTGV2ZWwoem9vbUxldmVsKTsKICAgIH07CgogICAgdGhpcy5maXRTbWFydCA9IGZ1bmN0aW9uICh3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgdmFyIHpvb21MZXZlbCA9IHdpZHRoIC8gcGFnZVdpZHRoOwogICAgICAgIGlmIChoZWlnaHQgJiYgKGhlaWdodCAvIHBhZ2VIZWlnaHQpIDwgem9vbUxldmVsKSB7CiAgICAgICAgICAgIHpvb21MZXZlbCA9IGhlaWdodCAvIHBhZ2VIZWlnaHQ7CiAgICAgICAgfQogICAgICAgIHpvb21MZXZlbCA9IE1hdGgubWluKDEuMCwgem9vbUxldmVsKTsKICAgICAgICBzZWxmLnNldFpvb21MZXZlbCh6b29tTGV2ZWwpOwogICAgfTsKCiAgICB0aGlzLnNldFpvb21MZXZlbCA9IGZ1bmN0aW9uICh6b29tTGV2ZWwpIHsKICAgICAgICB2YXIgaTsKCiAgICAgICAgaWYgKHNjYWxlICE9PSB6b29tTGV2ZWwpIHsKICAgICAgICAgICAgc2NhbGUgPSB6b29tTGV2ZWw7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGFnZXMubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgICAgIHVwZGF0ZVBhZ2VEaW1lbnNpb25zKHBhZ2VzW2ldLCBwYWdlV2lkdGggKiBzY2FsZSwgcGFnZUhlaWdodCAqIHNjYWxlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CgogICAgdGhpcy5nZXRab29tTGV2ZWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHNjYWxlOwogICAgfTsKCiAgICB0aGlzLm9uU2Nyb2xsID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBpOwoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZG9tUGFnZXMubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgaWYgKGlzU2Nyb2xsZWRJbnRvVmlldyhkb21QYWdlc1tpXSkpIHsKICAgICAgICAgICAgICAgIGlmIChnZXRSZW5kZXJpbmdTdGF0dXMocGFnZXNbaV0pID09PSBSRU5ERVJJTkcuQkxBTkspIHsKICAgICAgICAgICAgICAgICAgICByZW5kZXJQYWdlKHBhZ2VzW2ldKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CgogICAgdGhpcy5nZXRQYWdlSW5WaWV3ID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBpOwoKICAgICAgICBpZiAoc2VsZi5pc1NsaWRlc2hvdygpKSB7CiAgICAgICAgICAgIHJldHVybiBjdXJyZW50UGFnZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZG9tUGFnZXMubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgICAgIGlmIChpc1Njcm9sbGVkSW50b1ZpZXcoZG9tUGFnZXNbaV0pKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgKyAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICB0aGlzLnNob3dQYWdlID0gZnVuY3Rpb24gKG4pIHsKICAgICAgICBpZiAoc2VsZi5pc1NsaWRlc2hvdygpKSB7CiAgICAgICAgICAgIGRvbVBhZ2VzW2N1cnJlbnRQYWdlIC0gMV0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgY3VycmVudFBhZ2UgPSBuOwogICAgICAgICAgICBkb21QYWdlc1tuIC0gMV0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc2Nyb2xsSW50b1ZpZXcoZG9tUGFnZXNbbiAtIDFdKTsKICAgICAgICB9CiAgICB9OwoKICAgIHRoaXMuZ2V0UGx1Z2luTmFtZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gIlBERi5qcyIKICAgIH07CgogICAgdGhpcy5nZXRQbHVnaW5WZXJzaW9uID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciB2ZXJzaW9uID0gKFN0cmluZyh0eXBlb2YgcGRmanNfdmVyc2lvbikgIT09ICJ1bmRlZmluZWQiCiAgICAgICAgICAgID8gcGRmanNfdmVyc2lvbgogICAgICAgICAgICA6ICJGcm9tIFNvdXJjZSIKICAgICAgICApOwogICAgICAgIHJldHVybiB2ZXJzaW9uOwogICAgfTsKCiAgICB0aGlzLmdldFBsdWdpblVSTCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gImh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3BkZi5qcy8iOwogICAgfTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/PluginLoader.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgogKgogKiBAbGljc3RhcnQKICogVGhlIEphdmFTY3JpcHQgY29kZSBpbiB0aGlzIHBhZ2UgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQKICogYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiAoR05VIEFHUEwpIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgVGhlIGNvZGUgaXMgZGlzdHJpYnV0ZWQKICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBBR1BMIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIHRoaXMgY29kZS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICoKICogQXMgYWRkaXRpb25hbCBwZXJtaXNzaW9uIHVuZGVyIEdOVSBBR1BMIHZlcnNpb24gMyBzZWN0aW9uIDcsIHlvdQogKiBtYXkgZGlzdHJpYnV0ZSBub24tc291cmNlIChlLmcuLCBtaW5pbWl6ZWQgb3IgY29tcGFjdGVkKSBmb3JtcyBvZgogKiB0aGF0IGNvZGUgd2l0aG91dCB0aGUgY29weSBvZiB0aGUgR05VIEdQTCBub3JtYWxseSByZXF1aXJlZCBieQogKiBzZWN0aW9uIDQsIHByb3ZpZGVkIHlvdSBpbmNsdWRlIHRoaXMgbGljZW5zZSBub3RpY2UgYW5kIGEgVVJMCiAqIHRocm91Z2ggd2hpY2ggcmVjaXBpZW50cyBjYW4gYWNjZXNzIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4KICoKICogQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgQUdQTCwgYW55IEhUTUwgZmlsZSB3aGljaCBtZXJlbHkgbWFrZXMgZnVuY3Rpb24KICogY2FsbHMgdG8gdGhpcyBjb2RlLCBhbmQgZm9yIHRoYXQgcHVycG9zZSBpbmNsdWRlcyBpdCBieSByZWZlcmVuY2Ugc2hhbGwgYmUKICogZGVlbWVkIGEgc2VwYXJhdGUgd29yayBmb3IgY29weXJpZ2h0IGxhdyBwdXJwb3Nlcy4gSW4gYWRkaXRpb24sIHRoZSBjb3B5cmlnaHQKICogaG9sZGVycyBvZiB0aGlzIGNvZGUgZ2l2ZSB5b3UgcGVybWlzc2lvbiB0byBjb21iaW5lIHRoaXMgY29kZSB3aXRoIGZyZWUKICogc29mdHdhcmUgbGlicmFyaWVzIHRoYXQgYXJlIHJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgTEdQTC4gWW91IG1heSBjb3B5IGFuZAogKiBkaXN0cmlidXRlIHN1Y2ggYSBzeXN0ZW0gZm9sbG93aW5nIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFHUEwgZm9yIHRoaXMgY29kZQogKiBhbmQgdGhlIExHUEwgZm9yIHRoZSBsaWJyYXJpZXMuIElmIHlvdSBtb2RpZnkgdGhpcyBjb2RlLCB5b3UgbWF5IGV4dGVuZCB0aGlzCiAqIGV4Y2VwdGlvbiB0byB5b3VyIHZlcnNpb24gb2YgdGhlIGNvZGUsIGJ1dCB5b3UgYXJlIG5vdCBvYmxpZ2F0ZWQgdG8gZG8gc28uCiAqIElmIHlvdSBkbyBub3Qgd2lzaCB0byBkbyBzbywgZGVsZXRlIHRoaXMgZXhjZXB0aW9uIHN0YXRlbWVudCBmcm9tIHlvdXIKICogdmVyc2lvbi4KICoKICogVGhpcyBsaWNlbnNlIGFwcGxpZXMgdG8gdGhpcyBlbnRpcmUgY29tcGlsYXRpb24uCiAqIEBsaWNlbmQKICogQHNvdXJjZTogaHR0cDovL3ZpZXdlcmpzLm9yZy8KICogQHNvdXJjZTogaHR0cDovL2dpdGh1Yi5jb20va29nbWJoL1ZpZXdlckpTCiAqLwoKLypnbG9iYWwgZG9jdW1lbnQsIHdpbmRvdywgVmlld2VyLCBPREZWaWV3ZXJQbHVnaW4sIFBERlZpZXdlclBsdWdpbiovCgpmdW5jdGlvbiBsb2FkRG9jdW1lbnQoKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgdmFyIHBsdWdpblJlZ2lzdHJ5ID0gWwogICAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIG9kZk1pbWV0eXBlcyA9IFsKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQnLAogICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC1mbGF0LXhtbCcsCiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LXRlbXBsYXRlJywKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbicsCiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24tZmxhdC14bWwnLAogICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQucHJlc2VudGF0aW9uLXRlbXBsYXRlJywKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0JywKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0LWZsYXQteG1sJywKICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0LXRlbXBsYXRlJ107CiAgICAgICAgICAgIHZhciBvZGZGaWxlRXh0ZW5zaW9ucyA9IFsKICAgICAgICAgICAgICAgICdvZHQnLAogICAgICAgICAgICAgICAgJ2ZvZHQnLAogICAgICAgICAgICAgICAgJ290dCcsCiAgICAgICAgICAgICAgICAnb2RwJywKICAgICAgICAgICAgICAgICdmb2RwJywKICAgICAgICAgICAgICAgICdvdHAnLAogICAgICAgICAgICAgICAgJ29kcycsCiAgICAgICAgICAgICAgICAnZm9kcycsCiAgICAgICAgICAgICAgICAnb3RzJ107CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgc3VwcG9ydHNNaW1ldHlwZTogZnVuY3Rpb24obWltZXR5cGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gKG9kZk1pbWV0eXBlcy5pbmRleE9mKG1pbWV0eXBlKSAhPT0gLTEpOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHN1cHBvcnRzRmlsZUV4dGVuc2lvbjogZnVuY3Rpb24oZXh0ZW5zaW9uKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChvZGZGaWxlRXh0ZW5zaW9ucy5pbmRleE9mKGV4dGVuc2lvbikgIT09IC0xKTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBwYXRoOiAiLi9PREZWaWV3ZXJQbHVnaW4iLAogICAgICAgICAgICAgICAgZ2V0Q2xhc3M6IGZ1bmN0aW9uKCkgeyByZXR1cm4gT0RGVmlld2VyUGx1Z2luOyB9CiAgICAgICAgICAgIH07CiAgICAgICAgfSgpKSwKICAgICAgICB7CiAgICAgICAgICAgIHN1cHBvcnRzTWltZXR5cGU6IGZ1bmN0aW9uKG1pbWV0eXBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKG1pbWV0eXBlID09PSAnYXBwbGljYXRpb24vcGRmJyk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHN1cHBvcnRzRmlsZUV4dGVuc2lvbjogZnVuY3Rpb24oZXh0ZW5zaW9uKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGV4dGVuc2lvbiA9PT0gJ3BkZicpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBwYXRoOiAiLi9QREZWaWV3ZXJQbHVnaW4iLAogICAgICAgICAgICBnZXRDbGFzczogZnVuY3Rpb24oKSB7IHJldHVybiBQREZWaWV3ZXJQbHVnaW47IH0KICAgICAgICB9CiAgICBdOwoKICAgIGZ1bmN0aW9uIGxvYWRQbHVnaW4ocGx1Z2luTmFtZSwgY2FsbGJhY2spIHsKICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgdmFyIHNjcmlwdCwgc3R5bGU7CgogICAgICAgIC8vIExvYWQgc2NyaXB0CiAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgc2NyaXB0LmFzeW5jID0gZmFsc2U7CiAgICAgICAgc2NyaXB0Lm9ubG9hZCA9IGNhbGxiYWNrOwogICAgICAgIHNjcmlwdC5zcmMgPSBwbHVnaW5OYW1lICsgJy5qcyc7CiAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7CiAgICB9CgoKICAgIGZ1bmN0aW9uIGVzdGltYXRlVHlwZUJ5SGVhZGVyQ29udGVudFR5cGUoZG9jdW1lbnRVcmwsIGNiKSB7CiAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIG1pbWV0eXBlLCBtYXRjaGluZ1BsdWdpbkRhdGE7CiAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PT0gNCkgewogICAgICAgICAgICAgICAgaWYgKCh4aHIuc3RhdHVzID49IDIwMCAmJiB4aHIuc3RhdHVzIDwgMzAwKSB8fCB4aHIuc3RhdHVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgbWltZXR5cGUgPSB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ2NvbnRlbnQtdHlwZScpOwoKICAgICAgICAgICAgICAgICAgICBpZiAobWltZXR5cGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2luUmVnaXN0cnkuc29tZShmdW5jdGlvbihwbHVnaW5EYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGx1Z2luRGF0YS5zdXBwb3J0c01pbWV0eXBlKG1pbWV0eXBlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoaW5nUGx1Z2luRGF0YSA9IHBsdWdpbkRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0ZvdW5kIHBsdWdpbiBieSBtaW1ldHlwZSBhbmQgeGhyIGhlYWQ6ICcgKyBtaW1ldHlwZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNiKG1hdGNoaW5nUGx1Z2luRGF0YSk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIHhoci5vcGVuKCJIRUFEIiwgZG9jdW1lbnRVcmwsIHRydWUpOwogICAgICAgIHhoci5zZW5kKCk7CiAgICB9CgoKICAgIGZ1bmN0aW9uIGRvRXN0aW1hdGVUeXBlQnlGaWxlRXh0ZW5zaW9uKGV4dGVuc2lvbikgewogICAgICAgIHZhciBtYXRjaGluZ1BsdWdpbkRhdGE7CgogICAgICAgIHBsdWdpblJlZ2lzdHJ5LnNvbWUoZnVuY3Rpb24ocGx1Z2luRGF0YSkgewogICAgICAgICAgICBpZiAocGx1Z2luRGF0YS5zdXBwb3J0c0ZpbGVFeHRlbnNpb24oZXh0ZW5zaW9uKSkgewogICAgICAgICAgICAgICAgbWF0Y2hpbmdQbHVnaW5EYXRhID0gcGx1Z2luRGF0YTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIG1hdGNoaW5nUGx1Z2luRGF0YTsKICAgIH0KCgogICAgZnVuY3Rpb24gZXN0aW1hdGVUeXBlQnlGaWxlRXh0ZW5zaW9uKGV4dGVuc2lvbikgewogICAgICAgIHZhciBtYXRjaGluZ1BsdWdpbkRhdGEgPSBkb0VzdGltYXRlVHlwZUJ5RmlsZUV4dGVuc2lvbihleHRlbnNpb24pCgogICAgICAgIGlmIChtYXRjaGluZ1BsdWdpbkRhdGEpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ0ZvdW5kIHBsdWdpbiBieSBwYXJhbWV0ZXIgdHlwZTogJyArIGV4dGVuc2lvbik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbWF0Y2hpbmdQbHVnaW5EYXRhOwogICAgfQoKCiAgICBmdW5jdGlvbiBlc3RpbWF0ZVR5cGVCeUZpbGVFeHRlbnNpb25Gcm9tUGF0aChkb2N1bWVudFVybCkgewogICAgICAgIC8vIFNlZSB0byBnZXQgYW55IHBhdGggZnJvbSB0aGUgdXJsIGFuZCBncmVwIHdoYXQgY291bGQgYmUgYSBmaWxlIGV4dGVuc2lvbgogICAgICAgIHZhciBkb2N1bWVudFBhdGggPSBkb2N1bWVudFVybC5zcGxpdCgnPycpWzBdLAogICAgICAgICAgICBleHRlbnNpb24gPSBkb2N1bWVudFBhdGguc3BsaXQoJy4nKS5wb3AoKSwKICAgICAgICAgICAgbWF0Y2hpbmdQbHVnaW5EYXRhID0gZG9Fc3RpbWF0ZVR5cGVCeUZpbGVFeHRlbnNpb24oZXh0ZW5zaW9uKQoKICAgICAgICBpZiAobWF0Y2hpbmdQbHVnaW5EYXRhKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGb3VuZCBwbHVnaW4gYnkgZmlsZSBleHRlbnNpb24gZnJvbSBwYXRoOiAnICsgZXh0ZW5zaW9uKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBtYXRjaGluZ1BsdWdpbkRhdGE7CiAgICB9CgoKICAgIGZ1bmN0aW9uIHBhcnNlU2VhcmNoUGFyYW1ldGVycyhsb2NhdGlvbikgewogICAgICAgIHZhciBwYXJhbWV0ZXJzID0ge30sCiAgICAgICAgICAgIHNlYXJjaCA9IGxvY2F0aW9uLnNlYXJjaCB8fCAiPyI7CgogICAgICAgIHNlYXJjaC5zdWJzdHIoMSkuc3BsaXQoJyYnKS5mb3JFYWNoKGZ1bmN0aW9uIChxKSB7CiAgICAgICAgICAgIC8vIHNraXAgZW1wdHkgc3RyaW5ncwogICAgICAgICAgICBpZiAoIXEpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyAnPScsIGhhdmUgaXQgaGFuZGxlZCBhcyBpZiBnaXZlbiBrZXkgd2FzIHNldCB0byB1bmRlZmluZWQKICAgICAgICAgICAgdmFyIHMgPSBxLnNwbGl0KCc9JywgMik7CiAgICAgICAgICAgIHBhcmFtZXRlcnNbZGVjb2RlVVJJQ29tcG9uZW50KHNbMF0pXSA9IGRlY29kZVVSSUNvbXBvbmVudChzWzFdKTsKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CiAgICB9CgoKICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHZpZXdlciwKICAgICAgICAgICAgZG9jdW1lbnRVcmwgPSBkb2N1bWVudC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSwKICAgICAgICAgICAgcGFyYW1ldGVycyA9IHBhcnNlU2VhcmNoUGFyYW1ldGVycyhkb2N1bWVudC5sb2NhdGlvbiksCiAgICAgICAgICAgIFBsdWdpbjsKCiAgICAgICAgaWYgKGRvY3VtZW50VXJsKSB7CiAgICAgICAgICAgIC8vIHRyeSB0byBndWVzcyB0aGUgdGl0bGUgYXMgZmlsZW5hbWUgZnJvbSB0aGUgbG9jYXRpb24sIGlmIG5vdCBzZXQgYnkgcGFyYW1ldGVyCiAgICAgICAgICAgIGlmICghcGFyYW1ldGVycy50aXRsZSkgewogICAgICAgICAgICAgICAgcGFyYW1ldGVycy50aXRsZSA9IGRvY3VtZW50VXJsLnJlcGxhY2UoL14uKltcXFwvXS8sICcnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcGFyYW1ldGVycy5kb2N1bWVudFVybCA9IGRvY3VtZW50VXJsOwoKICAgICAgICAgICAgLy8gdHJ1c3QgdGhlIHNlcnZlciBtb3N0CiAgICAgICAgICAgIGVzdGltYXRlVHlwZUJ5SGVhZGVyQ29udGVudFR5cGUoZG9jdW1lbnRVcmwsIGZ1bmN0aW9uKHBsdWdpbkRhdGEpIHsKICAgICAgICAgICAgICAgIGlmICghcGx1Z2luRGF0YSkgewogICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzLnR5cGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcGx1Z2luRGF0YSA9IGVzdGltYXRlVHlwZUJ5RmlsZUV4dGVuc2lvbihwYXJhbWV0ZXJzLnR5cGUpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgcmVzc29ydDogdHJ5IHRvIGd1ZXNzIGZyb20gcGF0aAogICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5EYXRhID0gZXN0aW1hdGVUeXBlQnlGaWxlRXh0ZW5zaW9uRnJvbVBhdGgoZG9jdW1lbnRVcmwpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAocGx1Z2luRGF0YSkgewogICAgICAgICAgICAgICAgICAgIGxvYWRQbHVnaW4ocGx1Z2luRGF0YS5wYXRoLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBsdWdpbiA9IHBsdWdpbkRhdGEuZ2V0Q2xhc3MoKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmlld2VyID0gbmV3IFZpZXdlcihuZXcgUGx1Z2luKCksIHBhcmFtZXRlcnMpOwogICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHZpZXdlciA9IG5ldyBWaWV3ZXIoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmlld2VyID0gbmV3IFZpZXdlcigpOwogICAgICAgIH0KICAgIH07Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/text_layer_builder.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBGb3VuZGF0aW9uCiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAogKgogKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwovKiBnbG9iYWxzIEN1c3RvbVN0eWxlLCBQREZKUyAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIE1BWF9URVhUX0RJVlNfVE9fUkVOREVSID0gMTAwMDAwOwoKdmFyIE5vbldoaXRlc3BhY2VSZWdleHAgPSAvXFMvOwoKZnVuY3Rpb24gaXNBbGxXaGl0ZXNwYWNlKHN0cikgewogIHJldHVybiAhTm9uV2hpdGVzcGFjZVJlZ2V4cC50ZXN0KHN0cik7Cn0KCi8qKgogKiBAdHlwZWRlZiB7T2JqZWN0fSBUZXh0TGF5ZXJCdWlsZGVyT3B0aW9ucwogKiBAcHJvcGVydHkge0hUTUxEaXZFbGVtZW50fSB0ZXh0TGF5ZXJEaXYgLSBUaGUgdGV4dCBsYXllciBjb250YWluZXIuCiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwYWdlSW5kZXggLSBUaGUgcGFnZSBpbmRleC4KICogQHByb3BlcnR5IHtQYWdlVmlld3BvcnR9IHZpZXdwb3J0IC0gVGhlIHZpZXdwb3J0IG9mIHRoZSB0ZXh0IGxheWVyLgogKiBAcHJvcGVydHkge1BERkZpbmRDb250cm9sbGVyfSBmaW5kQ29udHJvbGxlcgogKi8KCi8qKgogKiBUZXh0TGF5ZXJCdWlsZGVyIHByb3ZpZGVzIHRleHQtc2VsZWN0aW9uIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZSBQREYuCiAqIEl0IGRvZXMgdGhpcyBieSBjcmVhdGluZyBvdmVybGF5IGRpdnMgb3ZlciB0aGUgUERGIHRleHQuIFRoZXNlIGRpdnMKICogY29udGFpbiB0ZXh0IHRoYXQgbWF0Y2hlcyB0aGUgUERGIHRleHQgdGhleSBhcmUgb3ZlcmxheWluZy4gVGhpcyBvYmplY3QKICogYWxzbyBwcm92aWRlcyBhIHdheSB0byBoaWdobGlnaHQgdGV4dCB0aGF0IGlzIGJlaW5nIHNlYXJjaGVkIGZvci4KICogQGNsYXNzCiAqLwp2YXIgVGV4dExheWVyQnVpbGRlciA9IChmdW5jdGlvbiBUZXh0TGF5ZXJCdWlsZGVyQ2xvc3VyZSgpIHsKICBmdW5jdGlvbiBUZXh0TGF5ZXJCdWlsZGVyKG9wdGlvbnMpIHsKICAgIHRoaXMudGV4dExheWVyRGl2ID0gb3B0aW9ucy50ZXh0TGF5ZXJEaXY7CiAgICB0aGlzLnJlbmRlcmluZ0RvbmUgPSBmYWxzZTsKICAgIHRoaXMuZGl2Q29udGVudERvbmUgPSBmYWxzZTsKICAgIHRoaXMucGFnZUlkeCA9IG9wdGlvbnMucGFnZUluZGV4OwogICAgdGhpcy5wYWdlTnVtYmVyID0gdGhpcy5wYWdlSWR4ICsgMTsKICAgIHRoaXMubWF0Y2hlcyA9IFtdOwogICAgdGhpcy52aWV3cG9ydCA9IG9wdGlvbnMudmlld3BvcnQ7CiAgICB0aGlzLnRleHREaXZzID0gW107CiAgICB0aGlzLmZpbmRDb250cm9sbGVyID0gb3B0aW9ucy5maW5kQ29udHJvbGxlciB8fCBudWxsOwogIH0KCiAgVGV4dExheWVyQnVpbGRlci5wcm90b3R5cGUgPSB7CiAgICBfZmluaXNoUmVuZGVyaW5nOiBmdW5jdGlvbiBUZXh0TGF5ZXJCdWlsZGVyX2ZpbmlzaFJlbmRlcmluZygpIHsKICAgICAgdGhpcy5yZW5kZXJpbmdEb25lID0gdHJ1ZTsKCiAgICAgIHZhciBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21FdmVudCcpOwogICAgICBldmVudC5pbml0Q3VzdG9tRXZlbnQoJ3RleHRsYXllcnJlbmRlcmVkJywgdHJ1ZSwgdHJ1ZSwgewogICAgICAgIHBhZ2VOdW1iZXI6IHRoaXMucGFnZU51bWJlcgogICAgICB9KTsKICAgICAgdGhpcy50ZXh0TGF5ZXJEaXYuZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICB9LAoKICAgIHJlbmRlckxheWVyOiBmdW5jdGlvbiBUZXh0TGF5ZXJCdWlsZGVyX3JlbmRlckxheWVyKCkgewogICAgICB2YXIgdGV4dExheWVyRnJhZyA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKICAgICAgdmFyIHRleHREaXZzID0gdGhpcy50ZXh0RGl2czsKICAgICAgdmFyIHRleHREaXZzTGVuZ3RoID0gdGV4dERpdnMubGVuZ3RoOwogICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKCiAgICAgIC8vIE5vIHBvaW50IGluIHJlbmRlcmluZyBtYW55IGRpdnMgYXMgaXQgd291bGQgbWFrZSB0aGUgYnJvd3NlcgogICAgICAvLyB1bnVzYWJsZSBldmVuIGFmdGVyIHRoZSBkaXZzIGFyZSByZW5kZXJlZC4KICAgICAgaWYgKHRleHREaXZzTGVuZ3RoID4gTUFYX1RFWFRfRElWU19UT19SRU5ERVIpIHsKICAgICAgICB0aGlzLl9maW5pc2hSZW5kZXJpbmcoKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBsYXN0Rm9udFNpemU7CiAgICAgIHZhciBsYXN0Rm9udEZhbWlseTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXh0RGl2c0xlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHRleHREaXYgPSB0ZXh0RGl2c1tpXTsKICAgICAgICBpZiAodGV4dERpdi5kYXRhc2V0LmlzV2hpdGVzcGFjZSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIHZhciBmb250U2l6ZSA9IHRleHREaXYuc3R5bGUuZm9udFNpemU7CiAgICAgICAgdmFyIGZvbnRGYW1pbHkgPSB0ZXh0RGl2LnN0eWxlLmZvbnRGYW1pbHk7CgogICAgICAgIC8vIE9ubHkgYnVpbGQgZm9udCBzdHJpbmcgYW5kIHNldCB0byBjb250ZXh0IGlmIGRpZmZlcmVudCBmcm9tIGxhc3QuCiAgICAgICAgaWYgKGZvbnRTaXplICE9PSBsYXN0Rm9udFNpemUgfHwgZm9udEZhbWlseSAhPT0gbGFzdEZvbnRGYW1pbHkpIHsKICAgICAgICAgIGN0eC5mb250ID0gZm9udFNpemUgKyAnICcgKyBmb250RmFtaWx5OwogICAgICAgICAgbGFzdEZvbnRTaXplID0gZm9udFNpemU7CiAgICAgICAgICBsYXN0Rm9udEZhbWlseSA9IGZvbnRGYW1pbHk7CiAgICAgICAgfQoKICAgICAgICB2YXIgd2lkdGggPSBjdHgubWVhc3VyZVRleHQodGV4dERpdi50ZXh0Q29udGVudCkud2lkdGg7CiAgICAgICAgaWYgKHdpZHRoID4gMCkgewogICAgICAgICAgdGV4dExheWVyRnJhZy5hcHBlbmRDaGlsZCh0ZXh0RGl2KTsKICAgICAgICAgIHZhciB0cmFuc2Zvcm07CiAgICAgICAgICBpZiAodGV4dERpdi5kYXRhc2V0LmNhbnZhc1dpZHRoICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgLy8gRGF0YXNldCB2YWx1ZXMgY29tZSBvZiB0eXBlIHN0cmluZy4KICAgICAgICAgICAgdmFyIHRleHRTY2FsZSA9IHRleHREaXYuZGF0YXNldC5jYW52YXNXaWR0aCAvIHdpZHRoOwogICAgICAgICAgICB0cmFuc2Zvcm0gPSAnc2NhbGVYKCcgKyB0ZXh0U2NhbGUgKyAnKSc7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cmFuc2Zvcm0gPSAnJzsKICAgICAgICAgIH0KICAgICAgICAgIHZhciByb3RhdGlvbiA9IHRleHREaXYuZGF0YXNldC5hbmdsZTsKICAgICAgICAgIGlmIChyb3RhdGlvbikgewogICAgICAgICAgICB0cmFuc2Zvcm0gPSAncm90YXRlKCcgKyByb3RhdGlvbiArICdkZWcpICcgKyB0cmFuc2Zvcm07CiAgICAgICAgICB9CiAgICAgICAgICBpZiAodHJhbnNmb3JtKSB7CiAgICAgICAgICAgIEN1c3RvbVN0eWxlLnNldFByb3AoJ3RyYW5zZm9ybScgLCB0ZXh0RGl2LCB0cmFuc2Zvcm0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgdGhpcy50ZXh0TGF5ZXJEaXYuYXBwZW5kQ2hpbGQodGV4dExheWVyRnJhZyk7CiAgICAgIHRoaXMuX2ZpbmlzaFJlbmRlcmluZygpOwogICAgICB0aGlzLnVwZGF0ZU1hdGNoZXMoKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZW5kZXJzIHRoZSB0ZXh0IGxheWVyLgogICAgICogQHBhcmFtIHtudW1iZXJ9IHRpbWVvdXQgKG9wdGlvbmFsKSBpZiBzcGVjaWZpZWQsIHRoZSByZW5kZXJpbmcgd2FpdHMKICAgICAqICAgZm9yIHNwZWNpZmllZCBhbW91bnQgb2YgbXMuCiAgICAgKi8KICAgIHJlbmRlcjogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl9yZW5kZXIodGltZW91dCkgewogICAgICBpZiAoIXRoaXMuZGl2Q29udGVudERvbmUgfHwgdGhpcy5yZW5kZXJpbmdEb25lKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAodGhpcy5yZW5kZXJUaW1lcikgewogICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlbmRlclRpbWVyKTsKICAgICAgICB0aGlzLnJlbmRlclRpbWVyID0gbnVsbDsKICAgICAgfQoKICAgICAgaWYgKCF0aW1lb3V0KSB7IC8vIFJlbmRlciByaWdodCBhd2F5CiAgICAgICAgdGhpcy5yZW5kZXJMYXllcigpOwogICAgICB9IGVsc2UgeyAvLyBTY2hlZHVsZQogICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICB0aGlzLnJlbmRlclRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgIHNlbGYucmVuZGVyTGF5ZXIoKTsKICAgICAgICAgIHNlbGYucmVuZGVyVGltZXIgPSBudWxsOwogICAgICAgIH0sIHRpbWVvdXQpOwogICAgICB9CiAgICB9LAoKICAgIGFwcGVuZFRleHQ6IGZ1bmN0aW9uIFRleHRMYXllckJ1aWxkZXJfYXBwZW5kVGV4dChnZW9tLCBzdHlsZXMpIHsKICAgICAgdmFyIHN0eWxlID0gc3R5bGVzW2dlb20uZm9udE5hbWVdOwogICAgICB2YXIgdGV4dERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICB0aGlzLnRleHREaXZzLnB1c2godGV4dERpdik7CiAgICAgIGlmIChpc0FsbFdoaXRlc3BhY2UoZ2VvbS5zdHIpKSB7CiAgICAgICAgdGV4dERpdi5kYXRhc2V0LmlzV2hpdGVzcGFjZSA9IHRydWU7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciB0eCA9IFBERkpTLlV0aWwudHJhbnNmb3JtKHRoaXMudmlld3BvcnQudHJhbnNmb3JtLCBnZW9tLnRyYW5zZm9ybSk7CiAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIodHhbMV0sIHR4WzBdKTsKICAgICAgaWYgKHN0eWxlLnZlcnRpY2FsKSB7CiAgICAgICAgYW5nbGUgKz0gTWF0aC5QSSAvIDI7CiAgICAgIH0KICAgICAgdmFyIGZvbnRIZWlnaHQgPSBNYXRoLnNxcnQoKHR4WzJdICogdHhbMl0pICsgKHR4WzNdICogdHhbM10pKTsKICAgICAgdmFyIGZvbnRBc2NlbnQgPSBmb250SGVpZ2h0OwogICAgICBpZiAoc3R5bGUuYXNjZW50KSB7CiAgICAgICAgZm9udEFzY2VudCA9IHN0eWxlLmFzY2VudCAqIGZvbnRBc2NlbnQ7CiAgICAgIH0gZWxzZSBpZiAoc3R5bGUuZGVzY2VudCkgewogICAgICAgIGZvbnRBc2NlbnQgPSAoMSArIHN0eWxlLmRlc2NlbnQpICogZm9udEFzY2VudDsKICAgICAgfQoKICAgICAgdmFyIGxlZnQ7CiAgICAgIHZhciB0b3A7CiAgICAgIGlmIChhbmdsZSA9PT0gMCkgewogICAgICAgIGxlZnQgPSB0eFs0XTsKICAgICAgICB0b3AgPSB0eFs1XSAtIGZvbnRBc2NlbnQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbGVmdCA9IHR4WzRdICsgKGZvbnRBc2NlbnQgKiBNYXRoLnNpbihhbmdsZSkpOwogICAgICAgIHRvcCA9IHR4WzVdIC0gKGZvbnRBc2NlbnQgKiBNYXRoLmNvcyhhbmdsZSkpOwogICAgICB9CiAgICAgIHRleHREaXYuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOwogICAgICB0ZXh0RGl2LnN0eWxlLnRvcCA9IHRvcCArICdweCc7CiAgICAgIHRleHREaXYuc3R5bGUuZm9udFNpemUgPSBmb250SGVpZ2h0ICsgJ3B4JzsKICAgICAgdGV4dERpdi5zdHlsZS5mb250RmFtaWx5ID0gc3R5bGUuZm9udEZhbWlseTsKCiAgICAgIHRleHREaXYudGV4dENvbnRlbnQgPSBnZW9tLnN0cjsKICAgICAgLy8gfGZvbnROYW1lfCBpcyBvbmx5IHVzZWQgYnkgdGhlIEZvbnQgSW5zcGVjdG9yLiBUaGlzIHRlc3Qgd2lsbCBzdWNjZWVkCiAgICAgIC8vIHdoZW4gZS5nLiB0aGUgRm9udCBJbnNwZWN0b3IgaXMgb2ZmIGJ1dCB0aGUgU3RlcHBlciBpcyBvbiwgYnV0IGl0J3MKICAgICAgLy8gbm90IHdvcnRoIHRoZSBlZmZvcnQgdG8gZG8gYSBtb3JlIGFjY3VyYXRlIHRlc3QuCiAgICAgIGlmIChQREZKUy5wZGZCdWcpIHsKICAgICAgICB0ZXh0RGl2LmRhdGFzZXQuZm9udE5hbWUgPSBnZW9tLmZvbnROYW1lOwogICAgICB9CiAgICAgIC8vIFN0b3JpbmcgaW50byBkYXRhc2V0IHdpbGwgY29udmVydCBudW1iZXIgaW50byBzdHJpbmcuCiAgICAgIGlmIChhbmdsZSAhPT0gMCkgewogICAgICAgIHRleHREaXYuZGF0YXNldC5hbmdsZSA9IGFuZ2xlICogKDE4MCAvIE1hdGguUEkpOwogICAgICB9CiAgICAgIC8vIFdlIGRvbid0IGJvdGhlciBzY2FsaW5nIHNpbmdsZS1jaGFyIHRleHQgZGl2cywgYmVjYXVzZSBpdCBoYXMgdmVyeQogICAgICAvLyBsaXR0bGUgZWZmZWN0IG9uIHRleHQgaGlnaGxpZ2h0aW5nLiBUaGlzIG1ha2VzIHNjcm9sbGluZyBvbiBkb2NzIHdpdGgKICAgICAgLy8gbG90cyBvZiBzdWNoIGRpdnMgYSBsb3QgZmFzdGVyLgogICAgICBpZiAodGV4dERpdi50ZXh0Q29udGVudC5sZW5ndGggPiAxKSB7CiAgICAgICAgaWYgKHN0eWxlLnZlcnRpY2FsKSB7CiAgICAgICAgICB0ZXh0RGl2LmRhdGFzZXQuY2FudmFzV2lkdGggPSBnZW9tLmhlaWdodCAqIHRoaXMudmlld3BvcnQuc2NhbGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRleHREaXYuZGF0YXNldC5jYW52YXNXaWR0aCA9IGdlb20ud2lkdGggKiB0aGlzLnZpZXdwb3J0LnNjYWxlOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICBzZXRUZXh0Q29udGVudDogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl9zZXRUZXh0Q29udGVudCh0ZXh0Q29udGVudCkgewogICAgICB0aGlzLnRleHRDb250ZW50ID0gdGV4dENvbnRlbnQ7CgogICAgICB2YXIgdGV4dEl0ZW1zID0gdGV4dENvbnRlbnQuaXRlbXM7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB0ZXh0SXRlbXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICB0aGlzLmFwcGVuZFRleHQodGV4dEl0ZW1zW2ldLCB0ZXh0Q29udGVudC5zdHlsZXMpOwogICAgICB9CiAgICAgIHRoaXMuZGl2Q29udGVudERvbmUgPSB0cnVlOwogICAgfSwKCiAgICBjb252ZXJ0TWF0Y2hlczogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl9jb252ZXJ0TWF0Y2hlcyhtYXRjaGVzKSB7CiAgICAgIHZhciBpID0gMDsKICAgICAgdmFyIGlJbmRleCA9IDA7CiAgICAgIHZhciBiaWRpVGV4dHMgPSB0aGlzLnRleHRDb250ZW50Lml0ZW1zOwogICAgICB2YXIgZW5kID0gYmlkaVRleHRzLmxlbmd0aCAtIDE7CiAgICAgIHZhciBxdWVyeUxlbiA9ICh0aGlzLmZpbmRDb250cm9sbGVyID09PSBudWxsID8KICAgICAgICAgICAgICAgICAgICAgIDAgOiB0aGlzLmZpbmRDb250cm9sbGVyLnN0YXRlLnF1ZXJ5Lmxlbmd0aCk7CiAgICAgIHZhciByZXQgPSBbXTsKCiAgICAgIGZvciAodmFyIG0gPSAwLCBsZW4gPSBtYXRjaGVzLmxlbmd0aDsgbSA8IGxlbjsgbSsrKSB7CiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBzdGFydCBwb3NpdGlvbi4KICAgICAgICB2YXIgbWF0Y2hJZHggPSBtYXRjaGVzW21dOwoKICAgICAgICAvLyBMb29wIG92ZXIgdGhlIGRpdklkeHMuCiAgICAgICAgd2hpbGUgKGkgIT09IGVuZCAmJiBtYXRjaElkeCA+PSAoaUluZGV4ICsgYmlkaVRleHRzW2ldLnN0ci5sZW5ndGgpKSB7CiAgICAgICAgICBpSW5kZXggKz0gYmlkaVRleHRzW2ldLnN0ci5sZW5ndGg7CiAgICAgICAgICBpKys7CiAgICAgICAgfQoKICAgICAgICBpZiAoaSA9PT0gYmlkaVRleHRzLmxlbmd0aCkgewogICAgICAgICAgY29uc29sZS5lcnJvcignQ291bGQgbm90IGZpbmQgYSBtYXRjaGluZyBtYXBwaW5nJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgbWF0Y2ggPSB7CiAgICAgICAgICBiZWdpbjogewogICAgICAgICAgICBkaXZJZHg6IGksCiAgICAgICAgICAgIG9mZnNldDogbWF0Y2hJZHggLSBpSW5kZXgKICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIGVuZCBwb3NpdGlvbi4KICAgICAgICBtYXRjaElkeCArPSBxdWVyeUxlbjsKCiAgICAgICAgLy8gU29tZXdoYXQgdGhlIHNhbWUgYXJyYXkgYXMgYWJvdmUsIGJ1dCB1c2UgPiBpbnN0ZWFkIG9mID49IHRvIGdldAogICAgICAgIC8vIHRoZSBlbmQgcG9zaXRpb24gcmlnaHQuCiAgICAgICAgd2hpbGUgKGkgIT09IGVuZCAmJiBtYXRjaElkeCA+IChpSW5kZXggKyBiaWRpVGV4dHNbaV0uc3RyLmxlbmd0aCkpIHsKICAgICAgICAgIGlJbmRleCArPSBiaWRpVGV4dHNbaV0uc3RyLmxlbmd0aDsKICAgICAgICAgIGkrKzsKICAgICAgICB9CgogICAgICAgIG1hdGNoLmVuZCA9IHsKICAgICAgICAgIGRpdklkeDogaSwKICAgICAgICAgIG9mZnNldDogbWF0Y2hJZHggLSBpSW5kZXgKICAgICAgICB9OwogICAgICAgIHJldC5wdXNoKG1hdGNoKTsKICAgICAgfQoKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCgogICAgcmVuZGVyTWF0Y2hlczogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl9yZW5kZXJNYXRjaGVzKG1hdGNoZXMpIHsKICAgICAgLy8gRWFybHkgZXhpdCBpZiB0aGVyZSBpcyBub3RoaW5nIHRvIHJlbmRlci4KICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgYmlkaVRleHRzID0gdGhpcy50ZXh0Q29udGVudC5pdGVtczsKICAgICAgdmFyIHRleHREaXZzID0gdGhpcy50ZXh0RGl2czsKICAgICAgdmFyIHByZXZFbmQgPSBudWxsOwogICAgICB2YXIgcGFnZUlkeCA9IHRoaXMucGFnZUlkeDsKICAgICAgdmFyIGlzU2VsZWN0ZWRQYWdlID0gKHRoaXMuZmluZENvbnRyb2xsZXIgPT09IG51bGwgPwogICAgICAgIGZhbHNlIDogKHBhZ2VJZHggPT09IHRoaXMuZmluZENvbnRyb2xsZXIuc2VsZWN0ZWQucGFnZUlkeCkpOwogICAgICB2YXIgc2VsZWN0ZWRNYXRjaElkeCA9ICh0aGlzLmZpbmRDb250cm9sbGVyID09PSBudWxsID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEgOiB0aGlzLmZpbmRDb250cm9sbGVyLnNlbGVjdGVkLm1hdGNoSWR4KTsKICAgICAgdmFyIGhpZ2hsaWdodEFsbCA9ICh0aGlzLmZpbmRDb250cm9sbGVyID09PSBudWxsID8KICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSA6IHRoaXMuZmluZENvbnRyb2xsZXIuc3RhdGUuaGlnaGxpZ2h0QWxsKTsKICAgICAgdmFyIGluZmluaXR5ID0gewogICAgICAgIGRpdklkeDogLTEsCiAgICAgICAgb2Zmc2V0OiB1bmRlZmluZWQKICAgICAgfTsKCiAgICAgIGZ1bmN0aW9uIGJlZ2luVGV4dChiZWdpbiwgY2xhc3NOYW1lKSB7CiAgICAgICAgdmFyIGRpdklkeCA9IGJlZ2luLmRpdklkeDsKICAgICAgICB0ZXh0RGl2c1tkaXZJZHhdLnRleHRDb250ZW50ID0gJyc7CiAgICAgICAgYXBwZW5kVGV4dFRvRGl2KGRpdklkeCwgMCwgYmVnaW4ub2Zmc2V0LCBjbGFzc05hbWUpOwogICAgICB9CgogICAgICBmdW5jdGlvbiBhcHBlbmRUZXh0VG9EaXYoZGl2SWR4LCBmcm9tT2Zmc2V0LCB0b09mZnNldCwgY2xhc3NOYW1lKSB7CiAgICAgICAgdmFyIGRpdiA9IHRleHREaXZzW2RpdklkeF07CiAgICAgICAgdmFyIGNvbnRlbnQgPSBiaWRpVGV4dHNbZGl2SWR4XS5zdHIuc3Vic3RyaW5nKGZyb21PZmZzZXQsIHRvT2Zmc2V0KTsKICAgICAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpOwogICAgICAgIGlmIChjbGFzc05hbWUpIHsKICAgICAgICAgIHZhciBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogICAgICAgICAgc3Bhbi5jbGFzc05hbWUgPSBjbGFzc05hbWU7CiAgICAgICAgICBzcGFuLmFwcGVuZENoaWxkKG5vZGUpOwogICAgICAgICAgZGl2LmFwcGVuZENoaWxkKHNwYW4pOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBkaXYuYXBwZW5kQ2hpbGQobm9kZSk7CiAgICAgIH0KCiAgICAgIHZhciBpMCA9IHNlbGVjdGVkTWF0Y2hJZHgsIGkxID0gaTAgKyAxOwogICAgICBpZiAoaGlnaGxpZ2h0QWxsKSB7CiAgICAgICAgaTAgPSAwOwogICAgICAgIGkxID0gbWF0Y2hlcy5sZW5ndGg7CiAgICAgIH0gZWxzZSBpZiAoIWlzU2VsZWN0ZWRQYWdlKSB7CiAgICAgICAgLy8gTm90IGhpZ2hsaWdodGluZyBhbGwgYW5kIHRoaXMgaXNuJ3QgdGhlIHNlbGVjdGVkIHBhZ2UsIHNvIGRvIG5vdGhpbmcuCiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBmb3IgKHZhciBpID0gaTA7IGkgPCBpMTsgaSsrKSB7CiAgICAgICAgdmFyIG1hdGNoID0gbWF0Y2hlc1tpXTsKICAgICAgICB2YXIgYmVnaW4gPSBtYXRjaC5iZWdpbjsKICAgICAgICB2YXIgZW5kID0gbWF0Y2guZW5kOwogICAgICAgIHZhciBpc1NlbGVjdGVkID0gKGlzU2VsZWN0ZWRQYWdlICYmIGkgPT09IHNlbGVjdGVkTWF0Y2hJZHgpOwogICAgICAgIHZhciBoaWdobGlnaHRTdWZmaXggPSAoaXNTZWxlY3RlZCA/ICcgc2VsZWN0ZWQnIDogJycpOwoKICAgICAgICBpZiAodGhpcy5maW5kQ29udHJvbGxlcikgewogICAgICAgICAgdGhpcy5maW5kQ29udHJvbGxlci51cGRhdGVNYXRjaFBvc2l0aW9uKHBhZ2VJZHgsIGksIHRleHREaXZzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luLmRpdklkeCwgZW5kLmRpdklkeCk7CiAgICAgICAgfQoKICAgICAgICAvLyBNYXRjaCBpbnNpZGUgbmV3IGRpdi4KICAgICAgICBpZiAoIXByZXZFbmQgfHwgYmVnaW4uZGl2SWR4ICE9PSBwcmV2RW5kLmRpdklkeCkgewogICAgICAgICAgLy8gSWYgdGhlcmUgd2FzIGEgcHJldmlvdXMgZGl2LCB0aGVuIGFkZCB0aGUgdGV4dCBhdCB0aGUgZW5kLgogICAgICAgICAgaWYgKHByZXZFbmQgIT09IG51bGwpIHsKICAgICAgICAgICAgYXBwZW5kVGV4dFRvRGl2KHByZXZFbmQuZGl2SWR4LCBwcmV2RW5kLm9mZnNldCwgaW5maW5pdHkub2Zmc2V0KTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIENsZWFyIHRoZSBkaXZzIGFuZCBzZXQgdGhlIGNvbnRlbnQgdW50aWwgdGhlIHN0YXJ0aW5nIHBvaW50LgogICAgICAgICAgYmVnaW5UZXh0KGJlZ2luKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYXBwZW5kVGV4dFRvRGl2KHByZXZFbmQuZGl2SWR4LCBwcmV2RW5kLm9mZnNldCwgYmVnaW4ub2Zmc2V0KTsKICAgICAgICB9CgogICAgICAgIGlmIChiZWdpbi5kaXZJZHggPT09IGVuZC5kaXZJZHgpIHsKICAgICAgICAgIGFwcGVuZFRleHRUb0RpdihiZWdpbi5kaXZJZHgsIGJlZ2luLm9mZnNldCwgZW5kLm9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAnaGlnaGxpZ2h0JyArIGhpZ2hsaWdodFN1ZmZpeCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGFwcGVuZFRleHRUb0RpdihiZWdpbi5kaXZJZHgsIGJlZ2luLm9mZnNldCwgaW5maW5pdHkub2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICdoaWdobGlnaHQgYmVnaW4nICsgaGlnaGxpZ2h0U3VmZml4KTsKICAgICAgICAgIGZvciAodmFyIG4wID0gYmVnaW4uZGl2SWR4ICsgMSwgbjEgPSBlbmQuZGl2SWR4OyBuMCA8IG4xOyBuMCsrKSB7CiAgICAgICAgICAgIHRleHREaXZzW24wXS5jbGFzc05hbWUgPSAnaGlnaGxpZ2h0IG1pZGRsZScgKyBoaWdobGlnaHRTdWZmaXg7CiAgICAgICAgICB9CiAgICAgICAgICBiZWdpblRleHQoZW5kLCAnaGlnaGxpZ2h0IGVuZCcgKyBoaWdobGlnaHRTdWZmaXgpOwogICAgICAgIH0KICAgICAgICBwcmV2RW5kID0gZW5kOwogICAgICB9CgogICAgICBpZiAocHJldkVuZCkgewogICAgICAgIGFwcGVuZFRleHRUb0RpdihwcmV2RW5kLmRpdklkeCwgcHJldkVuZC5vZmZzZXQsIGluZmluaXR5Lm9mZnNldCk7CiAgICAgIH0KICAgIH0sCgogICAgdXBkYXRlTWF0Y2hlczogZnVuY3Rpb24gVGV4dExheWVyQnVpbGRlcl91cGRhdGVNYXRjaGVzKCkgewogICAgICAvLyBPbmx5IHNob3cgbWF0Y2hlcyB3aGVuIGFsbCByZW5kZXJpbmcgaXMgZG9uZS4KICAgICAgaWYgKCF0aGlzLnJlbmRlcmluZ0RvbmUpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIC8vIENsZWFyIGFsbCBtYXRjaGVzLgogICAgICB2YXIgbWF0Y2hlcyA9IHRoaXMubWF0Y2hlczsKICAgICAgdmFyIHRleHREaXZzID0gdGhpcy50ZXh0RGl2czsKICAgICAgdmFyIGJpZGlUZXh0cyA9IHRoaXMudGV4dENvbnRlbnQuaXRlbXM7CiAgICAgIHZhciBjbGVhcmVkVW50aWxEaXZJZHggPSAtMTsKCiAgICAgIC8vIENsZWFyIGFsbCBjdXJyZW50IG1hdGNoZXMuCiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBtYXRjaGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7CiAgICAgICAgdmFyIG1hdGNoID0gbWF0Y2hlc1tpXTsKICAgICAgICB2YXIgYmVnaW4gPSBNYXRoLm1heChjbGVhcmVkVW50aWxEaXZJZHgsIG1hdGNoLmJlZ2luLmRpdklkeCk7CiAgICAgICAgZm9yICh2YXIgbiA9IGJlZ2luLCBlbmQgPSBtYXRjaC5lbmQuZGl2SWR4OyBuIDw9IGVuZDsgbisrKSB7CiAgICAgICAgICB2YXIgZGl2ID0gdGV4dERpdnNbbl07CiAgICAgICAgICBkaXYudGV4dENvbnRlbnQgPSBiaWRpVGV4dHNbbl0uc3RyOwogICAgICAgICAgZGl2LmNsYXNzTmFtZSA9ICcnOwogICAgICAgIH0KICAgICAgICBjbGVhcmVkVW50aWxEaXZJZHggPSBtYXRjaC5lbmQuZGl2SWR4ICsgMTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuZmluZENvbnRyb2xsZXIgPT09IG51bGwgfHwgIXRoaXMuZmluZENvbnRyb2xsZXIuYWN0aXZlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICAvLyBDb252ZXJ0IHRoZSBtYXRjaGVzIG9uIHRoZSBwYWdlIGNvbnRyb2xsZXIgaW50byB0aGUgbWF0Y2ggZm9ybWF0CiAgICAgIC8vIHVzZWQgZm9yIHRoZSB0ZXh0TGF5ZXIuCiAgICAgIHRoaXMubWF0Y2hlcyA9IHRoaXMuY29udmVydE1hdGNoZXModGhpcy5maW5kQ29udHJvbGxlciA9PT0gbnVsbCA/CiAgICAgICAgW10gOiAodGhpcy5maW5kQ29udHJvbGxlci5wYWdlTWF0Y2hlc1t0aGlzLnBhZ2VJZHhdIHx8IFtdKSk7CiAgICAgIHRoaXMucmVuZGVyTWF0Y2hlcyh0aGlzLm1hdGNoZXMpOwogICAgfQogIH07CiAgcmV0dXJuIFRleHRMYXllckJ1aWxkZXI7Cn0pKCk7CgovKioKICogQGNvbnN0cnVjdG9yCiAqIEBpbXBsZW1lbnRzIElQREZUZXh0TGF5ZXJGYWN0b3J5CiAqLwpmdW5jdGlvbiBEZWZhdWx0VGV4dExheWVyRmFjdG9yeSgpIHt9CkRlZmF1bHRUZXh0TGF5ZXJGYWN0b3J5LnByb3RvdHlwZSA9IHsKICAvKioKICAgKiBAcGFyYW0ge0hUTUxEaXZFbGVtZW50fSB0ZXh0TGF5ZXJEaXYKICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZUluZGV4CiAgICogQHBhcmFtIHtQYWdlVmlld3BvcnR9IHZpZXdwb3J0CiAgICogQHJldHVybnMge1RleHRMYXllckJ1aWxkZXJ9CiAgICovCiAgY3JlYXRlVGV4dExheWVyQnVpbGRlcjogZnVuY3Rpb24gKHRleHRMYXllckRpdiwgcGFnZUluZGV4LCB2aWV3cG9ydCkgewogICAgcmV0dXJuIG5ldyBUZXh0TGF5ZXJCdWlsZGVyKHsKICAgICAgdGV4dExheWVyRGl2OiB0ZXh0TGF5ZXJEaXYsCiAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4LAogICAgICB2aWV3cG9ydDogdmlld3BvcnQKICAgIH0pOwogIH0KfTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/ui_utils.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogLSotIE1vZGU6IEphdmE7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KLyogQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBGb3VuZGF0aW9uCiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAogKgogKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwoKJ3VzZSBzdHJpY3QnOwoKdmFyIENTU19VTklUUyA9IDk2LjAgLyA3Mi4wOwp2YXIgREVGQVVMVF9TQ0FMRSA9ICdhdXRvJzsKdmFyIFVOS05PV05fU0NBTEUgPSAwOwp2YXIgTUFYX0FVVE9fU0NBTEUgPSAxLjI1Owp2YXIgU0NST0xMQkFSX1BBRERJTkcgPSA0MDsKdmFyIFZFUlRJQ0FMX1BBRERJTkcgPSA1OwoKLy8gb3B0aW1pc2VkIENTUyBjdXN0b20gcHJvcGVydHkgZ2V0dGVyL3NldHRlcgp2YXIgQ3VzdG9tU3R5bGUgPSAoZnVuY3Rpb24gQ3VzdG9tU3R5bGVDbG9zdXJlKCkgewoKICAvLyBBcyBub3RlZCBvbjogaHR0cDovL3d3dy56YWNoc3Ryb25hdXQuY29tL3Bvc3RzLzIwMDkvMDIvMTcvCiAgLy8gICAgICAgICAgICAgIGFuaW1hdGUtY3NzLXRyYW5zZm9ybXMtZmlyZWZveC13ZWJraXQuaHRtbAogIC8vIGluIHNvbWUgdmVyc2lvbnMgb2YgSUU5IGl0IGlzIGNyaXRpY2FsIHRoYXQgbXMgYXBwZWFyIGluIHRoaXMgbGlzdAogIC8vIGJlZm9yZSBNb3oKICB2YXIgcHJlZml4ZXMgPSBbJ21zJywgJ01veicsICdXZWJraXQnLCAnTyddOwogIHZhciBfY2FjaGUgPSB7fTsKCiAgZnVuY3Rpb24gQ3VzdG9tU3R5bGUoKSB7fQoKICBDdXN0b21TdHlsZS5nZXRQcm9wID0gZnVuY3Rpb24gZ2V0KHByb3BOYW1lLCBlbGVtZW50KSB7CiAgICAvLyBjaGVjayBjYWNoZSBvbmx5IHdoZW4gbm8gZWxlbWVudCBpcyBnaXZlbgogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIF9jYWNoZVtwcm9wTmFtZV0gPT09ICdzdHJpbmcnKSB7CiAgICAgIHJldHVybiBfY2FjaGVbcHJvcE5hbWVdOwogICAgfQoKICAgIGVsZW1lbnQgPSBlbGVtZW50IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKICAgIHZhciBzdHlsZSA9IGVsZW1lbnQuc3R5bGUsIHByZWZpeGVkLCB1UHJvcE5hbWU7CgogICAgLy8gdGVzdCBzdGFuZGFyZCBwcm9wZXJ0eSBmaXJzdAogICAgaWYgKHR5cGVvZiBzdHlsZVtwcm9wTmFtZV0gPT09ICdzdHJpbmcnKSB7CiAgICAgIHJldHVybiAoX2NhY2hlW3Byb3BOYW1lXSA9IHByb3BOYW1lKTsKICAgIH0KCiAgICAvLyBjYXBpdGFsaXplCiAgICB1UHJvcE5hbWUgPSBwcm9wTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHByb3BOYW1lLnNsaWNlKDEpOwoKICAgIC8vIHRlc3QgdmVuZG9yIHNwZWNpZmljIHByb3BlcnRpZXMKICAgIGZvciAodmFyIGkgPSAwLCBsID0gcHJlZml4ZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7CiAgICAgIHByZWZpeGVkID0gcHJlZml4ZXNbaV0gKyB1UHJvcE5hbWU7CiAgICAgIGlmICh0eXBlb2Ygc3R5bGVbcHJlZml4ZWRdID09PSAnc3RyaW5nJykgewogICAgICAgIHJldHVybiAoX2NhY2hlW3Byb3BOYW1lXSA9IHByZWZpeGVkKTsKICAgICAgfQogICAgfQoKICAgIC8vaWYgYWxsIGZhaWxzIHRoZW4gc2V0IHRvIHVuZGVmaW5lZAogICAgcmV0dXJuIChfY2FjaGVbcHJvcE5hbWVdID0gJ3VuZGVmaW5lZCcpOwogIH07CgogIEN1c3RvbVN0eWxlLnNldFByb3AgPSBmdW5jdGlvbiBzZXQocHJvcE5hbWUsIGVsZW1lbnQsIHN0cikgewogICAgdmFyIHByb3AgPSB0aGlzLmdldFByb3AocHJvcE5hbWUpOwogICAgaWYgKHByb3AgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgIGVsZW1lbnQuc3R5bGVbcHJvcF0gPSBzdHI7CiAgICB9CiAgfTsKCiAgcmV0dXJuIEN1c3RvbVN0eWxlOwp9KSgpOwoKZnVuY3Rpb24gZ2V0RmlsZU5hbWUodXJsKSB7CiAgdmFyIGFuY2hvciA9IHVybC5pbmRleE9mKCcjJyk7CiAgdmFyIHF1ZXJ5ID0gdXJsLmluZGV4T2YoJz8nKTsKICB2YXIgZW5kID0gTWF0aC5taW4oCiAgICBhbmNob3IgPiAwID8gYW5jaG9yIDogdXJsLmxlbmd0aCwKICAgIHF1ZXJ5ID4gMCA/IHF1ZXJ5IDogdXJsLmxlbmd0aCk7CiAgcmV0dXJuIHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCcvJywgZW5kKSArIDEsIGVuZCk7Cn0KCi8qKgogKiBSZXR1cm5zIHNjYWxlIGZhY3RvciBmb3IgdGhlIGNhbnZhcy4gSXQgbWFrZXMgc2Vuc2UgZm9yIHRoZSBIaURQSSBkaXNwbGF5cy4KICogQHJldHVybiB7T2JqZWN0fSBUaGUgb2JqZWN0IHdpdGggaG9yaXpvbnRhbCAoc3gpIGFuZCB2ZXJ0aWNhbCAoc3kpCiAgICAgICAgICAgICAgICAgICAgc2NhbGVzLiBUaGUgc2NhbGVkIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBpZiBzY2FsaW5nIGlzCiAgICAgICAgICAgICAgICAgICAgbm90IHJlcXVpcmVkLCB0cnVlIG90aGVyd2lzZS4KICovCmZ1bmN0aW9uIGdldE91dHB1dFNjYWxlKGN0eCkgewogIHZhciBkZXZpY2VQaXhlbFJhdGlvID0gd2luZG93LmRldmljZVBpeGVsUmF0aW8gfHwgMTsKICB2YXIgYmFja2luZ1N0b3JlUmF0aW8gPSBjdHgud2Via2l0QmFja2luZ1N0b3JlUGl4ZWxSYXRpbyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5tb3pCYWNraW5nU3RvcmVQaXhlbFJhdGlvIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4Lm1zQmFja2luZ1N0b3JlUGl4ZWxSYXRpbyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5vQmFja2luZ1N0b3JlUGl4ZWxSYXRpbyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5iYWNraW5nU3RvcmVQaXhlbFJhdGlvIHx8IDE7CiAgdmFyIHBpeGVsUmF0aW8gPSBkZXZpY2VQaXhlbFJhdGlvIC8gYmFja2luZ1N0b3JlUmF0aW87CiAgcmV0dXJuIHsKICAgIHN4OiBwaXhlbFJhdGlvLAogICAgc3k6IHBpeGVsUmF0aW8sCiAgICBzY2FsZWQ6IHBpeGVsUmF0aW8gIT09IDEKICB9Owp9CgovKioKICogU2Nyb2xscyBzcGVjaWZpZWQgZWxlbWVudCBpbnRvIHZpZXcgb2YgaXRzIHBhcmVudC4KICogZWxlbWVudCB7T2JqZWN0fSBUaGUgZWxlbWVudCB0byBiZSB2aXNpYmxlLgogKiBzcG90IHtPYmplY3R9IEFuIG9iamVjdCB3aXRoIG9wdGlvbmFsIHRvcCBhbmQgbGVmdCBwcm9wZXJ0aWVzLAogKiAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgdGhlIG9mZnNldCBmcm9tIHRoZSB0b3AgbGVmdCBlZGdlLgogKi8KZnVuY3Rpb24gc2Nyb2xsSW50b1ZpZXcoZWxlbWVudCwgc3BvdCkgewogIC8vIEFzc3VtaW5nIG9mZnNldFBhcmVudCBpcyBhdmFpbGFibGUgKGl0J3Mgbm90IGF2YWlsYWJsZSB3aGVuIHZpZXdlciBpcyBpbgogIC8vIGhpZGRlbiBpZnJhbWUgb3Igb2JqZWN0KS4gV2UgaGF2ZSB0byBzY3JvbGw6IGlmIHRoZSBvZmZzZXRQYXJlbnQgaXMgbm90IHNldAogIC8vIHByb2R1Y2luZyB0aGUgZXJyb3IuIFNlZSBhbHNvIGFuaW1hdGlvblN0YXJ0ZWRDbG9zdXJlLgogIHZhciBwYXJlbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudDsKICB2YXIgb2Zmc2V0WSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5jbGllbnRUb3A7CiAgdmFyIG9mZnNldFggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50LmNsaWVudExlZnQ7CiAgaWYgKCFwYXJlbnQpIHsKICAgIGNvbnNvbGUuZXJyb3IoJ29mZnNldFBhcmVudCBpcyBub3Qgc2V0IC0tIGNhbm5vdCBzY3JvbGwnKTsKICAgIHJldHVybjsKICB9CiAgd2hpbGUgKHBhcmVudC5jbGllbnRIZWlnaHQgPT09IHBhcmVudC5zY3JvbGxIZWlnaHQpIHsKICAgIGlmIChwYXJlbnQuZGF0YXNldC5fc2NhbGVZKSB7CiAgICAgIG9mZnNldFkgLz0gcGFyZW50LmRhdGFzZXQuX3NjYWxlWTsKICAgICAgb2Zmc2V0WCAvPSBwYXJlbnQuZGF0YXNldC5fc2NhbGVYOwogICAgfQogICAgb2Zmc2V0WSArPSBwYXJlbnQub2Zmc2V0VG9wOwogICAgb2Zmc2V0WCArPSBwYXJlbnQub2Zmc2V0TGVmdDsKICAgIHBhcmVudCA9IHBhcmVudC5vZmZzZXRQYXJlbnQ7CiAgICBpZiAoIXBhcmVudCkgewogICAgICByZXR1cm47IC8vIG5vIG5lZWQgdG8gc2Nyb2xsCiAgICB9CiAgfQogIGlmIChzcG90KSB7CiAgICBpZiAoc3BvdC50b3AgIT09IHVuZGVmaW5lZCkgewogICAgICBvZmZzZXRZICs9IHNwb3QudG9wOwogICAgfQogICAgaWYgKHNwb3QubGVmdCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgIG9mZnNldFggKz0gc3BvdC5sZWZ0OwogICAgICBwYXJlbnQuc2Nyb2xsTGVmdCA9IG9mZnNldFg7CiAgICB9CiAgfQogIHBhcmVudC5zY3JvbGxUb3AgPSBvZmZzZXRZOwp9CgovKioKICogSGVscGVyIGZ1bmN0aW9uIHRvIHN0YXJ0IG1vbml0b3JpbmcgdGhlIHNjcm9sbCBldmVudCBhbmQgY29udmVydGluZyB0aGVtIGludG8KICogUERGLmpzIGZyaWVuZGx5IG9uZTogd2l0aCBzY3JvbGwgZGVib3VuY2UgYW5kIHNjcm9sbCBkaXJlY3Rpb24uCiAqLwpmdW5jdGlvbiB3YXRjaFNjcm9sbCh2aWV3QXJlYUVsZW1lbnQsIGNhbGxiYWNrKSB7CiAgdmFyIGRlYm91bmNlU2Nyb2xsID0gZnVuY3Rpb24gZGVib3VuY2VTY3JvbGwoZXZ0KSB7CiAgICBpZiAockFGKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIC8vIHNjaGVkdWxlIGFuIGludm9jYXRpb24gb2Ygc2Nyb2xsIGZvciBuZXh0IGFuaW1hdGlvbiBmcmFtZS4KICAgIHJBRiA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gdmlld0FyZWFFbGVtZW50U2Nyb2xsZWQoKSB7CiAgICAgIHJBRiA9IG51bGw7CgogICAgICB2YXIgY3VycmVudFkgPSB2aWV3QXJlYUVsZW1lbnQuc2Nyb2xsVG9wOwogICAgICB2YXIgbGFzdFkgPSBzdGF0ZS5sYXN0WTsKICAgICAgaWYgKGN1cnJlbnRZICE9PSBsYXN0WSkgewogICAgICAgIHN0YXRlLmRvd24gPSBjdXJyZW50WSA+IGxhc3RZOwogICAgICB9CiAgICAgIHN0YXRlLmxhc3RZID0gY3VycmVudFk7CiAgICAgIGNhbGxiYWNrKHN0YXRlKTsKICAgIH0pOwogIH07CgogIHZhciBzdGF0ZSA9IHsKICAgIGRvd246IHRydWUsCiAgICBsYXN0WTogdmlld0FyZWFFbGVtZW50LnNjcm9sbFRvcCwKICAgIF9ldmVudEhhbmRsZXI6IGRlYm91bmNlU2Nyb2xsCiAgfTsKCiAgdmFyIHJBRiA9IG51bGw7CiAgdmlld0FyZWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGRlYm91bmNlU2Nyb2xsLCB0cnVlKTsKICByZXR1cm4gc3RhdGU7Cn0KCi8qKgogKiBVc2UgYmluYXJ5IHNlYXJjaCB0byBmaW5kIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgaXRlbSBpbiBhIGdpdmVuIGFycmF5IHdoaWNoCiAqIHBhc3NlcyBhIGdpdmVuIGNvbmRpdGlvbi4gVGhlIGl0ZW1zIGFyZSBleHBlY3RlZCB0byBiZSBzb3J0ZWQgaW4gdGhlIHNlbnNlCiAqIHRoYXQgaWYgdGhlIGNvbmRpdGlvbiBpcyB0cnVlIGZvciBvbmUgaXRlbSBpbiB0aGUgYXJyYXksIHRoZW4gaXQgaXMgYWxzbyB0cnVlCiAqIGZvciBhbGwgZm9sbG93aW5nIGl0ZW1zLgogKgogKiBAcmV0dXJucyB7TnVtYmVyfSBJbmRleCBvZiB0aGUgZmlyc3QgYXJyYXkgZWxlbWVudCB0byBwYXNzIHRoZSB0ZXN0LAogKiAgICAgICAgICAgICAgICAgICBvciB8aXRlbXMubGVuZ3RofCBpZiBubyBzdWNoIGVsZW1lbnQgZXhpc3RzLgogKi8KZnVuY3Rpb24gYmluYXJ5U2VhcmNoRmlyc3RJdGVtKGl0ZW1zLCBjb25kaXRpb24pIHsKICB2YXIgbWluSW5kZXggPSAwOwogIHZhciBtYXhJbmRleCA9IGl0ZW1zLmxlbmd0aCAtIDE7CgogIGlmIChpdGVtcy5sZW5ndGggPT09IDAgfHwgIWNvbmRpdGlvbihpdGVtc1ttYXhJbmRleF0pKSB7CiAgICByZXR1cm4gaXRlbXMubGVuZ3RoOwogIH0KICBpZiAoY29uZGl0aW9uKGl0ZW1zW21pbkluZGV4XSkpIHsKICAgIHJldHVybiBtaW5JbmRleDsKICB9CgogIHdoaWxlIChtaW5JbmRleCA8IG1heEluZGV4KSB7CiAgICB2YXIgY3VycmVudEluZGV4ID0gKG1pbkluZGV4ICsgbWF4SW5kZXgpID4+IDE7CiAgICB2YXIgY3VycmVudEl0ZW0gPSBpdGVtc1tjdXJyZW50SW5kZXhdOwogICAgaWYgKGNvbmRpdGlvbihjdXJyZW50SXRlbSkpIHsKICAgICAgbWF4SW5kZXggPSBjdXJyZW50SW5kZXg7CiAgICB9IGVsc2UgewogICAgICBtaW5JbmRleCA9IGN1cnJlbnRJbmRleCArIDE7CiAgICB9CiAgfQogIHJldHVybiBtaW5JbmRleDsgLyogPT09IG1heEluZGV4ICovCn0KCi8qKgogKiBHZW5lcmljIGhlbHBlciB0byBmaW5kIG91dCB3aGF0IGVsZW1lbnRzIGFyZSB2aXNpYmxlIHdpdGhpbiBhIHNjcm9sbCBwYW5lLgogKi8KZnVuY3Rpb24gZ2V0VmlzaWJsZUVsZW1lbnRzKHNjcm9sbEVsLCB2aWV3cywgc29ydEJ5VmlzaWJpbGl0eSkgewogIHZhciB0b3AgPSBzY3JvbGxFbC5zY3JvbGxUb3AsIGJvdHRvbSA9IHRvcCArIHNjcm9sbEVsLmNsaWVudEhlaWdodDsKICB2YXIgbGVmdCA9IHNjcm9sbEVsLnNjcm9sbExlZnQsIHJpZ2h0ID0gbGVmdCArIHNjcm9sbEVsLmNsaWVudFdpZHRoOwoKICBmdW5jdGlvbiBpc0VsZW1lbnRCb3R0b21CZWxvd1ZpZXdUb3AodmlldykgewogICAgdmFyIGVsZW1lbnQgPSB2aWV3LmRpdjsKICAgIHZhciBlbGVtZW50Qm90dG9tID0KICAgICAgZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50LmNsaWVudFRvcCArIGVsZW1lbnQuY2xpZW50SGVpZ2h0OwogICAgcmV0dXJuIGVsZW1lbnRCb3R0b20gPiB0b3A7CiAgfQoKICB2YXIgdmlzaWJsZSA9IFtdLCB2aWV3LCBlbGVtZW50OwogIHZhciBjdXJyZW50SGVpZ2h0LCB2aWV3SGVpZ2h0LCBoaWRkZW5IZWlnaHQsIHBlcmNlbnRIZWlnaHQ7CiAgdmFyIGN1cnJlbnRXaWR0aCwgdmlld1dpZHRoOwogIHZhciBmaXJzdFZpc2libGVFbGVtZW50SW5kID0gKHZpZXdzLmxlbmd0aCA9PT0gMCkgPyAwIDoKICAgIGJpbmFyeVNlYXJjaEZpcnN0SXRlbSh2aWV3cywgaXNFbGVtZW50Qm90dG9tQmVsb3dWaWV3VG9wKTsKCiAgZm9yICh2YXIgaSA9IGZpcnN0VmlzaWJsZUVsZW1lbnRJbmQsIGlpID0gdmlld3MubGVuZ3RoOyBpIDwgaWk7IGkrKykgewogICAgdmlldyA9IHZpZXdzW2ldOwogICAgZWxlbWVudCA9IHZpZXcuZGl2OwogICAgY3VycmVudEhlaWdodCA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5jbGllbnRUb3A7CiAgICB2aWV3SGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQ7CgogICAgaWYgKGN1cnJlbnRIZWlnaHQgPiBib3R0b20pIHsKICAgICAgYnJlYWs7CiAgICB9CgogICAgY3VycmVudFdpZHRoID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5jbGllbnRMZWZ0OwogICAgdmlld1dpZHRoID0gZWxlbWVudC5jbGllbnRXaWR0aDsKICAgIGlmIChjdXJyZW50V2lkdGggKyB2aWV3V2lkdGggPCBsZWZ0IHx8IGN1cnJlbnRXaWR0aCA+IHJpZ2h0KSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgaGlkZGVuSGVpZ2h0ID0gTWF0aC5tYXgoMCwgdG9wIC0gY3VycmVudEhlaWdodCkgKwogICAgICBNYXRoLm1heCgwLCBjdXJyZW50SGVpZ2h0ICsgdmlld0hlaWdodCAtIGJvdHRvbSk7CiAgICBwZXJjZW50SGVpZ2h0ID0gKCh2aWV3SGVpZ2h0IC0gaGlkZGVuSGVpZ2h0KSAqIDEwMCAvIHZpZXdIZWlnaHQpIHwgMDsKCiAgICB2aXNpYmxlLnB1c2goewogICAgICBpZDogdmlldy5pZCwKICAgICAgeDogY3VycmVudFdpZHRoLAogICAgICB5OiBjdXJyZW50SGVpZ2h0LAogICAgICB2aWV3OiB2aWV3LAogICAgICBwZXJjZW50OiBwZXJjZW50SGVpZ2h0CiAgICB9KTsKICB9CgogIHZhciBmaXJzdCA9IHZpc2libGVbMF07CiAgdmFyIGxhc3QgPSB2aXNpYmxlW3Zpc2libGUubGVuZ3RoIC0gMV07CgogIGlmIChzb3J0QnlWaXNpYmlsaXR5KSB7CiAgICB2aXNpYmxlLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICB2YXIgcGMgPSBhLnBlcmNlbnQgLSBiLnBlcmNlbnQ7CiAgICAgIGlmIChNYXRoLmFicyhwYykgPiAwLjAwMSkgewogICAgICAgIHJldHVybiAtcGM7CiAgICAgIH0KICAgICAgcmV0dXJuIGEuaWQgLSBiLmlkOyAvLyBlbnN1cmUgc3RhYmlsaXR5CiAgICB9KTsKICB9CiAgcmV0dXJuIHtmaXJzdDogZmlyc3QsIGxhc3Q6IGxhc3QsIHZpZXdzOiB2aXNpYmxlfTsKfQoKLyoqCiAqIEV2ZW50IGhhbmRsZXIgdG8gc3VwcHJlc3MgY29udGV4dCBtZW51LgogKi8KZnVuY3Rpb24gbm9Db250ZXh0TWVudUhhbmRsZXIoZSkgewogIGUucHJldmVudERlZmF1bHQoKTsKfQoKLyoqCiAqIFJldHVybnMgdGhlIGZpbGVuYW1lIG9yIGd1ZXNzZWQgZmlsZW5hbWUgZnJvbSB0aGUgdXJsIChzZWUgaXNzdWUgMzQ1NSkuCiAqIHVybCB7U3RyaW5nfSBUaGUgb3JpZ2luYWwgUERGIGxvY2F0aW9uLgogKiBAcmV0dXJuIHtTdHJpbmd9IEd1ZXNzZWQgUERGIGZpbGUgbmFtZS4KICovCmZ1bmN0aW9uIGdldFBERkZpbGVOYW1lRnJvbVVSTCh1cmwpIHsKICB2YXIgcmVVUkkgPSAvXig/OihbXjpdKzopP1wvXC9bXlwvXSspPyhbXj8jXSopKFw/W14jXSopPygjLiopPyQvOwogIC8vICAgICAgICAgICAgU0NIRU1FICAgICAgSE9TVCAgICAgICAgIDEuUEFUSCAgMi5RVUVSWSAgIDMuUkVGCiAgLy8gUGF0dGVybiB0byBnZXQgbGFzdCBtYXRjaGluZyBOQU1FLnBkZgogIHZhciByZUZpbGVuYW1lID0gL1teXC8/Iz1dK1wucGRmXGIoPyEuKlwucGRmXGIpL2k7CiAgdmFyIHNwbGl0VVJJID0gcmVVUkkuZXhlYyh1cmwpOwogIHZhciBzdWdnZXN0ZWRGaWxlbmFtZSA9IHJlRmlsZW5hbWUuZXhlYyhzcGxpdFVSSVsxXSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVGaWxlbmFtZS5leGVjKHNwbGl0VVJJWzJdKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICByZUZpbGVuYW1lLmV4ZWMoc3BsaXRVUklbM10pOwogIGlmIChzdWdnZXN0ZWRGaWxlbmFtZSkgewogICAgc3VnZ2VzdGVkRmlsZW5hbWUgPSBzdWdnZXN0ZWRGaWxlbmFtZVswXTsKICAgIGlmIChzdWdnZXN0ZWRGaWxlbmFtZS5pbmRleE9mKCclJykgIT09IC0xKSB7CiAgICAgIC8vIFVSTC1lbmNvZGVkICUyRnBhdGglMkZ0byUyRmZpbGUucGRmIHNob3VsZCBiZSBmaWxlLnBkZgogICAgICB0cnkgewogICAgICAgIHN1Z2dlc3RlZEZpbGVuYW1lID0KICAgICAgICAgIHJlRmlsZW5hbWUuZXhlYyhkZWNvZGVVUklDb21wb25lbnQoc3VnZ2VzdGVkRmlsZW5hbWUpKVswXTsKICAgICAgfSBjYXRjaChlKSB7IC8vIFBvc3NpYmxlIChleHRyZW1lbHkgcmFyZSkgZXJyb3JzOgogICAgICAgIC8vIFVSSUVycm9yICJNYWxmb3JtZWQgVVJJIiwgZS5nLiBmb3IgIiVBQS5wZGYiCiAgICAgICAgLy8gVHlwZUVycm9yICJudWxsIGhhcyBubyBwcm9wZXJ0aWVzIiwgZS5nLiBmb3IgIiUyRi5wZGYiCiAgICAgIH0KICAgIH0KICB9CiAgcmV0dXJuIHN1Z2dlc3RlZEZpbGVuYW1lIHx8ICdkb2N1bWVudC5wZGYnOwp9Cgp2YXIgUHJvZ3Jlc3NCYXIgPSAoZnVuY3Rpb24gUHJvZ3Jlc3NCYXJDbG9zdXJlKCkgewoKICBmdW5jdGlvbiBjbGFtcCh2LCBtaW4sIG1heCkgewogICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHYsIG1pbiksIG1heCk7CiAgfQoKICBmdW5jdGlvbiBQcm9ncmVzc0JhcihpZCwgb3B0cykgewogICAgdGhpcy52aXNpYmxlID0gdHJ1ZTsKCiAgICAvLyBGZXRjaCB0aGUgc3ViLWVsZW1lbnRzIGZvciBsYXRlci4KICAgIHRoaXMuZGl2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihpZCArICcgLnByb2dyZXNzJyk7CgogICAgLy8gR2V0IHRoZSBsb2FkaW5nIGJhciBlbGVtZW50LCBzbyBpdCBjYW4gYmUgcmVzaXplZCB0byBmaXQgdGhlIHZpZXdlci4KICAgIHRoaXMuYmFyID0gdGhpcy5kaXYucGFyZW50Tm9kZTsKCiAgICAvLyBHZXQgb3B0aW9ucywgd2l0aCBzZW5zaWJsZSBkZWZhdWx0cy4KICAgIHRoaXMuaGVpZ2h0ID0gb3B0cy5oZWlnaHQgfHwgMTAwOwogICAgdGhpcy53aWR0aCA9IG9wdHMud2lkdGggfHwgMTAwOwogICAgdGhpcy51bml0cyA9IG9wdHMudW5pdHMgfHwgJyUnOwoKICAgIC8vIEluaXRpYWxpemUgaGVpZ2h0cy4KICAgIHRoaXMuZGl2LnN0eWxlLmhlaWdodCA9IHRoaXMuaGVpZ2h0ICsgdGhpcy51bml0czsKICAgIHRoaXMucGVyY2VudCA9IDA7CiAgfQoKICBQcm9ncmVzc0Jhci5wcm90b3R5cGUgPSB7CgogICAgdXBkYXRlQmFyOiBmdW5jdGlvbiBQcm9ncmVzc0Jhcl91cGRhdGVCYXIoKSB7CiAgICAgIGlmICh0aGlzLl9pbmRldGVybWluYXRlKSB7CiAgICAgICAgdGhpcy5kaXYuY2xhc3NMaXN0LmFkZCgnaW5kZXRlcm1pbmF0ZScpOwogICAgICAgIHRoaXMuZGl2LnN0eWxlLndpZHRoID0gdGhpcy53aWR0aCArIHRoaXMudW5pdHM7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLmRpdi5jbGFzc0xpc3QucmVtb3ZlKCdpbmRldGVybWluYXRlJyk7CiAgICAgIHZhciBwcm9ncmVzc1NpemUgPSB0aGlzLndpZHRoICogdGhpcy5fcGVyY2VudCAvIDEwMDsKICAgICAgdGhpcy5kaXYuc3R5bGUud2lkdGggPSBwcm9ncmVzc1NpemUgKyB0aGlzLnVuaXRzOwogICAgfSwKCiAgICBnZXQgcGVyY2VudCgpIHsKICAgICAgcmV0dXJuIHRoaXMuX3BlcmNlbnQ7CiAgICB9LAoKICAgIHNldCBwZXJjZW50KHZhbCkgewogICAgICB0aGlzLl9pbmRldGVybWluYXRlID0gaXNOYU4odmFsKTsKICAgICAgdGhpcy5fcGVyY2VudCA9IGNsYW1wKHZhbCwgMCwgMTAwKTsKICAgICAgdGhpcy51cGRhdGVCYXIoKTsKICAgIH0sCgogICAgc2V0V2lkdGg6IGZ1bmN0aW9uIFByb2dyZXNzQmFyX3NldFdpZHRoKHZpZXdlcikgewogICAgICBpZiAodmlld2VyKSB7CiAgICAgICAgdmFyIGNvbnRhaW5lciA9IHZpZXdlci5wYXJlbnROb2RlOwogICAgICAgIHZhciBzY3JvbGxiYXJXaWR0aCA9IGNvbnRhaW5lci5vZmZzZXRXaWR0aCAtIHZpZXdlci5vZmZzZXRXaWR0aDsKICAgICAgICBpZiAoc2Nyb2xsYmFyV2lkdGggPiAwKSB7CiAgICAgICAgICB0aGlzLmJhci5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3dpZHRoOiBjYWxjKDEwMCUgLSAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aCArICdweCk7Jyk7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIGhpZGU6IGZ1bmN0aW9uIFByb2dyZXNzQmFyX2hpZGUoKSB7CiAgICAgIGlmICghdGhpcy52aXNpYmxlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlOwogICAgICB0aGlzLmJhci5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdsb2FkaW5nSW5Qcm9ncmVzcycpOwogICAgfSwKCiAgICBzaG93OiBmdW5jdGlvbiBQcm9ncmVzc0Jhcl9zaG93KCkgewogICAgICBpZiAodGhpcy52aXNpYmxlKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7CiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbG9hZGluZ0luUHJvZ3Jlc3MnKTsKICAgICAgdGhpcy5iYXIuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7CiAgICB9CiAgfTsKCiAgcmV0dXJuIFByb2dyZXNzQmFyOwp9KSgpOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/viewer.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgogKgogKiBAbGljc3RhcnQKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgV2ViT0RGLgogKgogKiBXZWJPREYgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR05VIEFHUEwpCiAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBXZWJPREYgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIGFsb25nIHdpdGggV2ViT0RGLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogKiBAbGljZW5kCiAqCiAqIEBzb3VyY2U6IGh0dHA6Ly93d3cud2Vib2RmLm9yZy8KICogQHNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2tvZ21iaC9XZWJPREYvCiAqLwoKLyoKICogVGhpcyBmaWxlIGlzIGEgZGVyaXZhdGl2ZSBmcm9tIGEgcGFydCBvZiBNb3ppbGxhJ3MgUERGLmpzIHByb2plY3QuIFRoZQogKiBvcmlnaW5hbCBsaWNlbnNlIGhlYWRlciBmb2xsb3dzLgogKi8KCi8qIENvcHlyaWdodCAyMDEyIE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwoKKiB7CiAgICBwYWRkaW5nOiAwOwogICAgbWFyZ2luOiAwOwp9CgpodG1sID4gYm9keSB7CiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnRpdGxlYmFyID4gc3BhbiwKLnRvb2xiYXJMYWJlbCwKaW5wdXQsCmJ1dHRvbiwKc2VsZWN0IHsKICBmb250OiBtZXNzYWdlLWJveDsKfQoKI3RpdGxlYmFyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHotaW5kZXg6IDI7IAogICAgdG9wOiAwcHg7CiAgICBsZWZ0OiAwcHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CgogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpOwogICAgLW1vei1ib3gtc2hhZG93OiAgICAwcHggMXB4IDNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpOwogICAgYm94LXNoYWRvdzogICAgICAgICAwcHggMXB4IDNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpOwogICAgCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHR1cmUucG5nKSwgbGluZWFyLWdyYWRpZW50KHJnYmEoNjksIDY5LCA2OSwgLjk1KSwgcmdiYSg4MiwgODIsIDgyLCAuOTkpKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdGV4dHVyZS5wbmcpLCAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDY5LCA2OSwgNjksIC45NSksIHJnYmEoODIsIDgyLCA4MiwgLjk5KSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHR1cmUucG5nKSwgLW1vei1saW5lYXItZ3JhZGllbnQocmdiYSg2OSwgNjksIDY5LCAuOTUpLCByZ2JhKDgyLCA4MiwgODIsIC45OSkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyksIC1tcy1saW5lYXItZ3JhZGllbnQocmdiYSg2OSwgNjksIDY5LCAuOTUpLCByZ2JhKDgyLCA4MiwgODIsIC45OSkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyksIC1vLWxpbmVhci1ncmFkaWVudChyZ2JhKDY5LCA2OSwgNjksIC45NSksIHJnYmEoODIsIDgyLCA4MiwgLjk5KSk7Cn0KCiN0aXRsZWJhciBhLCAjYWJvdXREaWFsb2cgYSwgI3RpdGxlYmFyIGE6dmlzaXRlZCwgI2Fib3V0RGlhbG9nIGE6dmlzaXRlZCB7CiAgICBjb2xvcjogI2NjYzsKfQoKI2RvY3VtZW50TmFtZSB7CiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgIG1hcmdpbi10b3A6IDhweDsKICAgIGNvbG9yOiAjRjJGMkYyOwogICAgbGluZS1oZWlnaHQ6IDE0cHg7CiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgCn0KI2RvY3VtZW50TmFtZSB7CiAgICBmb250LXNpemU6IDE0cHg7Cn0KCiN0b29sYmFyQ29udGFpbmVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHotaW5kZXg6IDI7IAogICAgYm90dG9tOiAwcHg7CiAgICBsZWZ0OiAwcHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CgogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggLTFweCAzcHggcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTsKICAgIC1tb3otYm94LXNoYWRvdzogICAgMHB4IC0xcHggM3B4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7CiAgICBib3gtc2hhZG93OiAgICAgICAgIDBweCAtMXB4IDNweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpOwogICAgCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHR1cmUucG5nKSwgbGluZWFyLWdyYWRpZW50KHJnYmEoODIsIDgyLCA4MiwgLjk5KSwgcmdiYSg2OSwgNjksIDY5LCAuOTUpKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdGV4dHVyZS5wbmcpLCAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDgyLCA4MiwgODIsIC45OSksIHJnYmEoNjksIDY5LCA2OSwgLjk1KSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHR1cmUucG5nKSwgLW1vei1saW5lYXItZ3JhZGllbnQocmdiYSg4MiwgODIsIDgyLCAuOTkpLCByZ2JhKDY5LCA2OSwgNjksIC45NSkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyksIC1tcy1saW5lYXItZ3JhZGllbnQocmdiYSg4MiwgODIsIDgyLCAuOTkpLCByZ2JhKDY5LCA2OSwgNjksIC45NSkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyksIC1vLWxpbmVhci1ncmFkaWVudChyZ2JhKDgyLCA4MiwgODIsIC45OSksIHJnYmEoNjksIDY5LCA2OSwgLjk1KSk7Cn0KCiN0b29sYmFyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKI3Rvb2xiYXJNaWRkbGVDb250YWluZXIsICN0b29sYmFyTGVmdCB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0KCmh0bWxbZGlyPSdsdHInXSAjdG9vbGJhckxlZnQgewogICAgbWFyZ2luLWxlZnQ6IC0xcHg7Cn0KaHRtbFtkaXI9J3J0bCddICN0b29sYmFyUmlnaHQgewogICAgbWFyZ2luLWxlZnQ6IC0xcHg7Cn0KaHRtbFtkaXI9J2x0ciddICN0b29sYmFyTGVmdCwKaHRtbFtkaXI9J3J0bCddICN0b29sYmFyUmlnaHQgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKfQpodG1sW2Rpcj0nbHRyJ10gI3Rvb2xiYXJSaWdodCwKaHRtbFtkaXI9J3J0bCddICN0b29sYmFyTGVmdCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICByaWdodDogMDsKfQpodG1sW2Rpcj0nbHRyJ10gI3Rvb2xiYXJMZWZ0ID4gKiwKaHRtbFtkaXI9J2x0ciddICN0b29sYmFyTWlkZGxlID4gKiwKaHRtbFtkaXI9J2x0ciddICN0b29sYmFyUmlnaHQgPiAqIHsKICAgIGZsb2F0OiBsZWZ0Owp9Cmh0bWxbZGlyPSdydGwnXSAjdG9vbGJhckxlZnQgPiAqLApodG1sW2Rpcj0ncnRsJ10gI3Rvb2xiYXJNaWRkbGUgPiAqLApodG1sW2Rpcj0ncnRsJ10gI3Rvb2xiYXJSaWdodCA+ICogewogICAgZmxvYXQ6IHJpZ2h0Owp9CgovKiBvdXRlci9pbm5lciBjZW50ZXIgcHJvdmlkZXMgaG9yaXpvbnRhbCBjZW50ZXIgKi8KaHRtbFtkaXI9J2x0ciddIC5vdXRlckNlbnRlciB7CiAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICByaWdodDogNTAlOwp9Cmh0bWxbZGlyPSdydGwnXSAub3V0ZXJDZW50ZXIgewogICAgICBmbG9hdDogbGVmdDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBsZWZ0OiA1MCU7Cn0KaHRtbFtkaXI9J2x0ciddIC5pbm5lckNlbnRlciB7CiAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICByaWdodDogLTUwJTsKfQpodG1sW2Rpcj0ncnRsJ10gLmlubmVyQ2VudGVyIHsKICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgbGVmdDogLTUwJTsKfQoKaHRtbFtkaXI9J2x0ciddIC5zcGxpdFRvb2xiYXJCdXR0b24gewogICAgICBtYXJnaW46IDNweCAycHggNHB4IDA7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Cmh0bWxbZGlyPSdydGwnXSAuc3BsaXRUb29sYmFyQnV0dG9uIHsKICAgICAgbWFyZ2luOiAzcHggMCA0cHggMnB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpodG1sW2Rpcj0nbHRyJ10gLnNwbGl0VG9vbGJhckJ1dHRvbiA+IC50b29sYmFyQnV0dG9uIHsKICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBmbG9hdDogbGVmdDsKfQpodG1sW2Rpcj0ncnRsJ10gLnNwbGl0VG9vbGJhckJ1dHRvbiA+IC50b29sYmFyQnV0dG9uIHsKICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBmbG9hdDogcmlnaHQ7Cn0KCi5zcGxpdFRvb2xiYXJCdXR0b24udG9nZ2xlZCAudG9vbGJhckJ1dHRvbiB7CiAgICAgIG1hcmdpbjogMDsKfQoKLnRvb2xiYXJCdXR0b24gewogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwogICAgbWluLXdpZHRoOiAzMnB4OwogICAgaGVpZ2h0OiAyNXB4OwogICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQoKaHRtbFtkaXI9J2x0ciddIC50b29sYmFyQnV0dG9uLApodG1sW2Rpcj0nbHRyJ10gLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICAgIG1hcmdpbjogM3B4IDJweCA0cHggMDsKfQpodG1sW2Rpcj0ncnRsJ10gLnRvb2xiYXJCdXR0b24sCmh0bWxbZGlyPSdydGwnXSAuZHJvcGRvd25Ub29sYmFyQnV0dG9uIHsKICAgICAgbWFyZ2luOiAzcHggMCA0cHggMnB4Owp9CgoudG9vbGJhckJ1dHRvbjpob3ZlciwKLnRvb2xiYXJCdXR0b246Zm9jdXMsCi5kcm9wZG93blRvb2xiYXJCdXR0b24gewogICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLDAlLDAlLC4xMik7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbGEoMCwwJSwwJSwuMzUpOwogICAgYm9yZGVyLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjMyKSBoc2xhKDAsMCUsMCUsLjM4KSBoc2xhKDAsMCUsMCUsLjQyKTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjA1KSBpbnNldCwKICAgICAgICAgICAgICAgIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjE1KSBpbnNldCwKICAgICAgICAgICAgICAgIDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjA1KTsKfQoKLnRvb2xiYXJCdXR0b246aG92ZXI6YWN0aXZlLAouZHJvcGRvd25Ub29sYmFyQnV0dG9uOmhvdmVyOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjIpOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJvcmRlci1jb2xvcjogaHNsYSgwLDAlLDAlLC4zNSkgaHNsYSgwLDAlLDAlLC40KSBoc2xhKDAsMCUsMCUsLjQ1KTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCBoc2xhKDAsMCUsMCUsLjEpIGluc2V0LAogICAgICAgICAgICAgICAgMCAwIDFweCBoc2xhKDAsMCUsMCUsLjIpIGluc2V0LAogICAgICAgICAgICAgICAgMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDUpOwp9Cgouc3BsaXRUb29sYmFyQnV0dG9uOmhvdmVyID4gLnRvb2xiYXJCdXR0b24sCi5zcGxpdFRvb2xiYXJCdXR0b246Zm9jdXMgPiAudG9vbGJhckJ1dHRvbiwKLnNwbGl0VG9vbGJhckJ1dHRvbi50b2dnbGVkID4gLnRvb2xiYXJCdXR0b24sCi50b29sYmFyQnV0dG9uLnRleHRCdXR0b24gewogICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLDAlLDAlLC4xMik7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbGEoMCwwJSwwJSwuMzUpOwogICAgYm9yZGVyLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjMyKSBoc2xhKDAsMCUsMCUsLjM4KSBoc2xhKDAsMCUsMCUsLjQyKTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjA1KSBpbnNldCwKICAgIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjE1KSBpbnNldCwKICAgIDAgMXB4IDAgaHNsYSgwLDAlLDEwMCUsLjA1KTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7CiAgICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwoKfQouc3BsaXRUb29sYmFyQnV0dG9uID4gLnRvb2xiYXJCdXR0b246aG92ZXIsCi5zcGxpdFRvb2xiYXJCdXR0b24gPiAudG9vbGJhckJ1dHRvbjpmb2N1cywKLmRyb3Bkb3duVG9vbGJhckJ1dHRvbjpob3ZlciwKLnRvb2xiYXJCdXR0b24udGV4dEJ1dHRvbjpob3ZlciwKLnRvb2xiYXJCdXR0b24udGV4dEJ1dHRvbjpmb2N1cyB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwwJSwwJSwuMik7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDUpIGluc2V0LAogICAgICAgICAgICAgICAgICAgIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjE1KSBpbnNldCwKICAgICAgICAgICAgICAgICAgICAwIDAgMXB4IGhzbGEoMCwwJSwwJSwuMDUpOwogICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE5OTsKfQoKCi5zcGxpdFRvb2xiYXJCdXR0b246aG92ZXIgPiAudG9vbGJhckJ1dHRvbiwKLnNwbGl0VG9vbGJhckJ1dHRvbjpmb2N1cyA+IC50b29sYmFyQnV0dG9uLAouc3BsaXRUb29sYmFyQnV0dG9uLnRvZ2dsZWQgPiAudG9vbGJhckJ1dHRvbiwKLnRvb2xiYXJCdXR0b24udGV4dEJ1dHRvbiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjEyKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQoaHNsYSgwLDAlLDEwMCUsLjA1KSwgaHNsYSgwLDAlLDEwMCUsMCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChoc2xhKDAsMCUsMTAwJSwuMDUpLCBoc2xhKDAsMCUsMTAwJSwwKSk7CiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogICAgYm9yZGVyOiAxcHggc29saWQgaHNsYSgwLDAlLDAlLC4zNSk7CiAgICBib3JkZXItY29sb3I6IGhzbGEoMCwwJSwwJSwuMzIpIGhzbGEoMCwwJSwwJSwuMzgpIGhzbGEoMCwwJSwwJSwuNDIpOwogICAgYm94LXNoYWRvdzogMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDUpIGluc2V0LAogICAgMCAwIDFweCBoc2xhKDAsMCUsMTAwJSwuMTUpIGluc2V0LAogICAgMCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuMDUpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7CiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7Cgp9Ci5zcGxpdFRvb2xiYXJCdXR0b24gPiAudG9vbGJhckJ1dHRvbjpob3ZlciwKLnNwbGl0VG9vbGJhckJ1dHRvbiA+IC50b29sYmFyQnV0dG9uOmZvY3VzLAouZHJvcGRvd25Ub29sYmFyQnV0dG9uOmhvdmVyLAoudG9vbGJhckJ1dHRvbi50ZXh0QnV0dG9uOmhvdmVyLAoudG9vbGJhckJ1dHRvbi50ZXh0QnV0dG9uOmZvY3VzIHsKICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwwJSwwJSwuMik7CiAgICBib3gtc2hhZG93OiAwIDFweCAwIGhzbGEoMCwwJSwxMDAlLC4wNSkgaW5zZXQsCiAgICAgICAgICAgICAgICAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC4xNSkgaW5zZXQsCiAgICAgICAgICAgICAgICAgMCAwIDFweCBoc2xhKDAsMCUsMCUsLjA1KTsKICAgIHotaW5kZXg6IDE5OTsKfQoKLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzICFpbXBvcnRhbnQ7Cn0KCi50b29sYmFyQnV0dG9uLAouZHJvcGRvd25Ub29sYmFyQnV0dG9uIHsKICAgICAgbWluLXdpZHRoOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHggMnB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgICAgICBjb2xvcjogaHNsKDAsMCUsOTUlKTsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7CiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lOwogICAgICAgICAgICAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDpub25lOwogICAgICAgICAgICAgICAgICAgICAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBPcGVyYSBkb2VzIG5vdCBzdXBwb3J0IHVzZXItc2VsZWN0LCB1c2UgPC4uLiB1bnNlbGVjdGFibGU9Im9uIj4gaW5zdGVhZCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7Cn0KCmh0bWxbZGlyPSdsdHInXSAudG9vbGJhckJ1dHRvbiwKaHRtbFtkaXI9J2x0ciddIC5kcm9wZG93blRvb2xiYXJCdXR0b24gewogICAgICBtYXJnaW46IDNweCAycHggNHB4IDA7Cn0KaHRtbFtkaXI9J3J0bCddIC50b29sYmFyQnV0dG9uLApodG1sW2Rpcj0ncnRsJ10gLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICAgIG1hcmdpbjogM3B4IDAgNHB4IDJweDsKfQoKLnNwbGl0VG9vbGJhckJ1dHRvbjpob3ZlciA+IC5zcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IsCi5zcGxpdFRvb2xiYXJCdXR0b24udG9nZ2xlZCA+IC5zcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IgewogICAgICBwYWRkaW5nOiAxMnB4IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC4wMyk7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogcGFkZGluZzsKICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDEwbXM7CiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHBhZGRpbmc7CiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxMG1zOwogICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IHBhZGRpbmc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDEwbXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHBhZGRpbmc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTBtczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBwYWRkaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDEwbXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKfQoKLnRvb2xiYXJCdXR0b24udG9nZ2xlZDpob3ZlcjphY3RpdmUsCi5zcGxpdFRvb2xiYXJCdXR0b24gPiAudG9vbGJhckJ1dHRvbjpob3ZlcjphY3RpdmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjQpOwogICAgICAgIGJvcmRlci1jb2xvcjogaHNsYSgwLDAlLDAlLC40KSBoc2xhKDAsMCUsMCUsLjUpIGhzbGEoMCwwJSwwJSwuNTUpOwogICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IGhzbGEoMCwwJSwwJSwuMikgaW5zZXQsCiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAxcHggaHNsYSgwLDAlLDAlLC4zKSBpbnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAwIGhzbGEoMCwwJSwxMDAlLC4wNSk7Cn0KCmh0bWxbZGlyPSdsdHInXSAuc3BsaXRUb29sYmFyQnV0dG9uID4gLnRvb2xiYXJCdXR0b246Zmlyc3QtY2hpbGQsCmh0bWxbZGlyPSdydGwnXSAuc3BsaXRUb29sYmFyQnV0dG9uID4gLnRvb2xiYXJCdXR0b246bGFzdC1jaGlsZCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsKICAgICAgICAgIG1hcmdpbi1yaWdodDogLTFweDsKICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4OwogICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDsKICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KaHRtbFtkaXI9J2x0ciddIC5zcGxpdFRvb2xiYXJCdXR0b24gPiAudG9vbGJhckJ1dHRvbjpsYXN0LWNoaWxkLApodG1sW2Rpcj0ncnRsJ10gLnNwbGl0VG9vbGJhckJ1dHRvbiA+IC50b29sYmFyQnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwogICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4OwogICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7CiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLnNwbGl0VG9vbGJhckJ1dHRvblNlcGFyYXRvciB7CiAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMDAlLC41KTsKICAgICAgICAgICAgei1pbmRleDogOTk7CiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC4wOCk7CiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7Cn0KaHRtbFtkaXI9J2x0ciddIC5zcGxpdFRvb2xiYXJCdXR0b25TZXBhcmF0b3IgewogICAgICBmbG9hdDpsZWZ0Owp9Cmh0bWxbZGlyPSdydGwnXSAuc3BsaXRUb29sYmFyQnV0dG9uU2VwYXJhdG9yIHsKICAgICAgZmxvYXQ6cmlnaHQ7Cn0KCi5kcm9wZG93blRvb2xiYXJCdXR0b24gewogICAgICBtaW4td2lkdGg6IDEyMHB4OwogICAgICAgIG1heC13aWR0aDogMTIwcHg7CiAgICAgICAgICBwYWRkaW5nOiA0cHggMnB4IDRweDsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Rvb2xiYXJCdXR0b24tbWVudUFycm93cy5wbmcpIG5vLXJlcGVhdDsKfQoKLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiA+IHNlbGVjdCB7CiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIGluIHRoZSBmdXR1cmUgdGhpcyBtaWdodCBtYXR0ZXIsIHNlZSBidWd6aWxsYSBidWcgIzY0OTg0OSAqLwogICAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICAgIGNvbG9yOiBoc2woMCwwJSw5NSUpOwogICAgICAgICAgICAgICAgbWFyZ2luOjA7CiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDsKICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTsKICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMCk7IC8qIE9wZXJhIGRvZXMgbm90IHN1cHBvcnQgJ3RyYW5zcGFyZW50JyA8c2VsZWN0PiBiYWNrZ3JvdW5kICovCn0KCi5kcm9wZG93blRvb2xiYXJCdXR0b24gPiBzZWxlY3QgPiBvcHRpb24gewogICAgICBiYWNrZ3JvdW5kOiBoc2woMCwwJSwyNCUpOwp9CgojcGFnZVdpZHRoT3B0aW9uIHsKICBib3JkZXItYm90dG9tOiAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSkgc29saWQ7Cn0KCgpodG1sW2Rpcj0nbHRyJ10gLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk1JTsKfQpodG1sW2Rpcj0ncnRsJ10gLmRyb3Bkb3duVG9vbGJhckJ1dHRvbiB7CiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUlOwp9CgoKLnRvb2xiYXJCdXR0b24uZnVsbHNjcmVlbjo6YmVmb3JlIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGNvbnRlbnQ6IHVybChpbWFnZXMvdG9vbGJhckJ1dHRvbi1mdWxsc2NyZWVuLnBuZyk7Cn0KCi50b29sYmFyQnV0dG9uLnByZXNlbnRhdGlvbjo6YmVmb3JlIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGNvbnRlbnQ6IHVybChpbWFnZXMvdG9vbGJhckJ1dHRvbi1wcmVzZW50YXRpb24ucG5nKTsKfQoKLnRvb2xiYXJCdXR0b24uZG93bmxvYWQ6OmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBjb250ZW50OiB1cmwoaW1hZ2VzL3Rvb2xiYXJCdXR0b24tZG93bmxvYWQucG5nKTsKfQoKLnRvb2xiYXJCdXR0b24uYWJvdXQgewogICAgY29sb3I6ICNGMkYyRjI7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGxpbmUtaGVpZ2h0OiAxNHB4OwogICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Cn0KLnRvb2xiYXJCdXR0b24uYWJvdXQ6OmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCi50b29sYmFyQnV0dG9uLnpvb21PdXQ6OmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBjb250ZW50OiB1cmwoaW1hZ2VzL3Rvb2xiYXJCdXR0b24tem9vbU91dC5wbmcpOwp9CiAgICAKLnRvb2xiYXJCdXR0b24uem9vbUluOjpiZWZvcmUgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgY29udGVudDogdXJsKGltYWdlcy90b29sYmFyQnV0dG9uLXpvb21Jbi5wbmcpOwp9CgoudG9vbGJhckJ1dHRvbi5wYWdlVXA6OmJlZm9yZSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGNvbnRlbnQ6IHVybChpbWFnZXMvdG9vbGJhckJ1dHRvbi1wYWdlVXAucG5nKTsKfQoKLnRvb2xiYXJCdXR0b24ucGFnZURvd246OmJlZm9yZSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGNvbnRlbnQ6IHVybChpbWFnZXMvdG9vbGJhckJ1dHRvbi1wYWdlRG93bi5wbmcpOwp9CgoudG9vbGJhckZpZWxkLnBhZ2VOdW1iZXIgewogIG1pbi13aWR0aDogMTZweDsKICB0ZXh0LWFsaWduOiByaWdodDsKICB3aWR0aDogNDBweDsKfQoKLnRvb2xiYXJGaWVsZCB7CiAgcGFkZGluZzogM3B4IDZweDsKICBtYXJnaW46IDRweCAwIDRweCAwOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IDJweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMTAwJSwuMDkpOwogIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGhzbGEoMCwwJSwxMDAlLC4wNSksIGhzbGEoMCwwJSwxMDAlLDApKTsKICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogIGJvcmRlcjogMXB4IHNvbGlkIGhzbGEoMCwwJSwwJSwuMzUpOwogIGJvcmRlci1jb2xvcjogaHNsYSgwLDAlLDAlLC4zMikgaHNsYSgwLDAlLDAlLC4zOCkgaHNsYSgwLDAlLDAlLC40Mik7CiAgYm94LXNoYWRvdzogMCAxcHggMCBoc2xhKDAsMCUsMCUsLjA1KSBpbnNldCwKICAgICAgICAgICAgICAwIDFweCAwIGhzbGEoMCwwJSwxMDAlLC4wNSk7CiAgY29sb3I6IGhzbCgwLDAlLDk1JSk7CiAgZm9udC1zaXplOiAxMnB4OwogIGxpbmUtaGVpZ2h0OiAxNHB4OwogIG91dGxpbmUtc3R5bGU6IG5vbmU7CiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7CiAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwp9CgoudG9vbGJhckZpZWxkLnBhZ2VOdW1iZXI6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sCi50b29sYmFyRmllbGQucGFnZU51bWJlcjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICBtYXJnaW46IDA7Cn0KCi50b29sYmFyRmllbGQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwwJSwxMDAlLC4xMSk7CiAgYm9yZGVyLWNvbG9yOiBoc2xhKDAsMCUsMCUsLjQpIGhzbGEoMCwwJSwwJSwuNDMpIGhzbGEoMCwwJSwwJSwuNDUpOwp9CgoudG9vbGJhckZpZWxkOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsMCUsMTAwJSwuMTUpOwogIGJvcmRlci1jb2xvcjogaHNsYSgyMDQsMTAwJSw2NSUsLjgpIGhzbGEoMjA0LDEwMCUsNjUlLC44NSkgaHNsYSgyMDQsMTAwJSw2NSUsLjkpOwp9CgoudG9vbGJhckxhYmVsIHsKICBtaW4td2lkdGg6IDE2cHg7CiAgcGFkZGluZzogM3B4IDZweCAzcHggMnB4OwogIG1hcmdpbjogNHB4IDJweCA0cHggMDsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItcmFkaXVzOiAycHg7CiAgY29sb3I6IGhzbCgwLDAlLDg1JSk7CiAgZm9udC1zaXplOiAxMnB4OwogIGxpbmUtaGVpZ2h0OiAxNHB4OwogIHRleHQtYWxpZ246IGxlZnQ7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lOwogIC1tb3otdXNlci1zZWxlY3Q6bm9uZTsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KCiNjYW52YXNDb250YWluZXIgewogICAgb3ZlcmZsb3c6IGF1dG87CgogICAgcGFkZGluZy10b3A6IDZweDsKICAgIHBhZGRpbmctYm90dG9tOiA2cHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDMycHg7CiAgICByaWdodDogMDsKICAgIGJvdHRvbTogMzJweDsKICAgIGxlZnQ6IDA7CgogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy90ZXh0dXJlLnBuZyk7Cn0KCiNjYW52YXNDb250YWluZXIuc2xpZGVzaG93IHsKICAgIHBhZGRpbmc6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgojY2FudmFzQ29udGFpbmVyLnNsaWRlc2hvdyA+ICogewogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAwOwp9CgoucHJlc2VudGF0aW9uTW9kZSB7CiAgICB0b3A6IDAgIWltcG9ydGFudDsKICAgIGJvdHRvbTogMCAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2sgIWltcG9ydGFudDsKICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50Owp9CgojY2FudmFzIHsKICAgIGJveC1zaGFkb3c6ICAgICAgICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC1tb3otYm94LXNoYWRvdzogICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKICAgIC1tcy1ib3gtc2hhZG93OiAgICAwcHggMHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuNzUpOwogICAgLW8tYm94LXNoYWRvdzogICAgMHB4IDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjc1KTsKCiAgICAvKgogICAgICogSGlkZSB0aGUgY2FudmFzIG92ZXJmbG93IGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBDU1Mtc2NhbGVkICdzaXplcicgY2hpbGQKICAgICAqIG9mIHRoZSBjYW52YXMgd2lsbCBzdGlsbCBhZHZlcnRpc2UgdGhlIG9yaWdpbmFsIHNpemUgaW4gRmlyZWZveCwgY2F1c2luZwogICAgICogc3RyYW5nZSBzY3JvbGxiYXIgYmVoYXZpb3IuCiAgICAgKi8KICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCiNzbGlkZXJDb250YWluZXIgewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwp9Cgojb3ZlcmxheU5hdmlnYXRvciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMDsKICAgIHRvcDogY2FsYyg1MCUgLSA1MHB4KTsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICB6LWluZGV4OiAzOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dDsKICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dDsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQ7Cn0KI3ByZXZpb3VzUGFnZSB7CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogCiAgICAvKiBDU1MgdHJpYW5nbGUgKi8KICAgIGJvcmRlci10b3A6IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItYm90dG9tOiA1MHB4IHNvbGlkIHRyYW5zcGFyZW50OyAKICAgIGJvcmRlci1yaWdodDogNTBweCBzb2xpZCBibGFjazsKCiAgICBvcGFjaXR5OiAwLjU7Cn0KI25leHRQYWdlIHsKICAgIGZsb2F0OiByaWdodDsKICAgIG1hcmdpbi1yaWdodDogMTBweDsKIAogICAgLyogQ1NTIHRyaWFuZ2xlICovCiAgICBib3JkZXItdG9wOiA1MHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLWJvdHRvbTogNTBweCBzb2xpZCB0cmFuc3BhcmVudDsgCiAgICBib3JkZXItbGVmdDogNTBweCBzb2xpZCBibGFjazsKCiAgICBvcGFjaXR5OiAwLjU7Cn0KI3ByZXZpb3VzUGFnZTphY3RpdmUgewogICAgb3BhY2l0eTogMC44Owp9CiNuZXh0UGFnZTphY3RpdmUgewogICAgb3BhY2l0eTogMC44Owp9CiNvdmVybGF5Q2xvc2VCdXR0b24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxMHB4OwogICAgcmlnaHQ6IDEwcHg7CiAgICB6LWluZGV4OiAzOwogICAgZm9udC1zaXplOiAzNXB4OwogICAgY29sb3I6IHdoaXRlOwogICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CiAgICBvcGFjaXR5OiAwLjU7CgogICAgd2lkdGg6IDQwcHg7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogbm9uZTsKfQojb3ZlcmxheUNsb3NlQnV0dG9uOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cn0KCiNhYm91dERpYWxvZ0NlbnRlcmVyVGFibGUgewogICAgZGlzcGxheTogdGFibGU7CiAgICB3aWR0aDoxMDAlOwogICAgaGVpZ2h0OjEwMCU7Cn0KCiNhYm91dERpYWxvZ0NlbnRlcmVyQ2VsbCB7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOwp9CgojYWJvdXREaWFsb2cgewogICAgd2lkdGg6IDI4MHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjsKICAgIGNvbG9yOiB3aGl0ZTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJveC1zaGFkb3c6IDBweCAxcHggNnB4IGJsYWNrOwogICAgcGFkZGluZzogNXB4OwogICAgZm9udC1zdHlsZTogc2Fucy1zZXJpZjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKI2Fib3V0RGlhbG9nIGgxIHsKICAgIGZvbnQtc2l6ZTogMjVwdDsKfQoKI2Fib3V0RGlhbG9nIHAgewogICAgZm9udC1zaXplOiAxMHB0Owp9CgojYWJvdXREaWFsb2cgPiAqIHsKICAgIG1hcmdpbjogMTBweDsKfQoKI2RpYWxvZ092ZXJsYXkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMHB4OwogICAgdG9wOiAwcHg7CiAgICB3aWR0aDoxMDAlOwogICAgaGVpZ2h0OjEwMCU7CiAgICB6LWluZGV4OiAzOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7CiAgICBvdmVyZmxvdzogYXV0bzsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCiNibGFua2VkIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBjdXJzb3I6IG5vbmU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwcHg7CiAgICB0b3A6IDBweDsKICAgIHdpZHRoOjEwMCU7CiAgICBoZWlnaHQ6MTAwJTsKICAgIHotaW5kZXg6IDM7Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDgwMHB4KSBhbmQgKG1heC1kZXZpY2UtaGVpZ2h0OiA4MDBweCkgewogICAgI2NhbnZhc0NvbnRhaW5lciB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgIH0KCiAgICAjb3ZlcmxheU5hdmlnYXRvciB7CiAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KICAgICNuZXh0UGFnZSwgI3ByZXZpb3VzUGFnZSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgIH0KCiAgICAjdGl0bGViYXIsICN0b29sYmFyQ29udGFpbmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzOwogICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXM7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7CiAgICB9CgogICAgI3RpdGxlYmFyIHsKICAgICAgICB0b3A6IC0zMnB4OwogICAgfQogICAgI3RpdGxlYmFyLnZpZXdlci10b3VjaGVkIHsKICAgICAgICB0b3A6IDBweDsKICAgIH0KICAgICN0b29sYmFyQ29udGFpbmVyIHsKICAgICAgICBib3R0b206IC0zMnB4OwogICAgfQogICAgI3Rvb2xiYXJDb250YWluZXIudmlld2VyLXRvdWNoZWQgewogICAgICAgIGJvdHRvbTogMHB4OwogICAgfQoKICAgIC52aWV3ZXItdG91Y2hlZCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgfQoKICAgICNuZXh0LCAjcHJldmlvdXMgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/viewer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZnVuY3Rpb24gVmlld2VyKGMscil7ZnVuY3Rpb24gUCgpe3ZhciBhLGYsYixkLGg7YyYmKGI9Yy5nZXRQbHVnaW5OYW1lKCksZD1jLmdldFBsdWdpblZlcnNpb24oKSxoPWMuZ2V0UGx1Z2luVVJMKCkpO2E9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5pZD0iYWJvdXREaWFsb2dDZW50ZXJlclRhYmxlIjtmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2YuaWQ9ImFib3V0RGlhbG9nQ2VudGVyZXJDZWxsIjtzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuaWQ9ImFib3V0RGlhbG9nIjtzLmlubmVySFRNTD0nPGgxPlZpZXdlckpTPC9oMT48cD5PcGVuIFNvdXJjZSBkb2N1bWVudCB2aWV3ZXIgZm9yIHdlYnBhZ2VzLCBidWlsdCB3aXRoIEhUTUwgYW5kIEphdmFTY3JpcHQuPC9wPjxwPkxlYXJuIG1vcmUgYW5kIGdldCB5b3VyIG93biBjb3B5IG9uIHRoZSA8YSBocmVmPSJodHRwOi8vdmlld2VyanMub3JnLyIgdGFyZ2V0PSJfYmxhbmsiPlZpZXdlckpTIHdlYnNpdGU8L2E+LjwvcD4nKwooYz8nPHA+VXNpbmcgdGhlIDxhIGhyZWYgPSAiJytoKyciIHRhcmdldD0iX2JsYW5rIj4nK2IrJzwvYT4gKDxzcGFuIGlkID0gInBsdWdpblZlcnNpb24iPicrZCsiPC9zcGFuPikgcGx1Z2luIHRvIHNob3cgeW91IHRoaXMgZG9jdW1lbnQuPC9wPiI6IiIpKyc8cD5TdXBwb3J0ZWQgYnkgPGEgaHJlZj0iaHR0cDovL25sbmV0Lm5sIiB0YXJnZXQ9Il9ibGFuayI+PGJyPjxpbWcgc3JjPSJpbWFnZXMvbmxuZXQucG5nIiB3aWR0aD0iMTYwIiBoZWlnaHQ9IjYwIiBhbHQ9Ik5MbmV0IEZvdW5kYXRpb24iPjwvYT48L3A+PHA+TWFkZSBieSA8YSBocmVmPSJodHRwOi8va29nbWJoLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxicj48aW1nIHNyYz0iaW1hZ2VzL2tvZ21iaC5wbmciIHdpZHRoPSIxNzIiIGhlaWdodD0iNDAiIGFsdD0iS08gR21iSCI+PC9hPjwvcD48YnV0dG9uIGlkID0gImFib3V0RGlhbG9nQ2xvc2VCdXR0b24iIGNsYXNzID0gInRvb2xiYXJCdXR0b24gdGV4dEJ1dHRvbiI+Q2xvc2U8L2J1dHRvbj4nOwp3LmFwcGVuZENoaWxkKGEpO2EuYXBwZW5kQ2hpbGQoZik7Zi5hcHBlbmRDaGlsZChzKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2EuaWQ9ImFib3V0IjthLmNsYXNzTmFtZT0idG9vbGJhckJ1dHRvbiB0ZXh0QnV0dG9uIGFib3V0IjthLnRpdGxlPSJBYm91dCI7YS5pbm5lckhUTUw9IlZpZXdlckpTIjtRLmFwcGVuZENoaWxkKGEpO2EuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dy5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWJvdXREaWFsb2dDbG9zZUJ1dHRvbiIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3cuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KX1mdW5jdGlvbiBEKGEpe3ZhciBmPVIub3B0aW9ucyxiLGM9ITEsZDtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCs9MSliPWZbZF0sYi52YWx1ZSE9PWE/Yi5zZWxlY3RlZD0hMTpjPWIuc2VsZWN0ZWQ9ITA7cmV0dXJuIGN9ZnVuY3Rpb24gRShhLApmLGMpe2EhPT1iLmdldFpvb21MZXZlbCgpJiYoYi5zZXRab29tTGV2ZWwoYSksYz1kb2N1bWVudC5jcmVhdGVFdmVudCgiVUlFdmVudHMiKSxjLmluaXRVSUV2ZW50KCJzY2FsZWNoYW5nZSIsITEsITEsd2luZG93LDApLGMuc2NhbGU9YSxjLnJlc2V0QXV0b1NldHRpbmdzPWYsd2luZG93LmRpc3BhdGNoRXZlbnQoYykpfWZ1bmN0aW9uIEYoKXt2YXIgYTtpZihjLm9uU2Nyb2xsKWMub25TY3JvbGwoKTtjLmdldFBhZ2VJblZpZXcmJihhPWMuZ2V0UGFnZUluVmlldygpKSYmKG09YSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFnZU51bWJlciIpLnZhbHVlPWEpfWZ1bmN0aW9uIEcoYSl7d2luZG93LmNsZWFyVGltZW91dChIKTtIPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RigpfSxhKX1mdW5jdGlvbiBlKGEsYixnKXt2YXIgZSxoO2lmKGU9ImN1c3RvbSI9PT1hP3BhcnNlRmxvYXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN1c3RvbVNjYWxlT3B0aW9uIikudGV4dENvbnRlbnQpLwoxMDA6cGFyc2VGbG9hdChhKSlFKGUsITAsZyk7ZWxzZXtlPWQuY2xpZW50V2lkdGgtdDtoPWQuY2xpZW50SGVpZ2h0LXQ7c3dpdGNoKGEpe2Nhc2UgInBhZ2UtYWN0dWFsIjpFKDEsYixnKTticmVhaztjYXNlICJwYWdlLXdpZHRoIjpjLmZpdFRvV2lkdGgoZSk7YnJlYWs7Y2FzZSAicGFnZS1oZWlnaHQiOmMuZml0VG9IZWlnaHQoaCk7YnJlYWs7Y2FzZSAicGFnZS1maXQiOmMuZml0VG9QYWdlKGUsaCk7YnJlYWs7Y2FzZSAiYXV0byI6Yy5pc1NsaWRlc2hvdygpP2MuZml0VG9QYWdlKGUrdCxoK3QpOmMuZml0U21hcnQoZSl9RChhKX1HKDMwMCl9ZnVuY3Rpb24gUyhhKXt2YXIgYjtyZXR1cm4tMSE9PVsiYXV0byIsInBhZ2UtYWN0dWFsIiwicGFnZS13aWR0aCJdLmluZGV4T2YoYSk/YTooYj1wYXJzZUZsb2F0KGEpKSYmSTw9YiYmYjw9Sj9hOlR9ZnVuY3Rpb24gdSgpe249IW47ayYmIW4mJmIudG9nZ2xlUHJlc2VudGF0aW9uTW9kZSgpfWZ1bmN0aW9uIHgoKXt2JiYoeS5jbGFzc05hbWU9CiJ2aWV3ZXItdG91Y2hlZCIsd2luZG93LmNsZWFyVGltZW91dChLKSxLPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eS5jbGFzc05hbWU9IiJ9LDVFMykpfWZ1bmN0aW9uIHooKXtsLmNsYXNzTGlzdC5hZGQoInZpZXdlci10b3VjaGVkIik7cC5jbGFzc0xpc3QuYWRkKCJ2aWV3ZXItdG91Y2hlZCIpO3dpbmRvdy5jbGVhclRpbWVvdXQoTCk7TD13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe0EoKX0sNUUzKX1mdW5jdGlvbiBBKCl7bC5jbGFzc0xpc3QucmVtb3ZlKCJ2aWV3ZXItdG91Y2hlZCIpO3AuY2xhc3NMaXN0LnJlbW92ZSgidmlld2VyLXRvdWNoZWQiKX1mdW5jdGlvbiBCKCl7bC5jbGFzc0xpc3QuY29udGFpbnMoInZpZXdlci10b3VjaGVkIik/QSgpOnooKX1mdW5jdGlvbiBNKGEpe2JsYW5rZWQuc3R5bGUuZGlzcGxheT0iYmxvY2siO2JsYW5rZWQuc3R5bGUuYmFja2dyb3VuZENvbG9yPWE7QSgpfXZhciBiPXRoaXMsdD00MCxJPTAuMjUsSj00LFQ9ImF1dG8iLAprPSExLG49ITEsTj0hMSx2PSExLEMsZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlld2VyIiksZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzQ29udGFpbmVyIikseT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3ZlcmxheU5hdmlnYXRvciIpLGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRpdGxlYmFyIikscD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhckNvbnRhaW5lciIpLE89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXJMZWZ0IiksVT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhck1pZGRsZUNvbnRhaW5lciIpLFI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjYWxlU2VsZWN0Iiksdz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGlhbG9nT3ZlcmxheSIpLFE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXJSaWdodCIpLHMscT1bXSxtLEgsSyxMO3RoaXMuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBhO2E9ClMoci56b29tKTtDPXIuZG9jdW1lbnRVcmw7ZG9jdW1lbnQudGl0bGU9ci50aXRsZTt2YXIgZj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG9jdW1lbnROYW1lIik7Zi5pbm5lckhUTUw9IiI7Zi5hcHBlbmRDaGlsZChmLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoci50aXRsZSkpO2Mub25Mb2FkPWZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsdWdpblZlcnNpb24iKS5pbm5lckhUTUw9Yy5nZXRQbHVnaW5WZXJzaW9uKCk7KHY9Yy5pc1NsaWRlc2hvdygpKT8oZC5jbGFzc0xpc3QuYWRkKCJzbGlkZXNob3ciKSxPLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiKTooVS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixjLmdldFBhZ2VJblZpZXcmJihPLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiKSk7Tj0hMDtxPWMuZ2V0UGFnZXMoKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibnVtUGFnZXMiKS5pbm5lckhUTUw9Im9mICIrcS5sZW5ndGg7Yi5zaG93UGFnZSgxKTsKZShhKTtkLm9uc2Nyb2xsPUY7RygpfTtjLmluaXRpYWxpemUoZCxDKX07dGhpcy5zaG93UGFnZT1mdW5jdGlvbihhKXswPj1hP2E9MTphPnEubGVuZ3RoJiYoYT1xLmxlbmd0aCk7Yy5zaG93UGFnZShhKTttPWE7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2VOdW1iZXIiKS52YWx1ZT1tfTt0aGlzLnNob3dOZXh0UGFnZT1mdW5jdGlvbigpe2Iuc2hvd1BhZ2UobSsxKX07dGhpcy5zaG93UHJldmlvdXNQYWdlPWZ1bmN0aW9uKCl7Yi5zaG93UGFnZShtLTEpfTt0aGlzLmRvd25sb2FkPWZ1bmN0aW9uKCl7dmFyIGE9Qy5zcGxpdCgiIyIpWzBdO3dpbmRvdy5vcGVuKGErIiN2aWV3ZXIuYWN0aW9uPWRvd25sb2FkIiwiX3BhcmVudCIpfTt0aGlzLnRvZ2dsZUZ1bGxTY3JlZW49ZnVuY3Rpb24oKXtuP2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuP2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk6ZG9jdW1lbnQuY2FuY2VsRnVsbFNjcmVlbj9kb2N1bWVudC5jYW5jZWxGdWxsU2NyZWVuKCk6CmRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4/ZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbigpOmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuP2RvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCk6ZG9jdW1lbnQud2Via2l0Q2FuY2VsRnVsbFNjcmVlbj9kb2N1bWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCk6ZG9jdW1lbnQubXNFeGl0RnVsbHNjcmVlbiYmZG9jdW1lbnQubXNFeGl0RnVsbHNjcmVlbigpOmcucmVxdWVzdEZ1bGxzY3JlZW4/Zy5yZXF1ZXN0RnVsbHNjcmVlbigpOmcubW96UmVxdWVzdEZ1bGxTY3JlZW4/Zy5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpOmcud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4/Zy53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpOmcud2Via2l0UmVxdWVzdEZ1bGxTY3JlZW4/Zy53ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbihFbGVtZW50LkFMTE9XX0tFWUJPQVJEX0lOUFVUKTpnLm1zUmVxdWVzdEZ1bGxzY3JlZW4mJmcubXNSZXF1ZXN0RnVsbHNjcmVlbigpfTsKdGhpcy50b2dnbGVQcmVzZW50YXRpb25Nb2RlPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm92ZXJsYXlDbG9zZUJ1dHRvbiIpO2s/KCJibG9jayI9PT1ibGFua2VkLnN0eWxlLmRpc3BsYXkmJihibGFua2VkLnN0eWxlLmRpc3BsYXk9Im5vbmUiLEIoKSksbC5zdHlsZS5kaXNwbGF5PXAuc3R5bGUuZGlzcGxheT0iYmxvY2siLGEuc3R5bGUuZGlzcGxheT0ibm9uZSIsZC5jbGFzc0xpc3QucmVtb3ZlKCJwcmVzZW50YXRpb25Nb2RlIiksZC5vbm1vdXNldXA9ZnVuY3Rpb24oKXt9LGQub25jb250ZXh0bWVudT1mdW5jdGlvbigpe30sZC5vbm1vdXNlZG93bj1mdW5jdGlvbigpe30sZSgiYXV0byIpLHY9Yy5pc1NsaWRlc2hvdygpKToobC5zdHlsZS5kaXNwbGF5PXAuc3R5bGUuZGlzcGxheT0ibm9uZSIsYS5zdHlsZS5kaXNwbGF5PSJibG9jayIsZC5jbGFzc0xpc3QuYWRkKCJwcmVzZW50YXRpb25Nb2RlIiksdj0hMCxkLm9ubW91c2Vkb3duPWZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKX0sCmQub25jb250ZXh0bWVudT1mdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCl9LGQub25tb3VzZXVwPWZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTsxPT09YS53aGljaD9iLnNob3dOZXh0UGFnZSgpOmIuc2hvd1ByZXZpb3VzUGFnZSgpfSxlKCJwYWdlLWZpdCIpKTtrPSFrfTt0aGlzLmdldFpvb21MZXZlbD1mdW5jdGlvbigpe3JldHVybiBjLmdldFpvb21MZXZlbCgpfTt0aGlzLnNldFpvb21MZXZlbD1mdW5jdGlvbihhKXtjLnNldFpvb21MZXZlbChhKX07dGhpcy56b29tT3V0PWZ1bmN0aW9uKCl7dmFyIGE9KGIuZ2V0Wm9vbUxldmVsKCkvMS4xKS50b0ZpeGVkKDIpLGE9TWF0aC5tYXgoSSxhKTtlKGEsITApfTt0aGlzLnpvb21Jbj1mdW5jdGlvbigpe3ZhciBhPSgxLjEqYi5nZXRab29tTGV2ZWwoKSkudG9GaXhlZCgyKSxhPU1hdGgubWluKEosYSk7ZShhLCEwKX07KGZ1bmN0aW9uKCl7UCgpO2MmJihiLmluaXRpYWxpemUoKSxkb2N1bWVudC5leGl0RnVsbHNjcmVlbnx8CmRvY3VtZW50LmNhbmNlbEZ1bGxTY3JlZW58fGRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW58fGRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVufHxkb2N1bWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVufHxkb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVufHwoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ1bGxzY3JlZW4iKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcmVzZW50YXRpb24iKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iKSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3ZlcmxheUNsb3NlQnV0dG9uIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGIudG9nZ2xlRnVsbFNjcmVlbiksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ1bGxzY3JlZW4iKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYi50b2dnbGVGdWxsU2NyZWVuKSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJlc2VudGF0aW9uIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLApmdW5jdGlvbigpe258fGIudG9nZ2xlRnVsbFNjcmVlbigpO2IudG9nZ2xlUHJlc2VudGF0aW9uTW9kZSgpfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsdSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsdSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW96ZnVsbHNjcmVlbmNoYW5nZSIsdSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiTVNGdWxsc2NyZWVuQ2hhbmdlIix1KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG93bmxvYWQiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtiLmRvd25sb2FkKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiem9vbU91dCIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Iuem9vbU91dCgpfSksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInpvb21JbiIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Iuem9vbUluKCl9KSwKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByZXZpb3VzIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7Yi5zaG93UHJldmlvdXNQYWdlKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmV4dCIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Iuc2hvd05leHRQYWdlKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJldmlvdXNQYWdlIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7Yi5zaG93UHJldmlvdXNQYWdlKCl9KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmV4dFBhZ2UiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtiLnNob3dOZXh0UGFnZSgpfSksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2VOdW1iZXIiKS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7Yi5zaG93UGFnZSh0aGlzLnZhbHVlKX0pLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY2FsZVNlbGVjdCIpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsCmZ1bmN0aW9uKCl7ZSh0aGlzLnZhbHVlKX0pLGQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHgpLHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHgpLGQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEIpLGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHopLHAuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHopLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY2FsZWNoYW5nZSIsZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN1c3RvbVNjYWxlT3B0aW9uIiksYz1EKFN0cmluZyhhLnNjYWxlKSk7Yi5zZWxlY3RlZD0hMTtjfHwoYi50ZXh0Q29udGVudD1NYXRoLnJvdW5kKDFFNCphLnNjYWxlKS8xMDArIiUiLGIuc2VsZWN0ZWQ9ITApfSwhMCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZnVuY3Rpb24oYSl7TiYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYWdlV2lkdGhPcHRpb24iKS5zZWxlY3RlZHx8ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2VBdXRvT3B0aW9uIikuc2VsZWN0ZWQpJiYKZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2NhbGVTZWxlY3QiKS52YWx1ZSk7eCgpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGEpe3ZhciBjPWEua2V5Q29kZTthPWEuc2hpZnRLZXk7aWYoImJsb2NrIj09PWJsYW5rZWQuc3R5bGUuZGlzcGxheSlzd2l0Y2goYyl7Y2FzZSAxNjpjYXNlIDE3OmNhc2UgMTg6Y2FzZSA5MTpjYXNlIDkzOmNhc2UgMjI0OmNhc2UgMjI1OmJyZWFrO2RlZmF1bHQ6YmxhbmtlZC5zdHlsZS5kaXNwbGF5PSJub25lIixCKCl9ZWxzZSBzd2l0Y2goYyl7Y2FzZSA4OmNhc2UgMzM6Y2FzZSAzNzpjYXNlIDM4OmNhc2UgODA6Yi5zaG93UHJldmlvdXNQYWdlKCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDM0OmNhc2UgMzk6Y2FzZSA0MDpjYXNlIDc4OmIuc2hvd05leHRQYWdlKCk7YnJlYWs7Y2FzZSAzMjphP2Iuc2hvd1ByZXZpb3VzUGFnZSgpOmIuc2hvd05leHRQYWdlKCk7YnJlYWs7Y2FzZSA2NjpjYXNlIDE5MDprJiZNKCIjMDAwIik7CmJyZWFrO2Nhc2UgODc6Y2FzZSAxODg6ayYmTSgiI0ZGRiIpO2JyZWFrO2Nhc2UgMzY6Yi5zaG93UGFnZSgwKTticmVhaztjYXNlIDM1OmIuc2hvd1BhZ2UocS5sZW5ndGgpfX0pKX0pKCl9Owo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ViewerJS/webodf.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKCiBUaGlzIGlzIGEgZ2VuZXJhdGVkIGZpbGUuIERPIE5PVCBFRElULgoKIENvcHlyaWdodCAoQykgMjAxMC0yMDE1IEtPIEdtYkggPGNvcHlyaWdodEBrb2dtYmguY29tPgoKIEBsaWNzdGFydAogVGhlIGNvZGUgaW4gdGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHTlUgQUdQTCkKIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mCiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCiBUaGUgY29kZSBpbiB0aGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIGFsb25nIHdpdGggV2ViT0RGLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKIEFzIGFkZGl0aW9uYWwgcGVybWlzc2lvbiB1bmRlciBHTlUgQUdQTCB2ZXJzaW9uIDMgc2VjdGlvbiA3LCB5b3UKIG1heSBkaXN0cmlidXRlIFVOTU9ESUZJRUQgVkVSU0lPTlMgT0YgVEhJUyBmaWxlIHdpdGhvdXQgdGhlIGNvcHkgb2YgdGhlIEdOVSBBR1BMIG5vcm1hbGx5CiByZXF1aXJlZCBieSBzZWN0aW9uIDQsIHByb3ZpZGVkIHlvdSBpbmNsdWRlIHRoaXMgbGljZW5zZSBub3RpY2UgYW5kIGEgVVJMCiB0aHJvdWdoIHdoaWNoIHJlY2lwaWVudHMgY2FuIGFjY2VzcyB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuCgogQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgQUdQTCwgYW55IEhUTUwgZmlsZSB3aGljaCBtZXJlbHkgbWFrZXMgZnVuY3Rpb24KIGNhbGxzIHRvIHRoaXMgY29kZSwgYW5kIGZvciB0aGF0IHB1cnBvc2UgaW5jbHVkZXMgaXQgaW4gdW5tb2RpZmllZCBmb3JtIGJ5IHJlZmVyZW5jZSBvciBpbi1saW5lIHNoYWxsIGJlCiBkZWVtZWQgYSBzZXBhcmF0ZSB3b3JrIGZvciBjb3B5cmlnaHQgbGF3IHB1cnBvc2VzLiBJbiBhZGRpdGlvbiwgdGhlIGNvcHlyaWdodAogaG9sZGVycyBvZiB0aGlzIGNvZGUgZ2l2ZSB5b3UgcGVybWlzc2lvbiB0byBjb21iaW5lIHRoaXMgY29kZSB3aXRoIGZyZWUKIHNvZnR3YXJlIGxpYnJhcmllcyB0aGF0IGFyZSByZWxlYXNlZCB1bmRlciB0aGUgR05VIExHUEwuIFlvdSBtYXkgY29weSBhbmQKIGRpc3RyaWJ1dGUgc3VjaCBhIHN5c3RlbSBmb2xsb3dpbmcgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQUdQTCBmb3IgdGhpcyBjb2RlCiBhbmQgdGhlIExHUEwgZm9yIHRoZSBsaWJyYXJpZXMuIElmIHlvdSBtb2RpZnkgdGhpcyBjb2RlLCB5b3UgbWF5IGV4dGVuZCB0aGlzCiBleGNlcHRpb24gdG8geW91ciB2ZXJzaW9uIG9mIHRoZSBjb2RlLCBidXQgeW91IGFyZSBub3Qgb2JsaWdhdGVkIHRvIGRvIHNvLgogSWYgeW91IGRvIG5vdCB3aXNoIHRvIGRvIHNvLCBkZWxldGUgdGhpcyBleGNlcHRpb24gc3RhdGVtZW50IGZyb20geW91cgogdmVyc2lvbi4KCiBUaGlzIGxpY2Vuc2UgYXBwbGllcyB0byB0aGlzIGVudGlyZSBjb21waWxhdGlvbi4KIEBsaWNlbmQKCiBAc291cmNlOiBodHRwOi8vd3d3LndlYm9kZi5vcmcvCiBAc291cmNlOiBodHRwczovL2dpdGh1Yi5jb20va29nbWJoL1dlYk9ERi8KKi8KdmFyIHdlYm9kZl92ZXJzaW9uPSIwLjUuOSI7ZnVuY3Rpb24gUnVudGltZSgpe31SdW50aW1lLnByb3RvdHlwZS5nZXRWYXJpYWJsZT1mdW5jdGlvbihnKXt9O1J1bnRpbWUucHJvdG90eXBlLnRvSnNvbj1mdW5jdGlvbihnKXt9O1J1bnRpbWUucHJvdG90eXBlLmZyb21Kc29uPWZ1bmN0aW9uKGcpe307UnVudGltZS5wcm90b3R5cGUuYnl0ZUFycmF5RnJvbVN0cmluZz1mdW5jdGlvbihnLGspe307UnVudGltZS5wcm90b3R5cGUuYnl0ZUFycmF5VG9TdHJpbmc9ZnVuY3Rpb24oZyxrKXt9O1J1bnRpbWUucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oZyxrLGQsYil7fTtSdW50aW1lLnByb3RvdHlwZS5yZWFkRmlsZT1mdW5jdGlvbihnLGssZCl7fTtSdW50aW1lLnByb3RvdHlwZS5yZWFkRmlsZVN5bmM9ZnVuY3Rpb24oZyxrKXt9O1J1bnRpbWUucHJvdG90eXBlLmxvYWRYTUw9ZnVuY3Rpb24oZyxrKXt9O1J1bnRpbWUucHJvdG90eXBlLndyaXRlRmlsZT1mdW5jdGlvbihnLGssZCl7fTsKUnVudGltZS5wcm90b3R5cGUuZGVsZXRlRmlsZT1mdW5jdGlvbihnLGspe307UnVudGltZS5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGcsayl7fTtSdW50aW1lLnByb3RvdHlwZS5zZXRUaW1lb3V0PWZ1bmN0aW9uKGcsayl7fTtSdW50aW1lLnByb3RvdHlwZS5jbGVhclRpbWVvdXQ9ZnVuY3Rpb24oZyl7fTtSdW50aW1lLnByb3RvdHlwZS5saWJyYXJ5UGF0aHM9ZnVuY3Rpb24oKXt9O1J1bnRpbWUucHJvdG90eXBlLmN1cnJlbnREaXJlY3Rvcnk9ZnVuY3Rpb24oKXt9O1J1bnRpbWUucHJvdG90eXBlLnNldEN1cnJlbnREaXJlY3Rvcnk9ZnVuY3Rpb24oZyl7fTtSdW50aW1lLnByb3RvdHlwZS50eXBlPWZ1bmN0aW9uKCl7fTtSdW50aW1lLnByb3RvdHlwZS5nZXRET01JbXBsZW1lbnRhdGlvbj1mdW5jdGlvbigpe307UnVudGltZS5wcm90b3R5cGUucGFyc2VYTUw9ZnVuY3Rpb24oZyl7fTtSdW50aW1lLnByb3RvdHlwZS5leGl0PWZ1bmN0aW9uKGcpe307ClJ1bnRpbWUucHJvdG90eXBlLmdldFdpbmRvdz1mdW5jdGlvbigpe307UnVudGltZS5wcm90b3R5cGUucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGcpe307UnVudGltZS5wcm90b3R5cGUuY2FuY2VsQW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oZyl7fTtSdW50aW1lLnByb3RvdHlwZS5hc3NlcnQ9ZnVuY3Rpb24oZyxrKXt9O3ZhciBJU19DT01QSUxFRF9DT0RFPSEwOwpSdW50aW1lLmJ5dGVBcnJheVRvU3RyaW5nPWZ1bmN0aW9uKGcsayl7ZnVuY3Rpb24gZChiKXt2YXIgZD0iIixyLHE9Yi5sZW5ndGg7Zm9yKHI9MDtyPHE7cis9MSlkKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGJbcl0mMjU1KTtyZXR1cm4gZH1mdW5jdGlvbiBiKGIpe3ZhciBkPSIiLHIscT1iLmxlbmd0aCxlPVtdLGwsYSxjLG07Zm9yKHI9Mzw9cSYmMjM5PT09YlswXSYmMTg3PT09YlsxXSYmMTkxPT09YlsyXT8zOjA7cjxxO3IrPTEpbD1iW3JdLDEyOD5sP2UucHVzaChsKToocis9MSxhPWJbcl0sMTk0PD1sJiYyMjQ+bD9lLnB1c2goKGwmMzEpPDw2fGEmNjMpOihyKz0xLGM9YltyXSwyMjQ8PWwmJjI0MD5sP2UucHVzaCgobCYxNSk8PDEyfChhJjYzKTw8NnxjJjYzKToocis9MSxtPWJbcl0sMjQwPD1sJiYyNDU+bCYmKGw9KGwmNyk8PDE4fChhJjYzKTw8MTJ8KGMmNjMpPDw2fG0mNjMsbC09NjU1MzYsZS5wdXNoKChsPj4xMCkrNTUyOTYsKGwmMTAyMykrNTYzMjApKSkpKSwxRTM8PWUubGVuZ3RoJiYKKGQrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKSxlLmxlbmd0aD0wKTtyZXR1cm4gZCtTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZSl9dmFyIGY7InV0ZjgiPT09az9mPWIoZyk6KCJiaW5hcnkiIT09ayYmdGhpcy5sb2coIlVuc3VwcG9ydGVkIGVuY29kaW5nOiAiK2spLGY9ZChnKSk7cmV0dXJuIGZ9O1J1bnRpbWUuZ2V0VmFyaWFibGU9ZnVuY3Rpb24oZyl7dHJ5e3JldHVybiBldmFsKGcpfWNhdGNoKGspe319O1J1bnRpbWUudG9Kc29uPWZ1bmN0aW9uKGcpe3JldHVybiBKU09OLnN0cmluZ2lmeShnKX07UnVudGltZS5mcm9tSnNvbj1mdW5jdGlvbihnKXtyZXR1cm4gSlNPTi5wYXJzZShnKX07UnVudGltZS5nZXRGdW5jdGlvbk5hbWU9ZnVuY3Rpb24oZyl7cmV0dXJuIHZvaWQgMD09PWcubmFtZT8oZz0vZnVuY3Rpb25ccysoXHcrKS8uZXhlYyhnKSkmJmdbMV06Zy5uYW1lfTsKUnVudGltZS5hc3NlcnQ9ZnVuY3Rpb24oZyxrKXtpZighZyl0aHJvdyB0aGlzLmxvZygiYWxlcnQiLCJBU1NFUlRJT04gRkFJTEVEOlxuIitrKSxFcnJvcihrKTt9OwpmdW5jdGlvbiBCcm93c2VyUnVudGltZSgpe2Z1bmN0aW9uIGcoYil7dmFyIGU9Yi5sZW5ndGgsbCxhLGM9MDtmb3IobD0wO2w8ZTtsKz0xKWE9Yi5jaGFyQ29kZUF0KGwpLGMrPTErKDEyODxhKSsoMjA0ODxhKSw1NTA0MDxhJiY1NzM0ND5hJiYoYys9MSxsKz0xKTtyZXR1cm4gY31mdW5jdGlvbiBrKGIsZSxsKXt2YXIgYT1iLmxlbmd0aCxjLG07ZT1uZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZmZXIoZSkpO2w/KGVbMF09MjM5LGVbMV09MTg3LGVbMl09MTkxLG09Myk6bT0wO2ZvcihsPTA7bDxhO2wrPTEpYz1iLmNoYXJDb2RlQXQobCksMTI4PmM/KGVbbV09YyxtKz0xKToyMDQ4PmM/KGVbbV09MTkyfGM+Pj42LGVbbSsxXT0xMjh8YyY2MyxtKz0yKTo1NTA0MD49Y3x8NTczNDQ8PWM/KGVbbV09MjI0fGM+Pj4xMiYxNSxlW20rMV09MTI4fGM+Pj42JjYzLGVbbSsyXT0xMjh8YyY2MyxtKz0zKToobCs9MSxjPShjLTU1Mjk2PDwxMHxiLmNoYXJDb2RlQXQobCktNTYzMjApKzY1NTM2LAplW21dPTI0MHxjPj4+MTgmNyxlW20rMV09MTI4fGM+Pj4xMiY2MyxlW20rMl09MTI4fGM+Pj42JjYzLGVbbSszXT0xMjh8YyY2MyxtKz00KTtyZXR1cm4gZX1mdW5jdGlvbiBkKGIpe3ZhciBlPWIubGVuZ3RoLGw9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKGUpKSxhO2ZvcihhPTA7YTxlO2ErPTEpbFthXT1iLmNoYXJDb2RlQXQoYSkmMjU1O3JldHVybiBsfWZ1bmN0aW9uIGIoYixlKXt2YXIgbDt2b2lkIDAhPT1lP2w9YjplPWI7Y29uc29sZS5sb2coZSk7ci5lbmFibGVBbGVydHMmJiJhbGVydCI9PT1sJiZhbGVydChlKX1mdW5jdGlvbiBmKGIsZSxsKXtpZigwIT09bC5zdGF0dXN8fGwucmVzcG9uc2VUZXh0KWlmKDIwMD09PWwuc3RhdHVzfHwwPT09bC5zdGF0dXMpe2lmKGwucmVzcG9uc2UmJiJzdHJpbmciIT09dHlwZW9mIGwucmVzcG9uc2UpImJpbmFyeSI9PT1lPyhsPWwucmVzcG9uc2UsbD1uZXcgVWludDhBcnJheShsKSk6bD1TdHJpbmcobC5yZXNwb25zZSk7ZWxzZSBpZigiYmluYXJ5Ij09PQplKWlmKG51bGwhPT1sLnJlc3BvbnNlQm9keSYmInVuZGVmaW5lZCIhPT1TdHJpbmcodHlwZW9mIFZCQXJyYXkpKXtsPShuZXcgVkJBcnJheShsLnJlc3BvbnNlQm9keSkpLnRvQXJyYXkoKTt2YXIgYT1sLmxlbmd0aDtlPW5ldyBVaW50OEFycmF5KG5ldyBBcnJheUJ1ZmZlcihhKSk7Zm9yKGI9MDtiPGE7Yis9MSllW2JdPWxbYl07bD1lfWVsc2V7KGI9bC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1MZW5ndGgiKSkmJihiPXBhcnNlSW50KGIsMTApKTtpZihiJiZiIT09bC5yZXNwb25zZVRleHQubGVuZ3RoKWE6e2E9bC5yZXNwb25zZVRleHQ7ZT0hMTt2YXIgYz1nKGEpO2lmKCJudW1iZXIiPT09dHlwZW9mIGIpe2lmKGIhPT1jJiZiIT09YyszKXthPXZvaWQgMDticmVhayBhfWU9YyszPT09YjtjPWJ9YT1rKGEsYyxlKX12b2lkIDA9PT1hJiYoYT1kKGwucmVzcG9uc2VUZXh0KSk7bD1hfWVsc2UgbD1sLnJlc3BvbnNlVGV4dDtsPXtlcnI6bnVsbCxkYXRhOmx9fWVsc2UgbD17ZXJyOmwucmVzcG9uc2VUZXh0fHwKbC5zdGF0dXNUZXh0LGRhdGE6bnVsbH07ZWxzZSBsPXtlcnI6IkZpbGUgIitiKyIgaXMgZW1wdHkuIixkYXRhOm51bGx9O3JldHVybiBsfWZ1bmN0aW9uIG4oYixlLGwpe3ZhciBhPW5ldyBYTUxIdHRwUmVxdWVzdDthLm9wZW4oIkdFVCIsYixsKTthLm92ZXJyaWRlTWltZVR5cGUmJigiYmluYXJ5IiE9PWU/YS5vdmVycmlkZU1pbWVUeXBlKCJ0ZXh0L3BsYWluOyBjaGFyc2V0PSIrZSk6YS5vdmVycmlkZU1pbWVUeXBlKCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkIikpO3JldHVybiBhfWZ1bmN0aW9uIHAoYixlLGwpe3ZhciBhPW4oYixlLCEwKTthLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3ZhciBjOzQ9PT1hLnJlYWR5U3RhdGUmJihjPWYoYixlLGEpLGwoYy5lcnIsYy5kYXRhKSl9O3RyeXthLnNlbmQobnVsbCl9Y2F0Y2goYyl7bChjLm1lc3NhZ2UsbnVsbCl9fXZhciByPXRoaXM7dGhpcy5ieXRlQXJyYXlGcm9tU3RyaW5nPWZ1bmN0aW9uKGIsZSl7dmFyIGw7CiJ1dGY4Ij09PWU/bD1rKGIsZyhiKSwhMSk6KCJiaW5hcnkiIT09ZSYmci5sb2coInVua25vd24gZW5jb2Rpbmc6ICIrZSksbD1kKGIpKTtyZXR1cm4gbH07dGhpcy5ieXRlQXJyYXlUb1N0cmluZz1SdW50aW1lLmJ5dGVBcnJheVRvU3RyaW5nO3RoaXMuZ2V0VmFyaWFibGU9UnVudGltZS5nZXRWYXJpYWJsZTt0aGlzLmZyb21Kc29uPVJ1bnRpbWUuZnJvbUpzb247dGhpcy50b0pzb249UnVudGltZS50b0pzb247dGhpcy5yZWFkRmlsZT1wO3RoaXMucmVhZD1mdW5jdGlvbihiLGUsbCxhKXtwKGIsImJpbmFyeSIsZnVuY3Rpb24oYyxtKXt2YXIgaD1udWxsO2lmKG0pe2lmKCJzdHJpbmciPT09dHlwZW9mIG0pdGhyb3ciVGhpcyBzaG91bGQgbm90IGhhcHBlbi4iO2g9bS5zdWJhcnJheShlLGUrbCl9YShjLGgpfSl9O3RoaXMucmVhZEZpbGVTeW5jPWZ1bmN0aW9uKGIsZSl7dmFyIGw9bihiLGUsITEpLGE7dHJ5e2wuc2VuZChudWxsKTthPWYoYixlLGwpO2lmKGEuZXJyKXRocm93IGEuZXJyOwppZihudWxsPT09YS5kYXRhKXRocm93Ik5vIGRhdGEgcmVhZCBmcm9tICIrYisiLiI7fWNhdGNoKGMpe3Rocm93IGM7fXJldHVybiBhLmRhdGF9O3RoaXMud3JpdGVGaWxlPWZ1bmN0aW9uKGIsZSxsKXt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3QsYzthLm9wZW4oIlBVVCIsYiwhMCk7YS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09YS5yZWFkeVN0YXRlJiYoMCE9PWEuc3RhdHVzfHxhLnJlc3BvbnNlVGV4dD8yMDA8PWEuc3RhdHVzJiYzMDA+YS5zdGF0dXN8fDA9PT1hLnN0YXR1cz9sKG51bGwpOmwoIlN0YXR1cyAiK1N0cmluZyhhLnN0YXR1cykrIjogIithLnJlc3BvbnNlVGV4dHx8YS5zdGF0dXNUZXh0KTpsKCJGaWxlICIrYisiIGlzIGVtcHR5LiIpKX07Yz1lLmJ1ZmZlciYmIWEuc2VuZEFzQmluYXJ5P2UuYnVmZmVyOnIuYnl0ZUFycmF5VG9TdHJpbmcoZSwiYmluYXJ5Iik7dHJ5e2Euc2VuZEFzQmluYXJ5P2Euc2VuZEFzQmluYXJ5KGMpOmEuc2VuZChjKX1jYXRjaChtKXtyLmxvZygiSFVIPyAiKwptKyIgIitlKSxsKG0ubWVzc2FnZSl9fTt0aGlzLmRlbGV0ZUZpbGU9ZnVuY3Rpb24oYixlKXt2YXIgbD1uZXcgWE1MSHR0cFJlcXVlc3Q7bC5vcGVuKCJERUxFVEUiLGIsITApO2wub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWwucmVhZHlTdGF0ZSYmKDIwMD5sLnN0YXR1cyYmMzAwPD1sLnN0YXR1cz9lKGwucmVzcG9uc2VUZXh0KTplKG51bGwpKX07bC5zZW5kKG51bGwpfTt0aGlzLmxvYWRYTUw9ZnVuY3Rpb24oYixlKXt2YXIgbD1uZXcgWE1MSHR0cFJlcXVlc3Q7bC5vcGVuKCJHRVQiLGIsITApO2wub3ZlcnJpZGVNaW1lVHlwZSYmbC5vdmVycmlkZU1pbWVUeXBlKCJ0ZXh0L3htbCIpO2wub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWwucmVhZHlTdGF0ZSYmKDAhPT1sLnN0YXR1c3x8bC5yZXNwb25zZVRleHQ/MjAwPT09bC5zdGF0dXN8fDA9PT1sLnN0YXR1cz9lKG51bGwsbC5yZXNwb25zZVhNTCk6ZShsLnJlc3BvbnNlVGV4dCxudWxsKTplKCJGaWxlICIrCmIrIiBpcyBlbXB0eS4iLG51bGwpKX07dHJ5e2wuc2VuZChudWxsKX1jYXRjaChhKXtlKGEubWVzc2FnZSxudWxsKX19O3RoaXMubG9nPWI7dGhpcy5lbmFibGVBbGVydHM9ITA7dGhpcy5hc3NlcnQ9UnVudGltZS5hc3NlcnQ7dGhpcy5zZXRUaW1lb3V0PWZ1bmN0aW9uKGIsZSl7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LGUpfTt0aGlzLmNsZWFyVGltZW91dD1mdW5jdGlvbihiKXtjbGVhclRpbWVvdXQoYil9O3RoaXMubGlicmFyeVBhdGhzPWZ1bmN0aW9uKCl7cmV0dXJuWyJsaWIiXX07dGhpcy5zZXRDdXJyZW50RGlyZWN0b3J5PWZ1bmN0aW9uKCl7fTt0aGlzLmN1cnJlbnREaXJlY3Rvcnk9ZnVuY3Rpb24oKXtyZXR1cm4iIn07dGhpcy50eXBlPWZ1bmN0aW9uKCl7cmV0dXJuIkJyb3dzZXJSdW50aW1lIn07dGhpcy5nZXRET01JbXBsZW1lbnRhdGlvbj1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZG9jdW1lbnQuaW1wbGVtZW50YXRpb259O3RoaXMucGFyc2VYTUw9CmZ1bmN0aW9uKGIpe3JldHVybihuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKX07dGhpcy5leGl0PWZ1bmN0aW9uKGQpe2IoIkNhbGxpbmcgZXhpdCB3aXRoIGNvZGUgIitTdHJpbmcoZCkrIiwgYnV0IGV4aXQoKSBpcyBub3QgaW1wbGVtZW50ZWQuIil9O3RoaXMuZ2V0V2luZG93PWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvd307dGhpcy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYil7dmFyIGU9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1zUmVxdWVzdEFuaW1hdGlvbkZyYW1lLGw9MDtpZihlKWUuYmluZCh3aW5kb3cpLGw9ZShiKTtlbHNlIHJldHVybiBzZXRUaW1lb3V0KGIsMTUpO3JldHVybiBsfTt0aGlzLmNhbmNlbEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGIpe3ZhciBlPXdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZXx8CndpbmRvdy53ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZXx8d2luZG93Lm1vekNhbmNlbEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubXNDYW5jZWxBbmltYXRpb25GcmFtZTtlPyhlLmJpbmQod2luZG93KSxlKGIpKTpjbGVhclRpbWVvdXQoYil9fQpmdW5jdGlvbiBOb2RlSlNSdW50aW1lKCl7ZnVuY3Rpb24gZyhiKXt2YXIgZT1iLmxlbmd0aCxsLGE9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKGUpKTtmb3IobD0wO2w8ZTtsKz0xKWFbbF09YltsXTtyZXR1cm4gYX1mdW5jdGlvbiBrKGQsZSxsKXtmdW5jdGlvbiBhKGEsbSl7aWYoYSlyZXR1cm4gbChhLG51bGwpO2lmKCFtKXJldHVybiBsKCJObyBkYXRhIGZvciAiK2QrIi4iLG51bGwpO2lmKCJzdHJpbmciPT09dHlwZW9mIG0pcmV0dXJuIGwoYSxtKTtsKGEsZyhtKSl9ZD1mLnJlc29sdmUobixkKTsiYmluYXJ5IiE9PWU/Yi5yZWFkRmlsZShkLGUsYSk6Yi5yZWFkRmlsZShkLG51bGwsYSl9dmFyIGQ9dGhpcyxiPXJlcXVpcmUoImZzIiksZj1yZXF1aXJlKCJwYXRoIiksbj0iIixwLHI7dGhpcy5ieXRlQXJyYXlGcm9tU3RyaW5nPWZ1bmN0aW9uKGIsZSl7dmFyIGw9bmV3IEJ1ZmZlcihiLGUpLGEsYz1sLmxlbmd0aCxtPW5ldyBVaW50OEFycmF5KG5ldyBBcnJheUJ1ZmZlcihjKSk7CmZvcihhPTA7YTxjO2ErPTEpbVthXT1sW2FdO3JldHVybiBtfTt0aGlzLmJ5dGVBcnJheVRvU3RyaW5nPVJ1bnRpbWUuYnl0ZUFycmF5VG9TdHJpbmc7dGhpcy5nZXRWYXJpYWJsZT1SdW50aW1lLmdldFZhcmlhYmxlO3RoaXMuZnJvbUpzb249UnVudGltZS5mcm9tSnNvbjt0aGlzLnRvSnNvbj1SdW50aW1lLnRvSnNvbjt0aGlzLnJlYWRGaWxlPWs7dGhpcy5sb2FkWE1MPWZ1bmN0aW9uKGIsZSl7ayhiLCJ1dGYtOCIsZnVuY3Rpb24obCxhKXtpZihsKXJldHVybiBlKGwsbnVsbCk7aWYoIWEpcmV0dXJuIGUoIk5vIGRhdGEgZm9yICIrYisiLiIsbnVsbCk7ZShudWxsLGQucGFyc2VYTUwoYSkpfSl9O3RoaXMud3JpdGVGaWxlPWZ1bmN0aW9uKGQsZSxsKXtlPW5ldyBCdWZmZXIoZSk7ZD1mLnJlc29sdmUobixkKTtiLndyaXRlRmlsZShkLGUsImJpbmFyeSIsZnVuY3Rpb24oYSl7bChhfHxudWxsKX0pfTt0aGlzLmRlbGV0ZUZpbGU9ZnVuY3Rpb24oZCxlKXtkPWYucmVzb2x2ZShuLGQpOwpiLnVubGluayhkLGUpfTt0aGlzLnJlYWQ9ZnVuY3Rpb24oZCxlLGwsYSl7ZD1mLnJlc29sdmUobixkKTtiLm9wZW4oZCwicisiLDY2NixmdW5jdGlvbihjLG0pe2lmKGMpYShjLG51bGwpO2Vsc2V7dmFyIGg9bmV3IEJ1ZmZlcihsKTtiLnJlYWQobSxoLDAsbCxlLGZ1bmN0aW9uKGMpe2IuY2xvc2UobSk7YShjLGcoaCkpfSl9fSl9O3RoaXMucmVhZEZpbGVTeW5jPWZ1bmN0aW9uKGQsZSl7dmFyIGw7bD1iLnJlYWRGaWxlU3luYyhkLCJiaW5hcnkiPT09ZT9udWxsOmUpO2lmKG51bGw9PT1sKXRocm93IkZpbGUgIitkKyIgY291bGQgbm90IGJlIHJlYWQuIjsiYmluYXJ5Ij09PWUmJihsPWcobCkpO3JldHVybiBsfTt0aGlzLmxvZz1mdW5jdGlvbihiLGUpe3ZhciBsO3ZvaWQgMCE9PWU/bD1iOmU9YjsiYWxlcnQiPT09bCYmcHJvY2Vzcy5zdGRlcnIud3JpdGUoIlxuISEhISEgQUxFUlQgISEhISFcbiIpO3Byb2Nlc3Muc3RkZXJyLndyaXRlKGUrIlxuIik7ImFsZXJ0Ij09PWwmJnByb2Nlc3Muc3RkZXJyLndyaXRlKCIhISEhISBBTEVSVCAhISEhIVxuIil9Owp0aGlzLmFzc2VydD1SdW50aW1lLmFzc2VydDt0aGlzLnNldFRpbWVvdXQ9ZnVuY3Rpb24oYixlKXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe2IoKX0sZSl9O3RoaXMuY2xlYXJUaW1lb3V0PWZ1bmN0aW9uKGIpe2NsZWFyVGltZW91dChiKX07dGhpcy5saWJyYXJ5UGF0aHM9ZnVuY3Rpb24oKXtyZXR1cm5bX19kaXJuYW1lXX07dGhpcy5zZXRDdXJyZW50RGlyZWN0b3J5PWZ1bmN0aW9uKGIpe249Yn07dGhpcy5jdXJyZW50RGlyZWN0b3J5PWZ1bmN0aW9uKCl7cmV0dXJuIG59O3RoaXMudHlwZT1mdW5jdGlvbigpe3JldHVybiJOb2RlSlNSdW50aW1lIn07dGhpcy5nZXRET01JbXBsZW1lbnRhdGlvbj1mdW5jdGlvbigpe3JldHVybiByfTt0aGlzLnBhcnNlWE1MPWZ1bmN0aW9uKGIpe3JldHVybiBwLnBhcnNlRnJvbVN0cmluZyhiLCJ0ZXh0L3htbCIpfTt0aGlzLmV4aXQ9cHJvY2Vzcy5leGl0O3RoaXMuZ2V0V2luZG93PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O3RoaXMucmVxdWVzdEFuaW1hdGlvbkZyYW1lPQpmdW5jdGlvbihiKXtyZXR1cm4gc2V0VGltZW91dChiLDE1KX07dGhpcy5jYW5jZWxBbmltYXRpb25GcmFtZT1mdW5jdGlvbihiKXtjbGVhclRpbWVvdXQoYil9O3A9bmV3IChyZXF1aXJlKCJ4bWxkb20iKS5ET01QYXJzZXIpO3I9ZC5wYXJzZVhNTCgiPGEvPiIpLmltcGxlbWVudGF0aW9ufQpmdW5jdGlvbiBSaGlub1J1bnRpbWUoKXt2YXIgZz10aGlzLGs9e30sZD1rLmphdmF4LnhtbC5wYXJzZXJzLkRvY3VtZW50QnVpbGRlckZhY3RvcnkubmV3SW5zdGFuY2UoKSxiLGYsbj0iIjtkLnNldFZhbGlkYXRpbmcoITEpO2Quc2V0TmFtZXNwYWNlQXdhcmUoITApO2Quc2V0RXhwYW5kRW50aXR5UmVmZXJlbmNlcyghMSk7ZC5zZXRTY2hlbWEobnVsbCk7Zj1rLm9yZy54bWwuc2F4LkVudGl0eVJlc29sdmVyKHtyZXNvbHZlRW50aXR5OmZ1bmN0aW9uKGIsZCl7dmFyIGY9bmV3IGsuamF2YS5pby5GaWxlUmVhZGVyKGQpO3JldHVybiBuZXcgay5vcmcueG1sLnNheC5JbnB1dFNvdXJjZShmKX19KTtiPWQubmV3RG9jdW1lbnRCdWlsZGVyKCk7Yi5zZXRFbnRpdHlSZXNvbHZlcihmKTt0aGlzLmJ5dGVBcnJheUZyb21TdHJpbmc9ZnVuY3Rpb24oYixkKXt2YXIgZixlPWIubGVuZ3RoLGw9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKGUpKTtmb3IoZj0wO2Y8ZTtmKz0xKWxbZl09CmIuY2hhckNvZGVBdChmKSYyNTU7cmV0dXJuIGx9O3RoaXMuYnl0ZUFycmF5VG9TdHJpbmc9UnVudGltZS5ieXRlQXJyYXlUb1N0cmluZzt0aGlzLmdldFZhcmlhYmxlPVJ1bnRpbWUuZ2V0VmFyaWFibGU7dGhpcy5mcm9tSnNvbj1SdW50aW1lLmZyb21Kc29uO3RoaXMudG9Kc29uPVJ1bnRpbWUudG9Kc29uO3RoaXMubG9hZFhNTD1mdW5jdGlvbihkLGYpe3ZhciBuPW5ldyBrLmphdmEuaW8uRmlsZShkKSxlPW51bGw7dHJ5e2U9Yi5wYXJzZShuKX1jYXRjaChsKXtyZXR1cm4gcHJpbnQobCksZihsLG51bGwpfWYobnVsbCxlKX07dGhpcy5yZWFkRmlsZT1mdW5jdGlvbihiLGQsZil7biYmKGI9bisiLyIrYik7dmFyIGU9bmV3IGsuamF2YS5pby5GaWxlKGIpLGw9ImJpbmFyeSI9PT1kPyJsYXRpbjEiOmQ7ZS5pc0ZpbGUoKT8oKGI9cmVhZEZpbGUoYixsKSkmJiJiaW5hcnkiPT09ZCYmKGI9Zy5ieXRlQXJyYXlGcm9tU3RyaW5nKGIsImJpbmFyeSIpKSxmKG51bGwsYikpOmYoYisiIGlzIG5vdCBhIGZpbGUuIiwKbnVsbCl9O3RoaXMud3JpdGVGaWxlPWZ1bmN0aW9uKGIsZCxmKXtuJiYoYj1uKyIvIitiKTtiPW5ldyBrLmphdmEuaW8uRmlsZU91dHB1dFN0cmVhbShiKTt2YXIgZSxsPWQubGVuZ3RoO2ZvcihlPTA7ZTxsO2UrPTEpYi53cml0ZShkW2VdKTtiLmNsb3NlKCk7ZihudWxsKX07dGhpcy5kZWxldGVGaWxlPWZ1bmN0aW9uKGIsZCl7biYmKGI9bisiLyIrYik7dmFyIGY9bmV3IGsuamF2YS5pby5GaWxlKGIpLGU9YitNYXRoLnJhbmRvbSgpLGU9bmV3IGsuamF2YS5pby5GaWxlKGUpO2YucmVuYW1lKGUpPyhlLmRlbGV0ZU9uRXhpdCgpLGQobnVsbCkpOmQoIkNvdWxkIG5vdCBkZWxldGUgIitiKX07dGhpcy5yZWFkPWZ1bmN0aW9uKGIsZCxmLGUpe24mJihiPW4rIi8iK2IpO3ZhciBsO2w9Yjt2YXIgYT0iYmluYXJ5IjsobmV3IGsuamF2YS5pby5GaWxlKGwpKS5pc0ZpbGUoKT8oImJpbmFyeSI9PT1hJiYoYT0ibGF0aW4xIiksbD1yZWFkRmlsZShsLGEpKTpsPW51bGw7bD9lKG51bGwsdGhpcy5ieXRlQXJyYXlGcm9tU3RyaW5nKGwuc3Vic3RyaW5nKGQsCmQrZiksImJpbmFyeSIpKTplKCJDYW5ub3QgcmVhZCAiK2IsbnVsbCl9O3RoaXMucmVhZEZpbGVTeW5jPWZ1bmN0aW9uKGIsZCl7aWYoIWQpcmV0dXJuIiI7dmFyIGY9cmVhZEZpbGUoYixkKTtpZihudWxsPT09Zil0aHJvdyJGaWxlIGNvdWxkIG5vdCBiZSByZWFkLiI7cmV0dXJuIGZ9O3RoaXMubG9nPWZ1bmN0aW9uKGIsZCl7dmFyIGY7dm9pZCAwIT09ZD9mPWI6ZD1iOyJhbGVydCI9PT1mJiZwcmludCgiXG4hISEhISBBTEVSVCAhISEhISIpO3ByaW50KGQpOyJhbGVydCI9PT1mJiZwcmludCgiISEhISEgQUxFUlQgISEhISEiKX07dGhpcy5hc3NlcnQ9UnVudGltZS5hc3NlcnQ7dGhpcy5zZXRUaW1lb3V0PWZ1bmN0aW9uKGIpe2IoKTtyZXR1cm4gMH07dGhpcy5jbGVhclRpbWVvdXQ9ZnVuY3Rpb24oKXt9O3RoaXMubGlicmFyeVBhdGhzPWZ1bmN0aW9uKCl7cmV0dXJuWyJsaWIiXX07dGhpcy5zZXRDdXJyZW50RGlyZWN0b3J5PWZ1bmN0aW9uKGIpe249Yn07dGhpcy5jdXJyZW50RGlyZWN0b3J5PQpmdW5jdGlvbigpe3JldHVybiBufTt0aGlzLnR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4iUmhpbm9SdW50aW1lIn07dGhpcy5nZXRET01JbXBsZW1lbnRhdGlvbj1mdW5jdGlvbigpe3JldHVybiBiLmdldERPTUltcGxlbWVudGF0aW9uKCl9O3RoaXMucGFyc2VYTUw9ZnVuY3Rpb24oZCl7ZD1uZXcgay5qYXZhLmlvLlN0cmluZ1JlYWRlcihkKTtkPW5ldyBrLm9yZy54bWwuc2F4LklucHV0U291cmNlKGQpO3JldHVybiBiLnBhcnNlKGQpfTt0aGlzLmV4aXQ9cXVpdDt0aGlzLmdldFdpbmRvdz1mdW5jdGlvbigpe3JldHVybiBudWxsfTt0aGlzLnJlcXVlc3RBbmltYXRpb25GcmFtZT1mdW5jdGlvbihiKXtiKCk7cmV0dXJuIDB9O3RoaXMuY2FuY2VsQW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oKXt9fQpSdW50aW1lLmNyZWF0ZT1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT09U3RyaW5nKHR5cGVvZiB3aW5kb3cpP25ldyBCcm93c2VyUnVudGltZToidW5kZWZpbmVkIiE9PVN0cmluZyh0eXBlb2YgcmVxdWlyZSk/bmV3IE5vZGVKU1J1bnRpbWU6bmV3IFJoaW5vUnVudGltZX07dmFyIHJ1bnRpbWU9UnVudGltZS5jcmVhdGUoKSxjb3JlPXt9LGd1aT17fSx4bWxkb209e30sb2RmPXt9LG9wcz17fSx3ZWJvZGY9e307KGZ1bmN0aW9uKCl7d2Vib2RmLlZlcnNpb249InVuZGVmaW5lZCIhPT1TdHJpbmcodHlwZW9mIHdlYm9kZl92ZXJzaW9uKT93ZWJvZGZfdmVyc2lvbjoiRnJvbSBTb3VyY2UifSkoKTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGQsZSl7dmFyIGw9YisiL21hbmlmZXN0Lmpzb24iLGEsYztydW50aW1lLmxvZygiTG9hZGluZyBtYW5pZmVzdDogIitsKTt0cnl7YT1ydW50aW1lLnJlYWRGaWxlU3luYyhsLCJ1dGYtOCIpfWNhdGNoKG0pe2lmKGUpcnVudGltZS5sb2coIk5vIGxvYWRhYmxlIG1hbmlmZXN0IGZvdW5kLiIpO2Vsc2UgdGhyb3cgY29uc29sZS5sb2coU3RyaW5nKG0pKSxtO3JldHVybn1lPUpTT04ucGFyc2UoYSk7Zm9yKGMgaW4gZSllLmhhc093blByb3BlcnR5KGMpJiYoZFtjXT17ZGlyOmIsZGVwczplW2NdfSl9ZnVuY3Rpb24gayhiLGQsZSl7ZnVuY3Rpb24gbChoKXtpZighbVtoXSYmIWUoaCkpe2lmKGNbaF0pdGhyb3ciQ2lyY3VsYXIgZGVwZW5kZW5jeSBkZXRlY3RlZCBmb3IgIitoKyIuIjtjW2hdPSEwO2lmKCFkW2hdKXRocm93Ik1pc3NpbmcgZGVwZW5kZW5jeSBpbmZvcm1hdGlvbiBmb3IgY2xhc3MgIitoKyIuIjt2YXIgYj1kW2hdLGY9Yi5kZXBzLApuLHI9Zi5sZW5ndGg7Zm9yKG49MDtuPHI7bis9MSlsKGZbbl0pO2NbaF09ITE7bVtoXT0hMDthLnB1c2goYi5kaXIrIi8iK2gucmVwbGFjZSgiLiIsIi8iKSsiLmpzIil9fXZhciBhPVtdLGM9e30sbT17fTtiLmZvckVhY2gobCk7cmV0dXJuIGF9ZnVuY3Rpb24gZChiLGQpe3JldHVybiBkKygiXG4vLyMgc291cmNlVVJMPSIrYil9ZnVuY3Rpb24gYihiKXt2YXIgZixlO2ZvcihmPTA7ZjxiLmxlbmd0aDtmKz0xKWU9cnVudGltZS5yZWFkRmlsZVN5bmMoYltmXSwidXRmLTgiKSxlPWQoYltmXSxlKSxldmFsKGUpfWZ1bmN0aW9uIGYoYil7Yj1iLnNwbGl0KCIuIik7dmFyIGQsZT1wLGw9Yi5sZW5ndGg7Zm9yKGQ9MDtkPGw7ZCs9MSl7aWYoIWUuaGFzT3duUHJvcGVydHkoYltkXSkpcmV0dXJuITE7ZT1lW2JbZF1dfXJldHVybiEwfXZhciBuLHA9e2NvcmU6Y29yZSxndWk6Z3VpLHhtbGRvbTp4bWxkb20sb2RmOm9kZixvcHM6b3BzfTtydW50aW1lLmxvYWRDbGFzc2VzPWZ1bmN0aW9uKGQsCnApe2lmKElTX0NPTVBJTEVEX0NPREV8fDA9PT1kLmxlbmd0aClyZXR1cm4gcCYmcCgpO3ZhciBlO2lmKCEoZT1uKSl7ZT1bXTt2YXIgbD1ydW50aW1lLmxpYnJhcnlQYXRocygpLGE7cnVudGltZS5jdXJyZW50RGlyZWN0b3J5KCkmJi0xPT09bC5pbmRleE9mKHJ1bnRpbWUuY3VycmVudERpcmVjdG9yeSgpKSYmZyhydW50aW1lLmN1cnJlbnREaXJlY3RvcnkoKSxlLCEwKTtmb3IoYT0wO2E8bC5sZW5ndGg7YSs9MSlnKGxbYV0sZSl9bj1lO2Q9ayhkLG4sZik7aWYoMD09PWQubGVuZ3RoKXJldHVybiBwJiZwKCk7aWYoIkJyb3dzZXJSdW50aW1lIj09PXJ1bnRpbWUudHlwZSgpJiZwKXtlPWQ7bD1kb2N1bWVudC5jdXJyZW50U2NyaXB0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFzdENoaWxkO2E9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO3ZhciBjLG07Zm9yKG09MDttPGUubGVuZ3RoO20rPTEpYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxjLnR5cGU9CiJ0ZXh0L2phdmFzY3JpcHQiLGMuY2hhcnNldD0idXRmLTgiLGMuYXN5bmM9ITEsYy5zZXRBdHRyaWJ1dGUoInNyYyIsZVttXSksYS5hcHBlbmRDaGlsZChjKTtwJiYoYy5vbmxvYWQ9cCk7bC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGwpfWVsc2UgYihkKSxwJiZwKCl9O3J1bnRpbWUubG9hZENsYXNzPWZ1bmN0aW9uKGIsZCl7cnVudGltZS5sb2FkQ2xhc3NlcyhbYl0sZCl9fSkoKTsoZnVuY3Rpb24oKXt2YXIgZz1mdW5jdGlvbihnKXtyZXR1cm4gZ307cnVudGltZS5nZXRUcmFuc2xhdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGd9O3J1bnRpbWUuc2V0VHJhbnNsYXRvcj1mdW5jdGlvbihrKXtnPWt9O3J1bnRpbWUudHI9ZnVuY3Rpb24oayl7dmFyIGQ9ZyhrKTtyZXR1cm4gZCYmInN0cmluZyI9PT1TdHJpbmcodHlwZW9mIGQpP2Q6a319KSgpOwooZnVuY3Rpb24oZyl7ZnVuY3Rpb24gayhkKXtpZihkLmxlbmd0aCl7dmFyIGI9ZFswXTtydW50aW1lLnJlYWRGaWxlKGIsInV0ZjgiLGZ1bmN0aW9uKGYsbil7ZnVuY3Rpb24gZygpe3ZhciBiOyhiPWV2YWwoaykpJiZydW50aW1lLmV4aXQoYil9dmFyIHI9IiIscj1iLmxhc3RJbmRleE9mKCIvIiksaz1uLHI9LTEhPT1yP2Iuc3Vic3RyaW5nKDAscik6Ii4iO3J1bnRpbWUuc2V0Q3VycmVudERpcmVjdG9yeShyKTtmPyhydW50aW1lLmxvZyhmKSxydW50aW1lLmV4aXQoMSkpOm51bGw9PT1rPyhydW50aW1lLmxvZygiTm8gY29kZSBmb3VuZCBmb3IgIitiKSxydW50aW1lLmV4aXQoMSkpOmcuYXBwbHkobnVsbCxkKX0pfX1nPWc/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZyk6W107Ik5vZGVKU1J1bnRpbWUiPT09cnVudGltZS50eXBlKCk/ayhwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpOiJSaGlub1J1bnRpbWUiPT09cnVudGltZS50eXBlKCk/ayhnKTprKGcuc2xpY2UoMSkpfSkoInVuZGVmaW5lZCIhPT0KU3RyaW5nKHR5cGVvZiBhcmd1bWVudHMpJiZhcmd1bWVudHMpOyhmdW5jdGlvbigpe2NvcmUuQXN5bmM9ZnVuY3Rpb24oKXtyZXR1cm57Zm9yRWFjaDpmdW5jdGlvbihnLGssZCl7ZnVuY3Rpb24gYihiKXtwIT09biYmKGI/KHA9bixkKGIpKToocCs9MSxwPT09biYmZChudWxsKSkpfXZhciBmLG49Zy5sZW5ndGgscD0wO2ZvcihmPTA7ZjxuO2YrPTEpayhnW2ZdLGIpfSxkZXN0cm95QWxsOmZ1bmN0aW9uKGcsayl7ZnVuY3Rpb24gZChiLGYpe2lmKGYpayhmKTtlbHNlIGlmKGI8Zy5sZW5ndGgpZ1tiXShmdW5jdGlvbihmKXtkKGIrMSxmKX0pO2Vsc2UgaygpfWQoMCx2b2lkIDApfX19KCl9KSgpOwpmdW5jdGlvbiBtYWtlQmFzZTY0KCl7ZnVuY3Rpb24gZyhhKXt2YXIgYyxtPWEubGVuZ3RoLGg9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKG0pKTtmb3IoYz0wO2M8bTtjKz0xKWhbY109YS5jaGFyQ29kZUF0KGMpJjI1NTtyZXR1cm4gaH1mdW5jdGlvbiBrKGEpe3ZhciBjLG09IiIsaCxiPWEubGVuZ3RoLTI7Zm9yKGg9MDtoPGI7aCs9MyljPWFbaF08PDE2fGFbaCsxXTw8OHxhW2grMl0sbSs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iW2M+Pj4xOF0sbSs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iW2M+Pj4xMiY2M10sbSs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iW2M+Pj42JjYzXSxtKz0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyJbYyYKNjNdO2g9PT1iKzE/KGM9YVtoXTw8NCxtKz0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyJbYz4+PjZdLG0rPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIltjJjYzXSxtKz0iPT0iKTpoPT09YiYmKGM9YVtoXTw8MTB8YVtoKzFdPDwyLG0rPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIltjPj4+MTJdLG0rPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIltjPj4+NiY2M10sbSs9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iW2MmNjNdLG0rPSI9Iik7cmV0dXJuIG19ZnVuY3Rpb24gZChhKXthPWEucmVwbGFjZSgvW15BLVphLXowLTkrXC9dKy9nLAoiIik7dmFyIGM9YS5sZW5ndGgsbT1uZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZmZXIoMypjKSksYj1hLmxlbmd0aCU0LGQ9MCxsLGU7Zm9yKGw9MDtsPGM7bCs9NCllPShoW2EuY2hhckF0KGwpXXx8MCk8PDE4fChoW2EuY2hhckF0KGwrMSldfHwwKTw8MTJ8KGhbYS5jaGFyQXQobCsyKV18fDApPDw2fChoW2EuY2hhckF0KGwrMyldfHwwKSxtW2RdPWU+PjE2LG1bZCsxXT1lPj44JjI1NSxtW2QrMl09ZSYyNTUsZCs9MztjPTMqYy1bMCwwLDIsMV1bYl07cmV0dXJuIG0uc3ViYXJyYXkoMCxjKX1mdW5jdGlvbiBiKGEpe3ZhciBjLG0saD1hLmxlbmd0aCxiPTAsZD1uZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZmZXIoMypoKSk7Zm9yKGM9MDtjPGg7Yys9MSltPWFbY10sMTI4Pm0/ZFtiKytdPW06KDIwNDg+bT9kW2IrK109MTkyfG0+Pj42OihkW2IrK109MjI0fG0+Pj4xMiYxNSxkW2IrK109MTI4fG0+Pj42JjYzKSxkW2IrK109MTI4fG0mNjMpO3JldHVybiBkLnN1YmFycmF5KDAsCmIpfWZ1bmN0aW9uIGYoYSl7dmFyIGMsbSxoLGIsZD1hLmxlbmd0aCxsPW5ldyBVaW50OEFycmF5KG5ldyBBcnJheUJ1ZmZlcihkKSksZT0wO2ZvcihjPTA7YzxkO2MrPTEpbT1hW2NdLDEyOD5tP2xbZSsrXT1tOihjKz0xLGg9YVtjXSwyMjQ+bT9sW2UrK109KG0mMzEpPDw2fGgmNjM6KGMrPTEsYj1hW2NdLGxbZSsrXT0obSYxNSk8PDEyfChoJjYzKTw8NnxiJjYzKSk7cmV0dXJuIGwuc3ViYXJyYXkoMCxlKX1mdW5jdGlvbiBuKGEpe3JldHVybiBrKGcoYSkpfWZ1bmN0aW9uIHAoYSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGQoYSkpfWZ1bmN0aW9uIHIoYSl7cmV0dXJuIGYoZyhhKSl9ZnVuY3Rpb24gcShhKXthPWYoYSk7Zm9yKHZhciBjPSIiLG09MDttPGEubGVuZ3RoOyljKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxhLnN1YmFycmF5KG0sbSs0NUUzKSksbSs9NDVFMztyZXR1cm4gY31mdW5jdGlvbiBlKGEsYyxtKXt2YXIgaCxiLApkLGw9IiI7Zm9yKGQ9YztkPG07ZCs9MSljPWEuY2hhckNvZGVBdChkKSYyNTUsMTI4PmM/bCs9U3RyaW5nLmZyb21DaGFyQ29kZShjKTooZCs9MSxoPWEuY2hhckNvZGVBdChkKSYyNTUsMjI0PmM/bCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoYyYzMSk8PDZ8aCY2Myk6KGQrPTEsYj1hLmNoYXJDb2RlQXQoZCkmMjU1LGwrPVN0cmluZy5mcm9tQ2hhckNvZGUoKGMmMTUpPDwxMnwoaCY2Myk8PDZ8YiY2MykpKTtyZXR1cm4gbH1mdW5jdGlvbiBsKGEsYyl7ZnVuY3Rpb24gbSgpe3ZhciBkPWIrMUU1O2Q+YS5sZW5ndGgmJihkPWEubGVuZ3RoKTtoKz1lKGEsYixkKTtiPWQ7ZD1iPT09YS5sZW5ndGg7YyhoLGQpJiYhZCYmcnVudGltZS5zZXRUaW1lb3V0KG0sMCl9dmFyIGg9IiIsYj0wOzFFNT5hLmxlbmd0aD9jKGUoYSwwLGEubGVuZ3RoKSwhMCk6KCJzdHJpbmciIT09dHlwZW9mIGEmJihhPWEuc2xpY2UoKSksbSgpKX1mdW5jdGlvbiBhKGEpe3JldHVybiBiKGcoYSkpfWZ1bmN0aW9uIGMoYSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLApiKGEpKX1mdW5jdGlvbiBtKGEpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxiKGcoYSkpKX12YXIgaD1mdW5jdGlvbihhKXt2YXIgYz17fSxtLGg7bT0wO2ZvcihoPWEubGVuZ3RoO208aDttKz0xKWNbYS5jaGFyQXQobSldPW07cmV0dXJuIGN9KCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIikseSx4LHo9cnVudGltZS5nZXRXaW5kb3coKSx3LHY7eiYmei5idG9hPyh3PXouYnRvYSx5PWZ1bmN0aW9uKGEpe3JldHVybiB3KG0oYSkpfSk6KHc9bix5PWZ1bmN0aW9uKGMpe3JldHVybiBrKGEoYykpfSk7eiYmei5hdG9iPyh2PXouYXRvYix4PWZ1bmN0aW9uKGEpe2E9dihhKTtyZXR1cm4gZShhLDAsYS5sZW5ndGgpfSk6KHY9cCx4PWZ1bmN0aW9uKGEpe3JldHVybiBxKGQoYSkpfSk7Y29yZS5CYXNlNjQ9ZnVuY3Rpb24oKXt0aGlzLmNvbnZlcnRCeXRlQXJyYXlUb0Jhc2U2ND10aGlzLmNvbnZlcnRVVEY4QXJyYXlUb0Jhc2U2ND0Kazt0aGlzLmNvbnZlcnRCYXNlNjRUb0J5dGVBcnJheT10aGlzLmNvbnZlcnRCYXNlNjRUb1VURjhBcnJheT1kO3RoaXMuY29udmVydFVURjE2QXJyYXlUb0J5dGVBcnJheT10aGlzLmNvbnZlcnRVVEYxNkFycmF5VG9VVEY4QXJyYXk9Yjt0aGlzLmNvbnZlcnRCeXRlQXJyYXlUb1VURjE2QXJyYXk9dGhpcy5jb252ZXJ0VVRGOEFycmF5VG9VVEYxNkFycmF5PWY7dGhpcy5jb252ZXJ0VVRGOFN0cmluZ1RvQmFzZTY0PW47dGhpcy5jb252ZXJ0QmFzZTY0VG9VVEY4U3RyaW5nPXA7dGhpcy5jb252ZXJ0VVRGOFN0cmluZ1RvVVRGMTZBcnJheT1yO3RoaXMuY29udmVydEJ5dGVBcnJheVRvVVRGMTZTdHJpbmc9dGhpcy5jb252ZXJ0VVRGOEFycmF5VG9VVEYxNlN0cmluZz1xO3RoaXMuY29udmVydFVURjhTdHJpbmdUb1VURjE2U3RyaW5nPWw7dGhpcy5jb252ZXJ0VVRGMTZTdHJpbmdUb0J5dGVBcnJheT10aGlzLmNvbnZlcnRVVEYxNlN0cmluZ1RvVVRGOEFycmF5PWE7dGhpcy5jb252ZXJ0VVRGMTZBcnJheVRvVVRGOFN0cmluZz0KYzt0aGlzLmNvbnZlcnRVVEYxNlN0cmluZ1RvVVRGOFN0cmluZz1tO3RoaXMuY29udmVydFVURjE2U3RyaW5nVG9CYXNlNjQ9eTt0aGlzLmNvbnZlcnRCYXNlNjRUb1VURjE2U3RyaW5nPXg7dGhpcy5mcm9tQmFzZTY0PXA7dGhpcy50b0Jhc2U2ND1uO3RoaXMuYXRvYj12O3RoaXMuYnRvYT13O3RoaXMudXRvYj1tO3RoaXMuYnRvdT1sO3RoaXMuZW5jb2RlPXk7dGhpcy5lbmNvZGVVUkk9ZnVuY3Rpb24oYSl7cmV0dXJuIHkoYSkucmVwbGFjZSgvWytcL10vZyxmdW5jdGlvbihhKXtyZXR1cm4iKyI9PT1hPyItIjoiXyJ9KS5yZXBsYWNlKC9cXD0rJC8sIiIpfTt0aGlzLmRlY29kZT1mdW5jdGlvbihhKXtyZXR1cm4geChhLnJlcGxhY2UoL1tcLV9dL2csZnVuY3Rpb24oYSl7cmV0dXJuIi0iPT09YT8iKyI6Ii8ifSkpfTtyZXR1cm4gdGhpc307cmV0dXJuIGNvcmUuQmFzZTY0fWNvcmUuQmFzZTY0PW1ha2VCYXNlNjQoKTsKY29yZS5DU1NVbml0cz1mdW5jdGlvbigpe3ZhciBnPXRoaXMsaz17ImluIjoxLGNtOjIuNTQsbW06MjUuNCxwdDo3MixwYzoxMixweDo5Nn07dGhpcy5jb252ZXJ0PWZ1bmN0aW9uKGQsYixmKXtyZXR1cm4gZCprW2ZdL2tbYl19O3RoaXMuY29udmVydE1lYXN1cmU9ZnVuY3Rpb24oZCxiKXt2YXIgZixuO2QmJmImJihmPXBhcnNlRmxvYXQoZCksbj1kLnJlcGxhY2UoZi50b1N0cmluZygpLCIiKSxmPWcuY29udmVydChmLG4sYikpO3JldHVybiBmfTt0aGlzLmdldFVuaXRzPWZ1bmN0aW9uKGQpe3JldHVybiBkLnN1YnN0cihkLmxlbmd0aC0yLGQubGVuZ3RoKX19OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKCl7dmFyIGIsZixuLGcscixrLGUsbCxhO3ZvaWQgMD09PWQmJihmPShiPXJ1bnRpbWUuZ2V0V2luZG93KCkpJiZiLmRvY3VtZW50LGs9Zi5kb2N1bWVudEVsZW1lbnQsZT1mLmJvZHksZD17cmFuZ2VCQ1JJZ25vcmVzRWxlbWVudEJDUjohMSx1bnNjYWxlZFJhbmdlQ2xpZW50UmVjdHM6ITEsZWxlbWVudEJDUklnbm9yZXNCb2R5U2Nyb2xsOiExfSxmJiYoZz1mLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGcuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixnLnN0eWxlLmxlZnQ9Ii05OTk5OXB4IixnLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMikiLGcuc3R5bGVbIi13ZWJraXQtdHJhbnNmb3JtIl09InNjYWxlKDIpIixyPWYuY3JlYXRlRWxlbWVudCgiZGl2IiksZy5hcHBlbmRDaGlsZChyKSxlLmFwcGVuZENoaWxkKGcpLGI9Zi5jcmVhdGVSYW5nZSgpLGIuc2VsZWN0Tm9kZShyKSxkLnJhbmdlQkNSSWdub3Jlc0VsZW1lbnRCQ1I9MD09PWIuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgsCnIuYXBwZW5kQ2hpbGQoZi5jcmVhdGVUZXh0Tm9kZSgiUmVjdCB0cmFuc2Zvcm0gdGVzdCIpKSxmPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQudW5zY2FsZWRSYW5nZUNsaWVudFJlY3RzPTI8TWF0aC5hYnMoZi5oZWlnaHQtbi5oZWlnaHQpLGcuc3R5bGUudHJhbnNmb3JtPSIiLGcuc3R5bGVbIi13ZWJraXQtdHJhbnNmb3JtIl09IiIsZj1rLnN0eWxlLm92ZXJmbG93LG49ZS5zdHlsZS5vdmVyZmxvdyxsPWUuc3R5bGUuaGVpZ2h0LGE9ZS5zY3JvbGxUb3Asay5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSIsZS5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSIsZS5zdHlsZS5oZWlnaHQ9IjIwMCUiLGUuc2Nyb2xsVG9wPWUuc2Nyb2xsSGVpZ2h0LGQuZWxlbWVudEJDUklnbm9yZXNCb2R5U2Nyb2xsPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIT09ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AsZS5zY3JvbGxUb3A9YSxlLnN0eWxlLmhlaWdodD0KbCxlLnN0eWxlLm92ZXJmbG93PW4say5zdHlsZS5vdmVyZmxvdz1mLGIuZGV0YWNoKCksZS5yZW1vdmVDaGlsZChnKSxiPU9iamVjdC5rZXlzKGQpLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYSsiOiIrU3RyaW5nKGRbYV0pfSkuam9pbigiLCAiKSxydW50aW1lLmxvZygiRGV0ZWN0ZWQgYnJvd3NlciBxdWlya3MgLSAiK2IpKSk7cmV0dXJuIGR9ZnVuY3Rpb24gayhiLGQsbil7Zm9yKGI9Yj9iLmZpcnN0RWxlbWVudENoaWxkOm51bGw7Yjspe2lmKGIubG9jYWxOYW1lPT09biYmYi5uYW1lc3BhY2VVUkk9PT1kKXJldHVybiBiO2I9Yi5uZXh0RWxlbWVudFNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIGQ7Y29yZS5Eb21VdGlsc0ltcGw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBiKGEsYyl7Zm9yKHZhciBiPTAsZDthLnBhcmVudE5vZGUhPT1jOylydW50aW1lLmFzc2VydChudWxsIT09YS5wYXJlbnROb2RlLCJwYXJlbnQgaXMgbnVsbCIpLGE9YS5wYXJlbnROb2RlO2ZvcihkPWMuZmlyc3RDaGlsZDtkIT09CmE7KWIrPTEsZD1kLm5leHRTaWJsaW5nO3JldHVybiBifWZ1bmN0aW9uIGQoYSxjKXtyZXR1cm4gMD49YS5jb21wYXJlQm91bmRhcnlQb2ludHMoUmFuZ2UuU1RBUlRfVE9fU1RBUlQsYykmJjA8PWEuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLkVORF9UT19FTkQsYyl9ZnVuY3Rpb24gbihhLGMpe3JldHVybiAwPj1hLmNvbXBhcmVCb3VuZGFyeVBvaW50cyhSYW5nZS5FTkRfVE9fU1RBUlQsYykmJjA8PWEuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLlNUQVJUX1RPX0VORCxjKX1mdW5jdGlvbiBwKGEsYyl7dmFyIGI9bnVsbDthLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJigwPT09YS5sZW5ndGg/KGEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKSxjLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihiPWMpKTooYy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoYS5hcHBlbmREYXRhKGMuZGF0YSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKSxiPWEpKTtyZXR1cm4gYn0KZnVuY3Rpb24gcihhKXtmb3IodmFyIGM9YS5wYXJlbnROb2RlO2EuZmlyc3RDaGlsZDspYy5pbnNlcnRCZWZvcmUoYS5maXJzdENoaWxkLGEpO2MucmVtb3ZlQ2hpbGQoYSk7cmV0dXJuIGN9ZnVuY3Rpb24gcShhLGMpe3ZhciBiPWEucGFyZW50Tm9kZSxkPWEuZmlyc3RDaGlsZCxsPWMoYSksZTtpZihsPT09Tm9kZUZpbHRlci5GSUxURVJfU0tJUClyZXR1cm4gYjtmb3IoO2Q7KWU9ZC5uZXh0U2libGluZyxxKGQsYyksZD1lO2ImJmw9PT1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1QmJnIoYSk7cmV0dXJuIGJ9ZnVuY3Rpb24gZShhLGMpe3JldHVybiBhPT09Y3x8Qm9vbGVhbihhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKX1mdW5jdGlvbiBsKGEsYyl7cmV0dXJuIGcoKS51bnNjYWxlZFJhbmdlQ2xpZW50UmVjdHM/YTphL2N9ZnVuY3Rpb24gYShjLGgsYil7T2JqZWN0LmtleXMoaCkuZm9yRWFjaChmdW5jdGlvbihkKXt2YXIgbD0KZC5zcGxpdCgiOiIpLGU9bFsxXSxmPWIobFswXSksbD1oW2RdLG49dHlwZW9mIGw7Im9iamVjdCI9PT1uP09iamVjdC5rZXlzKGwpLmxlbmd0aCYmKGQ9Zj9jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoZixlKVswXXx8Yy5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhmLGQpOmMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSlbMF18fGMub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KGQpLGMuYXBwZW5kQ2hpbGQoZCksYShkLGwsYikpOmYmJihydW50aW1lLmFzc2VydCgibnVtYmVyIj09PW58fCJzdHJpbmciPT09biwiYXR0ZW1wdGluZyB0byBtYXAgdW5zdXBwb3J0ZWQgdHlwZSAnIituKyInIChrZXk6ICIrZCsiKSIpLGMuc2V0QXR0cmlidXRlTlMoZixkLFN0cmluZyhsKSkpfSl9dmFyIGM9bnVsbDt0aGlzLnNwbGl0Qm91bmRhcmllcz1mdW5jdGlvbihhKXt2YXIgYyxkPVtdLGwsZSxmO2lmKGEuc3RhcnRDb250YWluZXIubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERXx8YS5lbmRDb250YWluZXIubm9kZVR5cGU9PT0KTm9kZS5URVhUX05PREUpe2w9YS5lbmRDb250YWluZXI7ZT1hLmVuZENvbnRhaW5lci5ub2RlVHlwZSE9PU5vZGUuVEVYVF9OT0RFP2EuZW5kT2Zmc2V0PT09YS5lbmRDb250YWluZXIuY2hpbGROb2Rlcy5sZW5ndGg6ITE7Zj1hLmVuZE9mZnNldDtjPWEuZW5kQ29udGFpbmVyO2lmKGY8Yy5jaGlsZE5vZGVzLmxlbmd0aClmb3IoYz1jLmNoaWxkTm9kZXMuaXRlbShmKSxmPTA7Yy5maXJzdENoaWxkOyljPWMuZmlyc3RDaGlsZDtlbHNlIGZvcig7Yy5sYXN0Q2hpbGQ7KWM9Yy5sYXN0Q2hpbGQsZj1jLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/Yy50ZXh0Q29udGVudC5sZW5ndGg6Yy5jaGlsZE5vZGVzLmxlbmd0aDtjPT09bCYmKGw9bnVsbCk7YS5zZXRFbmQoYyxmKTtmPWEuZW5kQ29udGFpbmVyOzAhPT1hLmVuZE9mZnNldCYmZi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoYz1mLGEuZW5kT2Zmc2V0IT09Yy5sZW5ndGgmJihkLnB1c2goYy5zcGxpdFRleHQoYS5lbmRPZmZzZXQpKSwKZC5wdXNoKGMpKSk7Zj1hLnN0YXJ0Q29udGFpbmVyOzAhPT1hLnN0YXJ0T2Zmc2V0JiZmLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihjPWYsYS5zdGFydE9mZnNldCE9PWMubGVuZ3RoJiYoZj1jLnNwbGl0VGV4dChhLnN0YXJ0T2Zmc2V0KSxkLnB1c2goYyksZC5wdXNoKGYpLGEuc2V0U3RhcnQoZiwwKSkpO2lmKG51bGwhPT1sKXtmb3IoZj1hLmVuZENvbnRhaW5lcjtmLnBhcmVudE5vZGUmJmYucGFyZW50Tm9kZSE9PWw7KWY9Zi5wYXJlbnROb2RlO2U9ZT9sLmNoaWxkTm9kZXMubGVuZ3RoOmIoZixsKTthLnNldEVuZChsLGUpfX1yZXR1cm4gZH07dGhpcy5jb250YWluc1JhbmdlPWQ7dGhpcy5yYW5nZXNJbnRlcnNlY3Q9bjt0aGlzLnJhbmdlSW50ZXJzZWN0aW9uPWZ1bmN0aW9uKGEsYyl7dmFyIGI7bihhLGMpJiYoYj1hLmNsb25lUmFuZ2UoKSwtMT09PWEuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLlNUQVJUX1RPX1NUQVJULGMpJiZiLnNldFN0YXJ0KGMuc3RhcnRDb250YWluZXIsCmMuc3RhcnRPZmZzZXQpLDE9PT1hLmNvbXBhcmVCb3VuZGFyeVBvaW50cyhSYW5nZS5FTkRfVE9fRU5ELGMpJiZiLnNldEVuZChjLmVuZENvbnRhaW5lcixjLmVuZE9mZnNldCkpO3JldHVybiBifTt0aGlzLmdldE5vZGVzSW5SYW5nZT1mdW5jdGlvbihhLGMsYil7dmFyIGQ9W10sbD1hLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLGw9bC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP2wucGFyZW50Tm9kZTpsO2I9YS5zdGFydENvbnRhaW5lci5vd25lckRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIobCxiLGMsITEpO3ZhciBlLGY7YS5lbmRDb250YWluZXIuY2hpbGROb2Rlc1thLmVuZE9mZnNldC0xXT8oZT1hLmVuZENvbnRhaW5lci5jaGlsZE5vZGVzW2EuZW5kT2Zmc2V0LTFdLGY9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkd8Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpOihlPWEuZW5kQ29udGFpbmVyLGY9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpOwppZihhLnN0YXJ0Q29udGFpbmVyLmNoaWxkTm9kZXNbYS5zdGFydE9mZnNldF0pYT1hLnN0YXJ0Q29udGFpbmVyLmNoaWxkTm9kZXNbYS5zdGFydE9mZnNldF0sYi5jdXJyZW50Tm9kZT1hO2Vsc2V7dmFyIG49YS5zdGFydENvbnRhaW5lcjthLnN0YXJ0T2Zmc2V0PT09KG4ubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9uLmxlbmd0aDpuLmNoaWxkTm9kZXMubGVuZ3RoKT8oYT1hLnN0YXJ0Q29udGFpbmVyLGIuY3VycmVudE5vZGU9YSxiLmxhc3RDaGlsZCgpLGE9Yi5uZXh0Tm9kZSgpKTooYT1hLnN0YXJ0Q29udGFpbmVyLGIuY3VycmVudE5vZGU9YSl9aWYoYSl7YT1iLmN1cnJlbnROb2RlO2lmKGEhPT1sKWZvcihhPWEucGFyZW50Tm9kZTthJiZhIT09bDspYyhhKT09PU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVCYmKGIuY3VycmVudE5vZGU9YSksYT1hLnBhcmVudE5vZGU7YT1iLmN1cnJlbnROb2RlO3N3aXRjaChjKGEpKXtjYXNlIE5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVDpmb3IoYT0KYi5uZXh0U2libGluZygpOyFhJiZiLnBhcmVudE5vZGUoKTspYT1iLm5leHRTaWJsaW5nKCk7YnJlYWs7Y2FzZSBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQOmE9Yi5uZXh0Tm9kZSgpfWZvcig7YTspe2M9ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKTtpZigwIT09YyYmMD09PShjJmYpKWJyZWFrO2QucHVzaChhKTthPWIubmV4dE5vZGUoKX19cmV0dXJuIGR9O3RoaXMubm9ybWFsaXplVGV4dE5vZGVzPWZ1bmN0aW9uKGEpe2EmJmEubmV4dFNpYmxpbmcmJihhPXAoYSxhLm5leHRTaWJsaW5nKSk7YSYmYS5wcmV2aW91c1NpYmxpbmcmJnAoYS5wcmV2aW91c1NpYmxpbmcsYSl9O3RoaXMucmFuZ2VDb250YWluc05vZGU9ZnVuY3Rpb24oYSxjKXt2YXIgYj1jLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxsPWMub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpLGU7Yi5zZXRTdGFydChhLnN0YXJ0Q29udGFpbmVyLGEuc3RhcnRPZmZzZXQpO2Iuc2V0RW5kKGEuZW5kQ29udGFpbmVyLAphLmVuZE9mZnNldCk7bC5zZWxlY3ROb2RlQ29udGVudHMoYyk7ZT1kKGIsbCk7Yi5kZXRhY2goKTtsLmRldGFjaCgpO3JldHVybiBlfTt0aGlzLm1lcmdlSW50b1BhcmVudD1yO3RoaXMucmVtb3ZlVW53YW50ZWROb2Rlcz1xO3RoaXMucmVtb3ZlQWxsQ2hpbGROb2Rlcz1mdW5jdGlvbihhKXtmb3IoO2EuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpfTt0aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24oYSxjLGIpe3ZhciBkPVtdO2E9YS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGMsYik7ZC5sZW5ndGg9Yj1hLmxlbmd0aDtmb3IoYz0wO2M8YjtjKz0xKWRbY109YS5pdGVtKGMpO3JldHVybiBkfTt0aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYyl7dmFyIGI9W10sZCxsLGU7ZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGMpO2IubGVuZ3RoPWU9ZC5sZW5ndGg7Zm9yKGw9MDtsPGU7bCs9MSliW2xdPWQuaXRlbShsKTtyZXR1cm4gYn07CnRoaXMuY29udGFpbnNOb2RlPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGE9PT1jfHxhLmNvbnRhaW5zKGMpfTt0aGlzLmNvbXBhcmVQb2ludHM9ZnVuY3Rpb24oYSxjLGQsbCl7aWYoYT09PWQpcmV0dXJuIGwtYzt2YXIgZT1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQpOzI9PT1lP2U9LTE6ND09PWU/ZT0xOjEwPT09ZT8oYz1iKGEsZCksZT1jPGw/MTotMSk6KGw9YihkLGEpLGU9bDxjPy0xOjEpO3JldHVybiBlfTt0aGlzLmFkYXB0UmFuZ2VEaWZmZXJlbmNlVG9ab29tTGV2ZWw9bDt0aGlzLnRyYW5zbGF0ZVJlY3Q9ZnVuY3Rpb24oYSxjLGIpe3JldHVybnt0b3A6bChhLnRvcC1jLnRvcCxiKSxsZWZ0OmwoYS5sZWZ0LWMubGVmdCxiKSxib3R0b206bChhLmJvdHRvbS1jLnRvcCxiKSxyaWdodDpsKGEucmlnaHQtYy5sZWZ0LGIpLHdpZHRoOmwoYS53aWR0aCxiKSxoZWlnaHQ6bChhLmhlaWdodCxiKX19O3RoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPQphLm93bmVyRG9jdW1lbnQsZD1nKCksbD1iLmJvZHk7aWYoKCExPT09ZC51bnNjYWxlZFJhbmdlQ2xpZW50UmVjdHN8fGQucmFuZ2VCQ1JJZ25vcmVzRWxlbWVudEJDUikmJmEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4gYT1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQuZWxlbWVudEJDUklnbm9yZXNCb2R5U2Nyb2xsP3tsZWZ0OmEubGVmdCtsLnNjcm9sbExlZnQscmlnaHQ6YS5yaWdodCtsLnNjcm9sbExlZnQsdG9wOmEudG9wK2wuc2Nyb2xsVG9wLGJvdHRvbTphLmJvdHRvbStsLnNjcm9sbFRvcCx3aWR0aDphLndpZHRoLGhlaWdodDphLmhlaWdodH06YTt2YXIgZTtjP2U9YzpjPWU9Yi5jcmVhdGVSYW5nZSgpO2Q9ZTtkLnNlbGVjdE5vZGUoYSk7cmV0dXJuIGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9O3RoaXMubWFwS2V5VmFsT2JqT250b05vZGU9ZnVuY3Rpb24oYSxjLGIpe09iamVjdC5rZXlzKGMpLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGw9ZC5zcGxpdCgiOiIpLAplPWxbMV0sbD1iKGxbMF0pLGY9Y1tkXTtsPyhlPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhsLGUpWzBdLGV8fChlPWEub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobCxkKSxhLmFwcGVuZENoaWxkKGUpKSxlLnRleHRDb250ZW50PWYpOnJ1bnRpbWUubG9nKCJLZXkgaWdub3JlZDogIitkKX0pfTt0aGlzLnJlbW92ZUtleUVsZW1lbnRzRnJvbU5vZGU9ZnVuY3Rpb24oYSxjLGIpe2MuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgZD1jLnNwbGl0KCI6IiksaD1kWzFdOyhkPWIoZFswXSkpPyhoPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhkLGgpWzBdKT9oLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCk6cnVudGltZS5sb2coIkVsZW1lbnQgZm9yICIrYysiIG5vdCBmb3VuZC4iKTpydW50aW1lLmxvZygiUHJvcGVydHkgTmFtZSBpZ25vcmVkOiAiK2MpfSl9O3RoaXMuZ2V0S2V5VmFsUmVwcmVzZW50YXRpb25PZk5vZGU9ZnVuY3Rpb24oYSxjKXtmb3IodmFyIGI9e30sZD1hLmZpcnN0RWxlbWVudENoaWxkLApsO2Q7KXtpZihsPWMoZC5uYW1lc3BhY2VVUkkpKWJbbCsiOiIrZC5sb2NhbE5hbWVdPWQudGV4dENvbnRlbnQ7ZD1kLm5leHRFbGVtZW50U2libGluZ31yZXR1cm4gYn07dGhpcy5tYXBPYmpPbnRvTm9kZT1hO3RoaXMuY2xvbmVFdmVudD1mdW5jdGlvbihhKXt2YXIgYz1PYmplY3QuY3JlYXRlKG51bGwpO09iamVjdC5rZXlzKGEuY29uc3RydWN0b3IucHJvdG90eXBlKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2NbYl09YVtiXX0pO2MucHJvdG90eXBlPWEuY29uc3RydWN0b3IucHJvdG90eXBlO3JldHVybiBjfTt0aGlzLmdldERpcmVjdENoaWxkPWs7KGZ1bmN0aW9uKGEpe3ZhciBjLGI7Yj1ydW50aW1lLmdldFdpbmRvdygpO251bGwhPT1iJiYoYz1iLm5hdmlnYXRvci5hcHBWZXJzaW9uLnRvTG93ZXJDYXNlKCksYj0tMT09PWMuaW5kZXhPZigiY2hyb21lIikmJigtMSE9PWMuaW5kZXhPZigiYXBwbGV3ZWJraXQiKXx8LTEhPT1jLmluZGV4T2YoInNhZmFyaSIpKSxjPS0xIT09Yy5pbmRleE9mKCJtc2llIil8fAotMSE9PWMuaW5kZXhPZigidHJpZGVudCIpLGJ8fGMpJiYoYS5jb250YWluc05vZGU9ZSl9KSh0aGlzKX07Y29yZS5Eb21VdGlscz1uZXcgY29yZS5Eb21VdGlsc0ltcGx9KSgpOwpjb3JlLkN1cnNvcj1mdW5jdGlvbihnLGspe2Z1bmN0aW9uIGQoYSl7YS5wYXJlbnROb2RlJiYoci5wdXNoKGEucHJldmlvdXNTaWJsaW5nKSxyLnB1c2goYS5uZXh0U2libGluZyksYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpKX1mdW5jdGlvbiBiKGEsYyxiKXtpZihjLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpe3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4oYyksInB1dEN1cnNvckludG9UZXh0Tm9kZTogaW52YWxpZCBjb250YWluZXIiKTt2YXIgZD1jLnBhcmVudE5vZGU7cnVudGltZS5hc3NlcnQoQm9vbGVhbihkKSwicHV0Q3Vyc29ySW50b1RleHROb2RlOiBjb250YWluZXIgd2l0aG91dCBwYXJlbnQiKTtydW50aW1lLmFzc2VydCgwPD1iJiZiPD1jLmxlbmd0aCwicHV0Q3Vyc29ySW50b1RleHROb2RlOiBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kcyIpOzA9PT1iP2QuaW5zZXJ0QmVmb3JlKGEsYyk6KGIhPT1jLmxlbmd0aCYmYy5zcGxpdFRleHQoYiksZC5pbnNlcnRCZWZvcmUoYSwKYy5uZXh0U2libGluZykpfWVsc2UgYy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZjLmluc2VydEJlZm9yZShhLGMuY2hpbGROb2Rlcy5pdGVtKGIpKTtyLnB1c2goYS5wcmV2aW91c1NpYmxpbmcpO3IucHVzaChhLm5leHRTaWJsaW5nKX12YXIgZj1nLmNyZWF0ZUVsZW1lbnROUygidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLCJjdXJzb3IiKSxuPWcuY3JlYXRlRWxlbWVudE5TKCJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsImFuY2hvciIpLHAscj1bXSxxPWcuY3JlYXRlUmFuZ2UoKSxlLGw9Y29yZS5Eb21VdGlsczt0aGlzLmdldE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gZn07dGhpcy5nZXRBbmNob3JOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyZW50Tm9kZT9uOmZ9O3RoaXMuZ2V0U2VsZWN0ZWRSYW5nZT1mdW5jdGlvbigpe2U/KHEuc2V0U3RhcnRCZWZvcmUoZikscS5jb2xsYXBzZSghMCkpOihxLnNldFN0YXJ0QWZ0ZXIocD9uOmYpLHEuc2V0RW5kQmVmb3JlKHA/CmY6bikpO3JldHVybiBxfTt0aGlzLnNldFNlbGVjdGVkUmFuZ2U9ZnVuY3Rpb24oYSxjKXtxJiZxIT09YSYmcS5kZXRhY2goKTtxPWE7cD0hMSE9PWM7KGU9YS5jb2xsYXBzZWQpPyhkKG4pLGQoZiksYihmLGEuc3RhcnRDb250YWluZXIsYS5zdGFydE9mZnNldCkpOihkKG4pLGQoZiksYihwP2Y6bixhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCksYihwP246ZixhLnN0YXJ0Q29udGFpbmVyLGEuc3RhcnRPZmZzZXQpKTtyLmZvckVhY2gobC5ub3JtYWxpemVUZXh0Tm9kZXMpO3IubGVuZ3RoPTB9O3RoaXMuaGFzRm9yd2FyZFNlbGVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBwfTt0aGlzLnJlbW92ZT1mdW5jdGlvbigpe2QoZik7ci5mb3JFYWNoKGwubm9ybWFsaXplVGV4dE5vZGVzKTtyLmxlbmd0aD0wfTtmLnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsIm1lbWJlcklkIixrKTtuLnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsIm1lbWJlcklkIiwKayl9O2NvcmUuRGVzdHJveWFibGU9ZnVuY3Rpb24oKXt9O2NvcmUuRGVzdHJveWFibGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oZyl7fTtjb3JlLkV2ZW50U291cmNlPWZ1bmN0aW9uKCl7fTtjb3JlLkV2ZW50U291cmNlLnByb3RvdHlwZS5zdWJzY3JpYmU9ZnVuY3Rpb24oZyxrKXt9O2NvcmUuRXZlbnRTb3VyY2UucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGcsayl7fTsKY29yZS5FdmVudE5vdGlmaWVyPWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoYil7cnVudGltZS5hc3NlcnQoIWQuaGFzT3duUHJvcGVydHkoYiksJ0R1cGxpY2F0ZWQgZXZlbnQgaWRzOiAiJytiKyciIHJlZ2lzdGVyZWQgbW9yZSB0aGFuIG9uY2UuJyk7ZFtiXT1bXX12YXIgZD17fTt0aGlzLmVtaXQ9ZnVuY3Rpb24oYixmKXt2YXIgbixnO3J1bnRpbWUuYXNzZXJ0KGQuaGFzT3duUHJvcGVydHkoYiksJ3Vua25vd24gZXZlbnQgZmlyZWQgIicrYisnIicpO2c9ZFtiXTtmb3Iobj0wO248Zy5sZW5ndGg7bis9MSlnW25dKGYpfTt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihiLGYpe3J1bnRpbWUuYXNzZXJ0KGQuaGFzT3duUHJvcGVydHkoYiksJ3RyaWVkIHRvIHN1YnNjcmliZSB0byB1bmtub3duIGV2ZW50ICInK2IrJyInKTtkW2JdLnB1c2goZil9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYixmKXt2YXIgbjtydW50aW1lLmFzc2VydChkLmhhc093blByb3BlcnR5KGIpLCd0cmllZCB0byB1bnN1YnNjcmliZSBmcm9tIHVua25vd24gZXZlbnQgIicrCmIrJyInKTtuPWRbYl0uaW5kZXhPZihmKTtydW50aW1lLmFzc2VydCgtMSE9PW4sJ3RyaWVkIHRvIHVuc3Vic2NyaWJlIHVua25vd24gY2FsbGJhY2sgZnJvbSBldmVudCAiJytiKyciJyk7LTEhPT1uJiZkW2JdLnNwbGljZShuLDEpfTt0aGlzLnJlZ2lzdGVyPWs7ZyYmZy5mb3JFYWNoKGspfTsKY29yZS5TY2hlZHVsZWRUYXNrPWZ1bmN0aW9uKGcsayxkKXtmdW5jdGlvbiBiKCl7cCYmKGQobikscD0hMSl9ZnVuY3Rpb24gZigpe2IoKTtnLmFwcGx5KHZvaWQgMCxyKTtyPW51bGx9dmFyIG4scD0hMSxyPVtdLHE9ITE7dGhpcy50cmlnZ2VyPWZ1bmN0aW9uKCl7cnVudGltZS5hc3NlcnQoITE9PT1xLCJDYW4ndCB0cmlnZ2VyIGRlc3Ryb3llZCBTY2hlZHVsZWRUYXNrIGluc3RhbmNlIik7cj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3B8fChwPSEwLG49ayhmKSl9O3RoaXMudHJpZ2dlckltbWVkaWF0ZT1mdW5jdGlvbigpe3J1bnRpbWUuYXNzZXJ0KCExPT09cSwiQ2FuJ3QgdHJpZ2dlciBkZXN0cm95ZWQgU2NoZWR1bGVkVGFzayBpbnN0YW5jZSIpO3I9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtmKCl9O3RoaXMucHJvY2Vzc1JlcXVlc3RzPWZ1bmN0aW9uKCl7cCYmZigpfTt0aGlzLmNhbmNlbD1iO3RoaXMucmVzdGFydD1mdW5jdGlvbigpe3J1bnRpbWUuYXNzZXJ0KCExPT09CnEsIkNhbid0IHRyaWdnZXIgZGVzdHJveWVkIFNjaGVkdWxlZFRhc2sgaW5zdGFuY2UiKTtiKCk7cD0hMDtuPWsoZil9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihkKXtiKCk7cT0hMDtkKCl9fTsKKGZ1bmN0aW9uKCl7dmFyIGc7Y29yZS5UYXNrPXt9O2NvcmUuVGFzay5TVVBQUkVTU19NQU5VQUxfUFJPQ0VTU0lORz0hMTtjb3JlLlRhc2sucHJvY2Vzc1Rhc2tzPWZ1bmN0aW9uKCl7Y29yZS5UYXNrLlNVUFBSRVNTX01BTlVBTF9QUk9DRVNTSU5HfHxnLnBlcmZvcm1SZWRyYXcoKX07Y29yZS5UYXNrLmNyZWF0ZVJlZHJhd1Rhc2s9ZnVuY3Rpb24oayl7cmV0dXJuIG5ldyBjb3JlLlNjaGVkdWxlZFRhc2soayxnLnJlcXVlc3RSZWRyYXdUYXNrLGcuY2FuY2VsUmVkcmF3VGFzayl9O2NvcmUuVGFzay5jcmVhdGVUaW1lb3V0VGFzaz1mdW5jdGlvbihnLGQpe3JldHVybiBuZXcgY29yZS5TY2hlZHVsZWRUYXNrKGcsZnVuY3Rpb24oYil7cmV0dXJuIHJ1bnRpbWUuc2V0VGltZW91dChiLGQpfSxydW50aW1lLmNsZWFyVGltZW91dCl9O2c9bmV3IGZ1bmN0aW9uKCl7dmFyIGc9e307dGhpcy5yZXF1ZXN0UmVkcmF3VGFzaz1mdW5jdGlvbihkKXt2YXIgYj1ydW50aW1lLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2QoKTsKZGVsZXRlIGdbYl19KTtnW2JdPWQ7cmV0dXJuIGJ9O3RoaXMucGVyZm9ybVJlZHJhdz1mdW5jdGlvbigpe09iamVjdC5rZXlzKGcpLmZvckVhY2goZnVuY3Rpb24oZCl7Z1tkXSgpO3J1bnRpbWUuY2FuY2VsQW5pbWF0aW9uRnJhbWUocGFyc2VJbnQoZCwxMCkpfSk7Zz17fX07dGhpcy5jYW5jZWxSZWRyYXdUYXNrPWZ1bmN0aW9uKGQpe3J1bnRpbWUuY2FuY2VsQW5pbWF0aW9uRnJhbWUoZCk7ZGVsZXRlIGdbZF19fX0pKCk7CmNvcmUuRXZlbnRTdWJzY3JpcHRpb25zPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGYsbil7Yi5zdWJzY3JpYmUoZixuKTtkLnB1c2goe2V2ZW50U291cmNlOmIsZXZlbnRpZDpmLGNhbGxiYWNrOm59KX1mdW5jdGlvbiBrKCl7dmFyIG49W107ZC5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuZXZlbnRTb3VyY2UudW5zdWJzY3JpYmUoYi5ldmVudGlkLGIuY2FsbGJhY2spfSk7ZC5sZW5ndGg9MDtPYmplY3Qua2V5cyhmKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2ZbYl0uZm9yRWFjaChmdW5jdGlvbihiKXtuLnB1c2goYi50YXNrLmRlc3Ryb3kpfSk7ZGVsZXRlIGZbYl19KTtjb3JlLkFzeW5jLmRlc3Ryb3lBbGwobixmdW5jdGlvbigpe30pO2I9bmV3IGNvcmUuRXZlbnROb3RpZmllcn12YXIgZD1bXSxiPW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIsZj17fSxuPTA7dGhpcy5hZGRTdWJzY3JpcHRpb249Zzt0aGlzLmFkZEZyYW1lU3Vic2NyaXB0aW9uPWZ1bmN0aW9uKGQsayxxKXt2YXIgZSxsLGEsYzsKZi5oYXNPd25Qcm9wZXJ0eShrKXx8KGZba109W10pO2E9ZltrXTtmb3IoYz0wO2M8YS5sZW5ndGg7Yys9MSlpZihhW2NdLmV2ZW50U291cmNlPT09ZCl7ZT1hW2NdO2JyZWFrfWV8fChsPSJzIituLG4rPTEsYi5yZWdpc3RlcihsKSxlPXtmcmFtZUV2ZW50SWQ6bCxldmVudFNvdXJjZTpkLHRhc2s6Y29yZS5UYXNrLmNyZWF0ZVJlZHJhd1Rhc2soZnVuY3Rpb24oKXtiLmVtaXQobCx2b2lkIDApfSl9LGEucHVzaChlKSxnKGQsayxlLnRhc2sudHJpZ2dlcikpO2Iuc3Vic2NyaWJlKGUuZnJhbWVFdmVudElkLHEpfTt0aGlzLnVuc3Vic2NyaWJlQWxsPWs7dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGIpe2soKTtiKCl9fTtjb3JlLkxhenlQcm9wZXJ0eT1mdW5jdGlvbihnKXt2YXIgayxkPSExO3RoaXMudmFsdWU9ZnVuY3Rpb24oKXtkfHwoaz1nKCksZD0hMCk7cmV0dXJuIGt9O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXtkPSExfX07CmNvcmUuTG9vcFdhdGNoRG9nPWZ1bmN0aW9uKGcsayl7dmFyIGQ9RGF0ZS5ub3coKSxiPTA7dGhpcy5jaGVjaz1mdW5jdGlvbigpe3ZhciBmO2lmKGcmJihmPURhdGUubm93KCksZi1kPmcpKXRocm93IHJ1bnRpbWUubG9nKCJhbGVydCIsIndhdGNoZG9nIHRpbWVvdXQiKSwidGltZW91dCEiO2lmKDA8ayYmKGIrPTEsYj5rKSl0aHJvdyBydW50aW1lLmxvZygiYWxlcnQiLCJ3YXRjaGRvZyBsb29wIG92ZXJmbG93IiksImxvb3Agb3ZlcmZsb3ciO319O2NvcmUuTm9kZUZpbHRlckNoYWluPWZ1bmN0aW9uKGcpe3ZhciBrPU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVCxkPU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDt0aGlzLmFjY2VwdE5vZGU9ZnVuY3Rpb24oYil7dmFyIGY7Zm9yKGY9MDtmPGcubGVuZ3RoO2YrPTEpaWYoZ1tmXS5hY2NlcHROb2RlKGIpPT09aylyZXR1cm4gaztyZXR1cm4gZH19Owpjb3JlLlBvc2l0aW9uSXRlcmF0b3I9ZnVuY3Rpb24oZyxrLGQsYil7ZnVuY3Rpb24gZigpe3RoaXMuYWNjZXB0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4hYXx8YS5ub2RlVHlwZT09PW0mJjA9PT1hLmxlbmd0aD94Onl9fWZ1bmN0aW9uIG4oYSl7dGhpcy5hY2NlcHROb2RlPWZ1bmN0aW9uKGMpe3JldHVybiFjfHxjLm5vZGVUeXBlPT09bSYmMD09PWMubGVuZ3RoP3g6YS5hY2NlcHROb2RlKGMpfX1mdW5jdGlvbiBwKCl7dmFyIGM9bC5jdXJyZW50Tm9kZSxiPWMubm9kZVR5cGU7YT1iPT09bT9jLmxlbmd0aC0xOmI9PT1oPzE6MH1mdW5jdGlvbiByKCl7aWYobnVsbD09PWwucHJldmlvdXNTaWJsaW5nKCkpe2lmKCFsLnBhcmVudE5vZGUoKXx8bC5jdXJyZW50Tm9kZT09PWcpcmV0dXJuIGwuZmlyc3RDaGlsZCgpLCExO2E9MH1lbHNlIHAoKTtyZXR1cm4hMH1mdW5jdGlvbiBxKCl7dmFyIGI9bC5jdXJyZW50Tm9kZSxkO2Q9YyhiKTtpZihiIT09Zylmb3IoYj1iLnBhcmVudE5vZGU7YiYmCmIhPT1nOyljKGIpPT09eCYmKGwuY3VycmVudE5vZGU9YixkPXgpLGI9Yi5wYXJlbnROb2RlO2Q9PT14PyhhPWwuY3VycmVudE5vZGUubm9kZVR5cGU9PT1tP2IubGVuZ3RoOjEsYj1lLm5leHRQb3NpdGlvbigpKTpiPWQ9PT15PyEwOmUubmV4dFBvc2l0aW9uKCk7YiYmcnVudGltZS5hc3NlcnQoYyhsLmN1cnJlbnROb2RlKT09PXksIm1vdmVUb0FjY2VwdGVkTm9kZSBkaWQgbm90IHJlc3VsdCBpbiB3YWxrZXIgYmVpbmcgb24gYW4gYWNjZXB0ZWQgbm9kZSIpO3JldHVybiBifXZhciBlPXRoaXMsbCxhLGMsbT1Ob2RlLlRFWFRfTk9ERSxoPU5vZGUuRUxFTUVOVF9OT0RFLHk9Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBULHg9Tm9kZUZpbHRlci5GSUxURVJfUkVKRUNUO3RoaXMubmV4dFBvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGM9bC5jdXJyZW50Tm9kZSxiPWMubm9kZVR5cGU7aWYoYz09PWcpcmV0dXJuITE7aWYoMD09PWEmJmI9PT1oKW51bGw9PT1sLmZpcnN0Q2hpbGQoKSYmKGE9MSk7CmVsc2UgaWYoYj09PW0mJmErMTxjLmxlbmd0aClhKz0xO2Vsc2UgaWYobnVsbCE9PWwubmV4dFNpYmxpbmcoKSlhPTA7ZWxzZSBpZihsLnBhcmVudE5vZGUoKSlhPTE7ZWxzZSByZXR1cm4hMTtyZXR1cm4hMH07dGhpcy5wcmV2aW91c1Bvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGM9ITAsYj1sLmN1cnJlbnROb2RlOzA9PT1hP2M9cigpOmIubm9kZVR5cGU9PT1tPy0tYTpudWxsIT09bC5sYXN0Q2hpbGQoKT9wKCk6Yj09PWc/Yz0hMTphPTA7cmV0dXJuIGN9O3RoaXMucHJldmlvdXNOb2RlPXI7dGhpcy5jb250YWluZXI9ZnVuY3Rpb24oKXt2YXIgYz1sLmN1cnJlbnROb2RlLGI9Yy5ub2RlVHlwZTswPT09YSYmYiE9PW0mJihjPWMucGFyZW50Tm9kZSk7cmV0dXJuIGN9O3RoaXMucmlnaHROb2RlPWZ1bmN0aW9uKCl7dmFyIGI9bC5jdXJyZW50Tm9kZSxkPWIubm9kZVR5cGU7aWYoZD09PW0mJmE9PT1iLmxlbmd0aClmb3IoYj1iLm5leHRTaWJsaW5nO2ImJmMoYikhPT15OyliPWIubmV4dFNpYmxpbmc7CmVsc2UgZD09PWgmJjE9PT1hJiYoYj1udWxsKTtyZXR1cm4gYn07dGhpcy5sZWZ0Tm9kZT1mdW5jdGlvbigpe3ZhciBiPWwuY3VycmVudE5vZGU7aWYoMD09PWEpZm9yKGI9Yi5wcmV2aW91c1NpYmxpbmc7YiYmYyhiKSE9PXk7KWI9Yi5wcmV2aW91c1NpYmxpbmc7ZWxzZSBpZihiLm5vZGVUeXBlPT09aClmb3IoYj1iLmxhc3RDaGlsZDtiJiZjKGIpIT09eTspYj1iLnByZXZpb3VzU2libGluZztyZXR1cm4gYn07dGhpcy5nZXRDdXJyZW50Tm9kZT1mdW5jdGlvbigpe3JldHVybiBsLmN1cnJlbnROb2RlfTt0aGlzLnVuZmlsdGVyZWREb21PZmZzZXQ9ZnVuY3Rpb24oKXtpZihsLmN1cnJlbnROb2RlLm5vZGVUeXBlPT09bSlyZXR1cm4gYTtmb3IodmFyIGM9MCxiPWwuY3VycmVudE5vZGUsYj0xPT09YT9iLmxhc3RDaGlsZDpiLnByZXZpb3VzU2libGluZztiOyljKz0xLGI9Yi5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGN9O3RoaXMuZ2V0UHJldmlvdXNTaWJsaW5nPWZ1bmN0aW9uKCl7dmFyIGE9CmwuY3VycmVudE5vZGUsYz1sLnByZXZpb3VzU2libGluZygpO2wuY3VycmVudE5vZGU9YTtyZXR1cm4gY307dGhpcy5nZXROZXh0U2libGluZz1mdW5jdGlvbigpe3ZhciBhPWwuY3VycmVudE5vZGUsYz1sLm5leHRTaWJsaW5nKCk7bC5jdXJyZW50Tm9kZT1hO3JldHVybiBjfTt0aGlzLnNldFBvc2l0aW9uQmVmb3JlRWxlbWVudD1mdW5jdGlvbihjKXtydW50aW1lLmFzc2VydChCb29sZWFuKGMpLCJzZXRQb3NpdGlvbkJlZm9yZUVsZW1lbnQgY2FsbGVkIHdpdGhvdXQgZWxlbWVudCIpO2wuY3VycmVudE5vZGU9YzthPTA7cmV0dXJuIHEoKX07dGhpcy5zZXRVbmZpbHRlcmVkUG9zaXRpb249ZnVuY3Rpb24oYyxiKXtydW50aW1lLmFzc2VydChCb29sZWFuKGMpLCJQb3NpdGlvbkl0ZXJhdG9yLnNldFVuZmlsdGVyZWRQb3NpdGlvbiBjYWxsZWQgd2l0aG91dCBjb250YWluZXIiKTtsLmN1cnJlbnROb2RlPWM7Yy5ub2RlVHlwZT09PW0/KGE9YixydW50aW1lLmFzc2VydChiPD1jLmxlbmd0aCwKIkVycm9yIGluIHNldFBvc2l0aW9uOiAiK2IrIiA+ICIrYy5sZW5ndGgpLHJ1bnRpbWUuYXNzZXJ0KDA8PWIsIkVycm9yIGluIHNldFBvc2l0aW9uOiAiK2IrIiA8IDAiKSxiPT09Yy5sZW5ndGgmJihsLm5leHRTaWJsaW5nKCk/YT0wOmwucGFyZW50Tm9kZSgpP2E9MTpydW50aW1lLmFzc2VydCghMSwiRXJyb3IgaW4gc2V0VW5maWx0ZXJlZFBvc2l0aW9uOiBwb3NpdGlvbiBub3QgdmFsaWQuIikpKTpiPGMuY2hpbGROb2Rlcy5sZW5ndGg/KGwuY3VycmVudE5vZGU9Yy5jaGlsZE5vZGVzLml0ZW0oYiksYT0wKTphPTE7cmV0dXJuIHEoKX07dGhpcy5tb3ZlVG9FbmQ9ZnVuY3Rpb24oKXtsLmN1cnJlbnROb2RlPWc7YT0xfTt0aGlzLm1vdmVUb0VuZE9mTm9kZT1mdW5jdGlvbihjKXtjLm5vZGVUeXBlPT09bT9lLnNldFVuZmlsdGVyZWRQb3NpdGlvbihjLGMubGVuZ3RoKToobC5jdXJyZW50Tm9kZT1jLGE9MSl9O3RoaXMuaXNCZWZvcmVOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT1hfTsKdGhpcy5nZXROb2RlRmlsdGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGN9O2M9KGQ/bmV3IG4oZCk6bmV3IGYpLmFjY2VwdE5vZGU7Yy5hY2NlcHROb2RlPWM7az1rfHxOb2RlRmlsdGVyLlNIT1dfQUxMO3J1bnRpbWUuYXNzZXJ0KGcubm9kZVR5cGUhPT1Ob2RlLlRFWFRfTk9ERSwiSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBhbGxvdyB0cmVlIHdhbGtlciByb290cyB0byBiZSB0ZXh0IG5vZGVzIik7bD1nLm93bmVyRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihnLGssYyxiKTthPTA7bnVsbD09PWwuZmlyc3RDaGlsZCgpJiYoYT0xKX07Y29yZS5Qb3NpdGlvbkZpbHRlcj1mdW5jdGlvbigpe307Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQ9e0ZJTFRFUl9BQ0NFUFQ6MSxGSUxURVJfUkVKRUNUOjIsRklMVEVSX1NLSVA6M307Y29yZS5Qb3NpdGlvbkZpbHRlci5wcm90b3R5cGUuYWNjZXB0UG9zaXRpb249ZnVuY3Rpb24oZyl7fTsKY29yZS5Qb3NpdGlvbkZpbHRlckNoYWluPWZ1bmN0aW9uKCl7dmFyIGc9W10saz1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULGQ9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX1JFSkVDVDt0aGlzLmFjY2VwdFBvc2l0aW9uPWZ1bmN0aW9uKGIpe3ZhciBmO2ZvcihmPTA7ZjxnLmxlbmd0aDtmKz0xKWlmKGdbZl0uYWNjZXB0UG9zaXRpb24oYik9PT1kKXJldHVybiBkO3JldHVybiBrfTt0aGlzLmFkZEZpbHRlcj1mdW5jdGlvbihiKXtnLnB1c2goYil9fTtjb3JlLlN0ZXBEaXJlY3Rpb249e1BSRVZJT1VTOjEsTkVYVDoyfTsKY29yZS5TdGVwSXRlcmF0b3I9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKCl7YT1udWxsO209Yz12b2lkIDB9ZnVuY3Rpb24gYigpe3ZvaWQgMD09PW0mJihtPWcuYWNjZXB0UG9zaXRpb24oayk9PT1lKTtyZXR1cm4gbX1mdW5jdGlvbiBmKGEsYyl7ZCgpO3JldHVybiBrLnNldFVuZmlsdGVyZWRQb3NpdGlvbihhLGMpfWZ1bmN0aW9uIG4oKXthfHwoYT1rLmNvbnRhaW5lcigpKTtyZXR1cm4gYX1mdW5jdGlvbiBwKCl7dm9pZCAwPT09YyYmKGM9ay51bmZpbHRlcmVkRG9tT2Zmc2V0KCkpO3JldHVybiBjfWZ1bmN0aW9uIHIoKXtmb3IoZCgpO2submV4dFBvc2l0aW9uKCk7KWlmKGQoKSxiKCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gcSgpe2ZvcihkKCk7ay5wcmV2aW91c1Bvc2l0aW9uKCk7KWlmKGQoKSxiKCkpcmV0dXJuITA7cmV0dXJuITF9dmFyIGU9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX0FDQ0VQVCxsPWNvcmUuU3RlcERpcmVjdGlvbi5ORVhULAphLGMsbTt0aGlzLmlzU3RlcD1iO3RoaXMuc2V0UG9zaXRpb249Zjt0aGlzLmNvbnRhaW5lcj1uO3RoaXMub2Zmc2V0PXA7dGhpcy5uZXh0U3RlcD1yO3RoaXMucHJldmlvdXNTdGVwPXE7dGhpcy5hZHZhbmNlU3RlcD1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWw/cigpOnEoKX07dGhpcy5yb3VuZFRvQ2xvc2VzdFN0ZXA9ZnVuY3Rpb24oKXt2YXIgYSxjLGQ9YigpO2R8fChhPW4oKSxjPXAoKSxkPXEoKSxkfHwoZihhLGMpLGQ9cigpKSk7cmV0dXJuIGR9O3RoaXMucm91bmRUb1ByZXZpb3VzU3RlcD1mdW5jdGlvbigpe3ZhciBhPWIoKTthfHwoYT1xKCkpO3JldHVybiBhfTt0aGlzLnJvdW5kVG9OZXh0U3RlcD1mdW5jdGlvbigpe3ZhciBhPWIoKTthfHwoYT1yKCkpO3JldHVybiBhfTt0aGlzLmxlZnROb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIGsubGVmdE5vZGUoKX07dGhpcy5zbmFwc2hvdD1mdW5jdGlvbigpe3JldHVybiBuZXcgY29yZS5TdGVwSXRlcmF0b3IuU3RlcFNuYXBzaG90KG4oKSwKcCgpKX07dGhpcy5yZXN0b3JlPWZ1bmN0aW9uKGEpe2YoYS5jb250YWluZXIsYS5vZmZzZXQpfX07Y29yZS5TdGVwSXRlcmF0b3IuU3RlcFNuYXBzaG90PWZ1bmN0aW9uKGcsayl7dGhpcy5jb250YWluZXI9Zzt0aGlzLm9mZnNldD1rfTsKY29yZS5VdGlscz1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoayxkKXtpZihkJiZBcnJheS5pc0FycmF5KGQpKXtrPWt8fFtdO2lmKCFBcnJheS5pc0FycmF5KGspKXRocm93IkRlc3RpbmF0aW9uIGlzIG5vdCBhbiBhcnJheS4iO2s9ay5jb25jYXQoZC5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGcobnVsbCxiKX0pKX1lbHNlIGlmKGQmJiJvYmplY3QiPT09dHlwZW9mIGQpe2s9a3x8e307aWYoIm9iamVjdCIhPT10eXBlb2Ygayl0aHJvdyJEZXN0aW5hdGlvbiBpcyBub3QgYW4gb2JqZWN0LiI7T2JqZWN0LmtleXMoZCkuZm9yRWFjaChmdW5jdGlvbihiKXtrW2JdPWcoa1tiXSxkW2JdKX0pfWVsc2Ugaz1kO3JldHVybiBrfXRoaXMuaGFzaFN0cmluZz1mdW5jdGlvbihnKXt2YXIgZD0wLGIsZjtiPTA7Zm9yKGY9Zy5sZW5ndGg7YjxmO2IrPTEpZD0oZDw8NSktZCtnLmNoYXJDb2RlQXQoYiksZHw9MDtyZXR1cm4gZH07dGhpcy5tZXJnZU9iamVjdHM9ZnVuY3Rpb24oayxkKXtPYmplY3Qua2V5cyhkKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2tbYl09Cmcoa1tiXSxkW2JdKX0pO3JldHVybiBrfX07CmNvcmUuWmlwPWZ1bmN0aW9uKGcsayl7ZnVuY3Rpb24gZChiLGQpe3ZhciBhPXIuZmlsZShiKTthP2QobnVsbCxhLmFzVWludDhBcnJheSgpKTpkKGIrIiBub3QgZm91bmQuIixudWxsKX1mdW5jdGlvbiBiKGIsbCl7ZChiLGZ1bmN0aW9uKGEsYyl7aWYoYXx8bnVsbD09PWMpcmV0dXJuIGwoYSxudWxsKTt2YXIgYj1ydW50aW1lLmJ5dGVBcnJheVRvU3RyaW5nKGMsInV0ZjgiKTtsKG51bGwsYil9KX1mdW5jdGlvbiBmKGIsZCl7dHJ5e2Ioci5nZW5lcmF0ZSh7dHlwZToidWludDhhcnJheSIsY29tcHJlc3Npb246IlNUT1JFIn0pKX1jYXRjaChhKXtkKGEubWVzc2FnZSl9fWZ1bmN0aW9uIG4oYixkKXtmKGZ1bmN0aW9uKGEpe3J1bnRpbWUud3JpdGVGaWxlKGIsYSxkKX0sZCl9dmFyIHA9dGhpcyxyLHE9bmV3IGNvcmUuQmFzZTY0O3RoaXMubG9hZD1kO3RoaXMuc2F2ZT1mdW5jdGlvbihiLGQsYSxjKXtyLmZpbGUoYixkLHtkYXRlOmMsY29tcHJlc3Npb246YT8iREVGTEFURSI6IlNUT1JFIn0pfTsKdGhpcy5yZW1vdmU9ZnVuY3Rpb24oYil7dmFyIGQ9bnVsbCE9PXIuZmlsZShiKTtyLnJlbW92ZShiKTtyZXR1cm4gZH07dGhpcy53cml0ZT1mdW5jdGlvbihiKXtuKGcsYil9O3RoaXMud3JpdGVBcz1uO3RoaXMuY3JlYXRlQnl0ZUFycmF5PWY7dGhpcy5sb2FkQ29udGVudFhtbEFzRnJhZ21lbnRzPWZ1bmN0aW9uKGQsbCl7YihkLGZ1bmN0aW9uKGEsYyl7aWYoYSlyZXR1cm4gbC5yb290RWxlbWVudFJlYWR5KGEpO2wucm9vdEVsZW1lbnRSZWFkeShudWxsLGMsITApfSl9O3RoaXMubG9hZEFzU3RyaW5nPWI7dGhpcy5sb2FkQXNET009ZnVuY3Rpb24oZCxsKXtiKGQsZnVuY3Rpb24oYSxjKXtpZihhfHxudWxsPT09YylsKGEsbnVsbCk7ZWxzZXt2YXIgYj0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGMsInRleHQveG1sIik7bChudWxsLGIpfX0pfTt0aGlzLmxvYWRBc0RhdGFVUkw9ZnVuY3Rpb24oYixsLGEpe2QoYixmdW5jdGlvbihjLGIpe2lmKGN8fCFiKXJldHVybiBhKGMsCm51bGwpO3ZhciBkPTAsZTtsfHwobD04MD09PWJbMV0mJjc4PT09YlsyXSYmNzE9PT1iWzNdPyJpbWFnZS9wbmciOjI1NT09PWJbMF0mJjIxNj09PWJbMV0mJjI1NT09PWJbMl0/ImltYWdlL2pwZWciOjcxPT09YlswXSYmNzM9PT1iWzFdJiY3MD09PWJbMl0/ImltYWdlL2dpZiI6IiIpO2ZvcihlPSJkYXRhOiIrbCsiO2Jhc2U2NCwiO2Q8Yi5sZW5ndGg7KWUrPXEuY29udmVydFVURjhBcnJheVRvQmFzZTY0KGIuc3ViYXJyYXkoZCxNYXRoLm1pbihkKzQ1RTMsYi5sZW5ndGgpKSksZCs9NDVFMzthKG51bGwsZSl9KX07dGhpcy5nZXRFbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHIuZmlsZXMpLm1hcChmdW5jdGlvbihiKXtyZXR1cm57ZmlsZW5hbWU6YixkYXRlOnIuZmlsZXNbYl0uZGF0ZX19KX07cj1uZXcgZXh0ZXJucy5KU1ppcDtudWxsIT09ayYmcnVudGltZS5yZWFkRmlsZShnLCJiaW5hcnkiLGZ1bmN0aW9uKGIsZCl7InN0cmluZyI9PT10eXBlb2YgZCYmKGI9CiJmaWxlIHdhcyByZWFkIGFzIGEgc3RyaW5nLiBTaG91bGQgYmUgVWludDhBcnJheS4iKTtpZihifHwhZHx8MD09PWQubGVuZ3RoKWsoIkZpbGUgJyIrZysiJyBjYW5ub3QgYmUgcmVhZC4gRXJyOiAiKyhifHwiW25vbmVdIikscCk7ZWxzZSB0cnl7ci5sb2FkKGQse2NoZWNrQ1JDMzI6ITF9KSxrKG51bGwscCl9Y2F0Y2goYSl7ayhhLm1lc3NhZ2UscCl9fSl9O2NvcmUuU2ltcGxlQ2xpZW50UmVjdD1udWxsO2d1aS5Db21tb25Db25zdHJhaW50cz17RURJVDp7QU5OT1RBVElPTlM6e09OTFlfREVMRVRFX09XTjoib25seURlbGV0ZU93biJ9LFJFVklFV19NT0RFOiJyZXZpZXdNb2RlIn19OwpndWkuU2Vzc2lvbkNvbnN0cmFpbnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiKXtrLmhhc093blByb3BlcnR5KGIpfHwoa1tiXT0hMSxkLnJlZ2lzdGVyKGIpKX12YXIgaz17fSxkPW5ldyBjb3JlLkV2ZW50Tm90aWZpZXI7dGhpcy5yZWdpc3RlckNvbnN0cmFpbnQ9Zzt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihiLGYpe2coYik7ZC5zdWJzY3JpYmUoYixmKX07dGhpcy51bnN1YnNjcmliZT1mdW5jdGlvbihiLGYpe2QudW5zdWJzY3JpYmUoYixmKX07dGhpcy5zZXRTdGF0ZT1mdW5jdGlvbihiLGYpe3J1bnRpbWUuYXNzZXJ0KCEwPT09ay5oYXNPd25Qcm9wZXJ0eShiKSwiTm8gc3VjaCBjb25zdHJhaW50Iik7a1tiXSE9PWYmJihrW2JdPWYsZC5lbWl0KGIsZikpfTt0aGlzLmdldFN0YXRlPWZ1bmN0aW9uKGIpe3J1bnRpbWUuYXNzZXJ0KCEwPT09ay5oYXNPd25Qcm9wZXJ0eShiKSwiTm8gc3VjaCBjb25zdHJhaW50Iik7cmV0dXJuIGtbYl19fTsKZ3VpLkJsYWNrbGlzdE5hbWVzcGFjZU5vZGVGaWx0ZXI9ZnVuY3Rpb24oZyl7dmFyIGs9e30sZD1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1QsYj1Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQ7dGhpcy5hY2NlcHROb2RlPWZ1bmN0aW9uKGYpe3JldHVybiFmfHxrLmhhc093blByb3BlcnR5KGYubmFtZXNwYWNlVVJJKT9kOmJ9OyhmdW5jdGlvbigpe2cuZm9yRWFjaChmdW5jdGlvbihiKXtrW2JdPSEwfSl9KSgpfTsKb2RmLk5hbWVzcGFjZXM9e25hbWVzcGFjZU1hcDp7Y29uZmlnOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNvbmZpZzoxLjAiLGRiOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFiYXNlOjEuMCIsZGM6Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIixkcjNkOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyM2Q6MS4wIixkcmF3OiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyYXdpbmc6MS4wIixjaGFydDoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpjaGFydDoxLjAiLGZvOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIsZm9ybToidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpmb3JtOjEuMCIsbWF0aDoiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsCm1ldGE6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWV0YToxLjAiLG51bWJlcjoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkYXRhc3R5bGU6MS4wIixvZmZpY2U6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIscHJlc2VudGF0aW9uOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnByZXNlbnRhdGlvbjoxLjAiLHN0eWxlOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN0eWxlOjEuMCIsc3ZnOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN2Zy1jb21wYXRpYmxlOjEuMCIsdGFibGU6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIix0ZXh0OiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIix4Zm9ybXM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDIveGZvcm1zIiwKeGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIn0scHJlZml4TWFwOnt9LGNvbmZpZ25zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNvbmZpZzoxLjAiLGRibnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZGF0YWJhc2U6MS4wIixkY25zOiJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIsZHIzZG5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyM2Q6MS4wIixkcmF3bnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHJhd2luZzoxLjAiLGNoYXJ0bnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Y2hhcnQ6MS4wIixmb25zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIsZm9ybW5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmZvcm06MS4wIiwKbWF0aG5zOiJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixtZXRhbnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWV0YToxLjAiLG51bWJlcm5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFzdHlsZToxLjAiLG9mZmljZW5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLHByZXNlbnRhdGlvbm5zOiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnByZXNlbnRhdGlvbjoxLjAiLHN0eWxlbnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIixzdmduczoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiLHRhYmxlbnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIix0ZXh0bnM6InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjAiLAp4Zm9ybXNuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMi94Zm9ybXMiLHhsaW5rbnM6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UifTsoZnVuY3Rpb24oKXt2YXIgZz1vZGYuTmFtZXNwYWNlcy5uYW1lc3BhY2VNYXAsaz1vZGYuTmFtZXNwYWNlcy5wcmVmaXhNYXAsZDtmb3IoZCBpbiBnKWcuaGFzT3duUHJvcGVydHkoZCkmJihrW2dbZF1dPWQpfSkoKTtvZGYuTmFtZXNwYWNlcy5mb3JFYWNoUHJlZml4PWZ1bmN0aW9uKGcpe3ZhciBrPW9kZi5OYW1lc3BhY2VzLm5hbWVzcGFjZU1hcCxkO2ZvcihkIGluIGspay5oYXNPd25Qcm9wZXJ0eShkKSYmZyhkLGtbZF0pfTsKb2RmLk5hbWVzcGFjZXMubG9va3VwTmFtZXNwYWNlVVJJPWZ1bmN0aW9uKGcpe3ZhciBrPW51bGw7b2RmLk5hbWVzcGFjZXMubmFtZXNwYWNlTWFwLmhhc093blByb3BlcnR5KGcpJiYoaz1vZGYuTmFtZXNwYWNlcy5uYW1lc3BhY2VNYXBbZ10pO3JldHVybiBrfTtvZGYuTmFtZXNwYWNlcy5sb29rdXBQcmVmaXg9ZnVuY3Rpb24oZyl7dmFyIGs9b2RmLk5hbWVzcGFjZXMucHJlZml4TWFwO3JldHVybiBrLmhhc093blByb3BlcnR5KGcpP2tbZ106bnVsbH07b2RmLk5hbWVzcGFjZXMubG9va3VwTmFtZXNwYWNlVVJJLmxvb2t1cE5hbWVzcGFjZVVSST1vZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkk7CihmdW5jdGlvbigpe29kZi5PZGZTY2hlbWFJbXBsPWZ1bmN0aW9uKCl7dmFyIGc9W1siY29uZmlnOmNvbmZpZy1pdGVtIiwidW5jYXRlZ29yaXplZCJdLFsiZm9ybTppdGVtIiwib2JqZWN0Il0sWyJmb3JtOm9wdGlvbiIsInVuY2F0ZWdvcml6ZWQiXSxbIm1hdGg6bWF0aCIsImZpZWxkIl0sWyJtZXRhOnVzZXItZGVmaW5lZCIsInVuY2F0ZWdvcml6ZWQiXSxbIm51bWJlcjpjdXJyZW5jeS1zeW1ib2wiLCJ1bmNhdGVnb3JpemVkIl0sWyJudW1iZXI6ZW1iZWRkZWQtdGV4dCIsInVuY2F0ZWdvcml6ZWQiXSxbIm51bWJlcjp0ZXh0IiwidW5jYXRlZ29yaXplZCJdLFsicHJlc2VudGF0aW9uOmRhdGUtdGltZS1kZWNsIiwidW5jYXRlZ29yaXplZCJdLFsicHJlc2VudGF0aW9uOmZvb3Rlci1kZWNsIiwidW5jYXRlZ29yaXplZCJdLFsicHJlc2VudGF0aW9uOmhlYWRlci1kZWNsIiwidW5jYXRlZ29yaXplZCJdLFsic3ZnOmRlc2MiLCJ0ZXh0Il0sWyJzdmc6dGl0bGUiLCJ0ZXh0Il0sWyJ0YWJsZTpkZXNjIiwKInVuY2F0ZWdvcml6ZWQiXSxbInRhYmxlOnRpdGxlIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDphIiwidGV4dCJdLFsidGV4dDphdXRob3ItaW5pdGlhbHMiLCJmaWVsZCJdLFsidGV4dDphdXRob3ItbmFtZSIsImZpZWxkIl0sWyJ0ZXh0OmJpYmxpb2dyYXBoeS1tYXJrIiwiZmllbGQiXSxbInRleHQ6Ym9va21hcmstcmVmIiwiZmllbGQiXSxbInRleHQ6Y2hhcHRlciIsImZpZWxkIl0sWyJ0ZXh0OmNoYXJhY3Rlci1jb3VudCIsImZpZWxkIl0sWyJ0ZXh0OmNvbmRpdGlvbmFsLXRleHQiLCJmaWVsZCJdLFsidGV4dDpjcmVhdGlvbi1kYXRlIiwiZmllbGQiXSxbInRleHQ6Y3JlYXRpb24tdGltZSIsImZpZWxkIl0sWyJ0ZXh0OmNyZWF0b3IiLCJmaWVsZCJdLFsidGV4dDpkYXRhYmFzZS1kaXNwbGF5IiwiZmllbGQiXSxbInRleHQ6ZGF0YWJhc2UtbmFtZSIsImZpZWxkIl0sWyJ0ZXh0OmRhdGFiYXNlLXJvdy1udW1iZXIiLCJmaWVsZCJdLFsidGV4dDpkYXRlIiwiZmllbGQiXSxbInRleHQ6ZGRlLWNvbm5lY3Rpb24iLAoiZmllbGQiXSxbInRleHQ6ZGVzY3JpcHRpb24iLCJmaWVsZCJdLFsidGV4dDplZGl0aW5nLWN5Y2xlcyIsImZpZWxkIl0sWyJ0ZXh0OmVkaXRpbmctZHVyYXRpb24iLCJmaWVsZCJdLFsidGV4dDpleGVjdXRlLW1hY3JvIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDpleHByZXNzaW9uIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDpmaWxlLW5hbWUiLCJmaWVsZCJdLFsidGV4dDpoIiwidGV4dCJdLFsidGV4dDpoaWRkZW4tcGFyYWdyYXBoIiwidGV4dCJdLFsidGV4dDpoaWRkZW4tdGV4dCIsInRleHQiXSxbInRleHQ6aW1hZ2UtY291bnQiLCJmaWVsZCJdLFsidGV4dDppbmRleC1lbnRyeS1zcGFuIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDppbmRleC10aXRsZS10ZW1wbGF0ZSIsInVuY2F0ZWdvcml6ZWQiXSxbInRleHQ6aW5pdGlhbC1jcmVhdG9yIiwiZmllbGQiXSxbInRleHQ6a2V5d29yZHMiLCJmaWVsZCJdLFsidGV4dDpsaW5lbnVtYmVyaW5nLXNlcGFyYXRvciIsInN0eWxlIl0sClsidGV4dDptZWFzdXJlIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDptZXRhIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDptZXRhLWZpZWxkIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDptb2RpZmljYXRpb24tZGF0ZSIsImZpZWxkIl0sWyJ0ZXh0Om1vZGlmaWNhdGlvbi10aW1lIiwiZmllbGQiXSxbInRleHQ6bm90ZS1jaXRhdGlvbiIsImZpZWxkIl0sWyJ0ZXh0Om5vdGUtY29udGludWF0aW9uLW5vdGljZS1iYWNrd2FyZCIsInN0eWxlIl0sWyJ0ZXh0Om5vdGUtY29udGludWF0aW9uLW5vdGljZS1mb3J3YXJkIiwic3R5bGUiXSxbInRleHQ6bm90ZS1yZWYiLCJmaWVsZCJdLFsidGV4dDpvYmplY3QtY291bnQiLCJmaWVsZCJdLFsidGV4dDpwIiwidGV4dCJdLFsidGV4dDpwYWdlLWNvbnRpbnVhdGlvbiIsInVuY2F0ZWdvcml6ZWQiXSxbInRleHQ6cGFnZS1jb3VudCIsImZpZWxkIl0sWyJ0ZXh0OnBhZ2UtbnVtYmVyIiwiZmllbGQiXSxbInRleHQ6cGFnZS12YXJpYWJsZS1nZXQiLAoiZmllbGQiXSxbInRleHQ6cGFnZS12YXJpYWJsZS1zZXQiLCJmaWVsZCJdLFsidGV4dDpwYXJhZ3JhcGgtY291bnQiLCJmaWVsZCJdLFsidGV4dDpwbGFjZWhvbGRlciIsImZpZWxkIl0sWyJ0ZXh0OnByaW50LWRhdGUiLCJmaWVsZCJdLFsidGV4dDpwcmludC10aW1lIiwiZmllbGQiXSxbInRleHQ6cHJpbnRlZC1ieSIsImZpZWxkIl0sWyJ0ZXh0OnJlZmVyZW5jZS1yZWYiLCJmaWVsZCJdLFsidGV4dDpydWJ5LWJhc2UiLCJ0ZXh0Il0sWyJ0ZXh0OnJ1YnktdGV4dCIsInRleHQiXSxbInRleHQ6c2NyaXB0IiwidGV4dCJdLFsidGV4dDpzZW5kZXItY2l0eSIsImZpZWxkIl0sWyJ0ZXh0OnNlbmRlci1jb21wYW55IiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLWNvdW50cnkiLCJmaWVsZCJdLFsidGV4dDpzZW5kZXItZW1haWwiLCJmaWVsZCJdLFsidGV4dDpzZW5kZXItZmF4IiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLWZpcnN0bmFtZSIsImZpZWxkIl0sWyJ0ZXh0OnNlbmRlci1pbml0aWFscyIsCiJmaWVsZCJdLFsidGV4dDpzZW5kZXItbGFzdG5hbWUiLCJmaWVsZCJdLFsidGV4dDpzZW5kZXItcGhvbmUtcHJpdmF0ZSIsImZpZWxkIl0sWyJ0ZXh0OnNlbmRlci1waG9uZS13b3JrIiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLXBvc2l0aW9uIiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLXBvc3RhbC1jb2RlIiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLXN0YXRlLW9yLXByb3ZpbmNlIiwiZmllbGQiXSxbInRleHQ6c2VuZGVyLXN0cmVldCIsImZpZWxkIl0sWyJ0ZXh0OnNlbmRlci10aXRsZSIsImZpZWxkIl0sWyJ0ZXh0OnNlcXVlbmNlIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDpzZXF1ZW5jZS1yZWYiLCJ1bmNhdGVnb3JpemVkIl0sWyJ0ZXh0OnNoZWV0LW5hbWUiLCJ1bmNhdGVnb3JpemVkIl0sWyJ0ZXh0OnNwYW4iLCJ0ZXh0Il0sWyJ0ZXh0OnN1YmplY3QiLCJmaWVsZCJdLFsidGV4dDp0YWJsZS1jb3VudCIsImZpZWxkIl0sWyJ0ZXh0OnRhYmxlLWZvcm11bGEiLCJkZXByZWNhdGVkIl0sClsidGV4dDp0ZW1wbGF0ZS1uYW1lIiwidW5jYXRlZ29yaXplZCJdLFsidGV4dDp0ZXh0LWlucHV0IiwiZmllbGQiXSxbInRleHQ6dGltZSIsImZpZWxkIl0sWyJ0ZXh0OnRpdGxlIiwiZmllbGQiXSxbInRleHQ6dXNlci1kZWZpbmVkIiwiZmllbGQiXSxbInRleHQ6dXNlci1maWVsZC1nZXQiLCJmaWVsZCJdLFsidGV4dDp1c2VyLWZpZWxkLWlucHV0IiwiZmllbGQiXSxbInRleHQ6dmFyaWFibGUtZ2V0IiwiZmllbGQiXSxbInRleHQ6dmFyaWFibGUtaW5wdXQiLCJmaWVsZCJdLFsidGV4dDp2YXJpYWJsZS1zZXQiLCJmaWVsZCJdLFsidGV4dDp3b3JkLWNvdW50IiwiZmllbGQiXSxbInhmb3Jtczptb2RlbCIsInVuY2F0ZWdvcml6ZWQiXV0saz17fTt0aGlzLmlzVGV4dENvbnRhaW5lcj1mdW5jdGlvbihkLGIpe3JldHVybiJ0ZXh0Ij09PWtbZCsiOiIrYl19O3RoaXMuaXNGaWVsZD1mdW5jdGlvbihkLGIpe3JldHVybiJmaWVsZCI9PT1rW2QrIjoiK2JdfTt0aGlzLmdldEZpZWxkcz1mdW5jdGlvbigpe3JldHVybiBnLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4iZmllbGQiPT09CmRbMV19KS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGRbMF19KX07KGZ1bmN0aW9uKCl7Zy5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBiPWRbMV0sZj1kWzBdLnNwbGl0KCI6Iik7ZD1mWzBdO3ZhciBmPWZbMV0sbj1vZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkoZCk7bj9rW24rIjoiK2ZdPWI6cnVudGltZS5sb2coIkRFQlVHOiBPZGZTY2hlbWEgLSB1bmtub3duIHByZWZpeCAnIitkKyInIil9KX0pKCl9O29kZi5PZGZTY2hlbWE9bmV3IG9kZi5PZGZTY2hlbWFJbXBsfSkoKTsKb2RmLk9kZlV0aWxzSW1wbD1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuImltYWdlIj09PShhJiZhLmxvY2FsTmFtZSkmJmEubmFtZXNwYWNlVVJJPT09Un1mdW5jdGlvbiBrKGEpe3JldHVybiBudWxsIT09YSYmYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYiZnJhbWUiPT09YS5sb2NhbE5hbWUmJmEubmFtZXNwYWNlVVJJPT09UiYmImFzLWNoYXIiPT09YS5nZXRBdHRyaWJ1dGVOUyhKLCJhbmNob3ItdHlwZSIpfWZ1bmN0aW9uIGQoYSl7dmFyIGM7KGM9ImFubm90YXRpb24iPT09KGEmJmEubG9jYWxOYW1lKSYmYS5uYW1lc3BhY2VVUkk9PT1vZGYuTmFtZXNwYWNlcy5vZmZpY2Vucyl8fChjPSJkaXYiPT09KGEmJmEubG9jYWxOYW1lKSYmImFubm90YXRpb25XcmFwcGVyIj09PWEuY2xhc3NOYW1lKTtyZXR1cm4gY31mdW5jdGlvbiBiKGEpe3JldHVybiJhIj09PShhJiZhLmxvY2FsTmFtZSkmJmEubmFtZXNwYWNlVVJJPT09Sn1mdW5jdGlvbiBmKGEpe3ZhciBjPQphJiZhLmxvY2FsTmFtZTtyZXR1cm4oInAiPT09Y3x8ImgiPT09YykmJmEubmFtZXNwYWNlVVJJPT09Sn1mdW5jdGlvbiBuKGEsYyl7Zm9yKGEmJnZvaWQgMCE9PWMmJiFmKGEpJiZhLmNoaWxkTm9kZXMuaXRlbShjKSYmKGE9YS5jaGlsZE5vZGVzLml0ZW0oYykpO2EmJiFmKGEpOylhPWEucGFyZW50Tm9kZTtyZXR1cm4gYX1mdW5jdGlvbiBwKGEsYyl7Zm9yKDthJiZhIT09Yzspe2lmKGEubmFtZXNwYWNlVVJJPT09b2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMmJiJhbm5vdGF0aW9uIj09PWEubG9jYWxOYW1lKXJldHVybiBhO2E9YS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIHIoYSl7cmV0dXJuL15bIFx0XHJcbl0rJC8udGVzdChhKX1mdW5jdGlvbiBxKGEpe2lmKG51bGw9PT1hfHxhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuITE7dmFyIGM9YS5sb2NhbE5hbWU7cmV0dXJuIGZhLmlzVGV4dENvbnRhaW5lcihhLm5hbWVzcGFjZVVSSSxjKXx8InNwYW4iPT09CmMmJiJ3ZWJvZGYtYW5ub3RhdGlvbkhpZ2hsaWdodCI9PT1hLmNsYXNzTmFtZX1mdW5jdGlvbiBlKGEpe3JldHVybiBudWxsPT09YXx8YS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFPyExOmZhLmlzRmllbGQoYS5uYW1lc3BhY2VVUkksYS5sb2NhbE5hbWUpfWZ1bmN0aW9uIGwoYSl7dmFyIGM9YSYmYS5sb2NhbE5hbWUsYj0hMTtjJiYoYT1hLm5hbWVzcGFjZVVSSSxhPT09SiYmKGI9InMiPT09Y3x8InRhYiI9PT1jfHwibGluZS1icmVhayI9PT1jKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gYShhKXtyZXR1cm4gbChhKXx8ZShhKXx8ayhhKXx8ZChhKX1mdW5jdGlvbiBjKGEpe3ZhciBjPWEmJmEubG9jYWxOYW1lLGI9ITE7YyYmKGE9YS5uYW1lc3BhY2VVUkksYT09PUomJihiPSJzIj09PWMpKTtyZXR1cm4gYn1mdW5jdGlvbiBtKGEpe3JldHVybi0xIT09Uy5pbmRleE9mKGEubmFtZXNwYWNlVVJJKX1mdW5jdGlvbiBoKGEpe2lmKGwoYSl8fGUoYSkpcmV0dXJuITE7aWYocShhLnBhcmVudE5vZGUpJiYKYS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiAwPT09YS50ZXh0Q29udGVudC5sZW5ndGg7Zm9yKGE9YS5maXJzdENoaWxkO2E7KXtpZihtKGEpfHwhaChhKSlyZXR1cm4hMTthPWEubmV4dFNpYmxpbmd9cmV0dXJuITB9ZnVuY3Rpb24geShhKXtmb3IoO251bGwhPT1hLmZpcnN0Q2hpbGQmJnEoYSk7KWE9YS5maXJzdENoaWxkO3JldHVybiBhfWZ1bmN0aW9uIHgoYSl7Zm9yKDtudWxsIT09YS5sYXN0Q2hpbGQmJnEoYSk7KWE9YS5sYXN0Q2hpbGQ7cmV0dXJuIGF9ZnVuY3Rpb24geihhKXtmb3IoOyFmKGEpJiZudWxsPT09YS5wcmV2aW91c1NpYmxpbmc7KWE9YS5wYXJlbnROb2RlO3JldHVybiBmKGEpP251bGw6eChhLnByZXZpb3VzU2libGluZyl9ZnVuY3Rpb24gdyhhKXtmb3IoOyFmKGEpJiZudWxsPT09YS5uZXh0U2libGluZzspYT1hLnBhcmVudE5vZGU7cmV0dXJuIGYoYSk/bnVsbDp5KGEubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHYoYil7Zm9yKHZhciBkPSExO2I7KWlmKGIubm9kZVR5cGU9PT0KTm9kZS5URVhUX05PREUpaWYoMD09PWIubGVuZ3RoKWI9eihiKTtlbHNlIHJldHVybiFyKGIuZGF0YS5zdWJzdHIoYi5sZW5ndGgtMSwxKSk7ZWxzZSBhKGIpPyhkPSExPT09YyhiKSxiPW51bGwpOmI9eihiKTtyZXR1cm4gZH1mdW5jdGlvbiB1KGMpe3ZhciBiPSExLGQ7Zm9yKGM9YyYmeShjKTtjOyl7ZD1jLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/Yy5sZW5ndGg6MDtpZigwPGQmJiFyKGMuZGF0YSkpe2I9ITA7YnJlYWt9aWYoYShjKSl7Yj0hMDticmVha31jPXcoYyl9cmV0dXJuIGJ9ZnVuY3Rpb24gdChhLGMpe3JldHVybiByKGEuZGF0YS5zdWJzdHIoYykpPyF1KHcoYSkpOiExfWZ1bmN0aW9uIEEoYyxiKXt2YXIgZD1jLmRhdGEsbTtpZighcihkW2JdKXx8YShjLnBhcmVudE5vZGUpKXJldHVybiExOzA8Yj9yKGRbYi0xXSl8fChtPSEwKTp2KHooYykpJiYobT0hMCk7cmV0dXJuITA9PT1tP3QoYyxiKT8hMTohMDohMX1mdW5jdGlvbiBJKGEpe3JldHVybihhPS8oLT9bMC05XSpbMC05XVswLTldKihcLlswLTldKik/fDArXC5bMC05XSpbMS05XVswLTldKnxcLlswLTldKlsxLTldWzAtOV0qKSgoY20pfChtbSl8KGluKXwocHQpfChwYyl8KHB4KXwoJSkpLy5leGVjKGEpKT8Ke3ZhbHVlOnBhcnNlRmxvYXQoYVsxXSksdW5pdDphWzNdfTpudWxsfWZ1bmN0aW9uIEsoYSl7cmV0dXJuKGE9SShhKSkmJigwPmEudmFsdWV8fCIlIj09PWEudW5pdCk/bnVsbDphfWZ1bmN0aW9uIEwoYSl7cmV0dXJuKGE9SShhKSkmJiIlIiE9PWEudW5pdD9udWxsOmF9ZnVuY3Rpb24gRShhKXtzd2l0Y2goYS5uYW1lc3BhY2VVUkkpe2Nhc2Ugb2RmLk5hbWVzcGFjZXMuZHJhd25zOmNhc2Ugb2RmLk5hbWVzcGFjZXMuc3ZnbnM6Y2FzZSBvZGYuTmFtZXNwYWNlcy5kcjNkbnM6cmV0dXJuITE7Y2FzZSBvZGYuTmFtZXNwYWNlcy50ZXh0bnM6c3dpdGNoKGEubG9jYWxOYW1lKXtjYXNlICJub3RlLWJvZHkiOmNhc2UgInJ1YnktdGV4dCI6cmV0dXJuITF9YnJlYWs7Y2FzZSBvZGYuTmFtZXNwYWNlcy5vZmZpY2Vuczpzd2l0Y2goYS5sb2NhbE5hbWUpe2Nhc2UgImFubm90YXRpb24iOmNhc2UgImJpbmFyeS1kYXRhIjpjYXNlICJldmVudC1saXN0ZW5lcnMiOnJldHVybiExfWJyZWFrO2RlZmF1bHQ6c3dpdGNoKGEubG9jYWxOYW1lKXtjYXNlICJjdXJzb3IiOmNhc2UgImVkaXRpbmZvIjpyZXR1cm4hMX19cmV0dXJuITB9CmZ1bmN0aW9uIE4oYSl7cmV0dXJuIEJvb2xlYW4obihhKSYmKCFyKGEudGV4dENvbnRlbnQpfHxBKGEsMCkpKX1mdW5jdGlvbiBPKGEsYyl7Zm9yKDswPGMubGVuZ3RoJiYhYWEucmFuZ2VDb250YWluc05vZGUoYSxjWzBdKTspYy5zaGlmdCgpO2Zvcig7MDxjLmxlbmd0aCYmIWFhLnJhbmdlQ29udGFpbnNOb2RlKGEsY1tjLmxlbmd0aC0xXSk7KWMucG9wKCl9ZnVuY3Rpb24gRChjLGIsbSl7dmFyIGg7aD1hYS5nZXROb2Rlc0luUmFuZ2UoYyxmdW5jdGlvbihjKXt2YXIgYj1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q7aWYobChjLnBhcmVudE5vZGUpfHxlKGMucGFyZW50Tm9kZSl8fGQoYykpYj1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q7ZWxzZSBpZihjLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpe2lmKG18fE4oYykpYj1Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFR9ZWxzZSBpZihhKGMpKWI9Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUO2Vsc2UgaWYoRShjKXx8cShjKSliPU5vZGVGaWx0ZXIuRklMVEVSX1NLSVA7CnJldHVybiBifSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVHxOb2RlRmlsdGVyLlNIT1dfVEVYVCk7Ynx8TyhjLGgpO3JldHVybiBofWZ1bmN0aW9uIFYoYSxjLGIpe2Zvcig7YTspe2lmKGIoYSkpe2NbMF0hPT1hJiZjLnVuc2hpZnQoYSk7YnJlYWt9aWYoZChhKSlicmVhazthPWEucGFyZW50Tm9kZX19ZnVuY3Rpb24gVyhhLGMpe3ZhciBiPWE7aWYoYzxiLmNoaWxkTm9kZXMubGVuZ3RoLTEpYj1iLmNoaWxkTm9kZXNbYysxXTtlbHNle2Zvcig7IWIubmV4dFNpYmxpbmc7KWI9Yi5wYXJlbnROb2RlO2I9Yi5uZXh0U2libGluZ31mb3IoO2IuZmlyc3RDaGlsZDspYj1iLmZpcnN0Q2hpbGQ7cmV0dXJuIGJ9dmFyIEo9b2RmLk5hbWVzcGFjZXMudGV4dG5zLFI9b2RmLk5hbWVzcGFjZXMuZHJhd25zLFA9b2RmLk5hbWVzcGFjZXMueGxpbmtucyxhYT1jb3JlLkRvbVV0aWxzLFM9W29kZi5OYW1lc3BhY2VzLmRibnMsb2RmLk5hbWVzcGFjZXMuZGNucyxvZGYuTmFtZXNwYWNlcy5kcjNkbnMsb2RmLk5hbWVzcGFjZXMuZHJhd25zLApvZGYuTmFtZXNwYWNlcy5jaGFydG5zLG9kZi5OYW1lc3BhY2VzLmZvcm1ucyxvZGYuTmFtZXNwYWNlcy5udW1iZXJucyxvZGYuTmFtZXNwYWNlcy5vZmZpY2VucyxvZGYuTmFtZXNwYWNlcy5wcmVzZW50YXRpb25ucyxvZGYuTmFtZXNwYWNlcy5zdHlsZW5zLG9kZi5OYW1lc3BhY2VzLnN2Z25zLG9kZi5OYW1lc3BhY2VzLnRhYmxlbnMsb2RmLk5hbWVzcGFjZXMudGV4dG5zXSxmYT1vZGYuT2RmU2NoZW1hO3RoaXMuaXNJbWFnZT1nO3RoaXMuaXNDaGFyYWN0ZXJGcmFtZT1rO3RoaXMuaXNJbmxpbmVSb290PWQ7dGhpcy5pc1RleHRTcGFuPWZ1bmN0aW9uKGEpe3JldHVybiJzcGFuIj09PShhJiZhLmxvY2FsTmFtZSkmJmEubmFtZXNwYWNlVVJJPT09Sn07dGhpcy5pc0h5cGVybGluaz1iO3RoaXMuZ2V0SHlwZXJsaW5rVGFyZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZU5TKFAsImhyZWYiKXx8IiJ9O3RoaXMuaXNQYXJhZ3JhcGg9Zjt0aGlzLmdldFBhcmFncmFwaEVsZW1lbnQ9Cm47dGhpcy5nZXRQYXJlbnRBbm5vdGF0aW9uPXA7dGhpcy5pc1dpdGhpbkFubm90YXRpb249ZnVuY3Rpb24oYSxjKXtyZXR1cm4gQm9vbGVhbihwKGEsYykpfTt0aGlzLmdldEFubm90YXRpb25DcmVhdG9yPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMob2RmLk5hbWVzcGFjZXMuZGNucywiY3JlYXRvciIpWzBdLnRleHRDb250ZW50fTt0aGlzLmlzTGlzdEl0ZW09ZnVuY3Rpb24oYSl7cmV0dXJuImxpc3QtaXRlbSI9PT0oYSYmYS5sb2NhbE5hbWUpJiZhLm5hbWVzcGFjZVVSST09PUp9O3RoaXMuaXNMaW5lQnJlYWs9ZnVuY3Rpb24oYSl7cmV0dXJuImxpbmUtYnJlYWsiPT09KGEmJmEubG9jYWxOYW1lKSYmYS5uYW1lc3BhY2VVUkk9PT1KfTt0aGlzLmlzT0RGV2hpdGVzcGFjZT1yO3RoaXMuaXNHcm91cGluZ0VsZW1lbnQ9cTt0aGlzLmlzRmllbGRFbGVtZW50PWU7dGhpcy5pc0NoYXJhY3RlckVsZW1lbnQ9bDt0aGlzLmlzQW5jaG9yZWRBc0NoYXJhY3RlckVsZW1lbnQ9CmE7dGhpcy5pc1NwYWNlRWxlbWVudD1jO3RoaXMuaXNPREZOb2RlPW07dGhpcy5oYXNOb09ERkNvbnRlbnQ9aDt0aGlzLmZpcnN0Q2hpbGQ9eTt0aGlzLmxhc3RDaGlsZD14O3RoaXMucHJldmlvdXNOb2RlPXo7dGhpcy5uZXh0Tm9kZT13O3RoaXMuc2NhbkxlZnRGb3JOb25TcGFjZT12O3RoaXMubG9va0xlZnRGb3JDaGFyYWN0ZXI9ZnVuY3Rpb24oYyl7dmFyIGIsZD1iPTA7Yy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoZD1jLmxlbmd0aCk7MDxkPyhiPWMuZGF0YSxiPXIoYi5zdWJzdHIoZC0xLDEpKT8xPT09ZD92KHooYykpPzI6MDpyKGIuc3Vic3RyKGQtMiwxKSk/MDoyOjEpOmEoYykmJihiPTEpO3JldHVybiBifTt0aGlzLmxvb2tSaWdodEZvckNoYXJhY3Rlcj1mdW5jdGlvbihjKXt2YXIgYj0hMSxkPTA7YyYmYy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoZD1jLmxlbmd0aCk7MDxkP2I9IXIoYy5kYXRhLnN1YnN0cigwLDEpKTphKGMpJiYoYj0hMCk7cmV0dXJuIGJ9Owp0aGlzLnNjYW5MZWZ0Rm9yQW55Q2hhcmFjdGVyPWZ1bmN0aW9uKGMpe3ZhciBiPSExLGQ7Zm9yKGM9YyYmeChjKTtjOyl7ZD1jLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/Yy5sZW5ndGg6MDtpZigwPGQmJiFyKGMuZGF0YSkpe2I9ITA7YnJlYWt9aWYoYShjKSl7Yj0hMDticmVha31jPXooYyl9cmV0dXJuIGJ9O3RoaXMuc2NhblJpZ2h0Rm9yQW55Q2hhcmFjdGVyPXU7dGhpcy5pc1RyYWlsaW5nV2hpdGVzcGFjZT10O3RoaXMuaXNTaWduaWZpY2FudFdoaXRlc3BhY2U9QTt0aGlzLmlzRG93bmdyYWRhYmxlU3BhY2VFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBjKGEpP3YoeihhKSkmJnUodyhhKSk6ITF9O3RoaXMucGFyc2VMZW5ndGg9STt0aGlzLnBhcnNlTm9uTmVnYXRpdmVMZW5ndGg9Szt0aGlzLnBhcnNlRm9Gb250U2l6ZT1mdW5jdGlvbihhKXt2YXIgYztjPShjPUkoYSkpJiYoMD49Yy52YWx1ZXx8IiUiPT09Yy51bml0KT9udWxsOmM7cmV0dXJuIGN8fEwoYSl9O3RoaXMucGFyc2VGb0xpbmVIZWlnaHQ9CmZ1bmN0aW9uKGEpe3JldHVybiBLKGEpfHxMKGEpfTt0aGlzLmlzVGV4dENvbnRlbnRDb250YWluaW5nTm9kZT1FO3RoaXMuZ2V0VGV4dE5vZGVzPWZ1bmN0aW9uKGEsYyl7dmFyIGI7Yj1hYS5nZXROb2Rlc0luUmFuZ2UoYSxmdW5jdGlvbihhKXt2YXIgYz1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q7YS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP04oYSkmJihjPU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCk6RShhKSYmKGM9Tm9kZUZpbHRlci5GSUxURVJfU0tJUCk7cmV0dXJuIGN9LE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5UfE5vZGVGaWx0ZXIuU0hPV19URVhUKTtjfHxPKGEsYik7cmV0dXJuIGJ9O3RoaXMuZ2V0VGV4dEVsZW1lbnRzPUQ7dGhpcy5nZXRQYXJhZ3JhcGhFbGVtZW50cz1mdW5jdGlvbihhKXt2YXIgYztjPWFhLmdldE5vZGVzSW5SYW5nZShhLGZ1bmN0aW9uKGEpe3ZhciBjPU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVDtpZihmKGEpKWM9Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUOwplbHNlIGlmKEUoYSl8fHEoYSkpYz1Ob2RlRmlsdGVyLkZJTFRFUl9TS0lQO3JldHVybiBjfSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCk7VihhLnN0YXJ0Q29udGFpbmVyLGMsZik7cmV0dXJuIGN9O3RoaXMuZ2V0SW1hZ2VFbGVtZW50cz1mdW5jdGlvbihhKXt2YXIgYztjPWFhLmdldE5vZGVzSW5SYW5nZShhLGZ1bmN0aW9uKGEpe3ZhciBjPU5vZGVGaWx0ZXIuRklMVEVSX1NLSVA7ZyhhKSYmKGM9Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUKTtyZXR1cm4gY30sTm9kZUZpbHRlci5TSE9XX0VMRU1FTlQpO1YoYS5zdGFydENvbnRhaW5lcixjLGcpO3JldHVybiBjfTt0aGlzLmdldEh5cGVybGlua0VsZW1lbnRzPWZ1bmN0aW9uKGEpe3ZhciBjPVtdLGQ9YS5jbG9uZVJhbmdlKCk7YS5jb2xsYXBzZWQmJmEuZW5kQ29udGFpbmVyLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJihhPVcoYS5lbmRDb250YWluZXIsYS5lbmRPZmZzZXQpLGEubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmCmQuc2V0RW5kKGEsMSkpO0QoZCwhMCwhMSkuZm9yRWFjaChmdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7IWYoYSk7KXtpZihiKGEpJiYtMT09PWMuaW5kZXhPZihhKSl7Yy5wdXNoKGEpO2JyZWFrfWE9YS5wYXJlbnROb2RlfX0pO2QuZGV0YWNoKCk7cmV0dXJuIGN9O3RoaXMuZ2V0Tm9ybWFsaXplZEZvbnRGYW1pbHlOYW1lPWZ1bmN0aW9uKGEpey9eKFsiJ10pKD86LnxbXG5ccl0pKj9cMSQvLnRlc3QoYSl8fChhPWEucmVwbGFjZSgvXlsgXHRcclxuXGZdKigoPzoufFtcblxyXSkqPylbIFx0XHJcblxmXSokLywiJDEiKSwvWyBcdFxyXG5cZl0vLnRlc3QoYSkmJihhPSInIithLnJlcGxhY2UoL1sgXHRcclxuXGZdKy9nLCIgIikrIiciKSk7cmV0dXJuIGF9fTtvZGYuT2RmVXRpbHM9bmV3IG9kZi5PZGZVdGlsc0ltcGw7Cmd1aS5PZGZUZXh0Qm9keU5vZGVGaWx0ZXI9ZnVuY3Rpb24oKXt2YXIgZz1vZGYuT2RmVXRpbHMsaz1Ob2RlLlRFWFRfTk9ERSxkPU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVCxiPU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCxmPW9kZi5OYW1lc3BhY2VzLnRleHRuczt0aGlzLmFjY2VwdE5vZGU9ZnVuY3Rpb24obil7aWYobi5ub2RlVHlwZT09PWspe2lmKCFnLmlzR3JvdXBpbmdFbGVtZW50KG4ucGFyZW50Tm9kZSkpcmV0dXJuIGR9ZWxzZSBpZihuLm5hbWVzcGFjZVVSST09PWYmJiJ0cmFja2VkLWNoYW5nZXMiPT09bi5sb2NhbE5hbWUpcmV0dXJuIGQ7cmV0dXJuIGJ9fTt4bWxkb20uTFNTZXJpYWxpemVyRmlsdGVyPWZ1bmN0aW9uKCl7fTt4bWxkb20uTFNTZXJpYWxpemVyRmlsdGVyLnByb3RvdHlwZS5hY2NlcHROb2RlPWZ1bmN0aW9uKGcpe307Cm9kZi5PZGZOb2RlRmlsdGVyPWZ1bmN0aW9uKCl7dGhpcy5hY2NlcHROb2RlPWZ1bmN0aW9uKGcpe3JldHVybiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWcubmFtZXNwYWNlVVJJP05vZGVGaWx0ZXIuRklMVEVSX1NLSVA6Zy5uYW1lc3BhY2VVUkkmJmcubmFtZXNwYWNlVVJJLm1hdGNoKC9edXJuOndlYm9kZjovKT9Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q6Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUfX07eG1sZG9tLlhQYXRoSXRlcmF0b3I9ZnVuY3Rpb24oKXt9O3htbGRvbS5YUGF0aEl0ZXJhdG9yLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7fTt4bWxkb20uWFBhdGhJdGVyYXRvci5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt9OwpmdW5jdGlvbiBjcmVhdGVYUGF0aFNpbmdsZXRvbigpe2Z1bmN0aW9uIGcoYixhLGMpe3JldHVybi0xIT09YiYmKGI8YXx8LTE9PT1hKSYmKGI8Y3x8LTE9PT1jKX1mdW5jdGlvbiBrKGIpe2Zvcih2YXIgYT1bXSxjPTAsZD1iLmxlbmd0aCxoO2M8ZDspe3ZhciBmPWIsbj1kLGs9YSxyPSIiLHA9W10scT1mLmluZGV4T2YoIlsiLGMpLHQ9Zi5pbmRleE9mKCIvIixjKSxBPWYuaW5kZXhPZigiPSIsYyk7Zyh0LHEsQSk/KHI9Zi5zdWJzdHJpbmcoYyx0KSxjPXQrMSk6ZyhxLHQsQSk/KHI9Zi5zdWJzdHJpbmcoYyxxKSxjPWUoZixxLHApKTpnKEEsdCxxKT8ocj1mLnN1YnN0cmluZyhjLEEpLGM9QSk6KHI9Zi5zdWJzdHJpbmcoYyxuKSxjPW4pO2sucHVzaCh7bG9jYXRpb246cixwcmVkaWNhdGVzOnB9KTtpZihjPGQmJiI9Ij09PWJbY10pe2g9Yi5zdWJzdHJpbmcoYysxLGQpO2lmKDI8aC5sZW5ndGgmJigiJyI9PT1oWzBdfHwnIic9PT1oWzBdKSloPWguc2xpY2UoMSxoLmxlbmd0aC0xKTsKZWxzZSB0cnl7aD1wYXJzZUludChoLDEwKX1jYXRjaChJKXt9Yz1kfX1yZXR1cm57c3RlcHM6YSx2YWx1ZTpofX1mdW5jdGlvbiBkKCl7dmFyIGI9bnVsbCxhPSExO3RoaXMuc2V0Tm9kZT1mdW5jdGlvbihhKXtiPWF9O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXthPSExfTt0aGlzLm5leHQ9ZnVuY3Rpb24oKXt2YXIgYz1hP251bGw6YjthPSEwO3JldHVybiBjfX1mdW5jdGlvbiBiKGIsYSxjKXt0aGlzLnJlc2V0PWZ1bmN0aW9uKCl7Yi5yZXNldCgpfTt0aGlzLm5leHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGQ9Yi5uZXh0KCk7ZDspe2Qubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGQ9ZC5nZXRBdHRyaWJ1dGVOb2RlTlMoYSxjKSk7aWYoZClicmVhaztkPWIubmV4dCgpfXJldHVybiBkfX1mdW5jdGlvbiBmKGIsYSl7dmFyIGM9Yi5uZXh0KCksZD1udWxsO3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXtiLnJlc2V0KCk7Yz1iLm5leHQoKTtkPW51bGx9O3RoaXMubmV4dD1mdW5jdGlvbigpe2Zvcig7Yzspe2lmKGQpaWYoYSYmCmQuZmlyc3RDaGlsZClkPWQuZmlyc3RDaGlsZDtlbHNle2Zvcig7IWQubmV4dFNpYmxpbmcmJmQhPT1jOylkPWQucGFyZW50Tm9kZTtkPT09Yz9jPWIubmV4dCgpOmQ9ZC5uZXh0U2libGluZ31lbHNle2RvKGQ9Yy5maXJzdENoaWxkKXx8KGM9Yi5uZXh0KCkpO3doaWxlKGMmJiFkKX1pZihkJiZkLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuIGR9cmV0dXJuIG51bGx9fWZ1bmN0aW9uIG4oYixhKXt0aGlzLnJlc2V0PWZ1bmN0aW9uKCl7Yi5yZXNldCgpfTt0aGlzLm5leHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGM9Yi5uZXh0KCk7YyYmIWEoYyk7KWM9Yi5uZXh0KCk7cmV0dXJuIGN9fWZ1bmN0aW9uIHAoYixhLGMpe2E9YS5zcGxpdCgiOiIsMik7dmFyIGQ9YyhhWzBdKSxoPWFbMV07cmV0dXJuIG5ldyBuKGIsZnVuY3Rpb24oYSl7cmV0dXJuIGEubG9jYWxOYW1lPT09aCYmYS5uYW1lc3BhY2VVUkk9PT1kfSl9ZnVuY3Rpb24gcihiLGEsYyl7dmFyIG09bmV3IGQsaD1xKG0sCmEsYyksZT1hLnZhbHVlO3JldHVybiB2b2lkIDA9PT1lP25ldyBuKGIsZnVuY3Rpb24oYSl7bS5zZXROb2RlKGEpO2gucmVzZXQoKTtyZXR1cm4gbnVsbCE9PWgubmV4dCgpfSk6bmV3IG4oYixmdW5jdGlvbihhKXttLnNldE5vZGUoYSk7aC5yZXNldCgpO3JldHVybihhPWgubmV4dCgpKT9hLm5vZGVWYWx1ZT09PWU6ITF9KX12YXIgcSxlO2U9ZnVuY3Rpb24oYixhLGMpe2Zvcih2YXIgZD1hLGg9Yi5sZW5ndGgsZT0wO2Q8aDspIl0iPT09YltkXT8oLS1lLDA+PWUmJmMucHVzaChrKGIuc3Vic3RyaW5nKGEsZCkpKSk6IlsiPT09YltkXSYmKDA+PWUmJihhPWQrMSksZSs9MSksZCs9MTtyZXR1cm4gZH07cT1mdW5jdGlvbihkLGEsYyl7dmFyIG0saCxlLG47Zm9yKG09MDttPGEuc3RlcHMubGVuZ3RoO20rPTEpe2U9YS5zdGVwc1ttXTtoPWUubG9jYXRpb247aWYoIiI9PT1oKWQ9bmV3IGYoZCwhMSk7ZWxzZSBpZigiQCI9PT1oWzBdKXtoPWguc3Vic3RyKDEpLnNwbGl0KCI6IiwyKTtuPQpjKGhbMF0pO2lmKCFuKXRocm93Ik5vIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIHByZWZpeCAiK2hbMF07ZD1uZXcgYihkLG4saFsxXSl9ZWxzZSIuIiE9PWgmJihkPW5ldyBmKGQsITEpLC0xIT09aC5pbmRleE9mKCI6IikmJihkPXAoZCxoLGMpKSk7Zm9yKGg9MDtoPGUucHJlZGljYXRlcy5sZW5ndGg7aCs9MSluPWUucHJlZGljYXRlc1toXSxkPXIoZCxuLGMpfXJldHVybiBkfTtyZXR1cm57Z2V0T0RGRWxlbWVudHNXaXRoWFBhdGg6ZnVuY3Rpb24oYixhLGMpe3ZhciBtPWIub3duZXJEb2N1bWVudCxoPVtdLGU9bnVsbDtpZihtJiYiZnVuY3Rpb24iPT09dHlwZW9mIG0uZXZhbHVhdGUpZm9yKGM9bS5ldmFsdWF0ZShhLGIsYyxYUGF0aFJlc3VsdC5VTk9SREVSRURfTk9ERV9JVEVSQVRPUl9UWVBFLG51bGwpLGU9Yy5pdGVyYXRlTmV4dCgpO251bGwhPT1lOyllLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmgucHVzaChlKSxlPWMuaXRlcmF0ZU5leHQoKTtlbHNle2g9Cm5ldyBkO2guc2V0Tm9kZShiKTtiPWsoYSk7aD1xKGgsYixjKTtiPVtdO2ZvcihjPWgubmV4dCgpO2M7KWIucHVzaChjKSxjPWgubmV4dCgpO2g9Yn1yZXR1cm4gaH19fXhtbGRvbS5YUGF0aD1jcmVhdGVYUGF0aFNpbmdsZXRvbigpOwpvZGYuU3R5bGVJbmZvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhhLGMpe3ZhciBiLGQsaCxtLGUsbD0wO2lmKGI9S1thLmxvY2FsTmFtZV0paWYoaD1iW2EubmFtZXNwYWNlVVJJXSlsPWgubGVuZ3RoO2ZvcihiPTA7YjxsO2IrPTEpZD1oW2JdLG09ZC5ucyxlPWQubG9jYWxuYW1lLChkPWEuZ2V0QXR0cmlidXRlTlMobSxlKSkmJmEuc2V0QXR0cmlidXRlTlMobSxBW21dK2UsYytkKTtmb3IoaD1hLmZpcnN0RWxlbWVudENoaWxkO2g7KWcoaCxjKSxoPWgubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGsoYSxjKXt2YXIgYixkLGgsbSxlLGw9MDtpZihiPUtbYS5sb2NhbE5hbWVdKWlmKGg9YlthLm5hbWVzcGFjZVVSSV0pbD1oLmxlbmd0aDtmb3IoYj0wO2I8bDtiKz0xKWlmKGQ9aFtiXSxtPWQubnMsZT1kLmxvY2FsbmFtZSxkPWEuZ2V0QXR0cmlidXRlTlMobSxlKSlkPWQucmVwbGFjZShjLCIiKSxhLnNldEF0dHJpYnV0ZU5TKG0sQVttXStlLGQpO2ZvcihoPWEuZmlyc3RFbGVtZW50Q2hpbGQ7aDspayhoLApjKSxoPWgubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGQoYSxjKXt2YXIgYixkLGgsbSxlLGw9MDtpZihiPUtbYS5sb2NhbE5hbWVdKWlmKGg9YlthLm5hbWVzcGFjZVVSSV0pbD1oLmxlbmd0aDtmb3IoYj0wO2I8bDtiKz0xKWlmKG09aFtiXSxkPW0ubnMsZT1tLmxvY2FsbmFtZSxkPWEuZ2V0QXR0cmlidXRlTlMoZCxlKSljPWN8fHt9LG09bS5rZXluYW1lLGMuaGFzT3duUHJvcGVydHkobSk/Y1ttXVtkXT0xOihlPXt9LGVbZF09MSxjW21dPWUpO3JldHVybiBjfWZ1bmN0aW9uIGIoYSxjKXt2YXIgaCxtO2QoYSxjKTtmb3IoaD1hLmZpcnN0Q2hpbGQ7aDspaC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYobT1oLGIobSxjKSksaD1oLm5leHRTaWJsaW5nfWZ1bmN0aW9uIGYoYSxjLGIpe3RoaXMua2V5PWE7dGhpcy5uYW1lPWM7dGhpcy5mYW1pbHk9Yjt0aGlzLnJlcXVpcmVzPXt9fWZ1bmN0aW9uIG4oYSxjLGIpe3ZhciBkPWErJyInK2MsaD1iW2RdO2h8fChoPWJbZF09Cm5ldyBmKGQsYSxjKSk7cmV0dXJuIGh9ZnVuY3Rpb24gcChhLGMsYil7dmFyIGQsaCxtLGUsbCxmPTA7ZD1hLmdldEF0dHJpYnV0ZU5TKHYsIm5hbWUiKTtlPWEuZ2V0QXR0cmlidXRlTlModiwiZmFtaWx5Iik7ZCYmZSYmKGM9bihkLGUsYikpO2lmKGMpe2lmKGQ9S1thLmxvY2FsTmFtZV0paWYobT1kW2EubmFtZXNwYWNlVVJJXSlmPW0ubGVuZ3RoO2ZvcihkPTA7ZDxmO2QrPTEpaWYoZT1tW2RdLGg9ZS5ucyxsPWUubG9jYWxuYW1lLGg9YS5nZXRBdHRyaWJ1dGVOUyhoLGwpKWU9ZS5rZXluYW1lLGU9bihoLGUsYiksYy5yZXF1aXJlc1tlLmtleV09ZX1mb3IoYT1hLmZpcnN0RWxlbWVudENoaWxkO2E7KXAoYSxjLGIpLGE9YS5uZXh0RWxlbWVudFNpYmxpbmc7cmV0dXJuIGJ9ZnVuY3Rpb24gcihhLGMpe3ZhciBiPWNbYS5mYW1pbHldO2J8fChiPWNbYS5mYW1pbHldPXt9KTtiW2EubmFtZV09MTtPYmplY3Qua2V5cyhhLnJlcXVpcmVzKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3IoYS5yZXF1aXJlc1tiXSwKYyl9KX1mdW5jdGlvbiBxKGEsYyl7dmFyIGI9cChhLG51bGwse30pO09iamVjdC5rZXlzKGIpLmZvckVhY2goZnVuY3Rpb24oYSl7YT1iW2FdO3ZhciBkPWNbYS5mYW1pbHldO2QmJmQuaGFzT3duUHJvcGVydHkoYS5uYW1lKSYmcihhLGMpfSl9ZnVuY3Rpb24gZShhLGMpe2Z1bmN0aW9uIGIoYyl7KGM9bS5nZXRBdHRyaWJ1dGVOUyh2LGMpKSYmKGFbY109ITApfXZhciBkPVsiZm9udC1uYW1lIiwiZm9udC1uYW1lLWFzaWFuIiwiZm9udC1uYW1lLWNvbXBsZXgiXSxoLG07Zm9yKGg9YyYmYy5maXJzdEVsZW1lbnRDaGlsZDtoOyltPWgsZC5mb3JFYWNoKGIpLGUoYSxtKSxoPWgubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIGwoYSxjKXtmdW5jdGlvbiBiKGEpe3ZhciBkPW0uZ2V0QXR0cmlidXRlTlModixhKTtkJiZjLmhhc093blByb3BlcnR5KGQpJiZtLnNldEF0dHJpYnV0ZU5TKHYsInN0eWxlOiIrYSxjW2RdKX12YXIgZD1bImZvbnQtbmFtZSIsImZvbnQtbmFtZS1hc2lhbiIsCiJmb250LW5hbWUtY29tcGxleCJdLGgsbTtmb3IoaD1hJiZhLmZpcnN0RWxlbWVudENoaWxkO2g7KW09aCxkLmZvckVhY2goYiksbChtLGMpLGg9aC5uZXh0RWxlbWVudFNpYmxpbmd9dmFyIGE9b2RmLk5hbWVzcGFjZXMuY2hhcnRucyxjPW9kZi5OYW1lc3BhY2VzLmRibnMsbT1vZGYuTmFtZXNwYWNlcy5kcjNkbnMsaD1vZGYuTmFtZXNwYWNlcy5kcmF3bnMseT1vZGYuTmFtZXNwYWNlcy5mb3JtbnMseD1vZGYuTmFtZXNwYWNlcy5udW1iZXJucyx6PW9kZi5OYW1lc3BhY2VzLm9mZmljZW5zLHc9b2RmLk5hbWVzcGFjZXMucHJlc2VudGF0aW9ubnMsdj1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLHU9b2RmLk5hbWVzcGFjZXMudGFibGVucyx0PW9kZi5OYW1lc3BhY2VzLnRleHRucyxBPXsidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpjaGFydDoxLjAiOiJjaGFydDoiLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFiYXNlOjEuMCI6ImRiOiIsCiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyM2Q6MS4wIjoiZHIzZDoiLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyYXdpbmc6MS4wIjoiZHJhdzoiLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCI6ImZvOiIsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Zm9ybToxLjAiOiJmb3JtOiIsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZGF0YXN0eWxlOjEuMCI6Im51bWJlcjoiLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiOiJvZmZpY2U6IiwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpwcmVzZW50YXRpb246MS4wIjoicHJlc2VudGF0aW9uOiIsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIjoic3R5bGU6IiwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiOiJzdmc6IiwKInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIjoidGFibGU6IiwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0ZXh0OjEuMCI6ImNoYXJ0OiIsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSI6InhtbDoifSxJPXt0ZXh0Olt7ZW5zOnYsZW46InRhYi1zdG9wIixhbnM6dixhOiJsZWFkZXItdGV4dC1zdHlsZSJ9LHtlbnM6dixlbjoiZHJvcC1jYXAiLGFuczp2LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im5vdGVzLWNvbmZpZ3VyYXRpb24iLGFuczp0LGE6ImNpdGF0aW9uLWJvZHktc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibm90ZXMtY29uZmlndXJhdGlvbiIsYW5zOnQsYToiY2l0YXRpb24tc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiYSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiYWxwaGFiZXRpY2FsLWluZGV4IixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJsaW5lbnVtYmVyaW5nLWNvbmZpZ3VyYXRpb24iLAphbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJsaXN0LWxldmVsLXN0eWxlLW51bWJlciIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoicnVieS10ZXh0IixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJzcGFuIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJhIixhbnM6dCxhOiJ2aXNpdGVkLXN0eWxlLW5hbWUifSx7ZW5zOnYsZW46InRleHQtcHJvcGVydGllcyIsYW5zOnYsYToidGV4dC1saW5lLXRocm91Z2gtdGV4dC1zdHlsZSJ9LHtlbnM6dCxlbjoiYWxwaGFiZXRpY2FsLWluZGV4LXNvdXJjZSIsYW5zOnQsYToibWFpbi1lbnRyeS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJpbmRleC1lbnRyeS1iaWJsaW9ncmFwaHkiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImluZGV4LWVudHJ5LWNoYXB0ZXIiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImluZGV4LWVudHJ5LWxpbmstZW5kIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0sCntlbnM6dCxlbjoiaW5kZXgtZW50cnktbGluay1zdGFydCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiaW5kZXgtZW50cnktcGFnZS1udW1iZXIiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImluZGV4LWVudHJ5LXNwYW4iLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImluZGV4LWVudHJ5LXRhYi1zdG9wIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJpbmRleC1lbnRyeS10ZXh0IixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJpbmRleC10aXRsZS10ZW1wbGF0ZSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibGlzdC1sZXZlbC1zdHlsZS1idWxsZXQiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im91dGxpbmUtbGV2ZWwtc3R5bGUiLGFuczp0LGE6InN0eWxlLW5hbWUifV0scGFyYWdyYXBoOlt7ZW5zOmgsZW46ImNhcHRpb24iLGFuczpoLGE6InRleHQtc3R5bGUtbmFtZSJ9LHtlbnM6aCwKZW46ImNpcmNsZSIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjb25uZWN0b3IiLGFuczpoLGE6InRleHQtc3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiY29udHJvbCIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjdXN0b20tc2hhcGUiLGFuczpoLGE6InRleHQtc3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiZWxsaXBzZSIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJmcmFtZSIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJsaW5lIixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSx7ZW5zOmgsZW46Im1lYXN1cmUiLGFuczpoLGE6InRleHQtc3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoicGF0aCIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2VuczpoLGVuOiJwb2x5Z29uIixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlsaW5lIixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSwKe2VuczpoLGVuOiJyZWN0IixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InJlZ3VsYXItcG9seWdvbiIsYW5zOmgsYToidGV4dC1zdHlsZS1uYW1lIn0se2Vuczp6LGVuOiJhbm5vdGF0aW9uIixhbnM6aCxhOiJ0ZXh0LXN0eWxlLW5hbWUifSx7ZW5zOnksZW46ImNvbHVtbiIsYW5zOnksYToidGV4dC1zdHlsZS1uYW1lIn0se2Vuczp2LGVuOiJzdHlsZSIsYW5zOnYsYToibmV4dC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJib2R5IixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZXZlbi1jb2x1bW5zIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZXZlbi1yb3dzIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZmlyc3QtY29sdW1uIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZmlyc3Qtcm93IixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LAp7ZW5zOnUsZW46Imxhc3QtY29sdW1uIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoibGFzdC1yb3ciLGFuczp1LGE6InBhcmFncmFwaC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJvZGQtY29sdW1ucyIsYW5zOnUsYToicGFyYWdyYXBoLXN0eWxlLW5hbWUifSx7ZW5zOnUsZW46Im9kZC1yb3dzIixhbnM6dSxhOiJwYXJhZ3JhcGgtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibm90ZXMtY29uZmlndXJhdGlvbiIsYW5zOnQsYToiZGVmYXVsdC1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJhbHBoYWJldGljYWwtaW5kZXgtZW50cnktdGVtcGxhdGUiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImJpYmxpb2dyYXBoeS1lbnRyeS10ZW1wbGF0ZSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiaCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiaWxsdXN0cmF0aW9uLWluZGV4LWVudHJ5LXRlbXBsYXRlIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0sCntlbnM6dCxlbjoiaW5kZXgtc291cmNlLXN0eWxlIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJvYmplY3QtaW5kZXgtZW50cnktdGVtcGxhdGUiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InAiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InRhYmxlLWluZGV4LWVudHJ5LXRlbXBsYXRlIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJ0YWJsZS1vZi1jb250ZW50LWVudHJ5LXRlbXBsYXRlIixhbnM6dCxhOiJzdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJ0YWJsZS1pbmRleC1lbnRyeS10ZW1wbGF0ZSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidXNlci1pbmRleC1lbnRyeS10ZW1wbGF0ZSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dixlbjoicGFnZS1sYXlvdXQtcHJvcGVydGllcyIsYW5zOnYsYToicmVnaXN0ZXItdHJ1dGgtcmVmLXN0eWxlLW5hbWUifV0sY2hhcnQ6W3tlbnM6YSxlbjoiYXhpcyIsYW5zOmEsCmE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46ImNoYXJ0IixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJkYXRhLWxhYmVsIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJkYXRhLXBvaW50IixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJlcXVhdGlvbiIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoiZXJyb3ItaW5kaWNhdG9yIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJmbG9vciIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoiZm9vdGVyIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJncmlkIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJsZWdlbmQiLGFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46Im1lYW4tdmFsdWUiLGFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46InBsb3QtYXJlYSIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoicmVncmVzc2lvbi1jdXJ2ZSIsCmFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46InNlcmllcyIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoic3RvY2stZ2Fpbi1tYXJrZXIiLGFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46InN0b2NrLWxvc3MtbWFya2VyIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJzdG9jay1yYW5nZS1saW5lIixhbnM6YSxhOiJzdHlsZS1uYW1lIn0se2VuczphLGVuOiJzdWJ0aXRsZSIsYW5zOmEsYToic3R5bGUtbmFtZSJ9LHtlbnM6YSxlbjoidGl0bGUiLGFuczphLGE6InN0eWxlLW5hbWUifSx7ZW5zOmEsZW46IndhbGwiLGFuczphLGE6InN0eWxlLW5hbWUifV0sc2VjdGlvbjpbe2Vuczp0LGVuOiJhbHBoYWJldGljYWwtaW5kZXgiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImJpYmxpb2dyYXBoeSIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiaWxsdXN0cmF0aW9uLWluZGV4IixhbnM6dCxhOiJzdHlsZS1uYW1lIn0sCntlbnM6dCxlbjoiaW5kZXgtdGl0bGUiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im9iamVjdC1pbmRleCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoic2VjdGlvbiIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidGFibGUtb2YtY29udGVudCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidGFibGUtaW5kZXgiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InVzZXItaW5kZXgiLGFuczp0LGE6InN0eWxlLW5hbWUifV0scnVieTpbe2Vuczp0LGVuOiJydWJ5IixhbnM6dCxhOiJzdHlsZS1uYW1lIn1dLHRhYmxlOlt7ZW5zOmMsZW46InF1ZXJ5IixhbnM6YyxhOiJzdHlsZS1uYW1lIn0se2VuczpjLGVuOiJ0YWJsZS1yZXByZXNlbnRhdGlvbiIsYW5zOmMsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiYmFja2dyb3VuZCIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoidGFibGUiLGFuczp1LGE6InN0eWxlLW5hbWUifV0sCiJ0YWJsZS1jb2x1bW4iOlt7ZW5zOmMsZW46ImNvbHVtbiIsYW5zOmMsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoidGFibGUtY29sdW1uIixhbnM6dSxhOiJzdHlsZS1uYW1lIn1dLCJ0YWJsZS1yb3ciOlt7ZW5zOmMsZW46InF1ZXJ5IixhbnM6YyxhOiJkZWZhdWx0LXJvdy1zdHlsZS1uYW1lIn0se2VuczpjLGVuOiJ0YWJsZS1yZXByZXNlbnRhdGlvbiIsYW5zOmMsYToiZGVmYXVsdC1yb3ctc3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoidGFibGUtcm93IixhbnM6dSxhOiJzdHlsZS1uYW1lIn1dLCJ0YWJsZS1jZWxsIjpbe2VuczpjLGVuOiJjb2x1bW4iLGFuczpjLGE6ImRlZmF1bHQtY2VsbC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJ0YWJsZS1jb2x1bW4iLGFuczp1LGE6ImRlZmF1bHQtY2VsbC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJ0YWJsZS1yb3ciLGFuczp1LGE6ImRlZmF1bHQtY2VsbC1zdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJib2R5IixhbnM6dSxhOiJzdHlsZS1uYW1lIn0sCntlbnM6dSxlbjoiY292ZXJlZC10YWJsZS1jZWxsIixhbnM6dSxhOiJzdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJldmVuLWNvbHVtbnMiLGFuczp1LGE6InN0eWxlLW5hbWUifSx7ZW5zOnUsZW46ImNvdmVyZWQtdGFibGUtY2VsbCIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZXZlbi1jb2x1bW5zIixhbnM6dSxhOiJzdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJldmVuLXJvd3MiLGFuczp1LGE6InN0eWxlLW5hbWUifSx7ZW5zOnUsZW46ImZpcnN0LWNvbHVtbiIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoiZmlyc3Qtcm93IixhbnM6dSxhOiJzdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJsYXN0LWNvbHVtbiIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LHtlbnM6dSxlbjoibGFzdC1yb3ciLGFuczp1LGE6InN0eWxlLW5hbWUifSx7ZW5zOnUsZW46Im9kZC1jb2x1bW5zIixhbnM6dSxhOiJzdHlsZS1uYW1lIn0se2Vuczp1LGVuOiJvZGQtcm93cyIsYW5zOnUsYToic3R5bGUtbmFtZSJ9LAp7ZW5zOnUsZW46InRhYmxlLWNlbGwiLGFuczp1LGE6InN0eWxlLW5hbWUifV0sZ3JhcGhpYzpbe2VuczptLGVuOiJjdWJlIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJleHRydWRlIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJyb3RhdGUiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOm0sZW46InNjZW5lIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJzcGhlcmUiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImNhcHRpb24iLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImNpcmNsZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiY29ubmVjdG9yIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjb250cm9sIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjdXN0b20tc2hhcGUiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImVsbGlwc2UiLGFuczpoLGE6InN0eWxlLW5hbWUifSwKe2VuczpoLGVuOiJmcmFtZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiZyIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoibGluZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoibWVhc3VyZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoicGFnZS10aHVtYm5haWwiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBhdGgiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlnb24iLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlsaW5lIixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJyZWN0IixhbnM6aCxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJyZWd1bGFyLXBvbHlnb24iLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOnosZW46ImFubm90YXRpb24iLGFuczpoLGE6InN0eWxlLW5hbWUifV0scHJlc2VudGF0aW9uOlt7ZW5zOm0sZW46ImN1YmUiLGFuczp3LAphOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJleHRydWRlIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJyb3RhdGUiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOm0sZW46InNjZW5lIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczptLGVuOiJzcGhlcmUiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImNhcHRpb24iLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImNpcmNsZSIsYW5zOncsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoiY29ubmVjdG9yIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjb250cm9sIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJjdXN0b20tc2hhcGUiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImVsbGlwc2UiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46ImZyYW1lIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJnIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0sCntlbnM6aCxlbjoibGluZSIsYW5zOncsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoibWVhc3VyZSIsYW5zOncsYToic3R5bGUtbmFtZSJ9LHtlbnM6aCxlbjoicGFnZS10aHVtYm5haWwiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBhdGgiLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlnb24iLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOmgsZW46InBvbHlsaW5lIixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJyZWN0IixhbnM6dyxhOiJzdHlsZS1uYW1lIn0se2VuczpoLGVuOiJyZWd1bGFyLXBvbHlnb24iLGFuczp3LGE6InN0eWxlLW5hbWUifSx7ZW5zOnosZW46ImFubm90YXRpb24iLGFuczp3LGE6InN0eWxlLW5hbWUifV0sImRyYXdpbmctcGFnZSI6W3tlbnM6aCxlbjoicGFnZSIsYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6dyxlbjoibm90ZXMiLGFuczpoLGE6InN0eWxlLW5hbWUifSx7ZW5zOnYsZW46ImhhbmRvdXQtbWFzdGVyIiwKYW5zOmgsYToic3R5bGUtbmFtZSJ9LHtlbnM6dixlbjoibWFzdGVyLXBhZ2UiLGFuczpoLGE6InN0eWxlLW5hbWUifV0sImxpc3Qtc3R5bGUiOlt7ZW5zOnQsZW46Imxpc3QiLGFuczp0LGE6InN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im51bWJlcmVkLXBhcmFncmFwaCIsYW5zOnQsYToic3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibGlzdC1pdGVtIixhbnM6dCxhOiJzdHlsZS1vdmVycmlkZSJ9LHtlbnM6dixlbjoic3R5bGUiLGFuczp2LGE6Imxpc3Qtc3R5bGUtbmFtZSJ9XSxkYXRhOlt7ZW5zOnYsZW46InN0eWxlIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnYsZW46InN0eWxlIixhbnM6dixhOiJwZXJjZW50YWdlLWRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dyxlbjoiZGF0ZS10aW1lLWRlY2wiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiY3JlYXRpb24tZGF0ZSIsYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJjcmVhdGlvbi10aW1lIiwKYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJkYXRhYmFzZS1kaXNwbGF5IixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46ImRhdGUiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoiZWRpdGluZy1kdXJhdGlvbiIsYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJleHByZXNzaW9uIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46Im1ldGEtZmllbGQiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibW9kaWZpY2F0aW9uLWRhdGUiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoibW9kaWZpY2F0aW9uLXRpbWUiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoicHJpbnQtZGF0ZSIsYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn0se2Vuczp0LGVuOiJwcmludC10aW1lIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsCmVuOiJ0YWJsZS1mb3JtdWxhIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InRpbWUiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidXNlci1kZWZpbmVkIixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InVzZXItZmllbGQtZ2V0IixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InVzZXItZmllbGQtaW5wdXQiLGFuczp2LGE6ImRhdGEtc3R5bGUtbmFtZSJ9LHtlbnM6dCxlbjoidmFyaWFibGUtZ2V0IixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InZhcmlhYmxlLWlucHV0IixhbnM6dixhOiJkYXRhLXN0eWxlLW5hbWUifSx7ZW5zOnQsZW46InZhcmlhYmxlLXNldCIsYW5zOnYsYToiZGF0YS1zdHlsZS1uYW1lIn1dLCJwYWdlLWxheW91dCI6W3tlbnM6dyxlbjoibm90ZXMiLGFuczp2LGE6InBhZ2UtbGF5b3V0LW5hbWUifSx7ZW5zOnYsZW46ImhhbmRvdXQtbWFzdGVyIixhbnM6diwKYToicGFnZS1sYXlvdXQtbmFtZSJ9LHtlbnM6dixlbjoibWFzdGVyLXBhZ2UiLGFuczp2LGE6InBhZ2UtbGF5b3V0LW5hbWUifV19LEssTD14bWxkb20uWFBhdGg7dGhpcy5jb2xsZWN0VXNlZEZvbnRGYWNlcz1lO3RoaXMuY2hhbmdlRm9udEZhY2VOYW1lcz1sO3RoaXMuVXNlZFN0eWxlTGlzdD1mdW5jdGlvbihhLGMpe3ZhciBkPXt9O3RoaXMudXNlcz1mdW5jdGlvbihhKXt2YXIgYz1hLmxvY2FsTmFtZSxiPWEuZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpfHxhLmdldEF0dHJpYnV0ZU5TKHYsIm5hbWUiKTthPSJzdHlsZSI9PT1jP2EuZ2V0QXR0cmlidXRlTlModiwiZmFtaWx5Iik6YS5uYW1lc3BhY2VVUkk9PT14PyJkYXRhIjpjO3JldHVybihhPWRbYV0pPzA8YVtiXTohMX07YihhLGQpO2MmJnEoYyxkKX07dGhpcy5nZXRTdHlsZU5hbWU9ZnVuY3Rpb24oYSxjKXt2YXIgYixkLGg9S1tjLmxvY2FsTmFtZV07aWYoaCYmKGg9aFtjLm5hbWVzcGFjZVVSSV0pKWZvcihkPTA7ZDxoLmxlbmd0aDtkKz0KMSlpZihoW2RdLmtleW5hbWU9PT1hJiYoaD1oW2RdLGMuaGFzQXR0cmlidXRlTlMoaC5ucyxoLmxvY2FsbmFtZSkpKXtiPWMuZ2V0QXR0cmlidXRlTlMoaC5ucyxoLmxvY2FsbmFtZSk7YnJlYWt9cmV0dXJuIGJ9O3RoaXMuaGFzRGVyaXZlZFN0eWxlcz1mdW5jdGlvbihhLGMsYil7dmFyIGQ9Yi5nZXRBdHRyaWJ1dGVOUyh2LCJuYW1lIik7Yj1iLmdldEF0dHJpYnV0ZU5TKHYsImZhbWlseSIpO3JldHVybiBMLmdldE9ERkVsZW1lbnRzV2l0aFhQYXRoKGEsJy8vc3R5bGU6KltAc3R5bGU6cGFyZW50LXN0eWxlLW5hbWU9IicrZCsnIl1bQHN0eWxlOmZhbWlseT0iJytiKyciXScsYykubGVuZ3RoPyEwOiExfTt0aGlzLnByZWZpeFN0eWxlTmFtZXM9ZnVuY3Rpb24oYSxjLGIpe3ZhciBkO2lmKGEpe2ZvcihkPWEuZmlyc3RDaGlsZDtkOyl7aWYoZC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXt2YXIgbT1kLGU9YyxsPW0uZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpLGY9dm9pZCAwOwpsP2Y9aDoobD1tLmdldEF0dHJpYnV0ZU5TKHYsIm5hbWUiKSkmJihmPXYpO2YmJm0uc2V0QXR0cmlidXRlTlMoZixBW2ZdKyJuYW1lIixlK2wpfWQ9ZC5uZXh0U2libGluZ31nKGEsYyk7YiYmZyhiLGMpfX07dGhpcy5yZW1vdmVQcmVmaXhGcm9tU3R5bGVOYW1lcz1mdW5jdGlvbihhLGMsYil7dmFyIGQ9bmV3IFJlZ0V4cCgiXiIrYyk7aWYoYSl7Zm9yKGM9YS5maXJzdENoaWxkO2M7KXtpZihjLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBtPWMsZT1kLGw9bS5nZXRBdHRyaWJ1dGVOUyhoLCJuYW1lIiksZj12b2lkIDA7bD9mPWg6KGw9bS5nZXRBdHRyaWJ1dGVOUyh2LCJuYW1lIikpJiYoZj12KTtmJiYobD1sLnJlcGxhY2UoZSwiIiksbS5zZXRBdHRyaWJ1dGVOUyhmLEFbZl0rIm5hbWUiLGwpKX1jPWMubmV4dFNpYmxpbmd9ayhhLGQpO2ImJmsoYixkKX19O3RoaXMuZGV0ZXJtaW5lU3R5bGVzRm9yTm9kZT1kO0s9ZnVuY3Rpb24oKXt2YXIgYSxjLGIsZCxoLG09e30sCmUsbCxmLG47Zm9yKGIgaW4gSSlpZihJLmhhc093blByb3BlcnR5KGIpKWZvcihkPUlbYl0sYz1kLmxlbmd0aCxhPTA7YTxjO2ErPTEpaD1kW2FdLGY9aC5lbixuPWguZW5zLG0uaGFzT3duUHJvcGVydHkoZik/ZT1tW2ZdOm1bZl09ZT17fSxlLmhhc093blByb3BlcnR5KG4pP2w9ZVtuXTplW25dPWw9W10sbC5wdXNoKHtuczpoLmFucyxsb2NhbG5hbWU6aC5hLGtleW5hbWU6Yn0pO3JldHVybiBtfSgpfTsiZnVuY3Rpb24iIT09dHlwZW9mIE9iamVjdC5jcmVhdGUmJihPYmplY3QuY3JlYXRlPWZ1bmN0aW9uKGcpe3ZhciBrPWZ1bmN0aW9uKCl7fTtrLnByb3RvdHlwZT1nO3JldHVybiBuZXcga30pOwp4bWxkb20uTFNTZXJpYWxpemVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiKXt2YXIgZD1ifHx7fSxnPWZ1bmN0aW9uKGIpe3ZhciBhPXt9LGM7Zm9yKGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYVtiW2NdXT1jKTtyZXR1cm4gYX0oYiksaz1bZF0scT1bZ10sZT0wO3RoaXMucHVzaD1mdW5jdGlvbigpe2UrPTE7ZD1rW2VdPU9iamVjdC5jcmVhdGUoZCk7Zz1xW2VdPU9iamVjdC5jcmVhdGUoZyl9O3RoaXMucG9wPWZ1bmN0aW9uKCl7ay5wb3AoKTtxLnBvcCgpOy0tZTtkPWtbZV07Zz1xW2VdfTt0aGlzLmdldExvY2FsTmFtZXNwYWNlRGVmaW5pdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gZ307dGhpcy5nZXRRTmFtZT1mdW5jdGlvbihiKXt2YXIgYT1iLm5hbWVzcGFjZVVSSSxjPTAsbTtpZighYSlyZXR1cm4gYi5sb2NhbE5hbWU7aWYobT1nW2FdKXJldHVybiBtKyI6IitiLmxvY2FsTmFtZTtkb3ttfHwhYi5wcmVmaXg/KG09Im5zIitjLGMrPTEpOm09Yi5wcmVmaXg7aWYoZFttXT09PQphKWJyZWFrO2lmKCFkW21dKXtkW21dPWE7Z1thXT1tO2JyZWFrfW09bnVsbH13aGlsZShudWxsPT09bSk7cmV0dXJuIG0rIjoiK2IubG9jYWxOYW1lfX1mdW5jdGlvbiBrKGIpe3JldHVybiBiLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC8nL2csIiZhcG9zOyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7Iil9ZnVuY3Rpb24gZChmLG4pe3ZhciBnPSIiLHI9Yi5maWx0ZXI/Yi5maWx0ZXIuYWNjZXB0Tm9kZShuKTpOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQscTtpZihyPT09Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUJiZuLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe2YucHVzaCgpO3E9Zi5nZXRRTmFtZShuKTt2YXIgZSxsPW4uYXR0cmlidXRlcyxhLGMsbSxoPSIiLHk7ZT0iPCIrcTthPWwubGVuZ3RoO2ZvcihjPTA7YzxhO2MrPTEpbT1sLml0ZW0oYyksImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIiE9PQptLm5hbWVzcGFjZVVSSSYmKHk9Yi5maWx0ZXI/Yi5maWx0ZXIuYWNjZXB0Tm9kZShtKTpOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQseT09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCYmKHk9Zi5nZXRRTmFtZShtKSxtPSJzdHJpbmciPT09dHlwZW9mIG0udmFsdWU/ayhtLnZhbHVlKTptLnZhbHVlLGgrPSIgIisoeSsnPSInK20rJyInKSkpO2E9Zi5nZXRMb2NhbE5hbWVzcGFjZURlZmluaXRpb25zKCk7Zm9yKGMgaW4gYSlhLmhhc093blByb3BlcnR5KGMpJiYoKGw9YVtjXSk/InhtbG5zIiE9PWwmJihlKz0iIHhtbG5zOiIrYVtjXSsnPSInK2MrJyInKTplKz0nIHhtbG5zPSInK2MrJyInKTtnKz1lKyhoKyI+Iil9aWYocj09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVHx8cj09PU5vZGVGaWx0ZXIuRklMVEVSX1NLSVApe2ZvcihyPW4uZmlyc3RDaGlsZDtyOylnKz1kKGYscikscj1yLm5leHRTaWJsaW5nO24ubm9kZVZhbHVlJiYoZys9ayhuLm5vZGVWYWx1ZSkpfXEmJihnKz0iPC8iKwpxKyI+IixmLnBvcCgpKTtyZXR1cm4gZ312YXIgYj10aGlzO3RoaXMuZmlsdGVyPW51bGw7dGhpcy53cml0ZVRvU3RyaW5nPWZ1bmN0aW9uKGIsbil7aWYoIWIpcmV0dXJuIiI7dmFyIGs9bmV3IGcobik7cmV0dXJuIGQoayxiKX19OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIpe3ZhciBhLGM9ci5sZW5ndGg7Zm9yKGE9MDthPGM7YSs9MSlpZigidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIj09PWIubmFtZXNwYWNlVVJJJiZiLmxvY2FsTmFtZT09PXJbYV0pcmV0dXJuIGE7cmV0dXJuLTF9ZnVuY3Rpb24gayhiLGEpe3ZhciBjPW5ldyBmLlVzZWRTdHlsZUxpc3QoYixhKSxkPW5ldyBvZGYuT2RmTm9kZUZpbHRlcjt0aGlzLmFjY2VwdE5vZGU9ZnVuY3Rpb24oYil7dmFyIGU9ZC5hY2NlcHROb2RlKGIpO2U9PT1Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQmJmIucGFyZW50Tm9kZT09PWEmJmIubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGU9Yy51c2VzKGIpP05vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDpOb2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1QpO3JldHVybiBlfX1mdW5jdGlvbiBkKGIsYSl7dmFyIGM9bmV3IGsoYixhKTt0aGlzLmFjY2VwdE5vZGU9ZnVuY3Rpb24oYSl7dmFyIGI9CmMuYWNjZXB0Tm9kZShhKTtiIT09Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUfHwhYS5wYXJlbnROb2RlfHxhLnBhcmVudE5vZGUubmFtZXNwYWNlVVJJIT09b2RmLk5hbWVzcGFjZXMudGV4dG5zfHwicyIhPT1hLnBhcmVudE5vZGUubG9jYWxOYW1lJiYidGFiIiE9PWEucGFyZW50Tm9kZS5sb2NhbE5hbWV8fChiPU5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVCk7cmV0dXJuIGJ9fWZ1bmN0aW9uIGIoYixhKXtpZihhKXt2YXIgYz1nKGEpLGQsaD1iLmZpcnN0Q2hpbGQ7aWYoLTEhPT1jKXtmb3IoO2g7KXtkPWcoaCk7aWYoLTEhPT1kJiZkPmMpYnJlYWs7aD1oLm5leHRTaWJsaW5nfWIuaW5zZXJ0QmVmb3JlKGEsaCl9fX12YXIgZj1uZXcgb2RmLlN0eWxlSW5mbyxuPWNvcmUuRG9tVXRpbHMscD1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLHI9Im1ldGEgc2V0dGluZ3Mgc2NyaXB0cyBmb250LWZhY2UtZGVjbHMgc3R5bGVzIGF1dG9tYXRpYy1zdHlsZXMgbWFzdGVyLXN0eWxlcyBib2R5Ii5zcGxpdCgiICIpLApxPURhdGUubm93KCkrIl93ZWJvZGZfIixlPW5ldyBjb3JlLkJhc2U2NDtvZGYuT0RGRWxlbWVudD1mdW5jdGlvbigpe307b2RmLk9ERkRvY3VtZW50RWxlbWVudD1mdW5jdGlvbigpe307b2RmLk9ERkRvY3VtZW50RWxlbWVudC5wcm90b3R5cGU9bmV3IG9kZi5PREZFbGVtZW50O29kZi5PREZEb2N1bWVudEVsZW1lbnQucHJvdG90eXBlLmNvbnN0cnVjdG9yPW9kZi5PREZEb2N1bWVudEVsZW1lbnQ7b2RmLk9ERkRvY3VtZW50RWxlbWVudC5wcm90b3R5cGUuZm9udEZhY2VEZWNscz1udWxsO29kZi5PREZEb2N1bWVudEVsZW1lbnQucHJvdG90eXBlLm1hbmlmZXN0PW51bGw7b2RmLk9ERkRvY3VtZW50RWxlbWVudC5wcm90b3R5cGUuc2V0dGluZ3M9bnVsbDtvZGYuT0RGRG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIjtvZGYuT0RGRG9jdW1lbnRFbGVtZW50LmxvY2FsTmFtZT0iZG9jdW1lbnQiOwpvZGYuQW5ub3RhdGlvbkVsZW1lbnQ9ZnVuY3Rpb24oKXt9O29kZi5PZGZQYXJ0PWZ1bmN0aW9uKGIsYSxjLGQpe3ZhciBoPXRoaXM7dGhpcy5zaXplPTA7dGhpcy50eXBlPW51bGw7dGhpcy5uYW1lPWI7dGhpcy5jb250YWluZXI9Yzt0aGlzLnVybD1udWxsO3RoaXMubWltZXR5cGU9YTt0aGlzLm9uc3RhdGVyZWFkeWNoYW5nZT10aGlzLmRvY3VtZW50PW51bGw7dGhpcy5FTVBUWT0wO3RoaXMuTE9BRElORz0xO3RoaXMuRE9ORT0yO3RoaXMuc3RhdGU9dGhpcy5FTVBUWTt0aGlzLmRhdGE9IiI7dGhpcy5sb2FkPWZ1bmN0aW9uKCl7bnVsbCE9PWQmJih0aGlzLm1pbWV0eXBlPWEsZC5sb2FkQXNEYXRhVVJMKGIsYSxmdW5jdGlvbihhLGMpe2EmJnJ1bnRpbWUubG9nKGEpO2gudXJsPWM7aWYoaC5vbmNoYW5nZSloLm9uY2hhbmdlKGgpO2lmKGgub25zdGF0ZXJlYWR5Y2hhbmdlKWgub25zdGF0ZXJlYWR5Y2hhbmdlKGgpfSkpfX07b2RmLk9kZlBhcnQucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXt9OwpvZGYuT2RmUGFydC5wcm90b3R5cGUuZ2V0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YT8iZGF0YTo7YmFzZTY0LCIrZS50b0Jhc2U2NCh0aGlzLmRhdGEpOm51bGx9O29kZi5PZGZDb250YWluZXI9ZnVuY3Rpb24gYShjLG0pe2Z1bmN0aW9uIGgoYSl7Zm9yKHZhciBjPWEuZmlyc3RDaGlsZCxiO2M7KWI9Yy5uZXh0U2libGluZyxjLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREU/aChjKTpjLm5vZGVUeXBlPT09Tm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUmJmEucmVtb3ZlQ2hpbGQoYyksYz1ifWZ1bmN0aW9uIGcoYSl7dmFyIGM9e30sYixkLGg9YS5vd25lckRvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihhLE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULG51bGwsITEpO2ZvcihhPWgubmV4dE5vZGUoKTthOykidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIj09PWEubmFtZXNwYWNlVVJJJiYoImFubm90YXRpb24iPT09CmEubG9jYWxOYW1lPyhiPWEuZ2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsIm5hbWUiKSkmJihjLmhhc093blByb3BlcnR5KGIpP3J1bnRpbWUubG9nKCJXYXJuaW5nOiBhbm5vdGF0aW9uIG5hbWUgdXNlZCBtb3JlIHRoYW4gb25jZSB3aXRoIDxvZmZpY2U6YW5ub3RhdGlvbi8+OiAnIitiKyInIik6Y1tiXT1hKToiYW5ub3RhdGlvbi1lbmQiPT09YS5sb2NhbE5hbWUmJigoYj1hLmdldEF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJuYW1lIikpP2MuaGFzT3duUHJvcGVydHkoYik/KGQ9Y1tiXSxkLmFubm90YXRpb25FbmRFbGVtZW50P3J1bnRpbWUubG9nKCJXYXJuaW5nOiBhbm5vdGF0aW9uIG5hbWUgdXNlZCBtb3JlIHRoYW4gb25jZSB3aXRoIDxvZmZpY2U6YW5ub3RhdGlvbi1lbmQvPjogJyIrYisiJyIpOmQuYW5ub3RhdGlvbkVuZEVsZW1lbnQ9CmEpOnJ1bnRpbWUubG9nKCJXYXJuaW5nOiBhbm5vdGF0aW9uIGVuZCB3aXRob3V0IGFuIGFubm90YXRpb24gc3RhcnQsIG5hbWU6ICciK2IrIiciKTpydW50aW1lLmxvZygiV2FybmluZzogYW5ub3RhdGlvbiBlbmQgd2l0aG91dCBhIG5hbWUgZm91bmQiKSkpLGE9aC5uZXh0Tm9kZSgpfWZ1bmN0aW9uIHIoYSxjKXtmb3IodmFyIGI9YSYmYS5maXJzdENoaWxkO2I7KWIubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYi5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzY29wZSIsInNjb3BlIixjKSxiPWIubmV4dFNpYmxpbmd9ZnVuY3Rpb24geihhLGMpe2Zvcih2YXIgYj1CLnJvb3RFbGVtZW50Lm1ldGEsYj1iJiZiLmZpcnN0Q2hpbGQ7YiYmKGIubmFtZXNwYWNlVVJJIT09YXx8Yi5sb2NhbE5hbWUhPT1jKTspYj1iLm5leHRTaWJsaW5nO2ZvcihiPWImJmIuZmlyc3RDaGlsZDtiJiZiLm5vZGVUeXBlIT09Tm9kZS5URVhUX05PREU7KWI9Yi5uZXh0U2libGluZztyZXR1cm4gYj8KYi5kYXRhOm51bGx9ZnVuY3Rpb24gdyhhKXt2YXIgYz17fSxiO2ZvcihhPWEuZmlyc3RDaGlsZDthOylhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmEubmFtZXNwYWNlVVJJPT09cCYmImZvbnQtZmFjZSI9PT1hLmxvY2FsTmFtZSYmKGI9YS5nZXRBdHRyaWJ1dGVOUyhwLCJuYW1lIiksY1tiXT1hKSxhPWEubmV4dFNpYmxpbmc7cmV0dXJuIGN9ZnVuY3Rpb24gdihhLGMpe3ZhciBiPW51bGwsZCxoLGU7aWYoYSlmb3IoYj1hLmNsb25lTm9kZSghMCksZD1iLmZpcnN0RWxlbWVudENoaWxkO2Q7KWg9ZC5uZXh0RWxlbWVudFNpYmxpbmcsKGU9ZC5nZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzY29wZSIsInNjb3BlIikpJiZlIT09YyYmYi5yZW1vdmVDaGlsZChkKSxkPWg7cmV0dXJuIGJ9ZnVuY3Rpb24gdShhLGMpe3ZhciBiLGQsaCxlPW51bGwsbT17fTtpZihhKWZvcihjLmZvckVhY2goZnVuY3Rpb24oYSl7Zi5jb2xsZWN0VXNlZEZvbnRGYWNlcyhtLGEpfSksCmU9YS5jbG9uZU5vZGUoITApLGI9ZS5maXJzdEVsZW1lbnRDaGlsZDtiOylkPWIubmV4dEVsZW1lbnRTaWJsaW5nLGg9Yi5nZXRBdHRyaWJ1dGVOUyhwLCJuYW1lIiksbVtoXXx8ZS5yZW1vdmVDaGlsZChiKSxiPWQ7cmV0dXJuIGV9ZnVuY3Rpb24gdChhKXt2YXIgYz1CLnJvb3RFbGVtZW50Lm93bmVyRG9jdW1lbnQsYjtpZihhKXtoKGEuZG9jdW1lbnRFbGVtZW50KTt0cnl7Yj1jLmltcG9ydE5vZGUoYS5kb2N1bWVudEVsZW1lbnQsITApfWNhdGNoKGQpe319cmV0dXJuIGJ9ZnVuY3Rpb24gQShhKXtCLnN0YXRlPWE7aWYoQi5vbmNoYW5nZSlCLm9uY2hhbmdlKEIpO2lmKEIub25zdGF0ZXJlYWR5Y2hhbmdlKUIub25zdGF0ZXJlYWR5Y2hhbmdlKEIpfWZ1bmN0aW9uIEkoYSl7UT1udWxsO0Iucm9vdEVsZW1lbnQ9YTthLmZvbnRGYWNlRGVjbHM9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJmb250LWZhY2UtZGVjbHMiKTsKYS5zdHlsZXM9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJzdHlsZXMiKTthLmF1dG9tYXRpY1N0eWxlcz1uLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsImF1dG9tYXRpYy1zdHlsZXMiKTthLm1hc3RlclN0eWxlcz1uLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsIm1hc3Rlci1zdHlsZXMiKTthLmJvZHk9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJib2R5Iik7YS5tZXRhPW4uZ2V0RGlyZWN0Q2hpbGQoYSwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwibWV0YSIpO2Euc2V0dGluZ3M9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLAoic2V0dGluZ3MiKTthLnNjcmlwdHM9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJzY3JpcHRzIik7ZyhhKX1mdW5jdGlvbiBLKGMpe3ZhciBkPXQoYyksaD1CLnJvb3RFbGVtZW50LGU7ZCYmImRvY3VtZW50LXN0eWxlcyI9PT1kLmxvY2FsTmFtZSYmInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCI9PT1kLm5hbWVzcGFjZVVSST8oaC5mb250RmFjZURlY2xzPW4uZ2V0RGlyZWN0Q2hpbGQoZCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwiZm9udC1mYWNlLWRlY2xzIiksYihoLGguZm9udEZhY2VEZWNscyksZT1uLmdldERpcmVjdENoaWxkKGQsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsInN0eWxlcyIpLGguc3R5bGVzPWV8fGMuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLAoic3R5bGVzIiksYihoLGguc3R5bGVzKSxlPW4uZ2V0RGlyZWN0Q2hpbGQoZCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwiYXV0b21hdGljLXN0eWxlcyIpLGguYXV0b21hdGljU3R5bGVzPWV8fGMuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJhdXRvbWF0aWMtc3R5bGVzIikscihoLmF1dG9tYXRpY1N0eWxlcywiZG9jdW1lbnQtc3R5bGVzIiksYihoLGguYXV0b21hdGljU3R5bGVzKSxkPW4uZ2V0RGlyZWN0Q2hpbGQoZCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwibWFzdGVyLXN0eWxlcyIpLGgubWFzdGVyU3R5bGVzPWR8fGMuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJtYXN0ZXItc3R5bGVzIiksYihoLGgubWFzdGVyU3R5bGVzKSwKZi5wcmVmaXhTdHlsZU5hbWVzKGguYXV0b21hdGljU3R5bGVzLHEsaC5tYXN0ZXJTdHlsZXMpKTpBKGEuSU5WQUxJRCl9ZnVuY3Rpb24gTChjKXtjPXQoYyk7dmFyIGQsaCxlLG07aWYoYyYmImRvY3VtZW50LWNvbnRlbnQiPT09Yy5sb2NhbE5hbWUmJiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiPT09Yy5uYW1lc3BhY2VVUkkpe2Q9Qi5yb290RWxlbWVudDtlPW4uZ2V0RGlyZWN0Q2hpbGQoYywidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwiZm9udC1mYWNlLWRlY2xzIik7aWYoZC5mb250RmFjZURlY2xzJiZlKXttPWQuZm9udEZhY2VEZWNsczt2YXIgZyxrLE8scSxEPXt9O2g9dyhtKTtxPXcoZSk7Zm9yKGU9ZS5maXJzdEVsZW1lbnRDaGlsZDtlOyl7Zz1lLm5leHRFbGVtZW50U2libGluZztpZihlLm5hbWVzcGFjZVVSST09PXAmJiJmb250LWZhY2UiPT09ZS5sb2NhbE5hbWUpaWYoaz1lLmdldEF0dHJpYnV0ZU5TKHAsCiJuYW1lIiksaC5oYXNPd25Qcm9wZXJ0eShrKSl7aWYoIWUuaXNFcXVhbE5vZGUoaFtrXSkpe089aztmb3IodmFyIHk9aCxFPXEsdT0wLFc9dm9pZCAwLFc9Tz1PLnJlcGxhY2UoL1xkKyQvLCIiKTt5Lmhhc093blByb3BlcnR5KFcpfHxFLmhhc093blByb3BlcnR5KFcpOyl1Kz0xLFc9Tyt1O089VztlLnNldEF0dHJpYnV0ZU5TKHAsInN0eWxlOm5hbWUiLE8pO20uYXBwZW5kQ2hpbGQoZSk7aFtPXT1lO2RlbGV0ZSBxW2tdO0Rba109T319ZWxzZSBtLmFwcGVuZENoaWxkKGUpLGhba109ZSxkZWxldGUgcVtrXTtlPWd9bT1EfWVsc2UgZSYmKGQuZm9udEZhY2VEZWNscz1lLGIoZCxlKSk7aD1uLmdldERpcmVjdENoaWxkKGMsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsImF1dG9tYXRpYy1zdHlsZXMiKTtyKGgsImRvY3VtZW50LWNvbnRlbnQiKTttJiZmLmNoYW5nZUZvbnRGYWNlTmFtZXMoaCxtKTtpZihkLmF1dG9tYXRpY1N0eWxlcyYmaClmb3IobT0KaC5maXJzdENoaWxkO207KWQuYXV0b21hdGljU3R5bGVzLmFwcGVuZENoaWxkKG0pLG09aC5maXJzdENoaWxkO2Vsc2UgaCYmKGQuYXV0b21hdGljU3R5bGVzPWgsYihkLGgpKTtjPW4uZ2V0RGlyZWN0Q2hpbGQoYywidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwiYm9keSIpO2lmKG51bGw9PT1jKXRocm93IjxvZmZpY2U6Ym9keS8+IHRhZyBpcyBtaXNpbmcuIjtkLmJvZHk9YztiKGQsZC5ib2R5KX1lbHNlIEEoYS5JTlZBTElEKX1mdW5jdGlvbiBFKGEpe2E9dChhKTt2YXIgYzthJiYiZG9jdW1lbnQtbWV0YSI9PT1hLmxvY2FsTmFtZSYmInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCI9PT1hLm5hbWVzcGFjZVVSSSYmKGM9Qi5yb290RWxlbWVudCxjLm1ldGE9bi5nZXREaXJlY3RDaGlsZChhLCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLCJtZXRhIiksCmIoYyxjLm1ldGEpKX1mdW5jdGlvbiBOKGEpe2E9dChhKTt2YXIgYzthJiYiZG9jdW1lbnQtc2V0dGluZ3MiPT09YS5sb2NhbE5hbWUmJiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiPT09YS5uYW1lc3BhY2VVUkkmJihjPUIucm9vdEVsZW1lbnQsYy5zZXR0aW5ncz1uLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsInNldHRpbmdzIiksYihjLGMuc2V0dGluZ3MpKX1mdW5jdGlvbiBPKGEpe2E9dChhKTt2YXIgYztpZihhJiYibWFuaWZlc3QiPT09YS5sb2NhbE5hbWUmJiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1hbmlmZXN0OjEuMCI9PT1hLm5hbWVzcGFjZVVSSSlmb3IoYz1CLnJvb3RFbGVtZW50LGMubWFuaWZlc3Q9YSxhPWMubWFuaWZlc3QuZmlyc3RFbGVtZW50Q2hpbGQ7YTspImZpbGUtZW50cnkiPT09YS5sb2NhbE5hbWUmJiJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1hbmlmZXN0OjEuMCI9PT0KYS5uYW1lc3BhY2VVUkkmJihNW2EuZ2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiwiZnVsbC1wYXRoIildPWEuZ2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiwibWVkaWEtdHlwZSIpKSxhPWEubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIEQoYSxjLGIpe2E9bi5nZXRFbGVtZW50c0J5VGFnTmFtZShhLGMpO3ZhciBkO2ZvcihkPTA7ZDxhLmxlbmd0aDtkKz0xKWM9YVtkXSxiLmhhc093blByb3BlcnR5KGMubmFtZXNwYWNlVVJJKXx8Yy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpfWZ1bmN0aW9uIFYoYSl7RChhLCJzY3JpcHQiLHsidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkYXRhc3R5bGU6MS4wIjohMCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIjohMCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiOiEwLAoidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0ZXh0OjEuMCI6ITAsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6eHNsLWZvLWNvbXBhdGlibGU6MS4wIjohMH0pO0QoYSwic3R5bGUiLHsidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkYXRhc3R5bGU6MS4wIjohMCwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcmF3aW5nOjEuMCI6ITAsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIjohMH0pfWZ1bmN0aW9uIFcoYSl7dmFyIGM9YS5maXJzdEVsZW1lbnRDaGlsZCxiPVtdLGQsaCxlLG09YS5hdHRyaWJ1dGVzLGY9bS5sZW5ndGg7Zm9yKGQ9MDtkPGY7ZCs9MSllPW0uaXRlbShkKSxoPWUubG9jYWxOYW1lLnN1YnN0cigwLDIpLnRvTG93ZXJDYXNlKCksbnVsbD09PWUubmFtZXNwYWNlVVJJJiYib24iPT09aCYmYi5wdXNoKGUpO2Y9Yi5sZW5ndGg7Zm9yKGQ9CjA7ZDxmO2QrPTEpYS5yZW1vdmVBdHRyaWJ1dGVOb2RlKGJbZF0pO2Zvcig7YzspVyhjKSxjPWMubmV4dEVsZW1lbnRTaWJsaW5nfWZ1bmN0aW9uIEooYyl7dmFyIGI9Yy5zaGlmdCgpO2I/WS5sb2FkQXNET00oYi5wYXRoLGZ1bmN0aW9uKGQsaCl7aCYmKFYoaCksVyhoLmRvY3VtZW50RWxlbWVudCkpO2IuaGFuZGxlcihoKTtCLnN0YXRlPT09YS5JTlZBTElEP2Q/cnVudGltZS5sb2coIkVSUk9SOiBVbmFibGUgdG8gbG9hZCAiK2IucGF0aCsiIC0gIitkKTpydW50aW1lLmxvZygiRVJST1I6IFVuYWJsZSB0byBsb2FkICIrYi5wYXRoKTooZCYmcnVudGltZS5sb2coIkRFQlVHOiBVbmFibGUgdG8gbG9hZCAiK2IucGF0aCsiIC0gIitkKSxKKGMpKX0pOihnKEIucm9vdEVsZW1lbnQpLEEoYS5ET05FKSl9ZnVuY3Rpb24gUihhKXt2YXIgYz0iIjtvZGYuTmFtZXNwYWNlcy5mb3JFYWNoUHJlZml4KGZ1bmN0aW9uKGEsYil7Yys9IiB4bWxuczoiK2ErJz0iJytiKyciJ30pO3JldHVybic8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PjxvZmZpY2U6JysKYSsiICIrYysnIG9mZmljZTp2ZXJzaW9uPSIxLjIiPid9ZnVuY3Rpb24gUCgpe3ZhciBhPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGM9UigiZG9jdW1lbnQtbWV0YSIpO2EuZmlsdGVyPW5ldyBvZGYuT2RmTm9kZUZpbHRlcjtjKz1hLndyaXRlVG9TdHJpbmcoQi5yb290RWxlbWVudC5tZXRhLG9kZi5OYW1lc3BhY2VzLm5hbWVzcGFjZU1hcCk7cmV0dXJuIGMrIjwvb2ZmaWNlOmRvY3VtZW50LW1ldGE+In1mdW5jdGlvbiBhYShhLGMpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptYW5pZmVzdDoxLjAiLCJtYW5pZmVzdDpmaWxlLWVudHJ5Iik7Yi5zZXRBdHRyaWJ1dGVOUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptYW5pZmVzdDoxLjAiLCJtYW5pZmVzdDpmdWxsLXBhdGgiLGEpO2Iuc2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiwKIm1hbmlmZXN0Om1lZGlhLXR5cGUiLGMpO3JldHVybiBifWZ1bmN0aW9uIFMoKXt2YXIgYT1ydW50aW1lLnBhcnNlWE1MKCc8bWFuaWZlc3Q6bWFuaWZlc3QgeG1sbnM6bWFuaWZlc3Q9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWFuaWZlc3Q6MS4wIiBtYW5pZmVzdDp2ZXJzaW9uPSIxLjIiPjwvbWFuaWZlc3Q6bWFuaWZlc3Q+JyksYz1hLmRvY3VtZW50RWxlbWVudCxiPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGQ7Zm9yKGQgaW4gTSlNLmhhc093blByb3BlcnR5KGQpJiZjLmFwcGVuZENoaWxkKGFhKGQsTVtkXSkpO2IuZmlsdGVyPW5ldyBvZGYuT2RmTm9kZUZpbHRlcjtyZXR1cm4nPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PlxuJytiLndyaXRlVG9TdHJpbmcoYSxvZGYuTmFtZXNwYWNlcy5uYW1lc3BhY2VNYXApfWZ1bmN0aW9uIGZhKCl7dmFyIGEsYyxiLGQ9b2RmLk5hbWVzcGFjZXMubmFtZXNwYWNlTWFwLApoPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGU9UigiZG9jdW1lbnQtc3R5bGVzIik7Yz12KEIucm9vdEVsZW1lbnQuYXV0b21hdGljU3R5bGVzLCJkb2N1bWVudC1zdHlsZXMiKTtiPUIucm9vdEVsZW1lbnQubWFzdGVyU3R5bGVzLmNsb25lTm9kZSghMCk7YT11KEIucm9vdEVsZW1lbnQuZm9udEZhY2VEZWNscyxbYixCLnJvb3RFbGVtZW50LnN0eWxlcyxjXSk7Zi5yZW1vdmVQcmVmaXhGcm9tU3R5bGVOYW1lcyhjLHEsYik7aC5maWx0ZXI9bmV3IGsoYixjKTtlKz1oLndyaXRlVG9TdHJpbmcoYSxkKTtlKz1oLndyaXRlVG9TdHJpbmcoQi5yb290RWxlbWVudC5zdHlsZXMsZCk7ZSs9aC53cml0ZVRvU3RyaW5nKGMsZCk7ZSs9aC53cml0ZVRvU3RyaW5nKGIsZCk7cmV0dXJuIGUrIjwvb2ZmaWNlOmRvY3VtZW50LXN0eWxlcz4ifWZ1bmN0aW9uIGhhKCl7dmFyIGEsYyxiPW9kZi5OYW1lc3BhY2VzLm5hbWVzcGFjZU1hcCxoPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGU9UigiZG9jdW1lbnQtY29udGVudCIpOwpjPXYoQi5yb290RWxlbWVudC5hdXRvbWF0aWNTdHlsZXMsImRvY3VtZW50LWNvbnRlbnQiKTthPXUoQi5yb290RWxlbWVudC5mb250RmFjZURlY2xzLFtjXSk7aC5maWx0ZXI9bmV3IGQoQi5yb290RWxlbWVudC5ib2R5LGMpO2UrPWgud3JpdGVUb1N0cmluZyhhLGIpO2UrPWgud3JpdGVUb1N0cmluZyhjLGIpO2UrPWgud3JpdGVUb1N0cmluZyhCLnJvb3RFbGVtZW50LmJvZHksYik7cmV0dXJuIGUrIjwvb2ZmaWNlOmRvY3VtZW50LWNvbnRlbnQ+In1mdW5jdGlvbiBDKGMsYil7cnVudGltZS5sb2FkWE1MKGMsZnVuY3Rpb24oYyxkKXtpZihjKWIoYyk7ZWxzZSBpZihkKXtWKGQpO1coZC5kb2N1bWVudEVsZW1lbnQpO3ZhciBoPXQoZCk7aCYmImRvY3VtZW50Ij09PWgubG9jYWxOYW1lJiYidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIj09PWgubmFtZXNwYWNlVVJJPyhJKGgpLEEoYS5ET05FKSk6QShhLklOVkFMSUQpfWVsc2UgYigiTm8gRE9NIHdhcyBsb2FkZWQuIil9KX0KZnVuY3Rpb24gWihhLGMpe3ZhciBkO2Q9Qi5yb290RWxlbWVudDt2YXIgaD1kLm1ldGE7aHx8KGQubWV0YT1oPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwibWV0YSIpLGIoZCxoKSk7ZD1oO2EmJm4ubWFwS2V5VmFsT2JqT250b05vZGUoZCxhLG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSSk7YyYmbi5yZW1vdmVLZXlFbGVtZW50c0Zyb21Ob2RlKGQsYyxvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpfWZ1bmN0aW9uIGJhKGMsYil7ZnVuY3Rpb24gZChhLGMpe3ZhciBiO2N8fChjPWEpO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiLGMpO2ZbYV09YjtmLmFwcGVuZENoaWxkKGIpfXZhciBoPW5ldyBjb3JlLlppcCgiIixudWxsKSxlPSJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LiIrCmMrKCEwPT09Yj8iLXRlbXBsYXRlIjoiIiksbT1ydW50aW1lLmJ5dGVBcnJheUZyb21TdHJpbmcoZSwidXRmOCIpLGY9Qi5yb290RWxlbWVudCxnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIixjKTtoLnNhdmUoIm1pbWV0eXBlIixtLCExLG5ldyBEYXRlKTtkKCJtZXRhIik7ZCgic2V0dGluZ3MiKTtkKCJzY3JpcHRzIik7ZCgiZm9udEZhY2VEZWNscyIsImZvbnQtZmFjZS1kZWNscyIpO2QoInN0eWxlcyIpO2QoImF1dG9tYXRpY1N0eWxlcyIsImF1dG9tYXRpYy1zdHlsZXMiKTtkKCJtYXN0ZXJTdHlsZXMiLCJtYXN0ZXItc3R5bGVzIik7ZCgiYm9keSIpO2YuYm9keS5hcHBlbmRDaGlsZChnKTtNWyIvIl09ZTtNWyJzZXR0aW5ncy54bWwiXT0idGV4dC94bWwiO01bIm1ldGEueG1sIl09InRleHQveG1sIjtNWyJzdHlsZXMueG1sIl09InRleHQveG1sIjtNWyJjb250ZW50LnhtbCJdPSJ0ZXh0L3htbCI7CkEoYS5ET05FKTtyZXR1cm4gaH1mdW5jdGlvbiBVKCl7dmFyIGEsYz1uZXcgRGF0ZSxiPSIiO0Iucm9vdEVsZW1lbnQuc2V0dGluZ3MmJkIucm9vdEVsZW1lbnQuc2V0dGluZ3MuZmlyc3RFbGVtZW50Q2hpbGQmJihhPW5ldyB4bWxkb20uTFNTZXJpYWxpemVyLGI9UigiZG9jdW1lbnQtc2V0dGluZ3MiKSxhLmZpbHRlcj1uZXcgb2RmLk9kZk5vZGVGaWx0ZXIsYis9YS53cml0ZVRvU3RyaW5nKEIucm9vdEVsZW1lbnQuc2V0dGluZ3Msb2RmLk5hbWVzcGFjZXMubmFtZXNwYWNlTWFwKSxiKz0iPC9vZmZpY2U6ZG9jdW1lbnQtc2V0dGluZ3M+Iik7KGE9Yik/KGE9cnVudGltZS5ieXRlQXJyYXlGcm9tU3RyaW5nKGEsInV0ZjgiKSxZLnNhdmUoInNldHRpbmdzLnhtbCIsYSwhMCxjKSk6WS5yZW1vdmUoInNldHRpbmdzLnhtbCIpO2I9cnVudGltZS5nZXRXaW5kb3coKTthPSJXZWJPREYvIit3ZWJvZGYuVmVyc2lvbjtiJiYoYT1hKyIgIitiLm5hdmlnYXRvci51c2VyQWdlbnQpO1ooeyJtZXRhOmdlbmVyYXRvciI6YX0sCm51bGwpO2E9cnVudGltZS5ieXRlQXJyYXlGcm9tU3RyaW5nKFAoKSwidXRmOCIpO1kuc2F2ZSgibWV0YS54bWwiLGEsITAsYyk7YT1ydW50aW1lLmJ5dGVBcnJheUZyb21TdHJpbmcoZmEoKSwidXRmOCIpO1kuc2F2ZSgic3R5bGVzLnhtbCIsYSwhMCxjKTthPXJ1bnRpbWUuYnl0ZUFycmF5RnJvbVN0cmluZyhoYSgpLCJ1dGY4Iik7WS5zYXZlKCJjb250ZW50LnhtbCIsYSwhMCxjKTthPXJ1bnRpbWUuYnl0ZUFycmF5RnJvbVN0cmluZyhTKCksInV0ZjgiKTtZLnNhdmUoIk1FVEEtSU5GL21hbmlmZXN0LnhtbCIsYSwhMCxjKX1mdW5jdGlvbiBnYShhLGMpe1UoKTtZLndyaXRlQXMoYSxmdW5jdGlvbihhKXtjKGEpfSl9dmFyIEI9dGhpcyxZLE09e30sUSxGPSIiO3RoaXMub25zdGF0ZXJlYWR5Y2hhbmdlPW07dGhpcy5zdGF0ZT10aGlzLm9uY2hhbmdlPW51bGw7dGhpcy5nZXRNZXRhZGF0YT16O3RoaXMuc2V0Um9vdEVsZW1lbnQ9STt0aGlzLmdldENvbnRlbnRFbGVtZW50PWZ1bmN0aW9uKCl7dmFyIGE7ClF8fChhPUIucm9vdEVsZW1lbnQuYm9keSxRPW4uZ2V0RGlyZWN0Q2hpbGQoYSwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiwidGV4dCIpfHxuLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsInByZXNlbnRhdGlvbiIpfHxuLmdldERpcmVjdENoaWxkKGEsInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIsInNwcmVhZHNoZWV0IikpO2lmKCFRKXRocm93IkNvdWxkIG5vdCBmaW5kIGNvbnRlbnQgZWxlbWVudCBpbiA8b2ZmaWNlOmJvZHkvPi4iO3JldHVybiBRfTt0aGlzLmdldERvY3VtZW50VHlwZT1mdW5jdGlvbigpe3ZhciBhPUIuZ2V0Q29udGVudEVsZW1lbnQoKTtyZXR1cm4gYSYmYS5sb2NhbE5hbWV9O3RoaXMuaXNUZW1wbGF0ZT1mdW5jdGlvbigpe3JldHVybiItdGVtcGxhdGUiPT09TVsiLyJdLnN1YnN0cigtOSl9Owp0aGlzLnNldElzVGVtcGxhdGU9ZnVuY3Rpb24oYSl7dmFyIGM9TVsiLyJdLGI9Ii10ZW1wbGF0ZSI9PT1jLnN1YnN0cigtOSk7YSE9PWImJihjPWE/YysiLXRlbXBsYXRlIjpjLnN1YnN0cigwLGMubGVuZ3RoLTkpLE1bIi8iXT1jLGE9cnVudGltZS5ieXRlQXJyYXlGcm9tU3RyaW5nKGMsInV0ZjgiKSxZLnNhdmUoIm1pbWV0eXBlIixhLCExLG5ldyBEYXRlKSl9O3RoaXMuZ2V0UGFydD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IG9kZi5PZGZQYXJ0KGEsTVthXSxCLFkpfTt0aGlzLmdldFBhcnREYXRhPWZ1bmN0aW9uKGEsYyl7WS5sb2FkKGEsYyl9O3RoaXMuc2V0TWV0YWRhdGE9Wjt0aGlzLmluY3JlbWVudEVkaXRpbmdDeWNsZXM9ZnVuY3Rpb24oKXt2YXIgYT16KG9kZi5OYW1lc3BhY2VzLm1ldGFucywiZWRpdGluZy1jeWNsZXMiKSxhPWE/cGFyc2VJbnQoYSwxMCk6MDtpc05hTihhKSYmKGE9MCk7Wih7Im1ldGE6ZWRpdGluZy1jeWNsZXMiOmErMX0sbnVsbCk7cmV0dXJuIGErMX07CnRoaXMuY3JlYXRlQnl0ZUFycmF5PWZ1bmN0aW9uKGEsYyl7VSgpO1kuY3JlYXRlQnl0ZUFycmF5KGEsYyl9O3RoaXMuc2F2ZUFzPWdhO3RoaXMuc2F2ZT1mdW5jdGlvbihhKXtnYShGLGEpfTt0aGlzLmdldFVybD1mdW5jdGlvbigpe3JldHVybiBGfTt0aGlzLnNldEJsb2I9ZnVuY3Rpb24oYSxjLGIpe2I9ZS5jb252ZXJ0QmFzZTY0VG9CeXRlQXJyYXkoYik7WS5zYXZlKGEsYiwhMSxuZXcgRGF0ZSk7TS5oYXNPd25Qcm9wZXJ0eShhKSYmcnVudGltZS5sb2coYSsiIGhhcyBiZWVuIG92ZXJ3cml0dGVuLiIpO01bYV09Y307dGhpcy5yZW1vdmVCbG9iPWZ1bmN0aW9uKGEpe3ZhciBjPVkucmVtb3ZlKGEpO3J1bnRpbWUuYXNzZXJ0KGMsImZpbGUgaXMgbm90IGZvdW5kOiAiK2EpO2RlbGV0ZSBNW2FdfTt0aGlzLnN0YXRlPWEuTE9BRElORzt0aGlzLnJvb3RFbGVtZW50PWZ1bmN0aW9uKGEpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhhLm5hbWVzcGFjZVVSSSxhLmxvY2FsTmFtZSksCmI7YT1uZXcgYS5UeXBlO2ZvcihiIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShiKSYmKGNbYl09YVtiXSk7cmV0dXJuIGN9KHtUeXBlOm9kZi5PREZEb2N1bWVudEVsZW1lbnQsbmFtZXNwYWNlVVJJOm9kZi5PREZEb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJLGxvY2FsTmFtZTpvZGYuT0RGRG9jdW1lbnRFbGVtZW50LmxvY2FsTmFtZX0pO2M9PT1vZGYuT2RmQ29udGFpbmVyLkRvY3VtZW50VHlwZS5URVhUP1k9YmEoInRleHQiKTpjPT09b2RmLk9kZkNvbnRhaW5lci5Eb2N1bWVudFR5cGUuVEVYVF9URU1QTEFURT9ZPWJhKCJ0ZXh0IiwhMCk6Yz09PW9kZi5PZGZDb250YWluZXIuRG9jdW1lbnRUeXBlLlBSRVNFTlRBVElPTj9ZPWJhKCJwcmVzZW50YXRpb24iKTpjPT09b2RmLk9kZkNvbnRhaW5lci5Eb2N1bWVudFR5cGUuUFJFU0VOVEFUSU9OX1RFTVBMQVRFP1k9YmEoInByZXNlbnRhdGlvbiIsITApOmM9PT1vZGYuT2RmQ29udGFpbmVyLkRvY3VtZW50VHlwZS5TUFJFQURTSEVFVD8KWT1iYSgic3ByZWFkc2hlZXQiKTpjPT09b2RmLk9kZkNvbnRhaW5lci5Eb2N1bWVudFR5cGUuU1BSRUFEU0hFRVRfVEVNUExBVEU/WT1iYSgic3ByZWFkc2hlZXQiLCEwKTooRj1jLFk9bmV3IGNvcmUuWmlwKEYsZnVuY3Rpb24oYyxiKXtZPWI7Yz9DKEYsZnVuY3Rpb24oYil7YyYmKFkuZXJyb3I9YysiXG4iK2IsQShhLklOVkFMSUQpKX0pOkooW3twYXRoOiJzdHlsZXMueG1sIixoYW5kbGVyOkt9LHtwYXRoOiJjb250ZW50LnhtbCIsaGFuZGxlcjpMfSx7cGF0aDoibWV0YS54bWwiLGhhbmRsZXI6RX0se3BhdGg6InNldHRpbmdzLnhtbCIsaGFuZGxlcjpOfSx7cGF0aDoiTUVUQS1JTkYvbWFuaWZlc3QueG1sIixoYW5kbGVyOk99XSl9KSl9O29kZi5PZGZDb250YWluZXIuRU1QVFk9MDtvZGYuT2RmQ29udGFpbmVyLkxPQURJTkc9MTtvZGYuT2RmQ29udGFpbmVyLkRPTkU9MjtvZGYuT2RmQ29udGFpbmVyLklOVkFMSUQ9MztvZGYuT2RmQ29udGFpbmVyLlNBVklORz00O29kZi5PZGZDb250YWluZXIuTU9ESUZJRUQ9CjU7b2RmLk9kZkNvbnRhaW5lci5nZXRDb250YWluZXI9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBvZGYuT2RmQ29udGFpbmVyKGEsbnVsbCl9fSkoKTtvZGYuT2RmQ29udGFpbmVyLkRvY3VtZW50VHlwZT17VEVYVDoxLFRFWFRfVEVNUExBVEU6MixQUkVTRU5UQVRJT046MyxQUkVTRU5UQVRJT05fVEVNUExBVEU6NCxTUFJFQURTSEVFVDo1LFNQUkVBRFNIRUVUX1RFTVBMQVRFOjZ9O2d1aS5Bbm5vdGF0YWJsZUNhbnZhcz1mdW5jdGlvbigpe307Z3VpLkFubm90YXRhYmxlQ2FudmFzLnByb3RvdHlwZS5yZWZyZXNoU2l6ZT1mdW5jdGlvbigpe307Z3VpLkFubm90YXRhYmxlQ2FudmFzLnByb3RvdHlwZS5nZXRab29tTGV2ZWw9ZnVuY3Rpb24oKXt9O2d1aS5Bbm5vdGF0YWJsZUNhbnZhcy5wcm90b3R5cGUuZ2V0U2l6ZXI9ZnVuY3Rpb24oKXt9OwpndWkuQW5ub3RhdGlvblZpZXdNYW5hZ2VyPWZ1bmN0aW9uKGcsayxkLGIpe2Z1bmN0aW9uIGYoYyl7dmFyIGI9Yy5hbm5vdGF0aW9uRW5kRWxlbWVudCxkPWwuY3JlYXRlUmFuZ2UoKSxlPWMuZ2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMsIm5hbWUiKTtiJiYoZC5zZXRTdGFydChjLGMuY2hpbGROb2Rlcy5sZW5ndGgpLGQuc2V0RW5kKGIsMCksYz1hLmdldFRleHROb2RlcyhkLCExKSxjLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGM7YTp7Zm9yKGM9YS5wYXJlbnROb2RlO2MubmFtZXNwYWNlVVJJIT09b2RmLk5hbWVzcGFjZXMub2ZmaWNlbnN8fCJib2R5IiE9PWMubG9jYWxOYW1lOyl7aWYoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09Yy5uYW1lc3BhY2VVUkkmJiJ3ZWJvZGYtYW5ub3RhdGlvbkhpZ2hsaWdodCI9PT1jLmNsYXNzTmFtZSYmYy5nZXRBdHRyaWJ1dGUoImFubm90YXRpb24iKT09PWUpe2M9ITA7YnJlYWsgYX1jPWMucGFyZW50Tm9kZX1jPQohMX1jfHwoYz1sLmNyZWF0ZUVsZW1lbnQoInNwYW4iKSxjLmNsYXNzTmFtZT0id2Vib2RmLWFubm90YXRpb25IaWdobGlnaHQiLGMuc2V0QXR0cmlidXRlKCJhbm5vdGF0aW9uIixlKSxhLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGMsYSksYy5hcHBlbmRDaGlsZChhKSl9KSk7ZC5kZXRhY2goKX1mdW5jdGlvbiBuKGEpe3ZhciBiPWcuZ2V0U2l6ZXIoKTthPyhkLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayIsYi5zdHlsZS5wYWRkaW5nUmlnaHQ9Yy5nZXRDb21wdXRlZFN0eWxlKGQpLndpZHRoKTooZC5zdHlsZS5kaXNwbGF5PSJub25lIixiLnN0eWxlLnBhZGRpbmdSaWdodD0wKTtnLnJlZnJlc2hTaXplKCl9ZnVuY3Rpb24gcCgpe2Uuc29ydChmdW5jdGlvbihhLGMpe3JldHVybiAwIT09KGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYykmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcpPy0xOjF9KX1mdW5jdGlvbiByKCl7dmFyIGE7Zm9yKGE9MDthPGUubGVuZ3RoO2ErPQoxKXt2YXIgYz1lW2FdLGI9Yy5wYXJlbnROb2RlLGY9Yi5uZXh0RWxlbWVudFNpYmxpbmcsbD1mLm5leHRFbGVtZW50U2libGluZyxuPWIucGFyZW50Tm9kZSxrPTAsaz1lW2UuaW5kZXhPZihjKS0xXSxyPXZvaWQgMCxjPWcuZ2V0Wm9vbUxldmVsKCk7Yi5zdHlsZS5sZWZ0PShkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0KS9jKyJweCI7Yi5zdHlsZS53aWR0aD1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoL2MrInB4IjtmLnN0eWxlLndpZHRoPXBhcnNlRmxvYXQoYi5zdHlsZS5sZWZ0KS0zMCsicHgiO2s/KHI9ay5wYXJlbnROb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLDIwPj0obi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Atci5ib3R0b20pL2M/Yi5zdHlsZS50b3A9TWF0aC5hYnMobi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Atci5ib3R0b20pL2MrMjArInB4IjpiLnN0eWxlLnRvcD0iMHB4Iik6CmIuc3R5bGUudG9wPSIwcHgiO2wuc3R5bGUubGVmdD1mLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoL2MrInB4Ijt2YXIgZj1sLnN0eWxlLG49bC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0L2Msaz1sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcC9jLHI9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0L2MscD1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcC9jLHE9MCxJPTAscT1yLW4scT1xKnEsST1wLWssST1JKkksbj1NYXRoLnNxcnQocStJKTtmLndpZHRoPW4rInB4IjtrPU1hdGguYXNpbigoYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AtbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3ApLyhjKnBhcnNlRmxvYXQobC5zdHlsZS53aWR0aCkpKTtsLnN0eWxlLnRyYW5zZm9ybT0icm90YXRlKCIraysicmFkKSI7bC5zdHlsZS5Nb3pUcmFuc2Zvcm09InJvdGF0ZSgiK2srInJhZCkiO2wuc3R5bGUuV2Via2l0VHJhbnNmb3JtPSJyb3RhdGUoIisKaysicmFkKSI7bC5zdHlsZS5tc1RyYW5zZm9ybT0icm90YXRlKCIraysicmFkKSJ9fWZ1bmN0aW9uIHEoYSl7dmFyIGM9ZS5pbmRleE9mKGEpLGI9YS5wYXJlbnROb2RlLnBhcmVudE5vZGU7ImRpdiI9PT1iLmxvY2FsTmFtZSYmKGIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxiKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpO2E9YS5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy5vZmZpY2VucywibmFtZSIpO2E9bC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuLndlYm9kZi1hbm5vdGF0aW9uSGlnaGxpZ2h0W2Fubm90YXRpb249IicrYSsnIl0nKTtmb3IodmFyIGQsYj0wO2I8YS5sZW5ndGg7Yis9MSl7Zm9yKGQ9YS5pdGVtKGIpO2QuZmlyc3RDaGlsZDspZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShkLmZpcnN0Q2hpbGQsZCk7ZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpfS0xIT09YyYmZS5zcGxpY2UoYywxKTswPT09ZS5sZW5ndGgmJm4oITEpfXZhciBlPVtdLGw9Cmsub3duZXJEb2N1bWVudCxhPW9kZi5PZGZVdGlscyxjPXJ1bnRpbWUuZ2V0V2luZG93KCk7cnVudGltZS5hc3NlcnQoQm9vbGVhbihjKSwiRXhwZWN0ZWQgdG8gYmUgcnVuIGluIGFuIGVudmlyb25tZW50IHdoaWNoIGhhcyBhIGdsb2JhbCB3aW5kb3csIGxpa2UgYSBicm93c2VyLiIpO3RoaXMucmVyZW5kZXJBbm5vdGF0aW9ucz1yO3RoaXMucmVoaWdobGlnaHRBbm5vdGF0aW9ucz1mdW5jdGlvbigpe2UuZm9yRWFjaChmdW5jdGlvbihhKXtmKGEpfSl9O3RoaXMuZ2V0TWluaW11bUhlaWdodEZvckFubm90YXRpb25QYW5lPWZ1bmN0aW9uKCl7cmV0dXJuIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYwPGUubGVuZ3RoPyhlW2UubGVuZ3RoLTFdLnBhcmVudE5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tLWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKS9nLmdldFpvb21MZXZlbCgpKyJweCI6bnVsbH07dGhpcy5hZGRBbm5vdGF0aW9ucz1mdW5jdGlvbihjKXswIT09CmMubGVuZ3RoJiYobighMCksYy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2UucHVzaChjKTt2YXIgZD1sLmNyZWF0ZUVsZW1lbnQoImRpdiIpLG09bC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuPWwuY3JlYXRlRWxlbWVudCgiZGl2IiksZz1sLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGs7ZC5jbGFzc05hbWU9ImFubm90YXRpb25XcmFwcGVyIjtkLnNldEF0dHJpYnV0ZSgiY3JlYXRvciIsYS5nZXRBbm5vdGF0aW9uQ3JlYXRvcihjKSk7Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShkLGMpO20uY2xhc3NOYW1lPSJhbm5vdGF0aW9uTm90ZSI7bS5hcHBlbmRDaGlsZChjKTtiJiYoaz1sLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGsuY2xhc3NOYW1lPSJhbm5vdGF0aW9uUmVtb3ZlQnV0dG9uIixtLmFwcGVuZENoaWxkKGspKTtuLmNsYXNzTmFtZT0iYW5ub3RhdGlvbkNvbm5lY3RvciBob3Jpem9udGFsIjtnLmNsYXNzTmFtZT0iYW5ub3RhdGlvbkNvbm5lY3RvciBhbmd1bGFyIjtkLmFwcGVuZENoaWxkKG0pOwpkLmFwcGVuZENoaWxkKG4pO2QuYXBwZW5kQ2hpbGQoZyk7Yy5hbm5vdGF0aW9uRW5kRWxlbWVudCYmZihjKX0pLHAoKSxyKCkpfTt0aGlzLmZvcmdldEFubm90YXRpb249cTt0aGlzLmZvcmdldEFubm90YXRpb25zPWZ1bmN0aW9uKCl7Zm9yKDtlLmxlbmd0aDspcShlWzBdKX19O2d1aS5WaWV3cG9ydD1mdW5jdGlvbigpe307Z3VpLlZpZXdwb3J0LnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldz1mdW5jdGlvbihnLGspe307Cmd1aS5TaW5nbGVTY3JvbGxWaWV3cG9ydD1mdW5jdGlvbihnKXt0aGlzLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGssZCl7dmFyIGIsZixuLHA7cD1nLm9mZnNldEhlaWdodC1nLmNsaWVudEhlaWdodDtuPWcub2Zmc2V0V2lkdGgtZy5jbGllbnRXaWR0aDt2YXIgcj1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGsmJnIpe2I9ci5sZWZ0KzU7Zj1yLnRvcCs1O249ci5yaWdodC0obis1KTtwPXIuYm90dG9tLShwKzUpO2lmKGR8fGsudG9wPGYpZy5zY3JvbGxUb3AtPWYtay50b3A7ZWxzZSBpZihrLnRvcD5wfHxrLmJvdHRvbT5wKWcuc2Nyb2xsVG9wPWsuYm90dG9tLWsudG9wPD1wLWY/Zy5zY3JvbGxUb3ArKGsuYm90dG9tLXApOmcuc2Nyb2xsVG9wKyhrLnRvcC1mKTtrLmxlZnQ8Yj9nLnNjcm9sbExlZnQtPWItay5sZWZ0OmsucmlnaHQ+biYmKGcuc2Nyb2xsTGVmdD1rLnJpZ2h0LWsubGVmdDw9bi1iP2cuc2Nyb2xsTGVmdCsoay5yaWdodC1uKTpnLnNjcm9sbExlZnQtKGItay5sZWZ0KSl9fX07CihmdW5jdGlvbigpe2Z1bmN0aW9uIGcoZCxuLGsscixxKXt2YXIgZSxsPTAsYTtmb3IoYSBpbiBkKWlmKGQuaGFzT3duUHJvcGVydHkoYSkpe2lmKGw9PT1rKXtlPWE7YnJlYWt9bCs9MX1lP24uZ2V0UGFydERhdGEoZFtlXS5ocmVmLGZ1bmN0aW9uKGEsbSl7aWYoYSlydW50aW1lLmxvZyhhKTtlbHNlIGlmKG0pe3ZhciBoPSJAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICIrKGRbZV0uZmFtaWx5fHxlKSsiOyBzcmM6IHVybChkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD1iaW5hcnk7YmFzZTY0LCIrYi5jb252ZXJ0VVRGOEFycmF5VG9CYXNlNjQobSkrJykgZm9ybWF0KCJ0cnVldHlwZSIpOyB9Jzt0cnl7ci5pbnNlcnRSdWxlKGgsci5jc3NSdWxlcy5sZW5ndGgpfWNhdGNoKGwpe3J1bnRpbWUubG9nKCJQcm9ibGVtIGluc2VydGluZyBydWxlIGluIENTUzogIitydW50aW1lLnRvSnNvbihsKSsiXG5SdWxlOiAiK2gpfX1lbHNlIHJ1bnRpbWUubG9nKCJtaXNzaW5nIGZvbnQgZGF0YSBmb3IgIisKZFtlXS5ocmVmKTtnKGQsbixrKzEscixxKX0pOnEmJnEoKX12YXIgaz14bWxkb20uWFBhdGgsZD1vZGYuT2RmVXRpbHMsYj1uZXcgY29yZS5CYXNlNjQ7b2RmLkZvbnRMb2FkZXI9ZnVuY3Rpb24oKXt0aGlzLmxvYWRGb250cz1mdW5jdGlvbihiLG4pe2Zvcih2YXIgcD1iLnJvb3RFbGVtZW50LmZvbnRGYWNlRGVjbHM7bi5jc3NSdWxlcy5sZW5ndGg7KW4uZGVsZXRlUnVsZShuLmNzc1J1bGVzLmxlbmd0aC0xKTtpZihwKXt2YXIgcj17fSxxLGUsbCxhO2lmKHApZm9yKHA9ay5nZXRPREZFbGVtZW50c1dpdGhYUGF0aChwLCJzdHlsZTpmb250LWZhY2Vbc3ZnOmZvbnQtZmFjZS1zcmNdIixvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpLHE9MDtxPHAubGVuZ3RoO3ErPTEpZT1wW3FdLGw9ZS5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy5zdHlsZW5zLCJuYW1lIiksYT1kLmdldE5vcm1hbGl6ZWRGb250RmFtaWx5TmFtZShlLmdldEF0dHJpYnV0ZU5TKG9kZi5OYW1lc3BhY2VzLnN2Z25zLAoiZm9udC1mYW1pbHkiKSksZT1rLmdldE9ERkVsZW1lbnRzV2l0aFhQYXRoKGUsInN2Zzpmb250LWZhY2Utc3JjL3N2Zzpmb250LWZhY2UtdXJpIixvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpLDA8ZS5sZW5ndGgmJihlPWVbMF0uZ2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMueGxpbmtucywiaHJlZiIpLHJbbF09e2hyZWY6ZSxmYW1pbHk6YX0pO2cocixiLDAsbil9fX19KSgpOwpvZGYuRm9ybWF0dGluZz1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuKGE9QVthXSk/dS5tZXJnZU9iamVjdHMoe30sYSk6e319ZnVuY3Rpb24gaygpe2Zvcih2YXIgYz1hLnJvb3RFbGVtZW50LmZvbnRGYWNlRGVjbHMsYj17fSxkLGUsYz1jJiZjLmZpcnN0RWxlbWVudENoaWxkO2M7KXtpZihkPWMuZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpKWlmKChlPWMuZ2V0QXR0cmlidXRlTlMobSwiZm9udC1mYW1pbHkiKSl8fDA8Yy5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKG0sImZvbnQtZmFjZS11cmkiKS5sZW5ndGgpYltkXT1lO2M9Yy5uZXh0RWxlbWVudFNpYmxpbmd9cmV0dXJuIGJ9ZnVuY3Rpb24gZChjKXtmb3IodmFyIGI9YS5yb290RWxlbWVudC5zdHlsZXMuZmlyc3RFbGVtZW50Q2hpbGQ7Yjspe2lmKGIubmFtZXNwYWNlVVJJPT09aCYmImRlZmF1bHQtc3R5bGUiPT09Yi5sb2NhbE5hbWUmJmIuZ2V0QXR0cmlidXRlTlMoaCwiZmFtaWx5Iik9PT1jKXJldHVybiBiO2I9Yi5uZXh0RWxlbWVudFNpYmxpbmd9cmV0dXJuIG51bGx9CmZ1bmN0aW9uIGIoYyxiLGQpe3ZhciBlLG0sbDtkPWR8fFthLnJvb3RFbGVtZW50LmF1dG9tYXRpY1N0eWxlcyxhLnJvb3RFbGVtZW50LnN0eWxlc107Zm9yKGw9MDtsPGQubGVuZ3RoO2wrPTEpZm9yKGU9ZFtsXSxlPWUuZmlyc3RFbGVtZW50Q2hpbGQ7ZTspe209ZS5nZXRBdHRyaWJ1dGVOUyhoLCJuYW1lIik7aWYoZS5uYW1lc3BhY2VVUkk9PT1oJiYic3R5bGUiPT09ZS5sb2NhbE5hbWUmJmUuZ2V0QXR0cmlidXRlTlMoaCwiZmFtaWx5Iik9PT1iJiZtPT09Y3x8Imxpc3Qtc3R5bGUiPT09YiYmZS5uYW1lc3BhY2VVUkk9PT15JiYibGlzdC1zdHlsZSI9PT1lLmxvY2FsTmFtZSYmbT09PWN8fCJkYXRhIj09PWImJmUubmFtZXNwYWNlVVJJPT09eCYmbT09PWMpcmV0dXJuIGU7ZT1lLm5leHRFbGVtZW50U2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBmKGEpe2Zvcih2YXIgYyxiLGQsZSxtPXt9LGw9YS5maXJzdEVsZW1lbnRDaGlsZDtsOyl7aWYobC5uYW1lc3BhY2VVUkk9PT1oKWZvcihkPQptW2wubm9kZU5hbWVdPXt9LGI9bC5hdHRyaWJ1dGVzLGM9MDtjPGIubGVuZ3RoO2MrPTEpZT1iLml0ZW0oYyksZFtlLm5hbWVdPWUudmFsdWU7bD1sLm5leHRFbGVtZW50U2libGluZ31iPWEuYXR0cmlidXRlcztmb3IoYz0wO2M8Yi5sZW5ndGg7Yys9MSllPWIuaXRlbShjKSxtW2UubmFtZV09ZS52YWx1ZTtyZXR1cm4gbX1mdW5jdGlvbiBuKGMsZSl7Zm9yKHZhciBtPWEucm9vdEVsZW1lbnQuc3R5bGVzLGwsbj17fSxrPWMuZ2V0QXR0cmlidXRlTlMoaCwiZmFtaWx5Iikscj1jO3I7KWw9ZihyKSxuPXUubWVyZ2VPYmplY3RzKGwsbikscj0obD1yLmdldEF0dHJpYnV0ZU5TKGgsInBhcmVudC1zdHlsZS1uYW1lIikpP2IobCxrLFttXSk6bnVsbDtpZihyPWQoaykpbD1mKHIpLG49dS5tZXJnZU9iamVjdHMobCxuKTshMSE9PWUmJihsPWcoayksbj11Lm1lcmdlT2JqZWN0cyhsLG4pKTtyZXR1cm4gbn1mdW5jdGlvbiBwKGIsZCl7ZnVuY3Rpb24gaChhKXtPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe09iamVjdC5rZXlzKGFbY10pLmZvckVhY2goZnVuY3Rpb24oYSl7Zis9CiJ8IitjKyI6IithKyJ8In0pfSl9Zm9yKHZhciBlPWIubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9iLnBhcmVudE5vZGU6YixtLGw9W10sZj0iIixuPSExO2UmJiF3LmlzSW5saW5lUm9vdChlKSYmZS5wYXJlbnROb2RlIT09YS5yb290RWxlbWVudDspIW4mJncuaXNHcm91cGluZ0VsZW1lbnQoZSkmJihuPSEwKSwobT1jLmRldGVybWluZVN0eWxlc0Zvck5vZGUoZSkpJiZsLnB1c2gobSksZT1lLnBhcmVudE5vZGU7biYmKGwuZm9yRWFjaChoKSxkJiYoZFtmXT1sKSk7cmV0dXJuIG4/bDp2b2lkIDB9ZnVuY3Rpb24gcihjKXt2YXIgZD17b3JkZXJlZFN0eWxlczpbXSxzdHlsZVByb3BlcnRpZXM6e319O2MuZm9yRWFjaChmdW5jdGlvbihjKXtPYmplY3Qua2V5cyhjKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBtPU9iamVjdC5rZXlzKGNbZV0pWzBdLGw9e25hbWU6bSxmYW1pbHk6ZSxkaXNwbGF5TmFtZTp2b2lkIDAsaXNDb21tb25TdHlsZTohMX0sZjsoZj1iKG0sZSkpPyhlPW4oZiksCmQuc3R5bGVQcm9wZXJ0aWVzPXUubWVyZ2VPYmplY3RzKGUsZC5zdHlsZVByb3BlcnRpZXMpLGwuZGlzcGxheU5hbWU9Zi5nZXRBdHRyaWJ1dGVOUyhoLCJkaXNwbGF5LW5hbWUiKXx8dm9pZCAwLGwuaXNDb21tb25TdHlsZT1mLnBhcmVudE5vZGU9PT1hLnJvb3RFbGVtZW50LnN0eWxlcyk6cnVudGltZS5sb2coIk5vIHN0eWxlIGVsZW1lbnQgZm91bmQgZm9yICciK20rIicgb2YgZmFtaWx5ICciK2UrIiciKTtkLm9yZGVyZWRTdHlsZXMucHVzaChsKX0pfSk7cmV0dXJuIGR9ZnVuY3Rpb24gcShhLGMpe3ZhciBiPXt9LGQ9W107Y3x8KGM9e30pO2EuZm9yRWFjaChmdW5jdGlvbihhKXtwKGEsYil9KTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2NbYV18fChjW2FdPXIoYlthXSkpO2QucHVzaChjW2FdKX0pO3JldHVybiBkfWZ1bmN0aW9uIGUoYyl7Zm9yKHZhciBiPWEucm9vdEVsZW1lbnQubWFzdGVyU3R5bGVzLmZpcnN0RWxlbWVudENoaWxkO2ImJihiLm5hbWVzcGFjZVVSSSE9PQpofHwibWFzdGVyLXBhZ2UiIT09Yi5sb2NhbE5hbWV8fGIuZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpIT09Yyk7KWI9Yi5uZXh0RWxlbWVudFNpYmxpbmc7cmV0dXJuIGJ9ZnVuY3Rpb24gbChhLGMpe3ZhciBiO2EmJihiPXQuY29udmVydE1lYXN1cmUoYSwicHgiKSk7dm9pZCAwPT09YiYmYyYmKGI9dC5jb252ZXJ0TWVhc3VyZShjLCJweCIpKTtyZXR1cm4gYn12YXIgYSxjPW5ldyBvZGYuU3R5bGVJbmZvLG09b2RmLk5hbWVzcGFjZXMuc3ZnbnMsaD1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLHk9b2RmLk5hbWVzcGFjZXMudGV4dG5zLHg9b2RmLk5hbWVzcGFjZXMubnVtYmVybnMsej1vZGYuTmFtZXNwYWNlcy5mb25zLHc9b2RmLk9kZlV0aWxzLHY9Y29yZS5Eb21VdGlscyx1PW5ldyBjb3JlLlV0aWxzLHQ9bmV3IGNvcmUuQ1NTVW5pdHMsQT17cGFyYWdyYXBoOnsic3R5bGU6cGFyYWdyYXBoLXByb3BlcnRpZXMiOnsiZm86dGV4dC1hbGlnbiI6ImxlZnQifX19O3RoaXMuZ2V0U3lzdGVtRGVmYXVsdFN0eWxlQXR0cmlidXRlcz0KZzt0aGlzLnNldE9kZkNvbnRhaW5lcj1mdW5jdGlvbihjKXthPWN9O3RoaXMuZ2V0Rm9udE1hcD1rO3RoaXMuZ2V0QXZhaWxhYmxlUGFyYWdyYXBoU3R5bGVzPWZ1bmN0aW9uKCl7Zm9yKHZhciBjPWEucm9vdEVsZW1lbnQuc3R5bGVzLGIsZCxlPVtdLGM9YyYmYy5maXJzdEVsZW1lbnRDaGlsZDtjOykic3R5bGUiPT09Yy5sb2NhbE5hbWUmJmMubmFtZXNwYWNlVVJJPT09aCYmKGI9Yy5nZXRBdHRyaWJ1dGVOUyhoLCJmYW1pbHkiKSwicGFyYWdyYXBoIj09PWImJihiPWMuZ2V0QXR0cmlidXRlTlMoaCwibmFtZSIpLGQ9Yy5nZXRBdHRyaWJ1dGVOUyhoLCJkaXNwbGF5LW5hbWUiKXx8YixiJiZkJiZlLnB1c2goe25hbWU6YixkaXNwbGF5TmFtZTpkfSkpKSxjPWMubmV4dEVsZW1lbnRTaWJsaW5nO3JldHVybiBlfTt0aGlzLmlzU3R5bGVVc2VkPWZ1bmN0aW9uKGIpe3ZhciBkLGU9YS5yb290RWxlbWVudDtkPWMuaGFzRGVyaXZlZFN0eWxlcyhlLG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSSwKYik7Yj0obmV3IGMuVXNlZFN0eWxlTGlzdChlLnN0eWxlcykpLnVzZXMoYil8fChuZXcgYy5Vc2VkU3R5bGVMaXN0KGUuYXV0b21hdGljU3R5bGVzKSkudXNlcyhiKXx8KG5ldyBjLlVzZWRTdHlsZUxpc3QoZS5ib2R5KSkudXNlcyhiKTtyZXR1cm4gZHx8Yn07dGhpcy5nZXREZWZhdWx0U3R5bGVFbGVtZW50PWQ7dGhpcy5nZXRTdHlsZUVsZW1lbnQ9Yjt0aGlzLmdldFN0eWxlQXR0cmlidXRlcz1mO3RoaXMuZ2V0SW5oZXJpdGVkU3R5bGVBdHRyaWJ1dGVzPW47dGhpcy5nZXRGaXJzdENvbW1vblBhcmVudFN0eWxlTmFtZU9yU2VsZj1mdW5jdGlvbihjKXt2YXIgZD1hLnJvb3RFbGVtZW50LnN0eWxlcyxlO2lmKGU9YihjLCJwYXJhZ3JhcGgiLFthLnJvb3RFbGVtZW50LmF1dG9tYXRpY1N0eWxlc10pKWlmKGM9ZS5nZXRBdHRyaWJ1dGVOUyhoLCJwYXJlbnQtc3R5bGUtbmFtZSIpLCFjKXJldHVybiBudWxsO3JldHVybihlPWIoYywicGFyYWdyYXBoIixbZF0pKT9jOm51bGx9O3RoaXMuaGFzUGFyYWdyYXBoU3R5bGU9CmZ1bmN0aW9uKGEpe3JldHVybiBCb29sZWFuKGIoYSwicGFyYWdyYXBoIikpfTt0aGlzLmdldEFwcGxpZWRTdHlsZXM9cTt0aGlzLmdldEFwcGxpZWRTdHlsZXNGb3JFbGVtZW50PWZ1bmN0aW9uKGEsYyl7cmV0dXJuIHEoW2FdLGMpWzBdfTt0aGlzLnVwZGF0ZVN0eWxlPWZ1bmN0aW9uKGMsYil7dmFyIGQsZTt2Lm1hcE9iak9udG9Ob2RlKGMsYixvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpOyhkPShkPWJbInN0eWxlOnRleHQtcHJvcGVydGllcyJdKSYmZFsic3R5bGU6Zm9udC1uYW1lIl0pJiYhaygpLmhhc093blByb3BlcnR5KGQpJiYoZT1jLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGgsInN0eWxlOmZvbnQtZmFjZSIpLGUuc2V0QXR0cmlidXRlTlMoaCwic3R5bGU6bmFtZSIsZCksZS5zZXRBdHRyaWJ1dGVOUyhtLCJzdmc6Zm9udC1mYW1pbHkiLGQpLGEucm9vdEVsZW1lbnQuZm9udEZhY2VEZWNscy5hcHBlbmRDaGlsZChlKSl9O3RoaXMuY3JlYXRlRGVyaXZlZFN0eWxlT2JqZWN0PQpmdW5jdGlvbihjLGQsZSl7dmFyIGg9YihjLGQpO3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4oaCksIk5vIHN0eWxlIGVsZW1lbnQgZm91bmQgZm9yICciK2MrIicgb2YgZmFtaWx5ICciK2QrIiciKTtjPWgucGFyZW50Tm9kZT09PWEucm9vdEVsZW1lbnQuc3R5bGVzP3sic3R5bGU6cGFyZW50LXN0eWxlLW5hbWUiOmN9OmYoaCk7Y1sic3R5bGU6ZmFtaWx5Il09ZDt1Lm1lcmdlT2JqZWN0cyhjLGUpO3JldHVybiBjfTt0aGlzLmdldERlZmF1bHRUYWJTdG9wRGlzdGFuY2U9ZnVuY3Rpb24oKXtmb3IodmFyIGE9ZCgicGFyYWdyYXBoIiksYT1hJiZhLmZpcnN0RWxlbWVudENoaWxkLGM7YTspYS5uYW1lc3BhY2VVUkk9PT1oJiYicGFyYWdyYXBoLXByb3BlcnRpZXMiPT09YS5sb2NhbE5hbWUmJihjPWEuZ2V0QXR0cmlidXRlTlMoaCwidGFiLXN0b3AtZGlzdGFuY2UiKSksYT1hLm5leHRFbGVtZW50U2libGluZztjfHwoYz0iMS4yNWNtIik7cmV0dXJuIHcucGFyc2VOb25OZWdhdGl2ZUxlbmd0aChjKX07CnRoaXMuZ2V0TWFzdGVyUGFnZUVsZW1lbnQ9ZTt0aGlzLmdldENvbnRlbnRTaXplPWZ1bmN0aW9uKGMsZCl7dmFyIG0sZixuLGcsayxyLHAscSx5LHU7YTp7Zj1iKGMsZCk7cnVudGltZS5hc3NlcnQoInBhcmFncmFwaCI9PT1kfHwidGFibGUiPT09ZCwic3R5bGVGYW1pbHkgbXVzdCBiZSBlaXRoZXIgcGFyYWdyYXBoIG9yIHRhYmxlIik7aWYoZil7aWYoZj1mLmdldEF0dHJpYnV0ZU5TKGgsIm1hc3Rlci1wYWdlLW5hbWUiKSkobT1lKGYpKXx8cnVudGltZS5sb2coIldBUk46IE5vIG1hc3RlciBwYWdlIGRlZmluaXRpb24gZm91bmQgZm9yICIrZik7bXx8KG09ZSgiU3RhbmRhcmQiKSk7bXx8KG09YS5yb290RWxlbWVudC5tYXN0ZXJTdHlsZXMuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhoLCJtYXN0ZXItcGFnZSIpWzBdKXx8cnVudGltZS5sb2coIldBUk46IERvY3VtZW50IGhhcyBubyBtYXN0ZXIgcGFnZXMgZGVmaW5lZCIpO2lmKG0pZm9yKGY9bS5nZXRBdHRyaWJ1dGVOUyhoLCJwYWdlLWxheW91dC1uYW1lIiksCm49YS5yb290RWxlbWVudC5hdXRvbWF0aWNTdHlsZXMuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhoLCJwYWdlLWxheW91dCIpLGc9MDtnPG4ubGVuZ3RoO2crPTEpaWYobT1uLml0ZW0oZyksbS5nZXRBdHRyaWJ1dGVOUyhoLCJuYW1lIik9PT1mKWJyZWFrIGF9bT1udWxsfW18fChtPXYuZ2V0RGlyZWN0Q2hpbGQoYS5yb290RWxlbWVudC5zdHlsZXMsaCwiZGVmYXVsdC1wYWdlLWxheW91dCIpKTsobT12LmdldERpcmVjdENoaWxkKG0saCwicGFnZS1sYXlvdXQtcHJvcGVydGllcyIpKT8oImxhbmRzY2FwZSI9PT1tLmdldEF0dHJpYnV0ZU5TKGgsInByaW50LW9yaWVudGF0aW9uIik/KGY9IjI5LjdjbSIsbj0iMjEuMDAxY20iKTooZj0iMjEuMDAxY20iLG49IjI5LjdjbSIpLGY9bChtLmdldEF0dHJpYnV0ZU5TKHosInBhZ2Utd2lkdGgiKSxmKSxuPWwobS5nZXRBdHRyaWJ1dGVOUyh6LCJwYWdlLWhlaWdodCIpLG4pLGc9bChtLmdldEF0dHJpYnV0ZU5TKHosIm1hcmdpbiIpKSx2b2lkIDA9PT0KZz8oZz1sKG0uZ2V0QXR0cmlidXRlTlMoeiwibWFyZ2luLWxlZnQiKSwiMmNtIiksaz1sKG0uZ2V0QXR0cmlidXRlTlMoeiwibWFyZ2luLXJpZ2h0IiksIjJjbSIpLHI9bChtLmdldEF0dHJpYnV0ZU5TKHosIm1hcmdpbi10b3AiKSwiMmNtIikscD1sKG0uZ2V0QXR0cmlidXRlTlMoeiwibWFyZ2luLWJvdHRvbSIpLCIyY20iKSk6Zz1rPXI9cD1nLHE9bChtLmdldEF0dHJpYnV0ZU5TKHosInBhZGRpbmciKSksdm9pZCAwPT09cT8ocT1sKG0uZ2V0QXR0cmlidXRlTlMoeiwicGFkZGluZy1sZWZ0IiksIjBjbSIpLHk9bChtLmdldEF0dHJpYnV0ZU5TKHosInBhZGRpbmctcmlnaHQiKSwiMGNtIiksdT1sKG0uZ2V0QXR0cmlidXRlTlMoeiwicGFkZGluZy10b3AiKSwiMGNtIiksbT1sKG0uZ2V0QXR0cmlidXRlTlMoeiwicGFkZGluZy1ib3R0b20iKSwiMGNtIikpOnE9eT11PW09cSk6KGY9bCgiMjEuMDAxY20iKSxuPWwoIjI5LjdjbSIpLGc9az1yPXA9Zz1sKCIyY20iKSxxPXk9dT1tPXE9CmwoIjBjbSIpKTtyZXR1cm57d2lkdGg6Zi1nLWstcS15LGhlaWdodDpuLXItcC11LW19fX07CihmdW5jdGlvbigpe3ZhciBnPW9kZi5OYW1lc3BhY2VzLnN0eWxlbnMsaz1vZGYuTmFtZXNwYWNlcy50ZXh0bnMsZD17Z3JhcGhpYzoiZHJhdyIsImRyYXdpbmctcGFnZSI6ImRyYXciLHBhcmFncmFwaDoidGV4dCIscHJlc2VudGF0aW9uOiJwcmVzZW50YXRpb24iLHJ1Ynk6InRleHQiLHNlY3Rpb246InRleHQiLHRhYmxlOiJ0YWJsZSIsInRhYmxlLWNlbGwiOiJ0YWJsZSIsInRhYmxlLWNvbHVtbiI6InRhYmxlIiwidGFibGUtcm93IjoidGFibGUiLHRleHQ6InRleHQiLGxpc3Q6InRleHQiLHBhZ2U6Im9mZmljZSJ9O29kZi5TdHlsZVRyZWVOb2RlPWZ1bmN0aW9uKGIpe3RoaXMuZGVyaXZlZFN0eWxlcz17fTt0aGlzLmVsZW1lbnQ9Yn07b2RmLlN0eWxlVHJlZT1mdW5jdGlvbihiLGYpe2Z1bmN0aW9uIG4oYil7dmFyIGEsYyxkLGU9e307aWYoIWIpcmV0dXJuIGU7Zm9yKGI9Yi5maXJzdEVsZW1lbnRDaGlsZDtiOyl7aWYoYz1iLm5hbWVzcGFjZVVSSSE9PWd8fCJzdHlsZSIhPT1iLmxvY2FsTmFtZSYmCiJkZWZhdWx0LXN0eWxlIiE9PWIubG9jYWxOYW1lP2IubmFtZXNwYWNlVVJJPT09ayYmImxpc3Qtc3R5bGUiPT09Yi5sb2NhbE5hbWU/Imxpc3QiOmIubmFtZXNwYWNlVVJJIT09Z3x8InBhZ2UtbGF5b3V0IiE9PWIubG9jYWxOYW1lJiYiZGVmYXVsdC1wYWdlLWxheW91dCIhPT1iLmxvY2FsTmFtZT92b2lkIDA6InBhZ2UiOmIuZ2V0QXR0cmlidXRlTlMoZywiZmFtaWx5IikpKGE9Yi5nZXRBdHRyaWJ1dGVOUyhnLCJuYW1lIikpfHwoYT0iIiksZS5oYXNPd25Qcm9wZXJ0eShjKT9kPWVbY106ZVtjXT1kPXt9LGRbYV09YjtiPWIubmV4dEVsZW1lbnRTaWJsaW5nfXJldHVybiBlfWZ1bmN0aW9uIHAoYixhKXtpZihiLmhhc093blByb3BlcnR5KGEpKXJldHVybiBiW2FdO3ZhciBjPW51bGwsZD1PYmplY3Qua2V5cyhiKSxlO2ZvcihlPTA7ZTxkLmxlbmd0aCYmIShjPXAoYltkW2VdXS5kZXJpdmVkU3R5bGVzLGEpKTtlKz0xKTtyZXR1cm4gY31mdW5jdGlvbiByKGIsYSxjKXt2YXIgZCxlLApmO2lmKCFhLmhhc093blByb3BlcnR5KGIpKXJldHVybiBudWxsO2Q9bmV3IG9kZi5TdHlsZVRyZWVOb2RlKGFbYl0pO2U9ZC5lbGVtZW50LmdldEF0dHJpYnV0ZU5TKGcsInBhcmVudC1zdHlsZS1uYW1lIik7Zj1udWxsO2UmJihmPXAoYyxlKXx8cihlLGEsYykpO2Y/Zi5kZXJpdmVkU3R5bGVzW2JdPWQ6Y1tiXT1kO2RlbGV0ZSBhW2JdO3JldHVybiBkfWZ1bmN0aW9uIHEoYixhKXtiJiZPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3IoYyxiLGEpfSl9dmFyIGU9e307dGhpcy5nZXRTdHlsZVRyZWU9ZnVuY3Rpb24oKXtyZXR1cm4gZX07KGZ1bmN0aW9uKCl7dmFyIGwsYSxjO2E9bihiKTtjPW4oZik7T2JqZWN0LmtleXMoZCkuZm9yRWFjaChmdW5jdGlvbihiKXtsPWVbYl09e307cShhW2JdLGwpO3EoY1tiXSxsKX0pfSkoKX19KSgpOwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCl7dHJ5e2IuaW5zZXJ0UnVsZShkLGIuY3NzUnVsZXMubGVuZ3RoKX1jYXRjaChmKXtydW50aW1lLmxvZygiY2Fubm90IGxvYWQgcnVsZTogIitkKyIgLSAiK2YpfX1mdW5jdGlvbiBrKGIsZCl7dGhpcy5saXN0Q291bnRlckNvdW50PTA7dGhpcy5jb250ZW50UnVsZXM9Yjt0aGlzLmNvdW50ZXJJZFN0YWNrPVtdO3RoaXMuY29udGludWVkQ291bnRlcklkU3RhY2s9ZH1mdW5jdGlvbiBkKGIpe2Z1bmN0aW9uIGQoYyxoLGYsbCl7dmFyIGs9aC5uYW1lc3BhY2VVUkk9PT1uJiYibGlzdCI9PT1oLmxvY2FsTmFtZSxyPWgubmFtZXNwYWNlVVJJPT09biYmImxpc3QtaXRlbSI9PT1oLmxvY2FsTmFtZTtpZihrfHxyKXtpZihrKXt2YXIgaz1mKz0xLHAsdSx0O2wubGlzdENvdW50ZXJDb3VudCs9MTtyPWMrIi1sZXZlbCIraysiLSIrbC5saXN0Q291bnRlckNvdW50O2guc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIiwiY291bnRlci1pZCIsCnIpO3A9bC5jb250aW51ZWRDb3VudGVySWRTdGFjay5zaGlmdCgpO3B8fChwPXIsYSs9cisiIDEgIix1PSd0ZXh0fGxpc3Rbd2Vib2RmaGVscGVyfGNvdW50ZXItaWQ9IicrcisnIl0gPiB0ZXh0fGxpc3QtaXRlbTpmaXJzdC1jaGlsZCA+IDpub3QodGV4dHxsaXN0KTpmaXJzdC1jaGlsZDpiZWZvcmUnLHUrPSJ7Iix1Kz0iY291bnRlci1pbmNyZW1lbnQ6ICIrcCsiIDA7Iix1Kz0ifSIsZyhiLHUpKTtmb3IoO2wuY291bnRlcklkU3RhY2subGVuZ3RoPj1rOylsLmNvdW50ZXJJZFN0YWNrLnBvcCgpO2wuY291bnRlcklkU3RhY2sucHVzaChwKTt0PWwuY29udGVudFJ1bGVzW2sudG9TdHJpbmcoKV18fCIiO2Zvcih1PTE7dTw9azt1Kz0xKXQ9dC5yZXBsYWNlKHUrIndlYm9kZi1saXN0TGV2ZWwiLGwuY291bnRlcklkU3RhY2tbdS0xXSk7dT0ndGV4dHxsaXN0W3dlYm9kZmhlbHBlcnxjb3VudGVyLWlkPSInK3IrJyJdID4gdGV4dHxsaXN0LWl0ZW0gPiA6bm90KHRleHR8bGlzdCk6Zmlyc3QtY2hpbGQ6YmVmb3JlJzsKdSs9InsiO3UrPXQ7dSs9ImNvdW50ZXItaW5jcmVtZW50OiAiK3ArIjsiO3UrPSJ9IjtnKGIsdSl9Zm9yKGg9aC5maXJzdEVsZW1lbnRDaGlsZDtoOylkKGMsaCxmLGwpLGg9aC5uZXh0RWxlbWVudFNpYmxpbmd9ZWxzZSBsLmNvbnRpbnVlZENvdW50ZXJJZFN0YWNrPVtdfXZhciBmPTAsYT0iIixjPXt9O3RoaXMuY3JlYXRlQ291bnRlclJ1bGVzPWZ1bmN0aW9uKGEsYixuKXt2YXIgZz1iLmdldEF0dHJpYnV0ZU5TKHAsImlkIikscj1bXTtuJiYobj1uLmdldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmhlbHBlciIsImNvdW50ZXItaWQiKSxyPWNbbl0uc2xpY2UoMCkpO2E9bmV3IGsoYSxyKTtnP2c9IlkiK2c6KGYrPTEsZz0iWCIrZik7ZChnLGIsMCxhKTtjW2crIi1sZXZlbDEtMSJdPWEuY291bnRlcklkU3RhY2t9O3RoaXMuaW5pdGlhbGlzZUNyZWF0ZWRDb3VudGVycz1mdW5jdGlvbigpe3ZhciBjO2M9Im9mZmljZXxkb2N1bWVudHsiKygiY291bnRlci1yZXNldDogIithKwoiOyIpO2MrPSJ9IjtnKGIsYyl9fXZhciBiPW9kZi5OYW1lc3BhY2VzLmZvbnMsZj1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLG49b2RmLk5hbWVzcGFjZXMudGV4dG5zLHA9b2RmLk5hbWVzcGFjZXMueG1sbnMscj17MToiZGVjaW1hbCIsYToibG93ZXItbGF0aW4iLEE6InVwcGVyLWxhdGluIixpOiJsb3dlci1yb21hbiIsSToidXBwZXItcm9tYW4ifTtvZGYuTGlzdFN0eWxlVG9Dc3M9ZnVuY3Rpb24oKXtmdW5jdGlvbiBrKGEpe3ZhciBiPW0ucGFyc2VMZW5ndGgoYSk7cmV0dXJuIGI/Yy5jb252ZXJ0KGIudmFsdWUsYi51bml0LCJweCIpOihydW50aW1lLmxvZygiQ291bGQgbm90IHBhcnNlIHZhbHVlICciK2ErIicuIiksMCl9ZnVuY3Rpb24gZShhKXtyZXR1cm4gYS5yZXBsYWNlKC9cXC9nLCJcXFxcIikucmVwbGFjZSgvIi9nLCdcXCInKX1mdW5jdGlvbiBsKGEsYyl7dmFyIGI7YSYmKGI9YS5nZXRBdHRyaWJ1dGVOUyhuLCJzdHlsZS1uYW1lIikpO3JldHVybiBiPT09Y31mdW5jdGlvbiBhKGEsCmMsYil7Yz1jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMobiwibGlzdCIpO2E9bmV3IGQoYSk7dmFyIG0sZyxrLHEsdCxBLEk9e30sSztmb3IoSz0wO0s8Yy5sZW5ndGg7Sys9MSlpZihtPWMuaXRlbShLKSxBPW0uZ2V0QXR0cmlidXRlTlMobiwic3R5bGUtbmFtZSIpKXtrPW0uZ2V0QXR0cmlidXRlTlMobiwiY29udGludWUtbnVtYmVyaW5nIik7cT1tLmdldEF0dHJpYnV0ZU5TKG4sImNvbnRpbnVlLWxpc3QiKTsodD1tLmdldEF0dHJpYnV0ZU5TKHAsImlkIikpJiYoSVt0XT1tKTt0PWJbQV0uZWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZDtmb3IodmFyIEw9dm9pZCAwLEU9e307dDspe3ZhciBMPShMPXQuZ2V0QXR0cmlidXRlTlMobiwibGV2ZWwiKSkmJnBhcnNlSW50KEwsMTApLE49dCxPPSIiLEQ9dm9pZCAwLFY9dm9pZCAwLFc9RD12b2lkIDA7aWYoImxpc3QtbGV2ZWwtc3R5bGUtbnVtYmVyIj09PU4ubG9jYWxOYW1lKXt2YXIgSj1OLE89Si5nZXRBdHRyaWJ1dGVOUyhmLCJudW0tZm9ybWF0IiksCkQ9Si5nZXRBdHRyaWJ1dGVOUyhmLCJudW0tc3VmZml4Iil8fCIiLFY9Si5nZXRBdHRyaWJ1dGVOUyhmLCJudW0tcHJlZml4Iil8fCIiLFI9IiIsUD1KLmdldEF0dHJpYnV0ZU5TKG4sImxldmVsIiksSj1KLmdldEF0dHJpYnV0ZU5TKG4sImRpc3BsYXktbGV2ZWxzIik7ViYmKFIrPSciJytlKFYpKyciXG4nKTtpZihyLmhhc093blByb3BlcnR5KE8pKWZvcihQPVA/cGFyc2VJbnQoUCwxMCk6MSxKPUo/cGFyc2VJbnQoSiwxMCk6MTswPEo7KVIrPSIgY291bnRlcigiKyhQLUorMSkrIndlYm9kZi1saXN0TGV2ZWwsIityW09dKyIpIiwxPEomJihSKz0nIi4iJyksLS1KO2Vsc2UgUj1PP1IrKCcgIicrTysnIicpOlIrJyAiIic7Tz0iY29udGVudDoiK1IrJyAiJytlKEQpKyciJ31lbHNlImxpc3QtbGV2ZWwtc3R5bGUtaW1hZ2UiPT09Ti5sb2NhbE5hbWU/Tz0iY29udGVudDogbm9uZSI6Imxpc3QtbGV2ZWwtc3R5bGUtYnVsbGV0Ij09PU4ubG9jYWxOYW1lJiYoTz1OLmdldEF0dHJpYnV0ZU5TKG4sCiJidWxsZXQtY2hhciIpLE89J2NvbnRlbnQ6ICInK2UoTykrJyInKTtpZihEPU4uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhmLCJsaXN0LWxldmVsLXByb3BlcnRpZXMiKVswXSlWPUQuZ2V0QXR0cmlidXRlTlMobiwibGlzdC1sZXZlbC1wb3NpdGlvbi1hbmQtc3BhY2UtbW9kZSIpLCJsYWJlbC1hbGlnbm1lbnQiPT09ViYmKChEPUQuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhmLCJsaXN0LWxldmVsLWxhYmVsLWFsaWdubWVudCIpWzBdKSYmKFc9RC5nZXRBdHRyaWJ1dGVOUyhuLCJsYWJlbC1mb2xsb3dlZC1ieSIpKSwic3BhY2UiPT09VyYmKE8rPScgIlxcYTAiJykpO0VbTF09IlxuIitPKyI7XG4iO3Q9dC5uZXh0RWxlbWVudFNpYmxpbmd9dD1FO2smJiFxJiZsKGcsQSk/YS5jcmVhdGVDb3VudGVyUnVsZXModCxtLGcpOnEmJmwoSVtxXSxBKT9hLmNyZWF0ZUNvdW50ZXJSdWxlcyh0LG0sSVtxXSk6YS5jcmVhdGVDb3VudGVyUnVsZXModCxtKTtnPW19YS5pbml0aWFsaXNlQ3JlYXRlZENvdW50ZXJzKCl9CnZhciBjPW5ldyBjb3JlLkNTU1VuaXRzLG09b2RmLk9kZlV0aWxzO3RoaXMuYXBwbHlMaXN0U3R5bGVzPWZ1bmN0aW9uKGMsZCxlKXt2YXIgbSxsOyhtPWQubGlzdCkmJk9iamVjdC5rZXlzKG0pLmZvckVhY2goZnVuY3Rpb24oYSl7bD1tW2FdO2Zvcih2YXIgZD1sLmVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQ7ZDspe2lmKGQubmFtZXNwYWNlVVJJPT09bil7Zm9yKHZhciBlPWMscj1kLHA9J3RleHR8bGlzdFt0ZXh0fHN0eWxlLW5hbWU9IicrYSsnIl0nLHk9ci5nZXRBdHRyaWJ1dGVOUyhuLCJsZXZlbCIpLHg9dm9pZCAwLEU9dm9pZCAwLE49RT12b2lkIDAsTz12b2lkIDAsRD12b2lkIDAsVj14PXZvaWQgMCxXPXZvaWQgMCxKPXZvaWQgMCxSPXZvaWQgMCxPPXZvaWQgMCxOPShFPXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhmLCJsaXN0LWxldmVsLXByb3BlcnRpZXMiKVswXSkmJkUuZ2V0QXR0cmlidXRlTlMobiwibGlzdC1sZXZlbC1wb3NpdGlvbi1hbmQtc3BhY2UtbW9kZSIpLApPPUUmJkUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhmLCJsaXN0LWxldmVsLWxhYmVsLWFsaWdubWVudCIpWzBdLHg9eT15JiZwYXJzZUludCh5LDEwKTsxPHg7KXArPSIgPiB0ZXh0fGxpc3QtaXRlbSA+IHRleHR8bGlzdCIsLS14O3g9RSYmRS5nZXRBdHRyaWJ1dGVOUyhiLCJ0ZXh0LWFsaWduIil8fCJsZWZ0Ijtzd2l0Y2goeCl7Y2FzZSAiZW5kIjp4PSJyaWdodCI7YnJlYWs7Y2FzZSAic3RhcnQiOng9ImxlZnQifSJsYWJlbC1hbGlnbm1lbnQiPT09Tj8oRD1PJiZPLmdldEF0dHJpYnV0ZU5TKGIsIm1hcmdpbi1sZWZ0Iil8fCIwcHgiLEo9TyYmTy5nZXRBdHRyaWJ1dGVOUyhiLCJ0ZXh0LWluZGVudCIpfHwiMHB4IixSPU8mJk8uZ2V0QXR0cmlidXRlTlMobiwibGFiZWwtZm9sbG93ZWQtYnkiKSxPPWsoRCkpOihEPUUmJkUuZ2V0QXR0cmlidXRlTlMobiwic3BhY2UtYmVmb3JlIil8fCIwcHgiLFY9RSYmRS5nZXRBdHRyaWJ1dGVOUyhuLCJtaW4tbGFiZWwtd2lkdGgiKXx8IjBweCIsClc9RSYmRS5nZXRBdHRyaWJ1dGVOUyhuLCJtaW4tbGFiZWwtZGlzdGFuY2UiKXx8IjBweCIsTz1rKEQpK2soVikpO0U9cCsiID4gdGV4dHxsaXN0LWl0ZW0iO0UrPSJ7IjtFKz0ibWFyZ2luLWxlZnQ6ICIrTysicHg7IjtFKz0ifSI7ZyhlLEUpO0U9cCsiID4gdGV4dHxsaXN0LWl0ZW0gPiB0ZXh0fGxpc3QiO0UrPSJ7IjtFKz0ibWFyZ2luLWxlZnQ6ICIrLU8rInB4OyI7RSs9In0iO2coZSxFKTtFPXArIiA+IHRleHR8bGlzdC1pdGVtID4gOm5vdCh0ZXh0fGxpc3QpOmZpcnN0LWNoaWxkOmJlZm9yZSI7RSs9InsiO0UrPSJ0ZXh0LWFsaWduOiAiK3grIjsiO0UrPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IjsibGFiZWwtYWxpZ25tZW50Ij09PU4/KEUrPSJtYXJnaW4tbGVmdDogIitKKyI7IiwibGlzdHRhYiI9PT1SJiYoRSs9InBhZGRpbmctcmlnaHQ6IDAuMmNtOyIpKTooRSs9Im1pbi13aWR0aDogIitWKyI7IixFKz0ibWFyZ2luLWxlZnQ6ICIrKDA9PT1wYXJzZUZsb2F0KFYpPyIiOgoiLSIpK1YrIjsiLEUrPSJwYWRkaW5nLXJpZ2h0OiAiK1crIjsiKTtFKz0ifSI7ZyhlLEUpfWQ9ZC5uZXh0RWxlbWVudFNpYmxpbmd9fSk7YShjLGUsbSl9fX0pKCk7b2RmLkxhenlTdHlsZVByb3BlcnRpZXM9ZnVuY3Rpb24oZyxrKXt2YXIgZD17fTt0aGlzLnZhbHVlPWZ1bmN0aW9uKGIpe3ZhciBmO2QuaGFzT3duUHJvcGVydHkoYik/Zj1kW2JdOihmPWtbYl0oKSx2b2lkIDA9PT1mJiZnJiYoZj1nLnZhbHVlKGIpKSxkW2JdPWYpO3JldHVybiBmfTt0aGlzLnJlc2V0PWZ1bmN0aW9uKGIpe2c9YjtkPXt9fX07Cm9kZi5TdHlsZVBhcnNlVXRpbHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGQpe3ZhciBiLGY7ZD0oZD0vKC0/WzAtOV0qWzAtOV1bMC05XSooXC5bMC05XSopP3wwK1wuWzAtOV0qWzEtOV1bMC05XSp8XC5bMC05XSpbMS05XVswLTldKikoKGNtKXwobW0pfChpbil8KHB0KXwocGMpfChweCkpLy5leGVjKGQpKT97dmFsdWU6cGFyc2VGbG9hdChkWzFdKSx1bml0OmRbM119Om51bGw7Zj1kJiZkLnVuaXQ7InB4Ij09PWY/Yj1kLnZhbHVlOiJjbSI9PT1mP2I9ZC52YWx1ZS8yLjU0Kjk2OiJtbSI9PT1mP2I9ZC52YWx1ZS8yNS40Kjk2OiJpbiI9PT1mP2I9OTYqZC52YWx1ZToicHQiPT09Zj9iPWQudmFsdWUvLjc1OiJwYyI9PT1mJiYoYj0xNipkLnZhbHVlKTtyZXR1cm4gYn12YXIgaz1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zO3RoaXMucGFyc2VMZW5ndGg9Zzt0aGlzLnBhcnNlUG9zaXRpdmVMZW5ndGhPclBlcmNlbnQ9ZnVuY3Rpb24oZCxiLGYpe3ZhciBuO2QmJihuPXBhcnNlRmxvYXQoZC5zdWJzdHIoMCwKZC5pbmRleE9mKCIlIikpKSxpc05hTihuKSYmKG49dm9pZCAwKSk7dmFyIGs7dm9pZCAwIT09bj8oZiYmKGs9Zi52YWx1ZShiKSksbj12b2lkIDA9PT1rP3ZvaWQgMDprLzEwMCpuKTpuPWcoZCk7cmV0dXJuIG59O3RoaXMuZ2V0UHJvcGVydGllc0VsZW1lbnQ9ZnVuY3Rpb24oZCxiLGYpe2ZvcihiPWY/Zi5uZXh0RWxlbWVudFNpYmxpbmc6Yi5maXJzdEVsZW1lbnRDaGlsZDtudWxsIT09YiYmKGIubG9jYWxOYW1lIT09ZHx8Yi5uYW1lc3BhY2VVUkkhPT1rKTspYj1iLm5leHRFbGVtZW50U2libGluZztyZXR1cm4gYn07dGhpcy5wYXJzZUF0dHJpYnV0ZUxpc3Q9ZnVuY3Rpb24oZCl7ZCYmKGQ9ZC5yZXBsYWNlKC9eXHMqKC4qPylccyokL2csIiQxIikpO3JldHVybiBkJiYwPGQubGVuZ3RoP2Quc3BsaXQoL1xzKy8pOltdfX07Cm9kZi5TdHlsZTJDU1M9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGEsYyxiKXt2YXIgZD1bXTtiPWIuZGVyaXZlZFN0eWxlczt2YXIgZTt2YXIgaD16W2FdLG07dm9pZCAwPT09aD9jPW51bGw6KG09Yz8iWyIraCsnfHN0eWxlLW5hbWU9IicrYysnIl0nOiIiLCJwcmVzZW50YXRpb24iPT09aCYmKGg9ImRyYXciLG09Yz8nW3ByZXNlbnRhdGlvbnxzdHlsZS1uYW1lPSInK2MrJyJdJzoiIiksYz1oKyJ8Iit3W2FdLmpvaW4obSsiLCIraCsifCIpK20pO251bGwhPT1jJiZkLnB1c2goYyk7Zm9yKGUgaW4gYiliLmhhc093blByb3BlcnR5KGUpJiYoYz1nKGEsZSxiW2VdKSxkPWQuY29uY2F0KGMpKTtyZXR1cm4gZH1mdW5jdGlvbiBrKGEpe3ZhciBjPSIiLGI9IiIsYz1udWxsO2lmKCJkZWZhdWx0LXN0eWxlIj09PWEubG9jYWxOYW1lKXJldHVybiBudWxsO2M9YS5nZXRBdHRyaWJ1dGVOUyhsLCJwYXJlbnQtc3R5bGUtbmFtZSIpO2I9YS5nZXRBdHRyaWJ1dGVOUyhsLCJmYW1pbHkiKTtyZXR1cm4gYz0KUy5nZXRPREZFbGVtZW50c1dpdGhYUGF0aChQLGM/Ii8vc3R5bGU6KltAc3R5bGU6bmFtZT0nIitjKyInXVtAc3R5bGU6ZmFtaWx5PSciK2IrIiddIjoiLy9zdHlsZTpkZWZhdWx0LXN0eWxlW0BzdHlsZTpmYW1pbHk9JyIrYisiJ10iLG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSSlbMF19ZnVuY3Rpb24gZChhLGMpe3ZhciBiPSIiLGQsZSxoO2ZvcihkPTA7ZDxjLmxlbmd0aDtkKz0xKWlmKGU9Y1tkXSxoPWEuZ2V0QXR0cmlidXRlTlMoZVswXSxlWzFdKSl7aD1oLnRyaW0oKTtpZihELmhhc093blByb3BlcnR5KGVbMV0pKXt2YXIgbT1oLGY9bS5pbmRleE9mKCIgIiksbj12b2lkIDA7aD12b2lkIDA7LTEhPT1mPyhuPW0uc3Vic3RyaW5nKDAsZiksaD1tLnN1YnN0cmluZyhmKSk6KG49bSxoPSIiKTsobj1KLnBhcnNlTGVuZ3RoKG4pKSYmInB0Ij09PW4udW5pdCYmLjc1Pm4udmFsdWUmJihtPSIwLjc1cHQiK2gpO2g9bX1lbHNlIGlmKFYuaGFzT3duUHJvcGVydHkoZVsxXSkpe3ZhciBtPQphLGY9ZVswXSxuPWVbMV0sZz1KLnBhcnNlTGVuZ3RoKGgpLHI9dm9pZCAwLHA9dm9pZCAwLHE9dm9pZCAwLE89dm9pZCAwLHE9dm9pZCAwO2lmKGcmJiIlIj09PWcudW5pdCl7cj1nLnZhbHVlLzEwMDtwPWsobS5wYXJlbnROb2RlKTtmb3IoTz0iMCI7cDspe2lmKHE9eS5nZXREaXJlY3RDaGlsZChwLGwsInBhcmFncmFwaC1wcm9wZXJ0aWVzIikpaWYocT1KLnBhcnNlTGVuZ3RoKHEuZ2V0QXR0cmlidXRlTlMoZixuKSkpe2lmKCIlIiE9PXEudW5pdCl7Tz1xLnZhbHVlKnIrcS51bml0O2JyZWFrfXIqPXEudmFsdWUvMTAwfXA9ayhwKX1oPU99fWVbMl0mJihiKz1lWzJdKyI6IitoKyI7Iil9cmV0dXJuIGJ9ZnVuY3Rpb24gYihhLGMsYixkKXtyZXR1cm4gYytjK2IrYitkK2R9ZnVuY3Rpb24gZihhLGMpe3ZhciBiPVthXSxkPWMuZGVyaXZlZFN0eWxlcztPYmplY3Qua2V5cyhkKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2E9ZihhLGRbYV0pO2I9Yi5jb25jYXQoYSl9KTtyZXR1cm4gYn1mdW5jdGlvbiBuKGEsCmMsYixkKXtmdW5jdGlvbiBlKGMsYil7dmFyIGQ9W10saDtjLmZvckVhY2goZnVuY3Rpb24oYSl7bS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2QucHVzaCgnZHJhd3xwYWdlW3dlYm9kZmhlbHBlcnxwYWdlLXN0eWxlLW5hbWU9IicrYysnIl0gZHJhd3xmcmFtZVtwcmVzZW50YXRpb258Y2xhc3M9IicrYSsnIl0nKX0pfSk7MDxkLmxlbmd0aCYmKGg9ZC5qb2luKCIsIikrInt2aXNpYmlsaXR5OiIrYisiO30iLGEuaW5zZXJ0UnVsZShoLGEuY3NzUnVsZXMubGVuZ3RoKSl9dmFyIG09ZihjLGQpLGw9W10sbj1bXTtbInBhZ2UtbnVtYmVyIiwiZGF0ZS10aW1lIiwiaGVhZGVyIiwiZm9vdGVyIl0uZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgYztjPWIuZ2V0QXR0cmlidXRlTlMoaCwiZGlzcGxheS0iK2EpOyJ0cnVlIj09PWM/bC5wdXNoKGEpOiJmYWxzZSI9PT1jJiZuLnB1c2goYSl9KTtlKGwsInZpc2libGUiKTtlKG4sImhpZGRlbiIpfWZ1bmN0aW9uIHAoYSxmLEQsVil7dmFyIHosdztpZigicGFnZSI9PT0KZil7dmFyIEI9Vi5lbGVtZW50LFA9IiIsTSxRO1E9TT0iIjtEPXkuZ2V0RGlyZWN0Q2hpbGQoQixsLCJwYWdlLWxheW91dC1wcm9wZXJ0aWVzIik7dmFyIEY7aWYoRClpZihGPUIuZ2V0QXR0cmlidXRlTlMobCwibmFtZSIpLFArPWQoRCxOKSwoTT15LmdldERpcmVjdENoaWxkKEQsbCwiYmFja2dyb3VuZC1pbWFnZSIpKSYmKFE9TS5nZXRBdHRyaWJ1dGVOUyhtLCJocmVmIikpJiYoUD1QKygiYmFja2dyb3VuZC1pbWFnZTogdXJsKCdvZGZraXQ6IitRKyInKTsiKStkKE0sdSkpLCJwcmVzZW50YXRpb24iPT09Uilmb3IoQj0oQj15LmdldERpcmVjdENoaWxkKEIucGFyZW50Tm9kZS5wYXJlbnROb2RlLGUsIm1hc3Rlci1zdHlsZXMiKSkmJkIuZmlyc3RFbGVtZW50Q2hpbGQ7QjspQi5uYW1lc3BhY2VVUkk9PT1sJiYibWFzdGVyLXBhZ2UiPT09Qi5sb2NhbE5hbWUmJkIuZ2V0QXR0cmlidXRlTlMobCwicGFnZS1sYXlvdXQtbmFtZSIpPT09RiYmKFE9Qi5nZXRBdHRyaWJ1dGVOUyhsLCJuYW1lIiksCk09J2RyYXd8cGFnZVtkcmF3fG1hc3Rlci1wYWdlLW5hbWU9IicrUSsnIl0geycrUCsifSIsUT0nb2ZmaWNlfGJvZHksIGRyYXd8cGFnZVtkcmF3fG1hc3Rlci1wYWdlLW5hbWU9IicrUSsnIl0geycrZChELE8pKyIgfSIsYS5pbnNlcnRSdWxlKE0sYS5jc3NSdWxlcy5sZW5ndGgpLGEuaW5zZXJ0UnVsZShRLGEuY3NzUnVsZXMubGVuZ3RoKSksQj1CLm5leHRFbGVtZW50U2libGluZztlbHNlInRleHQiPT09UiYmKE09Im9mZmljZXx0ZXh0IHsiK1ArIn0iLFE9Im9mZmljZXxib2R5IHt3aWR0aDogIitELmdldEF0dHJpYnV0ZU5TKHEsInBhZ2Utd2lkdGgiKSsiO30iLGEuaW5zZXJ0UnVsZShNLGEuY3NzUnVsZXMubGVuZ3RoKSxhLmluc2VydFJ1bGUoUSxhLmNzc1J1bGVzLmxlbmd0aCkpfWVsc2V7UD1nKGYsRCxWKS5qb2luKCIsIik7Rj0iIjtpZihCPXkuZ2V0RGlyZWN0Q2hpbGQoVi5lbGVtZW50LGwsInRleHQtcHJvcGVydGllcyIpKXt2YXIgUz1CLGNhPXc9IiI7TT0iIjtRPTE7Qj0KIiIrZChTLHYpO3o9Uy5nZXRBdHRyaWJ1dGVOUyhsLCJ0ZXh0LXVuZGVybGluZS1zdHlsZSIpOyJzb2xpZCI9PT16JiYodys9IiB1bmRlcmxpbmUiKTt6PVMuZ2V0QXR0cmlidXRlTlMobCwidGV4dC1saW5lLXRocm91Z2gtc3R5bGUiKTsic29saWQiPT09eiYmKHcrPSIgbGluZS10aHJvdWdoIik7dy5sZW5ndGgmJihCPUIrKCJ0ZXh0LWRlY29yYXRpb246Iit3KyI7XG4iKSsoInRleHQtZGVjb3JhdGlvbi1saW5lOiIrdysiO1xuIiksQis9Ii1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6Iit3KyI7XG4iKTt6PVMuZ2V0QXR0cmlidXRlTlMobCwidGV4dC1saW5lLXRocm91Z2gtdHlwZSIpO3N3aXRjaCh6KXtjYXNlICJkb3VibGUiOmNhKz0iIGRvdWJsZSI7YnJlYWs7Y2FzZSAic2luZ2xlIjpjYSs9IiBzaW5nbGUifWNhJiYoQis9InRleHQtZGVjb3JhdGlvbi1zdHlsZToiK2NhKyI7XG4iLEIrPSItbW96LXRleHQtZGVjb3JhdGlvbi1zdHlsZToiK2NhKyI7XG4iKTtpZih3PVMuZ2V0QXR0cmlidXRlTlMobCwKImZvbnQtbmFtZSIpfHxTLmdldEF0dHJpYnV0ZU5TKHEsImZvbnQtZmFtaWx5Iikpej1XW3ddLEIrPSJmb250LWZhbWlseTogIisoenx8dykrIjsiO2lmKHo9Uy5nZXRBdHRyaWJ1dGVOUyhsLCJ0ZXh0LXBvc2l0aW9uIikpdz14LnBhcnNlQXR0cmlidXRlTGlzdCh6KSx6PXdbMF0sdz13WzFdLEIrPSJ2ZXJ0aWNhbC1hbGlnbjogIit6KyJcbjsgIix3JiYoUT1wYXJzZUZsb2F0KHcpLzEwMCk7aWYoUy5oYXNBdHRyaWJ1dGVOUyhxLCJmb250LXNpemUiKXx8MSE9PVEpe2ZvcihTPVMucGFyZW50Tm9kZTtTOyl7aWYoej0oej15LmdldERpcmVjdENoaWxkKFMsbCwidGV4dC1wcm9wZXJ0aWVzIikpP0oucGFyc2VGb0ZvbnRTaXplKHouZ2V0QXR0cmlidXRlTlMocSwiZm9udC1zaXplIikpOm51bGwpe2lmKCIlIiE9PXoudW5pdCl7TT0iZm9udC1zaXplOiAiK3oudmFsdWUqUSt6LnVuaXQrIjsiO2JyZWFrfVEqPXoudmFsdWUvMTAwfVM9ayhTKX1NfHwoTT0iZm9udC1zaXplOiAiK3BhcnNlRmxvYXQoYWEpKgpRK2ZhLmdldFVuaXRzKGFhKSsiOyIpfUIrPU07Ris9Qn1pZihCPXkuZ2V0RGlyZWN0Q2hpbGQoVi5lbGVtZW50LGwsInBhcmFncmFwaC1wcm9wZXJ0aWVzIikpTT1CLEI9IiIrZChNLHQpLChRPXkuZ2V0RGlyZWN0Q2hpbGQoTSxsLCJiYWNrZ3JvdW5kLWltYWdlIikpJiYoUz1RLmdldEF0dHJpYnV0ZU5TKG0sImhyZWYiKSkmJihCPUIrKCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ29kZmtpdDoiK1MrIicpOyIpK2QoUSx1KSksKE09TS5nZXRBdHRyaWJ1dGVOUyhxLCJsaW5lLWhlaWdodCIpKSYmIm5vcm1hbCIhPT1NJiYoTT1KLnBhcnNlRm9MaW5lSGVpZ2h0KE0pLEI9IiUiIT09TS51bml0P0IrKCJsaW5lLWhlaWdodDogIitNLnZhbHVlK00udW5pdCsiOyIpOkIrKCJsaW5lLWhlaWdodDogIitNLnZhbHVlLzEwMCsiOyIpKSxGKz1CO2lmKEI9eS5nZXREaXJlY3RDaGlsZChWLmVsZW1lbnQsbCwiZ3JhcGhpYy1wcm9wZXJ0aWVzIikpUz1CLEI9IiIrZChTLEEpLE09Uy5nZXRBdHRyaWJ1dGVOUyhyLAoib3BhY2l0eSIpLFE9Uy5nZXRBdHRyaWJ1dGVOUyhyLCJmaWxsIiksUz1TLmdldEF0dHJpYnV0ZU5TKHIsImZpbGwtY29sb3IiKSwic29saWQiPT09UXx8ImhhdGNoIj09PVE/UyYmIm5vbmUiIT09Uz8oTT1pc05hTihwYXJzZUZsb2F0KE0pKT8xOnBhcnNlRmxvYXQoTSkvMTAwLFE9Uy5yZXBsYWNlKC9eIz8oW2EtZlxkXSkoW2EtZlxkXSkoW2EtZlxkXSkkL2ksYiksKFM9KFE9L14jPyhbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KSQvaS5leGVjKFEpKT97cjpwYXJzZUludChRWzFdLDE2KSxnOnBhcnNlSW50KFFbMl0sMTYpLGI6cGFyc2VJbnQoUVszXSwxNil9Om51bGwpJiYoQis9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoIitTLnIrIiwiK1MuZysiLCIrUy5iKyIsIitNKyIpOyIpKTpCKz0iYmFja2dyb3VuZDogbm9uZTsiOiJub25lIj09PVEmJihCKz0iYmFja2dyb3VuZDogbm9uZTsiKSxGKz1CO2lmKEI9eS5nZXREaXJlY3RDaGlsZChWLmVsZW1lbnQsbCwiZHJhd2luZy1wYWdlLXByb3BlcnRpZXMiKSlNPQpCLFE9IiIrZChNLEEpLCJ0cnVlIj09PU0uZ2V0QXR0cmlidXRlTlMoaCwiYmFja2dyb3VuZC12aXNpYmxlIikmJihRKz0iYmFja2dyb3VuZDogbm9uZTsiKSxGKz1RLG4oYSxELEIsVik7aWYoQj15LmdldERpcmVjdENoaWxkKFYuZWxlbWVudCxsLCJ0YWJsZS1jZWxsLXByb3BlcnRpZXMiKSlEPUYsRj0iIitkKEIsSSksRj1EK0Y7aWYoQj15LmdldERpcmVjdENoaWxkKFYuZWxlbWVudCxsLCJ0YWJsZS1yb3ctcHJvcGVydGllcyIpKUQ9RixGPSIiK2QoQixMKSxGPUQrRjtpZihCPXkuZ2V0RGlyZWN0Q2hpbGQoVi5lbGVtZW50LGwsInRhYmxlLWNvbHVtbi1wcm9wZXJ0aWVzIikpRD1GLEY9IiIrZChCLEspLEY9RCtGO2lmKEI9eS5nZXREaXJlY3RDaGlsZChWLmVsZW1lbnQsbCwidGFibGUtcHJvcGVydGllcyIpKUQ9RixGPSIiK2QoQixFKSxCPUIuZ2V0QXR0cmlidXRlTlMoYywiYm9yZGVyLW1vZGVsIiksImNvbGxhcHNpbmciPT09Qj9GKz0iYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOyI6CiJzZXBhcmF0aW5nIj09PUImJihGKz0iYm9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlOyIpLEY9RCtGOzAhPT1GLmxlbmd0aCYmYS5pbnNlcnRSdWxlKFArInsiK0YrIn0iLGEuY3NzUnVsZXMubGVuZ3RoKX1mb3IodmFyIFggaW4gVi5kZXJpdmVkU3R5bGVzKVYuZGVyaXZlZFN0eWxlcy5oYXNPd25Qcm9wZXJ0eShYKSYmcChhLGYsWCxWLmRlcml2ZWRTdHlsZXNbWF0pfXZhciByPW9kZi5OYW1lc3BhY2VzLmRyYXducyxxPW9kZi5OYW1lc3BhY2VzLmZvbnMsZT1vZGYuTmFtZXNwYWNlcy5vZmZpY2VucyxsPW9kZi5OYW1lc3BhY2VzLnN0eWxlbnMsYT1vZGYuTmFtZXNwYWNlcy5zdmducyxjPW9kZi5OYW1lc3BhY2VzLnRhYmxlbnMsbT1vZGYuTmFtZXNwYWNlcy54bGlua25zLGg9b2RmLk5hbWVzcGFjZXMucHJlc2VudGF0aW9ubnMseT1jb3JlLkRvbVV0aWxzLHg9bmV3IG9kZi5TdHlsZVBhcnNlVXRpbHMsej17Z3JhcGhpYzoiZHJhdyIsImRyYXdpbmctcGFnZSI6ImRyYXciLHBhcmFncmFwaDoidGV4dCIsCnByZXNlbnRhdGlvbjoicHJlc2VudGF0aW9uIixydWJ5OiJ0ZXh0IixzZWN0aW9uOiJ0ZXh0Iix0YWJsZToidGFibGUiLCJ0YWJsZS1jZWxsIjoidGFibGUiLCJ0YWJsZS1jb2x1bW4iOiJ0YWJsZSIsInRhYmxlLXJvdyI6InRhYmxlIix0ZXh0OiJ0ZXh0IixsaXN0OiJ0ZXh0IixwYWdlOiJvZmZpY2UifSx3PXtncmFwaGljOiJjaXJjbGUgY29ubmVjdGVkIGNvbnRyb2wgY3VzdG9tLXNoYXBlIGVsbGlwc2UgZnJhbWUgZyBsaW5lIG1lYXN1cmUgcGFnZSBwYWdlLXRodW1ibmFpbCBwYXRoIHBvbHlnb24gcG9seWxpbmUgcmVjdCByZWd1bGFyLXBvbHlnb24iLnNwbGl0KCIgIikscGFyYWdyYXBoOiJhbHBoYWJldGljYWwtaW5kZXgtZW50cnktdGVtcGxhdGUgaCBpbGx1c3RyYXRpb24taW5kZXgtZW50cnktdGVtcGxhdGUgaW5kZXgtc291cmNlLXN0eWxlIG9iamVjdC1pbmRleC1lbnRyeS10ZW1wbGF0ZSBwIHRhYmxlLWluZGV4LWVudHJ5LXRlbXBsYXRlIHRhYmxlLW9mLWNvbnRlbnQtZW50cnktdGVtcGxhdGUgdXNlci1pbmRleC1lbnRyeS10ZW1wbGF0ZSIuc3BsaXQoIiAiKSwKcHJlc2VudGF0aW9uOiJjYXB0aW9uIGNpcmNsZSBjb25uZWN0b3IgY29udHJvbCBjdXN0b20tc2hhcGUgZWxsaXBzZSBmcmFtZSBnIGxpbmUgbWVhc3VyZSBwYWdlLXRodW1ibmFpbCBwYXRoIHBvbHlnb24gcG9seWxpbmUgcmVjdCByZWd1bGFyLXBvbHlnb24iLnNwbGl0KCIgIiksImRyYXdpbmctcGFnZSI6ImNhcHRpb24gY2lyY2xlIGNvbm5lY3RvciBjb250cm9sIHBhZ2UgY3VzdG9tLXNoYXBlIGVsbGlwc2UgZnJhbWUgZyBsaW5lIG1lYXN1cmUgcGFnZS10aHVtYm5haWwgcGF0aCBwb2x5Z29uIHBvbHlsaW5lIHJlY3QgcmVndWxhci1wb2x5Z29uIi5zcGxpdCgiICIpLHJ1Ynk6WyJydWJ5IiwicnVieS10ZXh0Il0sc2VjdGlvbjoiYWxwaGFiZXRpY2FsLWluZGV4IGJpYmxpb2dyYXBoeSBpbGx1c3RyYXRpb24taW5kZXggaW5kZXgtdGl0bGUgb2JqZWN0LWluZGV4IHNlY3Rpb24gdGFibGUtb2YtY29udGVudCB0YWJsZS1pbmRleCB1c2VyLWluZGV4Ii5zcGxpdCgiICIpLHRhYmxlOlsiYmFja2dyb3VuZCIsCiJ0YWJsZSJdLCJ0YWJsZS1jZWxsIjoiYm9keSBjb3ZlcmVkLXRhYmxlLWNlbGwgZXZlbi1jb2x1bW5zIGV2ZW4tcm93cyBmaXJzdC1jb2x1bW4gZmlyc3Qtcm93IGxhc3QtY29sdW1uIGxhc3Qtcm93IG9kZC1jb2x1bW5zIG9kZC1yb3dzIHRhYmxlLWNlbGwiLnNwbGl0KCIgIiksInRhYmxlLWNvbHVtbiI6WyJ0YWJsZS1jb2x1bW4iXSwidGFibGUtcm93IjpbInRhYmxlLXJvdyJdLHRleHQ6ImEgaW5kZXgtZW50cnktY2hhcHRlciBpbmRleC1lbnRyeS1saW5rLWVuZCBpbmRleC1lbnRyeS1saW5rLXN0YXJ0IGluZGV4LWVudHJ5LXBhZ2UtbnVtYmVyIGluZGV4LWVudHJ5LXNwYW4gaW5kZXgtZW50cnktdGFiLXN0b3AgaW5kZXgtZW50cnktdGV4dCBpbmRleC10aXRsZS10ZW1wbGF0ZSBsaW5lbnVtYmVyaW5nLWNvbmZpZ3VyYXRpb24gbGlzdC1sZXZlbC1zdHlsZS1udW1iZXIgbGlzdC1sZXZlbC1zdHlsZS1idWxsZXQgb3V0bGluZS1sZXZlbC1zdHlsZSBzcGFuIi5zcGxpdCgiICIpLApsaXN0OlsibGlzdC1pdGVtIl19LHY9W1txLCJjb2xvciIsImNvbG9yIl0sW3EsImJhY2tncm91bmQtY29sb3IiLCJiYWNrZ3JvdW5kLWNvbG9yIl0sW3EsImZvbnQtd2VpZ2h0IiwiZm9udC13ZWlnaHQiXSxbcSwiZm9udC1zdHlsZSIsImZvbnQtc3R5bGUiXV0sdT1bW2wsInJlcGVhdCIsImJhY2tncm91bmQtcmVwZWF0Il1dLHQ9W1txLCJiYWNrZ3JvdW5kLWNvbG9yIiwiYmFja2dyb3VuZC1jb2xvciJdLFtxLCJ0ZXh0LWFsaWduIiwidGV4dC1hbGlnbiJdLFtxLCJ0ZXh0LWluZGVudCIsInRleHQtaW5kZW50Il0sW3EsInBhZGRpbmciLCJwYWRkaW5nIl0sW3EsInBhZGRpbmctbGVmdCIsInBhZGRpbmctbGVmdCJdLFtxLCJwYWRkaW5nLXJpZ2h0IiwicGFkZGluZy1yaWdodCJdLFtxLCJwYWRkaW5nLXRvcCIsInBhZGRpbmctdG9wIl0sW3EsInBhZGRpbmctYm90dG9tIiwicGFkZGluZy1ib3R0b20iXSxbcSwiYm9yZGVyLWxlZnQiLCJib3JkZXItbGVmdCJdLFtxLCJib3JkZXItcmlnaHQiLAoiYm9yZGVyLXJpZ2h0Il0sW3EsImJvcmRlci10b3AiLCJib3JkZXItdG9wIl0sW3EsImJvcmRlci1ib3R0b20iLCJib3JkZXItYm90dG9tIl0sW3EsIm1hcmdpbiIsIm1hcmdpbiJdLFtxLCJtYXJnaW4tbGVmdCIsIm1hcmdpbi1sZWZ0Il0sW3EsIm1hcmdpbi1yaWdodCIsIm1hcmdpbi1yaWdodCJdLFtxLCJtYXJnaW4tdG9wIiwibWFyZ2luLXRvcCJdLFtxLCJtYXJnaW4tYm90dG9tIiwibWFyZ2luLWJvdHRvbSJdLFtxLCJib3JkZXIiLCJib3JkZXIiXV0sQT1bW3EsImJhY2tncm91bmQtY29sb3IiLCJiYWNrZ3JvdW5kLWNvbG9yIl0sW3EsIm1pbi1oZWlnaHQiLCJtaW4taGVpZ2h0Il0sW3IsInN0cm9rZSIsImJvcmRlciJdLFthLCJzdHJva2UtY29sb3IiLCJib3JkZXItY29sb3IiXSxbYSwic3Ryb2tlLXdpZHRoIiwiYm9yZGVyLXdpZHRoIl0sW3EsImJvcmRlciIsImJvcmRlciJdLFtxLCJib3JkZXItbGVmdCIsImJvcmRlci1sZWZ0Il0sW3EsImJvcmRlci1yaWdodCIsImJvcmRlci1yaWdodCJdLApbcSwiYm9yZGVyLXRvcCIsImJvcmRlci10b3AiXSxbcSwiYm9yZGVyLWJvdHRvbSIsImJvcmRlci1ib3R0b20iXV0sST1bW3EsImJhY2tncm91bmQtY29sb3IiLCJiYWNrZ3JvdW5kLWNvbG9yIl0sW3EsImJvcmRlci1sZWZ0IiwiYm9yZGVyLWxlZnQiXSxbcSwiYm9yZGVyLXJpZ2h0IiwiYm9yZGVyLXJpZ2h0Il0sW3EsImJvcmRlci10b3AiLCJib3JkZXItdG9wIl0sW3EsImJvcmRlci1ib3R0b20iLCJib3JkZXItYm90dG9tIl0sW3EsImJvcmRlciIsImJvcmRlciJdXSxLPVtbbCwiY29sdW1uLXdpZHRoIiwid2lkdGgiXV0sTD1bW2wsInJvdy1oZWlnaHQiLCJoZWlnaHQiXSxbcSwia2VlcC10b2dldGhlciIsbnVsbF1dLEU9W1tsLCJ3aWR0aCIsIndpZHRoIl0sW3EsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLWxlZnQiXSxbcSwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXJpZ2h0Il0sW3EsIm1hcmdpbi10b3AiLCJtYXJnaW4tdG9wIl0sW3EsIm1hcmdpbi1ib3R0b20iLCJtYXJnaW4tYm90dG9tIl1dLApOPVtbcSwiYmFja2dyb3VuZC1jb2xvciIsImJhY2tncm91bmQtY29sb3IiXSxbcSwicGFkZGluZyIsInBhZGRpbmciXSxbcSwicGFkZGluZy1sZWZ0IiwicGFkZGluZy1sZWZ0Il0sW3EsInBhZGRpbmctcmlnaHQiLCJwYWRkaW5nLXJpZ2h0Il0sW3EsInBhZGRpbmctdG9wIiwicGFkZGluZy10b3AiXSxbcSwicGFkZGluZy1ib3R0b20iLCJwYWRkaW5nLWJvdHRvbSJdLFtxLCJib3JkZXIiLCJib3JkZXIiXSxbcSwiYm9yZGVyLWxlZnQiLCJib3JkZXItbGVmdCJdLFtxLCJib3JkZXItcmlnaHQiLCJib3JkZXItcmlnaHQiXSxbcSwiYm9yZGVyLXRvcCIsImJvcmRlci10b3AiXSxbcSwiYm9yZGVyLWJvdHRvbSIsImJvcmRlci1ib3R0b20iXSxbcSwibWFyZ2luIiwibWFyZ2luIl0sW3EsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLWxlZnQiXSxbcSwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXJpZ2h0Il0sW3EsIm1hcmdpbi10b3AiLCJtYXJnaW4tdG9wIl0sW3EsIm1hcmdpbi1ib3R0b20iLCJtYXJnaW4tYm90dG9tIl1dLApPPVtbcSwicGFnZS13aWR0aCIsIndpZHRoIl0sW3EsInBhZ2UtaGVpZ2h0IiwiaGVpZ2h0Il1dLEQ9e2JvcmRlcjohMCwiYm9yZGVyLWxlZnQiOiEwLCJib3JkZXItcmlnaHQiOiEwLCJib3JkZXItdG9wIjohMCwiYm9yZGVyLWJvdHRvbSI6ITAsInN0cm9rZS13aWR0aCI6ITB9LFY9e21hcmdpbjohMCwibWFyZ2luLWxlZnQiOiEwLCJtYXJnaW4tcmlnaHQiOiEwLCJtYXJnaW4tdG9wIjohMCwibWFyZ2luLWJvdHRvbSI6ITB9LFc9e30sSj1vZGYuT2RmVXRpbHMsUixQLGFhLFM9eG1sZG9tLlhQYXRoLGZhPW5ldyBjb3JlLkNTU1VuaXRzO3RoaXMuc3R5bGUyY3NzPWZ1bmN0aW9uKGEsYyxiLGQsZSl7ZnVuY3Rpb24gaChhLGMpe209IkBuYW1lc3BhY2UgIithKyIgdXJsKCIrYysiKTsiO3RyeXtiLmluc2VydFJ1bGUobSxiLmNzc1J1bGVzLmxlbmd0aCl9Y2F0Y2goZCl7fX12YXIgbSxmLGw7Zm9yKFA9YztiLmNzc1J1bGVzLmxlbmd0aDspYi5kZWxldGVSdWxlKGIuY3NzUnVsZXMubGVuZ3RoLQoxKTtvZGYuTmFtZXNwYWNlcy5mb3JFYWNoUHJlZml4KGgpO2goIndlYm9kZmhlbHBlciIsInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIik7Vz1kO1I9YTthYT1ydW50aW1lLmdldFdpbmRvdygpLmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LXNpemUiKXx8IjEycHQiO2ZvcihsIGluIHopaWYoei5oYXNPd25Qcm9wZXJ0eShsKSlmb3IoZiBpbiBhPWVbbF0sYSlhLmhhc093blByb3BlcnR5KGYpJiZwKGIsbCxmLGFbZl0pfX07CihmdW5jdGlvbigpe2Z1bmN0aW9uIGcoayxkKXt2YXIgYj10aGlzO3RoaXMuZ2V0RGlzdGFuY2U9ZnVuY3Rpb24oZCl7dmFyIG49Yi54LWQueDtkPWIueS1kLnk7cmV0dXJuIE1hdGguc3FydChuKm4rZCpkKX07dGhpcy5nZXRDZW50ZXI9ZnVuY3Rpb24oZCl7cmV0dXJuIG5ldyBnKChiLngrZC54KS8yLChiLnkrZC55KS8yKX07Yi54PWs7Yi55PWR9Z3VpLlpvb21IZWxwZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBrKGEsYixkLGUpe2E9ZT8idHJhbnNsYXRlM2QoIithKyJweCwgIitiKyJweCwgMCkgc2NhbGUzZCgiK2QrIiwgIitkKyIsIDEpIjoidHJhbnNsYXRlKCIrYSsicHgsICIrYisicHgpIHNjYWxlKCIrZCsiKSI7Yy5zdHlsZS5XZWJraXRUcmFuc2Zvcm09YTtjLnN0eWxlLk1velRyYW5zZm9ybT1hO2Muc3R5bGUubXNUcmFuc2Zvcm09YTtjLnN0eWxlLk9UcmFuc2Zvcm09YTtjLnN0eWxlLnRyYW5zZm9ybT1hfWZ1bmN0aW9uIGQoYSl7YT9rKC1tLngsLW0ueSx4LCEwKTooaygwLAowLHgsITApLGsoMCwwLHgsITEpKX1mdW5jdGlvbiBiKGEpe2lmKHcmJkkpe3ZhciBjPXcuc3R5bGUub3ZlcmZsb3csYj13LmNsYXNzTGlzdC5jb250YWlucygid2Vib2RmLWN1c3RvbVNjcm9sbGJhcnMiKTthJiZifHwhYSYmIWJ8fChhPyh3LmNsYXNzTGlzdC5hZGQoIndlYm9kZi1jdXN0b21TY3JvbGxiYXJzIiksdy5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixydW50aW1lLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3cuc3R5bGUub3ZlcmZsb3c9Y30pKTp3LmNsYXNzTGlzdC5yZW1vdmUoIndlYm9kZi1jdXN0b21TY3JvbGxiYXJzIikpfX1mdW5jdGlvbiBmKCl7aygtbS54LC1tLnkseCwhMCk7dy5zY3JvbGxMZWZ0PTA7dy5zY3JvbGxUb3A9MDtLPXYuc3R5bGUub3ZlcmZsb3c7di5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSI7YighMSl9ZnVuY3Rpb24gbigpe2soMCwwLHgsITApO3cuc2Nyb2xsTGVmdD1tLng7dy5zY3JvbGxUb3A9bS55O3Yuc3R5bGUub3ZlcmZsb3c9Ckt8fCIiO2IoITApfWZ1bmN0aW9uIHAoYSl7cmV0dXJuIG5ldyBnKGEucGFnZVgtYy5vZmZzZXRMZWZ0LGEucGFnZVktYy5vZmZzZXRUb3ApfWZ1bmN0aW9uIHIoYSl7aWYoaCl7bS54LT1hLngtaC54O20ueS09YS55LWgueTt2YXIgYj1tO209bmV3IGcoTWF0aC5taW4oTWF0aC5tYXgoYi54LGMub2Zmc2V0TGVmdCksKGMub2Zmc2V0TGVmdCtjLm9mZnNldFdpZHRoKSp4LXcuY2xpZW50V2lkdGgpLE1hdGgubWluKE1hdGgubWF4KGIueSxjLm9mZnNldFRvcCksKGMub2Zmc2V0VG9wK2Mub2Zmc2V0SGVpZ2h0KSp4LXcuY2xpZW50SGVpZ2h0KSl9aD1hfWZ1bmN0aW9uIHEoYSl7dmFyIGM9YS50b3VjaGVzLmxlbmd0aCxiPTA8Yz9wKGEudG91Y2hlc1swXSk6bnVsbDthPTE8Yz9wKGEudG91Y2hlc1sxXSk6bnVsbDtiJiZhPyh5PWIuZ2V0RGlzdGFuY2UoYSksej14LGg9Yi5nZXRDZW50ZXIoYSksZigpLEE9dC5QSU5DSCk6YiYmKGg9YixBPXQuU0NST0xMKX1mdW5jdGlvbiBlKGEpe3ZhciBiPQphLnRvdWNoZXMubGVuZ3RoLGU9MDxiP3AoYS50b3VjaGVzWzBdKTpudWxsLGI9MTxiP3AoYS50b3VjaGVzWzFdKTpudWxsO2lmKGUmJmIpaWYoYS5wcmV2ZW50RGVmYXVsdCgpLEE9PT10LlNDUk9MTClBPXQuUElOQ0gsZigpLHk9ZS5nZXREaXN0YW5jZShiKTtlbHNle2E9ZS5nZXRDZW50ZXIoYik7ZT1lLmdldERpc3RhbmNlKGIpL3k7cihhKTt2YXIgYj14LGg9TWF0aC5taW4oNCxjLm9mZnNldFBhcmVudC5jbGllbnRXaWR0aC9jLm9mZnNldFdpZHRoKTt4PXoqZTt4PU1hdGgubWluKE1hdGgubWF4KHgsaCksNCk7ZT14L2I7bS54Kz0oZS0xKSooYS54K20ueCk7bS55Kz0oZS0xKSooYS55K20ueSk7ZCghMCl9ZWxzZSBlJiYoQT09PXQuUElOQ0g/KEE9dC5TQ1JPTEwsbigpKTpyKGUpKX1mdW5jdGlvbiBsKCl7QT09PXQuUElOQ0gmJih1LmVtaXQoZ3VpLlpvb21IZWxwZXIuc2lnbmFsWm9vbUNoYW5nZWQseCksbigpLGQoITEpKTtBPXQuTk9ORX1mdW5jdGlvbiBhKCl7dyYmKHcucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsCnEsITEpLHcucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixlLCExKSx3LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixsLCExKSl9dmFyIGMsbSxoLHkseCx6LHcsdix1PW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW2d1aS5ab29tSGVscGVyLnNpZ25hbFpvb21DaGFuZ2VkXSksdD17Tk9ORTowLFNDUk9MTDoxLFBJTkNIOjJ9LEE9dC5OT05FLEk9cnVudGltZS5nZXRXaW5kb3coKS5oYXNPd25Qcm9wZXJ0eSgib250b3VjaHN0YXJ0IiksSz0iIjt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihhLGMpe3Uuc3Vic2NyaWJlKGEsYyl9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYSxjKXt1LnVuc3Vic2NyaWJlKGEsYyl9O3RoaXMuZ2V0Wm9vbUxldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIHh9O3RoaXMuc2V0Wm9vbUxldmVsPWZ1bmN0aW9uKGEpe2MmJih4PWEsZCghMSksdS5lbWl0KGd1aS5ab29tSGVscGVyLnNpZ25hbFpvb21DaGFuZ2VkLHgpKX07dGhpcy5kZXN0cm95PQpmdW5jdGlvbihjKXthKCk7YighMSk7YygpfTt0aGlzLnNldFpvb21hYmxlRWxlbWVudD1mdW5jdGlvbihoKXthKCk7Yz1oO3c9Yy5vZmZzZXRQYXJlbnQ7dj1jLnBhcmVudE5vZGU7ZCghMSk7dyYmKHcuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIscSwhMSksdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUsITEpLHcuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGwsITEpKTtiKCEwKX07ej14PTE7bT1uZXcgZygwLDApfTtndWkuWm9vbUhlbHBlci5zaWduYWxab29tQ2hhbmdlZD0iem9vbUNoYW5nZWQifSkoKTtvcHMuQ2FudmFzPWZ1bmN0aW9uKCl7fTtvcHMuQ2FudmFzLnByb3RvdHlwZS5nZXRab29tTGV2ZWw9ZnVuY3Rpb24oKXt9O29wcy5DYW52YXMucHJvdG90eXBlLmdldEVsZW1lbnQ9ZnVuY3Rpb24oKXt9O29wcy5DYW52YXMucHJvdG90eXBlLmdldFNpemVyPWZ1bmN0aW9uKCl7fTtvcHMuQ2FudmFzLnByb3RvdHlwZS5nZXRab29tSGVscGVyPWZ1bmN0aW9uKCl7fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZygpe2Z1bmN0aW9uIGEoZCl7Yj0hMDtydW50aW1lLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0cnl7ZCgpfWNhdGNoKGUpe3J1bnRpbWUubG9nKFN0cmluZyhlKSsiXG4iK2Uuc3RhY2spfWI9ITE7MDxjLmxlbmd0aCYmYShjLnBvcCgpKX0sMTApfXZhciBjPVtdLGI9ITE7dGhpcy5jbGVhclF1ZXVlPWZ1bmN0aW9uKCl7Yy5sZW5ndGg9MH07dGhpcy5hZGRUb1F1ZXVlPWZ1bmN0aW9uKGQpe2lmKDA9PT1jLmxlbmd0aCYmIWIpcmV0dXJuIGEoZCk7Yy5wdXNoKGQpfX1mdW5jdGlvbiBrKGEpe2Z1bmN0aW9uIGMoKXtmb3IoOzA8Yi5jc3NSdWxlcy5sZW5ndGg7KWIuZGVsZXRlUnVsZSgwKTtiLmluc2VydFJ1bGUoIiNzaGFkb3dDb250ZW50IGRyYXd8cGFnZSB7ZGlzcGxheTpub25lO30iLDApO2IuaW5zZXJ0UnVsZSgib2ZmaWNlfHByZXNlbnRhdGlvbiBkcmF3fHBhZ2Uge2Rpc3BsYXk6bm9uZTt9IiwxKTtiLmluc2VydFJ1bGUoIiNzaGFkb3dDb250ZW50IGRyYXd8cGFnZTpudGgtb2YtdHlwZSgiKwpkKyIpIHtkaXNwbGF5OmJsb2NrO30iLDIpO2IuaW5zZXJ0UnVsZSgib2ZmaWNlfHByZXNlbnRhdGlvbiBkcmF3fHBhZ2U6bnRoLW9mLXR5cGUoIitkKyIpIHtkaXNwbGF5OmJsb2NrO30iLDMpfXZhciBiPWEuc2hlZXQsZD0xO3RoaXMuc2hvd0ZpcnN0UGFnZT1mdW5jdGlvbigpe2Q9MTtjKCl9O3RoaXMuc2hvd05leHRQYWdlPWZ1bmN0aW9uKCl7ZCs9MTtjKCl9O3RoaXMuc2hvd1ByZXZpb3VzUGFnZT1mdW5jdGlvbigpezE8ZCYmKC0tZCxjKCkpfTt0aGlzLnNob3dQYWdlPWZ1bmN0aW9uKGEpezA8YSYmKGQ9YSxjKCkpfTt0aGlzLmNzcz1hO3RoaXMuZGVzdHJveT1mdW5jdGlvbihjKXthLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk7YygpfX1mdW5jdGlvbiBkKGEpe2E9YS5zaGVldDtmb3IodmFyIGM9YS5jc3NSdWxlcztjLmxlbmd0aDspYS5kZWxldGVSdWxlKGMubGVuZ3RoLTEpfWZ1bmN0aW9uIGIoYSxjLGIpe3ZhciBkPW5ldyBvZGYuU3R5bGUyQ1NTLGU9bmV3IG9kZi5MaXN0U3R5bGVUb0NzczsKYj1iLnNoZWV0O3ZhciBoPShuZXcgb2RmLlN0eWxlVHJlZShhLnJvb3RFbGVtZW50LnN0eWxlcyxhLnJvb3RFbGVtZW50LmF1dG9tYXRpY1N0eWxlcykpLmdldFN0eWxlVHJlZSgpO2Quc3R5bGUyY3NzKGEuZ2V0RG9jdW1lbnRUeXBlKCksYS5yb290RWxlbWVudCxiLGMuZ2V0Rm9udE1hcCgpLGgpO2UuYXBwbHlMaXN0U3R5bGVzKGIsaCxhLnJvb3RFbGVtZW50LmJvZHkpfWZ1bmN0aW9uIGYoYSxjKXsobmV3IG9kZi5Gb250TG9hZGVyKS5sb2FkRm9udHMoYSxjLnNoZWV0KX1mdW5jdGlvbiBuKGEsYyxiKXt2YXIgZD1udWxsO2E9YS5yb290RWxlbWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoTCxiKyItZGVjbCIpO2I9Yy5nZXRBdHRyaWJ1dGVOUyhMLCJ1c2UtIitiKyItbmFtZSIpO3ZhciBlO2lmKGImJjA8YS5sZW5ndGgpZm9yKGM9MDtjPGEubGVuZ3RoO2MrPTEpaWYoZT1hW2NdLGUuZ2V0QXR0cmlidXRlTlMoTCwibmFtZSIpPT09Yil7ZD1lLnRleHRDb250ZW50O2JyZWFrfXJldHVybiBkfQpmdW5jdGlvbiBwKGEsYyxiLGQpe3ZhciBlPWEub3duZXJEb2N1bWVudDtjPU4uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhhLGMsYik7Zm9yKGE9MDthPGMubGVuZ3RoO2ErPTEpTi5yZW1vdmVBbGxDaGlsZE5vZGVzKGNbYV0pLGQmJihiPWNbYV0sYi5hcHBlbmRDaGlsZChlLmNyZWF0ZVRleHROb2RlKGQpKSl9ZnVuY3Rpb24gcihhLGMsYil7Yy5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpoZWxwZXIiLCJzdHlsZWlkIixhKTt2YXIgZCxlPWMuZ2V0QXR0cmlidXRlTlMoSSwiYW5jaG9yLXR5cGUiKSxoPWMuZ2V0QXR0cmlidXRlTlModCwieCIpLG09Yy5nZXRBdHRyaWJ1dGVOUyh0LCJ5IiksZj1jLmdldEF0dHJpYnV0ZU5TKHQsIndpZHRoIiksbD1jLmdldEF0dHJpYnV0ZU5TKHQsImhlaWdodCIpLG49Yy5nZXRBdHRyaWJ1dGVOUyh3LCJtaW4taGVpZ2h0IiksZz1jLmdldEF0dHJpYnV0ZU5TKHcsIm1pbi13aWR0aCIpO2lmKCJhcy1jaGFyIj09PWUpZD0iZGlzcGxheTogaW5saW5lLWJsb2NrOyI7CmVsc2UgaWYoZXx8aHx8bSlkPSJwb3NpdGlvbjogYWJzb2x1dGU7IjtlbHNlIGlmKGZ8fGx8fG58fGcpZD0iZGlzcGxheTogYmxvY2s7IjtoJiYoZCs9ImxlZnQ6ICIraCsiOyIpO20mJihkKz0idG9wOiAiK20rIjsiKTtmJiYoZCs9IndpZHRoOiAiK2YrIjsiKTtsJiYoZCs9ImhlaWdodDogIitsKyI7Iik7biYmKGQrPSJtaW4taGVpZ2h0OiAiK24rIjsiKTtnJiYoZCs9Im1pbi13aWR0aDogIitnKyI7Iik7ZCYmKGQ9ImRyYXd8IitjLmxvY2FsTmFtZSsnW3dlYm9kZmhlbHBlcnxzdHlsZWlkPSInK2ErJyJdIHsnK2QrIn0iLGIuaW5zZXJ0UnVsZShkLGIuY3NzUnVsZXMubGVuZ3RoKSl9ZnVuY3Rpb24gcShhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTspe2lmKGEubmFtZXNwYWNlVVJJPT09diYmImJpbmFyeS1kYXRhIj09PWEubG9jYWxOYW1lKXJldHVybiJkYXRhOmltYWdlL3BuZztiYXNlNjQsIithLnRleHRDb250ZW50LnJlcGxhY2UoL1tcclxuXHNdL2csIiIpO2E9YS5uZXh0U2libGluZ31yZXR1cm4iIn0KZnVuY3Rpb24gZShhLGMsYixkKXtmdW5jdGlvbiBlKGMpe2MmJihjPSdkcmF3fGltYWdlW3dlYm9kZmhlbHBlcnxzdHlsZWlkPSInK2ErJyJdIHsnKygiYmFja2dyb3VuZC1pbWFnZTogdXJsKCIrYysiKTsiKSsifSIsZC5pbnNlcnRSdWxlKGMsZC5jc3NSdWxlcy5sZW5ndGgpKX1mdW5jdGlvbiBoKGEpe2UoYS51cmwpfWIuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIiwic3R5bGVpZCIsYSk7dmFyIG09Yi5nZXRBdHRyaWJ1dGVOUyhLLCJocmVmIiksZjtpZihtKXRyeXtmPWMuZ2V0UGFydChtKSxmLm9uY2hhbmdlPWgsZi5sb2FkKCl9Y2F0Y2gobCl7cnVudGltZS5sb2coInNsaWdodCBwcm9ibGVtOiAiK1N0cmluZyhsKSl9ZWxzZSBtPXEoYiksZShtKX1mdW5jdGlvbiBsKGEpe3ZhciBjPWEub3duZXJEb2N1bWVudDtOLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoYSxJLCJsaW5lLWJyZWFrIikuZm9yRWFjaChmdW5jdGlvbihhKXthLmhhc0NoaWxkTm9kZXMoKXx8CmEuYXBwZW5kQ2hpbGQoYy5jcmVhdGVFbGVtZW50KCJiciIpKX0pfWZ1bmN0aW9uIGEoYSl7dmFyIGM9YS5vd25lckRvY3VtZW50O04uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhhLEksInMiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiLGQ7Ti5yZW1vdmVBbGxDaGlsZE5vZGVzKGEpO2EuYXBwZW5kQ2hpbGQoYy5jcmVhdGVUZXh0Tm9kZSgiICIpKTtkPXBhcnNlSW50KGEuZ2V0QXR0cmlidXRlTlMoSSwiYyIpLDEwKTtpZigxPGQpZm9yKGEucmVtb3ZlQXR0cmlidXRlTlMoSSwiYyIpLGI9MTtiPGQ7Yis9MSlhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEuY2xvbmVOb2RlKCEwKSxhKX0pfWZ1bmN0aW9uIGMoYSl7Ti5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGEsSSwidGFiIikuZm9yRWFjaChmdW5jdGlvbihhKXthLnRleHRDb250ZW50PSJcdCJ9KX1mdW5jdGlvbiBtKGEsYyl7ZnVuY3Rpb24gYihhLGQpe3ZhciBtPWYuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSSTsidmlkZW8vIj09PQpkLnN1YnN0cigwLDYpPyhlPWYuY3JlYXRlRWxlbWVudE5TKG0sInZpZGVvIiksZS5zZXRBdHRyaWJ1dGUoImNvbnRyb2xzIiwiY29udHJvbHMiKSxoPWYuY3JlYXRlRWxlbWVudE5TKG0sInNvdXJjZSIpLGEmJmguc2V0QXR0cmlidXRlKCJzcmMiLGEpLGguc2V0QXR0cmlidXRlKCJ0eXBlIixkKSxlLmFwcGVuZENoaWxkKGgpLGMucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChlKSk6Yy5pbm5lckh0bWw9IlVucmVjb2duaXNlZCBQbHVnaW4ifWZ1bmN0aW9uIGQoYSl7YihhLnVybCxhLm1pbWV0eXBlKX12YXIgZSxoLG0sZj1jLm93bmVyRG9jdW1lbnQsbDtpZihtPWMuZ2V0QXR0cmlidXRlTlMoSywiaHJlZiIpKXRyeXtsPWEuZ2V0UGFydChtKSxsLm9uY2hhbmdlPWQsbC5sb2FkKCl9Y2F0Y2gobil7cnVudGltZS5sb2coInNsaWdodCBwcm9ibGVtOiAiK1N0cmluZyhuKSl9ZWxzZSBydW50aW1lLmxvZygidXNpbmcgTVA0IGRhdGEgZmFsbGJhY2siKSxtPXEoYyksYihtLCJ2aWRlby9tcDQiKX0KZnVuY3Rpb24gaChhKXt2YXIgYz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYixkO2I9YS5zdHlsZVNoZWV0cy5sZW5ndGg7Zm9yKGQ9Yy5maXJzdEVsZW1lbnRDaGlsZDtkJiYoInN0eWxlIiE9PWQubG9jYWxOYW1lfHwhZC5oYXNBdHRyaWJ1dGUoIndlYm9kZmNzcyIpKTspZD1kLm5leHRFbGVtZW50U2libGluZztpZihkKXJldHVybiBiPXBhcnNlSW50KGQuZ2V0QXR0cmlidXRlKCJ3ZWJvZGZjc3MiKSwxMCksZC5zZXRBdHRyaWJ1dGUoIndlYm9kZmNzcyIsYisxKSxkOyJzdHJpbmciPT09U3RyaW5nKHR5cGVvZiB3ZWJvZGZfY3NzKT9iPXdlYm9kZl9jc3M6KGQ9IndlYm9kZi5jc3MiLHJ1bnRpbWUuY3VycmVudERpcmVjdG9yeSYmKGQ9cnVudGltZS5jdXJyZW50RGlyZWN0b3J5KCksMDxkLmxlbmd0aCYmIi8iIT09ZC5zdWJzdHIoLTEpJiYoZCs9Ii8iKSxkKz0iLi4vd2Vib2RmLmNzcyIpLGI9cnVudGltZS5yZWFkRmlsZVN5bmMoZCwidXRmLTgiKSk7ZD1hLmNyZWF0ZUVsZW1lbnROUyhjLm5hbWVzcGFjZVVSSSwKInN0eWxlIik7ZC5zZXRBdHRyaWJ1dGUoIm1lZGlhIiwic2NyZWVuLCBwcmludCwgaGFuZGhlbGQsIHByb2plY3Rpb24iKTtkLnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQvY3NzIik7ZC5zZXRBdHRyaWJ1dGUoIndlYm9kZmNzcyIsIjEiKTtkLmFwcGVuZENoaWxkKGEuY3JlYXRlVGV4dE5vZGUoYikpO2MuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9ZnVuY3Rpb24geShhKXt2YXIgYz1wYXJzZUludChhLmdldEF0dHJpYnV0ZSgid2Vib2RmY3NzIiksMTApOzE9PT1jP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTphLnNldEF0dHJpYnV0ZSgiY291bnQiLGMtMSl9ZnVuY3Rpb24geChhKXt2YXIgYz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYj1hLmNyZWF0ZUVsZW1lbnROUyhjLm5hbWVzcGFjZVVSSSwic3R5bGUiKSxkPSIiO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9jc3MiKTtiLnNldEF0dHJpYnV0ZSgibWVkaWEiLCJzY3JlZW4sIHByaW50LCBoYW5kaGVsZCwgcHJvamVjdGlvbiIpOwpvZGYuTmFtZXNwYWNlcy5mb3JFYWNoUHJlZml4KGZ1bmN0aW9uKGEsYyl7ZCs9IkBuYW1lc3BhY2UgIithKyIgdXJsKCIrYysiKTtcbiJ9KTtkKz0iQG5hbWVzcGFjZSB3ZWJvZGZoZWxwZXIgdXJsKHVybjp3ZWJvZGY6bmFtZXM6aGVscGVyKTtcbiI7Yi5hcHBlbmRDaGlsZChhLmNyZWF0ZVRleHROb2RlKGQpKTtjLmFwcGVuZENoaWxkKGIpO3JldHVybiBifXZhciB6PW9kZi5OYW1lc3BhY2VzLmRyYXducyx3PW9kZi5OYW1lc3BhY2VzLmZvbnMsdj1vZGYuTmFtZXNwYWNlcy5vZmZpY2Vucyx1PW9kZi5OYW1lc3BhY2VzLnN0eWxlbnMsdD1vZGYuTmFtZXNwYWNlcy5zdmducyxBPW9kZi5OYW1lc3BhY2VzLnRhYmxlbnMsST1vZGYuTmFtZXNwYWNlcy50ZXh0bnMsSz1vZGYuTmFtZXNwYWNlcy54bGlua25zLEw9b2RmLk5hbWVzcGFjZXMucHJlc2VudGF0aW9ubnMsRT14bWxkb20uWFBhdGgsTj1jb3JlLkRvbVV0aWxzO29kZi5PZGZDYW52YXM9ZnVuY3Rpb24ocSxEKXtmdW5jdGlvbiB0KGEsCmMsYil7ZnVuY3Rpb24gZChhLGMsYixoKXtuYS5hZGRUb1F1ZXVlKGZ1bmN0aW9uKCl7ZShhLGMsYixoKX0pfXZhciBoLG07aD1jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoeiwiaW1hZ2UiKTtmb3IoYz0wO2M8aC5sZW5ndGg7Yys9MSltPWguaXRlbShjKSxkKCJpbWFnZSIrU3RyaW5nKGMpLGEsbSxiKX1mdW5jdGlvbiBXKGEsYyl7ZnVuY3Rpb24gYihhLGMpe25hLmFkZFRvUXVldWUoZnVuY3Rpb24oKXttKGEsYyl9KX12YXIgZCxlLGg7ZT1jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoeiwicGx1Z2luIik7Zm9yKGQ9MDtkPGUubGVuZ3RoO2QrPTEpaD1lLml0ZW0oZCksYihhLGgpfWZ1bmN0aW9uIHcoKXt2YXIgYTthPVUuZmlyc3RDaGlsZDt2YXIgYz1lYS5nZXRab29tTGV2ZWwoKTthJiYoVS5zdHlsZS5XZWJraXRUcmFuc2Zvcm1PcmlnaW49IjAlIDAlIixVLnN0eWxlLk1velRyYW5zZm9ybU9yaWdpbj0iMCUgMCUiLFUuc3R5bGUubXNUcmFuc2Zvcm1PcmlnaW49IjAlIDAlIixVLnN0eWxlLk9UcmFuc2Zvcm1PcmlnaW49CiIwJSAwJSIsVS5zdHlsZS50cmFuc2Zvcm1PcmlnaW49IjAlIDAlIixNJiYoKGE9TS5nZXRNaW5pbXVtSGVpZ2h0Rm9yQW5ub3RhdGlvblBhbmUoKSk/VS5zdHlsZS5taW5IZWlnaHQ9YTpVLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJtaW4taGVpZ2h0IikpLHEuc3R5bGUud2lkdGg9TWF0aC5yb3VuZChjKlUub2Zmc2V0V2lkdGgpKyJweCIscS5zdHlsZS5oZWlnaHQ9TWF0aC5yb3VuZChjKlUub2Zmc2V0SGVpZ2h0KSsicHgiLHEuc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIil9ZnVuY3Rpb24gSyhiLGQpe3ZhciBlPWNhLnNoZWV0O04ucmVtb3ZlQWxsQ2hpbGROb2RlcyhxKTtVPWhhLmNyZWF0ZUVsZW1lbnROUyhxLm5hbWVzcGFjZVVSSSwiZGl2Iik7VS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siO1Uuc3R5bGUuYmFja2dyb3VuZD0id2hpdGUiO1Uuc3R5bGUuc2V0UHJvcGVydHkoImZsb2F0IiwibGVmdCIsImltcG9ydGFudCIpO1UuYXBwZW5kQ2hpbGQoZCk7cS5hcHBlbmRDaGlsZChVKTsKZ2E9aGEuY3JlYXRlRWxlbWVudE5TKHEubmFtZXNwYWNlVVJJLCJkaXYiKTtnYS5pZD0iYW5ub3RhdGlvbnNQYW5lIjtYPWhhLmNyZWF0ZUVsZW1lbnROUyhxLm5hbWVzcGFjZVVSSSwiZGl2Iik7WC5pZD0ic2hhZG93Q29udGVudCI7WC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO1guc3R5bGUudG9wPTA7WC5zdHlsZS5sZWZ0PTA7Yi5nZXRDb250ZW50RWxlbWVudCgpLmFwcGVuZENoaWxkKFgpO3ZhciBoPWQuYm9keSxtLGY9W10sZztmb3IobT1oLmZpcnN0RWxlbWVudENoaWxkO20mJm0hPT1oOylpZihtLm5hbWVzcGFjZVVSST09PXomJihmW2YubGVuZ3RoXT1tKSxtLmZpcnN0RWxlbWVudENoaWxkKW09bS5maXJzdEVsZW1lbnRDaGlsZDtlbHNle2Zvcig7bSYmbSE9PWgmJiFtLm5leHRFbGVtZW50U2libGluZzspbT1tLnBhcmVudE5vZGU7bSYmbS5uZXh0RWxlbWVudFNpYmxpbmcmJihtPW0ubmV4dEVsZW1lbnRTaWJsaW5nKX1mb3IoZz0wO2c8Zi5sZW5ndGg7Zys9MSltPWZbZ10sCnIoImZyYW1lIitTdHJpbmcoZyksbSxlKTtmPUUuZ2V0T0RGRWxlbWVudHNXaXRoWFBhdGgoaCwiLi8vKlsqW0B0ZXh0OmFuY2hvci10eXBlPSdwYXJhZ3JhcGgnXV0iLG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSSk7Zm9yKG09MDttPGYubGVuZ3RoO20rPTEpaD1mW21dLGguc2V0QXR0cmlidXRlTlMmJmguc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIiwiY29udGFpbnNwYXJhZ3JhcGhhbmNob3IiLCEwKTtoPVo7bT1YO3ZhciBrLEQseSx4LHc9MCxKO2c9Yi5yb290RWxlbWVudC5vd25lckRvY3VtZW50O2lmKChmPWQuYm9keS5maXJzdEVsZW1lbnRDaGlsZCkmJmYubmFtZXNwYWNlVVJJPT09diYmKCJwcmVzZW50YXRpb24iPT09Zi5sb2NhbE5hbWV8fCJkcmF3aW5nIj09PWYubG9jYWxOYW1lKSlmb3IoZj1mLmZpcnN0RWxlbWVudENoaWxkO2Y7KXtpZihrPShrPWYuZ2V0QXR0cmlidXRlTlMoeiwibWFzdGVyLXBhZ2UtbmFtZSIpKT9oLmdldE1hc3RlclBhZ2VFbGVtZW50KGspOgpudWxsKXtEPWYuZ2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6aGVscGVyIiwic3R5bGVpZCIpO3k9Zy5jcmVhdGVFbGVtZW50TlMoeiwiZHJhdzpwYWdlIik7Sj1rLmZpcnN0RWxlbWVudENoaWxkO2Zvcih3PTA7SjspInRydWUiIT09Si5nZXRBdHRyaWJ1dGVOUyhMLCJwbGFjZWhvbGRlciIpJiYoeD1KLmNsb25lTm9kZSghMCkseS5hcHBlbmRDaGlsZCh4KSksSj1KLm5leHRFbGVtZW50U2libGluZyx3Kz0xO0o9eD13PXZvaWQgMDtmb3IodmFyIEI9Ti5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKHkseiwiZnJhbWUiKSx3PTA7dzxCLmxlbmd0aDt3Kz0xKXg9Qlt3XSwoSj14LmdldEF0dHJpYnV0ZU5TKEwsImNsYXNzIikpJiYhL14oZGF0ZS10aW1lfGZvb3RlcnxoZWFkZXJ8cGFnZS1udW1iZXIpJC8udGVzdChKKSYmeC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpO3g9Ti5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKHkseiwiKiIpO2Zvcih3PTA7dzx4Lmxlbmd0aDt3Kz0xKXIoRCsKIl8iK3cseFt3XSxlKTttLmFwcGVuZENoaWxkKHkpO3c9U3RyaW5nKG0uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyh6LCJwYWdlIikubGVuZ3RoKTtwKHksSSwicGFnZS1udW1iZXIiLHcpO3AoeSxMLCJoZWFkZXIiLG4oYixmLCJoZWFkZXIiKSk7cCh5LEwsImZvb3RlciIsbihiLGYsImZvb3RlciIpKTtyKEQseSxlKTt5LnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmhlbHBlciIsInBhZ2Utc3R5bGUtbmFtZSIsZi5nZXRBdHRyaWJ1dGVOUyh6LCJzdHlsZS1uYW1lIikpO3kuc2V0QXR0cmlidXRlTlMoeiwiZHJhdzptYXN0ZXItcGFnZS1uYW1lIixrLmdldEF0dHJpYnV0ZU5TKHUsIm5hbWUiKSl9Zj1mLm5leHRFbGVtZW50U2libGluZ31oPXEubmFtZXNwYWNlVVJJO2Y9Ti5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGQuYm9keSxBLCJ0YWJsZS1jZWxsIik7Zm9yKG09MDttPGYubGVuZ3RoO20rPTEpZz1mW21dLGcuaGFzQXR0cmlidXRlTlMoQSwibnVtYmVyLWNvbHVtbnMtc3Bhbm5lZCIpJiYKZy5zZXRBdHRyaWJ1dGVOUyhoLCJjb2xzcGFuIixnLmdldEF0dHJpYnV0ZU5TKEEsIm51bWJlci1jb2x1bW5zLXNwYW5uZWQiKSksZy5oYXNBdHRyaWJ1dGVOUyhBLCJudW1iZXItcm93cy1zcGFubmVkIikmJmcuc2V0QXR0cmlidXRlTlMoaCwicm93c3BhbiIsZy5nZXRBdHRyaWJ1dGVOUyhBLCJudW1iZXItcm93cy1zcGFubmVkIikpO2woZC5ib2R5KTthKGQuYm9keSk7YyhkLmJvZHkpO3QoYixkLmJvZHksZSk7VyhiLGQuYm9keSk7VS5pbnNlcnRCZWZvcmUoWCxVLmZpcnN0Q2hpbGQpO2VhLnNldFpvb21hYmxlRWxlbWVudChVKX1mdW5jdGlvbiBQKGEpe0I/KGdhLnBhcmVudE5vZGV8fFUuYXBwZW5kQ2hpbGQoZ2EpLE0mJk0uZm9yZ2V0QW5ub3RhdGlvbnMoKSxNPW5ldyBndWkuQW5ub3RhdGlvblZpZXdNYW5hZ2VyKGZhLGEuYm9keSxnYSxZKSxhPU4uZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhhLmJvZHksdiwiYW5ub3RhdGlvbiIpLE0uYWRkQW5ub3RhdGlvbnMoYSksdygpKTpnYS5wYXJlbnROb2RlJiYKKFUucmVtb3ZlQ2hpbGQoZ2EpLE0uZm9yZ2V0QW5ub3RhdGlvbnMoKSx3KCkpfWZ1bmN0aW9uIGFhKGEpe2Z1bmN0aW9uIGMoKXtkKEYpO2QoamEpO2QoY2EpO04ucmVtb3ZlQWxsQ2hpbGROb2RlcyhxKTtxLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI7dmFyIGU9Qy5yb290RWxlbWVudDtxLm93bmVyRG9jdW1lbnQuaW1wb3J0Tm9kZShlLCEwKTtaLnNldE9kZkNvbnRhaW5lcihDKTtmKEMsRik7YihDLFosamEpO0soQyxlKTtQKGUpO2F8fG5hLmFkZFRvUXVldWUoZnVuY3Rpb24oKXt2YXIgYT1bQ107aWYoZGEuaGFzT3duUHJvcGVydHkoInN0YXRlcmVhZHljaGFuZ2UiKSl7dmFyIGM9ZGEuc3RhdGVyZWFkeWNoYW5nZSxiO2ZvcihiPTA7YjxjLmxlbmd0aDtiKz0xKWNbYl0uYXBwbHkobnVsbCxhKX19KX1DLnN0YXRlPT09b2RmLk9kZkNvbnRhaW5lci5ET05FP2MoKToocnVudGltZS5sb2coIldBUk5JTkc6IHJlZnJlc2hPZGYgY2FsbGVkIGJ1dCBPREYgd2FzIG5vdCBET05FLiIpLApxYT1ydW50aW1lLnNldFRpbWVvdXQoZnVuY3Rpb24gVCgpe0Muc3RhdGU9PT1vZGYuT2RmQ29udGFpbmVyLkRPTkU/YygpOihydW50aW1lLmxvZygid2lsbCBiZSBiYWNrIGxhdGVyLi4uIikscWE9cnVudGltZS5zZXRUaW1lb3V0KFQsNTAwKSl9LDEwMCkpfWZ1bmN0aW9uIFMoYSl7bmEuY2xlYXJRdWV1ZSgpO04ucmVtb3ZlQWxsQ2hpbGROb2RlcyhxKTtxLmFwcGVuZENoaWxkKHEub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShydW50aW1lLnRyKCJMb2FkaW5nIikrYSsiLi4uIikpO3EucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpO0M9bmV3IG9kZi5PZGZDb250YWluZXIoYSxmdW5jdGlvbihhKXtDPWE7YWEoITEpfSl9cnVudGltZS5hc3NlcnQobnVsbCE9PXEmJnZvaWQgMCE9PXEsIm9kZi5PZGZDYW52YXMgY29uc3RydWN0b3IgbmVlZHMgRE9NIGVsZW1lbnQiKTtydW50aW1lLmFzc2VydChudWxsIT09cS5vd25lckRvY3VtZW50JiZ2b2lkIDAhPT1xLm93bmVyRG9jdW1lbnQsCiJvZGYuT2RmQ2FudmFzIGNvbnN0cnVjdG9yIG5lZWRzIERPTSIpO3ZhciBmYT10aGlzLGhhPXEub3duZXJEb2N1bWVudCxDLFo9bmV3IG9kZi5Gb3JtYXR0aW5nLGJhLFU9bnVsbCxnYT1udWxsLEI9ITEsWT0hMSxNPW51bGwsUSxGLGphLGNhLFgsZGE9e30scWEsbGEsaWE9ITEsbWE9ITEsbmE9bmV3IGcsZWE9bmV3IGd1aS5ab29tSGVscGVyLGthPUR8fG5ldyBndWkuU2luZ2xlU2Nyb2xsVmlld3BvcnQocS5wYXJlbnROb2RlKTt0aGlzLnJlZnJlc2hDU1M9ZnVuY3Rpb24oKXtpYT0hMDtsYS50cmlnZ2VyKCl9O3RoaXMucmVmcmVzaFNpemU9ZnVuY3Rpb24oKXtsYS50cmlnZ2VyKCl9O3RoaXMub2RmQ29udGFpbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIEN9O3RoaXMuc2V0T2RmQ29udGFpbmVyPWZ1bmN0aW9uKGEsYyl7Qz1hO2FhKCEwPT09Yyl9O3RoaXMubG9hZD10aGlzLmxvYWQ9Uzt0aGlzLnNhdmU9ZnVuY3Rpb24oYSl7Qy5zYXZlKGEpfTt0aGlzLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEsCmMpe3N3aXRjaChhKXtjYXNlICJjbGljayI6dmFyIGI9YTtxLmFkZEV2ZW50TGlzdGVuZXI/cS5hZGRFdmVudExpc3RlbmVyKGIsYywhMSk6cS5hdHRhY2hFdmVudD9xLmF0dGFjaEV2ZW50KCJvbiIrYixjKTpxWyJvbiIrYl09YzticmVhaztkZWZhdWx0OmI9ZGEuaGFzT3duUHJvcGVydHkoYSk/ZGFbYV06ZGFbYV09W10sYyYmLTE9PT1iLmluZGV4T2YoYykmJmIucHVzaChjKX19O3RoaXMuZ2V0Rm9ybWF0dGluZz1mdW5jdGlvbigpe3JldHVybiBafTt0aGlzLmdldEFubm90YXRpb25WaWV3TWFuYWdlcj1mdW5jdGlvbigpe3JldHVybiBNfTt0aGlzLnJlZnJlc2hBbm5vdGF0aW9ucz1mdW5jdGlvbigpe1AoQy5yb290RWxlbWVudCl9O3RoaXMucmVyZW5kZXJBbm5vdGF0aW9ucz1mdW5jdGlvbigpe00mJihtYT0hMCxsYS50cmlnZ2VyKCkpfTt0aGlzLmdldFNpemVyPWZ1bmN0aW9uKCl7cmV0dXJuIFV9O3RoaXMuZW5hYmxlQW5ub3RhdGlvbnM9ZnVuY3Rpb24oYSxjKXthIT09QiYmKEI9CmEsWT1jLEMmJlAoQy5yb290RWxlbWVudCkpfTt0aGlzLmFkZEFubm90YXRpb249ZnVuY3Rpb24oYSl7TSYmKE0uYWRkQW5ub3RhdGlvbnMoW2FdKSx3KCkpfTt0aGlzLmZvcmdldEFubm90YXRpb249ZnVuY3Rpb24oYSl7TSYmKE0uZm9yZ2V0QW5ub3RhdGlvbihhKSx3KCkpfTt0aGlzLmdldFpvb21IZWxwZXI9ZnVuY3Rpb24oKXtyZXR1cm4gZWF9O3RoaXMuc2V0Wm9vbUxldmVsPWZ1bmN0aW9uKGEpe2VhLnNldFpvb21MZXZlbChhKX07dGhpcy5nZXRab29tTGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gZWEuZ2V0Wm9vbUxldmVsKCl9O3RoaXMuZml0VG9Db250YWluaW5nRWxlbWVudD1mdW5jdGlvbihhLGMpe3ZhciBiPWVhLmdldFpvb21MZXZlbCgpLGQ9cS5vZmZzZXRIZWlnaHQvYixiPWEvKHEub2Zmc2V0V2lkdGgvYik7Yy9kPGImJihiPWMvZCk7ZWEuc2V0Wm9vbUxldmVsKGIpfTt0aGlzLmZpdFRvV2lkdGg9ZnVuY3Rpb24oYSl7dmFyIGM9cS5vZmZzZXRXaWR0aC9lYS5nZXRab29tTGV2ZWwoKTsKZWEuc2V0Wm9vbUxldmVsKGEvYyl9O3RoaXMuZml0U21hcnQ9ZnVuY3Rpb24oYSxjKXt2YXIgYixkO2Q9ZWEuZ2V0Wm9vbUxldmVsKCk7Yj1xLm9mZnNldFdpZHRoL2Q7ZD1xLm9mZnNldEhlaWdodC9kO2I9YS9iO3ZvaWQgMCE9PWMmJmMvZDxiJiYoYj1jL2QpO2VhLnNldFpvb21MZXZlbChNYXRoLm1pbigxLGIpKX07dGhpcy5maXRUb0hlaWdodD1mdW5jdGlvbihhKXt2YXIgYz1xLm9mZnNldEhlaWdodC9lYS5nZXRab29tTGV2ZWwoKTtlYS5zZXRab29tTGV2ZWwoYS9jKX07dGhpcy5zaG93Rmlyc3RQYWdlPWZ1bmN0aW9uKCl7YmEuc2hvd0ZpcnN0UGFnZSgpfTt0aGlzLnNob3dOZXh0UGFnZT1mdW5jdGlvbigpe2JhLnNob3dOZXh0UGFnZSgpfTt0aGlzLnNob3dQcmV2aW91c1BhZ2U9ZnVuY3Rpb24oKXtiYS5zaG93UHJldmlvdXNQYWdlKCl9O3RoaXMuc2hvd1BhZ2U9ZnVuY3Rpb24oYSl7YmEuc2hvd1BhZ2UoYSk7dygpfTt0aGlzLmdldEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gcX07CnRoaXMuZ2V0Vmlld3BvcnQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2F9O3RoaXMuYWRkQ3NzRm9yRnJhbWVXaXRoSW1hZ2U9ZnVuY3Rpb24oYSl7dmFyIGM9YS5nZXRBdHRyaWJ1dGVOUyh6LCJuYW1lIiksYj1hLmZpcnN0RWxlbWVudENoaWxkO3IoYyxhLGNhLnNoZWV0KTtiJiZlKGMrImltZyIsQyxiLGNhLnNoZWV0KX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe3ZhciBjPWhhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYj1bYmEuZGVzdHJveSxsYS5kZXN0cm95XTtydW50aW1lLmNsZWFyVGltZW91dChxYSk7Z2EmJmdhLnBhcmVudE5vZGUmJmdhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZ2EpO2VhLmRlc3Ryb3koZnVuY3Rpb24oKXtVJiYocS5yZW1vdmVDaGlsZChVKSxVPW51bGwpfSk7eShRKTtjLnJlbW92ZUNoaWxkKEYpO2MucmVtb3ZlQ2hpbGQoamEpO2MucmVtb3ZlQ2hpbGQoY2EpO2NvcmUuQXN5bmMuZGVzdHJveUFsbChiLGEpfTtRPWgoaGEpO2JhPW5ldyBrKHgoaGEpKTsKRj14KGhhKTtqYT14KGhhKTtjYT14KGhhKTtsYT1jb3JlLlRhc2suY3JlYXRlUmVkcmF3VGFzayhmdW5jdGlvbigpe2lhJiYoYihDLFosamEpLGlhPSExKTttYSYmKE0mJk0ucmVyZW5kZXJBbm5vdGF0aW9ucygpLG1hPSExKTt3KCl9KTtlYS5zdWJzY3JpYmUoZ3VpLlpvb21IZWxwZXIuc2lnbmFsWm9vbUNoYW5nZWQsdyl9fSkoKTsKb2RmLlN0ZXBVdGlscz1mdW5jdGlvbigpe3RoaXMuZ2V0Q29udGVudEJvdW5kcz1mdW5jdGlvbihnKXt2YXIgaz1nLmNvbnRhaW5lcigpLGQsYjtydW50aW1lLmFzc2VydChnLmlzU3RlcCgpLCJTdGVwIGl0ZXJhdG9yIG11c3QgYmUgb24gYSBzdGVwIik7ay5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYwPGcub2Zmc2V0KCk/ZD1nLm9mZnNldCgpOihrPWcubGVmdE5vZGUoKSkmJmsubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmKGQ9ay5sZW5ndGgpO2smJihrLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/KHJ1bnRpbWUuYXNzZXJ0KDA8ZCwiRW1wdHkgdGV4dCBub2RlIGZvdW5kIiksYj17Y29udGFpbmVyOmssc3RhcnRPZmZzZXQ6ZC0xLGVuZE9mZnNldDpkfSk6Yj17Y29udGFpbmVyOmssc3RhcnRPZmZzZXQ6MCxlbmRPZmZzZXQ6ay5jaGlsZE5vZGVzLmxlbmd0aH0pO3JldHVybiBifX07b3BzLk1lbWJlclByb3BlcnRpZXM9ZnVuY3Rpb24oKXt9OwpvcHMuTWVtYmVyPWZ1bmN0aW9uKGcsayl7dmFyIGQ9bmV3IG9wcy5NZW1iZXJQcm9wZXJ0aWVzO3RoaXMuZ2V0TWVtYmVySWQ9ZnVuY3Rpb24oKXtyZXR1cm4gZ307dGhpcy5nZXRQcm9wZXJ0aWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGR9O3RoaXMuc2V0UHJvcGVydGllcz1mdW5jdGlvbihiKXtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGYpe2RbZl09YltmXX0pfTt0aGlzLnJlbW92ZVByb3BlcnRpZXM9ZnVuY3Rpb24oYil7T2JqZWN0LmtleXMoYikuZm9yRWFjaChmdW5jdGlvbihiKXsiZnVsbE5hbWUiIT09YiYmImNvbG9yIiE9PWImJiJpbWFnZVVybCIhPT1iJiZkLmhhc093blByb3BlcnR5KGIpJiZkZWxldGUgZFtiXX0pfTtydW50aW1lLmFzc2VydChCb29sZWFuKGcpLCJObyBtZW1iZXJJZCB3YXMgc3VwcGxpZWQhIik7ay5mdWxsTmFtZXx8KGsuZnVsbE5hbWU9cnVudGltZS50cigiVW5rbm93biBBdXRob3IiKSk7ay5jb2xvcnx8KGsuY29sb3I9ImJsYWNrIik7ay5pbWFnZVVybHx8CihrLmltYWdlVXJsPSJhdmF0YXItam9lLnBuZyIpO2Q9a307b3BzLkRvY3VtZW50PWZ1bmN0aW9uKCl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmdldE1lbWJlcklkcz1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5yZW1vdmVDdXJzb3I9ZnVuY3Rpb24oZyl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmdldERvY3VtZW50RWxlbWVudD1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5nZXRET01Eb2N1bWVudD1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5jbG9uZURvY3VtZW50RWxlbWVudD1mdW5jdGlvbigpe307b3BzLkRvY3VtZW50LnByb3RvdHlwZS5zZXREb2N1bWVudEVsZW1lbnQ9ZnVuY3Rpb24oZyl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihnLGspe307Cm9wcy5Eb2N1bWVudC5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oZyxrKXt9O29wcy5Eb2N1bWVudC5wcm90b3R5cGUuZ2V0Q2FudmFzPWZ1bmN0aW9uKCl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZVJvb3RGaWx0ZXI9ZnVuY3Rpb24oZyl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZVBvc2l0aW9uSXRlcmF0b3I9ZnVuY3Rpb24oZyl7fTtvcHMuRG9jdW1lbnQucHJvdG90eXBlLmhhc0N1cnNvcj1mdW5jdGlvbihnKXt9O29wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZD0iY3Vyc29yL2FkZGVkIjtvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZD0iY3Vyc29yL3JlbW92ZWQiO29wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZD0iY3Vyc29yL21vdmVkIjtvcHMuRG9jdW1lbnQuc2lnbmFsTWVtYmVyQWRkZWQ9Im1lbWJlci9hZGRlZCI7b3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlclVwZGF0ZWQ9Im1lbWJlci91cGRhdGVkIjsKb3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlclJlbW92ZWQ9Im1lbWJlci9yZW1vdmVkIjsKb3BzLk9kdEN1cnNvcj1mdW5jdGlvbihnLGspe3ZhciBkPXRoaXMsYj17fSxmLG4scD1uZXcgY29yZS5FdmVudE5vdGlmaWVyKFtvcHMuT2R0Q3Vyc29yLnNpZ25hbEN1cnNvclVwZGF0ZWRdKTt0aGlzLnJlbW92ZUZyb21Eb2N1bWVudD1mdW5jdGlvbigpe24ucmVtb3ZlKCl9O3RoaXMuc3Vic2NyaWJlPWZ1bmN0aW9uKGIsZCl7cC5zdWJzY3JpYmUoYixkKX07dGhpcy51bnN1YnNjcmliZT1mdW5jdGlvbihiLGQpe3AudW5zdWJzY3JpYmUoYixkKX07dGhpcy5nZXRNZW1iZXJJZD1mdW5jdGlvbigpe3JldHVybiBnfTt0aGlzLmdldE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXROb2RlKCl9O3RoaXMuZ2V0QW5jaG9yTm9kZT1mdW5jdGlvbigpe3JldHVybiBuLmdldEFuY2hvck5vZGUoKX07dGhpcy5nZXRTZWxlY3RlZFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0U2VsZWN0ZWRSYW5nZSgpfTt0aGlzLnNldFNlbGVjdGVkUmFuZ2U9ZnVuY3Rpb24oYixmKXtuLnNldFNlbGVjdGVkUmFuZ2UoYiwKZik7cC5lbWl0KG9wcy5PZHRDdXJzb3Iuc2lnbmFsQ3Vyc29yVXBkYXRlZCxkKX07dGhpcy5oYXNGb3J3YXJkU2VsZWN0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIG4uaGFzRm9yd2FyZFNlbGVjdGlvbigpfTt0aGlzLmdldERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGt9O3RoaXMuZ2V0U2VsZWN0aW9uVHlwZT1mdW5jdGlvbigpe3JldHVybiBmfTt0aGlzLnNldFNlbGVjdGlvblR5cGU9ZnVuY3Rpb24oZCl7Yi5oYXNPd25Qcm9wZXJ0eShkKT9mPWQ6cnVudGltZS5sb2coIkludmFsaWQgc2VsZWN0aW9uIHR5cGU6ICIrZCl9O3RoaXMucmVzZXRTZWxlY3Rpb25UeXBlPWZ1bmN0aW9uKCl7ZC5zZXRTZWxlY3Rpb25UeXBlKG9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb24pfTtuPW5ldyBjb3JlLkN1cnNvcihrLmdldERPTURvY3VtZW50KCksZyk7YltvcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9uXT0hMDtiW29wcy5PZHRDdXJzb3IuUmVnaW9uU2VsZWN0aW9uXT0hMDtkLnJlc2V0U2VsZWN0aW9uVHlwZSgpfTsKb3BzLk9kdEN1cnNvci5SYW5nZVNlbGVjdGlvbj0iUmFuZ2UiO29wcy5PZHRDdXJzb3IuUmVnaW9uU2VsZWN0aW9uPSJSZWdpb24iO29wcy5PZHRDdXJzb3Iuc2lnbmFsQ3Vyc29yVXBkYXRlZD0iY3Vyc29yVXBkYXRlZCI7CihmdW5jdGlvbigpe3ZhciBnPTA7b3BzLlN0ZXBzQ2FjaGU9ZnVuY3Rpb24oayxkLGIpe2Z1bmN0aW9uIGYoYSxjKXt2YXIgZD10aGlzO3RoaXMubm9kZUlkPWE7dGhpcy5zdGVwcz0tMTt0aGlzLm5vZGU9Yzt0aGlzLnByZXZpb3VzQm9va21hcms9dGhpcy5uZXh0Qm9va21hcms9bnVsbDt0aGlzLnNldEl0ZXJhdG9yUG9zaXRpb249ZnVuY3Rpb24oYSl7YS5zZXRQb3NpdGlvbkJlZm9yZUVsZW1lbnQoYyk7YihkLnN0ZXBzLGEpfX1mdW5jdGlvbiBuKGEsYyxkKXt2YXIgZT10aGlzO3RoaXMubm9kZUlkPWE7dGhpcy5zdGVwcz1jO3RoaXMubm9kZT1kO3RoaXMucHJldmlvdXNCb29rbWFyaz10aGlzLm5leHRCb29rbWFyaz1udWxsO3RoaXMuc2V0SXRlcmF0b3JQb3NpdGlvbj1mdW5jdGlvbihhKXthLnNldFVuZmlsdGVyZWRQb3NpdGlvbihkLDApO2IoZS5zdGVwcyxhKX19ZnVuY3Rpb24gcChhLGMpe3ZhciBiPSJbIithLm5vZGVJZDtjJiYoYis9IiA9PiAiK2Mubm9kZUlkKTtyZXR1cm4gYisKIl0ifWZ1bmN0aW9uIHIoKXtpZighMD09PW9wcy5TdGVwc0NhY2hlLkVOQUJMRV9DQUNIRV9WRVJJRklDQVRJT04pe2Zvcih2YXIgYT14LGMsYixkLGU9bmV3IGNvcmUuTG9vcFdhdGNoRG9nKDAsMUU1KSxoPXt9O2E7KXtlLmNoZWNrKCk7KGM9YS5wcmV2aW91c0Jvb2ttYXJrKT9ydW50aW1lLmFzc2VydChjLm5leHRCb29rbWFyaz09PWEsIkJyb2tlbiBib29rbWFyayBsaW5rIHRvIHByZXZpb3VzIEAiK3AoYyxhKSk6KHJ1bnRpbWUuYXNzZXJ0KGE9PT14LCJCcm9rZW4gYm9va21hcmsgbGluayBAIitwKGEpKSxydW50aW1lLmFzc2VydCh2b2lkIDA9PT16fHx4PT09eHx8eC5zdGVwczw9eiwiQmFzZSBwb2ludCBpcyBkYW1hZ2VkIEAiK3AoYSkpKTsoYj1hLm5leHRCb29rbWFyaykmJnJ1bnRpbWUuYXNzZXJ0KGIucHJldmlvdXNCb29rbWFyaz09PWEsIkJyb2tlbiBib29rbWFyayBsaW5rIHRvIG5leHQgQCIrcChhLGIpKTtpZih2b2lkIDA9PT16fHxhPT09eHx8YS5zdGVwczw9eilydW50aW1lLmFzc2VydCh5LmNvbnRhaW5zTm9kZShrLAphLm5vZGUpLCJEaXNjb25uZWN0ZWQgbm9kZSBpcyBiZWluZyByZXBvcnRlZCBhcyB1bmRhbWFnZWQgQCIrcChhKSksYyYmKGQ9YS5ub2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMubm9kZSkscnVudGltZS5hc3NlcnQoMD09PWR8fDAhPT0oZCZ2KSwiQm9va21hcmsgb3JkZXIgd2l0aCBwcmV2aW91cyBkb2VzIG5vdCByZWZsZWN0IERPTSBvcmRlciBAIitwKGMsYSkpKSxiJiZ5LmNvbnRhaW5zTm9kZShrLGIubm9kZSkmJihkPWEubm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiLm5vZGUpLHJ1bnRpbWUuYXNzZXJ0KDA9PT1kfHwwIT09KGQmdyksIkJvb2ttYXJrIG9yZGVyIHdpdGggbmV4dCBkb2VzIG5vdCByZWZsZWN0IERPTSBvcmRlciBAIitwKGEsYikpKTthPWEubmV4dEJvb2ttYXJrfU9iamVjdC5rZXlzKG0pLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGM9bVthXTsodm9pZCAwPT09enx8YTw9eikmJnJ1bnRpbWUuYXNzZXJ0KGMuc3RlcHM8PWEsIkJvb2ttYXJrIHN0ZXAgb2YgIisKYy5zdGVwcysiIGV4Y2VlZHMgY2FjaGVkIHN0ZXAgbG9va3VwIGZvciAiK2ErIiBAIitwKGMpKTtydW50aW1lLmFzc2VydCghMT09PWguaGFzT3duUHJvcGVydHkoYy5ub2RlSWQpLCJCb29rbWFyayAiK3AoYykrIiBhcHBlYXJzIHR3aWNlIGluIGNhY2hlZCBzdGVwIGxvb2t1cCBhdCBzdGVwcyAiK2hbYy5ub2RlSWRdKyIgYW5kICIrYSk7aFtjLm5vZGVJZF09YX0pfX1mdW5jdGlvbiBxKGEpe3ZhciBjPSIiO2Eubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGM9YS5nZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzdGVwcyIsIm5vZGVJZCIpfHwiIik7cmV0dXJuIGN9ZnVuY3Rpb24gZShhKXt2YXIgYz1nLnRvU3RyaW5nKCk7YS5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzdGVwcyIsIm5vZGVJZCIsYyk7Zys9MTtyZXR1cm4gY31mdW5jdGlvbiBsKGEpe3ZhciBjLGIsZT1uZXcgY29yZS5Mb29wV2F0Y2hEb2coMCwxRTQpO3ZvaWQgMCE9PXomJmE+CnomJihhPXopO2ZvcihjPU1hdGguZmxvb3IoYS9kKSpkOyFiJiYwPD1jOyliPW1bY10sYy09ZDtmb3IoYj1ifHx4O2IubmV4dEJvb2ttYXJrJiZiLm5leHRCb29rbWFyay5zdGVwczw9YTspZS5jaGVjaygpLGI9Yi5uZXh0Qm9va21hcms7cnVudGltZS5hc3NlcnQoLTE9PT1hfHxiLnN0ZXBzPD1hLCJCb29rbWFyayBAIitwKGIpKyIgYXQgc3RlcCAiK2Iuc3RlcHMrIiBleGNlZWRzIHJlcXVlc3RlZCBzdGVwIG9mICIrYSk7cmV0dXJuIGJ9ZnVuY3Rpb24gYShhKXthLnByZXZpb3VzQm9va21hcmsmJihhLnByZXZpb3VzQm9va21hcmsubmV4dEJvb2ttYXJrPWEubmV4dEJvb2ttYXJrKTthLm5leHRCb29rbWFyayYmKGEubmV4dEJvb2ttYXJrLnByZXZpb3VzQm9va21hcms9YS5wcmV2aW91c0Jvb2ttYXJrKX1mdW5jdGlvbiBjKGEpe2Zvcih2YXIgYyxiPW51bGw7IWImJmEmJmEhPT1rOykoYz1xKGEpKSYmKGI9aFtjXSkmJmIubm9kZSE9PWEmJihydW50aW1lLmxvZygiQ2xvbmVkIG5vZGUgZGV0ZWN0ZWQuIENyZWF0aW5nIG5ldyBib29rbWFyayIpLApiPW51bGwsYS5yZW1vdmVBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpzdGVwcyIsIm5vZGVJZCIpKSxhPWEucGFyZW50Tm9kZTtyZXR1cm4gYn12YXIgbT17fSxoPXt9LHk9Y29yZS5Eb21VdGlscyx4LHosdz1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyx2PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HO3RoaXMudXBkYXRlQm9va21hcms9ZnVuY3Rpb24oYyxiKXt2YXIgZyxuPU1hdGguY2VpbChjL2QpKmQscCx2LEU7aWYodm9pZCAwIT09eiYmejxjKXtwPWwoeik7Zm9yKHY9cC5uZXh0Qm9va21hcms7diYmdi5zdGVwczw9YzspZz12Lm5leHRCb29rbWFyayxFPU1hdGguY2VpbCh2LnN0ZXBzL2QpKmQsbVtFXT09PXYmJmRlbGV0ZSBtW0VdLHkuY29udGFpbnNOb2RlKGssdi5ub2RlKT92LnN0ZXBzPWMrMTooYSh2KSxkZWxldGUgaFt2Lm5vZGVJZF0pLHY9Zzt6PWN9ZWxzZSBwPWwoYyk7dj1xKGIpfHxlKGIpO2c9aFt2XTtnP2cubm9kZSE9PWImJihydW50aW1lLmxvZygiQ2xvbmVkIG5vZGUgZGV0ZWN0ZWQuIENyZWF0aW5nIG5ldyBib29rbWFyayIpLAp2PWUoYiksZz1oW3ZdPW5ldyBmKHYsYikpOmc9aFt2XT1uZXcgZih2LGIpO3Y9Zzt2LnN0ZXBzIT09YyYmKGc9TWF0aC5jZWlsKHYuc3RlcHMvZCkqZCxnIT09biYmbVtnXT09PXYmJmRlbGV0ZSBtW2ddLHYuc3RlcHM9Yyk7aWYocCE9PXYmJnAubmV4dEJvb2ttYXJrIT09dil7aWYocC5zdGVwcz09PXYuc3RlcHMpZm9yKDswIT09KHYubm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihwLm5vZGUpJncpJiZwIT09eDspcD1wLnByZXZpb3VzQm9va21hcms7cCE9PXYmJnAubmV4dEJvb2ttYXJrIT09diYmKGEodiksZz1wLm5leHRCb29rbWFyayx2Lm5leHRCb29rbWFyaz1wLm5leHRCb29rbWFyayx2LnByZXZpb3VzQm9va21hcms9cCxwLm5leHRCb29rbWFyaz12LGcmJihnLnByZXZpb3VzQm9va21hcms9dikpfXA9bVtuXTtpZighcHx8di5zdGVwcz5wLnN0ZXBzKW1bbl09djtyKCl9O3RoaXMuc2V0VG9DbG9zZXN0U3RlcD1mdW5jdGlvbihhLGMpe3ZhciBiO3IoKTtiPWwoYSk7Yi5zZXRJdGVyYXRvclBvc2l0aW9uKGMpOwpyZXR1cm4gYi5zdGVwc307dGhpcy5zZXRUb0Nsb3Nlc3REb21Qb2ludD1mdW5jdGlvbihhLGIsZCl7dmFyIGUsaDtyKCk7aWYoYT09PWsmJjA9PT1iKWU9eDtlbHNlIGlmKGE9PT1rJiZiPT09ay5jaGlsZE5vZGVzLmxlbmd0aClmb3IoaCBpbiBlPXgsbSltLmhhc093blByb3BlcnR5KGgpJiYoYT1tW2hdLGEuc3RlcHM+ZS5zdGVwcyYmKGU9YSkpO2Vsc2UgaWYoZT1jKGEuY2hpbGROb2Rlcy5pdGVtKGIpfHxhKSwhZSlmb3IoZC5zZXRVbmZpbHRlcmVkUG9zaXRpb24oYSxiKTshZSYmZC5wcmV2aW91c05vZGUoKTspZT1jKGQuZ2V0Q3VycmVudE5vZGUoKSk7ZT1lfHx4O3ZvaWQgMCE9PXomJmUuc3RlcHM+eiYmKGU9bCh6KSk7ZS5zZXRJdGVyYXRvclBvc2l0aW9uKGQpO3JldHVybiBlLnN0ZXBzfTt0aGlzLmRhbWFnZUNhY2hlQWZ0ZXJTdGVwPWZ1bmN0aW9uKGEpezA+YSYmKGE9LTEpO3ZvaWQgMD09PXo/ej1hOmE8eiYmKHo9YSk7cigpfTsoZnVuY3Rpb24oKXt2YXIgYT1xKGspfHwKZShrKTt4PW5ldyBuKGEsMCxrKX0pKCl9O29wcy5TdGVwc0NhY2hlLkVOQUJMRV9DQUNIRV9WRVJJRklDQVRJT049ITE7b3BzLlN0ZXBzQ2FjaGUuQm9va21hcms9ZnVuY3Rpb24oKXt9O29wcy5TdGVwc0NhY2hlLkJvb2ttYXJrLnByb3RvdHlwZS5zZXRJdGVyYXRvclBvc2l0aW9uPWZ1bmN0aW9uKGcpe319KSgpOwooZnVuY3Rpb24oKXtvcHMuT2R0U3RlcHNUcmFuc2xhdG9yPWZ1bmN0aW9uKGcsayxkLGIpe2Z1bmN0aW9uIGYoYSxiLGQpe3ZhciBlPWIuZ2V0Q3VycmVudE5vZGUoKTtiLmlzQmVmb3JlTm9kZSgpJiZyLmlzUGFyYWdyYXBoKGUpJiYoZHx8KGErPTEpLHAudXBkYXRlQm9va21hcmsoYSxlKSl9ZnVuY3Rpb24gbihjLGIpe2lmKCFifHxkLmFjY2VwdFBvc2l0aW9uKGMpPT09ZSlyZXR1cm4hMDtmb3IoO2MucHJldmlvdXNQb3NpdGlvbigpOylpZihkLmFjY2VwdFBvc2l0aW9uKGMpPT09ZSl7aWYoYihsLGMuY29udGFpbmVyKCksYy51bmZpbHRlcmVkRG9tT2Zmc2V0KCkpKXJldHVybiEwO2JyZWFrfWZvcig7Yy5uZXh0UG9zaXRpb24oKTspaWYoZC5hY2NlcHRQb3NpdGlvbihjKT09PWUpe2lmKGIoYSxjLmNvbnRhaW5lcigpLGMudW5maWx0ZXJlZERvbU9mZnNldCgpKSlyZXR1cm4hMDticmVha31yZXR1cm4hMX12YXIgcCxyPW9kZi5PZGZVdGlscyxxPWNvcmUuRG9tVXRpbHMsZT1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULApsPWNvcmUuU3RlcERpcmVjdGlvbi5QUkVWSU9VUyxhPWNvcmUuU3RlcERpcmVjdGlvbi5ORVhUO3RoaXMuY29udmVydFN0ZXBzVG9Eb21Qb2ludD1mdW5jdGlvbihhKXt2YXIgYixoO2lmKGlzTmFOKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIlJlcXVlc3RlZCBzdGVwcyBpcyBub3QgbnVtZXJpYyAoIithKyIpIik7aWYoMD5hKXRocm93IG5ldyBSYW5nZUVycm9yKCJSZXF1ZXN0ZWQgc3RlcHMgaXMgbmVnYXRpdmUgKCIrYSsiKSIpO2ZvcihiPXAuc2V0VG9DbG9zZXN0U3RlcChhLGspO2I8YSYmay5uZXh0UG9zaXRpb24oKTspKGg9ZC5hY2NlcHRQb3NpdGlvbihrKT09PWUpJiYoYis9MSksZihiLGssaCk7aWYoYiE9PWEpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlJlcXVlc3RlZCBzdGVwcyAoIithKyIpIGV4Y2VlZHMgYXZhaWxhYmxlIHN0ZXBzICgiK2IrIikiKTtyZXR1cm57bm9kZTprLmNvbnRhaW5lcigpLG9mZnNldDprLnVuZmlsdGVyZWREb21PZmZzZXQoKX19O3RoaXMuY29udmVydERvbVBvaW50VG9TdGVwcz0KZnVuY3Rpb24oYSxiLGgpe3ZhciBsO3EuY29udGFpbnNOb2RlKGcsYSl8fChiPTA+cS5jb21wYXJlUG9pbnRzKGcsMCxhLGIpLGE9ZyxiPWI/MDpnLmNoaWxkTm9kZXMubGVuZ3RoKTtrLnNldFVuZmlsdGVyZWRQb3NpdGlvbihhLGIpO24oayxoKXx8ay5zZXRVbmZpbHRlcmVkUG9zaXRpb24oYSxiKTtoPWsuY29udGFpbmVyKCk7Yj1rLnVuZmlsdGVyZWREb21PZmZzZXQoKTthPXAuc2V0VG9DbG9zZXN0RG9tUG9pbnQoaCxiLGspO2lmKDA+cS5jb21wYXJlUG9pbnRzKGsuY29udGFpbmVyKCksay51bmZpbHRlcmVkRG9tT2Zmc2V0KCksaCxiKSlyZXR1cm4gMDxhP2EtMTphO2Zvcig7KGsuY29udGFpbmVyKCkhPT1ofHxrLnVuZmlsdGVyZWREb21PZmZzZXQoKSE9PWIpJiZrLm5leHRQb3NpdGlvbigpOykobD1kLmFjY2VwdFBvc2l0aW9uKGspPT09ZSkmJihhKz0xKSxmKGEsayxsKTtyZXR1cm4gYSswfTt0aGlzLnByaW1lPWZ1bmN0aW9uKCl7dmFyIGEsYjtmb3IoYT1wLnNldFRvQ2xvc2VzdFN0ZXAoMCwKayk7ay5uZXh0UG9zaXRpb24oKTspKGI9ZC5hY2NlcHRQb3NpdGlvbihrKT09PWUpJiYoYSs9MSksZihhLGssYil9O3RoaXMuaGFuZGxlU3RlcHNJbnNlcnRlZD1mdW5jdGlvbihhKXtwLmRhbWFnZUNhY2hlQWZ0ZXJTdGVwKGEucG9zaXRpb24pfTt0aGlzLmhhbmRsZVN0ZXBzUmVtb3ZlZD1mdW5jdGlvbihhKXtwLmRhbWFnZUNhY2hlQWZ0ZXJTdGVwKGEucG9zaXRpb24tMSl9O3A9bmV3IG9wcy5TdGVwc0NhY2hlKGcsYixmdW5jdGlvbihhLGIpe2Rve2lmKGQuYWNjZXB0UG9zaXRpb24oYik9PT1lKXtmKGEsYiwhMCk7YnJlYWt9ZihhLTEsYiwhMSl9d2hpbGUoYi5uZXh0UG9zaXRpb24oKSl9KX19KSgpO29wcy5PcGVyYXRpb249ZnVuY3Rpb24oKXt9O29wcy5PcGVyYXRpb24ucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oZyl7fTtvcHMuT3BlcmF0aW9uLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGcpe307b3BzLk9wZXJhdGlvbi5wcm90b3R5cGUuc3BlYz1mdW5jdGlvbigpe307Cm9wcy5UZXh0UG9zaXRpb25GaWx0ZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCl7Zm9yKDtiJiZkKGIpIT09bjspYj1iLnByZXZpb3VzU2libGluZztyZXR1cm4gYn1mdW5jdGlvbiBrKGIsZixlLGwpe3ZhciBhO2lmKGYpe2lmKGQuaXNJbmxpbmVSb290KGYpJiZkLmlzR3JvdXBpbmdFbGVtZW50KGUpKXJldHVybiBwO2w9ZC5sb29rTGVmdEZvckNoYXJhY3RlcihmKTtpZigxPT09bHx8Mj09PWwmJihkLnNjYW5SaWdodEZvckFueUNoYXJhY3RlcihlKXx8ZC5zY2FuUmlnaHRGb3JBbnlDaGFyYWN0ZXIoZC5uZXh0Tm9kZShiKSkpKXJldHVybiBufWVsc2UgaWYoZC5pc0dyb3VwaW5nRWxlbWVudChiKSYmZC5pc0lubGluZVJvb3QoZyhiLnByZXZpb3VzU2libGluZyxsKSkpcmV0dXJuIG47bD1udWxsPT09ZiYmZC5pc1BhcmFncmFwaChiKTthPWQubG9va1JpZ2h0Rm9yQ2hhcmFjdGVyKGUpO2lmKGwpcmV0dXJuIGE/bjpkLnNjYW5SaWdodEZvckFueUNoYXJhY3RlcihlKT9wOm47aWYoIWEpcmV0dXJuIHA7CmY9Znx8ZC5wcmV2aW91c05vZGUoYik7cmV0dXJuIGQuc2NhbkxlZnRGb3JBbnlDaGFyYWN0ZXIoZik/cDpufXZhciBkPW9kZi5PZGZVdGlscyxiPU5vZGUuRUxFTUVOVF9OT0RFLGY9Tm9kZS5URVhUX05PREUsbj1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULHA9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX1JFSkVDVDt0aGlzLmFjY2VwdFBvc2l0aW9uPWZ1bmN0aW9uKGcpe3ZhciBxPWcuY29udGFpbmVyKCksZT1xLm5vZGVUeXBlLGwsYSxjO2lmKGUhPT1iJiZlIT09ZilyZXR1cm4gcDtpZihlPT09Zil7ZT1nLnVuZmlsdGVyZWREb21PZmZzZXQoKTtsPXEuZGF0YTtydW50aW1lLmFzc2VydChlIT09bC5sZW5ndGgsIlVuZXhwZWN0ZWQgb2Zmc2V0LiIpO2lmKDA8ZSl7Zz1sW2UtMV07aWYoIWQuaXNPREZXaGl0ZXNwYWNlKGcpKXJldHVybiBuO2lmKDE8ZSlpZihnPWxbZS0yXSwhZC5pc09ERldoaXRlc3BhY2UoZykpYz0KbjtlbHNle2lmKCFkLmlzT0RGV2hpdGVzcGFjZShsLnN1YnN0cigwLGUpKSlyZXR1cm4gcH1lbHNlIGE9ZC5wcmV2aW91c05vZGUocSksZC5zY2FuTGVmdEZvck5vblNwYWNlKGEpJiYoYz1uKTtpZihjPT09bilyZXR1cm4gZC5pc1RyYWlsaW5nV2hpdGVzcGFjZShxLGUpP3A6bjtnPWxbZV07cmV0dXJuIGQuaXNPREZXaGl0ZXNwYWNlKGcpP3A6ZC5zY2FuTGVmdEZvckFueUNoYXJhY3RlcihkLnByZXZpb3VzTm9kZShxKSk/cDpufWE9Zy5sZWZ0Tm9kZSgpO2M9cTtxPXEucGFyZW50Tm9kZTtjPWsocSxhLGMsZy5nZXROb2RlRmlsdGVyKCkpfWVsc2UgZC5pc0dyb3VwaW5nRWxlbWVudChxKT8oYT1nLmxlZnROb2RlKCksYz1nLnJpZ2h0Tm9kZSgpLGM9ayhxLGEsYyxnLmdldE5vZGVGaWx0ZXIoKSkpOmM9cDtyZXR1cm4gY319OwpmdW5jdGlvbiBSb290RmlsdGVyKGcsayxkKXt2YXIgYj1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULGY9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX1JFSkVDVDt0aGlzLmFjY2VwdFBvc2l0aW9uPWZ1bmN0aW9uKG4pe249bi5jb250YWluZXIoKTt2YXIgcDtwPSJzdHJpbmciPT09dHlwZW9mIGc/a1tnXS5nZXROb2RlKCk6ZztyZXR1cm4gZChuKT09PWQocCk/YjpmfX0Kb3BzLk9kdERvY3VtZW50PWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoYSl7cmV0dXJuIG5ldyBjb3JlLlBvc2l0aW9uSXRlcmF0b3IoYSxBLEwsITEpfWZ1bmN0aW9uIGQoKXt2YXIgYT1nLm9kZkNvbnRhaW5lcigpLmdldENvbnRlbnRFbGVtZW50KCksYz1hJiZhLmxvY2FsTmFtZTtydW50aW1lLmFzc2VydCgidGV4dCI9PT1jLCJVbnN1cHBvcnRlZCBjb250ZW50IGVsZW1lbnQgdHlwZSAnIitjKyInIGZvciBPZHREb2N1bWVudCIpO3JldHVybiBhfWZ1bmN0aW9uIGIoKXtyZXR1cm4gYS5nZXREb2N1bWVudEVsZW1lbnQoKS5vd25lckRvY3VtZW50fWZ1bmN0aW9uIGYoYSl7Zm9yKDthJiYhKGEubmFtZXNwYWNlVVJJPT09b2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMmJiJ0ZXh0Ij09PWEubG9jYWxOYW1lfHxhLm5hbWVzcGFjZVVSST09PW9kZi5OYW1lc3BhY2VzLm9mZmljZW5zJiYiYW5ub3RhdGlvbiI9PT1hLmxvY2FsTmFtZSk7KWE9YS5wYXJlbnROb2RlO3JldHVybiBhfWZ1bmN0aW9uIG4oYSwKYyxiLGQpe2Q9ayhkKTt2YXIgZTsxPT09Yi5sZW5ndGg/ZT1iWzBdOihlPW5ldyBjb3JlLlBvc2l0aW9uRmlsdGVyQ2hhaW4sYi5mb3JFYWNoKGUuYWRkRmlsdGVyKSk7Yj1uZXcgY29yZS5TdGVwSXRlcmF0b3IoZSxkKTtiLnNldFBvc2l0aW9uKGEsYyk7cmV0dXJuIGJ9ZnVuY3Rpb24gcChhKXt2YXIgYz1rKGQoKSk7YT11LmNvbnZlcnRTdGVwc1RvRG9tUG9pbnQoYSk7Yy5zZXRVbmZpbHRlcmVkUG9zaXRpb24oYS5ub2RlLGEub2Zmc2V0KTtyZXR1cm4gY31mdW5jdGlvbiByKGEpe3JldHVybiBhPT09d31mdW5jdGlvbiBxKGMpe3ZhciBiPWMuc3BlYygpLGQ9Yi5tZW1iZXJpZCxlPShuZXcgRGF0ZShiLnRpbWVzdGFtcCkpLnRvSVNPU3RyaW5nKCksYj1nLm9kZkNvbnRhaW5lcigpO2MuaXNFZGl0JiYoZD1hLmdldE1lbWJlcihkKS5nZXRQcm9wZXJ0aWVzKCkuZnVsbE5hbWUsYi5zZXRNZXRhZGF0YSh7ImRjOmNyZWF0b3IiOmQsImRjOmRhdGUiOmV9LG51bGwpLGQ9e3NldFByb3BlcnRpZXM6eyJkYzpjcmVhdG9yIjpkLAoiZGM6ZGF0ZSI6ZX0scmVtb3ZlZFByb3BlcnRpZXM6W119LHR8fChkLnNldFByb3BlcnRpZXNbIm1ldGE6ZWRpdGluZy1jeWNsZXMiXT1iLmluY3JlbWVudEVkaXRpbmdDeWNsZXMoKSxiLnNldE1ldGFkYXRhKG51bGwsWyJtZXRhOmVkaXRpbmctZHVyYXRpb24iLCJtZXRhOmRvY3VtZW50LXN0YXRpc3RpYyJdKSksdD1jLGEuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsTWV0YWRhdGFVcGRhdGVkLGQpKX1mdW5jdGlvbiBlKGEpe3ZhciBiLGQ9W10sZSxmPTI7cnVudGltZS5hc3NlcnQoYS5pc1N0ZXAoKSwicG9zaXRpb25JdGVyYXRvciBpcyBub3QgYXQgYSBzdGVwIik7ZG97aWYoYj1jLmdldENvbnRlbnRCb3VuZHMoYSkpaWYoYj1iLmNvbnRhaW5lcixtLmlzRG93bmdyYWRhYmxlU3BhY2VFbGVtZW50KGIpKXtmb3IoZT1iLmxhc3RDaGlsZDtiLmZpcnN0Q2hpbGQ7KWQucHVzaChiLmZpcnN0Q2hpbGQpLGIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYi5maXJzdENoaWxkLGIpO2IucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKTsKYS5zZXRQb3NpdGlvbihlLGUubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9lLmxlbmd0aDplLmNoaWxkTm9kZXMubGVuZ3RoKTthLnJvdW5kVG9QcmV2aW91c1N0ZXAoKX0tLWZ9d2hpbGUoMDxmJiZhLm5leHRTdGVwKCkpO2QuZm9yRWFjaChoLm5vcm1hbGl6ZVRleHROb2Rlcyl9ZnVuY3Rpb24gbChhLGMsYil7YT1hLmNoaWxkTm9kZXMuaXRlbShjKXx8YTtyZXR1cm4oYT1tLmdldFBhcmFncmFwaEVsZW1lbnQoYSkpJiZoLmNvbnRhaW5zTm9kZShiLGEpP2E6Yn12YXIgYT10aGlzLGMsbT1vZGYuT2RmVXRpbHMsaD1jb3JlLkRvbVV0aWxzLHk9e30seD17fSx6PW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW29wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJBZGRlZCxvcHMuRG9jdW1lbnQuc2lnbmFsTWVtYmVyVXBkYXRlZCxvcHMuRG9jdW1lbnQuc2lnbmFsTWVtYmVyUmVtb3ZlZCxvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsb3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsCm9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCxvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoU3R5bGVNb2RpZmllZCxvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQ29tbW9uU3R5bGVDcmVhdGVkLG9wcy5PZHREb2N1bWVudC5zaWduYWxDb21tb25TdHlsZURlbGV0ZWQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFRhYmxlQWRkZWQsb3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvblN0YXJ0LG9wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25FbmQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFByb2Nlc3NpbmdCYXRjaFN0YXJ0LG9wcy5PZHREb2N1bWVudC5zaWduYWxQcm9jZXNzaW5nQmF0Y2hFbmQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFVuZG9TdGFja0NoYW5nZWQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQsb3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzUmVtb3ZlZCxvcHMuT2R0RG9jdW1lbnQuc2lnbmFsTWV0YWRhdGFVcGRhdGVkLApvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQW5ub3RhdGlvbkFkZGVkXSksdz1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVCx2LHUsdCxBPU5vZGVGaWx0ZXIuU0hPV19BTEwsST1uZXcgZ3VpLkJsYWNrbGlzdE5hbWVzcGFjZU5vZGVGaWx0ZXIoWyJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iXSksSz1uZXcgZ3VpLk9kZlRleHRCb2R5Tm9kZUZpbHRlcixMPW5ldyBjb3JlLk5vZGVGaWx0ZXJDaGFpbihbSSxLXSk7dGhpcy5jcmVhdGVQb3NpdGlvbkl0ZXJhdG9yPWs7dGhpcy5nZXREb2N1bWVudEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5vZGZDb250YWluZXIoKS5yb290RWxlbWVudH07dGhpcy5jbG9uZURvY3VtZW50RWxlbWVudD1mdW5jdGlvbigpe3ZhciBjPWEuZ2V0RG9jdW1lbnRFbGVtZW50KCksYj1nLmdldEFubm90YXRpb25WaWV3TWFuYWdlcigpO2ImJmIuZm9yZ2V0QW5ub3RhdGlvbnMoKTtjPWMuY2xvbmVOb2RlKCEwKTtnLnJlZnJlc2hBbm5vdGF0aW9ucygpOwphLmZpeEN1cnNvclBvc2l0aW9ucygpO3JldHVybiBjfTt0aGlzLnNldERvY3VtZW50RWxlbWVudD1mdW5jdGlvbihhKXt2YXIgYz1nLm9kZkNvbnRhaW5lcigpO3oudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQsdS5oYW5kbGVTdGVwc0luc2VydGVkKTt6LnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc1JlbW92ZWQsdS5oYW5kbGVTdGVwc1JlbW92ZWQpO2Muc2V0Um9vdEVsZW1lbnQoYSk7Zy5zZXRPZGZDb250YWluZXIoYywhMCk7Zy5yZWZyZXNoQ1NTKCk7YT1kKCk7dT1uZXcgb3BzLk9kdFN0ZXBzVHJhbnNsYXRvcihhLGsoYSksdiw1MDApO3ouc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc0luc2VydGVkLHUuaGFuZGxlU3RlcHNJbnNlcnRlZCk7ei5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzUmVtb3ZlZCx1LmhhbmRsZVN0ZXBzUmVtb3ZlZCl9O3RoaXMuZ2V0RE9NRG9jdW1lbnQ9CmI7dGhpcy5nZXRSb290RWxlbWVudD1mO3RoaXMuY3JlYXRlU3RlcEl0ZXJhdG9yPW47dGhpcy5nZXRJdGVyYXRvckF0UG9zaXRpb249cDt0aGlzLmNvbnZlcnRDdXJzb3JTdGVwVG9Eb21Qb2ludD1mdW5jdGlvbihhKXtyZXR1cm4gdS5jb252ZXJ0U3RlcHNUb0RvbVBvaW50KGEpfTt0aGlzLmNvbnZlcnREb21Qb2ludFRvQ3Vyc29yU3RlcD1mdW5jdGlvbihhLGMsYil7dmFyIGQ7Yj09PXcmJihkPXIpO3JldHVybiB1LmNvbnZlcnREb21Qb2ludFRvU3RlcHMoYSxjLGQpfTt0aGlzLmNvbnZlcnREb21Ub0N1cnNvclJhbmdlPWZ1bmN0aW9uKGEpe3ZhciBjO2M9dS5jb252ZXJ0RG9tUG9pbnRUb1N0ZXBzKGEuYW5jaG9yTm9kZSxhLmFuY2hvck9mZnNldCk7YT1hLmFuY2hvck5vZGU9PT1hLmZvY3VzTm9kZSYmYS5hbmNob3JPZmZzZXQ9PT1hLmZvY3VzT2Zmc2V0P2M6dS5jb252ZXJ0RG9tUG9pbnRUb1N0ZXBzKGEuZm9jdXNOb2RlLGEuZm9jdXNPZmZzZXQpO3JldHVybntwb3NpdGlvbjpjLApsZW5ndGg6YS1jfX07dGhpcy5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZT1mdW5jdGlvbihhLGMpe3ZhciBkPWIoKS5jcmVhdGVSYW5nZSgpLGUsaDtlPXUuY29udmVydFN0ZXBzVG9Eb21Qb2ludChhKTtjPyhoPXUuY29udmVydFN0ZXBzVG9Eb21Qb2ludChhK2MpLDA8Yz8oZC5zZXRTdGFydChlLm5vZGUsZS5vZmZzZXQpLGQuc2V0RW5kKGgubm9kZSxoLm9mZnNldCkpOihkLnNldFN0YXJ0KGgubm9kZSxoLm9mZnNldCksZC5zZXRFbmQoZS5ub2RlLGUub2Zmc2V0KSkpOmQuc2V0U3RhcnQoZS5ub2RlLGUub2Zmc2V0KTtyZXR1cm4gZH07dGhpcy51cGdyYWRlV2hpdGVzcGFjZXNBdFBvc2l0aW9uPWZ1bmN0aW9uKGEpe3ZhciBiPXAoYSksYj1uZXcgY29yZS5TdGVwSXRlcmF0b3IodixiKSxkLGU9MjtydW50aW1lLmFzc2VydChiLmlzU3RlcCgpLCJwb3NpdGlvbkl0ZXJhdG9yIGlzIG5vdCBhdCBhIHN0ZXAgKHJlcXVlc3RlZCBzdGVwOiAiK2ErIikiKTtkb3tpZihkPWMuZ2V0Q29udGVudEJvdW5kcyhiKSlpZihhPQpkLmNvbnRhaW5lcixkPWQuc3RhcnRPZmZzZXQsYS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZtLmlzU2lnbmlmaWNhbnRXaGl0ZXNwYWNlKGEsZCkpe3J1bnRpbWUuYXNzZXJ0KCIgIj09PWEuZGF0YVtkXSwidXBncmFkZVdoaXRlc3BhY2VUb0VsZW1lbnQ6IHRleHROb2RlLmRhdGFbb2Zmc2V0XSBzaG91bGQgYmUgYSBsaXRlcmFsIHNwYWNlIik7dmFyIGg9YS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvZGYuTmFtZXNwYWNlcy50ZXh0bnMsInRleHQ6cyIpLGY9YS5wYXJlbnROb2RlLGw9YTtoLmFwcGVuZENoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKTsxPT09YS5sZW5ndGg/Zi5yZXBsYWNlQ2hpbGQoaCxhKTooYS5kZWxldGVEYXRhKGQsMSksMDxkJiYoZDxhLmxlbmd0aCYmYS5zcGxpdFRleHQoZCksbD1hLm5leHRTaWJsaW5nKSxmLmluc2VydEJlZm9yZShoLGwpKTthPWg7Yi5zZXRQb3NpdGlvbihhLGEuY2hpbGROb2Rlcy5sZW5ndGgpOwpiLnJvdW5kVG9QcmV2aW91c1N0ZXAoKX0tLWV9d2hpbGUoMDxlJiZiLm5leHRTdGVwKCkpfTt0aGlzLmRvd25ncmFkZVdoaXRlc3BhY2VzPWU7dGhpcy5kb3duZ3JhZGVXaGl0ZXNwYWNlc0F0UG9zaXRpb249ZnVuY3Rpb24oYSl7YT1wKGEpO2E9bmV3IGNvcmUuU3RlcEl0ZXJhdG9yKHYsYSk7ZShhKX07dGhpcy5nZXRUZXh0Tm9kZUF0U3RlcD1mdW5jdGlvbihjLGQpe3ZhciBlPXAoYyksaD1lLmNvbnRhaW5lcigpLG0sZj0wLGw9bnVsbDtoLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/KG09aCxmPWUudW5maWx0ZXJlZERvbU9mZnNldCgpLDA8bS5sZW5ndGgmJigwPGYmJihtPW0uc3BsaXRUZXh0KGYpKSxtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIoKS5jcmVhdGVUZXh0Tm9kZSgiIiksbSksbT1tLnByZXZpb3VzU2libGluZyxmPTApKToobT1iKCkuY3JlYXRlVGV4dE5vZGUoIiIpLGY9MCxoLmluc2VydEJlZm9yZShtLGUucmlnaHROb2RlKCkpKTtpZihkKXtpZih5W2RdJiYKYS5nZXRDdXJzb3JQb3NpdGlvbihkKT09PWMpe2ZvcihsPXlbZF0uZ2V0Tm9kZSgpO2wubmV4dFNpYmxpbmcmJiJjdXJzb3IiPT09bC5uZXh0U2libGluZy5sb2NhbE5hbWU7KWwucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobC5uZXh0U2libGluZyxsKTswPG0ubGVuZ3RoJiZtLm5leHRTaWJsaW5nIT09bCYmKG09YigpLmNyZWF0ZVRleHROb2RlKCIiKSxmPTApO2wucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobSxsKX19ZWxzZSBmb3IoO20ubmV4dFNpYmxpbmcmJiJjdXJzb3IiPT09bS5uZXh0U2libGluZy5sb2NhbE5hbWU7KW0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobS5uZXh0U2libGluZyxtKTtmb3IoO20ucHJldmlvdXNTaWJsaW5nJiZtLnByZXZpb3VzU2libGluZy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFOyllPW0ucHJldmlvdXNTaWJsaW5nLGUuYXBwZW5kRGF0YShtLmRhdGEpLGY9ZS5sZW5ndGgsbT1lLG0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChtLm5leHRTaWJsaW5nKTsKZm9yKDttLm5leHRTaWJsaW5nJiZtLm5leHRTaWJsaW5nLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU7KWU9bS5uZXh0U2libGluZyxtLmFwcGVuZERhdGEoZS5kYXRhKSxtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSk7cmV0dXJue3RleHROb2RlOm0sb2Zmc2V0OmZ9fTt0aGlzLmZpeEN1cnNvclBvc2l0aW9ucz1mdW5jdGlvbigpe09iamVjdC5rZXlzKHkpLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGI9eVtjXSxkPWYoYi5nZXROb2RlKCkpLGU9YS5jcmVhdGVSb290RmlsdGVyKGQpLGgsbSxnLGs9ITE7Zz1iLmdldFNlbGVjdGVkUmFuZ2UoKTtoPWwoZy5zdGFydENvbnRhaW5lcixnLnN0YXJ0T2Zmc2V0LGQpO209bihnLnN0YXJ0Q29udGFpbmVyLGcuc3RhcnRPZmZzZXQsW3YsZV0saCk7Zy5jb2xsYXBzZWQ/ZD1tOihoPWwoZy5lbmRDb250YWluZXIsZy5lbmRPZmZzZXQsZCksZD1uKGcuZW5kQ29udGFpbmVyLGcuZW5kT2Zmc2V0LFt2LGVdLGgpKTttLmlzU3RlcCgpJiZkLmlzU3RlcCgpPwptLmNvbnRhaW5lcigpIT09ZC5jb250YWluZXIoKXx8bS5vZmZzZXQoKSE9PWQub2Zmc2V0KCl8fGcuY29sbGFwc2VkJiZiLmdldEFuY2hvck5vZGUoKT09PWIuZ2V0Tm9kZSgpfHwoaz0hMCxnLnNldFN0YXJ0KG0uY29udGFpbmVyKCksbS5vZmZzZXQoKSksZy5jb2xsYXBzZSghMCkpOihrPSEwLHJ1bnRpbWUuYXNzZXJ0KG0ucm91bmRUb0Nsb3Nlc3RTdGVwKCksIk5vIHdhbGthYmxlIHN0ZXAgZm91bmQgZm9yIGN1cnNvciBvd25lZCBieSAiK2MpLGcuc2V0U3RhcnQobS5jb250YWluZXIoKSxtLm9mZnNldCgpKSxydW50aW1lLmFzc2VydChkLnJvdW5kVG9DbG9zZXN0U3RlcCgpLCJObyB3YWxrYWJsZSBzdGVwIGZvdW5kIGZvciBjdXJzb3Igb3duZWQgYnkgIitjKSxnLnNldEVuZChkLmNvbnRhaW5lcigpLGQub2Zmc2V0KCkpKTtrJiYoYi5zZXRTZWxlY3RlZFJhbmdlKGcsYi5oYXNGb3J3YXJkU2VsZWN0aW9uKCkpLGEuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsCmIpKX0pfTt0aGlzLmdldEN1cnNvclBvc2l0aW9uPWZ1bmN0aW9uKGEpe3JldHVybihhPXlbYV0pP3UuY29udmVydERvbVBvaW50VG9TdGVwcyhhLmdldE5vZGUoKSwwKTowfTt0aGlzLmdldEN1cnNvclNlbGVjdGlvbj1mdW5jdGlvbihhKXthPXlbYV07dmFyIGM9MCxiPTA7YSYmKGM9dS5jb252ZXJ0RG9tUG9pbnRUb1N0ZXBzKGEuZ2V0Tm9kZSgpLDApLGI9dS5jb252ZXJ0RG9tUG9pbnRUb1N0ZXBzKGEuZ2V0QW5jaG9yTm9kZSgpLDApKTtyZXR1cm57cG9zaXRpb246YixsZW5ndGg6Yy1ifX07dGhpcy5nZXRQb3NpdGlvbkZpbHRlcj1mdW5jdGlvbigpe3JldHVybiB2fTt0aGlzLmdldE9kZkNhbnZhcz1mdW5jdGlvbigpe3JldHVybiBnfTt0aGlzLmdldENhbnZhcz1mdW5jdGlvbigpe3JldHVybiBnfTt0aGlzLmdldFJvb3ROb2RlPWQ7dGhpcy5hZGRNZW1iZXI9ZnVuY3Rpb24oYSl7cnVudGltZS5hc3NlcnQodm9pZCAwPT09eFthLmdldE1lbWJlcklkKCldLCJUaGlzIG1lbWJlciBhbHJlYWR5IGV4aXN0cyIpOwp4W2EuZ2V0TWVtYmVySWQoKV09YX07dGhpcy5nZXRNZW1iZXI9ZnVuY3Rpb24oYSl7cmV0dXJuIHguaGFzT3duUHJvcGVydHkoYSk/eFthXTpudWxsfTt0aGlzLnJlbW92ZU1lbWJlcj1mdW5jdGlvbihhKXtkZWxldGUgeFthXX07dGhpcy5nZXRDdXJzb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIHlbYV19O3RoaXMuaGFzQ3Vyc29yPWZ1bmN0aW9uKGEpe3JldHVybiB5Lmhhc093blByb3BlcnR5KGEpfTt0aGlzLmdldE1lbWJlcklkcz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh4KX07dGhpcy5hZGRDdXJzb3I9ZnVuY3Rpb24oYyl7cnVudGltZS5hc3NlcnQoQm9vbGVhbihjKSwiT2R0RG9jdW1lbnQ6OmFkZEN1cnNvciB3aXRob3V0IGN1cnNvciIpO3ZhciBiPWMuZ2V0TWVtYmVySWQoKSxkPWEuY29udmVydEN1cnNvclRvRG9tUmFuZ2UoMCwwKTtydW50aW1lLmFzc2VydCgic3RyaW5nIj09PXR5cGVvZiBiLCJPZHREb2N1bWVudDo6YWRkQ3Vyc29yIGhhcyBjdXJzb3Igd2l0aG91dCBtZW1iZXJpZCIpOwpydW50aW1lLmFzc2VydCgheVtiXSwiT2R0RG9jdW1lbnQ6OmFkZEN1cnNvciBpcyBhZGRpbmcgYSBkdXBsaWNhdGUgY3Vyc29yIHdpdGggbWVtYmVyaWQgIitiKTtjLnNldFNlbGVjdGVkUmFuZ2UoZCwhMCk7eVtiXT1jfTt0aGlzLnJlbW92ZUN1cnNvcj1mdW5jdGlvbihjKXt2YXIgYj15W2NdO3JldHVybiBiPyhiLnJlbW92ZUZyb21Eb2N1bWVudCgpLGRlbGV0ZSB5W2NdLGEuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZCxjKSwhMCk6ITF9O3RoaXMubW92ZUN1cnNvcj1mdW5jdGlvbihjLGIsZCxlKXtjPXlbY107Yj1hLmNvbnZlcnRDdXJzb3JUb0RvbVJhbmdlKGIsZCk7YyYmKGMuc2V0U2VsZWN0ZWRSYW5nZShiLDA8PWQpLGMuc2V0U2VsZWN0aW9uVHlwZShlfHxvcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9uKSl9O3RoaXMuZ2V0Rm9ybWF0dGluZz1mdW5jdGlvbigpe3JldHVybiBnLmdldEZvcm1hdHRpbmcoKX07dGhpcy5lbWl0PWZ1bmN0aW9uKGEsYyl7ei5lbWl0KGEsCmMpfTt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihhLGMpe3ouc3Vic2NyaWJlKGEsYyl9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYSxjKXt6LnVuc3Vic2NyaWJlKGEsYyl9O3RoaXMuY3JlYXRlUm9vdEZpbHRlcj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFJvb3RGaWx0ZXIoYSx5LGYpfTt0aGlzLmNsb3NlPWZ1bmN0aW9uKGEpe2EoKX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe2EoKX07KGZ1bmN0aW9uKCl7dmFyIGE9ZCgpO3Y9bmV3IG9wcy5UZXh0UG9zaXRpb25GaWx0ZXI7Yz1uZXcgb2RmLlN0ZXBVdGlsczt1PW5ldyBvcHMuT2R0U3RlcHNUcmFuc2xhdG9yKGEsayhhKSx2LDUwMCk7ei5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQsdS5oYW5kbGVTdGVwc0luc2VydGVkKTt6LnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsU3RlcHNSZW1vdmVkLHUuaGFuZGxlU3RlcHNSZW1vdmVkKTt6LnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uRW5kLApxKTt6LnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLGNvcmUuVGFzay5wcm9jZXNzVGFza3MpfSkoKX07b3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQ9InBhcmFncmFwaC9jaGFuZ2VkIjtvcHMuT2R0RG9jdW1lbnQuc2lnbmFsVGFibGVBZGRlZD0idGFibGUvYWRkZWQiO29wcy5PZHREb2N1bWVudC5zaWduYWxDb21tb25TdHlsZUNyZWF0ZWQ9InN0eWxlL2NyZWF0ZWQiO29wcy5PZHREb2N1bWVudC5zaWduYWxDb21tb25TdHlsZURlbGV0ZWQ9InN0eWxlL2RlbGV0ZWQiO29wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhTdHlsZU1vZGlmaWVkPSJwYXJhZ3JhcGhzdHlsZS9tb2RpZmllZCI7b3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvblN0YXJ0PSJvcGVyYXRpb24vc3RhcnQiO29wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25FbmQ9Im9wZXJhdGlvbi9lbmQiOwpvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoU3RhcnQ9InJvdXRlci9iYXRjaHN0YXJ0IjtvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kPSJyb3V0ZXIvYmF0Y2hlbmQiO29wcy5PZHREb2N1bWVudC5zaWduYWxVbmRvU3RhY2tDaGFuZ2VkPSJ1bmRvL2NoYW5nZWQiO29wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc0luc2VydGVkPSJzdGVwcy9pbnNlcnRlZCI7b3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzUmVtb3ZlZD0ic3RlcHMvcmVtb3ZlZCI7b3BzLk9kdERvY3VtZW50LnNpZ25hbE1ldGFkYXRhVXBkYXRlZD0ibWV0YWRhdGEvdXBkYXRlZCI7b3BzLk9kdERvY3VtZW50LnNpZ25hbEFubm90YXRpb25BZGRlZD0iYW5ub3RhdGlvbi9hZGRlZCI7Cm9wcy5PcEFkZEFubm90YXRpb249ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCxlKXt2YXIgZj1iLmdldFRleHROb2RlQXRTdGVwKGUsayk7ZiYmKGI9Zi50ZXh0Tm9kZSxlPWIucGFyZW50Tm9kZSxmLm9mZnNldCE9PWIubGVuZ3RoJiZiLnNwbGl0VGV4dChmLm9mZnNldCksZS5pbnNlcnRCZWZvcmUoZCxiLm5leHRTaWJsaW5nKSwwPT09Yi5sZW5ndGgmJmUucmVtb3ZlQ2hpbGQoYikpfXZhciBrLGQsYixmLG4scDt0aGlzLmluaXQ9ZnVuY3Rpb24oZyl7az1nLm1lbWJlcmlkO2Q9cGFyc2VJbnQoZy50aW1lc3RhbXAsMTApO2I9cGFyc2VJbnQoZy5wb3NpdGlvbiwxMCk7Zj12b2lkIDAhPT1nLmxlbmd0aD9wYXJzZUludChnLmxlbmd0aCwxMCl8fDA6dm9pZCAwO249Zy5uYW1lfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24ocil7dmFyIHE9ci5nZXRDdXJzb3IoayksZSxsO3A9ci5nZXRET01Eb2N1bWVudCgpO3ZhciBhPW5ldyBEYXRlKGQpLApjLG0saDtjPXAuY3JlYXRlRWxlbWVudE5TKG9kZi5OYW1lc3BhY2VzLm9mZmljZW5zLCJvZmZpY2U6YW5ub3RhdGlvbiIpO2Muc2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMsIm9mZmljZTpuYW1lIixuKTtlPXAuY3JlYXRlRWxlbWVudE5TKG9kZi5OYW1lc3BhY2VzLmRjbnMsImRjOmNyZWF0b3IiKTtlLnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIiwiZWRpdGluZm86bWVtYmVyaWQiLGspO2UudGV4dENvbnRlbnQ9ci5nZXRNZW1iZXIoaykuZ2V0UHJvcGVydGllcygpLmZ1bGxOYW1lO2w9cC5jcmVhdGVFbGVtZW50TlMob2RmLk5hbWVzcGFjZXMuZGNucywiZGM6ZGF0ZSIpO2wuYXBwZW5kQ2hpbGQocC5jcmVhdGVUZXh0Tm9kZShhLnRvSVNPU3RyaW5nKCkpKTthPXAuY3JlYXRlRWxlbWVudE5TKG9kZi5OYW1lc3BhY2VzLnRleHRucywidGV4dDpsaXN0Iik7bT1wLmNyZWF0ZUVsZW1lbnROUyhvZGYuTmFtZXNwYWNlcy50ZXh0bnMsCiJ0ZXh0Omxpc3QtaXRlbSIpO2g9cC5jcmVhdGVFbGVtZW50TlMob2RmLk5hbWVzcGFjZXMudGV4dG5zLCJ0ZXh0OnAiKTttLmFwcGVuZENoaWxkKGgpO2EuYXBwZW5kQ2hpbGQobSk7Yy5hcHBlbmRDaGlsZChlKTtjLmFwcGVuZENoaWxkKGwpO2MuYXBwZW5kQ2hpbGQoYSk7dm9pZCAwIT09ZiYmKGU9cC5jcmVhdGVFbGVtZW50TlMob2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMsIm9mZmljZTphbm5vdGF0aW9uLWVuZCIpLGUuc2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMub2ZmaWNlbnMsIm9mZmljZTpuYW1lIixuKSxjLmFubm90YXRpb25FbmRFbGVtZW50PWUsZyhyLGUsYitmKSk7ZyhyLGMsYik7ci5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc0luc2VydGVkLHtwb3NpdGlvbjpifSk7cSYmKGU9cC5jcmVhdGVSYW5nZSgpLGw9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKG9kZi5OYW1lc3BhY2VzLnRleHRucywicCIpWzBdLGUuc2VsZWN0Tm9kZUNvbnRlbnRzKGwpLApxLnNldFNlbGVjdGVkUmFuZ2UoZSwhMSkscS5zZXRTZWxlY3Rpb25UeXBlKG9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb24pLHIuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQscSkpO3IuZ2V0T2RmQ2FudmFzKCkuYWRkQW5ub3RhdGlvbihjKTtyLmZpeEN1cnNvclBvc2l0aW9ucygpO3IuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQW5ub3RhdGlvbkFkZGVkLHttZW1iZXJJZDprLGFubm90YXRpb246Y30pO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJBZGRBbm5vdGF0aW9uIixtZW1iZXJpZDprLHRpbWVzdGFtcDpkLHBvc2l0aW9uOmIsbGVuZ3RoOmYsbmFtZTpufX19OwpvcHMuT3BBZGRDdXJzb3I9ZnVuY3Rpb24oKXt2YXIgZyxrO3RoaXMuaW5pdD1mdW5jdGlvbihkKXtnPWQubWVtYmVyaWQ7az1kLnRpbWVzdGFtcH07dGhpcy5pc0VkaXQ9ITE7dGhpcy5ncm91cD12b2lkIDA7dGhpcy5leGVjdXRlPWZ1bmN0aW9uKGQpe3ZhciBiPWQuZ2V0Q3Vyc29yKGcpO2lmKGIpcmV0dXJuITE7Yj1uZXcgb3BzLk9kdEN1cnNvcihnLGQpO2QuYWRkQ3Vyc29yKGIpO2QuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsYik7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IkFkZEN1cnNvciIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6a319fTsKb3BzLk9wQWRkTWVtYmVyPWZ1bmN0aW9uKCl7dmFyIGcsayxkO3RoaXMuaW5pdD1mdW5jdGlvbihiKXtnPWIubWVtYmVyaWQ7az1wYXJzZUludChiLnRpbWVzdGFtcCwxMCk7ZD1iLnNldFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSExO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihiKXt2YXIgZjtpZihiLmdldE1lbWJlcihnKSlyZXR1cm4hMTtmPW5ldyBvcHMuTWVtYmVyKGcsZCk7Yi5hZGRNZW1iZXIoZik7Yi5lbWl0KG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJBZGRlZCxmKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiQWRkTWVtYmVyIixtZW1iZXJpZDpnLHRpbWVzdGFtcDprLHNldFByb3BlcnRpZXM6ZH19fTsKb3BzLk9wQWRkU3R5bGU9ZnVuY3Rpb24oKXt2YXIgZyxrLGQsYixmLG4scD1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zO3RoaXMuaW5pdD1mdW5jdGlvbihwKXtnPXAubWVtYmVyaWQ7az1wLnRpbWVzdGFtcDtkPXAuc3R5bGVOYW1lO2I9cC5zdHlsZUZhbWlseTtmPSJ0cnVlIj09PXAuaXNBdXRvbWF0aWNTdHlsZXx8ITA9PT1wLmlzQXV0b21hdGljU3R5bGU7bj1wLnNldFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihnKXt2YXIgaz1nLmdldE9kZkNhbnZhcygpLm9kZkNvbnRhaW5lcigpLGU9Zy5nZXRGb3JtYXR0aW5nKCksbD1nLmdldERPTURvY3VtZW50KCkuY3JlYXRlRWxlbWVudE5TKHAsInN0eWxlOnN0eWxlIik7aWYoIWwpcmV0dXJuITE7biYmZS51cGRhdGVTdHlsZShsLG4pO2wuc2V0QXR0cmlidXRlTlMocCwic3R5bGU6ZmFtaWx5IixiKTtsLnNldEF0dHJpYnV0ZU5TKHAsInN0eWxlOm5hbWUiLGQpO2Y/Cmsucm9vdEVsZW1lbnQuYXV0b21hdGljU3R5bGVzLmFwcGVuZENoaWxkKGwpOmsucm9vdEVsZW1lbnQuc3R5bGVzLmFwcGVuZENoaWxkKGwpO2cuZ2V0T2RmQ2FudmFzKCkucmVmcmVzaENTUygpO2Z8fGcuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQ29tbW9uU3R5bGVDcmVhdGVkLHtuYW1lOmQsZmFtaWx5OmJ9KTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiQWRkU3R5bGUiLG1lbWJlcmlkOmcsdGltZXN0YW1wOmssc3R5bGVOYW1lOmQsc3R5bGVGYW1pbHk6Yixpc0F1dG9tYXRpY1N0eWxlOmYsc2V0UHJvcGVydGllczpufX19OwpvZGYuT2JqZWN0TmFtZUdlbmVyYXRvcj1mdW5jdGlvbihnLGspe2Z1bmN0aW9uIGQoYSxjKXt2YXIgYj17fTt0aGlzLmdlbmVyYXRlTmFtZT1mdW5jdGlvbigpe3ZhciBkPWMoKSxlPTAsZjtkbyBmPWErZSxlKz0xO3doaWxlKGJbZl18fGRbZl0pO2JbZl09ITA7cmV0dXJuIGZ9fWZ1bmN0aW9uIGIoKXt2YXIgYT17fTtbZy5yb290RWxlbWVudC5hdXRvbWF0aWNTdHlsZXMsZy5yb290RWxlbWVudC5zdHlsZXNdLmZvckVhY2goZnVuY3Rpb24oYyl7Zm9yKGM9Yy5maXJzdEVsZW1lbnRDaGlsZDtjOyljLm5hbWVzcGFjZVVSST09PWYmJiJzdHlsZSI9PT1jLmxvY2FsTmFtZSYmKGFbYy5nZXRBdHRyaWJ1dGVOUyhmLCJuYW1lIildPSEwKSxjPWMubmV4dEVsZW1lbnRTaWJsaW5nfSk7cmV0dXJuIGF9dmFyIGY9b2RmLk5hbWVzcGFjZXMuc3R5bGVucyxuPW9kZi5OYW1lc3BhY2VzLmRyYXducyxwPW9kZi5OYW1lc3BhY2VzLnhsaW5rbnMscj0obmV3IGNvcmUuVXRpbHMpLmhhc2hTdHJpbmcoayksCnE9bnVsbCxlPW51bGwsbD1udWxsLGE9e30sYz17fTt0aGlzLmdlbmVyYXRlU3R5bGVOYW1lPWZ1bmN0aW9uKCl7bnVsbD09PXEmJihxPW5ldyBkKCJhdXRvIityKyJfIixmdW5jdGlvbigpe3JldHVybiBiKCl9KSk7cmV0dXJuIHEuZ2VuZXJhdGVOYW1lKCl9O3RoaXMuZ2VuZXJhdGVGcmFtZU5hbWU9ZnVuY3Rpb24oKXt2YXIgYyxiLGY7aWYobnVsbD09PWUpe2I9Zy5yb290RWxlbWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lTlMobiwiZnJhbWUiKTtmb3IoYz0wO2M8Yi5sZW5ndGg7Yys9MSlmPWIuaXRlbShjKSxhW2YuZ2V0QXR0cmlidXRlTlMobiwibmFtZSIpXT0hMDtlPW5ldyBkKCJmciIrcisiXyIsZnVuY3Rpb24oKXtyZXR1cm4gYX0pfXJldHVybiBlLmdlbmVyYXRlTmFtZSgpfTt0aGlzLmdlbmVyYXRlSW1hZ2VOYW1lPWZ1bmN0aW9uKCl7dmFyIGEsYixlO2lmKG51bGw9PT1sKXtlPWcucm9vdEVsZW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKG4sImltYWdlIik7CmZvcihhPTA7YTxlLmxlbmd0aDthKz0xKWI9ZS5pdGVtKGEpLGI9Yi5nZXRBdHRyaWJ1dGVOUyhwLCJocmVmIiksYj1iLnN1YnN0cmluZyg5LGIubGFzdEluZGV4T2YoIi4iKSksY1tiXT0hMDtsPW5ldyBkKCJpbWciK3IrIl8iLGZ1bmN0aW9uKCl7cmV0dXJuIGN9KX1yZXR1cm4gbC5nZW5lcmF0ZU5hbWUoKX19OwpvZGYuVGV4dFN0eWxlQXBwbGljYXRvcj1mdW5jdGlvbihnLGssZCl7ZnVuY3Rpb24gYihiKXtmdW5jdGlvbiBkKGEsYil7cmV0dXJuIm9iamVjdCI9PT10eXBlb2YgYSYmIm9iamVjdCI9PT10eXBlb2YgYj9PYmplY3Qua2V5cyhhKS5ldmVyeShmdW5jdGlvbihlKXtyZXR1cm4gZChhW2VdLGJbZV0pfSk6YT09PWJ9dmFyIGE9e307dGhpcy5pc1N0eWxlQXBwbGllZD1mdW5jdGlvbihjKXtjPWsuZ2V0QXBwbGllZFN0eWxlc0ZvckVsZW1lbnQoYyxhKS5zdHlsZVByb3BlcnRpZXM7cmV0dXJuIGQoYixjKX19ZnVuY3Rpb24gZihiKXt2YXIgZj17fTt0aGlzLmFwcGx5U3R5bGVUb0NvbnRhaW5lcj1mdW5jdGlvbihhKXt2YXIgYztjPWEuZ2V0QXR0cmlidXRlTlMociwic3R5bGUtbmFtZSIpO3ZhciBtPWEub3duZXJEb2N1bWVudDtjPWN8fCIiO2lmKCFmLmhhc093blByb3BlcnR5KGMpKXt2YXIgaD1jLG47bj1jP2suY3JlYXRlRGVyaXZlZFN0eWxlT2JqZWN0KGMsInRleHQiLGIpOmI7bT0KbS5jcmVhdGVFbGVtZW50TlMocSwic3R5bGU6c3R5bGUiKTtrLnVwZGF0ZVN0eWxlKG0sbik7bS5zZXRBdHRyaWJ1dGVOUyhxLCJzdHlsZTpuYW1lIixnLmdlbmVyYXRlU3R5bGVOYW1lKCkpO20uc2V0QXR0cmlidXRlTlMocSwic3R5bGU6ZmFtaWx5IiwidGV4dCIpO20uc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6c2NvcGUiLCJzY29wZSIsImRvY3VtZW50LWNvbnRlbnQiKTtkLmFwcGVuZENoaWxkKG0pO2ZbaF09bX1jPWZbY10uZ2V0QXR0cmlidXRlTlMocSwibmFtZSIpO2Euc2V0QXR0cmlidXRlTlMociwidGV4dDpzdHlsZS1uYW1lIixjKX19ZnVuY3Rpb24gbihiLGQpe3ZhciBhPWIub3duZXJEb2N1bWVudCxjPWIucGFyZW50Tm9kZSxtLGgsZixnPW5ldyBjb3JlLkxvb3BXYXRjaERvZygxRTQpO2g9W107aC5wdXNoKGIpO2ZvcihmPWIubmV4dFNpYmxpbmc7ZiYmcC5yYW5nZUNvbnRhaW5zTm9kZShkLGYpOylnLmNoZWNrKCksaC5wdXNoKGYpLGY9Zi5uZXh0U2libGluZzsKInNwYW4iIT09Yy5sb2NhbE5hbWV8fGMubmFtZXNwYWNlVVJJIT09cj8obT1hLmNyZWF0ZUVsZW1lbnROUyhyLCJ0ZXh0OnNwYW4iKSxjLmluc2VydEJlZm9yZShtLGIpLGE9ITEpOihiLnByZXZpb3VzU2libGluZyYmIXAucmFuZ2VDb250YWluc05vZGUoZCxjLmZpcnN0Q2hpbGQpPyhtPWMuY2xvbmVOb2RlKCExKSxjLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG0sYy5uZXh0U2libGluZykpOm09YyxhPSEwKTtoLmZvckVhY2goZnVuY3Rpb24oYSl7YS5wYXJlbnROb2RlIT09bSYmbS5hcHBlbmRDaGlsZChhKX0pO2lmKGYmJmEpZm9yKGg9bS5jbG9uZU5vZGUoITEpLG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaCxtLm5leHRTaWJsaW5nKTtmOylnLmNoZWNrKCksYT1mLm5leHRTaWJsaW5nLGguYXBwZW5kQ2hpbGQoZiksZj1hO3JldHVybiBtfXZhciBwPWNvcmUuRG9tVXRpbHMscj1vZGYuTmFtZXNwYWNlcy50ZXh0bnMscT1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zO3RoaXMuYXBwbHlTdHlsZT0KZnVuY3Rpb24oZCxnLGEpe3ZhciBjPXt9LG0saCxrLHA7cnVudGltZS5hc3NlcnQoYSYmYS5oYXNPd25Qcm9wZXJ0eSgic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIiksImFwcGx5U3R5bGUgd2l0aG91dCBhbnkgdGV4dCBwcm9wZXJ0aWVzIik7Y1sic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl09YVsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl07az1uZXcgZihjKTtwPW5ldyBiKGMpO2QuZm9yRWFjaChmdW5jdGlvbihhKXttPXAuaXNTdHlsZUFwcGxpZWQoYSk7ITE9PT1tJiYoaD1uKGEsZyksay5hcHBseVN0eWxlVG9Db250YWluZXIoaCkpfSl9fTsKb3BzLk9wQXBwbHlEaXJlY3RTdHlsaW5nPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGQsZil7dmFyIGE9Yi5nZXRPZGZDYW52YXMoKS5vZGZDb250YWluZXIoKSxjPXIuc3BsaXRCb3VuZGFyaWVzKGQpLG09cC5nZXRUZXh0Tm9kZXMoZCwhMSk7KG5ldyBvZGYuVGV4dFN0eWxlQXBwbGljYXRvcihuZXcgb2RmLk9iamVjdE5hbWVHZW5lcmF0b3IoYSxrKSxiLmdldEZvcm1hdHRpbmcoKSxhLnJvb3RFbGVtZW50LmF1dG9tYXRpY1N0eWxlcykpLmFwcGx5U3R5bGUobSxkLGYpO2MuZm9yRWFjaChyLm5vcm1hbGl6ZVRleHROb2Rlcyl9dmFyIGssZCxiLGYsbixwPW9kZi5PZGZVdGlscyxyPWNvcmUuRG9tVXRpbHM7dGhpcy5pbml0PWZ1bmN0aW9uKGcpe2s9Zy5tZW1iZXJpZDtkPWcudGltZXN0YW1wO2I9cGFyc2VJbnQoZy5wb3NpdGlvbiwxMCk7Zj1wYXJzZUludChnLmxlbmd0aCwxMCk7bj1nLnNldFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT0KZnVuY3Rpb24ocil7dmFyIGU9ci5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZShiLGYpLGw9cC5nZXRQYXJhZ3JhcGhFbGVtZW50cyhlKTtnKHIsZSxuKTtlLmRldGFjaCgpO3IuZ2V0T2RmQ2FudmFzKCkucmVmcmVzaENTUygpO3IuZml4Q3Vyc29yUG9zaXRpb25zKCk7bC5mb3JFYWNoKGZ1bmN0aW9uKGEpe3IuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCx7cGFyYWdyYXBoRWxlbWVudDphLG1lbWJlcklkOmssdGltZVN0YW1wOmR9KX0pO3IuZ2V0T2RmQ2FudmFzKCkucmVyZW5kZXJBbm5vdGF0aW9ucygpO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJBcHBseURpcmVjdFN0eWxpbmciLG1lbWJlcmlkOmssdGltZXN0YW1wOmQscG9zaXRpb246YixsZW5ndGg6ZixzZXRQcm9wZXJ0aWVzOm59fX07Cm9wcy5PcEFwcGx5SHlwZXJsaW5rPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiKXtmb3IoO2I7KXtpZihyLmlzSHlwZXJsaW5rKGIpKXJldHVybiEwO2I9Yi5wYXJlbnROb2RlfXJldHVybiExfXZhciBrLGQsYixmLG4scD1jb3JlLkRvbVV0aWxzLHI9b2RmLk9kZlV0aWxzO3RoaXMuaW5pdD1mdW5jdGlvbihnKXtrPWcubWVtYmVyaWQ7ZD1nLnRpbWVzdGFtcDtiPWcucG9zaXRpb247Zj1nLmxlbmd0aDtuPWcuaHlwZXJsaW5rfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24ocSl7dmFyIGU9cS5nZXRET01Eb2N1bWVudCgpLGw9cS5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZShiLGYpLGE9cC5zcGxpdEJvdW5kYXJpZXMobCksYz1bXSxtPXIuZ2V0VGV4dE5vZGVzKGwsITEpO2lmKDA9PT1tLmxlbmd0aClyZXR1cm4hMTttLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGI9ci5nZXRQYXJhZ3JhcGhFbGVtZW50KGEpO3J1bnRpbWUuYXNzZXJ0KCExPT09CmcoYSksIlRoZSBnaXZlbiByYW5nZSBzaG91bGQgbm90IGNvbnRhaW4gYW55IGxpbmsuIik7dmFyIGQ9bixtPWUuY3JlYXRlRWxlbWVudE5TKG9kZi5OYW1lc3BhY2VzLnRleHRucywidGV4dDphIik7bS5zZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy54bGlua25zLCJ4bGluazp0eXBlIiwic2ltcGxlIik7bS5zZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy54bGlua25zLCJ4bGluazpocmVmIixkKTthLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG0sYSk7bS5hcHBlbmRDaGlsZChhKTstMT09PWMuaW5kZXhPZihiKSYmYy5wdXNoKGIpfSk7YS5mb3JFYWNoKHAubm9ybWFsaXplVGV4dE5vZGVzKTtsLmRldGFjaCgpO3EuZml4Q3Vyc29yUG9zaXRpb25zKCk7cS5nZXRPZGZDYW52YXMoKS5yZWZyZXNoU2l6ZSgpO3EuZ2V0T2RmQ2FudmFzKCkucmVyZW5kZXJBbm5vdGF0aW9ucygpO2MuZm9yRWFjaChmdW5jdGlvbihhKXtxLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQsCntwYXJhZ3JhcGhFbGVtZW50OmEsbWVtYmVySWQ6ayx0aW1lU3RhbXA6ZH0pfSk7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IkFwcGx5SHlwZXJsaW5rIixtZW1iZXJpZDprLHRpbWVzdGFtcDpkLHBvc2l0aW9uOmIsbGVuZ3RoOmYsaHlwZXJsaW5rOm59fX07Cm9wcy5PcEluc2VydEltYWdlPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZixuLHAscixxPW9kZi5OYW1lc3BhY2VzLmRyYXducyxlPW9kZi5OYW1lc3BhY2VzLnN2Z25zLGw9b2RmLk5hbWVzcGFjZXMudGV4dG5zLGE9b2RmLk5hbWVzcGFjZXMueGxpbmtucyxjPW9kZi5PZGZVdGlsczt0aGlzLmluaXQ9ZnVuY3Rpb24oYSl7Zz1hLm1lbWJlcmlkO2s9YS50aW1lc3RhbXA7ZD1hLnBvc2l0aW9uO2I9YS5maWxlbmFtZTtmPWEuZnJhbWVXaWR0aDtuPWEuZnJhbWVIZWlnaHQ7cD1hLmZyYW1lU3R5bGVOYW1lO3I9YS5mcmFtZU5hbWV9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihtKXt2YXIgaD1tLmdldE9kZkNhbnZhcygpLHk9bS5nZXRUZXh0Tm9kZUF0U3RlcChkLGcpLHgsejtpZigheSlyZXR1cm4hMTt4PXkudGV4dE5vZGU7ej1jLmdldFBhcmFncmFwaEVsZW1lbnQoeCk7dmFyIHk9eS5vZmZzZXQhPT14Lmxlbmd0aD94LnNwbGl0VGV4dCh5Lm9mZnNldCk6CngubmV4dFNpYmxpbmcsdz1tLmdldERPTURvY3VtZW50KCksdj13LmNyZWF0ZUVsZW1lbnROUyhxLCJkcmF3OmltYWdlIiksdz13LmNyZWF0ZUVsZW1lbnROUyhxLCJkcmF3OmZyYW1lIik7di5zZXRBdHRyaWJ1dGVOUyhhLCJ4bGluazpocmVmIixiKTt2LnNldEF0dHJpYnV0ZU5TKGEsInhsaW5rOnR5cGUiLCJzaW1wbGUiKTt2LnNldEF0dHJpYnV0ZU5TKGEsInhsaW5rOnNob3ciLCJlbWJlZCIpO3Yuc2V0QXR0cmlidXRlTlMoYSwieGxpbms6YWN0dWF0ZSIsIm9uTG9hZCIpO3cuc2V0QXR0cmlidXRlTlMocSwiZHJhdzpzdHlsZS1uYW1lIixwKTt3LnNldEF0dHJpYnV0ZU5TKHEsImRyYXc6bmFtZSIscik7dy5zZXRBdHRyaWJ1dGVOUyhsLCJ0ZXh0OmFuY2hvci10eXBlIiwiYXMtY2hhciIpO3cuc2V0QXR0cmlidXRlTlMoZSwic3ZnOndpZHRoIixmKTt3LnNldEF0dHJpYnV0ZU5TKGUsInN2ZzpoZWlnaHQiLG4pO3cuYXBwZW5kQ2hpbGQodik7eC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh3LAp5KTttLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQse3Bvc2l0aW9uOmR9KTswPT09eC5sZW5ndGgmJngucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh4KTtoLmFkZENzc0ZvckZyYW1lV2l0aEltYWdlKHcpO2gucmVmcmVzaENTUygpO20uZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCx7cGFyYWdyYXBoRWxlbWVudDp6LG1lbWJlcklkOmcsdGltZVN0YW1wOmt9KTtoLnJlcmVuZGVyQW5ub3RhdGlvbnMoKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiSW5zZXJ0SW1hZ2UiLG1lbWJlcmlkOmcsdGltZXN0YW1wOmssZmlsZW5hbWU6Yixwb3NpdGlvbjpkLGZyYW1lV2lkdGg6ZixmcmFtZUhlaWdodDpuLGZyYW1lU3R5bGVOYW1lOnAsZnJhbWVOYW1lOnJ9fX07Cm9wcy5PcEluc2VydFRhYmxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhhLGMpe3ZhciBkO2lmKDE9PT1lLmxlbmd0aClkPWVbMF07ZWxzZSBpZigzPT09ZS5sZW5ndGgpc3dpdGNoKGEpe2Nhc2UgMDpkPWVbMF07YnJlYWs7Y2FzZSBiLTE6ZD1lWzJdO2JyZWFrO2RlZmF1bHQ6ZD1lWzFdfWVsc2UgZD1lW2FdO2lmKDE9PT1kLmxlbmd0aClyZXR1cm4gZFswXTtpZigzPT09ZC5sZW5ndGgpc3dpdGNoKGMpe2Nhc2UgMDpyZXR1cm4gZFswXTtjYXNlIGYtMTpyZXR1cm4gZFsyXTtkZWZhdWx0OnJldHVybiBkWzFdfXJldHVybiBkW2NdfXZhciBrLGQsYixmLG4scCxyLHEsZSxsPW9kZi5PZGZVdGlsczt0aGlzLmluaXQ9ZnVuY3Rpb24oYSl7az1hLm1lbWJlcmlkO2Q9YS50aW1lc3RhbXA7bj1hLnBvc2l0aW9uO2I9YS5pbml0aWFsUm93cztmPWEuaW5pdGlhbENvbHVtbnM7cD1hLnRhYmxlTmFtZTtyPWEudGFibGVTdHlsZU5hbWU7cT1hLnRhYmxlQ29sdW1uU3R5bGVOYW1lO2U9YS50YWJsZUNlbGxTdHlsZU1hdHJpeH07CnRoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihhKXt2YXIgYz1hLmdldFRleHROb2RlQXRTdGVwKG4pLGU9YS5nZXRSb290Tm9kZSgpO2lmKGMpe3ZhciBoPWEuZ2V0RE9NRG9jdW1lbnQoKSx5PWguY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRhYmxlOjEuMCIsInRhYmxlOnRhYmxlIikseD1oLmNyZWF0ZUVsZW1lbnROUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiLCJ0YWJsZTp0YWJsZS1jb2x1bW4iKSx6LHcsdix1O3ImJnkuc2V0QXR0cmlidXRlTlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIiwidGFibGU6c3R5bGUtbmFtZSIscik7cCYmeS5zZXRBdHRyaWJ1dGVOUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiLCJ0YWJsZTpuYW1lIixwKTt4LnNldEF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRhYmxlOjEuMCIsCiJ0YWJsZTpudW1iZXItY29sdW1ucy1yZXBlYXRlZCIsZik7cSYmeC5zZXRBdHRyaWJ1dGVOUygidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiLCJ0YWJsZTpzdHlsZS1uYW1lIixxKTt5LmFwcGVuZENoaWxkKHgpO2Zvcih2PTA7djxiO3YrPTEpe3g9aC5jcmVhdGVFbGVtZW50TlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIiwidGFibGU6dGFibGUtcm93Iik7Zm9yKHU9MDt1PGY7dSs9MSl6PWguY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRhYmxlOjEuMCIsInRhYmxlOnRhYmxlLWNlbGwiKSwodz1nKHYsdSkpJiZ6LnNldEF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRhYmxlOjEuMCIsInRhYmxlOnN0eWxlLW5hbWUiLHcpLHc9aC5jcmVhdGVFbGVtZW50TlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjAiLAoidGV4dDpwIiksei5hcHBlbmRDaGlsZCh3KSx4LmFwcGVuZENoaWxkKHopO3kuYXBwZW5kQ2hpbGQoeCl9Yz1sLmdldFBhcmFncmFwaEVsZW1lbnQoYy50ZXh0Tm9kZSk7ZS5pbnNlcnRCZWZvcmUoeSxjLm5leHRTaWJsaW5nKTthLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQse3Bvc2l0aW9uOm59KTthLmdldE9kZkNhbnZhcygpLnJlZnJlc2hTaXplKCk7YS5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxUYWJsZUFkZGVkLHt0YWJsZUVsZW1lbnQ6eSxtZW1iZXJJZDprLHRpbWVTdGFtcDpkfSk7YS5nZXRPZGZDYW52YXMoKS5yZXJlbmRlckFubm90YXRpb25zKCk7cmV0dXJuITB9cmV0dXJuITF9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6Ikluc2VydFRhYmxlIixtZW1iZXJpZDprLHRpbWVzdGFtcDpkLHBvc2l0aW9uOm4saW5pdGlhbFJvd3M6Yixpbml0aWFsQ29sdW1uczpmLHRhYmxlTmFtZTpwLHRhYmxlU3R5bGVOYW1lOnIsdGFibGVDb2x1bW5TdHlsZU5hbWU6cSwKdGFibGVDZWxsU3R5bGVNYXRyaXg6ZX19fTsKb3BzLk9wSW5zZXJ0VGV4dD1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYil7cmV0dXJuIlx0IiE9PWImJnAuaXNPREZXaGl0ZXNwYWNlKGIpfXZhciBrLGQsYixmLG4scD1vZGYuT2RmVXRpbHM7dGhpcy5pbml0PWZ1bmN0aW9uKGcpe2s9Zy5tZW1iZXJpZDtkPWcudGltZXN0YW1wO2I9Zy5wb3NpdGlvbjtuPWcudGV4dDtmPSJ0cnVlIj09PWcubW92ZUN1cnNvcnx8ITA9PT1nLm1vdmVDdXJzb3J9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihyKXt2YXIgcSxlLGwsYT1udWxsLGM9ci5nZXRET01Eb2N1bWVudCgpLG0saD0wLHkseD1yLmdldEN1cnNvcihrKSx6O3IudXBncmFkZVdoaXRlc3BhY2VzQXRQb3NpdGlvbihiKTtpZihxPXIuZ2V0VGV4dE5vZGVBdFN0ZXAoYikpe2U9cS50ZXh0Tm9kZTthPWUubmV4dFNpYmxpbmc7bD1lLnBhcmVudE5vZGU7bT1wLmdldFBhcmFncmFwaEVsZW1lbnQoZSk7Zm9yKHo9MDt6PG4ubGVuZ3RoO3orPQoxKXtpZighKHk9Ilx0Ij09PW5bel0pKXt5PW47dmFyIHc9ejt5PWcoeVt3XSkmJigwPT09d3x8dz09PXkubGVuZ3RoLTF8fGcoeVt3LTFdKSl9eSYmKDA9PT1oPyhxLm9mZnNldCE9PWUubGVuZ3RoJiYoYT1lLnNwbGl0VGV4dChxLm9mZnNldCkpLDA8eiYmZS5hcHBlbmREYXRhKG4uc3Vic3RyaW5nKDAseikpKTpoPHomJihoPW4uc3Vic3RyaW5nKGgseiksbC5pbnNlcnRCZWZvcmUoYy5jcmVhdGVUZXh0Tm9kZShoKSxhKSksaD16KzEsIlx0Ij09PW5bel0/KHk9Yy5jcmVhdGVFbGVtZW50TlMoInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjAiLCJ0ZXh0OnRhYiIpLHkuYXBwZW5kQ2hpbGQoYy5jcmVhdGVUZXh0Tm9kZSgiXHQiKSkpOigiICIhPT1uW3pdJiZydW50aW1lLmxvZygiV0FSTjogSW5zZXJ0VGV4dCBvcGVyYXRpb24gY29udGFpbnMgbm9uLXRhYiwgbm9uLXNwYWNlIHdoaXRlc3BhY2UgY2hhcmFjdGVyIChjaGFyYWN0ZXIgY29kZSAiK24uY2hhckNvZGVBdCh6KSsKIikiKSx5PWMuY3JlYXRlRWxlbWVudE5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiwidGV4dDpzIikseS5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKCIgIikpKSxsLmluc2VydEJlZm9yZSh5LGEpKX0wPT09aD9lLmluc2VydERhdGEocS5vZmZzZXQsbik6aDxuLmxlbmd0aCYmKHE9bi5zdWJzdHJpbmcoaCksbC5pbnNlcnRCZWZvcmUoYy5jcmVhdGVUZXh0Tm9kZShxKSxhKSk7bD1lLnBhcmVudE5vZGU7YT1lLm5leHRTaWJsaW5nO2wucmVtb3ZlQ2hpbGQoZSk7bC5pbnNlcnRCZWZvcmUoZSxhKTswPT09ZS5sZW5ndGgmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTtyLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzSW5zZXJ0ZWQse3Bvc2l0aW9uOmJ9KTt4JiZmJiYoci5tb3ZlQ3Vyc29yKGssYituLmxlbmd0aCwwKSxyLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLHgpKTtyLmRvd25ncmFkZVdoaXRlc3BhY2VzQXRQb3NpdGlvbihiKTsKci5kb3duZ3JhZGVXaGl0ZXNwYWNlc0F0UG9zaXRpb24oYituLmxlbmd0aCk7ci5nZXRPZGZDYW52YXMoKS5yZWZyZXNoU2l6ZSgpO3IuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCx7cGFyYWdyYXBoRWxlbWVudDptLG1lbWJlcklkOmssdGltZVN0YW1wOmR9KTtyLmdldE9kZkNhbnZhcygpLnJlcmVuZGVyQW5ub3RhdGlvbnMoKTtyZXR1cm4hMH1yZXR1cm4hMX07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiSW5zZXJ0VGV4dCIsbWVtYmVyaWQ6ayx0aW1lc3RhbXA6ZCxwb3NpdGlvbjpiLHRleHQ6bixtb3ZlQ3Vyc29yOmZ9fX07Cm9kZi5Db2xsYXBzaW5nUnVsZXM9ZnVuY3Rpb24oZyl7ZnVuY3Rpb24gayhkKXtyZXR1cm4gYi5pc09ERk5vZGUoZCl8fCJiciI9PT1kLmxvY2FsTmFtZSYmYi5pc0xpbmVCcmVhayhkLnBhcmVudE5vZGUpfHxkLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJmIuaXNPREZOb2RlKGQucGFyZW50Tm9kZSk/Tm9kZUZpbHRlci5GSUxURVJfUkVKRUNUOk5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVH1mdW5jdGlvbiBkKG4pe3ZhciBwO24ubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT8ocD1uLnBhcmVudE5vZGUscC5yZW1vdmVDaGlsZChuKSk6cD1mLnJlbW92ZVVud2FudGVkTm9kZXMobixrKTtpZihuPXApbj1wLG49IWIuaXNQYXJhZ3JhcGgobikmJm4hPT1nJiZiLmhhc05vT0RGQ29udGVudChuKTtyZXR1cm4gbj9kKHApOnB9dmFyIGI9b2RmLk9kZlV0aWxzLGY9Y29yZS5Eb21VdGlsczt0aGlzLm1lcmdlQ2hpbGRyZW5JbnRvUGFyZW50PWR9OwpvcHMuT3BNZXJnZVBhcmFncmFwaD1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYSl7cmV0dXJuIG9kZi5PZGZVdGlscy5pc0lubGluZVJvb3QoYSk/Tm9kZUZpbHRlci5GSUxURVJfU0tJUDpsLmlzR3JvdXBpbmdFbGVtZW50KGEpJiZsLmhhc05vT0RGQ29udGVudChhKT9Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q6Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUfWZ1bmN0aW9uIGsoYSl7aWYoYS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXtpZigwPT09YS5sZW5ndGgpcmV0dXJuIHJ1bnRpbWUubG9nKCJXQVJOOiBFbXB0eSB0ZXh0IG5vZGUgZm91bmQgZHVyaW5nIG1lcmdlIG9wZXJhdGlvbiIpLCEwO2lmKGwuaXNPREZXaGl0ZXNwYWNlKGEuZGF0YSkmJiExPT09bC5pc1NpZ25pZmljYW50V2hpdGVzcGFjZShhLDApKXJldHVybiEwO2E9IiN0ZXh0In1lbHNlIGE9KGEucHJlZml4P2EucHJlZml4KyI6IjoiIikrYS5sb2NhbE5hbWU7cnVudGltZS5sb2coIldBUk46IFVuZXhwZWN0ZWQgdGV4dCBlbGVtZW50IGZvdW5kIG5lYXIgcGFyYWdyYXBoIGJvdW5kYXJ5IFsiKwphKyJdIik7cmV0dXJuITF9ZnVuY3Rpb24gZChjKXtjLmNvbGxhcHNlZHx8KGEuc3BsaXRCb3VuZGFyaWVzKGMpLGM9bC5nZXRUZXh0RWxlbWVudHMoYywhMSwhMCkuZmlsdGVyKGspLGMuZm9yRWFjaChmdW5jdGlvbihhKXthLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSl9KSl9ZnVuY3Rpb24gYihhLGMsYil7YT1hLmNvbnZlcnRDdXJzb3JTdGVwVG9Eb21Qb2ludChjKTt2YXIgZD1sLmdldFBhcmFncmFwaEVsZW1lbnQoYS5ub2RlLGEub2Zmc2V0KTtydW50aW1lLmFzc2VydChCb29sZWFuKGQpLCJQYXJhZ3JhcGggbm90IGZvdW5kIGF0IHN0ZXAgIitjKTtiJiZiLnNldFBvc2l0aW9uKGEubm9kZSxhLm9mZnNldCk7cmV0dXJuIGR9dmFyIGYsbixwLHIscSxlLGw9b2RmLk9kZlV0aWxzLGE9Y29yZS5Eb21VdGlscyxjPW9kZi5OYW1lc3BhY2VzLnRleHRuczt0aGlzLmluaXQ9ZnVuY3Rpb24oYSl7Zj1hLm1lbWJlcmlkO249YS50aW1lc3RhbXA7cD1hLm1vdmVDdXJzb3I7cj1hLnBhcmFncmFwaFN0eWxlTmFtZTsKcT1wYXJzZUludChhLnNvdXJjZVN0YXJ0UG9zaXRpb24sMTApO2U9cGFyc2VJbnQoYS5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24sMTApfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24obSl7dmFyIGgsbCxrPW0uZ2V0Q3Vyc29yKGYpO2g9bS5nZXRSb290Tm9kZSgpO3ZhciB6PW5ldyBvZGYuQ29sbGFwc2luZ1J1bGVzKGgpLHc9bS5jcmVhdGVTdGVwSXRlcmF0b3IoaCwwLFttLmdldFBvc2l0aW9uRmlsdGVyKCldLGgpLHY7cnVudGltZS5hc3NlcnQoZTxxLCJEZXN0aW5hdGlvbiBwYXJhZ3JhcGggKCIrZSsiKSBtdXN0IGJlIGJlZm9yZSBzb3VyY2UgcGFyYWdyYXBoICgiK3ErIikiKTtsPWIobSxlKTtoPWIobSxxLHcpO3cucHJldmlvdXNTdGVwKCk7cnVudGltZS5hc3NlcnQoYS5jb250YWluc05vZGUobCx3LmNvbnRhaW5lcigpKSwiRGVzdGluYXRpb24gcGFyYWdyYXBoIG11c3QgYmUgYWRqYWNlbnQgdG8gdGhlIHNvdXJjZSBwYXJhZ3JhcGgiKTsKdj1sLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt3LnNldFBvc2l0aW9uKGwsbC5jaGlsZE5vZGVzLmxlbmd0aCk7dy5yb3VuZFRvUHJldmlvdXNTdGVwKCk7di5zZXRTdGFydCh3LmNvbnRhaW5lcigpLHcub2Zmc2V0KCkpO3Yuc2V0RW5kKGwsbC5jaGlsZE5vZGVzLmxlbmd0aCk7ZCh2KTt2PWwuY2hpbGROb2Rlcy5sZW5ndGg7dmFyIHU9aC5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7dy5zZXRQb3NpdGlvbihoLDApO3cucm91bmRUb05leHRTdGVwKCk7dS5zZXRTdGFydChoLDApO3Uuc2V0RW5kKHcuY29udGFpbmVyKCksdy5vZmZzZXQoKSk7ZCh1KTtmb3IodT1oLmZpcnN0Q2hpbGQ7dTspImVkaXRpbmZvIj09PXUubG9jYWxOYW1lP2gucmVtb3ZlQ2hpbGQodSk6KGwuYXBwZW5kQ2hpbGQodSksYS5yZW1vdmVVbndhbnRlZE5vZGVzKHUsZykpLHU9aC5maXJzdENoaWxkO3J1bnRpbWUuYXNzZXJ0KDA9PT1oLmNoaWxkTm9kZXMubGVuZ3RoLCJTb3VyY2UgcGFyYWdyYXBoIHNob3VsZCBiZSBlbXB0eSBiZWZvcmUgaXQgaXMgcmVtb3ZlZCIpOwp6Lm1lcmdlQ2hpbGRyZW5JbnRvUGFyZW50KGgpO20uZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsU3RlcHNSZW1vdmVkLHtwb3NpdGlvbjpxLTF9KTt3LnNldFBvc2l0aW9uKGwsdik7dy5yb3VuZFRvQ2xvc2VzdFN0ZXAoKTt3LnByZXZpb3VzU3RlcCgpfHx3LnJvdW5kVG9OZXh0U3RlcCgpO20uZG93bmdyYWRlV2hpdGVzcGFjZXModyk7cj9sLnNldEF0dHJpYnV0ZU5TKGMsInRleHQ6c3R5bGUtbmFtZSIscik6bC5yZW1vdmVBdHRyaWJ1dGVOUyhjLCJzdHlsZS1uYW1lIik7ayYmcCYmKG0ubW92ZUN1cnNvcihmLHEtMSwwKSxtLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLGspKTttLmZpeEN1cnNvclBvc2l0aW9ucygpO20uZ2V0T2RmQ2FudmFzKCkucmVmcmVzaFNpemUoKTttLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQse3BhcmFncmFwaEVsZW1lbnQ6bCxtZW1iZXJJZDpmLHRpbWVTdGFtcDpufSk7bS5nZXRPZGZDYW52YXMoKS5yZXJlbmRlckFubm90YXRpb25zKCk7CnJldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJNZXJnZVBhcmFncmFwaCIsbWVtYmVyaWQ6Zix0aW1lc3RhbXA6bixtb3ZlQ3Vyc29yOnAscGFyYWdyYXBoU3R5bGVOYW1lOnIsc291cmNlU3RhcnRQb3NpdGlvbjpxLGRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbjplfX19OwpvcHMuT3BNb3ZlQ3Vyc29yPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZjt0aGlzLmluaXQ9ZnVuY3Rpb24obil7Zz1uLm1lbWJlcmlkO2s9bi50aW1lc3RhbXA7ZD1uLnBvc2l0aW9uO2I9bi5sZW5ndGh8fDA7Zj1uLnNlbGVjdGlvblR5cGV8fG9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb259O3RoaXMuaXNFZGl0PSExO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihuKXt2YXIgaz1uLmdldEN1cnNvcihnKSxyO2lmKCFrKXJldHVybiExO3I9bi5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZShkLGIpO2suc2V0U2VsZWN0ZWRSYW5nZShyLDA8PWIpO2suc2V0U2VsZWN0aW9uVHlwZShmKTtuLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLGspO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJNb3ZlQ3Vyc29yIixtZW1iZXJpZDpnLHRpbWVzdGFtcDprLHBvc2l0aW9uOmQsbGVuZ3RoOmIsc2VsZWN0aW9uVHlwZTpmfX19OwpvcHMuT3BSZW1vdmVBbm5vdGF0aW9uPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZj1jb3JlLkRvbVV0aWxzO3RoaXMuaW5pdD1mdW5jdGlvbihmKXtnPWYubWVtYmVyaWQ7az1mLnRpbWVzdGFtcDtkPXBhcnNlSW50KGYucG9zaXRpb24sMTApO2I9cGFyc2VJbnQoZi5sZW5ndGgsMTApfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZyhiKXtxLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIscSl9Zm9yKHZhciBrPWIuZ2V0SXRlcmF0b3JBdFBvc2l0aW9uKGQpLmNvbnRhaW5lcigpLHE7ay5uYW1lc3BhY2VVUkkhPT1vZGYuTmFtZXNwYWNlcy5vZmZpY2Vuc3x8ImFubm90YXRpb24iIT09ay5sb2NhbE5hbWU7KWs9ay5wYXJlbnROb2RlO2lmKG51bGw9PT1rKXJldHVybiExO3E9aztrPXEuYW5ub3RhdGlvbkVuZEVsZW1lbnQ7Yi5nZXRPZGZDYW52YXMoKS5mb3JnZXRBbm5vdGF0aW9uKHEpO2YuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhxLAoidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLCJjdXJzb3IiKS5mb3JFYWNoKGcpO2YuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhxLCJ1cm46d2Vib2RmOm5hbWVzOmN1cnNvciIsImFuY2hvciIpLmZvckVhY2goZyk7cS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHEpO2smJmsucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChrKTtiLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFN0ZXBzUmVtb3ZlZCx7cG9zaXRpb246MDxkP2QtMTpkfSk7Yi5nZXRPZGZDYW52YXMoKS5yZXJlbmRlckFubm90YXRpb25zKCk7Yi5maXhDdXJzb3JQb3NpdGlvbnMoKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiUmVtb3ZlQW5ub3RhdGlvbiIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxwb3NpdGlvbjpkLGxlbmd0aDpifX19OwpvcHMuT3BSZW1vdmVCbG9iPWZ1bmN0aW9uKCl7dmFyIGcsayxkO3RoaXMuaW5pdD1mdW5jdGlvbihiKXtnPWIubWVtYmVyaWQ7az1iLnRpbWVzdGFtcDtkPWIuZmlsZW5hbWV9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihiKXtiLmdldE9kZkNhbnZhcygpLm9kZkNvbnRhaW5lcigpLnJlbW92ZUJsb2IoZCk7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlJlbW92ZUJsb2IiLG1lbWJlcmlkOmcsdGltZXN0YW1wOmssZmlsZW5hbWU6ZH19fTsKb3BzLk9wUmVtb3ZlQ3Vyc29yPWZ1bmN0aW9uKCl7dmFyIGcsazt0aGlzLmluaXQ9ZnVuY3Rpb24oZCl7Zz1kLm1lbWJlcmlkO2s9ZC50aW1lc3RhbXB9O3RoaXMuaXNFZGl0PSExO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihkKXtyZXR1cm4gZC5yZW1vdmVDdXJzb3IoZyk/ITA6ITF9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlJlbW92ZUN1cnNvciIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6a319fTsKb3BzLk9wUmVtb3ZlSHlwZXJsaW5rPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZj1jb3JlLkRvbVV0aWxzLG49b2RmLk9kZlV0aWxzO3RoaXMuaW5pdD1mdW5jdGlvbihmKXtnPWYubWVtYmVyaWQ7az1mLnRpbWVzdGFtcDtkPWYucG9zaXRpb247Yj1mLmxlbmd0aH07dGhpcy5pc0VkaXQ9ITA7dGhpcy5ncm91cD12b2lkIDA7dGhpcy5leGVjdXRlPWZ1bmN0aW9uKHApe3ZhciByPXAuY29udmVydEN1cnNvclRvRG9tUmFuZ2UoZCxiKSxxPW4uZ2V0SHlwZXJsaW5rRWxlbWVudHMocik7cnVudGltZS5hc3NlcnQoMT09PXEubGVuZ3RoLCJUaGUgZ2l2ZW4gcmFuZ2Ugc2hvdWxkIG9ubHkgY29udGFpbiBhIHNpbmdsZSBsaW5rLiIpO3E9Zi5tZXJnZUludG9QYXJlbnQocVswXSk7ci5kZXRhY2goKTtwLmZpeEN1cnNvclBvc2l0aW9ucygpO3AuZ2V0T2RmQ2FudmFzKCkucmVmcmVzaFNpemUoKTtwLmdldE9kZkNhbnZhcygpLnJlcmVuZGVyQW5ub3RhdGlvbnMoKTtwLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQsCntwYXJhZ3JhcGhFbGVtZW50Om4uZ2V0UGFyYWdyYXBoRWxlbWVudChxKSxtZW1iZXJJZDpnLHRpbWVTdGFtcDprfSk7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlJlbW92ZUh5cGVybGluayIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxwb3NpdGlvbjpkLGxlbmd0aDpifX19O29wcy5PcFJlbW92ZU1lbWJlcj1mdW5jdGlvbigpe3ZhciBnLGs7dGhpcy5pbml0PWZ1bmN0aW9uKGQpe2c9ZC5tZW1iZXJpZDtrPXBhcnNlSW50KGQudGltZXN0YW1wLDEwKX07dGhpcy5pc0VkaXQ9ITE7dGhpcy5ncm91cD12b2lkIDA7dGhpcy5leGVjdXRlPWZ1bmN0aW9uKGQpe2lmKCFkLmdldE1lbWJlcihnKSlyZXR1cm4hMTtkLnJlbW92ZU1lbWJlcihnKTtkLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlclJlbW92ZWQsZyk7cmV0dXJuITB9O3RoaXMuc3BlYz1mdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlJlbW92ZU1lbWJlciIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6a319fTsKb3BzLk9wUmVtb3ZlU3R5bGU9ZnVuY3Rpb24oKXt2YXIgZyxrLGQsYjt0aGlzLmluaXQ9ZnVuY3Rpb24oZil7Zz1mLm1lbWJlcmlkO2s9Zi50aW1lc3RhbXA7ZD1mLnN0eWxlTmFtZTtiPWYuc3R5bGVGYW1pbHl9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihmKXt2YXIgZz1mLmdldEZvcm1hdHRpbmcoKS5nZXRTdHlsZUVsZW1lbnQoZCxiKTtpZighZylyZXR1cm4hMTtnLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZyk7Zi5nZXRPZGZDYW52YXMoKS5yZWZyZXNoQ1NTKCk7Zi5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxDb21tb25TdHlsZURlbGV0ZWQse25hbWU6ZCxmYW1pbHk6Yn0pO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJSZW1vdmVTdHlsZSIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxzdHlsZU5hbWU6ZCxzdHlsZUZhbWlseTpifX19OwpvcHMuT3BSZW1vdmVUZXh0PWZ1bmN0aW9uKCl7dmFyIGcsayxkLGIsZj1vZGYuT2RmVXRpbHMsbj1jb3JlLkRvbVV0aWxzO3RoaXMuaW5pdD1mdW5jdGlvbihmKXtydW50aW1lLmFzc2VydCgwPD1mLmxlbmd0aCwiT3BSZW1vdmVUZXh0IG9ubHkgc3VwcG9ydHMgcG9zaXRpdmUgbGVuZ3RocyIpO2c9Zi5tZW1iZXJpZDtrPWYudGltZXN0YW1wO2Q9cGFyc2VJbnQoZi5wb3NpdGlvbiwxMCk7Yj1wYXJzZUludChmLmxlbmd0aCwxMCl9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihwKXt2YXIgcixxLGUsbD1wLmdldEN1cnNvcihnKSxhPW5ldyBvZGYuQ29sbGFwc2luZ1J1bGVzKHAuZ2V0Um9vdE5vZGUoKSk7cC51cGdyYWRlV2hpdGVzcGFjZXNBdFBvc2l0aW9uKGQpO3AudXBncmFkZVdoaXRlc3BhY2VzQXRQb3NpdGlvbihkK2IpO3I9cC5jb252ZXJ0Q3Vyc29yVG9Eb21SYW5nZShkLGIpO24uc3BsaXRCb3VuZGFyaWVzKHIpO3E9Zi5nZXRUZXh0RWxlbWVudHMociwKITEsITApO2U9Zi5nZXRQYXJhZ3JhcGhFbGVtZW50KHIuc3RhcnRDb250YWluZXIsci5zdGFydE9mZnNldCk7cnVudGltZS5hc3NlcnQodm9pZCAwIT09ZSwiQXR0ZW1wdGluZyB0byByZW1vdmUgdGV4dCBvdXRzaWRlIGEgcGFyYWdyYXBoIGVsZW1lbnQiKTtyLmRldGFjaCgpO3EuZm9yRWFjaChmdW5jdGlvbihjKXtjLnBhcmVudE5vZGU/KHJ1bnRpbWUuYXNzZXJ0KG4uY29udGFpbnNOb2RlKGUsYyksIlJlbW92ZVRleHQgb25seSBzdXBwb3J0cyByZW1vdmluZyBlbGVtZW50cyB3aXRoaW4gdGhlIHNhbWUgcGFyYWdyYXBoIiksYS5tZXJnZUNoaWxkcmVuSW50b1BhcmVudChjKSk6cnVudGltZS5sb2coIldBUk46IHRleHQgZWxlbWVudCBoYXMgYWxyZWFkeSBiZWVuIHJlbW92ZWQgZnJvbSBpdCdzIGNvbnRhaW5lciIpfSk7cC5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxTdGVwc1JlbW92ZWQse3Bvc2l0aW9uOmR9KTtwLmRvd25ncmFkZVdoaXRlc3BhY2VzQXRQb3NpdGlvbihkKTsKcC5maXhDdXJzb3JQb3NpdGlvbnMoKTtwLmdldE9kZkNhbnZhcygpLnJlZnJlc2hTaXplKCk7cC5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhDaGFuZ2VkLHtwYXJhZ3JhcGhFbGVtZW50OmUsbWVtYmVySWQ6Zyx0aW1lU3RhbXA6a30pO2wmJihsLnJlc2V0U2VsZWN0aW9uVHlwZSgpLHAuZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsbCkpO3AuZ2V0T2RmQ2FudmFzKCkucmVyZW5kZXJBbm5vdGF0aW9ucygpO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJSZW1vdmVUZXh0IixtZW1iZXJpZDpnLHRpbWVzdGFtcDprLHBvc2l0aW9uOmQsbGVuZ3RoOmJ9fX07Cm9wcy5PcFNldEJsb2I9ZnVuY3Rpb24oKXt2YXIgZyxrLGQsYixmO3RoaXMuaW5pdD1mdW5jdGlvbihuKXtnPW4ubWVtYmVyaWQ7az1uLnRpbWVzdGFtcDtkPW4uZmlsZW5hbWU7Yj1uLm1pbWV0eXBlO2Y9bi5jb250ZW50fTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24oZyl7Zy5nZXRPZGZDYW52YXMoKS5vZGZDb250YWluZXIoKS5zZXRCbG9iKGQsYixmKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiU2V0QmxvYiIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxmaWxlbmFtZTpkLG1pbWV0eXBlOmIsY29udGVudDpmfX19OwpvcHMuT3BTZXRQYXJhZ3JhcGhTdHlsZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYixkLGYpe3ZhciBlPVtiLmdldFBvc2l0aW9uRmlsdGVyKCldLGc9Zi5jb250YWluZXIoKTtmPWYudW5maWx0ZXJlZERvbU9mZnNldCgpO3JldHVybiExPT09Yi5jcmVhdGVTdGVwSXRlcmF0b3IoZyxmLGUsZCkucHJldmlvdXNTdGVwKCl9dmFyIGssZCxiLGYsbj1vZGYuT2RmVXRpbHM7dGhpcy5pbml0PWZ1bmN0aW9uKGcpe2s9Zy5tZW1iZXJpZDtkPWcudGltZXN0YW1wO2I9Zy5wb3NpdGlvbjtmPWcuc3R5bGVOYW1lfTt0aGlzLmlzRWRpdD0hMDt0aGlzLmdyb3VwPXZvaWQgMDt0aGlzLmV4ZWN1dGU9ZnVuY3Rpb24ocCl7dmFyIHIscTtyPXAuZ2V0SXRlcmF0b3JBdFBvc2l0aW9uKGIpO3JldHVybihxPW4uZ2V0UGFyYWdyYXBoRWxlbWVudChyLmNvbnRhaW5lcigpKSk/KHJ1bnRpbWUuYXNzZXJ0KGcocCxxLHIpLCJTZXRQYXJhZ3JhcGhTdHlsZSBwb3NpdGlvbiBzaG91bGQgYmUgdGhlIGZpcnN0IHBvc2l0aW9uIGluIHRoZSBwYXJhZ3JhcGgiKSwKZj9xLnNldEF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiwidGV4dDpzdHlsZS1uYW1lIixmKTpxLnJlbW92ZUF0dHJpYnV0ZU5TKCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiwic3R5bGUtbmFtZSIpLHAuZ2V0T2RmQ2FudmFzKCkucmVmcmVzaFNpemUoKSxwLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQse3BhcmFncmFwaEVsZW1lbnQ6cSx0aW1lU3RhbXA6ZCxtZW1iZXJJZDprfSkscC5nZXRPZGZDYW52YXMoKS5yZXJlbmRlckFubm90YXRpb25zKCksITApOiExfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJTZXRQYXJhZ3JhcGhTdHlsZSIsbWVtYmVyaWQ6ayx0aW1lc3RhbXA6ZCxwb3NpdGlvbjpiLHN0eWxlTmFtZTpmfX19OwpvcHMuT3BTcGxpdFBhcmFncmFwaD1mdW5jdGlvbigpe3ZhciBnLGssZCxiLGYsbixwPW9kZi5PZGZVdGlscyxyPW9kZi5OYW1lc3BhY2VzLnRleHRuczt0aGlzLmluaXQ9ZnVuY3Rpb24ocCl7Zz1wLm1lbWJlcmlkO2s9cC50aW1lc3RhbXA7Yj1wLnBvc2l0aW9uO2Q9cC5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbjtuPXAucGFyYWdyYXBoU3R5bGVOYW1lO2Y9InRydWUiPT09cC5tb3ZlQ3Vyc29yfHwhMD09PXAubW92ZUN1cnNvcn07dGhpcy5pc0VkaXQ9ITA7dGhpcy5ncm91cD12b2lkIDA7dGhpcy5leGVjdXRlPWZ1bmN0aW9uKGQpe3ZhciBlLGwsYSxjLG0saCx5LHg9ZC5nZXRDdXJzb3IoZyk7ZC51cGdyYWRlV2hpdGVzcGFjZXNBdFBvc2l0aW9uKGIpO2U9ZC5nZXRUZXh0Tm9kZUF0U3RlcChiKTtpZighZSlyZXR1cm4hMTtsPXAuZ2V0UGFyYWdyYXBoRWxlbWVudChlLnRleHROb2RlKTtpZighbClyZXR1cm4hMTthPXAuaXNMaXN0SXRlbShsLnBhcmVudE5vZGUpP2wucGFyZW50Tm9kZToKbDswPT09ZS5vZmZzZXQ/KHk9ZS50ZXh0Tm9kZS5wcmV2aW91c1NpYmxpbmcsaD1udWxsKTooeT1lLnRleHROb2RlLGg9ZS5vZmZzZXQ+PWUudGV4dE5vZGUubGVuZ3RoP251bGw6ZS50ZXh0Tm9kZS5zcGxpdFRleHQoZS5vZmZzZXQpKTtmb3IoYz1lLnRleHROb2RlO2MhPT1hOyl7Yz1jLnBhcmVudE5vZGU7bT1jLmNsb25lTm9kZSghMSk7aCYmbS5hcHBlbmRDaGlsZChoKTtpZih5KWZvcig7eSYmeS5uZXh0U2libGluZzspbS5hcHBlbmRDaGlsZCh5Lm5leHRTaWJsaW5nKTtlbHNlIGZvcig7Yy5maXJzdENoaWxkOyltLmFwcGVuZENoaWxkKGMuZmlyc3RDaGlsZCk7Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShtLGMubmV4dFNpYmxpbmcpO3k9YztoPW19cC5pc0xpc3RJdGVtKGgpJiYoaD1oLmNoaWxkTm9kZXMuaXRlbSgwKSk7bj9oLnNldEF0dHJpYnV0ZU5TKHIsInRleHQ6c3R5bGUtbmFtZSIsbik6aC5yZW1vdmVBdHRyaWJ1dGVOUyhyLCJzdHlsZS1uYW1lIik7MD09PWUudGV4dE5vZGUubGVuZ3RoJiYKZS50ZXh0Tm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUudGV4dE5vZGUpO2QuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsU3RlcHNJbnNlcnRlZCx7cG9zaXRpb246Yn0pO3gmJmYmJihkLm1vdmVDdXJzb3IoZyxiKzEsMCksZC5lbWl0KG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCx4KSk7ZC5maXhDdXJzb3JQb3NpdGlvbnMoKTtkLmdldE9kZkNhbnZhcygpLnJlZnJlc2hTaXplKCk7ZC5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhDaGFuZ2VkLHtwYXJhZ3JhcGhFbGVtZW50OmwsbWVtYmVySWQ6Zyx0aW1lU3RhbXA6a30pO2QuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCx7cGFyYWdyYXBoRWxlbWVudDpoLG1lbWJlcklkOmcsdGltZVN0YW1wOmt9KTtkLmdldE9kZkNhbnZhcygpLnJlcmVuZGVyQW5ub3RhdGlvbnMoKTtyZXR1cm4hMH07dGhpcy5zcGVjPWZ1bmN0aW9uKCl7cmV0dXJue29wdHlwZToiU3BsaXRQYXJhZ3JhcGgiLAptZW1iZXJpZDpnLHRpbWVzdGFtcDprLHBvc2l0aW9uOmIsc291cmNlUGFyYWdyYXBoUG9zaXRpb246ZCxwYXJhZ3JhcGhTdHlsZU5hbWU6bixtb3ZlQ3Vyc29yOmZ9fX07Cm9wcy5PcFVwZGF0ZU1lbWJlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoZCl7dmFyIGY9Ii8vZGM6Y3JlYXRvcltAZWRpdGluZm86bWVtYmVyaWQ9JyIraysiJ10iO2Q9eG1sZG9tLlhQYXRoLmdldE9ERkVsZW1lbnRzV2l0aFhQYXRoKGQuZ2V0Um9vdE5vZGUoKSxmLGZ1bmN0aW9uKGIpe3JldHVybiJlZGl0aW5mbyI9PT1iPyJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIjpvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkoYil9KTtmb3IoZj0wO2Y8ZC5sZW5ndGg7Zis9MSlkW2ZdLnRleHRDb250ZW50PWIuZnVsbE5hbWV9dmFyIGssZCxiLGY7dGhpcy5pbml0PWZ1bmN0aW9uKGcpe2s9Zy5tZW1iZXJpZDtkPXBhcnNlSW50KGcudGltZXN0YW1wLDEwKTtiPWcuc2V0UHJvcGVydGllcztmPWcucmVtb3ZlZFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSExO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihkKXt2YXIgcD1kLmdldE1lbWJlcihrKTtpZighcClyZXR1cm4hMTsKZiYmcC5yZW1vdmVQcm9wZXJ0aWVzKGYpO2ImJihwLnNldFByb3BlcnRpZXMoYiksYi5mdWxsTmFtZSYmZyhkKSk7ZC5lbWl0KG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJVcGRhdGVkLHApO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJVcGRhdGVNZW1iZXIiLG1lbWJlcmlkOmssdGltZXN0YW1wOmQsc2V0UHJvcGVydGllczpiLHJlbW92ZWRQcm9wZXJ0aWVzOmZ9fX07Cm9wcy5PcFVwZGF0ZU1ldGFkYXRhPWZ1bmN0aW9uKCl7dmFyIGcsayxkLGI7dGhpcy5pbml0PWZ1bmN0aW9uKGYpe2c9Zi5tZW1iZXJpZDtrPXBhcnNlSW50KGYudGltZXN0YW1wLDEwKTtkPWYuc2V0UHJvcGVydGllcztiPWYucmVtb3ZlZFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihmKXt2YXIgZz1mLmdldE9kZkNhbnZhcygpLm9kZkNvbnRhaW5lcigpLGs9bnVsbDtiJiYoaz1iLmF0dHJpYnV0ZXMuc3BsaXQoIiwiKSk7Zy5zZXRNZXRhZGF0YShkLGspO2YuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsTWV0YWRhdGFVcGRhdGVkLHtzZXRQcm9wZXJ0aWVzOm51bGwhPT1kP2Q6e30scmVtb3ZlZFByb3BlcnRpZXM6bnVsbCE9PWs/azpbXX0pO3JldHVybiEwfTt0aGlzLnNwZWM9ZnVuY3Rpb24oKXtyZXR1cm57b3B0eXBlOiJVcGRhdGVNZXRhZGF0YSIsbWVtYmVyaWQ6Zyx0aW1lc3RhbXA6ayxzZXRQcm9wZXJ0aWVzOmQsCnJlbW92ZWRQcm9wZXJ0aWVzOmJ9fX07Cm9wcy5PcFVwZGF0ZVBhcmFncmFwaFN0eWxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGQpe3ZhciBlLGYsYT1kP2Quc3BsaXQoIiwiKTpbXTtmb3IoZT0wO2U8YS5sZW5ndGg7ZSs9MSlmPWFbZV0uc3BsaXQoIjoiKSxiLnJlbW92ZUF0dHJpYnV0ZU5TKG9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSShmWzBdKSxmWzFdKX12YXIgayxkLGIsZixuLHA9b2RmLk5hbWVzcGFjZXMuc3R5bGVuczt0aGlzLmluaXQ9ZnVuY3Rpb24oZyl7az1nLm1lbWJlcmlkO2Q9Zy50aW1lc3RhbXA7Yj1nLnN0eWxlTmFtZTtmPWcuc2V0UHJvcGVydGllcztuPWcucmVtb3ZlZFByb3BlcnRpZXN9O3RoaXMuaXNFZGl0PSEwO3RoaXMuZ3JvdXA9dm9pZCAwO3RoaXMuZXhlY3V0ZT1mdW5jdGlvbihkKXt2YXIgaz1kLmdldEZvcm1hdHRpbmcoKSxlLGwsYTtyZXR1cm4oZT0iIiE9PWI/ay5nZXRTdHlsZUVsZW1lbnQoYiwicGFyYWdyYXBoIik6ay5nZXREZWZhdWx0U3R5bGVFbGVtZW50KCJwYXJhZ3JhcGgiKSk/KGw9CmUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhwLCJwYXJhZ3JhcGgtcHJvcGVydGllcyIpLml0ZW0oMCksYT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMocCwidGV4dC1wcm9wZXJ0aWVzIikuaXRlbSgwKSxmJiZrLnVwZGF0ZVN0eWxlKGUsZiksbiYmKGs9blsic3R5bGU6cGFyYWdyYXBoLXByb3BlcnRpZXMiXSxsJiZrJiYoZyhsLGsuYXR0cmlidXRlcyksMD09PWwuYXR0cmlidXRlcy5sZW5ndGgmJmUucmVtb3ZlQ2hpbGQobCkpLGs9blsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl0sYSYmayYmKGcoYSxrLmF0dHJpYnV0ZXMpLDA9PT1hLmF0dHJpYnV0ZXMubGVuZ3RoJiZlLnJlbW92ZUNoaWxkKGEpKSxnKGUsbi5hdHRyaWJ1dGVzKSksZC5nZXRPZGZDYW52YXMoKS5yZWZyZXNoQ1NTKCksZC5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhTdHlsZU1vZGlmaWVkLGIpLGQuZ2V0T2RmQ2FudmFzKCkucmVyZW5kZXJBbm5vdGF0aW9ucygpLCEwKTohMX07dGhpcy5zcGVjPQpmdW5jdGlvbigpe3JldHVybntvcHR5cGU6IlVwZGF0ZVBhcmFncmFwaFN0eWxlIixtZW1iZXJpZDprLHRpbWVzdGFtcDpkLHN0eWxlTmFtZTpiLHNldFByb3BlcnRpZXM6ZixyZW1vdmVkUHJvcGVydGllczpufX19OwpvcHMuT3BlcmF0aW9uRmFjdG9yeT1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoZCl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBuZXcgZH19dmFyIGs7dGhpcy5yZWdpc3Rlcj1mdW5jdGlvbihkLGIpe2tbZF09Yn07dGhpcy5jcmVhdGU9ZnVuY3Rpb24oZCl7dmFyIGI9bnVsbCxmPWtbZC5vcHR5cGVdO2YmJihiPWYoZCksYi5pbml0KGQpKTtyZXR1cm4gYn07az17QWRkTWVtYmVyOmcob3BzLk9wQWRkTWVtYmVyKSxVcGRhdGVNZW1iZXI6ZyhvcHMuT3BVcGRhdGVNZW1iZXIpLFJlbW92ZU1lbWJlcjpnKG9wcy5PcFJlbW92ZU1lbWJlciksQWRkQ3Vyc29yOmcob3BzLk9wQWRkQ3Vyc29yKSxBcHBseURpcmVjdFN0eWxpbmc6ZyhvcHMuT3BBcHBseURpcmVjdFN0eWxpbmcpLFNldEJsb2I6ZyhvcHMuT3BTZXRCbG9iKSxSZW1vdmVCbG9iOmcob3BzLk9wUmVtb3ZlQmxvYiksSW5zZXJ0SW1hZ2U6ZyhvcHMuT3BJbnNlcnRJbWFnZSksSW5zZXJ0VGFibGU6ZyhvcHMuT3BJbnNlcnRUYWJsZSksCkluc2VydFRleHQ6ZyhvcHMuT3BJbnNlcnRUZXh0KSxSZW1vdmVUZXh0Omcob3BzLk9wUmVtb3ZlVGV4dCksTWVyZ2VQYXJhZ3JhcGg6ZyhvcHMuT3BNZXJnZVBhcmFncmFwaCksU3BsaXRQYXJhZ3JhcGg6ZyhvcHMuT3BTcGxpdFBhcmFncmFwaCksU2V0UGFyYWdyYXBoU3R5bGU6ZyhvcHMuT3BTZXRQYXJhZ3JhcGhTdHlsZSksVXBkYXRlUGFyYWdyYXBoU3R5bGU6ZyhvcHMuT3BVcGRhdGVQYXJhZ3JhcGhTdHlsZSksQWRkU3R5bGU6ZyhvcHMuT3BBZGRTdHlsZSksUmVtb3ZlU3R5bGU6ZyhvcHMuT3BSZW1vdmVTdHlsZSksTW92ZUN1cnNvcjpnKG9wcy5PcE1vdmVDdXJzb3IpLFJlbW92ZUN1cnNvcjpnKG9wcy5PcFJlbW92ZUN1cnNvciksQWRkQW5ub3RhdGlvbjpnKG9wcy5PcEFkZEFubm90YXRpb24pLFJlbW92ZUFubm90YXRpb246ZyhvcHMuT3BSZW1vdmVBbm5vdGF0aW9uKSxVcGRhdGVNZXRhZGF0YTpnKG9wcy5PcFVwZGF0ZU1ldGFkYXRhKSxBcHBseUh5cGVybGluazpnKG9wcy5PcEFwcGx5SHlwZXJsaW5rKSwKUmVtb3ZlSHlwZXJsaW5rOmcob3BzLk9wUmVtb3ZlSHlwZXJsaW5rKX19O29wcy5PcGVyYXRpb25Sb3V0ZXI9ZnVuY3Rpb24oKXt9O29wcy5PcGVyYXRpb25Sb3V0ZXIucHJvdG90eXBlLnNldE9wZXJhdGlvbkZhY3Rvcnk9ZnVuY3Rpb24oZyl7fTtvcHMuT3BlcmF0aW9uUm91dGVyLnByb3RvdHlwZS5zZXRQbGF5YmFja0Z1bmN0aW9uPWZ1bmN0aW9uKGcpe307b3BzLk9wZXJhdGlvblJvdXRlci5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihnKXt9O29wcy5PcGVyYXRpb25Sb3V0ZXIucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKGcpe307b3BzLk9wZXJhdGlvblJvdXRlci5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKGcsayl7fTtvcHMuT3BlcmF0aW9uUm91dGVyLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbihnLGspe307b3BzLk9wZXJhdGlvblJvdXRlci5wcm90b3R5cGUuaGFzTG9jYWxVbnN5bmNlZE9wcz1mdW5jdGlvbigpe307Cm9wcy5PcGVyYXRpb25Sb3V0ZXIucHJvdG90eXBlLmhhc1Nlc3Npb25Ib3N0Q29ubmVjdGlvbj1mdW5jdGlvbigpe307b3BzLk9wZXJhdGlvblJvdXRlci5zaWduYWxQcm9jZXNzaW5nQmF0Y2hTdGFydD0icm91dGVyL2JhdGNoc3RhcnQiO29wcy5PcGVyYXRpb25Sb3V0ZXIuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kPSJyb3V0ZXIvYmF0Y2hlbmQiOwpvcHMuVHJpdmlhbE9wZXJhdGlvblJvdXRlcj1mdW5jdGlvbigpe3ZhciBnPW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW29wcy5PcGVyYXRpb25Sb3V0ZXIuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoU3RhcnQsb3BzLk9wZXJhdGlvblJvdXRlci5zaWduYWxQcm9jZXNzaW5nQmF0Y2hFbmRdKSxrLGQsYj0wO3RoaXMuc2V0T3BlcmF0aW9uRmFjdG9yeT1mdW5jdGlvbihiKXtrPWJ9O3RoaXMuc2V0UGxheWJhY2tGdW5jdGlvbj1mdW5jdGlvbihiKXtkPWJ9O3RoaXMucHVzaD1mdW5jdGlvbihmKXtiKz0xO2cuZW1pdChvcHMuT3BlcmF0aW9uUm91dGVyLnNpZ25hbFByb2Nlc3NpbmdCYXRjaFN0YXJ0LHt9KTtmLmZvckVhY2goZnVuY3Rpb24oZil7Zj1mLnNwZWMoKTtmLnRpbWVzdGFtcD1EYXRlLm5vdygpO2Y9ay5jcmVhdGUoZik7Zi5ncm91cD0iZyIrYjtkKGYpfSk7Zy5lbWl0KG9wcy5PcGVyYXRpb25Sb3V0ZXIuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLHt9KX07dGhpcy5jbG9zZT1mdW5jdGlvbihiKXtiKCl9Owp0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihiLGQpe2cuc3Vic2NyaWJlKGIsZCl9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYixkKXtnLnVuc3Vic2NyaWJlKGIsZCl9O3RoaXMuaGFzTG9jYWxVbnN5bmNlZE9wcz1mdW5jdGlvbigpe3JldHVybiExfTt0aGlzLmhhc1Nlc3Npb25Ib3N0Q29ubmVjdGlvbj1mdW5jdGlvbigpe3JldHVybiEwfX07Cm9wcy5TZXNzaW9uPWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoYil7Zi5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxQcm9jZXNzaW5nQmF0Y2hTdGFydCxiKX1mdW5jdGlvbiBkKGIpe2YuZW1pdChvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLGIpfXZhciBiPW5ldyBvcHMuT3BlcmF0aW9uRmFjdG9yeSxmPW5ldyBvcHMuT2R0RG9jdW1lbnQoZyksbj1udWxsO3RoaXMuc2V0T3BlcmF0aW9uRmFjdG9yeT1mdW5jdGlvbihkKXtiPWQ7biYmbi5zZXRPcGVyYXRpb25GYWN0b3J5KGIpfTt0aGlzLnNldE9wZXJhdGlvblJvdXRlcj1mdW5jdGlvbihnKXtuJiYobi51bnN1YnNjcmliZShvcHMuT3BlcmF0aW9uUm91dGVyLnNpZ25hbFByb2Nlc3NpbmdCYXRjaFN0YXJ0LGspLG4udW5zdWJzY3JpYmUob3BzLk9wZXJhdGlvblJvdXRlci5zaWduYWxQcm9jZXNzaW5nQmF0Y2hFbmQsZCkpO249ZztuLnN1YnNjcmliZShvcHMuT3BlcmF0aW9uUm91dGVyLnNpZ25hbFByb2Nlc3NpbmdCYXRjaFN0YXJ0LAprKTtuLnN1YnNjcmliZShvcHMuT3BlcmF0aW9uUm91dGVyLnNpZ25hbFByb2Nlc3NpbmdCYXRjaEVuZCxkKTtnLnNldFBsYXliYWNrRnVuY3Rpb24oZnVuY3Rpb24oYil7Zi5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25TdGFydCxiKTtyZXR1cm4gYi5leGVjdXRlKGYpPyhmLmVtaXQob3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvbkVuZCxiKSwhMCk6ITF9KTtnLnNldE9wZXJhdGlvbkZhY3RvcnkoYil9O3RoaXMuZ2V0T3BlcmF0aW9uRmFjdG9yeT1mdW5jdGlvbigpe3JldHVybiBifTt0aGlzLmdldE9kdERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGZ9O3RoaXMuZW5xdWV1ZT1mdW5jdGlvbihiKXtuLnB1c2goYil9O3RoaXMuY2xvc2U9ZnVuY3Rpb24oYil7bi5jbG9zZShmdW5jdGlvbihkKXtkP2IoZCk6Zi5jbG9zZShiKX0pfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYil7Zi5kZXN0cm95KGIpfTt0aGlzLnNldE9wZXJhdGlvblJvdXRlcihuZXcgb3BzLlRyaXZpYWxPcGVyYXRpb25Sb3V0ZXIpfTsKZ3VpLkFubm90YXRpb25Db250cm9sbGVyPWZ1bmN0aW9uKGcsayxkKXtmdW5jdGlvbiBiKCl7dmFyIGE9ci5nZXRDdXJzb3IoZCksYT1hJiZhLmdldE5vZGUoKSxiPSExO2EmJihiPSFsLmlzV2l0aGluQW5ub3RhdGlvbihhLHIuZ2V0Um9vdE5vZGUoKSkpO2IhPT1xJiYocT1iLGUuZW1pdChndWkuQW5ub3RhdGlvbkNvbnRyb2xsZXIuYW5ub3RhdGFibGVDaGFuZ2VkLHEpKX1mdW5jdGlvbiBmKGEpe2EuZ2V0TWVtYmVySWQoKT09PWQmJmIoKX1mdW5jdGlvbiBuKGEpe2E9PT1kJiZiKCl9ZnVuY3Rpb24gcChhKXthLmdldE1lbWJlcklkKCk9PT1kJiZiKCl9dmFyIHI9Zy5nZXRPZHREb2N1bWVudCgpLHE9ITEsZT1uZXcgY29yZS5FdmVudE5vdGlmaWVyKFtndWkuQW5ub3RhdGlvbkNvbnRyb2xsZXIuYW5ub3RhdGFibGVDaGFuZ2VkXSksbD1vZGYuT2RmVXRpbHMsYT1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVDt0aGlzLmlzQW5ub3RhdGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gcX07dGhpcy5hZGRBbm5vdGF0aW9uPQpmdW5jdGlvbigpe3ZhciBhPW5ldyBvcHMuT3BBZGRBbm5vdGF0aW9uLGI9ci5nZXRDdXJzb3JTZWxlY3Rpb24oZCksZT1iLmxlbmd0aCxiPWIucG9zaXRpb247cSYmKDA9PT1lP2U9dm9pZCAwOihiPTA8PWU/YjpiK2UsZT1NYXRoLmFicyhlKSksYS5pbml0KHttZW1iZXJpZDpkLHBvc2l0aW9uOmIsbGVuZ3RoOmUsbmFtZTpkK0RhdGUubm93KCl9KSxnLmVucXVldWUoW2FdKSl9O3RoaXMucmVtb3ZlQW5ub3RhdGlvbj1mdW5jdGlvbihjKXt2YXIgYixlO2I9ci5nZXRNZW1iZXIoZCkuZ2V0UHJvcGVydGllcygpLmZ1bGxOYW1lO2lmKCEwIT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5BTk5PVEFUSU9OUy5PTkxZX0RFTEVURV9PV04pfHxiPT09bC5nZXRBbm5vdGF0aW9uQ3JlYXRvcihjKSliPXIuY29udmVydERvbVBvaW50VG9DdXJzb3JTdGVwKGMsMCxhKSxlPXIuY29udmVydERvbVBvaW50VG9DdXJzb3JTdGVwKGMsYy5jaGlsZE5vZGVzLmxlbmd0aCksYz0KbmV3IG9wcy5PcFJlbW92ZUFubm90YXRpb24sYy5pbml0KHttZW1iZXJpZDpkLHBvc2l0aW9uOmIsbGVuZ3RoOmUtYn0pLGU9bmV3IG9wcy5PcE1vdmVDdXJzb3IsZS5pbml0KHttZW1iZXJpZDpkLHBvc2l0aW9uOjA8Yj9iLTE6YixsZW5ndGg6MH0pLGcuZW5xdWV1ZShbYyxlXSl9O3RoaXMuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYil7ZS5zdWJzY3JpYmUoYSxiKX07dGhpcy51bnN1YnNjcmliZT1mdW5jdGlvbihhLGIpe2UudW5zdWJzY3JpYmUoYSxiKX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe3IudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvckFkZGVkLGYpO3IudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsbik7ci51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQscCk7YSgpfTtrLnJlZ2lzdGVyQ29uc3RyYWludChndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5BTk5PVEFUSU9OUy5PTkxZX0RFTEVURV9PV04pOwpyLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsZik7ci5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsbik7ci5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLHApO2IoKX07Z3VpLkFubm90YXRpb25Db250cm9sbGVyLmFubm90YXRhYmxlQ2hhbmdlZD0iYW5ub3RhdGFibGUvY2hhbmdlZCI7Cmd1aS5BdmF0YXI9ZnVuY3Rpb24oZyxrKXt2YXIgZD10aGlzLGIsZixuO3RoaXMuc2V0Q29sb3I9ZnVuY3Rpb24oYil7Zi5zdHlsZS5ib3JkZXJDb2xvcj1ifTt0aGlzLnNldEltYWdlVXJsPWZ1bmN0aW9uKGIpe2QuaXNWaXNpYmxlKCk/Zi5zcmM9YjpuPWJ9O3RoaXMuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuImJsb2NrIj09PWIuc3R5bGUuZGlzcGxheX07dGhpcy5zaG93PWZ1bmN0aW9uKCl7biYmKGYuc3JjPW4sbj12b2lkIDApO2Iuc3R5bGUuZGlzcGxheT0iYmxvY2sifTt0aGlzLmhpZGU9ZnVuY3Rpb24oKXtiLnN0eWxlLmRpc3BsYXk9Im5vbmUifTt0aGlzLm1hcmtBc0ZvY3Vzc2VkPWZ1bmN0aW9uKGQpe2Q/Yi5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKTpiLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oZCl7Zy5yZW1vdmVDaGlsZChiKTtkKCl9OyhmdW5jdGlvbigpe3ZhciBkPWcub3duZXJEb2N1bWVudDtiPWQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CmY9ZC5jcmVhdGVFbGVtZW50KCJpbWciKTtiLmFwcGVuZENoaWxkKGYpO2Iuc3R5bGUuZGlzcGxheT1rPyJibG9jayI6Im5vbmUiO2IuY2xhc3NOYW1lPSJoYW5kbGUiO2cuYXBwZW5kQ2hpbGQoYil9KSgpfTtndWkuU3RlcEluZm89ZnVuY3Rpb24oKXt9O2d1aS5TdGVwSW5mby5WaXN1YWxEaXJlY3Rpb249e0xFRlRfVE9fUklHSFQ6MCxSSUdIVF9UT19MRUZUOjF9O2d1aS5TdGVwSW5mby5wcm90b3R5cGUuY29udGFpbmVyPWZ1bmN0aW9uKCl7fTtndWkuU3RlcEluZm8ucHJvdG90eXBlLm9mZnNldD1mdW5jdGlvbigpe307Z3VpLlZpc3VhbFN0ZXBTY2FubmVyPWZ1bmN0aW9uKCl7fTtndWkuVmlzdWFsU3RlcFNjYW5uZXIucHJvdG90eXBlLnByb2Nlc3M9ZnVuY3Rpb24oZyxrLGQpe307Cmd1aS5HdWlTdGVwVXRpbHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGYpe2Y9ZC5nZXRDb250ZW50Qm91bmRzKGYpO3ZhciBnLGU9bnVsbDtpZihmKWlmKGYuY29udGFpbmVyLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpZz1mLmNvbnRhaW5lci5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksZy5zZXRTdGFydChmLmNvbnRhaW5lcixmLnN0YXJ0T2Zmc2V0KSxnLnNldEVuZChmLmNvbnRhaW5lcixmLmVuZE9mZnNldCksKGU9MDxnLmdldENsaWVudFJlY3RzKCkubGVuZ3RoP2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6bnVsbCkmJiIgIj09PWYuY29udGFpbmVyLmRhdGEuc3Vic3RyaW5nKGYuc3RhcnRPZmZzZXQsZi5lbmRPZmZzZXQpJiYxPj1lLndpZHRoJiYoZT1udWxsKSxnLmRldGFjaCgpO2Vsc2UgaWYoay5pc0NoYXJhY3RlckVsZW1lbnQoZi5jb250YWluZXIpfHxrLmlzQ2hhcmFjdGVyRnJhbWUoZi5jb250YWluZXIpKWU9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoZi5jb250YWluZXIpOwpyZXR1cm4gZX12YXIgaz1vZGYuT2RmVXRpbHMsZD1uZXcgb2RmLlN0ZXBVdGlscyxiPWNvcmUuRG9tVXRpbHMsZj1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVCxuPWd1aS5TdGVwSW5mby5WaXN1YWxEaXJlY3Rpb24uTEVGVF9UT19SSUdIVCxwPWd1aS5TdGVwSW5mby5WaXN1YWxEaXJlY3Rpb24uUklHSFRfVE9fTEVGVDt0aGlzLmdldENvbnRlbnRSZWN0PWc7dGhpcy5tb3ZlVG9GaWx0ZXJlZFN0ZXA9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGwoYSxiKXtiLnByb2Nlc3ModyxoLGspJiYoYT0hMCwheCYmYi50b2tlbiYmKHg9Yi50b2tlbikpO3JldHVybiBhfXZhciBhPWQ9PT1mLGMsbSxoLGsseCx6PWIuc25hcHNob3QoKTtjPSExO3ZhciB3O2RvIGM9ZyhiKSx3PXt0b2tlbjpiLnNuYXBzaG90KCksY29udGFpbmVyOmIuY29udGFpbmVyLG9mZnNldDpiLm9mZnNldCxkaXJlY3Rpb246ZCx2aXN1YWxEaXJlY3Rpb246ZD09PWY/bjpwfSxtPWIubmV4dFN0ZXAoKT9nKGIpOm51bGwsYi5yZXN0b3JlKHcudG9rZW4pLAphPyhoPWMsaz1tKTooaD1tLGs9YyksYz1lLnJlZHVjZShsLCExKTt3aGlsZSghYyYmYi5hZHZhbmNlU3RlcChkKSk7Y3x8ZS5mb3JFYWNoKGZ1bmN0aW9uKGEpeyF4JiZhLnRva2VuJiYoeD1hLnRva2VuKX0pO2IucmVzdG9yZSh4fHx6KTtyZXR1cm4gQm9vbGVhbih4KX19OwpndWkuQ2FyZXQ9ZnVuY3Rpb24oZyxrLGQsYil7ZnVuY3Rpb24gZigpe2Euc3R5bGUub3BhY2l0eT0iMCI9PT1hLnN0eWxlLm9wYWNpdHk/IjEiOiIwIjt0LnRyaWdnZXIoKX1mdW5jdGlvbiBuKCl7eS5zZWxlY3ROb2RlQ29udGVudHMoaCk7cmV0dXJuIHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZnVuY3Rpb24gcChhKXtyZXR1cm4gRVthXSE9PUxbYV19ZnVuY3Rpb24gcigpe09iamVjdC5rZXlzKEwpLmZvckVhY2goZnVuY3Rpb24oYSl7RVthXT1MW2FdfSl9ZnVuY3Rpb24gcSgpe2lmKCExPT09TC5pc1Nob3dufHxnLmdldFNlbGVjdGlvblR5cGUoKSE9PW9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb258fCFiJiYhZy5nZXRTZWxlY3RlZFJhbmdlKCkuY29sbGFwc2VkKUwudmlzaWJpbGl0eT0iaGlkZGVuIixhLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsdC5jYW5jZWwoKTtlbHNlIGlmKEwudmlzaWJpbGl0eT0idmlzaWJsZSIsYS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIiwKITE9PT1MLmlzRm9jdXNlZClhLnN0eWxlLm9wYWNpdHk9IjEiLHQuY2FuY2VsKCk7ZWxzZXtpZihBfHxwKCJ2aXNpYmlsaXR5IikpYS5zdHlsZS5vcGFjaXR5PSIxIix0LmNhbmNlbCgpO3QudHJpZ2dlcigpfWlmKEt8fEkpe3ZhciBkO2Q9Zy5nZXROb2RlKCk7dmFyIGUsaCxmPXouZ2V0Qm91bmRpbmdDbGllbnRSZWN0KHguZ2V0U2l6ZXIoKSkscT0hMSx5PTA7ZC5yZW1vdmVBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLCJjYXJldC1zaXplci1hY3RpdmUiKTtpZigwPGQuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpaD1uKCkseT1oLmxlZnQtei5nZXRCb3VuZGluZ0NsaWVudFJlY3QoZCkubGVmdCxxPSEwO2Vsc2UgaWYodi5zZXRQb3NpdGlvbihkLDApLGg9dy5nZXRDb250ZW50UmVjdCh2KSwhaCYmdi5uZXh0U3RlcCgpJiYoZT13LmdldENvbnRlbnRSZWN0KHYpKSYmKGg9ZSxxPSEwKSxofHwoZC5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLAoiY2FyZXQtc2l6ZXItYWN0aXZlIiwidHJ1ZSIpLGg9bigpLHE9ITApLCFoKWZvcihydW50aW1lLmxvZygiV0FSTjogTm8gc3VpdGFibGUgY2xpZW50IHJlY3RhbmdsZSBmb3VuZCBmb3IgdmlzdWFsIGNhcmV0IGZvciAiK2cuZ2V0TWVtYmVySWQoKSk7ZDspe2lmKDA8ZC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl7aD16LmdldEJvdW5kaW5nQ2xpZW50UmVjdChkKTtxPSEwO2JyZWFrfWQ9ZC5wYXJlbnROb2RlfWg9ei50cmFuc2xhdGVSZWN0KGgsZix4LmdldFpvb21MZXZlbCgpKTtkPXt0b3A6aC50b3AsaGVpZ2h0OmguaGVpZ2h0LHJpZ2h0OnE/aC5sZWZ0OmgucmlnaHQsd2lkdGg6ei5hZGFwdFJhbmdlRGlmZmVyZW5jZVRvWm9vbUxldmVsKHkseC5nZXRab29tTGV2ZWwoKSl9Ozg+ZC5oZWlnaHQmJihkPXt0b3A6ZC50b3AtKDgtZC5oZWlnaHQpLzIsaGVpZ2h0OjgscmlnaHQ6ZC5yaWdodH0pO2wuc3R5bGUuaGVpZ2h0PWQuaGVpZ2h0KyJweCI7bC5zdHlsZS50b3A9ZC50b3ArInB4IjsKbC5zdHlsZS5sZWZ0PWQucmlnaHQtZC53aWR0aCsicHgiO2wuc3R5bGUud2lkdGg9ZC53aWR0aD9kLndpZHRoKyJweCI6IiI7bSYmKGQ9cnVudGltZS5nZXRXaW5kb3coKS5nZXRDb21wdXRlZFN0eWxlKGcuZ2V0Tm9kZSgpLG51bGwpLGQuZm9udD9tLnN0eWxlLmZvbnQ9ZC5mb250OihtLnN0eWxlLmZvbnRTdHlsZT1kLmZvbnRTdHlsZSxtLnN0eWxlLmZvbnRWYXJpYW50PWQuZm9udFZhcmlhbnQsbS5zdHlsZS5mb250V2VpZ2h0PWQuZm9udFdlaWdodCxtLnN0eWxlLmZvbnRTaXplPWQuZm9udFNpemUsbS5zdHlsZS5saW5lSGVpZ2h0PWQubGluZUhlaWdodCxtLnN0eWxlLmZvbnRGYW1pbHk9ZC5mb250RmFtaWx5KSl9TC5pc1Nob3duJiZJJiZrLnNjcm9sbEludG9WaWV3KGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO3AoImlzRm9jdXNlZCIpJiZjLm1hcmtBc0ZvY3Vzc2VkKEwuaXNGb2N1c2VkKTtyKCk7Sz1JPUE9ITF9ZnVuY3Rpb24gZShhKXtsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCk7CmgucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChoKTthKCl9dmFyIGwsYSxjLG0saCx5LHg9Zy5nZXREb2N1bWVudCgpLmdldENhbnZhcygpLHo9Y29yZS5Eb21VdGlscyx3PW5ldyBndWkuR3VpU3RlcFV0aWxzLHYsdSx0LEE9ITEsST0hMSxLPSExLEw9e2lzRm9jdXNlZDohMSxpc1Nob3duOiEwLHZpc2liaWxpdHk6ImhpZGRlbiJ9LEU9e2lzRm9jdXNlZDohTC5pc0ZvY3VzZWQsaXNTaG93bjohTC5pc1Nob3duLHZpc2liaWxpdHk6ImhpZGRlbiJ9O3RoaXMuaGFuZGxlVXBkYXRlPWZ1bmN0aW9uKCl7Sz0hMDt1LnRyaWdnZXIoKX07dGhpcy5yZWZyZXNoQ3Vyc29yQmxpbmtpbmc9ZnVuY3Rpb24oKXtBPSEwO3UudHJpZ2dlcigpfTt0aGlzLnNldEZvY3VzPWZ1bmN0aW9uKCl7TC5pc0ZvY3VzZWQ9ITA7dS50cmlnZ2VyKCl9O3RoaXMucmVtb3ZlRm9jdXM9ZnVuY3Rpb24oKXtMLmlzRm9jdXNlZD0hMTt1LnRyaWdnZXIoKX07dGhpcy5zaG93PWZ1bmN0aW9uKCl7TC5pc1Nob3duPSEwO3UudHJpZ2dlcigpfTsKdGhpcy5oaWRlPWZ1bmN0aW9uKCl7TC5pc1Nob3duPSExO3UudHJpZ2dlcigpfTt0aGlzLnNldEF2YXRhckltYWdlVXJsPWZ1bmN0aW9uKGEpe2Muc2V0SW1hZ2VVcmwoYSl9O3RoaXMuc2V0Q29sb3I9ZnVuY3Rpb24oYil7YS5zdHlsZS5ib3JkZXJDb2xvcj1iO2Muc2V0Q29sb3IoYil9O3RoaXMuZ2V0Q3Vyc29yPWZ1bmN0aW9uKCl7cmV0dXJuIGd9O3RoaXMuZ2V0Rm9jdXNFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGF9O3RoaXMudG9nZ2xlSGFuZGxlVmlzaWJpbGl0eT1mdW5jdGlvbigpe2MuaXNWaXNpYmxlKCk/Yy5oaWRlKCk6Yy5zaG93KCl9O3RoaXMuc2hvd0hhbmRsZT1mdW5jdGlvbigpe2Muc2hvdygpfTt0aGlzLmhpZGVIYW5kbGU9ZnVuY3Rpb24oKXtjLmhpZGUoKX07dGhpcy5zZXRPdmVybGF5RWxlbWVudD1mdW5jdGlvbihhKXttPWE7bC5hcHBlbmRDaGlsZChhKTtLPSEwO3UudHJpZ2dlcigpfTt0aGlzLmVuc3VyZVZpc2libGU9ZnVuY3Rpb24oKXtJPSEwO3UudHJpZ2dlcigpfTsKdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gei5nZXRCb3VuZGluZ0NsaWVudFJlY3QobCl9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihhKXtjb3JlLkFzeW5jLmRlc3Ryb3lBbGwoW3UuZGVzdHJveSx0LmRlc3Ryb3ksYy5kZXN0cm95LGVdLGEpfTsoZnVuY3Rpb24oKXt2YXIgYj1nLmdldERvY3VtZW50KCksZT1bYi5jcmVhdGVSb290RmlsdGVyKGcuZ2V0TWVtYmVySWQoKSksYi5nZXRQb3NpdGlvbkZpbHRlcigpXSxtPWIuZ2V0RE9NRG9jdW1lbnQoKTt5PW0uY3JlYXRlUmFuZ2UoKTtoPW0uY3JlYXRlRWxlbWVudCgic3BhbiIpO2guY2xhc3NOYW1lPSJ3ZWJvZGYtY2FyZXRTaXplciI7aC50ZXh0Q29udGVudD0ifCI7Zy5nZXROb2RlKCkuYXBwZW5kQ2hpbGQoaCk7bD1tLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbzptZW1iZXJpZCIsZy5nZXRNZW1iZXJJZCgpKTsKbC5jbGFzc05hbWU9IndlYm9kZi1jYXJldE92ZXJsYXkiO2E9bS5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0iY2FyZXQiO2wuYXBwZW5kQ2hpbGQoYSk7Yz1uZXcgZ3VpLkF2YXRhcihsLGQpO3guZ2V0U2l6ZXIoKS5hcHBlbmRDaGlsZChsKTt2PWIuY3JlYXRlU3RlcEl0ZXJhdG9yKGcuZ2V0Tm9kZSgpLDAsZSxiLmdldFJvb3ROb2RlKCkpO3U9Y29yZS5UYXNrLmNyZWF0ZVJlZHJhd1Rhc2socSk7dD1jb3JlLlRhc2suY3JlYXRlVGltZW91dFRhc2soZiw1MDApO3UudHJpZ2dlckltbWVkaWF0ZSgpfSkoKX07Cm9kZi5UZXh0U2VyaWFsaXplcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGcoYil7dmFyIGY9IiIsbj1rLmZpbHRlcj9rLmZpbHRlci5hY2NlcHROb2RlKGIpOk5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCxwPWIubm9kZVR5cGUscjtpZigobj09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVHx8bj09PU5vZGVGaWx0ZXIuRklMVEVSX1NLSVApJiZkLmlzVGV4dENvbnRlbnRDb250YWluaW5nTm9kZShiKSlmb3Iocj1iLmZpcnN0Q2hpbGQ7cjspZis9ZyhyKSxyPXIubmV4dFNpYmxpbmc7bj09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCYmKHA9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmZC5pc1BhcmFncmFwaChiKT9mKz0iXG4iOnA9PT1Ob2RlLlRFWFRfTk9ERSYmYi50ZXh0Q29udGVudCYmKGYrPWIudGV4dENvbnRlbnQpKTtyZXR1cm4gZn12YXIgaz10aGlzLGQ9b2RmLk9kZlV0aWxzO3RoaXMuZmlsdGVyPW51bGw7dGhpcy53cml0ZVRvU3RyaW5nPWZ1bmN0aW9uKGIpe2lmKCFiKXJldHVybiIiOwpiPWcoYik7IlxuIj09PWJbYi5sZW5ndGgtMV0mJihiPWIuc3Vic3RyKDAsYi5sZW5ndGgtMSkpO3JldHVybiBifX07Z3VpLk1pbWVEYXRhRXhwb3J0ZXI9ZnVuY3Rpb24oKXt2YXIgZzt0aGlzLmV4cG9ydFJhbmdlVG9EYXRhVHJhbnNmZXI9ZnVuY3Rpb24oayxkKXt2YXIgYjtiPWQuc3RhcnRDb250YWluZXIub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5hcHBlbmRDaGlsZChkLmNsb25lQ29udGVudHMoKSk7Yj1nLndyaXRlVG9TdHJpbmcoYik7dHJ5e2suc2V0RGF0YSgidGV4dC9wbGFpbiIsYil9Y2F0Y2goZil7ay5zZXREYXRhKCJUZXh0IixiKX19O2c9bmV3IG9kZi5UZXh0U2VyaWFsaXplcjtnLmZpbHRlcj1uZXcgb2RmLk9kZk5vZGVGaWx0ZXJ9OwpndWkuQ2xpcGJvYXJkPWZ1bmN0aW9uKGcpe3RoaXMuc2V0RGF0YUZyb21SYW5nZT1mdW5jdGlvbihrLGQpe3ZhciBiLGY9ay5jbGlwYm9hcmREYXRhO2I9cnVudGltZS5nZXRXaW5kb3coKTshZiYmYiYmKGY9Yi5jbGlwYm9hcmREYXRhKTtmPyhiPSEwLGcuZXhwb3J0UmFuZ2VUb0RhdGFUcmFuc2ZlcihmLGQpLGsucHJldmVudERlZmF1bHQoKSk6Yj0hMTtyZXR1cm4gYn19OwpndWkuU2Vzc2lvbkNvbnRleHQ9ZnVuY3Rpb24oZyxrKXt2YXIgZD1nLmdldE9kdERvY3VtZW50KCksYj1vZGYuT2RmVXRpbHM7dGhpcy5pc0xvY2FsQ3Vyc29yV2l0aGluT3duQW5ub3RhdGlvbj1mdW5jdGlvbigpe3ZhciBmPWQuZ2V0Q3Vyc29yKGspLGc7aWYoIWYpcmV0dXJuITE7Zz1mJiZmLmdldE5vZGUoKTtmPWQuZ2V0TWVtYmVyKGspLmdldFByb3BlcnRpZXMoKS5mdWxsTmFtZTtyZXR1cm4oZz1iLmdldFBhcmVudEFubm90YXRpb24oZyxkLmdldFJvb3ROb2RlKCkpKSYmYi5nZXRBbm5vdGF0aW9uQ3JlYXRvcihnKT09PWY/ITA6ITF9fTsKZ3VpLlN0eWxlU3VtbWFyeT1mdW5jdGlvbihnKXtmdW5jdGlvbiBrKGIsZCl7dmFyIGs9YisifCIrZCxxO2YuaGFzT3duUHJvcGVydHkoayl8fChxPVtdLGcuZm9yRWFjaChmdW5jdGlvbihlKXtlPShlPWUuc3R5bGVQcm9wZXJ0aWVzW2JdKSYmZVtkXTstMT09PXEuaW5kZXhPZihlKSYmcS5wdXNoKGUpfSksZltrXT1xKTtyZXR1cm4gZltrXX1mdW5jdGlvbiBkKGIsZCxmKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz1rKGIsZCk7cmV0dXJuIGYubGVuZ3RoPj1nLmxlbmd0aCYmZy5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4tMSE9PWYuaW5kZXhPZihiKX0pfX1mdW5jdGlvbiBiKGIsZCl7dmFyIGY9ayhiLGQpO3JldHVybiAxPT09Zi5sZW5ndGg/ZlswXTp2b2lkIDB9dmFyIGY9e307dGhpcy5nZXRQcm9wZXJ0eVZhbHVlcz1rO3RoaXMuZ2V0Q29tbW9uVmFsdWU9Yjt0aGlzLmlzQm9sZD1kKCJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiLCJmbzpmb250LXdlaWdodCIsWyJib2xkIl0pO3RoaXMuaXNJdGFsaWM9CmQoInN0eWxlOnRleHQtcHJvcGVydGllcyIsImZvOmZvbnQtc3R5bGUiLFsiaXRhbGljIl0pO3RoaXMuaGFzVW5kZXJsaW5lPWQoInN0eWxlOnRleHQtcHJvcGVydGllcyIsInN0eWxlOnRleHQtdW5kZXJsaW5lLXN0eWxlIixbInNvbGlkIl0pO3RoaXMuaGFzU3RyaWtlVGhyb3VnaD1kKCJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiLCJzdHlsZTp0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSIsWyJzb2xpZCJdKTt0aGlzLmZvbnRTaXplPWZ1bmN0aW9uKCl7dmFyIGQ9Yigic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIiwiZm86Zm9udC1zaXplIik7cmV0dXJuIGQmJnBhcnNlRmxvYXQoZCl9O3RoaXMuZm9udE5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gYigic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIiwic3R5bGU6Zm9udC1uYW1lIil9O3RoaXMuaXNBbGlnbmVkTGVmdD1kKCJzdHlsZTpwYXJhZ3JhcGgtcHJvcGVydGllcyIsImZvOnRleHQtYWxpZ24iLFsibGVmdCIsInN0YXJ0Il0pO3RoaXMuaXNBbGlnbmVkQ2VudGVyPQpkKCJzdHlsZTpwYXJhZ3JhcGgtcHJvcGVydGllcyIsImZvOnRleHQtYWxpZ24iLFsiY2VudGVyIl0pO3RoaXMuaXNBbGlnbmVkUmlnaHQ9ZCgic3R5bGU6cGFyYWdyYXBoLXByb3BlcnRpZXMiLCJmbzp0ZXh0LWFsaWduIixbInJpZ2h0IiwiZW5kIl0pO3RoaXMuaXNBbGlnbmVkSnVzdGlmaWVkPWQoInN0eWxlOnBhcmFncmFwaC1wcm9wZXJ0aWVzIiwiZm86dGV4dC1hbGlnbiIsWyJqdXN0aWZ5Il0pO3RoaXMudGV4dD17aXNCb2xkOnRoaXMuaXNCb2xkLGlzSXRhbGljOnRoaXMuaXNJdGFsaWMsaGFzVW5kZXJsaW5lOnRoaXMuaGFzVW5kZXJsaW5lLGhhc1N0cmlrZVRocm91Z2g6dGhpcy5oYXNTdHJpa2VUaHJvdWdoLGZvbnRTaXplOnRoaXMuZm9udFNpemUsZm9udE5hbWU6dGhpcy5mb250TmFtZX07dGhpcy5wYXJhZ3JhcGg9e2lzQWxpZ25lZExlZnQ6dGhpcy5pc0FsaWduZWRMZWZ0LGlzQWxpZ25lZENlbnRlcjp0aGlzLmlzQWxpZ25lZENlbnRlcixpc0FsaWduZWRSaWdodDp0aGlzLmlzQWxpZ25lZFJpZ2h0LAppc0FsaWduZWRKdXN0aWZpZWQ6dGhpcy5pc0FsaWduZWRKdXN0aWZpZWR9fTsKZ3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyPWZ1bmN0aW9uKGcsayxkLGIsZixuLHApe2Z1bmN0aW9uIHIoKXtyZXR1cm4gVS52YWx1ZSgpLnN0eWxlU3VtbWFyeX1mdW5jdGlvbiBxKCl7cmV0dXJuIFUudmFsdWUoKS5lbmFibGVkRmVhdHVyZXN9ZnVuY3Rpb24gZShhKXt2YXIgYjthLmNvbGxhcHNlZD8oYj1hLnN0YXJ0Q29udGFpbmVyLGIuaGFzQ2hpbGROb2RlcygpJiZhLnN0YXJ0T2Zmc2V0PGIuY2hpbGROb2Rlcy5sZW5ndGgmJihiPWIuY2hpbGROb2Rlcy5pdGVtKGEuc3RhcnRPZmZzZXQpKSxhPVtiXSk6YT1TLmdldFRleHRFbGVtZW50cyhhLCEwLCExKTtyZXR1cm4gYX1mdW5jdGlvbiBsKCl7dmFyIGE9UC5nZXRDdXJzb3IoYiksYz1hJiZhLmdldFNlbGVjdGVkUmFuZ2UoKSxoPVtdLGg9W10sZj0hMCxnPXtkaXJlY3RUZXh0U3R5bGluZzohMCxkaXJlY3RQYXJhZ3JhcGhTdHlsaW5nOiEwfTtjJiYoaD1lKGMpLDA9PT1oLmxlbmd0aCYmKGg9W2Muc3RhcnRDb250YWluZXIsCmMuZW5kQ29udGFpbmVyXSxmPSExKSxoPVAuZ2V0Rm9ybWF0dGluZygpLmdldEFwcGxpZWRTdHlsZXMoaCkpO3ZvaWQgMCE9PWhbMF0mJlomJihoWzBdLnN0eWxlUHJvcGVydGllcz1hYS5tZXJnZU9iamVjdHMoaFswXS5zdHlsZVByb3BlcnRpZXMsWikpOyEwPT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSkmJihnLmRpcmVjdFRleHRTdHlsaW5nPWcuZGlyZWN0UGFyYWdyYXBoU3R5bGluZz1kLmlzTG9jYWxDdXJzb3JXaXRoaW5Pd25Bbm5vdGF0aW9uKCkpO2cuZGlyZWN0VGV4dFN0eWxpbmcmJihnLmRpcmVjdFRleHRTdHlsaW5nPWYmJnZvaWQgMCE9PWEmJmEuZ2V0U2VsZWN0aW9uVHlwZSgpPT09b3BzLk9kdEN1cnNvci5SYW5nZVNlbGVjdGlvbik7cmV0dXJue2VuYWJsZWRGZWF0dXJlczpnLGFwcGxpZWRTdHlsZXM6aCxzdHlsZVN1bW1hcnk6bmV3IGd1aS5TdHlsZVN1bW1hcnkoaCl9fWZ1bmN0aW9uIGEoYSxiKXt2YXIgYz17fTtPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPQphW2RdKCksaD1iW2RdKCk7ZSE9PWgmJihjW2RdPWgpfSk7cmV0dXJuIGN9ZnVuY3Rpb24gYygpe3ZhciBiLGM7Yz1iYS5zdHlsZVN1bW1hcnk7dmFyIGQ9VS52YWx1ZSgpLGU9ZC5zdHlsZVN1bW1hcnksaD1iYS5lbmFibGVkRmVhdHVyZXMsZj1kLmVuYWJsZWRGZWF0dXJlcztiPWEoYy50ZXh0LGUudGV4dCk7Yz1hKGMucGFyYWdyYXBoLGUucGFyYWdyYXBoKTtoPSEoZi5kaXJlY3RUZXh0U3R5bGluZz09PWguZGlyZWN0VGV4dFN0eWxpbmcmJmYuZGlyZWN0UGFyYWdyYXBoU3R5bGluZz09PWguZGlyZWN0UGFyYWdyYXBoU3R5bGluZyk7YmE9ZDtoJiZmYS5lbWl0KGd1aS5EaXJlY3RGb3JtYXR0aW5nQ29udHJvbGxlci5lbmFibGVkQ2hhbmdlZCxmKTswPE9iamVjdC5rZXlzKGIpLmxlbmd0aCYmZmEuZW1pdChndWkuRGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXIudGV4dFN0eWxpbmdDaGFuZ2VkLGIpOzA8T2JqZWN0LmtleXMoYykubGVuZ3RoJiZmYS5lbWl0KGd1aS5EaXJlY3RGb3JtYXR0aW5nQ29udHJvbGxlci5wYXJhZ3JhcGhTdHlsaW5nQ2hhbmdlZCwKYyl9ZnVuY3Rpb24gbSgpe1UucmVzZXQoKTtjKCl9ZnVuY3Rpb24gaChhKXsoInN0cmluZyI9PT10eXBlb2YgYT9hOmEuZ2V0TWVtYmVySWQoKSk9PT1iJiZVLnJlc2V0KCl9ZnVuY3Rpb24geSgpe1UucmVzZXQoKX1mdW5jdGlvbiB4KGEpe3ZhciBjPVAuZ2V0Q3Vyc29yKGIpO2E9YS5wYXJhZ3JhcGhFbGVtZW50O2MmJlMuZ2V0UGFyYWdyYXBoRWxlbWVudChjLmdldE5vZGUoKSk9PT1hJiZVLnJlc2V0KCl9ZnVuY3Rpb24geihhLGIpe2IoIWEoKSk7cmV0dXJuITB9ZnVuY3Rpb24gdyhhKXtpZihxKCkuZGlyZWN0VGV4dFN0eWxpbmcpe3ZhciBjPVAuZ2V0Q3Vyc29yU2VsZWN0aW9uKGIpLGQ9eyJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiOmF9OzAhPT1jLmxlbmd0aD8oYT1uZXcgb3BzLk9wQXBwbHlEaXJlY3RTdHlsaW5nLGEuaW5pdCh7bWVtYmVyaWQ6Yixwb3NpdGlvbjpjLnBvc2l0aW9uLGxlbmd0aDpjLmxlbmd0aCxzZXRQcm9wZXJ0aWVzOmR9KSxnLmVucXVldWUoW2FdKSk6KFo9CmFhLm1lcmdlT2JqZWN0cyhafHx7fSxkKSxVLnJlc2V0KCkpfX1mdW5jdGlvbiB2KGEsYil7dmFyIGM9e307Y1thXT1iO3coYyl9ZnVuY3Rpb24gdShhKXthPWEuc3BlYygpO1omJmEubWVtYmVyaWQ9PT1iJiYiU3BsaXRQYXJhZ3JhcGgiIT09YS5vcHR5cGUmJihaPW51bGwsVS5yZXNldCgpKX1mdW5jdGlvbiB0KGEpe3YoImZvOmZvbnQtd2VpZ2h0IixhPyJib2xkIjoibm9ybWFsIil9ZnVuY3Rpb24gQShhKXt2KCJmbzpmb250LXN0eWxlIixhPyJpdGFsaWMiOiJub3JtYWwiKX1mdW5jdGlvbiBJKGEpe3YoInN0eWxlOnRleHQtdW5kZXJsaW5lLXN0eWxlIixhPyJzb2xpZCI6Im5vbmUiKX1mdW5jdGlvbiBLKGEpe3YoInN0eWxlOnRleHQtbGluZS10aHJvdWdoLXN0eWxlIixhPyJzb2xpZCI6Im5vbmUiKX1mdW5jdGlvbiBMKGEpe2lmKHEoKS5kaXJlY3RQYXJhZ3JhcGhTdHlsaW5nKXt2YXIgYz1QLmdldEN1cnNvcihiKS5nZXRTZWxlY3RlZFJhbmdlKCksYz1TLmdldFBhcmFncmFwaEVsZW1lbnRzKGMpLApkPVAuZ2V0Rm9ybWF0dGluZygpLGU9W10saD17fSxtO2MuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgZz1QLmNvbnZlcnREb21Qb2ludFRvQ3Vyc29yU3RlcChjLDAsQyksbD1jLmdldEF0dHJpYnV0ZU5TKG9kZi5OYW1lc3BhY2VzLnRleHRucywic3R5bGUtbmFtZSIpLGs7Yz1sP2guaGFzT3duUHJvcGVydHkobCk/aFtsXTp2b2lkIDA6bTtjfHwoYz1mLmdlbmVyYXRlU3R5bGVOYW1lKCksbD8oaFtsXT1jLGs9ZC5jcmVhdGVEZXJpdmVkU3R5bGVPYmplY3QobCwicGFyYWdyYXBoIix7fSkpOihtPWMsaz17fSksaz1hKGspLGw9bmV3IG9wcy5PcEFkZFN0eWxlLGwuaW5pdCh7bWVtYmVyaWQ6YixzdHlsZU5hbWU6Yy50b1N0cmluZygpLHN0eWxlRmFtaWx5OiJwYXJhZ3JhcGgiLGlzQXV0b21hdGljU3R5bGU6ITAsc2V0UHJvcGVydGllczprfSksZS5wdXNoKGwpKTtsPW5ldyBvcHMuT3BTZXRQYXJhZ3JhcGhTdHlsZTtsLmluaXQoe21lbWJlcmlkOmIsc3R5bGVOYW1lOmMudG9TdHJpbmcoKSwKcG9zaXRpb246Z30pO2UucHVzaChsKX0pO2cuZW5xdWV1ZShlKX19ZnVuY3Rpb24gRShhKXtMKGZ1bmN0aW9uKGIpe3JldHVybiBhYS5tZXJnZU9iamVjdHMoYixhKX0pfWZ1bmN0aW9uIE4oYSl7RSh7InN0eWxlOnBhcmFncmFwaC1wcm9wZXJ0aWVzIjp7ImZvOnRleHQtYWxpZ24iOmF9fSl9ZnVuY3Rpb24gTyhhLGIpe3ZhciBjPVAuZ2V0Rm9ybWF0dGluZygpLmdldERlZmF1bHRUYWJTdG9wRGlzdGFuY2UoKSxkPWJbInN0eWxlOnBhcmFncmFwaC1wcm9wZXJ0aWVzIl0sZTtkJiYoZD1kWyJmbzptYXJnaW4tbGVmdCJdLGU9Uy5wYXJzZUxlbmd0aChkKSk7cmV0dXJuIGFhLm1lcmdlT2JqZWN0cyhiLHsic3R5bGU6cGFyYWdyYXBoLXByb3BlcnRpZXMiOnsiZm86bWFyZ2luLWxlZnQiOmUmJmUudW5pdD09PWMudW5pdD9lLnZhbHVlK2EqYy52YWx1ZStlLnVuaXQ6YSpjLnZhbHVlK2MudW5pdH19KX1mdW5jdGlvbiBEKGEsYil7dmFyIGM9ZShhKSxjPTA9PT1jLmxlbmd0aD9bYS5zdGFydENvbnRhaW5lcl06CmMsYz1QLmdldEZvcm1hdHRpbmcoKS5nZXRBcHBsaWVkU3R5bGVzKGMpLGQ9MDxjLmxlbmd0aD9jWzBdLnN0eWxlUHJvcGVydGllczp2b2lkIDAsaD1QLmdldEZvcm1hdHRpbmcoKS5nZXRBcHBsaWVkU3R5bGVzRm9yRWxlbWVudChiKS5zdHlsZVByb3BlcnRpZXM7aWYoIWR8fCJ0ZXh0IiE9PWRbInN0eWxlOmZhbWlseSJdfHwhZFsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl0pcmV0dXJuITE7aWYoIWh8fCFoWyJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiXSlyZXR1cm4hMDtkPWRbInN0eWxlOnRleHQtcHJvcGVydGllcyJdO2g9aFsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl07cmV0dXJuIU9iamVjdC5rZXlzKGQpLmV2ZXJ5KGZ1bmN0aW9uKGEpe3JldHVybiBkW2FdPT09aFthXX0pfWZ1bmN0aW9uIFYoKXt9ZnVuY3Rpb24gVygpe3JldHVybiExfWZ1bmN0aW9uIEooKXtyZXR1cm4hMX12YXIgUj10aGlzLFA9Zy5nZXRPZHREb2N1bWVudCgpLGFhPW5ldyBjb3JlLlV0aWxzLFM9b2RmLk9kZlV0aWxzLApmYT1uZXcgY29yZS5FdmVudE5vdGlmaWVyKFtndWkuRGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXIuZW5hYmxlZENoYW5nZWQsZ3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyLnRleHRTdHlsaW5nQ2hhbmdlZCxndWkuRGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXIucGFyYWdyYXBoU3R5bGluZ0NoYW5nZWRdKSxoYT1vZGYuTmFtZXNwYWNlcy50ZXh0bnMsQz1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVCxaPW51bGwsYmEsVTt0aGlzLmVuYWJsZWRGZWF0dXJlcz1xO3RoaXMuZm9ybWF0VGV4dFNlbGVjdGlvbj13O3RoaXMuY3JlYXRlQ3Vyc29yU3R5bGVPcD1mdW5jdGlvbihhLGMsZCl7dmFyIGU9bnVsbCxoPVo7ZCYmKGg9KGQ9VS52YWx1ZSgpLmFwcGxpZWRTdHlsZXNbMF0pJiZkLnN0eWxlUHJvcGVydGllcyk7aCYmaFsic3R5bGU6dGV4dC1wcm9wZXJ0aWVzIl0mJihlPW5ldyBvcHMuT3BBcHBseURpcmVjdFN0eWxpbmcsZS5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOmEsbGVuZ3RoOmMsCnNldFByb3BlcnRpZXM6eyJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiOmhbInN0eWxlOnRleHQtcHJvcGVydGllcyJdfX0pLFo9bnVsbCxVLnJlc2V0KCkpO3JldHVybiBlfTt0aGlzLnNldEJvbGQ9dDt0aGlzLnNldEl0YWxpYz1BO3RoaXMuc2V0SGFzVW5kZXJsaW5lPUk7dGhpcy5zZXRIYXNTdHJpa2V0aHJvdWdoPUs7dGhpcy5zZXRGb250U2l6ZT1mdW5jdGlvbihhKXt2KCJmbzpmb250LXNpemUiLGErInB0Iil9O3RoaXMuc2V0Rm9udE5hbWU9ZnVuY3Rpb24oYSl7digic3R5bGU6Zm9udC1uYW1lIixhKX07dGhpcy5nZXRBcHBsaWVkU3R5bGVzPWZ1bmN0aW9uKCl7cmV0dXJuIFUudmFsdWUoKS5hcHBsaWVkU3R5bGVzfTt0aGlzLnRvZ2dsZUJvbGQ9ei5iaW5kKFIsZnVuY3Rpb24oKXtyZXR1cm4gcigpLmlzQm9sZCgpfSx0KTt0aGlzLnRvZ2dsZUl0YWxpYz16LmJpbmQoUixmdW5jdGlvbigpe3JldHVybiByKCkuaXNJdGFsaWMoKX0sQSk7dGhpcy50b2dnbGVVbmRlcmxpbmU9ei5iaW5kKFIsCmZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5oYXNVbmRlcmxpbmUoKX0sSSk7dGhpcy50b2dnbGVTdHJpa2V0aHJvdWdoPXouYmluZChSLGZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5oYXNTdHJpa2VUaHJvdWdoKCl9LEspO3RoaXMuaXNCb2xkPWZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5pc0JvbGQoKX07dGhpcy5pc0l0YWxpYz1mdW5jdGlvbigpe3JldHVybiByKCkuaXNJdGFsaWMoKX07dGhpcy5oYXNVbmRlcmxpbmU9ZnVuY3Rpb24oKXtyZXR1cm4gcigpLmhhc1VuZGVybGluZSgpfTt0aGlzLmhhc1N0cmlrZVRocm91Z2g9ZnVuY3Rpb24oKXtyZXR1cm4gcigpLmhhc1N0cmlrZVRocm91Z2goKX07dGhpcy5mb250U2l6ZT1mdW5jdGlvbigpe3JldHVybiByKCkuZm9udFNpemUoKX07dGhpcy5mb250TmFtZT1mdW5jdGlvbigpe3JldHVybiByKCkuZm9udE5hbWUoKX07dGhpcy5pc0FsaWduZWRMZWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5pc0FsaWduZWRMZWZ0KCl9O3RoaXMuaXNBbGlnbmVkQ2VudGVyPQpmdW5jdGlvbigpe3JldHVybiByKCkuaXNBbGlnbmVkQ2VudGVyKCl9O3RoaXMuaXNBbGlnbmVkUmlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gcigpLmlzQWxpZ25lZFJpZ2h0KCl9O3RoaXMuaXNBbGlnbmVkSnVzdGlmaWVkPWZ1bmN0aW9uKCl7cmV0dXJuIHIoKS5pc0FsaWduZWRKdXN0aWZpZWQoKX07dGhpcy5hbGlnblBhcmFncmFwaExlZnQ9ZnVuY3Rpb24oKXtOKCJsZWZ0Iik7cmV0dXJuITB9O3RoaXMuYWxpZ25QYXJhZ3JhcGhDZW50ZXI9ZnVuY3Rpb24oKXtOKCJjZW50ZXIiKTtyZXR1cm4hMH07dGhpcy5hbGlnblBhcmFncmFwaFJpZ2h0PWZ1bmN0aW9uKCl7TigicmlnaHQiKTtyZXR1cm4hMH07dGhpcy5hbGlnblBhcmFncmFwaEp1c3RpZmllZD1mdW5jdGlvbigpe04oImp1c3RpZnkiKTtyZXR1cm4hMH07dGhpcy5pbmRlbnQ9ZnVuY3Rpb24oKXtMKE8uYmluZChudWxsLDEpKTtyZXR1cm4hMH07dGhpcy5vdXRkZW50PWZ1bmN0aW9uKCl7TChPLmJpbmQobnVsbCwtMSkpO3JldHVybiEwfTsKdGhpcy5jcmVhdGVQYXJhZ3JhcGhTdHlsZU9wcz1mdW5jdGlvbihhKXtpZighcSgpLmRpcmVjdFBhcmFncmFwaFN0eWxpbmcpcmV0dXJuW107dmFyIGM9UC5nZXRDdXJzb3IoYiksZD1jLmdldFNlbGVjdGVkUmFuZ2UoKSxlPVtdLGgsZztjLmhhc0ZvcndhcmRTZWxlY3Rpb24oKT8oaD1jLmdldEFuY2hvck5vZGUoKSxnPWMuZ2V0Tm9kZSgpKTooaD1jLmdldE5vZGUoKSxnPWMuZ2V0QW5jaG9yTm9kZSgpKTtjPVMuZ2V0UGFyYWdyYXBoRWxlbWVudChnKTtydW50aW1lLmFzc2VydChCb29sZWFuKGMpLCJEaXJlY3RGb3JtYXR0aW5nQ29udHJvbGxlcjogQ3Vyc29yIG91dHNpZGUgcGFyYWdyYXBoIik7dmFyIG09YyxsPVtQLmdldFBvc2l0aW9uRmlsdGVyKCksUC5jcmVhdGVSb290RmlsdGVyKGIpXTtpZighMSE9PVAuY3JlYXRlU3RlcEl0ZXJhdG9yKGQuZW5kQ29udGFpbmVyLGQuZW5kT2Zmc2V0LGwsbSkubmV4dFN0ZXAoKSlyZXR1cm4gZTtnIT09aCYmKGM9Uy5nZXRQYXJhZ3JhcGhFbGVtZW50KGgpKTsKaWYoIVomJiFEKGQsYykpcmV0dXJuIGU7ZD0oZD1VLnZhbHVlKCkuYXBwbGllZFN0eWxlc1swXSkmJmQuc3R5bGVQcm9wZXJ0aWVzO2lmKCFkKXJldHVybiBlO2lmKGM9Yy5nZXRBdHRyaWJ1dGVOUyhoYSwic3R5bGUtbmFtZSIpKWQ9eyJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiOmRbInN0eWxlOnRleHQtcHJvcGVydGllcyJdfSxkPVAuZ2V0Rm9ybWF0dGluZygpLmNyZWF0ZURlcml2ZWRTdHlsZU9iamVjdChjLCJwYXJhZ3JhcGgiLGQpO2g9Zi5nZW5lcmF0ZVN0eWxlTmFtZSgpO2M9bmV3IG9wcy5PcEFkZFN0eWxlO2MuaW5pdCh7bWVtYmVyaWQ6YixzdHlsZU5hbWU6aCxzdHlsZUZhbWlseToicGFyYWdyYXBoIixpc0F1dG9tYXRpY1N0eWxlOiEwLHNldFByb3BlcnRpZXM6ZH0pO2UucHVzaChjKTtjPW5ldyBvcHMuT3BTZXRQYXJhZ3JhcGhTdHlsZTtjLmluaXQoe21lbWJlcmlkOmIsc3R5bGVOYW1lOmgscG9zaXRpb246YX0pO2UucHVzaChjKTtyZXR1cm4gZX07dGhpcy5zdWJzY3JpYmU9CmZ1bmN0aW9uKGEsYyl7ZmEuc3Vic2NyaWJlKGEsYyl9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYSxjKXtmYS51bnN1YnNjcmliZShhLGMpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7UC51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsaCk7UC51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZCxoKTtQLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxoKTtQLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhTdHlsZU1vZGlmaWVkLHkpO1AudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQseCk7UC51bnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uRW5kLHUpO1AudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFByb2Nlc3NpbmdCYXRjaEVuZCxjKTtrLnVuc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLAptKTthKCl9OyhmdW5jdGlvbigpe1Auc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZCxoKTtQLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZCxoKTtQLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsaCk7UC5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaFN0eWxlTW9kaWZpZWQseSk7UC5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQseCk7UC5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvbkVuZCx1KTtQLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLGMpO2suc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLG0pO1U9bmV3IGNvcmUuTGF6eVByb3BlcnR5KGwpO2JhPVUudmFsdWUoKTtufHwoUi5mb3JtYXRUZXh0U2VsZWN0aW9uPVYsClIuc2V0Qm9sZD1WLFIuc2V0SXRhbGljPVYsUi5zZXRIYXNVbmRlcmxpbmU9VixSLnNldEhhc1N0cmlrZXRocm91Z2g9VixSLnNldEZvbnRTaXplPVYsUi5zZXRGb250TmFtZT1WLFIudG9nZ2xlQm9sZD1KLFIudG9nZ2xlSXRhbGljPUosUi50b2dnbGVVbmRlcmxpbmU9SixSLnRvZ2dsZVN0cmlrZXRocm91Z2g9Sik7cHx8KFIuYWxpZ25QYXJhZ3JhcGhDZW50ZXI9VyxSLmFsaWduUGFyYWdyYXBoSnVzdGlmaWVkPVcsUi5hbGlnblBhcmFncmFwaExlZnQ9VyxSLmFsaWduUGFyYWdyYXBoUmlnaHQ9VyxSLmNyZWF0ZVBhcmFncmFwaFN0eWxlT3BzPWZ1bmN0aW9uKCl7cmV0dXJuW119LFIuaW5kZW50PVcsUi5vdXRkZW50PVcpfSkoKX07Z3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyLmVuYWJsZWRDaGFuZ2VkPSJlbmFibGVkL2NoYW5nZWQiO2d1aS5EaXJlY3RGb3JtYXR0aW5nQ29udHJvbGxlci50ZXh0U3R5bGluZ0NoYW5nZWQ9InRleHRTdHlsaW5nL2NoYW5nZWQiOwpndWkuRGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXIucGFyYWdyYXBoU3R5bGluZ0NoYW5nZWQ9InBhcmFncmFwaFN0eWxpbmcvY2hhbmdlZCI7Z3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyLlNlbGVjdGlvbkluZm89ZnVuY3Rpb24oKXt9OwpndWkuS2V5Ym9hcmRIYW5kbGVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhiLGQpe2R8fChkPWsuTm9uZSk7c3dpdGNoKGIpe2Nhc2UgZ3VpLktleWJvYXJkSGFuZGxlci5LZXlDb2RlLkxlZnRNZXRhOmNhc2UgZ3VpLktleWJvYXJkSGFuZGxlci5LZXlDb2RlLlJpZ2h0TWV0YTpjYXNlIGd1aS5LZXlib2FyZEhhbmRsZXIuS2V5Q29kZS5NZXRhSW5Nb3ppbGxhOmR8PWsuTWV0YTticmVhaztjYXNlIGd1aS5LZXlib2FyZEhhbmRsZXIuS2V5Q29kZS5DdHJsOmR8PWsuQ3RybDticmVhaztjYXNlIGd1aS5LZXlib2FyZEhhbmRsZXIuS2V5Q29kZS5BbHQ6ZHw9ay5BbHQ7YnJlYWs7Y2FzZSBndWkuS2V5Ym9hcmRIYW5kbGVyLktleUNvZGUuU2hpZnQ6ZHw9ay5TaGlmdH1yZXR1cm4gYisiOiIrZH12YXIgaz1ndWkuS2V5Ym9hcmRIYW5kbGVyLk1vZGlmaWVyLGQ9bnVsbCxiPXt9O3RoaXMuc2V0RGVmYXVsdD1mdW5jdGlvbihiKXtkPWJ9O3RoaXMuYmluZD1mdW5jdGlvbihkLGsscCxyKXtkPWcoZCwKayk7cnVudGltZS5hc3NlcnQocnx8ITE9PT1iLmhhc093blByb3BlcnR5KGQpLCJ0cmllZCB0byBvdmVyd3JpdGUgdGhlIGNhbGxiYWNrIGhhbmRsZXIgb2Yga2V5IGNvbWJvOiAiK2QpO2JbZF09cH07dGhpcy51bmJpbmQ9ZnVuY3Rpb24oZCxrKXt2YXIgcD1nKGQsayk7ZGVsZXRlIGJbcF19O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXtkPW51bGw7Yj17fX07dGhpcy5oYW5kbGVFdmVudD1mdW5jdGlvbihmKXt2YXIgbj1mLmtleUNvZGUscD1rLk5vbmU7Zi5tZXRhS2V5JiYocHw9ay5NZXRhKTtmLmN0cmxLZXkmJihwfD1rLkN0cmwpO2YuYWx0S2V5JiYocHw9ay5BbHQpO2Yuc2hpZnRLZXkmJihwfD1rLlNoaWZ0KTtuPWcobixwKTtuPWJbbl07cD0hMTtuP3A9bigpOm51bGwhPT1kJiYocD1kKGYpKTtwJiYoZi5wcmV2ZW50RGVmYXVsdD9mLnByZXZlbnREZWZhdWx0KCk6Zi5yZXR1cm5WYWx1ZT0hMSl9fTsKZ3VpLktleWJvYXJkSGFuZGxlci5Nb2RpZmllcj17Tm9uZTowLE1ldGE6MSxDdHJsOjIsQWx0OjQsQ3RybEFsdDo2LFNoaWZ0OjgsTWV0YVNoaWZ0OjksQ3RybFNoaWZ0OjEwLEFsdFNoaWZ0OjEyfTtndWkuS2V5Ym9hcmRIYW5kbGVyLktleUNvZGU9e0JhY2tzcGFjZTo4LFRhYjo5LENsZWFyOjEyLEVudGVyOjEzLFNoaWZ0OjE2LEN0cmw6MTcsQWx0OjE4LEVuZDozNSxIb21lOjM2LExlZnQ6MzcsVXA6MzgsUmlnaHQ6MzksRG93bjo0MCxEZWxldGU6NDYsQTo2NSxCOjY2LEM6NjcsRDo2OCxFOjY5LEY6NzAsRzo3MSxIOjcyLEk6NzMsSjo3NCxLOjc1LEw6NzYsTTo3NyxOOjc4LE86NzksUDo4MCxROjgxLFI6ODIsUzo4MyxUOjg0LFU6ODUsVjo4NixXOjg3LFg6ODgsWTo4OSxaOjkwLExlZnRNZXRhOjkxLFJpZ2h0TWV0YTo5MyxNZXRhSW5Nb3ppbGxhOjIyNH07Cmd1aS5IeXBlcmxpbmtDbGlja0hhbmRsZXI9ZnVuY3Rpb24oZyxrLGQpe2Z1bmN0aW9uIGIoKXt2YXIgYT1nKCk7cnVudGltZS5hc3NlcnQoQm9vbGVhbihhLmNsYXNzTGlzdCksIkRvY3VtZW50IGNvbnRhaW5lciBoYXMgbm8gY2xhc3NMaXN0IGVsZW1lbnQiKTthLmNsYXNzTGlzdC5yZW1vdmUoIndlYm9kZi1pbmFjdGl2ZUxpbmtzIil9ZnVuY3Rpb24gZigpe3ZhciBhPWcoKTtydW50aW1lLmFzc2VydChCb29sZWFuKGEuY2xhc3NMaXN0KSwiRG9jdW1lbnQgY29udGFpbmVyIGhhcyBubyBjbGFzc0xpc3QgZWxlbWVudCIpO2EuY2xhc3NMaXN0LmFkZCgid2Vib2RmLWluYWN0aXZlTGlua3MiKX1mdW5jdGlvbiBuKCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsZiwhMSk7bS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2sudW5iaW5kKGEua2V5Q29kZSxhLm1vZGlmaWVyKTtkLnVuYmluZChhLmtleUNvZGUsYS5tb2RpZmllcil9KTttLmxlbmd0aD0wfWZ1bmN0aW9uIHAoYyl7bigpOwppZihjIT09ci5Ob25lKXthLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmLCExKTtzd2l0Y2goYyl7Y2FzZSByLkN0cmw6bS5wdXNoKHtrZXlDb2RlOnEuQ3RybCxtb2RpZmllcjpyLk5vbmV9KTticmVhaztjYXNlIHIuTWV0YTptLnB1c2goe2tleUNvZGU6cS5MZWZ0TWV0YSxtb2RpZmllcjpyLk5vbmV9KSxtLnB1c2goe2tleUNvZGU6cS5SaWdodE1ldGEsbW9kaWZpZXI6ci5Ob25lfSksbS5wdXNoKHtrZXlDb2RlOnEuTWV0YUluTW96aWxsYSxtb2RpZmllcjpyLk5vbmV9KX1tLmZvckVhY2goZnVuY3Rpb24oYSl7ay5iaW5kKGEua2V5Q29kZSxhLm1vZGlmaWVyLGIpO2QuYmluZChhLmtleUNvZGUsYS5tb2RpZmllcixmKX0pfX12YXIgcj1ndWkuS2V5Ym9hcmRIYW5kbGVyLk1vZGlmaWVyLHE9Z3VpLktleWJvYXJkSGFuZGxlci5LZXlDb2RlLGU9eG1sZG9tLlhQYXRoLGw9b2RmLk9kZlV0aWxzLGE9cnVudGltZS5nZXRXaW5kb3coKSxjPXIuTm9uZSxtPVtdO3J1bnRpbWUuYXNzZXJ0KG51bGwhPT0KYSwiRXhwZWN0ZWQgdG8gYmUgcnVuIGluIGFuIGVudmlyb25tZW50IHdoaWNoIGhhcyBhIGdsb2JhbCB3aW5kb3csIGxpa2UgYSBicm93c2VyLiIpO3RoaXMuaGFuZGxlQ2xpY2s9ZnVuY3Rpb24oYil7dmFyIGQ9Yi50YXJnZXR8fGIuc3JjRWxlbWVudCxmLG07Yi5jdHJsS2V5P2Y9ci5DdHJsOmIubWV0YUtleSYmKGY9ci5NZXRhKTtpZihjPT09ci5Ob25lfHxjPT09Zil7YTp7Zm9yKDtudWxsIT09ZDspe2lmKGwuaXNIeXBlcmxpbmsoZCkpYnJlYWsgYTtpZihsLmlzUGFyYWdyYXBoKGQpKWJyZWFrO2Q9ZC5wYXJlbnROb2RlfWQ9bnVsbH1kJiYoZD1sLmdldEh5cGVybGlua1RhcmdldChkKSwiIiE9PWQmJigiIyI9PT1kWzBdPyhkPWQuc3Vic3RyaW5nKDEpLGY9ZygpLG09ZS5nZXRPREZFbGVtZW50c1dpdGhYUGF0aChmLCIvL3RleHQ6Ym9va21hcmstc3RhcnRbQHRleHQ6bmFtZT0nIitkKyInXSIsb2RmLk5hbWVzcGFjZXMubG9va3VwTmFtZXNwYWNlVVJJKSwwPT09bS5sZW5ndGgmJgoobT1lLmdldE9ERkVsZW1lbnRzV2l0aFhQYXRoKGYsIi8vdGV4dDpib29rbWFya1tAdGV4dDpuYW1lPSciK2QrIiddIixvZGYuTmFtZXNwYWNlcy5sb29rdXBOYW1lc3BhY2VVUkkpKSwwPG0ubGVuZ3RoJiZtWzBdLnNjcm9sbEludG9WaWV3KCEwKSk6L15ccyooamF2YXNjcmlwdHxkYXRhKTovLnRlc3QoZCk/cnVudGltZS5sb2coIldBUk46IiwicG90ZW50aWFsbHkgbWFsaWNpb3VzIFVSTCBpZ25vcmVkIik6YS5vcGVuKGQpLGIucHJldmVudERlZmF1bHQ/Yi5wcmV2ZW50RGVmYXVsdCgpOmIucmV0dXJuVmFsdWU9ITEpKX19O3RoaXMuc2V0TW9kaWZpZXI9ZnVuY3Rpb24oYSl7YyE9PWEmJihydW50aW1lLmFzc2VydChhPT09ci5Ob25lfHxhPT09ci5DdHJsfHxhPT09ci5NZXRhLCJVbnN1cHBvcnRlZCBLZXlib2FyZEhhbmRsZXIuTW9kaWZpZXIgdmFsdWU6ICIrYSksYz1hLGMhPT1yLk5vbmU/ZigpOmIoKSxwKGMpKX07dGhpcy5nZXRNb2RpZmllcj1mdW5jdGlvbigpe3JldHVybiBjfTsKdGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe2YoKTtuKCk7YSgpfX07Cmd1aS5FdmVudE1hbmFnZXI9ZnVuY3Rpb24oZyl7ZnVuY3Rpb24gayhhKXtmdW5jdGlvbiBiKGEsYyxkKXt2YXIgZSxoPSExO2U9Im9uIitjO2EuYXR0YWNoRXZlbnQmJihhLmF0dGFjaEV2ZW50KGUsZCksaD0hMCk7IWgmJmEuYWRkRXZlbnRMaXN0ZW5lciYmKGEuYWRkRXZlbnRMaXN0ZW5lcihjLGQsITEpLGg9ITApO2gmJiF1W2NdfHwhYS5oYXNPd25Qcm9wZXJ0eShlKXx8KGFbZV09ZCl9ZnVuY3Rpb24gYyhhLGIsZCl7dmFyIGU9Im9uIitiO2EuZGV0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoZSxkKTthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGQsITEpO2FbZV09PT1kJiYoYVtlXT1udWxsKX1mdW5jdGlvbiBkKGMpe2lmKC0xPT09aC5pbmRleE9mKGMpKXtoLnB1c2goYyk7aWYoZS5maWx0ZXJzLmV2ZXJ5KGZ1bmN0aW9uKGEpe3JldHVybiBhKGMpfSkpdHJ5e2YuZW1pdChhLGMpfWNhdGNoKGIpe3J1bnRpbWUubG9nKCJFcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nICIrCmErIjpcbiIrYi5tZXNzYWdlKyJcbiIrYi5zdGFjayl9cnVudGltZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aC5zcGxpY2UoaC5pbmRleE9mKGMpLDEpfSwwKX19dmFyIGU9dGhpcyxoPVtdLGY9bmV3IGNvcmUuRXZlbnROb3RpZmllcihbYV0pO3RoaXMuZmlsdGVycz1bXTt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihjKXtmLnN1YnNjcmliZShhLGMpfTt0aGlzLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGMpe2YudW5zdWJzY3JpYmUoYSxjKX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKCl7Yyh2LGEsZCk7YyhLLGEsZCk7YyhMLGEsZCl9O3RbYV0mJmIodixhLGQpO2IoSyxhLGQpO2IoTCxhLGQpfWZ1bmN0aW9uIGQoYSxjLGIpe2Z1bmN0aW9uIGQoYyl7YihjLGUsZnVuY3Rpb24oYyl7Yy50eXBlPWE7aC5lbWl0KGEsYyl9KX12YXIgZT17fSxoPW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW2FdKTt0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihjKXtoLnN1YnNjcmliZShhLGMpfTt0aGlzLnVuc3Vic2NyaWJlPQpmdW5jdGlvbihjKXtoLnVuc3Vic2NyaWJlKGEsYyl9O3RoaXMuZGVzdHJveT1mdW5jdGlvbigpe2MuZm9yRWFjaChmdW5jdGlvbihhKXtFLnVuc3Vic2NyaWJlKGEsZCl9KX07KGZ1bmN0aW9uKCl7Yy5mb3JFYWNoKGZ1bmN0aW9uKGEpe0Uuc3Vic2NyaWJlKGEsZCl9KX0pKCl9ZnVuY3Rpb24gYihhKXtydW50aW1lLmNsZWFyVGltZW91dChhKTtkZWxldGUgTlthXX1mdW5jdGlvbiBmKGEsYyl7dmFyIGQ9cnVudGltZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YSgpO2IoZCl9LGMpO05bZF09ITA7cmV0dXJuIGR9ZnVuY3Rpb24gbihhLGMsZCl7dmFyIGU9YS50b3VjaGVzLmxlbmd0aCxoPWEudG91Y2hlc1swXSxnPWMudGltZXI7InRvdWNobW92ZSI9PT1hLnR5cGV8fCJ0b3VjaGVuZCI9PT1hLnR5cGU/ZyYmYihnKToidG91Y2hzdGFydCI9PT1hLnR5cGUmJigxIT09ZT9ydW50aW1lLmNsZWFyVGltZW91dChnKTpnPWYoZnVuY3Rpb24oKXtkKHtjbGllbnRYOmguY2xpZW50WCxjbGllbnRZOmguY2xpZW50WSwKcGFnZVg6aC5wYWdlWCxwYWdlWTpoLnBhZ2VZLHRhcmdldDphLnRhcmdldHx8YS5zcmNFbGVtZW50fHxudWxsLGRldGFpbDoxfSl9LDQwMCkpO2MudGltZXI9Z31mdW5jdGlvbiBwKGEsYyxiKXt2YXIgZD1hLnRvdWNoZXNbMF0sZT1hLnRhcmdldHx8YS5zcmNFbGVtZW50fHxudWxsLGg9Yy50YXJnZXQ7MSE9PWEudG91Y2hlcy5sZW5ndGh8fCJ0b3VjaGVuZCI9PT1hLnR5cGU/aD1udWxsOiJ0b3VjaHN0YXJ0Ij09PWEudHlwZSYmIndlYm9kZi1kcmFnZ2FibGUiPT09ZS5nZXRBdHRyaWJ1dGUoImNsYXNzIik/aD1lOiJ0b3VjaG1vdmUiPT09YS50eXBlJiZoJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCksYih7Y2xpZW50WDpkLmNsaWVudFgsY2xpZW50WTpkLmNsaWVudFkscGFnZVg6ZC5wYWdlWCxwYWdlWTpkLnBhZ2VZLHRhcmdldDpoLGRldGFpbDoxfSkpO2MudGFyZ2V0PWh9ZnVuY3Rpb24gcihhLGMsYil7dmFyIGQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudHx8Cm51bGwsZT1jLmRyYWdnaW5nOyJkcmFnIj09PWEudHlwZT9lPSEwOiJ0b3VjaGVuZCI9PT1hLnR5cGUmJmUmJihlPSExLGE9YS5jaGFuZ2VkVG91Y2hlc1swXSxiKHtjbGllbnRYOmEuY2xpZW50WCxjbGllbnRZOmEuY2xpZW50WSxwYWdlWDphLnBhZ2VYLHBhZ2VZOmEucGFnZVksdGFyZ2V0OmQsZGV0YWlsOjF9KSk7Yy5kcmFnZ2luZz1lfWZ1bmN0aW9uIHEoKXtMLmNsYXNzTGlzdC5hZGQoIndlYm9kZi10b3VjaEVuYWJsZWQiKTtFLnVuc3Vic2NyaWJlKCJ0b3VjaHN0YXJ0IixxKX1mdW5jdGlvbiBlKGEpe3ZhciBjPWEuc2Nyb2xsWCxiPWEuc2Nyb2xsWTt0aGlzLnJlc3RvcmU9ZnVuY3Rpb24oKXthLnNjcm9sbFg9PT1jJiZhLnNjcm9sbFk9PT1ifHxhLnNjcm9sbFRvKGMsYil9fWZ1bmN0aW9uIGwoYSl7dmFyIGM9YS5zY3JvbGxUb3AsYj1hLnNjcm9sbExlZnQ7dGhpcy5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYoYS5zY3JvbGxUb3AhPT1jfHxhLnNjcm9sbExlZnQhPT1iKWEuc2Nyb2xsVG9wPQpjLGEuc2Nyb2xsTGVmdD1ifX1mdW5jdGlvbiBhKGEsYyl7dmFyIGI9SVthXXx8QVthXXx8bnVsbDshYiYmYyYmKGI9SVthXT1uZXcgayhhKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gYyhjLGIpe2EoYywhMCkuc3Vic2NyaWJlKGIpfWZ1bmN0aW9uIG0oYyxiKXt2YXIgZD1hKGMsITEpO2QmJmQudW5zdWJzY3JpYmUoYil9ZnVuY3Rpb24gaCgpe3JldHVybiBnLmdldERPTURvY3VtZW50KCkuYWN0aXZlRWxlbWVudD09PUt9ZnVuY3Rpb24geSgpe2goKSYmSy5ibHVyKCk7Sy5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwidHJ1ZSIpfWZ1bmN0aW9uIHgoKXtLLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZWQiKX1mdW5jdGlvbiB6KGEpe2Zvcih2YXIgYz1bXTthOykoYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRofHxhLnNjcm9sbEhlaWdodD5hLmNsaWVudEhlaWdodCkmJmMucHVzaChuZXcgbChhKSksYT1hLnBhcmVudE5vZGU7Yy5wdXNoKG5ldyBlKHYpKTtyZXR1cm4gY31mdW5jdGlvbiB3KCl7dmFyIGE7CmgoKXx8KGE9eihLKSx4KCksSy5mb2N1cygpLGEuZm9yRWFjaChmdW5jdGlvbihhKXthLnJlc3RvcmUoKX0pKX12YXIgdj1ydW50aW1lLmdldFdpbmRvdygpLHU9e2JlZm9yZWN1dDohMCxiZWZvcmVwYXN0ZTohMCxsb25ncHJlc3M6ITAsZHJhZzohMCxkcmFnc3RvcDohMH0sdD17bW91c2Vkb3duOiEwLG1vdXNldXA6ITAsZm9jdXM6ITB9LEE9e30sST17fSxLLEw9Zy5nZXRDYW52YXMoKS5nZXRFbGVtZW50KCksRT10aGlzLE49e307dGhpcy5hZGRGaWx0ZXI9ZnVuY3Rpb24oYyxiKXthKGMsITApLmZpbHRlcnMucHVzaChiKX07dGhpcy5yZW1vdmVGaWx0ZXI9ZnVuY3Rpb24oYyxiKXt2YXIgZD1hKGMsITApLGU9ZC5maWx0ZXJzLmluZGV4T2YoYik7LTEhPT1lJiZkLmZpbHRlcnMuc3BsaWNlKGUsMSl9O3RoaXMuc3Vic2NyaWJlPWM7dGhpcy51bnN1YnNjcmliZT1tO3RoaXMuaGFzRm9jdXM9aDt0aGlzLmZvY3VzPXc7dGhpcy5nZXRFdmVudFRyYXA9ZnVuY3Rpb24oKXtyZXR1cm4gS307CnRoaXMuc2V0RWRpdGluZz1mdW5jdGlvbihhKXt2YXIgYz1oKCk7YyYmSy5ibHVyKCk7YT9LLnJlbW92ZUF0dHJpYnV0ZSgicmVhZE9ubHkiKTpLLnNldEF0dHJpYnV0ZSgicmVhZE9ubHkiLCJ0cnVlIik7YyYmdygpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7bSgidG91Y2hzdGFydCIscSk7T2JqZWN0LmtleXMoTikuZm9yRWFjaChmdW5jdGlvbihhKXtiKHBhcnNlSW50KGEsMTApKX0pO04ubGVuZ3RoPTA7T2JqZWN0LmtleXMoQSkuZm9yRWFjaChmdW5jdGlvbihhKXtBW2FdLmRlc3Ryb3koKX0pO0E9e307bSgibW91c2Vkb3duIix5KTttKCJtb3VzZXVwIix4KTttKCJjb250ZXh0bWVudSIseCk7T2JqZWN0LmtleXMoSSkuZm9yRWFjaChmdW5jdGlvbihhKXtJW2FdLmRlc3Ryb3koKX0pO0k9e307Sy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEspO2EoKX07KGZ1bmN0aW9uKCl7dmFyIGE9Zy5nZXRPZGZDYW52YXMoKS5nZXRTaXplcigpLGI9YS5vd25lckRvY3VtZW50O3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4odiksCiJFdmVudE1hbmFnZXIgcmVxdWlyZXMgYSB3aW5kb3cgb2JqZWN0IHRvIG9wZXJhdGUgY29ycmVjdGx5Iik7Sz1iLmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7Sy5pZD0iZXZlbnRUcmFwIjtLLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpO0suc2V0QXR0cmlidXRlKCJyZWFkT25seSIsInRydWUiKTtLLnNldEF0dHJpYnV0ZSgicm93cyIsIjEiKTthLmFwcGVuZENoaWxkKEspO2MoIm1vdXNlZG93biIseSk7YygibW91c2V1cCIseCk7YygiY29udGV4dG1lbnUiLHgpO0EubG9uZ3ByZXNzPW5ldyBkKCJsb25ncHJlc3MiLFsidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIl0sbik7QS5kcmFnPW5ldyBkKCJkcmFnIixbInRvdWNoc3RhcnQiLCJ0b3VjaG1vdmUiLCJ0b3VjaGVuZCJdLHApO0EuZHJhZ3N0b3A9bmV3IGQoImRyYWdzdG9wIixbImRyYWciLCJ0b3VjaGVuZCJdLHIpO2MoInRvdWNoc3RhcnQiLHEpfSkoKX07Cmd1aS5JT1NTYWZhcmlTdXBwb3J0PWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoKXtkLmlubmVySGVpZ2h0IT09ZC5vdXRlckhlaWdodCYmKGIuc3R5bGUuZGlzcGxheT0ibm9uZSIscnVudGltZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtiLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn0pKX12YXIgZD1ydW50aW1lLmdldFdpbmRvdygpLGI9Zy5nZXRFdmVudFRyYXAoKTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oZCl7Zy51bnN1YnNjcmliZSgiZm9jdXMiLGspO2IucmVtb3ZlQXR0cmlidXRlKCJhdXRvY2FwaXRhbGl6ZSIpO2Iuc3R5bGUuV2Via2l0VHJhbnNmb3JtPSIiO2QoKX07Zy5zdWJzY3JpYmUoImZvY3VzIixrKTtiLnNldEF0dHJpYnV0ZSgiYXV0b2NhcGl0YWxpemUiLCJvZmYiKTtiLnN0eWxlLldlYmtpdFRyYW5zZm9ybT0idHJhbnNsYXRlWCgtMTAwMDBweCkifTsKZ3VpLkh5cGVybGlua0NvbnRyb2xsZXI9ZnVuY3Rpb24oZyxrLGQsYil7ZnVuY3Rpb24gZigpe3ZhciBiPSEwOyEwPT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSkmJihiPWQuaXNMb2NhbEN1cnNvcldpdGhpbk93bkFubm90YXRpb24oKSk7YiE9PWUmJihlPWIscS5lbWl0KGd1aS5IeXBlcmxpbmtDb250cm9sbGVyLmVuYWJsZWRDaGFuZ2VkLGUpKX1mdW5jdGlvbiBuKGQpe2QuZ2V0TWVtYmVySWQoKT09PWImJmYoKX12YXIgcD1vZGYuT2RmVXRpbHMscj1nLmdldE9kdERvY3VtZW50KCkscT1uZXcgY29yZS5FdmVudE5vdGlmaWVyKFtndWkuSHlwZXJsaW5rQ29udHJvbGxlci5lbmFibGVkQ2hhbmdlZF0pLGU9ITE7dGhpcy5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gZX07dGhpcy5zdWJzY3JpYmU9ZnVuY3Rpb24oYixhKXtxLnN1YnNjcmliZShiLGEpfTt0aGlzLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGIsYSl7cS51bnN1YnNjcmliZShiLAphKX07dGhpcy5hZGRIeXBlcmxpbms9ZnVuY3Rpb24oZCxhKXtpZihlKXt2YXIgYz1yLmdldEN1cnNvclNlbGVjdGlvbihiKSxmPW5ldyBvcHMuT3BBcHBseUh5cGVybGluayxoPVtdO2lmKDA9PT1jLmxlbmd0aHx8YSlhPWF8fGQsZj1uZXcgb3BzLk9wSW5zZXJ0VGV4dCxmLmluaXQoe21lbWJlcmlkOmIscG9zaXRpb246Yy5wb3NpdGlvbix0ZXh0OmF9KSxjLmxlbmd0aD1hLmxlbmd0aCxoLnB1c2goZik7Zj1uZXcgb3BzLk9wQXBwbHlIeXBlcmxpbms7Zi5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOmMucG9zaXRpb24sbGVuZ3RoOmMubGVuZ3RoLGh5cGVybGluazpkfSk7aC5wdXNoKGYpO2cuZW5xdWV1ZShoKX19O3RoaXMucmVtb3ZlSHlwZXJsaW5rcz1mdW5jdGlvbigpe2lmKGUpe3ZhciBkPXIuY3JlYXRlUG9zaXRpb25JdGVyYXRvcihyLmdldFJvb3ROb2RlKCkpLGE9ci5nZXRDdXJzb3IoYikuZ2V0U2VsZWN0ZWRSYW5nZSgpLGM9cC5nZXRIeXBlcmxpbmtFbGVtZW50cyhhKSwKZj1hLmNvbGxhcHNlZCYmMT09PWMubGVuZ3RoLGg9ci5nZXRET01Eb2N1bWVudCgpLmNyZWF0ZVJhbmdlKCksaz1bXSxuLHE7MCE9PWMubGVuZ3RoJiYoYy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2guc2VsZWN0Tm9kZUNvbnRlbnRzKGEpO249ci5jb252ZXJ0RG9tVG9DdXJzb3JSYW5nZSh7YW5jaG9yTm9kZTpoLnN0YXJ0Q29udGFpbmVyLGFuY2hvck9mZnNldDpoLnN0YXJ0T2Zmc2V0LGZvY3VzTm9kZTpoLmVuZENvbnRhaW5lcixmb2N1c09mZnNldDpoLmVuZE9mZnNldH0pO3E9bmV3IG9wcy5PcFJlbW92ZUh5cGVybGluaztxLmluaXQoe21lbWJlcmlkOmIscG9zaXRpb246bi5wb3NpdGlvbixsZW5ndGg6bi5sZW5ndGh9KTtrLnB1c2gocSl9KSxmfHwoZj1jWzBdLC0xPT09YS5jb21wYXJlUG9pbnQoZiwwKSYmKGguc2V0U3RhcnQoZiwwKSxoLnNldEVuZChhLnN0YXJ0Q29udGFpbmVyLGEuc3RhcnRPZmZzZXQpLG49ci5jb252ZXJ0RG9tVG9DdXJzb3JSYW5nZSh7YW5jaG9yTm9kZTpoLnN0YXJ0Q29udGFpbmVyLAphbmNob3JPZmZzZXQ6aC5zdGFydE9mZnNldCxmb2N1c05vZGU6aC5lbmRDb250YWluZXIsZm9jdXNPZmZzZXQ6aC5lbmRPZmZzZXR9KSwwPG4ubGVuZ3RoJiYocT1uZXcgb3BzLk9wQXBwbHlIeXBlcmxpbmsscS5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOm4ucG9zaXRpb24sbGVuZ3RoOm4ubGVuZ3RoLGh5cGVybGluazpwLmdldEh5cGVybGlua1RhcmdldChmKX0pLGsucHVzaChxKSkpLGM9Y1tjLmxlbmd0aC0xXSxkLm1vdmVUb0VuZE9mTm9kZShjKSxkPWQudW5maWx0ZXJlZERvbU9mZnNldCgpLDE9PT1hLmNvbXBhcmVQb2ludChjLGQpJiYoaC5zZXRTdGFydChhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCksaC5zZXRFbmQoYyxkKSxuPXIuY29udmVydERvbVRvQ3Vyc29yUmFuZ2Uoe2FuY2hvck5vZGU6aC5zdGFydENvbnRhaW5lcixhbmNob3JPZmZzZXQ6aC5zdGFydE9mZnNldCxmb2N1c05vZGU6aC5lbmRDb250YWluZXIsZm9jdXNPZmZzZXQ6aC5lbmRPZmZzZXR9KSwwPG4ubGVuZ3RoJiYKKHE9bmV3IG9wcy5PcEFwcGx5SHlwZXJsaW5rLHEuaW5pdCh7bWVtYmVyaWQ6Yixwb3NpdGlvbjpuLnBvc2l0aW9uLGxlbmd0aDpuLmxlbmd0aCxoeXBlcmxpbms6cC5nZXRIeXBlcmxpbmtUYXJnZXQoYyl9KSxrLnB1c2gocSkpKSksZy5lbnF1ZXVlKGspLGguZGV0YWNoKCkpfX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGIpe3IudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLG4pO2sudW5zdWJzY3JpYmUoZ3VpLkNvbW1vbkNvbnN0cmFpbnRzLkVESVQuUkVWSUVXX01PREUsZik7YigpfTtyLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsbik7ay5zdWJzY3JpYmUoZ3VpLkNvbW1vbkNvbnN0cmFpbnRzLkVESVQuUkVWSUVXX01PREUsZik7ZigpfTtndWkuSHlwZXJsaW5rQ29udHJvbGxlci5lbmFibGVkQ2hhbmdlZD0iZW5hYmxlZC9jaGFuZ2VkIjsKZ3VpLkltYWdlQ29udHJvbGxlcj1mdW5jdGlvbihnLGssZCxiLGYpe2Z1bmN0aW9uIG4oKXt2YXIgYT0hMDshMD09PWsuZ2V0U3RhdGUoZ3VpLkNvbW1vbkNvbnN0cmFpbnRzLkVESVQuUkVWSUVXX01PREUpJiYoYT1kLmlzTG9jYWxDdXJzb3JXaXRoaW5Pd25Bbm5vdGF0aW9uKCkpO2EhPT1tJiYobT1hLGMuZW1pdChndWkuSW1hZ2VDb250cm9sbGVyLmVuYWJsZWRDaGFuZ2VkLG0pKX1mdW5jdGlvbiBwKGEpe2EuZ2V0TWVtYmVySWQoKT09PWImJm4oKX12YXIgcj17ImltYWdlL2dpZiI6Ii5naWYiLCJpbWFnZS9qcGVnIjoiLmpwZyIsImltYWdlL3BuZyI6Ii5wbmcifSxxPW9kZi5OYW1lc3BhY2VzLnRleHRucyxlPWcuZ2V0T2R0RG9jdW1lbnQoKSxsPW9kZi5PZGZVdGlscyxhPWUuZ2V0Rm9ybWF0dGluZygpLGM9bmV3IGNvcmUuRXZlbnROb3RpZmllcihbZ3VpLkh5cGVybGlua0NvbnRyb2xsZXIuZW5hYmxlZENoYW5nZWRdKSxtPSExO3RoaXMuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIG19Owp0aGlzLnN1YnNjcmliZT1mdW5jdGlvbihhLGIpe2Muc3Vic2NyaWJlKGEsYil9O3RoaXMudW5zdWJzY3JpYmU9ZnVuY3Rpb24oYSxiKXtjLnVuc3Vic2NyaWJlKGEsYil9O3RoaXMuaW5zZXJ0SW1hZ2U9ZnVuY3Rpb24oYyxkLGssbil7aWYobSl7dmFyIHA9bmV3IGNvcmUuQ1NTVW5pdHM7cnVudGltZS5hc3NlcnQoMDxrJiYwPG4sIkJvdGggd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgaW1hZ2Ugc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwcHguIik7bj17d2lkdGg6ayxoZWlnaHQ6bn07aWYoaz1sLmdldFBhcmFncmFwaEVsZW1lbnQoZS5nZXRDdXJzb3IoYikuZ2V0Tm9kZSgpKS5nZXRBdHRyaWJ1dGVOUyhxLCJzdHlsZS1uYW1lIikpe2s9YS5nZXRDb250ZW50U2l6ZShrLCJwYXJhZ3JhcGgiKTt2YXIgdj0xLHU9MTtuLndpZHRoPmsud2lkdGgmJih2PWsud2lkdGgvbi53aWR0aCk7bi5oZWlnaHQ+ay5oZWlnaHQmJih1PWsuaGVpZ2h0L24uaGVpZ2h0KTtrPU1hdGgubWluKHYsdSk7bj0Ke3dpZHRoOm4ud2lkdGgqayxoZWlnaHQ6bi5oZWlnaHQqa319az1wLmNvbnZlcnQobi53aWR0aCwicHgiLCJjbSIpKyJjbSI7cD1wLmNvbnZlcnQobi5oZWlnaHQsInB4IiwiY20iKSsiY20iO3U9ZS5nZXRPZGZDYW52YXMoKS5vZGZDb250YWluZXIoKS5yb290RWxlbWVudC5zdHlsZXM7bj1jLnRvTG93ZXJDYXNlKCk7dmFyIHY9ci5oYXNPd25Qcm9wZXJ0eShuKT9yW25dOm51bGwsdDtuPVtdO3J1bnRpbWUuYXNzZXJ0KG51bGwhPT12LCJJbWFnZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQ6ICIrYyk7dj0iUGljdHVyZXMvIitmLmdlbmVyYXRlSW1hZ2VOYW1lKCkrdjt0PW5ldyBvcHMuT3BTZXRCbG9iO3QuaW5pdCh7bWVtYmVyaWQ6YixmaWxlbmFtZTp2LG1pbWV0eXBlOmMsY29udGVudDpkfSk7bi5wdXNoKHQpO2EuZ2V0U3R5bGVFbGVtZW50KCJHcmFwaGljcyIsImdyYXBoaWMiLFt1XSl8fChjPW5ldyBvcHMuT3BBZGRTdHlsZSxjLmluaXQoe21lbWJlcmlkOmIsc3R5bGVOYW1lOiJHcmFwaGljcyIsCnN0eWxlRmFtaWx5OiJncmFwaGljIixpc0F1dG9tYXRpY1N0eWxlOiExLHNldFByb3BlcnRpZXM6eyJzdHlsZTpncmFwaGljLXByb3BlcnRpZXMiOnsidGV4dDphbmNob3ItdHlwZSI6InBhcmFncmFwaCIsInN2Zzp4IjoiMGNtIiwic3ZnOnkiOiIwY20iLCJzdHlsZTp3cmFwIjoiZHluYW1pYyIsInN0eWxlOm51bWJlci13cmFwcGVkLXBhcmFncmFwaHMiOiJuby1saW1pdCIsInN0eWxlOndyYXAtY29udG91ciI6ImZhbHNlIiwic3R5bGU6dmVydGljYWwtcG9zIjoidG9wIiwic3R5bGU6dmVydGljYWwtcmVsIjoicGFyYWdyYXBoIiwic3R5bGU6aG9yaXpvbnRhbC1wb3MiOiJjZW50ZXIiLCJzdHlsZTpob3Jpem9udGFsLXJlbCI6InBhcmFncmFwaCJ9fX0pLG4ucHVzaChjKSk7Yz1mLmdlbmVyYXRlU3R5bGVOYW1lKCk7ZD1uZXcgb3BzLk9wQWRkU3R5bGU7ZC5pbml0KHttZW1iZXJpZDpiLHN0eWxlTmFtZTpjLHN0eWxlRmFtaWx5OiJncmFwaGljIixpc0F1dG9tYXRpY1N0eWxlOiEwLApzZXRQcm9wZXJ0aWVzOnsic3R5bGU6cGFyZW50LXN0eWxlLW5hbWUiOiJHcmFwaGljcyIsInN0eWxlOmdyYXBoaWMtcHJvcGVydGllcyI6eyJzdHlsZTp2ZXJ0aWNhbC1wb3MiOiJ0b3AiLCJzdHlsZTp2ZXJ0aWNhbC1yZWwiOiJiYXNlbGluZSIsInN0eWxlOmhvcml6b250YWwtcG9zIjoiY2VudGVyIiwic3R5bGU6aG9yaXpvbnRhbC1yZWwiOiJwYXJhZ3JhcGgiLCJmbzpiYWNrZ3JvdW5kLWNvbG9yIjoidHJhbnNwYXJlbnQiLCJzdHlsZTpiYWNrZ3JvdW5kLXRyYW5zcGFyZW5jeSI6IjEwMCUiLCJzdHlsZTpzaGFkb3ciOiJub25lIiwic3R5bGU6bWlycm9yIjoibm9uZSIsImZvOmNsaXAiOiJyZWN0KDBjbSwgMGNtLCAwY20sIDBjbSkiLCJkcmF3Omx1bWluYW5jZSI6IjAlIiwiZHJhdzpjb250cmFzdCI6IjAlIiwiZHJhdzpyZWQiOiIwJSIsImRyYXc6Z3JlZW4iOiIwJSIsImRyYXc6Ymx1ZSI6IjAlIiwiZHJhdzpnYW1tYSI6IjEwMCUiLCJkcmF3OmNvbG9yLWludmVyc2lvbiI6ImZhbHNlIiwKImRyYXc6aW1hZ2Utb3BhY2l0eSI6IjEwMCUiLCJkcmF3OmNvbG9yLW1vZGUiOiJzdGFuZGFyZCJ9fX0pO24ucHVzaChkKTt0PW5ldyBvcHMuT3BJbnNlcnRJbWFnZTt0LmluaXQoe21lbWJlcmlkOmIscG9zaXRpb246ZS5nZXRDdXJzb3JQb3NpdGlvbihiKSxmaWxlbmFtZTp2LGZyYW1lV2lkdGg6ayxmcmFtZUhlaWdodDpwLGZyYW1lU3R5bGVOYW1lOmMsZnJhbWVOYW1lOmYuZ2VuZXJhdGVGcmFtZU5hbWUoKX0pO24ucHVzaCh0KTtnLmVucXVldWUobil9fTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7ZS51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQscCk7ay51bnN1YnNjcmliZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSxuKTthKCl9O2Uuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxwKTtrLnN1YnNjcmliZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSxuKTtuKCl9OwpndWkuSW1hZ2VDb250cm9sbGVyLmVuYWJsZWRDaGFuZ2VkPSJlbmFibGVkL2NoYW5nZWQiOwpndWkuSW1hZ2VTZWxlY3Rvcj1mdW5jdGlvbihnKXtmdW5jdGlvbiBrKCl7dmFyIGQ9Zy5nZXRTaXplcigpLGs9Zi5jcmVhdGVFbGVtZW50KCJkaXYiKTtrLmlkPSJpbWFnZVNlbGVjdG9yIjtrLnN0eWxlLmJvcmRlcldpZHRoPSIxcHgiO2QuYXBwZW5kQ2hpbGQoayk7Yi5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBkPWYuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5jbGFzc05hbWU9YjtrLmFwcGVuZENoaWxkKGQpfSk7cmV0dXJuIGt9dmFyIGQ9b2RmLk5hbWVzcGFjZXMuc3ZnbnMsYj0idG9wTGVmdCB0b3BSaWdodCBib3R0b21SaWdodCBib3R0b21MZWZ0IHRvcE1pZGRsZSByaWdodE1pZGRsZSBib3R0b21NaWRkbGUgbGVmdE1pZGRsZSIuc3BsaXQoIiAiKSxmPWcuZ2V0RWxlbWVudCgpLm93bmVyRG9jdW1lbnQsbj0hMTt0aGlzLnNlbGVjdD1mdW5jdGlvbihiKXt2YXIgcixxLGU9Zi5nZXRFbGVtZW50QnlJZCgiaW1hZ2VTZWxlY3RvciIpO2V8fChlPWsoKSk7bj0hMDtyPWUucGFyZW50Tm9kZTsKcT1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBsPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT1nLmdldFpvb21MZXZlbCgpO3I9KHEubGVmdC1sLmxlZnQpL2EtMTtxPShxLnRvcC1sLnRvcCkvYS0xO2Uuc3R5bGUuZGlzcGxheT0iYmxvY2siO2Uuc3R5bGUubGVmdD1yKyJweCI7ZS5zdHlsZS50b3A9cSsicHgiO2Uuc3R5bGUud2lkdGg9Yi5nZXRBdHRyaWJ1dGVOUyhkLCJ3aWR0aCIpO2Uuc3R5bGUuaGVpZ2h0PWIuZ2V0QXR0cmlidXRlTlMoZCwiaGVpZ2h0Iil9O3RoaXMuY2xlYXJTZWxlY3Rpb249ZnVuY3Rpb24oKXt2YXIgYjtuJiYoYj1mLmdldEVsZW1lbnRCeUlkKCJpbWFnZVNlbGVjdG9yIikpJiYoYi5zdHlsZS5kaXNwbGF5PSJub25lIik7bj0hMX07dGhpcy5pc1NlbGVjdG9yRWxlbWVudD1mdW5jdGlvbihiKXt2YXIgZD1mLmdldEVsZW1lbnRCeUlkKCJpbWFnZVNlbGVjdG9yIik7cmV0dXJuIGQ/Yj09PWR8fGIucGFyZW50Tm9kZT09PWQ6ITF9fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhnKXtmdW5jdGlvbiBkKGIpe3A9Yi53aGljaCYmU3RyaW5nLmZyb21DaGFyQ29kZShiLndoaWNoKT09PW47bj12b2lkIDA7cmV0dXJuITE9PT1wfWZ1bmN0aW9uIGIoKXtwPSExfWZ1bmN0aW9uIGYoYil7bj1iLmRhdGE7cD0hMX12YXIgbixwPSExO3RoaXMuZGVzdHJveT1mdW5jdGlvbihuKXtnLnVuc3Vic2NyaWJlKCJ0ZXh0SW5wdXQiLGIpO2cudW5zdWJzY3JpYmUoImNvbXBvc2l0aW9uZW5kIixmKTtnLnJlbW92ZUZpbHRlcigia2V5cHJlc3MiLGQpO24oKX07Zy5zdWJzY3JpYmUoInRleHRJbnB1dCIsYik7Zy5zdWJzY3JpYmUoImNvbXBvc2l0aW9uZW5kIixmKTtnLmFkZEZpbHRlcigia2V5cHJlc3MiLGQpfWd1aS5JbnB1dE1ldGhvZEVkaXRvcj1mdW5jdGlvbihrLGQpe2Z1bmN0aW9uIGIoYyl7YSYmKGM/YS5nZXROb2RlKCkuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yIiwiY29tcG9zaW5nIiwidHJ1ZSIpOihhLmdldE5vZGUoKS5yZW1vdmVBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczpjdXJzb3IiLAoiY29tcG9zaW5nIiksaC50ZXh0Q29udGVudD0iIikpfWZ1bmN0aW9uIGYoKXt4JiYoeD0hMSxiKCExKSx3LmVtaXQoZ3VpLklucHV0TWV0aG9kRWRpdG9yLnNpZ25hbENvbXBvc2l0aW9uRW5kLHtkYXRhOnp9KSx6PSIiKX1mdW5jdGlvbiBuKCl7SXx8KEk9ITAsZigpLGEmJmEuZ2V0U2VsZWN0ZWRSYW5nZSgpLmNvbGxhcHNlZD9jLnZhbHVlPSIiOmMudmFsdWU9dS53cml0ZVRvU3RyaW5nKGEuZ2V0U2VsZWN0ZWRSYW5nZSgpLmNsb25lQ29udGVudHMoKSksYy5zZXRTZWxlY3Rpb25SYW5nZSgwLGMudmFsdWUubGVuZ3RoKSxJPSExKX1mdW5jdGlvbiBwKCl7ZC5oYXNGb2N1cygpJiZ5LnRyaWdnZXIoKX1mdW5jdGlvbiByKCl7dj12b2lkIDA7eS5jYW5jZWwoKTtiKCEwKTt4fHx3LmVtaXQoZ3VpLklucHV0TWV0aG9kRWRpdG9yLnNpZ25hbENvbXBvc2l0aW9uU3RhcnQse2RhdGE6IiJ9KX1mdW5jdGlvbiBxKGEpe2E9dj1hLmRhdGE7eD0hMDt6Kz1hO3kudHJpZ2dlcigpfWZ1bmN0aW9uIGUoYSl7YS5kYXRhIT09CnYmJihhPWEuZGF0YSx4PSEwLHorPWEseS50cmlnZ2VyKCkpO3Y9dm9pZCAwfWZ1bmN0aW9uIGwoKXtoLnRleHRDb250ZW50PWMudmFsdWV9dmFyIGE9bnVsbCxjPWQuZ2V0RXZlbnRUcmFwKCksbT1jLm93bmVyRG9jdW1lbnQsaCx5LHg9ITEsej0iIix3PW5ldyBjb3JlLkV2ZW50Tm90aWZpZXIoW2d1aS5JbnB1dE1ldGhvZEVkaXRvci5zaWduYWxDb21wb3NpdGlvblN0YXJ0LGd1aS5JbnB1dE1ldGhvZEVkaXRvci5zaWduYWxDb21wb3NpdGlvbkVuZF0pLHYsdSx0PVtdLEEsST0hMTt0aGlzLnN1YnNjcmliZT13LnN1YnNjcmliZTt0aGlzLnVuc3Vic2NyaWJlPXcudW5zdWJzY3JpYmU7dGhpcy5yZWdpc3RlckN1cnNvcj1mdW5jdGlvbihjKXtjLmdldE1lbWJlcklkKCk9PT1rJiYoYT1jLGEuZ2V0Tm9kZSgpLmFwcGVuZENoaWxkKGgpLGMuc3Vic2NyaWJlKG9wcy5PZHRDdXJzb3Iuc2lnbmFsQ3Vyc29yVXBkYXRlZCxwKSxkLnN1YnNjcmliZSgiaW5wdXQiLGwpLGQuc3Vic2NyaWJlKCJjb21wb3NpdGlvbnVwZGF0ZSIsCmwpKX07dGhpcy5yZW1vdmVDdXJzb3I9ZnVuY3Rpb24oYyl7YSYmYz09PWsmJihhLmdldE5vZGUoKS5yZW1vdmVDaGlsZChoKSxhLnVuc3Vic2NyaWJlKG9wcy5PZHRDdXJzb3Iuc2lnbmFsQ3Vyc29yVXBkYXRlZCxwKSxkLnVuc3Vic2NyaWJlKCJpbnB1dCIsbCksZC51bnN1YnNjcmliZSgiY29tcG9zaXRpb251cGRhdGUiLGwpLGE9bnVsbCl9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihhKXtkLnVuc3Vic2NyaWJlKCJjb21wb3NpdGlvbnN0YXJ0IixyKTtkLnVuc3Vic2NyaWJlKCJjb21wb3NpdGlvbmVuZCIscSk7ZC51bnN1YnNjcmliZSgidGV4dElucHV0IixlKTtkLnVuc3Vic2NyaWJlKCJrZXlwcmVzcyIsZik7ZC51bnN1YnNjcmliZSgiZm9jdXMiLG4pO2NvcmUuQXN5bmMuZGVzdHJveUFsbChBLGEpfTsoZnVuY3Rpb24oKXt1PW5ldyBvZGYuVGV4dFNlcmlhbGl6ZXI7dS5maWx0ZXI9bmV3IG9kZi5PZGZOb2RlRmlsdGVyO2Quc3Vic2NyaWJlKCJjb21wb3NpdGlvbnN0YXJ0IixyKTsKZC5zdWJzY3JpYmUoImNvbXBvc2l0aW9uZW5kIixxKTtkLnN1YnNjcmliZSgidGV4dElucHV0IixlKTtkLnN1YnNjcmliZSgia2V5cHJlc3MiLGYpO2Quc3Vic2NyaWJlKCJmb2N1cyIsbik7dC5wdXNoKG5ldyBnKGQpKTtBPXQubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLmRlc3Ryb3l9KTtoPW0uY3JlYXRlRWxlbWVudCgic3BhbiIpO2guc2V0QXR0cmlidXRlKCJpZCIsImNvbXBvc2VyIik7eT1jb3JlLlRhc2suY3JlYXRlVGltZW91dFRhc2sobiwxKTtBLnB1c2goeS5kZXN0cm95KX0pKCl9O2d1aS5JbnB1dE1ldGhvZEVkaXRvci5zaWduYWxDb21wb3NpdGlvblN0YXJ0PSJpbnB1dC9jb21wb3NpdGlvbnN0YXJ0IjtndWkuSW5wdXRNZXRob2RFZGl0b3Iuc2lnbmFsQ29tcG9zaXRpb25FbmQ9ImlucHV0L2NvbXBvc2l0aW9uZW5kIn0pKCk7Cmd1aS5NZXRhZGF0YUNvbnRyb2xsZXI9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKGIpe24uZW1pdChndWkuTWV0YWRhdGFDb250cm9sbGVyLnNpZ25hbE1ldGFkYXRhQ2hhbmdlZCxiKX1mdW5jdGlvbiBiKGIpe3ZhciBkPS0xPT09cC5pbmRleE9mKGIpO2R8fHJ1bnRpbWUubG9nKCJTZXR0aW5nICIrYisiIGlzIHJlc3RyaWN0ZWQuIik7cmV0dXJuIGR9dmFyIGY9Zy5nZXRPZHREb2N1bWVudCgpLG49bmV3IGNvcmUuRXZlbnROb3RpZmllcihbZ3VpLk1ldGFkYXRhQ29udHJvbGxlci5zaWduYWxNZXRhZGF0YUNoYW5nZWRdKSxwPVsiZGM6Y3JlYXRvciIsImRjOmRhdGUiLCJtZXRhOmVkaXRpbmctY3ljbGVzIiwibWV0YTplZGl0aW5nLWR1cmF0aW9uIiwibWV0YTpkb2N1bWVudC1zdGF0aXN0aWMiXTt0aGlzLnNldE1ldGFkYXRhPWZ1bmN0aW9uKGQsZil7dmFyIGU9e30sbD0iIixhO2QmJk9iamVjdC5rZXlzKGQpLmZpbHRlcihiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2VbYV09ZFthXX0pOwpmJiYobD1mLmZpbHRlcihiKS5qb2luKCIsIikpO2lmKDA8bC5sZW5ndGh8fDA8T2JqZWN0LmtleXMoZSkubGVuZ3RoKWE9bmV3IG9wcy5PcFVwZGF0ZU1ldGFkYXRhLGEuaW5pdCh7bWVtYmVyaWQ6ayxzZXRQcm9wZXJ0aWVzOmUscmVtb3ZlZFByb3BlcnRpZXM6MDxsLmxlbmd0aD97YXR0cmlidXRlczpsfTpudWxsfSksZy5lbnF1ZXVlKFthXSl9O3RoaXMuZ2V0TWV0YWRhdGE9ZnVuY3Rpb24oYil7dmFyIGQ7cnVudGltZS5hc3NlcnQoInN0cmluZyI9PT10eXBlb2YgYiwiUHJvcGVydHkgbXVzdCBiZSBhIHN0cmluZyIpO2Q9Yi5zcGxpdCgiOiIpO3J1bnRpbWUuYXNzZXJ0KDI9PT1kLmxlbmd0aCwiUHJvcGVydHkgbXVzdCBiZSBhIG5hbWVzcGFjZS1wcmVmaXhlZCBzdHJpbmciKTtiPW9kZi5OYW1lc3BhY2VzLmxvb2t1cE5hbWVzcGFjZVVSSShkWzBdKTtydW50aW1lLmFzc2VydChCb29sZWFuKGIpLCJQcmVmaXggbXVzdCBiZSBmb3IgYW4gT0RGIG5hbWVzcGFjZS4iKTtyZXR1cm4gZi5nZXRPZGZDYW52YXMoKS5vZGZDb250YWluZXIoKS5nZXRNZXRhZGF0YShiLApkWzFdKX07dGhpcy5zdWJzY3JpYmU9ZnVuY3Rpb24oYixkKXtuLnN1YnNjcmliZShiLGQpfTt0aGlzLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGIsZCl7bi51bnN1YnNjcmliZShiLGQpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYil7Zi51bnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsTWV0YWRhdGFVcGRhdGVkLGQpO2IoKX07Zi5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbE1ldGFkYXRhVXBkYXRlZCxkKX07Z3VpLk1ldGFkYXRhQ29udHJvbGxlci5zaWduYWxNZXRhZGF0YUNoYW5nZWQ9Im1ldGFkYXRhL2NoYW5nZWQiOwpndWkuUGFzdGVDb250cm9sbGVyPWZ1bmN0aW9uKGcsayxkLGIpe2Z1bmN0aW9uIGYoKXtyPSEwPT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSk/ZC5pc0xvY2FsQ3Vyc29yV2l0aGluT3duQW5ub3RhdGlvbigpOiEwfWZ1bmN0aW9uIG4oYSl7YS5nZXRNZW1iZXJJZCgpPT09YiYmZigpfXZhciBwPWcuZ2V0T2R0RG9jdW1lbnQoKSxyPSExLHE9b2RmLk5hbWVzcGFjZXMudGV4dG5zLGU9Y29yZS5TdGVwRGlyZWN0aW9uLk5FWFQsbD1vZGYuT2RmVXRpbHM7dGhpcy5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gcn07dGhpcy5wYXN0ZT1mdW5jdGlvbihhKXtpZihyKXt2YXIgYz1wLmdldEN1cnNvclBvc2l0aW9uKGIpLGQ9cC5nZXRDdXJzb3IoYikuZ2V0Tm9kZSgpLGQ9bC5nZXRQYXJhZ3JhcGhFbGVtZW50KGQpLGg9ZC5nZXRBdHRyaWJ1dGVOUyhxLCJzdHlsZS1uYW1lIil8fCIiLGY9YyxrPVtdLG49cC5jb252ZXJ0RG9tUG9pbnRUb0N1cnNvclN0ZXAoZCwKMCxlKTthLnJlcGxhY2UoL1xyL2csIiIpLnNwbGl0KCJcbiIpLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGM9bmV3IG9wcy5PcEluc2VydFRleHQsZD1uZXcgb3BzLk9wU3BsaXRQYXJhZ3JhcGg7Yy5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOmYsdGV4dDphLG1vdmVDdXJzb3I6ITB9KTtrLnB1c2goYyk7Zis9YS5sZW5ndGg7ZC5pbml0KHttZW1iZXJpZDpiLHBvc2l0aW9uOmYscGFyYWdyYXBoU3R5bGVOYW1lOmgsc291cmNlUGFyYWdyYXBoUG9zaXRpb246bixtb3ZlQ3Vyc29yOiEwfSk7ay5wdXNoKGQpO249Zis9MX0pO2sucG9wKCk7Zy5lbnF1ZXVlKGspfX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe3AudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLG4pO2sudW5zdWJzY3JpYmUoZ3VpLkNvbW1vbkNvbnN0cmFpbnRzLkVESVQuUkVWSUVXX01PREUsZik7YSgpfTtwLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsbik7Cmsuc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLGYpO2YoKX07Z3VpLkNsb3Nlc3RYT2Zmc2V0U2Nhbm5lcj1mdW5jdGlvbihnKXtmdW5jdGlvbiBrKGIpe3JldHVybiBudWxsIT09YiYmdm9pZCAwIT09Zj9NYXRoLmFicyhiLWcpPmY6ITF9ZnVuY3Rpb24gZChiKXtudWxsIT09YiYmITE9PT1rKGIpJiYoZj1NYXRoLmFicyhiLWcpKX12YXIgYj10aGlzLGYsbj1ndWkuU3RlcEluZm8uVmlzdWFsRGlyZWN0aW9uLkxFRlRfVE9fUklHSFQ7dGhpcy50b2tlbj12b2lkIDA7dGhpcy5wcm9jZXNzPWZ1bmN0aW9uKGYsZyxxKXt2YXIgZSxsO2YudmlzdWFsRGlyZWN0aW9uPT09bj8oZT1nJiZnLnJpZ2h0LGw9cSYmcS5sZWZ0KTooZT1nJiZnLmxlZnQsbD1xJiZxLnJpZ2h0KTtpZihrKGUpfHxrKGwpKXJldHVybiEwO2lmKGd8fHEpZChlKSxkKGwpLGIudG9rZW49Zi50b2tlbjtyZXR1cm4hMX19OwpndWkuTGluZUJvdW5kYXJ5U2Nhbm5lcj1mdW5jdGlvbigpe3ZhciBnPXRoaXMsaz1udWxsO3RoaXMudG9rZW49dm9pZCAwO3RoaXMucHJvY2Vzcz1mdW5jdGlvbihkLGIsZil7dmFyIG47aWYobj1mKWlmKGspe3ZhciBwPWs7bj1NYXRoLm1pbihwLmJvdHRvbS1wLnRvcCxmLmJvdHRvbS1mLnRvcCk7dmFyIHI9TWF0aC5tYXgocC50b3AsZi50b3ApLHA9TWF0aC5taW4ocC5ib3R0b20sZi5ib3R0b20pLXI7bj0uND49KDA8bj9wL246MCl9ZWxzZSBuPSExOyFifHxmJiYhbnx8KGcudG9rZW49ZC50b2tlbik7aWYobilyZXR1cm4hMDtrPShkPWspJiZiP3tsZWZ0Ok1hdGgubWluKGQubGVmdCxiLmxlZnQpLHJpZ2h0Ok1hdGgubWF4KGQucmlnaHQsYi5yaWdodCksdG9wOk1hdGgubWluKGQudG9wLGIudG9wKSxib3R0b206TWF0aC5taW4oZC5ib3R0b20sYi5ib3R0b20pfTpkfHxiO3JldHVybiExfX07Cmd1aS5QYXJhZ3JhcGhCb3VuZGFyeVNjYW5uZXI9ZnVuY3Rpb24oKXt2YXIgZz10aGlzLGs9ITEsZCxiPW9kZi5PZGZVdGlsczt0aGlzLnRva2VuPXZvaWQgMDt0aGlzLnByb2Nlc3M9ZnVuY3Rpb24oZil7dmFyIG49Yi5nZXRQYXJhZ3JhcGhFbGVtZW50KGYuY29udGFpbmVyKCkpO2t8fChkPW4saz0hMCk7aWYoZCE9PW4pcmV0dXJuITA7Zy50b2tlbj1mLnRva2VuO3JldHVybiExfX07Cm9kZi5Xb3JkQm91bmRhcnlGaWx0ZXI9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKGEsYixjKXtmb3IodmFyIGQ9bnVsbCxlPWcuZ2V0Um9vdE5vZGUoKSxmO2EhPT1lJiZudWxsIT09YSYmbnVsbD09PWQ7KWY9MD5iP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcsYyhmKT09PU5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVCYmKGQ9ZiksYT1hLnBhcmVudE5vZGU7cmV0dXJuIGR9ZnVuY3Rpb24gYihhLGIpe3ZhciBjO3JldHVybiBudWxsPT09YT9tLk5PX05FSUdIQk9VUjpwLmlzQ2hhcmFjdGVyRWxlbWVudChhKT9tLlNQQUNFX0NIQVI6YS5ub2RlVHlwZT09PWZ8fHAuaXNUZXh0U3BhbihhKXx8cC5pc0h5cGVybGluayhhKT8oYz1hLnRleHRDb250ZW50LmNoYXJBdChiKCkpLHEudGVzdChjKT9tLlNQQUNFX0NIQVI6ci50ZXN0KGMpP20uUFVOQ1RVQVRJT05fQ0hBUjptLldPUkRfQ0hBUik6bS5PVEhFUn12YXIgZj1Ob2RlLlRFWFRfTk9ERSxuPU5vZGUuRUxFTUVOVF9OT0RFLApwPW9kZi5PZGZVdGlscyxyPS9bIS0jJS0qLC1cLzotOz8tQFxbLVxdX3t9XHUwMGExXHUwMGFiXHUwMGI3XHUwMGJiXHUwMGJmO1x1MDBiN1x1MDU1YS1cdTA1NWZcdTA1ODktXHUwNThhXHUwNWJlXHUwNWMwXHUwNWMzXHUwNWM2XHUwNWYzLVx1MDVmNFx1MDYwOS1cdTA2MGFcdTA2MGMtXHUwNjBkXHUwNjFiXHUwNjFlLVx1MDYxZlx1MDY2YS1cdTA2NmRcdTA2ZDRcdTA3MDAtXHUwNzBkXHUwN2Y3LVx1MDdmOVx1MDk2NC1cdTA5NjVcdTA5NzBcdTBkZjRcdTBlNGZcdTBlNWEtXHUwZTViXHUwZjA0LVx1MGYxMlx1MGYzYS1cdTBmM2RcdTBmODVcdTBmZDAtXHUwZmQ0XHUxMDRhLVx1MTA0Zlx1MTBmYlx1MTM2MS1cdTEzNjhcdTE2NmQtXHUxNjZlXHUxNjliLVx1MTY5Y1x1MTZlYi1cdTE2ZWRcdTE3MzUtXHUxNzM2XHUxN2Q0LVx1MTdkNlx1MTdkOC1cdTE3ZGFcdTE4MDAtXHUxODBhXHUxOTQ0LVx1MTk0NVx1MTlkZS1cdTE5ZGZcdTFhMWUtXHUxYTFmXHUxYjVhLVx1MWI2MFx1MWMzYi1cdTFjM2ZcdTFjN2UtXHUxYzdmXHUyMDAwLVx1MjA2ZVx1MjA3ZC1cdTIwN2VcdTIwOGQtXHUyMDhlXHUzMDA4LVx1MzAwOVx1Mjc2OC1cdTI3NzVcdTI3YzUtXHUyN2M2XHUyN2U2LVx1MjdlZlx1Mjk4My1cdTI5OThcdTI5ZDgtXHUyOWRiXHUyOWZjLVx1MjlmZFx1MmNmOS1cdTJjZmNcdTJjZmUtXHUyY2ZmXHUyZTAwLVx1MmU3ZVx1MzAwMC1cdTMwM2ZcdTMwYTBcdTMwZmJcdWE2MGQtXHVhNjBmXHVhNjczXHVhNjdlXHVhODc0LVx1YTg3N1x1YThjZS1cdWE4Y2ZcdWE5MmUtXHVhOTJmXHVhOTVmXHVhYTVjLVx1YWE1Zlx1ZmQzZS1cdWZkM2ZcdWZlMTAtXHVmZTE5XHVmZTMwLVx1ZmU1Mlx1ZmU1NC1cdWZlNjFcdWZlNjNcdWZlNjhcdWZlNmEtXHVmZTZiXHVmZjAxLVx1ZmYwM1x1ZmYwNS1cdWZmMGFcdWZmMGMtXHVmZjBmXHVmZjFhLVx1ZmYxYlx1ZmYxZi1cdWZmMjBcdWZmM2ItXHVmZjNkXHVmZjNmXHVmZjViXHVmZjVkXHVmZjVmLVx1ZmY2NV18XHVkODAwW1x1ZGQwMC1cdWRkMDFcdWRmOWZcdWRmZDBdfFx1ZDgwMltcdWRkMWZcdWRkM2ZcdWRlNTAtXHVkZTU4XXxcdWQ4MDlbXHVkYzAwLVx1ZGM3ZV0vLApxPS9ccy8sZT1jb3JlLlBvc2l0aW9uRmlsdGVyLkZpbHRlclJlc3VsdC5GSUxURVJfQUNDRVBULGw9Y29yZS5Qb3NpdGlvbkZpbHRlci5GaWx0ZXJSZXN1bHQuRklMVEVSX1JFSkVDVCxhPW9kZi5Xb3JkQm91bmRhcnlGaWx0ZXIuSW5jbHVkZVdoaXRlc3BhY2UuVFJBSUxJTkcsYz1vZGYuV29yZEJvdW5kYXJ5RmlsdGVyLkluY2x1ZGVXaGl0ZXNwYWNlLkxFQURJTkcsbT17Tk9fTkVJR0hCT1VSOjAsU1BBQ0VfQ0hBUjoxLFBVTkNUVUFUSU9OX0NIQVI6MixXT1JEX0NIQVI6MyxPVEhFUjo0fTt0aGlzLmFjY2VwdFBvc2l0aW9uPWZ1bmN0aW9uKGYpe3ZhciBnPWYuY29udGFpbmVyKCkscD1mLmxlZnROb2RlKCkscj1mLnJpZ2h0Tm9kZSgpLHE9Zi51bmZpbHRlcmVkRG9tT2Zmc2V0LHY9ZnVuY3Rpb24oKXtyZXR1cm4gZi51bmZpbHRlcmVkRG9tT2Zmc2V0KCktMX07Zy5ub2RlVHlwZT09PW4mJihudWxsPT09ciYmKHI9ZChnLDEsZi5nZXROb2RlRmlsdGVyKCkpKSxudWxsPT09cCYmKHA9CmQoZywtMSxmLmdldE5vZGVGaWx0ZXIoKSkpKTtnIT09ciYmKHE9ZnVuY3Rpb24oKXtyZXR1cm4gMH0pO2chPT1wJiZudWxsIT09cCYmKHY9ZnVuY3Rpb24oKXtyZXR1cm4gcC50ZXh0Q29udGVudC5sZW5ndGgtMX0pO2c9YihwLHYpO3I9YihyLHEpO3JldHVybiBnPT09bS5XT1JEX0NIQVImJnI9PT1tLldPUkRfQ0hBUnx8Zz09PW0uUFVOQ1RVQVRJT05fQ0hBUiYmcj09PW0uUFVOQ1RVQVRJT05fQ0hBUnx8az09PWEmJmchPT1tLk5PX05FSUdIQk9VUiYmcj09PW0uU1BBQ0VfQ0hBUnx8az09PWMmJmc9PT1tLlNQQUNFX0NIQVImJnIhPT1tLk5PX05FSUdIQk9VUj9sOmV9fTtvZGYuV29yZEJvdW5kYXJ5RmlsdGVyLkluY2x1ZGVXaGl0ZXNwYWNlPXtOb25lOjAsVFJBSUxJTkc6MSxMRUFESU5HOjJ9OwpndWkuU2VsZWN0aW9uQ29udHJvbGxlcj1mdW5jdGlvbihnLGspe2Z1bmN0aW9uIGQoYSl7dmFyIGI9YS5zcGVjKCk7aWYoYS5pc0VkaXR8fGIubWVtYmVyaWQ9PT1rKUk9dm9pZCAwLEsuY2FuY2VsKCl9ZnVuY3Rpb24gYigpe3ZhciBhPXguZ2V0Q3Vyc29yKGspLmdldE5vZGUoKTtyZXR1cm4geC5jcmVhdGVTdGVwSXRlcmF0b3IoYSwwLFt2LHRdLHguZ2V0Um9vdEVsZW1lbnQoYSkpfWZ1bmN0aW9uIGYoYSxiLGMpe2M9bmV3IG9kZi5Xb3JkQm91bmRhcnlGaWx0ZXIoeCxjKTt2YXIgZD14LmdldFJvb3RFbGVtZW50KGEpfHx4LmdldFJvb3ROb2RlKCksZT14LmNyZWF0ZVJvb3RGaWx0ZXIoZCk7cmV0dXJuIHguY3JlYXRlU3RlcEl0ZXJhdG9yKGEsYixbdixlLGNdLGQpfWZ1bmN0aW9uIG4oYSxiKXtyZXR1cm4gYj97YW5jaG9yTm9kZTphLnN0YXJ0Q29udGFpbmVyLGFuY2hvck9mZnNldDphLnN0YXJ0T2Zmc2V0LGZvY3VzTm9kZTphLmVuZENvbnRhaW5lcixmb2N1c09mZnNldDphLmVuZE9mZnNldH06CnthbmNob3JOb2RlOmEuZW5kQ29udGFpbmVyLGFuY2hvck9mZnNldDphLmVuZE9mZnNldCxmb2N1c05vZGU6YS5zdGFydENvbnRhaW5lcixmb2N1c09mZnNldDphLnN0YXJ0T2Zmc2V0fX1mdW5jdGlvbiBwKGEsYixjKXt2YXIgZD1uZXcgb3BzLk9wTW92ZUN1cnNvcjtkLmluaXQoe21lbWJlcmlkOmsscG9zaXRpb246YSxsZW5ndGg6Ynx8MCxzZWxlY3Rpb25UeXBlOmN9KTtyZXR1cm4gZH1mdW5jdGlvbiByKGEsYixjKXt2YXIgZDtkPXguZ2V0Q3Vyc29yKGspO2Q9bihkLmdldFNlbGVjdGVkUmFuZ2UoKSxkLmhhc0ZvcndhcmRTZWxlY3Rpb24oKSk7ZC5mb2N1c05vZGU9YTtkLmZvY3VzT2Zmc2V0PWI7Y3x8KGQuYW5jaG9yTm9kZT1kLmZvY3VzTm9kZSxkLmFuY2hvck9mZnNldD1kLmZvY3VzT2Zmc2V0KTthPXguY29udmVydERvbVRvQ3Vyc29yUmFuZ2UoZCk7Zy5lbnF1ZXVlKFtwKGEucG9zaXRpb24sYS5sZW5ndGgpXSl9ZnVuY3Rpb24gcShhKXt2YXIgYjtiPWYoYS5zdGFydENvbnRhaW5lciwKYS5zdGFydE9mZnNldCxMKTtiLnJvdW5kVG9QcmV2aW91c1N0ZXAoKSYmYS5zZXRTdGFydChiLmNvbnRhaW5lcigpLGIub2Zmc2V0KCkpO2I9ZihhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCxFKTtiLnJvdW5kVG9OZXh0U3RlcCgpJiZhLnNldEVuZChiLmNvbnRhaW5lcigpLGIub2Zmc2V0KCkpfWZ1bmN0aW9uIGUoYSl7dmFyIGI9dy5nZXRQYXJhZ3JhcGhFbGVtZW50cyhhKSxjPWJbMF0sYj1iW2IubGVuZ3RoLTFdO2MmJmEuc2V0U3RhcnQoYywwKTtiJiYody5pc1BhcmFncmFwaChhLmVuZENvbnRhaW5lcikmJjA9PT1hLmVuZE9mZnNldD9hLnNldEVuZEJlZm9yZShiKTphLnNldEVuZChiLGIuY2hpbGROb2Rlcy5sZW5ndGgpKX1mdW5jdGlvbiBsKGEsYixjLGQpe3ZhciBlLGY7ZD8oZT1jLnN0YXJ0Q29udGFpbmVyLGY9Yy5zdGFydE9mZnNldCk6KGU9Yy5lbmRDb250YWluZXIsZj1jLmVuZE9mZnNldCk7ei5jb250YWluc05vZGUoYSxlKXx8KGY9MD56LmNvbXBhcmVQb2ludHMoYSwKMCxlLGYpPzA6YS5jaGlsZE5vZGVzLmxlbmd0aCxlPWEpO2E9eC5jcmVhdGVTdGVwSXRlcmF0b3IoZSxmLGIsdy5nZXRQYXJhZ3JhcGhFbGVtZW50KGUpfHxhKTthLnJvdW5kVG9DbG9zZXN0U3RlcCgpfHxydW50aW1lLmFzc2VydCghMSwiTm8gc3RlcCBmb3VuZCBpbiByZXF1ZXN0ZWQgcmFuZ2UiKTtkP2Muc2V0U3RhcnQoYS5jb250YWluZXIoKSxhLm9mZnNldCgpKTpjLnNldEVuZChhLmNvbnRhaW5lcigpLGEub2Zmc2V0KCkpfWZ1bmN0aW9uIGEoYSxjKXt2YXIgZD1iKCk7ZC5hZHZhbmNlU3RlcChhKSYmcihkLmNvbnRhaW5lcigpLGQub2Zmc2V0KCksYyl9ZnVuY3Rpb24gYyhhLGMpe3ZhciBkLGU9SSxmPVtuZXcgZ3VpLkxpbmVCb3VuZGFyeVNjYW5uZXIsbmV3IGd1aS5QYXJhZ3JhcGhCb3VuZGFyeVNjYW5uZXJdO3ZvaWQgMD09PWUmJkEmJihlPUEoKSk7aXNOYU4oZSl8fChkPWIoKSx1Lm1vdmVUb0ZpbHRlcmVkU3RlcChkLGEsZikmJmQuYWR2YW5jZVN0ZXAoYSkmJihmPVtuZXcgZ3VpLkNsb3Nlc3RYT2Zmc2V0U2Nhbm5lcihlKSwKbmV3IGd1aS5MaW5lQm91bmRhcnlTY2FubmVyLG5ldyBndWkuUGFyYWdyYXBoQm91bmRhcnlTY2FubmVyXSx1Lm1vdmVUb0ZpbHRlcmVkU3RlcChkLGEsZikmJihyKGQuY29udGFpbmVyKCksZC5vZmZzZXQoKSxjKSxJPWUsSy5yZXN0YXJ0KCkpKSl9ZnVuY3Rpb24gbShhLGMpe3ZhciBkPWIoKSxlPVtuZXcgZ3VpLkxpbmVCb3VuZGFyeVNjYW5uZXIsbmV3IGd1aS5QYXJhZ3JhcGhCb3VuZGFyeVNjYW5uZXJdO3UubW92ZVRvRmlsdGVyZWRTdGVwKGQsYSxlKSYmcihkLmNvbnRhaW5lcigpLGQub2Zmc2V0KCksYyl9ZnVuY3Rpb24gaChhLGIpe3ZhciBjPXguZ2V0Q3Vyc29yKGspLGM9bihjLmdldFNlbGVjdGVkUmFuZ2UoKSxjLmhhc0ZvcndhcmRTZWxlY3Rpb24oKSksYz1mKGMuZm9jdXNOb2RlLGMuZm9jdXNPZmZzZXQsTCk7Yy5hZHZhbmNlU3RlcChhKSYmcihjLmNvbnRhaW5lcigpLGMub2Zmc2V0KCksYil9ZnVuY3Rpb24geShhLGIsYyl7dmFyIGQ9ITEsZT14LmdldEN1cnNvcihrKSwKZT1uKGUuZ2V0U2VsZWN0ZWRSYW5nZSgpLGUuaGFzRm9yd2FyZFNlbGVjdGlvbigpKSxkPXguZ2V0Um9vdEVsZW1lbnQoZS5mb2N1c05vZGUpO3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4oZCksIlNlbGVjdGlvbkNvbnRyb2xsZXI6IEN1cnNvciBvdXRzaWRlIHJvb3QiKTtlPXguY3JlYXRlU3RlcEl0ZXJhdG9yKGUuZm9jdXNOb2RlLGUuZm9jdXNPZmZzZXQsW3YsdF0sZCk7ZS5yb3VuZFRvQ2xvc2VzdFN0ZXAoKTtlLmFkdmFuY2VTdGVwKGEpJiYoYz1jKGUuY29udGFpbmVyKCkpKSYmKGE9PT1OPyhlLnNldFBvc2l0aW9uKGMsMCksZD1lLnJvdW5kVG9OZXh0U3RlcCgpKTooZS5zZXRQb3NpdGlvbihjLGMuY2hpbGROb2Rlcy5sZW5ndGgpLGQ9ZS5yb3VuZFRvUHJldmlvdXNTdGVwKCkpLGQmJnIoZS5jb250YWluZXIoKSxlLm9mZnNldCgpLGIpKX12YXIgeD1nLmdldE9kdERvY3VtZW50KCksej1jb3JlLkRvbVV0aWxzLHc9b2RmLk9kZlV0aWxzLHY9eC5nZXRQb3NpdGlvbkZpbHRlcigpLAp1PW5ldyBndWkuR3VpU3RlcFV0aWxzLHQ9eC5jcmVhdGVSb290RmlsdGVyKGspLEE9bnVsbCxJLEssTD1vZGYuV29yZEJvdW5kYXJ5RmlsdGVyLkluY2x1ZGVXaGl0ZXNwYWNlLlRSQUlMSU5HLEU9b2RmLldvcmRCb3VuZGFyeUZpbHRlci5JbmNsdWRlV2hpdGVzcGFjZS5MRUFESU5HLE49Y29yZS5TdGVwRGlyZWN0aW9uLlBSRVZJT1VTLE89Y29yZS5TdGVwRGlyZWN0aW9uLk5FWFQ7dGhpcy5zZWxlY3Rpb25Ub1JhbmdlPWZ1bmN0aW9uKGEpe3ZhciBiPTA8PXouY29tcGFyZVBvaW50cyhhLmFuY2hvck5vZGUsYS5hbmNob3JPZmZzZXQsYS5mb2N1c05vZGUsYS5mb2N1c09mZnNldCksYz1hLmZvY3VzTm9kZS5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Yj8oYy5zZXRTdGFydChhLmFuY2hvck5vZGUsYS5hbmNob3JPZmZzZXQpLGMuc2V0RW5kKGEuZm9jdXNOb2RlLGEuZm9jdXNPZmZzZXQpKTooYy5zZXRTdGFydChhLmZvY3VzTm9kZSxhLmZvY3VzT2Zmc2V0KSxjLnNldEVuZChhLmFuY2hvck5vZGUsCmEuYW5jaG9yT2Zmc2V0KSk7cmV0dXJue3JhbmdlOmMsaGFzRm9yd2FyZFNlbGVjdGlvbjpifX07dGhpcy5yYW5nZVRvU2VsZWN0aW9uPW47dGhpcy5zZWxlY3RJbWFnZT1mdW5jdGlvbihhKXt2YXIgYz14LmdldFJvb3RFbGVtZW50KGEpLGI9eC5jcmVhdGVSb290RmlsdGVyKGMpLGM9eC5jcmVhdGVTdGVwSXRlcmF0b3IoYSwwLFtiLHguZ2V0UG9zaXRpb25GaWx0ZXIoKV0sYyksZDtjLnJvdW5kVG9QcmV2aW91c1N0ZXAoKXx8cnVudGltZS5hc3NlcnQoITEsIk5vIHdhbGthYmxlIHBvc2l0aW9uIGJlZm9yZSBmcmFtZSIpO2I9Yy5jb250YWluZXIoKTtkPWMub2Zmc2V0KCk7Yy5zZXRQb3NpdGlvbihhLGEuY2hpbGROb2Rlcy5sZW5ndGgpO2Mucm91bmRUb05leHRTdGVwKCl8fHJ1bnRpbWUuYXNzZXJ0KCExLCJObyB3YWxrYWJsZSBwb3NpdGlvbiBhZnRlciBmcmFtZSIpO2E9eC5jb252ZXJ0RG9tVG9DdXJzb3JSYW5nZSh7YW5jaG9yTm9kZTpiLGFuY2hvck9mZnNldDpkLGZvY3VzTm9kZTpjLmNvbnRhaW5lcigpLApmb2N1c09mZnNldDpjLm9mZnNldCgpfSk7YT1wKGEucG9zaXRpb24sYS5sZW5ndGgsb3BzLk9kdEN1cnNvci5SZWdpb25TZWxlY3Rpb24pO2cuZW5xdWV1ZShbYV0pfTt0aGlzLmV4cGFuZFRvV29yZEJvdW5kYXJpZXM9cTt0aGlzLmV4cGFuZFRvUGFyYWdyYXBoQm91bmRhcmllcz1lO3RoaXMuc2VsZWN0UmFuZ2U9ZnVuY3Rpb24oYSxjLGIpe3ZhciBkPXguZ2V0T2RmQ2FudmFzKCkuZ2V0RWxlbWVudCgpLGYsaD1bdl07Zj16LmNvbnRhaW5zTm9kZShkLGEuc3RhcnRDb250YWluZXIpO2Q9ei5jb250YWluc05vZGUoZCxhLmVuZENvbnRhaW5lcik7aWYoZnx8ZClpZihmJiZkJiYoMj09PWI/cShhKTozPD1iJiZlKGEpKSwoYj1jP3guZ2V0Um9vdEVsZW1lbnQoYS5zdGFydENvbnRhaW5lcik6eC5nZXRSb290RWxlbWVudChhLmVuZENvbnRhaW5lcikpfHwoYj14LmdldFJvb3ROb2RlKCkpLGgucHVzaCh4LmNyZWF0ZVJvb3RGaWx0ZXIoYikpLGwoYixoLGEsITApLGwoYixoLGEsITEpLGE9Cm4oYSxjKSxjPXguY29udmVydERvbVRvQ3Vyc29yUmFuZ2UoYSksYT14LmdldEN1cnNvclNlbGVjdGlvbihrKSxjLnBvc2l0aW9uIT09YS5wb3NpdGlvbnx8Yy5sZW5ndGghPT1hLmxlbmd0aClhPXAoYy5wb3NpdGlvbixjLmxlbmd0aCxvcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9uKSxnLmVucXVldWUoW2FdKX07dGhpcy5tb3ZlQ3Vyc29yVG9MZWZ0PWZ1bmN0aW9uKCl7YShOLCExKTtyZXR1cm4hMH07dGhpcy5tb3ZlQ3Vyc29yVG9SaWdodD1mdW5jdGlvbigpe2EoTywhMSk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uVG9MZWZ0PWZ1bmN0aW9uKCl7YShOLCEwKTtyZXR1cm4hMH07dGhpcy5leHRlbmRTZWxlY3Rpb25Ub1JpZ2h0PWZ1bmN0aW9uKCl7YShPLCEwKTtyZXR1cm4hMH07dGhpcy5zZXRDYXJldFhQb3NpdGlvbkxvY2F0b3I9ZnVuY3Rpb24oYSl7QT1hfTt0aGlzLm1vdmVDdXJzb3JVcD1mdW5jdGlvbigpe2MoTiwhMSk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvckRvd249CmZ1bmN0aW9uKCl7YyhPLCExKTtyZXR1cm4hMH07dGhpcy5leHRlbmRTZWxlY3Rpb25VcD1mdW5jdGlvbigpe2MoTiwhMCk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uRG93bj1mdW5jdGlvbigpe2MoTywhMCk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvckJlZm9yZVdvcmQ9ZnVuY3Rpb24oKXtoKE4sITEpO3JldHVybiEwfTt0aGlzLm1vdmVDdXJzb3JQYXN0V29yZD1mdW5jdGlvbigpe2goTywhMSk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uQmVmb3JlV29yZD1mdW5jdGlvbigpe2goTiwhMCk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uUGFzdFdvcmQ9ZnVuY3Rpb24oKXtoKE8sITApO3JldHVybiEwfTt0aGlzLm1vdmVDdXJzb3JUb0xpbmVTdGFydD1mdW5jdGlvbigpe20oTiwhMSk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvclRvTGluZUVuZD1mdW5jdGlvbigpe20oTywhMSk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uVG9MaW5lU3RhcnQ9CmZ1bmN0aW9uKCl7bShOLCEwKTtyZXR1cm4hMH07dGhpcy5leHRlbmRTZWxlY3Rpb25Ub0xpbmVFbmQ9ZnVuY3Rpb24oKXttKE8sITApO3JldHVybiEwfTt0aGlzLmV4dGVuZFNlbGVjdGlvblRvUGFyYWdyYXBoU3RhcnQ9ZnVuY3Rpb24oKXt5KE4sITAsdy5nZXRQYXJhZ3JhcGhFbGVtZW50KTtyZXR1cm4hMH07dGhpcy5leHRlbmRTZWxlY3Rpb25Ub1BhcmFncmFwaEVuZD1mdW5jdGlvbigpe3koTywhMCx3LmdldFBhcmFncmFwaEVsZW1lbnQpO3JldHVybiEwfTt0aGlzLm1vdmVDdXJzb3JUb1BhcmFncmFwaFN0YXJ0PWZ1bmN0aW9uKCl7eShOLCExLHcuZ2V0UGFyYWdyYXBoRWxlbWVudCk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvclRvUGFyYWdyYXBoRW5kPWZ1bmN0aW9uKCl7eShPLCExLHcuZ2V0UGFyYWdyYXBoRWxlbWVudCk7cmV0dXJuITB9O3RoaXMubW92ZUN1cnNvclRvRG9jdW1lbnRTdGFydD1mdW5jdGlvbigpe3koTiwhMSx4LmdldFJvb3RFbGVtZW50KTtyZXR1cm4hMH07CnRoaXMubW92ZUN1cnNvclRvRG9jdW1lbnRFbmQ9ZnVuY3Rpb24oKXt5KE8sITEseC5nZXRSb290RWxlbWVudCk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uVG9Eb2N1bWVudFN0YXJ0PWZ1bmN0aW9uKCl7eShOLCEwLHguZ2V0Um9vdEVsZW1lbnQpO3JldHVybiEwfTt0aGlzLmV4dGVuZFNlbGVjdGlvblRvRG9jdW1lbnRFbmQ9ZnVuY3Rpb24oKXt5KE8sITAseC5nZXRSb290RWxlbWVudCk7cmV0dXJuITB9O3RoaXMuZXh0ZW5kU2VsZWN0aW9uVG9FbnRpcmVEb2N1bWVudD1mdW5jdGlvbigpe3ZhciBhPXguZ2V0Q3Vyc29yKGspLGE9eC5nZXRSb290RWxlbWVudChhLmdldE5vZGUoKSksYyxiLGQ7cnVudGltZS5hc3NlcnQoQm9vbGVhbihhKSwiU2VsZWN0aW9uQ29udHJvbGxlcjogQ3Vyc29yIG91dHNpZGUgcm9vdCIpO2Q9eC5jcmVhdGVTdGVwSXRlcmF0b3IoYSwwLFt2LHRdLGEpO2Qucm91bmRUb0Nsb3Nlc3RTdGVwKCk7Yz1kLmNvbnRhaW5lcigpO2I9ZC5vZmZzZXQoKTsKZC5zZXRQb3NpdGlvbihhLGEuY2hpbGROb2Rlcy5sZW5ndGgpO2Qucm91bmRUb0Nsb3Nlc3RTdGVwKCk7YT14LmNvbnZlcnREb21Ub0N1cnNvclJhbmdlKHthbmNob3JOb2RlOmMsYW5jaG9yT2Zmc2V0OmIsZm9jdXNOb2RlOmQuY29udGFpbmVyKCksZm9jdXNPZmZzZXQ6ZC5vZmZzZXQoKX0pO2cuZW5xdWV1ZShbcChhLnBvc2l0aW9uLGEubGVuZ3RoKV0pO3JldHVybiEwfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7eC51bnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uU3RhcnQsZCk7Y29yZS5Bc3luYy5kZXN0cm95QWxsKFtLLmRlc3Ryb3ldLGEpfTsoZnVuY3Rpb24oKXtLPWNvcmUuVGFzay5jcmVhdGVUaW1lb3V0VGFzayhmdW5jdGlvbigpe0k9dm9pZCAwfSwyRTMpO3guc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25TdGFydCxkKX0pKCl9OwpndWkuVGV4dENvbnRyb2xsZXI9ZnVuY3Rpb24oZyxrLGQsYixmLG4pe2Z1bmN0aW9uIHAoKXt5PSEwPT09ay5nZXRTdGF0ZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5SRVZJRVdfTU9ERSk/ZC5pc0xvY2FsQ3Vyc29yV2l0aGluT3duQW5ub3RhdGlvbigpOiEwfWZ1bmN0aW9uIHIoYSl7YS5nZXRNZW1iZXJJZCgpPT09YiYmcCgpfWZ1bmN0aW9uIHEoYSxiLGQpe3ZhciBlPVtjLmdldFBvc2l0aW9uRmlsdGVyKCldO2QmJmUucHVzaChjLmNyZWF0ZVJvb3RGaWx0ZXIoYS5zdGFydENvbnRhaW5lcikpO2Q9Yy5jcmVhdGVTdGVwSXRlcmF0b3IoYS5zdGFydENvbnRhaW5lcixhLnN0YXJ0T2Zmc2V0LGUsYik7ZC5yb3VuZFRvQ2xvc2VzdFN0ZXAoKXx8cnVudGltZS5hc3NlcnQoITEsIk5vIHdhbGthYmxlIHN0ZXAgZm91bmQgaW4gcGFyYWdyYXBoIGVsZW1lbnQgYXQgcmFuZ2Ugc3RhcnQiKTtiPWMuY29udmVydERvbVBvaW50VG9DdXJzb3JTdGVwKGQuY29udGFpbmVyKCksZC5vZmZzZXQoKSk7CmEuY29sbGFwc2VkP2E9YjooZC5zZXRQb3NpdGlvbihhLmVuZENvbnRhaW5lcixhLmVuZE9mZnNldCksZC5yb3VuZFRvQ2xvc2VzdFN0ZXAoKXx8cnVudGltZS5hc3NlcnQoITEsIk5vIHdhbGthYmxlIHN0ZXAgZm91bmQgaW4gcGFyYWdyYXBoIGVsZW1lbnQgYXQgcmFuZ2UgZW5kIiksYT1jLmNvbnZlcnREb21Qb2ludFRvQ3Vyc29yU3RlcChkLmNvbnRhaW5lcigpLGQub2Zmc2V0KCkpKTtyZXR1cm57cG9zaXRpb246YixsZW5ndGg6YS1ifX1mdW5jdGlvbiBlKGEpe3ZhciBjLGQsZSxmPW0uZ2V0UGFyYWdyYXBoRWxlbWVudHMoYSksZz1hLmNsb25lUmFuZ2UoKSxsPVtdO2M9ZlswXTsxPGYubGVuZ3RoJiYobS5oYXNOb09ERkNvbnRlbnQoYykmJihjPWZbZi5sZW5ndGgtMV0pLGQ9Yy5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy50ZXh0bnMsInN0eWxlLW5hbWUiKXx8IiIpO2YuZm9yRWFjaChmdW5jdGlvbihjLGYpe3ZhciBtLGs7Zy5zZXRTdGFydChjLDApO2cuY29sbGFwc2UoITApOwptPXEoZyxjLCExKS5wb3NpdGlvbjswPGYmJihrPW5ldyBvcHMuT3BNZXJnZVBhcmFncmFwaCxrLmluaXQoe21lbWJlcmlkOmIscGFyYWdyYXBoU3R5bGVOYW1lOmQsZGVzdGluYXRpb25TdGFydFBvc2l0aW9uOmUsc291cmNlU3RhcnRQb3NpdGlvbjptLG1vdmVDdXJzb3I6MT09PWZ9KSxsLnVuc2hpZnQoaykpO2U9bTtnLnNlbGVjdE5vZGVDb250ZW50cyhjKTtpZihtPWgucmFuZ2VJbnRlcnNlY3Rpb24oZyxhKSltPXEobSxjLCEwKSwwPG0ubGVuZ3RoJiYoaz1uZXcgb3BzLk9wUmVtb3ZlVGV4dCxrLmluaXQoe21lbWJlcmlkOmIscG9zaXRpb246bS5wb3NpdGlvbixsZW5ndGg6bS5sZW5ndGh9KSxsLnVuc2hpZnQoaykpfSk7cmV0dXJuIGx9ZnVuY3Rpb24gbChhKXswPmEubGVuZ3RoJiYoYS5wb3NpdGlvbis9YS5sZW5ndGgsYS5sZW5ndGg9LWEubGVuZ3RoKTtyZXR1cm4gYX1mdW5jdGlvbiBhKGEpe2lmKCF5KXJldHVybiExO3ZhciBkLGY9Yy5nZXRDdXJzb3IoYikuZ2V0U2VsZWN0ZWRSYW5nZSgpLmNsb25lUmFuZ2UoKSwKaD1sKGMuZ2V0Q3Vyc29yU2VsZWN0aW9uKGIpKSxtO2lmKDA9PT1oLmxlbmd0aCl7aD12b2lkIDA7ZD1jLmdldEN1cnNvcihiKS5nZXROb2RlKCk7bT1jLmdldFJvb3RFbGVtZW50KGQpO3ZhciBrPVtjLmdldFBvc2l0aW9uRmlsdGVyKCksYy5jcmVhdGVSb290RmlsdGVyKG0pXTttPWMuY3JlYXRlU3RlcEl0ZXJhdG9yKGQsMCxrLG0pO20ucm91bmRUb0Nsb3Nlc3RTdGVwKCkmJihhP20ubmV4dFN0ZXAoKTptLnByZXZpb3VzU3RlcCgpKSYmKGg9bChjLmNvbnZlcnREb21Ub0N1cnNvclJhbmdlKHthbmNob3JOb2RlOmQsYW5jaG9yT2Zmc2V0OjAsZm9jdXNOb2RlOm0uY29udGFpbmVyKCksZm9jdXNPZmZzZXQ6bS5vZmZzZXQoKX0pKSxhPyhmLnNldFN0YXJ0KGQsMCksZi5zZXRFbmQobS5jb250YWluZXIoKSxtLm9mZnNldCgpKSk6KGYuc2V0U3RhcnQobS5jb250YWluZXIoKSxtLm9mZnNldCgpKSxmLnNldEVuZChkLDApKSl9aCYmZy5lbnF1ZXVlKGUoZikpO3JldHVybiB2b2lkIDAhPT0KaH12YXIgYz1nLmdldE9kdERvY3VtZW50KCksbT1vZGYuT2RmVXRpbHMsaD1jb3JlLkRvbVV0aWxzLHk9ITEseD1vZGYuTmFtZXNwYWNlcy50ZXh0bnMsej1jb3JlLlN0ZXBEaXJlY3Rpb24uTkVYVDt0aGlzLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiB5fTt0aGlzLmVucXVldWVQYXJhZ3JhcGhTcGxpdHRpbmdPcHM9ZnVuY3Rpb24oKXtpZigheSlyZXR1cm4hMTt2YXIgYT1jLmdldEN1cnNvcihiKSxkPWEuZ2V0U2VsZWN0ZWRSYW5nZSgpLGY9bChjLmdldEN1cnNvclNlbGVjdGlvbihiKSksaD1bXSxhPW0uZ2V0UGFyYWdyYXBoRWxlbWVudChhLmdldE5vZGUoKSksaz1hLmdldEF0dHJpYnV0ZU5TKHgsInN0eWxlLW5hbWUiKXx8IiI7MDxmLmxlbmd0aCYmKGg9aC5jb25jYXQoZShkKSkpO2Q9bmV3IG9wcy5PcFNwbGl0UGFyYWdyYXBoO2QuaW5pdCh7bWVtYmVyaWQ6Yixwb3NpdGlvbjpmLnBvc2l0aW9uLHBhcmFncmFwaFN0eWxlTmFtZTprLHNvdXJjZVBhcmFncmFwaFBvc2l0aW9uOmMuY29udmVydERvbVBvaW50VG9DdXJzb3JTdGVwKGEsCjAseiksbW92ZUN1cnNvcjohMH0pO2gucHVzaChkKTtuJiYoZj1uKGYucG9zaXRpb24rMSksaD1oLmNvbmNhdChmKSk7Zy5lbnF1ZXVlKGgpO3JldHVybiEwfTt0aGlzLnJlbW92ZVRleHRCeUJhY2tzcGFjZUtleT1mdW5jdGlvbigpe3JldHVybiBhKCExKX07dGhpcy5yZW1vdmVUZXh0QnlEZWxldGVLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gYSghMCl9O3RoaXMucmVtb3ZlQ3VycmVudFNlbGVjdGlvbj1mdW5jdGlvbigpe2lmKCF5KXJldHVybiExO3ZhciBhPWMuZ2V0Q3Vyc29yKGIpLmdldFNlbGVjdGVkUmFuZ2UoKTtnLmVucXVldWUoZShhKSk7cmV0dXJuITB9O3RoaXMuaW5zZXJ0VGV4dD1mdW5jdGlvbihhKXtpZih5KXt2YXIgZD1jLmdldEN1cnNvcihiKS5nZXRTZWxlY3RlZFJhbmdlKCksaD1sKGMuZ2V0Q3Vyc29yU2VsZWN0aW9uKGIpKSxtPVtdLGs9ITE7MDxoLmxlbmd0aCYmKG09bS5jb25jYXQoZShkKSksaz0hMCk7ZD1uZXcgb3BzLk9wSW5zZXJ0VGV4dDtkLmluaXQoe21lbWJlcmlkOmIsCnBvc2l0aW9uOmgucG9zaXRpb24sdGV4dDphLG1vdmVDdXJzb3I6ITB9KTttLnB1c2goZCk7ZiYmKGE9ZihoLnBvc2l0aW9uLGEubGVuZ3RoLGspKSYmbS5wdXNoKGEpO2cuZW5xdWV1ZShtKX19O3RoaXMuZGVzdHJveT1mdW5jdGlvbihhKXtjLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxyKTtrLnVuc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLHApO2EoKX07Yy5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLHIpO2suc3Vic2NyaWJlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULlJFVklFV19NT0RFLHApO3AoKX07Z3VpLlVuZG9NYW5hZ2VyPWZ1bmN0aW9uKCl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihnLGspe307Z3VpLlVuZG9NYW5hZ2VyLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbihnLGspe307Cmd1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZyl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnNldEluaXRpYWxTdGF0ZT1mdW5jdGlvbigpe307Z3VpLlVuZG9NYW5hZ2VyLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnB1cmdlSW5pdGlhbFN0YXRlPWZ1bmN0aW9uKCl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnNldFBsYXliYWNrRnVuY3Rpb249ZnVuY3Rpb24oZyl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLmhhc1VuZG9TdGF0ZXM9ZnVuY3Rpb24oKXt9O2d1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUuaGFzUmVkb1N0YXRlcz1mdW5jdGlvbigpe307Z3VpLlVuZG9NYW5hZ2VyLnByb3RvdHlwZS5tb3ZlRm9yd2FyZD1mdW5jdGlvbihnKXt9O2d1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUubW92ZUJhY2t3YXJkPWZ1bmN0aW9uKGcpe307Cmd1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUub25PcGVyYXRpb25FeGVjdXRlZD1mdW5jdGlvbihnKXt9O2d1aS5VbmRvTWFuYWdlci5wcm90b3R5cGUuaXNEb2N1bWVudE1vZGlmaWVkPWZ1bmN0aW9uKCl7fTtndWkuVW5kb01hbmFnZXIucHJvdG90eXBlLnNldERvY3VtZW50TW9kaWZpZWQ9ZnVuY3Rpb24oZyl7fTtndWkuVW5kb01hbmFnZXIuc2lnbmFsVW5kb1N0YWNrQ2hhbmdlZD0idW5kb1N0YWNrQ2hhbmdlZCI7Z3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGF0ZUNyZWF0ZWQ9InVuZG9TdGF0ZUNyZWF0ZWQiO2d1aS5VbmRvTWFuYWdlci5zaWduYWxVbmRvU3RhdGVNb2RpZmllZD0idW5kb1N0YXRlTW9kaWZpZWQiO2d1aS5VbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudE1vZGlmaWVkQ2hhbmdlZD0iZG9jdW1lbnRNb2RpZmllZENoYW5nZWQiOwpndWkuU2Vzc2lvbkNvbnRyb2xsZXJPcHRpb25zPWZ1bmN0aW9uKCl7dGhpcy5hbm5vdGF0aW9uc0VuYWJsZWQ9dGhpcy5kaXJlY3RQYXJhZ3JhcGhTdHlsaW5nRW5hYmxlZD10aGlzLmRpcmVjdFRleHRTdHlsaW5nRW5hYmxlZD0hMX07CihmdW5jdGlvbigpe3ZhciBnPWNvcmUuUG9zaXRpb25GaWx0ZXIuRmlsdGVyUmVzdWx0LkZJTFRFUl9BQ0NFUFQ7Z3VpLlNlc3Npb25Db250cm9sbGVyPWZ1bmN0aW9uKGssZCxiLGYpe2Z1bmN0aW9uIG4oYSxjKXt2YXIgYj1KLmdldERPTURvY3VtZW50KCksZD1udWxsO2IuY2FyZXRSYW5nZUZyb21Qb2ludD8oYj1iLmNhcmV0UmFuZ2VGcm9tUG9pbnQoYSxjKSxkPXtjb250YWluZXI6Yi5zdGFydENvbnRhaW5lcixvZmZzZXQ6Yi5zdGFydE9mZnNldH0pOmIuY2FyZXRQb3NpdGlvbkZyb21Qb2ludCYmKGI9Yi5jYXJldFBvc2l0aW9uRnJvbVBvaW50KGEsYykpJiZiLm9mZnNldE5vZGUmJihkPXtjb250YWluZXI6Yi5vZmZzZXROb2RlLG9mZnNldDpiLm9mZnNldH0pO3JldHVybiBkfWZ1bmN0aW9uIHAoYSl7dmFyIGM9Si5nZXRDdXJzb3IoZCkuZ2V0U2VsZWN0ZWRSYW5nZSgpO2MuY29sbGFwc2VkP2EucHJldmVudERlZmF1bHQoKTpoYS5zZXREYXRhRnJvbVJhbmdlKGEsYyk/ZGEucmVtb3ZlQ3VycmVudFNlbGVjdGlvbigpOgpydW50aW1lLmxvZygiQ3V0IG9wZXJhdGlvbiBmYWlsZWQiKX1mdW5jdGlvbiByKCl7cmV0dXJuITEhPT1KLmdldEN1cnNvcihkKS5nZXRTZWxlY3RlZFJhbmdlKCkuY29sbGFwc2VkfWZ1bmN0aW9uIHEoYSl7dmFyIGM9Si5nZXRDdXJzb3IoZCkuZ2V0U2VsZWN0ZWRSYW5nZSgpO2MuY29sbGFwc2VkP2EucHJldmVudERlZmF1bHQoKTpoYS5zZXREYXRhRnJvbVJhbmdlKGEsYyl8fHJ1bnRpbWUubG9nKCJDb3B5IG9wZXJhdGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBlKGEpe3ZhciBjO1cuY2xpcGJvYXJkRGF0YSYmVy5jbGlwYm9hcmREYXRhLmdldERhdGE/Yz1XLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgiVGV4dCIpOmEuY2xpcGJvYXJkRGF0YSYmYS5jbGlwYm9hcmREYXRhLmdldERhdGEmJihjPWEuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0L3BsYWluIikpO2MmJihkYS5yZW1vdmVDdXJyZW50U2VsZWN0aW9uKCksZWEucGFzdGUoYykpO2EucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOgphLnJldHVyblZhbHVlPSExfWZ1bmN0aW9uIGwoKXtyZXR1cm4hMX1mdW5jdGlvbiBhKGEpe2lmKFEpUS5vbk9wZXJhdGlvbkV4ZWN1dGVkKGEpfWZ1bmN0aW9uIGMoYSl7Si5lbWl0KG9wcy5PZHREb2N1bWVudC5zaWduYWxVbmRvU3RhY2tDaGFuZ2VkLGEpfWZ1bmN0aW9uIG0oKXt2YXIgYTtyZXR1cm4gUT8oYT1GLmhhc0ZvY3VzKCksUS5tb3ZlQmFja3dhcmQoMSksYSYmRi5mb2N1cygpLCEwKTohMX1mdW5jdGlvbiBoKCl7dmFyIGE7cmV0dXJuIFE/KGE9Ri5oYXNGb2N1cygpLFEubW92ZUZvcndhcmQoMSksYSYmRi5mb2N1cygpLCEwKTohMX1mdW5jdGlvbiB5KGEpe3ZhciBjPUouZ2V0Q3Vyc29yKGQpLmdldFNlbGVjdGVkUmFuZ2UoKSxlPShhLnRhcmdldHx8YS5zcmNFbGVtZW50fHxudWxsKS5nZXRBdHRyaWJ1dGUoImVuZCIpO2MmJmUmJihhPW4oYS5jbGllbnRYLGEuY2xpZW50WSkpJiYoaWEuc2V0VW5maWx0ZXJlZFBvc2l0aW9uKGEuY29udGFpbmVyLGEub2Zmc2V0KSxZLmFjY2VwdFBvc2l0aW9uKGlhKT09PQpnJiYoYz1jLmNsb25lUmFuZ2UoKSwibGVmdCI9PT1lP2Muc2V0U3RhcnQoaWEuY29udGFpbmVyKCksaWEudW5maWx0ZXJlZERvbU9mZnNldCgpKTpjLnNldEVuZChpYS5jb250YWluZXIoKSxpYS51bmZpbHRlcmVkRG9tT2Zmc2V0KCkpLGIuc2V0U2VsZWN0ZWRSYW5nZShjLCJyaWdodCI9PT1lKSxKLmVtaXQob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvck1vdmVkLGIpKSl9ZnVuY3Rpb24geCgpe1Quc2VsZWN0UmFuZ2UoYi5nZXRTZWxlY3RlZFJhbmdlKCksYi5oYXNGb3J3YXJkU2VsZWN0aW9uKCksMSl9ZnVuY3Rpb24geigpe3ZhciBhPVcuZ2V0U2VsZWN0aW9uKCksYz0wPGEucmFuZ2VDb3VudCYmVC5zZWxlY3Rpb25Ub1JhbmdlKGEpO1UmJmMmJihCPSEwLGxhLmNsZWFyU2VsZWN0aW9uKCksaWEuc2V0VW5maWx0ZXJlZFBvc2l0aW9uKGEuZm9jdXNOb2RlLGEuZm9jdXNPZmZzZXQpLFkuYWNjZXB0UG9zaXRpb24oaWEpPT09ZyYmKDI9PT1vYT9ULmV4cGFuZFRvV29yZEJvdW5kYXJpZXMoYy5yYW5nZSk6CjM8PW9hJiZULmV4cGFuZFRvUGFyYWdyYXBoQm91bmRhcmllcyhjLnJhbmdlKSxiLnNldFNlbGVjdGVkUmFuZ2UoYy5yYW5nZSxjLmhhc0ZvcndhcmRTZWxlY3Rpb24pLEouZW1pdChvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsYikpKX1mdW5jdGlvbiB3KGEpe3ZhciBjPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnR8fG51bGwsYj1KLmdldEN1cnNvcihkKTtpZihVPW51bGwhPT1jJiZhYS5jb250YWluc05vZGUoSi5nZXRPZGZDYW52YXMoKS5nZXRFbGVtZW50KCksYykpQj0hMSxjPUouZ2V0Um9vdEVsZW1lbnQoYyl8fEouZ2V0Um9vdE5vZGUoKSxZPUouY3JlYXRlUm9vdEZpbHRlcihjKSxvYT0wPT09YS5idXR0b24/YS5kZXRhaWw6MCxiJiZhLnNoaWZ0S2V5P1cuZ2V0U2VsZWN0aW9uKCkuY29sbGFwc2UoYi5nZXRBbmNob3JOb2RlKCksMCk6KGE9Vy5nZXRTZWxlY3Rpb24oKSxjPWIuZ2V0U2VsZWN0ZWRSYW5nZSgpLGEuZXh0ZW5kP2IuaGFzRm9yd2FyZFNlbGVjdGlvbigpPwooYS5jb2xsYXBzZShjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLGEuZXh0ZW5kKGMuZW5kQ29udGFpbmVyLGMuZW5kT2Zmc2V0KSk6KGEuY29sbGFwc2UoYy5lbmRDb250YWluZXIsYy5lbmRPZmZzZXQpLGEuZXh0ZW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkpOihhLnJlbW92ZUFsbFJhbmdlcygpLGEuYWRkUmFuZ2UoYy5jbG9uZVJhbmdlKCkpKSksMTxvYSYmeigpfWZ1bmN0aW9uIHYoYSl7dmFyIGM9Si5nZXRSb290RWxlbWVudChhKSxiPUouY3JlYXRlUm9vdEZpbHRlcihjKSxjPUouY3JlYXRlU3RlcEl0ZXJhdG9yKGEsMCxbYixKLmdldFBvc2l0aW9uRmlsdGVyKCldLGMpO2Muc2V0UG9zaXRpb24oYSxhLmNoaWxkTm9kZXMubGVuZ3RoKTtyZXR1cm4gYy5yb3VuZFRvTmV4dFN0ZXAoKT97Y29udGFpbmVyOmMuY29udGFpbmVyKCksb2Zmc2V0OmMub2Zmc2V0KCl9Om51bGx9ZnVuY3Rpb24gdShhKXt2YXIgYztjPShjPVcuZ2V0U2VsZWN0aW9uKCkpP3thbmNob3JOb2RlOmMuYW5jaG9yTm9kZSwKYW5jaG9yT2Zmc2V0OmMuYW5jaG9yT2Zmc2V0LGZvY3VzTm9kZTpjLmZvY3VzTm9kZSxmb2N1c09mZnNldDpjLmZvY3VzT2Zmc2V0fTpudWxsO3ZhciBiPVcuZ2V0U2VsZWN0aW9uKCkuaXNDb2xsYXBzZWQsZCxlO2MuYW5jaG9yTm9kZXx8Yy5mb2N1c05vZGV8fCEoZD1uKGEuY2xpZW50WCxhLmNsaWVudFkpKXx8KGMuYW5jaG9yTm9kZT1kLmNvbnRhaW5lcixjLmFuY2hvck9mZnNldD1kLm9mZnNldCxjLmZvY3VzTm9kZT1jLmFuY2hvck5vZGUsYy5mb2N1c09mZnNldD1jLmFuY2hvck9mZnNldCk7aWYoUy5pc0ltYWdlKGMuZm9jdXNOb2RlKSYmMD09PWMuZm9jdXNPZmZzZXQmJlMuaXNDaGFyYWN0ZXJGcmFtZShjLmZvY3VzTm9kZS5wYXJlbnROb2RlKSl7aWYoZT1jLmZvY3VzTm9kZS5wYXJlbnROb2RlLGQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhLmNsaWVudFg+ZC5sZWZ0JiYoZD12KGUpKSljLmZvY3VzTm9kZT1kLmNvbnRhaW5lcixjLmZvY3VzT2Zmc2V0PWQub2Zmc2V0LApiJiYoYy5hbmNob3JOb2RlPWMuZm9jdXNOb2RlLGMuYW5jaG9yT2Zmc2V0PWMuZm9jdXNPZmZzZXQpfWVsc2UgUy5pc0ltYWdlKGMuZm9jdXNOb2RlLmZpcnN0Q2hpbGQpJiYxPT09Yy5mb2N1c09mZnNldCYmUy5pc0NoYXJhY3RlckZyYW1lKGMuZm9jdXNOb2RlKSYmKGQ9dihjLmZvY3VzTm9kZSkpJiYoYy5hbmNob3JOb2RlPWMuZm9jdXNOb2RlPWQuY29udGFpbmVyLGMuYW5jaG9yT2Zmc2V0PWMuZm9jdXNPZmZzZXQ9ZC5vZmZzZXQpO2MuYW5jaG9yTm9kZSYmYy5mb2N1c05vZGUmJihjPVQuc2VsZWN0aW9uVG9SYW5nZShjKSxULnNlbGVjdFJhbmdlKGMucmFuZ2UsYy5oYXNGb3J3YXJkU2VsZWN0aW9uLDA9PT1hLmJ1dHRvbj9hLmRldGFpbDowKSk7Ri5mb2N1cygpfWZ1bmN0aW9uIHQoYSl7dmFyIGM7aWYoYz1uKGEuY2xpZW50WCxhLmNsaWVudFkpKWE9Yy5jb250YWluZXIsYz1jLm9mZnNldCxhPXthbmNob3JOb2RlOmEsYW5jaG9yT2Zmc2V0OmMsZm9jdXNOb2RlOmEsZm9jdXNPZmZzZXQ6Y30sCmE9VC5zZWxlY3Rpb25Ub1JhbmdlKGEpLFQuc2VsZWN0UmFuZ2UoYS5yYW5nZSxhLmhhc0ZvcndhcmRTZWxlY3Rpb24sMiksRi5mb2N1cygpfWZ1bmN0aW9uIEEoYSl7dmFyIGM9YS50YXJnZXR8fGEuc3JjRWxlbWVudHx8bnVsbCxkLGUsZjttYS5wcm9jZXNzUmVxdWVzdHMoKTtVJiYoUy5pc0ltYWdlKGMpJiZTLmlzQ2hhcmFjdGVyRnJhbWUoYy5wYXJlbnROb2RlKSYmVy5nZXRTZWxlY3Rpb24oKS5pc0NvbGxhcHNlZD8oVC5zZWxlY3RJbWFnZShjLnBhcmVudE5vZGUpLEYuZm9jdXMoKSk6bGEuaXNTZWxlY3RvckVsZW1lbnQoYyk/Ri5mb2N1cygpOkI/KGM9Yi5nZXRTZWxlY3RlZFJhbmdlKCksZT1jLmNvbGxhcHNlZCxTLmlzSW1hZ2UoYy5lbmRDb250YWluZXIpJiYwPT09Yy5lbmRPZmZzZXQmJlMuaXNDaGFyYWN0ZXJGcmFtZShjLmVuZENvbnRhaW5lci5wYXJlbnROb2RlKSYmKGY9Yy5lbmRDb250YWluZXIucGFyZW50Tm9kZSxmPXYoZikpJiYoYy5zZXRFbmQoZi5jb250YWluZXIsCmYub2Zmc2V0KSxlJiZjLmNvbGxhcHNlKCExKSksVC5zZWxlY3RSYW5nZShjLGIuaGFzRm9yd2FyZFNlbGVjdGlvbigpLDA9PT1hLmJ1dHRvbj9hLmRldGFpbDowKSxGLmZvY3VzKCkpOnVhP3UoYSk6KGQ9YWEuY2xvbmVFdmVudChhKSxNPXJ1bnRpbWUuc2V0VGltZW91dChmdW5jdGlvbigpe3UoZCl9LDApKSxvYT0wLEI9VT0hMSl9ZnVuY3Rpb24gSShhKXt2YXIgYz1KLmdldEN1cnNvcihkKS5nZXRTZWxlY3RlZFJhbmdlKCk7Yy5jb2xsYXBzZWR8fGZhLmV4cG9ydFJhbmdlVG9EYXRhVHJhbnNmZXIoYS5kYXRhVHJhbnNmZXIsYyl9ZnVuY3Rpb24gSygpe1UmJkYuZm9jdXMoKTtvYT0wO0I9VT0hMX1mdW5jdGlvbiBMKGEpe0EoYSl9ZnVuY3Rpb24gRShhKXt2YXIgYz1hLnRhcmdldHx8YS5zcmNFbGVtZW50fHxudWxsLGI9bnVsbDsiYW5ub3RhdGlvblJlbW92ZUJ1dHRvbiI9PT1jLmNsYXNzTmFtZT8ocnVudGltZS5hc3NlcnQoamEsIlJlbW92ZSBidXR0b25zIGFyZSBkaXNwbGF5ZWQgb24gYW5ub3RhdGlvbnMgd2hpbGUgYW5ub3RhdGlvbiBlZGl0aW5nIGlzIGRpc2FibGVkIGluIHRoZSBjb250cm9sbGVyLiIpLApiPWMucGFyZW50Tm9kZS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKG9kZi5OYW1lc3BhY2VzLm9mZmljZW5zLCJhbm5vdGF0aW9uIikuaXRlbSgwKSxjYS5yZW1vdmVBbm5vdGF0aW9uKGIpLEYuZm9jdXMoKSk6IndlYm9kZi1kcmFnZ2FibGUiIT09Yy5nZXRBdHRyaWJ1dGUoImNsYXNzIikmJkEoYSl9ZnVuY3Rpb24gTihhKXsoYT1hLmRhdGEpJiYoLTE9PT1hLmluZGV4T2YoIlxuIik/ZGEuaW5zZXJ0VGV4dChhKTplYS5wYXN0ZShhKSl9ZnVuY3Rpb24gTyhhKXtyZXR1cm4gZnVuY3Rpb24oKXthKCk7cmV0dXJuITB9fWZ1bmN0aW9uIEQoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBKLmdldEN1cnNvcihkKS5nZXRTZWxlY3Rpb25UeXBlKCk9PT1vcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9uP2EoYyk6ITB9fWZ1bmN0aW9uIFYoYyl7Ri51bnN1YnNjcmliZSgia2V5ZG93biIsQy5oYW5kbGVFdmVudCk7Ri51bnN1YnNjcmliZSgia2V5cHJlc3MiLFouaGFuZGxlRXZlbnQpO0YudW5zdWJzY3JpYmUoImtleXVwIiwKYmEuaGFuZGxlRXZlbnQpO0YudW5zdWJzY3JpYmUoImNvcHkiLHEpO0YudW5zdWJzY3JpYmUoIm1vdXNlZG93biIsdyk7Ri51bnN1YnNjcmliZSgibW91c2Vtb3ZlIixtYS50cmlnZ2VyKTtGLnVuc3Vic2NyaWJlKCJtb3VzZXVwIixFKTtGLnVuc3Vic2NyaWJlKCJjb250ZXh0bWVudSIsTCk7Ri51bnN1YnNjcmliZSgiZHJhZ3N0YXJ0IixJKTtGLnVuc3Vic2NyaWJlKCJkcmFnZW5kIixLKTtGLnVuc3Vic2NyaWJlKCJjbGljayIscGEuaGFuZGxlQ2xpY2spO0YudW5zdWJzY3JpYmUoImxvbmdwcmVzcyIsdCk7Ri51bnN1YnNjcmliZSgiZHJhZyIseSk7Ri51bnN1YnNjcmliZSgiZHJhZ3N0b3AiLHgpO0oudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbE9wZXJhdGlvbkVuZCxuYS50cmlnZ2VyKTtKLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZCxrYS5yZWdpc3RlckN1cnNvcik7Si51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yUmVtb3ZlZCwKa2EucmVtb3ZlQ3Vyc29yKTtKLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxPcGVyYXRpb25FbmQsYSk7YygpfXZhciBXPXJ1bnRpbWUuZ2V0V2luZG93KCksSj1rLmdldE9kdERvY3VtZW50KCksUj1uZXcgZ3VpLlNlc3Npb25Db25zdHJhaW50cyxQPW5ldyBndWkuU2Vzc2lvbkNvbnRleHQoayxkKSxhYT1jb3JlLkRvbVV0aWxzLFM9b2RmLk9kZlV0aWxzLGZhPW5ldyBndWkuTWltZURhdGFFeHBvcnRlcixoYT1uZXcgZ3VpLkNsaXBib2FyZChmYSksQz1uZXcgZ3VpLktleWJvYXJkSGFuZGxlcixaPW5ldyBndWkuS2V5Ym9hcmRIYW5kbGVyLGJhPW5ldyBndWkuS2V5Ym9hcmRIYW5kbGVyLFU9ITEsZ2E9bmV3IG9kZi5PYmplY3ROYW1lR2VuZXJhdG9yKEouZ2V0T2RmQ2FudmFzKCkub2RmQ29udGFpbmVyKCksZCksQj0hMSxZPW51bGwsTSxRPW51bGwsRj1uZXcgZ3VpLkV2ZW50TWFuYWdlcihKKSxqYT1mLmFubm90YXRpb25zRW5hYmxlZCxjYT1uZXcgZ3VpLkFubm90YXRpb25Db250cm9sbGVyKGssClIsZCksWD1uZXcgZ3VpLkRpcmVjdEZvcm1hdHRpbmdDb250cm9sbGVyKGssUixQLGQsZ2EsZi5kaXJlY3RUZXh0U3R5bGluZ0VuYWJsZWQsZi5kaXJlY3RQYXJhZ3JhcGhTdHlsaW5nRW5hYmxlZCksZGE9bmV3IGd1aS5UZXh0Q29udHJvbGxlcihrLFIsUCxkLFguY3JlYXRlQ3Vyc29yU3R5bGVPcCxYLmNyZWF0ZVBhcmFncmFwaFN0eWxlT3BzKSxxYT1uZXcgZ3VpLkltYWdlQ29udHJvbGxlcihrLFIsUCxkLGdhKSxsYT1uZXcgZ3VpLkltYWdlU2VsZWN0b3IoSi5nZXRPZGZDYW52YXMoKSksaWE9Si5jcmVhdGVQb3NpdGlvbkl0ZXJhdG9yKEouZ2V0Um9vdE5vZGUoKSksbWEsbmEsZWE9bmV3IGd1aS5QYXN0ZUNvbnRyb2xsZXIoayxSLFAsZCksa2E9bmV3IGd1aS5JbnB1dE1ldGhvZEVkaXRvcihkLEYpLG9hPTAscGE9bmV3IGd1aS5IeXBlcmxpbmtDbGlja0hhbmRsZXIoSi5nZXRPZGZDYW52YXMoKS5nZXRFbGVtZW50LEMsYmEpLHRhPW5ldyBndWkuSHlwZXJsaW5rQ29udHJvbGxlcihrLApSLFAsZCksVD1uZXcgZ3VpLlNlbGVjdGlvbkNvbnRyb2xsZXIoayxkKSx2YT1uZXcgZ3VpLk1ldGFkYXRhQ29udHJvbGxlcihrLGQpLEc9Z3VpLktleWJvYXJkSGFuZGxlci5Nb2RpZmllcixIPWd1aS5LZXlib2FyZEhhbmRsZXIuS2V5Q29kZSxyYT0tMSE9PVcubmF2aWdhdG9yLmFwcFZlcnNpb24udG9Mb3dlckNhc2UoKS5pbmRleE9mKCJtYWMiKSx1YT0tMSE9PVsiaVBhZCIsImlQb2QiLCJpUGhvbmUiXS5pbmRleE9mKFcubmF2aWdhdG9yLnBsYXRmb3JtKSxzYTtydW50aW1lLmFzc2VydChudWxsIT09VywiRXhwZWN0ZWQgdG8gYmUgcnVuIGluIGFuIGVudmlyb25tZW50IHdoaWNoIGhhcyBhIGdsb2JhbCB3aW5kb3csIGxpa2UgYSBicm93c2VyLiIpO3RoaXMudW5kbz1tO3RoaXMucmVkbz1oO3RoaXMuaW5zZXJ0TG9jYWxDdXJzb3I9ZnVuY3Rpb24oKXtydW50aW1lLmFzc2VydCh2b2lkIDA9PT1rLmdldE9kdERvY3VtZW50KCkuZ2V0Q3Vyc29yKGQpLCJJbnNlcnRpbmcgbG9jYWwgY3Vyc29yIGEgc2Vjb25kIHRpbWUuIik7CnZhciBhPW5ldyBvcHMuT3BBZGRDdXJzb3I7YS5pbml0KHttZW1iZXJpZDpkfSk7ay5lbnF1ZXVlKFthXSk7Ri5mb2N1cygpfTt0aGlzLnJlbW92ZUxvY2FsQ3Vyc29yPWZ1bmN0aW9uKCl7cnVudGltZS5hc3NlcnQodm9pZCAwIT09ay5nZXRPZHREb2N1bWVudCgpLmdldEN1cnNvcihkKSwiUmVtb3ZpbmcgbG9jYWwgY3Vyc29yIHdpdGhvdXQgaW5zZXJ0aW5nIGJlZm9yZS4iKTt2YXIgYT1uZXcgb3BzLk9wUmVtb3ZlQ3Vyc29yO2EuaW5pdCh7bWVtYmVyaWQ6ZH0pO2suZW5xdWV1ZShbYV0pfTt0aGlzLnN0YXJ0RWRpdGluZz1mdW5jdGlvbigpe2thLnN1YnNjcmliZShndWkuSW5wdXRNZXRob2RFZGl0b3Iuc2lnbmFsQ29tcG9zaXRpb25TdGFydCxkYS5yZW1vdmVDdXJyZW50U2VsZWN0aW9uKTtrYS5zdWJzY3JpYmUoZ3VpLklucHV0TWV0aG9kRWRpdG9yLnNpZ25hbENvbXBvc2l0aW9uRW5kLE4pO0Yuc3Vic2NyaWJlKCJiZWZvcmVjdXQiLHIpO0Yuc3Vic2NyaWJlKCJjdXQiLHApOwpGLnN1YnNjcmliZSgiYmVmb3JlcGFzdGUiLGwpO0Yuc3Vic2NyaWJlKCJwYXN0ZSIsZSk7USYmUS5pbml0aWFsaXplKCk7Ri5zZXRFZGl0aW5nKCEwKTtwYS5zZXRNb2RpZmllcihyYT9HLk1ldGE6Ry5DdHJsKTtDLmJpbmQoSC5CYWNrc3BhY2UsRy5Ob25lLE8oZGEucmVtb3ZlVGV4dEJ5QmFja3NwYWNlS2V5KSwhMCk7Qy5iaW5kKEguRGVsZXRlLEcuTm9uZSxkYS5yZW1vdmVUZXh0QnlEZWxldGVLZXkpO0MuYmluZChILlRhYixHLk5vbmUsRChmdW5jdGlvbigpe2RhLmluc2VydFRleHQoIlx0Iik7cmV0dXJuITB9KSk7cmE/KEMuYmluZChILkNsZWFyLEcuTm9uZSxkYS5yZW1vdmVDdXJyZW50U2VsZWN0aW9uKSxDLmJpbmQoSC5CLEcuTWV0YSxEKFgudG9nZ2xlQm9sZCkpLEMuYmluZChILkksRy5NZXRhLEQoWC50b2dnbGVJdGFsaWMpKSxDLmJpbmQoSC5VLEcuTWV0YSxEKFgudG9nZ2xlVW5kZXJsaW5lKSksQy5iaW5kKEguTCxHLk1ldGFTaGlmdCxEKFguYWxpZ25QYXJhZ3JhcGhMZWZ0KSksCkMuYmluZChILkUsRy5NZXRhU2hpZnQsRChYLmFsaWduUGFyYWdyYXBoQ2VudGVyKSksQy5iaW5kKEguUixHLk1ldGFTaGlmdCxEKFguYWxpZ25QYXJhZ3JhcGhSaWdodCkpLEMuYmluZChILkosRy5NZXRhU2hpZnQsRChYLmFsaWduUGFyYWdyYXBoSnVzdGlmaWVkKSksamEmJkMuYmluZChILkMsRy5NZXRhU2hpZnQsY2EuYWRkQW5ub3RhdGlvbiksQy5iaW5kKEguWixHLk1ldGEsbSksQy5iaW5kKEguWixHLk1ldGFTaGlmdCxoKSk6KEMuYmluZChILkIsRy5DdHJsLEQoWC50b2dnbGVCb2xkKSksQy5iaW5kKEguSSxHLkN0cmwsRChYLnRvZ2dsZUl0YWxpYykpLEMuYmluZChILlUsRy5DdHJsLEQoWC50b2dnbGVVbmRlcmxpbmUpKSxDLmJpbmQoSC5MLEcuQ3RybFNoaWZ0LEQoWC5hbGlnblBhcmFncmFwaExlZnQpKSxDLmJpbmQoSC5FLEcuQ3RybFNoaWZ0LEQoWC5hbGlnblBhcmFncmFwaENlbnRlcikpLEMuYmluZChILlIsRy5DdHJsU2hpZnQsRChYLmFsaWduUGFyYWdyYXBoUmlnaHQpKSwKQy5iaW5kKEguSixHLkN0cmxTaGlmdCxEKFguYWxpZ25QYXJhZ3JhcGhKdXN0aWZpZWQpKSxqYSYmQy5iaW5kKEguQyxHLkN0cmxBbHQsY2EuYWRkQW5ub3RhdGlvbiksQy5iaW5kKEguWixHLkN0cmwsbSksQy5iaW5kKEguWixHLkN0cmxTaGlmdCxoKSk7Wi5zZXREZWZhdWx0KEQoZnVuY3Rpb24oYSl7dmFyIGM7Yz1udWxsPT09YS53aGljaHx8dm9pZCAwPT09YS53aGljaD9TdHJpbmcuZnJvbUNoYXJDb2RlKGEua2V5Q29kZSk6MCE9PWEud2hpY2gmJjAhPT1hLmNoYXJDb2RlP1N0cmluZy5mcm9tQ2hhckNvZGUoYS53aGljaCk6bnVsbDtyZXR1cm4hY3x8YS5hbHRLZXl8fGEuY3RybEtleXx8YS5tZXRhS2V5PyExOihkYS5pbnNlcnRUZXh0KGMpLCEwKX0pKTtaLmJpbmQoSC5FbnRlcixHLk5vbmUsRChkYS5lbnF1ZXVlUGFyYWdyYXBoU3BsaXR0aW5nT3BzKSl9O3RoaXMuZW5kRWRpdGluZz1mdW5jdGlvbigpe2thLnVuc3Vic2NyaWJlKGd1aS5JbnB1dE1ldGhvZEVkaXRvci5zaWduYWxDb21wb3NpdGlvblN0YXJ0LApkYS5yZW1vdmVDdXJyZW50U2VsZWN0aW9uKTtrYS51bnN1YnNjcmliZShndWkuSW5wdXRNZXRob2RFZGl0b3Iuc2lnbmFsQ29tcG9zaXRpb25FbmQsTik7Ri51bnN1YnNjcmliZSgiY3V0IixwKTtGLnVuc3Vic2NyaWJlKCJiZWZvcmVjdXQiLHIpO0YudW5zdWJzY3JpYmUoInBhc3RlIixlKTtGLnVuc3Vic2NyaWJlKCJiZWZvcmVwYXN0ZSIsbCk7Ri5zZXRFZGl0aW5nKCExKTtwYS5zZXRNb2RpZmllcihHLk5vbmUpO0MuYmluZChILkJhY2tzcGFjZSxHLk5vbmUsZnVuY3Rpb24oKXtyZXR1cm4hMH0sITApO0MudW5iaW5kKEguRGVsZXRlLEcuTm9uZSk7Qy51bmJpbmQoSC5UYWIsRy5Ob25lKTtyYT8oQy51bmJpbmQoSC5DbGVhcixHLk5vbmUpLEMudW5iaW5kKEguQixHLk1ldGEpLEMudW5iaW5kKEguSSxHLk1ldGEpLEMudW5iaW5kKEguVSxHLk1ldGEpLEMudW5iaW5kKEguTCxHLk1ldGFTaGlmdCksQy51bmJpbmQoSC5FLEcuTWV0YVNoaWZ0KSxDLnVuYmluZChILlIsRy5NZXRhU2hpZnQpLApDLnVuYmluZChILkosRy5NZXRhU2hpZnQpLGphJiZDLnVuYmluZChILkMsRy5NZXRhU2hpZnQpLEMudW5iaW5kKEguWixHLk1ldGEpLEMudW5iaW5kKEguWixHLk1ldGFTaGlmdCkpOihDLnVuYmluZChILkIsRy5DdHJsKSxDLnVuYmluZChILkksRy5DdHJsKSxDLnVuYmluZChILlUsRy5DdHJsKSxDLnVuYmluZChILkwsRy5DdHJsU2hpZnQpLEMudW5iaW5kKEguRSxHLkN0cmxTaGlmdCksQy51bmJpbmQoSC5SLEcuQ3RybFNoaWZ0KSxDLnVuYmluZChILkosRy5DdHJsU2hpZnQpLGphJiZDLnVuYmluZChILkMsRy5DdHJsQWx0KSxDLnVuYmluZChILlosRy5DdHJsKSxDLnVuYmluZChILlosRy5DdHJsU2hpZnQpKTtaLnNldERlZmF1bHQobnVsbCk7Wi51bmJpbmQoSC5FbnRlcixHLk5vbmUpfTt0aGlzLmdldElucHV0TWVtYmVySWQ9ZnVuY3Rpb24oKXtyZXR1cm4gZH07dGhpcy5nZXRTZXNzaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIGt9O3RoaXMuZ2V0U2Vzc2lvbkNvbnN0cmFpbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIFJ9Owp0aGlzLnNldFVuZG9NYW5hZ2VyPWZ1bmN0aW9uKGEpe1EmJlEudW5zdWJzY3JpYmUoZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGFja0NoYW5nZWQsYyk7aWYoUT1hKVEuc2V0RG9jdW1lbnQoSiksUS5zZXRQbGF5YmFja0Z1bmN0aW9uKGsuZW5xdWV1ZSksUS5zdWJzY3JpYmUoZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGFja0NoYW5nZWQsYyl9O3RoaXMuZ2V0VW5kb01hbmFnZXI9ZnVuY3Rpb24oKXtyZXR1cm4gUX07dGhpcy5nZXRNZXRhZGF0YUNvbnRyb2xsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdmF9O3RoaXMuZ2V0QW5ub3RhdGlvbkNvbnRyb2xsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gY2F9O3RoaXMuZ2V0RGlyZWN0Rm9ybWF0dGluZ0NvbnRyb2xsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gWH07dGhpcy5nZXRIeXBlcmxpbmtDbGlja0hhbmRsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gcGF9O3RoaXMuZ2V0SHlwZXJsaW5rQ29udHJvbGxlcj1mdW5jdGlvbigpe3JldHVybiB0YX07CnRoaXMuZ2V0SW1hZ2VDb250cm9sbGVyPWZ1bmN0aW9uKCl7cmV0dXJuIHFhfTt0aGlzLmdldFNlbGVjdGlvbkNvbnRyb2xsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gVH07dGhpcy5nZXRUZXh0Q29udHJvbGxlcj1mdW5jdGlvbigpe3JldHVybiBkYX07dGhpcy5nZXRFdmVudE1hbmFnZXI9ZnVuY3Rpb24oKXtyZXR1cm4gRn07dGhpcy5nZXRLZXlib2FyZEhhbmRsZXJzPWZ1bmN0aW9uKCl7cmV0dXJue2tleWRvd246QyxrZXlwcmVzczpafX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGEpe3ZhciBjPVttYS5kZXN0cm95LG5hLmRlc3Ryb3ksWC5kZXN0cm95LGthLmRlc3Ryb3ksRi5kZXN0cm95LHBhLmRlc3Ryb3ksdGEuZGVzdHJveSx2YS5kZXN0cm95LFQuZGVzdHJveSxkYS5kZXN0cm95LFZdO3NhJiZjLnVuc2hpZnQoc2EuZGVzdHJveSk7cnVudGltZS5jbGVhclRpbWVvdXQoTSk7Y29yZS5Bc3luYy5kZXN0cm95QWxsKGMsYSl9O21hPWNvcmUuVGFzay5jcmVhdGVSZWRyYXdUYXNrKHopOwpuYT1jb3JlLlRhc2suY3JlYXRlUmVkcmF3VGFzayhmdW5jdGlvbigpe3ZhciBhPUouZ2V0Q3Vyc29yKGQpO2lmKGEmJmEuZ2V0U2VsZWN0aW9uVHlwZSgpPT09b3BzLk9kdEN1cnNvci5SZWdpb25TZWxlY3Rpb24mJihhPVMuZ2V0SW1hZ2VFbGVtZW50cyhhLmdldFNlbGVjdGVkUmFuZ2UoKSlbMF0pKXtsYS5zZWxlY3QoYS5wYXJlbnROb2RlKTtyZXR1cm59bGEuY2xlYXJTZWxlY3Rpb24oKX0pO0MuYmluZChILkxlZnQsRy5Ob25lLEQoVC5tb3ZlQ3Vyc29yVG9MZWZ0KSk7Qy5iaW5kKEguUmlnaHQsRy5Ob25lLEQoVC5tb3ZlQ3Vyc29yVG9SaWdodCkpO0MuYmluZChILlVwLEcuTm9uZSxEKFQubW92ZUN1cnNvclVwKSk7Qy5iaW5kKEguRG93bixHLk5vbmUsRChULm1vdmVDdXJzb3JEb3duKSk7Qy5iaW5kKEguTGVmdCxHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Ub0xlZnQpKTtDLmJpbmQoSC5SaWdodCxHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Ub1JpZ2h0KSk7Qy5iaW5kKEguVXAsCkcuU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblVwKSk7Qy5iaW5kKEguRG93bixHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Eb3duKSk7Qy5iaW5kKEguSG9tZSxHLk5vbmUsRChULm1vdmVDdXJzb3JUb0xpbmVTdGFydCkpO0MuYmluZChILkVuZCxHLk5vbmUsRChULm1vdmVDdXJzb3JUb0xpbmVFbmQpKTtDLmJpbmQoSC5Ib21lLEcuQ3RybCxEKFQubW92ZUN1cnNvclRvRG9jdW1lbnRTdGFydCkpO0MuYmluZChILkVuZCxHLkN0cmwsRChULm1vdmVDdXJzb3JUb0RvY3VtZW50RW5kKSk7Qy5iaW5kKEguSG9tZSxHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Ub0xpbmVTdGFydCkpO0MuYmluZChILkVuZCxHLlNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25Ub0xpbmVFbmQpKTtDLmJpbmQoSC5VcCxHLkN0cmxTaGlmdCxEKFQuZXh0ZW5kU2VsZWN0aW9uVG9QYXJhZ3JhcGhTdGFydCkpO0MuYmluZChILkRvd24sRy5DdHJsU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvUGFyYWdyYXBoRW5kKSk7CkMuYmluZChILkhvbWUsRy5DdHJsU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvRG9jdW1lbnRTdGFydCkpO0MuYmluZChILkVuZCxHLkN0cmxTaGlmdCxEKFQuZXh0ZW5kU2VsZWN0aW9uVG9Eb2N1bWVudEVuZCkpO3JhPyhDLmJpbmQoSC5MZWZ0LEcuQWx0LEQoVC5tb3ZlQ3Vyc29yQmVmb3JlV29yZCkpLEMuYmluZChILlJpZ2h0LEcuQWx0LEQoVC5tb3ZlQ3Vyc29yUGFzdFdvcmQpKSxDLmJpbmQoSC5MZWZ0LEcuTWV0YSxEKFQubW92ZUN1cnNvclRvTGluZVN0YXJ0KSksQy5iaW5kKEguUmlnaHQsRy5NZXRhLEQoVC5tb3ZlQ3Vyc29yVG9MaW5lRW5kKSksQy5iaW5kKEguSG9tZSxHLk1ldGEsRChULm1vdmVDdXJzb3JUb0RvY3VtZW50U3RhcnQpKSxDLmJpbmQoSC5FbmQsRy5NZXRhLEQoVC5tb3ZlQ3Vyc29yVG9Eb2N1bWVudEVuZCkpLEMuYmluZChILkxlZnQsRy5BbHRTaGlmdCxEKFQuZXh0ZW5kU2VsZWN0aW9uQmVmb3JlV29yZCkpLEMuYmluZChILlJpZ2h0LEcuQWx0U2hpZnQsCkQoVC5leHRlbmRTZWxlY3Rpb25QYXN0V29yZCkpLEMuYmluZChILkxlZnQsRy5NZXRhU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvTGluZVN0YXJ0KSksQy5iaW5kKEguUmlnaHQsRy5NZXRhU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvTGluZUVuZCkpLEMuYmluZChILlVwLEcuQWx0U2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvUGFyYWdyYXBoU3RhcnQpKSxDLmJpbmQoSC5Eb3duLEcuQWx0U2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvUGFyYWdyYXBoRW5kKSksQy5iaW5kKEguVXAsRy5NZXRhU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvRG9jdW1lbnRTdGFydCkpLEMuYmluZChILkRvd24sRy5NZXRhU2hpZnQsRChULmV4dGVuZFNlbGVjdGlvblRvRG9jdW1lbnRFbmQpKSxDLmJpbmQoSC5BLEcuTWV0YSxEKFQuZXh0ZW5kU2VsZWN0aW9uVG9FbnRpcmVEb2N1bWVudCkpKTooQy5iaW5kKEguTGVmdCxHLkN0cmwsRChULm1vdmVDdXJzb3JCZWZvcmVXb3JkKSksQy5iaW5kKEguUmlnaHQsCkcuQ3RybCxEKFQubW92ZUN1cnNvclBhc3RXb3JkKSksQy5iaW5kKEguTGVmdCxHLkN0cmxTaGlmdCxEKFQuZXh0ZW5kU2VsZWN0aW9uQmVmb3JlV29yZCkpLEMuYmluZChILlJpZ2h0LEcuQ3RybFNoaWZ0LEQoVC5leHRlbmRTZWxlY3Rpb25QYXN0V29yZCkpLEMuYmluZChILkEsRy5DdHJsLEQoVC5leHRlbmRTZWxlY3Rpb25Ub0VudGlyZURvY3VtZW50KSkpO3VhJiYoc2E9bmV3IGd1aS5JT1NTYWZhcmlTdXBwb3J0KEYpKTtGLnN1YnNjcmliZSgia2V5ZG93biIsQy5oYW5kbGVFdmVudCk7Ri5zdWJzY3JpYmUoImtleXByZXNzIixaLmhhbmRsZUV2ZW50KTtGLnN1YnNjcmliZSgia2V5dXAiLGJhLmhhbmRsZUV2ZW50KTtGLnN1YnNjcmliZSgiY29weSIscSk7Ri5zdWJzY3JpYmUoIm1vdXNlZG93biIsdyk7Ri5zdWJzY3JpYmUoIm1vdXNlbW92ZSIsbWEudHJpZ2dlcik7Ri5zdWJzY3JpYmUoIm1vdXNldXAiLEUpO0Yuc3Vic2NyaWJlKCJjb250ZXh0bWVudSIsTCk7Ri5zdWJzY3JpYmUoImRyYWdzdGFydCIsCkkpO0Yuc3Vic2NyaWJlKCJkcmFnZW5kIixLKTtGLnN1YnNjcmliZSgiY2xpY2siLHBhLmhhbmRsZUNsaWNrKTtGLnN1YnNjcmliZSgibG9uZ3ByZXNzIix0KTtGLnN1YnNjcmliZSgiZHJhZyIseSk7Ri5zdWJzY3JpYmUoImRyYWdzdG9wIix4KTtKLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uRW5kLG5hLnRyaWdnZXIpO0ouc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZCxrYS5yZWdpc3RlckN1cnNvcik7Si5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsa2EucmVtb3ZlQ3Vyc29yKTtKLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsT3BlcmF0aW9uRW5kLGEpfX0pKCk7Cmd1aS5DYXJldE1hbmFnZXI9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKGIpe3JldHVybiBuLmhhc093blByb3BlcnR5KGIpP25bYl06bnVsbH1mdW5jdGlvbiBiKCl7cmV0dXJuIE9iamVjdC5rZXlzKG4pLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gbltiXX0pfWZ1bmN0aW9uIGYoYil7dmFyIGQ9bltiXTtkJiYoZGVsZXRlIG5bYl0sYj09PWcuZ2V0SW5wdXRNZW1iZXJJZCgpPyhyLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxQcm9jZXNzaW5nQmF0Y2hFbmQsZC5lbnN1cmVWaXNpYmxlKSxyLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxkLnJlZnJlc2hDdXJzb3JCbGlua2luZykscS51bnN1YnNjcmliZSgiY29tcG9zaXRpb251cGRhdGUiLGQuaGFuZGxlVXBkYXRlKSxxLnVuc3Vic2NyaWJlKCJjb21wb3NpdGlvbmVuZCIsZC5oYW5kbGVVcGRhdGUpLHEudW5zdWJzY3JpYmUoImZvY3VzIixkLnNldEZvY3VzKSxxLnVuc3Vic2NyaWJlKCJibHVyIiwKZC5yZW1vdmVGb2N1cykscC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsZC5zaG93LCExKSxwLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGQuaGlkZSwhMSkpOnIudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFByb2Nlc3NpbmdCYXRjaEVuZCxkLmhhbmRsZVVwZGF0ZSksZC5kZXN0cm95KGZ1bmN0aW9uKCl7fSkpfXZhciBuPXt9LHA9cnVudGltZS5nZXRXaW5kb3coKSxyPWcuZ2V0U2Vzc2lvbigpLmdldE9kdERvY3VtZW50KCkscT1nLmdldEV2ZW50TWFuYWdlcigpO3RoaXMucmVnaXN0ZXJDdXJzb3I9ZnVuY3Rpb24oYixkLGEpe3ZhciBjPWIuZ2V0TWVtYmVySWQoKTtiPW5ldyBndWkuQ2FyZXQoYixrLGQsYSk7bltjXT1iO2M9PT1nLmdldElucHV0TWVtYmVySWQoKT8ocnVudGltZS5sb2coIlN0YXJ0aW5nIHRvIHRyYWNrIGlucHV0IG9uIG5ldyBjdXJzb3Igb2YgIitjKSxyLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUHJvY2Vzc2luZ0JhdGNoRW5kLApiLmVuc3VyZVZpc2libGUpLHIuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxiLnJlZnJlc2hDdXJzb3JCbGlua2luZykscS5zdWJzY3JpYmUoImNvbXBvc2l0aW9udXBkYXRlIixiLmhhbmRsZVVwZGF0ZSkscS5zdWJzY3JpYmUoImNvbXBvc2l0aW9uZW5kIixiLmhhbmRsZVVwZGF0ZSkscS5zdWJzY3JpYmUoImZvY3VzIixiLnNldEZvY3VzKSxxLnN1YnNjcmliZSgiYmx1ciIsYi5yZW1vdmVGb2N1cykscC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsYi5zaG93LCExKSxwLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGIuaGlkZSwhMSksYi5zZXRPdmVybGF5RWxlbWVudChxLmdldEV2ZW50VHJhcCgpKSk6ci5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFByb2Nlc3NpbmdCYXRjaEVuZCxiLmhhbmRsZVVwZGF0ZSk7cmV0dXJuIGJ9O3RoaXMuZ2V0Q2FyZXQ9ZDt0aGlzLmdldENhcmV0cz1iO3RoaXMuZGVzdHJveT1mdW5jdGlvbihkKXt2YXIgbD0KYigpLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYS5kZXN0cm95fSk7Zy5nZXRTZWxlY3Rpb25Db250cm9sbGVyKCkuc2V0Q2FyZXRYUG9zaXRpb25Mb2NhdG9yKG51bGwpO3IudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbEN1cnNvclJlbW92ZWQsZik7bj17fTtjb3JlLkFzeW5jLmRlc3Ryb3lBbGwobCxkKX07Zy5nZXRTZWxlY3Rpb25Db250cm9sbGVyKCkuc2V0Q2FyZXRYUG9zaXRpb25Mb2NhdG9yKGZ1bmN0aW9uKCl7dmFyIGI9ZChnLmdldElucHV0TWVtYmVySWQoKSksZjtiJiYoZj1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtyZXR1cm4gZj9mLnJpZ2h0OnZvaWQgMH0pO3Iuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JSZW1vdmVkLGYpfTsKZ3VpLkVkaXRJbmZvSGFuZGxlPWZ1bmN0aW9uKGcpe3ZhciBrPVtdLGQsYj1nLm93bmVyRG9jdW1lbnQsZj1iLmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkk7dGhpcy5zZXRFZGl0cz1mdW5jdGlvbihnKXtrPWc7dmFyIHAscixxLGU7Y29yZS5Eb21VdGlscy5yZW1vdmVBbGxDaGlsZE5vZGVzKGQpO2ZvcihnPTA7ZzxrLmxlbmd0aDtnKz0xKXA9Yi5jcmVhdGVFbGVtZW50TlMoZiwiZGl2IikscC5jbGFzc05hbWU9ImVkaXRJbmZvIixyPWIuY3JlYXRlRWxlbWVudE5TKGYsInNwYW4iKSxyLmNsYXNzTmFtZT0iZWRpdEluZm9Db2xvciIsci5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczplZGl0aW5mbyIsImVkaXRpbmZvOm1lbWJlcmlkIixrW2ddLm1lbWJlcmlkKSxxPWIuY3JlYXRlRWxlbWVudE5TKGYsInNwYW4iKSxxLmNsYXNzTmFtZT0iZWRpdEluZm9BdXRob3IiLHEuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbzptZW1iZXJpZCIsCmtbZ10ubWVtYmVyaWQpLGU9Yi5jcmVhdGVFbGVtZW50TlMoZiwic3BhbiIpLGUuY2xhc3NOYW1lPSJlZGl0SW5mb1RpbWUiLGUuc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbzptZW1iZXJpZCIsa1tnXS5tZW1iZXJpZCksZS5hcHBlbmRDaGlsZChiLmNyZWF0ZVRleHROb2RlKGtbZ10udGltZS50b1N0cmluZygpKSkscC5hcHBlbmRDaGlsZChyKSxwLmFwcGVuZENoaWxkKHEpLHAuYXBwZW5kQ2hpbGQoZSksZC5hcHBlbmRDaGlsZChwKX07dGhpcy5zaG93PWZ1bmN0aW9uKCl7ZC5zdHlsZS5kaXNwbGF5PSJibG9jayJ9O3RoaXMuaGlkZT1mdW5jdGlvbigpe2Quc3R5bGUuZGlzcGxheT0ibm9uZSJ9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihiKXtnLnJlbW92ZUNoaWxkKGQpO2IoKX07ZD1iLmNyZWF0ZUVsZW1lbnROUyhmLCJkaXYiKTtkLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJlZGl0SW5mb0hhbmRsZSIpO2Quc3R5bGUuZGlzcGxheT0ibm9uZSI7CmcuYXBwZW5kQ2hpbGQoZCl9OwpvcHMuRWRpdEluZm89ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKCl7dmFyIGI9W10sZDtmb3IoZCBpbiBmKWYuaGFzT3duUHJvcGVydHkoZCkmJmIucHVzaCh7bWVtYmVyaWQ6ZCx0aW1lOmZbZF0udGltZX0pO2Iuc29ydChmdW5jdGlvbihiLGQpe3JldHVybiBiLnRpbWUtZC50aW1lfSk7cmV0dXJuIGJ9dmFyIGIsZj17fTt0aGlzLmdldE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gYn07dGhpcy5nZXRPZHREb2N1bWVudD1mdW5jdGlvbigpe3JldHVybiBrfTt0aGlzLmdldEVkaXRzPWZ1bmN0aW9uKCl7cmV0dXJuIGZ9O3RoaXMuZ2V0U29ydGVkRWRpdHM9ZnVuY3Rpb24oKXtyZXR1cm4gZCgpfTt0aGlzLmFkZEVkaXQ9ZnVuY3Rpb24oYixkKXtmW2JdPXt0aW1lOmR9fTt0aGlzLmNsZWFyRWRpdHM9ZnVuY3Rpb24oKXtmPXt9fTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oZCl7Zy5wYXJlbnROb2RlJiZnLnJlbW92ZUNoaWxkKGIpO2QoKX07Yj1rLmdldERPTURvY3VtZW50KCkuY3JlYXRlRWxlbWVudE5TKCJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIiwiZWRpdGluZm8iKTsKZy5pbnNlcnRCZWZvcmUoYixnLmZpcnN0Q2hpbGQpfTsKZ3VpLkVkaXRJbmZvTWFya2VyPWZ1bmN0aW9uKGcsayl7ZnVuY3Rpb24gZChiLGEpe3JldHVybiBydW50aW1lLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtwLnN0eWxlLm9wYWNpdHk9Yn0sYSl9dmFyIGI9dGhpcyxmLG4scCxyLHEsZTt0aGlzLmFkZEVkaXQ9ZnVuY3Rpb24oYixhKXt2YXIgYz1EYXRlLm5vdygpLWE7Zy5hZGRFZGl0KGIsYSk7bi5zZXRFZGl0cyhnLmdldFNvcnRlZEVkaXRzKCkpO3Auc2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbzptZW1iZXJpZCIsYik7cnVudGltZS5jbGVhclRpbWVvdXQocSk7cnVudGltZS5jbGVhclRpbWVvdXQoZSk7MUU0PmM/KHI9ZCgxLDApLHE9ZCguNSwxRTQtYyksZT1kKC4yLDJFNC1jKSk6MUU0PD1jJiYyRTQ+Yz8ocj1kKC41LDApLGU9ZCguMiwyRTQtYykpOnI9ZCguMiwwKX07dGhpcy5nZXRFZGl0cz1mdW5jdGlvbigpe3JldHVybiBnLmdldEVkaXRzKCl9O3RoaXMuY2xlYXJFZGl0cz1mdW5jdGlvbigpe2cuY2xlYXJFZGl0cygpOwpuLnNldEVkaXRzKFtdKTtwLmhhc0F0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIiwiZWRpdGluZm86bWVtYmVyaWQiKSYmcC5yZW1vdmVBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczplZGl0aW5mbyIsImVkaXRpbmZvOm1lbWJlcmlkIil9O3RoaXMuZ2V0RWRpdEluZm89ZnVuY3Rpb24oKXtyZXR1cm4gZ307dGhpcy5zaG93PWZ1bmN0aW9uKCl7cC5zdHlsZS5kaXNwbGF5PSJibG9jayJ9O3RoaXMuaGlkZT1mdW5jdGlvbigpe2IuaGlkZUhhbmRsZSgpO3Auc3R5bGUuZGlzcGxheT0ibm9uZSJ9O3RoaXMuc2hvd0hhbmRsZT1mdW5jdGlvbigpe24uc2hvdygpfTt0aGlzLmhpZGVIYW5kbGU9ZnVuY3Rpb24oKXtuLmhpZGUoKX07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGIpe3J1bnRpbWUuY2xlYXJUaW1lb3V0KHIpO3J1bnRpbWUuY2xlYXJUaW1lb3V0KHEpO3J1bnRpbWUuY2xlYXJUaW1lb3V0KGUpO2YucmVtb3ZlQ2hpbGQocCk7bi5kZXN0cm95KGZ1bmN0aW9uKGEpe2E/CmIoYSk6Zy5kZXN0cm95KGIpfSl9OyhmdW5jdGlvbigpe3ZhciBkPWcuZ2V0T2R0RG9jdW1lbnQoKS5nZXRET01Eb2N1bWVudCgpO3A9ZC5jcmVhdGVFbGVtZW50TlMoZC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJLCJkaXYiKTtwLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJlZGl0SW5mb01hcmtlciIpO3Aub25tb3VzZW92ZXI9ZnVuY3Rpb24oKXtiLnNob3dIYW5kbGUoKX07cC5vbm1vdXNlb3V0PWZ1bmN0aW9uKCl7Yi5oaWRlSGFuZGxlKCl9O2Y9Zy5nZXROb2RlKCk7Zi5hcHBlbmRDaGlsZChwKTtuPW5ldyBndWkuRWRpdEluZm9IYW5kbGUoZik7a3x8Yi5oaWRlKCl9KSgpfTsKZ3VpLkh5cGVybGlua1Rvb2x0aXBWaWV3PWZ1bmN0aW9uKGcsayl7dmFyIGQ9Y29yZS5Eb21VdGlscyxiPW9kZi5PZGZVdGlscyxmPXJ1bnRpbWUuZ2V0V2luZG93KCksbixwLHI7cnVudGltZS5hc3NlcnQobnVsbCE9PWYsIkV4cGVjdGVkIHRvIGJlIHJ1biBpbiBhbiBlbnZpcm9ubWVudCB3aGljaCBoYXMgYSBnbG9iYWwgd2luZG93LCBsaWtlIGEgYnJvd3Nlci4iKTt0aGlzLnNob3dUb29sdGlwPWZ1bmN0aW9uKHEpe3ZhciBlPXEudGFyZ2V0fHxxLnNyY0VsZW1lbnQsbD1nLmdldFNpemVyKCksYT1nLmdldFpvb21MZXZlbCgpLGM7YTp7Zm9yKDtlOyl7aWYoYi5pc0h5cGVybGluayhlKSlicmVhayBhO2lmKGIuaXNQYXJhZ3JhcGgoZSl8fGIuaXNJbmxpbmVSb290KGUpKWJyZWFrO2U9ZS5wYXJlbnROb2RlfWU9bnVsbH1pZihlKXtkLmNvbnRhaW5zTm9kZShsLHIpfHxsLmFwcGVuZENoaWxkKHIpO2M9cDt2YXIgbTtzd2l0Y2goaygpKXtjYXNlIGd1aS5LZXlib2FyZEhhbmRsZXIuTW9kaWZpZXIuQ3RybDptPQpydW50aW1lLnRyKCJDdHJsLWNsaWNrIHRvIGZvbGxvdyBsaW5rIik7YnJlYWs7Y2FzZSBndWkuS2V5Ym9hcmRIYW5kbGVyLk1vZGlmaWVyLk1ldGE6bT1ydW50aW1lLnRyKCJcdTIzMTgtY2xpY2sgdG8gZm9sbG93IGxpbmsiKTticmVhaztkZWZhdWx0Om09IiJ9Yy50ZXh0Q29udGVudD1tO24udGV4dENvbnRlbnQ9Yi5nZXRIeXBlcmxpbmtUYXJnZXQoZSk7ci5zdHlsZS5kaXNwbGF5PSJibG9jayI7Yz1mLmlubmVyV2lkdGgtci5vZmZzZXRXaWR0aC0xNTtlPXEuY2xpZW50WD5jP2M6cS5jbGllbnRYKzE1O2M9Zi5pbm5lckhlaWdodC1yLm9mZnNldEhlaWdodC0xMDtxPXEuY2xpZW50WT5jP2M6cS5jbGllbnRZKzEwO2w9bC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPShlLWwubGVmdCkvYTtxPShxLWwudG9wKS9hO3Iuc3R5bGUubGVmdD1lKyJweCI7ci5zdHlsZS50b3A9cSsicHgifX07dGhpcy5oaWRlVG9vbHRpcD1mdW5jdGlvbigpe3Iuc3R5bGUuZGlzcGxheT0ibm9uZSJ9O3RoaXMuZGVzdHJveT0KZnVuY3Rpb24oYil7ci5wYXJlbnROb2RlJiZyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocik7YigpfTsoZnVuY3Rpb24oKXt2YXIgYj1nLmdldEVsZW1lbnQoKS5vd25lckRvY3VtZW50O249Yi5jcmVhdGVFbGVtZW50KCJzcGFuIik7cD1iLmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtuLmNsYXNzTmFtZT0id2Vib2RmLWh5cGVybGlua1Rvb2x0aXBMaW5rIjtwLmNsYXNzTmFtZT0id2Vib2RmLWh5cGVybGlua1Rvb2x0aXBUZXh0IjtyPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc05hbWU9IndlYm9kZi1oeXBlcmxpbmtUb29sdGlwIjtyLmFwcGVuZENoaWxkKG4pO3IuYXBwZW5kQ2hpbGQocCk7Zy5nZXRFbGVtZW50KCkuYXBwZW5kQ2hpbGQocil9KSgpfTsKZ3VpLk9kZkZpZWxkVmlldz1mdW5jdGlvbihnKXtmdW5jdGlvbiBrKCl7dmFyIGI9b2RmLk9kZlNjaGVtYS5nZXRGaWVsZHMoKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIucmVwbGFjZSgiOiIsInwiKX0pLGQ9Yi5qb2luKCIsXG4iKSsiXG57IGJhY2tncm91bmQtY29sb3I6ICNEMEQwRDA7IH1cbiIsYj1iLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYisiOmVtcHR5OjphZnRlciJ9KS5qb2luKCIsXG4iKSsiXG57IGNvbnRlbnQ6JyAnOyB3aGl0ZS1zcGFjZTogcHJlOyB9XG4iO3JldHVybiBkKyJcbiIrYn12YXIgZCxiPWcuZ2V0RWxlbWVudCgpLm93bmVyRG9jdW1lbnQ7dGhpcy5zaG93RmllbGRIaWdobGlnaHQ9ZnVuY3Rpb24oKXtkLmFwcGVuZENoaWxkKGIuY3JlYXRlVGV4dE5vZGUoaygpKSl9O3RoaXMuaGlkZUZpZWxkSGlnaGxpZ2h0PWZ1bmN0aW9uKCl7Zm9yKHZhciBiPWQuc2hlZXQsZz1iLmNzc1J1bGVzO2cubGVuZ3RoOyliLmRlbGV0ZVJ1bGUoZy5sZW5ndGgtMSl9O3RoaXMuZGVzdHJveT0KZnVuY3Rpb24oYil7ZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCk7YigpfTtkPWZ1bmN0aW9uKCl7dmFyIGQ9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpLml0ZW0oMCksZz1iLmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksaz0iIjtnLnR5cGU9InRleHQvY3NzIjtnLm1lZGlhPSJzY3JlZW4sIHByaW50LCBoYW5kaGVsZCwgcHJvamVjdGlvbiI7b2RmLk5hbWVzcGFjZXMuZm9yRWFjaFByZWZpeChmdW5jdGlvbihiLGQpe2srPSJAbmFtZXNwYWNlICIrYisiIHVybCgiK2QrIik7XG4ifSk7Zy5hcHBlbmRDaGlsZChiLmNyZWF0ZVRleHROb2RlKGspKTtkLmFwcGVuZENoaWxkKGcpO3JldHVybiBnfSgpfTsKZ3VpLlNoYWRvd0N1cnNvcj1mdW5jdGlvbihnKXt2YXIgaz1nLmdldERPTURvY3VtZW50KCkuY3JlYXRlUmFuZ2UoKSxkPSEwO3RoaXMucmVtb3ZlRnJvbURvY3VtZW50PWZ1bmN0aW9uKCl7fTt0aGlzLmdldE1lbWJlcklkPWZ1bmN0aW9uKCl7cmV0dXJuIGd1aS5TaGFkb3dDdXJzb3IuU2hhZG93Q3Vyc29yTWVtYmVySWR9O3RoaXMuZ2V0U2VsZWN0ZWRSYW5nZT1mdW5jdGlvbigpe3JldHVybiBrfTt0aGlzLnNldFNlbGVjdGVkUmFuZ2U9ZnVuY3Rpb24oYixmKXtrPWI7ZD0hMSE9PWZ9O3RoaXMuaGFzRm9yd2FyZFNlbGVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBkfTt0aGlzLmdldERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGd9O3RoaXMuZ2V0U2VsZWN0aW9uVHlwZT1mdW5jdGlvbigpe3JldHVybiBvcHMuT2R0Q3Vyc29yLlJhbmdlU2VsZWN0aW9ufTtrLnNldFN0YXJ0KGcuZ2V0Um9vdE5vZGUoKSwwKX07Z3VpLlNoYWRvd0N1cnNvci5TaGFkb3dDdXJzb3JNZW1iZXJJZD0iIjsKZ3VpLlNlbGVjdGlvblZpZXc9ZnVuY3Rpb24oZyl7fTtndWkuU2VsZWN0aW9uVmlldy5wcm90b3R5cGUucmVyZW5kZXI9ZnVuY3Rpb24oKXt9O2d1aS5TZWxlY3Rpb25WaWV3LnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7fTtndWkuU2VsZWN0aW9uVmlldy5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe307Z3VpLlNlbGVjdGlvblZpZXcucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oZyl7fTsKZ3VpLlNlbGVjdGlvblZpZXdNYW5hZ2VyPWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoKXtyZXR1cm4gT2JqZWN0LmtleXMoZCkubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBkW2JdfSl9dmFyIGQ9e307dGhpcy5nZXRTZWxlY3Rpb25WaWV3PWZ1bmN0aW9uKGIpe3JldHVybiBkLmhhc093blByb3BlcnR5KGIpP2RbYl06bnVsbH07dGhpcy5nZXRTZWxlY3Rpb25WaWV3cz1rO3RoaXMucmVtb3ZlU2VsZWN0aW9uVmlldz1mdW5jdGlvbihiKXtkLmhhc093blByb3BlcnR5KGIpJiYoZFtiXS5kZXN0cm95KGZ1bmN0aW9uKCl7fSksZGVsZXRlIGRbYl0pfTt0aGlzLmhpZGVTZWxlY3Rpb25WaWV3PWZ1bmN0aW9uKGIpe2QuaGFzT3duUHJvcGVydHkoYikmJmRbYl0uaGlkZSgpfTt0aGlzLnNob3dTZWxlY3Rpb25WaWV3PWZ1bmN0aW9uKGIpe2QuaGFzT3duUHJvcGVydHkoYikmJmRbYl0uc2hvdygpfTt0aGlzLnJlcmVuZGVyU2VsZWN0aW9uVmlld3M9ZnVuY3Rpb24oKXtPYmplY3Qua2V5cyhkKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2RbYl0ucmVyZW5kZXIoKX0pfTsKdGhpcy5yZWdpc3RlckN1cnNvcj1mdW5jdGlvbihiLGYpe3ZhciBrPWIuZ2V0TWVtYmVySWQoKSxwPW5ldyBnKGIpO2Y/cC5zaG93KCk6cC5oaWRlKCk7cmV0dXJuIGRba109cH07dGhpcy5kZXN0cm95PWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoayxyKXtyP2Iocik6azxnLmxlbmd0aD9nW2tdLmRlc3Ryb3koZnVuY3Rpb24oYil7ZChrKzEsYil9KTpiKCl9dmFyIGc9aygpO2QoMCx2b2lkIDApfX07Z3VpLlNlc3Npb25WaWV3T3B0aW9ucz1mdW5jdGlvbigpe3RoaXMuY2FyZXRCbGlua3NPblJhbmdlU2VsZWN0PXRoaXMuY2FyZXRBdmF0YXJzSW5pdGlhbGx5VmlzaWJsZT10aGlzLmVkaXRJbmZvTWFya2Vyc0luaXRpYWxseVZpc2libGU9ITB9OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGcsZCl7cmV0dXJuIHZvaWQgMCE9PWc/Qm9vbGVhbihnKTpkfWd1aS5TZXNzaW9uVmlldz1mdW5jdGlvbihrLGQsYixmLG4scCl7ZnVuY3Rpb24gcihhKXthLm1lbWJlcklkPT09ZCYmSS5nZXRWaWV3cG9ydCgpLnNjcm9sbEludG9WaWV3KGEuYW5ub3RhdGlvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9ZnVuY3Rpb24gcSgpe3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIikuaXRlbSgwKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Yy50eXBlPSJ0ZXh0L2NzcyI7Yy5tZWRpYT0ic2NyZWVuLCBwcmludCwgaGFuZGhlbGQsIHByb2plY3Rpb24iO2EuYXBwZW5kQ2hpbGQoYyk7cmV0dXJuIGN9ZnVuY3Rpb24gZShhLGMsYil7ZnVuY3Rpb24gZShjLGIsZCl7Yj1jKydbZWRpdGluZm98bWVtYmVyaWQ9IicrYSsnIl0nK2QrYjthOnt2YXIgZj12LmZpcnN0Q2hpbGQ7Zm9yKGM9YysnW2VkaXRpbmZvfG1lbWJlcmlkPSInKwphKyciXScrZCsieyI7Zjspe2lmKGYubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmMD09PWYuZGF0YS5pbmRleE9mKGMpKXtjPWY7YnJlYWsgYX1mPWYubmV4dFNpYmxpbmd9Yz1udWxsfWM/Yy5kYXRhPWI6di5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShiKSl9ZSgiZGl2LmVkaXRJbmZvTWFya2VyIiwieyBiYWNrZ3JvdW5kLWNvbG9yOiAiK2IrIjsgfSIsIiIpO2UoInNwYW4uZWRpdEluZm9Db2xvciIsInsgYmFja2dyb3VuZC1jb2xvcjogIitiKyI7IH0iLCIiKTtlKCJzcGFuLmVkaXRJbmZvQXV0aG9yIiwneyBjb250ZW50OiAiJytjKyciOyB9JywiOmJlZm9yZSIpO2UoImRjfGNyZWF0b3IiLCJ7IGJhY2tncm91bmQtY29sb3I6ICIrYisiOyB9IiwiIik7ZSgiLndlYm9kZi1zZWxlY3Rpb25PdmVybGF5IiwieyBmaWxsOiAiK2IrIjsgc3Ryb2tlOiAiK2IrIjt9IiwiIik7YT09PWQmJihlKCIud2Vib2RmLXRvdWNoRW5hYmxlZCAud2Vib2RmLXNlbGVjdGlvbk92ZXJsYXkiLAoieyBkaXNwbGF5OiBibG9jazsgfSIsIiA+IC53ZWJvZGYtZHJhZ2dhYmxlIiksYT1ndWkuU2hhZG93Q3Vyc29yLlNoYWRvd0N1cnNvck1lbWJlcklkLGUoIi53ZWJvZGYtc2VsZWN0aW9uT3ZlcmxheSIsInsgZmlsbDogIitiKyI7IHN0cm9rZTogIitiKyI7fSIsIiIpLGUoIi53ZWJvZGYtdG91Y2hFbmFibGVkIC53ZWJvZGYtc2VsZWN0aW9uT3ZlcmxheSIsInsgZGlzcGxheTogYmxvY2s7IH0iLCIgPiAud2Vib2RmLWRyYWdnYWJsZSIpKX1mdW5jdGlvbiBsKGEpe3ZhciBjLGI7Zm9yKGIgaW4gdCl0Lmhhc093blByb3BlcnR5KGIpJiYoYz10W2JdLGE/Yy5zaG93KCk6Yy5oaWRlKCkpfWZ1bmN0aW9uIGEoYSl7bi5nZXRDYXJldHMoKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2E/Yy5zaG93SGFuZGxlKCk6Yy5oaWRlSGFuZGxlKCl9KX1mdW5jdGlvbiBjKGEpe3ZhciBjPWEuZ2V0TWVtYmVySWQoKTthPWEuZ2V0UHJvcGVydGllcygpO2UoYyxhLmZ1bGxOYW1lLGEuY29sb3IpfWZ1bmN0aW9uIG0oYSl7dmFyIGM9CmEuZ2V0TWVtYmVySWQoKSxkPWIuZ2V0T2R0RG9jdW1lbnQoKS5nZXRNZW1iZXIoYykuZ2V0UHJvcGVydGllcygpO24ucmVnaXN0ZXJDdXJzb3IoYSxFLE4pO3AucmVnaXN0ZXJDdXJzb3IoYSwhMCk7aWYoYT1uLmdldENhcmV0KGMpKWEuc2V0QXZhdGFySW1hZ2VVcmwoZC5pbWFnZVVybCksYS5zZXRDb2xvcihkLmNvbG9yKTtydW50aW1lLmxvZygiKysrIFZpZXcgaGVyZSArKysgZWFnZXJseSBjcmVhdGVkIGFuIENhcmV0IGZvciAnIitjKyInISArKysiKX1mdW5jdGlvbiBoKGEpe2E9YS5nZXRNZW1iZXJJZCgpO3ZhciBjPXAuZ2V0U2VsZWN0aW9uVmlldyhkKSxiPXAuZ2V0U2VsZWN0aW9uVmlldyhndWkuU2hhZG93Q3Vyc29yLlNoYWRvd0N1cnNvck1lbWJlcklkKSxlPW4uZ2V0Q2FyZXQoZCk7YT09PWQ/KGIuaGlkZSgpLGMmJmMuc2hvdygpLGUmJmUuc2hvdygpKTphPT09Z3VpLlNoYWRvd0N1cnNvci5TaGFkb3dDdXJzb3JNZW1iZXJJZCYmKGIuc2hvdygpLGMmJmMuaGlkZSgpLAplJiZlLmhpZGUoKSl9ZnVuY3Rpb24geShhKXtwLnJlbW92ZVNlbGVjdGlvblZpZXcoYSl9ZnVuY3Rpb24geChhKXt2YXIgYz1hLnBhcmFncmFwaEVsZW1lbnQsZD1hLm1lbWJlcklkO2E9YS50aW1lU3RhbXA7dmFyIGUsZj0iIixoPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygidXJuOndlYm9kZjpuYW1lczplZGl0aW5mbyIsImVkaXRpbmZvIikuaXRlbSgwKTtoPyhmPWguZ2V0QXR0cmlidXRlTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJpZCIpLGU9dFtmXSk6KGY9TWF0aC5yYW5kb20oKS50b1N0cmluZygpLGU9bmV3IG9wcy5FZGl0SW5mbyhjLGIuZ2V0T2R0RG9jdW1lbnQoKSksZT1uZXcgZ3VpLkVkaXRJbmZvTWFya2VyKGUsTCksaD1jLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoInVybjp3ZWJvZGY6bmFtZXM6ZWRpdGluZm8iLCJlZGl0aW5mbyIpLml0ZW0oMCksaC5zZXRBdHRyaWJ1dGVOUygidXJuOndlYm9kZjpuYW1lczplZGl0aW5mbyIsImlkIixmKSx0W2ZdPWUpOwplLmFkZEVkaXQoZCxuZXcgRGF0ZShhKSk7Sy50cmlnZ2VyKCl9ZnVuY3Rpb24geigpe3ZhciBhO3UuaGFzQ2hpbGROb2RlcygpJiZjb3JlLkRvbVV0aWxzLnJlbW92ZUFsbENoaWxkTm9kZXModSk7ITA9PT1mLmdldFN0YXRlKGd1aS5Db21tb25Db25zdHJhaW50cy5FRElULkFOTk9UQVRJT05TLk9OTFlfREVMRVRFX09XTikmJihhPWIuZ2V0T2R0RG9jdW1lbnQoKS5nZXRNZW1iZXIoZCkpJiYoYT1hLmdldFByb3BlcnRpZXMoKS5mdWxsTmFtZSx1LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIuYW5ub3RhdGlvbldyYXBwZXI6bm90KFtjcmVhdG9yID0gJyIrYSsiJ10pIC5hbm5vdGF0aW9uUmVtb3ZlQnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfSIpKSl9ZnVuY3Rpb24gdyhhKXt2YXIgYj1PYmplY3Qua2V5cyh0KS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIHRbYV19KTtBLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJBZGRlZCxjKTtBLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJVcGRhdGVkLApjKTtBLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JBZGRlZCxtKTtBLnVuc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JSZW1vdmVkLHkpO0EudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaENoYW5nZWQseCk7QS51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsaCk7QS51bnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCxwLnJlcmVuZGVyU2VsZWN0aW9uVmlld3MpO0EudW5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFRhYmxlQWRkZWQscC5yZXJlbmRlclNlbGVjdGlvblZpZXdzKTtBLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhTdHlsZU1vZGlmaWVkLHAucmVyZW5kZXJTZWxlY3Rpb25WaWV3cyk7Zi51bnN1YnNjcmliZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5BTk5PVEFUSU9OUy5PTkxZX0RFTEVURV9PV04sCnopO0EudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlckFkZGVkLHopO0EudW5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlclVwZGF0ZWQseik7di5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHYpO3UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh1KTsoZnVuY3Rpb24gVyhjLGQpe2Q/YShkKTpjPGIubGVuZ3RoP2JbY10uZGVzdHJveShmdW5jdGlvbihhKXtXKGMrMSxhKX0pOmEoKX0pKDAsdm9pZCAwKX12YXIgdix1LHQ9e30sQSxJLEssTD1nKGsuZWRpdEluZm9NYXJrZXJzSW5pdGlhbGx5VmlzaWJsZSwhMCksRT1nKGsuY2FyZXRBdmF0YXJzSW5pdGlhbGx5VmlzaWJsZSwhMCksTj1nKGsuY2FyZXRCbGlua3NPblJhbmdlU2VsZWN0LCEwKTt0aGlzLnNob3dFZGl0SW5mb01hcmtlcnM9ZnVuY3Rpb24oKXtMfHwoTD0hMCxsKEwpKX07dGhpcy5oaWRlRWRpdEluZm9NYXJrZXJzPWZ1bmN0aW9uKCl7TCYmKEw9ITEsbChMKSl9O3RoaXMuc2hvd0NhcmV0QXZhdGFycz0KZnVuY3Rpb24oKXtFfHwoRT0hMCxhKEUpKX07dGhpcy5oaWRlQ2FyZXRBdmF0YXJzPWZ1bmN0aW9uKCl7RSYmKEU9ITEsYShFKSl9O3RoaXMuZ2V0U2Vzc2lvbj1mdW5jdGlvbigpe3JldHVybiBifTt0aGlzLmdldENhcmV0PWZ1bmN0aW9uKGEpe3JldHVybiBuLmdldENhcmV0KGEpfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oYSl7dmFyIGM9W0suZGVzdHJveSx3XTtBLnVuc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxBbm5vdGF0aW9uQWRkZWQscik7Y29yZS5Bc3luYy5kZXN0cm95QWxsKGMsYSl9O0E9Yi5nZXRPZHREb2N1bWVudCgpO0k9QS5nZXRPZGZDYW52YXMoKTtBLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsQW5ub3RhdGlvbkFkZGVkLHIpO0Euc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJBZGRlZCxjKTtBLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsTWVtYmVyVXBkYXRlZCxjKTtBLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yQWRkZWQsCm0pO0Euc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JSZW1vdmVkLHkpO0Euc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxQYXJhZ3JhcGhDaGFuZ2VkLHgpO0Euc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxDdXJzb3JNb3ZlZCxoKTtBLnN1YnNjcmliZShvcHMuT2R0RG9jdW1lbnQuc2lnbmFsUGFyYWdyYXBoQ2hhbmdlZCxwLnJlcmVuZGVyU2VsZWN0aW9uVmlld3MpO0Euc3Vic2NyaWJlKG9wcy5PZHREb2N1bWVudC5zaWduYWxUYWJsZUFkZGVkLHAucmVyZW5kZXJTZWxlY3Rpb25WaWV3cyk7QS5zdWJzY3JpYmUob3BzLk9kdERvY3VtZW50LnNpZ25hbFBhcmFncmFwaFN0eWxlTW9kaWZpZWQscC5yZXJlbmRlclNlbGVjdGlvblZpZXdzKTtmLnN1YnNjcmliZShndWkuQ29tbW9uQ29uc3RyYWludHMuRURJVC5BTk5PVEFUSU9OUy5PTkxZX0RFTEVURV9PV04seik7QS5zdWJzY3JpYmUob3BzLkRvY3VtZW50LnNpZ25hbE1lbWJlckFkZGVkLHopO0Euc3Vic2NyaWJlKG9wcy5Eb2N1bWVudC5zaWduYWxNZW1iZXJVcGRhdGVkLAp6KTt2PXEoKTt2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJAbmFtZXNwYWNlIGVkaXRpbmZvIHVybCh1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvKTsiKSk7di5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQG5hbWVzcGFjZSBkYyB1cmwoaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8pOyIpKTt1PXEoKTt6KCk7Sz1jb3JlLlRhc2suY3JlYXRlUmVkcmF3VGFzayhmdW5jdGlvbigpe3ZhciBhPUkuZ2V0QW5ub3RhdGlvblZpZXdNYW5hZ2VyKCk7YSYmKGEucmVoaWdobGlnaHRBbm5vdGF0aW9ucygpLEEuZml4Q3Vyc29yUG9zaXRpb25zKCkpfSl9fSkoKTsKZ3VpLlN2Z1NlbGVjdGlvblZpZXc9ZnVuY3Rpb24oZyl7ZnVuY3Rpb24gaygpe3ZhciBhPWMuZ2V0Um9vdE5vZGUoKTttIT09YSYmKG09YSxoPWMuZ2V0Q2FudmFzKCkuZ2V0U2l6ZXIoKSxoLmFwcGVuZENoaWxkKHgpLHguc2V0QXR0cmlidXRlKCJjbGFzcyIsIndlYm9kZi1zZWxlY3Rpb25PdmVybGF5Iiksdy5zZXRBdHRyaWJ1dGUoImNsYXNzIiwid2Vib2RmLWRyYWdnYWJsZSIpLHYuc2V0QXR0cmlidXRlKCJjbGFzcyIsIndlYm9kZi1kcmFnZ2FibGUiKSx3LnNldEF0dHJpYnV0ZSgiZW5kIiwibGVmdCIpLHYuc2V0QXR0cmlidXRlKCJlbmQiLCJyaWdodCIpLHcuc2V0QXR0cmlidXRlKCJyIiw4KSx2LnNldEF0dHJpYnV0ZSgiciIsOCkseC5hcHBlbmRDaGlsZCh6KSx4LmFwcGVuZENoaWxkKHcpLHguYXBwZW5kQ2hpbGQodikpfWZ1bmN0aW9uIGQoYSl7YT1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBCb29sZWFuKGEmJjAhPT1hLmhlaWdodCl9ZnVuY3Rpb24gYihhKXt2YXIgYz0KdS5nZXRUZXh0RWxlbWVudHMoYSwhMCwhMSksYj1hLmNsb25lUmFuZ2UoKSxlPWEuY2xvbmVSYW5nZSgpO2E9YS5jbG9uZVJhbmdlKCk7aWYoIWMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBmO2E6e2Y9MDt2YXIgaD1jW2ZdLGc9Yi5zdGFydENvbnRhaW5lcj09PWg/Yi5zdGFydE9mZnNldDowLG09ZztiLnNldFN0YXJ0KGgsZyk7Zm9yKGIuc2V0RW5kKGgsbSk7IWQoYik7KXtpZihoLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJm08aC5jaGlsZE5vZGVzLmxlbmd0aCltPWguY2hpbGROb2Rlcy5sZW5ndGg7ZWxzZSBpZihoLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJm08aC5sZW5ndGgpbSs9MTtlbHNlIGlmKGNbZl0paD1jW2ZdLGYrPTEsZz1tPTA7ZWxzZXtmPSExO2JyZWFrIGF9Yi5zZXRTdGFydChoLGcpO2Iuc2V0RW5kKGgsbSl9Zj0hMH1pZighZilyZXR1cm4gbnVsbDthOntmPWMubGVuZ3RoLTE7aD1jW2ZdO209Zz1lLmVuZENvbnRhaW5lcj09PWg/ZS5lbmRPZmZzZXQ6Cmgubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9oLmxlbmd0aDpoLmNoaWxkTm9kZXMubGVuZ3RoO2Uuc2V0U3RhcnQoaCxnKTtmb3IoZS5zZXRFbmQoaCxtKTshZChlKTspe2lmKGgubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmMDxnKWc9MDtlbHNlIGlmKGgubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmMDxnKS0tZztlbHNlIGlmKGNbZl0paD1jW2ZdLC0tZixnPW09aC5sZW5ndGh8fGguY2hpbGROb2Rlcy5sZW5ndGg7ZWxzZXtjPSExO2JyZWFrIGF9ZS5zZXRTdGFydChoLGcpO2Uuc2V0RW5kKGgsbSl9Yz0hMH1pZighYylyZXR1cm4gbnVsbDthLnNldFN0YXJ0KGIuc3RhcnRDb250YWluZXIsYi5zdGFydE9mZnNldCk7YS5zZXRFbmQoZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpO3JldHVybntmaXJzdFJhbmdlOmIsbGFzdFJhbmdlOmUsZmlsbGVyUmFuZ2U6YX19ZnVuY3Rpb24gZihhLGMpe3ZhciBiPXt9O2IudG9wPU1hdGgubWluKGEudG9wLGMudG9wKTtiLmxlZnQ9Ck1hdGgubWluKGEubGVmdCxjLmxlZnQpO2IucmlnaHQ9TWF0aC5tYXgoYS5yaWdodCxjLnJpZ2h0KTtiLmJvdHRvbT1NYXRoLm1heChhLmJvdHRvbSxjLmJvdHRvbSk7Yi53aWR0aD1iLnJpZ2h0LWIubGVmdDtiLmhlaWdodD1iLmJvdHRvbS1iLnRvcDtyZXR1cm4gYn1mdW5jdGlvbiBuKGEsYyl7YyYmMDxjLndpZHRoJiYwPGMuaGVpZ2h0JiYoYT1hP2YoYSxjKTpjKTtyZXR1cm4gYX1mdW5jdGlvbiBwKGEpe2Z1bmN0aW9uIGIoYSl7Sy5zZXRVbmZpbHRlcmVkUG9zaXRpb24oYSwwKTtyZXR1cm4gdi5hY2NlcHROb2RlKGEpPT09TCYmeC5hY2NlcHRQb3NpdGlvbihLKT09PUw/TDpFfWZ1bmN0aW9uIGQoYSl7dmFyIGM9bnVsbDtiKGEpPT09TCYmKGM9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoYSkpO3JldHVybiBjfXZhciBlPWEuY29tbW9uQW5jZXN0b3JDb250YWluZXIsZj1hLnN0YXJ0Q29udGFpbmVyLGg9YS5lbmRDb250YWluZXIsZz1hLnN0YXJ0T2Zmc2V0LG09YS5lbmRPZmZzZXQsCmssbCxwPW51bGwscixxPXkuY3JlYXRlUmFuZ2UoKSx4LHY9bmV3IG9kZi5PZGZOb2RlRmlsdGVyLHc7aWYoZj09PWV8fGg9PT1lKXJldHVybiBxPWEuY2xvbmVSYW5nZSgpLHA9cS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxxLmRldGFjaCgpLHA7Zm9yKGE9ZjthLnBhcmVudE5vZGUhPT1lOylhPWEucGFyZW50Tm9kZTtmb3IobD1oO2wucGFyZW50Tm9kZSE9PWU7KWw9bC5wYXJlbnROb2RlO3g9Yy5jcmVhdGVSb290RmlsdGVyKGYpO2ZvcihlPWEubmV4dFNpYmxpbmc7ZSYmZSE9PWw7KXI9ZChlKSxwPW4ocCxyKSxlPWUubmV4dFNpYmxpbmc7aWYodS5pc1BhcmFncmFwaChhKSlwPW4ocCx0LmdldEJvdW5kaW5nQ2xpZW50UmVjdChhKSk7ZWxzZSBpZihhLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpZT1hLHEuc2V0U3RhcnQoZSxnKSxxLnNldEVuZChlLGU9PT1sP206ZS5sZW5ndGgpLHI9cS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPW4ocCxyKTtlbHNlIGZvcih3PXkuY3JlYXRlVHJlZVdhbGtlcihhLApOb2RlRmlsdGVyLlNIT1dfVEVYVCxiLCExKSxlPXcuY3VycmVudE5vZGU9ZjtlJiZlIT09aDspcS5zZXRTdGFydChlLGcpLHEuc2V0RW5kKGUsZS5sZW5ndGgpLHI9cS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPW4ocCxyKSxrPWUsZz0wLGU9dy5uZXh0Tm9kZSgpO2t8fChrPWYpO2lmKHUuaXNQYXJhZ3JhcGgobCkpcD1uKHAsdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QobCkpO2Vsc2UgaWYobC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKWU9bCxxLnNldFN0YXJ0KGUsZT09PWE/ZzowKSxxLnNldEVuZChlLG0pLHI9cS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPW4ocCxyKTtlbHNlIGZvcih3PXkuY3JlYXRlVHJlZVdhbGtlcihsLE5vZGVGaWx0ZXIuU0hPV19URVhULGIsITEpLGU9dy5jdXJyZW50Tm9kZT1oO2UmJmUhPT1rOylpZihxLnNldFN0YXJ0KGUsMCkscS5zZXRFbmQoZSxtKSxyPXEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscD1uKHAsciksZT13LnByZXZpb3VzTm9kZSgpKW09CmUubGVuZ3RoO3JldHVybiBwfWZ1bmN0aW9uIHIoYSxjKXt2YXIgYj1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQ9e3dpZHRoOjB9O2QudG9wPWIudG9wO2QuYm90dG9tPWIuYm90dG9tO2QuaGVpZ2h0PWIuaGVpZ2h0O2QubGVmdD1kLnJpZ2h0PWM/Yi5yaWdodDpiLmxlZnQ7cmV0dXJuIGR9ZnVuY3Rpb24gcSgpe3ZhciBhPWcuZ2V0U2VsZWN0ZWRSYW5nZSgpLGM7aWYoYz1JJiZnLmdldFNlbGVjdGlvblR5cGUoKT09PW9wcy5PZHRDdXJzb3IuUmFuZ2VTZWxlY3Rpb24mJiFhLmNvbGxhcHNlZCl7aygpO3ZhciBkPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGgpLGU9QS5nZXRab29tTGV2ZWwoKSxhPWIoYSksbSxsLG4scSx5LHU7aWYoYSl7Yz1hLmZpcnN0UmFuZ2U7bT1hLmxhc3RSYW5nZTtsPWEuZmlsbGVyUmFuZ2U7bj10LnRyYW5zbGF0ZVJlY3QocihjLCExKSxkLGUpO3k9dC50cmFuc2xhdGVSZWN0KHIobSwhMCksZCxlKTtxPShxPXAobCkpP3QudHJhbnNsYXRlUmVjdChxLApkLGUpOmYobix5KTt1PXEubGVmdDtxPW4ubGVmdCtNYXRoLm1heCgwLHEud2lkdGgtKG4ubGVmdC1xLmxlZnQpKTtkPU1hdGgubWluKG4udG9wLHkudG9wKTtlPXkudG9wK3kuaGVpZ2h0O3U9W3t4Om4ubGVmdCx5OmQrbi5oZWlnaHR9LHt4Om4ubGVmdCx5OmR9LHt4OnEseTpkfSx7eDpxLHk6ZS15LmhlaWdodH0se3g6eS5yaWdodCx5OmUteS5oZWlnaHR9LHt4OnkucmlnaHQseTplfSx7eDp1LHk6ZX0se3g6dSx5OmQrbi5oZWlnaHR9LHt4Om4ubGVmdCx5OmQrbi5oZWlnaHR9XTtxPSIiO3ZhciBFO2ZvcihFPTA7RTx1Lmxlbmd0aDtFKz0xKXErPXVbRV0ueCsiLCIrdVtFXS55KyIgIjt6LnNldEF0dHJpYnV0ZSgicG9pbnRzIixxKTt3LnNldEF0dHJpYnV0ZSgiY3giLG4ubGVmdCk7dy5zZXRBdHRyaWJ1dGUoImN5IixkK24uaGVpZ2h0LzIpO3Yuc2V0QXR0cmlidXRlKCJjeCIseS5yaWdodCk7di5zZXRBdHRyaWJ1dGUoImN5IixlLXkuaGVpZ2h0LzIpO2MuZGV0YWNoKCk7bS5kZXRhY2goKTsKbC5kZXRhY2goKX1jPUJvb2xlYW4oYSl9eC5zdHlsZS5kaXNwbGF5PWM/ImJsb2NrIjoibm9uZSJ9ZnVuY3Rpb24gZShhKXtJJiZhPT09ZyYmTi50cmlnZ2VyKCl9ZnVuY3Rpb24gbChhKXthPTgvYTt3LnNldEF0dHJpYnV0ZSgiciIsYSk7di5zZXRBdHRyaWJ1dGUoInIiLGEpfWZ1bmN0aW9uIGEoYSl7aC5yZW1vdmVDaGlsZCh4KTtoLmNsYXNzTGlzdC5yZW1vdmUoIndlYm9kZi12aXJ0dWFsU2VsZWN0aW9ucyIpO2cuZ2V0RG9jdW1lbnQoKS51bnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsZSk7QS51bnN1YnNjcmliZShndWkuWm9vbUhlbHBlci5zaWduYWxab29tQ2hhbmdlZCxsKTthKCl9dmFyIGM9Zy5nZXREb2N1bWVudCgpLG0saCx5PWMuZ2V0RE9NRG9jdW1lbnQoKSx4PXkuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInN2ZyIpLHo9eS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwKInBvbHlnb24iKSx3PXkuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImNpcmNsZSIpLHY9eS5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiY2lyY2xlIiksdT1vZGYuT2RmVXRpbHMsdD1jb3JlLkRvbVV0aWxzLEE9Yy5nZXRDYW52YXMoKS5nZXRab29tSGVscGVyKCksST0hMCxLPWcuZ2V0RG9jdW1lbnQoKS5jcmVhdGVQb3NpdGlvbkl0ZXJhdG9yKGMuZ2V0Um9vdE5vZGUoKSksTD1Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQsRT1Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1QsTjt0aGlzLnJlcmVuZGVyPWZ1bmN0aW9uKCl7SSYmTi50cmlnZ2VyKCl9O3RoaXMuc2hvdz1mdW5jdGlvbigpe0k9ITA7Ti50cmlnZ2VyKCl9O3RoaXMuaGlkZT1mdW5jdGlvbigpe0k9ITE7Ti50cmlnZ2VyKCl9O3RoaXMuZGVzdHJveT1mdW5jdGlvbihjKXtjb3JlLkFzeW5jLmRlc3Ryb3lBbGwoW04uZGVzdHJveSxhXSxjKX07KGZ1bmN0aW9uKCl7dmFyIGE9CmcuZ2V0TWVtYmVySWQoKTtOPWNvcmUuVGFzay5jcmVhdGVSZWRyYXdUYXNrKHEpO2soKTt4LnNldEF0dHJpYnV0ZU5TKCJ1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvIiwiZWRpdGluZm86bWVtYmVyaWQiLGEpO2guY2xhc3NMaXN0LmFkZCgid2Vib2RmLXZpcnR1YWxTZWxlY3Rpb25zIik7Zy5nZXREb2N1bWVudCgpLnN1YnNjcmliZShvcHMuRG9jdW1lbnQuc2lnbmFsQ3Vyc29yTW92ZWQsZSk7QS5zdWJzY3JpYmUoZ3VpLlpvb21IZWxwZXIuc2lnbmFsWm9vbUNoYW5nZWQsbCk7bChBLmdldFpvb21MZXZlbCgpKX0pKCl9OwpndWkuVW5kb1N0YXRlUnVsZXM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCl7dmFyIGc9Yi5sZW5ndGg7dGhpcy5wcmV2aW91cz1mdW5jdGlvbigpe2ZvcigtLWc7MDw9ZzstLWcpaWYoZChiW2ddKSlyZXR1cm4gYltnXTtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gayhiKXtiPWIuc3BlYygpO3ZhciBkO2IuaGFzT3duUHJvcGVydHkoInBvc2l0aW9uIikmJihkPWIucG9zaXRpb24pO3JldHVybiBkfWZ1bmN0aW9uIGQoYil7cmV0dXJuIGIuaXNFZGl0fWZ1bmN0aW9uIGIoYixkLGcpe2lmKCFnKXJldHVybiBnPWsoYiktayhkKSwwPT09Z3x8MT09PU1hdGguYWJzKGcpO2I9ayhiKTtkPWsoZCk7Zz1rKGcpO3JldHVybiBiLWQ9PT1kLWd9dGhpcy5pc0VkaXRPcGVyYXRpb249ZDt0aGlzLmlzUGFydE9mT3BlcmF0aW9uU2V0PWZ1bmN0aW9uKGYsayl7dmFyIHA9dm9pZCAwIT09Zi5ncm91cCxyO2lmKCFmLmlzRWRpdHx8MD09PWsubGVuZ3RoKXJldHVybiEwO3I9a1trLmxlbmd0aC0xXTtpZihwJiYKZi5ncm91cD09PXIuZ3JvdXApcmV0dXJuITA7YTpzd2l0Y2goZi5zcGVjKCkub3B0eXBlKXtjYXNlICJSZW1vdmVUZXh0IjpjYXNlICJJbnNlcnRUZXh0IjpyPSEwO2JyZWFrIGE7ZGVmYXVsdDpyPSExfWlmKHImJmsuc29tZShkKSl7aWYocCl7dmFyIHE7cD1mLnNwZWMoKS5vcHR5cGU7cj1uZXcgZyhrLGQpO3ZhciBlPXIucHJldmlvdXMoKSxsPW51bGwsYSxjO3J1bnRpbWUuYXNzZXJ0KEJvb2xlYW4oZSksIk5vIGVkaXQgb3BlcmF0aW9ucyBmb3VuZCBpbiBzdGF0ZSIpO2M9ZS5ncm91cDtydW50aW1lLmFzc2VydCh2b2lkIDAhPT1jLCJPcGVyYXRpb24gaGFzIG5vIGdyb3VwIik7Zm9yKGE9MTtlJiZlLmdyb3VwPT09Yzspe2lmKHA9PT1lLnNwZWMoKS5vcHR5cGUpe3E9ZTticmVha31lPXIucHJldmlvdXMoKX1pZihxKXtmb3IoZT1yLnByZXZpb3VzKCk7ZTspe2lmKGUuZ3JvdXAhPT1jKXtpZigyPT09YSlicmVhaztjPWUuZ3JvdXA7YSs9MX1pZihwPT09ZS5zcGVjKCkub3B0eXBlKXtsPQplO2JyZWFrfWU9ci5wcmV2aW91cygpfXE9YihmLHEsbCl9ZWxzZSBxPSExO3JldHVybiBxfXE9Zi5zcGVjKCkub3B0eXBlO3A9bmV3IGcoayxkKTtyPXAucHJldmlvdXMoKTtydW50aW1lLmFzc2VydChCb29sZWFuKHIpLCJObyBlZGl0IG9wZXJhdGlvbnMgZm91bmQgaW4gc3RhdGUiKTtxPXE9PT1yLnNwZWMoKS5vcHR5cGU/YihmLHIscC5wcmV2aW91cygpKTohMTtyZXR1cm4gcX1yZXR1cm4hMX19OwooZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGIsZCl7dGhpcy5tYWluSWQ9dm9pZCAwIT09Yj9iOi0xO3RoaXMuc3ViSWQ9dm9pZCAwIT09ZD9kOi0xfWZ1bmN0aW9uIGsoYixmLGspe2Z1bmN0aW9uIHAoZCxhKXtyZXR1cm4gZCsoYi5pc0VkaXRPcGVyYXRpb24oYSk/MTowKX12YXIgcixxLGU7dGhpcy5hZGRPcGVyYXRpb249ZnVuY3Rpb24oZCl7Yi5pc0VkaXRPcGVyYXRpb24oZCkmJihlKz0xKTtxLnB1c2goZCl9O3RoaXMuaXNOZXh0U3RhdGVJZD1mdW5jdGlvbihiKXtyZXR1cm4gYi5tYWluSWQ9PT1yJiZiLnN1YklkPT09ZX07dGhpcy5nZXROZXh0U3RhdGVJZD1mdW5jdGlvbigpe3JldHVybiBuZXcgZyhyLGUpfTt0aGlzLmdldE9wZXJhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gcX07cj1kKz0xO3E9Znx8W107ZT1mJiZrP2YucmVkdWNlKHAsMCk6MH12YXIgZD0wO2d1aS5Ucml2aWFsVW5kb01hbmFnZXI9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpe3JldHVybiEwIT09dS5pc05leHRTdGF0ZUlkKHYpfQpmdW5jdGlvbiBuKGEpe2E9YS5nZXRPcGVyYXRpb25zKCk7MDxhLmxlbmd0aCYmKEw9ITAseihhKSxMPSExKX1mdW5jdGlvbiBwKCl7SS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxVbmRvU3RhY2tDaGFuZ2VkLHt1bmRvQXZhaWxhYmxlOm0uaGFzVW5kb1N0YXRlcygpLHJlZG9BdmFpbGFibGU6bS5oYXNSZWRvU3RhdGVzKCl9KX1mdW5jdGlvbiByKGEpe3ZhciBjPWQoKTthIT09YyYmSS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudE1vZGlmaWVkQ2hhbmdlZCxjKX1mdW5jdGlvbiBxKCl7dSE9PXgmJnUhPT10W3QubGVuZ3RoLTFdJiZ0LnB1c2godSl9ZnVuY3Rpb24gZShhKXt2YXIgYz1hLnByZXZpb3VzU2libGluZ3x8YS5uZXh0U2libGluZzthLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk7aC5ub3JtYWxpemVUZXh0Tm9kZXMoYyl9ZnVuY3Rpb24gbChhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBhW2NdfSl9ZnVuY3Rpb24gYShhKXtmdW5jdGlvbiBjKGEpe3ZhciBoPQphLnNwZWMoKTtpZihlW2gubWVtYmVyaWRdKXN3aXRjaChoLm9wdHlwZSl7Y2FzZSAiQWRkQ3Vyc29yIjpiW2gubWVtYmVyaWRdfHwoYltoLm1lbWJlcmlkXT1hLGRlbGV0ZSBlW2gubWVtYmVyaWRdLC0tZik7YnJlYWs7Y2FzZSAiTW92ZUN1cnNvciI6ZFtoLm1lbWJlcmlkXXx8KGRbaC5tZW1iZXJpZF09YSl9fXZhciBiPXt9LGQ9e30sZT17fSxmLGg7aD1hLnBvcCgpO3cuZ2V0TWVtYmVySWRzKCkuZm9yRWFjaChmdW5jdGlvbihhKXtlW2FdPSEwfSk7Zm9yKGY9T2JqZWN0LmtleXMoZSkubGVuZ3RoO2gmJjA8ZjspaD1oLmdldE9wZXJhdGlvbnMoKSxoLnJldmVyc2UoKSxoLmZvckVhY2goYyksaD1hLnBvcCgpO3JldHVybiBuZXcgayhLLGwoYikuY29uY2F0KGwoZCkpKX1mdW5jdGlvbiBjKCl7dmFyIGM9ZCgpLGI9eT13LmNsb25lRG9jdW1lbnRFbGVtZW50KCk7aC5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGIsInVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yIiwiY3Vyc29yIikuZm9yRWFjaChlKTsKaC5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKGIsInVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yIiwiYW5jaG9yIikuZm9yRWFjaChlKTtxKCk7dT14PWEoW3hdLmNvbmNhdCh0KSk7dC5sZW5ndGg9MDtBLmxlbmd0aD0wO2N8fCh2PXUuZ2V0TmV4dFN0YXRlSWQoKSk7cCgpO3IoYyl9dmFyIG09dGhpcyxoPWNvcmUuRG9tVXRpbHMseSx4LHosdyx2LHUsdD1bXSxBPVtdLEk9bmV3IGNvcmUuRXZlbnROb3RpZmllcihbZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGFja0NoYW5nZWQsZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGF0ZUNyZWF0ZWQsZ3VpLlVuZG9NYW5hZ2VyLnNpZ25hbFVuZG9TdGF0ZU1vZGlmaWVkLGd1aS5VbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudE1vZGlmaWVkQ2hhbmdlZCxndWkuVHJpdmlhbFVuZG9NYW5hZ2VyLnNpZ25hbERvY3VtZW50Um9vdFJlcGxhY2VkXSksSz1ifHxuZXcgZ3VpLlVuZG9TdGF0ZVJ1bGVzLEw9ITE7dGhpcy5zdWJzY3JpYmU9ZnVuY3Rpb24oYSwKYyl7SS5zdWJzY3JpYmUoYSxjKX07dGhpcy51bnN1YnNjcmliZT1mdW5jdGlvbihhLGMpe0kudW5zdWJzY3JpYmUoYSxjKX07dGhpcy5pc0RvY3VtZW50TW9kaWZpZWQ9ZDt0aGlzLnNldERvY3VtZW50TW9kaWZpZWQ9ZnVuY3Rpb24oYSl7ZCgpIT09YSYmKHY9YT9uZXcgZzp1LmdldE5leHRTdGF0ZUlkKCksSS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudE1vZGlmaWVkQ2hhbmdlZCxhKSl9O3RoaXMuaGFzVW5kb1N0YXRlcz1mdW5jdGlvbigpe3JldHVybiAwPHQubGVuZ3RofTt0aGlzLmhhc1JlZG9TdGF0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gMDxBLmxlbmd0aH07dGhpcy5zZXREb2N1bWVudD1mdW5jdGlvbihhKXt3PWF9O3RoaXMucHVyZ2VJbml0aWFsU3RhdGU9ZnVuY3Rpb24oKXt2YXIgYT1kKCk7dC5sZW5ndGg9MDtBLmxlbmd0aD0wO3U9eD1uZXcgayhLKTt2PXUuZ2V0TmV4dFN0YXRlSWQoKTt5PW51bGw7cCgpO3IoYSl9O3RoaXMuc2V0SW5pdGlhbFN0YXRlPQpjO3RoaXMuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3l8fGMoKX07dGhpcy5zZXRQbGF5YmFja0Z1bmN0aW9uPWZ1bmN0aW9uKGEpe3o9YX07dGhpcy5vbk9wZXJhdGlvbkV4ZWN1dGVkPWZ1bmN0aW9uKGEpe2lmKCFMKXt2YXIgYz1kKCk7Sy5pc0VkaXRPcGVyYXRpb24oYSkmJih1PT09eHx8MDxBLmxlbmd0aCl8fCFLLmlzUGFydE9mT3BlcmF0aW9uU2V0KGEsdS5nZXRPcGVyYXRpb25zKCkpPyhBLmxlbmd0aD0wLHEoKSx1PW5ldyBrKEssW2FdLCEwKSx0LnB1c2godSksSS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxVbmRvU3RhdGVDcmVhdGVkLHtvcGVyYXRpb25zOnUuZ2V0T3BlcmF0aW9ucygpfSkscCgpKToodS5hZGRPcGVyYXRpb24oYSksSS5lbWl0KGd1aS5VbmRvTWFuYWdlci5zaWduYWxVbmRvU3RhdGVNb2RpZmllZCx7b3BlcmF0aW9uczp1LmdldE9wZXJhdGlvbnMoKX0pKTtyKGMpfX07dGhpcy5tb3ZlRm9yd2FyZD1mdW5jdGlvbihhKXtmb3IodmFyIGM9MCxiPWQoKSwKZTthJiZBLmxlbmd0aDspZT1BLnBvcCgpLHQucHVzaChlKSxuKGUpLC0tYSxjKz0xO2MmJih1PXRbdC5sZW5ndGgtMV0scCgpLHIoYikpO3JldHVybiBjfTt0aGlzLm1vdmVCYWNrd2FyZD1mdW5jdGlvbihhKXtmb3IodmFyIGM9MCxiPWQoKTthJiZ0Lmxlbmd0aDspQS5wdXNoKHQucG9wKCkpLC0tYSxjKz0xO2MmJih3LmdldE1lbWJlcklkcygpLmZvckVhY2goZnVuY3Rpb24oYSl7dy5oYXNDdXJzb3IoYSkmJncucmVtb3ZlQ3Vyc29yKGEpfSksdy5zZXREb2N1bWVudEVsZW1lbnQoeS5jbG9uZU5vZGUoITApKSxJLmVtaXQoZ3VpLlRyaXZpYWxVbmRvTWFuYWdlci5zaWduYWxEb2N1bWVudFJvb3RSZXBsYWNlZCx7fSksbih4KSx0LmZvckVhY2gobiksdT10W3QubGVuZ3RoLTFdfHx4LHAoKSxyKGIpKTtyZXR1cm4gY307dT14PW5ldyBrKEspO3Y9dS5nZXROZXh0U3RhdGVJZCgpfTtndWkuVHJpdmlhbFVuZG9NYW5hZ2VyLnNpZ25hbERvY3VtZW50Um9vdFJlcGxhY2VkPSJkb2N1bWVudFJvb3RSZXBsYWNlZCJ9KSgpOwpvZGYuR3JhcGhpY1Byb3BlcnRpZXM9ZnVuY3Rpb24oZyxrLGQpe3ZhciBiPXRoaXMsZj1vZGYuTmFtZXNwYWNlcy5zdHlsZW5zLG49b2RmLk5hbWVzcGFjZXMuc3ZnbnM7dGhpcy52ZXJ0aWNhbFBvcz1mdW5jdGlvbigpe3JldHVybiBiLmRhdGEudmFsdWUoInZlcnRpY2FsUG9zIil9O3RoaXMudmVydGljYWxSZWw9ZnVuY3Rpb24oKXtyZXR1cm4gYi5kYXRhLnZhbHVlKCJ2ZXJ0aWNhbFJlbCIpfTt0aGlzLmhvcml6b250YWxQb3M9ZnVuY3Rpb24oKXtyZXR1cm4gYi5kYXRhLnZhbHVlKCJob3Jpem9udGFsUG9zIil9O3RoaXMuaG9yaXpvbnRhbFJlbD1mdW5jdGlvbigpe3JldHVybiBiLmRhdGEudmFsdWUoImhvcml6b250YWxSZWwiKX07dGhpcy5zdHJva2VXaWR0aD1mdW5jdGlvbigpe3JldHVybiBiLmRhdGEudmFsdWUoInN0cm9rZVdpZHRoIil9O2IuZGF0YT1uZXcgb2RmLkxhenlTdHlsZVByb3BlcnRpZXModm9pZCAwPT09ZD92b2lkIDA6ZC5kYXRhLHt2ZXJ0aWNhbFBvczpmdW5jdGlvbigpe3ZhciBiPQpnLmdldEF0dHJpYnV0ZU5TKGYsInZlcnRpY2FsLXBvcyIpO3JldHVybiIiPT09Yj92b2lkIDA6Yn0sdmVydGljYWxSZWw6ZnVuY3Rpb24oKXt2YXIgYj1nLmdldEF0dHJpYnV0ZU5TKGYsInZlcnRpY2FsLXJlbCIpO3JldHVybiIiPT09Yj92b2lkIDA6Yn0saG9yaXpvbnRhbFBvczpmdW5jdGlvbigpe3ZhciBiPWcuZ2V0QXR0cmlidXRlTlMoZiwiaG9yaXpvbnRhbC1wb3MiKTtyZXR1cm4iIj09PWI/dm9pZCAwOmJ9LGhvcml6b250YWxSZWw6ZnVuY3Rpb24oKXt2YXIgYj1nLmdldEF0dHJpYnV0ZU5TKGYsImhvcml6b250YWwtcmVsIik7cmV0dXJuIiI9PT1iP3ZvaWQgMDpifSxzdHJva2VXaWR0aDpmdW5jdGlvbigpe3ZhciBiPWcuZ2V0QXR0cmlidXRlTlMobiwic3Ryb2tlLXdpZHRoIik7cmV0dXJuIGsucGFyc2VMZW5ndGgoYil9fSl9OwpvZGYuQ29tcHV0ZWRHcmFwaGljUHJvcGVydGllcz1mdW5jdGlvbigpe3ZhciBnO3RoaXMuc2V0R3JhcGhpY1Byb3BlcnRpZXM9ZnVuY3Rpb24oayl7Zz1rfTt0aGlzLnZlcnRpY2FsUG9zPWZ1bmN0aW9uKCl7cmV0dXJuIGcmJmcudmVydGljYWxQb3MoKXx8ImZyb20tdG9wIn07dGhpcy52ZXJ0aWNhbFJlbD1mdW5jdGlvbigpe3JldHVybiBnJiZnLnZlcnRpY2FsUmVsKCl8fCJwYWdlIn07dGhpcy5ob3Jpem9udGFsUG9zPWZ1bmN0aW9uKCl7cmV0dXJuIGcmJmcuaG9yaXpvbnRhbFBvcygpfHwiZnJvbS1sZWZ0In07dGhpcy5ob3Jpem9udGFsUmVsPWZ1bmN0aW9uKCl7cmV0dXJuIGcmJmcuaG9yaXpvbnRhbFJlbCgpfHwicGFnZSJ9fTsKb2RmLlBhZ2VMYXlvdXRQcm9wZXJ0aWVzPWZ1bmN0aW9uKGcsayxkKXt2YXIgYj10aGlzLGY9b2RmLk5hbWVzcGFjZXMuZm9uczt0aGlzLnBhZ2VIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gYi5kYXRhLnZhbHVlKCJwYWdlSGVpZ2h0Iil8fDExMjN9O3RoaXMucGFnZVdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIGIuZGF0YS52YWx1ZSgicGFnZVdpZHRoIil8fDc5NH07Yi5kYXRhPW5ldyBvZGYuTGF6eVN0eWxlUHJvcGVydGllcyh2b2lkIDA9PT1kP3ZvaWQgMDpkLmRhdGEse3BhZ2VIZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgYjtnJiYoYj1nLmdldEF0dHJpYnV0ZU5TKGYsInBhZ2UtaGVpZ2h0IiksYj1rLnBhcnNlTGVuZ3RoKGIpKTtyZXR1cm4gYn0scGFnZVdpZHRoOmZ1bmN0aW9uKCl7dmFyIGI7ZyYmKGI9Zy5nZXRBdHRyaWJ1dGVOUyhmLCJwYWdlLXdpZHRoIiksYj1rLnBhcnNlTGVuZ3RoKGIpKTtyZXR1cm4gYn19KX07Cm9kZi5QYWdlTGF5b3V0PWZ1bmN0aW9uKGcsayxkKXt2YXIgYj1udWxsO2cmJihiPWsuZ2V0UHJvcGVydGllc0VsZW1lbnQoInBhZ2UtbGF5b3V0LXByb3BlcnRpZXMiLGcpKTt0aGlzLnBhZ2VMYXlvdXQ9bmV3IG9kZi5QYWdlTGF5b3V0UHJvcGVydGllcyhiLGssZCYmZC5wYWdlTGF5b3V0KX07b2RmLlBhZ2VMYXlvdXRDYWNoZT1mdW5jdGlvbigpe307b2RmLlBhZ2VMYXlvdXRDYWNoZS5wcm90b3R5cGUuZ2V0UGFnZUxheW91dD1mdW5jdGlvbihnKXt9O29kZi5QYWdlTGF5b3V0Q2FjaGUucHJvdG90eXBlLmdldERlZmF1bHRQYWdlTGF5b3V0PWZ1bmN0aW9uKCl7fTsKb2RmLlBhcmFncmFwaFByb3BlcnRpZXM9ZnVuY3Rpb24oZyxrLGQpe3ZhciBiPXRoaXMsZj1vZGYuTmFtZXNwYWNlcy5mb25zO3RoaXMubWFyZ2luVG9wPWZ1bmN0aW9uKCl7cmV0dXJuIGIuZGF0YS52YWx1ZSgibWFyZ2luVG9wIil9O2IuZGF0YT1uZXcgb2RmLkxhenlTdHlsZVByb3BlcnRpZXModm9pZCAwPT09ZD92b2lkIDA6ZC5kYXRhLHttYXJnaW5Ub3A6ZnVuY3Rpb24oKXt2YXIgYj1nLmdldEF0dHJpYnV0ZU5TKGYsIm1hcmdpbi10b3AiKTtyZXR1cm4gay5wYXJzZVBvc2l0aXZlTGVuZ3RoT3JQZXJjZW50KGIsIm1hcmdpblRvcCIsZCYmZC5kYXRhKX19KX07Cm9kZi5Db21wdXRlZFBhcmFncmFwaFByb3BlcnRpZXM9ZnVuY3Rpb24oKXt2YXIgZz17fSxrPVtdO3RoaXMuc2V0U3R5bGVDaGFpbj1mdW5jdGlvbihkKXtrPWQ7Zz17fX07dGhpcy5tYXJnaW5Ub3A9ZnVuY3Rpb24oKXt2YXIgZCxiO2lmKGcuaGFzT3duUHJvcGVydHkoIm1hcmdpblRvcCIpKWQ9Zy5tYXJnaW5Ub3A7ZWxzZXtmb3IoYj0wO3ZvaWQgMD09PWQmJmI8ay5sZW5ndGg7Yis9MSlkPWtbYl0ubWFyZ2luVG9wKCk7Zy5tYXJnaW5Ub3A9ZH1yZXR1cm4gZHx8MH19OwpvZGYuVGV4dFByb3BlcnRpZXM9ZnVuY3Rpb24oZyxrLGQpe3ZhciBiPXRoaXMsZj1vZGYuTmFtZXNwYWNlcy5mb25zO3RoaXMuZm9udFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gYi5kYXRhLnZhbHVlKCJmb250U2l6ZSIpfTtiLmRhdGE9bmV3IG9kZi5MYXp5U3R5bGVQcm9wZXJ0aWVzKHZvaWQgMD09PWQ/dm9pZCAwOmQuZGF0YSx7Zm9udFNpemU6ZnVuY3Rpb24oKXt2YXIgYj1nLmdldEF0dHJpYnV0ZU5TKGYsImZvbnQtc2l6ZSIpO3JldHVybiBrLnBhcnNlUG9zaXRpdmVMZW5ndGhPclBlcmNlbnQoYiwiZm9udFNpemUiLGQmJmQuZGF0YSl9fSl9OwpvZGYuQ29tcHV0ZWRUZXh0UHJvcGVydGllcz1mdW5jdGlvbigpe3ZhciBnPXt9LGs9W107dGhpcy5zZXRTdHlsZUNoYWluPWZ1bmN0aW9uKGQpe2s9ZDtnPXt9fTt0aGlzLmZvbnRTaXplPWZ1bmN0aW9uKCl7dmFyIGQsYjtpZihnLmhhc093blByb3BlcnR5KCJmb250U2l6ZSIpKWQ9Zy5mb250U2l6ZTtlbHNle2ZvcihiPTA7dm9pZCAwPT09ZCYmYjxrLmxlbmd0aDtiKz0xKWQ9a1tiXS5mb250U2l6ZSgpO2cuZm9udFNpemU9ZH1yZXR1cm4gZHx8MTJ9fTtvZGYuTWFzdGVyUGFnZT1mdW5jdGlvbihnLGspe3ZhciBkO2c/KGQ9Zy5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy5zdHlsZW5zLCJwYWdlLWxheW91dC1uYW1lIiksdGhpcy5wYWdlTGF5b3V0PWsuZ2V0UGFnZUxheW91dChkKSk6dGhpcy5wYWdlTGF5b3V0PWsuZ2V0RGVmYXVsdFBhZ2VMYXlvdXQoKX07b2RmLk1hc3RlclBhZ2VDYWNoZT1mdW5jdGlvbigpe307Cm9kZi5NYXN0ZXJQYWdlQ2FjaGUucHJvdG90eXBlLmdldE1hc3RlclBhZ2U9ZnVuY3Rpb24oZyl7fTsKb2RmLlN0eWxlUGlsZUVudHJ5PWZ1bmN0aW9uKGcsayxkLGIpe3RoaXMubWFzdGVyUGFnZT1mdW5jdGlvbigpe3ZhciBiPWcuZ2V0QXR0cmlidXRlTlMob2RmLk5hbWVzcGFjZXMuc3R5bGVucywibWFzdGVyLXBhZ2UtbmFtZSIpLGs9bnVsbDtiJiYoaz1kLmdldE1hc3RlclBhZ2UoYikpO3JldHVybiBrfTsoZnVuY3Rpb24oZCl7dmFyIG49Zy5nZXRBdHRyaWJ1dGVOUyhvZGYuTmFtZXNwYWNlcy5zdHlsZW5zLCJmYW1pbHkiKSxwPW51bGw7aWYoImdyYXBoaWMiPT09bnx8ImNoYXJ0Ij09PW4pZC5ncmFwaGljPXZvaWQgMD09PWI/dm9pZCAwOmIuZ3JhcGhpYyxwPWsuZ2V0UHJvcGVydGllc0VsZW1lbnQoImdyYXBoaWMtcHJvcGVydGllcyIsZyxwKSxudWxsIT09cCYmKGQuZ3JhcGhpYz1uZXcgb2RmLkdyYXBoaWNQcm9wZXJ0aWVzKHAsayxkLmdyYXBoaWMpKTtpZigicGFyYWdyYXBoIj09PW58fCJ0YWJsZS1jZWxsIj09PW58fCJncmFwaGljIj09PW58fCJwcmVzZW50YXRpb24iPT09Cm58fCJjaGFydCI9PT1uKWQucGFyYWdyYXBoPXZvaWQgMD09PWI/dm9pZCAwOmIucGFyYWdyYXBoLHA9ay5nZXRQcm9wZXJ0aWVzRWxlbWVudCgicGFyYWdyYXBoLXByb3BlcnRpZXMiLGcscCksbnVsbCE9PXAmJihkLnBhcmFncmFwaD1uZXcgb2RmLlBhcmFncmFwaFByb3BlcnRpZXMocCxrLGQucGFyYWdyYXBoKSk7aWYoInRleHQiPT09bnx8InBhcmFncmFwaCI9PT1ufHwidGFibGUtY2VsbCI9PT1ufHwiZ3JhcGhpYyI9PT1ufHwicHJlc2VudGF0aW9uIj09PW58fCJjaGFydCI9PT1uKWQudGV4dD12b2lkIDA9PT1iP3ZvaWQgMDpiLnRleHQscD1rLmdldFByb3BlcnRpZXNFbGVtZW50KCJ0ZXh0LXByb3BlcnRpZXMiLGcscCksbnVsbCE9PXAmJihkLnRleHQ9bmV3IG9kZi5UZXh0UHJvcGVydGllcyhwLGssZC50ZXh0KSl9KSh0aGlzKX07Cm9kZi5TdHlsZVBpbGU9ZnVuY3Rpb24oZyxrKXtmdW5jdGlvbiBkKGQsYSl7dmFyIGMsZjtkLmhhc0F0dHJpYnV0ZU5TKGIsInBhcmVudC1zdHlsZS1uYW1lIikmJihmPWQuZ2V0QXR0cmlidXRlTlMoYiwicGFyZW50LXN0eWxlLW5hbWUiKSwtMT09PWEuaW5kZXhPZihmKSYmKGM9ZShmLGEpKSk7cmV0dXJuIG5ldyBvZGYuU3R5bGVQaWxlRW50cnkoZCxnLGssYyl9dmFyIGI9b2RmLk5hbWVzcGFjZXMuc3R5bGVucyxmPXt9LG49e30scCxyPXt9LHE9e30sZTtlPWZ1bmN0aW9uKGIsYSl7dmFyIGM9cltiXSxlOyFjJiYoZT1mW2JdKSYmKGEucHVzaChiKSxjPWQoZSxhKSxyW2JdPWMpO3JldHVybiBjfTt0aGlzLmdldFN0eWxlPWZ1bmN0aW9uKGIpe3ZhciBhPXFbYl18fHJbYl0sYyxlPVtdO2F8fChjPW5bYl0sY3x8KGM9ZltiXSkmJmUucHVzaChiKSxjJiYoYT1kKGMsZSkpKTtyZXR1cm4gYX07dGhpcy5hZGRDb21tb25TdHlsZT1mdW5jdGlvbihkKXt2YXIgYTtkLmhhc0F0dHJpYnV0ZU5TKGIsCiJuYW1lIikmJihhPWQuZ2V0QXR0cmlidXRlTlMoYiwibmFtZSIpLGYuaGFzT3duUHJvcGVydHkoYSl8fChmW2FdPWQpKX07dGhpcy5hZGRBdXRvbWF0aWNTdHlsZT1mdW5jdGlvbihkKXt2YXIgYTtkLmhhc0F0dHJpYnV0ZU5TKGIsIm5hbWUiKSYmKGE9ZC5nZXRBdHRyaWJ1dGVOUyhiLCJuYW1lIiksbi5oYXNPd25Qcm9wZXJ0eShhKXx8KG5bYV09ZCkpfTt0aGlzLnNldERlZmF1bHRTdHlsZT1mdW5jdGlvbihiKXt2b2lkIDA9PT1wJiYocD1kKGIsW10pKX07dGhpcy5nZXREZWZhdWx0U3R5bGU9ZnVuY3Rpb24oKXtyZXR1cm4gcH19O29kZi5Db21wdXRlZEdyYXBoaWNTdHlsZT1mdW5jdGlvbigpe3RoaXMudGV4dD1uZXcgb2RmLkNvbXB1dGVkVGV4dFByb3BlcnRpZXM7dGhpcy5wYXJhZ3JhcGg9bmV3IG9kZi5Db21wdXRlZFBhcmFncmFwaFByb3BlcnRpZXM7dGhpcy5ncmFwaGljPW5ldyBvZGYuQ29tcHV0ZWRHcmFwaGljUHJvcGVydGllc307Cm9kZi5Db21wdXRlZFBhcmFncmFwaFN0eWxlPWZ1bmN0aW9uKCl7dGhpcy50ZXh0PW5ldyBvZGYuQ29tcHV0ZWRUZXh0UHJvcGVydGllczt0aGlzLnBhcmFncmFwaD1uZXcgb2RmLkNvbXB1dGVkUGFyYWdyYXBoUHJvcGVydGllc307b2RmLkNvbXB1dGVkVGV4dFN0eWxlPWZ1bmN0aW9uKCl7dGhpcy50ZXh0PW5ldyBvZGYuQ29tcHV0ZWRUZXh0UHJvcGVydGllc307Cm9kZi5TdHlsZUNhY2hlPWZ1bmN0aW9uKGcpe2Z1bmN0aW9uIGsoYSxjLGIsZCl7Yz1iLmdldEF0dHJpYnV0ZU5TKGMsImNsYXNzLW5hbWVzIik7dmFyIGU7aWYoYylmb3IoYz1jLnNwbGl0KCIgIiksZT0wO2U8Yy5sZW5ndGg7ZSs9MSlpZihiPWNbZV0pZC5wdXNoKGEpLGQucHVzaChiKX1mdW5jdGlvbiBkKGEsYyl7dmFyIGI9eC5nZXRTdHlsZU5hbWUoInBhcmFncmFwaCIsYSk7dm9pZCAwIT09YiYmKGMucHVzaCgicGFyYWdyYXBoIiksYy5wdXNoKGIpKTthLm5hbWVzcGFjZVVSSSE9PWh8fCJoIiE9PWEubG9jYWxOYW1lJiYicCIhPT1hLmxvY2FsTmFtZXx8aygicGFyYWdyYXBoIixoLGEsYyk7cmV0dXJuIGN9ZnVuY3Rpb24gYihhLGMsYil7dmFyIGQ9W10sZSxoLGYsZztmb3IoZT0wO2U8YS5sZW5ndGg7ZSs9MilmPWFbZV0sZz1hW2UrMV0sZj1yW2ZdLGc9Zi5nZXRTdHlsZShnKSx2b2lkIDAhPT1nJiYoZz1nW2NdLHZvaWQgMCE9PWcmJmchPT1oJiYoZC5wdXNoKGcpLGg9ZykpOwpmPXJbYl07aWYoZz1mLmdldERlZmF1bHRTdHlsZSgpKWc9Z1tjXSx2b2lkIDAhPT1nJiZnIT09aCYmZC5wdXNoKGcpO3JldHVybiBkfWZ1bmN0aW9uIGYoYSxjKXt2YXIgYj14LmdldFN0eWxlTmFtZSgidGV4dCIsYSksZT1hLnBhcmVudE5vZGU7dm9pZCAwIT09YiYmKGMucHVzaCgidGV4dCIpLGMucHVzaChiKSk7InNwYW4iPT09YS5sb2NhbE5hbWUmJmEubmFtZXNwYWNlVVJJPT09aCYmaygidGV4dCIsaCxhLGMpO2lmKCFlfHxlPT09ZylyZXR1cm4gYztlLm5hbWVzcGFjZVVSSSE9PWh8fCJwIiE9PWUubG9jYWxOYW1lJiYiaCIhPT1lLmxvY2FsTmFtZT9mKGUsYyk6ZChlLGMpO3JldHVybiBjfWZ1bmN0aW9uIG4oYSl7YT1hLmdldEF0dHJpYnV0ZU5TKHksImZhbWlseSIpO3JldHVybiByW2FdfXZhciBwPXRoaXMscixxLGUsbCxhLGMsbSxoPW9kZi5OYW1lc3BhY2VzLnRleHRucyx5PW9kZi5OYW1lc3BhY2VzLnN0eWxlbnMseD1uZXcgb2RmLlN0eWxlSW5mbyx6PW5ldyBvZGYuU3R5bGVQYXJzZVV0aWxzLAp3LHYsdSx0LEEsSTt0aGlzLmdldENvbXB1dGVkR3JhcGhpY1N0eWxlPWZ1bmN0aW9uKGEpe3ZhciBjPVtdO2E9eC5nZXRTdHlsZU5hbWUoImdyYXBoaWMiLGEpO3ZvaWQgMCE9PWEmJihjLnB1c2goImdyYXBoaWMiKSxjLnB1c2goYSkpO2E9Yy5qb2luKCIvIik7dmFyIGQ9bFthXTtydW50aW1lLmFzc2VydCgwPT09Yy5sZW5ndGglMiwiSW52YWxpZCBzdHlsZSBjaGFpbi4iKTt2b2lkIDA9PT1kJiYoZD1uZXcgb2RmLkNvbXB1dGVkR3JhcGhpY1N0eWxlLGQuZ3JhcGhpYy5zZXRHcmFwaGljUHJvcGVydGllcyhiKGMsImdyYXBoaWMiLCJncmFwaGljIilbMF0pLGQudGV4dC5zZXRTdHlsZUNoYWluKGIoYywidGV4dCIsImdyYXBoaWMiKSksZC5wYXJhZ3JhcGguc2V0U3R5bGVDaGFpbihiKGMsInBhcmFncmFwaCIsImdyYXBoaWMiKSksbFthXT1kKTtyZXR1cm4gZH07dGhpcy5nZXRDb21wdXRlZFBhcmFncmFwaFN0eWxlPWZ1bmN0aW9uKGEpe2E9ZChhLFtdKTt2YXIgYz1hLmpvaW4oIi8iKSwKZj1lW2NdO3J1bnRpbWUuYXNzZXJ0KDA9PT1hLmxlbmd0aCUyLCJJbnZhbGlkIHN0eWxlIGNoYWluLiIpO3ZvaWQgMD09PWYmJihmPW5ldyBvZGYuQ29tcHV0ZWRQYXJhZ3JhcGhTdHlsZSxmLnRleHQuc2V0U3R5bGVDaGFpbihiKGEsInRleHQiLCJwYXJhZ3JhcGgiKSksZi5wYXJhZ3JhcGguc2V0U3R5bGVDaGFpbihiKGEsInBhcmFncmFwaCIsInBhcmFncmFwaCIpKSxlW2NdPWYpO3JldHVybiBmfTt0aGlzLmdldENvbXB1dGVkVGV4dFN0eWxlPWZ1bmN0aW9uKGEpe2E9ZihhLFtdKTt2YXIgYz1hLmpvaW4oIi8iKSxkPXFbY107cnVudGltZS5hc3NlcnQoMD09PWEubGVuZ3RoJTIsIkludmFsaWQgc3R5bGUgY2hhaW4uIik7dm9pZCAwPT09ZCYmKGQ9bmV3IG9kZi5Db21wdXRlZFRleHRTdHlsZSxkLnRleHQuc2V0U3R5bGVDaGFpbihiKGEsInRleHQiLCJ0ZXh0IikpLHFbY109ZCk7cmV0dXJuIGR9O3RoaXMuZ2V0UGFnZUxheW91dD1mdW5jdGlvbihhKXt2YXIgYz1JW2FdO2N8fCgoYz0KQVthXSk/KGM9bmV3IG9kZi5QYWdlTGF5b3V0KGMseix0KSxJW2FdPWMpOmM9dCk7cmV0dXJuIGN9O3RoaXMuZ2V0RGVmYXVsdFBhZ2VMYXlvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdH07dGhpcy5nZXRNYXN0ZXJQYWdlPWZ1bmN0aW9uKGEpe3ZhciBjPXZbYV07dm9pZCAwPT09YyYmKChjPXdbYV0pPyhjPW5ldyBvZGYuTWFzdGVyUGFnZShjLHApLHZbYV09Yyk6Yz1udWxsKTtyZXR1cm4gY307dGhpcy5nZXREZWZhdWx0TWFzdGVyUGFnZT1mdW5jdGlvbigpe3JldHVybiB1fTt0aGlzLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBiLGQsZj1udWxsLGg9bnVsbDtxPXt9O2U9e307bD17fTt3PXt9O3Y9e307ST17fTtBPXt9O2E9bmV3IG9kZi5TdHlsZVBpbGUoeixwKTtjPW5ldyBvZGYuU3R5bGVQaWxlKHoscCk7bT1uZXcgb2RmLlN0eWxlUGlsZSh6LHApO3I9e3RleHQ6YSxwYXJhZ3JhcGg6YyxncmFwaGljOm19O2ZvcihiPWcuc3R5bGVzLmZpcnN0RWxlbWVudENoaWxkO2I7KWIubmFtZXNwYWNlVVJJPT09CnkmJigoZD1uKGIpKT8ic3R5bGUiPT09Yi5sb2NhbE5hbWU/ZC5hZGRDb21tb25TdHlsZShiKToiZGVmYXVsdC1zdHlsZSI9PT1iLmxvY2FsTmFtZSYmZC5zZXREZWZhdWx0U3R5bGUoYik6ImRlZmF1bHQtcGFnZS1sYXlvdXQiPT09Yi5sb2NhbE5hbWUmJihmPWIpKSxiPWIubmV4dEVsZW1lbnRTaWJsaW5nO3Q9bmV3IG9kZi5QYWdlTGF5b3V0KGYseik7Zm9yKGI9Zy5hdXRvbWF0aWNTdHlsZXMuZmlyc3RFbGVtZW50Q2hpbGQ7YjspYi5uYW1lc3BhY2VVUkk9PT15JiYoKGQ9bihiKSkmJiJzdHlsZSI9PT1iLmxvY2FsTmFtZT9kLmFkZEF1dG9tYXRpY1N0eWxlKGIpOiJwYWdlLWxheW91dCI9PT1iLmxvY2FsTmFtZSYmKEFbYi5nZXRBdHRyaWJ1dGVOUyh5LCJuYW1lIildPWIpKSxiPWIubmV4dEVsZW1lbnRTaWJsaW5nO2ZvcihiPWcubWFzdGVyU3R5bGVzLmZpcnN0RWxlbWVudENoaWxkO2I7KWIubmFtZXNwYWNlVVJJPT09eSYmIm1hc3Rlci1wYWdlIj09PWIubG9jYWxOYW1lJiYoaD0KaHx8YixkPWIsZj1kLmdldEF0dHJpYnV0ZU5TKHksIm5hbWUiKSwwPGYubGVuZ3RoJiYhdy5oYXNPd25Qcm9wZXJ0eShmKSYmKHdbZl09ZCkpLGI9Yi5uZXh0RWxlbWVudFNpYmxpbmc7dT1uZXcgb2RmLk1hc3RlclBhZ2UoaCxwKX19OwpvcHMuT3BlcmF0aW9uVHJhbnNmb3JtTWF0cml4PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhhKXthLnBvc2l0aW9uKz1hLmxlbmd0aDthLmxlbmd0aCo9LTF9ZnVuY3Rpb24gayhhKXt2YXIgYz0wPmEubGVuZ3RoO2MmJmcoYSk7cmV0dXJuIGN9ZnVuY3Rpb24gZChhLGMpe2Z1bmN0aW9uIGIoZSl7YVtlXT09PWMmJmQucHVzaChlKX12YXIgZD1bXTthJiZbInN0eWxlOnBhcmVudC1zdHlsZS1uYW1lIiwic3R5bGU6bmV4dC1zdHlsZS1uYW1lIl0uZm9yRWFjaChiKTtyZXR1cm4gZH1mdW5jdGlvbiBiKGEsYyl7ZnVuY3Rpb24gYihkKXthW2RdPT09YyYmZGVsZXRlIGFbZF19YSYmWyJzdHlsZTpwYXJlbnQtc3R5bGUtbmFtZSIsInN0eWxlOm5leHQtc3R5bGUtbmFtZSJdLmZvckVhY2goYil9ZnVuY3Rpb24gZihhKXt2YXIgYz17fTtPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2NbYl09Im9iamVjdCI9PT10eXBlb2YgYVtiXT9mKGFbYl0pOmFbYl19KTtyZXR1cm4gY31mdW5jdGlvbiBuKGEsCmMsYixkKXt2YXIgZSxmPSExLGc9ITEsayxsPVtdO2QmJmQuYXR0cmlidXRlcyYmKGw9ZC5hdHRyaWJ1dGVzLnNwbGl0KCIsIikpO2EmJihifHwwPGwubGVuZ3RoKSYmT2JqZWN0LmtleXMoYSkuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgZD1hW2NdLGU7Im9iamVjdCIhPT10eXBlb2YgZCYmKGImJihlPWJbY10pLHZvaWQgMCE9PWU/KGRlbGV0ZSBhW2NdLGc9ITAsZT09PWQmJihkZWxldGUgYltjXSxmPSEwKSk6LTEhPT1sLmluZGV4T2YoYykmJihkZWxldGUgYVtjXSxnPSEwKSl9KTtpZihjJiZjLmF0dHJpYnV0ZXMmJihifHwwPGwubGVuZ3RoKSl7az1jLmF0dHJpYnV0ZXMuc3BsaXQoIiwiKTtmb3IoZD0wO2Q8ay5sZW5ndGg7ZCs9MSlpZihlPWtbZF0sYiYmdm9pZCAwIT09YltlXXx8bCYmLTEhPT1sLmluZGV4T2YoZSkpay5zcGxpY2UoZCwxKSwtLWQsZz0hMDswPGsubGVuZ3RoP2MuYXR0cmlidXRlcz1rLmpvaW4oIiwiKTpkZWxldGUgYy5hdHRyaWJ1dGVzfXJldHVybnttYWpvckNoYW5nZWQ6ZiwKbWlub3JDaGFuZ2VkOmd9fWZ1bmN0aW9uIHAoYSl7Zm9yKHZhciBjIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShjKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiByKGEpe2Zvcih2YXIgYyBpbiBhKWlmKGEuaGFzT3duUHJvcGVydHkoYykmJigiYXR0cmlidXRlcyIhPT1jfHwwPGEuYXR0cmlidXRlcy5sZW5ndGgpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHEoYSxjLGIsZCxlKXt2YXIgZj1hP2FbZV06bnVsbCxnPWM/Y1tlXTpudWxsLGs9Yj9iW2VdOm51bGwsbD1kP2RbZV06bnVsbCxxO3E9bihmLGcsayxsKTtmJiYhcChmKSYmZGVsZXRlIGFbZV07ZyYmIXIoZykmJmRlbGV0ZSBjW2VdO2smJiFwKGspJiZkZWxldGUgYltlXTtsJiYhcihsKSYmZGVsZXRlIGRbZV07cmV0dXJuIHF9ZnVuY3Rpb24gZShhLGMpe3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2NdfX12YXIgbDtsPXtBZGRBbm5vdGF0aW9uOntBZGRBbm5vdGF0aW9uOmZ1bmN0aW9uKGEsYyxiKXt2YXIgZDsKYS5wb3NpdGlvbjxjLnBvc2l0aW9uPyhkPWEsYj1jKTpjLnBvc2l0aW9uPGEucG9zaXRpb24/KGQ9YyxiPWEpOihkPWI/YTpjLGI9Yj9jOmEpO2IucG9zaXRpb248ZC5wb3NpdGlvbitkLmxlbmd0aCYmKGQubGVuZ3RoKz0yKTtiLnBvc2l0aW9uKz0yO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2NdfX0sQWRkQ3Vyc29yOmUsQWRkTWVtYmVyOmUsQWRkU3R5bGU6ZSxBcHBseURpcmVjdFN0eWxpbmc6ZnVuY3Rpb24oYSxjKXthLnBvc2l0aW9uPD1jLnBvc2l0aW9uP2MucG9zaXRpb24rPTI6YS5wb3NpdGlvbjw9Yy5wb3NpdGlvbitjLmxlbmd0aCYmKGMubGVuZ3RoKz0yKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltjXX19LEluc2VydFRleHQ6ZnVuY3Rpb24oYSxjKXtjLnBvc2l0aW9uPD1hLnBvc2l0aW9uP2EucG9zaXRpb24rPWMudGV4dC5sZW5ndGg6KHZvaWQgMCE9PWEubGVuZ3RoJiZjLnBvc2l0aW9uPD1hLnBvc2l0aW9uK2EubGVuZ3RoJiYoYS5sZW5ndGgrPQpjLnRleHQubGVuZ3RoKSxjLnBvc2l0aW9uKz0yKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltjXX19LE1lcmdlUGFyYWdyYXBoOmZ1bmN0aW9uKGEsYyl7Yy5zb3VyY2VTdGFydFBvc2l0aW9uPD1hLnBvc2l0aW9uPy0tYS5wb3NpdGlvbjoodm9pZCAwIT09YS5sZW5ndGgmJmMuc291cmNlU3RhcnRQb3NpdGlvbjw9YS5wb3NpdGlvbithLmxlbmd0aCYmLS1hLmxlbmd0aCxjLnNvdXJjZVN0YXJ0UG9zaXRpb24rPTIsYS5wb3NpdGlvbjxjLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiYmKGMuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uKz0yKSk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbY119fSxNb3ZlQ3Vyc29yOmZ1bmN0aW9uKGEsYyl7dmFyIGI9ayhjKTthLnBvc2l0aW9uPGMucG9zaXRpb24/Yy5wb3NpdGlvbis9MjphLnBvc2l0aW9uPGMucG9zaXRpb24rYy5sZW5ndGgmJihjLmxlbmd0aCs9Mik7YiYmZyhjKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltjXX19LApSZW1vdmVBbm5vdGF0aW9uOmZ1bmN0aW9uKGEsYyl7YS5wb3NpdGlvbjxjLnBvc2l0aW9uPyhjLnBvc2l0aW9uPGEucG9zaXRpb24rYS5sZW5ndGgmJihhLmxlbmd0aC09Yy5sZW5ndGgrMiksYy5wb3NpdGlvbis9Mik6YS5wb3NpdGlvbi09Yy5sZW5ndGgrMjtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltjXX19LFJlbW92ZUN1cnNvcjplLFJlbW92ZU1lbWJlcjplLFJlbW92ZVN0eWxlOmUsUmVtb3ZlVGV4dDpmdW5jdGlvbihhLGMpe3ZhciBiPWMucG9zaXRpb24sZD1jLnBvc2l0aW9uK2MubGVuZ3RoLGUsZj1bYV0sZz1bY107YS5wb3NpdGlvbjw9Yy5wb3NpdGlvbj9jLnBvc2l0aW9uKz0yOmEucG9zaXRpb248ZCYmKGMubGVuZ3RoPWEucG9zaXRpb24tYy5wb3NpdGlvbixlPXtvcHR5cGU6IlJlbW92ZVRleHQiLG1lbWJlcmlkOmMubWVtYmVyaWQsdGltZXN0YW1wOmMudGltZXN0YW1wLHBvc2l0aW9uOmEucG9zaXRpb24rMixsZW5ndGg6ZC1hLnBvc2l0aW9ufSxnLnVuc2hpZnQoZSkpOwpjLnBvc2l0aW9uK2MubGVuZ3RoPD1hLnBvc2l0aW9uPyhhLnBvc2l0aW9uLT1jLmxlbmd0aCx2b2lkIDAhPT1hLmxlbmd0aCYmZSYmKGEubGVuZ3RoPWUubGVuZ3RoPj1hLmxlbmd0aD8wOmEubGVuZ3RoLWUubGVuZ3RoKSk6dm9pZCAwIT09YS5sZW5ndGgmJihlPWEucG9zaXRpb24rYS5sZW5ndGgsZDw9ZT9hLmxlbmd0aC09Yy5sZW5ndGg6YjxlJiYoYS5sZW5ndGg9Yi1hLnBvc2l0aW9uKSk7cmV0dXJue29wU3BlY3NBOmYsb3BTcGVjc0I6Z319LFNldFBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYyl7YS5wb3NpdGlvbjxjLnBvc2l0aW9uJiYoYy5wb3NpdGlvbis9Mik7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbY119fSxTcGxpdFBhcmFncmFwaDpmdW5jdGlvbihhLGMpe2EucG9zaXRpb248Yy5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbiYmKGMuc291cmNlUGFyYWdyYXBoUG9zaXRpb24rPTIpO2MucG9zaXRpb248PWEucG9zaXRpb24/YS5wb3NpdGlvbis9MToodm9pZCAwIT09CmEubGVuZ3RoJiZjLnBvc2l0aW9uPD1hLnBvc2l0aW9uK2EubGVuZ3RoJiYoYS5sZW5ndGgrPTEpLGMucG9zaXRpb24rPTIpO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2NdfX0sVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxBZGRDdXJzb3I6e0FkZEN1cnNvcjplLEFkZE1lbWJlcjplLEFkZFN0eWxlOmUsQXBwbHlEaXJlY3RTdHlsaW5nOmUsSW5zZXJ0VGV4dDplLE1lcmdlUGFyYWdyYXBoOmUsTW92ZUN1cnNvcjplLFJlbW92ZUFubm90YXRpb246ZSxSZW1vdmVDdXJzb3I6ZSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTplLFJlbW92ZVRleHQ6ZSxTZXRQYXJhZ3JhcGhTdHlsZTplLFNwbGl0UGFyYWdyYXBoOmUsVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxBZGRNZW1iZXI6e0FkZFN0eWxlOmUsQXBwbHlEaXJlY3RTdHlsaW5nOmUsSW5zZXJ0VGV4dDplLE1lcmdlUGFyYWdyYXBoOmUsCk1vdmVDdXJzb3I6ZSxSZW1vdmVBbm5vdGF0aW9uOmUsUmVtb3ZlQ3Vyc29yOmUsUmVtb3ZlU3R5bGU6ZSxSZW1vdmVUZXh0OmUsU2V0UGFyYWdyYXBoU3R5bGU6ZSxTcGxpdFBhcmFncmFwaDplLFVwZGF0ZU1ldGFkYXRhOmUsVXBkYXRlUGFyYWdyYXBoU3R5bGU6ZX0sQWRkU3R5bGU6e0FkZFN0eWxlOmUsQXBwbHlEaXJlY3RTdHlsaW5nOmUsSW5zZXJ0VGV4dDplLE1lcmdlUGFyYWdyYXBoOmUsTW92ZUN1cnNvcjplLFJlbW92ZUFubm90YXRpb246ZSxSZW1vdmVDdXJzb3I6ZSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTpmdW5jdGlvbihhLGMpe3ZhciBlLGY9W2FdLGc9W2NdO2Euc3R5bGVGYW1pbHk9PT1jLnN0eWxlRmFtaWx5JiYoZT1kKGEuc2V0UHJvcGVydGllcyxjLnN0eWxlTmFtZSksMDxlLmxlbmd0aCYmKGU9e29wdHlwZToiVXBkYXRlUGFyYWdyYXBoU3R5bGUiLG1lbWJlcmlkOmMubWVtYmVyaWQsdGltZXN0YW1wOmMudGltZXN0YW1wLHN0eWxlTmFtZTphLnN0eWxlTmFtZSwKcmVtb3ZlZFByb3BlcnRpZXM6e2F0dHJpYnV0ZXM6ZS5qb2luKCIsIil9fSxnLnVuc2hpZnQoZSkpLGIoYS5zZXRQcm9wZXJ0aWVzLGMuc3R5bGVOYW1lKSk7cmV0dXJue29wU3BlY3NBOmYsb3BTcGVjc0I6Z319LFJlbW92ZVRleHQ6ZSxTZXRQYXJhZ3JhcGhTdHlsZTplLFNwbGl0UGFyYWdyYXBoOmUsVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxBcHBseURpcmVjdFN0eWxpbmc6e0FwcGx5RGlyZWN0U3R5bGluZzpmdW5jdGlvbihhLGMsYil7dmFyIGQsZSxnLGssbCxuLHIsdDtrPVthXTtnPVtjXTtpZighKGEucG9zaXRpb24rYS5sZW5ndGg8PWMucG9zaXRpb258fGEucG9zaXRpb24+PWMucG9zaXRpb24rYy5sZW5ndGgpKXtkPWI/YTpjO2U9Yj9jOmE7aWYoYS5wb3NpdGlvbiE9PWMucG9zaXRpb258fGEubGVuZ3RoIT09Yy5sZW5ndGgpbj1mKGQpLHI9ZihlKTtjPXEoZS5zZXRQcm9wZXJ0aWVzLG51bGwsZC5zZXRQcm9wZXJ0aWVzLApudWxsLCJzdHlsZTp0ZXh0LXByb3BlcnRpZXMiKTtpZihjLm1ham9yQ2hhbmdlZHx8Yy5taW5vckNoYW5nZWQpZz1bXSxhPVtdLGs9ZC5wb3NpdGlvbitkLmxlbmd0aCxsPWUucG9zaXRpb24rZS5sZW5ndGgsZS5wb3NpdGlvbjxkLnBvc2l0aW9uP2MubWlub3JDaGFuZ2VkJiYodD1mKHIpLHQubGVuZ3RoPWQucG9zaXRpb24tZS5wb3NpdGlvbixhLnB1c2godCksZS5wb3NpdGlvbj1kLnBvc2l0aW9uLGUubGVuZ3RoPWwtZS5wb3NpdGlvbik6ZC5wb3NpdGlvbjxlLnBvc2l0aW9uJiZjLm1ham9yQ2hhbmdlZCYmKHQ9ZihuKSx0Lmxlbmd0aD1lLnBvc2l0aW9uLWQucG9zaXRpb24sZy5wdXNoKHQpLGQucG9zaXRpb249ZS5wb3NpdGlvbixkLmxlbmd0aD1rLWQucG9zaXRpb24pLGw+az9jLm1pbm9yQ2hhbmdlZCYmKG49cixuLnBvc2l0aW9uPWssbi5sZW5ndGg9bC1rLGEucHVzaChuKSxlLmxlbmd0aD1rLWUucG9zaXRpb24pOms+bCYmYy5tYWpvckNoYW5nZWQmJihuLnBvc2l0aW9uPWwsCm4ubGVuZ3RoPWstbCxnLnB1c2gobiksZC5sZW5ndGg9bC1kLnBvc2l0aW9uKSxkLnNldFByb3BlcnRpZXMmJnAoZC5zZXRQcm9wZXJ0aWVzKSYmZy5wdXNoKGQpLGUuc2V0UHJvcGVydGllcyYmcChlLnNldFByb3BlcnRpZXMpJiZhLnB1c2goZSksYj8oaz1nLGc9YSk6az1hfXJldHVybntvcFNwZWNzQTprLG9wU3BlY3NCOmd9fSxJbnNlcnRUZXh0OmZ1bmN0aW9uKGEsYyl7Yy5wb3NpdGlvbjw9YS5wb3NpdGlvbj9hLnBvc2l0aW9uKz1jLnRleHQubGVuZ3RoOmMucG9zaXRpb248PWEucG9zaXRpb24rYS5sZW5ndGgmJihhLmxlbmd0aCs9Yy50ZXh0Lmxlbmd0aCk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbY119fSxNZXJnZVBhcmFncmFwaDpmdW5jdGlvbihhLGMpe3ZhciBiPWEucG9zaXRpb24sZD1hLnBvc2l0aW9uK2EubGVuZ3RoO2I+PWMuc291cmNlU3RhcnRQb3NpdGlvbiYmLS1iO2Q+PWMuc291cmNlU3RhcnRQb3NpdGlvbiYmLS1kO2EucG9zaXRpb249YjthLmxlbmd0aD0KZC1iO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2NdfX0sTW92ZUN1cnNvcjplLFJlbW92ZUFubm90YXRpb246ZnVuY3Rpb24oYSxiKXt2YXIgZD1hLnBvc2l0aW9uLGU9YS5wb3NpdGlvbithLmxlbmd0aCxmPWIucG9zaXRpb24rYi5sZW5ndGgsZz1bYV0saz1bYl07Yi5wb3NpdGlvbjw9ZCYmZTw9Zj9nPVtdOihmPGQmJihkLT1iLmxlbmd0aCsyKSxmPGUmJihlLT1iLmxlbmd0aCsyKSxhLnBvc2l0aW9uPWQsYS5sZW5ndGg9ZS1kKTtyZXR1cm57b3BTcGVjc0E6ZyxvcFNwZWNzQjprfX0sUmVtb3ZlQ3Vyc29yOmUsUmVtb3ZlTWVtYmVyOmUsUmVtb3ZlU3R5bGU6ZSxSZW1vdmVUZXh0OmZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wb3NpdGlvbithLmxlbmd0aCxlPWIucG9zaXRpb24rYi5sZW5ndGgsZj1bYV0sZz1bYl07ZTw9YS5wb3NpdGlvbj9hLnBvc2l0aW9uLT1iLmxlbmd0aDpiLnBvc2l0aW9uPGQmJihhLnBvc2l0aW9uPGIucG9zaXRpb24/YS5sZW5ndGg9ZTxkP2EubGVuZ3RoLQpiLmxlbmd0aDpiLnBvc2l0aW9uLWEucG9zaXRpb246KGEucG9zaXRpb249Yi5wb3NpdGlvbixlPGQ/YS5sZW5ndGg9ZC1lOmY9W10pKTtyZXR1cm57b3BTcGVjc0E6ZixvcFNwZWNzQjpnfX0sU2V0UGFyYWdyYXBoU3R5bGU6ZSxTcGxpdFBhcmFncmFwaDpmdW5jdGlvbihhLGIpe2IucG9zaXRpb248YS5wb3NpdGlvbj9hLnBvc2l0aW9uKz0xOmIucG9zaXRpb248YS5wb3NpdGlvbithLmxlbmd0aCYmKGEubGVuZ3RoKz0xKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFVwZGF0ZU1lbWJlcjplLFVwZGF0ZU1ldGFkYXRhOmUsVXBkYXRlUGFyYWdyYXBoU3R5bGU6ZX0sSW5zZXJ0VGV4dDp7SW5zZXJ0VGV4dDpmdW5jdGlvbihhLGIsZCl7YS5wb3NpdGlvbjxiLnBvc2l0aW9uP2IucG9zaXRpb24rPWEudGV4dC5sZW5ndGg6YS5wb3NpdGlvbj5iLnBvc2l0aW9uP2EucG9zaXRpb24rPWIudGV4dC5sZW5ndGg6ZD9iLnBvc2l0aW9uKz1hLnRleHQubGVuZ3RoOmEucG9zaXRpb24rPQpiLnRleHQubGVuZ3RoO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2JdfX0sTWVyZ2VQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiKXthLnBvc2l0aW9uPj1iLnNvdXJjZVN0YXJ0UG9zaXRpb24/LS1hLnBvc2l0aW9uOihhLnBvc2l0aW9uPGIuc291cmNlU3RhcnRQb3NpdGlvbiYmKGIuc291cmNlU3RhcnRQb3NpdGlvbis9YS50ZXh0Lmxlbmd0aCksYS5wb3NpdGlvbjxiLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiYmKGIuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uKz1hLnRleHQubGVuZ3RoKSk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbYl19fSxNb3ZlQ3Vyc29yOmZ1bmN0aW9uKGEsYil7dmFyIGQ9ayhiKTthLnBvc2l0aW9uPGIucG9zaXRpb24/Yi5wb3NpdGlvbis9YS50ZXh0Lmxlbmd0aDphLnBvc2l0aW9uPGIucG9zaXRpb24rYi5sZW5ndGgmJihiLmxlbmd0aCs9YS50ZXh0Lmxlbmd0aCk7ZCYmZyhiKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LApSZW1vdmVBbm5vdGF0aW9uOmZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wb3NpdGlvbixlPWIucG9zaXRpb24rYi5sZW5ndGgsZj1bYV0sZz1bYl07Yi5wb3NpdGlvbjw9ZCYmZDw9ZT8oZj1bXSxiLmxlbmd0aCs9YS50ZXh0Lmxlbmd0aCk6ZTxhLnBvc2l0aW9uP2EucG9zaXRpb24tPWIubGVuZ3RoKzI6Yi5wb3NpdGlvbis9YS50ZXh0Lmxlbmd0aDtyZXR1cm57b3BTcGVjc0E6ZixvcFNwZWNzQjpnfX0sUmVtb3ZlQ3Vyc29yOmUsUmVtb3ZlTWVtYmVyOmUsUmVtb3ZlU3R5bGU6ZSxSZW1vdmVUZXh0OmZ1bmN0aW9uKGEsYil7dmFyIGQ7ZD1iLnBvc2l0aW9uK2IubGVuZ3RoO3ZhciBlPVthXSxmPVtiXTtkPD1hLnBvc2l0aW9uP2EucG9zaXRpb24tPWIubGVuZ3RoOmEucG9zaXRpb248PWIucG9zaXRpb24/Yi5wb3NpdGlvbis9YS50ZXh0Lmxlbmd0aDooYi5sZW5ndGg9YS5wb3NpdGlvbi1iLnBvc2l0aW9uLGQ9e29wdHlwZToiUmVtb3ZlVGV4dCIsbWVtYmVyaWQ6Yi5tZW1iZXJpZCx0aW1lc3RhbXA6Yi50aW1lc3RhbXAsCnBvc2l0aW9uOmEucG9zaXRpb24rYS50ZXh0Lmxlbmd0aCxsZW5ndGg6ZC1hLnBvc2l0aW9ufSxmLnVuc2hpZnQoZCksYS5wb3NpdGlvbj1iLnBvc2l0aW9uKTtyZXR1cm57b3BTcGVjc0E6ZSxvcFNwZWNzQjpmfX0sU2V0UGFyYWdyYXBoU3R5bGU6ZnVuY3Rpb24oYSxiKXtiLnBvc2l0aW9uPmEucG9zaXRpb24mJihiLnBvc2l0aW9uKz1hLnRleHQubGVuZ3RoKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFNwbGl0UGFyYWdyYXBoOmZ1bmN0aW9uKGEsYil7YS5wb3NpdGlvbjxiLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uJiYoYi5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbis9YS50ZXh0Lmxlbmd0aCk7YS5wb3NpdGlvbjw9Yi5wb3NpdGlvbj9iLnBvc2l0aW9uKz1hLnRleHQubGVuZ3RoOmEucG9zaXRpb24rPTE7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbYl19fSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LApNZXJnZVBhcmFncmFwaDp7TWVyZ2VQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPVthXSxmPVtiXSxnO2EuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPT09Yi5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24/KGU9W10sZj1bXSxhLm1vdmVDdXJzb3ImJihnPXtvcHR5cGU6Ik1vdmVDdXJzb3IiLG1lbWJlcmlkOmEubWVtYmVyaWQsdGltZXN0YW1wOmEudGltZXN0YW1wLHBvc2l0aW9uOmEuc291cmNlU3RhcnRQb3NpdGlvbi0xfSxlLnB1c2goZykpLGIubW92ZUN1cnNvciYmKGc9e29wdHlwZToiTW92ZUN1cnNvciIsbWVtYmVyaWQ6Yi5tZW1iZXJpZCx0aW1lc3RhbXA6Yi50aW1lc3RhbXAscG9zaXRpb246Yi5zb3VyY2VTdGFydFBvc2l0aW9uLTF9LGYucHVzaChnKSksYT1kP2E6YixhPXtvcHR5cGU6IlNldFBhcmFncmFwaFN0eWxlIixtZW1iZXJpZDphLm1lbWJlcmlkLHRpbWVzdGFtcDphLnRpbWVzdGFtcCxwb3NpdGlvbjphLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbixzdHlsZU5hbWU6YS5wYXJhZ3JhcGhTdHlsZU5hbWV9LApkP2UucHVzaChhKTpmLnB1c2goYSkpOmIuc291cmNlU3RhcnRQb3NpdGlvbj09PWEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPyhhLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbj1iLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiwtLWEuc291cmNlU3RhcnRQb3NpdGlvbixhLnBhcmFncmFwaFN0eWxlTmFtZT1iLnBhcmFncmFwaFN0eWxlTmFtZSk6YS5zb3VyY2VTdGFydFBvc2l0aW9uPT09Yi5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24/KGIuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPWEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uLC0tYi5zb3VyY2VTdGFydFBvc2l0aW9uLGIucGFyYWdyYXBoU3R5bGVOYW1lPWEucGFyYWdyYXBoU3R5bGVOYW1lKTphLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbjxiLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbj8oLS1iLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiwtLWIuc291cmNlU3RhcnRQb3NpdGlvbik6KC0tYS5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24sCi0tYS5zb3VyY2VTdGFydFBvc2l0aW9uKTtyZXR1cm57b3BTcGVjc0E6ZSxvcFNwZWNzQjpmfX0sTW92ZUN1cnNvcjpmdW5jdGlvbihhLGIpe3ZhciBkPWIucG9zaXRpb24sZT1iLnBvc2l0aW9uK2IubGVuZ3RoLGY9TWF0aC5taW4oZCxlKSxkPU1hdGgubWF4KGQsZSk7Zj49YS5zb3VyY2VTdGFydFBvc2l0aW9uJiYtLWY7ZD49YS5zb3VyY2VTdGFydFBvc2l0aW9uJiYtLWQ7MDw9Yi5sZW5ndGg/KGIucG9zaXRpb249ZixiLmxlbmd0aD1kLWYpOihiLnBvc2l0aW9uPWQsYi5sZW5ndGg9Zi1kKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFJlbW92ZUFubm90YXRpb246ZnVuY3Rpb24oYSxiKXt2YXIgZD1iLnBvc2l0aW9uK2IubGVuZ3RoLGU9W2FdLGY9W2JdO2IucG9zaXRpb248PWEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uJiZhLnNvdXJjZVN0YXJ0UG9zaXRpb248PWQ/KGU9W10sLS1iLmxlbmd0aCk6YS5zb3VyY2VTdGFydFBvc2l0aW9uPGIucG9zaXRpb24/LS1iLnBvc2l0aW9uOgooZDxhLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbiYmKGEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uLT1iLmxlbmd0aCsyKSxkPGEuc291cmNlU3RhcnRQb3NpdGlvbiYmKGEuc291cmNlU3RhcnRQb3NpdGlvbi09Yi5sZW5ndGgrMikpO3JldHVybntvcFNwZWNzQTplLG9wU3BlY3NCOmZ9fSxSZW1vdmVDdXJzb3I6ZSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTplLFJlbW92ZVRleHQ6ZnVuY3Rpb24oYSxiKXtiLnBvc2l0aW9uPj1hLnNvdXJjZVN0YXJ0UG9zaXRpb24/LS1iLnBvc2l0aW9uOihiLnBvc2l0aW9uPGEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uJiYoYS5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb24tPWIubGVuZ3RoKSxiLnBvc2l0aW9uPGEuc291cmNlU3RhcnRQb3NpdGlvbiYmKGEuc291cmNlU3RhcnRQb3NpdGlvbi09Yi5sZW5ndGgpKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFNldFBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYil7dmFyIGQ9ClthXSxlPVtiXTtpZihiLnBvc2l0aW9uPmEuc291cmNlU3RhcnRQb3NpdGlvbiktLWIucG9zaXRpb247ZWxzZSBpZihiLnBvc2l0aW9uPT09YS5kZXN0aW5hdGlvblN0YXJ0UG9zaXRpb258fGIucG9zaXRpb249PT1hLnNvdXJjZVN0YXJ0UG9zaXRpb24pYi5wb3NpdGlvbj1hLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbixhLnBhcmFncmFwaFN0eWxlTmFtZT1iLnN0eWxlTmFtZTtyZXR1cm57b3BTcGVjc0E6ZCxvcFNwZWNzQjplfX0sU3BsaXRQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiKXt2YXIgZCxlPVthXSxmPVtiXTtiLnBvc2l0aW9uPGEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPyhhLmRlc3RpbmF0aW9uU3RhcnRQb3NpdGlvbis9MSxhLnNvdXJjZVN0YXJ0UG9zaXRpb24rPTEpOmIucG9zaXRpb24+PWEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uJiZiLnBvc2l0aW9uPGEuc291cmNlU3RhcnRQb3NpdGlvbj8oYi5wYXJhZ3JhcGhTdHlsZU5hbWU9YS5wYXJhZ3JhcGhTdHlsZU5hbWUsCmQ9e29wdHlwZToiU2V0UGFyYWdyYXBoU3R5bGUiLG1lbWJlcmlkOmEubWVtYmVyaWQsdGltZXN0YW1wOmEudGltZXN0YW1wLHBvc2l0aW9uOmEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uLHN0eWxlTmFtZTphLnBhcmFncmFwaFN0eWxlTmFtZX0sZS5wdXNoKGQpLGIucG9zaXRpb249PT1hLnNvdXJjZVN0YXJ0UG9zaXRpb24tMSYmYS5tb3ZlQ3Vyc29yJiYoZD17b3B0eXBlOiJNb3ZlQ3Vyc29yIixtZW1iZXJpZDphLm1lbWJlcmlkLHRpbWVzdGFtcDphLnRpbWVzdGFtcCxwb3NpdGlvbjpiLnBvc2l0aW9uLGxlbmd0aDowfSxlLnB1c2goZCkpLGEuZGVzdGluYXRpb25TdGFydFBvc2l0aW9uPWIucG9zaXRpb24rMSxhLnNvdXJjZVN0YXJ0UG9zaXRpb24rPTEpOmIucG9zaXRpb24+PWEuc291cmNlU3RhcnRQb3NpdGlvbiYmKC0tYi5wb3NpdGlvbiwtLWIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24pO3JldHVybntvcFNwZWNzQTplLG9wU3BlY3NCOmZ9fSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLApVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxNb3ZlQ3Vyc29yOntNb3ZlQ3Vyc29yOmUsUmVtb3ZlQW5ub3RhdGlvbjpmdW5jdGlvbihhLGIpe3ZhciBkPWsoYSksZT1hLnBvc2l0aW9uK2EubGVuZ3RoLGY9Yi5wb3NpdGlvbitiLmxlbmd0aDtiLnBvc2l0aW9uPD1hLnBvc2l0aW9uJiZlPD1mPyhhLnBvc2l0aW9uPWIucG9zaXRpb24tMSxhLmxlbmd0aD0wKTooZjxhLnBvc2l0aW9uP2EucG9zaXRpb24tPWIubGVuZ3RoKzI6ZjxlJiYoYS5sZW5ndGgtPWIubGVuZ3RoKzIpLGQmJmcoYSkpO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2JdfX0sUmVtb3ZlQ3Vyc29yOmZ1bmN0aW9uKGEsYil7cmV0dXJue29wU3BlY3NBOmEubWVtYmVyaWQ9PT1iLm1lbWJlcmlkP1tdOlthXSxvcFNwZWNzQjpbYl19fSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTplLFJlbW92ZVRleHQ6ZnVuY3Rpb24oYSxiKXt2YXIgZD1rKGEpLGU9YS5wb3NpdGlvbithLmxlbmd0aCxmPWIucG9zaXRpb24rYi5sZW5ndGg7CmY8PWEucG9zaXRpb24/YS5wb3NpdGlvbi09Yi5sZW5ndGg6Yi5wb3NpdGlvbjxlJiYoYS5wb3NpdGlvbjxiLnBvc2l0aW9uP2EubGVuZ3RoPWY8ZT9hLmxlbmd0aC1iLmxlbmd0aDpiLnBvc2l0aW9uLWEucG9zaXRpb246KGEucG9zaXRpb249Yi5wb3NpdGlvbixhLmxlbmd0aD1mPGU/ZS1mOjApKTtkJiZnKGEpO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2JdfX0sU2V0UGFyYWdyYXBoU3R5bGU6ZSxTcGxpdFBhcmFncmFwaDpmdW5jdGlvbihhLGIpe3ZhciBkPWsoYSk7Yi5wb3NpdGlvbjxhLnBvc2l0aW9uP2EucG9zaXRpb24rPTE6Yi5wb3NpdGlvbjxhLnBvc2l0aW9uK2EubGVuZ3RoJiYoYS5sZW5ndGgrPTEpO2QmJmcoYSk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbYl19fSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LFJlbW92ZUFubm90YXRpb246e1JlbW92ZUFubm90YXRpb246ZnVuY3Rpb24oYSxiKXt2YXIgZD0KW2FdLGU9W2JdO2EucG9zaXRpb249PT1iLnBvc2l0aW9uJiZhLmxlbmd0aD09PWIubGVuZ3RoPyhkPVtdLGU9W10pOmEucG9zaXRpb248Yi5wb3NpdGlvbj9iLnBvc2l0aW9uLT1hLmxlbmd0aCsyOmEucG9zaXRpb24tPWIubGVuZ3RoKzI7cmV0dXJue29wU3BlY3NBOmQsb3BTcGVjc0I6ZX19LFJlbW92ZUN1cnNvcjplLFJlbW92ZU1lbWJlcjplLFJlbW92ZVN0eWxlOmUsUmVtb3ZlVGV4dDpmdW5jdGlvbihhLGIpe3ZhciBkPWEucG9zaXRpb24rYS5sZW5ndGgsZT1iLnBvc2l0aW9uK2IubGVuZ3RoLGY9W2FdLGc9W2JdO2EucG9zaXRpb248PWIucG9zaXRpb24mJmU8PWQ/KGc9W10sYS5sZW5ndGgtPWIubGVuZ3RoKTplPGEucG9zaXRpb24/YS5wb3NpdGlvbi09Yi5sZW5ndGg6Yi5wb3NpdGlvbjxhLnBvc2l0aW9uPyhhLnBvc2l0aW9uPWIucG9zaXRpb24rMSxiLmxlbmd0aC09YS5sZW5ndGgrMik6Yi5wb3NpdGlvbi09YS5sZW5ndGgrMjtyZXR1cm57b3BTcGVjc0E6ZixvcFNwZWNzQjpnfX0sClNldFBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYil7dmFyIGQ9Yi5wb3NpdGlvbixlPWEucG9zaXRpb24rYS5sZW5ndGgsZj1bYV0sZz1bYl07YS5wb3NpdGlvbjw9ZCYmZDw9ZT9nPVtdOmU8ZCYmKGIucG9zaXRpb24tPWEubGVuZ3RoKzIpO3JldHVybntvcFNwZWNzQTpmLG9wU3BlY3NCOmd9fSxTcGxpdFBhcmFncmFwaDpmdW5jdGlvbihhLGIpe3ZhciBkPWIucG9zaXRpb24sZT1hLnBvc2l0aW9uK2EubGVuZ3RoLGY9W2FdLGc9W2JdO2EucG9zaXRpb248PWQmJmQ8PWU/KGc9W10sYS5sZW5ndGgrPTEpOihlPGIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24mJihiLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uLT1hLmxlbmd0aCsyKSxlPGQ/Yi5wb3NpdGlvbi09YS5sZW5ndGgrMjphLnBvc2l0aW9uKz0xKTtyZXR1cm57b3BTcGVjc0E6ZixvcFNwZWNzQjpnfX0sVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxSZW1vdmVDdXJzb3I6e1JlbW92ZUN1cnNvcjpmdW5jdGlvbihhLApiKXt2YXIgZD1hLm1lbWJlcmlkPT09Yi5tZW1iZXJpZDtyZXR1cm57b3BTcGVjc0E6ZD9bXTpbYV0sb3BTcGVjc0I6ZD9bXTpbYl19fSxSZW1vdmVNZW1iZXI6ZSxSZW1vdmVTdHlsZTplLFJlbW92ZVRleHQ6ZSxTZXRQYXJhZ3JhcGhTdHlsZTplLFNwbGl0UGFyYWdyYXBoOmUsVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxSZW1vdmVNZW1iZXI6e1JlbW92ZVN0eWxlOmUsUmVtb3ZlVGV4dDplLFNldFBhcmFncmFwaFN0eWxlOmUsU3BsaXRQYXJhZ3JhcGg6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LFJlbW92ZVN0eWxlOntSZW1vdmVTdHlsZTpmdW5jdGlvbihhLGIpe3ZhciBkPWEuc3R5bGVOYW1lPT09Yi5zdHlsZU5hbWUmJmEuc3R5bGVGYW1pbHk9PT1iLnN0eWxlRmFtaWx5O3JldHVybntvcFNwZWNzQTpkP1tdOlthXSxvcFNwZWNzQjpkP1tdOltiXX19LFJlbW92ZVRleHQ6ZSxTZXRQYXJhZ3JhcGhTdHlsZTpmdW5jdGlvbihhLApiKXt2YXIgZCxlPVthXSxmPVtiXTsicGFyYWdyYXBoIj09PWEuc3R5bGVGYW1pbHkmJmEuc3R5bGVOYW1lPT09Yi5zdHlsZU5hbWUmJihkPXtvcHR5cGU6IlNldFBhcmFncmFwaFN0eWxlIixtZW1iZXJpZDphLm1lbWJlcmlkLHRpbWVzdGFtcDphLnRpbWVzdGFtcCxwb3NpdGlvbjpiLnBvc2l0aW9uLHN0eWxlTmFtZToiIn0sZS51bnNoaWZ0KGQpLGIuc3R5bGVOYW1lPSIiKTtyZXR1cm57b3BTcGVjc0E6ZSxvcFNwZWNzQjpmfX0sU3BsaXRQYXJhZ3JhcGg6ZSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYyl7dmFyIGUsZj1bYV0sZz1bY107InBhcmFncmFwaCI9PT1hLnN0eWxlRmFtaWx5JiYoZT1kKGMuc2V0UHJvcGVydGllcyxhLnN0eWxlTmFtZSksMDxlLmxlbmd0aCYmKGU9e29wdHlwZToiVXBkYXRlUGFyYWdyYXBoU3R5bGUiLG1lbWJlcmlkOmEubWVtYmVyaWQsdGltZXN0YW1wOmEudGltZXN0YW1wLHN0eWxlTmFtZTpjLnN0eWxlTmFtZSwKcmVtb3ZlZFByb3BlcnRpZXM6e2F0dHJpYnV0ZXM6ZS5qb2luKCIsIil9fSxmLnVuc2hpZnQoZSkpLGEuc3R5bGVOYW1lPT09Yy5zdHlsZU5hbWU/Zz1bXTpiKGMuc2V0UHJvcGVydGllcyxhLnN0eWxlTmFtZSkpO3JldHVybntvcFNwZWNzQTpmLG9wU3BlY3NCOmd9fX0sUmVtb3ZlVGV4dDp7UmVtb3ZlVGV4dDpmdW5jdGlvbihhLGIpe3ZhciBkPWEucG9zaXRpb24rYS5sZW5ndGgsZT1iLnBvc2l0aW9uK2IubGVuZ3RoLGY9W2FdLGc9W2JdO2U8PWEucG9zaXRpb24/YS5wb3NpdGlvbi09Yi5sZW5ndGg6ZDw9Yi5wb3NpdGlvbj9iLnBvc2l0aW9uLT1hLmxlbmd0aDpiLnBvc2l0aW9uPGQmJihhLnBvc2l0aW9uPGIucG9zaXRpb24/KGEubGVuZ3RoPWU8ZD9hLmxlbmd0aC1iLmxlbmd0aDpiLnBvc2l0aW9uLWEucG9zaXRpb24sZDxlPyhiLnBvc2l0aW9uPWEucG9zaXRpb24sYi5sZW5ndGg9ZS1kKTpnPVtdKTooZDxlP2IubGVuZ3RoLT1hLmxlbmd0aDpiLnBvc2l0aW9uPGEucG9zaXRpb24/CmIubGVuZ3RoPWEucG9zaXRpb24tYi5wb3NpdGlvbjpnPVtdLGU8ZD8oYS5wb3NpdGlvbj1iLnBvc2l0aW9uLGEubGVuZ3RoPWQtZSk6Zj1bXSkpO3JldHVybntvcFNwZWNzQTpmLG9wU3BlY3NCOmd9fSxTZXRQYXJhZ3JhcGhTdHlsZTpmdW5jdGlvbihhLGIpe2EucG9zaXRpb248Yi5wb3NpdGlvbiYmKGIucG9zaXRpb24tPWEubGVuZ3RoKTtyZXR1cm57b3BTcGVjc0E6W2FdLG9wU3BlY3NCOltiXX19LFNwbGl0UGFyYWdyYXBoOmZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wb3NpdGlvbithLmxlbmd0aCxlPVthXSxmPVtiXTtiLnBvc2l0aW9uPD1hLnBvc2l0aW9uP2EucG9zaXRpb24rPTE6Yi5wb3NpdGlvbjxkJiYoYS5sZW5ndGg9Yi5wb3NpdGlvbi1hLnBvc2l0aW9uLGQ9e29wdHlwZToiUmVtb3ZlVGV4dCIsbWVtYmVyaWQ6YS5tZW1iZXJpZCx0aW1lc3RhbXA6YS50aW1lc3RhbXAscG9zaXRpb246Yi5wb3NpdGlvbisxLGxlbmd0aDpkLWIucG9zaXRpb259LGUudW5zaGlmdChkKSk7YS5wb3NpdGlvbisKYS5sZW5ndGg8PWIucG9zaXRpb24/Yi5wb3NpdGlvbi09YS5sZW5ndGg6YS5wb3NpdGlvbjxiLnBvc2l0aW9uJiYoYi5wb3NpdGlvbj1hLnBvc2l0aW9uKTthLnBvc2l0aW9uK2EubGVuZ3RoPGIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24mJihiLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uLT1hLmxlbmd0aCk7cmV0dXJue29wU3BlY3NBOmUsb3BTcGVjc0I6Zn19LFVwZGF0ZU1lbWJlcjplLFVwZGF0ZU1ldGFkYXRhOmUsVXBkYXRlUGFyYWdyYXBoU3R5bGU6ZX0sU2V0UGFyYWdyYXBoU3R5bGU6e1NldFBhcmFncmFwaFN0eWxlOmZ1bmN0aW9uKGEsYixkKXthLnBvc2l0aW9uPT09Yi5wb3NpdGlvbiYmKGQ/Yi5zdHlsZU5hbWU9YS5zdHlsZU5hbWU6YS5zdHlsZU5hbWU9Yi5zdHlsZU5hbWUpO3JldHVybntvcFNwZWNzQTpbYV0sb3BTcGVjc0I6W2JdfX0sU3BsaXRQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiKXt2YXIgZD1bYV0sZT1bYl0sZzthLnBvc2l0aW9uPmIucG9zaXRpb24/YS5wb3NpdGlvbis9CjE6YS5wb3NpdGlvbj09PWIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24mJihiLnBhcmFncmFwaFN0eWxlTmFtZT1hLnN0eWxlTmFtZSxnPWYoYSksZy5wb3NpdGlvbj1iLnBvc2l0aW9uKzEsZC5wdXNoKGcpKTtyZXR1cm57b3BTcGVjc0E6ZCxvcFNwZWNzQjplfX0sVXBkYXRlTWVtYmVyOmUsVXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxTcGxpdFBhcmFncmFwaDp7U3BsaXRQYXJhZ3JhcGg6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7YS5wb3NpdGlvbjxiLnBvc2l0aW9uP2U9ITA6Yi5wb3NpdGlvbjxhLnBvc2l0aW9uP2Y9ITA6YS5wb3NpdGlvbj09PWIucG9zaXRpb24mJihkP2U9ITA6Zj0hMCk7ZT8oYi5wb3NpdGlvbis9MSxiLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uPWEucG9zaXRpb248Yi5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbj9iLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uKzE6YS5wb3NpdGlvbisxKTpmJiYoYS5wb3NpdGlvbis9MSxhLnNvdXJjZVBhcmFncmFwaFBvc2l0aW9uPQpiLnBvc2l0aW9uPGIuc291cmNlUGFyYWdyYXBoUG9zaXRpb24/YS5zb3VyY2VQYXJhZ3JhcGhQb3NpdGlvbisxOmIucG9zaXRpb24rMSk7cmV0dXJue29wU3BlY3NBOlthXSxvcFNwZWNzQjpbYl19fSxVcGRhdGVNZW1iZXI6ZSxVcGRhdGVNZXRhZGF0YTplLFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LFVwZGF0ZU1lbWJlcjp7VXBkYXRlTWV0YWRhdGE6ZSxVcGRhdGVQYXJhZ3JhcGhTdHlsZTplfSxVcGRhdGVNZXRhZGF0YTp7VXBkYXRlTWV0YWRhdGE6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY9W2FdLGc9W2JdO2U9ZD9hOmI7YT1kP2I6YTtuKGEuc2V0UHJvcGVydGllc3x8bnVsbCxhLnJlbW92ZWRQcm9wZXJ0aWVzfHxudWxsLGUuc2V0UHJvcGVydGllc3x8bnVsbCxlLnJlbW92ZWRQcm9wZXJ0aWVzfHxudWxsKTtlLnNldFByb3BlcnRpZXMmJnAoZS5zZXRQcm9wZXJ0aWVzKXx8ZS5yZW1vdmVkUHJvcGVydGllcyYmcihlLnJlbW92ZWRQcm9wZXJ0aWVzKXx8KGQ/Zj1bXTpnPVtdKTsKYS5zZXRQcm9wZXJ0aWVzJiZwKGEuc2V0UHJvcGVydGllcyl8fGEucmVtb3ZlZFByb3BlcnRpZXMmJnIoYS5yZW1vdmVkUHJvcGVydGllcyl8fChkP2c9W106Zj1bXSk7cmV0dXJue29wU3BlY3NBOmYsb3BTcGVjc0I6Z319LFVwZGF0ZVBhcmFncmFwaFN0eWxlOmV9LFVwZGF0ZVBhcmFncmFwaFN0eWxlOntVcGRhdGVQYXJhZ3JhcGhTdHlsZTpmdW5jdGlvbihhLGIsZCl7dmFyIGUsZj1bYV0sZz1bYl07YS5zdHlsZU5hbWU9PT1iLnN0eWxlTmFtZSYmKGU9ZD9hOmIsYT1kP2I6YSxxKGEuc2V0UHJvcGVydGllcyxhLnJlbW92ZWRQcm9wZXJ0aWVzLGUuc2V0UHJvcGVydGllcyxlLnJlbW92ZWRQcm9wZXJ0aWVzLCJzdHlsZTpwYXJhZ3JhcGgtcHJvcGVydGllcyIpLHEoYS5zZXRQcm9wZXJ0aWVzLGEucmVtb3ZlZFByb3BlcnRpZXMsZS5zZXRQcm9wZXJ0aWVzLGUucmVtb3ZlZFByb3BlcnRpZXMsInN0eWxlOnRleHQtcHJvcGVydGllcyIpLG4oYS5zZXRQcm9wZXJ0aWVzfHxudWxsLGEucmVtb3ZlZFByb3BlcnRpZXN8fApudWxsLGUuc2V0UHJvcGVydGllc3x8bnVsbCxlLnJlbW92ZWRQcm9wZXJ0aWVzfHxudWxsKSxlLnNldFByb3BlcnRpZXMmJnAoZS5zZXRQcm9wZXJ0aWVzKXx8ZS5yZW1vdmVkUHJvcGVydGllcyYmcihlLnJlbW92ZWRQcm9wZXJ0aWVzKXx8KGQ/Zj1bXTpnPVtdKSxhLnNldFByb3BlcnRpZXMmJnAoYS5zZXRQcm9wZXJ0aWVzKXx8YS5yZW1vdmVkUHJvcGVydGllcyYmcihhLnJlbW92ZWRQcm9wZXJ0aWVzKXx8KGQ/Zz1bXTpmPVtdKSk7cmV0dXJue29wU3BlY3NBOmYsb3BTcGVjc0I6Z319fX07dGhpcy5wYXNzVW5jaGFuZ2VkPWU7dGhpcy5leHRlbmRUcmFuc2Zvcm1hdGlvbnM9ZnVuY3Rpb24oYSl7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChmdW5jdGlvbihiKXt2YXIgZD1hW2JdLGUsZj1sLmhhc093blByb3BlcnR5KGIpO3J1bnRpbWUubG9nKChmPyJFeHRlbmRpbmciOiJBZGRpbmciKSsiIG1hcCBmb3Igb3B0eXBlQTogIitiKTtmfHwobFtiXT17fSk7ZT1sW2JdO09iamVjdC5rZXlzKGQpLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGY9CmUuaGFzT3duUHJvcGVydHkoYSk7cnVudGltZS5hc3NlcnQoYjw9YSwiV3Jvbmcgb3JkZXI6IitiKyIsICIrYSk7cnVudGltZS5sb2coIiAgIisoZj8iT3ZlcndyaXRpbmciOiJBZGRpbmciKSsiIGVudHJ5IGZvciBvcHR5cGVCOiAiK2EpO2VbYV09ZFthXX0pfSl9O3RoaXMudHJhbnNmb3JtT3BzcGVjVnNPcHNwZWM9ZnVuY3Rpb24oYSxiKXt2YXIgZD1hLm9wdHlwZTw9Yi5vcHR5cGUsZTtydW50aW1lLmxvZygiQ3Jvc3N0cmFuc2Zvcm1pbmc6Iik7cnVudGltZS5sb2cocnVudGltZS50b0pzb24oYSkpO3J1bnRpbWUubG9nKHJ1bnRpbWUudG9Kc29uKGIpKTtkfHwoZT1hLGE9YixiPWUpOyhlPShlPWxbYS5vcHR5cGVdKSYmZVtiLm9wdHlwZV0pPyhlPWUoYSxiLCFkKSxkfHxudWxsPT09ZXx8KGU9e29wU3BlY3NBOmUub3BTcGVjc0Isb3BTcGVjc0I6ZS5vcFNwZWNzQX0pKTplPW51bGw7cnVudGltZS5sb2coInJlc3VsdDoiKTtlPyhydW50aW1lLmxvZyhydW50aW1lLnRvSnNvbihlLm9wU3BlY3NBKSksCnJ1bnRpbWUubG9nKHJ1bnRpbWUudG9Kc29uKGUub3BTcGVjc0IpKSk6cnVudGltZS5sb2coIm51bGwiKTtyZXR1cm4gZX19OwpvcHMuT3BlcmF0aW9uVHJhbnNmb3JtZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKGQsYil7Zm9yKHZhciBmLG4scD1bXSxyPVtdOzA8ZC5sZW5ndGgmJmI7KXtmPWQuc2hpZnQoKTtmPWsudHJhbnNmb3JtT3BzcGVjVnNPcHNwZWMoZixiKTtpZighZilyZXR1cm4gbnVsbDtwPXAuY29uY2F0KGYub3BTcGVjc0EpO2lmKDA9PT1mLm9wU3BlY3NCLmxlbmd0aCl7cD1wLmNvbmNhdChkKTtiPW51bGw7YnJlYWt9Zm9yKDsxPGYub3BTcGVjc0IubGVuZ3RoOyl7bj1nKGQsZi5vcFNwZWNzQi5zaGlmdCgpKTtpZighbilyZXR1cm4gbnVsbDtyPXIuY29uY2F0KG4ub3BTcGVjc0IpO2Q9bi5vcFNwZWNzQX1iPWYub3BTcGVjc0IucG9wKCl9YiYmci5wdXNoKGIpO3JldHVybntvcFNwZWNzQTpwLG9wU3BlY3NCOnJ9fXZhciBrPW5ldyBvcHMuT3BlcmF0aW9uVHJhbnNmb3JtTWF0cml4O3RoaXMuZ2V0T3BlcmF0aW9uVHJhbnNmb3JtTWF0cml4PWZ1bmN0aW9uKCl7cmV0dXJuIGt9O3RoaXMudHJhbnNmb3JtPQpmdW5jdGlvbihkLGIpe2Zvcih2YXIgZixrPVtdOzA8Yi5sZW5ndGg7KXtmPWcoZCxiLnNoaWZ0KCkpO2lmKCFmKXJldHVybiBudWxsO2Q9Zi5vcFNwZWNzQTtrPWsuY29uY2F0KGYub3BTcGVjc0IpfXJldHVybntvcFNwZWNzQTpkLG9wU3BlY3NCOmt9fX07dmFyIHdlYm9kZl9jc3M9J0BuYW1lc3BhY2UgZHJhdyB1cmwodXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcmF3aW5nOjEuMCk7QG5hbWVzcGFjZSBmbyB1cmwodXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp4c2wtZm8tY29tcGF0aWJsZToxLjApO0BuYW1lc3BhY2Ugb2ZmaWNlIHVybCh1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjApO0BuYW1lc3BhY2UgcHJlc2VudGF0aW9uIHVybCh1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnByZXNlbnRhdGlvbjoxLjApO0BuYW1lc3BhY2Ugc3R5bGUgdXJsKHVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wKTtAbmFtZXNwYWNlIHN2ZyB1cmwodXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjApO0BuYW1lc3BhY2UgdGFibGUgdXJsKHVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wKTtAbmFtZXNwYWNlIHRleHQgdXJsKHVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjApO0BuYW1lc3BhY2Ugd2Vib2RmaGVscGVyIHVybCh1cm46d2Vib2RmOm5hbWVzOmhlbHBlcik7QG5hbWVzcGFjZSBjdXJzb3IgdXJsKHVybjp3ZWJvZGY6bmFtZXM6Y3Vyc29yKTtAbmFtZXNwYWNlIGVkaXRpbmZvIHVybCh1cm46d2Vib2RmOm5hbWVzOmVkaXRpbmZvKTtAbmFtZXNwYWNlIGFubm90YXRpb24gdXJsKHVybjp3ZWJvZGY6bmFtZXM6YW5ub3RhdGlvbik7QG5hbWVzcGFjZSBkYyB1cmwoaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8pO0BuYW1lc3BhY2Ugc3ZnbnMgdXJsKGh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnKTtvZmZpY2V8ZG9jdW1lbnQgPiAqLCBvZmZpY2V8ZG9jdW1lbnQtY29udGVudCA+ICoge2Rpc3BsYXk6IG5vbmU7fW9mZmljZXxib2R5LCBvZmZpY2V8ZG9jdW1lbnQge2Rpc3BsYXk6IGlubGluZS1ibG9jaztwb3NpdGlvbjogcmVsYXRpdmU7fXRleHR8cCwgdGV4dHxoIHtkaXNwbGF5OiBibG9jaztwYWRkaW5nOiAwO21hcmdpbjogMDtsaW5lLWhlaWdodDogbm9ybWFsO3Bvc2l0aW9uOiByZWxhdGl2ZTt9dGV4dHxwOjphZnRlciwgdGV4dHxoOjphZnRlciB7Y29udGVudDogIlxcMjAwQiI7d2hpdGUtc3BhY2U6IHByZTt9Klt3ZWJvZGZoZWxwZXJ8Y29udGFpbnNwYXJhZ3JhcGhhbmNob3JdIHtwb3NpdGlvbjogcmVsYXRpdmU7fXRleHR8cyB7d2hpdGUtc3BhY2U6IHByZTt9dGV4dHx0YWIge2Rpc3BsYXk6IGlubGluZTt3aGl0ZS1zcGFjZTogcHJlO310ZXh0fHRyYWNrZWQtY2hhbmdlcyB7ZGlzcGxheTogbm9uZTt9b2ZmaWNlfGJpbmFyeS1kYXRhIHtkaXNwbGF5OiBub25lO31vZmZpY2V8dGV4dCB7ZGlzcGxheTogYmxvY2s7dGV4dC1hbGlnbjogbGVmdDtvdmVyZmxvdzogdmlzaWJsZTt3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7fW9mZmljZXx0ZXh0OjpzZWxlY3Rpb24ge2JhY2tncm91bmQ6IHRyYW5zcGFyZW50O30ud2Vib2RmLXZpcnR1YWxTZWxlY3Rpb25zICo6OnNlbGVjdGlvbiB7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fS53ZWJvZGYtdmlydHVhbFNlbGVjdGlvbnMgKjo6LW1vei1zZWxlY3Rpb24ge2JhY2tncm91bmQ6IHRyYW5zcGFyZW50O31vZmZpY2V8dGV4dCAqIGRyYXd8dGV4dC1ib3gge2Rpc3BsYXk6IGJsb2NrO2JvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7fW9mZmljZXx0ZXh0IGRyYXd8ZnJhbWUge3otaW5kZXg6IDE7fW9mZmljZXxzcHJlYWRzaGVldCB7ZGlzcGxheTogYmxvY2s7Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtlbXB0eS1jZWxsczogc2hvdztmb250LWZhbWlseTogc2Fucy1zZXJpZjtmb250LXNpemU6IDEwcHQ7dGV4dC1hbGlnbjogbGVmdDtwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7b3ZlcmZsb3c6IGhpZGRlbjt9b2ZmaWNlfHByZXNlbnRhdGlvbiB7ZGlzcGxheTogaW5saW5lLWJsb2NrO3RleHQtYWxpZ246IGxlZnQ7fSNzaGFkb3dDb250ZW50IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjogbGVmdDt9ZHJhd3xwYWdlIHtkaXNwbGF5OiBibG9jaztwb3NpdGlvbjogcmVsYXRpdmU7b3ZlcmZsb3c6IGhpZGRlbjt9cHJlc2VudGF0aW9ufG5vdGVzLCBwcmVzZW50YXRpb258Zm9vdGVyLWRlY2wsIHByZXNlbnRhdGlvbnxkYXRlLXRpbWUtZGVjbCB7ZGlzcGxheTogbm9uZTt9QG1lZGlhIHByaW50IHtkcmF3fHBhZ2Uge2JvcmRlcjogMXB0IHNvbGlkIGJsYWNrO3BhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDt9cHJlc2VudGF0aW9ufG5vdGVzIHt9fW9mZmljZXxzcHJlYWRzaGVldCB0ZXh0fHAge2JvcmRlcjogMHB4O3BhZGRpbmc6IDFweDttYXJnaW46IDBweDt9b2ZmaWNlfHNwcmVhZHNoZWV0IHRhYmxlfHRhYmxlIHttYXJnaW46IDNweDt9b2ZmaWNlfHNwcmVhZHNoZWV0IHRhYmxlfHRhYmxlOmFmdGVyIHt9b2ZmaWNlfHNwcmVhZHNoZWV0IHRhYmxlfHRhYmxlLXJvdyB7Y291bnRlci1pbmNyZW1lbnQ6IHJvdzt9b2ZmaWNlfHNwcmVhZHNoZWV0IHRhYmxlfHRhYmxlLXJvdzpiZWZvcmUge3dpZHRoOiAzZW07YmFja2dyb3VuZDogI2NjY2NjYztib3JkZXI6IDFweCBzb2xpZCBibGFjazt0ZXh0LWFsaWduOiBjZW50ZXI7Y29udGVudDogY291bnRlcihyb3cpO2Rpc3BsYXk6IHRhYmxlLWNlbGw7fW9mZmljZXxzcHJlYWRzaGVldCB0YWJsZXx0YWJsZS1jZWxsIHtib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO310YWJsZXx0YWJsZSB7ZGlzcGxheTogdGFibGU7fWRyYXd8ZnJhbWUgdGFibGV8dGFibGUge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtiYWNrZ3JvdW5kOiB3aGl0ZTt9dGFibGV8dGFibGUtaGVhZGVyLXJvd3Mge2Rpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDt9dGFibGV8dGFibGUtcm93IHtkaXNwbGF5OiB0YWJsZS1yb3c7fXRhYmxlfHRhYmxlLWNvbHVtbiB7ZGlzcGxheTogdGFibGUtY29sdW1uO310YWJsZXx0YWJsZS1jZWxsIHt3aWR0aDogMC44ODlpbjtkaXNwbGF5OiB0YWJsZS1jZWxsO3dvcmQtYnJlYWs6IGJyZWFrLWFsbDt9ZHJhd3xmcmFtZSB7ZGlzcGxheTogYmxvY2s7fWRyYXd8aW1hZ2Uge2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTt0b3A6IDBweDtsZWZ0OiAwcHg7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO31kcmF3fGZyYW1lID4gZHJhd3xpbWFnZTpudGgtb2YtdHlwZShuKzIpIHtkaXNwbGF5OiBub25lO310ZXh0fGxpc3Q6YmVmb3JlIHtkaXNwbGF5OiBub25lO2NvbnRlbnQ6IiI7fXRleHR8bGlzdCB7ZGlzcGxheTogYmxvY2s7fXRleHR8bGlzdC1pdGVtIHtkaXNwbGF5OiBibG9jazt9dGV4dHxudW1iZXIge2Rpc3BsYXk6bm9uZTt9dGV4dHxhIHtjb2xvcjogYmx1ZTt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtjdXJzb3I6IHBvaW50ZXI7fS53ZWJvZGYtaW5hY3RpdmVMaW5rcyB0ZXh0fGEge2N1cnNvcjogdGV4dDt9dGV4dHxub3RlLWNpdGF0aW9uIHt2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7Zm9udC1zaXplOiBzbWFsbGVyO310ZXh0fG5vdGUtYm9keSB7ZGlzcGxheTogbm9uZTt9dGV4dHxub3RlOmhvdmVyIHRleHR8bm90ZS1jaXRhdGlvbiB7YmFja2dyb3VuZDogI2RkZGRkZDt9dGV4dHxub3RlOmhvdmVyIHRleHR8bm90ZS1ib2R5IHtkaXNwbGF5OiBibG9jaztsZWZ0OjFlbTttYXgtd2lkdGg6IDgwJTtwb3NpdGlvbjogYWJzb2x1dGU7YmFja2dyb3VuZDogI2ZmZmZhYTt9dGV4dHxiaWJsaW9ncmFwaHktc291cmNlIHtkaXNwbGF5OiBub25lO31zdmd8dGl0bGUsIHN2Z3xkZXNjIHtkaXNwbGF5OiBub25lO312aWRlbyB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlfWN1cnNvcnxhbmNob3Ige2Rpc3BsYXk6IG5vbmU7fWN1cnNvcnxjdXJzb3Ige2Rpc3BsYXk6IG5vbmU7fS53ZWJvZGYtY2FyZXRPdmVybGF5IHtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiA1JTtoZWlnaHQ6IDFlbTt6LWluZGV4OiAxMDtwYWRkaW5nLWxlZnQ6IDFweDtwb2ludGVyLWV2ZW50czogbm9uZTt9LndlYm9kZi1jYXJldE92ZXJsYXkgLmNhcmV0IHtwb3NpdGlvbjogYWJzb2x1dGU7Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCBibGFjazt0b3A6IDA7Ym90dG9tOiAwO3JpZ2h0OiAwO30ud2Vib2RmLWNhcmV0T3ZlcmxheSAuaGFuZGxlIHtwb3NpdGlvbjogYWJzb2x1dGU7bWFyZ2luLXRvcDogNXB4O3BhZGRpbmctdG9wOiAzcHg7bWFyZ2luLWxlZnQ6IGF1dG87bWFyZ2luLXJpZ2h0OiBhdXRvO3dpZHRoOiA2NHB4O2hlaWdodDogNjhweDtib3JkZXItcmFkaXVzOiA1cHg7b3BhY2l0eTogMC4zO3RleHQtYWxpZ246IGNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2IoOTAsIDkwLCA5MCk7Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7dG9wOiAtODVweDtyaWdodDogLTMycHg7fS53ZWJvZGYtY2FyZXRPdmVybGF5IC5oYW5kbGUgPiBpbWcge2JveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYig5MCwgOTAsIDkwKSBpbnNldDtiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjAwLCAyMDAsIDIwMCk7Ym9yZGVyLXJhZGl1czogNXB4O2JvcmRlcjogMnB4IHNvbGlkO2hlaWdodDogNjBweDt3aWR0aDogNjBweDtkaXNwbGF5OiBibG9jazttYXJnaW46IGF1dG87fS53ZWJvZGYtY2FyZXRPdmVybGF5IC5oYW5kbGUuYWN0aXZlIHtvcGFjaXR5OiAwLjg7fS53ZWJvZGYtY2FyZXRPdmVybGF5IC5oYW5kbGU6YWZ0ZXIge2NvbnRlbnQ6ICIgIjtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDBweDtoZWlnaHQ6IDBweDtib3JkZXItc3R5bGU6IHNvbGlkO2JvcmRlci13aWR0aDogOC43cHggNXB4IDAgNXB4O2JvcmRlci1jb2xvcjogYmxhY2sgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7dG9wOiAxMDAlO2xlZnQ6IDQzJTt9LndlYm9kZi1jYXJldFNpemVyIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDA7dmlzaWJpbGl0eTogaGlkZGVuO30jZXZlbnRUcmFwIHtkaXNwbGF5OiBibG9jaztwb3NpdGlvbjogYWJzb2x1dGU7Ym90dG9tOiAwO2xlZnQ6IDA7b3V0bGluZTogbm9uZTtvcGFjaXR5OiAwO2NvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO3BvaW50ZXItZXZlbnRzOiBub25lO3doaXRlLXNwYWNlOiBwcmU7b3ZlcmZsb3c6IGhpZGRlbjt9Y3Vyc29yfGN1cnNvciA+ICNjb21wb3NlciB7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fWN1cnNvcnxjdXJzb3JbY3Vyc29yfGNhcmV0LXNpemVyLWFjdGl2ZT0idHJ1ZSJdLGN1cnNvcnxjdXJzb3JbY3Vyc29yfGNvbXBvc2luZz0idHJ1ZSJdIHtkaXNwbGF5OiBpbmxpbmU7fWVkaXRpbmZvfGVkaXRpbmZvIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fS5lZGl0SW5mb01hcmtlciB7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAxMHB4O2hlaWdodDogMTAwJTtsZWZ0OiAtMjBweDtvcGFjaXR5OiAwLjg7dG9wOiAwO2JvcmRlci1yYWRpdXM6IDVweDtiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO30uZWRpdEluZm9NYXJrZXI6aG92ZXIge2JveC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMCwgMCwgMCwgMSk7fS5lZGl0SW5mb0hhbmRsZSB7cG9zaXRpb246IGFic29sdXRlO2JhY2tncm91bmQtY29sb3I6IGJsYWNrO3BhZGRpbmc6IDVweDtib3JkZXItcmFkaXVzOiA1cHg7b3BhY2l0eTogMC44O2JveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7Ym90dG9tOiAxMDAlO21hcmdpbi1ib3R0b206IDEwcHg7ei1pbmRleDogMztsZWZ0OiAtMjVweDt9LmVkaXRJbmZvSGFuZGxlOmFmdGVyIHtjb250ZW50OiAiICI7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAwcHg7aGVpZ2h0OiAwcHg7Ym9yZGVyLXN0eWxlOiBzb2xpZDtib3JkZXItd2lkdGg6IDguN3B4IDVweCAwIDVweDtib3JkZXItY29sb3I6IGJsYWNrIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3RvcDogMTAwJTtsZWZ0OiA1cHg7fS5lZGl0SW5mbyB7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6IG5vcm1hbDtmb250LXN0eWxlOiBub3JtYWw7dGV4dC1kZWNvcmF0aW9uOiBub25lO2NvbG9yOiB3aGl0ZTt3aWR0aDogMTAwJTtoZWlnaHQ6IDEycHQ7fS5lZGl0SW5mb0NvbG9yIHtmbG9hdDogbGVmdDt3aWR0aDogMTBwdDtoZWlnaHQ6IDEwcHQ7Ym9yZGVyOiAxcHggc29saWQgd2hpdGU7fS5lZGl0SW5mb0F1dGhvciB7ZmxvYXQ6IGxlZnQ7bWFyZ2luLWxlZnQ6IDVwdDtmb250LXNpemU6IDEwcHQ7dGV4dC1hbGlnbjogbGVmdDtoZWlnaHQ6IDEycHQ7bGluZS1oZWlnaHQ6IDEycHQ7fS5lZGl0SW5mb1RpbWUge2Zsb2F0OiByaWdodDttYXJnaW4tbGVmdDogMzBwdDtmb250LXNpemU6IDhwdDtmb250LXN0eWxlOiBpdGFsaWM7Y29sb3I6IHllbGxvdztoZWlnaHQ6IDEycHQ7bGluZS1oZWlnaHQ6IDEycHQ7fS5hbm5vdGF0aW9uV3JhcHBlciB7ZGlzcGxheTogaW5saW5lO3Bvc2l0aW9uOiByZWxhdGl2ZTt9LmFubm90YXRpb25SZW1vdmVCdXR0b246YmVmb3JlIHtjb250ZW50OiAiXHUwMGQ3Ijtjb2xvcjogd2hpdGU7cGFkZGluZzogNXB4O2xpbmUtaGVpZ2h0OiAxZW07fS5hbm5vdGF0aW9uUmVtb3ZlQnV0dG9uIHt3aWR0aDogMjBweDtoZWlnaHQ6IDIwcHg7Ym9yZGVyLXJhZGl1czogMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IC0xMHB4O2xlZnQ6IC0xMHB4O3otaW5kZXg6IDM7dGV4dC1hbGlnbjogY2VudGVyO2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO2ZvbnQtc3R5bGU6IG5vcm1hbDtmb250LXdlaWdodDogbm9ybWFsO3RleHQtZGVjb3JhdGlvbjogbm9uZTtmb250LXNpemU6IDE1cHg7fS5hbm5vdGF0aW9uUmVtb3ZlQnV0dG9uOmhvdmVyIHtjdXJzb3I6IHBvaW50ZXI7Ym94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgwLCAwLCAwLCAxKTt9LmFubm90YXRpb25Ob3RlIHt3aWR0aDogNGNtO3Bvc2l0aW9uOiBhYnNvbHV0ZTtkaXNwbGF5OiBpbmxpbmU7ei1pbmRleDogMTA7dG9wOiAwO30uYW5ub3RhdGlvbk5vdGUgPiBvZmZpY2V8YW5ub3RhdGlvbiB7ZGlzcGxheTogYmxvY2s7dGV4dC1hbGlnbjogbGVmdDt9LmFubm90YXRpb25Db25uZWN0b3Ige3Bvc2l0aW9uOiBhYnNvbHV0ZTtkaXNwbGF5OiBpbmxpbmU7dG9wOiAwO3otaW5kZXg6IDI7Ym9yZGVyLXRvcDogMXB4IGRhc2hlZCBicm93bjt9LmFubm90YXRpb25Db25uZWN0b3IuYW5ndWxhciB7LW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOy1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDt0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDt9LmFubm90YXRpb25Db25uZWN0b3IuaG9yaXpvbnRhbCB7bGVmdDogMDt9LmFubm90YXRpb25Db25uZWN0b3IuaG9yaXpvbnRhbDpiZWZvcmUge2NvbnRlbnQ6ICIiO2Rpc3BsYXk6IGlubGluZTtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDBweDtoZWlnaHQ6IDBweDtib3JkZXItc3R5bGU6IHNvbGlkO2JvcmRlci13aWR0aDogOC43cHggNXB4IDAgNXB4O2JvcmRlci1jb2xvcjogYnJvd24gdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7dG9wOiAtMXB4O2xlZnQ6IC01cHg7fW9mZmljZXxhbm5vdGF0aW9uIHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7ZGlzcGxheTogbm9uZTtiYWNrZ3JvdW5kOiByZ2IoMTk4LCAyMzgsIDE4NCk7YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYigxOTgsIDIzOCwgMTg0KSAzMCUsIHJnYigxODAsIDE5NiwgMTU5KSAxMDAlKTtiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDE5OCwgMjM4LCAxODQpIDMwJSwgcmdiKDE4MCwgMTk2LCAxNTkpIDEwMCUpO2JhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDE5OCwgMjM4LCAxODQpIDMwJSwgcmdiKDE4MCwgMTk2LCAxNTkpIDEwMCUpO2JhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYigxOTgsIDIzOCwgMTg0KSAzMCUsIHJnYigxODAsIDE5NiwgMTU5KSAxMDAlKTtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2IoMTk4LCAyMzgsIDE4NCkgMzAlLCByZ2IoMTgwLCAxOTYsIDE1OSkgMTAwJSk7Ym94LXNoYWRvdzogMCAzcHggNHB4IC0zcHggI2NjYzt9b2ZmaWNlfGFubm90YXRpb24gPiBkY3xjcmVhdG9yIHtkaXNwbGF5OiBibG9jaztmb250LXNpemU6IDEwcHQ7Zm9udC13ZWlnaHQ6IG5vcm1hbDtmb250LXN0eWxlOiBub3JtYWw7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Y29sb3I6IHdoaXRlO2JhY2tncm91bmQtY29sb3I6IGJyb3duO3BhZGRpbmc6IDRweDt9b2ZmaWNlfGFubm90YXRpb24gPiBkY3xkYXRlIHtkaXNwbGF5OiBibG9jaztmb250LXNpemU6IDEwcHQ7Zm9udC13ZWlnaHQ6IG5vcm1hbDtmb250LXN0eWxlOiBub3JtYWw7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Ym9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7Y29sb3I6IGJsYWNrO31vZmZpY2V8YW5ub3RhdGlvbiA+IHRleHR8bGlzdCB7ZGlzcGxheTogYmxvY2s7cGFkZGluZzogNXB4O31vZmZpY2V8YW5ub3RhdGlvbiB0ZXh0fHAge2ZvbnQtc2l6ZTogMTBwdDtjb2xvcjogYmxhY2s7Zm9udC13ZWlnaHQ6IG5vcm1hbDtmb250LXN0eWxlOiBub3JtYWw7dGV4dC1kZWNvcmF0aW9uOiBub25lO2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO30jYW5ub3RhdGlvbnNQYW5lIHtiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFQUVBO3dpZHRoOiA0Y207aGVpZ2h0OiAxMDAlO2Rpc3BsYXk6IG5vbmU7cG9zaXRpb246IGFic29sdXRlO291dGxpbmU6IDFweCBzb2xpZCAjY2NjO30ud2Vib2RmLWFubm90YXRpb25IaWdobGlnaHQge2JhY2tncm91bmQtY29sb3I6IHllbGxvdztwb3NpdGlvbjogcmVsYXRpdmU7fS53ZWJvZGYtc2VsZWN0aW9uT3ZlcmxheSB7cG9zaXRpb246IGFic29sdXRlO3BvaW50ZXItZXZlbnRzOiBub25lO3RvcDogMDtsZWZ0OiAwO3RvcDogMDtsZWZ0OiAwO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTt6LWluZGV4OiAxNTt9LndlYm9kZi1zZWxlY3Rpb25PdmVybGF5ID4gcG9seWdvbiB7ZmlsbC1vcGFjaXR5OiAwLjM7c3Ryb2tlLW9wYWNpdHk6IDAuODtzdHJva2Utd2lkdGg6IDE7ZmlsbC1ydWxlOiBldmVub2RkO30ud2Vib2RmLXNlbGVjdGlvbk92ZXJsYXkgPiAud2Vib2RmLWRyYWdnYWJsZSB7ZmlsbC1vcGFjaXR5OiAwLjg7c3Ryb2tlLW9wYWNpdHk6IDA7c3Ryb2tlLXdpZHRoOiA4O3BvaW50ZXItZXZlbnRzOiBhbGw7ZGlzcGxheTogbm9uZTstbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOy1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7fSNpbWFnZVNlbGVjdG9yIHtkaXNwbGF5OiBub25lO3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3JkZXItc3R5bGU6IHNvbGlkO2JvcmRlci1jb2xvcjogYmxhY2s7fSNpbWFnZVNlbGVjdG9yID4gZGl2IHt3aWR0aDogNXB4O2hlaWdodDogNXB4O2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3JkZXI6IDFweCBzb2xpZCBibGFjaztiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO30jaW1hZ2VTZWxlY3RvciA+IC50b3BMZWZ0IHt0b3A6IC00cHg7bGVmdDogLTRweDt9I2ltYWdlU2VsZWN0b3IgPiAudG9wUmlnaHQge3RvcDogLTRweDtyaWdodDogLTRweDt9I2ltYWdlU2VsZWN0b3IgPiAuYm90dG9tUmlnaHQge3JpZ2h0OiAtNHB4O2JvdHRvbTogLTRweDt9I2ltYWdlU2VsZWN0b3IgPiAuYm90dG9tTGVmdCB7Ym90dG9tOiAtNHB4O2xlZnQ6IC00cHg7fSNpbWFnZVNlbGVjdG9yID4gLnRvcE1pZGRsZSB7dG9wOiAtNHB4O2xlZnQ6IDUwJTttYXJnaW4tbGVmdDogLTIuNXB4O30jaW1hZ2VTZWxlY3RvciA+IC5yaWdodE1pZGRsZSB7dG9wOiA1MCU7cmlnaHQ6IC00cHg7bWFyZ2luLXRvcDogLTIuNXB4O30jaW1hZ2VTZWxlY3RvciA+IC5ib3R0b21NaWRkbGUge2JvdHRvbTogLTRweDtsZWZ0OiA1MCU7bWFyZ2luLWxlZnQ6IC0yLjVweDt9I2ltYWdlU2VsZWN0b3IgPiAubGVmdE1pZGRsZSB7dG9wOiA1MCU7bGVmdDogLTRweDttYXJnaW4tdG9wOiAtMi41cHg7fWRpdi53ZWJvZGYtY3VzdG9tU2Nyb2xsYmFyczo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6IDhweDtoZWlnaHQ6IDhweDtiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDt9ZGl2LndlYm9kZi1jdXN0b21TY3JvbGxiYXJzOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDt9ZGl2LndlYm9kZi1jdXN0b21TY3JvbGxiYXJzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0O2JvcmRlci1yYWRpdXM6IDRweDt9LndlYm9kZi1oeXBlcmxpbmtUb29sdGlwIHtkaXNwbGF5OiBub25lO2NvbG9yOiB3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztib3JkZXItcmFkaXVzOiA1cHg7Ym94LXNoYWRvdzogMnB4IDJweCA1cHggZ3JheTtwYWRkaW5nOiAzcHg7cG9zaXRpb246IGFic29sdXRlO21heC13aWR0aDogMjEwcHg7dGV4dC1hbGlnbjogbGVmdDt3b3JkLWJyZWFrOiBicmVhay1hbGw7ei1pbmRleDogMTY7fS53ZWJvZGYtaHlwZXJsaW5rVG9vbHRpcFRleHQge2Rpc3BsYXk6IGJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkO30nOy8qCgogQGxpY3N0YXJ0CkpTWmlwIC0gQSBKYXZhc2NyaXB0IGNsYXNzIGZvciBnZW5lcmF0aW5nIGFuZCByZWFkaW5nIHppcCBmaWxlcwo8aHR0cDovL3N0dWFydGsuY29tL2pzemlwPgoKKGMpIDIwMDktMjAxNCBTdHVhcnQgS25pZ2h0bGV5IDxzdHVhcnQgW2F0XSBzdHVhcnRrLmNvbT4KRHVhbCBsaWNlbmNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2Ugb3IgR1BMdjMuIFNlZSBodHRwczovL3Jhdy5naXRodWIuY29tL1N0dWsvanN6aXAvbWFzdGVyL0xJQ0VOU0UubWFya2Rvd24uCgpKU1ppcCB1c2VzIHRoZSBsaWJyYXJ5IHBha28gcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIDoKaHR0cHM6Ly9naXRodWIuY29tL25vZGVjYS9wYWtvL2Jsb2IvbWFzdGVyL0xJQ0VOU0UKIEBsaWNlbmQKKi8KIWZ1bmN0aW9uKGUpe3ZhciBnbG9iYWxTY29wZT10eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCI/d2luZG93OnR5cGVvZiBnbG9iYWwhPT0idW5kZWZpbmVkIj9nbG9iYWw6e30sZXh0ZXJucz1nbG9iYWxTY29wZS5leHRlcm5zfHwoZ2xvYmFsU2NvcGUuZXh0ZXJucz17fSk7ZXh0ZXJucy5KU1ppcD1lKCl9KGZ1bmN0aW9uKCl7dmFyIGRlZmluZSxtb2R1bGUsZXhwb3J0cztyZXR1cm4gZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PSJmdW5jdGlvbiImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIitvKyInIik7fXZhciBmPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChmLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGYsCmYuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT0iZnVuY3Rpb24iJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KHsxOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgX2tleVN0cj0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iO2V4cG9ydHMuZW5jb2RlPWZ1bmN0aW9uKGlucHV0LHV0Zjgpe3ZhciBvdXRwdXQ9IiI7dmFyIGNocjEsY2hyMixjaHIzLGVuYzEsZW5jMixlbmMzLGVuYzQ7dmFyIGk9MDt3aGlsZShpPGlucHV0Lmxlbmd0aCl7Y2hyMT1pbnB1dC5jaGFyQ29kZUF0KGkrKyk7Y2hyMj1pbnB1dC5jaGFyQ29kZUF0KGkrKyk7Y2hyMz1pbnB1dC5jaGFyQ29kZUF0KGkrKyk7ZW5jMT1jaHIxPj4yO2VuYzI9KGNocjEmMyk8PDR8Y2hyMj4+NDtlbmMzPShjaHIyJjE1KTw8MnxjaHIzPj4KNjtlbmM0PWNocjMmNjM7aWYoaXNOYU4oY2hyMikpZW5jMz1lbmM0PTY0O2Vsc2UgaWYoaXNOYU4oY2hyMykpZW5jND02NDtvdXRwdXQ9b3V0cHV0K19rZXlTdHIuY2hhckF0KGVuYzEpK19rZXlTdHIuY2hhckF0KGVuYzIpK19rZXlTdHIuY2hhckF0KGVuYzMpK19rZXlTdHIuY2hhckF0KGVuYzQpfXJldHVybiBvdXRwdXR9O2V4cG9ydHMuZGVjb2RlPWZ1bmN0aW9uKGlucHV0LHV0Zjgpe3ZhciBvdXRwdXQ9IiI7dmFyIGNocjEsY2hyMixjaHIzO3ZhciBlbmMxLGVuYzIsZW5jMyxlbmM0O3ZhciBpPTA7aW5wdXQ9aW5wdXQucmVwbGFjZSgvW15BLVphLXowLTlcK1wvXD1dL2csIiIpO3doaWxlKGk8aW5wdXQubGVuZ3RoKXtlbmMxPV9rZXlTdHIuaW5kZXhPZihpbnB1dC5jaGFyQXQoaSsrKSk7ZW5jMj1fa2V5U3RyLmluZGV4T2YoaW5wdXQuY2hhckF0KGkrKykpO2VuYzM9X2tleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtlbmM0PV9rZXlTdHIuaW5kZXhPZihpbnB1dC5jaGFyQXQoaSsrKSk7CmNocjE9ZW5jMTw8MnxlbmMyPj40O2NocjI9KGVuYzImMTUpPDw0fGVuYzM+PjI7Y2hyMz0oZW5jMyYzKTw8NnxlbmM0O291dHB1dD1vdXRwdXQrU3RyaW5nLmZyb21DaGFyQ29kZShjaHIxKTtpZihlbmMzIT02NClvdXRwdXQ9b3V0cHV0K1N0cmluZy5mcm9tQ2hhckNvZGUoY2hyMik7aWYoZW5jNCE9NjQpb3V0cHV0PW91dHB1dCtTdHJpbmcuZnJvbUNoYXJDb2RlKGNocjMpfXJldHVybiBvdXRwdXR9fSx7fV0sMjpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7ZnVuY3Rpb24gQ29tcHJlc3NlZE9iamVjdCgpe3RoaXMuY29tcHJlc3NlZFNpemU9MDt0aGlzLnVuY29tcHJlc3NlZFNpemU9MDt0aGlzLmNyYzMyPTA7dGhpcy5jb21wcmVzc2lvbk1ldGhvZD1udWxsO3RoaXMuY29tcHJlc3NlZENvbnRlbnQ9bnVsbH1Db21wcmVzc2VkT2JqZWN0LnByb3RvdHlwZT17Z2V0Q29udGVudDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxnZXRDb21wcmVzc2VkQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBudWxsfX07Cm1vZHVsZS5leHBvcnRzPUNvbXByZXNzZWRPYmplY3R9LHt9XSwzOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtleHBvcnRzLlNUT1JFPXttYWdpYzoiXHgwMFx4MDAiLGNvbXByZXNzOmZ1bmN0aW9uKGNvbnRlbnQpe3JldHVybiBjb250ZW50fSx1bmNvbXByZXNzOmZ1bmN0aW9uKGNvbnRlbnQpe3JldHVybiBjb250ZW50fSxjb21wcmVzc0lucHV0VHlwZTpudWxsLHVuY29tcHJlc3NJbnB1dFR5cGU6bnVsbH07ZXhwb3J0cy5ERUZMQVRFPV9kZXJlcV8oIi4vZmxhdGUiKX0seyIuL2ZsYXRlIjo4fV0sNDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTt2YXIgdGFibGU9WzAsMTk5Njk1OTg5NCwzOTkzOTE5Nzg4LDI1Njc1MjQ3OTQsMTI0NjM0MTM3LDE4ODYwNTc2MTUsMzkxNTYyMTY4NSwyNjU3MzkyMDM1LDI0OTI2ODI3NCwyMDQ0NTA4MzI0LDM3NzIxMTUyMzAsMjU0NzE3Nzg2NCwxNjI5NDE5OTUsMjEyNTU2MTAyMSwKMzg4NzYwNzA0NywyNDI4NDQ0MDQ5LDQ5ODUzNjU0OCwxNzg5OTI3NjY2LDQwODkwMTY2NDgsMjIyNzA2MTIxNCw0NTA1NDg4NjEsMTg0MzI1ODYwMyw0MTA3NTgwNzUzLDIyMTE2Nzc2MzksMzI1ODgzOTkwLDE2ODQ3NzcxNTIsNDI1MTEyMjA0MiwyMzIxOTI2NjM2LDMzNTYzMzQ4NywxNjYxMzY1NDY1LDQxOTUzMDI3NTUsMjM2NjExNTMxNyw5OTcwNzMwOTYsMTI4MTk1Mzg4NiwzNTc5ODU1MzMyLDI3MjQ2ODgyNDIsMTAwNjg4ODE0NSwxMjU4NjA3Njg3LDM1MjQxMDE2MjksMjc2ODk0MjQ0Myw5MDEwOTc3MjIsMTExOTAwMDY4NCwzNjg2NTE3MjA2LDI4OTgwNjU3MjgsODUzMDQ0NDUxLDExNzIyNjYxMDEsMzcwNTAxNTc1OSwyODgyNjE2NjY1LDY1MTc2Nzk4MCwxMzczNTAzNTQ2LDMzNjk1NTQzMDQsMzIxODEwNDU5OCw1NjU1MDcyNTMsMTQ1NDYyMTczMSwzNDg1MTExNzA1LDMwOTk0MzYzMDMsNjcxMjY2OTc0LDE1OTQxOTgwMjQsMzMyMjczMDkzMCwyOTcwMzQ3ODEyLDc5NTgzNTUyNywKMTQ4MzIzMDIyNSwzMjQ0MzY3Mjc1LDMwNjAxNDk1NjUsMTk5NDE0NjE5MiwzMTE1ODUzNCwyNTYzOTA3NzcyLDQwMjM3MTc5MzAsMTkwNzQ1OTQ2NSwxMTI2MzcyMTUsMjY4MDE1MzI1MywzOTA0NDI3MDU5LDIwMTM3NzYyOTAsMjUxNzIyMDM2LDI1MTcyMTUzNzQsMzc3NTgzMDA0MCwyMTM3NjU2NzYzLDE0MTM3NjgxMywyNDM5Mjc3NzE5LDM4NjUyNzEyOTcsMTgwMjE5NTQ0NCw0NzY4NjQ4NjYsMjIzODAwMTM2OCw0MDY2NTA4ODc4LDE4MTIzNzA5MjUsNDUzMDkyNzMxLDIxODE2MjUwMjUsNDExMTQ1MTIyMywxNzA2MDg4OTAyLDMxNDA0MjcwNCwyMzQ0NTMyMjAyLDQyNDAwMTc1MzIsMTY1ODY1ODI3MSwzNjY2MTk5NzcsMjM2MjY3MDMyMyw0MjI0OTk0NDA1LDEzMDM1MzU5NjAsOTg0OTYxNDg2LDI3NDcwMDcwOTIsMzU2OTAzNzUzOCwxMjU2MTcwODE3LDEwMzc2MDQzMTEsMjc2NTIxMDczMywzNTU0MDc5OTk1LDExMzEwMTQ1MDYsODc5Njc5OTk2LDI5MDkyNDM0NjIsMzY2Mzc3MTg1NiwKMTE0MTEyNDQ2Nyw4NTU4NDIyNzcsMjg1MjgwMTYzMSwzNzA4NjQ4NjQ5LDEzNDI1MzM5NDgsNjU0NDU5MzA2LDMxODgzOTYwNDgsMzM3MzAxNTE3NCwxNDY2NDc5OTA5LDU0NDE3OTYzNSwzMTEwNTIzOTEzLDM0NjI1MjIwMTUsMTU5MTY3MTA1NCw3MDIxMzg3NzYsMjk2NjQ2MDQ1MCwzMzUyNzk5NDEyLDE1MDQ5MTg4MDcsNzgzNTUxODczLDMwODI2NDA0NDMsMzIzMzQ0Mjk4OSwzOTg4MjkyMzg0LDI1OTYyNTQ2NDYsNjIzMTcwNjgsMTk1NzgxMDg0MiwzOTM5ODQ1OTQ1LDI2NDc4MTYxMTEsODE0NzA5OTcsMTk0MzgwMzUyMywzODE0OTE4OTMwLDI0ODk1OTY4MDQsMjI1Mjc0NDMwLDIwNTM3OTAzNzYsMzgyNjE3NTc1NSwyNDY2OTA2MDEzLDE2NzgxNjc0MywyMDk3NjUxMzc3LDQwMjc1NTI1ODAsMjI2NTQ5MDM4Niw1MDM0NDQwNzIsMTc2MjA1MDgxNCw0MTUwNDE3MjQ1LDIxNTQxMjkzNTUsNDI2NTIyMjI1LDE4NTI1MDc4NzksNDI3NTMxMzUyNiwyMzEyMzE3OTIwLDI4Mjc1MzYyNiwKMTc0MjU1NTg1Miw0MTg5NzA4MTQzLDIzOTQ4Nzc5NDUsMzk3OTE3NzYzLDE2MjIxODM2MzcsMzYwNDM5MDg4OCwyNzE0ODY2NTU4LDk1MzcyOTczMiwxMzQwMDc2NjI2LDM1MTg3MTk5ODUsMjc5NzM2MDk5OSwxMDY4ODI4MzgxLDEyMTk2Mzg4NTksMzYyNDc0MTg1MCwyOTM2Njc1MTQ4LDkwNjE4NTQ2MiwxMDkwODEyNTEyLDM3NDc2NzIwMDMsMjgyNTM3OTY2OSw4MjkzMjkxMzUsMTE4MTMzNTE2MSwzNDEyMTc3ODA0LDMxNjA4MzQ4NDIsNjI4MDg1NDA4LDEzODI2MDUzNjYsMzQyMzM2OTEwOSwzMTM4MDc4NDY3LDU3MDU2MjIzMywxNDI2NDAwODE1LDMzMTczMTY1NDIsMjk5ODczMzYwOCw3MzMyMzk5NTQsMTU1NTI2MTk1NiwzMjY4OTM1NTkxLDMwNTAzNjA2MjUsNzUyNDU5NDAzLDE1NDEzMjAyMjEsMjYwNzA3MTkyMCwzOTY1OTczMDMwLDE5Njk5MjI5NzIsNDA3MzU0OTgsMjYxNzgzNzIyNSwzOTQzNTc3MTUxLDE5MTMwODc4NzcsODM5MDgzNzEsMjUxMjM0MTYzNCwzODAzNzQwNjkyLAoyMDc1MjA4NjIyLDIxMzI2MTExMiwyNDYzMjcyNjAzLDM4NTU5OTAyODUsMjA5NDg1NDA3MSwxOTg5NTg4ODEsMjI2MjAyOTAxMiw0MDU3MjYwNjEwLDE3NTkzNTk5OTIsNTM0NDE0MTkwLDIxNzY3MTg1NDEsNDEzOTMyOTExNSwxODczODM2MDAxLDQxNDY2NDU2NywyMjgyMjQ4OTM0LDQyNzkyMDAzNjgsMTcxMTY4NDU1NCwyODUyODExMTYsMjQwNTgwMTcyNyw0MTY3MjE2NzQ1LDE2MzQ0Njc3OTUsMzc2MjI5NzAxLDI2ODUwNjc4OTYsMzYwODAwNzQwNiwxMzA4OTE4NjEyLDk1NjU0MzkzOCwyODA4NTU1MTA1LDM0OTU5NTgyNjMsMTIzMTYzNjMwMSwxMDQ3NDI3MDM1LDI5MzI5NTk4MTgsMzY1NDcwMzgzNiwxMDg4MzU5MjcwLDkzNjkxOEUzLDI4NDc3MTQ4OTksMzczNjgzNzgyOSwxMjAyOTAwODYzLDgxNzIzMzg5NywzMTgzMzQyMTA4LDM0MDEyMzcxMzAsMTQwNDI3NzU1Miw2MTU4MTgxNTAsMzEzNDIwNzQ5MywzNDUzNDIxMjAzLDE0MjM4NTc0NDksNjAxNDUwNDMxLDMwMDk4Mzc2MTQsCjMyOTQ3MTA0NTYsMTU2NzEwMzc0Niw3MTE5Mjg3MjQsMzAyMDY2ODQ3MSwzMjcyMzgwMDY1LDE1MTAzMzQyMzUsNzU1MTY3MTE3XTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbiBjcmMzMihpbnB1dCxjcmMpe2lmKHR5cGVvZiBpbnB1dD09PSJ1bmRlZmluZWQifHwhaW5wdXQubGVuZ3RoKXJldHVybiAwO3ZhciBpc0FycmF5PXV0aWxzLmdldFR5cGVPZihpbnB1dCkhPT0ic3RyaW5nIjtpZih0eXBlb2YgY3JjPT0idW5kZWZpbmVkIiljcmM9MDt2YXIgeD0wO3ZhciB5PTA7dmFyIGI9MDtjcmM9Y3JjXi0xO2Zvcih2YXIgaT0wLGlUb3A9aW5wdXQubGVuZ3RoO2k8aVRvcDtpKyspe2I9aXNBcnJheT9pbnB1dFtpXTppbnB1dC5jaGFyQ29kZUF0KGkpO3k9KGNyY15iKSYyNTU7eD10YWJsZVt5XTtjcmM9Y3JjPj4+OF54fXJldHVybiBjcmNeLTF9fSx7Ii4vdXRpbHMiOjIxfV0sNTpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTsKZnVuY3Rpb24gRGF0YVJlYWRlcihkYXRhKXt0aGlzLmRhdGE9bnVsbDt0aGlzLmxlbmd0aD0wO3RoaXMuaW5kZXg9MH1EYXRhUmVhZGVyLnByb3RvdHlwZT17Y2hlY2tPZmZzZXQ6ZnVuY3Rpb24ob2Zmc2V0KXt0aGlzLmNoZWNrSW5kZXgodGhpcy5pbmRleCtvZmZzZXQpfSxjaGVja0luZGV4OmZ1bmN0aW9uKG5ld0luZGV4KXtpZih0aGlzLmxlbmd0aDxuZXdJbmRleHx8bmV3SW5kZXg8MCl0aHJvdyBuZXcgRXJyb3IoIkVuZCBvZiBkYXRhIHJlYWNoZWQgKGRhdGEgbGVuZ3RoID0gIit0aGlzLmxlbmd0aCsiLCBhc2tlZCBpbmRleCA9ICIrbmV3SW5kZXgrIikuIENvcnJ1cHRlZCB6aXAgPyIpO30sc2V0SW5kZXg6ZnVuY3Rpb24obmV3SW5kZXgpe3RoaXMuY2hlY2tJbmRleChuZXdJbmRleCk7dGhpcy5pbmRleD1uZXdJbmRleH0sc2tpcDpmdW5jdGlvbihuKXt0aGlzLnNldEluZGV4KHRoaXMuaW5kZXgrbil9LGJ5dGVBdDpmdW5jdGlvbihpKXt9LHJlYWRJbnQ6ZnVuY3Rpb24oc2l6ZSl7dmFyIHJlc3VsdD0KMCxpO3RoaXMuY2hlY2tPZmZzZXQoc2l6ZSk7Zm9yKGk9dGhpcy5pbmRleCtzaXplLTE7aT49dGhpcy5pbmRleDtpLS0pcmVzdWx0PShyZXN1bHQ8PDgpK3RoaXMuYnl0ZUF0KGkpO3RoaXMuaW5kZXgrPXNpemU7cmV0dXJuIHJlc3VsdH0scmVhZFN0cmluZzpmdW5jdGlvbihzaXplKXtyZXR1cm4gdXRpbHMudHJhbnNmb3JtVG8oInN0cmluZyIsdGhpcy5yZWFkRGF0YShzaXplKSl9LHJlYWREYXRhOmZ1bmN0aW9uKHNpemUpe30sbGFzdEluZGV4T2ZTaWduYXR1cmU6ZnVuY3Rpb24oc2lnKXt9LHJlYWREYXRlOmZ1bmN0aW9uKCl7dmFyIGRvc3RpbWU9dGhpcy5yZWFkSW50KDQpO3JldHVybiBuZXcgRGF0ZSgoZG9zdGltZT4+MjUmMTI3KSsxOTgwLChkb3N0aW1lPj4yMSYxNSktMSxkb3N0aW1lPj4xNiYzMSxkb3N0aW1lPj4xMSYzMSxkb3N0aW1lPj41JjYzLChkb3N0aW1lJjMxKTw8MSl9fTttb2R1bGUuZXhwb3J0cz1EYXRhUmVhZGVyfSx7Ii4vdXRpbHMiOjIxfV0sNjpbZnVuY3Rpb24oX2RlcmVxXywKbW9kdWxlLGV4cG9ydHMpe2V4cG9ydHMuYmFzZTY0PWZhbHNlO2V4cG9ydHMuYmluYXJ5PWZhbHNlO2V4cG9ydHMuZGlyPWZhbHNlO2V4cG9ydHMuY3JlYXRlRm9sZGVycz1mYWxzZTtleHBvcnRzLmRhdGU9bnVsbDtleHBvcnRzLmNvbXByZXNzaW9uPW51bGw7ZXhwb3J0cy5jb21tZW50PW51bGx9LHt9XSw3OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgdXRpbHM9X2RlcmVxXygiLi91dGlscyIpO2V4cG9ydHMuc3RyaW5nMmJpbmFyeT1mdW5jdGlvbihzdHIpe3JldHVybiB1dGlscy5zdHJpbmcyYmluYXJ5KHN0cil9O2V4cG9ydHMuc3RyaW5nMlVpbnQ4QXJyYXk9ZnVuY3Rpb24oc3RyKXtyZXR1cm4gdXRpbHMudHJhbnNmb3JtVG8oInVpbnQ4YXJyYXkiLHN0cil9O2V4cG9ydHMudWludDhBcnJheTJTdHJpbmc9ZnVuY3Rpb24oYXJyYXkpe3JldHVybiB1dGlscy50cmFuc2Zvcm1Ubygic3RyaW5nIixhcnJheSl9O2V4cG9ydHMuc3RyaW5nMkJsb2I9ZnVuY3Rpb24oc3RyKXt2YXIgYnVmZmVyPQp1dGlscy50cmFuc2Zvcm1UbygiYXJyYXlidWZmZXIiLHN0cik7cmV0dXJuIHV0aWxzLmFycmF5QnVmZmVyMkJsb2IoYnVmZmVyKX07ZXhwb3J0cy5hcnJheUJ1ZmZlcjJCbG9iPWZ1bmN0aW9uKGJ1ZmZlcil7cmV0dXJuIHV0aWxzLmFycmF5QnVmZmVyMkJsb2IoYnVmZmVyKX07ZXhwb3J0cy50cmFuc2Zvcm1Ubz1mdW5jdGlvbihvdXRwdXRUeXBlLGlucHV0KXtyZXR1cm4gdXRpbHMudHJhbnNmb3JtVG8ob3V0cHV0VHlwZSxpbnB1dCl9O2V4cG9ydHMuZ2V0VHlwZU9mPWZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gdXRpbHMuZ2V0VHlwZU9mKGlucHV0KX07ZXhwb3J0cy5jaGVja1N1cHBvcnQ9ZnVuY3Rpb24odHlwZSl7cmV0dXJuIHV0aWxzLmNoZWNrU3VwcG9ydCh0eXBlKX07ZXhwb3J0cy5NQVhfVkFMVUVfMTZCSVRTPXV0aWxzLk1BWF9WQUxVRV8xNkJJVFM7ZXhwb3J0cy5NQVhfVkFMVUVfMzJCSVRTPXV0aWxzLk1BWF9WQUxVRV8zMkJJVFM7ZXhwb3J0cy5wcmV0dHk9ZnVuY3Rpb24oc3RyKXtyZXR1cm4gdXRpbHMucHJldHR5KHN0cil9OwpleHBvcnRzLmZpbmRDb21wcmVzc2lvbj1mdW5jdGlvbihjb21wcmVzc2lvbk1ldGhvZCl7cmV0dXJuIHV0aWxzLmZpbmRDb21wcmVzc2lvbihjb21wcmVzc2lvbk1ldGhvZCl9O2V4cG9ydHMuaXNSZWdFeHA9ZnVuY3Rpb24ob2JqZWN0KXtyZXR1cm4gdXRpbHMuaXNSZWdFeHAob2JqZWN0KX19LHsiLi91dGlscyI6MjF9XSw4OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgVVNFX1RZUEVEQVJSQVk9dHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIFVpbnQxNkFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO3ZhciBwYWtvPV9kZXJlcV8oInBha28iKTtleHBvcnRzLnVuY29tcHJlc3NJbnB1dFR5cGU9VVNFX1RZUEVEQVJSQVk/InVpbnQ4YXJyYXkiOiJhcnJheSI7ZXhwb3J0cy5jb21wcmVzc0lucHV0VHlwZT1VU0VfVFlQRURBUlJBWT8idWludDhhcnJheSI6ImFycmF5IjtleHBvcnRzLm1hZ2ljPQoiXGJceDAwIjtleHBvcnRzLmNvbXByZXNzPWZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gcGFrby5kZWZsYXRlUmF3KGlucHV0KX07ZXhwb3J0cy51bmNvbXByZXNzPWZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gcGFrby5pbmZsYXRlUmF3KGlucHV0KX19LHsicGFrbyI6MjR9XSw5OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgYmFzZTY0PV9kZXJlcV8oIi4vYmFzZTY0Iik7ZnVuY3Rpb24gSlNaaXAoZGF0YSxvcHRpb25zKXtpZighKHRoaXMgaW5zdGFuY2VvZiBKU1ppcCkpcmV0dXJuIG5ldyBKU1ppcChkYXRhLG9wdGlvbnMpO3RoaXMuZmlsZXM9e307dGhpcy5jb21tZW50PW51bGw7dGhpcy5yb290PSIiO2lmKGRhdGEpdGhpcy5sb2FkKGRhdGEsb3B0aW9ucyk7dGhpcy5jbG9uZT1mdW5jdGlvbigpe3ZhciBuZXdPYmo9bmV3IEpTWmlwO2Zvcih2YXIgaSBpbiB0aGlzKWlmKHR5cGVvZiB0aGlzW2ldIT09ImZ1bmN0aW9uIiluZXdPYmpbaV09dGhpc1tpXTtyZXR1cm4gbmV3T2JqfX0KSlNaaXAucHJvdG90eXBlPV9kZXJlcV8oIi4vb2JqZWN0Iik7SlNaaXAucHJvdG90eXBlLmxvYWQ9X2RlcmVxXygiLi9sb2FkIik7SlNaaXAuc3VwcG9ydD1fZGVyZXFfKCIuL3N1cHBvcnQiKTtKU1ppcC5kZWZhdWx0cz1fZGVyZXFfKCIuL2RlZmF1bHRzIik7SlNaaXAudXRpbHM9X2RlcmVxXygiLi9kZXByZWNhdGVkUHVibGljVXRpbHMiKTtKU1ppcC5iYXNlNjQ9e2VuY29kZTpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIGJhc2U2NC5lbmNvZGUoaW5wdXQpfSxkZWNvZGU6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBiYXNlNjQuZGVjb2RlKGlucHV0KX19O0pTWmlwLmNvbXByZXNzaW9ucz1fZGVyZXFfKCIuL2NvbXByZXNzaW9ucyIpO21vZHVsZS5leHBvcnRzPUpTWmlwfSx7Ii4vYmFzZTY0IjoxLCIuL2NvbXByZXNzaW9ucyI6MywiLi9kZWZhdWx0cyI6NiwiLi9kZXByZWNhdGVkUHVibGljVXRpbHMiOjcsIi4vbG9hZCI6MTAsIi4vb2JqZWN0IjoxMywiLi9zdXBwb3J0IjoxN31dLDEwOltmdW5jdGlvbihfZGVyZXFfLAptb2R1bGUsZXhwb3J0cyl7dmFyIGJhc2U2ND1fZGVyZXFfKCIuL2Jhc2U2NCIpO3ZhciBaaXBFbnRyaWVzPV9kZXJlcV8oIi4vemlwRW50cmllcyIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGRhdGEsb3B0aW9ucyl7dmFyIGZpbGVzLHppcEVudHJpZXMsaSxpbnB1dDtvcHRpb25zPW9wdGlvbnN8fHt9O2lmKG9wdGlvbnMuYmFzZTY0KWRhdGE9YmFzZTY0LmRlY29kZShkYXRhKTt6aXBFbnRyaWVzPW5ldyBaaXBFbnRyaWVzKGRhdGEsb3B0aW9ucyk7ZmlsZXM9emlwRW50cmllcy5maWxlcztmb3IoaT0wO2k8ZmlsZXMubGVuZ3RoO2krKyl7aW5wdXQ9ZmlsZXNbaV07dGhpcy5maWxlKGlucHV0LmZpbGVOYW1lLGlucHV0LmRlY29tcHJlc3NlZCx7YmluYXJ5OnRydWUsb3B0aW1pemVkQmluYXJ5U3RyaW5nOnRydWUsZGF0ZTppbnB1dC5kYXRlLGRpcjppbnB1dC5kaXIsY29tbWVudDppbnB1dC5maWxlQ29tbWVudC5sZW5ndGg/aW5wdXQuZmlsZUNvbW1lbnQ6bnVsbCxjcmVhdGVGb2xkZXJzOm9wdGlvbnMuY3JlYXRlRm9sZGVyc30pfWlmKHppcEVudHJpZXMuemlwQ29tbWVudC5sZW5ndGgpdGhpcy5jb21tZW50PQp6aXBFbnRyaWVzLnppcENvbW1lbnQ7cmV0dXJuIHRoaXN9fSx7Ii4vYmFzZTY0IjoxLCIuL3ppcEVudHJpZXMiOjIyfV0sMTE6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpeyhmdW5jdGlvbihCdWZmZXIpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGRhdGEsZW5jb2Rpbmcpe3JldHVybiBuZXcgQnVmZmVyKGRhdGEsZW5jb2RpbmcpfTttb2R1bGUuZXhwb3J0cy50ZXN0PWZ1bmN0aW9uKGIpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoYil9fSkuY2FsbCh0aGlzLHR5cGVvZiBCdWZmZXIhPT0idW5kZWZpbmVkIj9CdWZmZXI6dW5kZWZpbmVkKX0se31dLDEyOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgVWludDhBcnJheVJlYWRlcj1fZGVyZXFfKCIuL3VpbnQ4QXJyYXlSZWFkZXIiKTtmdW5jdGlvbiBOb2RlQnVmZmVyUmVhZGVyKGRhdGEpe3RoaXMuZGF0YT1kYXRhO3RoaXMubGVuZ3RoPXRoaXMuZGF0YS5sZW5ndGg7dGhpcy5pbmRleD0wfU5vZGVCdWZmZXJSZWFkZXIucHJvdG90eXBlPQpuZXcgVWludDhBcnJheVJlYWRlcjtOb2RlQnVmZmVyUmVhZGVyLnByb3RvdHlwZS5yZWFkRGF0YT1mdW5jdGlvbihzaXplKXt0aGlzLmNoZWNrT2Zmc2V0KHNpemUpO3ZhciByZXN1bHQ9dGhpcy5kYXRhLnNsaWNlKHRoaXMuaW5kZXgsdGhpcy5pbmRleCtzaXplKTt0aGlzLmluZGV4Kz1zaXplO3JldHVybiByZXN1bHR9O21vZHVsZS5leHBvcnRzPU5vZGVCdWZmZXJSZWFkZXJ9LHsiLi91aW50OEFycmF5UmVhZGVyIjoxOH1dLDEzOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgc3VwcG9ydD1fZGVyZXFfKCIuL3N1cHBvcnQiKTt2YXIgdXRpbHM9X2RlcmVxXygiLi91dGlscyIpO3ZhciBjcmMzMj1fZGVyZXFfKCIuL2NyYzMyIik7dmFyIHNpZ25hdHVyZT1fZGVyZXFfKCIuL3NpZ25hdHVyZSIpO3ZhciBkZWZhdWx0cz1fZGVyZXFfKCIuL2RlZmF1bHRzIik7dmFyIGJhc2U2ND1fZGVyZXFfKCIuL2Jhc2U2NCIpO3ZhciBjb21wcmVzc2lvbnM9X2RlcmVxXygiLi9jb21wcmVzc2lvbnMiKTsKdmFyIENvbXByZXNzZWRPYmplY3Q9X2RlcmVxXygiLi9jb21wcmVzc2VkT2JqZWN0Iik7dmFyIG5vZGVCdWZmZXI9X2RlcmVxXygiLi9ub2RlQnVmZmVyIik7dmFyIHV0Zjg9X2RlcmVxXygiLi91dGY4Iik7dmFyIFN0cmluZ1dyaXRlcj1fZGVyZXFfKCIuL3N0cmluZ1dyaXRlciIpO3ZhciBVaW50OEFycmF5V3JpdGVyPV9kZXJlcV8oIi4vdWludDhBcnJheVdyaXRlciIpO3ZhciBnZXRSYXdEYXRhPWZ1bmN0aW9uKGZpbGUpe2lmKGZpbGUuX2RhdGEgaW5zdGFuY2VvZiBDb21wcmVzc2VkT2JqZWN0KXtmaWxlLl9kYXRhPWZpbGUuX2RhdGEuZ2V0Q29udGVudCgpO2ZpbGUub3B0aW9ucy5iaW5hcnk9dHJ1ZTtmaWxlLm9wdGlvbnMuYmFzZTY0PWZhbHNlO2lmKHV0aWxzLmdldFR5cGVPZihmaWxlLl9kYXRhKT09PSJ1aW50OGFycmF5Iil7dmFyIGNvcHk9ZmlsZS5fZGF0YTtmaWxlLl9kYXRhPW5ldyBVaW50OEFycmF5KGNvcHkubGVuZ3RoKTtpZihjb3B5Lmxlbmd0aCE9PTApZmlsZS5fZGF0YS5zZXQoY29weSwKMCl9fXJldHVybiBmaWxlLl9kYXRhfTt2YXIgZ2V0QmluYXJ5RGF0YT1mdW5jdGlvbihmaWxlKXt2YXIgcmVzdWx0PWdldFJhd0RhdGEoZmlsZSksdHlwZT11dGlscy5nZXRUeXBlT2YocmVzdWx0KTtpZih0eXBlPT09InN0cmluZyIpe2lmKCFmaWxlLm9wdGlvbnMuYmluYXJ5KWlmKHN1cHBvcnQubm9kZWJ1ZmZlcilyZXR1cm4gbm9kZUJ1ZmZlcihyZXN1bHQsInV0Zi04Iik7cmV0dXJuIGZpbGUuYXNCaW5hcnkoKX1yZXR1cm4gcmVzdWx0fTt2YXIgZGF0YVRvU3RyaW5nPWZ1bmN0aW9uKGFzVVRGOCl7dmFyIHJlc3VsdD1nZXRSYXdEYXRhKHRoaXMpO2lmKHJlc3VsdD09PW51bGx8fHR5cGVvZiByZXN1bHQ9PT0idW5kZWZpbmVkIilyZXR1cm4iIjtpZih0aGlzLm9wdGlvbnMuYmFzZTY0KXJlc3VsdD1iYXNlNjQuZGVjb2RlKHJlc3VsdCk7aWYoYXNVVEY4JiZ0aGlzLm9wdGlvbnMuYmluYXJ5KXJlc3VsdD1vdXQudXRmOGRlY29kZShyZXN1bHQpO2Vsc2UgcmVzdWx0PXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLApyZXN1bHQpO2lmKCFhc1VURjgmJiF0aGlzLm9wdGlvbnMuYmluYXJ5KXJlc3VsdD11dGlscy50cmFuc2Zvcm1Ubygic3RyaW5nIixvdXQudXRmOGVuY29kZShyZXN1bHQpKTtyZXR1cm4gcmVzdWx0fTt2YXIgWmlwT2JqZWN0PWZ1bmN0aW9uKG5hbWUsZGF0YSxvcHRpb25zKXt0aGlzLm5hbWU9bmFtZTt0aGlzLmRpcj1vcHRpb25zLmRpcjt0aGlzLmRhdGU9b3B0aW9ucy5kYXRlO3RoaXMuY29tbWVudD1vcHRpb25zLmNvbW1lbnQ7dGhpcy5fZGF0YT1kYXRhO3RoaXMub3B0aW9ucz1vcHRpb25zO3RoaXMuX2luaXRpYWxNZXRhZGF0YT17ZGlyOm9wdGlvbnMuZGlyLGRhdGU6b3B0aW9ucy5kYXRlfX07WmlwT2JqZWN0LnByb3RvdHlwZT17YXNUZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGRhdGFUb1N0cmluZy5jYWxsKHRoaXMsdHJ1ZSl9LGFzQmluYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGRhdGFUb1N0cmluZy5jYWxsKHRoaXMsZmFsc2UpfSxhc05vZGVCdWZmZXI6ZnVuY3Rpb24oKXt2YXIgcmVzdWx0PQpnZXRCaW5hcnlEYXRhKHRoaXMpO3JldHVybiB1dGlscy50cmFuc2Zvcm1Ubygibm9kZWJ1ZmZlciIscmVzdWx0KX0sYXNVaW50OEFycmF5OmZ1bmN0aW9uKCl7dmFyIHJlc3VsdD1nZXRCaW5hcnlEYXRhKHRoaXMpO3JldHVybiB1dGlscy50cmFuc2Zvcm1UbygidWludDhhcnJheSIscmVzdWx0KX0sYXNBcnJheUJ1ZmZlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFzVWludDhBcnJheSgpLmJ1ZmZlcn19O3ZhciBkZWNUb0hleD1mdW5jdGlvbihkZWMsYnl0ZXMpe3ZhciBoZXg9IiIsaTtmb3IoaT0wO2k8Ynl0ZXM7aSsrKXtoZXgrPVN0cmluZy5mcm9tQ2hhckNvZGUoZGVjJjI1NSk7ZGVjPWRlYz4+Pjh9cmV0dXJuIGhleH07dmFyIGV4dGVuZD1mdW5jdGlvbigpe3ZhciByZXN1bHQ9e30saSxhdHRyO2ZvcihpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKylmb3IoYXR0ciBpbiBhcmd1bWVudHNbaV0paWYoYXJndW1lbnRzW2ldLmhhc093blByb3BlcnR5KGF0dHIpJiZ0eXBlb2YgcmVzdWx0W2F0dHJdPT09CiJ1bmRlZmluZWQiKXJlc3VsdFthdHRyXT1hcmd1bWVudHNbaV1bYXR0cl07cmV0dXJuIHJlc3VsdH07dmFyIHByZXBhcmVGaWxlQXR0cnM9ZnVuY3Rpb24obyl7bz1vfHx7fTtpZihvLmJhc2U2ND09PXRydWUmJihvLmJpbmFyeT09PW51bGx8fG8uYmluYXJ5PT09dW5kZWZpbmVkKSlvLmJpbmFyeT10cnVlO289ZXh0ZW5kKG8sZGVmYXVsdHMpO28uZGF0ZT1vLmRhdGV8fG5ldyBEYXRlO2lmKG8uY29tcHJlc3Npb24hPT1udWxsKW8uY29tcHJlc3Npb249by5jb21wcmVzc2lvbi50b1VwcGVyQ2FzZSgpO3JldHVybiBvfTt2YXIgZmlsZUFkZD1mdW5jdGlvbihuYW1lLGRhdGEsbyl7dmFyIGRhdGFUeXBlPXV0aWxzLmdldFR5cGVPZihkYXRhKSxwYXJlbnQ7bz1wcmVwYXJlRmlsZUF0dHJzKG8pO2lmKG8uY3JlYXRlRm9sZGVycyYmKHBhcmVudD1wYXJlbnRGb2xkZXIobmFtZSkpKWZvbGRlckFkZC5jYWxsKHRoaXMscGFyZW50LHRydWUpO2lmKG8uZGlyfHxkYXRhPT09bnVsbHx8dHlwZW9mIGRhdGE9PT0KInVuZGVmaW5lZCIpe28uYmFzZTY0PWZhbHNlO28uYmluYXJ5PWZhbHNlO2RhdGE9bnVsbH1lbHNlIGlmKGRhdGFUeXBlPT09InN0cmluZyIpe2lmKG8uYmluYXJ5JiYhby5iYXNlNjQpaWYoby5vcHRpbWl6ZWRCaW5hcnlTdHJpbmchPT10cnVlKWRhdGE9dXRpbHMuc3RyaW5nMmJpbmFyeShkYXRhKX1lbHNle28uYmFzZTY0PWZhbHNlO28uYmluYXJ5PXRydWU7aWYoIWRhdGFUeXBlJiYhKGRhdGEgaW5zdGFuY2VvZiBDb21wcmVzc2VkT2JqZWN0KSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBkYXRhIG9mICciK25hbWUrIicgaXMgaW4gYW4gdW5zdXBwb3J0ZWQgZm9ybWF0ICEiKTtpZihkYXRhVHlwZT09PSJhcnJheWJ1ZmZlciIpZGF0YT11dGlscy50cmFuc2Zvcm1UbygidWludDhhcnJheSIsZGF0YSl9dmFyIG9iamVjdD1uZXcgWmlwT2JqZWN0KG5hbWUsZGF0YSxvKTt0aGlzLmZpbGVzW25hbWVdPW9iamVjdDtyZXR1cm4gb2JqZWN0fTt2YXIgcGFyZW50Rm9sZGVyPWZ1bmN0aW9uKHBhdGgpe2lmKHBhdGguc2xpY2UoLTEpPT0KIi8iKXBhdGg9cGF0aC5zdWJzdHJpbmcoMCxwYXRoLmxlbmd0aC0xKTt2YXIgbGFzdFNsYXNoPXBhdGgubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4gbGFzdFNsYXNoPjA/cGF0aC5zdWJzdHJpbmcoMCxsYXN0U2xhc2gpOiIifTt2YXIgZm9sZGVyQWRkPWZ1bmN0aW9uKG5hbWUsY3JlYXRlRm9sZGVycyl7aWYobmFtZS5zbGljZSgtMSkhPSIvIiluYW1lKz0iLyI7Y3JlYXRlRm9sZGVycz10eXBlb2YgY3JlYXRlRm9sZGVycyE9PSJ1bmRlZmluZWQiP2NyZWF0ZUZvbGRlcnM6ZmFsc2U7aWYoIXRoaXMuZmlsZXNbbmFtZV0pZmlsZUFkZC5jYWxsKHRoaXMsbmFtZSxudWxsLHtkaXI6dHJ1ZSxjcmVhdGVGb2xkZXJzOmNyZWF0ZUZvbGRlcnN9KTtyZXR1cm4gdGhpcy5maWxlc1tuYW1lXX07dmFyIGdlbmVyYXRlQ29tcHJlc3NlZE9iamVjdEZyb209ZnVuY3Rpb24oZmlsZSxjb21wcmVzc2lvbil7dmFyIHJlc3VsdD1uZXcgQ29tcHJlc3NlZE9iamVjdCxjb250ZW50O2lmKGZpbGUuX2RhdGEgaW5zdGFuY2VvZgpDb21wcmVzc2VkT2JqZWN0KXtyZXN1bHQudW5jb21wcmVzc2VkU2l6ZT1maWxlLl9kYXRhLnVuY29tcHJlc3NlZFNpemU7cmVzdWx0LmNyYzMyPWZpbGUuX2RhdGEuY3JjMzI7aWYocmVzdWx0LnVuY29tcHJlc3NlZFNpemU9PT0wfHxmaWxlLmRpcil7Y29tcHJlc3Npb249Y29tcHJlc3Npb25zWyJTVE9SRSJdO3Jlc3VsdC5jb21wcmVzc2VkQ29udGVudD0iIjtyZXN1bHQuY3JjMzI9MH1lbHNlIGlmKGZpbGUuX2RhdGEuY29tcHJlc3Npb25NZXRob2Q9PT1jb21wcmVzc2lvbi5tYWdpYylyZXN1bHQuY29tcHJlc3NlZENvbnRlbnQ9ZmlsZS5fZGF0YS5nZXRDb21wcmVzc2VkQ29udGVudCgpO2Vsc2V7Y29udGVudD1maWxlLl9kYXRhLmdldENvbnRlbnQoKTtyZXN1bHQuY29tcHJlc3NlZENvbnRlbnQ9Y29tcHJlc3Npb24uY29tcHJlc3ModXRpbHMudHJhbnNmb3JtVG8oY29tcHJlc3Npb24uY29tcHJlc3NJbnB1dFR5cGUsY29udGVudCkpfX1lbHNle2NvbnRlbnQ9Z2V0QmluYXJ5RGF0YShmaWxlKTsKaWYoIWNvbnRlbnR8fGNvbnRlbnQubGVuZ3RoPT09MHx8ZmlsZS5kaXIpe2NvbXByZXNzaW9uPWNvbXByZXNzaW9uc1siU1RPUkUiXTtjb250ZW50PSIifXJlc3VsdC51bmNvbXByZXNzZWRTaXplPWNvbnRlbnQubGVuZ3RoO3Jlc3VsdC5jcmMzMj1jcmMzMihjb250ZW50KTtyZXN1bHQuY29tcHJlc3NlZENvbnRlbnQ9Y29tcHJlc3Npb24uY29tcHJlc3ModXRpbHMudHJhbnNmb3JtVG8oY29tcHJlc3Npb24uY29tcHJlc3NJbnB1dFR5cGUsY29udGVudCkpfXJlc3VsdC5jb21wcmVzc2VkU2l6ZT1yZXN1bHQuY29tcHJlc3NlZENvbnRlbnQubGVuZ3RoO3Jlc3VsdC5jb21wcmVzc2lvbk1ldGhvZD1jb21wcmVzc2lvbi5tYWdpYztyZXR1cm4gcmVzdWx0fTt2YXIgZ2VuZXJhdGVaaXBQYXJ0cz1mdW5jdGlvbihuYW1lLGZpbGUsY29tcHJlc3NlZE9iamVjdCxvZmZzZXQpe3ZhciBkYXRhPWNvbXByZXNzZWRPYmplY3QuY29tcHJlc3NlZENvbnRlbnQsdXRmRW5jb2RlZEZpbGVOYW1lPXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLAp1dGY4LnV0ZjhlbmNvZGUoZmlsZS5uYW1lKSksY29tbWVudD1maWxlLmNvbW1lbnR8fCIiLHV0ZkVuY29kZWRDb21tZW50PXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLHV0ZjgudXRmOGVuY29kZShjb21tZW50KSksdXNlVVRGOEZvckZpbGVOYW1lPXV0ZkVuY29kZWRGaWxlTmFtZS5sZW5ndGghPT1maWxlLm5hbWUubGVuZ3RoLHVzZVVURjhGb3JDb21tZW50PXV0ZkVuY29kZWRDb21tZW50Lmxlbmd0aCE9PWNvbW1lbnQubGVuZ3RoLG89ZmlsZS5vcHRpb25zLGRvc1RpbWUsZG9zRGF0ZSxleHRyYUZpZWxkcz0iIix1bmljb2RlUGF0aEV4dHJhRmllbGQ9IiIsdW5pY29kZUNvbW1lbnRFeHRyYUZpZWxkPSIiLGRpcixkYXRlO2lmKGZpbGUuX2luaXRpYWxNZXRhZGF0YS5kaXIhPT1maWxlLmRpcilkaXI9ZmlsZS5kaXI7ZWxzZSBkaXI9by5kaXI7aWYoZmlsZS5faW5pdGlhbE1ldGFkYXRhLmRhdGUhPT1maWxlLmRhdGUpZGF0ZT1maWxlLmRhdGU7ZWxzZSBkYXRlPW8uZGF0ZTtkb3NUaW1lPQpkYXRlLmdldEhvdXJzKCk7ZG9zVGltZT1kb3NUaW1lPDw2O2Rvc1RpbWU9ZG9zVGltZXxkYXRlLmdldE1pbnV0ZXMoKTtkb3NUaW1lPWRvc1RpbWU8PDU7ZG9zVGltZT1kb3NUaW1lfGRhdGUuZ2V0U2Vjb25kcygpLzI7ZG9zRGF0ZT1kYXRlLmdldEZ1bGxZZWFyKCktMTk4MDtkb3NEYXRlPWRvc0RhdGU8PDQ7ZG9zRGF0ZT1kb3NEYXRlfGRhdGUuZ2V0TW9udGgoKSsxO2Rvc0RhdGU9ZG9zRGF0ZTw8NTtkb3NEYXRlPWRvc0RhdGV8ZGF0ZS5nZXREYXRlKCk7aWYodXNlVVRGOEZvckZpbGVOYW1lKXt1bmljb2RlUGF0aEV4dHJhRmllbGQ9ZGVjVG9IZXgoMSwxKStkZWNUb0hleChjcmMzMih1dGZFbmNvZGVkRmlsZU5hbWUpLDQpK3V0ZkVuY29kZWRGaWxlTmFtZTtleHRyYUZpZWxkcys9InVwIitkZWNUb0hleCh1bmljb2RlUGF0aEV4dHJhRmllbGQubGVuZ3RoLDIpK3VuaWNvZGVQYXRoRXh0cmFGaWVsZH1pZih1c2VVVEY4Rm9yQ29tbWVudCl7dW5pY29kZUNvbW1lbnRFeHRyYUZpZWxkPQpkZWNUb0hleCgxLDEpK2RlY1RvSGV4KHRoaXMuY3JjMzIodXRmRW5jb2RlZENvbW1lbnQpLDQpK3V0ZkVuY29kZWRDb21tZW50O2V4dHJhRmllbGRzKz0idWMiK2RlY1RvSGV4KHVuaWNvZGVDb21tZW50RXh0cmFGaWVsZC5sZW5ndGgsMikrdW5pY29kZUNvbW1lbnRFeHRyYUZpZWxkfXZhciBoZWFkZXI9IiI7aGVhZGVyKz0iXG5ceDAwIjtoZWFkZXIrPXVzZVVURjhGb3JGaWxlTmFtZXx8dXNlVVRGOEZvckNvbW1lbnQ/Ilx4MDBcYiI6Ilx4MDBceDAwIjtoZWFkZXIrPWNvbXByZXNzZWRPYmplY3QuY29tcHJlc3Npb25NZXRob2Q7aGVhZGVyKz1kZWNUb0hleChkb3NUaW1lLDIpO2hlYWRlcis9ZGVjVG9IZXgoZG9zRGF0ZSwyKTtoZWFkZXIrPWRlY1RvSGV4KGNvbXByZXNzZWRPYmplY3QuY3JjMzIsNCk7aGVhZGVyKz1kZWNUb0hleChjb21wcmVzc2VkT2JqZWN0LmNvbXByZXNzZWRTaXplLDQpO2hlYWRlcis9ZGVjVG9IZXgoY29tcHJlc3NlZE9iamVjdC51bmNvbXByZXNzZWRTaXplLAo0KTtoZWFkZXIrPWRlY1RvSGV4KHV0ZkVuY29kZWRGaWxlTmFtZS5sZW5ndGgsMik7aGVhZGVyKz1kZWNUb0hleChleHRyYUZpZWxkcy5sZW5ndGgsMik7dmFyIGZpbGVSZWNvcmQ9c2lnbmF0dXJlLkxPQ0FMX0ZJTEVfSEVBREVSK2hlYWRlcit1dGZFbmNvZGVkRmlsZU5hbWUrZXh0cmFGaWVsZHM7dmFyIGRpclJlY29yZD1zaWduYXR1cmUuQ0VOVFJBTF9GSUxFX0hFQURFUisiXHUwMDE0XHgwMCIraGVhZGVyK2RlY1RvSGV4KHV0ZkVuY29kZWRDb21tZW50Lmxlbmd0aCwyKSsiXHgwMFx4MDAiKyJceDAwXHgwMCIrKGRpcj09PXRydWU/Ilx1MDAxMFx4MDBceDAwXHgwMCI6Ilx4MDBceDAwXHgwMFx4MDAiKStkZWNUb0hleChvZmZzZXQsNCkrdXRmRW5jb2RlZEZpbGVOYW1lK2V4dHJhRmllbGRzK3V0ZkVuY29kZWRDb21tZW50O3JldHVybntmaWxlUmVjb3JkOmZpbGVSZWNvcmQsZGlyUmVjb3JkOmRpclJlY29yZCxjb21wcmVzc2VkT2JqZWN0OmNvbXByZXNzZWRPYmplY3R9fTt2YXIgb3V0PQp7bG9hZDpmdW5jdGlvbihzdHJlYW0sb3B0aW9ucyl7dGhyb3cgbmV3IEVycm9yKCJMb2FkIG1ldGhvZCBpcyBub3QgZGVmaW5lZC4gSXMgdGhlIGZpbGUganN6aXAtbG9hZC5qcyBpbmNsdWRlZCA/Iik7fSxmaWx0ZXI6ZnVuY3Rpb24oc2VhcmNoKXt2YXIgcmVzdWx0PVtdLGZpbGVuYW1lLHJlbGF0aXZlUGF0aCxmaWxlLGZpbGVDbG9uZTtmb3IoZmlsZW5hbWUgaW4gdGhpcy5maWxlcyl7aWYoIXRoaXMuZmlsZXMuaGFzT3duUHJvcGVydHkoZmlsZW5hbWUpKWNvbnRpbnVlO2ZpbGU9dGhpcy5maWxlc1tmaWxlbmFtZV07ZmlsZUNsb25lPW5ldyBaaXBPYmplY3QoZmlsZS5uYW1lLGZpbGUuX2RhdGEsZXh0ZW5kKGZpbGUub3B0aW9ucykpO3JlbGF0aXZlUGF0aD1maWxlbmFtZS5zbGljZSh0aGlzLnJvb3QubGVuZ3RoLGZpbGVuYW1lLmxlbmd0aCk7aWYoZmlsZW5hbWUuc2xpY2UoMCx0aGlzLnJvb3QubGVuZ3RoKT09PXRoaXMucm9vdCYmc2VhcmNoKHJlbGF0aXZlUGF0aCxmaWxlQ2xvbmUpKXJlc3VsdC5wdXNoKGZpbGVDbG9uZSl9cmV0dXJuIHJlc3VsdH0sCmZpbGU6ZnVuY3Rpb24obmFtZSxkYXRhLG8pe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0xKWlmKHV0aWxzLmlzUmVnRXhwKG5hbWUpKXt2YXIgcmVnZXhwPW5hbWU7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKHJlbGF0aXZlUGF0aCxmaWxlKXtyZXR1cm4hZmlsZS5kaXImJnJlZ2V4cC50ZXN0KHJlbGF0aXZlUGF0aCl9KX1lbHNlIHJldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbihyZWxhdGl2ZVBhdGgsZmlsZSl7cmV0dXJuIWZpbGUuZGlyJiZyZWxhdGl2ZVBhdGg9PT1uYW1lfSlbMF18fG51bGw7ZWxzZXtuYW1lPXRoaXMucm9vdCtuYW1lO2ZpbGVBZGQuY2FsbCh0aGlzLG5hbWUsZGF0YSxvKX1yZXR1cm4gdGhpc30sZm9sZGVyOmZ1bmN0aW9uKGFyZyl7aWYoIWFyZylyZXR1cm4gdGhpcztpZih1dGlscy5pc1JlZ0V4cChhcmcpKXJldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbihyZWxhdGl2ZVBhdGgsZmlsZSl7cmV0dXJuIGZpbGUuZGlyJiZhcmcudGVzdChyZWxhdGl2ZVBhdGgpfSk7CnZhciBuYW1lPXRoaXMucm9vdCthcmc7dmFyIG5ld0ZvbGRlcj1mb2xkZXJBZGQuY2FsbCh0aGlzLG5hbWUpO3ZhciByZXQ9dGhpcy5jbG9uZSgpO3JldC5yb290PW5ld0ZvbGRlci5uYW1lO3JldHVybiByZXR9LHJlbW92ZTpmdW5jdGlvbihuYW1lKXtuYW1lPXRoaXMucm9vdCtuYW1lO3ZhciBmaWxlPXRoaXMuZmlsZXNbbmFtZV07aWYoIWZpbGUpe2lmKG5hbWUuc2xpY2UoLTEpIT0iLyIpbmFtZSs9Ii8iO2ZpbGU9dGhpcy5maWxlc1tuYW1lXX1pZihmaWxlJiYhZmlsZS5kaXIpZGVsZXRlIHRoaXMuZmlsZXNbbmFtZV07ZWxzZXt2YXIga2lkcz10aGlzLmZpbHRlcihmdW5jdGlvbihyZWxhdGl2ZVBhdGgsZmlsZSl7cmV0dXJuIGZpbGUubmFtZS5zbGljZSgwLG5hbWUubGVuZ3RoKT09PW5hbWV9KTtmb3IodmFyIGk9MDtpPGtpZHMubGVuZ3RoO2krKylkZWxldGUgdGhpcy5maWxlc1traWRzW2ldLm5hbWVdfXJldHVybiB0aGlzfSxnZW5lcmF0ZTpmdW5jdGlvbihvcHRpb25zKXtvcHRpb25zPQpleHRlbmQob3B0aW9uc3x8e30se2Jhc2U2NDp0cnVlLGNvbXByZXNzaW9uOiJTVE9SRSIsdHlwZToiYmFzZTY0Iixjb21tZW50Om51bGx9KTt1dGlscy5jaGVja1N1cHBvcnQob3B0aW9ucy50eXBlKTt2YXIgemlwRGF0YT1bXSxsb2NhbERpckxlbmd0aD0wLGNlbnRyYWxEaXJMZW5ndGg9MCx3cml0ZXIsaSx1dGZFbmNvZGVkQ29tbWVudD11dGlscy50cmFuc2Zvcm1Ubygic3RyaW5nIix0aGlzLnV0ZjhlbmNvZGUob3B0aW9ucy5jb21tZW50fHx0aGlzLmNvbW1lbnR8fCIiKSk7Zm9yKHZhciBuYW1lIGluIHRoaXMuZmlsZXMpe2lmKCF0aGlzLmZpbGVzLmhhc093blByb3BlcnR5KG5hbWUpKWNvbnRpbnVlO3ZhciBmaWxlPXRoaXMuZmlsZXNbbmFtZV07dmFyIGNvbXByZXNzaW9uTmFtZT1maWxlLm9wdGlvbnMuY29tcHJlc3Npb258fG9wdGlvbnMuY29tcHJlc3Npb24udG9VcHBlckNhc2UoKTt2YXIgY29tcHJlc3Npb249Y29tcHJlc3Npb25zW2NvbXByZXNzaW9uTmFtZV07aWYoIWNvbXByZXNzaW9uKXRocm93IG5ldyBFcnJvcihjb21wcmVzc2lvbk5hbWUrCiIgaXMgbm90IGEgdmFsaWQgY29tcHJlc3Npb24gbWV0aG9kICEiKTt2YXIgY29tcHJlc3NlZE9iamVjdD1nZW5lcmF0ZUNvbXByZXNzZWRPYmplY3RGcm9tLmNhbGwodGhpcyxmaWxlLGNvbXByZXNzaW9uKTt2YXIgemlwUGFydD1nZW5lcmF0ZVppcFBhcnRzLmNhbGwodGhpcyxuYW1lLGZpbGUsY29tcHJlc3NlZE9iamVjdCxsb2NhbERpckxlbmd0aCk7bG9jYWxEaXJMZW5ndGgrPXppcFBhcnQuZmlsZVJlY29yZC5sZW5ndGgrY29tcHJlc3NlZE9iamVjdC5jb21wcmVzc2VkU2l6ZTtjZW50cmFsRGlyTGVuZ3RoKz16aXBQYXJ0LmRpclJlY29yZC5sZW5ndGg7emlwRGF0YS5wdXNoKHppcFBhcnQpfXZhciBkaXJFbmQ9IiI7ZGlyRW5kPXNpZ25hdHVyZS5DRU5UUkFMX0RJUkVDVE9SWV9FTkQrIlx4MDBceDAwIisiXHgwMFx4MDAiK2RlY1RvSGV4KHppcERhdGEubGVuZ3RoLDIpK2RlY1RvSGV4KHppcERhdGEubGVuZ3RoLDIpK2RlY1RvSGV4KGNlbnRyYWxEaXJMZW5ndGgsNCkrZGVjVG9IZXgobG9jYWxEaXJMZW5ndGgsCjQpK2RlY1RvSGV4KHV0ZkVuY29kZWRDb21tZW50Lmxlbmd0aCwyKSt1dGZFbmNvZGVkQ29tbWVudDt2YXIgdHlwZU5hbWU9b3B0aW9ucy50eXBlLnRvTG93ZXJDYXNlKCk7aWYodHlwZU5hbWU9PT0idWludDhhcnJheSJ8fHR5cGVOYW1lPT09ImFycmF5YnVmZmVyInx8dHlwZU5hbWU9PT0iYmxvYiJ8fHR5cGVOYW1lPT09Im5vZGVidWZmZXIiKXdyaXRlcj1uZXcgVWludDhBcnJheVdyaXRlcihsb2NhbERpckxlbmd0aCtjZW50cmFsRGlyTGVuZ3RoK2RpckVuZC5sZW5ndGgpO2Vsc2Ugd3JpdGVyPW5ldyBTdHJpbmdXcml0ZXIobG9jYWxEaXJMZW5ndGgrY2VudHJhbERpckxlbmd0aCtkaXJFbmQubGVuZ3RoKTtmb3IoaT0wO2k8emlwRGF0YS5sZW5ndGg7aSsrKXt3cml0ZXIuYXBwZW5kKHppcERhdGFbaV0uZmlsZVJlY29yZCk7d3JpdGVyLmFwcGVuZCh6aXBEYXRhW2ldLmNvbXByZXNzZWRPYmplY3QuY29tcHJlc3NlZENvbnRlbnQpfWZvcihpPTA7aTx6aXBEYXRhLmxlbmd0aDtpKyspd3JpdGVyLmFwcGVuZCh6aXBEYXRhW2ldLmRpclJlY29yZCk7CndyaXRlci5hcHBlbmQoZGlyRW5kKTt2YXIgemlwPXdyaXRlci5maW5hbGl6ZSgpO3N3aXRjaChvcHRpb25zLnR5cGUudG9Mb3dlckNhc2UoKSl7Y2FzZSAidWludDhhcnJheSI6Y2FzZSAiYXJyYXlidWZmZXIiOmNhc2UgIm5vZGVidWZmZXIiOnJldHVybiB1dGlscy50cmFuc2Zvcm1UbyhvcHRpb25zLnR5cGUudG9Mb3dlckNhc2UoKSx6aXApO2Nhc2UgImJsb2IiOnJldHVybiB1dGlscy5hcnJheUJ1ZmZlcjJCbG9iKHV0aWxzLnRyYW5zZm9ybVRvKCJhcnJheWJ1ZmZlciIsemlwKSk7Y2FzZSAiYmFzZTY0IjpyZXR1cm4gb3B0aW9ucy5iYXNlNjQ/YmFzZTY0LmVuY29kZSh6aXApOnppcDtkZWZhdWx0OnJldHVybiB6aXB9fSxjcmMzMjpmdW5jdGlvbihpbnB1dCxjcmMpe3JldHVybiBjcmMzMihpbnB1dCxjcmMpfSx1dGY4ZW5jb2RlOmZ1bmN0aW9uKHN0cmluZyl7cmV0dXJuIHV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLHV0ZjgudXRmOGVuY29kZShzdHJpbmcpKX0sdXRmOGRlY29kZTpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIHV0ZjgudXRmOGRlY29kZShpbnB1dCl9fTsKbW9kdWxlLmV4cG9ydHM9b3V0fSx7Ii4vYmFzZTY0IjoxLCIuL2NvbXByZXNzZWRPYmplY3QiOjIsIi4vY29tcHJlc3Npb25zIjozLCIuL2NyYzMyIjo0LCIuL2RlZmF1bHRzIjo2LCIuL25vZGVCdWZmZXIiOjExLCIuL3NpZ25hdHVyZSI6MTQsIi4vc3RyaW5nV3JpdGVyIjoxNiwiLi9zdXBwb3J0IjoxNywiLi91aW50OEFycmF5V3JpdGVyIjoxOSwiLi91dGY4IjoyMCwiLi91dGlscyI6MjF9XSwxNDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7ZXhwb3J0cy5MT0NBTF9GSUxFX0hFQURFUj0iUEtcdTAwMDNcdTAwMDQiO2V4cG9ydHMuQ0VOVFJBTF9GSUxFX0hFQURFUj0iUEtcdTAwMDFcdTAwMDIiO2V4cG9ydHMuQ0VOVFJBTF9ESVJFQ1RPUllfRU5EPSJQS1x1MDAwNVx1MDAwNiI7ZXhwb3J0cy5aSVA2NF9DRU5UUkFMX0RJUkVDVE9SWV9MT0NBVE9SPSJQS1x1MDAwNlx1MDAwNyI7ZXhwb3J0cy5aSVA2NF9DRU5UUkFMX0RJUkVDVE9SWV9FTkQ9IlBLXHUwMDA2XHUwMDA2IjsKZXhwb3J0cy5EQVRBX0RFU0NSSVBUT1I9IlBLXHUwMDA3XGIifSx7fV0sMTU6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe3ZhciBEYXRhUmVhZGVyPV9kZXJlcV8oIi4vZGF0YVJlYWRlciIpO3ZhciB1dGlscz1fZGVyZXFfKCIuL3V0aWxzIik7ZnVuY3Rpb24gU3RyaW5nUmVhZGVyKGRhdGEsb3B0aW1pemVkQmluYXJ5U3RyaW5nKXt0aGlzLmRhdGE9ZGF0YTtpZighb3B0aW1pemVkQmluYXJ5U3RyaW5nKXRoaXMuZGF0YT11dGlscy5zdHJpbmcyYmluYXJ5KHRoaXMuZGF0YSk7dGhpcy5sZW5ndGg9dGhpcy5kYXRhLmxlbmd0aDt0aGlzLmluZGV4PTB9U3RyaW5nUmVhZGVyLnByb3RvdHlwZT1uZXcgRGF0YVJlYWRlcjtTdHJpbmdSZWFkZXIucHJvdG90eXBlLmJ5dGVBdD1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5kYXRhLmNoYXJDb2RlQXQoaSl9O1N0cmluZ1JlYWRlci5wcm90b3R5cGUubGFzdEluZGV4T2ZTaWduYXR1cmU9ZnVuY3Rpb24oc2lnKXtyZXR1cm4gdGhpcy5kYXRhLmxhc3RJbmRleE9mKHNpZyl9OwpTdHJpbmdSZWFkZXIucHJvdG90eXBlLnJlYWREYXRhPWZ1bmN0aW9uKHNpemUpe3RoaXMuY2hlY2tPZmZzZXQoc2l6ZSk7dmFyIHJlc3VsdD10aGlzLmRhdGEuc2xpY2UodGhpcy5pbmRleCx0aGlzLmluZGV4K3NpemUpO3RoaXMuaW5kZXgrPXNpemU7cmV0dXJuIHJlc3VsdH07bW9kdWxlLmV4cG9ydHM9U3RyaW5nUmVhZGVyfSx7Ii4vZGF0YVJlYWRlciI6NSwiLi91dGlscyI6MjF9XSwxNjpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTt2YXIgU3RyaW5nV3JpdGVyPWZ1bmN0aW9uKCl7dGhpcy5kYXRhPVtdfTtTdHJpbmdXcml0ZXIucHJvdG90eXBlPXthcHBlbmQ6ZnVuY3Rpb24oaW5wdXQpe2lucHV0PXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLGlucHV0KTt0aGlzLmRhdGEucHVzaChpbnB1dCl9LGZpbmFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5qb2luKCIiKX19O21vZHVsZS5leHBvcnRzPVN0cmluZ1dyaXRlcn0sCnsiLi91dGlscyI6MjF9XSwxNzpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7KGZ1bmN0aW9uKEJ1ZmZlcil7ZXhwb3J0cy5iYXNlNjQ9dHJ1ZTtleHBvcnRzLmFycmF5PXRydWU7ZXhwb3J0cy5zdHJpbmc9dHJ1ZTtleHBvcnRzLmFycmF5YnVmZmVyPXR5cGVvZiBBcnJheUJ1ZmZlciE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiO2V4cG9ydHMubm9kZWJ1ZmZlcj10eXBlb2YgQnVmZmVyIT09InVuZGVmaW5lZCI7ZXhwb3J0cy51aW50OGFycmF5PXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCI7aWYodHlwZW9mIEFycmF5QnVmZmVyPT09InVuZGVmaW5lZCIpZXhwb3J0cy5ibG9iPWZhbHNlO2Vsc2V7dmFyIGJ1ZmZlcj1uZXcgQXJyYXlCdWZmZXIoMCk7dHJ5e2V4cG9ydHMuYmxvYj0obmV3IEJsb2IoW2J1ZmZlcl0se3R5cGU6ImFwcGxpY2F0aW9uL3ppcCJ9KSkuc2l6ZT09PTB9Y2F0Y2goZSl7dHJ5e3ZhciBCdWlsZGVyPQp3aW5kb3cuQmxvYkJ1aWxkZXJ8fHdpbmRvdy5XZWJLaXRCbG9iQnVpbGRlcnx8d2luZG93Lk1vekJsb2JCdWlsZGVyfHx3aW5kb3cuTVNCbG9iQnVpbGRlcjt2YXIgYnVpbGRlcj1uZXcgQnVpbGRlcjtidWlsZGVyLmFwcGVuZChidWZmZXIpO2V4cG9ydHMuYmxvYj1idWlsZGVyLmdldEJsb2IoImFwcGxpY2F0aW9uL3ppcCIpLnNpemU9PT0wfWNhdGNoKGUpe2V4cG9ydHMuYmxvYj1mYWxzZX19fX0pLmNhbGwodGhpcyx0eXBlb2YgQnVmZmVyIT09InVuZGVmaW5lZCI/QnVmZmVyOnVuZGVmaW5lZCl9LHt9XSwxODpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIERhdGFSZWFkZXI9X2RlcmVxXygiLi9kYXRhUmVhZGVyIik7ZnVuY3Rpb24gVWludDhBcnJheVJlYWRlcihkYXRhKXtpZihkYXRhKXt0aGlzLmRhdGE9ZGF0YTt0aGlzLmxlbmd0aD10aGlzLmRhdGEubGVuZ3RoO3RoaXMuaW5kZXg9MH19VWludDhBcnJheVJlYWRlci5wcm90b3R5cGU9bmV3IERhdGFSZWFkZXI7ClVpbnQ4QXJyYXlSZWFkZXIucHJvdG90eXBlLmJ5dGVBdD1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5kYXRhW2ldfTtVaW50OEFycmF5UmVhZGVyLnByb3RvdHlwZS5sYXN0SW5kZXhPZlNpZ25hdHVyZT1mdW5jdGlvbihzaWcpe3ZhciBzaWcwPXNpZy5jaGFyQ29kZUF0KDApLHNpZzE9c2lnLmNoYXJDb2RlQXQoMSksc2lnMj1zaWcuY2hhckNvZGVBdCgyKSxzaWczPXNpZy5jaGFyQ29kZUF0KDMpO2Zvcih2YXIgaT10aGlzLmxlbmd0aC00O2k+PTA7LS1pKWlmKHRoaXMuZGF0YVtpXT09PXNpZzAmJnRoaXMuZGF0YVtpKzFdPT09c2lnMSYmdGhpcy5kYXRhW2krMl09PT1zaWcyJiZ0aGlzLmRhdGFbaSszXT09PXNpZzMpcmV0dXJuIGk7cmV0dXJuLTF9O1VpbnQ4QXJyYXlSZWFkZXIucHJvdG90eXBlLnJlYWREYXRhPWZ1bmN0aW9uKHNpemUpe3RoaXMuY2hlY2tPZmZzZXQoc2l6ZSk7aWYoc2l6ZT09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO3ZhciByZXN1bHQ9dGhpcy5kYXRhLnN1YmFycmF5KHRoaXMuaW5kZXgsCnRoaXMuaW5kZXgrc2l6ZSk7dGhpcy5pbmRleCs9c2l6ZTtyZXR1cm4gcmVzdWx0fTttb2R1bGUuZXhwb3J0cz1VaW50OEFycmF5UmVhZGVyfSx7Ii4vZGF0YVJlYWRlciI6NX1dLDE5OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgdXRpbHM9X2RlcmVxXygiLi91dGlscyIpO3ZhciBVaW50OEFycmF5V3JpdGVyPWZ1bmN0aW9uKGxlbmd0aCl7dGhpcy5kYXRhPW5ldyBVaW50OEFycmF5KGxlbmd0aCk7dGhpcy5pbmRleD0wfTtVaW50OEFycmF5V3JpdGVyLnByb3RvdHlwZT17YXBwZW5kOmZ1bmN0aW9uKGlucHV0KXtpZihpbnB1dC5sZW5ndGghPT0wKXtpbnB1dD11dGlscy50cmFuc2Zvcm1UbygidWludDhhcnJheSIsaW5wdXQpO3RoaXMuZGF0YS5zZXQoaW5wdXQsdGhpcy5pbmRleCk7dGhpcy5pbmRleCs9aW5wdXQubGVuZ3RofX0sZmluYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhfX07bW9kdWxlLmV4cG9ydHM9VWludDhBcnJheVdyaXRlcn0seyIuL3V0aWxzIjoyMX1dLAoyMDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTt2YXIgc3VwcG9ydD1fZGVyZXFfKCIuL3N1cHBvcnQiKTt2YXIgbm9kZUJ1ZmZlcj1fZGVyZXFfKCIuL25vZGVCdWZmZXIiKTt2YXIgX3V0ZjhsZW49bmV3IEFycmF5KDI1Nik7Zm9yKHZhciBpPTA7aTwyNTY7aSsrKV91dGY4bGVuW2ldPWk+PTI1Mj82Omk+PTI0OD81Omk+PTI0MD80Omk+PTIyND8zOmk+PTE5Mj8yOjE7X3V0ZjhsZW5bMjU0XT1fdXRmOGxlblsyNTRdPTE7dmFyIHN0cmluZzJidWY9ZnVuY3Rpb24oc3RyKXt2YXIgYnVmLGMsYzIsbV9wb3MsaSxzdHJfbGVuPXN0ci5sZW5ndGgsYnVmX2xlbj0wO2ZvcihtX3Bvcz0wO21fcG9zPHN0cl9sZW47bV9wb3MrKyl7Yz1zdHIuY2hhckNvZGVBdChtX3Bvcyk7aWYoKGMmNjQ1MTIpPT09NTUyOTYmJm1fcG9zKzE8c3RyX2xlbil7YzI9c3RyLmNoYXJDb2RlQXQobV9wb3MrMSk7aWYoKGMyJjY0NTEyKT09PTU2MzIwKXtjPQo2NTUzNisoYy01NTI5Njw8MTApKyhjMi01NjMyMCk7bV9wb3MrK319YnVmX2xlbis9YzwxMjg/MTpjPDIwNDg/MjpjPDY1NTM2PzM6NH1pZihzdXBwb3J0LnVpbnQ4YXJyYXkpYnVmPW5ldyBVaW50OEFycmF5KGJ1Zl9sZW4pO2Vsc2UgYnVmPW5ldyBBcnJheShidWZfbGVuKTtmb3IoaT0wLG1fcG9zPTA7aTxidWZfbGVuO21fcG9zKyspe2M9c3RyLmNoYXJDb2RlQXQobV9wb3MpO2lmKChjJjY0NTEyKT09PTU1Mjk2JiZtX3BvcysxPHN0cl9sZW4pe2MyPXN0ci5jaGFyQ29kZUF0KG1fcG9zKzEpO2lmKChjMiY2NDUxMik9PT01NjMyMCl7Yz02NTUzNisoYy01NTI5Njw8MTApKyhjMi01NjMyMCk7bV9wb3MrK319aWYoYzwxMjgpYnVmW2krK109YztlbHNlIGlmKGM8MjA0OCl7YnVmW2krK109MTkyfGM+Pj42O2J1ZltpKytdPTEyOHxjJjYzfWVsc2UgaWYoYzw2NTUzNil7YnVmW2krK109MjI0fGM+Pj4xMjtidWZbaSsrXT0xMjh8Yz4+PjYmNjM7YnVmW2krK109MTI4fGMmNjN9ZWxzZXtidWZbaSsrXT0KMjQwfGM+Pj4xODtidWZbaSsrXT0xMjh8Yz4+PjEyJjYzO2J1ZltpKytdPTEyOHxjPj4+NiY2MztidWZbaSsrXT0xMjh8YyY2M319cmV0dXJuIGJ1Zn07dmFyIHV0Zjhib3JkZXI9ZnVuY3Rpb24oYnVmLG1heCl7dmFyIHBvczttYXg9bWF4fHxidWYubGVuZ3RoO2lmKG1heD5idWYubGVuZ3RoKW1heD1idWYubGVuZ3RoO3Bvcz1tYXgtMTt3aGlsZShwb3M+PTAmJihidWZbcG9zXSYxOTIpPT09MTI4KXBvcy0tO2lmKHBvczwwKXJldHVybiBtYXg7aWYocG9zPT09MClyZXR1cm4gbWF4O3JldHVybiBwb3MrX3V0ZjhsZW5bYnVmW3Bvc11dPm1heD9wb3M6bWF4fTt2YXIgYnVmMnN0cmluZz1mdW5jdGlvbihidWYpe3ZhciBzdHIsaSxvdXQsYyxjX2xlbjt2YXIgbGVuPWJ1Zi5sZW5ndGg7dmFyIHV0ZjE2YnVmPW5ldyBBcnJheShsZW4qMik7Zm9yKG91dD0wLGk9MDtpPGxlbjspe2M9YnVmW2krK107aWYoYzwxMjgpe3V0ZjE2YnVmW291dCsrXT1jO2NvbnRpbnVlfWNfbGVuPV91dGY4bGVuW2NdOwppZihjX2xlbj40KXt1dGYxNmJ1ZltvdXQrK109NjU1MzM7aSs9Y19sZW4tMTtjb250aW51ZX1jJj1jX2xlbj09PTI/MzE6Y19sZW49PT0zPzE1Ojc7d2hpbGUoY19sZW4+MSYmaTxsZW4pe2M9Yzw8NnxidWZbaSsrXSY2MztjX2xlbi0tfWlmKGNfbGVuPjEpe3V0ZjE2YnVmW291dCsrXT02NTUzMztjb250aW51ZX1pZihjPDY1NTM2KXV0ZjE2YnVmW291dCsrXT1jO2Vsc2V7Yy09NjU1MzY7dXRmMTZidWZbb3V0KytdPTU1Mjk2fGM+PjEwJjEwMjM7dXRmMTZidWZbb3V0KytdPTU2MzIwfGMmMTAyM319aWYodXRmMTZidWYubGVuZ3RoIT09b3V0KWlmKHV0ZjE2YnVmLnN1YmFycmF5KXV0ZjE2YnVmPXV0ZjE2YnVmLnN1YmFycmF5KDAsb3V0KTtlbHNlIHV0ZjE2YnVmLmxlbmd0aD1vdXQ7cmV0dXJuIHV0aWxzLmFwcGx5RnJvbUNoYXJDb2RlKHV0ZjE2YnVmKX07ZXhwb3J0cy51dGY4ZW5jb2RlPWZ1bmN0aW9uIHV0ZjhlbmNvZGUoc3RyKXtpZihzdXBwb3J0Lm5vZGVidWZmZXIpcmV0dXJuIG5vZGVCdWZmZXIoc3RyLAoidXRmLTgiKTtyZXR1cm4gc3RyaW5nMmJ1ZihzdHIpfTtleHBvcnRzLnV0ZjhkZWNvZGU9ZnVuY3Rpb24gdXRmOGRlY29kZShidWYpe2lmKHN1cHBvcnQubm9kZWJ1ZmZlcilyZXR1cm4gdXRpbHMudHJhbnNmb3JtVG8oIm5vZGVidWZmZXIiLGJ1ZikudG9TdHJpbmcoInV0Zi04Iik7YnVmPXV0aWxzLnRyYW5zZm9ybVRvKHN1cHBvcnQudWludDhhcnJheT8idWludDhhcnJheSI6ImFycmF5IixidWYpO3ZhciByZXN1bHQ9W10saz0wLGxlbj1idWYubGVuZ3RoLGNodW5rPTY1NTM2O3doaWxlKGs8bGVuKXt2YXIgbmV4dEJvdW5kYXJ5PXV0Zjhib3JkZXIoYnVmLE1hdGgubWluKGsrY2h1bmssbGVuKSk7aWYoc3VwcG9ydC51aW50OGFycmF5KXJlc3VsdC5wdXNoKGJ1ZjJzdHJpbmcoYnVmLnN1YmFycmF5KGssbmV4dEJvdW5kYXJ5KSkpO2Vsc2UgcmVzdWx0LnB1c2goYnVmMnN0cmluZyhidWYuc2xpY2UoayxuZXh0Qm91bmRhcnkpKSk7az1uZXh0Qm91bmRhcnl9cmV0dXJuIHJlc3VsdC5qb2luKCIiKX19LAp7Ii4vbm9kZUJ1ZmZlciI6MTEsIi4vc3VwcG9ydCI6MTcsIi4vdXRpbHMiOjIxfV0sMjE6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe3ZhciBzdXBwb3J0PV9kZXJlcV8oIi4vc3VwcG9ydCIpO3ZhciBjb21wcmVzc2lvbnM9X2RlcmVxXygiLi9jb21wcmVzc2lvbnMiKTt2YXIgbm9kZUJ1ZmZlcj1fZGVyZXFfKCIuL25vZGVCdWZmZXIiKTtleHBvcnRzLnN0cmluZzJiaW5hcnk9ZnVuY3Rpb24oc3RyKXt2YXIgcmVzdWx0PSIiO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDtpKyspcmVzdWx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKHN0ci5jaGFyQ29kZUF0KGkpJjI1NSk7cmV0dXJuIHJlc3VsdH07ZXhwb3J0cy5hcnJheUJ1ZmZlcjJCbG9iPWZ1bmN0aW9uKGJ1ZmZlcil7ZXhwb3J0cy5jaGVja1N1cHBvcnQoImJsb2IiKTt0cnl7cmV0dXJuIG5ldyBCbG9iKFtidWZmZXJdLHt0eXBlOiJhcHBsaWNhdGlvbi96aXAifSl9Y2F0Y2goZSl7dHJ5e3ZhciBCdWlsZGVyPXdpbmRvdy5CbG9iQnVpbGRlcnx8CndpbmRvdy5XZWJLaXRCbG9iQnVpbGRlcnx8d2luZG93Lk1vekJsb2JCdWlsZGVyfHx3aW5kb3cuTVNCbG9iQnVpbGRlcjt2YXIgYnVpbGRlcj1uZXcgQnVpbGRlcjtidWlsZGVyLmFwcGVuZChidWZmZXIpO3JldHVybiBidWlsZGVyLmdldEJsb2IoImFwcGxpY2F0aW9uL3ppcCIpfWNhdGNoKGUpe3Rocm93IG5ldyBFcnJvcigiQnVnIDogY2FuJ3QgY29uc3RydWN0IHRoZSBCbG9iLiIpO319fTtmdW5jdGlvbiBpZGVudGl0eShpbnB1dCl7cmV0dXJuIGlucHV0fWZ1bmN0aW9uIHN0cmluZ1RvQXJyYXlMaWtlKHN0cixhcnJheSl7Zm9yKHZhciBpPTA7aTxzdHIubGVuZ3RoOysraSlhcnJheVtpXT1zdHIuY2hhckNvZGVBdChpKSYyNTU7cmV0dXJuIGFycmF5fWZ1bmN0aW9uIGFycmF5TGlrZVRvU3RyaW5nKGFycmF5KXt2YXIgY2h1bms9NjU1MzY7dmFyIHJlc3VsdD1bXSxsZW49YXJyYXkubGVuZ3RoLHR5cGU9ZXhwb3J0cy5nZXRUeXBlT2YoYXJyYXkpLGs9MCxjYW5Vc2VBcHBseT10cnVlOwp0cnl7c3dpdGNoKHR5cGUpe2Nhc2UgInVpbnQ4YXJyYXkiOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheSgwKSk7YnJlYWs7Y2FzZSAibm9kZWJ1ZmZlciI6U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5vZGVCdWZmZXIoMCkpO2JyZWFrfX1jYXRjaChlKXtjYW5Vc2VBcHBseT1mYWxzZX1pZighY2FuVXNlQXBwbHkpe3ZhciByZXN1bHRTdHI9IiI7Zm9yKHZhciBpPTA7aTxhcnJheS5sZW5ndGg7aSsrKXJlc3VsdFN0cis9U3RyaW5nLmZyb21DaGFyQ29kZShhcnJheVtpXSk7cmV0dXJuIHJlc3VsdFN0cn13aGlsZShrPGxlbiYmY2h1bms+MSl0cnl7aWYodHlwZT09PSJhcnJheSJ8fHR5cGU9PT0ibm9kZWJ1ZmZlciIpcmVzdWx0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGFycmF5LnNsaWNlKGssTWF0aC5taW4oaytjaHVuayxsZW4pKSkpO2Vsc2UgcmVzdWx0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLAphcnJheS5zdWJhcnJheShrLE1hdGgubWluKGsrY2h1bmssbGVuKSkpKTtrKz1jaHVua31jYXRjaChlKXtjaHVuaz1NYXRoLmZsb29yKGNodW5rLzIpfXJldHVybiByZXN1bHQuam9pbigiIil9ZXhwb3J0cy5hcHBseUZyb21DaGFyQ29kZT1hcnJheUxpa2VUb1N0cmluZztmdW5jdGlvbiBhcnJheUxpa2VUb0FycmF5TGlrZShhcnJheUZyb20sYXJyYXlUbyl7Zm9yKHZhciBpPTA7aTxhcnJheUZyb20ubGVuZ3RoO2krKylhcnJheVRvW2ldPWFycmF5RnJvbVtpXTtyZXR1cm4gYXJyYXlUb312YXIgdHJhbnNmb3JtPXt9O3RyYW5zZm9ybVsic3RyaW5nIl09eyJzdHJpbmciOmlkZW50aXR5LCJhcnJheSI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBzdHJpbmdUb0FycmF5TGlrZShpbnB1dCxuZXcgQXJyYXkoaW5wdXQubGVuZ3RoKSl9LCJhcnJheWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiB0cmFuc2Zvcm1bInN0cmluZyJdWyJ1aW50OGFycmF5Il0oaW5wdXQpLmJ1ZmZlcn0sInVpbnQ4YXJyYXkiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gc3RyaW5nVG9BcnJheUxpa2UoaW5wdXQsCm5ldyBVaW50OEFycmF5KGlucHV0Lmxlbmd0aCkpfSwibm9kZWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBzdHJpbmdUb0FycmF5TGlrZShpbnB1dCxub2RlQnVmZmVyKGlucHV0Lmxlbmd0aCkpfX07dHJhbnNmb3JtWyJhcnJheSJdPXsic3RyaW5nIjphcnJheUxpa2VUb1N0cmluZywiYXJyYXkiOmlkZW50aXR5LCJhcnJheWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybihuZXcgVWludDhBcnJheShpbnB1dCkpLmJ1ZmZlcn0sInVpbnQ4YXJyYXkiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoaW5wdXQpfSwibm9kZWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBub2RlQnVmZmVyKGlucHV0KX19O3RyYW5zZm9ybVsiYXJyYXlidWZmZXIiXT17InN0cmluZyI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBhcnJheUxpa2VUb1N0cmluZyhuZXcgVWludDhBcnJheShpbnB1dCkpfSwiYXJyYXkiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gYXJyYXlMaWtlVG9BcnJheUxpa2UobmV3IFVpbnQ4QXJyYXkoaW5wdXQpLApuZXcgQXJyYXkoaW5wdXQuYnl0ZUxlbmd0aCkpfSwiYXJyYXlidWZmZXIiOmlkZW50aXR5LCJ1aW50OGFycmF5IjpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KGlucHV0KX0sIm5vZGVidWZmZXIiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gbm9kZUJ1ZmZlcihuZXcgVWludDhBcnJheShpbnB1dCkpfX07dHJhbnNmb3JtWyJ1aW50OGFycmF5Il09eyJzdHJpbmciOmFycmF5TGlrZVRvU3RyaW5nLCJhcnJheSI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBhcnJheUxpa2VUb0FycmF5TGlrZShpbnB1dCxuZXcgQXJyYXkoaW5wdXQubGVuZ3RoKSl9LCJhcnJheWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBpbnB1dC5idWZmZXJ9LCJ1aW50OGFycmF5IjppZGVudGl0eSwibm9kZWJ1ZmZlciI6ZnVuY3Rpb24oaW5wdXQpe3JldHVybiBub2RlQnVmZmVyKGlucHV0KX19O3RyYW5zZm9ybVsibm9kZWJ1ZmZlciJdPXsic3RyaW5nIjphcnJheUxpa2VUb1N0cmluZywKImFycmF5IjpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIGFycmF5TGlrZVRvQXJyYXlMaWtlKGlucHV0LG5ldyBBcnJheShpbnB1dC5sZW5ndGgpKX0sImFycmF5YnVmZmVyIjpmdW5jdGlvbihpbnB1dCl7cmV0dXJuIHRyYW5zZm9ybVsibm9kZWJ1ZmZlciJdWyJ1aW50OGFycmF5Il0oaW5wdXQpLmJ1ZmZlcn0sInVpbnQ4YXJyYXkiOmZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gYXJyYXlMaWtlVG9BcnJheUxpa2UoaW5wdXQsbmV3IFVpbnQ4QXJyYXkoaW5wdXQubGVuZ3RoKSl9LCJub2RlYnVmZmVyIjppZGVudGl0eX07ZXhwb3J0cy50cmFuc2Zvcm1Ubz1mdW5jdGlvbihvdXRwdXRUeXBlLGlucHV0KXtpZighaW5wdXQpaW5wdXQ9IiI7aWYoIW91dHB1dFR5cGUpcmV0dXJuIGlucHV0O2V4cG9ydHMuY2hlY2tTdXBwb3J0KG91dHB1dFR5cGUpO3ZhciBpbnB1dFR5cGU9ZXhwb3J0cy5nZXRUeXBlT2YoaW5wdXQpO3ZhciByZXN1bHQ9dHJhbnNmb3JtW2lucHV0VHlwZV1bb3V0cHV0VHlwZV0oaW5wdXQpOwpyZXR1cm4gcmVzdWx0fTtleHBvcnRzLmdldFR5cGVPZj1mdW5jdGlvbihpbnB1dCl7aWYodHlwZW9mIGlucHV0PT09InN0cmluZyIpcmV0dXJuInN0cmluZyI7aWYoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGlucHV0KT09PSJbb2JqZWN0IEFycmF5XSIpcmV0dXJuImFycmF5IjtpZihzdXBwb3J0Lm5vZGVidWZmZXImJm5vZGVCdWZmZXIudGVzdChpbnB1dCkpcmV0dXJuIm5vZGVidWZmZXIiO2lmKHN1cHBvcnQudWludDhhcnJheSYmaW5wdXQgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiJ1aW50OGFycmF5IjtpZihzdXBwb3J0LmFycmF5YnVmZmVyJiZpbnB1dCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXJldHVybiJhcnJheWJ1ZmZlciJ9O2V4cG9ydHMuY2hlY2tTdXBwb3J0PWZ1bmN0aW9uKHR5cGUpe3ZhciBzdXBwb3J0ZWQ9c3VwcG9ydFt0eXBlLnRvTG93ZXJDYXNlKCldO2lmKCFzdXBwb3J0ZWQpdGhyb3cgbmV3IEVycm9yKHR5cGUrIiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3NlciIpOwp9O2V4cG9ydHMuTUFYX1ZBTFVFXzE2QklUUz02NTUzNTtleHBvcnRzLk1BWF9WQUxVRV8zMkJJVFM9LTE7ZXhwb3J0cy5wcmV0dHk9ZnVuY3Rpb24oc3RyKXt2YXIgcmVzPSIiLGNvZGUsaTtmb3IoaT0wO2k8KHN0cnx8IiIpLmxlbmd0aDtpKyspe2NvZGU9c3RyLmNoYXJDb2RlQXQoaSk7cmVzKz0iXFx4IisoY29kZTwxNj8iMCI6IiIpK2NvZGUudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9cmV0dXJuIHJlc307ZXhwb3J0cy5maW5kQ29tcHJlc3Npb249ZnVuY3Rpb24oY29tcHJlc3Npb25NZXRob2Qpe2Zvcih2YXIgbWV0aG9kIGluIGNvbXByZXNzaW9ucyl7aWYoIWNvbXByZXNzaW9ucy5oYXNPd25Qcm9wZXJ0eShtZXRob2QpKWNvbnRpbnVlO2lmKGNvbXByZXNzaW9uc1ttZXRob2RdLm1hZ2ljPT09Y29tcHJlc3Npb25NZXRob2QpcmV0dXJuIGNvbXByZXNzaW9uc1ttZXRob2RdfXJldHVybiBudWxsfTtleHBvcnRzLmlzUmVnRXhwPWZ1bmN0aW9uKG9iamVjdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmplY3QpPT09CiJbb2JqZWN0IFJlZ0V4cF0ifX0seyIuL2NvbXByZXNzaW9ucyI6MywiLi9ub2RlQnVmZmVyIjoxMSwiLi9zdXBwb3J0IjoxN31dLDIyOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgU3RyaW5nUmVhZGVyPV9kZXJlcV8oIi4vc3RyaW5nUmVhZGVyIik7dmFyIE5vZGVCdWZmZXJSZWFkZXI9X2RlcmVxXygiLi9ub2RlQnVmZmVyUmVhZGVyIik7dmFyIFVpbnQ4QXJyYXlSZWFkZXI9X2RlcmVxXygiLi91aW50OEFycmF5UmVhZGVyIik7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMiKTt2YXIgc2lnPV9kZXJlcV8oIi4vc2lnbmF0dXJlIik7dmFyIFppcEVudHJ5PV9kZXJlcV8oIi4vemlwRW50cnkiKTt2YXIgc3VwcG9ydD1fZGVyZXFfKCIuL3N1cHBvcnQiKTt2YXIganN6aXBQcm90bz1fZGVyZXFfKCIuL29iamVjdCIpO2Z1bmN0aW9uIFppcEVudHJpZXMoZGF0YSxsb2FkT3B0aW9ucyl7dGhpcy5maWxlcz1bXTt0aGlzLmxvYWRPcHRpb25zPWxvYWRPcHRpb25zOwppZihkYXRhKXRoaXMubG9hZChkYXRhKX1aaXBFbnRyaWVzLnByb3RvdHlwZT17Y2hlY2tTaWduYXR1cmU6ZnVuY3Rpb24oZXhwZWN0ZWRTaWduYXR1cmUpe3ZhciBzaWduYXR1cmU9dGhpcy5yZWFkZXIucmVhZFN0cmluZyg0KTtpZihzaWduYXR1cmUhPT1leHBlY3RlZFNpZ25hdHVyZSl0aHJvdyBuZXcgRXJyb3IoIkNvcnJ1cHRlZCB6aXAgb3IgYnVnIDogdW5leHBlY3RlZCBzaWduYXR1cmUgIisiKCIrdXRpbHMucHJldHR5KHNpZ25hdHVyZSkrIiwgZXhwZWN0ZWQgIit1dGlscy5wcmV0dHkoZXhwZWN0ZWRTaWduYXR1cmUpKyIpIik7fSxyZWFkQmxvY2tFbmRPZkNlbnRyYWw6ZnVuY3Rpb24oKXt0aGlzLmRpc2tOdW1iZXI9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLmRpc2tXaXRoQ2VudHJhbERpclN0YXJ0PXRoaXMucmVhZGVyLnJlYWRJbnQoMik7dGhpcy5jZW50cmFsRGlyUmVjb3Jkc09uVGhpc0Rpc2s9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLmNlbnRyYWxEaXJSZWNvcmRzPQp0aGlzLnJlYWRlci5yZWFkSW50KDIpO3RoaXMuY2VudHJhbERpclNpemU9dGhpcy5yZWFkZXIucmVhZEludCg0KTt0aGlzLmNlbnRyYWxEaXJPZmZzZXQ9dGhpcy5yZWFkZXIucmVhZEludCg0KTt0aGlzLnppcENvbW1lbnRMZW5ndGg9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLnppcENvbW1lbnQ9dGhpcy5yZWFkZXIucmVhZFN0cmluZyh0aGlzLnppcENvbW1lbnRMZW5ndGgpO3RoaXMuemlwQ29tbWVudD1qc3ppcFByb3RvLnV0ZjhkZWNvZGUodGhpcy56aXBDb21tZW50KX0scmVhZEJsb2NrWmlwNjRFbmRPZkNlbnRyYWw6ZnVuY3Rpb24oKXt0aGlzLnppcDY0RW5kT2ZDZW50cmFsU2l6ZT10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMudmVyc2lvbk1hZGVCeT10aGlzLnJlYWRlci5yZWFkU3RyaW5nKDIpO3RoaXMudmVyc2lvbk5lZWRlZD10aGlzLnJlYWRlci5yZWFkSW50KDIpO3RoaXMuZGlza051bWJlcj10aGlzLnJlYWRlci5yZWFkSW50KDQpO3RoaXMuZGlza1dpdGhDZW50cmFsRGlyU3RhcnQ9CnRoaXMucmVhZGVyLnJlYWRJbnQoNCk7dGhpcy5jZW50cmFsRGlyUmVjb3Jkc09uVGhpc0Rpc2s9dGhpcy5yZWFkZXIucmVhZEludCg4KTt0aGlzLmNlbnRyYWxEaXJSZWNvcmRzPXRoaXMucmVhZGVyLnJlYWRJbnQoOCk7dGhpcy5jZW50cmFsRGlyU2l6ZT10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMuY2VudHJhbERpck9mZnNldD10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMuemlwNjRFeHRlbnNpYmxlRGF0YT17fTt2YXIgZXh0cmFEYXRhU2l6ZT10aGlzLnppcDY0RW5kT2ZDZW50cmFsU2l6ZS00NCxpbmRleD0wLGV4dHJhRmllbGRJZCxleHRyYUZpZWxkTGVuZ3RoLGV4dHJhRmllbGRWYWx1ZTt3aGlsZShpbmRleDxleHRyYURhdGFTaXplKXtleHRyYUZpZWxkSWQ9dGhpcy5yZWFkZXIucmVhZEludCgyKTtleHRyYUZpZWxkTGVuZ3RoPXRoaXMucmVhZGVyLnJlYWRJbnQoNCk7ZXh0cmFGaWVsZFZhbHVlPXRoaXMucmVhZGVyLnJlYWRTdHJpbmcoZXh0cmFGaWVsZExlbmd0aCk7CnRoaXMuemlwNjRFeHRlbnNpYmxlRGF0YVtleHRyYUZpZWxkSWRdPXtpZDpleHRyYUZpZWxkSWQsbGVuZ3RoOmV4dHJhRmllbGRMZW5ndGgsdmFsdWU6ZXh0cmFGaWVsZFZhbHVlfX19LHJlYWRCbG9ja1ppcDY0RW5kT2ZDZW50cmFsTG9jYXRvcjpmdW5jdGlvbigpe3RoaXMuZGlza1dpdGhaaXA2NENlbnRyYWxEaXJTdGFydD10aGlzLnJlYWRlci5yZWFkSW50KDQpO3RoaXMucmVsYXRpdmVPZmZzZXRFbmRPZlppcDY0Q2VudHJhbERpcj10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMuZGlza3NDb3VudD10aGlzLnJlYWRlci5yZWFkSW50KDQpO2lmKHRoaXMuZGlza3NDb3VudD4xKXRocm93IG5ldyBFcnJvcigiTXVsdGktdm9sdW1lcyB6aXAgYXJlIG5vdCBzdXBwb3J0ZWQiKTt9LHJlYWRMb2NhbEZpbGVzOmZ1bmN0aW9uKCl7dmFyIGksZmlsZTtmb3IoaT0wO2k8dGhpcy5maWxlcy5sZW5ndGg7aSsrKXtmaWxlPXRoaXMuZmlsZXNbaV07dGhpcy5yZWFkZXIuc2V0SW5kZXgoZmlsZS5sb2NhbEhlYWRlck9mZnNldCk7CnRoaXMuY2hlY2tTaWduYXR1cmUoc2lnLkxPQ0FMX0ZJTEVfSEVBREVSKTtmaWxlLnJlYWRMb2NhbFBhcnQodGhpcy5yZWFkZXIpO2ZpbGUuaGFuZGxlVVRGOCgpfX0scmVhZENlbnRyYWxEaXI6ZnVuY3Rpb24oKXt2YXIgZmlsZTt0aGlzLnJlYWRlci5zZXRJbmRleCh0aGlzLmNlbnRyYWxEaXJPZmZzZXQpO3doaWxlKHRoaXMucmVhZGVyLnJlYWRTdHJpbmcoNCk9PT1zaWcuQ0VOVFJBTF9GSUxFX0hFQURFUil7ZmlsZT1uZXcgWmlwRW50cnkoe3ppcDY0OnRoaXMuemlwNjR9LHRoaXMubG9hZE9wdGlvbnMpO2ZpbGUucmVhZENlbnRyYWxQYXJ0KHRoaXMucmVhZGVyKTt0aGlzLmZpbGVzLnB1c2goZmlsZSl9fSxyZWFkRW5kT2ZDZW50cmFsOmZ1bmN0aW9uKCl7dmFyIG9mZnNldD10aGlzLnJlYWRlci5sYXN0SW5kZXhPZlNpZ25hdHVyZShzaWcuQ0VOVFJBTF9ESVJFQ1RPUllfRU5EKTtpZihvZmZzZXQ9PT0tMSl0aHJvdyBuZXcgRXJyb3IoIkNvcnJ1cHRlZCB6aXAgOiBjYW4ndCBmaW5kIGVuZCBvZiBjZW50cmFsIGRpcmVjdG9yeSIpOwp0aGlzLnJlYWRlci5zZXRJbmRleChvZmZzZXQpO3RoaXMuY2hlY2tTaWduYXR1cmUoc2lnLkNFTlRSQUxfRElSRUNUT1JZX0VORCk7dGhpcy5yZWFkQmxvY2tFbmRPZkNlbnRyYWwoKTtpZih0aGlzLmRpc2tOdW1iZXI9PT11dGlscy5NQVhfVkFMVUVfMTZCSVRTfHx0aGlzLmRpc2tXaXRoQ2VudHJhbERpclN0YXJ0PT09dXRpbHMuTUFYX1ZBTFVFXzE2QklUU3x8dGhpcy5jZW50cmFsRGlyUmVjb3Jkc09uVGhpc0Rpc2s9PT11dGlscy5NQVhfVkFMVUVfMTZCSVRTfHx0aGlzLmNlbnRyYWxEaXJSZWNvcmRzPT09dXRpbHMuTUFYX1ZBTFVFXzE2QklUU3x8dGhpcy5jZW50cmFsRGlyU2l6ZT09PXV0aWxzLk1BWF9WQUxVRV8zMkJJVFN8fHRoaXMuY2VudHJhbERpck9mZnNldD09PXV0aWxzLk1BWF9WQUxVRV8zMkJJVFMpe3RoaXMuemlwNjQ9dHJ1ZTtvZmZzZXQ9dGhpcy5yZWFkZXIubGFzdEluZGV4T2ZTaWduYXR1cmUoc2lnLlpJUDY0X0NFTlRSQUxfRElSRUNUT1JZX0xPQ0FUT1IpO2lmKG9mZnNldD09PQotMSl0aHJvdyBuZXcgRXJyb3IoIkNvcnJ1cHRlZCB6aXAgOiBjYW4ndCBmaW5kIHRoZSBaSVA2NCBlbmQgb2YgY2VudHJhbCBkaXJlY3RvcnkgbG9jYXRvciIpO3RoaXMucmVhZGVyLnNldEluZGV4KG9mZnNldCk7dGhpcy5jaGVja1NpZ25hdHVyZShzaWcuWklQNjRfQ0VOVFJBTF9ESVJFQ1RPUllfTE9DQVRPUik7dGhpcy5yZWFkQmxvY2taaXA2NEVuZE9mQ2VudHJhbExvY2F0b3IoKTt0aGlzLnJlYWRlci5zZXRJbmRleCh0aGlzLnJlbGF0aXZlT2Zmc2V0RW5kT2ZaaXA2NENlbnRyYWxEaXIpO3RoaXMuY2hlY2tTaWduYXR1cmUoc2lnLlpJUDY0X0NFTlRSQUxfRElSRUNUT1JZX0VORCk7dGhpcy5yZWFkQmxvY2taaXA2NEVuZE9mQ2VudHJhbCgpfX0scHJlcGFyZVJlYWRlcjpmdW5jdGlvbihkYXRhKXt2YXIgdHlwZT11dGlscy5nZXRUeXBlT2YoZGF0YSk7aWYodHlwZT09PSJzdHJpbmciJiYhc3VwcG9ydC51aW50OGFycmF5KXRoaXMucmVhZGVyPW5ldyBTdHJpbmdSZWFkZXIoZGF0YSwKdGhpcy5sb2FkT3B0aW9ucy5vcHRpbWl6ZWRCaW5hcnlTdHJpbmcpO2Vsc2UgaWYodHlwZT09PSJub2RlYnVmZmVyIil0aGlzLnJlYWRlcj1uZXcgTm9kZUJ1ZmZlclJlYWRlcihkYXRhKTtlbHNlIHRoaXMucmVhZGVyPW5ldyBVaW50OEFycmF5UmVhZGVyKHV0aWxzLnRyYW5zZm9ybVRvKCJ1aW50OGFycmF5IixkYXRhKSl9LGxvYWQ6ZnVuY3Rpb24oZGF0YSl7dGhpcy5wcmVwYXJlUmVhZGVyKGRhdGEpO3RoaXMucmVhZEVuZE9mQ2VudHJhbCgpO3RoaXMucmVhZENlbnRyYWxEaXIoKTt0aGlzLnJlYWRMb2NhbEZpbGVzKCl9fTttb2R1bGUuZXhwb3J0cz1aaXBFbnRyaWVzfSx7Ii4vbm9kZUJ1ZmZlclJlYWRlciI6MTIsIi4vb2JqZWN0IjoxMywiLi9zaWduYXR1cmUiOjE0LCIuL3N0cmluZ1JlYWRlciI6MTUsIi4vc3VwcG9ydCI6MTcsIi4vdWludDhBcnJheVJlYWRlciI6MTgsIi4vdXRpbHMiOjIxLCIuL3ppcEVudHJ5IjoyM31dLDIzOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgU3RyaW5nUmVhZGVyPQpfZGVyZXFfKCIuL3N0cmluZ1JlYWRlciIpO3ZhciB1dGlscz1fZGVyZXFfKCIuL3V0aWxzIik7dmFyIENvbXByZXNzZWRPYmplY3Q9X2RlcmVxXygiLi9jb21wcmVzc2VkT2JqZWN0Iik7dmFyIGpzemlwUHJvdG89X2RlcmVxXygiLi9vYmplY3QiKTtmdW5jdGlvbiBaaXBFbnRyeShvcHRpb25zLGxvYWRPcHRpb25zKXt0aGlzLm9wdGlvbnM9b3B0aW9uczt0aGlzLmxvYWRPcHRpb25zPWxvYWRPcHRpb25zfVppcEVudHJ5LnByb3RvdHlwZT17aXNFbmNyeXB0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5iaXRGbGFnJjEpPT09MX0sdXNlVVRGODpmdW5jdGlvbigpe3JldHVybih0aGlzLmJpdEZsYWcmMjA0OCk9PT0yMDQ4fSxwcmVwYXJlQ29tcHJlc3NlZENvbnRlbnQ6ZnVuY3Rpb24ocmVhZGVyLGZyb20sbGVuZ3RoKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcHJldmlvdXNJbmRleD1yZWFkZXIuaW5kZXg7cmVhZGVyLnNldEluZGV4KGZyb20pO3ZhciBjb21wcmVzc2VkRmlsZURhdGE9CnJlYWRlci5yZWFkRGF0YShsZW5ndGgpO3JlYWRlci5zZXRJbmRleChwcmV2aW91c0luZGV4KTtyZXR1cm4gY29tcHJlc3NlZEZpbGVEYXRhfX0scHJlcGFyZUNvbnRlbnQ6ZnVuY3Rpb24ocmVhZGVyLGZyb20sbGVuZ3RoLGNvbXByZXNzaW9uLHVuY29tcHJlc3NlZFNpemUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBjb21wcmVzc2VkRmlsZURhdGE9dXRpbHMudHJhbnNmb3JtVG8oY29tcHJlc3Npb24udW5jb21wcmVzc0lucHV0VHlwZSx0aGlzLmdldENvbXByZXNzZWRDb250ZW50KCkpO3ZhciB1bmNvbXByZXNzZWRGaWxlRGF0YT1jb21wcmVzc2lvbi51bmNvbXByZXNzKGNvbXByZXNzZWRGaWxlRGF0YSk7aWYodW5jb21wcmVzc2VkRmlsZURhdGEubGVuZ3RoIT09dW5jb21wcmVzc2VkU2l6ZSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZyA6IHVuY29tcHJlc3NlZCBkYXRhIHNpemUgbWlzbWF0Y2giKTtyZXR1cm4gdW5jb21wcmVzc2VkRmlsZURhdGF9fSxyZWFkTG9jYWxQYXJ0OmZ1bmN0aW9uKHJlYWRlcil7dmFyIGNvbXByZXNzaW9uLApsb2NhbEV4dHJhRmllbGRzTGVuZ3RoO3JlYWRlci5za2lwKDIyKTt0aGlzLmZpbGVOYW1lTGVuZ3RoPXJlYWRlci5yZWFkSW50KDIpO2xvY2FsRXh0cmFGaWVsZHNMZW5ndGg9cmVhZGVyLnJlYWRJbnQoMik7dGhpcy5maWxlTmFtZT1yZWFkZXIucmVhZFN0cmluZyh0aGlzLmZpbGVOYW1lTGVuZ3RoKTtyZWFkZXIuc2tpcChsb2NhbEV4dHJhRmllbGRzTGVuZ3RoKTtpZih0aGlzLmNvbXByZXNzZWRTaXplPT0tMXx8dGhpcy51bmNvbXByZXNzZWRTaXplPT0tMSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZyBvciBjb3JydXB0ZWQgemlwIDogZGlkbid0IGdldCBlbm91Z2ggaW5mb3JtYXRpb25zIGZyb20gdGhlIGNlbnRyYWwgZGlyZWN0b3J5ICIrIihjb21wcmVzc2VkU2l6ZSA9PSAtMSB8fCB1bmNvbXByZXNzZWRTaXplID09IC0xKSIpO2NvbXByZXNzaW9uPXV0aWxzLmZpbmRDb21wcmVzc2lvbih0aGlzLmNvbXByZXNzaW9uTWV0aG9kKTtpZihjb21wcmVzc2lvbj09PW51bGwpdGhyb3cgbmV3IEVycm9yKCJDb3JydXB0ZWQgemlwIDogY29tcHJlc3Npb24gIisKdXRpbHMucHJldHR5KHRoaXMuY29tcHJlc3Npb25NZXRob2QpKyIgdW5rbm93biAoaW5uZXIgZmlsZSA6ICIrdGhpcy5maWxlTmFtZSsiKSIpO3RoaXMuZGVjb21wcmVzc2VkPW5ldyBDb21wcmVzc2VkT2JqZWN0O3RoaXMuZGVjb21wcmVzc2VkLmNvbXByZXNzZWRTaXplPXRoaXMuY29tcHJlc3NlZFNpemU7dGhpcy5kZWNvbXByZXNzZWQudW5jb21wcmVzc2VkU2l6ZT10aGlzLnVuY29tcHJlc3NlZFNpemU7dGhpcy5kZWNvbXByZXNzZWQuY3JjMzI9dGhpcy5jcmMzMjt0aGlzLmRlY29tcHJlc3NlZC5jb21wcmVzc2lvbk1ldGhvZD10aGlzLmNvbXByZXNzaW9uTWV0aG9kO3RoaXMuZGVjb21wcmVzc2VkLmdldENvbXByZXNzZWRDb250ZW50PXRoaXMucHJlcGFyZUNvbXByZXNzZWRDb250ZW50KHJlYWRlcixyZWFkZXIuaW5kZXgsdGhpcy5jb21wcmVzc2VkU2l6ZSxjb21wcmVzc2lvbik7dGhpcy5kZWNvbXByZXNzZWQuZ2V0Q29udGVudD10aGlzLnByZXBhcmVDb250ZW50KHJlYWRlciwKcmVhZGVyLmluZGV4LHRoaXMuY29tcHJlc3NlZFNpemUsY29tcHJlc3Npb24sdGhpcy51bmNvbXByZXNzZWRTaXplKTtpZih0aGlzLmxvYWRPcHRpb25zLmNoZWNrQ1JDMzIpe3RoaXMuZGVjb21wcmVzc2VkPXV0aWxzLnRyYW5zZm9ybVRvKCJzdHJpbmciLHRoaXMuZGVjb21wcmVzc2VkLmdldENvbnRlbnQoKSk7aWYoanN6aXBQcm90by5jcmMzMih0aGlzLmRlY29tcHJlc3NlZCkhPT10aGlzLmNyYzMyKXRocm93IG5ldyBFcnJvcigiQ29ycnVwdGVkIHppcCA6IENSQzMyIG1pc21hdGNoIik7fX0scmVhZENlbnRyYWxQYXJ0OmZ1bmN0aW9uKHJlYWRlcil7dGhpcy52ZXJzaW9uTWFkZUJ5PXJlYWRlci5yZWFkU3RyaW5nKDIpO3RoaXMudmVyc2lvbk5lZWRlZD1yZWFkZXIucmVhZEludCgyKTt0aGlzLmJpdEZsYWc9cmVhZGVyLnJlYWRJbnQoMik7dGhpcy5jb21wcmVzc2lvbk1ldGhvZD1yZWFkZXIucmVhZFN0cmluZygyKTt0aGlzLmRhdGU9cmVhZGVyLnJlYWREYXRlKCk7dGhpcy5jcmMzMj0KcmVhZGVyLnJlYWRJbnQoNCk7dGhpcy5jb21wcmVzc2VkU2l6ZT1yZWFkZXIucmVhZEludCg0KTt0aGlzLnVuY29tcHJlc3NlZFNpemU9cmVhZGVyLnJlYWRJbnQoNCk7dGhpcy5maWxlTmFtZUxlbmd0aD1yZWFkZXIucmVhZEludCgyKTt0aGlzLmV4dHJhRmllbGRzTGVuZ3RoPXJlYWRlci5yZWFkSW50KDIpO3RoaXMuZmlsZUNvbW1lbnRMZW5ndGg9cmVhZGVyLnJlYWRJbnQoMik7dGhpcy5kaXNrTnVtYmVyU3RhcnQ9cmVhZGVyLnJlYWRJbnQoMik7dGhpcy5pbnRlcm5hbEZpbGVBdHRyaWJ1dGVzPXJlYWRlci5yZWFkSW50KDIpO3RoaXMuZXh0ZXJuYWxGaWxlQXR0cmlidXRlcz1yZWFkZXIucmVhZEludCg0KTt0aGlzLmxvY2FsSGVhZGVyT2Zmc2V0PXJlYWRlci5yZWFkSW50KDQpO2lmKHRoaXMuaXNFbmNyeXB0ZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkVuY3J5cHRlZCB6aXAgYXJlIG5vdCBzdXBwb3J0ZWQiKTt0aGlzLmZpbGVOYW1lPXJlYWRlci5yZWFkU3RyaW5nKHRoaXMuZmlsZU5hbWVMZW5ndGgpOwp0aGlzLnJlYWRFeHRyYUZpZWxkcyhyZWFkZXIpO3RoaXMucGFyc2VaSVA2NEV4dHJhRmllbGQocmVhZGVyKTt0aGlzLmZpbGVDb21tZW50PXJlYWRlci5yZWFkU3RyaW5nKHRoaXMuZmlsZUNvbW1lbnRMZW5ndGgpO3RoaXMuZGlyPXRoaXMuZXh0ZXJuYWxGaWxlQXR0cmlidXRlcyYxNj90cnVlOmZhbHNlfSxwYXJzZVpJUDY0RXh0cmFGaWVsZDpmdW5jdGlvbihyZWFkZXIpe2lmKCF0aGlzLmV4dHJhRmllbGRzWzFdKXJldHVybjt2YXIgZXh0cmFSZWFkZXI9bmV3IFN0cmluZ1JlYWRlcih0aGlzLmV4dHJhRmllbGRzWzFdLnZhbHVlKTtpZih0aGlzLnVuY29tcHJlc3NlZFNpemU9PT11dGlscy5NQVhfVkFMVUVfMzJCSVRTKXRoaXMudW5jb21wcmVzc2VkU2l6ZT1leHRyYVJlYWRlci5yZWFkSW50KDgpO2lmKHRoaXMuY29tcHJlc3NlZFNpemU9PT11dGlscy5NQVhfVkFMVUVfMzJCSVRTKXRoaXMuY29tcHJlc3NlZFNpemU9ZXh0cmFSZWFkZXIucmVhZEludCg4KTtpZih0aGlzLmxvY2FsSGVhZGVyT2Zmc2V0PT09CnV0aWxzLk1BWF9WQUxVRV8zMkJJVFMpdGhpcy5sb2NhbEhlYWRlck9mZnNldD1leHRyYVJlYWRlci5yZWFkSW50KDgpO2lmKHRoaXMuZGlza051bWJlclN0YXJ0PT09dXRpbHMuTUFYX1ZBTFVFXzMyQklUUyl0aGlzLmRpc2tOdW1iZXJTdGFydD1leHRyYVJlYWRlci5yZWFkSW50KDQpfSxyZWFkRXh0cmFGaWVsZHM6ZnVuY3Rpb24ocmVhZGVyKXt2YXIgc3RhcnQ9cmVhZGVyLmluZGV4LGV4dHJhRmllbGRJZCxleHRyYUZpZWxkTGVuZ3RoLGV4dHJhRmllbGRWYWx1ZTt0aGlzLmV4dHJhRmllbGRzPXRoaXMuZXh0cmFGaWVsZHN8fHt9O3doaWxlKHJlYWRlci5pbmRleDxzdGFydCt0aGlzLmV4dHJhRmllbGRzTGVuZ3RoKXtleHRyYUZpZWxkSWQ9cmVhZGVyLnJlYWRJbnQoMik7ZXh0cmFGaWVsZExlbmd0aD1yZWFkZXIucmVhZEludCgyKTtleHRyYUZpZWxkVmFsdWU9cmVhZGVyLnJlYWRTdHJpbmcoZXh0cmFGaWVsZExlbmd0aCk7dGhpcy5leHRyYUZpZWxkc1tleHRyYUZpZWxkSWRdPQp7aWQ6ZXh0cmFGaWVsZElkLGxlbmd0aDpleHRyYUZpZWxkTGVuZ3RoLHZhbHVlOmV4dHJhRmllbGRWYWx1ZX19fSxoYW5kbGVVVEY4OmZ1bmN0aW9uKCl7aWYodGhpcy51c2VVVEY4KCkpe3RoaXMuZmlsZU5hbWU9anN6aXBQcm90by51dGY4ZGVjb2RlKHRoaXMuZmlsZU5hbWUpO3RoaXMuZmlsZUNvbW1lbnQ9anN6aXBQcm90by51dGY4ZGVjb2RlKHRoaXMuZmlsZUNvbW1lbnQpfWVsc2V7dmFyIHVwYXRoPXRoaXMuZmluZEV4dHJhRmllbGRVbmljb2RlUGF0aCgpO2lmKHVwYXRoIT09bnVsbCl0aGlzLmZpbGVOYW1lPXVwYXRoO3ZhciB1Y29tbWVudD10aGlzLmZpbmRFeHRyYUZpZWxkVW5pY29kZUNvbW1lbnQoKTtpZih1Y29tbWVudCE9PW51bGwpdGhpcy5maWxlQ29tbWVudD11Y29tbWVudH19LGZpbmRFeHRyYUZpZWxkVW5pY29kZVBhdGg6ZnVuY3Rpb24oKXt2YXIgdXBhdGhGaWVsZD10aGlzLmV4dHJhRmllbGRzWzI4Nzg5XTtpZih1cGF0aEZpZWxkKXt2YXIgZXh0cmFSZWFkZXI9Cm5ldyBTdHJpbmdSZWFkZXIodXBhdGhGaWVsZC52YWx1ZSk7aWYoZXh0cmFSZWFkZXIucmVhZEludCgxKSE9PTEpcmV0dXJuIG51bGw7aWYoanN6aXBQcm90by5jcmMzMih0aGlzLmZpbGVOYW1lKSE9PWV4dHJhUmVhZGVyLnJlYWRJbnQoNCkpcmV0dXJuIG51bGw7cmV0dXJuIGpzemlwUHJvdG8udXRmOGRlY29kZShleHRyYVJlYWRlci5yZWFkU3RyaW5nKHVwYXRoRmllbGQubGVuZ3RoLTUpKX1yZXR1cm4gbnVsbH0sZmluZEV4dHJhRmllbGRVbmljb2RlQ29tbWVudDpmdW5jdGlvbigpe3ZhciB1Y29tbWVudEZpZWxkPXRoaXMuZXh0cmFGaWVsZHNbMjU0NjFdO2lmKHVjb21tZW50RmllbGQpe3ZhciBleHRyYVJlYWRlcj1uZXcgU3RyaW5nUmVhZGVyKHVjb21tZW50RmllbGQudmFsdWUpO2lmKGV4dHJhUmVhZGVyLnJlYWRJbnQoMSkhPT0xKXJldHVybiBudWxsO2lmKGpzemlwUHJvdG8uY3JjMzIodGhpcy5maWxlQ29tbWVudCkhPT1leHRyYVJlYWRlci5yZWFkSW50KDQpKXJldHVybiBudWxsOwpyZXR1cm4ganN6aXBQcm90by51dGY4ZGVjb2RlKGV4dHJhUmVhZGVyLnJlYWRTdHJpbmcodWNvbW1lbnRGaWVsZC5sZW5ndGgtNSkpfXJldHVybiBudWxsfX07bW9kdWxlLmV4cG9ydHM9WmlwRW50cnl9LHsiLi9jb21wcmVzc2VkT2JqZWN0IjoyLCIuL29iamVjdCI6MTMsIi4vc3RyaW5nUmVhZGVyIjoxNSwiLi91dGlscyI6MjF9XSwyNDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIGFzc2lnbj1fZGVyZXFfKCIuL2xpYi91dGlscy9jb21tb24iKS5hc3NpZ247dmFyIGRlZmxhdGU9X2RlcmVxXygiLi9saWIvZGVmbGF0ZSIpO3ZhciBpbmZsYXRlPV9kZXJlcV8oIi4vbGliL2luZmxhdGUiKTt2YXIgY29uc3RhbnRzPV9kZXJlcV8oIi4vbGliL3psaWIvY29uc3RhbnRzIik7dmFyIHBha289e307YXNzaWduKHBha28sZGVmbGF0ZSxpbmZsYXRlLGNvbnN0YW50cyk7bW9kdWxlLmV4cG9ydHM9cGFrb30seyIuL2xpYi9kZWZsYXRlIjoyNSwiLi9saWIvaW5mbGF0ZSI6MjYsCiIuL2xpYi91dGlscy9jb21tb24iOjI3LCIuL2xpYi96bGliL2NvbnN0YW50cyI6MzB9XSwyNTpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHpsaWJfZGVmbGF0ZT1fZGVyZXFfKCIuL3psaWIvZGVmbGF0ZS5qcyIpO3ZhciB1dGlscz1fZGVyZXFfKCIuL3V0aWxzL2NvbW1vbiIpO3ZhciBzdHJpbmdzPV9kZXJlcV8oIi4vdXRpbHMvc3RyaW5ncyIpO3ZhciBtc2c9X2RlcmVxXygiLi96bGliL21lc3NhZ2VzIik7dmFyIHpzdHJlYW09X2RlcmVxXygiLi96bGliL3pzdHJlYW0iKTt2YXIgWl9OT19GTFVTSD0wO3ZhciBaX0ZJTklTSD00O3ZhciBaX09LPTA7dmFyIFpfU1RSRUFNX0VORD0xO3ZhciBaX0RFRkFVTFRfQ09NUFJFU1NJT049LTE7dmFyIFpfREVGQVVMVF9TVFJBVEVHWT0wO3ZhciBaX0RFRkxBVEVEPTg7dmFyIERlZmxhdGU9ZnVuY3Rpb24ob3B0aW9ucyl7dGhpcy5vcHRpb25zPXV0aWxzLmFzc2lnbih7bGV2ZWw6Wl9ERUZBVUxUX0NPTVBSRVNTSU9OLAptZXRob2Q6Wl9ERUZMQVRFRCxjaHVua1NpemU6MTYzODQsd2luZG93Qml0czoxNSxtZW1MZXZlbDo4LHN0cmF0ZWd5OlpfREVGQVVMVF9TVFJBVEVHWSx0bzoiIn0sb3B0aW9uc3x8e30pO3ZhciBvcHQ9dGhpcy5vcHRpb25zO2lmKG9wdC5yYXcmJm9wdC53aW5kb3dCaXRzPjApb3B0LndpbmRvd0JpdHM9LW9wdC53aW5kb3dCaXRzO2Vsc2UgaWYob3B0Lmd6aXAmJm9wdC53aW5kb3dCaXRzPjAmJm9wdC53aW5kb3dCaXRzPDE2KW9wdC53aW5kb3dCaXRzKz0xNjt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ZmFsc2U7dGhpcy5jaHVua3M9W107dGhpcy5zdHJtPW5ldyB6c3RyZWFtO3RoaXMuc3RybS5hdmFpbF9vdXQ9MDt2YXIgc3RhdHVzPXpsaWJfZGVmbGF0ZS5kZWZsYXRlSW5pdDIodGhpcy5zdHJtLG9wdC5sZXZlbCxvcHQubWV0aG9kLG9wdC53aW5kb3dCaXRzLG9wdC5tZW1MZXZlbCxvcHQuc3RyYXRlZ3kpO2lmKHN0YXR1cyE9PVpfT0spdGhyb3cgbmV3IEVycm9yKG1zZ1tzdGF0dXNdKTsKaWYob3B0LmhlYWRlcil6bGliX2RlZmxhdGUuZGVmbGF0ZVNldEhlYWRlcih0aGlzLnN0cm0sb3B0LmhlYWRlcil9O0RlZmxhdGUucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZGF0YSxtb2RlKXt2YXIgc3RybT10aGlzLnN0cm07dmFyIGNodW5rU2l6ZT10aGlzLm9wdGlvbnMuY2h1bmtTaXplO3ZhciBzdGF0dXMsX21vZGU7aWYodGhpcy5lbmRlZClyZXR1cm4gZmFsc2U7X21vZGU9bW9kZT09PX5+bW9kZT9tb2RlOm1vZGU9PT10cnVlP1pfRklOSVNIOlpfTk9fRkxVU0g7aWYodHlwZW9mIGRhdGE9PT0ic3RyaW5nIilzdHJtLmlucHV0PXN0cmluZ3Muc3RyaW5nMmJ1ZihkYXRhKTtlbHNlIHN0cm0uaW5wdXQ9ZGF0YTtzdHJtLm5leHRfaW49MDtzdHJtLmF2YWlsX2luPXN0cm0uaW5wdXQubGVuZ3RoO2Rve2lmKHN0cm0uYXZhaWxfb3V0PT09MCl7c3RybS5vdXRwdXQ9bmV3IHV0aWxzLkJ1ZjgoY2h1bmtTaXplKTtzdHJtLm5leHRfb3V0PTA7c3RybS5hdmFpbF9vdXQ9Y2h1bmtTaXplfXN0YXR1cz0KemxpYl9kZWZsYXRlLmRlZmxhdGUoc3RybSxfbW9kZSk7aWYoc3RhdHVzIT09Wl9TVFJFQU1fRU5EJiZzdGF0dXMhPT1aX09LKXt0aGlzLm9uRW5kKHN0YXR1cyk7dGhpcy5lbmRlZD10cnVlO3JldHVybiBmYWxzZX1pZihzdHJtLmF2YWlsX291dD09PTB8fHN0cm0uYXZhaWxfaW49PT0wJiZfbW9kZT09PVpfRklOSVNIKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXRoaXMub25EYXRhKHN0cmluZ3MuYnVmMmJpbnN0cmluZyh1dGlscy5zaHJpbmtCdWYoc3RybS5vdXRwdXQsc3RybS5uZXh0X291dCkpKTtlbHNlIHRoaXMub25EYXRhKHV0aWxzLnNocmlua0J1ZihzdHJtLm91dHB1dCxzdHJtLm5leHRfb3V0KSl9d2hpbGUoKHN0cm0uYXZhaWxfaW4+MHx8c3RybS5hdmFpbF9vdXQ9PT0wKSYmc3RhdHVzIT09Wl9TVFJFQU1fRU5EKTtpZihfbW9kZT09PVpfRklOSVNIKXtzdGF0dXM9emxpYl9kZWZsYXRlLmRlZmxhdGVFbmQodGhpcy5zdHJtKTt0aGlzLm9uRW5kKHN0YXR1cyk7CnRoaXMuZW5kZWQ9dHJ1ZTtyZXR1cm4gc3RhdHVzPT09Wl9PS31yZXR1cm4gdHJ1ZX07RGVmbGF0ZS5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGNodW5rKXt0aGlzLmNodW5rcy5wdXNoKGNodW5rKX07RGVmbGF0ZS5wcm90b3R5cGUub25FbmQ9ZnVuY3Rpb24oc3RhdHVzKXtpZihzdGF0dXM9PT1aX09LKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXRoaXMucmVzdWx0PXRoaXMuY2h1bmtzLmpvaW4oIiIpO2Vsc2UgdGhpcy5yZXN1bHQ9dXRpbHMuZmxhdHRlbkNodW5rcyh0aGlzLmNodW5rcyk7dGhpcy5jaHVua3M9W107dGhpcy5lcnI9c3RhdHVzO3RoaXMubXNnPXRoaXMuc3RybS5tc2d9O2Z1bmN0aW9uIGRlZmxhdGUoaW5wdXQsb3B0aW9ucyl7dmFyIGRlZmxhdG9yPW5ldyBEZWZsYXRlKG9wdGlvbnMpO2RlZmxhdG9yLnB1c2goaW5wdXQsdHJ1ZSk7aWYoZGVmbGF0b3IuZXJyKXRocm93IGRlZmxhdG9yLm1zZztyZXR1cm4gZGVmbGF0b3IucmVzdWx0fWZ1bmN0aW9uIGRlZmxhdGVSYXcoaW5wdXQsCm9wdGlvbnMpe29wdGlvbnM9b3B0aW9uc3x8e307b3B0aW9ucy5yYXc9dHJ1ZTtyZXR1cm4gZGVmbGF0ZShpbnB1dCxvcHRpb25zKX1mdW5jdGlvbiBnemlwKGlucHV0LG9wdGlvbnMpe29wdGlvbnM9b3B0aW9uc3x8e307b3B0aW9ucy5nemlwPXRydWU7cmV0dXJuIGRlZmxhdGUoaW5wdXQsb3B0aW9ucyl9ZXhwb3J0cy5EZWZsYXRlPURlZmxhdGU7ZXhwb3J0cy5kZWZsYXRlPWRlZmxhdGU7ZXhwb3J0cy5kZWZsYXRlUmF3PWRlZmxhdGVSYXc7ZXhwb3J0cy5nemlwPWd6aXB9LHsiLi91dGlscy9jb21tb24iOjI3LCIuL3V0aWxzL3N0cmluZ3MiOjI4LCIuL3psaWIvZGVmbGF0ZS5qcyI6MzIsIi4vemxpYi9tZXNzYWdlcyI6MzcsIi4vemxpYi96c3RyZWFtIjozOX1dLDI2OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgemxpYl9pbmZsYXRlPV9kZXJlcV8oIi4vemxpYi9pbmZsYXRlLmpzIik7dmFyIHV0aWxzPV9kZXJlcV8oIi4vdXRpbHMvY29tbW9uIik7dmFyIHN0cmluZ3M9Cl9kZXJlcV8oIi4vdXRpbHMvc3RyaW5ncyIpO3ZhciBjPV9kZXJlcV8oIi4vemxpYi9jb25zdGFudHMiKTt2YXIgbXNnPV9kZXJlcV8oIi4vemxpYi9tZXNzYWdlcyIpO3ZhciB6c3RyZWFtPV9kZXJlcV8oIi4vemxpYi96c3RyZWFtIik7dmFyIGd6aGVhZGVyPV9kZXJlcV8oIi4vemxpYi9nemhlYWRlciIpO3ZhciBJbmZsYXRlPWZ1bmN0aW9uKG9wdGlvbnMpe3RoaXMub3B0aW9ucz11dGlscy5hc3NpZ24oe2NodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjAsdG86IiJ9LG9wdGlvbnN8fHt9KTt2YXIgb3B0PXRoaXMub3B0aW9ucztpZihvcHQucmF3JiZvcHQud2luZG93Qml0cz49MCYmb3B0LndpbmRvd0JpdHM8MTYpe29wdC53aW5kb3dCaXRzPS1vcHQud2luZG93Qml0cztpZihvcHQud2luZG93Qml0cz09PTApb3B0LndpbmRvd0JpdHM9LTE1fWlmKG9wdC53aW5kb3dCaXRzPj0wJiZvcHQud2luZG93Qml0czwxNiYmIShvcHRpb25zJiZvcHRpb25zLndpbmRvd0JpdHMpKW9wdC53aW5kb3dCaXRzKz0KMzI7aWYob3B0LndpbmRvd0JpdHM+MTUmJm9wdC53aW5kb3dCaXRzPDQ4KWlmKChvcHQud2luZG93Qml0cyYxNSk9PT0wKW9wdC53aW5kb3dCaXRzfD0xNTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ZmFsc2U7dGhpcy5jaHVua3M9W107dGhpcy5zdHJtPW5ldyB6c3RyZWFtO3RoaXMuc3RybS5hdmFpbF9vdXQ9MDt2YXIgc3RhdHVzPXpsaWJfaW5mbGF0ZS5pbmZsYXRlSW5pdDIodGhpcy5zdHJtLG9wdC53aW5kb3dCaXRzKTtpZihzdGF0dXMhPT1jLlpfT0spdGhyb3cgbmV3IEVycm9yKG1zZ1tzdGF0dXNdKTt0aGlzLmhlYWRlcj1uZXcgZ3poZWFkZXI7emxpYl9pbmZsYXRlLmluZmxhdGVHZXRIZWFkZXIodGhpcy5zdHJtLHRoaXMuaGVhZGVyKX07SW5mbGF0ZS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihkYXRhLG1vZGUpe3ZhciBzdHJtPXRoaXMuc3RybTt2YXIgY2h1bmtTaXplPXRoaXMub3B0aW9ucy5jaHVua1NpemU7dmFyIHN0YXR1cyxfbW9kZTt2YXIgbmV4dF9vdXRfdXRmOCwKdGFpbCx1dGY4c3RyO2lmKHRoaXMuZW5kZWQpcmV0dXJuIGZhbHNlO19tb2RlPW1vZGU9PT1+fm1vZGU/bW9kZTptb2RlPT09dHJ1ZT9jLlpfRklOSVNIOmMuWl9OT19GTFVTSDtpZih0eXBlb2YgZGF0YT09PSJzdHJpbmciKXN0cm0uaW5wdXQ9c3RyaW5ncy5iaW5zdHJpbmcyYnVmKGRhdGEpO2Vsc2Ugc3RybS5pbnB1dD1kYXRhO3N0cm0ubmV4dF9pbj0wO3N0cm0uYXZhaWxfaW49c3RybS5pbnB1dC5sZW5ndGg7ZG97aWYoc3RybS5hdmFpbF9vdXQ9PT0wKXtzdHJtLm91dHB1dD1uZXcgdXRpbHMuQnVmOChjaHVua1NpemUpO3N0cm0ubmV4dF9vdXQ9MDtzdHJtLmF2YWlsX291dD1jaHVua1NpemV9c3RhdHVzPXpsaWJfaW5mbGF0ZS5pbmZsYXRlKHN0cm0sYy5aX05PX0ZMVVNIKTtpZihzdGF0dXMhPT1jLlpfU1RSRUFNX0VORCYmc3RhdHVzIT09Yy5aX09LKXt0aGlzLm9uRW5kKHN0YXR1cyk7dGhpcy5lbmRlZD10cnVlO3JldHVybiBmYWxzZX1pZihzdHJtLm5leHRfb3V0KWlmKHN0cm0uYXZhaWxfb3V0PT09CjB8fHN0YXR1cz09PWMuWl9TVFJFQU1fRU5EfHxzdHJtLmF2YWlsX2luPT09MCYmX21vZGU9PT1jLlpfRklOSVNIKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXtuZXh0X291dF91dGY4PXN0cmluZ3MudXRmOGJvcmRlcihzdHJtLm91dHB1dCxzdHJtLm5leHRfb3V0KTt0YWlsPXN0cm0ubmV4dF9vdXQtbmV4dF9vdXRfdXRmODt1dGY4c3RyPXN0cmluZ3MuYnVmMnN0cmluZyhzdHJtLm91dHB1dCxuZXh0X291dF91dGY4KTtzdHJtLm5leHRfb3V0PXRhaWw7c3RybS5hdmFpbF9vdXQ9Y2h1bmtTaXplLXRhaWw7aWYodGFpbCl1dGlscy5hcnJheVNldChzdHJtLm91dHB1dCxzdHJtLm91dHB1dCxuZXh0X291dF91dGY4LHRhaWwsMCk7dGhpcy5vbkRhdGEodXRmOHN0cil9ZWxzZSB0aGlzLm9uRGF0YSh1dGlscy5zaHJpbmtCdWYoc3RybS5vdXRwdXQsc3RybS5uZXh0X291dCkpfXdoaWxlKHN0cm0uYXZhaWxfaW4+MCYmc3RhdHVzIT09Yy5aX1NUUkVBTV9FTkQpO2lmKHN0YXR1cz09PQpjLlpfU1RSRUFNX0VORClfbW9kZT1jLlpfRklOSVNIO2lmKF9tb2RlPT09Yy5aX0ZJTklTSCl7c3RhdHVzPXpsaWJfaW5mbGF0ZS5pbmZsYXRlRW5kKHRoaXMuc3RybSk7dGhpcy5vbkVuZChzdGF0dXMpO3RoaXMuZW5kZWQ9dHJ1ZTtyZXR1cm4gc3RhdHVzPT09Yy5aX09LfXJldHVybiB0cnVlfTtJbmZsYXRlLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24oY2h1bmspe3RoaXMuY2h1bmtzLnB1c2goY2h1bmspfTtJbmZsYXRlLnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbihzdGF0dXMpe2lmKHN0YXR1cz09PWMuWl9PSylpZih0aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIil0aGlzLnJlc3VsdD10aGlzLmNodW5rcy5qb2luKCIiKTtlbHNlIHRoaXMucmVzdWx0PXV0aWxzLmZsYXR0ZW5DaHVua3ModGhpcy5jaHVua3MpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPXN0YXR1czt0aGlzLm1zZz10aGlzLnN0cm0ubXNnfTtmdW5jdGlvbiBpbmZsYXRlKGlucHV0LG9wdGlvbnMpe3ZhciBpbmZsYXRvcj0KbmV3IEluZmxhdGUob3B0aW9ucyk7aW5mbGF0b3IucHVzaChpbnB1dCx0cnVlKTtpZihpbmZsYXRvci5lcnIpdGhyb3cgaW5mbGF0b3IubXNnO3JldHVybiBpbmZsYXRvci5yZXN1bHR9ZnVuY3Rpb24gaW5mbGF0ZVJhdyhpbnB1dCxvcHRpb25zKXtvcHRpb25zPW9wdGlvbnN8fHt9O29wdGlvbnMucmF3PXRydWU7cmV0dXJuIGluZmxhdGUoaW5wdXQsb3B0aW9ucyl9ZXhwb3J0cy5JbmZsYXRlPUluZmxhdGU7ZXhwb3J0cy5pbmZsYXRlPWluZmxhdGU7ZXhwb3J0cy5pbmZsYXRlUmF3PWluZmxhdGVSYXc7ZXhwb3J0cy51bmd6aXA9aW5mbGF0ZX0seyIuL3V0aWxzL2NvbW1vbiI6MjcsIi4vdXRpbHMvc3RyaW5ncyI6MjgsIi4vemxpYi9jb25zdGFudHMiOjMwLCIuL3psaWIvZ3poZWFkZXIiOjMzLCIuL3psaWIvaW5mbGF0ZS5qcyI6MzUsIi4vemxpYi9tZXNzYWdlcyI6MzcsIi4vemxpYi96c3RyZWFtIjozOX1dLDI3OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgVFlQRURfT0s9CnR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO2V4cG9ydHMuYXNzaWduPWZ1bmN0aW9uKG9iail7dmFyIHNvdXJjZXM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3doaWxlKHNvdXJjZXMubGVuZ3RoKXt2YXIgc291cmNlPXNvdXJjZXMuc2hpZnQoKTtpZighc291cmNlKWNvbnRpbnVlO2lmKHR5cGVvZiBzb3VyY2UhPT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKHNvdXJjZSsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBwIGluIHNvdXJjZSlpZihzb3VyY2UuaGFzT3duUHJvcGVydHkocCkpb2JqW3BdPXNvdXJjZVtwXX1yZXR1cm4gb2JqfTtleHBvcnRzLnNocmlua0J1Zj1mdW5jdGlvbihidWYsc2l6ZSl7aWYoYnVmLmxlbmd0aD09PXNpemUpcmV0dXJuIGJ1ZjtpZihidWYuc3ViYXJyYXkpcmV0dXJuIGJ1Zi5zdWJhcnJheSgwLApzaXplKTtidWYubGVuZ3RoPXNpemU7cmV0dXJuIGJ1Zn07dmFyIGZuVHlwZWQ9e2FycmF5U2V0OmZ1bmN0aW9uKGRlc3Qsc3JjLHNyY19vZmZzLGxlbixkZXN0X29mZnMpe2lmKHNyYy5zdWJhcnJheSYmZGVzdC5zdWJhcnJheSl7ZGVzdC5zZXQoc3JjLnN1YmFycmF5KHNyY19vZmZzLHNyY19vZmZzK2xlbiksZGVzdF9vZmZzKTtyZXR1cm59Zm9yKHZhciBpPTA7aTxsZW47aSsrKWRlc3RbZGVzdF9vZmZzK2ldPXNyY1tzcmNfb2ZmcytpXX0sZmxhdHRlbkNodW5rczpmdW5jdGlvbihjaHVua3Mpe3ZhciBpLGwsbGVuLHBvcyxjaHVuayxyZXN1bHQ7bGVuPTA7Zm9yKGk9MCxsPWNodW5rcy5sZW5ndGg7aTxsO2krKylsZW4rPWNodW5rc1tpXS5sZW5ndGg7cmVzdWx0PW5ldyBVaW50OEFycmF5KGxlbik7cG9zPTA7Zm9yKGk9MCxsPWNodW5rcy5sZW5ndGg7aTxsO2krKyl7Y2h1bms9Y2h1bmtzW2ldO3Jlc3VsdC5zZXQoY2h1bmsscG9zKTtwb3MrPWNodW5rLmxlbmd0aH1yZXR1cm4gcmVzdWx0fX07CnZhciBmblVudHlwZWQ9e2FycmF5U2V0OmZ1bmN0aW9uKGRlc3Qsc3JjLHNyY19vZmZzLGxlbixkZXN0X29mZnMpe2Zvcih2YXIgaT0wO2k8bGVuO2krKylkZXN0W2Rlc3Rfb2ZmcytpXT1zcmNbc3JjX29mZnMraV19LGZsYXR0ZW5DaHVua3M6ZnVuY3Rpb24oY2h1bmtzKXtyZXR1cm5bXS5jb25jYXQuYXBwbHkoW10sY2h1bmtzKX19O2V4cG9ydHMuc2V0VHlwZWQ9ZnVuY3Rpb24ob24pe2lmKG9uKXtleHBvcnRzLkJ1Zjg9VWludDhBcnJheTtleHBvcnRzLkJ1ZjE2PVVpbnQxNkFycmF5O2V4cG9ydHMuQnVmMzI9SW50MzJBcnJheTtleHBvcnRzLmFzc2lnbihleHBvcnRzLGZuVHlwZWQpfWVsc2V7ZXhwb3J0cy5CdWY4PUFycmF5O2V4cG9ydHMuQnVmMTY9QXJyYXk7ZXhwb3J0cy5CdWYzMj1BcnJheTtleHBvcnRzLmFzc2lnbihleHBvcnRzLGZuVW50eXBlZCl9fTtleHBvcnRzLnNldFR5cGVkKFRZUEVEX09LKX0se31dLDI4OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgdXRpbHM9Cl9kZXJlcV8oIi4vY29tbW9uIik7dmFyIFNUUl9BUFBMWV9PSz10cnVlO3ZhciBTVFJfQVBQTFlfVUlBX09LPXRydWU7dHJ5e1N0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxbMF0pfWNhdGNoKF9fKXtTVFJfQVBQTFlfT0s9ZmFsc2V9dHJ5e1N0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheSgxKSl9Y2F0Y2goX18pe1NUUl9BUFBMWV9VSUFfT0s9ZmFsc2V9dmFyIF91dGY4bGVuPW5ldyB1dGlscy5CdWY4KDI1Nik7Zm9yKHZhciBpPTA7aTwyNTY7aSsrKV91dGY4bGVuW2ldPWk+PTI1Mj82Omk+PTI0OD81Omk+PTI0MD80Omk+PTIyND8zOmk+PTE5Mj8yOjE7X3V0ZjhsZW5bMjU0XT1fdXRmOGxlblsyNTRdPTE7ZXhwb3J0cy5zdHJpbmcyYnVmPWZ1bmN0aW9uKHN0cil7dmFyIGJ1ZixjLGMyLG1fcG9zLGksc3RyX2xlbj1zdHIubGVuZ3RoLGJ1Zl9sZW49MDtmb3IobV9wb3M9MDttX3BvczxzdHJfbGVuO21fcG9zKyspe2M9c3RyLmNoYXJDb2RlQXQobV9wb3MpOwppZigoYyY2NDUxMik9PT01NTI5NiYmbV9wb3MrMTxzdHJfbGVuKXtjMj1zdHIuY2hhckNvZGVBdChtX3BvcysxKTtpZigoYzImNjQ1MTIpPT09NTYzMjApe2M9NjU1MzYrKGMtNTUyOTY8PDEwKSsoYzItNTYzMjApO21fcG9zKyt9fWJ1Zl9sZW4rPWM8MTI4PzE6YzwyMDQ4PzI6Yzw2NTUzNj8zOjR9YnVmPW5ldyB1dGlscy5CdWY4KGJ1Zl9sZW4pO2ZvcihpPTAsbV9wb3M9MDtpPGJ1Zl9sZW47bV9wb3MrKyl7Yz1zdHIuY2hhckNvZGVBdChtX3Bvcyk7aWYoKGMmNjQ1MTIpPT09NTUyOTYmJm1fcG9zKzE8c3RyX2xlbil7YzI9c3RyLmNoYXJDb2RlQXQobV9wb3MrMSk7aWYoKGMyJjY0NTEyKT09PTU2MzIwKXtjPTY1NTM2KyhjLTU1Mjk2PDwxMCkrKGMyLTU2MzIwKTttX3BvcysrfX1pZihjPDEyOClidWZbaSsrXT1jO2Vsc2UgaWYoYzwyMDQ4KXtidWZbaSsrXT0xOTJ8Yz4+PjY7YnVmW2krK109MTI4fGMmNjN9ZWxzZSBpZihjPDY1NTM2KXtidWZbaSsrXT0yMjR8Yz4+PjEyO2J1ZltpKytdPQoxMjh8Yz4+PjYmNjM7YnVmW2krK109MTI4fGMmNjN9ZWxzZXtidWZbaSsrXT0yNDB8Yz4+PjE4O2J1ZltpKytdPTEyOHxjPj4+MTImNjM7YnVmW2krK109MTI4fGM+Pj42JjYzO2J1ZltpKytdPTEyOHxjJjYzfX1yZXR1cm4gYnVmfTtmdW5jdGlvbiBidWYyYmluc3RyaW5nKGJ1ZixsZW4pe2lmKGxlbjw2NTUzNylpZihidWYuc3ViYXJyYXkmJlNUUl9BUFBMWV9VSUFfT0t8fCFidWYuc3ViYXJyYXkmJlNUUl9BUFBMWV9PSylyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHV0aWxzLnNocmlua0J1ZihidWYsbGVuKSk7dmFyIHJlc3VsdD0iIjtmb3IodmFyIGk9MDtpPGxlbjtpKyspcmVzdWx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSk7cmV0dXJuIHJlc3VsdH1leHBvcnRzLmJ1ZjJiaW5zdHJpbmc9ZnVuY3Rpb24oYnVmKXtyZXR1cm4gYnVmMmJpbnN0cmluZyhidWYsYnVmLmxlbmd0aCl9O2V4cG9ydHMuYmluc3RyaW5nMmJ1Zj1mdW5jdGlvbihzdHIpe3ZhciBidWY9Cm5ldyB1dGlscy5CdWY4KHN0ci5sZW5ndGgpO2Zvcih2YXIgaT0wLGxlbj1idWYubGVuZ3RoO2k8bGVuO2krKylidWZbaV09c3RyLmNoYXJDb2RlQXQoaSk7cmV0dXJuIGJ1Zn07ZXhwb3J0cy5idWYyc3RyaW5nPWZ1bmN0aW9uKGJ1ZixtYXgpe3ZhciBpLG91dCxjLGNfbGVuO3ZhciBsZW49bWF4fHxidWYubGVuZ3RoO3ZhciB1dGYxNmJ1Zj1uZXcgQXJyYXkobGVuKjIpO2ZvcihvdXQ9MCxpPTA7aTxsZW47KXtjPWJ1ZltpKytdO2lmKGM8MTI4KXt1dGYxNmJ1ZltvdXQrK109Yztjb250aW51ZX1jX2xlbj1fdXRmOGxlbltjXTtpZihjX2xlbj40KXt1dGYxNmJ1ZltvdXQrK109NjU1MzM7aSs9Y19sZW4tMTtjb250aW51ZX1jJj1jX2xlbj09PTI/MzE6Y19sZW49PT0zPzE1Ojc7d2hpbGUoY19sZW4+MSYmaTxsZW4pe2M9Yzw8NnxidWZbaSsrXSY2MztjX2xlbi0tfWlmKGNfbGVuPjEpe3V0ZjE2YnVmW291dCsrXT02NTUzMztjb250aW51ZX1pZihjPDY1NTM2KXV0ZjE2YnVmW291dCsrXT0KYztlbHNle2MtPTY1NTM2O3V0ZjE2YnVmW291dCsrXT01NTI5NnxjPj4xMCYxMDIzO3V0ZjE2YnVmW291dCsrXT01NjMyMHxjJjEwMjN9fXJldHVybiBidWYyYmluc3RyaW5nKHV0ZjE2YnVmLG91dCl9O2V4cG9ydHMudXRmOGJvcmRlcj1mdW5jdGlvbihidWYsbWF4KXt2YXIgcG9zO21heD1tYXh8fGJ1Zi5sZW5ndGg7aWYobWF4PmJ1Zi5sZW5ndGgpbWF4PWJ1Zi5sZW5ndGg7cG9zPW1heC0xO3doaWxlKHBvcz49MCYmKGJ1Zltwb3NdJjE5Mik9PT0xMjgpcG9zLS07aWYocG9zPDApcmV0dXJuIG1heDtpZihwb3M9PT0wKXJldHVybiBtYXg7cmV0dXJuIHBvcytfdXRmOGxlbltidWZbcG9zXV0+bWF4P3BvczptYXh9fSx7Ii4vY29tbW9uIjoyN31dLDI5OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtmdW5jdGlvbiBhZGxlcjMyKGFkbGVyLGJ1ZixsZW4scG9zKXt2YXIgczE9YWRsZXImNjU1MzV8MCxzMj1hZGxlcj4+PjE2JjY1NTM1fDAsbj0wO3doaWxlKGxlbiE9PTApe249Cmxlbj4yRTM/MkUzOmxlbjtsZW4tPW47ZG97czE9czErYnVmW3BvcysrXXwwO3MyPXMyK3MxfDB9d2hpbGUoLS1uKTtzMSU9NjU1MjE7czIlPTY1NTIxfXJldHVybiBzMXxzMjw8MTZ8MH1tb2R1bGUuZXhwb3J0cz1hZGxlcjMyfSx7fV0sMzA6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPXtaX05PX0ZMVVNIOjAsWl9QQVJUSUFMX0ZMVVNIOjEsWl9TWU5DX0ZMVVNIOjIsWl9GVUxMX0ZMVVNIOjMsWl9GSU5JU0g6NCxaX0JMT0NLOjUsWl9UUkVFUzo2LFpfT0s6MCxaX1NUUkVBTV9FTkQ6MSxaX05FRURfRElDVDoyLFpfRVJSTk86LTEsWl9TVFJFQU1fRVJST1I6LTIsWl9EQVRBX0VSUk9SOi0zLFpfQlVGX0VSUk9SOi01LFpfTk9fQ09NUFJFU1NJT046MCxaX0JFU1RfU1BFRUQ6MSxaX0JFU1RfQ09NUFJFU1NJT046OSxaX0RFRkFVTFRfQ09NUFJFU1NJT046LTEsWl9GSUxURVJFRDoxLFpfSFVGRk1BTl9PTkxZOjIsWl9STEU6MyxaX0ZJWEVEOjQsClpfREVGQVVMVF9TVFJBVEVHWTowLFpfQklOQVJZOjAsWl9URVhUOjEsWl9VTktOT1dOOjIsWl9ERUZMQVRFRDo4fX0se31dLDMxOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtmdW5jdGlvbiBtYWtlVGFibGUoKXt2YXIgYyx0YWJsZT1bXTtmb3IodmFyIG49MDtuPDI1NjtuKyspe2M9bjtmb3IodmFyIGs9MDtrPDg7aysrKWM9YyYxPzM5ODgyOTIzODReYz4+PjE6Yz4+PjE7dGFibGVbbl09Y31yZXR1cm4gdGFibGV9dmFyIGNyY1RhYmxlPW1ha2VUYWJsZSgpO2Z1bmN0aW9uIGNyYzMyKGNyYyxidWYsbGVuLHBvcyl7dmFyIHQ9Y3JjVGFibGUsZW5kPXBvcytsZW47Y3JjPWNyY14tMTtmb3IodmFyIGk9cG9zO2k8ZW5kO2krKyljcmM9Y3JjPj4+OF50WyhjcmNeYnVmW2ldKSYyNTVdO3JldHVybiBjcmNeLTF9bW9kdWxlLmV4cG9ydHM9Y3JjMzJ9LHt9XSwzMjpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIHV0aWxzPV9kZXJlcV8oIi4uL3V0aWxzL2NvbW1vbiIpOwp2YXIgdHJlZXM9X2RlcmVxXygiLi90cmVlcyIpO3ZhciBhZGxlcjMyPV9kZXJlcV8oIi4vYWRsZXIzMiIpO3ZhciBjcmMzMj1fZGVyZXFfKCIuL2NyYzMyIik7dmFyIG1zZz1fZGVyZXFfKCIuL21lc3NhZ2VzIik7dmFyIFpfTk9fRkxVU0g9MDt2YXIgWl9QQVJUSUFMX0ZMVVNIPTE7dmFyIFpfRlVMTF9GTFVTSD0zO3ZhciBaX0ZJTklTSD00O3ZhciBaX0JMT0NLPTU7dmFyIFpfT0s9MDt2YXIgWl9TVFJFQU1fRU5EPTE7dmFyIFpfU1RSRUFNX0VSUk9SPS0yO3ZhciBaX0RBVEFfRVJST1I9LTM7dmFyIFpfQlVGX0VSUk9SPS01O3ZhciBaX0RFRkFVTFRfQ09NUFJFU1NJT049LTE7dmFyIFpfRklMVEVSRUQ9MTt2YXIgWl9IVUZGTUFOX09OTFk9Mjt2YXIgWl9STEU9Mzt2YXIgWl9GSVhFRD00O3ZhciBaX0RFRkFVTFRfU1RSQVRFR1k9MDt2YXIgWl9VTktOT1dOPTI7dmFyIFpfREVGTEFURUQ9ODt2YXIgTUFYX01FTV9MRVZFTD05O3ZhciBNQVhfV0JJVFM9MTU7dmFyIERFRl9NRU1fTEVWRUw9Cjg7dmFyIExFTkdUSF9DT0RFUz0yOTt2YXIgTElURVJBTFM9MjU2O3ZhciBMX0NPREVTPUxJVEVSQUxTKzErTEVOR1RIX0NPREVTO3ZhciBEX0NPREVTPTMwO3ZhciBCTF9DT0RFUz0xOTt2YXIgSEVBUF9TSVpFPTIqTF9DT0RFUysxO3ZhciBNQVhfQklUUz0xNTt2YXIgTUlOX01BVENIPTM7dmFyIE1BWF9NQVRDSD0yNTg7dmFyIE1JTl9MT09LQUhFQUQ9TUFYX01BVENIK01JTl9NQVRDSCsxO3ZhciBQUkVTRVRfRElDVD0zMjt2YXIgSU5JVF9TVEFURT00Mjt2YXIgRVhUUkFfU1RBVEU9Njk7dmFyIE5BTUVfU1RBVEU9NzM7dmFyIENPTU1FTlRfU1RBVEU9OTE7dmFyIEhDUkNfU1RBVEU9MTAzO3ZhciBCVVNZX1NUQVRFPTExMzt2YXIgRklOSVNIX1NUQVRFPTY2Njt2YXIgQlNfTkVFRF9NT1JFPTE7dmFyIEJTX0JMT0NLX0RPTkU9Mjt2YXIgQlNfRklOSVNIX1NUQVJURUQ9Mzt2YXIgQlNfRklOSVNIX0RPTkU9NDt2YXIgT1NfQ09ERT0zO2Z1bmN0aW9uIGVycihzdHJtLGVycm9yQ29kZSl7c3RybS5tc2c9Cm1zZ1tlcnJvckNvZGVdO3JldHVybiBlcnJvckNvZGV9ZnVuY3Rpb24gcmFuayhmKXtyZXR1cm4oZjw8MSktKGY+ND85OjApfWZ1bmN0aW9uIHplcm8oYnVmKXt2YXIgbGVuPWJ1Zi5sZW5ndGg7d2hpbGUoLS1sZW4+PTApYnVmW2xlbl09MH1mdW5jdGlvbiBmbHVzaF9wZW5kaW5nKHN0cm0pe3ZhciBzPXN0cm0uc3RhdGU7dmFyIGxlbj1zLnBlbmRpbmc7aWYobGVuPnN0cm0uYXZhaWxfb3V0KWxlbj1zdHJtLmF2YWlsX291dDtpZihsZW49PT0wKXJldHVybjt1dGlscy5hcnJheVNldChzdHJtLm91dHB1dCxzLnBlbmRpbmdfYnVmLHMucGVuZGluZ19vdXQsbGVuLHN0cm0ubmV4dF9vdXQpO3N0cm0ubmV4dF9vdXQrPWxlbjtzLnBlbmRpbmdfb3V0Kz1sZW47c3RybS50b3RhbF9vdXQrPWxlbjtzdHJtLmF2YWlsX291dC09bGVuO3MucGVuZGluZy09bGVuO2lmKHMucGVuZGluZz09PTApcy5wZW5kaW5nX291dD0wfWZ1bmN0aW9uIGZsdXNoX2Jsb2NrX29ubHkocyxsYXN0KXt0cmVlcy5fdHJfZmx1c2hfYmxvY2socywKcy5ibG9ja19zdGFydD49MD9zLmJsb2NrX3N0YXJ0Oi0xLHMuc3Ryc3RhcnQtcy5ibG9ja19zdGFydCxsYXN0KTtzLmJsb2NrX3N0YXJ0PXMuc3Ryc3RhcnQ7Zmx1c2hfcGVuZGluZyhzLnN0cm0pfWZ1bmN0aW9uIHB1dF9ieXRlKHMsYil7cy5wZW5kaW5nX2J1ZltzLnBlbmRpbmcrK109Yn1mdW5jdGlvbiBwdXRTaG9ydE1TQihzLGIpe3MucGVuZGluZ19idWZbcy5wZW5kaW5nKytdPWI+Pj44JjI1NTtzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXT1iJjI1NX1mdW5jdGlvbiByZWFkX2J1ZihzdHJtLGJ1ZixzdGFydCxzaXplKXt2YXIgbGVuPXN0cm0uYXZhaWxfaW47aWYobGVuPnNpemUpbGVuPXNpemU7aWYobGVuPT09MClyZXR1cm4gMDtzdHJtLmF2YWlsX2luLT1sZW47dXRpbHMuYXJyYXlTZXQoYnVmLHN0cm0uaW5wdXQsc3RybS5uZXh0X2luLGxlbixzdGFydCk7aWYoc3RybS5zdGF0ZS53cmFwPT09MSlzdHJtLmFkbGVyPWFkbGVyMzIoc3RybS5hZGxlcixidWYsbGVuLHN0YXJ0KTsKZWxzZSBpZihzdHJtLnN0YXRlLndyYXA9PT0yKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixidWYsbGVuLHN0YXJ0KTtzdHJtLm5leHRfaW4rPWxlbjtzdHJtLnRvdGFsX2luKz1sZW47cmV0dXJuIGxlbn1mdW5jdGlvbiBsb25nZXN0X21hdGNoKHMsY3VyX21hdGNoKXt2YXIgY2hhaW5fbGVuZ3RoPXMubWF4X2NoYWluX2xlbmd0aDt2YXIgc2Nhbj1zLnN0cnN0YXJ0O3ZhciBtYXRjaDt2YXIgbGVuO3ZhciBiZXN0X2xlbj1zLnByZXZfbGVuZ3RoO3ZhciBuaWNlX21hdGNoPXMubmljZV9tYXRjaDt2YXIgbGltaXQ9cy5zdHJzdGFydD5zLndfc2l6ZS1NSU5fTE9PS0FIRUFEP3Muc3Ryc3RhcnQtKHMud19zaXplLU1JTl9MT09LQUhFQUQpOjA7dmFyIF93aW49cy53aW5kb3c7dmFyIHdtYXNrPXMud19tYXNrO3ZhciBwcmV2PXMucHJldjt2YXIgc3RyZW5kPXMuc3Ryc3RhcnQrTUFYX01BVENIO3ZhciBzY2FuX2VuZDE9X3dpbltzY2FuK2Jlc3RfbGVuLTFdO3ZhciBzY2FuX2VuZD1fd2luW3NjYW4rCmJlc3RfbGVuXTtpZihzLnByZXZfbGVuZ3RoPj1zLmdvb2RfbWF0Y2gpY2hhaW5fbGVuZ3RoPj49MjtpZihuaWNlX21hdGNoPnMubG9va2FoZWFkKW5pY2VfbWF0Y2g9cy5sb29rYWhlYWQ7ZG97bWF0Y2g9Y3VyX21hdGNoO2lmKF93aW5bbWF0Y2grYmVzdF9sZW5dIT09c2Nhbl9lbmR8fF93aW5bbWF0Y2grYmVzdF9sZW4tMV0hPT1zY2FuX2VuZDF8fF93aW5bbWF0Y2hdIT09X3dpbltzY2FuXXx8X3dpblsrK21hdGNoXSE9PV93aW5bc2NhbisxXSljb250aW51ZTtzY2FuKz0yO21hdGNoKys7ZG87d2hpbGUoX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09X3dpblsrK21hdGNoXSYmX3dpblsrK3NjYW5dPT09Cl93aW5bKyttYXRjaF0mJnNjYW48c3RyZW5kKTtsZW49TUFYX01BVENILShzdHJlbmQtc2Nhbik7c2Nhbj1zdHJlbmQtTUFYX01BVENIO2lmKGxlbj5iZXN0X2xlbil7cy5tYXRjaF9zdGFydD1jdXJfbWF0Y2g7YmVzdF9sZW49bGVuO2lmKGxlbj49bmljZV9tYXRjaClicmVhaztzY2FuX2VuZDE9X3dpbltzY2FuK2Jlc3RfbGVuLTFdO3NjYW5fZW5kPV93aW5bc2NhbitiZXN0X2xlbl19fXdoaWxlKChjdXJfbWF0Y2g9cHJldltjdXJfbWF0Y2gmd21hc2tdKT5saW1pdCYmLS1jaGFpbl9sZW5ndGghPT0wKTtpZihiZXN0X2xlbjw9cy5sb29rYWhlYWQpcmV0dXJuIGJlc3RfbGVuO3JldHVybiBzLmxvb2thaGVhZH1mdW5jdGlvbiBmaWxsX3dpbmRvdyhzKXt2YXIgX3dfc2l6ZT1zLndfc2l6ZTt2YXIgcCxuLG0sbW9yZSxzdHI7ZG97bW9yZT1zLndpbmRvd19zaXplLXMubG9va2FoZWFkLXMuc3Ryc3RhcnQ7aWYocy5zdHJzdGFydD49X3dfc2l6ZSsoX3dfc2l6ZS1NSU5fTE9PS0FIRUFEKSl7dXRpbHMuYXJyYXlTZXQocy53aW5kb3csCnMud2luZG93LF93X3NpemUsX3dfc2l6ZSwwKTtzLm1hdGNoX3N0YXJ0LT1fd19zaXplO3Muc3Ryc3RhcnQtPV93X3NpemU7cy5ibG9ja19zdGFydC09X3dfc2l6ZTtuPXMuaGFzaF9zaXplO3A9bjtkb3ttPXMuaGVhZFstLXBdO3MuaGVhZFtwXT1tPj1fd19zaXplP20tX3dfc2l6ZTowfXdoaWxlKC0tbik7bj1fd19zaXplO3A9bjtkb3ttPXMucHJldlstLXBdO3MucHJldltwXT1tPj1fd19zaXplP20tX3dfc2l6ZTowfXdoaWxlKC0tbik7bW9yZSs9X3dfc2l6ZX1pZihzLnN0cm0uYXZhaWxfaW49PT0wKWJyZWFrO249cmVhZF9idWYocy5zdHJtLHMud2luZG93LHMuc3Ryc3RhcnQrcy5sb29rYWhlYWQsbW9yZSk7cy5sb29rYWhlYWQrPW47aWYocy5sb29rYWhlYWQrcy5pbnNlcnQ+PU1JTl9NQVRDSCl7c3RyPXMuc3Ryc3RhcnQtcy5pbnNlcnQ7cy5pbnNfaD1zLndpbmRvd1tzdHJdO3MuaW5zX2g9KHMuaW5zX2g8PHMuaGFzaF9zaGlmdF5zLndpbmRvd1tzdHIrMV0pJnMuaGFzaF9tYXNrOwp3aGlsZShzLmluc2VydCl7cy5pbnNfaD0ocy5pbnNfaDw8cy5oYXNoX3NoaWZ0XnMud2luZG93W3N0citNSU5fTUFUQ0gtMV0pJnMuaGFzaF9tYXNrO3MucHJldltzdHImcy53X21hc2tdPXMuaGVhZFtzLmluc19oXTtzLmhlYWRbcy5pbnNfaF09c3RyO3N0cisrO3MuaW5zZXJ0LS07aWYocy5sb29rYWhlYWQrcy5pbnNlcnQ8TUlOX01BVENIKWJyZWFrfX19d2hpbGUocy5sb29rYWhlYWQ8TUlOX0xPT0tBSEVBRCYmcy5zdHJtLmF2YWlsX2luIT09MCl9ZnVuY3Rpb24gZGVmbGF0ZV9zdG9yZWQocyxmbHVzaCl7dmFyIG1heF9ibG9ja19zaXplPTY1NTM1O2lmKG1heF9ibG9ja19zaXplPnMucGVuZGluZ19idWZfc2l6ZS01KW1heF9ibG9ja19zaXplPXMucGVuZGluZ19idWZfc2l6ZS01O2Zvcig7Oyl7aWYocy5sb29rYWhlYWQ8PTEpe2ZpbGxfd2luZG93KHMpO2lmKHMubG9va2FoZWFkPT09MCYmZmx1c2g9PT1aX05PX0ZMVVNIKXJldHVybiBCU19ORUVEX01PUkU7aWYocy5sb29rYWhlYWQ9PT0KMClicmVha31zLnN0cnN0YXJ0Kz1zLmxvb2thaGVhZDtzLmxvb2thaGVhZD0wO3ZhciBtYXhfc3RhcnQ9cy5ibG9ja19zdGFydCttYXhfYmxvY2tfc2l6ZTtpZihzLnN0cnN0YXJ0PT09MHx8cy5zdHJzdGFydD49bWF4X3N0YXJ0KXtzLmxvb2thaGVhZD1zLnN0cnN0YXJ0LW1heF9zdGFydDtzLnN0cnN0YXJ0PW1heF9zdGFydDtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9aWYocy5zdHJzdGFydC1zLmJsb2NrX3N0YXJ0Pj1zLndfc2l6ZS1NSU5fTE9PS0FIRUFEKXtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9fXMuaW5zZXJ0PTA7aWYoZmx1c2g9PT1aX0ZJTklTSCl7Zmx1c2hfYmxvY2tfb25seShzLHRydWUpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19GSU5JU0hfU1RBUlRFRDtyZXR1cm4gQlNfRklOSVNIX0RPTkV9aWYocy5zdHJzdGFydD4Kcy5ibG9ja19zdGFydCl7Zmx1c2hfYmxvY2tfb25seShzLGZhbHNlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfTkVFRF9NT1JFfXJldHVybiBCU19ORUVEX01PUkV9ZnVuY3Rpb24gZGVmbGF0ZV9mYXN0KHMsZmx1c2gpe3ZhciBoYXNoX2hlYWQ7dmFyIGJmbHVzaDtmb3IoOzspe2lmKHMubG9va2FoZWFkPE1JTl9MT09LQUhFQUQpe2ZpbGxfd2luZG93KHMpO2lmKHMubG9va2FoZWFkPE1JTl9MT09LQUhFQUQmJmZsdXNoPT09Wl9OT19GTFVTSClyZXR1cm4gQlNfTkVFRF9NT1JFO2lmKHMubG9va2FoZWFkPT09MClicmVha31oYXNoX2hlYWQ9MDtpZihzLmxvb2thaGVhZD49TUlOX01BVENIKXtzLmluc19oPShzLmluc19oPDxzLmhhc2hfc2hpZnRecy53aW5kb3dbcy5zdHJzdGFydCtNSU5fTUFUQ0gtMV0pJnMuaGFzaF9tYXNrO2hhc2hfaGVhZD1zLnByZXZbcy5zdHJzdGFydCZzLndfbWFza109cy5oZWFkW3MuaW5zX2hdO3MuaGVhZFtzLmluc19oXT1zLnN0cnN0YXJ0fWlmKGhhc2hfaGVhZCE9PQowJiZzLnN0cnN0YXJ0LWhhc2hfaGVhZDw9cy53X3NpemUtTUlOX0xPT0tBSEVBRClzLm1hdGNoX2xlbmd0aD1sb25nZXN0X21hdGNoKHMsaGFzaF9oZWFkKTtpZihzLm1hdGNoX2xlbmd0aD49TUlOX01BVENIKXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMscy5zdHJzdGFydC1zLm1hdGNoX3N0YXJ0LHMubWF0Y2hfbGVuZ3RoLU1JTl9NQVRDSCk7cy5sb29rYWhlYWQtPXMubWF0Y2hfbGVuZ3RoO2lmKHMubWF0Y2hfbGVuZ3RoPD1zLm1heF9sYXp5X21hdGNoJiZzLmxvb2thaGVhZD49TUlOX01BVENIKXtzLm1hdGNoX2xlbmd0aC0tO2Rve3Muc3Ryc3RhcnQrKztzLmluc19oPShzLmluc19oPDxzLmhhc2hfc2hpZnRecy53aW5kb3dbcy5zdHJzdGFydCtNSU5fTUFUQ0gtMV0pJnMuaGFzaF9tYXNrO2hhc2hfaGVhZD1zLnByZXZbcy5zdHJzdGFydCZzLndfbWFza109cy5oZWFkW3MuaW5zX2hdO3MuaGVhZFtzLmluc19oXT1zLnN0cnN0YXJ0fXdoaWxlKC0tcy5tYXRjaF9sZW5ndGghPT0KMCk7cy5zdHJzdGFydCsrfWVsc2V7cy5zdHJzdGFydCs9cy5tYXRjaF9sZW5ndGg7cy5tYXRjaF9sZW5ndGg9MDtzLmluc19oPXMud2luZG93W3Muc3Ryc3RhcnRdO3MuaW5zX2g9KHMuaW5zX2g8PHMuaGFzaF9zaGlmdF5zLndpbmRvd1tzLnN0cnN0YXJ0KzFdKSZzLmhhc2hfbWFza319ZWxzZXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0XSk7cy5sb29rYWhlYWQtLTtzLnN0cnN0YXJ0Kyt9aWYoYmZsdXNoKXtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9fXMuaW5zZXJ0PXMuc3Ryc3RhcnQ8TUlOX01BVENILTE/cy5zdHJzdGFydDpNSU5fTUFUQ0gtMTtpZihmbHVzaD09PVpfRklOSVNIKXtmbHVzaF9ibG9ja19vbmx5KHMsdHJ1ZSk7aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX0ZJTklTSF9TVEFSVEVEO3JldHVybiBCU19GSU5JU0hfRE9ORX1pZihzLmxhc3RfbGl0KXtmbHVzaF9ibG9ja19vbmx5KHMsCmZhbHNlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfTkVFRF9NT1JFfXJldHVybiBCU19CTE9DS19ET05FfWZ1bmN0aW9uIGRlZmxhdGVfc2xvdyhzLGZsdXNoKXt2YXIgaGFzaF9oZWFkO3ZhciBiZmx1c2g7dmFyIG1heF9pbnNlcnQ7Zm9yKDs7KXtpZihzLmxvb2thaGVhZDxNSU5fTE9PS0FIRUFEKXtmaWxsX3dpbmRvdyhzKTtpZihzLmxvb2thaGVhZDxNSU5fTE9PS0FIRUFEJiZmbHVzaD09PVpfTk9fRkxVU0gpcmV0dXJuIEJTX05FRURfTU9SRTtpZihzLmxvb2thaGVhZD09PTApYnJlYWt9aGFzaF9oZWFkPTA7aWYocy5sb29rYWhlYWQ+PU1JTl9NQVRDSCl7cy5pbnNfaD0ocy5pbnNfaDw8cy5oYXNoX3NoaWZ0XnMud2luZG93W3Muc3Ryc3RhcnQrTUlOX01BVENILTFdKSZzLmhhc2hfbWFzaztoYXNoX2hlYWQ9cy5wcmV2W3Muc3Ryc3RhcnQmcy53X21hc2tdPXMuaGVhZFtzLmluc19oXTtzLmhlYWRbcy5pbnNfaF09cy5zdHJzdGFydH1zLnByZXZfbGVuZ3RoPQpzLm1hdGNoX2xlbmd0aDtzLnByZXZfbWF0Y2g9cy5tYXRjaF9zdGFydDtzLm1hdGNoX2xlbmd0aD1NSU5fTUFUQ0gtMTtpZihoYXNoX2hlYWQhPT0wJiZzLnByZXZfbGVuZ3RoPHMubWF4X2xhenlfbWF0Y2gmJnMuc3Ryc3RhcnQtaGFzaF9oZWFkPD1zLndfc2l6ZS1NSU5fTE9PS0FIRUFEKXtzLm1hdGNoX2xlbmd0aD1sb25nZXN0X21hdGNoKHMsaGFzaF9oZWFkKTtpZihzLm1hdGNoX2xlbmd0aDw9NSYmKHMuc3RyYXRlZ3k9PT1aX0ZJTFRFUkVEfHxzLm1hdGNoX2xlbmd0aD09PU1JTl9NQVRDSCYmcy5zdHJzdGFydC1zLm1hdGNoX3N0YXJ0PjQwOTYpKXMubWF0Y2hfbGVuZ3RoPU1JTl9NQVRDSC0xfWlmKHMucHJldl9sZW5ndGg+PU1JTl9NQVRDSCYmcy5tYXRjaF9sZW5ndGg8PXMucHJldl9sZW5ndGgpe21heF9pbnNlcnQ9cy5zdHJzdGFydCtzLmxvb2thaGVhZC1NSU5fTUFUQ0g7YmZsdXNoPXRyZWVzLl90cl90YWxseShzLHMuc3Ryc3RhcnQtMS1zLnByZXZfbWF0Y2gscy5wcmV2X2xlbmd0aC0KTUlOX01BVENIKTtzLmxvb2thaGVhZC09cy5wcmV2X2xlbmd0aC0xO3MucHJldl9sZW5ndGgtPTI7ZG8gaWYoKytzLnN0cnN0YXJ0PD1tYXhfaW5zZXJ0KXtzLmluc19oPShzLmluc19oPDxzLmhhc2hfc2hpZnRecy53aW5kb3dbcy5zdHJzdGFydCtNSU5fTUFUQ0gtMV0pJnMuaGFzaF9tYXNrO2hhc2hfaGVhZD1zLnByZXZbcy5zdHJzdGFydCZzLndfbWFza109cy5oZWFkW3MuaW5zX2hdO3MuaGVhZFtzLmluc19oXT1zLnN0cnN0YXJ0fXdoaWxlKC0tcy5wcmV2X2xlbmd0aCE9PTApO3MubWF0Y2hfYXZhaWxhYmxlPTA7cy5tYXRjaF9sZW5ndGg9TUlOX01BVENILTE7cy5zdHJzdGFydCsrO2lmKGJmbHVzaCl7Zmx1c2hfYmxvY2tfb25seShzLGZhbHNlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfTkVFRF9NT1JFfX1lbHNlIGlmKHMubWF0Y2hfYXZhaWxhYmxlKXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0LTFdKTtpZihiZmx1c2gpZmx1c2hfYmxvY2tfb25seShzLApmYWxzZSk7cy5zdHJzdGFydCsrO3MubG9va2FoZWFkLS07aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX05FRURfTU9SRX1lbHNle3MubWF0Y2hfYXZhaWxhYmxlPTE7cy5zdHJzdGFydCsrO3MubG9va2FoZWFkLS19fWlmKHMubWF0Y2hfYXZhaWxhYmxlKXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0LTFdKTtzLm1hdGNoX2F2YWlsYWJsZT0wfXMuaW5zZXJ0PXMuc3Ryc3RhcnQ8TUlOX01BVENILTE/cy5zdHJzdGFydDpNSU5fTUFUQ0gtMTtpZihmbHVzaD09PVpfRklOSVNIKXtmbHVzaF9ibG9ja19vbmx5KHMsdHJ1ZSk7aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX0ZJTklTSF9TVEFSVEVEO3JldHVybiBCU19GSU5JU0hfRE9ORX1pZihzLmxhc3RfbGl0KXtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9cmV0dXJuIEJTX0JMT0NLX0RPTkV9CmZ1bmN0aW9uIGRlZmxhdGVfcmxlKHMsZmx1c2gpe3ZhciBiZmx1c2g7dmFyIHByZXY7dmFyIHNjYW4sc3RyZW5kO3ZhciBfd2luPXMud2luZG93O2Zvcig7Oyl7aWYocy5sb29rYWhlYWQ8PU1BWF9NQVRDSCl7ZmlsbF93aW5kb3cocyk7aWYocy5sb29rYWhlYWQ8PU1BWF9NQVRDSCYmZmx1c2g9PT1aX05PX0ZMVVNIKXJldHVybiBCU19ORUVEX01PUkU7aWYocy5sb29rYWhlYWQ9PT0wKWJyZWFrfXMubWF0Y2hfbGVuZ3RoPTA7aWYocy5sb29rYWhlYWQ+PU1JTl9NQVRDSCYmcy5zdHJzdGFydD4wKXtzY2FuPXMuc3Ryc3RhcnQtMTtwcmV2PV93aW5bc2Nhbl07aWYocHJldj09PV93aW5bKytzY2FuXSYmcHJldj09PV93aW5bKytzY2FuXSYmcHJldj09PV93aW5bKytzY2FuXSl7c3RyZW5kPXMuc3Ryc3RhcnQrTUFYX01BVENIO2RvO3doaWxlKHByZXY9PT1fd2luWysrc2Nhbl0mJnByZXY9PT1fd2luWysrc2Nhbl0mJnByZXY9PT1fd2luWysrc2Nhbl0mJnByZXY9PT1fd2luWysrc2Nhbl0mJgpwcmV2PT09X3dpblsrK3NjYW5dJiZwcmV2PT09X3dpblsrK3NjYW5dJiZwcmV2PT09X3dpblsrK3NjYW5dJiZwcmV2PT09X3dpblsrK3NjYW5dJiZzY2FuPHN0cmVuZCk7cy5tYXRjaF9sZW5ndGg9TUFYX01BVENILShzdHJlbmQtc2Nhbik7aWYocy5tYXRjaF9sZW5ndGg+cy5sb29rYWhlYWQpcy5tYXRjaF9sZW5ndGg9cy5sb29rYWhlYWR9fWlmKHMubWF0Y2hfbGVuZ3RoPj1NSU5fTUFUQ0gpe2JmbHVzaD10cmVlcy5fdHJfdGFsbHkocywxLHMubWF0Y2hfbGVuZ3RoLU1JTl9NQVRDSCk7cy5sb29rYWhlYWQtPXMubWF0Y2hfbGVuZ3RoO3Muc3Ryc3RhcnQrPXMubWF0Y2hfbGVuZ3RoO3MubWF0Y2hfbGVuZ3RoPTB9ZWxzZXtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0XSk7cy5sb29rYWhlYWQtLTtzLnN0cnN0YXJ0Kyt9aWYoYmZsdXNoKXtmbHVzaF9ibG9ja19vbmx5KHMsZmFsc2UpO2lmKHMuc3RybS5hdmFpbF9vdXQ9PT0wKXJldHVybiBCU19ORUVEX01PUkV9fXMuaW5zZXJ0PQowO2lmKGZsdXNoPT09Wl9GSU5JU0gpe2ZsdXNoX2Jsb2NrX29ubHkocyx0cnVlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfRklOSVNIX1NUQVJURUQ7cmV0dXJuIEJTX0ZJTklTSF9ET05FfWlmKHMubGFzdF9saXQpe2ZsdXNoX2Jsb2NrX29ubHkocyxmYWxzZSk7aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX05FRURfTU9SRX1yZXR1cm4gQlNfQkxPQ0tfRE9ORX1mdW5jdGlvbiBkZWZsYXRlX2h1ZmYocyxmbHVzaCl7dmFyIGJmbHVzaDtmb3IoOzspe2lmKHMubG9va2FoZWFkPT09MCl7ZmlsbF93aW5kb3cocyk7aWYocy5sb29rYWhlYWQ9PT0wKXtpZihmbHVzaD09PVpfTk9fRkxVU0gpcmV0dXJuIEJTX05FRURfTU9SRTticmVha319cy5tYXRjaF9sZW5ndGg9MDtiZmx1c2g9dHJlZXMuX3RyX3RhbGx5KHMsMCxzLndpbmRvd1tzLnN0cnN0YXJ0XSk7cy5sb29rYWhlYWQtLTtzLnN0cnN0YXJ0Kys7aWYoYmZsdXNoKXtmbHVzaF9ibG9ja19vbmx5KHMsCmZhbHNlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfTkVFRF9NT1JFfX1zLmluc2VydD0wO2lmKGZsdXNoPT09Wl9GSU5JU0gpe2ZsdXNoX2Jsb2NrX29ubHkocyx0cnVlKTtpZihzLnN0cm0uYXZhaWxfb3V0PT09MClyZXR1cm4gQlNfRklOSVNIX1NUQVJURUQ7cmV0dXJuIEJTX0ZJTklTSF9ET05FfWlmKHMubGFzdF9saXQpe2ZsdXNoX2Jsb2NrX29ubHkocyxmYWxzZSk7aWYocy5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIEJTX05FRURfTU9SRX1yZXR1cm4gQlNfQkxPQ0tfRE9ORX12YXIgQ29uZmlnPWZ1bmN0aW9uKGdvb2RfbGVuZ3RoLG1heF9sYXp5LG5pY2VfbGVuZ3RoLG1heF9jaGFpbixmdW5jKXt0aGlzLmdvb2RfbGVuZ3RoPWdvb2RfbGVuZ3RoO3RoaXMubWF4X2xhenk9bWF4X2xhenk7dGhpcy5uaWNlX2xlbmd0aD1uaWNlX2xlbmd0aDt0aGlzLm1heF9jaGFpbj1tYXhfY2hhaW47dGhpcy5mdW5jPWZ1bmN9O3ZhciBjb25maWd1cmF0aW9uX3RhYmxlOwpjb25maWd1cmF0aW9uX3RhYmxlPVtuZXcgQ29uZmlnKDAsMCwwLDAsZGVmbGF0ZV9zdG9yZWQpLG5ldyBDb25maWcoNCw0LDgsNCxkZWZsYXRlX2Zhc3QpLG5ldyBDb25maWcoNCw1LDE2LDgsZGVmbGF0ZV9mYXN0KSxuZXcgQ29uZmlnKDQsNiwzMiwzMixkZWZsYXRlX2Zhc3QpLG5ldyBDb25maWcoNCw0LDE2LDE2LGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZyg4LDE2LDMyLDMyLGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZyg4LDE2LDEyOCwxMjgsZGVmbGF0ZV9zbG93KSxuZXcgQ29uZmlnKDgsMzIsMTI4LDI1NixkZWZsYXRlX3Nsb3cpLG5ldyBDb25maWcoMzIsMTI4LDI1OCwxMDI0LGRlZmxhdGVfc2xvdyksbmV3IENvbmZpZygzMiwyNTgsMjU4LDQwOTYsZGVmbGF0ZV9zbG93KV07ZnVuY3Rpb24gbG1faW5pdChzKXtzLndpbmRvd19zaXplPTIqcy53X3NpemU7emVybyhzLmhlYWQpO3MubWF4X2xhenlfbWF0Y2g9Y29uZmlndXJhdGlvbl90YWJsZVtzLmxldmVsXS5tYXhfbGF6eTsKcy5nb29kX21hdGNoPWNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0uZ29vZF9sZW5ndGg7cy5uaWNlX21hdGNoPWNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0ubmljZV9sZW5ndGg7cy5tYXhfY2hhaW5fbGVuZ3RoPWNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0ubWF4X2NoYWluO3Muc3Ryc3RhcnQ9MDtzLmJsb2NrX3N0YXJ0PTA7cy5sb29rYWhlYWQ9MDtzLmluc2VydD0wO3MubWF0Y2hfbGVuZ3RoPXMucHJldl9sZW5ndGg9TUlOX01BVENILTE7cy5tYXRjaF9hdmFpbGFibGU9MDtzLmluc19oPTB9ZnVuY3Rpb24gRGVmbGF0ZVN0YXRlKCl7dGhpcy5zdHJtPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLnBlbmRpbmdfYnVmPW51bGw7dGhpcy5wZW5kaW5nX2J1Zl9zaXplPTA7dGhpcy5wZW5kaW5nX291dD0wO3RoaXMucGVuZGluZz0wO3RoaXMud3JhcD0wO3RoaXMuZ3poZWFkPW51bGw7dGhpcy5nemluZGV4PTA7dGhpcy5tZXRob2Q9Wl9ERUZMQVRFRDt0aGlzLmxhc3RfZmx1c2g9Ci0xO3RoaXMud19zaXplPTA7dGhpcy53X2JpdHM9MDt0aGlzLndfbWFzaz0wO3RoaXMud2luZG93PW51bGw7dGhpcy53aW5kb3dfc2l6ZT0wO3RoaXMucHJldj1udWxsO3RoaXMuaGVhZD1udWxsO3RoaXMuaW5zX2g9MDt0aGlzLmhhc2hfc2l6ZT0wO3RoaXMuaGFzaF9iaXRzPTA7dGhpcy5oYXNoX21hc2s9MDt0aGlzLmhhc2hfc2hpZnQ9MDt0aGlzLmJsb2NrX3N0YXJ0PTA7dGhpcy5tYXRjaF9sZW5ndGg9MDt0aGlzLnByZXZfbWF0Y2g9MDt0aGlzLm1hdGNoX2F2YWlsYWJsZT0wO3RoaXMuc3Ryc3RhcnQ9MDt0aGlzLm1hdGNoX3N0YXJ0PTA7dGhpcy5sb29rYWhlYWQ9MDt0aGlzLnByZXZfbGVuZ3RoPTA7dGhpcy5tYXhfY2hhaW5fbGVuZ3RoPTA7dGhpcy5tYXhfbGF6eV9tYXRjaD0wO3RoaXMubGV2ZWw9MDt0aGlzLnN0cmF0ZWd5PTA7dGhpcy5nb29kX21hdGNoPTA7dGhpcy5uaWNlX21hdGNoPTA7dGhpcy5keW5fbHRyZWU9bmV3IHV0aWxzLkJ1ZjE2KEhFQVBfU0laRSoyKTt0aGlzLmR5bl9kdHJlZT0KbmV3IHV0aWxzLkJ1ZjE2KCgyKkRfQ09ERVMrMSkqMik7dGhpcy5ibF90cmVlPW5ldyB1dGlscy5CdWYxNigoMipCTF9DT0RFUysxKSoyKTt6ZXJvKHRoaXMuZHluX2x0cmVlKTt6ZXJvKHRoaXMuZHluX2R0cmVlKTt6ZXJvKHRoaXMuYmxfdHJlZSk7dGhpcy5sX2Rlc2M9bnVsbDt0aGlzLmRfZGVzYz1udWxsO3RoaXMuYmxfZGVzYz1udWxsO3RoaXMuYmxfY291bnQ9bmV3IHV0aWxzLkJ1ZjE2KE1BWF9CSVRTKzEpO3RoaXMuaGVhcD1uZXcgdXRpbHMuQnVmMTYoMipMX0NPREVTKzEpO3plcm8odGhpcy5oZWFwKTt0aGlzLmhlYXBfbGVuPTA7dGhpcy5oZWFwX21heD0wO3RoaXMuZGVwdGg9bmV3IHV0aWxzLkJ1ZjE2KDIqTF9DT0RFUysxKTt6ZXJvKHRoaXMuZGVwdGgpO3RoaXMubF9idWY9MDt0aGlzLmxpdF9idWZzaXplPTA7dGhpcy5sYXN0X2xpdD0wO3RoaXMuZF9idWY9MDt0aGlzLm9wdF9sZW49MDt0aGlzLnN0YXRpY19sZW49MDt0aGlzLm1hdGNoZXM9MDt0aGlzLmluc2VydD0wOwp0aGlzLmJpX2J1Zj0wO3RoaXMuYmlfdmFsaWQ9MH1mdW5jdGlvbiBkZWZsYXRlUmVzZXRLZWVwKHN0cm0pe3ZhciBzO2lmKCFzdHJtfHwhc3RybS5zdGF0ZSlyZXR1cm4gZXJyKHN0cm0sWl9TVFJFQU1fRVJST1IpO3N0cm0udG90YWxfaW49c3RybS50b3RhbF9vdXQ9MDtzdHJtLmRhdGFfdHlwZT1aX1VOS05PV047cz1zdHJtLnN0YXRlO3MucGVuZGluZz0wO3MucGVuZGluZ19vdXQ9MDtpZihzLndyYXA8MClzLndyYXA9LXMud3JhcDtzLnN0YXR1cz1zLndyYXA/SU5JVF9TVEFURTpCVVNZX1NUQVRFO3N0cm0uYWRsZXI9cy53cmFwPT09Mj8wOjE7cy5sYXN0X2ZsdXNoPVpfTk9fRkxVU0g7dHJlZXMuX3RyX2luaXQocyk7cmV0dXJuIFpfT0t9ZnVuY3Rpb24gZGVmbGF0ZVJlc2V0KHN0cm0pe3ZhciByZXQ9ZGVmbGF0ZVJlc2V0S2VlcChzdHJtKTtpZihyZXQ9PT1aX09LKWxtX2luaXQoc3RybS5zdGF0ZSk7cmV0dXJuIHJldH1mdW5jdGlvbiBkZWZsYXRlU2V0SGVhZGVyKHN0cm0saGVhZCl7aWYoIXN0cm18fAohc3RybS5zdGF0ZSlyZXR1cm4gWl9TVFJFQU1fRVJST1I7aWYoc3RybS5zdGF0ZS53cmFwIT09MilyZXR1cm4gWl9TVFJFQU1fRVJST1I7c3RybS5zdGF0ZS5nemhlYWQ9aGVhZDtyZXR1cm4gWl9PS31mdW5jdGlvbiBkZWZsYXRlSW5pdDIoc3RybSxsZXZlbCxtZXRob2Qsd2luZG93Qml0cyxtZW1MZXZlbCxzdHJhdGVneSl7aWYoIXN0cm0pcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3ZhciB3cmFwPTE7aWYobGV2ZWw9PT1aX0RFRkFVTFRfQ09NUFJFU1NJT04pbGV2ZWw9NjtpZih3aW5kb3dCaXRzPDApe3dyYXA9MDt3aW5kb3dCaXRzPS13aW5kb3dCaXRzfWVsc2UgaWYod2luZG93Qml0cz4xNSl7d3JhcD0yO3dpbmRvd0JpdHMtPTE2fWlmKG1lbUxldmVsPDF8fG1lbUxldmVsPk1BWF9NRU1fTEVWRUx8fG1ldGhvZCE9PVpfREVGTEFURUR8fHdpbmRvd0JpdHM8OHx8d2luZG93Qml0cz4xNXx8bGV2ZWw8MHx8bGV2ZWw+OXx8c3RyYXRlZ3k8MHx8c3RyYXRlZ3k+Wl9GSVhFRClyZXR1cm4gZXJyKHN0cm0sClpfU1RSRUFNX0VSUk9SKTtpZih3aW5kb3dCaXRzPT09OCl3aW5kb3dCaXRzPTk7dmFyIHM9bmV3IERlZmxhdGVTdGF0ZTtzdHJtLnN0YXRlPXM7cy5zdHJtPXN0cm07cy53cmFwPXdyYXA7cy5nemhlYWQ9bnVsbDtzLndfYml0cz13aW5kb3dCaXRzO3Mud19zaXplPTE8PHMud19iaXRzO3Mud19tYXNrPXMud19zaXplLTE7cy5oYXNoX2JpdHM9bWVtTGV2ZWwrNztzLmhhc2hfc2l6ZT0xPDxzLmhhc2hfYml0cztzLmhhc2hfbWFzaz1zLmhhc2hfc2l6ZS0xO3MuaGFzaF9zaGlmdD1+figocy5oYXNoX2JpdHMrTUlOX01BVENILTEpL01JTl9NQVRDSCk7cy53aW5kb3c9bmV3IHV0aWxzLkJ1Zjgocy53X3NpemUqMik7cy5oZWFkPW5ldyB1dGlscy5CdWYxNihzLmhhc2hfc2l6ZSk7cy5wcmV2PW5ldyB1dGlscy5CdWYxNihzLndfc2l6ZSk7cy5saXRfYnVmc2l6ZT0xPDxtZW1MZXZlbCs2O3MucGVuZGluZ19idWZfc2l6ZT1zLmxpdF9idWZzaXplKjQ7cy5wZW5kaW5nX2J1Zj1uZXcgdXRpbHMuQnVmOChzLnBlbmRpbmdfYnVmX3NpemUpOwpzLmRfYnVmPXMubGl0X2J1ZnNpemU+PjE7cy5sX2J1Zj0oMSsyKSpzLmxpdF9idWZzaXplO3MubGV2ZWw9bGV2ZWw7cy5zdHJhdGVneT1zdHJhdGVneTtzLm1ldGhvZD1tZXRob2Q7cmV0dXJuIGRlZmxhdGVSZXNldChzdHJtKX1mdW5jdGlvbiBkZWZsYXRlSW5pdChzdHJtLGxldmVsKXtyZXR1cm4gZGVmbGF0ZUluaXQyKHN0cm0sbGV2ZWwsWl9ERUZMQVRFRCxNQVhfV0JJVFMsREVGX01FTV9MRVZFTCxaX0RFRkFVTFRfU1RSQVRFR1kpfWZ1bmN0aW9uIGRlZmxhdGUoc3RybSxmbHVzaCl7dmFyIG9sZF9mbHVzaCxzO3ZhciBiZWcsdmFsO2lmKCFzdHJtfHwhc3RybS5zdGF0ZXx8Zmx1c2g+Wl9CTE9DS3x8Zmx1c2g8MClyZXR1cm4gc3RybT9lcnIoc3RybSxaX1NUUkVBTV9FUlJPUik6Wl9TVFJFQU1fRVJST1I7cz1zdHJtLnN0YXRlO2lmKCFzdHJtLm91dHB1dHx8IXN0cm0uaW5wdXQmJnN0cm0uYXZhaWxfaW4hPT0wfHxzLnN0YXR1cz09PUZJTklTSF9TVEFURSYmZmx1c2ghPT1aX0ZJTklTSClyZXR1cm4gZXJyKHN0cm0sCnN0cm0uYXZhaWxfb3V0PT09MD9aX0JVRl9FUlJPUjpaX1NUUkVBTV9FUlJPUik7cy5zdHJtPXN0cm07b2xkX2ZsdXNoPXMubGFzdF9mbHVzaDtzLmxhc3RfZmx1c2g9Zmx1c2g7aWYocy5zdGF0dXM9PT1JTklUX1NUQVRFKWlmKHMud3JhcD09PTIpe3N0cm0uYWRsZXI9MDtwdXRfYnl0ZShzLDMxKTtwdXRfYnl0ZShzLDEzOSk7cHV0X2J5dGUocyw4KTtpZighcy5nemhlYWQpe3B1dF9ieXRlKHMsMCk7cHV0X2J5dGUocywwKTtwdXRfYnl0ZShzLDApO3B1dF9ieXRlKHMsMCk7cHV0X2J5dGUocywwKTtwdXRfYnl0ZShzLHMubGV2ZWw9PT05PzI6cy5zdHJhdGVneT49Wl9IVUZGTUFOX09OTFl8fHMubGV2ZWw8Mj80OjApO3B1dF9ieXRlKHMsT1NfQ09ERSk7cy5zdGF0dXM9QlVTWV9TVEFURX1lbHNle3B1dF9ieXRlKHMsKHMuZ3poZWFkLnRleHQ/MTowKSsocy5nemhlYWQuaGNyYz8yOjApKyghcy5nemhlYWQuZXh0cmE/MDo0KSsoIXMuZ3poZWFkLm5hbWU/MDo4KSsoIXMuZ3poZWFkLmNvbW1lbnQ/CjA6MTYpKTtwdXRfYnl0ZShzLHMuZ3poZWFkLnRpbWUmMjU1KTtwdXRfYnl0ZShzLHMuZ3poZWFkLnRpbWU+PjgmMjU1KTtwdXRfYnl0ZShzLHMuZ3poZWFkLnRpbWU+PjE2JjI1NSk7cHV0X2J5dGUocyxzLmd6aGVhZC50aW1lPj4yNCYyNTUpO3B1dF9ieXRlKHMscy5sZXZlbD09PTk/MjpzLnN0cmF0ZWd5Pj1aX0hVRkZNQU5fT05MWXx8cy5sZXZlbDwyPzQ6MCk7cHV0X2J5dGUocyxzLmd6aGVhZC5vcyYyNTUpO2lmKHMuZ3poZWFkLmV4dHJhJiZzLmd6aGVhZC5leHRyYS5sZW5ndGgpe3B1dF9ieXRlKHMscy5nemhlYWQuZXh0cmEubGVuZ3RoJjI1NSk7cHV0X2J5dGUocyxzLmd6aGVhZC5leHRyYS5sZW5ndGg+PjgmMjU1KX1pZihzLmd6aGVhZC5oY3JjKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixzLnBlbmRpbmdfYnVmLHMucGVuZGluZywwKTtzLmd6aW5kZXg9MDtzLnN0YXR1cz1FWFRSQV9TVEFURX19ZWxzZXt2YXIgaGVhZGVyPVpfREVGTEFURUQrKHMud19iaXRzLTg8PAo0KTw8ODt2YXIgbGV2ZWxfZmxhZ3M9LTE7aWYocy5zdHJhdGVneT49Wl9IVUZGTUFOX09OTFl8fHMubGV2ZWw8MilsZXZlbF9mbGFncz0wO2Vsc2UgaWYocy5sZXZlbDw2KWxldmVsX2ZsYWdzPTE7ZWxzZSBpZihzLmxldmVsPT09NilsZXZlbF9mbGFncz0yO2Vsc2UgbGV2ZWxfZmxhZ3M9MztoZWFkZXJ8PWxldmVsX2ZsYWdzPDw2O2lmKHMuc3Ryc3RhcnQhPT0wKWhlYWRlcnw9UFJFU0VUX0RJQ1Q7aGVhZGVyKz0zMS1oZWFkZXIlMzE7cy5zdGF0dXM9QlVTWV9TVEFURTtwdXRTaG9ydE1TQihzLGhlYWRlcik7aWYocy5zdHJzdGFydCE9PTApe3B1dFNob3J0TVNCKHMsc3RybS5hZGxlcj4+PjE2KTtwdXRTaG9ydE1TQihzLHN0cm0uYWRsZXImNjU1MzUpfXN0cm0uYWRsZXI9MX1pZihzLnN0YXR1cz09PUVYVFJBX1NUQVRFKWlmKHMuZ3poZWFkLmV4dHJhKXtiZWc9cy5wZW5kaW5nO3doaWxlKHMuZ3ppbmRleDwocy5nemhlYWQuZXh0cmEubGVuZ3RoJjY1NTM1KSl7aWYocy5wZW5kaW5nPT09CnMucGVuZGluZ19idWZfc2l6ZSl7aWYocy5nemhlYWQuaGNyYyYmcy5wZW5kaW5nPmJlZylzdHJtLmFkbGVyPWNyYzMyKHN0cm0uYWRsZXIscy5wZW5kaW5nX2J1ZixzLnBlbmRpbmctYmVnLGJlZyk7Zmx1c2hfcGVuZGluZyhzdHJtKTtiZWc9cy5wZW5kaW5nO2lmKHMucGVuZGluZz09PXMucGVuZGluZ19idWZfc2l6ZSlicmVha31wdXRfYnl0ZShzLHMuZ3poZWFkLmV4dHJhW3MuZ3ppbmRleF0mMjU1KTtzLmd6aW5kZXgrK31pZihzLmd6aGVhZC5oY3JjJiZzLnBlbmRpbmc+YmVnKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixzLnBlbmRpbmdfYnVmLHMucGVuZGluZy1iZWcsYmVnKTtpZihzLmd6aW5kZXg9PT1zLmd6aGVhZC5leHRyYS5sZW5ndGgpe3MuZ3ppbmRleD0wO3Muc3RhdHVzPU5BTUVfU1RBVEV9fWVsc2Ugcy5zdGF0dXM9TkFNRV9TVEFURTtpZihzLnN0YXR1cz09PU5BTUVfU1RBVEUpaWYocy5nemhlYWQubmFtZSl7YmVnPXMucGVuZGluZztkb3tpZihzLnBlbmRpbmc9PT0Kcy5wZW5kaW5nX2J1Zl9zaXplKXtpZihzLmd6aGVhZC5oY3JjJiZzLnBlbmRpbmc+YmVnKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixzLnBlbmRpbmdfYnVmLHMucGVuZGluZy1iZWcsYmVnKTtmbHVzaF9wZW5kaW5nKHN0cm0pO2JlZz1zLnBlbmRpbmc7aWYocy5wZW5kaW5nPT09cy5wZW5kaW5nX2J1Zl9zaXplKXt2YWw9MTticmVha319aWYocy5nemluZGV4PHMuZ3poZWFkLm5hbWUubGVuZ3RoKXZhbD1zLmd6aGVhZC5uYW1lLmNoYXJDb2RlQXQocy5nemluZGV4KyspJjI1NTtlbHNlIHZhbD0wO3B1dF9ieXRlKHMsdmFsKX13aGlsZSh2YWwhPT0wKTtpZihzLmd6aGVhZC5oY3JjJiZzLnBlbmRpbmc+YmVnKXN0cm0uYWRsZXI9Y3JjMzIoc3RybS5hZGxlcixzLnBlbmRpbmdfYnVmLHMucGVuZGluZy1iZWcsYmVnKTtpZih2YWw9PT0wKXtzLmd6aW5kZXg9MDtzLnN0YXR1cz1DT01NRU5UX1NUQVRFfX1lbHNlIHMuc3RhdHVzPUNPTU1FTlRfU1RBVEU7aWYocy5zdGF0dXM9PT1DT01NRU5UX1NUQVRFKWlmKHMuZ3poZWFkLmNvbW1lbnQpe2JlZz0Kcy5wZW5kaW5nO2Rve2lmKHMucGVuZGluZz09PXMucGVuZGluZ19idWZfc2l6ZSl7aWYocy5nemhlYWQuaGNyYyYmcy5wZW5kaW5nPmJlZylzdHJtLmFkbGVyPWNyYzMyKHN0cm0uYWRsZXIscy5wZW5kaW5nX2J1ZixzLnBlbmRpbmctYmVnLGJlZyk7Zmx1c2hfcGVuZGluZyhzdHJtKTtiZWc9cy5wZW5kaW5nO2lmKHMucGVuZGluZz09PXMucGVuZGluZ19idWZfc2l6ZSl7dmFsPTE7YnJlYWt9fWlmKHMuZ3ppbmRleDxzLmd6aGVhZC5jb21tZW50Lmxlbmd0aCl2YWw9cy5nemhlYWQuY29tbWVudC5jaGFyQ29kZUF0KHMuZ3ppbmRleCsrKSYyNTU7ZWxzZSB2YWw9MDtwdXRfYnl0ZShzLHZhbCl9d2hpbGUodmFsIT09MCk7aWYocy5nemhlYWQuaGNyYyYmcy5wZW5kaW5nPmJlZylzdHJtLmFkbGVyPWNyYzMyKHN0cm0uYWRsZXIscy5wZW5kaW5nX2J1ZixzLnBlbmRpbmctYmVnLGJlZyk7aWYodmFsPT09MClzLnN0YXR1cz1IQ1JDX1NUQVRFfWVsc2Ugcy5zdGF0dXM9SENSQ19TVEFURTtpZihzLnN0YXR1cz09PQpIQ1JDX1NUQVRFKWlmKHMuZ3poZWFkLmhjcmMpe2lmKHMucGVuZGluZysyPnMucGVuZGluZ19idWZfc2l6ZSlmbHVzaF9wZW5kaW5nKHN0cm0pO2lmKHMucGVuZGluZysyPD1zLnBlbmRpbmdfYnVmX3NpemUpe3B1dF9ieXRlKHMsc3RybS5hZGxlciYyNTUpO3B1dF9ieXRlKHMsc3RybS5hZGxlcj4+OCYyNTUpO3N0cm0uYWRsZXI9MDtzLnN0YXR1cz1CVVNZX1NUQVRFfX1lbHNlIHMuc3RhdHVzPUJVU1lfU1RBVEU7aWYocy5wZW5kaW5nIT09MCl7Zmx1c2hfcGVuZGluZyhzdHJtKTtpZihzdHJtLmF2YWlsX291dD09PTApe3MubGFzdF9mbHVzaD0tMTtyZXR1cm4gWl9PS319ZWxzZSBpZihzdHJtLmF2YWlsX2luPT09MCYmcmFuayhmbHVzaCk8PXJhbmsob2xkX2ZsdXNoKSYmZmx1c2ghPT1aX0ZJTklTSClyZXR1cm4gZXJyKHN0cm0sWl9CVUZfRVJST1IpO2lmKHMuc3RhdHVzPT09RklOSVNIX1NUQVRFJiZzdHJtLmF2YWlsX2luIT09MClyZXR1cm4gZXJyKHN0cm0sWl9CVUZfRVJST1IpOwppZihzdHJtLmF2YWlsX2luIT09MHx8cy5sb29rYWhlYWQhPT0wfHxmbHVzaCE9PVpfTk9fRkxVU0gmJnMuc3RhdHVzIT09RklOSVNIX1NUQVRFKXt2YXIgYnN0YXRlPXMuc3RyYXRlZ3k9PT1aX0hVRkZNQU5fT05MWT9kZWZsYXRlX2h1ZmYocyxmbHVzaCk6cy5zdHJhdGVneT09PVpfUkxFP2RlZmxhdGVfcmxlKHMsZmx1c2gpOmNvbmZpZ3VyYXRpb25fdGFibGVbcy5sZXZlbF0uZnVuYyhzLGZsdXNoKTtpZihic3RhdGU9PT1CU19GSU5JU0hfU1RBUlRFRHx8YnN0YXRlPT09QlNfRklOSVNIX0RPTkUpcy5zdGF0dXM9RklOSVNIX1NUQVRFO2lmKGJzdGF0ZT09PUJTX05FRURfTU9SRXx8YnN0YXRlPT09QlNfRklOSVNIX1NUQVJURUQpe2lmKHN0cm0uYXZhaWxfb3V0PT09MClzLmxhc3RfZmx1c2g9LTE7cmV0dXJuIFpfT0t9aWYoYnN0YXRlPT09QlNfQkxPQ0tfRE9ORSl7aWYoZmx1c2g9PT1aX1BBUlRJQUxfRkxVU0gpdHJlZXMuX3RyX2FsaWduKHMpO2Vsc2UgaWYoZmx1c2ghPT1aX0JMT0NLKXt0cmVlcy5fdHJfc3RvcmVkX2Jsb2NrKHMsCjAsMCxmYWxzZSk7aWYoZmx1c2g9PT1aX0ZVTExfRkxVU0gpe3plcm8ocy5oZWFkKTtpZihzLmxvb2thaGVhZD09PTApe3Muc3Ryc3RhcnQ9MDtzLmJsb2NrX3N0YXJ0PTA7cy5pbnNlcnQ9MH19fWZsdXNoX3BlbmRpbmcoc3RybSk7aWYoc3RybS5hdmFpbF9vdXQ9PT0wKXtzLmxhc3RfZmx1c2g9LTE7cmV0dXJuIFpfT0t9fX1pZihmbHVzaCE9PVpfRklOSVNIKXJldHVybiBaX09LO2lmKHMud3JhcDw9MClyZXR1cm4gWl9TVFJFQU1fRU5EO2lmKHMud3JhcD09PTIpe3B1dF9ieXRlKHMsc3RybS5hZGxlciYyNTUpO3B1dF9ieXRlKHMsc3RybS5hZGxlcj4+OCYyNTUpO3B1dF9ieXRlKHMsc3RybS5hZGxlcj4+MTYmMjU1KTtwdXRfYnl0ZShzLHN0cm0uYWRsZXI+PjI0JjI1NSk7cHV0X2J5dGUocyxzdHJtLnRvdGFsX2luJjI1NSk7cHV0X2J5dGUocyxzdHJtLnRvdGFsX2luPj44JjI1NSk7cHV0X2J5dGUocyxzdHJtLnRvdGFsX2luPj4xNiYyNTUpO3B1dF9ieXRlKHMsc3RybS50b3RhbF9pbj4+CjI0JjI1NSl9ZWxzZXtwdXRTaG9ydE1TQihzLHN0cm0uYWRsZXI+Pj4xNik7cHV0U2hvcnRNU0IocyxzdHJtLmFkbGVyJjY1NTM1KX1mbHVzaF9wZW5kaW5nKHN0cm0pO2lmKHMud3JhcD4wKXMud3JhcD0tcy53cmFwO3JldHVybiBzLnBlbmRpbmchPT0wP1pfT0s6Wl9TVFJFQU1fRU5EfWZ1bmN0aW9uIGRlZmxhdGVFbmQoc3RybSl7dmFyIHN0YXR1cztpZighc3RybXx8IXN0cm0uc3RhdGUpcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXR1cz1zdHJtLnN0YXRlLnN0YXR1cztpZihzdGF0dXMhPT1JTklUX1NUQVRFJiZzdGF0dXMhPT1FWFRSQV9TVEFURSYmc3RhdHVzIT09TkFNRV9TVEFURSYmc3RhdHVzIT09Q09NTUVOVF9TVEFURSYmc3RhdHVzIT09SENSQ19TVEFURSYmc3RhdHVzIT09QlVTWV9TVEFURSYmc3RhdHVzIT09RklOSVNIX1NUQVRFKXJldHVybiBlcnIoc3RybSxaX1NUUkVBTV9FUlJPUik7c3RybS5zdGF0ZT1udWxsO3JldHVybiBzdGF0dXM9PT1CVVNZX1NUQVRFP2VycihzdHJtLApaX0RBVEFfRVJST1IpOlpfT0t9ZXhwb3J0cy5kZWZsYXRlSW5pdD1kZWZsYXRlSW5pdDtleHBvcnRzLmRlZmxhdGVJbml0Mj1kZWZsYXRlSW5pdDI7ZXhwb3J0cy5kZWZsYXRlUmVzZXQ9ZGVmbGF0ZVJlc2V0O2V4cG9ydHMuZGVmbGF0ZVJlc2V0S2VlcD1kZWZsYXRlUmVzZXRLZWVwO2V4cG9ydHMuZGVmbGF0ZVNldEhlYWRlcj1kZWZsYXRlU2V0SGVhZGVyO2V4cG9ydHMuZGVmbGF0ZT1kZWZsYXRlO2V4cG9ydHMuZGVmbGF0ZUVuZD1kZWZsYXRlRW5kO2V4cG9ydHMuZGVmbGF0ZUluZm89InBha28gZGVmbGF0ZSAoZnJvbSBOb2RlY2EgcHJvamVjdCkifSx7Ii4uL3V0aWxzL2NvbW1vbiI6MjcsIi4vYWRsZXIzMiI6MjksIi4vY3JjMzIiOjMxLCIuL21lc3NhZ2VzIjozNywiLi90cmVlcyI6Mzh9XSwzMzpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7ZnVuY3Rpb24gR1poZWFkZXIoKXt0aGlzLnRleHQ9MDt0aGlzLnRpbWU9MDt0aGlzLnhmbGFncz0wO3RoaXMub3M9MDsKdGhpcy5leHRyYT1udWxsO3RoaXMuZXh0cmFfbGVuPTA7dGhpcy5uYW1lPSIiO3RoaXMuY29tbWVudD0iIjt0aGlzLmhjcmM9MDt0aGlzLmRvbmU9ZmFsc2V9bW9kdWxlLmV4cG9ydHM9R1poZWFkZXJ9LHt9XSwzNDpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7dmFyIEJBRD0zMDt2YXIgVFlQRT0xMjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbiBpbmZsYXRlX2Zhc3Qoc3RybSxzdGFydCl7dmFyIHN0YXRlO3ZhciBfaW47dmFyIGxhc3Q7dmFyIF9vdXQ7dmFyIGJlZzt2YXIgZW5kO3ZhciBkbWF4O3ZhciB3c2l6ZTt2YXIgd2hhdmU7dmFyIHduZXh0O3ZhciB3aW5kb3c7dmFyIGhvbGQ7dmFyIGJpdHM7dmFyIGxjb2RlO3ZhciBkY29kZTt2YXIgbG1hc2s7dmFyIGRtYXNrO3ZhciBoZXJlO3ZhciBvcDt2YXIgbGVuO3ZhciBkaXN0O3ZhciBmcm9tO3ZhciBmcm9tX3NvdXJjZTt2YXIgaW5wdXQsb3V0cHV0O3N0YXRlPXN0cm0uc3RhdGU7X2luPXN0cm0ubmV4dF9pbjtpbnB1dD0Kc3RybS5pbnB1dDtsYXN0PV9pbisoc3RybS5hdmFpbF9pbi01KTtfb3V0PXN0cm0ubmV4dF9vdXQ7b3V0cHV0PXN0cm0ub3V0cHV0O2JlZz1fb3V0LShzdGFydC1zdHJtLmF2YWlsX291dCk7ZW5kPV9vdXQrKHN0cm0uYXZhaWxfb3V0LTI1Nyk7ZG1heD1zdGF0ZS5kbWF4O3dzaXplPXN0YXRlLndzaXplO3doYXZlPXN0YXRlLndoYXZlO3duZXh0PXN0YXRlLnduZXh0O3dpbmRvdz1zdGF0ZS53aW5kb3c7aG9sZD1zdGF0ZS5ob2xkO2JpdHM9c3RhdGUuYml0cztsY29kZT1zdGF0ZS5sZW5jb2RlO2Rjb2RlPXN0YXRlLmRpc3Rjb2RlO2xtYXNrPSgxPDxzdGF0ZS5sZW5iaXRzKS0xO2RtYXNrPSgxPDxzdGF0ZS5kaXN0Yml0cyktMTt0b3A6ZG97aWYoYml0czwxNSl7aG9sZCs9aW5wdXRbX2luKytdPDxiaXRzO2JpdHMrPTg7aG9sZCs9aW5wdXRbX2luKytdPDxiaXRzO2JpdHMrPTh9aGVyZT1sY29kZVtob2xkJmxtYXNrXTtkb2xlbjpmb3IoOzspe29wPWhlcmU+Pj4yNDtob2xkPj4+PW9wOwpiaXRzLT1vcDtvcD1oZXJlPj4+MTYmMjU1O2lmKG9wPT09MClvdXRwdXRbX291dCsrXT1oZXJlJjY1NTM1O2Vsc2UgaWYob3AmMTYpe2xlbj1oZXJlJjY1NTM1O29wJj0xNTtpZihvcCl7aWYoYml0czxvcCl7aG9sZCs9aW5wdXRbX2luKytdPDxiaXRzO2JpdHMrPTh9bGVuKz1ob2xkJigxPDxvcCktMTtob2xkPj4+PW9wO2JpdHMtPW9wfWlmKGJpdHM8MTUpe2hvbGQrPWlucHV0W19pbisrXTw8Yml0cztiaXRzKz04O2hvbGQrPWlucHV0W19pbisrXTw8Yml0cztiaXRzKz04fWhlcmU9ZGNvZGVbaG9sZCZkbWFza107ZG9kaXN0OmZvcig7Oyl7b3A9aGVyZT4+PjI0O2hvbGQ+Pj49b3A7Yml0cy09b3A7b3A9aGVyZT4+PjE2JjI1NTtpZihvcCYxNil7ZGlzdD1oZXJlJjY1NTM1O29wJj0xNTtpZihiaXRzPG9wKXtob2xkKz1pbnB1dFtfaW4rK108PGJpdHM7Yml0cys9ODtpZihiaXRzPG9wKXtob2xkKz1pbnB1dFtfaW4rK108PGJpdHM7Yml0cys9OH19ZGlzdCs9aG9sZCYoMTw8b3ApLTE7CmlmKGRpc3Q+ZG1heCl7c3RybS5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIjtzdGF0ZS5tb2RlPUJBRDticmVhayB0b3B9aG9sZD4+Pj1vcDtiaXRzLT1vcDtvcD1fb3V0LWJlZztpZihkaXN0Pm9wKXtvcD1kaXN0LW9wO2lmKG9wPndoYXZlKWlmKHN0YXRlLnNhbmUpe3N0cm0ubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayI7c3RhdGUubW9kZT1CQUQ7YnJlYWsgdG9wfWZyb209MDtmcm9tX3NvdXJjZT13aW5kb3c7aWYod25leHQ9PT0wKXtmcm9tKz13c2l6ZS1vcDtpZihvcDxsZW4pe2xlbi09b3A7ZG8gb3V0cHV0W19vdXQrK109d2luZG93W2Zyb20rK107d2hpbGUoLS1vcCk7ZnJvbT1fb3V0LWRpc3Q7ZnJvbV9zb3VyY2U9b3V0cHV0fX1lbHNlIGlmKHduZXh0PG9wKXtmcm9tKz13c2l6ZSt3bmV4dC1vcDtvcC09d25leHQ7aWYob3A8bGVuKXtsZW4tPW9wO2RvIG91dHB1dFtfb3V0KytdPXdpbmRvd1tmcm9tKytdO3doaWxlKC0tb3ApO2Zyb209MDsKaWYod25leHQ8bGVuKXtvcD13bmV4dDtsZW4tPW9wO2RvIG91dHB1dFtfb3V0KytdPXdpbmRvd1tmcm9tKytdO3doaWxlKC0tb3ApO2Zyb209X291dC1kaXN0O2Zyb21fc291cmNlPW91dHB1dH19fWVsc2V7ZnJvbSs9d25leHQtb3A7aWYob3A8bGVuKXtsZW4tPW9wO2RvIG91dHB1dFtfb3V0KytdPXdpbmRvd1tmcm9tKytdO3doaWxlKC0tb3ApO2Zyb209X291dC1kaXN0O2Zyb21fc291cmNlPW91dHB1dH19d2hpbGUobGVuPjIpe291dHB1dFtfb3V0KytdPWZyb21fc291cmNlW2Zyb20rK107b3V0cHV0W19vdXQrK109ZnJvbV9zb3VyY2VbZnJvbSsrXTtvdXRwdXRbX291dCsrXT1mcm9tX3NvdXJjZVtmcm9tKytdO2xlbi09M31pZihsZW4pe291dHB1dFtfb3V0KytdPWZyb21fc291cmNlW2Zyb20rK107aWYobGVuPjEpb3V0cHV0W19vdXQrK109ZnJvbV9zb3VyY2VbZnJvbSsrXX19ZWxzZXtmcm9tPV9vdXQtZGlzdDtkb3tvdXRwdXRbX291dCsrXT1vdXRwdXRbZnJvbSsrXTtvdXRwdXRbX291dCsrXT0Kb3V0cHV0W2Zyb20rK107b3V0cHV0W19vdXQrK109b3V0cHV0W2Zyb20rK107bGVuLT0zfXdoaWxlKGxlbj4yKTtpZihsZW4pe291dHB1dFtfb3V0KytdPW91dHB1dFtmcm9tKytdO2lmKGxlbj4xKW91dHB1dFtfb3V0KytdPW91dHB1dFtmcm9tKytdfX19ZWxzZSBpZigob3AmNjQpPT09MCl7aGVyZT1kY29kZVsoaGVyZSY2NTUzNSkrKGhvbGQmKDE8PG9wKS0xKV07Y29udGludWUgZG9kaXN0fWVsc2V7c3RybS5tc2c9ImludmFsaWQgZGlzdGFuY2UgY29kZSI7c3RhdGUubW9kZT1CQUQ7YnJlYWsgdG9wfWJyZWFrfX1lbHNlIGlmKChvcCY2NCk9PT0wKXtoZXJlPWxjb2RlWyhoZXJlJjY1NTM1KSsoaG9sZCYoMTw8b3ApLTEpXTtjb250aW51ZSBkb2xlbn1lbHNlIGlmKG9wJjMyKXtzdGF0ZS5tb2RlPVRZUEU7YnJlYWsgdG9wfWVsc2V7c3RybS5tc2c9ImludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZSI7c3RhdGUubW9kZT1CQUQ7YnJlYWsgdG9wfWJyZWFrfX13aGlsZShfaW48bGFzdCYmCl9vdXQ8ZW5kKTtsZW49Yml0cz4+MztfaW4tPWxlbjtiaXRzLT1sZW48PDM7aG9sZCY9KDE8PGJpdHMpLTE7c3RybS5uZXh0X2luPV9pbjtzdHJtLm5leHRfb3V0PV9vdXQ7c3RybS5hdmFpbF9pbj1faW48bGFzdD81KyhsYXN0LV9pbik6NS0oX2luLWxhc3QpO3N0cm0uYXZhaWxfb3V0PV9vdXQ8ZW5kPzI1NysoZW5kLV9vdXQpOjI1Ny0oX291dC1lbmQpO3N0YXRlLmhvbGQ9aG9sZDtzdGF0ZS5iaXRzPWJpdHM7cmV0dXJufX0se31dLDM1OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXt2YXIgdXRpbHM9X2RlcmVxXygiLi4vdXRpbHMvY29tbW9uIik7dmFyIGFkbGVyMzI9X2RlcmVxXygiLi9hZGxlcjMyIik7dmFyIGNyYzMyPV9kZXJlcV8oIi4vY3JjMzIiKTt2YXIgaW5mbGF0ZV9mYXN0PV9kZXJlcV8oIi4vaW5mZmFzdCIpO3ZhciBpbmZsYXRlX3RhYmxlPV9kZXJlcV8oIi4vaW5mdHJlZXMiKTt2YXIgQ09ERVM9MDt2YXIgTEVOUz0xO3ZhciBESVNUUz0yO3ZhciBaX0ZJTklTSD0KNDt2YXIgWl9CTE9DSz01O3ZhciBaX1RSRUVTPTY7dmFyIFpfT0s9MDt2YXIgWl9TVFJFQU1fRU5EPTE7dmFyIFpfTkVFRF9ESUNUPTI7dmFyIFpfU1RSRUFNX0VSUk9SPS0yO3ZhciBaX0RBVEFfRVJST1I9LTM7dmFyIFpfTUVNX0VSUk9SPS00O3ZhciBaX0JVRl9FUlJPUj0tNTt2YXIgWl9ERUZMQVRFRD04O3ZhciBIRUFEPTE7dmFyIEZMQUdTPTI7dmFyIFRJTUU9Mzt2YXIgT1M9NDt2YXIgRVhMRU49NTt2YXIgRVhUUkE9Njt2YXIgTkFNRT03O3ZhciBDT01NRU5UPTg7dmFyIEhDUkM9OTt2YXIgRElDVElEPTEwO3ZhciBESUNUPTExO3ZhciBUWVBFPTEyO3ZhciBUWVBFRE89MTM7dmFyIFNUT1JFRD0xNDt2YXIgQ09QWV89MTU7dmFyIENPUFk9MTY7dmFyIFRBQkxFPTE3O3ZhciBMRU5MRU5TPTE4O3ZhciBDT0RFTEVOUz0xOTt2YXIgTEVOXz0yMDt2YXIgTEVOPTIxO3ZhciBMRU5FWFQ9MjI7dmFyIERJU1Q9MjM7dmFyIERJU1RFWFQ9MjQ7dmFyIE1BVENIPTI1O3ZhciBMSVQ9MjY7CnZhciBDSEVDSz0yNzt2YXIgTEVOR1RIPTI4O3ZhciBET05FPTI5O3ZhciBCQUQ9MzA7dmFyIE1FTT0zMTt2YXIgU1lOQz0zMjt2YXIgRU5PVUdIX0xFTlM9ODUyO3ZhciBFTk9VR0hfRElTVFM9NTkyO3ZhciBNQVhfV0JJVFM9MTU7dmFyIERFRl9XQklUUz1NQVhfV0JJVFM7ZnVuY3Rpb24gWlNXQVAzMihxKXtyZXR1cm4ocT4+PjI0JjI1NSkrKHE+Pj44JjY1MjgwKSsoKHEmNjUyODApPDw4KSsoKHEmMjU1KTw8MjQpfWZ1bmN0aW9uIEluZmxhdGVTdGF0ZSgpe3RoaXMubW9kZT0wO3RoaXMubGFzdD1mYWxzZTt0aGlzLndyYXA9MDt0aGlzLmhhdmVkaWN0PWZhbHNlO3RoaXMuZmxhZ3M9MDt0aGlzLmRtYXg9MDt0aGlzLmNoZWNrPTA7dGhpcy50b3RhbD0wO3RoaXMuaGVhZD1udWxsO3RoaXMud2JpdHM9MDt0aGlzLndzaXplPTA7dGhpcy53aGF2ZT0wO3RoaXMud25leHQ9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuaG9sZD0wO3RoaXMuYml0cz0wO3RoaXMubGVuZ3RoPTA7dGhpcy5vZmZzZXQ9CjA7dGhpcy5leHRyYT0wO3RoaXMubGVuY29kZT1udWxsO3RoaXMuZGlzdGNvZGU9bnVsbDt0aGlzLmxlbmJpdHM9MDt0aGlzLmRpc3RiaXRzPTA7dGhpcy5uY29kZT0wO3RoaXMubmxlbj0wO3RoaXMubmRpc3Q9MDt0aGlzLmhhdmU9MDt0aGlzLm5leHQ9bnVsbDt0aGlzLmxlbnM9bmV3IHV0aWxzLkJ1ZjE2KDMyMCk7dGhpcy53b3JrPW5ldyB1dGlscy5CdWYxNigyODgpO3RoaXMubGVuZHluPW51bGw7dGhpcy5kaXN0ZHluPW51bGw7dGhpcy5zYW5lPTA7dGhpcy5iYWNrPTA7dGhpcy53YXM9MH1mdW5jdGlvbiBpbmZsYXRlUmVzZXRLZWVwKHN0cm0pe3ZhciBzdGF0ZTtpZighc3RybXx8IXN0cm0uc3RhdGUpcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXRlPXN0cm0uc3RhdGU7c3RybS50b3RhbF9pbj1zdHJtLnRvdGFsX291dD1zdGF0ZS50b3RhbD0wO3N0cm0ubXNnPSIiO2lmKHN0YXRlLndyYXApc3RybS5hZGxlcj1zdGF0ZS53cmFwJjE7c3RhdGUubW9kZT1IRUFEO3N0YXRlLmxhc3Q9CjA7c3RhdGUuaGF2ZWRpY3Q9MDtzdGF0ZS5kbWF4PTMyNzY4O3N0YXRlLmhlYWQ9bnVsbDtzdGF0ZS5ob2xkPTA7c3RhdGUuYml0cz0wO3N0YXRlLmxlbmNvZGU9c3RhdGUubGVuZHluPW5ldyB1dGlscy5CdWYzMihFTk9VR0hfTEVOUyk7c3RhdGUuZGlzdGNvZGU9c3RhdGUuZGlzdGR5bj1uZXcgdXRpbHMuQnVmMzIoRU5PVUdIX0RJU1RTKTtzdGF0ZS5zYW5lPTE7c3RhdGUuYmFjaz0tMTtyZXR1cm4gWl9PS31mdW5jdGlvbiBpbmZsYXRlUmVzZXQoc3RybSl7dmFyIHN0YXRlO2lmKCFzdHJtfHwhc3RybS5zdGF0ZSlyZXR1cm4gWl9TVFJFQU1fRVJST1I7c3RhdGU9c3RybS5zdGF0ZTtzdGF0ZS53c2l6ZT0wO3N0YXRlLndoYXZlPTA7c3RhdGUud25leHQ9MDtyZXR1cm4gaW5mbGF0ZVJlc2V0S2VlcChzdHJtKX1mdW5jdGlvbiBpbmZsYXRlUmVzZXQyKHN0cm0sd2luZG93Qml0cyl7dmFyIHdyYXA7dmFyIHN0YXRlO2lmKCFzdHJtfHwhc3RybS5zdGF0ZSlyZXR1cm4gWl9TVFJFQU1fRVJST1I7CnN0YXRlPXN0cm0uc3RhdGU7aWYod2luZG93Qml0czwwKXt3cmFwPTA7d2luZG93Qml0cz0td2luZG93Qml0c31lbHNle3dyYXA9KHdpbmRvd0JpdHM+PjQpKzE7aWYod2luZG93Qml0czw0OCl3aW5kb3dCaXRzJj0xNX1pZih3aW5kb3dCaXRzJiYod2luZG93Qml0czw4fHx3aW5kb3dCaXRzPjE1KSlyZXR1cm4gWl9TVFJFQU1fRVJST1I7aWYoc3RhdGUud2luZG93IT09bnVsbCYmc3RhdGUud2JpdHMhPT13aW5kb3dCaXRzKXN0YXRlLndpbmRvdz1udWxsO3N0YXRlLndyYXA9d3JhcDtzdGF0ZS53Yml0cz13aW5kb3dCaXRzO3JldHVybiBpbmZsYXRlUmVzZXQoc3RybSl9ZnVuY3Rpb24gaW5mbGF0ZUluaXQyKHN0cm0sd2luZG93Qml0cyl7dmFyIHJldDt2YXIgc3RhdGU7aWYoIXN0cm0pcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXRlPW5ldyBJbmZsYXRlU3RhdGU7c3RybS5zdGF0ZT1zdGF0ZTtzdGF0ZS53aW5kb3c9bnVsbDtyZXQ9aW5mbGF0ZVJlc2V0MihzdHJtLHdpbmRvd0JpdHMpOwppZihyZXQhPT1aX09LKXN0cm0uc3RhdGU9bnVsbDtyZXR1cm4gcmV0fWZ1bmN0aW9uIGluZmxhdGVJbml0KHN0cm0pe3JldHVybiBpbmZsYXRlSW5pdDIoc3RybSxERUZfV0JJVFMpfXZhciB2aXJnaW49dHJ1ZTt2YXIgbGVuZml4LGRpc3RmaXg7ZnVuY3Rpb24gZml4ZWR0YWJsZXMoc3RhdGUpe2lmKHZpcmdpbil7dmFyIHN5bTtsZW5maXg9bmV3IHV0aWxzLkJ1ZjMyKDUxMik7ZGlzdGZpeD1uZXcgdXRpbHMuQnVmMzIoMzIpO3N5bT0wO3doaWxlKHN5bTwxNDQpc3RhdGUubGVuc1tzeW0rK109ODt3aGlsZShzeW08MjU2KXN0YXRlLmxlbnNbc3ltKytdPTk7d2hpbGUoc3ltPDI4MClzdGF0ZS5sZW5zW3N5bSsrXT03O3doaWxlKHN5bTwyODgpc3RhdGUubGVuc1tzeW0rK109ODtpbmZsYXRlX3RhYmxlKExFTlMsc3RhdGUubGVucywwLDI4OCxsZW5maXgsMCxzdGF0ZS53b3JrLHtiaXRzOjl9KTtzeW09MDt3aGlsZShzeW08MzIpc3RhdGUubGVuc1tzeW0rK109NTtpbmZsYXRlX3RhYmxlKERJU1RTLApzdGF0ZS5sZW5zLDAsMzIsZGlzdGZpeCwwLHN0YXRlLndvcmsse2JpdHM6NX0pO3Zpcmdpbj1mYWxzZX1zdGF0ZS5sZW5jb2RlPWxlbmZpeDtzdGF0ZS5sZW5iaXRzPTk7c3RhdGUuZGlzdGNvZGU9ZGlzdGZpeDtzdGF0ZS5kaXN0Yml0cz01fWZ1bmN0aW9uIHVwZGF0ZXdpbmRvdyhzdHJtLHNyYyxlbmQsY29weSl7dmFyIGRpc3Q7dmFyIHN0YXRlPXN0cm0uc3RhdGU7aWYoc3RhdGUud2luZG93PT09bnVsbCl7c3RhdGUud3NpemU9MTw8c3RhdGUud2JpdHM7c3RhdGUud25leHQ9MDtzdGF0ZS53aGF2ZT0wO3N0YXRlLndpbmRvdz1uZXcgdXRpbHMuQnVmOChzdGF0ZS53c2l6ZSl9aWYoY29weT49c3RhdGUud3NpemUpe3V0aWxzLmFycmF5U2V0KHN0YXRlLndpbmRvdyxzcmMsZW5kLXN0YXRlLndzaXplLHN0YXRlLndzaXplLDApO3N0YXRlLnduZXh0PTA7c3RhdGUud2hhdmU9c3RhdGUud3NpemV9ZWxzZXtkaXN0PXN0YXRlLndzaXplLXN0YXRlLnduZXh0O2lmKGRpc3Q+Y29weSlkaXN0PQpjb3B5O3V0aWxzLmFycmF5U2V0KHN0YXRlLndpbmRvdyxzcmMsZW5kLWNvcHksZGlzdCxzdGF0ZS53bmV4dCk7Y29weS09ZGlzdDtpZihjb3B5KXt1dGlscy5hcnJheVNldChzdGF0ZS53aW5kb3csc3JjLGVuZC1jb3B5LGNvcHksMCk7c3RhdGUud25leHQ9Y29weTtzdGF0ZS53aGF2ZT1zdGF0ZS53c2l6ZX1lbHNle3N0YXRlLnduZXh0Kz1kaXN0O2lmKHN0YXRlLnduZXh0PT09c3RhdGUud3NpemUpc3RhdGUud25leHQ9MDtpZihzdGF0ZS53aGF2ZTxzdGF0ZS53c2l6ZSlzdGF0ZS53aGF2ZSs9ZGlzdH19cmV0dXJuIDB9ZnVuY3Rpb24gaW5mbGF0ZShzdHJtLGZsdXNoKXt2YXIgc3RhdGU7dmFyIGlucHV0LG91dHB1dDt2YXIgbmV4dDt2YXIgcHV0O3ZhciBoYXZlLGxlZnQ7dmFyIGhvbGQ7dmFyIGJpdHM7dmFyIF9pbixfb3V0O3ZhciBjb3B5O3ZhciBmcm9tO3ZhciBmcm9tX3NvdXJjZTt2YXIgaGVyZT0wO3ZhciBoZXJlX2JpdHMsaGVyZV9vcCxoZXJlX3ZhbDt2YXIgbGFzdF9iaXRzLApsYXN0X29wLGxhc3RfdmFsO3ZhciBsZW47dmFyIHJldDt2YXIgaGJ1Zj1uZXcgdXRpbHMuQnVmOCg0KTt2YXIgb3B0czt2YXIgbjt2YXIgb3JkZXI9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdO2lmKCFzdHJtfHwhc3RybS5zdGF0ZXx8IXN0cm0ub3V0cHV0fHwhc3RybS5pbnB1dCYmc3RybS5hdmFpbF9pbiE9PTApcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXRlPXN0cm0uc3RhdGU7aWYoc3RhdGUubW9kZT09PVRZUEUpc3RhdGUubW9kZT1UWVBFRE87cHV0PXN0cm0ubmV4dF9vdXQ7b3V0cHV0PXN0cm0ub3V0cHV0O2xlZnQ9c3RybS5hdmFpbF9vdXQ7bmV4dD1zdHJtLm5leHRfaW47aW5wdXQ9c3RybS5pbnB1dDtoYXZlPXN0cm0uYXZhaWxfaW47aG9sZD1zdGF0ZS5ob2xkO2JpdHM9c3RhdGUuYml0cztfaW49aGF2ZTtfb3V0PWxlZnQ7cmV0PVpfT0s7aW5mX2xlYXZlOmZvcig7Oylzd2l0Y2goc3RhdGUubW9kZSl7Y2FzZSBIRUFEOmlmKHN0YXRlLndyYXA9PT0KMCl7c3RhdGUubW9kZT1UWVBFRE87YnJlYWt9d2hpbGUoYml0czwxNil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aWYoc3RhdGUud3JhcCYyJiZob2xkPT09MzU2MTUpe3N0YXRlLmNoZWNrPTA7aGJ1ZlswXT1ob2xkJjI1NTtoYnVmWzFdPWhvbGQ+Pj44JjI1NTtzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxoYnVmLDIsMCk7aG9sZD0wO2JpdHM9MDtzdGF0ZS5tb2RlPUZMQUdTO2JyZWFrfXN0YXRlLmZsYWdzPTA7aWYoc3RhdGUuaGVhZClzdGF0ZS5oZWFkLmRvbmU9ZmFsc2U7aWYoIShzdGF0ZS53cmFwJjEpfHwoKChob2xkJjI1NSk8PDgpKyhob2xkPj44KSklMzEpe3N0cm0ubXNnPSJpbmNvcnJlY3QgaGVhZGVyIGNoZWNrIjtzdGF0ZS5tb2RlPUJBRDticmVha31pZigoaG9sZCYxNSkhPT1aX0RFRkxBVEVEKXtzdHJtLm1zZz0idW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QiO3N0YXRlLm1vZGU9CkJBRDticmVha31ob2xkPj4+PTQ7Yml0cy09NDtsZW49KGhvbGQmMTUpKzg7aWYoc3RhdGUud2JpdHM9PT0wKXN0YXRlLndiaXRzPWxlbjtlbHNlIGlmKGxlbj5zdGF0ZS53Yml0cyl7c3RybS5tc2c9ImludmFsaWQgd2luZG93IHNpemUiO3N0YXRlLm1vZGU9QkFEO2JyZWFrfXN0YXRlLmRtYXg9MTw8bGVuO3N0cm0uYWRsZXI9c3RhdGUuY2hlY2s9MTtzdGF0ZS5tb2RlPWhvbGQmNTEyP0RJQ1RJRDpUWVBFO2hvbGQ9MDtiaXRzPTA7YnJlYWs7Y2FzZSBGTEFHUzp3aGlsZShiaXRzPDE2KXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1zdGF0ZS5mbGFncz1ob2xkO2lmKChzdGF0ZS5mbGFncyYyNTUpIT09Wl9ERUZMQVRFRCl7c3RybS5tc2c9InVua25vd24gY29tcHJlc3Npb24gbWV0aG9kIjtzdGF0ZS5tb2RlPUJBRDticmVha31pZihzdGF0ZS5mbGFncyY1NzM0NCl7c3RybS5tc2c9InVua25vd24gaGVhZGVyIGZsYWdzIHNldCI7CnN0YXRlLm1vZGU9QkFEO2JyZWFrfWlmKHN0YXRlLmhlYWQpc3RhdGUuaGVhZC50ZXh0PWhvbGQ+PjgmMTtpZihzdGF0ZS5mbGFncyY1MTIpe2hidWZbMF09aG9sZCYyNTU7aGJ1ZlsxXT1ob2xkPj4+OCYyNTU7c3RhdGUuY2hlY2s9Y3JjMzIoc3RhdGUuY2hlY2ssaGJ1ZiwyLDApfWhvbGQ9MDtiaXRzPTA7c3RhdGUubW9kZT1USU1FO2Nhc2UgVElNRTp3aGlsZShiaXRzPDMyKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1pZihzdGF0ZS5oZWFkKXN0YXRlLmhlYWQudGltZT1ob2xkO2lmKHN0YXRlLmZsYWdzJjUxMil7aGJ1ZlswXT1ob2xkJjI1NTtoYnVmWzFdPWhvbGQ+Pj44JjI1NTtoYnVmWzJdPWhvbGQ+Pj4xNiYyNTU7aGJ1ZlszXT1ob2xkPj4+MjQmMjU1O3N0YXRlLmNoZWNrPWNyYzMyKHN0YXRlLmNoZWNrLGhidWYsNCwwKX1ob2xkPTA7Yml0cz0wO3N0YXRlLm1vZGU9T1M7Y2FzZSBPUzp3aGlsZShiaXRzPAoxNil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aWYoc3RhdGUuaGVhZCl7c3RhdGUuaGVhZC54ZmxhZ3M9aG9sZCYyNTU7c3RhdGUuaGVhZC5vcz1ob2xkPj44fWlmKHN0YXRlLmZsYWdzJjUxMil7aGJ1ZlswXT1ob2xkJjI1NTtoYnVmWzFdPWhvbGQ+Pj44JjI1NTtzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxoYnVmLDIsMCl9aG9sZD0wO2JpdHM9MDtzdGF0ZS5tb2RlPUVYTEVOO2Nhc2UgRVhMRU46aWYoc3RhdGUuZmxhZ3MmMTAyNCl7d2hpbGUoYml0czwxNil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9c3RhdGUubGVuZ3RoPWhvbGQ7aWYoc3RhdGUuaGVhZClzdGF0ZS5oZWFkLmV4dHJhX2xlbj1ob2xkO2lmKHN0YXRlLmZsYWdzJjUxMil7aGJ1ZlswXT1ob2xkJjI1NTtoYnVmWzFdPWhvbGQ+Pj44JjI1NTtzdGF0ZS5jaGVjaz0KY3JjMzIoc3RhdGUuY2hlY2ssaGJ1ZiwyLDApfWhvbGQ9MDtiaXRzPTB9ZWxzZSBpZihzdGF0ZS5oZWFkKXN0YXRlLmhlYWQuZXh0cmE9bnVsbDtzdGF0ZS5tb2RlPUVYVFJBO2Nhc2UgRVhUUkE6aWYoc3RhdGUuZmxhZ3MmMTAyNCl7Y29weT1zdGF0ZS5sZW5ndGg7aWYoY29weT5oYXZlKWNvcHk9aGF2ZTtpZihjb3B5KXtpZihzdGF0ZS5oZWFkKXtsZW49c3RhdGUuaGVhZC5leHRyYV9sZW4tc3RhdGUubGVuZ3RoO2lmKCFzdGF0ZS5oZWFkLmV4dHJhKXN0YXRlLmhlYWQuZXh0cmE9bmV3IEFycmF5KHN0YXRlLmhlYWQuZXh0cmFfbGVuKTt1dGlscy5hcnJheVNldChzdGF0ZS5oZWFkLmV4dHJhLGlucHV0LG5leHQsY29weSxsZW4pfWlmKHN0YXRlLmZsYWdzJjUxMilzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxpbnB1dCxjb3B5LG5leHQpO2hhdmUtPWNvcHk7bmV4dCs9Y29weTtzdGF0ZS5sZW5ndGgtPWNvcHl9aWYoc3RhdGUubGVuZ3RoKWJyZWFrIGluZl9sZWF2ZX1zdGF0ZS5sZW5ndGg9CjA7c3RhdGUubW9kZT1OQU1FO2Nhc2UgTkFNRTppZihzdGF0ZS5mbGFncyYyMDQ4KXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7Y29weT0wO2Rve2xlbj1pbnB1dFtuZXh0K2NvcHkrK107aWYoc3RhdGUuaGVhZCYmbGVuJiZzdGF0ZS5sZW5ndGg8NjU1MzYpc3RhdGUuaGVhZC5uYW1lKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGxlbil9d2hpbGUobGVuJiZjb3B5PGhhdmUpO2lmKHN0YXRlLmZsYWdzJjUxMilzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxpbnB1dCxjb3B5LG5leHQpO2hhdmUtPWNvcHk7bmV4dCs9Y29weTtpZihsZW4pYnJlYWsgaW5mX2xlYXZlfWVsc2UgaWYoc3RhdGUuaGVhZClzdGF0ZS5oZWFkLm5hbWU9bnVsbDtzdGF0ZS5sZW5ndGg9MDtzdGF0ZS5tb2RlPUNPTU1FTlQ7Y2FzZSBDT01NRU5UOmlmKHN0YXRlLmZsYWdzJjQwOTYpe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtjb3B5PTA7ZG97bGVuPWlucHV0W25leHQrY29weSsrXTtpZihzdGF0ZS5oZWFkJiYKbGVuJiZzdGF0ZS5sZW5ndGg8NjU1MzYpc3RhdGUuaGVhZC5jb21tZW50Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGxlbil9d2hpbGUobGVuJiZjb3B5PGhhdmUpO2lmKHN0YXRlLmZsYWdzJjUxMilzdGF0ZS5jaGVjaz1jcmMzMihzdGF0ZS5jaGVjayxpbnB1dCxjb3B5LG5leHQpO2hhdmUtPWNvcHk7bmV4dCs9Y29weTtpZihsZW4pYnJlYWsgaW5mX2xlYXZlfWVsc2UgaWYoc3RhdGUuaGVhZClzdGF0ZS5oZWFkLmNvbW1lbnQ9bnVsbDtzdGF0ZS5tb2RlPUhDUkM7Y2FzZSBIQ1JDOmlmKHN0YXRlLmZsYWdzJjUxMil7d2hpbGUoYml0czwxNil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aWYoaG9sZCE9PShzdGF0ZS5jaGVjayY2NTUzNSkpe3N0cm0ubXNnPSJoZWFkZXIgY3JjIG1pc21hdGNoIjtzdGF0ZS5tb2RlPUJBRDticmVha31ob2xkPTA7Yml0cz0wfWlmKHN0YXRlLmhlYWQpe3N0YXRlLmhlYWQuaGNyYz0Kc3RhdGUuZmxhZ3M+PjkmMTtzdGF0ZS5oZWFkLmRvbmU9dHJ1ZX1zdHJtLmFkbGVyPXN0YXRlLmNoZWNrPTA7c3RhdGUubW9kZT1UWVBFO2JyZWFrO2Nhc2UgRElDVElEOndoaWxlKGJpdHM8MzIpe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtoYXZlLS07aG9sZCs9aW5wdXRbbmV4dCsrXTw8Yml0cztiaXRzKz04fXN0cm0uYWRsZXI9c3RhdGUuY2hlY2s9WlNXQVAzMihob2xkKTtob2xkPTA7Yml0cz0wO3N0YXRlLm1vZGU9RElDVDtjYXNlIERJQ1Q6aWYoc3RhdGUuaGF2ZWRpY3Q9PT0wKXtzdHJtLm5leHRfb3V0PXB1dDtzdHJtLmF2YWlsX291dD1sZWZ0O3N0cm0ubmV4dF9pbj1uZXh0O3N0cm0uYXZhaWxfaW49aGF2ZTtzdGF0ZS5ob2xkPWhvbGQ7c3RhdGUuYml0cz1iaXRzO3JldHVybiBaX05FRURfRElDVH1zdHJtLmFkbGVyPXN0YXRlLmNoZWNrPTE7c3RhdGUubW9kZT1UWVBFO2Nhc2UgVFlQRTppZihmbHVzaD09PVpfQkxPQ0t8fGZsdXNoPT09Wl9UUkVFUylicmVhayBpbmZfbGVhdmU7CmNhc2UgVFlQRURPOmlmKHN0YXRlLmxhc3Qpe2hvbGQ+Pj49Yml0cyY3O2JpdHMtPWJpdHMmNztzdGF0ZS5tb2RlPUNIRUNLO2JyZWFrfXdoaWxlKGJpdHM8Myl7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9c3RhdGUubGFzdD1ob2xkJjE7aG9sZD4+Pj0xO2JpdHMtPTE7c3dpdGNoKGhvbGQmMyl7Y2FzZSAwOnN0YXRlLm1vZGU9U1RPUkVEO2JyZWFrO2Nhc2UgMTpmaXhlZHRhYmxlcyhzdGF0ZSk7c3RhdGUubW9kZT1MRU5fO2lmKGZsdXNoPT09Wl9UUkVFUyl7aG9sZD4+Pj0yO2JpdHMtPTI7YnJlYWsgaW5mX2xlYXZlfWJyZWFrO2Nhc2UgMjpzdGF0ZS5tb2RlPVRBQkxFO2JyZWFrO2Nhc2UgMzpzdHJtLm1zZz0iaW52YWxpZCBibG9jayB0eXBlIjtzdGF0ZS5tb2RlPUJBRH1ob2xkPj4+PTI7Yml0cy09MjticmVhaztjYXNlIFNUT1JFRDpob2xkPj4+PWJpdHMmNztiaXRzLT1iaXRzJjc7d2hpbGUoYml0czwKMzIpe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtoYXZlLS07aG9sZCs9aW5wdXRbbmV4dCsrXTw8Yml0cztiaXRzKz04fWlmKChob2xkJjY1NTM1KSE9PShob2xkPj4+MTZeNjU1MzUpKXtzdHJtLm1zZz0iaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocyI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUubGVuZ3RoPWhvbGQmNjU1MzU7aG9sZD0wO2JpdHM9MDtzdGF0ZS5tb2RlPUNPUFlfO2lmKGZsdXNoPT09Wl9UUkVFUylicmVhayBpbmZfbGVhdmU7Y2FzZSBDT1BZXzpzdGF0ZS5tb2RlPUNPUFk7Y2FzZSBDT1BZOmNvcHk9c3RhdGUubGVuZ3RoO2lmKGNvcHkpe2lmKGNvcHk+aGF2ZSljb3B5PWhhdmU7aWYoY29weT5sZWZ0KWNvcHk9bGVmdDtpZihjb3B5PT09MClicmVhayBpbmZfbGVhdmU7dXRpbHMuYXJyYXlTZXQob3V0cHV0LGlucHV0LG5leHQsY29weSxwdXQpO2hhdmUtPWNvcHk7bmV4dCs9Y29weTtsZWZ0LT1jb3B5O3B1dCs9Y29weTtzdGF0ZS5sZW5ndGgtPWNvcHk7CmJyZWFrfXN0YXRlLm1vZGU9VFlQRTticmVhaztjYXNlIFRBQkxFOndoaWxlKGJpdHM8MTQpe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtoYXZlLS07aG9sZCs9aW5wdXRbbmV4dCsrXTw8Yml0cztiaXRzKz04fXN0YXRlLm5sZW49KGhvbGQmMzEpKzI1Nztob2xkPj4+PTU7Yml0cy09NTtzdGF0ZS5uZGlzdD0oaG9sZCYzMSkrMTtob2xkPj4+PTU7Yml0cy09NTtzdGF0ZS5uY29kZT0oaG9sZCYxNSkrNDtob2xkPj4+PTQ7Yml0cy09NDtpZihzdGF0ZS5ubGVuPjI4Nnx8c3RhdGUubmRpc3Q+MzApe3N0cm0ubXNnPSJ0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scyI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUuaGF2ZT0wO3N0YXRlLm1vZGU9TEVOTEVOUztjYXNlIExFTkxFTlM6d2hpbGUoc3RhdGUuaGF2ZTxzdGF0ZS5uY29kZSl7d2hpbGUoYml0czwzKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7CmJpdHMrPTh9c3RhdGUubGVuc1tvcmRlcltzdGF0ZS5oYXZlKytdXT1ob2xkJjc7aG9sZD4+Pj0zO2JpdHMtPTN9d2hpbGUoc3RhdGUuaGF2ZTwxOSlzdGF0ZS5sZW5zW29yZGVyW3N0YXRlLmhhdmUrK11dPTA7c3RhdGUubGVuY29kZT1zdGF0ZS5sZW5keW47c3RhdGUubGVuYml0cz03O29wdHM9e2JpdHM6c3RhdGUubGVuYml0c307cmV0PWluZmxhdGVfdGFibGUoQ09ERVMsc3RhdGUubGVucywwLDE5LHN0YXRlLmxlbmNvZGUsMCxzdGF0ZS53b3JrLG9wdHMpO3N0YXRlLmxlbmJpdHM9b3B0cy5iaXRzO2lmKHJldCl7c3RybS5tc2c9ImludmFsaWQgY29kZSBsZW5ndGhzIHNldCI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUuaGF2ZT0wO3N0YXRlLm1vZGU9Q09ERUxFTlM7Y2FzZSBDT0RFTEVOUzp3aGlsZShzdGF0ZS5oYXZlPHN0YXRlLm5sZW4rc3RhdGUubmRpc3Qpe2Zvcig7Oyl7aGVyZT1zdGF0ZS5sZW5jb2RlW2hvbGQmKDE8PHN0YXRlLmxlbmJpdHMpLTFdO2hlcmVfYml0cz0KaGVyZT4+PjI0O2hlcmVfb3A9aGVyZT4+PjE2JjI1NTtoZXJlX3ZhbD1oZXJlJjY1NTM1O2lmKGhlcmVfYml0czw9Yml0cylicmVhaztpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1pZihoZXJlX3ZhbDwxNil7aG9sZD4+Pj1oZXJlX2JpdHM7Yml0cy09aGVyZV9iaXRzO3N0YXRlLmxlbnNbc3RhdGUuaGF2ZSsrXT1oZXJlX3ZhbH1lbHNle2lmKGhlcmVfdmFsPT09MTYpe249aGVyZV9iaXRzKzI7d2hpbGUoYml0czxuKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1ob2xkPj4+PWhlcmVfYml0cztiaXRzLT1oZXJlX2JpdHM7aWYoc3RhdGUuaGF2ZT09PTApe3N0cm0ubXNnPSJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0IjtzdGF0ZS5tb2RlPUJBRDticmVha31sZW49c3RhdGUubGVuc1tzdGF0ZS5oYXZlLTFdO2NvcHk9MysoaG9sZCYKMyk7aG9sZD4+Pj0yO2JpdHMtPTJ9ZWxzZSBpZihoZXJlX3ZhbD09PTE3KXtuPWhlcmVfYml0cyszO3doaWxlKGJpdHM8bil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aG9sZD4+Pj1oZXJlX2JpdHM7Yml0cy09aGVyZV9iaXRzO2xlbj0wO2NvcHk9MysoaG9sZCY3KTtob2xkPj4+PTM7Yml0cy09M31lbHNle249aGVyZV9iaXRzKzc7d2hpbGUoYml0czxuKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1ob2xkPj4+PWhlcmVfYml0cztiaXRzLT1oZXJlX2JpdHM7bGVuPTA7Y29weT0xMSsoaG9sZCYxMjcpO2hvbGQ+Pj49NztiaXRzLT03fWlmKHN0YXRlLmhhdmUrY29weT5zdGF0ZS5ubGVuK3N0YXRlLm5kaXN0KXtzdHJtLm1zZz0iaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdCI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9d2hpbGUoY29weS0tKXN0YXRlLmxlbnNbc3RhdGUuaGF2ZSsrXT0KbGVufX1pZihzdGF0ZS5tb2RlPT09QkFEKWJyZWFrO2lmKHN0YXRlLmxlbnNbMjU2XT09PTApe3N0cm0ubXNnPSJpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2siO3N0YXRlLm1vZGU9QkFEO2JyZWFrfXN0YXRlLmxlbmJpdHM9OTtvcHRzPXtiaXRzOnN0YXRlLmxlbmJpdHN9O3JldD1pbmZsYXRlX3RhYmxlKExFTlMsc3RhdGUubGVucywwLHN0YXRlLm5sZW4sc3RhdGUubGVuY29kZSwwLHN0YXRlLndvcmssb3B0cyk7c3RhdGUubGVuYml0cz1vcHRzLmJpdHM7aWYocmV0KXtzdHJtLm1zZz0iaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0IjtzdGF0ZS5tb2RlPUJBRDticmVha31zdGF0ZS5kaXN0Yml0cz02O3N0YXRlLmRpc3Rjb2RlPXN0YXRlLmRpc3RkeW47b3B0cz17Yml0czpzdGF0ZS5kaXN0Yml0c307cmV0PWluZmxhdGVfdGFibGUoRElTVFMsc3RhdGUubGVucyxzdGF0ZS5ubGVuLHN0YXRlLm5kaXN0LHN0YXRlLmRpc3Rjb2RlLDAsc3RhdGUud29yayxvcHRzKTsKc3RhdGUuZGlzdGJpdHM9b3B0cy5iaXRzO2lmKHJldCl7c3RybS5tc2c9ImludmFsaWQgZGlzdGFuY2VzIHNldCI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUubW9kZT1MRU5fO2lmKGZsdXNoPT09Wl9UUkVFUylicmVhayBpbmZfbGVhdmU7Y2FzZSBMRU5fOnN0YXRlLm1vZGU9TEVOO2Nhc2UgTEVOOmlmKGhhdmU+PTYmJmxlZnQ+PTI1OCl7c3RybS5uZXh0X291dD1wdXQ7c3RybS5hdmFpbF9vdXQ9bGVmdDtzdHJtLm5leHRfaW49bmV4dDtzdHJtLmF2YWlsX2luPWhhdmU7c3RhdGUuaG9sZD1ob2xkO3N0YXRlLmJpdHM9Yml0cztpbmZsYXRlX2Zhc3Qoc3RybSxfb3V0KTtwdXQ9c3RybS5uZXh0X291dDtvdXRwdXQ9c3RybS5vdXRwdXQ7bGVmdD1zdHJtLmF2YWlsX291dDtuZXh0PXN0cm0ubmV4dF9pbjtpbnB1dD1zdHJtLmlucHV0O2hhdmU9c3RybS5hdmFpbF9pbjtob2xkPXN0YXRlLmhvbGQ7Yml0cz1zdGF0ZS5iaXRzO2lmKHN0YXRlLm1vZGU9PT1UWVBFKXN0YXRlLmJhY2s9Ci0xO2JyZWFrfXN0YXRlLmJhY2s9MDtmb3IoOzspe2hlcmU9c3RhdGUubGVuY29kZVtob2xkJigxPDxzdGF0ZS5sZW5iaXRzKS0xXTtoZXJlX2JpdHM9aGVyZT4+PjI0O2hlcmVfb3A9aGVyZT4+PjE2JjI1NTtoZXJlX3ZhbD1oZXJlJjY1NTM1O2lmKGhlcmVfYml0czw9Yml0cylicmVhaztpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1pZihoZXJlX29wJiYoaGVyZV9vcCYyNDApPT09MCl7bGFzdF9iaXRzPWhlcmVfYml0cztsYXN0X29wPWhlcmVfb3A7bGFzdF92YWw9aGVyZV92YWw7Zm9yKDs7KXtoZXJlPXN0YXRlLmxlbmNvZGVbbGFzdF92YWwrKChob2xkJigxPDxsYXN0X2JpdHMrbGFzdF9vcCktMSk+Pmxhc3RfYml0cyldO2hlcmVfYml0cz1oZXJlPj4+MjQ7aGVyZV9vcD1oZXJlPj4+MTYmMjU1O2hlcmVfdmFsPWhlcmUmNjU1MzU7aWYobGFzdF9iaXRzK2hlcmVfYml0czw9Yml0cylicmVhaztpZihoYXZlPT09CjApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aG9sZD4+Pj1sYXN0X2JpdHM7Yml0cy09bGFzdF9iaXRzO3N0YXRlLmJhY2srPWxhc3RfYml0c31ob2xkPj4+PWhlcmVfYml0cztiaXRzLT1oZXJlX2JpdHM7c3RhdGUuYmFjays9aGVyZV9iaXRzO3N0YXRlLmxlbmd0aD1oZXJlX3ZhbDtpZihoZXJlX29wPT09MCl7c3RhdGUubW9kZT1MSVQ7YnJlYWt9aWYoaGVyZV9vcCYzMil7c3RhdGUuYmFjaz0tMTtzdGF0ZS5tb2RlPVRZUEU7YnJlYWt9aWYoaGVyZV9vcCY2NCl7c3RybS5tc2c9ImludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZSI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUuZXh0cmE9aGVyZV9vcCYxNTtzdGF0ZS5tb2RlPUxFTkVYVDtjYXNlIExFTkVYVDppZihzdGF0ZS5leHRyYSl7bj1zdGF0ZS5leHRyYTt3aGlsZShiaXRzPG4pe2lmKGhhdmU9PT0wKWJyZWFrIGluZl9sZWF2ZTtoYXZlLS07aG9sZCs9aW5wdXRbbmV4dCsrXTw8CmJpdHM7Yml0cys9OH1zdGF0ZS5sZW5ndGgrPWhvbGQmKDE8PHN0YXRlLmV4dHJhKS0xO2hvbGQ+Pj49c3RhdGUuZXh0cmE7Yml0cy09c3RhdGUuZXh0cmE7c3RhdGUuYmFjays9c3RhdGUuZXh0cmF9c3RhdGUud2FzPXN0YXRlLmxlbmd0aDtzdGF0ZS5tb2RlPURJU1Q7Y2FzZSBESVNUOmZvcig7Oyl7aGVyZT1zdGF0ZS5kaXN0Y29kZVtob2xkJigxPDxzdGF0ZS5kaXN0Yml0cyktMV07aGVyZV9iaXRzPWhlcmU+Pj4yNDtoZXJlX29wPWhlcmU+Pj4xNiYyNTU7aGVyZV92YWw9aGVyZSY2NTUzNTtpZihoZXJlX2JpdHM8PWJpdHMpYnJlYWs7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkKz1pbnB1dFtuZXh0KytdPDxiaXRzO2JpdHMrPTh9aWYoKGhlcmVfb3AmMjQwKT09PTApe2xhc3RfYml0cz1oZXJlX2JpdHM7bGFzdF9vcD1oZXJlX29wO2xhc3RfdmFsPWhlcmVfdmFsO2Zvcig7Oyl7aGVyZT1zdGF0ZS5kaXN0Y29kZVtsYXN0X3ZhbCsoKGhvbGQmKDE8PGxhc3RfYml0cysKbGFzdF9vcCktMSk+Pmxhc3RfYml0cyldO2hlcmVfYml0cz1oZXJlPj4+MjQ7aGVyZV9vcD1oZXJlPj4+MTYmMjU1O2hlcmVfdmFsPWhlcmUmNjU1MzU7aWYobGFzdF9iaXRzK2hlcmVfYml0czw9Yml0cylicmVhaztpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1ob2xkPj4+PWxhc3RfYml0cztiaXRzLT1sYXN0X2JpdHM7c3RhdGUuYmFjays9bGFzdF9iaXRzfWhvbGQ+Pj49aGVyZV9iaXRzO2JpdHMtPWhlcmVfYml0cztzdGF0ZS5iYWNrKz1oZXJlX2JpdHM7aWYoaGVyZV9vcCY2NCl7c3RybS5tc2c9ImludmFsaWQgZGlzdGFuY2UgY29kZSI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUub2Zmc2V0PWhlcmVfdmFsO3N0YXRlLmV4dHJhPWhlcmVfb3AmMTU7c3RhdGUubW9kZT1ESVNURVhUO2Nhc2UgRElTVEVYVDppZihzdGF0ZS5leHRyYSl7bj1zdGF0ZS5leHRyYTt3aGlsZShiaXRzPG4pe2lmKGhhdmU9PT0KMClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1zdGF0ZS5vZmZzZXQrPWhvbGQmKDE8PHN0YXRlLmV4dHJhKS0xO2hvbGQ+Pj49c3RhdGUuZXh0cmE7Yml0cy09c3RhdGUuZXh0cmE7c3RhdGUuYmFjays9c3RhdGUuZXh0cmF9aWYoc3RhdGUub2Zmc2V0PnN0YXRlLmRtYXgpe3N0cm0ubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9c3RhdGUubW9kZT1NQVRDSDtjYXNlIE1BVENIOmlmKGxlZnQ9PT0wKWJyZWFrIGluZl9sZWF2ZTtjb3B5PV9vdXQtbGVmdDtpZihzdGF0ZS5vZmZzZXQ+Y29weSl7Y29weT1zdGF0ZS5vZmZzZXQtY29weTtpZihjb3B5PnN0YXRlLndoYXZlKWlmKHN0YXRlLnNhbmUpe3N0cm0ubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayI7c3RhdGUubW9kZT1CQUQ7YnJlYWt9aWYoY29weT5zdGF0ZS53bmV4dCl7Y29weS09c3RhdGUud25leHQ7CmZyb209c3RhdGUud3NpemUtY29weX1lbHNlIGZyb209c3RhdGUud25leHQtY29weTtpZihjb3B5PnN0YXRlLmxlbmd0aCljb3B5PXN0YXRlLmxlbmd0aDtmcm9tX3NvdXJjZT1zdGF0ZS53aW5kb3d9ZWxzZXtmcm9tX3NvdXJjZT1vdXRwdXQ7ZnJvbT1wdXQtc3RhdGUub2Zmc2V0O2NvcHk9c3RhdGUubGVuZ3RofWlmKGNvcHk+bGVmdCljb3B5PWxlZnQ7bGVmdC09Y29weTtzdGF0ZS5sZW5ndGgtPWNvcHk7ZG8gb3V0cHV0W3B1dCsrXT1mcm9tX3NvdXJjZVtmcm9tKytdO3doaWxlKC0tY29weSk7aWYoc3RhdGUubGVuZ3RoPT09MClzdGF0ZS5tb2RlPUxFTjticmVhaztjYXNlIExJVDppZihsZWZ0PT09MClicmVhayBpbmZfbGVhdmU7b3V0cHV0W3B1dCsrXT1zdGF0ZS5sZW5ndGg7bGVmdC0tO3N0YXRlLm1vZGU9TEVOO2JyZWFrO2Nhc2UgQ0hFQ0s6aWYoc3RhdGUud3JhcCl7d2hpbGUoYml0czwzMil7aWYoaGF2ZT09PTApYnJlYWsgaW5mX2xlYXZlO2hhdmUtLTtob2xkfD1pbnB1dFtuZXh0KytdPDwKYml0cztiaXRzKz04fV9vdXQtPWxlZnQ7c3RybS50b3RhbF9vdXQrPV9vdXQ7c3RhdGUudG90YWwrPV9vdXQ7aWYoX291dClzdHJtLmFkbGVyPXN0YXRlLmNoZWNrPXN0YXRlLmZsYWdzP2NyYzMyKHN0YXRlLmNoZWNrLG91dHB1dCxfb3V0LHB1dC1fb3V0KTphZGxlcjMyKHN0YXRlLmNoZWNrLG91dHB1dCxfb3V0LHB1dC1fb3V0KTtfb3V0PWxlZnQ7aWYoKHN0YXRlLmZsYWdzP2hvbGQ6WlNXQVAzMihob2xkKSkhPT1zdGF0ZS5jaGVjayl7c3RybS5tc2c9ImluY29ycmVjdCBkYXRhIGNoZWNrIjtzdGF0ZS5tb2RlPUJBRDticmVha31ob2xkPTA7Yml0cz0wfXN0YXRlLm1vZGU9TEVOR1RIO2Nhc2UgTEVOR1RIOmlmKHN0YXRlLndyYXAmJnN0YXRlLmZsYWdzKXt3aGlsZShiaXRzPDMyKXtpZihoYXZlPT09MClicmVhayBpbmZfbGVhdmU7aGF2ZS0tO2hvbGQrPWlucHV0W25leHQrK108PGJpdHM7Yml0cys9OH1pZihob2xkIT09KHN0YXRlLnRvdGFsJjQyOTQ5NjcyOTUpKXtzdHJtLm1zZz0KImluY29ycmVjdCBsZW5ndGggY2hlY2siO3N0YXRlLm1vZGU9QkFEO2JyZWFrfWhvbGQ9MDtiaXRzPTB9c3RhdGUubW9kZT1ET05FO2Nhc2UgRE9ORTpyZXQ9Wl9TVFJFQU1fRU5EO2JyZWFrIGluZl9sZWF2ZTtjYXNlIEJBRDpyZXQ9Wl9EQVRBX0VSUk9SO2JyZWFrIGluZl9sZWF2ZTtjYXNlIE1FTTpyZXR1cm4gWl9NRU1fRVJST1I7Y2FzZSBTWU5DOmRlZmF1bHQ6cmV0dXJuIFpfU1RSRUFNX0VSUk9SfXN0cm0ubmV4dF9vdXQ9cHV0O3N0cm0uYXZhaWxfb3V0PWxlZnQ7c3RybS5uZXh0X2luPW5leHQ7c3RybS5hdmFpbF9pbj1oYXZlO3N0YXRlLmhvbGQ9aG9sZDtzdGF0ZS5iaXRzPWJpdHM7aWYoc3RhdGUud3NpemV8fF9vdXQhPT1zdHJtLmF2YWlsX291dCYmc3RhdGUubW9kZTxCQUQmJihzdGF0ZS5tb2RlPENIRUNLfHxmbHVzaCE9PVpfRklOSVNIKSlpZih1cGRhdGV3aW5kb3coc3RybSxzdHJtLm91dHB1dCxzdHJtLm5leHRfb3V0LF9vdXQtc3RybS5hdmFpbF9vdXQpKXtzdGF0ZS5tb2RlPQpNRU07cmV0dXJuIFpfTUVNX0VSUk9SfV9pbi09c3RybS5hdmFpbF9pbjtfb3V0LT1zdHJtLmF2YWlsX291dDtzdHJtLnRvdGFsX2luKz1faW47c3RybS50b3RhbF9vdXQrPV9vdXQ7c3RhdGUudG90YWwrPV9vdXQ7aWYoc3RhdGUud3JhcCYmX291dClzdHJtLmFkbGVyPXN0YXRlLmNoZWNrPXN0YXRlLmZsYWdzP2NyYzMyKHN0YXRlLmNoZWNrLG91dHB1dCxfb3V0LHN0cm0ubmV4dF9vdXQtX291dCk6YWRsZXIzMihzdGF0ZS5jaGVjayxvdXRwdXQsX291dCxzdHJtLm5leHRfb3V0LV9vdXQpO3N0cm0uZGF0YV90eXBlPXN0YXRlLmJpdHMrKHN0YXRlLmxhc3Q/NjQ6MCkrKHN0YXRlLm1vZGU9PT1UWVBFPzEyODowKSsoc3RhdGUubW9kZT09PUxFTl98fHN0YXRlLm1vZGU9PT1DT1BZXz8yNTY6MCk7aWYoKF9pbj09PTAmJl9vdXQ9PT0wfHxmbHVzaD09PVpfRklOSVNIKSYmcmV0PT09Wl9PSylyZXQ9Wl9CVUZfRVJST1I7cmV0dXJuIHJldH1mdW5jdGlvbiBpbmZsYXRlRW5kKHN0cm0pe2lmKCFzdHJtfHwKIXN0cm0uc3RhdGUpcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3ZhciBzdGF0ZT1zdHJtLnN0YXRlO2lmKHN0YXRlLndpbmRvdylzdGF0ZS53aW5kb3c9bnVsbDtzdHJtLnN0YXRlPW51bGw7cmV0dXJuIFpfT0t9ZnVuY3Rpb24gaW5mbGF0ZUdldEhlYWRlcihzdHJtLGhlYWQpe3ZhciBzdGF0ZTtpZighc3RybXx8IXN0cm0uc3RhdGUpcmV0dXJuIFpfU1RSRUFNX0VSUk9SO3N0YXRlPXN0cm0uc3RhdGU7aWYoKHN0YXRlLndyYXAmMik9PT0wKXJldHVybiBaX1NUUkVBTV9FUlJPUjtzdGF0ZS5oZWFkPWhlYWQ7aGVhZC5kb25lPWZhbHNlO3JldHVybiBaX09LfWV4cG9ydHMuaW5mbGF0ZVJlc2V0PWluZmxhdGVSZXNldDtleHBvcnRzLmluZmxhdGVSZXNldDI9aW5mbGF0ZVJlc2V0MjtleHBvcnRzLmluZmxhdGVSZXNldEtlZXA9aW5mbGF0ZVJlc2V0S2VlcDtleHBvcnRzLmluZmxhdGVJbml0PWluZmxhdGVJbml0O2V4cG9ydHMuaW5mbGF0ZUluaXQyPWluZmxhdGVJbml0MjtleHBvcnRzLmluZmxhdGU9CmluZmxhdGU7ZXhwb3J0cy5pbmZsYXRlRW5kPWluZmxhdGVFbmQ7ZXhwb3J0cy5pbmZsYXRlR2V0SGVhZGVyPWluZmxhdGVHZXRIZWFkZXI7ZXhwb3J0cy5pbmZsYXRlSW5mbz0icGFrbyBpbmZsYXRlIChmcm9tIE5vZGVjYSBwcm9qZWN0KSJ9LHsiLi4vdXRpbHMvY29tbW9uIjoyNywiLi9hZGxlcjMyIjoyOSwiLi9jcmMzMiI6MzEsIi4vaW5mZmFzdCI6MzQsIi4vaW5mdHJlZXMiOjM2fV0sMzY6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe3ZhciB1dGlscz1fZGVyZXFfKCIuLi91dGlscy9jb21tb24iKTt2YXIgTUFYQklUUz0xNTt2YXIgRU5PVUdIX0xFTlM9ODUyO3ZhciBFTk9VR0hfRElTVFM9NTkyO3ZhciBDT0RFUz0wO3ZhciBMRU5TPTE7dmFyIERJU1RTPTI7dmFyIGxiYXNlPVszLDQsNSw2LDcsOCw5LDEwLDExLDEzLDE1LDE3LDE5LDIzLDI3LDMxLDM1LDQzLDUxLDU5LDY3LDgzLDk5LDExNSwxMzEsMTYzLDE5NSwyMjcsMjU4LDAsMF07dmFyIGxleHQ9WzE2LAoxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNywxNywxNywxNywxOCwxOCwxOCwxOCwxOSwxOSwxOSwxOSwyMCwyMCwyMCwyMCwyMSwyMSwyMSwyMSwxNiw3Miw3OF07dmFyIGRiYXNlPVsxLDIsMyw0LDUsNyw5LDEzLDE3LDI1LDMzLDQ5LDY1LDk3LDEyOSwxOTMsMjU3LDM4NSw1MTMsNzY5LDEwMjUsMTUzNywyMDQ5LDMwNzMsNDA5Nyw2MTQ1LDgxOTMsMTIyODksMTYzODUsMjQ1NzcsMCwwXTt2YXIgZGV4dD1bMTYsMTYsMTYsMTYsMTcsMTcsMTgsMTgsMTksMTksMjAsMjAsMjEsMjEsMjIsMjIsMjMsMjMsMjQsMjQsMjUsMjUsMjYsMjYsMjcsMjcsMjgsMjgsMjksMjksNjQsNjRdO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uIGluZmxhdGVfdGFibGUodHlwZSxsZW5zLGxlbnNfaW5kZXgsY29kZXMsdGFibGUsdGFibGVfaW5kZXgsd29yayxvcHRzKXt2YXIgYml0cz1vcHRzLmJpdHM7dmFyIGxlbj0wO3ZhciBzeW09MDt2YXIgbWluPTAsbWF4PTA7dmFyIHJvb3Q9MDt2YXIgY3Vycj0wO3ZhciBkcm9wPQowO3ZhciBsZWZ0PTA7dmFyIHVzZWQ9MDt2YXIgaHVmZj0wO3ZhciBpbmNyO3ZhciBmaWxsO3ZhciBsb3c7dmFyIG1hc2s7dmFyIG5leHQ7dmFyIGJhc2U9bnVsbDt2YXIgYmFzZV9pbmRleD0wO3ZhciBlbmQ7dmFyIGNvdW50PW5ldyB1dGlscy5CdWYxNihNQVhCSVRTKzEpO3ZhciBvZmZzPW5ldyB1dGlscy5CdWYxNihNQVhCSVRTKzEpO3ZhciBleHRyYT1udWxsO3ZhciBleHRyYV9pbmRleD0wO3ZhciBoZXJlX2JpdHMsaGVyZV9vcCxoZXJlX3ZhbDtmb3IobGVuPTA7bGVuPD1NQVhCSVRTO2xlbisrKWNvdW50W2xlbl09MDtmb3Ioc3ltPTA7c3ltPGNvZGVzO3N5bSsrKWNvdW50W2xlbnNbbGVuc19pbmRleCtzeW1dXSsrO3Jvb3Q9Yml0cztmb3IobWF4PU1BWEJJVFM7bWF4Pj0xO21heC0tKWlmKGNvdW50W21heF0hPT0wKWJyZWFrO2lmKHJvb3Q+bWF4KXJvb3Q9bWF4O2lmKG1heD09PTApe3RhYmxlW3RhYmxlX2luZGV4KytdPTE8PDI0fDY0PDwxNnwwO3RhYmxlW3RhYmxlX2luZGV4KytdPQoxPDwyNHw2NDw8MTZ8MDtvcHRzLmJpdHM9MTtyZXR1cm4gMH1mb3IobWluPTE7bWluPG1heDttaW4rKylpZihjb3VudFttaW5dIT09MClicmVhaztpZihyb290PG1pbilyb290PW1pbjtsZWZ0PTE7Zm9yKGxlbj0xO2xlbjw9TUFYQklUUztsZW4rKyl7bGVmdDw8PTE7bGVmdC09Y291bnRbbGVuXTtpZihsZWZ0PDApcmV0dXJuLTF9aWYobGVmdD4wJiYodHlwZT09PUNPREVTfHxtYXghPT0xKSlyZXR1cm4tMTtvZmZzWzFdPTA7Zm9yKGxlbj0xO2xlbjxNQVhCSVRTO2xlbisrKW9mZnNbbGVuKzFdPW9mZnNbbGVuXStjb3VudFtsZW5dO2ZvcihzeW09MDtzeW08Y29kZXM7c3ltKyspaWYobGVuc1tsZW5zX2luZGV4K3N5bV0hPT0wKXdvcmtbb2Zmc1tsZW5zW2xlbnNfaW5kZXgrc3ltXV0rK109c3ltO2lmKHR5cGU9PT1DT0RFUyl7YmFzZT1leHRyYT13b3JrO2VuZD0xOX1lbHNlIGlmKHR5cGU9PT1MRU5TKXtiYXNlPWxiYXNlO2Jhc2VfaW5kZXgtPTI1NztleHRyYT1sZXh0O2V4dHJhX2luZGV4LT0KMjU3O2VuZD0yNTZ9ZWxzZXtiYXNlPWRiYXNlO2V4dHJhPWRleHQ7ZW5kPS0xfWh1ZmY9MDtzeW09MDtsZW49bWluO25leHQ9dGFibGVfaW5kZXg7Y3Vycj1yb290O2Ryb3A9MDtsb3c9LTE7dXNlZD0xPDxyb290O21hc2s9dXNlZC0xO2lmKHR5cGU9PT1MRU5TJiZ1c2VkPkVOT1VHSF9MRU5TfHx0eXBlPT09RElTVFMmJnVzZWQ+RU5PVUdIX0RJU1RTKXJldHVybiAxO3ZhciBpPTA7Zm9yKDs7KXtpKys7aGVyZV9iaXRzPWxlbi1kcm9wO2lmKHdvcmtbc3ltXTxlbmQpe2hlcmVfb3A9MDtoZXJlX3ZhbD13b3JrW3N5bV19ZWxzZSBpZih3b3JrW3N5bV0+ZW5kKXtoZXJlX29wPWV4dHJhW2V4dHJhX2luZGV4K3dvcmtbc3ltXV07aGVyZV92YWw9YmFzZVtiYXNlX2luZGV4K3dvcmtbc3ltXV19ZWxzZXtoZXJlX29wPTMyKzY0O2hlcmVfdmFsPTB9aW5jcj0xPDxsZW4tZHJvcDtmaWxsPTE8PGN1cnI7bWluPWZpbGw7ZG97ZmlsbC09aW5jcjt0YWJsZVtuZXh0KyhodWZmPj5kcm9wKStmaWxsXT0KaGVyZV9iaXRzPDwyNHxoZXJlX29wPDwxNnxoZXJlX3ZhbHwwfXdoaWxlKGZpbGwhPT0wKTtpbmNyPTE8PGxlbi0xO3doaWxlKGh1ZmYmaW5jcilpbmNyPj49MTtpZihpbmNyIT09MCl7aHVmZiY9aW5jci0xO2h1ZmYrPWluY3J9ZWxzZSBodWZmPTA7c3ltKys7aWYoLS1jb3VudFtsZW5dPT09MCl7aWYobGVuPT09bWF4KWJyZWFrO2xlbj1sZW5zW2xlbnNfaW5kZXgrd29ya1tzeW1dXX1pZihsZW4+cm9vdCYmKGh1ZmYmbWFzaykhPT1sb3cpe2lmKGRyb3A9PT0wKWRyb3A9cm9vdDtuZXh0Kz1taW47Y3Vycj1sZW4tZHJvcDtsZWZ0PTE8PGN1cnI7d2hpbGUoY3Vycitkcm9wPG1heCl7bGVmdC09Y291bnRbY3Vycitkcm9wXTtpZihsZWZ0PD0wKWJyZWFrO2N1cnIrKztsZWZ0PDw9MX11c2VkKz0xPDxjdXJyO2lmKHR5cGU9PT1MRU5TJiZ1c2VkPkVOT1VHSF9MRU5TfHx0eXBlPT09RElTVFMmJnVzZWQ+RU5PVUdIX0RJU1RTKXJldHVybiAxO2xvdz1odWZmJm1hc2s7dGFibGVbbG93XT1yb290PDwKMjR8Y3Vycjw8MTZ8bmV4dC10YWJsZV9pbmRleHwwfX1pZihodWZmIT09MCl0YWJsZVtuZXh0K2h1ZmZdPWxlbi1kcm9wPDwyNHw2NDw8MTZ8MDtvcHRzLmJpdHM9cm9vdDtyZXR1cm4gMH19LHsiLi4vdXRpbHMvY29tbW9uIjoyN31dLDM3OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXttb2R1bGUuZXhwb3J0cz17MjoibmVlZCBkaWN0aW9uYXJ5IiwxOiJzdHJlYW0gZW5kIiwwOiIiLCItMSI6ImZpbGUgZXJyb3IiLCItMiI6InN0cmVhbSBlcnJvciIsIi0zIjoiZGF0YSBlcnJvciIsIi00IjoiaW5zdWZmaWNpZW50IG1lbW9yeSIsIi01IjoiYnVmZmVyIGVycm9yIiwiLTYiOiJpbmNvbXBhdGlibGUgdmVyc2lvbiJ9fSx7fV0sMzg6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe3ZhciB1dGlscz1fZGVyZXFfKCIuLi91dGlscy9jb21tb24iKTt2YXIgWl9GSVhFRD00O3ZhciBaX0JJTkFSWT0wO3ZhciBaX1RFWFQ9MTt2YXIgWl9VTktOT1dOPTI7ZnVuY3Rpb24gemVybyhidWYpe3ZhciBsZW49CmJ1Zi5sZW5ndGg7d2hpbGUoLS1sZW4+PTApYnVmW2xlbl09MH12YXIgU1RPUkVEX0JMT0NLPTA7dmFyIFNUQVRJQ19UUkVFUz0xO3ZhciBEWU5fVFJFRVM9Mjt2YXIgTUlOX01BVENIPTM7dmFyIE1BWF9NQVRDSD0yNTg7dmFyIExFTkdUSF9DT0RFUz0yOTt2YXIgTElURVJBTFM9MjU2O3ZhciBMX0NPREVTPUxJVEVSQUxTKzErTEVOR1RIX0NPREVTO3ZhciBEX0NPREVTPTMwO3ZhciBCTF9DT0RFUz0xOTt2YXIgSEVBUF9TSVpFPTIqTF9DT0RFUysxO3ZhciBNQVhfQklUUz0xNTt2YXIgQnVmX3NpemU9MTY7dmFyIE1BWF9CTF9CSVRTPTc7dmFyIEVORF9CTE9DSz0yNTY7dmFyIFJFUF8zXzY9MTY7dmFyIFJFUFpfM18xMD0xNzt2YXIgUkVQWl8xMV8xMzg9MTg7dmFyIGV4dHJhX2xiaXRzPVswLDAsMCwwLDAsMCwwLDAsMSwxLDEsMSwyLDIsMiwyLDMsMywzLDMsNCw0LDQsNCw1LDUsNSw1LDBdO3ZhciBleHRyYV9kYml0cz1bMCwwLDAsMCwxLDEsMiwyLDMsMyw0LDQsNSw1LDYsNiw3LAo3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdO3ZhciBleHRyYV9ibGJpdHM9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwzLDddO3ZhciBibF9vcmRlcj1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV07dmFyIERJU1RfQ09ERV9MRU49NTEyO3ZhciBzdGF0aWNfbHRyZWU9bmV3IEFycmF5KChMX0NPREVTKzIpKjIpO3plcm8oc3RhdGljX2x0cmVlKTt2YXIgc3RhdGljX2R0cmVlPW5ldyBBcnJheShEX0NPREVTKjIpO3plcm8oc3RhdGljX2R0cmVlKTt2YXIgX2Rpc3RfY29kZT1uZXcgQXJyYXkoRElTVF9DT0RFX0xFTik7emVybyhfZGlzdF9jb2RlKTt2YXIgX2xlbmd0aF9jb2RlPW5ldyBBcnJheShNQVhfTUFUQ0gtTUlOX01BVENIKzEpO3plcm8oX2xlbmd0aF9jb2RlKTt2YXIgYmFzZV9sZW5ndGg9bmV3IEFycmF5KExFTkdUSF9DT0RFUyk7emVybyhiYXNlX2xlbmd0aCk7dmFyIGJhc2VfZGlzdD1uZXcgQXJyYXkoRF9DT0RFUyk7Cnplcm8oYmFzZV9kaXN0KTt2YXIgU3RhdGljVHJlZURlc2M9ZnVuY3Rpb24oc3RhdGljX3RyZWUsZXh0cmFfYml0cyxleHRyYV9iYXNlLGVsZW1zLG1heF9sZW5ndGgpe3RoaXMuc3RhdGljX3RyZWU9c3RhdGljX3RyZWU7dGhpcy5leHRyYV9iaXRzPWV4dHJhX2JpdHM7dGhpcy5leHRyYV9iYXNlPWV4dHJhX2Jhc2U7dGhpcy5lbGVtcz1lbGVtczt0aGlzLm1heF9sZW5ndGg9bWF4X2xlbmd0aDt0aGlzLmhhc19zdHJlZT1zdGF0aWNfdHJlZSYmc3RhdGljX3RyZWUubGVuZ3RofTt2YXIgc3RhdGljX2xfZGVzYzt2YXIgc3RhdGljX2RfZGVzYzt2YXIgc3RhdGljX2JsX2Rlc2M7dmFyIFRyZWVEZXNjPWZ1bmN0aW9uKGR5bl90cmVlLHN0YXRfZGVzYyl7dGhpcy5keW5fdHJlZT1keW5fdHJlZTt0aGlzLm1heF9jb2RlPTA7dGhpcy5zdGF0X2Rlc2M9c3RhdF9kZXNjfTtmdW5jdGlvbiBkX2NvZGUoZGlzdCl7cmV0dXJuIGRpc3Q8MjU2P19kaXN0X2NvZGVbZGlzdF06X2Rpc3RfY29kZVsyNTYrCihkaXN0Pj4+NyldfWZ1bmN0aW9uIHB1dF9zaG9ydChzLHcpe3MucGVuZGluZ19idWZbcy5wZW5kaW5nKytdPXcmMjU1O3MucGVuZGluZ19idWZbcy5wZW5kaW5nKytdPXc+Pj44JjI1NX1mdW5jdGlvbiBzZW5kX2JpdHMocyx2YWx1ZSxsZW5ndGgpe2lmKHMuYmlfdmFsaWQ+QnVmX3NpemUtbGVuZ3RoKXtzLmJpX2J1Znw9dmFsdWU8PHMuYmlfdmFsaWQmNjU1MzU7cHV0X3Nob3J0KHMscy5iaV9idWYpO3MuYmlfYnVmPXZhbHVlPj5CdWZfc2l6ZS1zLmJpX3ZhbGlkO3MuYmlfdmFsaWQrPWxlbmd0aC1CdWZfc2l6ZX1lbHNle3MuYmlfYnVmfD12YWx1ZTw8cy5iaV92YWxpZCY2NTUzNTtzLmJpX3ZhbGlkKz1sZW5ndGh9fWZ1bmN0aW9uIHNlbmRfY29kZShzLGMsdHJlZSl7c2VuZF9iaXRzKHMsdHJlZVtjKjJdLHRyZWVbYyoyKzFdKX1mdW5jdGlvbiBiaV9yZXZlcnNlKGNvZGUsbGVuKXt2YXIgcmVzPTA7ZG97cmVzfD1jb2RlJjE7Y29kZT4+Pj0xO3Jlczw8PTF9d2hpbGUoLS1sZW4+MCk7CnJldHVybiByZXM+Pj4xfWZ1bmN0aW9uIGJpX2ZsdXNoKHMpe2lmKHMuYmlfdmFsaWQ9PT0xNil7cHV0X3Nob3J0KHMscy5iaV9idWYpO3MuYmlfYnVmPTA7cy5iaV92YWxpZD0wfWVsc2UgaWYocy5iaV92YWxpZD49OCl7cy5wZW5kaW5nX2J1ZltzLnBlbmRpbmcrK109cy5iaV9idWYmMjU1O3MuYmlfYnVmPj49ODtzLmJpX3ZhbGlkLT04fX1mdW5jdGlvbiBnZW5fYml0bGVuKHMsZGVzYyl7dmFyIHRyZWU9ZGVzYy5keW5fdHJlZTt2YXIgbWF4X2NvZGU9ZGVzYy5tYXhfY29kZTt2YXIgc3RyZWU9ZGVzYy5zdGF0X2Rlc2Muc3RhdGljX3RyZWU7dmFyIGhhc19zdHJlZT1kZXNjLnN0YXRfZGVzYy5oYXNfc3RyZWU7dmFyIGV4dHJhPWRlc2Muc3RhdF9kZXNjLmV4dHJhX2JpdHM7dmFyIGJhc2U9ZGVzYy5zdGF0X2Rlc2MuZXh0cmFfYmFzZTt2YXIgbWF4X2xlbmd0aD1kZXNjLnN0YXRfZGVzYy5tYXhfbGVuZ3RoO3ZhciBoO3ZhciBuLG07dmFyIGJpdHM7dmFyIHhiaXRzO3ZhciBmO3ZhciBvdmVyZmxvdz0KMDtmb3IoYml0cz0wO2JpdHM8PU1BWF9CSVRTO2JpdHMrKylzLmJsX2NvdW50W2JpdHNdPTA7dHJlZVtzLmhlYXBbcy5oZWFwX21heF0qMisxXT0wO2ZvcihoPXMuaGVhcF9tYXgrMTtoPEhFQVBfU0laRTtoKyspe249cy5oZWFwW2hdO2JpdHM9dHJlZVt0cmVlW24qMisxXSoyKzFdKzE7aWYoYml0cz5tYXhfbGVuZ3RoKXtiaXRzPW1heF9sZW5ndGg7b3ZlcmZsb3crK310cmVlW24qMisxXT1iaXRzO2lmKG4+bWF4X2NvZGUpY29udGludWU7cy5ibF9jb3VudFtiaXRzXSsrO3hiaXRzPTA7aWYobj49YmFzZSl4Yml0cz1leHRyYVtuLWJhc2VdO2Y9dHJlZVtuKjJdO3Mub3B0X2xlbis9ZiooYml0cyt4Yml0cyk7aWYoaGFzX3N0cmVlKXMuc3RhdGljX2xlbis9Ziooc3RyZWVbbioyKzFdK3hiaXRzKX1pZihvdmVyZmxvdz09PTApcmV0dXJuO2Rve2JpdHM9bWF4X2xlbmd0aC0xO3doaWxlKHMuYmxfY291bnRbYml0c109PT0wKWJpdHMtLTtzLmJsX2NvdW50W2JpdHNdLS07cy5ibF9jb3VudFtiaXRzKwoxXSs9MjtzLmJsX2NvdW50W21heF9sZW5ndGhdLS07b3ZlcmZsb3ctPTJ9d2hpbGUob3ZlcmZsb3c+MCk7Zm9yKGJpdHM9bWF4X2xlbmd0aDtiaXRzIT09MDtiaXRzLS0pe249cy5ibF9jb3VudFtiaXRzXTt3aGlsZShuIT09MCl7bT1zLmhlYXBbLS1oXTtpZihtPm1heF9jb2RlKWNvbnRpbnVlO2lmKHRyZWVbbSoyKzFdIT09Yml0cyl7cy5vcHRfbGVuKz0oYml0cy10cmVlW20qMisxXSkqdHJlZVttKjJdO3RyZWVbbSoyKzFdPWJpdHN9bi0tfX19ZnVuY3Rpb24gZ2VuX2NvZGVzKHRyZWUsbWF4X2NvZGUsYmxfY291bnQpe3ZhciBuZXh0X2NvZGU9bmV3IEFycmF5KE1BWF9CSVRTKzEpO3ZhciBjb2RlPTA7dmFyIGJpdHM7dmFyIG47Zm9yKGJpdHM9MTtiaXRzPD1NQVhfQklUUztiaXRzKyspbmV4dF9jb2RlW2JpdHNdPWNvZGU9Y29kZStibF9jb3VudFtiaXRzLTFdPDwxO2ZvcihuPTA7bjw9bWF4X2NvZGU7bisrKXt2YXIgbGVuPXRyZWVbbioyKzFdO2lmKGxlbj09PTApY29udGludWU7CnRyZWVbbioyXT1iaV9yZXZlcnNlKG5leHRfY29kZVtsZW5dKyssbGVuKX19ZnVuY3Rpb24gdHJfc3RhdGljX2luaXQoKXt2YXIgbjt2YXIgYml0czt2YXIgbGVuZ3RoO3ZhciBjb2RlO3ZhciBkaXN0O3ZhciBibF9jb3VudD1uZXcgQXJyYXkoTUFYX0JJVFMrMSk7bGVuZ3RoPTA7Zm9yKGNvZGU9MDtjb2RlPExFTkdUSF9DT0RFUy0xO2NvZGUrKyl7YmFzZV9sZW5ndGhbY29kZV09bGVuZ3RoO2ZvcihuPTA7bjwxPDxleHRyYV9sYml0c1tjb2RlXTtuKyspX2xlbmd0aF9jb2RlW2xlbmd0aCsrXT1jb2RlfV9sZW5ndGhfY29kZVtsZW5ndGgtMV09Y29kZTtkaXN0PTA7Zm9yKGNvZGU9MDtjb2RlPDE2O2NvZGUrKyl7YmFzZV9kaXN0W2NvZGVdPWRpc3Q7Zm9yKG49MDtuPDE8PGV4dHJhX2RiaXRzW2NvZGVdO24rKylfZGlzdF9jb2RlW2Rpc3QrK109Y29kZX1kaXN0Pj49Nztmb3IoO2NvZGU8RF9DT0RFUztjb2RlKyspe2Jhc2VfZGlzdFtjb2RlXT1kaXN0PDw3O2ZvcihuPTA7bjwxPDxleHRyYV9kYml0c1tjb2RlXS0KNztuKyspX2Rpc3RfY29kZVsyNTYrZGlzdCsrXT1jb2RlfWZvcihiaXRzPTA7Yml0czw9TUFYX0JJVFM7Yml0cysrKWJsX2NvdW50W2JpdHNdPTA7bj0wO3doaWxlKG48PTE0Myl7c3RhdGljX2x0cmVlW24qMisxXT04O24rKztibF9jb3VudFs4XSsrfXdoaWxlKG48PTI1NSl7c3RhdGljX2x0cmVlW24qMisxXT05O24rKztibF9jb3VudFs5XSsrfXdoaWxlKG48PTI3OSl7c3RhdGljX2x0cmVlW24qMisxXT03O24rKztibF9jb3VudFs3XSsrfXdoaWxlKG48PTI4Nyl7c3RhdGljX2x0cmVlW24qMisxXT04O24rKztibF9jb3VudFs4XSsrfWdlbl9jb2RlcyhzdGF0aWNfbHRyZWUsTF9DT0RFUysxLGJsX2NvdW50KTtmb3Iobj0wO248RF9DT0RFUztuKyspe3N0YXRpY19kdHJlZVtuKjIrMV09NTtzdGF0aWNfZHRyZWVbbioyXT1iaV9yZXZlcnNlKG4sNSl9c3RhdGljX2xfZGVzYz1uZXcgU3RhdGljVHJlZURlc2Moc3RhdGljX2x0cmVlLGV4dHJhX2xiaXRzLExJVEVSQUxTKzEsTF9DT0RFUywKTUFYX0JJVFMpO3N0YXRpY19kX2Rlc2M9bmV3IFN0YXRpY1RyZWVEZXNjKHN0YXRpY19kdHJlZSxleHRyYV9kYml0cywwLERfQ09ERVMsTUFYX0JJVFMpO3N0YXRpY19ibF9kZXNjPW5ldyBTdGF0aWNUcmVlRGVzYyhuZXcgQXJyYXkoMCksZXh0cmFfYmxiaXRzLDAsQkxfQ09ERVMsTUFYX0JMX0JJVFMpfWZ1bmN0aW9uIGluaXRfYmxvY2socyl7dmFyIG47Zm9yKG49MDtuPExfQ09ERVM7bisrKXMuZHluX2x0cmVlW24qMl09MDtmb3Iobj0wO248RF9DT0RFUztuKyspcy5keW5fZHRyZWVbbioyXT0wO2ZvcihuPTA7bjxCTF9DT0RFUztuKyspcy5ibF90cmVlW24qMl09MDtzLmR5bl9sdHJlZVtFTkRfQkxPQ0sqMl09MTtzLm9wdF9sZW49cy5zdGF0aWNfbGVuPTA7cy5sYXN0X2xpdD1zLm1hdGNoZXM9MH1mdW5jdGlvbiBiaV93aW5kdXAocyl7aWYocy5iaV92YWxpZD44KXB1dF9zaG9ydChzLHMuYmlfYnVmKTtlbHNlIGlmKHMuYmlfdmFsaWQ+MClzLnBlbmRpbmdfYnVmW3MucGVuZGluZysrXT0Kcy5iaV9idWY7cy5iaV9idWY9MDtzLmJpX3ZhbGlkPTB9ZnVuY3Rpb24gY29weV9ibG9jayhzLGJ1ZixsZW4saGVhZGVyKXtiaV93aW5kdXAocyk7aWYoaGVhZGVyKXtwdXRfc2hvcnQocyxsZW4pO3B1dF9zaG9ydChzLH5sZW4pfXV0aWxzLmFycmF5U2V0KHMucGVuZGluZ19idWYscy53aW5kb3csYnVmLGxlbixzLnBlbmRpbmcpO3MucGVuZGluZys9bGVufWZ1bmN0aW9uIHNtYWxsZXIodHJlZSxuLG0sZGVwdGgpe3ZhciBfbjI9bioyO3ZhciBfbTI9bSoyO3JldHVybiB0cmVlW19uMl08dHJlZVtfbTJdfHx0cmVlW19uMl09PT10cmVlW19tMl0mJmRlcHRoW25dPD1kZXB0aFttXX1mdW5jdGlvbiBwcWRvd25oZWFwKHMsdHJlZSxrKXt2YXIgdj1zLmhlYXBba107dmFyIGo9azw8MTt3aGlsZShqPD1zLmhlYXBfbGVuKXtpZihqPHMuaGVhcF9sZW4mJnNtYWxsZXIodHJlZSxzLmhlYXBbaisxXSxzLmhlYXBbal0scy5kZXB0aCkpaisrO2lmKHNtYWxsZXIodHJlZSx2LHMuaGVhcFtqXSxzLmRlcHRoKSlicmVhazsKcy5oZWFwW2tdPXMuaGVhcFtqXTtrPWo7ajw8PTF9cy5oZWFwW2tdPXZ9ZnVuY3Rpb24gY29tcHJlc3NfYmxvY2socyxsdHJlZSxkdHJlZSl7dmFyIGRpc3Q7dmFyIGxjO3ZhciBseD0wO3ZhciBjb2RlO3ZhciBleHRyYTtpZihzLmxhc3RfbGl0IT09MCl7ZG97ZGlzdD1zLnBlbmRpbmdfYnVmW3MuZF9idWYrbHgqMl08PDh8cy5wZW5kaW5nX2J1ZltzLmRfYnVmK2x4KjIrMV07bGM9cy5wZW5kaW5nX2J1ZltzLmxfYnVmK2x4XTtseCsrO2lmKGRpc3Q9PT0wKXNlbmRfY29kZShzLGxjLGx0cmVlKTtlbHNle2NvZGU9X2xlbmd0aF9jb2RlW2xjXTtzZW5kX2NvZGUocyxjb2RlK0xJVEVSQUxTKzEsbHRyZWUpO2V4dHJhPWV4dHJhX2xiaXRzW2NvZGVdO2lmKGV4dHJhIT09MCl7bGMtPWJhc2VfbGVuZ3RoW2NvZGVdO3NlbmRfYml0cyhzLGxjLGV4dHJhKX1kaXN0LS07Y29kZT1kX2NvZGUoZGlzdCk7c2VuZF9jb2RlKHMsY29kZSxkdHJlZSk7ZXh0cmE9ZXh0cmFfZGJpdHNbY29kZV07aWYoZXh0cmEhPT0KMCl7ZGlzdC09YmFzZV9kaXN0W2NvZGVdO3NlbmRfYml0cyhzLGRpc3QsZXh0cmEpfX19d2hpbGUobHg8cy5sYXN0X2xpdCl9c2VuZF9jb2RlKHMsRU5EX0JMT0NLLGx0cmVlKX1mdW5jdGlvbiBidWlsZF90cmVlKHMsZGVzYyl7dmFyIHRyZWU9ZGVzYy5keW5fdHJlZTt2YXIgc3RyZWU9ZGVzYy5zdGF0X2Rlc2Muc3RhdGljX3RyZWU7dmFyIGhhc19zdHJlZT1kZXNjLnN0YXRfZGVzYy5oYXNfc3RyZWU7dmFyIGVsZW1zPWRlc2Muc3RhdF9kZXNjLmVsZW1zO3ZhciBuLG07dmFyIG1heF9jb2RlPS0xO3ZhciBub2RlO3MuaGVhcF9sZW49MDtzLmhlYXBfbWF4PUhFQVBfU0laRTtmb3Iobj0wO248ZWxlbXM7bisrKWlmKHRyZWVbbioyXSE9PTApe3MuaGVhcFsrK3MuaGVhcF9sZW5dPW1heF9jb2RlPW47cy5kZXB0aFtuXT0wfWVsc2UgdHJlZVtuKjIrMV09MDt3aGlsZShzLmhlYXBfbGVuPDIpe25vZGU9cy5oZWFwWysrcy5oZWFwX2xlbl09bWF4X2NvZGU8Mj8rK21heF9jb2RlOjA7dHJlZVtub2RlKgoyXT0xO3MuZGVwdGhbbm9kZV09MDtzLm9wdF9sZW4tLTtpZihoYXNfc3RyZWUpcy5zdGF0aWNfbGVuLT1zdHJlZVtub2RlKjIrMV19ZGVzYy5tYXhfY29kZT1tYXhfY29kZTtmb3Iobj1zLmhlYXBfbGVuPj4xO24+PTE7bi0tKXBxZG93bmhlYXAocyx0cmVlLG4pO25vZGU9ZWxlbXM7ZG97bj1zLmhlYXBbMV07cy5oZWFwWzFdPXMuaGVhcFtzLmhlYXBfbGVuLS1dO3BxZG93bmhlYXAocyx0cmVlLDEpO209cy5oZWFwWzFdO3MuaGVhcFstLXMuaGVhcF9tYXhdPW47cy5oZWFwWy0tcy5oZWFwX21heF09bTt0cmVlW25vZGUqMl09dHJlZVtuKjJdK3RyZWVbbSoyXTtzLmRlcHRoW25vZGVdPShzLmRlcHRoW25dPj1zLmRlcHRoW21dP3MuZGVwdGhbbl06cy5kZXB0aFttXSkrMTt0cmVlW24qMisxXT10cmVlW20qMisxXT1ub2RlO3MuaGVhcFsxXT1ub2RlKys7cHFkb3duaGVhcChzLHRyZWUsMSl9d2hpbGUocy5oZWFwX2xlbj49Mik7cy5oZWFwWy0tcy5oZWFwX21heF09cy5oZWFwWzFdO2dlbl9iaXRsZW4ocywKZGVzYyk7Z2VuX2NvZGVzKHRyZWUsbWF4X2NvZGUscy5ibF9jb3VudCl9ZnVuY3Rpb24gc2Nhbl90cmVlKHMsdHJlZSxtYXhfY29kZSl7dmFyIG47dmFyIHByZXZsZW49LTE7dmFyIGN1cmxlbjt2YXIgbmV4dGxlbj10cmVlWzAqMisxXTt2YXIgY291bnQ9MDt2YXIgbWF4X2NvdW50PTc7dmFyIG1pbl9jb3VudD00O2lmKG5leHRsZW49PT0wKXttYXhfY291bnQ9MTM4O21pbl9jb3VudD0zfXRyZWVbKG1heF9jb2RlKzEpKjIrMV09NjU1MzU7Zm9yKG49MDtuPD1tYXhfY29kZTtuKyspe2N1cmxlbj1uZXh0bGVuO25leHRsZW49dHJlZVsobisxKSoyKzFdO2lmKCsrY291bnQ8bWF4X2NvdW50JiZjdXJsZW49PT1uZXh0bGVuKWNvbnRpbnVlO2Vsc2UgaWYoY291bnQ8bWluX2NvdW50KXMuYmxfdHJlZVtjdXJsZW4qMl0rPWNvdW50O2Vsc2UgaWYoY3VybGVuIT09MCl7aWYoY3VybGVuIT09cHJldmxlbilzLmJsX3RyZWVbY3VybGVuKjJdKys7cy5ibF90cmVlW1JFUF8zXzYqMl0rK31lbHNlIGlmKGNvdW50PD0KMTApcy5ibF90cmVlW1JFUFpfM18xMCoyXSsrO2Vsc2Ugcy5ibF90cmVlW1JFUFpfMTFfMTM4KjJdKys7Y291bnQ9MDtwcmV2bGVuPWN1cmxlbjtpZihuZXh0bGVuPT09MCl7bWF4X2NvdW50PTEzODttaW5fY291bnQ9M31lbHNlIGlmKGN1cmxlbj09PW5leHRsZW4pe21heF9jb3VudD02O21pbl9jb3VudD0zfWVsc2V7bWF4X2NvdW50PTc7bWluX2NvdW50PTR9fX1mdW5jdGlvbiBzZW5kX3RyZWUocyx0cmVlLG1heF9jb2RlKXt2YXIgbjt2YXIgcHJldmxlbj0tMTt2YXIgY3VybGVuO3ZhciBuZXh0bGVuPXRyZWVbMCoyKzFdO3ZhciBjb3VudD0wO3ZhciBtYXhfY291bnQ9Nzt2YXIgbWluX2NvdW50PTQ7aWYobmV4dGxlbj09PTApe21heF9jb3VudD0xMzg7bWluX2NvdW50PTN9Zm9yKG49MDtuPD1tYXhfY29kZTtuKyspe2N1cmxlbj1uZXh0bGVuO25leHRsZW49dHJlZVsobisxKSoyKzFdO2lmKCsrY291bnQ8bWF4X2NvdW50JiZjdXJsZW49PT1uZXh0bGVuKWNvbnRpbnVlO2Vsc2UgaWYoY291bnQ8Cm1pbl9jb3VudCl7ZG8gc2VuZF9jb2RlKHMsY3VybGVuLHMuYmxfdHJlZSk7d2hpbGUoLS1jb3VudCE9PTApfWVsc2UgaWYoY3VybGVuIT09MCl7aWYoY3VybGVuIT09cHJldmxlbil7c2VuZF9jb2RlKHMsY3VybGVuLHMuYmxfdHJlZSk7Y291bnQtLX1zZW5kX2NvZGUocyxSRVBfM182LHMuYmxfdHJlZSk7c2VuZF9iaXRzKHMsY291bnQtMywyKX1lbHNlIGlmKGNvdW50PD0xMCl7c2VuZF9jb2RlKHMsUkVQWl8zXzEwLHMuYmxfdHJlZSk7c2VuZF9iaXRzKHMsY291bnQtMywzKX1lbHNle3NlbmRfY29kZShzLFJFUFpfMTFfMTM4LHMuYmxfdHJlZSk7c2VuZF9iaXRzKHMsY291bnQtMTEsNyl9Y291bnQ9MDtwcmV2bGVuPWN1cmxlbjtpZihuZXh0bGVuPT09MCl7bWF4X2NvdW50PTEzODttaW5fY291bnQ9M31lbHNlIGlmKGN1cmxlbj09PW5leHRsZW4pe21heF9jb3VudD02O21pbl9jb3VudD0zfWVsc2V7bWF4X2NvdW50PTc7bWluX2NvdW50PTR9fX1mdW5jdGlvbiBidWlsZF9ibF90cmVlKHMpe3ZhciBtYXhfYmxpbmRleDsKc2Nhbl90cmVlKHMscy5keW5fbHRyZWUscy5sX2Rlc2MubWF4X2NvZGUpO3NjYW5fdHJlZShzLHMuZHluX2R0cmVlLHMuZF9kZXNjLm1heF9jb2RlKTtidWlsZF90cmVlKHMscy5ibF9kZXNjKTtmb3IobWF4X2JsaW5kZXg9QkxfQ09ERVMtMTttYXhfYmxpbmRleD49MzttYXhfYmxpbmRleC0tKWlmKHMuYmxfdHJlZVtibF9vcmRlclttYXhfYmxpbmRleF0qMisxXSE9PTApYnJlYWs7cy5vcHRfbGVuKz0zKihtYXhfYmxpbmRleCsxKSs1KzUrNDtyZXR1cm4gbWF4X2JsaW5kZXh9ZnVuY3Rpb24gc2VuZF9hbGxfdHJlZXMocyxsY29kZXMsZGNvZGVzLGJsY29kZXMpe3ZhciByYW5rO3NlbmRfYml0cyhzLGxjb2Rlcy0yNTcsNSk7c2VuZF9iaXRzKHMsZGNvZGVzLTEsNSk7c2VuZF9iaXRzKHMsYmxjb2Rlcy00LDQpO2ZvcihyYW5rPTA7cmFuazxibGNvZGVzO3JhbmsrKylzZW5kX2JpdHMocyxzLmJsX3RyZWVbYmxfb3JkZXJbcmFua10qMisxXSwzKTtzZW5kX3RyZWUocyxzLmR5bl9sdHJlZSwKbGNvZGVzLTEpO3NlbmRfdHJlZShzLHMuZHluX2R0cmVlLGRjb2Rlcy0xKX1mdW5jdGlvbiBkZXRlY3RfZGF0YV90eXBlKHMpe3ZhciBibGFja19tYXNrPTQwOTM2MjQ0NDc7dmFyIG47Zm9yKG49MDtuPD0zMTtuKyssYmxhY2tfbWFzaz4+Pj0xKWlmKGJsYWNrX21hc2smMSYmcy5keW5fbHRyZWVbbioyXSE9PTApcmV0dXJuIFpfQklOQVJZO2lmKHMuZHluX2x0cmVlWzkqMl0hPT0wfHxzLmR5bl9sdHJlZVsxMCoyXSE9PTB8fHMuZHluX2x0cmVlWzEzKjJdIT09MClyZXR1cm4gWl9URVhUO2ZvcihuPTMyO248TElURVJBTFM7bisrKWlmKHMuZHluX2x0cmVlW24qMl0hPT0wKXJldHVybiBaX1RFWFQ7cmV0dXJuIFpfQklOQVJZfXZhciBzdGF0aWNfaW5pdF9kb25lPWZhbHNlO2Z1bmN0aW9uIF90cl9pbml0KHMpe2lmKCFzdGF0aWNfaW5pdF9kb25lKXt0cl9zdGF0aWNfaW5pdCgpO3N0YXRpY19pbml0X2RvbmU9dHJ1ZX1zLmxfZGVzYz1uZXcgVHJlZURlc2Mocy5keW5fbHRyZWUsc3RhdGljX2xfZGVzYyk7CnMuZF9kZXNjPW5ldyBUcmVlRGVzYyhzLmR5bl9kdHJlZSxzdGF0aWNfZF9kZXNjKTtzLmJsX2Rlc2M9bmV3IFRyZWVEZXNjKHMuYmxfdHJlZSxzdGF0aWNfYmxfZGVzYyk7cy5iaV9idWY9MDtzLmJpX3ZhbGlkPTA7aW5pdF9ibG9jayhzKX1mdW5jdGlvbiBfdHJfc3RvcmVkX2Jsb2NrKHMsYnVmLHN0b3JlZF9sZW4sbGFzdCl7c2VuZF9iaXRzKHMsKFNUT1JFRF9CTE9DSzw8MSkrKGxhc3Q/MTowKSwzKTtjb3B5X2Jsb2NrKHMsYnVmLHN0b3JlZF9sZW4sdHJ1ZSl9ZnVuY3Rpb24gX3RyX2FsaWduKHMpe3NlbmRfYml0cyhzLFNUQVRJQ19UUkVFUzw8MSwzKTtzZW5kX2NvZGUocyxFTkRfQkxPQ0ssc3RhdGljX2x0cmVlKTtiaV9mbHVzaChzKX1mdW5jdGlvbiBfdHJfZmx1c2hfYmxvY2socyxidWYsc3RvcmVkX2xlbixsYXN0KXt2YXIgb3B0X2xlbmIsc3RhdGljX2xlbmI7dmFyIG1heF9ibGluZGV4PTA7aWYocy5sZXZlbD4wKXtpZihzLnN0cm0uZGF0YV90eXBlPT09Wl9VTktOT1dOKXMuc3RybS5kYXRhX3R5cGU9CmRldGVjdF9kYXRhX3R5cGUocyk7YnVpbGRfdHJlZShzLHMubF9kZXNjKTtidWlsZF90cmVlKHMscy5kX2Rlc2MpO21heF9ibGluZGV4PWJ1aWxkX2JsX3RyZWUocyk7b3B0X2xlbmI9cy5vcHRfbGVuKzMrNz4+PjM7c3RhdGljX2xlbmI9cy5zdGF0aWNfbGVuKzMrNz4+PjM7aWYoc3RhdGljX2xlbmI8PW9wdF9sZW5iKW9wdF9sZW5iPXN0YXRpY19sZW5ifWVsc2Ugb3B0X2xlbmI9c3RhdGljX2xlbmI9c3RvcmVkX2xlbis1O2lmKHN0b3JlZF9sZW4rNDw9b3B0X2xlbmImJmJ1ZiE9PS0xKV90cl9zdG9yZWRfYmxvY2socyxidWYsc3RvcmVkX2xlbixsYXN0KTtlbHNlIGlmKHMuc3RyYXRlZ3k9PT1aX0ZJWEVEfHxzdGF0aWNfbGVuYj09PW9wdF9sZW5iKXtzZW5kX2JpdHMocywoU1RBVElDX1RSRUVTPDwxKSsobGFzdD8xOjApLDMpO2NvbXByZXNzX2Jsb2NrKHMsc3RhdGljX2x0cmVlLHN0YXRpY19kdHJlZSl9ZWxzZXtzZW5kX2JpdHMocywoRFlOX1RSRUVTPDwxKSsobGFzdD8xOjApLAozKTtzZW5kX2FsbF90cmVlcyhzLHMubF9kZXNjLm1heF9jb2RlKzEscy5kX2Rlc2MubWF4X2NvZGUrMSxtYXhfYmxpbmRleCsxKTtjb21wcmVzc19ibG9jayhzLHMuZHluX2x0cmVlLHMuZHluX2R0cmVlKX1pbml0X2Jsb2NrKHMpO2lmKGxhc3QpYmlfd2luZHVwKHMpfWZ1bmN0aW9uIF90cl90YWxseShzLGRpc3QsbGMpe3MucGVuZGluZ19idWZbcy5kX2J1ZitzLmxhc3RfbGl0KjJdPWRpc3Q+Pj44JjI1NTtzLnBlbmRpbmdfYnVmW3MuZF9idWYrcy5sYXN0X2xpdCoyKzFdPWRpc3QmMjU1O3MucGVuZGluZ19idWZbcy5sX2J1ZitzLmxhc3RfbGl0XT1sYyYyNTU7cy5sYXN0X2xpdCsrO2lmKGRpc3Q9PT0wKXMuZHluX2x0cmVlW2xjKjJdKys7ZWxzZXtzLm1hdGNoZXMrKztkaXN0LS07cy5keW5fbHRyZWVbKF9sZW5ndGhfY29kZVtsY10rTElURVJBTFMrMSkqMl0rKztzLmR5bl9kdHJlZVtkX2NvZGUoZGlzdCkqMl0rK31yZXR1cm4gcy5sYXN0X2xpdD09PXMubGl0X2J1ZnNpemUtMX0KZXhwb3J0cy5fdHJfaW5pdD1fdHJfaW5pdDtleHBvcnRzLl90cl9zdG9yZWRfYmxvY2s9X3RyX3N0b3JlZF9ibG9jaztleHBvcnRzLl90cl9mbHVzaF9ibG9jaz1fdHJfZmx1c2hfYmxvY2s7ZXhwb3J0cy5fdHJfdGFsbHk9X3RyX3RhbGx5O2V4cG9ydHMuX3RyX2FsaWduPV90cl9hbGlnbn0seyIuLi91dGlscy9jb21tb24iOjI3fV0sMzk6W2Z1bmN0aW9uKF9kZXJlcV8sbW9kdWxlLGV4cG9ydHMpe2Z1bmN0aW9uIFpTdHJlYW0oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5uZXh0X2luPTA7dGhpcy5hdmFpbF9pbj0wO3RoaXMudG90YWxfaW49MDt0aGlzLm91dHB1dD1udWxsO3RoaXMubmV4dF9vdXQ9MDt0aGlzLmF2YWlsX291dD0wO3RoaXMudG90YWxfb3V0PTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuZGF0YV90eXBlPTI7dGhpcy5hZGxlcj0wfW1vZHVsZS5leHBvcnRzPVpTdHJlYW19LHt9XX0se30sWzldKSg5KX0pOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/ZeroClipboard.swf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/js/_include.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dmFyIGVuY29kZVVSTCxzaG93X2FuaW1hdGlvbixoaWRlX2FuaW1hdGlvbixhcHBseSxhcHBseV9ub25lLGFwcGx5X2ltZyxhcHBseV9hbnksYXBwbHlfdmlkZW8sYXBwbHlfbGluayxhcHBseV9maWxlX3JlbmFtZSxhcHBseV9maWxlX2R1cGxpY2F0ZSxhcHBseV9mb2xkZXJfcmVuYW1lOyFmdW5jdGlvbihlLGEsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oYSl7c2hvd19hbmltYXRpb24oKTt2YXIgdD1uZXcgSW1hZ2U7dC5zcmM9YSxlKHQpLm9uKCJsb2FkIixmdW5jdGlvbigpe2hpZGVfYW5pbWF0aW9uKCl9KX1mdW5jdGlvbiBpKCl7ZSgiI3RleHRmaWxlX2NyZWF0ZV9hcmVhIikucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCk7dmFyIGE9ZSgiI2xhbmdfZmlsZW5hbWUiKS52YWwoKSsnOiA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImNyZWF0ZV90ZXh0X2ZpbGVfbmFtZSIgc3R5bGU9Im1pbi1oZWlnaHQ6MzBweCI+PGJyPjxocj48dGV4dGFyZWEgaWQ9InRleHRmaWxlX2NyZWF0ZV9hcmVhIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTUwcHg7Ij48L3RleHRhcmVhPic7Ym9vdGJveC5kaWFsb2coYSxbe2xhYmVsOmUoIiNjYW5jZWwiKS52YWwoKSwiY2xhc3MiOiJidG4ifSx7bGFiZWw6ZSgiI29rIikudmFsKCksImNsYXNzIjoiYnRuLWludmVyc2UiLGNhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9ZSgiI2NyZWF0ZV90ZXh0X2ZpbGVfbmFtZSIpLnZhbCgpLHQ9ZSgiI3RleHRmaWxlX2NyZWF0ZV9hcmVhIikudmFsKCk7aWYobnVsbCE9PWEpe2E9eShhKTt2YXIgbj1lKCIjc3ViX2ZvbGRlciIpLnZhbCgpK2UoIiNmbGRyX3ZhbHVlIikudmFsKCk7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj1jcmVhdGVfZmlsZSIsZGF0YTp7cGF0aDpuLG5hbWU6YSxuZXdfY29udGVudDp0fX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWEmJmJvb3Rib3guYWxlcnQoYSxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjcmVmcmVzaCIpLmF0dHIoImhyZWYiKSsiJiIrKG5ldyBEYXRlKS5nZXRUaW1lKCl9LDUwMCl9KX0pfX19XSx7aGVhZGVyOmUoIiNsYW5nX25ld19maWxlIikudmFsKCl9KX1mdW5jdGlvbiByKGEpe2UoIiN0ZXh0ZmlsZV9lZGl0X2FyZWEiKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1vdmUoKTt2YXIgdD1hLmZpbmQoIi5yZW5hbWUtZmlsZS1wYXRocyIpLmF0dHIoImRhdGEtcGF0aCIpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Z2V0X2ZpbGUmc3ViX2FjdGlvbj1lZGl0JnByZXZpZXdfbW9kZT10ZXh0IixkYXRhOntwYXRoOnR9fSkuZG9uZShmdW5jdGlvbihuKXtib290Ym94LmRpYWxvZyhuLFt7bGFiZWw6ZSgiI2NhbmNlbCIpLnZhbCgpLCJjbGFzcyI6ImJ0biJ9LHtsYWJlbDplKCIjb2siKS52YWwoKSwiY2xhc3MiOiJidG4taW52ZXJzZSIsY2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT1lKCIjdGV4dGZpbGVfZWRpdF9hcmVhIikudmFsKCk7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj1zYXZlX3RleHRfZmlsZSIsZGF0YTp7cGF0aDp0LG5ld19jb250ZW50OmF9fSkuZG9uZShmdW5jdGlvbihlKXsiIiE9ZSYmYm9vdGJveC5hbGVydChlKX0pfX1dLHtoZWFkZXI6YS5maW5kKCIubmFtZV9kb3dubG9hZCIpLnZhbCgpfSl9KX1mdW5jdGlvbiBvKCl7ZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1nZXRfbGFuZyIsZGF0YTp7fX0pLmRvbmUoZnVuY3Rpb24oYSl7Ym9vdGJveC5kaWFsb2coYSxbe2xhYmVsOmUoIiNjYW5jZWwiKS52YWwoKSwiY2xhc3MiOiJidG4ifSx7bGFiZWw6ZSgiI29rIikudmFsKCksImNsYXNzIjoiYnRuLWludmVyc2UiLGNhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9ZSgiI25ld19sYW5nX3NlbGVjdCIpLnZhbCgpO2UuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Y2hhbmdlX2xhbmciLGRhdGE6e2Nob29zZW5fbGFuZzphfX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWE/Ym9vdGJveC5hbGVydChhKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSw1MDApfSl9fV0se2hlYWRlcjplKCIjbGFuZ19sYW5nX2NoYW5nZSIpLnZhbCgpfSl9KX1mdW5jdGlvbiBsKGEpe2UoIiNmaWxlc19wZXJtaXNzaW9uX3N0YXJ0IikucGFyZW50KCkucGFyZW50KCkucmVtb3ZlKCk7dmFyIHQ7dD1hLmZpbmQoIi5yZW5hbWUtZmlsZS1wYXRocyIpLmF0dHIoYS5oYXNDbGFzcygiZGlyZWN0b3J5Iik/ImRhdGEtcGF0aCI6ImRhdGEtcGF0aCIpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJhamF4X2NhbGxzLnBocD9hY3Rpb249Y2htb2QiLGRhdGE6e3BhdGg6dH19KS5kb25lKGZ1bmN0aW9uKGEpe2Jvb3Rib3guZGlhbG9nKGEsW3tsYWJlbDplKCIjY2FuY2VsIikudmFsKCksImNsYXNzIjoiYnRuIn0se2xhYmVsOmUoIiNvayIpLnZhbCgpLCJjbGFzcyI6ImJ0bi1pbnZlcnNlIixjYWxsYmFjazpmdW5jdGlvbigpe3ZhciBhPWUoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpLnZhbCgpO2lmKCIiIT1hJiYidW5kZWZpbmVkIiE9dHlwZW9mIGEpe3ZhciBuPWUoIiNjaG1vZF9mb3JtIGlucHV0W25hbWU9YXBwbHlfcmVjdXJzaXZlXTpjaGVja2VkIikudmFsKCk7KCIiPT1ufHwidW5kZWZpbmVkIj09dHlwZW9mIG4pJiYobj0ibm9uZSIpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249Y2htb2QiLGRhdGE6e3BhdGg6dCxuZXdfbW9kZTphLGlzX3JlY3Vyc2l2ZTpufX0pLmRvbmUoZnVuY3Rpb24oZSl7IiIhPWUmJmJvb3Rib3guYWxlcnQoZSl9KX19fV0se2hlYWRlcjplKCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKX0pfSl9ZnVuY3Rpb24gYyhhKXt2YXIgdD1bXTtpZih0LnVzZXI9MCx0Lmdyb3VwPTAsdC5hbGw9MCwidW5kZWZpbmVkIiE9dHlwZW9mIGEmJjE9PWEpe3ZhciBuPWUoIiNjaG1vZF9mb3JtICNjaG1vZF92YWx1ZSIpLnZhbCgpO3QudXNlcj1uLnN1YnN0cigwLDEpLHQuZ3JvdXA9bi5zdWJzdHIoMSwxKSx0LmFsbD1uLnN1YnN0cigyLDEpLGUuZWFjaCh0LGZ1bmN0aW9uKGEpeygiIj09dFthXXx8MD09ZS5pc051bWVyaWModFthXSl8fHBhcnNlSW50KHRbYV0pPDB8fHBhcnNlSW50KHRbYV0pPjcpJiYodFthXT0iMCIpfSksZSgiI2NobW9kX2Zvcm0gaW5wdXQ6Y2hlY2tib3giKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksbj1lKHRoaXMpLmF0dHIoImRhdGEtdmFsdWUiKTtzKHRbYV0sbik/ZSh0aGlzKS5wcm9wKCJjaGVja2VkIiwhMCk6ZSh0aGlzKS5wcm9wKCJjaGVja2VkIiwhMSl9KX1lbHNlIGUoIiNjaG1vZF9mb3JtIGlucHV0OmNoZWNrYm94OmNoZWNrZWQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKS5hdHRyKCJkYXRhLWdyb3VwIiksbj1lKHRoaXMpLmF0dHIoImRhdGEtdmFsdWUiKTt0W2FdPXBhcnNlSW50KHRbYV0pK3BhcnNlSW50KG4pfSksZSgiI2NobW9kX2Zvcm0gI2NobW9kX3ZhbHVlIikudmFsKHQudXNlci50b1N0cmluZygpK3QuZ3JvdXAudG9TdHJpbmcoKSt0LmFsbC50b1N0cmluZygpKX1mdW5jdGlvbiBzKGEsdCl7dmFyIG49W107cmV0dXJuIG5bMV09WzEsMyw1LDddLG5bMl09WzIsMyw2LDddLG5bNF09WzQsNSw2LDddLGE9cGFyc2VJbnQoYSksdD1wYXJzZUludCh0KSwtMSE9ZS5pbkFycmF5KGEsblt0XSl9ZnVuY3Rpb24gZCgpe2Jvb3Rib3guY29uZmlybShlKCIjbGFuZ19jbGVhcl9jbGlwYm9hcmRfY29uZmlybSIpLnZhbCgpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbihhKXsxPT1hJiZlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNsZWFyX2NsaXBib2FyZCIsZGF0YTp7fX0pLmRvbmUoZnVuY3Rpb24oYSl7IiIhPWE/Ym9vdGJveC5hbGVydChhKTplKCIjY2xpcGJvYXJkIikudmFsKCIwIiksdighMSl9KX0pfWZ1bmN0aW9uIHAoYSx0KXtpZigiY29weSI9PXR8fCJjdXQiPT10KXt2YXIgbjtuPWEuZmluZCgiLnJlbmFtZS1maWxlLXBhdGhzIikuYXR0cihhLmhhc0NsYXNzKCJkaXJlY3RvcnkiKT8iZGF0YS1wYXRoIjoiZGF0YS1wYXRoIiksZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1jb3B5X2N1dCIsZGF0YTp7cGF0aDpuLHN1Yl9hY3Rpb246dH19KS5kb25lKGZ1bmN0aW9uKGEpeyIiIT1hP2Jvb3Rib3guYWxlcnQoYSk6KGUoIiNjbGlwYm9hcmQiKS52YWwoIjEiKSx2KCEwKSl9KX19ZnVuY3Rpb24gZihhKXtib290Ym94LmNvbmZpcm0oZSgiI2xhbmdfcGFzdGVfY29uZmlybSIpLnZhbCgpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbih0KXtpZigxPT10KXt2YXIgbjtuPSJ1bmRlZmluZWQiIT10eXBlb2YgYT9hLmZpbmQoIi5yZW5hbWUtZm9sZGVyIikuYXR0cigiZGF0YS1wYXRoIik6ZSgiI3N1Yl9mb2xkZXIiKS52YWwoKStlKCIjZmxkcl92YWx1ZSIpLnZhbCgpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOm59fSkuZG9uZShmdW5jdGlvbihhKXsiIiE9YT9ib290Ym94LmFsZXJ0KGEpOihlKCIjY2xpcGJvYXJkIikudmFsKCIwIiksdighMSksc2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWUoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sMzAwKSl9KX19KX1mdW5jdGlvbiB1KGEsdCl7dmFyIG47bj1hLmZpbmQoYS5oYXNDbGFzcygiZGlyZWN0b3J5Iik/Ii5yZW5hbWUtZm9sZGVyIjoiLnJlbmFtZS1maWxlIik7dmFyIGk9bi5hdHRyKCJkYXRhLXBhdGgiKTthLnBhcmVudCgpLmhpZGUoMTAwKSxlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWNvcHlfY3V0IixkYXRhOntwYXRoOmksc3ViX2FjdGlvbjoiY3V0In19KS5kb25lKGZ1bmN0aW9uKG4pe2lmKCIiIT1uKWJvb3Rib3guYWxlcnQobik7ZWxzZXt2YXIgaTtpPSJ1bmRlZmluZWQiIT10eXBlb2YgdD90Lmhhc0NsYXNzKCJiYWNrLWRpcmVjdG9yeSIpP3QuZmluZCgiLnBhdGgiKS52YWwoKTp0LmZpbmQoIi5yZW5hbWUtZm9sZGVyIikuYXR0cigiZGF0YS1wYXRoIik6ZSgiI3N1Yl9mb2xkZXIiKS52YWwoKStlKCIjZmxkcl92YWx1ZSIpLnZhbCgpLGUuYWpheCh7dHlwZToiUE9TVCIsdXJsOiJleGVjdXRlLnBocD9hY3Rpb249cGFzdGVfY2xpcGJvYXJkIixkYXRhOntwYXRoOml9fSkuZG9uZShmdW5jdGlvbih0KXsiIiE9dD8oYm9vdGJveC5hbGVydCh0KSxhLnBhcmVudCgpLnNob3coMTAwKSk6KGUoIiNjbGlwYm9hcmQiKS52YWwoIjAiKSx2KCExKSxhLnBhcmVudCgpLnJlbW92ZSgpKX0pfX0pLmVycm9yKGZ1bmN0aW9uKCl7YS5wYXJlbnQoKS5zaG93KDEwMCl9KX1mdW5jdGlvbiB2KGEpezE9PWE/ZSgiLnBhc3RlLWhlcmUtYnRuLCAuY2xlYXItY2xpcGJvYXJkLWJ0biIpLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpOmUoIi5wYXN0ZS1oZXJlLWJ0biwgLmNsZWFyLWNsaXBib2FyZC1idG4iKS5hZGRDbGFzcygiZGlzYWJsZWQiKX1mdW5jdGlvbiBtKHQpe3ZhciBuPWUoIi5icmVhZGNydW1iIikud2lkdGgoKSt0LGk9ZSgiI3ZpZXciKSxyPWUoIiNoZWxwIik7aWYoZSgiLnVwbG9hZGVyIikuY3NzKCJ3aWR0aCIsbiksaS52YWwoKT4wKXtpZigxPT1pLnZhbCgpKWUoInVsLmdyaWQgbGksIHVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIsIjEwMCUiKTtlbHNle3ZhciBvPU1hdGguZmxvb3Iobi8zODApOzA9PW8mJihvPTEsZSgiaDQiKS5jc3MoImZvbnQtc2l6ZSIsMTIpKSxuPU1hdGguZmxvb3Iobi9vLTMpLGUoInVsLmdyaWQgbGksIHVsLmdyaWQgZmlndXJlIikuY3NzKCJ3aWR0aCIsbil9ci5oaWRlKCl9ZWxzZSBhLnRvdWNoJiZyLnNob3coKX1mdW5jdGlvbiBoKCl7dmFyIGE9ZSh0aGlzKTswPT1lKCIjdmlldyIpLnZhbCgpJiYoMT09YS5hdHRyKCJ0b2dnbGUiKT8oYS5hdHRyKCJ0b2dnbGUiLDApLGEuYW5pbWF0ZSh7dG9wOiIwcHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSkpOihhLmF0dHIoInRvZ2dsZSIsMSksYS5hbmltYXRlKHt0b3A6Ii0zMHB4In0se3F1ZXVlOiExLGR1cmF0aW9uOjMwMH0pKSl9ZnVuY3Rpb24gXyhlKXt2YXIgYT1uZXcgUmVnRXhwKCIoPzpbPyZdfCYpIitlKyI9KFteJl0rKSIsImkiKSx0PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2goYSk7cmV0dXJuIHQmJnQubGVuZ3RoPjE/dFsxXTpudWxsfWZ1bmN0aW9uIGcoKXsxPT1lKCIjcG9wdXAiKS52YWwoKT93aW5kb3cuY2xvc2UoKTooImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC4kKCIubW9kYWwiKS5tb2RhbCYmcGFyZW50LiQoIi5tb2RhbCIpLm1vZGFsKCJoaWRlIiksInVuZGVmaW5lZCIhPXR5cGVvZiBwYXJlbnQualF1ZXJ5JiZwYXJlbnQualF1ZXJ5PyJmdW5jdGlvbiI9PXR5cGVvZiBwYXJlbnQualF1ZXJ5LmZhbmN5Ym94JiZwYXJlbnQualF1ZXJ5LmZhbmN5Ym94LmNsb3NlKCk6ImZ1bmN0aW9uIj09dHlwZW9mIHBhcmVudC4kLmZhbmN5Ym94JiZwYXJlbnQuJC5mYW5jeWJveC5jbG9zZSgpKX1mdW5jdGlvbiBiKGUpe2Zvcih2YXIgZSxhPVsvW1wzMDAtXDMwNl0vZywvW1wzNDAtXDM0Nl0vZywvW1wzMTAtXDMxM10vZywvW1wzNTAtXDM1M10vZywvW1wzMTQtXDMxN10vZywvW1wzNTQtXDM1N10vZywvW1wzMjItXDMzMF0vZywvW1wzNjItXDM3MF0vZywvW1wzMzEtXDMzNF0vZywvW1wzNzEtXDM3NF0vZywvW1wzMjFdL2csL1tcMzYxXS9nLC9bXDMwN10vZywvW1wzNDddL2ddLHQ9WyJBIiwiYSIsIkUiLCJlIiwiSSIsImkiLCJPIiwibyIsIlUiLCJ1IiwiTiIsIm4iLCJDIiwiYyJdLG49MDtuPGEubGVuZ3RoO24rKyllPWUucmVwbGFjZShhW25dLHRbbl0pO3JldHVybiBlfWZ1bmN0aW9uIHkoYSl7cmV0dXJuIG51bGwhPWE/KCJ0cnVlIj09ZSgiI3RyYW5zbGl0ZXJhdGlvbiIpLnZhbCgpJiYoYT1iKGEpLGE9YS5yZXBsYWNlKC9bXkEtWmEtejAtOVwuXC1cW1xdIF9dKy9nLCIiKSksInRydWUiPT1lKCIjY29udmVydF9zcGFjZXMiKS52YWwoKSYmKGE9YS5yZXBsYWNlKC8gL2csZSgiI3JlcGxhY2Vfd2l0aCIpLnZhbCgpKSxhPWEudG9Mb3dlckNhc2UoKSksYT1hLnJlcGxhY2UoJyInLCIiKSxhPWEucmVwbGFjZSgiJyIsIiIpLGE9YS5yZXBsYWNlKCIvIiwiIiksYT1hLnJlcGxhY2UoIlxcIiwiIiksYT1hLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpLGUudHJpbShhKSk6bnVsbH1mdW5jdGlvbiB3KGEsdCxuLGkscil7bnVsbCE9PW4mJihuPXkobiksZS5hamF4KHt0eXBlOiJQT1NUIix1cmw6ImV4ZWN1dGUucGhwP2FjdGlvbj0iK2EsZGF0YTp7cGF0aDp0LG5hbWU6bi5yZXBsYWNlKCIvIiwiIil9fSkuZG9uZShmdW5jdGlvbihlKXtyZXR1cm4iIiE9ZT8oYm9vdGJveC5hbGVydChlKSwhMSk6KCIiIT1yJiZ3aW5kb3dbcl0oaSxuKSwhMCl9KSl9ZnVuY3Rpb24geChhLHQpe3ZhciBuPWUoImxpLmRpciIsInVsLmdyaWQiKS5maWx0ZXIoIjp2aXNpYmxlIiksaT1lKCJsaS5maWxlIiwidWwuZ3JpZCIpLmZpbHRlcigiOnZpc2libGUiKSxyPVtdLG89W10sbD1bXSxjPVtdO24uZWFjaChmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksbj1hLmZpbmQodCkudmFsKCk7aWYoZS5pc051bWVyaWMobikpZm9yKG49cGFyc2VGbG9hdChuKTsidW5kZWZpbmVkIiE9dHlwZW9mIHJbbl0mJnJbbl07KW49cGFyc2VGbG9hdChwYXJzZUZsb2F0KG4pK3BhcnNlRmxvYXQoLjAwMSkpO2Vsc2Ugbj1uKyJhIithLmZpbmQoImg0IGEiKS5hdHRyKCJkYXRhLWZpbGUiKTtyW25dPWEuaHRtbCgpLG8ucHVzaChuKX0pLGkuZWFjaChmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksbj1hLmZpbmQodCkudmFsKCk7aWYoZS5pc051bWVyaWMobikpZm9yKG49cGFyc2VGbG9hdChuKTsidW5kZWZpbmVkIiE9dHlwZW9mIGxbbl0mJmxbbl07KW49cGFyc2VGbG9hdChwYXJzZUZsb2F0KG4pK3BhcnNlRmxvYXQoLjAwMSkpO2Vsc2Ugbj1uKyJhIithLmZpbmQoImg0IGEiKS5hdHRyKCJkYXRhLWZpbGUiKTtsW25dPWEuaHRtbCgpLGMucHVzaChuKX0pLGUuaXNOdW1lcmljKG9bMF0pP28uc29ydChmdW5jdGlvbihlLGEpe3JldHVybiBwYXJzZUZsb2F0KGUpLXBhcnNlRmxvYXQoYSl9KTpvLnNvcnQoKSxlLmlzTnVtZXJpYyhjWzBdKT9jLnNvcnQoZnVuY3Rpb24oZSxhKXtyZXR1cm4gcGFyc2VGbG9hdChlKS1wYXJzZUZsb2F0KGEpfSk6Yy5zb3J0KCksYSYmKG8ucmV2ZXJzZSgpLGMucmV2ZXJzZSgpKSxuLmVhY2goZnVuY3Rpb24oYSl7dmFyIHQ9ZSh0aGlzKTt0Lmh0bWwocltvW2FdXSl9KSxpLmVhY2goZnVuY3Rpb24oYSl7dmFyIHQ9ZSh0aGlzKTt0Lmh0bWwobFtjW2FdXSl9KX1mdW5jdGlvbiBrKGUsYSl7cmV0dXJuIGZlYXRoZXJFZGl0b3IubGF1bmNoKHtpbWFnZTplLHVybDphfSksITF9ZnVuY3Rpb24gQygpe2UoIi5sYXp5LWxvYWRlZCIpLmxhenlsb2FkKCl9dmFyIGo9IjkuOS43IixUPSEwLEk9MCxPPWZ1bmN0aW9uKCl7dmFyIGU9MDtyZXR1cm4gZnVuY3Rpb24oYSx0KXtjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KGEsdCl9fSgpLFM9ZnVuY3Rpb24oYSl7dmFyIHQ9ZSgiI2Jhc2VfdXJsIikudmFsKCkrZSgiI2N1cl9kaXIiKS52YWwoKSxuPWEuZmluZCgiYS5saW5rIikuYXR0cigiZGF0YS1maWxlIik7cmV0dXJuIiIhPW4mJm51bGwhPW4mJih0Kz1uKSxuPWEuZmluZCgiaDQgYS5mb2xkZXItbGluayIpLmF0dHIoImRhdGEtZmlsZSIpLCIiIT1uJiZudWxsIT1uJiYodCs9biksdH0sVT17Y29udGV4dEFjdGlvbnM6e2NvcHlfdXJsOmZ1bmN0aW9uKGEpe3ZhciB0PVMoYSk7Ym9vdGJveC5hbGVydCgnVVJMOjxici8+PGRpdiBjbGFzcz0iaW5wdXQtYXBwZW5kIiBzdHlsZT0id2lkdGg6MTAwJSI+PGlucHV0IGlkPSJ1cmxfdGV4dCcrSSsnIiB0eXBlPSJ0ZXh0IiBzdHlsZT0id2lkdGg6ODAlOyBoZWlnaHQ6MzBweDsiIHZhbHVlPSInK2VuY29kZVVSTCh0KSsnIiAvPjxidXR0b24gaWQ9ImNvcHktYnV0dG9uJytJKyciIGNsYXNzPSJidG4gYnRuLWludmVyc2UgY29weS1idXR0b24iIHN0eWxlPSJ3aWR0aDoyMCU7IGhlaWdodDozMHB4OyIgZGF0YS1jbGlwYm9hcmQtdGFyZ2V0PSJ1cmxfdGV4dCcrSSsnIiBkYXRhLWNsaXBib2FyZC10ZXh0PSJDb3B5IE1lISIgdGl0bGU9ImNvcHkiPjwvYnV0dG9uPjwvZGl2PicpLGUoIiNjb3B5LWJ1dHRvbiIrSSkuaHRtbCgnPGkgY2xhc3M9Imljb24gaWNvbi13aGl0ZSBpY29uLXNoYXJlIj48L2k+ICcrZSgiI2xhbmdfY29weSIpLnZhbCgpKTt2YXIgbj1uZXcgWmVyb0NsaXBib2FyZChlKCIjY29weS1idXR0b24iK0kpKTtuLm9uKCJyZWFkeSIsZnVuY3Rpb24oYSl7bi5vbigid3JvbmdGbGFzaCBub0ZsYXNoIixmdW5jdGlvbigpe1plcm9DbGlwYm9hcmQuZGVzdHJveSgpfSksbi5vbigiYWZ0ZXJjb3B5IixmdW5jdGlvbihhKXtlKCIjY29weS1idXR0b24iK0kpLmh0bWwoJzxpIGNsYXNzPSJpY29uIGljb24tb2siPjwvaT4gJytlKCIjb2siKS52YWwoKSksZSgiI2NvcHktYnV0dG9uIitJKS5hdHRyKCJjbGFzcyIsImJ0biBkaXNhYmxlZCIpLEkrK30pLG4ub24oImVycm9yIixmdW5jdGlvbihlKXt9KX0pfSx1bnppcDpmdW5jdGlvbihhKXt2YXIgdD1lKCIjc3ViX2ZvbGRlciIpLnZhbCgpK2UoIiNmbGRyX3ZhbHVlIikudmFsKCkrYS5maW5kKCJhLmxpbmsiKS5hdHRyKCJkYXRhLWZpbGUiKTtlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPWV4dHJhY3QiLGRhdGE6e3BhdGg6dH19KS5kb25lKGZ1bmN0aW9uKGEpeyIiIT1hP2Jvb3Rib3guYWxlcnQoYSk6d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSl9LGVkaXRfaW1nOmZ1bmN0aW9uKGEpe3ZhciB0PWEuYXR0cigiZGF0YS1uYW1lIiksbj1lKCIjYmFzZV91cmxfdHJ1ZSIpLnZhbCgpK2UoIiNjdXJfZGlyIikudmFsKCkrdCxpPWUoIiNhdmlhcnlfaW1nIik7aS5hdHRyKCJkYXRhLW5hbWUiLHQpLHNob3dfYW5pbWF0aW9uKCksaS5hdHRyKCJzcmMiLG4pLmxvYWQoayhpLmF0dHIoImlkIiksbikpfSxkdXBsaWNhdGU6ZnVuY3Rpb24oYSl7dmFyIHQ9YS5maW5kKCJoNCIpLnRleHQoKS50cmltKCk7Ym9vdGJveC5wcm9tcHQoZSgiI2xhbmdfZHVwbGljYXRlIikudmFsKCksZSgiI2NhbmNlbCIpLnZhbCgpLGUoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe2lmKG51bGwhPT1lJiYoZT15KGUpLGUhPXQpKXt2YXIgbj1hLmZpbmQoIi5yZW5hbWUtZmlsZSIpO3coImR1cGxpY2F0ZV9maWxlIixuLmF0dHIoImRhdGEtcGF0aCIpLGUsbiwiYXBwbHlfZmlsZV9kdXBsaWNhdGUiKX19LHQpfSxzZWxlY3Q6ZnVuY3Rpb24oYSl7dmFyIHQsbj1TKGEpLGk9ZSgiI2ZpZWxkX2lkIikudmFsKCkscj1lKCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpO2lmKDE9PXImJihuPW4ucmVwbGFjZShlKCIjYmFzZV91cmwiKS52YWwoKSwiIiksbj1uLnJlcGxhY2UoZSgiI2N1cl9kaXIiKS52YWwoKSwiIikpLHQ9MT09ZSgiI3BvcHVwIikudmFsKCk/d2luZG93Lm9wZW5lcjp3aW5kb3cucGFyZW50LCIiIT1pKWlmKDE9PWUoIiNjcm9zc2RvbWFpbiIpLnZhbCgpKXQucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6bixmaWVsZF9pZDppfSwiKiIpO2Vsc2V7dmFyIG89ZSgiIyIraSx0LmRvY3VtZW50KTtvLnZhbChuKS50cmlnZ2VyKCJjaGFuZ2UiKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrJiZ0LnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2soaSksZygpfWVsc2UgYXBwbHlfYW55KG4pfSxjb3B5OmZ1bmN0aW9uKGUpe3AoZSwiY29weSIpfSxjdXQ6ZnVuY3Rpb24oZSl7cChlLCJjdXQiKX0scGFzdGU6ZnVuY3Rpb24oKXtmKCl9LGNobW9kOmZ1bmN0aW9uKGUpe2woZSl9LGVkaXRfdGV4dF9maWxlOmZ1bmN0aW9uKGUpe3IoZSl9fSxtYWtlQ29udGV4dE1lbnU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2UuY29udGV4dE1lbnUoe3NlbGVjdG9yOiJmaWd1cmU6bm90KC5iYWNrLWRpcmVjdG9yeSksIC5saXN0LXZpZXcyIGZpZ3VyZTpub3QoLmJhY2stZGlyZWN0b3J5KSIsYXV0b0hpZGU6ITAsYnVpbGQ6ZnVuY3Rpb24obil7bi5hZGRDbGFzcygic2VsZWN0ZWQiKTt2YXIgaT17Y2FsbGJhY2s6ZnVuY3Rpb24oZSx0KXthLmNvbnRleHRBY3Rpb25zW2VdKG4pfSxpdGVtczp7fX07cmV0dXJuKG4uZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygicG5nIil8fG4uZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygianBnIil8fG4uZmluZCgiLmltZy1wcmVjb250YWluZXItbWluaSAuZmlsZXR5cGUiKS5oYXNDbGFzcygianBlZyIpKSYmdCYmKGkuaXRlbXMuZWRpdF9pbWc9e25hbWU6ZSgiI2xhbmdfZWRpdF9pbWFnZSIpLnZhbCgpLGljb246ImVkaXRfaW1nIixkaXNhYmxlZDohMX0pLG4uaGFzQ2xhc3MoImRpcmVjdG9yeSIpJiYwIT1lKCIjdHlwZV9wYXJhbSIpLnZhbCgpJiYoaS5pdGVtcy5zZWxlY3Q9e25hbWU6ZSgiI2xhbmdfc2VsZWN0IikudmFsKCksaWNvbjoiIixkaXNhYmxlZDohMX0pLGkuaXRlbXMuY29weV91cmw9e25hbWU6ZSgiI2xhbmdfc2hvd191cmwiKS52YWwoKSxpY29uOiJ1cmwiLGRpc2FibGVkOiExfSwobi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJ6aXAiKXx8bi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJ0YXIiKXx8bi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJneiIpKSYmKGkuaXRlbXMudW56aXA9e25hbWU6ZSgiI2xhbmdfZXh0cmFjdCIpLnZhbCgpLGljb246ImV4dHJhY3QiLGRpc2FibGVkOiExfSksbi5maW5kKCIuaW1nLXByZWNvbnRhaW5lci1taW5pIC5maWxldHlwZSIpLmhhc0NsYXNzKCJlZGl0LXRleHQtZmlsZS1hbGxvd2VkIikmJihpLml0ZW1zLmVkaXRfdGV4dF9maWxlPXtuYW1lOmUoIiNsYW5nX2VkaXRfZmlsZSIpLnZhbCgpLGljb246ImVkaXQiLGRpc2FibGVkOiExfSksbi5oYXNDbGFzcygiZGlyZWN0b3J5Iil8fDEhPWUoIiNkdXBsaWNhdGUiKS52YWwoKXx8KGkuaXRlbXMuZHVwbGljYXRlPXtuYW1lOmUoIiNsYW5nX2R1cGxpY2F0ZSIpLnZhbCgpLGljb246ImR1cGxpY2F0ZSIsZGlzYWJsZWQ6ITF9KSxuLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8MSE9ZSgiI2NvcHlfY3V0X2ZpbGVzX2FsbG93ZWQiKS52YWwoKT9uLmhhc0NsYXNzKCJkaXJlY3RvcnkiKSYmMT09ZSgiI2NvcHlfY3V0X2RpcnNfYWxsb3dlZCIpLnZhbCgpJiYoaS5pdGVtcy5jb3B5PXtuYW1lOmUoIiNsYW5nX2NvcHkiKS52YWwoKSxpY29uOiJjb3B5IixkaXNhYmxlZDohMX0saS5pdGVtcy5jdXQ9e25hbWU6ZSgiI2xhbmdfY3V0IikudmFsKCksaWNvbjoiY3V0IixkaXNhYmxlZDohMX0pOihpLml0ZW1zLmNvcHk9e25hbWU6ZSgiI2xhbmdfY29weSIpLnZhbCgpLGljb246ImNvcHkiLGRpc2FibGVkOiExfSxpLml0ZW1zLmN1dD17bmFtZTplKCIjbGFuZ19jdXQiKS52YWwoKSxpY29uOiJjdXQiLGRpc2FibGVkOiExfSksMD09ZSgiI2NsaXBib2FyZCIpLnZhbCgpfHxuLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8KGkuaXRlbXMucGFzdGU9e25hbWU6ZSgiI2xhbmdfcGFzdGVfaGVyZSIpLnZhbCgpLGljb246ImNsaXBib2FyZC1hcHBseSIsZGlzYWJsZWQ6ITF9KSxuLmhhc0NsYXNzKCJkaXJlY3RvcnkiKXx8MSE9ZSgiI2NobW9kX2ZpbGVzX2FsbG93ZWQiKS52YWwoKT9uLmhhc0NsYXNzKCJkaXJlY3RvcnkiKSYmMT09ZSgiI2NobW9kX2RpcnNfYWxsb3dlZCIpLnZhbCgpJiYoaS5pdGVtcy5jaG1vZD17bmFtZTplKCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKSxpY29uOiJrZXkiLGRpc2FibGVkOiExfSk6aS5pdGVtcy5jaG1vZD17bmFtZTplKCIjbGFuZ19maWxlX3Blcm1pc3Npb24iKS52YWwoKSxpY29uOiJrZXkiLGRpc2FibGVkOiExfSxpLml0ZW1zLnNlcD0iLS0tLSIsaS5pdGVtcy5pbmZvPXtuYW1lOiI8c3Ryb25nPiIrZSgiI2xhbmdfZmlsZV9pbmZvIikudmFsKCkrIjwvc3Ryb25nPiIsZGlzYWJsZWQ6ITB9LGkuaXRlbXMubmFtZT17bmFtZTpuLmF0dHIoImRhdGEtbmFtZSIpLGljb246ImxhYmVsIixkaXNhYmxlZDohMH0sImltZyI9PW4uYXR0cigiZGF0YS10eXBlIikmJihpLml0ZW1zLmRpbWVuc2lvbj17bmFtZTpuLmZpbmQoIi5pbWctZGltZW5zaW9uIikuaHRtbCgpLGljb246ImRpbWVuc2lvbiIsZGlzYWJsZWQ6ITB9KSxpLml0ZW1zLnNpemU9bi5oYXNDbGFzcygiZGlyZWN0b3J5Iik/e25hbWU6bi5maW5kKCIuZmlsZS1zaXplIikuaHRtbCgpKyIgLSAiK24uZmluZCgiLm5maWxlcyIpLnZhbCgpKyIgIitlKCIjbGFuZ19maWxlcyIpLnZhbCgpKyIgLSAiK24uZmluZCgiLm5mb2xkZXJzIikudmFsKCkrIiAiK2UoIiNsYW5nX2ZvbGRlcnMiKS52YWwoKSxpY29uOiJzaXplIixkaXNhYmxlZDohMH06e25hbWU6bi5maW5kKCIuZmlsZS1zaXplIikuaHRtbCgpLGljb246InNpemUiLGRpc2FibGVkOiEwfSxpLml0ZW1zLmRhdGU9e25hbWU6bi5maW5kKCIuZmlsZS1kYXRlIikuaHRtbCgpLGljb246ImRhdGUiLGRpc2FibGVkOiEwfSxpfSxldmVudHM6e2hpZGU6ZnVuY3Rpb24oKXtlKCJmaWd1cmUiKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX19fSksZShkb2N1bWVudCkub24oImNvbnRleHRtZW51IixmdW5jdGlvbihhKXtyZXR1cm4gZShhLnRhcmdldCkuaXMoImZpZ3VyZSIpP3ZvaWQgMDohMX0pfSxiaW5kR3JpZEV2ZW50czpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSl7d2luZG93W2EuYXR0cigiZGF0YS1mdW5jdGlvbiIpXShhLmF0dHIoImRhdGEtZmlsZSIpLGUoIiNmaWVsZF9pZCIpLnZhbCgpKX12YXIgdD1lKCJ1bC5ncmlkIik7dC5vbigiY2xpY2siLCIubW9kYWxBViIsZnVuY3Rpb24oYSl7dmFyIHQ9ZSh0aGlzKTthLnByZXZlbnREZWZhdWx0KCk7dmFyIG49ZSgiI3ByZXZpZXdBViIpLGk9ZSgiLmJvZHktcHJldmlldyIpO24ucmVtb3ZlRGF0YSgibW9kYWwiKSxuLm1vZGFsKHtiYWNrZHJvcDoic3RhdGljIixrZXlib2FyZDohMX0pLHQuaGFzQ2xhc3MoImF1ZGlvIik/aS5jc3MoImhlaWdodCIsIjgwcHgiKTppLmNzcygiaGVpZ2h0IiwiMzQ1cHgiKSxlLmFqYXgoe3VybDp0LmF0dHIoImRhdGEtdXJsIiksc3VjY2VzczpmdW5jdGlvbihlKXtpLmh0bWwoZSl9fSl9KSx0Lm9uKCJjbGljayIsIi5maWxlLXByZXZpZXctYnRuIixmdW5jdGlvbihhKXt2YXIgdD1lKHRoaXMpO2EucHJldmVudERlZmF1bHQoKSxlLmFqYXgoe3VybDp0LmF0dHIoImRhdGEtdXJsIiksc3VjY2VzczpmdW5jdGlvbihlKXtib290Ym94Lm1vZGFsKGUsIiAiK3QucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgiLm5hbWUiKS52YWwoKSl9fSl9KSx0Lm9uKCJjbGljayIsIi5wcmV2aWV3IixmdW5jdGlvbigpe3ZhciBhPWUodGhpcyk7cmV0dXJuIDA9PWEuaGFzQ2xhc3MoImRpc2FibGVkIikmJmUoIiNmdWxsLWltZyIpLmF0dHIoInNyYyIsZGVjb2RlVVJJQ29tcG9uZW50KGEuYXR0cigiZGF0YS11cmwiKSkpLCEwfSksdC5vbigiY2xpY2siLCIucmVuYW1lLWZpbGUiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKSx0PWEucGFyZW50KCkucGFyZW50KCkucGFyZW50KCksbj10LmZpbmQoImg0IiksaT1lLnRyaW0obi50ZXh0KCkpO2Jvb3Rib3gucHJvbXB0KGUoIiNyZW5hbWUiKS52YWwoKSxlKCIjY2FuY2VsIikudmFsKCksZSgiI29rIikudmFsKCksZnVuY3Rpb24oZSl7bnVsbCE9PWUmJihlPXkoZSksZSE9aSYmdygicmVuYW1lX2ZpbGUiLGEuYXR0cigiZGF0YS1wYXRoIiksZSx0LCJhcHBseV9maWxlX3JlbmFtZSIpKX0saSl9KSx0Lm9uKCJjbGljayIsIi5yZW5hbWUtZm9sZGVyIixmdW5jdGlvbigpe3ZhciBhPWUodGhpcyksdD1hLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLG49dC5maW5kKCJoNCIpLGk9ZS50cmltKG4udGV4dCgpKTtib290Ym94LnByb21wdChlKCIjcmVuYW1lIikudmFsKCksZSgiI2NhbmNlbCIpLnZhbCgpLGUoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGUpe251bGwhPT1lJiYoZT15KGUpLnJlcGxhY2UoIi4iLCIiKSxlIT1pJiZ3KCJyZW5hbWVfZm9sZGVyIixhLmF0dHIoImRhdGEtcGF0aCIpLGUsdCwiYXBwbHlfZm9sZGVyX3JlbmFtZSIpKX0saSl9KSx0Lm9uKCJjbGljayIsIi5kZWxldGUtZmlsZSIsZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpO2Jvb3Rib3guY29uZmlybShhLmF0dHIoImRhdGEtY29uZmlybSIpLGUoIiNjYW5jZWwiKS52YWwoKSxlKCIjb2siKS52YWwoKSxmdW5jdGlvbih0KXtpZigxPT10KXt3KCJkZWxldGVfZmlsZSIsYS5hdHRyKCJkYXRhLXBhdGgiKSwiIiwiIiwiIik7dmFyIG49ZSgiI2ZpbGVzX251bWJlciIpO24udGV4dChwYXJzZUludChuLnRleHQoKSktMSksYS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5yZW1vdmUoKX19KX0pLHQub24oImNsaWNrIiwiLmRlbGV0ZS1mb2xkZXIiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTtib290Ym94LmNvbmZpcm0oYS5hdHRyKCJkYXRhLWNvbmZpcm0iKSxlKCIjY2FuY2VsIikudmFsKCksZSgiI29rIikudmFsKCksZnVuY3Rpb24odCl7aWYoMT09dCl7dygiZGVsZXRlX2ZvbGRlciIsYS5hdHRyKCJkYXRhLXBhdGgiKSwiIiwiIiwiIik7dmFyIG49ZSgiI2ZvbGRlcnNfbnVtYmVyIik7bi50ZXh0KHBhcnNlSW50KG4udGV4dCgpKS0xKSxhLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnJlbW92ZSgpfX0pfSksZSgidWwuZ3JpZCIpLm9uKCJjbGljayIsIi5saW5rIixmdW5jdGlvbigpe2EoZSh0aGlzKSl9KSxlKCJ1bC5ncmlkIikub24oImNsaWNrIiwiZGl2LmJveCIsZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKS5maW5kKCIubGluayIpO2lmKDAhPT1uLmxlbmd0aClhKG4pO2Vsc2V7dmFyIGk9ZSh0aGlzKS5maW5kKCIuZm9sZGVyLWxpbmsiKTswIT09aS5sZW5ndGgmJihkb2N1bWVudC5sb2NhdGlvbj1lKGkpLnByb3AoImhyZWYiKSl9fSl9LG1ha2VGaWx0ZXJzOmZ1bmN0aW9uKGEpe2UoIiNmaWx0ZXItaW5wdXQiKS5vbigia2V5dXAiLGZ1bmN0aW9uKCl7ZSgiLmZpbHRlcnMgbGFiZWwiKS5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxlKCIuZmlsdGVycyBsYWJlbCIpLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGUoIiNmZi1pdGVtLXR5cGUtYWxsIikuYWRkQ2xhc3MoImJ0bi1pbnZlcnNlIiksZSgiI2ZmLWl0ZW0tdHlwZS1hbGwiKS5maW5kKCJpIikuYWRkQ2xhc3MoImljb24td2hpdGUiKTt2YXIgdD15KGUodGhpcykudmFsKCkpLnRvTG93ZXJDYXNlKCk7ZSh0aGlzKS52YWwodCksYSYmTyhmdW5jdGlvbigpe2UoImxpIiwidWwuZ3JpZCAiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTsiIiE9dCYmLTE9PWEuYXR0cigiZGF0YS1uYW1lIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQpP2EuaGlkZSgxMDApOmEuc2hvdygxMDApfSksZS5hamF4KHt1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj1maWx0ZXImdHlwZT0iK3R9KS5kb25lKGZ1bmN0aW9uKGUpeyIiIT1lJiZib290Ym94LmFsZXJ0KGUpfSksTyhmdW5jdGlvbigpe3ZhciBhPTAhPWUoIiNkZXNjZW5kaW5nIikudmFsKCk/ITA6ITE7eChhLCIuIitlKCIjc29ydF9ieSIpLnZhbCgpKSxDKCl9LDUwMCl9LDMwMCl9KS5rZXlwcmVzcyhmdW5jdGlvbihhKXsxMz09YS53aGljaCYmZSgiI2ZpbHRlciIpLnRyaWdnZXIoImNsaWNrIil9KSxlKCIjZmlsdGVyIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBhPXkoZSgiI2ZpbHRlci1pbnB1dCIpLnZhbCgpKTt3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjY3VycmVudF91cmwiKS52YWwoKSsiJmZpbHRlcj0iK2F9KX0sbWFrZVVwbG9hZGVyOmZ1bmN0aW9uKCl7ZSgiI3VwbG9hZGVyLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYT1lKCIjc3ViX2ZvbGRlciIpLnZhbCgpK2UoIiNmbGRyX3ZhbHVlIikudmFsKCkrIi8iO2E9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0xKSxlKCIjaWZyYW1lLWNvbnRhaW5lciIpLmh0bWwoZSgiPGlmcmFtZSAvPiIse25hbWU6IkpVcGxvYWQiLGlkOiJ1cGxvYWRlcl9mcmFtZSIsc3JjOiJ1cGxvYWRlci9pbmRleC5waHA/cGF0aD0iK2EsZnJhbWVib3JkZXI6MCx3aWR0aDoiMTAwJSIsaGVpZ2h0OjM2MH0pKX0pLGUoIi51cGxvYWQtYnRuIikub24oImNsaWNrIixmdW5jdGlvbigpe2UoIi51cGxvYWRlciIpLnNob3coNTAwKX0pLGUoIi5jbG9zZS11cGxvYWRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtlKCIudXBsb2FkZXIiKS5oaWRlKDUwMCksc2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWUoIiNyZWZyZXNoIikuYXR0cigiaHJlZiIpKyImIisobmV3IERhdGUpLmdldFRpbWUoKX0sNDIwKX0pfSxtYWtlU29ydDpmdW5jdGlvbihhKXtlKCJpbnB1dFtuYW1lPXJhZGlvLXNvcnRdIikub24oImNsaWNrIixmdW5jdGlvbigpe3ZhciBuPWUodGhpcykuYXR0cigiZGF0YS1pdGVtIiksaT1lKCIjIituKSxyPWUoIi5maWx0ZXJzIGxhYmVsIik7ci5yZW1vdmVDbGFzcygiYnRuLWludmVyc2UiKSxyLmZpbmQoImkiKS5yZW1vdmVDbGFzcygiaWNvbi13aGl0ZSIpLGUoIiNmaWx0ZXItaW5wdXQiKS52YWwoIiIpLGkuYWRkQ2xhc3MoImJ0bi1pbnZlcnNlIiksaS5maW5kKCJpIikuYWRkQ2xhc3MoImljb24td2hpdGUiKSwiZmYtaXRlbS10eXBlLWFsbCI9PW4/YT9lKCIuZ3JpZCBsaSIpLnNob3coMzAwKTp3aW5kb3cubG9jYXRpb24uaHJlZj1lKCIjY3VycmVudF91cmwiKS52YWwoKSsiJnNvcnRfYnk9IitlKCIjc29ydF9ieSIpLnZhbCgpKyImZGVzY2VuZGluZz0iKyh0PzE6MCk6ZSh0aGlzKS5pcygiOmNoZWNrZWQiKSYmKGUoIi5ncmlkIGxpIikubm90KCIuIituKS5oaWRlKDMwMCksZSgiLmdyaWQgbGkuIituKS5zaG93KDMwMCkpLEMoKX0pO3ZhciB0PWUoIiNkZXNjZW5kaW5nIikudmFsKCk7ZSgiLnNvcnRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgbj1lKHRoaXMpO3Q9ZSgiI3NvcnRfYnkiKS52YWwoKT09PW4uYXR0cigiZGF0YS1zb3J0Iik/MD09dD8hMDohMTohMCxhPyhlLmFqYXgoe3VybDoiYWpheF9jYWxscy5waHA/YWN0aW9uPXNvcnQmc29ydF9ieT0iK24uYXR0cigiZGF0YS1zb3J0IikrIiZkZXNjZW5kaW5nPSIrKHQ/MTowKX0pLHgodCwiLiIrbi5hdHRyKCJkYXRhLXNvcnQiKSksZSgiIGEuc29ydGVyIikucmVtb3ZlQ2xhc3MoImRlc2NlbmRpbmciKS5yZW1vdmVDbGFzcygiYXNjZW5kaW5nIiksZSgiLnNvcnQtIituLmF0dHIoImRhdGEtc29ydCIpKS5hZGRDbGFzcyh0PyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIiksZSgiI3NvcnRfYnkiKS52YWwobi5hdHRyKCJkYXRhLXNvcnQiKSksZSgiI2Rlc2NlbmRpbmciKS52YWwodD8xOjApLEMoKSk6d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI2N1cnJlbnRfdXJsIikudmFsKCkrIiZzb3J0X2J5PSIrbi5hdHRyKCJkYXRhLXNvcnQiKSsiJmRlc2NlbmRpbmc9IisodD8xOjApfSl9fTtlKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2lmKGUoIiNyZm1Ecm9wem9uZSIpLm9uKCJjbGljayIsIi5kei1zdWNjZXNzIC5kei1kZXRhaWwiLGZ1bmN0aW9uKCl7dmFyIGE9ZSh0aGlzKTthbGVydChhLmZpbmQoIi5kei1maWxlbmFtZSBzcGFuIikudGV4KCkpfSksVCYmVS5tYWtlQ29udGV4dE1lbnUoKSxlKCIjZnVsbC1pbWciKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7ZSgiI3ByZXZpZXdMaWdodGJveCIpLmxpZ2h0Ym94KCJoaWRlIil9KSxlKCJib2R5Iikub24oImNsaWNrIixmdW5jdGlvbigpe2UoIi50aXAtcmlnaHQiKS50b29sdGlwKCJoaWRlIil9KSxVLmJpbmRHcmlkRXZlbnRzKCkscGFyc2VJbnQoZSgiI2ZpbGVfbnVtYmVyIikudmFsKCkpPnBhcnNlSW50KGUoIiNmaWxlX251bWJlcl9saW1pdF9qcyIpLnZhbCgpKSl2YXIgdD0hMTtlbHNlIHZhciB0PSEwO2lmKFUubWFrZVNvcnQodCksVS5tYWtlRmlsdGVycyh0KSxlKCIjaW5mbyIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtib290Ym94LmFsZXJ0KCc8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+PGJyLz48aW1nIHNyYz0iaW1nL2xvZ28ucG5nIiBhbHQ9InJlc3BvbnNpdmUgZmlsZW1hbmFnZXIiLz48YnIvPjxici8+PHA+PHN0cm9uZz5SRVNQT05TSVZFIGZpbGVtYW5hZ2VyIHYuJytqKyc8L3N0cm9uZz48YnIvPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbSI+cmVzcG9uc2l2ZWZpbGVtYW5hZ2VyLmNvbTwvYT48L3A+PGJyLz48cD5Db3B5cmlnaHQgwqkgPGEgaHJlZj0iaHR0cDovL3d3dy50ZWNyYWlsLmNvbSIgYWx0PSJ0ZWNyYWlsIj5UZWNyYWlsPC9hPiAtIEFsYmVydG8gUGVyaXBvbGxpLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD48YnIvPjxwPkxpY2Vuc2U8YnIvPjxzbWFsbD48aW1nIGFsdD0iQ3JlYXRpdmUgQ29tbW9ucyBMaWNlbnNlIiBzdHlsZT0iYm9yZGVyLXdpZHRoOjAiIHNyYz0iaHR0cDovL3Jlc3BvbnNpdmVmaWxlbWFuYWdlci5jb20vbGljZW5zZS5waHAiIC8+PGJyIC8+VGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIGEgPGEgcmVsPSJsaWNlbnNlIiBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy8zLjAvIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwgMy4wIFVucG9ydGVkIExpY2Vuc2U8L2E+Ljwvc21hbGw+PC9wPjwvZGl2PicpfSksZSgiI2NoYW5nZV9sYW5nX2J0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtvKCl9KSxVLm1ha2VVcGxvYWRlcigpLGUoImJvZHkiKS5vbigia2V5cHJlc3MiLGZ1bmN0aW9uKGUpe3ZhciBhPVN0cmluZy5mcm9tQ2hhckNvZGUoZS53aGljaCk7cmV0dXJuIiciPT1hfHwnIic9PWF8fCJcXCI9PWF8fCIvIj09YT8hMTp2b2lkIDB9KSxlKCJ1bC5ncmlkIGxpIGZpZ2NhcHRpb24iKS5vbigiY2xpY2siLCdhW2RhdGEtdG9nZ2xlPSJsaWdodGJveCJdJyxmdW5jdGlvbigpe24oZGVjb2RlVVJJQ29tcG9uZW50KGUodGhpcykuYXR0cigiZGF0YS11cmwiKSkpfSksZSgiLmNyZWF0ZS1maWxlLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtpKCl9KSxlKCIubmV3LWZvbGRlciIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtib290Ym94LnByb21wdChlKCIjaW5zZXJ0X2ZvbGRlcl9uYW1lIikudmFsKCksZSgiI2NhbmNlbCIpLnZhbCgpLGUoIiNvayIpLnZhbCgpLGZ1bmN0aW9uKGEpe2lmKG51bGwhPT1hKXthPXkoYSkucmVwbGFjZSgiLiIsIiIpO3ZhciB0PWUoIiNzdWJfZm9sZGVyIikudmFsKCkrZSgiI2ZsZHJfdmFsdWUiKS52YWwoKTtlLmFqYXgoe3R5cGU6IlBPU1QiLHVybDoiZXhlY3V0ZS5waHA/YWN0aW9uPWNyZWF0ZV9mb2xkZXIiLGRhdGE6e3BhdGg6dCxuYW1lOmF9fSkuZG9uZShmdW5jdGlvbihhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhyZWY9ZSgiI3JlZnJlc2giKS5hdHRyKCJocmVmIikrIiYiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpfSwzMDApfSl9fSl9KSxlKCIudmlldy1jb250cm9sbGVyIGJ1dHRvbiIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpO2UoIi52aWV3LWNvbnRyb2xsZXIgYnV0dG9uIikucmVtb3ZlQ2xhc3MoImJ0bi1pbnZlcnNlIiksZSgiLnZpZXctY29udHJvbGxlciBpIikucmVtb3ZlQ2xhc3MoImljb24td2hpdGUiKSxhLmFkZENsYXNzKCJidG4taW52ZXJzZSIpLGEuZmluZCgiaSIpLmFkZENsYXNzKCJpY29uLXdoaXRlIiksZS5hamF4KHt1cmw6ImFqYXhfY2FsbHMucGhwP2FjdGlvbj12aWV3JnR5cGU9IithLmF0dHIoImRhdGEtdmFsdWUiKX0pLmRvbmUoZnVuY3Rpb24oZSl7IiIhPWUmJmJvb3Rib3guYWxlcnQoZSl9KSwidW5kZWZpbmVkIiE9dHlwZW9mIGUoInVsLmdyaWQiKVswXSYmZSgidWwuZ3JpZCIpWzBdJiYoZSgidWwuZ3JpZCIpWzBdLmNsYXNzTmFtZT1lKCJ1bC5ncmlkIilbMF0uY2xhc3NOYW1lLnJlcGxhY2UoL1xibGlzdC12aWV3Lio/XGIvZywiIikpLCJ1bmRlZmluZWQiIT10eXBlb2YgZSgiLnNvcnRlci1jb250YWluZXIiKVswXSYmZSgiLnNvcnRlci1jb250YWluZXIiKVswXSYmKGUoIi5zb3J0ZXItY29udGFpbmVyIilbMF0uY2xhc3NOYW1lPWUoIi5zb3J0ZXItY29udGFpbmVyIilbMF0uY2xhc3NOYW1lLnJlcGxhY2UoL1xibGlzdC12aWV3Lio/XGIvZywiIikpO3ZhciB0PWEuYXR0cigiZGF0YS12YWx1ZSIpO2UoIiN2aWV3IikudmFsKHQpLGUoInVsLmdyaWQiKS5hZGRDbGFzcygibGlzdC12aWV3Iit0KSxlKCIuc29ydGVyLWNvbnRhaW5lciIpLmFkZENsYXNzKCJsaXN0LXZpZXciK3QpLGEuYXR0cigiZGF0YS12YWx1ZSIpPj0xP20oMTQpOihlKCJ1bC5ncmlkIGxpIikuY3NzKCJ3aWR0aCIsMTI2KSxlKCJ1bC5ncmlkIGZpZ3VyZSIpLmNzcygid2lkdGgiLDEyMikpLEMoKX0pLGEudG91Y2g/KGUoIiNoZWxwIikuc2hvdygpLGUoIi5ib3g6bm90KC5uby1lZmZlY3QpIikuc3dpcGUoe3N3aXBlTGVmdDpoLHN3aXBlUmlnaHQ6aCx0aHJlc2hvbGQ6MzB9KSk6KGUoIi50aXAiKS50b29sdGlwKHtwbGFjZW1lbnQ6ImJvdHRvbSJ9KSxlKCIudGlwLXRvcCIpLnRvb2x0aXAoe3BsYWNlbWVudDoidG9wIn0pLGUoIi50aXAtbGVmdCIpLnRvb2x0aXAoe3BsYWNlbWVudDoibGVmdCJ9KSxlKCIudGlwLXJpZ2h0IikudG9vbHRpcCh7cGxhY2VtZW50OiJyaWdodCJ9KSxlKCJib2R5IikuYWRkQ2xhc3MoIm5vLXRvdWNoIikpLGUoIi5wYXN0ZS1oZXJlLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXswPT1lKHRoaXMpLmhhc0NsYXNzKCJkaXNhYmxlZCIpJiZmKCl9KSxlKCIuY2xlYXItY2xpcGJvYXJkLWJ0biIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXswPT1lKHRoaXMpLmhhc0NsYXNzKCJkaXNhYmxlZCIpJiZkKCl9KSwhYS5jc3N0cmFuc2Zvcm1zKXt2YXIgcj1lKCJmaWd1cmUiKTtyLm9uKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7MD09ZSgiI3ZpZXciKS52YWwoKSYmZSgiI21haW4taXRlbS1jb250YWluZXIiKS5oYXNDbGFzcygibm8tZWZmZWN0LXNsaWRlIik9PT0hMSYmZSh0aGlzKS5maW5kKCIuYm94Om5vdCgubm8tZWZmZWN0KSIpLmFuaW1hdGUoe3RvcDoiLTI2cHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSl9KSxyLm9uKCJtb3VzZW91dCIsZnVuY3Rpb24oKXswPT1lKCIjdmlldyIpLnZhbCgpJiZlKHRoaXMpLmZpbmQoIi5ib3g6bm90KC5uby1lZmZlY3QpIikuYW5pbWF0ZSh7dG9wOiIwcHgifSx7cXVldWU6ITEsZHVyYXRpb246MzAwfSl9KX1lKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCl7bSgyOCl9KSxtKDE0KSx2KDE9PWUoIiNjbGlwYm9hcmQiKS52YWwoKT8hMDohMSksZSgibGkuZGlyLCBsaS5maWxlIikuZHJhZ2dhYmxlKHtkaXN0YW5jZToyMCxjdXJzb3I6Im1vdmUiLGhlbHBlcjpmdW5jdGlvbigpe2UodGhpcykuZmluZCgiZmlndXJlIikuZmluZCgiLmJveCIpLmNzcygidG9wIiwiMHB4Iik7dmFyIGE9ZSh0aGlzKS5jbG9uZSgpLmNzcygiei1pbmRleCIsMWUzKS5maW5kKCIuYm94IikuY3NzKCJib3gtc2hhZG93Iiwibm9uZSIpLmNzcygiLXdlYmtpdC1ib3gtc2hhZG93Iiwibm9uZSIpLnBhcmVudCgpLnBhcmVudCgpO3JldHVybiBlKHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpLGF9LHN0YXJ0OmZ1bmN0aW9uKCl7MD09ZSgiI3ZpZXciKS52YWwoKSYmZSgiI21haW4taXRlbS1jb250YWluZXIiKS5hZGRDbGFzcygibm8tZWZmZWN0LXNsaWRlIil9LHN0b3A6ZnVuY3Rpb24oKXtlKHRoaXMpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLDA9PWUoIiN2aWV3IikudmFsKCkmJmUoIiNtYWluLWl0ZW0tY29udGFpbmVyIikucmVtb3ZlQ2xhc3MoIm5vLWVmZmVjdC1zbGlkZSIpfX0pLGUoImxpLmRpcixsaS5iYWNrIikuZHJvcHBhYmxlKHthY2NlcHQ6InVsLmdyaWQgbGkiLGFjdGl2ZUNsYXNzOiJ1aS1zdGF0ZS1oaWdobGlnaHQiLGhvdmVyQ2xhc3M6InVpLXN0YXRlLWhvdmVyIixkcm9wOmZ1bmN0aW9uKGEsdCl7dSh0LmRyYWdnYWJsZS5maW5kKCJmaWd1cmUiKSxlKHRoaXMpLmZpbmQoImZpZ3VyZSIpKX19KSxlKGRvY3VtZW50KS5vbigia2V5dXAiLCIjY2htb2RfZm9ybSAjY2htb2RfdmFsdWUiLGZ1bmN0aW9uKCl7YyghMCl9KSxlKGRvY3VtZW50KS5vbigiY2hhbmdlIiwiI2NobW9kX2Zvcm0gaW5wdXQiLGZ1bmN0aW9uKCl7YyghMSl9KSxlKGRvY3VtZW50KS5vbigiZm9jdXNvdXQiLCIjY2htb2RfZm9ybSAjY2htb2RfdmFsdWUiLGZ1bmN0aW9uKCl7dmFyIGE9ZSgiI2NobW9kX2Zvcm0gI2NobW9kX3ZhbHVlIik7bnVsbD09YS52YWwoKS5tYXRjaCgvXlswLTddezN9JC8pJiYoYS52YWwoYS5hdHRyKCJkYXRhLWRlZi12YWx1ZSIpKSxjKCEwKSl9KX0pLGVuY29kZVVSTD1mdW5jdGlvbihlKXtmb3IodmFyIGE9ZS5zcGxpdCgiLyIpLHQ9Mzt0PGEubGVuZ3RoO3QrKylhW3RdPWVuY29kZVVSSUNvbXBvbmVudChhW3RdKTtyZXR1cm4gYS5qb2luKCIvIil9LGFwcGx5PWZ1bmN0aW9uKGEsdCl7dmFyIG47bj0xPT1lKCIjcG9wdXAiKS52YWwoKT93aW5kb3cub3BlbmVyOndpbmRvdy5wYXJlbnQ7dmFyIGk9ZSgiI2N1cl9kaXIiKS52YWwoKSxyPWUoIiNzdWJkaXIiKS52YWwoKSxvPWUoIiNiYXNlX3VybCIpLnZhbCgpLGw9YS5zdWJzdHIoMCxhLmxhc3RJbmRleE9mKCIuIikpLGM9YS5zcGxpdCgiLiIpLnBvcCgpO2M9Yy50b0xvd2VyQ2FzZSgpO3ZhciBzPSIiLGQ9WyJvZ2ciLCJtcDMiLCJ3YXYiXSxwPVsibXA0Iiwib2dnIiwid2VibSJdLGY9ZSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSx1PWVuY29kZVVSTCgoMT09Zj9yOm8raSkrYSk7aWYoIiIhPXQpaWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpbi5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDp1LGZpZWxkX2lkOnR9LCIqIik7ZWxzZXt2YXIgdj1lKCIjIit0LG4uZG9jdW1lbnQpO3YudmFsKHUpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJm4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayh0KSxnKCl9ZWxzZSBlLmluQXJyYXkoYyxleHRfaW1nKT4tMT9zPSc8aW1nIHNyYz0iJyt1KyciIGFsdD0iJytsKyciIC8+JzplLmluQXJyYXkoYyxwKT4tMT9zPSc8dmlkZW8gY29udHJvbHMgc291cmNlIHNyYz0iJyt1KyciIHR5cGU9InZpZGVvLycrYysnIj4nK2wrIjwvdmlkZW8+IjplLmluQXJyYXkoYyxkKT4tMT8oIm1wMyI9PWMmJihjPSJtcGVnIikscz0nPGF1ZGlvIGNvbnRyb2xzIHNyYz0iJyt1KyciIHR5cGU9ImF1ZGlvLycrYysnIj4nK2wrIjwvYXVkaW8+Iik6cz0nPGEgaHJlZj0iJyt1KyciIHRpdGxlPSInK2wrJyI+JytsKyI8L2E+IiwxPT1lKCIjY3Jvc3Nkb21haW4iKS52YWwoKT9uLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOnUsZmllbGRfaWQ6bnVsbCxodG1sOnN9LCIqIik6cGFyZW50LnRpbnltY2UubWFqb3JWZXJzaW9uPDQ/KHBhcmVudC50aW55bWNlLmFjdGl2ZUVkaXRvci5leGVjQ29tbWFuZCgibWNlSW5zZXJ0Q29udGVudCIsITEscykscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIucGFyYW1zLm1jZV93aW5kb3dfaWQpKToocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLmluc2VydENvbnRlbnQocykscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UoKSl9LGFwcGx5X2xpbms9ZnVuY3Rpb24oYSx0KXtpZigxPT1lKCIjcG9wdXAiKS52YWwoKSl2YXIgbj13aW5kb3cub3BlbmVyO2Vsc2UgdmFyIG49d2luZG93LnBhcmVudDt2YXIgaT1lKCIjY3VyX2RpciIpLnZhbCgpO2k9aS5yZXBsYWNlKCJcXCIsIi8iKTt2YXIgcj1lKCIjc3ViZGlyIikudmFsKCk7cj1yLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciBvPWUoIiNiYXNlX3VybCIpLnZhbCgpLGw9ZSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSxjPWVuY29kZVVSTCgoMT09bD9yOm8raSkrYSk7aWYoIiIhPXQpaWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpbi5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDpjLGZpZWxkX2lkOnR9LCIqIik7ZWxzZXt2YXIgcz1lKCIjIit0LG4uZG9jdW1lbnQpO3MudmFsKGMpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJm4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayh0KSxnKCl9ZWxzZSBhcHBseV9hbnkoYyl9LGFwcGx5X2ltZz1mdW5jdGlvbihhLHQpe3ZhciBuO249MT09ZSgiI3BvcHVwIikudmFsKCk/d2luZG93Lm9wZW5lcjp3aW5kb3cucGFyZW50O3ZhciBpPWUoIiNjdXJfZGlyIikudmFsKCk7aT1pLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciByPWUoIiNzdWJkaXIiKS52YWwoKTtyPXIucmVwbGFjZSgiXFwiLCIvIik7dmFyIG89ZSgiI2Jhc2VfdXJsIikudmFsKCksbD1lKCIjcmV0dXJuX3JlbGF0aXZlX3VybCIpLnZhbCgpLGM9ZW5jb2RlVVJMKCgxPT1sP3I6bytpKSthKTtpZigiIiE9dClpZigxPT1lKCIjY3Jvc3Nkb21haW4iKS52YWwoKSluLnBvc3RNZXNzYWdlKHtzZW5kZXI6InJlc3BvbnNpdmVmaWxlbWFuYWdlciIsdXJsOmMsZmllbGRfaWQ6dH0sIioiKTtlbHNle3ZhciBzPWUoIiMiK3Qsbi5kb2N1bWVudCk7cy52YWwoYykudHJpZ2dlcigiY2hhbmdlIiksImZ1bmN0aW9uIj09dHlwZW9mIG4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayYmbi5yZXNwb25zaXZlX2ZpbGVtYW5hZ2VyX2NhbGxiYWNrKHQpLGcoKX1lbHNlIGFwcGx5X2FueShjKX0sYXBwbHlfdmlkZW89ZnVuY3Rpb24oYSx0KXt2YXIgbjtuPTE9PWUoIiNwb3B1cCIpLnZhbCgpP3dpbmRvdy5vcGVuZXI6d2luZG93LnBhcmVudDt2YXIgaT1lKCIjY3VyX2RpciIpLnZhbCgpO2k9aS5yZXBsYWNlKCJcXCIsIi8iKTt2YXIgcj1lKCIjc3ViZGlyIikudmFsKCk7cj1yLnJlcGxhY2UoIlxcIiwiLyIpO3ZhciBvPWUoIiNiYXNlX3VybCIpLnZhbCgpLGw9ZSgiI3JldHVybl9yZWxhdGl2ZV91cmwiKS52YWwoKSxjPWVuY29kZVVSTCgoMT09bD9yOm8raSkrYSk7aWYoIiIhPXQpaWYoMT09ZSgiI2Nyb3NzZG9tYWluIikudmFsKCkpbi5wb3N0TWVzc2FnZSh7c2VuZGVyOiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiLHVybDpjLGZpZWxkX2lkOnR9LCIqIik7ZWxzZXt2YXIgcz1lKCIjIit0LG4uZG9jdW1lbnQpO3MudmFsKGMpLnRyaWdnZXIoImNoYW5nZSIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlc3BvbnNpdmVfZmlsZW1hbmFnZXJfY2FsbGJhY2smJm4ucmVzcG9uc2l2ZV9maWxlbWFuYWdlcl9jYWxsYmFjayh0KSxnKCl9ZWxzZSBhcHBseV9hbnkoYyl9LGFwcGx5X25vbmU9ZnVuY3Rpb24oYSl7dmFyIHQ9ZSgidWwuZ3JpZCIpLmZpbmQoJ2xpW2RhdGEtbmFtZT0iJythKyciXSBmaWdjYXB0aW9uIGEnKTt0WzFdLmNsaWNrKCksZSgiLnRpcC1yaWdodCIpLnRvb2x0aXAoImhpZGUiKX0sYXBwbHlfYW55PWZ1bmN0aW9uKGEpe2lmKDE9PWUoIiNjcm9zc2RvbWFpbiIpLnZhbCgpKXdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe3NlbmRlcjoicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix1cmw6YSxmaWVsZF9pZDpudWxsfSwiKiIpO2Vsc2V7dmFyIHQ9ZSgiI2VkaXRvciIpLnZhbCgpO2lmKCJja2VkaXRvciI9PXQpe3ZhciBuPV8oIkNLRWRpdG9yRnVuY051bSIpO3dpbmRvdy5vcGVuZXIuQ0tFRElUT1IudG9vbHMuY2FsbEZ1bmN0aW9uKG4sYSksd2luZG93LmNsb3NlKCl9ZWxzZSBwYXJlbnQudGlueW1jZS5tYWpvclZlcnNpb248ND8ocGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIucGFyYW1zLnNldFVybChhKSxwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5jbG9zZShwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5wYXJhbXMubWNlX3dpbmRvd19pZCkpOihwYXJlbnQudGlueW1jZS5hY3RpdmVFZGl0b3Iud2luZG93TWFuYWdlci5nZXRQYXJhbXMoKS5zZXRVcmwoYSkscGFyZW50LnRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UoKSl9fSxhcHBseV9maWxlX2R1cGxpY2F0ZT1mdW5jdGlvbihlLGEpe3ZhciB0PWUucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkucGFyZW50KCk7dC5hZnRlcigiPGxpIGNsYXNzPSciK3QuYXR0cigiY2xhc3MiKSsiJyBkYXRhLW5hbWU9JyIrdC5hdHRyKCJkYXRhLW5hbWUiKSsiJz4iK3QuaHRtbCgpKyI8L2xpPiIpO3ZhciBuPXQubmV4dCgpO2FwcGx5X2ZpbGVfcmVuYW1lKG4uZmluZCgiZmlndXJlIiksYSk7dmFyIGk9bi5maW5kKCIuZG93bmxvYWQtZm9ybSIpLHI9ImZvcm0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO2kuYXR0cigiaWQiLHIpLGkuZmluZCgiLnRpcC1yaWdodCIpLmF0dHIoIm9uY2xpY2siLCIkKCcjIityKyInKS5zdWJtaXQoKTsiKX0sYXBwbHlfZmlsZV9yZW5hbWU9ZnVuY3Rpb24oYSx0KXt2YXIgbjthLmF0dHIoImRhdGEtbmFtZSIsdCksYS5wYXJlbnQoKS5hdHRyKCJkYXRhLW5hbWUiLHQpLGEuZmluZCgiaDQiKS5maW5kKCJhIikudGV4dCh0KTt2YXIgaT1hLmZpbmQoImEubGluayIpO249aS5hdHRyKCJkYXRhLWZpbGUiKTt2YXIgcj1uLnN1YnN0cmluZyhuLmxhc3RJbmRleE9mKCIvIikrMSksbz1uLnN1YnN0cmluZyhuLmxhc3RJbmRleE9mKCIuIikrMSk7aS5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5hdHRyKCJkYXRhLWZpbGUiLGVuY29kZVVSSUNvbXBvbmVudCh0KyIuIitvKSl9KSxhLmZpbmQoImltZyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1lKHRoaXMpLmF0dHIoInNyYyIpO2UodGhpcykuYXR0cigic3JjIixhLnJlcGxhY2Uocix0KyIuIitvKSsiP3RpbWU9IisobmV3IERhdGUpLmdldFRpbWUoKSksZSh0aGlzKS5hdHRyKCJhbHQiLHQrIiB0aHVtYm5haWxzIil9KTt2YXIgbD1hLmZpbmQoImEucHJldmlldyIpO249bC5hdHRyKCJkYXRhLXVybCIpLCJ1bmRlZmluZWQiIT10eXBlb2YgbiYmbiYmbC5hdHRyKCJkYXRhLXVybCIsbi5yZXBsYWNlKGVuY29kZVVSSUNvbXBvbmVudChyKSxlbmNvZGVVUklDb21wb25lbnQodCsiLiIrbykpKSxhLnBhcmVudCgpLmF0dHIoImRhdGEtbmFtZSIsdCsiLiIrbyksYS5hdHRyKCJkYXRhLW5hbWUiLHQrIi4iK28pLGEuZmluZCgiLm5hbWVfZG93bmxvYWQiKS52YWwodCsiLiIrbyk7dmFyIGM9YS5maW5kKCJhLnJlbmFtZS1maWxlIikscz1hLmZpbmQoImEuZGVsZXRlLWZpbGUiKSxkPWMuYXR0cigiZGF0YS1wYXRoIikscD1kLnJlcGxhY2Uocix0KyIuIitvKTtjLmF0dHIoImRhdGEtcGF0aCIscCkscy5hdHRyKCJkYXRhLXBhdGgiLHApfSxhcHBseV9mb2xkZXJfcmVuYW1lPWZ1bmN0aW9uKGEsdCl7YS5hdHRyKCJkYXRhLW5hbWUiLHQpLGEuZmluZCgiZmlndXJlIikuYXR0cigiZGF0YS1uYW1lIix0KTt2YXIgbj1hLmZpbmQoImg0IikuZmluZCgiYSIpLnRleHQoKTthLmZpbmQoImg0ID4gYSIpLnRleHQodCk7dmFyIGk9YS5maW5kKCIuZm9sZGVyLWxpbmsiKSxyPWkuYXR0cigiaHJlZiIpLG89ZSgiI2ZsZHJfdmFsdWUiKS52YWwoKSxsPXIucmVwbGFjZSgiZmxkcj0iK28rZW5jb2RlVVJJQ29tcG9uZW50KG4pLCJmbGRyPSIrbytlbmNvZGVVUklDb21wb25lbnQodCkpO2kuZWFjaChmdW5jdGlvbigpe2UodGhpcykuYXR0cigiaHJlZiIsbCl9KTt2YXIgYz1hLmZpbmQoImEuZGVsZXRlLWZvbGRlciIpLHM9YS5maW5kKCJhLnJlbmFtZS1mb2xkZXIiKSxkPXMuYXR0cigiZGF0YS1wYXRoIikscD1kLmxhc3RJbmRleE9mKCIvIiksZj1kLnN1YnN0cigwLHArMSkrdDtjLmF0dHIoImRhdGEtcGF0aCIsZikscy5hdHRyKCJkYXRhLXBhdGgiLGYpfSxzaG93X2FuaW1hdGlvbj1mdW5jdGlvbigpe2UoIiNsb2FkaW5nX2NvbnRhaW5lciIpLmNzcygiZGlzcGxheSIsImJsb2NrIiksZSgiI2xvYWRpbmciKS5jc3MoIm9wYWNpdHkiLCIuNyIpfSxoaWRlX2FuaW1hdGlvbj1mdW5jdGlvbigpe2UoIiNsb2FkaW5nX2NvbnRhaW5lciIpLmZhZGVPdXQoKX19KGpRdWVyeSxNb2Rlcm5penIsaW1hZ2VfZWRpdG9yKTs=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/az_AZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnU2XDpycsCgknRXJhc2UnID0+ICdTaWwnLAoJJ09wZW4nID0+ICdBw6cnLAoJJ0NvbmZpcm1fZGVsJyA9PiAnQnUgZmF5bMSxIHNpbG1layBpc3TJmWRpeWluaXpkyZkgyZltaW5zaW5pem1pPycsCgknQWxsJyA9PiAnSGFtxLFzxLEnLAoJJ0ZpbGVzJyA9PiAnRmF5bGxhcicsCgknSW1hZ2VzJyA9PiAnxZ7JmWtpbGzJmXInLAoJJ0FyY2hpdmVzJyA9PiAnQXJ4aXZsyZlyJywKCSdFcnJvcl9VcGxvYWQnID0+ICdZw7xrbMmZbcmZayBpc3TJmWRpeWluaXogZmF5bCBtYWtzaW11bSBsaW1pdGkga2XDp2RpLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRmF5bCB1emFudMSxc8SxIGljYXrJmXNpIHlveGR1ci4nLAoJJ1VwbG9hZF9maWxlJyA9PiAnRmF5bCBZw7xrbMmZJywKCSdGaWx0ZXJzJyA9PiAnRmlsdHJsyZlyJywKCSdWaWRlb3MnID0+ICdWaWRlb2xhcicsCgknTXVzaWMnID0+ICdNYWhuxLFsYXInLAoJJ05ld19Gb2xkZXInID0+ICdZZW5pIEZvbGRlcicsCgknRm9sZGVyX0NyZWF0ZWQnID0+ICdGb2xkZXIgbcO8dsmZZmbJmXFpeXnJmXRsyZkgeWFyYWTEsWxkxLEuJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdNw7Z2Y3VkIGZvbGRlcicsCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQnUgZm9sZGVyaSB2yZkgacOnaW5kyZlraWzJmXJpIHNpbG3JmWsgaXN0yZlkaXlpbml6yZkgyZltaW5zaW5pem1pPycsCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdGYXlsbGFyxLFuIHNpeWFoxLFzxLFuYSBnZXJpIHFhecSxdCcsCgknUHJldmlldycgPT4gJ8SwbGsgYmF4xLHFnycsCgknRG93bmxvYWQnID0+ICdZw7xrbMmZJywKCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdGb2xkZXIgYWTEsSDJmWxhdsmZIGV0OicsCgknUm9vdCcgPT4gJ2vDtmsnLAoJJ1JlbmFtZScgPT4gJ1llbmlkyZluIEFkbGFuZMSxcicsCgknQmFjaycgPT4gJ2dlcmknLAoJJ1ZpZXcnID0+ICdHw7Zyw7xuw7zFnycsCgknVmlld19saXN0JyA9PiAnTGlzdCBnw7Zyw7xuw7zFn8O8JywKCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ1PDvHR1bmx1IGxpc3QgZ8O2csO8bsO8xZ/DvCcsCgknVmlld19ib3hlcycgPT4gJ1F1dHUgZ8O2csO8bsO8xZ/DvCcsCgknVG9vbGJhcicgPT4gJ0FsyZl0bMmZciBQYW5lbGknLAoJJ0FjdGlvbnMnID0+ICdGyZlhbGl5ecmZdGzJmXInLAoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnQnUgZmF5bCB2YXIgYXJ0xLFxJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnQnUgZm9sZGVyIHZhciBhcnTEsXEnLAoJJ0VtcHR5X25hbWUnID0+ICdBZCBzYWjJmXNpIGJvxZ9kdXIuJywKCSdUZXh0X2ZpbHRlcicgPT4gJ2ZpbHRybMmZLi4uJywKCSdTd2lwZV9oZWxwJyA9PiAnVmFyaWFudGxhcsSxIGfDtnJtyZlrIMO8w6fDvG4gZmlsZS9mb2xkZXIgYWTEsW5hIHTEsWtsYXnEsW4nLAoJJ1VwbG9hZF9iYXNlJyA9PiAnTm9ybWFsIFnDvGtsyZltyZknLAoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQSBZw7xrbMmZbcmZIChCw7Z5w7xrIGZheWxsYXIgw7zDp8O8biknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICLGj2fJmXIgSmF2YSB0yZl0YmlxaSB5w7xrbMmZbm3JmWRpc8mZOyAxLSBLb21ww7x0ZXJpbml6ZMmZIEphdmEgecO8a2zJmW5tacWfIG9sZHXEn3VuZGFuIMmZbWluIG9sdW4geWFkYSA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5bSmF2YSduxLEgQnVyYWRhbiBZw7xrbMmZeWluXTwvYT4gMi0gVMmZaGzDvGvJmXNpemxpayBkaXZhcsSxbsSxbiBoZcOnIGJpciDFn2V5yZkgbWFuZSBvbG1hZMSxxJ/EsW5kYW4gyZltaW4gb2x1bi4iLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJGYXlsbGFyxLEgYcWfYcSfxLFkYWvEsSBzYWjJmXnJmSBHyZl0aXIgJiBCdXJheCB2ZSB5YSB0xLFrbGF5YXJhcSBhw6fEsWxhbiBwyZluY8mZcsmZZMmZbiBmYXlsbGFyxLFuxLF6xLEgc2XDp2luLiBZw7xrbMmZbcmZIGJhxZ9hIMOnYXRkxLHEn8SxbmRhICdSZXR1cm4gdG8gZmlsZXMgbGlzdCcgZMO8eW3JmXNpbsmZIHTEsWtsYXnEsW4uIiwKCSdUeXBlX2RpcicgPT4gJ0thdGFsb3EnLAoJJ1R5cGUnID0+ICdOw7Z2JywKCSdEaW1lbnNpb24nID0+ICfDlmzDp8O8JywKCSdTaXplJyA9PiAnw4fJmWtpJywKCSdEYXRlJyA9PiAnVGFyaXgnLAoJJ0ZpbGVuYW1lJyA9PiAnRmF5bCBhZMSxJywKCSdPcGVyYXRpb25zJyA9PiAnxo9tyZlsaXl5YXRsYXInLAoJJ0RhdGVfdHlwZScgPT4gJ2QtbS1ZJywKCSdPSycgPT4gJ1JhesSxeWFtJywKCSdDYW5jZWwnID0+ICdMyZnEn3YgRXQnLAoJJ1NvcnRpbmcnID0+ICdzxLFyYWxhbWEnLAoJJ1Nob3dfdXJsJyA9PiAnVVJMIGfDtnN0yZlyJywKCSdFeHRyYWN0JyA9PiAnYnVyYSDDp8SxeGFydCcsCgknRmlsZV9pbmZvJyA9PiAnZmF5bCBtyZlsdW1hdMSxJywKCSdFZGl0X2ltYWdlJyA9PiAnxZ/JmWtsaSByZWRha3TJmSBldCcsCgknRHVwbGljYXRlJyA9PiAnRHVibGlrYXQnLAoJJ0ZvbGRlcnMnID0+ICAnRm9sZGVycycsCgknQ29weScgPT4gJ0NvcHknLAoJJ0N1dCcgPT4gJ0N1dCcsCgknUGFzdGUnID0+ICdQYXN0ZScsCgknQ0InID0+ICAnQ0InLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLAoJJ1Bhc3RlX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGFzdGUgdG8gdGhpcyBkaXJlY3Rvcnk/IFRoaXMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMvZm9sZGVycyBpZiBlbmNvdW50ZXJlZCBhbnkuJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdGYWlsZWQgdG8gcGFzdGUgZmlsZShzKScsCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGUgY2xpcGJvYXJkPycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnVGhlcmUgYXJlIGZpbGVzIG9uIHRoZSBjbGlwYm9hcmQuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdZb3Ugc2VsZWN0ZWQgdG9vIG1hbnkgZmlsZXMvZm9sZGVycyB0byAlcy4gTGltaXQ6ICVkIGZpbGVzL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgZmlsZXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSA9PiAgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnID0+ICAnQ291bGQgbm90IHNhdmUgaW1hZ2UnLAoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAgJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywKCSdaaXBfSW52YWxpZCcgPT4gICdUaGlzIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkLiBWYWxpZDogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAgJ1RoZSBkaXJlY3RvcnkgeW91IHNlbGVjdGVkIGlzIG5vdCB3cml0YWJsZS4nLAoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAgJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdGaWxlX1Blcm1pc3Npb24nID0+ICAnRmlsZSBwZXJtaXNzaW9uJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICAnQXBwbHkgcmVjdXJzaXZlbHk/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLAoJJ1VzZXInID0+ICAnVXNlcicsCgknR3JvdXAnID0+ICAnR3JvdXAnLAoJJ1llcycgPT4gICdZZXMnLAoJJ05vJyA9PiAgJ05vJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLAoJJ0xhbmdfQ2hhbmdlJyA9PiAgJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAgJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKCSdFZGl0JyA9PiAgJ0VkaXQnLAoJJ0VkaXRfRmlsZScgPT4gICJFZGl0IGZpbGUncyBjb250ZW50IiwKCSdGaWxlX1NhdmVfT0snID0+ICAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwKCSdGaWxlX1NhdmVfRXJyb3InID0+ICAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAoJJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQgPT4gbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/bg_BG.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAn0JjQt9Cx0LXRgNC4JywKCSdFcmFzZScgPT4gJ9CY0LfRgtGA0LjQuScsCgknT3BlbicgPT4gJ9Ce0YLQstC+0YDQuCcsCgknQ29uZmlybV9kZWwnID0+ICfQodC40LPRg9GA0L3QuCDQu9C4INGB0YLQtSwg0YfQtSDQuNGB0LrQsNGC0LUg0LTQsCDQuNC30YLRgNC40LXRgtC1INGC0L7Qt9C4INGE0LDQudC7PycsCgknQWxsJyA9PiAn0JLRgdC40YfQutC+JywKCSdGaWxlcycgPT4gJ9Ck0LDQudC70L7QstC1JywKCSdJbWFnZXMnID0+ICfQmNC30L7QsdGA0LDQttC10L3QuNGPJywKCSdBcmNoaXZlcycgPT4gJ9CQ0YDRhdC40LLQuCcsCgknRXJyb3JfVXBsb2FkJyA9PiAn0JrQsNGH0LXQvdC40Y/RgiDRhNCw0LnQuyDQvdCw0LTQvNC40L3QsNCy0LAg0LzQsNC60YHQuNC80LDQu9C90L4g0YDQsNC30YDQtdGI0LXQvdCw0YLQsCDQs9C+0LvQtdC80LjQvdCwLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAn0KLQvtCy0LAg0YTQsNC50LvQvtCy0L4g0YDQsNC30YjQuNGA0LXQvdC40LUg0L3QtSDQtSDQv9C+0LfQstC+0LvQtdC90L4uJywKCSdVcGxvYWRfZmlsZScgPT4gJ9Ca0LDRh9C10YLQtSDRhNCw0LnQuycsCgknRmlsdGVycycgPT4gJ9Cf0LDQv9C60LAnLAoJJ1ZpZGVvcycgPT4gJ9CS0LjQtNC10L4nLAoJJ011c2ljJyA9PiAn0JzRg9C30LjQutCwJywKCSdOZXdfRm9sZGVyJyA9PiAn0J3QvtCy0LAg0L/QsNC/0LrQsCcsCgknRm9sZGVyX0NyZWF0ZWQnID0+ICfQn9Cw0L/QutCw0YLQsCDQtSDQv9GA0LDQstC40LvQvdC+INGB0YrQt9C00LDQtNC10L3QsCcsCgknRXhpc3RpbmdfRm9sZGVyJyA9PiAn0KHRitGJ0LXRgdGC0LLRg9Cy0LDRidCwINC/0LDQv9C60LAnLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ9Ch0LjQs9GD0YDQvdC4INC70Lgg0YHRgtC1LCDRh9C1INC40YHQutCw0YLQtSDQtNCwINC40LfRgtGA0LjQtdGC0LUg0L/QsNC/0LrQsNGC0LAg0Lgg0LLRgdC40YfQutC+ID0+ICDQutC+0LXRgtC+INGB0LUg0YHRitC00YrRgNC20LAg0YEg0L3QtdGPPycsCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICfQktGA0YrRidCw0L3QtSDQutGK0Lwg0YHQv9C40YHRitC60LAg0YEg0YTQsNC50LvQvtCy0LUnLAoJJ1ByZXZpZXcnID0+ICfQn9GA0LXQs9C70LXQtCcsCgknRG93bmxvYWQnID0+ICfQodCy0LDQu9C4JywKCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICfQktGK0LLQtdC00LXRgtC1INC40LzQtSDQvdCwINC/0LDQv9C60LDRgtCwOicsCgknUm9vdCcgPT4gJ3Jvb3QnLAoJJ1JlbmFtZScgPT4gJ9Cf0YDQtdC40LzQtdC90YPQstCw0L3QtScsCgknQmFjaycgPT4gJ9C+0LHRgNCw0YLQvdC+JywKCSdWaWV3JyA9PiAnVmlldycsCgknVmlld19saXN0JyA9PiAnTGlzdCB2aWV3JywKCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ0NvbHVtbnMgbGlzdCB2aWV3JywKCSdWaWV3X2JveGVzJyA9PiAnQm94IHZpZXcnLAoJJ1Rvb2xiYXInID0+ICdUb29sYmFyJywKCSdBY3Rpb25zJyA9PiAnQWN0aW9ucycsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdUaGUgZmlsZSBpcyBhbHJlYWR5IGV4aXN0aW5nJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnVGhlIGZvbGRlciBpcyBhbHJlYWR5IGV4aXN0aW5nJywKCSdFbXB0eV9uYW1lJyA9PiAnVGhlIG5hbWUgaXMgZW1wdHknLAoJJ1RleHRfZmlsdGVyJyA9PiAndGV4dCBmaWx0ZXInLAoJJ1N3aXBlX2hlbHAnID0+ICdTd2lwZSB0aGUgbmFtZSBvZiBmaWxlL2ZvbGRlciB0byBzaG93IG9wdGlvbnMnLAoJJ1VwbG9hZF9iYXNlJyA9PiAnQmFzZSB1cGxvYWQnLAoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQSB1cGxvYWQgKGJpZyBzaXplIGZpbGVzKScsCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIklmIHRoZSBKYXZhIEFwcGxldCBkb24ndCBsb2FkIDEuIG1ha2Ugc3VyZSB5b3UgaGF2ZSBKYXZhIGluc3RhbGxlZCBvdGhlcndpc2UgPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+W2Rvd25sb2FkIGxpbmtdPC9hPiAyLiBtYWtlIHN1cmUgbm90aGluZyBpcyBibG9ja2VkIGZyb20gZmlyZXdhbGwiLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmFnICYgRHJvcCBmaWxlL3MgaW5zaWRlIGFib3ZlIGFyZWEgb3IgY2xpY2sgaW4gaXQgKGZvciBtb2Rlcm4gYnJvd3NlcnMpIG90aGVyd2lzZSBzZWxlY3QgdGhlIGZpbGUgYW5kIGNsaWNrIG9uIGJ1dHRvbi4gV2hlbiB0aGUgdXBsb2FkIGVuZCwgY2xpY2sgb24gdXBwZXIgcmV0dXJuIGJ1dHRvbi4iLAoJJ1R5cGVfZGlyJyA9PiAnZGlyJywKCSdUeXBlJyA9PiAnVHlwZScsCgknRGltZW5zaW9uJyA9PiAnRGltZW5zaW9uJywKCSdTaXplJyA9PiAnU2l6ZScsCgknRGF0ZScgPT4gJ0RhdGUnLAoJJ0ZpbGVuYW1lJyA9PiAnTmFtZScsCgknT3BlcmF0aW9ucycgPT4gJ09wZXJhdGlvbnMnLAoJJ0RhdGVfdHlwZScgPT4gJ3ktbS1kJywKCSdPSycgPT4gJ09LJywKCSdDYW5jZWwnID0+ICdDYW5jZWwnLAoJJ1NvcnRpbmcnID0+ICdzb3J0aW5nJywKCSdTaG93X3VybCcgPT4gJ3Nob3cgVVJMJywKCSdFeHRyYWN0JyA9PiAnZXh0cmFjdCBoZXJlJywKCSdGaWxlX2luZm8nID0+ICdmaWxlIGluZm8nLAoJJ0VkaXRfaW1hZ2UnID0+ICdlZGl0IGltYWdlJywKCSdEdXBsaWNhdGUnID0+ICdEdXBsaWNhdGUnLAoJJ0ZvbGRlcnMnID0+ICAnRm9sZGVycycsCgknQ29weScgPT4gJ0NvcHknLAoJJ0N1dCcgPT4gJ0N1dCcsCgknUGFzdGUnID0+ICdQYXN0ZScsCgknQ0InID0+ICAnQ0InLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLAoJJ1Bhc3RlX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGFzdGUgdG8gdGhpcyBkaXJlY3Rvcnk/IFRoaXMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMvZm9sZGVycyBpZiBlbmNvdW50ZXJlZCBhbnkuJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdGYWlsZWQgdG8gcGFzdGUgZmlsZShzKScsCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGUgY2xpcGJvYXJkPycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnVGhlcmUgYXJlIGZpbGVzIG9uIHRoZSBjbGlwYm9hcmQuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdZb3Ugc2VsZWN0ZWQgdG9vIG1hbnkgZmlsZXMvZm9sZGVycyB0byAlcy4gTGltaXQ6ICVkIGZpbGVzL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgZmlsZXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSA9PiAgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnID0+ICAnQ291bGQgbm90IHNhdmUgaW1hZ2UnLAoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAgJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywKCSdaaXBfSW52YWxpZCcgPT4gICdUaGlzIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkLiBWYWxpZDogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAgJ1RoZSBkaXJlY3RvcnkgeW91IHNlbGVjdGVkIGlzIG5vdCB3cml0YWJsZS4nLAoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAgJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdGaWxlX1Blcm1pc3Npb24nID0+ICAnRmlsZSBwZXJtaXNzaW9uJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICAnQXBwbHkgcmVjdXJzaXZlbHk/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLAoJJ1VzZXInID0+ICAnVXNlcicsCgknR3JvdXAnID0+ICAnR3JvdXAnLAoJJ1llcycgPT4gICdZZXMnLAoJJ05vJyA9PiAgJ05vJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLAoJJ0xhbmdfQ2hhbmdlJyA9PiAgJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAgJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKCSdFZGl0JyA9PiAgJ0VkaXQnLAoJJ0VkaXRfRmlsZScgPT4gICJFZGl0IGZpbGUncyBjb250ZW50IiwKCSdGaWxlX1NhdmVfT0snID0+ICAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwKCSdGaWxlX1NhdmVfRXJyb3InID0+ICAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAoJJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQgPT4gbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/ca.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KCSdTZWxlY3QnID0+ICdTZWxlY2Npb25hcicsDQoJJ0VyYXNlJyA9PiAnRWxpbWluYXInLA0KCSdPcGVuJyA9PiAnT2JyaXInLA0KCSdDb25maXJtX2RlbCcgPT4gJ1NlZ3VyIHF1ZSBkZXNpdGdlcyBlbGltaW5hciBhcXVlc3QgYXJ4aXU/JywNCgknQWxsJyA9PiAnVG90cycsDQoJJ0ZpbGVzJyA9PiAnQXJ4aXVzJywNCgknSW1hZ2VzJyA9PiAnSW1hdGdlcycsDQoJJ0FyY2hpdmVzJyA9PiAnRml0eGVycycsDQoJJ0Vycm9yX1VwbG9hZCcgPT4gJ0xcJ2FyeGl1IHF1ZSBpbnRlbnRhIHB1amFyIGV4Y2VkZWl4IGVsIG3DoHhpbSBwZXJtw6hzLicsDQoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0xcJ2V4dGVuc2nDsyBkZSBsXCdhcnhpdSBubyBlc3TDoCBwZXJtZXNhLicsDQoJJ1VwbG9hZF9maWxlJyA9PiAnUHVqYXInLA0KCSdGaWx0ZXJzJyA9PiAnRmlsdHJlcycsDQoJJ1ZpZGVvcycgPT4gJ1bDrWRlb3MnLA0KCSdNdXNpYycgPT4gJ011c2ljYScsDQoJJ05ld19Gb2xkZXInID0+ICdOb3ZhIGNhcnBldGEnLA0KCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0xhIGNhcnBldGEgaGEgZXN0YXQgY3JlYWRhIGV4aXRvc2FtZW50LicsDQoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0NhcnBldGEgZXhpc3RlbnQnLA0KCSdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICdTZWd1ciBxdWUgZGVzaXRnZXMgZWxpbWluYXIgbGEgY2FycGV0YSBpIHRvdHMgZWxzIGVsZW1lbnRzIHF1ZSBjb250w6k/JywNCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdUb3JuYXIgYSBsYSBsbGlzdGEgZFwnYXJ4aXVzJywNCgknUHJldmlldycgPT4gJ1Zpc3RhIHByw6h2aWEnLA0KCSdEb3dubG9hZCcgPT4gJ0Rlc2NhcnJlZ2FyJywNCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnTm9tIGRlIGxhIGNhcnBldGE6JywNCgknUm9vdCcgPT4gJ2FycmVsJywNCgknUmVuYW1lJyA9PiAnUmVub21icmFyJywNCgknQmFjaycgPT4gJ2VucmVyZScsDQoJJ1ZpZXcnID0+ICdWaXN0YScsDQoJJ1ZpZXdfbGlzdCcgPT4gJ1Zpc3RhIGRlIGxsaXN0YScsDQoJJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVmlzdGEgZGUgY29sdW1uZXMnLA0KCSdWaWV3X2JveGVzJyA9PiAnVmlzdGEgZGUgbWluaWF0dXJlcycsDQoJJ1Rvb2xiYXInID0+ICdCYXJyYSBkXCdlaW5lcycsDQoJJ0FjdGlvbnMnID0+ICdBY2Npb25zJywNCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdMXCdhcnhpdSBqYSBleGlzdGVpeCcsDQoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdMYSBjYXJwZXRhIGphIGV4aXN0ZWl4JywNCgknRW1wdHlfbmFtZScgPT4gJ0VsIG5vbSBlcyB0cm9iYSBidWl0JywNCgknVGV4dF9maWx0ZXInID0+ICdmaWx0cmUgZGUgdGV4dCcsDQoJJ1N3aXBlX2hlbHAnID0+ICdEZXNsaXplIGVsIG5vbSBkZSBsXCdhcnhpdS9jYXJwZXRhIHBlciBtb3N0cmFyIGxlcyBvcGNpb25zJywNCgknVXBsb2FkX2Jhc2UnID0+ICdQdWphZGEgZFwnYXJ4aXVzIFNJTVBMRScsDQoJJ1VwbG9hZF9qYXZhJyA9PiAnUHVqYWRhIGRcJ2FyeGl1cyBKQVZBIChwYXJhIGFyeGl1cyBwZXNhdHMpJywNCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIlNpIGVsIGFwcGxldCBubyBjYXJyZWdhOiAxLiBBc3NlZ3VyYSd0IGRlIHRlbmlyIEphdmEgaW5zdGFswrdsYXQ7IHNpbsOzIGRlc2NhcnJlZ2EtaG8gaSBpbnN0YWzCt2xhLWhvIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPmRlcyBkJ2FxdcOtPC9hPiAyLiBBc3NlZ3VyYSd0IHF1ZSBlbCB0ZXUgZmlyZXdhbGwgbm8gZXN0aWd1aSBibG9xdWVqYW50IHJlcy4iLA0KCSdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiQXJyb3NzZWdhIGkgZGVpeGEgYW5hciBlbHMgYXJ4aXVzIGRpbnMgZCdhcXVlc3RhIMOgcmVhIG8gZmFjaSBjbGljIGVuIGVsbGEgKHBlciBhIG5hdmVnYWRvcnMgbW9kZXJucykgZW4gY2FzIGNvbnRyYXJpLCBzZWxlY2Npb25pIGwnYXJ4aXUgaSBmYWNpIGNsaWMgZW4gZWwgYm90w7MuIFF1YW4gZmluYWxpdHppIGxhIHB1amFkYSwgZmFjaSBjbGljIGVuIGVsIGJvdMOzIHN1cGVyaW9yIHBlciB0b3JuYXIuIiwNCgknVHlwZV9kaXInID0+ICdDYXJwZXRhJywNCgknVHlwZScgPT4gJ1RpcHVzJywNCgknRGltZW5zaW9uJyA9PiAnRGltZW5zaW9ucycsDQoJJ1NpemUnID0+ICdQZXMnLA0KCSdEYXRlJyA9PiAnRGF0YScsDQoJJ0ZpbGVuYW1lJyA9PiAnTm9tJywNCgknT3BlcmF0aW9ucycgPT4gJ09wZXJhY2lvbnMnLA0KCSdEYXRlX3R5cGUnID0+ICdkLW0teScsDQoJJ09LJyA9PiAnT0snLA0KCSdDYW5jZWwnID0+ICdDYW5jZWzCt2xhcicsDQoJJ1NvcnRpbmcnID0+ICdPcmRlbmFyJywNCgknU2hvd191cmwnID0+ICdNb3N0cmFyIFVSTCcsDQoJJ0V4dHJhY3QnID0+ICdFeHRyZXVyZSBhcXXDrScsDQoJJ0ZpbGVfaW5mbycgPT4gJ0luZm9ybWFjacOzJywNCgknRWRpdF9pbWFnZScgPT4gJ0VkaXRhciBpbWF0Z2UnLA0KCSdEdXBsaWNhdGUnID0+ICdEdXBsaWNhcicsDQoJJ0ZvbGRlcnMnID0+ICdGb2xkZXJzJywNCgknQ29weScgPT4gJ0NvcHknLA0KCSdDdXQnID0+ICdDdXQnLA0KCSdQYXN0ZScgPT4gJ1Bhc3RlJywNCgknQ0InID0+ICdDQicsIC8vIGNsaXBib2FyZA0KCSdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLA0KCSdQYXN0ZV9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHBhc3RlIHRvIHRoaXMgZGlyZWN0b3J5PyBUaGlzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzL2ZvbGRlcnMgaWYgZW5jb3VudGVyZWQgYW55LicsDQoJJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0ZhaWxlZCB0byBwYXN0ZSBmaWxlKHMpJywNCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywNCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGNsaXBib2FyZD8nLA0KCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdUaGVyZSBhcmUgZmlsZXMgb24gdGhlIGNsaXBib2FyZC4nLA0KCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJXMuIExpbWl0OiAlZCBmaWxlcy9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyBmaWxlcy4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMNCgknQXZpYXJ5X05vX1NhdmUnID0+ICdDb3VsZCBub3Qgc2F2ZSBpbWFnZScsDQoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAnQ291bGQgbm90IGV4dHJhY3QuIEZpbGUgbWlnaHQgYmUgY29ycnVwdC4nLA0KCSdaaXBfSW52YWxpZCcgPT4gJ1RoaXMgZXh0ZW5zaW9uIGlzIG5vdCBzdXBwb3J0ZWQuIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywNCgknRGlyX05vX1dyaXRlJyA9PiAnVGhlIGRpcmVjdG9yeSB5b3Ugc2VsZWN0ZWQgaXMgbm90IHdyaXRhYmxlLicsDQoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnVGhlICVzIGZ1bmN0aW9uIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIuJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLA0KCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdDaGFuZ2luZyAlcyBwZXJtaXNzaW9ucyBhcmUgbm90IGFsbG93ZWQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzDQoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLA0KCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsDQoJJ1VzZXInID0+ICdVc2VyJywNCgknR3JvdXAnID0+ICdHcm91cCcsDQoJJ1llcycgPT4gJ1llcycsDQoJJ05vJyA9PiAnTm8nLA0KCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIGxhbmd1YWdlLicsDQoJJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlIHRoZSBsYW5ndWFnZScsDQoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywNCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdA0KCSdFZGl0JyA9PiAnRWRpdCcsDQoJJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLA0KCSdGaWxlX1NhdmVfT0snID0+ICJGaWxlIHN1Y2Nlc3NmdWxseSBzYXZlZC4iLA0KCSdGaWxlX1NhdmVfRXJyb3InID0+ICJUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBmaWxlLiIsDQoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLA0KCSdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLA0KCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLg0KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsDQoNCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwNCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsDQoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwNCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLA0KCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLA0KCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLA0KCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsDQoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsDQoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLA0KCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsDQoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwNCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLA0KCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLA0KCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLA0KCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplDQoJJ0InID0+ICJCIiwNCgknS0InID0+ICJLQiIsDQoJJ01CJyA9PiAiTUIiLA0KCSdHQicgPT4gIkdCIiwNCgknVEInID0+ICJUQiIsDQoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwNCik7DQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/cs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ1Z5YnJhdCcsDQoJJ0VyYXNlJyA9PiAnU21hemF0JywNCgknT3BlbicgPT4gJ090ZXbFmcOtdCcsDQoJJ0NvbmZpcm1fZGVsJyA9PiAnT3ByYXZkdSBjaGNldGUgc21hemF0IHRlbnRvIHNvdWJvcj8nLA0KCSdBbGwnID0+ICdWxaFlJywNCgknRmlsZXMnID0+ICdTb3Vib3J5JywNCgknSW1hZ2VzJyA9PiAnT2Jyw6F6a3knLA0KCSdBcmNoaXZlcycgPT4gJ0FyY2hpdnknLA0KCSdFcnJvcl9VcGxvYWQnID0+ICdOYWhyw6F2YW7DvSBzb3Vib3IgamUgcMWZw61sacWhIHZlbGvDvS4nLA0KCSdFcnJvcl9leHRlbnNpb24nID0+ICdOYWhyw6F2w6Fuw60gc291Ym9yxa8gcyB0b3V0byBwxZnDrXBvbm91IG5lbsOtIHBvdm9sZW5vLicsDQoJJ1VwbG9hZF9maWxlJyA9PiAnTmFocsOhdCBzb3Vib3InLA0KCSdGaWx0ZXJzJyA9PiAnRmlsdHInLA0KCSdWaWRlb3MnID0+ICdWaWRlYScsDQoJJ011c2ljJyA9PiAnSHVkYmEnLA0KCSdOZXdfRm9sZGVyJyA9PiAnTm92w6Egc2xvxb5rYScsDQoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnU2xvxb5rYSB2eXR2b8WZZW5hJywNCgknRXhpc3RpbmdfRm9sZGVyJyA9PiAnRXhpc3R1asOtY8OtIHNsb8W+a2EnLA0KCSdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICdPcHJhdmR1IGNoY2V0ZSBzbWF6YXQgdHV0byBzbG/Fvmt1IGEgamVqw60gb2JzYWg/JywNCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdacMSbdCBrIHNlem5hbXUgc291Ym9yxa8nLA0KCSdQcmV2aWV3JyA9PiAnTsOhaGxlZCcsDQoJJ0Rvd25sb2FkJyA9PiAnU3TDoWhub3V0JywNCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnVmxvxb50ZSBuw6F6ZXYgc2xvxb5reTonLA0KCSdSb290JyA9PiAncm9vdCcsDQoJJ1JlbmFtZScgPT4gJ1DFmWVqbWVub3ZhdCcsDQoJJ0JhY2snID0+ICd6cMSbdCcsDQoJJ1ZpZXcnID0+ICdab2JyYXplbsOtJywNCgknVmlld19saXN0JyA9PiAnU2V6bmFtIHNvdWJvcsWvJywNCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdEdm91c2xvdXBjb3bDvSBzZXpuYW0gc291Ym9yxa8nLA0KCSdWaWV3X2JveGVzJyA9PiAnRGxhxb5kaWNvdsOpIHpvYnJhemVuw60nLA0KCSdUb29sYmFyJyA9PiAnUGFuZWwgbsOhc3Ryb2rFrycsDQoJJ0FjdGlvbnMnID0+ICdBa2NlJywNCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdUZW50byBzb3Vib3IgamnFviBleGlzdHVqZScsDQoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdUYXRvIHNsb8W+a2EgamnFviBleGlzdHVqZScsDQoJJ0VtcHR5X25hbWUnID0+ICdaYWRhbGkganN0ZSBwcsOhemRuw70gbsOhemV2JywNCgknVGV4dF9maWx0ZXInID0+ICd0ZXh0b3bDvSBmaWx0cicsDQoJJ1N3aXBlX2hlbHAnID0+ICdQcm8gem9icmF6ZW7DrSBtb8W+bm9zdMOtIGtsaWtuxJt0ZSBuYSBqbcOpbm8gc291Ym9ydS9zbG/Fvmt5LicsDQoJJ1VwbG9hZF9iYXNlJyA9PiAnWsOha2xhZG7DrSBuYWhyw6F2w6Fuw60nLA0KCSdVcGxvYWRfamF2YScgPT4gJ0pBVkEgdXBsb2FkIChwcm8gdmVsa8OpIHNvdWJvcnkpJywNCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIlBva3VkIHNlIEphdmEgQXBwbGV0IG5lbmHEjcOtdMOhLCB1amlzdMSbdGUgc2UsIMW+ZTogMS4gamUgdmUgdmHFoWVtIHBvxI3DrXRhxI1pIG5haW5zdGFsb3bDoW5hIEphdmEgPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+W29ka2F6IHBybyBzdGHFvmVuw61dPC9hPiAyLiBuaWMgbmVuw60gYmxva292w6FubyBmaXJld2FsbGVtIiwNCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIlDFmWV0w6FobsSbdGUgc291Ym9yKHkpIGRvIHByb3N0b3J1IHbDvcWhZSBuZWJvIGRvIG7Em2oga2xpa27Em3RlIG15xaHDrSAobW9kZXJuw60gcHJvaGzDrcW+ZcSNZSkgYSB2eWJlcnRlIHNvdWJvcnkuIFBvIGRva29uxI1lbsOtIG5haHLDoXbDoW7DrSBrbGlrbsSbdGUgbmEgdGxhxI3DrXRrbyAnWnDEm3QgayBzZXpuYW11IHNvdWJvcsWvJy4iLA0KCSdUeXBlX2RpcicgPT4gJ3Nsb8W+a2EnLA0KCSdUeXBlJyA9PiAnVHlwJywNCgknRGltZW5zaW9uJyA9PiAnUm96bcSbcicsDQoJJ1NpemUnID0+ICdWZWxpa29zdCcsDQoJJ0RhdGUnID0+ICdEYXR1bScsDQoJJ0ZpbGVuYW1lJyA9PiAnSm3DqW5vJywNCgknT3BlcmF0aW9ucycgPT4gJ09wZXJhY2UnLA0KCSdEYXRlX3R5cGUnID0+ICdkLm0uWScsDQoJJ09LJyA9PiAnT0snLA0KCSdDYW5jZWwnID0+ICdacnXFoWl0JywNCgknU29ydGluZycgPT4gJ8WZYXplbsOtJywNCgknU2hvd191cmwnID0+ICdab2JyYXppdCBVUkwgYWRyZXN1JywNCgknRXh0cmFjdCcgPT4gJ1JvemJhbGl0IHpkZScsDQoJJ0ZpbGVfaW5mbycgPT4gJ0luZm9ybWFjZSBvIHNvdWJvcnUnLA0KCSdFZGl0X2ltYWdlJyA9PiAnVXByYXZpdCBvYnLDoXplaycsDQoJJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpa292YXQnLA0KCSdGb2xkZXJzJyA9PiAnU2xvxb5reScsDQoJJ0NvcHknID0+ICdLb3DDrXJvdmF0JywNCgknQ3V0JyA9PiAnVnlqbW91dCcsDQoJJ1Bhc3RlJyA9PiAnVmxvxb5pdCcsDQoJJ0NCJyA9PiAnU2NocsOhbmthJywgLy8gY2xpcGJvYXJkDQoJJ1Bhc3RlX0hlcmUnID0+ICdWbG/Fvml0IGRvIHTDqXRvIHNsb8W+a3knLA0KCSdQYXN0ZV9Db25maXJtJyA9PiAnU2t1dGXEjW7EmyBjaGNldGUgdmxvxb5pdCBvYnNhaCBzY2hyw6Fua3kgZG8gdMOpdG8gc2xvxb5reT8gRXhpc3R1asOtY8OtIHNvdWJvcnkgxI1pIHNsb8W+a3kgYnVkb3UgcMWZZXBzw6FueS4nLA0KCSdQYXN0ZV9GYWlsZWQnID0+ICdWbG/FvmVuw60gc2VsaGFsbycsDQoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1Z5bWF6YXQgc2NocsOhbmt1JywNCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdTa3V0ZcSNbsSbIGNoY2V0ZSB2eW1hemF0IG9ic2FoIHNjaHLDoW5reT8nLA0KCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdWZSBzY2hyw6FuY2UganNvdSBzb3Vib3J5LicsDQoJJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdadm9sZW7DqSBzb3Vib3J5L3Nsb8W+a3kganNvdSBwxZnDrWxpxaEgdmVsa8OpIHBybyBvcGVyYWNpICVzLiBMaW1pdDogJWQgTUIvb3BlcmFjZScsIC8vICVzID0gY3V0IG9yIGNvcHkNCgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdadm9saWxpIGpzdGUgcMWZw61sacWhIG1ub2hvIHNvdWJvcsWvL3Nsb8W+ZWsgcHJvIG9wZXJhY2kgJXMuIExpbWl0OiAlZCBzb3Vib3LFry9vcGVyYWNlJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ05lbcOhdGUgb3Byw6F2bsSbbsOtICVzLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycw0KCSdBdmlhcnlfTm9fU2F2ZScgPT4gJ09icsOhemVrIG5lbHplIHVsb8W+aXQnLA0KCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ0FyY2jDrXYgbmVsemUgcm96YmFsaXQuIFNvdWJvciBtxa/FvmUgYsO9dCBwb8Wha296ZW4uJywNCgknWmlwX0ludmFsaWQnID0+ICdQxZnDrXBvbmEgbmVuw60gcG9kcG9yb3bDoW5hLiBQb3ZvbGVuw6k6IHppcCwgZ3osIHRhci4nLA0KCSdEaXJfTm9fV3JpdGUnID0+ICdWeWJyYW7DoSBzbG/FvmthIG5lbsOtIHphcGlzb3ZhdGVsbsOhLicsDQoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnRnVua2NlICVzIGJ5bGEgemFtw610bnV0YSBzZXJ2ZXJlbS4nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ1Byw6F2YSBzb3Vib3J1JywNCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnWm3Em25hIG9wcsOhdm7Em27DrSBwcm8gJXMgbmVuw60gcG92b2xlbmEuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzDQoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdQb3XFvsOtdCByZWt1cnppdm7Emz8nLA0KCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlphZGFuw70ga8OzZCBvcHLDoXZuxJtuw60gbmVuw60gcGxhdG7DvS4iLA0KCSdVc2VyJyA9PiAnVcW+aXZhdGVsJywNCgknR3JvdXAnID0+ICdTa3VwaW5hJywNCgknWWVzJyA9PiAnQW5vJywNCgknTm8nID0+ICdOZScsDQoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnSmF6eWsgbmVieWwgbmFsZXplbi4nLA0KCSdMYW5nX0NoYW5nZScgPT4gJ1ptxJtuaXQgamF6eWsnLA0KCSdGaWxlX05vdF9Gb3VuZCcgPT4gJ1NvdWJvciBuZWJ5bCBuYWxlemVuLicsDQoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnTmVtw6F0ZSBvcHLDoXZuxJtuw60gJXMgdGVudG8gc291Ym9yLicsIC8vICVzID0gb3BlbiBvciBlZGl0DQoJJ0VkaXQnID0+ICdVcHJhdml0JywNCgknRWRpdF9GaWxlJyA9PiAiVXByYXZpdCBvYnNhaCBzb3Vib3J1IiwNCgknRmlsZV9TYXZlX09LJyA9PiAiU291Ym9yIGJ5bCDDunNwxJvFoW7EmyB1bG/FvmVuLiIsDQoJJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIkRvxaFsbyBrIGNoeWLEmyBwxZlpIHVrbMOhZMOhbsOtIHNvdWJvcnUuIiwNCgknTmV3X0ZpbGUnID0+ICdOb3bDvSBzb3Vib3InLA0KCSdOb19FeHRlbnNpb24nID0+ICdNdXPDrXRlIGRvcGxuaXQgcMWZw61wb251IHNvdWJvcnUuJywNCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1Bvdm9sZW7DqSBwxZnDrXBvbnk6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4NCgknVXBsb2FkX21lc3NhZ2UnID0+ICJQcm8gbmFocsOhbsOtIHDFmWV0w6FobsSbdGUgc291Ym9yKHkpIHNlbSIsDQoNCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwNCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsDQoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwNCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLA0KCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLA0KCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLA0KCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsDQoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsDQoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLA0KCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsDQoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwNCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLA0KCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLA0KCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLA0KCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplDQoJJ0InID0+ICJCIiwNCgknS0InID0+ICJLQiIsDQoJJ01CJyA9PiAiTUIiLA0KCSdHQicgPT4gIkdCIiwNCgknVEInID0+ICJUQiIsDQoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwNCik7DQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/da.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ1bDpmxnJywNCgknRXJhc2UnID0+ICdTbGV0JywNCgknT3BlbicgPT4gJ8OFYm4nLA0KCSdDb25maXJtX2RlbCcgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHNsZXR0ZSBkZW5uZSBmaWw/JywNCgknQWxsJyA9PiAnQWxsZScsDQoJJ0ZpbGVzJyA9PiAnRmlsZXInLA0KCSdJbWFnZXMnID0+ICdCaWxsZWRlcicsDQoJJ0FyY2hpdmVzJyA9PiAnTWFwcGVyJywNCgknRXJyb3JfVXBsb2FkJyA9PiAnRGVuIHVwbG9hZGVkZSBmaWwgZXIgc3TDuHJyZSBlbmQgdGlsbGFkdCAoMTAwTUIpLicsDQoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0ZpbCB0eXBlbiBlciBpa2tlIHRpbGxhZHQuJywNCgknVXBsb2FkX2ZpbGUnID0+ICdVcGxvYWQnLA0KCSdGaWx0ZXJzJyA9PiAnRmlsdGVyJywNCgknVmlkZW9zJyA9PiAnVmlkZW9lcicsDQoJJ011c2ljJyA9PiAnTXVzaWsnLA0KCSdOZXdfRm9sZGVyJyA9PiAnTnkgbWFwcGUnLA0KCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ01hcHBlbiBlciBvcHJldHRldCBrb3JyZWt0JywNCgknRXhpc3RpbmdfRm9sZGVyJyA9PiAnTWFwcGVuIGZpbmRlcyBhbGxlcmVkZScsDQoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHNsZXR0ZSBtYXBwZW4gb2cgYWx0IGRlbnMgaW5kaG9sZD8nLA0KCSdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1RpbGJhZ2UgdGlsIGZpbCBvdmVyc2lndGVuJywNCgknUHJldmlldycgPT4gJ1ByZXZpZXcnLA0KCSdEb3dubG9hZCcgPT4gJ0Rvd25sb2FkJywNCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnSW5kc8OmdCBtYXBwZSBuYXZuOicsDQoJJ1Jvb3QnID0+ICdyb2QnLA0KCSdSZW5hbWUnID0+ICdPbWTDuGInLA0KCSdCYWNrJyA9PiAndGlsYmFnZScsDQoJJ1ZpZXcnID0+ICdTZScsDQoJJ1ZpZXdfbGlzdCcgPT4gJ1ZpcyBsaXN0ZScsDQoJJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnU8O4amxlIGxpc3RlJywNCgknVmlld19ib3hlcycgPT4gJ0JveCBsaXN0JywNCgknVG9vbGJhcicgPT4gJ1Rvb2xiYXInLA0KCSdBY3Rpb25zJyA9PiAnSGFuZGxpbmdlcicsDQoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnRmlsZW4gZmluZGVzIGFsbGVyZWRlJywNCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ01hcHBlbiBmaW5kZXMgYWxsZXJlZGUnLA0KCSdFbXB0eV9uYW1lJyA9PiAnSW5kc8OmdCBldCBuYXZuJywNCgknVGV4dF9maWx0ZXInID0+ICd0ZWtzdCBmaWx0ZXInLA0KCSdTd2lwZV9oZWxwJyA9PiAnU3dpcGUgb3ZlciBuYXZuZXQgcMOlIGZpbC9tYXBwZSBmb3IgYXQgc2UgbXVsaWdoZWRlcicsDQoJJ1VwbG9hZF9iYXNlJyA9PiAnQmFzaXMgdXBsb2FkJywNCgknVXBsb2FkX2phdmEnID0+ICdKQVZBIHVwbG9hZCAoc3RvcmUgZmlsZXIpJywNCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIkh2aXMgSmF2YSBBcHBsZXR0ZW4gaWtrZSBzdGFydGVyLCBzw6U6IDEuIHPDuHJnIGZvciBhdCBzaWtyZSBkaWcgYXQgZHUgaGFyIEphdmEgaW5zdGFsbGVyZXQsIGFsdGVybmF0aXZ0IDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltkb3dubG9hZCBsaW5rXTwvYT4gICAyLiBzw7hyZyBmb3IgYXQgc2lrcmUgZGlnIGF0IGRlciBpa2tlIGVyIG5vZ2V0IGRlciBibG9rZXJlcyBhZiBkaW4gZmlyZXdhbGwiLA0KCSdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRHJhZyAmIERyb3AgZmlsZXIgZWxsZXIga2xpayBpIG9tcsOlZGV0IGhlcm92ZXIgKG1vZGVybmUgYnJvd3NlcnMpIG9nIHbDpmxnIGZpbChlcm5lKS4gTsOlciB1cGxvYWQgZXIgZsOmcmRpZ3QsIHPDpSB0cnlrIHDDpSAnVmVuZCB0aWxiYWdlIHRpbCBmaWxvdmVyc2lndCcga25hcHBlbi4iLA0KCSdUeXBlX2RpcicgPT4gJ2RpcicsDQoJJ1R5cGUnID0+ICdUeXBlJywNCgknRGltZW5zaW9uJyA9PiAnRGltZW5zaW9uZXInLA0KCSdTaXplJyA9PiAnU3TDuHJyZWxzZScsDQoJJ0RhdGUnID0+ICdEYXRvJywNCgknRmlsZW5hbWUnID0+ICdGaWxlbmF2bicsDQoJJ09wZXJhdGlvbnMnID0+ICdPcGVyYXRpb25lcicsDQoJJ0RhdGVfdHlwZScgPT4gJ8Olci1tw6VuZWQtZGFnJywNCgknT0snID0+ICdPSycsDQoJJ0NhbmNlbCcgPT4gJ0FmYnJ5ZCcsDQoJJ1NvcnRpbmcnID0+ICdzb3J0ZXJpbmcnLA0KCSdTaG93X3VybCcgPT4gJ1ZpcyBzdGknLA0KCSdFeHRyYWN0JyA9PiAnRm9sZCB1ZCBoZXInLA0KCSdGaWxlX2luZm8nID0+ICdmaWwgaW5mbycsDQoJJ0VkaXRfaW1hZ2UnID0+ICdSZWRpZ8OpciBiaWxsZWRlJywNCgknRHVwbGljYXRlJyA9PiAnS29wacOpcicsDQoJJ0ZvbGRlcnMnID0+ICdNYXBwZXInLA0KCSdDb3B5JyA9PiAnS29wacOpcicsDQoJJ0N1dCcgPT4gJ0tsaXAnLA0KCSdQYXN0ZScgPT4gJ0luZHPDpnQnLA0KCSdDQicgPT4gJ1VLSCcsIC8vIGNsaXBib2FyZA0KCSdQYXN0ZV9IZXJlJyA9PiAnSW5kc8OmdCBpIGRlbm5lIG1hcHBlJywNCgknUGFzdGVfQ29uZmlybScgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIGluZHPDpnR0ZSBpIGRlbm5lIG1hcHBlPyBEZXQgdmlsIG92ZXJrcml2ZSBhbGxlcmVkZSBla3Npc3RlcmVuZGUgZmlsZXIvbWFwcGVyLCBodmlzIGRlciBmaW5kZXMgbm9nZW4uJywNCgknUGFzdGVfRmFpbGVkJyA9PiAnRGV0IGx5a2tlZGVzIGlra2UgYXQgaW5kc8OmdHRlIGZpbChlbi9lcm5lKScsDQoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1NsZXQgaW5kaG9sZGV0IGFmIHVka2xpcHNob2xkZXJlbicsDQoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnRXIgZHUgc2lra2VyIHDDpSBhdCBkdSB2aWwgc2xldHRlIGluZGhvbGRldCBhZiB1ZGtsaXBzaG9sZGVyZW4/JywNCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnRGVyIGZpbmRlcyBmaWxlciBpIHVka2xpcHNob2xkZXJlbi4nLA0KCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnRGUgdmFsZ3RlIGZpbGVyL21hcHBlciBlciBmb3Igc3RvcmUgdGlsIGF0ICVzLiBNYXguOiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnRHUgaGFyIHZhbGd0IGZvciBtYW5nZSBmaWxlci9tYXBwZXIgdGlsIGF0ICVzLiBNYXguOiAlZCBmaWxlci9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnRHUgaGFyIGlra2UgdGlsbGFkZWxzZSB0aWwgYXQgJXMgZmlsZXIuIFRhbCBtZWQgZGluIGFkbWluaXN0cmF0b3IuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzDQoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnRGV0IHZhciBpa2tlIG11bGlndCBhdCBnZW1tZSBiaWxsZWRldCcsDQoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAnRGV0IHZhciBpa2tlIG11bGlndCBhdCBoZW50ZS4gRmlsZW4gZXIgbXVsaWd2aXMgw7hkZWxhZ3QuJywNCgknWmlwX0ludmFsaWQnID0+ICdEZW5uZSBmaWx0eXBlIHVuZGVyc3TDuHR0ZXMgaWtrZS4gRGUgbXVsaWdlIGZpbHR5cGVyIGVyOiB6aXAsIGd6LCB0YXIuJywNCgknRGlyX05vX1dyaXRlJyA9PiAnRGVyIGthbiBpa2tlIHNrcml2ZXMgdGlsIGRlbiB2YWxndGUgbWFwcGUuIEtvbnRha3QgZGluIGFkbWluaXN0cmF0b3IuJywNCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdEZW5uZSAlcyBmdW5rdGlvbiBlciBzbMOlZXQgZnJhIGFmIHNlcnZlcmVuLicsIC8vICVzID0gY3V0IG9yIGNvcHkNCgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnRmlsIHRpbGxhZGVsc2VyJywNCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnRGV0IGVyIGlra2UgdGlsbGFkdCBhdCDDpm5kcmUgdGlsbGFkZWxzZW4gZm9yICVzLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycw0KCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnR8O4cmVzIHZlZCBhbGxlIG1hcHBlciBvZyBmaWxlciAocmVrdXJzaXZ0KT8nLA0KCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIkRlbiBhbnZlbmR0ZSBpbmRzdGlsbGluZyBmb3IgdGlsbGFkZWxzZSBlciBpa2tlIGtvcnJla3QuIiwNCgknVXNlcicgPT4gJ0JydWdlcicsDQoJJ0dyb3VwJyA9PiAnR3J1cHBlJywNCgknWWVzJyA9PiAnSmEnLA0KCSdObycgPT4gJ05laicsDQoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnQ2V0IHZhciBpa2tlIG11bGlndCBhdCBmaW5kZSBzcHJvZy1maWxlbi4nLA0KCSdMYW5nX0NoYW5nZScgPT4gJ0FuZGV0IHNwcm9nJywNCgknRmlsZV9Ob3RfRm91bmQnID0+ICdEZXQgdmFyIGlra2UgbXVsaWd0IGF0IGZpbmRlIGZpbGVuLicsDQoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnRHUgaGFyIGlra2UgdGlsYWRlbHNlIHRpbCBhdCAlcyBkZW5uZSBmaWwuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQNCgknRWRpdCcgPT4gJ1JlZGlnw6lyJywNCgknRWRpdF9GaWxlJyA9PiAiUmVkaWfDqXIgZmlsZW5zIGluZGhvbGQiLA0KCSdGaWxlX1NhdmVfT0snID0+ICJGaWxlbiBibGV2IGdlbXQuIiwNCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiRGVyIG9wc3RvZCBlbiBmZWpsIGkgZm9yc8O4Z2V0IHDDpSBhdCBnZW1tZSBmaWxlbi4iLA0KCSdOZXdfRmlsZScgPT4gJ09wcmV0IG55IGZpbCcsDQoJJ05vX0V4dGVuc2lvbicgPT4gJ0h1c2sgYXQgdGlsZsO4amUgZmlsdHlwZS4nLA0KCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnR3lsZGlnZSBmaWx0eXBlciBlcjogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLg0KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsDQoNCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwNCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsDQoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwNCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLA0KCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLA0KCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLA0KCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsDQoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsDQoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLA0KCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsDQoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwNCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLA0KCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLA0KCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLA0KCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplDQoJJ0InID0+ICJCIiwNCgknS0InID0+ICJLQiIsDQoJJ01CJyA9PiAiTUIiLA0KCSdHQicgPT4gIkdCIiwNCgknVEInID0+ICJUQiIsDQoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwNCik7DQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/de.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnQXVzdyZhdW1sO2hsZW4nLAoJJ0VyYXNlJyA9PiAnTCZvdW1sO3NjaGVuJywKCSdPcGVuJyA9PiAnJk91bWw7ZmZuZW4nLAoJJ0NvbmZpcm1fZGVsJyA9PiAnU2luZCBTaWUgc2ljaGVyIGRhcyBTaWUgZGllIERhdGVpIGwmb3VtbDtzY2hlbiB3b2xsZW4/JywKCSdBbGwnID0+ICdBbGxlJywKCSdGaWxlcycgPT4gJ0RhdGVpZW4nLAoJJ0ltYWdlcycgPT4gJ0JpbGRlcicsCgknQXJjaGl2ZXMnID0+ICdBcmNoaXZlJywKCSdFcnJvcl9VcGxvYWQnID0+ICdEaWUgRGF0ZWkgJnV1bWw7YmVyc2NocmVpdGV0IGRpZSBtYXhpbWFsIGVybGF1YnRlIEdyJm91bWw7w59lLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRGllc2VyIERhdGVpdHlwIGlzdCBuaWNodCBlcmxhdWJ0LicsCgknVXBsb2FkX2ZpbGUnID0+ICdIb2NobGFkZW4nLAoJJ0ZpbHRlcnMnID0+ICdGaWx0ZXInLAoJJ1ZpZGVvcycgPT4gJ1ZpZGVvcycsCgknTXVzaWMnID0+ICdNdXNpaycsCgknTmV3X0ZvbGRlcicgPT4gJ05ldWVzIFZlcnplaWNobmlzcycsCgknRm9sZGVyX0NyZWF0ZWQnID0+ICdWZXJ6ZWljaG5pcyBlcmZvbGdyZWljaCBlcnN0ZWxsdCcsCgknRXhpc3RpbmdfRm9sZGVyJyA9PiAnVmVyemVpY2huaXMgc2NobGllw59lbicsCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnU2luZCBTaWUgc2ljaGVyIGRhcyBTaWUgZGllc2VzIFZlcnplaWNobmlzIGlua2x1c2l2ZSBhbGxlciBkYXJpbiBlbnRoYWx0ZW5lbiBEYXRlaWVuIGwmb3VtbDtzY2hlbiBtJm91bWw7Y2h0ZW4/JywKCSdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1p1ciZ1dW1sO2NrIHp1ciBEYXRlaSZ1dW1sO2JlcnNpY2h0JywKCSdQcmV2aWV3JyA9PiAnVm9yc2NoYXUnLAoJJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ1ZlcnplaWNobmlzbmFtZW4gYW5nZWJlbjonLAoJJ1Jvb3QnID0+ICdCYXNpc3ZlcnplaWNobmlzJywKCSdSZW5hbWUnID0+ICdVbWJlbmVuZW4nLAoJJ0JhY2snID0+ICd6dXImdXVtbDtjaycsCgknVmlldycgPT4gJ0Fuc2ljaHQnLAoJJ1ZpZXdfbGlzdCcgPT4gJ0xpc3RlbmFuc2ljaHQnLAoJJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnU3BhbHRlbmFuc2ljaHQnLAoJJ1ZpZXdfYm94ZXMnID0+ICdCb3ggQW5zaWNodCcsCgknVG9vbGJhcicgPT4gJ1dlcmt6ZXVnbGVpc3RlJywKCSdBY3Rpb25zJyA9PiAnQWt0aW9uZW4nLAoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnRGllIERhdGVpIGV4aXN0aWVydCBiZXJlaXRzJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnRGFzIFZlcnplaWNobmlzIGV4aXN0aWVydCBiZXJlaXRzJywKCSdFbXB0eV9uYW1lJyA9PiAnRGVyIE5hbWUgaXN0IGxlZXInLAoJJ1RleHRfZmlsdGVyJyA9PiAnVGV4dCBGaWx0ZXInLAoJJ1N3aXBlX2hlbHAnID0+ICdGYWhyZW4gU2llIG1pdCBkZXIgTWF1cyDDvGJlciBkaWUgRGF0ZWkgdW0gRGV0YWlscyBhbnplaWdlbiB6dSBsYXNzZW4uJywKCSdVcGxvYWRfYmFzZScgPT4gJ0Jhc2lzIFVwbG9hZCcsCgknVXBsb2FkX2phdmEnID0+ICdKYXZhIHVwbG9hZCAoZ3JvJnN6bGlnO2UgRGF0ZWllbiknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJXZW5uIGRhcyBKYXZhIEFwcGxldCBuaWNodCBnZWxhZGVuIHdpcmQsIGRhbm4gc3RlbGxlbiBTaWUgc2ljaGVyLCAxLiBkYXNzIEphdmEgcmljaHRpZyBpbnN0YWxsaWVydCBpc3QgKGZhbGxzIG5pY2h0LCBkYW5uIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltkb3dubG9hZCBsaW5rXTwvYT4pIDIuIGRhc3MgSWhyZSBGaXJld2FsbCBkaWUgYWt0dWVsbGUgQWt0aW9uIG5pY2h0IGJsb2NraWVydC4iLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJLbGlja2VuIFNpZSBpbiBkaWVzZXMgRmVsZCBvZGVyIHppZWhlbiBTaWUgZGllIGdldyZ1dW1sO25zY2h0ZSBEYXRlaShlbikgcGVyIERyYWcgJiBEcm9wLiIsCgknVHlwZV9kaXInID0+ICdWZXJ6ZWljaG5pcycsCgknVHlwZScgPT4gJ1R5cCcsCgknRGltZW5zaW9uJyA9PiAnRGltZW5zaW9uZW4nLAoJJ1NpemUnID0+ICdHcsO2JnN6bGlnO2UnLAoJJ0RhdGUnID0+ICdEYXR1bScsCgknRmlsZW5hbWUnID0+ICdEYXRlaW5hbWUnLAoJJ09wZXJhdGlvbnMnID0+ICdPcGVyYXRpb25lbicsCgknRGF0ZV90eXBlJyA9PiAnZC5tLnknLAoJJ09LJyA9PiAnT0snLAoJJ0NhbmNlbCcgPT4gJ0FiYnJlY2hlbicsCgknU29ydGluZycgPT4gJ1NvcnRpZXJlJywKCSdTaG93X3VybCcgPT4gJ3plaWdlIFVSTCcsCgknRXh0cmFjdCcgPT4gJ2hpZXIgZW50cGFja2VuJywKCSdGaWxlX2luZm8nID0+ICdEYXRlaSBJbmZvJywKCSdFZGl0X2ltYWdlJyA9PiAnQmlsZCBlZGl0aWVyZW4nLAoJJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpemllcmVuJywKCSdGb2xkZXJzJyA9PiAnT3JkbmVyJywKCSdDb3B5JyA9PiAnS29waWVyZW4nLAoJJ0N1dCcgPT4gJ0F1c3NzY2huZWlkZW4nLAoJJ1Bhc3RlJyA9PiAnRWluZiZ1dW1sO2dlbicsCgknQ0InID0+ICdad2lzY2hlbmFibGFnZScsIC8vIGNsaXBib2FyZAoJJ1Bhc3RlX0hlcmUnID0+ICdBdXMgZGVyIFp3aXNjaGVuYWJsYWdlIGVpbmYmdXVtbDtnZW4nLAoJJ1Bhc3RlX0NvbmZpcm0nID0+ICdTaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGVzIGluIGRpZXNlbiBPcmRuZXIgZWluZiZ1dW1sO2dlbiBtw7ZjaHRlbj8gRXhpc3RpZXJlbmRlIERhdGVpZW4vVmVyemVpY2huaXNzZSB3ZXJkZW4gw7xiZXJzY2hyaWViZW4uJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdFaW5mJnV1bWw7Z2VuIGZlaGdlc2NobGFnZW4hJywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdad2lzY2hlbmFibGFnZSBsZWVyZW4nLAoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnWndpc2NoZW5hYmxhZ2Ugd2lya2ljaCBsZWVyZW4/JywKCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdTaWUgaGFiZW4gYmVyZWl0cyBEYXRlaWVuIGluIGRlciBad2lzY2hlbmFibGFnZSEnLAoJJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdEaWUgRGF0ZWllbiBzaW5kIHp1IGdyb3NzIHp1bSAlcy4gTGltaXQ6ICVkIE1CIHBybyBBa3Rpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdTaWUgaGFiZW4genUgdmllbGUgRGF0ZWllbi9PcmRuZXIgenVtICVzIGF1c2dldyZhdW1sO2x0LiBMaW1pdDogJWQgRGF0ZWllbiBwcm8gQWt0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnU2llIGhhYmVuIG5pY2h0IGRpZSBCZXJlY2h0aWd1bmdlbiB6dW0gJXMgdm9uIERhdGVpZW4uLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnRGFzIEJpbGQga29ubnRlIG5pY2h0IGdlc3BlaWNoZXJ0IHdlcmRlbi4nLAoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAnWmlwIERhdGVpIGtvbm50ZSBuaWNodCBlbnRwYWNrdCB3ZXJkZW4uIERpZSBEYXRlaSBpc3QgbSZvdW1sO2dsaWNoZXJ3ZWlzZSBiZXNjaCZhdW1sO2RpZ3QuJywKCSdaaXBfSW52YWxpZCcgPT4gJ0RpZXNlcyBEYXRlaWZvcm1hdCB3aXJkIG5pY2h0IHVudGVyc3QmdXVtbDt6dC4gWnVnZWxhc3NlbmUgRm9ybWF0ZTogemlwLCBneiB1bmQgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAnRGllc2VzIERhdGVpdmVyemVpY2hpcyBpc3Qgc2NocmVpYmdlc2NoJnV1bWw7dHp0LicsCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdEaWUgRnVua3Rpb24gJXMgaXN0IHNlcnZlcnNlaXRpZyBkZWFrdGl2aWVydC4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnRGF0ZWkgQmVyZWNodGlndW5nJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdDaGFuZ2luZyAlcyBwZXJtaXNzaW9ucyBhcmUgbm90IGFsbG93ZWQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCgknRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ1Jla3Vyc2l2IGFud2VuZGVuPycsCgknRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLAoJJ1VzZXInID0+ICdCZW51dHplcicsCgknR3JvdXAnID0+ICdHcnVwcGUnLAoJJ1llcycgPT4gJ0phJywKCSdObycgPT4gJ05laW4nLAoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnU3ByYWNoZSB3dXJkZSBuaWNodCBnZWZ1bmRlbi4nLAoJJ0xhbmdfQ2hhbmdlJyA9PiAnU3ByYWNoZSB3ZWNoc2VsbicsCgknRmlsZV9Ob3RfRm91bmQnID0+ICdEYXRlaSB3dXJkZSBuaWNodCBnZWZ1bmRlbi4nLAoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnU2llIHNpbmQgbmljaHQgYmVyZWNodGlndCBkaWVzZSBEYXRlaSB6dSAlLicsIC8vICVzID0gb3BlbiBvciBlZGl0CgknRWRpdCcgPT4gJ0JlYXJiZWl0ZW4nLAoJJ0VkaXRfRmlsZScgPT4gIkRhdGVpaW5oYWx0IGJlYXJiZWl0ZW4iLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkRhdGVpIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0LiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiQmVpbSBTcGVpY2hlcm4gZGVyIERhdGVpIGlzdCBlaW4gRmVobGVyIGF1ZmdldHJldGVuLiIsCgknTmV3X0ZpbGUnID0+ICdOZXVlIERhdGVpJywKCSdOb19FeHRlbnNpb24nID0+ICdEYXRlaWVuZHVuZyBtdXNzIGhpbnp1Z2VmJnV1bWw7Z3Qgd2VyZGVuLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ0VybGF1YnRlIERhdGVpZW5kdW5nZW46ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/el_GR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnzpXPgM65zrvOv86zzq4nLAoJJ0VyYXNlJyA9PiAnzpTOuc6xzrPPgc6xz4bOricsCgknT3BlbicgPT4gJ86Gzr3Ov865zrPOvM6xJywKCSdDb25maXJtX2RlbCcgPT4gJ86Vzq/Pg8+EzrUgz4POr86zzr/Phc+Bzr/OuSDPjM+EzrkgzrjOrc67zrXPhM61IM69zrEgzrTOuc6xzrPPgc6sz4jOtc+EzrUgzrHPhc+Ez4wgz4TOvyDOsc+Bz4fOtc6vzr87JywKCSdBbGwnID0+ICfOjM67zrEnLAoJJ0ZpbGVzJyA9PiAnzojOs86zz4HOsc+GzrEnLAoJJ0ltYWdlcycgPT4gJ86VzrnOus+Mzr3Otc+CJywKCSdBcmNoaXZlcycgPT4gJ86Rz4HPh861zq/OsScsCgknRXJyb3JfVXBsb2FkJyA9PiAnzqTOvyDOsc+Bz4fOtc6vzr8gz4DOv8+FIM68zrXPhM6xz4bOv8+Bz4TPjs64zrfOus61IM+Fz4DOtc+BzrLOsc6vzr3Otc65IM+Ezr8gzrzOrc6zzrnPg8+Ezr8gzrXPgM65z4TPgc61z4DPjM68zrXOvc6/IM68zq3Os861zrjOv8+CLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnzpcgzrrOsc+EzqzOu863zr7OtyDOsc+Bz4fOtc6vzr/PhSDOtM61zr0gzrXPgM65z4TPgc6tz4DOtc+EzrHOuS4nLAoJJ1VwbG9hZF9maWxlJyA9PiAnzpzOtc+EzrHPhs+Mz4HPhM+Jz4POtycsCgknRmlsdGVycycgPT4gJ86mzq/Ou8+Ez4HOsScsCgknVmlkZW9zJyA9PiAnzpLOr869z4TOtc6/JywKCSdNdXNpYycgPT4gJ86czr/Phc+DzrnOus6uJywKCSdOZXdfRm9sZGVyJyA9PiAnzp3Orc6/z4Igz4bOrM66zrXOu86/z4InLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnzp8gz4bOrM66zrXOu86/z4IgzrTOt868zrnOv8+Fz4HOs86uzrjOt866zrUnLAoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ86lz4DOrM+Bz4fPic69IM+GzqzOus61zrvOv8+CJywKCSdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfOlc6vz4PPhM61IM+Dzq/Os86/z4XPgc6/zrkgz4zPhM65IM64zq3Ou861z4TOtSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM+Ezr8gz4bOrM66zrXOu86/IM66zrHOuSDPjM67zrEgz4TOsSDPg8+Ezr/Ouc+HzrXOr86xIM+Azr/PhSDPgM61z4HOuc6tz4fOv869z4TOsc65IM+DzrUgzrHPhc+Ez4zOvTsnLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnzpXPgM65z4PPhM+Bzr/Phs6uIM+Dz4TOv869IM66zrHPhM6szrvOv86zzr8gz4TPic69IM6xz4HPh861zq/Pic69JywKCSdQcmV2aWV3JyA9PiAnzqDPgc6/zrXPgM65z4POus+Mz4DOt8+DzrcnLAoJJ0Rvd25sb2FkJyA9PiAnzpvOrs+IzrcnLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ86VzrnPg86szrPOtc+EzrUgz4TOvyDPjM69zr/OvM6xIM+Ezr/PhSDPhs6xzrrOrc67zr/PhTonLAoJJ1Jvb3QnID0+ICdyb290JywKCSdSZW5hbWUnID0+ICfOnM61z4TOv869zr/OvM6xz4POr86xJywKCSdCYWNrJyA9PiAnz4DOr8+Dz4knLAoJJ1ZpZXcnID0+ICfOoM+Bzr/Oss6/zrvOricsCgknVmlld19saXN0JyA9PiAnzqDPgc6/zrLOv867zq4gzrvOr8+Dz4TOsc+CJywKCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ86gz4HOv86yzr/Ou86uIM67zq/Pg8+EzrHPgiDOvM61IM+Dz4TOrs67zrXPgicsCgknVmlld19ib3hlcycgPT4gJ86gz4HOv86yzr/Ou86uIM+AzrvOsc65z4POr86/z4UnLAoJJ1Rvb2xiYXInID0+ICfOk8+BzrHOvM68zq4gzrXPgc6zzrHOu861zq/Pic69JywKCSdBY3Rpb25zJyA9PiAnzpXOvc6tz4HOs861zrnOtc+CJywKCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ86kzr8gzrHPgc+HzrXOr86/IM+Fz4DOrM+Bz4fOtc65IM6uzrTOtycsCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ86fIM+GzqzOus61zrvOv8+CIM+Fz4DOrM+Bz4fOtc65IM6uzrTOtycsCgknRW1wdHlfbmFtZScgPT4gJ86kzr8gz4zOvc6/zrzOsSDOtc6vzr3Osc65IM66zrXOvc+MJywKCSdUZXh0X2ZpbHRlcicgPT4gJ866zrXOr868zrXOvc6/IM+Gzq/Ou8+Ez4HOv8+FJywKCSdTd2lwZV9oZWxwJyA9PiAnzqDOtc+BzqzPg8+EzrUgzrzOtSDPhM6/IM+Azr/Ovc+Ezq/Ous65IM+AzqzOvc+JIM6xz4DPjCDPhM6/IM+Mzr3Ov868zrEgz4TOv8+FIM6xz4HPh861zq/Ov8+FIC8gz4bOsc66zq3Ou86/z4UgzrPOuc6xIM69zrEgzrTOtc6vz4TOtSDPhM65z4IgzrXPgM65zrvOv86zzq3PgicsCgknVXBsb2FkX2Jhc2UnID0+ICfOks6xz4POuc66zq4gzrzOtc+EzrHPhs+Mz4HPhM+Jz4POtycsCgknVXBsb2FkX2phdmEnID0+ICdKQVZBIM68zrXPhM6xz4bPjM+Bz4TPic+DzrcgKM6xz4HPh861zq/OsSDOvM61zrPOrM67zr/PhSDOvM61zrPOrc64zr/Phc+CKScsCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIs6Rzr0gz4TOvyBKYXZhIEFwcGxldCDOtM61zr0gz4bOv8+Bz4TPjs69zrXOuSwgMS4gzpLOtc6yzrHOuc+JzrjOtc6vz4TOtSDPjM+Ezrkgzq3Ph861z4TOtSDOtc6zzrrOsc+EzrHPg8+EzrfOvM6tzr3OtyBKYXZhLCDOsc67zrvOuc+Oz4IgPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+W8+Dz43Ovc60zrXPg868zr/PgiDOu86uz4jOt8+CXTwvYT4gICAyLiDOss61zrLOsc65z4nOuM61zq/PhM61IM+Mz4TOuSDPhM6vz4DOv8+EzrEgzrTOtc69IM6tz4fOtc65IM6xz4DOv866zrvOtc65z4PPhM61zq8gzrHPgM+MIM+Ezr8gz4TOtc6vz4fOv8+CIM+Az4HOv8+Dz4TOsc+Dzq/Osc+CIM+DzrHPgiIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIs6jz43Pgc61z4TOtSDOus6xzrkgzrHPhs6uz4PPhM61IM+EzrEgzrHPgc+HzrXOr86xIM6uIM66zqzOvc+EzrUgzrrOu865zrogz4PPhM63zr0gz4DOsc+BzrHPgM6szr3PiSDPgM61z4HOuc6/z4fOriAoz4PPjc6zz4fPgc6/zr3OsSDPgM+Bzr/Os8+BzqzOvM68zrHPhM6xIM+AzrXPgc65zq7Os863z4POt8+CKSDOus6xzrkgzrXPgM65zrvOrc6+z4TOtSDPhM6/KM6xKSDOsc+Bz4fOtc6vzr8ozrEpLiDOjM+EzrHOvSDOv867zr/Ous67zrfPgc+JzrjOtc6vIM63IM68zrXPhM6xz4bPjM+Bz4TPic+DzrcsIM66zqzOvc+EzrUgzrrOu865zrogz4PPhM6/IM66zr/Phc68z4DOryAnzpXPgM65z4PPhM+Bzr/Phs6uIM+Dz4TOv869IM66zrHPhM6szrvOv86zzr8gz4TPic69IM6xz4HPh861zq/Pic69Jy4iLAoJJ1R5cGVfZGlyJyA9PiAnz4bOrM66zrXOu86/z4InLAoJJ1R5cGUnID0+ICfOpM+Nz4DOv8+CJywKCSdEaW1lbnNpb24nID0+ICfOlM65zqzPg8+EzrHPg863JywKCSdTaXplJyA9PiAnzpzOrc6zzrXOuM6/z4InLAoJJ0RhdGUnID0+ICfOl868zrXPgc6/zrzOt869zq/OsScsCgknRmlsZW5hbWUnID0+ICfOjM69zr/OvM6xIM6xz4HPh861zq/Ov8+FJywKCSdPcGVyYXRpb25zJyA9PiAnzpvOtc65z4TOv8+Fz4HOs86vzrXPgicsCgknRGF0ZV90eXBlJyA9PiAneS1tLWQnLAoJJ09LJyA9PiAnT0snLAoJJ0NhbmNlbCcgPT4gJ86RzrrPjc+Bz4nPg863JywKCSdTb3J0aW5nJyA9PiAnz4TOsc6+zrnOvc+MzrzOt8+DzrcnLAoJJ1Nob3dfdXJsJyA9PiAnzrXOvM+GzqzOvc65z4POtyBVUkwnLAoJJ0V4dHJhY3QnID0+ICfOlc6+zrHOs8+JzrPOriDOtc60z44nLAoJJ0ZpbGVfaW5mbycgPT4gJ8+AzrvOt8+Bzr/Phs6/z4HOr861z4IgzrHPgc+HzrXOr86/z4UnLAoJJ0VkaXRfaW1hZ2UnID0+ICfOtc+AzrXOvs61z4HOs86xz4POr86xIM61zrnOus+Mzr3Osc+CJywKCSdEdXBsaWNhdGUnID0+ICfOkc69z4TOuc6zz4HOsc+Gzq4nLAoJJ0ZvbGRlcnMnID0+ICfOps6szrrOtc67zr/OuScsCgknQ29weScgPT4gJ86Rzr3PhM65zrPPgc6xz4bOricsCgknQ3V0JyA9PiAnzpHPgM6/zrrOv8+Azq4nLAoJJ1Bhc3RlJyA9PiAnzpXPgM65zrrPjM67zrvOt8+DzrcnLAoJJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnzpXPgM65zrrPjM67zrvOt8+Dzrcgz4POtSDOsc+Fz4TPjM69IM+Ezr/OvSDPhs6szrrOtc67zr8nLAoJJ1Bhc3RlX0NvbmZpcm0nID0+ICfOlc6vz4PPhM61IM6yzq3Oss6xzrnOv865IM+Mz4TOuSDOuM6tzrvOtc+EzrUgzr3OsSDOtc+AzrnOus6/zrvOu86uz4POtc+EzrUgz4POtSDOsc+Fz4TPjM69IM+Ezr/OvSDPhs6szrrOtc67zr87IM6Rz4XPhM+MIM64zrEgzrHOvc+EzrnOus6xz4TOsc+Dz4TOrs+DzrXOuSDPhc+AzqzPgc+Hzr/Ovc+EzrEgzrHPgc+HzrXOr86xIC8gz4bOsc66zq3Ou86/z4XPgiDOsc69IM6yz4HOtc64zr/Pjc69IM+MzrzOv865zrEuJywKCSdQYXN0ZV9GYWlsZWQnID0+ICfOkc+Azr/PhM+Fz4fOr86xIM61z4DOuc66z4zOu867zrfPg863z4Igz4TOv8+FKM+Jzr0pIM6xz4HPh861zq/Ov8+FKM+Jzr0pJywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICfOhs60zrXOuc6xz4POvM6xIGNsaXBib2FyZCcsCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICfOlc6vz4PPhM61IM+Dzq/Os86/z4XPgc6/zrkgz4zPhM65IM64zq3Ou861z4TOtSDOvc6xIM6xzrTOtc65zqzPg861z4TOtSDPhM6/IGNsaXBib2FyZDsnLAoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ86lz4DOrM+Bz4fOv8+Fzr0gzrHPgc+HzrXOr86xIM+Dz4TOvyBjbGlwYm9hcmQuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnzqTOsSDOtc+AzrnOu861zrPOvM6tzr3OsSDOsc+Bz4fOtc6vzrEvz4bOrM66zrXOu86/zrkgzrXOr869zrHOuSDPgM6/zrvPjSDOvM61zrPOrM67zrEgzrPOuc6xICVzLiDOjM+BzrnOvzogJWQgTUIvzrvOtc65z4TOv8+Fz4HOs86vzrEnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICfOlc+AzrnOu86tzr7Osc+EzrUgz4DOrM+BzrEgz4DOv867zrvOrCDOsc+Bz4fOtc6vzrEvz4bOsc66zq3Ou86/z4XPgiDOs865zrEgJXMuIM6Mz4HOuc6/OiAlZCDOsc+Bz4fOtc6vzrEvzrvOtc65z4TOv8+Fz4HOs86vzrEnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICfOlM61zr0gzrXPgM65z4TPgc6tz4DOtc+EzrHOuSDOtyAlcyDOsc+Bz4fOtc6vz4nOvS4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKCSdBdmlhcnlfTm9fU2F2ZScgPT4gJ86UzrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgzrHPgM6/zrjOrs66zrXPhc+Dzrcgz4TOt8+CIM61zrnOus+Mzr3Osc+CJywKCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ86UzrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgzrXOvs6xzrPPic6zzq4uIM6kzr8gzrHPgc+HzrXOr86/IM68z4DOv8+BzrXOryDOvc6xIM61zq/Ovc6xzrkgzrrOsc+EzrXPg8+Ez4HOsc68zrzOrc69zr8uJywKCSdaaXBfSW52YWxpZCcgPT4gJ86XIM66zrHPhM6szrvOt86+zrcgzrHPhc+Ezq4gzrTOtc69IM+Fz4DOv8+Dz4TOt8+Bzq/Ots61z4TOsc65LiDOiM6zzrrPhc+BzrE6IHppcCwgZ3osIHRhci4nLAoJJ0Rpcl9Ob19Xcml0ZScgPT4gJ86fIM+GzqzOus61zrvOv8+CIM+Azr/PhSDOtc+AzrnOu86tzr7Osc+EzrUgzrTOtc69IM61zq/Ovc6xzrkgzrXOs86zz4HOrM+IzrnOvM6/z4IuJywKCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ86XIM67zrXOuc+Ezr/Phc+BzrPOr86xIM6zzrnOsSAlcyDOrc+HzrXOuSDOsc+AzrXOvc61z4HOs86/z4DOv865zrfOuM61zq8gzrHPgM+MIM+Ezr8gzrTOuc6xzrrOv868zrnPg8+Ezq4uJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbGUgcGVybWlzc2lvbicsCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiVGhlIHN1cHBsaWVkIHBlcm1pc3Npb24gbW9kZSBpcyBpbmNvcnJlY3QuIiwKCSdVc2VyJyA9PiAnVXNlcicsCgknR3JvdXAnID0+ICdHcm91cCcsCgknWWVzJyA9PiAnWWVzJywKCSdObycgPT4gJ05vJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIGxhbmd1YWdlLicsCgknTGFuZ19DaGFuZ2UnID0+ICdDaGFuZ2UgdGhlIGxhbmd1YWdlJywKCSdGaWxlX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAoJJ0VkaXQnID0+ICdFZGl0JywKCSdFZGl0X0ZpbGUnID0+ICJFZGl0IGZpbGUncyBjb250ZW50IiwKCSdGaWxlX1NhdmVfT0snID0+ICJGaWxlIHN1Y2Nlc3NmdWxseSBzYXZlZC4iLAoJJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIlRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBzYXZpbmcgdGhlIGZpbGUuIiwKCSdOZXdfRmlsZScgPT4gJ05ldyBGaWxlJywKCSdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLAoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdWYWxpZCBleHRlbnNpb25zOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLAoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLAoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/en_EN.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnU2VsZWN0JywKCSdFcmFzZScgPT4gJ0VyYXNlJywKCSdPcGVuJyA9PiAnT3BlbicsCgknQ29uZmlybV9kZWwnID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZmlsZT8nLAoJJ0FsbCcgPT4gJ0FsbCcsCgknRmlsZXMnID0+ICdGaWxlcycsCgknSW1hZ2VzJyA9PiAnSW1hZ2VzJywKCSdBcmNoaXZlcycgPT4gJ0FyY2hpdmVzJywKCSdFcnJvcl9VcGxvYWQnID0+ICdUaGUgdXBsb2FkZWQgZmlsZSBleGNlZWRzIHRoZSBtYXggc2l6ZSBhbGxvd2VkLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRmlsZSBleHRlbnNpb24gaXMgbm90IGFsbG93ZWQuJywKCSdVcGxvYWRfZmlsZScgPT4gJ1VwbG9hZCcsCgknRmlsdGVycycgPT4gJ0ZpbHRlcnMnLAoJJ1ZpZGVvcycgPT4gJ1ZpZGVvcycsCgknTXVzaWMnID0+ICdNdXNpYycsCgknTmV3X0ZvbGRlcicgPT4gJ05ldyBGb2xkZXInLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnRm9sZGVyIGNvcnJlY3RseSBjcmVhdGVkJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdFeGlzdGluZyBmb2xkZXInLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0FyZSB5b3Ugc3VyZSB0byBkZWxldGUgdGhlIGZvbGRlciBhbmQgYWxsIHRoZSBlbGVtZW50cyBpbiBpdD8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnLAoJJ1ByZXZpZXcnID0+ICdQcmV2aWV3JywKCSdEb3dubG9hZCcgPT4gJ0Rvd25sb2FkJywKCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdJbnNlcnQgZm9sZGVyIG5hbWU6JywKCSdSb290JyA9PiAncm9vdCcsCgknUmVuYW1lJyA9PiAnUmVuYW1lJywKCSdCYWNrJyA9PiAnYmFjaycsCgknVmlldycgPT4gJ1ZpZXcnLAoJJ1ZpZXdfbGlzdCcgPT4gJ0xpc3QgdmlldycsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdDb2x1bW5zIGxpc3QgdmlldycsCgknVmlld19ib3hlcycgPT4gJ0JveCB2aWV3JywKCSdUb29sYmFyJyA9PiAnVG9vbGJhcicsCgknQWN0aW9ucycgPT4gJ0FjdGlvbnMnLAoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnVGhlIGZpbGUgaXMgYWxyZWFkeSBleGlzdGluZycsCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ1RoZSBmb2xkZXIgaXMgYWxyZWFkeSBleGlzdGluZycsCgknRW1wdHlfbmFtZScgPT4gJ1RoZSBuYW1lIGlzIGVtcHR5JywKCSdUZXh0X2ZpbHRlcicgPT4gJ3RleHQgZmlsdGVyJywKCSdTd2lwZV9oZWxwJyA9PiAnU3dpcGUgdGhlIG5hbWUgb2YgZmlsZS9mb2xkZXIgdG8gc2hvdyBvcHRpb25zJywKCSdVcGxvYWRfYmFzZScgPT4gJ0Jhc2UgdXBsb2FkJywKCSdVcGxvYWRfamF2YScgPT4gJ0pBVkEgdXBsb2FkIChiaWcgc2l6ZSBmaWxlcyknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJJZiB0aGUgSmF2YSBBcHBsZXQgZG9lc24ndCBsb2FkLCAxLiBtYWtlIHN1cmUgeW91IGhhdmUgSmF2YSBpbnN0YWxsZWQsIG90aGVyd2lzZSA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5bZG93bmxvYWQgbGlua108L2E+ICAgMi4gbWFrZSBzdXJlIG5vdGhpbmcgaXMgYmxvY2tlZCBieSB5b3VyIGZpcmV3YWxsIiwKCSdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiRHJhZyAmIERyb3AgZmlsZXMgb3IgY2xpY2sgaW4gdGhlIGFyZWEgYWJvdmUgKG1vZGVybiBicm93c2VycykgYW5kIHNlbGVjdCB0aGUgZmlsZShzKS4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uIiwKCSdUeXBlX2RpcicgPT4gJ2RpcicsCgknVHlwZScgPT4gJ1R5cGUnLAoJJ0RpbWVuc2lvbicgPT4gJ0RpbWVuc2lvbicsCgknU2l6ZScgPT4gJ1NpemUnLAoJJ0RhdGUnID0+ICdEYXRlJywKCSdGaWxlbmFtZScgPT4gJ0ZpbGVuYW1lJywKCSdPcGVyYXRpb25zJyA9PiAnT3BlcmF0aW9ucycsCgknRGF0ZV90eXBlJyA9PiAneS1tLWQnLAoJJ09LJyA9PiAnT0snLAoJJ0NhbmNlbCcgPT4gJ0NhbmNlbCcsCgknU29ydGluZycgPT4gJ3NvcnRpbmcnLAoJJ1Nob3dfdXJsJyA9PiAnU2hvdyBVUkwnLAoJJ0V4dHJhY3QnID0+ICdFeHRyYWN0IGhlcmUnLAoJJ0ZpbGVfaW5mbycgPT4gJ2ZpbGUgaW5mbycsCgknRWRpdF9pbWFnZScgPT4gJ0VkaXQgaW1hZ2UnLAoJJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpY2F0ZScsCgknRm9sZGVycycgPT4gJ0ZvbGRlcnMnLAoJJ0NvcHknID0+ICdDb3B5JywKCSdDdXQnID0+ICdDdXQnLAoJJ1Bhc3RlJyA9PiAnUGFzdGUnLAoJJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLAoJJ1Bhc3RlX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGFzdGUgdG8gdGhpcyBkaXJlY3Rvcnk/IFRoaXMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMvZm9sZGVycyBpZiBlbmNvdW50ZXJlZCBhbnkuJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdGYWlsZWQgdG8gcGFzdGUgZmlsZShzKScsCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGUgY2xpcGJvYXJkPycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnVGhlcmUgYXJlIGZpbGVzIG9uIHRoZSBjbGlwYm9hcmQuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJTEkcy4gTGltaXQ6ICUyJGQgTUIvb3BlcmF0aW9uJywgLy8gJTEkcyA9IGN1dCBvciBjb3B5LCAlMiRkID0gbWF4IHNpemUKCSdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ1lvdSBzZWxlY3RlZCB0b28gbWFueSBmaWxlcy9mb2xkZXJzIHRvICUxJHMuIExpbWl0OiAlMiRkIGZpbGVzL29wZXJhdGlvbicsIC8vICUxJHMgPSBjdXQgb3IgY29weSwgJTIkZCA9IG1heCBjb3VudAoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlMSRzICUyJHMuJywgLy8gJTEyJHMgPSBjdXQgb3IgY29weSwgJTIkcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdBdmlhcnlfTm9fU2F2ZScgPT4gJ0NvdWxkIG5vdCBzYXZlIGltYWdlJywKCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywKCSdaaXBfSW52YWxpZCcgPT4gJ1RoaXMgZXh0ZW5zaW9uIGlzIG5vdCBzdXBwb3J0ZWQuIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywKCSdEaXJfTm9fV3JpdGUnID0+ICdUaGUgZGlyZWN0b3J5IHlvdSBzZWxlY3RlZCBpcyBub3Qgd3JpdGFibGUuJywKCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsCgknVXNlcicgPT4gJ1VzZXInLAoJJ0dyb3VwJyA9PiAnR3JvdXAnLAoJJ1llcycgPT4gJ1llcycsCgknTm8nID0+ICdObycsCgknTGFuZ19Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgbGFuZ3VhZ2UuJywKCSdMYW5nX0NoYW5nZScgPT4gJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgdGhpcyBmaWxlLicsIC8vICVzID0gb3BlbiBvciBlZGl0CgknRWRpdCcgPT4gJ0VkaXQnLAoJJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGUgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAoJJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/es.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ1NlbGVjY2lvbmFyJywNCgknRXJhc2UnID0+ICdFbGltaW5hcicsDQoJJ09wZW4nID0+ICdBYnJpcicsDQoJJ0NvbmZpcm1fZGVsJyA9PiAnwr9TZWd1cm8gcXVlIGRlc2VhcyBlbGltaW5hciBlc3RlIGFyY2hpdm8/JywNCgknQWxsJyA9PiAnVG9kb3MnLA0KCSdGaWxlcycgPT4gJ0FyY2hpdm9zJywNCgknSW1hZ2VzJyA9PiAnSW3DoWdlbmVzJywNCgknQXJjaGl2ZXMnID0+ICdGaWNoZXJvcycsDQoJJ0Vycm9yX1VwbG9hZCcgPT4gJ0VsIGFyY2hpdm8gcXVlIGludGVudGEgc3ViaXIgZXhjZWRlIGVsIG3DoXhpbW8gcGVybWl0aWRvLicsDQoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0xhIGV4dGVuc2nDs24gZGVsIGFyY2hpdm8gbm8gZXN0w6EgcGVybWl0aWRhLicsDQoJJ1VwbG9hZF9maWxlJyA9PiAnU3ViaXInLA0KCSdGaWx0ZXJzJyA9PiAnRmlsdHJvcycsDQoJJ1ZpZGVvcycgPT4gJ1ZpZGVvcycsDQoJJ011c2ljJyA9PiAnTcO6c2ljYScsDQoJJ05ld19Gb2xkZXInID0+ICdOdWV2YSBjYXJwZXRhJywNCgknRm9sZGVyX0NyZWF0ZWQnID0+ICdMYSBjYXJwZXRhIGhhIHNpZG8gY3JlYWRhIGV4aXRvc2FtZW50ZS4nLA0KCSdFeGlzdGluZ19Gb2xkZXInID0+ICdDYXJwZXRhIGV4aXN0ZW50ZScsDQoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ8K/U2VndXJvIHF1ZSBkZXNlYXMgZWxpbWluYXIgbGEgY2FycGV0YSB5IHRvZG9zIGxvcyBlbGVtZW50b3MgcXVlIGNvbnRpZW5lPycsDQoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnUmVncmVzYXIgYSBsYSBsaXN0YSBkZSBhcmNoaXZvcycsDQoJJ1ByZXZpZXcnID0+ICdWaXN0YSBwcmV2aWEnLA0KCSdEb3dubG9hZCcgPT4gJ0Rlc2NhcmdhcicsDQoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ05vbWJyZSBkZSBsYSBjYXJwZXRhOicsDQoJJ1Jvb3QnID0+ICdyYcOteicsDQoJJ1JlbmFtZScgPT4gJ1Jlbm9tYnJhcicsDQoJJ0JhY2snID0+ICdBdHLDoXMnLA0KCSdWaWV3JyA9PiAnVmlzdGEnLA0KCSdWaWV3X2xpc3QnID0+ICdWaXN0YSBkZSBsaXN0YScsDQoJJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVmlzdGEgZGUgY29sdW1uYXMnLA0KCSdWaWV3X2JveGVzJyA9PiAnVmlzdGEgZGUgbWluaWF0dXJhcycsDQoJJ1Rvb2xiYXInID0+ICdCYXJyYSBkZSBoZXJyYW1pZW50YXMnLA0KCSdBY3Rpb25zJyA9PiAnQWNjaW9uZXMnLA0KCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0VsIGFyY2hpdm8geWEgZXhpc3RlJywNCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0xhIGNhcnBldGEgeWEgZXhpc3RlJywNCgknRW1wdHlfbmFtZScgPT4gJ0VsIG5vbWJyZSBzZSBlbmN1ZW50cmEgdmFjw61vJywNCgknVGV4dF9maWx0ZXInID0+ICdmaWx0cm8gZGUgdGV4dG8nLA0KCSdTd2lwZV9oZWxwJyA9PiAnRGVzbGl6ZSBlbCBub21icmUgZGVsIGFyY2hpdm8vY2FycGV0YSBwYXJhIG1vc3RyYXIgbGFzIG9wY2lvbmVzJywNCgknVXBsb2FkX2Jhc2UnID0+ICdTdWJpZGEgZGUgYXJjaGl2b3MgU0lNUExFJywNCgknVXBsb2FkX2phdmEnID0+ICdTdWJpZGEgZGUgYXJjaGl2b3MgSkFWQSAocGFyYSBhcmNoaXZvcyBwZXNhZG9zKScsDQoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJTaSBlbCBhcHBsZXQgbm8gY2FyZ2E6IDEuIEFzZWfDunJhdGUgZGUgdGVuZXIgSmF2YSBpbnN0YWxhZG87IHNpbm8gZGVzY8OhcmdhbG8gZSBpbnN0w6FsYWxvIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPmRlc2RlIGFxdcOtPC9hPiAyLiBBc2Vnw7pyYXRlIHF1ZSB0dSBmaXJld2FsbCBubyBlc3TDqSBibG9xdWVhbmRvIG5hZGEuIiwNCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkFycmFzdHJhIHkgc3VlbHRhIGxvcyBhcmNoaXZvcyBkZW50cm8gZGUgZXN0YSDDoXJlYSBvIGhhZ2EgY2xpYyBlbiBlbGxhIChwYXJhIG5hdmVnYWRvcmVzIG1vZGVybm9zKSBkZSBsbyBjb250cmFyaW8sIHNlbGVjY2lvbmUgZWwgYXJjaGl2byB5IGhhZ2EgY2xpYyBlbiBlbCBib3TDs24uIEN1YW5kbyBmaW5hbGljZSBsYSBzdWJpZGEsIGhhZ2EgY2xpYyBlbiBlbCBib3TDs24gc3VwZXJpb3IgcGFyYSByZWdyZXNhci4iLA0KCSdUeXBlX2RpcicgPT4gJ0NhcnBldGEnLA0KCSdUeXBlJyA9PiAnVGlwbycsDQoJJ0RpbWVuc2lvbicgPT4gJ0RpbWVuc2lvbmVzJywNCgknU2l6ZScgPT4gJ1Blc28nLA0KCSdEYXRlJyA9PiAnRmVjaGEnLA0KCSdGaWxlbmFtZScgPT4gJ05vbWJyZScsDQoJJ09wZXJhdGlvbnMnID0+ICdPcGVyYWNpb25lcycsDQoJJ0RhdGVfdHlwZScgPT4gJ3ktbS1kJywNCgknT0snID0+ICdPSycsDQoJJ0NhbmNlbCcgPT4gJ0NhbmNlbGFyJywNCgknU29ydGluZycgPT4gJ09yZGVuYXInLA0KCSdTaG93X3VybCcgPT4gJ01vc3RyYXIgVVJMJywNCgknRXh0cmFjdCcgPT4gJ0V4dHJhZXIgYXF1w60nLA0KCSdGaWxlX2luZm8nID0+ICdJbmZvcm1hY2nDs24nLA0KCSdFZGl0X2ltYWdlJyA9PiAnRWRpdGFyIGltYWdlbicsDQoJJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpY2FyJywNCgknRm9sZGVycycgPT4gJ0NhcnBldGFzJywNCgknQ29weScgPT4gJ0NvcGlhcicsDQoJJ0N1dCcgPT4gJ0NvcnRhcicsDQoJJ1Bhc3RlJyA9PiAnUGVnYXInLA0KCSdDQicgPT4gJ1BvcnRhcGFwZWxlcycsIC8vIGNsaXBib2FyZA0KCSdQYXN0ZV9IZXJlJyA9PiAnUGVnYXIgZW4gZXN0YSBjYXJwZXRhJywNCgknUGFzdGVfQ29uZmlybScgPT4gJ8K/RXN0w6Egc2VndXJvIGRlIHBlZ2FyIGVsIGNvbnRlbmlkbyBlbiBlc3RhIGNhcnBldGE/IEVzdGEgYWNjacOzbiBzb2JyZWVzY3JpYmlyw6EgbG9zIGFyY2hpdm9zIHkgY2FycGV0YXMgZXhpc3RlbnRlcy4nLA0KCSdQYXN0ZV9GYWlsZWQnID0+ICdFcnJvciBhbCBwZWdhciBsb3MgYXJjaGl2b3MnLA0KCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdMaW1waWFyIGVsIHBvcnRhcGFwZWxlcycsDQoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnwr9Fc3TDoSBzZWd1cm8gcXVlIGRlc2VhIGxpbXBpYXIgZWwgcG9ydGFwYXBlbGVzPycsDQoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ0V4aXN0ZW4gYXJjaGl2b3MgZW4gZWwgcG9ydGFwYXBlbGVzJywNCgknQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ0xvcyBhcmNoaXZvcy9jYXJwZXRhcyBzZWxlY2Npb25hZG9zIHNvbiBkZW1hc2lhZG8gZ3JhbmRlcyBwYXJhICVzLiBMw61taXRlOiAlZCBNQi9vcGVyYWNpw7NuJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ0hhIHNlbGVjY2lvbmFkbyBkZW1hc2lhZG9zIGFyY2hpdm9zL2NhcnBldGFzIHBhcmEgJXMuIEzDrW1pdGU6ICVkIGFyY2hpdm9zL29wZXJhY2nDs24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnTm8gZXN0w6EgcGVybWl0aWRvIGRlICVzIGFyY2hpdm9zLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycw0KCSdBdmlhcnlfTm9fU2F2ZScgPT4gJ05vIGZ1ZSBwb3NpYmxlIGd1YXJkYXIgbGEgaW1hZ2VuJywNCgknWmlwX05vX0V4dHJhY3QnID0+ICdObyBmdWUgcG9zaWJsZSBleHRyYWVyIGxvcyBhcmNoaXZvcy4gRXMgcG9zaWJsZSBxdWUgZWwgYXJjaGl2byBlc3TDqSBjb3JydXB0by4nLA0KCSdaaXBfSW52YWxpZCcgPT4gJ0VzdGEgZXh0ZW5zacOzbiBubyBlcyBzb3BvcnRhZGEuIEV4dGVuc2lvbmVzIHbDoWxpZGFzOiB6aXAsIGd6LCB0YXIuJywNCgknRGlyX05vX1dyaXRlJyA9PiAnRWwgZGlyZWN0b3JpbyBxdWUgaGEgc2VsZWNjaW9uYWRvIG5vIHRpZW5lIHBlcm1pc29zIGRlIGVzY3JpdHVyYS4nLA0KCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0xhIGZ1bmNpw7NuICVzIGhhIHNpZG8gZGVzaGFiaWxpdGFkYSBlbiBlbCBzZXJ2aWRvci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbGUgcGVybWlzc2lvbicsDQoJJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMNCgknRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwcGx5IHJlY3Vyc2l2ZWx5PycsDQoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiVGhlIHN1cHBsaWVkIHBlcm1pc3Npb24gbW9kZSBpcyBpbmNvcnJlY3QuIiwNCgknVXNlcicgPT4gJ1VzZXInLA0KCSdHcm91cCcgPT4gJ0dyb3VwJywNCgknWWVzJyA9PiAnWWVzJywNCgknTm8nID0+ICdObycsDQoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgbGFuZ3VhZ2UuJywNCgknTGFuZ19DaGFuZ2UnID0+ICdDaGFuZ2UgdGhlIGxhbmd1YWdlJywNCgknRmlsZV9Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgZmlsZS4nLA0KCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgdGhpcyBmaWxlLicsIC8vICVzID0gb3BlbiBvciBlZGl0DQoJJ0VkaXQnID0+ICdFZGl0JywNCgknRWRpdF9GaWxlJyA9PiAiRWRpdCBmaWxlJ3MgY29udGVudCIsDQoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGUgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsDQoJJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIlRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBzYXZpbmcgdGhlIGZpbGUuIiwNCgknTmV3X0ZpbGUnID0+ICdOZXcgRmlsZScsDQoJJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsDQoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdWYWxpZCBleHRlbnNpb25zOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuDQoJJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwNCg0KCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLA0KCSdmb3JiaWRlbicgPT4gIkZvcmJpZGVuIiwNCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLA0KCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsDQoJJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsDQoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsDQoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwNCgknd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwNCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsDQoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwNCgknbm8gcGF0aCcgPT4gIk5vIHBhdGgiLA0KCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsDQoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsDQoJJ05vdCBlbm91Z2h0IE1lbW9yeScgPT4gIk5vdCBlbm91Z2h0IE1lbW9yeSIsDQoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUNCgknQicgPT4gIkIiLA0KCSdLQicgPT4gIktCIiwNCgknTUInID0+ICJNQiIsDQoJJ0dCJyA9PiAiR0IiLA0KCSdUQicgPT4gIlRCIiwNCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLA0KKTsNCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/fa.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAn2KfZhtiq2K7Yp9ioJywKCSdFcmFzZScgPT4gJ9it2LDZgScsCgknT3BlbicgPT4gJ9io2KfYstqv2LTYp9uM24wnLAoJJ0NvbmZpcm1fZGVsJyA9PiAn2YXbjNiu2YjYp9mH24zYryDYp9uM2YYg2YHYp9uM2YQg2LHYpyDYrdiw2YEg2qnZhtuM2K/YnycsCgknQWxsJyA9PiAn2YfZhdmHJywKCSdGaWxlcycgPT4gJ9mB2KfbjNmE2YfYpycsCgknSW1hZ2VzJyA9PiAn2KrYtdin2YjbjNixJywKCSdBcmNoaXZlcycgPT4gJ9ii2LHYtNuM2YgnLAoJJ0Vycm9yX1VwbG9hZCcgPT4gJ9mB2KfbjNmEINii2b7ZhNmI2K8g2LTYr9mHINio24zYtCDYp9iyINit2K/Yp9qp2KvYsSDYp9mG2K/Yp9iy2Ycg2YXYrNin2LIg2KfYs9iqLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAn2YbZiNi5INmB2KfbjNmEINmF2KzYp9iyINmG24zYs9iqLicsCgknVXBsb2FkX2ZpbGUnID0+ICfYotm+2YTZiNivJywKCSdGaWx0ZXJzJyA9PiAn2YHbjNmE2KrYsdmH2KcnLAoJJ1ZpZGVvcycgPT4gJ9mI24zYr9im2YjZh9inJywKCSdNdXNpYycgPT4gJ9mF2YjYstuM2qknLAoJJ05ld19Gb2xkZXInID0+ICfZgdmI2YTYr9ixINis2K/bjNivJywKCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ9m+2YjYtNmHINio2Ycg2K/Ysdiz2KrbjCDYp9uM2KzYp9ivINi02K8nLAoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ9m+2YjYtNmHINmH2KfbjCDZhdmI2KzZiNivJywKCSdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfYotuM2Kcg2YXbjNiu2YjYp9mH24zYryDYp9uM2YYg2YHZiNmE2K/YsSDYsdinINio2Kcg2KrZhdin2YUg2YXYrdiq2YjYp9uM2LQg2K3YsNmBINqp2YbbjNiv2J8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn2KjYsdqv2LTYqiDYqNmHINmE24zYs9iqINmB2KfbjNmE2YfYpycsCgknUHJldmlldycgPT4gJ9m+24zYtCDZhtmF2KfbjNi0JywKCSdEb3dubG9hZCcgPT4gJ9iv2KfZhtmE2YjYrycsCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAn2YbYp9mFINmB2YjZhNiv2LE6JywKCSdSb290JyA9PiAn2LTYp9iu2Ycg2KfYtdmE24wnLAoJJ1JlbmFtZScgPT4gJ9iq2LrbjNuM2LEg2YbYp9mFJywKCSdCYWNrJyA9PiAn2KjYsdqv2LTYqicsCgknVmlldycgPT4gJ9mG2YXYp9uM2LQnLAoJJ1ZpZXdfbGlzdCcgPT4gJ9mG2YXYp9uM2LQg2YTbjNiz2KonLAoJJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAn2YbZhdin24zYtCDZhNuM2LPYqiDYs9iq2YjZhtuMJywKCSdWaWV3X2JveGVzJyA9PiAn2YbZhdin24zYtCDYqNin2qnYs9mH2KcnLAoJJ1Rvb2xiYXInID0+ICfZhtmI2KfYsSDYp9io2LLYp9ixJywKCSdBY3Rpb25zJyA9PiAn2LnZhdmE24zYp9iqJywKCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ9mB2KfbjNmEINin2LIg2YLYqNmEINmF2YjYrNmI2K8g2KfYs9iqJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAn2YHZiNmE2K/YsSDYp9iyINmC2KjZhCDZhdmI2KzZiNivINin2LPYqicsCgknRW1wdHlfbmFtZScgPT4gJ9mG2KfZhSDYrtin2YTbjCDYp9iz2KonLAoJJ1RleHRfZmlsdGVyJyA9PiAn2YHbjNmE2KrYsSDZhtmI2LTYqtmHJywKCSdTd2lwZV9oZWxwJyA9PiAnU3dpcGUgdGhlIG5hbWUgb2YgZmlsZS9mb2xkZXIgdG8gc2hvdyBvcHRpb25zJywKCSdVcGxvYWRfYmFzZScgPT4gJ9ii2b7ZhNmI2K/YsSDYp9i12YTbjCcsCgknVXBsb2FkX2phdmEnID0+ICfYotm+2YTZiNiv2LEg2KzYp9mI2KcgKNmB2KfbjNmE2YfYp9uMINit2KzbjNmFKScsCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIklmIHRoZSBKYXZhIEFwcGxldCBkb2Vzbid0IGxvYWQsIDEuIG1ha2Ugc3VyZSB5b3UgaGF2ZSBKYXZhIGluc3RhbGxlZCwgb3RoZXJ3aXNlIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltkb3dubG9hZCBsaW5rXTwvYT4gICAyLiBtYWtlIHN1cmUgbm90aGluZyBpcyBibG9ja2VkIGJ5IHlvdXIgZmlyZXdhbGwiLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICLZgdin24zZhNmH2Kcg2LHYpyDYp9iyINiz24zYs9iq2YUg2K7ZiNivINio2qnYtNuM2K8g2Ygg2KfbjNmG2KzYpyDYsdmH2Kcg2qnZhtuM2K8g24zYpyDYp9uM2YbYrNinINqp2YTbjNqpINqp2YbbjNivINmIINmB2KfbjNmEINin2YbYqtiu2KfYqCDaqdmG24zYryDZiCDZh9mG2q/Yp9mF24wg2qnZhyDYotm+2YTZiNivINiq2YXYp9mFINi02K/YjCDYsdmI24wg2qnZhNuM2K8gXCLYqNix2q/YtNiqINio2Ycg2YTbjNiz2Kog2YHYp9uM2YTZh9inXCIg2qnZhNuM2qkg2qnZhtuM2K8uIiwKCSdUeXBlX2RpcicgPT4gJ9mF2LPbjNixJywKCSdUeXBlJyA9PiAn2YbZiNi5JywKCSdEaW1lbnNpb24nID0+ICfYqNi52K8nLAoJJ1NpemUnID0+ICfYp9mG2K/Yp9iy2YcnLAoJJ0RhdGUnID0+ICfYqtin2LHbjNiuJywKCSdGaWxlbmFtZScgPT4gJ9mG2KfZhSDZgdin24zZhCcsCgknT3BlcmF0aW9ucycgPT4gJ9i52YXZhNuM2KfYqicsCgknRGF0ZV90eXBlJyA9PiAneS1tLWQnLAoJJ09LJyA9PiAn2KjYp9i02YcnLAoJJ0NhbmNlbCcgPT4gJ9mE2LrZiCcsCgknU29ydGluZycgPT4gJ9mF2LHYqtioINiz2KfYstuMJywKCSdTaG93X3VybCcgPT4gJ9mG2YXYp9uM2LQg2KLYr9ix2LMnLAoJJ0V4dHJhY3QnID0+ICfYp9iz2KrYrtix2KfYrCDYr9ixINin24zZhtis2KcnLAoJJ0ZpbGVfaW5mbycgPT4gJ9in2LfZhNin2LnYp9iqINmB2KfbjNmEJywKCSdFZGl0X2ltYWdlJyA9PiAn2YjbjNix2KfbjNi0INiq2LXZiNuM2LEnLAoJJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpY2F0ZScsCgknRm9sZGVycycgPT4gJ0ZvbGRlcnMnLAoJJ0NvcHknID0+ICdDb3B5JywKCSdDdXQnID0+ICdDdXQnLAoJJ1Bhc3RlJyA9PiAnUGFzdGUnLAoJJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLAoJJ1Bhc3RlX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGFzdGUgdG8gdGhpcyBkaXJlY3Rvcnk/IFRoaXMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMvZm9sZGVycyBpZiBlbmNvdW50ZXJlZCBhbnkuJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdGYWlsZWQgdG8gcGFzdGUgZmlsZShzKScsCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGUgY2xpcGJvYXJkPycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnVGhlcmUgYXJlIGZpbGVzIG9uIHRoZSBjbGlwYm9hcmQuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdZb3Ugc2VsZWN0ZWQgdG9vIG1hbnkgZmlsZXMvZm9sZGVycyB0byAlcy4gTGltaXQ6ICVkIGZpbGVzL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgZmlsZXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnID0+ICdDb3VsZCBub3Qgc2F2ZSBpbWFnZScsCgknWmlwX05vX0V4dHJhY3QnID0+ICdDb3VsZCBub3QgZXh0cmFjdC4gRmlsZSBtaWdodCBiZSBjb3JydXB0LicsCgknWmlwX0ludmFsaWQnID0+ICdUaGlzIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkLiBWYWxpZDogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAnVGhlIGRpcmVjdG9yeSB5b3Ugc2VsZWN0ZWQgaXMgbm90IHdyaXRhYmxlLicsCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdUaGUgJXMgZnVuY3Rpb24gaGFzIGJlZW4gZGlzYWJsZWQgYnkgdGhlIHNlcnZlci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnRmlsZSBwZXJtaXNzaW9uJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdDaGFuZ2luZyAlcyBwZXJtaXNzaW9ucyBhcmUgbm90IGFsbG93ZWQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCgknRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwcGx5IHJlY3Vyc2l2ZWx5PycsCgknRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLAoJJ1VzZXInID0+ICdVc2VyJywKCSdHcm91cCcgPT4gJ0dyb3VwJywKCSdZZXMnID0+ICdZZXMnLAoJJ05vJyA9PiAnTm8nLAoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgbGFuZ3VhZ2UuJywKCSdMYW5nX0NoYW5nZScgPT4gJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgdGhpcyBmaWxlLicsIC8vICVzID0gb3BlbiBvciBlZGl0CgknRWRpdCcgPT4gJ0VkaXQnLAoJJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGUgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAoJJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnU8OpbGVjdGlvbm5lcicsCgknRXJhc2UnID0+ICdFZmZhY2VyJywKCSdPcGVuJyA9PiAnT3V2cmlyJywKCSdDb25maXJtX2RlbCcgPT4gJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIGVmZmFjZXIgY2UgZmljaGllciA/JywKCSdBbGwnID0+ICdUb3VzJywKCSdGaWxlcycgPT4gJ0ZpY2hpZXJzJywKCSdJbWFnZXMnID0+ICdJbWFnZXMnLAoJJ0FyY2hpdmVzJyA9PiAnQXJjaGl2ZXMnLAoJJ0Vycm9yX1VwbG9hZCcgPT4gJ1ZvdHJlIGZpY2hpZXIgZMOpcGFzc2UgbGEgdGFpbGxlIG1heGltdW0gYXV0b3Jpc8OpZS4nLAoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0V4dGVuc2lvbiBkZSBmaWNoaWVyIG5vbiBhdXRvcmlzw6llLicsCgknVXBsb2FkX2ZpbGUnID0+ICdFbnZveWVyIHVuIGZpY2hpZXInLAoJJ0ZpbHRlcnMnID0+ICdGaWx0cmVyJywKCSdWaWRlb3MnID0+ICdWaWTDqW9zJywKCSdNdXNpYycgPT4gJ011c2lxdWUnLAoJJ05ld19Gb2xkZXInID0+ICdOb3V2ZWF1IGRvc3NpZXInLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnRG9zc2llciBjb3JyZWN0ZW1lbnQgY3LDqcOpJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdEb3NzaWVyIGV4aXN0YW50JywKCSdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBzdXBwcmltZXIgbGUgZG9zc2llciBhaW5zaSBxdWUgdG91cyBzZXMgw6lsw6ltZW50cyA/JywKCSdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1JldmVuaXIgw6AgbGEgbGlzdGUgZGVzIGZpY2hpZXJzJywKCSdQcmV2aWV3JyA9PiAnQXBlcsOndScsCgknRG93bmxvYWQnID0+ICdUw6lsw6ljaGFyZ2VyJywKCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdJbnPDqXJlciBsZSBub20gZHUgZG9zc2llciA6JywKCSdSb290JyA9PiAnUmFjaW5lJywKCSdSZW5hbWUnID0+ICdSZW5vbW1lcicsCgknQmFjaycgPT4gJ1JldG91cicsCgknVmlldycgPT4gJ1Z1ZScsCgknVmlld19saXN0JyA9PiAnVnVlIHBhciBsaXN0ZScsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdWdWUgcGFyIGxpc3RlcyBkZSBjb2xvbm5lJywKCSdWaWV3X2JveGVzJyA9PiAnVnVlIHBhciBpY8O0bmVzJywKCSdUb29sYmFyJyA9PiAnQmFycmUgZFwnb3V0aWxzJywKCSdBY3Rpb25zJyA9PiAnQWN0aW9ucycsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdDZSBmaWNoaWVyIGV4aXN0ZSBkw6lqw6AnLAoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdDZSBkb3NzaWVyIGV4aXN0ZSBkw6lqw6AnLAoJJ0VtcHR5X25hbWUnID0+ICdMZSBub20gZXN0IHZpZGUnLAoJJ1RleHRfZmlsdGVyJyA9PiAnVGV4dGUgZGUgZmlsdHJhZ2UnLAoJJ1N3aXBlX2hlbHAnID0+ICdHbGlzc2V6IGxlIG5vbSBkdSBmaWNoaWVyL2Rvc3NpZXIgcG91ciBhZmZpY2hlciBsZXMgb3B0aW9ucycsCgknVXBsb2FkX2Jhc2UnID0+ICdVcGxvYWQgY2xhc3NpcXVlJywKCSdVcGxvYWRfamF2YScgPT4gJ0pBVkEgdXBsb2FkIChmaWNoaWVycyBkZSBncmFuZGVzIHRhaWxsZXMpJywKCSdVcGxvYWRfamF2YV9oZWxwJyA9PiAiU2kgbCdhcHBsZXQgSmF2YSBBcHBsZXQgbmUgY2hhcmdlIHBhcyAxLiBBc3N1cmV6LXZvdXMgcXVlIHZvdXMgYXZleiBiaWVuIGluc3RhbGzDqSBKYXZhIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltkb3dubG9hZCBsaW5rXTwvYT4gMi4gQXNzdXJlei12b3VzIHF1ZSB2b3RyZSBwYXJlLWZldSBuZSBibG9xdWUgcGFzIGxhIGNvbm5leGlvbi4iLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJHbGlzc2VyICYgRMOpcG9zZXIgbGUocykgZmljaGllcihzKSDDoCBsJ2ludMOpcmlldXIgZGUgbGEgem9uZSBvdSBjbGlxdWV6IGRlc3N1cyAocG91ciBsZXMgZGVybmllcnMgbmF2aWdhdGV1cnMpLCBzaW5vbiBzw6lsZWN0aW9ubmV6IGxlIGZpY2hpZXIuIExvcnNxdWUgbCd1cGxvYWQgZXN0IHRlcm1pbsOpLCBjbGlxdWV6IHN1ciBsZSBib3V0b24gcmV0b3VyLiIsCgknVHlwZV9kaXInID0+ICdkaXInLAoJJ1R5cGUnID0+ICdUeXBlJywKCSdEaW1lbnNpb24nID0+ICdEaW1lbnNpb24nLAoJJ1NpemUnID0+ICdUYWlsbGUnLAoJJ0RhdGUnID0+ICdEYXRlJywKCSdGaWxlbmFtZScgPT4gJ05vbScsCgknT3BlcmF0aW9ucycgPT4gJ09ww6lyYXRpb25zJywKCSdEYXRlX3R5cGUnID0+ICdkL20vWScsCgknT0snID0+ICdPSycsCgknQ2FuY2VsJyA9PiAnQW5udWxlcicsCgknU29ydGluZycgPT4gJ1RyaWVyJywKCSdTaG93X3VybCcgPT4gJ0FmZmljaGVyIGxcJ1VSTCcsCgknRXh0cmFjdCcgPT4gJ0V4dHJhaXJlIGljaScsCgknRmlsZV9pbmZvJyA9PiAnSW5mb3JtYXRpb24nLAoJJ0VkaXRfaW1hZ2UnID0+ICdFZGl0ZXIgbFwnaW1hZ2UnLAoJJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpcXVlcicsCgknRm9sZGVycycgPT4gJ0Rvc3NpZXJzJywKCSdDb3B5JyA9PiAnQ29waWVyJywKCSdDdXQnID0+ICdDb3VwZXInLAoJJ1Bhc3RlJyA9PiAnQ29sbGVyJywKCSdDQicgPT4gJ1BQJywgLy8gUHJlc3NlLXBhcGllcnMKCSdQYXN0ZV9IZXJlJyA9PiAnQ29sbGVyIGRhbnMgY2UgZG9zc2llcicsCgknUGFzdGVfQ29uZmlybScgPT4gJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIGNvbGxlciBkYW5zIGNlIHLDqXBlcnRvaXJlLiBDZXR0ZSBhY3Rpb24gcmVtcGxhY2VyYSBsZXMgZmljaGllcnMvZG9zc2llcnMgZMOpasOgIGV4aXN0YW50cy4nLAoJJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0ltcG9zc2libGUgZGUgY29sbGVyIGxlcyBmaWNoaWVyKHMpJywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdWaWRlciBsZSBwcmVzc2UtcGFwaWVycycsCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciB2aWRlciBsZSBwcmVzc2UtcGFwaWVycyA/JywKCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdMZSBwcmVzc2UtcGFwaWVycyBjb250aWVudCBkZXMgZmljaGllcnMuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnTGVzIGZpY2hpZXJzL2Rvc3NpZXJzIHPDqWxlY3Rpb25uw6lzIHNvbnQgdHJvcCBncm9zIHBvdXIgJTEkcy4gTGltaXRlOiAlMiRkIE1CL29ww6lyYXRpb24nLCAvLyAlMSRzID0gY3V0IG9yIGNvcHksICUyJGQgPSBtYXggc2l6ZQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnVm91cyBhdmV6IHPDqWxlY3Rpb25uw6kgdHJvcCBkZSBmaWNoaWVycy9kb3NzaWVyIHBvdXIgJTEkcy4gTGltaXRlOiAlMiRkIGZpY2hpZXJzL29ww6lyYXRpb24nLCAvLyAlMSRzID0gY3V0IG9yIGNvcHksICUyJGQgPSBtYXggY291bnQKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1ZvdXMgblwnw6p0ZXMgcGFzIGF1dG9yaXPDqSDDoCAlMSRzIGRlcyAlMiRzLicsIC8vICUxMiRzID0gY3V0IG9yIGNvcHksICUyJHMgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnID0+ICdJbXBvc3NpYmxlIGRcJ2VucmVnaXN0cmVyIGxcJ2ltYWdlJywKCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ0V4dHJhY3Rpb24gaW1wb3NzaWJsZS4gTGUgZmljaGllciBlc3QgcGV1dC3DqnRyZSBjb3Jyb21wdS4nLAoJJ1ppcF9JbnZhbGlkJyA9PiAnQ2V0dGUgZXh0ZW5zaW9uIG5cJ2VzdCBwYXMgc3VwcG9ydMOpZS4gRXh0ZW5zaW9ucyB2YWxpZGVzOiB6aXAsIGd6LCB0YXIuJywKCSdEaXJfTm9fV3JpdGUnID0+ICdMZSByw6lwZXJ0b2lyZSBxdWUgdm91cyBhdmV6IHPDqWxlY3Rpb25uw6kgblwnZXN0IHBhcyBhY2Nlc3NpYmxlIGVuIMOpY3JpdHVyZS4nLAoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnTGEgZm9uY3Rpb24gJXMgYSDDqXTDqSBkw6lzYWN0aXbDqWUgc3VyIGxlIHNlcnZldXIuJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ1Blcm1pc3Npb24gZHUgZmljaGllcicsCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnTGUgY2hhbmdlbWVudCBkZSBwZXJtaXNzaW9uICVzIG5cJ2VzdCBwYXMgYXV0b3Jpc8OpLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBsaXF1ZXogcmVjdXJzaXZlbWVudCA/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gJ0xlcyBwZXJtaXNzaW9ucyBzYWlzaWVzIHNvbnQgaW5jb3JyZWN0ZXMuJywKCSdVc2VyJyA9PiAnVXRpbGlzYXRldXInLAoJJ0dyb3VwJyA9PiAnR3JvdXBlJywKCSdZZXMnID0+ICdPdWknLAoJJ05vJyA9PiAnTm9uJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ0xlIGZpY2hpZXIgZGUgbGFuZ3VlIGVzdCBpbnRyb3V2YWJsZS4nLAoJJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlciBsYSBsYW5ndWUnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnTGUgZmljaGllciBlc3QgaW50cm91dmFibGUuJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1ZvdXMgbmUgZGlzcG9zZXogcGFzIGRlcyBhdXRvcmlzYXRpb25zIHN1ciBsZSBmaWNoaWVyICVzLicsIC8vICVzID0gb3BlbiBvciBlZGl0CgknRWRpdCcgPT4gJ0VkaXRlcicsCgknRWRpdF9GaWxlJyA9PiAnRWRpdGVyIGxlIGNvbnRlbnUgZHUgZmljaGllcicsCgknRmlsZV9TYXZlX09LJyA9PiAnRmljaGllciBlbnJlZ2lzdHLDqSBhdmVjIHN1Y2PDqHMuJywKCSdGaWxlX1NhdmVfRXJyb3InID0+ICdVbmUgZXJyZXVyIHNcJ2VzdCBwcm9kdWl0ZSBsb3JzIGRlIGxcJ2VucmVnaXN0cmVtZW50IGR1IGZpY2hpZXIuJywKCSdOZXdfRmlsZScgPT4gJ05vdXZlYXUgZmljaGllcicsCgknTm9fRXh0ZW5zaW9uJyA9PiAnVm91cyBkZXZleiBham91dGVyIHVuZSBleHRlbnNpb24gYXUgZmljaGllci4nLAoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdFeHRlbnNpb25zIHZhbGlkZXM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkdsaXNzZXogbGVzIGZpY2hpZXIgaWNpIHBvdXIgbGVzIGFqb3V0ZXIiLAoKCSdTRVJWRVIgRVJST1InID0+ICJFUlJFVVIgU0VSVkVVUiIsCgknZm9yYmlkZW4nID0+ICJJbnRlcmRpdCIsCgknd3JvbmcgcGF0aCcgPT4gIkNoZW1pbiBpbnZhbGlkZSIsCgknd3JvbmcgbmFtZScgPT4gIk5vbSBpbnZhbGlkZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiRXh0ZW5zaW9uIGludmFsaWRlIiwKCSd3cm9uZyBvcHRpb24nID0+ICJPcHRpb24gaW52YWxpZGUiLAoJJ3dyb25nIGRhdGEnID0+ICJEb25uw6llcyBpbnZhbGlkZXMiLAoJJ3dyb25nIGFjdGlvbicgPT4gIkFjdGlvbiBpbnZhbGlkZSIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIlNvdXMtYWN0aW9uIGludmFsaWRlIiwKCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiQXVjdW5lIGFjdGlvbiBkZW1hbmTDqWUiLAoJJ25vIHBhdGgnID0+ICJDaGVtaW4gbWFucXVhbnQiLAoJJ25vIGZpbGUnID0+ICJGaWNoaWVyIG1hbnF1YW50IiwKCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJUeXBlIGRlIHZ1ZSBtYW5xdWFudCIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTcOpbW9pcmUgaW5zdWZmaXNhbnRlIiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiVm90cmUgcsOpcGVydG9pcmUgZCdpbWFnZSBhIGTDqWrDoCBhdHRlaW5kIHNhIHRhaWxsZSBtYXhpbWFsZSBkZSAlZCBtby4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQoJJ0InID0+ICJvIiwKCSdLQicgPT4gImtvIiwKCSdNQicgPT4gIm1vIiwKCSdHQicgPT4gImdvIiwKCSdUQicgPT4gInRvIiwKCSd0b3RhbCBzaXplJyA9PiAiVGFpbGxlIHRvdGFsZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/he_IL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAn15HXl9eoJywKCSdFcmFzZScgPT4gJ9ee15fXpycsCgknT3BlbicgPT4gJ9ek16rXlycsCgknQ29uZmlybV9kZWwnID0+ICfXlNeQ150g15DXqteUINeR15jXldeXINep15HXqNem15XXoNeaINec157Xl9eV16cg15DXqiDXlNen15XXkdelID8nLAoJJ0FsbCcgPT4gJ9eU15vXnCcsCgknRmlsZXMnID0+ICfXp9eR16bXmdedJywKCSdJbWFnZXMnID0+ICfXqtee15XXoNeV16onLAoJJ0FyY2hpdmVzJyA9PiAn15DXqNeb15nXldeg15nXnScsCgknRXJyb3JfVXBsb2FkJyA9PiAn15LXldeT15wg15TXp9eV15HXpSDXlNee16bXldeo16Mg15fXldeo15Ig157XnyDXlNeS15HXldecINeU157Xldeq16ggLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAn16rXkdeg15nXqiDXlNen15XXkdelINeQ15Ug16HXmdeV157XqiDXlNen15XXkdelINeQ15nXoNefINeX15XXp9eZ15XXqiAuJywKCSdVcGxvYWRfZmlsZScgPT4gJ9eU16LXnNeUJywKCSdGaWx0ZXJzJyA9PiAn16HXoNeg15nXnScsCgknVmlkZW9zJyA9PiAn15XXmdeT15DXlScsCgknTXVzaWMnID0+ICfXnteV15bXmden15QnLAoJJ05ld19Gb2xkZXInID0+ICfXqteZ16fXmdeUINeX15PXqdeUJywKCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ9eU16rXmden15nXlCDXoNeV16bXqNeUIC4nLAoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ9eU16rXmden15nXlCDXp9eZ15nXnteqJywKCSdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICfXlNeQ150g15DXqteUINeR15jXldeXINep15HXqNem15XXoNeaINec157Xl9eV16cg15DXqiDXlNeq15nXp9eZ15Qg15XXm9ecINen15HXpteZ15QgPycsCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICfXl9eW15XXqCDXnNeo16nXmdee16og16fXkdem15nXnScsCgknUHJldmlldycgPT4gJ9eq16bXldeS15Qg157Xp9eT15nXnteUJywKCSdEb3dubG9hZCcgPT4gJ9eU15XXqNeTJywKCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICfXlNeb16DXoSDXqdedINeq15nXp9eZ15Q6JywKCSdSb290JyA9PiAncm9vdCcsCgknUmVuYW1lJyA9PiAn16nXoNeUINep150nLAoJJ0JhY2snID0+ICfXl9eW15XXqCcsCgknVmlldycgPT4gJ9em16TXlCcsCgknVmlld19saXN0JyA9PiAn16rXpteV15LXqiDXqNep15nXnteUJywKCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ9eq16bXldeS16og16jXqdeZ157XlCDXkdeY15XXqNeZ150nLAoJJ1ZpZXdfYm94ZXMnID0+ICfXqtem15XXkteqINen15XXpNeh15DXldeqJywKCSdUb29sYmFyJyA9PiAn16HXqNeS15wg15vXnNeZ150nLAoJJ0FjdGlvbnMnID0+ICfXpNei15XXnNeV16onLAoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAn15TXp9eV15HXpSDXm9eR16gg16fXmdeZ150nLAoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICfXlNeq15nXp9eZ15Qg15vXkdeoINen15nXmdee16onLAoJJ0VtcHR5X25hbWUnID0+ICfXqdedINeU16fXldeR16Ug16jXmdenJywKCSdUZXh0X2ZpbHRlcicgPT4gJ9eh16DXnyDXmNen16HXmCcsCgknU3dpcGVfaGVscCcgPT4gJ9eh157XnyDXkNeqINeU16fXldeR16UgLyDXqteZ16fXmdeUINei15wg157XoNeqINec15TXpteZ15Ig15DXpNep16jXmdeV16onLAoJJ1VwbG9hZF9iYXNlJyA9PiAn16jXkteZ15wnLAoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQSAo15zXp9eR16bXmdedINeS15PXldec15nXnSknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICLXkNedINeQ16TXnNeZ16fXpteZ16og15RKQVZBINec15Ag16DXmNei16DXqiAsIDEuINeV15XXk9eQINepSkFWQSDXnteV16rXp9eg16og15HXnteX16nXkdeaICwg15DXl9eoIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPtec15fXpSDXnNeU15XXqNeT15Q8L2E+ICAgMi4g15XXldeT15Ag16nXlNeb15wg157XkNeV16TXqdeoINeR15fXldee16og15TXkNepIC4iLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICLXkteo15XXqCDXldep15fXqNeoINeQ16og15TXp9eR15XXpteZ150g15DXqdeoINeU15nXoNeaINee16LXldeg15nXmdefINec16LXnNeV16ogLiDXkdeh15nXldedINeZ16kg15zXnNeX15XXpSDXotecIFwi15fXlteV16gg15DXnCDXqNep15nXnteqINen15HXpteZ151cIiIsCgknVHlwZV9kaXInID0+ICfXqteZ16fXmdeUJywKCSdUeXBlJyA9PiAn16HXldeSJywKCSdEaW1lbnNpb24nID0+ICfXnteZ157Xk9eZ150nLAoJJ1NpemUnID0+ICfXkteV15PXnCcsCgknRGF0ZScgPT4gJ9eq15DXqNeZ15onLAoJJ0ZpbGVuYW1lJyA9PiAn16nXnSDXlNen15XXkdelJywKCSdPcGVyYXRpb25zJyA9PiAn16TXoteV15zXldeqJywKCSdEYXRlX3R5cGUnID0+ICdkLW0teScsCgknT0snID0+ICfXkNeZ16nXldeoJywKCSdDYW5jZWwnID0+ICfXkdeZ15jXldecJywKCSdTb3J0aW5nJyA9PiAn157XmdeV158nLAoJJ1Nob3dfdXJsJyA9PiAn15TXpteSINeb16rXldeR16onLAoJJ0V4dHJhY3QnID0+ICfXl9ec16Ug15zXm9eQ158nLAoJJ0ZpbGVfaW5mbycgPT4gJ9ee15DXpNeZ15nXoNeZ150nLAoJJ0VkaXRfaW1hZ2UnID0+ICfXoteo15XXmiDXqtee15XXoNeUJywKCSdEdXBsaWNhdGUnID0+ICfXqdeb16TXnCcsCgknRm9sZGVycycsICfXqteZ16fXmdeV16onLAoJJ0NvcHknID0+ICfXlNei16rXpycsCgknQ3V0JyA9PiAn15LXlteV16gnLAoJJ1Bhc3RlJyA9PiAn15TXk9eR16cnLAoJJ0NCJywgJ9ec15XXlyDXoteo15nXm9eUJywgLy8gY2xpcGJvYXJkCgknUGFzdGVfSGVyZScgPT4gJ9eU15PXkdenINec16rXmden15nXlCDXlteVJywKCSdQYXN0ZV9Db25maXJtJyA9PiAn15TXkNedINeQ16rXlCDXkdeY15XXlyDXqdeR16jXpteV16DXmiDXnNeU15PXkdeZ16cg15zXqteZ16fXmdeUINeW15UgPyDXpNei15XXnNeUINeW15Ug16rXl9ec15nXoyDXkdeZ158g15TXp9eR16bXmdedINeR157Xp9eo15Qg16nXnCDXlNeq16DXktep15XXqicsCgknUGFzdGVfRmFpbGVkJyA9PiAn16DXm9ep15wg15HXlNei16rXp9eqINen15HXpteZ150nLAoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ9eg16fXlCDXnNeV15cg16LXqNeZ15vXlCcsCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICfXlNeQ150g15DXqteUINeR15jXldeXINep15HXqNem15XXoNeaINec16DXp9eV16og15DXqiDXnNeV15cg15TXoteo15nXm9eUID8nLAoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ9eZ16nXoNedINen15HXpteZ150g15HXnNeV15cg15TXoteo15nXm9eULicsCgknQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ9eS15XXk9ecINeU16fXldeR16bXmdedIC8g15TXqteZ16fXmdeUINeS15PXldec15nXnSDXnteT15kgJXMuINeU15LXkdec15Q6ICVkIE1CL9ec16TXoteV15zXlCcsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ9eR15fXqCDXmdeV16rXqCDXnteT15kg16rXmden15nXldeqL9en15HXpteZ150g15zXpNei15XXnNeUICVzLiDXlNeS15HXnNeUOiAlZCBmaWxlcy9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICfXkNeZ16DXmiDXqNeQ16nXmSDXnCVzINen15HXpteZ150uJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnLCAn15zXkCDXoNeZ16rXnyDXnNep157XldeoINeQ16og15TXqtee15XXoNeUIC4nLAoJJ1ppcF9Ob19FeHRyYWN0JywgJ9ec15Ag16DXmdeq158g15zXl9ec16UgLCDXlNen15HXpSDXpNeS15XXnS4nLAoJJ1ppcF9JbnZhbGlkJywgJ9eh15XXkiDXkNeVINek15XXqNee15gg15TXp9eV15HXpSDXkNeZ16DXlSDXoNeq157Xmi4g15fXlden15k6IHppcCwgZ3osIHRhci4nLAoJJ0Rpcl9Ob19Xcml0ZScsICfXlNeq15nXp9eZ15Qg16nXkdeX16jXqiDXkNeZ16DXlCDXoNeZ16rXoNeqINec15vXqteZ15HXlCcsCgknRnVuY3Rpb25fRGlzYWJsZWQnLCAn15QgJXMg16TXldeg16fXpteZ15Qg15DXmdeg15Qg16TXoteZ15zXlC4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJywgJ9eU16jXkNep15XXqiDXp9eV15HXpScsCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJywgJ9ep15nXoNeV15kgJXMg15TXqNeQ16nXldeqINec15Ag16DXmdeq16DXqiDXnNei16jXmdeb15QuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCgknRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScsICfXlNeX15wg16jXp9eV16jXodeZ15HXmdeV16o/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScsICLXlNeo16nXkNeV16og16nXoNeq16DXlSDXkNeZ16DXnyDXl9eV16fXmdeV16ouIiwKCSdVc2VyJywgJ9ee16nXqtee16nXmdedJywKCSdHcm91cCcsICfXp9eR15XXpteV16onLAoJJ1llcycsICfXm9efJywKCSdObycsICfXnNeQJywKCSdMYW5nX05vdF9Gb3VuZCcsICfXnNeQINeg15nXqtefINec157XpteV15Ag15DXqiDXlNep16TXlCDXlNee15HXlden16nXqiAuJywKCSdMYW5nX0NoYW5nZScsICfXlNeX15zXoyDXqdek15QnLAoJJ0ZpbGVfTm90X0ZvdW5kJywgJ9ec15Ag16DXmdeq158g15zXkNeq16gg15DXqiDXlNen15XXkdelINeU157XkdeV16fXqS4nLAoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJywgJ9eQ15nXoNeaINee15XXqNep15Qg15wlcyDXkNeqINeU16fXldeR16UuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKCSdFZGl0JywgJ9ei16jXldeaJywKCSdFZGl0X0ZpbGUnLCAi16LXqNeV15og15DXqiDXqteV15vXnyDXlNen15XXkdelIiwKCSdGaWxlX1NhdmVfT0snLCAi15TXp9eV15HXpSDXoNep157XqCDXkdeU16bXnNeX15QgLiIsCgknRmlsZV9TYXZlX0Vycm9yJywgItep15LXmdeQ15Qg15HXoteqINep157Xmdeo16og15TXp9eV15HXpS4iLAoJJ05ld19GaWxlJyA9PiAn16fXldeR16Ug15fXk9epJywKCSdOb19FeHRlbnNpb24nID0+ICfXl9eV15HXlCDXnNem15nXmdefINeQ16og16HXmdeV157XqiDXlNen15XXkdelLicsIAoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICfXodeZ15XXnteV16og15fXlden15nXldeqOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLAoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLAoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsKCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/hr.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnT2RhYmVyaScsCgknRXJhc2UnID0+ICdPYnJpxaFpJywKCSdPcGVuJyA9PiAnT3R2b3JpJywKCSdDb25maXJtX2RlbCcgPT4gJ0plc3RlIGxpIHNpZ3VybmkgZGEgxb5lbGl0ZSBvYnJpc2F0aSBvdnUgZGF0b3Rla3U/JywKCSdBbGwnID0+ICdTdmUnLAoJJ0ZpbGVzJyA9PiAnRGF0b3Rla2UnLAoJJ0ltYWdlcycgPT4gJ1NsaWtlJywKCSdBcmNoaXZlcycgPT4gJ0tvbXByZXNpcmFuZSBhcmhpdmUnLAoJJ0Vycm9yX1VwbG9hZCcgPT4gJ0RhdG90ZWthIGtvanUgxb5lbGl0ZSBwcmVuZXN0aSBwcmVsYXppIG1heGltYWxudSBkb3B1xaF0ZW51IHZlbGnEjWludS4nLAoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0RhdG90ZWthIHMgdG9tIGVrc3Rlbnppam9tIG5pamUgZG9wdcWhdGVuYS4nLAoJJ1VwbG9hZF9maWxlJyA9PiAnUHJlbmVzaScsCgknRmlsdGVycycgPT4gJ0ZpbHRlcmknLAoJJ1ZpZGVvcycgPT4gJ1ZpZGVvIHphcGlzaScsCgknTXVzaWMnID0+ICdHbGF6YmEnLAoJJ05ld19Gb2xkZXInID0+ICdOb3ZhIG1hcGEnLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwYSBqZSB1c3BqZcWhbm8ga3JlaXJhbmEnLAoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ1Bvc3RvamXEh2EgbWFwYScsCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnSmVzdGUgbGkgc2lndXJuaSBkYSDFvmVsaXRlIG9icmlzYXRpIG92dSBtYXB1IGkgc3ZlIGRhdG90ZWtlIHUgbmpvaj8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVnJhdGkgc2UgbmEgcHJlZ2xlZCBkYXRvdGVrYScsCgknUHJldmlldycgPT4gJ1BvZ2xlZGFqJywKCSdEb3dubG9hZCcgPT4gJ1ByZXV6bWknLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ05heml2IG5vdmUgbWFwZTonLAoJJ1Jvb3QnID0+ICdwb2xhem5vJywKCSdSZW5hbWUnID0+ICdQcmVpbWVudWonLAoJJ0JhY2snID0+ICduYXRyYWcnLAoJJ1ZpZXcnID0+ICdQcmlrYXonLAoJJ1ZpZXdfbGlzdCcgPT4gJ1ByaWtheiBsaXN0ZScsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdQcmlrYXogc3R1cGFjLWxpc3RlJywKCSdWaWV3X2JveGVzJyA9PiAnUHJpa2F6IGdyaWQnLAoJJ1Rvb2xiYXInID0+ICdBbGF0bmEgdHJha2EnLAoJJ0FjdGlvbnMnID0+ICdSYWRuamEnLAoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnRGF0b3Rla2EgdmXEhyBwb3N0b2ppJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnTWFwYSB2ZcSHIHBvc3RvamknLAoJJ0VtcHR5X25hbWUnID0+ICdOYXppdiBuaWplIHVwaXNhbicsCgknVGV4dF9maWx0ZXInID0+ICdmaWx0cmlyYWogcG8gbmF6aXZ1JywKCSdTd2lwZV9oZWxwJyA9PiAnUG92dWNpdGUgcHJzdG9tIGltZSBkYXRvdGVrZSAvIG1hcGUgemEgcHJpa2F6IG1vZ3XEh25vc3RpJywKCSdVcGxvYWRfYmFzZScgPT4gJ1B1dGFuamEgZG8gbWFwZSB6YSBwcmVuZXNlbmUgZGF0b3Rla2UnLAoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQSBwcmlqZW5vcyAob2RsacSNbm8gemEgcHJpamVub3MgdmVsaWtpaCBkYXRvdGVrYSknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJBa28gc2UgSmF2YSBkb2RhdGFrIG5lIHXEjWl0YSAxLiBwcm92amVyaXRlIGltYXRlIGxpIGluc3RhbGlyYW4gSmF2YSBkb2RhdGFrIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltsaW5rIHphIHByZXV6aW1hbmplXTwvYT4gICAyLiBwcm92amVyaXRlIGRhIGZpcmV3YWxsIG5pamUgYWt0aXZpcmFuIGkgYmxva2lyYSBkb2RhdGFrIiwKCSdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiUG92dWNpdGUgaSBpc3B1c3RpdGUgZGF0b3Rla2UgaWxpIHNhbW8ga2xpa25pdGUgKG1vZGVybmkgcHJlZ2xlZG5pY2kpIHRlIG9kYWJlcml0ZSBkYXRvdGVrdShzKS4gS2FkIHByaWplbm9zIHphdnLFoWksIGtsaWtuaXRlICdOYXRyYWcgbmEgcHJlZ2xlZCBkYXRvdGVrYScgZ3VtYi4iLAoJJ1R5cGVfZGlyJyA9PiAnbWFwYScsCgknVHlwZScgPT4gJ1RpcCcsCgknRGltZW5zaW9uJyA9PiAnRGltZW56aWplJywKCSdTaXplJyA9PiAnVmVsacSNaW5hJywKCSdEYXRlJyA9PiAnRGF0dW0nLAoJJ0ZpbGVuYW1lJyA9PiAnTmF6aXYgZGF0b3Rla2UnLAoJJ09wZXJhdGlvbnMnID0+ICdSYWRuamUnLAoJJ0RhdGVfdHlwZScgPT4gJ3ktbS1kJywKCSdPSycgPT4gJ1UgcmVkdScsCgknQ2FuY2VsJyA9PiAnT2R1c3RhbmknLAoJJ1NvcnRpbmcnID0+ICdzb3J0aXJhbmplJywKCSdTaG93X3VybCcgPT4gJ3ByaWthxb5pIFVSTCcsCgknRXh0cmFjdCcgPT4gJ3Jhc3Bha2lyYWogb3ZkamUnLAoJJ0ZpbGVfaW5mbycgPT4gJ2luZm9ybWFjaWplJywKCSdFZGl0X2ltYWdlJyA9PiAndXJlZGkgc2xpa3UnLAoJJ0R1cGxpY2F0ZScgPT4gJ2tvcGlyYWonLAoJJ0ZvbGRlcnMnID0+ICdGb2xkZXJzJywKCSdDb3B5JyA9PiAnQ29weScsCgknQ3V0JyA9PiAnQ3V0JywKCSdQYXN0ZScgPT4gJ1Bhc3RlJywKCSdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkCgknUGFzdGVfSGVyZScgPT4gJ1Bhc3RlIHRvIHRoaXMgZGlyZWN0b3J5JywKCSdQYXN0ZV9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHBhc3RlIHRvIHRoaXMgZGlyZWN0b3J5PyBUaGlzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzL2ZvbGRlcnMgaWYgZW5jb3VudGVyZWQgYW55LicsCgknUGFzdGVfRmFpbGVkJyA9PiAnRmFpbGVkIHRvIHBhc3RlIGZpbGUocyknLAoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ0NsZWFyIGNsaXBib2FyZCcsCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGNsaXBib2FyZD8nLAoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ1RoZXJlIGFyZSBmaWxlcyBvbiB0aGUgY2xpcGJvYXJkLicsCgknQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ1RoZSBzZWxlY3RlZCBmaWxlcy9mb2xkZXJzIGFyZSB0b28gYmlnIHRvICVzLiBMaW1pdDogJWQgTUIvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJXMuIExpbWl0OiAlZCBmaWxlcy9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIGZpbGVzLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnQ291bGQgbm90IHNhdmUgaW1hZ2UnLAoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAnQ291bGQgbm90IGV4dHJhY3QuIEZpbGUgbWlnaHQgYmUgY29ycnVwdC4nLAoJJ1ppcF9JbnZhbGlkJyA9PiAnVGhpcyBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZC4gVmFsaWQ6IHppcCwgZ3osIHRhci4nLAoJJ0Rpcl9Ob19Xcml0ZScgPT4gJ1RoZSBkaXJlY3RvcnkgeW91IHNlbGVjdGVkIGlzIG5vdCB3cml0YWJsZS4nLAoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnVGhlICVzIGZ1bmN0aW9uIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIuJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbGUgcGVybWlzc2lvbicsCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycwoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiVGhlIHN1cHBsaWVkIHBlcm1pc3Npb24gbW9kZSBpcyBpbmNvcnJlY3QuIiwKCSdVc2VyJyA9PiAnVXNlcicsCgknR3JvdXAnID0+ICdHcm91cCcsCgknWWVzJyA9PiAnWWVzJywKCSdObycgPT4gJ05vJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIGxhbmd1YWdlLicsCgknTGFuZ19DaGFuZ2UnID0+ICdDaGFuZ2UgdGhlIGxhbmd1YWdlJywKCSdGaWxlX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAoJJ0VkaXQnID0+ICdFZGl0JywKCSdFZGl0X0ZpbGUnID0+ICJFZGl0IGZpbGUncyBjb250ZW50IiwKCSdGaWxlX1NhdmVfT0snID0+ICJGaWxlIHN1Y2Nlc3NmdWxseSBzYXZlZC4iLAoJJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIlRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBzYXZpbmcgdGhlIGZpbGUuIiwKCSdOZXdfRmlsZScgPT4gJ05ldyBGaWxlJywKCSdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLAoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdWYWxpZCBleHRlbnNpb25zOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLAoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLAoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/hu_HU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ1RhbGzDs3rDoXMnLA0KCSdFcmFzZScgPT4gJ1TDtnJsw6lzJywNCgknT3BlbicgPT4gJ01lZ255aXTDoXMnLA0KCSdDb25maXJtX2RlbCcgPT4gJ0JpenRvcyB2YWd5IGJlbm5lLCBob2d5IHTDtnJsw7ZkIGV6dCBhIGbDoWpsdD8nLA0KCSdBbGwnID0+ICfDlnNzemVzJywNCgknRmlsZXMnID0+ICdGw6FqbG9rJywNCgknSW1hZ2VzJyA9PiAnS8OpcGVrJywNCgknQXJjaGl2ZXMnID0+ICdUw7Ztw7Zyw610ZXR0JywNCgknRXJyb3JfVXBsb2FkJyA9PiAnQSBraXbDoWxhc3p0b3R0IGbDoWpsIG3DqXJldGUgdMO6bCBuYWd5IScsDQoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0EgbWVnYWRvdHQga2l0ZXJqZXN6dMOpc8WxIGbDoWpsIG5lbSBlbmdlZMOpbHllemV0dC4nLA0KCSdVcGxvYWRfZmlsZScgPT4gJ0bDoWpsIGZlbHTDtmx0w6lzZScsDQoJJ0ZpbHRlcnMnID0+ICdTesWxcsWRJywNCgknVmlkZW9zJyA9PiAnVmlkZcOzJywNCgknTXVzaWMnID0+ICdaZW5lJywNCgknTmV3X0ZvbGRlcicgPT4gJ8OaaiBtYXBwYScsDQoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwcGEgbMOpdHJlaG96dmEnLA0KCSdFeGlzdGluZ19Gb2xkZXInID0+ICdNYXBwYSBtw6FyIGzDqXRlemlrJywNCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQml6dG9zLCBob2d5IHTDtnJsw7ZkIGEga8O2bnl2dMOhcmF0IMOpcyBhbm5hayB0YXJ0YWxtw6F0PycsDQoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVmlzc3phIGEgZsOhamxsaXN0w6Fob3onLA0KCSdQcmV2aWV3JyA9PiAnRWzFkW7DqXpldCcsDQoJJ0Rvd25sb2FkJyA9PiAnTGV0w7ZsdMOpcycsDQoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ01hcHBhIG5ldmU6JywNCgknUm9vdCcgPT4gJ3Jvb3QnLA0KCSdSZW5hbWUnID0+ICfDgXRuZXZlesOpcycsDQoJJ0JhY2snID0+ICd2aXNzemEnLA0KCSdWaWV3JyA9PiAnTsOpemV0JywNCgknVmlld19saXN0JyA9PiAnTGlzdGEnLA0KCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ09zemxvcG9rJywNCgknVmlld19ib3hlcycgPT4gJ01pbmlhdMWxcsO2aycsDQoJJ1Rvb2xiYXInID0+ICdFc3prw7Z6w7ZrJywNCgknQWN0aW9ucycgPT4gJ03FsXZlbGV0ZWsnLA0KCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0EgZsOhamwgbcOhciBsw6l0ZXppaycsDQoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdBIG1hcHBhIG3DoXIgbMOpdGV6aWsnLA0KCSdFbXB0eV9uYW1lJyA9PiAnQSBuw6l2IG5pbmNzIG1lZ2FkdmEnLA0KCSdUZXh0X2ZpbHRlcicgPT4gJ3N6xbFyw6lzJywNCgknU3dpcGVfaGVscCcgPT4gJ0jDunpkIGF6IGVnZXJlZCBhIGbDoWpsL21hcHBhIG5ldsOpcmUsIGhvZ3kgbMOhc2QgYXogb3BjacOza2F0LicsDQoJJ1VwbG9hZF9iYXNlJyA9PiAnQWxhcMOpcnRlbG1lemV0dCBmZWx0w7ZsdMWRJywNCgknVXBsb2FkX2phdmEnID0+ICdKQVZBIGZlbHTDtmx0xZEgKG5hZ3ltw6lyZXTFsSBmw6FqbG9raG96KScsDQoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJIYSBhIEphdmEgQXBwbGV0IG5lbSB0w7ZsdMWRZGlrIGJlOiAxLiBlbGxlbsWRcml6emUsIGhvZ3kgYSBKQVZBIHRlbGVww610dmUgdmFuLWUsIGhhIG5pbmNzOiA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5bbGV0w7ZsdMOpc108L2E+IDIuIGVsbGVuxZFyaXp6ZSwgaG9neSBhIHTFsXpmYWwgbmVtIGJsb2trb2xqYS1lIiwNCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkZvZ2QgbWVnIMOpcyBow7p6ZCBheiBhYmxha2JhIGEgZsOhamx0IHZhZ3kga2F0dGludHMgYmVsZSDDqXMgdsOhbGFzemQga2kgbWFqZCBueW9tZCBtZWcgYSBtZWdueWl0w6FzIGdvbWJvdCAobW9kZXJuIGLDtm5nw6lzesWRaykuIEFtaWtvciBhIGZlbHTDtmx0w6lzIGJlZmVqZXrFkWTDtnR0IGthdHRpbnRzIGEgZmVudGkgZ29tYnJhIGEgdmlzc3phdMOpcsOpc2hlei4iLA0KCSdUeXBlX2RpcicgPT4gJ01hcHBhJywNCgknVHlwZScgPT4gJ1TDrXB1cycsDQoJJ0RpbWVuc2lvbicgPT4gJ0ZlbGJvbnTDoXMnLA0KCSdTaXplJyA9PiAnTcOpcmV0JywNCgknRGF0ZScgPT4gJ0TDoXR1bScsDQoJJ0ZpbGVuYW1lJyA9PiAnTsOpdicsDQoJJ09wZXJhdGlvbnMnID0+ICdNxbF2ZWxldGVrJywNCgknRGF0ZV90eXBlJyA9PiAneS1tLWQnLA0KCSdPSycgPT4gJ09LJywNCgknQ2FuY2VsJyA9PiAnTcOpZ3NlJywNCgknU29ydGluZycgPT4gJ3JlbmRlesOpcycsDQoJJ1Nob3dfdXJsJyA9PiAnVVJMIG11dGF0w6FzYScsDQoJJ0V4dHJhY3QnID0+ICdraWJvbnTDoXMgaWRlJywNCgknRmlsZV9pbmZvJyA9PiAnZsOhamwgaW5mbycsDQoJJ0VkaXRfaW1hZ2UnID0+ICdrw6lwIHN6ZXJrZXN6dMOpc2UnLA0KCSdEdXBsaWNhdGUnID0+ICdLbMOzbm96w6FzJywNCgknRm9sZGVycycgPT4gJ01hcHDDoWsnLA0KCSdDb3B5JyA9PiAnTcOhc29sw6FzJywNCgknQ3V0JyA9PiAnS2l2w6Fnw6FzJywNCgknUGFzdGUnID0+ICdCZWlsbGVzenTDqXMnLA0KCSdDQicgPT4gJ1ZMJywgLy8gY2xpcGJvYXJkDQoJJ1Bhc3RlX0hlcmUnID0+ICdCZWlsbGVzenTDqXMgZWJiZSBhIG1hcHDDoWJhLicsDQoJJ1Bhc3RlX0NvbmZpcm0nID0+ICdCaXp0b3MgdmFneSBiZW5uZSwgaG9neSBlYmJlIGEgbWFwcMOhYmEgc3plcmV0bsOpZCBiZWlsbGVzenRlbmkgYSBmw6FqbG9rYXQ/IEEgbMOpdGV6xZEgZsOhamxvay9tYXBww6FrIGZlbMO8bCBsZXN6bmVrIMOtcnZhLicsDQoJJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0EgYmVpbGxlc3p0w6lzIHNpa2VydGVsZW4hJywNCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnVsOhZ8OzbGFwIHTDtnJsw6lzZScsDQoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnQml6dG9zIHTDtnJsw7ZkIGEgdsOhZ8OzbGFwIHRhcnRhbG3DoXQ/JywNCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnRsOhamxvayB0YWzDoWxoYXTDs2FrIGEgdsOhZ8OzbGFwb24uJywNCgknQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ0Ega2l2w6FsYXN6dG90dCBmw6FqbG9rL21hcHDDoWsgdMO6bCBuYWd5b2sgYSAlc2hvei4gTGltaXQ6ICVkIE1CL23FsXZlbGV0JywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ1TDumwgc29rIGbDoWpsdCB2w6FsYXN6dG90dMOhbCBraSBhICVzaG96LiBMaW1pdDogJWQgZsOhamwvbcWxdmVsZXQnLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnQSAlcyBuZW0gZW5nZWTDqWx5ZXpldHQuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzDQoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnQSBrw6lwIG1lbnTDqXNlIHNpa2VydGVsZW4uJywNCgknWmlwX05vX0V4dHJhY3QnID0+ICdLaWNzb21hZ29sw6FzIHNpa2VydGVsZW4uIExlaGV0LCBob2d5IGtvcnJ1cHQgYSBmw6FqbC4nLA0KCSdaaXBfSW52YWxpZCcgPT4gJ0V6IGEga2l0ZXJqZXN6dMOpcyBuZW0gdMOhbW9nYXRvdHQuIFTDoW1vZ2F0b3R0OiB6aXAsIGd6LCB0YXIuJywNCgknRGlyX05vX1dyaXRlJyA9PiAnQSBraXbDoWxhc3p0b3R0IG1hcHBhIG5lbSDDrXJoYXTDsy4nLA0KCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0EgJXMgZnVua2Npw7N0IGxldGlsdG90dGEgYSBzemVydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkNCgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnRW5nZWTDqWx5ZWsnLA0KCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdBICVzIGpvZ2FpbmFrIGEgbWVndsOhbHRvenRhdMOhc2EgbmVtIGVuZ2Vkw6lseWV6ZXR0LicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycw0KCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnUmVrdXJ6w612IGJlw6FsbMOtdMOhcyBheiBhbG1hcHDDoWtyYT8nLA0KCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIkEgYmXDrXJ0IGVuZ2Vkw6lseSBuZW0gbWVnZmVsZWzFkS4iLA0KCSdVc2VyJyA9PiAnRmVsaGFzem7DoWzDsycsDQoJJ0dyb3VwJyA9PiAnQ3NvcG9ydCcsDQoJJ1llcycgPT4gJ0lnZW4nLA0KCSdObycgPT4gJ05lbScsDQoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnQSBueWVsdiBuZW0gdGFsw6FsaGF0w7MuJywNCgknTGFuZ19DaGFuZ2UnID0+ICdOeWVsdiBtZWd2w6FsdG96dGF0w6FzYScsDQoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQSBmw6FqbCBuZW0gdGFsw6FsaGF0w7MuJywNCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdOaW5jcyBqb2dvZCAlcyBhIGbDoWpsdC4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdA0KCSdFZGl0JyA9PiAnU3plcmtlc3p0w6lzJywNCgknRWRpdF9GaWxlJyA9PiAiRsOhamwgc3plcmtlc3p0w6lzZSIsDQoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkbDoWpsIHNpa2VyZXNlbiBtZW50dmUuIiwNCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiSGliYSB0w7ZydMOpbnQgYSBmw6FqbCBtZW50w6lzZSBrw7Z6YmVuLiIsDQoJJ05ld19GaWxlJyA9PiAnw5pqIGbDoWpsJywNCgknTm9fRXh0ZW5zaW9uJyA9PiAnTWVnIGtlbGwgYWRub2QgYSBmw6FqbCBraXRlcmplc3p0w6lzw6l0LicsDQoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdFbGZvZ2Fkb3R0IGtpdGVyamVzenTDqXNlazogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLg0KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsDQoNCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwNCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsDQoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwNCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLA0KCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLA0KCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLA0KCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsDQoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsDQoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLA0KCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsDQoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwNCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLA0KCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLA0KCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLA0KCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplDQoJJ0InID0+ICJCIiwNCgknS0InID0+ICJLQiIsDQoJJ01CJyA9PiAiTUIiLA0KCSdHQicgPT4gIkdCIiwNCgknVEInID0+ICJUQiIsDQoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwNCik7DQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/id.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnUGlsaWgnLAoJJ0VyYXNlJyA9PiAnSGFwdXMnLAoJJ09wZW4nID0+ICdCdWthJywKCSdDb25maXJtX2RlbCcgPT4gJ0FwYWthaCBhbmRhIHlha2luIG1lbmdoYXB1cyBiZXJrYXMgaW5pPycsCgknQWxsJyA9PiAnU2VtdWEnLAoJJ0ZpbGVzJyA9PiAnQmVya2FzJywKCSdJbWFnZXMnID0+ICdHYW1iYXInLAoJJ0FyY2hpdmVzJyA9PiAnQXJzaXAnLAoJJ0Vycm9yX1VwbG9hZCcgPT4gJ0JlcmthcyB5YW5nIGRpdWJhaCBtZWxlYmloaSBiYXRhcyB1a3VyYW4geWFuZyBkaXBlcmJvbGVoa2FuLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRWtzdGVuc2kgYmVya2FzIHRpZGFrIGRpcGVyYm9sZWhrYW4uJywKCSdVcGxvYWRfZmlsZScgPT4gJ1VuZ2dhaCcsCgknRmlsdGVycycgPT4gJ1NhcmluZycsCgknVmlkZW9zJyA9PiAnVmlkZW8nLAoJJ011c2ljJyA9PiAnTXVzaWsnLAoJJ05ld19Gb2xkZXInID0+ICdGb2xkZXIgQmFydScsCgknRm9sZGVyX0NyZWF0ZWQnID0+ICdGb2xkZXIgVGVsYWggRGlidWF0JywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdGb2xkZXIgeWFuZyBhZGEnLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0FwYWthaCBhbmRhIHlha2luIG1lbmdoYXB1cyBmb2xkZXIgZGFuIHNlbXVhIGlzaSBkaWRhbGFtbnlhPycsCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdLZW1iYWxpIGtlIGRhZnRhcicsCgknUHJldmlldycgPT4gJ1ByYXRhbXBpbCcsCgknRG93bmxvYWQnID0+ICdVbmR1aCcsCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnTWFzdWtrYW4gbmFtYSBmb2xkZXI6JywKCSdSb290JyA9PiAncm9vdCcsCgknUmVuYW1lJyA9PiAnVWJhaCBuYW1hJywKCSdCYWNrJyA9PiAna2VtYmFsaScsCgknVmlldycgPT4gJ2xpaGF0JywKCSdWaWV3X2xpc3QnID0+ICdUYW1waWxhbiBEYWZ0YXInLAoJJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVGFtcGlsYW4gRGFmdGFyIGtvbG9tJywKCSdWaWV3X2JveGVzJyA9PiAnVGFtcGlsYW4gS290YWsnLAoJJ1Rvb2xiYXInID0+ICdUb29sYmFyJywKCSdBY3Rpb25zJyA9PiAnQWtzaScsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdCZXJrYXMgU3VkYWggYWRhJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnRm9sZGVyIHN1ZGFoIGFkYScsCgknRW1wdHlfbmFtZScgPT4gJ05hbWEgS29zb25nJywKCSdUZXh0X2ZpbHRlcicgPT4gJ3NhcmluZyB0ZWtzJywKCSdTd2lwZV9oZWxwJyA9PiAnQXJhaGthbiBwYWRhIG5hbWEgYmVya2FzL2ZvbGRlciB1bnR1ayBtZWxpaGF0IHBpbGloYW4nLAoJJ1VwbG9hZF9iYXNlJyA9PiAnQmFzaXMgVW5nZ2FoJywKCSdVcGxvYWRfamF2YScgPT4gJ1VuZ2dhaGFuIGRlbmdhbiBKQVZBIChCZXJrYXMgVWt1cmFuIEJlc2FyKScsCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIkppa2EgSkFWQSBhcHBsZXQgdGlkYWsgbXVuY3VsIG1ha2EsIDEuIFBhc3Rpa2FuIEpBVkEgc3VkYWggdGVyaW5zdGFsLCBqaWthIHRpZGFrIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltkb3dubG9hZCBsaW5rXTwvYT4gICAyLiBQYXN0aWthbiBmaXJld2FsbCBhbmRhIHRpZGFrIG1lbWJsb2sgYWtzaSB0ZXJzZWJ1dCIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIlNlcmV0ICYgbGV0YWtrYW4gYmVya2FzIGF0YXUga2xpayBhcmVhIGRpIGF0YXMgKGJyb3dzZXIgdGVyYmFydSkgZGFuIHBpbGloIGJlcmthc255YS4ga2V0aWthIHByb3NlcyB1bmdnYWggc2VsZXNhaSwgS2xpayB0b21ib2wgJ0tlbWJhbGkga2UgZGFmdGFyJy4iLAoJJ1R5cGVfZGlyJyA9PiAnZGlyZWt0b3JpJywKCSdUeXBlJyA9PiAnVGlwZScsCgknRGltZW5zaW9uJyA9PiAnRGltZW5zaScsCgknU2l6ZScgPT4gJ1VrdXJhbicsCgknRGF0ZScgPT4gJ1RhbmdnYWwnLAoJJ0ZpbGVuYW1lJyA9PiAnTmFtYV9iZXJrYXMnLAoJJ09wZXJhdGlvbnMnID0+ICdPcGVyYXNpJywKCSdEYXRlX3R5cGUnID0+ICd5LW0tZCcsCgknT0snID0+ICdPSycsCgknQ2FuY2VsJyA9PiAnQ2FuY2VsJywKCSdTb3J0aW5nJyA9PiAnU29ydGlyJywKCSdTaG93X3VybCcgPT4gJ2xpaGF0IFVSTCcsCgknRXh0cmFjdCcgPT4gJ2V4dHJhY3QgZGlzaW5pJywKCSdGaWxlX2luZm8nID0+ICdpbmZvIGJlcmthcycsCgknRWRpdF9pbWFnZScgPT4gJ2VkaXQgZ2FtYmFyJywKCSdEdXBsaWNhdGUnID0+ICdEdXBsaWthdCcsCgknRm9sZGVycycgPT4gJ0ZvbGRlcnMnLAoJJ0NvcHknID0+ICdDb3B5JywKCSdDdXQnID0+ICdDdXQnLAoJJ1Bhc3RlJyA9PiAnUGFzdGUnLAoJJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLAoJJ1Bhc3RlX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGFzdGUgdG8gdGhpcyBkaXJlY3Rvcnk/IFRoaXMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMvZm9sZGVycyBpZiBlbmNvdW50ZXJlZCBhbnkuJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdGYWlsZWQgdG8gcGFzdGUgZmlsZShzKScsCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGUgY2xpcGJvYXJkPycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnVGhlcmUgYXJlIGZpbGVzIG9uIHRoZSBjbGlwYm9hcmQuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdZb3Ugc2VsZWN0ZWQgdG9vIG1hbnkgZmlsZXMvZm9sZGVycyB0byAlcy4gTGltaXQ6ICVkIGZpbGVzL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgZmlsZXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnID0+ICdDb3VsZCBub3Qgc2F2ZSBpbWFnZScsCgknWmlwX05vX0V4dHJhY3QnID0+ICdDb3VsZCBub3QgZXh0cmFjdC4gRmlsZSBtaWdodCBiZSBjb3JydXB0LicsCgknWmlwX0ludmFsaWQnID0+ICdUaGlzIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkLiBWYWxpZDogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAnVGhlIGRpcmVjdG9yeSB5b3Ugc2VsZWN0ZWQgaXMgbm90IHdyaXRhYmxlLicsCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdUaGUgJXMgZnVuY3Rpb24gaGFzIGJlZW4gZGlzYWJsZWQgYnkgdGhlIHNlcnZlci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnRmlsZSBwZXJtaXNzaW9uJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdDaGFuZ2luZyAlcyBwZXJtaXNzaW9ucyBhcmUgbm90IGFsbG93ZWQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCgknRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwcGx5IHJlY3Vyc2l2ZWx5PycsCgknRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLAoJJ1VzZXInID0+ICdVc2VyJywKCSdHcm91cCcgPT4gJ0dyb3VwJywKCSdZZXMnID0+ICdZZXMnLAoJJ05vJyA9PiAnTm8nLAoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgbGFuZ3VhZ2UuJywKCSdMYW5nX0NoYW5nZScgPT4gJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgdGhpcyBmaWxlLicsIC8vICVzID0gb3BlbiBvciBlZGl0CgknRWRpdCcgPT4gJ0VkaXQnLAoJJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGUgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAoJJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/it.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnU2VsZXppb25hJywKCSdFcmFzZScgPT4gJ0NhbmNlbGxhJywKCSdPcGVuJyA9PiAnQXByaScsCgknQ29uZmlybV9kZWwnID0+ICdTZWkgc2ljdXJvIGRpIHZvbGVyZSBjYW5jZWxsYXJlIHF1ZXN0byBmaWxlPycsCgknQWxsJyA9PiAnVHV0dGknLAoJJ0ZpbGVzJyA9PiAnRmlsZScsCgknSW1hZ2VzJyA9PiAnSW1tYWdpbmknLAoJJ0FyY2hpdmVzJyA9PiAnQXJjaGl2aScsCgknRXJyb3JfVXBsb2FkJyA9PiAnSWwgZmlsZSBjYXJpY2F0byBzdXBlcmEgaSBsaW1pdGkgaW1wb3N0aS4nLAoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0lsIHRpcG8gZGVsIGZpbGUgY2FyaWNhdG8gbm9uIMOoIHBlcm1lc3NvLicsCgknVXBsb2FkX2ZpbGUnID0+ICdDYXJpY2EnLAoJJ0ZpbHRlcnMnID0+ICdGaWx0cmknLAoJJ1ZpZGVvcycgPT4gJ1ZpZGVvJywKCSdNdXNpYycgPT4gJ011c2ljYScsCgknTmV3X0ZvbGRlcicgPT4gJ051b3ZhIENhcnRlbGxhJywKCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0NhcnRlbGxhIGNyZWF0YSBjb3JyZXR0YW1lbnRlJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdDYXJ0ZWxsYSBnacOgIGVzaXN0ZW50ZScsCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnU2VpIHNpY3VybyBkaSB2b2xlciBjYW5jZWxsYXJlIGxhIGNhcnRlbGxhIGUgdHV0dGkgaSBmaWxlIGluIGVzc2EgY29udGVudXRpPycsCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdSaXRvcm5hIGFsbGEgbGlzdGEgZGVpIGZpbGUnLAoJJ1ByZXZpZXcnID0+ICdBbnRlcHJpbWEnLAoJJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0luc2VyaXNjaSBpbCBub21lIGRlbGxhIGNhcnRlbGxhOicsCgknUm9vdCcgPT4gJ2Jhc2UnLAoJJ1JlbmFtZScgPT4gJ1Jpbm9taW5hJywKCSdCYWNrJyA9PiAnaW5kaWV0cm8nLAoJJ1ZpZXcnID0+ICdWaXN0YScsCgknVmlld19saXN0JyA9PiAnVmlzdGEgYSBsaXN0YScsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdWaXN0YSBhIGNvbG9ubmUnLAoJJ1ZpZXdfYm94ZXMnID0+ICdWaXN0YSBhIGJveCcsCgknVG9vbGJhcicgPT4gJ1Rvb2xiYXInLAoJJ0FjdGlvbnMnID0+ICdBemlvbmknLAoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnSWwgZmlsZSBlc2lzdGUgZ2nDoCcsCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0xhIGNhcnRlbGxhIGVzaXN0ZSBnacOgJywKCSdFbXB0eV9uYW1lJyA9PiAnSWwgbm9tZSDDqCB2dW90bycsCgknVGV4dF9maWx0ZXInID0+ICdmaWx0cm8gZGkgdGVzdG8nLAoJJ1N3aXBlX2hlbHAnID0+ICdFc2VndWkgdW5vIFN3aXBlIHN1bCBub21lIGRlbCBmaWxlL2NhcnRlbGxhIHBlciBtb3N0cmFyZSBsZSBvcHppb25pJywKCSdVcGxvYWRfYmFzZScgPT4gJ1VwbG9hZCBCYXNlJywKCSdVcGxvYWRfamF2YScgPT4gJ0pBVkEgdXBsb2FkIChmaWxlIGRpIGdyb3NzZSBkaW1lbnNpb25pKScsCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIlNlIG5vbiBzaSBjYXJpY2EgbCdhcHBsZXQgamF2YSAxLiBhc3NpY3VyYXRpIGRpIGF2ZXIgaW5zdGFsbGF0byBqYXZhIG5lbCBjb21wdXRlciBhbHRyaW1lbnRpIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltkb3dubG9hZCBsaW5rXTwvYT4gMi4gYXNzY3VyYXRpIGRpIG5vbiBlc3NlcmUgYmxvY2NhdG8gZGEgdW4gZmlyZXdhbGwiLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJUcmFzY2luYSBpIGZpbGUgbmVsbCdhcmVhIHN1cGVyaW9yZSBvIGNsaWNjYSBpbiBlc3NhIChwZXIgaSBtb2Rlcm5pIGJyb3dzZXIpIGFsdHJpbWVudGkgc2VsZXppb25hIGlsIGZpbGUgZSBjbGljY2Egc3VsIGJvdHRvbmUuIFF1YW5kbyBpbCBjYXJpY2FtZW50byBkZWkgZmlsZSDDqCB0ZXJtaW5hdG8gY2xpY2NhIHN1bCBib3R0b25lIGRpIHJpdG9ybm8gaW4gYWx0by4iLAoJJ1R5cGVfZGlyJyA9PiAnZGlyJywKCSdUeXBlJyA9PiAnVGlwbycsCgknRGltZW5zaW9uJyA9PiAnRGltZW5zaW9uZScsCgknU2l6ZScgPT4gJ1Blc28nLAoJJ0RhdGUnID0+ICdEYXRhJywKCSdGaWxlbmFtZScgPT4gJ05vbWUnLAoJJ09wZXJhdGlvbnMnID0+ICdPcGVyYXppb25pJywKCSdEYXRlX3R5cGUnID0+ICdkL20veScsCgknT0snID0+ICdPSycsCgknQ2FuY2VsJyA9PiAnQW5udWxsYScsCgknU29ydGluZycgPT4gJ29yZGluYScsCgknU2hvd191cmwnID0+ICdtb3N0cmEgVVJMJywKCSdFeHRyYWN0JyA9PiAnZXN0cmFpIHF1aScsCgknRmlsZV9pbmZvJyA9PiAnaW5mb3JtYXppb25pIGZpbGUnLAoJJ0VkaXRfaW1hZ2UnID0+ICdNb2RpZmljYSBpbW1hZ2luZScsCgknRHVwbGljYXRlJyA9PiAnRHVwbGljYScsCgknRm9sZGVycycgPT4gJ0NhcnRlbGxlJywKCSdDb3B5JyA9PiAnQ29waWEnLAoJJ0N1dCcgPT4gJ1RhZ2xpYScsCgknUGFzdGUnID0+ICdJbmNvbGxhJywKCSdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkCgknUGFzdGVfSGVyZScgPT4gJ0luY29sbGEgc3UgcXVlc3RhIGNhcnRlbGxhJywKCSdQYXN0ZV9Db25maXJtJyA9PiAnU2VpIHNpY3VybyBkaSB2b2xlciBpbmNvbGxhcmUgaW4gcXVlc3RhIGNhcnRlbGxhPyBRdWVzdG8gZmlsZSBzb3ZyYXNjcml2ZXLDoCBpIGZpbGUvY2FydGVsbGUgZXNpc3RlbnRpIHF1YWxcJ29yYSBjaSBmb3NzZXJvLicsCgknUGFzdGVfRmFpbGVkJyA9PiAnRXJyb3JlIG5lbGxcJ2luY29sbGFyZSBpbC9pIGZpbGUnLAoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1B1bGlzY2kgY2xpcGJvYXJkJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ1NlaSBzaWN1cm8gZGkgdm9sZXIgY2FuY2VsbGFyZSBsYSBjbGlwYm9hcmQ/JywKCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdDaSBzb25vIGZpbGUgbmVsbGEgY2xpcGJvYXJkLicsCgknQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ0kgZmlsZSBvIGNhcnRlbGxlIHNlbGV6aW9uYXRpIHNvbm8gdHJvcHBvIGdyYW5kaSBwZXIgJXMuIElsIGxpbWl0ZSDDqDogJWQgTUIvb3BlcmF6aW9uZScsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ0hhaSBzZWxlemlvbmF0byB0cm9wcGkgZmlsZS9jYXJ0ZWxsZSBkYSAlcy4gSWwgbGltaXRlIMOoOiAlZCBmaWxlL29wZXJhemlvbmUnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdOb24gaGFpIGkgcGVybWVzc2kgcGVyICVzICVzLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBzYWx2YXJlIGxcJ2ltbWFnaW5lJywKCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ05vbiBzaSBwdcOyIGVzdHJhcnJlIGlsIHBhY2NoZXR0byBwZXJjaMOoIHNlbWJyYSBjb3Jyb3R0bycsCgknWmlwX0ludmFsaWQnID0+ICdRdWVzdGEgZXN0ZW5zaW9uZSBub24gw6ggc3VwcG9ydGF0YS4gTGUgZXN0ZW5zaW9uaSB2YWxpZGUgc29ubzogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAnTGEgY2FydGVsbGEgc2VsZXppb25hdGEgbm9uIMOoIHNjcml2aWJpbGUuJywKCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0xhIGZ1bnppb25lICVzIMOoIHN0YXRhIGRpc2FiaWxpdGF0YS4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnUGVybWVzc2kgZmlsZScsCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnSWwgY2FtYmlhbWVudG8gZGVpIHBlcm1lc3NpIGRpICVzIG5vbiDDqCBwZXJtZXNzby4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbGljYSByaWNvcnNpdmFtZW50ZT8nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiTGEgbW9kYWxpdMOgIGRpIGF1dG9yaXp6YXppb25lIG5vbiDDqCBjb3JyZXR0YS4iLAoJJ1VzZXInID0+ICdVdGVudGUnLAoJJ0dyb3VwJyA9PiAnR3J1cHBvJywKCSdZZXMnID0+ICdTaScsCgknTm8nID0+ICdObycsCgknTGFuZ19Ob3RfRm91bmQnID0+ICdMYSBsaW5ndWEgbm9uIMOoIHN0YXRhIHRyb3ZhdGEuJywKCSdMYW5nX0NoYW5nZScgPT4gJ0NhbWJpYSBsYSBsaW5ndWEnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnSWwgZmlsZSBub24gw6ggc3RhdG8gdHJvdmF0by4nLAoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnTm9uIGhhaSBpbCBwZXJtZXNzbyBkaSAlcyBxdWVzdG8gZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAoJJ0VkaXQnID0+ICdNb2RpZmljYScsCgknRWRpdF9GaWxlJyA9PiAiTW9kaWZpY2EgaWwgY29udGVudXRvIGRpIHF1ZXN0byBmaWxlIiwKCSdGaWxlX1NhdmVfT0snID0+ICJJbCBmaWxlIMOoIHN0YXRvIHNhbHZhdG8gY29uIHN1Y2Nlc3NvLiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiQyfDqCBzdGF0byB1biBlcnJvcmUgbmVsIHNhbHZhdGFnZ2lvIGRlbCBmaWxlLiIsCgknTmV3X0ZpbGUnID0+ICdOdW92byBmaWxlJywKCSdOb19FeHRlbnNpb24nLCJOb24gaGFpIGluc2VyaXRvIGwnZXN0ZW5zaW9uZSBkZWwgZmlsZS4iLAoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdFc3RlbnNpb25pIHZhbGlkZTogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgoJJ1VwbG9hZF9tZXNzYWdlJyA9PiAiVHJhc2NpbmEgcXVpIGkgZmlsZSBwZXIgbCd1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJFUlJPUkUgREVMIFNFUlZFUiIsCgknZm9yYmlkZW4nID0+ICJQcm9pYml0byIsCgknd3JvbmcgcGF0aCcgPT4gIlBhdGggZXJyYXRvIiwKCSd3cm9uZyBuYW1lJyA9PiAiTm9tZSBlcnJhdG8iLAoJJ3dyb25nIGV4dGVuc2lvbicgPT4gIkVzdGVuc2lvbmUgZXJyYXRhIiwKCSd3cm9uZyBvcHRpb24nID0+ICJPcHppb25lIGVycmF0YSIsCgknd3JvbmcgZGF0YScgPT4gIkRhdG8gZXJyYXRvIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJBemlvbmUgZXJyYXRhIiwKCSd3cm9uZyBzdWItYWN0aW9uJyA9PiAiU290dG8tYXppb25lIGVycmF0YSIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5lc3N1bmEgYXppb25lIHBhc3NhdGEiLAoJJ25vIHBhdGgnID0+ICJOZXNzdW4gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5lc3N1biBmaWxlIiwKCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJNYW5jYSBpbCBudW1lcm8gZGVsIHRpcG8gZGkgdmlzdGEiLAoJJ05vdCBlbm91Z2h0IE1lbW9yeScgPT4gIk5vbiBjJ8OoIGFiYmFzdGFuemEgbWVtb3JpYSBwZXIgcHJvY2Vzc2FyZSIsCgknbWF4X3NpemVfcmVhY2hlZCcgPT4gIkxhIHR1YSBjYXJ0ZWxsYSBoYSByYWdnaXVudG8gaWwgbWFzc2ltbyBzcGF6aW8gZGlzcG9uaWJpbGUgZGkgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIkRpbS4gdG90YWxlIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/ja.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAn6YG45oqeJywKCSdFcmFzZScgPT4gJ+a2iOWOuycsCgknT3BlbicgPT4gJ+mWi+OBjycsCgknQ29uZmlybV9kZWwnID0+ICfjgZPjga7jg5XjgqHjgqTjg6vjgpLliYrpmaTjgZfjgb7jgZnjgYs/JywKCSdBbGwnID0+ICflhajjgaYnLAoJJ0ZpbGVzJyA9PiAn44OV44Kh44Kk44OrJywKCSdJbWFnZXMnID0+ICfjgqTjg6Hjg7zjgrgnLAoJJ0FyY2hpdmVzJyA9PiAn44Ki44O844Kr44Kk44OWJywKCSdFcnJvcl9VcGxvYWQnID0+ICfjgqLjg4Pjg5fjg63jg7zjg4nlj6/og73jgarmnIDlpKfjgrXjgqTjgrrjgpLotoXjgYjjgabjgYTjgb7jgZnjgIInLAoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ+aLoeW8teWtkOOBjOioseWPr+OBleOCjOOBpuOBhOOBvuOBm+OCk+OAgicsCgknVXBsb2FkX2ZpbGUnID0+ICfjgqLjg4Pjg5fjg63jg7zjg4knLAoJJ0ZpbHRlcnMnID0+ICfjg5XjgqPjg6vjgr8nLAoJJ1ZpZGVvcycgPT4gJ+ODk+ODh+OCqicsCgknTXVzaWMnID0+ICfpn7Pmpb0nLAoJJ05ld19Gb2xkZXInID0+ICfmlrDopo/jg5Xjgqnjg6vjg4AnLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAn44OV44Kp44Or44OA44KS5L2c5oiQ44GX44G+44GX44GfJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICflrZjlnKjjgZnjgovjg5Xjgqnjg6vjg4AnLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ+ODleOCqeODq+ODgOOBqOODleOCqeODq+ODgOOBruS4rei6q+OCkuWJiumZpOOBl+OBvuOBmeOBiz8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn44OV44Kh44Kk44Or44Gu5LiA6Kan44Gr5oi744KLJywKCSdQcmV2aWV3JyA9PiAn44OX44Os44OT44Ol44O8JywKCSdEb3dubG9hZCcgPT4gJ+ODgOOCpuODs+ODreODvOODiScsCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAn44OV44Kp44Or44OA5ZCN44Gu6L+95YqgJywKCSdSb290JyA9PiAn44Or44O844OIJywKCSdSZW5hbWUnID0+ICflkI3np7DlpInmm7QnLAoJJ0JhY2snID0+ICfmiLvjgosnLAoJJ1ZpZXcnID0+ICfjg5Pjg6Xjg7wnLAoJJ1ZpZXdfbGlzdCcgPT4gJ+S4gOimp+ihqOekuicsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICfjgqvjg6njg6DooajnpLonLAoJJ1ZpZXdfYm94ZXMnID0+ICfjg5zjg4Pjgq/jgrnooajnpLonLAoJJ1Rvb2xiYXInID0+ICfjg4Tjg7zjg6vjg5Djg7wnLAoJJ0FjdGlvbnMnID0+ICfjgqLjgq/jgrfjg6fjg7MnLAoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAn44GT44Gu44OV44Kh44Kk44Or44Gv44GZ44Gn44Gr5a2Y5Zyo44GX44Gm44GE44G+44GZ44CCJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAn44GT44Gu44OV44Kp44Or44OA44Gv44GZ44Gn44Gr5a2Y5Zyo44GX44Gm44GE44G+44GZ44CCJywKCSdFbXB0eV9uYW1lJyA9PiAn5ZCN5YmN44GM56m644Gn44GZJywKCSdUZXh0X2ZpbHRlcicgPT4gJ+ODhuOCreOCueODiOODleOCo+ODq+OCvycsCgknU3dpcGVfaGVscCcgPT4gJ+ODleOCoeOCpOODq+ODu+ODleOCqeODq+ODgOWQjeOCkuOCueODr+OCpOODl+OBl+OBpuOCquODl+OCt+ODp+ODs+OCkuihqOekuuOBmeOCiycsCgknVXBsb2FkX2Jhc2UnID0+ICfmqJnmupbjgqLjg4Pjg5fjg63jg7zjg4knLAoJJ1VwbG9hZF9qYXZhJyA9PiAnSmF2YSDjgqLjg4Pjg5fjg63jg7zjg4kgKOWkp+OBjeOBhOODleOCoeOCpOODq+OCteOCpOOCuiknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJKYXZh44CAQXBwbGV0IOOBjOODreODvOODieWHuuadpeOBquOBhOWgtOWQiO+8ke+8jjxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltkb3dubG9hZCBsaW5rXTwvYT4g44Kk44Oz44K544OI44O844Or44GX44Gm44GP44Gg44GV44GE44CC44CAMu+8juODleOCoeOCpOOCouOCpuOCqeODvOODq+OBp+ODluODreODg+OCr+OBleOCjOOBpuOBhOOBquOBhOOBk+OBqOOCkueiuuiqjeOBl+OBpuOBj+OBoOOBleOBhOOAgiIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIuODleOCoeOCpOODq+OCkuODieODqeODg+OCsO+8huODieODreODg+ODl++8iOODouODgOODs+ODluODqeOCpuOCtuOBruOBv++8ieOBvuOBn+OBr+S4iuOBrumgmOWfn+OCkuOCr+ODquODg+OCr+OBl+OBpuODleOCoeOCpOODq+OCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAguOCouODg+ODl+ODreODvOODieOBjOWujOS6huOBl+OBn+OCieOAjOODleOCoeOCpOODq+OBruS4gOimp+OBq+aIu+OCi+OAjeODnOOCv+ODs+OCkuOCr+ODquODg+OCr+OBl+OBpuOBj+OBoOOBleOBhOOAgiIsCgknVHlwZV9kaXInID0+ICfjg4fjgqPjg6zjgq/jg4jjg6onLAoJJ1R5cGUnID0+ICfnqK7poZ4nLAoJJ0RpbWVuc2lvbicgPT4gJ+eUu+WDj+OCteOCpOOCuicsCgknU2l6ZScgPT4gJ+OCteOCpOOCuicsCgknRGF0ZScgPT4gJ+aXpeS7mCcsCgknRmlsZW5hbWUnID0+ICfjg5XjgqHjgqTjg6vlkI0nLAoJJ09wZXJhdGlvbnMnID0+ICfmk43kvZwnLAoJJ0RhdGVfdHlwZScgPT4gJ1kvbS9kJywKCSdPSycgPT4gJ09LJywKCSdDYW5jZWwnID0+ICfjgq3jg6Pjg7Pjgrvjg6snLAoJJ1NvcnRpbmcnID0+ICfjgr3jg7zjg4gnLAoJJ1Nob3dfdXJsJyA9PiAnVVJM6KGo56S6JywKCSdFeHRyYWN0JyA9PiAn44GT44GT44Gr6Kej5YeNJywKCSdGaWxlX2luZm8nID0+ICfjg5XjgqHjgqTjg6vmg4XloLEnLAoJJ0VkaXRfaW1hZ2UnID0+ICfnlLvlg4/nt6jpm4YnLAoJJ0R1cGxpY2F0ZScgPT4gJ+ikh+ijvScsCgknRm9sZGVycycgPT4gJ+ODleOCqeODq+ODgCcsCgknQ29weScgPT4gJ+OCs+ODlOODvCcsCgknQ3V0JyA9PiAn44Kr44OD44OIJywKCSdQYXN0ZScgPT4gJ+ODmuODvOOCueODiCcsCgknQ0InID0+ICfjgq/jg6rjg4Pjg5fjg5zjg7zjg4knLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAn44GT44Gu44OH44Kj44Os44Kv44OI44Oq44Gr44Oa44O844K544OI44GZ44KLJywKCSdQYXN0ZV9Db25maXJtJyA9PiAn44GT44Gu44OH44Kj44Os44Kv44OI44Oq44Gr44Oa44O844K544OI44GX44G+44GZ44GL77yf5pei5a2Y44Gu44OV44Kh44Kk44OrL+ODleOCqeODq+ODgOOBr+S4iuabuOOBjeOBleOCjOOBvuOBmeOAgicsCgknUGFzdGVfRmFpbGVkJyA9PiAn44Oa44O844K544OI44Gn44GN44G+44Gb44KT44Gn44GX44Gf44CCJywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICfjgq/jg6rjg4Pjg5fjg5zjg7zjg4njga7mtojljrsnLAoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAn44Kv44Oq44OD44OX44Oc44O844OJ5YaF44Gu44OH44O844K/44KS5raI5Y6744GX44G+44GZ44GLPycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAn44Kv44Oq44OD44OX44Oc44O844OJ44Gr44OV44Kh44Kk44Or44GM44GC44KK44G+44GZ44CCJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAn6YG45oqe44GX44Gf44OV44Kh44Kk44Or44GML+ODleOCqeODq+ODgOOCku+8hXPjgZnjgovjgavjga/lpKfjgY3jgZnjgY7jgb7jgZnjgIIg44Oq44Of44OD44OIOiAlZCBNQi/mk43kvZwnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICfpgbjmip7jgZfjgZ/jg5XjgqHjgqTjg6vjgYwv44OV44Kp44Or44OA44KS77yFc+OBmeOCi+OBq+OBr+Wkp+OBjeOBmeOBjuOBvuOBmeOAgiDjg6rjg5/jg4Pjg4g6ICVkIOODleOCoeOCpOODqy/mk43kvZwnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICfjg5XjgqHjgqTjg6vjgpIgJXMg44GZ44KL6Kix5Y+v44GM44GC44KK44G+44Gb44KT44CCJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnID0+ICfjgqTjg6Hjg7zjgrjjgpLkv53lrZjjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8nLAoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAn6Kej5YeN44Gn44GN44G+44Gb44KT44Gn44GX44Gf44CC44OV44Kh44Kk44Or44GM56C05pCN44GX44Gm44GE44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZ44CCJywKCSdaaXBfSW52YWxpZCcgPT4gJ+aLoeW8teWtkOOBjOOCteODneODvOODiOOBleOCjOOBpuOBvuOBm+OCk+OAguacieWKue+8muOAgHppcCwgZ3osIHRhci4nLAoJJ0Rpcl9Ob19Xcml0ZScgPT4gJ+mBuOaKnuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquOBq+abuOOBjei+vOOBv+aoqemZkOOBjOOBguOCiuOBvuOBm+OCkycsCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICclcyDjga/jgrXjg7zjg5DjgavjgojjgaPjgabnhKHlirnjgavjgZXjgozjgabjgYTjgb7jgZnjgIInLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAn44OV44Kh44Kk44Or44Gu5qip6ZmQJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICclcyDjga7mqKnpmZDlpInmm7Tjga/oqLHlj6/jgZXjgozjgabjgYTjgb7jgZvjgpPjgIInLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAn5YaF5YyF44GZ44KL44OV44Kh44Kk44Or44Gr6YGp55So44GX44G+44GZ44GLPycsCgknRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICLkvpvntabjgZXjgozjgZ/mqKnpmZDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpPjgIIiLAoJJ1VzZXInID0+ICfjg6bjg7zjgrbjg7wnLAoJJ0dyb3VwJyA9PiAn44Kw44Or44O844OXJywKCSdZZXMnID0+ICfjga/jgYQnLAoJJ05vJyA9PiAn44GE44GE44GIJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ+iogOiqnuOBjOOBv+OBpOOBi+OCiuOBvuOBm+OCk+OBp+OBl+OBn+OAgicsCgknTGFuZ19DaGFuZ2UnID0+ICfoqIDoqp7jga7lpInmm7QnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAn6KiA6Kqe44OV44Kh44Kk44Or44GM44G/44Gk44GL44KK44G+44Gb44KT44Gn44GX44Gf44CCJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ+OBk+OBruODleOCoeOCpOODq+OCkiVz44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44Gf44CCJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKCSdFZGl0JyA9PiAn57eo6ZuG44GZ44KLJywKCSdFZGl0X0ZpbGUnID0+ICLjg5XjgqHjgqTjg6vjgpLnt6jpm4YiLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIuODleOCoeOCpOODq+OBruS/neWtmOOBjOWujOS6huOBl+OBvuOBl+OBn+OAgiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAi44OV44Kh44Kk44Or44Gu5L+d5a2Y5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44Gf44CCIiwKCSdOZXdfRmlsZScgPT4gJ+aWsOimj+ODleOCoeOCpOODqycsCgknTm9fRXh0ZW5zaW9uJyA9PiAn44OV44Kh44Kk44Or44Gu5ouh5by15a2Q44KS5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CCJywKCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAn5pyJ5Yq544Gq5ouh5by15a2QOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLAoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLAoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/languages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknYXpfQVonID0+ICdBesmZcmJheWNhbiBkaWxpJywKCSdiZ19CRycgPT4gJ9Cx0YrQu9Cz0LDRgNGB0LrQuCDQtdC30LjQuicsCgknY2EnID0+ICdDYXRhbMOgLCB2YWxlbmNpw6AnLAoJJ2NzJyA9PiAnxI1lxaF0aW5hLCDEjWVza8O9IGphenlrJywKCSdkYScgPT4gJ0RhbnNrJywKCSdkZScgPT4gJ0RldXRzY2gnLAoJJ2VsX0dSJyA9PiAnzrXOu867zrfOvc65zrrOrCcsCgknZW5fRU4nID0+ICdFbmdsaXNoJywKCSdlcycgPT4gJ0VzcGHDsW9sJywKCSdmYScgPT4gJ9mB2KfYsdiz24wnLAoJJ2ZyX0ZSJyA9PiAnRnJhbsOnYWlzJywKCSdoZScgPT4gJ9ei15HXqNeZ16onLAoJJ2hyJyA9PiAnSHJ2YXRza2kgamV6aWsnLAoJJ2h1X0hVJyA9PiAnTWFneWFyJywKCSdpZCcgPT4gJ0JhaGFzYSBJbmRvbmVzaWEnLAoJJ2hlX0lMJyA9PiAnSGVicmV3IChJc3JhZWwpJywKCSdpdCcgPT4gJ0l0YWxpYW5vJywKCSdqYScgPT4gJ+aXpeacrCcsCgknbHQnID0+ICdMaWV0dXZpxbMga2FsYmEnLAoJJ21uX01OJyA9PiAn0LzQvtC90LPQvtC7JywKCSduYl9OTycgPT4gJ05vcnNrIGJva23DpWwnLAoJJ25sJyA9PiAnTmVkZXJsYW5kcywgVmxhYW1zJywKCSdwbCcgPT4gJ0rEmXp5ayBwb2xza2ksIHBvbHN6Y3p5em5hJywKCSdwdF9CUicgPT4gJ1BvcnR1Z3XDqnMoQnJhemlsKScsCgkncHRfUFQnID0+ICdQb3J0dWd1w6pzJywKCSdydScgPT4gJ1DRg9GB0YHQutC40Lkg0Y/Qt9GL0LonLAoJJ3NrJyA9PiAnU2xvdmVuxI1pbmEnLAoJJ3NsJyA9PiAnU2xvdmVuc2tpIGplemlrJywKCSdzdl9TRScgPT4gJ1N2ZW5za2EnLAoJJ3RyX1RSJyA9PiAnVMO8cmvDp2UnLAoJJ3VrX1VBJyA9PiAnWdC60YDQsNGX0L3RgdGM0LrQsCDQvNC+0LLQsCcsCgkndmknID0+ICdUaeG6v25nIFZp4buHdCcsCgknemhfQ04nID0+ICfkuK3mlocgKFpoxY1uZ3fDqW4pLCDmsYnor60sIOa8ouiqnicsCgoJLy8gc291cmNlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfSVNPXzYzOS0xX2NvZGVzCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/lt.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnUGFzaXJpbmt0aScsCgknRXJhc2UnID0+ICdJxaF0cmludGknLAoJJ09wZW4nID0+ICdBdGlkYXJ5dGknLAoJJ0NvbmZpcm1fZGVsJyA9PiAnQXIgdGlrcmFpIG5vcml0ZSBpxaF0cmludGkgxaHEryBmYWlsxIU/JywKCSdBbGwnID0+ICdWaXNpJywKCSdGaWxlcycgPT4gJ0ZhaWxhaScsCgknSW1hZ2VzJyA9PiAnTnVvdHJhdWtvcycsCgknQXJjaGl2ZXMnID0+ICdBcmNoeXZhaScsCgknRXJyb3JfVXBsb2FkJyA9PiAnRmFpbG8gZHlkaXMgdmlyxaFpamEgbnVzdGF0eXTEhSBsaW1pdMSFLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnVG9rcyBmYWlsbyBmb3JtYXRhcyB5cmEgbmVnYWxpbWFzLicsCgknVXBsb2FkX2ZpbGUnID0+ICfErmtlbHRpIGZhaWx1cycsCgknRmlsdGVycycgPT4gJ0ZpbHRydW90aScsCgknVmlkZW9zJyA9PiAnVmlkZW8gZmFpbGFpJywKCSdNdXNpYycgPT4gJ011emlrYScsCgknTmV3X0ZvbGRlcicgPT4gJ1N1a3VydGkga2F0YWxvZ8SFJywKCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0thdGFsb2dhcyBzxJdrbWluZ2FpIHN1a3VydGFzJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdFZ3ppc3R1b2phbnRpcyBrYXRhbG9nYXMnLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0FyIHRpa3JhaSBub3JpdGUgacWhdHJpbnRpIMWhxK8ga2F0YWxvZ8SFIHN1IHZpc2FpcyBqYW1lIGVzYW7EjWlhaXMgZmFpbGFpcz8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnR3LEr8W+dGkgxK8gZmFpbMWzIHPEhXJhxaHEhScsCgknUHJldmlldycgPT4gJ1BlcsW+acWrcsSXdGknLAoJJ0Rvd25sb2FkJyA9PiAnQXRzaXNpxbNzdGknLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0thdGFsb2dvIHBhdmFkaW5pbWFzOicsCgknUm9vdCcgPT4gJ3Jvb3QnLAoJJ1JlbmFtZScgPT4gJ1BlcnZhZGludGknLAoJJ0JhY2snID0+ICdncsSvxb50aScsCgknVmlldycgPT4gJ1JvZHltYXMnLAoJJ1ZpZXdfbGlzdCcgPT4gJ1PEhXJhxaFhcycsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdTdHVscGVsaWFpJywKCSdWaWV3X2JveGVzJyA9PiAnVGlua2xlbGlzJywKCSdUb29sYmFyJyA9PiAnxK5yYW5racWzIGp1b3N0YScsCgknQWN0aW9ucycgPT4gJ1ZlaWtzbWFpJywKCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ1Rva3MgZmFpbGFzIGphdSB5cmEgc3VrdXJ0YXMnLAoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdUb2tzIGthdGFsb2dhcyBqYXUgeXJhIHN1a3VydGFzJywKCSdFbXB0eV9uYW1lJyA9PiAnUGF2YWRpbmltYXMgbmVnYWxpIGLFq3RpIHR1xaHEjWlhcycsCgknVGV4dF9maWx0ZXInID0+ICdpZcWha290aScsCgknU3dpcGVfaGVscCcgPT4gJ1RlbXBraXRlIGZhaWxvL2thdGFsb2dvIHBhdmFkaW5pbcSFLCBrYWQgcGFtYXR5dHVtxJd0ZSBpbmZvcm1hY2lqxIUnLAoJJ1VwbG9hZF9iYXNlJyA9PiAnUGFncmluZGluaXMgxK9rxJdsaW1hcycsCgknVXBsb2FkX2phdmEnID0+ICdKQVZBIMSva8SXbGltYXMgKGRpZGVsaWVtcyBmYWlsYW1zKScsCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIkplaSBKQVZBIHBsxJd0aW55cyBuZXXFvnNpa3JhdW5hIMSvc2l0aWtpbmtpdGUsIGthZDogMS4gZXNhdGUgaW5zdGFsaWF2xJkgSkFWQSwga2l0dSBhdHZlanUgPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+W2F0c2lzacWzc2tpdGVdPC9hPiAgIDIuIMSuc2l0aWtpbmtpdGUsIGthZCBqxatzxbMgdWduaWFzaWVuxJcgbmVibG9rdW9qYSIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIlRlbXBraXRlIGlyIHBhbGVpc2tpdGUgacWhIGtvbXBpdXRlcmlvIGZhaWx1cyBhcmJhIHNwYXVza2l0ZSBpciBwYXNpcmlua2l0ZSwga8SFIMSva2VsdGkuIEthaSDEr2vEl2xpbWFzIGJ1cyBiYWlndGFzLCBzcGF1c2tpdGUgJ0dyxK/FvnRpIMSvIGZhaWzFsyBzxIVyYcWhxIUnLiIsCgknVHlwZV9kaXInID0+ICdkaXInLAoJJ1R5cGUnID0+ICdUaXBhcycsCgknRGltZW5zaW9uJyA9PiAnTWF0bWVueXMnLAoJJ1NpemUnID0+ICdEeWRpcycsCgknRGF0ZScgPT4gJ0RhdGEnLAoJJ0ZpbGVuYW1lJyA9PiAnUGF2YWRpbmltYXMnLAoJJ09wZXJhdGlvbnMnID0+ICdPcGVyYWNpam9zJywKCSdEYXRlX3R5cGUnID0+ICdZLW0tZCcsCgknT0snID0+ICdHZXJhaScsCgknQ2FuY2VsJyA9PiAnQXTFoWF1a3RpJywKCSdTb3J0aW5nJyA9PiAncmlraXVvdGknLAoJJ1Nob3dfdXJsJyA9PiAncm9keXRpIG51b3JvZMSFJywKCSdFeHRyYWN0JyA9PiAnScWhdHJhdWt0aSDEjWlhJywKCSdGaWxlX2luZm8nID0+ICdGYWlsbyBpbmZvcm1hY2lqYScsCgknRWRpdF9pbWFnZScgPT4gJ3JlZGFndW90aSBudW90cmF1a8SFJywKCSdEdXBsaWNhdGUnID0+ICdTdWt1cnRpIGtvcGlqxIUnLAoJJ0ZvbGRlcnMnID0+ICdLYXRhbG9nYWknLAoJJ0NvcHknID0+ICdLb3BpanVvdGknLAoJJ0N1dCcgPT4gJ0nFoWtpcnB0aScsCgknUGFzdGUnID0+ICfErmtsaWp1b3RpJywKCSdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkCgknUGFzdGVfSGVyZScgPT4gJ8Sua2xpanVvdGkgZGFiYXJ0aW5pYW1lIGthdGFsb2dlJywKCSdQYXN0ZV9Db25maXJtJyA9PiAnQXIgdGlrcmFpIG5vcml0ZSDEr2tsaWp1b3RpIMSvIMWhxK8ga2F0YWxvZ8SFPyBWaXNpIGZhaWxhaS9rYXRhbG9nYWkgdG9raWFpcyBwYcSNaWFpcyBwYXZhZGluaW1haXMgYnVzIHBlcnJhxaF5dGkuJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdOZXBhdnlrbyDEr2tsaWp1b3RpJywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdJxaF2YWx5dGkgacWha2FycGluxJknLAoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnQXIgdGlrcmFpIG5vcml0ZSBpxaF2YWx5dGkgacWha2FycGluxJk/JywKCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdJxaFrYXJwaW7El2plIHlyYSBmYWlsxbMuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnUGFzaXJpbmt0aSBmYWlsYWkva2F0YWxvZ2FpIHlyYSBwZXIgZGlkZWxpIGF0bGlrdGkgIiVzIiBvcGVyYWNpamFpLiBMaW1pdGFzOiAlZCBNQicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ1Bhc2lyaW5rb3RlIHBlciBkYXVnIGZhaWzFsy9rYXRhbG9nxbMgYXRsaWt0aSAiJXMiIG9wZXJhY2lqYWkuIExpbWl0YXM6ICVkIGZhaWzFsy9rYXRhbG9nxbMnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdKxatzIG5ldHVyaXRlIHRlaXNpxbMgYXRsaWt0aSAiJXMiIGZ1bmtjaWpvcyBmYWlsYW1zLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnTmVwYXZ5a28gacWhc2F1Z290aSBudW90cmF1a29zJywKCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ05lcGF2eWtvIGnFoXRyYXVrdGkuIEZhaWxhcyBnYWxpIGLFq3RpIHN1Z2FkaW50YXMuJywKCSdaaXBfSW52YWxpZCcgPT4gJ1Rva3MgZm9ybWF0YXMgeXJhIG5lbGVpZMW+aWFtYXMuIEdhbGltaSBmb3JtYXRhaTogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAnS2F0YWxvZ2FzLCBrdXLEryBwYXNpcmlua290ZSBuZXR1cmkgxK9yYcWheW1vIHRlaXNpxbMuJywKCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0Z1bmtjaWphICIlcyIgxaFpYW1lIHNlcnZlcnlqZSB5cmEgacWhanVuZ3RhLicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsCgknVXNlcicgPT4gJ1VzZXInLAoJJ0dyb3VwJyA9PiAnR3JvdXAnLAoJJ1llcycgPT4gJ1llcycsCgknTm8nID0+ICdObycsCgknTGFuZ19Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLAoJJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlIHRoZSBsYW5ndWFnZScsCgknRmlsZV9Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgZmlsZS4nLAoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKCSdFZGl0JyA9PiAnRWRpdCcsCgknRWRpdF9GaWxlJyA9PiAiRWRpdCBmaWxlJ3MgY29udGVudCIsCgknRmlsZV9TYXZlX09LJyA9PiAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwKCSdGaWxlX1NhdmVfRXJyb3InID0+ICJUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBmaWxlLiIsCgknTmV3X0ZpbGUnID0+ICdOZXcgRmlsZScsCgknTm9fRXh0ZW5zaW9uJyA9PiAnWW91IGhhdmUgdG8gYWRkIGEgZmlsZSBleHRlbnNpb24uJywKCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgoJJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKCSdmb3JiaWRlbicgPT4gIkZvcmJpZGVuIiwKCSd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLAoJJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsCgknd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwKCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsCgknd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwKCSd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwKCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsCgknbm8gcGF0aCcgPT4gIk5vIHBhdGgiLAoJJ25vIGZpbGUnID0+ICJObyBmaWxlIiwKCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLAoJJ05vdCBlbm91Z2h0IE1lbW9yeScgPT4gIk5vdCBlbm91Z2h0IE1lbW9yeSIsCgknbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQoJJ0InID0+ICJCIiwKCSdLQicgPT4gIktCIiwKCSdNQicgPT4gIk1CIiwKCSdHQicgPT4gIkdCIiwKCSdUQicgPT4gIlRCIiwKCSd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/mn_MN.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ9Ch0L7QvdCz0L7RhScsDQoJJ0VyYXNlJyA9PiAn0KPRgdGC0LPQsNGFJywNCgknT3BlbicgPT4gJ9Cd0Y3RjdGFJywNCgknQ29uZmlybV9kZWwnID0+ICfQotCwINGN0L3RjSDRhNCw0LnQu9GL0LMg0YPRgdGC0LPQsNGF0LTQsNCwINC40YLQs9GN0LvRgtGN0Lkg0LHQsNC50L3QsCDRg9GDPycsDQoJJ0FsbCcgPT4gJ9CR0q/Qs9C0JywNCgknRmlsZXMnID0+ICfQpNCw0LnQu9GD0YPQtCcsDQoJJ0ltYWdlcycgPT4gJ9CX0YPRgNCw0LPQvdGD0YPQtCcsDQoJJ0FyY2hpdmVzJyA9PiAn0JDRgNGF0LjQstC70LDQs9C00YHQsNC9INGE0LDQudC70YPRg9C0JywNCgknRXJyb3JfVXBsb2FkJyA9PiAn0KXRg9GD0LvRgdCw0L0g0YTQsNC50Lsg0LfTqdCy0YjTqdOp0YDTqdCz0LTTqdGFINGF0Y3QvNC20Y3RjdC90Y3RjdGBINC40YUg0LHQsNC50L3QsC4nLA0KCSdFcnJvcl9leHRlbnNpb24nID0+ICfQpNCw0LnQu9GL0L0g06nRgNCz06nRgtCz06nRhSDQt9Op0LLRiNOp06nRgNOp0LPQtNOp06nQs9Kv0LkuJywNCgknVXBsb2FkX2ZpbGUnID0+ICfQpdGD0YPQu9Cw0YUnLA0KCSdGaWx0ZXJzJyA9PiAn0KjSr9Kv0LvRgtKv0q/RgNKv0q/QtCcsDQoJJ1ZpZGVvcycgPT4gJ9CR0LjRh9C70Y3Qs9C90q/Sr9C0JywNCgknTXVzaWMnID0+ICfQlNGD0YPQvdGD0YPQtCcsDQoJJ05ld19Gb2xkZXInID0+ICfQqNC40L3RjSDRhdCw0LLRgtCw0YEnLA0KCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ9Cl0LDQstGC0LDRgSDQsNC80LbQuNC70YLRgtCw0Lkg0q/Sr9GB0LvRjdGNJywNCgknRXhpc3RpbmdfRm9sZGVyJyA9PiAn0JTQsNCy0YXQsNGA0LTRgdCw0L0g0YXQsNCy0YLQsNGBJywNCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAn0KXQsNCy0YLQsNGBINCx0L7Qu9C+0L0g0LTQvtGC0L7RgNGFINCx0q/RhSDRhNCw0LnQu9GD0YPQtNGL0LMg0YPRgdGC0LPQsNGF0LTQsNCwINC40YLQs9GN0LvRgtGN0Lkg0LHQsNC50L3QsCDRg9GDPycsDQoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn0KTQsNC50LvRi9C9INC20LDQs9GB0LDQsNC70YIg0YDRg9GDINCx0YPRhtCw0YUnLA0KCSdQcmV2aWV3JyA9PiAn0KPRgNGM0LTRh9C40LvQsNC9INGF0LDRgNCw0YUnLA0KCSdEb3dubG9hZCcgPT4gJ9Ci0LDRgtCw0LYg0LDQstCw0YUnLA0KCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICfQpdCw0LLRgtCw0YHQvdGLINC90Y3RgNC40LnQsyDQvtGA0YPRg9C70L3QsCDRg9GDOicsDQoJJ1Jvb3QnID0+ICdyb290JywNCgknUmVuYW1lJyA9PiAn0J3RjdGA0LvRjdGFJywNCgknQmFjaycgPT4gJ9Cx0YPRhtCw0YUnLA0KCSdWaWV3JyA9PiAn0q7Qt9GN0YUnLA0KCSdWaWV3X2xpc3QnID0+ICfQltCw0LPRgdCw0LDQu9GC0LDQsNGAINGF0LDRgNCw0YUnLA0KCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ9CR0LDQs9Cw0L3QsNCw0YAg0YXQsNGA0LDRhScsDQoJJ1ZpZXdfYm94ZXMnID0+ICfQpdCw0LnRgNGG0LPQsNCw0YAg0YXQsNGA0LDRhScsDQoJJ1Rvb2xiYXInID0+ICfQotC+0LLRh9C40LvRgdC+0L0g0YLQvtCy0YfQvdGD0YPQtCcsDQoJJ0FjdGlvbnMnID0+ICfSrtC50LvQtNGN0LsnLA0KCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ9Ck0LDQudC7INCw0LvRjCDRhdGN0LTQuNC50L3RjSDSr9Kv0YHRgdGN0L0g0LHQsNC50L3QsCcsDQoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICfQpdCw0LLRgtCw0YEg0LDQu9GMINGF0Y3QtNC40LnQvdGNINKv0q/RgdGN0L0g0LHQsNC50L3QsCcsDQoJJ0VtcHR5X25hbWUnID0+ICfQndGN0YAg0YXQvtC+0YHQvtC9INCx0LDQudC90LAnLA0KCSdUZXh0X2ZpbHRlcicgPT4gJ9GC0LXQutGB0YLRjdC9INGI0q/Sr9C70YLSr9Kv0YAnLA0KCSdTd2lwZV9oZWxwJyA9PiAn0KTQsNC50Lsv0KXQsNCy0YLQsNGB0L3RiyDQvdGN0YDQuNC50LMg0YLQvtCy0YjQvtC+0LQg0YLQvtGF0LjRgNCz0L7QvtCzINGF0LDRgNC90LAg0YPRgycsDQoJJ1VwbG9hZF9iYXNlJyA9PiAn0K3QvdCz0LjQudC90Y3RjdGAINGF0YPRg9C70LDRhScsDQoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQS3Qs9Cw0LDRgCDRhdGD0YPQu9Cw0YUgKNC40YUg0YXRjdC80LbRjdGN0YLRjdC5INGE0LDQudC7KScsDQoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICLQpdGN0YDRjdCyIEphdmEgQXBwbGV0INGD0L3RiNC40YXQs9Kv0Lkg0LHQvtC7IDEuIEphdmEg0YHRg9GD0YHQsNC9INGN0YHRjdGF0LjQudCzINGI0LDQu9Cz0LDQvdCwINGD0YMsINKv0LPSr9C5INCx0L7QuyA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5b0Y3QvdC00Y3RjdGBINGC0LDRgtCw0LYg0LDQstC90LAg0YPRg108L2E+ICAgMi4g0JPQsNC70YIg0YXQsNC90LAg0LTRjdGN0YAg0YXQsNCw0LvRgiDRhdC40LnRgdGN0L0g0Y3RgdGN0YXQuNC50LMg0YjQsNC70LPQsNC90LAg0YPRgyIsDQoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICLQpdGD0YPQu9Cw0YUg0YXRjdGB0Y3QsyDQtNGN0Y3RgCDRhNCw0LnQu9GL0LMg0LfTqdOp0LYg0YLQsNCy0LjRhSDQsdC+0LvQvtC9INC00Y3RjdGAINC90Ywg0LTQsNGA0LYg0YXRg9GD0LvQtiDQsdC+0LvQvdC+ICjQvtGA0YfQuNC9INKv0LXQuNC50L0g0YXTqdGC06nRhyDQtNGN0Y3RgCkuINCl0YPRg9C70LYg0LTRg9GD0YHRgdCw0L0g0LHQvtC7ICfQpNCw0LnQu9GL0L0g0LbQsNCz0YHQsNCw0LvRgiDRgNGD0YMg0LHRg9GG0LDRhScg0YLQvtCy0YfQuNC9INC00Y3RjdGAINC00LDRgNC90LAg0YPRgy4iLA0KCSdUeXBlX2RpcicgPT4gJ2RpcicsDQoJJ1R5cGUnID0+ICfQotOp0YDTqdC7JywNCgknRGltZW5zaW9uJyA9PiAn0KXQsNGA0YzRhtCw0LAnLA0KCSdTaXplJyA9PiAn0KXRjdC80LbRjdGNJywNCgknRGF0ZScgPT4gJ9Ce0LPQvdC+0L4nLA0KCSdGaWxlbmFtZScgPT4gJ9Ck0LDQudC70YvQvSDQvdGN0YAnLA0KCSdPcGVyYXRpb25zJyA9PiAn0q7QudC70LTRjdC70q/Sr9C0JywNCgknRGF0ZV90eXBlJyA9PiAneS1tLWQnLA0KCSdPSycgPT4gJ9Ce0JonLA0KCSdDYW5jZWwnID0+ICfQkdGD0YbQsNGFJywNCgknU29ydGluZycgPT4gJ9GN0YDRjdC80LHRjdC70Y3RhScsDQoJJ1Nob3dfdXJsJyA9PiAnVVJMLdCzINGF0LDRgNCw0YUnLA0KCSdFeHRyYWN0JyA9PiAn0Y3QvdC0INC30LDQtNC70LAnLA0KCSdGaWxlX2luZm8nID0+ICfRhNCw0LnQu9GL0L0g0LzRjdC00Y3RjdC70Y3QuycsDQoJJ0VkaXRfaW1hZ2UnID0+ICfQt9GD0YDQsNCzINC30LDRgdCy0LDRgNC70LDRhScsDQoJJ0R1cGxpY2F0ZScgPT4gJ9CU0LDQstGF0LDRgNC00YPRg9C70LDRhScsDQoJJ0ZvbGRlcnMnID0+ICdGb2xkZXJzJywNCgknQ29weScgPT4gJ0NvcHknLA0KCSdDdXQnID0+ICdDdXQnLA0KCSdQYXN0ZScgPT4gJ1Bhc3RlJywNCgknQ0InID0+ICdDQicsIC8vIGNsaXBib2FyZA0KCSdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLA0KCSdQYXN0ZV9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHBhc3RlIHRvIHRoaXMgZGlyZWN0b3J5PyBUaGlzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzL2ZvbGRlcnMgaWYgZW5jb3VudGVyZWQgYW55LicsDQoJJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0ZhaWxlZCB0byBwYXN0ZSBmaWxlKHMpJywNCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywNCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGNsaXBib2FyZD8nLA0KCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdUaGVyZSBhcmUgZmlsZXMgb24gdGhlIGNsaXBib2FyZC4nLA0KCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJXMuIExpbWl0OiAlZCBmaWxlcy9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyBmaWxlcy4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMNCgknQXZpYXJ5X05vX1NhdmUnID0+ICdDb3VsZCBub3Qgc2F2ZSBpbWFnZScsDQoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAnQ291bGQgbm90IGV4dHJhY3QuIEZpbGUgbWlnaHQgYmUgY29ycnVwdC4nLA0KCSdaaXBfSW52YWxpZCcgPT4gJ1RoaXMgZXh0ZW5zaW9uIGlzIG5vdCBzdXBwb3J0ZWQuIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywNCgknRGlyX05vX1dyaXRlJyA9PiAnVGhlIGRpcmVjdG9yeSB5b3Ugc2VsZWN0ZWQgaXMgbm90IHdyaXRhYmxlLicsDQoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnVGhlICVzIGZ1bmN0aW9uIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIuJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLA0KCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdDaGFuZ2luZyAlcyBwZXJtaXNzaW9ucyBhcmUgbm90IGFsbG93ZWQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzDQoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLA0KCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsDQoJJ1VzZXInID0+ICdVc2VyJywNCgknR3JvdXAnID0+ICdHcm91cCcsDQoJJ1llcycgPT4gJ1llcycsDQoJJ05vJyA9PiAnTm8nLA0KCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIGxhbmd1YWdlLicsDQoJJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlIHRoZSBsYW5ndWFnZScsDQoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywNCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdA0KCSdFZGl0JyA9PiAnRWRpdCcsDQoJJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLA0KCSdGaWxlX1NhdmVfT0snID0+ICJGaWxlIHN1Y2Nlc3NmdWxseSBzYXZlZC4iLA0KCSdGaWxlX1NhdmVfRXJyb3InID0+ICJUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBmaWxlLiIsDQoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLA0KCSdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLA0KCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLg0KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsDQoNCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwNCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsDQoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwNCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLA0KCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLA0KCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLA0KCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsDQoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsDQoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLA0KCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsDQoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwNCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLA0KCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLA0KCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLA0KCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplDQoJJ0InID0+ICJCIiwNCgknS0InID0+ICJLQiIsDQoJJ01CJyA9PiAiTUIiLA0KCSdHQicgPT4gIkdCIiwNCgknVEInID0+ICJUQiIsDQoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwNCik7DQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnVmVsZycsCgknRXJhc2UnID0+ICdTbGV0dCcsCgknT3BlbicgPT4gJ8OFcG5lJywKCSdDb25maXJtX2RlbCcgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHNsZXR0ZSBkZW5uZSBmaWxlbj8nLAoJJ0FsbCcgPT4gJ0FsbGUnLAoJJ0ZpbGVzJyA9PiAnRmlsZXInLAoJJ0ltYWdlcycgPT4gJ0JpbGRlcicsCgknQXJjaGl2ZXMnID0+ICdBcmtpdicsCgknRXJyb3JfVXBsb2FkJyA9PiAnRGVuIG9wcGxhc3RlZGUgZmlsZW4gb3ZlcnNrcmlkZXIgbWFrc2ltYWwgdGlsbGF0dCBzdMO4cnJlbHNlLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRmlsdHlwZW4gZXIgaWtrZSB0aWxsYXR0LicsCgknVXBsb2FkX2ZpbGUnID0+ICdMYXN0IG9wcCBmaWwnLAoJJ0ZpbHRlcnMnID0+ICdGaWx0ZXInLAoJJ1ZpZGVvcycgPT4gJ1ZpZGVvZXInLAoJJ011c2ljJyA9PiAnTXVzaWtrJywKCSdOZXdfRm9sZGVyJyA9PiAnTnkgbWFwcGUnLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwcGUgb3BwcmV0dGV0JywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdFa3Npc3RlcmVuZGUgbWFwcGUnLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHNsZXR0ZSBtYXBwZW4gb2cgYWx0IGlubmhvbGRldD8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVGlsYmFrZSB0aWwgZmlsb3ZlcnNpa3RlbicsCgknUHJldmlldycgPT4gJ0ZvcmjDpW5kc3Zpc25pbmcnLAoJJ0Rvd25sb2FkJyA9PiAnTGFzdCBuZWQnLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0dpIG1hcHBlbiBldCBuYXZuOicsCgknUm9vdCcgPT4gJ1JvdCcsCgknUmVuYW1lJyA9PiAnR2kgbnl0dCBuYXZuJywKCSdCYWNrJyA9PiAnVGlsYmFrZScsCgknVmlldycgPT4gJ1Zpc25pbmcnLAoJJ1ZpZXdfbGlzdCcgPT4gJ0xpc3RldmlzbmluZycsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdTaWRlIHZlZCBzaWRlJywKCSdWaWV3X2JveGVzJyA9PiAnQm9rc3Zpc25pbmcnLAoJJ1Rvb2xiYXInID0+ICdWZXJrdMO4eWxpbmplJywKCSdBY3Rpb25zJyA9PiAnR2rDuHJlbcOlbCcsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdGaWxlbiBlciBhbGxlcmVkZSBvcHByZXR0ZXQnLAoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdNYXBwZW4gZXIgYWxsZXJlZGUgb3BwcmV0dGV0JywKCSdFbXB0eV9uYW1lJyA9PiAnVG9tdCBuYXZuJywKCSdUZXh0X2ZpbHRlcicgPT4gJ1Rla3N0LWZpbHRlcicsCgknU3dpcGVfaGVscCcgPT4gJ1N2ZWlwIGZpbG5hdm5ldC9tYXBwZW5hdm5ldCBmb3Igw6UgdmlzZSBhbHRlcm5hdGl2ZXInLAoJJ1VwbG9hZF9iYXNlJyA9PiAnVmFubGlnIG9wcGxhc3RpbmcnLAoJJ1VwbG9hZF9qYXZhJyA9PiAnSmF2YS1vcHBsYXN0aW5nIChzdG9yZSBmaWxlciknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJIdmlzIGphdmEtYXBwbGV0ZW4gaWtrZSBsYXN0ZXM6IDEuIFNqZWtrIG9tIEphdmEgZXIgaW5zdGFsbGVydCwgaHZpcyBpa2tlIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPmxhc3QgbmVkIEphdmE8L2E+IDIuIFNqZWtrIGJyYW5ubXVyLWlubnN0aWxsaW5nZW5lLiIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkRyYSBvZyBzbGlwcCBmaWxlbihlKSBpIG9tcsOlZGV0IG92ZXIgZWxsZXIga2xpa2sgKHZpcmtlciBmb3IgbW9kZXJuZSBuZXR0bGVzZXJlKS4gVmVkIGJydWsgYXYgZ2FtbWVsIG5ldHRsZXNlcjogVmVsZyBmaWxlbiBvZyBrbGlrayBww6Uga25hcHBlbi4gTsOlciBvcHBsYXN0aW5nZW4gZXIgZmVyZGlnLCBrbGlrayBww6UgdGlsYmFrZS1rbmFwcGVuIMO4dmVyc3QuIiwKCSdUeXBlX2RpcicgPT4gJ01hcHBlJywKCSdUeXBlJyA9PiAnVHlwZScsCgknRGltZW5zaW9uJyA9PiAnRGltZW5zam9uZXInLAoJJ1NpemUnID0+ICdTdMO4cnJlbHNlJywKCSdEYXRlJyA9PiAnRGF0bycsCgknRmlsZW5hbWUnID0+ICdGaWxuYXZuJywKCSdPcGVyYXRpb25zJyA9PiAnSGFuZGxpbmdlcicsCgknRGF0ZV90eXBlJyA9PiAnZC5tLnknLAoJJ09LJyA9PiAnT0snLAoJJ0NhbmNlbCcgPT4gJ0F2YnJ5dCcsCgknU29ydGluZycgPT4gJ1NvcnRlcmluZycsCgknU2hvd191cmwnID0+ICdWaXMgVVJMJywKCSdFeHRyYWN0JyA9PiAnUGFrayB1dCBoZXInLAoJJ0ZpbGVfaW5mbycgPT4gJ0ZpbC1pbmZvJywKCSdFZGl0X2ltYWdlJyA9PiAnUmVkaWdlciBiaWxkZScsCgknRHVwbGljYXRlJyA9PiAnRHVwbGlrYXQnLAoJJ0ZvbGRlcnMnID0+ICdNYXBwZXInLAoJJ0NvcHknID0+ICdLb3BpZXInLAoJJ0N1dCcgPT4gJ0tsaXBwIHV0JywKCSdQYXN0ZScgPT4gJ0xpbSBpbm4nLAoJJ0NCJyA9PiAnVXRrbGlwcHN0YXZsZScsIC8vIGNsaXBib2FyZAoJJ1Bhc3RlX0hlcmUnID0+ICdMaW0gaW5uIGkgZGVubmUgbWFwcGVuJywKCSdQYXN0ZV9Db25maXJtJyA9PiAnRXIgZHUgc2lra2VyIHDDpSBhdCBkdSB2aWwgbGltZSBpbm4gaSBkZW5uZSBtYXBwZW4/IERldHRlIHZpbCBvdmVyc2tyaXZlIGV2ZW50dWVsbGUgZWtzaXN0ZXJlbmRlIGZpbGVyIGVsbGVyIG1hcHBlci4nLAoJJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0xpbSBpbm4gZmVpbGV0JywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdUw7htIHV0a2xpcHBzdGF2bGVuJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0VyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIHTDuG1tZSB1dGtsaXBwc3Rhdmxlbj8nLAoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ0RlciBlciBmaWxlciBww6UgdXRrbGlwcHN0YXZsZW4uJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnRGUgdmFsZ3RlIGZpbGVuZS9tYXBwZW5lIGVyIGZvciBzdG9yZSBmb3IgJXMuIEdyZW5zZTogJWQgTUIvb3BlcmFzam9uJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnRHUgdmFsZ3RlIGZvciBtYW5nZSBmaWxlci9tYXBwZXIgZm9yICVzLiBHcmVuc2U6ICVkIGZpbGVyL29wZXJhc2pvbicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ0R1IGhhciBpa2tlIGxvdiB0aWwgw6UgJXMgZmlsZXIuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnID0+ICdLdW5uZSBpa2tlIGxhZ3JlIGJpbGRldCcsCgknWmlwX05vX0V4dHJhY3QnID0+ICdLdW5uZSBpa2tlIHBha2tlIHV0LiBGaWxlbiBlciBtdWxpZ2VucyDDuGRlbGFndC4nLAoJJ1ppcF9JbnZhbGlkJyA9PiAnRGV0dGUgZmlsZXR0ZXJuYXZuZXQgZXIgaWtrZSBzdMO4dHRldC4gR3lsZGlnZSBmaWxlcjogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAnTWFwcGVuIGR1IHZhbGd0ZSBlciBpa2tlIHNrcml2YmFyLicsCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdGdW5rc2pvbmVuICVzIGVyIGJsaXR0IGRlYWt0aXZlcnQgYXYgc2VydmVyZW4uJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbHJldHRpZ2hldGVyJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdGb3JhbmRyaW5nIGF2ICVzIHJldHRpZ2hldGVyIGVyIGlra2UgdGlsbGF0dC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnVXRmw7hyIHJla3Vyc2l2dD8nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiRmlscmV0dGlnaGV0ZW4gZXIgZmVpbC4iLAoJJ1VzZXInID0+ICdCcnVrZXInLAoJJ0dyb3VwJyA9PiAnR3J1cHBlJywKCSdZZXMnID0+ICdKYScsCgknTm8nID0+ICdOZWknLAoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnS3VubmUgaWtrZSBmaW5uZSBzcHLDpWsuJywKCSdMYW5nX0NoYW5nZScgPT4gJ0ZvcmFuZHJlIHNwcsOlaycsCgknRmlsZV9Ob3RfRm91bmQnID0+ICdGYW50IGlra2UgZmlsZW4uJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ0R1IGhhciBpa2tlIHRpbGxhdGVsc2UgdGlsIMOlICVzIGRlbm5lIGZpbGVuLicsIC8vICVzID0gb3BlbiBvciBlZGl0CgknRWRpdCcgPT4gJ1JlZGlnZXInLAoJJ0VkaXRfRmlsZScgPT4gIlJlZGlnZXIgZmlsZW5zIGlubmhvbGQiLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGVuIGJsZSBsYWdyZXQuIiwKCSdGaWxlX1NhdmVfRXJyb3InID0+ICJEZXQgb3Bwc3RvZCBlbiBmZWlsIG7DpXIgZmlsZW4gYmxlIGxhZ3JldC4iLAoJJ05ld19GaWxlJyA9PiAnTnkgZmlsJywKCSdOb19FeHRlbnNpb24nID0+ICdEdSBtw6UgbGVnZ2UgdGlsIGV0IGZpbC1ldHRlcm5hdm4uJywKCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnR3lsZGlnZSBmaWwtZXR0ZXJuYXZuOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLAoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLAoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/nl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnU2VsZWN0ZXJlbicsCgknRXJhc2UnID0+ICdWZXJ3aWpkZXJlbicsCgknT3BlbicgPT4gJ09wZW5lbicsCgknQ29uZmlybV9kZWwnID0+ICdXZWV0IHUgemVrZXIgZGF0IHUgZGl0IGJlc3RhbmQgd2lsdCB2ZXJ3aWpkZXJlbj8nLAoJJ0FsbCcgPT4gJ0FsbGVzIFdlZXJnZXZlbicsCgknRmlsZXMnID0+ICdCZXN0YW5kZW4nLAoJJ0ltYWdlcycgPT4gJ0FmYmVlbGRpbmdlbicsCgknQXJjaGl2ZXMnID0+ICdBcmNoaWV2ZW4nLAoJJ0Vycm9yX1VwbG9hZCcgPT4gJ0hldCBiZXN0YW5kIG92ZXJzY2hyaWpkdCBkZSBtYXhpbXVtIHRvZWdlc3RhbmUgZ3Jvb3R0ZS4nLAoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0Jlc3RhbmQgZXh0ZW5zaWUgaXMgbmlldCB0b2VnZXN0YWFuJywKCSdVcGxvYWRfZmlsZScgPT4gJ0Jlc3RhbmQgdXBsb2FkZW4nLAoJJ0ZpbHRlcnMnID0+ICdGaWx0ZXInLAoJJ1ZpZGVvcycgPT4gJ1ZpZGVvcycsCgknTXVzaWMnID0+ICdNdXppZWsnLAoJJ05ld19GaWxlJyA9PiAnTmlldXcgYmVzdGFuZCcsCgknTmV3X0ZvbGRlcicgPT4gJ05pZXV3ZSBtYXAnLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnTWFwIGFhbmdlbWFha3QnLAoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0Jlc3RhYW5kZSBtYXAnLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIG1hcCBlbiBhbGxlIGJlc3RhbmRlbiBoaWVyaW4gd2lsdCB2ZXJ3aWpkZXJlbj8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnVGVydWcgbmFhciBiZXN0YW5kZW4nLAoJJ1ByZXZpZXcnID0+ICdWb29yYmVlbGQnLAoJJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ01hcCBuYWFtOicsCgknUm9vdCcgPT4gJ3Jvb3QnLAoJJ1JlbmFtZScgPT4gJ0hlcm5vZW1lbicsCgknQmFjaycgPT4gJ1RlcnVnJywKCSdWaWV3JyA9PiAnV2VlcmdhdmUnLAoJJ1ZpZXdfbGlzdCcgPT4gJ0xpanN0IHdlZXJnYXZlJywKCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ0tvbG9tLWxpanN0IHdlZXJnYXZlJywKCSdWaWV3X2JveGVzJyA9PiAnVGVnZWwgd2VlcmdhdmUnLAoJJ1Rvb2xiYXInID0+ICdXZXJrYmFsaycsCgknQWN0aW9ucycgPT4gJ0FjdGllcycsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdIZXQgYmVzdGFuZCBiZXN0YWF0IGFsJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnRGUgbWFwIGJlc3RhYXQgYWwnLAoJJ0VtcHR5X25hbWUnID0+ICdEZSBiZXN0YW5kc25hYW0gaXMgbGVlZycsCgknVGV4dF9maWx0ZXInID0+ICdab2VrZW4uLi4nLAoJJ1N3aXBlX2hlbHAnID0+ICdTd2lwZSBvdmVyIGRlIG5hYW0gdmFuIGVlbiBiZXN0YW5kIG9mIG1hcCBvbSBvcHRpZXMgdGUgemllbicsCgknVXBsb2FkX2Jhc2UnID0+ICdTdGFuZGFhcmQgdXBsb2FkZXInLAoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQSB1cGxvYWQgKHZvb3IgZ3JvdGUgYmVzdGFuZGVuKScsCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIkFscyBkZSBKYXZhIEFwcGxldCBuaWV0IGxhYWR0OiAxLiBIZWVmdCB1IEpBVkEgZ2VpbnN0YWxsZWVyZD8gWm8gbmlldCwgZG93bmxvYWQgaGV0IGhpZXI6IDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPmphdmEuY29tL2VuL2Rvd25sb2FkLzwvYT4gMi4gV2VlcyBlciB6ZWtlciB2YW4gZGF0IGRlIGZpcmV3YWxsIGRlemUgYWN0aWUgYWNjZXB0ZWVydCIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIktsaWsgZW4gc2xlZXAgKG1lZXJkZXJlKSBiZXN0YW5kZW4gdmFuYWYgdXcgY29tcHV0ZXIgbmFhciBoZXQgXCJEcm9wIGZpbGVzXCIgdmxhayBoaWVyYm92ZW4gb20gYmVzdGFuZGVuIHRvZSB0ZSB2b2VnZW4uPGJyLz4gT29rIGlzIGhldCBtb2dlbGlqayBvbSBpbiBlZW4gZGlhbG9vZ3ZlbnN0ZXIgKG1lZXJkZXJlKSBiZXN0YW5kZW4gdGUgc2VsZWN0ZXJlbiwga2xpayBoaWVydm9vciBvcCBcIkRyb3AgZmlsZXNcIjxici8+PGJyLz48aT5BbHMgYWxsZSB1cGxvYWRzIHZvbHRvb2lkIHppam4ga3VudCB1IHRlcnVna2VyZW4gbWV0IGRlIGtub3AgXCJUZXJ1ZyBuYWFyIGJlc3RhbmRlblwiPC9pPiIsCgknVHlwZV9kaXInID0+ICdtYXAnLAoJJ1R5cGUnID0+ICdUeXBlJywKCSdEaW1lbnNpb24nID0+ICdBZm1ldGluZ2VuJywKCSdTaXplJyA9PiAnR3Jvb3R0ZScsCgknRGF0ZScgPT4gJ0RhdHVtJywKCSdGaWxlbmFtZScgPT4gJ05hYW0nLAoJJ09wZXJhdGlvbnMnID0+ICdCZXdlcmtpbmdlbicsCgknRGF0ZV90eXBlJyA9PiAnZC1tLXknLAoJJ09LJyA9PiAnT0snLAoJJ0NhbmNlbCcgPT4gJ0FubnVsZXJlbicsCgknU29ydGluZycgPT4gJ1NvcnRlcmVuIG9wJywKCSdTaG93X3VybCcgPT4gJ1Rvb24gVVJMJywKCSdFeHRyYWN0JyA9PiAnSGllciB1aXRwYWtrZW4nLAoJJ0ZpbGVfaW5mbycgPT4gJ0Jlc3RhbmRzLWluZm8nLAoJJ0VkaXRfaW1hZ2UnID0+ICdBZmJlZWxkaW5nIGJld2Vya2VuJywKCSdEdXBsaWNhdGUnID0+ICdEdXBsaWNlcmVuJywKCSdGb2xkZXJzJyA9PiAnRm9sZGVycycsCgknQ29weScgPT4gJ0tvcGnDq3JlbicsCgknQ3V0JyA9PiAnS25pcHBlbicsCgknUGFzdGUnID0+ICdQbGFra2VuJywKCSdDQicgPT4gJ0tsZW1ib3JkJywgLy8gY2xpcGJvYXJkCgknUGFzdGVfSGVyZScgPT4gJ0hpZXIgcGxha2tlbicsCgknUGFzdGVfQ29uZmlybScgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBpbiBkZXplIG1hcCB3aWx0IHBsYWtrZW4/IERpdCBvdmVyc2NocmlqZnQgbWFwcGVuL2Jlc3RhbmRlbiBtZXQgZGV6ZWxmZGUgbmFhbSBpbmRpZW4gZGV6ZSB2b29ya29tZW4uJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdOaWV0IGdlbHVrdCBkZSBiZXN0YW5kZW4gdGUgcGxha2tlbicsCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnV2lzIGtsZW1ib3JkJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ1dlZXQgdSB6ZWtlciBkYXQgdSBoZXQga2xlbWJvcmQgd2lsdCB3aXNzZW4/JywKCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdFciBzdGFhbiBiZXN0YW5kZW4gb3AgaGV0IGtsZW1ib3JkLicsCgknQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ0RlIGdlc2VsZWN0ZWVyZGUgbWFwcGVuL2Jlc3RhbmRlbiB6aWpuIHRlIGdyb290IG9tIHRlICVzLiBNYXhpbWFhbDogJWQgTUIvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnZXIgemlqbiB0ZXZlZWwgbWFwcGVuL2Jlc3RhbmRlbiBnZXNlbGVjdGVlcmQgb20gdGUgJXMuIE1heGltYWFsOiAlZCBmaWxlcy9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdIZXQgaXMgbmlldCB0b2VnZXN0YWFuIGJlc3RhbmRlbiB0ZSAlcy4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKCSdBdmlhcnlfTm9fU2F2ZScgPT4gJ0thbiBkZSBhZmJlZWxkaW5nIG5pZXQgb3BzbGFhbicsCgknWmlwX05vX0V4dHJhY3QnID0+ICdLYW4gbmlldCB1aXRwYWtrZW4uIEJlc3RhbmQgaXMgd2VsbGljaHQgYmVzY2hhZGlndC4nLAoJJ1ppcF9JbnZhbGlkJyA9PiAnRGV6ZSBleHRlbnNpZSBpcyBuaWV0IHRvZWdlc3RhYW4uIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywKCSdEaXJfTm9fV3JpdGUnID0+ICdEZSBnZXNlbGVjdGVlcmRlIG1hcCBpcyBuaWV0IGJlc2NocmlqZmJhYXIuJywKCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ0RlIGZ1bmN0aWUgJXMgaXMgdWl0Z2VzY2hha2VsZCBkb29yIGRlIHNlcnZlci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnUmVjaHRlbicsCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQWFucGFzc2VuIHZhbiBkZSByZWNodGVuIHZhbiAlcyBpcyBuaWV0IHRvZWdlc3RhYW4uJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCgknRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ1RvZXBhc3NlbiB2b29yIGFsbGVzIGJpbm5lbiBkZXplIG1hcD8nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiRGUgZ2V3ZW5zdGUgcmVjaHRlbiB6aWpuIG5pZXQganVpc3QuIiwKCSdVc2VyJyA9PiAnR2VicnVpa2VyJywKCSdHcm91cCcgPT4gJ0dyb2VwJywKCSdZZXMnID0+ICdKYScsCgknTm8nID0+ICdOZWUnLAoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnS2FuIGRlIHRhYWwgbmlldCB2aW5kZW4uJywKCSdMYW5nX0NoYW5nZScgPT4gJ1ZlcmFuZGVyIGRlIHRhYWwnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnS2FuIGhldCBiZXN0YW5kIG5pZXQgdmluZGVuLicsCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdKZSBiZW50IG5pZXQgYmV2b2VnZCBkaXQgYmVzdGFuZCB0ZSAlcy4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAoJJ0VkaXQnID0+ICdCZXdlcmtlbicsCgknRWRpdF9GaWxlJyA9PiAiQmV3ZXJrdCBkZSBpbmhvdWQgdmFuIGRpdCBiZXN0YW5kIiwKCSdGaWxlX1NhdmVfT0snID0+ICJCZXN0YW5kIGlzIG9wZ2VzbGFnZW4uIiwKCSdGaWxlX1NhdmVfRXJyb3InID0+ICJFciBpcyBlZW4gZm91dCBvcGdldHJlZGVuIHRpamRlbnMgaGV0IG9wc2xhYW4gdmFuIGhldCBiZXN0YW5kLiIsCgknTm9fRXh0ZW5zaW9uJyA9PiAnSmUgbW9ldCBlZW4gYmVzdGFuZHMtZXh0ZW5zaWUgdG9ldm9lZ2VuLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ0dlbGRpZ2UgZXh0ZW5zaWVzOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLAoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLAoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/pl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnV3liaWVyeicsCgknRXJhc2UnID0+ICdVc3XFhCcsCgknT3BlbicgPT4gJ090d8OzcnonLAoJJ0NvbmZpcm1fZGVsJyA9PiAnQ3p5IGplc3RlxZsgcGV3aWVuLCDFvGUgY2hjZXN6IHVzdW7EhcSHIHRlbiBwbGlrPycsCgknQWxsJyA9PiAnV3N6eXN0a2llJywKCSdGaWxlcycgPT4gJ1BsaWtpJywKCSdJbWFnZXMnID0+ICdaZGrEmWNpYScsCgknQXJjaGl2ZXMnID0+ICdBcmNoaXdhJywKCSdFcnJvcl9VcGxvYWQnID0+ICdQbGlrIHByemVrcmFjemEgbWFrc3ltYWxueSBkb3p3b2xvbnkgcm96bWlhci4nLAoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ05pZWRvendvbG9uZSByb3pzemVyemVuaWUgcGxpa3UuJywKCSdVcGxvYWRfZmlsZScgPT4gJ1dncmFqIHBsaWsnLAoJJ0ZpbHRlcnMnID0+ICdGaWx0ciB3aWRva3UnLAoJJ1ZpZGVvcycgPT4gJ0ZpbG15JywKCSdNdXNpYycgPT4gJ011enlrYScsCgknTmV3X0ZvbGRlcicgPT4gJ05vd3kgZm9sZGVyJywKCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0ZvbGRlciB6b3N0YcWCIHV0d29yem9ueSBwb3ByYXduaWUnLAoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0lzdG5pZWrEhWN5IGZvbGRlcicsCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQ3p5IGplc3RlxZsgcGV3aWVuLCDFvGUgY2hjZXN6IHVzdW7EhcSHIGZvbGRlciBpIHdzenlzdGtvIGNvIHpuYWpkdWplIHNpxJnCoHcgbmltPycsCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdQb3dyw7N0IGRvIGxpc3R5IHBsaWvDs3cnLAoJJ1ByZXZpZXcnID0+ICdQb2RnbMSFZCcsCgknRG93bmxvYWQnID0+ICdQb2JpZXJ6JywKCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdQb2RhaiBuYXp3xJkgZm9sZGVydTonLAoJJ1Jvb3QnID0+ICdyb290JywKCSdSZW5hbWUnID0+ICdabWllxYQgbmF6d8SZJywKCSdCYWNrJyA9PiAnWy4uXScsCgknVmlldycgPT4gJ1dpZG9rJywKCSdWaWV3X2xpc3QnID0+ICdMaXN0YScsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdLb2x1bW5vd3knLAoJJ1ZpZXdfYm94ZXMnID0+ICdCbG9rb3d5JywKCSdUb29sYmFyJyA9PiAnUGFzZWsnLAoJJ0FjdGlvbnMnID0+ICdPcGNqZScsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdUZW4gcGxpayBqdcW8IHR1dGFqIHVtaWVzemN6b25vJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnVGVuIGZvbGRlciBqdcW8IHR1dGFqIHV0d29yem9ubycsCgknRW1wdHlfbmFtZScgPT4gJ05pZSBwb2Rhbm8gd3ltYWdhbmVqIG5hend5JywKCSdUZXh0X2ZpbHRlcicgPT4gJ3dwaXN6IHR4dCcsCgknU3dpcGVfaGVscCcgPT4gJ0tsaWtuaWogdyBuYXp3xJkgcGxpa3UvZm9sZGVydSBieSB3ecWbd2lldGxpxIcgZG9zdMSZcG5lIG9wY2plJywKCSdVcGxvYWRfYmFzZScgPT4gJ1dncnl3YW5pZSBzdGFuZGFyZG93ZScsCgknVXBsb2FkX2phdmEnID0+ICdXZ3J5d2FuaWUgcHJ6ZXogc2tyeXB0eSBKUyAoZGxhIGR1xbx5Y2ggcGxpa8OzdyknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJKZcW8ZWxpIHRlbiBhcGxldCBKUyBuaWUgcG93b2R1amUgd2dyeXdhbmlhIDEuIFNwcmF3ZMW6IGN6eSBtYXN6IHBvYnJhbsSFIGkgdXJ1Y2hvbWlvbsSFIG9ic8WCdWfEmSBza3J5cHTDs3cgdyBKQVZBIG5hIHN0cm9uaWUgSkFWQSA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5bcG9iaWVyel08L2E+IDIuIFVwZXduaWogc2nEmSwgxbxlIG5pZSBqZXN0IHRvIGJsb2thZGEgd3luaWthasSFY2EgeiB1c3Rhd2llxYQgemFwb3J5IGZpcmV3YWxsIiwKCSdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiWmFzdG9zdWogbWV0b2TEmSBQcnplY2nEhWduaWogJiBVcHXFm8SHIHcgb2JzemFyIHBvd3nFvGVqLCBsdWIga2xpa25paiB0YW0gKG9wY2phIGRvdHljenkgdHlsa28gbmFqbm93c3p5Y2ggcHJ6ZWdsxIVkYXJlaykuIFd5YmllcnogcGxpayBpIGtsaWtuaWogT3R3w7Nyei4gS2llZHkgemFrb8WEY3p5IHNpxJkgcHJvY2VzIHdncnl3YW5pYSwga2xpa25paiBQb3dyw7N0IGRvIGxpc3R5IHBsaWvDs3cgbmEgZ8OzcnplLCBieSB6YWtvxYRjennEhy4iLAoJJ1R5cGVfZGlyJyA9PiAnRkxEJywKCSdUeXBlJyA9PiAnUm96LicsCgknRGltZW5zaW9uJyA9PiAnUm96bWlhcicsCgknU2l6ZScgPT4gJ1dsay4nLAoJJ0RhdGUnID0+ICcgQ3phcycsCgknRmlsZW5hbWUnID0+ICdOYXp3YScsCgknT3BlcmF0aW9ucycgPT4gJ09wY2plJywKCSdEYXRlX3R5cGUnID0+ICdkLW0teScsCgknT0snID0+ICdPSycsCgknQ2FuY2VsJyA9PiAnQW51bHVqJywKCSdTb3J0aW5nJyA9PiAnU09SVE9XQU5JRScsCgknU2hvd191cmwnID0+ICdwb2thxbwgVVJMJywKCSdFeHRyYWN0JyA9PiAncm96cGFrdWogdHV0YWonLAoJJ0ZpbGVfaW5mbycgPT4gJ2luZm8gbyBwbGlrdScsCgknRWRpdF9pbWFnZScgPT4gJ2VkeWNqYSBvYnJhenUnLAoJJ0R1cGxpY2F0ZScgPT4gJ1Bvd2llbCcsCgknRm9sZGVycycgPT4gJ0ZvbGRlcnknLAoJJ0NvcHknID0+ICdLb3BpdWonLAoJJ0N1dCcgPT4gJ1d5dG5paicsCgknUGFzdGUnID0+ICdXa2xlaicsCgknQ0InID0+ICdTY2hvd2VrJywgLy8gY2xpcGJvYXJkCgknUGFzdGVfSGVyZScgPT4gJ1drbGVqIGRvIHRlZ28gZm9sZGVydScsCgknUGFzdGVfQ29uZmlybScgPT4gJ0N6eSBqZXN0ZcWbIHBld2llbiwgxbxlIGNoY2VzeiB3a2xlacSHIHRvIGRvIHRlZ28gZm9sZGVydT8gT3BlcmFjamEgbmFkcGlzemUgaXN0bmllasSFY2UganXFvCB3Y3plc25pZWogcGxpa2kvcG9kZm9sZGVyeSBiZXogbW/FvGxpd2/Fm2NpIGljaCBvZHp5c2thbmlhLicsCgknUGFzdGVfRmFpbGVkJyA9PiAnT3BlcmFjamEgd2tsZWplbmlhIHBsaWvDs3cgbmllIHBvd2lvZMWCYSBzacSZJywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdXeWN6ecWbxIcgc2Nob3dlaycsCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdDenkgamVzdGXFmyBwZXdpZW4sIMW8ZSBjaGNlc3ogd3ljennFm2NpxIcgemFzb2J5IHNjaG93a2E/JywKCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdEbyBzY2hvd2thIHpvc3RhxYJ5IGRvZGFuZSBwbGlraS4nLAoJJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdXeWJyYW5lIHBsaWtpL2ZvbGRlcnkgbWFqxIUgemJ5dCBkdcW8eSByb3ptaWFyIGJ5IHd5a29uYcSHIG9wZXJhY2rEmSAlcy4gT2Jvd2nEhXp1amUgb2dyYW5pY3plbmllIGRvOiAlZCBNQi9ldGFwIG9wZXJhY2ppJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnV3licmHFgmXFmyB6Ynl0IHdpZWxlIHBsaWvDs3cvZm9sZGVyw7N3IGJ5IHd5a29uYcSHIG9wZXJhY2rEmSAlcy4gTGltaXQ6ICVkIHBsaWvDs3cvZXRhcCBvcGVyYWNqaScsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ05pZSBtYXN6IHVwcmF3bmllxYQgZG8gd3lrb25hbmlhIGR6aWHFgmFuaWEgJXMgbmEgdHljaCBwbGlrYWNoLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnTmllIG1vxbxuYSB6YXBpc2HEhyBvYnJhemthJywKCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ0FyY2hpd3VtIFpJUCBuaWUgbW/FvGUgem9zdGHEhyByb3pwYWtvd2FuZSB0YW0uIFBsaWsgbW/FvGUgYnnEhyB1c3prb2R6b255LicsCgknWmlwX0ludmFsaWQnID0+ICdUZSByb3pzemVyemVuaWEgcGxpa8OzdyBuaWUgcG9zaWFkYWrEhSB0dXRhaiBuYXN6ZWdvIHdzcGllcmFuZS4gRG9wdXN6Y3phbXkgdHlsa28gZm9ybWF0OiB6aXAsIGd6LCB0YXIuJywKCSdEaXJfTm9fV3JpdGUnID0+ICdGb2xkZXIga3TDs3J5IHd5YnJhxYJlxZssIG5pZSBwb3NpYWRhIHVwcmF3bmllxYQgY2htb2QgdW1vxbxsaXdpYWrEhWN5Y2ggcG9wcmF3bnkgemFwaXMuJywKCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ09wZXJhY2phICVzIHpvc3RhxYJhIHphYmxva293YW5hIHByemV6IG9wcm9ncmFtb3dhbmllIFR3b2plZ28gc2Vyd2VyYS4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnVXByYXduaWVuaWEgcGxpa3UnLAoJJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ1ptaWFuYSB1cHJhd25pZcWEIGRsYSAlcyBqZXN0IG5pZWRvendvbG9uYS4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnWmFzdG9zb3dhxIcgcmVrdXJzeXduaWU/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlphc3Rvc293YW5lIHVwcmF3bmllbmlhIHPEhSBuaWVwb3ByYXduZS4iLAoJJ1VzZXInID0+ICdVxbx5dGtvd25paycsCgknR3JvdXAnID0+ICdHcnVwYScsCgknWWVzJyA9PiAnVGFrJywKCSdObycgPT4gJ05pZScsCgknTGFuZ19Ob3RfRm91bmQnID0+ICdOaWUgem5hbGV6aW9ubyBqxJl6eWthLicsCgknTGFuZ19DaGFuZ2UnID0+ICdabWllxYQgasSZenlrJywKCSdGaWxlX05vdF9Gb3VuZCcgPT4gJ05pZSBtb8W8bmEgem5hbGXFusSHIHBsaWt1LicsCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdOaWUgbWFzeiB1cHJhd25pZW4gZG8gcGxpa3UgJXMuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKCSdFZGl0JyA9PiAnRWR5dHVqJywKCSdFZGl0X0ZpbGUnID0+ICJFZHl0dWogemF3YXJ0b8WbxIcgcGxpa3UiLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIlBsaWsgem9zdGHFgiB6YXBpc2FueS4iLAoJJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIld5c3TEhXBpxYIgYsWCxIVkIHBvZGN6YXMgemFwaXN5d2FuaWEgcGxpa3UuIiwKCSdOZXdfRmlsZScgPT4gJ1V0d8OzcnogcGxpaycsCgknTm9fRXh0ZW5zaW9uJyA9PiAnTXVzaXN6IGRvZGHEhyByb3pzemVyemVuaWUgZG8gcGxpa3UuJywKCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnUG9wcmF3bmUgcm96c3plcnplbmlhOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLAoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLAoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/pt_BR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ1NlbGVjaW9uYXInLA0KCSdFcmFzZScgPT4gJ0FwYWdhcicsDQoJJ09wZW4nID0+ICdBYnJpcicsDQoJJ0NvbmZpcm1fZGVsJyA9PiAnVGVtIGNlcnRlemEgcXVlIHF1ZXIgZGVsZXRhciBlc3RlIGFycXVpdm8/JywNCgknQWxsJyA9PiAnVG9kb3MnLA0KCSdGaWxlcycgPT4gJ0FycXVpdm9zJywNCgknSW1hZ2VzJyA9PiAnSW1hZ2VucycsDQoJJ0FyY2hpdmVzJyA9PiAnQ29tcGFjdGFkb3MnLA0KCSdFcnJvcl9VcGxvYWQnID0+ICdPIGFycXVpdm8gZW52aWFkbyDDqSBtYWlvciBxdWUgbyBsaW1pdGUgcGVybWl0aWRvLicsDQoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0V4dGVuc8OjbyBuw6NvIHBlcm1pdGlkYS4nLA0KCSdVcGxvYWRfZmlsZScgPT4gJ0VudmlhciB1bSBhcnF1aXZvJywNCgknRmlsdGVycycgPT4gJ0ZpbHRybycsDQoJJ1ZpZGVvcycgPT4gJ1bDrWRlb3MnLA0KCSdNdXNpYycgPT4gJ011c2ljYScsDQoJJ05ld19Gb2xkZXInID0+ICdOb3ZhIHBhc3RhJywNCgknRm9sZGVyX0NyZWF0ZWQnID0+ICdQYXN0YSBjcmlhZGEgY29ycmV0YW1lbnRlJywNCgknRXhpc3RpbmdfRm9sZGVyJyA9PiAnUGFzdGEgZXhpc3RlbnRlJywNCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnVGVtIGNlcnRlemEgcXVlIHZvY8OqIHF1ZXIgZGVsZXRhciBhIHBhc3RhIGUgdG9kbyBvIHNldSBjb250ZcO6ZG8/JywNCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdWb2x0YXIgw6AgbGlzdGEgZGUgYXJxdWl2b3MnLA0KCSdQcmV2aWV3JyA9PiAnUHLDqXZpYScsDQoJJ0Rvd25sb2FkJyA9PiAnQmFpeGFyJywNCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAnSW5zaXJhIG8gbm9tZSBkYSBwYXN0YTonLA0KCSdSb290JyA9PiAncm9vdCcsDQoJJ1JlbmFtZScgPT4gJ011ZGFyIG8gbm9tZScsDQoJJ0JhY2snID0+ICdkZSB2b2x0YScsDQoJJ1ZpZXcnID0+ICdNb2RvIGRlIFZpc3VhbGl6YcOnw6NvJywNCgknVmlld19saXN0JyA9PiAnTGlzdGEnLA0KCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ0xpc3RhIGRlIENvbHVuYXMnLA0KCSdWaWV3X2JveGVzJyA9PiAnQm94JywNCgknVG9vbGJhcicgPT4gJ1Rvb2xiYXInLA0KCSdBY3Rpb25zJyA9PiAnQcOnw7VlcycsDQoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAnTyBhcnF1aXZvIGrDoSBleGlzdGUhJywNCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0EgcGFzdGEgasOhIGV4aXN0ZSEnLA0KCSdFbXB0eV9uYW1lJyA9PiAnTyBub21lIGVzdMOhIHZhemlvIScsDQoJJ1RleHRfZmlsdGVyJyA9PiAnRmlsdHJhcicsDQoJJ1N3aXBlX2hlbHAnID0+ICdQYXNzZSBvIG5vbWUgZG8gYXJxdWl2by9wYXN0YSBwYXJhIHZlciBhcyBvcMOnw7VlcycsDQoJJ1VwbG9hZF9iYXNlJyA9PiAnQmFzZSB1cGxvYWQnLA0KCSdVcGxvYWRfamF2YScgPT4gJ0pBVkEgdXBsb2FkIChBcnF1aXZvcyBncmFuZGVzKScsDQoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJTZSBvIEphdmEgQXBwbGV0IG7Do28gY2FycmVnYXI6IDEuIENlcnRpZmlxdWUtc2UgZGUgdGVyIG8gSmF2YSBpbnN0YWxhZG8gZGUgb3V0cmEgZm9ybWEgPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+W2Rvd25sb2FkIGxpbmtdPC9hPiAyLiBDZXJ0aWZpcXVlLXNlIHF1ZSBuYWRhIMOpIGltcGVkaWRvIHBlbG8gZmlyZXdhbGwiLA0KCSdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiQXJyYXN0ZSBlIFNvbHRhIG9zIGFycXVpdm9zIGRlbnRybyDDoXJlYSBhY2ltYSBvdSBjbGlxdWUgbmVsZSAocGFyYSBuYXZlZ2Fkb3JlcyBtb2Rlcm5vcyksIGNhc28gY29udHLDoXJpbywgc2VsZWNpb25lIG8gYXJxdWl2byBlIGNsaXF1ZSBubyBib3TDo28uIFF1YW5kbyB0ZXJtaW5hciBvIHVwbG9hZCwgY2xpcXVlIG5vIGJvdMOjbyBkZSByZXRvcm5vIHN1cGVyaW9yLiIsDQoJJ1R5cGVfZGlyJyA9PiAnZGlyJywNCgknVHlwZScgPT4gJ1RpcG8nLA0KCSdEaW1lbnNpb24nID0+ICdEaW1lbnPDo28nLA0KCSdTaXplJyA9PiAnVGFtYW5obycsDQoJJ0RhdGUnID0+ICdEYXRhJywNCgknRmlsZW5hbWUnID0+ICdOb21lJywNCgknT3BlcmF0aW9ucycgPT4gJ09wZXJhw6fDtWVzJywNCgknRGF0ZV90eXBlJyA9PiAnZC9tL1knLA0KCSdPSycgPT4gJ09LJywNCgknQ2FuY2VsJyA9PiAnQ2FuY2VsYXInLA0KCSdTb3J0aW5nJyA9PiAnT3JkZW5hcicsDQoJJ1Nob3dfdXJsJyA9PiAnbW9zdHJhciBVUkwnLA0KCSdFeHRyYWN0JyA9PiAnZXh0cmFpciBhcXVpJywNCgknRmlsZV9pbmZvJyA9PiAnSW5mb3JtYcOnw6NvIGRvIEFycXVpdm8nLA0KCSdFZGl0X2ltYWdlJyA9PiAnRWRpdGFyIGEgaW1hZ2VtJywNCgknRHVwbGljYXRlJyA9PiAnRHVwbGljYXInLA0KCSdGb2xkZXJzJyA9PiAnRm9sZGVycycsDQoJJ0NvcHknID0+ICdDb3B5JywNCgknQ3V0JyA9PiAnQ3V0JywNCgknUGFzdGUnID0+ICdQYXN0ZScsDQoJJ0NCJyA9PiAnQ0InLCAvLyBjbGlwYm9hcmQNCgknUGFzdGVfSGVyZScgPT4gJ1Bhc3RlIHRvIHRoaXMgZGlyZWN0b3J5JywNCgknUGFzdGVfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwYXN0ZSB0byB0aGlzIGRpcmVjdG9yeT8gVGhpcyB3aWxsIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcy9mb2xkZXJzIGlmIGVuY291bnRlcmVkIGFueS4nLA0KCSdQYXN0ZV9GYWlsZWQnID0+ICdGYWlsZWQgdG8gcGFzdGUgZmlsZShzKScsDQoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ0NsZWFyIGNsaXBib2FyZCcsDQoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsZWFyIHRoZSBjbGlwYm9hcmQ/JywNCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnVGhlcmUgYXJlIGZpbGVzIG9uIHRoZSBjbGlwYm9hcmQuJywNCgknQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ1RoZSBzZWxlY3RlZCBmaWxlcy9mb2xkZXJzIGFyZSB0b28gYmlnIHRvICVzLiBMaW1pdDogJWQgTUIvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ1lvdSBzZWxlY3RlZCB0b28gbWFueSBmaWxlcy9mb2xkZXJzIHRvICVzLiBMaW1pdDogJWQgZmlsZXMvb3BlcmF0aW9uJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgZmlsZXMuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzDQoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnQ291bGQgbm90IHNhdmUgaW1hZ2UnLA0KCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ0NvdWxkIG5vdCBleHRyYWN0LiBGaWxlIG1pZ2h0IGJlIGNvcnJ1cHQuJywNCgknWmlwX0ludmFsaWQnID0+ICdUaGlzIGV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkLiBWYWxpZDogemlwLCBneiwgdGFyLicsDQoJJ0Rpcl9Ob19Xcml0ZScgPT4gJ1RoZSBkaXJlY3RvcnkgeW91IHNlbGVjdGVkIGlzIG5vdCB3cml0YWJsZS4nLA0KCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJ1RoZSAlcyBmdW5jdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBieSB0aGUgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkNCgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnRmlsZSBwZXJtaXNzaW9uJywNCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnQ2hhbmdpbmcgJXMgcGVybWlzc2lvbnMgYXJlIG5vdCBhbGxvd2VkLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycw0KCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywNCgknRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLA0KCSdVc2VyJyA9PiAnVXNlcicsDQoJJ0dyb3VwJyA9PiAnR3JvdXAnLA0KCSdZZXMnID0+ICdZZXMnLA0KCSdObycgPT4gJ05vJywNCgknTGFuZ19Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLA0KCSdMYW5nX0NoYW5nZScgPT4gJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLA0KCSdGaWxlX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIHRoZSBmaWxlLicsDQoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQNCgknRWRpdCcgPT4gJ0VkaXQnLA0KCSdFZGl0X0ZpbGUnID0+ICJFZGl0IGZpbGUncyBjb250ZW50IiwNCgknRmlsZV9TYXZlX09LJyA9PiAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwNCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLA0KCSdOZXdfRmlsZScgPT4gJ05ldyBGaWxlJywNCgknTm9fRXh0ZW5zaW9uJyA9PiAnWW91IGhhdmUgdG8gYWRkIGEgZmlsZSBleHRlbnNpb24uJywNCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4NCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLA0KDQoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsDQoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLA0KCSd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsDQoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwNCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwNCgknd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwNCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLA0KCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLA0KCSd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwNCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLA0KCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsDQoJJ25vIGZpbGUnID0+ICJObyBmaWxlIiwNCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwNCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwNCgknbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQ0KCSdCJyA9PiAiQiIsDQoJJ0tCJyA9PiAiS0IiLA0KCSdNQicgPT4gIk1CIiwNCgknR0InID0+ICJHQiIsDQoJJ1RCJyA9PiAiVEIiLA0KCSd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsDQopOw0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnU2VsZWNjaW9uYXInLAoJJ0VyYXNlJyA9PiAnRWxpbWluYXInLAoJJ09wZW4nID0+ICdBYnJpcicsCgknQ29uZmlybV9kZWwnID0+ICdUZW0gY2VydGV6YSBxdWUgcHJldGVuZGUgZWxpbWluYXIgZXN0ZSBhcnF1aXZvPycsCgknQWxsJyA9PiAnVG9kb3MnLAoJJ0ZpbGVzJyA9PiAnRmljaGVpcm9zJywKCSdJbWFnZXMnID0+ICdJbWFnZW5zJywKCSdBcmNoaXZlcycgPT4gJ0NvbXBhY3RhZG9zJywKCSdFcnJvcl9VcGxvYWQnID0+ICdPIGZpY2hlaXJvIGVudmlhZG8gw6kgbWFpb3IgcXVlIG8gbGltaXRlIHBlcm1pdGlkby4nLAoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0V4dGVuc8OjbyBuw6NvIHBlcm1pdGlkYS4nLAoJJ1VwbG9hZF9maWxlJyA9PiAnQ2FycmVnYXIgZmljaGVpcm8nLAoJJ0ZpbHRlcnMnID0+ICdGaWx0cm8nLAoJJ1ZpZGVvcycgPT4gJ1bDrWRlb3MnLAoJJ011c2ljJyA9PiAnTcO6c2ljYScsCgknTmV3X0ZvbGRlcicgPT4gJ05vdmEgcGFzdGEnLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnUGFzdGEgY3JpYWRhIGNvbSBzdWNlc3NvJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdQYXN0YSBleGlzdGVudGUnLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ1RlbSBjZXJ0ZXphIHF1ZSBwcmV0ZW5kZSBlbGltaW5hciBhIHBhc3RhIGUgdG9kbyBvIHNldSBjb250ZcO6ZG8/JywKCSdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1ZvbHRhciDDoCBsaXN0YSBkZSBmaWNoZWlyb3MnLAoJJ1ByZXZpZXcnID0+ICdQcsOpLXZpc3VhbGl6YXInLAoJJ0Rvd25sb2FkJyA9PiAnRGVzY2FycmVnYXInLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0luc2lyYSBvIG5vbWUgZGEgcGFzdGE6JywKCSdSb290JyA9PiAncm9vdCcsCgknUmVuYW1lJyA9PiAnTXVkYXIgbyBub21lJywKCSdCYWNrJyA9PiAnZGUgdm9sdGEnLAoJJ1ZpZXcnID0+ICdWaXN0YScsCgknVmlld19saXN0JyA9PiAnVmlzdGEgZGUgbGlzdGEnLAoJJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnVmlzdGEgZGUgY29sdW5hJywKCSdWaWV3X2JveGVzJyA9PiAnVmlzdGEgZGUgY2FpeGFzJywKCSdUb29sYmFyJyA9PiAnQmFycmEgZGUgRmVycmFtZW50YXMnLAoJJ0FjdGlvbnMnID0+ICdBY8Onw7VlcycsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdPIGZpY2hlaXJvIGrDoSBleGlzdGUnLAoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdBIHBhc3RhIGrDoSBleGlzdGUnLAoJJ0VtcHR5X25hbWUnID0+ICdOb21lIGVzdMOhIHZhemlvJywKCSdUZXh0X2ZpbHRlcicgPT4gJ2ZpbHRybyBwb3IgdGV4dG8nLAoJJ1N3aXBlX2hlbHAnID0+ICdQYXNzZSBvIG5vbWUgZG8gYXJxdWl2byAvIHBhc3RhIHBhcmEgdmVyIGFzIG9ww6fDtWVzJywKCSdVcGxvYWRfYmFzZScgPT4gJ0VudmlvIGLDoXNpY28nLAoJJ1VwbG9hZF9qYXZhJyA9PiAnRW52aW8gdmlhIEpBVkEgKGZpY2hlaXJvcyBncmFuZGVzKScsCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIlNlIG8gSmF2YSBuw6NvIGNhcnJlZ2EgMS4gQ2VydGlmaXF1ZS1zZSBxdWUgdGVtIG8gSmF2YSBpbnN0YWxhZG8sIGNhc28gY29udHLDoXJpbyA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5bZGVzY2FycmVndWUgYXF1aV08L2E+IDIuIENlcnRpZmlxdWUtc2UgcXVlIG7Do28gdGVtIG5lbmh1bWEgZmlyZXdhbGwgYSBibG9xdWVhciIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIkFycmFzdGUgJiBMYXJndWUgZmljaGVpcm9zIGRlbnRybyBkYSDDoXJlYSBhY2ltYSBvdSBjbGlxdWUtYSAocGFyYSBicm93c2VycyBtb2Rlcm5vcykgY2FzbyBjb250csOhcmlvIGVzY29saGEgbyBmaWNoZWlybyBlIGNsaXF1ZSBubyBib3TDo28uIFF1YW5kbyBvIGVudmlvIHRlcm1pbmFyLCBjbGlxdWUgbm8gYm90w6NvIGRlIHJlZ3Jlc3NvIGFjaW1hLiIsCgknVHlwZV9kaXInID0+ICdkaXInLAoJJ1R5cGUnID0+ICdUaXBvJywKCSdEaW1lbnNpb24nID0+ICdEaW1lbnPDo28nLAoJJ1NpemUnID0+ICdUYW1hbmhvJywKCSdEYXRlJyA9PiAnRGF0ZScsCgknRmlsZW5hbWUnID0+ICdEYXRhJywKCSdPcGVyYXRpb25zJyA9PiAnT3BlcmHDp8O1ZXMnLAoJJ0RhdGVfdHlwZScgPT4gJ2QtbS15JywKCSdPSycgPT4gJ09LJywKCSdDYW5jZWwnID0+ICdDYW5jZWxhcicsCgknU29ydGluZycgPT4gJ29yZGVuYXInLAoJJ1Nob3dfdXJsJyA9PiAnbW9zdHJhciBVUkwnLAoJJ0V4dHJhY3QnID0+ICdleHRyYWlyIGhlcmUnLAoJJ0ZpbGVfaW5mbycgPT4gJ2luZm8uIGZpY2hlaXJvJywKCSdFZGl0X2ltYWdlJyA9PiAnZWRpdGFyIGltYWdlbScsCgknRHVwbGljYXRlJyA9PiAnRHVwbGljYXInLAoJJ0ZvbGRlcnMnID0+ICdQYXN0YXMnLAoJJ0NvcHknID0+ICdDb3BpYXInLAoJJ0N1dCcgPT4gJ0NvcnRhcicsCgknUGFzdGUnID0+ICdDb2xhcicsCgknQ0InID0+ICdBVCcsIC8vIGNsaXBib2FyZAoJJ1Bhc3RlX0hlcmUnID0+ICdDb2xhciBwYXJhIGVzdGEgZGlyZWN0b3JpYScsCgknUGFzdGVfQ29uZmlybScgPT4gJ1ZvY8OqIHRlbSBhIGNlcnRlemEgcXVlIGRlc2VqYSBjb2xhciBhIGVzdGUgZGlyZXTDs3Jpbz8gSXNzbyBzdWJzdGl0dWlyw6Egb3MgYXJxdWl2b3MgZXhpc3RlbnRlcyBvdSBwYXN0YXMgc2UgZXhpc3RpcmVtJywKCSdQYXN0ZV9GYWlsZWQnID0+ICdGYWxoYSBhbyBjb2xhciBmaWNoZWlyb3MocyknLAoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ0xpbXBhciDDoXJlYSBkZSB0cmFuc2ZlcsOqbmNpYScsCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdWb2PDqiB0ZW0gY2VydGV6YSBxdWUgZGVzZWphIGxpbXBhciBhIMOhcmVhIGRlIHRyYW5zZmVyw6puY2lhPycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnSMOhIGFycXVpdm9zIG5hIMOhcmVhIGRlIHRyYW5zZmVyw6puY2lhLicsCgknQ29weV9DdXRfU2l6ZV9MaW1pdCcgPT4gJ09zIGZpY2hlaXJvcy9wYXN0YXMgc8OjbyBkZW1hc2lhZG8gZ3JhbmRlcyBwYXJhICVzLiBMaW1pdGU6ICVkIE1CL29wZXJhw6fDo28nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdWb2PDqiBzZWxlY2lvbm91IG11aXRvcyBhcnF1aXZvcyAvIHBhc3RhcyBwYXJhICVzLiBMaW1pdDogJWQgZmljaGVpcm9zL29wZXJhw6fDo28nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdOw6NvIHRlIHBlcm1pc3PDo28gcGFyYSAlcyBmaWNoZWlyb3MuJywgLy8gJXMoMSkgPSBjdXQgb3IgY29weSwgJXMoMikgPSBmaWxlcyBvciBmb2xkZXJzCgknQXZpYXJ5X05vX1NhdmUnID0+ICdOw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIGltYWdlbScsCgknWmlwX05vX0V4dHJhY3QnID0+ICdOw6NvIGZvaSBwb3Nzw612ZWwgZXh0cmFpci4gTyBhcnF1aXZvIHBvZGUgZXN0YXIgY29ycm9tcGlkby4nLAoJJ1ppcF9JbnZhbGlkJyA9PiAnRXh0ZW5zw6NvIG7Do28gc3Vwb3J0YWRhLiBWw6FsaWRhczogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAnQSBwYXN0YSBlc2NvbGhpZGEgbsOjbyB0ZW0gcGVybWlzc8O1ZXMgcGFyYSBlc2NyZXZlci4nLAoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnQSBmdW7Dp8OjbyAlcyBmb2kgZGVzbGlnYWRhIHBlbG8gc2Vydmlkb3IuJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ1Blcm1pc3PDo28gZG8gRmljaGVpcm8nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ011ZGFyIGFzIHBlcm1pc3PDtWVzIGRvcyAlcyBuw6NvIMOpIHBlcm1pdGlkby4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQUFwbGljYXIgZGUgZm9ybWEgcmVjdXJzaXZhPycsCgknRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJPIG1vZG8gZGUgcGVybWlzc8OjbyBmb3JuZWNpZG8gZXN0w6EgaW5jb3JyZXRvLiIsCgknVXNlcicgPT4gJ1V0aWxpemFkb3InLAoJJ0dyb3VwJyA9PiAnR3J1cG8nLAoJJ1llcycgPT4gJ1NpbScsCgknTm8nID0+ICdOw6NvJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ07Do28gZm9pIHBvc3PDrXZlbCBlbmNvbnRyYXIgbyBpZGlvbWEuJywKCSdMYW5nX0NoYW5nZScgPT4gJ0FsdGVyYXIgbyBpZGlvbWEnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnTsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciBvIGFycXVpdm8uJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ07Do28gdGVtIHBlcm1pc3PDo28gcGFyYSAlcyBlc3RlIGZpY2hlaXJvLicsIC8vICVzID0gb3BlbiBvciBlZGl0CgknRWRpdCcgPT4gJ0VkaXRhcicsCgknRWRpdF9GaWxlJyA9PiAiRWRpdGFyIGNvbnRlw7pkbyBkbyBmaWNoZWlybyIsCgknRmlsZV9TYXZlX09LJyA9PiAiRmljaGVpcm8gZ3JhdmFkbyBjb20gc3VjZXNzby4iLAoJJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIk9jb3JyZXUgdW0gZXJybyBkdXJhbnRlIGEgZ3JhdmHDp8OjbyBkbyBmaWNoZWlyby4iLAoJJ05ld19GaWxlJyA9PiAnTm92byBmaWNoZWlybycsCgknTm9fRXh0ZW5zaW9uJyA9PiAnVGVtIGRlIGFkaWNpb25hciB1bWEgZXh0ZW5zw6NvIGFvIGZpY2hlaXJvLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ0V4dGVuc8O1ZXMgdsOhbGlkYXM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/ru.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ9CS0YvQsdGA0LDRgtGMJywNCgknRXJhc2UnID0+ICfQo9C00LDQu9C40YLRjCcsDQoJJ09wZW4nID0+ICfQntGC0LrRgNGL0YLRjCcsDQoJJ0NvbmZpcm1fZGVsJyA9PiAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0L7RgiDRhNCw0LnQuz8nLA0KCSdBbGwnID0+ICfQntGH0LjRgdGC0LjRgtGMINGE0LjQu9GM0YLRgCcsDQoJJ0ZpbGVzJyA9PiAn0KTQsNC50LvRiycsDQoJJ0ltYWdlcycgPT4gJ9CY0LfQvtCx0YDQsNC20LXQvdC40Y8nLA0KCSdBcmNoaXZlcycgPT4gJ9CQ0YDRhdC40LLRiycsDQoJJ0Vycm9yX1VwbG9hZCcgPT4gJ9CX0LDQs9GA0YPQttCw0LXQvNGL0Lkg0YTQsNC50Lsg0L/RgNC10LLRi9GI0LDQtdGCINC00L7Qv9GD0YHRgtC40LzRi9C5INGA0LDQt9C80LXRgC4nLA0KCSdFcnJvcl9leHRlbnNpb24nID0+ICfQndC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0YTQvtGA0LzQsNGCINGE0LDQudC70LAuJywNCgknVXBsb2FkX2ZpbGUnID0+ICfQl9Cw0LPRgNGD0LfQuNGC0Ywg0YTQsNC50LsnLA0KCSdGaWx0ZXJzJyA9PiAn0KTQuNC70YzRgtGAJywNCgknVmlkZW9zJyA9PiAn0JLQuNC00LXQvicsDQoJJ011c2ljJyA9PiAn0JzRg9C30YvQutCwJywNCgknTmV3X0ZvbGRlcicgPT4gJ9Cd0L7QstCw0Y8g0L/QsNC/0LrQsCcsDQoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAn0J/QsNC/0LrQsCDRg9GB0L/QtdGI0L3QviDRgdC+0LfQtNCw0L3QsCcsDQoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ9Ch0YPRidC10YHRgtCy0YPRjtGJ0LDRjyDQv9Cw0L/QutCwJywNCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0YMg0L/QsNC/0LrRgyDQuCDQstGB0LUg0YTQsNC50LvRiyDQsiDQvdC10Lk/JywNCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICfQktC10YDQvdGD0YLRjNGB0Y8g0Log0YHQv9C40YHQutGDINGE0LDQudC70L7QsicsDQoJJ1ByZXZpZXcnID0+ICfQn9GA0L7RgdC80L7RgtGAJywNCgknRG93bmxvYWQnID0+ICfQl9Cw0LPRgNGD0LfQuNGC0YwnLA0KCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICfQktCy0LXQtNC40YLQtSDQuNC80Y8g0L/QsNC/0LrQuDonLA0KCSdSb290JyA9PiAn0JrQvtGA0L3QtdCy0LDRjyDQv9Cw0L/QutCwJywNCgknUmVuYW1lJyA9PiAn0J/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0YwnLA0KCSdCYWNrJyA9PiAn0J3QsNC30LDQtCcsDQoJJ1ZpZXcnID0+ICfQktC40LQnLA0KCSdWaWV3X2xpc3QnID0+ICfQodC/0LjRgdC+0LonLA0KCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ9Ch0YLQvtC70LHRhtGLJywNCgknVmlld19ib3hlcycgPT4gJ9Cf0LvQuNGC0LrQsCcsDQoJJ1Rvb2xiYXInID0+ICfQn9Cw0L3QtdC70YwnLA0KCSdBY3Rpb25zJyA9PiAn0JTQtdC50YHRgtCy0LjRjycsDQoJJ1JlbmFtZV9leGlzdGluZ19maWxlJyA9PiAn0KTQsNC50Lsg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJywNCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ9Cf0LDQv9C60LAg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJywNCgknRW1wdHlfbmFtZScgPT4gJ9Cd0LUg0LfQsNC/0L7Qu9C90LXQvdC+INC40LzRjycsDQoJJ1RleHRfZmlsdGVyJyA9PiAn0YTQuNC70YzRgtGAJywNCgknU3dpcGVfaGVscCcgPT4gJ9Cd0LDQstC10LTQuNGC0LUg0L3QsCDQuNC80Y8g0YTQsNC50LvQsC/Qv9Cw0L/QutC4LCDRh9GC0L7QsdGLINGD0LLQuNC00LXRgtGMINC+0L/RhtC40LgnLA0KCSdVcGxvYWRfYmFzZScgPT4gJ9Ce0YHQvdC+0LLQvdCw0Y8g0LfQsNCz0YDRg9C30LrQsCcsDQoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQSDQt9Cw0LPRgNGD0LfQutCwICjQtNC70Y8g0YTQsNC50LvQvtCyINCx0L7Qu9GM0YjQuNGFINGA0LDQt9C80LXRgNC+0LIpJywNCgknVXBsb2FkX2phdmFfaGVscCcgPT4gItCV0YHQu9C4IEphdmEt0LDQv9C/0LvQtdGCINC90LUg0LfQsNCz0YDRg9C20LDQtdGC0YHRjzogMS4g0KPQsdC10LTQuNGC0LXRgdGMLCDRh9GC0L4g0YPRgdGC0LDQvdC+0LLQu9C10L3QsCBKYXZhLCDQsiDQv9GA0L7RgtC40LLQvdC+0Lwg0YHQu9GD0YfQsNC1IDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPlvRgdC60LDRh9Cw0LnRgtC1XTwvYT4gMi4g0KPQsdC10LTQuNGC0LXRgdGMLCDRh9GC0L4g0YTQsNC10YDQstC+0Lsg0L3QuNGH0LXQs9C+INC90LUg0LHQu9C+0LrQuNGA0YPQtdGCIiwNCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gItCf0LXRgNC10YLQsNGJ0LjRgtC1INGE0LDQudC70Ysg0LIg0L7QsdC70LDRgdGC0Ywg0LLRi9GI0LUg0LjQu9C4INGJ0LXQu9C60L3QuNGC0LUg0L/QviDQvdC10Lkg0LzRi9GI0LrQvtC5ICjQtNC70Y8g0YHQvtCy0YDQtdC80LXQvdC90YvRhSDQsdGA0LDRg9C30LXRgNC+0LIpINC4INCy0YvQsdC10YDQuNGC0LUg0YTQsNC50Lso0YspLiDQn9C+0YHQu9C1INC30LDQstC10YDRiNC10L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0L3QsNC20LzQuNGC0LUg0LrQvdC+0L/QutGDICZsYXF1bzvQktC10YDQvdGD0YLRjNGB0Y8g0Log0YHQv9C40YHQutGDINGE0LDQudC70L7QsiZyYXF1bzsuIiwNCgknVHlwZV9kaXInID0+ICfQv9Cw0L/QutCwJywNCgknVHlwZScgPT4gJ9Ci0LjQvycsDQoJJ0RpbWVuc2lvbicgPT4gJ9Cg0LDQt9GA0LXRiNC10L3QuNC1JywNCgknU2l6ZScgPT4gJ9Cg0LDQt9C80LXRgCcsDQoJJ0RhdGUnID0+ICfQlNCw0YLQsCcsDQoJJ0ZpbGVuYW1lJyA9PiAn0JjQvNGPJm5ic3A70YTQsNC50LvQsCcsDQoJJ09wZXJhdGlvbnMnID0+ICfQlNC10LnRgdGC0LLQuNC1JywNCgknRGF0ZV90eXBlJyA9PiAnZC1tLVknLA0KCSdPSycgPT4gJ09LJywNCgknQ2FuY2VsJyA9PiAn0J7RgtC80LXQvdCwJywNCgknU29ydGluZycgPT4gJ9Ch0L7RgNGC0LjRgNC+0LLQutCwJywNCgknU2hvd191cmwnID0+ICfQn9C+0LrQsNC30LDRgtGMIFVSTCcsDQoJJ0V4dHJhY3QnID0+ICfQoNCw0YHQv9Cw0LrQvtCy0LDRgtGMINC30LTQtdGB0YwnLA0KCSdGaWxlX2luZm8nID0+ICfQodCy0L7QudGB0YLQstCwINGE0LDQudC70LAnLA0KCSdFZGl0X2ltYWdlJyA9PiAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnLA0KCSdEdXBsaWNhdGUnID0+ICfQodC+0LfQtNCw0YLRjCDQutC+0L/QuNGOJywNCgknRm9sZGVycycgPT4gJ9Cf0LDQv9C60LgnLA0KCSdDb3B5JyA9PiAn0JrQvtC/0LjRgNC+0LLQsNGC0YwnLA0KCSdDdXQnID0+ICfQktGL0YDQtdC30LDRgtGMJywNCgknUGFzdGUnID0+ICfQktGB0YLQsNCy0LjRgtGMJywNCgknQ0InID0+ICfQkdGD0YTQtdGAINC+0LHQvNC10L3QsCcsIC8vIGNsaXBib2FyZA0KCSdQYXN0ZV9IZXJlJyA9PiAn0JLRgdGC0LDQstC40YLRjCDQsiDRgtC10LrRg9GJ0YPRjiDQv9Cw0L/QutGDJywNCgknUGFzdGVfQ29uZmlybScgPT4gJ9CS0Ysg0YXQvtGC0LjRgtC1INCy0YHRgtCw0LLQuNGC0Ywg0LIg0Y3RgtGDINC/0LDQv9C60YM/INCf0YDQuCDRgdC+0LLQv9Cw0LTQtdC90LjQuCDQuNC80ZHQvSDRhNCw0LnQu9GLINCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLJywNCgknUGFzdGVfRmFpbGVkJyA9PiAn0J3QtSDRg9C00LDQu9C+0YHRjCDQstGB0YLQsNCy0LjRgtGMINGE0LDQudC7KNGLKS4nLA0KCSdDbGVhcl9DbGlwYm9hcmQnID0+ICfQntGH0LjRgdGC0LjRgtGMINCx0YPRhNC10YAg0L7QsdC80LXQvdCwJywNCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICfQntGH0LjRgdGC0LjRgtGMINCx0YPRhNC10YAg0L7QsdC80LXQvdCwPycsDQoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ9CV0YHRgtGMINGE0LDQudC70Ysg0LIg0LHRg9GE0LXRgNC1INC+0LHQvNC10L3QsC4nLA0KCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAn0JLRi9Cx0YDQsNC90L3Ri9C1INGE0LDQudC70Ysv0L/QsNC/0LrQuCDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0LjQtSDQtNC70Y8gJXMuINCe0LPRgNCw0L3QuNGH0LXQvdC40LU6ICVkINCc0LEg0LfQsCDQvtC00L3RgyDQvtC/0LXRgNCw0YbQuNGOJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdDb3B5X0N1dF9Db3VudF9MaW1pdCcgPT4gJ9CS0YvQsdGA0LDQvdC+INGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YTQsNC50LvQvtCyL9C/0LDQv9C+0Log0LTQu9GPICVzLiDQntCz0YDQsNC90LjRh9C10L3QuNC1OiAlZCDRhNCw0LnQu9C+0LIg0LfQsCDQvtC00L3RgyDQvtC/0LXRgNCw0YbQuNGOJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ9CS0Ysg0L3QtSDQvNC+0LbQtdGC0LUgJXMg0YTQsNC50LvRiy4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMNCgknQXZpYXJ5X05vX1NhdmUnID0+ICfQndC10LLQvtC30LzQvtC20L3QviDRgdC+0YXRgNCw0L3QuNGC0Ywg0LjQt9C+0LHRgNCw0LbQtdC90LjQtS4nLA0KCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ9CY0LfQstC70LXRh9GMINC90LXQstC+0LfQvNC+0LbQvdC+LiDQktC+0LfQvNC+0LbQvdC+INGE0LDQudC7INC/0L7QstGA0LXQttC00ZHQvS4nLA0KCSdaaXBfSW52YWxpZCcgPT4gJ9Ct0YLQviDRgNCw0YHRiNC40YDQtdC90LjQtSDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8uICDQoNCw0LfRgNC10YjRkdC90L3Ri9C1OiB6aXAsIGd6LCB0YXIuJywNCgknRGlyX05vX1dyaXRlJyA9PiAn0JLRi9Cx0YDQsNC90L3Ri9C5INC60LDRgtCw0LvQvtCzINC90LXQtNC+0YHRgtGD0L/QtdC9INC00LvRjyDQt9Cw0L/QuNGB0LguJywNCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICfQpNGD0L3QutGG0LjRjyAlcyDQsdGL0LvQsCDQvtGC0LrQu9GO0YfQtdC90LAg0L3QsCDRgdC10YDQstC10YDQtS4nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ9Cg0LDQt9GA0LXRiNC10L3QuNGPINC90LAg0YTQsNC50LsnLA0KCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICfQmNC30LzQtdC90LXQvdC40LUg0YDQsNC30YDQtdGI0LXQvdC40LkgJXMg0L3QtSDQtNC+0L/Rg9GB0LrQsNC10YLRgdGPLicsIC8vICVzID0gZmlsZXMgb3IgZm9sZGVycw0KCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAn0J/RgNC40LzQtdC90LjRgtGMINGA0LXQutGD0YDRgdC40LLQvdC+PycsDQoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAi0JLRi9Cx0YDQsNC90L3Ri9C1INGA0LXQttC40Lwg0YDQsNC30YDQtdGI0LXQvdC40Lkg0L3QtdC60L7RgNGA0LXQutGC0LXQvS4iLA0KCSdVc2VyJyA9PiAn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMJywNCgknR3JvdXAnID0+ICfQk9GA0YPQv9C/0LAnLA0KCSdZZXMnID0+ICfQlNCwJywNCgknTm8nID0+ICfQndC10YInLA0KCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ9Cd0LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0Y/Qt9GL0LonLA0KCSdMYW5nX0NoYW5nZScgPT4gJ9Ch0LzQtdC90LjRgtGMINGP0LfRi9C6JywNCgknRmlsZV9Ob3RfRm91bmQnID0+ICfQndC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INGE0LDQudC7JywNCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICfQktGLINC90LUg0LzQvtC20LXRgtC1ICVzINGN0YLQvtGCINGE0LDQudC7LicsIC8vICVzID0gb3BlbiBvciBlZGl0DQoJJ0VkaXQnID0+ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCcsDQoJJ0VkaXRfRmlsZScgPT4gItCg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGB0L7QtNC10YDQttC40LzQvtC1INGE0LDQudC70LAiLA0KCSdGaWxlX1NhdmVfT0snID0+ICLQpNCw0LnQuyDRg9GB0L/QtdGI0L3QviDRgdC+0YXRgNCw0L3RkdC9IiwNCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAi0J/RgNC+0LjQt9C+0YjQu9CwINC+0YjQuNCx0LrQsCDQv9GA0Lgg0YHQvtGF0YDQsNC90LXQvdC40Lgg0YTQsNC50LvQsCIsDQoJJ05ld19GaWxlJyA9PiAn0J3QvtCy0YvQuSDRhNCw0LnQuycsDQoJJ05vX0V4dGVuc2lvbicgPT4gJ9Cd0LXQvtCx0YXQvtC00LjQvNC+INC00L7QsdCw0LLQuNGC0Ywg0YDQsNGB0YjQuNGA0LXQvdC40LUg0YTQsNC50LvQsCcsDQoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICfQoNCw0LfRgNC10YjRkdC90L3Ri9C1INGA0LDRgdGI0LjRgNC10L3QuNGPINGE0LDQudC70LA6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4NCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLA0KDQoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsDQoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLA0KCSd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsDQoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwNCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwNCgknd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwNCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLA0KCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLA0KCSd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwNCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLA0KCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsDQoJJ25vIGZpbGUnID0+ICJObyBmaWxlIiwNCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwNCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwNCgknbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQ0KCSdCJyA9PiAiQiIsDQoJJ0tCJyA9PiAiS0IiLA0KCSdNQicgPT4gIk1CIiwNCgknR0InID0+ICJHQiIsDQoJJ1RCJyA9PiAiVEIiLA0KCSd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsDQopOw0K]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/sk.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnVnlicmHFpScsCgknRXJhc2UnID0+ICdPZHN0csOhbmnFpScsCgknT3BlbicgPT4gJ090dm9yacWlJywKCSdDb25maXJtX2RlbCcgPT4gJ05hb3phaiBvZHN0csOhbmnFpSB0ZW50byBzw7pib3I/JywKCSdBbGwnID0+ICdWxaFldGt5JywKCSdGaWxlcycgPT4gJ1PDumJvcnknLAoJJ0ltYWdlcycgPT4gJ09icsOhemt5JywKCSdBcmNoaXZlcycgPT4gJ0FyY2jDrXZ5JywKCSdFcnJvcl9VcGxvYWQnID0+ICdTw7pib3IgcHJlc2FodWplIG1heGltw6FsbnUgbW/Fvm7DuiB2ZcS+a29zxaUuJywKCSdFcnJvcl9leHRlbnNpb24nID0+ICdUeXAgc8O6Ym9ydSBuaWUgamUgcG9kcG9yb3ZhbsO9LicsCgknVXBsb2FkX2ZpbGUnID0+ICdTw7pib3InLAoJJ0ZpbHRlcnMnID0+ICdGaWx0cm92YcWlJywKCSdWaWRlb3MnID0+ICdWaWRlw6EnLAoJJ011c2ljJyA9PiAnSHVkYmEnLAoJJ05ld19Gb2xkZXInID0+ICdBZHJlc8OhcicsCgknRm9sZGVyX0NyZWF0ZWQnID0+ICdBZHJlc8OhciBib2wgdnl0dm9yZW7DvScsCgknRXhpc3RpbmdfRm9sZGVyJyA9PiAnQWRyZXPDoXIgdcW+IGV4aXN0dWplJywKCSdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICdOYW96YWogY2hjZXRlIHZ5bWF6YcWlIGFkcmVzw6FyIGEgb2RzdHLDoW5pxaUgdGFrIHbFoWV0a3kgc8O6Ym9yeSB2IMWIb20/JywKCSdSZXR1cm5fRmlsZXNfTGlzdCcgPT4gJ1Nww6TFpSBuYSB6b3puYW0gc8O6Ym9yb3YnLAoJJ1ByZXZpZXcnID0+ICdOw6FoxL5hZCcsCgknRG93bmxvYWQnID0+ICdTdGlhaG51xaUnLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ07DoXpvdiBhZHJlc8OhcmE6JywKCSdSb290JyA9PiAncm9vdCcsCgknUmVuYW1lJyA9PiAnUHJlbWVub3ZhxaUnLAoJJ0JhY2snID0+ICdzcMOkxaUnLAoJJ1ZpZXcnID0+ICdab2JyYXppxaUnLAoJJ1ZpZXdfbGlzdCcgPT4gJ1pvem5hbScsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdTdMS6cGNlJywKCSdWaWV3X2JveGVzJyA9PiAnSWtvbnknLAoJJ1Rvb2xiYXInID0+ICdOw6FzdHJvamUnLAoJJ0FjdGlvbnMnID0+ICdQcmlkYcWlJywKCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ1PDumJvciB1xb4gZXhpc3R1amUnLAoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdBZHJlc8OhciB1xb4gZXhpc3R1amUnLAoJJ0VtcHR5X25hbWUnID0+ICdOw6F6b3YgamUgcHLDoXpkbnknLAoJJ1RleHRfZmlsdGVyJyA9PiAnVnloxL5hZGHFpScsCgknU3dpcGVfaGVscCcgPT4gJ1ByZSB2aWFjIG1vxb5ub3N0w60gcHJlamRpdGUgbXnFoW91IG5hIHPDumJvci9hZHJlc8OhcicsCgknVXBsb2FkX2Jhc2UnID0+ICdLbGFzaWNrw6kgbmFocmF0aWUgc8O6Ym9yb3YnLAoJJ1VwbG9hZF9qYXZhJyA9PiAnTmFocmHFpSBzw7pib3J5IGNleiBKQVZBICh2ZcS+a8OpIHPDumJvcnkpJywKCSdVcGxvYWRfamF2YV9oZWxwJyA9PiAiQWsgc2EgdsOhbSBuZXpvYnJhesOtIEphdmEgQXBwbGV0IHVpc3RpdGUgc2EsIMW+ZSBtw6F0ZSBuYWluxaF0YWxvdmFuw7ogSmF2YSAoPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+c3RpYWhudcWlPC9hPikgYSBza29udHJvbHVqdGUgYmxva292YW5pZSBjZXogYnLDoW51IEZpcmV3YWxsLiIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIk15xaFvdSBwcmVzdcWIdGUgc8O6Ym9yeSBhbGVibyBrbGlrbml0ZSBuYSBwbG9jaHUgYSB2eWJlcnRlIHPDumJvcnkuIEtlxI8gamUgbmFocsOhdmFuaWUgZG9rb27EjWVuw6ksIGtsaWtuaXRlIG5hIHRsYcSNaWRsbyAnU3DDpMWlIG5hIHpvem5hbSBzw7pib3JvdicuIiwKCSdUeXBlX2RpcicgPT4gJ2RpcicsCgknVHlwZScgPT4gJ1R5cCcsCgknRGltZW5zaW9uJyA9PiAnUm96bMOtxaFlbmllJywKCSdTaXplJyA9PiAnVmXEvmtvc8WlJywKCSdEYXRlJyA9PiAnRMOhdHVtJywKCSdGaWxlbmFtZScgPT4gJ07DoXpvdicsCgknT3BlcmF0aW9ucycgPT4gJ09wZXLDoWNpZScsCgknRGF0ZV90eXBlJyA9PiAnZC5tLlknLAoJJ09LJyA9PiAnT0snLAoJJ0NhbmNlbCcgPT4gJ1pydcWhacWlJywKCSdTb3J0aW5nJyA9PiAnWm9yYWRpxaUnLAoJJ1Nob3dfdXJsJyA9PiAnWm9icmF0acWlIFVSTCcsCgknRXh0cmFjdCcgPT4gJ1JvemJhbGnFpSBzZW0nLAoJJ0ZpbGVfaW5mbycgPT4gJ0luZm9ybcOhY2llIG8gc8O6Ym9yZScsCgknRWRpdF9pbWFnZScgPT4gJ1VwcmF2acWlIG9icsOhem9rJywKCSdEdXBsaWNhdGUnID0+ICdEdXBsaWtvdmHFpScsCgknRm9sZGVycycgPT4gJ0FkcmVzw6FyZScsCgknQ29weScgPT4gJ0tvcMOtcm92YcWlJywKCSdDdXQnID0+ICdWeXN0cmlobsO6xaUnLAoJJ1Bhc3RlJyA9PiAnUHJpbGVwacWlJywKCSdDQicgPT4gJ1NjaHLDoW5rYScsIC8vIGNsaXBib2FyZAoJJ1Bhc3RlX0hlcmUnID0+ICdQcmlsZXBpxaUgZG8gdG9odG8gYWRyZXPDoXJhJywKCSdQYXN0ZV9Db25maXJtJyA9PiAnTmFvemFqIGNoY2V0ZSBwcmlsZXBpxaUgc8O6Ym9yeSBkbyB0b2h0byBhZHJlc8OhcmE/IEV4aXN0dWrDumNlIHPDumJvcnkgc2EgcHJlcMOtxaF1LicsCgknUGFzdGVfRmFpbGVkJyA9PiAnWmx5aGFsbyBwcmlsZXBlbmllIHPDumJvcm92JywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdWecSNaXN0acWlIHNjaHLDoW5rdScsCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdOYW96YWogY2hjZXRlIHZ5xI1pc3RpxaUgc2NocsOhbmt1PycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnTcOhdGUgc8O6Ym9yeSB2IHNjaHLDoW5rZS4nLAoJJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdWeWJyYW7DqSBwb2xvxb5reSBzw7ogcHLDrWxpxaEgdmXEvmvDqSBuYSB0byBhYnkgYm9saSB2eXN0cmlobnV0w6kgYWxlYm8ga29ww61yb3ZhbsOpLiBMaW1pdDogJWQgTUIvb3BlcsOhY2lhJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnVnlicmFsaSBzdGUgcHLDrWxpxaEgdmXEvmEgcG9sb8W+aWVrIG5hIHRvIGFieSBib2xpIHZ5c3RyaWhudXTDqSBhbGVibyBrb3DDrXJvdmFuw6kuIExpbWl0OiAlZCBmaWxlcy9vcGVyw6FjaWEnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdOZW3DoXRlIHBvdm9sZW5pZSBuYSB2eXN0cmlobnV0aWUgYWxlYm8ga29ww61yb3ZhbmllIHBvbG/Fvmllay4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKCSdBdmlhcnlfTm9fU2F2ZScgPT4gJ09icsOhem9rIG5lYm9sIHVsb8W+ZW7DvS4nLAoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAnU8O6Ym9yIG5lbW/Fvm5vIHJvemJhbGnFpS4gTcO0xb5lIGJ5xaUgcG/FoWtvZGVuw70uJywKCSdaaXBfSW52YWxpZCcgPT4gJ1RlbnRvIHR5cCBzw7pib3J1IG5lbW/Fvm5vIHJvemJhbGnFpS4gUG92b2xlbsOpIGZvcm3DoXR5OiB6aXAsIGd6LCB0YXIuJywKCSdEaXJfTm9fV3JpdGUnID0+ICdEbyB2eWJyYW7DqWhvIGFkcmVzw6FyYSBuZW1vxb5ubyB6YXBpc292YcWlLicsCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdGdW5rY2l1IHZ5c3RyaWhuw7rFpSBhbGVibyBrb3DDrXJvdmHFpSBuZXBvZHBvcnVqZSBWw6FzIHdlYmhvc3RpbmcuJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ1Bvdm9sZW5pYSBzw7pib3JvdicsCgknRmlsZV9QZXJtaXNzaW9uX05vdF9BbGxvd2VkJyA9PiAnWm1lbmEgcG92b2xlbsOtIHPDumJvcm92IGFsZWJvIGFkcmVzw6Fyb3YgbmllIGplIHBvdm9sZW7DoS4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnUG91xb5pxaUgbmEgdm5vcmVuw6kgc8O6Ym9yeSBhIGFkcmVzw6FyZT8nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiTmVzcHLDoXZueSBtw7NkIHBvdm9sZW5pYSIsCgknVXNlcicgPT4gJ1XFvsOtdmF0ZcS+JywKCSdHcm91cCcgPT4gJ1NrdXBpbmEnLAoJJ1llcycgPT4gJ8OBbm8nLAoJJ05vJyA9PiAnTmllJywKCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ0phenlrIG5lYm9sIG7DoWpkZW7DvS4nLAoJJ0xhbmdfQ2hhbmdlJyA9PiAnWm1lbmnFpSBqYXp5aycsCgknRmlsZV9Ob3RfRm91bmQnID0+ICdTw7pib3Igc2EgbmVuYcWhaWVsLicsCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdOZW3DoXRlIHByw6F2byBvdHZvcmnFpSBhbGVibyB1cHJhdm92YcWlIHRlbnRvIHPDumJvci4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAoJJ0VkaXQnID0+ICdVcHJhdmnFpScsCgknRWRpdF9GaWxlJyA9PiAiVXByYXZpxaUgb2JzYWggc8O6Ym9ydSIsCgknRmlsZV9TYXZlX09LJyA9PiAiU8O6Ym9yIGJvbCB1bG/FvmVuw70uIiwKCSdGaWxlX1NhdmVfRXJyb3InID0+ICJOYXN0YWxhIGNoeWJhISBTw7pib3IgbmVib2wgdWxvxb5lbsO9LiIsCgknTmV3X0ZpbGUnID0+ICdOb3bDvSBzw7pib3InLAoJJ05vX0V4dGVuc2lvbicgPT4gJ011c8OtdGUgcHJpZGHFpSBwcsOtcG9udSBzw7pib3J1LicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1Bvdm9sZW7DqSBwcsOtcG9ueTogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgoJJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKCSdmb3JiaWRlbicgPT4gIkZvcmJpZGVuIiwKCSd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLAoJJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsCgknd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwKCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsCgknd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwKCSd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwKCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsCgknbm8gcGF0aCcgPT4gIk5vIHBhdGgiLAoJJ25vIGZpbGUnID0+ICJObyBmaWxlIiwKCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLAoJJ05vdCBlbm91Z2h0IE1lbW9yeScgPT4gIk5vdCBlbm91Z2h0IE1lbW9yeSIsCgknbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQoJJ0InID0+ICJCIiwKCSdLQicgPT4gIktCIiwKCSdNQicgPT4gIk1CIiwKCSdHQicgPT4gIkdCIiwKCSdUQicgPT4gIlRCIiwKCSd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/sl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ096bmHEjWknLA0KCSdFcmFzZScgPT4gJ0l6YnJpxaFpJywNCgknT3BlbicgPT4gJ09kcHJpJywNCgknQ29uZmlybV9kZWwnID0+ICdBbGkgcmVzIMW+ZWxpdGUgaXpicmlzYXRpIHRvIGRhdG90ZWtvPycsDQoJJ0FsbCcgPT4gJ1ZzZScsDQoJJ0ZpbGVzJyA9PiAnRGF0b3Rla2UnLA0KCSdJbWFnZXMnID0+ICdTbGlrZScsDQoJJ0FyY2hpdmVzJyA9PiAnQXJoaXYnLA0KCSdFcnJvcl9VcGxvYWQnID0+ICdWZWxpa29zdCBkYXRvdGVrZSBwcmVzZWdhIG1ha3NpbWFsbm8gZG92b2xqZW5vIHZlbGlrb3N0LicsDQoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ0l6YnJhbmEgdnJzdGEgZGF0b3Rla2UgbmkgZG92b2xqZW5hLicsDQoJJ1VwbG9hZF9maWxlJyA9PiAnTmFsb8W+aSBkYXRvdGVrZSBuYSBzdHJlxb5uaWsnLA0KCSdGaWx0ZXJzJyA9PiAnRmlsdHJpJywNCgknVmlkZW9zJyA9PiAnVmlkZW8nLA0KCSdNdXNpYycgPT4gJ0dsYXNiYScsDQoJJ05ld19Gb2xkZXInID0+ICdOb3ZhIG1hcGEnLA0KCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ01hcGEgamUgYmlsYSB1c3R2YXJqZW5hJywNCgknRXhpc3RpbmdfRm9sZGVyJyA9PiAnT2JzdG9qZcSNYSBtYXBhJywNCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnQWxpIHJlcyDFvmVsaXRlIGl6YnJpc2F0aSBtYXBvIGluIHZzbyB2c2ViaW5vLCBraSBqZSB2IG1hcGk/JywNCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdOYXphaiBuYSBzZXpuYW0gZGF0b3RlaycsDQoJJ1ByZXZpZXcnID0+ICdQcmVkb2dsZWQnLA0KCSdEb3dubG9hZCcgPT4gJ1ByZW5lc2knLA0KCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdWcGnFoXRlIGltZSBtYXBlOicsDQoJJ1Jvb3QnID0+ICdEb21vdicsDQoJJ1JlbmFtZScgPT4gJ1ByZWltZW51aicsDQoJJ0JhY2snID0+ICdOYXphaicsDQoJJ1ZpZXcnID0+ICdQcmlrYXonLA0KCSdWaWV3X2xpc3QnID0+ICdTZXpuYW0nLA0KCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ1N0b2xwY2knLA0KCSdWaWV3X2JveGVzJyA9PiAnT2t2aXJqaScsDQoJJ1Rvb2xiYXInID0+ICdPcm9kbmEgdnJzdGljYScsDQoJJ0FjdGlvbnMnID0+ICdBa2NpamUnLA0KCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0RhdG90ZWthIMW+ZSBvYnN0YWphJywNCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ01hcGEgxb5lIG9ic3RhamEnLA0KCSdFbXB0eV9uYW1lJyA9PiAnSW1lIGplIHByYXpubycsDQoJJ1RleHRfZmlsdGVyJyA9PiAnacWhxI1pJywNCgknU3dpcGVfaGVscCcgPT4gJ0l6bWFrbmkgaW1lIGRhdG90ZWtlL21hcGUgemEgcHJpa2F6IG1vxb5ub3N0aScsDQoJJ1VwbG9hZF9iYXNlJyA9PiAnT3Nub3ZuaSBuYcSNaW4nLA0KCSdVcGxvYWRfamF2YScgPT4gJ0pBVkEgcHJlbm9zICh6YSB2ZWxpa2UgZGF0b3Rla2UpJywNCgknVXBsb2FkX2phdmFfaGVscCcgPT4gIsSMZSBzZSBKYXZhIG5lIHphxb5lbmUsIHByZXZlcml0ZSDEjWUgaW1hdGUgSmF2byBuYWxvxb5lbm8gKMSNZSBqZSBuaW1hdGUgam8gPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+W25hbG/Fvml0ZV08L2E+KSBpbiBwcmV2ZXJpdGUgZGEgamUgbmUgYmxva2lyYSB2YcWhIHBvxb5hcm5pIHppZC4iLA0KCSdVcGxvYWRfYmFzZV9oZWxwJyA9PiAnUG92bGVjaXRlIGluIHNwdXN0aXRlIGRhdG90ZWtlIGFsaSBrbGlrbml0ZSB2IG9rdmlyIChwcmkgc29kb2JuaWggYnJza2FsbmlraWgpIGluIGl6YmVyaXRlIGRhdG90ZWtlLiBLbyBibyBuYWxhZ2FuamUga29uxI1hbm8sIGtsaWtuaXRlIGd1bWIgIk5hemFqIG5hIHNlem5hbSBkYXRvdGVrIi4nLA0KCSdUeXBlX2RpcicgPT4gJ01hcGEnLA0KCSdUeXBlJyA9PiAnVnJzdGEnLA0KCSdEaW1lbnNpb24nID0+ICdEaW1lbnppamEnLA0KCSdTaXplJyA9PiAnVmVsaWtvc3QnLA0KCSdEYXRlJyA9PiAnRGF0dW0nLA0KCSdGaWxlbmFtZScgPT4gJ0ltZScsDQoJJ09wZXJhdGlvbnMnID0+ICdVa2F6aScsDQoJJ0RhdGVfdHlwZScgPT4gJ2QubS55JywNCgknT0snID0+ICdQb3RyZGknLA0KCSdDYW5jZWwnID0+ICdQcmVrbGnEjWknLA0KCSdTb3J0aW5nJyA9PiAnUmF6dnJzdGkgcG86JywNCgknU2hvd191cmwnID0+ICdQcmlrYcW+aSBwb3ZlemF2bycsDQoJJ0V4dHJhY3QnID0+ICdSYXrFoWlyaSBzZW0nLA0KCSdGaWxlX2luZm8nID0+ICdQb2RhdGtpIG8gZGF0b3Rla2knLA0KCSdFZGl0X2ltYWdlJyA9PiAnVXJlZGkgc2xpa28nLA0KCSdEdXBsaWNhdGUnID0+ICdQb2R2b2ppJywNCgknRm9sZGVycycgPT4gJ0ZvbGRlcnMnLA0KCSdDb3B5JyA9PiAnQ29weScsDQoJJ0N1dCcgPT4gJ0N1dCcsDQoJJ1Bhc3RlJyA9PiAnUGFzdGUnLA0KCSdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkDQoJJ1Bhc3RlX0hlcmUnID0+ICdQYXN0ZSB0byB0aGlzIGRpcmVjdG9yeScsDQoJJ1Bhc3RlX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGFzdGUgdG8gdGhpcyBkaXJlY3Rvcnk/IFRoaXMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMvZm9sZGVycyBpZiBlbmNvdW50ZXJlZCBhbnkuJywNCgknUGFzdGVfRmFpbGVkJyA9PiAnRmFpbGVkIHRvIHBhc3RlIGZpbGUocyknLA0KCSdDbGVhcl9DbGlwYm9hcmQnID0+ICdDbGVhciBjbGlwYm9hcmQnLA0KCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbGVhciB0aGUgY2xpcGJvYXJkPycsDQoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ1RoZXJlIGFyZSBmaWxlcyBvbiB0aGUgY2xpcGJvYXJkLicsDQoJJ0NvcHlfQ3V0X1NpemVfTGltaXQnID0+ICdUaGUgc2VsZWN0ZWQgZmlsZXMvZm9sZGVycyBhcmUgdG9vIGJpZyB0byAlcy4gTGltaXQ6ICVkIE1CL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkNCgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdZb3Ugc2VsZWN0ZWQgdG9vIG1hbnkgZmlsZXMvZm9sZGVycyB0byAlcy4gTGltaXQ6ICVkIGZpbGVzL29wZXJhdGlvbicsIC8vICVzID0gY3V0IG9yIGNvcHkNCgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIGZpbGVzLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycw0KCSdBdmlhcnlfTm9fU2F2ZScgPT4gJ0NvdWxkIG5vdCBzYXZlIGltYWdlJywNCgknWmlwX05vX0V4dHJhY3QnID0+ICdDb3VsZCBub3QgZXh0cmFjdC4gRmlsZSBtaWdodCBiZSBjb3JydXB0LicsDQoJJ1ppcF9JbnZhbGlkJyA9PiAnVGhpcyBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZC4gVmFsaWQ6IHppcCwgZ3osIHRhci4nLA0KCSdEaXJfTm9fV3JpdGUnID0+ICdUaGUgZGlyZWN0b3J5IHlvdSBzZWxlY3RlZCBpcyBub3Qgd3JpdGFibGUuJywNCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdUaGUgJXMgZnVuY3Rpb24gaGFzIGJlZW4gZGlzYWJsZWQgYnkgdGhlIHNlcnZlci4nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0ZpbGVfUGVybWlzc2lvbicgPT4gJ0ZpbGUgcGVybWlzc2lvbicsDQoJJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMNCgknRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwcGx5IHJlY3Vyc2l2ZWx5PycsDQoJJ0ZpbGVfUGVybWlzc2lvbl9Xcm9uZ19Nb2RlJyA9PiAiVGhlIHN1cHBsaWVkIHBlcm1pc3Npb24gbW9kZSBpcyBpbmNvcnJlY3QuIiwNCgknVXNlcicgPT4gJ1VzZXInLA0KCSdHcm91cCcgPT4gJ0dyb3VwJywNCgknWWVzJyA9PiAnWWVzJywNCgknTm8nID0+ICdObycsDQoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgbGFuZ3VhZ2UuJywNCgknTGFuZ19DaGFuZ2UnID0+ICdDaGFuZ2UgdGhlIGxhbmd1YWdlJywNCgknRmlsZV9Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgZmlsZS4nLA0KCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgdGhpcyBmaWxlLicsIC8vICVzID0gb3BlbiBvciBlZGl0DQoJJ0VkaXQnID0+ICdFZGl0JywNCgknRWRpdF9GaWxlJyA9PiAiRWRpdCBmaWxlJ3MgY29udGVudCIsDQoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGUgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsDQoJJ0ZpbGVfU2F2ZV9FcnJvcicgPT4gIlRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBzYXZpbmcgdGhlIGZpbGUuIiwNCgknTmV3X0ZpbGUnID0+ICdOZXcgRmlsZScsDQoJJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsDQoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdWYWxpZCBleHRlbnNpb25zOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuDQoJJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwNCg0KCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLA0KCSdmb3JiaWRlbicgPT4gIkZvcmJpZGVuIiwNCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLA0KCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsDQoJJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsDQoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsDQoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwNCgknd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwNCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsDQoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwNCgknbm8gcGF0aCcgPT4gIk5vIHBhdGgiLA0KCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsDQoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsDQoJJ05vdCBlbm91Z2h0IE1lbW9yeScgPT4gIk5vdCBlbm91Z2h0IE1lbW9yeSIsDQoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUNCgknQicgPT4gIkIiLA0KCSdLQicgPT4gIktCIiwNCgknTUInID0+ICJNQiIsDQoJJ0dCJyA9PiAiR0IiLA0KCSdUQicgPT4gIlRCIiwNCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLA0KKTsNCg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnVsOkbGonLCAvLyBTZWxlY3QKCSdFcmFzZScgPT4gJ1JhZGVyYScsIC8vIEVyYXNlCgknT3BlbicgPT4gJ8OWcHBuYScsIC8vIE9wZW4KCSdDb25maXJtX2RlbCcgPT4gJ8OEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIHJhZGVyYSBkZW5uYSBmaWw/JywgLy9BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZmlsZT8KCSdBbGwnID0+ICdBbGxhJywgLy8gQWxsCgknRmlsZXMnID0+ICdGaWxlcicsIC8vIEZpbGVzCgknSW1hZ2VzJyA9PiAnQmlsZGVyJywgLy8gSW1hZ2VzCgknQXJjaGl2ZXMnID0+ICdBcmtpdicsIC8vIEFyY2hpdmVzCgknRXJyb3JfVXBsb2FkJyA9PiAnRGVuIHVwcGxhZGRhZGUgZmlsZW4gw7Z2ZXJza3JpZGVyIG1heCBzdG9ybGVrZW4uJywgLy8gVGhlIHVwbG9hZGVkIGZpbGUgZXhjZWVkcyB0aGUgbWF4IHNpemUgYWxsb3dlZC4KCSdFcnJvcl9leHRlbnNpb24nID0+ICdGaWx0eXBlbiDDpHIgZWogdGlsbMOldGVuLicsIC8vIEZpbGUgZXh0ZW5zaW9uIGlzIG5vdCBhbGxvd2VkLgoJJ1VwbG9hZF9maWxlJyA9PiAnTGFkZGEgdXBwJywgLy8gVXBsb2FkCgknRmlsdGVycycgPT4gJ0ZpbHRlcicsIC8vIEZpbHRlcnMKCSdWaWRlb3MnID0+ICdWaWRlb3InLCAvLyBWaWRlb3MKCSdNdXNpYycgPT4gJ011c2lrJywgLy8gTXVzaWMKCSdOZXdfRm9sZGVyJyA9PiAnTnkga2F0YWxvZycsIC8vIE5ldyBGb2xkZXIKCSdGb2xkZXJfQ3JlYXRlZCcgPT4gJ0thdGFsb2dlbiBoYXIgc2thcGF0cycsIC8vIEZvbGRlciBjb3JyZWN0bHkgY3JlYXRlZAoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ0JlZmludGxpZyBrYXRhbG9nJywgLy8gRXhpc3RpbmcgZm9sZGVyCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAnw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgcmFkZXJhIGRlbm5hIGthdGFsb2cgc2FtdCBkZXNzIGlubmVow6VsbD8nLCAvLyBBcmUgeW91IHN1cmUgdG8gZGVsZXRlIHRoZSBmb2xkZXIgYW5kIGFsbCB0aGUgZWxlbWVudHMgaW4gaXQ/CgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdUaWxsYmFrYSB0aWxsIGZpbHZpc2FyZW4nLCAvLyBSZXR1cm4gdG8gZmlsZXMgbGlzdAoJJ1ByZXZpZXcnID0+ICdGw7ZyaGFuZHNncmFuc2thJywgLy8gUHJldmlldwoJJ0Rvd25sb2FkJyA9PiAnTGFkZGEgaGVtJywgLy8gRG93bmxvYWQKCSdJbnNlcnRfRm9sZGVyX05hbWUnID0+ICdBbmdlIGthdGFsb2cgbmFtbjonLCAvLyBJbnNlcnQgZm9sZGVyIG5hbWU6CgknUm9vdCcgPT4gJ3Jvb3QnLCAvLyByb290CgknUmVuYW1lJyA9PiAnQnl0IG5hbW4nLCAvLyBSZW5hbWUKCSdCYWNrJyA9PiAndGlsbGJha2EnLCAvLyBiYWNrCgknVmlldycgPT4gJ1Zpc2EnLCAvLyBWaWV3CgknVmlld19saXN0JyA9PiAnTGlzdHZ5JywgLy8gTGlzdCB2aWV3CgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdDb2x1bW52eScsIC8vIENvbHVtbnMgbGlzdCB2aWV3CgknVmlld19ib3hlcycgPT4gJ0JveHZ5JywgLy8gQm94IHZpZXcKCSdUb29sYmFyJyA9PiAnVmVya3R5Z3Nmw6RsdCcsIC8vIFRvb2xiYXIKCSdBY3Rpb25zJyA9PiAnw4V0Z8OkcmRlcicsIC8vIEFjdGlvbnMKCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0RldCBmaW5ucyByZWRhbiBlbiBmaWwgbWVkIGRldCBuYW1uZXQnLCAvLyBUaGUgZmlsZSBpcyBhbHJlYWR5IGV4aXN0aW5nCgknUmVuYW1lX2V4aXN0aW5nX2ZvbGRlcicgPT4gJ0RldCBmaW5ucyByZWRhbiBlbiBrYXRhbG9nIG1lZCBkZXQgbmFtbmV0JywgLy8gVGhlIGZvbGRlciBpcyBhbHJlYWR5IGV4aXN0aW5nCgknRW1wdHlfbmFtZScgPT4gJ0R1IGhhciBlaiBhbmdpdmV0IG7DpWdvdCBuYW1uJywgLy8gVGhlIG5hbWUgaXMgZW1wdHkKCSdUZXh0X2ZpbHRlcicgPT4gJ3RleHQgZmlsdGVyJywgLy8gdGV4dCBmaWx0ZXIKCSdTd2lwZV9oZWxwJyA9PiAnU3ZlcCDDtnZlciBmaWxuYW1uZXQva2F0YWxvZ25hbW5ldCBmw7ZyIGF0dCB2aXNhIMOldGfDpHJkZXInLCAvLyBTd2lwZSB0aGUgbmFtZSBvZiBmaWxlL2ZvbGRlciB0byBzaG93IG9wdGlvbnMKCSdVcGxvYWRfYmFzZScgPT4gJ0Jhc2FsIHVwcGxhZGRuaW5nJywgLy8gQmFzZSB1cGxvYWQKCSdVcGxvYWRfamF2YScgPT4gJ0pBVkEgdXBwbGFkZG5pbmcgKGbDtnIgc3RvcmEgZmlsZXIpJywgLy8gSkFWQSB1cGxvYWQgKGJpZyBzaXplIGZpbGVzKQoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJPbSBKYXZhIEFwcGxldGVuIGludGUgbGFkZGFyLCAxLiBzw6RrZXJzdMOkbGwgYXR0IEphdmEgw6RyIGluc3RhbGxlcmF0LCA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5sYWRkYSBoZW08L2E+IG9jaCBpbnN0YWxsZXJhIG9tIGRldCBzYWtuYXMgIDIuIHPDpGtlcnN0w6RsbCBhdHQgcHJvZ3JhbW1ldCBpbnRlIGJsb2tlcmFzIGF2IGRpbiBicmFuZHbDpGdnIiwgLy8gSWYgdGhlIEphdmEgQXBwbGV0IGRvZXNuJ3QgbG9hZCwgMS4gbWFrZSBzdXJlIHlvdSBoYXZlIEphdmEgaW5zdGFsbGVkLCBvdGhlcndpc2UgPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+W2Rvd25sb2FkIGxpbmtdPC9hPiAgIDIuIG1ha2Ugc3VyZSBub3RoaW5nIGlzIGJsb2NrZWQgYnkgeW91ciBmaXJld2FsbAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEcmEgb2NoIHNsw6RwYSBmaWxlciBlbGxlciBrbGlja2Egb3ZhbiBvY2ggdsOkbGogZW4gZWxsZXIgZmxlcmEgZmlsZXIuIE7DpHIgdXBwbGFkbmluZ2VuIMOkciBrbGFyLCBrbGlja2EgcMOlICdUaWxsYmFrYSB0aWxsIGZpbHZpc2FyZW4nIGtuYXBwZW4uIiwgLy8gRHJhZyAmIERyb3AgZmlsZXMgb3IgY2xpY2sgaW4gdGhlIGFyZWEgYWJvdmUgKG1vZGVybiBicm93c2VycykgYW5kIHNlbGVjdCB0aGUgZmlsZShzKS4gV2hlbiB0aGUgdXBsb2FkIGlzIGNvbXBsZXRlLCBjbGljayB0aGUgJ1JldHVybiB0byBmaWxlcyBsaXN0JyBidXR0b24uCgknVHlwZV9kaXInID0+ICdrYXRhbG9nJywgLy8gZGlyCgknVHlwZScgPT4gJ1R5cCcsIC8vIFR5cGUKCSdEaW1lbnNpb24nID0+ICdEaW1lbnNpb24nLCAvLyBEaW1lbnNpb24KCSdTaXplJyA9PiAnU3RvcmxlaycsIC8vIFNpemUKCSdEYXRlJyA9PiAnRGF0dW0nLCAvLyBEYXRlCgknRmlsZW5hbWUnID0+ICdGaWxuYW1lJywgLy8gRmlsZW5hbWUKCSdPcGVyYXRpb25zJyA9PiAnSGFuZGxpbmdhcicsIC8vIE9wZXJhdGlvbnMKCSdEYXRlX3R5cGUnID0+ICd5LW0tZCcsIC8vIHktbS1kCgknT0snID0+ICdPSycsIC8vIE9LCgknQ2FuY2VsJyA9PiAnQXZicnl0JywgLy8gQ2FuY2VsCgknU29ydGluZycgPT4gJ3NvcnRlcmluZycsIC8vIHNvcnRpbmcKCSdTaG93X3VybCcgPT4gJ3Zpc2Egc8O2a3bDpGcnLCAvLyBzaG93IFVSTAoJJ0V4dHJhY3QnID0+ICdwYWNrYSB1cHAgaMOkcicsIC8vIGV4dHJhY3QgaGVyZQoJJ0ZpbGVfaW5mbycgPT4gJ2ZpbCBpbmZvcm1hdGlvbicsIC8vIGZpbGUgaW5mbwoJJ0VkaXRfaW1hZ2UnID0+ICdlZGl0ZXJhIGJpbGQnLCAvLyBlZGl0IGltYWdlCgknRHVwbGljYXRlJyA9PiAnRHVwbGljZXJhJywgLy8gRHVwbGljYXRlCgknRm9sZGVycycgPT4gJ0ZvbGRlcnMnLCAvLyBGb2xkZXJzCgknQ29weScgPT4gJ0tvcGllcmEnLCAvLyBDb3B5CgknQ3V0JyA9PiAnS2xpcHAgdXQnLCAvLyBDdXQKCSdQYXN0ZScgPT4gJ0tsaXN0cmEgaW4nLCAvLyBQYXN0ZQoJJ0NCJyA9PiAnVXJrbGlwcCcsIC8vQ0IsICBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnS2xpc3RyYSBpbiBpIGRlbm5hIG1hcHAnLCAvLyBQYXN0ZSB0byB0aGlzIGRpcmVjdG9yeQoJJ1Bhc3RlX0NvbmZpcm0nID0+ICfDhHIgZHUgc8Oka2VyIHDDpSBhdHQgZHUgdmlsbCBrbGlzdHJhIGluIGkgZGVubmEgbWFwcD8gQmVmaW50bGlnYSBmaWxlciBvY2ggbWFwcGFyIGthbiBibGkgw7Z2ZXJza3Jpdm5hLicsIC8vIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwYXN0ZSB0byB0aGlzIGRpcmVjdG9yeT8gVGhpcyB3aWxsIG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcy9mb2xkZXJzIGlmIGVuY291bnRlcmVkIGFueS4KCSdQYXN0ZV9GYWlsZWQnID0+ICdNaXNzbHlja2FkZXMgbWVkIGF0dCBrbGlzdHJhIGluIGZpbChlciknLCAvLyBGYWlsZWQgdG8gcGFzdGUgZmlsZShzKQoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1JlbnNhIHVya2xpcHAnLCAvLyBDbGVhciBjbGlwYm9hcmQKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ8OEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIHJlbnNhIHVya2xpcHA/JywgLy8gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsZWFyIHRoZSBjbGlwYm9hcmQ/CgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnRGV0IGZpbm5zIGZpbGVyIGkgdXJrbGlwcC4nLCAvLyBUaGVyZSBhcmUgZmlsZXMgb24gdGhlIGNsaXBib2FyZC4KCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnRGUgdmFsZGEgZmlsZXJuYS9tYXBwYXJuYSDDpHIgZsO2ciBzdG9yYSBmw7ZyIGF0dCAlcy4gR3LDpG5zOiAlZCBNQiBwZXIgb3BlcmF0aW9uJywgLy8gVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24gICAgICAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdGw7ZyIG3DpW5nYSBmaWxlci9tYXBwYXIgw6RyIHZhbGRhIGbDtnIgYXR0IGRlIHNrYSBrdW5uYSAlcy4gR3LDpG5zOiAjZCBmaWxlciBwZXIgb3BlcmF0aW9uJywgLy8gWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJXMuIExpbWl0OiAlZCBmaWxlcy9vcGVyYXRpb24gICAgICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ0R1IGhhciBlaiBiZWjDtnJpZ2hldCBhdHQgJXMgZmlsZXIuJywgLy8gWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyBmaWxlcy4gICAgICAgICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnTWlzc2x5Y2thZGVzIG1lZCBhdHQgc3BhcmEgYmlsZCcsIC8vIENvdWxkIG5vdCBzYXZlIGltYWdlCgknWmlwX05vX0V4dHJhY3QnID0+ICdNaXNzbHlja2FkZXMgbWVkIGF0dCBwYWNrYSB1cHAuIEZpbGVuIGthbiBldmVudHVlbGx0IHZhcmEga29ycnVwdC4nLCAvLyBDb3VsZCBub3QgZXh0cmFjdC4gRmlsZSBtaWdodCBiZSBjb3JydXB0LgoJJ1ppcF9JbnZhbGlkJyA9PiAnRmlsdHlwZW4gc3TDtmRzIGVqLiBTdMO2ZGphIGZpbHR5cGVyOiB6aXAsIGd6IG9jaCB0YXIuJywgLy8gVGhpcyBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZC4gVmFsaWQ6IHppcCwgZ3osIHRhci4KCSdEaXJfTm9fV3JpdGUnID0+ICdEZXQgZ8OlciBlaiBhdHQgc2tyaXZhIHRpbGwgZGVuIHZhbGRhIHPDtmt2w6RnZW4uJywgLy8gVGhlIGRpcmVjdG9yeSB5b3Ugc2VsZWN0ZWQgaXMgbm90IHdyaXRhYmxlLgoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnRnVua3Rpb25lbiBmw7ZyIGF0dCAlcyDDpHIgaW5ha3RpdmVyYWQuJywgLy8gVGhlICVzIGZ1bmN0aW9uIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIuICAgICAgICVzID0gY3V0IG9yIGNvcHkKCSdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ0NoYW5naW5nICVzIHBlcm1pc3Npb25zIGFyZSBub3QgYWxsb3dlZC4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsCgknVXNlcicgPT4gJ1VzZXInLAoJJ0dyb3VwJyA9PiAnR3JvdXAnLAoJJ1llcycgPT4gJ1llcycsCgknTm8nID0+ICdObycsCgknTGFuZ19Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCBsYW5ndWFnZS4nLAoJJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlIHRoZSBsYW5ndWFnZScsCgknRmlsZV9Ob3RfRm91bmQnID0+ICdDb3VsZCBub3QgZmluZCB0aGUgZmlsZS4nLAoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyB0aGlzIGZpbGUuJywgLy8gJXMgPSBvcGVuIG9yIGVkaXQKCSdFZGl0JyA9PiAnRWRpdCcsCgknRWRpdF9GaWxlJyA9PiAiRWRpdCBmaWxlJ3MgY29udGVudCIsCgknRmlsZV9TYXZlX09LJyA9PiAiRmlsZSBzdWNjZXNzZnVsbHkgc2F2ZWQuIiwKCSdGaWxlX1NhdmVfRXJyb3InID0+ICJUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBmaWxlLiIsCgknTmV3X0ZpbGUnID0+ICdOZXcgRmlsZScsCgknTm9fRXh0ZW5zaW9uJyA9PiAnWW91IGhhdmUgdG8gYWRkIGEgZmlsZSBleHRlbnNpb24uJywKCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLgoJJ1VwbG9hZF9tZXNzYWdlJyA9PiAiRHJvcCBmaWxlIGhlcmUgdG8gdXBsb2FkIiwKCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwKCSdmb3JiaWRlbicgPT4gIkZvcmJpZGVuIiwKCSd3cm9uZyBwYXRoJyA9PiAiV3JvbmcgcGF0aCIsCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLAoJJ3dyb25nIGV4dGVuc2lvbicgPT4gIldyb25nIGV4dGVuc2lvbiIsCgknd3Jvbmcgb3B0aW9uJyA9PiAiV3Jvbmcgb3B0aW9uIiwKCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsCgknd3JvbmcgYWN0aW9uJyA9PiAiV3JvbmcgYWN0aW9uIiwKCSd3cm9uZyBzdWItYWN0aW9uJyA9PiAiV3Jvbmcgc3ViLWFjdGlvIiwKCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsCgknbm8gcGF0aCcgPT4gIk5vIHBhdGgiLAoJJ25vIGZpbGUnID0+ICJObyBmaWxlIiwKCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLAoJJ05vdCBlbm91Z2h0IE1lbW9yeScgPT4gIk5vdCBlbm91Z2h0IE1lbW9yeSIsCgknbWF4X3NpemVfcmVhY2hlZCcgPT4gIllvdXIgZm9sZGVyIGhhcyByZWFjaCBpdHMgbWF4aW1hbGUgc2l6ZSBvZiAlZCBNQi4iLCAvLyVkID0gbWF4IG92ZXJhbGwgc2l6ZQoJJ0InID0+ICJCIiwKCSdLQicgPT4gIktCIiwKCSdNQicgPT4gIk1CIiwKCSdHQicgPT4gIkdCIiwKCSdUQicgPT4gIlRCIiwKCSd0b3RhbCBzaXplJyA9PiAiVG90YWwgc2l6ZSIsCik7Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/tr_TR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnU2XDpycsCgknRXJhc2UnID0+ICdTaWwnLAoJJ09wZW4nID0+ICdBw6cnLAoJJ0NvbmZpcm1fZGVsJyA9PiAnQnUgZG9zeWF5xLEgc2lsbWVrIGlzdGVkacSfaW5pemRlbiBlbWluIG1pc2luaXo/JywKCSdBbGwnID0+ICdUw7xtw7wnLAoJJ0ZpbGVzJyA9PiAnRG9zeWFsYXInLAoJJ0ltYWdlcycgPT4gJ1Jlc2ltbGVyJywKCSdBcmNoaXZlcycgPT4gJ0FyxZ9pdmxlcicsCgknRXJyb3JfVXBsb2FkJyA9PiAnWcO8a2xlbWV5ZSDDp2FsxLHFn3TEscSfxLFuxLF6IGRvc3lhIG1heGltdW0gecO8a2xlbWUgbGltaXRpbmkgYcWfdMSxLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnRG9zeWEgdXphbnTEsXPEsW5hIGl6aW4geW9rLicsCgknVXBsb2FkX2ZpbGUnID0+ICdEb3N5YSBZw7xrbGUnLAoJJ0ZpbHRlcnMnID0+ICdGaWx0cmVsZXInLAoJJ1ZpZGVvcycgPT4gJ1ZpZGVvbGFyJywKCSdNdXNpYycgPT4gJ03DvHppa2xlcicsCgknTmV3X0ZvbGRlcicgPT4gJ1llbmkgS2xhc8O2cicsCgknRm9sZGVyX0NyZWF0ZWQnID0+ICdLbGFzw7ZyIGJhxZ9hcsSxeWxhIG9sdcWfdHVydWxkdS4nLAoJJ0V4aXN0aW5nX0ZvbGRlcicgPT4gJ01ldmN1dCBLbGFzw7ZyJywKCSdDb25maXJtX0ZvbGRlcl9kZWwnID0+ICdCdSBrbGFzw7Zyw7wgdmUgacOnaW5kZWtpbGVyaSBzaWxtZWsgaXN0ZWRpxJ9pbml6ZGVuIGVtaW4gbWlzaW5pej8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAnRG9zeWEgTGlzdGVzaW5lIEdlcmkgRMO2bicsCgknUHJldmlldycgPT4gJ8OWbml6bGVtZScsCgknRG93bmxvYWQnID0+ICfEsG5kaXInLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ0tsYXPDtnIgQWTEsSBFa2xlOicsCgknUm9vdCcgPT4gJ2vDtmsnLAoJJ1JlbmFtZScgPT4gJ1llbmlkZW4gQWRsYW5kxLFyJywKCSdCYWNrJyA9PiAnR2VyaScsCgknVmlldycgPT4gJ0fDtnLDvG7DvG0nLAoJJ1ZpZXdfbGlzdCcgPT4gJ0xpc3RlIEfDtnLDvG7DvG3DvCcsCgknVmlld19jb2x1bW5zX2xpc3QnID0+ICdLb2xvbmx1IExpc3RlIEfDtnLDvG7DvG3DvCcsCgknVmlld19ib3hlcycgPT4gJ0t1dHUgR8O2csO8bsO8bcO8JywKCSdUb29sYmFyJyA9PiAnQXJhw6cgw4d1YnXEn3UnLAoJJ0FjdGlvbnMnID0+ICdFeWxlbWxlcicsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICdCdSBkb3N5YSB6YXRlbiBtZXZjdXQnLAoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICdCdSBrbGFzw7ZyIHphdGVuIG1ldmN1dCcsCgknRW1wdHlfbmFtZScgPT4gJ8Swc2ltIEFsYW7EsSBCb8WfLicsCgknVGV4dF9maWx0ZXInID0+ICdGaWx0cmVsZS4uLicsCgknU3dpcGVfaGVscCcgPT4gJ1Nlw6dlbmVrbGVyaSBnw7Zyw7xudMO8bGVtZWsgacOnaW4gZG9zeWEva2xhc8O2ciBpc21pbmUgdMSxa2xhecSxbicsCgknVXBsb2FkX2Jhc2UnID0+ICdOb3JtYWwgWcO8a2xlbWUnLAoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQSBZw7xrbGVtZSAoQsO8ecO8ayBkb3N5YWxhciBpw6dpbiknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICJFxJ9lciBKYXZhIHV5Z3VsYW1hc8SxIHnDvGtsZW5tZWRpeXNlOyA8YnIgLz4xLSBCaWxnaXNheWFyxLFuxLF6ZGEgSmF2YSB5w7xrbMO8IG9sZHXEn3VuZGFuIGVtaW4gb2x1biB5YWRhIDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPltKYXZhJ3nEsSBCdXJhZGFuIMSwbmRpcmluXTwvYT4gPGJyIC8+Mi0gR8O8dmVubGlrIGR1dmFyxLFuxLFuIGhpw6diaXIgxZ9leWUgZW5nZWwgb2xtYWTEscSfxLFuZGFuIGVtaW4gb2x1bi4iLAoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICJEb3N5YWxhcsSxIGHFn2HEn8SxZGFraSBhbGFuYSBUYcWfxLEgJiBCxLFyYWsgdmV5YSB0xLFrbGF5YXJhayBhw6fEsWxhbiBwZW5jZXJlZGVuIGRvc3lhbGFyxLFuxLF6xLEgc2XDp2luLiBZw7xrbGVtZSBiaXR0acSfaW5kZSAnUmV0dXJuIHRvIGZpbGVzIGxpc3QnIGJ1dG9udW5hIHTEsWtsYXnEsW4uIiwKCSdUeXBlX2RpcicgPT4gJ0RpemluJywKCSdUeXBlJyA9PiAnVMO8cicsCgknRGltZW5zaW9uJyA9PiAnRWJhdCcsCgknU2l6ZScgPT4gJ0JveXV0JywKCSdEYXRlJyA9PiAnVGFyaWgnLAoJJ0ZpbGVuYW1lJyA9PiAnRG9zeWEgQWTEsScsCgknT3BlcmF0aW9ucycgPT4gJ8SwxZ9sZW1sZXInLAoJJ0RhdGVfdHlwZScgPT4gJ2QtbS1ZJywKCSdPSycgPT4gJ1RhbWFtJywKCSdDYW5jZWwnID0+ICfEsHB0YWwnLAoJJ1NvcnRpbmcnID0+ICdTxLFyYWxhbWEnLAoJJ1Nob3dfdXJsJyA9PiAnVVJMIEfDtnN0ZXInLAoJJ0V4dHJhY3QnID0+ICdCdXJheWEgw4fEsWthcnQnLAoJJ0ZpbGVfaW5mbycgPT4gJ0Rvc3lhIEJpbGdpc2knLAoJJ0VkaXRfaW1hZ2UnID0+ICdSZXNtaSBEw7x6ZW5sZScsCgknRHVwbGljYXRlJyA9PiAnw4dvxJ9hbHQnLAoJJ0ZvbGRlcnMnID0+ICdLbGFzw7ZybGVyJywKCSdDb3B5JyA9PiAnS29weWFsYScsCgknQ3V0JyA9PiAnS2VzJywKCSdQYXN0ZScgPT4gJ1lhcMSxxZ90xLFyJywKCSdDQicgPT4gJ1Bhbm8nLCAvLyBjbGlwYm9hcmQKCSdQYXN0ZV9IZXJlJyA9PiAnQnUgZGl6aW5lIHlhcMSxxZ90xLFyxLFuJywKCSdQYXN0ZV9Db25maXJtJyA9PiAnU2l6IGJ1IGRpemluZSB5YXDEscWfdMSxcm1hayBpc3RlZGnEn2luaXpkZW4gZW1pbiBtaXNpbml6PyDDlm5jZWtpIGRvc3lhbGFyL2tsYXPDtnJsZXIgc2lsaW5lY2VrIHZlIHllcmluZSBidSBkb3N5YWxhci9rbGFzw7ZybGVyIHlhesSxbGFjYWt0xLFyLicsCgknUGFzdGVfRmFpbGVkJyA9PiAnRG9zeWFsYXLEsSB5YXDEscWfdMSxcm1hIGnFn2xlbWkgYmHFn2FyxLFzxLF6LicsCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnUGFub3l1IFRlbWl6bGUnLAoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAnUGFub3lhIHNpbG1layBpc3RlZGnEn2luaXpkZW4gZW1pbiBtaXNpbml6PycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAnUGFub2RhIGRvc3lhbGFyIHZhcmTEsXIuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnU2XDp2lsZW4gZG9zeWFsYXIva2xhc8O2cmxlciBpw6dpbiDDp29rIGLDvHnDvGsgICVzLiBMaW1pdDogJWQgTUIvxLDFn2xlbWknLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICdTaXogw6dvayBmYXpsYSBkb3N5YS9rbGFzw7ZyIHNlw6d0aW5peiAlcy4gTGltaXQ6JWQgRG9zeWFsYXIvxLDFn2xlbWxlcicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJyVzIERvc3lhbGFyxLEgacOnaW4gaXppbiB2ZXJpbG1lei4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMKCSdBdmlhcnlfTm9fU2F2ZScgPT4gJ0J1IGfDtnLDvG50w7wga2F5ZGVkaWxlbWVkaScsCgknWmlwX05vX0V4dHJhY3QnID0+ICdExLHFn2Egw6fEsWthcm1hIGnFn2xlbWkgeWFwxLFsYW1hZMSxLiBEb3N5YSBib3p1ayBvbGFiaWxpci4nLAoJJ1ppcF9JbnZhbGlkJyA9PiAnQnUgZG9zeWEgdXphbnTEsXPEsSBkZXN0ZWtsZW5taXlvci4gR2XDp2VybGkgVXphbnTEsWxhcjogemlwLCBneiwgdGFyLicsCgknRGlyX05vX1dyaXRlJyA9PiAnU2XDp3RpxJ9pbml6IGRpemluIHlhesSxbGFiaWxpciBkZcSfaWwuJywKCSdGdW5jdGlvbl9EaXNhYmxlZCcgPT4gJyVzIMSwxZ9sZXZpIHN1bnVjdSB0YXJhZsSxbmRhbiBkZXZyZSBkxLHFn8SxIGLEsXJha8SxbGTEsS4nLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnRG9zeWEgxLB6aW5sZXJpJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICclcyBEb3N5YSDEsHppbmxlcmluaW4gZGXEn2nFn3RpcmlsbWVzaW5lIGl6aW4gdmVyaWxtaXlvci4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnRGXEn2nFn2xpa2xlciB1eWd1bGFuc8SxbiBtxLE/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIkdpcmlsZW4gaXppbiBtb2R1IGhhdGFsxLEuIiwKCSdVc2VyJyA9PiAnS3VsbGFuxLFjxLEnLAoJJ0dyb3VwJyA9PiAnR3J1cCcsCgknWWVzJyA9PiAnRXZldCcsCgknTm8nID0+ICdIYXnEsXInLAoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnRGlsIGRvc3lhc8SxIGJ1bHVuYW1hZMSxLicsCgknTGFuZ19DaGFuZ2UnID0+ICdEaWxpIGRlxJ9pxZ90aXInLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnRG9zeWEgYnVsdW5hbWFkxLEuJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ0J1IGRvc3lhecSxICVzIGl6bmluaXogYnVsdW5tdXlvci4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAoJJ0VkaXQnID0+ICdEw7x6ZW5sZScsCgknRWRpdF9GaWxlJyA9PiAiRG9zeWFuxLFuIGnDp2VyacSfaW5pIGTDvHplbmxlIiwKCSdGaWxlX1NhdmVfT0snID0+ICJEb3N5YSBiYcWfYXLEsXlsYSBrYXlkZWRpbGRpLiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiRG9zeWEga2F5ZGVkaWxpcmtlbiBiaXIgaGF0YSBvbHXFn3R1LiIsCgknTmV3X0ZpbGUnID0+ICdZZW5pIERvc3lhJywKCSdOb19FeHRlbnNpb24nID0+ICdMw7x0ZmVuIGJpciBkb3N5YSB1emFudMSxc8SxIGVrbGV5aW5pei4nLAoJJ1ZhbGlkX0V4dGVuc2lvbnMnID0+ICdHZcOnZXJsaSBla2xlbnRpbGVyOiAlcycsIC8vICVzID0gdHh0LGxvZyBldGMuCgknVXBsb2FkX21lc3NhZ2UnID0+ICJEcm9wIGZpbGUgaGVyZSB0byB1cGxvYWQiLAoKCSdTRVJWRVIgRVJST1InID0+ICJTRVJWRVIgRVJST1IiLAoJJ2ZvcmJpZGVuJyA9PiAiRm9yYmlkZW4iLAoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwKCSd3cm9uZyBuYW1lJyA9PiAiV3JvbmcgbmFtZSIsCgknd3JvbmcgZXh0ZW5zaW9uJyA9PiAiV3JvbmcgZXh0ZW5zaW9uIiwKCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLAoJJ3dyb25nIGRhdGEnID0+ICJXcm9uZyBkYXRhIiwKCSd3cm9uZyBhY3Rpb24nID0+ICJXcm9uZyBhY3Rpb24iLAoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLAoJJ25vIGFjdGlvbiBwYXNzZWQnID0+ICJObyBhY3Rpb24gcGFzc2VkIiwKCSdubyBwYXRoJyA9PiAiTm8gcGF0aCIsCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLAoJJ3ZpZXcgdHlwZSBudW1iZXIgbWlzc2luZycgPT4gIlZpZXcgdHlwZSBudW1iZXIgbWlzc2luZyIsCgknTm90IGVub3VnaHQgTWVtb3J5JyA9PiAiTm90IGVub3VnaHQgTWVtb3J5IiwKCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplCgknQicgPT4gIkIiLAoJJ0tCJyA9PiAiS0IiLAoJJ01CJyA9PiAiTUIiLAoJJ0dCJyA9PiAiR0IiLAoJJ1RCJyA9PiAiVEIiLAoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwKKTsK]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/uk_UA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KcmV0dXJuIGFycmF5KA0KDQoJJ1NlbGVjdCcgPT4gJ9CS0LjQsdGA0LDRgtC4JywNCgknRXJhc2UnID0+ICfQktC40LTQsNC70LjRgtC4JywNCgknT3BlbicgPT4gJ9CS0ZbQtNC60YDQuNGC0LgnLA0KCSdDb25maXJtX2RlbCcgPT4gJ9CS0L/QtdCy0L3QtdC90ZYsINGJ0L4g0YXQvtGH0LXRgtC1INCy0LjQtNCw0LvQuNGC0Lgg0YbQtdC5INGE0LDQudC7PycsDQoJJ0FsbCcgPT4gJ9CS0YHRlicsDQoJJ0ZpbGVzJyA9PiAn0KTQsNC50LvQuCcsDQoJJ0ltYWdlcycgPT4gJ9CX0L7QsdGA0LDQttC10L3QvdGPJywNCgknQXJjaGl2ZXMnID0+ICfQkNGA0YXRltCy0LgnLA0KCSdFcnJvcl9VcGxvYWQnID0+ICfQpNCw0LnQuywg0YnQviDQt9Cw0LLQsNC90YLQsNC20YPRlNGC0YzRgdGPINC/0LXRgNC10LLQuNGJ0YPRlCDQtNC+0LfQstC+0LvQtdC90LjQuSDRgNC+0LfQvNGW0YAuJywNCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAn0J3QtdC/0YDQuNC/0YPRgdGC0LjQvNC40Lkg0YTQvtGA0LzQsNGCINGE0LDQudC70YMuJywNCgknVXBsb2FkX2ZpbGUnID0+ICfQl9Cw0LLQsNC90YLQsNC20LjRgtC4INGE0LDQudC7JywNCgknRmlsdGVycycgPT4gJ9Ck0ZbQu9GM0YLRgCcsDQoJJ1ZpZGVvcycgPT4gJ9CS0ZbQtNC10L4nLA0KCSdNdXNpYycgPT4gJ9Cc0YPQt9C40LrQsCcsDQoJJ05ld19Gb2xkZXInID0+ICfQndC+0LLQsCDQv9Cw0L/QutCwJywNCgknRm9sZGVyX0NyZWF0ZWQnID0+ICfQn9Cw0L/QutGDINGD0YHQv9GW0YjQvdC+INGB0YLQstC+0YDQtdC90L4nLA0KCSdFeGlzdGluZ19Gb2xkZXInID0+ICfQhtGB0L3Rg9GO0YfQsCDQv9Cw0L/QutCwJywNCgknQ29uZmlybV9Gb2xkZXJfZGVsJyA9PiAn0JLQv9C10LLQvdC10L3Rliwg0YnQviDRhdC+0YfQtdGC0LUg0LLQuNC00LDQu9C40YLQuCDRhtGOINC/0LDQv9C60YMg0ZYg0LLRgdGWINGE0LDQudC70Lgg0LIg0L3RltC5PycsDQoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn0J/QvtCy0LXRgNC90YPRgtC40YHRjyDQtNC+INGB0L/QuNGB0LrRgyDRhNCw0LnQu9GW0LInLA0KCSdQcmV2aWV3JyA9PiAn0J/QtdGA0LXQs9C70Y/QtCcsDQoJJ0Rvd25sb2FkJyA9PiAn0JfQsNCy0LDQvdGC0LDQttC40YLQuCcsDQoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ9CS0LLQtdC00ZbRgtGMINGW0Lxg0Y8g0L/QsNC/0LrQuDonLA0KCSdSb290JyA9PiAn0JrQvtGA0LXQvdC10LLQsCDQv9Cw0L/QutCwJywNCgknUmVuYW1lJyA9PiAn0J/QtdGA0LXRltC80LXQvdGD0LLQsNGC0LgnLA0KCSdCYWNrJyA9PiAn0L3QsNC30LDQtCcsDQoJJ1ZpZXcnID0+ICfQktC40LPQu9GP0LQnLA0KCSdWaWV3X2xpc3QnID0+ICfQodC/0LjRgdC+0LonLA0KCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ9Ch0YLQvtCy0L/Rh9C40LrQuCcsDQoJJ1ZpZXdfYm94ZXMnID0+ICfQn9C70LjRgtC60L7RjicsDQoJJ1Rvb2xiYXInID0+ICfQn9Cw0L3QtdC70YwnLA0KCSdBY3Rpb25zJyA9PiAn0JTRltGXJywNCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICfQpNCw0LnQuyDQstC20LUg0ZbRgdC90YPRlCcsDQoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICfQn9Cw0L/QutCwINCy0LbQtSDRltGB0L3Rg9GUJywNCgknRW1wdHlfbmFtZScgPT4gJ9Cd0LUg0LfQsNC/0L7QstC90LXQvdC+INGW0Lxg0Y8nLA0KCSdUZXh0X2ZpbHRlcicgPT4gJ9GE0ZbQu9GM0YLRgCcsDQoJJ1N3aXBlX2hlbHAnID0+ICfQndCw0LLQtdC00ZbRgtGMINC90LAg0ZbQvGDRjyDRhNCw0LnQu9GDL9C/0LDQv9C60LgsINGJ0L7QsSDQv9C+0LHQsNGH0LjRgtC4INC+0L/RhtGW0ZcnLA0KCSdVcGxvYWRfYmFzZScgPT4gJ9Ce0YHQvdC+0LLQvdC1INC30LDQstCw0L3RgtCw0LbQtdC90L3RjycsDQoJJ1VwbG9hZF9qYXZhJyA9PiAnSkFWQS3Qt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8gKNC00LvRjyDRhNCw0LnQu9GW0LIg0LLQtdC70LjQutC40YUg0YDQvtC30LzRltGA0ZbQsiknLA0KCSdVcGxvYWRfamF2YV9oZWxwJyA9PiAi0K/QutGJ0L4gSmF2YS3QsNC/0L/Qu9C10YIg0L3QtSDQt9Cw0LLQsNC90YLQsNC20YPRlNGC0YzRgdGPOiAxLiDQv9C10YDQtdC60L7QvdCw0LnRgtC10YHRjCwg0YnQviBKYXZhINCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0L3QsCDQstCw0YjQvtC80YMg0LrQvtC80L9g0Y7RgtC10YDRliwg0ZbQvdCw0LrRiNC1IDxhIGhyZWY9J2h0dHA6Ly9qYXZhLmNvbS9lbi9kb3dubG9hZC8nPlvQt9Cw0LLQsNC90YLQsNC20YLQtV08L2E+IDIuINC/0LXRgNC10LrQvtC90LDQudGC0LXRgdGMLCDRidC+INGE0LDRlNGA0LLQvtC7INC90ZbRh9C+0LPQviDQvdC1INCx0LvQvtC60YPRlCIsDQoJJ1VwbG9hZF9iYXNlX2hlbHAnID0+ICLQn9C10YDQtdGC0Y/Qs9C90ZbRgtGMINGE0LDQudC70Lgg0LIg0L7QsdC70LDRgdGC0YwsINGJ0L4g0LLQuNGJ0LUg0LDQsdC+INC60LvRltC60L3RltGC0Ywg0L/QviDQvdGW0Lkg0LzQuNGI0LrQvtGOICjQtNC70Y8g0YHRg9GH0LDRgdC90LjRhSDQsdGA0LDRg9C30LXRgNGW0LIpLCDQsiDRltC90YjQvtC80YMg0YDQsNC30ZYg0LLQuNCx0LXRgNGW0YLRjCDRhNCw0LnQuyDRgtCwINC90LDRgtC40YHQvdGW0YLRjCDQutC90L7Qv9C60YMuINCa0L7Qu9C4INC30LDQstCw0L3RgtCw0LbQtdC90L3RjyDQt9Cw0LrRltC90YfQuNGC0YzRgdGPIC0g0L3QsNGC0LjRgdC90ZbRgtGMINC60L3QvtC/0LrRgyDQv9C+0LLQtdGA0L3QtdC90L3Rjy4iLA0KCSdUeXBlX2RpcicgPT4gJ9C/0LDQv9C60LAnLA0KCSdUeXBlJyA9PiAn0KLQuNC/JywNCgknRGltZW5zaW9uJyA9PiAn0KDQvtC30LzRltGAJywNCgknU2l6ZScgPT4gJ9Ce0LFg0ZTQvCcsDQoJJ0RhdGUnID0+ICfQlNCw0YLQsCcsDQoJJ0ZpbGVuYW1lJyA9PiAn0IbQvGDRjyDRhNCw0LnQu9GDJywNCgknT3BlcmF0aW9ucycgPT4gJ9CU0ZbRlycsDQoJJ0RhdGVfdHlwZScgPT4gJ9GALdC8LdC0JywNCgknT0snID0+ICdPSycsDQoJJ0NhbmNlbCcgPT4gJ9CS0ZbQtNC80ZbQvdCwJywNCgknU29ydGluZycgPT4gJ9Ch0L7RgNGC0YPQstCw0L3QvdGPJywNCgknU2hvd191cmwnID0+ICdzaG93IFVSTCcsDQoJJ0V4dHJhY3QnID0+ICdleHRyYWN0IGhlcmUnLA0KCSdGaWxlX2luZm8nID0+ICdmaWxlIGluZm8nLA0KCSdFZGl0X2ltYWdlJyA9PiAnZWRpdCBpbWFnZScsDQoJJ0R1cGxpY2F0ZScgPT4gJ0R1cGxpY2F0ZScsDQoJJ0ZvbGRlcnMnID0+ICdGb2xkZXJzJywNCgknQ29weScgPT4gJ0NvcHknLA0KCSdDdXQnID0+ICdDdXQnLA0KCSdQYXN0ZScgPT4gJ1Bhc3RlJywNCgknQ0InID0+ICdDQicsIC8vIGNsaXBib2FyZA0KCSdQYXN0ZV9IZXJlJyA9PiAnUGFzdGUgdG8gdGhpcyBkaXJlY3RvcnknLA0KCSdQYXN0ZV9Db25maXJtJyA9PiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHBhc3RlIHRvIHRoaXMgZGlyZWN0b3J5PyBUaGlzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzL2ZvbGRlcnMgaWYgZW5jb3VudGVyZWQgYW55LicsDQoJJ1Bhc3RlX0ZhaWxlZCcgPT4gJ0ZhaWxlZCB0byBwYXN0ZSBmaWxlKHMpJywNCgknQ2xlYXJfQ2xpcGJvYXJkJyA9PiAnQ2xlYXIgY2xpcGJvYXJkJywNCgknQ2xlYXJfQ2xpcGJvYXJkX0NvbmZpcm0nID0+ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xlYXIgdGhlIGNsaXBib2FyZD8nLA0KCSdGaWxlc19PTl9DbGlwYm9hcmQnID0+ICdUaGVyZSBhcmUgZmlsZXMgb24gdGhlIGNsaXBib2FyZC4nLA0KCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnVGhlIHNlbGVjdGVkIGZpbGVzL2ZvbGRlcnMgYXJlIHRvbyBiaWcgdG8gJXMuIExpbWl0OiAlZCBNQi9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnWW91IHNlbGVjdGVkIHRvbyBtYW55IGZpbGVzL2ZvbGRlcnMgdG8gJXMuIExpbWl0OiAlZCBmaWxlcy9vcGVyYXRpb24nLCAvLyAlcyA9IGN1dCBvciBjb3B5DQoJJ0NvcHlfQ3V0X05vdF9BbGxvd2VkJyA9PiAnWW91IGFyZSBub3QgYWxsb3dlZCB0byAlcyBmaWxlcy4nLCAvLyAlcygxKSA9IGN1dCBvciBjb3B5LCAlcygyKSA9IGZpbGVzIG9yIGZvbGRlcnMNCgknQXZpYXJ5X05vX1NhdmUnID0+ICdDb3VsZCBub3Qgc2F2ZSBpbWFnZScsDQoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAnQ291bGQgbm90IGV4dHJhY3QuIEZpbGUgbWlnaHQgYmUgY29ycnVwdC4nLA0KCSdaaXBfSW52YWxpZCcgPT4gJ1RoaXMgZXh0ZW5zaW9uIGlzIG5vdCBzdXBwb3J0ZWQuIFZhbGlkOiB6aXAsIGd6LCB0YXIuJywNCgknRGlyX05vX1dyaXRlJyA9PiAnVGhlIGRpcmVjdG9yeSB5b3Ugc2VsZWN0ZWQgaXMgbm90IHdyaXRhYmxlLicsDQoJJ0Z1bmN0aW9uX0Rpc2FibGVkJyA9PiAnVGhlICVzIGZ1bmN0aW9uIGhhcyBiZWVuIGRpc2FibGVkIGJ5IHRoZSBzZXJ2ZXIuJywgLy8gJXMgPSBjdXQgb3IgY29weQ0KCSdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLA0KCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdDaGFuZ2luZyAlcyBwZXJtaXNzaW9ucyBhcmUgbm90IGFsbG93ZWQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzDQoJJ0ZpbGVfUGVybWlzc2lvbl9SZWN1cnNpdmUnID0+ICdBcHBseSByZWN1cnNpdmVseT8nLA0KCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIlRoZSBzdXBwbGllZCBwZXJtaXNzaW9uIG1vZGUgaXMgaW5jb3JyZWN0LiIsDQoJJ1VzZXInID0+ICdVc2VyJywNCgknR3JvdXAnID0+ICdHcm91cCcsDQoJJ1llcycgPT4gJ1llcycsDQoJJ05vJyA9PiAnTm8nLA0KCSdMYW5nX05vdF9Gb3VuZCcgPT4gJ0NvdWxkIG5vdCBmaW5kIGxhbmd1YWdlLicsDQoJJ0xhbmdfQ2hhbmdlJyA9PiAnQ2hhbmdlIHRoZSBsYW5ndWFnZScsDQoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywNCgknRmlsZV9PcGVuX0VkaXRfTm90X0FsbG93ZWQnID0+ICdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvICVzIHRoaXMgZmlsZS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdA0KCSdFZGl0JyA9PiAnRWRpdCcsDQoJJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLA0KCSdGaWxlX1NhdmVfT0snID0+ICJGaWxlIHN1Y2Nlc3NmdWxseSBzYXZlZC4iLA0KCSdGaWxlX1NhdmVfRXJyb3InID0+ICJUaGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBmaWxlLiIsDQoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLA0KCSdOb19FeHRlbnNpb24nID0+ICdZb3UgaGF2ZSB0byBhZGQgYSBmaWxlIGV4dGVuc2lvbi4nLA0KCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnVmFsaWQgZXh0ZW5zaW9uczogJXMnLCAvLyAlcyA9IHR4dCxsb2cgZXRjLg0KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsDQoNCgknU0VSVkVSIEVSUk9SJyA9PiAiU0VSVkVSIEVSUk9SIiwNCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsDQoJJ3dyb25nIHBhdGgnID0+ICJXcm9uZyBwYXRoIiwNCgknd3JvbmcgbmFtZScgPT4gIldyb25nIG5hbWUiLA0KCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLA0KCSd3cm9uZyBvcHRpb24nID0+ICJXcm9uZyBvcHRpb24iLA0KCSd3cm9uZyBkYXRhJyA9PiAiV3JvbmcgZGF0YSIsDQoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsDQoJJ3dyb25nIHN1Yi1hY3Rpb24nID0+ICJXcm9uZyBzdWItYWN0aW8iLA0KCSdubyBhY3Rpb24gcGFzc2VkJyA9PiAiTm8gYWN0aW9uIHBhc3NlZCIsDQoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwNCgknbm8gZmlsZScgPT4gIk5vIGZpbGUiLA0KCSd2aWV3IHR5cGUgbnVtYmVyIG1pc3NpbmcnID0+ICJWaWV3IHR5cGUgbnVtYmVyIG1pc3NpbmciLA0KCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLA0KCSdtYXhfc2l6ZV9yZWFjaGVkJyA9PiAiWW91ciBmb2xkZXIgaGFzIHJlYWNoIGl0cyBtYXhpbWFsZSBzaXplIG9mICVkIE1CLiIsIC8vJWQgPSBtYXggb3ZlcmFsbCBzaXplDQoJJ0InID0+ICJCIiwNCgknS0InID0+ICJLQiIsDQoJJ01CJyA9PiAiTUIiLA0KCSdHQicgPT4gIkdCIiwNCgknVEInID0+ICJUQiIsDQoJJ3RvdGFsIHNpemUnID0+ICJUb3RhbCBzaXplIiwNCik7DQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/vi.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAnQ2jhu41uJywKCSdFcmFzZScgPT4gJ1jDs2EnLAoJJ09wZW4nID0+ICdN4bufJywKCSdDb25maXJtX2RlbCcgPT4gJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiB4w7NhIGZpbGUgbsOgeSBraMO0bmc/JywKCSdBbGwnID0+ICdU4bqldCBj4bqjJywKCSdGaWxlcycgPT4gJ0ZpbGUnLAoJJ0ltYWdlcycgPT4gJ0ltYWdlcycsCgknQXJjaGl2ZXMnID0+ICdBcmNoaXZlcycsCgknRXJyb3JfVXBsb2FkJyA9PiAnRmlsZSDEkcaw4bujYyB1cGxvYWQgdsaw4bujdCBxdcOhIGR1bmcgbMaw4bujbmcgY2hvIHBow6lwLicsCgknRXJyb3JfZXh0ZW5zaW9uJyA9PiAnxJDhu4tuaCBk4bqhbmcgZmlsZSBraMO0bmcgxJHGsOG7o2MgY2jhuqVwIG5o4bqtbi4nLAoJJ1VwbG9hZF9maWxlJyA9PiAnVXBsb2FkJywKCSdGaWx0ZXJzJyA9PiAnTOG7jWMnLAoJJ1ZpZGVvcycgPT4gJ1ZpZGVvcycsCgknTXVzaWMnID0+ICdNdXNpYycsCgknTmV3X0ZvbGRlcicgPT4gJ1ThuqFvIHRoxrAgbeG7pWMnLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAnVGjGsCBt4bulYyDEkcOjIMSRxrDhu6NjIHThuqFvJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICdUaMawIG3hu6VjIMSRw6MgdOG7k24gdOG6oWknLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiB4w7NhIFRoxrAgbeG7pWMgbsOgeSBjw7luZyB24bubaSBt4buNaSB0aOG7qSBiw6puIHRyb25nPycsCgknUmV0dXJuX0ZpbGVzX0xpc3QnID0+ICdRdWF5IGzhuqFpIGRhbmggc8OhY2ggZmlsZScsCgknUHJldmlldycgPT4gJ1ByZXZpZXcnLAoJJ0Rvd25sb2FkJyA9PiAnRG93bmxvYWQnLAoJJ0luc2VydF9Gb2xkZXJfTmFtZScgPT4gJ05o4bqtcCB0w6puIHRoxrAgbeG7pWM6JywKCSdSb290JyA9PiAncm9vdCcsCgknUmVuYW1lJyA9PiAnxJDhu5VpIHTDqm4nLAoJJ0JhY2snID0+ICdiYWNrJywKCSdWaWV3JyA9PiAnWGVtJywKCSdWaWV3X2xpc3QnID0+ICdYZW0gZOG6oW5nIGRhbmggc8OhY2gnLAoJJ1ZpZXdfY29sdW1uc19saXN0JyA9PiAnWGVtIGThuqFuZyBj4buZdCcsCgknVmlld19ib3hlcycgPT4gJ1hlbSBk4bqhbmcgbMaw4bubaScsCgknVG9vbGJhcicgPT4gJ1RoYW5oIGPDtG5nIGPhu6UnLAoJJ0FjdGlvbnMnID0+ICdBY3Rpb25zJywKCSdSZW5hbWVfZXhpc3RpbmdfZmlsZScgPT4gJ0ZpbGUgbsOgeSDEkcOjIHThu5NuIHThuqFpJywKCSdSZW5hbWVfZXhpc3RpbmdfZm9sZGVyJyA9PiAnVGjGsCBt4bulYyBuw6B5IMSRw6MgdOG7k24gdOG6oWknLAoJJ0VtcHR5X25hbWUnID0+ICdUw6puIMSR4buDIHRy4buRbmcnLAoJJ1RleHRfZmlsdGVyJyA9PiAnTOG7jWMgdGhlbyB0w6puJywKCSdTd2lwZV9oZWxwJyA9PiAnU3dpcGUgdGhlIG5hbWUgb2YgZmlsZS9mb2xkZXIgdG8gc2hvdyBvcHRpb25zJywKCSdVcGxvYWRfYmFzZScgPT4gJ1VwbG9hZCB0aMO0bmcgdGjGsOG7nW5nJywKCSdVcGxvYWRfamF2YScgPT4gJ0pBVkEgdXBsb2FkIChmaWxlIGPhu6EgbOG7m24pJywKCSdVcGxvYWRfamF2YV9oZWxwJyA9PiAiTuG6v3UgSmF2YSBBcHBsZXQga2jDtG5nIHThuqNpIGTGsOG7o2MsIDEuIEjDo3kgY2jhuq9jIGNo4bqvbiBKYXZhIMSRw6MgxJHGsOG7o2MgY8OgaSDEkeG6t3QsIG7hur91IGtow7RuZyA8YSBocmVmPSdodHRwOi8vamF2YS5jb20vZW4vZG93bmxvYWQvJz5bZG93bmxvYWQgdOG6oWkgxJHDonldPC9hPiAgIDIuIEtow7RuZyBjw7MgZ8OsIGLhu4sgY2jhurNuIGLhu59pIGZpcmV3YWxsIGPhu6dhIGLhuqFuIiwKCSdVcGxvYWRfYmFzZV9oZWxwJyA9PiAiS8OpbyB2w6AgVGjhuqMgZmlsZSBob+G6t2MgY2xpY2sgdsOgbyBraHUgduG7sWMgcGjDrWEgdHLDqm4gKG1vZGVybiBicm93c2VycykgdsOgIGNo4buNbiBmaWxlLiBTYXUga2hpIHVwbG9hZCB0aMOgbmggY8O0bmcsIGNsaWNrIHbDoG8gbsO6dCAnUXVheSBs4bqhaSBkYW5oIHPDoWNoIGZpbGUnLiIsCgknVHlwZV9kaXInID0+ICdkaXInLAoJJ1R5cGUnID0+ICdMb+G6oWkgRmlsZScsCgknRGltZW5zaW9uJyA9PiAnS8OtY2ggdGjGsOG7m2MnLAoJJ1NpemUnID0+ICdTaXplJywKCSdEYXRlJyA9PiAnTmfDoHkgdOG6oW8nLAoJJ0ZpbGVuYW1lJyA9PiAnVMOqbiBGaWxlJywKCSdPcGVyYXRpb25zJyA9PiAnVMO5eSBjaOG7jW4nLAoJJ0RhdGVfdHlwZScgPT4gJ3ktbS1kJywKCSdPSycgPT4gJ09LJywKCSdDYW5jZWwnID0+ICdI4buneScsCgknU29ydGluZycgPT4gJ3NvcnRpbmcnLAoJJ1Nob3dfdXJsJyA9PiAnWGVtIFVSTCcsCgknRXh0cmFjdCcgPT4gJ0dp4bqjaSBuw6luIHThuqFpIMSRw6J5JywKCSdGaWxlX2luZm8nID0+ICdUaMO0bmcgdGluIGZpbGUnLAoJJ0VkaXRfaW1hZ2UnID0+ICdT4butYSBpbWFnZScsCgknRHVwbGljYXRlJyA9PiAnTmjDom4gYuG6o24nLAoJJ0ZvbGRlcnMnID0+ICdUaMawIG3hu6VjJywKCSdDb3B5JyA9PiAnQ29weScsCgknQ3V0JyA9PiAnQ3V0JywKCSdQYXN0ZScgPT4gJ1Bhc3RlJywKCSdDQicgPT4gJ0NCJywgLy8gY2xpcGJvYXJkCgknUGFzdGVfSGVyZScgPT4gJ1Bhc3RlIHbDoG8gdGjGsCBt4bulYyBuw6B5JywKCSdQYXN0ZV9Db25maXJtJyA9PiAnQuG6oW4gY8OzIGNo4bqvYyBjaOG6r24gbXXhu5FuIFBhc3RlIHbDoG8gdGjGsCBt4bulYyBuw6B5PyBWaeG7h2MgbsOgeSBz4bq9IGdoZSDEkcOoIGzDqm4gY8OhbyBmaWxlL2ZvbGRlciBjxakgbuG6v3UgY8OzLicsCgknUGFzdGVfRmFpbGVkJyA9PiAnTOG7l2kga2hpIHBhc3RlIGZpbGUnLAoJJ0NsZWFyX0NsaXBib2FyZCcgPT4gJ1jDs2EgY2xpcGJvYXJkJywKCSdDbGVhcl9DbGlwYm9hcmRfQ29uZmlybScgPT4gJ0LhuqFuIGPDsyBjaOG6r2MgY2jhuq9uIG114buRbiB4w7NhIGNsaXBib2FyZD8nLAoJJ0ZpbGVzX09OX0NsaXBib2FyZCcgPT4gJ0Rhbmggc8OhY2ggZmlsZSB0cm9uZyBjbGlwYm9hcmQuJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAnRmlsZS9mb2xkZXIgxJHGsOG7o2MgY2jhu41uIHF1w6EgbOG7m24gxJHhu4MgJXMuIEdp4bubaSBo4bqhbjogJWQgTUIvdGhhbyB0w6FjJywgLy8gJXMgPSBjdXQgb3IgY29weQoJJ0NvcHlfQ3V0X0NvdW50X0xpbWl0JyA9PiAnQuG6oW4gxJHDoyBjaOG7jW4gcXXDoSBuaGnhu4F1IGZpbGUvZm9sZGVyIMSR4buDICVzLiBHaeG7m2kgaOG6oW46ICVkIGZpbGVzL3RoYW8gdMOhYycsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdDb3B5X0N1dF9Ob3RfQWxsb3dlZCcgPT4gJ0LhuqFuIGtow7RuZyDEkcaw4bujYyBwaMOpcCDEkeG7gyAlcyBmaWxlLicsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAnS2jDtG5nIHRo4buDIGzGsHUgaW1hZ2UnLAoJJ1ppcF9Ob19FeHRyYWN0JyA9PiAnS2jDtG5nIHRo4buDIGdp4bqjaSBuw6luLiBGaWxlIGPDsyB0aOG7gyBi4buLIGzhu5dpLicsCgknWmlwX0ludmFsaWQnID0+ICfEkOG7i25oIGThuqFuZyBuw6B5IGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujLiBDaOG6pXAgbmjhuq1uOiB6aXAsIGd6LCB0YXIuJywKCSdEaXJfTm9fV3JpdGUnID0+ICdUaMawIG3hu6VjIGLhuqFuIGNo4buNbiBraMO0bmcgY2hvIHBow6lwIGdoaSBk4buvIGxp4buHdSB2w6BvLicsCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICdDaOG7qWMgbsSDbmcgJXMgxJHDoyBi4buLIFThuq90IGLGoWkgc2VydmVyLicsIC8vICVzID0gY3V0IG9yIGNvcHkKCSdGaWxlX1Blcm1pc3Npb24nID0+ICdGaWxlIHBlcm1pc3Npb24nLAoJJ0ZpbGVfUGVybWlzc2lvbl9Ob3RfQWxsb3dlZCcgPT4gJ8SQ4buVaSBwZXJtaXNzaW9ucyBj4bunYSAlcyBraMO0bmcgxJHGsOG7o2MgY2jhuqVwIG5o4bqtbi4nLCAvLyAlcyA9IGZpbGVzIG9yIGZvbGRlcnMKCSdGaWxlX1Blcm1pc3Npb25fUmVjdXJzaXZlJyA9PiAnQXBwbHkgcmVjdXJzaXZlbHk/JywKCSdGaWxlX1Blcm1pc3Npb25fV3JvbmdfTW9kZScgPT4gIkPDoWMgcGVybWlzc2lvbiBi4bqhbiBjaOG7jW4ga2jDtG5nIGNow61uaCB4w6FjLiIsCgknVXNlcicgPT4gJ1VzZXInLAoJJ0dyb3VwJyA9PiAnR3JvdXAnLAoJJ1llcycgPT4gJ1llcycsCgknTm8nID0+ICdObycsCgknTGFuZ19Ob3RfRm91bmQnID0+ICdLaMO0bmcgdMOsbSB0aOG6pXkgbmfDtG4gbmfhu68uJywKCSdMYW5nX0NoYW5nZScgPT4gJ8SQ4buVaSBuZ8O0biBuZ+G7rycsCgknRmlsZV9Ob3RfRm91bmQnID0+ICdLaMO0bmcgdMOsbSB0aOG6pXkgZmlsZS4nLAoJJ0ZpbGVfT3Blbl9FZGl0X05vdF9BbGxvd2VkJyA9PiAnQuG6oW4ga2jDtG5nIMSRxrDhu6NjIHBow6lwIMSR4buDICVzIGZpbGUgbsOgeS4nLCAvLyAlcyA9IG9wZW4gb3IgZWRpdAoJJ0VkaXQnID0+ICdT4butYScsCgknRWRpdF9GaWxlJyA9PiAiU+G7rWEgbuG7mWkgZHVuZyBmaWxlIiwKCSdGaWxlX1NhdmVfT0snID0+ICJGaWxlIMSRxrDhu6NjIGzGsHUgdGjDoG5oIGPDtG5nLiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAixJDDoyBjw7MgbOG7l2kga2hpIGzGsHUgZmlsZS4iLAoJJ05ld19GaWxlJyA9PiAnVOG6oW8gRmlsZSBt4bubaScsCgknTm9fRXh0ZW5zaW9uJyA9PiAnWW91IGhhdmUgdG8gYWRkIGEgZmlsZSBleHRlbnNpb24uJywKCSdWYWxpZF9FeHRlbnNpb25zJyA9PiAnRXh0ZW5zaW9uIMSRxrDhu6NjIGNo4bqlcCBuaOG6rW46ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOw==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/lang/zh_CN.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJldHVybiBhcnJheSgKCgknU2VsZWN0JyA9PiAn6YCJ5oupJywKCSdFcmFzZScgPT4gJ+WIoOmZpCcsCgknT3BlbicgPT4gJ+aJk+W8gCcsCgknQ29uZmlybV9kZWwnID0+ICfnoa7lrprliKDpmaTmraTmlofku7Y/JywKCSdBbGwnID0+ICfmiYDmnIknLAoJJ0ZpbGVzJyA9PiAn5paH5Lu2JywKCSdJbWFnZXMnID0+ICflm77niYcnLAoJJ0FyY2hpdmVzJyA9PiAn5a2Y5qGjJywKCSdFcnJvcl9VcGxvYWQnID0+ICfkuIrkvKDnmoTmlofku7botoXov4fkuoblhYHorrjnmoTmnIDlpKflsLrlr7gnLAoJJ0Vycm9yX2V4dGVuc2lvbicgPT4gJ+atpOexu+aWh+S7tuS4jeiiq+aUr+aMgScsCgknVXBsb2FkX2ZpbGUnID0+ICfkuIrkvKAnLAoJJ0ZpbHRlcnMnID0+ICfov4fmu6QnLAoJJ1ZpZGVvcycgPT4gJ+inhumikScsCgknTXVzaWMnID0+ICfpn7PkuZAnLAoJJ05ld19Gb2xkZXInID0+ICfmlrDmlofku7blpLknLAoJJ0ZvbGRlcl9DcmVhdGVkJyA9PiAn5paH5Lu25aS55Yib5bu65oiQ5YqfJywKCSdFeGlzdGluZ19Gb2xkZXInID0+ICfmlofku7blpLnlt7Lnu4/lrZjlnKgnLAoJJ0NvbmZpcm1fRm9sZGVyX2RlbCcgPT4gJ+ehruWumuWIoOmZpOatpOaWh+S7tuWkueWSjOmHjOmdoueahOaJgOacieaWh+S7tj8nLAoJJ1JldHVybl9GaWxlc19MaXN0JyA9PiAn6L+U5Zue5paH5Lu25YiX6KGoJywKCSdQcmV2aWV3JyA9PiAn6aKE6KeIJywKCSdEb3dubG9hZCcgPT4gJ+S4i+i9vScsCgknSW5zZXJ0X0ZvbGRlcl9OYW1lJyA9PiAn5aGr5YaZ5paH5Lu25aS55ZCN56ewOicsCgknUm9vdCcgPT4gJ3Jvb3QnLAoJJ1JlbmFtZScgPT4gJ+aUueWQjScsCgknQmFjaycgPT4gJ+i/lOWbnicsCgknVmlldycgPT4gJ+inhuWbvicsCgknVmlld19saXN0JyA9PiAn5YiX6KGo6KeG5Zu+JywKCSdWaWV3X2NvbHVtbnNfbGlzdCcgPT4gJ+WIl+inhuWbvicsCgknVmlld19ib3hlcycgPT4gJ+aWueWdl+inhuWbvicsCgknVG9vbGJhcicgPT4gJ+W3peWFt+agjycsCgknQWN0aW9ucycgPT4gJ+aTjeS9nCcsCgknUmVuYW1lX2V4aXN0aW5nX2ZpbGUnID0+ICfmlofku7blt7LlrZjlnKgnLAoJJ1JlbmFtZV9leGlzdGluZ19mb2xkZXInID0+ICfmlofku7blpLnlt7LlrZjlnKgnLAoJJ0VtcHR5X25hbWUnID0+ICfor7fovpPlhaXmlofku7blkI0nLAoJJ1RleHRfZmlsdGVyJyA9PiAn5paH5a2X6L+H5rukJywKCSdTd2lwZV9oZWxwJyA9PiAn5Zyo5paH5Lu25oiW5paH5Lu25aS555qE5ZCN56ew5LiK5YiS6L+H5bey5pi+56S65pu05aSa6YCJ6aG5JywKCSdVcGxvYWRfYmFzZScgPT4gJ+aZrumAmuS4iuS8oCcsCgknVXBsb2FkX2phdmEnID0+ICdKQVZB5LiK5LygKOmAgueUqOS6juWkp+aWh+S7tuS4iuS8oCknLAoJJ1VwbG9hZF9qYXZhX2hlbHAnID0+ICLlpoLmnpxKYXZhIEFwcGxldOayoeacieWKoOi9ve+8jOS9oOWPr+S7pe+8mjEuIOivt+ehruiupOS9oOeahOeUteiEkeWuieijheS6hkphdmHjgILlpoLmnpzmsqHmnInlronoo4XvvIzlnKjov5nph4zkuIvovb3lronoo4UgPGEgaHJlZj0naHR0cDovL2phdmEuY29tL2VuL2Rvd25sb2FkLyc+W+S4i+i9vemTvuaOpV08L2E+ICAgMi4g56Gu5L+d5oKo55S16ISR55qE6Ziy54Gr5aKZ5rKh5pyJ6Zi75oyhSmF2YeS4iuS8oCIsCgknVXBsb2FkX2Jhc2VfaGVscCcgPT4gIuWwhumcgOimgeS4iuS8oOeahOaWh+S7tuaLluWKqOWIsOS7peS4iuWMuuWfnyAo6ZyA6KaB5q+U6L6D5paw55qE5rWP6KeI5Zmo5omN5pSv5oyBKe+8jOW5tumAieaLqeebuOWFs+aWh+S7tuOAguW9k+S4iuS8oOWujOaIkO+8jOeCueWHuyfov5Tlm57mlofku7bliJfooagn5oyJ6ZKuIiwKCSdUeXBlX2RpcicgPT4gJ2RpcicsCgknVHlwZScgPT4gJ+exu+WeiycsCgknRGltZW5zaW9uJyA9PiAn5bC65a+4JywKCSdTaXplJyA9PiAn5aSn5bCPJywKCSdEYXRlJyA9PiAn5pel5pyfJywKCSdGaWxlbmFtZScgPT4gJ+aWh+S7tuWQjScsCgknT3BlcmF0aW9ucycgPT4gJ+aTjeS9nCcsCgknRGF0ZV90eXBlJyA9PiAneS1tLWQnLAoJJ09LJyA9PiAnT0snLAoJJ0NhbmNlbCcgPT4gJ+WPlua2iCcsCgknU29ydGluZycgPT4gJ+aOkuW6jycsCgknU2hvd191cmwnID0+ICfmmL7npLpVUkwnLAoJJ0V4dHJhY3QnID0+ICfop6PljovnvKnliLDov5nph4wnLAoJJ0ZpbGVfaW5mbycgPT4gJ+aWh+S7tuS/oeaBrycsCgknRWRpdF9pbWFnZScgPT4gJ+e8lui+keWbvueJhycsCgknRHVwbGljYXRlJyA9PiAn5aSN5Yi2JywKCSdGb2xkZXJzJyA9PiAn5paH5Lu25aS5JywKCSdDb3B5JyA9PiAn5ou36LSdJywKCSdDdXQnID0+ICfliarliIcnLAoJJ1Bhc3RlJyA9PiAn57KY6LS0JywKCSdDQicgPT4gJ+eymOi0tOadvycsIC8vIGNsaXBib2FyZAoJJ1Bhc3RlX0hlcmUnID0+ICfnspjotLTliLDov5nkuKrnm67lvZUnLAoJJ1Bhc3RlX0NvbmZpcm0nID0+ICfnoa7lrprnspjotLTliLDov5nkuKrnm67lvZU/IOi/meacieWPr+iDveS8muimhuebluW3sue7j+WtmOWcqOeahOaWh+S7tuaIluaWh+S7tuWkuScsCgknUGFzdGVfRmFpbGVkJyA9PiAn5paH5Lu257KY6LS05aSx6LSlJywKCSdDbGVhcl9DbGlwYm9hcmQnID0+ICfmuIXpmaTnspjotLTmnb8nLAoJJ0NsZWFyX0NsaXBib2FyZF9Db25maXJtJyA9PiAn56Gu5a6a5riF6Zmk57KY6LS05p2/PycsCgknRmlsZXNfT05fQ2xpcGJvYXJkJyA9PiAn57KY6LS05p2/5LiK6L+Y5pyJ5paH5Lu25a2Y5ZyoJywKCSdDb3B5X0N1dF9TaXplX0xpbWl0JyA9PiAn5peg5rOVICVzIOmAieaLqeeahOaWh+S7tu+8jOmAieaLqeeahOaWh+S7tuWkquWkp++8jOi2hei/h+S6huWFgeiuuOeahOWkp+WwjzogJWQgTUInLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfQ291bnRfTGltaXQnID0+ICfml6Dms5UgJXMg6YCJ5oup55qE5paH5Lu277yM5oKo6YCJ5oup55qE5paH5Lu25ZKM5paH5Lu25aS55pWw55uu6LaF6L+H6ZmQ5Yi2OiAlZCDkuKrmlofku7YnLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknQ29weV9DdXRfTm90X0FsbG93ZWQnID0+ICcg5oKo5rKh5pyJ5p2D6ZmQICVzIOaWh+S7ticsIC8vICVzKDEpID0gY3V0IG9yIGNvcHksICVzKDIpID0gZmlsZXMgb3IgZm9sZGVycwoJJ0F2aWFyeV9Ob19TYXZlJyA9PiAn5peg5rOV5L+d5a2Y5Zu+54mHJywKCSdaaXBfTm9fRXh0cmFjdCcgPT4gJ+aWh+S7tuino+WOi+e8qeWksei0peOAguaWh+S7tuWPr+iDveW3sue7j+aNn+WdjycsCgknWmlwX0ludmFsaWQnID0+ICfkuI3mlK/mjIHmraTmlofku7blkI7nvIDvvIzmlK/mjIHnmoTlkI7nvIDlkI06IHppcCwgZ3osIHRhci4nLAoJJ0Rpcl9Ob19Xcml0ZScgPT4gJ+aCqOmAieaLqeeahOebruW9leayoeacieWGmeadg+mZkCcsCgknRnVuY3Rpb25fRGlzYWJsZWQnID0+ICclcyDlip/og73lt7Lnu4/ooqvmnI3liqHlmajnpoHnlKjjgIInLCAvLyAlcyA9IGN1dCBvciBjb3B5CgknRmlsZV9QZXJtaXNzaW9uJyA9PiAnRmlsZSBwZXJtaXNzaW9uJywKCSdGaWxlX1Blcm1pc3Npb25fTm90X0FsbG93ZWQnID0+ICdDaGFuZ2luZyAlcyBwZXJtaXNzaW9ucyBhcmUgbm90IGFsbG93ZWQuJywgLy8gJXMgPSBmaWxlcyBvciBmb2xkZXJzCgknRmlsZV9QZXJtaXNzaW9uX1JlY3Vyc2l2ZScgPT4gJ0FwcGx5IHJlY3Vyc2l2ZWx5PycsCgknRmlsZV9QZXJtaXNzaW9uX1dyb25nX01vZGUnID0+ICJUaGUgc3VwcGxpZWQgcGVybWlzc2lvbiBtb2RlIGlzIGluY29ycmVjdC4iLAoJJ1VzZXInID0+ICdVc2VyJywKCSdHcm91cCcgPT4gJ0dyb3VwJywKCSdZZXMnID0+ICdZZXMnLAoJJ05vJyA9PiAnTm8nLAoJJ0xhbmdfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgbGFuZ3VhZ2UuJywKCSdMYW5nX0NoYW5nZScgPT4gJ0NoYW5nZSB0aGUgbGFuZ3VhZ2UnLAoJJ0ZpbGVfTm90X0ZvdW5kJyA9PiAnQ291bGQgbm90IGZpbmQgdGhlIGZpbGUuJywKCSdGaWxlX09wZW5fRWRpdF9Ob3RfQWxsb3dlZCcgPT4gJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gJXMgdGhpcyBmaWxlLicsIC8vICVzID0gb3BlbiBvciBlZGl0CgknRWRpdCcgPT4gJ0VkaXQnLAoJJ0VkaXRfRmlsZScgPT4gIkVkaXQgZmlsZSdzIGNvbnRlbnQiLAoJJ0ZpbGVfU2F2ZV9PSycgPT4gIkZpbGUgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIsCgknRmlsZV9TYXZlX0Vycm9yJyA9PiAiVGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIHNhdmluZyB0aGUgZmlsZS4iLAoJJ05ld19GaWxlJyA9PiAnTmV3IEZpbGUnLAoJJ05vX0V4dGVuc2lvbicgPT4gJ1lvdSBoYXZlIHRvIGFkZCBhIGZpbGUgZXh0ZW5zaW9uLicsCgknVmFsaWRfRXh0ZW5zaW9ucycgPT4gJ1ZhbGlkIGV4dGVuc2lvbnM6ICVzJywgLy8gJXMgPSB0eHQsbG9nIGV0Yy4KCSdVcGxvYWRfbWVzc2FnZScgPT4gIkRyb3AgZmlsZSBoZXJlIHRvIHVwbG9hZCIsCgoJJ1NFUlZFUiBFUlJPUicgPT4gIlNFUlZFUiBFUlJPUiIsCgknZm9yYmlkZW4nID0+ICJGb3JiaWRlbiIsCgknd3JvbmcgcGF0aCcgPT4gIldyb25nIHBhdGgiLAoJJ3dyb25nIG5hbWUnID0+ICJXcm9uZyBuYW1lIiwKCSd3cm9uZyBleHRlbnNpb24nID0+ICJXcm9uZyBleHRlbnNpb24iLAoJJ3dyb25nIG9wdGlvbicgPT4gIldyb25nIG9wdGlvbiIsCgknd3JvbmcgZGF0YScgPT4gIldyb25nIGRhdGEiLAoJJ3dyb25nIGFjdGlvbicgPT4gIldyb25nIGFjdGlvbiIsCgknd3Jvbmcgc3ViLWFjdGlvbicgPT4gIldyb25nIHN1Yi1hY3RpbyIsCgknbm8gYWN0aW9uIHBhc3NlZCcgPT4gIk5vIGFjdGlvbiBwYXNzZWQiLAoJJ25vIHBhdGgnID0+ICJObyBwYXRoIiwKCSdubyBmaWxlJyA9PiAiTm8gZmlsZSIsCgkndmlldyB0eXBlIG51bWJlciBtaXNzaW5nJyA9PiAiVmlldyB0eXBlIG51bWJlciBtaXNzaW5nIiwKCSdOb3QgZW5vdWdodCBNZW1vcnknID0+ICJOb3QgZW5vdWdodCBNZW1vcnkiLAoJJ21heF9zaXplX3JlYWNoZWQnID0+ICJZb3VyIGZvbGRlciBoYXMgcmVhY2ggaXRzIG1heGltYWxlIHNpemUgb2YgJWQgTUIuIiwgLy8lZCA9IG1heCBvdmVyYWxsIHNpemUKCSdCJyA9PiAiQiIsCgknS0InID0+ICJLQiIsCgknTUInID0+ICJNQiIsCgknR0InID0+ICJHQiIsCgknVEInID0+ICJUQiIsCgkndG90YWwgc2l6ZScgPT4gIlRvdGFsIHNpemUiLAopOwo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgiZmlsZW1hbmFnZXIiLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4odCl7MD09PWUuc2V0dGluZ3MuZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodC5vcmlnaW4udG9Mb3dlckNhc2UoKSkmJiJyZXNwb25zaXZlZmlsZW1hbmFnZXIiPT09dC5kYXRhLnNlbmRlciYmKHRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuZ2V0UGFyYW1zKCkuc2V0VXJsKHQuZGF0YS51cmwpLHRpbnltY2UuYWN0aXZlRWRpdG9yLndpbmRvd01hbmFnZXIuY2xvc2UoKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcj93aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiwhMSk6d2luZG93LmRldGFjaEV2ZW50KCJvbm1lc3NhZ2UiLG4pKX1mdW5jdGlvbiB0KHQsaSxhLHMpe3ZhciByPXdpbmRvdy5pbm5lcldpZHRoLTMwLGc9d2luZG93LmlubmVySGVpZ2h0LTYwO2lmKHI+MTgwMCYmKHI9MTgwMCksZz4xMjAwJiYoZz0xMjAwKSxyPjYwMCl7dmFyIGQ9KHItMjApJTEzODtyPXItZCsxMH11cmx0eXBlPTIsImltYWdlIj09YSYmKHVybHR5cGU9MSksIm1lZGlhIj09YSYmKHVybHR5cGU9Myk7dmFyIG89IlJFU1BPTlNJVkUgRmlsZU1hbmFnZXIiOyJ1bmRlZmluZWQiIT10eXBlb2YgZS5zZXR0aW5ncy5maWxlbWFuYWdlcl90aXRsZSYmZS5zZXR0aW5ncy5maWxlbWFuYWdlcl90aXRsZSYmKG89ZS5zZXR0aW5ncy5maWxlbWFuYWdlcl90aXRsZSk7dmFyIGw9ImtleSI7InVuZGVmaW5lZCIhPXR5cGVvZiBlLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2FjY2Vzc19rZXkmJmUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfYWNjZXNzX2tleSYmKGw9ZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9hY2Nlc3Nfa2V5KTt2YXIgZj0iIjsidW5kZWZpbmVkIiE9dHlwZW9mIGUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfc29ydF9ieSYmZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9zb3J0X2J5JiYoZj0iJnNvcnRfYnk9IitlLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3NvcnRfYnkpO3ZhciBtPSJmYWxzZSI7InVuZGVmaW5lZCIhPXR5cGVvZiBlLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2Rlc2NlbmRpbmcmJmUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfZGVzY2VuZGluZyYmKG09ZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9kZXNjZW5kaW5nKTt2YXIgYz0iIjsidW5kZWZpbmVkIiE9dHlwZW9mIGUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfc3ViZm9sZGVyJiZlLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3N1YmZvbGRlciYmKGM9IiZmbGRyPSIrZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9zdWJmb2xkZXIpO3ZhciB2PSIiOyJ1bmRlZmluZWQiIT10eXBlb2YgZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9jcm9zc2RvbWFpbiYmZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9jcm9zc2RvbWFpbiYmKHY9IiZjcm9zc2RvbWFpbj0xIix3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiwhMSk6d2luZG93LmF0dGFjaEV2ZW50KCJvbm1lc3NhZ2UiLG4pKSx0aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLm9wZW4oe3RpdGxlOm8sZmlsZTplLnNldHRpbmdzLmV4dGVybmFsX2ZpbGVtYW5hZ2VyX3BhdGgrImRpYWxvZy5waHA/dHlwZT0iK3VybHR5cGUrIiZkZXNjZW5kaW5nPSIrbStmK2MrdisiJmxhbmc9IitlLnNldHRpbmdzLmxhbmd1YWdlKyImYWtleT0iK2wsd2lkdGg6cixoZWlnaHQ6ZyxyZXNpemFibGU6ITAsbWF4aW1pemFibGU6ITAsaW5saW5lOjF9LHtzZXRVcmw6ZnVuY3Rpb24obil7dmFyIGk9cy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTtpZihpLnZhbHVlPWUuY29udmVydFVSTChuKSwiY3JlYXRlRXZlbnQiaW4gZG9jdW1lbnQpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJIVE1MRXZlbnRzIik7YS5pbml0RXZlbnQoImNoYW5nZSIsITEsITApLGkuZGlzcGF0Y2hFdmVudChhKX1lbHNlIGkuZmlyZUV2ZW50KCJvbmNoYW5nZSIpfX0pfXJldHVybiB0aW55bWNlLmFjdGl2ZUVkaXRvci5zZXR0aW5ncy5maWxlX2Jyb3dzZXJfY2FsbGJhY2s9dCwhMX0pOw==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkY29uZmlnKSl7CiAgJGNvbmZpZyA9IGluY2x1ZGUgJ2NvbmZpZy9jb25maWcucGhwJzsKICAvL1RPRE8gc3dpdGNoIHRvIGFycmF5CiAgZXh0cmFjdCgkY29uZmlnLCBFWFRSX09WRVJXUklURSk7Cn0KaW5jbHVkZSAnaW5jbHVkZS91dGlscy5waHAnOwoKaWYgKCRfU0VTU0lPTlsnUkYnXVsidmVyaWZ5Il0gIT0gIlJFU1BPTlNJVkVmaWxlbWFuYWdlciIpCnsKCXJlc3BvbnNlKHRyYW5zKCdmb3JiaWRlbicpLkFkZEVycm9yTG9jYXRpb24oKSwgNDAzKS0+c2VuZCgpOwoJZXhpdDsKfQoKaW5jbHVkZSAnaW5jbHVkZS9taW1lX3R5cGVfbGliLnBocCc7CgppZiAoaXNzZXQoJF9QT1NUWydwYXRoJ10pKQp7CiAgICRzdG9yZUZvbGRlciA9ICRfUE9TVFsncGF0aCddOwogICAkc3RvcmVGb2xkZXJUaHVtYiA9ICRfUE9TVFsncGF0aF90aHVtYiddOwp9CmVsc2UKewogICAkc3RvcmVGb2xkZXIgPSAkY3VycmVudF9wYXRoLiRfUE9TVFsiZmxkciJdOyAvLyBjb3JyZWN0IGZvciB3aGVuIElFIGlzIGluIENvbXBhdGliaWxpdHkgbW9kZQogICAkc3RvcmVGb2xkZXJUaHVtYiA9ICR0aHVtYnNfYmFzZV9wYXRoLiRfUE9TVFsiZmxkciJdOwp9CgokcGF0aF9wb3MgID0gc3RycG9zKCRzdG9yZUZvbGRlciwkY3VycmVudF9wYXRoKTsKJHRodW1iX3BvcyA9IHN0cnBvcygkc3RvcmVGb2xkZXJUaHVtYiwkdGh1bWJzX2Jhc2VfcGF0aCk7CgppZiAoJHBhdGhfcG9zIT09MAoJfHwgJHRodW1iX3BvcyAhPT0wCgl8fCBzdHJwb3MoJHN0b3JlRm9sZGVyVGh1bWIsJy4uLycsc3RybGVuKCR0aHVtYnNfYmFzZV9wYXRoKSkgIT09IEZBTFNFCgl8fCBzdHJwb3MoJHN0b3JlRm9sZGVyVGh1bWIsJy4vJyxzdHJsZW4oJHRodW1ic19iYXNlX3BhdGgpKSAhPT0gRkFMU0UKCXx8IHN0cnBvcygkc3RvcmVGb2xkZXIsJy4uLycsc3RybGVuKCRjdXJyZW50X3BhdGgpKSAhPT0gRkFMU0UKCXx8IHN0cnBvcygkc3RvcmVGb2xkZXIsJy4vJyxzdHJsZW4oJGN1cnJlbnRfcGF0aCkpICE9PSBGQUxTRSApCnsKCXJlc3BvbnNlKHRyYW5zKCd3cm9uZyBwYXRoJy5BZGRFcnJvckxvY2F0aW9uKCkpKS0+c2VuZCgpOwoJZXhpdDsKfQoKJHBhdGggPSAkc3RvcmVGb2xkZXI7CiRjeWNsZSA9IFRSVUU7CiRtYXhfY3ljbGVzID0gNTA7CiRpID0gMDsKd2hpbGUgKCRjeWNsZSAmJiAkaSA8ICRtYXhfY3ljbGVzKQp7CgkkaSsrOwoJaWYgKCRwYXRoID09ICRjdXJyZW50X3BhdGgpICRjeWNsZSA9IEZBTFNFOwoJaWYgKGZpbGVfZXhpc3RzKCRwYXRoLiJjb25maWcucGhwIikpCgl7CgkJcmVxdWlyZV9vbmNlICRwYXRoLiJjb25maWcucGhwIjsKCQkkY3ljbGUgPSBGQUxTRTsKCX0KCSRwYXRoID0gZml4X2Rpcm5hbWUoJHBhdGgpLicvJzsKfQoKCmlmICggISBlbXB0eSgkX0ZJTEVTKSkKewoJJGluZm8gPSBwYXRoaW5mbygkX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSk7CgkkbWltZV90eXBlID0gZ2V0X2ZpbGVfbWltZV90eXBlKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSk7CgkkZXh0ZW5zaW9uID0gZ2V0X2V4dGVuc2lvbl9mcm9tX21pbWUoJG1pbWVfdHlwZSk7CglpZigkZXh0ZW5zaW9uPT09JycgfHwgJGV4dGVuc2lvbj09J3NvJyl7CgkJJGV4dGVuc2lvbiA9ICRpbmZvWydleHRlbnNpb24nXTsKCX0KCglpZiAoaW5fYXJyYXkoZml4X3N0cnRvbG93ZXIoJGV4dGVuc2lvbiksICRleHQpKQoJewoJCSR0ZW1wRmlsZSA9ICRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXTsKCQkkdGFyZ2V0UGF0aCA9ICRzdG9yZUZvbGRlcjsKCQkkdGFyZ2V0UGF0aFRodW1iID0gJHN0b3JlRm9sZGVyVGh1bWI7CgkJJF9GSUxFU1snZmlsZSddWyduYW1lJ10gPSBmaXhfZmlsZW5hbWUoJGluZm9bJ2ZpbGVuYW1lJ10uIi4iLiRleHRlbnNpb24sJHRyYW5zbGl0ZXJhdGlvbiwkY29udmVydF9zcGFjZXMsICRyZXBsYWNlX3dpdGgpOwoJCS8vIExvd2VyQ2FzZQoJCWlmICgkbG93ZXJfY2FzZSkKCQl7CgkJCSRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddID0gZml4X3N0cnRvbG93ZXIoJF9GSUxFU1snZmlsZSddWyduYW1lJ10pOwoJCX0KCSAJLy8gR2VuLiBuZXcgZmlsZSBuYW1lIGlmIGV4aXN0cwoJCWlmIChmaWxlX2V4aXN0cygkdGFyZ2V0UGF0aC4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpCgkJewoJCQkkaSA9IDE7CgkJCSRpbmZvID0gcGF0aGluZm8oJF9GSUxFU1snZmlsZSddWyduYW1lJ10pOwoKCQkJLy8gYXBwZW5kIG51bWJlcgoJCQl3aGlsZShmaWxlX2V4aXN0cygkdGFyZ2V0UGF0aC4kaW5mb1snZmlsZW5hbWUnXS4iXyIuJGkuIi4iLiRleHRlbnNpb24pKSB7CgkJCQkkaSsrOwoJCQl9CgkJCSRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddID0gJGluZm9bJ2ZpbGVuYW1lJ10uIl8iLiRpLiIuIi4kZXh0ZW5zaW9uOwoJCX0KCgkJJHRhcmdldEZpbGUgPSAgJHRhcmdldFBhdGguICRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddOwoJCSR0YXJnZXRGaWxlVGh1bWIgPSAgJHRhcmdldFBhdGhUaHVtYi4gJF9GSUxFU1snZmlsZSddWyduYW1lJ107CgoJCS8vIGNoZWNrIGlmIGltYWdlIChhbmQgc3VwcG9ydGVkKQoJCWlmIChpbl9hcnJheShmaXhfc3RydG9sb3dlcigkZXh0ZW5zaW9uKSwkZXh0X2ltZykpICRpc19pbWc9VFJVRTsKCQllbHNlICRpc19pbWc9RkFMU0U7CgoJCWlmICghY2hlY2tyZXN1bHRpbmdzaXplKCRfRklMRVNbJ2ZpbGUnXVsnc2l6ZSddKSkgewoJCQlyZXNwb25zZShzcHJpbnRmKHRyYW5zKCdtYXhfc2l6ZV9yZWFjaGVkJyksJE1heFNpemVUb3RhbCkuQWRkRXJyb3JMb2NhdGlvbigpLCA0MDYpLT5zZW5kKCk7CgkJCWV4aXQ7CgkJfQoKCQkvLyB1cGxvYWQKCQltb3ZlX3VwbG9hZGVkX2ZpbGUoJHRlbXBGaWxlLCR0YXJnZXRGaWxlKTsKCQljaG1vZCgkdGFyZ2V0RmlsZSwgMDc1NSk7CgoJCWlmICgkaXNfaW1nKQoJCXsKCQkJJG1lbW9yeV9lcnJvciA9IEZBTFNFOwoJCQlpZiAoICEgY3JlYXRlX2ltZygkdGFyZ2V0RmlsZSwgJHRhcmdldEZpbGVUaHVtYiwgMTIyLCA5MSkpCgkJCXsKCQkJCSRtZW1vcnlfZXJyb3IgPSBGQUxTRTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCS8vIFRPRE8gc29tZXRoaW5nIHdpdGggdGhpcyBsb25nIGZ1bmN0aW9uIGJhYWFhaC4uLgoJCQkJaWYoICEgbmV3X3RodW1ibmFpbHNfY3JlYXRpb24oJHRhcmdldFBhdGgsJHRhcmdldEZpbGUsJF9GSUxFU1snZmlsZSddWyduYW1lJ10sJGN1cnJlbnRfcGF0aCwkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb24sJHJlbGF0aXZlX3BhdGhfZnJvbV9jdXJyZW50X3BvcywkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fbmFtZV90b19wcmVwZW5kLCRyZWxhdGl2ZV9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX2FwcGVuZCwkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fd2lkdGgsJHJlbGF0aXZlX2ltYWdlX2NyZWF0aW9uX2hlaWdodCwkcmVsYXRpdmVfaW1hZ2VfY3JlYXRpb25fb3B0aW9uLCRmaXhlZF9pbWFnZV9jcmVhdGlvbiwkZml4ZWRfcGF0aF9mcm9tX2ZpbGVtYW5hZ2VyLCRmaXhlZF9pbWFnZV9jcmVhdGlvbl9uYW1lX3RvX3ByZXBlbmQsJGZpeGVkX2ltYWdlX2NyZWF0aW9uX3RvX2FwcGVuZCwkZml4ZWRfaW1hZ2VfY3JlYXRpb25fd2lkdGgsJGZpeGVkX2ltYWdlX2NyZWF0aW9uX2hlaWdodCwkZml4ZWRfaW1hZ2VfY3JlYXRpb25fb3B0aW9uKSkKCQkJCXsKCQkJCQkkbWVtb3J5X2Vycm9yID0gRkFMU0U7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJGltZ2luZm8gPSBnZXRpbWFnZXNpemUoJHRhcmdldEZpbGUpOwoJCQkJCSRzcmNXaWR0aCA9ICRpbWdpbmZvWzBdOwoJCQkJCSRzcmNIZWlnaHQgPSAkaW1naW5mb1sxXTsKCgkJCQkJLy8gcmVzaXplIGltYWdlcyBpZiBzZXQKCQkJCQlpZiAoJGltYWdlX3Jlc2l6aW5nKQoJCQkJCXsKCQkJCQkJaWYgKCRpbWFnZV9yZXNpemluZ193aWR0aCA9PSAwKSAvLyBpZiB3aWR0aCBub3Qgc2V0CgkJCQkJCXsKCQkJCQkJCWlmICgkaW1hZ2VfcmVzaXppbmdfaGVpZ2h0ID09IDApCgkJCQkJCQl7CgkJCQkJCQkJJGltYWdlX3Jlc2l6aW5nX3dpZHRoID0gJHNyY1dpZHRoOwoJCQkJCQkJCSRpbWFnZV9yZXNpemluZ19oZWlnaHQgPSAkc3JjSGVpZ2h0OwoJCQkJCQkJfQoJCQkJCQkJZWxzZQoJCQkJCQkJewoJCQkJCQkJCSRpbWFnZV9yZXNpemluZ193aWR0aCA9ICRpbWFnZV9yZXNpemluZ19oZWlnaHQqJHNyY1dpZHRoLyRzcmNIZWlnaHQ7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJZWxzZWlmICgkaW1hZ2VfcmVzaXppbmdfaGVpZ2h0ID09IDApIC8vIGlmIGhlaWdodCBub3Qgc2V0CgkJCQkJCXsKCQkJCQkJCSRpbWFnZV9yZXNpemluZ19oZWlnaHQgPSAkaW1hZ2VfcmVzaXppbmdfd2lkdGgqJHNyY0hlaWdodC8kc3JjV2lkdGg7CgkJCQkJCX0KCgkJCQkJCS8vIG5ldyBkaW1zIGFuZCBjcmVhdGUKCQkJCQkJJHNyY1dpZHRoID0gJGltYWdlX3Jlc2l6aW5nX3dpZHRoOwoJCQkJCQkkc3JjSGVpZ2h0ID0gJGltYWdlX3Jlc2l6aW5nX2hlaWdodDsKCQkJCQkJY3JlYXRlX2ltZygkdGFyZ2V0RmlsZSwgJHRhcmdldEZpbGUsICRpbWFnZV9yZXNpemluZ193aWR0aCwgJGltYWdlX3Jlc2l6aW5nX2hlaWdodCwgJGltYWdlX3Jlc2l6aW5nX21vZGUpOwoJCQkJCX0KCgkJCQkJLy9tYXggcmVzaXppbmcgbGltaXQgY29udHJvbAoJCQkJCSRyZXNpemUgPSBGQUxTRTsKCQkJCQlpZiAoJGltYWdlX21heF93aWR0aCAhPSAwICYmICRzcmNXaWR0aCA+ICRpbWFnZV9tYXhfd2lkdGggJiYgJGltYWdlX3Jlc2l6aW5nX292ZXJyaWRlID09PSBGQUxTRSkKCQkJCQl7CgkJCQkJCSRyZXNpemUgPSBUUlVFOwoJCQkJCQkkc3JjV2lkdGggPSAkaW1hZ2VfbWF4X3dpZHRoOwoKCQkJCQkJaWYgKCRpbWFnZV9tYXhfaGVpZ2h0ID09IDApICRzcmNIZWlnaHQgPSAkaW1hZ2VfbWF4X3dpZHRoKiRzcmNIZWlnaHQvJHNyY1dpZHRoOwoJCQkJCX0KCgkJCQkJaWYgKCRpbWFnZV9tYXhfaGVpZ2h0ICE9IDAgJiYgJHNyY0hlaWdodCA+ICRpbWFnZV9tYXhfaGVpZ2h0ICYmICRpbWFnZV9yZXNpemluZ19vdmVycmlkZSA9PT0gRkFMU0UpewoJCQkJCQkkcmVzaXplID0gVFJVRTsKCQkJCQkJJHNyY0hlaWdodCA9ICRpbWFnZV9tYXhfaGVpZ2h0OwoKCQkJCQkJaWYgKCRpbWFnZV9tYXhfd2lkdGggPT0gMCkgJHNyY1dpZHRoID0gJGltYWdlX21heF9oZWlnaHQqJHNyY1dpZHRoLyRzcmNIZWlnaHQ7CgkJCQkJfQoKCQkJCQlpZiAoJHJlc2l6ZSkgY3JlYXRlX2ltZygkdGFyZ2V0RmlsZSwgJHRhcmdldEZpbGUsICRzcmNXaWR0aCwgJHNyY0hlaWdodCwgJGltYWdlX21heF9tb2RlKTsKCQkJCX0KCQkJfQoKCQkJLy8gbm90IGVub3VnaCBtZW1vcnkKCQkJaWYgKCRtZW1vcnlfZXJyb3IpCgkJCXsKCQkJCXVubGluaygkdGFyZ2V0RmlsZSk7CgkJCQlyZXNwb25zZSh0cmFucygiTm90IGVub3VnaHQgTWVtb3J5IikuQWRkRXJyb3JMb2NhdGlvbigpLCA0MDYpLT5zZW5kKCk7CgkJCQlleGl0KCk7CgkJCX0KCQl9CgkJZWNobyAkX0ZJTEVTWydmaWxlJ11bJ25hbWUnXTsKCX0KCWVsc2UgLy8gZmlsZSBleHQuIGlzIG5vdCBpbiB0aGUgYWxsb3dlZCBsaXN0Cgl7CgkJcmVzcG9uc2UodHJhbnMoIkVycm9yX2V4dGVuc2lvbiIpLkFkZEVycm9yTG9jYXRpb24oKSwgNDA2KS0+c2VuZCgpOwoJCWV4aXQoKTsKCX0KfQplbHNlIC8vIG5vIGZpbGVzIHRvIHVwbG9hZAp7CglyZXNwb25zZSh0cmFucygibm8gZmlsZSIpLkFkZEVycm9yTG9jYXRpb24oKSwgNDA1KS0+c2VuZCgpOwoJZXhpdCgpOwp9CgovLyByZWRpcmVjdAppZiAoaXNzZXQoJF9QT1NUWydzdWJtaXQnXSkpCnsKCSRxdWVyeSA9IGh0dHBfYnVpbGRfcXVlcnkoYXJyYXkoCgkJJ3R5cGUnCSAgCT0+ICRfUE9TVFsndHlwZSddLAoJCSdsYW5nJwkgIAk9PiAkX1BPU1RbJ2xhbmcnXSwKCQkncG9wdXAnCQkJPT4gJF9QT1NUWydwb3B1cCddLAoJCSdmaWVsZF9pZCcgID0+ICRfUE9TVFsnZmllbGRfaWQnXSwKCQknZmxkcicJICAJPT4gJF9QT1NUWydmbGRyJ10sCgkpKTsKCgloZWFkZXIoImxvY2F0aW9uOiBkaWFsb2cucGhwPyIgLiAkcXVlcnkpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/index.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KJGNvbmZpZyA9IGluY2x1ZGUgJy4uL2NvbmZpZy9jb25maWcucGhwJzsNCi8vVE9ETyBzd2l0Y2ggdG8gYXJyYXkNCmV4dHJhY3QoJGNvbmZpZywgRVhUUl9PVkVSV1JJVEUpOw0KDQppZiAoICEgJGphdmFfdXBsb2FkKQ0Kew0KCWRpZSgnZm9yYmlkZGVuJyk7DQp9DQppZiAoJF9TRVNTSU9OWydSRiddWyJ2ZXJpZnkiXSAhPSAiUkVTUE9OU0lWRWZpbGVtYW5hZ2VyIikNCnsNCglkaWUoJ2ZvcmJpZGRlbicpOw0KfQ0KDQovL0xldCdzIGxvYWQgdGhlICdpbnRlcmVzdGluZycgc3R1ZmYgLi4uICA7LSkNCmluY2x1ZGUgJ2p1cGxvYWQucGhwJzsNCmluY2x1ZGUgJy4uL2luY2x1ZGUvdXRpbHMucGhwJzsNCg0KJHBhdGggPSAkY3VycmVudF9wYXRoIC4gJF9HRVRbJ3BhdGgnXTsNCiRjeWNsZSA9IHRydWU7DQokbWF4X2N5Y2xlcyA9IDUwOw0KJGkgPSAwOw0Kd2hpbGUgKCRjeWNsZSAmJiAkaSA8ICRtYXhfY3ljbGVzKQ0Kew0KCSRpKys7DQoJaWYgKCRwYXRoID09ICRjdXJyZW50X3BhdGgpDQoJew0KCQkkY3ljbGUgPSBmYWxzZTsNCgl9DQoNCglpZiAoZmlsZV9leGlzdHMoJHBhdGggLiAiY29uZmlnLnBocCIpKQ0KCXsNCgkJcmVxdWlyZV9vbmNlICRwYXRoIC4gImNvbmZpZy5waHAiOw0KCQkkY3ljbGUgPSBmYWxzZTsNCgl9DQoJJHBhdGggPSBmaXhfZGlybmFtZSgkcGF0aCkgLiAiLyI7DQp9DQoNCiRwYXRoID0gIi4uLyIgLiAkY3VycmVudF9wYXRoIC4gJF9HRVRbJ3BhdGgnXTsNCg0KaWYgKHN0cnBvcygkX0dFVFsncGF0aCddLCAnLi4vJykgIT09IGZhbHNlIHx8IHN0cnBvcygkX0dFVFsncGF0aCddLCAnLi8nKSAhPT0gZmFsc2UgfHwgc3RycG9zKCRfR0VUWydwYXRoJ10sICcvJykgPT09IDApDQp7DQoJZGllICgncGF0aCBlcnJvcicpOw0KfQ0KDQokcGF0aCA9IHN0cl9yZXBsYWNlKCcgJywgJ34nLCAkcGF0aCk7DQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLy8vLy8vLy8vLy8vLy8vICAgVGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24sIHRoYXQgY2FuIGJlIGNhbGxlZCBhZnRlciB1cGxvYWQgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQovKioNCiAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQsIG9uY2UgYWxsIGZpbGVzIGFyZSB1cGxvYWRlZCwgd2l0aCB0aGUgbGlzdCBvZiB1cGxvYWRlZCBmaWxlcyBhcyBhbiBhcmd1bWVudC4NCiAqDQogKiBDb25kaXRpb24gdG8gaGF2ZSB0aGlzIGZ1bmN0aW9uIGNhbGxlZDoNCiAqIC0gSGF2ZSB0aGUgYXBwbGV0IHBhcmFtZXRlciBhZnRlclVwbG9hZFVSTCB1bnNldCBpbiB0aGlzIGZpbGUuIFRoaXMgbWFrZXMgdGhlIGFwcGxldCB1c2UgaXRzIGRlZmF1bHQgYmVoYXZpb3IsIHRoYXQNCiAqIGlzOiBhZnRlclVwbG9hZFVSTCBpcyB0aGUgY3VycmVudCB3ZWIgcGFnZSwgd2l0aCB0aGUgP2FmdGVydXBsb2FkPTEgcGFyYW1ldGVyIGFkZGVkLg0KICogLSBIYXZlIHRoZSBjbGFzcyBwYXJhbWV0ZXIgY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQgc2V0IHRvICdoYW5kbGVfdXBsb2FkZWRfZmlsZXMnLCBuYW1lIG9mIHRoaXMgY2FsbGJhY2suIFlvdQ0KICogY2FuIHVzZSBhbnkgbmFtZSB5b3Ugd2FudCwgYnV0IHRoZSBmdW5jdGlvbiBtdXN0IGFjY2VwdCBvbmUgdW5pcXVlIHBhcmFtZXRlcjogdGhlIGFycmF5IHRoYXQgY29udGFpbnMgdGhlIGZpbGUNCiAqIGRlc2NyaXB0aW9ucy4NCiAqDQogKiBAcGFyYW0gJGp1cGxvYWRQaHBTdXBwb3J0Q2xhc3MgVGhlIGluc3RhbmNlIG9mIHRoZSBKVXBsb2FkIFBIUCBjbGFzcy4NCiAqIEBwYXJhbSAkZmlsZSAgICAgICAgICAgICAgICAgICBUaGUgYXJyYXkgd2ljaCBjb250YWlucyBpbmZvIGFib3V0IGFsbCB1cGxvYWRlZCBmaWxlcy4NCiAqLw0KZnVuY3Rpb24gaGFuZGxlX3VwbG9hZGVkX2ZpbGVzKCRqdXBsb2FkUGhwU3VwcG9ydENsYXNzLCAkZmlsZXMpDQp7DQoJcmV0dXJuDQoJCSI8UD5XZSBhcmUgaW4gdGhlICdoYW5kbGVfdXBsb2FkZWRfZmlsZXMnIGNhbGxiYWNrIGZ1bmN0aW9uLCBpbiB0aGUgaW5kZXgucGhwIHNjcmlwdC4gVG8gYXZvaWQgZG91YmxlIGNvZGluZywgd2UgIg0KCQkuICJqdXN0IGNhbGwgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIEpVcGxvYWQgUEhQIGNsYXNzLiBKdXN0IHJlcGxhY2UgdGhpcyBieSB5b3VyIGNvZGUuLi48L1A+Ig0KCQkuICRqdXBsb2FkUGhwU3VwcG9ydENsYXNzLT5kZWZhdWx0QWZ0ZXJVcGxvYWRNYW5hZ2VtZW50KCk7Ow0KDQp9DQoNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCg0KLy9GaXJzdDogdGhlIGFwcGxldCBwYXJhbWV0ZXJzDQovLw0KLy8gRGVmYXVsdCB2YWx1ZSBzaG91bGQgd29yayBuaWNlIG9uIG1vc3QgY29uZmlndXJhdGlvbi4gSW4gdGhpcyBzYW1wbGUsIHdlIHVzZSBzb21lIHNwZWNpZmljIHBhcmFtZXRlcnMsIHRvIHNob3cNCi8vIGhvdyB0byB1c2UgdGhpcyBhcnJheS4NCi8vIFNlZSBjb21tZW50IGZvciB0aGUgcGFyYW1ldGVycyB1c2VkIG9uIHRoaXMgZGVtbyBwYWdlLg0KLy8NCi8vIFlvdSBjYW4gdXNlIGFsbCBhcHBsZXQgcGFyYW1ldGVycyBpbiB0aGlzIGFycmF5Lg0KLy8gc2VlIGFsbCBkZXRhaWxzIGh0dHA6Ly9qdXBsb2FkLnNvdXJjZWZvcmdlLm5ldC9ob3d0by1jdXN0b21pemF0aW9uLmh0bWwNCi8vDQokYXBwbGV0UGFyYW1ldGVycyA9IGFycmF5KA0KCS8vRGVmYXVsdCB2YWx1ZSBpcyAuLi4gbWF4aW11bSBzaXplIGZvciBhIGZpbGUgb24gdGhlIGN1cnJlbnQgRlMuIDJHIGlzIHByb2JsYWJseSB0b28gbXVjaCBhbHJlYWR5Lg0KCSdtYXhGaWxlU2l6ZScgICAgICAgICAgID0+ICRKQVZBTWF4U2l6ZVVwbG9hZCAuICdHJywNCgkvLw0KCS8vSW4gdGhlIHNvdXJjZWZvcmdlIHByb2plY3Qgc3RydWN0dXJlLCB0aGUgYXBwbGV0IGphciBmaWxlIGlzIG9uZSBmb2xkZXIgYmVsb3cuIERlZmF1bHQNCgkvL2NvbmZpZ3VyYXRpb24gaXMgb2ssIGlmIHdqaGsuanVwbG9hZC5qYXIgaXMgaW4gdGhlIHNhbWUgZm9sZGVyIGFzIHRoZSBzY3JpcHQgY29udGFpbmluZyB0aGlzIGNhbGwuDQoJJ2FyY2hpdmUnICAgICAgICAgICAgICAgPT4gJ3dqaGsuanVwbG9hZC5qYXInLA0KCSdzaG93TG9nV2luZG93JyAgICAgICAgID0+ICdmYWxzZScsDQoJJ3dpZHRoJyAgICAgICAgICAgICAgICAgPT4gJzEwMCUnLA0KCSdoZWlnaHQnICAgICAgICAgICAgICAgID0+ICczNThweCcsDQoJJ25hbWUnICAgICAgICAgICAgICAgICAgPT4gJ05vIGxpbWl0IFVwbG9hZGVyJywNCgknYWxsb3dlZEZpbGVFeHRlbnNpb25zJyA9PiBpbXBsb2RlKCcvJywgJGV4dCksDQoJLy9UbyBtYW5hZ2UsIG90aGVyIGphciBmaWxlcywgbGlrZSB0aGUgZnRwIGphciBmaWxlcyBpZiBwb3N0VVJMIGlzIGFuIEZUUCBVUkw6DQoJLy8nYXJjaGl2ZScgPT4gJ3dqaGsuanVwbG9hZC5qYXIsamFrYXJ0YS1jb21tb25zLW9yby5qYXIsamFrYXJ0YS1jb21tb25zLW5ldC5qYXInLA0KCS8vDQoJLy9EZWZhdWx0IGFmdGVyVXBsb2FkVVJMIGRpc3BsYXlzIHRoZSBsaXN0IG9mIHVwbG9hZGVkIGZpbGVzIGFib3ZlIHRoZSBhcHBsZXQgKGluIHRoZSA8IS0tSlVQTE9BRF9GSUxFUy0tPiBtYXJrZXJzLCBzZWUgYmVsb3cpDQoJLy9Zb3UgY2FuIHVzZSBhbnkgcGFnZSB5b3Ugd2FudCwgdG8gbWFuYWdlIHRoZSB1cGxvYWRlZCBmaWxlcy4gSGVyZSBpcyBhIHNhbXBsZSwgdGhhdCBhbHNvIG9ubHkgc2hvd3MgdGhlIGxpc3Qgb2YgZmlsZXMuDQoJJ2FmdGVyVXBsb2FkVVJMJyAgICAgICAgPT4gJ3N1Y2Nlc3MucGhwP3BhdGg9JyAuICRfR0VUWydwYXRoJ10sDQoJLy8NCgkvL1RoaXMgZGVtbyBleHBlY3RzIHRoZSBtZDVzdW0gdG8gYmUgc2VudCBieSB0aGUgYXBwbGV0LiBCdXQgdGhlIHBhcmFtZXRlciBpcyBub3QgbWFuZGF0b3J5DQoJLy9UaGlzIHZhbHVlIHNob3VsZCBiZSBzZXQgdG8gZmFsc2UgKG9yIHRoZSBsaW5lIGNvbW1lbnRlZCksIGZvciBiaWcgZmlsZXMsIGFzIG1kNSBjYWxjdWxhdGlvbg0KCS8vbWF5IGJlIGxvbmcgIChOb3RlIHRoaXMgbXVzdCBiZSBzdHJpbmcgYW5kICpub3QqIGJvb2xlYW4gdHJ1ZS9mYWxzZSkNCgknc2VuZE1ENVN1bScgICAgICAgICAgICA9PiAnZmFsc2UnLA0KCS8vDQoJJ2RlYnVnTGV2ZWwnICAgICAgICAgICAgPT4gMCAvLyAxMDAgZGlzYWJsZXMgcmVkaXJlY3QgYWZ0ZXIgdXBsb2FkLCBzbyB3ZSBrZWVwIGl0IGJlbG93LiBUaGlzIHN0aWxsIGdpdmVzIGEgbG90IG9mIGluZm9ybWF0aW9uLCBpbiBjYXNlIG9mIHByb2JsZW0uDQopOw0KDQovLyBmb3IgaHRhY2Nlc3MgcHJvdGVjdGVkIGZvbGRlcnMNCmlmICgoaXNzZXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSkgJiYgJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSAhPSAnJykgJiYgJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSAhPSAnJyAmJiAkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddICE9ICcnKQ0Kew0KCSRhcHBsZXRQYXJhbWV0ZXJzWydzcGVjaWZpY0hlYWRlcnMnXSA9ICdBdXRob3JpemF0aW9uOiBCYXNpYyAnIC4gYmFzZTY0X2VuY29kZSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddIC4gIjoiIC4gJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pOw0KfQ0KDQovLw0KLy9UaGVuOiB0aGUganVwbG9hZCBQSFAgY2xhc3MgcGFyYW1ldGVycw0KJGNsYXNzUGFyYW1ldGVycyA9IGFycmF5KA0KCS8vRmlsZXMgd29uJ3QgYmUgc3RvcmVkIG9uIHRoZSBzZXJ2ZXIuIFVzZWZ1bCBmb3IgZmlyc3QgdGVzdHMgb2YgdGhlIGFwcGxldCBiZWhhdmlvciAuLi4gYW5kIHNvdXJjZWZvcmdlIGRlbW8gc2l0ZSAhDQoJJ2RlbW9fbW9kZScgICAgID0+IGZhbHNlLA0KCS8vDQoJLy9BbGxvdyBjcmVhdGlvbiBvZiBzdWJkaXJlY3Rvcmllcywgd2hlbiB1cGxvYWRpbmcgc2V2ZXJhbCBmb2xkZXJzL2ZpbGVzIChkcmFnIGFuZCBkcm9wIGEgZm9sZGVyIG9uIHRoZSBhcHBsZXQgdG8gdXNlIGl0KS4NCgknYWxsb3dfc3ViZGlycycgPT4gdHJ1ZSwNCgkvLw0KCS8vIFRoZSBjYWxsYmFja0FmdGVyVXBsb2FkTWFuYWdlbWVudCBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCwgb25jZSBhbGwgZmlsZXMgYXJlIHVwbG9hZGVkLCB3aXRoIHRoZSBsaXN0DQoJLy9vZiB1cGxvYWRlZCBmaWxlcyBhcyBhbiBhcmd1bWVudC4gU2VlIHRoZSBhYm92ZSBzYW1wbGUsIGFuZCBjaGFuZ2UgaXQgYWNjb3JkaW5nIHRvIHlvdXIgbmVlZHMuDQoJLy8nY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQnID0+ICdoYW5kbGVfdXBsb2FkZWRfZmlsZXMnLA0KCS8vDQoJLy9JIHdvcmsgb24gd2luZG93cy4gVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBpcyAvdmFyL3RtcC9qdXBsb2FkX3Rlc3QNCgknZGVzdGRpcicgICAgICAgPT4gJHBhdGggIC8vV2hlcmUgdG8gc3RvcmUgdGhlIGZpbGVzIG9uIHRoZSB3ZWINCgkvLydlcnJvcm1haWwnID0+ICdtZUBteS5kb21haW4ub3JnJywNCik7DQppZiAoICEgZW1wdHkoJGNvbnZlcnRfc3BhY2VzKSkNCnsNCgkkY2xhc3NQYXJhbWV0ZXJzWydjb252ZXJ0X3NwYWNlcyddID0gdHJ1ZTsNCn0NCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi8vIEluc3RhbnRpYXRlIGFuZCBpbml0aWFsaXplIEpVcGxvYWQgOiBpbnRlZ3JhdGlvbiBvZiB0aGUgYXBwbGV0IGluIHlvdXIgd2ViIHNpdGUuDQokanVwbG9hZFBocFN1cHBvcnRDbGFzcyA9IG5ldyBKVXBsb2FkKCRhcHBsZXRQYXJhbWV0ZXJzLCAkY2xhc3NQYXJhbWV0ZXJzKTsNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCg0KLy9UaGVuLCBhIHNpbXBsZSBIVE1MIHBhZ2UsIGZvciB0aGUgZGVtbw0KLy8NCi8vICI8IS0tSlVQTE9BRF9GSUxFUy0tPiIgaXMgdGhlIHRhZyB3aGVyZSB0aGUgbGlzdCBvZiB1cGxvYWRlZCBmaWxlcyB3aWxsIGJlIHdyaXR0ZW4uDQovLyAiPCEtLUpVUExPQURfQVBQTEVULS0+IiBpcyB0aGUgcGxhY2Ugd2hlcmUgdGhlIGFwcGxldCB3aWxsIGJlIGludGVncmF0ZWQsIGluIHRoZSB3ZWIgcGFnZS4NCj8+DQo8aHRtbD4NCjxoZWFkPg0KCTwhLS1KVVBMT0FEX0pTQ1JJUFQtLT4NCgk8dGl0bGU+SlVwbG9hZCBSRVNQT05TSVZFIGZpbGVtYW5hZ2VyPC90aXRsZT4NCgk8c3R5bGU+DQoJCWJvZHkgew0KCQkJcGFkZGluZzogMHB4Ow0KCQkJbWFyZ2luOiAwcHg7DQoJCX0NCgk8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQo8ZGl2IGFsaWduPSJjZW50ZXIiPjwhLS1KVVBMT0FEX0ZJTEVTLS0+PC9kaXY+DQo8ZGl2IGFsaWduPSJjZW50ZXIiPjwhLS1KVVBMT0FEX0FQUExFVC0tPjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/jupload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBUaGlzIGNsYXNzIG1hbmFnZSB1cGxvYWQsIHdpdGggdXNlIG9mIHRoZSBKVXBsb2FkIGFwcGxldC4gSXQncyBib3RoIGEgc2FtcGxlIHRvIHNob3cgaG93IHRvIHVzZSB0aGUgYXBwbGV0LCBhbmQNCiAqIGEgY2xhc3MgeW91IGNhbiB1c2UgZGlyZWN0bHkgaW50byB5b3VyIG93biBhcHBsaWNhdGlvbi4NCiAqDQogKiBSZWNvbW1hbmRhdGlvbjogRG9uJ3QgdXBkYXRlIGl0cyBjb2RlICENCiAqDQogKiBCeSBkb2luZyB0aGlzLCB5b3UnbGwgYmUgYWJsZSB0byByZXVzZSBkaXJlY3RseSBhbnkgdXBkYXRlIGNvbWluZyBmcm9tIHRoZSBKVXBsb2FkIHByb2plY3QsIGluc3RlYWQgb2YgcmVwb3J0aW5nIHlvdXINCiAqIG1vZGlmaWNhdGlvbnMgaW50byBhbnkgbmV3IHZlcnNpb24gb2YgdGhpcyBjbGFzcy4gVGhpcyBndWFyYW50ZWVzIHlvdSB0aGF0IHlvdXIgcHJvamVjdCBjYW4gdXNlIHRoZSBsYXN0IHZlcnNpb24gb2YNCiAqIEpVcGxvYWQsIHdpdGhvdXQgYW55IGNvZGUgbW9kaWZpY2F0aW9uLiBXZSB3b3JrIHNvIHRoYXQgdGhlIGFwcGxldCBiZWhhdmlvciByZW1haW5zIHVuY2hhbmdlZCwgYnV0IGZyb20gdGltZSB0byB0aW1lLA0KICogYSBjaGFuZ2UgY2FuIGFwcGVhci4NCiAqDQogKiBTYW1wbGU6DQogKiAtIFNlZSB0aGUgaW5kZXgucGhwIHNhbXBsZXMsIGluIHRoZSBzYW1lIGZvbGRlci4NCiAqDQogKiBOb3RlczoNCiAqIC0gbWF4Q2h1bmtTaXplOiB0aGlzIGNsYXNzIHVzZSBhIGRlZmF1bHQgbWF4Q2h1bmtTaXplIG9mIDUwMEsgKG9yIGxlc3MsIGRlcGVuZGluZyBvbiB0aGUgc2NyaXB0IG1heCBzaXplKS4gVGhpcyBhbGxvd3MNCiAqIHVwbG9hZCBvZiBGSUxFUyBPRiBBTlkgU0laRSBvbiBxdWl0ZSBhbGwgSVNQIGhvc3RpbmcuIElmIGl0J3MgdG9vIGJpZyBmb3IgeW91ICh0aGUgbWF4IHVwbG9hZCBzaXplIG9mIHlvdXIgSVNQIGlzIGxlc3MNCiAqIHRoYW4gNTAwSyksIG9yIGlmIHlvdSB3YW50IG5vIGNodW5rIGF0IGFsbCwgeW91IGNhbiwgb2YgY291cnNlLCBvdmVycmlkZSB0aGlzIGRlZmF1bHQgdmFsdWUuDQogKg0KICoNCiAqDQogKiBQYXJhbWV0ZXJzOg0KICogLSAkYXBwbGV0cGFyYW1zIGNvbnRhaW5zIGEgbWFwIGZvciBhcHBsZXQgcGFyYW1ldGVyczoga2V5IGlzIHRoZSBhcHBsZXQgcGFyYW1ldGVyIG5hbWUuIFRoZSB2YWx1ZSBpcyB0aGUgdmFsdWUgdG8gdHJhbnNtaXQNCiAqIAkJdG8gdGhlIGFwcGxldC4gU2VlIHRoZSBhcHBsZXQgZG9jdW1lbnRhdGlvbiBmb3IgaW5mb3JtYXRpb24gb24gYWxsIGFwcGxldCBwYXJhbWV0ZXJzLg0KICogLSAkY2xhc3NwYXJhbXMgY29udGFpbnMgdGhlIHBhcmFtZXRlciBzcGVjaWZpYyBmb3IgdGhlIEpVcGxvYWQgY2xhc3MgYmVsb3cuIEhlcmUgYXJlIHRoZSBtYWluIGNsYXNzIHBhcmFtZXRlcnM6DQogKiAJCS0gZGVtb19tb2RlLiBGaWxlcyBhcmUgdXBsb2FkZWQgdG8gdGhlIHNlcnZlciwgYnV0IG5vdCBzdG9yZWQgb24gaXRzIGhhcmQgZHJpdmUuIFRoYXQgaXM6IHlvdSBjYW4gc2ltdWxhdGUgdGhlIGdsb2JhbA0KICogCQliZWhhdmlvciwgYnV0IHdvbid0IGNvbnN1bWUgaGFyZCBkcml2ZSBzcGFjZS4gVGhpcyBtb2RlIGlzIHVzZWQgb24gc291cmNlZm9yZ2Ugd2ViIHNpdGUuDQogKg0KICoNCiAqIE91dHB1dCBnZW5lcmF0ZWQgZm9yIHVwbG9hZGVkIGZpbGVzOg0KICogLSAkZmlsZXMgaXMgYW4gYXJyYXkgb2YgYXJyYXkuIFRoaXMgY2FuIGJlIG1hbmFnZWQgYnkgKGEpIHRoZSBmdW5jdGlvbiBnaXZlbiBpbiB0aGUgY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQgY2xhc3MNCiAqIAkJcGFyYW1ldGVyLCBvciAoYikgd2l0aGluIHRoZSBwYWdlIHdob3NlIFVSTCBpcyBnaXZlbiBpbiB0aGUgYWZ0ZXJVcGxvYWRVUkwgYXBwbGV0IHBhcmFtZXRlciwgb3IgKGMpIHlvdSBjYW4gRXh0ZW5kIHRoZQ0KICogCQljbGFzcyBhbmQgcmVkZWNsYXJlIGRlZmF1bHRBZnRlclVwbG9hZE1hbmFnZW1lbnQoKSB0byB5b3VyIG5lZWRzLg0KICogCVNlZSB0aGUgZGVmYXVsdEFmdGVyVXBsb2FkTWFuYWdlbWVudCgpIGZvciBhIHNhbXBsZSBvbiBob3d0byBtYW5hZ2UgdGhpcyBhcnJheS4NCiAqDQogKiAgIFRoaXMgYXJyYXkgY29udGFpbnM6DQogKiAgICAgLSBPbmUgZW50cnkgcGVyIGZpbGUuIEVhY2ggZW50cnkgaXMgYW4gYXJyYXksIHRoYXQgY29udGFpbnMgYWxsIGZpbGVzIHByb3BlcnRpZXMsIHN0b3JlZCBhcyAka2V5PT4kdmFsdWUuDQogKiAJCVRoZSBhdmFpbGFibGUga2V5cyBhcmU6DQogKiAJCSAgLSBuYW1lOiB0aGUgZmlsZW5hbWUsIGFzIGl0IGlzIG5vdyBzdG9yZWQgb24gdGhlIHN5c3RlbS4NCiAqIAkJICAtIHNpemU6IHRoZSBmaWxlIHNpemUNCiAqIAkJICAtIHBhdGg6IHRoZSBhYnNvbHV0ZSBwYXRoLCB3aGVyZSB0aGUgZmlsZSBoYXMgYmVlbiBzdG9yZWQuDQogKiAJCQktIGZ1bGxOYW1lOiB0aGUgY2Fub25pY2FsIGZpbGUgbmFtZSAoaS5lLiBpbmNsdWRpbmcgdGhlIGFic29sdXRlIHBhdGgpDQogKiAJCSAgLSBtZDVzdW06IHRoZSBtZDVzdW0gb2YgdGhlIGZpbGUsIGlmIGZ1cnRoZXIgY29udHJvbCBpcyBuZWVkZWQuDQogKiAJCQktIG1pbWV0eXBlOiB0aGUgY2FsY3VsYXRlZCBtaW1lIHR5cGUgb2YgdGhlIGZpbGUNCiAqIAkJICAtIElmIHRoZSBmb3JtRGF0YSBhcHBsZXQgcGFyYW1ldGVyIGlzIHVzZWQ6IGFsbCBhdHRyaWJ1dGVzIChrZXkgYW5kIHZhbHVlKSB1cGxvYWRlZCBieSB0aGUgYXBwbGV0LCBhcmUgcHV0IGhlcmUsDQogKiAJCQlyZXBlYXRlZCBmb3IgZWFjaCBmaWxlLg0KICoNCiAqIAkJTm90ZTogaWYgeW91IGFyZSB1c2luZyBhIGNhbGxiYWNrIGZ1bmN0aW9uIChpLmUuIGNhbGxiYWNrQWZ0ZXJVcGxvYWRNYW5hZ2VtZW50KSBhbmQgeW91IGRvIG5vdCBzZWUgYSBnbG9iYWwgJ29iamVjdCcgeW91DQogKiAJCQkJCWFyZSBleHBlY3RpbmcgdGhlbiBpdCBtaWdodCBoYXZlIGJlZW4gZGVzdHJveWVkIGJ5IFBIUCAtIGMuZi4gaHR0cDovL2J1Z3MucGhwLm5ldC9idWcucGhwP2lkPTM5NjkzDQogKg0KICovDQoNCmNsYXNzIEpVcGxvYWQgew0KDQoJdmFyICRhcHBsZXRwYXJhbXM7DQoJdmFyICRjbGFzc3BhcmFtczsNCgl2YXIgJGZpbGVzOw0KDQoJcHVibGljIGZ1bmN0aW9uIEpVcGxvYWQoJGFwcGxldHBhcmFtcyA9IGFycmF5KCksICRjbGFzc3BhcmFtcyA9IGFycmF5KCkpIHsNCgkJaWYgKGdldHR5cGUoJGNsYXNzcGFyYW1zKSAhPSAnYXJyYXknKQ0KCQkkdGhpcy0+YWJvcnQoJ0ludmFsaWQgdHlwZSBvZiBwYXJhbWV0ZXIgY2xhc3NwYXJhbXM6IEV4cGVjdGluZyBhbiBhcnJheScpOw0KCQlpZiAoZ2V0dHlwZSgkYXBwbGV0cGFyYW1zKSAhPSAnYXJyYXknKQ0KCQkkdGhpcy0+YWJvcnQoJ0ludmFsaWQgdHlwZSBvZiBwYXJhbWV0ZXIgYXBwbGV0cGFyYW1zOiBFeHBlY3RpbmcgYW4gYXJyYXknKTsNCg0KCQkvLyBzZXQgc29tZSBkZWZhdWx0cyBmb3IgdGhlIGFwcGxldCBwYXJhbXMNCgkJaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydhZnRlclVwbG9hZFVSTCddKSkNCgkJJGFwcGxldHBhcmFtc1snYWZ0ZXJVcGxvYWRVUkwnXSA9ICRfU0VSVkVSWydQSFBfU0VMRiddIC4gJz9hZnRlcnVwbG9hZD0xJzsNCgkJaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWyduYW1lJ10pKQ0KCQkkYXBwbGV0cGFyYW1zWyduYW1lJ10gPSAnSlVwbG9hZCc7DQoJCWlmICghaXNzZXQoJGFwcGxldHBhcmFtc1snYXJjaGl2ZSddKSkNCgkJJGFwcGxldHBhcmFtc1snYXJjaGl2ZSddID0gJ3dqaGsuanVwbG9hZC5qYXInOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ2NvZGUnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ2NvZGUnXSA9ICd3amhrLmp1cGxvYWQyLkpVcGxvYWRBcHBsZXQnOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ2RlYnVnTGV2ZWwnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ2RlYnVnTGV2ZWwnXSA9IDA7DQoJCWlmICghaXNzZXQoJGFwcGxldHBhcmFtc1snaHR0cFVwbG9hZFBhcmFtZXRlclR5cGUnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ2h0dHBVcGxvYWRQYXJhbWV0ZXJUeXBlJ10gPSAnYXJyYXknOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ3Nob3dMb2dXaW5kb3cnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ3Nob3dMb2dXaW5kb3cnXSA9ICgkYXBwbGV0cGFyYW1zWydkZWJ1Z0xldmVsJ10gPiAwKSA/ICd0cnVlJyA6ICdmYWxzZSc7DQoJCWlmICghaXNzZXQoJGFwcGxldHBhcmFtc1snd2lkdGgnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ3dpZHRoJ10gPSA2NDA7DQoJCWlmICghaXNzZXQoJGFwcGxldHBhcmFtc1snaGVpZ2h0J10pKQ0KCQkkYXBwbGV0cGFyYW1zWydoZWlnaHQnXSA9ICgkYXBwbGV0cGFyYW1zWydzaG93TG9nV2luZG93J10gPT0gJ3RydWUnKSA/IDUwMCA6IDMwMDsNCgkJaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydtYXlzY3JpcHQnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ21heXNjcmlwdCddID0gJ3RydWUnOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ3NjcmlwdGFibGUnXSkpDQoJCSRhcHBsZXRwYXJhbXNbJ3NjcmlwdGFibGUnXSA9ICdmYWxzZSc7DQoJCS8vaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydzdHJpbmdVcGxvYWRTdWNjZXNzJ10pKQ0KCQkkYXBwbGV0cGFyYW1zWydzdHJpbmdVcGxvYWRTdWNjZXNzJ10gPSAnU1VDQ0VTUyc7DQoJCS8vaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydzdHJpbmdVcGxvYWRFcnJvciddKSkNCgkJJGFwcGxldHBhcmFtc1snc3RyaW5nVXBsb2FkRXJyb3InXSA9ICdFUlJPUjogKC4qKSc7DQoJCSRtYXhwb3N0ID0gJHRoaXMtPnRvYnl0ZXMoaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpKTsNCgkJJG1heG1lbSA9ICR0aGlzLT50b2J5dGVzKGluaV9nZXQoJ21lbW9yeV9saW1pdCcpKTsNCgkJJG1heGZzID0gJHRoaXMtPnRvYnl0ZXMoaW5pX2dldCgndXBsb2FkX21heF9maWxlc2l6ZScpKTsNCgkJJG9iZCA9IGluaV9nZXQoJ29wZW5fYmFzZWRpcicpOw0KCQlpZiAoIWlzc2V0KCRhcHBsZXRwYXJhbXNbJ21heENodW5rU2l6ZSddKSkgew0KCQkJJG1heGNodW5rID0gKCRtYXhwb3N0IDwgJG1heG1lbSkgPyAkbWF4cG9zdCA6ICRtYXhtZW07DQoJCQkkbWF4Y2h1bmsgPSAoJG1heGNodW5rIDwgJG1heGZzKSA/ICRtYXhjaHVuayA6ICRtYXhmczsNCgkJCSRtYXhjaHVuayAvPSA0Ow0KCQkJJG9wdGNodW5rID0gKDUwMDAwMCA+ICRtYXhjaHVuaykgPyAkbWF4Y2h1bmsgOiA1MDAwMDA7DQoJCQkkYXBwbGV0cGFyYW1zWydtYXhDaHVua1NpemUnXSA9ICRvcHRjaHVuazsNCgkJfQ0KCQkkYXBwbGV0cGFyYW1zWydtYXhDaHVua1NpemUnXSA9ICR0aGlzLT50b2J5dGVzKCRhcHBsZXRwYXJhbXNbJ21heENodW5rU2l6ZSddKTsNCgkJaWYgKCFpc3NldCgkYXBwbGV0cGFyYW1zWydtYXhGaWxlU2l6ZSddKSkNCgkJJGFwcGxldHBhcmFtc1snbWF4RmlsZVNpemUnXSA9ICRtYXhmczsNCgkJJGFwcGxldHBhcmFtc1snbWF4RmlsZVNpemUnXSA9ICR0aGlzLT50b2J5dGVzKCRhcHBsZXRwYXJhbXNbJ21heEZpbGVTaXplJ10pOw0KCQlpZiAoaXNzZXQoJGNsYXNzcGFyYW1zWydlcnJvcm1haWwnXSkpIHsNCgkJCSRhcHBsZXRwYXJhbXNbJ3VybFRvU2VuZEVycm9yVG8nXSA9ICRfU0VSVkVSWyJQSFBfU0VMRiJdIC4gJz9lcnJvcm1haWwnOw0KCQl9DQoNCgkJLy8gU2FtZSBmb3IgY2xhc3MgcGFyYW1ldGVycw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1snZGVtb19tb2RlJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2RlbW9fbW9kZSddID0gZmFsc2U7DQoJCWlmICgkY2xhc3NwYXJhbXNbJ2RlbW9fbW9kZSddKSB7DQoJCQkkY2xhc3NwYXJhbXNbJ2NyZWF0ZV9kZXN0ZGlyJ10gPSBmYWxzZTsNCgkJCSRjbGFzc3BhcmFtc1snYWxsb3dfc3ViZGlycyddID0gdHJ1ZTsNCgkJCSRjbGFzc3BhcmFtc1snYWxsb3dfemVyb3NpemVkJ10gPSB0cnVlOw0KCQkJJGNsYXNzcGFyYW1zWydkdXBsaWNhdGUnXSA9ICdvdmVyd3JpdGUnOw0KCQl9DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydkZWJ1Z19waHAnXSkpCQkJCQkJCQkJCQkvLyBzZXQgdHJ1ZSB0byBsb2cgc29tZSBtZXNzYWdlcyBpbiBQSFAgbG9nDQoJCSRjbGFzc3BhcmFtc1snZGVidWdfcGhwJ10gPSBmYWxzZTsNCgkJaWYgKCFpc3NldCgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2FsbG93ZWRfbWltZV90eXBlcyddKSkJCQkJLy8gYXJyYXkgb2YgYWxsb3dlZCBNSU1FIHR5cGUNCgkJJGNsYXNzcGFyYW1zWydhbGxvd2VkX21pbWVfdHlwZXMnXSA9ICdhbGwnOw0KCQlpZiAoIWlzc2V0KCR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9maWxlX2V4dGVuc2lvbnMnXSkpIAkvLyBhcnJheSBvZiBhbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucw0KCQkkY2xhc3NwYXJhbXNbJ2FsbG93ZWRfZmlsZV9leHRlbnNpb25zJ10gPSAnYWxsJzsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ3ZlcmJvc2VfZXJyb3JzJ10pKQkJCQkJCS8vIHNob3VsZG4ndCBkaXNwbGF5IHNlcnZlciBpbmZvIG9uIGEgcHJvZHVjdGlvbiBzaXRlIQ0KCQkkY2xhc3NwYXJhbXNbJ3ZlcmJvc2VfZXJyb3JzJ10gPSB0cnVlOw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1snc2Vzc2lvbl9yZWdlbmVyYXRlJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ3Nlc3Npb25fcmVnZW5lcmF0ZSddID0gZmFsc2U7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydjcmVhdGVfZGVzdGRpciddKSkNCgkJJGNsYXNzcGFyYW1zWydjcmVhdGVfZGVzdGRpciddID0gdHJ1ZTsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ2FsbG93X3N1YmRpcnMnXSkpDQoJCSRjbGFzc3BhcmFtc1snYWxsb3dfc3ViZGlycyddID0gZmFsc2U7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydzcGFjZXNfaW5fc3ViZGlycyddKSkNCgkJJGNsYXNzcGFyYW1zWydzcGFjZXNfaW5fc3ViZGlycyddID0gZmFsc2U7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydjb252ZXJ0X3NwYWNlcyddKSkgICAgICAgICAvLyBzZXQgdG8gdHJ1ZSB0byBjb252ZXJ0IHNwYWNlcyBpbiBmaWxlbmFtZXMgdG8gXw0KCQkkY2xhc3NwYXJhbXNbJ2NvbnZlcnRfc3BhY2VzJ10gPSBmYWxzZTsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ2FsbG93X3plcm9zaXplZCddKSkNCgkJJGNsYXNzcGFyYW1zWydhbGxvd196ZXJvc2l6ZWQnXSA9IGZhbHNlOw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1snZHVwbGljYXRlJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2R1cGxpY2F0ZSddID0gJ3JlbmFtZSc7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydkaXJwZXJtJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2RpcnBlcm0nXSA9IDA3NTU7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydmaWxlcGVybSddKSkNCgkJJGNsYXNzcGFyYW1zWydmaWxlcGVybSddID0gMDY0NDsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ2Rlc3RkaXInXSkpIHsNCgkJCWlmICgkb2JkICE9ICcnKQ0KCQkJJGNsYXNzcGFyYW1zWydkZXN0ZGlyJ10gPSAkb2JkOw0KCQkJZWxzZQ0KCQkJJGNsYXNzcGFyYW1zWydkZXN0ZGlyJ10gPSAnL3Zhci90bXAvanVwbG9hZF90ZXN0JzsNCgkJfWVsc2V7DQoJCQkkY2xhc3NwYXJhbXNbJ2Rlc3RkaXInXT1zdHJfcmVwbGFjZSgnficsJyAnLCRjbGFzc3BhcmFtc1snZGVzdGRpciddKTsNCgkJfQ0KCQlpZiAoJGNsYXNzcGFyYW1zWydjcmVhdGVfZGVzdGRpciddKSB7DQoJCQkkX3VtYXNrID0gdW1hc2soMCk7IAkvLyBvdmVycmlkZSB0aGUgc3lzdGVtIG1hc2sNCgkJCUBta2RpcigkY2xhc3NwYXJhbXNbJ2Rlc3RkaXInXSwgJGNsYXNzcGFyYW1zWydkaXJwZXJtJ10pOw0KCQkJdW1hc2soJF91bWFzayk7DQoJCX0NCgkJaWYgKCFpc19kaXIoJGNsYXNzcGFyYW1zWydkZXN0ZGlyJ10pICYmIGlzX3dyaXRhYmxlKCRjbGFzc3BhcmFtc1snZGVzdGRpciddKSkNCgkJJHRoaXMtPmFib3J0KCdEZXN0aW5hdGlvbiBkaXIgbm90IGFjY2Vzc2libGUnKTsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ3RtcF9wcmVmaXgnXSkpDQoJCSRjbGFzc3BhcmFtc1sndG1wX3ByZWZpeCddID0gJ2p1dG1wLic7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10pKQ0KCQkkY2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXSA9ICdqdXZhci4nOw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1snanNjcmlwdF93cmFwcGVyJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2pzY3JpcHRfd3JhcHBlciddID0gJ0pVcGxvYWRTZXRQcm9wZXJ0eSc7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWyd0YWdfanNjcmlwdCddKSkNCgkJJGNsYXNzcGFyYW1zWyd0YWdfanNjcmlwdCddID0gJzwhLS1KVVBMT0FEX0pTQ1JJUFQtLT4nOw0KCQlpZiAoIWlzc2V0KCRjbGFzc3BhcmFtc1sndGFnX2FwcGxldCddKSkNCgkJJGNsYXNzcGFyYW1zWyd0YWdfYXBwbGV0J10gPSAnPCEtLUpVUExPQURfQVBQTEVULS0+JzsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ3RhZ19mbGlzdCddKSkNCgkJJGNsYXNzcGFyYW1zWyd0YWdfZmxpc3QnXSA9ICc8IS0tSlVQTE9BRF9GSUxFUy0tPic7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X3N0YXJ0J10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3Rfc3RhcnQnXSA9DQogICAgICAgICAgICAJCSI8dGFibGUgYm9yZGVyPScxJz48VFI+PFRIPkZpbGVuYW1lPC9USD48VEg+ZmlsZSBzaXplPC9USD48VEg+UmVsYXRpdmUgcGF0aDwvVEg+PFRIPkZ1bGwgbmFtZTwvVEg+PFRIPm1kNXN1bTwvVEg+PFRIPlNwZWNpZmljIHBhcmFtZXRlcnM8L1RIPjwvVFI+IjsNCgkJaWYgKCFpc3NldCgkY2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZW5kJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZW5kJ10gPSAiPC90YWJsZT5cbiI7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmVmb3JlJ10pKQ0KCQkkY2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZmlsZV9iZWZvcmUnXSA9ICI8dHI+PHRkPiI7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmV0d2VlbiddKSkNCgkJJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmV0d2VlbiddID0gIjwvdGQ+PHRkPiI7DQoJCWlmICghaXNzZXQoJGNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYWZ0ZXInXSkpDQoJCSRjbGFzc3BhcmFtc1snaHR0cF9mbGlzdF9maWxlX2FmdGVyJ10gPSAiPC90ZD48L3RyPlxuIjsNCg0KCQkkdGhpcy0+YXBwbGV0cGFyYW1zID0gJGFwcGxldHBhcmFtczsNCgkJJHRoaXMtPmNsYXNzcGFyYW1zID0gJGNsYXNzcGFyYW1zOw0KCQkkdGhpcy0+cGFnZV9zdGFydCgpOw0KCX0NCg0KCS8qKg0KCSAqIFJldHVybiBhbiBhcnJheSBvZiB1cGxvYWRlZCBmaWxlcyAqIFRoZSBhcnJheSBjb250YWluczogbmFtZSwgc2l6ZSwgdG1wX25hbWUsIGVycm9yLA0KCSAqIHJlbGF0aXZlUGF0aCwgbWQ1c3VtLCBtaW1ldHlwZSwgZnVsbE5hbWUsIHBhdGgNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gdXBsb2FkZWRmaWxlcygpIHsNCgkJcmV0dXJuICR0aGlzLT5maWxlczsNCgl9DQoNCgkvKioNCgkgKiBMb2cgYSBtZXNzYWdlIG9uIHRoZSBjdXJyZW50IG91dHB1dCwgYXMgYSBIVE1MIGNvbW1lbnQuDQoJICovDQoJcHJvdGVjdGVkIGZ1bmN0aW9uIGxvZ0RlYnVnKCRmdW5jdGlvbiwgJG1zZywgJGh0bWxDb21tZW50PXRydWUpIHsNCgkJJG91dHB1dCA9ICJbREVCVUddIFskZnVuY3Rpb25dICRtc2ciOw0KCQlpZiAoJGh0bWxDb21tZW50KSB7DQoJCQllY2hvKCI8IS0tICRvdXRwdXQgLS0+XHJcbiIpOw0KCQl9IGVsc2Ugew0KCQkJZWNobygiJG91dHB1dFxyXG4iKTsNCgkJfQ0KCX0NCg0KCS8qKg0KCSAqIExvZyBhIG1lc3NhZ2UgdG8gdGhlIFBIUCBsb2cuDQoJICogRGVjbGFyZWQgInByb3RlY3RlZCIgc28gaXQgbWF5IGJlIEV4dGVuZGVkIGlmIHlvdSByZXF1aXJlIGN1c3RvbWlzZWQgbG9nZ2luZyAoZS5nLiBwYXJ0aWN1bGFyIGxvZyBmaWxlIGxvY2F0aW9uKS4NCgkgKi8NCglwcm90ZWN0ZWQgZnVuY3Rpb24gbG9nUEhQRGVidWcoJGZ1bmN0aW9uLCAkbXNnKSB7DQoJCWlmICgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2RlYnVnX3BocCddID09PSB0cnVlKSB7DQoJCQkkb3V0cHV0ID0gIltERUJVR10gWyRmdW5jdGlvbl0gIi4kdGhpcy0+YXJyYXlleHBhbmQoJG1zZyk7DQoJCQllcnJvcl9sb2coJG91dHB1dCk7DQoJCX0NCgl9DQoNCglwcml2YXRlIGZ1bmN0aW9uIGFycmF5ZXhwYW5kKCRhcnJheSkgew0KCQkkb3V0cHV0ID0gJyc7DQoJCWlmIChpc19hcnJheSgkYXJyYXkpKSB7DQoJCQlmb3JlYWNoICgkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUpIHsNCgkJCQkkb3V0cHV0IC49ICJcbiAiLiRrZXkuJyA9PiAnLiR0aGlzLT5hcnJheWV4cGFuZCgkdmFsdWUpOw0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJJG91dHB1dCAuPSAkYXJyYXk7DQoJCX0NCgkJcmV0dXJuICRvdXRwdXQ7DQoJfQ0KDQoNCgkvKioNCgkgKiBDb252ZXJ0IGEgdmFsdWUgZW5kaW5nIGluICdHJywnTScgb3IgJ0snIHRvIGJ5dGVzDQoJICoNCgkgKi8NCglwcml2YXRlIGZ1bmN0aW9uIHRvYnl0ZXMoJHZhbCkgew0KCQkkdmFsID0gdHJpbSgkdmFsKTsNCgkJJGxhc3QgPSBmaXhfc3RydG9sb3dlcigkdmFse3N0cmxlbigkdmFsKS0xfSk7DQoJCXN3aXRjaCgkbGFzdCkgew0KCQkJY2FzZSAnZyc6DQoJCQkJJHZhbCAqPSAxMDI0Ow0KCQkJY2FzZSAnbSc6DQoJCQkJJHZhbCAqPSAxMDI0Ow0KCQkJY2FzZSAnayc6DQoJCQkJJHZhbCAqPSAxMDI0Ow0KCQl9DQoJCXJldHVybiAkdmFsOw0KCX0NCg0KCS8qKg0KCSAqIEJ1aWxkIGEgc3RyaW5nLCBjb250YWluaW5nIGEgamF2YXNjcmlwdCB3cmFwcGVyIGZ1bmN0aW9uDQoJICogZm9yIHNldHRpbmcgYXBwbGV0IHByb3BlcnRpZXMgdmlhIEphdmFTY3JpcHQuIFRoaXMgaXMgbmVjZXNzYXJ5LA0KCSAqIGJlY2F1c2Ugd2UgdXNlIHRoZSAibW9kZXJuIiBtZXRob2Qgb2YgaW5jbHVkaW5nIHRoZSBhcHBsZXQgKHVzaW5nDQoJICogPG9iamVjdD4gcmVzcC4gPGVtYmVkPiB0YWdzKSBpbiBvcmRlciB0byB0cmlnZ2VyIGF1dG9tYXRpYyBKUkUgZG93bmxvYWRpbmcuDQoJICogVGhlcmVmb3JlLCBpbiBOZXRzY2FwZS1saWtlIGJyb3dzZXJzLCB0aGUgYXBwbGV0IGlzIGFjY2Vzc2libGUgdmlhDQoJICogdGhlIGRvY3VtZW50LmVtYmVkc1tdIGFycmF5IHdoaWxlIGluIG90aGVycywgaXQgaXMgYWNjZXNzaWJsZSB2aWEgdGhlDQoJICogZG9jdW1lbnQuYXBwbGV0c1tdIGFycmF5Lg0KCSAqDQoJICogQHJldHVybiBBIHN0cmluZywgY29udGFpbmluZyB0aGUgbmVjZXNzYXJ5IHdyYXBwZXIgZnVuY3Rpb24gKG5hbWVkIEpVcGxvYWRTZXRQcm9wZXJ0eSkNCgkgKi8NCglwcml2YXRlIGZ1bmN0aW9uIHN0cl9qc2luaXQoKSB7DQoJCSROID0gIlxuIjsNCgkJJG5hbWUgPSAkdGhpcy0+YXBwbGV0cGFyYW1zWyduYW1lJ107DQoJCSRyZXQgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPicuJE47DQoJCSRyZXQgLj0gJzwhLS0nLiROOw0KCQkkcmV0IC49ICdmdW5jdGlvbiAnLiR0aGlzLT5jbGFzc3BhcmFtc1snanNjcmlwdF93cmFwcGVyJ10uJyhuYW1lLCB2YWx1ZSkgeycuJE47DQoJCSRyZXQgLj0gJyAgZG9jdW1lbnQuYXBwbGV0c1siJy4kbmFtZS4nIl0gPT0gbnVsbCB8fCBkb2N1bWVudC5hcHBsZXRzWyInLiRuYW1lLiciXS5zZXRQcm9wZXJ0eShuYW1lLHZhbHVlKTsnLiROOw0KCQkkcmV0IC49ICcgIGRvY3VtZW50LmVtYmVkc1siJy4kbmFtZS4nIl0gPT0gbnVsbCB8fCBkb2N1bWVudC5lbWJlZHNbIicuJG5hbWUuJyJdLnNldFByb3BlcnR5KG5hbWUsdmFsdWUpOycuJE47DQoJCSRyZXQgLj0gJ30nLiROOw0KCQkkcmV0IC49ICcvLy0tPicuJE47DQoJCSRyZXQgLj0gJzwvc2NyaXB0Pic7DQoJCXJldHVybiAkcmV0Ow0KCX0NCg0KCS8qKg0KCSAqIEJ1aWxkIGEgc3RyaW5nLCBjb250YWluaW5nIHRoZSBhcHBsZXQgdGFnIHdpdGggYWxsIHBhcmFtZXRlcnMuDQoJICoNCgkgKiBAcmV0dXJuIEEgc3RyaW5nLCBjb250YWluaW5nIHRoZSBhcHBsZXQgdGFnDQoJICovDQoJcHJpdmF0ZSBmdW5jdGlvbiBzdHJfYXBwbGV0KCkgew0KCQkkTiA9ICJcbiI7DQoJCSRwYXJhbXMgPSAkdGhpcy0+YXBwbGV0cGFyYW1zOw0KCQkvLyByZXR1cm4gdGhlIGFjdHVhbCBhcHBsZXQgdGFnDQoJCSRyZXQgPSAnPG9iamVjdCBjbGFzc2lkID0gImNsc2lkOjhBRDlDODQwLTA0NEUtMTFEMS1CM0U5LTAwODA1RjQ5OUQ5MyInLiROOw0KCQkkcmV0IC49ICcgIGNvZGViYXNlID0gImh0dHA6Ly9qYXZhLnN1bi5jb20vdXBkYXRlLzEuNS4wL2ppbnN0YWxsLTFfNS13aW5kb3dzLWk1ODYuY2FiI1ZlcnNpb249NSwwLDAsMyInLiROOw0KCQkkcmV0IC49ICcgIHdpZHRoID0gIicuJHBhcmFtc1snd2lkdGgnXS4nIicuJE47DQoJCSRyZXQgLj0gJyAgaGVpZ2h0ID0gIicuJHBhcmFtc1snaGVpZ2h0J10uJyInLiROOw0KCQkkcmV0IC49ICcgIG5hbWUgPSAiJy4kcGFyYW1zWyduYW1lJ10uJyI+Jy4kTjsNCgkJZm9yZWFjaCAoJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwpIHsNCgkJCWlmICgka2V5ICE9ICd3aWR0aCcgJiYgJGtleSAhPSAnaGVpZ2h0JykNCgkJCSRyZXQgLj0gJyAgPHBhcmFtIG5hbWUgPSAiJy4ka2V5LiciIHZhbHVlID0gIicuJHZhbC4nIiAvPicuJE47DQoJCX0NCgkJJHJldCAuPSAnICA8Y29tbWVudD4nLiROOw0KCQkkcmV0IC49ICcgICAgPGVtYmVkJy4kTjsNCgkJJHJldCAuPSAnICAgICAgdHlwZSA9ICJhcHBsaWNhdGlvbi94LWphdmEtYXBwbGV0O3ZlcnNpb249MS41IicuJE47DQoJCWZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleSA9PiAkdmFsKQ0KCQkkcmV0IC49ICcgICAgICAnLiRrZXkuJyA9ICInLiR2YWwuJyInLiROOw0KCQkkcmV0IC49ICcgICAgICBwbHVnaW5zcGFnZSA9ICJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL3BsdWdpbi9pbmRleC5odG1sI2Rvd25sb2FkIj4nLiROOw0KCQkkcmV0IC49ICcgICAgICA8bm9lbWJlZD4nLiROOw0KCQkkcmV0IC49ICcgICAgICAgIEphdmEgMS41IG9yIGhpZ2hlciBwbHVnaW4gcmVxdWlyZWQuJy4kTjsNCgkJJHJldCAuPSAnICAgICAgPC9ub2VtYmVkPicuJE47DQoJCSRyZXQgLj0gJyAgICA8L2VtYmVkPicuJE47DQoJCSRyZXQgLj0gJyAgPC9jb21tZW50PicuJE47DQoJCSRyZXQgLj0gJzwvb2JqZWN0Pic7DQoJCXJldHVybiAkcmV0Ow0KCX0NCg0KCXByaXZhdGUgZnVuY3Rpb24gYWJvcnQoJG1zZyA9ICcnKSB7DQoJCSR0aGlzLT5jbGVhbnVwKCk7DQoJCWlmICgkbXNnICE9ICcnKQ0KCQlkaWUoc3RyX3JlcGxhY2UoJyguKiknLCRtc2csJHRoaXMtPmFwcGxldHBhcmFtc1snc3RyaW5nVXBsb2FkRXJyb3InXSkuIlxuIik7DQoJCWV4aXQ7DQoJfQ0KDQoJcHJpdmF0ZSBmdW5jdGlvbiB3YXJuaW5nKCRtc2cgPSAnJykgew0KCQkkdGhpcy0+Y2xlYW51cCgpOw0KCQlpZiAoJG1zZyAhPSAnJykNCgkJZWNobygnV0FSTklORzogJy4kbXNnLiJcbiIpOw0KCQllY2hvICR0aGlzLT5hcHBsZXRwYXJhbXNbJ3N0cmluZ1VwbG9hZFN1Y2Nlc3MnXS4iXG4iOw0KCQlleGl0Ow0KCX0NCg0KCXByaXZhdGUgZnVuY3Rpb24gY2xlYW51cCgpIHsNCgkJLy8gcmVtb3ZlIGFsbCB1cGxvYWRlZCBmaWxlcyBvZiAqdGhpcyogcmVxdWVzdA0KCQlpZiAoaXNzZXQoJF9GSUxFUykpIHsNCgkJCWZvcmVhY2ggKCRfRklMRVMgYXMgJGtleSA9PiAkdmFsKQ0KCQkJQHVubGluaygkdmFsWyd0bXBfbmFtZSddKTsNCgkJfQ0KCQkvLyByZW1vdmUgYWNjdW11bGF0ZWQgZmlsZSwgaWYgYW55Lg0KCQlAdW5saW5rKCR0aGlzLT5jbGFzc3BhcmFtc1snZGVzdGRpciddLicvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RtcF9wcmVmaXgnXS5zZXNzaW9uX2lkKCkpOw0KCQlAdW5saW5rKCR0aGlzLT5jbGFzc3BhcmFtc1snZGVzdGRpciddLicvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RtcF9wcmVmaXgnXS4ndG1wJy5zZXNzaW9uX2lkKCkpOw0KCQkvLyByZXNldCBzZXNzaW9uIHZhcg0KCQkkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ3NpemUnXSA9IDA7DQoJCXJldHVybjsNCgl9DQoNCglwcml2YXRlIGZ1bmN0aW9uIG1rZGlycCgkcGF0aCkgew0KCQkvLyBjcmVhdGUgc3ViZGlyIChoaWVyYXJ5KSBiZWxvdyBkZXN0ZGlyOw0KCQkkZGlycyA9IGV4cGxvZGUoJy8nLCAkcGF0aCk7DQoJCSRwYXRoID0gJHRoaXMtPmNsYXNzcGFyYW1zWydkZXN0ZGlyJ107DQoJCWZvcmVhY2ggKCRkaXJzIGFzICRkaXIpIHsNCgkJCSRwYXRoIC49ICcvJy4kZGlyOw0KCQkJaWYgKCFmaWxlX2V4aXN0cygkcGF0aCkpIHsgIC8vIEAgZG9lcyBOT1QgYWx3YXlzIHN1cHJlc3MgdGhlIGVycm9yIQ0KCQkJCSRfdW1hc2sgPSB1bWFzaygwKTsgCS8vIG92ZXJyaWRlIHRoZSBzeXN0ZW0gbWFzaw0KCQkJCUBta2RpcigkcGF0aCwgJHRoaXMtPmNsYXNzcGFyYW1zWydkaXJwZXJtJ10pOw0KCQkJCXVtYXNrKCRfdW1hc2spOw0KCQkJfQ0KCQl9DQoJCWlmICghaXNfZGlyKCRwYXRoKSAmJiBpc193cml0YWJsZSgkcGF0aCkpDQoJCSR0aGlzLT5hYm9ydCgnRGVzdGluYXRpb24gZGlyIG5vdCBhY2Nlc3NpYmxlJyk7DQoJfQ0KDQoJLyoqDQoJICogVGhpcyBtZXRob2Q6DQoJICogLSBSZXBsYWNlcyBzb21lIHBvdGVudGlhbGx5IGRhbmdlcm91cyBjaGFyYWN0ZXJzIGJ5ICdfJyAoaW4gdGhlIGdpdmVuIG5hbWUgYW4gcmVsYXRpdmUgcGF0aCkNCgkgKiAtIENoZWNrcyBpZiBhIGZpbGVzIG9mIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMuDQoJICogCQktIElmIG5vOiBubyBwcm9ibGVtLg0KCSAqIAkJLSBJZiB5ZXMsIGFuZCB0aGUgZHVwbGljYXRlIGNsYXNzIHBhcmFtIGlzIHNldCB0byByZW5hbWUsIHRoZSBmaWxlIGlzIHJlbmFtZWQuDQoJICogCQktIElmIHllcywgYW5kIHRoZSBkdXBsaWNhdGUgY2xhc3MgcGFyYW0gaXMgc2V0IHRvIG92ZXJ3cml0ZSwgdGhlIGZpbGUgaXMgbm90IHJlbmFtZWQuIFRoZSBleGlzdGluZyBvbmUgd2lsbCBiZSBlcmFzZWQuDQoJICogCQktIElmIHllcywgYW5kIHRoZSBkdXBsaWNhdGUgY2xhc3MgcGFyYW0gaXMgc2V0IHRvIHJlamVjdCwgYW4gZXJyb3IgaXMgdGhyb3duLg0KCSAqLw0KCXByaXZhdGUgZnVuY3Rpb24gZHN0ZmluYWwoJiRuYW1lLCAmJHN1YmRpcikgew0KCQkkbmFtZSA9IHByZWdfcmVwbGFjZSgnIVtgJFxcXFwvfF0hJywgJ18nLCAkbmFtZSk7DQoJCWlmICgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2NvbnZlcnRfc3BhY2VzJ10pIHsNCiAgICAgICAgICAgICRuYW1lID0gc3RyX3JlcGxhY2UoJyAnLCAnXycsICRuYW1lKTsNCgkJfQ0KCQlpZiAoJHRoaXMtPmNsYXNzcGFyYW1zWydhbGxvd19zdWJkaXJzJ10gJiYgKCRzdWJkaXIgIT0gJycpKSB7DQoJCQkkc3ViZGlyID0gdHJpbShwcmVnX3JlcGxhY2UoJyFcXFxcIScsJy8nLCRzdWJkaXIpLCcvJyk7DQoJCQkkc3ViZGlyID0gcHJlZ19yZXBsYWNlKCchW2AkfF0hJywgJ18nLCAkc3ViZGlyKTsNCgkJCWlmICghJHRoaXMtPmNsYXNzcGFyYW1zWydzcGFjZXNfaW5fc3ViZGlycyddKSB7DQoJCQkJJHN1YmRpciA9IHN0cl9yZXBsYWNlKCcgJywnXycsJHN1YmRpcik7DQoJCQl9DQoJCQkvLyByZWN1cnNpdmVseSBjcmVhdGUgc3ViZGlyDQoJCQlpZiAoISR0aGlzLT5jbGFzc3BhcmFtc1snZGVtb19tb2RlJ10pDQoJCQkkdGhpcy0+bWtkaXJwKCRzdWJkaXIpOw0KCQkJLy8gYXBwZW5kIGEgc2xhc2gNCgkJCSRzdWJkaXIgLj0gJy8nOw0KCQl9IGVsc2Ugew0KCQkJJHN1YmRpciA9ICcnOw0KCQl9DQoJCSRyZXQgPSAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2Rlc3RkaXInXS4nLycuJHN1YmRpci4kbmFtZTsNCgkJaWYgKGZpbGVfZXhpc3RzKCRyZXQpKSB7DQoJCQlpZiAoJHRoaXMtPmNsYXNzcGFyYW1zWydkdXBsaWNhdGUnXSA9PSAnb3ZlcndyaXRlJykgew0KCQkJCXJldHVybiAkcmV0Ow0KCQkJfQ0KCQkJaWYgKCR0aGlzLT5jbGFzc3BhcmFtc1snZHVwbGljYXRlJ10gPT0gJ3JlamVjdCcpIHsNCgkJCQkkdGhpcy0+YWJvcnQoJ0EgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMnKTsNCgkJCX0NCgkJCWlmICgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2R1cGxpY2F0ZSddID09ICd3YXJuaW5nJykgew0KCQkJCSR0aGlzLT53YXJuaW5nKCJGaWxlICRuYW1lIGFscmVhZHkgZXhpc3RzIC0gcmVqZWN0ZWQiKTsNCgkJCX0NCgkJCWlmICgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2R1cGxpY2F0ZSddID09ICdyZW5hbWUnKSB7DQoJCQkJJGNudCA9IDE7DQoJCQkJJGRpciA9ICR0aGlzLT5jbGFzc3BhcmFtc1snZGVzdGRpciddLicvJy4kc3ViZGlyOw0KCQkJCSRleHQgPSBzdHJyY2hyKCRuYW1lLCAnLicpOw0KCQkJCWlmICgkZXh0KSB7DQoJCQkJCSRuYW1lV2l0aG91dEV4dGVuc2lvbiA9IHN1YnN0cigkbmFtZSwgMCwgc3RybGVuKCRuYW1lKSAtIHN0cmxlbigkZXh0KSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJJGV4dCA9ICcnOw0KCQkJCQkkbmFtZVdpdGhvdXRFeHRlbnNpb24gPSAkbmFtZTsNCgkJCQl9DQoNCgkJCQkkcnRyeSA9ICRkaXIuJG5hbWVXaXRob3V0RXh0ZW5zaW9uLidfJy4kY250LiRleHQ7DQoJCQkJd2hpbGUgKGZpbGVfZXhpc3RzKCRydHJ5KSkgew0KCQkJCQkkY250Kys7DQoJCQkJCSRydHJ5ID0gJGRpci4kbmFtZVdpdGhvdXRFeHRlbnNpb24uJy5fJy4kY250LiRleHQ7DQoJCQkJfQ0KCQkJCS8vV2Ugc3RvcmUgdGhlIHJlc3VsdCBuYW1lIGluIHRoZSBieVJlZmVyZW5jZSBuYW1lIHBhcmFtZXRlci4NCgkJCQkkbmFtZSA9ICRuYW1lV2l0aG91dEV4dGVuc2lvbi4nXycuJGNudC4kZXh0Ow0KCQkJCSRyZXQgPSAkcnRyeTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHJldDsNCgl9DQoNCgkvKioNCgkgKiBFeGFtcGxlIGZ1bmN0aW9uIHRvIHByb2Nlc3MgdGhlIGZpbGVzIHVwbG9hZGVkLiAgVGhpcyBvbmUgc2ltcGx5IGRpc3BsYXlzIHRoZSBmaWxlcycgZGF0YS4NCgkgKg0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBkZWZhdWx0QWZ0ZXJVcGxvYWRNYW5hZ2VtZW50KCkgew0KCQkkZmxpc3QgPSAnW2RlZmF1bHRBZnRlclVwbG9hZE1hbmFnZW1lbnRdIE5iIHVwbG9hZGVkIGZpbGVzIGlzOiAnIC4gc2l6ZW9mKCR0aGlzLT5maWxlcyk7DQoJCSRmbGlzdCA9ICR0aGlzLT5jbGFzc3BhcmFtc1snaHR0cF9mbGlzdF9zdGFydCddOw0KCQlmb3JlYWNoICgkdGhpcy0+ZmlsZXMgYXMgJGYpIHsNCgkJCS8vJGYgaXMgYW4gYXJyYXksIHRoYXQgY29udGFpbnMgYWxsIGluZm8gYWJvdXQgdGhlIHVwbG9hZGVkIGZpbGUuDQoJCQkkdGhpcy0+bG9nRGVidWcoJ2RlZmF1bHRBZnRlclVwbG9hZE1hbmFnZW1lbnQnLCAiICBSZWFkaW5nIGZpbGUgJHtmWyduYW1lJ119Iik7DQoJCQkkZmxpc3QgLj0gJHRoaXMtPmNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmVmb3JlJ107DQoJCQkkZmxpc3QgLj0gJGZbJ25hbWUnXTsNCgkJCSRmbGlzdCAuPSAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZmlsZV9iZXR3ZWVuJ107DQoJCQkkZmxpc3QgLj0gJGZbJ3NpemUnXTsNCgkJCSRmbGlzdCAuPSAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZmlsZV9iZXR3ZWVuJ107DQoJCQkkZmxpc3QgLj0gJGZbJ3JlbGF0aXZlUGF0aCddOw0KCQkJJGZsaXN0IC49ICR0aGlzLT5jbGFzc3BhcmFtc1snaHR0cF9mbGlzdF9maWxlX2JldHdlZW4nXTsNCgkJCSRmbGlzdCAuPSAkZlsnZnVsbE5hbWUnXTsNCgkJCSRmbGlzdCAuPSAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2h0dHBfZmxpc3RfZmlsZV9iZXR3ZWVuJ107DQoJCQkkZmxpc3QgLj0gJGZbJ21kNXN1bSddOw0KCQkJJGFkZEJSID0gZmFsc2U7DQoJCQlmb3JlYWNoICgkZiBhcyAka2V5PT4kdmFsdWUpIHsNCgkJCQkvL0lmIGl0J3MgYSBzcGVjaWZpYyBrZXksIGxldCdzIGRpc3BsYXkgaXQ6DQoJCQkJaWYgKCRrZXkgIT0gJ25hbWUnICYmICRrZXkgIT0gJ3NpemUnICYmICRrZXkgIT0gJ3JlbGF0aXZlUGF0aCcgJiYgJGtleSAhPSAnZnVsbE5hbWUnICYmICRrZXkgIT0gJ21kNXN1bScpIHsNCgkJCQkJaWYgKCRhZGRCUikgew0KCQkJCQkJJGZsaXN0IC49ICI8YnI+IjsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCS8vIEZpcnN0IGxpbmUuIFdlIG11c3QgYWRkIGEgbmV3ICdvZmZpY2lhbCcgbGlzdCBzZXBhcmF0b3IuDQoJCQkJCQkkZmxpc3QgLj0gJHRoaXMtPmNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYmV0d2VlbiddOw0KCQkJCQkJJGFkZEJSID0gdHJ1ZTsNCgkJCQkJfQ0KCQkJCQkkZmxpc3QgLj0gIiRrZXkgPT4gJHZhbHVlIjsNCgkJCQl9DQoJCQl9DQoJCQkkZmxpc3QgLj0gJHRoaXMtPmNsYXNzcGFyYW1zWydodHRwX2ZsaXN0X2ZpbGVfYWZ0ZXInXTsNCgl9DQoJJGZsaXN0IC49ICR0aGlzLT5jbGFzc3BhcmFtc1snaHR0cF9mbGlzdF9lbmQnXTsNCg0KCXJldHVybiAkZmxpc3Q7DQp9DQoNCi8qKg0KICogR2VuZXJhdGlvbiBvZiB0aGUgYXBwbGV0IHRhZywgYW5kIG5lY2Vzc2FyeSB0aGluZ3MgYXJvdW5kIChqcyBjb250ZW50KS4gSW5zZXJ0aW9uIG9mIHRoaXMgaW50byB0aGUgY29udGVudCBvZiB0aGUNCiAqIHBhZ2UuDQogKiBTZWUgdGhlIHRhZ19qc2NyaXB0IGFuZCB0YWdfYXBwbGV0IGNsYXNzIHBhcmFtZXRlcnMuDQogKi8NCnByaXZhdGUgZnVuY3Rpb24gZ2VuZXJhdGVBcHBsZXRUYWcoJHN0cikgew0KCSR0aGlzLT5sb2dEZWJ1ZygnZ2VuZXJhdGVBcHBsZXRUYWcnLCAnRW50ZXJpbmcgZnVuY3Rpb24nKTsNCgkkc3RyID0gcHJlZ19yZXBsYWNlKCcvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RhZ19qc2NyaXB0J10uJy8nLCAkdGhpcy0+c3RyX2pzaW5pdCgpLCAkc3RyKTsNCglyZXR1cm4gcHJlZ19yZXBsYWNlKCcvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RhZ19hcHBsZXQnXS4nLycsICR0aGlzLT5zdHJfYXBwbGV0KCksICRzdHIpOw0KfQ0KDQovKioNCiAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gY29uc3RydWN0aW5nIHRoZSBwYWdlLCB3aGVuIHdlJ3JlIG5vdCByZXZlaXZpbmcgdXBsb2FkZWQgZmlsZXMuIEl0ICdqdXN0JyBjb25zdHJ1Y3QNCiAqIHRoZSBhcHBsZXQgdGFnLCBieSBjYWxsaW5nIHRoZSByZWxldmFudCBmdW5jdGlvbi4NCiAqDQogKiBUaGlzICptdXN0KiBiZSBwdWJsaWMsIGJlY2F1c2UgaXQgaXMgY2FsbGVkIGZyb20gUEhQJ3Mgb3V0cHV0IGJ1ZmZlcmluZw0KICovDQpwdWJsaWMgZnVuY3Rpb24gaW50ZXJjZXB0QmVmb3JlVXBsb2FkKCRzdHIpIHsNCgkkdGhpcy0+bG9nRGVidWcoJ2ludGVyY2VwdEJlZm9yZVVwbG9hZCcsICdFbnRlcmluZyBmdW5jdGlvbicpOw0KCXJldHVybiAkdGhpcy0+Z2VuZXJhdGVBcHBsZXRUYWcoJHN0cik7DQp9DQoNCi8qKg0KICogVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgdXBsb2FkZWQgZmlsZXMgZGVzY3JpcHRpb24gaW4gdGhlIGN1cnJlbnQgcGFnZSAoc2VlIHRhZ19mbGlzdCBjbGFzcyBwYXJhbWV0ZXIpDQogKg0KICogVGhpcyAqbXVzdCogYmUgcHVibGljLCBiZWNhdXNlIGl0IGlzIGNhbGxlZCBmcm9tIFBIUCdzIG91dHB1dCBidWZmZXJpbmcuDQogKi8NCnB1YmxpYyBmdW5jdGlvbiBpbnRlcmNlcHRBZnRlclVwbG9hZCgkc3RyKSB7DQoJJHRoaXMtPmxvZ0RlYnVnKCdpbnRlcmNlcHRBZnRlclVwbG9hZCcsICdFbnRlcmluZyBmdW5jdGlvbicpOw0KCSR0aGlzLT5sb2dQSFBEZWJ1ZygnaW50ZXJjZXB0QWZ0ZXJVcGxvYWQnLCAkdGhpcy0+ZmlsZXMpOw0KDQoJaWYgKGNvdW50KCR0aGlzLT5maWxlcykgPiAwKSB7DQoJCWlmIChpc3NldCgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2NhbGxiYWNrQWZ0ZXJVcGxvYWRNYW5hZ2VtZW50J10pKSB7DQoJCQkkdGhpcy0+bG9nRGVidWcoJ2ludGVyY2VwdEFmdGVyVXBsb2FkJywgJ0JlZm9yZSBjYWxsIG9mICcgLiR0aGlzLT5jbGFzc3BhcmFtc1snY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQnXSk7DQoJCQkkc3RyRm9yRkxpc3RDb250ZW50ID0gY2FsbF91c2VyX2Z1bmMoJHRoaXMtPmNsYXNzcGFyYW1zWydjYWxsYmFja0FmdGVyVXBsb2FkTWFuYWdlbWVudCddLCAkdGhpcywgJHRoaXMtPmZpbGVzKTsNCgkJfSBlbHNlIHsNCgkJCSRzdHJGb3JGTGlzdENvbnRlbnQgPSAkdGhpcy0+ZGVmYXVsdEFmdGVyVXBsb2FkTWFuYWdlbWVudCgpOw0KCQl9DQoJCSRzdHIgPSBwcmVnX3JlcGxhY2UoJy8nLiR0aGlzLT5jbGFzc3BhcmFtc1sndGFnX2ZsaXN0J10uJy8nLCAkc3RyRm9yRkxpc3RDb250ZW50LCAkc3RyKTsNCgl9DQoJcmV0dXJuICR0aGlzLT5nZW5lcmF0ZUFwcGxldFRhZygkc3RyKTsNCn0NCg0KLyoqDQogKiBUaGlzIG1ldGhvZCBtYW5hZ2VzIHRoZSByZWNlaXZpbmcgb2YgdGhlIGRlYnVnIGxvZywgd2hlbiBhbiBlcnJvciBvY2N1cnMuDQogKi8NCnByaXZhdGUgZnVuY3Rpb24gcmVjZWl2ZV9kZWJ1Z19sb2coKSB7DQoJLy8gaGFuZGxlIGVycm9yIHJlcG9ydA0KCWlmIChpc3NldCgkX1BPU1RbJ2Rlc2NyaXB0aW9uJ10pICYmIGlzc2V0KCRfUE9TVFsnbG9nJ10pKSB7DQoJCSRtc2cgPSAkX1BPU1RbJ2xvZyddOw0KCQltYWlsKCR0aGlzLT5jbGFzc3BhcmFtc1snZXJyb3JtYWlsJ10sICRfUE9TVFsnZGVzY3JpcHRpb24nXSwgJG1zZyk7DQoJfSBlbHNlIHsNCgkJaWYgKGlzc2V0KCRfU0VSVkVSWydTRVJWRVJfQURNSU4nXSkpDQoJCW1haWwoJF9TRVJWRVJbJ1NFUlZFUl9BRE1JTiddLCAnRW1wdHkganVwbG9hZCBlcnJvciBsb2cnLA0KICAgICAgICAgICAgICAgICAgICAnQW4gZW1wdHkgbG9nIGhhcyBqdXN0IGJlZW4gcG9zdGVkLicpOw0KCQkkdGhpcy0+bG9nUEhQRGVidWcoJ3JlY2VpdmVfZGVidWdfbG9nJywgJ0VtcHR5IGVycm9yIGxvZyByZWNlaXZlZCcpOw0KCX0NCglleGl0Ow0KfQ0KDQovKioNCiAqIFRoaXMgbWV0aG9kIGlzIHRoZSBoZWFydCBvZiB0aGUgc3lzdGVtLiBJdCBtYW5hZ2UgdGhlIGZpbGVzIHNlbnQgYnkgdGhlIGFwcGxldCwgY2hlY2sgdGhlIGluY29taW5nIHBhcmFtZXRlcnMgKG1kNXN1bSkgYW5kDQogKiByZWNvbnN0cnVjdCB0aGUgZmlsZXMgc2VudCBpbiBjaHVuayBtb2RlLg0KICoNCiAqIFRoZSByZXN1bHQgaXMgc3RvcmVkIGluIHRoZSAkZmlsZXMgYXJyYXksIGFuZCBjYW4gdGhlbiBiZSBtYW5hZ2VkIGJ5IHRoZSBmdW5jdGlvbiBnaXZlbiBpbiB0aGUgY2FsbGJhY2tBZnRlclVwbG9hZE1hbmFnZW1lbnQNCiAqIGNsYXNzIHBhcmFtZXRlciwgb3Igd2l0aGluIHRoZSBwYWdlIHdob3NlIFVSTCBpcyBnaXZlbiBpbiB0aGUgYWZ0ZXJVcGxvYWRVUkwgYXBwbGV0IHBhcmFtZXRlci4NCiAqIE9yIHlvdSBjYW4gRXh0ZW5kIHRoZSBjbGFzcyBhbmQgcmVkZWNsYXJlIGRlZmF1bHRBZnRlclVwbG9hZE1hbmFnZW1lbnQoKSB0byB5b3VyIG5lZWRzLg0KICovDQpwcml2YXRlIGZ1bmN0aW9uIHJlY2VpdmVfdXBsb2FkZWRfZmlsZXMoKSB7DQoJJHRoaXMtPmxvZ0RlYnVnKCdyZWNlaXZlX3VwbG9hZGVkX2ZpbGVzJywgJ0VudGVyaW5nIFBPU1QgbWFuYWdlbWVudCcpOw0KDQoJaWYgKHNlc3Npb25faWQoKSA9PSAnJykgew0KCQlzZXNzaW9uX3N0YXJ0KCk7DQoJfQ0KCS8vIHdlIGNoZWNrIGZvciB0aGUgc2Vzc2lvbiAqYWZ0ZXIqIGhhbmRsaW5nIHBvc3NpYmxlIGVycm9yIGxvZw0KCS8vIGJlY2F1c2UgYW4gZXJyb3IgY291bGQgaGF2ZSBoYXBwZW5lZCBiZWNhdXNlIHRoZSBzZXNzaW9uLWlkIGlzIG1pc3NpbmcuDQoJaWYgKCFpc3NldCgkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ3NpemUnXSkpIHsNCgkJJHRoaXMtPmFib3J0KCdJbnZhbGlkIHNlc3Npb24gKGluIGFmdGVydXBsb2FkLCBQT1NULCBjaGVjayBvZiBzaXplKScpOw0KCX0NCglpZiAoIWlzc2V0KCRfU0VTU0lPTlsnUkYnXVskdGhpcy0+Y2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXS4nZmlsZXMnXSkpIHsNCgkJJHRoaXMtPmFib3J0KCdJbnZhbGlkIHNlc3Npb24gKGluIGFmdGVydXBsb2FkLCBQT1NULCBjaGVjayBvZiBmaWxlcyknKTsNCgl9DQoJJHRoaXMtPmZpbGVzID0gJF9TRVNTSU9OWydSRiddWyR0aGlzLT5jbGFzc3BhcmFtc1sndmFyX3ByZWZpeCddLidmaWxlcyddOw0KCWlmICghaXNfYXJyYXkoJHRoaXMtPmZpbGVzKSkgew0KCQkkdGhpcy0+YWJvcnQoJ0ludmFsaWQgc2Vzc2lvbiAoaW4gYWZ0ZXJ1cGxvYWQsIFBPU1QsIGlzX2FycmF5KGZpbGVzKSknKTsNCgl9DQoJaWYgKCR0aGlzLT5hcHBsZXRwYXJhbXNbJ3NlbmRNRDVTdW0nXSA9PSAndHJ1ZScgICYmICAhaXNzZXQoJF9QT1NUWydtZDVzdW0nXSkpIHsNCgkJJHRoaXMtPmFib3J0KCdSZXF1aXJlZCBQT1NUIHZhcmlhYmxlIG1kNXN1bSBpcyBtaXNzaW5nJyk7DQoJfQ0KCSRjbnQgPSAwOw0KCWZvcmVhY2ggKCRfRklMRVMgYXMgJGtleSA9PiAkdmFsdWUpIHsNCgkJLy9MZXQncyByZWFkIHRoZSAkX0ZJTEVTIGRhdGENCgkJaWYgKGlzc2V0KCRmaWxlc19kYXRhKSkgew0KCQkJdW5zZXQoJGZpbGVzX2RhdGEpOw0KCQl9DQoJCSRqdXBhcnQJCQk9IChpc3NldCgkX1BPU1RbJ2p1cGFydCddKSkJCSAJCT8gKGludCkkX1BPU1RbJ2p1cGFydCddCQk6IDA7DQoJCSRqdWZpbmFsCQk9IChpc3NldCgkX1BPU1RbJ2p1ZmluYWwnXSkpCSAJCT8gKGludCkkX1BPU1RbJ2p1ZmluYWwnXQk6IDE7DQoJCSRyZWxwYXRocwkJPSAoaXNzZXQoJF9QT1NUWydyZWxwYXRoaW5mbyddKSkgCT8gJF9QT1NUWydyZWxwYXRoaW5mbyddCQk6IG51bGw7DQoJCSRtZDVzdW1zCQk9IChpc3NldCgkX1BPU1RbJ21kNXN1bSddKSkJCQkJPyAkX1BPU1RbJ21kNXN1bSddCQkJCTogbnVsbDsNCgkJJG1pbWV0eXBlcyAJPSAoaXNzZXQoJF9QT1NUWydtaW1ldHlwZSddKSkgCSAJPyAkX1BPU1RbJ21pbWV0eXBlJ10gCQkJOiBudWxsOw0KCQkvLyRyZWxwYXRocyA9IChpc3NldCgkX1BPU1RbInJlbHBhdGhpbmZvJGNudCJdKSkgPyAkX1BPU1RbInJlbHBhdGhpbmZvJGNudCJdIDogbnVsbDsNCgkJLy8kbWQ1c3VtcyA9IChpc3NldCgkX1BPU1RbIm1kNXN1bSRjbnQiXSkpID8gJF9QT1NUWyJtZDVzdW0kY250Il0gOiBudWxsOw0KDQoJCWlmIChnZXR0eXBlKCRyZWxwYXRocykgPT0gJ3N0cmluZycpIHsNCgkJCSRyZWxwYXRocyA9IGFycmF5KCRyZWxwYXRocyk7DQoJCX0NCgkJaWYgKGdldHR5cGUoJG1kNXN1bXMpID09ICdzdHJpbmcnKSB7DQoJCQkkbWQ1c3VtcyA9IGFycmF5KCRtZDVzdW1zKTsNCgkJfQ0KCQlpZiAoJHRoaXMtPmFwcGxldHBhcmFtc1snc2VuZE1ENVN1bSddID09ICd0cnVlJyAgJiYgIWlzX2FycmF5KCRtZDVzdW1zKSkgew0KCQkJJHRoaXMtPmFib3J0KCdFeHBlY3RpbmcgYW4gYXJyYXkgb2YgTUQ1IGNoZWNrc3VtcycpOw0KCQl9DQoJCWlmICghaXNfYXJyYXkoJHJlbHBhdGhzKSkgew0KCQkJJHRoaXMtPmFib3J0KCdFeHBlY3RpbmcgYW4gYXJyYXkgb2YgcmVsYXRpdmUgcGF0aHMnKTsNCgkJfQ0KCQlpZiAoIWlzX2FycmF5KCRtaW1ldHlwZXMpKSB7DQoJCQkkdGhpcy0+YWJvcnQoJ0V4cGVjdGluZyBhbiBhcnJheSBvZiBNSU1FIHR5cGVzJyk7DQoJCX0NCgkJLy8gQ2hlY2sgdGhlIE1JTUUgdHlwZSAobm90ZTogdGhpcyBpcyBlYXNpbHkgZm9yZ2VkISkNCgkJaWYgKGlzc2V0KCR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9taW1lX3R5cGVzJ10pICYmIGlzX2FycmF5KCR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9taW1lX3R5cGVzJ10pKSB7DQoJCQlpZiAoIWluX2FycmF5KCRtaW1ldHlwZXNbJGNudF0sICR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9taW1lX3R5cGVzJ10pKSB7DQoJCQkJJHRoaXMtPmFib3J0KCdNSU1FIHR5cGUgJy4kbWltZXR5cGVzWyRjbnRdLicgbm90IGFsbG93ZWQnKTsNCgkJCX0NCgkJfQ0KCQlpZiAoaXNzZXQoJHRoaXMtPmNsYXNzcGFyYW1zWydhbGxvd2VkX2ZpbGVfZXh0ZW5zaW9ucyddKSAmJiBpc19hcnJheSgkdGhpcy0+Y2xhc3NwYXJhbXNbJ2FsbG93ZWRfZmlsZV9leHRlbnNpb25zJ10pKSB7DQoJCQkkZmlsZUV4dGVuc2lvbiA9IHN1YnN0cihzdHJyY2hyKCR2YWx1ZVsnbmFtZSddWyRjbnRdLCAiLiIpLCAxKTsNCgkJCWlmICghaW5fYXJyYXkoJGZpbGVFeHRlbnNpb24sICR0aGlzLT5jbGFzc3BhcmFtc1snYWxsb3dlZF9maWxlX2V4dGVuc2lvbnMnXSkpIHsNCgkJCQkkdGhpcy0+YWJvcnQoJ0ZpbGUgZXh0ZW5zaW9uICcuJGZpbGVFeHRlbnNpb24uJyBub3QgYWxsb3dlZCcpOw0KCQkJfQ0KCQl9DQoNCgkJJGRzdGRpciA9ICR0aGlzLT5jbGFzc3BhcmFtc1snZGVzdGRpciddOw0KCQkkZHN0bmFtZSA9ICRkc3RkaXIuJy8nLiR0aGlzLT5jbGFzc3BhcmFtc1sndG1wX3ByZWZpeCddLnNlc3Npb25faWQoKTsNCgkJJHRtcG5hbWUgPSAkZHN0ZGlyLicvJy4kdGhpcy0+Y2xhc3NwYXJhbXNbJ3RtcF9wcmVmaXgnXS4ndG1wJy5zZXNzaW9uX2lkKCk7DQoNCgkJLy8gQ29udHJvbHMgYXJlIG5vdyBkb25lLiBMZXQncyBzdG9yZSB0aGUgY3VycmVudCB1cGxvYWRlZCBmaWxlcyBwcm9wZXJ0aWVzIGluIGFuIGFycmF5LCBmb3IgZnV0dXJlIHVzZS4NCgkJJGZpbGVzX2RhdGFbJ25hbWUnXQkJCQkJPSAkdmFsdWVbJ25hbWUnXVskY250XTsNCgkJJGZpbGVzX2RhdGFbJ3NpemUnXQkJCQkJPSAnbm90IGNhbGN1bGF0ZWQgeWV0JzsNCgkJJGZpbGVzX2RhdGFbJ3RtcF9uYW1lJ10JCQk9ICR2YWx1ZVsndG1wX25hbWUnXVskY250XTsNCgkJJGZpbGVzX2RhdGFbJ2Vycm9yJ10gICAgCQk9ICR2YWx1ZVsnZXJyb3InXVskY250XTsNCgkJJGZpbGVzX2RhdGFbJ3JlbGF0aXZlUGF0aCddID0gJHJlbHBhdGhzWyRjbnRdOw0KCQkkZmlsZXNfZGF0YVsnbWQ1c3VtJ10gIAkJCT0gJG1kNXN1bXNbJGNudF07DQoJCSRmaWxlc19kYXRhWydtaW1ldHlwZSddICAJCT0gJG1pbWV0eXBlc1skY250XTsNCg0KCQlpZiAoIW1vdmVfdXBsb2FkZWRfZmlsZSgkZmlsZXNfZGF0YVsndG1wX25hbWUnXSwgJHRtcG5hbWUpKSB7DQoJCQlpZiAoJGNsYXNzcGFyYW1zWyd2ZXJib3NlX2Vycm9ycyddKSB7DQoJCQkJJHRoaXMtPmFib3J0KCJVbmFibGUgdG8gbW92ZSB1cGxvYWRlZCBmaWxlIChmcm9tICR7ZmlsZXNfZGF0YVsndG1wX25hbWUnXX0gdG8gJHRtcG5hbWUpIik7DQoJCX0gZWxzZSB7DQoJCQl0cmlnZ2VyX2Vycm9yKCJVbmFibGUgdG8gbW92ZSB1cGxvYWRlZCBmaWxlIChmcm9tICR7ZmlsZXNfZGF0YVsndG1wX25hbWUnXX0gdG8gJHRtcG5hbWUpIixFX1VTRVJfV0FSTklORyk7DQoJCQkkdGhpcy0+YWJvcnQoIlVuYWJsZSB0byBtb3ZlIHVwbG9hZGVkIGZpbGUiKTsNCgl9DQp9DQoNCi8vIEluIGRlbW8gbW9kZSwgbm8gZmlsZSBzdG9yaW5nIGlzIGRvbmUuIFdlIGp1c3QgZGVsZXRlIHRoZSBuZXdseSB1cGxvYWRlZCBmaWxlLg0KaWYgKCR0aGlzLT5jbGFzc3BhcmFtc1snZGVtb19tb2RlJ10pIHsNCglpZiAoJGp1ZmluYWwgfHwgKCEkanVwYXJ0KSkgew0KCQlpZiAoJGp1cGFydCkgew0KCQkJJGZpbGVzX2RhdGFbJ3NpemUnXQkJPSAoJGp1cGFydC0xKSAqICR0aGlzLT5hcHBsZXRwYXJhbXNbJ21heENodW5rU2l6ZSddICsgZmlsZXNpemUoJHRtcG5hbWUpOw0KCQl9IGVsc2Ugew0KCQkJJGZpbGVzX2RhdGFbJ3NpemUnXQkJPSBmaWxlc2l6ZSgkdG1wbmFtZSk7DQoJCX0NCgkJJGZpbGVzX2RhdGFbJ2Z1bGxOYW1lJ10JPSAnRGVtbyBtb2RlPEJSPk5vIGZpbGUgc3RvcmluZyc7DQoJCWFycmF5X3B1c2goJHRoaXMtPmZpbGVzLCAkZmlsZXNfZGF0YSk7DQoJfQ0KCXVubGluaygkdG1wbmFtZSk7DQoJJGNudCsrOw0KCWNvbnRpbnVlOw0KfQ0KLy9JZiB3ZSBnZXQgaGVyZSwgdGhlIHVwbG9hZCBpcyBhIHJlYWwgb25lIChubyBkZW1vKQ0KaWYgKCRqdXBhcnQpIHsNCgkvLyBnb3QgYSBjaHVuayBvZiBhIG11bHRpLXBhcnQgdXBsb2FkDQoJJGxlbiA9IGZpbGVzaXplKCR0bXBuYW1lKTsNCgkkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ3NpemUnXSArPSAkbGVuOw0KCWlmICgkbGVuID4gMCkgew0KCQkkc3JjID0gZm9wZW4oJHRtcG5hbWUsICdyYicpOw0KCQkkZHN0ID0gZm9wZW4oJGRzdG5hbWUsICgkanVwYXJ0ID09IDEpID8gJ3diJyA6ICdhYicpOw0KCQl3aGlsZSAoJGxlbiA+IDApIHsNCgkJCSRybGVuID0gKCRsZW4gPiA4MTkyKSA/IDgxOTIgOiAkbGVuOw0KCQkJJGJ1ZiA9IGZyZWFkKCRzcmMsICRybGVuKTsNCgkJCWlmICghJGJ1Zikgew0KCQkJCWZjbG9zZSgkc3JjKTsNCgkJCQlmY2xvc2UoJGRzdCk7DQoJCQkJdW5saW5rKCRkc3RuYW1lKTsNCgkJCQkkdGhpcy0+YWJvcnQoJ3JlYWQgSU8gZXJyb3InKTsNCgkJCX0NCgkJCWlmICghZndyaXRlKCRkc3QsICRidWYsICRybGVuKSkgew0KCQkJCWZjbG9zZSgkc3JjKTsNCgkJCQlmY2xvc2UoJGRzdCk7DQoJCQkJdW5saW5rKCRkc3RuYW1lKTsNCgkJCQkkdGhpcy0+YWJvcnQoJ3dyaXRlIElPIGVycm9yJyk7DQoJCQl9DQoJCQkkbGVuIC09ICRybGVuOw0KCQl9DQoJCWZjbG9zZSgkc3JjKTsNCgkJZmNsb3NlKCRkc3QpOw0KCQl1bmxpbmsoJHRtcG5hbWUpOw0KCX0NCglpZiAoJGp1ZmluYWwpIHsNCgkJLy8gVGhpcyBpcyB0aGUgbGFzdCBjaHVuay4gQ2hlY2sgdG90YWwgbGVuZ2h0IGFuZA0KCQkvLyByZW5hbWUgaXQgdG8gaXQncyBmaW5hbCBuYW1lLg0KCQkkZGxlbiA9IGZpbGVzaXplKCRkc3RuYW1lKTsNCgkJaWYgKCRkbGVuICE9ICRfU0VTU0lPTlsnUkYnXVskdGhpcy0+Y2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXS4nc2l6ZSddKQ0KCQkkdGhpcy0+YWJvcnQoJ2ZpbGUgc2l6ZSBtaXNtYXRjaCcpOw0KCQlpZiAoJHRoaXMtPmFwcGxldHBhcmFtc1snc2VuZE1ENVN1bSddID09ICd0cnVlJyApIHsNCgkJCWlmICgkbWQ1c3Vtc1skY250XSAhPSBtZDVfZmlsZSgkZHN0bmFtZSkpDQoJCQkkdGhpcy0+YWJvcnQoJ01ENSBjaGVja3N1bSBtaXNtYXRjaCcpOw0KCQl9DQoJCS8vIHJlbW92ZSB6ZXJvIHNpemVkIGZpbGVzDQoJCWlmICgoJGRsZW4gPiAwKSB8fCAkdGhpcy0+Y2xhc3NwYXJhbXNbJ2FsbG93X3plcm9zaXplZCddKSB7DQoJCQkkZHN0ZmluYWwgPSAkdGhpcy0+ZHN0ZmluYWwoJGZpbGVzX2RhdGFbJ25hbWUnXSwkZmlsZXNfZGF0YVsncmVsYXRpdmVQYXRoJ10pOw0KCQkJaWYgKCFyZW5hbWUoJGRzdG5hbWUsICRkc3RmaW5hbCkpDQoJCQkkdGhpcy0+YWJvcnQoJ3JlbmFtZSBJTyBlcnJvcicpOw0KCQkJJF91bWFzayA9IHVtYXNrKDApOyAJLy8gb3ZlcnJpZGUgdGhlIHN5c3RlbSBtYXNrDQoJCQlpZiAoIWNobW9kKCRkc3RmaW5hbCwgJHRoaXMtPmNsYXNzcGFyYW1zWydmaWxlcGVybSddKSkNCgkJCQkkdGhpcy0+YWJvcnQoJ2NobW9kIElPIGVycm9yJyk7DQoJCQl1bWFzaygkX3VtYXNrKTsNCgkJCSRmaWxlc19kYXRhWydzaXplJ10JCT0gZmlsZXNpemUoJGRzdGZpbmFsKTsNCgkJCSRmaWxlc19kYXRhWydmdWxsTmFtZSddCT0gJGRzdGZpbmFsOw0KCQkJJGZpbGVzX2RhdGFbJ3BhdGgnXQk9IGZpeF9kaXJuYW1lKCRkc3RmaW5hbCk7DQoJCQlhcnJheV9wdXNoKCR0aGlzLT5maWxlcywgJGZpbGVzX2RhdGEpOw0KCQl9IGVsc2Ugew0KCQkJdW5saW5rKCRkc3RuYW1lKTsNCgkJfQ0KCQkvLyByZXNldCBzZXNzaW9uIHZhcg0KCQkkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ3NpemUnXSA9IDA7DQoJfQ0KfSBlbHNlIHsNCgkvLyBHb3QgYSBzaW5nbGUgZmlsZSB1cGxvYWQuIFRyaXZpYWwuDQoJaWYgKCR0aGlzLT5hcHBsZXRwYXJhbXNbJ3NlbmRNRDVTdW0nXSA9PSAndHJ1ZScgKSB7DQoJCWlmICgkbWQ1c3Vtc1skY250XSAhPSBtZDVfZmlsZSgkdG1wbmFtZSkpDQoJCQkkdGhpcy0+YWJvcnQoJ01ENSBjaGVja3N1bSBtaXNtYXRjaCcpOw0KCX0NCgkkZHN0ZmluYWwgPSAkdGhpcy0+ZHN0ZmluYWwoJGZpbGVzX2RhdGFbJ25hbWUnXSwkZmlsZXNfZGF0YVsncmVsYXRpdmVQYXRoJ10pOw0KCWlmICghcmVuYW1lKCR0bXBuYW1lLCAkZHN0ZmluYWwpKQ0KCSR0aGlzLT5hYm9ydCgncmVuYW1lIElPIGVycm9yJyk7DQoJJF91bWFzayA9IHVtYXNrKDApOyAJLy8gb3ZlcnJpZGUgdGhlIHN5c3RlbSBtYXNrDQoJaWYgKCFjaG1vZCgkZHN0ZmluYWwsICR0aGlzLT5jbGFzc3BhcmFtc1snZmlsZXBlcm0nXSkpDQoJCSR0aGlzLT5hYm9ydCgnY2htb2QgSU8gZXJyb3InKTsNCgl1bWFzaygkX3VtYXNrKTsNCgkkZmlsZXNfZGF0YVsnc2l6ZSddCQk9IGZpbGVzaXplKCRkc3RmaW5hbCk7DQoJJGZpbGVzX2RhdGFbJ2Z1bGxOYW1lJ10JPSAkZHN0ZmluYWw7DQoJJGZpbGVzX2RhdGFbJ3BhdGgnXQk9IGZpeF9kaXJuYW1lKCRkc3RmaW5hbCk7DQoJYXJyYXlfcHVzaCgkdGhpcy0+ZmlsZXMsICRmaWxlc19kYXRhKTsNCn0NCiRjbnQrKzsNCn0NCg0KZWNobyAkdGhpcy0+YXBwbGV0cGFyYW1zWydzdHJpbmdVcGxvYWRTdWNjZXNzJ10uIlxuIjsNCiRfU0VTU0lPTlsnUkYnXVskdGhpcy0+Y2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXS4nZmlsZXMnXSA9ICR0aGlzLT5maWxlczsNCnNlc3Npb25fd3JpdGVfY2xvc2UoKTsNCmV4aXQ7DQp9DQoNCi8qKg0KICoNCiAqDQogKi8NCnByaXZhdGUgZnVuY3Rpb24gcGFnZV9zdGFydCgpIHsNCgkkdGhpcy0+bG9nRGVidWcoJ3BhZ2Vfc3RhcnQnLCAnRW50ZXJpbmcgZnVuY3Rpb24nKTsNCg0KCS8vIElmIHRoZSBhcHBsZXQgY2hlY2tzIGZvciB0aGUgc2VydmVyUHJvdG9jb2wsIGl0IGlzc3VlcyBhIEhFQUQgcmVxdWVzdA0KCS8vIC0+IFNpbXBseSByZXR1cm4gYW4gZW1wdHkgZG9jLg0KCWlmICgkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnSEVBRCcpIHsNCgkJLy8gTm90aGluZyB0byBkbw0KDQoJfSBlbHNlIGlmICgkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnR0VUJykgew0KCQkvLyBBIEdFVCByZXF1ZXN0IG1lYW5zOiByZXR1cm4gdXBsb2FkIHBhZ2UNCgkJJHRoaXMtPmxvZ0RlYnVnKCdwYWdlX3N0YXJ0JywgJ0VudGVyaW5nIEdFVCBtYW5hZ2VtZW50Jyk7DQoNCgkJaWYgKHNlc3Npb25faWQoKSA9PSAnJykgew0KCQkJc2Vzc2lvbl9zdGFydCgpOw0KCQl9DQoJCWlmIChpc3NldCgkX0dFVFsnYWZ0ZXJ1cGxvYWQnXSkpIHsNCgkJCSR0aGlzLT5sb2dEZWJ1ZygncGFnZV9zdGFydCcsICdhZnRlcnVwbG9hZCBpcyBzZXQnKTsNCgkJCWlmICghaXNzZXQoJF9TRVNTSU9OWydSRiddWyR0aGlzLT5jbGFzc3BhcmFtc1sndmFyX3ByZWZpeCddLidmaWxlcyddKSkgew0KCQkJCSR0aGlzLT5hYm9ydCgnSW52YWxpZCBzZXNzaW9uIChpbiBhZnRlcnVwbG9hZCwgR0VULCBjaGVjayBvZiAkX1NFU1NJT05bIlJGIl0pOiBmaWxlcyBhcnJheSBpcyBub3Qgc2V0Jyk7DQoJCQl9DQoJCQkkdGhpcy0+ZmlsZXMgPSAkX1NFU1NJT05bJ1JGJ11bJHRoaXMtPmNsYXNzcGFyYW1zWyd2YXJfcHJlZml4J10uJ2ZpbGVzJ107DQoJCQlpZiAoIWlzX2FycmF5KCR0aGlzLT5maWxlcykpIHsNCgkJCQkkdGhpcy0+YWJvcnQoJ0ludmFsaWQgc2Vzc2lvbiAoaW4gYWZ0ZXJ1cGxvYWQsIEdFVCwgY2hlY2sgb2YgaXNfYXJyYXkoZmlsZXMpKTogZmlsZXMgaXMgbm90IGFuIGFycmF5Jyk7DQoJCQl9DQoJCQkvLyBjbGVhciBzZXNzaW9uIGRhdGEgcmVhZHkgZm9yIG5ldyB1cGxvYWQNCgkJCSRfU0VTU0lPTlsnUkYnXVskdGhpcy0+Y2xhc3NwYXJhbXNbJ3Zhcl9wcmVmaXgnXS4nZmlsZXMnXSA9IGFycmF5KCk7DQoNCgkJCS8vIHN0YXJ0IGludGVyY2VwdGluZyB0aGUgY29udGVudCBvZiB0aGUgY2FsbGluZyBwYWdlLCB0byBkaXNwbGF5IHRoZSB1cGxvYWQgcmVzdWx0Lg0KCQkJb2Jfc3RhcnQoYXJyYXkoJiAkdGhpcywgJ2ludGVyY2VwdEFmdGVyVXBsb2FkJykpOw0KDQoJCX0gZWxzZSB7DQoJCQkkdGhpcy0+bG9nRGVidWcoJ3BhZ2Vfc3RhcnQnLCAnYWZ0ZXJ1cGxvYWQgaXMgbm90IHNldCcpOw0KCQkJaWYgKCR0aGlzLT5jbGFzc3BhcmFtc1snc2Vzc2lvbl9yZWdlbmVyYXRlJ10pIHsNCgkJCQlzZXNzaW9uX3JlZ2VuZXJhdGVfaWQodHJ1ZSk7DQoJCQl9DQoJCQkkdGhpcy0+ZmlsZXMgPSBhcnJheSgpOw0KCQkJJF9TRVNTSU9OWydSRiddWyR0aGlzLT5jbGFzc3BhcmFtc1sndmFyX3ByZWZpeCddLidzaXplJ10gPSAwOw0KCQkJJF9TRVNTSU9OWydSRiddWyR0aGlzLT5jbGFzc3BhcmFtc1sndmFyX3ByZWZpeCddLidmaWxlcyddID0gJHRoaXMtPmZpbGVzOw0KCQkJLy8gc3RhcnQgaW50ZXJjZXB0aW5nIHRoZSBjb250ZW50IG9mIHRoZSBjYWxsaW5nIHBhZ2UsIHRvIGRpc3BsYXkgdGhlIGFwcGxldCB0YWcuDQoJCQlvYl9zdGFydChhcnJheSgmICR0aGlzLCAnaW50ZXJjZXB0QmVmb3JlVXBsb2FkJykpOw0KCQl9DQoNCgl9IGVsc2UgaWYgKCRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJykgew0KCQkvLyBJZiB3ZSBnb3QgYSBQT1NUIHJlcXVlc3QsIHRoaXMgaXMgdGhlIHJlYWwgd29yay4NCgkJaWYgKGlzc2V0KCRfR0VUWydlcnJvcm1haWwnXSkpIHsNCgkJCS8vSHVtLCBhbiBlcnJvciBvY2N1cnMgb24gc2VydmVyIHNpZGUuIExldCdzIG1hbmFnZSB0aGUgZGVidWcgbG9nLCB0aGF0IHdlIGp1c3QgcmVjZWl2ZWQuDQoJCQkkdGhpcy0+cmVjZWl2ZV9kZWJ1Z19sb2coKTsNCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5yZWNlaXZlX3VwbG9hZGVkX2ZpbGVzKCk7DQoJCX0NCgl9DQp9DQp9DQoNCi8vIFBIUCBlbmQgdGFnIG9taXR0ZWQgaW50ZW50aW9uYWxseSEhDQo=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/success.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEASABIAAD/4QCARXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAKgAgAEAAAAAQAAAQCgAwAEAAAAAQAAAQAAAAAA//4ANE9wdGltaXplZCBieSBKUEVHbWluaSAzLjkuMi41TCBJbnRlcm5hbCAweDA5MGFkODY1/9sAQwAGBAQFBAQGBQUFBgYGBxEPChEICBESDQ4LDxYUFxcWFBYVGRsjHhkaIhoVFh8qICIkJSgpKBgeLC8rJi4jKCgm/9sAQwEGBgYRDxESCgoSJhkWGSYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYm/8AAEQgBAAEAAwEiAAIRAQMRAf/EABwAAQACAwEBAQAAAAAAAAAAAAAGBwIDBQQBCP/EAEYQAAECAwMHCAYHCAEFAAAAAAACAwEEBQYREhMUFTFRUmEHFiEiMkFTcUJikqHR0hdUkaKx4vAjJDNDcoGCwbI0NnPC4f/EABsBAQEAAwEBAQAAAAAAAAAAAAAFAwQGAgEH/8QANxEAAQIDBQUFBgYDAAAAAAAAAAECAwQRBRIhMUEUIlGx8DJSodLhFRZxktHxBhMjQ2GBM0KR/9oADAMBAAIRAxEAPwD9UmibnpWQbyk0+2yn14ifm0yEk/NL6yWUqWVXOVJU47n0/wDvDzvZb9FCSLa9r/kUa1KuXjkicV+hgjRruGpYPPKhX/8AXfcX8o550L699xz5SttLTPoLS36qIYT5peb8dRzPvZF4N+VfOa21r19yyuedC+vfcc+Uc86F9e+458pWul5vx1DS8346h72ReDflXzja16+5ZXPOhfXvuOfKOedC+vfcc+UrXS8346hpeb8dQ97IvBvyr5xta9fcsrnnQvr33HPlHPOhfXvuOfKVrpeb8dQ0vN+Ooe9kXg35V842tevuWVzzoX177jnyjnnQvr33HPlK10vN+OoaXm/HUPeyLwb8q+cbWvX3LK550L699xz5RzzoX177jnyla6Xm/HUNLzfjqHvZF4N+VfONrXr7llc86F9e+458pki2FEcWlCZ3rK9RfylZ6Xm/HUbpOqzedsXvq7STJB/FMRXNaqJiqf6r5z6k0uXXMtHTUh4/uUNNSHj+5RFs+e8QZ894h3hvkp01IeP7lDTUh4/uURbPnvEGfPeIASnTUh4/uUNNSHj+5RFs+e8QZ894gBKdNSHj+5Q01IeP7lEWz57xBnz3iAEp01IeP7lDTUh4/uURbPnvEGfPeIASnTUh4/uUNNSHj+5RFs+e8QZ894gBKdNSHj+5Q01IeP7lEWz57xBnzverFDYoAmTMw1MJxNOJWbCGszeTVl5f9m6j0SWyr+dSzb2/AA8Vpv8At6o/+NZTS5jHHpLtqslpKmTUniwZdCm8RQ8+xM0ybclJttTTzWtKjjvxPLqrmPphShOntF0PVlhljm5wM4OW2Y0Lx0ssMsc3OBnA2YXjpZYZY5ucDOBswvHSywyxzc4GcDZheOllhljm5wM4GzC8dLLDLHNzgZwNmF46WWN0k9++Mf1JOPnBuk5j97Y/qSZZeW3m/FOZ6Y7FCeZcZc5ecjOT9VLx1MvxGX4nLzniM54gHUy/EZficvOeIzniAdTL8Rl+Jy854jOeIB1MvxGX4nLzniM54gHUy/EZficvOeIzniAdTL8Rl+Jy854jOeIB1UzOGJOqJ1qVLeRWstlpt9DDCFOOL1JLPp0rmUixL4sWThhAPQc6sWepdebwVGTbew6l9laf8jog8vYi7rkqh8VK4KQxXJPZ6/oXPJ/zH0TWf8Sf9v8AKTMGr7PhdxDFs7e6hDPoms/4k/7f5R9E1n/En/b/ACkzA9nwu4g2ZvdQhn0TWf8AEn/b/KPoms/4k/7f5SZgez4XcQbM3uoQz6JrP+JP+3+UfRNZ/wASf9v8pMwPZ8LuINmb3UIZ9E1n/En/AG/yj6JrP+JP+3+UmYHs+F3EGzN7qEM+iaz/AIk/7f5R9E1n/En/AG/ykzA9nwu4g2ZvdQhn0TWf8Sf9v8p9b5KaA04laXJ7q+v+UmQPqSEPNGIEl290jfMCk7837Q5gUnfm/aJIDbMxG+YFJ35v2hzApO/N+0SQAEb5gUnfm/aHMCk7837RJAARvmBSd+b9ocwKTvzftEkABG+YFJ35v2hzApO/N+0SQAEb5gUnfm/aHMCk7837RJAARvmBSd+b9oQsDSL78U1HhFRJAAeKnUaQpSf3OXS363pHtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqm5tiQlnJmZdS0y31oqVqMZ6el6bKuTU06lplvpiqP61lZ1KrTdtZpS3FZpR5brdP4x2q/A2ZeWv4rgiampNzaQ8M3Lkhvqlta3XJlbVFbdYlk9F6IdfzUru8oHnlrT2poLiXJ3LTDHel/rQ9uGqJzpy1C2UwlaQnNpZHRBV3WVx6TVJ2sn2VYZlSZthXRFtyHd+tpaSXSlEYlPE55Zp1byvWvgW7R6xK1uRRNyi8SVdEUx7SFbI8T2lTy029ZuYTWqMvL057oWzH0fVVs8+4sykVaVrci3OSi8SF90daI7I8SPMy13eb2esFL0nOX913aTqqHsABqG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADzVKpStJlFzc48lplHfHX5Q2mFXq8pRJFydnXMDaO7vXwhtKwnZ6ZtlMqqVSczOkS+pHd5Q237Talpa9iuDesjSm5xGYJi5eqqbKhUJu2k0ubml5nR5a+N0dn+1R9xxKxXM8SmTlEZCRa6INw1q4xNVarkahFMvLIyEiz0Jah+MeJy8RfhQqUwpTJOtTmYsVVqqrVVzU2YhiNeIYjMYDp0isuUp6PRlZdzqraVqXD4nflJ1+ysyir0lec0t+6Cmo/hHZGG37SG4jo0atuUp1SVpy0q70LZVqVDb5mGJDrXD1M0KLSiotKeBd1Jq0pWpFuck3Mba/unsKik6o7Y2ean6c7nNJnP5f69ItaRnWKjJszksrEy9DHAgTMtcxTJTp5Ob/MSi9pM/qbwAapugAAAAAAAAAAAAAAAAAAAAAAAAAAA8NarUnQZBc7OuYUJ1Jh2lq3YGuv2gkbOSKpudcu3W4dpxXD4lXvvTFpX1V+vuZGnN9hmHpeqn4m3LSt7ed2efwNGcnLm63F3L+VNk1NzNrJhVYrbmbUqX7LUNX9KdvmcKt1xdVWlppGQk2uwynV/c1VqvPVh1MMORlmuwynUk5uIvQ4dKYehzMSLWqqta6md4vMMQxGYxGd4vMMQxAGd4vMMQxAHsROqzByTV2FKS7D1VFv8AJsl1NkpXKaoxcwwju4iu7GWLmLTv5Z3EzT249Z3f9VJc8vLtSjDcuw2ltpqGCCE+iR7SjJ/jTOtS5ZMutfzXZUohsABILoAObaGvydm6audm1auhLcO04ruTD9dB9a2uCZnlzqVc7JDoqVBMIqVGEIQ74hDiHIXoUlUNV8OkpeYlbS26djPTLkGZZXSlDkYwQmHqph+PeYpsxaOzi4T1NmYKcR03S8Y4owhtTGHWhw6fIopZ/F6VJS2rjgxadaF1gh9jeUKVtBBMlO4ZWow6MMehLsfV2R4fiTA0YkJWrdchThRkel5i1QAAxmQAAAAAAAAAAAAHJtJaWSsxIRmppWJauwyntOK4fEwtTamTstIRmJiON5fYYh2nPh5lYLW7UVqtLaleJuP8OW8TyT3JNyVlb287s8yfOztzcZ2uXxM3nHK68q0dpXcnKQ/hy8PT9VJH61XH6zMY1/s2UdVDKeyhJqrNbmK1NZZ7qNp6qWk9ltPD4ngxF6HDp1kc1EiVr1UzxDEYYhiMhjM8QxGGIYgDPEMRhiGIAzxEtsPYh60r8JqagpqnNx6Vd7vqp+J9sLYN60LyZ2eQtqmo+17y+JcrDDUsyhlhtDbSOrBCdSfImzk7d3IefIrSFn3qRImXDj6GMrKsSMs3LSzSWmW4YYISbQCGqnRImiAA0zs7L06Udm5t1LTDMMUVq1QgETRAq6qaatVpSiSDs9OuwbZb+1Ue6EId8YlSzVQctRNOWjrsYs0qX6rctrxx7kwh333dMe/yh0ZVSrPW9qLk7OLVKUCQvjdHoxfFcfdfd5xev11VYfSlpGQkmOo2xDoglO2PEtykrdxXPl6nOT07fwb2ef8APwM6zaOdrLyouOKbY1JYR0ITDu6O/wAzzU+rztKeg7KTC2ow7odlXnDVE8F4vKKN0Jd7UmmGn2zTlZeKJCtJ6cGpDsdsOPv89ZIrK8osxTpiFGtRBbbiOrCaXrhsx7Yet9u0qtDqm1pWhWFSemCk9EYRJXJ1yRtLLop9ejkphPQieh0RhHYr9XeWs1o0BFS65Kp4obUvMq1bzVovgvxLzQtLiErQrElXTBUOmEYbT6U9RrS1jk8m0SFSSqbpS+zFPThhtR8sf/pa9MqknWJNE5IvofYX6Se6OyOyPAiR5dWfynE6OVm0iZYLqh6gAa5tgAAAAAA4NrbYSVlJPG7HKzbkI4JeGtcdsdkOJqtnbWUslKQvgl+ed7DH/srYn8fturWKcipVpbUuKfm3+s3KK1r2X7IQ6OjuN2Vlb2+/LmTZ2eu7kPtcjKKVurVae1K8otz+HKx1ufBPAjdYrU1WpqMxMq1akQ7KPI01WrzVZnFTU0vEqOpMOyjyPHeXGM4nNvfXrM2YhiNd4vMhjNmIYjXeLwDZiGI13i8A2YicWC5P3a8tupVJOTpydSI9p7y2J4mfJ/ydqrWTqlVQpEjDstR1veexJcKEJbQlCEpQhOpKdX9iZOTtP04efEs2fZ1aRIqYaJxPjTSGW0tNIShtHVglOpPkZAEU6EAAA+KUlCYqUrClPfHUU/aK0L/KDWY0+Uezeiyn7RTsfS9ePwLLtah1yy9WQxC9xTLt0E6+yfnhmpLYpsxJtxw5wpClRhup/XuKdnQq1fqhFtaOqUh6Ln9DqWirzU5BunU5ORpkt2U97nrqOJiNeIYiy1NEICu1U2YhiNeIYj6fDZiGI14hiAJLQ7VJYl9F1drPKavouV2muKf10dx1mdJ2IehWaBNZ7Snboxh2k3bF/N3EExHVoNpZygPxUzHKML7TC+yuH+o8TC+HnRP6M0OLSi1y1L3srbCm2slMrKLycwjtyy+238YcTuFGaNRORhX7HzC2JlnrKlE9tuPq7YcO/uJ5YjlKlrQRTT6nBEpU4dW6PYdjw2K4fYRpiTpvQ8vFDoZS0L1GRcF46KTcAGiUwRe3FuJaykrkmsL9Sd7DO76yuHDv+0026t9L2XZjKSuGYqrsOq1DU36yvh3ldZOFnYRrtfXndZmf2jcuvWmO+vy93cb8rKVo9+WicfQlzs9drDh56rw9TO7RcY2htOpU3U5jrNyrmu/eVsu2dxFanVZmrzi5ubcxuK7u5MNkNkDVUanNVWbXNTbuUdX3x1XbIbIHmxFpjOJzj31NmIYjXiGIyHg2YhiNeIYgDZiGI14hiANmIsXk75OY1ODdXrLV0n2kS6tbvrK9X8fLXt5OeTZUwpusVxm5mFy25Zf8zYpXDh39/RrtolTk7+3D/wCluz7OrSLFTDRPqfEpghMEphhTDouhqhA+gEcvgAAAAAAqW3XJS42p2p2fbyiI9dUnDWn+jb/SW0DNBjqxatNeYlmxEuvPyoq9KopVC6MO6Os+Xl7235NJG06Vzkngk6n4kOw7/Xd/ygUhVqTPUOdXJVGXXLvo9FWr+23zgXpeZR+WfA5iak3Q+1inE894vNd4vNg1DZeLzXeLwDZeLzXeLwD2yFSmqXNImZN5TLqe+H4R2w4Etho23aMTcW6dXU9N3oP+XH8CC3n1Dim1pWhWFSenFDXftPLm6pmemv0XIsul8qVdsvHRldkc8iz1cS44HbuKvShxN9S5ap6dbhL0ek5B9zqwWuOVVf6qYd/mRyR5QEuyqJWu0xmppRqcV2/73648Tau39PkG1aFoMvKvq6MqrDf7tZqLKtrVWY+BvJOvpdSJh4m65qyqY1asrz2vzN7iWVxxZKO+rj+oEPnZ+YqM05NTTqnXnOmKo/rUapudfn5lyZmXVOvOdaKlazTebTW6qaL31Nl4vNd4vPZ5Nl4vNd4vANl4vNd4vANl5a3JzyZxvZrNdZ6O23KL/wCS/gbeTfkxhLwZrVdZ/bdtuVX6HrL+BaJJnJ39uH/al2z7OyixU+CfUAAkl0AAAAAAAAAAAAHItJZamWqkoytRYxRh2XU9try+B1wfWupih5cxF3XJVD84WxsJU7HzF76cvJLj1ZpHZ/y3fIjV5+r5qVYnZdyWmWW3mXIYYtrhiSrzKZt5ySP0vKVKgJcmJOHWVK9pxr+neSWpWeruxMFOenbMVu/CxThwK2vF5hfcMRRI5neLzDEMQBneLzDEMQBneLzDEMQBneLzDEMQBneLzDEMQBneLzDEZNpW64lttKlrX1YJT6XkAZQvVGCUwvjHugXNya8mSaclus1xjFNx6zcsv+V6yvW4G7k15MoUOCKvWmkqqEewxH+R57VFjkecna/pw8uJ0Fn2dSkWKmOiAAEstgAAAAAAAAAAAAAAAAAAAAFf285KZS0WUqFJycnUulUU/wAt6PHYrj9pRtRp85SZxyTn5dyXmGuiLa9cPjDj3n6yODa2xdKtjJ5GeawvI7Eyj+I3H/cOEShKzyt3X4oSp2zEdvw8HeCn5ivF53bX2JqtjZzJTreUl19iaR2HPhHhEj95aa9FxauBzj2K1brkopneLzC8Xn08Gd4vMLxeAZ3i8wvF4BneLzC82S7D02+3Ly7S3XnIwRBCIdZUdkBU+mTLbkw6hllC3HHIwTBCdao90IcS9uTbkybs4lFVqyUO1NUL0t+jLw/2rj3d3HZyccmbFl2m6lUkpeqy4f4sQ2J2q4/2hxnxGnJ2u5DyOhs+zrtIkVMdE4eoABNLIAAAAAAAAAAAAAAAAAAAAAAAAAAB56hT5SqybknPS7cxLu9EW16o/raUZb/kkm7P5So0WDs5ToXqi3/MYhx3k8e7vL7BngTCsxbkas1KNiJR2fE/HuIYi9OUHkel6xlanZ9KJaejepUt2W3Y7YbqvxKOnZSZp005KzjDjD7UcMW3IYVJiXYEwj8WnMTMo6GtHZcTDEMRheLzOapniGIwvPTTqfN1adZkZFhb8y9HCltGu/4ce4+Kuqn1E0QScrMVCablZRlx992OFLbfaVHgfoPk45NpeyUsmdnktv1dyHSvuYhup48Tbyc8nMtYyUziZwP1Z6FynYamobiOHHvJoRZucvbjMuZ0dn2dd/Uidrl6gAE8rgAAAAAAAAAAAAAAAAAAHhnZ/NjhzFp8ABKcZ8yqSEOWtPK7a1YBYGWRvGOdN7xXarWubx512pd3gCy87b3j4qdah6RWXOh7eMF2mejDtAFm6RZ3j5pFneKsjaJ/ePnOF/eALU0izvEZtrZCh21lbpn9hOohcibb7aeEd5PCP9iI84X94c4X949MeqbzVxPESGjkuvSqFW2lsvUrKzsZafb6qr8L6P4bsNsPhHUce8uKoVFuqSqpWdaQ+yr0F/jDZHiRV2xtJW5iQuabTuwj0e8rQrRT9zMgx7IWtYS1QiFPkJmqzjUnJtZV92OGCYfjHZDiX/yfWUpdiZSLinG5mpvQuXMdyYbiNkOPf9hB6PLSdCSqEizgWroi5HtK/WyB0tMv75qzU5e3W4IbsjZ1zffi7kWtpljfEKyxH0iqdMv74hWn940SoW0mqMqh2jLSLO8VSivvp9Iy5wv7wBamkWd4aRZ3iq+cL+8OcL+8AWppFneMkz7UfSKp5wv7xsRaN9PpAFq521vDO294rDnQ9vH3nQ9vAFoZw3vH3LIK1btW7vG5NrV7wBYuUSfcRAm7XHsZtWATIHCkq7lztNAHhqEhnKSPTNmVLiTI+YQCv3rKOXnlcsq7cWTkkmOQRugFYc13t01rsy/ulo5q3unxUk1ugFURs8/ujm8/ulqaOZ3T5o5ndAKpXQH0+iao0Z/dLZVS2VQ7JrjRmN0AqnQz+6oaGf3VFraGY3BoZjcAKp0M/uqGhn9wtbQzG4NDMbgBVOhn9waGf3C1tDMbg0MxuAFU6Gf3BoZ/cLW0MxuDQzG4AVToZ/dUNDP7qi1tDMbg0MxuAFU6Gf3VDQz+6WtoZjcGhmNwAqxFDfV6Jt5vP7paCaSyn0TZo5ndAKs5vP7pm3Zx9XoloaOZ3TJMg1ugFac2Ht02N2Wev7JZWaNbp9zZvdAK+RZR09jFlVk3yKDLAkAj0hQshE7zLeTSbAAf/9k=]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/success.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGh0bWw+DQo8aGVhZD4NCgk8IS0tSlVQTE9BRF9KU0NSSVBULS0+DQoJPHRpdGxlPkpVcGxvYWQgUkVTUE9OU0lWRSBmaWxlbWFuYWdlcjwvdGl0bGU+DQoJPHN0eWxlPg0KCQlib2R5IHsNCgkJCXBhZGRpbmc6IDBweDsNCgkJCW1hcmdpbjogMHB4Ow0KCQl9DQoJPC9zdHlsZT4NCgk8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIg0KCQkgIGNvbnRlbnQ9IjM7dXJsPWluZGV4LnBocD9wYXRoPTw/cGhwIGVjaG8gc3RyaXBfdGFncyhwcmVnX3JlcGxhY2UoIi9bXmEtekEtWjAtOVwuXFtcXV98IC1dLyIsICcnLCAkX0dFVFsncGF0aCddKSk7ID8+Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGNlbnRlcj48YnIvPjxici8+DQoJPGltZyBzcmM9InN1Y2Nlc3MuanBnIiBhbHQ9InN1Y2Nlc3MiPg0KPC9jZW50ZXI+DQo8L2JvZHk+DQo8L2h0bWw+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/filemanager/uploader/wjhk.jupload.jar</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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AAAAAAAAAAW2AQBsYW5nL2xhbmdfemhfVFcucHJvcGVydGllc1BLAQIUABQACAgIAPCMzUBFgHA8bwMAAJwGAABBAAAAAAAAAAAAAAAAAPbBAQB3amhrL2p1cGxvYWQyL2NvbnRleHQvRGVmYXVsdEpVcGxvYWRDb250ZXh0JDFQcm9wZXJ0eVNldHRlci5jbGFzc1BLAQIUABQACAgIAPCMzUC/VEOr/wIAABkGAAA6AAAAAAAAAAAAAAAAANTFAQB3amhrL2p1cGxvYWQyL2NvbnRleHQvRGVmYXVsdEpVcGxvYWRDb250ZXh0JENhbGxiYWNrLmNsYXNzUEsBAhQAFAAICAgA8IzNQD/lVjQgGgAAMz0AADEAAAAAAAAAAAAAAAAAO8kBAHdqaGsvanVwbG9hZDIvY29udGV4dC9EZWZhdWx0SlVwbG9hZENvbnRleHQuY2xhc3NQSwECFAAUAAgICADwjM1A1enhvnUFAAC/CgAALQAAAAAAAAAAAAAAAAC64wEAd2poay9qdXBsb2FkMi9jb250ZXh0L0phdmFzY3JpcHRIYW5kbGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQLs1l3bbAgAAUwYAACoAAAAAAAAAAAAAAAAAiukBAHdqaGsvanVwbG9hZDIvY29udGV4dC9KVXBsb2FkQ29udGV4dC5jbGFzc1BLAQIUABQACAgIAPCMzUCRvaFTIBIAANslAAAwAAAAAAAAAAAAAAAAAL3sAQB3amhrL2p1cGxvYWQyL2NvbnRleHQvSlVwbG9hZENvbnRleHRBcHBsZXQuY2xhc3NQSwECFAAUAAgICADwjM1AHimWaN8KAADcGAAANAAAAAAAAAAAAAAAAAA7/wEAd2poay9qdXBsb2FkMi9jb250ZXh0L0pVcGxvYWRDb250ZXh0RXhlY3V0YWJsZS5jbGFzc1BLAQIUABQACAgIAPCMzUDNe/4gAAEAAGQBAAAfAAAAAAAAAAAAAAAAAHwKAgB3amhrL2p1cGxvYWQyL0VtcHR5QXBwbGV0LmNsYXNzUEsBAhQAFAAICAgA8IzNQI5emN43AgAAHgQAADEAAAAAAAAAAAAAAAAAyQsCAHdqaGsvanVwbG9hZDIvZXhjZXB0aW9uL0pVcGxvYWRFT0ZFeGNlcHRpb24uY2xhc3NQSwECFAAUAAgICADwjM1Ax2NMiOwDAABFCAAALgAAAAAAAAAAAAAAAABfDgIAd2poay9qdXBsb2FkMi9leGNlcHRpb24vSlVwbG9hZEV4Y2VwdGlvbi5jbGFzc1BLAQIUABQACAgIAPCMzUBwwsniNwEAAAYCAAA9AAAAAAAAAAAAAAAAAKcSAgB3amhrL2p1cGxvYWQyL2V4Y2VwdGlvbi9KVXBsb2FkRXhjZXB0aW9uU3RvcEFkZGluZ0ZpbGVzLmNsYXNzUEsBAhQAFAAICAgA8IzNQLx8+8f3AQAA3QMAADgAAAAAAAAAAAAAAAAASRQCAHdqaGsvanVwbG9hZDIvZXhjZXB0aW9uL0pVcGxvYWRFeGNlcHRpb25Ub29CaWdGaWxlLmNsYXNzUEsBAhQAFAAICAgA8IzNQKOgbL2VAQAAMAMAADoAAAAAAAAAAAAAAAAAphYCAHdqaGsvanVwbG9hZDIvZXhjZXB0aW9uL0pVcGxvYWRFeGNlcHRpb25VcGxvYWRGYWlsZWQuY2xhc3NQSwECFAAUAAgICADwjM1AKNLDRqcBAABpAwAASQAAAAAAAAAAAAAAAACjGAIAd2poay9qdXBsb2FkMi9leGNlcHRpb24vSlVwbG9hZEV4Y2VwdGlvblVwbG9hZEZhaWxlZFN1Y2Nlc3NOb3RGb3VuZC5jbGFzc1BLAQIUABQACAgIAPCMzUDbUCTSEgIAALgDAAAwAAAAAAAAAAAAAAAAAMEaAgB3amhrL2p1cGxvYWQyL2V4Y2VwdGlvbi9KVXBsb2FkSW50ZXJydXB0ZWQuY2xhc3NQSwECFAAUAAgICADwjM1AELDZE5EBAAAnAwAAMAAAAAAAAAAAAAAAAAAxHQIAd2poay9qdXBsb2FkMi9leGNlcHRpb24vSlVwbG9hZElPRXhjZXB0aW9uLmNsYXNzUEsBAhQAFAAICAgA8IzNQGJAiNUjAQAACAIAACoAAAAAAAAAAAAAAAAAIB8CAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvQXVkaW9GaWxlRGF0YS5jbGFzc1BLAQIUABQACAgIAPCMzUBU7n0dbw4AAHsdAAAsAAAAAAAAAAAAAAAAAJsgAgB3amhrL2p1cGxvYWQyL2ZpbGVkYXRhL0RlZmF1bHRGaWxlRGF0YS5jbGFzc1BLAQIUABQACAgIAPCMzUB4ZbHqxgEAACYDAAAlAAAAAAAAAAAAAAAAAGQvAgB3amhrL2p1cGxvYWQyL2ZpbGVkYXRhL0ZpbGVEYXRhLmNsYXNzUEsBAhQAFAAICAgA8IzNQFo+COIvBwAAnA0AADsAAAAAAAAAAAAAAAAAfTECAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvaGVscGVyL0ltYWdlRmlsZUNvbnZlcnNpb25JbmZvLmNsYXNzUEsBAhQAFAAICAgA8IzNQIKIqQAYFAAAHCsAAC8AAAAAAAAAAAAAAAAAFTkCAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvaGVscGVyL0ltYWdlSGVscGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQCbWCTeFDQAA9h4AADsAAAAAAAAAAAAAAAAAik0CAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvaGVscGVyL0ltYWdlUmVhZGVyV3JpdGVySGVscGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQNJldGchHAAAFT0AACwAAAAAAAAAAAAAAAAAeFsCAHdqaGsvanVwbG9hZDIvZmlsZWRhdGEvUGljdHVyZUZpbGVEYXRhLmNsYXNzUEsBAhQAFAAICAgA8IzNQLF6KBsqCgAA4xMAACMAAAAAAAAAAAAAAAAA83cCAHdqaGsvanVwbG9hZDIvZ3VpL0RlYnVnRGlhbG9nLmNsYXNzUEsBAhQAFAAICAgA8IzNQFLldTewAQAA/AIAACsAAAAAAAAAAAAAAAAAboICAHdqaGsvanVwbG9hZDIvZ3VpL0RpYWxvZ1VwbG9hZFJldHJ5JDEuY2xhc3NQSwECFAAUAAgICADwjM1AaxOHdGUMAAAbGgAAKQAAAAAAAAAAAAAAAAB3hAIAd2poay9qdXBsb2FkMi9ndWkvRGlhbG9nVXBsb2FkUmV0cnkuY2xhc3NQSwECFAAUAAgICADwjM1AJzb8CC0HAACxDwAAIwAAAAAAAAAAAAAAAAAzkQIAd2poay9qdXBsb2FkMi9ndWkvRG5ETGlzdGVuZXIuY2xhc3NQSwECFAAUAAgICADwjM1A8+Z/G38DAABpBgAAMgAAAAAAAAAAAAAAAACxmAIAd2poay9qdXBsb2FkMi9ndWkvZmlsZXBhbmVsL0NvbHVtbkNvbXBhcmF0b3IuY2xhc3NQSwECFAAUAAgICADwjM1AosLO6QsDAACZBQAALgAAAAAAAAAAAAAAAACQnAIAd2poay9qdXBsb2FkMi9ndWkvZmlsZXBhbmVsL0RhdGVSZW5kZXJlci5jbGFzc1BLAQIUABQACAgIAPCMzUB8uH3JuAEAAEUDAAArAAAAAAAAAAAAAAAAAPefAgB3amhrL2p1cGxvYWQyL2d1aS9maWxlcGFuZWwvRmlsZVBhbmVsLmNsYXNzUEsBAhQAFAAICAgA8IzNQN2xRi0JDQAAfhoAADUAAAAAAAAAAAAAAAAACKICAHdqaGsvanVwbG9hZDIvZ3VpL2ZpbGVwYW5lbC9GaWxlUGFuZWxEYXRhTW9kZWwyLmNsYXNzUEsBAhQAFAAICAgA8IzNQMCcyPIlCAAAsBIAADEAAAAAAAAAAAAAAAAAdK8CAHdqaGsvanVwbG9hZDIvZ3VpL2ZpbGVwYW5lbC9GaWxlUGFuZWxKVGFibGUuY2xhc3NQSwECFAAUAAgICADwjM1AGwr+RaILAABpGgAAMwAAAAAAAAAAAAAAAAD4twIAd2poay9qdXBsb2FkMi9ndWkvZmlsZXBhbmVsL0ZpbGVQYW5lbFRhYmxlSW1wLmNsYXNzUEsBAhQAFAAICAgA8IzNQJy6PzoqAgAAgQMAAC4AAAAAAAAAAAAAAAAA+8MCAHdqaGsvanVwbG9hZDIvZ3VpL2ZpbGVwYW5lbC9OYW1lUmVuZGVyZXIuY2xhc3NQSwECFAAUAAgICADwjM1Ax0D8ZMIGAADfDAAALgAAAAAAAAAAAAAAAACBxgIAd2poay9qdXBsb2FkMi9ndWkvZmlsZXBhbmVsL1NpemVSZW5kZXJlci5jbGFzc1BLAQIUABQACAgIAPCMzUDaptB4eQMAADEGAAAvAAAAAAAAAAAAAAAAAJ/NAgB3amhrL2p1cGxvYWQyL2d1aS9maWxlcGFuZWwvU29ydEFycm93SWNvbi5jbGFzc1BLAQIUABQACAgIAPCMzUCLmCc9xwQAAAkJAAA0AAAAAAAAAAAAAAAAAHXRAgB3amhrL2p1cGxvYWQyL2d1aS9maWxlcGFuZWwvU29ydEhlYWRlclJlbmRlcmVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQHkWVMv+BAAA5gkAACIAAAAAAAAAAAAAAAAAntYCAHdqaGsvanVwbG9hZDIvZ3VpL0ljb25Xb3JrZXIuY2xhc3NQSwECFAAUAAgICADwjM1AmvxADIoCAABfBQAAMAAAAAAAAAAAAAAAAADs2wIAd2poay9qdXBsb2FkMi9ndWkvaW1hZ2UvRGlhbG9nUGljdHVyZVBhbmVsLmNsYXNzUEsBAhQAFAAICAgA8IzNQD/3ItPqBQAAkAsAADEAAAAAAAAAAAAAAAAA1N4CAHdqaGsvanVwbG9hZDIvZ3VpL2ltYWdlL0pVcGxvYWRJbWFnZVByZXZpZXcuY2xhc3NQSwECFAAUAAgICADwjM1ALmR1fYsDAABdBwAALQAAAAAAAAAAAAAAAAAd5QIAd2poay9qdXBsb2FkMi9ndWkvaW1hZ2UvTG9hZEltYWdlVGhyZWFkLmNsYXNzUEsBAhQAFAAICAgA8IzNQATjiEYKBgAAkg0AACsAAAAAAAAAAAAAAAAAA+kCAHdqaGsvanVwbG9hZDIvZ3VpL2ltYWdlL1BpY3R1cmVEaWFsb2cuY2xhc3NQSwECFAAUAAgICADwjM1AA3vTlyoIAAD7EQAAKgAAAAAAAAAAAAAAAABm7wIAd2poay9qdXBsb2FkMi9ndWkvaW1hZ2UvUGljdHVyZVBhbmVsLmNsYXNzUEsBAhQAFAAICAgA8IzNQL/HetP0BgAA/Q4AAC0AAAAAAAAAAAAAAAAA6PcCAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWREZWJ1Z1BvcHVwTWVudS5jbGFzc1BLAQIUABQACAgIAPCMzUAMwjAeUAMAALEGAAAqAAAAAAAAAAAAAAAAADf/AgB3amhrL2p1cGxvYWQyL2d1aS9KVXBsb2FkRmlsZUNob29zZXIuY2xhc3NQSwECFAAUAAgICADwjM1A2EEBl70BAAA1AwAAKQAAAAAAAAAAAAAAAADfAgMAd2poay9qdXBsb2FkMi9ndWkvSlVwbG9hZEZpbGVGaWx0ZXIuY2xhc3NQSwECFAAUAAgICADwjM1AHPd9lo4IAAA+EwAAJwAAAAAAAAAAAAAAAADzBAMAd2poay9qdXBsb2FkMi9ndWkvSlVwbG9hZEZpbGVWaWV3LmNsYXNzUEsBAhQAFAAICAgA8IzNQJFVf7RCAwAAfwYAACwAAAAAAAAAAAAAAAAA1g0DAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWRNYWluUG9wdXBNZW51LmNsYXNzUEsBAhQAFAAICAgA8IzNQNLta5lUAgAADgUAACQAAAAAAAAAAAAAAAAAchEDAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWRQYW5lbC5jbGFzc1BLAQIUABQACAgIAPCMzUAGMD+O5RQAACMyAAAoAAAAAAAAAAAAAAAAABgUAwB3amhrL2p1cGxvYWQyL2d1aS9KVXBsb2FkUGFuZWxJbXBsLmNsYXNzUEsBAhQAFAAICAgA8IzNQGYj48DMBAAA9QgAADgAAAAAAAAAAAAAAAAAUykDAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWRUZXh0QXJlYSRMb2dNZXNzYWdlVGhyZWFkLmNsYXNzUEsBAhQAFAAICAgA8IzNQA4Mq84UCQAAoxIAACcAAAAAAAAAAAAAAAAAhS4DAHdqaGsvanVwbG9hZDIvZ3VpL0pVcGxvYWRUZXh0QXJlYS5jbGFzc1BLAQIUABQACAgIAPCMzUAKvAy3/wcAAGcRAAAuAAAAAAAAAAAAAAAAAO43AwB3amhrL2p1cGxvYWQyL2d1aS9KVXBsb2FkVHJhbnNmZXJIYW5kbGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQFPhUXUNAgAA5wMAADkAAAAAAAAAAAAAAAAASUADAHdqaGsvanVwbG9hZDIvSlVwbG9hZEFwcGxldCQxSlVwbG9hZEFwcGxldERlc3Ryb3llci5jbGFzc1BLAQIUABQACAgIAPCMzUDdxGOV3gEAAJUDAAA7AAAAAAAAAAAAAAAAAL1CAwB3amhrL2p1cGxvYWQyL0pVcGxvYWRBcHBsZXQkMUpVcGxvYWRBcHBsZXRJbml0aWFsaXplci5jbGFzc1BLAQIUABQACAgIAPCMzUAa1j2rTAYAAGENAAAhAAAAAAAAAAAAAAAAAARFAwB3amhrL2p1cGxvYWQyL0pVcGxvYWRBcHBsZXQuY2xhc3NQSwECFAAUAAgICADwjM1AAwp5x1gBAAAjAgAAIwAAAAAAAAAAAAAAAACfSwMAd2poay9qdXBsb2FkMi9KVXBsb2FkRGFlbW9uJDEuY2xhc3NQSwECFAAUAAgICADwjM1Ae5wv9fMCAAA6BQAAIQAAAAAAAAAAAAAAAABITQMAd2poay9qdXBsb2FkMi9KVXBsb2FkRGFlbW9uLmNsYXNzUEsBAhQAFAAICAgA8IzNQD59y9HbCgAAWBYAADMAAAAAAAAAAAAAAAAAilADAHdqaGsvanVwbG9hZDIvcG9saWNpZXMvQ29wcGVybWluZVVwbG9hZFBvbGljeS5jbGFzc1BLAQIUABQACAgIAPCMzUCkA8/GZQEAAKICAABEAAAAAAAAAAAAAAAAAMZbAwB3amhrL2p1cGxvYWQyL3BvbGljaWVzL0N1c3RvbWl6ZWROYkZpbGVzUGVyUmVxdWVzdFVwbG9hZFBvbGljeS5jbGFzc1BLAQIUABQACAgIAPCMzUCbEMSAWwIAAAwFAAAyAAAAAAAAAAAAAAAAAJ1dAwB3amhrL2p1cGxvYWQyL3BvbGljaWVzL0RlZmF1bHRVcGxvYWRQb2xpY3kkMS5jbGFzc1BLAQIUABQACAgIAPCMzUDidxTNmk8AAEyyAAAwAAAAAAAAAAAAAAAAAFhgAwB3amhrL2p1cGxvYWQyL3BvbGljaWVzL0RlZmF1bHRVcGxvYWRQb2xpY3kuY2xhc3NQSwECFAAUAAgICADwjM1AJSdDHX0BAACkAgAAMwAAAAAAAAAAAAAAAABQsAMAd2poay9qdXBsb2FkMi9wb2xpY2llcy9GaWxlQnlGaWxlVXBsb2FkUG9saWN5LmNsYXNzUEsBAhQAFAAICAgA8IzNQIUdGywoAwAAtgYAADYAAAAAAAAAAAAAAAAALrIDAHdqaGsvanVwbG9hZDIvcG9saWNpZXMvRmlsZXNUb2dldGhlclVwbG9hZFBvbGljeS5jbGFzc1BLAQIUABQACAgIAPCMzUDXJOYb3BYAAHs1AAAwAAAAAAAAAAAAAAAAALq1AwB3amhrL2p1cGxvYWQyL3BvbGljaWVzL1BpY3R1cmVVcGxvYWRQb2xpY3kuY2xhc3NQSwECFAAUAAgICADwjM1AMevZALILAABfFwAAMwAAAAAAAAAAAAAAAAD0zAMAd2poay9qdXBsb2FkMi9wb2xpY2llcy9TaWx2ZXJwZWFzVXBsb2FkUG9saWN5LmNsYXNzUEsBAhQAFAAICAgA8IzNQG81jcvoCAAATRMAADQAAAAAAAAAAAAAAAAAB9kDAHdqaGsvanVwbG9hZDIvcG9saWNpZXMvU3VwZXJTaW1wbGVVcGxvYWRQb2xpY3kuY2xhc3NQSwECFAAUAAgICADwjM1AlqP/R3gPAADLKAAAKQAAAAAAAAAAAAAAAABR4gMAd2poay9qdXBsb2FkMi9wb2xpY2llcy9VcGxvYWRQb2xpY3kuY2xhc3NQSwECFAAUAAgICADwjM1ACqYwhIYHAADqDwAAMAAAAAAAAAAAAAAAAAAg8gMAd2poay9qdXBsb2FkMi9wb2xpY2llcy9VcGxvYWRQb2xpY3lGYWN0b3J5LmNsYXNzUEsBAhQAFAAICAgA8IzNQOoD+FRtFAAA6isAADIAAAAAAAAAAAAAAAAABPoDAHdqaGsvanVwbG9hZDIvdXBsb2FkL0RlZmF1bHRGaWxlVXBsb2FkVGhyZWFkLmNsYXNzUEsBAhQAFAAICAgA8IzNQHMYnZVoCQAAcBUAADAAAAAAAAAAAAAAAAAA0Q4EAHdqaGsvanVwbG9hZDIvdXBsb2FkL0ZpbGVQcmVwYXJhdGlvblRocmVhZC5jbGFzc1BLAQIUABQACAgIAPCMzUDk7WwmJwIAABAFAAAyAAAAAAAAAAAAAAAAAJcYBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9GaWxlVXBsb2FkTWFuYWdlclRocmVhZC5jbGFzc1BLAQIUABQACAgIAPCMzUAYSameGREAAI0oAAA2AAAAAAAAAAAAAAAAAB4bBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9GaWxlVXBsb2FkTWFuYWdlclRocmVhZEltcGwuY2xhc3NQSwECFAAUAAgICADwjM1AAb5v36sBAAAtAwAAKwAAAAAAAAAAAAAAAACbLAQAd2poay9qdXBsb2FkMi91cGxvYWQvRmlsZVVwbG9hZFRocmVhZC5jbGFzc1BLAQIUABQACAgIAPCMzUD7hVr+ehQAAJwsAAAuAAAAAAAAAAAAAAAAAJ8uBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9GaWxlVXBsb2FkVGhyZWFkRlRQLmNsYXNzUEsBAhQAFAAICAgA8IzNQCgD5vVjFAAABS8AAC8AAAAAAAAAAAAAAAAAdUMEAHdqaGsvanVwbG9hZDIvdXBsb2FkL0ZpbGVVcGxvYWRUaHJlYWRIVFRQLmNsYXNzUEsBAhQAFAAICAgA8IzNQP+AZ9GKAQAAIgQAADIAAAAAAAAAAAAAAAAANVgEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9CeXRlQXJyYXlFbmNvZGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQMB8QwdsDwAADCMAADYAAAAAAAAAAAAAAAAAH1oEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9CeXRlQXJyYXlFbmNvZGVySFRUUC5jbGFzc1BLAQIUABQACAgIAPCMzUDqV5tucgQAAIIIAAAyAAAAAAAAAAAAAAAAAO9pBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9oZWxwZXIvQ29va2llSmFyJENvb2tpZS5jbGFzc1BLAQIUABQACAgIAPCMzUCWLROmbQsAAL4VAAArAAAAAAAAAAAAAAAAAMFuBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9oZWxwZXIvQ29va2llSmFyLmNsYXNzUEsBAhQAFAAICAgA8IzNQIWeotuqAAAA8AAAAC8AAAAAAAAAAAAAAAAAh3oEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9IdHRwQ29ubmVjdCQxLmNsYXNzUEsBAhQAFAAICAgA8IzNQEVt+o5pAgAAqwUAADAAAAAAAAAAAAAAAAAAjnsEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9IdHRwQ29ubmVjdCRUTS5jbGFzc1BLAQIUABQACAgIAPCMzUBOLmGXJxMAAOwnAAAtAAAAAAAAAAAAAAAAAFV+BAB3amhrL2p1cGxvYWQyL3VwbG9hZC9oZWxwZXIvSHR0cENvbm5lY3QuY2xhc3NQSwECFAAUAAgICADwjM1AyofwBrMXAAB9NQAANgAAAAAAAAAAAAAAAADXkQQAd2poay9qdXBsb2FkMi91cGxvYWQvaGVscGVyL0hUVFBDb25uZWN0aW9uSGVscGVyLmNsYXNzUEsBAhQAFAAICAgA8IzNQJhR3yirEQAAEiMAADcAAAAAAAAAAAAAAAAA7qkEAHdqaGsvanVwbG9hZDIvdXBsb2FkL2hlbHBlci9IVFRQSW5wdXRTdHJlYW1SZWFkZXIuY2xhc3NQSwECFAAUAAgICADwjM1AFxL4dqoEAAAECQAAOgAAAAAAAAAAAAAAAAD+uwQAd2poay9qdXBsb2FkMi91cGxvYWQvaGVscGVyL0h0dHBQcm90b2NvbEZpbmRlclRocmVhZC5jbGFzc1BLAQIUABQACAgIAPCMzUC2zyLuph0AAGU7AAA5AAAAAAAAAAAAAAAAABDBBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9oZWxwZXIvSW50ZXJhY3RpdmVUcnVzdE1hbmFnZXIuY2xhc3NQSwECFAAUAAgICADwjM1Ax4rdzxkPAAADIAAANAAAAAAAAAAAAAAAAAAd3wQAd2poay9qdXBsb2FkMi91cGxvYWQvaGVscGVyL1Byb2dyZXNzQmFyTWFuYWdlci5jbGFzc1BLAQIUABQACAgIAPCMzUDihOBQQwgAAEETAAAzAAAAAAAAAAAAAAAAAJjuBAB3amhrL2p1cGxvYWQyL3VwbG9hZC9QYWNrZXRDb25zdHJ1Y3Rpb25UaHJlYWQuY2xhc3NQSwECFAAUAAgICADwjM1AMqAhml4LAAAdGgAAKQAAAAAAAAAAAAAAAAA89wQAd2poay9qdXBsb2FkMi91cGxvYWQvVXBsb2FkRmlsZURhdGEuY2xhc3NQSwECFAAUAAgICADwjM1AvbTg6DIBAAA0AgAAMgAAAAAAAAAAAAAAAADxAgUAd2poay9qdXBsb2FkMi91cGxvYWQvVXBsb2FkRmlsZURhdGFQb2lzb25uZWQuY2xhc3NQSwECFAAUAAgICADwjM1AnaBqxccEAABgCgAAKwAAAAAAAAAAAAAAAACDBAUAd2poay9qdXBsb2FkMi91cGxvYWQvVXBsb2FkRmlsZVBhY2tldC5jbGFzc1BLAQIUABQACAgIAPCMzUBvOONPIgEAACQCAAA0AAAAAAAAAAAAAAAAAKMJBQB3amhrL2p1cGxvYWQyL3VwbG9hZC9VcGxvYWRGaWxlUGFja2V0UG9pc29ubmVkLmNsYXNzUEsFBgAAAACcAJwA6jIAACcLBQAAAA==]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/LICENSE.TXT</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwgMy4wIFVucG9ydGVkIExpY2Vuc2UuIFRvIHZpZXcgYSBjb3B5IG9mIHRoaXMgbGljZW5zZSwgdmlzaXQgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmMvMy4wLyBvciBzZW5kIGEgbGV0dGVyIHRvIENyZWF0aXZlIENvbW1vbnMsIDQ0NCBDYXN0cm8gU3RyZWV0LCBTdWl0ZSA5MDAsIE1vdW50YWluIFZpZXcsIENhbGlmb3JuaWEsIDk0MDQxLCBVU0Eu]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/img/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/img/insertfile.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/responsive_filemanager/tinymce_plugin/responsivefilemanager/plugin.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[dGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIixmdW5jdGlvbihlKXtmdW5jdGlvbiBuKHQpezA9PT1lLnNldHRpbmdzLmV4dGVybmFsX2ZpbGVtYW5hZ2VyX3BhdGgudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQub3JpZ2luLnRvTG93ZXJDYXNlKCkpJiYicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIj09PXQuZGF0YS5zZW5kZXImJih0aW55bWNlLmFjdGl2ZUVkaXRvci5pbnNlcnRDb250ZW50KHQuZGF0YS5odG1sKSx0aW55bWNlLmFjdGl2ZUVkaXRvci53aW5kb3dNYW5hZ2VyLmNsb3NlKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXI/d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG4sITEpOndpbmRvdy5kZXRhY2hFdmVudCgib25tZXNzYWdlIixuKSl9ZnVuY3Rpb24gdCgpe2UuZm9jdXMoITApO3ZhciB0PSJSRVNQT05TSVZFIEZpbGVNYW5hZ2VyIjsidW5kZWZpbmVkIiE9dHlwZW9mIGUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfdGl0bGUmJmUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfdGl0bGUmJih0PWUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfdGl0bGUpO3ZhciBpPSJrZXkiOyJ1bmRlZmluZWQiIT10eXBlb2YgZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9hY2Nlc3Nfa2V5JiZlLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2FjY2Vzc19rZXkmJihpPWUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfYWNjZXNzX2tleSk7dmFyIGE9IiI7InVuZGVmaW5lZCIhPXR5cGVvZiBlLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3NvcnRfYnkmJmUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfc29ydF9ieSYmKGE9IiZzb3J0X2J5PSIrZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9zb3J0X2J5KTt2YXIgcz0iZmFsc2UiOyJ1bmRlZmluZWQiIT10eXBlb2YgZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9kZXNjZW5kaW5nJiZlLnNldHRpbmdzLmZpbGVtYW5hZ2VyX2Rlc2NlbmRpbmcmJihzPWUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfZGVzY2VuZGluZyk7dmFyIHI9IiI7InVuZGVmaW5lZCIhPXR5cGVvZiBlLnNldHRpbmdzLmZpbGVtYW5hZ2VyX3N1YmZvbGRlciYmZS5zZXR0aW5ncy5maWxlbWFuYWdlcl9zdWJmb2xkZXImJihyPSImZmxkcj0iK2Uuc2V0dGluZ3MuZmlsZW1hbmFnZXJfc3ViZm9sZGVyKTt2YXIgbz0iIjsidW5kZWZpbmVkIiE9dHlwZW9mIGUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfY3Jvc3Nkb21haW4mJmUuc2V0dGluZ3MuZmlsZW1hbmFnZXJfY3Jvc3Nkb21haW4mJihvPSImY3Jvc3Nkb21haW49MSIsd2luZG93LmFkZEV2ZW50TGlzdGVuZXI/d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG4sITEpOndpbmRvdy5hdHRhY2hFdmVudCgib25tZXNzYWdlIixuKSksd2luPWUud2luZG93TWFuYWdlci5vcGVuKHt0aXRsZTp0LGZpbGU6ZS5zZXR0aW5ncy5leHRlcm5hbF9maWxlbWFuYWdlcl9wYXRoKyJkaWFsb2cucGhwP3R5cGU9NCZkZXNjZW5kaW5nPSIrcythK3IrbysiJmxhbmc9IitlLnNldHRpbmdzLmxhbmd1YWdlKyImYWtleT0iK2ksd2lkdGg6ODYwLGhlaWdodDo1NzAsaW5saW5lOjEscmVzaXphYmxlOiEwLG1heGltaXphYmxlOiEwfSl9ZS5hZGRCdXR0b24oInJlc3BvbnNpdmVmaWxlbWFuYWdlciIse2ljb246ImJyb3dzZSIsdG9vbHRpcDoiSW5zZXJ0IGZpbGUiLHNob3J0Y3V0OiJDdHJsK0UiLG9uY2xpY2s6dH0pLGUuYWRkU2hvcnRjdXQoIkN0cmwrRSIsIiIsdCksZS5hZGRNZW51SXRlbSgicmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIix7aWNvbjoiYnJvd3NlIix0ZXh0OiJJbnNlcnQgZmlsZSIsc2hvcnRjdXQ6IkN0cmwrRSIsb25jbGljazp0LGNvbnRleHQ6Imluc2VydCJ9KX0pOw==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_editprofile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxzY3JpcHQgc3JjPSJ7cm9vdF91cmx9L21vZHVsZXMvVGlueU1DRS9saWIvanMvYXV0b3NpemUubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKCQl0YSA9ICQoJ3RleHRhcmVhJyk7CgkJYXV0b3NpemUodGEpOwoKCQkkKCcudGlueW1jZS1wcm9maWxlLWVkaXQgI3BhZ2VfdGFicyA+IGRpdicpLm1vdXNlZG93bihmdW5jdGlvbigpewoJCQlhdXRvc2l6ZS51cGRhdGUodGEpOwoJCX0pOwoJfSk7Cjwvc2NyaXB0PgoKe2Z1bmN0aW9uIG5hbWU9J2xhYmVsJ30KCTxwIGNsYXNzPSJwYWdldGV4dCI+CgkJPGxhYmVsIHtpZiBpc3NldCgkZm9yKX1mb3I9InskZm9yfSJ7L2lmfT57JG1vZC0+TGFuZygkdGV4dCl9PC9sYWJlbD4KCQl7aWYgaXNzZXQoJGhlbHApICYmICRoZWxwfQoJCQl7Y21zX2hlbHAgdGl0bGU9JG1vZC0+TGFuZygkdGV4dCkga2V5PSJoZWxwX3skaGVscH0ifQoJCXsvaWZ9CgkJe2lmICFlbXB0eSgkZG9jdW1lbnRhdGlvbil9CgkJCSZuYnNwOyg8YSBocmVmPSJ7JGRvY3VtZW50YXRpb259IiB0YXJnZXQ9Il9ibGFuayI+eyRtb2QtPkxhbmcoJ2RvY3VtZW50YXRpb24nKX08L2E+KQoJCXsvaWZ9Cgk8L3A+CnsvZnVuY3Rpb259Cgp7ZnVuY3Rpb24gbmFtZT0nc3VibWl0X2Zvcm1fYnV0dG9ucyd9Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iIGNsYXNzPSJwYWdlYnV0dG9uIiAvPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGNsYXNzPSJwYWdlYnV0dG9uIiAvPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWFwcGx5IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2FwcGx5Jyl9IiBjbGFzcz0icGFnZWJ1dHRvbiIgLz4KCQk8L3A+Cgk8L2Rpdj4Key9mdW5jdGlvbn0KCntmdW5jdGlvbiBuYW1lPSdjaGVja2JveCcgc2ltcGxlPWZhbHNlfQoJe2lmICEkc2ltcGxlfQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCXtsYWJlbCB0ZXh0PSRmbGRfbmFtZSBmb3I9JGZsZF9uYW1lfQoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9eyRmbGRfbmFtZX0iIHZhbHVlPSIwIj4KCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InskZmxkX25hbWV9IiBuYW1lPSJ7JGFjdGlvbmlkfXskZmxkX25hbWV9IiB2YWx1ZT0iMSIge2lmICRwcm9maWxlLT57JGZsZF9uYW1lfX1jaGVja2VkPSJjaGVja2VkInsvaWZ9PgoJCQk8L3A+CgkJPC9kaXY+Cgl7ZWxzZX0geyogU2ltcGxlIG9uZWxpbmUgKn0KCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfXskZmxkX25hbWV9IiB2YWx1ZT0iMCI+CgkJPGxhYmVsPgoJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ7JGZsZF9uYW1lfSIgbmFtZT0ieyRhY3Rpb25pZH17JGZsZF9uYW1lfSIgdmFsdWU9IjEiIHtpZiAkcHJvZmlsZS0+eyRmbGRfbmFtZX19Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfT4geyRtb2QtPkxhbmcoJGZsZF9uYW1lKX0KCQk8L2xhYmVsPjxicj4KCXsvaWZ9CnsvZnVuY3Rpb259Cgp7ZnVuY3Rpb24gbmFtZT0ndGV4dF9pbnB1dCd9CgoJe2lmICFpc3NldCgkaGVscCl9CgkJeyRoZWxwPWZhbHNlfQoJey9pZn0KCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCXtpZiBpc3NldCgkbGFiZWxfbmFtZSl9CgkJCXtsYWJlbCB0ZXh0PSRsYWJlbF9uYW1lIGZvcj0kZmxkX25hbWUgaGVscD0kaGVscH0KCQl7ZWxzZX0KCQkJe2xhYmVsIHRleHQ9JGZsZF9uYW1lIGZvcj0kZmxkX25hbWUgaGVscD0kaGVscH0KCQl7L2lmfQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQk8aW5wdXQgbmFtZT0neyRhY3Rpb25pZH17JGZsZF9uYW1lfScgdmFsdWU9J3skcHJvZmlsZS0+JGZsZF9uYW1lfScgaWQ9J3skZmxkX25hbWV9JyB7aWYgaXNzZXQoJHNpemUpfXNpemU9Inskc2l6ZX17L2lmfSI+IHtpZiBpc3NldCgkZXh0KX17JGV4dH17L2lmfQoJCTwvcD4KCTwvZGl2Pgp7L2Z1bmN0aW9ufQoKe2Z1bmN0aW9uIG5hbWU9J3RleHRhcmVhJ30KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJe2lmICFpc3NldCgkdGV4dCl9CgkJCXskdGV4dD0kZmxkX25hbWV9CgkJey9pZn0KCQl7aWYgIWVtcHR5KCRkb2N1bWVudGF0aW9uKX0KCQkJe2xhYmVsIHRleHQ9JHRleHQgZm9yPSRmbGRfbmFtZSBkb2N1bWVudGF0aW9uPSRkb2N1bWVudGF0aW9ufQoJCXtlbHNlaWYgIWlzc2V0KCRub2xhYmVsKX0KCQkJe2xhYmVsIHRleHQ9JHRleHQgZm9yPSRmbGRfbmFtZX0KCQl7L2lmfQoJCXtpZiBpc3NldCgkc3VidGV4dCl9CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJeyRtb2QtPkxhbmcoJHN1YnRleHQpfQoJCQk8L3A+CgkJey9pZn0KCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCXtjbXNfdGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH17JGZsZF9uYW1lfSIgdmFsdWU9JHByb2ZpbGUtPnskZmxkX25hbWV9IHJvd3M9MX0KCQkJe2lmIGlzc2V0KCRzdWJoZWxwKX0KCQkJCTxicj57JG1vZC0+TGFuZygnc3ViaGVscF8nfGNhdDokc3ViaGVscCl9CgkJCXsvaWZ9CgkJPC9wPgoJPC9kaXY+CnsvZnVuY3Rpb259CgoKCjxkaXYgY2xhc3M9InRpbnltY2UtcHJvZmlsZS1lZGl0Ij4KCgk8aDM+e3N0cmlwfQoJCXtpZiAkbW9kZSBlcSAnYWRkJ30KCQkJeyRtb2QtPkxhbmcoJ25ld19wcm9maWxlJyl9CgkJe2Vsc2V9CgkJCXskbW9kLT5MYW5nKCdlZGl0X3Byb2ZpbGUnKX06IHskcHJvZmlsZS0+bmFtZX0mbmJzcDsoSUQgeyRwcm9maWxlLT5pZF9wcm9maWxlfSkKCQl7L2lmfQoJey9zdHJpcH08L2gzPgoKCgoKCXtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpUaW55TUNFO2FkbWluX2V4YW1wbGUudHBsJ30KCgoKCXtmb3JtX3N0YXJ0fQoKCXsqIEFjdGl2ZSB0YWIgKn0KCXskYWN0aXZlX3RhYj0nZ2VuZXJhbCd9Cgl7aWYgaXNzZXQoJGFjdGlvbnBhcmFtc1snYWN0aXZlX3RhYiddKX0KCQl7JGFjdGl2ZV90YWI9JGFjdGlvbnBhcmFtc1snYWN0aXZlX3RhYiddfQoJey9pZn0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9YWN0aXZlX3RhYiIgaWQ9ImFjdGl2ZV90YWIiIHZhbHVlPSJ7JGFjdGl2ZV90YWJ9Ij4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewoJCQkkKCcjcGFnZV90YWJzID4gZGl2JykubW91c2Vkb3duKGZ1bmN0aW9uKCl7CgkJCQl0YWJfaWQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7CgkJCQkkKCcjYWN0aXZlX3RhYicpLnZhbCh0YWJfaWQpOwoJCQl9KTsKCQl9KTsKCTwvc2NyaXB0PgoKCXtzdWJtaXRfZm9ybV9idXR0b25zfQoKCXtpZiAkcHJvZmlsZS0+aWRfcHJvZmlsZX0KCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWlkX3Byb2ZpbGUiIHZhbHVlPSJ7JHByb2ZpbGUtPmlkX3Byb2ZpbGV9Ij4KCXsvaWZ9CgoKCgoKCQl7dGFiX2hlYWRlciBuYW1lPSdnZW5lcmFsJyBsYWJlbD0kbW9kLT5MYW5nKCdnZW5lcmFsJykgYWN0aXZlPSRhY3RpdmVfdGFifQoJCXt0YWJfaGVhZGVyIG5hbWU9J3BsdWdpbnMnIGxhYmVsPSRtb2QtPkxhbmcoJ3BsdWdpbnMnKSBhY3RpdmU9JGFjdGl2ZV90YWJ9CgkJe3RhYl9oZWFkZXIgbmFtZT0nbWVudWJhcicgbGFiZWw9JG1vZC0+TGFuZygnbWVudWJhcicpIGFjdGl2ZT0kYWN0aXZlX3RhYn0KCQl7dGFiX2hlYWRlciBuYW1lPSd0b29sYmFyJyBsYWJlbD0kbW9kLT5MYW5nKCd0b29sYmFyJykgYWN0aXZlPSRhY3RpdmVfdGFifQoJCXt0YWJfaGVhZGVyIG5hbWU9J2NvbnRleHRtZW51JyBsYWJlbD0kbW9kLT5MYW5nKCdjb250ZXh0bWVudScpIGFjdGl2ZT0kYWN0aXZlX3RhYn0KCQl7dGFiX2hlYWRlciBuYW1lPSdjc3MnIGxhYmVsPSdDU1MnIGFjdGl2ZT0kYWN0aXZlX3RhYn0KCQl7dGFiX2hlYWRlciBuYW1lPSdmaWxlbWFuYWdlcicgbGFiZWw9JG1vZC0+TGFuZygnZmlsZW1hbmFnZXInKSBhY3RpdmU9JGFjdGl2ZV90YWJ9CgkJe3RhYl9oZWFkZXIgbmFtZT0ndXNlcnNfZ3JvdXBzJyBsYWJlbD0kbW9kLT5MYW5nKCd1c2VyZ3JvdXBzJykgYWN0aXZlPSRhY3RpdmVfdGFifQoJCXt0YWJfaGVhZGVyIG5hbWU9J3RlbXBsYXRlcycgbGFiZWw9JG1vZC0+TGFuZygndGVtcGxhdGVzJykgYWN0aXZlPSRhY3RpdmVfdGFifQoKCgkJeyogR0VORVJBTCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICp9CgkJe3RhYl9zdGFydCBuYW1lPSdnZW5lcmFsJ30KCQkJe3RleHRfaW5wdXQgZmxkX25hbWU9J25hbWUnIGxhYmVsX25hbWU9J3Byb2ZpbGVfbmFtZSd9CgoJCQk8aHI+CgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQl7bGFiZWwgdGV4dD0ncmVzaXplJyBmb3I9J3Jlc2l6ZSd9CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCQk8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InskYWN0aW9uaWR9cmVzaXplIiBpZD0icmVzaXplXzAiIHZhbHVlPSIwIiB7aWYgISRwcm9maWxlLT5yZXNpemV9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0+CgkJCQkJPGxhYmVsIGZvcj0icmVzaXplXzAiPnskbW9kLT5MYW5nKCdyZXNpemVfbm8nKX08L2xhYmVsPjxicj4KCgkJCQkJPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2l6ZSIgaWQ9InJlc2l6ZV8xIiB2YWx1ZT0iMSIge2lmICRwcm9maWxlLT5yZXNpemUgZXEgJzEnfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9PgoJCQkJCTxsYWJlbCBmb3I9InJlc2l6ZV8xIj57JG1vZC0+TGFuZygncmVzaXplX3ZlcnRpY2FsJyl9PC9sYWJlbD48YnI+CgoJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ieyRhY3Rpb25pZH1yZXNpemUiIGlkPSJyZXNpemVfYm90aCIgdmFsdWU9ImJvdGgiIHtpZiAkcHJvZmlsZS0+cmVzaXplIGVxICdib3RoJ30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfT4KCQkJCQk8bGFiZWwgZm9yPSJyZXNpemVfYm90aCI+eyRtb2QtPkxhbmcoJ3Jlc2l6ZV9ib3RoJyl9PC9sYWJlbD4KCQkJCTwvcD4KCQkJPC9kaXY+CgoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2F1dG9yZXNpemUnIGhlbHA9J2F1dG9yZXNpemUnfQoKCQkJPGhyPgoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J3Nob3dfc3RhdHVzYmFyJyBoZWxwPSdzaG93X3N0YXR1c2Jhcid9CgoJCQk8aHI+CgkJCXtjaGVja2JveCBmbGRfbmFtZT0nZm9yY2VkX3Jvb3RfYmxvY2snIGhlbHA9J2ZvcmNlZF9yb290X2Jsb2NrJyBkb2N1bWVudGF0aW9uPSdodHRwczovL3d3dy50aW55bWNlLmNvbS9kb2NzL2NvbmZpZ3VyZS9jb250ZW50LWZpbHRlcmluZy8jZm9yY2VkX3Jvb3RfYmxvY2snfQoKCgoJCXsqIFBMVUdJTlMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqfQoJCXt0YWJfc3RhcnQgbmFtZT0ncGx1Z2lucyd9CgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0ncGx1Z2lucycgZG9jdW1lbnRhdGlvbj0naHR0cHM6Ly93d3cudGlueW1jZS5jb20vZG9jcy9wbHVnaW5zLycgaGVscD0ncGx1Z2lucyd9CgoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2VuYWJsZV9saW5rZXInfQoKCgkJCXsqIEV4dGVybmFsIG1vZHVsZXMgbGlzdCAqfQoJCQl7aWYgaXNzZXQoJGV4dGVybmFsX21vZHVsZXMpIGFuZCAhZW1wdHkoJGV4dGVybmFsX21vZHVsZXMpfQoJCQkJPGhyPgoKCQkJCXtsYWJlbCB0ZXh0PSdleHRlcm5hbF9tb2R1bGVzJyBoZWxwPSdleHRlcm5hbF9tb2R1bGVzJ30KCgkJCQl7Zm9yZWFjaCAkZXh0ZXJuYWxfbW9kdWxlcyBhcyAkbW9kX25hbWU9PiRtb2RfaW5mb3N9CgkJCQkJPGxhYmVsPgoJCQkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9ZXh0ZXJuYWxfbW9kdWxlc1tdIiB2YWx1ZT0ieyRtb2RfbmFtZX0iIHtpZiBpc19hcnJheSgkcHJvZmlsZS0+ZXh0ZXJuYWxfbW9kdWxlcykgYW5kIGluX2FycmF5KCRtb2RfbmFtZSwgJHByb2ZpbGUtPmV4dGVybmFsX21vZHVsZXMpfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0+IHskbW9kX2luZm9zLmZyaWVuZGx5bmFtZX0gLSB7JG1vZC0+TGFuZygnYnV0dG9uX25hbWUnKX06IDxzdHJvbmc+eyRtb2RfaW5mb3MuYnV0dG9uX25hbWV9PC9zdHJvbmc+CgkJCQkJPC9sYWJlbD4KCQkJCQk8YnI+CgkJCQl7L2ZvcmVhY2h9CgoJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdleHRlcm5hbF9tb2R1bGVzX3Nob3dfbWVudXRleHQnfQoKCQkJey9pZn0KCgkJCTxocj4KCgkJCXtsYWJlbCB0ZXh0PSdpbWFnZV9wbHVnaW4nfQoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ltYWdlX2FkdnRhYicgc2ltcGxlPXRydWV9CgoKCgoKCQl7KiBNRU5VIEJBUiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICp9CgkJe3RhYl9zdGFydCBuYW1lPSdtZW51YmFyJ30KCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdzaG93X21lbnViYXInfQoJCQl7dGV4dGFyZWEgZmxkX25hbWU9J21lbnViYXInIGRvY3VtZW50YXRpb249J2h0dHBzOi8vd3d3LnRpbnltY2UuY29tL2RvY3MvYWR2YW5jZWQvZWRpdG9yLWNvbnRyb2wtaWRlbnRpZmllcnMvJyBoZWxwPSdtZW51YmFyJ30KCgkJCXtsYWJlbCB0ZXh0PSdhZHZhbmNlZF9tZW51JyBoZWxwPSdhZHZhbmNlZF9tZW51J30KCgkJCXtjaGVja2JveCBmbGRfbmFtZT0ndXNlX2FkdmFuY2VkX21lbnUnIGhlbHA9J3VzZV9hdmFuY2VkX21lbnUnIHNpbXBsZT10cnVlfQoJCQl7dGV4dGFyZWEgZmxkX25hbWU9J2FkdmFuY2VkX21lbnUnIG5vbGFiZWw9MX0KCgoKCQl7KiBUT09MQkFSICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKn0KCQl7dGFiX3N0YXJ0IG5hbWU9J3Rvb2xiYXInfQoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J3Nob3dfdG9vbGJhcicgaGVscD0ndG9vbGJhcid9CgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0ndG9vbGJhcjEnIGRvY3VtZW50YXRpb249J2h0dHBzOi8vd3d3LnRpbnltY2UuY29tL2RvY3MvYWR2YW5jZWQvZWRpdG9yLWNvbnRyb2wtaWRlbnRpZmllcnMvJ30KCQkJe3RleHRhcmVhIGZsZF9uYW1lPSd0b29sYmFyMicgZG9jdW1lbnRhdGlvbj0naHR0cHM6Ly93d3cudGlueW1jZS5jb20vZG9jcy9hZHZhbmNlZC9lZGl0b3ItY29udHJvbC1pZGVudGlmaWVycy8nIHN1YmhlbHA9J3Rvb2xiYXInfQoKCQkJe2lmIGlzc2V0KCRleHRlcm5hbF9tb2R1bGVzKSBhbmQgaXNfYXJyYXkoJHByb2ZpbGUtPmV4dGVybmFsX21vZHVsZXMpfQoJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCQkJeyRtb2QtPkxhbmcoJ2V4dGVybmFsX21vZHVsZXMnKX06CgkJCQkJe2ZvcmVhY2ggJHByb2ZpbGUtPmV4dGVybmFsX21vZHVsZXMgYXMgJGV4dF9tb2R1bGVfbG9hZGVkfQoJCQkJCQk8ZW0+eyRleHRlcm5hbF9tb2R1bGVzWyRleHRfbW9kdWxlX2xvYWRlZF1bJ2J1dHRvbl9uYW1lJ119PC9lbT4KCQkJCQl7L2ZvcmVhY2h9CgkJCQk8L3A+CgkJCXsvaWZ9CgoJCQk8aHI+CgoJCQl7KiBCbG9jayBmb3JtYXRzICp9CgkJCXtjaGVja2JveCBmbGRfbmFtZT0ndXNlX2N1c3RvbV9ibG9ja19mb3JtYXRzJyBoZWxwPSd1c2VfY3VzdG9tX2Jsb2NrX2Zvcm1hdHMnfQoJCQl7dGV4dGFyZWEgZmxkX25hbWU9J2Jsb2NrX2Zvcm1hdHMnIHN1YmhlbHA9J2N1c3RvbV9ibG9ja19mb3JtYXRzJ30KCgkJCTxocj4KCgkJCXsqIEN1c3RvbSBkcm9wZG93biAqfQoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2VuYWJsZV9jdXN0b21fZHJvcGRvd24nIGhlbHA9J2VuYWJsZV9jdXN0b21fZHJvcGRvd24nfQoJCQl7dGV4dF9pbnB1dCBmbGRfbmFtZT0nY3VzdG9tX2Ryb3Bkb3duX3RpdGxlJyBsYWJlbF9uYW1lPSdjdXN0b21fZHJvcGRvd25fdGl0bGUnfQoJCQl7dGV4dGFyZWEgZmxkX25hbWU9J2N1c3RvbV9kcm9wZG93bicgc3ViaGVscD0nY3VzdG9tX2Ryb3Bkb3duJ30KCgoKCgoJCXsqIENPTlRFWFRNRU5VICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKn0KCQl7dGFiX3N0YXJ0IG5hbWU9J2NvbnRleHRtZW51J30KCgkJCXtjaGVja2JveCBmbGRfbmFtZT0nZW5hYmxlX2NvbnRleHRtZW51J30KCQkJe3RleHRhcmVhIGZsZF9uYW1lPSdjb250ZXh0bWVudScgdGV4dD0nY29udGV4dG1lbnVfY29udGVudCcgZG9jdW1lbnRhdGlvbj0naHR0cHM6Ly93d3cudGlueW1jZS5jb20vZG9jcy9wbHVnaW5zL2NvbnRleHRtZW51Lycgc3ViaGVscD0nY29udGV4dG1lbnVfY29udGVudCd9CgoKCQl7KiBDU1MgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqfQoJCXt0YWJfc3RhcnQgbmFtZT0nY3NzJ30KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCXtsYWJlbCB0ZXh0PSdkZXNpZ25fY3NzJyBmb3I9J2lkX2Rlc2lnbicgaGVscD0nZGVzaWduX2Nzcyd9CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCQk8c2VsZWN0IG5hbWU9J3skYWN0aW9uaWR9aWRfZGVzaWduJyBpZD0iaWRfZGVzaWduIj4KCQkJCQkJPG9wdGlvbiB2YWx1ZT0iMCIge2lmICRwcm9maWxlLT5pZF9kZXNpZ24gZXEgMH1zZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+CgkJCQkJCQktIHskbW9kLT5MYW5nKCdub19kZXNpZ25fbGlua2VkJyl9IC0KCQkJCQkJPC9vcHRpb24+CgkJCQkJCXtmb3JlYWNoICRkZXNpZ25zIGFzICRkZXNpZ259CgkJCQkJCQk8b3B0aW9uIHZhbHVlPSJ7JGRlc2lnbi0+Z2V0X2lkKCl9IiB7aWYgJGRlc2lnbi0+Z2V0X2lkKCkgZXEgJHByb2ZpbGUtPmlkX2Rlc2lnbn1zZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+CgkJCQkJCQkJeyRkZXNpZ24tPmdldF9uYW1lKCl9CgkJCQkJCQk8L29wdGlvbj4KCQkJCQkJey9mb3JlYWNofQoJCQkJCTwvc2VsZWN0PgoJCQkJPC9wPgoJCQk8L2Rpdj4KCgkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0nc3R5bGVfZm9ybWF0cycgc3VidGV4dD0nc3R5bGVfZm9ybWF0c19pbmZvJyBoZWxwPSdzdHlsZV9mb3JtYXRzJyBkb2N1bWVudGF0aW9uPSdodHRwczovL3d3dy50aW55bWNlLmNvbS9kb2NzL2NvbmZpZ3VyZS9jb250ZW50LWZvcm1hdHRpbmcvI3N0eWxlX2Zvcm1hdHMnfQoKCQkJPGZpZWxkc2V0PgoJCQkJPGxlZ2VuZD57JG1vZC0+TGFuZygnY3NzX2NsYXNzZXMnKX08L2xlZ2VuZD4KCgkJCQk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCQkJCTxkaXYgY2xhc3M9ImdyaWRfNiI+CgkJCQkJCXt0ZXh0YXJlYSBmbGRfbmFtZT0nbGlua19jbGFzc2VzJyBzdWJ0ZXh0PSdsaW5rX2NsYXNzZXNfaW5mbycgaGVscD0nbGlua19jbGFzc2VzJ30KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJncmlkXzYiPgoJCQkJCQl7dGV4dGFyZWEgZmxkX25hbWU9J2ltYWdlX2NsYXNzZXMnIHN1YnRleHQ9J2ltYWdlX2NsYXNzZXNfaW5mbycgaGVscD0naW1hZ2VfY2xhc3Nlcyd9CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9maWVsZHNldD4KCgoKCgkJeyogRklMRU1BTkFHRVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqfQoJCXt0YWJfc3RhcnQgbmFtZT0nZmlsZW1hbmFnZXInfQoJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX3VzZScgaGVscD0nZmlsZW1hbmFnZXJfdXNlJ30KCgkJCXtjaGVja2JveCBmbGRfbmFtZT0ncmVsYXRpdmVfdXJscycgaGVscD0ncmVsYXRpdmVfdXJscyd9CgoJCQl7KiBGaWxlbWFuYWdlciBvcHRpb25zICp9CgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQk8ZmllbGRzZXQ+CgkJCQkJPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsZW1hbmFnZXJfb3B0aW9ucycpfTwvbGVnZW5kPgoKCQkJCQk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCQkJCQk8ZGl2IGNsYXNzPSJncmlkXzYiPgoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9kZWxldGVfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9jcmVhdGVfZm9sZGVycycgc2ltcGxlPXRydWV9CgkJCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2RlbGV0ZV9mb2xkZXJzJyBzaW1wbGU9dHJ1ZX0KCQkJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfdXBsb2FkX2ZpbGVzJyBzaW1wbGU9dHJ1ZX0KCQkJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfcmVuYW1lX2ZpbGVzJyBzaW1wbGU9dHJ1ZX0KCQkJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfcmVuYW1lX2ZvbGRlcnMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9kdXBsaWNhdGVfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0iZ3JpZF82Ij4KCQkJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfY29weV9jdXRfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9jb3B5X2N1dF9kaXJzJyBzaW1wbGU9dHJ1ZX0KCQkJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfY2htb2RfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9jaG1vZF9kaXJzJyBzaW1wbGU9dHJ1ZX0KCQkJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfcHJldmlld190ZXh0X2ZpbGVzJyBzaW1wbGU9dHJ1ZX0KCQkJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfY3JlYXRlX3RleHRfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdmaWxlbWFuYWdlcl9lZGl0X3RleHRfZmlsZXMnIHNpbXBsZT10cnVlfQoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZmllbGRzZXQ+CgkJCTwvZGl2PgoKCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCTxmaWVsZHNldD4KCQkJCQk8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWxlbWFuYWdlcl9pbWFnZV9yZXNpemluZ190aXRsZScpfSB7Y21zX2hlbHAgdGl0bGU9JG1vZC0+TGFuZygnZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmdfdGl0bGUnKSBrZXk9J2hlbHBfZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmcnfTwvbGVnZW5kPgoJCQkJCXtjaGVja2JveCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfaW1hZ2VfcmVzaXppbmcnIHNpbXBsZT10cnVlfQoKCQkJCQk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCQkJCQk8ZGl2IGNsYXNzPSJncmlkXzYiPgoJCQkJCQkJe3RleHRfaW5wdXQgZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX3dpZHRoJyBleHQ9J3B4JyBzaXplPTN9CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJncmlkXzYiPgoJCQkJCQkJe3RleHRfaW5wdXQgZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2ltYWdlX3Jlc2l6aW5nX2hlaWdodCcgZXh0PSdweCcgc2l6ZT0zfQoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZmllbGRzZXQ+CgkJCTwvZGl2PgoKCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQk8ZmllbGRzZXQ+CgkJCQkJPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsZW1hbmFnZXJfcGhvdG9fZWRpdG9yJyl9IHtjbXNfaGVscCB0aXRsZT0kbW9kLT5MYW5nKCdmaWxlbWFuYWdlcl9waG90b19lZGl0b3InKSBrZXk9ImhlbHBfYXZpYXJ5In08L2xlZ2VuZD4KCQkJCQl7Y2hlY2tib3ggZmxkX25hbWU9J2ZpbGVtYW5hZ2VyX2F2aWFyeV9hY3RpdmUnIHNpbXBsZT10cnVlfQoKCQkJCQl7dGV4dF9pbnB1dCBmbGRfbmFtZT0nZmlsZW1hbmFnZXJfYXZpYXJ5X2FwaUtleScgc2l6ZT00MH0KCQkJCTwvZmllbGRzZXQ+CgkJCTwvZGl2PgoKCgoJCXsqIFVTRVIgR1JPVVBTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKn0KCQl7dGFiX3N0YXJ0IG5hbWU9J3VzZXJzX2dyb3Vwcyd9CgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQl7bGFiZWwgdGV4dD0ndXNlcmdyb3VwcycgZm9yPSd1c2VyZ3JvdXBzJyBoZWxwPSd1c2VyZ3JvdXBzJ30KCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJCTxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH11c2VyZ3JvdXBzW10iIGlkPSJ1c2VyZ3JvdXBzIiBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjUiPgoJCQkJCQl7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHVzZXJncm91cHMgc2VsZWN0ZWQ9JHByb2ZpbGUtPnVzZXJncm91cHNfaWRzfQoJCQkJCTwvc2VsZWN0PgoJCQkJPC9wPgoJCQk8L2Rpdj4KCgkJCXt0ZXh0X2lucHV0IGZsZF9uYW1lPSdwcmlvcml0eScgaGVscD0ncHJpb3JpdHknIHNpemU9M30KCgoKCQl7KiBURU1QTEFURVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqfQoJCXt0YWJfc3RhcnQgbmFtZT0ndGVtcGxhdGVzJ30KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCXtsYWJlbCB0ZXh0PSdqc190ZW1wbGF0ZScgZm9yPSdpZF90ZW1wbGF0ZScgaGVscD0nanNfdGVtcGxhdGUnfQoJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCQkJPHNlbGVjdCBuYW1lPSd7JGFjdGlvbmlkfWlkX3RlbXBsYXRlJyBpZD0iaWRfdGVtcGxhdGUiPgoJCQkJCQk8b3B0aW9uIHZhbHVlPSItMSIge2lmICRwcm9maWxlLT5pZF90ZW1wbGF0ZSBlcSAtMX1zZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+CgkJCQkJCQktIHskbW9kLT5MYW5nKCdvcmlnX2pzX3RlbXBsYXRlX2ZpbGUnKX0gLQoJCQkJCQk8L29wdGlvbj4KCgkJCQkJCXtpZiAhZW1wdHkoJHRlbXBsYXRlcyl9CgkJCQkJCQk8b3B0aW9uIHZhbHVlPSIwIiB7aWYgJHByb2ZpbGUtPmlkX3RlbXBsYXRlIGVxIDB9c2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9PgoJCQkJCQkJCS0geyRtb2QtPkxhbmcoJ2RlZmF1bHRfZGVzaWdubWFuYWdlcl90ZW1wbGF0ZScpfSAtCgkJCQkJCQk8L29wdGlvbj4KCQkJCQkJCXtmb3JlYWNoICR0ZW1wbGF0ZXMgYXMgJHRlbXBsYXRlfQoJCQkJCQkJCTxvcHRpb24gdmFsdWU9InskdGVtcGxhdGUtPmdldF9pZCgpfSIge2lmICR0ZW1wbGF0ZS0+Z2V0X2lkKCkgZXEgJHByb2ZpbGUtPmlkX3RlbXBsYXRlfXNlbGVjdGVkPSJzZWxlY3RlZCJ7L2lmfT4KCQkJCQkJCQkJeyR0ZW1wbGF0ZS0+Z2V0X25hbWUoKX0KCQkJCQkJCQk8L29wdGlvbj4KCQkJCQkJCXsvZm9yZWFjaH0KCQkJCQkJey9pZn0KCQkJCQk8L3NlbGVjdD4KCQkJCTwvcD4KCQkJPC9kaXY+CgoJCQl7dGV4dGFyZWEgZmxkX25hbWU9J2V4dHJhX2pzJyBoZWxwPSdleHRyYV9qcyd9CgoJCQk8aHI+CgoJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJe2NoZWNrYm94IGZsZF9uYW1lPSdlbmFibGVfdXNlcl90ZW1wbGF0ZXMnIGhlbHA9J3VzZXJfdGVtcGxhdGVzJ30KCQkJPC9kaXY+CgoKCgkJe3RhYl9lbmR9CgoKCgoKCQl7c3VibWl0X2Zvcm1fYnV0dG9uc30KCgoKCXtmb3JtX2VuZH0KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_example.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Zvcm1fc3RhcnR9Cgp7Y2FwdHVyZSBhc3NpZ249J3ZhbHVlJ308cD48aW1nIHNyYz0ne3VwbG9hZHNfdXJsfS9pbWFnZXMvbG9nbzEuZ2lmJyBhbGlnbj0ncmlnaHQnIC8+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gTWF1cmlzIGV0IGlwc3VtIGlkIGFudGUgZGlnbmlzc2ltIGN1cnN1cyBzb2xsaWNpdHVkaW4gZWdldCBlcmF0LiBRdWlzcXVlIHNpdCBhbWV0IGFyY3UgdXJuYS4gTnVsbGEgdWx0cmljaWVzIGxhY2luaWEgc2FwaWVuLCBzZWQgYWxpcXVhbSBxdWFtIGZldWdpYXQgaW4uIERvbmVjIGNvbnNlY3RldHVyIHByZXRpdW0gY29uZ3VlLiBJbnRlZ2VyIGFsaXF1YW0gZmFjaWxpc2lzIGxhY3VzLCB1dCBmYWNpbGlzaXMgZXJhdCBwaGFyZXRyYSBlZ2V0LiBEdWlzIGRhcGlidXMgcG9zdWVyZSBudW5jLCBpZCBncmF2aWRhIG1hc3NhIHBlbGxlbnRlc3F1ZSBhYy4gRHVpcyBtYXNzYSBsZWN0dXMsIHRlbXBvciBzZWQgaW1wZXJkaWV0IGFsaXF1YW0sIGx1Y3R1cyB1dCByaXN1cy4gSW50ZWdlciBuaXNsIGxpYmVybywgcG9ydHRpdG9yIHNpdCBhbWV0IHNhZ2l0dGlzIGF0LCBzb2RhbGVzIGF0IHVybmEuIE1hZWNlbmFzIGZhY2lsaXNpcyBhcmN1IGVnZXQgbnVsbGEgaW1wZXJkaWV0IHNlZCBpbnRlcmR1bSBtYXNzYSBwcmV0aXVtLiBJbiBpZCBlcm9zIG9yY2ksIHBoYXJldHJhIGRpZ25pc3NpbSBuaXNsLiBRdWlzcXVlIHZpdGFlIGx1Y3R1cyB0dXJwaXMuIEFlbmVhbiBwdWx2aW5hciBhY2N1bXNhbiBqdXN0bywgdmVsIHB1bHZpbmFyIG1pIGNvbnNlcXVhdCBpbi4gVmVzdGlidWx1bSBhYyB0dXJwaXMgdmVsIG1hc3NhIHZlbmVuYXRpcyB2b2x1dHBhdCBwbGFjZXJhdCBpbiBkaWFtLiBRdWlzcXVlIGFjIG1hZ25hIGRvbG9yLiBBbGlxdWFtIHNhZ2l0dGlzIGludGVyZHVtIHVybmEgYSBldWlzbW9kLiA8L3A+ey9jYXB0dXJlfQoKPHRleHRhcmVhIG5hbWU9InRpbnltY2VfZXhhbXBsZSIgaWQ9InRpbnltY2VfZXhhbXBsZSIgY2xhc3M9IlRpbnlNQ0UiPnskdmFsdWV9PC90ZXh0YXJlYT4KCntmb3JtX2VuZH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_profileslist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CntpZiAkcHJvZmlsZXN9CgogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnaWQnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJvZmlsZV9uYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3VzZXJncm91cHMnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHJpb3JpdHknKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnZGVmYXVsdCcpfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgoKICAgIHtmb3JlYWNoICRwcm9maWxlcyBhcyAkcHJvZmlsZX0KCiAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgIHtjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZWRpdHByb2ZpbGUgaWRfcHJvZmlsZT0kcHJvZmlsZS0+aWRfcHJvZmlsZSBhc3NpZ249J2VkaXRfdXJsJ30KICAgICAge2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9jb3B5cHJvZmlsZSBpZF9wcm9maWxlPSRwcm9maWxlLT5pZF9wcm9maWxlIGFzc2lnbj0nY29weV91cmwnfQogICAgICB7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2RlbGV0ZXByb2ZpbGUgaWRfcHJvZmlsZT0kcHJvZmlsZS0+aWRfcHJvZmlsZSBhc3NpZ249J2RlbGV0ZV91cmwnfQoKICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICA8dGQ+CiAgICAgICAgICA8YSBocmVmPSJ7JGVkaXRfdXJsfSI+eyRwcm9maWxlLT5pZF9wcm9maWxlfTwvYT4KICAgICAgICA8L3RkPgogICAgICAgIDx0ZD4KICAgICAgICAgIDxhIGhyZWY9InskZWRpdF91cmx9Ij57JHByb2ZpbGUtPm5hbWV9PC9hPgogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkPgogICAgICAgICAge2ZvcmVhY2ggJHByb2ZpbGUtPnVzZXJncm91cHMgYXMgJHVzZXJncm91cH17c3RyaXB9CiAgICAgICAgICAgIHskdXNlcmdyb3VwLT5uYW1lfXtpZiAhJHVzZXJncm91cEBsYXN0fSwgey9pZn0KICAgICAgICAgIHtmb3JlYWNoZWxzZX0KICAgICAgICAgICAgLQogICAgICAgICAgey9zdHJpcH17L2ZvcmVhY2h9CiAgICAgICAgPC90ZD4KICAgICAgICA8dGQ+CiAgICAgICAgICB7JHByb2ZpbGUtPnByaW9yaXR5fQogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkPgogICAgICAgICAge2lmICRwcm9maWxlLT5pZF9wcm9maWxlIGVxICRpZF9kZWZhdWx0X3Byb2ZpbGV9CiAgICAgICAgICAgIHthZG1pbl9pY29uIGljb249J3RydWUuZ2lmJ30KICAgICAgICAgIHtlbHNlfQogICAgICAgICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX3NldGRlZmF1bHRwcm9maWxlIGlkX3Byb2ZpbGU9JHByb2ZpbGUtPmlkX3Byb2ZpbGV9Ij4KICAgICAgICAgICAgICB7YWRtaW5faWNvbiBpY29uPSdmYWxzZS5naWYnfQogICAgICAgICAgICA8L2E+CiAgICAgICAgICB7L2lmfQogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkPjxhIGhyZWY9InskZWRpdF91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXRfcHJvZmlsZScpfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfTwvYT48L3RkPgogICAgICAgIDx0ZD48YSBocmVmPSJ7JGNvcHlfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdjb3B5X3Byb2ZpbGUnKX0iPnthZG1pbl9pY29uIGljb249J2NvcHkuZ2lmJ308L2E+PC90ZD4KICAgICAgICA8dGQ+PGEgaHJlZj0ieyRkZWxldGVfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdkZWxldGVfcHJvZmlsZScpfSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdkZWxldGVfcHJvZmlsZV9jb25maXJtJyl9Jyk7Ij57YWRtaW5faWNvbiBpY29uPSdkZWxldGUuZ2lmJ308L2E+PC90ZD4KICAgICAgPC90cj4KCiAgICB7L2ZvcmVhY2h9CgogIDwvdGFibGU+Cgp7L2lmfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/changelog.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxoMz5WZXJzaW9ucyBmb3IgQ01TIE1hZGUgU2ltcGxlIDIuKiB3aXRoIFRpbnlNQ0UgNCs8L2gzPgo8dWw+CiAgPGxpPgogICAgPHA+CiAgICAgIDxzdHJvbmc+VmVyc2lvbiAzLjEuMzwvc3Ryb25nPgogICAgPC9wPgogICAgPHVsPgogICAgICA8bGk+Rml4ZWQgc29tZSBidWdzIGFuZCBzZWN1cml0eSBpc3N1ZXM8L2xpPgogICAgICA8bGk+Rml4ZWQgYnVnIDExMDA1IDogVGlueU1DRSBqYXZhc2NyaXB0IGZpbGUgaXMgcmVnZW5lcmF0ZWQgd2hlbiBhIHN0eWxzaGVldCBoYXMgYmVlbiB1cGRhdGVkPC9saT4KICAgICAgPGxpPlVwZGF0ZWQgVGlueU1DRSB0byA0LjMuMTE8L2xpPgogICAgICA8bGk+VXBkYXRlZCBSZXNwb25zaXZlRmlsZU1hbmFnZXIgdG8gdmVyc2lvbiA5LjEwLjE8L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAzLjEuMjwvc3Ryb25nPjwvcD4KICAgIDx1bD4KICAgICAgPGxpPkltcHJvdmVkIFJlc3BvbnNpdmUgZmlsZSBtYW5hZ2VyIGNvbmZpZ3VyYXRpb24gb24gc3ViZGlyIGluc3RhbGxzICh0aGFua3MgdG8gQWxiZXJ0byBQZXJpcG9sbGkpLiBBdmlhcnkgc2hvdWxkIG5vdyB3b3JrIG9uIGxvY2FsaG9zdCBpbnN0YWxscy48L2xpPgogICAgICA8bGk+Q29ycmVjdGVkIGNoYW5nZWxvZyB2ZXJzaW9ucyBlcnJvcjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDMuMS4xPC9zdHJvbmc+PC9wPgogICAgPHVsPgogICAgICA8bGk+QnVnIGZpeCByZWdhcmRpbmcgdG8gQXZpYXJ5IHdoZW4gQ01TIE1hZGUgU2ltcGxlIGlzIGluc3RhbGxlZCBpbiBhIHN1YmRpcjwvbGk+CiAgICAgIDxsaT5VcGdyYWRlZCB0byBUaW55TUNFIDQuMy40PC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMy4xPC9zdHJvbmc+PC9wPgogICAgPHVsPgogICAgICA8bGk+VXBncmFkZWQgdG8gVGlueU1DRSA0LjMuMzwvbGk+CiAgICAgIDxsaT5BZGQgYW4gb3B0aW9uIHRvIHVzZSByZWxhdGl2ZSBvciBhYnNvbHV0ZSBVUkxzIGZvciBpbWFnZXMgb3IgbGlua3M8L2xpPgogICAgICA8bGk+QWRkIGFuIG9wdGlvbiB0byB1c2UgdGhlIGltYWdlIGFkdmFuY2VkIHRhYiBmb3Igc3R5bGUsIGJvcmRlciBvciBzcGFjaW5nLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDMuMDwvc3Ryb25nPjwvcD4KICAgIDxwPkNvbXBsZXRlIHJld3JpdGUgZm9yIENNUyBNYWRlIFNpbXBsZSAyLjEgYW5kIHRoZSBuZXcgVGlueU1DRSB2ZXJzaW9uIDQ8L3A+CiAgICA8cD5QbGVhc2Ugbm90ZSB0aGF0IDxzdHJvbmcgc3R5bGU9ImNvbG9yOiAjZTAwIj50aGUgdXBncmFkZSBzY3JpcHQgd2lsbCB0cnkgdG8ga2VlcCBzb21lIG9mIHlvdXIgcHJldmlvdXMgVGlueU1DRSBwcmVmZXJlbmNlcywgYnV0IHdpbGwgcmVtb3ZlIHNvbWUgb3RoZXJzPC9zdHJvbmc+LiA8c3Ryb25nIHN0eWxlPSJjb2xvcjogI2UwMCI+WW91IE1VU1QgY29uZmlndXJlIHRoZSBlZGl0b3IgcHJvZmlsZXMgcmlnaHQgYWZ0ZXIgdGhlIHVwZ3JhZGUgYW5kIG1ha2Ugc29tZSB1c2VyIHRlc3RzPC9zdHJvbmc+LjwvcD4KICAgIDxwPlBsZWFzZSBiYWNrdXAgeW91ciBmaWxlcyBhbmQgZGF0YWJhc2UgYmVmb3JlIHVwZ3JhZGluZy48L3A+CgogICAgPGgzPldoYXQgZGlkIGNoYW5nZT88L2gzPgogICAgPHA+CiAgICAgIEV2ZXJ5dGhpbmcuLi4gd2UgZGlkIHdyaXRlIHRoYXQgbmV3IHZlcnNpb24gZnJvbSBzY3JhdGNoLiBXaGF0IHlvdSdsbCBmaW5kIGluc2lkZToKICAgICAgPHVsPgogICAgICAgIDxsaT5Qcm9maWxlIG1hbmFnZW1lbnQ6IGNyZWF0ZSBhcyBtdWNoIHByb2ZpbGVzIGFzIHlvdSB3YW50LCBhbmQgbGluayB0aGVtIHRvIHlvdSB1c2VycyBncm91cHMgYW5kL29yIHRvIGZyb250ZW5kIHVzZXJzPC9saT4KICAgICAgICA8bGk+TG90cyBvZiBjdXN0b21pemF0aW9uIG9wdGlvbnM6IHRvb2xiYXIsIG1lbnViYXIsIGV4dGVybmFsIG1vZHVsZXMsIGN1c3RvbSBzdHlsZXMsIC4uLjwvbGk+CiAgICAgICAgPGxpPlVzZXMgdGhlIGludGVybmFsIHBhZ2UgbGlua2VyIGZyb20gdGhlIE1pY3JvVGlueSBtb2R1bGUuPC9saT4KICAgICAgICA8bGk+RW1iZWRzIHRoZSBwb3dlcmZ1bCA8YSBocmVmPSJodHRwOi8vd3d3LnJlc3BvbnNpdmVmaWxlbWFuYWdlci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+UmVzcG9uc2l2ZSBGaWxlIE1hbmFnZXI8L2E+IHRoYW5rcyB0byBpdHMgYXV0aG9yIEFsYmVydG8gUGVyaXBvbGxpLiBOb3RlOiBmb3Igc2VjdXJpdHkgcmVhc29ucywgdGhlIFJlc3BvbnNpdmUgRmlsZSBNYW5hZ2VyIHdpbGwgbm90IGJlIGF2YWlsYWJsZSB0byB0aGUgZnJvbnRlbmQgdXNlcnM8L2xpPgogICAgICAgIDxsaT5BYmlsaXR5IHRvIHVzZSBhbiBleHRlcm5hbCBqYXZhc2NyaXB0IHRlbXBsYXRlIGZpbGUgZnJvbSB0aGUgRGVzaWduTWFuYWdlciBpbnN0ZWFkIG9mIHRoZSBzdG9jayBKUyBmaWxlIC0gVGhpcyBwZXJtaXRzIGEgY29tcGxldGUgY3VzdG9taXphdGlvbiBvZiB0aGUgaW5pdCBzY3JpcHQuPC9saT4KICAgICAgICA8bGk+Q3VzdG9taXphYmxlIGFwcGVhcmFuY2UgYnkgc3BlY2lmeWluZyBhIENTUyBkZXNpZ24gdG8gdXNlIGZvciB0aGUgZWRpdG9yLjwvbGk+CiAgICAgIDwvdWw+CiAgICA8L3A+CiAgICA8cD4KICAgICAgSG9wZSB5b3UnbGwgZW5qb3kgaXQgOikKICAgIDwvcD4KCiAgICA8cD4KICAgICAgV2UgbmVlZCBoZWxwIHRvIHRlc3QgdGhlIG1vZHVsZSBhbmQgaW1wcm92ZSBpdC4gUGxlYXNlIGdpdmUgdXMgZmVlZGJhY2sgdGhyb3VnaCB0aGUgQ01TTVMgYnVnIHJlcG9ydCBzeXN0ZW0gKDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTIiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2J1Zy9saXN0LzEyPC9hPikKICAgIDwvcD4KICAgIDxwPgogICAgICBEdXJpbmcgdGhlIHVwZ3JhZGUgcHJvY2VzcywgdGhlIG1vZHVsZSB3aWxsIHJlbW92ZSB5b3VyIG9sZCBUaW55TUNFIG9wdGlvbnMvY29uZmlndXJhdGlvbnMuIFBsZWFzZSBrZWVwIGEgYmFja3VwIGlmIHlvdSBuZWVkIHRvIGNoZWNrIHlvdXIgb2xkIGNvbmZpZ3VyYXRpb24gbGF0ZXIuCiAgICA8L3A+CiAgICA8cD4KICAgICAgV2Ugd2lsbCBub3QgYmUgcmVzcG9uc2libGUgb2YgYW55IGRhdGEgbG9zcy4gUGxlYXNlIGFsd2F5cyBkbyBiYWNrdXAgeW91ciBvbGQgZmlsZXMgYmVmb3JlIHVwZ3JhZGluZy4KICAgIDwvcD4KCiAgPC9saT4KPC91bD4KPGJyPjxicj4KCjxocj4KPGgzPk9sZGVyIHZlcnNpb25zIGZvciBDTVMgTWFkZSBTaW1wbGUgMS4qIHNlcmllczwvaDM+Cjx1bD4KPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4xMjwvc3Ryb25nPjwvcD4KICAgIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjUuODwvcD4KPC9saT4KPGxpPgoJPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4xMTwvc3Ryb25nPjwvcD4KCTxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjUuNjwvcD4KCTxwPlJlc3RvcmVkIHRoZSBOZXdsaW5lLXN0eWxlIG9wdGlvbiAmbHQ7cCZndDsgb3IgJmx0O2JyJmd0OzwvcD4KPC9saT4KPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4xMC4xPC9zdHJvbmc+PC9wPgogICAgPHA+Rml4ZWQgc3R1cGlkIGNvbmZpZy1lcnJvcnM8L3A+CjwvbGk+CjxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuMTA8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy41LjU8L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy41LjQuMSAoZml4aW5nIHNoaWZ0LUEpPC9wPgogICAgPHA+UmVtb3ZlZCBjb2RlIHJlbGF0ZWQgdG8gdGhlIG9ic29sZXRlIGZvcmNlX3AvYnJfbmV3bGluZXM8L3A+CiAgICA8cD5BZGRlZCBhbiBvcHRpb24gdG8gdXNlIHRoZSBodG1sNSBzY2hlbWU8L3A+CjwvbGk+CjxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuOTwvc3Ryb25nPjwvcD4KICAgIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjUuNDwvcD4KICAgIDxwPjwvcD4KICAgIDxwPjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuODwvc3Ryb25nPjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy40Ljk8L3A+CiAgPHA+TWFkZSBmaWxlcGlja2VyIHdvcmsgd2l0aCBkb3RzIGluIHRoZSBuYW1lLCBmaXhlcyAjNzc1MiwgdGhhbmtzITwvcD4KICA8cD5TdHJpcHMgb2ZmIHNvbWUgcGhwIHB1dCBpbnRvIHRoZSBzdHlsZXNoZWV0IGJ5IHNtYXJ0eSwgYmFkIHNtYXJ0eSEgIzc2MzY8L3A+CiAgPHA+Rml4ZWQgc29tIG5vdGljZXM8L3A+Cgo8L2xpPgo8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45Ljc8L3N0cm9uZz48L3A+CiAgICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy40Ljg8L3A+CjwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS42PC9zdHJvbmc+PC9wPgogICAgPHA+QnVncmVwb3J0ICM3NDI1IC0gU21hcnR5IGVycm9ycyBpbiAmcXVvdGU7QWJvdXQgdGhlIFRpbnlNQ0UgbW9kdWxlJnF1b3RlOzwvcD4KICAgIDxwPkZpeGVkIEZpbGVQaWNrZXItYnVncy4uLiB3ZWxjb21lIGJhY2sgdG8gYSB3b3JraW5nIHN0YXRlITwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuNTwvc3Ryb25nPjwvcD4KICAgIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjQuNzwvcD4KICA8L2xpPgogIDxsaT4KICAgIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjkuNDwvc3Ryb25nPjwvcD4KICAgIDxwPlVwZGF0ZWQgdG8gVGlueU1DRSAzLjQuNjwvcD4KICAgIDxwPk1vcmUgMS4xMC1maXhlcyAob25seSB1c2FibGUgd2l0aCAxLjEwIG9yIGxhdGVyIG5vdyk8L3A+CiAgICA8cD5SZW1vdmVkIHN0YXJ0L3N0b3BFeHBhbmQtc3R1ZmYgYXMgdGhleSBhcmUgbm90IGluIHRoZXJlIGFueW1vcmUuPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuOS4zPC9zdHJvbmc+PC9wPgogICAgPHA+Rml4ZXMgdG8gMS4xMC1jb21wYXRpYmlsaXR5IChtb2R1bGVsaXN0IHRyYXZlcnNlbCk8L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjI8L3N0cm9uZz48L3A+CiAgICA8cD5UaW55TUNFIHVwZGF0ZWQgdG8gMy40LjQ8L3A+CiAgICA8cD48L3A+CiAgICA8cD48L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjE8L3N0cm9uZz48L3A+CiAgICA8cD5UaW55TUNFIHVwZGF0ZWQgdG8gMy40LjMuMjwvcD4KICAgIDxwPkZpeGVkIHVybHMgdG8gcGx1Z2luLWRvY3M8L3A+CiAgICA8cD48L3A+CiAgPC9saT4KICA8bGk+CiAgICA8cD48c3Ryb25nPlZlcnNpb24gMi45LjA8L3N0cm9uZz48L3A+CiAgICA8cD5UaW55TUNFIHVwZGF0ZWQgdG8gMy40LjI8L3A+CiAgICA8cD5jbXNfc2VsZmxpbmstc3R5bGUgbGlua3Mgc2hvdWxkIG5vdyB3b3JrIGJldHRlcjwvcD4KICAgIDxwPkZpeGVkIGEgYnVnIHdpdGggaW1hZ2VzIGNvbnRhaW5pbmcgZm9yZWlnbiBjaGFycyAoIzQ1ODUpIHRoYW5rcyB0byBjdm9ndDwvcD4KICA8L2xpPgoKICA8bGk+CgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjguMzwvc3Ryb25nPjwvcD4KICA8cD5SZW1vdmUgY29tbWVudHMgZnJvbSBzdHVmZiBpbmplY3RlZCBpbnRvIGhlYWQuPC9wPgogIDxwPkZpeGVkIGEgYnVnIGluIEdlcm1hbiBsYW5nIGZpbGUgYnJlYWtpbmcgYWR2YW5jZWQgZm9ybTwvcD4KICA8cD48L3A+CiAgPC9saT4KCiAgPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjguMjwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCB0aGUgdHJ1bmNhdGlvbiBvZiB1dGY4LWVuY29kZWQgbWVudXRleHRzIGluIGNtc2xpbmtlcjwvcD4KICA8L2xpPgogIDxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi44LjE8L3N0cm9uZz48L3A+CiAgPHA+TWlub3IgZml4IGluIGV4cHJlc3Npb24gdXNlZCB0byB0ZXN0IGlmIGZyb250ZW5kIHd5c2l3eWcgd2FzIGFjdGl2ZS48L3A+CiAgPC9saT4KICA8bGk+CiAgPHA+Rml4ZWQgdGhhdCBhZG1pbi10ZW1wbGF0ZSB3YXMgc2hvd24gYWZ0ZXIgdXNpbmcgZmlsZW9wcyBpbiBmaWxlcGlja2VyPC9wPgogIDxwPlNvbWUgZml4ZXMgdG8gY21zbGlua2VyIGRyb3Bkb3duIHdoZW4gZW50cmllcyBoYWQgbm9uLVVTIGNoYXJzPC9wPgogIDxwPlJlaW50cm9kdWNlZCBzdHlsZXNoZWV0LnBocCBlbnRyeXBvaW50IGFzIHRpbnkgZG9lcyBub3Qgc3VwcG9ydCBsb2FkaW5nIGZyb20gdXJscyB3aXRoIGNvbW1hcyBpbiB0aGVtLi4uPC9wPgogIDxwPlJlbW92ZWQgc29tZSBkZWJ1Z2dpbm91dHB1dCBpbiBmaWxlcGlja2VyPC9wPgogIDwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi44LjA8L3N0cm9uZz48L3A+CiAgPHA+UmV3cm90ZSB0ZXN0LWVkaXRvci4gTXVjaCBuaWNlciBJIHRoaW5rLjwvcD4KICA8cD5SZW1vdmVkIGxhc3Qgbm9uLWNtcyBlbnRyeXBvaW50LCBmaWxlcGlja2VyPC9wPgogIDxwPkltYWdldXBsb2FkaW5nIG5vdyBob25lcnMgdGhlIHNpdGUtdGh1bWJuYWlsc2l6ZSBzZXR0aW5nPC9wPgogIDxwPlVwbG9hZGluIG5vbi1pbWFnZXMgd2hlbiBpbiBpbWFnZXNlbGVjdG9yIG5vdyB3b3JrczwvcD4KICA8cD5HZW5lcmF0aW9uIHRodW1ibmFpbHMgd2hlbiB1cGxvYWRpbmcgaW1hZ2VzIHJpZ2h0IGFmdGVyIGluc3RhbGxhdGlvbiBmaXhlZDwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLjkuMjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjcuNDwvc3Ryb25nPjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLjk8L3A+CiAgPHA+UHJlcGFyZWQgbW9kdWxlIGZvciAxLjktc2VyaWVzPC9wPgogIDxwPkdlbmVyYWwgY29kZS1jbGVhbnVwczwvcD4KICA8cD5BZGRlZCBhbiBvcHRpb24gdG8gYXZvaWQgVGlueSdzIGxpbmtjb252ZXJzaW9uLCBtYWtlcyBzbWFydHkgaW4gdXJscyBwb3NzaWJsZTwvcD4KICA8cD5BZGRlZCBhbiBvcHRpb25hbCBhZGRpdGlvbiB0byB0aGUgb3V0cHV0IG9mIHRoZSBDTVNMaW5rZXIsIGJvdGggaW4gc2VsZmxpbmsgb3IgaHJlZiBtZXRob2Q8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi43LjM8L3N0cm9uZz48L3A+CiAgPHA+Tm93IGhhbmRsZXMgdGhlIFNtYXJ0eS1wcm9jZXNzZWQgZmVhdHVyZXMgb2YgdGhlIG5ldyBjbXNfc3R5bGVzaGVldC1zdHlsZSB0YWc8L3A+CiAgPHA+Rml4ZXMgcGF0aHMgd2hlbiB1c2luZyBpbnRlcm5hbCBwcmV0dHkgdXJsczwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjcuMjwvc3Ryb25nPjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLjg8L3A+CiAgPHA+QWRkZWQgYSBtaXNzaW5nIGxhbmdzdHJpbmc8L3A+CiAgPHA+TWFkZSBzdGF0aWMgY29uZmlnIHRoZSBkZWZhdWx0IGFuZCBtYWRlIHN1cmUgaXQgZ2V0cyByZXdyaXR0ZW4gZXZlcnkgdGltZS48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi43LjE8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMy41LjE8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi43LjA8L3N0cm9uZz48L3A+CiAgPHA+SW1wbGVtZW50ZWQgYSBwbHVnaW4tc3lzdGVtLCBzbyBvdGhlciBtb2R1bGVzIGNhbiByZWdpc3RlciBwbHVnaW5zIGluIFRpbnkgYWxsb3dpbmcgc3R1ZmYgbGlrZSB2ZXJ5IGVhc3kgaW5zZXJ0aW9uIG9mIHRhZ3MgZXRjLjwvcD4KICA8cD5JbXBsZW1lbnRlZCBhbiBvcHRpb24gdG8gYWxsb3cgaW5wbGFjZSByZXNpemluZyBvZiB0aGUgZWRpdG9yIGZpZWxkPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMuMzwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuNjwvc3Ryb25nPjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLjI8L3A+CiAgPHA+Rml4ZXMgaW50ZXJuYWwgbGlua2VyIHNvIGl0IGhvbmVycyB1c2VfaGllcmFyY2h5PWZhbHNlPC9wPgogIDxwPkZpeGVkIGRlZmF1bHQgdmFsdWUgZm9yIGNtc2xpbmtlcnN0eWxlPC9wPgogIDxwPk5ld2xpbmUgaW4gbWVudXRleHQgbm8gbG9uZ2VyIGJyZWFrcyB0aW55IChjb3VsZCBjb21lIGZyb20gcGFzdGVzKTwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuNTwvc3Ryb25nPjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLjE8L3A+CiAgPHA+TmV3IG9wdGlvbiB0byBhbGxvdyBiYXNpYyBGTSBvcGVyYXRpb25zIGV2ZW4gaWYgTW9kaWZ5IEZpbGVzIHBlcm1pc3Npb24gaXMgbm90IGNoZWNrZWQ8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjQ8L3N0cm9uZz48L3A+CiAgPHA+Tm93IG5vdCBkZXBlbmRpbmcgb24gYWRtaW4tdGhlbWUncyBhY29ucyBhbnltb3JlLiBUaGFua3MgTnVubzwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4zLWZpbmFsPC9wPgogIDxwPkZpeGVkIHNwZWxsY2hlY2tlciB3aGljaCBicm9rZSBpbiAyLjYuMy4gU29ycnkhIE15IGZhdWx0Li4uPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uIDIuNi4zPC9zdHJvbmc+PC9wPgogIDxwPkFkZGVkIGFuIG9wdGlvbiB0byBnZW5lcmF0ZSBjbXMtY29tcGF0aWJsZSB0aHVtYm5haWxzIHdoZW4gdXBsb2FkaW5nIGZpbGVzIHRob3VnaCB0aGUgZmlsZXBpY2tlci48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuM3JjMTwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbiAyLjYuMjwvc3Ryb25nPjwvcD4KICA8cD5DaGFuZ2VkIHRoZSB3YXkge2Ntc19zZWxmbGlua30tc3R5bGUgaW50ZXJuYWwgbGlua3Mgd2FzIHJlbmRlcmVkLiBGaXhlZCB0aGUgPGltZz4tc2l0dWF0aW9uLiBUaGFua3MgZm9yIHRoZSBzb2x1dGlvbiBDYWxndXkhPC9wPgogIDxwPlVwZGF0ZWQgdG8gVGlueSAzLjMtYmV0YTI8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjEuMTwvc3Ryb25nPjwvcD4KICA8cD5GaXhlZCBwcmVzZW50YXRpb24gb2YgdGhlIG5ld2x5IHNhdmVkIHJlc3RyaWN0IGRpciBvcHRpb248L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjE8L3N0cm9uZz48L3A+CiAgPHA+SW1wbGVtZW50ZWQgcmVzdHJpY3RpbmcgdXNlcnMgb2YgYmFzaWMgcHJvZmlsZSB0byBhIGRpciBjYWxsZWQgYnkgdGhlaXIgdXNlcm5hbWU8L3A+CiAgPHA+UmVuYW1lZCBhIGNvdXBsZSBvZiBmaWxlcyB0byBwcm9maWxlcyBpbnN0ZWFkIG9mIHRvb2xiYXJzLiBTZWVtZWQgbW9yZSBsb2dpY2FsIG5vdy48L3A+CiAgPHA+SW1wbGVtZW50ZWQgZGVsZXRpb24gb2YgKGVtcHR5LW9ubHkpIHN1YmRpcnMgaW4gZmlsZXBpY2tlcjwvcD4KICA8cD5SZXdyb3RlIGV4dHJhY29uZmlnIGxvZ2ljIHNvIG11bHRpbGluZS1zdHVmZiBhcmUgcG9zc2libGU8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb24gMi42LjA8L3N0cm9uZz48L3A+CiAgPHA+Tm93IGluY2x1ZGVzIHNwZWxsY2hlY2tlciBmdW5jdGlvbmFsaXR5LCB0aGFua3MgTnVubyE8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS42PC9zdHJvbmc+PC9wPgogIDxwPkZpeGVkIHRoZSBjbXNsaW5rZXJzdHlsZSBvcHRpb24sIHNvIGl0IGRvZXMgd2hhdCBpdCBzaG91bGQ8L3A+CiAgPHA+UmVlbmFibGVkIExpdGhhdW5pYW4gbGFuZ3VhZ2U8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS41IChjYWxndXkxMDAwKTwvc3Ryb25nPjwvcD4KICA8cD5Nb2RpZmllZCB0byB3b3JrIHdpdGggc2Vzc2lvbi51c2VfY29va2llcyA9IDA8L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55IDMuMi43LCBidWdmaXhpbiByZWxlYXNlIChzaWxtYXJpbGxpb24pPC9wPgogIDxwPk5vdyBjaGVjayBmb3IgaWxsZWdhbCBjaGFycyBpbiBmaWxlbmFtZSB3aGVuIHVwbG9hZGluZyBmaWxlcy48L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS40PC9zdHJvbmc+PC9wPgogIDxwPlJldmlzZWQgZ2xvYmFsICRjbXMsIHByZXBhcmluZyBmb3IgMS43LWFwaTwvcD4KICA8cD5GaXhlZCBidWcgZGlzYWJsaW5nIHRoZSB3eXNpd3lnIHRvZ2dsZWJveCB1cG9uIHNhdmluZyB0aGUgYmFzaWMgdG9vbGJhciBwcm9maWxlPC9wPgogIDxwPkZpeGVkIGJ1ZyB3aXRoIHRydW5jYXRlZCBtZW51dGV4dHMgd2l0aCBxdW90ZXMgaW4gdGhlbSBub3QgZ2V0dGluZyBwcm9wZXJseSBlc2NhcGVkLCBicmVha2luZyBjb25maWc8L3A+CiAgPHA+VXBkYXRlZCB0byBsYXRlc3QgVGlueU1DRSAzLjIuNiwgaW50cm9kdWNpbmcgYSB3b3JkY291bnQtcGx1Z2luPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMzwvc3Ryb25nPjwvcD4KICA8cD5SZXdyb3RlIGZyb250ZW5kIGZ1bmN0aW9uYWxpdHkgdG8gdXNlIGV2ZW50cyBpbnN0ZWFkIG9mIGNhbGxiYWNrcywgcHJlcGFyaW5nIGZvciAxLjctYXBpPC9wPgogIDxwPjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjI8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgd3JvbmcgcGF0aCB0byBkZWxldGUgaWNvbiBpbiBmaWxlcGlja2VyIHdoZW4gdXNpbmcgY3VzdG9taXplZCBhZG1pbiBkaXIgKHRoYW5rcyBNZWlSaWVNKTwvcD4KICA8cD5SZW1vdmVkIHRoZSBjbGVhbiBvbiBwYXN0ZSBmb3Igbm93LCBsZWF2aW5nIGl0IGVuYWJsZWQuIFNlZW1lZCB0byBkbyBubyBkaWZmZXJlbmNlIGZvciBtb3N0IHBlb3BsZS4uLjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjE8L3N0cm9uZz48L3A+CiAgPHA+VXBkYXRlZCB0byBUaW55TUNFIDMuMi41IGFuZCB1cGRhdGVkIHRyYW5zbGF0aW9ucyBhcyB3ZWxsPC9wPgogIDxwPkZpeGVkIGV4dHJhY29uZmlnPC9wPgogIDxwPjwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjA8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgYSBzbWFsbCBzeW50YXgtZXJyb3IgaW4gY29uZmlnIGZpbGUgYnJlYWtpbmcgdGlueSBpbiBmcm9udGVuZCBpbiBJRTwvcD4KICA8cD5GaXhlZCBhIHByb2JsZW0gY29uY2VybmluZyByZXNldHRpbmcgc2V0dGluZ3MgdG8gZGVmYXVsdCB2YWx1ZXMgKGludHJvZHVjZWQgZHVlIHRoZSBuZWVkIG9mIHVuaXF1ZSBpZCdzIG9mIHN1Ym1pdGJ1dHRvbnMpPC9wPgogIDxwPkZpeGVkIGEgY291cGxlIG9mIHR5cG9zPC9wPgo8L2xpPgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjUuMC1iZXRhMzwvc3Ryb25nPjwvcD4KICA8cD5IYWQgdG8gbW92ZSB0b2dnbGUgYnV0dG9uIG9wdGlvbiB0byBhZHZhbmNlZCBwYWdlIGluc3RlYWQgb2YgcHJvZmlsZXMuIE5vdCBwb3NzaWJsZSB0byBjb250cm9sIHByZXNlbnRseS48L3A+CiAgPHA+UmV3cm90ZSBmcm9udC9iYWNrZW5kIGRldGVjdGlvbi4gU2hvdWxkIGJlIGEgbG90IG1vcmUgc3RhYmxlLjwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnkgMy4yLjMsIHNob3VsZCBoYXZlIGEgbmV3IGFuZCBpbXByb3ZlIFBhc3RlIGxvZ2ljIGF1dG9tYWdpY2FsbHkgZGV0ZWN0aW5nIFdvcmQtcGFzdGVzIGFuZCBjbGVhbmluZzwvcD4KPC9saT4KPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi41LjAtYmV0YTI8L3N0cm9uZz48L3A+CiAgPHA+TWFkZSBzdXJyb3VuZGluZyBzZWxlY3RlZCB0ZXh0IHdpdGggc29tZXRoaW5nIHBvc3NpYmxlIGluIHRoZSBjdXN0b20tZHJvcGRvd248L3A+CiAgPHA+Rml4ZWQgcmVzZXR0aW5nIGFkdmFuY2VkLXByb2ZpbGU8L3A+CiAgPHA+Rml4ZWQgdGFibGUgY29udHJvbHMgd2hlbiBvbmx5IGVuYWJsZWQgaW4gYWR2YW5jZWQgcHJvZmlsZTwvcD4KICA8cD5GaXhlZCBhIGxvdCBvZiB2YWxpZGF0aW9uIGlzc3VlczwvcD4KICA8cD5JbXBsZW1lbnRlZCBmaWxlIGRlbGV0aW9uPC9wPgogIDxwPlJldmFtcGVkIHBlcm1pc3Npb24tcG9saWNpZXMgdG8gdGFrZSBNb2RpZnkgRmlsZXMgaW50byBhY2NvdW50IG1vcmU8L3A+CjwvbGk+CjxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNS4wLWJldGExPC9zdHJvbmc+PC9wPgogIDxwPkltcGxlbWVudGVkIG9udGhlZmx5LXJlc2l6aW5nIG9mIHVwbG9hZGVkIGltYWdlczwvcD4KICA8cD5SZXdyb3RlIHRvb2xiYXJzIGludG8gcHJvZmlsZXMgYWxsb3dpbmcgYSBzZXBlcmF0ZSBhZHZhbmNlZCBwcm9maWxlIGZvciBzZWxlY3RlZCB1c2VyczwvcD4KICA8cD5NYWRlIHN0eWxlc2hlZXQgaW5jbHVkZSBzY3JlZW4tY3NzIGV2ZW4gaWYgb3RoZXIgY2F0ZWdvcmllcyB3YXMgYWxzbyBzZWxlY3RlZCAoYW5kIHRoZSBzY3JlZW4tb25seSBvcHRpb24gd2FzIGVuYWJsZWQsIHRoYXQgaXMpPC9wPgogIDxwPkZpeGVkIGEgc21hbGwgYnVnIHdoZW4gdHJ5aW5nIHRvIG1ha2UgaW50ZXJuYWwgbGlua3Mgb3V0IG9mIGltYWdlczwvcD4KICA8cD5VcGRhdGVkIHRpbnkgdG8gMy4yLjI8L3A+CjwvbGk+Cgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMTM8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgcmVzZXR0aW5nIHRvb2xiYXJzPC9wPgo8L2xpPgoKPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjEyPC9zdHJvbmc+PC9wPgogIDxwPkFkZGVkIHN1cHBvcnQgZm9yIGNvbmZpZ3VyaW5nIHRoZSB0aGlyZCB0b29sYmFyPC9wPgogIDxwPkFkZGVkIG9wdGlvbiB0byBzaG93IGFjdHVhbCB0aHVtYm5haWwtZmlsZXM8L3A+CiAgPHA+Rml4ZWQgZmlsZXR5cGUgaWNvbnMgaW4gRmlsZVBpY2tlcjwvcD4KICA8cD5SZXN0cnVjdHVyZWQgdGFiLWNvbnRlbnQgaW50byBzZXBlcmF0IGZpbGVzIGZvciBlYXNpZXIgbWFpbnRlbmFuY2U8L3A+CiAgPHA+SW1wbGVtZW50ZWQgfCBhcyBzZXBlcmF0b3IgaW4gdG9vbGJhcnM8L3A+CiAgPHA+Rml4ZWQgZnJvbnRlbmQtdG9vbGJhcnM8L3A+CjwvbGk+Cgo8bGk+CiAgPHA+PHN0cm9uZz5WZXJzaW9uOiAyLjQuMTE8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgc21hbGwgcG90ZW50aW9uIHdhcm5pbmcgb24gc3RhdCgpLXVzYWdlIGluIEZpbGVwaWNrZXI8L3A+CiAgPHA+QWRkZWQgc3VwcG9ydCBmb3IgbmV3IEhhc0NhcGFiaWxpdHkgYXBpLWNhbGw8L3A+CjwvbGk+CgogIDxsaT4KICA8cD48c3Ryb25nPlZlcnNpb246IDIuNC4xMDwvc3Ryb25nPjwvcD4KICA8cD5Tb3JyeSBJIGZvcmdvdC4uLjwvcD4KCTwvbGk+CgoJPGxpPgogIDxwPjxzdHJvbmc+VmVyc2lvbjogMi40Ljk8L3N0cm9uZz48L3A+CiAgPHA+Rml4ZWQgRmlsZVBpY2tlciB3aXRoIHJlZ2FyZHMgdG8gbmV3IHhzcy1zZWN1cml0eTwvcD4KICA8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy4yLjE8L3A+Cgk8L2xpPgoKCTxsaT4KCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40Ljg8L3N0cm9uZz48L3A+Cgk8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgMy4yLjAuMTwvcD4KCTxwPkZpeGVkIHVzaW5nIHByb3BlciBoaWVyYXJjaHkgZm9yIHByZXR0eSB1cmxzPC9wPgoJPHA+QWRkZWQgYWR2YW5jZWQgb3B0aW9uIHRvIHN0YXJ0dXAgZWRpdG9ycyBpbiBkaXNhYmxlZCBzdGF0ZTwvcD4KCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40Ljc8L3N0cm9uZz48L3A+CgkJPHA+UmVtb3ZlZCBzaW1wbGVwYXN0ZSBwbHVnaW4gYW5kIHJlaW5zZXJ0ZWQgc3RvY2sgcGFzdGUuIFRoYXQgb3RoZXIgc29sdXRpb24gY29uZnVzZWQgcGVvcGxlLjwvcD4KCQk8cD5BZGRlZCBtdWx0aXBsZSAqYm94IGVudHJpZXMgdG8gZHJvcGRvd24gaW4gYWR2IGxpbms8L3A+CgkJPHA+Rml4ZWQgZmlsZXBpY2tlciB3aGVuIHVzZWQgb24gaHR0cHMtc2l0ZXM8L3A+CgkJPHA+Tm93IHJld3JpdGluZyBjb25maWctZmlsZSB3aXRoIGV2ZXJ5IHNob3dpbmcgd2hlbiB1c2luZyBzdGF0aWMgY29uZmlnLCBmaXhpbmcgdGhlIHJldmVyc2VkIHRvZ2dsZS1ib3ggYnVnPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjU8L3N0cm9uZz48L3A+CgkJPHA+Rml4ZWQgcHJvYmxlbSB3aXRoIGNtc2xpbmtlciBub3QgYWxsb3dpbmcgdG8gc2VsZWN0IHBhcmVudHBhZ2VzIFNvcnJ5IGd1eXMsIHRoYXQgd2FzIGEgbmV3bHkgaW50cm9kdWNlZCBwcm9ibGVtPC9wPgoJCTxwPkZpeGVkIGEgc21hbGwgYnVnIHdoaWNoIGNvdWxkIGNhdXNlIHJlbGF0aXZlIHVybHMgdG8gZ2VuZXJhdGUgc29tZXRoaW5nIGluY2x1ZGluZyB0aGUgaG9zdC1uYW1lPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjQ8L3N0cm9uZz48L3A+CgkJPHA+Tm93IG9wdGlvbmFsbHkgb25seSBpbmNsdWRlcyBzdHlsZXNoZWV0cyB0YWdnZWQgYXMgJ3NjcmVlbicgb3IgJ2FsbCcgd2hlbiByZWFkaW5nIHN0eWxlczwvcD4KCQk8cD5Nb3ZlZCBjaGFuZ2Vsb2cgdG8gdGVtcGxhdGUuIEl0IHdhcyBodXV1Z2UuLi48L3A+CgkJPHA+VXBkYXRlZCBzaW1wbGVwYXN0ZS1wbHVnaW48L3A+CgkJPHA+QWRkZWQgYW4gaW5wdXQgZmllbGQgd2l0aCBzdHVmZiBhZGRlZCB0byBzdHlsZXNoZWV0PC9wPgoJCTxwPkRpZCBhbiBvcHRpb24gdG8gdXNlIGEgc3RhdGljPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjM8L3N0cm9uZz48L3A+CgkJPHA+SW1wbGVtZW50ZWQgYW5vdGhlciB0cmljayB0byBwcmV2ZW50IHN0eWxlc2hlZXQgY29udGVudCBmcm9tIGJlaW5nIGNhY2hlZDwvcD4KCQk8cD5Ob3cgb3JkZXJzIHRoZSBzdHlsZXNoZWV0IGFmdGVyIGFzc29jX29yZGVyIGluc3RlYWQgb2YgZGF0ZTwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC4yPC9zdHJvbmc+PC9wPgoJCTxwPkZpeGVkIG9ubHkgc2hvd2luZyBpbWFnZXMgZXZlbiBpZiBsaW5rIHRvIGFsbCBmaWxldHlwZXMgc2hvdWxkIGJhIHBvc3NpYmxlPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAzLjEuMC4xPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPjxzdHJvbmc+VmVyc2lvbjogMi40LjE8L3N0cm9uZz48L3A+CgkJPHA+Rml4ZWQgYnVnIGNhdXNpbmcgdGlueSB0byBicmVhayBpZiB1c2luZyBjdXN0b20gY3NzLXN0eWxlczwvcD4KCQk8cD5SZWltcGxlbWVudGVkIGZpbGUgdXBsb2FkL2Rpci1jcmVhdGlvbiBpbiBGaWxlUGlja2VyPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAzLjAuOTwvcD4KCQk8cD5JbXBsZW1lbnRlZCBwcmV0dHkgdXJscyBmb3IgaHJlZi1zdHlsZSBsaW5rcyB3aGVuIGVuYWJsZWQgaW4gY29uZmlnLnBocDwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD48c3Ryb25nPlZlcnNpb246IDIuNC4wPC9zdHJvbmc+PC9wPgoJCTxwPkRpc3RyaWJ1dGVkIHdpdGggQ01TTVMgMS4zPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYjU8L3A+CgkJPHA+QWRkZWQgaGVscCBmb3IgdG9vbGJhcjwvcD4KCQk8cD5BZGRlZCBjbXNsaW5rZXItc3R5bGU8L3A+CgkJPHA+QWRkZWQgRmlsZXBpY2tlci1zdHlsZTwvcD4KCQk8cD5GaXhlZCB0aGUgYnVnIHdoZXJlIGNvbnRlbnQgY2hhbmdlcyB3YXMgdW5kb24gd2hlbiB3eXNpd3lnIHdhcyBkaXNhYmxlZCB3aXRoIHRoZSBjaGVjayBib3g8L3A+CgkJPHA+QWRkZWQgb3B0aW9uIHRvIHR1cm4gcmVsZXRpdmUtdXJscyBvZmY8L3A+CgkJPHA+TnVubyByZWRlc2lnbmVkIGZpbGVwaWNrZXIgZGlhbG9ndWU8L3A+CgkJPHA+QWRkZWQgY3VzdG9taXphYmxlIGRpbWVuc2lvbnMgb2YgRmlsZVBpY2tlcjwvcD4KCQk8cD5OdW1lcm91cyBidWcgZml4ZXM8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBiNDwvcD4KCQk8cD5FbmFibGVkIGV4dHJhY29uZmlnLW9wdGlvbjwvcD4KCQk8cD5JbXBsZW1lbnRlZCBvcHRpb24gZm9yIGZvcmNlZF9yb290X2Jsb2NrPC9wPgoJCTxwPldvcmsgb24gc3VwcG9ydGVkIHByZXR0eS11cmxzLCB0aGFua3MgTnVubyE8L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDMuMC44PC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYjM8L3A+CgkJPHA+Rml4ZWQgZnJvbnRlbmQgdXNhZ2U8L3A+CgkJPHA+YWRkZWQgYSBjb3VwbGUgb2YgdXBncmFkZXMgZnJvbSBjbXNtc2xpbmstcGx1Z2luIHRvIGNtc2xpbmtlcjwvcD4KCQk8cD5BZGRlZCBsaW5rcyBmb3IgcGx1Z2luaGVscDwvcD4KCQk8cD5GaXhlZCBqcy1lcnJvciBicmVha2luZyBlZGl0b3IgaW4gSUU8L3A+CgkJPHA+QWRkZWQgYnV0dG9ucyBmb3IgcmVzZXR0aW5nIHRvIGRlZmF1bHQgdmFsdWVzPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuNC4wYjI8L3A+CgkJPHA+RGlkIHByZXR0aWVyIGRlZmF1bHQgdmFsdWUgZm9yIGN1c3RvbW1lbnU8L3A+CgkJPHA+Rml4ZWQgaHRtbGVudGl0eSBwcm9ibGVtcyBpbiBjbXNsaW5rZXItcGFydCBjcmFzaGluZyB3aG9sZSBlZGl0b3I8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBiMTwvcD4KCQk8cD48L3A+CgkJPHA+VXBncmFkZWQgdG8gbGF0ZXN0IFRpbnlNQ0U8L3A+CgkJPHA+Q21zbXMtbGlua2VyIHJlaW1wbGVtZW50ZWQ8L3A+CgkJPHA+Q3VzdG9tIGRyb3Bkb3dubWVudSBpbXBsZW1lbnRlZDwvcD4KCQk8cD5GaWxlcGlja2VyIGJ1Z3MgZml4ZWQsIGxpbmtlIHVzaW5nIGl0IGZvciBsaW5raW5nIHRvIG5vbi1pbWFnZS1maWxlczwvcD4KCQk8cD5zdHlsZXNoZWV0IGNvZGUgcmV3cml0dGVuIHVzaW5nIGFkb2RiIGluc3RlYWQgb2YgcGxhaW4gbXlzcWwvcGdzcWwuIHNob3VsZCBiZSBsb3RzIHNhZmVyIG5vdzwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjQuMGEyPC9wPgoJCTxwPjwvcD4KCQk8cD5VcGdyYWRlZCB0byBsYXRlc3QgVGlueU1DRTwvcD4KCQk8cD5Ub29sYmFycyBmb3IgZnJvbnRlbmQvYmFja2VuZCBjYW4gbm93IGJlIGNvbmZpZ3VyZWQgc2VwZXJhdGVseTwvcD4KCQk8cD5GaWxlcGlja2VyIHJlaW1wbGVtZW50ZWQsIHNpbXBsZSBmb3Igbm93LCBidXQgd29ya3M8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi40LjBhMTwvcD4KCQk8cD48L3A+CgkJPHA+VXBncmFkZWQgdG8gVGlueU1DRSAzLjA8L3A+CgkJPHA+U3RvcHBlZCB0aGUgc3R1cGlkIHNlcGVyYXRpb24gYmV0d2VlbiBhZHZhbmNlZCBhbmQgYmFzaWMgdmVyc2lvbi4gTm93IG9ubHkgdGhpcyBvbmUgaXMgaW4gZGV2ZWxvcG1lbnQsIGtlcHQgYXMgdHJpbSBhcyBwb3NzaWJsZSwgYnV0IHdpdGggbG90cyBvZiBwbHVnaW5zPC9wPgoJCTxwPlN0YXJ0ZWQgb3JnYW5pemluZyBhZG1pbi1zZXR0aW5ncyBsb2dpY2FsbHk8L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjc8L3A+CgkJPHA+Rml4ZWQgaW5qZWN0aW9uIHZ1bG5lcmFiaWxpdHkgaW4gY29udGVudF9jc3MucGhwPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMi42PC9wPgoJCTxwPk1hZGUgZmlsZSB1cGxvYWRpbmcgdGhyb3VnaCBzaW1wbGVicm93c2VyIGhvbm9yIGRlZmF1bHRfdXBsb2FkX3Blcm1pc3Npb248L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjU8L3A+CgkJPHA+TWFkZSB0aGUgZW50aXR5ZW5jb2RpbmcgYSBwcmVmZXJlbmNlPC9wPgoJCTxwPk1hZGUgVGlueSB3b3JrIGFzIGZyb250ZW5kIHd5c2l3eWcgbW9kdWxlPC9wPgoJCTxwPkZpeGVkIG1pc3NpbmcgYmxvY2tmb3JtYXQgZGVmYXVsdCB1cG9uIG5ldyBpbnN0YWxsYXRpb24gKHRoYW5rcyBVdHRlciBmb3Igbm90aWNpbmcpPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMi40PC9wPgoJCTxwPkZpeGVkIHRoZSBJRSB0b2dnbGUgYnVnPC9wPgoJCTxwPlNwZWVkZWQgdXAgdHVybmluZyBlZGl0b3Igb24vb2ZmIHF1aXRlIGEgYml0ICh1c2luZyBtY2VUb2dnbGVFZGl0b3IgaW4gc3RlYWQgb2YgbG9hZGluZy91bmxvYWRpbmcgd2hvbGUgc3lzdGVtKTwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuMzwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnlNQ0UgdmVyc2lvbiAyLjEuMiwgZml4ZXMgdHVybmluZyB3eXNpd3lnIG9uL29mZiBvbiBwYWdlcyBjb250YWluaW5nIG11bHRpcGxlIHRleHRhcmVhczwvcD4KCQk8cD5GaXhlZCBhIGJ1ZyBtYWtpbmcgeW91IGVuZCB1cCBpbiB3cm9uZyB0YWIgd2hlbiBzYXZpbmcgdG9vbGJhcjwvcD4KCQk8cD48L3A+CgkJPC9saT4KICAgIDxsaT4KCQk8cD5WZXJzaW9uOiAyLjIuMjwvcD4KCQk8cD5OdW1lcmVvdXMgc21hbGxlciB0d2Vla3MuPC9wPgogICAgPHA+Rml4ZWQgcHJvYmxlbSB3aXRoIGNoYW5naW5nIGJldHdlZW4gcGFnZXMgd2l0aCBUaW55IGFuZCBFZGl0QXJlYS48L3A+CiAgICA8cD5TZXNzaW9uaXplZCB0aGUgbGl2ZSBsYW5ndWFnZS48L3A+CiAgICA8cD5BZGRlZCBjaGFybWFwIHRvIGRlZmF1bHQgdG9vbGJhci48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4yLjE8L3A+CgkJPHA+Rml4ZWQgYmxvY2tmb3JtYXQgZHJvcGRvd24gbm93IGFjdHVhbGx5IHJlZmxlY3RpbmcgdGhlIHZhbHVlcyBpbiB0aGUgZWRpdCBib3g8L3A+CgkJPHA+UmV3cm90ZSB0ZXh0YXJlYSBtYW5hZ2VtZW50IHRvIHVzaW5nIHNlc3Npb25zLiBTaG91bGQgZml4IHRoZSBkb3VibGUtdGlueXMgYXBwZWFyaW5nIHJhbmRvbWx5LjwvcD4KCQk8L2xpPgogICAgPGxpPgoJCTxwPlZlcnNpb246IDIuMi4wPC9wPgoJCTxwPlNwbGl0IFRpbnlNQ0UgaW50byAyIG1vZHVsZXMsIG9uZSBmb3IgaW5jbHVzaW9uIGluIGRpc3RyaWJ1dGlvbiBhbmQgb25lIGZvciBtb3JlIGFkdmFuY2VkIHVzZS4gVGhpcyBpcyB0aGUgQmFzaWMgdmVyc2lvbi48L3A+CgkJPHA+TWFkZSB0YWJsZSBvcGVyYXRpb25zIGFuIG9wdGlvbjwvcD4KCQk8cD5SZW1vdmVkIHRoZSBub253b3JraW5nICdyZXBsYWNlIGNtcy1saW5rcyB3aGlsZSB3cml0aW5nJzwvcD4KCQk8cD5HZW5lcmFsbHkgdHJpbW1lZCBkb3duIHRoZSBtb2R1bGUgdG8gYSBzaXplIGFjY2VwdGFibGUgZm9yIHRoZSBtYWluIGRpc3RyaWJ1dGlvbjwvcD4KCQk8L2xpPgogICAgPGxpPgoJCTxwPlZlcnNpb246IDIuMC42PC9wPgoJCTxwPk1hZGUgaXQgcG9zc2libGUgdG8gYWRkIHNvbWV0aGluZyBleHRyYSB0byB0aGUgY29uZmlndXJhdGlvbjwvcD4KCQk8cD5BZGRlZCBwYXN0ZSBhcyBwbGFpbiB0ZXh0IHBsdWdpbjwvcD4KCQk8cD5BZGRlZCBhbiBvcHRpb24gdG8gc2hvdyBhIGJ1dHRvbiB0dXJuaW5nIHRoZSB3eXNpd3lnLWZ1bmN0aW9uYWxpdHkgb24vb2ZmPC9wPgoJCTxwPkdlbmVyYWwgc3BlZWQgaW1wcm92ZW1lbnRzPC9wPgoJCTxwPlVwZGF0ZWQgdG8gVGlueSAyLjEuMSwgVGlueUNvbXByZXNzZWQgMS4xLjAgYW5kIFNwZWxsQ2hlY2tlciAxLjAuNDwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuNTwvcD4KCQk8cD5BZGRlZCBhIHhodG1sLWVsZW1lbnRzIG9ubHkgb3B0aW9uPC9wPgoJCTxwPk1vdmVkIGphdmFzY3JpcHQgY29uZmlnIGludG8gYW4gZXh0ZXJuYWwgZmlsZTwvcD4KCQk8cD5BZGRlZCBzZWxlY3RpbmcgcCBvciBici8gc3R5bGUgbmV3bGluZXM8L3A+CgkJPHA+VXBkYXRlZCB0byBuZXcgY29tcHJlc3Npb24gZW5naW5lLiBTaG91bGQgZml4IHNvbWUgYnVncyByZWxhdGVkIHRvIHRoaXM8L3A+CgkJPHA+QWRkZWQgcGx1Z2luIGRlc2NyaXB0aW9ucyBmcm9tIGRvY3M8L3A+CgkJPHA+Rml4ZWQgc2hvd2luZyBvZiBjb3JyZWN0IHRlc3RhcmVhIGV2ZW4gaWYgYW5vdGhlciB3eXNpd3lnIGlzIGNob3NlbjwvcD4KCQk8cD5VcGRhdGVkIHRvIFRpbnkgMi4xLjA8L3A+CgkJPHA+QWRkZWQgdGh1bWJuYWlsIHByZXZpZXdzIGluIGltYWdlIGJyb3dzZXIuPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC40PC9wPgoJCTxwPkZpeGVkIGN1c3RvbWl6ZWQgdGV4dGFyZWEgd2lkdGg8L3A+CgkJPHA+VXBkYXRlZCB0byBUaW55IDIuMC43PC9wPgoJCTxwPlJldmVyc2VkIGNoYW5nZWxvZyBjb250ZW50IChmcm9tIG5vdyBvbiBhdCBsZWFzdCkgOy0pPC9wPgoJCTxwPjwvcD4KCQk8L2xpPgoKCQk8bGk+CgkJPHA+VmVyc2lvbjogMS4wPC9wPgoJCTxwPk9yaWdpbmFsIG1vZHVsZSBjb2RlIGZvciBUaW55TUNFIFdZU0lXWUcgdGV4dGFyZWEgcmVwbGFjZW1lbnQgdG9vbC48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+QXV0aG9yOiBTaW1vbiBCcm93biAmbHQ7c2ltb25AdXB0b2VsZXZlbi53cyZndDs8L3A+CgkJPHA+VmVyc2lvbjogMS4xPC9wPgoJCTxwPkNvbnZlcnRlZCBmb3IgdXNlIHdpdGggbmV3IENNUyBNb2R1bGUgYXJjaGl0ZWN0dXJlLjwvcD4KCQk8cD5VcGdyYWRlZCBUaW55TUNFIHRvIHZlcnNpb24gMS40Mi48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMS4yPC9wPgoJCTxwPkZpeGVkIGJ1ZyB3aXRoIHBhdGhzIGJlaW5nIGNyZWF0ZWQgd3Jvbmcgb24gaW1hZ2UgaW5zZXJ0LjwvcD4KCQk8L2xpPgoJCTxsaT4KCQk8cD5WZXJzaW9uOiAyLjAuMDwvcD4KCQk8cD5BdXRob3I6IFN0ZWZhbiBSJm91bWw7bGxpbjwvcD4KCQk8cD5VUERBVEVEIHRvIHZlcnNpb24gMi4wLjUuMSBvZiBUaW55TUNFIGVkaXRvci48L3A+CgkJPHA+QUREIHBsdWdpbnMgc2ltcGxlYnJvd3NlciwgY21zbXNsaW5rIDwvcD4KCQk8cD5BREQgc29tZSBjb25maWd1cmF0aW9uIG9wdGlvbnMuPC9wPgoJCTxwPkFERCBwZXJtaXNzaW9uIHRvIG1vZGlmeSBzZXR0aW5ncy48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjE8L3A+CgkJPHA+VVBEQVRFRCB0byB2ZXJzaW9uIDIuMC42LjEgb2YgVGlueU1DRSBlZGl0b3IuPC9wPgoJCTxwPkFERCBjb25maWd1cmF0aW9uIG9wdGlvbnM6IGxhbmd1YWdlIGFuZCBzb3VyY2VfZm9ybWF0dGluZy48L3A+CgkJPHA+SW1wcm92ZWQgcGx1Z2luIGNvbmZpZ3VyYXRpb24uPC9wPgoJCTxwPkFERCBtb3JlIGxhbmd1YWdlcy48L3A+CgkJPC9saT4KCQk8bGk+CgkJPHA+VmVyc2lvbjogMi4wLjI8L3A+CgkJPHA+RklYIGZpbGVicm93c2VyPC9wPgoJCTxwPkZJWCBzZWN1cml0eSBmbGF3IGluIGZpbGVicm93c2VyPC9wPgoJCTwvbGk+CgkJPGxpPgoJCTxwPlZlcnNpb246IDIuMC4zPC9wPgoJCTxwPkNvbnZlcnRlZCB0byBuZXcgZmV0Y2gtbWV0aG9kIG9mIGNvbnRlbnRfYXJyYXk8L3A+CgkJPHA+RklYIHNlY3VyaXR5IGZsYXcgaW4gZmlsZWJyb3dzZXI8L3A+CgkJPHA+QWRkZWQgbG9jYWxpemF0aW9uIG9mIHRlc3RhcmVhLXRleHQ8L3A+CgkJPC9saT4KCQk8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cgo8ZGl2IGNsYXNzPSJwYWdlY29udGFpbmVyIj4KCgk8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPSdhZG1pbl9lZGl0cHJvZmlsZSd9Ij4KCQl7YWRtaW5faWNvbiBpY29uPSduZXdvYmplY3QuZ2lmJ30mbmJzcDt7JG1vZC0+TGFuZygnbmV3X3Byb2ZpbGUnKX0KCTwvYT4KCgl7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6VGlueU1DRTthZG1pbl9wcm9maWxlc2xpc3QudHBsJyBzY29wZT0ncm9vdCd9CgoKCjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_js_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogT3JpZyBKUyBUZW1wbGF0ZSAqfQoKdGlueW1jZS5pbml0KHsKCXNlbGVjdG9yOiAne2lmIGlzc2V0KCRzZWxlY3RvcikgJiYgJHNlbGVjdG9yICE9ICcnfXskc2VsZWN0b3J9e2Vsc2V9dGV4dGFyZWEuVGlueU1DRXsvaWZ9JywKCWxhbmd1YWdlOiAneyRsYW5ndWFnZX0nLAoJY21zbXNfdGlueTogY21zbXNfdGlueSA9IHsKCQl7aWYgJGVuYWJsZV9saW5rZXJ9CgkJCWxpbmtlcl90ZXh0IDogJ3skVGlueU1DRS0+TGFuZygnY21zbXNfbGlua2VyJyl9JywKCQkJbGlua2VyX3RpdGxlIDogJ3skVGlueU1DRS0+TGFuZygndGl0bGVfY21zbXNfbGlua2VyJyl9JywKCQkJbGlua2VyX2ltYWdlIDogJ3skVGlueU1DRS0+R2V0TW9kdWxlVVJMUGF0aCgpfS9saWIvaW1hZ2VzL2Ntc21zbGluay5naWYnLAoJCQlsaW5rZXJfdXJsIDogJ3skbGlua2VyX3VybH0nLAoJCQlsaW5rZXJfYXV0b2NvbXBsZXRlX3VybCA6ICd7JGdldHBhZ2VzX3VybH0nLAoJCQlwcm9tcHRfcGFnZSA6ICd7JFRpbnlNQ0UtPkxhbmcoJ3Byb21wdF9saW5rZXInKX0nLAoJCQlwcm9tcHRfcGFnZV9pbmZvIDogJ3skVGlueU1DRS0+TGFuZygnaW5mb19saW5rZXJfYXV0b2NvbXBsZXRlJyl9JywKCQkJcHJvbXB0X2FsaWFzIDogJ3skVGlueU1DRS0+TGFuZygncHJvbXB0X3NlbGVjdGVkYWxpYXMnKX0nLAoJCQlwcm9tcHRfYWxpYXNfaW5mbyA6ICd7JFRpbnlNQ0UtPkxhbmcoJ3Rvb2x0aXBfc2VsZWN0ZWRhbGlhcycpfScsCgkJCXByb21wdF90ZXh0IDogJ3skVGlueU1DRS0+TGFuZygncHJvbXB0X3RleHR0b2Rpc3BsYXknKX0nLAoJCQlwcm9tcHRfY2xhc3MgOiAneyRUaW55TUNFLT5MYW5nKCdwcm9tcHRfY2xhc3MnKX0nLAoJCQlwcm9tcHRfcmVsIDogJ3skVGlueU1DRS0+TGFuZygncHJvbXB0X3JlbCcpfScsCgkJCXByb21wdF90YXJnZXQgOiAneyRUaW55TUNFLT5MYW5nKCdwcm9tcHRfdGFyZ2V0Jyl9JywKCQkJdGFiX2dlbmVyYWwgOiAneyRUaW55TUNFLT5MYW5nKCd0YWJfZ2VuZXJhbF90aXRsZScpfScsCgkJCXRhYl9hZHZhbmNlZCA6ICd7JFRpbnlNQ0UtPkxhbmcoJ3RhYl9hZHZhbmNlZF90aXRsZScpfScsCgkJCXRhcmdldF9ub25lIDogJ3skVGlueU1DRS0+TGFuZygnbm9uZScpfScsCgkJCXRhcmdldF9uZXdfd2luZG93IDogJ3skVGlueU1DRS0+TGFuZygnbmV3d2luZG93Jyl9JywKCQkJbG9hZGluZ19pbmZvIDogJ3skVGlueU1DRS0+TGFuZygnbG9hZGluZ19pbmZvJyl9JwoJCXsvaWZ9Cgl9LAoJe2lmICRwcm9maWxlLT5yZWxhdGl2ZV91cmxzfQoJCXJlbGF0aXZlX3VybHM6IHRydWUsCgl7ZWxzZX0KCQlyZWxhdGl2ZV91cmxzOiBmYWxzZSwKCQlyZW1vdmVfc2NyaXB0X2hvc3Q6IGZhbHNlLAoJey9pZn0KCWRvY3VtZW50X2Jhc2VfdXJsOiAne3Jvb3RfdXJsfS8nLAoJYnJvd3Nlcl9zcGVsbGNoZWNrOiB0cnVlLAoKCXtpZiAkcHJvZmlsZS0+Zm9yY2VkX3Jvb3RfYmxvY2sgZXEgMH0KCQlmb3JjZWRfcm9vdF9ibG9jazogZmFsc2UsCgl7L2lmfQoKCXsqIFBMVUdJTlMgKn0KCXtpZiAhZW1wdHkoJHByb2ZpbGUtPnBsdWdpbnMpfQoJCXBsdWdpbnM6ICd7JHByb2ZpbGUtPnBsdWdpbnN9IHtpZiAkZW5hYmxlX2xpbmtlcn1jbXNtc19saW5rZXJ7L2lmIH0ge2lmICRwcm9maWxlLT5lbmFibGVfdXNlcl90ZW1wbGF0ZXMgJiYgIWVtcHR5KCR1c2VyX3RlbXBsYXRlcyl9dGVtcGxhdGV7L2lmfSB7aWYgJHByb2ZpbGUtPmVuYWJsZV9jb250ZXh0bWVudX1jb250ZXh0bWVudXsvaWZ9IHtpZiAkcHJvZmlsZS0+YXV0b3Jlc2l6ZX1hdXRvcmVzaXpley9pZn0nLAoJey9pZn0KCgl7KlBMVUdJTlMgT1BUSU9OUyp9Cgl7aWYgJHByb2ZpbGUtPmltYWdlX2FkdnRhYn0KCQlpbWFnZV9hZHZ0YWI6IHRydWUsCgl7L2lmfQoKCXtpZiAkcHJvZmlsZS0+ZW5hYmxlX2NvbnRleHRtZW51IGFuZCAkcHJvZmlsZS0+Y29udGV4dG1lbnUgbmVxICcnfQoJCWNvbnRleHRtZW51OiAie2lmICRlbmFibGVfbGlua2VyfWNtc21zX2xpbmtlcnsvaWZ9IGxpbmsgaW1hZ2UgfCBpbnNlcnR0YWJsZSBjZWxsIHJvdyBjb2x1bW4gZGVsZXRldGFibGUiLAoJey9pZn0KCgl7KiBNRU5VIEJBUiAqfQoJe2lmICEkcHJvZmlsZS0+c2hvd19tZW51YmFyfQoJCW1lbnViYXI6IGZhbHNlLAoJe2Vsc2V9CgkJe2lmICRwcm9maWxlLT51c2VfYWR2YW5jZWRfbWVudSAmJiAhZW1wdHkoJHByb2ZpbGUtPmFkdmFuY2VkX21lbnUpfQoJCQltZW51OiB7JHByb2ZpbGUtPmFkdmFuY2VkX21lbnV9LAoJCXtlbHNlfQoJCQltZW51YmFyOiAneyRwcm9maWxlLT5tZW51YmFyfScsCgkJey9pZn0KCXsvaWZ9CgoJeyogVE9PTEJBUiAqfQoJe2lmICEkcHJvZmlsZS0+c2hvd190b29sYmFyfQoJCXRvb2xiYXI6IGZhbHNlLAoJe2Vsc2V9CgkJdG9vbGJhcjE6ICd7JHByb2ZpbGUtPnRvb2xiYXIxfScsCgkJe2lmICFlbXB0eSgkcHJvZmlsZS0+dG9vbGJhcjIpfQoJCQl0b29sYmFyMjogJ3skcHJvZmlsZS0+dG9vbGJhcjJ9JywKCQl7L2lmfQoJey9pZn0KCgl7KiBTVEFUVVNCQVIgKn0KCXtpZiAhJHByb2ZpbGUtPnNob3dfc3RhdHVzYmFyICYmICRwcm9maWxlLT5yZXNpemUgPT0gZmFsc2V9CgkJc3RhdHVzYmFyOiBmYWxzZSwKCXsvaWZ9CgoJeyogUkVTSVpFICp9Cgl7aWYgJHByb2ZpbGUtPnJlc2l6ZSA9PSBmYWxzZX0KCQlyZXNpemU6IGZhbHNlLAoJe2Vsc2VpZiAkcHJvZmlsZS0+cmVzaXplID09ICdib3RoJ30KCQlyZXNpemU6ICdib3RoJywKCXtlbHNlfQoJCXJlc2l6ZTogdHJ1ZSwKCXsvaWZ9CgoJaGVpZ2h0OiAyMCwKCWF1dG9yZXNpemVfbWluX2hlaWdodDogMTAsCglhdXRvcmVzaXplX21heF9oZWlnaHQ6IDYwMCwKCWF1dG9yZXNpemVfYm90dG9tX21hcmdpbjogMTAsCgoJeyogQ1NTICp9Cgl7aWYgaXNzZXQoJGNzc25hbWUpICYmICRjc3NuYW1lICE9ICcnfQogICAgY29udGVudF9jc3MgOiAne2Ntc19zdHlsZXNoZWV0IG5hbWU9JGNzc25hbWUgbm9saW5rcz0xIG5vY2FjaGU9MX0nLAoJe2Vsc2VpZiAkcHJvZmlsZS0+aWRfZGVzaWduID4gMH0KCQljb250ZW50X2NzcyA6ICd7Y21zX3N0eWxlc2hlZXQgZGVzaWduaWQ9JHByb2ZpbGUtPmlkX2Rlc2lnbiBub2xpbmtzPTEgbm9jYWNoZT0xfScsCgl7L2lmfQoKCXsqIEdFTkVSQUwgQ1NTIENMQVNTRVMgKn0KCXtpZiBpc3NldCgkc3R5bGVfZm9ybWF0cykgYW5kICFlbXB0eSgkc3R5bGVfZm9ybWF0cyl9CgkJc3R5bGVfZm9ybWF0czogWwoJCQl7Zm9yZWFjaCAkc3R5bGVfZm9ybWF0cyBhcyAkc3R5bGVfZm9ybWF0fQoJCQkJe2xkZWxpbX17JHN0eWxlX2Zvcm1hdH17cmRlbGltfSwKCQkJey9mb3JlYWNofQoJCV0sCgl7L2lmfQoKCXsqIExJTksgQ1NTIENMQVNTRVMgKn0KCXtpZiBpc3NldCgkbGlua19jbGFzc2VzKX0KCQlsaW5rX2NsYXNzX2xpc3Q6IFsKCQkJe2ZvcmVhY2ggJGxpbmtfY2xhc3NlcyBhcyAkbmFtZSA9PiAkY2xhc3Nlc30KCQkJCXtsZGVsaW19dGl0bGU6ICd7JG5hbWV9JywgdmFsdWU6ICd7JGNsYXNzZXN8ZXNjYXBlOmphdmFzY3JpcHR9J3tyZGVsaW19LAoJCQl7L2ZvcmVhY2h9CgkJXSwKCXsvaWZ9CgoJeyogSU1BR0VTIENTUyBDTEFTU0VTICp9Cgl7aWYgaXNzZXQoJGltYWdlX2NsYXNzZXMpfQoJCWltYWdlX2NsYXNzX2xpc3Q6IFsKCQkJe2ZvcmVhY2ggJGltYWdlX2NsYXNzZXMgYXMgJG5hbWUgPT4gJGNsYXNzZXN9CgkJCQl7bGRlbGltfXRpdGxlOiAneyRuYW1lfScsIHZhbHVlOiAneyRjbGFzc2VzfGVzY2FwZTpqYXZhc2NyaXB0fSd7cmRlbGltfSwKCQkJey9mb3JlYWNofQoJCV0sCgl7L2lmfQoKCXsqIEZPUk1BVCBGT1IgRFJPUERPV04gSU4gVE9PTEJBUiAoYnV0dG9uIGZvcm1hdHNlbGVjdCkgKn0KCXtpZiAkcHJvZmlsZS0+dXNlX2N1c3RvbV9ibG9ja19mb3JtYXRzIGFuZCAkcHJvZmlsZS0+YmxvY2tfZm9ybWF0cyBuZXEgJyd9CgkJYmxvY2tfZm9ybWF0czogInskcHJvZmlsZS0+YmxvY2tfZm9ybWF0c30iLAoJey9pZn0KCgl7KiBGSUxFTUFOQUdFUiAqfQoJe2lmIGlzc2V0KCRjYW5fdXNlX2ZpbGVtYW5hZ2VyKSBhbmQgJGNhbl91c2VfZmlsZW1hbmFnZXIgYW5kICRwcm9maWxlLT5maWxlbWFuYWdlcl91c2V9CgkJZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aDoie3Jvb3RfdXJsfS9tb2R1bGVzL1RpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci8iLAoJICBmaWxlbWFuYWdlcl90aXRsZTogInskVGlueU1DRS0+TGFuZygnZmlsZW1hbmFnZXInKX0iLAoJCWZpbGVtYW5hZ2VyX2FjY2Vzc19rZXk6ICJ7JGFjY2Vzc19rZXl9IiwKCXsvaWZ9CgoJeyogVVNFUiBURU1QTEFURVMgKn0KCXtpZiAkcHJvZmlsZS0+ZW5hYmxlX3VzZXJfdGVtcGxhdGVzICYmICFlbXB0eSgkdXNlcl90ZW1wbGF0ZXMpfQoJCXRlbXBsYXRlcyA6IFsKCQkJe2ZvcmVhY2ggJHVzZXJfdGVtcGxhdGVzIGFzICR1c2VyX3RlbXBsYXRlfQoJCQkJe2xkZWxpbX0idGl0bGUiOiAieyR1c2VyX3RlbXBsYXRlLT5nZXRfbmFtZSgpfGVzY2FwZToncXVvdGVzJ30iLCAiZGVzY3JpcHRpb24iOiAieyR1c2VyX3RlbXBsYXRlLT5nZXRfZGVzY3JpcHRpb24oKXxlc2NhcGU6J3F1b3Rlcyd9IiwgImNvbnRlbnQiOiAieyR1c2VyX3RlbXBsYXRlLT5nZXRfY29udGVudCgpfHN0cmlwfHJlcGxhY2U6JyInOidcIid9IntyZGVsaW19LAoJCQl7L2ZvcmVhY2h9CgkJXSwKCXsvaWZ9CgoKCXsqIEVYVEVSTkFMIFBMVUdJTlMgKn0KCWV4dGVybmFsX3BsdWdpbnM6IHsKCQl7aWYgJGVuYWJsZV9saW5rZXJ9CgkJCSJjbXNtc19saW5rZXIiIDogIntyb290X3VybH0vbW9kdWxlcy9UaW55TUNFL2xpYi9qcy90aW55bWNlX2V4dGVybmFsX3BsdWdpbnMvY21zbXNfbGlua2VyL3BsdWdpbi5taW4uanMiLAoJCXsvaWZ9CgkJe2lmIGlzc2V0KCRjYW5fdXNlX2ZpbGVtYW5hZ2VyKSBhbmQgJGNhbl91c2VfZmlsZW1hbmFnZXIgYW5kICRwcm9maWxlLT5maWxlbWFuYWdlcl91c2V9CgkJCSJmaWxlbWFuYWdlciIgOiAie3Jvb3RfdXJsfS9tb2R1bGVzL1RpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci9maWxlbWFuYWdlci9wbHVnaW4ubWluLmpzIiwKCQkJInJlc3BvbnNpdmVmaWxlbWFuYWdlciIgOiAie3Jvb3RfdXJsfS9tb2R1bGVzL1RpbnlNQ0UvcmVzcG9uc2l2ZV9maWxlbWFuYWdlci90aW55bWNlX3BsdWdpbi9yZXNwb25zaXZlZmlsZW1hbmFnZXIvcGx1Z2luLm1pbi5qcyIsCgkJey9pZn0KCX0sCgoKCXsqIGNhbGxiYWNrIGZ1bmN0aW9ucyAqfQoJdXJsY29udmVydGVyX2NhbGxiYWNrOiBmdW5jdGlvbih1cmwsIGVsbSwgb25zYXZlLCBuYW1lKSB7CgkJdmFyIHNlbGYgPSB0aGlzOwoJCXZhciBzZXR0aW5ncyA9IHNlbGYuc2V0dGluZ3M7CgoJCWlmICghc2V0dGluZ3MuY29udmVydF91cmxzIHx8ICggZWxtICYmIGVsbS5ub2RlTmFtZSA9PSAnTElOSycgKSB8fCB1cmwuaW5kZXhPZignZmlsZTonKSA9PT0gMCB8fCB1cmwubGVuZ3RoID09PSAwKSB7CgkJCXJldHVybiB1cmw7CgkJfQoKCQkvLyBmaXggZW50aXRpZXMgaW4gY21zX3NlbGZsaW5rIHVybHMuCgkJaWYgKHVybC5pbmRleE9mKCdjbXNfc2VsZmxpbmsnKSAhPSAtMSkgewoJCQlkZWNvZGVVUkkodXJsKTsKCQkJdXJsID0gdXJsLnJlcGxhY2UoJyUyMCcsICcgJyk7CgkJCXJldHVybiB1cmw7CgkJfQoJCS8vIENvbnZlcnQgdG8gcmVsYXRpdmUKCQlpZiAoc2V0dGluZ3MucmVsYXRpdmVfdXJscykgewoJCQlyZXR1cm4gc2VsZi5kb2N1bWVudEJhc2VVUkkudG9SZWxhdGl2ZSh1cmwpOwoJCX0KCQkvLyBDb252ZXJ0IHRvIGFic29sdXRlCgkJdXJsID0gc2VsZi5kb2N1bWVudEJhc2VVUkkudG9BYnNvbHV0ZSh1cmwsIHNldHRpbmdzLnJlbW92ZV9zY3JpcHRfaG9zdCk7CgkJcmV0dXJuIHVybDsKCX0sCgoKCXNldHVwOiBmdW5jdGlvbihlZGl0b3IpIHsKCQllZGl0b3Iub24oJ2NoYW5nZScsIGZ1bmN0aW9uKGUpIHsKCQkJJChkb2N1bWVudCkudHJpZ2dlcignY21zbXNfZm9ybWNoYW5nZScpOwoJCX0pOwoKCQl7KiBDVVNUT00gRFJPUERPV04gKn0KCQl7aWYgaXNzZXQoJGN1c3RvbV9kcm9wZG93bil9CgkJCWVkaXRvci5hZGRCdXR0b24oCgkJCQknY3VzdG9tZHJvcGRvd24nLAoJCQkJewoJCQkJCXR5cGU6ICdtZW51YnV0dG9uJywKCQkJCQlpY29uOiAnc3VuJywKCQkJCQlpbWFnZTogJ3tyb290X3VybH0vbW9kdWxlcy9UaW55TUNFL2ltYWdlcy9jdXN0b21kcm9wZG93bi5naWYnLAoJCQkJCXtpZiAhZW1wdHkoJHByb2ZpbGUtPmN1c3RvbV9kcm9wZG93bl90aXRsZSl9CgkJCQkJCXRleHQ6ICcgeyRwcm9maWxlLT5jdXN0b21fZHJvcGRvd25fdGl0bGV9JywKCQkJCQl7L2lmfQoJCQkJCW1lbnU6IFsKCQkJCQkJe2ZvcmVhY2ggJGN1c3RvbV9kcm9wZG93biBhcyAkZW50cnl9CgkJCQkJCQl7CgkJCQkJCQkJdGV4dDogJ3skZW50cnkudGl0bGV9JywKCQkJCQkJCQlvbmNsaWNrOiBmdW5jdGlvbigpewoJCQkJCQkJCQl7aWYgIWlzc2V0KCRlbnRyeS52YWx1ZTIpfQoJCQkJCQkJCQkJZWRpdG9yLmluc2VydENvbnRlbnQoJ3skZW50cnkudmFsdWUxfHN0cmlwfScpOwoJCQkJCQkJCQl7ZWxzZX0KCQkJCQkJCQkJCXNlbCA9IGVkaXRvci5zZWxlY3Rpb24uZ2V0Q29udGVudCgpOwoJCQkJCQkJCQkJZWRpdG9yLmluc2VydENvbnRlbnQoJ3skZW50cnkudmFsdWUxfHN0cmlwfScrc2VsKyd7JGVudHJ5LnZhbHVlMnxzdHJpcH0nKTsKCQkJCQkJCQkJey9pZn0KCQkJCQkJCQl9CgkJCQkJCQl9LAoJCQkJCQl7L2ZvcmVhY2h9CgkJCQkJXQoJCQkJfQoJCQkpOwoJCQllZGl0b3IuYWRkTWVudUl0ZW0oCgkJCQknY3VzdG9tZHJvcGRvd24nLAoJCQkJewoJCQkJCWNvbnRleHQ6ICdpbnNlcnQnLAoJCQkJCWltYWdlOiAne3Jvb3RfdXJsfS9tb2R1bGVzL1RpbnlNQ0UvaW1hZ2VzL2N1c3RvbWRyb3Bkb3duLmdpZicsCgkJCQkJe2lmICFlbXB0eSgkcHJvZmlsZS0+Y3VzdG9tX2Ryb3Bkb3duX3RpdGxlKX0KCQkJCQkJdGV4dDogJyB7JHByb2ZpbGUtPmN1c3RvbV9kcm9wZG93bl90aXRsZX0nLAoJCQkJCXsvaWZ9CgkJCQkJbWVudTogWwoJCQkJCQl7Zm9yZWFjaCAkY3VzdG9tX2Ryb3Bkb3duIGFzICRlbnRyeX0KCQkJCQkJCXsKCQkJCQkJCQl0ZXh0OiAneyRlbnRyeS50aXRsZX0nLAoJCQkJCQkJCW9uY2xpY2s6IGZ1bmN0aW9uKCl7CgkJCQkJCQkJCXtpZiAhaXNzZXQoJGVudHJ5LnZhbHVlMil9CgkJCQkJCQkJCQllZGl0b3IuaW5zZXJ0Q29udGVudCgneyRlbnRyeS52YWx1ZTF8c3RyaXB9Jyk7CgkJCQkJCQkJCXtlbHNlfQoJCQkJCQkJCQkJc2VsID0gZWRpdG9yLnNlbGVjdGlvbi5nZXRDb250ZW50KCk7CgkJCQkJCQkJCQllZGl0b3IuaW5zZXJ0Q29udGVudCgneyRlbnRyeS52YWx1ZTF8c3RyaXB9JytzZWwrJ3skZW50cnkudmFsdWUyfHN0cmlwfScpOwoJCQkJCQkJCQl7L2lmfQoJCQkJCQkJCX0KCQkJCQkJCX0sCgkJCQkJCXsvZm9yZWFjaH0KCQkJCQldCgkJCQl9CgkJCSk7CgkJey9pZn0KCgoJCXsqIEVYVEVSTkFMIE1PRFVMRVMgT1IgRFJPUERPV05TICoqKioqKioqKioqKioqKiAqfQoJCXtmdW5jdGlvbiBuYW1lPSdkcm9wZG93bl9tZW51J30KCQkJe2lmICFlbXB0eSgkbWVudSl9CgkJCQltZW51OiBbCgkJCQkJe2ZvcmVhY2ggJG1lbnUgYXMgJGVudHJ5fQoJCQkJCQl7CgkJCQkJCQl0ZXh0OiAneyRlbnRyeS5tZW51X3RleHR8ZXNjYXBlOnF1b3Rlc30nLAoJCQkJCQkJe2lmICRlbnRyeS5jb250ZW50IG5lcSAnJ30KCQkJCQkJCQlvbmNsaWNrOiBmdW5jdGlvbihlKXsKCQkJCQkJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCQkJCQkJZWRpdG9yLmluc2VydENvbnRlbnQoJ3skZW50cnkuY29udGVudHxlc2NhcGU6cXVvdGVzfHN0cmlwfScpOwoJCQkJCQkJCX0sCgkJCQkJCQl7L2lmfQoJCQkJCQkJe2lmIGlzc2V0KCRlbnRyeS5jaGlsZHJlbil9e3N0cmlwfQoJCQkJCQkJCXtkcm9wZG93bl9tZW51IG1lbnU9JGVudHJ5LmNoaWxkcmVufQoJCQkJCQkJey9zdHJpcH17L2lmfQoJCQkJCQl9LAoJCQkJCXsvZm9yZWFjaH0KCQkJCV0KCQkJey9pZn0KCQl7L2Z1bmN0aW9ufQoKCQl7aWYgJGV4dGVybmFsX21vZHVsZXN9CgkJCXtmb3JlYWNoICRleHRlcm5hbF9tb2R1bGVzIGFzICRleHRlcm5hbF9tb2R1bGV9e3N0cmlwfQoJCQkJe2lmICFlbXB0eSgkZXh0ZXJuYWxfbW9kdWxlLT5tZW51X2VudHJpZXMpfQoJCQkJCWVkaXRvci5hZGRCdXR0b24oCgkJCQkJCSd7JGV4dGVybmFsX21vZHVsZS0+YnV0dG9uX25hbWV9JywKCQkJCQkJewoJCQkJCQkJdHlwZTogJ21lbnVidXR0b24nLAoJCQkJCQkJe2lmICRleHRlcm5hbF9tb2R1bGUtPnRvb2x0aXAgbmVxICcnfQoJCQkJCQkJCXRvb2x0aXA6ICd7JGV4dGVybmFsX21vZHVsZS0+dG9vbHRpcHxlc2NhcGU6cXVvdGVzfScsCgkJCQkJCQl7L2lmfQoJCQkJCQkJaWNvbjogJ3skZXh0ZXJuYWxfbW9kdWxlLT5pY29ufScsCgkJCQkJCQl7aWYgIWVtcHR5KCRleHRlcm5hbF9tb2R1bGUtPmltYWdlKX0KCQkJCQkJCQlpbWFnZTogJ3skZXh0ZXJuYWxfbW9kdWxlLT5pbWFnZX0nLAoJCQkJCQkJey9pZn0KCQkJCQkJCXtpZiAkcHJvZmlsZS0+ZXh0ZXJuYWxfbW9kdWxlc19zaG93X21lbnV0ZXh0fQoJCQkJCQkJCXRleHQ6ICd7aWYgIWVtcHR5KCRleHRlcm5hbF9tb2R1bGUtPmltYWdlKX0gey9pZn17JGV4dGVybmFsX21vZHVsZS0+dGl0bGV8ZXNjYXBlOnF1b3Rlc30nLAoJCQkJCQkJey9pZn0KCQkJCQkJCXtkcm9wZG93bl9tZW51fHN0cmlwIG1lbnU9JGV4dGVybmFsX21vZHVsZS0+bWVudV9lbnRyaWVzfQoJCQkJCQl9CgkJCQkJKTsKCgkJCQkJZWRpdG9yLmFkZE1lbnVJdGVtKAoJCQkJCQkneyRleHRlcm5hbF9tb2R1bGUtPm1vZHVsZV9uYW1lfScsCgkJCQkJCXsKCQkJCQkJCWNvbnRleHQ6ICd7JGV4dGVybmFsX21vZHVsZS0+bWVudV9zZWN0aW9ufScsCgkJCQkJCQl7aWYgIWVtcHR5KCRleHRlcm5hbF9tb2R1bGUtPmltYWdlKX0KCQkJCQkJCQlpbWFnZTogJ3skZXh0ZXJuYWxfbW9kdWxlLT5pbWFnZX0nLAoJCQkJCQkJe2Vsc2V9CgkJCQkJCQkJaWNvbjogJ3skZXh0ZXJuYWxfbW9kdWxlLT5pY29ufScsCgkJCQkJCQl7L2lmfQoJCQkJCQkJdGV4dDogJ3skZXh0ZXJuYWxfbW9kdWxlLT50aXRsZXxlc2NhcGU6cXVvdGVzfScsCgkJCQkJCQl7ZHJvcGRvd25fbWVudSBtZW51PSRleHRlcm5hbF9tb2R1bGUtPm1lbnVfZW50cmllc30KCQkJCQkJfQoJCQkJCSk7CgkJCQl7L2lmfQoJCQl7L3N0cmlwfXsvZm9yZWFjaH0KCQl7L2lmfQoJCXsqIEVORCBFWFRFUk5BTCBNT0RVTEVTICp9CgoJfSwKCgl7KiBFeHRyYSBKUyAqfQoJe2lmICFlbXB0eSgkcHJvZmlsZS0+ZXh0cmFfanMpfQoJCXskcHJvZmlsZS0+ZXh0cmFfanN9Cgl7L2lmfQoKCn0pOwo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_usertemplate_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ClRlbXBsYXRlcyBmb3IgdGlueW1jZQo=]]></data>
	</file>
	<file>
	  <filename>/TinyMCE.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBUaW55TUNFLiBBIFRpbnlNQ0Ugd3JhcHBlciBmb3IgQ01TIE1hZGUgU2ltcGxlCiMgQ29weXJpZ2h0IChjKSAyMDE1IGJ5IE1hdGhpZXUgTXV0aHMgPGNvbnRhY3RAYWlyZWxpYnJlLmZyPiwgTW9ydGVuIFBvdWxzZW4gPG1vcnRlbkBwb3Vsc2VuLm9yZz4sIFJvbGYgVGphc3NlbnMgPHJvbGZAY21zbWFkZXNpbXBsZS5vcmc+CiMKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNCBieSBUZWQgS3VscCAodGVkQGNtc21hZGVzaW1wbGUub3JnKQojVmlzaXQgb3VyIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwoKY2xhc3MgVGlueU1DRSBleHRlbmRzIENNU01vZHVsZQp7CiAgY29uc3QgVElOWU1DRV9QUk9GSUxFU19UQUJMRSA9ICdtb2R1bGVfdGlueW1jZV9wcm9maWxlcyc7CiAgY29uc3QgVElOWU1DRV9QUk9GSUxFR1JPVVBfVEFCTEUgPSAnbW9kdWxlX3RpbnltY2VfcHJvZmlsZV9ncm91cCc7CgogIC8vIE9ubHkgZm9yIGRldmVsb3BtZW50IC0gZm9yY2UgY2xlYXJpbmcgY2FjaGUgYXQgZXZlcnkgcmVxdWVzdCB3aGVuIHRydWUKICBjb25zdCBUSU5ZTUNFX0RFVl9NT0RFID0gZmFsc2U7CgogIHB1YmxpYyBmdW5jdGlvbiBHZXROYW1lKCkgeyByZXR1cm4gJ1RpbnlNQ0UnOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCJmcmllbmRseW5hbWUiKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCl7IHJldHVybiAnMy4xLjMnOyB9CiAgcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gdHJ1ZTsgfQogIHB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIHRydWU7IH0KICBwdWJsaWMgZnVuY3Rpb24gTGF6eUxvYWRGcm9udGVuZCgpIHsgcmV0dXJuIHRydWU7IH0KICBwdWJsaWMgZnVuY3Rpb24gTGF6eUxvYWRBZG1pbigpIHsgcmV0dXJuIHRydWU7IH0KICBwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7IHJldHVybiAiMi4xLjEiOyB9CiAgLy8gcHVibGljIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsgcmV0dXJuIGFycmF5KCdGaWxlTWFuYWdlcic9PicxLjUnKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnTW9ydGVuIFBvdWxzZW4gKHNpbG1hcmlsbGlvbiksIFJvbGYgVGphc3NlbnMgKHJvbGYpLCBNYXRoaWV1IE11dGhzIChhaXJlbGlicmUpJzsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdjb250YWN0QGFpcmVsaWJyZS5mcic7IH0KICBwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgeyByZXR1cm4gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnY2hhbmdlbG9nLnRwbCcpOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5kZXNjcmlwdGlvbicpOyB9CiAgcHVibGljIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOyAgfQoKICBwdWJsaWMgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUaW55TUNFIHByb2ZpbGVzJyk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcz1hcnJheSgpKSB7CiAgICBpZiAoJGNhcGFiaWxpdHk9PUNtc0NvcmVDYXBhYmlsaXRpZXM6OldZU0lXWUdfTU9EVUxFKSByZXR1cm4gdHJ1ZTsKICAgIHJldHVybiBmYWxzZTsKICB9CgoKICAvLyBEZXNpZ25NYW5hZ2VyCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBwYWdlX3R5cGVfbGFuZ19jYWxsYmFjaygkc3RyKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1RpbnlNQ0UnKTsKICAgIGlmKCBpc19vYmplY3QoJG1vZCkgKSByZXR1cm4gJG1vZC0+TGFuZygndHlwZV8nLiRzdHIpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXNldF9wYWdlX3R5cGVfZGVmYXVsdHMoQ21zTGF5b3V0VGVtcGxhdGVUeXBlICR0eXBlKQogIHsKICAgIGlmKCAkdHlwZS0+Z2V0X29yaWdpbmF0b3IoKSAhPSAnVGlueU1DRScgKSB0aHJvdyBuZXcgQ21zTG9naWNFeGNlcHRpb24oJ0Nhbm5vdCByZXNldCBjb250ZW50cyBmb3IgdGhpcyB0ZW1wbGF0ZSB0eXBlJyk7CgogICAgJGZuID0gbnVsbDsKICAgIHN3aXRjaCggJHR5cGUtPmdldF9uYW1lKCkgKSB7CiAgICBjYXNlICdqcyc6CiAgICAgICRmbiA9ICdvcmlnX2pzX3RlbXBsYXRlLnRwbCc7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3RpbnltY2V0ZW1wbGF0ZSc6CiAgICAgICRmbiA9ICdvcmlnX3RpbnltY2V0ZW1wbGF0ZV90ZW1wbGF0ZS50cGwnOwogICAgICBicmVhazsKICAgIH0KCiAgICAkZm4gPSBjbXNfam9pbl9wYXRoKF9fRElSX18sJ3RlbXBsYXRlcycsJGZuKTsKICAgIGlmKCBmaWxlX2V4aXN0cygkZm4pICkgcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogIH0KCgoKCgogIC8vIE5vdGUgOiAkcHJvZmlsZSBpcyBpbnRlcm5hbGx5IHVzZWQgYnkgdGlueW1jZSB0byBmb3JjZSBsb2FkaW5nIGEgcHJvZmlsZSBmb3IgZGVtbyB3aGlsZSBlZGl0aW5nIHRoYXQgcHJvZmlsZQogIC8vIGZvcmNlIDogYWRkIGEgdGltZSBpbmZvIGluIHRoZSB0aW55bWNlIGNvbmZpZ3VyYXRpb24ganMKICBwdWJsaWMgZnVuY3Rpb24gV1lTSVdZR0dlbmVyYXRlSGVhZGVyKCRzZWxlY3RvciA9IG51bGwsICRjc3NuYW1lID0gbnVsbCwgJHByb2ZpbGUgPSBudWxsLCAkZm9yY2UgPSBmYWxzZSkKICB7CiAgICBzdGF0aWMgJHRpbnltY2VfZmlyc3RfdGltZSA9IHRydWU7CgogICAgJGhlYWRlciA9ICcnOwoKICAgIGlmICghaXNzZXQoJHByb2ZpbGUpKQogICAgICAkcHJvZmlsZSA9IHRpbnltY2VfdXRpbHM6OmdldF9iZXN0X3Byb2ZpbGUoKTsKICAgIGVsc2VpZiAoJHByb2ZpbGUtPmlkX3Byb2ZpbGUgPT0gMCkKICAgICAgJHByb2ZpbGUtPmlkX3Byb2ZpbGUgPSAnaW5pdCc7CgogICAgLy8gQ3VycmVudCB1c2VyIGlkIGlmIGNvbm5lY3RlZAogICAgLyppZiAoY21zbXMoKS0+aXNfZnJvbnRlbmRfcmVxdWVzdCgpKQogICAgICAkdXNlcmlkID0gLTE7CiAgICBlbHNlCiAgICAgICR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7Ki8KCiAgICAvLyBnZXQgdGhlIGxhdGVzdCBtb2RpZmljYXRpb24gdGltZSBvZiB0aGlzIGNzc25hbWUgLy8gRnJvbSBNVAogICAgLy8gaWYgZm4gZG9lcyBub3QgZXhpc3Qgb3IgaXMgb2xkZXIgdGhhbiB0aGUgbW9kaWZpY2F0aW9uIHRpbWUsIHNhdmUgdGhlIGNvbmZpZy4KICAgIGlmKCAkY3NzbmFtZSApIHsKICAgICAgdHJ5IHsKICAgICAgICAkY3NzID0gQ21zTGF5b3V0U3R5bGVzaGVldDo6bG9hZCgkY3NzbmFtZSk7CiAgICAgICAgJGNzc19tdGltZSA9ICRjc3MtPmdldF9tb2RpZmllZCgpOwogICAgICB9CiAgICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgLy8gY291bGRuJ3QgbG9hZCB0aGUgc3R5bGVzaGVldCBmb3Igc29tZSByZWFzb24uCiAgICAgICAgJGNzc25hbWUgPSBudWxsOwogICAgICB9CiAgICB9CiAgICBlbHNlIHsKICAgICAgJGNzc19tdGltZSA9IDA7CiAgICB9CgoKCiAgICAkbGFuZ3VhZ2UgPSBzZWxmOjpHZXRMYW5ndWFnZUlkKCk7IC8vIEZyb20gbWljcm90aW55CgogICAgJGZpbGVuYW1lID0gJ3RpbnltY2VfJy4gbWQ1KCRwcm9maWxlLT5pZF9wcm9maWxlIC4gc2Vzc2lvbl9pZCgpIC4kbGFuZ3VhZ2UuJHNlbGVjdG9yLiRjc3NuYW1lKSAuICcuanMnOwogICAgJGZpbGVwYXRoID0gY21zX2pvaW5fcGF0aChQVUJMSUNfQ0FDSEVfTE9DQVRJT04sICRmaWxlbmFtZSk7CgoKCgoKICAgIC8vIEZvcmNlIHJlZ2VuZXJhdGUgdGhlIEpTIGlmIG9uZSBvZiB0aGUgc3R5bHNoZWV0cyBsaW5rZWQgdG8gdGhlIHNlbGVjdGVkIGRlc2lnbiBoYXMgYmVlbiB1cGRhdGVkCiAgICBpZiAoJHByb2ZpbGUtPmlkX2Rlc2lnbiA+IDApCiAgICB7CiAgICAgICRxdWVyeSA9IG5ldyBDbXNMYXlvdXRTdHlsZXNoZWV0UXVlcnkoYXJyYXkoJ2Rlc2lnbic9PiRwcm9maWxlLT5pZF9kZXNpZ24pKTsKCiAgICAgIGlmICgkcXVlcnktPlRvdGFsTWF0Y2hlcygpID4gMCkKICAgICAgewogICAgICAgICRjdXJyZW50X2pzX210aW1lID0gZmlsZW10aW1lKCRmaWxlcGF0aCk7CiAgICAgICAgJHJlcyA9ICRxdWVyeS0+R2V0TWF0Y2hlcygpOwogICAgICAgIGZvcmVhY2ggKCRyZXMgYXMgJG9uZSkKICAgICAgICB7CiAgICAgICAgICBpZiAoJG9uZS0+Z2V0X21vZGlmaWVkKCkgPiAkY3VycmVudF9qc19tdGltZSkKICAgICAgICAgICAgJGZvcmNlID0gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCgokZm9yY2UgPXRydWU7CiAgICBpZiAoIWZpbGVfZXhpc3RzKCRmaWxlcGF0aCkgfHwgKGZpbGVtdGltZSgkZmlsZXBhdGgpIDwgJGNzc19tdGltZSkgfHwgc2VsZjo6VElOWU1DRV9ERVZfTU9ERSB8fCAkZm9yY2UpCiAgICB7CiAgICAgICRqc19jb250ZW50ID0gJHByb2ZpbGUtPmdldF9qc19jb25maWcoJGxhbmd1YWdlLCAkc2VsZWN0b3IsICRjc3NuYW1lKTsKICAgICAgJHJlcyA9IGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlcGF0aCwgJGpzX2NvbnRlbnQpOwogICAgICBpZiggISRyZXMgKSB0aHJvdyBuZXcgQ21zRmlsZVN5c3RlbUV4Y2VwdGlvbignUHJvYmxlbSB3cml0aW5nIGRhdGEgdG8gJy4kZmlsZXBhdGgpOwogICAgfQoKICAgIC8vIEdldCB0aGUgY2FjaGUgVVJMCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgogICAgLy8gVElOWU1DRS5NSU4uSlMgLSBvbmNlIHBlciByZXF1ZXN0CiAgICBpZiggJHRpbnltY2VfZmlyc3RfdGltZSApCiAgICB7CiAgICAgICR0aW55bWNlX2ZpcnN0X3RpbWUgPSBmYWxzZTsKCiAgICAgICRoZWFkZXIgLj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicgLiAkY29uZmlnLT5zbWFydF9yb290X3VybCgpLicvbW9kdWxlcy9UaW55TUNFL2xpYi9qcy90aW55bWNlL3RpbnltY2UubWluLmpzIj48L3NjcmlwdD4nOwogICAgfQoKICAgIC8vIEFORCBOT1cgVEhFIEpTIEZJTEUgRk9SIFBST0ZJTEUKICAgICRoZWFkZXIgLj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicgLiAkY29uZmlnLT5zbWFydF9yb290X3VybCgpLicvdG1wL2NhY2hlLycgLiAkZmlsZW5hbWU7CiAgICBpZiAoJGZvcmNlKQogICAgICAkaGVhZGVyIC49ICc/Jy50aW1lKCk7CiAgICAkaGVhZGVyIC49ICciPjwvc2NyaXB0Pic7CgogICAgcmV0dXJuICRoZWFkZXI7CiAgfQoKCgoKICAvLyBGcm9tIE1pY3JvVGlueSA6IGdldCBjdXJyZW50IGxhbmd1YWdlCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gR2V0TGFuZ3VhZ2VJZCgpCiAgewogICAgJG15bGFuZyA9IENtc05sc09wZXJhdGlvbnM6OmdldF9jdXJyZW50X2xhbmd1YWdlKCk7CiAgICBpZiAoJG15bGFuZz09IiIpIHJldHVybiAiZW4iOyAvL0xhbmcgc2V0dGluZyAiTm8gZGVmYXVsdCBzZWxlY3RlZCIKICAgICRzaG9ydGxhbmcgPSBzdWJzdHIoJG15bGFuZywwLDIpOwoKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1RpbnlNQ0UnKTsKICAgICRkaXIgPSAkbW9kLT5HZXRNb2R1bGVQYXRoKCkuJy9saWIvanMvdGlueW1jZS9sYW5ncyc7CiAgICAkbGFuZ3MgPSBhcnJheSgpOwoKICAgICRmaWxlcyA9IGdsb2IoJGRpci4nLyouanMnKTsKICAgIGlmKCBpc19hcnJheSgkZmlsZXMpICYmIGNvdW50KCRmaWxlcykgKSB7CiAgICAgIGZvcmVhY2goICRmaWxlcyBhcyAkb25lICkgewogICAgICAgICRvbmUgPSBiYXNlbmFtZSgkb25lKTsKICAgICAgICAkb25lID0gc3Vic3RyKCRvbmUsMCwtMyk7CiAgICAgICAgJGxhbmdzW10gPSAkb25lOwogICAgICB9CiAgICB9CgogICAgaWYoIGluX2FycmF5KCRteWxhbmcsJGxhbmdzKSApIHJldHVybiAkbXlsYW5nOwogICAgaWYoIGluX2FycmF5KCRzaG9ydGxhbmcsJGxhbmdzKSApIHJldHVybiAkc2hvcnRsYW5nOwogICAgcmV0dXJuICdlbic7CiAgfQoKCn0KPz4K]]></data>
	</file>
</module>
